From a66f609b34e6a9514a4258b5e77adfd21be5f116 Mon Sep 17 00:00:00 2001 From: BTK203 Date: Mon, 2 Dec 2019 17:00:06 -0600 Subject: [PATCH 01/11] Added a UDP enable button to the editor overview tab and runner tab. --- KiwiLight - Vision Code/KiwiLight.cpp | 5 +++++ KiwiLight - Vision Code/KiwiLight.h | 2 +- KiwiLight - Vision Code/ui/ConfigEditor.cpp | 6 ++++++ KiwiLight - Vision Code/ui/OverviewPanel.cpp | 7 +++++++ KiwiLight - Vision Code/ui/RunnerEditor.cpp | 7 +++++++ KiwiLight - Vision Code/ui/UI.h | 6 ++++++ 6 files changed, 32 insertions(+), 1 deletion(-) diff --git a/KiwiLight - Vision Code/KiwiLight.cpp b/KiwiLight - Vision Code/KiwiLight.cpp index 7f99a40..5f30cfc 100644 --- a/KiwiLight - Vision Code/KiwiLight.cpp +++ b/KiwiLight - Vision Code/KiwiLight.cpp @@ -449,6 +449,11 @@ void KiwiLightApp::ToggleUDP() { //set the button text KiwiLightApp::toggleUDPButton.SetText((KiwiLightApp::udpEnabled ? "Disable UDP" : "Enable UDP")); + + //set the buttons in the config editor if necessary + if(KiwiLightApp::mode == UIMode::UI_EDITOR) { + KiwiLightApp::configeditor.SetUDPEnabledLabels(KiwiLightApp::udpEnabled); + } } /** diff --git a/KiwiLight - Vision Code/KiwiLight.h b/KiwiLight - Vision Code/KiwiLight.h index 8537c8c..750568c 100644 --- a/KiwiLight - Vision Code/KiwiLight.h +++ b/KiwiLight - Vision Code/KiwiLight.h @@ -55,6 +55,7 @@ namespace KiwiLight { static void StartEditorLearningTarget(); static void StartEditorLearningDistance(); static void EditorReconnectUDP(); + static void ToggleUDP(); static void EditorSetImageResolutionFromOverview(); static void EditorConnectUDPFromOverview(); static void EditorApplyCameraSettings(); @@ -76,7 +77,6 @@ namespace KiwiLight { //UI button callbacks static void OpenNewCameraFromMainIndex(); - static void ToggleUDP(); static void NewConfiguration(); static void EditConfiguration(); static void OpenConfiguration(); diff --git a/KiwiLight - Vision Code/ui/ConfigEditor.cpp b/KiwiLight - Vision Code/ui/ConfigEditor.cpp index 1b10bc7..e4ea5f0 100644 --- a/KiwiLight - Vision Code/ui/ConfigEditor.cpp +++ b/KiwiLight - Vision Code/ui/ConfigEditor.cpp @@ -612,6 +612,12 @@ void ConfigEditor::SendOverUDP(std::string message) { this->runner.SendOverUDP(message); } + +void ConfigEditor::SetUDPEnabledLabels(bool UDPEnabled) { + this->configOverview.SetUDPEnabledLabels(UDPEnabled); + this->runnerSettings.SetUDPEnabledLabels(UDPEnabled); +} + /** * Applies the settings from the camera tab to the camera itself. */ diff --git a/KiwiLight - Vision Code/ui/OverviewPanel.cpp b/KiwiLight - Vision Code/ui/OverviewPanel.cpp index 579ce45..9267200 100644 --- a/KiwiLight - Vision Code/ui/OverviewPanel.cpp +++ b/KiwiLight - Vision Code/ui/OverviewPanel.cpp @@ -95,6 +95,9 @@ OverviewPanel::OverviewPanel(XMLDocument doc) { Button reconnectUDP = Button("Reconnect", KiwiLightApp::EditorConnectUDPFromOverview); udpPanel.Pack_start(reconnectUDP.GetWidget(), true, true, 0); + this->enableUDP = Button("Enable", KiwiLightApp::ToggleUDP); + udpPanel.Pack_start(this->enableUDP.GetWidget(), true, true, 0); + editor.Pack_start(udpPanel.GetWidget(), true, true, 0); this->overviewpanel = editor.GetWidget(); @@ -165,6 +168,10 @@ int OverviewPanel::GetUDPPort() { return (int) this->udpPort.GetValue(); } +void OverviewPanel::SetUDPEnabledLabels(bool UDPEnabled) { + this->enableUDP.SetText((UDPEnabled ? "Disable" : "Enable")); +} + void OverviewPanel::SetTargetInformationLabelsFromString(std::string iterOutput) { if(iterOutput.length() < 3) { //improperly formatted string diff --git a/KiwiLight - Vision Code/ui/RunnerEditor.cpp b/KiwiLight - Vision Code/ui/RunnerEditor.cpp index 985c75c..a98a4c3 100644 --- a/KiwiLight - Vision Code/ui/RunnerEditor.cpp +++ b/KiwiLight - Vision Code/ui/RunnerEditor.cpp @@ -46,6 +46,9 @@ RunnerEditor::RunnerEditor(Runner runner) { Button reconnectUDP = Button("Reconnect", ReconnectUDP); udpPanel.Pack_start(reconnectUDP.GetWidget(), true, true, 0); + this->enableUDP = Button("Enable", KiwiLightApp::ToggleUDP); + udpPanel.Pack_start(this->enableUDP.GetWidget(), true, true, 0); + editor.Pack_start(udpPanel.GetWidget(), true, true, 0); @@ -203,6 +206,10 @@ void RunnerEditor::SetUDPPort(int newPort) { } +void RunnerEditor::SetUDPEnabledLabels(bool UDPEnabled) { + this->enableUDP.SetText((UDPEnabled ? "Disable" : "Enable")); +} + void RunnerEditor::SetName(std::string name) { gtk_widget_set_name(this->runnereditor, name.c_str()); } diff --git a/KiwiLight - Vision Code/ui/UI.h b/KiwiLight - Vision Code/ui/UI.h index 9e25e6c..0ba81fb 100644 --- a/KiwiLight - Vision Code/ui/UI.h +++ b/KiwiLight - Vision Code/ui/UI.h @@ -495,6 +495,7 @@ namespace KiwiLight { std::string GetUDPAddr(); void SetUDPPort(int port); int GetUDPPort(); + void SetUDPEnabledLabels(bool UDPEnabled); void SetTargetInformationLabelsFromString(std::string iterOutput); GtkWidget *GetWidget() { return overviewpanel; }; void SetName(std::string name); @@ -504,6 +505,7 @@ namespace KiwiLight { TextBox udpAddr; NumberBox udpPort; NumberBox cameraIndex; + Button enableUDP; Label targetSpotted, @@ -624,6 +626,7 @@ namespace KiwiLight { int GetUDPPort(); void SetUDPAddr(std::string newAddr); void SetUDPPort(int newPort); + void SetUDPEnabledLabels(bool UDPEnabled); GtkWidget *GetWidget() { return this->runnereditor; }; void SetName(std::string name); @@ -633,6 +636,8 @@ namespace KiwiLight { TextBox udpAddress; NumberBox udpPort; + Button enableUDP; + LabeledSlider offsetX, offsetY, @@ -659,6 +664,7 @@ namespace KiwiLight { void StartLearningDistance(); void ReconnectUDPFromEditor(); void SendOverUDP(std::string message); + void SetUDPEnabledLabels(bool UDPEnabled); void ApplyCameraSettings(); void SetCameraIndexBoxes(int index); void ReconnectUDPFromOverview(); From 890a2376a57e652af645f0419e2e4b92c814e59d Mon Sep 17 00:00:00 2001 From: BTK203 Date: Tue, 3 Dec 2019 20:57:59 -0600 Subject: [PATCH 02/11] Added support for fifth number. --- .../robot/Subsystems/SubsystemReceiver.java | 31 +++++++------------ 1 file changed, 12 insertions(+), 19 deletions(-) diff --git a/KiwiLight - Rio Code/src/main/java/frc/robot/Subsystems/SubsystemReceiver.java b/KiwiLight - Rio Code/src/main/java/frc/robot/Subsystems/SubsystemReceiver.java index 048e9af..aca20f6 100644 --- a/KiwiLight - Rio Code/src/main/java/frc/robot/Subsystems/SubsystemReceiver.java +++ b/KiwiLight - Rio Code/src/main/java/frc/robot/Subsystems/SubsystemReceiver.java @@ -52,7 +52,7 @@ public void initDefaultCommand() { } public SubsystemReceiver() { - latestSegment = "-1,-1,-1,-1"; + latestSegment = "-1,-1,-1,180, 180"; latestTime = System.currentTimeMillis(); SmartDashboard.putString("RPi Data", latestSegment); @@ -92,25 +92,18 @@ public SubsystemReceiver() { * {-1,-1,-1, 180} for no known location */ public double[] getLastKnownData() { - double[] data = new double[]{-1,-1,-1,-1}; - int[] indices = new int[]{2,5,8}; + double[] data = new double[]{-1,-1,-1,180,180}; + try { - indices = IntStream.range(0, latestSegment.length() - 1) - .filter(i -> latestSegment.charAt(i) == ',') - .toArray(); - data[0] = Integer.parseInt(latestSegment.substring(0, latestSegment.indexOf(",", indices[0]))); - data[1] = Integer.parseInt(latestSegment.substring(latestSegment.indexOf(",", indices[0]) + 1, latestSegment.indexOf(",", indices[1]))); - data[2] = Integer.parseInt(latestSegment.substring(latestSegment.indexOf(",", indices[1]) + 1, latestSegment.indexOf(",", indices[2]))); - data[3] = Integer.parseInt(latestSegment.substring(latestSegment.indexOf(",", indices[2]) + 1)); - } catch (NumberFormatException e) { - DriverStation.reportError("NUMBER FORMAT EXCEPTION", true); - DriverStation.reportError("latestSegment = " + latestSegment, false); - } catch (StringIndexOutOfBoundsException e) { - DriverStation.reportError("STRING INDEX OUT OF BOUNDS EXCEPTION", true); - DriverStation.reportError("latestSegment = " + latestSegment, false); - } catch (ArrayIndexOutOfBoundsException e) { - DriverStation.reportError("ARRAY INDEX OUT OF BOUNDS EXCEPTION", true); - DriverStation.reportError("latestSegment = " + latestSegment, false); + String formattedLatestSegment = latestSegment.substring(1, latestSegment.length() - 1); + String[] latestStrings = formattedLatestSegment.split(","); + + //convert all numbers in string to int and add to data. + for(int i=0; i<5; i++) { + data[i] = Integer.parseInt(latestStrings[i]); + } + } catch(IndexOutOfBoundsException ex) { + DriverStation.reportError("String formatting error!", true); } return data; } From 29002a14c45fe5e1232fb6815f8dd2a72dde972a Mon Sep 17 00:00:00 2001 From: BTK203 Date: Sun, 5 Jan 2020 16:08:03 -0600 Subject: [PATCH 03/11] Multiple Target support? --- KiwiLight - Vision Code/KiwiLight.cpp | 44 ++++++- KiwiLight - Vision Code/KiwiLight.h | 6 + KiwiLight - Vision Code/Main.cpp | 135 ++++++++++++++++++-- KiwiLight - Vision Code/generic.xml | 54 ++++++++ KiwiLight - Vision Code/install.sh | 17 ++- KiwiLight - Vision Code/runner/Runner.cpp | 52 +------- KiwiLight - Vision Code/runner/Runner.h | 14 +- KiwiLight - Vision Code/runner/Target.cpp | 20 +++ KiwiLight - Vision Code/ui/ConfigEditor.cpp | 17 +-- KiwiLight - Vision Code/ui/RunnerEditor.cpp | 4 +- KiwiLight - Vision Code/ui/UI.h | 2 - KiwiLight - Vision Code/util/UDP.cpp | 12 +- KiwiLight - Vision Code/util/Util.cpp | 2 +- KiwiLight - Vision Code/util/Util.h | 1 - 14 files changed, 275 insertions(+), 105 deletions(-) create mode 100644 KiwiLight - Vision Code/generic.xml diff --git a/KiwiLight - Vision Code/KiwiLight.cpp b/KiwiLight - Vision Code/KiwiLight.cpp index 5f30cfc..3a17648 100644 --- a/KiwiLight - Vision Code/KiwiLight.cpp +++ b/KiwiLight - Vision Code/KiwiLight.cpp @@ -10,9 +10,10 @@ using namespace KiwiLight; //define some static vars for KiwiLightApp. Vars will be defined for real on call to Create(); VideoCapture KiwiLightApp::camera; +UDP KiwiLightApp::udpSender; Runner KiwiLightApp::runner; ConfigEditor KiwiLightApp::configeditor; -GThread *KiwiLightApp::streamingThread; +GThread *KiwiLightApp::streamingThread; UIMode KiwiLightApp::mode = UIMode::UI_STREAM; bool KiwiLightApp::lastImageGrabSuccessful = false; bool KiwiLightApp::udpEnabled = false; @@ -35,6 +36,8 @@ void KiwiLightApp::Create(int argc, char *argv[]) { KiwiLightApp::mode = UIMode::UI_PAUSING; KiwiLightApp::cameraFailures = 0; KiwiLightApp:currentCameraIndex = 100; //just to define index. Camera will only open if currentCameraindex != 100 + + KiwiLightApp::udpSender = UDP("127.0.0.1", 3695); gtk_init(&argc, &argv); win = Window(GTK_WINDOW_TOPLEVEL); @@ -166,6 +169,9 @@ bool KiwiLightApp::LastImageCaptureSuccessful() { return KiwiLightApp::lastImageGrabSuccessful; } +UDP KiwiLightApp::GetUDP() { + return KiwiLightApp::udpSender; +} /** * Returns KiwiLight's menu bar @@ -299,6 +305,36 @@ void KiwiLightApp::OpenNewCameraOnIndex(int index) { } } +/** + * This method is ONLY to be used if KiwiLight is working headless (no UI)!!!!!!! + * Opens new camera without updating UI elements + */ +void KiwiLightApp::InitCameraOnly(int index) { + std::cout << "Configuring Auto Exposure setting on new camera" << std::endl; + Shell::ExecuteCommand( + std::string("v4l2-ctl -d ") + + std::to_string(index) + + std::string(" --set-ctrl=exposure_auto=1") + ); + + KiwiLightApp::camera = VideoCapture(index); +} + + +void KiwiLightApp::ReconnectUDP(std::string newAddress, int newPort) { + KiwiLightApp::udpSender = UDP(newAddress, newPort); +} + + +void KiwiLightApp::ReconnectUDP(std::string newAddress, int newPort, bool block) { + KiwiLightApp::udpSender = UDP(newAddress, newPort, block); +} + + +void KiwiLightApp::SendOverUDP(std::string message) { + KiwiLightApp::udpSender.Send(message); +} + /** * Causes the editor to apply all camera settings to the video stream. */ @@ -362,7 +398,7 @@ void KiwiLightApp::UpdateStreamsConstantly() { //now because some cameras like the jevois take a little longer for the stream to start, we will wait until it gives us a good frame //to avoid the VIDIOC_QBUF: Invalid Argument barage. bool retrieveSuccess = false; - while(!retrieveSuccess) { + while(!retrieveSuccess && KiwiLightApp::mode != UIMode::UI_PAUSING && streamThreadEnabled) { usleep(250000); //give camera some time to adjust and do things bool grabSuccess = KiwiLightApp::camera.grab(); if(grabSuccess) { @@ -397,7 +433,7 @@ void KiwiLightApp::UpdateStreams() { //if the udp is enabled, send the message if(KiwiLightApp::udpEnabled) { - KiwiLightApp::runner.SendOverUDP(output); + KiwiLightApp::udpSender.Send(output); } } break; @@ -409,7 +445,7 @@ void KiwiLightApp::UpdateStreams() { //send if udp enabled if(KiwiLightApp::udpEnabled) { - KiwiLightApp::configeditor.SendOverUDP(output); + KiwiLightApp::udpSender.Send(output); } } break; diff --git a/KiwiLight - Vision Code/KiwiLight.h b/KiwiLight - Vision Code/KiwiLight.h index 750568c..c0e759f 100644 --- a/KiwiLight - Vision Code/KiwiLight.h +++ b/KiwiLight - Vision Code/KiwiLight.h @@ -49,6 +49,7 @@ namespace KiwiLight { //general accessors static bool LastImageCaptureSuccessful(); static UIMode CurrentMode(); + static UDP GetUDP(); //misc. UI callbacks static void CloseEditor(bool saveFirst); @@ -61,6 +62,10 @@ namespace KiwiLight { static void EditorApplyCameraSettings(); static void EditorOpenNewCameraFromOverview(); static void OpenNewCameraOnIndex(int index); + static void InitCameraOnly(int index); + static void ReconnectUDP(std::string newAddress, int newPort); + static void ReconnectUDP(std::string newAddress, int newPort, bool block); + static void SendOverUDP(std::string message); //thread utilities static void LaunchStreamingThread(UIMode newMode); @@ -90,6 +95,7 @@ namespace KiwiLight { static Runner runner; static ConfigEditor configeditor; static VideoCapture camera; + static UDP udpSender; static GThread *streamingThread; //utilities diff --git a/KiwiLight - Vision Code/Main.cpp b/KiwiLight - Vision Code/Main.cpp index 8c19083..fb368c7 100644 --- a/KiwiLight - Vision Code/Main.cpp +++ b/KiwiLight - Vision Code/Main.cpp @@ -7,20 +7,137 @@ using namespace cv; using namespace KiwiLight; +void ShowHelp() { + std::cout << "KIWILIGHT HELP\n"; + std::cout << "Usage: Kiwilight [options] [config files]\n"; + std::cout << "\n"; + std::cout << "KiwiLight is a smart vision solution for FRC applications developed by FRC Team 3695: Foximus Prime.\n"; + std::cout << "\n"; + std::cout << "Options:\n"; + std::cout << "-c: Runs a config file, or multiple config files.\n"; + std::cout << "-h: Displays this help window.\n"; + std::cout << std::endl; +} + + +void RunConfigs(std::vector filePaths) { + //init needed KiwiLight variables + KiwiLightApp::InitCameraOnly(0); + KiwiLightApp::ReconnectUDP("127.0.0.1", 3695, false); + + std::cout << "Command: Run Configs\n"; + std::cout << "Config files found: " << filePaths.size() << "\n"; + std::cout << "Ensure that all config files share the same UDP Address and Port." << std::endl; + + //initalize the runners + std::cout << "\nInitalizing Runners" << std::endl; + const int numTargets = (const int) filePaths.size(); + Runner runners[numTargets]; + int totalContours = 0; + for(int i=0; i confsToRun; + + for(int i=0; i 4) { + if(argument.substr(argument.length() - 4) == ".xml") { + confsToRun.push_back(argument); + } + } + } + + if(runningConfig) { + RunConfigs(confsToRun); } } diff --git a/KiwiLight - Vision Code/generic.xml b/KiwiLight - Vision Code/generic.xml new file mode 100644 index 0000000..830b8ed --- /dev/null +++ b/KiwiLight - Vision Code/generic.xml @@ -0,0 +1,54 @@ + + + 600 + 400 + 1 + 512 + 1 + 512 + 1 + 512 + 512 + 512 + + + + + 0 + 0 + + + 250 + 145 + + + 75 + 3 + 5 + + 80 + 255 + 255 + + + + + + 0.000000 + 0.000000 + 0.000000 + 0.900000 + 1.000000 + 500.000000 + + 12 + 300 + 36 + -0.1 + + +
127.0.0.1
+ 3695 +
+
+
diff --git a/KiwiLight - Vision Code/install.sh b/KiwiLight - Vision Code/install.sh index 02c82e6..354a5ce 100644 --- a/KiwiLight - Vision Code/install.sh +++ b/KiwiLight - Vision Code/install.sh @@ -42,18 +42,29 @@ Install() { cd ../.. echo "Preparing to compile KIWILIGHT" - mkdir bin - mkdir lib + make setup echo "Compiling KIWILIGHT" make -j2 KiwiLight + echo "Preparing KIWILIGHT" + #install the confs folder + currentDir = $PWD + cd + mkdir KiwiLightData + mkdir KiwiLightData/confs + mkdir KiwiLightData/tmp + cp $PWD/generic.xml KiwiLightData/confs/ + echo "" >> KiwiLightData/tmp/shell_out.log + + cd $currentDir + echo "KIWILIGHT has been successfully installed." } echo "Welcome to the KiwiLight installer!" -echo "Installing KiwiLight will download many packages and may take a long time." +echo "Installing KiwiLight from the sources will download many packages and may take a long time." echo "Would you like to continue? [y/n]: " read -N1 confirm diff --git a/KiwiLight - Vision Code/runner/Runner.cpp b/KiwiLight - Vision Code/runner/Runner.cpp index 494048d..15860ad 100644 --- a/KiwiLight - Vision Code/runner/Runner.cpp +++ b/KiwiLight - Vision Code/runner/Runner.cpp @@ -32,48 +32,6 @@ void Runner::SetImageResize(Size sz) { this->constantResize = sz; } -/** - * Puts the runner in a constant loop, and sends finished UDP messages. - * This method would be used in normal FRC situations - */ -void Runner::Loop() { - //give some information to stdout about the config - std::cout << std::endl; - std::cout << "------------------------------------" << std::endl; - std::cout << "KiwiLight Runner starting..." << std::endl; - std::cout << " Mode: " << (this->debug ? "Debug" : "Running") << std::endl; - std::cout << " Configuration Name: " << this->configName << std::endl; - std::cout << " Camera Index: " << this->cameraIndex << std::endl; - std::cout << " Preprocessor: " << (this->preprocessor.GetProperty(PreProcessorProperty::IS_FULL) == 1.0 ? "FULL" : "PARTIAL") << std::endl; - std::cout << " Postprocessor: FULL" << std::endl; - std::cout << " Number of Contours: " << this->postProcessorTargets[0].Contours().size() << std::endl; - std::cout << " UDP Destination Address: " << this->udp.GetAddress() << std::endl; - std::cout << " UDP Port: " << std::to_string(this->udp.GetPort()) << std::endl; - std::cout << "------------------------------------" << std::endl; - std::cout << std::endl; - - std::cout << "Waiting for UDP to connect" << std::endl; - while(true) { - bool connectSuccess = this->udp.AttemptToConnect(); - if(connectSuccess) { - std::cout << "UDP connected successfully." << std::endl; - break; - } - } - - //loops a lot until stopped - while(!stop) { - try { - //run algorithm and get the udp message to send to rio - std::string output = this->Iterate(); - this->udp.Send(output); - } catch(cv::Exception ex) { - std::cout << "An OpenCv Exception was encountered in the Loop!" << std::endl; - std::cout << "ex.what(): " << ex.what() << std::endl; - } - } -} - /** * Performs one iteration of the main loop, but does not send any file UDP messages. */ @@ -136,6 +94,7 @@ std::string Runner::Iterate() { } this->closestTarget = bestTarget; + this->lastFrameCenterPoint = Point(robotCenterX, robotCenterY); //figure out which target to send and then send the target int coordX = -1, @@ -236,13 +195,6 @@ void Runner::SetExampleTarget(int contourID, ExampleTarget target) { this->postprocessor.SetTarget(contourID, target); } -void Runner::ReconnectUDP(std::string udpAddr, int udpPort) { - this->udp = UDP(udpAddr, udpPort); -} - -void Runner::SendOverUDP(std::string message) { - this->udp.Send(message); -} void Runner::SetPreprocessorProperty(PreProcessorProperty prop, double value) { if(this->debug) { @@ -392,7 +344,7 @@ void Runner::parseDocument(XMLDocument doc) { //init the preprocessor and postprocessor here this->preprocessor = PreProcessor(preprocessorTypeIsFull, preprocessorColor, preprocessorThreshold, preprocessorErosion, preprocessorDilation, this->debug); this->postprocessor = PostProcessor(this->postProcessorTargets, this->debug); - this->udp = UDP(udpAddr, udpPort); + KiwiLightApp::ReconnectUDP(udpAddr, udpPort); } /** diff --git a/KiwiLight - Vision Code/runner/Runner.h b/KiwiLight - Vision Code/runner/Runner.h index 80b7979..80cb337 100644 --- a/KiwiLight - Vision Code/runner/Runner.h +++ b/KiwiLight - Vision Code/runner/Runner.h @@ -10,6 +10,8 @@ * Written By: Brach Knutson */ +using namespace cv; + namespace KiwiLight { /** @@ -158,6 +160,7 @@ namespace KiwiLight { int HorizontalAngle(double distanceToTarget, int imageCenterX); int VerticalAngle(int imageCenterY); int VerticalAngle(double distanceToTarget, int imageCenterY); + int ObliqueAngle(int imageCenterX, int imageCenterY); double KnownWidth() { return this->knownHeight; }; double FocalWidth() { return this->focalHeight; }; double DistanceErrorCorrection() { return this->distErrorCorrect; }; @@ -265,7 +268,6 @@ namespace KiwiLight { std::vector contoursFromLastFrame; }; - class CameraFrame { public: CameraFrame() {}; @@ -287,7 +289,6 @@ namespace KiwiLight { */ class Runner { public: - static const std::string NULL_MESSAGE; Runner() {}; @@ -296,21 +297,18 @@ namespace KiwiLight { PostProcessor GetPostProcessor() { return this->postprocessor; }; int GetCameraIndex() { return this->cameraIndex; }; void SetImageResize(Size sz); - void Loop(); - void ReconnectUDP(std::string udpAddr, int udpPort); - void SendOverUDP(std::string message); std::string Iterate(); int GetNumberOfTargets() { return this->postprocessor.NumberOfTargets(); }; int GetNumberOfContours(int target); bool GetLastFrameSuccessful() { return this->lastIterationSuccessful; }; std::vector GetLastFrameTargets() { return this->lastFrameTargets; }; Target GetClosestTargetToCenter() { return this->closestTarget; }; + Point GetLastFrameCenterPoint() { return this->lastFrameCenterPoint; }; std::string GetFileName() { return this->src; }; cv::Mat GetOriginalImage() { return this->originalImage; }; cv::Mat GetOutputImage() { return this->outputImage; }; Size GetConstantSize() { return this->constantResize; }; ExampleTarget GetExampleTargetByID(int id); - UDP GetUDP() { return this->udp; }; void SetExampleTarget(int targetID, ExampleTarget target); void SetPreprocessorProperty(PreProcessorProperty prop, double value); double GetPreprocessorProperty(PreProcessorProperty prop); @@ -339,14 +337,13 @@ namespace KiwiLight { std::vector postProcessorTargets; std::vector lastFrameTargets; + Point lastFrameCenterPoint; bool lastIterationSuccessful; bool stop, debug; double centerOffsetX, centerOffsetY; - - UDP udp; }; /** @@ -377,6 +374,7 @@ namespace KiwiLight { original; }; + /** * A tool that calculates the constants needed for accurate distance calculation */ diff --git a/KiwiLight - Vision Code/runner/Target.cpp b/KiwiLight - Vision Code/runner/Target.cpp index 40564b9..eba2884 100644 --- a/KiwiLight - Vision Code/runner/Target.cpp +++ b/KiwiLight - Vision Code/runner/Target.cpp @@ -129,6 +129,26 @@ int Target::VerticalAngle(int imageCenterY) { return this->VerticalAngle(this->Distance(), imageCenterY); } + +int Target::ObliqueAngle(int imageCenterX, int imageCenterY) { + double horizontalAngle = this->HorizontalAngle(imageCenterX) * (M_PI / 180); //convert angle from degrees to radians + double verticalAngle = this->VerticalAngle(imageCenterY) * (M_PI / 180); + double targetDistance = this->Distance(); + + double horizontalOffset = targetDistance * tan(horizontalAngle); + double verticalOffset = targetDistance * tan(verticalAngle); + double obliqueOffset = sqrt ( + pow(horizontalOffset, 2) + + pow(verticalOffset, 2) + ); + + double obliqueAngle = atan(obliqueOffset / targetDistance); + + //convert the angle back to degrees + obliqueAngle *= (180 / M_PI); + return obliqueAngle; +} + /** * Returns a rectangle that represents the bounds of the target. */ diff --git a/KiwiLight - Vision Code/ui/ConfigEditor.cpp b/KiwiLight - Vision Code/ui/ConfigEditor.cpp index e4ea5f0..aaf5e9b 100644 --- a/KiwiLight - Vision Code/ui/ConfigEditor.cpp +++ b/KiwiLight - Vision Code/ui/ConfigEditor.cpp @@ -119,7 +119,7 @@ ConfigEditor::ConfigEditor(std::string fileName) { this->window.SetPane(this->content); - this->window.SetOnWindowClosed(ConfigEditor::Closed); + this->window.SetOnWindowClosed(JustCloseButtonPressed); this->window.SetCSS("ui/Style.css"); this->window.Show(); @@ -601,17 +601,13 @@ void ConfigEditor::StartLearningDistance() { void ConfigEditor::ReconnectUDPFromEditor() { std::string newUDPAddr = this->runnerSettings.GetUDPAddr(); int newUDPPort = this->runnerSettings.GetUDPPort(); - this->runner.ReconnectUDP(newUDPAddr, newUDPPort); + KiwiLightApp::ReconnectUDP(newUDPAddr, newUDPPort); //set the things in the overview panel this->configOverview.SetUDPAddr(newUDPAddr); this->configOverview.SetUDPPort(newUDPPort); } -void ConfigEditor::SendOverUDP(std::string message) { - this->runner.SendOverUDP(message); -} - void ConfigEditor::SetUDPEnabledLabels(bool UDPEnabled) { this->configOverview.SetUDPEnabledLabels(UDPEnabled); @@ -653,7 +649,7 @@ void ConfigEditor::SetCameraIndexBoxes(int index) { void ConfigEditor::ReconnectUDPFromOverview() { std::string newAddr = this->configOverview.GetUDPAddr(); int newPort = this->configOverview.GetUDPPort(); - this->runner.ReconnectUDP(newAddr, newPort); + KiwiLightApp::ReconnectUDP(newAddr, newPort); //set the properties in the actual editor this->runnerSettings.SetUDPAddr(newAddr); @@ -674,13 +670,6 @@ void ConfigEditor::SetName(std::string name) { gtk_widget_set_name(this->configeditor, name.c_str()); } -/** - * Called when the X in the corner is pressed - */ -void ConfigEditor::Closed() { - KiwiLightApp::CloseEditor(false); -} - void ConfigEditor::UpdateImage() { this->runner.Iterate(); diff --git a/KiwiLight - Vision Code/ui/RunnerEditor.cpp b/KiwiLight - Vision Code/ui/RunnerEditor.cpp index a98a4c3..b9bfa7c 100644 --- a/KiwiLight - Vision Code/ui/RunnerEditor.cpp +++ b/KiwiLight - Vision Code/ui/RunnerEditor.cpp @@ -28,7 +28,7 @@ RunnerEditor::RunnerEditor(Runner runner) { Label udpAddressPanelHeader = Label("IPv4 Address: "); udpAddressPanel.Pack_start(udpAddressPanelHeader.GetWidget(), true, true, 0); - std::string realUDPAddress = runner.GetUDP().GetAddress(); + std::string realUDPAddress = KiwiLightApp::GetUDP().GetAddress(); this->udpAddress = TextBox(realUDPAddress); udpAddressPanel.Pack_start(this->udpAddress.GetWidget(), true, true, 0); @@ -38,7 +38,7 @@ RunnerEditor::RunnerEditor(Runner runner) { Label udpPortPanelHeader = Label("Port: "); udpPortPanel.Pack_start(udpPortPanelHeader.GetWidget(), true, true, 0); - int realUDPPort = runner.GetUDP().GetPort(); + int realUDPPort = KiwiLightApp::GetUDP().GetPort(); this->udpPort = NumberBox(0.0, 9999.0, 1.0, (double) realUDPPort); udpPortPanel.Pack_start(this->udpPort.GetWidget(), true, true, 0); udpInputPanel.Pack_start(udpPortPanel.GetWidget(), true, true, 0); diff --git a/KiwiLight - Vision Code/ui/UI.h b/KiwiLight - Vision Code/ui/UI.h index 0ba81fb..feab6f9 100644 --- a/KiwiLight - Vision Code/ui/UI.h +++ b/KiwiLight - Vision Code/ui/UI.h @@ -663,7 +663,6 @@ namespace KiwiLight { void StartLearningTarget(); void StartLearningDistance(); void ReconnectUDPFromEditor(); - void SendOverUDP(std::string message); void SetUDPEnabledLabels(bool UDPEnabled); void ApplyCameraSettings(); void SetCameraIndexBoxes(int index); @@ -675,7 +674,6 @@ namespace KiwiLight { void SetName(std::string name); private: - static void Closed(); void UpdateImage(); //universal config learning utility diff --git a/KiwiLight - Vision Code/util/UDP.cpp b/KiwiLight - Vision Code/util/UDP.cpp index 4ea6ff5..ee2df13 100644 --- a/KiwiLight - Vision Code/util/UDP.cpp +++ b/KiwiLight - Vision Code/util/UDP.cpp @@ -25,8 +25,6 @@ UDP::UDP(std::string dest_ip, int port) { this->address = dest_ip; this->port = port; - std::cout << "Setting up UDP..." << std::endl; - this->sock = socket(AF_INET, SOCK_DGRAM, 0); //"0" for wildcard of what protocol is best if(this->sock < 0) //socket creation didnt be like that tho err("SOCKET FAILED"); @@ -57,8 +55,6 @@ UDP::UDP(std::string dest_ip, int port, bool blockUntilConnected) { this->address = dest_ip; this->port = port; - std::cout << "Setting up UDP..." << std::endl; - this->sock = socket(AF_INET, SOCK_DGRAM, 0); //"0" for wildcard of what protocol is best if(this->sock < 0) //socket creation didnt be like that tho err("SOCKET FAILED"); @@ -73,24 +69,18 @@ UDP::UDP(std::string dest_ip, int port, bool blockUntilConnected) { err("PTON FAILED"); //wait for the connect to succeed before we go - std::cout << "Waiting to connect..." << std::endl; while(true) { //now connect int connect_result = connect(this->sock, (sockaddr*) &this->client_address, sizeof(this->client_address)); if(connect_result > -1 || !blockUntilConnected) //the connection was the big good break; } - - std::cout << "Connection set up." << std::endl; } UDP::UDP(std::string this_ip, std::string dest_ip, int port, bool blockUntilConnected) { this->address = dest_ip; - this->port = port; - - std::cout << "Setting up UDP..." << std::endl; - + this->port = port; this->sock = socket(AF_INET, SOCK_DGRAM, 0); //"0" for wildcard of what protocol is best if(this->sock < 0) //socket creation didnt be like that tho diff --git a/KiwiLight - Vision Code/util/Util.cpp b/KiwiLight - Vision Code/util/Util.cpp index 19240c4..5c60cf7 100644 --- a/KiwiLight - Vision Code/util/Util.cpp +++ b/KiwiLight - Vision Code/util/Util.cpp @@ -27,4 +27,4 @@ XMLTag Util::SearchCameraSettingsByID(std::vector settings, int id) { std::cout << "No Camera Setting could be found by ID " << id << "!" << std::endl; return settings[0]; -} \ No newline at end of file +} diff --git a/KiwiLight - Vision Code/util/Util.h b/KiwiLight - Vision Code/util/Util.h index 0b5bf76..fd00fbd 100644 --- a/KiwiLight - Vision Code/util/Util.h +++ b/KiwiLight - Vision Code/util/Util.h @@ -4,7 +4,6 @@ #include #include #include -#include "gtk-3.0/gtk/gtk.h" #include "opencv2/opencv.hpp" #include "netdb.h" #include "unistd.h" From 18d6834d813f4bfd92042c60b5f745ecefb4f894 Mon Sep 17 00:00:00 2001 From: BTK203 Date: Sun, 5 Jan 2020 17:11:41 -0600 Subject: [PATCH 04/11] Multi-Targeting is now supported. --- KiwiLight - Vision Code/Main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KiwiLight - Vision Code/Main.cpp b/KiwiLight - Vision Code/Main.cpp index fb368c7..f06f306 100644 --- a/KiwiLight - Vision Code/Main.cpp +++ b/KiwiLight - Vision Code/Main.cpp @@ -97,7 +97,7 @@ void RunConfigs(std::vector filePaths) { message = ":" + x + "," + y + "," + d + "," + ha + "," + va + ";"; } - + KiwiLightApp::SendOverUDP(message); } } From 3b588e83aaa7a558eb59e083336f05cc57f765fe Mon Sep 17 00:00:00 2001 From: BTK203 Date: Sun, 8 Mar 2020 22:23:19 -0500 Subject: [PATCH 05/11] Width and height reporting. --- KiwiLight - Vision Code/CppProperties.json | 21 + KiwiLight - Vision Code/KiwiLight.cpp | 1188 +++++++------- KiwiLight - Vision Code/KiwiLight.h | 248 +-- KiwiLight - Vision Code/Main.cpp | 290 ++-- KiwiLight - Vision Code/Makefile | 404 ++--- KiwiLight - Vision Code/confs/generic.xml | 122 +- KiwiLight - Vision Code/generic.xml | 108 +- KiwiLight - Vision Code/install.sh | 154 +- .../runner/CameraFrame.cpp | 196 +-- .../runner/ConfigLearner.cpp | 368 ++--- KiwiLight - Vision Code/runner/Contour.cpp | 66 +- .../runner/ExampleContour.cpp | 194 +-- .../runner/ExampleTarget.cpp | 710 ++++---- .../runner/PostProcessor.cpp | 222 +-- .../runner/PreProcessor.cpp | 296 ++-- KiwiLight - Vision Code/runner/Runner.cpp | 743 ++++----- KiwiLight - Vision Code/runner/Runner.h | 834 +++++----- .../runner/RunnerSettings.cpp | 16 +- KiwiLight - Vision Code/runner/Settings.h | 38 +- KiwiLight - Vision Code/runner/Target.cpp | 320 ++-- .../runner/TargetDistanceLearner.cpp | 116 +- .../runner/TargetTroubleshooter.cpp | 450 +++--- KiwiLight - Vision Code/ui/AboutWindow.cpp | 124 +- KiwiLight - Vision Code/ui/Button.cpp | 64 +- KiwiLight - Vision Code/ui/CameraSetting.cpp | 128 +- KiwiLight - Vision Code/ui/CheckBox.cpp | 70 +- KiwiLight - Vision Code/ui/ConfigEditor.cpp | 1369 ++++++++-------- KiwiLight - Vision Code/ui/ConfigPanel.cpp | 290 ++-- .../ui/ConfirmationDialog.cpp | 110 +- KiwiLight - Vision Code/ui/FileChooser.cpp | 118 +- KiwiLight - Vision Code/ui/Frame.cpp | 68 +- KiwiLight - Vision Code/ui/HelpWindow.cpp | 106 +- KiwiLight - Vision Code/ui/Image.cpp | 168 +- KiwiLight - Vision Code/ui/Label.cpp | 102 +- KiwiLight - Vision Code/ui/LabeledSlider.cpp | 98 +- KiwiLight - Vision Code/ui/MenuBar.cpp | 54 +- KiwiLight - Vision Code/ui/MenuItem.cpp | 52 +- KiwiLight - Vision Code/ui/NumberBox.cpp | 76 +- KiwiLight - Vision Code/ui/OverviewPanel.cpp | 402 ++--- KiwiLight - Vision Code/ui/Panel.cpp | 70 +- KiwiLight - Vision Code/ui/PopupTextBox.cpp | 74 +- .../ui/PostprocessorEditor.cpp | 512 +++--- .../ui/PreprocessorEditor.cpp | 368 ++--- KiwiLight - Vision Code/ui/RunnerEditor.cpp | 430 ++--- KiwiLight - Vision Code/ui/Scrollable.cpp | 54 +- KiwiLight - Vision Code/ui/Separator.cpp | 46 +- KiwiLight - Vision Code/ui/Settings.cpp | 336 ++-- KiwiLight - Vision Code/ui/Slider.cpp | 70 +- KiwiLight - Vision Code/ui/Style.css | 168 +- KiwiLight - Vision Code/ui/SubMenuItem.cpp | 40 +- KiwiLight - Vision Code/ui/TabView.cpp | 50 +- KiwiLight - Vision Code/ui/TextBox.cpp | 84 +- .../ui/TroubleshootingWindow.cpp | 78 +- KiwiLight - Vision Code/ui/UI.h | 1438 ++++++++--------- KiwiLight - Vision Code/ui/Window.cpp | 218 +-- KiwiLight - Vision Code/util/Color.cpp | 100 +- KiwiLight - Vision Code/util/DataUtils.cpp | 420 ++--- KiwiLight - Vision Code/util/Flags.cpp | 118 +- KiwiLight - Vision Code/util/SettingPair.cpp | 46 +- KiwiLight - Vision Code/util/Shell.cpp | 78 +- KiwiLight - Vision Code/util/StringUtils.cpp | 138 +- KiwiLight - Vision Code/util/UDP.cpp | 342 ++-- KiwiLight - Vision Code/util/Util.cpp | 60 +- KiwiLight - Vision Code/util/Util.h | 448 ++--- KiwiLight - Vision Code/util/XMLDocument.cpp | 372 ++--- KiwiLight - Vision Code/util/XMLTag.cpp | 266 +-- .../util/XMLTagAttribute.cpp | 34 +- 67 files changed, 8495 insertions(+), 8466 deletions(-) create mode 100644 KiwiLight - Vision Code/CppProperties.json diff --git a/KiwiLight - Vision Code/CppProperties.json b/KiwiLight - Vision Code/CppProperties.json new file mode 100644 index 0000000..14cc59e --- /dev/null +++ b/KiwiLight - Vision Code/CppProperties.json @@ -0,0 +1,21 @@ +{ + "configurations": [ + { + "inheritEnvironments": [ + "msvc_x86" + ], + "name": "x86-Debug", + "includePath": [ + "${env.INCLUDE}", + "${workspaceRoot}\\**" + ], + "defines": [ + "WIN32", + "_DEBUG", + "UNICODE", + "_UNICODE" + ], + "intelliSenseMode": "windows-msvc-x86" + } + ] +} \ No newline at end of file diff --git a/KiwiLight - Vision Code/KiwiLight.cpp b/KiwiLight - Vision Code/KiwiLight.cpp index 3a17648..68a7278 100644 --- a/KiwiLight - Vision Code/KiwiLight.cpp +++ b/KiwiLight - Vision Code/KiwiLight.cpp @@ -1,594 +1,594 @@ -#include "KiwiLight.h" - -/** - * Source file for the KiwiLightApp class. - * Written By: Brach Knutson - */ - -using namespace cv; -using namespace KiwiLight; - -//define some static vars for KiwiLightApp. Vars will be defined for real on call to Create(); -VideoCapture KiwiLightApp::camera; -UDP KiwiLightApp::udpSender; -Runner KiwiLightApp::runner; -ConfigEditor KiwiLightApp::configeditor; -GThread *KiwiLightApp::streamingThread; -UIMode KiwiLightApp::mode = UIMode::UI_STREAM; -bool KiwiLightApp::lastImageGrabSuccessful = false; -bool KiwiLightApp::udpEnabled = false; -bool KiwiLightApp::streamThreadEnabled = true; //acts as a kind of "enable switch" for the streamthread because it seems to like starting when its not supposed to -bool KiwiLightApp::outImgInUse = false; -Mat KiwiLightApp::lastFrameGrabImage; -Window KiwiLightApp::win; -ConfigPanel KiwiLightApp::confInfo; -NumberBox KiwiLightApp::cameraIndexBox; -Label KiwiLightApp::cameraStatusLabel; -Image KiwiLightApp::outputImage; -Button KiwiLightApp::toggleUDPButton; -int KiwiLightApp::cameraFailures; -int KiwiLightApp::currentCameraIndex = 100; - -/** - * Initializes GTK and builds KiwiLight - */ -void KiwiLightApp::Create(int argc, char *argv[]) { - KiwiLightApp::mode = UIMode::UI_PAUSING; - KiwiLightApp::cameraFailures = 0; - KiwiLightApp:currentCameraIndex = 100; //just to define index. Camera will only open if currentCameraindex != 100 - - KiwiLightApp::udpSender = UDP("127.0.0.1", 3695); - - gtk_init(&argc, &argv); - win = Window(GTK_WINDOW_TOPLEVEL); - Panel content = Panel(false, 0); - MenuBar menubar = KiwiLightApp::CreateMenuBar(); - content.Pack_start(menubar.GetWidget(), false, false, 0); - - Panel ribbon = Panel(true, 0); - Image logo = Image("banner_small.png"); - ribbon.Pack_start(logo.GetWidget(), false, false, 0); - - Separator sep = Separator(false); - ribbon.Pack_start(sep.GetWidget(), false, false, 0); - - Panel cameraSelectionPanel = Panel(false, 0); - Panel numberBoxPanel = Panel(true, 0); - Label numberBoxLabel = Label("Camera: "); - numberBoxPanel.Pack_start(numberBoxLabel.GetWidget(), false, false, 0); - - KiwiLightApp::cameraIndexBox = NumberBox(0, 10, 1, 0); - numberBoxPanel.Pack_start(KiwiLightApp::cameraIndexBox.GetWidget(), false, false, 0); - - cameraSelectionPanel.Pack_start(numberBoxPanel.GetWidget(), false, false, 0); - - Button openCameraButton = Button("Open", KiwiLightApp::OpenNewCameraFromMainIndex); - cameraSelectionPanel.Pack_start(openCameraButton.GetWidget(), false, false, 0); - - ribbon.Pack_start(cameraSelectionPanel.GetWidget(), false, false, 0); - - KiwiLightApp::cameraStatusLabel = Label(""); - ribbon.Pack_start(cameraStatusLabel.GetWidget(), false, false, 0); - - content.Pack_start(ribbon.GetWidget(), false, false, 0); - - Panel body = Panel(true, 0); - Panel configInfoPanel = Panel(false, 0); - KiwiLightApp::confInfo = ConfigPanel(XMLDocument("")); - configInfoPanel.Pack_start(KiwiLightApp::confInfo.GetWidget(), true, true, 0); - - Panel configButtonPanel = Panel(true, 0); - Button editButton = Button("Edit", KiwiLightApp::EditConfiguration); - configButtonPanel.Pack_start(editButton.GetWidget(), true, true, 0); - - KiwiLightApp::toggleUDPButton = Button("Enable UDP", ToggleUDP); - configButtonPanel.Pack_start(KiwiLightApp::toggleUDPButton.GetWidget(), true, true, 0); - - configInfoPanel.Pack_start(configButtonPanel.GetWidget(), true, false, 0); - body.Pack_start(configInfoPanel.GetWidget(), true, true, 0); - - KiwiLightApp::outputImage = Image(ImageColorspace::RGB); - body.Pack_start(KiwiLightApp::outputImage.GetWidget(), true, true, 0); - - content.Pack_start(body.GetWidget(), false, false, 0); - - win.SetPane(content); - win.SetCSS("ui/Style.css"); - win.SetOnAppClosed(KiwiLightApp::Quit); - win.SetInterval(75, KiwiLightApp::UpdateApp); - - OpenNewCameraOnIndex(0); -} - -/** - * Starts KiwiLight. - */ -void KiwiLightApp::Start() { - win.Show(); - KiwiLightApp::LaunchStreamingThread(UIMode::UI_STREAM); - win.Main(); -} - -/** - * Returns KiwiLight's runner. - */ -Runner KiwiLightApp::GetRunner() { return runner; } - -/** - * Returns KiwiLight's config editor. - */ -ConfigEditor KiwiLightApp::GetEditor() { return configeditor; } - -/** - * Takes an image with the KiwiLight camera and returns it - */ -Mat KiwiLightApp::TakeImage() { - Mat img; - if(KiwiLightApp::camera.isOpened()) { - bool success = KiwiLightApp::camera.grab(); - - if(success) { - success = KiwiLightApp::camera.retrieve(img); - } - KiwiLightApp::lastImageGrabSuccessful = success; - - //additionally... - if(img.empty()) { - lastImageGrabSuccessful = false; - } - } - - return img; -} - -/** - * Returns the value of KiwiLight's camera's property on the given ID (ID from opencv constants). - */ -double KiwiLightApp::GetCameraProperty(int propId) { - return KiwiLightApp::camera.get(propId); -} - -/** - * Returns true if KiwiLight's camera is open, false otherwise - */ -bool KiwiLightApp::CameraOpen() { - return KiwiLightApp::camera.isOpened(); -} - -/** - * Sets a property value on KiwiLight's camera to value. - */ -void KiwiLightApp::SetCameraProperty(int propId, double value) { - KiwiLightApp::camera.set(propId, value); -} - -/** - * Returns true if last image take was successful, false otherwise. - */ -bool KiwiLightApp::LastImageCaptureSuccessful() { - return KiwiLightApp::lastImageGrabSuccessful; -} - -UDP KiwiLightApp::GetUDP() { - return KiwiLightApp::udpSender; -} - -/** - * Returns KiwiLight's menu bar - */ -MenuBar KiwiLightApp::CreateMenuBar() { - MenuBar menubar = MenuBar(); - menubar.SetName("hover_gray"); - MenuItem file = MenuItem("File"); - SubMenuItem addConfig = SubMenuItem("New Configuration", KiwiLightApp::NewConfiguration); - file.AddSubmenuItem(addConfig); - - SubMenuItem openConfig = SubMenuItem("Open Configuration", KiwiLightApp::OpenConfiguration); - file.AddSubmenuItem(openConfig); - - SubMenuItem stopConfig = SubMenuItem("Close Config", KiwiLightApp::CloseConfiguration); - file.AddSubmenuItem(stopConfig); - - - SubMenuItem quit = SubMenuItem("Quit", KiwiLightApp::Quit); - file.AddSubmenuItem(quit); - - menubar.AddItem(file); - - MenuItem help = MenuItem("Help"); - SubMenuItem about = SubMenuItem("About", KiwiLightApp::ShowAboutWindow); - help.AddSubmenuItem(about); - - SubMenuItem helpme = SubMenuItem("How the heck does this work?", KiwiLightApp::ShowHelpWindow); - help.AddSubmenuItem(helpme); - - menubar.AddItem(help); - - return menubar; -} - -/** - * Starts the thread that constantly updates KiwiLight's streams. - */ -void KiwiLightApp::LaunchStreamingThread(UIMode newMode) { - if(newMode != UIMode::UI_PAUSING) { - streamThreadEnabled = true; - KiwiLightApp::mode = newMode; - std::cout << "Starting Stream Thread..." << std::endl; - KiwiLightApp::streamingThread = g_thread_new("stream monitor", GThreadFunc(KiwiLightApp::UpdateStreamsConstantly), NULL); - } -} - -/** - * Messages the streaming thread to stop and waits until it does - */ -void KiwiLightApp::StopStreamingThread() { - if(streamThreadEnabled) { - streamThreadEnabled = false; - KiwiLightApp::mode = UIMode::UI_PAUSING; - g_thread_join(KiwiLightApp::streamingThread); - } -} - -/** - * Closes the config editor (if it is open) - * @param saveFirst when true, causes the editor to save the open configuration to file. - */ -void KiwiLightApp::CloseEditor(bool saveFirst) { - if(saveFirst) { - KiwiLightApp::configeditor.Save(); - } - - KiwiLightApp::configeditor.Close(); - OpenConfigurationFromFile(KiwiLightApp::configeditor.GetFileName()); -} - -/** - * Causes the opened editor to begin the target learn process. - */ -void KiwiLightApp::StartEditorLearningTarget() { - KiwiLightApp::configeditor.StartLearningTarget(); -} - -/** - * Causes the editor to start learning distance constants. - */ -void KiwiLightApp::StartEditorLearningDistance() { - KiwiLightApp::configeditor.StartLearningDistance(); -} - -/** - * Causes the editor to recheck and reapply the user's UDP address and port - */ -void KiwiLightApp::EditorReconnectUDP() { - KiwiLightApp::configeditor.ReconnectUDPFromEditor(); -} - -/** - * Causes the editor to connect the UDP from the overview panel. - */ -void KiwiLightApp::EditorConnectUDPFromOverview() { - KiwiLightApp::configeditor.ReconnectUDPFromOverview(); -} - -/** - * Causes KiwiLight to open a new camera on the given index. - */ -void KiwiLightApp::OpenNewCameraOnIndex(int index) { - if(KiwiLightApp::currentCameraIndex != index || !KiwiLightApp::camera.isOpened()) { - KiwiLightApp::currentCameraIndex = index; - UIMode currentMode = KiwiLightApp::mode; - - if(KiwiLightApp::camera.isOpened()) { - KiwiLightApp::camera.~VideoCapture(); - } - - KiwiLightApp::camera = VideoCapture(index); - - //set the auto exposure menu in shell because opencv cant do it - //if this is not set then exposure cannot be set - - std::cout << "Configuring Auto Exposure setting on new camera" << std::endl; - Shell::ExecuteCommand( - std::string("v4l2-ctl -d ") + - std::to_string(index) + - std::string(" --set-ctrl=exposure_auto=1") - ); - - //set the text box on main UI - KiwiLightApp::cameraIndexBox.SetValue((double) index); - - //set editor text boxes if necessary - if(currentMode == UIMode::UI_EDITOR) { - KiwiLightApp::configeditor.SetCameraIndexBoxes(index); - } - } -} - -/** - * This method is ONLY to be used if KiwiLight is working headless (no UI)!!!!!!! - * Opens new camera without updating UI elements - */ -void KiwiLightApp::InitCameraOnly(int index) { - std::cout << "Configuring Auto Exposure setting on new camera" << std::endl; - Shell::ExecuteCommand( - std::string("v4l2-ctl -d ") + - std::to_string(index) + - std::string(" --set-ctrl=exposure_auto=1") - ); - - KiwiLightApp::camera = VideoCapture(index); -} - - -void KiwiLightApp::ReconnectUDP(std::string newAddress, int newPort) { - KiwiLightApp::udpSender = UDP(newAddress, newPort); -} - - -void KiwiLightApp::ReconnectUDP(std::string newAddress, int newPort, bool block) { - KiwiLightApp::udpSender = UDP(newAddress, newPort, block); -} - - -void KiwiLightApp::SendOverUDP(std::string message) { - KiwiLightApp::udpSender.Send(message); -} - -/** - * Causes the editor to apply all camera settings to the video stream. - */ -void KiwiLightApp::EditorApplyCameraSettings() { - KiwiLightApp::StopStreamingThread(); - KiwiLightApp::configeditor.ApplyCameraSettings(); - KiwiLightApp::LaunchStreamingThread(UIMode::UI_EDITOR); -} - -/** - * Causes the editor to connect tot a different camera using index from the overview panel. - */ -void KiwiLightApp::EditorOpenNewCameraFromOverview(){ - //we don't need to do stream things here because it is all handled in OpenNewCameraOnIndex() - KiwiLightApp::configeditor.OpenNewCameraFromOverview(); -} - -/** - * Updates KiwiLight's utilities depending on it's state. - */ -void KiwiLightApp::UpdateApp() { - try { - if(KiwiLightApp::mode == UIMode::UI_EDITOR) { - KiwiLightApp::configeditor.Update(); - } - - //update the camera error label based on how successful thread is being - if(lastImageGrabSuccessful) { - //wait for the output image to be updated by other thread - while(KiwiLightApp::outImgInUse) { - usleep(10); - } - KiwiLightApp::outImgInUse = true; - KiwiLightApp::outputImage.Update(KiwiLightApp::lastFrameGrabImage); - KiwiLightApp::outImgInUse = false; - KiwiLightApp::cameraStatusLabel.SetText(""); - } else { - KiwiLightApp::cameraStatusLabel.SetText("Camera Error!"); - KiwiLightApp::cameraFailures++; - - if(KiwiLightApp::cameraFailures > 50) { - //attempt to reconnect the camera stream - OpenNewCameraFromMainIndex(); - KiwiLightApp::cameraFailures = 0; - } - } - } catch(cv::Exception ex) { - std::cout << "An OpenCv Exception was encountered while running the Main thread!" << std::endl; - std::cout << "ex.what(): " << ex.what() << std::endl; - KiwiLightApp::lastImageGrabSuccessful = false; - } catch(std::invalid_argument ex) { - std::cout << "A std::invalid_argument Exception was encountered while running the Main thread!" << std::endl; - std::cout << "ex.what(): " << ex.what() << std::endl; - } -} - -/** - * Updates the streams nonstop until mode is set to UI_QUITTING - */ -void KiwiLightApp::UpdateStreamsConstantly() { - //now because some cameras like the jevois take a little longer for the stream to start, we will wait until it gives us a good frame - //to avoid the VIDIOC_QBUF: Invalid Argument barage. - bool retrieveSuccess = false; - while(!retrieveSuccess && KiwiLightApp::mode != UIMode::UI_PAUSING && streamThreadEnabled) { - usleep(250000); //give camera some time to adjust and do things - bool grabSuccess = KiwiLightApp::camera.grab(); - if(grabSuccess) { - Mat img; - retrieveSuccess = KiwiLightApp::camera.retrieve(img); - } - } - - std::cout << "Camera Stream confirmed." << std::endl; - - while(KiwiLightApp::mode != UIMode::UI_PAUSING && streamThreadEnabled) { - KiwiLightApp::UpdateStreams(); - } -} - -/** - * Updates KiwiLight's video streams. - */ -void KiwiLightApp::UpdateStreams() { - try { - //attempt to loop the things - Mat displayImage; - switch(KiwiLightApp::mode) { - case UIMode::UI_STREAM: { - displayImage = KiwiLightApp::TakeImage(); - } - break; - case UIMode::UI_RUNNER: { - std::string output = KiwiLightApp::runner.Iterate(); - KiwiLightApp::runner.GetLastFrameSuccessful(); //boolean - displayImage = KiwiLightApp::runner.GetOutputImage(); - - //if the udp is enabled, send the message - if(KiwiLightApp::udpEnabled) { - KiwiLightApp::udpSender.Send(output); - } - } - break; - case UIMode::UI_EDITOR: { - KiwiLightApp::configeditor.UpdateImageOnly(); //boolean - displayImage = KiwiLightApp::configeditor.GetOutputImage(); - - std::string output = KiwiLightApp::configeditor.GetLastFrameResult(); //gets the results of the last runner iteration - - //send if udp enabled - if(KiwiLightApp::udpEnabled) { - KiwiLightApp::udpSender.Send(output); - } - } - break; - } - // if successful, update the display image - if(KiwiLightApp::lastImageGrabSuccessful) { - //wait for out image to be used by other thread - while(KiwiLightApp::outImgInUse) { - usleep(10); - } - KiwiLightApp::outImgInUse = true; - KiwiLightApp::lastFrameGrabImage = displayImage; - KiwiLightApp::outImgInUse = false; - } - } catch(cv::Exception ex) { - std::cout << "An OpenCv Exception was encountered while running the Streaming thread!" << std::endl; - std::cout << "ex.what(): " << ex.what() << std::endl; - KiwiLightApp::lastImageGrabSuccessful = false; - } catch(std::invalid_argument ex) { - std::cout << "A std::invalid_argument Exception was encountered while running the Streaming thread!" << std::endl; - std::cout << "ex.what(): " << ex.what() << std::endl; - } -} - -/** - * Opens a new videostream on the index that the user selects. - */ -void KiwiLightApp::OpenNewCameraFromMainIndex() { - OpenNewCameraOnIndex((int) KiwiLightApp::cameraIndexBox.GetValue()); -} - -/** - * Enables or disables the runner's UDP. - */ -void KiwiLightApp::ToggleUDP() { - KiwiLightApp::udpEnabled = !KiwiLightApp::udpEnabled; - - //set the button text - KiwiLightApp::toggleUDPButton.SetText((KiwiLightApp::udpEnabled ? "Disable UDP" : "Enable UDP")); - - //set the buttons in the config editor if necessary - if(KiwiLightApp::mode == UIMode::UI_EDITOR) { - KiwiLightApp::configeditor.SetUDPEnabledLabels(KiwiLightApp::udpEnabled); - } -} - -/** - * Causes KiwiLight to create and open a new configuration. - */ -void KiwiLightApp::NewConfiguration() { - //set mode to stream and open a new editor. - KiwiLightApp::mode = UIMode::UI_STREAM; - EditConfiguration(); -} - -/** - * Causes KiwiLight to open the editor for the selected configuration. - * @param currentMode The UIMode active when callback was triggered - */ -void KiwiLightApp::EditConfiguration() { - //since this is a callback, close streamer - UIMode currentMode = KiwiLightApp::mode; - std::string pathToOpen = ""; - StopStreamingThread(); - - if(currentMode == UIMode::UI_STREAM) { - //find generic.xml (in /home/user/KiwiLightData/confs) - char *homedir = getenv("HOME"); - if(homedir == NULL) { - std::cout << "The HOME environment variable could not be found." << std::endl; - return; - } else { - pathToOpen = std::string(homedir) + "/KiwiLightData/confs/generic.xml"; - } - } else if(currentMode == UIMode::UI_RUNNER) { - std::cout << "taking runner path" << std::endl; - pathToOpen = KiwiLightApp::runner.GetFileName(); - } else if(currentMode == UIMode::UI_PAUSING) { - std::cout << "WARNING: UI mode unclear. Make sure EditConfiguration() is called before stream thread is terminated" << std::endl; - } - KiwiLightApp::configeditor = ConfigEditor(pathToOpen); - LaunchStreamingThread(UIMode::UI_EDITOR); -} - -/** - * Causes KiwiLight to open a new configuration. - */ -void KiwiLightApp::OpenConfiguration() { - StopStreamingThread(); - FileChooser chooser = FileChooser(false, ""); - std::string fileToOpen = chooser.Show(); - - OpenConfigurationFromFile(fileToOpen); - LaunchStreamingThread(UIMode::UI_RUNNER); -} - -/** - * Causes KiwiLight to open the configuration specified by the file - */ -void KiwiLightApp::OpenConfigurationFromFile(std::string fileName) { - XMLDocument newDoc = XMLDocument(fileName); - UIMode newMode = UIMode::UI_STREAM; - if(newDoc.HasContents()) { - KiwiLightApp::confInfo.LoadConfig(newDoc); - KiwiLightApp::runner = Runner(fileName, true); - - //open the specified camera - int camIndex = std::stoi(newDoc.GetTagsByName("camera")[0].GetAttributesByName("index")[0].Value()); - OpenNewCameraOnIndex(camIndex); - newMode = UIMode::UI_RUNNER; - } else { - std::cout << "New Document either empty or not specified. Taking no action." << std::endl; - } -} - -/** - * Causes KiwiLight to close the currently opened configuration. - */ -void KiwiLightApp::CloseConfiguration() { - KiwiLightApp::confInfo.Clear(); - KiwiLightApp::mode = UIMode::UI_STREAM; -} - -/** - * Causes KiwiLight to exit. - */ -void KiwiLightApp::Quit() { - StopStreamingThread(); - gtk_main_quit(); -} - -/** - * Causes KiwiLight to show the about window. - */ -void KiwiLightApp::ShowAboutWindow() { - AboutWindow win = AboutWindow(GTK_WINDOW_TOPLEVEL); - win.Show(); -} - -/** - * Causes KiwiLight to show the help window. - */ -void KiwiLightApp::ShowHelpWindow() { - HelpWindow win = HelpWindow(GTK_WINDOW_TOPLEVEL); - win.Show(); -} +#include "KiwiLight.h" + +/** + * Source file for the KiwiLightApp class. + * Written By: Brach Knutson + */ + +using namespace cv; +using namespace KiwiLight; + +//define some static vars for KiwiLightApp. Vars will be defined for real on call to Create(); +VideoCapture KiwiLightApp::camera; +UDP KiwiLightApp::udpSender; +Runner KiwiLightApp::runner; +ConfigEditor KiwiLightApp::configeditor; +GThread *KiwiLightApp::streamingThread; +UIMode KiwiLightApp::mode = UIMode::UI_STREAM; +bool KiwiLightApp::lastImageGrabSuccessful = false; +bool KiwiLightApp::udpEnabled = false; +bool KiwiLightApp::streamThreadEnabled = true; //acts as a kind of "enable switch" for the streamthread because it seems to like starting when its not supposed to +bool KiwiLightApp::outImgInUse = false; +Mat KiwiLightApp::lastFrameGrabImage; +Window KiwiLightApp::win; +ConfigPanel KiwiLightApp::confInfo; +NumberBox KiwiLightApp::cameraIndexBox; +Label KiwiLightApp::cameraStatusLabel; +Image KiwiLightApp::outputImage; +Button KiwiLightApp::toggleUDPButton; +int KiwiLightApp::cameraFailures; +int KiwiLightApp::currentCameraIndex = 100; + +/** + * Initializes GTK and builds KiwiLight + */ +void KiwiLightApp::Create(int argc, char *argv[]) { + KiwiLightApp::mode = UIMode::UI_PAUSING; + KiwiLightApp::cameraFailures = 0; + KiwiLightApp:currentCameraIndex = 100; //just to define index. Camera will only open if currentCameraindex != 100 + + KiwiLightApp::udpSender = UDP("127.0.0.1", 3695); + + gtk_init(&argc, &argv); + win = Window(GTK_WINDOW_TOPLEVEL); + Panel content = Panel(false, 0); + MenuBar menubar = KiwiLightApp::CreateMenuBar(); + content.Pack_start(menubar.GetWidget(), false, false, 0); + + Panel ribbon = Panel(true, 0); + Image logo = Image("banner_small.png"); + ribbon.Pack_start(logo.GetWidget(), false, false, 0); + + Separator sep = Separator(false); + ribbon.Pack_start(sep.GetWidget(), false, false, 0); + + Panel cameraSelectionPanel = Panel(false, 0); + Panel numberBoxPanel = Panel(true, 0); + Label numberBoxLabel = Label("Camera: "); + numberBoxPanel.Pack_start(numberBoxLabel.GetWidget(), false, false, 0); + + KiwiLightApp::cameraIndexBox = NumberBox(0, 10, 1, 0); + numberBoxPanel.Pack_start(KiwiLightApp::cameraIndexBox.GetWidget(), false, false, 0); + + cameraSelectionPanel.Pack_start(numberBoxPanel.GetWidget(), false, false, 0); + + Button openCameraButton = Button("Open", KiwiLightApp::OpenNewCameraFromMainIndex); + cameraSelectionPanel.Pack_start(openCameraButton.GetWidget(), false, false, 0); + + ribbon.Pack_start(cameraSelectionPanel.GetWidget(), false, false, 0); + + KiwiLightApp::cameraStatusLabel = Label(""); + ribbon.Pack_start(cameraStatusLabel.GetWidget(), false, false, 0); + + content.Pack_start(ribbon.GetWidget(), false, false, 0); + + Panel body = Panel(true, 0); + Panel configInfoPanel = Panel(false, 0); + KiwiLightApp::confInfo = ConfigPanel(XMLDocument("")); + configInfoPanel.Pack_start(KiwiLightApp::confInfo.GetWidget(), true, true, 0); + + Panel configButtonPanel = Panel(true, 0); + Button editButton = Button("Edit", KiwiLightApp::EditConfiguration); + configButtonPanel.Pack_start(editButton.GetWidget(), true, true, 0); + + KiwiLightApp::toggleUDPButton = Button("Enable UDP", ToggleUDP); + configButtonPanel.Pack_start(KiwiLightApp::toggleUDPButton.GetWidget(), true, true, 0); + + configInfoPanel.Pack_start(configButtonPanel.GetWidget(), true, false, 0); + body.Pack_start(configInfoPanel.GetWidget(), true, true, 0); + + KiwiLightApp::outputImage = Image(ImageColorspace::RGB); + body.Pack_start(KiwiLightApp::outputImage.GetWidget(), true, true, 0); + + content.Pack_start(body.GetWidget(), false, false, 0); + + win.SetPane(content); + win.SetCSS("ui/Style.css"); + win.SetOnAppClosed(KiwiLightApp::Quit); + win.SetInterval(75, KiwiLightApp::UpdateApp); + + OpenNewCameraOnIndex(0); +} + +/** + * Starts KiwiLight. + */ +void KiwiLightApp::Start() { + win.Show(); + KiwiLightApp::LaunchStreamingThread(UIMode::UI_STREAM); + win.Main(); +} + +/** + * Returns KiwiLight's runner. + */ +Runner KiwiLightApp::GetRunner() { return runner; } + +/** + * Returns KiwiLight's config editor. + */ +ConfigEditor KiwiLightApp::GetEditor() { return configeditor; } + +/** + * Takes an image with the KiwiLight camera and returns it + */ +Mat KiwiLightApp::TakeImage() { + Mat img; + if(KiwiLightApp::camera.isOpened()) { + bool success = KiwiLightApp::camera.grab(); + + if(success) { + success = KiwiLightApp::camera.retrieve(img); + } + KiwiLightApp::lastImageGrabSuccessful = success; + + //additionally... + if(img.empty()) { + lastImageGrabSuccessful = false; + } + } + + return img; +} + +/** + * Returns the value of KiwiLight's camera's property on the given ID (ID from opencv constants). + */ +double KiwiLightApp::GetCameraProperty(int propId) { + return KiwiLightApp::camera.get(propId); +} + +/** + * Returns true if KiwiLight's camera is open, false otherwise + */ +bool KiwiLightApp::CameraOpen() { + return KiwiLightApp::camera.isOpened(); +} + +/** + * Sets a property value on KiwiLight's camera to value. + */ +void KiwiLightApp::SetCameraProperty(int propId, double value) { + KiwiLightApp::camera.set(propId, value); +} + +/** + * Returns true if last image take was successful, false otherwise. + */ +bool KiwiLightApp::LastImageCaptureSuccessful() { + return KiwiLightApp::lastImageGrabSuccessful; +} + +UDP KiwiLightApp::GetUDP() { + return KiwiLightApp::udpSender; +} + +/** + * Returns KiwiLight's menu bar + */ +MenuBar KiwiLightApp::CreateMenuBar() { + MenuBar menubar = MenuBar(); + menubar.SetName("hover_gray"); + MenuItem file = MenuItem("File"); + SubMenuItem addConfig = SubMenuItem("New Configuration", KiwiLightApp::NewConfiguration); + file.AddSubmenuItem(addConfig); + + SubMenuItem openConfig = SubMenuItem("Open Configuration", KiwiLightApp::OpenConfiguration); + file.AddSubmenuItem(openConfig); + + SubMenuItem stopConfig = SubMenuItem("Close Config", KiwiLightApp::CloseConfiguration); + file.AddSubmenuItem(stopConfig); + + + SubMenuItem quit = SubMenuItem("Quit", KiwiLightApp::Quit); + file.AddSubmenuItem(quit); + + menubar.AddItem(file); + + MenuItem help = MenuItem("Help"); + SubMenuItem about = SubMenuItem("About", KiwiLightApp::ShowAboutWindow); + help.AddSubmenuItem(about); + + SubMenuItem helpme = SubMenuItem("How the heck does this work?", KiwiLightApp::ShowHelpWindow); + help.AddSubmenuItem(helpme); + + menubar.AddItem(help); + + return menubar; +} + +/** + * Starts the thread that constantly updates KiwiLight's streams. + */ +void KiwiLightApp::LaunchStreamingThread(UIMode newMode) { + if(newMode != UIMode::UI_PAUSING) { + streamThreadEnabled = true; + KiwiLightApp::mode = newMode; + std::cout << "Starting Stream Thread..." << std::endl; + KiwiLightApp::streamingThread = g_thread_new("stream monitor", GThreadFunc(KiwiLightApp::UpdateStreamsConstantly), NULL); + } +} + +/** + * Messages the streaming thread to stop and waits until it does + */ +void KiwiLightApp::StopStreamingThread() { + if(streamThreadEnabled) { + streamThreadEnabled = false; + KiwiLightApp::mode = UIMode::UI_PAUSING; + g_thread_join(KiwiLightApp::streamingThread); + } +} + +/** + * Closes the config editor (if it is open) + * @param saveFirst when true, causes the editor to save the open configuration to file. + */ +void KiwiLightApp::CloseEditor(bool saveFirst) { + if(saveFirst) { + KiwiLightApp::configeditor.Save(); + } + + KiwiLightApp::configeditor.Close(); + OpenConfigurationFromFile(KiwiLightApp::configeditor.GetFileName()); +} + +/** + * Causes the opened editor to begin the target learn process. + */ +void KiwiLightApp::StartEditorLearningTarget() { + KiwiLightApp::configeditor.StartLearningTarget(); +} + +/** + * Causes the editor to start learning distance constants. + */ +void KiwiLightApp::StartEditorLearningDistance() { + KiwiLightApp::configeditor.StartLearningDistance(); +} + +/** + * Causes the editor to recheck and reapply the user's UDP address and port + */ +void KiwiLightApp::EditorReconnectUDP() { + KiwiLightApp::configeditor.ReconnectUDPFromEditor(); +} + +/** + * Causes the editor to connect the UDP from the overview panel. + */ +void KiwiLightApp::EditorConnectUDPFromOverview() { + KiwiLightApp::configeditor.ReconnectUDPFromOverview(); +} + +/** + * Causes KiwiLight to open a new camera on the given index. + */ +void KiwiLightApp::OpenNewCameraOnIndex(int index) { + if(KiwiLightApp::currentCameraIndex != index || !KiwiLightApp::camera.isOpened()) { + KiwiLightApp::currentCameraIndex = index; + UIMode currentMode = KiwiLightApp::mode; + + if(KiwiLightApp::camera.isOpened()) { + KiwiLightApp::camera.~VideoCapture(); + } + + KiwiLightApp::camera = VideoCapture(index); + + //set the auto exposure menu in shell because opencv cant do it + //if this is not set then exposure cannot be set + + std::cout << "Configuring Auto Exposure setting on new camera" << std::endl; + Shell::ExecuteCommand( + std::string("v4l2-ctl -d ") + + std::to_string(index) + + std::string(" --set-ctrl=exposure_auto=1") + ); + + //set the text box on main UI + KiwiLightApp::cameraIndexBox.SetValue((double) index); + + //set editor text boxes if necessary + if(currentMode == UIMode::UI_EDITOR) { + KiwiLightApp::configeditor.SetCameraIndexBoxes(index); + } + } +} + +/** + * This method is ONLY to be used if KiwiLight is working headless (no UI)!!!!!!! + * Opens new camera without updating UI elements + */ +void KiwiLightApp::InitCameraOnly(int index) { + std::cout << "Configuring Auto Exposure setting on new camera" << std::endl; + Shell::ExecuteCommand( + std::string("v4l2-ctl -d ") + + std::to_string(index) + + std::string(" --set-ctrl=exposure_auto=1") + ); + + KiwiLightApp::camera = VideoCapture(index); +} + + +void KiwiLightApp::ReconnectUDP(std::string newAddress, int newPort) { + KiwiLightApp::udpSender = UDP(newAddress, newPort); +} + + +void KiwiLightApp::ReconnectUDP(std::string newAddress, int newPort, bool block) { + KiwiLightApp::udpSender = UDP(newAddress, newPort, block); +} + + +void KiwiLightApp::SendOverUDP(std::string message) { + KiwiLightApp::udpSender.Send(message); +} + +/** + * Causes the editor to apply all camera settings to the video stream. + */ +void KiwiLightApp::EditorApplyCameraSettings() { + KiwiLightApp::StopStreamingThread(); + KiwiLightApp::configeditor.ApplyCameraSettings(); + KiwiLightApp::LaunchStreamingThread(UIMode::UI_EDITOR); +} + +/** + * Causes the editor to connect tot a different camera using index from the overview panel. + */ +void KiwiLightApp::EditorOpenNewCameraFromOverview(){ + //we don't need to do stream things here because it is all handled in OpenNewCameraOnIndex() + KiwiLightApp::configeditor.OpenNewCameraFromOverview(); +} + +/** + * Updates KiwiLight's utilities depending on it's state. + */ +void KiwiLightApp::UpdateApp() { + try { + if(KiwiLightApp::mode == UIMode::UI_EDITOR) { + KiwiLightApp::configeditor.Update(); + } + + //update the camera error label based on how successful thread is being + if(lastImageGrabSuccessful) { + //wait for the output image to be updated by other thread + while(KiwiLightApp::outImgInUse) { + usleep(10); + } + KiwiLightApp::outImgInUse = true; + KiwiLightApp::outputImage.Update(KiwiLightApp::lastFrameGrabImage); + KiwiLightApp::outImgInUse = false; + KiwiLightApp::cameraStatusLabel.SetText(""); + } else { + KiwiLightApp::cameraStatusLabel.SetText("Camera Error!"); + KiwiLightApp::cameraFailures++; + + if(KiwiLightApp::cameraFailures > 50) { + //attempt to reconnect the camera stream + OpenNewCameraFromMainIndex(); + KiwiLightApp::cameraFailures = 0; + } + } + } catch(cv::Exception ex) { + std::cout << "An OpenCv Exception was encountered while running the Main thread!" << std::endl; + std::cout << "ex.what(): " << ex.what() << std::endl; + KiwiLightApp::lastImageGrabSuccessful = false; + } catch(std::invalid_argument ex) { + std::cout << "A std::invalid_argument Exception was encountered while running the Main thread!" << std::endl; + std::cout << "ex.what(): " << ex.what() << std::endl; + } +} + +/** + * Updates the streams nonstop until mode is set to UI_QUITTING + */ +void KiwiLightApp::UpdateStreamsConstantly() { + //now because some cameras like the jevois take a little longer for the stream to start, we will wait until it gives us a good frame + //to avoid the VIDIOC_QBUF: Invalid Argument barage. + bool retrieveSuccess = false; + while(!retrieveSuccess && KiwiLightApp::mode != UIMode::UI_PAUSING && streamThreadEnabled) { + usleep(250000); //give camera some time to adjust and do things + bool grabSuccess = KiwiLightApp::camera.grab(); + if(grabSuccess) { + Mat img; + retrieveSuccess = KiwiLightApp::camera.retrieve(img); + } + } + + std::cout << "Camera Stream confirmed." << std::endl; + + while(KiwiLightApp::mode != UIMode::UI_PAUSING && streamThreadEnabled) { + KiwiLightApp::UpdateStreams(); + } +} + +/** + * Updates KiwiLight's video streams. + */ +void KiwiLightApp::UpdateStreams() { + try { + //attempt to loop the things + Mat displayImage; + switch(KiwiLightApp::mode) { + case UIMode::UI_STREAM: { + displayImage = KiwiLightApp::TakeImage(); + } + break; + case UIMode::UI_RUNNER: { + std::string output = KiwiLightApp::runner.Iterate(); + KiwiLightApp::runner.GetLastFrameSuccessful(); //boolean + displayImage = KiwiLightApp::runner.GetOutputImage(); + + //if the udp is enabled, send the message + if(KiwiLightApp::udpEnabled) { + KiwiLightApp::udpSender.Send(output); + } + } + break; + case UIMode::UI_EDITOR: { + KiwiLightApp::configeditor.UpdateImageOnly(); //boolean + displayImage = KiwiLightApp::configeditor.GetOutputImage(); + + std::string output = KiwiLightApp::configeditor.GetLastFrameResult(); //gets the results of the last runner iteration + + //send if udp enabled + if(KiwiLightApp::udpEnabled) { + KiwiLightApp::udpSender.Send(output); + } + } + break; + } + // if successful, update the display image + if(KiwiLightApp::lastImageGrabSuccessful) { + //wait for out image to be used by other thread + while(KiwiLightApp::outImgInUse) { + usleep(10); + } + KiwiLightApp::outImgInUse = true; + KiwiLightApp::lastFrameGrabImage = displayImage; + KiwiLightApp::outImgInUse = false; + } + } catch(cv::Exception ex) { + std::cout << "An OpenCv Exception was encountered while running the Streaming thread!" << std::endl; + std::cout << "ex.what(): " << ex.what() << std::endl; + KiwiLightApp::lastImageGrabSuccessful = false; + } catch(std::invalid_argument ex) { + std::cout << "A std::invalid_argument Exception was encountered while running the Streaming thread!" << std::endl; + std::cout << "ex.what(): " << ex.what() << std::endl; + } +} + +/** + * Opens a new videostream on the index that the user selects. + */ +void KiwiLightApp::OpenNewCameraFromMainIndex() { + OpenNewCameraOnIndex((int) KiwiLightApp::cameraIndexBox.GetValue()); +} + +/** + * Enables or disables the runner's UDP. + */ +void KiwiLightApp::ToggleUDP() { + KiwiLightApp::udpEnabled = !KiwiLightApp::udpEnabled; + + //set the button text + KiwiLightApp::toggleUDPButton.SetText((KiwiLightApp::udpEnabled ? "Disable UDP" : "Enable UDP")); + + //set the buttons in the config editor if necessary + if(KiwiLightApp::mode == UIMode::UI_EDITOR) { + KiwiLightApp::configeditor.SetUDPEnabledLabels(KiwiLightApp::udpEnabled); + } +} + +/** + * Causes KiwiLight to create and open a new configuration. + */ +void KiwiLightApp::NewConfiguration() { + //set mode to stream and open a new editor. + KiwiLightApp::mode = UIMode::UI_STREAM; + EditConfiguration(); +} + +/** + * Causes KiwiLight to open the editor for the selected configuration. + * @param currentMode The UIMode active when callback was triggered + */ +void KiwiLightApp::EditConfiguration() { + //since this is a callback, close streamer + UIMode currentMode = KiwiLightApp::mode; + std::string pathToOpen = ""; + StopStreamingThread(); + + if(currentMode == UIMode::UI_STREAM) { + //find generic.xml (in /home/user/KiwiLightData/confs) + char *homedir = getenv("HOME"); + if(homedir == NULL) { + std::cout << "The HOME environment variable could not be found." << std::endl; + return; + } else { + pathToOpen = std::string(homedir) + "/KiwiLightData/confs/generic.xml"; + } + } else if(currentMode == UIMode::UI_RUNNER) { + std::cout << "taking runner path" << std::endl; + pathToOpen = KiwiLightApp::runner.GetFileName(); + } else if(currentMode == UIMode::UI_PAUSING) { + std::cout << "WARNING: UI mode unclear. Make sure EditConfiguration() is called before stream thread is terminated" << std::endl; + } + KiwiLightApp::configeditor = ConfigEditor(pathToOpen); + LaunchStreamingThread(UIMode::UI_EDITOR); +} + +/** + * Causes KiwiLight to open a new configuration. + */ +void KiwiLightApp::OpenConfiguration() { + StopStreamingThread(); + FileChooser chooser = FileChooser(false, ""); + std::string fileToOpen = chooser.Show(); + + OpenConfigurationFromFile(fileToOpen); + LaunchStreamingThread(UIMode::UI_RUNNER); +} + +/** + * Causes KiwiLight to open the configuration specified by the file + */ +void KiwiLightApp::OpenConfigurationFromFile(std::string fileName) { + XMLDocument newDoc = XMLDocument(fileName); + UIMode newMode = UIMode::UI_STREAM; + if(newDoc.HasContents()) { + KiwiLightApp::confInfo.LoadConfig(newDoc); + KiwiLightApp::runner = Runner(fileName, true); + + //open the specified camera + int camIndex = std::stoi(newDoc.GetTagsByName("camera")[0].GetAttributesByName("index")[0].Value()); + OpenNewCameraOnIndex(camIndex); + newMode = UIMode::UI_RUNNER; + } else { + std::cout << "New Document either empty or not specified. Taking no action." << std::endl; + } +} + +/** + * Causes KiwiLight to close the currently opened configuration. + */ +void KiwiLightApp::CloseConfiguration() { + KiwiLightApp::confInfo.Clear(); + KiwiLightApp::mode = UIMode::UI_STREAM; +} + +/** + * Causes KiwiLight to exit. + */ +void KiwiLightApp::Quit() { + StopStreamingThread(); + gtk_main_quit(); +} + +/** + * Causes KiwiLight to show the about window. + */ +void KiwiLightApp::ShowAboutWindow() { + AboutWindow win = AboutWindow(GTK_WINDOW_TOPLEVEL); + win.Show(); +} + +/** + * Causes KiwiLight to show the help window. + */ +void KiwiLightApp::ShowHelpWindow() { + HelpWindow win = HelpWindow(GTK_WINDOW_TOPLEVEL); + win.Show(); +} diff --git a/KiwiLight - Vision Code/KiwiLight.h b/KiwiLight - Vision Code/KiwiLight.h index c0e759f..59a74e8 100644 --- a/KiwiLight - Vision Code/KiwiLight.h +++ b/KiwiLight - Vision Code/KiwiLight.h @@ -1,124 +1,124 @@ -#ifndef KiwiLight_H -#define KiwiLight_H - -#include -#include -#include -#include "ui/UI.h" -#include "util/Util.h" -#include "runner/Runner.h" - -/** - * the main header for the KiwiLight program and namespace - * Written by: Brach Knutson - */ - - -using namespace cv; - -namespace KiwiLight { - - enum UIMode { - UI_STREAM, - UI_RUNNER, - UI_EDITOR, - UI_PAUSING - }; - - /** - * Its KiwiLight! Handles everything from building, starting, calling and things in the UI. - */ - class KiwiLightApp { - public: - //UI building and starting - static void Create(int argc, char *argv[]); - static void Start(); - - //UI accessors - static Runner GetRunner(); - static ConfigEditor GetEditor(); - - //camera accessors - static Mat TakeImage(); - static double GetCameraProperty(int propId); - static bool CameraOpen(); - - //camera mutators - static void SetCameraProperty(int propId, double value); - - //general accessors - static bool LastImageCaptureSuccessful(); - static UIMode CurrentMode(); - static UDP GetUDP(); - - //misc. UI callbacks - static void CloseEditor(bool saveFirst); - static void StartEditorLearningTarget(); - static void StartEditorLearningDistance(); - static void EditorReconnectUDP(); - static void ToggleUDP(); - static void EditorSetImageResolutionFromOverview(); - static void EditorConnectUDPFromOverview(); - static void EditorApplyCameraSettings(); - static void EditorOpenNewCameraFromOverview(); - static void OpenNewCameraOnIndex(int index); - static void InitCameraOnly(int index); - static void ReconnectUDP(std::string newAddress, int newPort); - static void ReconnectUDP(std::string newAddress, int newPort, bool block); - static void SendOverUDP(std::string message); - - //thread utilities - static void LaunchStreamingThread(UIMode newMode); - static void StopStreamingThread(); - - private: - //menu bar utility - static MenuBar CreateMenuBar(); - - //UI constant callbacks - static void UpdateApp(); - static void UpdateStreamsConstantly(); - static void UpdateStreams(); - - //UI button callbacks - static void OpenNewCameraFromMainIndex(); - static void NewConfiguration(); - static void EditConfiguration(); - static void OpenConfiguration(); - static void OpenConfigurationFromFile(std::string fileName); - static void CloseConfiguration(); - static void Quit(); - static void ShowAboutWindow(); - static void ShowHelpWindow(); - - //essential objects - static Runner runner; - static ConfigEditor configeditor; - static VideoCapture camera; - static UDP udpSender; - static GThread *streamingThread; - - //utilities - static UIMode mode; - static bool lastImageGrabSuccessful; - static bool udpEnabled; - static bool streamThreadEnabled; - static bool outImgInUse; - static Mat lastFrameGrabImage; - static int currentCameraIndex; - - //ui widgets - static Window win; - static ConfigPanel confInfo; - static NumberBox cameraIndexBox; - static Label cameraStatusLabel; - static Image outputImage; - static Button toggleUDPButton; - - //counters - static int cameraFailures; - }; - -} - -#endif +#ifndef KiwiLight_H +#define KiwiLight_H + +#include +#include +#include +#include "ui/UI.h" +#include "util/Util.h" +#include "runner/Runner.h" + +/** + * the main header for the KiwiLight program and namespace + * Written by: Brach Knutson + */ + + +using namespace cv; + +namespace KiwiLight { + + enum UIMode { + UI_STREAM, + UI_RUNNER, + UI_EDITOR, + UI_PAUSING + }; + + /** + * Its KiwiLight! Handles everything from building, starting, calling and things in the UI. + */ + class KiwiLightApp { + public: + //UI building and starting + static void Create(int argc, char *argv[]); + static void Start(); + + //UI accessors + static Runner GetRunner(); + static ConfigEditor GetEditor(); + + //camera accessors + static Mat TakeImage(); + static double GetCameraProperty(int propId); + static bool CameraOpen(); + + //camera mutators + static void SetCameraProperty(int propId, double value); + + //general accessors + static bool LastImageCaptureSuccessful(); + static UIMode CurrentMode(); + static UDP GetUDP(); + + //misc. UI callbacks + static void CloseEditor(bool saveFirst); + static void StartEditorLearningTarget(); + static void StartEditorLearningDistance(); + static void EditorReconnectUDP(); + static void ToggleUDP(); + static void EditorSetImageResolutionFromOverview(); + static void EditorConnectUDPFromOverview(); + static void EditorApplyCameraSettings(); + static void EditorOpenNewCameraFromOverview(); + static void OpenNewCameraOnIndex(int index); + static void InitCameraOnly(int index); + static void ReconnectUDP(std::string newAddress, int newPort); + static void ReconnectUDP(std::string newAddress, int newPort, bool block); + static void SendOverUDP(std::string message); + + //thread utilities + static void LaunchStreamingThread(UIMode newMode); + static void StopStreamingThread(); + + private: + //menu bar utility + static MenuBar CreateMenuBar(); + + //UI constant callbacks + static void UpdateApp(); + static void UpdateStreamsConstantly(); + static void UpdateStreams(); + + //UI button callbacks + static void OpenNewCameraFromMainIndex(); + static void NewConfiguration(); + static void EditConfiguration(); + static void OpenConfiguration(); + static void OpenConfigurationFromFile(std::string fileName); + static void CloseConfiguration(); + static void Quit(); + static void ShowAboutWindow(); + static void ShowHelpWindow(); + + //essential objects + static Runner runner; + static ConfigEditor configeditor; + static VideoCapture camera; + static UDP udpSender; + static GThread *streamingThread; + + //utilities + static UIMode mode; + static bool lastImageGrabSuccessful; + static bool udpEnabled; + static bool streamThreadEnabled; + static bool outImgInUse; + static Mat lastFrameGrabImage; + static int currentCameraIndex; + + //ui widgets + static Window win; + static ConfigPanel confInfo; + static NumberBox cameraIndexBox; + static Label cameraStatusLabel; + static Image outputImage; + static Button toggleUDPButton; + + //counters + static int cameraFailures; + }; + +} + +#endif diff --git a/KiwiLight - Vision Code/Main.cpp b/KiwiLight - Vision Code/Main.cpp index f06f306..ae2b9df 100644 --- a/KiwiLight - Vision Code/Main.cpp +++ b/KiwiLight - Vision Code/Main.cpp @@ -1,145 +1,145 @@ -#include "KiwiLight.h" - -/** - * 3695 thing here - */ - -using namespace cv; -using namespace KiwiLight; - -void ShowHelp() { - std::cout << "KIWILIGHT HELP\n"; - std::cout << "Usage: Kiwilight [options] [config files]\n"; - std::cout << "\n"; - std::cout << "KiwiLight is a smart vision solution for FRC applications developed by FRC Team 3695: Foximus Prime.\n"; - std::cout << "\n"; - std::cout << "Options:\n"; - std::cout << "-c: Runs a config file, or multiple config files.\n"; - std::cout << "-h: Displays this help window.\n"; - std::cout << std::endl; -} - - -void RunConfigs(std::vector filePaths) { - //init needed KiwiLight variables - KiwiLightApp::InitCameraOnly(0); - KiwiLightApp::ReconnectUDP("127.0.0.1", 3695, false); - - std::cout << "Command: Run Configs\n"; - std::cout << "Config files found: " << filePaths.size() << "\n"; - std::cout << "Ensure that all config files share the same UDP Address and Port." << std::endl; - - //initalize the runners - std::cout << "\nInitalizing Runners" << std::endl; - const int numTargets = (const int) filePaths.size(); - Runner runners[numTargets]; - int totalContours = 0; - for(int i=0; i confsToRun; - - for(int i=0; i 4) { - if(argument.substr(argument.length() - 4) == ".xml") { - confsToRun.push_back(argument); - } - } - } - - if(runningConfig) { - RunConfigs(confsToRun); - } - } - - return 0; -} +#include "KiwiLight.h" + +/** + * 3695 thing here + */ + +using namespace cv; +using namespace KiwiLight; + +void ShowHelp() { + std::cout << "KIWILIGHT HELP\n"; + std::cout << "Usage: Kiwilight [options] [config files]\n"; + std::cout << "\n"; + std::cout << "KiwiLight is a smart vision solution for FRC applications developed by FRC Team 3695: Foximus Prime.\n"; + std::cout << "\n"; + std::cout << "Options:\n"; + std::cout << "-c: Runs a config file, or multiple config files.\n"; + std::cout << "-h: Displays this help window.\n"; + std::cout << std::endl; +} + + +void RunConfigs(std::vector filePaths) { + //init needed KiwiLight variables + KiwiLightApp::InitCameraOnly(0); + KiwiLightApp::ReconnectUDP("127.0.0.1", 3695, false); + + std::cout << "Command: Run Configs\n"; + std::cout << "Config files found: " << filePaths.size() << "\n"; + std::cout << "Ensure that all config files share the same UDP Address and Port." << std::endl; + + //initalize the runners + std::cout << "\nInitalizing Runners" << std::endl; + const int numTargets = (const int) filePaths.size(); + Runner runners[numTargets]; + int totalContours = 0; + for(int i=0; i confsToRun; + + for(int i=0; i 4) { + if(argument.substr(argument.length() - 4) == ".xml") { + confsToRun.push_back(argument); + } + } + } + + if(runningConfig) { + RunConfigs(confsToRun); + } + } + + return 0; +} diff --git a/KiwiLight - Vision Code/Makefile b/KiwiLight - Vision Code/Makefile index eafbc43..1cd6579 100644 --- a/KiwiLight - Vision Code/Makefile +++ b/KiwiLight - Vision Code/Makefile @@ -1,202 +1,202 @@ - - -# Makefile for the KiwiLight program. -# Written By: Brach Knutson - -CXX = g++ -CV = `pkg-config --cflags --libs opencv` -GTK = `pkg-config --cflags --libs gtk+-3.0` - -#UI -bin/ui/ConfirmationDialog.o: ui/ConfirmationDialog.cpp - $(CXX) -c -o bin/ui/ConfirmationDialog.o ui/ConfirmationDialog.cpp $(GTK) - -bin/ui/SubMenuItem.o: ui/SubMenuItem.cpp - $(CXX) -c -o bin/ui/SubMenuItem.o ui/SubMenuItem.cpp $(GTK) - -bin/ui/MenuItem.o: ui/MenuItem.cpp - $(CXX) -c -o bin/ui/MenuItem.o ui/MenuItem.cpp $(GTK) - -bin/ui/MenuBar.o: ui/MenuBar.cpp - $(CXX) -c -o bin/ui/MenuBar.o ui/MenuBar.cpp $(GTK) - -bin/ui/Button.o: ui/Button.cpp - $(CXX) -c -o bin/ui/Button.o ui/Button.cpp $(GTK) - -bin/ui/Label.o: ui/Label.cpp - $(CXX) -c -o bin/ui/Label.o ui/Label.cpp $(GTK) - -bin/ui/LabeledSlider.o: ui/LabeledSlider.cpp - $(CXX) -c -o bin/ui/LabeledSlider.o ui/LabeledSlider.cpp $(GTK) - -bin/ui/AboutWindow.o: ui/AboutWindow.cpp - $(CXX) -c -o bin/ui/AboutWindow.o ui/AboutWindow.cpp $(GTK) - -bin/ui/HelpWindow.o: ui/HelpWindow.cpp - $(CXX) -c -o bin/ui/HelpWindow.o ui/HelpWindow.cpp $(GTK) - -bin/ui/Panel.o: ui/Panel.cpp - $(CXX) -c -o bin/ui/Panel.o ui/Panel.cpp $(GTK) - -bin/ui/Scrollable.o: ui/Scrollable.cpp - $(CXX) -c -o bin/ui/Scrollable.o ui/Scrollable.cpp $(GTK) - -bin/ui/Frame.o: ui/Frame.cpp - $(CXX) -c -o bin/ui/Frame.o ui/Frame.cpp $(GTK) - -bin/ui/Separator.o: ui/Separator.cpp - $(CXX) -c -o bin/ui/Separator.o ui/Separator.cpp $(GTK) - -bin/ui/Slider.o: ui/Slider.cpp - $(CXX) -c -o bin/ui/Slider.o ui/Slider.cpp $(GTK) - -bin/ui/CheckBox.o: ui/CheckBox.cpp - $(CXX) -c -o bin/ui/CheckBox.o ui/CheckBox.cpp $(GTK) - -bin/ui/TextBox.o: ui/TextBox.cpp - $(CXX) -c -o bin/ui/TextBox.o ui/TextBox.cpp $(GTK) - -bin/ui/NumberBox.o: ui/NumberBox.cpp - $(CXX) -c -o bin/ui/NumberBox.o ui/NumberBox.cpp $(GTK) - -bin/ui/FileChooser.o: ui/FileChooser.cpp - $(CXX) -c -o bin/ui/FileChooser.o ui/FileChooser.cpp $(GTK) - -bin/ui/TabView.o: ui/TabView.cpp - $(CXX) -c -o bin/ui/TabView.o ui/TabView.cpp $(GTK) - -bin/ui/PopupTextBox.o: ui/PopupTextBox.cpp - $(CXX) -c -o bin/ui/PopupTextBox.o ui/PopupTextBox.cpp $(GTK) - -bin/ui/Image.o: ui/Image.cpp - $(CXX) -c -o bin/ui/Image.o ui/Image.cpp $(GTK) $(CV) - -bin/ui/Window.o: ui/Window.cpp - $(CXX) -c -o bin/ui/Window.o ui/Window.cpp $(GTK) - -bin/ui/ConfigPanel.o: ui/ConfigPanel.cpp - $(CXX) -c -o bin/ui/ConfigPanel.o ui/ConfigPanel.cpp $(GTK) - -bin/ui/OverviewPanel.o: ui/OverviewPanel.cpp - $(CXX) -c -o bin/ui/OverviewPanel.o ui/OverviewPanel.cpp $(GTK) $(CV) - -bin/ui/Settings.o: ui/Settings.cpp - $(CXX) -c -o bin/ui/Settings.o ui/Settings.cpp $(GTK) - -bin/ui/PreprocessorEditor.o: ui/PreprocessorEditor.cpp - $(CXX) -c -o bin/ui/PreprocessorEditor.o ui/PreprocessorEditor.cpp $(CV) $(GTK) - -bin/ui/PostprocessorEditor.o: ui/PostprocessorEditor.cpp - $(CXX) -c -o bin/ui/PostprocessorEditor.o ui/PostprocessorEditor.cpp $(CV) $(GTK) - -bin/ui/RunnerEditor.o: ui/RunnerEditor.cpp - $(CXX) -c -o bin/ui/RunnerEditor.o ui/RunnerEditor.cpp $(CV) $(GTK) - -bin/ui/ConfigEditor.o: ui/ConfigEditor.cpp - $(CXX) -c -o bin/ui/ConfigEditor.o ui/ConfigEditor.cpp $(CV) $(GTK) - -bin/ui/CameraSetting.o: ui/CameraSetting.cpp - $(CXX) -c -o bin/ui/CameraSetting.o ui/CameraSetting.cpp $(GTK) - -lib/UI.a: bin/ui/ConfirmationDialog.o bin/ui/SubMenuItem.o bin/ui/MenuItem.o bin/ui/MenuBar.o bin/ui/Button.o bin/ui/Label.o bin/ui/LabeledSlider.o bin/ui/AboutWindow.o bin/ui/HelpWindow.o bin/ui/Panel.o bin/ui/Scrollable.o bin/ui/Frame.o bin/ui/Separator.o bin/ui/Slider.o bin/ui/CheckBox.o bin/ui/TextBox.o bin/ui/NumberBox.o bin/ui/FileChooser.o bin/ui/TabView.o bin/ui/PopupTextBox.o bin/ui/Image.o bin/ui/Window.o bin/ui/ConfigPanel.o bin/ui/OverviewPanel.o bin/ui/Settings.o bin/ui/PreprocessorEditor.o bin/ui/PostprocessorEditor.o bin/ui/RunnerEditor.o bin/ui/ConfigEditor.o bin/ui/CameraSetting.o - ar rs lib/UI.a bin/ui/ConfirmationDialog.o bin/ui/SubMenuItem.o bin/ui/MenuItem.o bin/ui/MenuBar.o bin/ui/Button.o bin/ui/Label.o bin/ui/LabeledSlider.o bin/ui/AboutWindow.o bin/ui/HelpWindow.o bin/ui/Panel.o bin/ui/Scrollable.o bin/ui/Frame.o bin/ui/Separator.o bin/ui/Slider.o bin/ui/CheckBox.o bin/ui/TextBox.o bin/ui/NumberBox.o bin/ui/FileChooser.o bin/ui/TabView.o bin/ui/PopupTextBox.o bin/ui/Image.o bin/ui/Window.o bin/ui/ConfigPanel.o bin/ui/OverviewPanel.o bin/ui/Settings.o bin/ui/PreprocessorEditor.o bin/ui/PostprocessorEditor.o bin/ui/RunnerEditor.o bin/ui/ConfigEditor.o bin/ui/CameraSetting.o - -#UTIL -bin/util/Flags.o: util/Flags.cpp - $(CXX) -c -o bin/util/Flags.o util/Flags.cpp $(GTK) - -bin/util/Shell.o: util/Shell.cpp - $(CXX) -c -o bin/util/Shell.o util/Shell.cpp $(GTK) - -bin/util/Util.o: util/Util.cpp - $(CXX) -c -o bin/util/Util.o util/Util.cpp $(GTK) - -bin/util/StringUtils.o: util/StringUtils.cpp - $(CXX) -c -o bin/util/StringUtils.o util/StringUtils.cpp $(GTK) - -bin/util/DataUtils.o: util/DataUtils.cpp - $(CXX) -c -o bin/util/DataUtils.o util/DataUtils.cpp $(GTK) - -bin/util/UDP.o: util/UDP.cpp - $(CXX) -c -o bin/util/UDP.o util/UDP.cpp $(GTK) - -bin/util/XMLDocument.o: util/XMLDocument.cpp - $(CXX) -c -o bin/util/XMLDocument.o util/XMLDocument.cpp $(GTK) - -bin/util/XMLTag.o: util/XMLTag.cpp - $(CXX) -c -o bin/util/XMLTag.o util/XMLTag.cpp $(GTK) - -bin/util/XMLTagAttribute.o: util/XMLTagAttribute.cpp - $(CXX) -c -o bin/util/XMLTagAttribute.o util/XMLTagAttribute.cpp $(GTK) - -bin/util/SettingPair.o: util/SettingPair.cpp - $(CXX) -c -o bin/util/SettingPair.o util/SettingPair.cpp $(GTK) - -bin/util/Color.o: util/Color.cpp - $(CXX) -c -o bin/util/Color.o util/Color.cpp $(GTK) $(CV) - -lib/Util.a: bin/util/Flags.o bin/util/Shell.o bin/util/Util.o bin/util/StringUtils.o bin/util/DataUtils.o bin/util/UDP.o bin/util/XMLDocument.o bin/util/XMLTag.o bin/util/XMLTagAttribute.o bin/util/SettingPair.o bin/util/Color.o - ar rs lib/Util.a bin/util/Flags.o bin/util/Shell.o bin/util/Util.o bin/util/StringUtils.o bin/util/DataUtils.o bin/util/UDP.o bin/util/XMLDocument.o bin/util/XMLTag.o bin/util/XMLTagAttribute.o bin/util/SettingPair.o bin/util/Color.o - -#RUNNER -bin/runner/Contour.o: runner/Contour.cpp - $(CXX) -c -o bin/runner/Contour.o runner/Contour.cpp $(GTK) $(CV) - -bin/runner/ExampleContour.o: runner/ExampleContour.cpp - $(CXX) -c -o bin/runner/ExampleContour.o runner/ExampleContour.cpp $(GTK) $(CV) - -bin/runner/ExampleTarget.o: runner/ExampleTarget.cpp - $(CXX) -c -o bin/runner/ExampleTarget.o runner/ExampleTarget.cpp $(GTK) $(CV) - -bin/runner/PostProcessor.o: runner/PostProcessor.cpp - $(CXX) -c -o bin/runner/PostProcessor.o runner/PostProcessor.cpp $(GTK) $(CV) - -bin/runner/PreProcessor.o: runner/PreProcessor.cpp - $(CXX) -c -o bin/runner/PreProcessor.o runner/PreProcessor.cpp $(GTK) $(CV) - -bin/runner/CameraFrame.o: runner/CameraFrame.cpp - $(CXX) -c -o bin/runner/CameraFrame.o runner/CameraFrame.cpp $(GTK) $(CV) - -bin/runner/ConfigLearner.o: runner/ConfigLearner.cpp - $(CXX) -c -o bin/runner/ConfigLearner.o runner/ConfigLearner.cpp $(GTK) $(CV) - -bin/runner/Runner.o: runner/Runner.cpp - $(CXX) -c -o bin/runner/Runner.o runner/Runner.cpp $(GTK) $(CV) - -bin/runner/TargetDistanceLearner.o: runner/TargetDistanceLearner.cpp - $(CXX) -c -o bin/runner/TargetDistanceLearner.o runner/TargetDistanceLearner.cpp $(GTK) $(CV) - -bin/runner/Target.o: runner/Target.cpp - $(CXX) -c -o bin/runner/Target.o runner/Target.cpp $(GTK) $(CV) - -bin/runner/TargetTroubleshooter.o: runner/TargetTroubleshooter.cpp - $(CXX) -c -o bin/runner/TargetTroubleshooter.o runner/TargetTroubleshooter.cpp $(GTK) $(CV) - -bin/runner/RunnerSettings.o: runner/RunnerSettings.cpp - $(CXX) -c -o bin/runner/RunnerSettings.o runner/RunnerSettings.cpp - -lib/Runner.a: bin/runner/Contour.o bin/runner/ExampleContour.o bin/runner/ExampleTarget.o bin/runner/PostProcessor.o bin/runner/PreProcessor.o bin/runner/CameraFrame.o bin/runner/ConfigLearner.o bin/runner/Runner.o bin/runner/Target.o bin/runner/TargetDistanceLearner.o bin/runner/TargetTroubleshooter.o bin/runner/RunnerSettings.o - ar rs lib/Runner.a bin/runner/Runner.o bin/runner/ConfigLearner.o bin/runner/Contour.o bin/runner/ExampleContour.o bin/runner/ExampleTarget.o bin/runner/PostProcessor.o bin/runner/PreProcessor.o bin/runner/CameraFrame.o bin/runner/Target.o bin/runner/TargetDistanceLearner.o bin/runner/TargetTroubleshooter.o bin/runner/RunnerSettings.o - -#MAIN FILE -bin/KiwiLight.o: KiwiLight.cpp - $(CXX) -c -o bin/KiwiLight.o KiwiLight.cpp $(CV) $(GTK) - -KiwiLight: Main.cpp bin/KiwiLight.o lib/UI.a lib/Util.a lib/Runner.a - $(CXX) -o KiwiLight Main.cpp bin/KiwiLight.o lib/UI.a lib/Runner.a lib/Util.a $(CV) $(GTK) - -#SET UP THE FILES AND FOLDERS -setup: - mkdir lib - mkdir bin - mkdir bin/ui - mkdir bin/util - mkdir bin/runner - -#UNINSTALL -clean: - $(info Uninstalling KiwiLight Executables...) - rm -r bin - rm -r lib - make setup - rm KiwiLight + + +# Makefile for the KiwiLight program. +# Written By: Brach Knutson + +CXX = g++ +CV = `pkg-config --cflags --libs opencv` +GTK = `pkg-config --cflags --libs gtk+-3.0` + +#UI +bin/ui/ConfirmationDialog.o: ui/ConfirmationDialog.cpp + $(CXX) -c -o bin/ui/ConfirmationDialog.o ui/ConfirmationDialog.cpp $(GTK) + +bin/ui/SubMenuItem.o: ui/SubMenuItem.cpp + $(CXX) -c -o bin/ui/SubMenuItem.o ui/SubMenuItem.cpp $(GTK) + +bin/ui/MenuItem.o: ui/MenuItem.cpp + $(CXX) -c -o bin/ui/MenuItem.o ui/MenuItem.cpp $(GTK) + +bin/ui/MenuBar.o: ui/MenuBar.cpp + $(CXX) -c -o bin/ui/MenuBar.o ui/MenuBar.cpp $(GTK) + +bin/ui/Button.o: ui/Button.cpp + $(CXX) -c -o bin/ui/Button.o ui/Button.cpp $(GTK) + +bin/ui/Label.o: ui/Label.cpp + $(CXX) -c -o bin/ui/Label.o ui/Label.cpp $(GTK) + +bin/ui/LabeledSlider.o: ui/LabeledSlider.cpp + $(CXX) -c -o bin/ui/LabeledSlider.o ui/LabeledSlider.cpp $(GTK) + +bin/ui/AboutWindow.o: ui/AboutWindow.cpp + $(CXX) -c -o bin/ui/AboutWindow.o ui/AboutWindow.cpp $(GTK) + +bin/ui/HelpWindow.o: ui/HelpWindow.cpp + $(CXX) -c -o bin/ui/HelpWindow.o ui/HelpWindow.cpp $(GTK) + +bin/ui/Panel.o: ui/Panel.cpp + $(CXX) -c -o bin/ui/Panel.o ui/Panel.cpp $(GTK) + +bin/ui/Scrollable.o: ui/Scrollable.cpp + $(CXX) -c -o bin/ui/Scrollable.o ui/Scrollable.cpp $(GTK) + +bin/ui/Frame.o: ui/Frame.cpp + $(CXX) -c -o bin/ui/Frame.o ui/Frame.cpp $(GTK) + +bin/ui/Separator.o: ui/Separator.cpp + $(CXX) -c -o bin/ui/Separator.o ui/Separator.cpp $(GTK) + +bin/ui/Slider.o: ui/Slider.cpp + $(CXX) -c -o bin/ui/Slider.o ui/Slider.cpp $(GTK) + +bin/ui/CheckBox.o: ui/CheckBox.cpp + $(CXX) -c -o bin/ui/CheckBox.o ui/CheckBox.cpp $(GTK) + +bin/ui/TextBox.o: ui/TextBox.cpp + $(CXX) -c -o bin/ui/TextBox.o ui/TextBox.cpp $(GTK) + +bin/ui/NumberBox.o: ui/NumberBox.cpp + $(CXX) -c -o bin/ui/NumberBox.o ui/NumberBox.cpp $(GTK) + +bin/ui/FileChooser.o: ui/FileChooser.cpp + $(CXX) -c -o bin/ui/FileChooser.o ui/FileChooser.cpp $(GTK) + +bin/ui/TabView.o: ui/TabView.cpp + $(CXX) -c -o bin/ui/TabView.o ui/TabView.cpp $(GTK) + +bin/ui/PopupTextBox.o: ui/PopupTextBox.cpp + $(CXX) -c -o bin/ui/PopupTextBox.o ui/PopupTextBox.cpp $(GTK) + +bin/ui/Image.o: ui/Image.cpp + $(CXX) -c -o bin/ui/Image.o ui/Image.cpp $(GTK) $(CV) + +bin/ui/Window.o: ui/Window.cpp + $(CXX) -c -o bin/ui/Window.o ui/Window.cpp $(GTK) + +bin/ui/ConfigPanel.o: ui/ConfigPanel.cpp + $(CXX) -c -o bin/ui/ConfigPanel.o ui/ConfigPanel.cpp $(GTK) + +bin/ui/OverviewPanel.o: ui/OverviewPanel.cpp + $(CXX) -c -o bin/ui/OverviewPanel.o ui/OverviewPanel.cpp $(GTK) $(CV) + +bin/ui/Settings.o: ui/Settings.cpp + $(CXX) -c -o bin/ui/Settings.o ui/Settings.cpp $(GTK) + +bin/ui/PreprocessorEditor.o: ui/PreprocessorEditor.cpp + $(CXX) -c -o bin/ui/PreprocessorEditor.o ui/PreprocessorEditor.cpp $(CV) $(GTK) + +bin/ui/PostprocessorEditor.o: ui/PostprocessorEditor.cpp + $(CXX) -c -o bin/ui/PostprocessorEditor.o ui/PostprocessorEditor.cpp $(CV) $(GTK) + +bin/ui/RunnerEditor.o: ui/RunnerEditor.cpp + $(CXX) -c -o bin/ui/RunnerEditor.o ui/RunnerEditor.cpp $(CV) $(GTK) + +bin/ui/ConfigEditor.o: ui/ConfigEditor.cpp + $(CXX) -c -o bin/ui/ConfigEditor.o ui/ConfigEditor.cpp $(CV) $(GTK) + +bin/ui/CameraSetting.o: ui/CameraSetting.cpp + $(CXX) -c -o bin/ui/CameraSetting.o ui/CameraSetting.cpp $(GTK) + +lib/UI.a: bin/ui/ConfirmationDialog.o bin/ui/SubMenuItem.o bin/ui/MenuItem.o bin/ui/MenuBar.o bin/ui/Button.o bin/ui/Label.o bin/ui/LabeledSlider.o bin/ui/AboutWindow.o bin/ui/HelpWindow.o bin/ui/Panel.o bin/ui/Scrollable.o bin/ui/Frame.o bin/ui/Separator.o bin/ui/Slider.o bin/ui/CheckBox.o bin/ui/TextBox.o bin/ui/NumberBox.o bin/ui/FileChooser.o bin/ui/TabView.o bin/ui/PopupTextBox.o bin/ui/Image.o bin/ui/Window.o bin/ui/ConfigPanel.o bin/ui/OverviewPanel.o bin/ui/Settings.o bin/ui/PreprocessorEditor.o bin/ui/PostprocessorEditor.o bin/ui/RunnerEditor.o bin/ui/ConfigEditor.o bin/ui/CameraSetting.o + ar rs lib/UI.a bin/ui/ConfirmationDialog.o bin/ui/SubMenuItem.o bin/ui/MenuItem.o bin/ui/MenuBar.o bin/ui/Button.o bin/ui/Label.o bin/ui/LabeledSlider.o bin/ui/AboutWindow.o bin/ui/HelpWindow.o bin/ui/Panel.o bin/ui/Scrollable.o bin/ui/Frame.o bin/ui/Separator.o bin/ui/Slider.o bin/ui/CheckBox.o bin/ui/TextBox.o bin/ui/NumberBox.o bin/ui/FileChooser.o bin/ui/TabView.o bin/ui/PopupTextBox.o bin/ui/Image.o bin/ui/Window.o bin/ui/ConfigPanel.o bin/ui/OverviewPanel.o bin/ui/Settings.o bin/ui/PreprocessorEditor.o bin/ui/PostprocessorEditor.o bin/ui/RunnerEditor.o bin/ui/ConfigEditor.o bin/ui/CameraSetting.o + +#UTIL +bin/util/Flags.o: util/Flags.cpp + $(CXX) -c -o bin/util/Flags.o util/Flags.cpp $(GTK) + +bin/util/Shell.o: util/Shell.cpp + $(CXX) -c -o bin/util/Shell.o util/Shell.cpp $(GTK) + +bin/util/Util.o: util/Util.cpp + $(CXX) -c -o bin/util/Util.o util/Util.cpp $(GTK) + +bin/util/StringUtils.o: util/StringUtils.cpp + $(CXX) -c -o bin/util/StringUtils.o util/StringUtils.cpp $(GTK) + +bin/util/DataUtils.o: util/DataUtils.cpp + $(CXX) -c -o bin/util/DataUtils.o util/DataUtils.cpp $(GTK) + +bin/util/UDP.o: util/UDP.cpp + $(CXX) -c -o bin/util/UDP.o util/UDP.cpp $(GTK) + +bin/util/XMLDocument.o: util/XMLDocument.cpp + $(CXX) -c -o bin/util/XMLDocument.o util/XMLDocument.cpp $(GTK) + +bin/util/XMLTag.o: util/XMLTag.cpp + $(CXX) -c -o bin/util/XMLTag.o util/XMLTag.cpp $(GTK) + +bin/util/XMLTagAttribute.o: util/XMLTagAttribute.cpp + $(CXX) -c -o bin/util/XMLTagAttribute.o util/XMLTagAttribute.cpp $(GTK) + +bin/util/SettingPair.o: util/SettingPair.cpp + $(CXX) -c -o bin/util/SettingPair.o util/SettingPair.cpp $(GTK) + +bin/util/Color.o: util/Color.cpp + $(CXX) -c -o bin/util/Color.o util/Color.cpp $(GTK) $(CV) + +lib/Util.a: bin/util/Flags.o bin/util/Shell.o bin/util/Util.o bin/util/StringUtils.o bin/util/DataUtils.o bin/util/UDP.o bin/util/XMLDocument.o bin/util/XMLTag.o bin/util/XMLTagAttribute.o bin/util/SettingPair.o bin/util/Color.o + ar rs lib/Util.a bin/util/Flags.o bin/util/Shell.o bin/util/Util.o bin/util/StringUtils.o bin/util/DataUtils.o bin/util/UDP.o bin/util/XMLDocument.o bin/util/XMLTag.o bin/util/XMLTagAttribute.o bin/util/SettingPair.o bin/util/Color.o + +#RUNNER +bin/runner/Contour.o: runner/Contour.cpp + $(CXX) -c -o bin/runner/Contour.o runner/Contour.cpp $(GTK) $(CV) + +bin/runner/ExampleContour.o: runner/ExampleContour.cpp + $(CXX) -c -o bin/runner/ExampleContour.o runner/ExampleContour.cpp $(GTK) $(CV) + +bin/runner/ExampleTarget.o: runner/ExampleTarget.cpp + $(CXX) -c -o bin/runner/ExampleTarget.o runner/ExampleTarget.cpp $(GTK) $(CV) + +bin/runner/PostProcessor.o: runner/PostProcessor.cpp + $(CXX) -c -o bin/runner/PostProcessor.o runner/PostProcessor.cpp $(GTK) $(CV) + +bin/runner/PreProcessor.o: runner/PreProcessor.cpp + $(CXX) -c -o bin/runner/PreProcessor.o runner/PreProcessor.cpp $(GTK) $(CV) + +bin/runner/CameraFrame.o: runner/CameraFrame.cpp + $(CXX) -c -o bin/runner/CameraFrame.o runner/CameraFrame.cpp $(GTK) $(CV) + +bin/runner/ConfigLearner.o: runner/ConfigLearner.cpp + $(CXX) -c -o bin/runner/ConfigLearner.o runner/ConfigLearner.cpp $(GTK) $(CV) + +bin/runner/Runner.o: runner/Runner.cpp + $(CXX) -c -o bin/runner/Runner.o runner/Runner.cpp $(GTK) $(CV) + +bin/runner/TargetDistanceLearner.o: runner/TargetDistanceLearner.cpp + $(CXX) -c -o bin/runner/TargetDistanceLearner.o runner/TargetDistanceLearner.cpp $(GTK) $(CV) + +bin/runner/Target.o: runner/Target.cpp + $(CXX) -c -o bin/runner/Target.o runner/Target.cpp $(GTK) $(CV) + +bin/runner/TargetTroubleshooter.o: runner/TargetTroubleshooter.cpp + $(CXX) -c -o bin/runner/TargetTroubleshooter.o runner/TargetTroubleshooter.cpp $(GTK) $(CV) + +bin/runner/RunnerSettings.o: runner/RunnerSettings.cpp + $(CXX) -c -o bin/runner/RunnerSettings.o runner/RunnerSettings.cpp + +lib/Runner.a: bin/runner/Contour.o bin/runner/ExampleContour.o bin/runner/ExampleTarget.o bin/runner/PostProcessor.o bin/runner/PreProcessor.o bin/runner/CameraFrame.o bin/runner/ConfigLearner.o bin/runner/Runner.o bin/runner/Target.o bin/runner/TargetDistanceLearner.o bin/runner/TargetTroubleshooter.o bin/runner/RunnerSettings.o + ar rs lib/Runner.a bin/runner/Runner.o bin/runner/ConfigLearner.o bin/runner/Contour.o bin/runner/ExampleContour.o bin/runner/ExampleTarget.o bin/runner/PostProcessor.o bin/runner/PreProcessor.o bin/runner/CameraFrame.o bin/runner/Target.o bin/runner/TargetDistanceLearner.o bin/runner/TargetTroubleshooter.o bin/runner/RunnerSettings.o + +#MAIN FILE +bin/KiwiLight.o: KiwiLight.cpp + $(CXX) -c -o bin/KiwiLight.o KiwiLight.cpp $(CV) $(GTK) + +KiwiLight: Main.cpp bin/KiwiLight.o lib/UI.a lib/Util.a lib/Runner.a + $(CXX) -o KiwiLight Main.cpp bin/KiwiLight.o lib/UI.a lib/Runner.a lib/Util.a $(CV) $(GTK) + +#SET UP THE FILES AND FOLDERS +setup: + mkdir lib + mkdir bin + mkdir bin/ui + mkdir bin/util + mkdir bin/runner + +#UNINSTALL +clean: + $(info Uninstalling KiwiLight Executables...) + rm -r bin + rm -r lib + make setup + rm KiwiLight diff --git a/KiwiLight - Vision Code/confs/generic.xml b/KiwiLight - Vision Code/confs/generic.xml index 1f655e2..c3b2000 100644 --- a/KiwiLight - Vision Code/confs/generic.xml +++ b/KiwiLight - Vision Code/confs/generic.xml @@ -1,61 +1,61 @@ - - - 600 - 400 - - - 35 - 5 - 150 - -1 - 2 - 2800 - 25 - 0 - 3 - 5 - 0 - 0 - 0 - - - - - 0 - 0 - - - 250 - 145 - - - 75 - 3 - 5 - - 80 - 255 - 255 - - - - - - 0.000000 - 0.000000 - 0.000000 - 0.900000 - 1.000000 - 500.000000 - - 12 - 300 - 36 - -0.1 - - -
127.0.0.1
- 3695 -
-
-
+ + + 600 + 400 + + + 35 + 5 + 150 + -1 + 2 + 2800 + 25 + 0 + 3 + 5 + 0 + 0 + 0 + + + + + 0 + 0 + + + 250 + 145 + + + 75 + 3 + 5 + + 80 + 255 + 255 + + + + + + 0.000000 + 0.000000 + 0.000000 + 0.900000 + 1.000000 + 500.000000 + + 12 + 300 + 36 + -0.1 + + +
127.0.0.1
+ 3695 +
+
+
diff --git a/KiwiLight - Vision Code/generic.xml b/KiwiLight - Vision Code/generic.xml index 830b8ed..486b534 100644 --- a/KiwiLight - Vision Code/generic.xml +++ b/KiwiLight - Vision Code/generic.xml @@ -1,54 +1,54 @@ - - - 600 - 400 - 1 - 512 - 1 - 512 - 1 - 512 - 512 - 512 - - - - - 0 - 0 - - - 250 - 145 - - - 75 - 3 - 5 - - 80 - 255 - 255 - - - - - - 0.000000 - 0.000000 - 0.000000 - 0.900000 - 1.000000 - 500.000000 - - 12 - 300 - 36 - -0.1 - - -
127.0.0.1
- 3695 -
-
-
+ + + 600 + 400 + 1 + 512 + 1 + 512 + 1 + 512 + 512 + 512 + + + + + 0 + 0 + + + 250 + 145 + + + 75 + 3 + 5 + + 80 + 255 + 255 + + + + + + 0.000000 + 0.000000 + 0.000000 + 0.900000 + 1.000000 + 500.000000 + + 12 + 300 + 36 + -0.1 + + +
127.0.0.1
+ 3695 +
+
+
diff --git a/KiwiLight - Vision Code/install.sh b/KiwiLight - Vision Code/install.sh index 354a5ce..343fdd6 100644 --- a/KiwiLight - Vision Code/install.sh +++ b/KiwiLight - Vision Code/install.sh @@ -1,77 +1,77 @@ -# ---------------------------------- # -# # -# UNIX INSTALLER FOR KIWILIGHT # -# # -# ---------------------------------- # - -Install() { - echo "Downloading Packages" - - sudo apt-get --assume-yes install pkg-config - sudo apt-get --assume-yes install cmake - sudo apt-get --assume-yes install libgtk-3-dev - sudo apt-get --assume-yes install libv4l-dev - sudo apt-get --assume-yes install v4l-utils - - echo "Preparing to download OPENCV" - mkdir opencv - cd opencv - - echo "downloading OPENCV" - wget https://github.com/opencv/opencv/archive/3.4.5.zip - mkdir src - - echo "unzipping OPENCV" - unzip 3.4.5.zip -d src - mkdir build - cd build - - echo "Preparing to compile OPENCV" - cmake -D CMAKE_BUILD_TYPE=RELEASE \ - -D CMAKE_INSTALL_PREFIX=/usr/local \ - -D WITH_GTK_2_X=FALSE \ - -D WITH_GTK=TRUE \ - -D BUILD_TESTS=FALSE \ - ../src/opencv-3.4.5 - - echo "Compiling OPENCV (this will take a while!)" - sudo make -j2 install - sudo ldconfig - - #return back to normal directory - cd ../.. - - echo "Preparing to compile KIWILIGHT" - make setup - - echo "Compiling KIWILIGHT" - make -j2 KiwiLight - - echo "Preparing KIWILIGHT" - #install the confs folder - currentDir = $PWD - cd - mkdir KiwiLightData - mkdir KiwiLightData/confs - mkdir KiwiLightData/tmp - cp $PWD/generic.xml KiwiLightData/confs/ - echo "" >> KiwiLightData/tmp/shell_out.log - - cd $currentDir - - echo "KIWILIGHT has been successfully installed." -} - - -echo "Welcome to the KiwiLight installer!" -echo "Installing KiwiLight from the sources will download many packages and may take a long time." -echo "Would you like to continue? [y/n]: " - -read -N1 confirm -echo - -if [ ${confirm} = 'y' ]; then - Install - else - echo "Aborting." -fi +# ---------------------------------- # +# # +# UNIX INSTALLER FOR KIWILIGHT # +# # +# ---------------------------------- # + +Install() { + echo "Downloading Packages" + + sudo apt-get --assume-yes install pkg-config + sudo apt-get --assume-yes install cmake + sudo apt-get --assume-yes install libgtk-3-dev + sudo apt-get --assume-yes install libv4l-dev + sudo apt-get --assume-yes install v4l-utils + + echo "Preparing to download OPENCV" + mkdir opencv + cd opencv + + echo "downloading OPENCV" + wget https://github.com/opencv/opencv/archive/3.4.5.zip + mkdir src + + echo "unzipping OPENCV" + unzip 3.4.5.zip -d src + mkdir build + cd build + + echo "Preparing to compile OPENCV" + cmake -D CMAKE_BUILD_TYPE=RELEASE \ + -D CMAKE_INSTALL_PREFIX=/usr/local \ + -D WITH_GTK_2_X=FALSE \ + -D WITH_GTK=TRUE \ + -D BUILD_TESTS=FALSE \ + ../src/opencv-3.4.5 + + echo "Compiling OPENCV (this will take a while!)" + sudo make -j2 install + sudo ldconfig + + #return back to normal directory + cd ../.. + + echo "Preparing to compile KIWILIGHT" + make setup + + echo "Compiling KIWILIGHT" + make -j2 KiwiLight + + echo "Preparing KIWILIGHT" + #install the confs folder + currentDir = $PWD + cd + mkdir KiwiLightData + mkdir KiwiLightData/confs + mkdir KiwiLightData/tmp + cp $PWD/generic.xml KiwiLightData/confs/ + echo "" >> KiwiLightData/tmp/shell_out.log + + cd $currentDir + + echo "KIWILIGHT has been successfully installed." +} + + +echo "Welcome to the KiwiLight installer!" +echo "Installing KiwiLight from the sources will download many packages and may take a long time." +echo "Would you like to continue? [y/n]: " + +read -N1 confirm +echo + +if [ ${confirm} = 'y' ]; then + Install + else + echo "Aborting." +fi diff --git a/KiwiLight - Vision Code/runner/CameraFrame.cpp b/KiwiLight - Vision Code/runner/CameraFrame.cpp index fb9ddb2..c911e00 100644 --- a/KiwiLight - Vision Code/runner/CameraFrame.cpp +++ b/KiwiLight - Vision Code/runner/CameraFrame.cpp @@ -1,98 +1,98 @@ -#include "Runner.h" - -/** - * Source file for the CameraFrame class. - * Written By: Brach Knutson - */ - -using namespace cv; -using namespace KiwiLight; - -/** - * Creates a new CameraFrame describing information from the passed Mat. - * Precondition: "img" is already preprocessed. - */ -CameraFrame::CameraFrame(Mat img, int minimumArea) { - img.copyTo(this->image); - - //find the contours - std::vector > contours; - findContours(img, contours, RETR_EXTERNAL, CHAIN_APPROX_SIMPLE); - - //wrap the contours - std::vector targetContours; - for(int i=0; i minimumArea) { - targetContours.push_back(newContour); - } - } - - this->seenTarget = Target(0, targetContours, 0.0, 0.0, 0.0, 0.0); -} - -/** - * Groups the contours by their position in the image. - */ -std::vector CameraFrame::GetContoursGrouped() { - std::vector contours = this->seenTarget.Contours(); - std::vector groupedContours; - - for(int i=0; i insertPosValue) { - groupedContours.push_back(contourToInsert); - } else { - //find a place in the vector to insert the contour - bool objectInserted = false; - for(int k=1; k= insertPosValue) { - - //insert HERE - groupedContours.emplace(groupedContours.begin() + k); - objectInserted = true; - } - } - - //if the contour does not belong anywhere else... - if(!objectInserted) { - groupedContours.emplace(groupedContours.end(), contourToInsert); - } - } - } - - return groupedContours; -} - - -int CameraFrame::PositionValue(Contour contour) { - int imgWidth = this->image.cols; - - int pointValue = (contour.Center().y * imgWidth) + contour.Center().x; - return pointValue; -} - - -Distance CameraFrame::GetContourDistance(Contour contour) { - Point targetCenter = this->seenTarget.Center(); - - //find the amount of contour widths to the center of the target and return the distance - - double targWidth = this->seenTarget.Bounds().width; - double xDifference = targetCenter.x - contour.Center().x; - double yDifference = targetCenter.y - contour.Center().y; - - xDifference /= targWidth; - yDifference /= targWidth; - - return Distance(xDifference, yDifference); -} +#include "Runner.h" + +/** + * Source file for the CameraFrame class. + * Written By: Brach Knutson + */ + +using namespace cv; +using namespace KiwiLight; + +/** + * Creates a new CameraFrame describing information from the passed Mat. + * Precondition: "img" is already preprocessed. + */ +CameraFrame::CameraFrame(Mat img, int minimumArea) { + img.copyTo(this->image); + + //find the contours + std::vector > contours; + findContours(img, contours, RETR_EXTERNAL, CHAIN_APPROX_SIMPLE); + + //wrap the contours + std::vector targetContours; + for(int i=0; i minimumArea) { + targetContours.push_back(newContour); + } + } + + this->seenTarget = Target(0, targetContours, 0.0, 0.0, 0.0, 0.0); +} + +/** + * Groups the contours by their position in the image. + */ +std::vector CameraFrame::GetContoursGrouped() { + std::vector contours = this->seenTarget.Contours(); + std::vector groupedContours; + + for(int i=0; i insertPosValue) { + groupedContours.push_back(contourToInsert); + } else { + //find a place in the vector to insert the contour + bool objectInserted = false; + for(int k=1; k= insertPosValue) { + + //insert HERE + groupedContours.emplace(groupedContours.begin() + k); + objectInserted = true; + } + } + + //if the contour does not belong anywhere else... + if(!objectInserted) { + groupedContours.emplace(groupedContours.end(), contourToInsert); + } + } + } + + return groupedContours; +} + + +int CameraFrame::PositionValue(Contour contour) { + int imgWidth = this->image.cols; + + int pointValue = (contour.Center().y * imgWidth) + contour.Center().x; + return pointValue; +} + + +Distance CameraFrame::GetContourDistance(Contour contour) { + Point targetCenter = this->seenTarget.Center(); + + //find the amount of contour widths to the center of the target and return the distance + + double targWidth = this->seenTarget.Bounds().width; + double xDifference = targetCenter.x - contour.Center().x; + double yDifference = targetCenter.y - contour.Center().y; + + xDifference /= targWidth; + yDifference /= targWidth; + + return Distance(xDifference, yDifference); +} diff --git a/KiwiLight - Vision Code/runner/ConfigLearner.cpp b/KiwiLight - Vision Code/runner/ConfigLearner.cpp index 7bad4a6..5299f21 100644 --- a/KiwiLight - Vision Code/runner/ConfigLearner.cpp +++ b/KiwiLight - Vision Code/runner/ConfigLearner.cpp @@ -1,185 +1,185 @@ -#include "Runner.h" - -/** - * Source file for the ConfigLearner class. - * Written By: Brach Knutson - */ - -using namespace cv; -using namespace KiwiLight; - - -ConfigLearner::ConfigLearner(PreProcessor preprocessor) { - this->preprocessor = preprocessor; - this->currentlyLearning = false; - this->failedFrames = 0; -} - - -void ConfigLearner::StartLearning() { - this->currentlyLearning = true; -} - -/** - * Feeds an unprocessed image into the learner for possible processing. - */ -void ConfigLearner::FeedImage(Mat img, int minimumContourArea) { - //if the camera grab has failed and the image doesn't exist... - if(img.empty()) { - failedFrames++; - return; - } - - img.copyTo(this->original); - Mat preprocessed = this->preprocessor.ProcessImage(img); - preprocessed.copyTo(this->out); - - cvtColor(this->out, this->out, cv::COLOR_GRAY2BGR); - - //find contours and highlight all contours that are bigger than a certain area - std::vector > contours; //all contours in image - std::vector > bigContours; // contours that are bigger than minArea - findContours(preprocessed, contours, cv::RETR_EXTERNAL, cv::CHAIN_APPROX_SIMPLE); - - //find all contours that are bigger than minimumArea, then highlight them. - for(int i=0; i contour = contours[i]; - - Rect bounds = boundingRect(contour); - int area = bounds.width * bounds.height; - - if(area > minimumContourArea) { - bigContours.push_back(contour); - } - } - - if(bigContours.size() > 0) { - std::vector contourObjects; - for(int i=0; iout, targ.Bounds(), Scalar(255, 0, 0), 3); - circle(this->out, targ.Center(), 3, Scalar(0,255,0), 4); - } - - //if the learner is learning we should make a camera frame and store it for further processing - if(this->currentlyLearning) { - CameraFrame newFrame = CameraFrame(preprocessed, minimumContourArea); - this->currentFrames.push_back(newFrame); - } -} - - -ExampleTarget ConfigLearner::StopLearning(int minimumContourArea) { - this->currentlyLearning = false; - - //create a sorted list of the number of contours in each image (it is double because DataUtils sorts doubles) - std::vector numberContoursList; - for(int i=0; icurrentFrames.size(); i++) { - numberContoursList.push_back(this->currentFrames[i].GetContoursGrouped().size()); - } - - double regularNumberOfContours = DataUtils::MostCommonValue(numberContoursList); - - std::vector > groupedContours; //vector of contours grouped by their distance from target center - for(int i=0; icurrentFrames.size(); i++) { - if(currentFrames[i].GetContoursGrouped().size() == regularNumberOfContours) { - groupedContours.push_back(this->currentFrames[i].GetContoursGrouped()); - numberContoursList.push_back((double) this->currentFrames[i].NumberOfContours()); - } - } - - //go through groupedContours to get and format data. - std::vector finishedContours; - for(int i=0; i horizontalDistances = std::vector(); - std::vector verticalDistances = std::vector(); - std::vector angles = std::vector(); - std::vector solidities = std::vector(); - std::vector aspectRatios = std::vector(); - - for(int k=0; kcurrentFrames[k].GetContourDistance(contourToAnalyze); - - horizontalDistances.push_back(contourDistToCenter.x); - verticalDistances.push_back(contourDistToCenter.y); - angles.push_back(contourToAnalyze.Angle()); - solidities.push_back(contourToAnalyze.Solidity()); - aspectRatios.push_back(contourToAnalyze.AspectRatio()); - } - - horizontalDistances = DataUtils::SortLeastGreatestDouble(horizontalDistances); - verticalDistances = DataUtils::SortLeastGreatestDouble(verticalDistances); - angles = DataUtils::SortLeastGreatestDouble(angles); - solidities = DataUtils::SortLeastGreatestDouble(solidities); - aspectRatios = DataUtils::SortLeastGreatestDouble(aspectRatios); - - //record the sizes of each array so we can see how many outliers are removed - std::vector dataSizes; - dataSizes.push_back((double) horizontalDistances.size()); - dataSizes.push_back((double) verticalDistances.size()); - dataSizes.push_back((double) angles.size()); - dataSizes.push_back((double) solidities.size()); - dataSizes.push_back((double) aspectRatios.size()); - - //remove outliers - horizontalDistances = DataUtils::RemoveOutliers(horizontalDistances, 0.5); - verticalDistances = DataUtils::RemoveOutliers(verticalDistances, 0.5); - angles = DataUtils::RemoveOutliers(angles, 10.0); - solidities = DataUtils::RemoveOutliers(solidities, 0.25); - aspectRatios = DataUtils::RemoveOutliers(aspectRatios, 0.25); - - std::vector newDataSizes; - newDataSizes.push_back((double) horizontalDistances.size()); - newDataSizes.push_back((double) verticalDistances.size()); - newDataSizes.push_back((double) angles.size()); - newDataSizes.push_back((double) solidities.size()); - newDataSizes.push_back((double) aspectRatios.size()); - - double originalTotal = DataUtils::Total(dataSizes); - double removedTotal = DataUtils::Total(newDataSizes); - - double totalRemoved = originalTotal - removedTotal; - double avgRemoved = totalRemoved / newDataSizes.size(); - - double averageHorizontalDistance = DataUtils::Average(horizontalDistances); - double averageVerticaldistance = DataUtils::Average(verticalDistances); - double averageAngle = DataUtils::Average(angles); - double averageSolidity = DataUtils::Average(solidities); - double averageAspectRatio = DataUtils::Average(aspectRatios); - - SettingPair horizontalDistancePair = SettingPair(averageHorizontalDistance, 0.25); - SettingPair verticalDistancePair = SettingPair(averageVerticaldistance, 0.25); - SettingPair anglePair = SettingPair(averageAngle, 10.0); - SettingPair solidityPair = SettingPair(averageSolidity, 0.25); - SettingPair aspectRatioPair = SettingPair(averageAspectRatio, 0.25); - - ExampleContour newExampleContour = ExampleContour(i, horizontalDistancePair, verticalDistancePair, anglePair, aspectRatioPair, solidityPair, minimumContourArea); - finishedContours.push_back(newExampleContour); - - double percentComplete = (((double) i / (double) regularNumberOfContours) * 10.0) + 90.0; - } - - ExampleTarget newTarget = ExampleTarget(0, finishedContours, 0.0, 0.0, 0.0, 0.0); - - //clear info from the last learn - this->currentlyLearning = false; - this->currentFrames = std::vector(); - return newTarget; -} - - -int ConfigLearner::GetFramesLearned() { - return this->currentFrames.size(); +#include "Runner.h" + +/** + * Source file for the ConfigLearner class. + * Written By: Brach Knutson + */ + +using namespace cv; +using namespace KiwiLight; + + +ConfigLearner::ConfigLearner(PreProcessor preprocessor) { + this->preprocessor = preprocessor; + this->currentlyLearning = false; + this->failedFrames = 0; +} + + +void ConfigLearner::StartLearning() { + this->currentlyLearning = true; +} + +/** + * Feeds an unprocessed image into the learner for possible processing. + */ +void ConfigLearner::FeedImage(Mat img, int minimumContourArea) { + //if the camera grab has failed and the image doesn't exist... + if(img.empty()) { + failedFrames++; + return; + } + + img.copyTo(this->original); + Mat preprocessed = this->preprocessor.ProcessImage(img); + preprocessed.copyTo(this->out); + + cvtColor(this->out, this->out, cv::COLOR_GRAY2BGR); + + //find contours and highlight all contours that are bigger than a certain area + std::vector > contours; //all contours in image + std::vector > bigContours; // contours that are bigger than minArea + findContours(preprocessed, contours, cv::RETR_EXTERNAL, cv::CHAIN_APPROX_SIMPLE); + + //find all contours that are bigger than minimumArea, then highlight them. + for(int i=0; i contour = contours[i]; + + Rect bounds = boundingRect(contour); + int area = bounds.width * bounds.height; + + if(area > minimumContourArea) { + bigContours.push_back(contour); + } + } + + if(bigContours.size() > 0) { + std::vector contourObjects; + for(int i=0; iout, targ.Bounds(), Scalar(255, 0, 0), 3); + circle(this->out, targ.Center(), 3, Scalar(0,255,0), 4); + } + + //if the learner is learning we should make a camera frame and store it for further processing + if(this->currentlyLearning) { + CameraFrame newFrame = CameraFrame(preprocessed, minimumContourArea); + this->currentFrames.push_back(newFrame); + } +} + + +ExampleTarget ConfigLearner::StopLearning(int minimumContourArea) { + this->currentlyLearning = false; + + //create a sorted list of the number of contours in each image (it is double because DataUtils sorts doubles) + std::vector numberContoursList; + for(int i=0; icurrentFrames.size(); i++) { + numberContoursList.push_back(this->currentFrames[i].GetContoursGrouped().size()); + } + + double regularNumberOfContours = DataUtils::MostCommonValue(numberContoursList); + + std::vector > groupedContours; //vector of contours grouped by their distance from target center + for(int i=0; icurrentFrames.size(); i++) { + if(currentFrames[i].GetContoursGrouped().size() == regularNumberOfContours) { + groupedContours.push_back(this->currentFrames[i].GetContoursGrouped()); + numberContoursList.push_back((double) this->currentFrames[i].NumberOfContours()); + } + } + + //go through groupedContours to get and format data. + std::vector finishedContours; + for(int i=0; i horizontalDistances = std::vector(); + std::vector verticalDistances = std::vector(); + std::vector angles = std::vector(); + std::vector solidities = std::vector(); + std::vector aspectRatios = std::vector(); + + for(int k=0; kcurrentFrames[k].GetContourDistance(contourToAnalyze); + + horizontalDistances.push_back(contourDistToCenter.x); + verticalDistances.push_back(contourDistToCenter.y); + angles.push_back(contourToAnalyze.Angle()); + solidities.push_back(contourToAnalyze.Solidity()); + aspectRatios.push_back(contourToAnalyze.AspectRatio()); + } + + horizontalDistances = DataUtils::SortLeastGreatestDouble(horizontalDistances); + verticalDistances = DataUtils::SortLeastGreatestDouble(verticalDistances); + angles = DataUtils::SortLeastGreatestDouble(angles); + solidities = DataUtils::SortLeastGreatestDouble(solidities); + aspectRatios = DataUtils::SortLeastGreatestDouble(aspectRatios); + + //record the sizes of each array so we can see how many outliers are removed + std::vector dataSizes; + dataSizes.push_back((double) horizontalDistances.size()); + dataSizes.push_back((double) verticalDistances.size()); + dataSizes.push_back((double) angles.size()); + dataSizes.push_back((double) solidities.size()); + dataSizes.push_back((double) aspectRatios.size()); + + //remove outliers + horizontalDistances = DataUtils::RemoveOutliers(horizontalDistances, 0.5); + verticalDistances = DataUtils::RemoveOutliers(verticalDistances, 0.5); + angles = DataUtils::RemoveOutliers(angles, 10.0); + solidities = DataUtils::RemoveOutliers(solidities, 0.25); + aspectRatios = DataUtils::RemoveOutliers(aspectRatios, 0.25); + + std::vector newDataSizes; + newDataSizes.push_back((double) horizontalDistances.size()); + newDataSizes.push_back((double) verticalDistances.size()); + newDataSizes.push_back((double) angles.size()); + newDataSizes.push_back((double) solidities.size()); + newDataSizes.push_back((double) aspectRatios.size()); + + double originalTotal = DataUtils::Total(dataSizes); + double removedTotal = DataUtils::Total(newDataSizes); + + double totalRemoved = originalTotal - removedTotal; + double avgRemoved = totalRemoved / newDataSizes.size(); + + double averageHorizontalDistance = DataUtils::Average(horizontalDistances); + double averageVerticaldistance = DataUtils::Average(verticalDistances); + double averageAngle = DataUtils::Average(angles); + double averageSolidity = DataUtils::Average(solidities); + double averageAspectRatio = DataUtils::Average(aspectRatios); + + SettingPair horizontalDistancePair = SettingPair(averageHorizontalDistance, 0.25); + SettingPair verticalDistancePair = SettingPair(averageVerticaldistance, 0.25); + SettingPair anglePair = SettingPair(averageAngle, 10.0); + SettingPair solidityPair = SettingPair(averageSolidity, 0.25); + SettingPair aspectRatioPair = SettingPair(averageAspectRatio, 0.25); + + ExampleContour newExampleContour = ExampleContour(i, horizontalDistancePair, verticalDistancePair, anglePair, aspectRatioPair, solidityPair, minimumContourArea); + finishedContours.push_back(newExampleContour); + + double percentComplete = (((double) i / (double) regularNumberOfContours) * 10.0) + 90.0; + } + + ExampleTarget newTarget = ExampleTarget(0, finishedContours, 0.0, 0.0, 0.0, 0.0); + + //clear info from the last learn + this->currentlyLearning = false; + this->currentFrames = std::vector(); + return newTarget; +} + + +int ConfigLearner::GetFramesLearned() { + return this->currentFrames.size(); } \ No newline at end of file diff --git a/KiwiLight - Vision Code/runner/Contour.cpp b/KiwiLight - Vision Code/runner/Contour.cpp index 0cd6b46..827bdb9 100644 --- a/KiwiLight - Vision Code/runner/Contour.cpp +++ b/KiwiLight - Vision Code/runner/Contour.cpp @@ -1,34 +1,34 @@ -#include "Runner.h" - -/** - * Source file for the Contour class. - * Written By: Brach Knutson - */ - -using namespace cv; -using namespace KiwiLight; - -/** - * Creates a new contour object given the vector of points. - */ -Contour::Contour(std::vector points) { - this->points = points; - - //find out the basic information of the contour - cv::Rect boundingRect = cv::boundingRect(points); - this->x = boundingRect.x; - this->y = boundingRect.y; - this->width = boundingRect.width; - this->height = boundingRect.height; - - int centerX = (this->width / 2) + this->x; - int centerY = (this->height / 2) + this->y; - this->center = Point(centerX, centerY); - - cv::RotatedRect angleRect = cv::minAreaRect(points); - this->angle = (int) angleRect.angle; - this->angle = this->angle % 90; - - int trueArea = cv::contourArea(points); - this->solidity = trueArea / (double) this->Area(); +#include "Runner.h" + +/** + * Source file for the Contour class. + * Written By: Brach Knutson + */ + +using namespace cv; +using namespace KiwiLight; + +/** + * Creates a new contour object given the vector of points. + */ +Contour::Contour(std::vector points) { + this->points = points; + + //find out the basic information of the contour + cv::Rect boundingRect = cv::boundingRect(points); + this->x = boundingRect.x; + this->y = boundingRect.y; + this->width = boundingRect.width; + this->height = boundingRect.height; + + int centerX = (this->width / 2) + this->x; + int centerY = (this->height / 2) + this->y; + this->center = Point(centerX, centerY); + + cv::RotatedRect angleRect = cv::minAreaRect(points); + this->angle = (int) angleRect.angle; + this->angle = this->angle % 90; + + int trueArea = cv::contourArea(points); + this->solidity = trueArea / (double) this->Area(); } \ No newline at end of file diff --git a/KiwiLight - Vision Code/runner/ExampleContour.cpp b/KiwiLight - Vision Code/runner/ExampleContour.cpp index 31a9859..0947afa 100644 --- a/KiwiLight - Vision Code/runner/ExampleContour.cpp +++ b/KiwiLight - Vision Code/runner/ExampleContour.cpp @@ -1,98 +1,98 @@ -#include "Runner.h" - -/** - * Source file for the ExampleContour class. - * Written By: Brach Knutson - */ - -using namespace cv; -using namespace KiwiLight; - -/** - * Creates an instance of the default ExampleContour, a square. - */ -ExampleContour::ExampleContour(int id) { - this->id = id; - this->distX = SettingPair(0, 0.25); - this->distY = SettingPair(0, 0.25); - this->angle = SettingPair(0, 90); - this->aspectRatio = SettingPair(1, 0.25); - this->solidity = SettingPair(1, 0.125); - this->minimumArea = 500; -} - -/** - * Creates an ExampleContour to model a real contour using the given information. - */ -ExampleContour::ExampleContour(int id, SettingPair distX, SettingPair distY, SettingPair angle,SettingPair aspectRatio,SettingPair solidity,int minimumArea) { - this->id = id; - this->distX = distX; - this->distY = distY; - this->angle = angle; - this->aspectRatio = aspectRatio; - this->solidity = solidity; - this->minimumArea = minimumArea; -} - - -bool ExampleContour::IsContour(Contour contour) { - bool angleTest = false; - bool arTest = false; - bool solidTest = false; - bool areaTest = false; - - //conduct all five tests and return result of all five - - bool angleLower = (contour.Angle() > this->angle.LowerBound()); - bool angleUpper = (contour.Angle() < this->angle.UpperBound()); - angleTest = angleLower && angleUpper; - - bool arLower = (contour.AspectRatio() > this->aspectRatio.LowerBound()); - bool arUpper = (contour.AspectRatio() < this->aspectRatio.UpperBound()); - arTest = arLower && arUpper; - - bool solidLower = (contour.Solidity() > this->solidity.LowerBound()); - bool solidUpper = (contour.Solidity() < this->solidity.UpperBound()); - solidTest = solidLower && solidUpper; - - areaTest = (contour.Area() > this->minimumArea); - - return (angleTest && arTest && solidTest && areaTest); -} - -// void SetDistX(SettingPair distX); -// void SetDistY(SettingPair distY); -// void SetAngle(SettingPair angle); -// void SetAspectRatio(SettingPair aspectRatio); -// void SetSolidity(SettingPair solidity); -// void SetMinimumArea(int minimumArea); - - -void ExampleContour::SetDistX(SettingPair distX) { - this->distX = distX; -} - - -void ExampleContour::SetDistY(SettingPair distY) { - this->distY = distY; -} - - -void ExampleContour::SetAngle(SettingPair angle) { - this->angle = angle; -} - - -void ExampleContour::SetAspectRatio(SettingPair aspectRatio) { - this->aspectRatio = aspectRatio; -} - - -void ExampleContour::SetSolidity(SettingPair solidity) { - this->solidity = solidity; -} - - -void ExampleContour::SetMinimumArea(int minimumArea) { - this->minimumArea = minimumArea; +#include "Runner.h" + +/** + * Source file for the ExampleContour class. + * Written By: Brach Knutson + */ + +using namespace cv; +using namespace KiwiLight; + +/** + * Creates an instance of the default ExampleContour, a square. + */ +ExampleContour::ExampleContour(int id) { + this->id = id; + this->distX = SettingPair(0, 0.25); + this->distY = SettingPair(0, 0.25); + this->angle = SettingPair(0, 90); + this->aspectRatio = SettingPair(1, 0.25); + this->solidity = SettingPair(1, 0.125); + this->minimumArea = 500; +} + +/** + * Creates an ExampleContour to model a real contour using the given information. + */ +ExampleContour::ExampleContour(int id, SettingPair distX, SettingPair distY, SettingPair angle,SettingPair aspectRatio,SettingPair solidity,int minimumArea) { + this->id = id; + this->distX = distX; + this->distY = distY; + this->angle = angle; + this->aspectRatio = aspectRatio; + this->solidity = solidity; + this->minimumArea = minimumArea; +} + + +bool ExampleContour::IsContour(Contour contour) { + bool angleTest = false; + bool arTest = false; + bool solidTest = false; + bool areaTest = false; + + //conduct all five tests and return result of all five + + bool angleLower = (contour.Angle() > this->angle.LowerBound()); + bool angleUpper = (contour.Angle() < this->angle.UpperBound()); + angleTest = angleLower && angleUpper; + + bool arLower = (contour.AspectRatio() > this->aspectRatio.LowerBound()); + bool arUpper = (contour.AspectRatio() < this->aspectRatio.UpperBound()); + arTest = arLower && arUpper; + + bool solidLower = (contour.Solidity() > this->solidity.LowerBound()); + bool solidUpper = (contour.Solidity() < this->solidity.UpperBound()); + solidTest = solidLower && solidUpper; + + areaTest = (contour.Area() > this->minimumArea); + + return (angleTest && arTest && solidTest && areaTest); +} + +// void SetDistX(SettingPair distX); +// void SetDistY(SettingPair distY); +// void SetAngle(SettingPair angle); +// void SetAspectRatio(SettingPair aspectRatio); +// void SetSolidity(SettingPair solidity); +// void SetMinimumArea(int minimumArea); + + +void ExampleContour::SetDistX(SettingPair distX) { + this->distX = distX; +} + + +void ExampleContour::SetDistY(SettingPair distY) { + this->distY = distY; +} + + +void ExampleContour::SetAngle(SettingPair angle) { + this->angle = angle; +} + + +void ExampleContour::SetAspectRatio(SettingPair aspectRatio) { + this->aspectRatio = aspectRatio; +} + + +void ExampleContour::SetSolidity(SettingPair solidity) { + this->solidity = solidity; +} + + +void ExampleContour::SetMinimumArea(int minimumArea) { + this->minimumArea = minimumArea; } \ No newline at end of file diff --git a/KiwiLight - Vision Code/runner/ExampleTarget.cpp b/KiwiLight - Vision Code/runner/ExampleTarget.cpp index 8a89bf1..84e67b1 100644 --- a/KiwiLight - Vision Code/runner/ExampleTarget.cpp +++ b/KiwiLight - Vision Code/runner/ExampleTarget.cpp @@ -1,355 +1,355 @@ -#include "Runner.h" - -/** - * Source file for the ExampleTarget class. - * Written By: Brach Knutson - */ - -using namespace cv; -using namespace KiwiLight; - -/** - * Creates a new ExampleTarget with given ExampleContours, to model a real target. - */ -ExampleTarget::ExampleTarget(int id, std::vector contours, double knownHeight, double focalHeight, double distErrorCorrect, double calibratedDistance) { - this->id = id; - this->contours = contours; - this->knownHeight = knownHeight; - this->focalHeight = focalHeight; - this->distErrorCorrect = distErrorCorrect; - this->calibratedDistance = calibratedDistance; -} - -/** - * returns a vector containing all targets found within the vector of contours. - */ -std::vector ExampleTarget::GetTargets(std::vector objects) { - std::vector foundTargets = std::vector(); - std::vector validContours = std::vector(); - - validContours = this->GetValidContours(objects); - - int numTargetContours = this->contours.size(); - int numImageContours = validContours.size(); - - if(numTargetContours == 1) { - for(int i=0; i potentialTarget = std::vector(); - potentialTarget.push_back(validContours[i]); - if(isTarget(potentialTarget)) { - Target newTarg = Target(this->id, potentialTarget, this->knownHeight, this->focalHeight, this->distErrorCorrect, this->calibratedDistance); - foundTargets.push_back(newTarg); - } - } - } - else { - int places[(const int) numTargetContours] = {}; - for(int i=0; i > originalCombos; - - //while new combos are possible, generate and test combos of targets - while(!ArrayMaxed(places, numTargetContours, numImageContours)) { - if(!ContainsDuplicates(places, numTargetContours)) { - if(!CombonationAlreadyTested(places, originalCombos, numTargetContours)) { - //add to original combos and then test; - - //we create new vector to protect it from being changed in the vector - std::vector newOriginalCombo; - - for(int i=0; i potentialTarget = std::vector(); - for(int i=0; iid, potentialTarget, this->knownHeight, this->focalHeight, this->distErrorCorrect, this->calibratedDistance); - foundTargets.push_back(newTarget); - } - } - } - - //calculate the next combo of contours - for(int i=0; i 0) { - places[i-1] = 0; - } - - if(places[i] < numImageContours) { - break; - } - } - } - } - - return foundTargets; -} - -/** - * Given the vector of contours, returns whether the contours could be a target(true) or not(false). - * precondition: objects.size() == this->contours.size(); - */ -bool ExampleTarget::isTarget(std::vector objects) { - /** - * Determine if the passed vector of contours is a target or not by comparing the - * distances from the center of the target in target widths. - * if a contour passes, it is removed from the array. - * if the array is empty by the end of the method, return true - */ - - std::vector imageContours = objects; - std::vector targetContours = this->contours; - - int totalGood = 0; - - Target potentialTarg = Target(0, imageContours, 0, 0, 0, 0); - int centerX = potentialTarg.Center().x; - int centerY = potentialTarg.Center().y; - - int objectWidth = potentialTarg.Bounds().width; - - for(int i=0; i targetContours[k].DistX().LowerBound() && - widthsToCenterX < targetContours[k].DistX().UpperBound() ); - - bool distYValid = (widthsToCenterY > targetContours[k].DistY().LowerBound() && - widthsToCenterY < targetContours[k].DistY().UpperBound() ); - - if(distXValid && distYValid && targetContours[k].IsContour(imageContours[i])) { - totalGood++; - } - } - - } - - return (this->contours.size() == totalGood); -} - - -std::vector ExampleTarget::GetValidContours(std::vector objects) { - std::vector validContours; - - for(int i=0; icontours.size(); k++) { - if(this->contours[k].IsContour(objects[i])) { - validContours.push_back(objects[i]); - break; - } - } - } - - return validContours; -} - -/** - * Returns the exampleContour with "id". returns the first contour if none found. - */ -ExampleContour ExampleTarget::GetExampleContourByID(int id) { - for(int i=0; icontours.size(); i++) { - if(this->contours[i].ID() == id) { - return this->contours[i]; - } - } - std::cout << "WARNING: ExampleContour with id " << id << " does not exist in target with id " << this->ID() << "!" << std::endl; - return this->contours[0]; -} - - -void ExampleTarget::SetContourProperty(int contour, TargetProperty prop, SettingPair values) { - //get the index of the contour we want to change, that way we directly set the values instead of taking a reference - - // //make sure we have a contour with the id "contour" - // while(contour >= this->contours.size()) { - // this->AddGenericContour(); - // } - if(contour > this->contours.size()) { - return; - } - - int contourIndex = 0; - for(int i=0; icontours.size(); i++) { - if(this->contours[i].ID() == contour) { - contourIndex = i; - break; - } - } - - switch(prop) { - case TargetProperty::DIST_X: - this->contours[contourIndex].SetDistX(values); - break; - case TargetProperty::DIST_Y: - this->contours[contourIndex].SetDistY(values); - break; - case TargetProperty::ANGLE: - this->contours[contourIndex].SetAngle(values); - break; - case TargetProperty::ASPECT_RATIO: - this->contours[contourIndex].SetAspectRatio(values); - break; - case TargetProperty::SOLIDITY: - this->contours[contourIndex].SetSolidity(values); - break; - case TargetProperty::MINIMUM_AREA: - this->contours[contourIndex].SetMinimumArea((int) values.Value()); - break; - } -} - - -SettingPair ExampleTarget::GetContourProperty(int contour, TargetProperty prop) { - SettingPair finalValue = SettingPair(-1,-1); - - int contourIndex = 0; - for(int i=0; icontours.size(); i++) { - if(this->contours[i].ID() == contour) { - contourIndex = i; - break; - } - } - - switch(prop) { - case TargetProperty::DIST_X: - finalValue = this->contours[contourIndex].DistX(); - break; - case TargetProperty::DIST_Y: - finalValue = this->contours[contourIndex].DistY(); - break; - case TargetProperty::ANGLE: - finalValue = this->contours[contourIndex].Angle(); - break; - case TargetProperty::ASPECT_RATIO: - finalValue = this->contours[contourIndex].AspectRatio(); - break; - case TargetProperty::SOLIDITY: - finalValue = this->contours[contourIndex].Solidity(); - break; - case TargetProperty::MINIMUM_AREA: - finalValue = SettingPair((double) this->contours[contourIndex].MinimumArea(), 0); - break; - } - - return finalValue; -} - - -void ExampleTarget::SetTargetProperty(RunnerProperty prop, double value) { - switch(prop) { - case RunnerProperty::TRUE_WIDTH: - this->knownHeight = value; - break; - case RunnerProperty::PERCEIVED_WIDTH: - this->focalHeight = value; - break; - case RunnerProperty::CALIBRATED_DISTANCE: - this->calibratedDistance = value; - break; - case RunnerProperty::ERROR_CORRECTION: - this->distErrorCorrect = value; - break; - } -} - - -double ExampleTarget::GetTargetProperty(RunnerProperty prop) { - double value = -1.0; - - switch(prop) { - case RunnerProperty::TRUE_WIDTH: - value = this->knownHeight; - break; - case RunnerProperty::PERCEIVED_WIDTH: - value = this->focalHeight; - break; - case RunnerProperty::CALIBRATED_DISTANCE: - value = this->calibratedDistance; - break; - case RunnerProperty::ERROR_CORRECTION: - value = this->distErrorCorrect; - break; - } - - return value; -} - - -void ExampleTarget::AddGenericContour() { - SettingPair genericDistX = SettingPair(0.0, 0.4); - SettingPair genericDistY = SettingPair(0.0, 0.4); - SettingPair genericAngle = SettingPair(0.0, 12.0); - SettingPair genericSolidity = SettingPair(1.0, 0.35); - SettingPair genericAspectRatio = SettingPair(1.0, 0.35); - - ExampleContour newContour = ExampleContour(this->contours.size(), genericDistX, genericDistY, genericAngle, genericAspectRatio, genericSolidity, 1000); - this->contours.push_back(newContour); -} - - -bool ExampleTarget::ArrayMaxed(int arr[], int size, int max) { - if(arr[size - 1] < max) { - return false; - } - - return true; -} - - -bool ExampleTarget::ContainsDuplicates(int arr[], int size) { - for(int i=0; i > testedCombos, int comboSize) { - for(int i=0; i originalCombo = testedCombos[i]; - int matchingNumbers = 0; - - //compare all numbers between the two arrays - for(int x=0; x contours, double knownHeight, double focalHeight, double distErrorCorrect, double calibratedDistance) { + this->id = id; + this->contours = contours; + this->knownHeight = knownHeight; + this->focalHeight = focalHeight; + this->distErrorCorrect = distErrorCorrect; + this->calibratedDistance = calibratedDistance; +} + +/** + * returns a vector containing all targets found within the vector of contours. + */ +std::vector ExampleTarget::GetTargets(std::vector objects) { + std::vector foundTargets = std::vector(); + std::vector validContours = std::vector(); + + validContours = this->GetValidContours(objects); + + int numTargetContours = this->contours.size(); + int numImageContours = validContours.size(); + + if(numTargetContours == 1) { + for(int i=0; i potentialTarget = std::vector(); + potentialTarget.push_back(validContours[i]); + if(isTarget(potentialTarget)) { + Target newTarg = Target(this->id, potentialTarget, this->knownHeight, this->focalHeight, this->distErrorCorrect, this->calibratedDistance); + foundTargets.push_back(newTarg); + } + } + } + else { + int places[(const int) numTargetContours] = {}; + for(int i=0; i > originalCombos; + + //while new combos are possible, generate and test combos of targets + while(!ArrayMaxed(places, numTargetContours, numImageContours)) { + if(!ContainsDuplicates(places, numTargetContours)) { + if(!CombonationAlreadyTested(places, originalCombos, numTargetContours)) { + //add to original combos and then test; + + //we create new vector to protect it from being changed in the vector + std::vector newOriginalCombo; + + for(int i=0; i potentialTarget = std::vector(); + for(int i=0; iid, potentialTarget, this->knownHeight, this->focalHeight, this->distErrorCorrect, this->calibratedDistance); + foundTargets.push_back(newTarget); + } + } + } + + //calculate the next combo of contours + for(int i=0; i 0) { + places[i-1] = 0; + } + + if(places[i] < numImageContours) { + break; + } + } + } + } + + return foundTargets; +} + +/** + * Given the vector of contours, returns whether the contours could be a target(true) or not(false). + * precondition: objects.size() == this->contours.size(); + */ +bool ExampleTarget::isTarget(std::vector objects) { + /** + * Determine if the passed vector of contours is a target or not by comparing the + * distances from the center of the target in target widths. + * if a contour passes, it is removed from the array. + * if the array is empty by the end of the method, return true + */ + + std::vector imageContours = objects; + std::vector targetContours = this->contours; + + int totalGood = 0; + + Target potentialTarg = Target(0, imageContours, 0, 0, 0, 0); + int centerX = potentialTarg.Center().x; + int centerY = potentialTarg.Center().y; + + int objectWidth = potentialTarg.Bounds().width; + + for(int i=0; i targetContours[k].DistX().LowerBound() && + widthsToCenterX < targetContours[k].DistX().UpperBound() ); + + bool distYValid = (widthsToCenterY > targetContours[k].DistY().LowerBound() && + widthsToCenterY < targetContours[k].DistY().UpperBound() ); + + if(distXValid && distYValid && targetContours[k].IsContour(imageContours[i])) { + totalGood++; + } + } + + } + + return (this->contours.size() == totalGood); +} + + +std::vector ExampleTarget::GetValidContours(std::vector objects) { + std::vector validContours; + + for(int i=0; icontours.size(); k++) { + if(this->contours[k].IsContour(objects[i])) { + validContours.push_back(objects[i]); + break; + } + } + } + + return validContours; +} + +/** + * Returns the exampleContour with "id". returns the first contour if none found. + */ +ExampleContour ExampleTarget::GetExampleContourByID(int id) { + for(int i=0; icontours.size(); i++) { + if(this->contours[i].ID() == id) { + return this->contours[i]; + } + } + std::cout << "WARNING: ExampleContour with id " << id << " does not exist in target with id " << this->ID() << "!" << std::endl; + return this->contours[0]; +} + + +void ExampleTarget::SetContourProperty(int contour, TargetProperty prop, SettingPair values) { + //get the index of the contour we want to change, that way we directly set the values instead of taking a reference + + // //make sure we have a contour with the id "contour" + // while(contour >= this->contours.size()) { + // this->AddGenericContour(); + // } + if(contour > this->contours.size()) { + return; + } + + int contourIndex = 0; + for(int i=0; icontours.size(); i++) { + if(this->contours[i].ID() == contour) { + contourIndex = i; + break; + } + } + + switch(prop) { + case TargetProperty::DIST_X: + this->contours[contourIndex].SetDistX(values); + break; + case TargetProperty::DIST_Y: + this->contours[contourIndex].SetDistY(values); + break; + case TargetProperty::ANGLE: + this->contours[contourIndex].SetAngle(values); + break; + case TargetProperty::ASPECT_RATIO: + this->contours[contourIndex].SetAspectRatio(values); + break; + case TargetProperty::SOLIDITY: + this->contours[contourIndex].SetSolidity(values); + break; + case TargetProperty::MINIMUM_AREA: + this->contours[contourIndex].SetMinimumArea((int) values.Value()); + break; + } +} + + +SettingPair ExampleTarget::GetContourProperty(int contour, TargetProperty prop) { + SettingPair finalValue = SettingPair(-1,-1); + + int contourIndex = 0; + for(int i=0; icontours.size(); i++) { + if(this->contours[i].ID() == contour) { + contourIndex = i; + break; + } + } + + switch(prop) { + case TargetProperty::DIST_X: + finalValue = this->contours[contourIndex].DistX(); + break; + case TargetProperty::DIST_Y: + finalValue = this->contours[contourIndex].DistY(); + break; + case TargetProperty::ANGLE: + finalValue = this->contours[contourIndex].Angle(); + break; + case TargetProperty::ASPECT_RATIO: + finalValue = this->contours[contourIndex].AspectRatio(); + break; + case TargetProperty::SOLIDITY: + finalValue = this->contours[contourIndex].Solidity(); + break; + case TargetProperty::MINIMUM_AREA: + finalValue = SettingPair((double) this->contours[contourIndex].MinimumArea(), 0); + break; + } + + return finalValue; +} + + +void ExampleTarget::SetTargetProperty(RunnerProperty prop, double value) { + switch(prop) { + case RunnerProperty::TRUE_WIDTH: + this->knownHeight = value; + break; + case RunnerProperty::PERCEIVED_WIDTH: + this->focalHeight = value; + break; + case RunnerProperty::CALIBRATED_DISTANCE: + this->calibratedDistance = value; + break; + case RunnerProperty::ERROR_CORRECTION: + this->distErrorCorrect = value; + break; + } +} + + +double ExampleTarget::GetTargetProperty(RunnerProperty prop) { + double value = -1.0; + + switch(prop) { + case RunnerProperty::TRUE_WIDTH: + value = this->knownHeight; + break; + case RunnerProperty::PERCEIVED_WIDTH: + value = this->focalHeight; + break; + case RunnerProperty::CALIBRATED_DISTANCE: + value = this->calibratedDistance; + break; + case RunnerProperty::ERROR_CORRECTION: + value = this->distErrorCorrect; + break; + } + + return value; +} + + +void ExampleTarget::AddGenericContour() { + SettingPair genericDistX = SettingPair(0.0, 0.4); + SettingPair genericDistY = SettingPair(0.0, 0.4); + SettingPair genericAngle = SettingPair(0.0, 12.0); + SettingPair genericSolidity = SettingPair(1.0, 0.35); + SettingPair genericAspectRatio = SettingPair(1.0, 0.35); + + ExampleContour newContour = ExampleContour(this->contours.size(), genericDistX, genericDistY, genericAngle, genericAspectRatio, genericSolidity, 1000); + this->contours.push_back(newContour); +} + + +bool ExampleTarget::ArrayMaxed(int arr[], int size, int max) { + if(arr[size - 1] < max) { + return false; + } + + return true; +} + + +bool ExampleTarget::ContainsDuplicates(int arr[], int size) { + for(int i=0; i > testedCombos, int comboSize) { + for(int i=0; i originalCombo = testedCombos[i]; + int matchingNumbers = 0; + + //compare all numbers between the two arrays + for(int x=0; x targets, bool debugging) { - this->debugging = debugging; - this->targets = targets; - ExampleTarget targ = this->targets[0]; -} - -void PostProcessor::SetTarget(int id, ExampleTarget target) { - //find the id to replace - for(int i=0; itargets.size(); i++) { - if(this->targets[i].ID() == id) { - this->targets[i] = target; - return; - } - } -} - -int PostProcessor::NumberOfContours(int target) { - //find the target with the id, and return its contour count - for(int i=0; itargets[i].ID() == target) { - return this->targets[i].Contours().size(); - } - } - - return -1; -} - -/** - * Processes the given image (from the preprocessor) and returns a vector containing any - * targets it finds. - */ -std::vector PostProcessor::ProcessImage(cv::Mat img) { - std::vector foundTargets = std::vector(); - - //find contours with input image - std::vector< std::vector< Point > > contours; - cv::findContours(img, contours, cv::RETR_EXTERNAL, cv::CHAIN_APPROX_SIMPLE); - - //create contour wrappers and prepare to compare with targets - std::vector objects = std::vector(); - for(int i=0; icontoursFromLastFrame = objects; - - for(int k=0; ktargets.size(); k++) { - std::vector targs = this->targets[k].GetTargets(objects); - - // add results to our found targets - for(int a=0; a PostProcessor::GetValidContoursForTarget(std::vector contours) { - return this->targets[0].GetValidContours(contours); -} - - -void PostProcessor::SetTargetContourProperty(int contour, TargetProperty prop, SettingPair values) { - if(this->debugging) { - this->targets[0].SetContourProperty(contour, prop, values); - } -} - - -SettingPair PostProcessor::GetTargetContourProperty(int contour, TargetProperty prop) { - return this->targets[0].GetContourProperty(contour, prop); -} - - -ExampleTarget PostProcessor::GetExampleTargetByID(int id) { - for(int i=0; itargets.size(); i++) { - if(this->targets[i].ID() == id) { - return this->targets[i]; - } - } - - std::cout << "WARNING: Target at ID " << id << " does not exist!" << std::endl; - return targets[0]; -} - - -void PostProcessor::SetRunnerProperty(RunnerProperty prop, double value) { - this->targets[0].SetTargetProperty(prop, value); -} - - -double PostProcessor::GetRunnerProperty(RunnerProperty prop) { - return this->targets[0].GetTargetProperty(prop); -} +#include "Runner.h" + +/** + * Source file for the Runner class. + * Written By: Brach Knutson + */ + +using namespace cv; +using namespace KiwiLight; + +/** + * Creates a new PostProcessor with the given settings. + * Just give it all the runner settings, PostProcessor will pick out the ones it will use. + */ +PostProcessor::PostProcessor(std::vector targets, bool debugging) { + this->debugging = debugging; + this->targets = targets; + ExampleTarget targ = this->targets[0]; +} + +void PostProcessor::SetTarget(int id, ExampleTarget target) { + //find the id to replace + for(int i=0; itargets.size(); i++) { + if(this->targets[i].ID() == id) { + this->targets[i] = target; + return; + } + } +} + +int PostProcessor::NumberOfContours(int target) { + //find the target with the id, and return its contour count + for(int i=0; itargets[i].ID() == target) { + return this->targets[i].Contours().size(); + } + } + + return -1; +} + +/** + * Processes the given image (from the preprocessor) and returns a vector containing any + * targets it finds. + */ +std::vector PostProcessor::ProcessImage(cv::Mat img) { + std::vector foundTargets = std::vector(); + + //find contours with input image + std::vector< std::vector< Point > > contours; + cv::findContours(img, contours, cv::RETR_EXTERNAL, cv::CHAIN_APPROX_SIMPLE); + + //create contour wrappers and prepare to compare with targets + std::vector objects = std::vector(); + for(int i=0; icontoursFromLastFrame = objects; + + for(int k=0; ktargets.size(); k++) { + std::vector targs = this->targets[k].GetTargets(objects); + + // add results to our found targets + for(int a=0; a PostProcessor::GetValidContoursForTarget(std::vector contours) { + return this->targets[0].GetValidContours(contours); +} + + +void PostProcessor::SetTargetContourProperty(int contour, TargetProperty prop, SettingPair values) { + if(this->debugging) { + this->targets[0].SetContourProperty(contour, prop, values); + } +} + + +SettingPair PostProcessor::GetTargetContourProperty(int contour, TargetProperty prop) { + return this->targets[0].GetContourProperty(contour, prop); +} + + +ExampleTarget PostProcessor::GetExampleTargetByID(int id) { + for(int i=0; itargets.size(); i++) { + if(this->targets[i].ID() == id) { + return this->targets[i]; + } + } + + std::cout << "WARNING: Target at ID " << id << " does not exist!" << std::endl; + return targets[0]; +} + + +void PostProcessor::SetRunnerProperty(RunnerProperty prop, double value) { + this->targets[0].SetTargetProperty(prop, value); +} + + +double PostProcessor::GetRunnerProperty(RunnerProperty prop) { + return this->targets[0].GetTargetProperty(prop); +} diff --git a/KiwiLight - Vision Code/runner/PreProcessor.cpp b/KiwiLight - Vision Code/runner/PreProcessor.cpp index f1e3aa3..e3dfc02 100644 --- a/KiwiLight - Vision Code/runner/PreProcessor.cpp +++ b/KiwiLight - Vision Code/runner/PreProcessor.cpp @@ -1,148 +1,148 @@ -#include "Runner.h" - -/** - * Source file for the PreProcessor class. - * Written By: Brach Knutson - */ - -using namespace cv; -using namespace KiwiLight; - - -PreProcessor::PreProcessor(bool fullPreprocessor, Color targetColor, int threshold, int erosion, int dilation, bool debug) { - this->isFullPreprocessor = fullPreprocessor; - this->debugging = debug; - this->targetColor = targetColor; - this->threshold = threshold; - this->threshValue = 255; - this->threshtype = 0; - this->erode = erosion; - this->dilate = dilation; -} - - -/** - * Takes the given generic image and makes it usable for the PostProcessor. - */ -cv::Mat PreProcessor::ProcessImage(cv::Mat img) { - cv::Mat out; - - if(this->isFullPreprocessor) { - cv::threshold(img, img, this->threshold, this->threshValue, this->threshtype); - cv::Mat dilateKernel = cv::getStructuringElement(cv::MORPH_RECT, - cv::Size(this->dilate, this->dilate)); - - cv::Mat erodeKernel = cv::getStructuringElement(cv::MORPH_RECT, - cv::Size(this->erode, this->erode)); - - cv::erode(img, img, erodeKernel); - cv::dilate(img, img, dilateKernel); - cv::cvtColor(img, img, cv::COLOR_BGR2HSV); - cv::inRange(img, this->targetColor.GetLowerBound(), this->targetColor.GetUpperBound(), out); - } else { - cv::cvtColor(img, out, cv::COLOR_BGR2GRAY); - } - - return out; -} - - -void PreProcessor::SetProperty(PreProcessorProperty prop, double value) { - switch(prop) { - case PreProcessorProperty::IS_FULL: - this->isFullPreprocessor = (value == 1 ? true : false); - break; - case PreProcessorProperty::THRESHOLD: - this->threshold = value; - break; - case PreProcessorProperty::EROSION: - this->erode = value; - break; - case PreProcessorProperty::DILATION: - this->dilate = value; - break; - case PreProcessorProperty::COLOR_HUE: - { - Color newColor = Color((int) value, this->targetColor.GetS(), this->targetColor.GetV(), this->targetColor.GetHError(), this->targetColor.GetSError(), this->targetColor.GetVError()); - this->targetColor = newColor; - break; - } - case PreProcessorProperty::COLOR_SATURATION: - { - Color newColor = Color(this->targetColor.GetH(), (int) value, this->targetColor.GetV(), this->targetColor.GetHError(), this->targetColor. GetSError(), this->targetColor.GetVError()); - this->targetColor = newColor; - break; - } - case PreProcessorProperty::COLOR_VALUE: - { - Color newColor = Color(this->targetColor.GetH(), this->targetColor.GetS(), (int) value, this->targetColor.GetHError(), this->targetColor.GetSError(), this->targetColor.GetVError()); - this->targetColor = newColor; - break; - } - - case PreProcessorProperty::COLOR_ERROR: - { - Color newColor = Color(this->targetColor.GetH(), this->targetColor.GetS(), this->targetColor.GetV(), value, value, value); - this->targetColor = newColor; - break; - } - } -} - - -double PreProcessor::GetProperty(PreProcessorProperty prop) { - double finalValue = -1.0; - - switch(prop) { - case PreProcessorProperty::IS_FULL: - finalValue = (this->isFullPreprocessor ? 1 : 0); - break; - case PreProcessorProperty::THRESHOLD: - finalValue = this->threshold; - break; - case PreProcessorProperty::EROSION: - finalValue = this->erode; - break; - case PreProcessorProperty::DILATION: - finalValue = this->dilate; - break; - case PreProcessorProperty::COLOR_HUE: - finalValue = this->targetColor.GetH(); - break; - case PreProcessorProperty::COLOR_SATURATION: - finalValue = this->targetColor.GetS(); - break; - case PreProcessorProperty::COLOR_VALUE: - finalValue = this->targetColor.GetV(); - break; - case PreProcessorProperty::COLOR_ERROR: - finalValue = this->targetColor.GetHError(); - break; - default: - std::cout << "PROPERTY NOT FOUND" << std::endl; - break; - } - - return finalValue; -} - - -std::string PreProcessor::toString() { - std::string endline = "\n"; - std::string thisString = ""; - thisString += std::string("Debugging: ") + std::string((this->debugging ? "YES" : "NO")) + endline; - - if(this->isFullPreprocessor) { - std::string("Type: FULL\n") + - std::string("Threshold Value: ") + std::to_string(this->threshold) + endline + - std::string("Dilation: ") + std::to_string(this->dilate) + endline + - std::string("Color H: ") + std::to_string(this->targetColor.GetH()) + endline + - std::string("Color S: ") + std::to_string(this->targetColor.GetS()) + endline + - std::string("Color V: ") + std::to_string(this->targetColor.GetV()) + endline + - std::string("Color Error: ") + std::to_string(this->targetColor.GetHError()) + endline; - } else { - thisString += std::string("Type: PARTIAL") + endline; - } - - return thisString; -} +#include "Runner.h" + +/** + * Source file for the PreProcessor class. + * Written By: Brach Knutson + */ + +using namespace cv; +using namespace KiwiLight; + + +PreProcessor::PreProcessor(bool fullPreprocessor, Color targetColor, int threshold, int erosion, int dilation, bool debug) { + this->isFullPreprocessor = fullPreprocessor; + this->debugging = debug; + this->targetColor = targetColor; + this->threshold = threshold; + this->threshValue = 255; + this->threshtype = 0; + this->erode = erosion; + this->dilate = dilation; +} + + +/** + * Takes the given generic image and makes it usable for the PostProcessor. + */ +cv::Mat PreProcessor::ProcessImage(cv::Mat img) { + cv::Mat out; + + if(this->isFullPreprocessor) { + cv::threshold(img, img, this->threshold, this->threshValue, this->threshtype); + cv::Mat dilateKernel = cv::getStructuringElement(cv::MORPH_RECT, + cv::Size(this->dilate, this->dilate)); + + cv::Mat erodeKernel = cv::getStructuringElement(cv::MORPH_RECT, + cv::Size(this->erode, this->erode)); + + cv::erode(img, img, erodeKernel); + cv::dilate(img, img, dilateKernel); + cv::cvtColor(img, img, cv::COLOR_BGR2HSV); + cv::inRange(img, this->targetColor.GetLowerBound(), this->targetColor.GetUpperBound(), out); + } else { + cv::cvtColor(img, out, cv::COLOR_BGR2GRAY); + } + + return out; +} + + +void PreProcessor::SetProperty(PreProcessorProperty prop, double value) { + switch(prop) { + case PreProcessorProperty::IS_FULL: + this->isFullPreprocessor = (value == 1 ? true : false); + break; + case PreProcessorProperty::THRESHOLD: + this->threshold = value; + break; + case PreProcessorProperty::EROSION: + this->erode = value; + break; + case PreProcessorProperty::DILATION: + this->dilate = value; + break; + case PreProcessorProperty::COLOR_HUE: + { + Color newColor = Color((int) value, this->targetColor.GetS(), this->targetColor.GetV(), this->targetColor.GetHError(), this->targetColor.GetSError(), this->targetColor.GetVError()); + this->targetColor = newColor; + break; + } + case PreProcessorProperty::COLOR_SATURATION: + { + Color newColor = Color(this->targetColor.GetH(), (int) value, this->targetColor.GetV(), this->targetColor.GetHError(), this->targetColor. GetSError(), this->targetColor.GetVError()); + this->targetColor = newColor; + break; + } + case PreProcessorProperty::COLOR_VALUE: + { + Color newColor = Color(this->targetColor.GetH(), this->targetColor.GetS(), (int) value, this->targetColor.GetHError(), this->targetColor.GetSError(), this->targetColor.GetVError()); + this->targetColor = newColor; + break; + } + + case PreProcessorProperty::COLOR_ERROR: + { + Color newColor = Color(this->targetColor.GetH(), this->targetColor.GetS(), this->targetColor.GetV(), value, value, value); + this->targetColor = newColor; + break; + } + } +} + + +double PreProcessor::GetProperty(PreProcessorProperty prop) { + double finalValue = -1.0; + + switch(prop) { + case PreProcessorProperty::IS_FULL: + finalValue = (this->isFullPreprocessor ? 1 : 0); + break; + case PreProcessorProperty::THRESHOLD: + finalValue = this->threshold; + break; + case PreProcessorProperty::EROSION: + finalValue = this->erode; + break; + case PreProcessorProperty::DILATION: + finalValue = this->dilate; + break; + case PreProcessorProperty::COLOR_HUE: + finalValue = this->targetColor.GetH(); + break; + case PreProcessorProperty::COLOR_SATURATION: + finalValue = this->targetColor.GetS(); + break; + case PreProcessorProperty::COLOR_VALUE: + finalValue = this->targetColor.GetV(); + break; + case PreProcessorProperty::COLOR_ERROR: + finalValue = this->targetColor.GetHError(); + break; + default: + std::cout << "PROPERTY NOT FOUND" << std::endl; + break; + } + + return finalValue; +} + + +std::string PreProcessor::toString() { + std::string endline = "\n"; + std::string thisString = ""; + thisString += std::string("Debugging: ") + std::string((this->debugging ? "YES" : "NO")) + endline; + + if(this->isFullPreprocessor) { + std::string("Type: FULL\n") + + std::string("Threshold Value: ") + std::to_string(this->threshold) + endline + + std::string("Dilation: ") + std::to_string(this->dilate) + endline + + std::string("Color H: ") + std::to_string(this->targetColor.GetH()) + endline + + std::string("Color S: ") + std::to_string(this->targetColor.GetS()) + endline + + std::string("Color V: ") + std::to_string(this->targetColor.GetV()) + endline + + std::string("Color Error: ") + std::to_string(this->targetColor.GetHError()) + endline; + } else { + thisString += std::string("Type: PARTIAL") + endline; + } + + return thisString; +} diff --git a/KiwiLight - Vision Code/runner/Runner.cpp b/KiwiLight - Vision Code/runner/Runner.cpp index 15860ad..ca61317 100644 --- a/KiwiLight - Vision Code/runner/Runner.cpp +++ b/KiwiLight - Vision Code/runner/Runner.cpp @@ -1,368 +1,375 @@ -#include "../KiwiLight.h" - -/** - * Source file for the Runner class. - * Written By: Brach Knutson - */ - -using namespace cv; -using namespace KiwiLight; - -const std::string Runner::NULL_MESSAGE = ":-1,-1,-1,180,180;"; - -/** - * Creates a new runner which runs the configuration described by the given file - */ -Runner::Runner(std::string fileName, bool debugging) { - this->src = fileName; - this->debug = debugging; - this->postProcessorTargets = std::vector(); - this->lastIterationSuccessful = false; - XMLDocument file = XMLDocument(fileName); - if(file.HasContents()) { - this->parseDocument(file); - } else { - std::cout << "sorry! the file " << fileName << " could not be found. " << std::endl; - } - this->applySettings(file); - this->stop = false; -} - -void Runner::SetImageResize(Size sz) { - this->constantResize = sz; -} - -/** - * Performs one iteration of the main loop, but does not send any file UDP messages. - */ -std::string Runner::Iterate() { - cv::Mat img; - cv::Mat out; //output image we draw on for debugging - if(RunnerSettings::USE_CAMERA) { - img = KiwiLightApp::TakeImage(); - - if(img.empty()) { - //oops we shall exit now because there be nothing in image - return NULL_MESSAGE; - } - } else { - this->lastIterationSuccessful = true; - img = cv::imread(RunnerSettings::IMAGE_TO_USE); - } - - resize(img, img, this->constantResize); - img.copyTo(this->originalImage); - img = this->preprocessor.ProcessImage(img); - img.copyTo(out); - std::vector targets = this->postprocessor.ProcessImage(img); - //find the percieved robot center using this->centerOffset - int trueCenterX = (this->constantResize.width / 2); - int robotCenterX = trueCenterX; - - int trueCenterY = (this->constantResize.height / 2); - int robotCenterY = trueCenterY; - - //find the target that is closest to the robot center - Target bestTarget; - int closestDist = 5000; // closest horizontal distance to the center - for(int i=0; icenterOffsetX; - double offestInchesY = centerInchesY - this->centerOffsetY; - - //convert back to pixels - double offsetPixelsX = offsetInchesX / inchesPerPixel; - double offsetPixelsY = offestInchesY / inchesPerPixel; - - //calculate the distance from the offset center - double distFromCenterX = offsetPixelsX - targ.Center().x; - double distFromCenterY = offsetPixelsY - targ.Center().y; - double trueDistance = sqrt(pow(distFromCenterX, 2) + pow(distFromCenterY, 2)); - - if(trueDistance < closestDist) { - closestDist = trueDistance; - bestTarget = targ; - robotCenterX = (int) offsetPixelsX; - robotCenterY = (int) offsetPixelsY; - } - } - - this->closestTarget = bestTarget; - this->lastFrameCenterPoint = Point(robotCenterX, robotCenterY); - - //figure out which target to send and then send the target - int coordX = -1, - coordY = -1, - distance = -1, - HAngle = 180, - VAngle = 180; - - std::string rioMessage = ""; - - if(targets.size() > 0) { - //use the best target to fill in the information to send to the rio - coordX = bestTarget.Center().x; - coordY = bestTarget.Center().y; - - distance = bestTarget.Distance(); - - HAngle = bestTarget.HorizontalAngle(distance, robotCenterX); - VAngle = bestTarget.VerticalAngle(distance, robotCenterY); - } - - this->lastFrameTargets = targets; - - std::string x = std::to_string(coordX), - y = std::to_string(coordY), - d = std::to_string(distance), - ax = std::to_string(HAngle), - ay = std::to_string(VAngle); - - rioMessage = ":" + x + "," + y + "," + d + "," + ax + "," + ay + ";"; - - //mark up the image with some stuff for the programmers to look at :) - if(this->debug) { - cv::cvtColor(out, out, cv::COLOR_GRAY2BGR); - - //write the out string onto the image - cv::putText(out, rioMessage, cv::Point(5, 15), cv::FONT_HERSHEY_PLAIN, 1.0, cv::Scalar(0,0,255), 2); - - //draw a line where the perceived horizontal robot center is - int camHeight = this->constantResize.height; - cv::Point HlineTopPoint = cv::Point(robotCenterX, 0); - cv::Point HlineBottomPoint = cv::Point(robotCenterX, camHeight); - cv::line(out, HlineTopPoint, HlineBottomPoint, cv::Scalar(255,0,255)); - - //draw another line where the vertical robot center is - int camWidth = this->constantResize.width; - cv::Point VlineTopPoint = cv::Point(0, robotCenterY); - cv::Point VlineBottomPoint = cv::Point(camWidth, robotCenterY); - cv::line(out, VlineTopPoint, VlineBottomPoint, cv::Scalar(255, 0, 255)); - - //draw a dot in the center of each valid contour - std::vector contoursFromFrame = this->postprocessor.GetContoursFromLastFrame(); - std::vector validContours = this->postprocessor.GetValidContoursForTarget(contoursFromFrame); - - Target targ = Target(0, validContours, 0, 0, 0, 0); - rectangle(out, targ.Bounds(), Scalar(0, 0, 255), 3); - - for(int i=0; ioutputImage); - } - - return rioMessage; -} - - -int Runner::GetNumberOfContours(int target) { - return this->postprocessor.NumberOfContours(target); -} - -/** - * Returns the example target at the given id. Returns the 0th exampletarget if id is out of bounds. - */ -ExampleTarget Runner::GetExampleTargetByID(int id) { - return this->postprocessor.GetExampleTargetByID(id); -} - -void Runner::SetExampleTarget(int contourID, ExampleTarget target) { - this->postprocessor.SetTarget(contourID, target); -} - - -void Runner::SetPreprocessorProperty(PreProcessorProperty prop, double value) { - if(this->debug) { - this->preprocessor.SetProperty(prop, value); - } -} - - -double Runner::GetPreprocessorProperty(PreProcessorProperty prop) { - return this->preprocessor.GetProperty(prop); -} - - -void Runner::SetPostProcessorContourProperty(int contour, TargetProperty prop, SettingPair values) { - if(this->debug) { - this->postprocessor.SetTargetContourProperty(contour, prop, values); - } -} - - -SettingPair Runner::GetPostProcessorContourProperty(int contour, TargetProperty prop) { - return this->postprocessor.GetTargetContourProperty(contour, prop); -} - - -void Runner::SetRunnerProperty(RunnerProperty prop, double value) { - switch(prop) { - case RunnerProperty::OFFSET_X: - this->centerOffsetX = value; - break; - case RunnerProperty::OFFSET_Y: - this->centerOffsetY = value; - break; - case RunnerProperty::IMAGE_WIDTH: - this->constantResize.width = (int) value; - break; - case RunnerProperty::IMAGE_HEIGHT: - this->constantResize.height = (int) value; - break; - default: - this->postprocessor.SetRunnerProperty(prop, value); - break; - } -} - - -double Runner::GetRunnerProperty(RunnerProperty prop) { - switch(prop) { - case RunnerProperty::OFFSET_X: - return this->centerOffsetX; - case RunnerProperty::OFFSET_Y: - return this->centerOffsetY; - case RunnerProperty::IMAGE_WIDTH: - return this->constantResize.width; - case RunnerProperty::IMAGE_HEIGHT: - return this->constantResize.height; - } - - return this->postprocessor.GetRunnerProperty(prop); -} - -/** - * Parses the XMLdocument doc and initalizes all runner settings and variables. - */ -void Runner::parseDocument(XMLDocument doc) { - XMLTag camera = doc.GetTagsByName("camera")[0]; - this->cameraIndex = std::stoi(camera.GetAttributesByName("index")[0].Value()); - - std::vector camSettings = - camera.GetTagsByName("settings")[0] - .GetTagsByName("setting"); - - XMLTag config = doc.GetTagsByName("configuration")[0]; - this->configName = doc.GetTagsByName("configuration")[0].GetAttributesByName("name")[0].Value(); - - XMLTag cameraOffset = config.GetTagsByName("cameraOffset")[0]; - this->centerOffsetX = std::stod(cameraOffset.GetTagsByName("horizontal")[0].Content()); - this->centerOffsetY = std::stod(cameraOffset.GetTagsByName("vertical")[0].Content()); - - XMLTag constResize = config.GetTagsByName("constantResize")[0]; - int resizeX = std::stoi(constResize.GetTagsByName("width")[0].Content()); - int resizeY = std::stoi(constResize.GetTagsByName("height")[0].Content()); - this->constantResize = Size(resizeX, resizeY); - - XMLTag preprocess = config.GetTagsByName("preprocessor")[0]; - bool preprocessorTypeIsFull = (preprocess.GetAttributesByName("type")[0].Value() == "full" ? true : false); - - int preprocessorThreshold = std::stoi(preprocess.GetTagsByName("threshold")[0].Content()); - int preprocessorErosion = std::stoi(preprocess.GetTagsByName("erosion")[0].Content()); - int preprocessorDilation = std::stoi(preprocess.GetTagsByName("dilation")[0].Content()); - XMLTag color = preprocess.GetTagsByName("targetColor")[0]; - int error = std::stoi(color.GetAttributesByName("error")[0].Value()); - int h = std::stoi(color.GetTagsByName("h")[0].Content()); - int s = std::stoi(color.GetTagsByName("s")[0].Content()); - int v = std::stoi(color.GetTagsByName("v")[0].Content()); - Color preprocessorColor = Color(h, s, v, error, error, error); - - XMLTag postprocess = config.GetTagsByName("postprocessor")[0]; - XMLTag udp = postprocess.GetTagsByName("UDP")[0]; - std::string udpAddr = udp.GetTagsByName("address")[0].Content(); - int udpPort = std::stoi(udp.GetTagsByName("port")[0].Content()); - - std::vector targets = postprocess.GetTagsByName("target"); - for(int i=0; i targContours = targetTag.GetTagsByName("contour"); - - int targetId = std::stoi(targetTag.GetAttributesByName("id")[0].Value()); - std::vector contours; - - //find all contours and populate the vector - for(int k=0; kpostProcessorTargets.push_back(newTarget); - } - - //init the preprocessor and postprocessor here - this->preprocessor = PreProcessor(preprocessorTypeIsFull, preprocessorColor, preprocessorThreshold, preprocessorErosion, preprocessorDilation, this->debug); - this->postprocessor = PostProcessor(this->postProcessorTargets, this->debug); - KiwiLightApp::ReconnectUDP(udpAddr, udpPort); -} - -/** - * Applies the camera settings via shell. - */ -void Runner::applySettings(XMLDocument document) { - std::vector camSettings = - document.GetTagsByName("camera")[0] - .GetTagsByName("settings")[0] - .GetTagsByName("setting"); - - int camIndex = std::stoi(document.GetTagsByName("camera")[0].GetAttributesByName("index")[0].Value()); - KiwiLightApp::OpenNewCameraOnIndex(camIndex); - - for(int i=0; isrc = fileName; + this->debug = debugging; + this->postProcessorTargets = std::vector(); + this->lastIterationSuccessful = false; + XMLDocument file = XMLDocument(fileName); + if(file.HasContents()) { + this->parseDocument(file); + } else { + std::cout << "sorry! the file " << fileName << " could not be found. " << std::endl; + } + this->applySettings(file); + this->stop = false; +} + +void Runner::SetImageResize(Size sz) { + this->constantResize = sz; +} + +/** + * Performs one iteration of the main loop, but does not send any file UDP messages. + */ +std::string Runner::Iterate() { + cv::Mat img; + cv::Mat out; //output image we draw on for debugging + if(RunnerSettings::USE_CAMERA) { + img = KiwiLightApp::TakeImage(); + + if(img.empty()) { + //oops we shall exit now because there be nothing in image + return NULL_MESSAGE; + } + } else { + this->lastIterationSuccessful = true; + img = cv::imread(RunnerSettings::IMAGE_TO_USE); + } + + resize(img, img, this->constantResize); + img.copyTo(this->originalImage); + img = this->preprocessor.ProcessImage(img); + img.copyTo(out); + std::vector targets = this->postprocessor.ProcessImage(img); + //find the percieved robot center using this->centerOffset + int trueCenterX = (this->constantResize.width / 2); + int robotCenterX = trueCenterX; + + int trueCenterY = (this->constantResize.height / 2); + int robotCenterY = trueCenterY; + + //find the target that is closest to the robot center + Target bestTarget; + int closestDist = 5000; // closest horizontal distance to the center + for(int i=0; icenterOffsetX; + double offestInchesY = centerInchesY - this->centerOffsetY; + + //convert back to pixels + double offsetPixelsX = offsetInchesX / inchesPerPixel; + double offsetPixelsY = offestInchesY / inchesPerPixel; + + //calculate the distance from the offset center + double distFromCenterX = offsetPixelsX - targ.Center().x; + double distFromCenterY = offsetPixelsY - targ.Center().y; + double trueDistance = sqrt(pow(distFromCenterX, 2) + pow(distFromCenterY, 2)); + + if(trueDistance < closestDist) { + closestDist = trueDistance; + bestTarget = targ; + robotCenterX = (int) offsetPixelsX; + robotCenterY = (int) offsetPixelsY; + } + } + + this->closestTarget = bestTarget; + this->lastFrameCenterPoint = Point(robotCenterX, robotCenterY); + + //figure out which target to send and then send the target + int coordX = -1, + coordY = -1, + width = -1, + height = -1, + distance = -1, + HAngle = 180, + VAngle = 180; + + std::string rioMessage = ""; + + if(targets.size() > 0) { + //use the best target to fill in the information to send to the rio + coordX = bestTarget.Center().x; + coordY = bestTarget.Center().y; + + width = bestTarget.Bounds().width; + height = bestTarget.Bounds().height; + + distance = bestTarget.Distance(); + + HAngle = bestTarget.HorizontalAngle(distance, robotCenterX); + VAngle = bestTarget.VerticalAngle(distance, robotCenterY); + } + + this->lastFrameTargets = targets; + + std::string x = std::to_string(coordX), + y = std::to_string(coordY), + w = std::to_string(width), + h = std::to_string(height), + d = std::to_string(distance), + ax = std::to_string(HAngle), + ay = std::to_string(VAngle); + + rioMessage = ":" + x + "," + y + "," + w + "," + h +"," + d + "," + ax + "," + ay + ";"; + + //mark up the image with some stuff for the programmers to look at :) + if(this->debug) { + cv::cvtColor(out, out, cv::COLOR_GRAY2BGR); + + //write the out string onto the image + cv::putText(out, rioMessage, cv::Point(5, 15), cv::FONT_HERSHEY_PLAIN, 1.0, cv::Scalar(0,0,255), 2); + + //draw a line where the perceived horizontal robot center is + int camHeight = this->constantResize.height; + cv::Point HlineTopPoint = cv::Point(robotCenterX, 0); + cv::Point HlineBottomPoint = cv::Point(robotCenterX, camHeight); + cv::line(out, HlineTopPoint, HlineBottomPoint, cv::Scalar(255,0,255)); + + //draw another line where the vertical robot center is + int camWidth = this->constantResize.width; + cv::Point VlineTopPoint = cv::Point(0, robotCenterY); + cv::Point VlineBottomPoint = cv::Point(camWidth, robotCenterY); + cv::line(out, VlineTopPoint, VlineBottomPoint, cv::Scalar(255, 0, 255)); + + //draw a dot in the center of each valid contour + std::vector contoursFromFrame = this->postprocessor.GetContoursFromLastFrame(); + std::vector validContours = this->postprocessor.GetValidContoursForTarget(contoursFromFrame); + + Target targ = Target(0, validContours, 0, 0, 0, 0); + rectangle(out, targ.Bounds(), Scalar(0, 0, 255), 3); + + for(int i=0; ioutputImage); + } + + return rioMessage; +} + + +int Runner::GetNumberOfContours(int target) { + return this->postprocessor.NumberOfContours(target); +} + +/** + * Returns the example target at the given id. Returns the 0th exampletarget if id is out of bounds. + */ +ExampleTarget Runner::GetExampleTargetByID(int id) { + return this->postprocessor.GetExampleTargetByID(id); +} + +void Runner::SetExampleTarget(int contourID, ExampleTarget target) { + this->postprocessor.SetTarget(contourID, target); +} + + +void Runner::SetPreprocessorProperty(PreProcessorProperty prop, double value) { + if(this->debug) { + this->preprocessor.SetProperty(prop, value); + } +} + + +double Runner::GetPreprocessorProperty(PreProcessorProperty prop) { + return this->preprocessor.GetProperty(prop); +} + + +void Runner::SetPostProcessorContourProperty(int contour, TargetProperty prop, SettingPair values) { + if(this->debug) { + this->postprocessor.SetTargetContourProperty(contour, prop, values); + } +} + + +SettingPair Runner::GetPostProcessorContourProperty(int contour, TargetProperty prop) { + return this->postprocessor.GetTargetContourProperty(contour, prop); +} + + +void Runner::SetRunnerProperty(RunnerProperty prop, double value) { + switch(prop) { + case RunnerProperty::OFFSET_X: + this->centerOffsetX = value; + break; + case RunnerProperty::OFFSET_Y: + this->centerOffsetY = value; + break; + case RunnerProperty::IMAGE_WIDTH: + this->constantResize.width = (int) value; + break; + case RunnerProperty::IMAGE_HEIGHT: + this->constantResize.height = (int) value; + break; + default: + this->postprocessor.SetRunnerProperty(prop, value); + break; + } +} + + +double Runner::GetRunnerProperty(RunnerProperty prop) { + switch(prop) { + case RunnerProperty::OFFSET_X: + return this->centerOffsetX; + case RunnerProperty::OFFSET_Y: + return this->centerOffsetY; + case RunnerProperty::IMAGE_WIDTH: + return this->constantResize.width; + case RunnerProperty::IMAGE_HEIGHT: + return this->constantResize.height; + } + + return this->postprocessor.GetRunnerProperty(prop); +} + +/** + * Parses the XMLdocument doc and initalizes all runner settings and variables. + */ +void Runner::parseDocument(XMLDocument doc) { + XMLTag camera = doc.GetTagsByName("camera")[0]; + this->cameraIndex = std::stoi(camera.GetAttributesByName("index")[0].Value()); + + std::vector camSettings = + camera.GetTagsByName("settings")[0] + .GetTagsByName("setting"); + + XMLTag config = doc.GetTagsByName("configuration")[0]; + this->configName = doc.GetTagsByName("configuration")[0].GetAttributesByName("name")[0].Value(); + + XMLTag cameraOffset = config.GetTagsByName("cameraOffset")[0]; + this->centerOffsetX = std::stod(cameraOffset.GetTagsByName("horizontal")[0].Content()); + this->centerOffsetY = std::stod(cameraOffset.GetTagsByName("vertical")[0].Content()); + + XMLTag constResize = config.GetTagsByName("constantResize")[0]; + int resizeX = std::stoi(constResize.GetTagsByName("width")[0].Content()); + int resizeY = std::stoi(constResize.GetTagsByName("height")[0].Content()); + this->constantResize = Size(resizeX, resizeY); + + XMLTag preprocess = config.GetTagsByName("preprocessor")[0]; + bool preprocessorTypeIsFull = (preprocess.GetAttributesByName("type")[0].Value() == "full" ? true : false); + + int preprocessorThreshold = std::stoi(preprocess.GetTagsByName("threshold")[0].Content()); + int preprocessorErosion = std::stoi(preprocess.GetTagsByName("erosion")[0].Content()); + int preprocessorDilation = std::stoi(preprocess.GetTagsByName("dilation")[0].Content()); + XMLTag color = preprocess.GetTagsByName("targetColor")[0]; + int error = std::stoi(color.GetAttributesByName("error")[0].Value()); + int h = std::stoi(color.GetTagsByName("h")[0].Content()); + int s = std::stoi(color.GetTagsByName("s")[0].Content()); + int v = std::stoi(color.GetTagsByName("v")[0].Content()); + Color preprocessorColor = Color(h, s, v, error, error, error); + + XMLTag postprocess = config.GetTagsByName("postprocessor")[0]; + XMLTag udp = postprocess.GetTagsByName("UDP")[0]; + std::string udpAddr = udp.GetTagsByName("address")[0].Content(); + int udpPort = std::stoi(udp.GetTagsByName("port")[0].Content()); + + std::vector targets = postprocess.GetTagsByName("target"); + for(int i=0; i targContours = targetTag.GetTagsByName("contour"); + + int targetId = std::stoi(targetTag.GetAttributesByName("id")[0].Value()); + std::vector contours; + + //find all contours and populate the vector + for(int k=0; kpostProcessorTargets.push_back(newTarget); + } + + //init the preprocessor and postprocessor here + this->preprocessor = PreProcessor(preprocessorTypeIsFull, preprocessorColor, preprocessorThreshold, preprocessorErosion, preprocessorDilation, this->debug); + this->postprocessor = PostProcessor(this->postProcessorTargets, this->debug); + KiwiLightApp::ReconnectUDP(udpAddr, udpPort); +} + +/** + * Applies the camera settings via shell. + */ +void Runner::applySettings(XMLDocument document) { + std::vector camSettings = + document.GetTagsByName("camera")[0] + .GetTagsByName("settings")[0] + .GetTagsByName("setting"); + + int camIndex = std::stoi(document.GetTagsByName("camera")[0].GetAttributesByName("index")[0].Value()); + KiwiLightApp::OpenNewCameraOnIndex(camIndex); + + for(int i=0; i points); - int X() { return this->x; }; - int Y() { return this->y; }; - Point Center() { return this->center; }; - int Width() { return this->width; }; - int Height() { return this->height; }; - int Angle() { return this->angle; }; - int Area() { return (this->width * this->height); }; - double AspectRatio() { return this->width / (double) this->height; }; - double Solidity() { return this->solidity; }; - - private: - std::vector points; - int x, - y, - width, - height, - angle; - - double solidity; - - Point center; - }; - - - class ExampleContour { - public: - ExampleContour() {}; - ExampleContour(int id); - ExampleContour(int id, - SettingPair distX, - SettingPair distY, - SettingPair angle, - SettingPair aspectRatio, - SettingPair solidity, - int minimumArea); - - bool IsContour(Contour contour); - int ID() { return this->id; }; - SettingPair DistX() { return this->distX; }; - SettingPair DistY() { return this->distY; }; - SettingPair Angle() { return this->angle; }; - SettingPair AspectRatio() { return this->aspectRatio; }; - SettingPair Solidity() { return this->solidity; }; - int MinimumArea() { return this->minimumArea; }; - - void SetDistX(SettingPair distX); - void SetDistY(SettingPair distY); - void SetAngle(SettingPair angle); - void SetAspectRatio(SettingPair aspectRatio); - void SetSolidity(SettingPair solidity); - void SetMinimumArea(int minimumArea); - - private: - int id; - SettingPair distX, - distY, - angle, - aspectRatio, - solidity; - - int minimumArea; - }; - - /** - * Represents a target found in an image - */ - class Target { - public: - Target(); - Target(int id, std::vector contours, double knownHeight, double focalHeight, double distErrorCorrect, double calibratedDistance); - int ID() { return this->id; }; - std::vector Contours() { return this->contours; }; - double Distance(); - int HorizontalAngle(int imageCenterX); - int HorizontalAngle(double distanceToTarget, int imageCenterX); - int VerticalAngle(int imageCenterY); - int VerticalAngle(double distanceToTarget, int imageCenterY); - int ObliqueAngle(int imageCenterX, int imageCenterY); - double KnownWidth() { return this->knownHeight; }; - double FocalWidth() { return this->focalHeight; }; - double DistanceErrorCorrection() { return this->distErrorCorrect; }; - double CalibratedDistance() { return this->calibratedDistance; }; - cv::Point Center() { return cv::Point(this->x, this->y); }; - cv::Rect Bounds(); - - private: - std::vector contours; - - int id, - x, - y, - width, - height; - - double knownHeight, - focalHeight, - distErrorCorrect, - calibratedDistance; - }; - - - class ExampleTarget { - public: - ExampleTarget() {}; - ExampleTarget(int id, std::vector contours, double knownHeight, double focalHeight, double distErrorCorrect, double calibratedDistance); - std::vector GetTargets(std::vector contours); - bool isTarget(std::vector contours); - std::vector GetValidContours(std::vector contours); - int ID() { return this->id; }; - std::vector Contours() { return this->contours; }; - ExampleContour GetExampleContourByID(int id); - void SetContourProperty(int contour, TargetProperty prop, SettingPair values); - SettingPair GetContourProperty(int contour, TargetProperty prop); - void SetTargetProperty(RunnerProperty prop, double value); - double GetTargetProperty(RunnerProperty prop); - void AddGenericContour(); - - private: - bool ArrayMaxed(int arr[], int size, int max); - bool ContainsDuplicates(int arr[], int size); - bool CombonationAlreadyTested(int combonation[], std::vector< std::vector > testedCombos, int comboSize); - int id; - std::vector contours; - - double knownHeight, - focalHeight, - distErrorCorrect, - calibratedDistance; - }; - - /** - * A module which takes images and gets them ready for work by the PostProcessor. - */ - class PreProcessor { - public: - PreProcessor() {}; - PreProcessor(bool FullPreprocessor, Color targetColor, int threshold, int erosion, int dilation, bool debugging); - void SetProperty(PreProcessorProperty prop, double value); - double GetProperty(PreProcessorProperty prop); - cv::Mat ProcessImage(cv::Mat img); - std::string toString(); - - private: - bool isFullPreprocessor, - debugging; - - //threshold values for contrasting image - double threshold, - threshValue; - - int threshtype; - - //dilation values for expanding, blurring, or dilating - int dilate, - erode; - - //what the camera looks for - Color targetColor; - }; - - /** - * Takes preprocessed images and finds targets within them. - */ - class PostProcessor { - public: - PostProcessor() {}; - PostProcessor(std::vector targets, bool debugging); - void SetTarget(int id, ExampleTarget target); - int NumberOfTargets() { return this->targets.size(); }; - int NumberOfContours(int target); - void SetTargetContourProperty(int contour, TargetProperty prop, SettingPair values); - SettingPair GetTargetContourProperty(int contour, TargetProperty prop); - void SetRunnerProperty(RunnerProperty prop, double value); - double GetRunnerProperty(RunnerProperty prop); - ExampleTarget GetExampleTargetByID(int id); - std::vector ProcessImage(cv::Mat img); - std::vector GetValidContoursForTarget(std::vector contours); - std::vector GetContoursFromLastFrame() { return this->contoursFromLastFrame; }; - - private: - bool debugging; - std::vector targets; - std::vector contoursFromLastFrame; - }; - - class CameraFrame { - public: - CameraFrame() {}; - CameraFrame(Mat img, int minimumArea); - Target SeenTarget() { return this->seenTarget; }; - int NumberOfContours() { return this->seenTarget.Contours().size(); }; - std::vector GetContoursGrouped(); - std::vector GetContours() { return this->seenTarget.Contours(); }; - int PositionValue(Contour contour); - Distance GetContourDistance(Contour contour); - - private: - Target seenTarget; - Mat image; - }; - - /** - * Handles everything vision from taking images to send coordinates to a RoboRIO(or other UDP destination) - */ - class Runner { - public: - static const std::string NULL_MESSAGE; - - Runner() {}; - Runner(std::string filename, bool debugging); - PreProcessor GetPreProcessor() { return this->preprocessor; }; - PostProcessor GetPostProcessor() { return this->postprocessor; }; - int GetCameraIndex() { return this->cameraIndex; }; - void SetImageResize(Size sz); - std::string Iterate(); - int GetNumberOfTargets() { return this->postprocessor.NumberOfTargets(); }; - int GetNumberOfContours(int target); - bool GetLastFrameSuccessful() { return this->lastIterationSuccessful; }; - std::vector GetLastFrameTargets() { return this->lastFrameTargets; }; - Target GetClosestTargetToCenter() { return this->closestTarget; }; - Point GetLastFrameCenterPoint() { return this->lastFrameCenterPoint; }; - std::string GetFileName() { return this->src; }; - cv::Mat GetOriginalImage() { return this->originalImage; }; - cv::Mat GetOutputImage() { return this->outputImage; }; - Size GetConstantSize() { return this->constantResize; }; - ExampleTarget GetExampleTargetByID(int id); - void SetExampleTarget(int targetID, ExampleTarget target); - void SetPreprocessorProperty(PreProcessorProperty prop, double value); - double GetPreprocessorProperty(PreProcessorProperty prop); - void SetPostProcessorContourProperty(int contour, TargetProperty prop, SettingPair values); - SettingPair GetPostProcessorContourProperty(int contour, TargetProperty prop); - void SetRunnerProperty(RunnerProperty prop, double value); - double GetRunnerProperty(RunnerProperty prop); - - private: - void parseDocument(XMLDocument doc); - void applySettings(XMLDocument document); - - PreProcessor preprocessor; - PostProcessor postprocessor; - Size constantResize; - - Target closestTarget; - - std::string src, - configName; - - int cameraIndex; - - cv::Mat outputImage, - originalImage; - - std::vector postProcessorTargets; - std::vector lastFrameTargets; - Point lastFrameCenterPoint; - bool lastIterationSuccessful; - bool stop, - debug; - - double centerOffsetX, - centerOffsetY; - }; - - /** - * utility that learns a seen target - */ - class ConfigLearner { - public: - ConfigLearner() {}; - ConfigLearner(PreProcessor preprocessor); - void StartLearning(); - void FeedImage(Mat img, int minimumContourArea); - ExampleTarget StopLearning(int minimumContourArea); - bool GetLearning() { return this->currentlyLearning; }; - bool GetHasFailed() { return this->failedFrames > 10; }; - int GetFramesLearned(); - Mat GetOutputImageFromLastFeed() { return this->out; }; - Mat GetOriginalImageFromLastFeed() { return this->original; }; - - private: - PreProcessor preprocessor; - - bool currentlyLearning; - std::vector currentFrames; - - int failedFrames; - - Mat out, - original; - }; - - - /** - * A tool that calculates the constants needed for accurate distance calculation - */ - class TargetDistanceLearner { - public: - TargetDistanceLearner() {}; - TargetDistanceLearner(PreProcessor preprocessor, PostProcessor postprocessor); - void FeedImage(Mat img); - void FeedTarget(Target targ); - int GetFramesLearned(); - bool GetHasFailed() { return this->failedFrames > 10; }; - double GetFocalWidth(double trueDistance, double trueWidth); - - private: - int frames; - int failedFrames; - PreProcessor preprocessor; - PostProcessor postprocessor; - std::vector targetWidths; - }; - - - class TargetTroubleshooter { - public: - TargetTroubleshooter() {}; - TargetTroubleshooter(VideoCapture cap, PreProcessor preprocessor, ExampleTarget target); - bool Troubleshoot(TroubleshootingData dataOut[]); - std::string GetOutputString() { return this->outString; }; - - private: - VideoCapture cap; - PreProcessor preprocessor; - ExampleTarget target; - - int framesCollected; - std::string outString; - }; -} - -#endif +#ifndef KiwiLight_RUNNER_H +#define KiwiLight_RUNNER_H + +#include "Settings.h" +#include "../util/Util.h" +#include "opencv2/opencv.hpp" + +/** + * The main header file for the KiwiLight Runner + * Written By: Brach Knutson + */ + +using namespace cv; + +namespace KiwiLight { + + /** + * Descriptor enumeration for the type of preprocessor being used + */ + enum PreProcessorType { + FULL, + PARTIAL + }; + + enum RunnerProperty { + OFFSET_X, + OFFSET_Y, + IMAGE_WIDTH, + IMAGE_HEIGHT, + TRUE_WIDTH, + PERCEIVED_WIDTH, + CALIBRATED_DISTANCE, + ERROR_CORRECTION + }; + + + enum PreProcessorProperty { + IS_FULL, + THRESHOLD, + DILATION, + EROSION, + COLOR_HUE, + COLOR_SATURATION, + COLOR_VALUE, + COLOR_ERROR + }; + + /** + * Describes the names of certain properties of a target. + */ + enum TargetProperty { + DIST_X, + DIST_Y, + ANGLE, + ASPECT_RATIO, + SOLIDITY, + MINIMUM_AREA + }; + + + struct TroubleshootingData { + int missedHorizontalDistances, + missedVerticalDistances, + missedAngles, + missedSolidities, + missedAspectRatios; + + double averageHorizontalDistance, + averageVerticalDistance, + averageAngle, + averageSolidity, + averageAspectRatio; + + double targetHorizontalDistance, + targetVerticalDistance, + targetAngle, + targetSolidity, + targetAspectRatio; + }; + + + class Contour { + public: + Contour() {}; + Contour(std::vector points); + int X() { return this->x; }; + int Y() { return this->y; }; + Point Center() { return this->center; }; + int Width() { return this->width; }; + int Height() { return this->height; }; + int Angle() { return this->angle; }; + int Area() { return (this->width * this->height); }; + double AspectRatio() { return this->width / (double) this->height; }; + double Solidity() { return this->solidity; }; + + private: + std::vector points; + int x, + y, + width, + height, + angle; + + double solidity; + + Point center; + }; + + + class ExampleContour { + public: + ExampleContour() {}; + ExampleContour(int id); + ExampleContour(int id, + SettingPair distX, + SettingPair distY, + SettingPair angle, + SettingPair aspectRatio, + SettingPair solidity, + int minimumArea); + + bool IsContour(Contour contour); + int ID() { return this->id; }; + SettingPair DistX() { return this->distX; }; + SettingPair DistY() { return this->distY; }; + SettingPair Angle() { return this->angle; }; + SettingPair AspectRatio() { return this->aspectRatio; }; + SettingPair Solidity() { return this->solidity; }; + int MinimumArea() { return this->minimumArea; }; + + void SetDistX(SettingPair distX); + void SetDistY(SettingPair distY); + void SetAngle(SettingPair angle); + void SetAspectRatio(SettingPair aspectRatio); + void SetSolidity(SettingPair solidity); + void SetMinimumArea(int minimumArea); + + private: + int id; + SettingPair distX, + distY, + angle, + aspectRatio, + solidity; + + int minimumArea; + }; + + /** + * Represents a target found in an image + */ + class Target { + public: + Target(); + Target(int id, std::vector contours, double knownHeight, double focalHeight, double distErrorCorrect, double calibratedDistance); + int ID() { return this->id; }; + std::vector Contours() { return this->contours; }; + double Distance(); + int HorizontalAngle(int imageCenterX); + int HorizontalAngle(double distanceToTarget, int imageCenterX); + int VerticalAngle(int imageCenterY); + int VerticalAngle(double distanceToTarget, int imageCenterY); + int ObliqueAngle(int imageCenterX, int imageCenterY); + double KnownWidth() { return this->knownHeight; }; + double FocalWidth() { return this->focalHeight; }; + double DistanceErrorCorrection() { return this->distErrorCorrect; }; + double CalibratedDistance() { return this->calibratedDistance; }; + cv::Point Center() { return cv::Point(this->x, this->y); }; + cv::Rect Bounds(); + + private: + std::vector contours; + + int id, + x, + y, + width, + height; + + double knownHeight, + focalHeight, + distErrorCorrect, + calibratedDistance; + }; + + + class ExampleTarget { + public: + ExampleTarget() {}; + ExampleTarget(int id, std::vector contours, double knownHeight, double focalHeight, double distErrorCorrect, double calibratedDistance); + std::vector GetTargets(std::vector contours); + bool isTarget(std::vector contours); + std::vector GetValidContours(std::vector contours); + int ID() { return this->id; }; + std::vector Contours() { return this->contours; }; + ExampleContour GetExampleContourByID(int id); + void SetContourProperty(int contour, TargetProperty prop, SettingPair values); + SettingPair GetContourProperty(int contour, TargetProperty prop); + void SetTargetProperty(RunnerProperty prop, double value); + double GetTargetProperty(RunnerProperty prop); + void AddGenericContour(); + + private: + bool ArrayMaxed(int arr[], int size, int max); + bool ContainsDuplicates(int arr[], int size); + bool CombonationAlreadyTested(int combonation[], std::vector< std::vector > testedCombos, int comboSize); + int id; + std::vector contours; + + double knownHeight, + focalHeight, + distErrorCorrect, + calibratedDistance; + }; + + /** + * A module which takes images and gets them ready for work by the PostProcessor. + */ + class PreProcessor { + public: + PreProcessor() {}; + PreProcessor(bool FullPreprocessor, Color targetColor, int threshold, int erosion, int dilation, bool debugging); + void SetProperty(PreProcessorProperty prop, double value); + double GetProperty(PreProcessorProperty prop); + cv::Mat ProcessImage(cv::Mat img); + std::string toString(); + + private: + bool isFullPreprocessor, + debugging; + + //threshold values for contrasting image + double threshold, + threshValue; + + int threshtype; + + //dilation values for expanding, blurring, or dilating + int dilate, + erode; + + //what the camera looks for + Color targetColor; + }; + + /** + * Takes preprocessed images and finds targets within them. + */ + class PostProcessor { + public: + PostProcessor() {}; + PostProcessor(std::vector targets, bool debugging); + void SetTarget(int id, ExampleTarget target); + int NumberOfTargets() { return this->targets.size(); }; + int NumberOfContours(int target); + void SetTargetContourProperty(int contour, TargetProperty prop, SettingPair values); + SettingPair GetTargetContourProperty(int contour, TargetProperty prop); + void SetRunnerProperty(RunnerProperty prop, double value); + double GetRunnerProperty(RunnerProperty prop); + ExampleTarget GetExampleTargetByID(int id); + std::vector ProcessImage(cv::Mat img); + std::vector GetValidContoursForTarget(std::vector contours); + std::vector GetContoursFromLastFrame() { return this->contoursFromLastFrame; }; + + private: + bool debugging; + std::vector targets; + std::vector contoursFromLastFrame; + }; + + class CameraFrame { + public: + CameraFrame() {}; + CameraFrame(Mat img, int minimumArea); + Target SeenTarget() { return this->seenTarget; }; + int NumberOfContours() { return this->seenTarget.Contours().size(); }; + std::vector GetContoursGrouped(); + std::vector GetContours() { return this->seenTarget.Contours(); }; + int PositionValue(Contour contour); + Distance GetContourDistance(Contour contour); + + private: + Target seenTarget; + Mat image; + }; + + /** + * Handles everything vision from taking images to send coordinates to a RoboRIO(or other UDP destination) + */ + class Runner { + public: + static const std::string NULL_MESSAGE; + + Runner() {}; + Runner(std::string filename, bool debugging); + PreProcessor GetPreProcessor() { return this->preprocessor; }; + PostProcessor GetPostProcessor() { return this->postprocessor; }; + int GetCameraIndex() { return this->cameraIndex; }; + void SetImageResize(Size sz); + std::string Iterate(); + int GetNumberOfTargets() { return this->postprocessor.NumberOfTargets(); }; + int GetNumberOfContours(int target); + bool GetLastFrameSuccessful() { return this->lastIterationSuccessful; }; + std::vector GetLastFrameTargets() { return this->lastFrameTargets; }; + Target GetClosestTargetToCenter() { return this->closestTarget; }; + Point GetLastFrameCenterPoint() { return this->lastFrameCenterPoint; }; + std::string GetFileName() { return this->src; }; + cv::Mat GetOriginalImage() { return this->originalImage; }; + cv::Mat GetOutputImage() { return this->outputImage; }; + Size GetConstantSize() { return this->constantResize; }; + ExampleTarget GetExampleTargetByID(int id); + void SetExampleTarget(int targetID, ExampleTarget target); + void SetPreprocessorProperty(PreProcessorProperty prop, double value); + double GetPreprocessorProperty(PreProcessorProperty prop); + void SetPostProcessorContourProperty(int contour, TargetProperty prop, SettingPair values); + SettingPair GetPostProcessorContourProperty(int contour, TargetProperty prop); + void SetRunnerProperty(RunnerProperty prop, double value); + double GetRunnerProperty(RunnerProperty prop); + + private: + void parseDocument(XMLDocument doc); + void applySettings(XMLDocument document); + + PreProcessor preprocessor; + PostProcessor postprocessor; + Size constantResize; + + Target closestTarget; + + std::string src, + configName; + + int cameraIndex; + + cv::Mat outputImage, + originalImage; + + std::vector postProcessorTargets; + std::vector lastFrameTargets; + Point lastFrameCenterPoint; + bool lastIterationSuccessful; + bool stop, + debug; + + double centerOffsetX, + centerOffsetY; + }; + + /** + * utility that learns a seen target + */ + class ConfigLearner { + public: + ConfigLearner() {}; + ConfigLearner(PreProcessor preprocessor); + void StartLearning(); + void FeedImage(Mat img, int minimumContourArea); + ExampleTarget StopLearning(int minimumContourArea); + bool GetLearning() { return this->currentlyLearning; }; + bool GetHasFailed() { return this->failedFrames > 10; }; + int GetFramesLearned(); + Mat GetOutputImageFromLastFeed() { return this->out; }; + Mat GetOriginalImageFromLastFeed() { return this->original; }; + + private: + PreProcessor preprocessor; + + bool currentlyLearning; + std::vector currentFrames; + + int failedFrames; + + Mat out, + original; + }; + + + /** + * A tool that calculates the constants needed for accurate distance calculation + */ + class TargetDistanceLearner { + public: + TargetDistanceLearner() {}; + TargetDistanceLearner(PreProcessor preprocessor, PostProcessor postprocessor); + void FeedImage(Mat img); + void FeedTarget(Target targ); + int GetFramesLearned(); + bool GetHasFailed() { return this->failedFrames > 10; }; + double GetFocalWidth(double trueDistance, double trueWidth); + + private: + int frames; + int failedFrames; + PreProcessor preprocessor; + PostProcessor postprocessor; + std::vector targetWidths; + }; + + + class TargetTroubleshooter { + public: + TargetTroubleshooter() {}; + TargetTroubleshooter(VideoCapture cap, PreProcessor preprocessor, ExampleTarget target); + bool Troubleshoot(TroubleshootingData dataOut[]); + std::string GetOutputString() { return this->outString; }; + + private: + VideoCapture cap; + PreProcessor preprocessor; + ExampleTarget target; + + int framesCollected; + std::string outString; + }; +} + +#endif diff --git a/KiwiLight - Vision Code/runner/RunnerSettings.cpp b/KiwiLight - Vision Code/runner/RunnerSettings.cpp index acb04bc..494e972 100644 --- a/KiwiLight - Vision Code/runner/RunnerSettings.cpp +++ b/KiwiLight - Vision Code/runner/RunnerSettings.cpp @@ -1,9 +1,9 @@ -#include "Settings.h" - -/** - * This file's only purpose is literally to define one variable that I couldnt define in the header - * Written By: Brach Knutson - */ - -const bool KiwiLight::RunnerSettings::USE_CAMERA = true; +#include "Settings.h" + +/** + * This file's only purpose is literally to define one variable that I couldnt define in the header + * Written By: Brach Knutson + */ + +const bool KiwiLight::RunnerSettings::USE_CAMERA = true; const std::string KiwiLight::RunnerSettings::IMAGE_TO_USE = "sized.png"; \ No newline at end of file diff --git a/KiwiLight - Vision Code/runner/Settings.h b/KiwiLight - Vision Code/runner/Settings.h index 7f7ff63..d4e48a2 100644 --- a/KiwiLight - Vision Code/runner/Settings.h +++ b/KiwiLight - Vision Code/runner/Settings.h @@ -1,19 +1,19 @@ -#ifndef SETTINGS_H -#define SETTINGS_H - -#include - -/** - * Settings file for runner. Defines general rules for runner to follow. Used for debugging - * Written By: Brach Knutson - */ - -namespace KiwiLight { - class RunnerSettings { - public: - static const bool USE_CAMERA; - static const std::string IMAGE_TO_USE; - }; -} - -#endif +#ifndef SETTINGS_H +#define SETTINGS_H + +#include + +/** + * Settings file for runner. Defines general rules for runner to follow. Used for debugging + * Written By: Brach Knutson + */ + +namespace KiwiLight { + class RunnerSettings { + public: + static const bool USE_CAMERA; + static const std::string IMAGE_TO_USE; + }; +} + +#endif diff --git a/KiwiLight - Vision Code/runner/Target.cpp b/KiwiLight - Vision Code/runner/Target.cpp index eba2884..61905c5 100644 --- a/KiwiLight - Vision Code/runner/Target.cpp +++ b/KiwiLight - Vision Code/runner/Target.cpp @@ -1,161 +1,161 @@ -#include "Runner.h" - -/** - * Source file for the Target class. - * Written By: Brach Knutson - */ - -using namespace cv; -using namespace KiwiLight; - - -Target::Target() { - this->id = -1; - this->contours = std::vector(); - this->knownHeight = -1; - this->focalHeight = -1; - this->distErrorCorrect = -1; - this->calibratedDistance = -1; - this->width = -1; - this->height = -1; - this->x = -1; - this->y = -1; -} - -/** - * Creates a new Target object with the vector of contours. - * DO NOT use this to find a target, Targets will be - * generated by the ExampleTarget class. Use an ExampleTarget - * to find targets!!! - */ -Target::Target(int id, std::vector contours, double knownHeight, double focalHeight, double distErrorCorrect, double calibratedDistance) { - this->id = id; - this->contours = contours; - this->knownHeight = knownHeight; - this->focalHeight = focalHeight; - this->distErrorCorrect = distErrorCorrect; - this->calibratedDistance = calibratedDistance; - - if(contours.size() == 1) { - this->width = contours[0].Width(); - this->height = contours[0].Height(); - this->x = (this->width / 2) + contours[0].X(); - this->y = (this->height / 2) + contours[0].Y(); - } else { - int biggestX = -5000; - int smallestX = 5000; - int biggestY = -5000; - int smallestY = 5000; - - int biggestXWidth = 0; - int biggestYHeight = 0; - - for(int i=0; i biggestX) { - biggestX = contours[i].X(); - biggestXWidth = contours[i].Width(); - } - if(contours[i].X() < smallestX) { - smallestX = contours[i].X(); - } - - if(contours[i].Y() > biggestY) { - biggestY = contours[i].Y(); - biggestYHeight = contours[i].Height(); - } - if(contours[i].Y() < smallestY) { - smallestY = contours[i].Y(); - } - } - - this->width = (biggestX - smallestX) + biggestXWidth; - this->height = (biggestY - smallestY) + biggestYHeight; - this->x = (this->width / 2) + smallestX; - this->y = (this->height / 2) + smallestY; - - // std::cout << "biggest x: " << biggestX << std::endl; - // std::cout << "biggest x width: " << biggestXWidth << std::endl; - // std::cout << "smallest x: " << smallestX << std::endl; - // std::cout << "total width: " << this->width << std::endl; - } -} - -/** - * Returns the distance from the camera to the target in inches. - */ -double Target::Distance() { - //calculate distance (formula: known(in) * focal(in) / real(px)) - double dist = this->knownHeight * this->focalHeight / (double) this->Bounds().width; - - double err = this->calibratedDistance - dist; - err *= this->distErrorCorrect; - - return (dist + err); -} - - -int Target::HorizontalAngle(double distanceToTarget, int imageCenterX) { - double inchesPerPixel = this->knownHeight / this->Bounds().width; - int pixelsToTarget = imageCenterX - this->Center().x; - - double inchesToTarget = pixelsToTarget * inchesPerPixel; - double angle = atan(inchesToTarget / distanceToTarget); - - //convert to degrees - angle *= (180 / M_PI); - return (int) angle; -} - - -int Target::HorizontalAngle(int imageCenterX) { - return this->HorizontalAngle(this->Distance(), imageCenterX); -} - - -int Target::VerticalAngle(double distanceToTarget, int imageCenterY) { - double InchesPerPixel = this->knownHeight / this->Bounds().width; - int pixelsToTarget = imageCenterY - this->Center().y; - - double inchesToTarget = pixelsToTarget * InchesPerPixel; - double angle = atan(inchesToTarget / distanceToTarget); - - //convert to degrees and return - angle *= (180 / M_PI); - return (int) angle; -} - - -int Target::VerticalAngle(int imageCenterY) { - return this->VerticalAngle(this->Distance(), imageCenterY); -} - - -int Target::ObliqueAngle(int imageCenterX, int imageCenterY) { - double horizontalAngle = this->HorizontalAngle(imageCenterX) * (M_PI / 180); //convert angle from degrees to radians - double verticalAngle = this->VerticalAngle(imageCenterY) * (M_PI / 180); - double targetDistance = this->Distance(); - - double horizontalOffset = targetDistance * tan(horizontalAngle); - double verticalOffset = targetDistance * tan(verticalAngle); - double obliqueOffset = sqrt ( - pow(horizontalOffset, 2) + - pow(verticalOffset, 2) - ); - - double obliqueAngle = atan(obliqueOffset / targetDistance); - - //convert the angle back to degrees - obliqueAngle *= (180 / M_PI); - return obliqueAngle; -} - -/** - * Returns a rectangle that represents the bounds of the target. - */ -cv::Rect Target::Bounds() { - //find the corner x and y because the local x and y are for the center - int trueX = this->x - (this->width / 2); - int trueY = this->y - (this->height / 2); - - return cv::Rect(trueX, trueY, this->width, this->height); +#include "Runner.h" + +/** + * Source file for the Target class. + * Written By: Brach Knutson + */ + +using namespace cv; +using namespace KiwiLight; + + +Target::Target() { + this->id = -1; + this->contours = std::vector(); + this->knownHeight = -1; + this->focalHeight = -1; + this->distErrorCorrect = -1; + this->calibratedDistance = -1; + this->width = -1; + this->height = -1; + this->x = -1; + this->y = -1; +} + +/** + * Creates a new Target object with the vector of contours. + * DO NOT use this to find a target, Targets will be + * generated by the ExampleTarget class. Use an ExampleTarget + * to find targets!!! + */ +Target::Target(int id, std::vector contours, double knownHeight, double focalHeight, double distErrorCorrect, double calibratedDistance) { + this->id = id; + this->contours = contours; + this->knownHeight = knownHeight; + this->focalHeight = focalHeight; + this->distErrorCorrect = distErrorCorrect; + this->calibratedDistance = calibratedDistance; + + if(contours.size() == 1) { + this->width = contours[0].Width(); + this->height = contours[0].Height(); + this->x = (this->width / 2) + contours[0].X(); + this->y = (this->height / 2) + contours[0].Y(); + } else { + int biggestX = -5000; + int smallestX = 5000; + int biggestY = -5000; + int smallestY = 5000; + + int biggestXWidth = 0; + int biggestYHeight = 0; + + for(int i=0; i biggestX) { + biggestX = contours[i].X(); + biggestXWidth = contours[i].Width(); + } + if(contours[i].X() < smallestX) { + smallestX = contours[i].X(); + } + + if(contours[i].Y() > biggestY) { + biggestY = contours[i].Y(); + biggestYHeight = contours[i].Height(); + } + if(contours[i].Y() < smallestY) { + smallestY = contours[i].Y(); + } + } + + this->width = (biggestX - smallestX) + biggestXWidth; + this->height = (biggestY - smallestY) + biggestYHeight; + this->x = (this->width / 2) + smallestX; + this->y = (this->height / 2) + smallestY; + + // std::cout << "biggest x: " << biggestX << std::endl; + // std::cout << "biggest x width: " << biggestXWidth << std::endl; + // std::cout << "smallest x: " << smallestX << std::endl; + // std::cout << "total width: " << this->width << std::endl; + } +} + +/** + * Returns the distance from the camera to the target in inches. + */ +double Target::Distance() { + //calculate distance (formula: known(in) * focal(in) / real(px)) + double dist = this->knownHeight * this->focalHeight / (double) this->Bounds().width; + + double err = this->calibratedDistance - dist; + err *= this->distErrorCorrect; + + return (dist + err); +} + + +int Target::HorizontalAngle(double distanceToTarget, int imageCenterX) { + double inchesPerPixel = this->knownHeight / this->Bounds().width; + int pixelsToTarget = imageCenterX - this->Center().x; + + double inchesToTarget = pixelsToTarget * inchesPerPixel; + double angle = atan(inchesToTarget / distanceToTarget); + + //convert to degrees + angle *= (180 / M_PI); + return (int) angle; +} + + +int Target::HorizontalAngle(int imageCenterX) { + return this->HorizontalAngle(this->Distance(), imageCenterX); +} + + +int Target::VerticalAngle(double distanceToTarget, int imageCenterY) { + double InchesPerPixel = this->knownHeight / this->Bounds().width; + int pixelsToTarget = imageCenterY - this->Center().y; + + double inchesToTarget = pixelsToTarget * InchesPerPixel; + double angle = atan(inchesToTarget / distanceToTarget); + + //convert to degrees and return + angle *= (180 / M_PI); + return (int) angle; +} + + +int Target::VerticalAngle(int imageCenterY) { + return this->VerticalAngle(this->Distance(), imageCenterY); +} + + +int Target::ObliqueAngle(int imageCenterX, int imageCenterY) { + double horizontalAngle = this->HorizontalAngle(imageCenterX) * (M_PI / 180); //convert angle from degrees to radians + double verticalAngle = this->VerticalAngle(imageCenterY) * (M_PI / 180); + double targetDistance = this->Distance(); + + double horizontalOffset = targetDistance * tan(horizontalAngle); + double verticalOffset = targetDistance * tan(verticalAngle); + double obliqueOffset = sqrt ( + pow(horizontalOffset, 2) + + pow(verticalOffset, 2) + ); + + double obliqueAngle = atan(obliqueOffset / targetDistance); + + //convert the angle back to degrees + obliqueAngle *= (180 / M_PI); + return obliqueAngle; +} + +/** + * Returns a rectangle that represents the bounds of the target. + */ +cv::Rect Target::Bounds() { + //find the corner x and y because the local x and y are for the center + int trueX = this->x - (this->width / 2); + int trueY = this->y - (this->height / 2); + + return cv::Rect(trueX, trueY, this->width, this->height); } \ No newline at end of file diff --git a/KiwiLight - Vision Code/runner/TargetDistanceLearner.cpp b/KiwiLight - Vision Code/runner/TargetDistanceLearner.cpp index 42bf20f..d855cf4 100644 --- a/KiwiLight - Vision Code/runner/TargetDistanceLearner.cpp +++ b/KiwiLight - Vision Code/runner/TargetDistanceLearner.cpp @@ -1,58 +1,58 @@ -#include "Runner.h" - -/** - * Source file for the TargetDistanceLearner class. - * Written By: Brach Knutson - */ - -using namespace cv; -using namespace KiwiLight; - - -TargetDistanceLearner::TargetDistanceLearner(PreProcessor preprocessor, PostProcessor postprocessor) { - this->preprocessor = preprocessor; - this->postprocessor = postprocessor; - this->frames = 0; -} - - -void TargetDistanceLearner::FeedImage(Mat image) { - if(image.empty()) { - failedFrames++; - return; - } - - Mat img(image); - img = this->preprocessor.ProcessImage(img); - std::vector frameTargs = this->postprocessor.ProcessImage(img); - if(frameTargs.size() == 1) { - Target targ = frameTargs[0]; - this->targetWidths.push_back((double) targ.Bounds().width); - this->frames++; - } -} - - -void TargetDistanceLearner::FeedTarget(Target targ) { - this->targetWidths.push_back((double) targ.Bounds().width); - this->frames++; -} - - -double TargetDistanceLearner::GetFocalWidth(double trueDistance, double trueWidth) { - int sizeBeforeRemove = targetWidths.size(); - this->targetWidths = DataUtils::SortLeastGreatestDouble(this->targetWidths); - this->targetWidths = DataUtils::RemoveOutliers(this->targetWidths, 30); - - double avgWidth = DataUtils::Average(targetWidths); - - double focalWidth = avgWidth * trueDistance / trueWidth; - this->targetWidths = std::vector(); //reset the vector so it can learn again - this->frames = 0; //reset the frames counter so it can learn again - return focalWidth; -} - - -int TargetDistanceLearner::GetFramesLearned() { - return this->frames; -} +#include "Runner.h" + +/** + * Source file for the TargetDistanceLearner class. + * Written By: Brach Knutson + */ + +using namespace cv; +using namespace KiwiLight; + + +TargetDistanceLearner::TargetDistanceLearner(PreProcessor preprocessor, PostProcessor postprocessor) { + this->preprocessor = preprocessor; + this->postprocessor = postprocessor; + this->frames = 0; +} + + +void TargetDistanceLearner::FeedImage(Mat image) { + if(image.empty()) { + failedFrames++; + return; + } + + Mat img(image); + img = this->preprocessor.ProcessImage(img); + std::vector frameTargs = this->postprocessor.ProcessImage(img); + if(frameTargs.size() == 1) { + Target targ = frameTargs[0]; + this->targetWidths.push_back((double) targ.Bounds().width); + this->frames++; + } +} + + +void TargetDistanceLearner::FeedTarget(Target targ) { + this->targetWidths.push_back((double) targ.Bounds().width); + this->frames++; +} + + +double TargetDistanceLearner::GetFocalWidth(double trueDistance, double trueWidth) { + int sizeBeforeRemove = targetWidths.size(); + this->targetWidths = DataUtils::SortLeastGreatestDouble(this->targetWidths); + this->targetWidths = DataUtils::RemoveOutliers(this->targetWidths, 30); + + double avgWidth = DataUtils::Average(targetWidths); + + double focalWidth = avgWidth * trueDistance / trueWidth; + this->targetWidths = std::vector(); //reset the vector so it can learn again + this->frames = 0; //reset the frames counter so it can learn again + return focalWidth; +} + + +int TargetDistanceLearner::GetFramesLearned() { + return this->frames; +} diff --git a/KiwiLight - Vision Code/runner/TargetTroubleshooter.cpp b/KiwiLight - Vision Code/runner/TargetTroubleshooter.cpp index 09ced60..f6ea656 100644 --- a/KiwiLight - Vision Code/runner/TargetTroubleshooter.cpp +++ b/KiwiLight - Vision Code/runner/TargetTroubleshooter.cpp @@ -1,225 +1,225 @@ -#include "Runner.h" - -/** - * Source file for the TargetTroubleshooter class. - * Written By: Brach Knutson - */ - -using namespace KiwiLight; - -static const int TROUBLESHOOT_FRAMES = 50; - -/** - * Creates a new TargetTroubleshooter. The "target" parameter is the target that needs to be troubleshot. - */ -TargetTroubleshooter::TargetTroubleshooter(VideoCapture cap, PreProcessor preprocessor, ExampleTarget target) { - this->cap = cap; - this->preprocessor = preprocessor; - this->target = target; -} - -/** - * Troubleshoots the target. - * @param allowableMissedTests how many tests a contour is allowed to miss before it cannot be part of the target. - * @param dataOut an array of TroubleshootingData that test results and values will be dumped in by the method. - * Precondition: dataOut is the same size as target.Contours.size() - */ -bool TargetTroubleshooter::Troubleshoot(TroubleshootingData dataOut[]) { - CameraFrame frames[TROUBLESHOOT_FRAMES]; - int minimumArea = 50000; - - //figure out the minimum area - for(int i=0; itarget.Contours().size(); i++) { - if(this->target.Contours()[i].MinimumArea() < minimumArea) { - minimumArea = this->target.Contours()[i].MinimumArea(); - } - } - - //capture the frames - for(int i=0; icap.read(img); - } else { - success = true; - img = imread(RunnerSettings::IMAGE_TO_USE); - } - img = this->preprocessor.ProcessImage(img); - - if(success) { - CameraFrame newFrame = CameraFrame(img, minimumArea); - frames[i] = newFrame; - } else { - i--; - std::cout << "CAMERA GRAB FAILED! "; - } - - double percentDone = i / (double) TROUBLESHOOT_FRAMES; - percentDone *= 100; - - this->outString = "Collecting and processing images (" + std::to_string((int) percentDone) + "%)"; - } - - //figure out the average number of contours per frame - std::vector avgContours; - for(int i=0; i > groupedContours = std::vector< std::vector >(this->target.Contours().size()); - - int discardedFrames = 0; - for(int i=0; i grouped = frames[i].GetContoursGrouped(); - - for(int a=0; a > matchedContours = std::vector >(this->target.Contours().size()); //index 0 of matchedContours will correspond with exampleContour with id 0, 1 with 1, 2 with 2, etc - std::cout << "matched contours size: " << matchedContours.size() << std::endl; - std::vector targetContours = this->target.Contours(); - - for(int i=0; i group = groupedContours[i]; - std::vector horizontalDistances; - std::vector verticalDistances; - - std::cout << "group size: " << group.size() << std::endl; - - for(int a=0; atarget.Contours().size()]; - - //run tests on the contours and build the data in TroubleshootingData - for(int i=0; i HorizontalDistances; - std::vector VerticalDistances; - std::vector Angles; - std::vector Solidities; - std::vector AspectRatios; - - std::cout << "matched group " << i << " size: " << matchedContours[i].size() << std::endl; - for(int a=0; atarget.Contours()[i]; - Contour contourToTest = matchedContours[i][a]; - - //test contour - Distance dist = frames[a].GetContourDistance(contourToTest); - bool distXTest = (dist.x < testingContour.DistX().UpperBound()) && (dist.x > testingContour.DistX().LowerBound()); - bool distYTest = (dist.y < testingContour.DistY().UpperBound()) && (dist.y > testingContour.DistY().LowerBound()); - bool angleTest = (contourToTest.Angle() < testingContour.Angle().UpperBound()) && (contourToTest.Angle() > testingContour.Angle().LowerBound()); - bool solidityTest = (contourToTest.Solidity() < testingContour.Solidity().UpperBound()) && (contourToTest.Solidity() > testingContour.Solidity().LowerBound()); - bool aspectTest = (contourToTest.AspectRatio() < testingContour.AspectRatio().UpperBound()) && (contourToTest.AspectRatio() > testingContour.AspectRatio().LowerBound()); - - HorizontalDistances.push_back(dist.x); - VerticalDistances.push_back(dist.y); - Angles.push_back(contourToTest.Angle()); - Solidities.push_back(contourToTest.Solidity()); - AspectRatios.push_back(contourToTest.AspectRatio()); - - if(!distXTest) data[i].missedHorizontalDistances++; - if(!distYTest) data[i].missedVerticalDistances++; - if(!angleTest) data[i].missedAngles++; - if(!solidityTest) data[i].missedSolidities++; - if(!aspectTest) data[i].missedAspectRatios++; - } - - std::cout << "horizontal distances: " << DataUtils::VectorToString(HorizontalDistances) << std::endl; - std::cout << "vertical distances: " << DataUtils::VectorToString(VerticalDistances) << std::endl; - std::cout << "angles: " << DataUtils::VectorToString(Angles) << std::endl; - std::cout << "solidities: " << DataUtils::VectorToString(Solidities) << std::endl; - std::cout << "aspect ratios: " << DataUtils::VectorToString(AspectRatios) << std::endl; - - data[i].averageHorizontalDistance = DataUtils::Average(HorizontalDistances); - data[i].averageVerticalDistance = DataUtils::Average(VerticalDistances); - data[i].averageAngle = DataUtils::Average(Angles); - data[i].averageSolidity = DataUtils::Average(Solidities); - data[i].averageAspectRatio = DataUtils::Average(AspectRatios); - } - - std::cout << "TROUBLESHOOTING RESULTS:" << std::endl; - std::cout << std::endl; - - for(int i=0; icap = cap; + this->preprocessor = preprocessor; + this->target = target; +} + +/** + * Troubleshoots the target. + * @param allowableMissedTests how many tests a contour is allowed to miss before it cannot be part of the target. + * @param dataOut an array of TroubleshootingData that test results and values will be dumped in by the method. + * Precondition: dataOut is the same size as target.Contours.size() + */ +bool TargetTroubleshooter::Troubleshoot(TroubleshootingData dataOut[]) { + CameraFrame frames[TROUBLESHOOT_FRAMES]; + int minimumArea = 50000; + + //figure out the minimum area + for(int i=0; itarget.Contours().size(); i++) { + if(this->target.Contours()[i].MinimumArea() < minimumArea) { + minimumArea = this->target.Contours()[i].MinimumArea(); + } + } + + //capture the frames + for(int i=0; icap.read(img); + } else { + success = true; + img = imread(RunnerSettings::IMAGE_TO_USE); + } + img = this->preprocessor.ProcessImage(img); + + if(success) { + CameraFrame newFrame = CameraFrame(img, minimumArea); + frames[i] = newFrame; + } else { + i--; + std::cout << "CAMERA GRAB FAILED! "; + } + + double percentDone = i / (double) TROUBLESHOOT_FRAMES; + percentDone *= 100; + + this->outString = "Collecting and processing images (" + std::to_string((int) percentDone) + "%)"; + } + + //figure out the average number of contours per frame + std::vector avgContours; + for(int i=0; i > groupedContours = std::vector< std::vector >(this->target.Contours().size()); + + int discardedFrames = 0; + for(int i=0; i grouped = frames[i].GetContoursGrouped(); + + for(int a=0; a > matchedContours = std::vector >(this->target.Contours().size()); //index 0 of matchedContours will correspond with exampleContour with id 0, 1 with 1, 2 with 2, etc + std::cout << "matched contours size: " << matchedContours.size() << std::endl; + std::vector targetContours = this->target.Contours(); + + for(int i=0; i group = groupedContours[i]; + std::vector horizontalDistances; + std::vector verticalDistances; + + std::cout << "group size: " << group.size() << std::endl; + + for(int a=0; atarget.Contours().size()]; + + //run tests on the contours and build the data in TroubleshootingData + for(int i=0; i HorizontalDistances; + std::vector VerticalDistances; + std::vector Angles; + std::vector Solidities; + std::vector AspectRatios; + + std::cout << "matched group " << i << " size: " << matchedContours[i].size() << std::endl; + for(int a=0; atarget.Contours()[i]; + Contour contourToTest = matchedContours[i][a]; + + //test contour + Distance dist = frames[a].GetContourDistance(contourToTest); + bool distXTest = (dist.x < testingContour.DistX().UpperBound()) && (dist.x > testingContour.DistX().LowerBound()); + bool distYTest = (dist.y < testingContour.DistY().UpperBound()) && (dist.y > testingContour.DistY().LowerBound()); + bool angleTest = (contourToTest.Angle() < testingContour.Angle().UpperBound()) && (contourToTest.Angle() > testingContour.Angle().LowerBound()); + bool solidityTest = (contourToTest.Solidity() < testingContour.Solidity().UpperBound()) && (contourToTest.Solidity() > testingContour.Solidity().LowerBound()); + bool aspectTest = (contourToTest.AspectRatio() < testingContour.AspectRatio().UpperBound()) && (contourToTest.AspectRatio() > testingContour.AspectRatio().LowerBound()); + + HorizontalDistances.push_back(dist.x); + VerticalDistances.push_back(dist.y); + Angles.push_back(contourToTest.Angle()); + Solidities.push_back(contourToTest.Solidity()); + AspectRatios.push_back(contourToTest.AspectRatio()); + + if(!distXTest) data[i].missedHorizontalDistances++; + if(!distYTest) data[i].missedVerticalDistances++; + if(!angleTest) data[i].missedAngles++; + if(!solidityTest) data[i].missedSolidities++; + if(!aspectTest) data[i].missedAspectRatios++; + } + + std::cout << "horizontal distances: " << DataUtils::VectorToString(HorizontalDistances) << std::endl; + std::cout << "vertical distances: " << DataUtils::VectorToString(VerticalDistances) << std::endl; + std::cout << "angles: " << DataUtils::VectorToString(Angles) << std::endl; + std::cout << "solidities: " << DataUtils::VectorToString(Solidities) << std::endl; + std::cout << "aspect ratios: " << DataUtils::VectorToString(AspectRatios) << std::endl; + + data[i].averageHorizontalDistance = DataUtils::Average(HorizontalDistances); + data[i].averageVerticalDistance = DataUtils::Average(VerticalDistances); + data[i].averageAngle = DataUtils::Average(Angles); + data[i].averageSolidity = DataUtils::Average(Solidities); + data[i].averageAspectRatio = DataUtils::Average(AspectRatios); + } + + std::cout << "TROUBLESHOOTING RESULTS:" << std::endl; + std::cout << std::endl; + + for(int i=0; iwindow = Window(type, false); - this->window.SetSize(550,200); - - Panel main = Panel(true, 0); - Panel banners = Panel(false, 0); - Image kiwiLightBanner = Image("banner_small.png"); - banners.Pack_start(kiwiLightBanner.GetWidget(), false, false, 0); - - Image foximusBanner = Image("foximus_small.png"); - banners.Pack_start(foximusBanner.GetWidget(), false, false, 0); - - main.Pack_start(banners.GetWidget(), false, false, 0); - - Panel descriptions = Panel(false, 0); - Label header = Label("About KiwiLight"); - header.SetName("header"); - descriptions.Pack_start(header.GetWidget(), false, false, 0); - - Label description = Label( - std::string("KiwiLight was written by Brach Knutson and Colton Kreischer ") + - std::string("of FRC 3695 Foximus Prime for use by any FRC team ") + - std::string("for any vision purpose.\n\nKiwiLight is stored at ") + - std::string("github.com/wh1ter0se/KiwiLight. \n\nKiwiLight is published ") + - std::string("under a GPL-3.0 license, permitting modification ") + - std::string("and distribution under the condition that the source is ") + - std::string("disclosed and distribution is accompanied by the same license.") - ); - description.SetLineWrap(true); - descriptions.Pack_start(description.GetWidget(), false, false, 0); - - main.Pack_start(descriptions.GetWidget(), false, false, 0); - - this->window.SetPane(main); - - this->aboutwindow = window.GetWidget(); -} - -/** - * Shows the about window. - */ -void AboutWindow::Show() { - this->window.Show(); -} - - -void AboutWindow::SetName(std::string name) { - gtk_widget_set_name(this->aboutwindow, name.c_str()); +#include "UI.h" + +/** + * Source file for the AboutWindow class. + * Written By: Brach Knutson + */ + +using namespace KiwiLight; + +/** + * Creates a new AboutWindow with the given window type. + */ +AboutWindow::AboutWindow(GtkWindowType type) { + + //put together an about window + this->window = Window(type, false); + this->window.SetSize(550,200); + + Panel main = Panel(true, 0); + Panel banners = Panel(false, 0); + Image kiwiLightBanner = Image("banner_small.png"); + banners.Pack_start(kiwiLightBanner.GetWidget(), false, false, 0); + + Image foximusBanner = Image("foximus_small.png"); + banners.Pack_start(foximusBanner.GetWidget(), false, false, 0); + + main.Pack_start(banners.GetWidget(), false, false, 0); + + Panel descriptions = Panel(false, 0); + Label header = Label("About KiwiLight"); + header.SetName("header"); + descriptions.Pack_start(header.GetWidget(), false, false, 0); + + Label description = Label( + std::string("KiwiLight was written by Brach Knutson and Colton Kreischer ") + + std::string("of FRC 3695 Foximus Prime for use by any FRC team ") + + std::string("for any vision purpose.\n\nKiwiLight is stored at ") + + std::string("github.com/wh1ter0se/KiwiLight. \n\nKiwiLight is published ") + + std::string("under a GPL-3.0 license, permitting modification ") + + std::string("and distribution under the condition that the source is ") + + std::string("disclosed and distribution is accompanied by the same license.") + ); + description.SetLineWrap(true); + descriptions.Pack_start(description.GetWidget(), false, false, 0); + + main.Pack_start(descriptions.GetWidget(), false, false, 0); + + this->window.SetPane(main); + + this->aboutwindow = window.GetWidget(); +} + +/** + * Shows the about window. + */ +void AboutWindow::Show() { + this->window.Show(); +} + + +void AboutWindow::SetName(std::string name) { + gtk_widget_set_name(this->aboutwindow, name.c_str()); } \ No newline at end of file diff --git a/KiwiLight - Vision Code/ui/Button.cpp b/KiwiLight - Vision Code/ui/Button.cpp index 3fcd6e2..d258312 100644 --- a/KiwiLight - Vision Code/ui/Button.cpp +++ b/KiwiLight - Vision Code/ui/Button.cpp @@ -1,33 +1,33 @@ -#include "UI.h" - -/** - * Source file for the UI Button class. - * Written By: Brach Knutson - */ - - -using namespace KiwiLight; - -/** - * Creates a new button object given the label text text and the callback callback - */ -Button::Button(std::string text, void(*callback)()) { - this->text = text; - - this->button = gtk_button_new_with_label(text.c_str()); - g_signal_connect(this->button, "clicked", G_CALLBACK(callback), NULL); -} - -void Button::SetText(std::string text) { - gtk_button_set_label(GTK_BUTTON(this->button), text.c_str()); -} - - -void Button::SetCallback( void(*callback)() ) { - -} - - -void Button::SetName(std::string name) { - gtk_widget_set_name(this->button, name.c_str()); +#include "UI.h" + +/** + * Source file for the UI Button class. + * Written By: Brach Knutson + */ + + +using namespace KiwiLight; + +/** + * Creates a new button object given the label text text and the callback callback + */ +Button::Button(std::string text, void(*callback)()) { + this->text = text; + + this->button = gtk_button_new_with_label(text.c_str()); + g_signal_connect(this->button, "clicked", G_CALLBACK(callback), NULL); +} + +void Button::SetText(std::string text) { + gtk_button_set_label(GTK_BUTTON(this->button), text.c_str()); +} + + +void Button::SetCallback( void(*callback)() ) { + +} + + +void Button::SetName(std::string name) { + gtk_widget_set_name(this->button, name.c_str()); } \ No newline at end of file diff --git a/KiwiLight - Vision Code/ui/CameraSetting.cpp b/KiwiLight - Vision Code/ui/CameraSetting.cpp index 84a3b4c..b7dce16 100644 --- a/KiwiLight - Vision Code/ui/CameraSetting.cpp +++ b/KiwiLight - Vision Code/ui/CameraSetting.cpp @@ -1,64 +1,64 @@ -#include "UI.h" - -/** - * Source file for the CameraSetting class. - * Written By: Brach Knutson - */ - - -using namespace KiwiLight; - -/** - * Creates a new CameraSetting widget, using the given std::string from V4L - */ -CameraSetting::CameraSetting(std::string name, int valueName, double min, double max, double value) { - this->name = name; - this->valueName = valueName; - this->min = min; - this->max = max; - this->value = value; - - - //create the widget - std::string boundString = - "Min: " + std::to_string(min) + - ", Max: " + std::to_string(max) + - ", ID: " + std::to_string(valueName); - - std::string nameString = this->name + " (" + boundString + ")"; - - Panel main = Panel(true, 0); - this->nameLabel = Label(nameString); - main.Pack_start(nameLabel.GetWidget(), true, true, 0); - this->input = NumberBox(min, max, 0.01, value); - main.Pack_start(this->input.GetWidget(), true, true, 0); - - this->camerasetting = main.GetWidget(); -} - -/** - * Gets and returns the value of the widget. - */ -double CameraSetting::GetValue() { - return this->input.GetValue(); -} - -/** - * Returns an integer describing the name of the setting that this widget embodies - */ -int CameraSetting::GetValueName() { - return this->valueName; -} - -/** - * Sets the value of the setting to newValue. - */ -void CameraSetting::SetValue(double newValue) { - this->value = newValue; - this->input.SetValue(value); -} - - -void CameraSetting::SetName(std::string name) { - gtk_widget_set_name(this->camerasetting, name.c_str()); -} +#include "UI.h" + +/** + * Source file for the CameraSetting class. + * Written By: Brach Knutson + */ + + +using namespace KiwiLight; + +/** + * Creates a new CameraSetting widget, using the given std::string from V4L + */ +CameraSetting::CameraSetting(std::string name, int valueName, double min, double max, double value) { + this->name = name; + this->valueName = valueName; + this->min = min; + this->max = max; + this->value = value; + + + //create the widget + std::string boundString = + "Min: " + std::to_string(min) + + ", Max: " + std::to_string(max) + + ", ID: " + std::to_string(valueName); + + std::string nameString = this->name + " (" + boundString + ")"; + + Panel main = Panel(true, 0); + this->nameLabel = Label(nameString); + main.Pack_start(nameLabel.GetWidget(), true, true, 0); + this->input = NumberBox(min, max, 0.01, value); + main.Pack_start(this->input.GetWidget(), true, true, 0); + + this->camerasetting = main.GetWidget(); +} + +/** + * Gets and returns the value of the widget. + */ +double CameraSetting::GetValue() { + return this->input.GetValue(); +} + +/** + * Returns an integer describing the name of the setting that this widget embodies + */ +int CameraSetting::GetValueName() { + return this->valueName; +} + +/** + * Sets the value of the setting to newValue. + */ +void CameraSetting::SetValue(double newValue) { + this->value = newValue; + this->input.SetValue(value); +} + + +void CameraSetting::SetName(std::string name) { + gtk_widget_set_name(this->camerasetting, name.c_str()); +} diff --git a/KiwiLight - Vision Code/ui/CheckBox.cpp b/KiwiLight - Vision Code/ui/CheckBox.cpp index 29e5e3b..e55f4d6 100644 --- a/KiwiLight - Vision Code/ui/CheckBox.cpp +++ b/KiwiLight - Vision Code/ui/CheckBox.cpp @@ -1,36 +1,36 @@ -#include "UI.h" - -/** - * Source file for the CheckBox class. - * Written By: Brach Knutson - */ - - -using namespace KiwiLight; - -/** - * Creates a new CheckBox instance. the state will default to value of checked. - */ -CheckBox::CheckBox(std::string name, bool checked) { - this->checkbox = gtk_check_button_new_with_label(name.c_str()); - SetState(checked); -} - -/** - * Sets the state of the checkbox to the value of checked. - */ -void CheckBox::SetState(bool checked) { - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(this->checkbox), checked); -} - -/** - * Returns the state of the checkbox. True for checked, false for not. - */ -bool CheckBox::GetState() { - return gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(this->checkbox)); -} - - -void CheckBox::SetName(std::string name) { - gtk_widget_set_name(this->checkbox, name.c_str()); +#include "UI.h" + +/** + * Source file for the CheckBox class. + * Written By: Brach Knutson + */ + + +using namespace KiwiLight; + +/** + * Creates a new CheckBox instance. the state will default to value of checked. + */ +CheckBox::CheckBox(std::string name, bool checked) { + this->checkbox = gtk_check_button_new_with_label(name.c_str()); + SetState(checked); +} + +/** + * Sets the state of the checkbox to the value of checked. + */ +void CheckBox::SetState(bool checked) { + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(this->checkbox), checked); +} + +/** + * Returns the state of the checkbox. True for checked, false for not. + */ +bool CheckBox::GetState() { + return gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(this->checkbox)); +} + + +void CheckBox::SetName(std::string name) { + gtk_widget_set_name(this->checkbox, name.c_str()); } \ No newline at end of file diff --git a/KiwiLight - Vision Code/ui/ConfigEditor.cpp b/KiwiLight - Vision Code/ui/ConfigEditor.cpp index aaf5e9b..6c11fac 100644 --- a/KiwiLight - Vision Code/ui/ConfigEditor.cpp +++ b/KiwiLight - Vision Code/ui/ConfigEditor.cpp @@ -1,684 +1,685 @@ -#include "../KiwiLight.h" - -/** - * Source file for the ConfigEditor class. - * Written By: Brach Knutson - */ - -using namespace cv; -using namespace KiwiLight; - -static int LEARNER_FRAMES = 50; - -static void LearnTargetButtonPressed() { - KiwiLightApp::StartEditorLearningTarget(); -} - -static void LearnDistanceButtonPressed() { - KiwiLightApp::StartEditorLearningDistance(); -} - -static void JustCloseButtonPressed() { - KiwiLightApp::StopStreamingThread(); - KiwiLightApp::CloseEditor(false); - KiwiLightApp::LaunchStreamingThread(UIMode::UI_RUNNER); -} - -static void SaveAndCloseButtonPressed() { - KiwiLightApp::StopStreamingThread(); - KiwiLightApp::CloseEditor(true); - KiwiLightApp::LaunchStreamingThread(UIMode::UI_RUNNER); -} - -/** - * Creates a window to edit the bassed file. - */ -ConfigEditor::ConfigEditor(std::string fileName) { - this->learnerActivated = false; - this->distanceLearnerRunning = false; - this->runner = Runner(fileName, true); - this->currentDoc = XMLDocument(fileName); - this->fileName = fileName; - this->lastIterationResult = ""; - this->out = Mat(Size(50, 50), CV_8UC3); - this->confName = this->currentDoc.GetTagsByName("configuration")[0].GetAttributesByName("name")[0].Value(); - - this->window = Window(GTK_WINDOW_TOPLEVEL, false); - this->content = Panel(true, 0); - Panel overviewPanel = Panel(false, 5); - this->configOverview = OverviewPanel(this->currentDoc); - overviewPanel.Pack_start(this->configOverview.GetWidget(), true ,true, 5); - - Panel learnerPanel = Panel(true, 0); - Button learnTargetButton = Button("Learn Target", LearnTargetButtonPressed); - learnerPanel.Pack_start(learnTargetButton.GetWidget(), true, true, 0); - - Button learnDistanceButton = Button("Learn Distance", LearnDistanceButtonPressed); - learnerPanel.Pack_start(learnDistanceButton.GetWidget(), true, true, 0); - - overviewPanel.Pack_start(learnerPanel.GetWidget(), true, true, 0); - - Panel exitPanel = Panel(true, 0); - Button justCloseButton = Button("Close", JustCloseButtonPressed); - exitPanel.Pack_start(justCloseButton.GetWidget(), true, true, 0); - - Button saveAndCloseButton = Button("Save And Close", SaveAndCloseButtonPressed); - exitPanel.Pack_start(saveAndCloseButton.GetWidget(), true, true, 0); - - overviewPanel.Pack_start(exitPanel.GetWidget(), true, true, 0); - - Panel cameraSettingsPanel = Panel(false, 5); - Label cameraSettingsHeader = Label("Camera Settings"); - cameraSettingsHeader.SetName("header"); - cameraSettingsPanel.Pack_start(cameraSettingsHeader.GetWidget(), true, true, 0); - this->cameraSettings = Settings(this->currentDoc); - cameraSettingsPanel.Pack_start(this->cameraSettings.GetWidget(), true, false, 0); - - Panel preprocessorSettingsPanel = Panel(false, 5); - Label preprocessorSettingsPanelHeader = Label("Preprocessor"); - preprocessorSettingsPanelHeader.SetName("header"); - preprocessorSettingsPanel.Pack_start(preprocessorSettingsPanelHeader.GetWidget(), true, true, 0); - - this->preprocessorSettings = PreprocessorEditor(this->runner.GetPreProcessor()); - preprocessorSettingsPanel.Pack_start(this->preprocessorSettings.GetWidget(), true, true, 0); - - Panel postprocessorSettingsPanel = Panel(false, 5); - Label postprocessorSettingsPanelHeader = Label("Postprocessor"); - postprocessorSettingsPanelHeader.SetName("header"); - postprocessorSettingsPanel.Pack_start(postprocessorSettingsPanelHeader.GetWidget(), true, true, 0); - - this->postprocessorSettings = PostprocessorEditor(this->runner.GetPostProcessor()); - postprocessorSettingsPanel.Pack_start(this->postprocessorSettings.GetWidget(), true, true, 0); - - Panel runnerSettingsPanel = Panel(false, 5); - Label runnerSettingsPanelHeader = Label("Runner"); - runnerSettingsPanelHeader.SetName("header"); - runnerSettingsPanel.Pack_start(runnerSettingsPanelHeader.GetWidget(), true, true, 0); - - this->runnerSettings = RunnerEditor(this->runner); - runnerSettingsPanel.Pack_start(this->runnerSettings.GetWidget(), true, true, 0); - - this->tabs = TabView("Overview", overviewPanel.GetWidget()); - this->tabs.AddTab("Camera", cameraSettingsPanel.GetWidget()); - this->tabs.AddTab("Preprocessor", preprocessorSettingsPanel.GetWidget()); - this->tabs.AddTab("Postprocessor", postprocessorSettingsPanel.GetWidget()); - this->tabs.AddTab("Runner", runnerSettingsPanel.GetWidget()); - this->content.Pack_start(this->tabs.GetWidget(), true, true, 0); - - Panel imageAndServicePanel = Panel(false, 0); - this->outputImage = Image(ImageColorspace::RGB); - imageAndServicePanel.Pack_start(this->outputImage.GetWidget(), false, false, 0); - - this->serviceMonitor = Label("No Service Running."); - imageAndServicePanel.Pack_start(this->serviceMonitor.GetWidget(), false, false, 0); - - this->serviceLabel = Label(""); - imageAndServicePanel.Pack_start(this->serviceLabel.GetWidget(), false, false, 0); - - this->content.Pack_start(imageAndServicePanel.GetWidget(), false, false, 0); - - - this->window.SetPane(this->content); - this->window.SetOnWindowClosed(JustCloseButtonPressed); - this->window.SetCSS("ui/Style.css"); - this->window.Show(); - - this->configeditor = this->window.GetWidget(); -} - -/** - * Updates the editor and checks for button presses, etc. - */ -void ConfigEditor::Update() { - Mat displayable; - - try { - vconcat(this->original, this->out, displayable); - this->outputImage.Update(displayable); - } catch(cv::Exception ex) { - } - //update the different tabs - this->configOverview.SetTargetInformationLabelsFromString(this->lastIterationResult); - this->cameraSettings.Update(); - this->preprocessorSettings.Update(); - this->postprocessorSettings.Update(); - this->runnerSettings.Update(this->runner.GetClosestTargetToCenter().Distance()); - - //apply the preprocessor settings - this->runner.SetPreprocessorProperty(PreProcessorProperty::IS_FULL, this->preprocessorSettings.GetProperty(PreProcessorProperty::IS_FULL)); - this->runner.SetPreprocessorProperty(PreProcessorProperty::THRESHOLD, this->preprocessorSettings.GetProperty(PreProcessorProperty::THRESHOLD)); - this->runner.SetPreprocessorProperty(PreProcessorProperty::EROSION, this->preprocessorSettings.GetProperty(PreProcessorProperty::EROSION)); - this->runner.SetPreprocessorProperty(PreProcessorProperty::DILATION, this->preprocessorSettings.GetProperty(PreProcessorProperty::DILATION)); - this->runner.SetPreprocessorProperty(PreProcessorProperty::COLOR_HUE, this->preprocessorSettings.GetProperty(PreProcessorProperty::COLOR_HUE)); - this->runner.SetPreprocessorProperty(PreProcessorProperty::COLOR_SATURATION, this->preprocessorSettings.GetProperty(PreProcessorProperty::COLOR_SATURATION)); - this->runner.SetPreprocessorProperty(PreProcessorProperty::COLOR_VALUE, this->preprocessorSettings.GetProperty(PreProcessorProperty::COLOR_VALUE)); - this->runner.SetPreprocessorProperty(PreProcessorProperty::COLOR_ERROR, this->preprocessorSettings.GetProperty(PreProcessorProperty::COLOR_ERROR)); - - //apply all contour settings to the runner. First, make sure we have all contours needed. - int numberOfContours = this->postprocessorSettings.GetNumContours(); - if(this->runner.GetNumberOfContours(0) != numberOfContours) { - std::cout << "Redefining Target." << std::endl; - std::vector newContours; - for(int i=0; irunner.SetExampleTarget(0, newTarget); - } - - for(int i=0; irunner.SetPostProcessorContourProperty(i, TargetProperty::DIST_X, this->postprocessorSettings.GetProperty(i, TargetProperty::DIST_X)); - this->runner.SetPostProcessorContourProperty(i, TargetProperty::DIST_Y, this->postprocessorSettings.GetProperty(i, TargetProperty::DIST_Y)); - this->runner.SetPostProcessorContourProperty(i, TargetProperty::ANGLE, this->postprocessorSettings.GetProperty(i, TargetProperty::ANGLE)); - this->runner.SetPostProcessorContourProperty(i, TargetProperty::ASPECT_RATIO, this->postprocessorSettings.GetProperty(i, TargetProperty::ASPECT_RATIO)); - this->runner.SetPostProcessorContourProperty(i, TargetProperty::SOLIDITY, this->postprocessorSettings.GetProperty(i, TargetProperty::SOLIDITY)); - this->runner.SetPostProcessorContourProperty(i, TargetProperty::MINIMUM_AREA, this->postprocessorSettings.GetProperty(i, TargetProperty::MINIMUM_AREA)); - } - - //apply runner properties - this->runner.SetRunnerProperty(RunnerProperty::OFFSET_X, this->runnerSettings.GetProperty(RunnerProperty::OFFSET_X)); - this->runner.SetRunnerProperty(RunnerProperty::OFFSET_Y, this->runnerSettings.GetProperty(RunnerProperty::OFFSET_Y)); - this->runner.SetRunnerProperty(RunnerProperty::IMAGE_WIDTH, this->runnerSettings.GetProperty(RunnerProperty::IMAGE_WIDTH)); - this->runner.SetRunnerProperty(RunnerProperty::IMAGE_HEIGHT, this->runnerSettings.GetProperty(RunnerProperty::IMAGE_HEIGHT)); - this->runner.SetRunnerProperty(RunnerProperty::TRUE_WIDTH, this->runnerSettings.GetProperty(RunnerProperty::TRUE_WIDTH)); - this->runner.SetRunnerProperty(RunnerProperty::PERCEIVED_WIDTH, this->runnerSettings.GetProperty(RunnerProperty::PERCEIVED_WIDTH)); - this->runner.SetRunnerProperty(RunnerProperty::CALIBRATED_DISTANCE, this->runnerSettings.GetProperty(RunnerProperty::CALIBRATED_DISTANCE)); - this->runner.SetRunnerProperty(RunnerProperty::ERROR_CORRECTION, this->runnerSettings.GetProperty(RunnerProperty::ERROR_CORRECTION)); - - //set service labels - if(this->learnerActivated && this->learner.GetLearning()) { - this->serviceMonitor.SetText("Learning Target"); - - std::string progressString = "Capturing Frames (" + - std::to_string(this->learner.GetFramesLearned()) + - "/" + - std::to_string(LEARNER_FRAMES) + - ")"; - - this->serviceLabel.SetText(progressString); - } else if(this->distanceLearnerRunning) { - this->serviceMonitor.SetText("Learning Distance Constants"); - - std::string progressString = "Capturing Frames (" + - std::to_string(this->distanceLearner.GetFramesLearned()) + - "/" + - std::to_string(LEARNER_FRAMES) + - ")"; - this->serviceLabel.SetText(progressString); - } else { - this->serviceMonitor.SetText("No Service Running."); - this->serviceLabel.SetText(""); - } - -} - - -/** - * Updates the internal runner to in turn update the output images. - */ -bool ConfigEditor::UpdateImageOnly() { - this->lastIterationResult = this->runner.Iterate(); - bool retval = this->runner.GetLastFrameSuccessful(); - this->out = this->runner.GetOutputImage(); - this->original = this->runner.GetOriginalImage(); - - if(this->learnerActivated) { - int minimumArea = (int) this->postprocessorSettings.GetProperty(0, TargetProperty::MINIMUM_AREA).Value(); - this->learner.FeedImage(this->original, minimumArea); - this->out = this->learner.GetOutputImageFromLastFeed(); - - if(this->learner.GetLearning()) { - if(this->learner.GetFramesLearned() >= LEARNER_FRAMES) { - int minimumArea = (int) this->postprocessorSettings.GetProperty(0, TargetProperty::MINIMUM_AREA).Value(); - ExampleTarget newTarget = this->learner.StopLearning(minimumArea); - std::vector newContours = newTarget.Contours(); - this->learnerActivated = false; - - if(newContours.size() > 0) { - //prepare the editor for the contours - this->postprocessorSettings.SetNumContours(newContours.size()); - this->runner.SetExampleTarget(0, newTarget); - - for(int i=0; ipostprocessorSettings.SetProperty(i, TargetProperty::DIST_X, newContours[i].DistX()); - this->postprocessorSettings.SetProperty(i, TargetProperty::DIST_Y, newContours[i].DistY()); - this->postprocessorSettings.SetProperty(i, TargetProperty::ANGLE, newContours[i].Angle()); - this->postprocessorSettings.SetProperty(i, TargetProperty::SOLIDITY, newContours[i].Solidity()); - this->postprocessorSettings.SetProperty(i, TargetProperty::ASPECT_RATIO, newContours[i].AspectRatio()); - this->postprocessorSettings.SetProperty(i, TargetProperty::MINIMUM_AREA, SettingPair(newContours[i].MinimumArea(), 0)); - } - } - } - - if(this->learner.GetHasFailed()) { - //alert the user - ConfirmationDialog alert = ConfirmationDialog( - std::string("The utility has failed due to a video error.\n") + - std::string("Is the camera plugged in?") - ); - alert.ShowAndGetResponse(); - this->learnerActivated = false; - } - } - } - - if(this->distanceLearnerRunning) { - this->distanceLearner.FeedTarget(this->runner.GetClosestTargetToCenter()); - - if(this->distanceLearner.GetFramesLearned() >= LEARNER_FRAMES) { - double trueDistance = this->runnerSettings.GetProperty(RunnerProperty::CALIBRATED_DISTANCE); - double trueWidth = this->runnerSettings.GetProperty(RunnerProperty::TRUE_WIDTH); - double newFocalWidth = this->distanceLearner.GetFocalWidth(trueDistance, trueWidth); - this->runnerSettings.SetProperty(RunnerProperty::PERCEIVED_WIDTH, newFocalWidth); - this->distanceLearnerRunning = false; - } - } - return retval; -} - -/** - * Returns the string result from the last runner iteration, or an empty string if no iterations happened. - */ -std::string ConfigEditor::GetLastFrameResult() { - return this->lastIterationResult; -} - -/** - * Causes the editor to save the config to file. - */ -void ConfigEditor::Save() { - //assemble the file structure and write it into a file which the user may designate - XMLDocument doc = XMLDocument(); - - // - XMLTag camera = XMLTag("camera"); - XMLTagAttribute cameraIndex = XMLTagAttribute("index", std::to_string(this->cameraSettings.GetCameraIndex())); - camera.AddAttribute(cameraIndex); - - /** - * - * - */ - XMLTag resolution = XMLTag("resolution"); - XMLTag resolutionWidth = XMLTag("width", std::to_string(this->cameraSettings.GetSettingValueFromID(CAP_PROP_FRAME_WIDTH))); - resolution.AddTag(resolutionWidth); - - XMLTag resolutionHeight = XMLTag("height", std::to_string(this->cameraSettings.GetSettingValueFromID(CAP_PROP_FRAME_HEIGHT))); - resolution.AddTag(resolutionHeight); - - camera.AddTag(resolution); - - /** - * - * - */ - XMLTag settings = this->cameraSettings.GetFinishedTag(); - camera.AddTag(settings); - - doc.AddTag(camera); - - /** - * - */ - XMLTag configuration = XMLTag("configuration"); - XMLTagAttribute configurationName = XMLTagAttribute("name", this->configOverview.GetConfigName()); - configuration.AddAttribute(configurationName); - - /** - * - * - */ - XMLTag cameraOffset = XMLTag("cameraOffset"); - XMLTag horizontalOffset = XMLTag("horizontal", std::to_string((int) this->runnerSettings.GetProperty(RunnerProperty::OFFSET_X))); - cameraOffset.AddTag(horizontalOffset); - - XMLTag verticalOffset = XMLTag("vertical", std::to_string((int) this->runnerSettings.GetProperty(RunnerProperty::OFFSET_Y))); - cameraOffset.AddTag(verticalOffset); - - configuration.AddTag(cameraOffset); - - /** - * - * - */ - XMLTag constantResize = XMLTag("constantResize"); - XMLTag resizeWidth = XMLTag("width", std::to_string((int) this->runnerSettings.GetProperty(RunnerProperty::IMAGE_WIDTH))); - constantResize.AddTag(resizeWidth); - - XMLTag resizeHeight = XMLTag("height", std::to_string((int) this->runnerSettings.GetProperty(RunnerProperty::IMAGE_HEIGHT))); - constantResize.AddTag(resizeHeight); - - configuration.AddTag(constantResize); - - /** - * - * - */ - XMLTag preprocessor = XMLTag("preprocessor"); - XMLTagAttribute preprocessorType = XMLTagAttribute("type", (this->preprocessorSettings.GetProperty(PreProcessorProperty::IS_FULL) == 1.0 ? "full" : "partial")); - preprocessor.AddAttribute(preprocessorType); - - // - XMLTag threshold = XMLTag("threshold", std::to_string((int) this->preprocessorSettings.GetProperty(PreProcessorProperty::THRESHOLD))); - preprocessor.AddTag(threshold); - - // - XMLTag erosion = XMLTag("erosion", std::to_string((int) this->preprocessorSettings.GetProperty(PreProcessorProperty::EROSION))); - preprocessor.AddTag(erosion); - - // - XMLTag dilation = XMLTag("dilation", std::to_string((int) this->preprocessorSettings.GetProperty(PreProcessorProperty::DILATION))); - preprocessor.AddTag(dilation); - - /** - * - * - * - */ - XMLTag targetColor = XMLTag("targetColor"); - XMLTagAttribute targetColorError = XMLTagAttribute("error", std::to_string((int) this->preprocessorSettings.GetProperty(PreProcessorProperty::COLOR_ERROR))); - targetColor.AddAttribute(targetColorError); - - // - XMLTag h = XMLTag("h", std::to_string((int) this->preprocessorSettings.GetProperty(PreProcessorProperty::COLOR_HUE))); - targetColor.AddTag(h); - - // - XMLTag s = XMLTag("s", std::to_string((int) this->preprocessorSettings.GetProperty(PreProcessorProperty::COLOR_SATURATION))); - targetColor.AddTag(s); - - // - XMLTag v = XMLTag("v", std::to_string((int) this->preprocessorSettings.GetProperty(PreProcessorProperty::COLOR_VALUE))); - targetColor.AddTag(v); - - preprocessor.AddTag(targetColor); - configuration.AddTag(preprocessor); - - /** - * - * - */ - XMLTag postprocessor = XMLTag("postprocessor"); - // - XMLTag target = XMLTag("target"); - XMLTagAttribute targetID = XMLTagAttribute("id", "0"); //this remains constant for now until multiple target support is added. - target.AddAttribute(targetID); - - for(int i=0; ipostprocessorSettings.GetNumContours(); i++) { - /** - * - * - * - * - */ - XMLTag contour = XMLTag("contour"); - XMLTagAttribute contourID = XMLTagAttribute("id", std::to_string(i)); - contour.AddAttribute(contourID); - - // - SettingPair distXValues = this->postprocessorSettings.GetProperty(i, TargetProperty::DIST_X); - XMLTag x = XMLTag("x", std::to_string((double) distXValues.Value())); - XMLTagAttribute xError = XMLTagAttribute("error", std::to_string((double) distXValues.Error())); - x.AddAttribute(xError); - contour.AddTag(x); - - // - SettingPair distYValues = this->postprocessorSettings.GetProperty(i, TargetProperty::DIST_Y); - XMLTag y = XMLTag("y", std::to_string((double) distYValues.Value())); - XMLTagAttribute yError = XMLTagAttribute("error", std::to_string((double) distYValues.Error())); - y.AddAttribute(yError); - contour.AddTag(y); - - // - SettingPair angleValues = this->postprocessorSettings.GetProperty(i, TargetProperty::ANGLE); - XMLTag angle = XMLTag("angle", std::to_string((double) angleValues.Value())); - XMLTagAttribute angleError = XMLTagAttribute("error", std::to_string((double) angleValues.Error())); - angle.AddAttribute(angleError); - contour.AddTag(angle); - - // - SettingPair solidityValues = this->postprocessorSettings.GetProperty(i, TargetProperty::SOLIDITY); - XMLTag solidity = XMLTag("solidity", std::to_string((double) solidityValues.Value())); - XMLTagAttribute solidityError = XMLTagAttribute("error", std::to_string((double) solidityValues.Error())); - solidity.AddAttribute(solidityError); - contour.AddTag(solidity); - - // - SettingPair aspectRatioValues = this->postprocessorSettings.GetProperty(i, TargetProperty::ASPECT_RATIO); - XMLTag aspectRatio = XMLTag("aspectRatio", std::to_string((double) aspectRatioValues.Value())); - XMLTagAttribute aspectRatioError = XMLTagAttribute("error", std::to_string((double) aspectRatioValues.Error())); - aspectRatio.AddAttribute(aspectRatioError); - contour.AddTag(aspectRatio); - - // - SettingPair minimumAreaValues = this->postprocessorSettings.GetProperty(i, TargetProperty::MINIMUM_AREA); - XMLTag minimumArea = XMLTag("minimumArea", std::to_string((int) minimumAreaValues.Value())); - contour.AddTag(minimumArea); - - target.AddTag(contour); - } - - // - XMLTag knownWidth = XMLTag("knownWidth", std::to_string((double) this->runnerSettings.GetProperty(RunnerProperty::TRUE_WIDTH))); - target.AddTag(knownWidth); - - // - XMLTag focalWidth = XMLTag("focalWidth", std::to_string((double) this->runnerSettings.GetProperty(RunnerProperty::PERCEIVED_WIDTH))); - target.AddTag(focalWidth); - - // - XMLTag calibratedDistance = XMLTag("calibratedDistance", std::to_string((double) this->runnerSettings.GetProperty(RunnerProperty::CALIBRATED_DISTANCE))); - target.AddTag(calibratedDistance); - - // - XMLTag distErrorCorrect = XMLTag("distErrorCorrect", std::to_string((double) this->runnerSettings.GetProperty(RunnerProperty::ERROR_CORRECTION))); - target.AddTag(distErrorCorrect); - - postprocessor.AddTag(target); - - /** - * - * - * - */ - XMLTag UDP = XMLTag("UDP"); - //
- XMLTag address = XMLTag("address", this->runnerSettings.GetUDPAddr()); - UDP.AddTag(address); - - // - XMLTag port = XMLTag("port", std::to_string(this->runnerSettings.GetUDPPort())); - UDP.AddTag(port); - - postprocessor.AddTag(UDP); - configuration.AddTag(postprocessor); - doc.AddTag(configuration); - - //to prompt file name or not to promt file name - std::string fileToSave = this->fileName; - std::vector fileParts = StringUtils::SplitString(fileToSave, '/'); - - if(fileParts[fileParts.size() - 1] == "generic.xml") { - FileChooser chooser = FileChooser(true, "config.xml"); - fileToSave = chooser.Show(); - this->fileName = fileToSave; - } - - doc.WriteFile(fileToSave); -} - - -void ConfigEditor::Close() { - gtk_widget_destroy(this->configeditor); -} - - -void ConfigEditor::StartLearningTarget() { - if(KiwiLightApp::CameraOpen()) { - //reinstantiate the learner to apply the preprocessor settings - this->learner = ConfigLearner(this->runner.GetPreProcessor()); - this->learnerActivated = true; - - ConfirmationDialog confirmLearn = ConfirmationDialog( - std::string("Position the target in the center of the image and press OK.\n") + - std::string("It should be highlighted with a blue box.") - ); - bool shouldLearn = confirmLearn.ShowAndGetResponse(); - if(shouldLearn) { - this->serviceMonitor.SetText("Learning Target"); - this->serviceLabel.SetText("Capturing Frames"); - this->learner.StartLearning(); - } else { - this->learnerActivated = false; - } - } else { - //the camera is not opened, alert the user - ConfirmationDialog alert = ConfirmationDialog( - std::string("The utility could not start because of a video error.\n") + - std::string("Is the camera plugged in and working correctly on your device?") - ); - - alert.ShowAndGetResponse(); - } -} - - -void ConfigEditor::StartLearningDistance() { - //check for video errors - if(KiwiLightApp::CameraOpen()) { - ConfirmationDialog informationDialog = ConfirmationDialog("Learn Distance"); - Panel dialogPanel = Panel(false, 0); - Panel trueWidthPanel = Panel(true, 0); - Label trueWidthPanelHeader = Label("Target Width: "); - trueWidthPanel.Pack_start(trueWidthPanelHeader.GetWidget(), false, false, 0); - - double realTrueWidth = this->runnerSettings.GetProperty(RunnerProperty::TRUE_WIDTH); - NumberBox trueWidthPanelValue = NumberBox(0.0, 120.0, 0.1, realTrueWidth); - trueWidthPanel.Pack_start(trueWidthPanelValue.GetWidget(), false, false, 0); - - dialogPanel.Pack_start(trueWidthPanel.GetWidget(), false, false, 0); - - Panel distancePanel = Panel(true, 0); - Label distancePanelHeader = Label("Distance From Camera: "); - distancePanel.Pack_start(distancePanelHeader.GetWidget(), false, false, 0); - - double realDistance = this->runnerSettings.GetProperty(RunnerProperty::CALIBRATED_DISTANCE); - NumberBox distanceValue = NumberBox(6.0, 240.0, 0.1, realDistance); - distancePanel.Pack_start(distanceValue.GetWidget(), false, false, 0); - - dialogPanel.Pack_start(distancePanel.GetWidget(), false, false, 0); - informationDialog.SetBody(dialogPanel); - - //show the dialog anc ask the question, but do not destroy the dialog when the user presses OK - bool shouldLearn = informationDialog.ShowButDontClose(); - double targetTrueWidth = trueWidthPanelValue.GetValue(); - double targetDistance = distanceValue.GetValue(); - informationDialog.Destroy(); - - if(shouldLearn) { - this->runnerSettings.SetProperty(RunnerProperty::TRUE_WIDTH, targetTrueWidth); - this->runnerSettings.SetProperty(RunnerProperty::CALIBRATED_DISTANCE, targetDistance); - - this->distanceLearner = TargetDistanceLearner(this->runner.GetPreProcessor(), this->runner.GetPostProcessor()); - this->distanceLearnerRunning = true; - - this->serviceMonitor.SetText("Learning Distance Constants"); - this->serviceLabel.SetText("Capturing Frames"); - } - } else { - //the camera is not opened, alert the user - ConfirmationDialog alert = ConfirmationDialog( - std::string("The utility could not be opened because of a video error.\n") + - std::string("Is the camera plugged in and working correctly on your device?") - ); - - alert.ShowAndGetResponse(); - } -} - - -void ConfigEditor::ReconnectUDPFromEditor() { - std::string newUDPAddr = this->runnerSettings.GetUDPAddr(); - int newUDPPort = this->runnerSettings.GetUDPPort(); - KiwiLightApp::ReconnectUDP(newUDPAddr, newUDPPort); - - //set the things in the overview panel - this->configOverview.SetUDPAddr(newUDPAddr); - this->configOverview.SetUDPPort(newUDPPort); -} - - -void ConfigEditor::SetUDPEnabledLabels(bool UDPEnabled) { - this->configOverview.SetUDPEnabledLabels(UDPEnabled); - this->runnerSettings.SetUDPEnabledLabels(UDPEnabled); -} - -/** - * Applies the settings from the camera tab to the camera itself. - */ -void ConfigEditor::ApplyCameraSettings() { - std::vector settingIDs = this->cameraSettings.GetSettingIDs(); - int newCameraIndex = this->cameraSettings.GetCameraIndex(); - - //open a new camera because the user wants to - KiwiLightApp::OpenNewCameraOnIndex(newCameraIndex); - - //tell the runner to apply each setting - for(int i=0; icameraSettings.GetSettingValueFromID(id); - KiwiLightApp::SetCameraProperty(id, value); - } - - //get the settings and apply them to the menu to tell the user if they were rejected or not - for(int i=0; icameraSettings.SetSettingValueFromID(id, value); - } -} - - -void ConfigEditor::SetCameraIndexBoxes(int index) { - this->configOverview.SetCameraIndex(index); - this->cameraSettings.SetCameraIndex(index); -} - - -void ConfigEditor::ReconnectUDPFromOverview() { - std::string newAddr = this->configOverview.GetUDPAddr(); - int newPort = this->configOverview.GetUDPPort(); - KiwiLightApp::ReconnectUDP(newAddr, newPort); - - //set the properties in the actual editor - this->runnerSettings.SetUDPAddr(newAddr); - this->runnerSettings.SetUDPPort(newPort); -} - - -void ConfigEditor::OpenNewCameraFromOverview() { - int newCameraIndex = this->configOverview.GetCameraIndex(); - - //the camera needs to be reconnected because indexes are different - this->cameraSettings.SetCameraIndex(newCameraIndex); //set real index - KiwiLightApp::OpenNewCameraOnIndex(newCameraIndex); -} - - -void ConfigEditor::SetName(std::string name) { - gtk_widget_set_name(this->configeditor, name.c_str()); -} - - -void ConfigEditor::UpdateImage() { - this->runner.Iterate(); - Mat displayable; - - try { - vconcat(this->original, this->out, displayable); - this->outputImage.Update(displayable); - } catch(cv::Exception ex) { - std::cout << "cv exception in ce" << std::endl; - } -} +#include "../KiwiLight.h" + +/** + * Source file for the ConfigEditor class. + * Written By: Brach Knutson + */ + +using namespace cv; +using namespace KiwiLight; + +static int LEARNER_FRAMES = 50; + +static void LearnTargetButtonPressed() { + KiwiLightApp::StartEditorLearningTarget(); +} + +static void LearnDistanceButtonPressed() { + KiwiLightApp::StartEditorLearningDistance(); +} + +static void JustCloseButtonPressed() { + KiwiLightApp::StopStreamingThread(); + KiwiLightApp::CloseEditor(false); + KiwiLightApp::LaunchStreamingThread(UIMode::UI_RUNNER); +} + +static void SaveAndCloseButtonPressed() { + KiwiLightApp::StopStreamingThread(); + KiwiLightApp::CloseEditor(true); + KiwiLightApp::LaunchStreamingThread(UIMode::UI_RUNNER); +} + +/** + * Creates a window to edit the bassed file. + */ +ConfigEditor::ConfigEditor(std::string fileName) { + this->learnerActivated = false; + this->distanceLearnerRunning = false; + this->runner = Runner(fileName, true); + this->currentDoc = XMLDocument(fileName); + this->fileName = fileName; + this->lastIterationResult = ""; + this->out = Mat(Size(50, 50), CV_8UC3); + this->confName = this->currentDoc.GetTagsByName("configuration")[0].GetAttributesByName("name")[0].Value(); + + this->window = Window(GTK_WINDOW_TOPLEVEL, false); + this->content = Panel(true, 0); + Panel overviewPanel = Panel(false, 5); + this->configOverview = OverviewPanel(this->currentDoc); + overviewPanel.Pack_start(this->configOverview.GetWidget(), true ,true, 5); + + Panel learnerPanel = Panel(true, 0); + Button learnTargetButton = Button("Learn Target", LearnTargetButtonPressed); + learnerPanel.Pack_start(learnTargetButton.GetWidget(), true, true, 0); + + Button learnDistanceButton = Button("Learn Distance", LearnDistanceButtonPressed); + learnerPanel.Pack_start(learnDistanceButton.GetWidget(), true, true, 0); + + overviewPanel.Pack_start(learnerPanel.GetWidget(), true, true, 0); + + Panel exitPanel = Panel(true, 0); + Button justCloseButton = Button("Close", JustCloseButtonPressed); + exitPanel.Pack_start(justCloseButton.GetWidget(), true, true, 0); + + Button saveAndCloseButton = Button("Save And Close", SaveAndCloseButtonPressed); + exitPanel.Pack_start(saveAndCloseButton.GetWidget(), true, true, 0); + + overviewPanel.Pack_start(exitPanel.GetWidget(), true, true, 0); + + Panel cameraSettingsPanel = Panel(false, 5); + Label cameraSettingsHeader = Label("Camera Settings"); + cameraSettingsHeader.SetName("header"); + cameraSettingsPanel.Pack_start(cameraSettingsHeader.GetWidget(), true, true, 0); + + this->cameraSettings = Settings(this->currentDoc); + cameraSettingsPanel.Pack_start(this->cameraSettings.GetWidget(), true, false, 0); + + Panel preprocessorSettingsPanel = Panel(false, 5); + Label preprocessorSettingsPanelHeader = Label("Preprocessor"); + preprocessorSettingsPanelHeader.SetName("header"); + preprocessorSettingsPanel.Pack_start(preprocessorSettingsPanelHeader.GetWidget(), true, true, 0); + + this->preprocessorSettings = PreprocessorEditor(this->runner.GetPreProcessor()); + preprocessorSettingsPanel.Pack_start(this->preprocessorSettings.GetWidget(), true, true, 0); + + Panel postprocessorSettingsPanel = Panel(false, 5); + Label postprocessorSettingsPanelHeader = Label("Postprocessor"); + postprocessorSettingsPanelHeader.SetName("header"); + postprocessorSettingsPanel.Pack_start(postprocessorSettingsPanelHeader.GetWidget(), true, true, 0); + + this->postprocessorSettings = PostprocessorEditor(this->runner.GetPostProcessor()); + postprocessorSettingsPanel.Pack_start(this->postprocessorSettings.GetWidget(), true, true, 0); + + Panel runnerSettingsPanel = Panel(false, 5); + Label runnerSettingsPanelHeader = Label("Runner"); + runnerSettingsPanelHeader.SetName("header"); + runnerSettingsPanel.Pack_start(runnerSettingsPanelHeader.GetWidget(), true, true, 0); + + this->runnerSettings = RunnerEditor(this->runner); + runnerSettingsPanel.Pack_start(this->runnerSettings.GetWidget(), true, true, 0); + + this->tabs = TabView("Overview", overviewPanel.GetWidget()); + this->tabs.AddTab("Camera", cameraSettingsPanel.GetWidget()); + this->tabs.AddTab("Preprocessor", preprocessorSettingsPanel.GetWidget()); + this->tabs.AddTab("Postprocessor", postprocessorSettingsPanel.GetWidget()); + this->tabs.AddTab("Runner", runnerSettingsPanel.GetWidget()); + this->content.Pack_start(this->tabs.GetWidget(), true, true, 0); + + Panel imageAndServicePanel = Panel(false, 0); + this->outputImage = Image(ImageColorspace::RGB); + imageAndServicePanel.Pack_start(this->outputImage.GetWidget(), false, false, 0); + + this->serviceMonitor = Label("No Service Running."); + imageAndServicePanel.Pack_start(this->serviceMonitor.GetWidget(), false, false, 0); + + this->serviceLabel = Label(""); + imageAndServicePanel.Pack_start(this->serviceLabel.GetWidget(), false, false, 0); + + this->content.Pack_start(imageAndServicePanel.GetWidget(), false, false, 0); + + + this->window.SetPane(this->content); + this->window.SetOnWindowClosed(JustCloseButtonPressed); + this->window.SetCSS("ui/Style.css"); + this->window.Show(); + + this->configeditor = this->window.GetWidget(); +} + +/** + * Updates the editor and checks for button presses, etc. + */ +void ConfigEditor::Update() { + Mat displayable; + + try { + vconcat(this->original, this->out, displayable); + this->outputImage.Update(displayable); + } catch(cv::Exception ex) { + } + //update the different tabs + this->configOverview.SetTargetInformationLabelsFromString(this->lastIterationResult); + this->cameraSettings.Update(); + this->preprocessorSettings.Update(); + this->postprocessorSettings.Update(); + this->runnerSettings.Update(this->runner.GetClosestTargetToCenter().Distance()); + + //apply the preprocessor settings + this->runner.SetPreprocessorProperty(PreProcessorProperty::IS_FULL, this->preprocessorSettings.GetProperty(PreProcessorProperty::IS_FULL)); + this->runner.SetPreprocessorProperty(PreProcessorProperty::THRESHOLD, this->preprocessorSettings.GetProperty(PreProcessorProperty::THRESHOLD)); + this->runner.SetPreprocessorProperty(PreProcessorProperty::EROSION, this->preprocessorSettings.GetProperty(PreProcessorProperty::EROSION)); + this->runner.SetPreprocessorProperty(PreProcessorProperty::DILATION, this->preprocessorSettings.GetProperty(PreProcessorProperty::DILATION)); + this->runner.SetPreprocessorProperty(PreProcessorProperty::COLOR_HUE, this->preprocessorSettings.GetProperty(PreProcessorProperty::COLOR_HUE)); + this->runner.SetPreprocessorProperty(PreProcessorProperty::COLOR_SATURATION, this->preprocessorSettings.GetProperty(PreProcessorProperty::COLOR_SATURATION)); + this->runner.SetPreprocessorProperty(PreProcessorProperty::COLOR_VALUE, this->preprocessorSettings.GetProperty(PreProcessorProperty::COLOR_VALUE)); + this->runner.SetPreprocessorProperty(PreProcessorProperty::COLOR_ERROR, this->preprocessorSettings.GetProperty(PreProcessorProperty::COLOR_ERROR)); + + //apply all contour settings to the runner. First, make sure we have all contours needed. + int numberOfContours = this->postprocessorSettings.GetNumContours(); + if(this->runner.GetNumberOfContours(0) != numberOfContours) { + std::cout << "Redefining Target." << std::endl; + std::vector newContours; + for(int i=0; irunner.SetExampleTarget(0, newTarget); + } + + for(int i=0; irunner.SetPostProcessorContourProperty(i, TargetProperty::DIST_X, this->postprocessorSettings.GetProperty(i, TargetProperty::DIST_X)); + this->runner.SetPostProcessorContourProperty(i, TargetProperty::DIST_Y, this->postprocessorSettings.GetProperty(i, TargetProperty::DIST_Y)); + this->runner.SetPostProcessorContourProperty(i, TargetProperty::ANGLE, this->postprocessorSettings.GetProperty(i, TargetProperty::ANGLE)); + this->runner.SetPostProcessorContourProperty(i, TargetProperty::ASPECT_RATIO, this->postprocessorSettings.GetProperty(i, TargetProperty::ASPECT_RATIO)); + this->runner.SetPostProcessorContourProperty(i, TargetProperty::SOLIDITY, this->postprocessorSettings.GetProperty(i, TargetProperty::SOLIDITY)); + this->runner.SetPostProcessorContourProperty(i, TargetProperty::MINIMUM_AREA, this->postprocessorSettings.GetProperty(i, TargetProperty::MINIMUM_AREA)); + } + + //apply runner properties + this->runner.SetRunnerProperty(RunnerProperty::OFFSET_X, this->runnerSettings.GetProperty(RunnerProperty::OFFSET_X)); + this->runner.SetRunnerProperty(RunnerProperty::OFFSET_Y, this->runnerSettings.GetProperty(RunnerProperty::OFFSET_Y)); + this->runner.SetRunnerProperty(RunnerProperty::IMAGE_WIDTH, this->runnerSettings.GetProperty(RunnerProperty::IMAGE_WIDTH)); + this->runner.SetRunnerProperty(RunnerProperty::IMAGE_HEIGHT, this->runnerSettings.GetProperty(RunnerProperty::IMAGE_HEIGHT)); + this->runner.SetRunnerProperty(RunnerProperty::TRUE_WIDTH, this->runnerSettings.GetProperty(RunnerProperty::TRUE_WIDTH)); + this->runner.SetRunnerProperty(RunnerProperty::PERCEIVED_WIDTH, this->runnerSettings.GetProperty(RunnerProperty::PERCEIVED_WIDTH)); + this->runner.SetRunnerProperty(RunnerProperty::CALIBRATED_DISTANCE, this->runnerSettings.GetProperty(RunnerProperty::CALIBRATED_DISTANCE)); + this->runner.SetRunnerProperty(RunnerProperty::ERROR_CORRECTION, this->runnerSettings.GetProperty(RunnerProperty::ERROR_CORRECTION)); + + //set service labels + if(this->learnerActivated && this->learner.GetLearning()) { + this->serviceMonitor.SetText("Learning Target"); + + std::string progressString = "Capturing Frames (" + + std::to_string(this->learner.GetFramesLearned()) + + "/" + + std::to_string(LEARNER_FRAMES) + + ")"; + + this->serviceLabel.SetText(progressString); + } else if(this->distanceLearnerRunning) { + this->serviceMonitor.SetText("Learning Distance Constants"); + + std::string progressString = "Capturing Frames (" + + std::to_string(this->distanceLearner.GetFramesLearned()) + + "/" + + std::to_string(LEARNER_FRAMES) + + ")"; + this->serviceLabel.SetText(progressString); + } else { + this->serviceMonitor.SetText("No Service Running."); + this->serviceLabel.SetText(""); + } + +} + + +/** + * Updates the internal runner to in turn update the output images. + */ +bool ConfigEditor::UpdateImageOnly() { + this->lastIterationResult = this->runner.Iterate(); + bool retval = this->runner.GetLastFrameSuccessful(); + this->out = this->runner.GetOutputImage(); + this->original = this->runner.GetOriginalImage(); + + if(this->learnerActivated) { + int minimumArea = (int) this->postprocessorSettings.GetProperty(0, TargetProperty::MINIMUM_AREA).Value(); + this->learner.FeedImage(this->original, minimumArea); + this->out = this->learner.GetOutputImageFromLastFeed(); + + if(this->learner.GetLearning()) { + if(this->learner.GetFramesLearned() >= LEARNER_FRAMES) { + int minimumArea = (int) this->postprocessorSettings.GetProperty(0, TargetProperty::MINIMUM_AREA).Value(); + ExampleTarget newTarget = this->learner.StopLearning(minimumArea); + std::vector newContours = newTarget.Contours(); + this->learnerActivated = false; + + if(newContours.size() > 0) { + //prepare the editor for the contours + this->postprocessorSettings.SetNumContours(newContours.size()); + this->runner.SetExampleTarget(0, newTarget); + + for(int i=0; ipostprocessorSettings.SetProperty(i, TargetProperty::DIST_X, newContours[i].DistX()); + this->postprocessorSettings.SetProperty(i, TargetProperty::DIST_Y, newContours[i].DistY()); + this->postprocessorSettings.SetProperty(i, TargetProperty::ANGLE, newContours[i].Angle()); + this->postprocessorSettings.SetProperty(i, TargetProperty::SOLIDITY, newContours[i].Solidity()); + this->postprocessorSettings.SetProperty(i, TargetProperty::ASPECT_RATIO, newContours[i].AspectRatio()); + this->postprocessorSettings.SetProperty(i, TargetProperty::MINIMUM_AREA, SettingPair(newContours[i].MinimumArea(), 0)); + } + } + } + + if(this->learner.GetHasFailed()) { + //alert the user + ConfirmationDialog alert = ConfirmationDialog( + std::string("The utility has failed due to a video error.\n") + + std::string("Is the camera plugged in?") + ); + alert.ShowAndGetResponse(); + this->learnerActivated = false; + } + } + } + + if(this->distanceLearnerRunning) { + this->distanceLearner.FeedTarget(this->runner.GetClosestTargetToCenter()); + + if(this->distanceLearner.GetFramesLearned() >= LEARNER_FRAMES) { + double trueDistance = this->runnerSettings.GetProperty(RunnerProperty::CALIBRATED_DISTANCE); + double trueWidth = this->runnerSettings.GetProperty(RunnerProperty::TRUE_WIDTH); + double newFocalWidth = this->distanceLearner.GetFocalWidth(trueDistance, trueWidth); + this->runnerSettings.SetProperty(RunnerProperty::PERCEIVED_WIDTH, newFocalWidth); + this->distanceLearnerRunning = false; + } + } + return retval; +} + +/** + * Returns the string result from the last runner iteration, or an empty string if no iterations happened. + */ +std::string ConfigEditor::GetLastFrameResult() { + return this->lastIterationResult; +} + +/** + * Causes the editor to save the config to file. + */ +void ConfigEditor::Save() { + //assemble the file structure and write it into a file which the user may designate + XMLDocument doc = XMLDocument(); + + // + XMLTag camera = XMLTag("camera"); + XMLTagAttribute cameraIndex = XMLTagAttribute("index", std::to_string(this->cameraSettings.GetCameraIndex())); + camera.AddAttribute(cameraIndex); + + /** + * + * + */ + XMLTag resolution = XMLTag("resolution"); + XMLTag resolutionWidth = XMLTag("width", std::to_string(this->cameraSettings.GetSettingValueFromID(CAP_PROP_FRAME_WIDTH))); + resolution.AddTag(resolutionWidth); + + XMLTag resolutionHeight = XMLTag("height", std::to_string(this->cameraSettings.GetSettingValueFromID(CAP_PROP_FRAME_HEIGHT))); + resolution.AddTag(resolutionHeight); + + camera.AddTag(resolution); + + /** + * + * + */ + XMLTag settings = this->cameraSettings.GetFinishedTag(); + camera.AddTag(settings); + + doc.AddTag(camera); + + /** + * + */ + XMLTag configuration = XMLTag("configuration"); + XMLTagAttribute configurationName = XMLTagAttribute("name", this->configOverview.GetConfigName()); + configuration.AddAttribute(configurationName); + + /** + * + * + */ + XMLTag cameraOffset = XMLTag("cameraOffset"); + XMLTag horizontalOffset = XMLTag("horizontal", std::to_string((int) this->runnerSettings.GetProperty(RunnerProperty::OFFSET_X))); + cameraOffset.AddTag(horizontalOffset); + + XMLTag verticalOffset = XMLTag("vertical", std::to_string((int) this->runnerSettings.GetProperty(RunnerProperty::OFFSET_Y))); + cameraOffset.AddTag(verticalOffset); + + configuration.AddTag(cameraOffset); + + /** + * + * + */ + XMLTag constantResize = XMLTag("constantResize"); + XMLTag resizeWidth = XMLTag("width", std::to_string((int) this->runnerSettings.GetProperty(RunnerProperty::IMAGE_WIDTH))); + constantResize.AddTag(resizeWidth); + + XMLTag resizeHeight = XMLTag("height", std::to_string((int) this->runnerSettings.GetProperty(RunnerProperty::IMAGE_HEIGHT))); + constantResize.AddTag(resizeHeight); + + configuration.AddTag(constantResize); + + /** + * + * + */ + XMLTag preprocessor = XMLTag("preprocessor"); + XMLTagAttribute preprocessorType = XMLTagAttribute("type", (this->preprocessorSettings.GetProperty(PreProcessorProperty::IS_FULL) == 1.0 ? "full" : "partial")); + preprocessor.AddAttribute(preprocessorType); + + // + XMLTag threshold = XMLTag("threshold", std::to_string((int) this->preprocessorSettings.GetProperty(PreProcessorProperty::THRESHOLD))); + preprocessor.AddTag(threshold); + + // + XMLTag erosion = XMLTag("erosion", std::to_string((int) this->preprocessorSettings.GetProperty(PreProcessorProperty::EROSION))); + preprocessor.AddTag(erosion); + + // + XMLTag dilation = XMLTag("dilation", std::to_string((int) this->preprocessorSettings.GetProperty(PreProcessorProperty::DILATION))); + preprocessor.AddTag(dilation); + + /** + * + * + * + */ + XMLTag targetColor = XMLTag("targetColor"); + XMLTagAttribute targetColorError = XMLTagAttribute("error", std::to_string((int) this->preprocessorSettings.GetProperty(PreProcessorProperty::COLOR_ERROR))); + targetColor.AddAttribute(targetColorError); + + // + XMLTag h = XMLTag("h", std::to_string((int) this->preprocessorSettings.GetProperty(PreProcessorProperty::COLOR_HUE))); + targetColor.AddTag(h); + + // + XMLTag s = XMLTag("s", std::to_string((int) this->preprocessorSettings.GetProperty(PreProcessorProperty::COLOR_SATURATION))); + targetColor.AddTag(s); + + // + XMLTag v = XMLTag("v", std::to_string((int) this->preprocessorSettings.GetProperty(PreProcessorProperty::COLOR_VALUE))); + targetColor.AddTag(v); + + preprocessor.AddTag(targetColor); + configuration.AddTag(preprocessor); + + /** + * + * + */ + XMLTag postprocessor = XMLTag("postprocessor"); + // + XMLTag target = XMLTag("target"); + XMLTagAttribute targetID = XMLTagAttribute("id", "0"); //this remains constant for now until multiple target support is added. + target.AddAttribute(targetID); + + for(int i=0; ipostprocessorSettings.GetNumContours(); i++) { + /** + * + * + * + * + */ + XMLTag contour = XMLTag("contour"); + XMLTagAttribute contourID = XMLTagAttribute("id", std::to_string(i)); + contour.AddAttribute(contourID); + + // + SettingPair distXValues = this->postprocessorSettings.GetProperty(i, TargetProperty::DIST_X); + XMLTag x = XMLTag("x", std::to_string((double) distXValues.Value())); + XMLTagAttribute xError = XMLTagAttribute("error", std::to_string((double) distXValues.Error())); + x.AddAttribute(xError); + contour.AddTag(x); + + // + SettingPair distYValues = this->postprocessorSettings.GetProperty(i, TargetProperty::DIST_Y); + XMLTag y = XMLTag("y", std::to_string((double) distYValues.Value())); + XMLTagAttribute yError = XMLTagAttribute("error", std::to_string((double) distYValues.Error())); + y.AddAttribute(yError); + contour.AddTag(y); + + // + SettingPair angleValues = this->postprocessorSettings.GetProperty(i, TargetProperty::ANGLE); + XMLTag angle = XMLTag("angle", std::to_string((double) angleValues.Value())); + XMLTagAttribute angleError = XMLTagAttribute("error", std::to_string((double) angleValues.Error())); + angle.AddAttribute(angleError); + contour.AddTag(angle); + + // + SettingPair solidityValues = this->postprocessorSettings.GetProperty(i, TargetProperty::SOLIDITY); + XMLTag solidity = XMLTag("solidity", std::to_string((double) solidityValues.Value())); + XMLTagAttribute solidityError = XMLTagAttribute("error", std::to_string((double) solidityValues.Error())); + solidity.AddAttribute(solidityError); + contour.AddTag(solidity); + + // + SettingPair aspectRatioValues = this->postprocessorSettings.GetProperty(i, TargetProperty::ASPECT_RATIO); + XMLTag aspectRatio = XMLTag("aspectRatio", std::to_string((double) aspectRatioValues.Value())); + XMLTagAttribute aspectRatioError = XMLTagAttribute("error", std::to_string((double) aspectRatioValues.Error())); + aspectRatio.AddAttribute(aspectRatioError); + contour.AddTag(aspectRatio); + + // + SettingPair minimumAreaValues = this->postprocessorSettings.GetProperty(i, TargetProperty::MINIMUM_AREA); + XMLTag minimumArea = XMLTag("minimumArea", std::to_string((int) minimumAreaValues.Value())); + contour.AddTag(minimumArea); + + target.AddTag(contour); + } + + // + XMLTag knownWidth = XMLTag("knownWidth", std::to_string((double) this->runnerSettings.GetProperty(RunnerProperty::TRUE_WIDTH))); + target.AddTag(knownWidth); + + // + XMLTag focalWidth = XMLTag("focalWidth", std::to_string((double) this->runnerSettings.GetProperty(RunnerProperty::PERCEIVED_WIDTH))); + target.AddTag(focalWidth); + + // + XMLTag calibratedDistance = XMLTag("calibratedDistance", std::to_string((double) this->runnerSettings.GetProperty(RunnerProperty::CALIBRATED_DISTANCE))); + target.AddTag(calibratedDistance); + + // + XMLTag distErrorCorrect = XMLTag("distErrorCorrect", std::to_string((double) this->runnerSettings.GetProperty(RunnerProperty::ERROR_CORRECTION))); + target.AddTag(distErrorCorrect); + + postprocessor.AddTag(target); + + /** + * + * + * + */ + XMLTag UDP = XMLTag("UDP"); + //
+ XMLTag address = XMLTag("address", this->runnerSettings.GetUDPAddr()); + UDP.AddTag(address); + + // + XMLTag port = XMLTag("port", std::to_string(this->runnerSettings.GetUDPPort())); + UDP.AddTag(port); + + postprocessor.AddTag(UDP); + configuration.AddTag(postprocessor); + doc.AddTag(configuration); + + //to prompt file name or not to promt file name + std::string fileToSave = this->fileName; + std::vector fileParts = StringUtils::SplitString(fileToSave, '/'); + + if(fileParts[fileParts.size() - 1] == "generic.xml") { + FileChooser chooser = FileChooser(true, "config.xml"); + fileToSave = chooser.Show(); + this->fileName = fileToSave; + } + + doc.WriteFile(fileToSave); +} + + +void ConfigEditor::Close() { + gtk_widget_destroy(this->configeditor); +} + + +void ConfigEditor::StartLearningTarget() { + if(KiwiLightApp::CameraOpen()) { + //reinstantiate the learner to apply the preprocessor settings + this->learner = ConfigLearner(this->runner.GetPreProcessor()); + this->learnerActivated = true; + + ConfirmationDialog confirmLearn = ConfirmationDialog( + std::string("Position the target in the center of the image and press OK.\n") + + std::string("It should be highlighted with a blue box.") + ); + bool shouldLearn = confirmLearn.ShowAndGetResponse(); + if(shouldLearn) { + this->serviceMonitor.SetText("Learning Target"); + this->serviceLabel.SetText("Capturing Frames"); + this->learner.StartLearning(); + } else { + this->learnerActivated = false; + } + } else { + //the camera is not opened, alert the user + ConfirmationDialog alert = ConfirmationDialog( + std::string("The utility could not start because of a video error.\n") + + std::string("Is the camera plugged in and working correctly on your device?") + ); + + alert.ShowAndGetResponse(); + } +} + + +void ConfigEditor::StartLearningDistance() { + //check for video errors + if(KiwiLightApp::CameraOpen()) { + ConfirmationDialog informationDialog = ConfirmationDialog("Learn Distance"); + Panel dialogPanel = Panel(false, 0); + Panel trueWidthPanel = Panel(true, 0); + Label trueWidthPanelHeader = Label("Target Width: "); + trueWidthPanel.Pack_start(trueWidthPanelHeader.GetWidget(), false, false, 0); + + double realTrueWidth = this->runnerSettings.GetProperty(RunnerProperty::TRUE_WIDTH); + NumberBox trueWidthPanelValue = NumberBox(0.0, 120.0, 0.1, realTrueWidth); + trueWidthPanel.Pack_start(trueWidthPanelValue.GetWidget(), false, false, 0); + + dialogPanel.Pack_start(trueWidthPanel.GetWidget(), false, false, 0); + + Panel distancePanel = Panel(true, 0); + Label distancePanelHeader = Label("Distance From Camera: "); + distancePanel.Pack_start(distancePanelHeader.GetWidget(), false, false, 0); + + double realDistance = this->runnerSettings.GetProperty(RunnerProperty::CALIBRATED_DISTANCE); + NumberBox distanceValue = NumberBox(6.0, 240.0, 0.1, realDistance); + distancePanel.Pack_start(distanceValue.GetWidget(), false, false, 0); + + dialogPanel.Pack_start(distancePanel.GetWidget(), false, false, 0); + informationDialog.SetBody(dialogPanel); + + //show the dialog anc ask the question, but do not destroy the dialog when the user presses OK + bool shouldLearn = informationDialog.ShowButDontClose(); + double targetTrueWidth = trueWidthPanelValue.GetValue(); + double targetDistance = distanceValue.GetValue(); + informationDialog.Destroy(); + + if(shouldLearn) { + this->runnerSettings.SetProperty(RunnerProperty::TRUE_WIDTH, targetTrueWidth); + this->runnerSettings.SetProperty(RunnerProperty::CALIBRATED_DISTANCE, targetDistance); + + this->distanceLearner = TargetDistanceLearner(this->runner.GetPreProcessor(), this->runner.GetPostProcessor()); + this->distanceLearnerRunning = true; + + this->serviceMonitor.SetText("Learning Distance Constants"); + this->serviceLabel.SetText("Capturing Frames"); + } + } else { + //the camera is not opened, alert the user + ConfirmationDialog alert = ConfirmationDialog( + std::string("The utility could not be opened because of a video error.\n") + + std::string("Is the camera plugged in and working correctly on your device?") + ); + + alert.ShowAndGetResponse(); + } +} + + +void ConfigEditor::ReconnectUDPFromEditor() { + std::string newUDPAddr = this->runnerSettings.GetUDPAddr(); + int newUDPPort = this->runnerSettings.GetUDPPort(); + KiwiLightApp::ReconnectUDP(newUDPAddr, newUDPPort); + + //set the things in the overview panel + this->configOverview.SetUDPAddr(newUDPAddr); + this->configOverview.SetUDPPort(newUDPPort); +} + + +void ConfigEditor::SetUDPEnabledLabels(bool UDPEnabled) { + this->configOverview.SetUDPEnabledLabels(UDPEnabled); + this->runnerSettings.SetUDPEnabledLabels(UDPEnabled); +} + +/** + * Applies the settings from the camera tab to the camera itself. + */ +void ConfigEditor::ApplyCameraSettings() { + std::vector settingIDs = this->cameraSettings.GetSettingIDs(); + int newCameraIndex = this->cameraSettings.GetCameraIndex(); + + //open a new camera because the user wants to + KiwiLightApp::OpenNewCameraOnIndex(newCameraIndex); + + //tell the runner to apply each setting + for(int i=0; icameraSettings.GetSettingValueFromID(id); + KiwiLightApp::SetCameraProperty(id, value); + } + + //get the settings and apply them to the menu to tell the user if they were rejected or not + for(int i=0; icameraSettings.SetSettingValueFromID(id, value); + } +} + + +void ConfigEditor::SetCameraIndexBoxes(int index) { + this->configOverview.SetCameraIndex(index); + this->cameraSettings.SetCameraIndex(index); +} + + +void ConfigEditor::ReconnectUDPFromOverview() { + std::string newAddr = this->configOverview.GetUDPAddr(); + int newPort = this->configOverview.GetUDPPort(); + KiwiLightApp::ReconnectUDP(newAddr, newPort); + + //set the properties in the actual editor + this->runnerSettings.SetUDPAddr(newAddr); + this->runnerSettings.SetUDPPort(newPort); +} + + +void ConfigEditor::OpenNewCameraFromOverview() { + int newCameraIndex = this->configOverview.GetCameraIndex(); + + //the camera needs to be reconnected because indexes are different + this->cameraSettings.SetCameraIndex(newCameraIndex); //set real index + KiwiLightApp::OpenNewCameraOnIndex(newCameraIndex); +} + + +void ConfigEditor::SetName(std::string name) { + gtk_widget_set_name(this->configeditor, name.c_str()); +} + + +void ConfigEditor::UpdateImage() { + this->runner.Iterate(); + Mat displayable; + + try { + vconcat(this->original, this->out, displayable); + this->outputImage.Update(displayable); + } catch(cv::Exception ex) { + std::cout << "cv exception in ce" << std::endl; + } +} diff --git a/KiwiLight - Vision Code/ui/ConfigPanel.cpp b/KiwiLight - Vision Code/ui/ConfigPanel.cpp index dd6afa8..17bb75e 100644 --- a/KiwiLight - Vision Code/ui/ConfigPanel.cpp +++ b/KiwiLight - Vision Code/ui/ConfigPanel.cpp @@ -1,145 +1,145 @@ -#include "UI.h" - -/** - * Source file for the ConfigPanel class - * Written By: Brach Knutson - */ - -using namespace KiwiLight; - -extern void EditSelected(); //from Main.cpp -extern void ToggleUDP(); //from Main.cpp - - -ConfigPanel::ConfigPanel(XMLDocument file) { - this->panel = Panel(false, 5); - - this->configFile = "(none)"; - std::string configName = "(none)"; - std::string preprocessorType = "(none)"; - std::string numContours = "(none)"; - std::string udpAddr = "(none)"; - std::string udpPort = "(none)"; - - if(file.HasContents()) { - this->configFile = file.FileName(); - - XMLTag confTag = file.GetTagsByName("configuration")[0]; - configName = confTag.GetAttributesByName("name")[0].Value(); - - XMLTag preprocessorTag = confTag.GetTagsByName("preprocessor")[0]; - preprocessorType = preprocessorTag.GetAttributesByName("type")[0].Value(); - - XMLTag postprocessorTag = confTag.GetTagsByName("postprocessor")[0]; - XMLTag targetTag = postprocessorTag.GetTagsByName("target")[0]; - numContours = std::to_string(targetTag.GetTagsByName("contour").size()); - - XMLTag udpTag = postprocessorTag.GetTagsByName("UDP")[0]; - udpAddr = udpTag.GetTagsByName("address")[0].Content(); - udpPort = udpTag.GetTagsByName("port")[0].Content(); - } - - this->configNameString = configName; - - this->header = Label("Configuration: " + configName); - this->header.SetName("header"); - this->panel.Pack_start(this->header.GetWidget(), false, false, 0); - - Panel filePanel = Panel(true, 0); - Label filePanelHeader = Label("File: "); - filePanelHeader.SetName("gray"); - filePanel.Pack_start(filePanelHeader.GetWidget(), false, false, 0); - - this->fileLabel = Label(this->configFile); - filePanel.Pack_start(this->fileLabel.GetWidget(), false, false, 0); - - this->panel.Pack_start(filePanel.GetWidget(), false, false, 0); - - Panel preprocessorPanel = Panel(true, 0); - Label preprocessorPanelHeader = Label("Preprocessor: "); - preprocessorPanelHeader.SetName("gray"); - preprocessorPanel.Pack_start(preprocessorPanelHeader.GetWidget(), false, false, 0); - - this->PreProcessorLabel = Label(preprocessorType); - preprocessorPanel.Pack_start(this->PreProcessorLabel.GetWidget(), false, false, 0); - - this->panel.Pack_start(preprocessorPanel.GetWidget(), false, false, 0); - - Panel targetPanel = Panel(true, 0); - Label targetPanelHeader = Label("Contours: "); - targetPanelHeader.SetName("gray"); - targetPanel.Pack_start(targetPanelHeader.GetWidget(), false, false, 0); - - this->TargetLabel = Label(numContours); - targetPanel.Pack_start(this->TargetLabel.GetWidget(), false, false, 0); - - this->panel.Pack_start(targetPanel.GetWidget(), false, false, 0); - - Panel udpAddrPanel = Panel(true, 0); - Label udpAddrPanelHeader = Label("UDP Address: "); - udpAddrPanelHeader.SetName("gray"); - udpAddrPanel.Pack_start(udpAddrPanelHeader.GetWidget(), false, false, 0); - - this->UDPAddressLabel = Label(udpAddr); - udpAddrPanel.Pack_start(this->UDPAddressLabel.GetWidget(), false, false, 0); - - this->panel.Pack_start(udpAddrPanel.GetWidget(), false, false, 0); - - Panel udpPortPanel = Panel(true, 0); - Label udpPortPanelHeader = Label("UDP Port: "); - udpPortPanelHeader.SetName("gray"); - udpPortPanel.Pack_start(udpPortPanelHeader.GetWidget(), false, false, 0); - - this->UDPPortLabel = Label(udpPort); - udpPortPanel.Pack_start(this->UDPPortLabel.GetWidget(), false, false, 0); - - this->panel.Pack_start(udpPortPanel.GetWidget(), false, false, 0); - - this->configPanel = this->panel.GetWidget(); -} - - -void ConfigPanel::LoadConfig(std::string fileName) { - this->LoadConfig(XMLDocument(fileName)); -} - -/** - * Loads the config described the the file at fileName. - */ -void ConfigPanel::LoadConfig(XMLDocument file) { - //create an xmldocument to parse and then find all information needed to fill out the label - - XMLTag config = file.GetTagsByName("configuration")[0]; - std::string name = config.GetAttributesByName("name")[0].Value(); - std::string preProcessorType = config.GetTagsByName("preprocessor")[0].GetAttributesByName("type")[0].Value(); - std::string postProcessorType = "full"; - std::string numContours = std::to_string(config.GetTagsByName("postprocessor")[0].GetTagsByName("target")[0].GetTagsByName("contour").size()); - - XMLTag UDPTag = config.GetTagsByName("postprocessor")[0].GetTagsByName("UDP")[0]; - std::string udpAddress = UDPTag.GetTagsByName("address")[0].Content(); - std::string udpPort = UDPTag.GetTagsByName("port")[0].Content(); - - //set the label texts for the informational panel with the found information - this->header.SetText("Configuration: " + name); - this->fileLabel.SetText(file.FileName()); - this->PreProcessorLabel.SetText(preProcessorType); - this->TargetLabel.SetText(numContours); - this->UDPAddressLabel.SetText(udpAddress); - this->UDPPortLabel.SetText(udpPort); - - this->configNameString = name; -} - - -void ConfigPanel::Clear() { - this->header.SetText("Configuration: (none loaded)"); - this->fileLabel.SetText("(none)"); - this->PreProcessorLabel.SetText("(none)"); - this->TargetLabel.SetText("(none)"); - this->UDPAddressLabel.SetText("(none)"); - this->UDPPortLabel.SetText("(none)"); -} - -void ConfigPanel::SetName(std::string name) { - gtk_widget_set_name(this->configPanel, name.c_str()); -} +#include "UI.h" + +/** + * Source file for the ConfigPanel class + * Written By: Brach Knutson + */ + +using namespace KiwiLight; + +extern void EditSelected(); //from Main.cpp +extern void ToggleUDP(); //from Main.cpp + + +ConfigPanel::ConfigPanel(XMLDocument file) { + this->panel = Panel(false, 5); + + this->configFile = "(none)"; + std::string configName = "(none)"; + std::string preprocessorType = "(none)"; + std::string numContours = "(none)"; + std::string udpAddr = "(none)"; + std::string udpPort = "(none)"; + + if(file.HasContents()) { + this->configFile = file.FileName(); + + XMLTag confTag = file.GetTagsByName("configuration")[0]; + configName = confTag.GetAttributesByName("name")[0].Value(); + + XMLTag preprocessorTag = confTag.GetTagsByName("preprocessor")[0]; + preprocessorType = preprocessorTag.GetAttributesByName("type")[0].Value(); + + XMLTag postprocessorTag = confTag.GetTagsByName("postprocessor")[0]; + XMLTag targetTag = postprocessorTag.GetTagsByName("target")[0]; + numContours = std::to_string(targetTag.GetTagsByName("contour").size()); + + XMLTag udpTag = postprocessorTag.GetTagsByName("UDP")[0]; + udpAddr = udpTag.GetTagsByName("address")[0].Content(); + udpPort = udpTag.GetTagsByName("port")[0].Content(); + } + + this->configNameString = configName; + + this->header = Label("Configuration: " + configName); + this->header.SetName("header"); + this->panel.Pack_start(this->header.GetWidget(), false, false, 0); + + Panel filePanel = Panel(true, 0); + Label filePanelHeader = Label("File: "); + filePanelHeader.SetName("gray"); + filePanel.Pack_start(filePanelHeader.GetWidget(), false, false, 0); + + this->fileLabel = Label(this->configFile); + filePanel.Pack_start(this->fileLabel.GetWidget(), false, false, 0); + + this->panel.Pack_start(filePanel.GetWidget(), false, false, 0); + + Panel preprocessorPanel = Panel(true, 0); + Label preprocessorPanelHeader = Label("Preprocessor: "); + preprocessorPanelHeader.SetName("gray"); + preprocessorPanel.Pack_start(preprocessorPanelHeader.GetWidget(), false, false, 0); + + this->PreProcessorLabel = Label(preprocessorType); + preprocessorPanel.Pack_start(this->PreProcessorLabel.GetWidget(), false, false, 0); + + this->panel.Pack_start(preprocessorPanel.GetWidget(), false, false, 0); + + Panel targetPanel = Panel(true, 0); + Label targetPanelHeader = Label("Contours: "); + targetPanelHeader.SetName("gray"); + targetPanel.Pack_start(targetPanelHeader.GetWidget(), false, false, 0); + + this->TargetLabel = Label(numContours); + targetPanel.Pack_start(this->TargetLabel.GetWidget(), false, false, 0); + + this->panel.Pack_start(targetPanel.GetWidget(), false, false, 0); + + Panel udpAddrPanel = Panel(true, 0); + Label udpAddrPanelHeader = Label("UDP Address: "); + udpAddrPanelHeader.SetName("gray"); + udpAddrPanel.Pack_start(udpAddrPanelHeader.GetWidget(), false, false, 0); + + this->UDPAddressLabel = Label(udpAddr); + udpAddrPanel.Pack_start(this->UDPAddressLabel.GetWidget(), false, false, 0); + + this->panel.Pack_start(udpAddrPanel.GetWidget(), false, false, 0); + + Panel udpPortPanel = Panel(true, 0); + Label udpPortPanelHeader = Label("UDP Port: "); + udpPortPanelHeader.SetName("gray"); + udpPortPanel.Pack_start(udpPortPanelHeader.GetWidget(), false, false, 0); + + this->UDPPortLabel = Label(udpPort); + udpPortPanel.Pack_start(this->UDPPortLabel.GetWidget(), false, false, 0); + + this->panel.Pack_start(udpPortPanel.GetWidget(), false, false, 0); + + this->configPanel = this->panel.GetWidget(); +} + + +void ConfigPanel::LoadConfig(std::string fileName) { + this->LoadConfig(XMLDocument(fileName)); +} + +/** + * Loads the config described the the file at fileName. + */ +void ConfigPanel::LoadConfig(XMLDocument file) { + //create an xmldocument to parse and then find all information needed to fill out the label + + XMLTag config = file.GetTagsByName("configuration")[0]; + std::string name = config.GetAttributesByName("name")[0].Value(); + std::string preProcessorType = config.GetTagsByName("preprocessor")[0].GetAttributesByName("type")[0].Value(); + std::string postProcessorType = "full"; + std::string numContours = std::to_string(config.GetTagsByName("postprocessor")[0].GetTagsByName("target")[0].GetTagsByName("contour").size()); + + XMLTag UDPTag = config.GetTagsByName("postprocessor")[0].GetTagsByName("UDP")[0]; + std::string udpAddress = UDPTag.GetTagsByName("address")[0].Content(); + std::string udpPort = UDPTag.GetTagsByName("port")[0].Content(); + + //set the label texts for the informational panel with the found information + this->header.SetText("Configuration: " + name); + this->fileLabel.SetText(file.FileName()); + this->PreProcessorLabel.SetText(preProcessorType); + this->TargetLabel.SetText(numContours); + this->UDPAddressLabel.SetText(udpAddress); + this->UDPPortLabel.SetText(udpPort); + + this->configNameString = name; +} + + +void ConfigPanel::Clear() { + this->header.SetText("Configuration: (none loaded)"); + this->fileLabel.SetText("(none)"); + this->PreProcessorLabel.SetText("(none)"); + this->TargetLabel.SetText("(none)"); + this->UDPAddressLabel.SetText("(none)"); + this->UDPPortLabel.SetText("(none)"); +} + +void ConfigPanel::SetName(std::string name) { + gtk_widget_set_name(this->configPanel, name.c_str()); +} diff --git a/KiwiLight - Vision Code/ui/ConfirmationDialog.cpp b/KiwiLight - Vision Code/ui/ConfirmationDialog.cpp index 361d473..f9cbebb 100644 --- a/KiwiLight - Vision Code/ui/ConfirmationDialog.cpp +++ b/KiwiLight - Vision Code/ui/ConfirmationDialog.cpp @@ -1,56 +1,56 @@ -#include "UI.h" - -/** - * Source file for the ConfirmationDialog class. - * Written By: Brach Knutson - */ - -using namespace KiwiLight; - - -ConfirmationDialog::ConfirmationDialog(std::string message) { - GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL); - this->dialog = gtk_dialog_new_with_buttons("Confirmation", GTK_WINDOW(window), GTK_DIALOG_MODAL, "OK", GTK_RESPONSE_ACCEPT, "Cancel", GTK_RESPONSE_REJECT, NULL); - GtkWidget *dialogContent = gtk_dialog_get_content_area(GTK_DIALOG(this->dialog)); - this->content = Panel(false, 0); - Label lbl = Label(message); - this->content.Pack_start(lbl.GetWidget(), false, false, 0); - - gtk_container_add(GTK_CONTAINER(dialogContent), this->content.GetWidget()); - -} - - -void ConfirmationDialog::SetBody(Panel pnl) { - this->content.Pack_start(pnl.GetWidget(), true, true, 0); -} - - -bool ConfirmationDialog::ShowButDontClose() { - gtk_widget_show_all(this->dialog); - gint response = gtk_dialog_run(GTK_DIALOG(this->dialog)); - return response == GTK_RESPONSE_ACCEPT; -} - - -void ConfirmationDialog::ShowWithoutRunning() { - gtk_widget_show_all(this->dialog); -} - - -bool ConfirmationDialog::ShowAndGetResponse() { - gtk_widget_show_all(this->dialog); - gint response = gtk_dialog_run(GTK_DIALOG(this->dialog)); - gtk_widget_destroy(this->dialog); - return response == GTK_RESPONSE_ACCEPT; -} - - -void ConfirmationDialog::Destroy() { - gtk_widget_destroy(this->dialog); -} - - -void ConfirmationDialog::SetName(std::string name) { - gtk_widget_set_name(this->dialog, name.c_str()); +#include "UI.h" + +/** + * Source file for the ConfirmationDialog class. + * Written By: Brach Knutson + */ + +using namespace KiwiLight; + + +ConfirmationDialog::ConfirmationDialog(std::string message) { + GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL); + this->dialog = gtk_dialog_new_with_buttons("Confirmation", GTK_WINDOW(window), GTK_DIALOG_MODAL, "OK", GTK_RESPONSE_ACCEPT, "Cancel", GTK_RESPONSE_REJECT, NULL); + GtkWidget *dialogContent = gtk_dialog_get_content_area(GTK_DIALOG(this->dialog)); + this->content = Panel(false, 0); + Label lbl = Label(message); + this->content.Pack_start(lbl.GetWidget(), false, false, 0); + + gtk_container_add(GTK_CONTAINER(dialogContent), this->content.GetWidget()); + +} + + +void ConfirmationDialog::SetBody(Panel pnl) { + this->content.Pack_start(pnl.GetWidget(), true, true, 0); +} + + +bool ConfirmationDialog::ShowButDontClose() { + gtk_widget_show_all(this->dialog); + gint response = gtk_dialog_run(GTK_DIALOG(this->dialog)); + return response == GTK_RESPONSE_ACCEPT; +} + + +void ConfirmationDialog::ShowWithoutRunning() { + gtk_widget_show_all(this->dialog); +} + + +bool ConfirmationDialog::ShowAndGetResponse() { + gtk_widget_show_all(this->dialog); + gint response = gtk_dialog_run(GTK_DIALOG(this->dialog)); + gtk_widget_destroy(this->dialog); + return response == GTK_RESPONSE_ACCEPT; +} + + +void ConfirmationDialog::Destroy() { + gtk_widget_destroy(this->dialog); +} + + +void ConfirmationDialog::SetName(std::string name) { + gtk_widget_set_name(this->dialog, name.c_str()); } \ No newline at end of file diff --git a/KiwiLight - Vision Code/ui/FileChooser.cpp b/KiwiLight - Vision Code/ui/FileChooser.cpp index 7e2f6ce..9669334 100644 --- a/KiwiLight - Vision Code/ui/FileChooser.cpp +++ b/KiwiLight - Vision Code/ui/FileChooser.cpp @@ -1,60 +1,60 @@ -#include "UI.h" - -/** - * Source file for the FileChooser class. - * Written By: Brach Knutson - */ - -using namespace KiwiLight; - -/** - * Creates a new FileChooser. - * @param writing Should be true if you intend this filechooser to choose a file to save to, false if choosing to read from. - * @param defaultFileName Only used if writing is true, the default name of the file to save to. - */ -FileChooser::FileChooser(bool writing, std::string defaultFileName) { - GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL); - - if(writing) { - this->filechooser = gtk_file_chooser_dialog_new("Save File", - GTK_WINDOW(window), - GTK_FILE_CHOOSER_ACTION_SAVE, - "Cancel", - GTK_RESPONSE_CANCEL, - "Save", - GTK_RESPONSE_ACCEPT, - NULL - ); - - // gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(this->filechooser), defaultFileName.c_str()); - gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(this->filechooser), defaultFileName.c_str()); - } else { - this->filechooser = gtk_file_chooser_dialog_new ("Open File", - GTK_WINDOW(window), - GTK_FILE_CHOOSER_ACTION_OPEN, - "Cancel", - GTK_RESPONSE_CANCEL, - "Open", - GTK_RESPONSE_ACCEPT, - NULL - ); - } - - gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(this->filechooser), getenv("HOME")); -} - - -std::string FileChooser::Show() { - gint result = gtk_dialog_run(GTK_DIALOG(this->filechooser)); - std::string file = ""; - if(result == GTK_RESPONSE_ACCEPT) { - file = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(this->filechooser)); - } - - gtk_widget_destroy(this->filechooser); - return file; -} - -void FileChooser::SetName(std::string name) { - gtk_widget_set_name(this->filechooser, name.c_str()); +#include "UI.h" + +/** + * Source file for the FileChooser class. + * Written By: Brach Knutson + */ + +using namespace KiwiLight; + +/** + * Creates a new FileChooser. + * @param writing Should be true if you intend this filechooser to choose a file to save to, false if choosing to read from. + * @param defaultFileName Only used if writing is true, the default name of the file to save to. + */ +FileChooser::FileChooser(bool writing, std::string defaultFileName) { + GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL); + + if(writing) { + this->filechooser = gtk_file_chooser_dialog_new("Save File", + GTK_WINDOW(window), + GTK_FILE_CHOOSER_ACTION_SAVE, + "Cancel", + GTK_RESPONSE_CANCEL, + "Save", + GTK_RESPONSE_ACCEPT, + NULL + ); + + // gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(this->filechooser), defaultFileName.c_str()); + gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(this->filechooser), defaultFileName.c_str()); + } else { + this->filechooser = gtk_file_chooser_dialog_new ("Open File", + GTK_WINDOW(window), + GTK_FILE_CHOOSER_ACTION_OPEN, + "Cancel", + GTK_RESPONSE_CANCEL, + "Open", + GTK_RESPONSE_ACCEPT, + NULL + ); + } + + gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(this->filechooser), getenv("HOME")); +} + + +std::string FileChooser::Show() { + gint result = gtk_dialog_run(GTK_DIALOG(this->filechooser)); + std::string file = ""; + if(result == GTK_RESPONSE_ACCEPT) { + file = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(this->filechooser)); + } + + gtk_widget_destroy(this->filechooser); + return file; +} + +void FileChooser::SetName(std::string name) { + gtk_widget_set_name(this->filechooser, name.c_str()); } \ No newline at end of file diff --git a/KiwiLight - Vision Code/ui/Frame.cpp b/KiwiLight - Vision Code/ui/Frame.cpp index d3d774d..4042b4c 100644 --- a/KiwiLight - Vision Code/ui/Frame.cpp +++ b/KiwiLight - Vision Code/ui/Frame.cpp @@ -1,35 +1,35 @@ -#include "UI.h" - -/** - * Source file for the Frame class. - * Written By: Brach Knutson - */ - - -using namespace KiwiLight; - -/** - * Creates a new frame with the given text in the label. - */ -Frame::Frame(std::string label) { - this->frame = gtk_frame_new(label.c_str()); - g_object_ref_sink(this->frame); - gtk_frame_set_shadow_type(GTK_FRAME(this->frame), GTK_SHADOW_ETCHED_IN); -} - -/** - * Pack the given widget into the frame (is it vertical or horizontal? idk!!!) - */ -void Frame::Pack(GtkWidget *widget) { - gtk_container_add(GTK_CONTAINER(this->frame), widget); -} - - -void Frame::Unpack(GtkWidget *widget) { - gtk_container_remove(GTK_CONTAINER(this->frame), widget); -} - - -void Frame::SetName(std::string name) { - gtk_widget_set_name(this->frame, name.c_str()); +#include "UI.h" + +/** + * Source file for the Frame class. + * Written By: Brach Knutson + */ + + +using namespace KiwiLight; + +/** + * Creates a new frame with the given text in the label. + */ +Frame::Frame(std::string label) { + this->frame = gtk_frame_new(label.c_str()); + g_object_ref_sink(this->frame); + gtk_frame_set_shadow_type(GTK_FRAME(this->frame), GTK_SHADOW_ETCHED_IN); +} + +/** + * Pack the given widget into the frame (is it vertical or horizontal? idk!!!) + */ +void Frame::Pack(GtkWidget *widget) { + gtk_container_add(GTK_CONTAINER(this->frame), widget); +} + + +void Frame::Unpack(GtkWidget *widget) { + gtk_container_remove(GTK_CONTAINER(this->frame), widget); +} + + +void Frame::SetName(std::string name) { + gtk_widget_set_name(this->frame, name.c_str()); } \ No newline at end of file diff --git a/KiwiLight - Vision Code/ui/HelpWindow.cpp b/KiwiLight - Vision Code/ui/HelpWindow.cpp index 8c1699b..576da95 100644 --- a/KiwiLight - Vision Code/ui/HelpWindow.cpp +++ b/KiwiLight - Vision Code/ui/HelpWindow.cpp @@ -1,54 +1,54 @@ -#include "UI.h" - -/** - * Source file for the HelpWindow class. - * Written By: Brach Knutson - */ - - -using namespace KiwiLight; - - -HelpWindow::HelpWindow(GtkWindowType type) { - this->window = Window(type, false); - this->window.SetSize(550, 200); - Panel main = Panel(true, 0); - Panel banners = Panel(false, 0); - - Image kiwiLogo = Image("banner_small.png"); - banners.Pack_start(kiwiLogo.GetWidget(), false, false, 0); - - Image foximusLogo = Image("foximus_small.png"); - banners.Pack_start(foximusLogo.GetWidget(), false, false, 0); - - main.Pack_start(banners.GetWidget(), false, false, 0); - - Panel labels = Panel(false, 0); - - Label header = Label("KiwiLight Help"); - header.SetName("header"); - labels.Pack_start(header.GetWidget(), false, false, 0); - - Label content = Label( - std::string("For KiwiLight help, check out the tutorial at \n\n") + - std::string("You can also email brach2003@gmail.com with any questions, comments, concerns, etc.") - ); - content.SetLineWrap(true); - labels.Pack_start(content.GetWidget(), false, false, 0); - - main.Pack_start(labels.GetWidget(), false, false, 0); - - this->window.SetPane(main); - - this->helpwindow = this->window.GetWidget(); -} - - -void HelpWindow::Show() { - this->window.Show(); -} - - -void HelpWindow::SetName(std::string name) { - gtk_widget_set_name(this->helpwindow, name.c_str()); +#include "UI.h" + +/** + * Source file for the HelpWindow class. + * Written By: Brach Knutson + */ + + +using namespace KiwiLight; + + +HelpWindow::HelpWindow(GtkWindowType type) { + this->window = Window(type, false); + this->window.SetSize(550, 200); + Panel main = Panel(true, 0); + Panel banners = Panel(false, 0); + + Image kiwiLogo = Image("banner_small.png"); + banners.Pack_start(kiwiLogo.GetWidget(), false, false, 0); + + Image foximusLogo = Image("foximus_small.png"); + banners.Pack_start(foximusLogo.GetWidget(), false, false, 0); + + main.Pack_start(banners.GetWidget(), false, false, 0); + + Panel labels = Panel(false, 0); + + Label header = Label("KiwiLight Help"); + header.SetName("header"); + labels.Pack_start(header.GetWidget(), false, false, 0); + + Label content = Label( + std::string("For KiwiLight help, check out the tutorial at \n\n") + + std::string("You can also email brach2003@gmail.com with any questions, comments, concerns, etc.") + ); + content.SetLineWrap(true); + labels.Pack_start(content.GetWidget(), false, false, 0); + + main.Pack_start(labels.GetWidget(), false, false, 0); + + this->window.SetPane(main); + + this->helpwindow = this->window.GetWidget(); +} + + +void HelpWindow::Show() { + this->window.Show(); +} + + +void HelpWindow::SetName(std::string name) { + gtk_widget_set_name(this->helpwindow, name.c_str()); } \ No newline at end of file diff --git a/KiwiLight - Vision Code/ui/Image.cpp b/KiwiLight - Vision Code/ui/Image.cpp index e55ff1c..78f0b16 100644 --- a/KiwiLight - Vision Code/ui/Image.cpp +++ b/KiwiLight - Vision Code/ui/Image.cpp @@ -1,84 +1,84 @@ -#include "UI.h" - -/** - * Source file for the Image class. - * Written By: Brach Knutson - */ - -using namespace cv; -using namespace KiwiLight; - - -Image::Image(std::string fileName) { - this->image = gtk_image_new_from_file(fileName.c_str()); - this->colorspace = ImageColorspace::RGB; - this->declaredAsStaticImage = true; - this->declared = true; -} - - -Image::Image(ImageColorspace colorspace) { - this->image = gtk_drawing_area_new(); - this->colorspace = colorspace; - this->declaredAsStaticImage = false; - this->declared = true; -} - -/** - * Updates and redraws the widget with newImage. - */ -void Image::Update(cv::Mat newImage) { - if(!this->declaredAsStaticImage) { - //convert the newImage to RGB colorspace - cv::Mat newImageCopy; //copy the image so that changes arent made to the argument image - newImage.copyTo(newImageCopy); - cvtColor(newImageCopy, newImageCopy, COLOR_BGR2RGB); - - //create the cairo renderer and initalize it - cairo_region_t *region = cairo_region_create(); - GdkWindow *win = gtk_widget_get_window(this->image); - - if(win != NULL) { - GdkDrawingContext *drawingContext = gdk_window_begin_draw_frame(win, region); - cairo_t *cairo = gdk_drawing_context_get_cairo_context(drawingContext); - - cairo_save(cairo); - cairo_translate(cairo, 0, 0); - - //create the pixbuf from the mat data - guchar *imageData = (guchar*) newImageCopy.data; - GdkPixbuf *imgData = gdk_pixbuf_new_from_data(imageData, - GDK_COLORSPACE_RGB, - FALSE, - 8, - newImageCopy.cols, - newImageCopy.rows, - newImageCopy.step, - NULL, - NULL); - - //create a surface from the pixbuf and render it - cairo_surface_t *surface = gdk_cairo_surface_create_from_pixbuf(imgData, 1, win); - cairo_set_source_surface(cairo, surface, 0, 0); - cairo_rectangle(cairo, 0, 0, newImageCopy.cols, newImageCopy.rows); - cairo_paint(cairo); - cairo_fill(cairo); - cairo_restore(cairo); - gdk_window_end_draw_frame(win, drawingContext); - - //request a new widget size so the entire image is visible - gtk_widget_set_size_request(this->image, newImageCopy.cols, newImageCopy.rows); - - //clean up memory so leaks don't happen - cairo_surface_destroy(surface); - cairo_region_destroy(region); - g_object_unref(G_OBJECT(imgData)); - } - } else { - std::cout << "CANNOT UPDATE A STATIC IMAGE!" << std::endl; - } -} - -void Image::SetName(std::string name) { - gtk_widget_set_name(this->image, name.c_str()); -} +#include "UI.h" + +/** + * Source file for the Image class. + * Written By: Brach Knutson + */ + +using namespace cv; +using namespace KiwiLight; + + +Image::Image(std::string fileName) { + this->image = gtk_image_new_from_file(fileName.c_str()); + this->colorspace = ImageColorspace::RGB; + this->declaredAsStaticImage = true; + this->declared = true; +} + + +Image::Image(ImageColorspace colorspace) { + this->image = gtk_drawing_area_new(); + this->colorspace = colorspace; + this->declaredAsStaticImage = false; + this->declared = true; +} + +/** + * Updates and redraws the widget with newImage. + */ +void Image::Update(cv::Mat newImage) { + if(!this->declaredAsStaticImage) { + //convert the newImage to RGB colorspace + cv::Mat newImageCopy; //copy the image so that changes arent made to the argument image + newImage.copyTo(newImageCopy); + cvtColor(newImageCopy, newImageCopy, COLOR_BGR2RGB); + + //create the cairo renderer and initalize it + cairo_region_t *region = cairo_region_create(); + GdkWindow *win = gtk_widget_get_window(this->image); + + if(win != NULL) { + GdkDrawingContext *drawingContext = gdk_window_begin_draw_frame(win, region); + cairo_t *cairo = gdk_drawing_context_get_cairo_context(drawingContext); + + cairo_save(cairo); + cairo_translate(cairo, 0, 0); + + //create the pixbuf from the mat data + guchar *imageData = (guchar*) newImageCopy.data; + GdkPixbuf *imgData = gdk_pixbuf_new_from_data(imageData, + GDK_COLORSPACE_RGB, + FALSE, + 8, + newImageCopy.cols, + newImageCopy.rows, + newImageCopy.step, + NULL, + NULL); + + //create a surface from the pixbuf and render it + cairo_surface_t *surface = gdk_cairo_surface_create_from_pixbuf(imgData, 1, win); + cairo_set_source_surface(cairo, surface, 0, 0); + cairo_rectangle(cairo, 0, 0, newImageCopy.cols, newImageCopy.rows); + cairo_paint(cairo); + cairo_fill(cairo); + cairo_restore(cairo); + gdk_window_end_draw_frame(win, drawingContext); + + //request a new widget size so the entire image is visible + gtk_widget_set_size_request(this->image, newImageCopy.cols, newImageCopy.rows); + + //clean up memory so leaks don't happen + cairo_surface_destroy(surface); + cairo_region_destroy(region); + g_object_unref(G_OBJECT(imgData)); + } + } else { + std::cout << "CANNOT UPDATE A STATIC IMAGE!" << std::endl; + } +} + +void Image::SetName(std::string name) { + gtk_widget_set_name(this->image, name.c_str()); +} diff --git a/KiwiLight - Vision Code/ui/Label.cpp b/KiwiLight - Vision Code/ui/Label.cpp index 9d21f75..cbf2164 100644 --- a/KiwiLight - Vision Code/ui/Label.cpp +++ b/KiwiLight - Vision Code/ui/Label.cpp @@ -1,52 +1,52 @@ -#include "UI.h" - -/** - * Source file for the Label class. - * Written By: Brach Knutson - */ - - -using namespace KiwiLight; - -/** - * Creates a new label. - */ -Label::Label(std::string text) { - this->label = gtk_label_new(text.c_str()); -} - -/** - * Sets the text of the label to the given std::string. - */ -void Label::SetText(std::string text) { - gtk_label_set_text(GTK_LABEL(this->label), text.c_str()); - this->text = text; -} - - -void Label::SetName(std::string name) { - gtk_widget_set_name(this->label, name.c_str()); -} - - -void Label::SetLineWrap(bool enabled) { - gtk_label_set_line_wrap(GTK_LABEL(this->label), enabled); -} - -void Label::SetJustify(int justify) { - GtkJustification justification; - switch(justify) { - case 0: - justification = GTK_JUSTIFY_LEFT; - break; - - case 1: - justification = GTK_JUSTIFY_RIGHT; - break; - - default: - justification = GTK_JUSTIFY_CENTER; - } - - gtk_label_set_justify(GTK_LABEL(this->label), justification); +#include "UI.h" + +/** + * Source file for the Label class. + * Written By: Brach Knutson + */ + + +using namespace KiwiLight; + +/** + * Creates a new label. + */ +Label::Label(std::string text) { + this->label = gtk_label_new(text.c_str()); +} + +/** + * Sets the text of the label to the given std::string. + */ +void Label::SetText(std::string text) { + gtk_label_set_text(GTK_LABEL(this->label), text.c_str()); + this->text = text; +} + + +void Label::SetName(std::string name) { + gtk_widget_set_name(this->label, name.c_str()); +} + + +void Label::SetLineWrap(bool enabled) { + gtk_label_set_line_wrap(GTK_LABEL(this->label), enabled); +} + +void Label::SetJustify(int justify) { + GtkJustification justification; + switch(justify) { + case 0: + justification = GTK_JUSTIFY_LEFT; + break; + + case 1: + justification = GTK_JUSTIFY_RIGHT; + break; + + default: + justification = GTK_JUSTIFY_CENTER; + } + + gtk_label_set_justify(GTK_LABEL(this->label), justification); } \ No newline at end of file diff --git a/KiwiLight - Vision Code/ui/LabeledSlider.cpp b/KiwiLight - Vision Code/ui/LabeledSlider.cpp index 7e2a48c..5b6140d 100644 --- a/KiwiLight - Vision Code/ui/LabeledSlider.cpp +++ b/KiwiLight - Vision Code/ui/LabeledSlider.cpp @@ -1,50 +1,50 @@ -#include "UI.h" - -/** - * Source file for the LabeledSlider class. - * Written By: Brach Knutson - */ - -using namespace KiwiLight; - - -LabeledSlider::LabeledSlider(std::string label, double min, double max, double step, double value) { - this->panel = Panel(false, 0); - this->label = Label(label.c_str()); - this->panel.Pack_start(this->label.GetWidget(), false, false, 0); - this->slider = Slider(min, max, step, value); - this->panel.Pack_start(this->slider.GetWidget(), false, false, 0); - - this->labeledslider = this->panel.GetWidget(); -} - - -LabeledSlider::LabeledSlider(bool horizontal, std::string label, double min, double max, double step, double value) { - this->panel = Panel(false, 0); - this->label = Label(label.c_str()); - this->panel.Pack_start(this->label.GetWidget(), false, false, 0); - this->slider = Slider(horizontal, min, max, step, value); - this->panel.Pack_start(this->slider.GetWidget(), false, false, 0); - - this->labeledslider = this->panel.GetWidget(); -} - - -double LabeledSlider::GetValue() { - return (double) this->slider.GetValue(); -} - - -void LabeledSlider::SetValue(double value) { - this->slider.SetValue(value); -} - - -void LabeledSlider::SetLabel(std::string text) { - this->label.SetText(text); -} - - -void LabeledSlider::SetName(std::string name) { - gtk_widget_set_name(this->labeledslider, name.c_str()); +#include "UI.h" + +/** + * Source file for the LabeledSlider class. + * Written By: Brach Knutson + */ + +using namespace KiwiLight; + + +LabeledSlider::LabeledSlider(std::string label, double min, double max, double step, double value) { + this->panel = Panel(false, 0); + this->label = Label(label.c_str()); + this->panel.Pack_start(this->label.GetWidget(), false, false, 0); + this->slider = Slider(min, max, step, value); + this->panel.Pack_start(this->slider.GetWidget(), false, false, 0); + + this->labeledslider = this->panel.GetWidget(); +} + + +LabeledSlider::LabeledSlider(bool horizontal, std::string label, double min, double max, double step, double value) { + this->panel = Panel(false, 0); + this->label = Label(label.c_str()); + this->panel.Pack_start(this->label.GetWidget(), false, false, 0); + this->slider = Slider(horizontal, min, max, step, value); + this->panel.Pack_start(this->slider.GetWidget(), false, false, 0); + + this->labeledslider = this->panel.GetWidget(); +} + + +double LabeledSlider::GetValue() { + return (double) this->slider.GetValue(); +} + + +void LabeledSlider::SetValue(double value) { + this->slider.SetValue(value); +} + + +void LabeledSlider::SetLabel(std::string text) { + this->label.SetText(text); +} + + +void LabeledSlider::SetName(std::string name) { + gtk_widget_set_name(this->labeledslider, name.c_str()); } \ No newline at end of file diff --git a/KiwiLight - Vision Code/ui/MenuBar.cpp b/KiwiLight - Vision Code/ui/MenuBar.cpp index e63bb56..f1484cd 100644 --- a/KiwiLight - Vision Code/ui/MenuBar.cpp +++ b/KiwiLight - Vision Code/ui/MenuBar.cpp @@ -1,28 +1,28 @@ -#include "UI.h" - -/** - * Source file for the MenuBar class. - * Written By: Brach Knutson - */ - - -using namespace KiwiLight; - -/** - * Creates a new MenuBar. - */ -MenuBar::MenuBar() { - this->menubar = gtk_menu_bar_new(); -} - -/** - * Add the given menu item to the bar. - */ -void MenuBar::AddItem(MenuItem item) { - gtk_menu_shell_append(GTK_MENU_SHELL(this->menubar), item.GetWidget()); -} - - -void MenuBar::SetName(std::string name) { - gtk_widget_set_name(this->menubar, name.c_str()); +#include "UI.h" + +/** + * Source file for the MenuBar class. + * Written By: Brach Knutson + */ + + +using namespace KiwiLight; + +/** + * Creates a new MenuBar. + */ +MenuBar::MenuBar() { + this->menubar = gtk_menu_bar_new(); +} + +/** + * Add the given menu item to the bar. + */ +void MenuBar::AddItem(MenuItem item) { + gtk_menu_shell_append(GTK_MENU_SHELL(this->menubar), item.GetWidget()); +} + + +void MenuBar::SetName(std::string name) { + gtk_widget_set_name(this->menubar, name.c_str()); } \ No newline at end of file diff --git a/KiwiLight - Vision Code/ui/MenuItem.cpp b/KiwiLight - Vision Code/ui/MenuItem.cpp index ed9e70f..6cc4cfb 100644 --- a/KiwiLight - Vision Code/ui/MenuItem.cpp +++ b/KiwiLight - Vision Code/ui/MenuItem.cpp @@ -1,27 +1,27 @@ -#include "UI.h" - -/** - * Source file for the MenuItem class. - * Written By: Brach Knutson - */ - - -using namespace KiwiLight; - -/** - * Create a new MenuItem with the given name and action when clicked. - */ -MenuItem::MenuItem(std::string name) { - this->menuitem = gtk_menu_item_new_with_label(name.c_str()); - this->menu = gtk_menu_new(); - gtk_menu_item_set_submenu(GTK_MENU_ITEM(this->menuitem), this->menu); -} - -void MenuItem::AddSubmenuItem(SubMenuItem item) { - gtk_menu_shell_append(GTK_MENU_SHELL(this->menu), item.GetWidget()); -} - - -void MenuItem::SetName(std::string name) { - gtk_widget_set_name(this->menu, name.c_str()); +#include "UI.h" + +/** + * Source file for the MenuItem class. + * Written By: Brach Knutson + */ + + +using namespace KiwiLight; + +/** + * Create a new MenuItem with the given name and action when clicked. + */ +MenuItem::MenuItem(std::string name) { + this->menuitem = gtk_menu_item_new_with_label(name.c_str()); + this->menu = gtk_menu_new(); + gtk_menu_item_set_submenu(GTK_MENU_ITEM(this->menuitem), this->menu); +} + +void MenuItem::AddSubmenuItem(SubMenuItem item) { + gtk_menu_shell_append(GTK_MENU_SHELL(this->menu), item.GetWidget()); +} + + +void MenuItem::SetName(std::string name) { + gtk_widget_set_name(this->menu, name.c_str()); } \ No newline at end of file diff --git a/KiwiLight - Vision Code/ui/NumberBox.cpp b/KiwiLight - Vision Code/ui/NumberBox.cpp index a55257e..073e200 100644 --- a/KiwiLight - Vision Code/ui/NumberBox.cpp +++ b/KiwiLight - Vision Code/ui/NumberBox.cpp @@ -1,39 +1,39 @@ -#include "UI.h" - -/** - * Source file for the NumberBox class. - * Written By: Brach Knutson - */ - -using namespace KiwiLight; - -NumberBox::NumberBox(double min, double max, double value) { - this->min = min; - this->max = max; - - this->numberBox = gtk_spin_button_new_with_range(min, max, 1.0); - gtk_spin_button_set_value(GTK_SPIN_BUTTON(this->numberBox), value); -} - - -NumberBox::NumberBox(double min, double max, double step, double value) { - this->min = min; - this->max = max; - this->numberBox = gtk_spin_button_new_with_range(min, max, step); - gtk_spin_button_set_value(GTK_SPIN_BUTTON(this->numberBox), value); -} - - -void NumberBox::SetValue(double value) { - gtk_spin_button_set_value(GTK_SPIN_BUTTON(this->numberBox), value); -} - - -double NumberBox::GetValue() { - return gtk_spin_button_get_value(GTK_SPIN_BUTTON(this->numberBox)); -} - - -void NumberBox::SetName(std::string name) { - gtk_widget_set_name(this->numberBox, name.c_str()); +#include "UI.h" + +/** + * Source file for the NumberBox class. + * Written By: Brach Knutson + */ + +using namespace KiwiLight; + +NumberBox::NumberBox(double min, double max, double value) { + this->min = min; + this->max = max; + + this->numberBox = gtk_spin_button_new_with_range(min, max, 1.0); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(this->numberBox), value); +} + + +NumberBox::NumberBox(double min, double max, double step, double value) { + this->min = min; + this->max = max; + this->numberBox = gtk_spin_button_new_with_range(min, max, step); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(this->numberBox), value); +} + + +void NumberBox::SetValue(double value) { + gtk_spin_button_set_value(GTK_SPIN_BUTTON(this->numberBox), value); +} + + +double NumberBox::GetValue() { + return gtk_spin_button_get_value(GTK_SPIN_BUTTON(this->numberBox)); +} + + +void NumberBox::SetName(std::string name) { + gtk_widget_set_name(this->numberBox, name.c_str()); } \ No newline at end of file diff --git a/KiwiLight - Vision Code/ui/OverviewPanel.cpp b/KiwiLight - Vision Code/ui/OverviewPanel.cpp index 9267200..65e5017 100644 --- a/KiwiLight - Vision Code/ui/OverviewPanel.cpp +++ b/KiwiLight - Vision Code/ui/OverviewPanel.cpp @@ -1,202 +1,202 @@ -#include "../KiwiLight.h" - -/** - * Source file for the OverviewPanel class. - * Written By: Brach Knutson - */ - -using namespace cv; -using namespace KiwiLight; - - -OverviewPanel::OverviewPanel(XMLDocument doc) { - XMLTag configTag = doc.GetTagsByName("configuration")[0]; - Panel editor = Panel(false, 0); - Panel namePanel = Panel(true, 0); - Label confNameHeader = Label("Configuration: "); - confNameHeader.SetName("header"); - namePanel.Pack_start(confNameHeader.GetWidget(), false, false, 0); - - std::string realConfigName = configTag.GetAttributesByName("name")[0].Value(); - this->configName = TextBox(realConfigName); - namePanel.Pack_start(this->configName.GetWidget(), false, false, 0); - - editor.Pack_start(namePanel.GetWidget(), false, false, 0); - - Label targetInformationHeader = Label("Target Information:"); - targetInformationHeader.SetName("subHeader"); - editor.Pack_start(targetInformationHeader.GetWidget(), true, true, 0); - - //the real time target information panel - Panel targetInformationPanel = Panel(false, 0); - this->targetSpotted = Label("Target Spotted: NO"); - this->targetSpotted.SetName("gray"); - targetInformationPanel.Pack_start(this->targetSpotted.GetWidget(), false, false, 0); - - this->targetImageLocation = Label("Target Location: N/A"); - targetInformationPanel.Pack_start(this->targetImageLocation.GetWidget(), false, false, 0); - - this->targetDist = Label("Target Distance: N/A"); - targetInformationPanel.Pack_start(this->targetDist.GetWidget(), false, false, 0); - - this->targetHAngle = Label("Target Horizontal Angle: N/A"); - targetInformationPanel.Pack_start(this->targetHAngle.GetWidget(), false, false, 0); - - this->targetVAngle = Label("Target Vertical Angle: N/A"); - targetInformationPanel.Pack_start(this->targetVAngle.GetWidget(), false, false, 0); - - editor.Pack_start(targetInformationPanel.GetWidget(), true, true, 0); - - Label cameraHeader = Label("Camera"); - cameraHeader.SetName("subHeader"); - editor.Pack_start(cameraHeader.GetWidget(), true, true, 0); - - Panel cameraPanel = Panel(true, 0); - Label cameraIndexHeader = Label("Camera Index:"); - cameraPanel.Pack_start(cameraIndexHeader.GetWidget(), true, true, 0); - - int realCameraIndex = std::stoi(doc.GetTagsByName("camera")[0].GetAttributesByName("index")[0].Value()); - this->cameraIndex = NumberBox(0, 100, 1, realCameraIndex); - cameraPanel.Pack_start(this->cameraIndex.GetWidget(), true, true, 0); - - Button applyIndexButton = Button("Open", KiwiLightApp::EditorOpenNewCameraFromOverview); - cameraPanel.Pack_start(applyIndexButton.GetWidget(), true, true, 0); - editor.Pack_start(cameraPanel.GetWidget(), true, true, 0); - - Label udpHeader = Label("UDP"); - udpHeader.SetName("subHeader"); - editor.Pack_start(udpHeader.GetWidget(), true, true, 0); - - XMLTag udpTag = doc.GetTagsByName("configuration")[0].GetTagsByName("postprocessor")[0].GetTagsByName("UDP")[0]; - Panel udpPanel = Panel(true, 0); - Panel udpEditorContents = Panel(false, 0); - Panel udpAddrPanel = Panel(true, 0); - Label udpAddrPanelHeader = Label("IPv4 Address: "); - udpAddrPanel.Pack_start(udpAddrPanelHeader.GetWidget(), true, true, 0); - - std::string realUDP = udpTag.GetTagsByName("address")[0].Content(); - this->udpAddr = TextBox(realUDP); - udpAddrPanel.Pack_start(this->udpAddr.GetWidget(), true, true, 0); - - udpEditorContents.Pack_start(udpAddrPanel.GetWidget(), true, true, 0); - - Panel udpPortPanel = Panel(true, 0); - Label udpPortPanelHeader = Label("Port: "); - udpPortPanel.Pack_start(udpPortPanelHeader.GetWidget(), true, true, 0); - - int realUDPPort = std::stoi(udpTag.GetTagsByName("port")[0].Content()); - this->udpPort = NumberBox(1, 9999, 1, realUDPPort); - udpPortPanel.Pack_start(this->udpPort.GetWidget(), true, true, 0); - - udpEditorContents.Pack_start(udpPortPanel.GetWidget(), true, true, 0); - - udpPanel.Pack_start(udpEditorContents.GetWidget(), true, true, 0); - - Button reconnectUDP = Button("Reconnect", KiwiLightApp::EditorConnectUDPFromOverview); - udpPanel.Pack_start(reconnectUDP.GetWidget(), true, true, 0); - - this->enableUDP = Button("Enable", KiwiLightApp::ToggleUDP); - udpPanel.Pack_start(this->enableUDP.GetWidget(), true, true, 0); - - editor.Pack_start(udpPanel.GetWidget(), true, true, 0); - - this->overviewpanel = editor.GetWidget(); -} - -/** - * Updates the overview panel. - */ -void OverviewPanel::Update() { - -} - -void OverviewPanel::SetConfigName(std::string name) { - this->configName.SetText(name); -} - -std::string OverviewPanel::GetConfigName() { - return this->configName.GetText(); -} - - -void OverviewPanel::SetTargetInformationLabels(bool targetSpotted, int targetImgX, int targetImgY, double targetDist, double targetHAngle, double targetVAngle) { - this->targetSpotted.SetText(std::string("Target Spotted: ") + (targetSpotted ? std::string("YES") : std::string("NO"))); - - std::string - targetLocationString = "N/A", - targetDistString = "N/A", - targetHAngleString = "N/A", - targetVAngleString = "N/A"; - - if(targetSpotted) { - targetLocationString = "( " + std::to_string(targetImgX) + ", " + std::to_string(targetImgY) + ")"; - targetDistString = std::to_string(targetDist); - targetHAngleString = std::to_string(targetHAngle); - targetVAngleString = std::to_string(targetVAngle); - } - - this->targetImageLocation.SetText("Target Location " + targetLocationString); - this->targetDist.SetText("Target Distance: " + targetDistString); - this->targetHAngle.SetText("Target Horizontal Angle: " + targetHAngleString); - this->targetVAngle.SetText("Target Vertical Angle: " + targetVAngleString); -} - - -void OverviewPanel::SetCameraIndex(int index) { - this->cameraIndex.SetValue((double) index); -} - - -int OverviewPanel::GetCameraIndex() { - return this->cameraIndex.GetValue(); -} - - -void OverviewPanel::SetUDPAddr(std::string addr) { - this->udpAddr.SetText(addr); -} - -std::string OverviewPanel::GetUDPAddr() { - return this->udpAddr.GetText(); -} - -void OverviewPanel::SetUDPPort(int port) { - this->udpPort.SetValue(port); -} - -int OverviewPanel::GetUDPPort() { - return (int) this->udpPort.GetValue(); -} - -void OverviewPanel::SetUDPEnabledLabels(bool UDPEnabled) { - this->enableUDP.SetText((UDPEnabled ? "Disable" : "Enable")); -} - - -void OverviewPanel::SetTargetInformationLabelsFromString(std::string iterOutput) { - if(iterOutput.length() < 3) { //improperly formatted string - return; - } - - std::string trimmedOutput = iterOutput.substr(1, iterOutput.length() - 2); //sub off the ':' and ';' at beginning and end - std::vector splitOutput = StringUtils::SplitString(trimmedOutput, ','); - - //there must be 5 nums in string, no more, no less - if(splitOutput.size() == 5) { - int targetX = std::stoi(splitOutput[0]); - int targetY = std::stoi(splitOutput[1]); - double targetDist = std::stod(splitOutput[2]); - double targetAngleHorizontal = std::stod(splitOutput[3]); - double targetAngleVertical = std::stod(splitOutput[4]); - bool targetSpotted = (targetX > -1); - - SetTargetInformationLabels(targetSpotted, targetX, targetY, targetDist, targetAngleHorizontal, targetAngleVertical); - } else { - std::cout << "WARNING: Could not update overview panel information labels. Input string was wrongly formatted." << std::endl; - } -} - - -void OverviewPanel::SetName(std::string name) { - gtk_widget_set_name(this->overviewpanel, name.c_str()); +#include "../KiwiLight.h" + +/** + * Source file for the OverviewPanel class. + * Written By: Brach Knutson + */ + +using namespace cv; +using namespace KiwiLight; + + +OverviewPanel::OverviewPanel(XMLDocument doc) { + XMLTag configTag = doc.GetTagsByName("configuration")[0]; + Panel editor = Panel(false, 0); + Panel namePanel = Panel(true, 0); + Label confNameHeader = Label("Configuration: "); + confNameHeader.SetName("header"); + namePanel.Pack_start(confNameHeader.GetWidget(), false, false, 0); + + std::string realConfigName = configTag.GetAttributesByName("name")[0].Value(); + this->configName = TextBox(realConfigName); + namePanel.Pack_start(this->configName.GetWidget(), false, false, 0); + + editor.Pack_start(namePanel.GetWidget(), false, false, 0); + + Label targetInformationHeader = Label("Target Information:"); + targetInformationHeader.SetName("subHeader"); + editor.Pack_start(targetInformationHeader.GetWidget(), true, true, 0); + + //the real time target information panel + Panel targetInformationPanel = Panel(false, 0); + this->targetSpotted = Label("Target Spotted: NO"); + this->targetSpotted.SetName("gray"); + targetInformationPanel.Pack_start(this->targetSpotted.GetWidget(), false, false, 0); + + this->targetImageLocation = Label("Target Location: N/A"); + targetInformationPanel.Pack_start(this->targetImageLocation.GetWidget(), false, false, 0); + + this->targetDist = Label("Target Distance: N/A"); + targetInformationPanel.Pack_start(this->targetDist.GetWidget(), false, false, 0); + + this->targetHAngle = Label("Target Horizontal Angle: N/A"); + targetInformationPanel.Pack_start(this->targetHAngle.GetWidget(), false, false, 0); + + this->targetVAngle = Label("Target Vertical Angle: N/A"); + targetInformationPanel.Pack_start(this->targetVAngle.GetWidget(), false, false, 0); + + editor.Pack_start(targetInformationPanel.GetWidget(), true, true, 0); + + Label cameraHeader = Label("Camera"); + cameraHeader.SetName("subHeader"); + editor.Pack_start(cameraHeader.GetWidget(), true, true, 0); + + Panel cameraPanel = Panel(true, 0); + Label cameraIndexHeader = Label("Camera Index:"); + cameraPanel.Pack_start(cameraIndexHeader.GetWidget(), true, true, 0); + + int realCameraIndex = std::stoi(doc.GetTagsByName("camera")[0].GetAttributesByName("index")[0].Value()); + this->cameraIndex = NumberBox(0, 100, 1, realCameraIndex); + cameraPanel.Pack_start(this->cameraIndex.GetWidget(), true, true, 0); + + Button applyIndexButton = Button("Open", KiwiLightApp::EditorOpenNewCameraFromOverview); + cameraPanel.Pack_start(applyIndexButton.GetWidget(), true, true, 0); + editor.Pack_start(cameraPanel.GetWidget(), true, true, 0); + + Label udpHeader = Label("UDP"); + udpHeader.SetName("subHeader"); + editor.Pack_start(udpHeader.GetWidget(), true, true, 0); + + XMLTag udpTag = doc.GetTagsByName("configuration")[0].GetTagsByName("postprocessor")[0].GetTagsByName("UDP")[0]; + Panel udpPanel = Panel(true, 0); + Panel udpEditorContents = Panel(false, 0); + Panel udpAddrPanel = Panel(true, 0); + Label udpAddrPanelHeader = Label("IPv4 Address: "); + udpAddrPanel.Pack_start(udpAddrPanelHeader.GetWidget(), true, true, 0); + + std::string realUDP = udpTag.GetTagsByName("address")[0].Content(); + this->udpAddr = TextBox(realUDP); + udpAddrPanel.Pack_start(this->udpAddr.GetWidget(), true, true, 0); + + udpEditorContents.Pack_start(udpAddrPanel.GetWidget(), true, true, 0); + + Panel udpPortPanel = Panel(true, 0); + Label udpPortPanelHeader = Label("Port: "); + udpPortPanel.Pack_start(udpPortPanelHeader.GetWidget(), true, true, 0); + + int realUDPPort = std::stoi(udpTag.GetTagsByName("port")[0].Content()); + this->udpPort = NumberBox(1, 9999, 1, realUDPPort); + udpPortPanel.Pack_start(this->udpPort.GetWidget(), true, true, 0); + + udpEditorContents.Pack_start(udpPortPanel.GetWidget(), true, true, 0); + + udpPanel.Pack_start(udpEditorContents.GetWidget(), true, true, 0); + + Button reconnectUDP = Button("Reconnect", KiwiLightApp::EditorConnectUDPFromOverview); + udpPanel.Pack_start(reconnectUDP.GetWidget(), true, true, 0); + + this->enableUDP = Button("Enable", KiwiLightApp::ToggleUDP); + udpPanel.Pack_start(this->enableUDP.GetWidget(), true, true, 0); + + editor.Pack_start(udpPanel.GetWidget(), true, true, 0); + + this->overviewpanel = editor.GetWidget(); +} + +/** + * Updates the overview panel. + */ +void OverviewPanel::Update() { + +} + +void OverviewPanel::SetConfigName(std::string name) { + this->configName.SetText(name); +} + +std::string OverviewPanel::GetConfigName() { + return this->configName.GetText(); +} + + +void OverviewPanel::SetTargetInformationLabels(bool targetSpotted, int targetImgX, int targetImgY, double targetDist, double targetHAngle, double targetVAngle) { + this->targetSpotted.SetText(std::string("Target Spotted: ") + (targetSpotted ? std::string("YES") : std::string("NO"))); + + std::string + targetLocationString = "N/A", + targetDistString = "N/A", + targetHAngleString = "N/A", + targetVAngleString = "N/A"; + + if(targetSpotted) { + targetLocationString = "( " + std::to_string(targetImgX) + ", " + std::to_string(targetImgY) + ")"; + targetDistString = std::to_string(targetDist); + targetHAngleString = std::to_string(targetHAngle); + targetVAngleString = std::to_string(targetVAngle); + } + + this->targetImageLocation.SetText("Target Location " + targetLocationString); + this->targetDist.SetText("Target Distance: " + targetDistString); + this->targetHAngle.SetText("Target Horizontal Angle: " + targetHAngleString); + this->targetVAngle.SetText("Target Vertical Angle: " + targetVAngleString); +} + + +void OverviewPanel::SetCameraIndex(int index) { + this->cameraIndex.SetValue((double) index); +} + + +int OverviewPanel::GetCameraIndex() { + return this->cameraIndex.GetValue(); +} + + +void OverviewPanel::SetUDPAddr(std::string addr) { + this->udpAddr.SetText(addr); +} + +std::string OverviewPanel::GetUDPAddr() { + return this->udpAddr.GetText(); +} + +void OverviewPanel::SetUDPPort(int port) { + this->udpPort.SetValue(port); +} + +int OverviewPanel::GetUDPPort() { + return (int) this->udpPort.GetValue(); +} + +void OverviewPanel::SetUDPEnabledLabels(bool UDPEnabled) { + this->enableUDP.SetText((UDPEnabled ? "Disable" : "Enable")); +} + + +void OverviewPanel::SetTargetInformationLabelsFromString(std::string iterOutput) { + if(iterOutput.length() < 3) { //improperly formatted string + return; + } + + std::string trimmedOutput = iterOutput.substr(1, iterOutput.length() - 2); //sub off the ':' and ';' at beginning and end + std::vector splitOutput = StringUtils::SplitString(trimmedOutput, ','); + + //there must be 5 nums in string, no more, no less + if(splitOutput.size() == 5) { + int targetX = std::stoi(splitOutput[0]); + int targetY = std::stoi(splitOutput[1]); + double targetDist = std::stod(splitOutput[2]); + double targetAngleHorizontal = std::stod(splitOutput[3]); + double targetAngleVertical = std::stod(splitOutput[4]); + bool targetSpotted = (targetX > -1); + + SetTargetInformationLabels(targetSpotted, targetX, targetY, targetDist, targetAngleHorizontal, targetAngleVertical); + } else { + std::cout << "WARNING: Could not update overview panel information labels. Input string was wrongly formatted." << std::endl; + } +} + + +void OverviewPanel::SetName(std::string name) { + gtk_widget_set_name(this->overviewpanel, name.c_str()); } \ No newline at end of file diff --git a/KiwiLight - Vision Code/ui/Panel.cpp b/KiwiLight - Vision Code/ui/Panel.cpp index e18cb5b..faddfdf 100644 --- a/KiwiLight - Vision Code/ui/Panel.cpp +++ b/KiwiLight - Vision Code/ui/Panel.cpp @@ -1,36 +1,36 @@ -#include "UI.h" - -/** - * Source file for the Panel class. - * Written By: Brach Knutson - */ - - -using namespace KiwiLight; - -/** - * Creates a new panel. - */ -Panel::Panel(bool horizontal, int spacing) { - //using depreciated gtk_hbox_new() until gtk_box_new() is implemented in current version of gtk. - this->panel = gtk_box_new((horizontal ? GTK_ORIENTATION_HORIZONTAL : GTK_ORIENTATION_VERTICAL), spacing); -} - -/** - * Packs the given widget into the start of the container. - */ -void Panel::Pack_start(GtkWidget *widget, bool expand, bool fill, int pad) { - gtk_box_pack_start(GTK_BOX(this->panel), widget, gboolean(expand), gboolean(fill), pad); -} - -/** - * Packs the given widget into the end of the container. - */ -void Panel::Pack_end(GtkWidget *widget, bool expand, bool fill, int pad) { - gtk_box_pack_end(GTK_BOX(this->panel), widget, gboolean(expand), gboolean(fill), pad); -} - - -void Panel::SetName(std::string name) { - gtk_widget_set_name(this->panel, name.c_str()); +#include "UI.h" + +/** + * Source file for the Panel class. + * Written By: Brach Knutson + */ + + +using namespace KiwiLight; + +/** + * Creates a new panel. + */ +Panel::Panel(bool horizontal, int spacing) { + //using depreciated gtk_hbox_new() until gtk_box_new() is implemented in current version of gtk. + this->panel = gtk_box_new((horizontal ? GTK_ORIENTATION_HORIZONTAL : GTK_ORIENTATION_VERTICAL), spacing); +} + +/** + * Packs the given widget into the start of the container. + */ +void Panel::Pack_start(GtkWidget *widget, bool expand, bool fill, int pad) { + gtk_box_pack_start(GTK_BOX(this->panel), widget, gboolean(expand), gboolean(fill), pad); +} + +/** + * Packs the given widget into the end of the container. + */ +void Panel::Pack_end(GtkWidget *widget, bool expand, bool fill, int pad) { + gtk_box_pack_end(GTK_BOX(this->panel), widget, gboolean(expand), gboolean(fill), pad); +} + + +void Panel::SetName(std::string name) { + gtk_widget_set_name(this->panel, name.c_str()); } \ No newline at end of file diff --git a/KiwiLight - Vision Code/ui/PopupTextBox.cpp b/KiwiLight - Vision Code/ui/PopupTextBox.cpp index 1d9d536..7b4ba0a 100644 --- a/KiwiLight - Vision Code/ui/PopupTextBox.cpp +++ b/KiwiLight - Vision Code/ui/PopupTextBox.cpp @@ -1,38 +1,38 @@ -#include "UI.h" - -/** - * Source file for the PopupTextBox class. - * Written By: Brach Knutson - */ - -using namespace KiwiLight; - - -PopupTextBox::PopupTextBox(std::string name, std::string prompt, std::string initValue) { - GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL); - this->popuptextbox = gtk_dialog_new_with_buttons(name.c_str(), GTK_WINDOW(window), GTK_DIALOG_MODAL, "OK", GTK_RESPONSE_ACCEPT, NULL); - GtkWidget *dialogContent = gtk_dialog_get_content_area(GTK_DIALOG(this->popuptextbox)); - Panel pnl = Panel(false, 0); - Label promptLabel = Label(prompt); - pnl.Pack_start(promptLabel.GetWidget(), false, false, 0); - - this->textbox = TextBox(initValue); - pnl.Pack_start(this->textbox.GetWidget(), false, false, 0); - - gtk_container_add(GTK_CONTAINER(dialogContent), pnl.GetWidget()); - -} - - -std::string PopupTextBox::Show() { - gtk_widget_show_all(this->popuptextbox); - gtk_dialog_run(GTK_DIALOG(this->popuptextbox)); - std::string response = this->textbox.GetText(); - gtk_widget_destroy(this->popuptextbox); - return response; -} - - -void PopupTextBox::SetName(std::string name) { - gtk_widget_set_name(this->popuptextbox, name.c_str()); +#include "UI.h" + +/** + * Source file for the PopupTextBox class. + * Written By: Brach Knutson + */ + +using namespace KiwiLight; + + +PopupTextBox::PopupTextBox(std::string name, std::string prompt, std::string initValue) { + GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL); + this->popuptextbox = gtk_dialog_new_with_buttons(name.c_str(), GTK_WINDOW(window), GTK_DIALOG_MODAL, "OK", GTK_RESPONSE_ACCEPT, NULL); + GtkWidget *dialogContent = gtk_dialog_get_content_area(GTK_DIALOG(this->popuptextbox)); + Panel pnl = Panel(false, 0); + Label promptLabel = Label(prompt); + pnl.Pack_start(promptLabel.GetWidget(), false, false, 0); + + this->textbox = TextBox(initValue); + pnl.Pack_start(this->textbox.GetWidget(), false, false, 0); + + gtk_container_add(GTK_CONTAINER(dialogContent), pnl.GetWidget()); + +} + + +std::string PopupTextBox::Show() { + gtk_widget_show_all(this->popuptextbox); + gtk_dialog_run(GTK_DIALOG(this->popuptextbox)); + std::string response = this->textbox.GetText(); + gtk_widget_destroy(this->popuptextbox); + return response; +} + + +void PopupTextBox::SetName(std::string name) { + gtk_widget_set_name(this->popuptextbox, name.c_str()); } \ No newline at end of file diff --git a/KiwiLight - Vision Code/ui/PostprocessorEditor.cpp b/KiwiLight - Vision Code/ui/PostprocessorEditor.cpp index f372b01..798e155 100644 --- a/KiwiLight - Vision Code/ui/PostprocessorEditor.cpp +++ b/KiwiLight - Vision Code/ui/PostprocessorEditor.cpp @@ -1,256 +1,256 @@ -#include "UI.h" - -/** - * Source file for the PostprocessorEditor class. - * Written By: Brach Knutson - */ - -using namespace KiwiLight; - - -PostprocessorEditor::PostprocessorEditor(PostProcessor postprocessor) { - //create a runner to store values for all contours rather than having arrays and things - std::string genericFileLocation = ""; - //find home so we can get the generic configuration from KiwiLightData - char *home = getenv("HOME"); - if(home != NULL) { - genericFileLocation = std::string(home) + std::string("/KiwiLightData/confs/generic.xml"); - } else { - std::cout << "The postprocessor editor was unable to find HOME" << std::endl; - } - this->storageRunner = Runner(genericFileLocation, true); - this->lastDesiredContour = 0; - - //set storage runner for number of contours - std::vector newContours; - for(int i=0; istorageRunner.SetExampleTarget(0, newTarget); - - //init the values in the storage runner because they are all generic right now - for(int i=0; istorageRunner.SetPostProcessorContourProperty(i, TargetProperty::DIST_X, postprocessor.GetTargetContourProperty(i, TargetProperty::DIST_X)); - this->storageRunner.SetPostProcessorContourProperty(i, TargetProperty::DIST_Y, postprocessor.GetTargetContourProperty(i, TargetProperty::DIST_Y)); - this->storageRunner.SetPostProcessorContourProperty(i, TargetProperty::ANGLE, postprocessor.GetTargetContourProperty(i, TargetProperty::ANGLE)); - this->storageRunner.SetPostProcessorContourProperty(i, TargetProperty::ASPECT_RATIO, postprocessor.GetTargetContourProperty(i, TargetProperty::ASPECT_RATIO)); - this->storageRunner.SetPostProcessorContourProperty(i, TargetProperty::SOLIDITY, postprocessor.GetTargetContourProperty(i, TargetProperty::SOLIDITY)); - this->storageRunner.SetPostProcessorContourProperty(i, TargetProperty::MINIMUM_AREA, postprocessor.GetTargetContourProperty(i, TargetProperty::MINIMUM_AREA)); - } - - Panel editor = Panel(false, 0); - Panel contourChooserPanel = Panel(true, 0); - Label contourChooserPanelHeader = Label("Contour: "); - contourChooserPanelHeader.SetName("gray"); - contourChooserPanel.Pack_start(contourChooserPanelHeader.GetWidget(), true, true, 0); - - this->contourchooser = NumberBox(0, 10, 0); - contourChooserPanel.Pack_start(this->contourchooser.GetWidget(), true, true, 0); - - this->totalContours = Label(std::string("/ ") + std::to_string(this->storageRunner.GetNumberOfContours(0))); - contourChooserPanel.Pack_start(totalContours.GetWidget(), true, true, 0); - - editor.Pack_start(contourChooserPanel.GetWidget(), true, true, 0); - - //distance editor - Label distanceFromCenterHeader = Label("Distance from Center"); - distanceFromCenterHeader.SetName("subHeader"); - editor.Pack_start(distanceFromCenterHeader.GetWidget(), true, true, 0); - - Panel distXPanel = Panel(true, 0); - Label distXPanelHeader = Label("Horizontal:"); - distXPanel.Pack_start(distXPanelHeader.GetWidget(), true, true, 0); - - double realDistX = postprocessor.GetTargetContourProperty(0, TargetProperty::DIST_X).Value(); - this->distX = NumberBox(-10.0, 10.0, 0.05, realDistX); - distXPanel.Pack_start(this->distX.GetWidget(), false, false, 0); - - double realDistXErr = postprocessor.GetTargetContourProperty(0, TargetProperty::DIST_X).Error(); - this->distXErr = LabeledSlider("Range", 0.0, 10.0, 0.05, realDistXErr); - distXPanel.Pack_start(this->distXErr.GetWidget(), true, true, 0); - - editor.Pack_start(distXPanel.GetWidget(), true, true, 0); - - Panel distYPanel = Panel(true, 0); - Label distYPanelHeader = Label("Vertical:"); - distYPanel.Pack_start(distYPanelHeader.GetWidget(), true, true, 0); - - double realDistY = postprocessor.GetTargetContourProperty(0, TargetProperty::DIST_Y).Value(); - this->distY = NumberBox(-10.0, 10.0, 0.05, realDistY); - distYPanel.Pack_start(this->distY.GetWidget(), false, false, 0); - - double realDistYErr = postprocessor.GetTargetContourProperty(0, TargetProperty::DIST_Y).Error(); - this->distYErr = LabeledSlider("Range", 0.0, 10.0, 0.05, realDistYErr); - distYPanel.Pack_start(this->distYErr.GetWidget(), true, true, 0); - - editor.Pack_start(distYPanel.GetWidget(), true, true, 0); - - Label angleHeader = Label("Contour Shape"); - angleHeader.SetName("subHeader"); - editor.Pack_start(angleHeader.GetWidget(), true, true, 0); - - Panel anglePanel = Panel(true, 0); - double realAngle = postprocessor.GetTargetContourProperty(0, TargetProperty::ANGLE).Value(); - this->angle = LabeledSlider("Angle", -90.0, 90.0, 0.05, realAngle); - anglePanel.Pack_start(this->angle.GetWidget(), true, true, 0); - - double realAngleErr = postprocessor.GetTargetContourProperty(0, TargetProperty::ANGLE).Error(); - this->angleErr = LabeledSlider("Range", 0.0, 90.0, 0.05, realAngleErr); - anglePanel.Pack_start(this->angleErr.GetWidget(), true, true, 0); - - editor.Pack_start(anglePanel.GetWidget(), true, true, 0); - - Panel arPanel = Panel(true, 0); - double realAR = postprocessor.GetTargetContourProperty(0, TargetProperty::ASPECT_RATIO).Value(); - this->ar = LabeledSlider("Aspect Ratio", 0.01, 10.0, 0.01, realAR); - arPanel.Pack_start(this->ar.GetWidget(), true, true, 0); - - double realArErr = postprocessor.GetTargetContourProperty(0, TargetProperty::ASPECT_RATIO).Error(); - this->arErr = LabeledSlider("Range", 0.01, 10.0, 0.01, realArErr); - arPanel.Pack_start(this->arErr.GetWidget(), true, true, 0); - - editor.Pack_start(arPanel.GetWidget(), true, true, 0); - - Panel solidityPanel = Panel(true, 0); - double realSolidity = postprocessor.GetTargetContourProperty(0, TargetProperty::SOLIDITY).Value(); - this->solidity = LabeledSlider("Solidity", 0.0, 1.0, 0.01, realSolidity); - solidityPanel.Pack_start(this->solidity.GetWidget(), true, true, 0); - - double realSolidityErr = postprocessor.GetTargetContourProperty(0, TargetProperty::SOLIDITY).Error(); - this->solidityErr = LabeledSlider("Range", 0.0, 1.0, 0.1, realSolidityErr); - solidityPanel.Pack_start(this->solidityErr.GetWidget(), true, true, 0); - - editor.Pack_start(solidityPanel.GetWidget(), true, true, 0); - - double realMinArea = postprocessor.GetTargetContourProperty(0, TargetProperty::MINIMUM_AREA).Value(); - this->minimumArea = LabeledSlider("Minimum Area", 5.0, 10000.0, 5.0, realMinArea); - editor.Pack_start(this->minimumArea.GetWidget(), true, true, 0); - - this->postprocessoreditor = editor.GetWidget(); -} - - -int PostprocessorEditor::GetNumContours() { - return this->storageRunner.GetNumberOfContours(0); -} - -/** - * Clears all contours in the target so far and sets the number of contours to contours. - */ -void PostprocessorEditor::SetNumContours(int contours) { - std::cout << "ppe: setting contour count to " << contours << std::endl; - //create a new exampletarget - std::vector newContours; - for(int i=0; istorageRunner.SetExampleTarget(0, newTarg); -} - -/** - * Updates the editor. - */ -void PostprocessorEditor::Update() { - int currentContour = (int) this->contourchooser.GetValue(); - - if(currentContour != this->lastDesiredContour) { - //the user has requested to see values for a new contour, show them - if(currentContour < this->storageRunner.GetNumberOfContours(0)) { - this->distX.SetValue(this->storageRunner.GetPostProcessorContourProperty(currentContour, TargetProperty::DIST_X).Value()); - this->distXErr.SetValue(this->storageRunner.GetPostProcessorContourProperty(currentContour, TargetProperty::DIST_X).Error()); - this->distY.SetValue(this->storageRunner.GetPostProcessorContourProperty(currentContour, TargetProperty::DIST_Y).Value()); - this->distYErr.SetValue(this->storageRunner.GetPostProcessorContourProperty(currentContour, TargetProperty::DIST_Y).Error()); - this->angle.SetValue(this->storageRunner.GetPostProcessorContourProperty(currentContour, TargetProperty::ANGLE).Value()); - this->angleErr.SetValue(this->storageRunner.GetPostProcessorContourProperty(currentContour, TargetProperty::ANGLE).Error()); - this->ar.SetValue(this->storageRunner.GetPostProcessorContourProperty(currentContour, TargetProperty::ASPECT_RATIO).Value()); - this->arErr.SetValue(this->storageRunner.GetPostProcessorContourProperty(currentContour, TargetProperty::ASPECT_RATIO).Error()); - this->solidity.SetValue(this->storageRunner.GetPostProcessorContourProperty(currentContour, TargetProperty::SOLIDITY).Value()); - this->solidityErr.SetValue(this->storageRunner.GetPostProcessorContourProperty(currentContour, TargetProperty::SOLIDITY).Error()); - this->minimumArea.SetValue(this->storageRunner.GetPostProcessorContourProperty(currentContour, TargetProperty::MINIMUM_AREA).Value()); - this->lastDesiredContour = currentContour; - } else { - this->contourchooser.SetValue(this->lastDesiredContour); - } - } - - //set dist x - SettingPair distXPair = SettingPair(this->distX.GetValue(), this->distXErr.GetValue()); - this->storageRunner.SetPostProcessorContourProperty(currentContour, TargetProperty::DIST_X, distXPair); - - //set dist y - SettingPair distYPair = SettingPair(this->distY.GetValue(), this->distYErr.GetValue()); - this->storageRunner.SetPostProcessorContourProperty(currentContour, TargetProperty::DIST_Y, distYPair); - - //set angle - SettingPair anglePair = SettingPair(this->angle.GetValue(), this->angleErr.GetValue()); - this->storageRunner.SetPostProcessorContourProperty(currentContour, TargetProperty::ANGLE, anglePair); - - //set aspect ratio - SettingPair arPair = SettingPair(this->ar.GetValue(), this->arErr.GetValue()); - this->storageRunner.SetPostProcessorContourProperty(currentContour, TargetProperty::ASPECT_RATIO, arPair); - - //set solidity - SettingPair solidityPair = SettingPair(this->solidity.GetValue(), this->solidityErr.GetValue()); - this->storageRunner.SetPostProcessorContourProperty(currentContour, TargetProperty::SOLIDITY, solidityPair); - - //set min area - SettingPair minAreaPair = SettingPair(this->minimumArea.GetValue(), 0); - this->storageRunner.SetPostProcessorContourProperty(currentContour, TargetProperty::MINIMUM_AREA, minAreaPair); - - //set the label with total number of contours - this->totalContours.SetText(std::string("/ ") + std::to_string(this->storageRunner.GetNumberOfContours(0))); -} - -/** - * Returns the value and range of the specified property. - */ -SettingPair PostprocessorEditor::GetProperty(int contour, TargetProperty prop) { - return this->storageRunner.GetPostProcessorContourProperty(contour, prop); -} - -/** - * Sets the value and range of the specified property. - */ -void PostprocessorEditor::SetProperty(int contour, TargetProperty prop, SettingPair value) { - this->storageRunner.SetPostProcessorContourProperty(contour, prop, value); - - //it is a current value and should be changed on screen - if(this->contourchooser.GetValue() == contour) { - switch(prop) { - case TargetProperty::DIST_X: - this->distX.SetValue(value.Value()); - this->distXErr.SetValue(value.Error()); - break; - case TargetProperty::DIST_Y: - this->distY.SetValue(value.Value()); - this->distYErr.SetValue(value.Error()); - break; - case TargetProperty::ANGLE: - this->angle.SetValue(value.Value()); - this->angleErr.SetValue(value.Error()); - break; - case TargetProperty::ASPECT_RATIO: - this->ar.SetValue(value.Value()); - this->arErr.SetValue(value.Error()); - break; - case TargetProperty::SOLIDITY: - this->solidity.SetValue(value.Value()); - this->solidityErr.SetValue(value.Error()); - break; - case TargetProperty::MINIMUM_AREA: - this->minimumArea.SetValue(value.Value()); - break; - } - } -} - - -void PostprocessorEditor::SetName(std::string name) { - gtk_widget_set_name(this->postprocessoreditor, name.c_str()); -} +#include "UI.h" + +/** + * Source file for the PostprocessorEditor class. + * Written By: Brach Knutson + */ + +using namespace KiwiLight; + + +PostprocessorEditor::PostprocessorEditor(PostProcessor postprocessor) { + //create a runner to store values for all contours rather than having arrays and things + std::string genericFileLocation = ""; + //find home so we can get the generic configuration from KiwiLightData + char *home = getenv("HOME"); + if(home != NULL) { + genericFileLocation = std::string(home) + std::string("/KiwiLightData/confs/generic.xml"); + } else { + std::cout << "The postprocessor editor was unable to find HOME" << std::endl; + } + this->storageRunner = Runner(genericFileLocation, true); + this->lastDesiredContour = 0; + + //set storage runner for number of contours + std::vector newContours; + for(int i=0; istorageRunner.SetExampleTarget(0, newTarget); + + //init the values in the storage runner because they are all generic right now + for(int i=0; istorageRunner.SetPostProcessorContourProperty(i, TargetProperty::DIST_X, postprocessor.GetTargetContourProperty(i, TargetProperty::DIST_X)); + this->storageRunner.SetPostProcessorContourProperty(i, TargetProperty::DIST_Y, postprocessor.GetTargetContourProperty(i, TargetProperty::DIST_Y)); + this->storageRunner.SetPostProcessorContourProperty(i, TargetProperty::ANGLE, postprocessor.GetTargetContourProperty(i, TargetProperty::ANGLE)); + this->storageRunner.SetPostProcessorContourProperty(i, TargetProperty::ASPECT_RATIO, postprocessor.GetTargetContourProperty(i, TargetProperty::ASPECT_RATIO)); + this->storageRunner.SetPostProcessorContourProperty(i, TargetProperty::SOLIDITY, postprocessor.GetTargetContourProperty(i, TargetProperty::SOLIDITY)); + this->storageRunner.SetPostProcessorContourProperty(i, TargetProperty::MINIMUM_AREA, postprocessor.GetTargetContourProperty(i, TargetProperty::MINIMUM_AREA)); + } + + Panel editor = Panel(false, 0); + Panel contourChooserPanel = Panel(true, 0); + Label contourChooserPanelHeader = Label("Contour: "); + contourChooserPanelHeader.SetName("gray"); + contourChooserPanel.Pack_start(contourChooserPanelHeader.GetWidget(), true, true, 0); + + this->contourchooser = NumberBox(0, 10, 0); + contourChooserPanel.Pack_start(this->contourchooser.GetWidget(), true, true, 0); + + this->totalContours = Label(std::string("/ ") + std::to_string(this->storageRunner.GetNumberOfContours(0))); + contourChooserPanel.Pack_start(totalContours.GetWidget(), true, true, 0); + + editor.Pack_start(contourChooserPanel.GetWidget(), true, true, 0); + + //distance editor + Label distanceFromCenterHeader = Label("Distance from Center"); + distanceFromCenterHeader.SetName("subHeader"); + editor.Pack_start(distanceFromCenterHeader.GetWidget(), true, true, 0); + + Panel distXPanel = Panel(true, 0); + Label distXPanelHeader = Label("Horizontal:"); + distXPanel.Pack_start(distXPanelHeader.GetWidget(), true, true, 0); + + double realDistX = postprocessor.GetTargetContourProperty(0, TargetProperty::DIST_X).Value(); + this->distX = NumberBox(-10.0, 10.0, 0.05, realDistX); + distXPanel.Pack_start(this->distX.GetWidget(), false, false, 0); + + double realDistXErr = postprocessor.GetTargetContourProperty(0, TargetProperty::DIST_X).Error(); + this->distXErr = LabeledSlider("Range", 0.0, 10.0, 0.05, realDistXErr); + distXPanel.Pack_start(this->distXErr.GetWidget(), true, true, 0); + + editor.Pack_start(distXPanel.GetWidget(), true, true, 0); + + Panel distYPanel = Panel(true, 0); + Label distYPanelHeader = Label("Vertical:"); + distYPanel.Pack_start(distYPanelHeader.GetWidget(), true, true, 0); + + double realDistY = postprocessor.GetTargetContourProperty(0, TargetProperty::DIST_Y).Value(); + this->distY = NumberBox(-10.0, 10.0, 0.05, realDistY); + distYPanel.Pack_start(this->distY.GetWidget(), false, false, 0); + + double realDistYErr = postprocessor.GetTargetContourProperty(0, TargetProperty::DIST_Y).Error(); + this->distYErr = LabeledSlider("Range", 0.0, 10.0, 0.05, realDistYErr); + distYPanel.Pack_start(this->distYErr.GetWidget(), true, true, 0); + + editor.Pack_start(distYPanel.GetWidget(), true, true, 0); + + Label angleHeader = Label("Contour Shape"); + angleHeader.SetName("subHeader"); + editor.Pack_start(angleHeader.GetWidget(), true, true, 0); + + Panel anglePanel = Panel(true, 0); + double realAngle = postprocessor.GetTargetContourProperty(0, TargetProperty::ANGLE).Value(); + this->angle = LabeledSlider("Angle", -90.0, 90.0, 0.05, realAngle); + anglePanel.Pack_start(this->angle.GetWidget(), true, true, 0); + + double realAngleErr = postprocessor.GetTargetContourProperty(0, TargetProperty::ANGLE).Error(); + this->angleErr = LabeledSlider("Range", 0.0, 90.0, 0.05, realAngleErr); + anglePanel.Pack_start(this->angleErr.GetWidget(), true, true, 0); + + editor.Pack_start(anglePanel.GetWidget(), true, true, 0); + + Panel arPanel = Panel(true, 0); + double realAR = postprocessor.GetTargetContourProperty(0, TargetProperty::ASPECT_RATIO).Value(); + this->ar = LabeledSlider("Aspect Ratio", 0.01, 10.0, 0.01, realAR); + arPanel.Pack_start(this->ar.GetWidget(), true, true, 0); + + double realArErr = postprocessor.GetTargetContourProperty(0, TargetProperty::ASPECT_RATIO).Error(); + this->arErr = LabeledSlider("Range", 0.01, 10.0, 0.01, realArErr); + arPanel.Pack_start(this->arErr.GetWidget(), true, true, 0); + + editor.Pack_start(arPanel.GetWidget(), true, true, 0); + + Panel solidityPanel = Panel(true, 0); + double realSolidity = postprocessor.GetTargetContourProperty(0, TargetProperty::SOLIDITY).Value(); + this->solidity = LabeledSlider("Solidity", 0.0, 1.0, 0.01, realSolidity); + solidityPanel.Pack_start(this->solidity.GetWidget(), true, true, 0); + + double realSolidityErr = postprocessor.GetTargetContourProperty(0, TargetProperty::SOLIDITY).Error(); + this->solidityErr = LabeledSlider("Range", 0.0, 1.0, 0.1, realSolidityErr); + solidityPanel.Pack_start(this->solidityErr.GetWidget(), true, true, 0); + + editor.Pack_start(solidityPanel.GetWidget(), true, true, 0); + + double realMinArea = postprocessor.GetTargetContourProperty(0, TargetProperty::MINIMUM_AREA).Value(); + this->minimumArea = LabeledSlider("Minimum Area", 5.0, 10000.0, 5.0, realMinArea); + editor.Pack_start(this->minimumArea.GetWidget(), true, true, 0); + + this->postprocessoreditor = editor.GetWidget(); +} + + +int PostprocessorEditor::GetNumContours() { + return this->storageRunner.GetNumberOfContours(0); +} + +/** + * Clears all contours in the target so far and sets the number of contours to contours. + */ +void PostprocessorEditor::SetNumContours(int contours) { + std::cout << "ppe: setting contour count to " << contours << std::endl; + //create a new exampletarget + std::vector newContours; + for(int i=0; istorageRunner.SetExampleTarget(0, newTarg); +} + +/** + * Updates the editor. + */ +void PostprocessorEditor::Update() { + int currentContour = (int) this->contourchooser.GetValue(); + + if(currentContour != this->lastDesiredContour) { + //the user has requested to see values for a new contour, show them + if(currentContour < this->storageRunner.GetNumberOfContours(0)) { + this->distX.SetValue(this->storageRunner.GetPostProcessorContourProperty(currentContour, TargetProperty::DIST_X).Value()); + this->distXErr.SetValue(this->storageRunner.GetPostProcessorContourProperty(currentContour, TargetProperty::DIST_X).Error()); + this->distY.SetValue(this->storageRunner.GetPostProcessorContourProperty(currentContour, TargetProperty::DIST_Y).Value()); + this->distYErr.SetValue(this->storageRunner.GetPostProcessorContourProperty(currentContour, TargetProperty::DIST_Y).Error()); + this->angle.SetValue(this->storageRunner.GetPostProcessorContourProperty(currentContour, TargetProperty::ANGLE).Value()); + this->angleErr.SetValue(this->storageRunner.GetPostProcessorContourProperty(currentContour, TargetProperty::ANGLE).Error()); + this->ar.SetValue(this->storageRunner.GetPostProcessorContourProperty(currentContour, TargetProperty::ASPECT_RATIO).Value()); + this->arErr.SetValue(this->storageRunner.GetPostProcessorContourProperty(currentContour, TargetProperty::ASPECT_RATIO).Error()); + this->solidity.SetValue(this->storageRunner.GetPostProcessorContourProperty(currentContour, TargetProperty::SOLIDITY).Value()); + this->solidityErr.SetValue(this->storageRunner.GetPostProcessorContourProperty(currentContour, TargetProperty::SOLIDITY).Error()); + this->minimumArea.SetValue(this->storageRunner.GetPostProcessorContourProperty(currentContour, TargetProperty::MINIMUM_AREA).Value()); + this->lastDesiredContour = currentContour; + } else { + this->contourchooser.SetValue(this->lastDesiredContour); + } + } + + //set dist x + SettingPair distXPair = SettingPair(this->distX.GetValue(), this->distXErr.GetValue()); + this->storageRunner.SetPostProcessorContourProperty(currentContour, TargetProperty::DIST_X, distXPair); + + //set dist y + SettingPair distYPair = SettingPair(this->distY.GetValue(), this->distYErr.GetValue()); + this->storageRunner.SetPostProcessorContourProperty(currentContour, TargetProperty::DIST_Y, distYPair); + + //set angle + SettingPair anglePair = SettingPair(this->angle.GetValue(), this->angleErr.GetValue()); + this->storageRunner.SetPostProcessorContourProperty(currentContour, TargetProperty::ANGLE, anglePair); + + //set aspect ratio + SettingPair arPair = SettingPair(this->ar.GetValue(), this->arErr.GetValue()); + this->storageRunner.SetPostProcessorContourProperty(currentContour, TargetProperty::ASPECT_RATIO, arPair); + + //set solidity + SettingPair solidityPair = SettingPair(this->solidity.GetValue(), this->solidityErr.GetValue()); + this->storageRunner.SetPostProcessorContourProperty(currentContour, TargetProperty::SOLIDITY, solidityPair); + + //set min area + SettingPair minAreaPair = SettingPair(this->minimumArea.GetValue(), 0); + this->storageRunner.SetPostProcessorContourProperty(currentContour, TargetProperty::MINIMUM_AREA, minAreaPair); + + //set the label with total number of contours + this->totalContours.SetText(std::string("/ ") + std::to_string(this->storageRunner.GetNumberOfContours(0))); +} + +/** + * Returns the value and range of the specified property. + */ +SettingPair PostprocessorEditor::GetProperty(int contour, TargetProperty prop) { + return this->storageRunner.GetPostProcessorContourProperty(contour, prop); +} + +/** + * Sets the value and range of the specified property. + */ +void PostprocessorEditor::SetProperty(int contour, TargetProperty prop, SettingPair value) { + this->storageRunner.SetPostProcessorContourProperty(contour, prop, value); + + //it is a current value and should be changed on screen + if(this->contourchooser.GetValue() == contour) { + switch(prop) { + case TargetProperty::DIST_X: + this->distX.SetValue(value.Value()); + this->distXErr.SetValue(value.Error()); + break; + case TargetProperty::DIST_Y: + this->distY.SetValue(value.Value()); + this->distYErr.SetValue(value.Error()); + break; + case TargetProperty::ANGLE: + this->angle.SetValue(value.Value()); + this->angleErr.SetValue(value.Error()); + break; + case TargetProperty::ASPECT_RATIO: + this->ar.SetValue(value.Value()); + this->arErr.SetValue(value.Error()); + break; + case TargetProperty::SOLIDITY: + this->solidity.SetValue(value.Value()); + this->solidityErr.SetValue(value.Error()); + break; + case TargetProperty::MINIMUM_AREA: + this->minimumArea.SetValue(value.Value()); + break; + } + } +} + + +void PostprocessorEditor::SetName(std::string name) { + gtk_widget_set_name(this->postprocessoreditor, name.c_str()); +} diff --git a/KiwiLight - Vision Code/ui/PreprocessorEditor.cpp b/KiwiLight - Vision Code/ui/PreprocessorEditor.cpp index 3e90baa..59505fd 100644 --- a/KiwiLight - Vision Code/ui/PreprocessorEditor.cpp +++ b/KiwiLight - Vision Code/ui/PreprocessorEditor.cpp @@ -1,184 +1,184 @@ -#include "UI.h" - -/** - * Source file for the PreprocessorEditor class. - * Written By: Brach Knuston - */ - -using namespace KiwiLight; - - -PreprocessorEditor::PreprocessorEditor(PreProcessor preprocessor) { - this->lastIsFull = preprocessor.GetProperty(PreProcessorProperty::IS_FULL) == 1.0; - Panel editor = Panel(false, 0); - - Panel preprocessorTypePanel = Panel(false, 0); - double processorIsFullDouble = preprocessor.GetProperty(PreProcessorProperty::IS_FULL); - bool processorIsFullBool = (processorIsFullDouble == 1.0 ? true : false); - - Label preprocessorTypePanelHeader = Label("Type"); - preprocessorTypePanelHeader.SetName("subHeader"); - preprocessorTypePanel.Pack_start(preprocessorTypePanelHeader.GetWidget(), true, true, 0); - - Panel preprocessorPanelContents = Panel(true, 0); - this->isFull = CheckBox("Full", processorIsFullBool); - preprocessorPanelContents.Pack_start(this->isFull.GetWidget(), false, false, 0); - - this->isPartial = CheckBox("Partial", !processorIsFullBool); - preprocessorPanelContents.Pack_start(this->isPartial.GetWidget(), false, false, 0); - - preprocessorTypePanel.Pack_start(preprocessorPanelContents.GetWidget(), true, true, 0); - - editor.Pack_start(preprocessorTypePanel.GetWidget(), true, true, 0); - - Panel targetColorPanel = Panel(false, 0); - Label targetColorPanelHeader = Label("Target Color (HSV)"); - targetColorPanelHeader.SetName("subHeader"); - targetColorPanel.Pack_start(targetColorPanelHeader.GetWidget(), true, true, 0); - - Panel targetColorPanelContents = Panel(true, 0); - double realColorH = preprocessor.GetProperty(PreProcessorProperty::COLOR_HUE); - this->colorH = NumberBox(0, 100, realColorH); - targetColorPanelContents.Pack_start(this->colorH.GetWidget(), true, true, 0); - - double realColorS = preprocessor.GetProperty(PreProcessorProperty::COLOR_SATURATION); - this->colorS = NumberBox(0, 255, realColorS); - targetColorPanelContents.Pack_start(this->colorS.GetWidget(), true, true, 0); - - double realColorV = preprocessor.GetProperty(PreProcessorProperty::COLOR_VALUE); - this->colorV = NumberBox(0, 255, realColorV); - targetColorPanelContents.Pack_start(this->colorV.GetWidget(), true, true, 0); - - this->colorPreview = Image(ImageColorspace::RGB); - targetColorPanelContents.Pack_start(this->colorPreview.GetWidget(), false, false, 0); - - targetColorPanel.Pack_start(targetColorPanelContents.GetWidget(), true, true, 0); - - editor.Pack_start(targetColorPanel.GetWidget(), true, true, 0); - - Label imageProcLabel = Label("Image Processing"); - imageProcLabel.SetName("subHeader"); - editor.Pack_start(imageProcLabel.GetWidget(), true, true, 0); - - double realColorError = preprocessor.GetProperty(PreProcessorProperty::COLOR_ERROR); - this->colorError = LabeledSlider("Color Range", 0.0, 255.0, 1.0, realColorError); - editor.Pack_start(this->colorError.GetWidget(), true, true, 0); - - double realThreshonld = preprocessor.GetProperty(PreProcessorProperty::THRESHOLD); - this->threshold = LabeledSlider("Threshold", 1.0, 100.0, 1.0, realThreshonld); - editor.Pack_start(this->threshold.GetWidget(), true, true, 0); - - double realErosion = preprocessor.GetProperty(PreProcessorProperty::EROSION); - this->erosion = LabeledSlider("Erosion", 1.0, 25.0, 1.0, realErosion); - editor.Pack_start(this->erosion.GetWidget(), true, true, 0); - - double realDilation = preprocessor.GetProperty(PreProcessorProperty::DILATION); - this->dilation = LabeledSlider("Dilation", 1.0, 25.0, 1.0, realDilation); - editor.Pack_start(this->dilation.GetWidget(), true, true, 0); - - this->preprocessoreditor = editor.GetWidget(); -} - -/** - * Updates the UI of the editor. - */ -void PreprocessorEditor::Update() { - //set checkboxes to appropriate states based on which mode is selected. - if(this->isFull.GetState() && this->isPartial.GetState()) { - //both checkboxes checked, toggle intended - bool intendedStateIsFull = !this->lastIsFull; - - if(intendedStateIsFull) { - this->isFull.SetState(true); - this->isPartial.SetState(false); - } else { - this->isFull.SetState(false); - this->isPartial.SetState(true); - } - - this->lastIsFull = intendedStateIsFull; - } - - if(!this->isFull.GetState() && !this->isPartial.GetState()) { - //if no checkboxes are checked just revert back to whatever the last state was - if(this->lastIsFull) { - this->isFull.SetState(true); - this->isPartial.SetState(false); - } else { - this->isFull.SetState(false); - this->isPartial.SetState(true); - } - } - - //update the color in the box to the desired color - int hue = (int) this->colorH.GetValue(); - int saturation = (int) this->colorS.GetValue(); - int value = (int) this->colorV.GetValue(); - - Mat previewImage = Mat(Size(30, 30), CV_8UC3, Scalar(hue, saturation, value)); - cvtColor(previewImage, previewImage, COLOR_HSV2BGR_FULL); - this->colorPreview.Update(previewImage); -} - -/** - * Returns the value of the editor property - */ -double PreprocessorEditor::GetProperty(PreProcessorProperty prop) { - switch(prop) { - case PreProcessorProperty::IS_FULL: - return (this->isFull.GetState() ? 1.0 : 0.0); - case PreProcessorProperty::THRESHOLD: - return this->threshold.GetValue(); - case PreProcessorProperty::EROSION: - return this->erosion.GetValue(); - case PreProcessorProperty::DILATION: - return this->dilation.GetValue(); - case PreProcessorProperty::COLOR_HUE: - return this->colorH.GetValue(); - case PreProcessorProperty::COLOR_SATURATION: - return this->colorS.GetValue(); - case PreProcessorProperty::COLOR_VALUE: - return this->colorV.GetValue(); - case PreProcessorProperty::COLOR_ERROR: - return this->colorError.GetValue(); - } -} - -/** - * Sets the editor property to the value "value" - */ -void PreprocessorEditor::SetProperty(PreProcessorProperty prop, double value) { - switch(prop) { - case PreProcessorProperty::IS_FULL: - this->isFull.SetState(value == 1.0); - break; - case PreProcessorProperty::THRESHOLD: - this->threshold.SetValue(value); - break; - case PreProcessorProperty::EROSION: - this->erosion.SetValue(value); - break; - case PreProcessorProperty::DILATION: - this->dilation.SetValue(value); - break; - case PreProcessorProperty::COLOR_HUE: - this->colorH.SetValue(value); - break; - case PreProcessorProperty::COLOR_SATURATION: - this->colorS.SetValue(value); - break; - case PreProcessorProperty::COLOR_VALUE: - this->colorV.SetValue(value); - break; - case PreProcessorProperty::COLOR_ERROR: - this->colorError.SetValue(value); - break; - } -} - -/** - * Sets the name of the editor. - */ -void PreprocessorEditor::SetName(std::string name) { - gtk_widget_set_name(this->preprocessoreditor, name.c_str()); -} +#include "UI.h" + +/** + * Source file for the PreprocessorEditor class. + * Written By: Brach Knuston + */ + +using namespace KiwiLight; + + +PreprocessorEditor::PreprocessorEditor(PreProcessor preprocessor) { + this->lastIsFull = preprocessor.GetProperty(PreProcessorProperty::IS_FULL) == 1.0; + Panel editor = Panel(false, 0); + + Panel preprocessorTypePanel = Panel(false, 0); + double processorIsFullDouble = preprocessor.GetProperty(PreProcessorProperty::IS_FULL); + bool processorIsFullBool = (processorIsFullDouble == 1.0 ? true : false); + + Label preprocessorTypePanelHeader = Label("Type"); + preprocessorTypePanelHeader.SetName("subHeader"); + preprocessorTypePanel.Pack_start(preprocessorTypePanelHeader.GetWidget(), true, true, 0); + + Panel preprocessorPanelContents = Panel(true, 0); + this->isFull = CheckBox("Full", processorIsFullBool); + preprocessorPanelContents.Pack_start(this->isFull.GetWidget(), false, false, 0); + + this->isPartial = CheckBox("Partial", !processorIsFullBool); + preprocessorPanelContents.Pack_start(this->isPartial.GetWidget(), false, false, 0); + + preprocessorTypePanel.Pack_start(preprocessorPanelContents.GetWidget(), true, true, 0); + + editor.Pack_start(preprocessorTypePanel.GetWidget(), true, true, 0); + + Panel targetColorPanel = Panel(false, 0); + Label targetColorPanelHeader = Label("Target Color (HSV)"); + targetColorPanelHeader.SetName("subHeader"); + targetColorPanel.Pack_start(targetColorPanelHeader.GetWidget(), true, true, 0); + + Panel targetColorPanelContents = Panel(true, 0); + double realColorH = preprocessor.GetProperty(PreProcessorProperty::COLOR_HUE); + this->colorH = NumberBox(0, 100, realColorH); + targetColorPanelContents.Pack_start(this->colorH.GetWidget(), true, true, 0); + + double realColorS = preprocessor.GetProperty(PreProcessorProperty::COLOR_SATURATION); + this->colorS = NumberBox(0, 255, realColorS); + targetColorPanelContents.Pack_start(this->colorS.GetWidget(), true, true, 0); + + double realColorV = preprocessor.GetProperty(PreProcessorProperty::COLOR_VALUE); + this->colorV = NumberBox(0, 255, realColorV); + targetColorPanelContents.Pack_start(this->colorV.GetWidget(), true, true, 0); + + this->colorPreview = Image(ImageColorspace::RGB); + targetColorPanelContents.Pack_start(this->colorPreview.GetWidget(), false, false, 0); + + targetColorPanel.Pack_start(targetColorPanelContents.GetWidget(), true, true, 0); + + editor.Pack_start(targetColorPanel.GetWidget(), true, true, 0); + + Label imageProcLabel = Label("Image Processing"); + imageProcLabel.SetName("subHeader"); + editor.Pack_start(imageProcLabel.GetWidget(), true, true, 0); + + double realColorError = preprocessor.GetProperty(PreProcessorProperty::COLOR_ERROR); + this->colorError = LabeledSlider("Color Range", 0.0, 255.0, 1.0, realColorError); + editor.Pack_start(this->colorError.GetWidget(), true, true, 0); + + double realThreshonld = preprocessor.GetProperty(PreProcessorProperty::THRESHOLD); + this->threshold = LabeledSlider("Threshold", 1.0, 100.0, 1.0, realThreshonld); + editor.Pack_start(this->threshold.GetWidget(), true, true, 0); + + double realErosion = preprocessor.GetProperty(PreProcessorProperty::EROSION); + this->erosion = LabeledSlider("Erosion", 1.0, 25.0, 1.0, realErosion); + editor.Pack_start(this->erosion.GetWidget(), true, true, 0); + + double realDilation = preprocessor.GetProperty(PreProcessorProperty::DILATION); + this->dilation = LabeledSlider("Dilation", 1.0, 25.0, 1.0, realDilation); + editor.Pack_start(this->dilation.GetWidget(), true, true, 0); + + this->preprocessoreditor = editor.GetWidget(); +} + +/** + * Updates the UI of the editor. + */ +void PreprocessorEditor::Update() { + //set checkboxes to appropriate states based on which mode is selected. + if(this->isFull.GetState() && this->isPartial.GetState()) { + //both checkboxes checked, toggle intended + bool intendedStateIsFull = !this->lastIsFull; + + if(intendedStateIsFull) { + this->isFull.SetState(true); + this->isPartial.SetState(false); + } else { + this->isFull.SetState(false); + this->isPartial.SetState(true); + } + + this->lastIsFull = intendedStateIsFull; + } + + if(!this->isFull.GetState() && !this->isPartial.GetState()) { + //if no checkboxes are checked just revert back to whatever the last state was + if(this->lastIsFull) { + this->isFull.SetState(true); + this->isPartial.SetState(false); + } else { + this->isFull.SetState(false); + this->isPartial.SetState(true); + } + } + + //update the color in the box to the desired color + int hue = (int) this->colorH.GetValue(); + int saturation = (int) this->colorS.GetValue(); + int value = (int) this->colorV.GetValue(); + + Mat previewImage = Mat(Size(30, 30), CV_8UC3, Scalar(hue, saturation, value)); + cvtColor(previewImage, previewImage, COLOR_HSV2BGR_FULL); + this->colorPreview.Update(previewImage); +} + +/** + * Returns the value of the editor property + */ +double PreprocessorEditor::GetProperty(PreProcessorProperty prop) { + switch(prop) { + case PreProcessorProperty::IS_FULL: + return (this->isFull.GetState() ? 1.0 : 0.0); + case PreProcessorProperty::THRESHOLD: + return this->threshold.GetValue(); + case PreProcessorProperty::EROSION: + return this->erosion.GetValue(); + case PreProcessorProperty::DILATION: + return this->dilation.GetValue(); + case PreProcessorProperty::COLOR_HUE: + return this->colorH.GetValue(); + case PreProcessorProperty::COLOR_SATURATION: + return this->colorS.GetValue(); + case PreProcessorProperty::COLOR_VALUE: + return this->colorV.GetValue(); + case PreProcessorProperty::COLOR_ERROR: + return this->colorError.GetValue(); + } +} + +/** + * Sets the editor property to the value "value" + */ +void PreprocessorEditor::SetProperty(PreProcessorProperty prop, double value) { + switch(prop) { + case PreProcessorProperty::IS_FULL: + this->isFull.SetState(value == 1.0); + break; + case PreProcessorProperty::THRESHOLD: + this->threshold.SetValue(value); + break; + case PreProcessorProperty::EROSION: + this->erosion.SetValue(value); + break; + case PreProcessorProperty::DILATION: + this->dilation.SetValue(value); + break; + case PreProcessorProperty::COLOR_HUE: + this->colorH.SetValue(value); + break; + case PreProcessorProperty::COLOR_SATURATION: + this->colorS.SetValue(value); + break; + case PreProcessorProperty::COLOR_VALUE: + this->colorV.SetValue(value); + break; + case PreProcessorProperty::COLOR_ERROR: + this->colorError.SetValue(value); + break; + } +} + +/** + * Sets the name of the editor. + */ +void PreprocessorEditor::SetName(std::string name) { + gtk_widget_set_name(this->preprocessoreditor, name.c_str()); +} diff --git a/KiwiLight - Vision Code/ui/RunnerEditor.cpp b/KiwiLight - Vision Code/ui/RunnerEditor.cpp index b9bfa7c..78a1e16 100644 --- a/KiwiLight - Vision Code/ui/RunnerEditor.cpp +++ b/KiwiLight - Vision Code/ui/RunnerEditor.cpp @@ -1,215 +1,215 @@ -#include "../KiwiLight.h" - -/** - * Source file for the RunnerEditor class. - * Written By: Brach Knutson - */ - -using namespace KiwiLight; - -static void ReconnectUDP() { - KiwiLightApp::EditorReconnectUDP(); -} - -RunnerEditor::RunnerEditor(Runner runner) { - Panel editor = Panel(false, 0); - // OFFSET_X, - // OFFSET_Y, - // IMAGE_WIDTH, - // IMAGE_HEIGHT, - // TRUE_WIDTH, - // PERCEIVED_WIDTH, - // CALIBRATED_DISTANCE, - // ERROR_CORRECTION - - Panel udpPanel = Panel(true, 0); - Panel udpInputPanel = Panel(false, 0); - Panel udpAddressPanel = Panel(true, 0); - Label udpAddressPanelHeader = Label("IPv4 Address: "); - udpAddressPanel.Pack_start(udpAddressPanelHeader.GetWidget(), true, true, 0); - - std::string realUDPAddress = KiwiLightApp::GetUDP().GetAddress(); - this->udpAddress = TextBox(realUDPAddress); - udpAddressPanel.Pack_start(this->udpAddress.GetWidget(), true, true, 0); - - udpInputPanel.Pack_start(udpAddressPanel.GetWidget(), true, true, 0); - - Panel udpPortPanel = Panel(true, 0); - Label udpPortPanelHeader = Label("Port: "); - udpPortPanel.Pack_start(udpPortPanelHeader.GetWidget(), true, true, 0); - - int realUDPPort = KiwiLightApp::GetUDP().GetPort(); - this->udpPort = NumberBox(0.0, 9999.0, 1.0, (double) realUDPPort); - udpPortPanel.Pack_start(this->udpPort.GetWidget(), true, true, 0); - udpInputPanel.Pack_start(udpPortPanel.GetWidget(), true, true, 0); - udpPanel.Pack_start(udpInputPanel.GetWidget(), true, true, 0); - Button reconnectUDP = Button("Reconnect", ReconnectUDP); - udpPanel.Pack_start(reconnectUDP.GetWidget(), true, true, 0); - - this->enableUDP = Button("Enable", KiwiLightApp::ToggleUDP); - udpPanel.Pack_start(this->enableUDP.GetWidget(), true, true, 0); - - editor.Pack_start(udpPanel.GetWidget(), true, true, 0); - - - Panel offsetPanel = Panel(false, 0); - Label offsetPanelHeader = Label("Camera offset (inches)"); - offsetPanelHeader.SetName("subHeader"); - offsetPanel.Pack_start(offsetPanelHeader.GetWidget(), true, true, 0); - - Panel offsetPanelContents = Panel(true, 0); - double realOffsetX = runner.GetRunnerProperty(RunnerProperty::OFFSET_X); - this->offsetX = LabeledSlider("Horizontal", -48.0, 48.0, -1.0, realOffsetX); - offsetPanelContents.Pack_start(this->offsetX.GetWidget(), true, true, 0); - - double realOffsetY = runner.GetRunnerProperty(RunnerProperty::OFFSET_Y); - this->offsetY = LabeledSlider("Vertical", -48.0, 48.0, 0.1, realOffsetY); - offsetPanelContents.Pack_start(this->offsetY.GetWidget(), true, true, 0); - - offsetPanel.Pack_start(offsetPanelContents.GetWidget(), true, true, 0); - editor.Pack_start(offsetPanel.GetWidget(), true, true, 0); - - Panel resizePanel = Panel(false, 0); - Label resizePanelHeader = Label("Image Resize (pixels)"); - resizePanelHeader.SetName("subHeader"); - resizePanel.Pack_start(resizePanelHeader.GetWidget(), true, true, 0); - - Panel resizePanelContents = Panel(true, 0); - double realResizeX = runner.GetRunnerProperty(RunnerProperty::IMAGE_WIDTH); - this->imageWidth = LabeledSlider("Horizontal", 50.0, 1080.0, 1.0, realResizeX); - resizePanelContents.Pack_start(this->imageWidth.GetWidget(), true, true, 0); - - double realResizeY = runner.GetRunnerProperty(RunnerProperty::IMAGE_HEIGHT); - this->imageHeight = LabeledSlider("Vertical", 50.0, 720.0, 1.0, realResizeY); - resizePanelContents.Pack_start(this->imageHeight.GetWidget(), true, true, 0); - - resizePanel.Pack_start(resizePanelContents.GetWidget(), true, true, 0); - editor.Pack_start(resizePanel.GetWidget(), true, true, 0); - - Panel distancePanel = Panel(false, 0); - Label distancePanelHeader = Label("Distance Constants"); - distancePanelHeader.SetName("subHeader"); - distancePanel.Pack_start(distancePanelHeader.GetWidget(), true, true, 0); - - this->distanceLabel = Label("Calculated Distance: (no target!)"); - this->distanceLabel.SetName("gray"); - distancePanel.Pack_start(this->distanceLabel.GetWidget(), true, true, 0); - - Panel imageConstantsPanel = Panel(true, 0); - double realTargetWidth = runner.GetRunnerProperty(RunnerProperty::TRUE_WIDTH); - this->targetTrueWidth = LabeledSlider("Target Width (inches)", 0.0, 120.0, 0.1, realTargetWidth); - imageConstantsPanel.Pack_start(this->targetTrueWidth.GetWidget(), true, true, 0); - - double realFocalWidth = runner.GetRunnerProperty(RunnerProperty::PERCEIVED_WIDTH); - this->targetPercievedWidth = LabeledSlider("Focal Width", 0.0, 1000.0, 0.1, realFocalWidth); - imageConstantsPanel.Pack_start(this->targetPercievedWidth.GetWidget(), true, true, 0); - - distancePanel.Pack_start(imageConstantsPanel.GetWidget(), true, true, 0); - - Panel errorCorrectionPanel = Panel(true, 0); - double realCalibratedDistance = runner.GetRunnerProperty(RunnerProperty::CALIBRATED_DISTANCE); - this->targetCalibratedDistance = LabeledSlider("Calibrated Distance (inches)", 6.0, 240.0, 0.1, realCalibratedDistance); - errorCorrectionPanel.Pack_start(this->targetCalibratedDistance.GetWidget(), true, true, 0); - - double realErrorCorrection = runner.GetRunnerProperty(RunnerProperty::ERROR_CORRECTION); - this->targetErrorCorrection = LabeledSlider("Error Correction", -3.0, 3.0, 0.01, realErrorCorrection); - errorCorrectionPanel.Pack_start(this->targetErrorCorrection.GetWidget(), true, true, 0); - - distancePanel.Pack_start(errorCorrectionPanel.GetWidget(), true, true, 0); - editor.Pack_start(distancePanel.GetWidget(), true, true, 0); - - this->runnereditor = editor.GetWidget(); -} - -/** - * Updates the editor and performs important stuff - */ -void RunnerEditor::Update(int targetDistance) { - std::string distanceValueString = (targetDistance < 0 ? "(no target!)" : std::to_string(targetDistance)); - this->distanceLabel.SetText("Target Distance: " + distanceValueString); -} - -/** - * Returns the value of the property associated with prop. - */ -double RunnerEditor::GetProperty(RunnerProperty prop) { - switch(prop) { - case RunnerProperty::OFFSET_X: - return this->offsetX.GetValue(); - case RunnerProperty::OFFSET_Y: - return this->offsetY.GetValue(); - case RunnerProperty::IMAGE_WIDTH: - return this->imageWidth.GetValue(); - case RunnerProperty::IMAGE_HEIGHT: - return this->imageHeight.GetValue(); - case RunnerProperty::TRUE_WIDTH: - return this->targetTrueWidth.GetValue(); - case RunnerProperty::PERCEIVED_WIDTH: - return this->targetPercievedWidth.GetValue(); - case RunnerProperty::CALIBRATED_DISTANCE: - return this->targetCalibratedDistance.GetValue(); - case RunnerProperty::ERROR_CORRECTION: - return this->targetErrorCorrection.GetValue(); - } -} - -/** - * Sets the value of prop to value. - */ -void RunnerEditor::SetProperty(RunnerProperty prop, double value) { - switch(prop) { - case RunnerProperty::OFFSET_X: - this->offsetX.SetValue(value); - break; - case RunnerProperty::OFFSET_Y: - this->offsetY.SetValue(value); - break; - case RunnerProperty::IMAGE_WIDTH: - this->imageWidth.SetValue(value); - break; - case RunnerProperty::IMAGE_HEIGHT: - this->imageHeight.SetValue(value); - break; - case RunnerProperty::TRUE_WIDTH: - this->targetTrueWidth.SetValue(value); - break; - case RunnerProperty::PERCEIVED_WIDTH: - this->targetPercievedWidth.SetValue(value); - break; - case RunnerProperty::CALIBRATED_DISTANCE: - this->targetCalibratedDistance.SetValue(value); - break; - case RunnerProperty::ERROR_CORRECTION: - this->targetErrorCorrection.SetValue(value); - break; - } -} - - -std::string RunnerEditor::GetUDPAddr() { - return this->udpAddress.GetText(); -} - - -int RunnerEditor::GetUDPPort() { - return (int) this->udpPort.GetValue(); -} - - -void RunnerEditor::SetUDPAddr(std::string newAddr) { - this->udpAddress.SetText(newAddr); -} - - -void RunnerEditor::SetUDPPort(int newPort) { - this->udpPort.SetValue((double) newPort); -} - - -void RunnerEditor::SetUDPEnabledLabels(bool UDPEnabled) { - this->enableUDP.SetText((UDPEnabled ? "Disable" : "Enable")); -} - -void RunnerEditor::SetName(std::string name) { - gtk_widget_set_name(this->runnereditor, name.c_str()); -} +#include "../KiwiLight.h" + +/** + * Source file for the RunnerEditor class. + * Written By: Brach Knutson + */ + +using namespace KiwiLight; + +static void ReconnectUDP() { + KiwiLightApp::EditorReconnectUDP(); +} + +RunnerEditor::RunnerEditor(Runner runner) { + Panel editor = Panel(false, 0); + // OFFSET_X, + // OFFSET_Y, + // IMAGE_WIDTH, + // IMAGE_HEIGHT, + // TRUE_WIDTH, + // PERCEIVED_WIDTH, + // CALIBRATED_DISTANCE, + // ERROR_CORRECTION + + Panel udpPanel = Panel(true, 0); + Panel udpInputPanel = Panel(false, 0); + Panel udpAddressPanel = Panel(true, 0); + Label udpAddressPanelHeader = Label("IPv4 Address: "); + udpAddressPanel.Pack_start(udpAddressPanelHeader.GetWidget(), true, true, 0); + + std::string realUDPAddress = KiwiLightApp::GetUDP().GetAddress(); + this->udpAddress = TextBox(realUDPAddress); + udpAddressPanel.Pack_start(this->udpAddress.GetWidget(), true, true, 0); + + udpInputPanel.Pack_start(udpAddressPanel.GetWidget(), true, true, 0); + + Panel udpPortPanel = Panel(true, 0); + Label udpPortPanelHeader = Label("Port: "); + udpPortPanel.Pack_start(udpPortPanelHeader.GetWidget(), true, true, 0); + + int realUDPPort = KiwiLightApp::GetUDP().GetPort(); + this->udpPort = NumberBox(0.0, 9999.0, 1.0, (double) realUDPPort); + udpPortPanel.Pack_start(this->udpPort.GetWidget(), true, true, 0); + udpInputPanel.Pack_start(udpPortPanel.GetWidget(), true, true, 0); + udpPanel.Pack_start(udpInputPanel.GetWidget(), true, true, 0); + Button reconnectUDP = Button("Reconnect", ReconnectUDP); + udpPanel.Pack_start(reconnectUDP.GetWidget(), true, true, 0); + + this->enableUDP = Button("Enable", KiwiLightApp::ToggleUDP); + udpPanel.Pack_start(this->enableUDP.GetWidget(), true, true, 0); + + editor.Pack_start(udpPanel.GetWidget(), true, true, 0); + + + Panel offsetPanel = Panel(false, 0); + Label offsetPanelHeader = Label("Camera offset (inches)"); + offsetPanelHeader.SetName("subHeader"); + offsetPanel.Pack_start(offsetPanelHeader.GetWidget(), true, true, 0); + + Panel offsetPanelContents = Panel(true, 0); + double realOffsetX = runner.GetRunnerProperty(RunnerProperty::OFFSET_X); + this->offsetX = LabeledSlider("Horizontal", -48.0, 48.0, -1.0, realOffsetX); + offsetPanelContents.Pack_start(this->offsetX.GetWidget(), true, true, 0); + + double realOffsetY = runner.GetRunnerProperty(RunnerProperty::OFFSET_Y); + this->offsetY = LabeledSlider("Vertical", -48.0, 48.0, 0.1, realOffsetY); + offsetPanelContents.Pack_start(this->offsetY.GetWidget(), true, true, 0); + + offsetPanel.Pack_start(offsetPanelContents.GetWidget(), true, true, 0); + editor.Pack_start(offsetPanel.GetWidget(), true, true, 0); + + Panel resizePanel = Panel(false, 0); + Label resizePanelHeader = Label("Image Resize (pixels)"); + resizePanelHeader.SetName("subHeader"); + resizePanel.Pack_start(resizePanelHeader.GetWidget(), true, true, 0); + + Panel resizePanelContents = Panel(true, 0); + double realResizeX = runner.GetRunnerProperty(RunnerProperty::IMAGE_WIDTH); + this->imageWidth = LabeledSlider("Horizontal", 50.0, 1080.0, 1.0, realResizeX); + resizePanelContents.Pack_start(this->imageWidth.GetWidget(), true, true, 0); + + double realResizeY = runner.GetRunnerProperty(RunnerProperty::IMAGE_HEIGHT); + this->imageHeight = LabeledSlider("Vertical", 50.0, 720.0, 1.0, realResizeY); + resizePanelContents.Pack_start(this->imageHeight.GetWidget(), true, true, 0); + + resizePanel.Pack_start(resizePanelContents.GetWidget(), true, true, 0); + editor.Pack_start(resizePanel.GetWidget(), true, true, 0); + + Panel distancePanel = Panel(false, 0); + Label distancePanelHeader = Label("Distance Constants"); + distancePanelHeader.SetName("subHeader"); + distancePanel.Pack_start(distancePanelHeader.GetWidget(), true, true, 0); + + this->distanceLabel = Label("Calculated Distance: (no target!)"); + this->distanceLabel.SetName("gray"); + distancePanel.Pack_start(this->distanceLabel.GetWidget(), true, true, 0); + + Panel imageConstantsPanel = Panel(true, 0); + double realTargetWidth = runner.GetRunnerProperty(RunnerProperty::TRUE_WIDTH); + this->targetTrueWidth = LabeledSlider("Target Width (inches)", 0.0, 120.0, 0.1, realTargetWidth); + imageConstantsPanel.Pack_start(this->targetTrueWidth.GetWidget(), true, true, 0); + + double realFocalWidth = runner.GetRunnerProperty(RunnerProperty::PERCEIVED_WIDTH); + this->targetPercievedWidth = LabeledSlider("Focal Width", 0.0, 1000.0, 0.1, realFocalWidth); + imageConstantsPanel.Pack_start(this->targetPercievedWidth.GetWidget(), true, true, 0); + + distancePanel.Pack_start(imageConstantsPanel.GetWidget(), true, true, 0); + + Panel errorCorrectionPanel = Panel(true, 0); + double realCalibratedDistance = runner.GetRunnerProperty(RunnerProperty::CALIBRATED_DISTANCE); + this->targetCalibratedDistance = LabeledSlider("Calibrated Distance (inches)", 6.0, 240.0, 0.1, realCalibratedDistance); + errorCorrectionPanel.Pack_start(this->targetCalibratedDistance.GetWidget(), true, true, 0); + + double realErrorCorrection = runner.GetRunnerProperty(RunnerProperty::ERROR_CORRECTION); + this->targetErrorCorrection = LabeledSlider("Error Correction", -3.0, 3.0, 0.01, realErrorCorrection); + errorCorrectionPanel.Pack_start(this->targetErrorCorrection.GetWidget(), true, true, 0); + + distancePanel.Pack_start(errorCorrectionPanel.GetWidget(), true, true, 0); + editor.Pack_start(distancePanel.GetWidget(), true, true, 0); + + this->runnereditor = editor.GetWidget(); +} + +/** + * Updates the editor and performs important stuff + */ +void RunnerEditor::Update(int targetDistance) { + std::string distanceValueString = (targetDistance < 0 ? "(no target!)" : std::to_string(targetDistance)); + this->distanceLabel.SetText("Target Distance: " + distanceValueString); +} + +/** + * Returns the value of the property associated with prop. + */ +double RunnerEditor::GetProperty(RunnerProperty prop) { + switch(prop) { + case RunnerProperty::OFFSET_X: + return this->offsetX.GetValue(); + case RunnerProperty::OFFSET_Y: + return this->offsetY.GetValue(); + case RunnerProperty::IMAGE_WIDTH: + return this->imageWidth.GetValue(); + case RunnerProperty::IMAGE_HEIGHT: + return this->imageHeight.GetValue(); + case RunnerProperty::TRUE_WIDTH: + return this->targetTrueWidth.GetValue(); + case RunnerProperty::PERCEIVED_WIDTH: + return this->targetPercievedWidth.GetValue(); + case RunnerProperty::CALIBRATED_DISTANCE: + return this->targetCalibratedDistance.GetValue(); + case RunnerProperty::ERROR_CORRECTION: + return this->targetErrorCorrection.GetValue(); + } +} + +/** + * Sets the value of prop to value. + */ +void RunnerEditor::SetProperty(RunnerProperty prop, double value) { + switch(prop) { + case RunnerProperty::OFFSET_X: + this->offsetX.SetValue(value); + break; + case RunnerProperty::OFFSET_Y: + this->offsetY.SetValue(value); + break; + case RunnerProperty::IMAGE_WIDTH: + this->imageWidth.SetValue(value); + break; + case RunnerProperty::IMAGE_HEIGHT: + this->imageHeight.SetValue(value); + break; + case RunnerProperty::TRUE_WIDTH: + this->targetTrueWidth.SetValue(value); + break; + case RunnerProperty::PERCEIVED_WIDTH: + this->targetPercievedWidth.SetValue(value); + break; + case RunnerProperty::CALIBRATED_DISTANCE: + this->targetCalibratedDistance.SetValue(value); + break; + case RunnerProperty::ERROR_CORRECTION: + this->targetErrorCorrection.SetValue(value); + break; + } +} + + +std::string RunnerEditor::GetUDPAddr() { + return this->udpAddress.GetText(); +} + + +int RunnerEditor::GetUDPPort() { + return (int) this->udpPort.GetValue(); +} + + +void RunnerEditor::SetUDPAddr(std::string newAddr) { + this->udpAddress.SetText(newAddr); +} + + +void RunnerEditor::SetUDPPort(int newPort) { + this->udpPort.SetValue((double) newPort); +} + + +void RunnerEditor::SetUDPEnabledLabels(bool UDPEnabled) { + this->enableUDP.SetText((UDPEnabled ? "Disable" : "Enable")); +} + +void RunnerEditor::SetName(std::string name) { + gtk_widget_set_name(this->runnereditor, name.c_str()); +} diff --git a/KiwiLight - Vision Code/ui/Scrollable.cpp b/KiwiLight - Vision Code/ui/Scrollable.cpp index 6f6a25f..237123c 100644 --- a/KiwiLight - Vision Code/ui/Scrollable.cpp +++ b/KiwiLight - Vision Code/ui/Scrollable.cpp @@ -1,28 +1,28 @@ -#include "UI.h" - -/** - * Source file for the Scrollable class. - * Written By: Brach Knutson - */ - -using namespace KiwiLight; - - -Scrollable::Scrollable(bool horizontal, bool vertical) { - this->scrollable = gtk_scrolled_window_new(NULL, NULL); - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(this->scrollable), - (horizontal ? GTK_POLICY_AUTOMATIC : GTK_POLICY_NEVER), - (vertical? GTK_POLICY_AUTOMATIC : GTK_POLICY_NEVER)); - - gtk_container_set_border_width(GTK_CONTAINER(this->scrollable), 5); -} - - -void Scrollable::PackWidget(GtkWidget *wid) { - gtk_container_add(GTK_CONTAINER(this->scrollable), wid); -} - - -void Scrollable::SetName(std::string name) { - gtk_widget_set_name(this->scrollable, name.c_str()); +#include "UI.h" + +/** + * Source file for the Scrollable class. + * Written By: Brach Knutson + */ + +using namespace KiwiLight; + + +Scrollable::Scrollable(bool horizontal, bool vertical) { + this->scrollable = gtk_scrolled_window_new(NULL, NULL); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(this->scrollable), + (horizontal ? GTK_POLICY_AUTOMATIC : GTK_POLICY_NEVER), + (vertical? GTK_POLICY_AUTOMATIC : GTK_POLICY_NEVER)); + + gtk_container_set_border_width(GTK_CONTAINER(this->scrollable), 5); +} + + +void Scrollable::PackWidget(GtkWidget *wid) { + gtk_container_add(GTK_CONTAINER(this->scrollable), wid); +} + + +void Scrollable::SetName(std::string name) { + gtk_widget_set_name(this->scrollable, name.c_str()); } \ No newline at end of file diff --git a/KiwiLight - Vision Code/ui/Separator.cpp b/KiwiLight - Vision Code/ui/Separator.cpp index 8e4b3f6..dd7148b 100644 --- a/KiwiLight - Vision Code/ui/Separator.cpp +++ b/KiwiLight - Vision Code/ui/Separator.cpp @@ -1,24 +1,24 @@ -#include "UI.h" - -/** - * Source file for the UI Separator class. - * Written By: Brach Knutson - */ - - -using namespace KiwiLight; - -/** - * Creates a new Separator. - */ -Separator::Separator(bool horizontal) { - if(horizontal) - this->separator = gtk_separator_new(GTK_ORIENTATION_HORIZONTAL); - else - this->separator = gtk_separator_new(GTK_ORIENTATION_VERTICAL); -} - - -void Separator::SetName(std::string name) { - gtk_widget_set_name(this->separator, name.c_str()); +#include "UI.h" + +/** + * Source file for the UI Separator class. + * Written By: Brach Knutson + */ + + +using namespace KiwiLight; + +/** + * Creates a new Separator. + */ +Separator::Separator(bool horizontal) { + if(horizontal) + this->separator = gtk_separator_new(GTK_ORIENTATION_HORIZONTAL); + else + this->separator = gtk_separator_new(GTK_ORIENTATION_VERTICAL); +} + + +void Separator::SetName(std::string name) { + gtk_widget_set_name(this->separator, name.c_str()); } \ No newline at end of file diff --git a/KiwiLight - Vision Code/ui/Settings.cpp b/KiwiLight - Vision Code/ui/Settings.cpp index c4fee2c..519acad 100644 --- a/KiwiLight - Vision Code/ui/Settings.cpp +++ b/KiwiLight - Vision Code/ui/Settings.cpp @@ -1,168 +1,168 @@ -#include "../KiwiLight.h" - -/** - * Source file for the Settings class - * Written By: Brach Knutson - */ - - -using namespace KiwiLight; - -/** - * Create a new Settings menu. - */ -Settings::Settings(XMLDocument doc) { - - std::vector docSettings = - doc.GetTagsByName("camera")[0] - .GetTagsByName("settings")[0] - .GetTagsByName("setting"); - - Panel editor = Panel(false, 0); - - //camera index - Panel cameraIndexPanel = Panel(true, 0); - Label cameraIndexHeader = Label("Camera Index: "); - cameraIndexPanel.Pack_start(cameraIndexHeader.GetWidget(), true, true, 0); - - int realCameraIndex = std::stoi(doc.GetTagsByName("camera")[0].GetAttributesByName("index")[0].Value()); - this->cameraIndex = NumberBox(0.0, 10.0, 1.0, realCameraIndex); - cameraIndexPanel.Pack_start(this->cameraIndex.GetWidget(), true, true, 0); - editor.Pack_start(cameraIndexPanel.GetWidget(), true, true, 0); - - //resolution area - Label resolutionHeader = Label("Resolution"); - resolutionHeader.SetName("subHeader"); - editor.Pack_start(resolutionHeader.GetWidget(), true, true, 0); - - //frame width - int realFrameWidth = std::stoi(Util::SearchCameraSettingsByID(docSettings, CAP_PROP_FRAME_WIDTH).Content()); - CameraSetting frameWidth = CameraSetting("Width: ", CAP_PROP_FRAME_WIDTH, 100, 2000, realFrameWidth); - this->settings.push_back(frameWidth); - editor.Pack_start(frameWidth.GetWidget(), true, true, 0); - - //frame height - int realFrameHeight = std::stoi(Util::SearchCameraSettingsByID(docSettings, CAP_PROP_FRAME_HEIGHT).Content()); - CameraSetting frameHeight = CameraSetting("Height: ", CAP_PROP_FRAME_HEIGHT, 100, 2000, realFrameHeight); - this->settings.push_back(frameHeight); - editor.Pack_start(frameHeight.GetWidget(), true, true, 0); - - Label resolutionNote = Label( - "NOTE: Some resolutions may not be supported by your camera!" - ); - editor.Pack_start(resolutionNote.GetWidget(), true, true, 0); - - Separator hsep = Separator(true); - editor.Pack_start(hsep.GetWidget(), true, true, 0); - - Label settingsHeader = Label("Other Settings"); - editor.Pack_start(settingsHeader.GetWidget(), true, true, 0); - - //exposure auto - double realExposureAuto = std::stod(Util::SearchCameraSettingsByID(docSettings, CAP_PROP_AUTO_EXPOSURE).Content()); - CameraSetting autoExposure = CameraSetting("Auto Exposure: ", CAP_PROP_AUTO_EXPOSURE, 0, 1, realExposureAuto); - this->settings.push_back(autoExposure); - editor.Pack_start(autoExposure.GetWidget(), true, true, 0); - - //exposure - double realExposure = std::stod(Util::SearchCameraSettingsByID(docSettings, CAP_PROP_EXPOSURE).Content()); - CameraSetting exposure = CameraSetting("Exposure: ", CAP_PROP_EXPOSURE, -1, 1, realExposure); - this->settings.push_back(exposure); - editor.Pack_start(exposure.GetWidget(), true, true, 0); - - //white balance auto - double realWhiteBalanceAuto = std::stod(Util::SearchCameraSettingsByID(docSettings, CAP_PROP_AUTO_WB).Content()); - CameraSetting autoWB = CameraSetting("Auto White Balance: ", CAP_PROP_AUTO_WB, 0, 1, realWhiteBalanceAuto); - this->settings.push_back(autoWB); - editor.Pack_start(autoWB.GetWidget(), true, true, 0); - - //white balance - double realWhiteBalance = std::stod(Util::SearchCameraSettingsByID(docSettings, CAP_PROP_WB_TEMPERATURE).Content()); - CameraSetting WB = CameraSetting("White Balance: ", CAP_PROP_WB_TEMPERATURE, -1, 1, realWhiteBalance); - this->settings.push_back(WB); - editor.Pack_start(WB.GetWidget(), true, true, 0); - - //brightness - double realBrightness = std::stod(Util::SearchCameraSettingsByID(docSettings, CAP_PROP_BRIGHTNESS).Content()); - CameraSetting brightness = CameraSetting("Brightness: ", CAP_PROP_BRIGHTNESS, -1, 1, realBrightness); - this->settings.push_back(brightness); - editor.Pack_start(brightness.GetWidget(), true, true, 0); - - //the apply button - Button apply = Button("Apply", KiwiLightApp::EditorApplyCameraSettings); - editor.Pack_start(apply.GetWidget(), true, true, 0); - - this->settingsWidget = editor.GetWidget(); -} - -void Settings::Update() { - -} - - -/** - * Returns an XMLTag containing information describing the settings' values. - */ -XMLTag Settings::GetFinishedTag() { - XMLTag settingsTag = XMLTag("settings"); - for(int i=0; isettings.size(); i++) { - XMLTag newSetting = XMLTag("setting", std::to_string(this->settings[i].GetValue())); - //add the name attribute - XMLTagAttribute settingAttr = XMLTagAttribute("id", std::to_string(this->settings[i].GetValueName())); - newSetting.AddAttribute(settingAttr); - - settingsTag.AddTag(newSetting); - } - - return settingsTag; -} - -/** - * Finds the setting with the given ID and sets its value. - */ -void Settings::SetSettingValueFromID(int id, double value) { - for(int i=0; isettings.size(); i++) { - if(this->settings[i].GetValueName() == id) { - this->settings[i].SetValue(value); - } - } -} - - -/** - * Finds the setting with the given ID and returns it's value, or -1.0 if none found. - */ -double Settings::GetSettingValueFromID(int id) { - for(int i=0; isettings.size(); i++) { - if(this->settings[i].GetValueName() == id) { - return this->settings[i].GetValue(); - } - } - - return -1; -} - - -void Settings::SetCameraIndex(int index) { - this->cameraIndex.SetValue((double) index); -} - - -int Settings::GetCameraIndex() { - return this->cameraIndex.GetValue(); -} - - -std::vector Settings::GetSettingIDs() { - std::vector ids; - for(int i=0; isettings.size(); i++) { - ids.push_back(this->settings[i].GetValueName()); - } - - return ids; -} - - -void Settings::SetName(std::string name) { - gtk_widget_set_name(this->settingsWidget, name.c_str()); -} +#include "../KiwiLight.h" + +/** + * Source file for the Settings class + * Written By: Brach Knutson + */ + + +using namespace KiwiLight; + +/** + * Create a new Settings menu. + */ +Settings::Settings(XMLDocument doc) { + + std::vector docSettings = + doc.GetTagsByName("camera")[0] + .GetTagsByName("settings")[0] + .GetTagsByName("setting"); + + Panel editor = Panel(false, 0); + + //camera index + Panel cameraIndexPanel = Panel(true, 0); + Label cameraIndexHeader = Label("Camera Index: "); + cameraIndexPanel.Pack_start(cameraIndexHeader.GetWidget(), true, true, 0); + + int realCameraIndex = std::stoi(doc.GetTagsByName("camera")[0].GetAttributesByName("index")[0].Value()); + this->cameraIndex = NumberBox(0.0, 10.0, 1.0, realCameraIndex); + cameraIndexPanel.Pack_start(this->cameraIndex.GetWidget(), true, true, 0); + editor.Pack_start(cameraIndexPanel.GetWidget(), true, true, 0); + + //resolution area + Label resolutionHeader = Label("Resolution"); + resolutionHeader.SetName("subHeader"); + editor.Pack_start(resolutionHeader.GetWidget(), true, true, 0); + + //frame width + int realFrameWidth = std::stoi(Util::SearchCameraSettingsByID(docSettings, CAP_PROP_FRAME_WIDTH).Content()); + CameraSetting frameWidth = CameraSetting("Width: ", CAP_PROP_FRAME_WIDTH, 100, 2000, realFrameWidth); + this->settings.push_back(frameWidth); + editor.Pack_start(frameWidth.GetWidget(), true, true, 0); + + //frame height + int realFrameHeight = std::stoi(Util::SearchCameraSettingsByID(docSettings, CAP_PROP_FRAME_HEIGHT).Content()); + CameraSetting frameHeight = CameraSetting("Height: ", CAP_PROP_FRAME_HEIGHT, 100, 2000, realFrameHeight); + this->settings.push_back(frameHeight); + editor.Pack_start(frameHeight.GetWidget(), true, true, 0); + + Label resolutionNote = Label( + "NOTE: Some resolutions may not be supported by your camera!" + ); + editor.Pack_start(resolutionNote.GetWidget(), true, true, 0); + + Separator hsep = Separator(true); + editor.Pack_start(hsep.GetWidget(), true, true, 0); + + Label settingsHeader = Label("Other Settings"); + editor.Pack_start(settingsHeader.GetWidget(), true, true, 0); + + //exposure auto + double realExposureAuto = std::stod(Util::SearchCameraSettingsByID(docSettings, CAP_PROP_AUTO_EXPOSURE).Content()); + CameraSetting autoExposure = CameraSetting("Auto Exposure: ", CAP_PROP_AUTO_EXPOSURE, 0, 1, realExposureAuto); + this->settings.push_back(autoExposure); + editor.Pack_start(autoExposure.GetWidget(), true, true, 0); + + //exposure + double realExposure = std::stod(Util::SearchCameraSettingsByID(docSettings, CAP_PROP_EXPOSURE).Content()); + CameraSetting exposure = CameraSetting("Exposure: ", CAP_PROP_EXPOSURE, -1, 1, realExposure); + this->settings.push_back(exposure); + editor.Pack_start(exposure.GetWidget(), true, true, 0); + + //white balance auto + double realWhiteBalanceAuto = std::stod(Util::SearchCameraSettingsByID(docSettings, CAP_PROP_AUTO_WB).Content()); + CameraSetting autoWB = CameraSetting("Auto White Balance: ", CAP_PROP_AUTO_WB, 0, 1, realWhiteBalanceAuto); + this->settings.push_back(autoWB); + editor.Pack_start(autoWB.GetWidget(), true, true, 0); + + //white balance + double realWhiteBalance = std::stod(Util::SearchCameraSettingsByID(docSettings, CAP_PROP_WB_TEMPERATURE).Content()); + CameraSetting WB = CameraSetting("White Balance: ", CAP_PROP_WB_TEMPERATURE, -1, 1, realWhiteBalance); + this->settings.push_back(WB); + editor.Pack_start(WB.GetWidget(), true, true, 0); + + //brightness + double realBrightness = std::stod(Util::SearchCameraSettingsByID(docSettings, CAP_PROP_BRIGHTNESS).Content()); + CameraSetting brightness = CameraSetting("Brightness: ", CAP_PROP_BRIGHTNESS, -1, 1, realBrightness); + this->settings.push_back(brightness); + editor.Pack_start(brightness.GetWidget(), true, true, 0); + + //the apply button + Button apply = Button("Apply", KiwiLightApp::EditorApplyCameraSettings); + editor.Pack_start(apply.GetWidget(), true, true, 0); + + this->settingsWidget = editor.GetWidget(); +} + +void Settings::Update() { + +} + + +/** + * Returns an XMLTag containing information describing the settings' values. + */ +XMLTag Settings::GetFinishedTag() { + XMLTag settingsTag = XMLTag("settings"); + for(int i=0; isettings.size(); i++) { + XMLTag newSetting = XMLTag("setting", std::to_string(this->settings[i].GetValue())); + //add the name attribute + XMLTagAttribute settingAttr = XMLTagAttribute("id", std::to_string(this->settings[i].GetValueName())); + newSetting.AddAttribute(settingAttr); + + settingsTag.AddTag(newSetting); + } + + return settingsTag; +} + +/** + * Finds the setting with the given ID and sets its value. + */ +void Settings::SetSettingValueFromID(int id, double value) { + for(int i=0; isettings.size(); i++) { + if(this->settings[i].GetValueName() == id) { + this->settings[i].SetValue(value); + } + } +} + + +/** + * Finds the setting with the given ID and returns it's value, or -1.0 if none found. + */ +double Settings::GetSettingValueFromID(int id) { + for(int i=0; isettings.size(); i++) { + if(this->settings[i].GetValueName() == id) { + return this->settings[i].GetValue(); + } + } + + return -1; +} + + +void Settings::SetCameraIndex(int index) { + this->cameraIndex.SetValue((double) index); +} + + +int Settings::GetCameraIndex() { + return this->cameraIndex.GetValue(); +} + + +std::vector Settings::GetSettingIDs() { + std::vector ids; + for(int i=0; isettings.size(); i++) { + ids.push_back(this->settings[i].GetValueName()); + } + + return ids; +} + + +void Settings::SetName(std::string name) { + gtk_widget_set_name(this->settingsWidget, name.c_str()); +} diff --git a/KiwiLight - Vision Code/ui/Slider.cpp b/KiwiLight - Vision Code/ui/Slider.cpp index f70faa6..d907a6f 100644 --- a/KiwiLight - Vision Code/ui/Slider.cpp +++ b/KiwiLight - Vision Code/ui/Slider.cpp @@ -1,36 +1,36 @@ -#include "UI.h" - -/** - * Source file for the Slider class. - * Written By: Brach Knutson - */ - - -using namespace KiwiLight; - -Slider::Slider(double min, double max, double step, double value) { - this->slider = gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL, min, max, step); - gtk_range_set_value(GTK_RANGE(this->slider), gdouble(value)); -} - - -Slider::Slider(bool horizontal, double min, double max, double step, double value) { - // this->slider = gtk_scale_new_with_range((horizontal ? GTK_ORIENTATION_HORIZONTAL : GTK_ORIENTATION_VERTICAL), min, max, step); - this->slider = gtk_scale_new_with_range(GTK_ORIENTATION_VERTICAL, min, max, step); - gtk_range_set_value(GTK_RANGE(this->slider), gdouble(value)); -} - - -void Slider::SetValue(double value) { - gtk_range_set_value(GTK_RANGE(this->slider), value); -} - - -double Slider::GetValue() { - return gtk_range_get_value(GTK_RANGE(this->slider)); -} - - -void Slider::SetName(std::string name) { - gtk_widget_set_name(this->slider, name.c_str()); +#include "UI.h" + +/** + * Source file for the Slider class. + * Written By: Brach Knutson + */ + + +using namespace KiwiLight; + +Slider::Slider(double min, double max, double step, double value) { + this->slider = gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL, min, max, step); + gtk_range_set_value(GTK_RANGE(this->slider), gdouble(value)); +} + + +Slider::Slider(bool horizontal, double min, double max, double step, double value) { + // this->slider = gtk_scale_new_with_range((horizontal ? GTK_ORIENTATION_HORIZONTAL : GTK_ORIENTATION_VERTICAL), min, max, step); + this->slider = gtk_scale_new_with_range(GTK_ORIENTATION_VERTICAL, min, max, step); + gtk_range_set_value(GTK_RANGE(this->slider), gdouble(value)); +} + + +void Slider::SetValue(double value) { + gtk_range_set_value(GTK_RANGE(this->slider), value); +} + + +double Slider::GetValue() { + return gtk_range_get_value(GTK_RANGE(this->slider)); +} + + +void Slider::SetName(std::string name) { + gtk_widget_set_name(this->slider, name.c_str()); } \ No newline at end of file diff --git a/KiwiLight - Vision Code/ui/Style.css b/KiwiLight - Vision Code/ui/Style.css index 3efff05..3d46a37 100644 --- a/KiwiLight - Vision Code/ui/Style.css +++ b/KiwiLight - Vision Code/ui/Style.css @@ -1,85 +1,85 @@ - -/** - * Stylesheet written for the KiwiLight UI. - * Written By: Brach Knutson - */ - -window, window * { - background-color: rgb(24, 24, 24); - color: rgb(52, 117, 22); -} - -menubar, -menubar * { - background-color: rgb(50, 50, 50); -} - -menubar label { - background-color:transparent; - color:white; -} - -window:not(dialog) button, -window:not(dialog) button * { - background-color:black; - border-radius: 0px; - border-style:solid; - border-width:5px; - border-color:black; - padding:0px; -} - -window:not(dialog) button:hover, -window:not(dialog) button:hover * { - transition: 150ms ease-out; - background-color:rgb(39, 39, 39); -} - -window:not(dialog) button:active, -window:not(dialog) button:active * { - transition: 150ms ease-out; - background-color:rgb(17, 53, 3); -} - -window:not(dialog) button:disabled { - color:rgb(7, 22, 1); -} - -scrolledwindow * { - background-color: transparent; -} - -scrollbar { - background-color: white; -} - -scale * { - background-color: rgb(39, 39, 39); - color: rgb(52, 117, 22); -} - -#mainHeader { - background-color:rgb(40, 40, 40); -} - -#mainHeader > label { - background-color:transparent; -} - -#white { - color:rgb(212, 212, 212); -} - -#header { - color:rgb(175, 175, 175); - font-size:30px; -} - -#subHeader { - color:rgb(143, 143, 143); - font-size:18px; -} - -#gray { - color:rgb(143, 143, 143); + +/** + * Stylesheet written for the KiwiLight UI. + * Written By: Brach Knutson + */ + +window, window * { + background-color: rgb(24, 24, 24); + color: rgb(52, 117, 22); +} + +menubar, +menubar * { + background-color: rgb(50, 50, 50); +} + +menubar label { + background-color:transparent; + color:white; +} + +window:not(dialog) button, +window:not(dialog) button * { + background-color:black; + border-radius: 0px; + border-style:solid; + border-width:5px; + border-color:black; + padding:0px; +} + +window:not(dialog) button:hover, +window:not(dialog) button:hover * { + transition: 150ms ease-out; + background-color:rgb(39, 39, 39); +} + +window:not(dialog) button:active, +window:not(dialog) button:active * { + transition: 150ms ease-out; + background-color:rgb(17, 53, 3); +} + +window:not(dialog) button:disabled { + color:rgb(7, 22, 1); +} + +scrolledwindow * { + background-color: transparent; +} + +scrollbar { + background-color: white; +} + +scale * { + background-color: rgb(39, 39, 39); + color: rgb(52, 117, 22); +} + +#mainHeader { + background-color:rgb(40, 40, 40); +} + +#mainHeader > label { + background-color:transparent; +} + +#white { + color:rgb(212, 212, 212); +} + +#header { + color:rgb(175, 175, 175); + font-size:30px; +} + +#subHeader { + color:rgb(143, 143, 143); + font-size:18px; +} + +#gray { + color:rgb(143, 143, 143); } \ No newline at end of file diff --git a/KiwiLight - Vision Code/ui/SubMenuItem.cpp b/KiwiLight - Vision Code/ui/SubMenuItem.cpp index 2b54ec8..70969a9 100644 --- a/KiwiLight - Vision Code/ui/SubMenuItem.cpp +++ b/KiwiLight - Vision Code/ui/SubMenuItem.cpp @@ -1,21 +1,21 @@ -#include "UI.h" - -/** - * Source file for the SubMenuItem class. - * Written By: Brach Knutson - */ - - -using namespace KiwiLight; - -/** - * Create a submenu item with the given name, when clicked, the item will call callback. - */ -SubMenuItem::SubMenuItem(std::string name, void(* callback)()) { - this->submenuitem = gtk_menu_item_new_with_label(name.c_str()); - g_signal_connect(this->submenuitem, "activate", G_CALLBACK(callback), NULL); // connect the callback to the menu item. -} - -void SubMenuItem::SetName(std::string name) { - gtk_widget_set_name(this->submenuitem, name.c_str()); +#include "UI.h" + +/** + * Source file for the SubMenuItem class. + * Written By: Brach Knutson + */ + + +using namespace KiwiLight; + +/** + * Create a submenu item with the given name, when clicked, the item will call callback. + */ +SubMenuItem::SubMenuItem(std::string name, void(* callback)()) { + this->submenuitem = gtk_menu_item_new_with_label(name.c_str()); + g_signal_connect(this->submenuitem, "activate", G_CALLBACK(callback), NULL); // connect the callback to the menu item. +} + +void SubMenuItem::SetName(std::string name) { + gtk_widget_set_name(this->submenuitem, name.c_str()); } \ No newline at end of file diff --git a/KiwiLight - Vision Code/ui/TabView.cpp b/KiwiLight - Vision Code/ui/TabView.cpp index 4888fca..212d6b1 100644 --- a/KiwiLight - Vision Code/ui/TabView.cpp +++ b/KiwiLight - Vision Code/ui/TabView.cpp @@ -1,26 +1,26 @@ -#include "UI.h" - -/** - * Source file for the TabView class. - * Written By: Brach Knutson - */ - -using namespace KiwiLight; - - -TabView::TabView(std::string tab1Name, GtkWidget *tab1Content) { - this->tabview = gtk_notebook_new(); - Label tabLabel = Label(tab1Name); - gtk_notebook_append_page(GTK_NOTEBOOK(this->tabview), tab1Content, tabLabel.GetWidget()); -} - - -void TabView::AddTab(std::string tabName, GtkWidget *tabContent) { - Label tabLabel = Label(tabName); - gtk_notebook_append_page(GTK_NOTEBOOK(this->tabview), tabContent, tabLabel.GetWidget()); -} - - -void TabView::SetName(std::string name) { - gtk_widget_set_name(this->tabview, name.c_str()); +#include "UI.h" + +/** + * Source file for the TabView class. + * Written By: Brach Knutson + */ + +using namespace KiwiLight; + + +TabView::TabView(std::string tab1Name, GtkWidget *tab1Content) { + this->tabview = gtk_notebook_new(); + Label tabLabel = Label(tab1Name); + gtk_notebook_append_page(GTK_NOTEBOOK(this->tabview), tab1Content, tabLabel.GetWidget()); +} + + +void TabView::AddTab(std::string tabName, GtkWidget *tabContent) { + Label tabLabel = Label(tabName); + gtk_notebook_append_page(GTK_NOTEBOOK(this->tabview), tabContent, tabLabel.GetWidget()); +} + + +void TabView::SetName(std::string name) { + gtk_widget_set_name(this->tabview, name.c_str()); } \ No newline at end of file diff --git a/KiwiLight - Vision Code/ui/TextBox.cpp b/KiwiLight - Vision Code/ui/TextBox.cpp index 402dc47..1b3c2fb 100644 --- a/KiwiLight - Vision Code/ui/TextBox.cpp +++ b/KiwiLight - Vision Code/ui/TextBox.cpp @@ -1,43 +1,43 @@ -#include "UI.h" - -/** - * Source file for the TextBox class. - * Written By: Brach Knutson - */ - - -using namespace KiwiLight; - -/** - * Creates a new textbox with the given text. - */ -TextBox::TextBox(std::string text) { - this->textbox = gtk_entry_new(); - gtk_entry_set_text(GTK_ENTRY(this->textbox), text.c_str()); -} - -/** - * Sets the textbox text to the given std::string. - */ -void TextBox::SetText(std::string text) { - gtk_entry_set_text(GTK_ENTRY(this->textbox), text.c_str()); -} - -/** - * Sets the alignment of the entry. 0=left, 1=right - */ -void TextBox::SetAlignment(double align) { - gtk_entry_set_alignment(GTK_ENTRY(this->textbox), gfloat(align)); -} - -/** - * Returns the text inside the textbox. - */ -std::string TextBox::GetText() { - return gtk_entry_get_text(GTK_ENTRY(this->textbox)); -} - - -void TextBox::SetName(std::string name) { - gtk_widget_set_name(this->textbox, name.c_str()); +#include "UI.h" + +/** + * Source file for the TextBox class. + * Written By: Brach Knutson + */ + + +using namespace KiwiLight; + +/** + * Creates a new textbox with the given text. + */ +TextBox::TextBox(std::string text) { + this->textbox = gtk_entry_new(); + gtk_entry_set_text(GTK_ENTRY(this->textbox), text.c_str()); +} + +/** + * Sets the textbox text to the given std::string. + */ +void TextBox::SetText(std::string text) { + gtk_entry_set_text(GTK_ENTRY(this->textbox), text.c_str()); +} + +/** + * Sets the alignment of the entry. 0=left, 1=right + */ +void TextBox::SetAlignment(double align) { + gtk_entry_set_alignment(GTK_ENTRY(this->textbox), gfloat(align)); +} + +/** + * Returns the text inside the textbox. + */ +std::string TextBox::GetText() { + return gtk_entry_get_text(GTK_ENTRY(this->textbox)); +} + + +void TextBox::SetName(std::string name) { + gtk_widget_set_name(this->textbox, name.c_str()); } \ No newline at end of file diff --git a/KiwiLight - Vision Code/ui/TroubleshootingWindow.cpp b/KiwiLight - Vision Code/ui/TroubleshootingWindow.cpp index edbb745..2c50596 100644 --- a/KiwiLight - Vision Code/ui/TroubleshootingWindow.cpp +++ b/KiwiLight - Vision Code/ui/TroubleshootingWindow.cpp @@ -1,40 +1,40 @@ -#include "Runner.h" - -/** - * Source file for the TroubleshootingWindow class. - * Written By: Brach Knutson - */ - -using namespace KiwiLight; - - -TroubleshootingWindow::TroubleshootingWindow(TroubleshootingData data[], int dataLen) { - this->window = Window(GTK_WINDOW_TOPLEVEL); - Panel content = Panel(false, 0); - Label title = Label("Troubleshoot Results"); - title.SetName("header"); - content.Pack_start(title.GetWidget(), false, false, 0); - - for(int i=0; iwindow.SetContentPane(content); - - this->troubleshootingwindow = this->window.GetWidget(); -} - - -void TroubleshootingWindow::Show() { - this->window.Show(); -} - - -void TroubleshootingWindow::SetName(std::string name) { - gtk_widget_set_name(this->troubleshootingwindow, name.c_str()); +#include "Runner.h" + +/** + * Source file for the TroubleshootingWindow class. + * Written By: Brach Knutson + */ + +using namespace KiwiLight; + + +TroubleshootingWindow::TroubleshootingWindow(TroubleshootingData data[], int dataLen) { + this->window = Window(GTK_WINDOW_TOPLEVEL); + Panel content = Panel(false, 0); + Label title = Label("Troubleshoot Results"); + title.SetName("header"); + content.Pack_start(title.GetWidget(), false, false, 0); + + for(int i=0; iwindow.SetContentPane(content); + + this->troubleshootingwindow = this->window.GetWidget(); +} + + +void TroubleshootingWindow::Show() { + this->window.Show(); +} + + +void TroubleshootingWindow::SetName(std::string name) { + gtk_widget_set_name(this->troubleshootingwindow, name.c_str()); } \ No newline at end of file diff --git a/KiwiLight - Vision Code/ui/UI.h b/KiwiLight - Vision Code/ui/UI.h index feab6f9..5835124 100644 --- a/KiwiLight - Vision Code/ui/UI.h +++ b/KiwiLight - Vision Code/ui/UI.h @@ -1,719 +1,719 @@ -#ifndef KiwiLight_UI_H -#define KiwiLight_UI_H - -#include -#include -#include -#include "../util/Util.h" -#include "../runner/Runner.h" -#include "gtk-3.0/gtk/gtk.h" -#include "opencv2/opencv.hpp" - -/** - * the main header for the UI module for KiwiLight - * Written By: Brach Knutson - */ - -using namespace cv; - -namespace KiwiLight { - - enum ImageColorspace { - RGB - }; - - /** - * Represents a generic UI widget. - */ - class Widget { - public: - virtual GtkWidget *GetWidget() = 0; - virtual void SetName(std::string name) = 0; - }; - - /** - * Represents a container. Used to organize UI objects inside a window. - */ - class Panel : public Widget { - public: - Panel() {}; - Panel(bool horizontal, int spacing); - void Pack_start(GtkWidget *widget, bool expand, bool fill, int pad); - void Pack_end(GtkWidget *widget, bool expand, bool fill, int pad); - void Show() { gtk_widget_show_all(this->panel); }; - GtkWidget *GetWidget() { return panel; }; - void SetName(std::string name); - - private: - GtkWidget *panel; - }; - - - class Scrollable : public Widget { - public: - Scrollable() {}; - Scrollable(bool horizontal, bool vertical); - void PackWidget(GtkWidget *wid); - GtkWidget *GetWidget() { return this->scrollable; }; - void SetName(std::string name); - - private: - GtkWidget *scrollable; - }; - - - class Frame : public Widget { - public: - Frame() {}; - Frame(std::string label); - void Pack(GtkWidget *widget); - void Unpack(GtkWidget *widget); - GtkWidget *GetWidget() { return this->frame; }; - void SetName(std::string name); - - private: - GtkWidget *frame; - }; - - /** - * Represents a UI window that contains a form, or what have you - */ - class Window : public Widget { - public: - Window() {}; - Window(GtkWindowType type); - Window(GtkWindowType type, bool terminateOnClose); - static void SetOnAppClosed(void(*onAppClosed)()); - void SetOnWindowClosed(void(*onWindowClosed)()); - void SetPane(Panel pane); - void Show(); - void SetSize(int w, int h); - int SetInterval(int interval, void(*method)()); - void RemoveInterval(int id); - void Main() { gtk_main(); }; - void SetCSS(std::string fileName); - GtkWidget *GetWidget() { return this->window; }; - void SetName(std::string name); - - private: - GtkWidget *window; - static void(*onAppClosed)(); - static void(*timeoutMethod)(); - static gboolean delete_event(GtkWidget *widget, GdkEvent *event, gpointer pointer); - static void Destroy(); - static gboolean timeoutCallMethod(); - }; - - /** - * Represents a label with text. - */ - class Label : public Widget { - public: - Label() {}; - Label(std::string text); - void SetText(std::string text); - std::string GetText() { return text; }; - void SetName(std::string name); - void SetLineWrap(bool enabled); - void SetJustify(int justify); - GtkWidget *GetWidget() { return this->label; }; - - static const int JUSTIFY_LEFT = 0, - JUSTIFY_RIGHT = 1, - JUSTIFY_CENTER = 2; - - private: - std::string text; - std::string font; - double font_size; - GtkWidget *label; - }; - - /** - * Represents a user-editable textbox. - */ - class TextBox : public Widget { - public: - TextBox() {}; - TextBox(std::string text); - void SetText(std::string text); - void SetAlignment(double align); - std::string GetText(); - GtkWidget *GetWidget() { return this->textbox; }; - void SetName(std::string name); - - private: - GtkWidget *textbox; - }; - - - class NumberBox : public Widget { - public: - NumberBox() {}; - NumberBox(double min, double max, double value); - NumberBox(double min, double max, double step, double value); - void SetValue(double value); - double GetValue(); - GtkWidget *GetWidget() { return this->numberBox; }; - void SetName(std::string name); - - private: - double min, - max; - - GtkWidget *numberBox; - }; - - /** - * Represents a checkbox with boolean value - */ - class CheckBox : public Widget { - public: - CheckBox() {}; - CheckBox(std::string name, bool checked); - void SetState(bool checked); - bool GetState(); - GtkWidget *GetWidget() { return this->checkbox; }; - void SetName(std::string name); - - private: - GtkWidget *checkbox; - }; - - /** - * Represents a user-editable scale widget. - */ - class Slider : public Widget { - public: - Slider() {}; - Slider(double min, double max, double step, double value); - Slider(bool horizontal, double min, double max, double step, double value); - void SetValue(double value); - double GetValue(); - GtkWidget *GetWidget() { return this->slider; }; - void SetName(std::string name); - - private: - GtkWidget *slider; - }; - - /** - * A faint line that can be placed between to objects in a container - */ - class Separator : public Widget { - public: - Separator(bool horizontal); - GtkWidget *GetWidget() { return this->separator; }; - void SetName(std::string name); - - private: - GtkWidget *separator; - }; - - /** - * Represents a button with a static method callback - */ - class Button : public Widget { - public: - Button() {}; - Button(std::string text, void(*callback)() ); - void SetText(std::string text); - std::string GetText() { return text; }; - void SetCallback( void(*callback)() ); - GtkWidget *GetWidget() { return this->button; }; - void SetName(std::string name); - - private: - std::string text; - GtkWidget *button; - }; - - /** - * A blocking dialog with "ok" and "cancel" buttons. - */ - class ConfirmationDialog : public Widget { - public: - ConfirmationDialog() {}; - ConfirmationDialog(std::string message); - void SetBody(Panel pnl); - bool ShowButDontClose(); - void ShowWithoutRunning(); - bool ShowAndGetResponse(); - void Destroy(); - GtkWidget *GetWidget() { return this->dialog; }; - void SetName(std::string name); - - private: - Panel content; - GtkWidget *dialog; - }; - - /** - * An option that would show under a menu bar item. - */ - class SubMenuItem : public Widget { - public: - SubMenuItem(std::string name, void(*callback)()); - GtkWidget *GetWidget() { return this->submenuitem; }; - void SetName(std::string name); - - private: - GtkWidget *submenuitem; - }; - - /** - * A menu item able to be seen on a menu bar(ex "file", "help", etc) - */ - class MenuItem : public Widget { - public: - MenuItem(std::string name); - void AddSubmenuItem(SubMenuItem item); - GtkWidget *GetWidget() { return this->menuitem; }; - void SetName(std::string name); - - private: - GtkWidget *menuitem; - GtkWidget *menu; - }; - - /** - * A menu bar that would show up at the top of the screen. - */ - class MenuBar : public Widget { - public: - MenuBar(); - void AddItem(MenuItem item); - GtkWidget *GetWidget() { return this->menubar; }; - void SetName(std::string name); - - private: - GtkWidget *menubar; - }; - - class Image : public Widget { - public: - Image() { this->declared = false; }; - Image(std::string fileName); - Image(ImageColorspace colorspace); - bool Declared() { return this->declared; }; - void Update(cv::Mat newImage); - GtkWidget *GetWidget() { return this->image; }; - void SetName(std::string name); - - private: - bool declared; - bool declaredAsStaticImage; - GtkWidget *image; - ImageColorspace colorspace; - - //for one time init without updates - Mat originalImage; - }; - - class FileChooser : public Widget { - public: - FileChooser() {}; - FileChooser(bool writing, std::string defaultFileName); - std::string Show(); - GtkWidget *GetWidget() { return this->filechooser; }; - void SetName(std::string name); - - private: - GtkWidget *filechooser; - }; - - - class TabView : public Widget { - public: - TabView() {}; - TabView(std::string tab1Name, GtkWidget *tab1Content); - void AddTab(std::string tabName, GtkWidget* tabContent); - GtkWidget *GetWidget() { return this->tabview; }; - void SetName(std::string name); - - private: - GtkWidget *tabview; - }; - - - class PopupTextBox : public Widget { - public: - PopupTextBox() {}; - PopupTextBox(std::string name, std::string prompt, std::string initValue); - std::string Show(); - GtkWidget *GetWidget() { return this->popuptextbox; }; - void SetName(std::string name); - - private: - GtkWidget *popuptextbox; - TextBox textbox; - }; - - class LabeledSlider : public Widget { - public: - LabeledSlider() {}; - LabeledSlider(std::string label, double min, double max, double step, double value); - LabeledSlider(bool horizontal, std::string label, double min, double max, double step, double value); - double GetValue(); - void SetValue(double value); - void SetLabel(std::string text); - GtkWidget *GetWidget() { return this->labeledslider; }; - void SetName(std::string name); - - private: - Panel panel; - Label label; - Slider slider; - GtkWidget *labeledslider; - }; - - - class AboutWindow : public Widget { - public: - AboutWindow() {}; - AboutWindow(GtkWindowType type); - void Show(); - GtkWidget *GetWidget() { return this->aboutwindow; }; - void SetName(std::string name); - - private: - Window window; - GtkWidget *aboutwindow; - }; - - - class HelpWindow : public Widget { - public: - HelpWindow() {}; - HelpWindow(GtkWindowType type); - void Show(); - GtkWidget *GetWidget() { return this->helpwindow; }; - void SetName(std::string name); - - private: - Window window; - GtkWidget *helpwindow; - }; - - - class TroubleshootingWindow : public Widget { - public: - TroubleshootingWindow() {}; - TroubleshootingWindow(TroubleshootingData data[], int dataLen); - void Show(); - GtkWidget *GetWidget() { return this->troubleshootingwindow; }; - void SetName(std::string name); - - private: - Window window; - GtkWidget *troubleshootingwindow; - }; - - /** - * A singlular widget adjusting a camera setting - */ - class CameraSetting : public Widget { - public: - CameraSetting() {}; - CameraSetting(std::string name, int valueName, double min, double max, double value); - double GetValue(); - int GetValueName(); - void SetValue(double newValue); - void Destroy(); - std::string GetName() { return name; }; - GtkWidget *GetWidget() { return this->camerasetting; }; - void SetName(std::string name); - - private: - GtkWidget *camerasetting; - - Label nameLabel; - NumberBox input; - - std::string - name, - type; - - int - valueName, - min, - max, - value; - }; - - /** - * Panel where configuration can be viewed - */ - class ConfigPanel : public Widget { - public: - ConfigPanel() {}; - ConfigPanel(std::string fileName) : ConfigPanel(XMLDocument(fileName)) {}; - ConfigPanel(XMLDocument doc); - void LoadConfig(std::string fileName); - void LoadConfig(XMLDocument file); - void Clear(); - std::string GetConfigurationName() { return this->configNameString; }; - std::string GetConfigFile() { return this->configFile; }; - GtkWidget *GetWidget() { return this->configPanel; }; - void SetName(std::string name); - - private: - Panel panel; - Label - header, - fileLabel, - PreProcessorLabel, - TargetLabel, - UDPAddressLabel, - UDPPortLabel; - - std::string - configFile, - configNameString; - - GtkWidget *configPanel; - }; - - class OverviewPanel : public Widget { - public: - OverviewPanel() {}; - OverviewPanel(XMLDocument doc); - void Update(); - void SetConfigName(std::string name); - std::string GetConfigName(); - void SetTargetInformationLabels( - bool targetSpotted, - int targetImgX, - int targetImgY, - double targetDist, - double targetHAngle, - double targetVAngle - ); - void SetCameraIndex(int index); - int GetCameraIndex(); - void SetUDPAddr(std::string addr); - std::string GetUDPAddr(); - void SetUDPPort(int port); - int GetUDPPort(); - void SetUDPEnabledLabels(bool UDPEnabled); - void SetTargetInformationLabelsFromString(std::string iterOutput); - GtkWidget *GetWidget() { return overviewpanel; }; - void SetName(std::string name); - - private: - TextBox configName; - TextBox udpAddr; - NumberBox udpPort; - NumberBox cameraIndex; - Button enableUDP; - - Label - targetSpotted, - targetImageLocation, - targetDist, - targetHAngle, - targetVAngle; - - GtkWidget *overviewpanel; - }; - - /** - * A window where camera settings can be modified. - */ - class Settings : public Widget { - public: - Settings() {}; - Settings(XMLDocument doc); - void Update(); - void UpdateValue(); - void Show() { gtk_widget_show_all(this->settingsWidget); }; - XMLTag GetFinishedTag(); - void SetSettingValueFromID(int id, double value); - double GetSettingValueFromID(int id); - void SetCameraIndex(int index); - int GetCameraIndex(); - std::vector GetSettingIDs(); - GtkWidget *GetWidget() { return settingsWidget; }; - void SetName(std::string name); - - private: - NumberBox cameraIndex; - std::vector settings; - GtkWidget *settingsWidget; - }; - - - class PreprocessorEditor : public Widget { - public: - PreprocessorEditor() {}; - PreprocessorEditor(PreProcessor preprocessor); - void Update(); - double GetProperty(PreProcessorProperty prop); - void SetProperty(PreProcessorProperty prop, double value); - GtkWidget *GetWidget() { return this->preprocessoreditor; }; - void SetName(std::string name); - - private: - bool lastIsFull; - CheckBox - isFull, - isPartial; - - NumberBox - colorH, - colorS, - colorV; - - Image colorPreview; - - LabeledSlider - colorError, - threshold, - erosion, - dilation; - - GtkWidget *preprocessoreditor; - }; - - - class PostprocessorEditor : public Widget { - public: - PostprocessorEditor() {}; - PostprocessorEditor(PostProcessor postprocessor); - void Update(); - int GetNumContours(); - void SetNumContours(int contours); - SettingPair GetProperty(int contour, TargetProperty prop); - void SetProperty(int contour, TargetProperty prop, SettingPair value); - GtkWidget *GetWidget() { return this->postprocessoreditor; }; - void SetName(std::string name); - - private: - int lastDesiredContour; - - NumberBox - contourchooser, - distX, - distY; - - LabeledSlider - distXErr, - distYErr, - angle, - angleErr, - ar, - arErr, - solidity, - solidityErr, - minimumArea; - - Label totalContours; - - Runner storageRunner; - - GtkWidget *postprocessoreditor; - }; - - - class RunnerEditor : public Widget { - public: - RunnerEditor() {}; - RunnerEditor(Runner runner); - void Update(int targetDistance); - double GetProperty(RunnerProperty prop); - void SetProperty(RunnerProperty prop, double value); - std::string GetUDPAddr(); - int GetUDPPort(); - void SetUDPAddr(std::string newAddr); - void SetUDPPort(int newPort); - void SetUDPEnabledLabels(bool UDPEnabled); - GtkWidget *GetWidget() { return this->runnereditor; }; - void SetName(std::string name); - - private: - Label distanceLabel; - - TextBox udpAddress; - NumberBox udpPort; - - Button enableUDP; - - LabeledSlider - offsetX, - offsetY, - imageWidth, - imageHeight, - targetTrueWidth, - targetPercievedWidth, - targetCalibratedDistance, - targetErrorCorrection; - - GtkWidget *runnereditor; - }; - - class ConfigEditor : public Widget { - public: - ConfigEditor() {}; - ConfigEditor(std::string fileName); - void Update(); - bool UpdateImageOnly(); - std::string GetLastFrameResult(); - void Save(); - void Close(); - void StartLearningTarget(); - void StartLearningDistance(); - void ReconnectUDPFromEditor(); - void SetUDPEnabledLabels(bool UDPEnabled); - void ApplyCameraSettings(); - void SetCameraIndexBoxes(int index); - void ReconnectUDPFromOverview(); - void OpenNewCameraFromOverview(); - std::string GetFileName() { return this->fileName; }; - cv::Mat GetOutputImage() { return this->out; }; - GtkWidget *GetWidget() { return this->configeditor; }; - void SetName(std::string name); - - private: - void UpdateImage(); - - //universal config learning utility - ConfigLearner learner; - bool learnerActivated; - - //universal focal width learning utility - TargetDistanceLearner distanceLearner; - bool distanceLearnerRunning; - - TargetTroubleshooter troubleshooter; - - Label serviceMonitor; - Label serviceLabel; - - //runtime things - Runner runner; - XMLDocument currentDoc; - std::string - fileName, - confName; - - std::string lastIterationResult; - - TabView tabs; - OverviewPanel configOverview; - Settings cameraSettings; - PreprocessorEditor preprocessorSettings; - PostprocessorEditor postprocessorSettings; - RunnerEditor runnerSettings; - - cv::Mat out, - original; - Image outputImage; - - Window window; - Panel content; - - GtkWidget *configeditor; - }; -} - -#endif +#ifndef KiwiLight_UI_H +#define KiwiLight_UI_H + +#include +#include +#include +#include "../util/Util.h" +#include "../runner/Runner.h" +#include "gtk-3.0/gtk/gtk.h" +#include "opencv2/opencv.hpp" + +/** + * the main header for the UI module for KiwiLight + * Written By: Brach Knutson + */ + +using namespace cv; + +namespace KiwiLight { + + enum ImageColorspace { + RGB + }; + + /** + * Represents a generic UI widget. + */ + class Widget { + public: + virtual GtkWidget *GetWidget() = 0; + virtual void SetName(std::string name) = 0; + }; + + /** + * Represents a container. Used to organize UI objects inside a window. + */ + class Panel : public Widget { + public: + Panel() {}; + Panel(bool horizontal, int spacing); + void Pack_start(GtkWidget *widget, bool expand, bool fill, int pad); + void Pack_end(GtkWidget *widget, bool expand, bool fill, int pad); + void Show() { gtk_widget_show_all(this->panel); }; + GtkWidget *GetWidget() { return panel; }; + void SetName(std::string name); + + private: + GtkWidget *panel; + }; + + + class Scrollable : public Widget { + public: + Scrollable() {}; + Scrollable(bool horizontal, bool vertical); + void PackWidget(GtkWidget *wid); + GtkWidget *GetWidget() { return this->scrollable; }; + void SetName(std::string name); + + private: + GtkWidget *scrollable; + }; + + + class Frame : public Widget { + public: + Frame() {}; + Frame(std::string label); + void Pack(GtkWidget *widget); + void Unpack(GtkWidget *widget); + GtkWidget *GetWidget() { return this->frame; }; + void SetName(std::string name); + + private: + GtkWidget *frame; + }; + + /** + * Represents a UI window that contains a form, or what have you + */ + class Window : public Widget { + public: + Window() {}; + Window(GtkWindowType type); + Window(GtkWindowType type, bool terminateOnClose); + static void SetOnAppClosed(void(*onAppClosed)()); + void SetOnWindowClosed(void(*onWindowClosed)()); + void SetPane(Panel pane); + void Show(); + void SetSize(int w, int h); + int SetInterval(int interval, void(*method)()); + void RemoveInterval(int id); + void Main() { gtk_main(); }; + void SetCSS(std::string fileName); + GtkWidget *GetWidget() { return this->window; }; + void SetName(std::string name); + + private: + GtkWidget *window; + static void(*onAppClosed)(); + static void(*timeoutMethod)(); + static gboolean delete_event(GtkWidget *widget, GdkEvent *event, gpointer pointer); + static void Destroy(); + static gboolean timeoutCallMethod(); + }; + + /** + * Represents a label with text. + */ + class Label : public Widget { + public: + Label() {}; + Label(std::string text); + void SetText(std::string text); + std::string GetText() { return text; }; + void SetName(std::string name); + void SetLineWrap(bool enabled); + void SetJustify(int justify); + GtkWidget *GetWidget() { return this->label; }; + + static const int JUSTIFY_LEFT = 0, + JUSTIFY_RIGHT = 1, + JUSTIFY_CENTER = 2; + + private: + std::string text; + std::string font; + double font_size; + GtkWidget *label; + }; + + /** + * Represents a user-editable textbox. + */ + class TextBox : public Widget { + public: + TextBox() {}; + TextBox(std::string text); + void SetText(std::string text); + void SetAlignment(double align); + std::string GetText(); + GtkWidget *GetWidget() { return this->textbox; }; + void SetName(std::string name); + + private: + GtkWidget *textbox; + }; + + + class NumberBox : public Widget { + public: + NumberBox() {}; + NumberBox(double min, double max, double value); + NumberBox(double min, double max, double step, double value); + void SetValue(double value); + double GetValue(); + GtkWidget *GetWidget() { return this->numberBox; }; + void SetName(std::string name); + + private: + double min, + max; + + GtkWidget *numberBox; + }; + + /** + * Represents a checkbox with boolean value + */ + class CheckBox : public Widget { + public: + CheckBox() {}; + CheckBox(std::string name, bool checked); + void SetState(bool checked); + bool GetState(); + GtkWidget *GetWidget() { return this->checkbox; }; + void SetName(std::string name); + + private: + GtkWidget *checkbox; + }; + + /** + * Represents a user-editable scale widget. + */ + class Slider : public Widget { + public: + Slider() {}; + Slider(double min, double max, double step, double value); + Slider(bool horizontal, double min, double max, double step, double value); + void SetValue(double value); + double GetValue(); + GtkWidget *GetWidget() { return this->slider; }; + void SetName(std::string name); + + private: + GtkWidget *slider; + }; + + /** + * A faint line that can be placed between to objects in a container + */ + class Separator : public Widget { + public: + Separator(bool horizontal); + GtkWidget *GetWidget() { return this->separator; }; + void SetName(std::string name); + + private: + GtkWidget *separator; + }; + + /** + * Represents a button with a static method callback + */ + class Button : public Widget { + public: + Button() {}; + Button(std::string text, void(*callback)() ); + void SetText(std::string text); + std::string GetText() { return text; }; + void SetCallback( void(*callback)() ); + GtkWidget *GetWidget() { return this->button; }; + void SetName(std::string name); + + private: + std::string text; + GtkWidget *button; + }; + + /** + * A blocking dialog with "ok" and "cancel" buttons. + */ + class ConfirmationDialog : public Widget { + public: + ConfirmationDialog() {}; + ConfirmationDialog(std::string message); + void SetBody(Panel pnl); + bool ShowButDontClose(); + void ShowWithoutRunning(); + bool ShowAndGetResponse(); + void Destroy(); + GtkWidget *GetWidget() { return this->dialog; }; + void SetName(std::string name); + + private: + Panel content; + GtkWidget *dialog; + }; + + /** + * An option that would show under a menu bar item. + */ + class SubMenuItem : public Widget { + public: + SubMenuItem(std::string name, void(*callback)()); + GtkWidget *GetWidget() { return this->submenuitem; }; + void SetName(std::string name); + + private: + GtkWidget *submenuitem; + }; + + /** + * A menu item able to be seen on a menu bar(ex "file", "help", etc) + */ + class MenuItem : public Widget { + public: + MenuItem(std::string name); + void AddSubmenuItem(SubMenuItem item); + GtkWidget *GetWidget() { return this->menuitem; }; + void SetName(std::string name); + + private: + GtkWidget *menuitem; + GtkWidget *menu; + }; + + /** + * A menu bar that would show up at the top of the screen. + */ + class MenuBar : public Widget { + public: + MenuBar(); + void AddItem(MenuItem item); + GtkWidget *GetWidget() { return this->menubar; }; + void SetName(std::string name); + + private: + GtkWidget *menubar; + }; + + class Image : public Widget { + public: + Image() { this->declared = false; }; + Image(std::string fileName); + Image(ImageColorspace colorspace); + bool Declared() { return this->declared; }; + void Update(cv::Mat newImage); + GtkWidget *GetWidget() { return this->image; }; + void SetName(std::string name); + + private: + bool declared; + bool declaredAsStaticImage; + GtkWidget *image; + ImageColorspace colorspace; + + //for one time init without updates + Mat originalImage; + }; + + class FileChooser : public Widget { + public: + FileChooser() {}; + FileChooser(bool writing, std::string defaultFileName); + std::string Show(); + GtkWidget *GetWidget() { return this->filechooser; }; + void SetName(std::string name); + + private: + GtkWidget *filechooser; + }; + + + class TabView : public Widget { + public: + TabView() {}; + TabView(std::string tab1Name, GtkWidget *tab1Content); + void AddTab(std::string tabName, GtkWidget* tabContent); + GtkWidget *GetWidget() { return this->tabview; }; + void SetName(std::string name); + + private: + GtkWidget *tabview; + }; + + + class PopupTextBox : public Widget { + public: + PopupTextBox() {}; + PopupTextBox(std::string name, std::string prompt, std::string initValue); + std::string Show(); + GtkWidget *GetWidget() { return this->popuptextbox; }; + void SetName(std::string name); + + private: + GtkWidget *popuptextbox; + TextBox textbox; + }; + + class LabeledSlider : public Widget { + public: + LabeledSlider() {}; + LabeledSlider(std::string label, double min, double max, double step, double value); + LabeledSlider(bool horizontal, std::string label, double min, double max, double step, double value); + double GetValue(); + void SetValue(double value); + void SetLabel(std::string text); + GtkWidget *GetWidget() { return this->labeledslider; }; + void SetName(std::string name); + + private: + Panel panel; + Label label; + Slider slider; + GtkWidget *labeledslider; + }; + + + class AboutWindow : public Widget { + public: + AboutWindow() {}; + AboutWindow(GtkWindowType type); + void Show(); + GtkWidget *GetWidget() { return this->aboutwindow; }; + void SetName(std::string name); + + private: + Window window; + GtkWidget *aboutwindow; + }; + + + class HelpWindow : public Widget { + public: + HelpWindow() {}; + HelpWindow(GtkWindowType type); + void Show(); + GtkWidget *GetWidget() { return this->helpwindow; }; + void SetName(std::string name); + + private: + Window window; + GtkWidget *helpwindow; + }; + + + class TroubleshootingWindow : public Widget { + public: + TroubleshootingWindow() {}; + TroubleshootingWindow(TroubleshootingData data[], int dataLen); + void Show(); + GtkWidget *GetWidget() { return this->troubleshootingwindow; }; + void SetName(std::string name); + + private: + Window window; + GtkWidget *troubleshootingwindow; + }; + + /** + * A singlular widget adjusting a camera setting + */ + class CameraSetting : public Widget { + public: + CameraSetting() {}; + CameraSetting(std::string name, int valueName, double min, double max, double value); + double GetValue(); + int GetValueName(); + void SetValue(double newValue); + void Destroy(); + std::string GetName() { return name; }; + GtkWidget *GetWidget() { return this->camerasetting; }; + void SetName(std::string name); + + private: + GtkWidget *camerasetting; + + Label nameLabel; + NumberBox input; + + std::string + name, + type; + + int + valueName, + min, + max, + value; + }; + + /** + * Panel where configuration can be viewed + */ + class ConfigPanel : public Widget { + public: + ConfigPanel() {}; + ConfigPanel(std::string fileName) : ConfigPanel(XMLDocument(fileName)) {}; + ConfigPanel(XMLDocument doc); + void LoadConfig(std::string fileName); + void LoadConfig(XMLDocument file); + void Clear(); + std::string GetConfigurationName() { return this->configNameString; }; + std::string GetConfigFile() { return this->configFile; }; + GtkWidget *GetWidget() { return this->configPanel; }; + void SetName(std::string name); + + private: + Panel panel; + Label + header, + fileLabel, + PreProcessorLabel, + TargetLabel, + UDPAddressLabel, + UDPPortLabel; + + std::string + configFile, + configNameString; + + GtkWidget *configPanel; + }; + + class OverviewPanel : public Widget { + public: + OverviewPanel() {}; + OverviewPanel(XMLDocument doc); + void Update(); + void SetConfigName(std::string name); + std::string GetConfigName(); + void SetTargetInformationLabels( + bool targetSpotted, + int targetImgX, + int targetImgY, + double targetDist, + double targetHAngle, + double targetVAngle + ); + void SetCameraIndex(int index); + int GetCameraIndex(); + void SetUDPAddr(std::string addr); + std::string GetUDPAddr(); + void SetUDPPort(int port); + int GetUDPPort(); + void SetUDPEnabledLabels(bool UDPEnabled); + void SetTargetInformationLabelsFromString(std::string iterOutput); + GtkWidget *GetWidget() { return overviewpanel; }; + void SetName(std::string name); + + private: + TextBox configName; + TextBox udpAddr; + NumberBox udpPort; + NumberBox cameraIndex; + Button enableUDP; + + Label + targetSpotted, + targetImageLocation, + targetDist, + targetHAngle, + targetVAngle; + + GtkWidget *overviewpanel; + }; + + /** + * A window where camera settings can be modified. + */ + class Settings : public Widget { + public: + Settings() {}; + Settings(XMLDocument doc); + void Update(); + void UpdateValue(); + void Show() { gtk_widget_show_all(this->settingsWidget); }; + XMLTag GetFinishedTag(); + void SetSettingValueFromID(int id, double value); + double GetSettingValueFromID(int id); + void SetCameraIndex(int index); + int GetCameraIndex(); + std::vector GetSettingIDs(); + GtkWidget *GetWidget() { return settingsWidget; }; + void SetName(std::string name); + + private: + NumberBox cameraIndex; + std::vector settings; + GtkWidget *settingsWidget; + }; + + + class PreprocessorEditor : public Widget { + public: + PreprocessorEditor() {}; + PreprocessorEditor(PreProcessor preprocessor); + void Update(); + double GetProperty(PreProcessorProperty prop); + void SetProperty(PreProcessorProperty prop, double value); + GtkWidget *GetWidget() { return this->preprocessoreditor; }; + void SetName(std::string name); + + private: + bool lastIsFull; + CheckBox + isFull, + isPartial; + + NumberBox + colorH, + colorS, + colorV; + + Image colorPreview; + + LabeledSlider + colorError, + threshold, + erosion, + dilation; + + GtkWidget *preprocessoreditor; + }; + + + class PostprocessorEditor : public Widget { + public: + PostprocessorEditor() {}; + PostprocessorEditor(PostProcessor postprocessor); + void Update(); + int GetNumContours(); + void SetNumContours(int contours); + SettingPair GetProperty(int contour, TargetProperty prop); + void SetProperty(int contour, TargetProperty prop, SettingPair value); + GtkWidget *GetWidget() { return this->postprocessoreditor; }; + void SetName(std::string name); + + private: + int lastDesiredContour; + + NumberBox + contourchooser, + distX, + distY; + + LabeledSlider + distXErr, + distYErr, + angle, + angleErr, + ar, + arErr, + solidity, + solidityErr, + minimumArea; + + Label totalContours; + + Runner storageRunner; + + GtkWidget *postprocessoreditor; + }; + + + class RunnerEditor : public Widget { + public: + RunnerEditor() {}; + RunnerEditor(Runner runner); + void Update(int targetDistance); + double GetProperty(RunnerProperty prop); + void SetProperty(RunnerProperty prop, double value); + std::string GetUDPAddr(); + int GetUDPPort(); + void SetUDPAddr(std::string newAddr); + void SetUDPPort(int newPort); + void SetUDPEnabledLabels(bool UDPEnabled); + GtkWidget *GetWidget() { return this->runnereditor; }; + void SetName(std::string name); + + private: + Label distanceLabel; + + TextBox udpAddress; + NumberBox udpPort; + + Button enableUDP; + + LabeledSlider + offsetX, + offsetY, + imageWidth, + imageHeight, + targetTrueWidth, + targetPercievedWidth, + targetCalibratedDistance, + targetErrorCorrection; + + GtkWidget *runnereditor; + }; + + class ConfigEditor : public Widget { + public: + ConfigEditor() {}; + ConfigEditor(std::string fileName); + void Update(); + bool UpdateImageOnly(); + std::string GetLastFrameResult(); + void Save(); + void Close(); + void StartLearningTarget(); + void StartLearningDistance(); + void ReconnectUDPFromEditor(); + void SetUDPEnabledLabels(bool UDPEnabled); + void ApplyCameraSettings(); + void SetCameraIndexBoxes(int index); + void ReconnectUDPFromOverview(); + void OpenNewCameraFromOverview(); + std::string GetFileName() { return this->fileName; }; + cv::Mat GetOutputImage() { return this->out; }; + GtkWidget *GetWidget() { return this->configeditor; }; + void SetName(std::string name); + + private: + void UpdateImage(); + + //universal config learning utility + ConfigLearner learner; + bool learnerActivated; + + //universal focal width learning utility + TargetDistanceLearner distanceLearner; + bool distanceLearnerRunning; + + TargetTroubleshooter troubleshooter; + + Label serviceMonitor; + Label serviceLabel; + + //runtime things + Runner runner; + XMLDocument currentDoc; + std::string + fileName, + confName; + + std::string lastIterationResult; + + TabView tabs; + OverviewPanel configOverview; + Settings cameraSettings; + PreprocessorEditor preprocessorSettings; + PostprocessorEditor postprocessorSettings; + RunnerEditor runnerSettings; + + cv::Mat out, + original; + Image outputImage; + + Window window; + Panel content; + + GtkWidget *configeditor; + }; +} + +#endif diff --git a/KiwiLight - Vision Code/ui/Window.cpp b/KiwiLight - Vision Code/ui/Window.cpp index 62c519c..70eb016 100644 --- a/KiwiLight - Vision Code/ui/Window.cpp +++ b/KiwiLight - Vision Code/ui/Window.cpp @@ -1,110 +1,110 @@ -#include "UI.h" - -/** - * Source file for the Window class. - * Written By: Brach Knutson - */ - - -using namespace KiwiLight; - -void(*Window::onAppClosed)() = 0; -void(*Window::timeoutMethod)() = 0; - -gboolean Window::delete_event(GtkWidget *widget, GdkEvent *event, gpointer pointer) { - Window::onAppClosed(); - return FALSE; -} - -void Window::Destroy() { - gtk_main_quit(); -} - -void Window::SetOnAppClosed(void(*onAppClosed)()) { - Window::onAppClosed = onAppClosed; -} - -void Window::SetOnWindowClosed(void(*onWindowClosed)()) { - g_signal_connect(this->window, "delete-event", G_CALLBACK(onWindowClosed), NULL); - g_signal_connect(this->window, "destroy", G_CALLBACK(onWindowClosed), NULL); -} - -/** - * Creates a new window. - */ -Window::Window(GtkWindowType type) { - this->window = gtk_window_new(type); - g_signal_connect(this->window, "delete-event", G_CALLBACK(delete_event), NULL); - g_signal_connect(this->window, "destroy", G_CALLBACK(Destroy), NULL); - gtk_container_set_border_width(GTK_CONTAINER(this->window), 0); -} - - -Window::Window(GtkWindowType type, bool terminateOnClose) { - this->window = gtk_window_new(type); - gtk_container_set_border_width(GTK_CONTAINER(this->window), 0); - - if(terminateOnClose) { - g_signal_connect(this->window, "delete-event", G_CALLBACK(delete_event), NULL); - g_signal_connect(this->window, "destroy", G_CALLBACK(Destroy), NULL); - } -} - -/** - * Sets the main content pane to the given panel. A - * content pane must be set for a window or else no - * content will be shown. - */ -void Window::SetPane(Panel pane) { - gtk_container_add(GTK_CONTAINER(this->window), pane.GetWidget()); -} - -/** - * Set the size of the window to the width w and - * height h. - */ -void Window::SetSize(int w, int h) { - gtk_window_set_default_size(GTK_WINDOW(this->window), w, h); -} - -/** - * Run a method on a timed interval. - */ -int Window::SetInterval(int interval, void(*method)()) { - timeoutMethod = method; - return g_timeout_add(interval, GSourceFunc(timeoutCallMethod), NULL); -} - -/** - * Cancel an existing interval by given id - */ -void Window::RemoveInterval(int id) { - g_source_remove(id); -} - -/** - * Shows the window and all widgets within it. - */ -void Window::Show() { - gtk_widget_show_all(this->window); -} - - -void Window::SetCSS(std::string fileName) { - GtkCssProvider *css = gtk_css_provider_new(); - GdkDisplay *disp = gdk_display_get_default(); - GdkScreen *screen = gdk_screen_get_default(); - gtk_css_provider_load_from_path(css, fileName.c_str(), NULL); - gtk_style_context_add_provider_for_screen(screen, GTK_STYLE_PROVIDER(css), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); -} - - -gboolean Window::timeoutCallMethod() { - timeoutMethod(); - return TRUE; -} - - -void Window::SetName(std::string name) { - gtk_widget_set_name(this->window, name.c_str()); +#include "UI.h" + +/** + * Source file for the Window class. + * Written By: Brach Knutson + */ + + +using namespace KiwiLight; + +void(*Window::onAppClosed)() = 0; +void(*Window::timeoutMethod)() = 0; + +gboolean Window::delete_event(GtkWidget *widget, GdkEvent *event, gpointer pointer) { + Window::onAppClosed(); + return FALSE; +} + +void Window::Destroy() { + gtk_main_quit(); +} + +void Window::SetOnAppClosed(void(*onAppClosed)()) { + Window::onAppClosed = onAppClosed; +} + +void Window::SetOnWindowClosed(void(*onWindowClosed)()) { + g_signal_connect(this->window, "delete-event", G_CALLBACK(onWindowClosed), NULL); + g_signal_connect(this->window, "destroy", G_CALLBACK(onWindowClosed), NULL); +} + +/** + * Creates a new window. + */ +Window::Window(GtkWindowType type) { + this->window = gtk_window_new(type); + g_signal_connect(this->window, "delete-event", G_CALLBACK(delete_event), NULL); + g_signal_connect(this->window, "destroy", G_CALLBACK(Destroy), NULL); + gtk_container_set_border_width(GTK_CONTAINER(this->window), 0); +} + + +Window::Window(GtkWindowType type, bool terminateOnClose) { + this->window = gtk_window_new(type); + gtk_container_set_border_width(GTK_CONTAINER(this->window), 0); + + if(terminateOnClose) { + g_signal_connect(this->window, "delete-event", G_CALLBACK(delete_event), NULL); + g_signal_connect(this->window, "destroy", G_CALLBACK(Destroy), NULL); + } +} + +/** + * Sets the main content pane to the given panel. A + * content pane must be set for a window or else no + * content will be shown. + */ +void Window::SetPane(Panel pane) { + gtk_container_add(GTK_CONTAINER(this->window), pane.GetWidget()); +} + +/** + * Set the size of the window to the width w and + * height h. + */ +void Window::SetSize(int w, int h) { + gtk_window_set_default_size(GTK_WINDOW(this->window), w, h); +} + +/** + * Run a method on a timed interval. + */ +int Window::SetInterval(int interval, void(*method)()) { + timeoutMethod = method; + return g_timeout_add(interval, GSourceFunc(timeoutCallMethod), NULL); +} + +/** + * Cancel an existing interval by given id + */ +void Window::RemoveInterval(int id) { + g_source_remove(id); +} + +/** + * Shows the window and all widgets within it. + */ +void Window::Show() { + gtk_widget_show_all(this->window); +} + + +void Window::SetCSS(std::string fileName) { + GtkCssProvider *css = gtk_css_provider_new(); + GdkDisplay *disp = gdk_display_get_default(); + GdkScreen *screen = gdk_screen_get_default(); + gtk_css_provider_load_from_path(css, fileName.c_str(), NULL); + gtk_style_context_add_provider_for_screen(screen, GTK_STYLE_PROVIDER(css), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); +} + + +gboolean Window::timeoutCallMethod() { + timeoutMethod(); + return TRUE; +} + + +void Window::SetName(std::string name) { + gtk_widget_set_name(this->window, name.c_str()); } \ No newline at end of file diff --git a/KiwiLight - Vision Code/util/Color.cpp b/KiwiLight - Vision Code/util/Color.cpp index cb38019..dac82b2 100644 --- a/KiwiLight - Vision Code/util/Color.cpp +++ b/KiwiLight - Vision Code/util/Color.cpp @@ -1,51 +1,51 @@ -#include "Util.h" - -/** - * Source file for the Color class. - * Written By: Brach Knutson - */ - -using namespace cv; -using namespace KiwiLight; - -/** - * Creates a new color with the given values and errors. - * NOTE: all color values are in the HSV colorspace (hue - saturation - value). - */ -Color::Color(int h, int s, int v, int hError, int sError, int vError) { - this->h = h; - this->s = s; - this->v = v; - this->hError = hError; - this->sError = sError; - this->vError = vError; -} - -/** - * Returns a representation of the color in a cv::Scalar for use in the inRange or whatever - */ -cv::Scalar Color::ReturnScalar() { - return cv::Scalar(this->h, this->s, this->v); -} - -/** - * Returns a cv::Scalar representation of the upper bound of the color range. - * (that is, all values have had their corrisponding error values added to them) - */ -cv::Scalar Color::GetUpperBound() { - int newH = this->h + this->hError; - int newS = this->s + this->sError; - int newV = this->v + this->vError; - return cv::Scalar(newH, newS, newV); -} - -/** - * Returns a cv::Scalar representation of the lower bound of the color range. - * (all values had errors subtracted from them) - */ -cv::Scalar Color::GetLowerBound() { - int newH = this->h - this->hError; - int newS = this->s - this->sError; - int newV = this->v - this->vError; - return cv::Scalar(newH, newS, newV); +#include "Util.h" + +/** + * Source file for the Color class. + * Written By: Brach Knutson + */ + +using namespace cv; +using namespace KiwiLight; + +/** + * Creates a new color with the given values and errors. + * NOTE: all color values are in the HSV colorspace (hue - saturation - value). + */ +Color::Color(int h, int s, int v, int hError, int sError, int vError) { + this->h = h; + this->s = s; + this->v = v; + this->hError = hError; + this->sError = sError; + this->vError = vError; +} + +/** + * Returns a representation of the color in a cv::Scalar for use in the inRange or whatever + */ +cv::Scalar Color::ReturnScalar() { + return cv::Scalar(this->h, this->s, this->v); +} + +/** + * Returns a cv::Scalar representation of the upper bound of the color range. + * (that is, all values have had their corrisponding error values added to them) + */ +cv::Scalar Color::GetUpperBound() { + int newH = this->h + this->hError; + int newS = this->s + this->sError; + int newV = this->v + this->vError; + return cv::Scalar(newH, newS, newV); +} + +/** + * Returns a cv::Scalar representation of the lower bound of the color range. + * (all values had errors subtracted from them) + */ +cv::Scalar Color::GetLowerBound() { + int newH = this->h - this->hError; + int newS = this->s - this->sError; + int newV = this->v - this->vError; + return cv::Scalar(newH, newS, newV); } \ No newline at end of file diff --git a/KiwiLight - Vision Code/util/DataUtils.cpp b/KiwiLight - Vision Code/util/DataUtils.cpp index 13bc86b..ce3ee29 100644 --- a/KiwiLight - Vision Code/util/DataUtils.cpp +++ b/KiwiLight - Vision Code/util/DataUtils.cpp @@ -1,211 +1,211 @@ -#include "Util.h" - -/** - * Source file for the DataUtils class. - * Written By: Brach Knutson - */ - -using namespace KiwiLight; - -/** - * Sorts "data" in order from least to greatest. Sorts using insertion sort. - */ -std::vector DataUtils::SortLeastGreatestDouble(std::vector data) { - std::vector result; - - for(int i=0; i= valueToInsert) { - result.emplace(result.begin(), valueToInsert); - } else { - //look for a position to insert the value in - bool placeToInsertFound = false; - for(int k=1; k valueBeforeI && valueToInsert <= valueAtI) { - result.emplace(result.begin() + k, valueToInsert); - placeToInsertFound = true; - break; - } - } - - //value is greater than everything in the list - if(!placeToInsertFound) { - result.emplace(result.end(), valueToInsert); - } - } - } - - return result; -} - - -double DataUtils::Total(std::vector data) { - double total = 0.0; - - for(int i=0; i data) { - double avg = 0.0; - - for(int i=0; i data) { - int middle = data.size() / 2; - return data[middle]; -} - - -double DataUtils::Greatest(std::vector data) { - double greatest = -1000000000.0; - - for(int i=0; i greatest) { - greatest = value; - } - } - - return greatest; -} - - -double DataUtils::Least(std::vector data) { - double least = 1000000000.0; - - for(int i=0; i data) { - double avgDiff = 0.0; - int totalDifferences = 0; - - for(int i=0; i data, double value) { - int occurrances = 0; - - for(int i=0; i data) { - int indexWithMostOccurrances = 0; - int numberOfOccurrances = -1; - - for(int i=0; i numberOfOccurrances) { - numberOfOccurrances = occurrances; - indexWithMostOccurrances = i; - } - } - - return data[indexWithMostOccurrances]; -} - - -bool DataUtils::IsOutlier(std::vector data, int indexOfValue, double allowableError) { - double average = DataUtils::Average(data); - double upperBound = average + allowableError; - double lowerBound = average - allowableError; - - return !(data[indexOfValue] > lowerBound && data[indexOfValue] < upperBound); -} - - -std::vector DataUtils::RemoveOutliers(std::vector data, double allowableError) { - std::vector newSet = std::vector(); - - for(int i=0; i DataUtils::VectorDoubleToInt(std::vector data) { - std::vector result; - for(int i=0; i DataUtils::VectorIntToDouble(std::vector data) { - std::vector result; - for(int i=0; i data) { - std::string vectorString = "["; - - for(int i=0; i DataUtils::SortLeastGreatestDouble(std::vector data) { + std::vector result; + + for(int i=0; i= valueToInsert) { + result.emplace(result.begin(), valueToInsert); + } else { + //look for a position to insert the value in + bool placeToInsertFound = false; + for(int k=1; k valueBeforeI && valueToInsert <= valueAtI) { + result.emplace(result.begin() + k, valueToInsert); + placeToInsertFound = true; + break; + } + } + + //value is greater than everything in the list + if(!placeToInsertFound) { + result.emplace(result.end(), valueToInsert); + } + } + } + + return result; +} + + +double DataUtils::Total(std::vector data) { + double total = 0.0; + + for(int i=0; i data) { + double avg = 0.0; + + for(int i=0; i data) { + int middle = data.size() / 2; + return data[middle]; +} + + +double DataUtils::Greatest(std::vector data) { + double greatest = -1000000000.0; + + for(int i=0; i greatest) { + greatest = value; + } + } + + return greatest; +} + + +double DataUtils::Least(std::vector data) { + double least = 1000000000.0; + + for(int i=0; i data) { + double avgDiff = 0.0; + int totalDifferences = 0; + + for(int i=0; i data, double value) { + int occurrances = 0; + + for(int i=0; i data) { + int indexWithMostOccurrances = 0; + int numberOfOccurrances = -1; + + for(int i=0; i numberOfOccurrances) { + numberOfOccurrances = occurrances; + indexWithMostOccurrances = i; + } + } + + return data[indexWithMostOccurrances]; +} + + +bool DataUtils::IsOutlier(std::vector data, int indexOfValue, double allowableError) { + double average = DataUtils::Average(data); + double upperBound = average + allowableError; + double lowerBound = average - allowableError; + + return !(data[indexOfValue] > lowerBound && data[indexOfValue] < upperBound); +} + + +std::vector DataUtils::RemoveOutliers(std::vector data, double allowableError) { + std::vector newSet = std::vector(); + + for(int i=0; i DataUtils::VectorDoubleToInt(std::vector data) { + std::vector result; + for(int i=0; i DataUtils::VectorIntToDouble(std::vector data) { + std::vector result; + for(int i=0; i data) { + std::string vectorString = "["; + + for(int i=0; i Flags::flagNames = std::vector(); - -/** - * Raises a flag with the passed name. - */ -void Flags::RaiseFlag(std::string flagName) { - if(!Flags::GetFlag(flagName)) { //flag not there, raise it - Flags::flagNames.push_back(flagName); - } -} - -/** - * Removes any flag with the given name. - */ -void Flags::LowerFlag(std::string flagName) { - //repopulate the flag std::vector without the given flag - std::vector newFlags = std::vector(); - for(int i=0; i Flags::flagNames = std::vector(); + +/** + * Raises a flag with the passed name. + */ +void Flags::RaiseFlag(std::string flagName) { + if(!Flags::GetFlag(flagName)) { //flag not there, raise it + Flags::flagNames.push_back(flagName); + } +} + +/** + * Removes any flag with the given name. + */ +void Flags::LowerFlag(std::string flagName) { + //repopulate the flag std::vector without the given flag + std::vector newFlags = std::vector(); + for(int i=0; ivalue = value; - this->error = error; -} - - -double SettingPair::LowerBound() { - return this->value - this->error; -} - - -double SettingPair::UpperBound() { - return this->value + this->error; +#include "Util.h" + +/** + * Source file for the SettingPair class. + * Written By: Brach Knutson + */ + +using namespace KiwiLight; + + +SettingPair::SettingPair(double value, double error) { + this->value = value; + this->error = error; +} + + +double SettingPair::LowerBound() { + return this->value - this->error; +} + + +double SettingPair::UpperBound() { + return this->value + this->error; } \ No newline at end of file diff --git a/KiwiLight - Vision Code/util/Shell.cpp b/KiwiLight - Vision Code/util/Shell.cpp index 516639b..f8113ed 100644 --- a/KiwiLight - Vision Code/util/Shell.cpp +++ b/KiwiLight - Vision Code/util/Shell.cpp @@ -1,40 +1,40 @@ -#include "Util.h" - -/** - * Source file for the Shell class. - * Written By: Brach Knutson - */ - -using namespace KiwiLight; - -std::string Shell::ExecuteCommand(std::string command) { - //to create the out file for the command, find HOME to place it in KiwiLightData - std::string outLocation = ""; - char *home = getenv("HOME"); - if(home != NULL) { - outLocation = std::string(home) + "/KiwiLightData/tmp/shell_out.log"; - } else { - std::cout << "The Shell utility was unable to find HOME" << std::endl; - } - - std::string execute = command + " >> " + outLocation; - system(execute.c_str()); - - //create a file stream to view the log - std::fstream log = std::fstream(outLocation); - std::string logString = ""; - - //loop through and read every line, formatting into std::string separated by newline characters - std::string line; - while(getline(log, line)) { - logString += line + "\n"; - } - - log.close(); - - //clear the file text for the next time - std::ofstream file = std::ofstream(outLocation, std::ofstream::out | std::ofstream::trunc); - file.close(); - - return logString; +#include "Util.h" + +/** + * Source file for the Shell class. + * Written By: Brach Knutson + */ + +using namespace KiwiLight; + +std::string Shell::ExecuteCommand(std::string command) { + //to create the out file for the command, find HOME to place it in KiwiLightData + std::string outLocation = ""; + char *home = getenv("HOME"); + if(home != NULL) { + outLocation = std::string(home) + "/KiwiLightData/tmp/shell_out.log"; + } else { + std::cout << "The Shell utility was unable to find HOME" << std::endl; + } + + std::string execute = command + " >> " + outLocation; + system(execute.c_str()); + + //create a file stream to view the log + std::fstream log = std::fstream(outLocation); + std::string logString = ""; + + //loop through and read every line, formatting into std::string separated by newline characters + std::string line; + while(getline(log, line)) { + logString += line + "\n"; + } + + log.close(); + + //clear the file text for the next time + std::ofstream file = std::ofstream(outLocation, std::ofstream::out | std::ofstream::trunc); + file.close(); + + return logString; } \ No newline at end of file diff --git a/KiwiLight - Vision Code/util/StringUtils.cpp b/KiwiLight - Vision Code/util/StringUtils.cpp index 673a7f9..926f1c9 100644 --- a/KiwiLight - Vision Code/util/StringUtils.cpp +++ b/KiwiLight - Vision Code/util/StringUtils.cpp @@ -1,70 +1,70 @@ -#include "Util.h" - -/** - * Source file for the StringUtils class. - * Written By: Brach Knutson - */ - - -using namespace KiwiLight; - -/** - * Splits the given std::string str by the char character. - */ -std::vector StringUtils::SplitString(std::string str, char character) { - std::vector substrings; - std::string current = ""; - - for(int i=0; i 0) { - substrings.push_back(current); - } - - return substrings; -} - - -std::string StringUtils::Substring(std::string str, int begin, int end) { - std::string substr = ""; - - if(begin == end || - begin > end || - begin > str.length() || - end > str.length()) { - return ""; - } - - for(int i=begin; i StringUtils::SplitString(std::string str, char character) { + std::vector substrings; + std::string current = ""; + + for(int i=0; i 0) { + substrings.push_back(current); + } + + return substrings; +} + + +std::string StringUtils::Substring(std::string str, int begin, int end) { + std::string substr = ""; + + if(begin == end || + begin > end || + begin > str.length() || + end > str.length()) { + return ""; + } + + for(int i=begin; iaddress = dest_ip; - this->port = port; - - this->sock = socket(AF_INET, SOCK_DGRAM, 0); //"0" for wildcard of what protocol is best - if(this->sock < 0) //socket creation didnt be like that tho - err("SOCKET FAILED"); - - memset(&this->client_address, 0, sizeof(this->client_address)); - this->client_address.sin_family = AF_INET; - this->client_address.sin_port = htons(port); - - //do inet_pton() - int pton_result = inet_pton(AF_INET, dest_ip.c_str(), &this->client_address.sin_addr); - if(pton_result <= 0) - err("PTON FAILED"); - - //wait for the connect to succeed before we go - std::cout << "Waiting to connect..." << std::endl; - while(true) { - //now connect - int connect_result = connect(this->sock, (sockaddr*) &this->client_address, sizeof(this->client_address)); - if(connect_result > -1) //the connection was the big good - break; - } - - std::cout << "Connection set up." << std::endl; -} - - -UDP::UDP(std::string dest_ip, int port, bool blockUntilConnected) { - this->address = dest_ip; - this->port = port; - - this->sock = socket(AF_INET, SOCK_DGRAM, 0); //"0" for wildcard of what protocol is best - if(this->sock < 0) //socket creation didnt be like that tho - err("SOCKET FAILED"); - - memset(&this->client_address, 0, sizeof(this->client_address)); - this->client_address.sin_family = AF_INET; - this->client_address.sin_port = htons(port); - - //do inet_pton() - int pton_result = inet_pton(AF_INET, dest_ip.c_str(), &this->client_address.sin_addr); - if(pton_result <= 0) - err("PTON FAILED"); - - //wait for the connect to succeed before we go - while(true) { - //now connect - int connect_result = connect(this->sock, (sockaddr*) &this->client_address, sizeof(this->client_address)); - if(connect_result > -1 || !blockUntilConnected) //the connection was the big good - break; - } -} - - -UDP::UDP(std::string this_ip, std::string dest_ip, int port, bool blockUntilConnected) { - this->address = dest_ip; - this->port = port; - - this->sock = socket(AF_INET, SOCK_DGRAM, 0); //"0" for wildcard of what protocol is best - if(this->sock < 0) //socket creation didnt be like that tho - err("SOCKET FAILED"); - - //define destination address - memset(&this->client_address, 0, sizeof(this->client_address)); - this->client_address.sin_family = AF_INET; - this->client_address.sin_port = htons(port); - - //define our address - sockaddr_in server_address; - memset(&server_address, 0, sizeof(server_address)); - server_address.sin_family = AF_INET; - server_address.sin_port = htons(port); - - //convert "this_ip" to a usable address struct - int pton_result_1 = inet_pton(AF_INET, this_ip.c_str(), &this->client_address.sin_addr); - if(pton_result_1 <= 0) - err("THIS PTON FAILED"); - - //convert "dest_ip" to a usable address struct - int pton_result_2 = inet_pton(AF_INET, dest_ip.c_str(), &this->client_address.sin_addr); - if(pton_result_2 <= 0) - err("DEST PTON FAILED"); - - - //"bind" our address to the socket - int bind_result = bind(this->sock, (sockaddr*) &server_address, sizeof(server_address)); - if(bind_result < 0) - err("BIND FAILED"); - - //wait for the connect to succeed before we go - std::cout << "Waiting to connect..." << std::endl; - while(true) { - //now connect - int connect_result = connect(this->sock, (sockaddr*) &this->client_address, sizeof(this->client_address)); - if(connect_result > -1 || !blockUntilConnected) //the connection was the big good - break; - } - - std::cout << "Connection set up." << std::endl; -} - -/** - * Attempts to connect to the router. - * @return true if the connection was successful, or the UDP was already connected, false otherwise. - */ -bool UDP::AttemptToConnect() { - if(!this->connected) { - int connect_result = connect(this->sock, (sockaddr*) &this->client_address, sizeof(this->client_address)); - - if(connect_result < 0) { - std::cout << "CONNECT FAILED" << std::endl; - } - return (connect_result > -1); - } - - return true; -} - -/** - * Sends the given message to the destination - * @param msg a string containing the message to send - */ -void UDP::Send(std::string msg) { - const char *buffer = msg.c_str(); - //std::cout << msg << std::endl; - int send_result = send(this->sock, buffer, strlen(buffer), 0); //the big send -} - -/** - * Reads the buffer and returns whats there - * @return a string containing the contents of the buffer - */ -std::string UDP::Recieve() { - char buffer[1024] = {0}; - int read_result = recv(this->sock, buffer, 1024, MSG_DONTWAIT); - std::string bufferStr = std::string(buffer); - return bufferStr; -} - -/** - * closes the UDP socket - */ -void UDP::Close() { - close(this->sock); -} +#include "Util.h" + +/** + * source file for UDP class + * Written By: Brach Knutson + */ + +using namespace KiwiLight; + + +/** + * literally kills everything + */ +void err(const char *msg) { + perror(msg); + exit(1); +} + +/** + * Construct a new UDP object connecting to dest_ip on port + * @param dest_ip a string containing the ip of the server in standard dot notation + * @param port the port to connect on + */ +UDP::UDP(std::string dest_ip, int port) { + this->address = dest_ip; + this->port = port; + + this->sock = socket(AF_INET, SOCK_DGRAM, 0); //"0" for wildcard of what protocol is best + if(this->sock < 0) //socket creation didnt be like that tho + err("SOCKET FAILED"); + + memset(&this->client_address, 0, sizeof(this->client_address)); + this->client_address.sin_family = AF_INET; + this->client_address.sin_port = htons(port); + + //do inet_pton() + int pton_result = inet_pton(AF_INET, dest_ip.c_str(), &this->client_address.sin_addr); + if(pton_result <= 0) + err("PTON FAILED"); + + //wait for the connect to succeed before we go + std::cout << "Waiting to connect..." << std::endl; + while(true) { + //now connect + int connect_result = connect(this->sock, (sockaddr*) &this->client_address, sizeof(this->client_address)); + if(connect_result > -1) //the connection was the big good + break; + } + + std::cout << "Connection set up." << std::endl; +} + + +UDP::UDP(std::string dest_ip, int port, bool blockUntilConnected) { + this->address = dest_ip; + this->port = port; + + this->sock = socket(AF_INET, SOCK_DGRAM, 0); //"0" for wildcard of what protocol is best + if(this->sock < 0) //socket creation didnt be like that tho + err("SOCKET FAILED"); + + memset(&this->client_address, 0, sizeof(this->client_address)); + this->client_address.sin_family = AF_INET; + this->client_address.sin_port = htons(port); + + //do inet_pton() + int pton_result = inet_pton(AF_INET, dest_ip.c_str(), &this->client_address.sin_addr); + if(pton_result <= 0) + err("PTON FAILED"); + + //wait for the connect to succeed before we go + while(true) { + //now connect + int connect_result = connect(this->sock, (sockaddr*) &this->client_address, sizeof(this->client_address)); + if(connect_result > -1 || !blockUntilConnected) //the connection was the big good + break; + } +} + + +UDP::UDP(std::string this_ip, std::string dest_ip, int port, bool blockUntilConnected) { + this->address = dest_ip; + this->port = port; + + this->sock = socket(AF_INET, SOCK_DGRAM, 0); //"0" for wildcard of what protocol is best + if(this->sock < 0) //socket creation didnt be like that tho + err("SOCKET FAILED"); + + //define destination address + memset(&this->client_address, 0, sizeof(this->client_address)); + this->client_address.sin_family = AF_INET; + this->client_address.sin_port = htons(port); + + //define our address + sockaddr_in server_address; + memset(&server_address, 0, sizeof(server_address)); + server_address.sin_family = AF_INET; + server_address.sin_port = htons(port); + + //convert "this_ip" to a usable address struct + int pton_result_1 = inet_pton(AF_INET, this_ip.c_str(), &this->client_address.sin_addr); + if(pton_result_1 <= 0) + err("THIS PTON FAILED"); + + //convert "dest_ip" to a usable address struct + int pton_result_2 = inet_pton(AF_INET, dest_ip.c_str(), &this->client_address.sin_addr); + if(pton_result_2 <= 0) + err("DEST PTON FAILED"); + + + //"bind" our address to the socket + int bind_result = bind(this->sock, (sockaddr*) &server_address, sizeof(server_address)); + if(bind_result < 0) + err("BIND FAILED"); + + //wait for the connect to succeed before we go + std::cout << "Waiting to connect..." << std::endl; + while(true) { + //now connect + int connect_result = connect(this->sock, (sockaddr*) &this->client_address, sizeof(this->client_address)); + if(connect_result > -1 || !blockUntilConnected) //the connection was the big good + break; + } + + std::cout << "Connection set up." << std::endl; +} + +/** + * Attempts to connect to the router. + * @return true if the connection was successful, or the UDP was already connected, false otherwise. + */ +bool UDP::AttemptToConnect() { + if(!this->connected) { + int connect_result = connect(this->sock, (sockaddr*) &this->client_address, sizeof(this->client_address)); + + if(connect_result < 0) { + std::cout << "CONNECT FAILED" << std::endl; + } + return (connect_result > -1); + } + + return true; +} + +/** + * Sends the given message to the destination + * @param msg a string containing the message to send + */ +void UDP::Send(std::string msg) { + const char *buffer = msg.c_str(); + //std::cout << msg << std::endl; + int send_result = send(this->sock, buffer, strlen(buffer), 0); //the big send +} + +/** + * Reads the buffer and returns whats there + * @return a string containing the contents of the buffer + */ +std::string UDP::Recieve() { + char buffer[1024] = {0}; + int read_result = recv(this->sock, buffer, 1024, MSG_DONTWAIT); + std::string bufferStr = std::string(buffer); + return bufferStr; +} + +/** + * closes the UDP socket + */ +void UDP::Close() { + close(this->sock); +} diff --git a/KiwiLight - Vision Code/util/Util.cpp b/KiwiLight - Vision Code/util/Util.cpp index 5c60cf7..14f3f97 100644 --- a/KiwiLight - Vision Code/util/Util.cpp +++ b/KiwiLight - Vision Code/util/Util.cpp @@ -1,30 +1,30 @@ -#include "Util.h" - -/** - * Source file for the Util class. - * Written By: Brach Knutson - */ - -using namespace cv; -using namespace KiwiLight; - -/** - * Searches the vector of camera setting XMLTags and returns the one with the correct ID. - * @param settings The list of camera settings to search through. See precondition for more details. - * @param id The Camera property ID to search for. - * @return The first XMLTag with the matching ID, or NULL if none found. - * Precondition: The XMLTags in settings MUST be formatted as follows: - * [content] - */ -XMLTag Util::SearchCameraSettingsByID(std::vector settings, int id) { - for(int i=0; i[content] + */ +XMLTag Util::SearchCameraSettingsByID(std::vector settings, int id) { + for(int i=0; i -#include -#include -#include "opencv2/opencv.hpp" -#include "netdb.h" -#include "unistd.h" -#include "sys/socket.h" -#include "sys/types.h" -#include "netinet/in.h" -#include "arpa/inet.h" - -using namespace cv; - -namespace KiwiLight { - - struct Distance { - Distance(double x, double y) { - this->x = x; - this->y = y; - } - double x; - double y; - }; - - /** - * An easy event and variable flagging system - */ - class Flags { - public: - static void RaiseFlag(std::string flagName); - static void LowerFlag(std::string flagName); - static void SetFlagState(std::string flagName, bool state); - static bool GetFlag(std::string flagName); - - private: - static std::vector flagNames; - }; - - /** - * Class that can execute shell commands and return their output. - */ - class Shell { - public: - static std::string ExecuteCommand(std::string command); - }; - - class StringUtils { - public: - static std::vector SplitString(std::string str, char character); - static std::string Substring(std::string str, int begin, int end); - static bool StringStartsWith(std::string str, std::string startsWith); - static int CountCharacters(std::string str, char character); - }; - - - class DataUtils { - public: - static std::vector SortLeastGreatestDouble(std::vector data); - static double Total(std::vector data); - static double Average(std::vector data); - static double Median(std::vector data); - static double Greatest(std::vector data); - static double Least(std::vector data); - static double AverageDifference(std::vector data); - static int NumberOfOccurrances(std::vector data, double value); - static double MostCommonValue(std::vector data); - static bool IsOutlier(std::vector data, int indexOfValue, double allowableError); - static std::vector RemoveOutliers(std::vector data, double allowableError); - static std::string VectorToString(std::vector data); - - std::vector VectorDoubleToInt(std::vector data); - std::vector VectorIntToDouble(std::vector data); - }; - - - /** - * A UDP sender utility that sends and recieves information to and from the RIO. - */ - class UDP { - public: - UDP(){}; - UDP(std::string dest_ip, int port); - UDP(std::string dest_ip, int port, bool blockUntilConnected); - UDP(std::string this_ip, std::string dest_ip, int port, bool blockUntilConnected); - bool AttemptToConnect(); - bool Connected() { return this->connected; }; - void Send(std::string msg); - std::string Recieve(); - void Close(); - std::string GetAddress() { return this->address; }; - int GetPort() { return this->port; }; - - private: - int sock; //sock fd returned by socket() call - sockaddr_in client_address; //address of the server - - bool connected; - - std::string address; - int port; - }; - - class XMLTagAttribute { - public: - XMLTagAttribute(std::string name, std::string value); - std::string Name() { return this->name; }; - std::string Value() { return this->value; }; - std::string ReturnString(); - - private: - std::string name; - std::string value; - }; - - /** - * Represents a tag formatted in XML that may be found as a child of others (or contain others) - */ - class XMLTag { - public: - XMLTag() {}; - XMLTag(std::string name); - XMLTag(std::string name, std::vector attributes); - XMLTag(std::string name, std::vector children); - XMLTag(std::string name, std::vector children, std::vector attributes); - XMLTag(std::string name, std::string content, std::vector attributes); - XMLTag(std::string name, std::string content); - void AddTag(XMLTag tag); - void AddAttribute(XMLTagAttribute attribute); - void AddContent(std::string content); - std::vector GetTagsByName(std::string name); - std::vector Tags() { return this->children; }; - std::vector GetAttributesByName(std::string name); - std::vector Attributes() { return this->attributes; }; - std::string Name() { return this->name; }; - std::string Content() { return this->content; }; - std::string ReturnString(std::string prefix); - std::string ReturnString(); - - private: - bool containsChildren; - std::string name; - std::string content; - std::vector children; - std::vector attributes; - }; - - /** - * Represents a text document formatted in XML - */ - class XMLDocument { - public: - XMLDocument(); - XMLDocument(std::vector tags); - XMLDocument(std::string filePath); - bool HasContents() { return this->hasContents; }; - void AddTag(XMLTag tag); - std::vector GetTagsByName(std::string name); - std::string FileName() { return this->fileName; }; - std::string ReturnString(); - void WriteFile(std::string filePath); - - private: - std::string fileName; - bool hasContents; - std::vector children; - }; - - /** - * General util class containing useful methods used by multiple classes - */ - class Util { - public: - static XMLTag SearchCameraSettingsByID(std::vector settings, int id); - }; - - /** - * Represents a single value with an error. - */ - class SettingPair { - public: - SettingPair() {}; - SettingPair(double value, double error); - double UpperBound(); - double LowerBound(); - double Value() { return this->value; }; - double Error() { return this->error; }; - - private: - double value, - error; - }; - - /** - * Represents a color in the HSV colorspace - */ - class Color { - public: - Color() {}; - Color(int h, int s, int v, int hError, int sError, int vError); - - cv::Scalar ReturnScalar(); - cv::Scalar GetLowerBound(); - cv::Scalar GetUpperBound(); - int GetH() { return this->h; }; - int GetS() { return this->s; }; - int GetV() { return this->v; }; - int GetHError() { return this->hError; }; - int GetSError() { return this->sError; }; - int GetVError() { return this->vError; }; - - private: - int h, - s, - v, - hError, - sError, - vError; - }; -} - -#endif +#ifndef UTIL_H +#define UTIL_H + +#include +#include +#include +#include "opencv2/opencv.hpp" +#include "netdb.h" +#include "unistd.h" +#include "sys/socket.h" +#include "sys/types.h" +#include "netinet/in.h" +#include "arpa/inet.h" + +using namespace cv; + +namespace KiwiLight { + + struct Distance { + Distance(double x, double y) { + this->x = x; + this->y = y; + } + double x; + double y; + }; + + /** + * An easy event and variable flagging system + */ + class Flags { + public: + static void RaiseFlag(std::string flagName); + static void LowerFlag(std::string flagName); + static void SetFlagState(std::string flagName, bool state); + static bool GetFlag(std::string flagName); + + private: + static std::vector flagNames; + }; + + /** + * Class that can execute shell commands and return their output. + */ + class Shell { + public: + static std::string ExecuteCommand(std::string command); + }; + + class StringUtils { + public: + static std::vector SplitString(std::string str, char character); + static std::string Substring(std::string str, int begin, int end); + static bool StringStartsWith(std::string str, std::string startsWith); + static int CountCharacters(std::string str, char character); + }; + + + class DataUtils { + public: + static std::vector SortLeastGreatestDouble(std::vector data); + static double Total(std::vector data); + static double Average(std::vector data); + static double Median(std::vector data); + static double Greatest(std::vector data); + static double Least(std::vector data); + static double AverageDifference(std::vector data); + static int NumberOfOccurrances(std::vector data, double value); + static double MostCommonValue(std::vector data); + static bool IsOutlier(std::vector data, int indexOfValue, double allowableError); + static std::vector RemoveOutliers(std::vector data, double allowableError); + static std::string VectorToString(std::vector data); + + std::vector VectorDoubleToInt(std::vector data); + std::vector VectorIntToDouble(std::vector data); + }; + + + /** + * A UDP sender utility that sends and recieves information to and from the RIO. + */ + class UDP { + public: + UDP(){}; + UDP(std::string dest_ip, int port); + UDP(std::string dest_ip, int port, bool blockUntilConnected); + UDP(std::string this_ip, std::string dest_ip, int port, bool blockUntilConnected); + bool AttemptToConnect(); + bool Connected() { return this->connected; }; + void Send(std::string msg); + std::string Recieve(); + void Close(); + std::string GetAddress() { return this->address; }; + int GetPort() { return this->port; }; + + private: + int sock; //sock fd returned by socket() call + sockaddr_in client_address; //address of the server + + bool connected; + + std::string address; + int port; + }; + + class XMLTagAttribute { + public: + XMLTagAttribute(std::string name, std::string value); + std::string Name() { return this->name; }; + std::string Value() { return this->value; }; + std::string ReturnString(); + + private: + std::string name; + std::string value; + }; + + /** + * Represents a tag formatted in XML that may be found as a child of others (or contain others) + */ + class XMLTag { + public: + XMLTag() {}; + XMLTag(std::string name); + XMLTag(std::string name, std::vector attributes); + XMLTag(std::string name, std::vector children); + XMLTag(std::string name, std::vector children, std::vector attributes); + XMLTag(std::string name, std::string content, std::vector attributes); + XMLTag(std::string name, std::string content); + void AddTag(XMLTag tag); + void AddAttribute(XMLTagAttribute attribute); + void AddContent(std::string content); + std::vector GetTagsByName(std::string name); + std::vector Tags() { return this->children; }; + std::vector GetAttributesByName(std::string name); + std::vector Attributes() { return this->attributes; }; + std::string Name() { return this->name; }; + std::string Content() { return this->content; }; + std::string ReturnString(std::string prefix); + std::string ReturnString(); + + private: + bool containsChildren; + std::string name; + std::string content; + std::vector children; + std::vector attributes; + }; + + /** + * Represents a text document formatted in XML + */ + class XMLDocument { + public: + XMLDocument(); + XMLDocument(std::vector tags); + XMLDocument(std::string filePath); + bool HasContents() { return this->hasContents; }; + void AddTag(XMLTag tag); + std::vector GetTagsByName(std::string name); + std::string FileName() { return this->fileName; }; + std::string ReturnString(); + void WriteFile(std::string filePath); + + private: + std::string fileName; + bool hasContents; + std::vector children; + }; + + /** + * General util class containing useful methods used by multiple classes + */ + class Util { + public: + static XMLTag SearchCameraSettingsByID(std::vector settings, int id); + }; + + /** + * Represents a single value with an error. + */ + class SettingPair { + public: + SettingPair() {}; + SettingPair(double value, double error); + double UpperBound(); + double LowerBound(); + double Value() { return this->value; }; + double Error() { return this->error; }; + + private: + double value, + error; + }; + + /** + * Represents a color in the HSV colorspace + */ + class Color { + public: + Color() {}; + Color(int h, int s, int v, int hError, int sError, int vError); + + cv::Scalar ReturnScalar(); + cv::Scalar GetLowerBound(); + cv::Scalar GetUpperBound(); + int GetH() { return this->h; }; + int GetS() { return this->s; }; + int GetV() { return this->v; }; + int GetHError() { return this->hError; }; + int GetSError() { return this->sError; }; + int GetVError() { return this->vError; }; + + private: + int h, + s, + v, + hError, + sError, + vError; + }; +} + +#endif diff --git a/KiwiLight - Vision Code/util/XMLDocument.cpp b/KiwiLight - Vision Code/util/XMLDocument.cpp index 3286a20..46f7b4c 100644 --- a/KiwiLight - Vision Code/util/XMLDocument.cpp +++ b/KiwiLight - Vision Code/util/XMLDocument.cpp @@ -1,187 +1,187 @@ -#include "Util.h" - -/** - * Source file for the XMLDocument class. - * Written By: Brach Knutson - */ - -using namespace KiwiLight; - -/** - * Creates a blank XML document. - */ -XMLDocument::XMLDocument() { - this->fileName = ""; - this->hasContents = false; -} - -/** - * Creates an XML document starting with the given tags. - */ -XMLDocument::XMLDocument(std::vector tags) { - this->fileName = ""; - this->children = tags; - - if(tags.size() > 0) { - this->hasContents = true; - } else { - this->hasContents = false; - } -} - -/** - * Creates a new XML document using the formatted file passed. - */ -XMLDocument::XMLDocument(std::string fileName) { - this->fileName = fileName; - std::fstream log = std::fstream(fileName); - std::vector fileLines = std::vector(); - - std::string line; - while(std::getline(log, line)) { - //get rid of spaces at beginning of each line - int beginningOfContent = 0; - std::string trimmedContent = ""; - for(int i=0; ihasContents = false; - return; - } - - //parse the vector of lines and build a hierarchy of xml tags for this document - std::vector workingHierarchy = std::vector(); //the hierarchy of tags to be completed - for(int i=0; i'); - std::string tag = StringUtils::Substring(line, 1, closingBracket); - std::string content = StringUtils::Substring(line, closingBracket + 1, line.length()); - if(StringUtils::StringStartsWith(tag, "/")) { - //ending tag, rebuild the hierarchy without this tag - if(workingHierarchy.size() > 1) { - XMLTag addTag = workingHierarchy[workingHierarchy.size() - 1]; - workingHierarchy[workingHierarchy.size() - 2].AddTag(addTag); - - } else { - this->AddTag(workingHierarchy[0]); - } - std::vector newHierarchy = std::vector(); - for(int k=0; k nameAndAttrs = StringUtils::SplitString(tag, ' '); - std::vector attrs = std::vector(); - std::string name = nameAndAttrs[0]; - - for(int k=1; k 0) { - //get the index of the starting bracket of the closing tag - int closingTag = content.find(""); - content = StringUtils::Substring(content, 0, closingTag); - newTag.AddContent(content); - - if(workingHierarchy.size() > 0) { - workingHierarchy[workingHierarchy.size() - 1].AddTag(newTag); - } else { - this->AddTag(newTag); - } - - } else { - workingHierarchy.push_back(newTag); - } - } - } else { - if(!StringUtils::StringStartsWith(line, "DJEa*|D!LdPB24aNo zCaV;SCoHG%N|6GkNN0IUrV``&An*4`1K`_kxREzw(8cZ^L+jX>Rzn(Q`;d4O>EQbR zIaL#18J6+94mE;0;l+=u9~`pupMDC>#-7yhf2~U&wew=D7uw;*Z~7Ck6vg5px$l0~ z7(eSFs1s1*6W$0^m_1o1k?W>Lnq0qSGB8YNU~%Xb0`}X6tX~*S5vxW%7;4j3hVvTS zU!nL0G8=-V> z>wuG8d5mFqd?$1}XYi;F70VgxL8%~_VI3o3{R?^CmhPRZWl$}i#Rpv$dFH?6Ica6O z(j)ppOVL`&C}6cFQAr2RDx8E$l2Z*#W`NZQc%c>kQ=(Z+?e zY6N$yb1glS!tWra^)!Rik7<`9`<&BwQoTjE{T}5l!mVaNn&c152e@jdgJ^x-h$pB# z5k+C$?A=FF@iO2aMT7eWPd9`2<#fG{oX4FfS9NU1KHwoJvXkt@gl(<2+Q3i;;n=<& z5PGVc{%)TSW94T&7?90)Gg>i10s3R>!Imwv6@2r4L5qgWQn!`^QWETXxnH*e5>M}c z{G>_)q)XFE@CRGhvt^xqwT$3ha+G4jj+Rlxui9ZVMG3>P62|Wixp8Dkg1$)VcPp&) z$_5qBu~2-T1=AvL5kE7Ue{c;}TK0bXET0FDaH!B~$y{1XmK1dYS2y~A*+&rtb=Af+ z9e`DgOH^F&qbIQe22v62H!_GT(qSz3rL*c@5f$3=mm6w?4{XxVRCRwBc-ewwBVuQi z9+4_8)nxs-k)5)FyOFZa@M`48B-MHhkcPfGMiDDA**JEL6jjao0;kU6rCI8}y*xyz>wQ&Q9}2Xh$_L=>~w!h>zYI$sunKbLyw6xAxd znR9F9omjB{$1MnOt+=xKuBOtOsxkF|Bev@INN9_Y%?miN+f51mBAd+vti&nj`N%${ z|3$M>9L7<*dX~M?Xrbx)1y{6bhMHjcqkZb0ER(oPZ6)mk&dWJ_I)EXE?%&T#U#>d*;ZcmbqplYVOWQq9Wf2>r9K$KBK;J z$kfk3*i4Wv)K-f%FWh-`+mkM{>eIgR*p*@MY6ZLf8hhs=oI`(&6JSF7E9)L5ij=CM zvzxU+57vSi)-FxUd`TLM7jp^O)oEx4k<2E`wi*3GSXb8A0Oa$Bi$AKM+;WtI@i{f zYgQ#BmB=?Wxk+PFTEhq!Q$&?d{Yq^xA8l>zSwn3H{FpUhSp+2B|4P0_n(;?K)cary z0(@$S=MGY@|Ev$0jrDx62P*rA(=-etfzd)mr{BpX2TD44bC~8*ro&{Cz>%6ml29>p zg`ATo$|qYkN}mKeQdDEEi*whIC;RjoCn%hJ%hvo>Xd3hyv)Wph3T3=Oa(YuzCCRET zDk60k$z(@}!9mg5(hH>705Zh2!+#AI{><}Z?GAnEC+XMgTY;cPfx9VlDMNl}*?)a@$&%6?w!eB#ad zS$XV!w|vZZz@?%psaxjFe=d~(u71zAg;q-;gxNcFyS5j1+Mn2n0(bIrQhz%m|9f4a zTQnLl6$bV*f2piVjVy$7T9cn2L;iEg^3P1qo#dYe2hrU^FaN#ed*(0wf_pEQLfi&I z#5dB?WxTeJ@%S(qmfw6jai$CJ!Z9CYr1V@N9%n1P$fT87_uZOC*}V7N zF#@v>-y;@oTyrekfDGyJe)}jI3h2-UHAa304j&XQK=J@T!au9O7r$YC0*Uy}X+!eb zeI+pMZ%Q9fz}Ct&{^7L0_ltkrpljadLDFfPEhqa;KhM*7L68(ar+{B}$cBk&TqPbM zwDwTR9a@?(=EUgsap-yIA}1)#w}3XAgEN8%;%c;ltPe)wT+lUk8A&uzLUrFV^atmZcV|-$geTHK|$G<-3P^1)Jj?57`YS4k+Yp``xa4Gs30974n|9Dx5sh5K#zD5{OGgXq z8&8_FB&goR6Q^FhoSqb^dQO#9!p;BdIpyP3aV-7rW@b=ghJxg?_vT}nMX-J6!-`y} zjL2lz-?Nj#dGf#U=ID+rZCa#Vs?D3Ero~tx`^J?Ns5H5qXJM6M2YgtgrJN>mHf^r1 zQXS*D(3bS3P;JAqr~chZNZeFjV%O#nAI3A(uY3U&;?P}M6(rj+_#Ld1%o8Wg?c6{~ z-4>aL-kQy-`N2&+!^+SALxY$eSY81lxT=JG+jWfRRQ7+j6Y;vU-gJS|^*PX7#&xS; z$<)p5bvU#Pp`B>C>Z@%!e+3mW|6JS>%p4d4^8}tS!zw5C{o5XvE(};xU{vGD3)V<> z(BOGDj&Q3Tbi#Zz-Cdq8nKnLPcRXN?&CHIu=jPqcA?Nh4G}P-fjE8H0Q)Z;Amx)6w zEbj-O06{y=)*nLHW@*;lvsJN(yy-mrx0dpox}@IQ5;WTW?wKl)-tFA1g<)mE5&_u$>$}HkB?kW@-NVQD-ZX_ErL~NN28vwPB#z zggra${ieEg7+f$az-&$*ZR_AC$02zKEUA6=HK;dCk27& z1CSHTGhqeMILD-rZZywQc(np{usp20Ca_ka$Jz2YQs3Y%=BCJavT2rBNE*+%ASa~h zgGj)=!N?(HouvGz3XvWxXemR_A;-(V$ZxmfBqAjSW}FGe;T?uitlj=;wk3?AWitLK z)Xpsb>)gX0z;oJWp}wBdfqNCR58uf6bEIUcNIL_zovBj>azM3&S4w`ZYP<3ZbY*k`9Q2cuj+JN0~Mcf6jy+^9{TMFFyE=| zDWCWicU_Vle|!bCBl5CogQhBHCMU7d?T%d=w_Tg{gY6mSHYyhCXP%7K4{9#AQGwsC z(tWm@ow?R*u3~=4<5G5`?vp91OP8snUXVUX+c8r+T)Llw$tz*lmAjngbYStEE2i0; zCh~=}2mR-(Q&%o|PF*n{k@ooO1ulKt<+zrjybSv|=u+*1`hQ2xz>?^NZQP%S3OW&E zLTnrRviA%sH*AgfrjwaAR-b;Y3V3E@J;bY1X)?BHzuP*ySUH!(oAD;JFpNK4e|Md4 z@&0e!eF{cuqL{+m4P~dal`=4qD90sA0>kMkbMo%!25omm{TqGl6B_9~&J{Gjn*Ed2 zTr{2fxCf^g_$)tzwhqni#=yoES|KTTppQNiz9Af+$dwp!7>?n^Fj)f=%K zTkq8-tv6yr>AC@UKFBj+nD|5-pPbWtKBDS&xqrEwbD2H4GiyNAm|eoJ(H@_scUL!n zIIw092v6y8x*J0I2tGMS6bC=dY6~V#;Sv{Q48)>mT40(@w64Xe@)T4)f`2BY>6UAt zL>m+*&!_^Ud1fp(q)Ej1wD5T10Zr1=Uj_+Bulj6hvD&oHiR2F4AJ1Pm2O9D1T71KU z{!VE8qV(|a^F9u4;gDSl?#GWmoW@7C)WbsQzvO&@;jSlfPS|sSF6DogAiW7ojV`ZF zTv#<$_WL8(nv5sEg#@n%icSr4Zr!$OTqY#^f_>aPjG91>_y>h$J&%B^K2EjH_|ObR5Q+ zeiEo1_z>kNspH2o2M^D?mx2&K&wWx!P1+a|@CTV;OA6}Lf?;k^?rJ-dke2K`6>0X| zPl_C8r3dFo81<4Fvr^P)++tOJyEv>ej$|l}ah&(RH=wDbw z1@K^G6@JucDOQ`QDe|)4^x_Tc$qcE?2UtCD?jHY|o|cYrlddU2JbtdL449zxw92f1 zrNC{-j2|s@Ej~tKj(2D=ELi%qO$b$F$&foPFJ0WxJS6I-+`Z;Gpw{dLF6gn5|Ia0- zBst^xa0RrZSHh}R(=(j-k%z*L{sLF&vb z`2?{dJiqcIqD)R;{0~30fz7Qq`9MQm^)iX%46EeF#t}o-Rp0h4=#vX<${4t$^U){xw*Lp+Dmttggn( z?7lnCG8GsFxJ?y<)hDc3&7Mfzo49bNTbW_hCsuY!uVYduc#zsovd>E*2Op$^hcb=c z&j>z=3dMcHwnq$Eb$EM?BNWZh!tmPE%NPbc+g?W8ACbk!_sDtH9wh{^fnSPd!Y*Co zaD-*44i9%Y8^_N@g*)kw=3ErDu=)#z0nzK{>8&gD{wXJxYSg4Hv~CcY!}eMQ$a5x@7m8|MV8u>O zVN(Xu8q{8OjvZR)M^*A39kOVge&*nc_~Cfu2k96aE*Q5SSIFv;6z_;>J48M($+9b~ zsvKpNrOyVNl69+gQKv5Ow3!&iE;-Z?+-Ga9OO(w3zgez+N=ti+AG?CT#%__$q&}nr zc1j%AOCj{tw!nx`XqWRECxJ;c){^|KQ{vTJL<)YZ0tpBuc0xZ6Iv5fudkIIzScl1< zp@m1D(^|sginZxSy9C~ezyh5r+)bqt_d_N2FG>ePoqv{&A;aJ`g@B$KMco6$Txa)b zuuMMx#F{}zfBv(%+EwwiS$a8ML~Gh2Jgv}AAiy45_Ea3j7o+ZJ{@#I4?>5pj4IvQ! zV05UJ9svFaqX?FSasbEK*)}V)Hd0l}?OTc+%Jsxi;wt43dp`PpVget;aU28@w~t3= zOJa4AGsVDT#8KSR0>J&cj=hWz|J@SWfCw_qm4(kqM=)h#ZZ2z2j6^P?SC#!M9{BB`ZPc( zyqIVDVMpmUlj}*g&CmS{%u0@4Z+~{!T2L42?;Gb9FlamzDtLN|zpul+r4Iv{fvAcO z#e*$!42+$ zVZsT(`ipSk+?p`Mdc}EJd(d=nCJ~4R_WwqaNA_)049!LoYK@jayl_|dFlW6;EF{!F z+cikLff~$NujRz6f0}8#PSosgyZ*V-QaH|8$R2&guoeP*5)HyBIKJp18w=AoK=Mo$?9x_jiSl;r*%Ka*~L zK1p3xUzxgxJ8>yzD+o(qgJ6L|%@sX=hUStR&C>tcgln2`e= zbUgB2@#%y){%U-X;TsH++5=Jit~QR%<|{IH*#h-e9plm||leoLvO3a6u;8x?5Qzc;ebcs5JMFB~$ubmW0zQ2%e zsxX2oTctgy0^~K*)#*Q%#N!o>7ByzSn6x`sMABZBbLnk7cCvufsmw=e7LfGLh6mQ z8poYIw97VSxU?Ek&XN=F%jNjlaq1q1st~@cb&NXzJ1CVBhDrdYv~DK_UTpPlXD3V; z-p=O1X~>Pmg-rWt2H3xkbL4X1v#-KF=7T_pu__Pl_7f!WNpCbArlieXHfMwep;L~Z!%kDwe`NdE2%Uo zV89_?aWW@87f~d?oGZdCL!?c=At5gaz$ylyzAhdoYc3i2x-)Uxs< z*}LO6^rSn)cV+75T#k<8xl8|$iw0tM;SbK49MM79=dIQaLB|vW_LzTScVf>kfLPZzZ{lx&=us`}lMdZm#Y}Su=S!rjuAo>oc=i^J?%_9m z3F-43B3=Bcf9DeE;oSwr3bCyH+p_togReu){1XRR29E>s^ea*VAq0lO<2cZM#Q!5f~~c7VGb!8IxB-~p6Ud#!&$M^Elb*FX>J!73uE5} z-u@3~U9>>JF-^iO8dN+3n7IHnTo`~`dueZ=L?it_8cvfiQ=5~Lj{uPM0+12^t=+sO z0;gX#8$mo68q9&~(jqS#Ew4D2I$oSln03?x$ov)i*(y-W6!09HoN=xhVbf2u0nq>^ ze==djc)ABRF>JZtm!<*$+*GZBC70@zfazz4^&Mui54f(}R$v+Lbbauv3@?C; z2UoPDU6H1SfNgdg@%4=-%av;F{VV$gNA7yf-pPHurs%vjiS)RkCO3jmTZ1{X@Hk(C zG?lozRPI}5bvtpufA#X^=({{dcfY~}FVnUKs0;EWGCUIZ@N=udiZdXO)y4j?ym5T# z{;fx1m!=$85~8m#Uv{{3*#St(nJ?R2y`25xSt7bX29E@!TGJ`V)^i+6!J!D~w-EAFHx z`K2p~bvkRLpB+A~AvLglylYMK)S*y)3i?g6CuuqIlMygacejqIk7tQ#WqAV>sK~DX zN2E1978LTriy&e4g!W`gV~jrcb%kvOiL$cxpObTEy<+MgQ(4=DkUjRh9vPaW9%{pNF~FEDA7An1nAn=<5ggco~>6|oe<(1 zrMx|4`Nxj^Nnx8m{>Gi#y(?`WI~~7PtfSewk;k<%tCWiQQuyi{M>oy_hoe^*ZYJhk z6w3RY_v1p4)6vJo4EhoT9RW}qPM(*Pej6|qm6lc-(icaTL3x?0y?QiHyU!=>V=QpJ z`sO>WXr72ReP!^|?3KI~g`^*5;9qPh$cl$=+Sh|{2%83XyHY8Xz9nYU zy@T|?nl(?1m(X11P zJ`Mwi3d0(kaBa8|q62T?QMDTWq0L^8wT`vt9fjqMBeDyOV$Tl6oVWtWh$Zw!!2;lb)+5-}#R zdO=*V>cSo#>Ny~PekK(@du(wvd{j0mJAq^*9MEUUh>IuWmiiC$lX4xgx+R}le$xeS zs#R&^hznO&GpO*X$#Fn<5f6d*f+_nW^ze6&q3lXv01273OP9KQ3<=NbdEdlN2hiJm zH`Nh5N>|!R*z8H*D9@H4N_PX8wGdYxW5k!;78T#F6fa0!%G?+T zXpEo}Gl7~&D{FZ%oc5MK-L;Nw?yQmt&&tB_Q+E#l`< zkk3dPR8%EVH&6+aE#W&qnq*#QB1d-JH(B(pQd-j@Sk=>q+3auL=*we@e4Ml6L9ANQ z@agV}Ij%aEC8aKJvEXu}3?4?v18qsnW=uk|^aE<2_tP2uoc1yioUuM1loAW&w=?6G z&P6h5P~7{a6D7>&$LnExqxADRW$4qzmLC4zlUNX2o)T0|&CTCuBQh2oWjRLt)peo| z3gxpn3T-Z|x;Z?dH9Ub_4iU#3)@h{u(Lx{bLeEhChw{42Xr;9ouuN<(2ls882P)E9 z{LDIz-9>L#7$`1^(W`-E6f=6 zqH2fx?G1l_erESj?DE@y^ji*BX##BNTe+U#sy+}N-x46Y0}8uK1Mx5H{-(ZoiTy)Y za_RFWX1*)T*mvU5myixuJ1_B-JOPegM!%pfeU>Ukl?hf5o6hBdV>g$-`$B(f#P#-m z;fT`wtb=liEt~^ip$9_>w5;8b!LlD(D9ZVJ+}ZkO?qcDO%xp~~3V$dnL_`(TEAvJ5 zBtP$qEIRInHHL~Tv+sALrQ2IcWksDMLjYi<+K?I2192i3^gA<7JW2chZWK=y7jhw4`i57jsS_%fz15r zbaR}^ovF9WHXj29hc532T)kB90e?eo!hlNETV25zZ}1zj z@4zWBBF0JipUnfVEKlU2wH6KNZbP|gSf|t#Lx%gCtoqf0G&M;j?!eCX+fBC~O;|Ti zMm{sTUn)x5rxN=aC2jU3x{c6WO*ks)JBf(6?akoq5tnL94gK?>O^ME5?zc}e4!65c z7N_h@q&}UTHVs8(<3tzgT{slQM}{2BApY4P%>`MJ_xh@N_#wx<5Bf9TF!;cf+2fv1 zyTkl9GGp<5d`m(xe8&mjk6@>S%&M>7y7f6Y`%XMb#)YVxRXQ4qXqJvJaqrc_rqEQY z((|8n++4p`;Xk`gIV56ZqFA}`3E@@XGOu9Su*NA7FqcnWwoFR9x2|>9EAQpGK}Y3m zB~<2uQzlnXIliq6=&WL@2?XAP)}%dO2;M7?L!UC7c+^->B>Y2_*+kP+&JlWN(WJ| z(ULlc$$L$+Uz*!NvMXV3%UeQwruI$0>9nz*1W-^0m66ml{S5`AMc$N=Sc7FiLeI2` zjjcSDm8MklDY@^otrIoh0PD3|rrzp8=E8%f?yAn8X0t%$7JZ%~2?S8hOgTV)k*x`X zS2U%sT+bDtolRz(ewVI0mZg~H-(bOA3(~t?;lzUpk6RTkhk;u4o)Y8s9ZRSiD~7E!e3O{grVRhh zNMmk+ey+> zpRkDyw!dCRS~fnsmK6VWF2}-J_76$S9_NB9pxsr z*{|PkYB;UQcRxa8r4rVGmDs=v*IJhN?w%L>wyHpbj_E7a?&)OgU(=<`viKbKH6|67}Vc*0?v8a6eNC!iHpV9Uf!vhn8Cr zwk-=%fSvc>KNGZ>PxTHX$JRp{^GZYv!))b~zWB>iFydXlgwz#D`W3$A?R`%(hVbMG z`au7O2kK#6$m=E#0lHo}wfw^UFUR&ZI~6H(B@N5wO>i%37BD16l0Jd)!zFnW#~0dC zw?{4kzeZC@l@=wYy^2JGxA#h(9IDsZ@v@zB|L4*r^7Hq=00YBevUay}{P}xZbo57G zL+1)-WEZkDdC>Z!j-+e-qcH|8mi1okktYe^*R--HZPo7LQAQw$X$C??-K4)9;_T_+ zv8lHQ(hItuh0khqvevr;daLU=NU}%|8V|n)c?d|^6bxv0zk(EcZWk1mN!Kc;@G+h} zUgPiDFoRP>k`XpCn9$V1UhjJE-sRmoem+-yOM!DwORe9SrT)CpBXn1^rv8gR969*5lb_I$al9H2O z^P0X42W#ckEn_GA9q=HGHjU(2F(8o_*#?TGaeNSGuu$ud2|-}#PJ)SHZi<1+4T;>) z&%&crxTSCLvC@iVHvj<3bqfL%Zdqxsi2)n>zJ_x3fN&5bh`v9^P;6HI*0X%UXN~uy zUXNw4@;__%_Z&^SWU z-MrF1)F}!j?|{g!@QeIX+W&kPP>z0)3vlrn0ovqxWn%g_p(RmWYylfnou1TMj?qaKvXwn;k9L8E+rp%C2OaLRmkFh%bs|z< zL76%Lw7h)LX-$(bbBR!13ba^UP^12`24w7VnnM`Egz0~YSsRezi{zvTiL+7xB>;6-prO;gEg&U_m@uQ3Qb}|c z0djgNZm#)%30kp)9q{o$0f6}OqA*aZa>4f)J#@D$8KOVUItYIPINcbPou{RE?fsk= z*}3mtj7u-IiKK(tgc@c*_C`QZZJE?q*T72VkExtIUGY=sb%D+= z(G5i%fpxz5RJSBB^ts-tByV>2ze-kro8es8ntQ*vX({idkoNsUhFMW8uLj1fjmn9G zUiK>$^Y2O{9J_<#GO2{2BKWbXd^zZe?Y-eISRJZb?ff=i1fC12dxr9U?~&Wuu1KcW)b2rix!W>QDUZULTf!*$-T^95?Zvwpa?Vfo?WJLM0co4&WgLWr zc977%HFAY%`E@^5-Qjb@<&;SZo0SASHS-Qs%48)xGPdB2N=aSo`pSoKQKPsVL8iu> zhW=93i-K!_ku(=ObFGH{Z6RsiCwN|tz;O0FWdz*3^ao$dnHGnqhVBYH9qk#8+C_K2 z^|f%YrE@aSKk z6ecQ`Y>m<^V<;S+1(`yow2!T?YsfRGe#wgC(YX!4=>=pKKWh{gOv&f?lJ&A7M-DiU zOSODGI!=Sqp9K7nkmf7p{@T`YIRWLY3ddw~BVb5Nz>aT7Y>WAcX7#5PK|hPk?+-~r zn4{*tlPG!c-#^FlGDNgZtK{o!;rmT*{T=rqLtZ?~^JVzEX^DeovlYrlkd*R%d_Ek5 zQ1?6J6@0>j*9PD-DG0f$g+IQUEj>D?E&_N>N!@g{RBy?(fw**St9W$AkP;U?tMlGUr9U~Dj2^gQ`z zRFE)YN6GKgtP8#Vic1J;awe05T(-FH&o@M$bV@DIfwg z0}((12Gl*TNOAp(&rKUCo-{8kh4pfu{?&DfXTqM8&)elW^>)C-D=L<7vY5DuZ17F2 zJti=XkL-(`OtU9etU-Clw1-eh)AD%!lAVbfeyrnBGQz(@*f(*nTIp49gfSCq43!aV zZsBT&d2_0*hUWsgp-te8!(Tax5bD4FGJJ8@&=84qyelxN>urT(NDI1^cuk8(xMKaz zqf!x7)~rswwkaWC&OjycdKZ<7gyEC&cUhI!X;`AKvBbDuyZln+iATrdED`2+l8!YF zPgwOo71i5aYEe?0G4T{n6ytcMZtA=Na&@J5Z5zd5PU>%dao*cs85fbO^_I*{nuAnV zlYXvkYg}V`n54x!kSXz*NZvh%Mg%E@vaA*f0zI%UD*jY3bpNkTsO;k1r4ZTnTw#-s zkK{8+5$#OdGE4=xnU|;q%X5>qey+(tW%%YJVO6-Otp%;4$YjvAC=DQvXI#nOLzXn1 z7K&m+lJ8-b)0$S&b(}N$mjfJ1zi0?IwHCf>ceq?L|KQP#Cfp_w&0K70U6V$MOIwKS$>aukP}mufc664UQqnv&G}f;}F6PML9}!>rRBOgkz#x zUb-Kt9LyE67n*Xu5nNpb7-WbX|HjSpL0kquvXVIz<(`3}Qm-m_#Ovt5JwA9llz9v$ zSE=wtBq`IAAAn3@Xr1bXSHE2_1Ghvas}ECmC-=F(17=uhrKkv0!~kD}Ne3VU1H&xg z%V+Pxr(6^bgn#suC_S|mKbnQ~(z7+`izjT(u2FV-7-3EzsJh@-x`hithi5f4t@PZp zKh$`~#_}lAmWd)OR=-*;6j^|a#lmMh&hRj{sq*5>NXmOUy0hXtp@HSc081d}(rnXwmJs=IC z^t1KF^zfw_zX~|nu{uiX#dBCRc==>UWET|FdaX$V;yo3zvdy&FLbr(UWQ5wR^07t z5$lzKc=VB6AadK%0qeO2yPouDjNfG>9GYr#o?4Jb-VRo3ep<4h2eabIv()n|k5rC6 zsV4Bo#-;i_SGWEHT3sRk!c`zr!_7J|D4K*Jmf-7s4&tEF>r@xhN=$iT?IjEaS!o-y zYFUwE;wMr3qIXgZs7bsV6Y6@oQ?v8)OCR157&B?F$sWRI3+hA}fllEmCyrVj=Vatt z;ZUPisBomI0qfF~1~ZO_{1NJRXLtHW`3jVOUZ;8aP^kt684@UPima!>{`{?d?(z_| zjsJtmRl0pI16uW1A7YiW{uKUO*RgC(5AWxdIdGz|m^s%bfY_90yH3u1JBdUmqNb;!o)9 zttLv{Gvc+u$U;Is-nh|Yd8oNm*dqIM10yrp!4bq^D*mBy3f zc6Wq$+;1@-Eo!%UKZBuhla2hTcgvtyk-hf8Q??!{>@Z_8L@?N}+}C9|Qv!kKJ9uvs z1E^c}G-lU!Iqp%N?5poo`Jh*Kl}46uDK$^_?a=boO4iYUWJ^3$Xo4IOj_e1Vgy0y? zpQdZMD8z7zmVvaEpufHW{F?J}QqUZ=sl+u_$J#rwN>+4}u{`g7VMc1j7&z8$ZZmrN z!pZlWdQvULd<#aLlN?X7`4c~oOFC_0UpwnJhMP5#IiR_s3=s-z)Z%A?UQspsdvKEK z9yE0Jp7(h!RM*{sTY7GrK#s7{g}?4VCJ34i)vu8@067GREE_3?S2UmA5c(4_%!icg z4Ll-XP87|_dlf2>-Mn2Tu#>M`ZXjnLb3l{IY8vQVF%ggUW``#kjSs zJ;%Oz98~S&Xh6Wvb6%|7O{oXGjzkPq6>=LMVgo5910kx1bV~G`bxJm)^&@rJv zdDK#(EA|L+wRFl=`__?1m`bg@M%xu!atoVe(<8Su`>$Gr;+-H-`foNlRNnwlDUUbMODB7oiThnI^MTiRpRH#YSW`ORKQt= z>m_%ZYga|Czv5@E5R}uYR_I<3k7hGzR5yetoCUXLgk_FyfC`Lvhd5+++YSe;#^&O7 zITWcwc^Z2y02qP=!bsuHC7%h~*YkXRaW}Qv-4_V&QjX$(GsVc99{lGLJZ!url1}`a z;}MF*NBySK^h2m@q3iyTh#iK_=ODM~uxd`Jlh)uJul5;F1fKyjrAb4#Bc69!zt4=d zPuMRuSLS9UFMkjp{SQt!s!!I64(SiSi^vq&TDLO0Q`TC@@bnLF|L@thsULRyR*02~ ztY3rYic2TOB>&LFC{M0qB^RJ)7m4rF4rx;G{XN4|y{+)pu*NqfH^1&&2y=4I2ZqYV z3miTwTI9VgCylA>IFu$Nlyn>Pxk4fE7CZBuNty!>of_ ze_ej{=p7?6=3VJs&igd~%=(O!tSSUm;IyDZS`S^tFxeA~AFjsrv6563Mo^J`8_MfILhtn@INfLnMEEU$|oz zX$1N^Mx!sXuM$&+1%JNFn$9*`fd%3WN;B*dtTxU=5|k}QUjqESh#x{#qNPB#a{{Qja! zPmP>Pb^s#gK=$p|D%=bvx=viKj?OLbGd?%Dy#YPF=O74iLuThxOw4$y(A;QCcljR6A&j2sOjqY;p9 z`M!_8_kI6i$Ft*k7&{KG^NRbv&rcPICsW*8ynei>Ng5+Cu#BA_(sxt)%NLc^&am3K zuYFAGz#94WZ&XxgsCgJ{%3-L^@QCAxgbxJA(pDHrQ2{BZ+eXF6SxA-ig!$7sW3;|? zD|0TpyHGk+B8n=%z#8>!`c=hbJVWdolM>)SPU`!#*l`;inxiNv{rz+W(yiV;DnjDji%>8sDLd`V`r&uNk-nGfFEV z?vHZxz7`tTEX6%kOxov}Ef-cAL{Cd4UPat{k>hIQ43AHej%$1J<&qX>gjrgxCXw({uLN+cro{BTjiKmeS>YmBPwz7l|OE=+ehV^-gE@8!#VUN+|JK+B0)Jiq_qE3?47LKZ9Y2W z;mw!zUT4`?W`K*2Az%Pdm(u;;4Z_c-7pd24RL751u*7TxnUS0VXMmwq{%8~h;$_o_ z-@p=s%6R@SXe=$tAs{z8eHdpJ zwr&HV=cZBr_X59 z(j`B3gz81uFLS(p^V&Wh@%~GVT7-4Ybj7@FEL8W9F6r*;dJ-p84a2r6FWvjxRK#Ob zy1ZCg1Fd(m&vbQ=@o^krVJHB-&4K9VKrHe!Zvu3ma!7Pq)cA%oFXsptfd5eMP&-m^ zfRBjj{vr4v&Vu8rI(#El@lF7TPe`HOj=CsD&M{Er_Lu=F_Xu~?+qO%fpJ}m$#<+!O>NYZpy=^=R9_uV^FVBLkg1fXZj z$I6-B*b(NwQSb33a2ld32@+g3yg_`PMOiQG0^og z*O4Yr>b>SrU2X--Sug8kZLa7}Lt|z_eXav8R1E72vMDIco3M0UG6CoSn&IN)@ zE+-;C1w((C3dE8=5KCPt7+J#5|3c{w{(s;nWR%N}9Ke5~6``uU_30l=PPk!2=YOv* za{pt?3Dy4NuY5>I%Zmg6vGxtbWbYz@9IeL;K&XU`fC2@09gwquHWA9E#1M<*@ipf?TavWV7h!*;xxCf02t^cZKa5yd7KzK zZX;(7O?bafB{&v8OH46RNq6_#$j&W<8w$dw1Sa~&qy^q{{D-+rBYw+G5YR2)lXLWa zXTSlD%F)#oeQ%cNNNd0b@UnnsXvXp6bh(agnp|>@`Ov%~wDaV*yhPG}#7rQL@D@cV zN23@WfS{=|TA!5TG~EV4kif-1z|*wejY1KC0}!u}5|{+FbC;AyE+@L4TvRt-SCgv< zQEZL46*;b2@61y`YY|Qd@O=eGpKY?Vfq3QbK~)Of?Z7vE-UWWqA+iDG6gIBjfTWSi ztG{NC$BTeJaB1+owHYnR<;K4NH%+^aazjMGjd%5R@L+Dm4^6>QIfZgsk+J$4Lh@<} zI*7m*-dW00znnR@Dh zxgQ-edYB(&BG757?cIAIu1p;}<~xVH7)~J^u0|R^JPF!1asx>l|96AuzZkk`D?<;@cO?Vj0ws+{0{$h#56jX~cMvRn!)y8mv(h=1L3xOS1E(5AE6wF3PG z5KOo?tgqrXi4|>|WGEKB0RXcCyO83XDX)Ak3dF|u|B>p(N&rh%fn6OyHiHyx{~v5! zfgLQ|z^lN~tOt&502oNX;*322k{knWv@d@=LJb72Jdgr6aE^Vp?>@vD3V|N$Z1f}k z7w0cO#D1_-BD?)Ots>Iw(QWu+Ir9&n7`X3p8t8QIcj#!+DvrT{oETjwboW7OolVyr z{<>J})<=icN zZS!3HL4}d<(Z9(Ln*zY1%%g($TBq3}Nc*3InxnCIM~(g^OVJ3&{Fn7kY3X#iv;Sgv zgxmMsXpuf3%@9%%UJfAgO{{sCV*Vg@Cw9*>A8wEJcq&(0(fOsR9SM_8Q zNQ?lD7VQM^;xkDJW-3hTbt?7F|I46|EHp$4aTB;TT`n)tjRS~hqJJp(BGi}zbs|Xx zpbOC4Eri1VKGN8R`&1AI{PjSN1%9V)Nq*e7vHwwX!Q}MTftpH?Q*yz4rvgU+GioG4 z%NZ}8mq-$?N%ctFL@gIZk}&4R-#|Ly#hw1i(Wfmn2S~m^cIJ&P@j)ovgH{5x_PYsD zIRyq|j%*O;FH{0QUigXJ<^aQWAc-7zR4z2-IHbtQD)0|dP8jtsNu0kM_T`Gvh`w6F z@T1={RJR8sY{HAVfd8qPJthanY#FB}G+RuNQfEZ$TyZ`|D_EO~AKm7$tIP$8SpDD> zth>4e3uxgBP~U!i$eACw;)KgLPa{c@hCg4!;CGrz8}Bw2IyGOtJ7%LJb72Y$t(!gx ziiRbg1$1QXcdider&_J|Il@3S{X&tdJc61;fuZ5w{D0#1Tf{%x_GY;Uu<2=@yl7?f z#uw$HjNIOt-k6vs_q}PsX5nQ3u46agBjO%Yp}jpz#8P28PYk4F(g?@C*N^Bfz|#}< zWjAyxDWTa7-xbvfFB?ZQfLz}by(|O*{c$~N zVw9R$5kSZ$7w{_RINDJg-Uc9PIT#RAW|qg#()~Q5{gcS z|D&6Uq6`Iq3{MJm(MSM>Q=v~OmMnuOPfIY~=xtx!{m?mkujM_0p4PL7O>MM&^WLB2 z&nv@4Qpl>k>!+;DKWqrk{(_Ez$G1}PNYn{EA3(AE(h@ACs?^z`T?v)&+)P5i>=r>9 zk#Y)bh_`?sU_oWv03Hcy7S?PkoBTIV&oF?3uw+`L=?dk;o*i=&(ez$7lNZJ8Y*xmBx$5dPE zT2lf+wP6}qP<5ybI2T?l;B*Sis0}*gOIpYnsyKNQm*rZT9&$qURY#OhO5;^S;bXIq zZ5y^gB#Z}(L4&bB)|Zx=LoV_)K% z@#D`*w_h}2sRPJxxu#TrQ0W4ET`JLV$8x%=o&?bd?vV<--M>pCK=OcU;~|VLUzgfZ zjei6vN(x5m4SU}>j&T(Ll|z+O8t?{i1695*4Ip^+r2LAe^LX7H@w7Qftq8}$n|a#+ zb{i;k^ol->a2FB*_-&4xxw9gGs2#m8<9peh0%#AdQN+Iz1zLy?dE_`buIME5aug`$ zo$_?Rd~#y|*%#;v_~caDGy!qSM|_CHaakY$L8OCZ-UK8Fo~Bu~K~C%Zy`Z)Tm80t> z^I^2I2n7>GwYq}U>$O$5t1=PtkR)Lzz5+nUUgxFxije zi9&PlsRb$VxklaTUM3`F2#9x#la&|DssWW&^rnzmVr3KQCu&Cl+VRGov5j1?!R@Fq z=EwKc-m4T6LwmaGqf|9tbScepCSi4KTgR9MMtpW}qeNVdwJzV6a|0)8T8!H6%d>eIc&o8*>~<>F>E|5J&Gf=)Eg>obRGr3jAojbQ`+46V^_*h6xi~=YlUGK zNjEusY4azpzo-YwyDv9EZlWzD1JP|(7ZFloVj669Kh9b_gWaW@_KNk4eOt5rKv137 z+(^{5_b5nt>2eG! zdx1WFS;d0e&m;9+=FO_EhG`@Cd%4^a?7tDiM>!5~MF2G7uBCaLHb9t!HxK`>z|osu z-uL-;x%lsrU+vP45u}*+$tU~fsY<*ae{K_-Q=UE$v6B(75jTRQ>sz^q#XQ zQWyd{-sZ%b>oCB?AY_N-V0bCec+PfEftpJ8E@%+l^it06(l)d7pb23Qp|7Ei4c2G3 zQypL|4=r9`4|UqUe)VQQ?qL9g+eNiSQukO^Q)QiCUpp5H{=+N;0^L67;E#j?Q-q3t zA}Eq8uku|H^tkms*{8f%+sHg(m2+)p@r_l2O_z-ylQto2iB%UPAxJMAIi}-t-F27^ z*K;?TTgYsNEzBWBP16Ep$T5O6NKC?C#_^|UnRB*7@#2~6oHN?hlpp?1TE|Z1?z@?w zwccG%yAuUWu%!%ZmUw%m7i=Q13`x^1?eLVIp`_GW6@s@rij#e4QgfE?@W0+ zvNGY4P~nN5$Y>EblCD**>S4f5XBCo6)L z74w=EvzzR9tO`E0xZbZ*ZD2MYv+}P3ju52#@VQp(m|FaI<5i_^SVhu@{&b^`uvdWR z@=ik7GYfjvrkCo?qh=Yi9Yik0LQcNh;gk6r9U1%Du)Zb8D%_2CLQST4;HAM(yYNcD z`LmRn8J|Sv#AICdzMI)88 zj$}17j%4OfVg)6fDuoCEpyNt#?Lc(`tf8zhN1 zcSB^uB2BIIzEa7ou5X&EauD&u@n&vUZOv*Oh~9f8O-{n?)};J@CFR8X+@lC(Se@#o zC<>ulKcg$anHTrCT8^uLmu)J?u>>8R##cZc*Jbk&{p(~P z%gD;X88LIG1p8F(TF{Gxpp&G=l6tE;`h_Dy6}EbZ2b0lqJkZK_YW78v8W00jOa!Oy zqp5jaF&aYw?0$xZxFN_^bL(xBa8&fN^b|*zZTL!3L6cL?K&w-av(da+@dnxX{;!Y8 zss_el$|-_EXUfS!nZ^5jl`~)V;|VakNE3Nwt=;q14H_F{&$9IHGYk*3>^Z!N>$Z?JH9wa=xWG}##T$3AR`kRMdgiR@dB0s(n}MFW%-f#Y%##5j1=>+7M_R43-;-C9c=THv$O)H{?=%Y(FL|`Y+2CU{+og<)fN>e-l7BBXE+$v z-~tw~T9z-ZFabCf~mqt=grYpfv>uw-x|jjQ!6{B z7bHS+9rHmi2Hz36wqEBL8(zkqA6R)h$-F(udC$?2ZL%F|@k-b_XcL9{YVj2xoWJq= znB`BcgwI)QE>?@&E7zFSZ>qt%{>3ZNXIrKX%{;kfAI)erD^G|$TGZyrZ*%ECM-kt6 z56aQiq{|Vp(QUoWnI=LhcheCsEAuYr{qW~XlGyEB?v?$pvtq<`Uf5b){mOpC^$P4O zUi)hDiSZ&gl7UvYCJ*KCeeRDV{1J@5#|StI|Hi>oF_#Cp<2T)CGSkRIz(7GHOPpmPGbZUInK&Q{p_IO_k0{8O7;} ztMH#Jg;d+xS+X|F2aAVMW|K1|m_rRZA66|pe9v#{@xRJ?+%wExE3q8o!dzC8p*%w9 zDv}J|HNRYKcyxqSH7s`63I+ApEH|szV^9*z9AeCrhR+OC8y0Qm_rmv z58g&%Zmddl`S-&Clu7LXr>caOStGW|LecH+3cF~4$b9(hu9K=RsBb6SdThmS%3AZ! z;CS*%1`_(bXI!$=x?zhCwZRsG=))Dcf0j|4kMLSdEd|XYI0e`v0O|jUc0d^j=%l?5 zElkKvi?3b-_T)~Y?TIW)px^D}9Vz20Kb(pbhgm zHpV8C=>V~8nFZn)w-2F@^q>6|% z#--d{*BlaBtG2rs789foLTb}<6_t-S+J6|4U@G)2bfgs~TJuS|I|61ha&b+_WjNp* znaOdbf8)s1^3Y&J2TWck>fyQp48UCHg!$HH2sZe@f61haE$mzRo_P=+>K}_k@_)7O(WnoK(OEU^aEm8lmH{i8~`5hO;hRy zt2e_5fEdH*RYM*D)o;QWC+Z)uISq<1GE;#7QeK~~YVoKNs96O$VFmwwkLDBmnEySk ztR@_-DV5sYrpYD;1B&7w2lKX-`0uw;VT~c7;uI3~uqN_xe=#m4tf^$~(LoRQ{)G3a) zlzT-pSqgLuGJfbAFKy6O9X}5boHMA*iOlvtjBp|7<>%05$5s`W~(P5bn~X@yTDo_R<=~{uws(i-Eguv8xC3 zQ+y3u$b=GwPl-k8ONq&4X7wRPtPj4Uqr#sxA@y7s*9`$jNA<67g=}JTYSnlHZT32g z5d=NhL>NvwXbZl!_#}%hPPdohDQ!j_S7BkjRY)o(UHb5svwu3w-CzOI^0zIq%KTj9 z4LT!nad6r{2`$Kt-Ryk``va;;CffnczW|EN>_jh$Bbc&uYdR$*-`Q60yMq&Bm zsFMWpvTzp>ox9g!U6W+6fv6|gh;p}CD`8}0rQgG~wJ}w$Qkl)<+m%9 z`x{f<6MKIs;g8YfZ>c&qB%Ma z-LmbF@4C;j15xg7dYZE;XW1@J{y$$G!Qp?Edgq5{2p!)R1wLEJsBhn1>>jG(pUt(r ze4H(l?N7aSW2G(i(dg$Jxc8A(O0=M-QQp-*gwAEyx^R+bgluf9gy{J2F@j_)=)ic8 za-3(TM0~ZJiQ__7`M#ii5o&54dmV$Mn!&q5-&uuI!=7d;)e^c3+nHFI4-`#M=1h62TLP_fqPd zG#QhX#AJD*oV9K6OTjKO3{GM6xNMRohq~<{laNL0bPxB4+%n|nrQlF^0BBe|leI|H zTg6G?y!Z>Q;#I@$BR zW`|^&vHR+Oz*crAcvV)-`c?n75TG?m&aU%OaAE%3@qWtHx5W)B$-MOx%If2Ex zs87RHlIO5o)Gf=BK!?_L{rh&cXfstgLNXcKbuCt6_hdVJcoU8Y$ z-1Hmj{yL~lpNClkMoPl8&C)FmYEp#WV$|=JV`r|umEIyFnQ9h`{Ur1o`L_&BT&iy! zX!hOjLA?&qBb$X&E8fSQxH+!2mRDF7ul+2NrKnUO~q-C*grJM?!7 zC6lZ0uAO2LdpkeWBv`gGM~9YDxrz#w)-a?sq5;gzn2KVUxfa7`jpFMqbT^0ARfIopyln`ML(}nXh$`B z5hS6|Ya?pwQg37C$Vjbq9(V4=#n}e_Tv$5P7M}sfl^;p0ZU2cB3@}(7P8IC}Y%2no zDoKxt+0XwO#IZ>^YnSloFq-Y&p9gH<0Q>U}lEMoW<$;k_D9Ug|`|~T74g4p%uX3_# zVzYNt=~d_shzf+QTLt4AJc@tvDS!%taZYznM87-v(Q6(nsPLt67o@)$iQvn`{@YTov=?KifV7;Qe)PiL9fG7%|Qg83$Cc^#+uu?Th$$D(Q{>XSr6ptOwk?< zq%r6BorGcRdcvNki6v8YxEyvm)Q|oeU_?v=)eO|ns{#wNxu&G)ba|Deqq;zoQZDC+ zS4;ygZ|3D`-d8fE%U8*~1=j)dzw{zmu6Gux=lEjA@@~{OP2g1Yd%kX|zNQK-Sd7g~ zlOzd0#8((GO_$=7Hv&mKk5cuGE-|aJdfxHVs*trELe5EeMYFU@=ho9{3snDLwP+`b ze2l)W(OuezJlsG0xTA@tkpCuNxG^gK}k+Rn7t4;subssvp!mp{P zlrCGz=Y97m;moN&KaG6BTkw}fe)hjC%ZXk)2YqXUM1bK?oy0QXm=H9h%B&N!s1p>( zL9mPn7bMSbnO>45zm70p8ESWQ5;!LQbf^lWbtSk7Z(UNlb zT&VL1Bnc8DuLc)S#Q+nq!Je_XeDPh2w8xdxc+$HMam`rbC*k?aS7GpAW$?0_0_zX7 z!Ibxww6S!v<$X>SOh?)HYKZoy#6lhk)%n&&=jYi!j4eK7{gv6TUb%lB(vyMw$c9Oy ziQrM1l{t+ZU}1~uO_naIG|m4d5Xh>(-SqJAb=Exz37Z8mtl*EPm^nwh$h`!;OO2fl z@xQ+*%v(I0#BJkdgQ_;ptDe4Js)eEA_(xES{@A7isdg`EQROO$_KfDA2bF|Hg*7i1 z{ZLDlrk_t!OIDN4gP61<>>`Po1Osw@?!!Aq*Y;ur1vyn;nlg@@bjU>I0-guxaQKpt znow_jKF8u0>42d6`sJ_%>M*k1u|Fp%XGZQF%XRPe#ZuLyk{QGci@_llhf?hd;fZI& z$y)VKqdAiV+eY`By;gfgvMAKDw*REWz+_&Ai#Vam-0&S@f}IqLf--^vs?sT53u@<8 z>yk-cKE`mY3>&|Px|^P^fszX5i9*63j6 zhqbop7zTBHb-xo*e09Tj%&(!NH~qB@j9&2RGfL;|%eL+dk;{Z*CK;t}tnJcsz$9@% zEiE?PC%CvCbtvr+oru=#m~x9jwq)1!{|2nTvt|D(jJrdFFEY*Hz#jOm+rq{ihugL- z@8~TCM_k-+Msl?=x_T}SeRE@Lkd&@wUce+IqcRj)!7TS=JebTbW0)4OP%uL7aVznMibu~NFK)%(C5a@byJrAwY1|h)5c#fP}u!@0C!GE?A4FxH!IEDy|wQd1Zs? z`0oZbB{?^lv{1YiA8@eL7Fe^65Ama1p66dm3wW!*#0*rb37fwNo({2=5|}1t!=S0Y ztFI4DUY0IM6%XvbaHr`h{P@r>PsV3LsYj$BbuXB~AKCr)K5G8($}A4^k?2EUtvbr8 z{hY~iWM8*?Ia!^f%(wLKiUUD^Xxvj{UEKB5{Vduce-;UcsYz+SJ)h`cZl{lV8uinL zt56RX*1`ImLQu_$(crv5FW4ZsMZ|biY_JJ=CM@yxH01PtH-Ye|5CmORpWi45^;aP){k3$m1vci_0_P(W7(W9 zQok>&s7Ymgvh}ogbs`)7{e2SqJ|3f5>7SZS|+U6}}n<2ft&eyli`2-+xR4)ua^m7cU9pWI*^n1<3L1umfLf}(*_ z$Q?h#GU0Wz)*V5$*tGu1(d^maGVNMnd6{Ge4bJ@a^~|ANI1*Slj^895q+{F=GPoU? zFH*9xB%U$P>A1R7tIncyKI$+d>x4gJIQI+V)fw}J;9Mm?mvEQ72{-TAvMMio{S^ebJ(X-I2uxNEDlL+!lbZIz!VPNbB> z1P3WBqbSL(E z+0@^~T100iB}{!!=vvqKlKW;GH--|@P5L>}563s|i_lnO(x-7T0;47A5qA7a3Zm?iSV;YsbcC(S7^l8?HH+_ViasPc8@756>Q<_|TYeC6Wa{?)|9^i2ImCwW+t zMr}Wfo4H?xB%Y*|mpe&u|FXCXAr&Y9>+14~(2elp-_Y~4s+aT9sMgm?D>HZf`j}YD zIo7J}jl=Db+;vjrT&!l(0{|D=el_w|Z0mMAoD%CUU|3HQpZUxLD`PKrA#K$~zJ;s9 zU{6P4r7I$5dFe`-#DpENi7fJ6N&_}aIsf(=)_!|>!uP3_VuGO|FlC$8ls>TBE{cDjsXx=3*gmtW;YSDal?xDFd zNP6B#V=VTqdfJ8ws0F)y(J2fZ%=l#@@_p+Gk8 z9t2=tBvnIMo??_YZN04Q;;w?CHG`iOHvUdssUMv3Hg#wSObzyfC-03?D#o#}AqoD7 z+SPQ6s+4(U6>wg6<78~%JuZ4pDZ#UAHif8E0m0qVHSbP2UXVzs<-iEgq7o8qm|=lN zxL)t!oQZOh$$=h+EKLvo2AM|C{=6a~pC3Jzr01SGIB2loyT_y`9^6{&-ok#K^>x2W zwf`wSC6B^*>0$G)LO&7kuAisLRY^gu*7!=MRbfQZ(LDcZI`c474c0q`mq2;TM0`<* z+7M2Wk5b(|slWKSUUT(ok^jqIfLq{yVMdueYvw?+i?)VD-1c$ozMMEeesP0+ZI_;LJIYLe8=am6Rnq;=StU9|mVo z*s)hp&#IhegQAzc!_n}bwbQ@KLw2}IJu@0Dt<&|vQUPSp`(-27>0Dkdosa;Jfn%2R z2v!ax(_|{9{;wp<)J=lKBfNi7HRFt?x0TRVMgI$dhkTLixlxf>!Os3ZLzES^pRI^e zB|U#ur!iVcPf?juLd_`vR|t0OWuuwPKvGo@y?urxs|~lA6f1ekH9QQKO$oeM!E~{? z>6+e>9g9!@(q1pifW2b0nNAJ+*p{Rnkmi0gx?ZpH>y5*JWX4!-W7nI{pLZb|zJhCB z)b$@EC@2e$OhZ~QvYj>M5Q9~eSrEwqdueg9MAiyUdz_(Ev*x9<(K z8$IIQFZEU(#cltT+zTe}SoJv0inO3Ys5uLo37&4enGKTu`tW<#Wx*m9lCkGHF_W`% ze7V`3m2_aubM{~b-o%{tbwOD<#=n|@a28yvzw{?l-(?Da*e>a;E!tj9@j|M(eC=c! z@6|tG!DJN5C`!-&Ij6a3uKAD0DNERcI)_A~uR=V$epp{Inh0y0I3YXrZbwm)RbT8< z@^cdoP>;~cW&y5O3Mw?vg_XKcPl3kRV5MO_wOB1)qng8Upl-tPqmw^l8__e&^AFug z#aCH`KL%*$%sSkTDpH4y)A~R}Aiy4!=JMB$-+&ewKWw~~;-TT!=&mYu4 zUvwQ7uyUzfcs4~}{I;rv)tgYWL&sg?X!)Gr)h$VoOd?OiDif) zt1q~(S1co!#KZWazQZ5lU+1MCDRCi`Cg#dly#1i>bibdFqy&E`vW+@eok<@^vCea) zHSSM&U7=Sc2SpL_?{}7137qh9$?>h$NxR)-dy>X#Yh$bd4SmQz@CeQmuOVs0!*_Qn+tMRciN4ZQhka&+>Gt)v-^-Z8TH z8dV{l&SF;>dZuSCWMPzG2}iY>_wkIk){1S>J$^ps;XJolOJ;liDy{nSlO4qUF2iCU zU;bz%XH;Fpkh(*k!CcS+L-S5)a%PJ#RHP##wU$S<;R|Z61W~@_!sL@`*I=Z!*7(rF z%LrF0vgPx+rV+iy2JG+7w6!1gz~B4xrOCbn;gp#v@>Pl`=zjSKb`IF`G6&db($#yY z*0>r!+Qz({FCqV^n=Ut#tjO32bv4~~+b)6JdE;SY0=3L(C9>Ytx5v9#A5M2u6t-lP zenQyNY9@bt{4gpy9h@|U7?-RW{1x89%&=J6#r+%M_xYp6vp%>%8ZGo z&J*sb+hO2kSNt4Wkk%jn7hk#^QLrpIW_=!J|d{B-b3N(uwFlDr76YWsrq=6)zE z>pcoq2rUOIf5Q2qtwc8A-;vay3v@Kaktrup-E88HOJ}L_<$7^hVNN(gs6_XE^YR^(C(=&PA)3$q zJiV8-!$w9ECx^}EpU`Gs>9Dhn$KA}diK*^tSKuP<=8qxFHp$fekk+T9iBQ_auy18_ zqGgybBB?!5iDsHo^dMuV-KXP5OtnTiv%!s&t?NPOUeeVLFG^w}W$0tPl9h`X7S(5f z<3c9K*L=O6KN*)=&WgEY1@x+FH{wK(TdOrXik2}*@}w3HlKFtD-X8y6goK)Z&d=o8 zBOh1Gk%7hMwuD;enC#T#SNTQyZ`FS9%6KCN0QW)j8dHOnl@yys@xb=;gWW(HE-KMk z{6d0Ppx!pgXBlND7UzC9wJG5|&>#C5@)UJz(QCl&VI05Iocaa}`aWltt-Qn{z+kO| z`S+^`}>O%3ef$PxG6J1=es}9kd%3W~1^b&uwLm8#!rHd7zdpJ=zay4mguTht1C!s3l5$e$_z@|?UycqRc zJXrZ7_Jf2?H?;7MNb5@6r*kH&``i`33CQk!tbpvcEK9OchGFY@X0X^Nm^8$TA5=`7 zV1No9*$DXh)S)K?qiVBsXy?C_fSH@z^mYj?{>W3Qof(*MfOg;c^z#ZgXuhkJ3EO3C zsKLI`cRGA(Fju&!;Eq)mzFPgVpJBNSozq%#w7(=B+m!>qc1BE-r^%yLj5(&~UQBZ| zJ^DBt&+_d{<>V?<#Fb7v0Z#G_rSV#1I@d-uf9}`5XY(@meslX2w*Vzs<*~FWn0lNe zxawr>p3kNB?foidH72PguVsDbRr)Y`zWm=EVjW z(u()(3nkKEd2Hb3Xb+Fc5Z3w(!D^yqn>ayz{}aP4Bu@M%5#m=aXkS{;^|?Db1FV@s zZnu&82Ym7A?3zr5?gN8ose}I!&=?1IPT|kV;uDJ&y{>&TYvqfL)Pim4O1giud$pMD zCd1c8$74hpe(*GuwXygdNXS^5+NEeL8W%N}aEoDm6gw`SVar6@E;1;-jfu?G6*qOA z6(@+GNmQ+~{aY`G9e%th3HNWGk%q3-LZ9m)6|0M9gRORj%uqu=e+$)I6i5gCD3pLo zEBYE`ZT-D{;vlvkMcD(RUTEL(m{DR6eVvg%Q2OVL6{+3jPu7fb>(?wxF=_)fZv~18 zFC2%)@ZZnLQndVYnicl(EL?n;ascCiUG1SLtxq=y@aWl>;a$QMM|;QmxwvcNyXOjP zWzc;wTk5eNF+Uuz#5`)^D`VQ}DtlMzvzC+}M~h%h_y+6dtK? zSWlUrOOt4MX(^u=ztv5tjDl5Mr)#>wQ0j(OdW*Mf#!pCPeRaaZ8g%M)NW{L4NhngQ z$lq=(jXUaDm7NiL3xbKaA355AAbc74_Dq3`CXV`JqEBOzN6q)0;!k@L{(fC9iM8AK zWrHT=p2j6Gq5vAemaHZGwZ5mrtR>KC7)_GeVv7aMU5K^W`e$h0*7uBkd!S~lY-tR? zr$j)QE><#u3|1ljo3`_2zV1Tz?Lth- zwyJ)N37Mzg-3(YllSIFKFxHr8)1F<5P0%lIn9qlgr3D?ogq-_wH&HTl=%K9~M`O*m zq=2O2gVy$He#4c-eQ5S)gtS7nztGsX5U=sjB%ga z9nMJplm24Sh@#YWb!IQ2Jx+5gpGd8yZG?NR&SCmarK9l zJd!d0UOJP(xnOF$Qj{r#RFB#Zm5u6U^7pU!(vvl+ZL=#ai|Fn3uYD!{c?Gk(?_Mcj z;kz5^w$E}}dj%D|)8i?__9Rl`g%EmGGprux0{%ZM4?5 zhmWC;P5s-6fL5*xPq7r)G33v{(B<+(`CUkqqjNisX1DXuG5hUl*2g8jg3ez-h1V{Z zF*A@~qq5rV#`jLF0yZwoUI(-0%#w?%*ogv@iu5gY32I{DwW$@tszj-(?TMx%p_|C`_k{G6=aP z)iL+v&*{g$bo0fZqT)V*OfoOPd$Lq>|J@k>Uzxhzwo?69TWXdc#P*AYbCILV4zTr4 zHs~CN-@VnLO@!zD@$Q6lAptlG6`9Y==Xrb!M5Xj1Qrpv;@(G`nXU?-~J)YRqq-RG$ zd6~2y*`?j6%Mc@E)BI_=06e8Gsc~hFM73Y9xbI#j`?%;f_DlIK5Gg4$aD34@i>-)V z8DIb?JzfU9ObMfrnc{`c*+S*H19v7keQeM$iRt;WN4dJSD+j;QHOn__)a$smy!Knx z>5F(uPIr}Y2M1yxG5XGxT8E5E)!E<(N~tm;(8t2s&0sqy{^HgkIyll(J)K+KLT>Q< zeVRhCg~EK&F0%zciPL9r?CKj(o!ILyA@ArzZp2RKtK<+b=8P(+xpj_?b2c(lSCq@A z^bEZkb?k3pI*3EH)$EQbzeE?omaxi-_SGZHHWlTZ3w$5|SYX4uz|qXOZQXM+DQ(7O z(*xx<(YF6m#%Kd}))OT^M>g45&C68@-1>Y`snay_SWJTxZ9d&PzJg!`?CP9_Y@nDg zBGY28-K%YMiK>o>i%S^iP3n`c2A;UhbvZ2UEqf*3(-yiA81Trv-+R^z!q_D9tfzfj zs8Gf0?I>sR4773XB)<`BO_ACbw2%+}HoG#I4?}PJ^hnG;c_txa2L5Z9BnkfrZK&yOG1$#q5YJ4D+J_%o<|cnvhw65g*l9e~+$JIp+Z5j>m|RlTh3>@zBB zhFg+VgfX)ZrS8NDs#Cf<6HiD9U1+s|I7)}WR>9tdOMxBgeU>Lol<;$xC&=%aF9h|> zE3c3d->V5h_2*apI84uTR8i|O=PQlk@>hU69di0COYD7boVF}o7q_4vWEl6~jc`_` z?}PyHP}cWe$^4rA`p#&Nnx)Gz_ywo7>V z`ZR$s#-%k$O3|=?tph@8ik|7rl{66cm7z>1L(>x z&Fut)JX{{9AkGYh^}zsecW<8o?7?4<nL@m#jb=%t3frSghJi8z3!pm_0kZBpb)J#i)4^8UM_19u?ySjHcf5E5Es9eB2|fcR2#j;K`pu{uM}ihaKf$JxHPqB zox&{OJ|i17`HjMiNUxkbF#uHmfl9?MS&Ii!8c2FQ?tC;)wo>kcSmQEE5_mW3;R9g` z5RucwI&UMmU^8>fC0q5Rs}`r+f4yhshJR(y7K(-HX;v$w&yl5yYv0C7OB92Chr7Aq z_k(G=#hWi>WmqXf9$*9vk}v-Z|B;q;l-8HgU^sJ4ErhIAVmdlx0|t!Ur+6k#L#4Xa z@6@$JH3HUZ+j-M`c1Ab-HP+LAG;37zAFDH&d6efLQgFo$r2l}Gt|lHAWOnxYMV@`7 zVfH$yPzADLmW zzpM968azj#T21Kxq3GP>nf~AZU!;Rl@8l5DyK*LknHQSYj@tRHxQb44 z9)>hrtbLIEudGBdMk6#nB`@M zf#fsVyM3Q5ck&qD*`8Es!uZhQ%8q`ql3A6H#Sdfi-iNgUx#w+V1oU)N`EmnW8(+55 z{;*nhpX=Cu4&70A(}E0DWmJ)5YZYFfF3 zj4D5oDd3~%-<^^U)xK|qa_oFqD_PDyl%mU?lf0b*PbQ*{v3;z~oZvF8X%Fi%2=x+Z zpW=-Rub8P#ZEzfA4ar`KfUSj(6FpGWwyz%lQ5fq^dxpL9^@rrH8fwkx`ifC@5}92b z(AsCl%CHONC?wZ2%K1qAX8Uw56Q0a`fY@H}9j9ba%>G#94+OX;4Q0@z)Tf&7_^a|a z?!NVzloUkki08|;1+kUMX2)RNwpG!XRgqJUWlfKyUqL>WX6aayK04}_NUA+O`ypg9 z)WkognRNS8J=cYNAU&v1rz$93_^eMmVl7xZIeJF`&N*ppGe^t&$T-@zRQO0*TUA!W zzt&NA6ClfXu8Fa!9@k6ctecz?Pp8t# z0#sL3Tj(hi0b<12lEduafMn$yp-fGv$?RHTvGJfp?!MmZ!b@ulAhd+8sw}^JzPlV5FKqra4s( z^SpwxE3qdSjj~u?$FtlK$$frr z_^rpJ-+vrW@yWtIs3hb0YXjo7+`Ofpk+Bf7S%OPsi{e1N)smBsl z$iPS1RK42LJDv~L+!HFC_9d7FDnaXN*DNyKu(Bc{ z!$o8oipydy1(vxF6upwNj_r@;B~@G zn_6+J9}f3g(MS2S?s#4#V<9|TLMoGD_v8yCb}54T`6D>4G3>OMAY2Psmt5`OF_UA~ zG|hboc?3;{?}#6sB=CW~<&*x<7qXx5D{5HE$}2ttckBSGE2ldyH9xwh&G?n^wOH!o zJhE)|pT!v-{fGZ>1~jEnL1xovVewp2=~h9`g*Mx`!p7b!ciB$zyt#rQO^TWB`|93e z6Kq?N8V?Y2OZ261tYHIUG*rs6X~F6Db4#J#yKD} zErisNXK1MAq#4Pk(G52)OqC0}s-XTNsW!UJ3v}1!B40f%MyD10CPA*%UUN^hW>_!xu&W8$f` zMtFKxXJZdZ!!B_2cFGfpy(vMU%fe{%`LSQQy6%j($oKY4rZ#vWdla?bTjjKOJ&6%9BZG}jQo?lALlp-$+ZBaWy}>RAe8JZ9Scj5v zfm|u)&D2$(qtd=WwDGgNE{>{|ZJ$2I6uc5$)QdWd&n*JVIw66NG@ITO$(lAeK^~_D z#c4&Z0feK}<9Rk`pG}zu{d%_8^x6mULUP4lqp3h;4*Ih6EdSXUQ6D^e<)tu7Vj%l$ zwtbw-N7jv9pIJ~TDwHEeo?Ez-fdNgL19io^_cTwL+);%@sGWc_!us^oN&!Zw?aZe2~o6e zre-LF&e$1&_5gMAE3P12hsgeGZh0|e=S%vcnN_NZ zL#4S5Aic3~DI5~ao6}-NdlG)O8XA^GE46ZB;ixue!A$Y@R{tF0Tc_GG(V{aCOZQgn zWhee~Cn%3r#C$BkFMEN&`C63Xo0T${0yR70>x%}Z;!*zNEk})Lo`r$!NX$9{wrv{X zH=}m5Y^{9}*!DSAAS-k+qkLTT;2-&US-7dv%AV5oFkJJj$BtoS%c;G?IO9#?Ft&1v zwHCiHr{frc#>EY;>vGOO8*4VS3#^>>bXyo7)<+Vnye=|wi;KmkqjwZ8x_nBX$yGZo z>qgLh(`QFmg2^!64yJ;uw$k5a?;K}pk4XF%T)uXdUw6B{4<_JZhFsA>Tj9lk9pBOY zHoN$oTE9y$ zz_kQOcy;>8<)?o|f|+ZYH`hWOomUd>?Jc#JydeU_@pyPl-%W$r%7ddmi|E)cz?&b6 z&6-W_Xix)9GkyDISG|+13jYlq(^&t0>{R>bvA^wA>AE3ao??DyTou%-gA6#f=jRI9 zdevvdw>6WfX~yjPBF879TG8yx$;&T|Jl<|FVBprgZj^YMvuLIEXqavcp#Zc|=R3N= zA!wA<;K|XhvQ9~Q<5^Z?nH4K`*{zLQ>V*IwTkkDn~} zL9h#kr#4M0#2wcHoLwL)je;)!@tOFB zv+CH}FfP%_lxxAKc6Df2#W$^|d-f8GuO{H8vD(^W+A3!)!1N3vPUHTQ_^YH}=Pga< zRZ#zTgnI?1xIUCQOT1R#D3q-T;6C112!sb6*lHH6vo3iFLHsw+6l90=?qD>XCWseC9q0LZ>HLRgW7o@Uzk=3i@a?&D2`-<(%Wd*jM)>}7aw z=bCsqMhy_EU`?4$x+c~=+Jtg#_Ws^2yl>9Ka>cLOlyMN zga=%&#r7y%mwpx9)!HoPdf#^TJ-Na#f*k)>FZL1FRPIi}LRI~i-QEPOc>cZ~h(<;tMl|(7SgBNJ{@Y<~# z$_NuD9jv{(bmBm+uFb>2#uXX6Yym0xW<9ISg~=OzEyqpisO3xf~PrJ>CuZ?CX-}{b|QeihbKsTLh^^1x|`gJ z&x1Li9+cz=suORlwsIuso51n<0x5MSJg%YDvIVYV)@T@gqz}RUgk7;ZtN>QO6D$k% z*5y|GBqrZ#QjIxC{7hL%9G+=~C_`uebOc(ecf0aMabMPbvu-Qr7pzvU-@!Hu-E&4) zk>V?0s6E z5;^g40o%OEx3VcB;nwBM#*-6=nQa{^AuYh}kIt>@;BVt63yW@ z&O6`A_(x|(`td!LHkuTmjo7&2(A=GwTU_?CFV9$=gP7_*98W!Azu^^S+3x$g^X26G zvhX2BTH0ldEv5E86Pjz%O<3U6D!8Y6k6H<|crz}g($HhVBEJWfuj0$RMid5&_O56k zEW`Bl5YOf<&(ip6^-n)9gBOcDo1QWse0Tnh$ZE@Z^5sNTe$^K{bg$yXqF8Q(k=;Fm z)|4uaROJFw*V?V2w=`eNrDO4__(^c7jY{D^_GfeQZ+L3KuTerNh*Q&EVb$3q^?Jj$ zF$t}9Pt3bB=vU~8?(Ow8rGhG2gxJoNY|KDItX+XqHtq3i@w%Bo=c{U_GfqsA9LG|b zs9wvfZ*hU!3&w}1B@(%VLBda-yR9o63h8oj=;$9h`Nj!Z*U*QlGE$KBZ!2#O7Asu1 z+jvlaVZYK8CF7H-X4INyv`~vK+4s>6_Er-sWj0;gN4<0PeofKTTbB+=+wMek$ypL0 zuetb{B8W|V@$1#(eF^GF z-00Gx0{5+N23w*B!U(Wty8Bi~)zl%`ux|=AeUsPjwE$N)wUGouEJS3^IAz6It9!f1)K^z)NLbKs&;*7vKd^RL~T_@q4g6H!q5x7{gAQBodXlCr|XfsCIAttY2{ zQ)-8cc1_n^7;h9ATkIlsZ8T4(Ib?>=Qjw!j;SIr|pS+k1*zxfScB&|kjs?3{ILS&N~Z)*$hi0)}&|4r96 zgkQPmc#`0C*@*@0j21giECnhJCTQGS zdyZY?ZZG6+zBa!;@07#VSD%%YlhU7^6<~=)b`jgGxIvq8@YL3q5aW;H@EtXADkk`@ z)fQdM5sFpA$8<(AZ$oDLpWaqxyzcOVFq>HWa8!s^cn!rteNdhB`_CyOHbTS4Twz-p zXmxl^2Q5pKn)pJxsnE6#4#u2#9Lc3H`UYE&cwm1F_cCc4P%Mr zHL0OX&lXt1qjmv%C#TG5hD*n%y-PU@07S1~@YvWEsl(BZSa*n#r7V~Z(KX67u%k(V zUkH!}wI0QZF%bz-bSiL^+2kjp`6XIP@!*-939UsN6JNwUOClBkNL1So1?3}zHJQ0E z5#_4e_NYkTZwq2_r^VqnA^h9S!~P~jIgcLz zxAv7h4R37L6QYhDnOz4krgOxY=8#sK@{l_<+|M~v5_9E_A$Y-7z`iN`6kGmuq@Q!c z=Utya|3Y0O`&M|_!%?aSkCT_sjTibc=UNuRE&H^Ye(BSVgOSHuKBvWo5X6}WZxv@B z6T>c~klhvUH6EmDHl_F}40tHaoy)j2^0di3q%e5~JGx?O(mrnUztwfD6?mPKNzKr9 zz}Hn^KjzEpnrWzgg~xQ=t1$edG|byt64D#X8V4!g9N(3(u8KVo;v7+6xZWL)D&9U{ zH{$X)?L)s1OsxAwRfay8yJmQrI(My?5{OBJW6wCFg6?~5xIb?stBt36yv2>hm#bv~ zwGZl)`E=N)`!zGo^}2T!2C+xBb*M7ZoqVO33a8}%TXO4=PGc>{N7QskoueBdkb{cJ zM?OIsF3qpBdP)qYXAKlBW94Am0T3PQCP}Sj={42Llh;p9`0gvlxpzxCP<&l{EVs-W z4#_IxS*DC%$FR8th9|-ua+A@U#6p=FRp&7m3UjzzJGh_H-{xgm?`c*aZ#N8*$Gy|2)fjIHdap_CmG4Gl#mJxi#=^>rT+MYhD-6?vwp1=5-u(F~P_{KG5dEwGx1XYsm|6%#Zx zSXvFIB>19MTiS?fJPv^}s9ey1dHo#d-A%zQgYa#do2bcp*z$nQ_Ya!~T-k+k(&2$2n%tOK19Uijzt;Xu}3b zNUs)V{|IQSUeE^=;yun%mTX#G_a$y>SK07SJmHNUKZK{L{I4T`TDP($^zKyrFXGA7 z8@yx1{EDD+vDvo_a=qoaJn!}!dS=*nQP7U>rAf2qFW4tGJmoba*WX8w|;KaJCUbG~r zaS?EUN@Cy@=+F7jb<|)ZTtwp6(UAHjUU7E|=)KZPod;@7jo`cy)59?j zGg&3ga%D=#Yrl+F{rTr}7CdYf#u9c|ZhU>_iLZ$`bk`Tq1fmxJamu?(gBQ87*p@h0So#Y;q1*TN zWA?O*$?qnch|C+`PapJ{^?}vK3T#K0Z9pYO`TRn!~(kwN%%>=HvR&8I!^3cx*QT^Ilh@$al~^r(XqEf{=j?F!Zul z5~iKp{&8vymo~R@*_Q>#b&ob&M-Z%4D+3~Rt5)t7X7#3meS4sYdr266Xe<&t`9KHd z?_V|jpz5}%&2?=(-myJhsS4m$HXD~7*td=n8EL*M?VO&+m3VQSusK1e_xGAb%W44>%N!Z9j4sW1oEuag;F zXmKDC^t+QK#MO*+(#!4%19?KDwFpOx)%O=r89y0oB8YSrMG!18R+XiA-6Ll;ozp5( zY5!;`h<)7>M1`;}vw000%z&uoUcaVRP|Btn$eJwh#l#ta(qKASg;5!< zw$j$Vtm2a@PuK*bu&s3Gcyi3kuAFVsO3^??CX~SKUWH1&aR5L9(GbS~T^Zb3|*UrQE% z*Q>1vmK?F%K9)-qv;By-Wp@#uuYCAK`uKUi7AY<~UVz-xNvkRtK73ZC@+10re{?Ff ztlmk7D1IJKZ3fb0U8waI+Ey%-{RqJU(LKuyv~DP`wu2^tRkrWm5r1lV_Fz-|GUC~C zKT}y@?c|p*m(8IP{8B)j1_$)W0nW0Zp4@`J&luT`zR){rR|8(myf4mJw@me2u2WZ% zW{l_uIJgt^q;|sXM8f6Ajhl1N0eo{i`2>QuW7CqJzU2F$HdCTfjV7i$9Z{W50@BN6 zb_A7pTy^IAD={wGZC%HibLp}sreM4LD}l4&C;2yF-JaSzsoSkdfyf#iqgTXyT(XCzSW0Xksge)F{(H_|+Z_y>H2L`P>eP zvLJ^on`3xCLl)wdSLxXmhHa%Uxs>DV?W2uRr_sX9$m~l@f&ObxQuMe9T_)=$e*O2U zuC`e|K{hyAxUe*^l8A(Eh)lB1(zE<5#83-_c4d5|VMmzHh_k@S1oQX+IV60leq zQF|MC>$WbVeH<2O{p+Ky;|wp=s&vW}67Tue??mtuOq{YjFC<+UZS}3r|H!=&(R}poN3t!*6Mp$2^#6`zCLd_SW(MKY4}jU8qggW=uZ+j? zXQXB~<*K1S71T$xKmDNAS9tj^Uc)SHFRq=U>g zTIrwDLM}JE6Z&NqC<6HpXq)C3WP6qG_GtU9@2;E-#okbdzur&3)^%db(Bdf(AV>LP z)H_dk#!cA6Z!hF4V{tL;cQ`HET)_b+>cCRF!fgms(FJ!C7(AGl3v^xyy?T}O&ccV0jUxL!{lJv(UI^{50+0-cu zg6ud-uBx=e+7Tt=u@Z3mC#1Lgqa)QiJ?(LGsyypLP_{_LOGl_v?OLNkb}@nvZ^p%^6xmsorHlXeyoq2t?O=Yw;Frf5D#kwI|Qoa;-~vY4FVx@{oO9 zp0tRP_n!g=CgBXV#u!o$UmuuNU5Xb;9Hv#F*waU=pLoq~FC5=z6;_c}gwSm*ClPmo z1#t&Q|0%NsY$Chlri;ooK6l2ky1>>Y*TiQ=S57^z8`Q_}c@*yc-?vuL@_W#b^#6VQ zycLo&B687-?*9G}g_K&DCNijUjito{PwyQ2QTA_wd{-JmWEEtxgl?FwIDJ`q{JULl zq#WL@XjWSz>`j#&=1bOj2M#z%t8Eq8Xr`iAm1OxFJ&j0O9Gp@=Bup}925lUsMHXqG z3V4nmspRc^8VG(jP;YWcL-8|7A&RznaPLqqIATwyFFXoT*R(Xc?9Ug(yG3oC=1mTq zzWxU9Fh{S?Sx)}xOFya`ng7}Ly;^u=GXtO=^U8-31_Jl*=#-%_1I*LhlbW#|kTH=- zz`1N+hM=dav}V&Q|8Ir%5t|}&Kn3!!m}8ZxW1BBSh$s;Tkr}T$l`0h_Ek1=|N_dLW z(^)BtjYWk;t%8af3VJg@?wQpVkqX7xA5uy#AJAm(AoOR{1t`K)WtuBz2lK{g+zpQH z$|OHYxHMw{u$q)hgrXUb3HY0J^W%yeu-?^FALYcYs&;Gd+85Z0<*C;W3p`XyfNiYk zQtGAX-*?QB>df=KEux&5mm_u3n;$3zq7GGNC9H7ee8ckqil2E8_7wJb2}k_B=ezO% zje$Okt=NplkhTvnOyJodHW6}m+JZ(a<%ZzMK%iX&^<@;<8b=( z*=AVbTt^4kIXXgt-Y-fhVbK_W1U(JJzc7d8 zo2vl+s!xq~{Eyw^;f(%)NZqpeh6x0#z!?L1gL#Q54nN(mW%YjjdNtKIG+}bUy0NyX zWE2^L19g+uG%I}TuBXRybOCKUA!;thQ1vC}8d@H({ zxsuNP{t=RT(`QO?H$wjF{FquXyL;S)Kj(QrwVemrw-BR__5~9_YIfy!EWYe?8v{Ylrww(le0? zw7>sZK~zDv(gpb9*((hEYLkMHVT8?{vl9-DLM-==OD+uCp8ZFW>1I}+=S!f0Kjk_KmYc#Q4c_TH}D4!YNHE^NPlkI3mgVAUV&vm;G1m&j-)SVUMdy zi4h|=s;aeLra>k;rG?QB{kB6rdE;2QCCA5i8Qc-ueJ&aJ)^}pRNf*don3jIFf03iInuvAjEkHGuW=+@ei?VAu&_GL3ctEvdY;O% z*k2smOnf-_Tg|UE&y6!Ep600zQm2P&`9N2vUMD;D7MJ-)j5pSP^?LeA3G;SOYdPFm zO6@?Z9^wPL$63?vSX0_24vIX|chjC2sO`%6sCHk54GZjtVMTI%UOoW-bNlfq@9v#y z)>Q@>=bi+pSW)jgsBYrVsncV-=Ye=P*itg6(m|@*lj`LV)dHY^LAd{1JI0f#`(9Ik z;XYOh-#NfDLCIX3H6{usb=Q`|metfQ1&>_{1Nj`-6Gq&Depih1{u`rA33~G#5F-T8 z52@C>fm8YkCZ!&6^u1Fx(Lb(c^jBZ2vsed1F;Km%9lTmy5T~O!3E;sogz+;Fao-5A6&=~>HV1@xT`6} zsWQhn{d4Obhg7&{xPTpN!MEe)YP877!SU{4Q`@OBbpzN9QdY~VS-xko0d#woe>7yp&c9hc$-wRlh(t0ykDUXW~j?Pd{fHPM?7Zjq`L+g0x zN8o71-la|+G^{>%i4Zw;HvnTuvKGnHzjT!vws~@yL~SXsllL%i??tpG)6>dw+0@8R zLgvCeyXvbM`0`t=%(7^dZlUkI#Sat#?rEkmMthwBy7R<3Jspi!|NF&vJp9_iAhOua zJO~kWSq;iddmQAEptW$9akilV-tuaFcI|%S zu5}1q9P_AH53g!Ebe8y%wq#u)@;HZ6I#nn=6XY)qMcmaU=n7cgu89zlx*}dPo_cYs z>APE$axMyEuJ`^b{Jzu_Wz~$)A@X5%9e8}y%TJ1tvNWfo71W&$w@cT2plkc`A@7CX z2+7>bPM(H1%U*cV(5j+cOi;8YRvw7HnO*l(JWirDlpJ0$Kb?%RpKj4>TCP~moOLK1 zZ%s>5&~UKuOWjynR%BaV9fy{G?UU=;w~bLCu0sRyVyD@bqL`71a&y(4?Jc5E!o5 z=JVg{Y;sr`cXKcSQkiV@`)8OJp=9UtKno8!`BK;zn}9Cqi5GV5?Aic zpT>@^_3m4HgNNsZT%Zi}G9Et``>LaF*%iC+;On-+`w=t9W9p@gRK>amo_kh!kt^>x z+9?C=Dd1cumnE6QPF`bi$T1d+u`TDvQPr7zM<1YOJRCJyY(fhTbXHx$J_1=S?w=pd zTe*rEctcspc6ag)EFo^%JId2E4W9~{ zCLTSMcu0&8>}1`b+*PS*EL|6V7NHcgFXLD!8dYx<c@jTT!R0bbPFOp)<2Mn*Qg=;(XcfAK$=fksKKfOMS+{s|s>VpA?wsf&|WEg-V%H zH-DI(q=vyAJV2Y~(tpFli?gn&B7sEhB<1ay8=j}_yjafB1-(|c9_UQAEKYBGZmLL1 zPX{SWDzV(IBhz@=+O&>oMA?5*4&(!-j;25!*k=qlEX@L+)k@Tzke5y zYLhJU5|iIK&&$#o{x}vzp}J4kf5MIQ=ZB@U5AA#;(0(S)vTns=l+?Cfq#E4tHj9e{ zQS}-r*k7+D(Hk`*FM_78+%t?a8`Q%Z(R5A2sdeUH8?-WqKQLw8^gW_QnAm%&bSsn@ zdna^^X=YjSSIzg_>8jqHn8#BA=2;iD@hlLP+? zZ3a7}ZgcmWE`=uwlZJ*ObyeSGU4cGH(A8z$(5DVM07h+%Ms-q8b$&Ovwxd4u^a+v9 zC@jH(t|CKfE@LNFg}1w^UX7)UIJh4sSRE8u%SY!dP=oOr8FwzuU7=on5xVFY656PE zkSa{QjFq;*w854BAC0vI(k1+P%NX_Jn9v?{{HqIpvg7;9+LX zmW+G*|B4EIq`*A*m8P59rjX67tIQbg1lC@Oq=PGxbdwwkSSRsbDVV$ z7otaw`9(l;aks-}0=eux;ff16M3Jkx2r~UgLC~3i`l%b24UI>AKB>`PspNd}UICT{ zLsx9|^p%S%Zf3fbEWZD2?Ry?yTd1yu)O=N!a%l$7*RpqJzS%>|>8Tf3wgMB=kS>EP z`Ni+Z^%KTgR2RtU4mD^CDi4+ZrYdxM*EYPxrq>zW%|x4F>kP`qJdI2 zD1GVajcZI@UCZH?zFoLK$%>=ErX#FK->1U@)w#^JFCeax?6lSMO5&b)315#DRq&>S zvwLL-q6+Z+{ILaJug+A}l!9F&H=@UupNg2g>q!H9l+*w?ZSJ_Qka3o;`>p~lRT329 zEBn9rG$n|q;lF2}stQ|U_X2=7+4CV!(=+h6iudOEh(>1p*3IJAj@O#Hmm6Ugk0KY= zY%^>w&u5oMdbU*Yn}gJ+FaD0cvVNHblM(mA$Bf4e(a&!@)yniaR6eVeR8@{R zSGY0?>`&(zEhj=|wSHJ0+`uK*vsRBzx@6E|N8j~GG_Tu+t&hxghA3*M|X3AF{}DZI<-HPMu}tKR}$ zGQ5%MB2=H7P+MG=VosfN2}`{%$^H_`U-nsE`U?8-nKkD5g%x|J3u{Op=h^tZHnSM_ zVRL1*8C8kDO0~vN;n{7~>v){oyYDLGM=37MIe7d| zE^+;?6C1U8Nxx2CA<`V85&fF)G~F*vA7KU$=I|oNA{)%FzuAMsLW^?)%NzHSq^!b9 zcj^rg&5OsG?$0QeZ)6B5h(p}`9>urTEmwY8Gf~s!leNsV*MCRc=?>q_;~*3L3)a{= zqXqKRX1B4_gR_)L+1G}z`jcfsUo^IT%g9-qU;~TQ2%@es5X&NmN8#2sPGuTNY6h^E z0d!Y2>D_4ZPTne0E*Q&AYP$72ddK+R&=<~YW8Vnp?+=e zWbJ6H$baTR^%eVTKmBj~ChjW{0GKoGgs;1pGAGl&;}?Xj$>Q5n;u2vFPVE(0YIRRR zTsFr=NWNJ4hdk+5#Pt#yjF<4nr!A}L)J>S893D)*Y>Ti&HpU*Yt`A?5F6-^jzxEui zs*90^HHDz#g=B2U54#(wPioxJZolG{A=*I@deoDWVPY@r?Y3O-yav zL7%V9q&RzdoNqZ_(MtsrYOG8rShER$Iwd9dU&*OVV3s{FZ})cEC-k$aeYRa~VJc`8 zp3tSQr{4Eq)zid|D1Q37sw(e~S11yJ0wOuQ6pXmCM%cIY9)| z<7e&s?h`T*02Aq!g||i)x|OfB6|6lwAa(lhn-=D_?``V+3)OeLR~DO75>eKCPc^3f zWL3+V(Ez0fP~w*PEdB7b^HsR7<%QX~tBb11qeE!hy|b;fqXBwmW*F#PhGES*sRPU+ zhN(%pF$We>OEA`LO1ijjlmc~mL#*m4e2ME`1K?MNT&=!Wz4FiWLlw^(ALVyu&t~%ZKRPnOm?v`A z*#FvJ|L#y>H`Y*mxsw;ad;waIG~${>OZj)_tI1esW@KtLxkpKrSogNoIPp5X8eQ#IVu{N&QFseG`F4+klYrS~CkX}Mr4-3GE{&dx?#}G-U zkveAfnTRN(y^X`H=UF6twWAyG+Y9f*qSu!m>)=J{Zy)(_#sXa);F3}QvGEJz>v|W+ z^Po2qpV#ZIW>S`$a}jZU3BMp$IaUo2z?>F&I$NZ&PQ0I0h-uyyj2b&(JAO}$b+YXO zLd`C;1o}urRmJ)AzZ06es0jdSm2)hia<+BQkDp4DiR^BDA*kXSq8fCnB8rQ{4rK#J zK|G7LypIpR+d+xCmU(Uw?8m3@SiJ2k6~iT;nFxI=ZQjZqyjplJ`+2_huK5BRbNFgH zZ*^{N`1#JO zHyf;kw&rU!wyNeBq@@y=y?(?l_ouGP5apH#@8IY?{ww&gk;Wa`%|9A&*~*mUCiWPq zC#!?4^j>v!%+=0jx@@&JIT^aT^B^-!ogqv8*Rj2;6QW?7*xMygq704F#OF4~|1P75~?)a1C-db~?Pj8J3Q#YAgb>(>SRlr^5} z{h_PjH-5PeWD9v;Q()bZ+Tsjs!7&ERMi^NXV->iH43~SY zXB%(IqtS=!!21f8t{4K<{KAT^AhJgP# zyUH`SGU^INZ`InT!Q*uM3lW#gUA-e3k7P9Pe}ZTch1nY|^qkwE2$w-=JJM`|EdqCE z>{?i+`f94-`8NI%EgYUKY}+_mFpXDJZg}f_mM-?27k#BLp=rr(c*{MyOZur~;SzAe zWlU_^Btm~10*<;^{+^$1(z#i>k*e6stBMCH^yk22l$1mIM$DXrXJyaH1iq>5 zqg#~c(SHfG?hBbXh2)s8mE_9>uOB0-|NSs*IuW>luqW}y5+8vg_%FIlLXED30Dag~ zUI!kl-fBiv=N*-KjJQxrYb(|-Q%pcInKuA=e-f4)x)fSmPJmGMlIV2*Vp@3%Vnq^# z{aUoC%DwQfI2Z{AY5WHs9_gV|g~Hlyo5UEnjeeahR=Vgh@SZhf*qRSDaLZTPJ{pCK z{@qE*WWCNUAM+f@t$HRLRWoaBiRvx)-Mef6|NLz@_gs<{L{6{~y4LY~il8O&vHq0|D8woscxKei?}zHm3;cu+?b5Q{ zIWV}_pq7=HMZFXQ+qcNKz*@oC#aXz&t9xR0vcazh)`oLA`uBG-#$SFNJH{Jr-jxN9 zgVyDe?V`1(P`#PnbQDvev*)1s{r_A?PSk2B#pvuLpImcX_SRP#gYgHeTqD=QIgGK1 ze3N*+W&@rEm-6MTe+XqPUB#)Ymx}pU zf@YRnCl=*M+Wf+p`1pR}sPAQ8%8vFxTYKS16nEy=Kab>w1KBPM!;OZHSkU8;uvVKK`mO;JScqWcxMf~9#pT_q#h<}7Y-{I zs`>zpouUYG1n+c|+2QS0{J<(K)Re>Dyt(i}`RTldQtK^!?>I&a67dcPj_3krB zAEXR6RU?f|lx$PJ>)xzP`;#r!E>7(W#@wy@sl}AuQPBNgw~BMP_it#b;-3DTz5J{R z$yRvQ7 zh(Iz6Q$2QPfF+T+Ii+tqoc3+Zc@3a)N`C)XS(`)am9M~o8gNHJ1{Stz^Ag{*J(GW&PiL^DYe+%@NkZ zvC%+bP?f0z!d0IRpF+X!*pNEg;wHe=yXP*Y&aLT(yKk^|tRPV8B3ONTSmvI+~l*6!|x`q@ca*Dk6b$hrd>!MW&}dj??& zQ){tlPqn%sv)2yX$B@pKV|Ic2T)d!BQh&6h$FGx|7$)G_R=64Ik1c!Iq2skp5f7e+ z+QTpXBD+Yv?;l z|99lSH$1|6y9%p;-OP*TTu-X!^P*cND#dl}n&`}dQI*P&gjWk&dFw78m@&_M%Z3rq zZ~mFz?i0|i4vpgu@1~;8x2^m?+P*uUt@rQSs9kOCRjMsQ?7dpGH8fNRCA2m{k_w`= zilQ}3B-E}gh%HuWQG2i2e9e*?ty#4FKKb4E{k&e!^XK!&bMnVoSI)W4$#tDv=ks}w z5sCILovF#71VPzkL1|e%53Ec=Ib6d^5*xPxZXD_2ULtk!Z9@A-MJKo#01s_Q8$?zC z3)nNQ&o;Lp=$y;4bLx%x=5Sb}HmO+!klyEV`5HlJ+trx1e!4nQ%I~#tLl$XGR=`fQ zC_)ca5@9&_{it$B1V9&g5w73WhSZtA^6a^WOwN|s{%vAu+2Ww2w%;?1a*_?lj-ica zf`G;9)I|y|DC8dqWJ6;KiocOMG;*=~Oc&*ZlpbE*zGB+UzjyWLeyO`4X_l$<;NghW zi!#Od7OE74FSmuMvNITT!~xPa2@?1~Q?PgyU)^uPD$@M+J?CREjL#We#DzG%>+LEb zJL17AvMScBL?_m$XJTZy%QQXjDEOiYS5O?hVkIcCfidBJLM#z5Nq*$FbkJI3rPkC~ z9+Nqrl4oJL{1tiU-4^}DW?$!Jpn4j8aTT$lyCl29R<}PyRiM-_KmpqzCu7#s!%NBwh1w?X) z9n7du!(2@V2xEw4jJtnqDB&IVS-$#Gr{#eggG=hp2U2F9Wv)zg0|xES#T*cX5vcrJ zXHSJpPF>sW^6z6PdkC~Lvwlw2G5GY>t-n3A7}s*cV#B>U_Mz%@0{tTm?8Y7J<|6Y& z*u<~KAjb8xYv~y+#aE_{in|6S%VK9;6a4wQ(V~_G>RMG(?Naz!YqCKJ_c@)qNs_ha zQ0iVvf9gij=-4;h)A|Yz#PM|c#NNWy+I}qmMt!#L+FFTm>0ur~I+^mS*{+nS=o4A_ zu^ETIiCZMGwi6Y-CeE3Z=u>lc;#2H(wq(L_4Zaiua}t^27MmHn5TsDvuC0-MCr)#p z!hBxQDe~{VlSQokwP-zbxsCW#mg)vF|2FO>~TSkg(KP};Wsd; zrtfHa}*5-u3iG{4*nu0&H={mB|DVLM`%a+Ii_( z!|+bTW!!o`kK+n3^-2OzTElf%MF+w1kjcnCXIale^%7wWa5Ox9N3 zr|E?klRU$Shnj%sn+KSS+182=3@T`GO6ziw{0_@+qYZw1e)h@%! z7b@aqV6kTsN;rt!^2TQM>nA@`$x(@y$5*o@-_rZUS&`h#+tMB+-v<*1bnV|$7q>gM z#1<0HglKi%o0Hg%J&5|-~nSiP_w$f zvvNtu^j?Dh@<{Vf4s)|y!l)FiXXm?7>_!&mJY`Lhu!|2Vxu$j7RI}JN7ZL9T9;^ka zoGRE4^vo!Q%})+L&}mo@CpJp3#KXwG1j_i*oxr1)xAE8WA`5~F=&RUkaJkj3(H1vj z*fV{kR0R8%suVgs&2lepk6*4YWt{O$Y-BDr+f6{rIV=?4%_E@@8{cDQB? zryIP1n=P}~5iyj0Jh*pDm#pJbw)oOz!3hoqB+6hH=T~6`ITS0?d70FUj0pt1>A}-T zH=?)eJEXU?QX4bd6aJF+^36Rn$;0u2f}9{N0@SWDnP0 z@JSlJJiDaiccDg>%k>vG>$c9M=%f|4N@eeqZJ8#(HG@0F=Y3!yk&6P*T18xl_x#sO zPS$@;75Y*5*N{q`o`RY8v_ap_uD4n6PeFI34k2^C)UIMVJvJK4|HMxOObLJ%3h8c6 zKFtF)v@AXx0QUGoe+tt^`EvEEev)f0CUBS#9=n6YNXJ~tQ^na&U#l6&KBkEX!3YeP zrHeNkdClgh7=Qgo!Q3<&CetaEsj7QkxlQ43)-PgK8~juO!`J_>#9wnGPV-$+B(1ys)6k6e2Ck5`5uAF^-K1${AfE_nTF+Wz|8z zP~s)nZ831+nMw&ak#VLwd$U~OB)tb!K)8a?lVVKMX`L*)iSg(5dER`>^4vt@kve=64(YV8`8*b2@-&&wDpwS z5Zc*=gA`0nhq9|B`A|dbm>q#_s6Y2-f9Xc9{wD;jEeEYu0gG3T0(rQ%Wo5{oX?qIAi?<4$P)7cb|5dOQLtdh^%RE$MAPK%oB%arxR<-;+=q9OLOT12Z55!q4a6v$O* zr7kKxCo%z(dOfZ?WnRa~z{zDp7&60@f;)Ai$$~NN+V^mq96GM7umSloPGBfhCbrzX$AbZm zsOJ(Iv`Ks|+?{7m#=`Vxv~C^}T+~R1dgKS*-liGdV)v%28{t9B8A1H0F%Rw?+FT#x z;JUdC)8LSN>%B##wi3VH zc{C*g;$xYg-GHG;nvvXM){QL?hdSAQx+Ui4)tZ=jzZ=d>AaX3|&R^%kW_F9eNaZsY z^_8KZ=v3Hz_e&AHFQ9cfY{6ix{?=zx)0__QFrtA4_{m&Y@~%Na>Y4ibM=T4pe^*NI zy4dlTwBF%EfY7GnUyj+Fj&*4)$XheZvpn>hQi&NNN!fE_*CW7rk~i3NVeuUY+M3yf zSSx!M8Md{cpJeY4@6*T=O5`|$mo83JE&Cao4O$OYWBWzU=LL!v=S5Pc+6|sRCz~Tt z;6n|cUh6MQB0K_kg9EaRuEIaZ>rEhId+!a;=7O<|ajtUT%zMh351Ur-^Vh5;+08H! z`1{={q+wcGRr{!S_lNs&5Qzuc#`nG_)ga^+Gpoavt}`_raf4?_IwZ8iab_2~DNOI%upZTO)Ot ziBBuO-ld3#^yjnH1imC-Y^V3Wd0C5a(T%l0*ZLTP0xS@7>Xql;ZHRycvH3(Uw4=sw zj^Km7ks|xnk}sC*_TX5g^&s-iouw9H+-j7xJ?N`J&VH7UZ!n316bC{2MY4NNdER8c zPAmJ+PAocQ+z!SzTxkK`4Yb(r5+giL%$!3@^DltCK@>RpDVKlIAwX52adclH(knEG zsjWVz2W?$@HDh*y$8hSs1u>ICIx0`r6fa1D(>`4x146o-AF5Qmn1N7Q>ie-eIQkKf zm!q;A%vm?~w3tbA)&S`5Oks+x>-dqrSO0v|HN4_tVY1bd5L4uXUG$bJ5Fr5V-@;SN zD~&=+PpqUi2s?>umgs+}e7DNZ_*{1JnIc&vtXNt%D!Gsc9hgCn$E0?3rVg=+`VHI_ zuirz{|4ZdKe#*Swr0+sJb&T*J%J`W9Wc;_D5IVGyUSxKNnhJt2A~0}eF9tt7RP7V8oRN)o0pa0kO_HO+;(o$yib#H znI6Ufq9-z@gF!%Tk3B1M1L;#P@d4GK)9NC#_d0`dA~3k>EknktsN$SLzn43@rQdLA zTMNOTIm<(xnm{LfcJm>RN2Hhx&zmneETR%UW2x5!0tayp*hhwwVPP>0SQiG;ci$ zKKEPOxBh~qZ-+A8ijKbv8@sWbVx^GtaFCc`a}#D>mHu(g7SkykwSk_Ru!IDh56fc3 znyR8~8@EkuL?!Gg5)zM9T3-8|0FU*L8o6=J+^fI7b*}Z_d~S*+&Tl*)LH8#Qieyrd zP5u;GFXsXhhV^X5y(nCmdp(fmenzeGEb7%rNW{6q?%&lP9X;^L%di~}1gIMb^LHRi zTJ@En8{2H~wtm@xDGyOVm{yn~g0zDo-<`~-fSfjeu0rA(PBWe;wVJtcAn&2TWiXsM zwB_BhN-)ees8&M+dm=&VXPq?J7Zo*gnglC(tWBGpT#>RQC=q$0)s)Ae=$~jZ|Cz*hebVoA=Ge2`{ zCqJz+L&2+SL`{}}8cpv}WZ|_jrNU`6kHx+c%!-b^p>;9CY-mxsS|Wf3UtOl@%QYGj zHMPrtfcmk-&gDrB*VDEbT7cdzcs*C4v#S_@O#t`;RPO+D#ROa?;pR9BadjZbV$o#@ z(H9FZC%fJ!B*CCot5dlY_RDxs0*eGm>FH%#Or-()$(?k~Ew|+QF>B3Qi9qiJ*un-B ziWbXmoW0`t-U2%4lhNQ94`~%2Z{X3+ESd_64LVfHvMo07H8yS5;6A-26E{~2uKl7# zjKr{bj|{wl`1j2;rIFSF)#m7Gn%k7zB&)?1%l?%GmJNE^5IRp71Nda|!?E%c4<(u^ zJ+TUeV3begXLm6Y-KXkNX8_7fn7_)^%Jmp~jUb(2)hzFFqS^L&dq(tDLG|6#C8esS z7J?+k%q?e?>p9u@e9T$ZRQCN}{V4&jwLJ%Ku;#P?KU~=hrTZ8XS9W=AR(w5Ts$JHC zd)s%tTS7Cnzp`Msh>Lg9{)u}s3CH1$%l2&4U&?^5Jx z+-G=JGY^JQscej7NjOC{+aDOID5DRyt<1cFyLE=a-pP{rKS4UJrhTrLotK3EjLN!>Z)f~V;j zrUdl8MkaBQm0pgyq=C~P6HkR$i-t1tQp}&`S#7sHO1)I@!JO|ZnAxWr*cCDSWaSfE zY;?#>EL`55$ii&2vO(i_cK>pe3%QcMj&O;e>PbtNA=rm2S^`Z}R8=nhIEKv-6>Fxp z*zHT9=&Lu(k&gpLW-hOO2b*|Es2dbEXWR%$d~13GX7DMe(<}x)1v$T?6uGugre4C? zp1Ql83LD^KRuJN{;}!fK?sGu~7pP>^2|OlP&o*`_eQ!5@ z@tKdam)|uM`pwh?{C?XN^sHca;p3`+nv6NR%D$%`2jaKsLqCWI``?Udf2a-vp676=|Q4%|2upZVr~}NzgqmlP1oxdu`D*h4(ZN{)QMcHm&AW89D8Q+3=5FxVH3G4Gk2da@{d>}YRipR|wQdX3KVWqUtATz` zH){;7Oi&{6eq;+deyP=-Mo=AqiS6-hM(PZH@CRQ2^l*ZN(dH3ADt5o(>Y>Vtq^o>s>DMQqizNR9EC}DPR+xS0@K#E(ZKCoN+-bZoJNEtMdT~m^CyNZ5 ziPV7=4D?Ps>6g)yg>4TP(`N!JQ~u&T0q}gWuEB}pu{{eA$_-`l>m>zkPhzU;uHPv; zzOqTaix=xRG=(+RG8RAi4V+{%f^6}DDKQ*9=OUqPAi5j5*Ipr$Oz~&M<|#O%5i$-Y zLo3dnjqM#dJai#}V~LjEC({i+{N>+LxxkPOT)fH*J}l$94`MM{N zhX~r>^5<8f_nlu#1WAL2>`N3eFcbr@WY6QUCc+CAnjssT=Q`FR)R`p=F)BXQPa^( z4yiJ`-I3%+Xe5{-g(~THnZZ$h!gI&`X@v(9NVPWK-z-BB!EcEB*n*2|LXGL<{3aRj zH`>zz0#M1BsASc?umNkGNXs;Z5Tp2VrvjISq*z#jaB=D%?W;`Hpar@K@pgufxjKiV zh{oFq_va;e%-#GH5NAq22m#Gy(zegHW0$ijc+LE=rzVH*oXlH0GmEMzl_%RUzA>wd z+XeJ(HsTA;ySD<=3(C>AkLdvcQ+shr#d6EuF zbX-urbEnnH5GS&SWkDy7S_HRI-%OM#+_{K(cL()HZ!2EGDD__|1*VOG%*`Y9Ey7-3 zaMN)&92_IwFG?^k{jl!AbpJJ5@!6vf#0(XaS8`&@eFYai4Pg9;R1Ql(3mbnpw~rfO+>@7L1USDHz; zA1kg>VOi#PX26dt_jNTlFKyQ|mItf-=~Q{IPd*P%+`gGJ_1BdKxM}iSE3{yB;SRDq zxppFj1{^J%vP6e=;H-LY8KPU@mCfM#wUg$Ze10;%txHfc(~6$*Q-VX^3P9}RGd8Hd zp3d=+vTFoFv^VBA=#XkYafKL;wT8v62$N>yn(9xlwCk{Vm8#k` zvvN15AGH5-B|XEb{xZFB;PbH7stMA~cuA9QH3e><@}3WqCN~)p_56A6T`@}XjXB|= z|L}=^>PRM^G0DMv!ir8NqP6^kC-p`HpoY(&STl1M*b>lpH4~&Ts))5_O{N<}I*SG^ zU9s7iF=lQ9OWe107fabS7%^{vM{@ywo{(?M$s1pr=@#0^CSjbxMkbzbH+uz|<{cm6 za+mrfA(ok5jn1%lTF&L(`R{8jDlz^#0Q$LMF0Ro$s7P8Kdzzy8E4d!!mK6t3M?35d z6liIAucqWyBsPAHVB{rUYw5v^+`Hki?up6i@&vuAkY4$a+#rguHl}Wn@b>k2u?U}= zBS80@O4{!C^j=fzr#LHX`t%x=Jq)scWuE$QN#l_>`dj9bOnx(fne68l>5f$L)wJi* z%BPO%g+3%%^Dl2l$AK%|ASvLdfAc^hxnkJc(&=#Br;#oMoODd`Z}xNfZ9bkO^tl3V zU||a`mMzy~mVaIK=Uvu_1Y)#LVQT_s{ckCa!1?Ms8(d94Bkf{Ec`L&}g|9bBBuPQ# z+B!<4kVEMHyki!RR!<9=5AJ#JoSPQ(OwTadXCaA(Nz@QgR8zokp@*2x2P*6sf|t0` z0G40OUwKdiT<^l{v{R?2Tv7!4b}p^HjN~w0_bM7k<0?V z`@UI7z-^tB9tOB0d9uKG!0(3v20ZZ1@Myii-|9wPU?yIDQ3ym#|gmb$4# zLbOjT=Y7PW(j_MYDI#!4_iSxKlcU2}UKsYO_`whxMa~+^1|vWgpB2w3s3K z2jP#yU#7P(TOK5(1mV0$$_LG=N2&^OCfiugy*CzQ?!6nP+Y+rOR5J$jV2yp&DCF!7 z22{NqXmHIbfsR5lhFSH^c%eRW;sO>wayna9^x>e+h@-ozV^W%*Auw$zmR@eg;#7C+;4>u;vJSJG?!f2hdg9nVH70d!X z3Aore=ybmMGv$Uw8$FAu^I8^n(}B*C{#O36iNy5ZcMXw$rN`_bi55TI~Kog?``V6Gsx0xbP^XKj}9#8``XoO5(`2`4H`dV<@N+h7wPkV zOw)g>|M#}rMBnmuVQTh7>-^ho%z?8xv}ZqU#kDx~T~rmsI0LjtRwC#W6Seg97nKhI zAJy|`H&XkVQb8@Q=JC^<@s)`o6!_~-HG`BVrX`yFvNsM{**<|#TJU3dDj_O8pI19M z*>6H5N zml~28(t)S8a7?&zsCnV~gdd4f-nx~-zcfV0f*wp+ahPFW$tgMDB=gjpD&Q^Cmd|9n zuh}Jcq#(U@Ba4P*T$cOpOBt>p67JG;aY||{sb-ufB$rz?l11#5dcMigf(CXKh)U_j zggoegX%egYJV-{jGQiLrJs%xa8T9ON0!2C7s$C}jYcBXQTqbCrE-xRmNzovlkN?Z# zVa*3bgT<_cl(jor1=1p|37}oI6b#^cQ?ugwV zdY{+7w^Y>S*L;?~cB#xC8|l~dkep0tEVGMM68%mFHqJ!v1(6a*F|nyb?h&Lv>(0aW zxwkXg#ve5uk5tI_l1t01$P&I{(`_@5d0Q(Z(J%s#Q9?UQMz)6_=5elher!}b`YPZg@&MFqRF242F{}D{X}41 z+Z-1YXu_dPooEfC9#%VWOI5i*vzx<_w1lab?7o3fXeUqFV#QxNRcN*}Uv=uKT9jja zxupHA_3uN4xF`3Gm$klTB*c-%P^@Xm-9N#fd92c2?#iLuMoe{sM zbTC$+^&Kk;jB8&thadFuSrrq2%ufScO04b?fp_+5!!g53znec9dM-|;9YM_MfELZ( zoGHK8ke^8k+l{ix4Kn(ZwG@x<4Q*&8On7-YpYVhN12htgf*@iry`TUp70y}q#<{EO z#$#6T^9vuyrX-gNkCrW3P=Ea{f8&-UqE7mPitIQwQKQse zP(VHQ*rDGi#p{G~^z~77acjPLzXXxBh|JmU+(uONL`~U{*TI&SVu0TMD(fh>w+o145&kMHzdRIiFwLB;sInlg;KBL# z^ViGxb)XrR#>`>4C#97J#_8IeUYXN_a$p!LnkWR{?|sI_ED@WlddituHgV9b1_2i} zry78jKl$F44GCLP6m2G`Pvek|L1@9kX06D=Q(CQm>I{e#lNSc8Jg?*kPrs)t4@pc4 zyI#cVnl#H%Piz$9rH6U)4qwUX?3RBRUL>RosE$F1`xP14Mo6b&Qbrr)-_lkptat%| zn{Hu)z9S{wg1ut3YfYC{SWGP$^Jtr_$-_+HRdSu+N|}EQO@iKuL6lPW`U6wuZulP0 zW-gsdW>}trgq^)otjr(w$nv+fq-(&DN#n?K>rw!VZPi*^9}h6WGonmXq%bk6_{9cR zUr3@`^}MuN#HaOFSsSyi94ecGND+x0D1glwxRj?Y-v_XsC(o1IzRt3UwnCe@O7x7E zFByy4SFK-HIvblIBH#6pl|u`fOquL0gvark8ji}xwvRUE5(LKPw@n!AERk4>*ZO(# z=f$TxX?=U?o`BmPZrS0L;l|y0^Bp&e^no2-Q+mOe=8*u`gaD!rt*ttyq>4emC3u2Gb}vw-Fk4SHw| z2o0ll)omnoJ+vYLX@kP+gf%}XY~8c|5*2CJ9$Sl>n(+ESt2oD$P=wKPt$!Hqa?%KD z+=lg)FpgNxlSzjE6d>yN+Ydila#*VzWQhGSA5D2AgqySxIBr%YN@6PEgQPx;&xOm+zoiLD@5<;_uFBxY~bjhDa z#>T3t4ox)mEFT-%Sz63NZ}fLJ2EL?Hbg{q>y2RYW_t~Z2Y|h7c>9#u`RNvg=K#eU? zVY-4Cv-#R$qZ@+4D??XN^>mKSczG*nBEE1op}Jbj zk-7$LyegaILITL<|22r%myXg+yFXki&`8=H{4l0oAQ3>D>u_yb^X;bNbT!|;vgj0> zaX7GAg1^#F3E@kT-hQYtOHub|&VX#2!P% z2!ED<;qVN*UDrnGFG1&n^ORl@$Mu>7>O0ec2= zttUDa>%9}7dCuXPcyGcOf9D6TXqvjT-Q;~oY*jEzL{NNJkW!kB0 zD)U+$FpAz`-7+*^=Dw%}m)l=0F+n;3eyVhqU&T!?aUVJ0Z(5BTHb|0{5(&z6TqD3U zcJ^P^P_k4i;eJe>ec<2Nhemw&GueWbOE4OJJGP50*Gr1_wNyS3j@V4kcX{mg=fwS! z$p{T04y%PNV@cFogVv?Custv|>!!X8@;S_30!aXk{g_i)%G*Ws@-{2Y=uUR4br0lI zfDyXPto_JK`QNi@6d2^Z%=BQ4N>)*;Dz>D*tvT*$#@z;0vh^@nS~HN-?5dy3!J~HX zT=vDt1k%4$dkfN1Z%wCb_1SrF8xkEpWB;HcOaq`^W6=ej0q}dUYdEfXXtkL6x zqGBuaG7lFItQPz0efwuRUGS(O?*vsRP{}q_8mSCve>4UMX*s*#+adsMc+>UP#t=ie z2XrnXeWBl=#UR!ts}fQ9EvhLI_?r7Bu77^#S|GXs6QsLlLnL|ZvV0wg%6?!H1d4DT}H7c z=($XV`WeOb-n6xQCXX*^Uvnur{<;uyP4l29J@_Hc)z`V9a6#1F9E z{)jiRfd3Bj7HHj>+Qy~4c?Rxtj>f~=E>m!scx6klx2=MGATG|QbqRBuw-`Sc46?V+ zhx)BTSy1m!+{|2Sind*wo-HC#@B5Y8yv6>xh99$CanZbxMSR9f$I^wYDQV7S0GBVX zfWvDF%eE=8aw|^H>!J>#S`K>qu3SyJV?6TT5px-rVbDf73RV3xv@PD@>sPAH2I}3O z@-2FbUQ?`Q8Jz_)v~>l`8bu777LG*DI`T-2KT;D-|NX#O{Fl|l#9n3o^v!!R#g)dn zGOKCV)m&2R>t97+)+2qK=N7i0dE@;z-}iaZ5CRz@mHYnPc zPc7Y5*O;oRp{s-A>~}K?hDWV%&S2?LT`t&x2P~0P5Ab?r&hS3Ly-4ask@P=}D~<|| z(Hc0%MglRBXWMJTuY&TD4Q|~qdYhP4bs+w|%i)1Gs*h)&GwemP1R_X~S8>qq zoRI`7t6sYExLIUVLZyS}$;pFiRj+SDe6Cgnr_@X;%l`yj{bS(wSm^g>W%~9puKUq` z?>~BDCZgfwLh%NC&iM!s&cJC`+oEv1H1Sny{B6{r0wZP z$RMhi$N-kj)+_97fB(55ZDTk4ySXStD)o!N20ck9_;kbNyU`Kh+pZ*uEz&wuiS)`g`2i%=M3z`ASo1}8l_DL*qokNUC~D0-YHq9PoJ{f z%|ZuZ?5uQtOm+Qz%7wx?Ct1cUPc}u0A*2gNe{7q?Rz$w`DRm<$hphr{A0K7zh%yAXA8(z7ZpEru!X7G#S|Cj z5N7gtu#kCs(10nykKe$qruY=KrHi(ny#~$`*!R*iUYPG77U@~eH~2{rq?i8~D>M#) zURgiBK%pfvAa#JMiSHE5Vx_!Gdm>l5T-cc_{AXVNRenos7&fSOEVsW-D#}IV6lGf}*7)qpy`UaWD%P!Ha#b5m(IVlFG;Nch+0#j`1T9#G`PAvHyT4w>P?A*i<)v9Y%P0G-{twF)+_8*U(gR z5W`IjWa;1Kdhz>Ol4T3W)cgsvXWwhF1<$kPM{W&k(Mx&D3SvP^Z6n?Qrqq{4*6J zNt2=ny86bCCr+0;2*s1zwhAkbij;gYC6^2pA6#4f{<>**2VIbpa-Q1D!`~k9#>)hJ z$o@D!yR~unT}Fm&5E6{cxy0UXTgDU0He4gX%0n-P;Z`K^tU%varN~6J-|RlH+L#8( z_N>UhEc8AhLpIbET9UkjA^LI%DT5~3|CxpfOW_EI$BY52`vO(Evmb~hqASih(#zdH zJBmI5M*5)(*JFWc!UNaG9u8Sl-MUxZMtZeLMqWm(D}VX3Z^@T12%*bOuR#$OMf+_I zzWCmBuXUe>3}TM0VE1xane{We;>?`V*epG<^JTbo19Psn*Z@L64U}~6;W=tbvXj-O zQ&;5)jS?~jx5FC=`&9(ESmU&D%WY4=L1SAuX4b}dYrLxp|eVZGz2RkNyH`4`0@WFlG8+}j?DuoyMJJv_HB-ut`OKMn|Q>mBFc|XASPaxUI>uD^JO@f~4;ue+_YH^_i_xQ9@x>0Cf2J zO(Jwj!Q*Bs0bT{WE2S8?DcUl}vqfzG7(Mez^OMf*y)%CQS!m6ilzd9d0+DSnst1Nv zu2IrRAjTKi&CbAZBCr{IHjt)iIGn=FwcLK|E?U%h$fZ@!1TbF>;0Oo74DK{}oJ-4NNQkc3WyE~&srcHoH|w=# zIa)ct_EJ`@Ay&iUhynlz;5>LUpX>uab>XP)*&qYwLT|m9DVriteD=7yh&K4von{$Z z_Kq$S;=;Ct(bbur29w`xwT;+oPfAS6$Rpm*QyT)fmiW%jv~%(I5`ryBF?^jsf592w zDhhlzbJ;d^$|CM#GpDnuprE+vAid1TQd3*WpU_5Li zJGCpJyF?sjl*g6GhGfGP&TJ(`=G+H&lhZWp-XId6Djd2X<#AO+Z(k2o;C%+QE)Igq zh1iH@yIT#-H6T0KE*CJH3B#E*EpQr#7gl!8GFdXu7Jv4;vOVmr7#fD5dECs?0oWdB zsJZv%~i<+kEZV0oj*KnJUq= z%e#kBrRVoLucQegx|ea(0=vZ9DctSl1KH5BlPjx?mS>>-ipO3dqMw3gVd_ z6c0IR6ZhYMOIze)`S*br0vQR4YtP(;Imn9#O7s}q^YL%)^>gO9 z<@(xRWKh=@uasTcBkxI@n*LjpYetmolOnJA6ELY6Evl}_+h;S}XqJbY4<2$VD>LO0 zZySlXahYy+lg}s@TbqQU-lHrnyfWqEEAEzWPECV&d)C54YvOOXHZVGKvuYD7dT2o+ zN&J1!AFV{Ws>6={m80Q-kDvY zJ@RbKwo-Dvd>R;M{u_f_JPk)&1`>+AS2s@iWvvx?nf0oNrH7ne^Oj%giDafOJ#wNp z?keK#HlL_09RUtG@O8s4uax;YGsaKolojyOOe34Kv4Lw@ScFWEe0-QMcJ6*F=bJBO zumaw1HojZ2k$*YU^o%78tPPz7at5BbX77n5Rs@Z#c*)1SU)0YLCm7|H-cI#JS=8}< zIn`?dqW08(rK@#*{TlDIy05n0-(tm`VuzJa9I#!Su8FsFOA<+Q=A{N5(?$mIer9E> z)Sjs55uZ1|SM${J^!Hb1?(6@~xguSB{m`zC2xiI>%E^;iRaj2=Kl6L{gk^Q%e!h=g z(RwJva}?4Q=_jlvEUSm|Mxia9J36}x%j&yg;LffPBi;YmY>9S6`nsXe2+A>J4dLE? zu4qajJxhI8XOs)2{6kl`yN92!x*TPJuF%ud(K9g6Gcw;`W@chy=Dc?O>J1)FUS1wfZf<@-(OdiicW-iY3rh*#6$3~B zCHQVh%SnsNiHb{z|K}jo3=9m+jLaO&%pBtU-2CGI&(pu3sn{54Bk8qisqawHuu;>p zQUCjeN|1_*mioUZs{fg&X=o|+Wng5Y>~^|AMMF(4vcn%wSDo)2Z`~c8_ags|?D`sg2TK4g%Pzu?L&e@C zN96jxGk-eK01c;hlAGkXcWGX|~Pa8)Jp6{I%*y(|(zdZ}0TBUp(;GUiS$#h%MP@nyI** zsRS&4`U8(Y{yGe3Pms(Nu+0{CkWhCjEm}6iolHC!SF5Raej3eR+Y2dyu=Xh5DS0s< zt=9jtwY=)ZiRX_%8>5ZbG*&H12;k^t*GX3*NlS@5lIw3}dTqGp>zo$q%V6E2&QDX; zsO~}8mumCHu+35Kb;)O`F1rtYn@V1MKfM#`8$Ug$$I?q|Z%>rZI&X~DWDzF>92bN_ zu;4)Rr#4ZS#qYkceRHqUz(ZyB4A}>&xX%GIUp$MfQiJau`3|h3zP>2GwluCMLz`!`?qx3>c@LbX*O%UGNR!WLGp`Kswc!}gcw z7t8Y|*T}VBy8&f@Yn|&gYAE3~Xf|_Qfy88jRHb=JTmu=<5*#0b{S~lWDgBpt>-^1z z;D;OuOiDu83-a;mi4m7akJ9|JPi7S`wV)x?%1tARZJXoCj~rTWWPH`{dvzn9fT0V! zX&5@28h*g`WnDg_^QO^_i;uX!j$Qv!P5oJT z_Q&>>lIuN&Lf2g*&C^$Q&lg>V?sio-Eh-|T#c*C02%DyUvHD}hBFh9`Xt~m&BLe`j z`;MX7`Xp{{u=Nw63GwPQKS=GMOT?|7%Iax zyDz_Ye*0BiC1MYmJ+%| zCSBZJQQMp{i4d&j>MxwDyg=aJ-O=mjm^bYSF;FB!K=i{{puT5@sG&No=e>2KkVI9I>FPkn#c}uP$rnXXSnKFm9 zEXdPUrb4Ql+B_Wyp4{hxD& z+}`?Cy!3Qv-Qioz3Il{KTkF;r0Fz`72x4uQQ}@7n{a>nX{C&xjf^!R63%-pfK|WV? z?H9dq5<4X)*Uhf4?!P>{gv#gqOZDr4)yYou<-(T`^0On_nPPzh6x$i$)zAak1Nq!w zpIc_;q%mfwe z)^YZq^}Xv`@y~ECrM=cAm9e(2(Jikm|Gw$@+0GSCZqwlaUX5JY~-r3vQ8ml;L< z$N_XqKvE*VuR5D5O{LTsLjhM$179}IfJa!{!>&J|?U8#j#93op<-=&!Lb$2BUt}C$ zB9$_?RPNu>upeKJc^5w3Ir-)5`aP8#p^7C9fA`pk$c^kQi?&R&B%#uq!FsXJ{|ZDV zO1@pMZhEAYVcZZnUcwOaacdVGD&Hmd>!DN4O(QxJRyB=eqQ=j7Q7)7^s8zXarki?^ z;Z668KR54RzG&OcB*VLhupYS5ss z1y+g?q`zp)*tKdkxh$`!_2+e8{`r;4!WJDltqv`E$`R=@Z!BHnwN!-S0L*JKmX?ji zKc5CQaH&$nNSDf=UM?x`Ji7k)s%u=AVKzVZi@D|Z27ZXIRq1?-dGNtNuZ%##j|x*2 zwR@@@pTBkw2(IOsu`z*rW`^;a^NXL4sn)vI;T3~y@tvSSHlWfWNLKyn*mUc#$o@wa z&HrwI*G6vqOSQxN^nmQnH`nhb^CEdReQ3n{M7no7>M;9lTGpIv{` zp<5_nHZNi9Yijk~qhL<0$@*}R?_4Wwz*6(ak=p)%#+Q&R|9pVAnF->}Zm-)Cd2lvuL+!6>M@}3|%)$Sn?LDKSXu7u1 zQEpU3K#2kZ3KE7WIfIfjGGru3&JrX`5RowCFbo+a=Nu#nD0x6~5F}@i3`&MmgZJ~C zcb)Z~AK#B}Ef!rOIVVVlbBl*{&Tm&Bm^#92sBm+2^vCck?56n6UbNKO zVduVY-|eLpVtr!F&??Nv%Vo+!Z#QP_e+A$x-w?TLyJ6%ooNAn0@P>J6-)-EAGzbUo3S(%=phqU95gs!gU z@mW(c1TXwFTpt<|fj1xDXtJ>SNSJiYL0Kb{c|O-2cH+SIbK1*K;n_nNlqP? zr=4ZPi;$Lq#YU!xpT(m!v_+=c|`z#T3 zH4%6LvpkC^4V;f_?aNVB9izYGB%1wsvhP`R1$j{H)=I^<&i>2w=j`!;cLC&fm)A>2 zBRAx2Z06dcH)NspYK0G*hx)0i)b^@>scD7UxY=Q5V=~6(_l+`s{=<7lb#y$_)Am)h zrH^FpOAJyVg7G-_A@n#`aO!An*KIZYJomC7^CTfYcl#$ip^; z@tvhJPaZa$;1DFq1F0%afw!;=snyjV!Md#6z^VBgy%P?8GqR^fdp7CCDXl!Xo%ze{ z?!wD-SR7Fb*#xbXR`8p?BHIStv@3{^zFRmkSNU}46=eFIfj0^t+i z>=qA?m|SRf&4akrHVw{M!eY{Sb#hRQEZ)cnp44!UN-fDR9+RgY>>ddc!kMTjAS#{&!OUc$P&i6x^ukgNZESB}zhgoejLcc{LMqF&Wn+5);e1>oC zG27yjzi%^UkJ;Wme7wqUm$6pYd}H0bSm61tAp0brgZFL!&P9vPfYCP1!oYB{YPIE5 zf@H_s?4^BP)5R|(_9|P_1Yx?wG*m5(F&`JLTk)id$~D_0zfa<3ll+sBR5NUApjKVc zxYo?%WltqISu#94r&U7gA3&y6B*ptcDdwYjTwN|>lwTpec?M!3dS%wndhMfods>;u zyDIhaGz~s)a;%8bkJ$o58_MO&0Zb$nO0X`;em(vjbh9;V$ z1FDlo(eqE+#}Tu=J}bLdkp1vajQsEZS4o6OoE0C75?<&+`2wMLt|2`v#YVh7)bzF` zt@Emz&e8JQT!Ie!hi@nXJ2gti$m(Iav`R2XC00#T>_vg?dWK?y7S7p!N6zfrqT>vG zEs}jAO3_iu&^grFcWA%U8@ppS(}56qieEvx@T?maM19z= zAW4Ajpm2ABF3vkI?eMN33>%RDpE-v=(zN8$APJEU7;i)Ii|d7%_36U#uwD@a=aXr9Jd2f!K@J9M+MeQLi2RRJEG}~Ml@RzXmUFpn^Mg0k zWy{PUDGKvynzzHA=~~|iOSxnCOHQ51HNg^vSfrh9Q0CH6;<05D_*s%CD1V;3&^*C- z*^05T*Ed3#RvjkiXqTa?*z8Uf@4bF{E*6o$%=da~>~0Ms*IsZ^RW=Dpv`C;T-P9Ip zbz?Zx981hnjzh!pK)S~z(_dxr5gWnR8X_l%O4SI`7`tVoHYNpLbsWg4Z!y4<- z_&m4Sq+IO|)jfrE;u%>`fhXEmklEHOA=y;?+(;GeJfGOKi*o_-wv~dR`H@#Ha>a^X zU6g5e=VFhytOzah#RGAyxs!uX~UjmL)k-;MDqHZe&D zHgj+}&-m2~N#5m>jwWY}`@s|rUD_6!OPY=7of+-3|Napp8j4357jnfO?{WMM1H9xzdJiZ(u+RlDh)2|J&%N~cKt~^a4p+av-Z!_ z2VcDlbiac9EI!HiX*uR!GY?k{b9!gY5MQ0NJ9|cb*?0x9P5uIy=9|we*;f#Z(m=Yh zsPCkbb&8X6{n{eZpLfqWI$>{wA33kkQ_&yzScoD#t@p#3mUBGf1uC{Mv3f!WUVdx+ zp7yXlmq8@DDb^tHvuDCVN?E%UfQjY1F=0^FCvaQYiK>n6Qiq&`uWhx<`m`{DjzvRN z>Yh6*p@xc1q3Q_D4>D(LH1~zoCr`n%83bpQSXU6{{k>$lR89hc-&XU+FqitwJFxJv zA$B>Yspme*f3Qz*CT6>9?V{nE3s;cMhs|yMzbT~+*Zbm(8bpaiJ z3L-3j;dJ*4bTs{;`p2was)Mqk71D|fDaTh3Xq>F4^8Mlut#i+uYYY6os&2iZc78OU z%3fJCl2|z?D7asJf)}!|E2Q$L5N=OaRsM*v$jyls-deS;(I(Z&qh{*oYIk1&ZW2uA|`fQ(?1W?XBw=$)x+94NoSW* zpc=)A16diR^eFc55WQ&WLspDHclrklZY4*e$Ps^qI@=g#8f^X3vse35eJbAa1j+#! zd$qU}>f_E&BGM;<%pCs=CiXW6oAX*_e$6YP_3M-hDfDYm4a90i@h8*7&Qvq}R(5AG z`cy5w{`(0TV)|;!5#^|te)WHvZ?Dk`i0P;YGdX@RIA;NM#kw3+JUPV^Wc5RzV zDdl$Lw$GQ zXsE>{%5eUbpFJw#_QTc(Z47dir6f@A-*U<3;MGu;JTn$+US0SyYv-MTW8VxLSSD=r z*@B1WwF(HWzJ)Upym03jrN_$Wj-6m)?p_-`qQrymPV)7AH?B=#CdR`iiEt=>$TvS# z*?F|K@+S&e%(J!nW;^MEYp&gX`w9~FnlJEOT({+D?(}k#&584u!y1Djw%)^B!1kv2 zJ07myk@r>K`p0@O&eg*)xV3Q<|8w;YVRn)&`A=BwW_pM5n~>dzSE;X zbUypG8Ca@;`BxX0Sh+@*z*~i+uEHrhPm?CK&!Y=Ej3}W9Dc^Sy6R|WBL0Vmxgj951$WS`pRb3^J~MMMGEWR)cIK4u9O>&C$x{t6iQsKh&sM&H3jr=<-n5 zOrQ65Amx6}@ppyW4oXQMJ>xi?mnILEvKo76ZSs3uOFApihJD){>+)Il_GOMkN;3WN zx44GWcq%Cf=Kp5%|5xg6w0~i+yAI)5Pvd#B}~4kNSDyQBo}Mwio*Gi1k;UdqRz4WfSYQ*0qB*<#@$$qo+{ zbcr(6ztczCZN&~9HM0Fq0V(>{Kbqm*_!}wkaO;OAw)wt<}Z1yoVwCqt1 zHXRTJWZumrNh|dDek*C5TcV=jq zg6Dob2r)^9FPpz#_SZr%=9+#A99kMdH>S zwIZ}HY>1YBSC!owxdb3=whR)M`H|Hvfs{wZs$en$6VjnPKgU-dB*F{&NqE zgDHbMorX|>*gS4UyQd??J5=cyni}uO=iM4>EmO)}mOFMIIz*A@7#aOKZ=$KFblQtg z=t#;sB9Yu`MCP11bWgi zE4fYH$SpKvAMBT0snqk+LupEyJUmBRiG56T)Qe944ax5LVOi&+)vPmJ<*_GPCZl)g zEFhk%)#?!cNNCz)gxzgo{$NyN`=XdJE>v&X zmRrR$A{Qb;FtSPk&u)2IyFwK>Z>kDkNcUGOS1Qa`8829-5=dqqhRKcBYYrRtbnGc% zcku1p?%XZXr_;;Us%OvtR%k@e8yGfXRX4vhWy#mdxq}}zIX!DI+#;=&wsTY`Oefe3 z-BKd2=93w3U*I$Ur&LIj_-n1^X}-FwYB)8;ccD~ei;||dV=#|R@7xz7PL}n%9~ohWi)@G79A9M`}$-?_&jqyZGv6&^Yc@h{~3OgF8#^HYjf}< zZX*9Ez(kls+bc>g7RUz4~OHB3ql{l z32v&09xtEeB8i7}kNGcf!#9Obk)`u|e z;ljBCQH)_Xtfk zR6jPX>!=35^izC+;%RU$stOhvu4?Y?W4eeg-Q=ur3s#%gP(^ADyTo_{f;1COIf&xe zJR*^u?!;CXy&ctjpmxWe+XC;MdLbvb;BHG1qd|OA`jObm- zoIWknA&Vy*A5F_=#^!3A1$))aRjuSImnZXZDs8CPD~dEP^{aand;fDhJ0QxxaLz>a z)lkXP;C9eg)x0S~fx{^p`a$08b6iGMf31~lzCPX=*0ls{t4?k9!J*X13l-266Lh7j z=$|tP^TOC4Q4c*1J^MU=cqXdyN9!DWuk@3ssZUEY+3D@&bsTE9Fr{B;nerdabDV3L zUCS(xtw4b+1<0z-M3w%i{VP-cE7Ks8*b_+U$H|>IwW~;*vkUWr{82r}1KqtXA~%%@ z@~1s{(#+SrQ3k%3+=tk?8~M?ir(r(8bsXaL4uQ@(DdXSPUA)sbOD^}%t=Dc>G@N}$ z_cqFaN$h!ixeS@-YVb11Ib#xS1e3wgFDTvN?P&5nNtAqQ-o9~k%Jy++>$i8@X5Qt2 zr}Y}%gyO~O@%Vr!my9Jrht+??v76b)REq}By-{pCqUhcg;xeh6n$3frlyP>2hiRrH zM`_n$JRtV=J*k&ui0QC)J*C8x{ycgrTJi2|a4+o>Wq1FMG+K;;%Mx__@|+oH!bZ#4 zDy*;N+#B(ihv(*NR4G|t?)9_0Rcs#yPrOS9#tRJQ(n2q8oY8t?9rq823agO8gek`p${KF`I7F58_~1F*8E4t#{&qYHzSUj z7O5nTvB4d=@JX5^X<74Z+CRI3nAm+aczF6`GxYMer}0|a%?xh*|Jh*HMDwT+boA~j z-7)A8f$wTi!mi~ao$m)uyq5pOUrwLslc^ctbicEnoxOsz?SBD5P=+V{F(t0bGJPBO zrJcnY+jZORQ$RQ+kCk_+O4tq!fOTSgE!&R>vOb>~aKpiio6+C-w;uAl?Q$8k6B0^C zq}>Or$=qzh5MMrutNRslK{7AeBJALkaSqNv`4T1ar1apO^p9OKDz?Ti{kjHg%~+Q= z{%y9qNh+^T`hzkNRi`~Rq zff3iUbE7~{f3-yUP#G)>^1J&IzMD4ZrY*5xKn12J_E&!Nul$C`@)bk^y*_emsHb=H z_pRH$=xe!i`foi+iQV-;7++EHa8LB@#+q{ix7+J>iO->^{}tqh2gpT;9~F_+LZFU&PVOUGsA%`Z0w{7j#iw)ZLi2H z2E+X=oe6?naJz%PMEPK%)#A<|&%eD7-+39h zZ-!lKlYZ9~7l|Er!H{LN^-bTX!e_2HYLH^Y4q*q$z8PpqHM^X`o zZh~>(@^Qfc;FAyx5%{FaY{cC2DC<(x}$Ed5QE7UBot{>uy(kMx!Fefl#^;K;PWJ z;mr%qiC4R99Zm1Q#9l#e0??yM_`wnG?bVMLXuh6`x`Oz6b01<%7@*tuo}|7+>3e$( zNBwUy4CTOb3SNAaek0T&}KgE4%QsCnRZMA zG_=%Y=PMN{a8w(#ru0E0*DIs&$YJ{;N_vX%N8Z2#t-gIQY=X88R|C9jExE>H$RGK0 z0?iJ+Z8u3ZQflt!;ci89pd7^$IXouo^%n90^UqJ*m zMD|!s&@BSdgJVo!?Ao?gWjIFe*$ zHV{l~dJY;vR6M)p=Ed4S@WrR}OEcb~`1tAHR_AAY=9EmYng@1I_0m3_f>g!3CaSf- z(%(m)=P%(W+xESkaDZxofkR+f|LJt#;8oFfp&Bk42-DKpj(f|^?;4e?YHMj~mgLzV z)!Q=j=uH!WLtK?tLeIy+K1Smi1A|S!&gMQtQO?UJpwu*rb&|FxB4Kt(+vXZ^S$mOu zek;NfY_`Tt|8D9MdbhQkmT(0jV7#bU(AtQ1ZfmHo_24#sRi90{!7 zkCkS~_zF@YYTRPsl6IEXu;b-(iF53eLD_r-xpfXG|K06*mv8`2&4WLIB6uB@?tBGn zmjr<(`U(=vZ8McGRHLt3?!-~)==EjAHz>eq-tPyRFwaVTTnu1S9Nl%cf@%&_-v1+R z@DAJ^Wxui_A&pX>3^blJ{dsXt3N(ST>-x?q`&I|${pW6-&6-esO+)*Czw6t1%oQx- z_T@jLj#rSNM}6?_$t5;WFcH#EC}k1=wQjZ|{k4C@uN{Y|i70vi`fqYQPF>A1Ju_?} zqdSLa{hWRG#QPrTM)h|Tf`b#q(y|!*g3BTCcEGPF(RM-g_w{NHmtzC@ox=#qXinTnuTtcJ~BbH}3N<;Q&E z4Va~Dd$$m>xjOs;FIrJJzVkmb8@zZm-~0~Hl-Y+7#~~ZDxMx2jE|1%M+D-=97pmV~ z5TGw9;qmyrWL?u%hd(|6>{NU78=cq{2C8mhaq~sWeIib*=?Bg`~+;leDGah%xteN4H91p`r*oyvn4;+JM-tIL7h%j!7(8{_zqWogqK^Om(pr zbOi}&D%sunQVSySQ0a5!ga)D?*XyTIu3Wz?wV(Y05)EjHl5;zskWogh5_m68Q_+IW z=e<4elY=88nlub z!mRKu_4n7jM87#5Iy;|u)J`8BbX9m+E2j)Xh8PR4L}ayop-RQ}@qZ+m9pCCaEg+>@*5Mdh@Bn=9YkJ>$rNxWgb8M z3W|k$npM?1(DsiH?_|@AVS~6-R)LFE*u8hbq3kN1ybKf5bPd%BZ;DPEw9ZfFsbi;Y zq*t~3gEOc3@r{IzYI?W++mGF~4JG#8898eL(Xj4kwFhvEoUtkAx!nn#;zAtYef@P|2 z!F<1&uH{$~MiuyKD{NaOFd#DYf@P3Z{`k?1tuno+AsepXat+#ITIy(ufG9c*ICb2yE|``fA;Bsk50PP!0fQ&$n1TO58ttef7Br$r zD5t{7&#f>bbuCTlxh_R+D)uPshe-DWytn z4j=-<4Er$-3Pq%fjsc)TiMqT-#gtf;IUO<1V9J8%_-d@1j(7u&^#`B%kVElR#M~(6 z43w#%DLCd71A(#T1HKSwNKnNwxhVm>&@8@69$p!gtf-?(jz3rpwSR|3bdegg0~@`#(gYpP6 z-!O!6z@Q4f-)h7)p7k$K%tLL5oop2=`3@QDEohn%Rpj#YyN+XmU)%e)Zzljz4!F$T-> z>1dKWRo@0@8EKwX;)hr}A>sHFcVEP-m`$*hPv7zv)5IoZ`b6Y!SR)_xa+A(KUOPBo zposZfFQ(SsnNjlx-M;|2u_EOCL;jey;|fx)dBRWL`dggeDK0TemgJ#sHAZ#y{qGXB zZG+EiTl$uBtZw(YB=S3q%axBJ2NUF-P; z?ST(j$1(F2q;u?1nXB6Dq0gM!pCip*oEcY;cUk8wr#SSV>zlPN$OJ?a`c*_N*|sig91sk~p`8Y@ok&UCW)P8k=+>ow^u%XV+Sbk$vfOlkS2IvM>- zswvH79k`OpEk%KvPJ{gSwymwx7)F%*6|Bg@daCY`u64`hd`7ovi&M(C!rZ*8d`*=@yS;yoA z5E+&Tj)bWy1OO#~H>O7TkwaW6WKw22Spd;s;xgZhX(h6PLF&v}wrmq7uEGh9`^XFp z*c$*++ys&j@&L8~7y=*zhUsV6PXw@2XPK(9%!Lxlno^~Gu*`j3c$AL#$zVzzY>ePY zG9?B;#4ip7K!mQ);6X8GPa%33Du4vmhUolTm{71G20+1*%~8%m&P5ldqxvYrfyY9T z7-clbLav1jlgQ?$dV-%tR`|;pDy!&s!3I1 zczI<|MPgMB4}nzQ(`5ibx)KX^2qoGY%K#NqUKARGu(6>{DyA&i>;U{uBoQ@;Rt6ve z^HaT-j+kXYqtY^^szN3ZyGtX6T4l5qD)62Ze`u?SU!s(-eqC-0MJhwO=WJh>RU|Na zV}N9u*aAu{cTQxB$iB85H+qBO+lIcO83}!~P^z%>(%^irnG`P>XU2vX?Z4PjiYd-9rfZb|Y( zi^l8T?y?)&0lCKPzB%?gq>19R*gFr+O@1)nO85cgVCD+qf*C7(gqf&MnPdz}ybKnT zCCYeO5IICEOB5emEG6Z{x_94#gnb8tFXN{!t8u)$Kk?X7O;BwTA+lzmL_CT=MAr6= zZ&!Plwmx z_jWAQX4RC4^_tr=>KtI0AZ|Jeg^!EQ<&s^tzgn93m8xug1&Q{wJ|nUNq)SwdPVcD{ z7U3s5GM0Uw0IGcW_q9;n0+J=myUOX)_XO5#??NA~st-MLR87z6{O+=iGx6H7W4s4fkauOPofQ@yuE_YGPz7@dW4 zH_z`~K^6^ydZ#SUI;Zy!eoh+{EhfL~qfw%=E^EM z(dn~%7@VjN84~8(UFWW372>}r6is|vzI_>6p)VeGf?a337UA+pq+iYM(aooO53qYY zH|>W#!M9m78>EMrZ`Szj)73ppr7d~2s`22^^n|>ovvIfkjbEJ}R)6er>o+Z)I^r_# z+n=XCIT3hAfO(;j4yrBtUtZ-n%$$j` zMsNTStO!uOCQ?WhQyvtlJODUJ#N=1Ntiu0R)It4%Dw387;I4#U+u{f^87kr&Rqth> zY!;YvJ`=Vw@FnrV+Zv+d0mW(nAO-Ly!-3a<7F`7d6KzU#nNM?YpVlVT!rR7HEc+2k zblU*&NNJyeM$2-|rsA#R*@6vufWCi2CM%hLk8b%$mAijPoFU)5Bc%qbi6QCRqBQz-5I6ni7yzZ&}9EYo_Z3wfxUw4o;G-)>(Ex%2wQYY0WKOjIOH zye#s80<+BU%>cN9>&+OlC=#(=IkJ^|9ok=eRcznhGBZx*3}z{LU59iqCq#}v8wq`j z&2I5o>UE!CLikd~PuGw20pf%@2O*qB1FY{|ZG`5{DDAPIRTA6x-v52SgoMG+@ePEh z-5wI?pnJbX{KosI&&q}#i;I_O{o^iNdMUeCx~YDtBwcRYz2%`_bv*uu3?#y6w3Jsq z_GC2$KN8WynSXEIJT2*XFC=|07oOndHWV0vOO;;rj6!8SD85O@H`;1u*`@3>$JXFe7P&7Ci z^D(0rj#^#4xTF-aKOBGR)Pr-^K9_~kZROBv{4BhYTboZMn?yiKe^h5Tzf^Rzx2K0* zijVJ`yU|#_S6u3$*UPYn@dv5RmtZ@)zAtN9!pC!hmg;6~^peAZHG>gjyC6e%_D;M! z$s6-Hn})Ww_Aex{`vj=ERO3$V4f?Q<6}@O(VWIWgUXUYOINH`9&QE$# zj)63tNIE@*R7O2TDMZei$3Y=cZ~Fq#kx-ox`E=w)r9)OyYBPd0t5HlS^*4OXbeTLg zRzX^vB&cbXAjzoLiff)%kXD2ESgQCoq3tie@&ls5cAr_#Ltek7NOk5cuYG(B@P2%MiRq+#JvmjR2bRl+8C}C052Q%v@IhhAa-I=oWimP z{lmXV=9j$SBOXfNIgQ>K8GoFNqf5)-N}E{A&PP^b8T%v2ESwtkO3rL&G(^AX=VMpX zs+`9b^M-&}aW>rC{{cwc;{g}qm;O%lh@ubMs33P)M?D-0c2~2K2T6%*Nl!1$clLG*GD+}IixQu;w{K1i1jcS*I1w*WFx4# zhd-tGBl;gFtJq+ha#j%N;XrgaD%Wm(FfE6u-WS7u&vnx#+LwsHo{7QqrW7oM?0q=~ z8h1B&q~wr3=EdzFt~O1wE6JOjoRW%xu5To2 z8MSl1ZI08w2l2PCxauoxhKhvHVE|$Zn=K8P{_vZd#I!*p9*D>EFDn^a%LrbVYe1eF zmu>#zt3eU;m{})ilR3wQB8*U+p(@9POmdmRznHou$^{$$+sz_k;`_K?Ut@G_`Rpr) zfw%XR?mG&HP%2xG@5=xCk(H`|v?r_ig`5BPFiq*`Uv4q8BDtN*B7H~YGr7G=x$tFo zaotvw3BUZ84T0jfcNVg-=!qAG>n%6kmGQfrXJH-DcJHuBpC?Mu3NoE~2wyVG$n^D7*z+h$(gZ7zYax?-YGi5= z&GIA*CS`_BzCfv?**QjOsYj&HP1Lf0<-(*uT1FxpKN?EI$ry`|ke9I}EoY=b!6dcd z7BViZtz}hJS}xEhKWH;r%UvjZZ8il-5X|_4ugkMPv`qDVH3mTd!CR(Vs=ApdoL)!& zFvozGZ$NmHxO~rFuUChzWBaB(HtDmnMBXlnpKBye{8L)VN~v3cE~-xaj@VDer{Tja zakvT}>;(mDSa(`#bousgiC5NpVNSb|IM^=&liPA?#BvI$-M6m|dGcc&f8C922C?Ko z4Bn2_?etwrR!Q@LsemK?g0-V+8kAKa1s6>R(BuNc6<>#&lv9BtScL~fK~l2MT7ha; zN>qU?OiVCsCQOGH|2qe;>z@qCiV|6^B>0YGRq`Ns3c+n5VM*tUTnMp2_S^}8m)k~8 ze5G(a3qgr+%+=bdC z0!AiwmLN&OC*Ygom@Tf@(Jgs};VXvrY|qS0bZ=PKno-YTuF#f4#B1-ELhjw6Yb|R@ zH@%mwtLV!JzH_=wawjwsCHNjkk}v~atNUR{e4uaMzL;x8UM4B@iK!SW7(&lTsq+4o z8tKaxEsnzQF37ED?8l@xA80`6zLjfWV@v$dU~NS)o4+p4c?r-|1DkA_QpJ=VpuhwM zlsSiA3otaH4=6(riZ0#zfI^3)ORw|GO`n0>Q216v!!CL7+q?kP%=%rj>^a4D{{8Sy zW#_rOaqp*8(-=$z8gd7$;2>GV7-T9iN=(tsORk$B9h;&za8`Pwc5(?tN;*F6hFwn{ zRsuAmujE&YV0s--otiRD4f|&kx7ojLe(hal$5t}Sk4wRe56#_OW2D{|3g!E8CJvOe zuB)k8urzp&iEz^L>@1GD`Q7-lZ#H^;D5U*$Sm+<*X(9i*CL8 zk5sS>K9q)l(ULIosg4w#P7oGh2A_q7fJq_>u&JSI%NZg=8yW1nf|H{P z5u!pS`QtlW1y~lDggg@tbrDR$Y}hah&?Stu3K+BJYQD}31dnOHBA_CbTws^cCsi;EMS@61@I> zWZJv_czdv@fK@^uz%vn!I8wpgW{ONvly$~z)i;lIx=kpaNc$asGXIrK9HH69{S9m@ zc4RTNUg)%xcwT$;!yc&&@p4>~x?77xg7-J+nIf08ES3gAdcF6jfW%{4{3X00akKdt zn}D_n<|(mTT{aIBYE3Hfmw4p4?~oIHg(tpBj5xvaTk=K2+h9B=^L&H9FOkg}l4`myv z{SX{o{`P4tFL~J|4~-2p*7c1FfyRF5nErA0c>t+Ojt8yCf#vWLuA+o;<+A6vM{<v^ia6nU+=D#`ath5Ht2j2=Nfl_7oIa{ zg(PW7US4jb4e+{E)}Ovz#0VsMSbh4hTD1&rBFS6+oG0LQkBhwxf7PaCccX~ccgtO1 zO_W|@CHZs6(hSDF@eil_t_*J#BdEGtyU+0q>cpHPSCS}|V~(+FcZJ`q6HI3u;6$+1 z?vgmnd4wktOYpC4+B z=p{TDJ z=zWa#>id5&!|WO}{sj->|Ded|8ks@?{E!8ifujTn+2wkd{6Q?v5R0hl zTLB5nL=dcN1(?&h%b_ey)T0W_-_imxBx_2=*9zkmVWP~G1Uu)`44q)kwd){i`j-DbA6evZ_zTjIo1&mC#Y2ynjg$eZGmeW+tWbemc-E98iC z-_&M7bXiPM1HYMoLmmK|z(Ee;kbe|6shFhAw1?XuQNS-tR3N);k%KH`5gB)~jlGD&=AB>5nz{}{oCf&!u8Wj^_ z1nOIP&GYRZO9f_P-tD$Iy>10&dVdDi60 zwqL!#%~l5`?=`_nmyg4&OF5*Nk?7ng>h&C{;{L4{Ai#)p#|;f~e>r9Q*40?8FX@Ta z8=f+?)&>D)V!DOoi%DYf-0K8L+G7R^QfZJS>5uf9_!4MXn**F(<-3~_Q>sJ?C0pcL zR?JDrct%r3Gt|B8TVTtJhzphz7RwRK@dg_Ff$RgXTE{0)>&PnJ^(G&g4|32eFQMWs z>uTrNVWKzR=#{7|w`9w={CWv}-uHWQNiA?HB^Uz*GUQ!(8L>nI8z?ZHct-hjxr7QC zizH+MqiG)XK<|X?OUb-XHyNWPEzI-oYSiO!8RvD&+EzZv&&2j`XQ}7>)E5pCjP1nh zeSQM`Z=dzH)7HODcMV$UZBGcxuGf>0&kMH>UY?+_w(E~;L8QQbpJ;RZ>6}FRaizxBa&p! zs9^2q3}_+X zYbX+?r6RSuSlkgInELs)W6Neyq-T!=3ra7gll!(UKdjB+ZXJ=f9M(j2r5DM$&+!+f zAyu_^OyRi{nSs`a4@WLIX3{nS7qI{cz@(Q~401k2S>8kk%mwHwH5E8A z&|mBSZ_VEVU&auBZ?zaZiv&KG%qqtyAorj(JQm$uN18ttO;T6@We4~$1f}NWz(+%d z#DAaz9xamv0(PQ=>!al@I@opKPK1UO$)_-QUI5)o^j-%tL&wa~EJHnvP#Q5dW=>~` z2Q7fh-O403r(>ikuYYeUGdAYRUY5vXiIoAqbova{3a$P)2z5o%X0VOP`K+9Il1^r@ zEe>DRff?91AO3<_5*)oV!56(?nulb;A1n+?mYI?#2K%3FarZ~$!A9t4o6-{?0z0K} zi(-jNVC!TAFY=Izpskoi@vFa02~=o^gDj>&Tn=LLTX0a)#_5n%a)CPtaA2Xs@D&gO zC3@BDIo9<z8V$f4)~<=P4mOVr(#c}rj&(y&Xcj8Q#I;$rP# z>%ixR)v~qyah)U{UB;ht6)-t6%j9vXox+?>Nts|xFy@+E>LSHWPQBS>?P&XU30P_a z?q)++iA_3U&7L4fue-W$aSlzC16=^Z0DM~8jz3GUom}o>-Q3&`oW@xh$8+J9t*leo zg{m0GCsDr3YM5WspZ0kJbyLn@a59@dTSlFGo{gMp;C<{GC&R1gr{uGbs>-d8Epn;&rFJ`0j_? z2h2q#1s90?A>h#?xVp@ZJ z6A5rH>~WWSKZ-HBuQ?!;aQFy(mqG2WnzEu{8k(libNx6V0(mfkVJ-84?0{X)?|KpJ zD$tj^!bE|)OttjvE<(%Cv!z=Oi5?XEvqG+W7cLj)JClcFc#ieOrB+?^MuGS3Pi4#Q z{JbUODKRZpNoyXIN+NSf-%AA>$Z|X=S{kAnC+EQ3Nty0{50>Lz-8y}Yqq-~D@M$~X zz&fyj%EjgA#WYSkUqktkxt$ZmATQy-YZMbdr$g$=V}L&4Zf-h# zT*v7cr+mRj5uQls_E(CuKZD#4}Ktz=G27d9n>kjF=Sjo!8z zyf-2TBQrv2X(!fzEkg7I2IvP3w0=G|*=0d|>xBP|Z`S@7@u;Non*!lK>lIz7s+4na z+dL6rmdhuLC&ql|6(>s|Jb}^-+rE^^@}(Z)XMMHP5Gj;>#0{@zR!M& zH=WP6z%JP8Xdq#w6a8&+As9TTL3cNcWT#yJR79x($(Wh>qIN(>DdUU{6Feriy)vXI zY}a+bw7a3my273_{v+GO+jp1J?$))YgK zU{_;3jAUSli%Q%fmsu%`Urqj{xh?~F#|J^}PMXZJbJ zuM{Y!%f$%ON;*+F)su%4Yo)j*O+VXCSa%h33Jl=y=dCw#N?5BmIkM>8{q^1bVjzX) z%U7o-?W8GWR@{$Rft8nMiI?{|&DZwnmi$vo!ND0D{x+1Glz&RbLEx!4f3JX)lIu-f z#ff`uty!kbAZN*A6JTaoi&T1An^-|g4mSfliHnJY8^1e4hugsjMFuxE(h=Zr!y3kU z^A_x?H2AGCUymn=SnoQ;Zt%L>Fm-~_AP`H3o8sH+2y~mqC7KpF#$i02E?_YlBvD+k zJ#bb%(15{$4Bx`|KyIUh9A&+ug!zNHy{n&^AScX`2bMKU_ezxW8H& zmZn2Gf!TY@&v{%-lDP0Ekl@jG3;na3TReS?kv*qx5{LI>z7cb2=63Pa=PoNhfPQJQ zi;WCO(x29plj(CJ^G<9W+Ku{L_Dz`X^uC*nBA6Y4?^jITv@c5EIVA=tw^;xs%C(B`JNE9M)WQZ6i26YlWhP|Je;mpSHJfFIi3A{je`SV4*|2 zY`c2$c#NQB%Tdf3pM)l&Yh0``%t>HWCeVvAPd8lMFG387D~vPkR${pPfCc4Vp~dG! z6)l~fi+H><{?fg2U+WN$P7g=$__rkE?naP%rIzV{w?aJ`D9eoyu*ck;lO zj;tp-uCyQbQ{NcTOTImNq8YjW$*fCWLrZ`BLAJ^Mi%L z2-lT{oP_vRjwQN5vE({q=6D;TDETJ6pm+I<5Pq&V@!N;W0W6_wT7INP`{g>+GnzF4 zN#5IIc)dEYo2Ni`WnkOE_n8L!xJJ9DPAJv3IPEWe3>)S}&EAXD_4(mRXL!-9FUK>k(DLImhp>C0gDr-3Z*4n$zf93O7#q8I^-0`Uq&a>~Hh!@rIR z3`FEL7KO15Xi!)U83G%JO#XIQi^ zL3Dl2mo}rT?{hY-B);BZQ{qI6J1i_=^&8BpbXz_*vkN4j10rV8oeWD^9@-%D8SC0M z;}jRM=(50DD6-dZ#A}47jA1Db&)C-HOq9D)4k0f!blLLiB;8zFf$q(h zr~Z-bA|hpD+$@aQ{N!j)S6^nqu%aveowbmU>yi8K>)tKV`|D;4*GO54uva7s#^DuT z(fzfW(piNyQf55zR+W#UrIhjzjC*e95vM+#G6gw4GV8ViF?EeCBz;jgKo?9ws9WUb zHPYeNRl2&lR}$)ABgV$d#N!TcPnsc_#t3`_R;j3`ODj=c@wbJyom$2aCcQJ}ZCl>{ z@rAdkijO(ErSioNP{K0mg^AToe>XRHQTv}@l}fLpLL0q3J=Y7D@p%jhq}%-8{*bN% zttF>=e!gk{orx7>m5r?*0wc&U)+3&uv44e$xQkHFfDoHq28D>l*RJ^25^-D;{tE7N zkZy&+uwra?DwOs3W`@3b^8z#@Bs1z2tklEkeKFJ#Y53_>0_DzTsv(hXttC2_UWTfp zZ7R=R-XilJa7t_}uo~*GqJdbtI8YX&xS;%~@HkC+CR4UT|5P__j>!4dvdE9x(CQT3 z%vQoF8qpLh*08F|Pjsno4}B-QTK!dA(iaFm>war9^{T}jYH5f5z*ldgol41-Fj?~~ z6<;Dcj`@CeTe$?g(ur8}{8}P~NXlH<^H%4kbd-<%A(iKz$<4Y%V7Qj^hAGys)Z6d} zanT@^TIOPOWprwkRaRE06R|;q%JC^JQ^FAesw?a4dC$z#HpAFvzpi$FFlR?v^DAMc z`T+`W87$0_%%lo$Z0|S>BawS1QvJwM=yj7})(w_c?HcZ#R!wfsyyH|Dsx$FkHH5>gY@p%=^*#!ji^!}?ESRh96Sibyo0kp*W#ap2(jUVrm z6Yxq{618X$&&;D8kBft%EGx{~5M{c@zY>zV0+Qt!>iwpIJ~IsSLsRd1&j`KQ_bl#V zUu4Nzt;R(@k`$xo1EL;NFh6&h}7QnJ}TjGgrHcOCDV?0XL{W> zwmFfrEZN0U$l@yTl^(O1i1AcI1cpr0Wy>T(HQi6yLnUE9Ij#El-p@=Zr4yA#Gp6J5kEFCY#s`ZTTA!FJ5tFzI$V7>3bX#rD z+pNxdm4^@Lq9i}Db7jap%Pxag=t#u`C>tb{2$``6`9O02uwaMjGsOCc`V1C`rCrO6 z*s7*AH%b+Hylupjeh|me(&Q>GLPo1vG>PvNzujx}DBeoh%a192a)1{4^_?BgL9wLQ zTvq73_8yH{P)8hL=5XjE+&Ko>VB~qBU6S9!ba!DYD(4YlQCChz(YLfj5_#^ZSE6(A z<=R>NL;YQx%+1e4jQ?;SDEyFA;wB2Fa-O$>=bD%eA;ThXNSL(REQ(7q8RgRX<1b*w zra|o6;qE$r9>kYTBNdM?>6vo*%A*Ul_(iSa5bDtt;tig$n?xmMY+8P?#3kU$LPwO6 z%21|1*a~9AxS5W2cW4-QYi!GF-h5wOd9|Q?kZxzEi9hIJRUyPCxN6w*RGL^g0O4Zz zAV7}Uq2XB3-rG@pI#uf}cTR4T5Ag!Bk+{Mkd59%Eo`uzk+9l;U@`ouja?=Ie(v*fS z!CJYNi$V4><1}3{Ff2@!(5i$tg~=;CB2{<1LdQa$bZ9GC%QeM)ZrzMMCX07`f1z94 zFp$XT708M>k*stHMC@9&`u4~uF=gblxjn`t(lJ%0htG&ZMFiRfai=|551xZ=|T=*XLCkYn*i0ADUlM0|bdM<>BPc zwE+&&407C%zmd2hotzXZrWYa+f2kmXfxKQsJpNN7oB&gLo8#3UQ4EsHe7TP|n{_ zt&c;oM+7Z0LrDE@zIeF*@(DXx9;NcaYtN7Q$9DVCT`l;Bng~0u7)F!DM=(fv%@#Ga??vZWxtC!}>LFbX6d(&u$0fw?33wScYwt>12eOz- zDaxI;8w7G%(WMx@0c80k@!NnbXw+H(kZ`Bu;r(+E|F8Yb>Ob34cKU@Zd)=1>iYiy`q zQ}r-}LKEgq2Lx2i-cAY$M#;0Gp~Y5Ia`6T6dDhdtQ}OnPe%AadAqb8`OmskC?bX^C8X-Hd>6>m&O{4-Gvbbdw{XhDGMyivrGRbdC zfvXT<3y2!$bp9b%i|2(po-e*NQ5`10`#|dEhvF`v56NzV%k8ddtNqJLh0C7iZ=B^^ zmQw_2{ZLY&;H>l=5m2a0;j*{8h-hp~Z%GQFtYAUt!kqrAbxQ_0Q#LCWhA4lTrnW6G zI5(Lh3;##!5Xy_7>Gb8aHVZr6@n$lhq0hZT1LnvDapaD0QP}dkUfB4@E5g024cbSa zSL8B)$zAwli8e^AmzUH%IX=T(PJ<)jv;k-X>71};!up4vSA&BSo-)~LLria|(P6j= zE6bK{&7HmW&BfM+3w#UGI8|~&_k)4W!cUIhHd#+xKi?3jx8w_tEqgm)D4Fun|;+GSkv;|qar#T(to7S?E}9VX31G<~a^n?H%!S0?O- z<*-ArGI=9Pzci+RNd}OiNvh#v=VLGEaK2rWr?VsmHKnq~s3mU4?(b9<^KtX34y@|B zBtINFWe9Qdu>KM`o9I_9x<(+}WKas)IF&SJj@%4t4)%PB6ivI9$YD8r`T3d_;cO7k zmjne}2^%8@-5kE9s+>xSch1qfzIKuEE4v>NZ}$7->9UQ!0@Dz}3+aA8VX~di!ZZ=> z0Ho6dY%rGTd-H}zV+yTufC6*9@PQ6wO^-Z4?wd;~bpbFZs?Z1k-#hBx(_&K9APSYoyUA%CF~h9?WDg5Rh3R6cEJnqHB8sh^>d+!K&yjpHB&5^}v_AnvFxY*)>AY$T~Jylx-H-ckPk za4>gtsc@KT+;Fw&OO`SMRZUKi2>P%-bwi9PeB#91ddwoG9^ke{=jLi5)HR~(g!?#= z3e)pi0m(Q8ktnB8k<-hBDRo&Zb)(L4|}%d-{E?`2uwB4S?K~~w( zAM<{%Sx(A$l_j>F_b1MmQvDVIwU%twt>dp=%_-H=9J%TtXKavySZUS<@4rgpSj-CX z-`PgvGlg>uK$+*`SnRDe3_eXz2$#juv3>H^yn0p7bnNpbMuh9pW+Sam62|nP*qwhc zd4WJj6oio2fcniSmNq4tIBsdbGdznW7sjNrV48^*#>&W>l+lo=S=J5JZcprBU6lRq zjI@Xjmo0d^&lpYiy&n| zpCIePuH)zAuxz+TCA?T3#cZiki93YwrKeGnlvaQjza1VX<5jZ7w(jDWM-9t?%thOj zCoy%$rFVabRph2vUd0HX_ttenoBM{jz4X%R7h){1FO1cysgej4^VO>2txRmKv9gJa zvbYJKtG*0K9pSdh3>8tz<*E7wwQWm`Fm15C?Q6ro)y!6@d)~`lVqs;DqMEl!6K%_H ztQ}H!%#5MV`axCl3fLX~c#sJg67H|lUTLsYp{j?@hEy zE-rkF-SJNZvGwa}MK^SYo2nEv9=|f^Nk@j<^PL#R7!txxcl~ICqX=8hId)tI_?F$f zclo_%xI~r{HqlvXqePl9^p=`>lqowUcmn3>3Rrp3(9w8XIku!UQ zLF=nQYR)E-FJtZw z4SFYV|E>Lb7_@RMAnr@aoUCMnd;3LOMB<*OGTtx8@!zI_kCqF|X-_U3MfSXQQfs78 z=T+Q(xb16g5wuOI^QtH9Z?FDl>G0xCTnzYegwL>f9#_3{=gt8T&DzMflYf*;JKqYA zO6flSSCFl4k+{rRsgaViIl2a^m)l|G)Baxpj_;{z(r<^3xa$`=jcb>2ncLTev(t0R z4}m;{`|O5EJh;6WmC}6N(eNvot+-VwCj{2tUE^l)Cyq40>o64G>AHWpox}NHd7ixg zK-zVcT7LM{U$wl!zvFP}ZNqs}#!sBVHXsDE!TT)HK?#j0C60xq+yJ}|zwDC>i9o^= ze>$xnopioHn4rC2<9nlaAWNBuj}_VpDAFh6jssfka!;@M1p}Q&2;UUY+6tOkPK>Jv zOleNW_&n~olm@c3vsQcWgxK--ko$>qP7r#{aJKL=ki25VpLheu@8!oU$*ui1>F}$z zIMms6+sdVJ9?NX=-bbK4c-|7E3U#h*MU*X!!ytof-g8i1m%v=&|Mo3=bXMPe01%`M z0B#~MG~N!xy?;FP_oeW|W8aa50ETYA#nE$ru|1t@^3I<)f8TlN11$w0G5Ix+FVEBc zyFh?QFy&K%KXHNpc+=zAo%UOn&cF}HJp<2pf~$MM3e8+=6}*Q51VAM;dENh0liSEy zRQoMA5G->~VCnuP0G_&9rhBw}uj+kMOBVqHCO~fM8_A1V(e_*Eo4{qIz2{4JeSpL3 zFDZhKTcB)>BaV!PYy7jv*CwQg18eX9xHCZA+ucD zIY5x#{VW4F+vfm8SO4#~EWy7D&QCS+>JG7c7Er2mJ9T5cOc1Sfy9E4t|79HFoWs&` zH@<41It+Xu>deS^^C!+MfT{A=PQ7YBZ~uCNFO6}5@}9p;B?hQp zGduoTIY0tI*!=c?0zS@o`0oI5{|PV~Si@bMc%ynAC-S&UANt)j!egT!D7iGJ|xp_lciy5BFbg{8z`El|ol= z0*~Z3a=zcO{7Dezyu{sdH$wMM3v|D-I+a$KQZ!sALHP3bOQK(@3gKtA8&8g8UgqE; zyLRNfWWC3?18BOjKd@lR;VTxSpyq9NPoq~03@Zm=GczFjkv+Ncb9s4>u;f=Qvs;S( z&(u;s)MdTqb2KcS5G6r<8`}k4C%R=qP~W^6g_+QAMriXJp&$D}dDXI3acbz00SISb z(MdO0At~=9Jjw8k>zzvB5CC)7?d&NrC}i!i*H^Uq1c|H!A{hQwX~X*z_I5*dfslo? zS&(QL7nHl7j?Q4>ECy)T#=JIE;N>|VyR@V>OuU8h<1~u ze)!dQw!A%+vF!sSM!esh2OYLZ@1XCnD1|t{4>)@46*}&UXrc2$JD$HK$^mm0^emaF5vgT;D!LdHw1uFz569Ce|-&R(K{peyG}LFT$u|b?%AtJ zEk#S-1rZ**h|_ptj&7`=cc0cGZz(30T_fAh3WFI79#pIsnKFA}aHjOW}cLsLyq_1@s zIs5fd`A`vy%^f_`L1nZM7j=pj%v$`Brjoh!ll&<4H)AugLo=_*shmF7S&6uASjgdJ zv8R3j)Ht{zFs{9sTo6D;D*fPH*H=+ABD2}L=qpz3kW0f57wlTJ86w^qv!>!EtmYT5 zNaPnI2hy|EXL|VEMt3`gO-i;@0Qqg+gntz6{wmlisW!Z_>1+R~KpX)UU5P~P;Jcy< zu^R_-Go(}re&}!S>Fez$MJTxT-D2q=23tB{F%hjLNRs)vBAv5?z%M~|Z$2dP`*uQd>u znr~u2G5Lvn{3u0_eSAU&7Mg+eSE1GB-2hV>)c$3)_~(K8PK-UnL`>E9Ct4s#@^G)$ z#&-nH1MB}jFKzva<oU6FzY0vc+_Qb8I>8sp^Epk7nZ*PCbsdOfzJFu);KxJ zr-t=TbrnZu2F1w15n?d7zD{*bqRzyRRsB`ndgHcag9$!QCjkveoLok=QTE3uA4PU< zLL=mJCb=)(D`L)i%r}_oq8Yv8+LSq4V}c~xk%v*qREnjD2mrtPj4&gHqtJTBKN0FC z;(V)J$`qcZXXKJQKdv6EX|}~;->ff>Y)q44iaL&TM`*oqTU~knDOyuQMVzs;-ZaWb zLMj==Mn$UyP8OtjJfzG=0?iF-xvW>^+OXv1 z^0LVTRpOp*vr5u6FhAUk%1J;=L@q%(;`G>+#L`LoAn6~1?>dhpjB1iaRyI<2 zbD!xXi)?B~LTbv~vYVx>s9{=pC?>`U)&U+c+l=^9Y7~i{iOm>F)LYg{5pL#zaaFiv za`&vzbPDfylgy?S${wTWV?M|&rizF?s%zdE+j>Fzf9w(eJfJZE6_CYBMPG(IHRVCw zUjgJ}2mM4t;iJl3SSj~|mCL7H55rSm^q5j*u}5s^`gqPNII&c#E*jjsJym*-UGdU2 zgPl5`@sfP`o_SKD(-#_^u&P^iPo*!+HAW^=#AaD2G&<~-B=BlUDuM@FMhUhw^Y|U zsbsv%Jr2&WlzQ?<&v3ldU*`?(1`T3%3^0>QJDbt>Nr$fzvdR z>*PT)T45q`Rt{XU!2m0?M>|gTuzA7pt8Yxij2=A^@|{FTc&BDv~3F~`1!;^!JMb^zq`*R@w%fZAbvs1yAY z$F%I``6S_0F1&ES*a*d!%iHTBUwXy?pDzTx@TW4}EjR)iq!CpCA?X7&}NQaf3DV;P?-Wxq!mF_~^>E)%cjuc!$XOO$Ei z6|2(Zi6)oPqWgV3LIJ@aZ==p8n@ko3;k6$c05ru4Bzo9zO)bGZa+M$X4j^n=+Yy`H z-A#W26Flr<*aiPC+!fAjxPy>QIx!26S0WjHTPX%PO@Xv@4IigVy-A^W`r4enJ~#oU zQK4VK9Es1|eVI_WtLC(YfP*i52LL^5MXAR@*@5GW)7a4k^mo#M6&&1bymEhZw?pn~bgZK?O1lEQ!JKAf$l_HD0kgA7$O5$>& zGOyT&XN_-vOANe!lB;OHswJVMaU>~n`+q#nj?K+0c~%|PN4`w>X_FV>J4hd%|vgcCdugTfHl-kwXCZw^mA7Z+t^ge z-~uu4?&7qTJr%7IRgb^{aI4@eF^euVrNcLvLG7gnd$Oz-7_f}xKd!>RMQ3(NJ}-@@ zu|>NGa#$&`J101!Y8?rDP$Jq3Su2T_l?t2;{QV|urPy!zEaxk*t+mY&LASBQnu#2| z=mZW!@j6!yE0Mr9rvu!QznXSD*6LqphQA z<g-1O){heS5m1-5$Y(|$Fn@aCenz0!JUqtUrdiSeh1^o;g{)cLgV zsC&SwUY69q^Ypm%{^12dm*!Q^d0>quU=bt21Z8sMh72m**(?byQBkmnYTY8K@b=YT z?3Ya6$IV8{eEm=1OIjUrHv~`>q9u)(o;xTD8NCeeGC3kQ3ZM@zk(-~?5|JMB+j_F< zX9DRlYnUQld9iY-EDIIXl6d$|QIQCyqA;19=`qf+Ev)KdO0)PsvednLBOBV|EXA!K zGFkH6h!{_-(avN`(b-!+x=J(B!O(io$}HgNEQqcfDMO${C~9h@psBZwhTG;R&oizf z1S_WNK#Fk(7Z(;kq(As~9ZpC&|EE&i-Zv|B9;I!Y@LWbTRlCH9Du%opFP_AbQfpe- zN!uDf>5$WWahlQ@W-Ir>iHq=s| z#o@*Bg4q=G1u6u_norbG=@AtN7vG9XepOoEzpJX_-=6~;?`oFq5{cz9`H~hfQ2H6G zF(T(2qgyu5#EKLwp5)4|1Sy7n_;=|4`{R9=|JVOl&-~wV_}2*a|L<~u9k$qdIlka2+reZx6q|B%Pn_ZVR=LmP~Tdd~!coXWMzC%c}Y z*IU`VSPv|nf7M67qm#_G8B{Hpon%4REMkl1yS9zxNFNrxgloe5k0)jg@u*{gE#{dA z{KCzkU?1#>N$JUL2ou-w23C|z6Oms>{o?pFQndv|-5Hf}(Mvo-*PobK^%JoyESSuQ zsxc0J+$#P@ChwXfcSCzTpt1||%9)X?A-@Te4!$c1Pw87zGKKTm+ zHBSIUN5D~=)9=WC7YQ79Of;^aS6^}U23Bg{h1$_gJl_~IM#>W{?ojnM`NE$T4%Ji) z-PY`^-bq-1b_Wxw60k51keP;3dc?S$YdepnNU}cB52-p9c9p|ZVkeWUp_8>pyY#$X zUNO;^D|0q@vS%WpR#b_c z+cM(W#ohGDZX;aEV}hKPZZ?jz2}SAZDB8lDMWN7qvm{N)$Lg<&C;XD~+-bMeDKu6T)D z{3L_QJ49PNGkoKG$_-hj2AeOL4b07m-&L3MZSl-EPENw=;ITEdLH85ARhZ3~U{1F}pwa58kkKahPG8 zxr(u^hi6^b-(K9m?zV`{7W2A3`-ww&6nFcnyn)-NoH`gjaQ0~{P~ zjQ;!}8GyTk&fW#x$yK;sKVGS=XAf}FFO^b1cMUxPk01HTQ!GzQm=3-XuwDI9iOP#= zic0XiChlqQL#>HqNstk#b%CC3tH-cwhm2?Ck^nXct>a1`Y!4ZyULZx^PF-BIpI%Zs z5|Dpft$|hd!dhsaO+O>yciyGu#RF4jMz8K@Ciz!YD{viryG9Q$ul&87W*{jX0gE=M zh*Z~-*jzthMUtG&Fqw@#&=9uoR+Hkc6>%ihs1@;<_YE2eUm<(inR%V6@sdJS^1hd7 zU~gOM`_mspZAq66S{?5z;T+-4ZKTo2PM*^rD_K<3d}VCvN%M^PMeC4(<63v}lGF6} zJEkx}zufn{ZYCPB#aKZbk-_GD2zrVspe@WQ_u^08! z?{jcFXlx}k!d4pG@wt@bPdF> zbAm#=-#9~BSe`;qtTz^x3HnR%Q~IHUzjcWu1oKwlH_*H-Hq9lKKx;9saiV0U#m$rB zuYViq=K0jO%qyaZRxdPyqZE2(kW5xiG)hSeBPR!e?!9?tx4t?v$J5H1mu>vjn8VBG z?vFpD`WqqrBv75WjY)jHDo}^U3ftML`5PkEaZT&-Lb7=iQd0ljD3FFrFRwZo4o=Mf zvjFD*?b8Q`ftsTFbq1=}M|Vj9hXD_XnMBk`Mf7@fuvZ>oq@GgeQ()Lo|w|;smKY|Zv%Z#X9PQ8D>K^S zG5~RnD~Y8xvcu{koGVwF9$Q321c}X zdm)xo4Lz+-5+WNxHDsGw96j5Kf)s&0&l2`iY1czArAH}f;dX15vhc1kQX#?~sQ8*G{|s{}URWDq0H;C!R6-0AX4<&pVS zO2Sl{UieTDA3*+lWS4FLf-2di@lzUjlISb(VG=V!%MV?#FrLxjwW0q|! z$((+=3G>FI{QW6)(=F;oqb=4xbmqc_J^LyXM97A6JTn-RN)N>l&e@9^%uT2WWXwdb zAPqG_^$oK~*gY$K^bpZ2JU=M)^+UQJ+1LZK;3qwfSoeb^>$FXpD*#bvLNtkA{*Zv@jnyY0Koqw#v5n*HRa7K0W;VjgjYF# zxK~+OSh?X_2j93brRb0_gzFvP6zf$6b73MOqT_7u<}JHdw*l`h2pfMs;9gMn9@5~V zVGy;l7dVhm)Z(rT$$67}O(w{c^`$EsgQ6vkbZe~&+VB^>4?0O#?Y@b{n7#^IA!X1J zvdy-KcuWO)-JZK1NlRY#>Yu@4zu&Znm_S{nn-wsX=Z2vu;lInXnrk&wMCXhz=pKsZ z=ucA}CG@C+y-$-XkS&CRhfDnxM5h6-Ue++v8AlW?(iY!G-N_%RIs%3Yib;)@&hv5} zt}c{hKT9R=`HrM!W_hvG@usxpTTwHI+$>je+#c0Ys;fF+@#!9Mr4hUOWm@dkqfIzU zb0vxO{0BKyi{a^rSakUsplNu#fw|jSnVm5~rl`|?xs_h^8PBCa6S_*@p9gq$`l`DKgi$N;nF)sR`2EP3YnWJx@TaTd$U-7_Zbfn`uj#gQVTbLDX%AvOx0ZIdqjk6+rA z*B=V*_ADu0$1R<{=%OWc}D{z^bn?F!JA(_B3fVM_>9`GQ*Pg+!9qiN!{uzM?&_5 zi@_kTG!w5SdybLkvlUccEy`KU^^ocl58o`;J$Eshlsypn!Lkd4tvOZI(B8^ogLP)ZLDHG+Jeyd;;rpMxo`<~;8)0iK& zYtiVr;-5HDYKsPPZ4_XAkl6skNc}mjH2$7Wu`qFrPM6n(U1elSEiD~o1S)ada##Ct z%{@xw+P2_v%y}2FN`IFiwGp!&pN{R$eoCDrde|c@Xu0G_LWn!+ePI_%_af*8Dzv*( zdjk@qsGVfxz{Qx7nVtH3A7HN~4jFS@8M!hqCW*?XC$;T$XMqp~nvbfG{i}tHEiy$vCkaX_6*}yE)1yL4Q2`~CsnunaB%Q^!c$t3=7~nngGU^;i)4 zSptA1jADO1G|6SX1B(b)6G^cOQ|Yxa?D>IEC>X{1q?qksR;ac89J8PeAY!P5ZL%Ko zcm;tlL*kau+5v5trAR5$v^_WR>bz+oe!ERJsMfmE^?<67Qe;-x(`PPKgYrmpjX%b% z!jr~`U*jpgx6j&M{^7K(i)%?pMR*y73I|d+ixpI% z4^lokyldQ>WN0}Kz<6X-xIcz?i-dTaM=pZLMnQ$6hxmeDu^wTyembPR*3Q=w+9`Y? z)Le?BNT$Uby+KB5hw`SSua^dltR|Hbib*1a2(SPPg;p-Oz`$s-(19wtJ-@7=Xb*`> z(Nne{-5}78E!W#hvLGEFziZ_-2h9eGH_P5_>2E!*B6pC^TFARUDLaW{c+kzN-gPC# z@>^K9x1j72d6snXp0bcuZ@z^Z~179J5@aete&a^c5a)7sGY zzA!S!Q3Or((UCXVk;Bk3q4qo_%5Y{wYY#9b&o%+4vloBOLN>A1!y#}-Ae6V8Ef!0T z3#Eu<0VlH=j^G*vp`JPvFYeFk%WPf356`?pnY~2BylgZR3&{tBzn>n7L3MX*HVP-r zM$lWc0sYZK3vF{@9$^!Y!&jVZ4_nLEs$v-kCB#%Cb-?(9(MUFlNp(e?)+;`q)?%QL z2eBG^R<=hJ28`w#5uK}*f;I~d9_v*-bDmY}utTZQl}jg!?L%x`$+PK!Ha%Gxv>Owc z@WjG_X52?|wIY`$8`=3qcb|>zXr9_ymB1KRP6J^qaMC%Nj8K^Y2GP-NufoaZz>0%& zsyL;C`+-8o8&_~Ld$PFJtnPSmW+5AlYDa~|$|}>)P4YR5&7B&17p2%j-d;4@3aSwU z=cR}!5;tNGa2d#$JV>cCcMf3sTI38Bp=HyKWzOdnbRNh5c78YDa zA3N6?964$Xe8Z@fKuPe=6~1lR>z44f07@Aq*cr|nR^sId8$G*q?^<9<-Xxb;&EEnPh8uh3ke5QTCBu^8b5mqqv z{j>^vOQTArkhGRzW30;V2zZ+yh%|9Dwz{uH-7UI zhps6An8S>#14#SsAYSFT@hbT!whrA}14!gzg0 zj)Jpd)3dEulyGmQa~rfea#T~nI$`>j)Xd9+&%dZ^kVXmjxd*f0m$TyWq7^2p1P@zY z7ahpBs@L5OMvL`2!`Z7>(MD`X!D!^-Isa*+= zVvT>*L8QUms9s6-!!Bsimv1SPaQcG zM+z~6TbG009}V=Lyz1BunN!{Jv~F+t;kUN&m7wUq#p&$(%47U$VV3(qY)RzG`2kk) zQ?t$O{vP>7mJ^)zn_f9%HSY zEQ*qMbIo|eRgz#z#_X`bX+NL&z1MYwqwb8Eqa2Z-XAhhfiV2G`p3JUl^F<28$7pL@o z4Lt*Oq$kQum4ZbAIbXu2R~EVzATOq1FVQ{gXqPb`B>W-v{SX^hZHIuF2W5`BY`uz$ zi94oq7bKLKxr0&V)_581z=eR}B6zr%%C|v(^*n1Zh>uj#`Wip4R`TH$TTw}+Y-Nuo zSd?%;OB+6?&xb#~rnZqZpY}UV38lfGY|HgvZRLg>%n2plX#5(^C@S~Y-4cH`087e=gvWaA^B~fxs;Nnpr%L}RI zdsmc9k+++q&jDXg0u-g~ZK`H?wiQwmH%%zT9rZJ9hchBv(^637NEAaBzoKjPgaHOH zG?Od7n<*6ia)F}nMS^zZj7Hxvs8XroX)$A z7|hwts~BYPS`E8SDGK5lo!MF|6`;|`Q;ZO)t7hCE-&(d)JRIPQlO3TLq3rcHZZ?H_ zDV7V_bkt0J2DW69TD)GV*r3_nm)+XOvVFYCTF(#YbNmG}K~r_9(oGH0lwrinSfrT$ z*uYA{#h`^9UB_Z^puzssy>72x&B%6O5Z0`uFsX0%)|ebA=Djx{2FytWRmXqh;0SxQ zD0OiD6R$?ACVxxh|3%w-05!F)ZNsSB0*KO^luaj8=^d0FsssoSnv_5YO?n3ly$Xa9 zszB(ycM)k4dhej2BcL>;2>#1`zIVT#nKS>K`Mz_QVR(2}T(V}?eLeSm-R1IZaA-A~ zH+gpxrlI&8j{pzvUeW47{HMcreN^FwG}>+69uU)olm&QuW$t8HRCgO`XPc5UtG?8f zg4BmXdz*p!z5GGEB>V;`JUlMo{(pbnsJzx)y(pt+c-M)8poCkyxs=n!ls>DF^Eux6 zTYTW*0&lcqb>2I;|v`XNEE0Ogo8y4 zSYJPhnH!_VB-|;z+dbey&WHEMllyvj#L2HN<*5liJpGgK`OV1CKk=yXo4Eq5twA4R(8~e{dW8y zn%#0P1IPGGI8H1SsEi{{3^w=DMZpJ;Gq!vAAjNku6$=S4>eN)jbnhRY4~xTdv|6>I zcWWBHH-8=rh3Vlc;p9mpX}C6RpiD&g6I8cf^CuoEvi?K{X`1uNNpi-nXn79yod`|_ zCZjx|7fmi8Kk$}-?wj#Nmiobm%14q{FH5`!2CSnJEk1?H$KX%zOAi?BO zmynK`Vx_JU;9VoRy=}g4fAIL5Q8kQ@P(*e1@z%Sqefc8jo$as*xko1%=LxhPfOMhR zFK5?34DY0GtZFx^u9g$(*)eA6?%gJjHnED%NcTEQetR}&P=7k7qb6L;)v-z2u_dV- zs>7qzAauVrG1>~G1y<(TYpjuV>OdCDmluC3z^{22N?7ng;AAdmTH1*uK#g!?iwY@%lG$6(`ncPI`m4aIm{Zw`hpn-lb zdvOo-^9+c@@XK5Lx(7%g1t1*v)rC&mh-f2Sr4V}UQVXQTrQ;QyG+{C#R8O#!hMT!a zsN5CWe0EvUGvTP8r|eRnn_Dw`b~Wm9S6S?SOeqvoF6r8)>jO=v=~HtavW0N>Us%G~ zZK6~**UzaDXfV0}W&^h0z{^U7?EC-rn`Vr9vP7_VlFp%!^IOML`I~bUyK-L zE3h;UjfWS=kIrXu@GixVfWn=a-^1AvTRd;AGk<8nP+rQ+me2y)+(ZGbo?gXN!{q+t zi2S4r`?R-T5E-s%X-dvNwt-jq)zi0h?5U7fBc>lMT_9r;-ad1M+d+flSdc8Zr_}N^m#l1-~%f0HZm90Mk=V>P%H^i}c(`_j|VkX14=@ zjJR9kZ|l~YwY!H#a!{K%n@yZ&G<8O{+boX_1ImS*Yi0memTai5c)X4aVmdFrbZa#~ zv!Xeikjs~nkkpQS+WK9({n&N=!hU<-tnbLYBzr~*=xa$9$mSLLW_}9v8c@1ibcme} z2JQCxb*;a{yL_uo2%}xAV`UyE2k1?r^i6wu%jeru2V$cd1Y< z*IOS%`V$Yy@$Ni7h)=xoWc7kX_Tpb|i`!qN1Tvn;S}UmfXmiiLzV_U#_c$L-BcEk+ zA{tDtgGTat;gKXgB*yE;yFrYH*Dd&l`0gJ!fQPHXyZaaqZ{YD=9w50@_3l=%fGUA1 zk0z{ct4jtMU-)4D&~x%$AWL{&Sg_Q2{LAE_Ec(E)ry%(Q)Q;M>0qPwW&k34~FD|rL z*Y?S$$1fY@DE+fP%SieLnmNlB1O{pcg?|gfZbS1I8st+8kY)F3Jym7eH$n&_yGUHS9LF)g65y(PNf+kkaZ)#6UP^PIPbl^ZXi zl?w^licodh&EarTlGur;GW^rEl`!PxJ9eTa}?m6)=ZHLZUqO(EQ@GR^dofEjJJ@-j<(9XPwZ61Rr{^RI-;eL%@ZBtm`M3VlLrU0_SOqw13q5dsW~ zAD+e{%6jopXb`%mCLU>nAMYgfv-rrf;BQQz-&`2A{R;41r5=#%4C zU;Daw*ng>ckuFVLRrR`LrV}0|)v*r=>30X?i16{Y=Pj169X`{BJiN=Cc zU_L9$FCNzhmeq@KG+b|QeDS|EC#GP0 zGkVGVnpb7Q1M4Ls2Pqn_%6C$IqmGI0B30uOwy`D6i~MH@zRVCq^4aTz=;hISRBVHguvMkLz`f zu2ow1Tb3kgUZLmgb?o8=V>!##+1K{JJETwqsBdu7n~b*+OE0OBaj{7SMHsls6J8U9 zeQ{wPdb{?)VaDnmejiOl&L<syAI?cQ+A%F>=W?t?31KGQ1NFGjoX$<6dz%V#ecR( z3r}|`g0@81ZSwuom=lE{AVGD_+%cUbbR+-?7NyQ;v1&E@oR>fdXklqwoVzOY2UcSc zH>vJ9;Y%b$!J1Xhz(KOw%;n`RCH;2Z(Nyj+3w|~yhj?sdzNvb2oh+|Qn}HALtkLsr zCSh@JwFtMo>zK-}<-GPdhYGVu&Nn0+#K@~sC&GWRPQ6fO)Ib=wu4$PEvd@cDkr>C) z#+aC^(+DZCbafppim1g3>J}ulxNi6o_ddy#-l-Fu|K2>n!!FsP?83K(9dy$zrs+{5 z5~cuz2`#b!N(YqMDwmG>1t@ebTO92vuWe{%wKPU)aoK?9$zxX=Fq z9*h2O{>$JIq#L*~Qr1WJqntmnD|>+BL~P&Te9&bCJANiD&RFEhaXMXzGv8A@y|34? zK0@&q3AOU=?_EZ{{2$`~;GR}1&rMH*CeQp{Kq=z5r(g4RTISw>>{4i!H3(f)z)ke*+(eE>;&RWfceUTd>Tlgz;t&_b)ys~(GE z3rV6)arHEss09+VIFGN@3AuY{qooEwC_CHrvu>>Yxbf zuCd6N$%5~q@1_r#3Zbz z{>Q^Af=;JbRo6smsbM{L6!3zR`Vp=8&tE*O6286xA?0L}iC7c8Nf`b?sdgoB3C_}ngahe7j_yy&G@QeNsEUl_25BH?P>(2)$ac@1G1wNNb>kVv zD3nH9eln&3S!}YG+j4L3Gx)Mm#@3r@8Mx--5Yb~8vrxE&>NqPvQ6VW~SX@aE-Szj< zs7of3av*9_^XK%bfxMCV9KPs@bylBhULn*f>7qv0V)ldd;@dZqMUN5aUgk&9TuavUZT10Zz-(L=6yCYv|t+RmQSSYdZ9PnpNu|iGGl_qfWa`M_WHB* z3SJ|WRC6bX4&1HeNeXh7Bn>`=DUJm@wJWgM5j8HO= z$~3kve(=_ydNkIJU`(Juo`%!{s6ff=Mbi`jXk}s-pJv*NzR{!xvudVduujea*~Ma_54&*4YBfWm?QGECk69hW42)cg}{ zy*LlE42nTsv0Y7Szd8Y586TK`?)%0Zu=(4r>i_Jz%v|#QklXPe3b8Dc@{q2CJ#xGz zk05P+{Pb=ML67<4YodHvWk@kPE1R3Mo;RO4eHc)&Fl1g(Vc?Ja^f0Nl<-~P>&%RuV zt*hZ(xu3aiS2psYj%ytf%v;tdO}l6&2Q`z-l#Fr80WFxj#W%f&qlcNkdrAnjDG^lUtO;bDCn7a6(TMlX;-jXDlIWItl8hNB8n8=oI+2=sm!iQsfWf=wDGQ+ z?$M|yZOfX|bi0VRBqYIV>gwzeu_{j`l}YXy!37y#h&9XC57j^!UR5Prd&t#Q|1O;< zx9qiyyinug*-}G0lUxT%u4&pw-t+~IYN6k1M|XBFT;DZ(*~^TT9cyk=636W31u#a; z%*}y6l_;BJr3L$zBQztil+}t6xzF#cG0&4IhL_?2-!~pHwJTW!t41O;@m_WjBA&eL zQh#*KPy<8ynD|E3yTt4W{&Oh+Z>|d5Yt#Q;>s$!K{DeF8UuBsb42_>>lMzg@IMgOI z%%?%RwKBC1<<|NA7e_`8SAtS6tg#wrDZK~xvP`O?-_8-x*^?$iaWlq9E9?5fu*uv+ zS>8|s_C=|J=o$+yk`?}BT^G)%dd=Tq$fBO)bESKS;Vundc!)onD z$hv;Ukz{R$Nv{v2t#3iEl;DYLv3M_cx^1?0%qKWhClO_ti7Iy=NlpR}v4OznhD_Kv zh==XiiT7I}`N+$iDdVkUX=xkD20pK1ZY3G!W;)e6!}m;p90T_eFL9*2DvXcau4XL4 z5XMVf0dV#2#}GrbirxR9=pg`iuQ#CV!b_c;gHiv*;cEy39R6SBYl;vifYMi2VkS`? zELDU6b!e7p2=s&s1r$}Q?Al&l+Ki1fFabK7L@O+By>P(#&f@j+qUG#P3EH~ZXTlO>}kow>#O54kEtLwGmRzfKOZ zNy5cD#n=;IJKo;A)}@n3-V%HGdfGwkfmDkTL%MhdjoT)I()*~Sk2=`;(ft(| z2{hK$um@|s$$cc4ctBoQj4EiMcj<{pOg|7vTy#aF3a!d4HwEbj*Im?dGD_(4s4d~2 zJuR=APgTBQZ`Bov|M1FL~-V#)j|csD-3 z{ipu_{{oc#6KOKCp7>9k%Kb?xvLE&a2mIf1{W(fh4p$2DmC^cyy?D+&|AU6vFzu-KTY5@LA^_AMX{9l_Bt8E$))6Q8(rDDKRSz zYoL^-ZGSVMb&vcLNOZsA*d#m-k&X5h=$MohCI6R2xb^%-qY!D{54AY=Qk}3OK)%iDx#16n1ym`+sQWR5>zv_n|u6ez*yyPrp5 zu!^|}LR@t)CX+gV)KzUdC60GtttU{zCju}-wGIq8N(4%|mVo@i<6N8?A3Iw z&Jq^FjO$kdBn{-p5J2jVmzOen0tEb%TzG*^q%s=}AcGJX8<;7e1sI(85nO&^q)37Yh>)O54w3%aALhi7>de&X#7oRCKN zqY9QQy^1q1wxBIrP-Y%g8XQvq2fbdi1<_mG;$Tx#c8w>EPmiB|Xz8j~0GBX9tA?>u zhzm&2VQkhwLJ~q{PrC$Nz$L{(j4UH`{cYQmW8c;zf7WE|>7)!ufAcqq`kuaB1r@@_FKn zlkP-Pa_g$FyV(22>oTFJQO(ov(wmX2R^Zsh=jo*Tb|_kWjV{++ZgS0+Ln$atL*_@N zH!J=KsW5#_K|DIHP{n$qhIqI4c`^Z8{-pEMh}y4&cl{$-bmo$t{w4idYTH0ik&*|n=nXqp(7>`T5r#pfklWyedP^%N-1yPUyx|K<l?$}>Hn8!y^z=uHO!J!uU z%<-HUIACc2W1vrT2Z1dnk5FO}BEUe{h-gyvnG#)cA!U5rajs8*>^SdDh%F;kB`uw7 zZGy9~iGGTxN0yk~lG2N)S9L-@*o$N8o*|)(X~DAyjiEubx|{SoGR{U^+Kn4EhFa6e zuNVwt3y7V?b@!_&N}LAIuSMtc-@sUQV>8fzW{X1LZPidmNIcPL!paNY(+A=3&)?L~ zj5>oFM$c5UlYfu=pX^3mQGV6lo0NrctY7_hR@I+6Z}lGnh1yg1fs<-m`uBJBzp?(e z-~a4Vxf!w8AhYcLN0+t#%l6~4%4WW4u4c~^9zK!SarYRz)DEwraK=-`9Vb06y&iQ3 z6;=(s^*sGf>&@p;H>0Y`bU^od4DApkqHLwL>Nn$+p*J*gPsxHyHvl>4!! zY|HrFd`a2kN@ljDXB1}nGuIs`K{2 z83{Wd5+(u^7no|FL}K@vNn=w6c}9x)Of|a%PyGJu2x+4-|KV{T6>%2!JGXwk{~?Im zo8#LKBZ%yXQD3gY3z*r#Vn3yV_2*!O z>u#_{0*d5+*xCp;*8p7EFOx7fy$J}d_ZafNQ4EQ!+SS1)LVn}xQhR4>nMZyGXj;~A zF;!lpvUIrqM-+g?_K%HHo>nQE9x<#Nmc4cSp%k5FrP@d}3Z5{@W1e?nuSQx}Cm1 zGLh9qYy0KpuaWeg6u=+IEo)T`ZAzN+ z|ImDqn>?Se@`&(eFdAl(OG||r!?3>;suG;9LMzg>8JyNqouaP>r0!{Pb!@fS;%qN? zSUv+fO+~2W!p_FU++Ql=AZBAdRG4J~h=m&rsN4ZRg}A|0fCOj)>wq3A^4CXx>5@mP zV#2IMi&Zi8v`U5pPkt%p)kOn>!@u-MmErQd_{{MUNFvGzr98l#z1L$ zv}JR{qt8<@T)M?#h#u4IOsmfWBvHlCylJP+`rgyBYP<1#?@{fg6wKM#XO_8~e1T1V z_6D!@I}T{U>=$=Wl=-ExG=N;NUnUEsje@=A9S2L#>ZVXfLAIK-Ed}K~^12!$t@nsY z1%BNcM(i^FWlI>~Mh*P#Mx8rbQ+;iG8RV367%wMyqITt_v|bS4-1QSr?!+PnC}Uo@%9Kldal!bvVf9@aQe9ddRDSMS!?{jh z^35|AANVNZVtCl&H+_ro@!xMGSA(youHP-2@2+=@6mp@DQZEv|<@w82nDyj)Fu!c9 zj<546)1Q1@s>K?kSOo7gCSGOJmXMdsomT3EAVotTbu8s|o_#6u3d%cC7cbBkAtElY z1#)E!w3JpjAL29?`F)^hN?gs=Gg^Pa_MMeL{paa)4=(XWjPaVGjZIc8ms>Z`g6Gv5 zcqk!&GBspR$)s=7;`^3gk81DbJ4A|&uxMF|&gH<}it^~^Br+F#(k-Kq2AX}Nw~MKZ zboEvTjkL$aoCcIB6A`q=NE1Pu)B?7LjMgY;V@}}fQifxGiKp3-!of^{ zur6mR8uCkbSB)K}rUa<$8iBde0S!!AW%!%;f$oFjCQpi)ayc zF>I`>cg(r`MD4YS&U9(fyS<-I7Uih4>4OWy^Y(1}_p^nEG5#qQ$d0R$sFZXJ%6N0| zeA3E*2(2NKpZvp8@0YXNzY;Cp`-kfWbJMdh~L);&(Q*b1l=3n89ID7j6$4`6e`3>n} zp7Rs0>0D7L5;c+DdpC!bETK?KH>EzZRbs-f5=QMSSPWGYFqu0LUsUhLap~Lj3AI=H zF@(|J#=Dz!a%TYKt&hin>qoy776SGzTL9R5IX_vlw&@VEb#cS9dAEz!rzT1Cd`lsa z*&*38+7L||&-*slx;;iw$YxC~xRWX=%j2BtksYUePyj zYTPN;_ylk>(Z5%jsO|ens+`2VIftCMRKzOsJxCM zQV5HWv~v`p4W|(njS<{_1NY<%O$v_pQ9&{DlyS4D6Di|*jZ{z*{5rD@(c^7NVQj-6 z>gp8+ifC9VM`!q2B1%z~IL&$y`yA0bXMs~zYx!%a%-m#TjN4XRvgeL(dtN#1BD6sr z#?N*>dx)!;YjPPVny|l-P@ljMQF>KX({Y-F&*m4yc@%_!On-1(mUMdVYM;VSCbbk4 zKGEc~`(8@ijL%ToQL^z!w=U_6$KXX1RxlV&gsDKEz4uH$XY_hk;N`H~ z>fD^un=#KxS{AVSV_~xtvg@?+s?~-?$szXT>Q!ZbG|iDEQSN`o6RJwvGB(9W6hSE> zt62Y-<L(tBl^mJeoGlWT;cqHeY`D@r^3BMC?Hg7Mq&TMN zqy7A%NY(BEr(G4inytvz0;3N&sU>=9zmyZvh_YW$KvSO!oW@MEk-v^$z`cd2*1cvG zj;_PRL$_GVAZ+FIF9#7eHqgi}RnHr|gp8S|2|eFt|`N#}G>^y4v*+^rrS zcG)DAJ?CVz(11gg4HxY^xyK)Mlg!9MQD4$|E0(_4T1n2Hr_uO6#I>18%eL8h8Lh3R zot0a4HD_Djr_fq3Ke$y@))aNm2?TD#u=YJ%NSY< z@cN2ralnM}}Q z-oDB$0oO^*v~ZjGW|flf5l+(R#CSgCoOI+`OO6;rQO}2rd6Px921nNfvc?4#D&CuZ zY3hENv5gh`w}JlCzc3~JcT7>(wZEc%#=mzAgsz)ezlE-Ooq=foeW4Qtpib>u+tdFX zeEiEh{kwtdnOwa(`y^7rK`rNU#aGYgs%lKs~@AAP_;^-cc z))&0I!fe*GuhPRKdS<3cc4@p+V-Y*&+(vgBUUZA7R>km8j^3#y6dbpz)=7+_)fi)1 zSmqq+=7kq$36b69iY{S4lCo>=is<#KP$zR7Lg=gogiGF+y~#^42v}kW2KvaQUaB=vjCRaZLLB4Kp*-a5%&kVn26L;^sbU4JjtB}vQ= z#h-ZaaB#q3gv*QE7;Gds`__u@>s$^pxaFi%)^nGp80L*~?&~U`WE?)zEP=A4yaE;& zSm3C`DjX`T4x^-1P^~B93XZIg)ZyyZ!$87!^`OCe`IfJDg`=?rpDfFP=IVNB8QP>$ z(c%ds%=p`IY@6(i)u*seM_qvL$y{P)Z_wuCPb=j;EL%w2JB%rjn217VPL-2|pVJyT z^kz#L$ebCgO4mT3EnafEpHi{jyR6)hV%pe#%|69^N1Zbh?V?>rTeMQQUkMoEi{ zLak_ezkp0^T#iDgkZSctdc_=|0q9)1=Y|3zjENYwHlvGQKgq^sMe|`VSU@l>_Q$cH zv*~-+$^H+=R`-OsJm0R>u~mQ# z(+#8FcSKmy)EkjrvNo^}L5vr6Z4bL%1Udf-mt=l-lYo(-D_{HmaYgpV?;+N)xZDK) zZK}WGC_jcr{}QAAbDRG*KhZd4{`pm}T;=`5i1U=cqo_d{eS^!VE^)u2sAo7i^|7wN zX8(Ye$X>JpXw9!U^X0U#4oG=1Bwq+iIXPB13gtybw}jLStKx98A)%dmcJq!fkd&ON z%8<)0F#Axjb2(E^L}aA`v5gavKx2lXPIH_q*5i02CZjXz`nK^N^ z6q-STvmB}u>zuJY8U)X z$8@RlA|SoX6E^l*Y- z!e2HI2eze}j&i~Zm1Aks+6=OmzXPHa!-bj8d;0D}^y%2Rd6~0fPD8RPemLLP1ND~E zM&?siEVP&<#t}Juk8*RfV@({))*Gt+A^%qNNsKxqIL(Q0exZ2h>pmlS>)_Yn?79K_ z%G2u={%Lh3;E7^ik=&Y%xOC9ftIbvm2n0uNH)Pz3NtnK97^x|IjyaIkXI-4H(OhEn z*S2?PS~5J0jJ&+rSDdX9c|zug=>0zD_cHwmJ=HB*raq&nyOQ#jwegxm%S(l-hs2`n z5`KD5*4mb|-jWzJq4NEZ0Z}R;dssQ?zF5GVc*849Yj+$`rB9WlZaPNG*&gOLSpo$ESy;} zTz;M+T3TZ2@|)C+-cm1H<~Ko?OEf?zyY9HOLkY05hM34mlc_#uZ)`zVHTd4(0JuKV zK%r{)5lAqRR6#YlWGqI|u^1|3|G0r*%af4g@nL%djx>+J8zxkWKV*|x2Z^1Q&8=4* z%ag2qtIELv4E0%Q9W)GP3HQej^)XJT$a*su(X~v5d#KeY+s+Af4 z8tiUiuYDgzVW;`t#S5Ztb<=ffaNxf@~*t+8NIk(C4da^a7RV^rNYGNQzfJsys;H8?S*oHE+qn@H{`Oc(chxh_tWoH~a z*|3y0n_%K3Tr!A0T^y>ZT{v!2I7z&~?3PH>?H=Yd^7a1kYnLKoS+6!NPIj+qa?fq_ zV7U5PWtv~kqjs3usWZL9Z8@B*?{HMr5@1OmNADSRJ4s4iO#P;rn9`?(U=&hDKXcbD zLvVLRh~bMi?fP9dJKbVhHys~1Z=x(AQFM85Ps!KJ{2&P+(wPZgEx{qdUN!FL=E^?f zizi##j&X7ZDF(XkXTp_c-qDJm^=mVhW^w278$d0(=*CssQJoOJ3 ztZCT2Cz&PXw|&jawT$}@?y5;3z*96ly^@Rcj<%1P50MjLFPqWb5ij?#cm}Bd@NU}| z)}LjQfYczaiEYgdNa~SV?u9oKGbwNNFRypxEeo%;P|$OYX7J=wxd-gimbp;-dRWy> zO-;o;Z}}=)SToxQ3*G|vW3!6e6Smme%oZM7mI2*4`{;)4zI8q1RH;()dyMLvw=qiqkleYH~v1^ArTCT8cAZ>L6mQ)+3`Q3o#;qQLbSrkxm zazyj=E8kwO^Sq(=Ty@ogYNQ{QRq_u{8N%-4rXI!{swG4hZ*%s0Z1G9Ar5V|E97f2A zdbOAaj9-lp&KP<=6;ChA4@;sJ&reSCU-~Z96iTZ5j;qG=L)%&!)a0c4pbj}zC}MU` zZ3OBy5M}8Xa>r(X&0chmpGe&_W@*v8sh)Mm>~Ko$qM}eTslijEM=y)H%sHu{45c5f z>yil3)*c6Cd|KTZ@4kqwL)fOom(QhTbbJ^ zH2>bZOKUbQ2?PkW+Y&(y`dKy+IOJ$7%xPvuq4a))cQmXR;)Jr`8R9i>Vk=6SAMF{f zIMgXAsejO{gz&$O%)XS0_-cQ`vh(nSl3lHUG$F%sv8K4FztL)43e0yDjf1mJIO|Wy zuTGBSVK=Y-1ZM1z98Ns-JCbZ>`*OvsB;v!b{Yd>8>1L6zlwA>Qjf}INg1ye~R)cX8 z+r|zzOzxu|J|M!QOQ(NktbMH$#;-kQp?tq^i}O-4!E{J&r*hIX`m3v3=V;>6L{#8G z_0SUK^)kxqH(t+{KMU?2^Q3r9%pOS}8D9Uo7hroInZ8bI;T+1rKw@*Ah9mbsS?)$6 zxl^ezE(eu3e=i(Y;D8L3Jsq9%X*T0Ojt?2Sa!ke2>x@Y&ze5QZ3gb3tQU5Y_FPqzb zMM4rWgL;6}x=I|+>%M6Ej)c72@-A7NGj8{=&R~WJrUt(1YKpcSjYFyRUzj;&p#)NW zbanOL4m2RKiBkbd_0PU=5Bw^ZWIMtRBncwFly=F^ zIT!cINc5T>pIC7o`SugB`sg=Ju~98?WcMH(PXLk!G^s5F!?-Q*wI1y6R7U1J&WG56 zccTmAa;QPJv2FYQnaHypF;Cob+H!ZBqN5kLeXSVQZBw@IeuTbVai3vriD*KLtV-xX zq%enwuBgF;wJ$?cRf*a|;A~x(qt2AB#6E~Iv5{V1{ni>Y(cNkBPy`7RM3%yo1Gf*0 zWy5J{j;r23j0_tYkr;N;R2hZHtJVeA-pUJ9VzXe?j~;lk_1@Cnf?K(Q7E?TF4yO!A z+>^|@C9}vFxN0Yp=()s5oY*`QI!@%B6<{hpFbq7XU>}yDmpgh@fV8y;SME@}Jz*8< zHpD)z(=tc1`*M>rJT^v4S4Q7cdJrY7r=!S=-LTO+;p0K^91NuhcF05OQ1MjFf;Of< zm@!MoYe;4Yd=iZ@f3ubs5nQo$m>6DGDPFofFQ7ZRbnmi7K*F0&9C`Gu1G6F|B=E30 zsov2;Fnvn{1BaBv?l#S9WXuJx*)1!Trs`!b)yYsd57s8OE=EN<>x#}z(-lCMgBux2~N=l*8sEdt5i$NHQ5TTzKU(rkMR@%#~U#I z(d70;AmchSP^;D75E-k;}vLh9{xP@pW_H>o;~fv0kl{-M1URvLWi_CuDfJLSe$@~xJi zcr7-8n$SHj*OnE99_Jh_y0|x-rkQa>20tb*KYIIiY~+8TphHu`8#WCR0nsrLId2A9 z*C?%w6X-0z2pvY$;K3Je|g8x-}eXRcVy zGq{9GiZ@d9inqxafj)g{FPlF&klv>k;V_mlP|h+n(f{s?K+@HuqTMY^Kb7jZ7ON4G zFL=c^1{ED05Yz+OFkhGxYTpjLu|$;U7t-o}VWPr}*I(We3Nh@_L)lUf*xDqD0k!8e z`d$4}7w|^*nBvJy@d(-ZS~dLdo;$^uxYq(ZUUHgW|mFXpE+61+$jLw zFwHVmp)Q!&<}Fy(Yd@@2&o}BNHWqi-!}(@#<3kOlwU~4~Kx%wqU{hZ{AK^EXKXyx& ze6l?{pV^blo!k{(*VGhWhAv;A?WvpnSFU@M98hb8P&eyN6}2@UUu-7MOIOBN9`4jG zSnYe4J!>K$iB;9@)=P-CE_9e*YW(QWNaxd3!B&*-V}>;_J1g@=D=A4|!T3itGnb~{ zzHI)97oK0%(UVCRycf{%D8T>@w((NizQ?Vp_>y>d_oX|KB;b>D%p+gBWHPKr%vGrm ztw}VC*jjKDG=9hSck)zBU$VqBOsw3Uw?BW+_r>P+wjrVPE!vfhyz}_>$oCc(WikX$ zT6JDVI(O1)rA5{6?*+s1~LzCrPDe=LF*J3tH=d8!X1bHr+#XlK7o3GGF$hO@nc_9O) z-oQlUV56U#lIbY{9-cvV^OMXb5@43oQV0@)E9uYC%Uv2nJTlU4X$}}U*|2lgn?FfBVtj)-kB522G}mt59?MO}d0+yJk15?jmK!$HIvMnnzMr(JCr5 z=&Xt@oS8b#1=ICk<0c z@G^84EKGkB5MR(ql0rhG9m|K+rpPh#qY-w4p;KpReY6@i4JG-FFfy^?q*)tHZ=eW( z2fVLf!TdlHAhjG%BV^p!zY}gD(e(xO%Q$CwH}C6Sere(AM3Eo+9Uow79a5OK`aO5_ z*n3hR$d4s6F|1gcUf8~qZD$Si`Tv&TbOpd>E)gy(zp61A zoVfUJ7lxz_FYk(fCqS)J<5+TAd`nMB=F(R59-a;=);qPrj&;C{sT`bpgWpdX8M2Aq z>0=U|07Wp9`7Lh_+BlBU=zaf{TIQ5*2+SNXw}5CRCwt{;=N$I^u}&F}np2+wf(lr~iQ zHgYl6A&7pz$*PA(9hLcs)}=n5y~Sy&IW0WdmdE^>)G)+#seLXTYO8U`Ve^G|K`6Z- zX+iCRe%VIM^ydD9@q&^IGn3A-6mDUi&{gBK60nmVqBMyy&r^&-+2ndKm!;kNC$6#3 z@rD*U`Z}CAZIf5%2uOddxOWCeJ!}j{b1i8sFKcA#ip21a9X37?v{d;CHqe^k|;7OJtoI` z;F>Z%xwL-noD27<+r|^kwsoRS_UK_kKtG+`j=eIe2PF2hsn4|%Oh!4k*>|WMpomT< z{FT7nt}J%!$XIO~8E8`^AL0W|W)k7A0`CWG!kd;KgnkRe9EiNhTdBWeESwc(t$}lK z*0MCGTDS+g$I|VpgV`Q`v&g*A8envkFttD8Rew5opBOjXaj&2lf`Z!Qr3g2-GThB0 z&#V=7@5{?FRhSv2Y&8zH+GzB0lDAtjnxjav!7kTSDX$=vDjf~MU}T|d3|)n~-4UDZ z4v~5~9&*>QcRp7S9^{}KoHcQI4S%nxR_ayoLj8nLLYgO>A(=61_3QDfRxDQ;s1Tz& zdJ)SQQy7cuf70EX&(9I%*<#eZJ^5o{SZ03!2YTu~bUVB#M@yRr^R3qWK#13hfApeq zyIZQ5xA4YjD6OCYtgu$=J9j@trPYI+>HLkg?1gty&6jlnM-zv13yNk6)?$w#M}pcV z-@91PEB%idNEh?J5cczb<6q`mE4&3h^;>Jw&iy{3(yvR_c}mD-<{Eu9b)RL+mqB63 zc!lg;BQPo7bQE>8$ToJ-nV{~yvM6)^&#aCEjt}c&Q7`k~Cu+|lC=)LjM?KqE+mzO7 zO#=>|CGknuT$qolznVU{yzP~!2kd!~*?WD7qLYxm#~}0InJi1;6>Z^e?c$+t@=rXn z;XMk1_>Xj&?a8#2yMo=AWB(`JA~=iV+WD*Y`Y`uSDth8>`dXhq}1^2-d2=!uvytf4Z`3chd$a zPH^2Fd0l}oR;`8agk}Dmnkv&h#Im$2bw&G(DCp>}99HqP^7pFBIZyhZctn13XA1WZ z<7LHu&u8p@YEkd+KKWH{x$X1(Ut;xtZ1dVbjVuV_$^Lz!!N=yt;XKenvJ^2UW)B?rQd9ll^*>t9C&}9*wczBz|N?01!oJob`alsB2Y^>O*@%}9r zaU!<%@$Q0j%Tz|82fur-$Agtc>9JR1l5r|z-S%pU!ARM?)}~tYDz{j+l(sW?z<*xg z%l?CCOS(-^@_0D}qA&FJz|Ji<#FhwPlQQh)5FAo=gF21}Nv!K0680b7d*s8*_xhuZ z{G7cZO5xyiuTKI~6hPxm{F3g2Gy$Ertvw6`2`{VNkzhv=dY^r8XdWnRbfT1oXQ>vGq%)NJ1Q(M$8 zYFF@xN|j~-LJI)}0%F8MH3>~1<&iWQ2HAw^3 zY#{6tj=gq?a3uJn_RPqXLlarwb6ImW`IORgJ@6-^cCT&45hCx0fzALAPeKwE%6*lMkYdF}D-wIP?elL8NL4n@jM*qoms zKL{YAg}y@UfuMb(-j8yoUKZzJVCEE&n;^rf!GDIm}DA8VAUJS8Q^kclPAluu_koCs3uNe_Gy1;Mc_$w^QJn0@cg*j2*h0C~GDHN@U^YTcauT&x|Ya?u#B6wbcg zL=bz@T$p|X@1Z<#w9gyvmOVA#m~lk-BqtNZ`YlSi$_61v6=;T^T{<5Y8 za>Vk@*fscCQgQE&&DeyV6)akxU!8<1NacEQ`m@@^KeHbPnKx|?b1UL^JYrwZ$Hz}U zd(-C^%g>EU=_4=xKz#W=8c@;ML_7g$_8&`whXlRG^#n-Ny^s4ij26Voru2E2@WS}nA+uoKP$p3iLd}kSSt+2o?Ik@bXjwrzc>!dytnL$* z`UD*ce|r}E{gh~KB(cZZX4a2f9^6RXRo4lo5;CuOb65n+$M}vLt5cKqJ~082M{g=Lx=p;%m#l929OxI1Whpzs)!B zp8qk#|KBtEzc=5oryBMUL&`QH?;=y*z5JEMw=QjuMcSWh|hDZpM@lXT@qZfOGi6bD`gU$WQS0_W& zjcT2z6dYCb;96seMUPzuB>Ov;B<))Y&KI@cZt|jpqaIHff+xF2+47ii1rtKA|;+xbNG7f0V1)?t-rVG(>UFfE@|%8t<@f#lUd8 zOe8`c!y<+WIUO7%Z%avsV_7B}i&pg|-%y_0(9-#9@=JvO>) z!I`CHe#IW#;xV6wc!sv7gKy*h51sl#lC2&ed;}TVG+OC~+wkokJ-DRk=d0*c2y8px zl8`PqHn4BFyNxMnu?{$NUS+d4ju>t({q(D#<=MV?K`yVD(QX4+GLO!JCBgNf+N{Q5 zc2`D_v1}ig#hPkwv{;Y!{SiC@~?L{C#B|eGb^VP@RI?}A+fS6SnAF?p^#-FWGBTsBG zKIMsdFgmDf=eoDERP7k0o>Ng{{eFPkW@y|>QNLDQFO8K5(%059e}k&&Qz4pjuB@?2 zQ-S)2kEO^q#3Ien3d_p~wh@3nIh`y_P8TLm&gDr~c~b>lp9rve*wCZXB-MUw*c~;auISH3v7-{87*7&J%x2*Ctp)MFBFi?WkWx&rj9| z@tr@P@FSN`{j1`{j?kO2p<1`UcKvO(c>8bbMCN7ao#2GOtrJJj|L<|-f9&l4t##t= z`H+_OUnR}CU$Zn4@BcjYUmvhrZwEFo>-I~6zkXkMkIgT5j-3zZmVY3gP-9Ha%)Ou; zX_m0)S(dT*>a?8Uu>9k3DtZ=GG}<}&;85nRjB5%%PCoW6R4(b+XkmdG%N~WcoOWX@ zmOIX3`x^ZWeZ6m2dm{uR8+%Je5>)KnZOw{M^{-|mjL9de>Mle4K4z%r_NXaQS`sFABnNR%vhvbd8{D?s$K7tp&w zJQ&~&RcRc#kAN)H0J_LAY)Z!oZc4Kt+;*$c!+7zXMW8#DFsA<+H@AJbXU;IS2{%v{ zdBkD6D)im=@xC^%sOvR@8*96Tg8tg|<8ayYoJpVVNms^)Xv?*U2kCl1Z7{k6q_3DD zG|Ietg{)sT)Pzp&$s@R|h#=@X)TMF?Pg2v)Tqj~f#t`WR!Qb?zSFyxuyW(yAKe~_H zvN9UL*dR^Hs{%!{DT**#e{MA+s>N&Qv^OOz_M5PgipI#$n2xDE0SxX;~MYWZ? zfay*z76)F?HMqo-&wgrV#7IWahVW10N2wL5*Ufypvp*!y1v~V{pDu$X*(IxL@)7~a zaO3cUiVcDbF`)@VV*KC-FKX`fKArJcdn(KC&&q&y_X9Q1TM_Ip!Sc z6BNdA^5a;a7kiGw?GF_^N0VyqemPBWU3MiSF|~$&STrEcX7mA<9dYU^rK8eOw^Uq| zC^!+&sVEvyUjVr{pjV>PW*7S~5Tx3#uBip<(E0g_?hcdi&8*REehA(GfXdH-qFapW zbz-58EVb9(1`0n{QGbk%Rc8Iz@8dA{31rj!=MA*i24F%w-JLS`;49&lb{Dk79cOHR zMjxfV@@&ban|l=>vD=p!dd4LPwCB$>4}GK2SkcETB=-AcP=|6O*pK47zj^s}N6UC% z=#3w5kAADXWczQ0b}js2^7`t?ROk7-dpQ^ZWRcwQ~cY$7N!S(OG}BiEHRkAr7lmd}2FQ;20@;E)jdvqeN}6 zcgWwFPOZ@nLa59wYqXz)PQJ`9zYkh7L^~`PPn0C54|`kP(yrHk*|d_>>j7n; z)CYTEOS?uVM~{=Y;g~t;8}#cedsC@+_oPY@^CAiu*ZlJ}w5w8waU=nZ||K0p7cu9EAr;^6?5ku?E*N{}38 zLuw%E>$ZbEQue_!_|=Wx8)1e;;N>okHs= zLdLt`-CIYXNvY93IFMOq&7-m>bQKRsx>W(BanT?VD_0CzwErOxYwYfdduaZ$r0mg+ zm-wxteka29#VT$v{ zt>huJ-`=3p)J|Mt=f^q=Pj&dM*y_3*9gYN$tdub(sbl@9VlqG3Ea6sPFomi&+Kx4b zwirRafsb_*(lszg5v?B2mT~0NXv$X=JGA=pU|2_OlK{UcdJ}r0(ATVZZ(lo&LYCqPyz0eBXQIZq4N(+Bfa@pDz7(P!_wT ze000wAC>1nHJgpkt!gW*NSi|DNQ>>8{Lqs@ZWkKtddC+z(KYTJ1*3reWCDCovVcx! z2Hu{hX9!$%xR)GyFaHw0@qyPH6z(Yywy+1TSzSjGd!QNiHay@oK&*l!4SEo`wqN=6 z&O%#g^Wqbg(5Oz#0Lhkud^M@iZ96#Ad`D0gR-zprF8)Ngw_gjkDVoA7aZNVWhhCyc z)^}-fX^Pw8XB2H<9nZ?S97akxJvnT!{TURLC`<%BNzY;X=H9r19HZ)rrN@_Wb0ftXXC(19``}5 zbWnVvz-QOUpm%aB#MZow=5-}47L`7VBl+71bpRLr=DBrUMYisvbMPd%k?vszj>~@K z5_knNWk4&)NTU_266aiugY^XqzV*z3UK}r&d?&QlKXAm|q~nbJcqg;L+t%&{VcG=? zD|?k5BR=bG8m&J^vF>4vpTbtMC6qgtXQM!)a}9^}*DK#=Ep`xp#tL{fb&eg6qgcZ# z35!w=U*lW=_2*N=^o@QE{L0m1i4^Mm$evs1rrGI!Kj=U^FqM@{uJM0FK-Kso8 zZMo^D*+MEA);BbE>1y_`M3olj=U}6pkAzhqko6)KV9v-t=qH za6{A|-K3@^>9eWSKJU|~w!kVPpADhfa*J|RtRuZqz49VHms5BZq$y1Y~AVeHZaHQ@0 zYnZD2#UQ9sprz*qoO1vaxh2&jaCwhHlIrQ*@gT1aWi&bQVbONR;6sG=+O5Y@EAR0) zTICa2>muZOS?e?t5fABLnJsUH82y%4Iy-(NZ0&8@<1Opwm;a?sY$v=bDjVAf8LxYM ziVq7f{*4O#|Gz|qrzO0nRV(hcQ~JLZ3fccwC~60O-W~jFmpgOk!VP(|`I5eV^O6q( zDUk*q+v!ST`3DAS+_FXnCLMHI+P#7rHIe+TGIwBbz5&n+Ys@b_&zL_B=)Vb7^4~x8 zY>Z!h*tyE_LS^959lX441>!f-FrMUic3a5Eq{49Du1e0brajuucBs21s-rz^>iN+K{aM@TOrqYs@(*wqef=s?igMO) z+1s47D{1`|jBr8JO{Gu|!86@5j7r17L2-J?5%VI7ciIuw#3JZUE`dwDSHFO?t=e3$ z^xr7mqYb}aYe34ls&Xgi(zh|?m;l@O(&lgKhVvCiYAX>Q%Wkqblfi!9ypsz>B^@@y z=%@O_Cc1mex{AmR6oca=u}5^?W^ZQ}A*dV;D)`u{F(n&KB4MKqvN)67(bT+kua9xb zNsYb53>#|Kp*a?9LIIXQm>~U0d?%8g6}S`geBf>ok?LkM8E?*e!L>H+WeA#0lfx}j zoA6T0h#RhVbecnRC!{s5>1C1%_4I3Wn+FRNrJ`Bs8K4uc3t$};TRmIH_HqlEP21y2 zt}39RNm_RdnNh9hqG=gx%v@3LT#=2_2rMNY0;-M07@J^2QYdHo@%ADTzUWpa4l-U+ zRuq+&niFqC*W{+^7~t|sT`_|co}$!VE#NH_5$4=XAs!A*0)tIqk)*js6McE zh}ZP-n&v0}ONcYN9Y+A+CytUwF0S>7=&57tNZa@Glly$tRrD>+`n9wf+zID!WCp0X zPI}|AU#ElLsXN4%XnLr34ozn>L`1P{1e8ZBMn@!RI66$XlooC79Mt_hU(GkqZ2kRV zu=4M1z7V?KZ7jRz7y3h%LLbaK@?XYEadyfu4^k1F3s4IP8 zVBQ2p*4>vg7Ss?nbpHpF_t&nwF3Y`Z@A;a+U7IhNCYMELFIuVk(~axKfN1aRmDIm> z>5Xk^4E%&{R|H0D)Y874{SOoA_BkR?IG*Az^Slljcsszo--k1eB4F#(c)AVHo#~bo zGnGbK;F=VnSQFnBDpo>ZzsTL^zBm|1mc4QINnM6`^zwdJp3W%1V>vC8xz`1C`2b|? zY?B4=?W6-v5YriGzgN>$l{4;+B5DC25*ZGUK!S0R01`b7s=er68&LS^Oj~oSP*6Q| zU53+O1ip36*FCndG6a(BI;A8BX~V>cDkgss!MR@?Z0?iTe0|u4C;8x&>xdyD<_48^FraMtHA$GLTOlm@ zFgyC5;H+_B%d6!hHjH~phd~PImLId<31d|UhmXh~*3L|N0ZF}}a(B{rTavu}5F6sL zJ4IrHvl-oSusC`131kW_UDdxXdcLS&y}6zYX0n`L+t|9(VLLU)7|ths3u+@Ez@+T$M`UJiKgX4)+y;RhZo;6)XOW4ZK-}ThjzLV{ z&SOnFWXFkLz6I<-7C;E! zGE+n2JX~)A$E7P_9gkDFBo@D%OCakJ#1DKdS#3-_bwG4cLwnp%9Gyi@Y1Nw>rvu)x zOU?qpu@-2I>jmp0ysVuX3nc=8+fX()l1Znfhyb*(1$~t+b6=*INRrrJv>7R?C zW)|ekO3xx1Z`htXK$&VkVjj&{NvQ6&^ue>O6*H| z&E5pDP!Ouc%j{ca_+9RMv^jHWe*X4z?Hd-&&`U$L&$C{K_0Mqq>oT!9e!hCvEw#KL zy3**z>S~=i<p% z!OK)bV)T+257zRw_AZ})-z5nie51MX$Fj)Wb9sRR=B?hphhpA-fi~^>o1`~Pi<{{C z51TDz3qNwcbTupu7o%H6;6R7cc)pe4rhMU%S${K$=ii9k(Eo=aK+vMLMvL5EJ>ImK zfYGSjPUXS-|6%(3@IS{rolLHA3G%ajHO7eUc{l5{Jw=b8Hba7bPm|Q2m#FXEH&%ZC z=P;^rZAm}J-w<#DSkkqgo-MEJfYB&;dSG42m*p@~_z^3xYPv4LrF_!3f%tCqI_%A? zo7MR(x}urKjJGOuUFkBvMEv%rFB<4z?Tn?i?VvjIG*j*kbXaYz*V6aj&ji|IL7rLT z={bR9SQwd~Mtt(Z*ZNSb`b0#Kz^YLlmJa-9Zt-8&3I1>g*E?(dekewISKCJ4hhJ3A z*wE154-l;n^(F*<{#$4}57?4i&eY{=^RB*M!<&L7=oeo+2ln%2J-EJ?n_upAS^v@2 zlQ;E^BP;@v2wHXxUIAppRe=#MGXDE@6GHdcD(}4FT&`nR6^Q0l@DWBBa zqNMfa!{$%#ZPH)6K0p7>W613{^*=mjECOdPnz%iAwGuM*w*;s761>`;Tvz!#_Ip6b z)!M_k(^}?7A1;Ld!{To-etL(H)|dWaF|ptGd)#|I!B4Mk(pbd!?>RsCIfz@xpCkV6 zdBRq-bm0ca^_U#ZUvK1D{I#p>_vr`g&Hr`$2M z`aJZD=f6dIGcP)YnyC8zn@#Tei~qXy{^z^g!oPOe{T}pame-DGGIRK=WMiRYHLLSVbp7*_@LJ3lK3&1Tck!#t#5PPeUN^w|YTaPhKzd*MDNLO= zU4G}}jy z;E%VHF4_OHl}~4Hp3%;5nVZRMy5U-PgAUv|Iq`eF8GU!7%T4Mx{S6?p>DnFMZ>MC& z6Zi{wJBtVH{~N@5w=@3puzz}`EJ}+|7CGmfSr=aZ-?$O`FKi35EOe<;vGdc^3vL;? zJ@uc^^5nm%pNnOIUa|dUx>HkQmwx{(|9|l5)F0~#H*Wp&x4x>dn7v4xO=Wk7-t8T4 z`Xn{{A4rkl{dxl~YN2XpPJ+bS_gt{#6+Q7Ge09NTu^R=Pje~!b7_>UT&3VAytq_XekGJJVb-(SvZ^nUw!ql6h|8b4jZ z{jz?}554TD$dx})LbzjzC9r1z1Dn}I(V`3lK|5%Fg==`c_ zkxWQZC6I2zz}&2?!7ok5r6u5+{SPg)avbAq(?$&Z?zr}g;ed2czinXHeylJjJA zxim#Psr#>8*Yg$0N#?zK8k(sa(s*@T%yo-KX1b89`gK?7K-&cEvKr*<*2RWva`HiR ze97WTb0AS8IE{n-wcA2kH zT~A&3qI4`dAL45UENQCrp%?eQ$}Jd3uv}aWSZ2I?+f;qW%+|B0Fx(#?KB!5s<*Bi& zFOE`7FgJ-viRz@efY*P_MVhLZT>K$a)QRfJ44Y*=1{B>=?$ivza2Fn|TAVAinX?%f z(w1Gy81Edh^gsuW$CooYlg;f9kttPuF+!U7m0J#5)TD@H>CkD9*N-{PW$Aj%KAxFN z*E29)V^BHZPt}?1Mn6cdgI0t`AHlE7Cdj0+WP%Q$4bJfu>_V4|xGZCt2CcFof?+Ga zk7opOc}PDdV0<7SaQA9@3_;S1Uf4}DZGAcgYEWI*Y0w;?Tf`nb#5m+dEB8OFYk3$~ zD3nJ!{b-d&O+0$p(x8=#9`4|~{)nAB<-zHC`s&ReZ+CYB$l=jC2z#SK$#7q9i7`1IL%?2my7bmDo}~`pqFWG?C69q_7L9z_*wTm$h}n{Up9VZnpEc{ zXb_@roUWU_rz_UfO?{C>CEu71=-~OH=VBBQX zUpJZX+N@uZ(QSS^B1yV&&#E;lh3{|ejOEtE5@UX(l}9*=DOK(Ayp2WZ$7@1CPKpd! z<{qh`tH6TftKk9s_uTcl0dlQYpV-H4=84gz(C$B;TU99Py#@9bnRpGw_ZlJ>mDK7n z(_QoUJVh$5x(-uak`8*urX^~&q$r^|pbo|ne2*S3Ww!rKJF00G?{7diRAnC?NuQ7~ z)R!7ja9(^)N!B4>h*tct{za3-0D@hwSM%(g$FN#eEd>>9aT@Wkd|5IXLQQEob7G*n zD)6gjOf@<*#Q35adA;}JIW0gfsW8v8ovFx4Ciev45EIqcuwEBZVr|`l`|hQ@C6G^iru*0gDEEvWXwxlgWxYOl+nXFsOpv-4P`9ke zadO#9+?x^lP;p4~@o1>vc613u{1fv~SF+kwXE!tkTj|+D1(0WBBq0l7xC zfgYKjh6(ox`|K#8@(>;dOH`MXn*4Q7@tbgLSVD~UDq96&vQb}CR2-0hViIOB@JQah zhFP~$Pg{~)Xpgf?!t{>%Ky3>Rb!xsUQfYYvj{Tv{=tAJ7CjlO+LGoz?Om_jcnhuT7{Ur)!?H(4V?B;A@$#ONPME$E1GGuc)-8qwB{;hC=Yt`5`l7Sll{DNmwHb8G2- zI%I`zlNH6!QMym}&XLG!19TG{3@{$=eRPS#hC~zI8w;Kxf|u1nY`o739?>zQg|jp( zTjhvt(IxJnd!b{`_+G!LytR%9XIl8%fV;cAbEE*l-_}U0#yHJ$?;VR7FTR|n zDM_$$gD`kc#4>YV#(=2h^hbzN@gX;JgrQo>LQq%3Ugt@B2dbXStdARZK^NSoy<55& z6P*y!VNF)*926U)T)}@>BBWEF+p;|J#;ToZJJYptkv6j^du^>qvz8H+5O|3q1+CSP zbg1y+Y6Ip={e&Q}^H#lM>JAMXTu~qUz5A2#IKzYil z{GLqRr(ZwnN37?Gn#Ej;3~yht(*E&05~H{dS}Q#a2QgL7FFrT}`-Za~a$Y}M@FI-6 zFy;i*&VY6I0c6)@Bq;s8UY$b&2VmzmBONBqvF4R`i#X~!{cuSqg~pg@!rTk)nf>k5 z_TF#!T=sasF~}iyTozo=nDU{FT64Mw<%KZ@KO3>({rr{%)>Qig5*Xq46b^cC5Q`e* ztN*or?_)YxKM`jvma-o!f}F5craJDcT0V^nF-Z-56M`GP=zLXg_+$FIy86-C~D3iMEOJ_Rvr7?qs*7F{4A0-cG{h0(m`)kbu+FA?g==Jq#7U*}GYxJufJp zk}$8w??t}I5=;J~-94BQ%?1rbBQ$*`PWx1z$V6UiinVy&MGGiM5lx6zK%_JX3?V!c z)thiL{8E&Pd9`z3>E$?n=k9~(&d<&`lZ10EZ(tYW@BP;yVr9+8pysy3u`8wJq0xl}1zA(q zp$@zcZoXqsYC6U)j#r|@u1JX?TgADc)&&d@3#A?Yvuv&FDQI$^Zf`Au(KeTtcS{ns z1Ufb@6U1NkDQzB`H(e)|0+z`q8b4JM74_u{W<^f;4Hwl)%C&h5&<&i9pXPM>aKXczekPFOt)1Kq;i2H`x<>pq??qe9+6R&&CZ?E`4g2kQM zkU_3UV`c4HZbzX~uG4XK9Em!V18D|V0c^p~>+qP_cRu|X*Tw9N1cY+ZLsDlxilN^x zR%BBm{&=~B9r)Tx+N{g9+D{et76CQz_Vq5yhmKn$F!BusW+NWeq%?>jxBi$_d>*}P zhErjJSb#T?U*YMfCKqD7mTP}{&yTT7p{Y_S4hm^v+AFN~n&iO7>T`bGDXy0GNrN-8 zUmnCOxt2F~<=<#{kTjq#$wq4Wj}7%2Ip;A5-(@z&FdJb7B>bE!@Wl8UvtGWdF}Wsd z^s9R80#o5b?c_ORBDtiy_H4(2N2T?bg9C%+ zRA{Q_?mDAizolo*WT(owT?*pYNRrsTI`h7WOa0Zg7C*;#@x%9EWWTwmK2E)lA>7%| z4`$0xxVIv zx90iKxT5Ax55E(9dVt(cnz8Zta`UsS`kHv7b?BW0kauq8Y+wG1<7MfhsaSf~AD8f3 zou8k}S0SgSTEnK7W zWZ;4vNo-vzaw>C8i+zUSFl*AGOd}_Z)VhMkTA!e%@&Lfx*Xo~O?J(-}illv6ffr&G z@VOE%ebH=6KO`aEBLV6#C+S(sZ3qBJFenE646}i({zepM;dN=|8qSuEDyzbQLa8RG z%+g7WYs&byhd9Qg43nNC9qsDB6zX;gM$9m7&Ka(2POI+Usw$5EwTlO04m`!35S^%T zcwok9y*NYZ<8|sw-jvOFFMAYn97ERmDBu>3X}`rTF&d34S2QZtp~RY?0tj$5%R+T1 zFbntu%koGmXmTiM$}hG}WEOiq8b6iJ_;J+qougRTNEXXkRZlAEDP^tKPCoj2meI`G zT8!nl;Ot0ag^YexQ-u*vzb#gEw7QB-Ucn|evMka$BWy!m(^jy`%`CO(s7l~!#- z3{Bs0^G&YC?u9CMLL>oYnQRi7+{`umDC^sNCHnQ4rc4sXyXALS^EH7FqxG(rB6&{gPR#nacw(~wu9_oQI_NTJLQKdhIS|vy%U0VJ zF=m6hgwcr;<21#AvIAe@mklvRG#BS(<#%_6Amgeulpe&JOCi?R)JNB>Gb3eBQg&en zY0s}jf|Z<^(lNeXIEo{uWk&v+znVRUoEE;z~!n=k`)dCso(Y_HvtqWp{nwSWD3u9!lD zthpu*W*1aoLSv5Gt*KCZkTW#kXMW$;aycSicuY>)92*`>Vn~oPN3zyVhO6BhVGlXL0WvNR*P<@B=r4WkV#6pJ=JZ$6ZnE~R6WT)4l?Y@)Qaw(&CIy@Y_ zOl+pkqMMoojB8U;92TIHL9Fd`y%x`O%c^noSjhz_!B3LChSghb9MSCm!bK7B$e!+j zX4HL~(t&lYvz6*;mOc&#OH9R7P){x1(E$E4Weq1IWvq1FM*tm}Rgb@>8UbONjoQKQ zciZUu-|BomT;McXdr2;je(JdDR}?e(s}AW_FS`gd?Ey$91yzJD2r{)d>TS-1-#5s> zbb4@F2^KAH$R3DepA7vYCtfkcB468H@Dd~>)%RsnFj|&>5(B;p@pSv}gVS9Wba>l2 z=HXB$u@lW3DyS!CTq32y5rp#qggzrTHedP^-8#x4Q#gWK$-#^a+=hK|@F8=XPW+k3 zP{>&D#d-;^+NgH<7gyk*j{pM3WAypjplR=e>PrA`5lh>$rO!;KBqwop<9o@*NJ810lJDS zby+*njjMb58=$UA8 zHqLNkxbwbFQ@%^aTzXK1v(6Y7W1fzx`U={|bgd-k)76QMHE?_h^}y4fk;wDPlZdGt zdY63nU^W1o;!3G9`uW(e1Qc?N%5Qy5o_LnzTBL`l*7s8?T4(2CnXA@CAUC=up{Q)t z{m7-O$Za9r?(&L{hz{L=oPuwoqr-l9Q_ zV7=sI^M$0+kn^~wnm!w2?t!Jw_8*n-praZ`6|x&`Q#D;KR(rjFV<-}f(%wD~1B+9{ zIZvZMa9R-nHuoxzSvo_2?)h_PKS?%w(sMea-*i|O`VTA>FA!WRK_#wvWoT&b z$mI43%Z$kE&o8YxC@3UG9n@IUr0!=~J_pgadB+2Ty3qR0Nnwvi=KIP!svC~qv2b3H z?$wAWMU#jfRrx623PBujBpRXZ7R8WZfV%O6v+sSt9HvopyrPQ!mx zH|`Exv(YwJJS<-Rh?;6Fn_$_Huew_4{r*n5_uj`y4#6=0I6>z*Bsg<>gjrcVSKwMwwv1G%PGmPnAxG`wX^pv24`OY+73(wC3uusb zRgITvw7T;J%WZ&Mrk4>Ez?v)5)gpmM7xF+(ww1k~SaGvROhYs(n;3GWIY2CX@F>)H zuFCx8`(7vz6#i=X%={s)U7v&u?us3?{@Kzyn!>VT-b-?^^oZzS_L%u`noG$QLvLVZ z7Nt6@(+`Od?)OH#R9Ig?&LyaTaCKQpy}9a?Gi*~WRFJ(Va3Uqs(tf(^Wp@LH#33cw z803S5$=!%}res}MPK~aIrw5G2=lxU+ zvb%=~>Me6nU>z!=uBq$U4sLwWs`Mv0bCU4^hxC>SqE%ynDReF}Bdc2XB|Cr* zV@%jER@=SNLzdIn$c!JiXu+%rW_tpr85Ji+6zmV=>lqWmM`A)GjAt_(En+r!Z;ceH z%CEBRS^X-OOh$#t`pH<1+0Rl2GYtkU8d+|`!PT1go9^+PB+okgWt|UI0X_?`2qdLO zCS1gB89i6-n) zCPv9I4SgOi(N9rS{`;A zH(ogRjf*d0fL&bCn9#J8iSsyEX~6i>W8q^-VGT0D;Yy-4F}$G88mlDtS@PKRNzJM% z&dae7`)W$Sw+^6Eglm0GL*UwpwCl5g>RzOI0ktQ8ZXn@~lW<^2K1#g1L531~Sf^04 zjHw-O-R0_$SmqrT1Wmipq5DCwYIDC(>{O0-?H#=?>_BNX_*DiGd?vPQ8)IolfaHcGi#ldw#V=fLleEl6s|un+JS^gpxy2S9S!Kp1i&w^G1JOyb zc8jj%u1j}?PtNAn6oyvoAs3#61}8NcA339tokv=!6dxxT#Ke#FPYIOx)vW~N>aN}+ z+I)XVyyO`8bJy7JR~Ff)T#^Pu8k{-%(d8j6RhBzLS+?leno0oVq`Y(mC*Xn4@ zj*VK@YlPxG4#E>G#!hFu4$g6F5^O*Mmkb8rwm;k2^MigK1YvhRR#h3sBeVfRWQ#Wz z9;nPwpTP5Zi~Vjcs>?t_5!sZJ8wboAS7*usJ~@YVF;I;+OhVE;m;m=i01-Ss|66Bl zmS~PEDS6eb7G;qXYS%-9Dr_mj@a;>CZiiW9kaK;ol#md|v;goPxI* zL+0J|=fd;5w`G2Qoy(AxFVFli9>B#7HSSj|ie+ zW|(IOJl(0y@)j}sX*AgY=fd!}DvDFuCjK7Bp`Y^)l)Ovz_%ID^X|9l_FiXdPtr_*!*7A`mzq%VSb~2Rxx*I~ zD#_Zcn;vWQl*_Ur-sd(ag6I%A*RiAqQCqX6kPrdOuImos*svAhUmRyzk} zh(5n=-91@*GJxR6yIB0X%lnE!OU8{>8i4HUNLZBA;qo&9GwkDQvZ4l7_Zq!rFwX`V z#PSXrFRt(V`SFh>W83RixV?ElZLnvpL}qVVU5Eh{W~8rbkwQYJ(dc1jF|#uckbf{D zM0y6X;5t1%v3`XgKBeJrQCM7wynxScrEi^6W)u&^2$WQjb%DwyweQ*&X(}33?t7rG5uUvy%7B(v5f=04Up*q!X6%dI9c50dgRh5Z(o%!m4ha zm919DVw}T6A|2%K4BdL4W7yqqh-L@)f{DIB)t1I>!MLAqtRZp$@$6SC_w(q4iDfsd zxuE9G2mRp&RNHFY{UnTQg_k;SkqruwVt^YDsY2(t*Q-MoMJ5+vS0yO#IvbfP-wW() z2iw6De*z&3FBg*rv~~Ie0nnv)>g9gP^dg(dZGT|)gF1(okdZyytP?B5dyO_{=yvaQ zQFB)jFU}WqPyRZi;(NNk_o#vBvlVuXXxb{EQV{Nyhn?FG?-^JyeAPdoL;h91#_-z*!j0oiKNG2hTrFXu@P{$-Zh z8@xF@aZIp^j+UIM%JOS#Lv{{cEP{3!`I{Wk&{yp4IcwCw8$@ID)W&OMr*zWXIya7s zies|rq-49cNp(X~wb!OHpzy4PdvqNGTnBX6+3gW%64S_YOh2~r4&Cq(g~WPJX2h&z zds-kj!7HB8XCbpd&s*q{7r8RUEv)9K%$d!BL-(6_xJ!hAOh22M<#o~degiFC2HQw{ z6se~<-ck05RyLdR%va)cV5Qpbu0#pX6J?g*>7z*JWvSh^%ljrYxn6s&)vR&Tfu0)3 z92|Zb?)2iG!q&ZW4&61(A@4nE&#Af0uA*w~?Ht&)u510nhm)VicWZBgW1$PnedOty zap^JRn>qo0+8Mn|==cjhoyq+Xg?sqs(rQk&rC+BS0+#rKQW_m^O6+!B$-#AQg5-E` z{qnj@?Rh81B~E=`Dnh+q;5rP3 z7eb(j)3TV()?xN$`>OgoDlk!Di;n2n?r$aechBid2N};`90D7oC^ARD`558G;l->I z-r=@$w=j|cF@Zd5vWu)fVD#d;OK+h-30sT48EE5_%&%H<+hO^gMFT{I6GQBPgj{Pg z0J-A8b#(Q(l zb31fXHU#QAbPID1#ieYIPYSb&<}!V|Omi7}HnP5RU5T8))4a`GUc95t1HZS; z@@qvH>;FLBahlXJ$DL;+CuApIG!D=gu5Gy8->UM~l3lv(?nJN4FiQ5m0;iXH)m}rC zHWq#Wc`7r&+L0f{w=#JM>xH;gx!#3<%ONkcVi3FyaMl?1Y=r+(_+eHoq-0r`%;ZN7 z12dS>S;osTp#O)q_l|0EdE13UFN#VR5Vs(qg`jj0aU)VpFhK$YNdOfH5Fnw0fG8rU zR5cKgP?Qov3q7Z8=J-z?^ z<&-dnIU6|zT`Vw)tXT;~kTuJ>%4CKIP{Q z_=wfc&s{;=5d%fT`7+JHVqfmCkN{D5@TesT{<}RdbM}p-UVfu#lBZ3fV6siOKXUI4 zU+XksDSg7XKEEV>c*R<8N^U%hGryjM>HA_8h1g|NR2VR#=N+lXB?mOUh=qZuhIu)e zu_)CjWs;6l*hCl`bsv~Nx6n%}zn}kse^sg`eFh3!jnBeRTc&Q4RmSzmmQ5yB86_Ko z(q{%tl}!HTbe@C!dcG}%=DaiRfQ(wHypXqHT2d5TCj%^K2?}-B5!20Qj(5bS(;0uh zsCQOZc&Lv19r4Gbhr#$;h^Dn?MHDFqO~$8ty2YS(AGOCey*X;ADk@kVsK5V+DNh0# zRkdHGUKAF*CRgBQ%06c){BHGQ^L%)V{(ApzrI|+4A*M5BDU)ER1h-#s3udGh+vw#% zqaj*3M=eT>K#N)K((2c%r(l13o|us!cI~t^4)rgynHv}qB9&AvO&%2ZD-+lmOML7 z;Vo` zFDy}5b<1{l2r0-gzC2@-jBs?G9+bU{h6M}lYV<8gls;sEgsT#zZsE|XSK?s??1(#E zT{FUTj(a^0?Fzvz7l+4JU@bJT7O=}c`TgAoj$y>KW}l8jrQ5M%c61`C1M0xP>=Rp$ zO}h^>Z@x;k65dZ+Io&2%mrw9E8Y5I&MsIo&#hnn-XmTCd)4s3PZ!@r%t0<|n^lga; z6jdcRi~U$L4@4)H}-GXwsN#ucNnh+*5)snhTNT!v4x z-Nky>EtSwh31pG2u`Ru>WxB@YYgj0b@#Y);cJk(5=E8J3c2cH8D5+0`VESjV5-p+h z&yiGETYvC=Vh$O3VxNkDp#2RTYlLxPF9x4H%*f1o4(r2`V~Ax7vK%&&+6m}&|Ic=E z+SIDSJ7->6q1A!kwhlF3TitsKS%pU~f`uUN=nR~v=jclE#{SSLZCqyine`CovwE|P zJH9%EMwL|kDsju&hk7+bvfS%Y&agWA&uX`&5zEHm+V9scE6f&e4#rp$!e&nqW~NxW z84PZgJdh>c8+>>T`&lPrmLQd|?9O;>yrh5!98|*x8C|@ zefPRh270Sdddz-$a9X>pg`fgp*S(HoR`iB^Ny)9MP;lHOI+l7m1HUz2 z=dnrLaMO{R-QJck)+#*_q%tiG{cMNMz}&IIN#^pJo4LVGNyF0;Gr4B+!(!oo&$vCw zt;^FdPL=Z4Xb_!Sc+p3$bYhH0xjNCEUc{c*#lla{k=;Crd?CzOVPY*ly5k~#>yKc* zZNrLX5Cwtwe0!FBG7XkQ8)yOhUj7CTvIcH zEAn(guJ@f%W(*J3*}1n3+g2%dSYl_rz~P^AXMmsY#=DfBsD0G*#4zI5af}k~*D4QY zhmt85YT~V2J%kIYC#_;5hi3Oi45RhJqIB{jLm5VMo|OXR9J1Xrj= zB#)-bA7Dh5Mnsr|-BaIbpTZ5_G~ab%AHGE!;v>02>;Puw_CqG%0H9*GP7^~_v*d_3 zkadp6$uE9s7hS0y=}k=hqlo%^J+G-_bBn#QhEDjZ&`S=fKF-NN(Uur3GDbZJ$sXX~ z#J_-EA#T~D0l7CE{7XJHTcX64R9gD`^fCfL+|2z0s96`7T0!oZ22RI8 z(NYh02TnorupjlhnY4;edfj9*Wda^HTRAGOvMe%u8yM1QoFa&_M)YkNwqN~lVHTq5B79iEv78y ztSSU39hyFpLlzI*iYmYaTbK&X1k9m}!7vdUn&nYfk1{z z!88X=Q#}736jVc0VjZMfGe~1n55Htfds&mWIIERGu$auV+C$LIR6hIR@9DDW=ph2i z^q((4#hQ)T#Leq$a%gbhMZ4TWKdk2{(-MU?QZ~63WNy>@oDbHapLVT@P~;$=);}9d z_5YcK%-vE3ZHu40f-zo|%m?dlyWRu(u%Imy{EMI~T5n&P=oV9aYr{`(O&aLEK^t`^ zAty5i3N3N=0zwUA>#j-LT2fw62g6~eP;UNG{r7CW%$AxlY9}6K`l?QQP;BEFO#T** zYCI`fZ!bct)QE3*(T2==pVR-g0?n~BXrU8<=KlPpF%Yi`XO$`q^RQ)|dtfxaC| zj?0|*oDC(qDrQdUdpV@NSRF({1Wiq*uR7SL4pqrdJrqwjl5P+BI8#7Vz(t$TqsZ!L+{ZRoRsT7+#u3P$$0LAEX`SMV0c zpfJ6sT-0-w>f<;ivqBgm2Uf{jXfO^qa<36&Gu8RO8cl~BzC-my<<#G~>> z9XIj%@U~GY&;B(ZewhABLN^KKfc=8uQlz72^dIEHPpR)U-nldQjRHjkr^J+E`pBZ^ zr%Jv23#OrbH5di2i6CHa{5slcwM!Y7rk!^*357TgJTWcMqsQ3gTnVuw!R*{Q=NPIld{`+k;*-mUB`{3oGfQ${EDsD_!YRJn1&9hrAIBa_(_4b5qK4W|GhH8ECurLHfXvF(oN@A!zd4v3##S?1i~ zpr~2ZEWeo%g-bGHdU`ly%qf{^dj#(^?`L@E5R`ahWh z9ccP)4O`Y3k&|koD@Nc~DcmJ_|4hCrD4y>Ro5|>h0O_hJflu5!m)q)S5=P^$h^AlC zHqKnIMwSj}>}E5Ek5)8^{!nqseakg(JR{Z*ZhO00GRVE&<2?dt=f^vx6aGp7A=LCB z@$dp+Iae9j6#cQfRs*S|CAuJ53tZsy%+-ja&l?d!wlI?Q(6jx@>aco`cAX1djC)Yu z5zJuhxJK2`F~#Ou4@|XRRB_)#g<7l~qvk1W0YT=k%)^a?3)jf~a?5F|7TK$Jv$@2U zdBV4vzql3_q!AE)aS;5u=c@rmK9R%VlK|OADVaH`*@F4ParkjPiU^~oWR(c1S#}l= zacB-GhdRa)WDzS$+Vc_a2k1v6!#_o=*wpmK#%rAUHI=){vL8D`Z@8=gED9m(tSyuP zr&Z0DH0`F1Y61!`svVZfxlJ39RO)WgUG2_DZNQ}8^(M`{YMcm*MPS|Go>Q1x`y!^5 z!Kt!~aw)N`L$Tk}?lMR12qOov|Ey)2U)A(CF4R04?4t9{en@<2iJ4o`@C}C~j2EC8 z&?_2{y!{=So|}R4ojHzWhMvaS4YDCy)@NFI7G&cn?xV1cmxu}EWG8Nh$5V~p;sJ{0 zbNgRL32xa;~&=yQB^4PtZ>|p>>;a+3ROL$hQ!XdDF8w4rI@rx#ugX&0PJAE z%c%c=-}?T>gd(>c;3-jzD}0_Rvx1xvps1|5Lti_@k8a{IE9>mO_9>A*77y^-Hz{8~ zn0lNI`0={2x(eT&oV&W8)}6!H^x?6rIizdm=j3{nC+*5+ST!B0!t*W?aDE&f)}@&# z8Kp{ASy>)OeLe?OKnb}tDx_U*yNdIwwOcr%7M)fHaol~vgD$&J1J`+?pjk`?i_Rl$ zjN+^J%&n)F&J|=d9+ky-SjKM$3<>qnyMIj9lnkS0q~$Ylz2EFc%9zdI&mWdZl9{A*^E`+Gd@<#6&+!4Jmy_ z+IHZ%rpo{Oc=9Dk{}JA@`mc0c_k?OjuZ?Ma9*%oi#Mr2}WWG^vbfU#Ciu$-qV$@T; zsRbud(y*o5H`l?BEjF_d+PmfxHpAPdO9>#7bf@QUp$Pp>LpG;vuFQ7-IX}0=iX~CF za!axC%ThZrvBNt!?_CX=Io(}nhezzY zizI2rjV6Q$s0$GL2$QYCOMwU|vu8%GWrGH;qZg>^0TWbm@aT@TXpJ)JOui%Av;AlU`q)Gl*9 zxE<@?lRNtsiA*`txILVao&;HUSq^p^mC?W7Mv5_cRB;muVTi_Wx;1b!`6R73dxuqb zCf;%xu(pX}V}2Jhw}Z>I=Q_Ndc$6GJMOmk;Jno67X5Y0QaT1{^--3ZdBHkrACDBDU zVs$x#7jEv>prkkXFke|OBO$M1eSvSmE4k%BpTMjOZa_45JXT|s#4~Jwn z-?VXl>+Tv=+a-ElYoRwcsHYF3T2h@&_ZL0(7qOXm#jHfmL**z%_U`d48Y=wEmV-!Q$q0sJ7R)SQouYBkaK?c`9_z?UeMSQ?OFgQ-OueGX)NESoQN8Ido#17INn@RO z(B-6%GDeHYv1A8wOahX>ucYG*D1A3pn>Uvblpg%#cz~C+o=z-j|5(p#JblN`8zC5o zbRCXWwu%Zb3Av!@ah>D^GXXFB`6M#_&G?%V^cZcp|1vXm(7)9`wmP8RBM)6&9}CV% zMY!%)4oO-=VAFV8jg)~~cMIxNAB-rpW#`Ec^T@a3$tJ~&XX}j+iKzAj5*DPR=TS0>>5i&=*grfxA@_v_*j%Leula;64EIL(V38KiL5esF#C2C8j12dd`kq3657>NE33HXGaJ>^Ql; zOgFhQ0l~;=SU2=!?xWPTw2cqc1r|V%;)lKQLe(!}Y~%u1;oIJdpp6pr%=iA+RtiD= z-PnR<+`SH}?%Zy}!@J4v8Rg?HCF!0NLwe$`l+r2FUw+2p5uil7otZgFIVB+~e>=d?G~KEpR5T6v&u;Bg z_RE35AZm9D5(7Tt<)9;_pP5E1BX?P#4NMXxeUm~zn+A;}T8O+2w*MDksQi|ZnIxv? z*|(mmZl4rgpDCIxG28K3qhYD!_!WO#qUUX9aRQAIukN5-%cZ0_cCgDIBX@|s%;(-m z=6iI$%Ptw#S@63nR3b>!2qr4 zSWA1SCt{JeUJ`h|)X-)4*48vi@-w*Fmiu6amtui@_l>LBkWrs#hhiMCKd>eqb9z}N zrUO0@klaiZ=YxMHse08W&Z3Ut@|o8h zZ!~;V54W>97>%rS3GPWdqpV#U)GpcJ;Ry}N>Ql|Lijo~^^s5{b9mV%;y?nI!?%790 z>h>BaKi>oT%YI0XOJ)Xr_0F@}?5_I;EPP?~54Wgf@OW>zE;G1l&`#juW~Kda0WQLK z2X@WvrjHpH4%zKhr(;9zDwblDYmk$0TNI%5jZXf8PY}KQ>jmZ|`8$@T75OujYZW$1 z%D(WU9d_B&tDg7S^faNwIXasq^dySZw^A&t$rx|3^f1qg`exE9Wa-xv5R-wP07s}+ zJJ*YaiA#HzX7m4niQ1>%Qy=jO?a`_SpQ4znH~0q0R(R{z{pia-3Dk+o7TYuZe!%4s z>w`pj3HBAuit|VvPiI=MjSwXq)`tclpRny}P8m*wpoz9Z&D@pMha}4+bLRfpYc3y_ z4Y&f8Ji5C`TPQgth=L1S$}fYMq$b9x(7gT8eiXEob4y?nYd7yCf1r3Ji1m8=PHy=n zkT>s;7?XQ9objvA^(V3PpRbB1v%4txoWYc>wusQM+(@{izgz+6SxH`X&8sVclqL{R zI#4Gv9*6P2tXOP?+j7?FWagD_!~>;q{&%I7bi3E43-i`p6W$U_s(C-N4vtBo`^wNG z&$p5?MJYq)tX1bCrfr)R5VXwt1nBVNEjD=2KFO4tmNedn>K#@FqtlJwmW49c?_{T~ zgjI3nR@Ik)4btn1ICE2;U@g;|GmGSL^;26Yk8$5ieuUxH0^)7dNv{0wZ@mTc>cJvv z8Myu>d_Sq2vHaICjJLgOC9$K#-mfk%rGQj}*z@ulwMIib1RTj5w~ZCP32PHg4@?Pm zfzYGj4n67FeJ%d+bVh2kKbD--=h@a}mzR|Vgmw#P1suw1_zYBJmCs695m0g_cJdqD z6p3OpfHKO z=o*}!LA2c1h^hum?qJEpEW|*_NDP>cbWdY3+6T_0V6Ac-Ocr_^<#FrQI+VPd#WUvw zI3|UcPIHl3*UyIE{Go`BIDS6Fsj0p7s&2Z0O`GrMsyvt_175ifntkh6Z2@cXHgOsJ zQ09Z4eLbxYX1`!_;F>0d`j8bWzTFul2#>$&ORtC0%gxW=SD(7H zCqe@<0)qzgryY4$iMrFK#sxr^t#{S_lq}n%(e8i)oOBjU6f6OcuKwfnnbcqq>v56` zt^UzJaRK|YSQIgvld^(ySg%jVVC_4|Ex2DDxWp4K8gE9sLbednnZ<*v4C>#jQ9Yxy zo@8oUZ|<b!-<+t1`l4XF+8OUYKXd4<;p$B)$R zCTAvbR{PtP;W$?^0_&jZk85Ntu^wE7OnnKx#}wWr6FZl<&_|mc>!NVej9P# z*eZcIXemLX$c|=KyV@$NPCrBV;q>FQ>4a%7vBn6R+6vY_zATNZb6z1!r}-6&*3R9- zccm1Lq5a6#Os)=zm{1R$R3($sGO8i}L@w%dJ~uAS%xP7I>FdibqL_JQy?EbL(EV&t z>q``AZ`KM;8588Mi2Npph1UeTmfZ9Zf}qCHMC!4icyKmyDNPg|`=#DqjtZ9kZ6Y(b zB3h^rl$n6OO0@(&m_G+A#Gw4)Bu3I<7XZRpo_7WpzZ#rnST2$-aN^C65; zR#lT-w+L9NS%^Nv}JmH zYhq0lbhcB^Q$p~QB{OB()FBy6IT7}F!q4T;Ua^W}d8JyW(tQ(`dv6n0_BWF8Z+(#| zHZBd5WMXZafwq|4C<0}oot1a|!}e{+o2|SCp`loFgO!n;dM#&|{8xie$z$!>__9%& zQF0)*c6gaqYw(xenq1@gB1d)HljqR=8{M%i7NrCT%msJlT;aC#e#67GW+4|s&{!-B z&@C9V=&SK+k`G<&Nzni0w)jw+P=4l*CdSlL2W|@8b`7{C02Eoq_{hRGX!2@ETvce% z)x=RR> z=ZhT}Avso6+|!sdF#drVY1$}7!p`80gaJ=DJN!rpC35QS!!QFj2EZ}Ne9BIOQs~)V z{+7k}J70&@@x%nLyPc9_q9O}QMo9M(xN<HMO+f z(M@R`d0h3_zJ-(1kP`>2W?HkaNCvgMmVByzKHamY0GNVGbA22eH>MveRg+i33_m@L z)j44UdrPO~d8JUh9wp^m_1_unTR)K;CuYUSDdW7xx;5jS){579g{#c1W8;FEbFvw# zRrmXw@`PqDpeFY!qotZ$oynZ%d3&#J*qdyZBv15XMI;&@4LtZTD@r{ za(Z61>ytxoKux?x4QH3f7)_`lNZB@Y)hMMQ+M5U0ot#Ay{L6r;-5i4#jjDlsMGNUushd1yUOF+?)Y`>R78z)z51x~1Z8Ap9U|`vF(IucM#5 zpx}kGk~HbhCQf`|*S*=h({Z zk#V!8|7Z^nQFFo?{;1f$B4OSjvd?ac+?m@%^}v(HH~sWhC#=Uvu=8Z4?j9sieB{A3 z&#?q!Ql;lDKImeCQuhf86m%@8udqTdC5ww?c-c$q=C4%UxZV1Po4bCmd+2ptbXv8s z%LFaR8Cibw>Em(YvHwg5Grgn9nD|CI;LAc1S`zh5Ma>}S+GWQxnR9^6vWS zmb-=G`7df5#egY&9n)8U#t*Emf~~m6lpk1%iQN-QDx_6zdK7fQ-FBmitovTmEE_-ycs-T~%{hQ;B*yMIL-=x%FL2>cAe7&$Q#Yb`# zOX>n$mOJ)W9#~;qbHm86rC{ANy>GC~{S4}yeZJyAlC64EZnIIsT$!m&Bi<=1MKa0UCxPDM zH>&?VK&>ymEiLRzz_mhZF9op;6O6SDjfz(4hP|1V5}uLKhCv*K_RpB#(hIX)RS}p$ zOGc-hym;s_N2*eN`4IoiyddKQaByq%CFr$w#92g1s+tLiA6X}9IzHEK`aS%PGf3v! z1J9f>yin@p>su$u-^3e^UMcB((H=o*T<;-nT+)smxd}lB8KdnxW{(~SfVU7MxZ9zT z4KpCmSrmkis%h*RES1DoP_yx3+VQPI=_|5Z@!+%1T4m10`RR>zce{sSnQBQ-B2g6- z6vWO>suhu{DW7wQN>qdR1LJo7Y6RxY=s?@pdK@z{suP_{2U_e%p&t^@4-(Up9eM&5 zayM=IGF?+TJFMtqGc^J!vE!@q`=jywzhY`f@7AqHTQ1i)@J3}gywp=@BIntLNSNJo z*mH#yml{$q`AZ7lv|DM>=2~Hs(~L-@Zs}029q~BU%$hVr_$C^DJF0Q4?@J@Cf=q{nX{RHua=ph!nmA6*4hgxBSfg>d)$<3>-=uqoRkFB9R&e^_e8n|K>aipJ zG9CxshWb{>`j4-oSH5vkG|cICkjXlC5`HxR{P}#n=EP;}aE8;edkw83@6v~vl(O6_ zjOS6wBv=l!9xFeROnW#}xG|TW#GiJVoW85IZDp>S#U(M62+j2B`)<9Lk}r(c*mIcX zqdgV6!-d4dk7lCz`W!$xZj1FpFR4H-uJTp&D7m~8h&FM`#|VjFDn#MBb|w=TKJf`z<)(P~P!A6urS zURGEMHC`e)7)ge%RRr(dSq$5-ch1}r^-0>ld~cw2MavfYE<+25b(|$Yca-!H1@Vo?EEYRFnoM^|=|0q~v$&Wk1?JiHgn7&hfaB zetu!CBgIy{9=i6uP*mkl!>F0%x$0WJo1d-sm6+X~F%atbi-@fh`nmZgMB|5HP(9Kv z-C~gI?$~^)Mh*gg;kVXR%ITstMrc|$th*1@RxD*|{$AsDt<=2DV5=GoG&4uArESG1 zujNor)z$~qDX?5UzhLSt)&=I4<;H6U6AbOCo#~!A;9s`+InW-XXz#}_;zF;+(kBe# zC)1Uo6BS?&OBHt&17b^@L0jCY2r^svA-Jc8RPH&)j!b`5>=5$|gihwDNoB*4qxLbV zUok|XxxAFkhp1j3!hLce3@RnLdH{U7L|1RHUtz` z^A5rBieH(Q$<%=3b>s5tDua;puH#zz{&}5{jit{d?fk+Km=z4<(Vn9II%_OVRIJvI zHr|>P;*2R%k7E6@ll=npJd~~#4FxT|ztwO>eGJTn^0j4@RXE*UwTg_z3nDNDt$ow? zg)biHxSWAc5l_zH&?-6GIUb+W9Veh_RpwTM(bUpf<2gNMXXbd5EYG{hZ)D{FGWY>) z!bsUNS|56Kq-`uw{EPVHn)P&23Yxy*{3;PuHm{iVFf5M62GnFU@$kN90-LWNV)#T_ z1k_`FDC3@ltlM^h2qWN#BrnS#O4_gIj0uXb4Y4$Li!CbM+tPsli5y)-p>#p{Q*8q$ zB^%zyZOw=MU_3=GI2NfMqOwg*h%IE&ZQ_8qP@Nlb2wv zo1W^mgS>Yzb@y@iJ`fL%BA(IwQKKxfizl|~gAx0D)N^wuUVK+0`>1*^gXU`nnMx*T z^E5_qunC`4Tqs^8Ef}4=$WlZo*cQ*Dc%Rc4a_o(xuj3aAHJ7pSB@f1?`Nf~vt{O2~ zFIi{R%6TCxdHK-9hk&dl3uezCwwIJO?D*o|SqC#5PdK!fT9ImcMyW_d+!5@B3f# zEtpF$6V6Z0UrHX&dkZ>C1a*#U?mzL@u0_CwCNpPa^$r=jN@f`5YLkDw`ltEG;lh z7z8YyNHZ)wlD$*X0REIoV7D4PM|qN>tOnO#7fn~yAj|+^)I-scku=Mq!v0npv?u9u zKfVVs>V}5^X2u#P@HvbPV#h+(S|}72cnKR`3H%PkHVD35@I zO=rvL4Hyyc4DPCL&E$sV?5vMnOs$nMVj(}Ke(_0F@NZrYlt5m>bR5eqx%T>lQLXZM z+N!5$=IpPIz<|)n58J{)s7v@Z@K$%a9aN^P(z_tNCSs)LU3QIv9E7asY8&Ryu3;}y z((2p&Tko7Dc~72SX9$1p2`)CWicxB)(zRIt)ys+=eS%+dAlI>?O)mSu)UD=x`)4EKy!X%&U8-!=&`AdZgJa2dh0>U~Mw zrPZ47>$Oim*eB{96MRus#!TXNkCU>3WJB@QxCy^v>}ZI?*!YrFen}?rBu=Z^$VR2) zaEG^6z+1rf8BGyXz0|Pk-%elkh6{j$!e$7ilOaP$^qIR)I87}(hnw<-p{hTUD$+fs z!H%|`0;XBDF$2n3e*5nFHD%!tlLqN){s|ML-x5(@Q;?&tx)`Ec0lX|ANu%f98e{j$aJn z{GrfnF^rP5Fx@Q8I*uYMf=s$}3T%qys&Du8BMv9R&CkVBp5nlF*R6vfpwK)1vvc58 z`O){9DCD0-=91pG&`J?h*eu`rF?sN^hkwR9&bk3qpvE!l3hjj-#Ol?9h#?~%sP1)9v1;zHJ37Sa_ zL88OJ>d}%7V=F@U^uEx0eST>7wXJ6g;Vm?g#hQ|?DSgTBEb)RLhQJT(Q7;zd4i!=C z&fS}|7dcFnJx{Lj6dnQw+O?!~y9WWcR?mKssz3Wfv+ITDfF1dd zP*E-742v6BVwof2m)MnLb4%U;B=v!nE(RAP00Isk#?|;1fUdqI{t!9~03dMG zdo>RLIAwwlYBJFffaMB5zX34(+Mpdp8UqO3)R#)V3G0ML5ax(Zkjc8~54xCF)b%&Di(4+HK=S|(Zl zk+%s32#%ev*|3(LeaA)yxsoi>CQwS2o(|{O6bin&Go!N1z5wi2FAVzxo9RE`5VQ=w z&3sS01Ar(PIBh))i{Lf+%u=5R@V{uAWHYT8x)<{+2yk0yuArJ3SI%bQxNEy4Me$+h zUD2GL0c2NR`~uJ_yo)~s$Q7H_Hh^ey0Au%Q-x<>DK0~&1S+9oj0HT5;RynFeZve^0 z`=(b405&7IE>+X=G5QaHP=eZ9c!mQ_cl!am^U#BBtUQj-6^Yd^jo?aFP^sDr&>8@W zmVRM3Eli_|Fr&ne0&wbKodBl*-}(R(zx z4=*#7w6_4p3QBSZuJ}AwfGrmbdz%UrDI1Fry)Y)XHOQpNjc)*QwdauX2dtOTHEmLn zo^DHv0Nlsq)P7ivLc|4)w{RvW+aOUA+9U3O^5W2&H@q&B%>xbD_-dH92#^RiaP@xB z;M%8O76AYVn8o$^#dX})1;C36N;oE3-SZp-ylU+Me&+X0s;Xnlj=opGxKgjI1c?CX z8SuyT)d3`LWy8RR{1=?cwh|#aV7-WQAkb@NfO3{i*u4ujEdYvW>Wu7o5a8UiyqBK$ z0Ni6VbS5EWA%lQZjo?=2>o+&vU&Wr)L!mx!WK@2mit-&7s@_y2i{kG9W&*5ROSbb! z*9yPuH>CpPAGAS+W0Qk-MU?w-E5QIYX+b=H-!IAydHB_a;Z;Cg;050)Iw&D;ybB;r z)E)(YV7sdsE!O}5l)RVGHTwWKC5J1oERGP7u*|$yx*i%H2T(ct?-T~_;ve9Ld5Gg@ zrM#Uy_;oK`z4TxA>(?(`F~SD;-^KXd^2Ygi<1zSvOS+e?-17GF_OtSN=#05^#TXNW zb;cmfjQ)4AwckU$zpJ+&j@8B$Q><42#*bC$mbEd)+1rIx|278e<{ofK?<&h|73dTY z;=?M0;2yfMZr1;uxo6?zfpHGFbj23y65xJGP5Zy9-ofDASQ$NCjjKABZrtGi-yQyU z^4~9jb5K)=DS(X)0AOQ%0RK({ZUMMCxwyGFxw*Nxd3d;a`Ooq5^YQVEoH={?oVdvO z^Wq|6Vv^Fpza*tDUl0?!q;l!9yn>RllEh!&t6;^eKt(0R|7wJdhlhusmtUBlUszF6 zOj7ax`uev8Ajr!R#cjyJCJSH}WaAKI`?n2n0RZ4&`|s=js2;GfbFli$!^^TdoddA5 zv2${8aPkSTI?c(>0bp4LIfZ1@xNcf<3qRx$k@Xc5SAX_4uWEQfRL2Nmjqwjm%FeB* z z0jF72*#$WS0e=Jjd2@YBsoiJhMgp`h!}Ko!({#(iS8Xt(45_I{U4M#xGw+v)Bdm9R z1Z>Xfn~G0s1ljJ;&7LoxWqW>jHaaabHo;*h(PRdz@kDIa>}U?rf-wYgw2B6^G$D_wgu-~934KBMT8@fqJNIA zy?>4a{*7=v{$0U*GVAn{{1|wH&nT1ctH&*2$1L?6f)(0SJGkbEQSVM`UTwOgZxXTj z(*3G+a?#MtS}2Y{tj00ByRz)HXg@N%`I~Pv!P9&i;paO-)_TqE zW6RP{gwLYR$3n>pkD5a$LqACuP5Hz74NSsf*Ycb5i6cLSe+qujs=fM{BDm>=rd||; zin8Q8V+uB5J%mWqzkw_bSkwMS6R zarsz8Q?5^jSF*Z!sRILx9W7oKU?^Af6_k+V=f0`F1{ z|MvRU>Z8BiR~LPsU}7mNbrU5r>6*&Ljypu+{&=54Qv&F{6e?5kfs&q60eQ|M`C$0( zA>E2M$~R)ie95jE)9$hA+(mr`%0J<@l2tNByeh5%a}h5rs4OC)@RIs?I8=8pDf}^f z!vNz*C=^x9XI9rDgZ>3P+Yg}ajJ+yc|C%Bkw^%V}sT(9N9rG#VrBKPLO{N4q1B>yC z&u}QSG#FWO-c0?}OscCrseXENwp0J+b;PEEl=be|+NbqI<)L_Nb@P+=_iB8O-pzlz zV0Mz+^zdLOi^B^aU-mP^Ei+u{mv_zmGyixj%&!lz;tcePLhgMPSy}k$CXVxVxBM3{ z`?p}*q8h37g4wx~#^iqxA<*#hNn@c@%IPuX)OC4^K_?(3=bEa8LJh!gQNYUR>GH_+!@B z?IHhgPWZs_{mkU+qbI(zFUl;0O|`K4?Y}`EvrKRQDf-EqA{mu8Q!s+t^EK-j`DL#A z{) zrhd5)%CIP!EY(Z=TK8B~CD2P=Qcqf36wZ)V+{V-O`4N?2nwhq`cfYy8i2r^1FejzyB%@)BN;Q zd-t!%)PKJGPx9;W(~$UoeA}KDny*~ASK_FSZM}Z$+}D9YO4+ZMMgI(JzOQ=!&-Tzs za$}B9r_S7iy7)_s(HU%Ys!rba&R_0NHJyGh_Iciyuqz>qsA!FxQ1)-=BC&`Y@Ph;{V(gS zaonE)aBUOityT30W)8wR{?uF*PXfI zKbnga9i5B%RrIz^b)7|4RM};a$*e^eJFa%uy8o2E0KN{xYkb0fUGE#AARiSd!XZ=b z`cu`%Z0pZHvm9#AeyzK`P?xBGD(Vv?uh^C<=@UFXjBlG*yr6M5>IF!!&BwZYZJ1jq5V=OcDK5JIjPEsz0)*O}}<4gw83ulKSUMqAkn#W*DXviVQquOF4cz{w@zp!6yNcI*c|9i_R zecfCC0(cQe{{pOZ`}>7|KQy2JbLVU>fIZ?rM*9ETL0ZB76R2+UFq4Z-V>2!Sf({=sji?;qK&w2lOTrl8rKQ)y)g8I!CU*U!vohr{nx51n=5Gbr?_H@V>ixnX36>$B6Qb9_8_w~$wS*Cf<9c&ndqHXSlE2! z{zOl1GA4d8OjcDD^z)=C18_F+B+*eR?)BNP?;2eezFjbo827b6=8A0|zxpy`#n+)5 zuHtsKsA!OMv~ZkXuld*;OTQV{GPu|XdOb{mW+@2V?^V+r>9TYQdcJn$pMd71$=^eZ z*JXn2YQ>-D{A_r-Al%suX_{dvG`}u;IhFdUKi|sgoAAE?iP-JUU;B?s{u!b^`gE~k zS?zo9^!(xaA8WwbHzyyK+ICgWh}rqxo6(X8C`76~&CL4Sy>QWUyrAOzwik1c){y`FP*y0X81 z-0(Z-o?F$0r+vKxoAJhdPZ)oBzi9u;@(XQUP#ll_2KTsMF!TGDpm}shQuHg{?>UYL ztNlHf;M3@en)2%Y`(5*+cQLPr7n*Gg0FUaLhQ44CN!dE6{BC9Nlc3kyS&5-l_e>a} z%#%>H&@^L%4>zoy?LIcW{K~1=iK1r}&1XT69I~UnT_64oZPK9Q4Q6jEPlkLpFU9`M zq& zO09(C(I8w`GxX51HfD@@=8El0bG{cX4}KrTI0F?2vy~a6V9^k`e^rkNwFowwm+~PD z5c2a*AnMUIp+%q8FKU6VYeje4j@~BIutsn-Kb-s~(O`f_fSDz`zVq8u|5?cup3mb6 zlA?1Utw;60ULq2WbMiK-Ge`{$sHyK}d8o%I(>B~kxB(%-&j_`hH+W|yU&wT~1>eHtx%yoGrKvU)Q)i3n z4COMe)?JTB6cug|N=sB}4yFA^%5}&THtWu!Y0#(tM{B#kAn}Xm&lW!M{_I=aueM*l z$GD)s4-A_=D&tsn8YTE*DMg-Xdzsb$0$Q3S2U#8EU~c_AbQZUmGL>F!oSrCVUr8;}O+PC;olUD7Qn-R+r; z_wWBZ=lPuH#q;WUvuD;^GqbL>)?DAK)?P!Sn!Q?O6gT6O{bBI`xGf@_YN1PfB7(Tm zkt=c9T#TP9uP zfxj~?m%mR}q9wGT!}$5+J3bqn@clRn#^|Dosp65X1+|UFhvA*daFj>w4%+yeM&`i* zL_HgMn?4uBOj{KUb0A%r?d@xE9dVk1+{rlT|1%w@RbB3R9I9#-AC2!pbpG~yW7nee zhQ9oD5^HxaMtj{F2VV(zA05wfB&nlx7insHRkAR<#6FJO4L7~!v2OV zmFjeJ@7Il7On>|H5PM>{@_3BgA0#vb)EyEMUJO2djZ%_ovtlCq7-3=i^lu~Uo(8dA z=JsVrX`=q)TCee#Mw+rSE9DzwG`x0DMLiDKUFaZ0W~ zELwcLmTLKNbNt2GEvx-{&Z6wgW9)qN7cF?X`5JkuW2?SmRR(+8XE~u!f)6IGx1kPL6L}}R zr5^|~eeRe(1uxcYoZ}lPS|w>USSIss0A>-%9CRc;G-exWbC1-kaB%K z#;6F-d7>IS2S=^(F%BC^qk=U2wy)2ETGl;}JZkqL{DU<9tk#&MyzOV{V-?ujHP{;g zWwv@f{MtJA^qYo-n1t&nzqCM)RlbSX8Dfc!qJ=;(g79Sh%4T&>^vbn`hV6pXi=W#+ z(gMx`w;NG^*K;V`V!jkF5bLD4$U5{2R@eU!omrUp zAndD?-zL-MoAdXzJ?Z>2=&vo^vLas<@QuVQ6UC3ErYIF9pCwzuNaQ2mEWe=;vg5($ zU@nWa=){|l>Clq&ppL3IWJey?D=mpD{vkS*sC-k|+v&*Y(Wmfxyf7d_c6uwELQYUe zrh~rJ^WKf3j+G;50h$==Y7>PEkkZ&G2 z{f74W`r-{I~;z9d^beXQ;*~IzjZJnJUd3bAQ3v4AfPv5nin@NA7A{3VF zuWoM9*<)Zl@_#cafkX8NsUuF<`XuYZAW%Jx9K*j@&M8k7M!`40I>16bs&JeC-yXPF z?Qb40wRq(`f#P{TNz%)CW=a2ztkCSkm5`J^`;P;nd8U9!6c&EDNCATEay5Aw0bjG3 zQ7#tic?}V+8Qjh-qw<4Jql2<`Bg#?LV)}l|3ixitA0(-ttHv!;-aas_n*{$qNHg>Y z?7k;*3u6geqHl`Z&rz^;u&fyl;E7hw?E({rw>|*Z_&LC%P>9;F+v(*hO9>f#PUK+bXwwsxJo6SC-rYDdhd#z_zYU+y#c$WJ z5q4NQ6uo)EZ77W&@}+6YD%O828NMACZ*pvP6@}7%ZcAcrRz9l~kA@Nu)>Zd2oWx;Q zYvt4aDV3%+SW9VQ(M1>my=@qY(}+iJEPNh8r{JB>u_`@U8K1@m~txI3q z0vA{1QuG}kRrZYMr^s{kX2~gBJ<-$^YV_4t%~EXeVuey{lu8Q3u_h=+AAi|1H;Y|$ z1p5)K`>x!0lRuoAe#3Y$O#&%0ojrALim|seKX$lnRCQMFAd`O7Ba?9SY4yfPsqAQ}624_4FL8&gpkOh1h;i+~QRPUBZ=49B zKJs^uQge3wWg>x-=lBaZ--IgcIJ~x`E^jKVbmkYNKP_uAlRs(g!Vk@n9R1PSG`4C} zH6q({u6y!b;_UX~M)vsD`}YPskT#IgHA}3BQ7-(dA(Zuk#$@~2X7p@O8b~$K|E~`3 z@{&O>v%%>T1BO>Se03U!y@WTP65y`|H!jSteCr&?kGg<6uG$L}il3l!Yk9An=B3k* zH@+kKP|@XYi`y;d(p9tWVfIR#nv86h&o$z{Ihp574`7LKw~mttn~LMh6%D(;>8ozfrnPulaOJW55|)?JLod^-!Z zM3GChj0F-8*BHURiK~MoPT_Q3iW3Ld!bnIWYMY`0he7QNkRJz_*sT_7?b0Ypn&D=& zR{I&zyzy*1bHz)g5qUj-kgyZX_q_xI4y?HHRk}tasZhf{Raw=89cynY8VpbZZY!%a z1^9g62ibF z-JD*yXL$g@{b8DypaAxkU***IT|W=LF~AkZuvno|Bdb^N#U@<66-~JzcR)h<;a%gp zG19IY$9TM?4yz4cPWCwxF{p9~e1^?9t5c;3BOtIFqhHc+r;b0fR3JjaPkXwbVX$i%Bm90Id!h>0Xqd}+^OoUysTrJ57AG)A+# z4>eaUJ=Q&qDpi|k-S6Wed?uv$xK7CtzMP)*?O6Yyu}!U??r}bUFW2_BiK3l$$GR<3 z=n9$RZQ&}%kwc65dQKqUx`^72qbOg1VeIRFlD^zKO4mEmSMiPEYiS+2uprZb3elk@ z5HIrWj;Q(9k>Uqu1;^QgFxnUislJx*qi<|dyS%@=hwkm)_?Ncs4|NqilzV;t(C(j% zRyDUgx;e>ym6l1fH!QZo<5hgmg)6rwECr>-a_olptvnQH+|dazHMitSD4WaoXwWAr z8ec_}%=Dk;Z7d4g9OtcRMsj~#(o5Z;L+Vry=Nq>=9}oN?dQg{k>zvA~B-k%IT! z@4e;?Zs2hIvmiqYrKwF-f6|8R=#l#Z(&wjiMGJeoSg9)ua1r90SllZYtjz!2|Gk%{ zY~^q*P58rlsZKnzoLkqBPQ9vtb*DOQG~8r`?pgNs_S^+o@%WCnWE%0|TBKdVSpM~d z-+tuKpx=rE`x1zU23{7c<|r^9#4)rMKdACIoqZn;7d5t&OMVTf+ zaa4!qj?<4P$27(?x`k<|##o!Bb8UNv!XOP$TkHA7RiZuWZ(sw{R3t|^2KwxnVVdrX zfob1Gg9r=XD{^ppsIxTZs<(2=PL7Q4hhqAc{SxwY-Ji&tAClzQ9Tlf~raT%AZjtNA z6ApICJ7_xjS}?QFUF(9dvqJJ>(UJpXbTF=d{nj3Gxk^rp7^yUTYFp~)OjYJ1U9VR_JxbAbNZ$96Q5Lh(UTsw$;F)Zx`8RHAtA)Pu zQ+x^MX>={B3KbdsAIFw+L}-2le0PDb^i-~;?E6KO9b1zD$>sg@xbrc;@bf27?Mh`r z7mzOzrIpE!!V(nObEm@`93_X&GQD$n60JwkPKWnRR;qK-mk~-Y&&@iRBd8-(9;sR@ zU#ENhjWUK#P~>+{Tjhzb?H{Bj-)EP|r}I}`2Q6QGUPY@9IalsBg$s(lIi0)e0d0!* zjK>FfIdUyX0dlJ9P`VIRMUOn>BVBbALjNCzR5!$x5iO1?xt0P#CzX?Rr12ZRwE|3)If4?F>H5;}-A^Un);_R}K4QdGZH| z;9VhnVqQ7o2KgwBt+o7`0B^lx-yv8kvVFhu78{94aoerj4G=WnnwEL{JDT?zg2s-ZZMhp@0GfME-d~#4Um8c*2wlk7u7|D2;HY=i z?U9%D21-r(yl;dz@{vT4kw>c1@1?3MQTfx6tHFcPFM6VkNi@FsAS!!d@Z!3kB3l{1 zV9tv*!F-Esdha4(#o&c-^}-QvXYx?wi%Fl`q-iw{HkS*|TG*6XYWUYw4u!bAoTAmLMi3-YOhpf0ZvsoBC z%-X+R$S7s-edoh@jItAVmIwM>pGa6yA51S0Rr8&Naldm5c0A^QXniG#~ONMMSOLtu)t+sTD@ z&FshGGsJ&8rr*!x#__oE4VxzXzTqWuc(q`oaXo$zl_?6!2~c|B2SL+B!8xKb7P&;o zJ-u^9Ykk}U;|SZF^rz2&)p8Dz*d!A48=?c%A#?dlEP85!9txN;NsEt|z9+Xn=* zyYDIgAV~rWN(CEY9>=9s^sGG$z^h2m|4WBSj;OygkRgjNoh8(7hush!r_Yjgw+#Er z-gE^SnzGG95Vyk{_qzqS+%w_mKS&7P{HDk+*)~P%_7B78@2V0idto}2RN#A$3 z?8h%JB(CnBD@%w)Gq29_1sR(3(na&$4DOymr%3R(a-S2he$pQg^RPwyJa3l0TiTvG z5od)f z?@sL9awdnCeiKEA#f5Cyf2m)tOm8-UFc8+5Bi1(Z(OQTj_wvd6>)1P?6hG~|8a_z> z!e+DZ?M|j5DJ`0rG+KIuSQG41jzw+u5Y6{?QqK^Qb-j~mBcxvHvfrSWo_S?{vjHZ? zvc>v4k_EMWB6Msw?U{1rvAr!;(;p#Znk@UYfz-G&K*9T>7 z2erMKPOSlfVI%)y7}|{T-W>{6iop$V3+9A)(#<#Zr_((F0wK?+{iWpu7@bEbtp|;6 z1N6~Aw0(GQb#n)qTxCTm)_|)SJrn>iDhfwv;et8S@RU@I3PY#Mj)+uP3;{D zzyBA7Im=8*uCLO_f!-3XzD0mG3czB3)5u3c8PKNdt30az3yC=c>U^~8^nCkxad!@+f4lgYLz($6 z&XlA`({ulyysM*O`gjlgf22Ty|K~)d|0<7v@6s!V7yok3^!KKIxB)uk4!iU5z9?g- zyCV3LJIn$Zb)Xx3rbRt(!2;|bllmW`bdB#kK;`@2Dw~hJ5TKnO2Th|=tM6{BJa%1W z_vHdejy1z_SCYfB2@u+!cUnLW)B!PFgq8=rrn=j;};to_5>`yr_-AH(#Ply7gKHaK>50%KP%($on@? zB#^@(-)lB-=5w@+0!oi!{Xa-FcXT#-(f1eS_}?cL}B;;zu2dxt_I3FaFjgA+&Yh^a*l`djh<-}P;rWON9? zBA2f`CO7|mQF{z9_sG$^qWwlKQZz_aQ+qeTnVa7|8m4AzX=;|@H5lFZeV)Xw8P_qP z%A2^?e|Uh=c;3KZ$FHjeZYWB1vjl3*3#b?5dm<8Mw};DuU4M{ZK9N4i(jeV)*}HYQ zU_&N+dam3JL?X^-%8}VsL10;LPFEOGUOcB7JnIb=4bu3{qJ~QA7I> z(!A@z@w4W^+f#7KL6v`yz9IPkp*PDq+y?fwybwezq2^QXv%3q>|JyGe#ZfN`zj)yn zg80qnl?Y;R%=MR{D@Y}*8r z)?m#KhI>Cf{c&|i!zdD#{?EYqtGE9SB>$EUmcoy0RdIv`MFv*b?zgh$Q?P`>X0Yy- z(0>0TRgZ6AB~Z0lo_crHkk5nliv91IMR3%0awRXN4DNa9mm(hKmB`f$+MYR3AUA)f zNl%B{diy8FX`IH80l4nITTcI;9%U8Pmj|I_(hCe?_4l{C{=?tGdqcK0z&tpOH{t?C z?n#z!)c$t@?;XFpb$Gn+OLE5K_v}%G zg@13RsWBg=WeHY+%UjjVzu&BJr8sp-1-ULxG9nkbqMb7cPR2P z+g%ukDYd{ZuFAm*08Be^U5O-Ytz#&k*8)ar%0-U|$LAsG2lm*1kZg^7*Sy9jQ`kbr zcVQ7CgE?OBK`w>Ik^J;0-K}|g*Og+c0}Ly8naRP9LO+g#TP`O1e4d6eL=yaWF|F(K zAbE{wj|lHgU`tQ;Pa&o3KFM5dJ_%1DfA);Y@dlM_!TXZbX49xdZpKwr&ztlEISGFh zIFhgsrW$T7li0Dx1oK!XpZOU9kat8%qQd#jAbiN)-_D|MmY9LqMP8BBA^U*Ki z_0h9DY@QtZIXtvxvHE6x-UHF}xYK zvhE3=7m9J&=RzX-u~HIewXesGwj=iHHMTR7-PaL@RC#-o5w1XKckV|UoK8l;D^FTn z9sVGpG_{bPwO}7yiJ$7TtbT14?I(FJs07_V8MkQpiYa@^5vJ%a4_zpj@lNkQEv-$o z8yYTPOij)bCtJ=!f9=>0=W&-U*)h{86e;;BD&irNCj}{77OI0XLjE6K-l~3d-DKKrq(8<_lv8 z3$8eSW{Mk9XqH$dA5s|%Q`A;_hBI6pVo}bZkWAazkD8?p?a0*Tu}Fc0$eApIJ`$7V z%%ij+7E>8qRx}J@Vix0>+AKMol4gHEz|=wa_>J)LJAkDa27WW?oJE+K?WLOeWBXaXb=39DV$mce>%K?f(n- zKbtoVG|LP(4Ww$BP^nC5n5s@cHuD?qQ^^9>XEsc*JwoLIHe%%hH@IDp`dcTyG>!*N zHt#sLp>voMf@u65>(LuM9#yB3Qw$BH7oW|fQDC**f)~O?fjzu}ur~JAuY>tlQxOIA zGpPy0oPOWZ#o{b)3Tek@cNN_E-he90oAl`lC8qj`M9*y}#u#5C?br>)oLbk1^GUjB zl2xw6{4>-K399MFtlZYj9z0`!<{DLzb`Z?)YlXiKRh7uGc8ZRPmNPTMuYi;X`aa!5 zmA6az!haOxL0>CZrblwKcoY+6>+r2lw`YL9=8UutuQQvzW`a20u;5L+J>Fpi zrJdkM9n4?+PcA=OOqMA2IF(!InA9j4n&SmdmUK>Iiz`NMf3B0vC5XIGAr44{>gZ%w z$;5Z7qPK?e^w>sja53W4X=dml6)|B{=!OOvaxu5|z2*rpG$VM+*cCN{e~q)^J869l zi_&0UIc+ug!OD9R3IKDSJejx`u5Tqtt!wBshWT?$oEv8aSMvS}vS55tJ~{ui#cG$D zx8-f_AEY&J6T?NX1sjT3Y(HOH)Y6Y#x8}oF6}*A@3qtX_#a^q}FY2de#qUlAS^qXd>So zX(}{qNNq2ZdwIb?xLpB993|-CiUV~Octbao zBmcc`tx*?FL+?Q<7p*syx?}51kN3s?vnOi3TZPJ44z5B5bYL|*n=2GVBVw7JLIa~S zgGV?y#wjFnaAF`*ww53aqAE!(udNtl6axXcq!hEO83pooH?f|mslK7Oj(x`P0@2NB%w9XF8ae{fUBmQ zaG~6Ih#1`TvnPfP0S&b4pF=90hhdfq6&{b2k*yyF0C?Dk4Cn}U zNqDtOsCtC6f0Z31$Oim4BsZ%W2jR6;M>uJq3w9%Kowc*K+;eLO<5Q9Dv! zE~!R(@q18LbwAHHk}!s+Q~o5ARyXZIPMo8id|S4cBp0Nv6N}!LK=a~t47pnZyIx>X zXb#Z{d8TBj%##N6ZduIsM{nysJgL+De7{66hT#4#ri3Q*Lo@Wg6eRpaD>qIeh&kp# zQZ~n{=7T^t#ZTWYQ$NL0w#oQO(sFf6(n{)e%CS&OKF+3&)~1vzz@U5`trh%r%*0%5 z5Bt$aXR>|HP?qY}HU6MP6%TzxZ(ztKxrdkc8_7079i-QlOz33r%ew zb0_~@0~#kspHN43O;Ql7i>Ia%poncEXX30@0Kp6&tj~@qRNm?rbEo_LoYLn!vM=bU zx_6v!pE#CoziC!XtN(S{azWSGQm%f%4{19RGhL;8E|Y`oF>D`Q_54Ob$zH-}^;HX% zjH);0hT(*`g^J9&KuNS;OezMCh;^+?#YK4Wt%^_2=|Mm}nTAE(vlT9jR_?2ikytAw z;!#Cg>r&*=Q+NExApF4G>@kU^7K{D*-~08OmK}X`EL%*J%(lfvkMt%$qVd;R9Ecl8}I+O>Y#Y zuhrlhZ2Nsnj!nYn6(6x(op)4oL0FaJ&$^I8ge1fc7X(ST7AUj)<93IS!;p%E6Z@F$l@g3fSUk}x$jqml&q5b1G;CBD%nDY)K47& z0njkKXju#iEm@iDP?;QDP9|9yHx>y{VNv788DXG=D(oU`Fd7gMPU^9ILPH-9j4yz4o!CzWaLG%A#(!Ub1XwPT1^S>*yD)7h$CfCsDS*|YzeQ_n(8p<0R+ zfvUR*4B;s=eHLo`Z-d<1W#-%qiDkWx=Z-Y(8vtHrp>6aPDZsud?syKzq#dAi1VBhE zv1|uA*5b9%!xU#_5lxtsfAOt{!7qfBc9+tTyFS?&z+odW!K7prNMs#(0sIyB{H@Wn zkC{L_+7ocyu}xWWo;wn#*<`}4Xp)VgO0*YV$RIAe!ul&uM1?PvpYSE02cctiKU7^n zR|wU?8x71m$&q5>O=RMYX8PQM*=kchLwIx_V5}grRO;v!>*fgybl``v((iVw)cPJ5cs~in?{>nC-OwgXLhbHf+aR#13UeYba$?VaAQ<=& z>}IV82j8FD`@FhLM>(P+HKD>!Jj>caQ~Dehe1Al{616*;W7uqsPV^p!Tzt{unv7%bZ&N=|L&M?vo{_0W`aQcd zTXLupC$Qd+J>J0?Pe=DhQsO%La+q}@t0_#YgQmKVn~J2hPn%^J0En4!J$=pG5^Kii z4uYoTzR4=IFQhYAGFm~f`+dwEFwO_U5=;SbBHfe^80ET16tfx+o(!^}RqWy75*+JmbSpEic}9_%=cnn30sjs~@?<-|X(& z#9_B#TYCpL3cL@@1Q3M%BPWTlgUn1Vf!8LB7o8NB4bTEn>G>)Lpab}AM!;3Ot3@Yu zX9H(Y8+di*G}*vL0`6DRY*jx%97*hK#SVn!0MJBU-BX;Q_)}}=e~X+TBh6m=isVUV z7GmI_*<=_^mje$BSWZ=U*dfl~j?NLY?7|m=01-eLpoCj-06Rt=KtV-32ZJ8~gugZp zFmM1m$P?2bux74Z=}{IX3;>4!$-~b-{|Z0A8ND7Qa~xfzy!*Ns05okf|3l^shIwHo zAX*hhlK_wud{01DiBU_ZujX~2`Tp})uD}UFZvBHr;HS-O$+xKKesbV;fcDJBTP?OP zT219@7}+KRRI_DBX;Ei+S84Nc4wzOSvj7s;KnJ$bdJVaB=>1+!YKh?wrKwh+H8N7H z()74+xpd4W*Gbt~XYgNRkf1uSw7Qz7#>|-2zXWb&yW%sh5IArZnI1;iFcHAb4K+u8 z7+NZ96R>;%(yyrwg7Pd3X)2mSXuvdMf@r!CK;b{26O3qR2(0EV+YW&KC`4(pk9!Ue zfVRCD+Njtd)_7^DfTQ4vU6T4>n>p9>!E)GJ9fs7;$r~2;hvU*;aN)89-%tGXRQKK& zTodTy{FIMc;`BHiP|dN2!Ni{0xDpk?;xt#? zZf%XG8>wokfo2v3WxG4w2@mDDCiRkk?W1SH&GW6S4Z$O3Pc{V%rX~`;Ei3;=?^Am@ zBudr)!4`q3rrUiR0>TFFM)*nWi zFW!7=ZM`?ijO0mLdMkU-vdw*~BwcRYv-9p2)$#5~vh7Hm-&6jWFj#kT+{Kf%HbnSn z%gaY?d+$BzmRI|hN16tVyH99M9NIXa^>yNTB;%_XM>`h5+_Wy}0dtVv39}{bSy_3E zY|$W-yVX^435^c5;lk@4(yXK@GAwU9<2OmhO2$3B5*Obl9iI&6Znjp-{Mf^%jXeuD z4@psJTFBaUof-3t{;J{WV{B5~mRan{&og7&SaXpiuvb8+CmW+s{!|NIxuxuJ8M7=d z^_940?nr#Ew0`jIIH3)}#vUsj6&_pxT9e!1fP@x-L6I%_*aC-vQrkaFMwTEtB<@4B z?0v~>Gt;lsp)!_updnMHDll3WL{~rqQ2Xt@uc2Wo5JVSMgaFGDC27;(K;>kz!~4Fz zmQ!J&$Tn-wk7AI;H=@a)m~6ys9T_&9%no`RABNd6>GrU)Y+L_TnY`qu&UiFrXTgUN z98vU&eTa}s6g@9H97IfrU)D#yf?Gp5@ZH%hQl8bJerGmmZM9hV$KC#m-q5_XOYYy;u{bmwAH*FCF?8P4xX zHiW8z@Jp2yhioA6gXM^1nk*Ft1(*s8BxblS-ZB>05mOS&Ry4Fkb+MnvGqv)e*_v)h z^|q+(L3qF)*OcH=46_OB7pLrghcm?zhu5yykvL9Sg7JAWWhmeFbL+CHKLvVxKL;^Y zUCC?omyYAkOn?Pqc>$-wn0@v!6|j9lK|e;ERq#{4xVD`FM=4dKzFnN%RCNk ziCIH5MuOL`?(x4m3`gSl0uQ|ZBTm=t1rpb1Eu`+Jp=I}Y@I%WqwP{<+-N;mo5sxTP z#gwB=bAleYbdf5nJl({yrtI)Gh8mS$1ZwCR(1m|Y2oN6W0@XvsFowWaa2IzQ?}ZPu zYN-+&siYGh#@X)MF$_Z81m2e-y>5E647(6#7@rgIdo5eWLcX{J4cl) z!RHYcDqI#-RUjSOQnYUv?ivvGb2WChUif4jP7DJ@wnRnQ2xAAelr0a?l!6bcCfz`H z;wn?pFgW+ql<2qRnd0!*vxC4+&X0JZYG(??Q-q>Gs|MEirJ++Va+H>1oDHFPm~k?7 zBlY>6TB*`>ZmQYtQla%t;FvHPBj~`wFfjXZ{vZ zGUuwJK~@P=fL3IJtfJ>sBxy2RLOIY7dzv>>8` zAB25I3Oq1W_i0zBSK&f=2Cj?T^50V;N))nyRBRqYauyYPt9w3sPfg6m%|@(E5V~;8vv&S6dSp%FdM@#yFw3VJ;<_h1EMjFY&`9PKDeVFr*hFL5+pHzyw5Q#R2*f0F~e2@2s$c3bW(gKNI8K@2%?hxe^lZ!@KnWR>at+HD);HD zJ^|cOD0)e)EiO|P>CA%juQ4r4IRa)f8|k5p0VQ$Lo$mf@X3Bt<35;!`BstJMFq0UR zD!^aIspO{sj(8}IDGO(P%-@_zJVjCuFd>t*@J+0eW_tkn0|PJKTkQ`&J7{BgvC$QJ zfHNOHdxE(?rogGXAxpuZ?F=vEa58cg#Ln}vn?IrAA8+A|u92@#8joL5BIU?$NNNZx z@T+HTUuWrjI<2Osu*zlD!^tlo^}Lp5D6prVxxeVTz4T!8)khV^9-p0 z00V&Rn+zrMz?nadBx$PibdyfmG6a0;yqScd)iVV6FT0rFesl+sgo>0^ve&@e_sW27 zzysnifUpLN=h180fgA{WkYtcyT^`TNU*4Eu4+DQquY+ku-ckq z7ExliZIv`?!i3TJ^GTw+x#XwzS+(>=v2GX8ALL(tJw(o;KSV$WRwHlOHZR@}HF7um zw=yZAMg?(mS=JbmAkzF$AxB~ACG<;Az2&Fe(AUEixvIH}9qg~fUrB8xj-l3DMoM;j zVvKW)a|*`8;15Bpn=$>PV;%x);05P+1sH?#WHO%nf%XW?-o?;pQ@QsLQF9 zav>fbOw>xuoZ}xdmu591PRy=Va$!9nnM$l=ud0>L4{^orchqfEox?0(&3ta7m|&&j z^{YOSAGNztb!J`66?@>9d~|W{x;W^mtQ@*(1Vg)IgG60OPhM^S<<`r|8lcUxJ09G%m?-1pjM! zS6Ab;5s|JQqgy<-@5;a>C(F|yN?@g2k!J|nI`@KP@%6}U2{LJJ@t13Eix5|<`lL@6 zYpoga&CdNKi-`)a_PuwOj=F1Gzv5Qom~MI=<`0d{Vo|GKe%-mu7oZzjl=EPFda60> z*7sUJ&ywM*a9o#KISR5#>MaJ=6emvP1js$|^rx2887gj^U~dlranvW8%25xgf5qm`4ruf2X&;WqnNA7pss~XF*WO# z%^yS z6MzFH<$EUF^*r^5XcVJ!L2i2BYm&e==0hE21=!%YkDezDT-(2qN*8wpZ-lM;i_p!@ zU3@q2$U3MIl07w>e~y=5-lrHPJYuw)w9!DhEB$=(sIf+5GcC$-k<5Nk->`h`OhIpI z^P-VvY2hU#q+UGyT#z}>_ zb1baP?TxZF_+{-!uc!CS2I=U=yJp)(?x1~=(fGs0ydm#iVFTWM%$4sja6C>3jyK+U z4}NG&zt^W1#jRpETRFN*{sQpejBDJttLe^sqE38Fp4{x0>@=_8)HQofmf6}Iz|6G4 zUj`Z+7e!XSpQz&>GZ>PK3yrTf<-D-^xOGvuL1uG_X<5Gd^&ul&ZrNalJo+VWvW;hG z)JM6HO<;_uws{b*m2@TML-RezLfg*qXK@o7$(+8ZW-Y#Z5_r>5DI3G0ELMQ+7oVJu#92gS9C)VT;XVa!Fn?s;1W@N@=t*S`y< z-)ov)+P!{Ma83%4T->v|Z7!-&@cozFz-5@;RUbH5JPAc%1RI~5qBMYbRjMF2N6Zr|xMC`%jiVQcq- zMP&aN zDpm4SAMMtBu0K2Z-9q%5#?n}_UZ1gIX}MhY4f3MUJVrni?4=ZgSaO5BJ#t~SZ_fbL zIWcJ+gtVVuPg@b@{q9CMaqdef5tY-PD`xJ&&rWF>QCPAkN`DK$M+pJKNN-{V7P?ppxY{Md7KEqv3 zp)IK4#ij?@Cm@(>w-4u-_c~Sucz>}j9Si%cx)3@q>K&$(dy3dCPWYecaZxTK7fFgpZyvx7(dML5q?P9%zqB!dH-@b#BJv7}XWIiGj`%X|sf1JEeGpU<0OJ@A^ zh$wX$^LKu|-pJw+eNa z?viswy%fSTpsHiVI0OTau{fi|8&+&wd3*i(sfLsvH;_&|3VJhpl=f8L;vEK>*laO) z8=DK#>Ooo}qm(K3%kd(4LnEmqNW0+aUe-8TG`!4lL-j{jMq?>{pU^T*y;4y;CMn8V z^oHg7W5JU#Qmu=kcPJ^WfvMN;GUGg4B?KxpO^1AJ8X%1OS0;2JpBQzs`X^o%32cx# z_zgVO&+1JfZ`+fJd%)bMgHQ)mh2w?`;TsT)`v zdVi3D8CMHfYTW`0vdC^we3#{7X3i`;u?H8YkkwA`Jk2CpVSw5H_XG+W>2q%Rm4hIB2i$C{TD!{ZbY5OFr@&rE$PYY;E zR4?j*HZS> zJx`3JNXOE4%;P)b8eazccuW0KMtu@C0=xO`+ubQd`>FIviK}h~4Rwlo1BfA?28OS& z6U>u5sxrl8lckKoVIWUWm;(kRwng8a2?@+e5X175sqzO<36#PJS11kT2!CJo6Uj_f z5X54V0)gT?oAQ%nHg%XxJACLaKunbM>Mrg@#YsUq@;Gw@)0rB9#3StJO0p`f?53Tx z(UQT=uxKKPRFVpp2KUodemP@>5iWSBS#+3y6suaaR5Ew?EBcBt;u#_**e98~D(0-v zu~{9QpDYks^T)ay0dzyhhQ#ubYEK6)Q(kUxODRWZTgo~KF6G75uR?L`Gqe*RP7G@1 znOuiXu#C`HuFyKUSXR8tN=?JKu~vm2d?lF`Th?>;vz$xmSo?MZ*(hlS9_?W{dCd{` z%Bxj$YS!oR9ZCzO*c*>(dK}}nb!GI55UP63bZHQIvN8t|yc_U;N8H5m%kyxF!!^Rf z(++(=#k`nVB#@)6GEkT2)x5ya5eYFX`d%Cpaf8j0!0R1IBWMswI5-{W9>^%XU$o8@9SbF=@ejg2_PWbgh1SELhM;{PfSV()D&0J)IJtB zk2O5Za`+K!a*pBHq(RLqaqF94u4)Ko_B)7>(852OTFv5x?on>6wG#40m!u-5yxln; z@-NtHseGO;@0rL$lQv4o)v~ywFcY|}p2NK{ePBZ7iR#gNU4f<5T$iwf$t;zubTcpg zrx$${Ow>^snh%;g@JUG2Hwj~7l!?RE1?#`XLfXc>l8z5re>h3HKi8qQj}|FXel|_c zNrJD@liU?J?iKaLQQlC?m5mn1qbaXvxhqgPHNvxMpHf3)TDXvzu0@rxVEyk z;kPrL4pk^tq{v+;F2zZL%|Hpo0tEM>!6CRaE$)L`fI&hCL5e#RFBU9lkwS{QJ9BpD zexCa|?|ILs^ZT7|FJD;Mw${GZwf0{7x~}!V=msNQPU@|AsdR<0wS@3Df*22~cdJk8yQB*I*m} zFmOnQC2ihP9VOU)-`V?%e~*cT+5akWTRMNa+{Ad{lI!Ar42|5#ey#>&WH-8D)oNiw zdjE5z(vyt!rm|zo;+|T1;e`#zpRe$YFcLB4;>%CdTpQ-A;wC2$s_Cr)G*IAdppPQavY`s z+>_&)^?lDa<5&v z4`!7y@M@>jl4N~MlIir*zNw~Bk(b=Y3!yjZIeZ?H)Y^GXUCB=2wd=)dwB8Hbr03l& z1@2Nol3w$H9xL7p2izmYtLztkChp3;h6%)`k>YIY!2$8EY47#XNQ+z^CSBj|Eur3I z_VWT>3$~Tnb%a?~_cTAHe=A9(WsBUF%X)yEpr@>Jnnn4N!2XhEw174L7gbipT4Bp@beQn6yRZVy~(#YxiltDQyjqAcLVHV z-LeQ*tz`6LK~-xkuy_x?cDt{o)ulbKR$L6FS_T{Fj?IlPWlwi{nO7=DDYfz%`%i8T zzyYY)ex|rHt8tb~%-;Jo`XEKIv(`tJ+LnX&>3dWOlt(l*&1sr4PC7g2PHAs&8gs^ELXX1G<3$KZ zUBZrExtpf@uJM@+!ZZdb4p^d{-C>+JR&<(g-}$B9To{uc#Jl{ii0PD5lp$qVqGfDi z%wfM{TrZ9zq(`$%p;joeG-yGk8;xr z9$FP;7$2HUSuCF#BPV4R@4`g66(u9mSg}->N3HusQ`{abn+JrV)`!j8djVpn8}8;p zI(hM0Tkxjt^GGl{Q#!Te`e+8P5z^C_9Y7yBATx69WBcOIM3Hw#Dy;$(eE$NhzLb1# z0V|IkTQ3JVHUAe4TT%h*gd)6Kvgq^V=qQm`c3XOtb+DXPKg&vN!MiaHYYx^zfp=r9 z+KS0o;TKtXiSmUu*ear8LI$4hwM{~)O|{-wzc<9o`8IJ>WkbhA9i4eJT+P!@aK)lJW^-^< zU%5t2N-IEF+tRBms;?S&DK;w<^A@k-yF_w@F4A|h*cRyIV+VLFK8Wdfdc+9>#M1?S zEULsFn`-?w3&C)KLKk;bm!t`?>C-9-(IayC{1;dsx;KrjeMx2KT(b#(fgFq&8Ecs6 zsW~(zPp*Xf{Y%SGB#c_h5NuK&s2cdxC=n-S!6D`g&-=xS8)?WI=L_~7EP|w8$&J{l zr8hT9V?5tBK9jj0&(qT6CINcEq*gpd>YT9AYw~LXLdDykEn{kc$>8%l`+NH(Qr=&) z!{&8%87+c4;>ojy!+w3Tz$zbtKEv22`#;F=5T~bi84(A&@xBJXWulPG_rSgae@!UY z$rc{!@8V@|ehf1G#bW^TAsOcmhS9ssBT#u}7DMRpsB0=V?KZ0tT-Ix7hH%0;($qYd zdn3X__h0)7Wix1{qYD zcWl^5o;jNLs^l+;Flh_h+)(pO{SIrb(-p{Jd5g+xK@J!W@RUW`@nrNvjpevlCt&P{8c20;X5p(ZTYxa7+>v5y# z9ny$`sTfrIH>l$4BPn})@rKeL5~?-AxSEW~sQSIrEEp1LJcpqm^q?syX^sERSY@91 zw=aWw)vj%~r_6yvRf5GY{%SP!pCNpm{Szw&FYJ@U=?&QDgqGwwm?e}us7e>vu{jwI z)IfxoUh(C>pJ40Bj4{i|aPNCT{G|M1b}%8DRkWIFfhXH~ac6k=l!V+$oN8#+h+i_l zQa{h7LGQ78gAp&!F9i+dFPL-;Im>C7)IU{4ExUaBvFRskfbZ^7z45|)faXcm5O0Tq z%kv%HJS1u7r>Z|lhlHwT-`*eSOV)q)^HG?ZKJVPnvt{|=S=M|I`xpl(UKFrD+)MIf zLQ6iVO*)VDALn_8qs?~E5kV96bP#pG=O2QX%Gn)!QNeEV8&mS91jBUg!U~%L4IIVL z<`DSaxYnGo^@?NWPk+_^jAr`qS1on!Z}7d38_@#Quauh@$GCZgs`$7!Y!m-{!ewJ^ zud(XIGNBy$MLo&04&CHxYOWlb=T4U(W}ifV`g2OggU%_F)o9U1iUD;>6vNHW^v1Uas(V*UfIZ2D`W!2bOfYR?D-KwL7=9}m23 zy=I7FPk?$2`S31Nu4w>kgyiYv88960LVz!o4@l@I1>R~W!MC)xtur#uc?%QiLqDrMIPL56_^@$WTs>6+{-5|(W1f>LvPXD`bt9| z*L+0@ui+|yOVgaf5-@2|yRO6~JXHyaWqlq)*TSWkeb8w&$eTcAlkdnNVI380Gy;Rr zc_OplnbD@vX7xs`*$Mg8-&uw%-_zLS_1YOhv_#bay%RFCPL?965ck- z(}Tnb#seE146UzNEGBb(0zy59Cto-I3;E9V=oAPbN)~>k9xj~M`MtrLE}Q?LGK+sJ zlg3M>UhOk)LTr2f($;XNWCDMtXkYw%xR{_}K)B59r2hF5= znH=J5vAi<6Du*Yj18bTq0*1f!bmo3QT?Lx?_Zy6#z&6eRpO#g42^kc6hY>68rXvk5giK{DLIGOm(#InpVsVPm?m}7Ly)mT0IZ4-?@ zFhTF?j~{+LwRXF;Wn|B?|7Dg`J2>T3MDNKyYo3m=hVhY6|4@H+Zb8B~#uMKsLym12 z0HB2>d)|~52<_wjR3ecvkgUsE;z5curHrnM-1oqW~Y8K?+A%6p5spKl)jw%u34eiQrWs-EZ&6P-Im;^eZxz`jLS zhZ39YlO^bKS+&9B7*r{xrrCrEp7)7qI!K;|9enbsEK|{<%7m+Wu;P~q z1gngCsur=37OBP;hoi!&5cUFJ74txcH(~(~*0&ShFhyUCSK2c$q)(B4t+80YWAWZT zX1;#h)7&NhWOyYmNRlMF(O&qViJI0FKycX*kE6p;kH2i}xG(oV)A-O``M_uJ?bn2{ zuk=*YuSKEHwk^W(mP{Vf?;QJmrSzbv7r|~u@jQ4tL9agq>?SR%X zR{T`&hI`F_)%PT8OF3!FIMQiTCwhS$!6m;-<%(I6IJNpJU*~CWDHpiUzLo$+X<`2*=aP-Ed0(xCI#BH z0Bgm=Rfe+6X)>T^Zy~9^fo@=}$gE6W^VG>nzZphjn*11}FK+%BWmv~m{i_HMQ#sz@ zV|wS^SjUiBulP*Ud)0!@&GdtWf3@XVi*mB0yvwss$QewBdtd2-(g@J44}Q_qq0T*N0Ov`Pjs1n$_W zEvInR=-=ip>}N_0Xe<$%vI*f1d~eW zS(FkARR*G2g%(83iei$uq~5Iy%n9+m>k&$Nssdq!_a>COvcnzfx|d1Yj&6ET9Y*7V zj;S*!b9#hxy0t@tdUCAJ3*a3j%;qIoM3pPWA|yyShY6?-o0i1U6-G$x}3@a z-#Zox+P5fzz*kdC!LJnCpa)(3M-U4*$`d+PnmBV}h7K=nSjD9kf-OSRWK-#t-91VM zJMNdp9ilNz9!}9>rOMwU8{6y zf7&d1@W(wMxxhbv_a(J`^^8OvF#t#_%)7t%glE|_vZ*S5yGWGH1i^P(dL z=DyDj?A-8=)a}X~*+&OimR&!+^A`^jlyOn(tqD8^U>GEIAMX%9utuWy4Fz}b zn}I32f3;_{37ArBM&B#rl z{qSJ(iTEm8E#`6c-PnoBbh2;S9iPtT(kGv-V!C{AE)~iPsV2Hs)|e)YZ{1d zy*^-&yd>_+XlA2)+r}};j|QEXoo|Ekt(!g0=B3(!lD|5``c64ua+N+lbpn;?9pxtN zaG#B-IWaolI_Fzn8&BN-QSi^Jqagz_Y3yZ1rRpn>&y7VV-F)f3jqOm=?^+Bj>tn27 zWPM{3z`AQ`azPW+6+j`C@}?noH8Aq{o?4^#o8ZMj+<7?pp`XIo$=yK8-}kmm(N}DK zJn{1~MOPey_pZ}EUP!HP1uS>_n~a?Vm{!f)c3e5NeXdhJ^qna@>@OvFW-8YZADw&pWnsyEySulnNlS!OVRa`m@>;SPVM<5S5X@KvR#hr3ym%yxzG^S}y(+jW7w#cK&_gF%*7EvU-S^=^3uXZ;VQ<9cjHRf)A zQ;w-?fp7pQ(iR~-1Ax4iw~vA&(YNJiyS3 z#~PR0->m~oDU!L(_G=74x4KMGa*8g=zpiDYc|+snJT%N{#bXcY~ znuI=iQv?la6`h+V{8xvVwp>*FXurncR_^!q#k-ZjaxH*Zb9a8ur1d@PzMkG@ z(ZbNH7q1Z5=c2bJE3U=@H zug!EZxe9EGu>X3RwpUL1LkR*_yKjKI^JUgvy;B3KrJ1z-_bG7@Z(Dq_U4JhXn(KF% z8g#tb*ry_tmaOSQ4H%c0MI*Hz!o{AN1btt+TAC+|9=XZAUYhqA{}}U%_b@5ZY0!In z=)<|`qXWMY!u4R}4;yi>-10Hm+1iJrvCDR?W5R3u zYW6sAV%fbRfOF(wdCe6w0tsolN(yrepse_P;RMoL@q91g;Jj;RCru1-R-o(0TF@*v z@aLkV8(KP)Q~C2(*k2jq{8M(QD6Q|do-}~h2e2A{mrQ(_xc&+e4>v0N-7-x>Kfk)K z7$LjL^}>SSv%>LuK*RT~68}|dA^XIdUUHGAnfYY7X0mx55a|7dOI{DSfc1C1n)Hx{ zeAoQFh@_~6%t-6dH1+eLb-4JeNoWatxxI}h$iZy!;?d**|EzMj>Jpe@-MI?feCz#|T$^i}c9-;3?cVzU|&fS`E%tjs_QZ zWb}_MecJzy_urrz^DNqQ_Zr_~{N9v~klQC0E34aQ);JHB@eXd0vjy-QWGx7Bzvugj zFIDk5$KApgsMaIWJ64CRY&(NJ>7%aJGSp0;CG6-Zi{< zL`2Jq6tv&?V0UQ74le^Xmcz>wssg?U^9DTNY`K!%|NCCyk9p}|w+PD8tLU}>lYlAP6;MSYP2Y1+rmAU_}>oXW%kkxEc{CP|LfKSu-3Cyi{EmWd4 zmZ<73uI`_pMByI`<=3|}WP31btG5x$B`seng8njZCj1>Rb9V|47!_yb%5Ct+UzZ(w21f%vMpy{OIl|bGKJF0oK zW%+Rz2i4N9>yX1uGJYz%L7VD)T1c!ftgovFaf{jN~yo{d8RAXlyx#Ft%#J$koM@TKx37n{i7@uq?#4vd-YA z$LIlgW5WnTOO(Jpu|NK6w))S%V+k0*$o4n9W;2~Z9B!Z`MvJ z>KjI$;(79$>swq$SA@C_X3RD@8%xHqY(T1;7bx@8L^We(euSusv2XUdkH%nIVv6!@ zl5YLBCEE95Y0=)C?V+q&9P2PAwnI^t{J__E^YSW1DVyu?;dnpO3WK67iV4S)G*r7_ z%N(*APmTc%XySB2^=rAlqv@mI$_uy};u~F=KfafB3sMWJmo55gtuOvw43$pV&nPSl zpza~v5;azcD8arj)+{2zM7iNG0oaw*z_GaFoU@$LVVBuObXF{n+OtQ!$ih_^C6GHE zNb7^HaduKj3-6uoDv8Ppj)kHMAV`#z`hh$cK9npthq z_A%O5iTe$?3Hm7;^pnpr#6_R|nowOltAA9R`qj>qEZJ`4L39eeQYpaq1$90q&y3~4 z*vtkb8MuR7Zgfi7BC_>OT=V89G(xm2HaQ%c4HeLh>C$Y`$59>y+OqB|%TND|(b80v zcwJg=9_=eBox;yW&*TA15vz1BZiE-*Wm3W&4R}0K?AwY6OqAr2d5>!asM!xinj6&f zIIsA1kSX8F%cl0#D0{jsDyfMuVUz{EvxqhbnyFTnpW5VPE6ov=yg59OiDEC|f+n-f zrw-TDp6_wiy9){)OFDXlcCMp!P+TT41|NN{DwLh8+SlaVi_g^}&$X`8!UvPM2bcV! z4V^c0WGgh_SY`1%I6(0=sPzl1b2k@Mzsgo12~SaYAZ}2QS-Uo_qqP4v^#-^&R;@XW z^7DKDC9-*QE{#})1>WgoRv+uy3Ej4A(KVmRd7Jka0q-=6R=GWdtv`C56qetv97>wh zq=1%JQw8%L>!yI#bfVxjW$ro6(g+5mc0QKv^(5zj0E}x^Vks?}O5e_9kMB0+F{(WO1_qZZ)l>C*Vcd!mtEnR$DNJjR z3EpXBoi%glN3eX@G%Ek=`EH6|-y6z7&7Z<@9)Z3UY&3}b$YLZ%vi!4CqvkVu);(H| zywMW6$!HE9H?Q_>_7vabJRPc48|^s#q9j!S4tHaTuCLc6QKODsp;c1Hz>sB+dX>1W zVvqWLTRGdkWBdj1aXiejF|VMlAlYQ03R#${Odw(Pu5z{1lg-?2g<7X%GNu6hx)!bz zls>$|-NNgFcW#WCCj=FatKON(xB9!Ysv?UuW6U1FGc}^B461{lJyZ@Qz9uq^Wxp<* zD!DA@MDnU|Ph&GtXajtauX<)m3%yO$%-m!iNVz$N!(j}gBmkSPZ&b!nN%@v%u1G38 zSR+WFq#$EO*XRsTQ8KFDS$R9)R{lHz*X;rVj}>rhyPTMbZDKfl?X~$PYv#T(R7CZH zAPL%blNInZ_ha=C-puNj3D=w~)2_UAUMr6Xw6WUxoRVNjX^n=CX$D2KZw-<%l_Yoq ziB7{?mSg3m7{I{X=UAx1kR+scWedn%i!(9a6{VX{j~YT5HYK&i9x3E1zcfjCI37}v zD7??=E#EMxs%f`vRd*(c1#6)&;y#LXOOZD9t#&|;&G0Psz2)GzS3SR*6izbCweC*x z-CFC3GXT6E`>}kC8jVu+vXX#iOtrB{qT2kOr%#}lX*)(=%dSk6wpUr16Zd8)u0@=D zBq~qRA+rE#S7(QrecLiU{V#^FDLz){pJ%{Pt3x3)4^Gj~39`)A|>>xzpbjo~_n=zRo zuPi6C*RqmN=I$8pZSAw_MtpN|D}ZX1EN^r=PQYL%QzeEt+uAx1(mQhSk8idOJCS;sxQ7SR(FIweC`#K+KM7-px(&`x1>wgC z4xN&2*N;U2F|RBWKqzi52eoxkhXkDwj^(ZnPSQH70VE9TA5GK<*;+^qI<@dMnr5sl zD&Fq-$G&AiVXf$?*wbCrB?&v4UeHB@=ix9zP=q@nXoxR3f{A6C79l*o&1(9}Tc zCp*kdZd@)|Fo@pe5s$9Ruj1?j$}mB`mqCL4^rx(k$70Ipv0OMlkM?c3E_1u(qIIZ_ zqgA4r?UQlp|$dU|X_rPlJ3*plm`l%lbXl4}$!H{^a4(!YkNt1@cXg(z8*$(k^L+a`CiJVq)Xexuv6H&Ab^M zemP_SGBmq&iNetId*kI5R&eG+1KWPL%h8`@2MIfUIkzSqw<`VXJ~<}G^K&DjH+%uL zo7ht+%<-FI(1?YJ{aW_b@!kG{$u?WX8O?vnf=VOPIF$u}yL+oGIES5e8 z+)CK>&Wg*T3}+LUU-|S%ILUyE?)qO;?PNdU4Td*g1v!K+YF=AH&LF?c9DmG~se9Wv zac#+|^M1&3U2Qjk6fF&xkAYjYy?1Twhg2HA>!0*5bQ0Ok7@nI!zoGmv739ES0$8+B zmEf*=i7h!Sfw;d)FurMd=78{rp!UDSZ0Cgs5YmiU4S^6nM!GSIpr7!EPx9V8zoL&} z%fP>El$Le1Sw9Z%XR$J_)`+QYdb$27+w^`0!9jo4v%0alSh?6DT|d@Qb-1~gL-=KA z4_n>-gGD-P>OuK>pg=p%FNXfHg?3(-pU~*INaAgQG;-vtF6I!i`cbI!Am}Hge6C5I z7TTgq(|q2L|5dCh>W*FaNfck%wEFOhl}kfm-E50|R`1>U*HCcX42N z;*s_XTY8}l-%2!7#FWTNBWsS4rbhmeg_2Q1q0LC%7H5yEygtKvWX>=&S@L2uqtHez zO9E={QDiXt{JR!2Jmp1P;pkortTg2*>x0orh0irBaGRm;1^^wxN5qFfxZeyyvV7gT8G`yC@PbwQ7m z+^!J^S!;JOYGhZfi)ZB5uQ{Sa0>2yzx7V3voHqJg`f`ND>((`dO6<+HO1iUEBk=R% zLiW~nAk;Fd!N^qgsfvDuf2lvgUXkzhFtu%aRnVg)CSgvO9P$$;m#|6=g}P~ zU0(!zn)G%>M4?w~>4cHJRfrrl$HBwe`0YCN(5lnAm@xHIHX1mt%8pEB{ zr?&~yR6o(Ssj@Q6TRv#xQhR|CiG6n)ul>zS36Z3>3kyUcLQdQV!%;$C|6FObKiJXc zjylNZ>Q%Zf%0%F$`wreT1gUDSGcEEvF5~Ra$WG~7M}qF-z`bxHE=FEDXeQ`qz(71H z?czuF&D7;C6N4A7h$N=tCAtMr;&fdu4gS2gK~n;n6uw36|u|{X)_AWm_N5I--@cCn7S@#0INRsIM(hg z_(9i!9!)*0A_ zOlxlQMUGE*56;OpOZ>n6=fZyLA9|2RCKzT+*M$zpPhsI%kmDSVCy?EiONS~#XggS3 zb)29bZ+7!!k9k7tvSUZ)LqOM+T`p)2Ly`7thi1TEy&4q}IE~KSjBi^UQg3X=;aK*` zEXP2L;NZhA$VcXOgUp7S7qneF>(SV3}{+q)C@ z>;D!X*?(8oa~4#i<&77QG{c%5x}$?jH`j1sI8{Zf=+Q2;tUB1jgO;;A!Q|YP|6x5D;^WS&*KO)`e z@JtFN3XXP~9a4H&uhP4wJWjx9ml3!@#rUbf)z*yd=*0imTW$04e-feHcfjpEHx^>o zuUh*H!97Vi_X7u4M70B0D*V4xnB>2^e?_3RxKs063lC-Y8ZoNZEHA?S(+Rh>EeOM9 z^)X39b??Mj*~lq(GOAW`i(*-0xw4n5hl|HLWi3-TFiKQdP!#AdZorYzzF6?TO9M6E<^@IPtO~j?2T(uE$Zt$#4a~D)AxKU=HH8@ zGZ1X{Y*O>umeH4awtF+T8&08n4Z0hUl(8`z8jnG=PwrjINShQ6d0t69)D6`ah1u4& zM&e>I;aFPj6ja@Ye+uN3t9b&Ie?uo+#?_36so@YkaTIS#PXgkpMOPZa>`|au;xk5%j(u6CcZ<)eS#R!l&1wWM z!3|%8tuX8we{YIzNz>uEFTdd-3ihzjOoPAu+_HQ8bOiged1#|_zH5MDLlz%PwLmkg zfHhTgL-`j6U8_Rlh3@`_a!z%?DOwZN5b2=H$MQKk>RW9krAvdnk?fN{I;wulFXxH) z{aI-D%RlyhzIX4ZUj!P3lg(Q>%($Q?tC%fLTxd7V2EdQ{^Pw5?9>8vV&_m+V@W;KQ zX8oH~qRb2~uuIAim@3L7&Lgg=ooB2oZ$|MZ@LO(B>iN4V(TVwQs?t{IK*TCwQ`sbP zd088!6Vfyz_1)+*jfP-ZhS`_Fg54!EY5J#?V7PPmUs--+TmS74>ZAWM@2kC24_EOqh>5Mu5>mEjCxV#Fz%xaaCn!IU7X}eB5VCahr#i2w za78|L)(Kb(;R0osla#kWXwa$T-C+%Yj?B;7fJ8piifv@zcBo~Qc=l;mQ^h9{Of?7> zt`&o5joE9aysK4DdJ5wkXVNh*5j>BLO7$GnMHUTJ3l>piZ4&q`(0NRSyjN3XaP-mY<4A{VeKVLxf#k1 zp+^WqyjZ*#a(V>d1q`m&dpv_9TA)Je(YJdkMCOa?9S$DNB&UA%ks*8Smhbz`i1qd( zQdVB~L%^amauJ|bbz&ij;W}|2>lq=72sLmXk8ZsBm7-Ko&rbW>EnV-%O`8W<%TDsK z3k0&u^#(t}JVW1TflW=mR53j|4Zs$VW9Y6Hq>PMcGN-(*9|h(wuIbhPeQ$hfdWU&S z)Gv2bdbq4n^VoOM=)zBKZAbG~dH9TvTUoQ563czvA(R+Kc5QOw5Y= zfu5q=(*~YAs0h}82Id(8*J&-wm;OXnAQ&LirnO3Gx-|9oy@_wg21%1AQDeO$biD`e zJnuQxhr2$xbc=$lorI&&aE)`N;n(%;tlJXe!D0750!E5Owq8NkHZFOsldPnn{AA5( z%ar(c&r}ww$$z_OBP=&)!wAdU$UQP?)(}08$Ie^EDh_6n=hw8#JoUxbzj2f*U1_c? z>pu9{>r(!z^Fl``?P1qMMVPyd%Rmhps_BxLSdgI1GcZXoshF|~Mn`r}9*6$XGZqSi z;EE>;iTwMG$`VE?S6A6N;qxCX3YX6D9JjA~dV>6mWWIj>Mv+1)-se(VZ2pS7p#qH2 z0J86bAnwG%-PChcgYyZCrF$HOvcbevhCs?{e;qvsQH2P9Xz5Be30#S^cHv#eby0y2 z+c3KE>>kOwKweyrHnCRgVhWP&L=Mp^A$~&UuSyJ###q3}GRKwn6Smd6wN}y>f0B(S z?NiSsOTtB@vXXIYeAKdf8l`IB*!aeEu1fmzk1W1{SizvBan@UDnvW2IH-@asWsAWi zl}VHt^}ce(dc({j)nL4oh=cWW4k(RS4etH%^HuOl1DVAIo5}shD23`4G4IXuL=^7Z z`z^)Bfngw3hQ;o0Ni0vO5=us~^_SMfHg4$}6#)w}nz$p76__W!+1)^U?Juu!!UG#$TFa2|Z{ zhI8b?wnwIdc_wmgrTul_zS@(^^)qj9uwe9`){-LUUyVA45b3&9sgr|$l_Ok!;BA!( zFmR#hNv6eLYmkB|-;&~`F?gf><-UbEy&Da};DwUc@CDJ-2D0?iE-w4NaK;xx1du@wOftgQs2|Ll(WcVvhoeU zcB0svAaZb&vMnDtDLrNbW>fjdQTWl9P!YPMH3MZ6Giz3%r(ZPehv>?!TpDfp%HI!J zA?Gz5h3O_svAEW&NB#0*X9^E&*NYcUzS}eKp{g+2DpvVbeEupg*vt0QKa*C5$f4GS z#yx&m`?J06F7pdGHeEp^Lojl|w^o904AwkKK$?zDRv}r*^hwRe^3f>QRX4m(Uq<2cgDJ|l;Kvb3B|H>JiYcL$f|aBOcvuugU$ruDM>3+Y8#Ax zvrfe?Bk%q78J-x`lKp4)JI=MCQUg9~ZF_E~VKEC`ikg16OjkEAfCJu4nT9az>2O7m z*ls~FR-mrhwBUG567yTOZF_-w^(b@%R>CZIalOMnD3T-hTac({WKKc{YlV!pyNMYYU#V zWgZP>r;oJDP|V0r$OsL?CTC>w(WYj~XR^LF01v8<2~7ye7f?Qv`{!LYhS$!wDzc1L z>8=5G2m_q6cQpelA-x%N={CR>ir|*!X8Bg^))~NZu&_wrQdaCxYkGDAYsKVrbF&iQ z)C|ScnSa0K;DEIy-6=y6c;8vC7_GfzH%N%GVs{cUH*2!$g+5BnXaL@DO$l~Cic>=7 zNT))00zN|tN)+Rukxj5ufFvkpvx;%N*s{QzXV`4g4N90{d{*GtfEeB@s*2G{Ebnd@ zgEjiyL8&HsFPWKVbL5yAH4w-#?^!_pROTU;zOh>C#5}34`G#b@IydrizfNcg7vmYe zaLx00BIDKohK{e=5mjt?;J&+1l4*+v?2w-?xQ4D4KTpS`a!0w10G?vLZ*iv9ch9`j z3U(hZHcmKX;$8})BH`n+Li}W{stkG$XBt=ni4~|Af zSJgP?&+6TcRnU2fGXFRy1+>TWEV!c2p6Fc*qmzwys`Nm^1yIMu1AAhj3rqaQYKsBc zWvTS~R^;1cUALGr2zksh4G>}#kehvwGjVp!7~Z=ABmp1yb`S-FCp)LRbz<04#>e)Cqn^_d-)^?*9sCTic-K&nnIQEcHIt!rQdDu-gG}!8g^e7H+C8EXDaOW6 z7qB^4hm#fb*jjLEbQ1Cm;KuunsH)$4=eEmkp7{wz7AOS2xA~^?CZdH@Sfu3O3S1jq zOayZ^G<2O4CT!U^Yj&Hi=(e}sswo})eXp%eEeqGZ)vYS;;~SX0#xuOCLu`W=#8rfL z9o|iuFK{pP`b!H_f(AUB6fw74+UMD%tGy@ahv! zzihW%4+vxGERVnY zIg0HjY9B00&Fz?@%M`+U&Fw5tXPc=%?8+pg0z@_M_g7n8-eYGG6kcC=Rf+AjTNWk{uYe`Z1;)R8)P3_8 zv6+kX%^$m_c87Z5v8m6#ZLCyMCTqPfTKAARt}WZof!?nT)My9~SYz<3ohe^8XvGUt zO6E>gPb^8}9?ad5MCEC;3F?L@85ibK?@c}ifS3dQ-*uWdrvuS0i}NlF^1QxSZd&?w zoh>9ps9UpJlyh*trdZL$?yK_Hw3}eJz5F8Oon%Y7ns#VxY1qY9QE#p*1izujp!?q1`c0cZ$EfR3G zmy6Ru^9Qp;z9m<;Y&$vzIN|3P3^HN@%w>j+fDEKNC$REbm0syeruOeTyI#o<@(|ov zaBVUXQdK}A>GXCjH_Xor=iu|R%A{} zjV=Ak1EfHm`x2v5{v>27o*u2EShL+V_T~HKaKjBr-fSGtBhQylx-aT!v0W8&i0Co{ z0n~LbwihNAyRcZdO6c{6c@GgywD*X(UOO}47>iZW?K#A%>FTjRN6l?ppV?tUyk$U5 z&dX;on1@U4A$7qcw0qGp`oZM3Rew$(bG=kkw^xqyT-=2A-d|g49M3Cw6Ab(34A=-) z(m(Y!Fv3R9Dxy{zhDn(fqQ-mG3qrB7HHFPfZeYvc*xG5s3+5*wp-;s)BH`h5?zX)l z#K$#Ugu&=J!ft^^+DS^yBx6mj&>&Y#ev{l}0WQ^Nl@1uILG|d}(64I8%{8XGkR_1R zr)JwbFVE;(jNv*Hlq5nO@J9N>?vq92e|1f3#0EV&I(0yrb39Jjf~ANmWqHL=wrP*w zjF{*V$tmefFE{qdnwJC6yS)+*B(<)Qy)FbwWDE{zuq~2OQBz~EH^N=vd~FLW{dR3O z_Xt#1!NjGH+48BSu{2;BHSZvOjR$1zkMLhgIE8 ziJ^+zk-c1?@2YEYy7sfah6VK@hmya1^42p4)f}9f?+8&cMJxEplx|_} ztdkE*Ma6l)^)}{wSW>g@w&pWZ(u8t0&8Ebs)pmU36k0W$s%kQOGIQE2JjXPHEQV_C zF4=qwbTRnVb?$J}nBX>PaQD!Ojp>I?B(Ktb2R;^5fwq@xaXWs3h%RCwWr5{h+W zU{0dw#IMIxRzgZS^nK+#T$9)U8qHy9dl7?yw%M+S7Vto`s-}&d3q}c7)6Tv?Ag~$h z1mNqp(yR|?#3%s~TP3@^wv(z8$qljYMM>4w!{tp(VU#s@>fBv)kcIr+7_Mb(BLO8y z8(A!2!X216kU6!VT4(7J$o9F|#Q?;_r4z?qC@AVOkYB(BrQ+tSH=v2#L(^DU@tJ(= zBsMtl)EN0iOs~wS@bPL1ig3!7LGY?Deu2PPvBcWOCDoA2APN?#%H6?l6D#(0l70=b z9^uF^1tS)l9q zXe3=>jYRQR&~=z?D=^cKV&U0dkN;Fpc4nygYEaws`>c)24LfVZ2u<%N5g=dQLCrp_ z8NW(GJ8Y0u<8(QD@#wUCX?x4_?&_8i#6ROB+b3IiV4S~e!a`NHs1zqbE=p#M&f8Qc zwy7UVa^OF;7VTR3t00BD2%Qr>D{LUE7{jER^4gR#M^Y0!H0FRo=7}1x!t+rtwY)(# zeK~E+z+-N*H%%vu$yFP-mWNJ);RObDjOIoNwHj)qTZ~p&;wG1|%~>E@h1&j2AodEF zPXxwZ=rSKA^|@W&4qq3onM%El3G^KueZn;lWQk%)CceEVvLM+kg}`U0x3cZvom9iQV2B@ z--J7mEi`01txq{Jza3sQ>0PDdSCZpw6kbzVR}FA2^lb9%RtjcC=T6-6_8El#b*;Gi ziirERiM*TA>DDOOfKef5qEa(ki5vaf1%ZWDp}VHZM#f49oxqf0I-A6<5);$iKM^#p zxLG}aoW_LJt!{D3_BXmKMm}}qo=_BBl;@6vZ7Uo1$(cO+zi9jJc(@jBZRsbGL_`ky(vzMb>F@4e^#e&2V$ z`^SCrNA{S#8D{pg)_T@@)>^TxqYG)W96_vguU`ttEvb(1Yaxxr~5sPRR?Dp|{L=mMp?ap7BZMEkM@ zNQa6+Nn5gmi)jU`F4@dc&{(SMeaMwRa`%>VQ!erTVXutRRIiZ_R(|bltiUYk(-5@y7yz@+Bzg`OjBZ(!`U?|#{& z&sqdgT9U`SZ09bIeu@zY&a?59-zQ6dW{+31cno-aig6W%1`-hHlGsoNq<=uX0a$?x zT{PzNr9_7+0=azU}3#@O0xammM;;iKFABB7(p zl6-Ow%gZn-9=)0+jw0+n-phWj8{xc6j8TYJ>asQbQ%XGzhKC$yM3fBg=zd8(DY2U{Y`;p~HD}6xzTeKL_`yubc z!8!Knq^3apm=o)2i(3|ZpX%wU^hfwSw_i5Jnz6;OPvs|0$@IldDf&>{2Wz8^obMcHPe&qbH%<3RvmSnOtDTA-jVPu`7Z_? z{X)sYVrhG{HVPmX-9?0c+=R}rb4JRywosD^)~lNQk8CWVna$s;7w~cY;gW- zTTIl(kHefZTS0Ed>X?jF=SG!`!9slT#^rwV-=Z955mA(sim;ygq`JjGmmW6UhTDqD zQgX3Q%hlWA`$18qUrAE@+NTcH+P}w1yTwzxvr1tL6%{+-%ot57s8?Pteyd&uUcJnb z`AS{v(;7ZUck({}+tx3onvsMrxrVgcqGo1@;-{jyd4n38I~(gM3i_$FM)Aj&VSqhlY(?!Pi{-Y#tj+i@B%u23;+nmP8xz z!;B;52(v3Zh@r&PkVI38@7pa#M)!8yT!}a#zlh_U>Y?_<4M0w`lD+z%Ww)plMDY{898~nyTR1>v88YBBgKRGFDM2rUPwt* z$43I>LE>6j?fldI8ORm)67j2nuoP-P0Tw=;*Yw_I&K)1~7ait>3ETOo-C9LyVD8^( z((wFOpaNS(5RexzW>T1%(b98l0O-Y$VZ)GF*(Zv~)2BOmF7o3(kzx&j8ZG_O#H_qF z>)+8TCF>w!_wp=zMvwLi;oH!bIdx$lar0Y+nQz3>iA@Ei$Y=JmY=WVxp!$$l>i{uUXBcyJamT z`uHNaI(c(3e;FnU_@%6A$ka;G`T*PQsL#udQelf}Ge+qnZA*m~VvJJS5Q-T6#GYXF z7lxnW&QZ13Vi&z7UG6dpu*fss}~xdfs~O?VYwNg4Pi96<|2$bM5x&C??J1hDelv=oQHtij}g6NA@+Q;AGxMV7m zE0fML(-#s)aJ(#&8`cr785%Yp%Rj{Kxt#;rEy3;S*~BuB#^ya=1g@ySKi(UE;9H8Um(8J$tG&q@eG)b_!2trv#6)+>lHY=0HD_ zOe6Smxb!eSmE?cxMVUtw>fgl^1wdc7B5nNks5+OOpiAB?^UFdM#oVpXyb+*2Gwue# z;xEM&N?Sa9;X79NIl+eARGN>|n3u)hGvuE9z=jcFekTJB$Ysf9D?kv80#>2U-vHMB z9mM@432V|jBmRiUDPLs1pKN&%_qw9z&*DZS^!)z_?y#MI5G2Lk5K$B6l%MdQc(ax?yAYbuLUK+uytv zBV_K)kl15`v?2dGvm&xeD9JHY=IOsrOtQ$!l3>xuN{QJRjI8-ar0_AxN|=N+jTj6_ zBVfMvD!w+^#`xMez55wyy$uqWkc#e4_8i)_aFygabgb-i%_dkvjn{st4)Rk@4auveW#Nq{F03BQ7 zhx%)jJc}MGAbz8(s&K`!>mdbsWgXOARJxL1RY3+YPnVZ}%GkszrRaG)|IJ5CjfCWx z6GYtE9f8c6TjP{qRJxJW&%T^BDZ{8~;9d3THMEO`%K1j7bqLxgKz}LsdO|GEZIz+< z&$DbPp02NE_hGTH+#?c&ofYeZ9C*d`pL8wi& ze0!d{R+iEBa#@Z#UIaJa{fYlaB6eGde3UalzW-t6XtLKS+jW?Id)n)Xl)>a0ft^Dk za7S926Gus)W)x9aJ0(+uUrZBU8k1zp*{i3^ug6c<1szOxqGwIWuthx_5!J#0%O~*F z_bB*9{*}QM0T)=q!Xj|JN&E~e1rc@Am_&ZsWQQnaPN*G+A(TZpA;pe5N|`kw#a2Bf zQY}C7C1KC1AT2LiSGiV-b@+OM6St`ddsL)ult4GQvc6v(jH2NL8m5x&hon2o+mR>L ztkl<(Onyw2ige1@ge6K1ix$er8T2VvNj6Y?>aKEVZ61t)-{x@m;Fm6kJ7NT8rgYkX zyj79{W7*WdN#K~(x>lMr1B97k5t~-mdJqgKc-H!^u8?O<=qX~Z@+!$ zf6&8i%OF=P7W*5bNcH0(TaBb+J96c{{!%?R{HcinwC{44*dDcZYS6dk}; z_2P+1l`ML1F3n~GTc1S3zLfDbn{(%P#5B14{UW`>S-vtl!N3~Bii?3RxbaKIAQ{U? z9YyX0%2(der925CYgsBraGb#IsmEr}_w8LyE)~xlqCJTtebF-sr)d@duv_U^D~sH4aenG2!SV#DkEyJSE> z#ZT>`n!g8dVU8KD#kxyp{Q+kOHoWN zMzykW=9`9rz?DvDAJOS+w<9WEf4DP4Pbx z!v5Vu&fdI&s`mBAdjI}}@Zlw6n`A0QtWmpPkO(ctS$A<=qd>D{7_w~hn zNeC$FGtW>WS|v+;Xixt&*Nf7072q@7lM$O@B72L)?@xTu&S{FP<<{BjybQb4w54ZPg>sR?RrZ!XtxS{0RCqsE&r|p=_G6@@-1yd|N!$K%QgscqotADmHtDLA>F zW$yGVIV>04(^{+5a&GPLoAH%Xp7_#c zGiCW(-lL~7V>1EUHM!V|J+jP-uRbt|FVqWxn-Ckkofhh}9f(B+FESxbatv`g$m#gc z0gP!&<*8QXO*+x=D5Ug{0>6e))a`*LC*+G|huPUJS96H})=EsT%R$)bR0^jgKnE=F8GDskqnl=1GSbY z{#wwhjMV)cLBq}wV%(L!=cacz-82n-GE#8iGY)UO?t6;FGIYks^{y+B1g7k{t)L+`nE~f30X@*1FhqF|M%sAPIwmk|_rB+92bf48J5 zSZI5}z8yVzVR;XW$LMBu@RWbt&_~!)Ju-($Se*Fy_}!&E2@mez?i6zvX>av4kmD@| zIWo3LA^lvW2AC@J;yakU&%aA(%ks&SQAEa|!`jD6X{SXBZ?R*?x&r;Ec>)C_GrYDS zEl7=!a$^1rD%retV6I~C*j0b-8d)eRvY19SqSL9AN5s7>Lu0%qzRmE9P?L2SebdJ- zDsBjawRaIWCOG=jchj?Y6$Uc0IHWx$bv5EBUItjO*D;XetUV0S@H2V0E3NR8Z2?w* zsT$^Ui{_(lOK{GXB*Lm2r6qmsiviUNzQpihh`q^|80UUnMB%Vqi`2SO#6qzqj*>~F zZ!xB%NVjN_>k+87(#S|BmsUVRDcmO@>&~m%!neCid8m`E4*1lquM$k z`QN5J$H%=?5#9$|%xew3D=W-%@ziF548vK)K5Duds_7E+ryyphyqG=I$ zar`QJq5Og=o4#p77pqD!kI|1cMCXnAx|kQg{3eEObF`=J_jjqwQGlhzTMlE1$}2)% zr%mFdR8a$~bxxy|&H}rczzft!yED)*$G2Gv(Q3(Qyw4kQdYt6pvRzW`?7Q&l*;1O8 z#nn=pxIl4ib`QmzBBE4uoP&DG85MNe(^gUECbV=St0JwBjzn-kn$^@-dpKuDT!-!4 z7r#j;LyRaW>Zu{pUSf^6Z>i)`TE_RGIXm_K8l z6Ypt=RZzsS(wUEfRK|72_fkU#7b~+GhRp@`#_V_$x^kSeJN1OV9zJd{V0qj1eE+1M z4aiZ-0`C#&g&tU=(RnqQNmH4FzQ59O2oUk1goU1)|W^*%au ziHgNSe+z=J!*m1Vk#qdYuwLU>-SFFm7}_~_Os{XeOwr-?uMhlA_+5OTHHQ&tY>Y!k zy`mTDoEElCsn7nhr?USSJJ2{ex$szT378T>iJ~1v z>5<)-)&Evjg3kB3SVK+L>-pW4r;g(+F=t|_@?mreVHSR*UQZPrH(G?d>vg!VDZJKwql%%u!wCp{sVI3467(&udPJm}l)q z$+S!8+wC!sYA}@`(RXeuShwpw+uKrsFVFl2B*KI%F)GC&$d?6k-R9=-XzF^yp z6*!|0{&c{!-Z%L56!XZZbIZzoFPC=+8B8O+^P6S3p^i7Vo@!i&03 zWY@y+dP~ASg&dLXC8cvEdWOT!vw^n?-wh9q4A|jDe81;7NBnR^7FbKmP9YzWYm&zn zN*a~k6>#XUp^wJg;OMS(7G&;)Te%yTz%ttwi^rdRhh$0ceQE?m1w=`h4zndQ-f=LS zGZtpTaVOCqeGD0NnnzAoom?>83DpwddK8|`BzE2-ZD2i@G5~>B>9pqi0+Uj_xkw2@ zk&#DnNkPpGK`BXyjwS}Ct2M020nME}`i|gQX?=!~7b!!&h87BG1Eg;|tViZ(?paiZ zReEjI+a67v-M<~N_zf-#t+rtOIE>dTRzdQ#`*Ga&^>iqdIx7P{vjCM4RDwx1V(xYkb(SH(Y4B)YMI|-Z(@&rtMYMFF(-&8`mr$ zLG_$tTgslerKv>VgRvh!|Giz>YnFca!%Bw*r@MMF)Ms>BbyMCm*03;Q>11kzBO_U3 z7|B@bHC+>apG{R$hrwQlH^-7lak;7xmS-0@D=YYiwPe_%me`l#Oi7qoMT1S-0flOq zNQ$h)Bk9o%Xxmt^G=FEI?=9I_t`SjjwT$-YZ{Lb@6eQ!a zCT4|x{Fu9SXE7~~EvgWb#nU{Dq4zANch$(6E$cE3T{4uQQ6g2T;jmic*6`Y>t*V~I zy2KZ@5oc}~(e+TslKJ9oquie*?frflAUhthkMs?Hfmbwe)I-1z@oi`|1KiSFEVt-x zgQk+-exSJVGQ*!OGIcxgIzwfF7wgE%=#3wnC+{W}1MigmDzy_OUy5CyvEdnV1`6$! zgU*ezmn`PiKr1OxohO+?6yZ^7so5CF_2pQHQI#~b^sXvJp$4LCEfo87B&254&DVuL z_v-@gTeTP$qa{xcZ0pjhWYwnoQ0)1}DDqJZFytb-A*itTU18(^nNftb{kwOCVae*! z@Ich-JD;DmjTz_2bez`us_3E5hjU(uIV)*n%dlXZE+IXB=HEUWECp(W-H+ByHZdWX zD$3L=Tu*Wv37`$?w}ua*jl%Uq1La;CXo*SneDMjHKkX^*~4jH{&pr@6SvXK zL^S#WH2BOdx3}#FOvEc-AhgJTm5uxj3cahRYm6IRkImxc(RXkgPz)5Y3@LI&qNx!> zK0bj*U(T}scPd7Ts>q=B)p8^Sogr=aSnKkl&OPn^{KZhj2qTtCuCk!Iaiugp#LwHl zwGcmo`A%L|zANEhC0TFj3>2s3vH$zEqGk6v8p}uF9oB40bpNarJ>D&`VJ|~WRsL1& zP9Y6juK0qHr6#3_2<7!nL}}_=9qQsD z``-ONV8abi?XC+n_*b#JouC(H+)*#%^sCl=x6a635=+%;O*B)u7J=7m*AU7m)X@7? zpOypa(`QWlosYjc8@88d#%vtFEfau8C0Ckr@Rl+S;8*_tb!m#%uYRy?@oO3B>>&Yp z`H=$0rH+h9XXCwg_=Ra`!^BkcCPu=dL@=df2?teoNSwGRB&6PMb(fzd$}_gDf2Wm} z8~4?bMLQ3LWLLWE&WoJg`m;#)z_E3i4wS!z=6Izrzv+xQu}_&V3#R``GI)B&R<-?~ zO5!U&w9hl;s~9|qxKBFwgZXks=Ig7rgt`b2+EzvS%$Uz5nN5N(1Z@=KfxX? zpOedfuTbc$4!#P=4Y@v_YFwJZEw{RkS>2Zucn8}r9RqtFT=^Q%ZcQ6Si%-aBDXM3G z8{*m@(ZT*6Y;4DA8j%CJ8koapCh-d%--e&=TCNDy0^jkT^0K#0u5BK$ zh!Gwtqs(i<%xhJ?y*=H)Ez_P&HkFy$7yOSpbXXF7S z<&o*`hwBwsCTt5SGfn6YuByX&AKv3)E+unuH=Ao(YUEw`ebj7COQ-&5;X;j+he$)g zY2EP7kmQ!)D81?$;{0g`8x8F;7w7B`4s4r`!A_94J~Wm`1AD51J&jAqMQBo##;<3(VZP}}S)O+X*Cv193E9gb(MIp?WIlRV2dUq6S?dqy8zZRe0J)Kc- zuJD>Ra2Q0oID9Orkq^c(D3QmuFFTE5cp*qE<(xr5CwwS#vkF5scy0}dh@(~4R?cYu z(iOw(Y^_SnqoKlp;#f=Ko_@5pm(VX&vZ=#lUdk%m2P6V0lnpQr{Tv0>reO)T1&Uv$ zvbgwX0lj;KD{GrAr^7nmr;w}*Ef~UAh1J@yfIcrt2-4B146Fz3PKiV(pBHC*+H*j9 zWMsJh&S|DrX)5`Nf+G&76H#r|+gh$f*3%W9tt>IqlT@1y!y_xj&CP?!NgzOc9 z90Uw6aGIFdhK7b`iw|}293k=(d_^Rs+4%h*=_T$~cscyb3ALWrh)7B7*-wL_~XbH9Ji}`i>0b03# zp+rZY7T^&TMOdA0_#Ov4tE#lVm_5;^%~B&YWxrfovXVMUkUB~0SAEA|3G*;3T(VpH zLhvMtcoJn)?m~3xx2Z+QG$f;_oL5Q>HTgL50z8NciA_b;L_q?XbGaM2X&((kr-8mm zQ`GBkV=o&mrpzv5x4&-4OTFEjIru)k#Ka0J9$DBImRQx3AVgqJN z!sX^O&h2SemjzQvu6>Jt57?*KC8FT&o9E7#%D}{UotasGtaIS@B)`Ng}eU4D9bcXpSVIy|L}4 zVUmCVt-9$sJO$IGkk0j&Rr#*DLVxEh+f%wbX|NppoRcfgYYK(_J+TM zotGrBk;e(N9;xQKoy+A4mfDOgH~!tDku>z}XU==GrtfdOxkYCJBm4kAcgQslotp4@ z@Wcww{FCHqq*)^-sKC{eNOl&+wGaKFMK-Gk5)tjGKlKkv|Es0KF+C;sAH5a79@s^u z1I0T|`Y=oe_}3$jk1w;r)B1!;dwa!PmiAmAbr2qq*+OJqgVaiFZOrf&y@o-=8Wl?R zh-(CxN)odn(L9wbpGsLdnV&$&1c{3qVd^UbQZhHK%U~~)NbjLI!_b(FM$ss9i03^e zFbn2E6Def&uBIlGK0)G$vc%dz*OpTe%-flyW6pkdzaSrn7p2+s{@USgrIAE3)X47Dn7MPu!;%| zy{)}7>Twkd&9rWN-@crv_iiowo%vk^5-B&nJE`+}`m7EJdrGdHptpy+>_k1& z5e4>AX#^Ews~rrY0r9(E-wl=(XUBw?_ThuQD_ z$Voj34&wzB4~{`o3M2=GNBuj&%Q5ynT0iVB6{rexc2Ag{`_|&OPu)oro}B&*NdKaOr?TZdR``MG5(a^C{ll5%16mn7iT--Abm#jbxy0T_b`d+nF@z3;5N zc(YZ@Kb!n2wc~J&qV)sm2iCo3l`b{4(yla8hd>K4(ZD5V(--^keDYppX6~1pcZ!(+3^CW23VVrY`uM3u+Em7q%uqKAe6`X#;c*q*}>!vs~VPADAO2{k& zy2(0Qj1-s(nLm>?x0ASp#RPWP6lWN{y_Jbkv{f#2+vC|)d-|MH(|ng*4;K1{&DA<_ z{h2E{HR=6!wLF&v)~Ry#>&AShidXrl`9Ekv^IV?Sgvu!nJQpc9ZZzhvBe%(k_(?J% zr0_O%(_VJ~pIjI87v>-SXa$F6wFz%R6BUHSfAB%`nn=}>*=Z`mGA0~C+m`wT|>1;cjunw<*ADJ7PZUU1ovI>hHs1svZvt&4h@yi`=82 ze_`gBkYP^H>R;B1)TUtU-4$&Y9a^rx9onX+8Mo@o*ruo4A%=C zl%=wzlINj2X__Qg#ukTe-><}4ibM@^@6P{mx<}nv;v-(hqNjh@;?ZJCWUmgBbLo@v zOY09}?^h8??z4%`Cls>X)`BM1iqNU;#PMkrLG3(}SartiIeoflq*5`HlM+(`G}s@T zsXM6sc%ERh-SJDw&OqG2%qy`A)S^-F_Xf+F`1U5u56?!+lV!StVFle|2E**&#>F4S zr^FvQ0wlL)0zdq_Y{ox-Zm?d^>Oe^s!-b1rQhQDh*OA2T%d=kiK?w_uGW%q`$p)3~mr13^n#68V&W0cGv zC`Cdj`gfHg>DZ@2w!-9tv$woLTcK-oEgtXcmAoF=zIpVWZCBGh({{iLBosW~;71Oc()J2GT{t>3*@gr$%39jGZwObG+`z zOeY`{kwUHSWZpe#59#lcr->YI>(q#@v9usOEkfy7teF!<`dOtxapejLb zxv*`tfIdqf?Ok08?l{4=Y92jSaQvkOQo9)b=0Xm%cMgj@9vb`wAp-8#^MK)S%mY10 zSL?05N3P-+vZ=zf3y&|Iz_)Abfx5xwxYWpHqCD4~$K5J$1lsFsb;aUX=V&olxA#1M zx1q%ZFs^pqtc+$hG8!+UoV8#i^a z*V^bVSWqbYxZ$?nZ}}cbAy<*q7AEP_FP2-3W(rYljfr?ksIzl3-68iNZI&c(c1(9k z(y97Y-N4YwYYJ%#Rs@d!*Wsao`iN$qU4FFfE5IA(I-Ux&n5Q`j zhv%maO92g%1~nQ9jVrGhe_MN83fLu<1Wv$OrOyE7$suhQ4D`pMXB^+lgrEy#65y-q zP7hPkcI~o82eY)mJRUt#Xn_z7uL7CuS4;ZPltdSgO?UYHLA^Gx#XAJLvbROb&^7n zG55Cyw9l=>*(8$HfCo>W<-0AawvzhuIM>s*y;D1Fp{{I=_T;%^NJtnzzX%xhK zC~wzRVaV8!ZB+WZ_?ukO+h!liZ<^n*#(sE{Nuy&Z_9#xM>gu-4)jEk6wy5$Fau-xQ zO^17$#_ViBy=|)4SYG1d^mD^zEM{?_nwGmBCdQsJW}1D^Rgk$@kP(ulQu_?CgKY)| zfeZgiVKp+O&9Q{Gb~KDyqmLu!EUz3)d>XdiYHdTZfJKMlquC6rYn)%F-7>}KJvVzd zRZ-jUEOfi-ojK}*vf~(3-cgQV%#tM1TwSBo1O^kusj`(bvi%m$SD8-sIddi#wmQj6 z_H;s>B#p{yYC$_}&`^yjmu~vQwn2$#nJ!S#b-wqz?EPVJw9+e+b#I^7_0LUxzeBp1 z9cJcOkx(DqPx1Jz?d|;iQ8ob`ZACdl9A}3usd1k2;FIefBqf~C+rLL#nRu=~fKNS$tb76nv>taO(hmh=ml$R1 zt>|7?Qc8|-@RfFy)r@p@JExOjz?^}x@}P(iTc;|IREg5?BOMxU?uMb-HTDg{AN(a=R9g7 zl%Tk{J7hqxjU0ZSqznyc(owlmGE@HM0BVyMXctO#K3Y^exbElI>;2Mf4{8_{0QQhf zaHt4Tgn058t-@F+L*C=ew1xq>WjPMUVurIe4b2= zwUl4|^nj(cEwGDL;V6j6|78nPeu*v94I_SqIUS;dA_Z|gr69YQl~<-lp2?IkT6{9g zcsS4eCyTjT5awuYM?)Tsb5u8&jUqcb4{h1quHklH}HHg{y2~xof`(&nz#M`WsL3T*965PIsB;t%T zZjF)8o9^SBpLSlOfI(TSy0T9c2cTsaf-0+<` zaDp8)E3P6M`KPZ)atBYC$48$StH{*S$>?*gMdoSl%P9r=zcaDu%2C0op!+Suzs@lJ z{S4V8xv}l}Cy6ONe`|oD$v3XP`S;qdYiF6?#b4V=t}QzTW;0xxC}3JV?Z<55g2Yq1 z7eD_{`p=Yoo4?wnDN*NF%Kr7db#ScH<&Db`o!*O&L=7+5TzJ64${z07PxY+*((}pl z;THpZbSv^w;jz*#O$R9(jy4RcOrg?=`iog69A&Apqk;zQ)1*xIEWX$l-n!$C$n-S| z5Kvad>3nIXo!|q`#e608Ezc6zxulB^10wz;0% zeArDDYZIa*g6wIb>L8w^)s5iQRWri#T7=e`eQ6&>6xbI%DK@*t@uwk(r8Mf{Q>(2% zNeqXdsO5*f`D1FuRCnTIrZJrl)tf(ZCw#8H{H^%j?;*$JhSbp(U}m8%7g?{Q#0GT} z6sjs#1?|9@HRPjqNUV%CvsDK-O365RyQ}l~P1JnzjVoc>P~L-2#&zf$^XVx%u)?TO z&&MKef2C%8bHmEG_!6NcPcH=fgqUT;=xx3bQADO`W&Gp`e`lb-VSgAz}; z;L?oILg88ZNWUv*OKTmrRp;ojJccp?%(f&y^rc%#D+(tQd4)4o?e6C4r;Bb_LtmGSv@uylj4Yy1p;|kV&L*qeIQ%Ecbm}I@!&8uUv&EjClv=;u zmwr7N6+zJ+buEG(%b)#F>CU?l4MfZeD+ikdTgh|$SBw_Hqh2`SzN(qKwTF~i-=6?A zvNvvxOvO%`1mCHXIG$3diSG{l8}l*P&I}@)2m&WS6bIP9k)`HiGebIg)hUXT+=B&@ z*Qx{mUZ9fP`a1!Vx~Tjw{OFIf@c)1$z6mGe4_VF`FFbgr;PM}g=p;1-SnZ`g<9YV& zQsb7K4wpG|?@6*Ci3e2}Jm7WGu@Y=6%BNo`TX`%|opt%S|c|B8#u9 zQ9ZBz{Jy%U@@gJEy_(PUH$IAtXqWu2{t3%Svh-^UjucqAN$ThCvEV~&uPNk?pW9xuJYT`_5;zA;$3MoNa>d-*P1O97O;_d;D^Uu7bZ@|JFYr ziu}-G+f;eaE*c+kt`hd%7#Gv~QK_6AYRLAK^$WYGo&FGrg&n41i)PJZhlvQ6+o+KP zMC4|)8X`&!kE_V#k5aMy2n8!6U_!iiz-+b; zqWMtZxuOI$1XP44H}@W$0c!$xzMYkRlyWXg*X{cpbe zN&d_2{@#Qc;ije`uYSI*ZSmk`KylUrxPd{%2a5n)fM@w)}6akrL<_A z&WDOahF8*E{X9m7kb(Dh7EsrzW><0-&DX7KtK**^c=oxeF7OKGFFf>Y>ytyoKRb9O zSvWI_$S-}xp1LOY>c(5@4i5^86Md6-tI%p501S;J51JIGD94{v=u%Tv^XD4huHdJ? z{eiWu0!97DgD=L7cg6uMf^v=XUUEhOR6$(I59n08Y5kMrn!-qbdumiL^*!dYsjXr!ND#XrPfzU_1Bs7lt|V@dN8}KHLzs*_B}S?f~bdpYXHnX z3lJkZ-DCZd$j>HRPVS&i3496ognYoZ0cFh^V8->6hG|NV3-@fv z`2@B&6E(&7L@kPkQ!nmqEc+{E=Z^`Wu5t8LN$^{gq;$I}&Bn;;aRpOrPJ5U|dQ?oY zL`v)>4sCXT9?VA$v7}3Jj3#gtoJH0s+2v9tPkV4M3Z|LlK+PI5!)!N?p9Yiq3AB9Q z1b}cz_BS95H?mxmF62yq49wT*{hNP~Z<(A=3Y3?!b)?n>jvQQ_|Gdc(9#8 zucY}zSgn}qdAW*@jb^4mt91mB7`{>c#YC-q+u-fgbv5JS`yCJ7k72F1MN4k_@CfN7 zsNdsd&75fyBdI_6dYB$59xLAywI*eRL}Z6-nhF!G#dW;dR9~nT+EOurl^jf z!L!3Zkl1C7S#l=iCu`Q$=*=u2F|ettILg!j?<&O#(R;J4I66Sii&un;O9R*(nzI=v zH|2}l*|cNwHd1|U*mjsvbk^+4EBIkyVpAVIQ#bIv3ytbMyITl|6AduTUPE!cXS<}3 z5_k2nV){79=G5fP+;J=5k9k|QDnsQAcsEF^)r1cZmtcg6_oD~5Kh%Uuh7Q60xX%h| zzCKm1JV6g~!SH`0DK}P6MiW?a1N!I{9oS^9@fY7lJniWSjus03BWJs+{OeNj1x?Jw zU0`@f$ZKnGzSzUWkrVNA1b`(dm|fE;@%=V%v~>hg<^e}LTSsvKQc&e|r^JL`m#Eko zCMKv;zTdVR1yQD;)QahxexZ#z;TQUbu1Bf$egx;T1HgLvE2^@CK|w4mC;(CH8vJy6 z6>4fg7$z$Eo1OlkBA71uH+0^EKMO=T$_H=UyM33C!QG$PcYQFA0|da$0a2v%khR*$ z>-mb|FT(jJBQWD$!<%!5wz%rBhzrRW&nStfKb+L|VnOLf!A$rH ztwfzzfV4B&ire+eS)~=$Alnt4t*j}aR!%#Rl78m)f@Z(=ZLn+ZL4tzt-`LREy#1v~ zV86_v(#mI&GqT_Q&CvQU)MsEN>Ax@|vJn}I3umK!!Q;Fjsg*E^gQU*+ZyOg#vWfHm zcwS-UkKiE%`pYJH2p7K_VJG)AhXw)R9%^%B@-2G*9x34HO!*!Z_l(e2qG>pRk|3YJ zHN1Ob{~UnITMlJD*i!&vri$CtS07&87L7vm-7R=Ke)Zvq?es@uRz7Oc@=63a9MP2f zoV9(`N{21INNw;ua7_Bn7px5S-#`0_A!Oi zVMxvJns`W0b$87NHRFO1ea$CP53gFjF;8|5ExB63PxHL`I}eMhQfgGk56#Y?o57X+ z)5gn7^BsQkp9hYORVO|oQqb&B)z7uF+EHrxQ3Um5V2yOd5QvRmnS-@NhB8kb`pdoP zMkeRyL%|acy*NY|V5?ZQFu!~pnu3A{K-~~XxknxNZe3mwhn`hFR0$v`52gIF4;jC+u)_sgmK1~~XbPeX`BdthRbnN;Z7h8C2^yJcJ=1C~g@Vd?>1G*S3NE^EXG z2eo|lXJLP^)^J?s>DNW+4y*Tp>k4)-s$>j!|CYO@>^mU7=y`G)QLPaZ_uKu2WHCje zb9PBO$phNV5|a$zWy||>eGuM5g%f7AFgP^B)2|i5{?-GK;d^`+GP0L;5!+HCQ!(J_ zR^iQ*=XwWAzR{+yRm_ zmu%L%TTP(TcKJ}EoBd2vPt)<^$dm3|oMWo?HQowk(GvD(f^06it(6JAv6BR~FhRB; zJs_?FXP5l7L`uL1j4om_f71PXO<2A6h_)Gu=AjFw*!*_6YR_>oGl!sP{tji8zH^Rp zU{$T&=nkX9*iv;RY|vkDtSgnur>{NE!bZE~zQ&kZ04MgWjR1%W^x2blMNxg1a7|N| zTEC5kE8S&gO`pQDzpA!u<3`y3bhoR52;XYdOD2v9?QgC9AA+4R6u!YC-FWtJQn4( z=aXQ!}Qr5a;pug4nZm6=o-A9?1aD$mKw>lT*T`4)7QZY4kwbOQ*U6+yQtV|oCN zdhfw)s$R8xuqa7_;qQoe#Ey!z7+k1b&o`E9Lt%qiH_GGx(Dt5TO=au*usS-53Mf^I zAV@JlKzb7#sfH3vfB*?aKuW06J6PyVA%zY?=%GV^P!$EFmxSH~r1xG#edEmeotgi2 zy&uk(`L+$qz1DvAUiW(H{TRY~SwWA+zO^qYqO&JUCWg|gT!=Nd9SQ-<+YZnc%N4!A z#S^Pln;D)!8-`QyeU3}A`m-`f@JYq^#`K}5c=4Np%mf^bVC($HwYCJ0bV^JzdH4aC ztIck1o{>=i#Frf1IMCjTvGdnx5bWu-GhHkE>S|p#IxM5&VFLuEM`0fCTk95Z-UKD~ zg4-P&JFO)7*&4gqaYJY4A&DKUzAj-b*b>Op;n-?OiparxHcMB#kx_CirteyId$D#sM#?BI>V&#hgLOc&#)mn@6d z>tC)muaOm@{EI*S5e&*al>B+_x(xH-=`U^mpJpxYL!goWrud(V#bLwKe;HH$*AUUk zLkuD4UaHOM_K8eJ(cc<7zO$tnttk54+dma7_wyWPdA3=6-ZfNLt%$|R$F$8zsV(+y z%?p+V)(Fq-+mX?!k8s9WXm=(VnUYk+`X4dPvI~bUKfc2s4m2+*(Daixx39|ix`Il7 z>s~)lT^fTWWeo(}%8(v_f3~Wk;VM)OMn0{6p_*ufMg6*&;h=Q{&CGcVd z^0uHxE;BRhrhxPi?`D8HyJ%vvcNjFpCe8^}rD*~X3&FGegOnEa_B$qR zzf0WB#w!FoE<;W2=;x%nq6v;uYu!EG#%>0cWv=i*OWZ4`!I9_nz7<5rlZf&^s8+B1 z0gK95WF(f7X#*18%kwuj?%&8J5D(Jc;FCk_bc`#Y20Nr5mpc`~Gl@rjcMU`+5UBea zVW=^`czRf(sX9K_|FO`~Bfn?>R<@C;=4k(}xFi=#*1o8I--<`@{BIPKJ%=|_(zS^F z)m`AL*3mz-U$t(1hFw8yYATn>qg8)Fo^H(9MT(t~mdAg~>`S!s7yfTTN}5|}&1h-{ zCq1YZ#q1!5+>}WXWWu@c{}%HJ$t;O9q?6UExdEbi4;8ngm!!Q(>PPk*P6tF%EQ7qm@S@%u<}1PSp@eeV2>!kEhNiRN@*)#>^|* zwO$Mb5py!#a{0r4N5Eq4fy9W;#p@N(cKkzckhS%BB9bj#X5ZABA$uCnVET7WUGRZB zQaJ&eH;MbAZTH(UXS)EMP9`@|%Wo)D7YVQP+pGxt zX{=DwFChAd;d7CVeG1ksHT?tYf<|l3M8B9#EK~dwFaD`Lv2!jYypB5Sr$mz!-rV_@ zk?wysp%4pZYp>fL{;4}9{8xACeo$C?`o}!yFWqVOQ=kDZ^lbO|n+IczSg7vjBVGAR zMYdVc7~(Yz8#J&0r}M4|0budCW@j7M+FE{%`c*!uYP<^S8Cdovd44n}vd!vsqg-I5 zeMZDme`@}4$m4JMRsHad)gR|&aw>z)*SaQ5&K9aQUeOO7G&o?hvI!gWhgX#iv5^L& zd_^GpQY!ATWnFiyB+HD>V|C?7F|5#(;m$+j-V~maLq+ijUzzmPG#?E*pNcl{K(ipD zShDXZhd8@do-bH5YOS~~&DF!NMv}1E0NIra7NtXzysdbXyI^k$ai8w#eQaSshUKZn zvL-he*XUBY^J_!tdU$U%yBl5o@}@ASN4Z7O{)eohmPMb*Y0h%e2;im}DFt zk=0pU?%|FX5p>#mQl4aYwUtK?x>zFb|GU1_?a0TT)^P12Xx;5Fi}MtA`*>Cr0xTMd za?~hKfm4?mD3=*V(qcAhZeVWdwhW{hg6$5-AA(Wg3E8ZW!fa? zYeVd&7CSh)RUPBxy4t_%7}m+}pPwui-==RTq!A zC5SDthKH?AKBU)Sd7Wd5at$8dFq*Rcc}{k)O3|$R){k9unTNeK+9O9txGOzxC_m$_ z?(HNk#gcTyP6SnXX1yA)V@%j#&L43RC+pSm)f4G62N-;#nh&pB3Z;jO5wFxu55L9T4B8 z{|@dfHtAu$`L+H$S4uk?u{0MXNNV}v^F4$6dQoxxZ?So?)2Dx!OyaM8xVkP$G4>!# ziVxq+rQcM^yfaEQ7_75_DW>J+D6D4t!7Bh7F_(!;~@i*N&N!Fn}tI8%wBR%|_$Gh1L^USI!) znJGI>a~fV?=0RS9R`<5m7NS1s$Lv-Q#YdJ$I*HkVR!)-4dl4h4a1AjiY^FWQkWuxh z@!LLwIMC7474gKY`n~Thzd3s$w7%LDW*@fbXQ-8koS=v12&qb}&lYx`@c3`AYr}7L zX^)>SdzkNt+>Fu}&>o~Tna#l;1rzAL!Ee=3^1vnaVK}dQ#k4Orbbp?sne%7;{`fRn zK{X=2AUHekR*g`hotWe333yPmVO}N)Br!4M-d}r?bn>7iXqq-?ixVhyxmg?^|BD!s zN7o?!VE} z^P`NeTmE75?9vz&J}Y{hRrTH~)0NPYO(x;bxmm=QkrYnuAN=is7xLCC2RzF^PIc$r2pwKL^v9+;iB^jQ-e}oLqc~DYa-StxoejKpQ{#v5jqxYWf(B5P>ZozZJY{n^dRPzWgm0PWpWyHZP;K zoSgsUxsD{rAz@8XEy30Wl06U8$Qeo-%4o4vfoRzTpZC#iT%Y7As zb~-WB&H8+{6=G?xTacrAYhotwqtonTD^v|8%r#D|=z1Mn|I)+Qrab8Zq zmEv{HPiiBs)%D{3d5Ui9&yO*%S{Lb`Y>{; zF)o7Cd8+J!k8U^e{$4WgzH{GDiyDrNPA(jd%V_d1)XDliG(hNnGOPdu9* zvsJH6`7;c_Vr#;uzDbsY9BqQp^P+V1`E$h%1uG=WP`4hwK}g*g%lfOOd*N^R@&Fl< zCU3-fsTmm{*IbE77zNEJ-fIusth!74(Z#$xs+(F#2|-s1qyuDG!_i3|d`RY1*?V*5 zg2V^ebAp1s0!P)+dM9j|Gc{`bBEN-En+7iJr7T)o^D&84Q_Nf404j8Jp+00PfenO8 zxt|&%|C!)+6;)pyhGUk+x_bG=xoEFiPsn{lcTV(UH;BUUJ3V=P?xEJoXeF(byw3)b zRMs6S{ge(oxF=Yn1c($Bqenq@)y$XQzgyPvVmR6@X12RtP{_YNo@MI<|HA1`*m(nGpAHRAJPN)ca?`)0x9Pl-JIsj<*wgMg2u!jO5r{0i6+jOb2a^W zH0u2f!oBUG_#YZU=N>4S?Lv>Q#%e{2O}OEER)3z0&v;KuEvuRb_QgBg+)lOOC?8Ex z?SRI{nfU9-3pv|Y6p}h%5dRbvho0I#U3b#dGC%l1#v&Zubu^-Ks3mX^N6yR|NE(7=<_}lD=$a!{Cjw1B- z(e$vR_i?%xO){!D9gouyE)n?FC?QE>q@`6Ss=qyyPt?n~6zN#sj%X(P9EZRgvMP__ zKt?lG{h|{30;Cwg(c7p&B>V@CrKQNCP(wW0syrAA%_ry>h0 zbR#iC3Y3;WEfnI*QBof9+u=RU`Az> zL+M3#1(+)3xuXDP48{v_@ZZRJV<_G7l_q&YUr!`QY#t0ej3W^nwy*I zEa)82O^7yba(*c{hg6m49vN;XBD{-E#J;4o+__wg{=C_j1tlQF(@rJV;bCjg>w zgI7B`O>8UD#y*%dpd&*YO05J-gNGHZArPI1*r+{v8!wO2e9Gwvuou~~QRk93bMEHB zj6sdk2J4g~Nsv3i;`MjZq#28&VpD8eWgi;CfN&`Xx_uuSCvBrq&`R+Sx{BwTf`n$7 zdB>__WvS#JWl{BGFHd0?`p$>eoZS17?QBt&7`R5Ogcc@0%}Uu;L*-^|_|=^0=pF0*o|Et=GXo_w|?-@3QOmo z{u@YB+W?ZQ!K&y-E~gYcL=UD-uxdTd(nzlTB%vzlW(X<{S4Oa4Y;#sjVxew?@$ze* zJb79Qq;qpxvNHwS19QE~NaC8bI<%2?k4*llYeE1fY^a?nZ?1Vh zT$QIo8y(&G@o~FuR%}G-j&$~E>RxQj+@u8p9oLq2Zg_rR`I-_mF-IuQm9S9&no$d0 z-?vwSP9)94%-mMkZRCIS=N}WtX{GdU_g$R1v|kX}voazOP#V>DQbYy}?2;MnZl z;t8q%sVZ)`8y6way1We~R9sl#I2_!wYURm-GUb2V8b#;#cJy&*Z~67^lt6AB6RO6R zQ`THZWU*ImN`LC~xwPrUEV_>twPFah6`={<&%R)-pUtisi6MiT^}Fu#{^SO{+O@w z4np@TXtJ=#IqBh;np&UfI2$LOs{hx?_0gYDdirF(`B!@8gGoJ8TAgc>X^o>Un~Z=? z(NF5C?gs|jcPk~E^38V=BkZO;3CmgW5ATB^6G>a!iVBKsFYq9~$?WkeBB6g9EP0z# zNu0R)ok@?GTRyzeZ0*4h+D}~3vj;Bvt6naz2`M0gWtYDbs@3#X)e3O_Hk@QLX8|0v z=GssDWF{{3?6wfE?^`Gu2iE2}LUM4@Z3xp|MhVS(T_1Kd*@t~~vpnAN_{agUFwWk( zLW(H{NRm8@yU8k*vKGfw)2=A&#%A|;rJPNiytI$gSn8BS$+*Gj=ALNXvWWLIM$%w% zcabKVXp|K#%{n;*)pW(F8s~p!E3YjS`@+DbOAn@djdrcZ5c7l-F(nVAtaL8R8{rsrI*bS;32*B?m_RkCaID*P3Msp5K=b>*III}#|Lv^koVe+9@58WRT4Jql4Xht@=7I?b(})j%;%Ytq4qNZ zqETr$yqZf?g|>pWZ40;%GG$+SM^X=k$+4eaZC^>tz=fut2ggXpjVneWO@KPxLsy=Z z3JiYY%Q>V{=xbQ7Vf*-ex{sXBSH<9Wn0d__HQ*4D3I?upYtDT$r%;=C$7)EV$?35L zBfOmPimvd+vCYF~mX~wvMkBN2ApvM)H`#SDLE7>In$j20x;ODec43jD=^bHw@-C-p zeZ4C^c(wO)5nc**fO#eL4GQ$LYthiumq*(!xFU3t1Rp-JGamiTz|u)-hz=+CEi0Ah zFk|tGj$>=mBsh?)z+6)xM;VUb`vdWHLkh`W zL{r;hzgtr@1QBVTAJgZj`Y6Sx=^2TOO~Q>MvZR4h`*^%ev@L zUyn1x?LTcRsFg_YzZ))!%$DHMk1i-y|1&zf4^U98J>-r$V5Mi>;m)VOWUZ*CM=H-| ziF2vr!KXjYDG|Nqwb*c5G^3r@bM4%rlUq3i{yEoq`(6W9@nnjwqBv)Us*8u9J+g;T1;4i(d%NXAfLpe zEc4_E2My0r?MPj8Re4MgXM;^WB^Vpu7@B;L#Su(IfYs($l8lq9Uj@b!Q`28{4^B=h ziwh`_zPO@NEzfkT3~&9ts1l2( zNAwbJyvnwYk?$$-*-w9Ad&A$UAc|d-zuAxdJoo2$u=9^7M|v+?rzx1fmy=R}oU`~Z zqyGP#Z~xK1hOZ%aXN0M7>S6rLZ-0j~-Z#`+)He$ldomO9bTTNkSC?tHMQ(Y`E>k zg%-U#dzN}h6T_}EQqg|j+U9SC$#z;*;q}lMt*r*Q@p7ioM;{_qy8%UU6BcEJVIOD z)GyvVztenQVzo_E+}>1m%5`+_`5xTVD0Wm6tDAu;(ykM^UhS}izg54t!#=I=$F6U~ zD@8iKoFv9GnbH&V8^CmU_`|fA72lE2{S+!RVKiS^a>8EQp@+-M$?+cFR0#jQJg^IB z*Aj}%t)l86$JW0S2M^SQV-MM4GwrMNBpb--_@}Nu@Sgn46%FnByK;k@tNb2VL`p84 z)Y{f)_@T7`c*;?l*1pPj_p*TdJV0ANda$YlQ#7NzST+(X4%SXPSnJRo?wuE|upC(G z)%G0_O=*g#M))@0h#~kUThXV01SeCE#uq6acVK@MyQhcT*eCm(E+f4c>|x#CIoV#M zRxw%GC-dHZS@nwRaSaR%kSJ=P3Ou&nCZF#>=)Gbc|mFXmuII3!kEj?Th1 zI%_7Ezj^C`brnVS!8Es1+GsKby6HsDb2-l-G&RL@O)}?bhKn)0&*DLJ3GRxA{qQ4# zRbaW*bb?XMcilakR+solotw~(88>4Q)>iW^YM=-UPqZEU3$=BT6(2Mu0=+DRjk zy>n3>iy!6lru~KN4As65sm{8!we37MUnaJ;;h?+enShpPleB$TsW#7yx=&yU0I5LRwr1!+(Ty>3FZsZ}S1L7a zP)GHPVQ^A_H1)c8L@cHj|+`+}w^~ z4OEt4_aj9t?6*4Kbni$TIHh9FgzWC(Qx^u7onFe*)d=v%ttv!C-9e5g$HWxW zFT1rStAQ8!faU{RapCp3lcwYGDU0-|&l~o~sjC+Hi=FUQ)dPm92_j(GE8K-}9MVxc z*bg1=KYYf=%*#~2ioE6~ssknQw2V){_~t0Rvah`AskZ~Csrqe|@s&7nCB-*K&>x^F zQHu2#6|s~_sn}=?(EYL?1^oG$y$U7weOI66J#EU-bQrG7es)wLKv!8w_G1lJ!|7^1 z$By5$wtG8S^8NP3nb>UK4;w^_ONwul;Pzx@D&S4XhUeXr|6i!juo?|oD7B&Vk~IGT zw1<~hZ~q^Y)Wei! z_lx7Z_2Z1+<;?E>cB=k&Y+}!O^F_>A>0#9Aev?{KpFsynr|0A_5Z7JJHw^PdIXd`E zC7YPe>(hxrkfT1VBXMd;MO6-|v z_Vz81oXwm8mrC?;L^U)Dj&A8&WZ^1B(bCa%_}(?`SjUbKD?ZXlKFN$KIj0^Vcumtm z>M_l@n8R4sQg=dbcb2i!zA(KBIcvBfBJd*5LpvMGq&`q4r%fH8pcZV(R23M1Fl;D5m%o z!%IOW?P4E>xg*<9!p;E$i>YDtIn>f=C@x>gu4N?7bKjwz0bO-2TKItK5rrpJ0%csJ zl2X}}e(vd(p9EiT#6#6vxfAzNDzb>xG+&9*eS4JV_Ft!;C4`S_^husw(Vl@x%OJsmUMDN0vgcrA;q*^JZvZGyR4$>Or zp2T_s_@?VP)NCAEB=atNca%c-gd*|=G(5%8GrXC7p`W~}hBlI%>}8FNm-L1T^sDDR z*x&x5iJ?r8(yq^38Fqj0Hpbi0BH<$qafq3=h^f9_i>+o{}K7Db=NmD$!p^ z+VH5n?#x&W50UfIkieR7{HTl=s=D1c&?;La?SU6krblJTL@B81(rql)8!rZ4iQpzl z3%Gg_V}Ugx#os}JS;_WlR#C8z`af{r)iRU(cts#d_LiRx^O4fk*_p-r+==}JR&fE_ z>`&~U@!=y8H;0mWKIb_KbLD0f0SoUSO|qdC15WA?Gl-_6VxTbDnD<7|*7_VSskBa!S83{VOmdY|gGd-vHL8`M0>2DtKXCkq2C?XD>Zch~Sen&tc+Z;XezR+?-i$C7#4H^=wDv)M38=#=xHq0__L zVKtRbeLwF1ayY;Fhr{{s`48ys4#)Ff2{*Jd|1v)PuL(CnGClz@XC;SWZSGBKm-mDI z>y23A6sf4eO!t?r44&L#Kk!eJIGag3f;PXbdRkHAhf4lYCADv&BVX&H(;8Lh==W`x z)kG7chO-y+4d-@=b-aVx_GRfz%_@~2KOL>!th>2&{4%|!qA?6(rnb>T-O;4bdYuPR>c9i**(BDQ zl2(llK?P8qfyv|aBkg4CaWf^S5pHqQPq}+QC%W;)Iy%>;ahlcX3SF(Lee37B<7*`uiPJ9K)7HgbBJ}pBUM0y2N=QOGfC|>JG~%A*Gw`bs3XPv+A= zxRdco%PP6)38FpEp3O+Xf!R6sqi+n+DRc%_s?{4`!1*=h=LC~1npcOK3q;6{*flpH zEys{zuS2@;s=*0m2~V_KyVJj*7QIdTWA2n_#2cdo#8%^Y!2zlPm-*_hE=T&sjxdgd z&pTyjJ{edwwWljOc}*yGh2rm5+5v%ebfCufc$7P>cJxx9QWPQ~Lf}*ODK&pUj6U~1 zD}9vlTg)k)KEbZ06%Zwp+=?H!-16F3lHiYMNZh z&48k-f_CrNTW?xpz_1$S>$-K?_frN0H_hR~fTD4>a7%y{e=?jN$Qhm^s6Yi?ACkpO zwHimg_5=!$gvG=)I;6hO7T9VqyQWr&HNKWS+ObBH~A4V@VqO* zkITvncwsitPC;cniXn6h-P4BxcHFC%bW3)<)VSHw(KPAlXLhDeyIZb^_-Bg6^0&+U z>r0i*(UcZjg7ixd{{2!tl>VEtQAvFIof}HzblP}KZ7Y?N<8V*y&7zHXg2mZ^V z`7qVLIl#+Lxw!F{>VqvsfYR!kq2nv0jp`@&dFug$A9>^ z*K?JG;s*`*g3iJGHsu>?zD9nYY*2bqF?4oe;3^zlXr~#5>!&k*G4SvL$za*C5J7D$ zh#+(>8`ZtdKD?dd7!IsI5T@e-DD-fbyr+Er#hE3`9l9V}+x4ssVv-YeRS~g*U;o}h zb?DXX6fb)vJ9*%N&Lqb>F00wwB595q zU#gp3KrDx5H*QDO8}N&lO&7KyUHxAA%<#S=qu^O4#qTiV=LwBfcLfiy#obcP&`gKA zSV`6aUJJgAC(%}0=bNlQn0__wdZHyTLDxv|;)Z_Z6xmNHwa<8IU~;AT1t1d?MOa$BSe=(qWr_XzS?o2bfBh194X;L zT$2Pr5qilvXl=I1RM82_`G#}JETz!?-Jm5=z+m9D?Pb4pm0^qYdIx}lgfE7D^T<9< z1ky8BrR-(SabzyBF=Asd!!F%PY3uQiO5%6x%)4uqbwAI|89HMk_Wlv>NH3-Z_z)Uq zDRdHEF8}hj|DU~Ei+xiUW~zUlvkfZM{EEyN4EWpRp_F1TgjETiQdElnvuid+!i{De zuU6{VSNhk4sU1Gp?DcRbW)jD8=xqm3+Eto)e8bpFd~}W&slj@(YpB6;<9WWL^J@Mi zuZvTmSp*IkrvD<=%EslM;KgSrv8StlXb76$lR{kFSiK4fIU0yO@*AUp9>t-H@%L&Z z(q1=!5^IV(e0Le-Ffb(RDUgOYGuIlk2>=ekdiY{};{znb-LN(V8ru6pN?H{d6qi{+ z4gzSV%Xd;7b0;3b%`=Xm6@Qexpw#ptt>&>4P}IonUXH}5$<1fjxeJFo*V}xOEumNP z@~tcA?eiP8uGVdfh*>);>DCXS?MSFe)5eG%o1As(8P$SIPEuQJ-1NgeSGV4(PESOr zO8c#XZ5%=S+?p{2ll}wt=D<5DHoa6^+WLZPviG^v2`s7es)mC3k9U}n@uC&ho zwZeA`UH=XReY)2%rQJm(6T85M;U#nVeT!gQ+!|Me~G>UxfL}^T-`5L~ESt+o90vDRiSlq( zZav|fV_YNCUCA?3=Z7f^NjBO_0H`uO1fWx3u#e zzql`ATaIa4{j@XH-8NWXCQ4`o1(1G;DL z^D7f`bM9Y8h5tR$*{f)#7f|D;G<~w-A5FWw`8U&cPm|fmcag&=v&x)ZiC*6(aB`sY zYZ#o73cva+6&B3~8%X!EG4Syo|HeX`Uhj}s|G^6o_F^z1nlQ4o4cBC=Bxt|nN$Y10 zRCXMn0_g-cKJKZzFzN5bRluK{12D3SgkE4nA#D>0;GR{xp_8}s#Vwdpyw_#+4t&w8||u6m^OcR#YrW5J$6AYOBvp*kE>JO+-Uaq4prtU@5rM$4hxQ9tc_Z3 zQw}O=iP<$~z6oLiub}*o#U=$(xFK= zWV_{BQkTUYX__TTm)!+59;330EKfqf?ei0DuXh*6s8!RknwvjX*x`R?*j+F+md0c)ejGJwTp_==2)rl(tQ((J)tyKMwm>EcIt6we>n3{cRXiSjWXRSE< zO4jI8f+Co%NdM82MhqFf^d7mEZ>;m)^bU;y#Wz*WkQSWtx$5O=+tk~tp?C^%Mmnuj zYgBi$_1`VrkGa#8(|;lnJi{Y_*?+2N@NAEyqV<(%I;Xq(d#sM?=i2N8tq;B57^xPH zx*og1;_L--w}^cJU#)Jt2Cf^dCquPD$ z&foF{3%JdZDp4d2J79w0Fg?que(A3(N`Um<20YiRgMFrBA^!n>PU2H{iCbHk5&ZiRr5_G$vJ$O zs)`FM!<$v{UeY1P1KR$Vsg11TU44W39V6~52zB5ayO%EU7X;hc(%^^oFQsX!L12Ur zzTh6G?j^q68e*QLb;`C7wZ2T-r=gfb?FgNG@&T6<@^rJlqzK|)UVNX0m8WIb5b;UW3qGUt*9JK~>4 zxD#^gs1cZ?k8piKdEP9!=j4T3{DPC+l%72fbukpK41h<}?eEW!0syBE1jqB^XYbJi zd=f3Kyt%p77aBj*GZZBv13;QcZmk-7Tjd&Y2$fh*IWhnOZrRuVBx(g1GjdQ)ckGNe zjvlYPP-#ezLhdOK8XKb>ikeJ_$04g zx_HB))T&Urrz0IEQhJ*76}92#b7IWj!%W`d$*`a3>zq|Y?%K&2g9XX5MD`*x#DRPV z|M=nFUw3MV5BSfWJ};2@8Bh*xuCj(rAD;K|yh)&R2cb-XJH>oW$ouO$uN5fCVdXbT z8RXqGuwBZ7U-$F+H5vVEASiI8CJ58wPx@*uFUez@;8zs$&g)CT{+HO1ZY{I%Gs?O{v|KUg0 z316M&7%7nPdB*({qamaS1uu+zQG6wzm$#(l*e);RsT&TDPUE*TV{-aCl({57oor4N6?$!?!w~fjuSZ!!9GdZ~2p$?w>^#ZP%Wb9JPKhlFJQ-^htQd~hAi)RsY zlD9?sTg+7I6~5;DJeR>qdEM^=(s!ZFeQzj2Hs4!zHUZ7K*?;_U^!<$w;ODu%hm;W? z6#IMth;OpL9-Z^y8ap;*M>d`Fa`Spnht3b5U%yg&`cW>u{~Yij(rGd*ynFjtVat+| zTD{j!S@`|H_6GC;E54%{pV6v<*UtZCVl>YSK-I`r_6qB%&^{?fJo5zx_5N1 z8f~TtMMe~9{JB&=j$K`6N^uP5k6-eTPZG93Z|<|7QHEs&Wb8tTo=emCU$6er+$0Prs8u(9En?9#7)jTNZc1J&bw zW7?`si+W@4pAtU$$3HCJSo-z)gDAN1YqtX^UsH$L&CcRxH4|JVvSP0S3=_fs+ExF7 z4%!0K|L*1mHW0FaMmZ&}v-P0)Z{W!Z(Ad=^{b$3A_(e#Y_k5=8p`(_w_|ozX3c1)& zi~oQy+kbce$;BfgRrUlWKW$;|nu0 zkph~We?gP#!NU&D|KO*;Hp(=D#yG0`^TNl?1e)E)L%V+gEC0uaIEozp6#H>vDcf&R z-)@JA-%X&cF_!MQJN6e01}1!+=oB&cyZnA_yXo4?4F!J%W0i6-EMRs)lK)m)M{6s* z-?%R0g%T}n!TGml+Uo`IQ#WxrqEcJB*pK8uGe0rR4Ap$bD)eM&ug3BCd*F~~Y4}b9 zj5VDjSJ=*^n`b=Ol98e0$TPBja4UXvvFR+SHCzMD%QJx@>CzX-x?^!y+KXg))~9n_ zGwwi6vp0fY_#ATeyR$} z9z0+LwRPz;_lOHbX5Xpk(H050?2(*~)Z5=EQ!zbK8Ef`NAPn+J)vc;6!auOBl2+bH zfDS?jqtuAPRo;~bB{3K|3?hjqYnmBm!}Akf+6D57O}y8DnO;&?_l5@IE|L?J8aw-6 z8);0JK?AgQn_$;KzV8RYr?x=ZBwv&BM7Mhb1jm~|iS$>xs@8ryziTT#lOT~->K22^ z@ZVA(#uEbEkm^>Ijc$%F{7+duy`D{&ogZ}^L%jVh7SaNeC#+uP7euHa!Kto_j_dD3 z_o^3XUa9KlQAz2|>Zqjjba%A2CmN``Y2y)QM)z~SY{mybUZIJ`qzB0$6Gije^m(jU zdu!5rHN~42+^}LDcpdWQr0#NlHU~0TOj3(ipICVX+oz(!&?|L?E!gKRxJ-KS= zkX9N~o$y`@DRF>;ZJ$g2mHf-@iA;dpGqUdfapCU0sRC)|bC>uDRe&a2x{9XdUVX-s zV1zICB$HMre7`&r>xpewGp;JOt#?ymj7&kq=#|qQ!5w&;UszQX1Q|(wt&hwY3d+~q z^QI364WtqI7>A|}Yso{lPy0!B?E;>ja!0VQmeWQJxxi{Y-KILaD0>#k;sYk@v2;i6 zyMp(n@~(|_xXI1_?xuu8<2V8@>sj4f0xQN(DASQe(N-+-csut;zJNqh(Vo!iS~AUH z&!&|_p(H@wNo{0!0hCt~tkGj++j^Nr;;6jTe-QN0D5mMAq`5NEbVMt4eEEP+Y~eF& zRl*vB+&0El$Ap;HU&_*~YD*w46xHJlhc?OagKKW|)GDNkbRak@)`Vrmo{%~BB&eC+ z%RaqTZqsfczB#|URWiCpkF*HI&8cr;rx<-xOjzv51+A}xVZqYSk-AGMg_nwT!ypumaz!dH@|8{ITM2k{z8*0kd3 zcrNvP=h;GlA&|uZS|dg&mcyWiKiI1E{IE1MYA7GsCCfpj|@V|aNL%)nqwq3A4U(IPGre7Jn&M!oS&2_CH zv-q;%m9?-+d=l_;Pfnaz6P6!32<#}PM)u0Wu?wV+ZIFfqq`OjqvOv$Zv7{+xWd+tT zo@eVBStu!tTm;{jgKaT%v7n^&lgd@&XA=hE6-~KiJxn={*Y1{}F!I^hCazmUl@*>l zVv&_lKi}2|T9||Wc~NoR8gyQkLmPo_5QXXWf@@DzJ~nWY!*V|*wBdrqit8dJ7n1DO z0pzGWD`LpzKG1O0V=~#Go*S%-itX{>rhBqu8J#1)@~)7LpN)k)z*p6Lm)S#5Y!z^C ztzuN=H+fC77fF(i-NuO~5_WM$2@0B#-Bsm%);V90;4Ia|+sH?}0i1YCIczr?Q6r^N zIQ`9|Kl%t>Df*k$#Zs@Jo2~yJMQ0k9RQmVfHY+ooam&(d%G{8!+%t2gOi3V6P*Fjw z+yTMFEj61gTg0UV!2~roTyX~#5i2Jx7hDiG+{)D4Ez>NU=KuJ-JulDaocrA8{$1be z%N-JRO9rl1J<=Mb#gXc#cYwsC4C@}v9j*@aKWnQKh zqFk`2(s_=n2OhSolte#k4>lqlt0FuL_ zAmH`yhbabS2ifDQ^jLi>^`i+W=ytmK=18#~Q#{hCu1WWL&SA6!m2fJu8QUIA)=--s zsWWDDeeW3=>E>U110mSw*?Jub^;h62+=fQRJ-$KQCeW-#-e$hf0<^K`Yh$4xh4^k~ zgVtY?JZ02CaBx~%poCki^LVUy<&5%@yOAhwP_ zgcx;uf!EG{jbQLqqWHYyf;Jpuc-_h;PI6rHw-n5v}(s^ z#ipYee0O=vkFoOp^&A83XZ8SZ7)*0Hr$}vhjg_qx><~c5d$M#3S_P=>C*bDRLRJu`yg&AzBHl1%TwTgc zIMxa3d{QYqX5dWCmD+yij7tA9G7sR93$kpgCo|aRkg+_68eQ(;h(8ZED z@reMkRh%-)9b=Q{Ej#4u4_~-7_$Q}rVh7hbmr^;p@Absw8?jZa22h`CWdl-CD=Cts zutXhou+q@T!4&BFUh|1fpnG@2@h(?;jFUuoveA1&dH#k@UNpR%a&f8D*7`TI5&Dsu zvnY?B9e#)j&xyz6LN(TAj-nL+YSOZO;@keL4|bCN@lWTZFdVbB_U`^n)O=| zgs>@8vOKMt*rAa|2>Y>7$&<9E_3I|q4qv{oP=V4LPV!1CdE_TW|Jz;=*H0@wk-O-L z3r=$EZ?_u3UrkH7P)1rr`%O+iD!m%3)R74|wMCub5OQf|Z~E7KvR8ckaSpdLr->J< zyNZacr-0+?>YM=Zm=?k+cHC2&cc^o#krhM0Pi*dEtXA%i0`XW7hX1>svf4Xi@Os`!#_LTt(r;z*H%lJOhyLLONuF zcY55ZqtX#IGw8;qw|)xWza|;9Z%b**tRX(&jO(XJzZuj6Sll%hWrw#@ncW$u#yk)X zV0GN;Jb$(`$X<`NEdt0L3ym|9L__OqWfqzPQzn>)tePP5V)JmY9+KBxPqZ@SaKokP z`dj+ji{{yF=NDz>AaD117=)PTy7sIGh5!Cc3BEJ*olFpRcpYIewA#@l1C}J~thN5S zPlC`=|7l3P3*u)m5n@FYnrU3@2=I3p1(7dL9W<0g5`K<1S^O*kfL!{sq#q67qBwgn z)M)5sd@qR~64-+W=LGoFr1ZkDw2MN44P>H9Wqzkr7opJNzuFoa3NLy-miQXXf$X#l zbB157b~fMLtF~|qBT@)E{45CCMgM*v@U9OFRiN?B;mnzs%t^>XXnWWviUjcC@4^$o z+bK||<(KCt1AD(#>)o8vPrQx4tscY9N*=DzWw1({I2 zKKGI0CU4Nxz+LP(k+GRx@CW}==mmI~{mh-G;CJR&g{xWf9m3HJ)LB7-E3Rj0RDO)@ zD0O1NxoUSPNE3t_=U$q*v$x^-tqfx;&&sT2SHVN{NL65Hy)lrNcprbN*CiBmeJ$+H3Lb>{V-(lrNzb!C>f$Ox0DFM4mMEIWPb zY;?!03N+YP8H{^Rcji~5N^VTwtD=?sO_c!VsZY8?PtnNvu3gKMx96irsJzmKqcEGr zdNXYd4_?x_?guTvm+<^G(7f6J8K*I**#TM$v*z6|K*xh3Lk>>PSP-aaG-5jWadw!f zwaiVGUjGYHG{%NKXFFj%ko^m}a&ZLDje{j<@)!JAJ3tFq^ILp#wk^CjJHo7MciJs zXL|n9vg{`Qomg5mQac{hdSaJH@PtCkf-6%J!(n4cKMq1awTZ-Q7JlE3NKRX+id6a=Lv( zZ-|OEdLk{WXvM$!^1?KLR9wj9%+2^`f0YAvy-LSMyO=4cEIhob{yv5mieenyyhug4BcMxp z^T;-r$P}7aW|v{ev2Z(H0kH0B@@IAWFn9+Nqy~V>!={al(!QuvscY?IRqFyCg`8eQ10ly2pS8`tdj@Y1U*dS4^}W*=MN z_*x*23}63!wIJ?DHu((yLVB}{mUBbXDP+==59281hzGJ*I#hSxbwDON+GNtgVmx`c z@Y-M%c49~VQ-0t5{zh^o=l$EmDR|wfD>UJ)jQkEXmg9C`a_y8M)OfPsWBarAXZ^!B)lv*lUy#rt{lBuZ z2S>b+L_{}Ae|S)2H=8>&O`2fD9o&TyG(=eJ8_eE5S{xAmx}JtuP>G2?ydcT(2U_?B zqI<^9?lD4i=q}$VToXJs*%=0P!A2gVfG*h`NpW3#4HReM$Fs2zr01Xh;I213l|fcJ zI<-(xzuFHfs(hyT7c4;SeL=L<-TTF7o|<89GrT=ngbvk>V?A8{ydB-?GQvI54#LWv zwd~&P&M6qSeCRza_Q~bv6n0eR3&pwSKjduY&rg}Q{F7p(J27;h-9;qcFs29>@0;T1 z&+}-J?mFo1<#!4bsU)l&3NB=zh8$E6{JqG${NN5!g@HI~2qnrVl3n2^l`#%wG?Yvw-?E_S?~Amzzw(xQ^H3waltFVbRG z$X*@k>tf+wiiZ&(`+@lnhEhxr7W${b1DLWoBRj)B;)R5m*-V5-_%#Ir~-)o<~F^57Vb(fz^svp3Xu?sY1xpk8H+H3s{9prY&9 z6YVlFA(7@T?Q|P*Eg&*77B|C6scUGpumI8*_KPX34whlxI;D6rloa|uPk0btZrjLX^b#Y9W#2j)b)#JFl z3EHopPmT#&?BJE)#UmoVJP_o~;oYnC*4La$avz(2EWB&~j@V zN_XQJ>eZ$`+W7L7alXBP(qOabe_homT^e5d+1ejC>y>dC&D_wACGf9_-EretE`g`n zvA<{Ygj%quE6Q?5YA4}g)=O|`RI=;!coW#IQ1}EDc7-thga#vty~u%vM1H?L=1qfd z-T-MQK~NE)QgBhWp%t?TwB??tO%nU%ync~OLt}paQ+=gJxkQj}e4ckt00}!amIj54 z!yV#*u2!{x3frNa)6g#Ty+@PozBU#CKho#2Sb9a1?0b-6{*ZV3vHg!0M~#Tla!F zUqPur}-slUm0n zMKFar^s`QF!#JtSvb9)!buje_#NWGsB_tK0N{QGTDT}rm+{~YuSmL>KIUOg|(f@X#ns_-0=Xslrpd-nN2I>*{(k|6MCg=XQE5GN7?ctgW{Vx(cuA*|b zPIdh0C-B5(nl5yILJSRDh+RJ=y0$E7;W$|S4qjn^ewT)a+(;*9IOh=tW~{HiDT}%4 z!|LBnbN8jx;B}iXJLpzk(jAZ4%WT=x6;1dxW3US#rlu;L+I=-*E?|9Lv%kMTC%%3|7-+sUOG6|66^G%&R~Ajq<#oaWbF*H+ zA=y{O<;U0G=q_)9^Ff*6*5==ikP!Yj0$#I***$pLYwF-C{agesf9H58u{0wEftOtl-1(9NxjZ#ES#d&qPM;nU;7n3sTshPYF|3K)WcBi_j?J6ZE?33vh(dm*IlFP-RcABHpOhSvz)U zLwx#h!BGy8+_AyY(%-P|buOHE0nB`j8=Vg-wFXZ7zOW9jcjjcI8BgkzWcdfcgcgn^ z0LVfq!qf>>3NMQksB6{i4PlHzp`frDmWa*&*D;p)NRqwUJ!_M%y)q5`qGp~zi=n!- zyupT695S*BaZ1py==mrbN|=)D<_AtI@_sxV+uR#`;DBD-rrKjItEwe=%-A#Fa;4@- z(ta|BgEEGGnR2mhXNNdzZn$-%j|J^GH}yp)0o#shG2?~9I`o#;szuz4Y1gbs7|M$d zeSheeLdfNI4E7ms>mCHBGtC?}7@r)IH)rjISX4{hEdwpsST;&x?Z?yII8uh0`fO~W z^>WUd@N!Cu_#>kQdmhA zUtqo2_lP~_oPgUjHy3`fF~EUSF4iXD3DI>DSd>)n2_+S4nSt7NF*D{TF^LT!$bvUL z$jK#XbZPy@1{p&Z2ar_pB%=ns(nsaK4th(PS~4rtnl-2A17OUKPVy=-lMN|-!#ReO9Z;LPY$qMq zA?B-mk5`=C)uD?4RY)S;^*S7u1I8vlCXrXFsS$4V2TkF3?*<|QEl4QnTn%6^q zHA~+d#7YfZVC4M`!s^N)aoS`sD(2H;Erd!9us%pP6 z)O{yAQlzCM^0a%mqUwoy>FbF@XG^p->ZGdQ51aATNtfM%l#(|6yH$?r2oU*p_3q|(=3M!tRubt*9 zna=Ek^981?P<|(iKAy~x2a(-RDPAqvvTX#m*i;?4<437!}Elv%`#wso%N~LMt+|337@f4vcRKvPkwL<7BAJB#3a7XFO?%?z#xvlx6g$bZKz+g@8V zGTTbIvHT<*6MLX_Kb2DzCCGNqoZK=}fNvg3BZ~?9A)c()jl%LebN)PmH?(}R)PRk& z6E9Ue#nu4!c@s|?txAihGebkLM~9;lxN8M_YhkW^WAG7%LBq)=Q4gXhFEDnYuQKM) zhuB?fehR2?Us3&@6~9NEu!|E{GvzFQ>9EaWzwZE^51gEB52CKTv@}Hdb~E1qKuw9) zpR1pRx#ubUwUb08;KhYA!Noo1K5H zvQ+K~@tCQj^hMo~-FyKYv3K^w#1x_6VH&puN+_{#JeQgE8lJB|%^P}O5xXo`I;v^3 zR{F^A%F9#Gr4$EiTwM$qI22v8Gp`vI)#|=lORuO&fmZ%kNGaQvebWh}Pr2&s|5_Tf zeHI-m4x|gEE-&B*yC)kge#hd^&vb?9H>og%Ow8qXUh%Rw)d!62an(Ko=iw)|*7U|8 zxsXQH@GfMdyw1P?%CDkY6cdjx7J#V#?V``^YKt|M4C9&)*50jsG;EyTJ+K%LoS$IL zDg72(d~4sp_z=jTKnQlH4%`YMsoxtN?3RRF;X}ux&jGoC+121B$hDxufhB zLFL7M;>Agiv-c*m4clOr6%}N-e2JuGIa6%O@5}acoo|H@@_&r9ax^k$-NFCekFi`$ zddC%kqLj_gYZAd+y{MYe3+E=c8@k)Mrb}uo(i)@A3o%{1=*6x)gsM9$&}DVGw$0$C zDf7K(;#qNcqzgxFj25|>MoqwU^N69ULyY#Z?j(u;h`Tx+bP!JP7LM6@*Y+8K zJr;4uMrPDqw6>&!q~8%u>qsa`UB&TAion%MS1e3oWD$;Ee#HnEpFT$m^FG)(0~;T0 zDOA>-;*c)xA=plQ;Oyx2Ty!U~Bl;h8Cv$RjOtDL0x1q8ER%jRK#3SCUKXEisn@UEZ z(P*2Jj@Dse&CEc_uq`>FSJ^^s>x=bl(rvMA&~!cGLQMA;b?F9l^2a|;zZYw}Sk^7% zQH!QYDsa(muneQhOz9-YE>f?J^bIkO7f6?ghq=YPde1y1ONN>*c3$zvyg9b_#LWNlfLMe6WBZX zM{}3su#+n58!5iFzz56`#?hW+PwThXS4*A zf_US9JUxA^ykfV@K%^zhTkiKteeR~Tajbe6)y27lwac&n-P`g(?mUsC=nuzq zcpl#(fcwhlM@Qoy24Vf|eTRL^LN44%^<3RNv!Cfn=2{^!W0@nybm91E@BnpS((D!q zYp;a-(in)DcjiCnQ-_Hv&vcF{v7Xw#!c6^rPeclEle%r_N1Wkd<4x&Km)xwUkUQOm zUysnDA}{TnZhg^&SD*{QNOyo3E4gH#K!(vmaP4!fS~FOt^Cv$#=C%rJ4xeEak5Goa z*_Zpm_RuPQyweyd+13P@SMvAJsF8r6rr*ngCKA_h%ljMpnC#djQ^M=Jtb4#*vMeMN zV3ltg&1~4~uajQqF~Mn)b*dFDm{j2;m+FT=SnP&t>mGzE7uhFb6 zoqV6bEZ9A|kUQ=%%_d?sjmWE8-*kcJ-*j2PS_}3lHCdpsVLFT`DKb^qq1s)mZ z9`1S&8CAo?L%peekr|iF@1|$y7~u^{0zwJ%k3_)DUENgFaA+A`#8=_8uyS!X$;EQEKFaI9yiFc%UFE=gSJdD*X;IJMru8l>AF@@s4sy3u348yeG-qb6<%8!+ zCW~&%&>Ne3vYu7t0g7|s-w!DYPlZU?C;M)u*aXX6=CpjI)ebH~(_Mt_jh_sd%iYNf96e=)%q-YERe3!EE3 zHcJ|oE}S-)C|~JIbfv{kDA2}7b?MzAFz?(Vk{km1b^-s^s&Im)l`3QH>|KeZ$3qDctC=kC?C(43{<<5j>kgYqlTUXJNjPITDorsbOOvuW~~N#U^)Mnm|QBlls?QEbMy zfwXsg@=)Jo@|n6Y{gH=Ht>EVcA|B=?vXEN_F}OWtckAmd$``cOoXq?4V+Scisxrg% zy;HjBOGl$mjf#%6J;U*a9wDrvLMAODJHMH+Q+5`k!}*%SaR-N1405f3^N;m;=7}8~ zx@Kg*um-X~N?t`4(D4d?zW8kR5;>029_&gHWKJAf3%wE`88z`R z^FkbiK~(j2zCz`FO08jexI$sQ^m(Ub5k`-xrBd)z66E&7P1%Q*T*vDrCcE*cWb+AP zGhObz)11nnd}fnMy1&+xcZMc9HsJ!V%%Pqh`q_uNfx*vRy?Qqti)+confM;IR(W94_PlCkTWLe6nbvxP-g$QlaHBytqW?;z`X*I?I##zFYP`+I&i`JqhFkxU^O|xG&F(6PbGV^ zi{E9ZvMmbGJCp&x`Y6$Fu+ydVSXd*pAc9H}hQKz5lyJS0&+^)pJ3aozJP zEB`$_i$XD03jTdnzo2ksaIyx8xmO#QKbH}3;8iGOt~o1kj(IIY$!)}YqS_j%gEuAH@f zJR=}HG5a@gKXfHS-b=E?*1wX{)Z@0<3&{A85)6eXgpjL!^r=ts2jeu(!+fU%4C)}who3#KBy<3qn1rFp# zk!LN^9y^>bFAi;pJG?q#YyAvs*GWf@Wc8LJNnVO7O@oU8^fe2uU?}dAM5aw91qvOLaNxQLKb+b@oUYJn;yME=M>r0naj{}R-{*>PB2?2 zd<>rK0>Azoun=&$o`^-xIr*x;D-k&;rjHq&#d$v>`r0=;mLYyVa5Nnu#*R~SFemF9 zVl~ULzUHe_mrj+N6jju7EFwbN0p7Fw$ob0vp|SrYV5u6?R&EO1fv`qL*z-8AjQ%?P z(VH4ZTX^qtH^n|li`rpNW% zPr(Y!tE5>&(ABvZ^UZ^U|70?@sy|uj%m#R;3| zZr_n7ug4Z~1`;^O#iNvS4*}u;O z7rewu?E}>2hM|ew1Ie_RutL zU{O`y_X2Do|F(hKg)X>pkGkQ8!RjcQJqZ&Fyk3g)Bnx^NRai>fdKtwk-2#7_z!$Y{tGd{(vT+^VRwJ&a8|U zf3|Z7Yy3&`a4Z#t4?++}{jY4Qfor2ObUx}bsjdCgrA%j;)RQ)_N&W9fHtd{vn0=}F zR$qruej+#ZG17l>&MY(zk}_0+6+zFMK?*lMpX$0Cq5m%5yXq3r-m*z2dev2_^}w`F zQgM(JzWjK{oig%{G=6|+a>(fhhJWkmqb-$PLkmx_6A$C>dGQV2C38p(=cp*n8Y57J z2aPzie>DBZAmiV|?5+6uO;LyF)ovL4MDD=@JNsVX!nMWIt+G7HR-d?x1DPh zP-7(%G=A!hfgUiZ(m(UQXjKlh3BuVP6bW+4t4q%uignk*iO0%Gr4KSr&7sE?i_a_s zL7(E1r7L9rxy3!9Ud;QqoNkcUE*F2u1rvS?Uw_)nt0Q-&7c6dOcIJy#ZXH0@e-oM) z0flRTw1;vBMMK@NR+(<*UD^WRwckCCx`kServN%@0f081*A=Pt#02r*T6Vb z12(e};{E0B0c_RrdW6+o1M_kYNPP*{vJ9?Y~Xk}$a^tJ#rK8{BD185I2vX86vR7uluyH_lq^JmS=1{}UxZ zYm`tlHrKwK65GB3edAg*Bg4jLL|4YM)^GK`Fi12?D)Yq=ZnJ` ztn*`2S1`05pMJN)Zf7Ste;u8ik?w4A&bk;jzn^Jiq_*P}t)#~AcvFRLuEl8^!Y;zt z0pmjb_7OE%%e{#WEIoo!S-Cq>pmA)je*_Ys*D9Wv-_NvP2-UkS+_xjBxg34R;$Vfv z!R=+6(Ov7CI?nio>aXV_#}9WldXiC_L27jKBxy>tqNyT7OdDxcoryp}WnGiH+{2Y) zRKU7rhvD|U)$8>18gSsI47Pc-PUK#yDWaQVAWa^I+4t6Ir}kTZIc

QI>Neh*3T}S)#W7;3@loyLWQvzHV{d(MZo4yddpAwlfHF8j&?&Z>Qq zGWYzveMnxcotKK%N$_mg`XouU5P`+mOcM9gYxOLt@mTJ}f|Su1WbE%2HS~v6)3pl@ zV*jaAgW)c_5X8pz^jq84nx1{^E(Itx)XIFMJ$r`oQB}WjtF#3gX9(@7k^hd}LCC!; zx{~QS%)47K-$CziUn-!=%JkQpkSX^@DYE*Q*@DG6%c`Lm6`q9`+jy}jhD3!nCbTT1 zhJ^(ah0Dc8n7Wqx!EU085v3<$jrLUVirk`ud`; zo-59rKBa|&-uy3)|7SsgYVEmLol9_ zngzN2+#B5uR4ly)p@HAULW<<)HQ9Bi)|qE~g*+|v@RxS?wH8o2*Iy4iV-0@uv<)2Q zmlQVc^mN)a<-N*Mo=Gp?(_9H=xQs=Npg_iedgVVZ%nwHcZKVmG|tm5zo=(?(A>Sy`Rl9 zG@b%wBw64l5zQQK-eidCv_;&!h%{bMj9pRV+hj5_`%%_KZ5GBjs>&o^hH+YF`*&qW z)hBc|w%c41&H-3~G1#MTtar{b=Hu3UOd{E79} zz{lpE>4WVNaT9b;^~qy#Guh4f`1;Fv23PaVWnTU;VRf~(?p$uZaWNXn6tG5_mzaMO zEfIVRIN1<7;O{M#;?3RLX6#teJ{ao1PF>9QyU`)z1ip)>Dv(V7&pPKw`H>-UjU~Ev z3yN5#UOp+DiKhtGrG$F^mZkvI|+U1ty_e*Rq07u{&nylcPgYdQy#kXq87abghZWG3^AUo{($ z5gh}s4_KdOo+dve_c;*+4m#-SXw@`iZ^DZXaH*A^gn5w2Ez9k#>r=BrT8yUlis`GHUq#mPEDN485pB@II$SRoO zei!2V68rG9Lu`Q&p{z=lh+=F^mPpnkfl+FtO^t4kJaXEBXLfDua=2uNUjaRJ(4DUs zJ-&6`5D?JDhhHffML}hrqo&Xp|$#F zo-$D^K53de?>Ej{T!CXL{i?2Bd6oDwT$OCmvC3Cf(wz8c*R~kZMHR9NVES!MqxIrNVl}lnE#hR!qnkVCeejWbgg&uq&XvxX zL2L^qOM+yyPfWyQX^v#c=k|AbqxLUSJnadiHWey(3k0|V2gOpXrBjd^ybX-b*3s| z-k3K)8@VXBX1=BA?F(aQApngSpa}uAhJ4>YG{_%XOt5?^3nXu`@?0uuPW3j<4RWb^ zp*<>P87agPJi66PrHb728EqlH9y`W`Z0E$(tO*{~%m8vT0J)@qT<$ozp#`%-fg}gF zJm4~^{g-dtmmD=J1Wq3I zkzVU2ij*)fG0HfV|3oscW*E96%69O?N4z$ZZ(jJl;GPb3~< z7%IDV7wi_ZWVUDHsvDbbKo=^ECwqxEY!IyO;-%Qhp7!gvH0>)a)Yr+#{i zHz2wLmOk5;MSH-xlxNgQ#0b9^7@gd2c`9KYkE&R=Pg&0VehjP!U*iH7o19TgAlY8V z+gup2Ud4U0^m-}kCb93g=(pzgd_D9A^dA=1Yhyt7|LEpCKz>brZE-;B-m=$n_%gDs z6!ou&h&$=qm#edf9XFtW8&JY!U@Ffg&*i|%`)yhE8xTepwF{OHgD1XDJ08oxZ5}tE z-fQUrx?5=?9`gT+`BMXK|Hjk0-+=bgfNWYV1tff1stzJ1_rz!i`V9so(oR*+(tdcX z0FwNAujO#r@R|0{fkq0laW~iQ7i-8{oMn z2Fk%OAbk5*L=;>b*Ja~n#HxA^36x_)0=T^G=M8A>21NfqL56|V=NYGH2b)#wpOrpo z$xT?P5tnqA3oGWW4t_RE4BC~>(B|Z-x)#QRGkHgzu~HByZJ@0Q%2}3L z0NYu#)yz1ZbFkTP2W)QZx6jZ^((9pP`JK?yf|H1RciE81W?{YQbC%D5NqhBgEQGXJ zo@ctr-P)A|t$Go8r;RH>1-hHp&L&+*i`BXRAF~~mzzeCg!Sps3OlJg)^<{{k)%nL0 zFvh4yrTh>@f$*_kN2=IaBU|SLE`R!hc=n&ZAZ1w)TtZ$jv5`uwm@{@HwV4+35+hpq zQVo;XeMwqoU$@COc+sWa$4Gi7(^%_R6~jN5X%>?yTZ9lm|e$R1C@)jJ+iG9RqSyZC}8kN-TZHK4pq3 z0gz$yR!eY;_4()ek|hTKc@7l`jh6()aso$y7cj0481}#C{)O9AHIq~L`7Ox;AhlHa zyb>?C#-KGFe<@1*@;sFeKO);r`%)1=S(>pM5D|c^1PQAYiVN#w;&3skgnvQ(Ulu7S z0!nl3qp}R7`u+b;_4fZvg0isg9&Wikb@Ab^Z&@;$ZvJPdT2|-0z)1ku>8^>z|i}jy2akfxosTpvA@bcO32<0%bOhKz+%8}4A7@;y#(6T z>O8P-RN)Ov&_MogKoy31zom$2-*o%U1&l2LG({*&(CDq2G%zK@N&w=qcVe4vv07CA zEijhhHBH}uxP9wb z0vOE)y)v#jZlRuh-w4R}4Bhh_NOzkZ&7VH6VDNSK22_6ovOLfEP|u`5+<_S>F{XKU z`}1i9fCj2A1RZI>II?~=p&*f=zk=z3ffxoXfY5SyoxAh#wC37xOv(rKPd=bl{S^U0 z*3c2{2JZO6*$qg;?Jq-MU>`Wo8L0a!TSBYGD1Gs$UMgVy$`e?;dASww^4A}}vlGW; z_agfi>9$Q5AFP4%;|4$|t=~iukVoF(EU?VR0zeWi9nig{{*CSH*o|fB6IniSWeOK8*Js9C3 zF&x@xe>}V%_xcp;kb7vA_Xf01H@Qbi!*XTu+iT(F4Jg!a{Yq^e@Mjz@Z$SC(91WqB z?=ck@J`XhYg2(lx9;WP(|HC033H!Hh&Lw|s|EW>-i)TO;!7yVywiE7Bl_yZMIYT=a z>DQb|`4n246+4-4JjJAcfH&W!1o1;!T7 zW6ly!f-C;R0LUOZ{$p=ExAyjpwOS<<{`EiR_Iqy752K=r;q*LBN_GC?78)-?%av8u zF^Ap#98s7R$G6MnCrvAf6{{@uICAOuPi;-2ivoTL@uN;75U}~S<0OhzZ#k6X4^xbp zvjA4SeKOzrZ>*f%HjhqOs&>0~4vGGMY7N%lZ0y+wKWJuHQd?W=JFc`!?Yj%vMO?D ze1?j>(rIkU{Y)+$oh;K#Y*bTCS6Dm1X(9y)gh@kzUJt1q+1QaxFKvQ$dYBR(BvN_V zZa=1NpB71MXbCM*38&3cQ1`NVQjtYA>)^v_B(gO>F(4`%4@<&thK{M^Ts?4syBrT z^r>J&&U6fKiUpSLEhLWgXTo3C&I52D{NWc#>_Ah{|q>q2>NV3k0zTqq)uI^U&^ zZKT3Vk7SD!35{>+D zS5s0?pGGL7!QZiOM3kCHIwQ^C`47qyX2*D0W7T*}x{1aSYMhZaM3D(GS+-!ALf!VN zEOpLEAtrjIqUZG8_d^-Yp;p*rWo%?>OjY1a9r`UM#N*x~)(oB3KY)L|JsO?=2K$P5 zb7R%Gfv4!G;Sk2$1QJEogyh6*K_U&M5GI7uj;<*%srV5o#JrjZNxF;?-H7DODu6Tz1dxtOItnN=l#04NTSyyQ94ktgqqVsuyq^&&Xr-jWz~D_7&F0?S^@$8ZK;Nz5X>aQkkwS=)vW#{qk|xTc{p7*eeAJL! zk5i`*yUI@3&Hbr3WRr6=O`L&a-DF5kmLnx5MgU&-_D7#C#E2DTYet>Ky^>x1%882N z(GOv!7f=f27^PHsdxIi<dq)pj3=zrL=eSXfKkie+JC`{6tN0gUv zwD~%_UQJj*37h~`LS>Qmhq8aw*JVPD5M}B`@t{VIrDFs0nY!O(|NXUvLv`%gFUYZ_ zqi%rH`~$t!8*Qh49@Ei`eLTs5A;)wOSiCaa;K?` zW}1RTVdv=VTz^le(%`DappI5rp4oImQg^ho3=o8l>72&`=g9~i5~p@%3!d^HhrdBoPt`wcc0}QDl^1e{`MybB$(SnUamG#1UkbIT6Mg|~hh(j`i8AR0 zf2H8$R1?x&(O6}ouVMbF_feR2MdtX~k128vr(!KG+-lA8x}bhGqA7B->L6CclrU7L zl{>!DeN~2^Fdm`DHLT01Sso(&B4c<;Yf4!9RR(ECD51;!x1mH++VmN=(yz@Kc-6QF zO#p7(x68Z0FjueVa7cLrB4;RwU*7d^*@>OGL;;{WPg}_!$L0+5SNGP{QT*{yY06;t z_8)ONT2C$kGVxyqU##wq4RRo0b_*y=)d=BIQ^PMb}gZ6~9^8vFR%2 z3kzFpsQ3=+7?ZHD}aLHau3oK4V}7lG0Mz zi6^6)TP~2Hi8U;OL_L< zBwI=kI1?;`P-KmQnvlvP;315e=Foh#*X6*%_2Gw@NC;mD5rvws62+IKBXi?#y5!p3M~xe zPy+ZMD(}cIAT3jl0inbWT?_~f-2zmBIS{pE4qyxhgk*I2MIsSpY)V|DmbW-&9Wk%An)lfF9Twr2=7AcM4_0lsA^?Ih5Co<#}vtdwIMQaU_K;rykg(dz8Z^4L0U9-dvPUvi@4)ChP9FL!VJRGCQHRJE0?E zM{{=0B~C|MR`Owuv^X>iCT%E;ibUW5Ffqs)UG^mT3XIS{MI{5$a=p z1G34`ydT<3Y?}7fY)ecZ@ur(ZWp8qA#WynsYcM?aZLyg&s_yH210_2=jn_3WvMRy( z*_yCI^;0sM!&nV59XDovKK+=xnUNBS`YQ%uI;7C2N73_$GP4g=gS|oWNl*B3zk;ed zP#?IQ>^0uv&We(hmXh`I^HqcNc-djRQ4f`t5#|EHOt=Sd3#cvUL#1stzE~#u$014x z6n%H3b{&(NOC*U*BsTptJ-9GfK0k^pKBPJm(I2!*`0#IM0#^PIuEeD^>h?7fJuXyr zi2j!jrs8S(RqBv6E~fH1EC$?2iU6{{WYKs4C@NzI;^Cdt?dBwULMHtDWG2pJQB(ZH z$!$q`I`Gy|^IraVds$-u|DN}@IdQXb#r%MGihs%~i5Jo+eX`;tTz3PSQ?5FTaR{~0 zU)lAWO`X0()c|fAZ6&jQCY*@#AB!-uGx%WJQGD`zP)B~cuPGy&)MwA9u7lS`2L@JiXc9r%qZLvhYch>51`L~D1-pNF(Rlh{`P!55nNLS~uWV;&+ zG0)Yq>aoRPkFgis_?N--;Jivxk&yz*a9jf0DP35z+n~pV(LM|EV7P}`P-OH>b^8dW zy4WIbToA6a*t*;=c4-(1QOp$xPlmZ9{_N?pc&R?HmU1F#G+eFtb=lWMlx#j|r_Ew& z3%>u2Uez+l5WQ~tC25U|ny~~HAzz9!O+2ma{4{lV0(MyN=$yiL1oqP{m4chqiQ}J? z%Mv$yqVH9`2Jg6PE~KV>jE)oWhr5us8m3Oe3e@@^nkR z%&W~Nr5j77b0i=kTz=FHG4cMj$RuhAq6MJ|2o1$$QzQcxcXLD80Jl$v9>r{~6(gTS z4y*+L@Mo&V9cdQInlM|L5ey~TBva!T<-)jf^}$eL@!0rLz+)p(P-9+-AH^Ua)9e0Q zS1o}r76W(y5=H~7taVnQ04CJQ0-jkYE8uwXg#jc6wj@>zeylRECAI-B8NNDzg&5@f zwj>LYQm0m|&Bh`sX6{tyi*tfJ1c(4k**GduNCzjh2NLao-=U;~Q`+I#H6-5wFHJmH z8xsd09tPoZyV*Xr7XaiyV!edyW_4<%9Y&EvcvL(!xHe%{-chjbUwQ$CHQ<&No>d8C zc#FrQiUMtbOew?kNWV=WcOy1@=6;z$=|D9%D%~mhvhu}I&F@F#&H@vqDDxlZPk)@_ zLSG1QLS3>3wWEAwixN#sExWs=qC{DS_1MB&J5>}5V^n6BhU2%v!O>iGL6$n;$+xkZ zF?Sy}J^r%rx0(sJ+K)h%L0$6RASd3&xx0O_k#6+-q(8dfJW2|C7*r732xh)A^MX>> z|8N5Ou~5Cd6Ys1+h@ufMzRVpfF57ld(&w?EiV65WulceR^+cT6IW;QlTuJ*of-LEs z`Rd|J%ih?AR)d335B~PfXhmtYzikQ#g>snK>VAtw6a|-pz^^kkk^&Tjo)g_|ZU6MB zwAAG1J#r2oaByuMIXUPNBd8Rl9LlH>h0CZM^jAovNoMwgU>OMWPaQsu5CgzN;aj7C z>$JsZOgTU9ZA-Qw(c?CDCUfEsQH1t_BLjIULS?G?AFn;`O^OONU&X2aLN7zs?8Gl5 z`)LEa!L*rySM-}sC?7xkJ8|B9ef)a)Iu$oF@dSM=%s`tfDfOe zfpvT*FPlSljB8V78r`(%F*0KmKXF<|+3H8ate>@!Ua>l8@#Rj+HJBsb%mAx1b%gJH zKMP+%$oGroJ2ABp1@f@S;PLL~%EEvr2;bCG?e(@5k8> zULU-CG%}jdPw(BkUud4_DgP{Quy7{^BH+F`|D zAMH7mqEpo^D&`pI-Y}CrcX~V%Y>GXa7hG_0nC48J`eV6k_vdmKfwD7$`CCg!fT-nR zm+)t;mLD^1n$ZE2YR;Lf8=56JiHDceYuvLbPk%0BuZHSo{hqrRI!dSHS4IE$QSAQR(>Q9%Alj;ts{kQQ&xvKtorPx?Y|q zCGD#{PZr43#>|%$gvG8(>%on$L?sHIk3)CD`eT&j{tj5;X&-jBg?A!Vh@G7@qj~FQ zza_9XSXS%Jij&BE#lM-y}Yvco{GOngv z9i^`)FhBB75?GKXg zFZ+^(a|@P?*raS1n`9h_&XjIITxh?U=&ln7dzuGCC>HU)LgCyZ42Rtx4u#7a;PV)J z?OP7&%vI55yG0*NQiVfj+$#f2;Iab4p-MN^RO?a>&k^qH6-OG3wpebi2RCL~c(XRm5wS{vgmsD%C^~`NZQ)kA4MXBUjX^-^Zcs^MgY|gBUC_Qru94oP&7hl?+?AD$IIws zW&bK^=F7EuF>^$cyOEk6P~{TSK$QcGac2%T*Rwg8k_rRv?a-kG-WG>@97--p#Nn3l ze^oeDKa;*POZAKEjFMoWobZ>oP2(2_YeA#juLsa=jsS?O_Idw_r?oM@lKKDGdkd(z zvb|rBzUd?l2}ua<9h|~~J9L5ch{an zy6^3tZ|X07+un_26vRkhBRv(MRQ>tBD{==lZ2k8{Te=rLD6JIW|V$CPO6h41O| zN1DNZKH#*}MD2UN9qlBN)eLzJIi$h%)k zSFJDY}i zzChg$DjSrp<%eB4@1EV;x6=$Xjr>k0kjWs27(C%UpldhTp=r&J=s#Vs&9&B8M0qBk zht)$QLfs?XIR}73Jx}dO$8saVu2>)~WGBQ~zVVUKc>F;M%`oTG254_kD=AnyWF>2W z?wrF9sGy~nN=2=v90yG(L1%kb%D(4qYkv5^X_lawKszfLvW z1AE%R7WqC= zXrAhQ&sIszrh)NoQIIynMJelSnFW|I`WK~- zihyUJxvZi^K~v_o@0fpWB-NTwCPePMd^V8D{A-l*7bAT1c7EvK=?8Xpi{&|$_KO9*uvjWpD%X#TC9b@@bb0N}b|(77>{ey2aDXKPI5t&OVk?|Pjhsmdpbktc z?r*cRtCM~zV^@Q@u>V3ltdm$K@Q-Q|jyLxem|Dm2{70EuiAXrJA%XGjCbnj(#Wxp`UM*YxUQu(YI)mMu!ZD#JkV>qB9fxRM=Dqj> z_MDPSMGA$6aqSLcDFBdtcpu^Bb za6b=_D;cUDCpfSS6b2zu6D>1zuOVLes;*xVQLtrUGBx&OR)qPt&p4c5MmiW>Nc?m5 z7!K+1+}ARL+&rHcbbgL;j_9tE2gvJO9eP4GdHK4#051>#HbVB8&_tAactPylO+^n_ z{jxQ$L%km+i$l5nvc_(Ajeb~(9`<_**;qU9bsO?+l*GaD4Ltbon}w1KQ`DE|bo3=4 z7$2AN+WVIg=CjB?k5vGlju^=yw7Az@vjdr?2vQ zc7xH!SSQW(J-W{AOZBDDi7KlW_QK|3r1{)KhR-LDSlf|M4U0sQhSU+{SEID7n(~6? zMghLfc0MYm9j~|HHgmE)LdFFuU)oB@H8U86JMA2yk3_>%E2^$WPn1K-`kbxV#cYIb z!eDPdyf$m18|1-<()sJ*4R zTKrmJN3vzC{`BdFQc_#kf<2R!x}RB6zzm$YHg4KTfRrgt64&Z5Y773F3gm*t5f?_5C;KoVlm<*_hH+bY<-1rQyyEXgmiKmAKMp;!PikaB={=df0FNcd|!2gKJJ1o2bq+RF-`Cx<(sng~bfL*R}oRJ@t_ z9OJMYgCM1DtpWgxt61PD<%qB@NQ*p(tdT?9ni?%Gd(tQ^*{5;TUb!9N-EkG#@bfI5 z_JA7tkS&g`v=h2c9}AB6r}l{eT?H=eA?ERTZEMgo23vLvDsfZ~t#T8H@6f=9(~U6= zPJy!ED#J?Uw!Ne1>cV4EjYz%;vk7K0?Zh!wM?0H59r+%9+c9Zg8k3ILfY=b}k41Ff z3OQqvwZZHmGBL?kEak80I>?gMbH6VeN>$GQZXA%*h9+kJ7@qr_GbS`4m%)Gz1_bVw z4M0{2tTBbT-&2wk@~VMF!$cC3^u>dBs*s?hmb^Mgtsdb}(SLo`aCK89AaII6Ck1Bt zXVBh{EDg#By$2lnKw#GD+=T5qg3Ho{>1@8E#?szPd-Ak{bBUCvQEn^&2{K4`>`y&{tko{>WMKB{Qw^%MK+ z8I<$?yV(D3l7Ed7zZ7DO&*Gqe!3_~&wnMjvzkfi%6l8=SBTHQ}m7jR&Hc>mLa3HZs zX|r#TzUy?cR2MXPO={tlcIzSddM9bxaJXd4)S3|@rmk-mJIH#O5y`hNp!Kv8q?$nj zCR&-?1cMYN6{=^pFE5I{rT$geeK)JR>Hfs*nq-FHt7;>MsQyUdHs_bx*1TFe*_)zy zDK{A1%-T?oO#cOncYG0o8VlH-NUH{&p8DvKiqxjzp0b^%!3IZ3}s{nBb1Xn zg3-`r46Orap&Oz(Cu)Cst%)gsHb@=7~Y5H)UL;k-y zwfZ#1*Ss9AdaBFF#9XL2MAY{Oi_^(EL{VRzIyUBb6H6^ykmE*TPi8+Lt@j%m)T_VcGU zm&}!xGHV34rMd5tqb3Pkc2~C$mUU1{sC$^uhlxh0^Xd{+-Fiw#P7`5j-dXckWuhnJ~_XsE7+slsb=xN}Oq{hZS=71e{& zr7eW6w(jxUvVgoLrX02s$sNk}s*M$w<)tKxK8hy6+K0WYd%Z(Dlg`#EUkmEOo>wwD zm)ffvx9;tZl%X_BN0(k1$j|wOQ_m{ry<4fgdam0** zCE%O2AvC_*Ipy{=0xe@KV6Lrz^mO66T8XqZw@hcx<~aT24Go6-)WGxkn?hp1iguqLI2%>dL-tb1#L zz|qa|a$iD6;v1zkNV#gCl`}={Vl@}Th^S1}Mx_0YbEzTmwx!ZI&5#F5E+;tl+rh-C z$`lAZZjfm)1U#Zet-N|XV9*_rl2E(Rx0cj^6;Ry4IWO9-s4AXp*&egsUOVb0#&GPc zLkF5|+t4=#${E@tZNPvHks!fv?(BUPFsfAtrtt3UH6i>eK{>-cHHO&59}?!B{ZTzwjNW-vA9Z`>X*g%~lYn{FoXWXmCG~*qJ;XzMIA$|P{N37J7l9ZX{;(^?z?pDzJ$+;5a|3!<*@im!)f1T~$Ky+s{bkCv~4$8l$` z#}0EQo2in@!ZnrZ%*zYbR9~l~`x42gVvIF@QvH-s)c7xbT)VLRZzeknHbA!Wn(-xv2hDKSMH{C%w0b(?%bo=5>AL4y_N@`u85ETuc99~y_u;X948yTYU)e-$dVMxJ z>8uX&L3SQ%Q@4!><28nqSS^ir*avpm08o(ITUm$ng_FDdbwF{pCfKq#o)pBYCHx@QS?HX3~8v;>ciN z<;ui64=Q`%WO!kZ{;azqMO&=-W5D<%GYMMjWNXfr_ri=bJ0BD%@;h~}>m#X7oOcIH|84B>70z2XyA;ReLml6x#)j4HU*BhbSBj^f zn`N1ss*^D2O{uR{O)qBAJwt8q?*~w%{u8=*X4bFl8KLG7SknQC44dFAQ~9`7Wt5 zqMHSmhX2#s^Ce2~8W<{CBFZOuU{=R`pC$4@^IHJQmcLt~;UQS}SX7)=WiDFH*~R&9 z<5u;rx};r>gNIGh7E|oGycpRef-Q20Ke?>8@XNC?TUaqC0OiHYn#hj?<+P;!nsDN> z`#|T&ISMKh%2_R;79FT-x-^35tX&*Oz{2Uf+m%}L?)tJ6CDce=5C=w&$G+7Qy?Wd* z-S;~V=AfXATkK6}BUJL=PbqM~%PqXku|S>ri{}Bu9;Lk>iURvY3<{AfBkxjR)&~_< zGyAKH7T!igGx&3VHRNBNn=hgb9w@@|;9}jPDu*e584a=)6)8U8LqVEBIfK@@x?2?u zshflu+-)75^gT6yHO1e$WgzN7eaT{0f+D9KOxS+FYbveyrOS#)j7mk`j#!V3T=U$o zn1fBsf9lo#D7<>qnhJz(QYT?@1AJx~CM0r_m61jWnJ`okmdKrL?Ek;-le^nfo(-OA z#X^;{n6c;gsi-|a!2*CIe6*t`r_iEv6t%NCou{cBzL`%dG-&S+iMLxv<~M|Xl*CBmzv zUnU?morgJCJlXHMboQOEIAmaC;BT8#6yP$hM;+F>aDY*x4Qc7S7w(AEBM`<;Jyk8r z+sRS5lFQU)mr7fTVSZ$8r@-j@WM^{5{C3N#itW}k;+6ts%90_iq|8i(qw!CH;nSQ` zyo%XwYwvU1YdG)P!y!?e+_NsS+|t|MBqQ?N8|d51*Y>@9sQD*9WqNIo*?&y{81OLdV;Xv5Y5Te zMyCDXfRJfEibh}30(LLwfD5U6T8tspp`a^{kg-9 z4?HRC-xpVTY-n1Ya7ZSvon^-b@k2L9=-sE1Wua`dq1yu==D0_ZhbJbcWM@jXsjgyC z<5;+6l@9-W!$7cg+jvhAakFAPU{JHqYww9*_qO4Z(v4?oT2Q=>)Hm%356GymembXe zVd9yMSaE#8Uhx%jWVM)iB&7HCF~+>EiBi%XI23To9qc@Os3^9WUW#R-@w3LZRXxHq zLfFnJjh5{xX3Q>&$tZ{5@7C*%{&7 zeRANpJe{L1`h_c2MUv$2EInDsE{w`+t6C$Jh7Tud?BYfUu!%&Jh=WHTL{kZRb^AUB zV#%dDmC7dKp5!Sd;~F(!|olb`4I)~>p*d&XOac%5mNys2*{A8z{OR~*DmYNJ{n8LB4eRE`J? zX<59hnO=$%PmjuBts(vb7m+YG^}E;V72o)3)m(62Nv>9LS;Bm}P9kXAv$huZn{$14 zn=fw28LM}|MQX(LQ-WRC#eH~xy=QG&GAMcQNRa%Th8Y0;dCKdM`P-s+r_s;Fb)?Z+ z!fI5>14p8i=QQ-+Gs~L($ehZ2eXzOaXc-Z#*gb7A?;h=#^i8a%?e^i_8~n@HlcKc* ze^wDOG+&bZvr=}v`(k&MqI6uhYcEQFpP{sVk^W~z9wv|XedVSBK!p%pS?(uJBRn3w zS*xzRcc0OIH7i-PcqS^Gv4*UiW?f96_MMWtsja;yu>^Q<*X|(VG5w zI%?AuxpB%+6qy}4K@r7nkxK5TF~JalcooNUj82YC$h}1MSfp8Y9wMY zWt;sf>{-LkB=-o;#qH0@byNThHzA=82Z&B`m#f%90cwSVU%8+hIgBVEQ4!v=u~CIF z#|RSPb^=za1qIoiVe10r;e-xKc(Lp3sN`7bY&%^O^{xWC^*8}o;ZJp8IAP`T)j{IF zAmRP-1Hmu_1>1=jkmXkg2Sr50x`k|`2`{%ywNq9)MeT=fEMv7(wy?B~xtY1C6(UKM z*o6S?$Z3E=1gjSnMBu-la79+EfmYu*zW9cLO&n!YOWV{EJMvdfkGl|PsgHGY8Wd0Q z7QC(5b(@Y{xS9FUk3=d z$*Z$}3>${(yh*PR72M&alU8s$ZeqJmo~n?BR&$H%dqLU~)$WVnJ%>n8jq;KeF0u}~ z##gQDLv%lEh_g1&*xt||p^vB)n8_-Kbe38UW7-ltKPRuK*$Gy7_Z-s~f6RiWk=|!1 z^&uP1{3`k2_{ROb2FCebzFcmZ$*4GsZsWU$Lg8~DsZ#Y{vi0PI5I|?gcqf0i{`sz+ z8-E0(v83{AJR=05F3)0O=+nB?0gmdsDE_WIz-lD`3O`m-z_=xg4)DJ=3+es_n7jb$ zK6AJ=+xDmHTwm>3T1fiAEnr)EyW(^LAwHFNSG~}4_YrVwzq%>CO6VK$d-^+$vSj$Y zr`}lm{DC{g`}|O7P9-DxtHy9_(bcM_b0UET3Wg>(d>%l=lnWp+2|f{9{Z-;rd%96< z3301QozrQq-)Q)H`n2K5y;1-k65bJlRD5ta6xJgWs|JxB?MgMW(q4MUi+r9+Ibu`j zUN0_RCDfKi6ze@r;@qdBcJ3`@8ewTdGC43;Vr%`>_dR z6Llkuq@>B1+}zT3-~=8A#VQLuKGTp0BpGsmDSb>U`ylNLbo0qBB?jy~m5;|EWCQC; z?wFk&EEj+D2lGQCebP6W;G5?6%$~{>%TJ)HEF93K_Eh&>nlYMQo_`p`UIZbG9n#vPz=;d!IarO0ZW!+aXIirvql6ZTa#8Az3RXpksztty zVQ>(?g;siT={jaf={et44?UjCr;&|9K2%q1T7K}`Dg}PZ!^nxs5rAQ#W7d&P*M%5w zOoppQvevTI$|+XwwIru~gl=*UVHUUEXpptws}_rG?+I%Z4h8#smEpU*I8U3Ff;Pye z*zk_HE4>*NQtzHpjf6C~!J{!ZsQH|OmqPqy75R_FEbGK~gwCeZ7#XfP^!Hq~ubL(^ z@FWTEeM@3D<+KrMJwkLAx>I-{Q@ksY46~&&rOkFrY}k4kYxR8(>si1iU={HBwGfD& zENg#Y0cFw|-!^$uuymlYrkN;5j+KE33k+#?wP()0EUdh;OW0&24OTxg+~jDU!_5I8 zi$>FRa*@n#b`N-kHr_4`&_AIv5aSKHFO`UbLPi62pkPxJJ z9>!u5gKikb;A*GeyfByyn~K%VVN?g(t2gVYUP&_~OwChtwih}(Sxa2r_7Z5z9HaPf zSe94^+G{n=wK|>VUgATSJpqx64b^neNbOISW2u$+Vl2=)CSp@fCEPVaBgJ)H zQA(P8cj*Z7Y2(!)LCb)~2B=Ui&J7k;2kzM)oxO+=Q7;n`R*cD)fE`7Gl0PP<9JqRW zTtvz9&djCQI%70pUqIeSVwTY)iZX?>viUuGZIHc5ez{PA` zHX%`ineAvMx9M9OJ=CLv?8N0oqI(@#m2R5Vt5+SuNR|}^z8vg6cjqHQ#it+_E4Agt zB>?~P^I6Xfr>|JM7%8Td*P>xO&{7@ws*OxHHaEo)4O5BrNNuQKJ6OfAy#_ZbXeCmp zR|qn##X6TvdAMLU^r1jSy@oI@FOw~xu|;BH>oSL|bS%wrlh0EcK)XeTVFEG*0;GL>JM66)xnV5IYQzIy;Ga&9XFnvVAx5n2wgnpHsa zfiLy@e@vq@A9M&!bt#Y~#2Rx`Rgn!vyg{Z|@eNj?+f$?O!E(pw{lVY^=;i)iase)d z%WBNKtY{Q2tRPDWvuF+OII=RgbsSy=7~YoQ_*zy@O*?Mazzh`HWzC0~im)y$#{$o} zj6eR<$ovIaRR>l!K2=kvcFJwhe8y-)}us1l6YA42W|pBEEI_9fy9MXYyIb$qu`W zRa>Tge@>KrDql8I@<6?&(ic-L=QUye`7m?fLZTznWzyv4;IcHzrux7kZ1KqGcN{~) z(0Ub^`ljJwoToFJ-1QN)^$BXUtyVQ9jgeBAlS(qCXA+`#&$cGk#xNk&=;oWN)fAZ# z_zHj{%&byhNt4rabX|0LODRx(EEbO3X;WU2O{>zQLmUtK9Y`L=G=(=n=5j9z78&mY za1?PsT@!Ss;A#aK0A&1}0)TOsvA(`v``JoFy>MoVLmq&&=$-{Tgf|ZdXQk)@`=)oeHs%s*M1QK`>p zlkc1noUM(m%Z=Jy-QAjPm~Yt*StKDJgI&=_*}%h-9+kZ70R`7=GwYl|CI}j1SG2BC zX&a#{_6}UYh8w3@z29=8brf-Y_2Yu2)OMTwwY&frdF~QR z-iXhy@h902`>*df1IQ!M>0RWZ5IsUY15)2>=7dS@X_v=k?rE=4T~M3t=%7SDTr|FX zA1L$#Ki^Tv5*PARYFjvHMtl&v6Q*Za!sJXv$_xU5bn zT@b;+D>##{qeTVz=UR_Xsa5X0tf2=?&3d^_(%}luL}e5w@ym(DKT+Q&js6G2MQDY5 zxISM1ZW${D*fR=yo9va_L}e@?^6;1q_Y_V0E&7X}xEHA>d^c$$g0}sa+dyN9k(>*H z^PkE)aen$I@B6Q-homHiwo=&sIAdz%%BcGm;yT9arN?-4HI*9mtLGOS9FIK-O4>fI z59t-RN$XA<9fwK3<7lOhxV&vlY7EZ8`Qd0!!ppSgdha4V=%}k}xhMU!l-c$=pK3NZ zHCmG9`02+CNgpfh(#u0toiyr6eHZcHR^19S0Qc7dzvPAEh%xg{Us`R?tEVRi*SFEk zaRmvGW9lbk%uY*(#&!&;N%EsN0xhLg|QQtOkc-cP6M>VH`7X_pU{ zw-cy5d^T?O z<^cX#IZ6>oY%<`U1$a|+#RKXfld?Pgk4QNDrS_tIw^3U9{0(i$c`Z$(n$JT*-wpoH zSFM)v?RRIEnH%Ent)hwfe~C1c?JV|UJmIObRf>#q!qt7&KTXsu)Bch zDKP8$qOt8&a<^0;9Gre zei_uyg=t1;-OJ*9dHwnJkb7ZcIlPI)EQ!ol-_L{UL|oxqFn_BZ+y93-+rbdmn96r* zSC&Z^Ab$ZP6?1sOZ+8SXpp5t@EP=V1VYu`#`H zOZmDGnOJU~{y!8PZ|)QxvGlxjGK0YPar1mPp?k;6n%mexizf-%*^JAX@ba=AOhb+2 zhfP*|*IrQEX)ipdZ}cE;2m6_EXVF8Z-jYI-bG7<6S^$jC@zHrBDbmN=_o?W=6%j7I zJLZbt{!8rmH<_}~{FC;7FWij6`R|mlUOKHFn0y%_5Y&%d%p!H6I6?AdLQB!-J~C;2UVgn9{EdsSoCtr}Fj{@K&O)kRP@L1e0@oK-Wx8kWHmVS!tOV&+S+NvFYl zii9eAmPO~^`%am3+C|TpW3Nwx+oX@FLkbV|`t)v!*_UovnhwPzV#Bv?bQ@RfA{pUReW79~TOWqxDQXq|t z@NC`E-`u}V3VrA^-)48Eh_~rX7hcGJJbJY{aW z8{02E60jT#d@>OT(a?qBa%s5O|GKoex&Rppw^AH%$p}wMZfnI<&6nBwO$gk-kDm}AqEaw?+53IKSomjCTFlBi^;JM|#- zrN6G;7pHSkrN*oVFo40*1Kr5WQB?F>RJ}lLedRr#J>+Y;;U7*ysob*CAE}oSI-l2% ztqw_TZ*=d3c-PZ$v1Xth^N0C^t1}nOX_egzeq^U{Ep+&gfr#4q`2|W?Pm1)9^xvJEBD^kmy4%=MXBe` z^!D*Yu(p`&abU-yVzuShD=De^I++w?X>q zSjr4av4<)xlM8`p34S!Ccu<{G9o+5Jv|BSzX+Le{^Ybp?i9h!%qR9by{Hu>U?Tf#~ z-(haIe1E9EX-gXX;aE~6m9X20$GZ3by@^tw*EWOVYmc zMDB*U`oeeoNGjf-s?+eS&)#!%Z3(sXAFDBM|Bpsc=CWU^*x!0doDqMy*`Bjw;>z>~ zyyN}x0%ZmpENgKU<3s0EeUpp6r@2k%6TU|OB(@?hR5~Ml$G7OKpLPr#3rv)g$kuSy z$+6eT;HT2DNBU|NJ7x#Dnee?l3~-E4>3%Gh!wC5;-qN(Y`Hfi}DN6~bjL!Q3z_)Nf zi>6#ZtooS)Xpt(cS{0wjfqg<#U86NeRWH4p-z6YOeWmwg)L5C9g z11aOzD+zoCSboR*N>j@N!gN7PHoAOWZJDa+aOpMwHO3AlaHeX@+@?)Fi3AgNNocT5i1T#iZWkK(9-u2-UD$o@gDdm0k;y{qz$_XP zucMAOQdXnNry?5*Ng?0po2RnK zxa3xuiS~VDdQCL| z_xoFp8lk5PHxY0kM7#QGU9>7k{};tbTcc~$i`)f4DGTGWcy8_@04Tc$I8$uNCf~(N zy3K2iJfzLn2;(kG5U;dCD><fE)f}{u?_tp*~?O@>! zd8tOF>!f<$RLX^mwo$+iWvd`F#_ivbcFehXN7#j59!@A+Xf3NsF4Pe7vWuXCFtL#5tuHRuviF%Y7ZoF;4z|HKrl>)D*WUY*X}rz& zw7LbW_)s@pgTiAfd;#I^PH@DL6rz4w!kM4|-j9brv@=i4#J!}If^+AKcsNBjja(Q( zObOGhc11zubt2YOZ zfjWvA2N2yGkBnfor!YZS-bfDL*sqrc*<9oyXN~5;kFzbNk3JkHGTDvprOGcYo>#k_ z{nnNU$}Qw4J2~QfG%uDnj72hoqkROiC8pJqVaR6pw`xyS<;Zb!b5R`%b3s8eMERAL zB~N&30Fi8RsceQ4zK*Px6&5_>c7b2a+b9CCFgrh&?qGR!_S-CSgpNF1zWDd(bU5=o z7grK^dAtOps7?`ou=H7Vb|(SbI3A{ZjG=LiPczw0k1E+5i=y?YHt_6=Lq3KGLzM$e zlMR|ITPxz<`skGx(`K-d~&;#Mnsku81K(qpe=#!BUc29AR#~-;uZ@a7o>*DT-ASHaPg@hXewI z6oY>@&Vzt}ZwzchryR#UGqi)}l2N~H3(oBh+26iz^)`#99mfFLL_eiBw;~Te&G}&< zO_x#x2eJ3U{_~9TjokJTOOL3rC?Shp1kt8N_g_WqjCTPb#Po#MGE(hRi&qjxNux9w z9sFooUuEf{vMydZQD#v|;c{AgCm&7rBA2vX)woU`TZ7(M^r(U6hOl>Tog5oy9B&?G z2ChM(p{4L`1wN>wk)$A6HM?~fQl7FQj8|Ew2pZhrohdofQJ0Ay18&JwfE$zm#;&7h z#*oMB%f*V)r&H3q%X3dk;J%D{!VT5Rh&T*zzWqB;4`VoWrGP>mWyCwkA^@`|I^8%q}TbEm)ls z)|)xtY;m$0lh0}8#VIo-GdI^Uq?4hxa!!zkbG&w-){$_m&AsU83@x*Jj@0YQUD%ts zUfRRIv1|2Kk2;B>x#hZwtT)Ojqa~*IbUI&J>~%PYw*UwqBy!n$Av%<)A}K{7fx<@Y zYh)Og3ROxBN5K+HEnh5(WNLNzc z6=$bIu@+X&uz$AD6^46HTF%jkKR8ixq4;cTputxN>j4MojWoN0XMaR4(M4qGJg;% zD^eH;W&q-topCM82%^wtF{$idQHxEWx$0S;S!i15@xrr7$^T=f8b+6Ntb%C-dvM@bOzQTbf#9@a>sCl$s zvE9jHrF3d(<0q-tv3vCMJPew57g_b_mM!I_t|j2eRnHICfOOgi)wbS>hgZ1exvX?VS$20>_T{~_HGJoAtP3S~&ahb|QKWipZ!Z552|QB3RyKu4 z7T1X)g358&rY(*KB-?FU8;(MDJ4d|ebYVnyOmdviM*m%S5(CTbU`XOVpL4$v5NtV$ zL<8E&p-VhEzN3=TgsD6WmYP5uT9<|YyfFNCa$L^jb}LM7y`+}t;4|cfUb23Vd1392GJeK^`%rFY&}J)AcpkV(V*?TT@sTmvQ4t|2tM&s2PK zl$3*!UPE(drW(d7!9u_ARJyA}rEQinJ1`@wLuc z8)OC6?`YJLzL-g`BVRxBk9Q!$ds{@z(q^}D?6=vDUj+>Whev104G(s@N;`WaEJJ#I zc686(7mP!4@YM@myZMN3`K`Wb>0+XPBv@iu8rV8rIDMt5ytjW8TwTFwIUcHL$PT=YV}9SbEQSy=`VveUHOzrotO`o$Ct zRAQFWg=&NIm?=W@U4=Ri5S;;rX_CiSCD#{iAUohGsw>y9{!^UH|Hu*#9a35Ylx#LE{rH^icN3@!h zNA;?zfjN~9tOk->@X-f2j@|?4O{??FPO(3)54EW>`D{E>e3=iU|GfS-`jEMYVm2=` z^g8Fy>qnR0I*w#(Q2C2~EdRVxzxn^w!*1|vX%h8HFUT?hqT$2!pP%oWuunu z6*F5cNirv=>TAg4WRml8<8jg>nf~sui4t@0{y!4C1F^*okLdYpL*eXrYfpS$S=l_| zNy}!AmkL$XD~7YCWvDoSNL9&|?6RmnqJ(&^%svRe>copTuhC(pe+a;9CD>YWM&KzW zFoDS{eqJ`IWytdWminOte4on^O!sngfl7f=Fi%VFhr_}0DBGFff{JlW(FzKHj-+PNNw!%5oMFg~TS zY(;rQ{!`q}y5D7A*5o+8_hCK9XtrczQ zU5+yJJkwe3!jNKA_Ca14tH3!q-AccU?oq@0u zj}t#Oot|ZVO{h<^6G;=>`AmPcyr538Fg$k{{y*awMg=D)zgfB zToLAr)!#m)lzRH9#w7PG*-j=$X_YC_0jG8-3@HmSVsNx!s-3bRb;{0fNTuM>3U7ne z0dUH);v4b#^;5cPh>pe0nWioicdfNc-(`=w^Pcqb>c(d54kYk($s+=P2lry4&BL+| zX1I{TR(qHab39Lf>sS^=S(YwRXe0_8_S_08{$yH9b>sBOSevmcoQi2{p3S3(6|9}6 zA%cgNqdY4Mip1(gD-wx)kO;0SKp^sKy_88CC?y)$eIKAngRxpIBK#m(M4O6T7muz) z4zU4BJZAjLjctKdO?yM5wJqJ_D`YSV?u}Yc9Wq3C%BkgidAEK=iQt%@nL&rng85E^ z*v#6<()e}0vV!+G6)G|7Gx?@^&S$B#H3F-Yrij`h>~^<}Gc`HPUwz78JIk!Ra_5Ws z%qs`Y{hv?0LNQyERj0Wt0q$oNtl+oJN1CWqcD2pM(l4IknfMpzXr!X;cG!o8IG8o@ zr?{4{Y7vwbow0km`V{K~ZAIM~q`u1W?>0o)9tDrn`0gL&P-#%nGNFc0&6-8C<{Mg7 zW5TOqha;0-dOsL>RG5C!)|_k^im)p3jE@D6DNZs#2DmkkK3+Z{MA%o;6@yeJKGaPK zDDTMIZY@lULp3OMr>{Nx#G5c8L7lTZ$be?4xGY@MYZ@dNqzPcjM2MowHg?jHuneZk zf;aoe7NM=`Vf6_@MHtSc?9-mLsv2|Ne@)9N;5-Ph>s)HXNe@2YAH*8HzJ+d;-?@|wo$YCFFo@%s|z~^@w zH(lSWCZvP~?b(K%Qzw9-M3!n<56Q7s9<#fU1Gk?q5_?-*SNmIxE6i33+cInn$E*xz zCo=8k#X6_7w;!^0o>p1G`jR+pOU7!r_XG;tc6ZNgm1G|fPViSFMR>3aR&HexwTe(y zCz;99EupKEdN1QWSCQ07;=?y(Rg6J8O(T4O*-x-?--?`3*P0#8?D#F*_*4UGl(4hS z;Go%kqnj@e(zLhDiErP4q3*9JdBfpZJRq)ks1^6gF<0}*1(RdYQ{Q_m+v@dBy? z-4w|yUWiFMS*g}40B4#mBP10KLN89~=R-0jqc`P}=Hfcut$Sgsw`>tH7%ubIL=GbY z2tjr=|M+1dq-EPy!|0ifRu;0dtjaCU;eb-ksz80x{jq_FLHWlVQ2c797n?(czVv>R z+n%&Tso#$M^QZQT*G5PrDDr#^!7L2Ec1oL#}Jle-#Y^TP(>>4L$Zq^fr z0!79r-JhHheasOg6`JKK->a&CY*rCA-?TcEdaZpt(@UV(ay>W^bS1L3rzoYSG6j`o zC21)rW(rc;m}=P|rd{dHmjryz-fRuG>nP$HqKTnsR^~!P?zC=`e8!Is?)(2`HNwH6 z_8GV;9&gI%KmYc@m4?2mjNhW9a@w}`M3=ngU!=64Nt!i++(N4h(&26wrF%l*WLHPP ziz0XmDSKO?p~*$Gr?K_ZWq=Riy%3F!0Tk1)u9lcM>%{opwvx=c2m(#1I5oCVdjXyB zjH~lqxV*&@3m|!3>}NQp(^vh?g?YG<`9g> zqg`Kmw=)#@MuW#k+PFt&_G;P(ll!FXYm+P+)gEfJ=iQD(;VYGopTrtmv&m|0T9pRU zH>jdi3o>!#=EZJl4qKK`PIVql3$cFp`+PGW1$T^uha^@B`{m59p1-cozJAJf0o9Mw z_L#j{o;=7uq>Mq#vmwtCUPuOd2UWA_e*T80TS*7Zs*`8dl0+$)fuS)ojcVIDs>;70 zBZwpA=LAm=)HE6^ZA83Pszr0&XIF&VS-+qb&tw_;VzMI0fJ_vOrlBML1Qx$hLR{uX za>B+19~~rgv!-D%$;r-Xg>=+{diRDReaW+9i~PM`g!+<~zVELkWw&bAbW=oCQ=~MH z2JVPxj%;Q1)@Gpf&+$~fjhPqC(QO(0k({~HlX{?W+jr=fss8_fll+W>^N)}p!;OBE z%LnYjQ|ly=`%Is@f1E2kTSzZU@D1*Jih|+Ljb8 zz1dvH3>!PKtX?FeQMQN0*Y~Nl`c1m$gjt)^ZEP9Qof6LV(&lCkiybVv#@U zsE3ij5?$%l=usqE@nNKluX)PiGgJvWvsw#yVzadpr4rYvppRDAvyE4RIYH3J(+^DX z3MXv06X-cQl)kK9f@`aKS*m+FWb;8C8fJIWqBo-}$zrtvozuM4G0k%T0xDqpY!qHb z3&1RQP6Nizd$oFBFC_^M90l{Em!iWd;?CiPfROzE;O;Ge+T7OuQFdihYLw!>3q^uE z1g#NDfKY;aafjj#-QA@W5@2J&0u%`$1S#&&BEdbl6_-MBiubu$UImd}*PhMk2S2pmNH6doESaPLUm z(-O;i#V}F(8q4_MyKiGkM4k`~_>f)F_ANO`Wt2J`+${=GBqBj5RbipA2o-vEz3=!W z6)khO8sKM(HbT5f>@?#}VT60JG64&sR&$TwBKdqZY7kKYca+eF6uv^owi|=p_*>M2 z&SJYLE=`)uYM-2*Dvc;Pk$gN9<0hZFi<$UeT_a}4xCQoTju9k+uQt&TF zl|LB}h<=oGZR$Mfl3klgFnz^3Zjw_My1yIWKZMKjq?DRhBbw)P0fzZ3xH$V9Z1qsa z+Z*q~DPK4??W08hnC{r1$_FM}$dWap5ocImG;Riv%CTGSh6q zp2qq|YBp81e&T|9^Mniz zlIrKPUP~`Oj)&-H?!mrLB*<%Hju>Rr-6h@#G8^`xgTf*7WW>&G>KT(>ADRuQp zg1zCq3lCA`?Evy7e(Hi>V}P`1E&QiJn38Q5wUA7mETBYn}ffmsgmt|y*N}# zs6E71zPX-r@FlG?qhyN5$vCM~0~g}1kqUJ~+4j;dIFt?4zOT5=YvKH5zaGP*H6Z)bz*rcMVowUc$XMhBdtFeuZn6#~1ofO7ndFJC zN;8VyS)1oejWsy|{GC$A5ol`Lp%zW_finIG+}F2mH>IkegvC{uo8WImXlPTFD*S?A zHc1WOcq-Llt>!a;pbg7nihLDr8tClKtiPgZtgFzI>FL#LrLOOF)V z_w_<&2eTp&-!Q&SHbP2Aq!dA5cL zrc^(RV6rkK#+nAhBoAYbZ`E0jFxu+A3S4&&E&CEFu3v44(>rL99c-5Ldf->$=oELy zpye0xR}WG=UXqZ|ZW;V`=`G0>lB>^1D1KwUh4^E$4zAwcrXgA(pu@I|yxoltD@%3_ zTNN@CB!`TK$JO-Igo~NQkl7lN7etyO1VlC|=yts-1@FuJ_9a#7e&ePQZ_p;???2SJ zl7-t6U{i4ZTo{3SeYA=WYG?IM={QlL+$oV>puTDE{(|IJ^oRfR{r**QdH)-UMSM`p zB<7f|Xx^SRk$h-6GTAuH8+MUJ4QTi_fSu>)_`7evmiBufW#n+e)5C6e9AliP#_>eL zY?aMn>ujEoTm2L1dc{f5i}Bi(XkD4Wor12(M8IKk*)nIK^RGUF1z7v%awe9If{nlAKL2!!y-c0}~V#;$? zxouW@boy3RQQKtzG|WYvZ2G1R+6lD|SmC+Z*17k3)h*52=t|Z(pSE-X5stAM2rBb# z0I5q@1j4-nuB0o5-0YyEpSxoD3=GT4e%^YG@lKd)Dtibo+CzvF+br>xSn ztcx$GC1|Bcu&d{G(0P)Ai4JZ~G{{?++nMXhtNh^JECZ@9NAwG79`r<35xxwrZhK+3 zF8Ej+?L&~>SOiGk{PQi4J0p_Q7u=gI1o2e?h)O|3+Z8zknd;^R0n6Q}w!p4?)Z`3ThGCXA2HNOYZwY;R6wT zB5xD=Ho;qoKF@wRFnRG`n)d&!_@_~hQ*PFa(DRMN`hv>xhrd76tk!(xn0!u&KX|RH z()yxM;0$Y_P9LH5?m$F4^F9nT(NT@rBiRYBAKx%jO+bJb8RCr zj@~kxPCIRn^=Z+@mosDouiqWr9va&s{!!}Hp4V%5x~3vd51p8};M!$*M3)y1vi4){ z!Iz)9+=yQvSQhX*xJu?6|PzcS#lGMNs# z@hUm{^WH!d5tX_U%DpPZl=-da=T59_{&-%8-=7|NpBD3UEgK3i@jmM9dK<5$myq$x z9nzOqu95um9lrD7eJYZxBqW#1YZKS?3nn<_?I_c`jeh zDmgWz=m1lPj!`PjEFISty;&qyjZM3aRL@VYKcbf73p#{ zDejwnH%)iM$pxK&IE&qrdbvmkL)O04jq2IN9MAseOEu7%HC9r`hN-1n$kpuhx1&BG z{o3=a4|ALJ(Q~OCdv_KGiYCdE*h&h=a|!y>H;*?S-SNuH3!R-ck6^WKMIuCe06l60Fh{0EsPPcw2S~ycogXh zEe+aNH1H^mk9`VSXI615>*>f@|1akL3iZ=VW~>cQWR2Lrwo%F)s9Fa~ z3I->{_}K1wjr3!K_>u8 z73gPK#^a>aE&XnfJ;~S7_=sG*I7Y#Y`G{WKbxCPGw`bTX=*{vleZST(>~Q{M6n<}% zri(i|{b}7Y=tpbd>9L!%emq?S6Wa|3hNZ)_2mhr(|Idnl9+n!~yjuEpS(_pv{|M+?>xjiYNkRwbbd1xBO)!B$Gwv+YW{Jtz zgOeT3sc&CTzv304*eMpSGef5J2lBvhqf0`Ov&uMWL?i-Qf(vi%%ub!o(s(4ft=FSgP+W4;Ij_;5CPDFw5>OE;y8?bQ zph&mDaUSPJCFCiXQUQ{#C@-0C52-o7dS0sWMw3!_u^72TDGW@IO!0Swck4}#mi+4X z#Q92owE%>jPJo|iD?IvzCJ^G*_Pt6B?NzWzQ9z_7ewGS97Rw46-ufKDeQY=olCEq)}O!sCv3H=hrXk|6}ip?1--v2}%2ZYac<8)1=NVlPSk^ zjq}z)t_l$6*h+J!o-?HBj;QQ8{zUWZ^454G{uaLW&(0}CI!n6#bDc$_GKA5qf@rrv zf$K(ySEH8HRaJ_G4=;Us>X^%2-d=s>iVE#-u9uvF?494(6gzu0!nac2!jbhi)IVrA zApR8WzcOW%do9|HgwoaRYAab)HOViXGkw)ge~m&mIxAfM@=Fzc%i4{u$!#NV+?E6} zN_S_eki~`Rln=#@yD&lSyF*yS{!UzFsem;!W=$+U0nB6Po|r08DY z!AUm1O9>#`O6rRQ6}qz#gr&iZbG3GNGf&jyC&;O6YTBo7O&TKDG&NSlSU4KoBJlxg z5ae+wxH%J_t#3}z-3yK7TYW5(s{K|m-lNwbDMp;n+QZJ7nL|Tl0LK!W-YF3V7oMiR z{YP#zPqtIHEv{r8;>BoIlamCF5vS_H(NCl>^4Qi8hv5Qwcg@0DQ`y`~ujh6wF;eqw zqIBIft@*m+nl$B8*_Q8jsEVrM5>#7~ESpqCIgOuwNb=}%cE7ob3P=K>^kFZe-t`Anz)+~&QP|Lvv!kIH|t`lh+t z2Ntmct(wzM?(f0kN8y#{FMJp#dFf3lkc-7y-$;hxm6^vb%`hhY{tO`hlV~>_;mE1q zs_ebFV+<0X2OlxxCsKInUv1iJ%UA&DFC6(nhOWlsnu)$xX8ojmd{o}S;s}ROk zeNB6PeLO)V|XL>&II z6{yg1{w2b@qCtjS*So@m=K5>=N3imcPJ6kIw~;CBNYTd}x1lyUx^aqLo88DF7pLKk zi)don5K4nlY`ZFNT3AD>4Hm%3X3iTgA-n9v`uTnOj>>Y1Vfgl0g(#^mIoUju@wzcg zBxKNawR{%HA6JT!W~8*&8kedb#lR@za8(AnE5iy5rYA)E)%6t&N;JMNAz{5CYCqj< zW4czwR2}+)!0BzYH79IT(W+bBCo^_yl(6vLqgX6&PK$>(dwKG3BbgB&+5AbTKMnLO z&iDqmn)fjC`Sk(3%;!ycGBjnOCJx;zwOu6dwY@qwE+dhaR#E4jG9P>sHcrUNw6=FX zI(}SkXmcD={-VMD5sEW*YYNo+)kqvR!|V|ttyX{W+M)ti)yl;~;b!OR9aDQ4v%_M$ zzR6r5hbjH}q7nas1IJ-IQEir?m{{u zOPXB67KD2_cXOAT8br6u$0m6iMhf6429GRmCDA1g=OD|%ZzKnwWc-7@U45KlUlm9v zdNWDT6YSLRGx;+KD#Prl^;Mm8)8%j|XbGXwW?VYS!nHvpH@%gDIzk;(1g=>VSPl>mY$|A<8wP8jEqFis z&Pc`t+5vIgm)ldX%fK=Gh_~aNXlChQs;TKO1x^Z0^%tp(D{^hkbxs#0Dvoqpp=2`a2WSL}88M~! zxfkn5uu*XoEi*@wY1*di%6u=O9TVETQILM^Fo&_iu2nn4mW$_WC20x}#@Lu?AV3;c zP|l-0Ruza|`>2_v(W7Sa(j}R0L>@g zav1@vcPUHh%F_DXX7Q9By!YY(i{paI@yRCKd)Z&yH~_I;!&YOtf{{ zc;Y&id=#!Fe5a*qmx#T6kh@)}h(bge_e>)yw2d3psUv+1#Blu{^Ce;#RAtX9N!uoz z1T0;c<%~hIvi1t2p@IkV3k8#MtZO#|1kfAE-Q23EW>IwaN&tJLDBbY(Qs=$WD$!<` zPo21`bi6MBa_@(|MTsz>-Q3%TFt=qu+zBHEurxm*WQIW=Of0Q%)7XP62%85^k#SV9 z*;Ivy-g=a*tu>f^^ia|xzThKf(}QYk(x9*lh}ZV`{477telWKz<{QcO#OmlD;i9bKew;Csr7@fV0YRQ0SP#I2jo?IuQ)ZY{LsyDuM{YTC?I#H%HN^Qf@~wc5gB z?6$o;BEH7iGu2N1wffti+;@a9W!tsR$oFFgEH;wuuz1;m`^yu4d*cVjGi~g4PA6l9 zkLV1<-Y5D|QyXZlwaO^F*Ygw3x*{ui%e*#?tZ6XU=H6EY>Em?cx%G*56-8T~v+0IR zWv3El5Xo;OMlNd~zib92?|bDKlp>8=X30&ro!(Y2P$$e+FRb+5LpXifmV%A!DbP=X z*Ot@LLcWp2pQ{WTns5nixtPe1BYf!0hDmv}?xI)mkWGODW0S6#`Z8}RuG-RGO)O=C zg8%MCLbJ;4@ib}b3f|$GC0bok+2ftG-$*u&i!{bchh#hyzK0|Kx?(Bo$?bBnr%3QN zRKHs#_}S9#kZ-?tntX^32x3N*DCKbOU&OZtc)aZ2dz64n|4t}#{V#46^m|eRx^+#o zd6rD2^R)>npWq5m5c~-C=|Ah<%lp=Ayoa1qeeJCPID+V2(h0kl^}<++8?YX=*%6iU z%B=^T?s;#_4!>E@fq>b`L7Y^W-o9A6uJtcrmTts&T$FM_byX~}79P&W;Tz-Fhtg_ev1E9A)7Y4b#x?piZi=9ygXOQ z>HU(sbDmxH=&#CI&>HN`idqS7ttIpQQYHE(vk{RBL&Tpq2Pd2b9#Gw<0CD3x#_y~@ zRFbeVA8<&_8_}9hc5K$YTh`%j;O6day`YY#On^+besmXo?7I%hS$7I${qQ+xf#1T= zrIXiFqT6@ocIh_~RFC7^#2jzcmijvT4)+A@#p)g@P>nQ&xzAJk) zQn$BbMYM$0qoUf^BNB+j9#zjS;T)4xk>u_Im0lMJ6RPOWIZ*-0$6gmes*2z3OtS2@ zEfE!Z|CdlB%rBytL=i@-1h%KA6i5oAg>W*w(dx=ESFHhemT(%2-USNnqD9schxmZK zswGyG93rAZ?LaL63M^7pgi~LX!77$r^kx`Jm5^lF-rdY*H6+ZbFVxb^^OqnpNqKYI zFKZX})A}+0)9KQj0;daW4&f-swY<@-`ebWvcFkrdKwbId2yl9xQ!fAKw)a0Rl|KDD zBSm(Zcxs{$f1$eX|9_U<*88^_e;J%;wA~2q;n+D)Lz{GFD7hW#j3U?TV7#^#La_)3 zwh$g4J4KAcbj@BvUDun+k-vWqn=mO1CLdvmVAa%|`$keBU`sN;_p%4ktov~uZ{`|j z-`~;?WMyM?Zi`~2YNa~lG}Xk0gkJuA_FvXzX#8xPL;u1RXdP!CqVx-f&NoOyOj^^D zCNoYfNO$^$y`Jv3%%l%i6-EBZ0+_T_6(*?~K>=JZ=H@QOFvlu$GC%73yW;Nxd4Fy7 znp(B)0bL)kaPm`l==gmd6?^=B^Dp0pbKm(>WAX0RQRP<~M#r_LO78Nh_hsuj8Dk_+ z?Nf>aNSc^YATRA{h65u0KHOmRs&Z9^!>de94PA4DS*sQdOp#}RhdCAA%$Q`dXDUgF zdl^=o_ke^O8XJ*3&%wpz-9jWRJUf3W=C%&s^8%?Z*sB(Oe*1C`xUM5+zu1AoqFidC zZV~mq*j8(0>pt4s#lbM0R6qFlRGLWZy}+JLmmZ#r1qvp(%^%}UItC@9>Pd7I9(|!g zr^S2&@l~|70n1b-d@aoye8ryysYlG!64a7VN$}77A6ioQQiRo>l;jxGE#N$?4c)WyImFt-1v0~&-CnJ|j`pPDPl{t3;HS$xg!0Gt zx+y9sv63Cj{A6Gm-j4NTpHo`8_0zJ-_zZl`cOi&aQ#WP(qv<92K*PVc=6`Dg|AURo zMKubZDYSbNtn`$yJ% zdHjC-q#uXHvmf_D{<8)Y=wL}q89LFW-We46FRBk%XNs8pv$KSflOMJUcAAn+{iyHX zq@dr&%kQ?iqVSnTsa7MzeYly-`dN6B}dd zw{fNma7QC5CF%~n1SqiFur;uz!>jFmG@r!wJWjWWBWBnpby>Ia<&>EyP4~*3uUE3& zy{spiHp!$EcRj&b0`A!>Fk!d&r-~e2Q!)K5Eln+xQI!_g6T_)Km#y}8@w!Cx*3(&G zU_6H!%0_#Jx^^3N&YWnTPG3;tL9|W-)&RA=QOWF3Ms#s3@Q0LyWrra=nI%v;*L~`k z@NR;%irV!h%OfkO$y4G^V$kSEO^-E|fzBXAl z8`32i(0VZOO$^d91=4L0Q}ZdnpWFn)Fo1``sM)?`M=3F{Pl&}?P(LyNAjYB^RBL6A z`5f9(W)UocHyQ@}s1YCA_{%*Ox8|+9(vEwxnIt?})XFbPath=zAC{(UJk`Ed4NYd- zjfCWhMWt!Z+``dSwb6qmwr2SQte1?p2%X^?7-j8?V*F{_)BaA5un~gU#^M59r)G>s zc&*d6Qc6+1R)!97dnjIJQYJv-A#{-^rA7i;}Qq!rkJ)+Ki{GTz-SRXI&P zYaQJfvfevlV*ZZ_r}WtXuO>y+~sx9fk){|6`wQvRRi%CLobr&2IhJB z6rqXOw?&5r5zD^iRbQ%7S4fHTaq}2jpAKX3UU$h1L$38QVMkSSCz2B`;B65L33+xudpZ@Io{)Zk9UrX(4&VcdaWB)z`KE4^5n)+MO@b zI#v@MCeo3Z=uEGL$f>!>T_Y?sTng!-F;aE)0+jcgjCgxvx_LmQPl+fdsAl%}z+w|< zE!{iK8Q&I*bR;ofO{j}))DOWag$q;OEf?xUaGJqd7uZz!R79)>4D?MitK)YA*jzj9 z?W%qk*#TKr$vyH*OylVWM!RUsUbi7O+Y)QBj_SBXt8SP-U2HWdCMm~Cq!U6lV8x~> zdUO3rPB%}WBJl({B#Pj1EQu8c(ZFx2isD4pRYx@~m!s*>hR;gT0bGmcKaFu(11|BQ zOYFN9KTRKsE*LLR!K?$@^}N(+3Zy`qO?Cj#3;*$KrtrNB*89?}O$}!He5`IGQULmtGVLw12yczvKCdlG>V9Z98du!me zJ;uu$36}n8ysI!ZC^hbpC=kPWPw+8FG5hRSwkNY}o0C6&p_DkrYFW!ZwPX6o^%o_V zZb$MGZ6&{D>voaY_dCsZjG)Izq}?3`PU4w{`I-2gwo=? zLTIjU0q(FanD;D^={*U_ts4Kw)GAiy5{^8RSKk(>Q0Sy-&uU>AqW`Eb%+DhZ$jDA? z>)d)kLSl_#sC!Yi1JBYn%Y$jnX@6Xdo6lULI+BR{G_l-Wqw$wQ{3SV(&BJc=H8mH* zw$|bbOvKI_SvxZ1>K#5J;Z;+gqJE9UqoQa+hILOlAW$>;C%Ga4pWb{Bnx#Y}9tCeA zl1ZfMK8c#WAKuYsmgQ$C&x26rF2HW9J)&?!=U2y>FV2dn?a=|3^{>wXGeSM)X=(y#mJ7l$l-7yiawr|6CYI(4nin?`Q6!zGkG`_LN+TsVRO4- z=Q-%n4nQ+>*hRN)=aM73QTN&b)cIB8kHPCx=Z?F-|#%+lUTUJ z;66viOhHL6=+1m~qT(;!RM9k-?$+{)Q|&9lIi}+tc`fs;izpW&E7i8 zmp+go^9!tkV)z)i5yf6rl;)Ryz4h)JNxv{}N=(9s?&XI5)5nzO017neG{A)zA@Ws0 zP;lrUYo;O5@6*Rv;T(N{$U=nE^1D5~TUGofE{UyM8Kv4%ezRi?O%UraQtcLZ-0`l+ znc||RDztslUKr_X;j|#O3Yxa<0=L@s`o#kN#1Yq2&aahl?0_2ws^@-$*0|-^xQX?$ z<$*xTnh-ugEym0&S;RJ;U)6r2gQ^DRe(Nz?G>;;!hR0^Vxq zD#Ry}spTYlIs9?IwH5f2py8}-A*N1Y#X0UD)C7!33LQPw!q9b*U&Cp-Eph3CW=3lw z4on8{vL4yl!#u)xF=Ae;Z10)xMiCLA#41(Q6`i@xy|l#OZ9lSBdE1}Ktql~_O#Sui zsj#qUCvDFA{k1tT^m!4P#&8*rZ)iHaI^?@cxo?FOz zMQrIHDA@=31W!O4-MiMb&U1Z4HCYcg6d~0L>F;p>0($a$oH||K?tLREpA;LzLLvpk zO5j?C1q|xEPGZLg0UrEh1Nb+sgovxk6CiQUFQo#KE8BWQSQC%6r9YrU+LSA5CbMLy z9P!@Nr;rE+drYYmmv_POOxnn6v`C37YMGZ55>uqke=SdW2{%dM9&0Sz)7OuB)4&tL zpr<#AWX69Z!6O>SHrtwqiDr1jlKI|1=DLC+yicqixP7)90gR%ynj!&HJ88%GqVjiJ zRo7mgC3dE|F?(@PC0#C86KI>qAUiH+F^dk{!*UHb!~Ec%!w_@*@8{HYjahSNI!w#Y z*|3q#5a^C4TXG<+wEyK3Uf*D)=A(RYD-vyqp|wsOy5HK;q-vz;7NR_?Hv@<1Jz7h9>LPl;boTVlc{D z-m9f?e#gCE%@kC7qK~Db=GIvp{^c|CCfGZhPrD|DRU>qx$5}%GmzQSfV5E{|5OdTy zj1}tsaJ0T{EGqrW)~wli6@Wf_mMZY~PB3%yk(a`OR3ND5@;`p%Jr?Y&0KgM*sr<*v z9&EWDvag(`9HhF+JA(5WW_p;%Ptqy@ zCU8<0*?uO&dV-dZTmF4!VMD3!tIUQ%B`Xm36N_ozh-xnWMuKZzQ(`YsxZQSvCC7l@ zc~_lM?49?Xl5e)1HZHEY$*^y41h2n1(fILmm@V@c`4%7%(7mDg)b(QPSla0C({#N_ z>uVx<3e{@bYv8zHDe^n~>yQhKTK-V~#i-)?_pHJ1;r{tu7EWs}E{|I?vP zfVH@y874mezVRr(uI{0lc%%BUpzP1uJuOGZ{fwe(c0}&WiS(Ew5dgwsYP^^s`uF~) zXH3fS*C}g5149oN&S!T$s{i%;xfi{Z=ElB}5a;%>V*mZZ{-3_D!5^o|`tg3z{W4R5 zZ;vll{ueH*a>GK!s<6W_XU#&mB)6i0lF#ZjQZt~8FJ+0jPIc+Wj!{*3YapM~)|LK+dp$i`ztID0gTTs6lx)!Mte>&RaA-c~VOBa5PO2DCf8^ z0)p;@xst2j47#gr1(gbiW zU6NQ~Q+fA(o@T&*#rq+qyuIuU5KIDgnPc%)?_#xy;EZ!IU>lwbK zDlRGu>TdyH(*%D{fiw*2j31?c!E6hue7Vl2KLs)7h>JcBt6Vcjg|7=lYu^{NxFs?c zr=k8xD=9htQ#*pw0?wDjkz-qCAW|v>OtVC98OmGEUg~ss_u>0gi%&&5S&%*vAR9|+ z%|&?)`Q1$lQRc!cQQB@!#e-#;(@Yg53e#UkzwW!nB^Buctx+Kuu<$$8>4HFCE4><0 zudX}gt3mtGWg4er6|vi41MLyE{^BB?N~o+lalu2VaHXn#%GJuUDJ4}!adbm`$iYJ3mcHBdML5+uIhB)s_vqr( zxQi?m8f#W49Rw!r=?On$SIC8&nkOs?zCLUIDJSJ~aHs+XU^1Ik^E*0Y0irS@b{_nv zrux0?b}J8~^qY=mbJsXw&%99_T*15rk{ljsVnb#+;PHDKsk*J>5$F@9blCn+!eeo1 zcim)PwA)&nb{61pEpbiMgLv9OG~!CQpxO2ug7Do+8{)y`2h2B3+6Z&p&;t8s9lyry zYQLVAIL^)l3|Zznt!;G*{O!D!OCoO3OCmcxF~eIU%&y%;yO3fW=s%t-6YgDRK z-bj`T;CFn&1B=rPk*!`_%*^t(YTbV?o%+*(%s*sb9SF`XLTx zloXfe0VLeAajRl^IB}*l#)&DZ#Nsg~$geLVIVtoPlJ6oHq&hrsie=|Hq$=f=-lN7v zi=Dv-mw$+)cYc}NbecXGbvPDDKY#E;dSJtrmw$}S?-NpdRoWn5>@SOhrAUPY0bs1UO0{Ou_#0XaoA7gb-q85Rse&(GC^^HZNdm5`|E7L^-3;sT2srC1va(;H=< z=PWoBCq+tY9p_3+BKq7uYeqT{Uv;%L7%-h@RJ=cWYUfuPz*hFP@6O^97w7b3eX|?j ziFLuCgw*S zsF1OiW>p-@O+(j-W5o3^Z777!GE1rxUgKskHa9{T#w%)cAK(8{WBQtC*IgU*?m(_2vwaoVxU(z29ckM^n~|iaPtOLhaB}1t)3dw1{qCf)e#2AF zVXGAr#c2B2oxHqQD|<^*I$%&qf@25_6XtK}mWiEo_x$Zs31NEI{v-)gX%M({e^kXw z>RJgHMpsGS)yQ0PyefDUQIKA4X53-U1QKuBg80T+Lbzaz$feKRn@r*cb!eMeche_5 z32!miqp>{EnkbxP%g)>OJm}6=x_`3?DR}Tr7T8~F^h#HbuaQ7M9+I71z&8_qw(MDs z=SeULsn;YfNxMzikUvdwK;M)Y?%;{cjEnU~x_p>1)V(=fBuEj~WR}~>3`89cV~`m- z<2;b9Cyv;1$cy2KZKv@W)LpU6!^Tbl|8#|h7Ckp~C2rbdLKoyrD6 zt9sP*avzCry{9yF!1hLfE|>fW?h(>VXL9E<0F1&vUwI`C=b)O*R$>>OD5Qrq~PjQX7Zx1E3iIp3>ho>^o8~H;*HJKU67^ z>!aRh|6%mL{Py914)cqbML#Udq(aQ{gX8j@5=vF` z7cad~9fukva&5HxB<{ZqZSu!%WLf%03a*m=IN(>c{}5*CAJ{YQqY63Lc)M|4U0PiA zcHT_)PmDSRJyghdaVV9$?P+Vhsig9}1a@NQtZ4VS+lRlO;& zUv+Xmb^B1UwVE0sx8Uv*?y5WvIgu}Q@wVc6gQIts6Th}zo?%GS$!{M1=fLx;;I{$; zSE+w1f2sJC|9Sr%6(Zs;1^kBC;|C9l*(RtS6oYI@5O=!n-KTh<7IrD8VbJu@i}w_F zc5~di;%_-?W590PE=1?HuX~%M;(@FxuU14!FLX*=1l|Hmg~1g*3kFQBtejTPZn2Du zbfj5r);-21@UaVOy?ry$f{CvxA97N4MAf$Y#p#Q-4^1S#h3McVLGJaA>d8LU4;4q^ z>vv)3B42W&6*_>sDCJYiyrt?6oG^cXeo4EMg*=sFQX9P|UD^n2&d(%ou(xrcGhiXJ z9k40m5+G6ufR?Zf`zw?|Xy|(=L*{BrSv!L5yVei@zDfY)gWZQ(M|8zOm~-E zVNnl7X)QLPmy77unzj^&+9r5noj6)k#UE-ez9`q8j92dPp;Vbg2*b5(AKyv~$MMwf z#m2&TMGXvL&i+YTl>X3c4w&2PVGM12;TtsrHw?h@!V44VVU{(1nlCRQ5Fv4DJ)RPO zacUw#*ZQbJlvX7g>IzTBCC#jvhTiah5~05r)j&pnijE=9@x*Gps!L3PJMd{a#tiIy zmf-fT;!{&xO^Hyjn{J$zwi3V9O%z`td#Kne5*|}iQ$7mi6vJ{8pn`muc;(fi0rw1q zQQ>u@PALW^Vj8m_bYAD!0T=doab%MZ8r52?F|OSToSXoEt)rX$*kRv;ZN1~Nl%aHU z9r_9 z9a7xV7NrSI36ZQqOASSVx1i9)b4ZjZHC6-D- z*4|w@%BD&Bw$`Fa=`j#ZKCxV#{OmP2PMk$R*m>qI_W<4mCT7>0jVgG=Uus^rq<-sF z2N%mhpVHUy|3w!Ulb#CuGpRj6Lq)l#KJYEUiByRiWmZ0NmLtXj`1T7uqoR(w(?kHSO9Z_BS!`l}he}4-;IzvO@vY z!?r|>Y`k4B<$(x7RVPE|4`?}0+~lwgLRVVq*BKUMN*%5f|Ho>%Oi?gAMR23|8GiP0 z1xQA|Vu%ta+}Dm?mMY78Rsf|)g=*g;^P`9IbA1xdo>b4+v4=D{%v*Mb^xPG4jOzFqD9Pr=6IBs z52+m$S`Y@_+%B{2yzc(W+07|?(!dZGz!C8@O${&{06ofngcCc zAv;OpOn+O>5dYf}gKm$8evSGj=L>i7|bD5OCoAy;-Yq zkfx5O)*j5o$y0Xj9(6tvLC2ZVg5>T(H&ek-6UTYb^x`RpjJuWcxPSZbhe|qgEUg_R zGQ!UO#}3N5UIq|B{Nwr+b9kTOA7TvRp-$_it@u=?%P!;)wHd7??T`Bg zsiTcJwS+^xTW-8K|*PZ3}2N zt_?{vRGFmuw>D1cFPl;JLIYth9C1HE0w=lPlvo_&fits!!ayK3{k@f##;|)0HlbS6 zA_IcgwK+d!z}(!u!j)?qvLptTEk2JMHabpzJh@4}L_DIfktT?oE|wJ(uq#v>Y4X;Iqcp*g~_8z_AWPVu%IsR_}=yx zNW<|A+8i)h>&yw0@j=3)5JxL}3eWhbt+^E=hKi>A1c7`xP8@76VlTK~(b^KOZEf7u{u3FKS)7V90m z5x3bB&ton^mVKyWoaozcsvnGWOh}>NFH@ze$|8eSsQP=7jL2Gi7myD;n z2+|<%nu}4nz=9_XKXFp%4z{9e?c3T{EkXL$y_7i}uHCPowcj<=yj%u$9Nje7&s!|7 zT0|H4?@j(8b+wJVQ{Y+(;+NTJ<5^6lzeD^)B6E8CQl*nFMn!I`S$4tSF!@YldNyJf z6U$f;K>VfOyYMnd_WO~y*Y|EvKEI-epm}el=%|Pw;Wg*edvitaF2kiF4RgI>4a2*JiHKil zhzNWA%(_c#go?q7h}K|Fh2K+DM5y6YUdk zq>^igJP9Fv9F} z4H)%Q3z!y?&Gfb6UXu~Hl7#P0Y<8kck|V^anZi?Rr|PfTo0nDzK;!J14s(i7TZje! z?UiNmj}i|n7{y$jQ>B`;aM~K)kshbBlqQ__kjYD6y+7Vd!__DR!t@jfs5#Kdv+&!q+r0Z+S z@>v$i`jd7%A}%uvmMSd_@3Z$F-jg#Fe>omj!Km#TgClE&W7GiupguR3uR~C(9G-3+ zM$roHk9ddm;Tj0M`5Q!-2_^j2kxyF@R!3u~+T47PsbdBE_+?Ls6 zc<0!bQNifKEW3{ZvcEbw-({xz2L;J$gv~Q$z(ikj#jJr%4g+RJDX&qyepo@jof!Hi zZ=L5w?#3`SP_Q?DsM;nRijj`vhG%ih%+RNvfm6g^qRp*)ihD|RX+esRRA~=$Od4?u zzwB3`=4hGs$W;rc=_$wbF4=8mtzNoE7>}R?6>vMeXkLUaG&B1Zx&OI~9FqygMy3gyp z&T|fjs>Uu<1z(75^J+vJv@MW8k3vNH9b0~d4hQ&5?yvCWOTr?e6g?K3HE&a<^gH$( zhJLXY1x{4azfRPy+jG12wCr}%NLF!=akKYJpyFtCgm4noD0^IC&HWMU_upWQ97W{6 zRMdxmD5jFBBNO=9rxzt(0VO^G9#1(ntvH?9p#J@o&c`N+$xjHhhXZ7SzUQ0*#4TWH zbZQlU+}@Bc??DyCv$?3Ld*8`ZLCbbgOprmuM_i zy!I81|0HG{qLqm32%5guL$q(-^cXh;f?yd@;6heNm*U^ z#vnr5j`_R!Y)AYr<_6b7&sK6-m2{JKckyXMJI{Fu@6PEPhwsOqeq;Evej5-h7U4b1 zyWiCU7}OjC6I^qbm-)$+ZZ>p?oKvuC>O$Q5`TV#-!^B7 z01Fr%EE)Q@kJ>2$m=oU^u0Q=)_7$dQf}d~w$+J97Yt^%;!rsO?wXj8!W`A+-II7F#{ch*Je3aue_3m_{ zoN_mHIeqr&Z##Dia$iOr|6%vy|HF-v{^s{<-LV|4u-Kz>_ zDb;cDsRIdhp8bg!xA2{qp{u3EVXg9M@?W03JH3#!7pSM~44BpbweQE7{{N%z!VM?i zH2uN*Enn}=2bv)+aUU}L?`^d1_0y`k=$Gcl7Yw{KCqxxg+U=*WaeVQ(_|!5+OMB^y zSj557i3J7*%f>H7n%fBt-WPfQ#S8cWo%^wQG(Vufs{MX{8{i2wm3*`r_DUm3S!}!m zt|*p{xwbro*JWvsiUf9eCI$wQrH9!60l;UEGv3gitLCAaOJObI_uEvm%KD_96?R@I z0xk=v#EJw=UWs2(j&M?0l-oImV|iZgJ2WRBm)i6lZJr&qe%7l`j~J# zH{Em3EUi%?SP7P#>YHLfSd{xc+dXhd+4GG2p(F!^mUSQUnF6-#)I&&YIxLhwE`vgk zBE(ydnb z0LT0Lfa>Y-MY zR9Hf?e1x|z;1xAK0`oH624IIb#B82}f1ez`C#jTK2}1yMX3I6wYcqM|KM%SY6GzfK z#|3lMfS|k6l<~(J7j~2tvzOv&TwwdQmMDb*>|l;+xh|Q#UmKjMwX_D^PEozMr^75K zP_>%r973p3twNH8^GJ}3I;1&N!ubVIDm5B8+$O2rEnY0_Fx2;jgE=@mYnoF-)fA~; zykv9#)YJ!I)lDiKbWAnzKk~Pn<`8^N<7K5nVNbCs3H47|1eOuW<8M4&e$Kdkc|j#g zOT38XMcJjjSpAKS#<#-*O7GAX11i#5~4%gv^?n_4%$B_VAcAv`T8lQ)mYBXQ@Ua}$+LSf=t3Xr~WfGo~K1rDo`j~JV=eSv-G{2JTluW*JIaiO;)=yT@+q)U* z+=K++Une$xkv3Nt(spSk>obg|`FbacO}MK+()oj0zC_iNLTudYVz75l*6PhJn~e!e zE9u7nEwpFw-~NjxQ6Tt@BSYON%NFcYVT+Fc@dL(1#H~TfBzL-G^wN}|67|nmz(VFn zvBYi;a9>U?kX;zm91~30_#i~%!jZ8wg@&MPUAvSk5R>fOiS5`%4N>yTsx6) zjR|Mk=LSfgA~g}#GvjHI58P7Bn#*|>?tm{^kaQ6rQxtL&$~Bdy-hlcjYQAFd6a^0r znJ%25WIw{`@Zoe8u4;`gxG5WDSRs+5d8-ap3^}H^-{b7)ZnF@L=h72H!aOK?gcy!1 z70!&8Z3hd4xnve#n#gqaks?z!a_C#jxEQ~M%+ITxW=*k0WlD6<%SwaF55}L=FSj*)9|VPARETNJDR zii_k5-}`wM-s=6-nDT0)RdenW{r&~|bdH;=ao#diqQc5DV{g+0hk(5m5k+NClZ-OP zwI|2ZK^{hq5GOJSyDO;+S!wp?5poNk-hWH?z7MJ6?9a|sAt{z_;OQK_yGmId?-g&x zb0PR&t`Q=TE;Sn#PO{o}zcHKwRqMF`37KLV2n%x(&BE40P|Nz4xTK%g2C0-<1@u8X z{WVGt2mnjadY)ymk=f|WRX11NPUVe<9xJ_#1+eyC(~p$H{;ZRR4pCv7q6wI&S8(PlU3k#LjJ_{75!4GpJ}j zoW)B_)@r&uw7qA(uI`XRjJFZG(@P{>R3m|UZMbmD{Z1q4 z{=&VvS|g26Ad6tdMbFD3vCp1s5v96dhhzScxZI^TtBuTr$#o2ZK!i`92i?>Rox-;H z-0I!TmvkE*#WnO%6_fHmE(BhKtGXIkQU~>F-Zv1@@@*^Jqbs8h#jVK9;B=h}VN~tb zTi9Tt@2>btFC{Ez4$Ov%z>x4ux49jC^yM`8J+zO5C@n%?4+|eP=+W9NT|e_<^}TjM zt0iwWs*O`n2!0qk)waU6J$-_6X)s;&(epfVETU789Y4n{W^$zvvD6oQdCt1%*W}(! z{Tj*Ds@5rRQab@(=thRPBkZ)_j=DyA$J9ErwYQ&vd5TqaMS(R)a&N_U1*$PF)Kfa_ z$wL_sMc0kEgY)n6R7LZw4b5;APIdKM{rUzeNwXmJna{_GHIRUM;nY-PB3U$OUrI;k zHJmxr;|b$7Zdt`Khkjwj-Xp)nnr)HJOj4MGrMFcXzAo-gHqGZzeAv`a<`H6NDz)Mn z>`I!WKGOj)Pw$zN^-nzIzYpTMemY!APbKG=p=$ zmaE$rk+Wr&zs5HNcxajYd1pf|ZZ}?d*78i)nj#=w^?A`N<>~U5T`vZnTzN<@4GIgv zVx9FofB*i`KUo6(?fl?gcaAYnx5N(__rAO;c%NLf{}JH$hg-XSoa8NOf1k`=bThnd z!su6%?8^+am!+notmYUm@dOQfgFnQk<&_#`scNDw;fvzFQMD-+3v6OkVVe%l1W`Fh z(+Xxs&6rXiH`fG z?-Al{A0C#IRDmhTDnrH!dryhUKblp=Rm&uMfhiBD_s`HjNMS{>v9DCQ*rm)RT*RK3 zcQTttybp~uh&+jG$saKLWG(eM>G=FO*o(aTSM$=NSWCc3RlPAOFh@ldDp7^XW+wF#Q%JV!_Z0Wfa%cp=?6ghQnShd#OMK2){eZh z)qizcny@`AzA2%yrHTbbW?oQv_s`8pu^ze{H$lbX5gEGSc9sCX8!L!Z1tumPxw@9$ zrzJ);*N%)%eL24CdyVx6iqcy0PrG+hpMOn#%JF8mwIJs0^io@cE1_(rUtbztAYzX9 z$V}0>opx?={@1{fu!QF9PGxwMe1nG_qJ7c0|8;-bC@^`l2-l6~0<$4>Rd6MOR$c1{Qz3^@XNPbWC{Zy4GDvA@=H@>vf*%N2{Q902 zJ_qZDq`?a1gsl}J0KRY-SaQvApiM)3~S6`{0<>;du){iKl!8xqnxtUvzw2p zcjgjPXJ6{a08u-F!)H5uzhE?Irz-DU39Ezblm7&K+3eLy(a?-qJBWf~1_tIAz{_uZ zA-0RdK^oMjhX7mRN~TihQHgZC7=j{revm&lD-XN8#r4MVd3p^`z|5?qT4YXU0?uyY zpP=NbIXRM|gVoh-hkjWr#UD&HlmgJRMXzi_AJ#QOH=;suVKdpJh64h4)8E+98;oB6=2lud6^dGY2^!l9ufVpS=d&R7Q`FJz|F_uAiFecbGC8S zg9Kyh$?5OB7Bne?1ipuS1&RmdN^Z@uZkUyRS#USFkeL16p^+0zcPk9BQm{djzHmUJ zq><8OF_=3BaHnVA}^$ z3?Z^a7_W&*J)ch$pJmZ9_%Z6dzUb=tNwOc$qbA2$>M}U{GE+rw>2W$zERMwG4f8ag z*ftAID1QwpxRXK%Jl)XT9Z!QjB7+SpB*O6}U#%fBcNu`v+YALeVlit!C#e@T2FuL+QUNFjuH+AITirc+ z_ILAn3}?(|Cvw>)zwzEdR9sCN6%ypI<{9KH4cPV$T=|iSePZs!@{jL-U}iJ;-cPS6 zCziJi7Q|3qribEl+0|W^H=F`C!!b z(ogpPJM($*=8Doa-S;)zfwEAkQ>C)epc?8sHN5e8k>>3pkM)mK4XRE38Gj?FaNKuQ zfS)Y2AS?+ik6OtVEnt-}t%YnusZe^G09KPC!5qetu?CWSb3zZ;@5GW4m!E}G!IFb; z>x1UM#h%qnTT&Cps7FSOTfH~E{_lKcR^>MUdfhjMf2Kcq?=(m4X0JXy1QOCShQvcT z@``fL!`hH&DG1G0HOc?nN!SK4RWQ#;%0H;cf>jF_Sy}g-wMh3RE8@u_or=lI$nTr+ z754(A3cb$N(5nfMPU)=IZIHoP$JIF9o%ane@hi-onT#=E>Y!ULnE|?%-xwHge(bL$ zJO6USYtZECp7Gf=Lhezm4?f}5`}fOwq<59wt1+7D#9dCEbD=b3Rv;@xnRBIFLb2$r zFe(qNphUH|DY=ySP(-h(^~Q=Z%A9bH6bZ zZ>5cQ?;EJ+J*<9^6R!#XFt!f6tO-2G+gL_PFrj8F@H{8M#4~^n&LkAFDeLJ;Jliy-3G4wFtX%B#kjDI=N#H(VjvtS^3 zkpc(~HH55qm}+d2od}Lu2q98*wkS!L9mU7USK)PcxBT4agP`p@!ar2fjLH7Ad+GM6 zFUnt~o-M`vrPot^@P^?+Z3;9BQl|7oP8%NAyIkGmLO;jB6|MjnbfNt0MW_XKxCXtb zJ4Q<7Xt#*XB#OD+>r*}mN93bNFDfz&<0{H*W)-Zeg6ISu6$4!B;rpvZ|c)fnv9 zF-rj|WNeAzcK6wo!46=q{EK#-RoSa)53uumWb|;8vewEREZ(<|4s0nQv5}Z#&f3~l ztB==F3Sv*ATW7nb2Gkz+Wj{${yfR~9>QQ(Z$S_7x8gcf~1--^^BgulwWjA^oAU8Yl z6tdJo@)bF#-p$L)$Pi)Wa(9@$`an`Njmu?Mo`8_4_aU`r>P0de>KqzOCwwXXAkvbB zZiCG&w~W}Ctn}>;j-`9VD(V&>e@)lK=B|@ZPa2G+Zs^hadn_7TFtZ{9ls3I;*JSNh znv#8wlQKetjsYP(37Ba`%I(W|tp4CwOu2LtCOf<`^@8{FI6N3a0~HYmm3y7&I!O~k zMx_F?qM%)_7iG}H{nV@APx+PrPRZ6Ek(WDJDlDodA<`nZq+gd^t5~S#s_SexCQ0;P ziR|*_z;>Uy1LRMWL!oedO?yJffmt+B(!A-Bhq0*-ltmvi?SGdyd;J;*kfPPwQ8kSu zi$Vy5$gYq1gyG~Cdkd;!H1nLD9tK_^sG$P-+E*WDp|DQ*_+TyoJ_?qCf;`5T1w~rc z4^g#~@fsKVl5uPxT&|jS-j)-czP_)qDc#7ycWLX{)P!ttMc9d-jWb(p96BAfel z0p3=~sq^`xav2WEC7Nydn{Mu8E`%roUJZ-16LYQYv#k}EgzO6B!e|-;7^9HYlmnT* zTkXs$x5%k36a~=+pdNiYk7j6R0aL=pR3Gj~d~Naq(`onKe<$&CHMmT{fkP9ek2j7)m=k5UwdqJ(m*n&}c0;Sa_h z($F#{e334~t$`$>b_-|5mJn6Y(=?YLRWF#7svR^$fn}KkO8DB^?awiOhGM_K5Oxj3 zrGcmi<2LNuHDYDCy$4#aYdI^R@OH+YC^@A&pCH|)v~w_;%1c2F1YCDcP&8}JSFKHq zy5m3V6{O({UU-p0sYZwn!Q)k9YXy7OV^IfA5YAZ?UN6M}l6h)0Rxma(9edx(l^Rx#+=%^{#_zLbM z(+gFqa2h1bGHW1XqEsK~ z`e1y#K6)c@($I?a?dxoFADNsdWYkSpSA7bX-)=ns5G{Y0gW|Gt`zW!at}h&0Cx=I? z%0fQcRbNgw1zT_3NbqOJmn~^#HN#`m&qE>ftmXX(kc50*+r$*q$v!Ti%lJ-swIigG zv44(3ObsELJqHC0+La|X#={=lh_tTa@P>K4S!11oot@6;`AMnR^yp^f94>ochBD_} zqix^m=%?jMc^S_a4MG%Gid4bqJ93xfV?t5@VF+I>v&GnWIQv`8Gla`zWG(0sWzpT* zam9&Idan>9pSu}?4u}#p9Ei7QjNV-qjzJ3@(lA$Qo%lAy-Hw%v*$VD>dfr?0SC1+C^ht&T05 zf){gFB_SRb3a}S?8+ICV!-V0@5~Mr|OHpBVbt)^abCMlya%uq-cyAmen3!Uo`1zWQ zMW7_a;fx6J3wHFw#d1nr74FmiHCtoHozvR=bTNk zr?C3?>A6C#guoCmIu2Fbky>G_)nX{L^tgFCmCIKcM$AqjnvYe~ns2>@K8hI;1!1FY z`yA)(V^nLm6OUr47#b}3wV+V{EySANI+$!G_6TF8tvX+g>>VBI&#J(y(mL<+xWI6% z2s^iEg+Z~`ov1JD)1Cftn!kYlBnhK13TD4&0d;n?MjdCM+$*fHPj4Kp8!TDg#WB0CYAKpOzLtlL9a3J~OVf`N+R>UvIhOe`z&jFfsT#5oT?TBvox@Ue^({<5u z;4PFWGy!qSVq4IbBZw7f`XpJIGLrKB%=wUC9LviVnZ3(%g@{#0Cx$ zZI`Ndtx<}pi}W=@`7o+b$%+GdnclZeGOA5ew+9FYsyy2AU5}^`7hI-@oQ>u2r3h)z zfN<$eu%HM^AK+MChpzwCm_4x!@Qr%*SCqb0vRWDP*V~Q%irMdX84yX^kvzO4 z@pbJ;vB;CKuRR@KGCGYTjh?B3MNxUcFQQSSCe~t_sW&a!HhNRvG4&VDr~=c{F^X<; zE#K75CrJbkS9q#0GbpZhY>OYxsXF-F&bxPd$j+@yB9F8tt)P)Jr5vRYTX8y!zM!k7 zY-rrI_PVo}Zxr9}x_M#%qbHi{Iu8(6Hq4E!l$9rA45qTSyGZ)`+Y;wh(Lg!`2GM-+ zdvze=pRN_o+;CPV+)8IxmZQMby|E(hXiy}(hOzA_hkN!OzYhP-=B4uKL!Nd%3kdYi zS`GWa;Jo9n?W1#!Ic)6Wy{A-BXN%4<)unr(hS>|5&1oEkWe51nx;=xVML|}xcdOFY zOT30;K2_|R%6(4yx^ngtNDwR7=7io~pt}Bqs z0=#9%Xwg8x2Jdm!D8zTzPL##!QLHHY!{YF8JOJ?t^3jEW6>aRg5;$z`djQ~rs9B}+ z>)XvPIjo8mpf-%u#4u_1sw|o}%51~~xgZ)Xzt-s;$lB{%ID~U0t+q_Blm|(sDlzIX ztM_y#ZRw=kvg6fsMc41xVss7|#=rf`=fRbXtweT~ z8yFIhb0^7ZTSZ%s&UTf4kegNR>{T9pJVALL#RX4650#FyV4Ra5^v{$IM5W<#t9*sS z`s3yt6AGderd#uBX7V{a5RF>gdpTX@d?|`J3l&;2v3M>rVi+7xlzLOg${3o;7hGjH zkS_Z1sYOZsef;l9^)QoMR{ls6$S=X)HsI`}#1mH1E7{ekjvJeSdsm;8owurcFs$;y*aBe*nM0>Hj=|9gp$myJ&ips-jm%rK#xWj=W?XF>B0mqN3|}wt0qs zeBbF`%f-6IFGCJy-L?Ui(0jvwTWY=g*9Jd-{iV-KX18U+tna-}ba>?7PEnZJsM|Ly z^mofyXEV%KpY8j;PRlB~%l#YRn({v_XGWH(fLQmncdbuZ`Df3JW&xnT%TxZV$66Sh z>o}DFANK>2p2#2N~)C777&Z08P>9#_-V4Qg_+z4%D|BCipxo*$mBWVad9adPM6`?cZbkPoqt;0&M4)O=|&e)WpPV8v9I?%FTmx(>7aqWvIeIIik#d>_tCX^OGEUP{XX^xe!lV!Ke(CVP^HDzf(i;ujfIO$hN zE8n`v?i!WpvEdcF3)-_#34xReWS&(mpE?AKL-?)bosEO6J@Q2~?~RT@vFy>Z&+|vxm1|eg&HBwxJ}lF-OoXZRxAe^z+fSy* zr&><4j5f_6&Q!D%fUs~@O%xse`f*!XL9en0$qO-$)QCIh&f55(cjzFLj02VKsD0^reB{ zu3m0sm1u(@J54BWaCdgdh&dueH9{BmS$tMxD)%_R`cKJs^EFRuby%U0%L`o57h?qF z*m5^YOgwft#kMamKJG`DD0S(3VNzCc*vd5;}F;`0D z;@9Km1@eVe8}rZEQcG{%od4?QGTGuKRc-#2=)2VD&-uP?De}nW#xHkMiE>3Lk?V=| zWZu6wxfuGxptz#M?IZt2*piam$@d89se19QUsi z@$=XJ)d6#hZK-EfwGy7Y#*?`A^lL{9=Gv21`qg(87ul@XIQvF46ABcMx?FS>S(Mnx$aB!M+Di(ymhU(CTzeIU z9a_j6KdQ<>X6>~L3I^5QeYYKxG&ZSJlc_J+i<1|9o6pWtx#RaKACd8?itCCeau^kB z9f@ihQ^7der?U^k1GmqwaS4UE(0wja%-ONEpux) zGQ7}RgcPM+@P#$%>&(;Y&VIOq)MtL~FW&{9!ZiHnShk+Us?B9!ZQfQ)k}f}Vy(Pw> zTkUrudj_I9PZK*C4VP%T&gXEBUpC{xoFKcJW3I}BEDe$PQUhH0!|HInF5gg*70VDX zI$N1gcjiCY==8VYgG}K7}v7H;2WR^;hlPPQs9*8&t|b zu{o=_aSsS`@S0fovfM4Z?JF;X3k=nQznpZN+zGUi>a39$sIvTp69f(EFi~-q#8m9wGY*> zSSMq|j- zM`W|;eV(%umnIj;QuwX2@Wx0MJ(S0+At(tEmor(sdB^#LQd^9lGZ_SsJ*R&ld!7KX zeJ`K{{Z|2H@-`WTSGFudLsB%Y+=8MFiav}+(xd<3gINDmPznPEi%9@Zotac;V zl@1ba^}QlNSd#4qQXd+P*6jB_%TCsbQK;RoQOM^aPj`J|Xv_5NXoeeVgSULVUp93` z?Tjo5)UwQ5Yav<7a_Px#IfG!K85(|Pio)&K0!!sXc81{aX?F^Q>z~@@r3{P>zUDj7 z?YfnE-YMBu9PAB+>!IaUP1?nZO~5SQ!z|&KeQV zo|U`5d;!9Va(=1Qe-D06Q&3%{hN6h-ls80us`eh%A8>qfUHKoFA{V^aP<9`-#7=gs z;$E~ox)S9>8IHsVp8qp$T6T20KRatmuKPH9UHSdoi|1}xRJm}BF;UvPTCB`}>r;sG zRRuSflz_73tl9GksLh(Xgv~ob154VDOz&GcM*F(K@C}px;(BO#kwFhdpDm=RK`#AD zer{nES4{4AuJq&`B;9n0mj?5PK=aZ~wR6y;Xi=GJr6K!( zsk@ssl{@ZRGA2yG2vcqGH zfM&WtSe$}FjC$Se`W~cAUch!z|I118&3 z4W6w^Nujf1@lHc8-qK6$MWGVHr#MI(-D_70cT@a&$?W)pino#yNjZV(5yv@CljP4< zn*X*i*^(uEwrw$gW_GjKxXEh&W5P`q&2x;+ngBNMzjvB+o+j6rvh<1)Lc(UIn+&8# zSQEu*{w7K*)MeSiKT}Vr8B{{>D{wmv!_s8Ou~)4;U}Fhoy_Mz`me7Y9o5_wYOZ{-} z`9r|e$J=$jRh)+vFKGB$%lzYXTy3ujbt3T;R!=Ye!yhJds2-8C)WYg9^l;wIKB^2Akc}!uTiEuba$Q7&bn$ij zbbl2P{2=jKnrW+GU9z4WshG#I|ptaV2E@z=qag&PN)6uMVanF4g|!6wd1 z5x2RwpjcS%4-^C#MG+kOU9lLWNQg1FF_h>sSa@(abMrD8f)f-qwU=~~g&aG%3v%Y% zYXfsi?$x=5>MvN|3UaLWfw;HpBz$9dh;tXoF;$j~!ykNBQ@mn}XdFxv2TU;9E%*jD3UC zimWa>@t?npI(}p5yAp$m?Rs;>qrWdTeP1c;LlStY0Rd9`RUb#t@Jt5ZC@t3W z5UY+O<@JZ)3+%~(o`I?^I@qS^l}<1OY~kx}+b_!>N(~`Lr1(@eJZfXS!|IrSRS|6= zp6i>{&93nH1CavioUz~#KA*B4v1WQ4nE7y}3pdn5!?*?lfgj?|-h`6a?utFn^QF04 z^G{?ME=E-X1%&@BYzKE@{;GK6O?$k-zVX2eabC7(f?`qhs59-?BE9LOTS(Gy65PKFH_R*h>DU(YMY;vGG$ZH9Gwg$O4#2?RUSY7$Ly_} zEoZBuucQBTNscTVzIP*4bH51x1y&WutgFx_c)AvbicD6XZ2ys_F|sPWlvI3InECkj zeGKB~f&IUF{h&XkQ~)}!KW9k(Yrmho9%WAwV$8c*dXvlKuD<%X)*Eg^@6H8Ov1#us zipmr;ROQ#swbdAUbzdyuN~QV*l`5Np^4t+l(s(7B74;KFo(DvcAD|%AQa*omsAKha zR=ncpVLMHsHUp-i_3B@%psSweXf@4jmiW6qEnR+PYmPFg{wWJt5$evQ|9iY0=5X zw!y(`9YEBlT-fZz9&DQSvIg!bRz^|T{1zkcC{IeW%$#&F0mA4jzj9xXlTwKg(ySdA z8)5Ukn)#C8wK0?StcHtVHM)GJ5iK zM1E>r_;cRm!-288JqH`>pr93Tf!Z}5ZO$6CEThG$q>*ciBvThGTIW6`WDK#`D7Nuh z{NPq_tMEvaL8`NPvNO~|=9a%(;e*{oMOJNK8LX-R;T6mFVc!_jhd6AWe zc6iYVK!!g!{9!!RwoQvxCSf64D%(&k)X?;3yJoFaQ0?+&sST2q(5Ylg;$^?BijD=6 zkv0K;LZS2{{&{W-uB|bZGACHpQk8PjLC&th+Q{YvzB}%vZMPG6FdL|TGqJ5rT2Ba8 zYhf?l+)GE|06}R_fyygv?bM|B^gYM4a5Cm?Ux7xIihU%~8+8|8f%BTV-8?3VK3*Q` z6j_0!nx0F859Xxt!>=Z3-N{ci+6rg2%rMDh|G1iI`0FoeoFB(K z)MdA;ETi4VFVK$KUjMA$Uf;d>@S^+z+~KqQnwAS7g*LzVyUpN!8W! z+BN1Y5_2?h$XeoC-JxZ%XEvIka{pDy)FM`k=!(cQcqL6a)ew^k)#?l-w_=aaZqW(7`-_`D;^E0X1ozNX z{lUWx%>~YdD39+(;!^_O?_%jE%WmMMfwFB4$b>B5Js|b$roHxjT%hFK@Bh5Xtq?(P zmNZPvWXvc5U+-?K{iYGgaN@63-`AfS)BwS<)BJ_9jzOOe4F6v7ePuO85Te(=VL6Z% zVmfv1pRBNp*=y6bGoLa;g$NXA>NV!DcViHsm~TL1gls(%R{|Yhyl_T;l?jK4cjybE z?D*7oH2oY`Vc~lb_;pS88^h9h^_GV-yn`FZS!0yy&jm=wNd)MF70fMQ9flio+^z6Z z{>JdM+Mo1sDo=Oj*&3il{$KC@?mrW8rflcS*QND@xS+!SZhWtO?%w}Qt~S*^YW!E@ zO+fp#PZK)!AJnRLm2E7I6T@4(yyodcLq?K-Q2Z7D%x?@;H3=W<^Ugd!Q@bAXb$;Cp z`?c`D8{g}ltM7hJt_spTYW!E@jm3{ccHl2XL;Jq#! zxTWAqltiuQM{s-M;lcM){68;LbbkCI7=AEv;?4j3 zQFrjQ1ybftE$g2)WMj63J9V-)>?_QJT8_+KkKS!c9N0rO4*BHnL~5u(Ame_A?T-;0 z^zDt;k2=cAMktQ=Yb$we(t8@GSPd;Ra%EQwGAa~C8!Q{4?+JKOb5XL*1*CpQ?1JqK zx+fatG(3FY{!+LP21S86;huwull3fA?^o4(64&0eMbv{!mxY*m z{rrdcZUpjfsrOR^-}N8kH#v%8&Il`CWxOLvG}_{fc3L(7Dta&TG!;v@gjvd%HW{8! z;S$%5h(Nu=YW!|dd}=iey_m@jFy_^DA4h<_UClqK5+W9UVNy#S{ra-?sVjWnu-B_7 zz5E+PIv|}huJ>igK;z?}qoCJnn7eM&MhAKZRN+I@4WFd1rHR>3DahIm zyKUEx1Efg9r#UoI)xK(2HsQz*GTx_0!=k+C-c zQx~GB_ujVjz1!fK@^f5^qKzG6s=!QzNZia?;?7*A?4CuzqrLZmwIM_?Xud7{MKM8} za#isPfo+xp>gw1EE}*?W(+*^NBy9YZMmD#uItY#8nGll?xBHQi7)M;vqQ{Lj-u^{n zcJf_&3(BKcA5ziS4+#yvTtKe;+N2Bj2-a1-Me(JE?rV4XxW_H}?5S08vy(7vg91$ZdL<_QSk;3ZSMfG&f)7V1cIjPoV4;RW!yk`f?%-B?3K(hMcK49RjJ($ZSt)~8|(6WF% z?iyETZD;cWW^NPu=%)2&@}0v~mjgVKK=h21&9oECe78DLq!v7%YfV3r=TBdVWXj4s zKV&yiceZJ1F5r6QV2cH&^7BOb(#+$+M6NOkPB4PTf7fA~awnKe;K<;~71jF-3&aIE zQQb{;AQh7(mD_x78p7`M0%FU`nV%Q8js8w>_|XQR z?vpKo{MGk+=e&QY1WyIL1rO?UvH~3d8~Q+ffJE6iEz;TG6LHw5U&dxXMpmG<>2)Ru zlo)|&G@AcGnd19ppThwH`Gs573=JHjUFM`vJT+DoMe$90H{ms;)oEm^6K!_s?jJj| z6fo;8CxZp>MZZRUj|o*ZvQU{DeYLg-5`r$mQD7AL)?WGM($~Vs%hXSk7t2Vao8u5S#<>c-?3?#h6^Z}nwcJy<7KQT;iqz-uR*2HHc? zQQB<-05~LOEI%1wY-cf31ZEQ)z~(73op^1elX_sR@aEX2@wqSnv;5n4R*2G0is-YitVUAZRBr z8&5NenB7RZ*=22n$sSefbdb3o5`y-`YxU9lB9UJ83Q>@l-}=eAL-X;T3C+$s()Ej# z-xz>rvnRW?6YzIsbHLZGU8Y#&rW=mt&o5`!l0{KubB8C}%go|i=xlexD zD9@bz@TKHBovDW-jSU92u*@*y6i77L|2Efa>Fgu$%~W^RhM*;4ahfRle;IxNH2D_3 z!o7JN+}^%bfFY8bS|p*IN)v3OwFjS7QZEv#amCJZ-nbji)-6xbiStCm%AXjht%KP1h2sH zT>WGv>ldzGa=E>fs7w_fTZJ5o8uIhxVXYrq8tdsE-!0GF`zR+zQOS#~TGB~`Bxla5 z2b=lwTt0X)ibiwGIj#X+y&y}K^r8D{>aTUQCbol))Vg?C8ddN-Dj%2iJe5Wk2dD9Jy%fw& zVk+yt)*S9o6J}rl1sR~Q)Ttb>h?QL(&xZCXEeUb_Ri^c^b{q7yu3{}M`w12Dnui2n;vs*4W8S>xp5e26Z?ksBeORL$#4?5RLp|M%wAJ@P^Z=#O8=rb z+H9dhGDdQ+o}CP~&;dhjtu&PCoKAapn|)qPCR35ATm&+sxxFIPaSp;+Y3H3=T>tV} z0g9M2l%g;u!yQ>v`!f(TQT9c5Bn`&Z?{25z;-&Zm*D=uU(@A$ZP}MIR&y~+D#(G7q z*?X=ug-hhR-4%YOfIq4-en2gF6B2r9~gDt@L zwptmT78~F{uZj28-uYY(5YxtFP}SAdGnl=?o=|o+$`Im~rWi!RaP)YdvBlM1(XNzG zuYR-e8$-tImz^&I9!aSey0O0Jl|}mS=s^p`*p5slhz5F?r#D&(u@?ANJlms;R7R8@7z26m{rD(2<^m-n%1J0t5-YONSsJ zy@QS*QXL=x=|Tt)LO=+i7o{noLujG*-iwI9e3`kQxpkh~_x;wl*8QyYzTdk4%J1xR zayZ$Xv(Mhw@4Bv^X4oHj1wUV%M$XP?VVLIa#k6`lGz95VU1z6v5S7xz0$TVx{C$; z10C1e2vGb+>|_CJV%~~DH^jAgFy81Es1DQUs_}j>Wo%W#c^EmxoA37dUI?e-O$zHA zaQt0QAE0dJ#sO@HkiJ4({yHK#8|G;1`aC(bhl(V|;*>$!JIjGi-L`?=FzY80$d}=0 zLf#yb1tf{sI%T^~=db;F+_?McW!DQAr2hjweO<4ds2!6PxKgKa$Wx7duhm;Kzh5}Z z-*EqYOZ_;Bj5Qet_FnF>>=n#w2jI6;oU0H*EX#p_K!XhHEALyLSD6sUjKSsa=R7E5 z&|qDUTJZXNuO#qwokjw7uqOx`^V~RY`e6%1pEww|=q5F1Uu?6ubVP?Wa%%SGYa?V~ zRTrBg+dchWfyRyNYm1L&f-*5|f|tT=6X|yuxR5M>amgyz!`nCA~@#$RC?IIox<@f=ug)auHhUiC5VSy}e5TDjzV(9H>=kb1wWXT&(V{tQ*LT zDLzBo4x-b{5P?za4zHWCaab72e5s@DJ`V!?YGQ%iPP+AEuwBf#w3%b;SXdG96!*>= zd!`@ygJaoao;!&xeJCnCGhhBmLZUa(qSVi2N2c!W=yT5JE1aOF3&qwPrx~@(3yXdF zwsyvy9hz?tV8fXoZ*eJ$$+~AUEKJ|mjc;WMkYty9+Denexx&IaM-%s3S3LU<(!wI6 z#vO>!$e%czP z=mJt4U1yi~Q8fyP@O;2c11+%+Pn*%Dt!6>kLAOgf;2E2~#kxL8Hd?@r1_>d`#PHJF z3OsV7@UDTDg2*-rRWO(J~58zliwTX=~HmH56O^44o$=>Ly8vFQ zgGU}0w|N_G+HW)@$!rKre9&*VUVNFcdrLIU1BN&CH4(*_rUeW69tsDX|9-*ylV(Sg z@lE=hF3Vre1}BAh&aD3m9?3scD9zsfq~l$mei->z@bq)?e-*p+TJi7sSR+FBDuZlT zi!H9Sn7&C6{-jQ>PUk1o5oUbzhnqo@ch0&enz+xb{|X+-|D>?(9rj7e^EBl!@~`0O zx8`!pCs%E;Tl-pic|*M~b)79|`a+h%oDBG=_GavbHAkFo2ZYvV*X zeiK6rHAPP#IT3`)Y#D>>JPASHi#RP1Ha`vn?TRoxXyq9yR#qCP)I?o}W1W3^%WpRD$(4~cJ%+rPCHRQZ( z2r@nV!RD>IwUjAhTqj1ccG=+F%&Xy5;`J)NsPn_)m>NJ%Vu+<^3EhgN7?OnkZ6`#D zkRqcNilR$6V87A7Y`FW|jsV#MQE&z9HNo9?s?3$bJWY~i&rt}4HWUcH5Ts0w*1mWD zO-1(9m-h8$&Eoi>wAJ01aJ2Jc3i?xYwSxN{|EWz_OhLQ)UCHVu<}zebVgGo4WeZ6* z>>RH%>F9-DGy9yeIhO;KyX;)`-n!^~o*%5k8_o5rk;zP8VhQ-}3V0~NP$iefg+(8$ zu}mgl>lftM9dbs=UqhW}sE8VwFg$u~Xt&RzUtr6{^0MA73ixsI<@E$lXg*Ze$N}Tp zQK_myfZ}G993MnGI1FnimMHOuN0AkvWcs8f_aK0Fr3+6Ttvb(Rt5t6*Jm>%~A!pQ$ zL@-x-k|Y5g)fr2-qU=<13k}d6?;-@>0)`V2nbJ%6Y7FY!0bFgQL!s8_vKKcc zd7yAx?jDVt%rq0TA_H9k+4iui#WpY=TumAckm%4Oj9Br0nCj}x@`^nj;m_yB8aZ~W z3osKg2KrB6B27P}4>pfsSUq7bNrg*k@iEU=LL9nH2eW#*7QUS9!HbXUI3-1*k{At-OxKRqljRY?} zdOk8X$0*S_`oPxI#1;$#0!#;zaO4cK2x}7C^7cZPqhK(A_XQSe1brT@*%J0!@!P{3 z4TDTzLV+Nihx5J1E4GQf6|!shcbjx%%D%gf6$;w_{Q_0f_8FVci;`6WEKdCzrpDe^ zvl-BbHKauV$%KOwUgpY_@RerIeVxl}y+XVY$tJP*!Vj$e(G|j;%>d~^$d=FpO|hW^ zXIE{%q@}t=BqYN0Eqs++5a=HO7Pq+_l5uVz<;M{^oc1#6MW(F8IylLVTmxNAB-vqW z*vQQ_@CJlaEImv8nsyaKx63{g^)lc!;sYR6_@D+>B(N9_fre1P#*#}|_}N5+lRV%P zo{b_aBiR{`8h!)_sjSq6wU%z1kN$ndPhI{Rp87hu;=kbn$Q-iVk5wF2Cuff*tx18z z-;Sn<9Ej`Ro&5tANNFSJ#`hCQ4G(zTe9*6ZLVv#?G%2Msy|4_9d(h*7kU`(K)M%Sh zq&X^dy-Fm$x*fpOgL~B@hET z_NOBy6cFSM)FHy@`Q_?jN#?FagNvd=NWEKX;X8d^y3kncr-uE&1CSz*mN|E9+=E#? z44+XFjI}Z?T3aywFm9iWXuYp{C0XTM2ti^DiH~yk+oe3ai^>PdEDPT>A3Ab&ZI<8} zFN+F#vf7v|iBU2@8?->T*OkQUM%Si{D+X5aXS2-G1IFqozx&15wJaZy|Kn<(q~OCZ zYvhH$QN=t|Ka;Ws-HlK4Ak5qQ`S^9C!9+ljV9D*`A~jLnWT$^X7%X*>;cxp;>Oa-U zBG@5EffD}q+6S;l{((ecA8XT$9BA=e&X0IRX_2K6i>*v!*m88c`XgaYABtlNx7=T98F*V0gaq_ z<|fB?SUh&o@+t*CENZlfvl&LS(H>R%Ye@@L@r4E4319V+9yjtIXLzuH=9@Zlz2*Hq z*yS~_S+CTL-;6NsyJRFa{~fsHhhAX3w>=`@f976E{e$%;_J8fYQo@)b^s+!x(tK+K zzv1xW_OC62Xv>BNV5F~ZULK;>(td{qCr%OJi;T?7U-fq?)O= zY^(LrvJ(B;9u7m9XkyEEAKaN8V|7wv3mA9tswB3}ex}w$QS7CuqPblrdCwhSuereu ztYYW@gNQ+MP7vO4un6Csq4E~)L2$zc6Jka28h)ifT&3Hq;Fh>J{?`nVXhW|j<=t2A zG^LmgFLBDGIf$m_5AX0)T5jeS4_^vvv$^4LBV2?54m8v+8PIO4tD2EBn;6V_I}t+l zeyD2Q|9RA}Upyl}B^*PN#H7c)?!6c-Qs>rC`-F2EFL+)c2%#%YZqU!LPF%NS@*6n6 z+WOv*HZyR{X3B89O0=ell>s>Sw)(Z&0Viufk(V-1V{-qASe60XswknJRIx)GlGda% z8SrukKJ0GMY%oBa%3lv8E~-_m_Kdxmu!vjx9vf|#L>Ie@NBxLm;&rHLXVL12ov1(m zYkg$gz%(0cR)q^)+SDc%NajWy)z3&9Y#MmCiyq;r3U!|z7v+$;) zSZE4ju^IxUiZIY+BtCQ*;x4Sgb#K&BoH#sw)zKPu^Wi*uR&!`-I_I9pofe{W+rxjZ zY`zy<&HH{*n%w|*=+4}Fz!9xFX(F9B zP`(B{D@(^bya6WV$*6347gyY^m@2Gb^OtxeQo}!aO=C({u6$EnqMvcrEfcI*Q&&}5 zCJcp7e&$NIP^&!FM~9Chc-1QA<#*zSGnScbT&d0dLdkUgJ+i}@iGa_@tJvA?ABm;V z2zd$cK$>UI+*GC&1tEX3fRFSk$d3kitB#z;svj~^H7RiPvqhCV%94w`7z|}O>&3Y4 z*WD3roi7?56DO__0tO)4Z>GlTtQgp+0nHe&NJqha9-fy3frHlLvn-?qKtZDmdtQs5 zRx#O63o>G%3PDs<;3VzqBRQO;;!f9H0B--fjf%ef9wwS=t7X(Gsp_O zx}iJHiD_)tO{EpXapwuwmdKK=<*G_nCirc!3RYVIo|bOxNd6g;1BOkVogA51V5G0dtoZoUYvOgg{?t+__FniespNR|HV<7OmW)w zfA`-WbQV4XZy370XF_jgL>2&&kuM^g@NE6U9q{zRo4*dVL})n??zRMce^G%ES{L^(qlLIlIk<92|P%db%aE zma3LKYzQ6ID?uS$z>kO4RaR>Fuv-38HYP&mTghuToiWsfA(u}Lf1bPDbhWXQ;zh(Y zx1KG70&R&KqbFRqQJUhHSe``utBs>}&h?u`xyazwE?LZi|%* zYN^aGlM98pxCo^9wd}oZ5 zoo>4=b@#04Z)RpcTX0e5mVppVGU4TmApm?&@aZ>w`knBm#`gg)(WCFmcc0FD=N$jl zbVq9nt;8Png-vFsqr&_53txD)% zqB5wH@twy0=?{f#G}n#e0%FD+a6ABj(Q z|DuGT7PnQx%NAigk~IS9T6<6$+*x^P=7Pt}6E)-2;{p)v8lz;#=Jn^ylNeJxrS}%x znZH(1kxpZ%g1v!k_F5(7gW*@EOR|xUQFwrk^4+#5aZ${JKB(v>^guod&yD+=PA3RG z#c4Zr8RH*ISbYq;Sm=`RB)XdUt-mz(QyCO_BgL8e-xfWF_ri zEFob=14&9Y-_vcVHt$fU0#*mBYK>Wd{3^)`HLi4txe2>8@}g^`RX>8?kevr1+dY(7 z13##$D4kc3Srn1Dc|%V`p4Iya%$sdIDLsFgxy@TcH7xsO%SZhJ6Fsb2vAxRz9@SF3 zqCtpzY#>eOiNBLn8~iEWJ*2!^ZBm|na$}u)hR|r}AePqDXxL>hfBsnl_-K8wS(ygt zrJqlN5;nVgN4ywJ8JyKbG2lE-0h>j}(iy28XHRJ$E(XEsGtIY|=bk(w5ZA49-9+>H z%SaH{{!md~`l`iRlOifkqt>{`Ee+16o6J5`YM96PI7%rkMdC9FWOkizI6_tmlLdU( z$>f`@TlLI11-D45ka6~`Em764%yb^@TJ0&}US4GIQ{I51odNR0gj#W2RlS1`k7yR4 z(Z>8l+Szx2oOE5SlN>aJbu@ah%PYYC0m-QMgGF40D26iVL5~u{XJI~!Cfyn(vXY6r zG`N-e*Rt`_(FxF6I8P3x#it)P4wskcFd|H!mLMqAv(Gi&g@)Mkd;~bs6H;nAN zM)uJs{^_IdW@FFy$o^Ut^HJAU3REp{7j0H)eIIPF+@aB~7_G_E$Zjez1>R1P6bFGZ zC{_b@gLX>6bB^)?>7{N8{`i5~nUfwogOnPcatCcja_Z;dQEFl#ZgRrP@^(&23^as>)4~wY(mzMop!8 zE7J1-nCCuIgNw{qQD?f>6h1e3;zhkgRveb-DQYpZf!YkbkR17*}#NG6I^&G2<2U3LCFj<@T5?F~f(!}6;UcM5bsIK2mMNa~J zw{p(piNBK#8xly!D4wuIRBn{cNW^t#&F!wfm$(J)sH-S%^fFL_h$hB(#Fd=)SD;EPFf{RC$i;wn zP}~eR*bg$Z&l6IKS&z39P zRa?PJs%WP%%sJ!KLY9Dc*00Ay^vv0h?>!!tO-B`b;jX@TahD)kj3#uq%b2+l&MzC2 z#r5y%+5oJpMnx;F@m?BIVQWJ zHnaS8Fm=jI6Q%m}heH)asI#|U@$l!yuvxP7ZFp0Hg6IPy#nM~)w{Mx?4Nb#VZwx|m zVWp#NG7#Ml`lW8{QUmQnPUIrJ)i8@QC$*FycC${#Gz-b5dd{n?n%53WRwNJ&dOaxj z>nS(N-LslP^t=z9=J=H8XAR@jq40DgxM#(Pm{ABQBmZ`a0HAodlR_s_sRm~n2R4@V zhADw@83hR?pVc}IYpUTVbDf^We=)nsJYXOq76DFx4kPAD z2e!lfM=(k#05Nv%ynU|&3k{|7ZM;ciDeXLnl+sCz?itFh7kXA2A6&vwv1+NGJI}=Z ze$3>aTl*8ja+)pTbD4Ev?IH39q7f5sGbl54m^Qp*bYn6bTRb$6ZF_9y2mGL~zj zD5@^`f|cRPp<^dEl*V&muMY3i+mf;B-ZYs%eRlWdaR=MR&78I{&vSYgvU;uNKkBvr zv(#&npHHBFQHYXO#+O&MN5}t2p7VH-)eY&(Csn1F2Fk&`&?@kHUf%JfW0XqFhXv9l5`~G$4Oh66&$h3FExU5l zaVi$2D#zjYrITyhH3S*|7_8|EA0lXtu$Qo2lhEd&N-rSMK6Qa_Iqdffm)4O}Vm&hH zT|>1A209Ra`qqWwejqB*)L$$91_>W_kusYKKL^nADomTHS9Qko43t}5+K&uD8j7?@ z2>jC7fn`6N(4fI&$dQWv9 zZ?WzwEym-&&$=6csT@lIHoj68yUY(OOf|5F6Je)xWwe1#sQ_0Tw8Sw-Lt8=6y4%ji zJu^ARj!e^~-}x+PM_AcsJOTIlJh;Qi`Lwu znt420INnyS&%IP6PA&!ln!792sT0Kk&JW?TQnDMl&!nQi%QM2UUi^AI4=!;1HfrCv z2)BG=7~cV|v=M`;CC|OokZPqe$Myw25$QQ?j0pD#au~TZg z&uu~@OaGu;6vJr#1H*i-O4CJh{a2eZQ&e!hgDFHIr>{d?61fx}Jl#ji%4e;+j({?!E`sP}5}@g> zjmcXd{^Hz3f1io7`^!;dSkt7!z@Gc??Z1M{|0@_H)%JWGy%~IML@_dUBPNMP`g703 zm?^2#esbp&dGnuCoSk1jHT)C3VElG(Jc=)-D>x1*T&lv9H{nLzrI+?# z6Q+DqY1bG76H?L^Od7p^bq)mKi4W&*0pyU5Hw|P1%y1U`gTY5NPIAh*Gw!PI^G$Tws@#q0b>Ugir3}fh-wa-0kta@V}>1tq~weRKB-ypLe)fE4GULw z(g!69&t>3(be;E4^ENRUiPpB*FA!9;BltS_K@%-D!H|e^dHuon zqi0pPu8UNc-m6PhU57K4l4@w$3jXQ@WDVe%J&%dhfL^MoyO)4a>OO5A0X1w1Qbng4 zJ^-&|f>CHGQB1z}0hFX-9;1cFh;@28p%P1$Tmt*_2xJN;~wu*W`E+hh`r_sD1bh3m{@> zaGtf0GC(!&lzRGovlr@FhRwv?moRMsPQP2`Z4hLJ$W~rPQYWupZ)R{Y(eYjwLoAA1 z{n1wA4hweLTF^z%MwkrapWfr~tHOriEe5Z2vx6Q9=d~EJ3HIqko(}*z0AySd)n0S|MU2 ziMCD{ua2E#mSA6oSy;Oau3Z-j#n&sIbtKn`GLmhY$m>Gvj#yx^^~+X+0^KoP7-l^p z*?wCnxNBKNYO#$M5LKCJ&dc$3%Orp8eMd8uFT@)|IU88RwR%Nr{7Z)=c+#L32E zwFEQ*0YL1RB?@AO)8o@}7lDQ1WBF~UT7c*N?-!cJI00WyNhbD5l19l#4HY#M7I~8? znoE)*JBh7xtTFnZO;o)tmt+VrNCrwD2Fn1M0;Wx~)1ER!Tdm4CkI+p@5fsn|VNBGX zRK=K#XOytU!qmJlQV_U+FEX|An5$xam#Ouv;Q484=)UMfB-B4xja4|QG>z_IC6>Qq zEXb*SH8$XET&g9l;a`@!k>Ak->A{3O^4`7zZ#_3L8!Z=93{fT*j$Srh=EC*rRuIi4{_JM7eJwW!443^{u>+OWVx4bkH? zL1s23Zx7+546CvH^b~ge$Mu1)<20hs4r19-fWb5`2rcAxlv&@tOP})dIISeebvgOY zXM^oi#_A9OS>on6U8aSj%bGy^fS^F>Xo;-pE#KB!%qf90@8InH!W+ z8N2oRL-r(UXQ|Y=Kv%+O;|5y+-+Yl#)s6I3Ymx^V2#GK!E|I#W7d^`BYU`GWq*yj* ze$IiqH^YX9I(l2lT$i36qnqv~Py$>A!+G_RBBTjk{%UZWlIh@{v{WtSfNpV& z^-N)Hbzlifd>|3-NsyXFO=XQed*7a~QSf7Cmi@a4vOGoDCz(SqV{I|kT7Vl_=Sz0N zTgrUU!@$iNg)S%x*0z>fs_w@9{l7c2*<<$|5fmWmi_X>0qGwBP-?dv=2E1GzN+sC# zVlrRmDy_dpU|1l%z~<*BX(AgO^83oM*DRzcJ;IB( zi%gTK^Btr9@alSV8TaPG_$JFRq2tAX;zPJ?7E#_wSU;+dYzOk$3Q){OT_?T z+2$FJk4-Cg_6Sx$%4oGdiP8A~A2TDz{R25~XZ0sDLqYL*6J#=~j`dGwMo)0shxBDn z&0hgL12YhZ7cLnVx*?Z*=Mn@3MEPq7{Q2ojs{Dy_zc9@Xi!twucR;VQdbaT7o{2_Q27~J09cH6eOFgPskZrb>QESf`$zf} zt+UQ)>8E9QqtSfQq|?RnI*%p6DHpHN$j}#jda8FQ)VlhOLL-%c?@f2L9<~K>vY~t} z)Rk&1jv4RrzbGspeEk~Z#NXWPU3JO3I(pq6JNyxq0BkK`GqInw(+4r$4_jB7kj9Ck zcSM4I(xDSa*SNsRWq%?p0-`L7{y_Wih^# z5TpZzzgA4#hA!sVWFQscbJs&idOV{D-^~46L~~$bq?gC}rtd#y#&KV#z`P#QX9uHq z@`V4$mEAt*_)wmF0+y99b0G_qu6Rw3$!KJ@#->=wTUCc-!DkQGD82{9qDFtj+;`6wV~z6 zeCqMVv*|EvkNwZDGg$n6`{L-;J5}U)o5}Xw|N4{cBp**bw03b{+HBv*)!#3aB+-2M zugmaV3|m)N0JH!76!g9q|9-&LM{M6-#xMV$_q+LUOE-%K-nX};syes7aqrJxqx_G{ z{8{e8{L!D+A@}Fcy8QOvz26HBXs1aUpaSk#H0|^Kt@pmuTYvA1i<6~B2#@m4YwG;A zeX;6)@7e?ozJ(+Irs@X7i89NszwOIMV_!NecIeqz#ai@Hsolyn;YbTLZ7z}lCrHXZ z$fJBkvi^9}eeFm+Q8-&g_ZO?)_~G+Xy8up#1Ld#bFAtga=kZOLvD*)tLw@=uq`z|d z_1p4a!z&lV6y?lL8WI*_dHZjE4KKF-*H~T>Na5} zrlF2D@kLK=k*(7peCLbQb+rI{@jUpfwgyi+q*tFL^Yg!A8Q-@2I}O5aoRTfmH(dUd zWiEf{tC}4rOOpN^&Qp7njJ<;A1*(4=iV;aPUuH5e&l_W@DYjpzSZ>mY!#MZ+U{#2* z&&rCT;fV&dCHO+Zg@3gxun`EM;(L2{iWEW9!-jpA>q9O|Dq*94^1!+A33uh>hFbkf zT%g9|Ys-BlX62`WRO&iP@6@7vsJt1Wt`wRLmjX1O=yLd&#TD1v3+nFgTrvx$lEBo& z%T~k=4@T*#w=qW7BQjsY1CGm>C$85CCNk7&{T6P2#fCw_ik-U1#S9S$uguVB6)Klw zfWwVUR3NJ!IDk0Z5Ilg}f6C*hcF3XWh7dTCy#fzN@!q^-j~7 zd0nm_{aI*+pR*53#p4WaEYfVXi}T|teV?UWYPsUB*4fO~4c5!ZzE1tAme|^&E7_4+ zzVbf(4MGxNl7W5qdT3R6xpoE$>4KWMBQ!Hm;Nh8W6Rn~Ir%FrcMit-2qXtr0+E0ci z)zPX*P=jWEw5%&Ax6F^5UlZ6rwOCTC`yjXTom#G;R&C<4J?#)43>% z>sP4|uIjcx9%q4gXb2-`x}KE(P)eg=u3;c;;;6B5G&QKEy7T;G>krc=GLVsf6zH^F z`f1#1ZasM-tj>a*CW$=$h?wftWSphj|lm#HPWsr%+5b_xOpB8ac+@dEMRCC+!U{;_DfiBf5pppYe@J;rq*Le zXn%{4N(!=0!>lFf_&S{~T!%XX2YmnY--#>s`K^<2#ezR^#q2xxr^#==&2JvS{ou7T?$3UYD-D4|32Gib7DL(+ zE(|fzh{YfudM3Y1hjw{i#;Xr-tQxzjaJjEZ z3I{)q3R;A-57%3~gwwi8y`zk6$yRwseM10ShcGY0*R&ZxLoC{m> zLWd%bs2lC;%LzAx&UqF*NVcR>lI?<&SH2<%6Y{oKVk#!a8}d}LWiSwI0j95;HCo%m z9O_nXR71I>*$(M2B~jO|{P01U%g(k@)3Ub^j320gF4-X}TkXbz%K~?Vm5kyBIV$qr zzym&3_G%XdiIYUf##Ow~@=4meYAtONs3flUv|}#X-rQzsUHw=fA~Ui7mNdCG4IN_3 z!P>?(T`;e(s>?((pFjQh!9Wqf!y4~;8UOh`Add%Z)0Q}>Cw58b$z%+ON4zl)g$HY- z_*O=+*L16Jb>6ab4$*bAksI`&HszKB30`5__YmN!iFGx3_IOw@Kd-n;Hu;tD>#H9i zKNv^)%uwYdMh1Ccmj@q({?>A82X=SNk3S(>o8Zp{t0&y+T>tUZ$88++Pg`wQHnoi? zWTwFD8;}`_&e0f>WlM{y@rw*V_L3~~`Uv@nZ0Z_pm~sKF zi|;GvncE!32nLqwg;-0c<>XfucPtB-D+&N=BJlKBgWUAl85uuahN|bcI6Fo$W;bKr zfh$FZ3J7y++OoP(Jkg?%@8e%xWfX`uG+-06pM^s zw`HKeaQz>0>+e1Nm#e-RCPduSC-dL^IYOrX^1Y+KwjE@Cx10&5(ATQy->QpmeEsHs zk1iev95;Ddwh#ZAd{{2%`!w0OFd65%_Ge;rVOV}z%6T8|T!6;;^t^-#uvwUr61*h! zp}JLUyg@bb7hituJVG+RO|{MGI!*Hnd#l-+*}X2 zOf#i5$_FD9Xx*h`qS`)WfNT@;hp?sL#eizLylk*AKr?MgYtNb6`*X7-FGPZWIE^*2 zfUk}hDF%R$nw;uM84MM*R02jUYDbo1{!34^b8S$4_Lw}|+kUNu&8N3NQ;NE)j97HV zapCSgec6GsOWL`}WK@xT$xOowrt+r1&qXwzor%wZyH1d+9Wfj=(d5#Zd!IgT3N>gn zBWGziD@0>F;JnU*C0>GwF5y(!{KY$oU`7+%J(>puDVX+n;iaTmS1PHVUk#1sVm%8> zduV(QR3{j<2&MwG*X%39GNjxxpa@S*x8V5|-L6mZT)IUwx z`Ke(mw>mtNWjs|FTLNvH*E7g@ma7N*0Q7Z}{baZ#yqD|_h^XvTm0Qo@t2FMwx}#ar z9pp)=oFHK_y@-v4n(pfRX?=x@d>^t4NwFxl)env4;vxdd)JQ&Z`FTAXss^nV2(Al< zDe;yulWHZ9fD!;X4?y$DL`7QQ3e*tRsm7;eH#l!A#6O^MkK)CYDC^stG$Z^VDBa>V z%2v?r(NJC^jj}t15!c~tkGoR6!{^$TGw$Iel$tXt->un^@#aI?lAq7kc8OBed`;a~YL2q#0 zZ%o%RWFNqPei<+@@BrC6@X|zrzM47Bup!FLXs%w>ZsDMI_tpys{bYkrsK;rwQI0Hu znBQ`@G2+Q>T!d~>GF>I)Q`kZLop~F(DgWgSbfZTD&WN=3`-M|Pms#8=_qyr4C%<2~MW^^p z(zc|VVCmN1b4Oxd?u!+fktwp|chod{?)b~?l+51$-gfanE#LIee|qEF`{g38<~4Qt z>{}GUN>K56rPU_qunT)g|Ci#?rmVi>j~P$@`=I>y?SH3d1XU<^%3n*eYz2k$^LykH z)Spt@c(1S|j`|5YrJq}fBCy;U#mP?mO*Lb`XVt7|>42{!*=ycz+t;nO zV;qQEePs8rLwX%#)ePdR@ggVFOgrA=LB}i_V5uP&;*TY=VGia;h7#jic++Sv*IhoW zLpE&;z|6pdXTsfv(F|rHy>p))TA!ROx}&3aMdCpstO(-0p}_M%|4>Jn zj}d?debGfTo!m? ziTpz0bhHRCVf6+IG4g|{nmY6JGl2T*7D!QgU~*Ub9G^W{{;_tF2!JC%)e~A?$QA3K zCSR=AP;6*GG%|TbXR`RhLd=}#nNU{)9N(|&IGK+;9!;(KYEb#1Mubeq`BJ|f_C@{X zZkgyeB>T0EQ`GXv@=eMM3jdpl(choJ?{EDdP^7MDx-GPIGVUIya~Q4v<&|59tD2+3 zQ%EPWF@&R_<}0b5$D*t5!T4c=?F9cx3;%dXtf#hCbct@KTAD7aE-=h?K)QpnXI^IM*PwF>Ml~EnbJ#Y=$G2*46UfZ2hN#;M>Om|?NUW2)O zDz1y0AGR(^L&+V8Js8)~<7ddGz01&>1lHzeyx z^?b``em+>Iuk4uSMh8!{^KWMWEG<-W#}-j3m0a6$mZ2&$K z(1iE9eL&*itmoL>(2Gjxh6LEa$Kis|9|(A!XxWEz32Ygx{l@0pWrI)j%n3{FfzHP5 z=w{OTunga{YJqlJG7hbY6*Y}$pixy5dUc5qD-)5-H@GS~`~;j9ERYk?A9p~k~l{o+T*Ijue2$u&*hb?+oWcspJ)t9Jv_V1Us@ zz;v8kDaFEh6Yx-jpEp5r5^1M*E)R}<*6hXh+!kjKwXzNzuQ<)oSy2~y+u%wHeOPe7 zo7493s#VIUW##5QKD`r~&J7_m-)uPG>>ArspU)u?>u!U45%+S~8k-NRoIfjN_dWa1 z;s5EG|0`~S>tE-S&zo?SS!CjqGF2=RCmCBbyVhPozq{jHT`_dt(xUwI`!BP>`^_#ZE)KVC=Vx0BpHnR7kzC+FI8p?W`fwhA%&!J&9s#!-Bs-!MJULq;|+@PJ{? z&O-w>^wC#S>7@lLhXXRTu&yMXCa8S1O?3*mL2bWkst1N@c>jjzcN**&__eD zR3AWrQd6{N=~pAM)FYWEja!%0nkJ!bL5n5}9b^ z=UbN9Cb#H*U#}s&cBuN|iw=$h*4RY`>@kiqkSTYs`)$!&18Z3s1wZDUi;-(ZComab z{exrSfh8^OK(vZV1i*uIY)dfJxa@5uW8$GA7<$8LOl*v4Rh;k%6x_1{zVh>DSaY zlapT}*l*2n-$D)0n^t^|f(Lf$4aieT z-FH+nB{rN=o}$jfoIfU2Ur`M82s(a{Sf;-@OJ7_DJ}K9$D_7&56@$7Bn{qtpfc!t~ zz4u>}%Mw2h2pj=X=^$1hp@h&o!cicBgk}N+69_60S|~y&(mWPG2t^4cbOl0(AR%;u zsPrZs=}kIP6a-Q4{pOr|@45F|{(sW4mQ^@saPcLyz!mYe#>wG!M0QT`D5M(v4ET~w)dMfLWhLd&VJ}t+ zwVzY*PEyk8)*KbWedZPyd2?fV@NR%)A4UZ=nyl(DE6la8zJf4-*%=Q?+Q3n-bE}vU z_)7;s7V&DT4nI#9PY+}AmZ)AA&CT>e9>nRPhbk@L_p>#YWx90>GZselI{kl|+rAWQ zY|4&rH*G14Y4c2jSGd1{Xg8I0H`Sh?m&)2fD+y6?)0UA5^?jW{7m47Om|5jJJBohS zpI=GN*$9zdQ}vzyC(GjUmzUa@$rg^}iaeLPl`##cp#xYT93Qo^qs!c)xc(5CJ#ytW zqw|Z}L#wrsOt-QS-tPf_5?O3K|LCy%{qpZx3I8fx_+9J!N>@`u5R=LB(1G-%j_r@w z86QdGwX++;-$d%?pw9>NgQSb=ZqJjgy!Eaah9?#EH-yH2a{IZ&7?s`z`8LO2$qM^U zyBs-Bww^p!>%)0;?_1!Kcg}Qf!;egP)Of10ZNxXDi;`WVaZV{{qTSE;s3vOfo!+h-Lore_$Y53P!RKeI~rOcR%xiEF-ytL2n@+@ zbp+WkV;@em*<@o5o!5{BFm1S>_vhL}uNH#nf7T)YAHSiq%uI63n5RSj@BjSVm7LrC z@`jnT=8r`Bn;2Cxpfhu|8}B#M#-Be-2;gr5!uv9%>XXgR5V^`|J((%VHq)z0v#ChZ zkJU#oEf|&eJY~F?P9tdg3DoSQL1*RRh+cig?4%T(gjG2kM|zew`4m7`Gdv)O|MhTt z^T%|Cd^WMLe2y#{>sMU|i=oA?S{wm0n#*gH#rBAY`HQD}yDUw8!#X_FE*2)gTH5VQ z`=Ia*Zuvx%NdH95ss_9g-Go8&Z`C|aBL6OMXSyN8uL+&~nD={eM}!?-y}Tbb+BbW0 zCIC=*>5K>FM260V6@CUYsY%%?QJaFT`b67Qq%$5!@(iX%a(9ff%L){WPgBP zMr}hZ&UWJYqvFobVt2QRaIpTV4o(PiqG`#g^sDaN$}9SEaf$Hu_$xJM)jFNsE07 zm4u{HYx&)99Uj6uqecRra|T3{ z%&%1j-AU;R9D?MtB%$xE^rp`akr%@tBfJjdcb!nrH6mARriL)W))U&ULan57MAl2) zE!E)?Fa9^^$Rgom{;YylPyosl)fXT)2e%K24~DG4S8|K;ZB`W^}LRu^0e>^qpTjaY40+a)N1oMDgO$l5)Q zDzN>7P2DEkD^xJ+)A44+jSozJXvm>U)_AZk!zAlOO*Wn3?Qyl%UF%aXK>*8voQUxo zzSu_i4KH-}VgnKTx~l;JD%aEQ*}uT*ef_3gAr`t2uFDbCy8F_JF*PX|_^o47boQB* za24Ow$7eTfY>LF*j(Di_kzy^MT4wZXmdx~A9;g%VA)TnMkx&c9&#ajD6Cm0HS!OLU ze^)90T~b{O+T_yrJ0fMz=>I?JkN(A^1YdbJFV*s$ZntiIxJW~?UbeSp3gEywNcCAY zbAqO{#C@N#9coe^xOhdp$afAl`+hyUZ*hCqx4A?yU;1x)*MUl*qVw~-LeGMwgU;ps z_uqAXhdxd5onNw;j5cAE^z;o&IjJqPOEY@&1R2GD=*;-YnXY#dWJ3Q{`jBlte-jUy z38DqvKT-VqaVJ6a2a`aycl|@Q;ZOm=Ng)GU$V~7MbpMFam-kPW<1OFjBE|emeYxAr z5>qn$aJ6OUluYHOt&C+xQq!{`vXf}{q|d-|-57o4z^UQMou7pIe^`-+ayTPK-S5PL zvI^b6z{DTxCn}^YHC)hn*{i|E<6&!63BGyXQiq+(%yeW0zq@9}uKX#1`+p<|8^f3A;dZ5V77ub({eNZeC^84ssUiD! z*U&#H#lFTrm^P?HyZtrf(tmRJ>-qn3m@G)0(NsXR0Mvie`*f2Rjbq^0YE+JZ>Tu{0*=JRCUslSCyn-S9tM@Ie)CB?TDl z{8MT2k5r%h`R;!yU65)KQ^&&o97+G#p8$ZEX8-52-z;{nz_4+zj(x`e>OtLfgZUu4 z_`lvMx|SSb7Bs6xIjaeUiQwPitO}v$@PPC)&x@VVoZp*<}fo#Ca`l*H?4D$ z$;#pmRF^5!znF%7Q&%xxVMNS0XO6ToRm?N|xBqq>s4DIb@5#RuG0Q?5mp|BRfkH9T zc5#9F&t~3+YR~+^)Y0A`d2+Q^_m|{<#C<>1i6?9kydT6A7j>2=Rp^}_c~-lFR&<$8 zT9N%Fx`X+Z>1~-@bl@6a6m6AIl3sqIrn&^we(zf#uzHx?d*|P5g1`^^kEDC7PE>n3 zwunX=w0+Cs9AL<$zJQRH71B4a27Tnqp`;nALx0d;RGlU2PL8U5vGX4wJCbFiL7|3A&BGw)faW?&(^1x$*T|DpJg(dV31_hUHuZCX?u{FCL{+y}$P zXZ1U{bFP2snJ6~S@lWkz`p&wUSi~V;!MF~wg9X(ohB7tykH2wO<$uildx_~FmE#9? zBRzMnDDddl-x&38v|`GwA5Ly@FLLzBzw{}4di_$L)1N5z7oPp6be;W5bmsn_)$>Qn z&#SZl0@NTyhXKvM;AySS1L|h8>$%-K2cup7{7sp-{6;t7%|BVB{}&XmOU?Ozk4Nu^ zBz&=QT4($%h~$42{A(r;W#>3y@8iku{{y~%qjQ$FF?CsI;^v(A6=-BhO03DLtE3QKbidBtp48?wzDaBB9v_k7U66D$OQTSko<)m{eMB< z_hy%*H`*6qvy;55ox`CSR^NjDYAEUN9#&o5PqyjRE(_}NNpf2MP?aoliD{QisOz#jQs2f8-G705R*7bw^7UT3_%B}Jihqvf`>e4N!|lu?QY)W@ zEx9U0+;5+RY5k|!*aPubGPQZ zvWx)BX7y3FUyM$ zn%H1X7iKQAhl{STi?6uFg6D?zztdp7P%T-aOk^3zO+pClC*qbITa9eG|5YLbxo zz28si2uDtY5SOl9HYm>{?Or*@5@RrhZ;Kpv>K|9Ne_#4}a$VKFGu#y2#xwWfrYz9W zFNkaQajMEh41Z9d;UH#a#hYW4K3YaiFOUWE;q@jpP4&x1OP5h~o-ei6N-o9hHAr$NJ7LN=T z8dm9`6qG3gNkjH@S4TK)4QWQn#0Uo4HF`eNs86&C^_5mXF|+leSp{v%sjT&t4_1GR z3u;jIUPNOSOlyX2gUV{JgwRKy9NDkxkWlWT1)AX|geEXJ&b2wkhvcF z{HGFSR-NQK$GGWSOUFHhoMz$)-|SZP8tA>J-mbwd{vn_udwqa5)#u z-uca0zc8sHZx#%%!gUylHnwR4mz^z}N$*~1QkA@35rNA z_&`9E`5GJGrBGhx9(#Q|iM}~yo@Z@SdSIJFvgl2e#petGmf1$`&V>A@GTnkN5&X}^ z?}LO#fM2{9&(Frb^E!ri>yom|%Q-02MsCOyX4Bz2`KH}@mq-geP8)#2bwrsU#{9i? zw;{j{j*P$NJY2butQg8&0knd=T*%LatKUPS)y1NaTbbnP%T8SzT^qhk*CbI|!mub;zD70_3%^1ZF2| z6=;I?M$$$xb$B<|d>;9kPt)hC`l~Gze4=7)7gXRq6jD(90q9xgQ!=JXF`LfFJsUfk zGRnV-Qks_wmrqy6IVSY4*9#kbE~G1K&Cb4Y>-n6rr`+Fh6cz?WKx>wB&Ao?1eglN_ zso)JwsOIwNveVF=uB73aGeI(4pQemlM}EcyZ2*@NHEk8e328ggO-nK^UJ6`^p%vUN z&e$qLiI!An*t`J|71-cr+A?~JikfZY>A18j@-V`==a}j@nqeE4n%9mK12~sAo)N=k zd|U8YeXi4h?nbX9=2Oen30vHl4TPRBXe~qyght)o81Z=5`=VPVyRCqmJ`9=kNwHK@D3CiW(z#T3H!MxYET;6 z4;OtqZ^sU|f9#a8&0L&4=@Pka9n1O}yD})COS5Gy4)yvFlMYMFd>YxbS zCiZMNtVb)vZlc#4!>-zx#GHr|$UP~UH7{?%dNcGVA(-`hQpWtqjU~46RZyUv&BG^q zluy)p*5|5g7ttxhA-9{|${Y2Mc>`Z6J8<@A43!DTNqTv5@_J@8;B*qndTpgzwfR1$ zS8)D2?^K5ZE>^3h#3j9%S8G1qQH9-XY}!=rp%j3ojd$55N5!lADn{c1reopuXFi4z z-ZAg(-?#9qt+=n|s%>4of;4CD(PN&hBp}RdS4v{ad{uOiUh7?-3I>1PaB>L){g9^H zCXx;JMe=_WD{@^rh0B{vBBC$^ns!f3AOzd9YiAF_>PmZ8Uw|~ox_y6C?Nz&7vnBK8 z6A3Xv`Cvgz#!l1%3_*<{N~t4-UuMxB&Ir_)aR-J0R>&!TPl74XQmvy(3YL^%=yjJ2 z_uLEU@?Q(Yc6fJzziXtnda3HYh1^S?805Dn7$R}xF?w*nDlb{>XK0KX?TLtFH-@|Wkz1lCXEqZ+)bWwYHQm(HnnavSH(67 zp$Ug6Wr#0ALdWetIRtzj!~4GwnA7oF(A&w)IN~g)u1LT0y&+d2{~gny!Op<QYl9 ztrB(ylty>Ri^6I2Lbl2VJL<*www-N( z$7EbM*nnGn8B!l`@RBL+=qJ!z5w*zzp6$|}6M=xfxBze~LkwVEE#P7KoK29#czM~$ z8tDBAq=r07Nhf*q-T;OBgQP3@wf2?_&3z#v4*XIPHmQ{Eqvi>=lIh1TJC02*w;9@x z@S#f6DD!oqW<@VOqlr!2&!u0m#9+s^rB=P9thcDRSGr)HPbOm=Zxm-+l_M*o>A!Qg zY}x4XLtAsxk%)qe{gVXIYj6TOIdmjY5un8oUtbq^YfHS9fbO0xTgTW49fbI2qyVSn zistS6c{@gk&GlQ}k2X4BgbNb`yP*kRej!YX%jR3c zylquUFkjq;tL+*TN(HnR_Xt-jGY=Pu+c*Ak(uVqkl|y&h#5g)V$cuxShOQ#4!lL#cdyiZ`4@OMogo>Gf6Fo}xmsT2iWW!^@k4xdzc>! zkWKMk$!u z5H7!R7pS8$Li*N+uHpSkm4bZ5?n@xu-E7sjX?bBBg5wrnRu#ph=qO1jWI`JO_JBIm zk4@gxI+eI^8mrmBiaHGi0r_1G!w00EX3FQ7^b}cF{_bk^Q@9a7}9K-H(E6l3L zQr6vNsTYpedtk=A6cB2Es(3m~p)YyV+6%=Wj+1TI-LDGPc@YAu>EraUre>#RO-NX; z6@@gr*z0+ALt#K%i54aMSjmtrUw1R5(c9@hiLrDNU+19hndN=b?`{jnfLc;*5Kv4| z!I;MP2svqmUt8l?xN`PRh6G0YdL=lv#)UM#*!+R9q_A5$2&fbusYY!|_-)CoI8PE) z{KgpPq426*n-Q7(bYGyAUwmqGjjqhWt8%}BpwPO3?m(ymg27(}PoBv%jTUV%_ZOoc z4yF&?w_RJSG6v}e_{#MEHa8vP<+m|#&*s9KNk8X`pb^3a<I4B>cqR) zE^xZ_<0fL1Gnval_cCJ(+V^ZNeNDEsXM#JVYG`JdzshJTfd^tECZyQi^Xm+`t-|uq zZ%-w5?W|c`d8U{@+=pUc@x)oAuN&4o0OfhwE zb?9S6wb1?Qpb%D47nOVs)cz5otN(;&WpfnbUi>_&ZLW)}cNlrgeWNw2PuKU97(P}3 zKz@3o*sNQm#5_30?5Rpax&r5E%d{y(l%^sS^VK6iUc zWUs-1k;Hj(`@CM`Tt|hdSC(wK^yq%aGl_vlGwm7Mnz@L?mM2+&QCszTn#62te~@Fz zOd0v6$Xd`TkS`Evp`&ndRhpU&prJ#q0(5BuDPxB{2sevR@NEHr+kT@=hS3@UpZ&lj z!#5@4wScSiTzlQ9P5W$xmC-xDSo)PqXXv8@m!!H|qPd>E>iv`Oo*8rPEscZGu1wO% zGdA2Qg(Oo&LEzZ-T!~=O^+tX90yM_n+a-~dm6-(Fbo6Vg-Z-CKIgZLhU_Ecez%=u! z62`-BdF4vNE6)<7u#1(-1|J+QNJQ4yw{_1Qg`M)+Q*L1wkacK#CubV-JgXV!#T{v` zC5RlQ$C!hITcZp-V{~bX&WN0+h)272=dU7M$9r}3y^1Y#p*ti8K z19$^O3g?_OWpPe+E!8w&7EXE)7U7zMqK-{I#sm7|(}n`QH&?}FV6!AnZ@!^bpJxcZ z;-$~huH(pTqxtV56{6P9dBdbcH*L)K_Agl#ASbXW+FS_k8d$!U>~cYRiR<1?DufF!QV1XEoICE1DN4A%N5Z$1@(nAs)n4 z`gV-pt=Q@&<#$I7&HJ9lLrs>VK3rTysWPnaKt8kX7OKx<`kiY& zws3YnZX&`uHwgcge-3L^hlq&4z@cYkmpECoP=64sd)d<$N|A5L?^v4V! zQ@+$b9lrGK4r?XXfZWjV%9u%=JAnvJFr}2wrD7xjM#;1F1p7{fbB4D{?G^5ifW{HB z=cjIV)4;>lSnS?8n{k`p-R!wcy6OYcM&u_sDjh4zk{Ru-H62dk_qtP~jCTFHn?&=_ zP1g*LCdw)GGo_A;XZ^HNO_Ac`?PtAA>fzhZoZ0Q4U@P;bK{fMi`Qj2M`4Ue(R*>}V zLkN$o9l{0z9SY-tE1PQ_6E)JHx_4sEG*w-^ocfSIn#gpaUfbVNG=|4C**z-50Xc!) zG5jHUww&w*52cC^N%;XCZR-s?eB9SfAy=t~Ky6!L>M2vV81oR4I1VwoM3O)3j6fqIB4de2nO4ZX3Bpg_XvxLOb#a23I z>2l*HyVQHLGE0iavHdAaN-}+kzp1*x6>44}ICWRVs6NT%gu7nL@{xIi{#AH91?wBO z-bN4fq@~dBItRi($r6NuYPO+w6#?mbXH;U%nljhrDqSD42)F}X0e;! zwZDV~@7`$EI0_}FDCgeEP?i~x>(R0AD#d7AGoM?3e8J0NW8F^0^k=vCFNkCSAh4qU zE;!xP&`!j>V_JDCJM+`h4XJJb)%C} zD{}f@95@}?tnWCHA19}zOfN}g1Uh$ErVF$mb-i~(G!9nBlQzJDw4?H@<|ErvJc%IW zeuRBo3>1`h#$3u0I5pUNv3AH_v+}&GMNWl^D@W%mhnY{kAlsH#C=NDqlQTkYwFwt zJ?=5Vg>w1=Uq$Is?AwlCM*<$%I)2Rf0vPoTt@~M4!t%?4Nwo|dW%zk$?o+jVAUSva z(m}TYPVaPMat)5=(v%v*Co8r62>0f<*7EGbb%jINMo9t&{*L28)HWOyw1D(MMlxg7 zW6gZtX(hXmbCuOYX#{;gyT+@Xq5PR|&`kV^NwS!ga%A zqP}vb%rThy5!gU~!OGLnk~Awoqf*%?XOkT}9A*clxxu``5{jBYwC`Zh@q>4MpSawpY5=-AU_BMq2x9*Zs>iy#=FwRAa@Lj)|35wZ7wqh+YO@UC&U zA+0fN>fis(VFRR!f|4#X9iTiSw*%g?B!%!}s@ku~{uo=zzZk{Jo(>47~k67Z{Ot+eSaM*Giv zfM+?+&h|~J?b?)^Uhpddk_;2cH=9I_U4N|zA*552^*D}=yet_D+K5}oS)`WzW8#oeeJ^wg)0mzXLW)Mvr^w5g^s zLOP93y;pJ{@P;p*=JTpHSEvuI#|=Z1<}w7CpBuaNB2S4Slp*4ge9iJJapfF``XB4v z$ifEz@tQslu;sx4Uh7aOkF=?;iGH|v{DjRei;G{H{&Cl_?>dM9{<#V*;h}F8?ucS@f)P0qsGT* zHjumVS>LcO+6DU8&Fu4AB31{V*yF?;&TdZS^Ly$4Nb8{(jk@}eyg}SNpq_3ALFOqb z!a2>SORLqL%Y_^?8;F4o!B~(ec3LKOHm0b%|4`Y>Xyu!%^k5IEDK&!fa$a<{3nS+5 zvbZ2dK6N2T1%%nSe>ElGy^;CBmRx~f0_JgIcV4MEjm!)Qv%x0L95&nV)79}QgGg1p zh2y5hl&VlKWI9?nDam~%Zfaj{+7lf7s4-nT!&WxsYr1>=+w1#`lh(MSu{`VL0jjOa zVpwq$DfPLM7(u!sa+F@J+-vl**+Dg|O^m-WFqRMLJ~=58kM|(G(N^#!t5*&}FcE^w z6+6z>m~a`2TnA4M^9XfqkW2Z^04}KtyaJ%+jj~A-gU2piMQ+BV-hP4~m74I&F;TPO zNsZLbNL5NTher(PwCF{D?-Nny&#ld+O#z}Lb8Jt?lW)M!Uxk?qiy_Ysr?oufYnvic zD}HAUL1Z?U|h%nF>hL^syU8= zNqeD1@XxdnDVB^{Plk)0KW^FLA2Ej?qlQszK12CnvGUoA9e|*>ndjfbAlhhqZdeNs zvWi&kmA+a0P6zCX?+J{rz?0bFsD<}J71H>X1aj#^v42cg@z^P4i2g>rvDS^Svb*WuH{=ru@XB(<2Mf;N=jb!(*NTBF=6Ld=MFu&2HI0L3&yP0vMG$bE%j z`zy*s%Nyq?vC%aJZNK;+dAo}M_z4xL-j=-GCC^xvl4>+_W~F^9Oi9gClw9~Jb#uL< z58c$$*M&OZMvZ@Kh_@ITi9y$n*beD)I1V|o7fySnt9lSY_ATi*S^|GeJ7BNL(?;9V zzY52W=@P}Jk<19BPcN7Qe=VfeJ?C_eCyg~I(EOmk=~tZbu^q%!fb{rHh+g+SR>UMl z8$C`45!=IK5<}iU!Q)1Y0U5sz53g3(h`T(gi9^CoKB8SMU{ZJeiv;KA@>(hGO-JK( z2om4ZFi)piT;L)1P;H$|FTne<$~TJ(`$`*Lq5~g=NMmIl291GW5W`=lfSQY5_}oUP z91K!IkKCqy;bx@SEAcAqI9Gy;fI}pu-(1XXUJ{>{bjn*!lLjdey22Ip)HkHiwRne_ zhTIS2*suFyLdgbgC*skj)&pukJim<@zm{yc1Uc#C*M4_xpZBARn89Mx3l^Yx7uTa8 zpxn`AzWb6-fh)KY&?BQde}hKAeXfsrLyILOb(JzvpSIGF$2D>v6f)A};3puacN!|HmQF&>!0iZ z*813dNvm+RTHpEZo10g0A97G};S{I~)2CNyu-%P%ZSW6OFz72`UuoLvI{p(3&01%1 zR#v^W8=vvI?O;zs(&23O{N>nmyE}@eVzzpX(UB$$HI>PL+o^Wq@%75CAWh)+7y^9b ztE3yQ0i9N7aLyKioLJ$q=;VgD;Mqg@ zHIeoQ(ejy_0Qz`bXF9>5jWq*gewtJ#j098t?A{2o7IdtnW~s{@a&JYW@Us}$`SA>i z^z3fGyYN`=uGFc$7ded*Js)gy**n!Mog}Qx=j7=s^dy%)=lMseVmK$ehq zA$Fk#s0<^J+D~Hk&(rOV12~PbDvjhN#+ExBDimCO5W6Xhsn*G4d6S5ial@N z!Oej~UKo0kdk?0nt7Ol|0&vet%D+0?#lc36#@w(@i1V}Fs8$^>nFpH*c&qMWrv*HI zIj8ZVye*EF5C#NW_o@Q`?@NG5F%m$d+39)n_gM6>Aw{>-Ht3;WzdX|mCp?uH z91AD51WTpK|#T8BCdpe(;0_@ON`4xfNeW2&J zeX#Hrozo(*yY-0!^Gd{hnrqSdr5)p5rJzNqu@ECPmly34qH|zW#P^_NQHRrTRSLQBNNCJ`Ck`Cjg?I>_C~LkOGAVMX*5|`^>#P6OT!b7 zp+9jcE1Zem%)K_R-&urn%id^eSIJ7BeOO^8xR`>~tb`>Xy-^q=1Bg3$C0K&ZnysUkyeuqn)RYEe)42^MM>`H;1JUp@&lZIJQ!BGYf}BQ zVFV$~xC;sgj&i$LHf5SP7=Zs+hDo*|MaC>pIpmLD#BK_ra)qjRVnW@^cpp3}9f{$n z2sC6XvrA>4Hhp|it?C>UGqGeSCpTAM+H^Y>9cklnxDe9-b~8lX6!hLsgY*QdAadnC zFutWHF4~!bn(UWwR>nN(W!>n#4dCtIca-Xaq+dyaS(5Oagx$1Ab-}46C;$92CAb4Q zSzY`0R_8Qr8Sq))*s`qVz%ggCKQfHRiQ}R!TqTA2QojHYS&+Up;F`4S6SSbD8NBD` zL{zo1-Y6_7OsR3k#pTb}xFGY!cTkNBMwz|h;NYHXgXSADpVrkqWOYi10#_|x&BgZB zm>PgAy(Y}c>$+sWtc=6Q5#FsR8+E~!NZ z!nKXFLd}GlMBR#zwzG~RI>;h8a-0Y2FN=(mokB!qyOg`NZ344KMt{VWh# zd5&MMX9Dr<(Ocm3=(Akcahs2Mmzzz%j$WT1TOY`85B5C4xbfMk)kvq&MxgYw{k}4# zm?vI$$73GbmN<_^d;B~}@o07UG+$o2z<;{t@Zyw5WO=XeAU6;e#IrY+$X;0)&CNg7 zS5xwZ0RK6m>~>@C{CG6E(}ERvz8Y`g+g-O#SB1!wxf8@EVjE>5Ex;RXap@1JfGnJd zOAT;81Rl6`>N4>gPGPqsyB+D?Gi-jlb!?hjA#Y+`rqcI3Sh}Kz)K&B1M(Gl!jrCj% z>_qIrnXDC$5UvMecP$!|ytrBlszLWv*4y5z=(0yh$mcEnAUr}F&=kLXL z@EY3j|2lUw6{Op=FS@yYSY?=OKI!%}P^Nx1H4_b&`7~*_X&5-D_GMKjwaX7;mYkc8 z-CJWzrwW$0EvFn31ZBFzx+BHc>!bC*wZAIg#lH}CKK1}y{9tf+CA6(z%Kk=F#eh|e z7cS2bWPgKPn0-1yC$atD>}f9Col881C^?W)v1M8peaXqvj*g2g%vj|o!j6vYIetv5 zU~ZAoFb?PEyj(TS9PV$#R3BcA$?WIRzuwn*30DRvqvkbVevDq8)0MDhE`Bnx&V^JX zvrNx!xT0)q1T{XoA6U+AAvQK1FS>Fz-NQB0^j)7i#(q59D8eyWg`wUcmf@xEq=utL zg4BU@+vV2McCnzT%=^^P_T|myax-g~} zASE$di3?EoX1$eU?yD$PUb)pKa zdI1^zyu@TbwaO9<3^IodRQ0k`8Cwagl2bcuHV?MmB|kOro?;vVgg^Rk3}|AvHeI;h z%U6_`bTfo@JOTcd9q+Wj)2E&zY(>KPss$^lWv|NfgEdkktI9{rZVxPvLSFI+;_33P zHPOAJ)_1ELc*VXPo?jg0JVX7&z^G~|JfX@G*wWH@Vp87fyBJF^$|0XWN1uhS%8v}E<%y040gK_uVbr~>KQ*)qt81Ec3Gu0go#*3*KTo;O|FVe~Lt?By+ z_wed5eM}M*56&t5x#|wA>Bo6H0}(;;B{Jw3r(J*dAmy65`OPp``KkPWu@ z&1tMu5eIPP4>6c^Y)!05zYyM6W|!(DSoVgo3hFId1fNM7YQh)Ay_JP?5BZsI%8ijQ zQci?qhR{6Bkdbk zRM>^&J7z~zyikETss?bC1mIFE zRf1}>zA266ErYc#RK<%hofb0FvEWb-gh^e_OjozG|2AY;Zps4{C?WreR{N8~YORVN zg_t06>F%>_%63MTw{2&~H6EnRTv1^Yek5Z;7L#txQ{zfXnU0J>c!3qz*N5yB0Ljh` z<#5X^N%0Md&-yxI7csRF&VdW9QCvOWhj{g)*xvQ?=Sw>$H3VBFV~d1e8eZ-6a|+gl zVAJ=G!@g4soV^y;%XRwE*!fJPg|+gn_og{VVI5{^E=`9SceYbYXHB$`*<_tHml`co z9mY~4A}4G};8PKTdeUo>=6bqhN{5={og!M8IgVyV!E)S1<;8g}_I-A2+qczTH+_ns z2S{3^$WS(9TT(BH&h2Pm!_Lp2Ug-euS*&`f&0zc@r*!zN7ljwa;O5~QPx$@6YKmmo zd)D)gtNW5m5cM6%H+pn+nr219)2w^2Df1TR$)eDG_2_7=Vwifc{<&8j&xSvj#?ccapT1yP$q>@}HX;XswlWXNh?<%T;+r^P_@Zm@}0n>0%u z``%y;bvq$K=5L*jEiOEi%znidYbOHlVv+f@WB!pFUOsGH4JbZP4qRh-A~;KqZrAL5$9mT}A6Rm1X7k{Y zWQJ1hHs0nW*DOLeMTxwz#UH+mv78EHC8diW|KkAK79Z_H9=$TGg`)t^qWT zA0g!Pmst2~z?{2xx#YTzL!GfDS5L>q*Ifp9=pVB1867~OFIcS;GBWuB;~w!7EsgGl zU*&Mf^o9|{?v(|tvcOfGB(k-dJlyA61umO%F(~O7{C(xaL0A@H#96fK+&b<9K&bLO zd)(_xuloy*S!tXQSB=@1N>=XsETuh^#bC&$C$bDkJ$~e3lddV8Q8Ul)lObEv{s?!^ z7{9kBOuHc-d6R#TB_=ghhV`yIgkH}gMKX!1Xl3EL6Wvq8Qd|SbgwDo($Yyat3DO7# zmkub?_3TF4FzGVoMiMOG(QQ6ihh9p|oq|W!cQf=(x z`2Mn~R@N)wd3BFIMj&GY$6NW4)}`fiWsMOxws+KnCt=&h@YIbP?1oJy=VxIR;9I|G<0>(70=r22cL=!LOy4QrZktH- zJWS2YYCI@hge5&n!Xnu^zq35rCTqHHhc)_BY&}TxbH;JH*1Ij!S3J*@i!Sp{+NUPj z^RsN1P9wZn9MeiNqV#6Y*}(sL^s?0tVVWkb3Fd%By-{*`1|4R zd2usKK8_yT%Ia5@uKroLe*LN<)ZNn`=g0i@yyuTI!a4ak2;k;e_-L5JtX)0aS z*XREC-ydYP-!^|fqI90IW_uhrTK;*zDB^`%-K1(U|IA}7m-|imf8KHQeC||aI>q5Q zQtGwz@$&Qe%=9(xj(vu}F^=K<^76AQhHlCR9Z^M!@1NOji`OQgI$Jh^etTCxh<&~H z@Q=>n_L2AZ3BPSGN)O~wtoyj$vrho~{NIdsS;eZM3JZgdsUi~45>2~UZ`>(ozc%r? zwul=y^7!r(Vfj;{Z@;Gmrovihzj%2r5ODRz(*7WEWbPGCcEg3t#@xrOY6Qv2)&Z8m zKIo&F2N4%}>9kxyD`Dy1C@J(o@9O5x{v~tPA^Y2fDV{E;PGJeH$Ah0ejed{2i>W=O zce2Q`Jfm@Vs#=G1bmxfZGV?MjlPf9eUeS-6$!y(|8@_|%uP?0{H-GPQAPg+>>V{uR zkfzBdUskVvbZ3}@KdQ`8%rN-inC6agzgjMTHQpS@rFrEhZF*Py_}Vd1^4fY(S_D8_ z;&?bw1FFn33N2W?{aoAj?C;!_UX80ScHS#K5uZMo_P^3;;&F7Wz3|&hcVogz@Y#Zw z=PzZQ@`Bdst`YUj}&LG^C?p~~YG4?vX{QqL@Eui8` zx_05t#0C;zaEAnfG#cDtCRk`JbmKa>dm}+-lHeAgaSJrixHRqw8X61k4#C|az&%Z7 z-tSvi*8ktNE(!EGwRdf)+VxbOI$c%GiJAMJ6B5!Ig4|<8q+I<~J(_Nzn_6V6NdvC& z&fE(%IaE1UBg_Fx2VBs)sc45P97WSGIQ-$oWUlxNS)Osyie6SV*gP}hO-pWaj7GeCahaf5?-E7 zf3HL1?~TtkT+6G_b3IuF5_Fx@YU`|_?CPR{O#?1$S=+yU@g=Rl_-zsDIS@nyBXTwC zP=Br)aGv@XUkogcsMp0#?v*`8BXpU^WQ{<~{QNdVpeeRnK!JXqmBdE|I_o(b~)bIt!u5UUsp03M*z z#nBXI4hM|kej_9Ij9cB@6aI`_!QR-?{MA37(*JxaU~SY^HL)=_{i#8lPw*L!(7&Rv z(qM2GH&ggeKU|*)0OH;{0Vw+hkcNfVe_;gDz@0z;TJx_9+*;OVSnL{Aa(Dd%xTV?0x(z4nVf~4fG3efB(U+_)l>kKlt_0 zeGqU<_<-p7!$&;Cf2bKhCLw3ga2^^aCF2!>YQq1Hjzz>(3<|zdH+ON%L}r(xml&D& zEnKs5D!(kgVCEBmnZ!t&z2E;;R?hTYKhjxk)Ko>REio2ix*%W{%K?v9h zsDAkHF<{Mo(0!nM34ggy^ngc=nB@5%(1*OvndJ<8#(#eq+y z1bsUNdU_woPI#XXBn7&D=31RQ+Gcktz_#Q};Uhq0FPFN}!x6wcW z*48~-!@5IZ6lk$sI_e%tU?%>EU`UczJ5}8Yu@9WF7M$$TBkCxy5??BqKdqHC4dZj; zukcf}+gYASkrPP6TguImODWb+Wa22(x3uoO&{8QZ>Uuvn8x_*t8Ti<4v0Q^`6RdHA z? z5qken0a8pi8fBk19+O&5%1|`qJjhxH){~npDoR>y(=!5h?ia2tcMo%shqO@)NQeX< zTqye*WxhPg49+fqdW4-N`w|p=b$JO}ao%Jf(NY$;1&L~@E~qZZ>z~vGA*RHp$+qOp zpaGt+!6h3pn9KJ!iaJNf?3~oRd;OeUkL4{}3$hO)^|RA%L6dTmF=!wCtVZQ@6F7Ld zRV}xi9~!rom0tMn%FtHo!`Xf+2XM;8g}9F@p|Hx#+nVLZD;xfe(bQ@<5{%(u$K&6Q zSz8soB#C zK3pj36Q?6ACPc0G&S$Tvqhb1w9p#9Cjvj8X@Kmne>Hyg?yHN_SJIgI-WT^$uuU)m@ zIl0ct*z>4ne6W)*gUr*k3>})l4H5c|h_USqbN^1hn=C~U>F#xuuK`^dG3F>Za7>a+ zM{7WeInLjHU&Aarj(H-dbi5228r|Hi`vsomsHh=~9+Sg+Xl9rh)LB_o33M;AkDb?I zeI+bT>CmML>Y)gjy{^7STFd84QQdQ!cJ=dG^AAf06T4qi#GXX9FE&V9Yr@(3!%@KN zh&nkHuJODKl8bPOp;M1{)iu}rK8uHV3+Z4-=4thV(T%o28Vw}Hu(dy)WMZ||VdDI+ zOH%7OEA&P<3xb{N7+`6BytnN>YT7$zd+(vWVdP!N}*wjffxb<*!+Gr*1*V!-sOP&u`_77{naETrOKIv+mHQ1#~W^zvThP0KwC}qYRen8)^|3S|w8PTQ z&FlrUYx&Ut6o2aXGJl zS_$iuyI&N)a4*ltxC^PGIfUNZt4$tE0vkm5-Gbu!Y?;r^4IZcMnyR+8Aa4$aXCwL| zKhH^|g+&S_^g-1R4|P0;Q<`=!pKi)OM!UQIm}>P*8*E5expWd=sVOCpzgOujoJ<_n zx@`G3(4q%m#AQ>W^^|5hQr>4%v1_>M% z!$vNgmw)`=+|3|ZTUIIKaqq*Q);2Uuu&Z?`h;++f+DYLC7RIOc%1!3{YErJPZ}@~X z2>Cvqf!|tLG{)Jbv4VL_D}F{8Rm#I`!==e!VMF_uYo6&GyGQ;G1tyYA!>OP?&e9Xw z$Y-dkm^08O+p9%gBWQtXHMZG_D6A+8Z9=N#*c{~GqHTBhBz&|ia+#S;bV6!Ff|TeS zZT3`%?^T`J*_b+!oN9OpC&!g*u;oyQLOR-($jJV&hUxy{l_q$a=kj2I#u24;R16W`pLF3ab!7!?Q+*fpuS>|AXV8 zwVfS7b47URm`{|oW6?|D%?Zo*ecj!iKagYnbM2SkflUbA)elO?q7tN?GOIwv7xrh{7cRTluczJ3MrlP7>mPmN$h`V0Svp8X|bMk>uuVQkk}5nI3e z|JL(P$^8pQ&I5mpwcYG#q!6tR9e63Sfp`;5~Gq&Xpr`dmN}&b6-%`w6Jqj%_Hpvm-7fmbnC=vT zVir0<1CZnUl=Twg$7t}fd+yNW@wx;Z3qpOp#+PH2xdohG<$nEC+}%x|nFU7+&xkBf zvk(K8BZTLO&5E&@lb7<{ug51Fnwt&zd-n3ma*%`8=OKF+0vY@PDRT8I=G0}gZtU~& z%ZVRM;+l^M<%t9HN^vVKP&izOvGAu0|Eb4E-@p2Ik~9JE*vIE;b_;3*d*6cc|6c$6 z@INg74=?VApSly<>={7BATgyuZ3~%D64WM1jtGh!KE=A7tjE6HLwVkuFr+TFehMlp7v( zNN`@aBx0DqM%CDEr=~%}J#eH=nmD3UC40>CvP0x(ilDE+(T37)2FO_c=Y3~r-+<(zYv;XX{m*KcH{HoE?>Elk&Z6Q?OsD( zXV*x&@GW6fp<0;xj{rfzkyiVN3`NR{&4Nnirt@a_IG=pPoc%(_f|dPjT+Ie7N0m6R zbc!O`dL<7n_Q$c}El7fVW!KMYC+%a6P7V3{tkZh`ZQ`#jB3(hiZZm`@`={pnNBM}6 zqYz+|Bpw4lBl^dffhmDf3e#npT=CsYpBp;vg1-npUS?_ucZJ6sR2b14QrPenhZIv$ zSg~X5Cl+ASwc)x0<)`>8T<)Ej~i}EdhM0MwRsNP7&4c z3mK(>OWB?gFxV?TBRIBK-t+mZO7KovTJR(^rP8Jv1-Ygi3qoeCEYAxt^)dB_6lSK! zIY#=Y`WJa}MG>Nky;%}gc@9Dj%s@*^XHoYdh%}t~QDN4+staA_^hmD?ZP}9Q=JasG zTs8b};<;^8=izeSIy5^}Tu`_~87vR8D)b3Qb0Xt>ESYD3MRXcvN0ABo8z*U1p32JL z#0-`U>8PPG;AO-2v_CadD_VIsWTV)p?)UGx@0$wZu?du2(UpijUHf&cq_8y=3|5wZ z@1T4(j*h7BD_)p7afg>B+C3tuagXPPM&J?^cE1|bLad32mqVtqXQvcwfWtR`FpCz8 z)8g3I8aq+cSHMSEP2Rr7=vHR3P}B*=x??hk-v`d6WdSD&$cY&jadmZ#MNpB>u?u+C zT?RoTWwNrjD^ru}>vbpB2N*@&nv({M2);L^+ zRcuQ9c7MQ;)Xow~Ers`?3)r|g4flkl`&DXcs=0#P#WELVPV0>7tGBaFr}7mN-67ZY zAX^u2`L@JcP*~eVX7>&~zUd7&!S{$y>Nbb}oAgLCj|!6kOGR2mYRqChv$o8JTAG4- zQA*=;iVlpU+||f#tgW92oxulqOax0TbVAmE4w@}MKR!LDhs9&|OQ=iroZ5-h*_5Zxo^Mk?x2?G?#mL)dh+ zp<{LO4R2S~>fDw7z|)`qzw{$R<_zKjr^+Ws%au)1GauW);)Ef7S-g4iKrQJArqtJv zz{@?8g~gfdRM@hujn`W>*i`fxNlK;czBz}?Lsa#Q?&ku<&qWncSd%9pPS|2Z>;Tg}FQ5Smh%Lrxwe$pT}+_jc94tX!sS zeUl6gk4yGhKb#&!=j}u!giKsn_j@YIXb6w049KPG`V1?xjE!DGBkM&v({n|7^<`Q} zVWFMIWyekvOq7dkuQV8S%q#Sv8;;q>dI8~`s^~|Z?RL7P8zz>)0TkWqsCj=JO7=}O zc=njZ9xCB?a7sOAhd)s$5v%L1h@->Ws?G!nUjU8@oRULUcpXH2j>>fB-Zra|)3(p4 z0bXg?L*6(cRS<>{6-fWgQHqwr8*~^SWg`Bl+Oj3BXkS0C$QwInBVD3Qnj_)Ow>g?ISirH*y~;O zUo@Avx%K;W*}iFCKu%pjlQRv|6k%~!m_eWY1c~Iu4vSHGt-r@3no zMg*F9#Cdiz?0d{;X-VhK=ps?;G32Aw~{k znR3YpL3`F5J)%ljLnBi8sLAEKF1vGcP$>+`zw8b@TKupk5H1nFpq7R=@}<+?k*&&P z556o~fzaKwQAnesNYz>_od{`yq=KOVqH5vbFRYzBnhIPv6r09*>M3y$k{p%}3{JJ5 zY1mLYBUSxD&CDQ%e~Lo>?UGauaFnK;`?hfpjfBm90A(k>bq6f_@G|aOapyAP7Bo9{ zp6@IFWk6coCDk@|no_2t#B#Ewn|yKLbg~fRzq{q5-i&m#WG;*Dqm->vo`MYMNSaP> z|KRO{I*6ybeP^M6{QY|2igDT~+}TK(FaLcZ=R&54eKIbEwnxP@x%%qkLG}%e6R(=y z0g+~kyrH>>x>woD5Jf8!J*d0ADB5<;I@ijcvrfxe{lh`+g!)%>s|b<;WDFqGq?P2gk|0~B zWr@E*ul&DQK6c*dk6(4T7A;4xNn0)g+ivUR=67x&8z{{q6eO(#W#2}m1ou?DwE4j* zeX5qW4m~#Jvu^^L;x0bD=ASS>^bMUjhor)dJ76iTpbq-BN;fPmmPHV7c&!THAQ6}fK zn{zZKZ6g{^V)B2o*(j=|x z$?mfTaisr)Gn!RrP7~E#<>=P(H{HA3{=lyt%kFM0p2i-A{IHE4w$Pi4<3D+?)TE+z zcutaHDW^47ui9@A7fpEkv#I{3-FDmf2X=NU-{QLvWMq+|h|M}S{4IvK-J(4d55IdP zW@5TKpkt58N06Mr$Ye3^&%&kT2%#6>H;2R1lak>LbG!=9<;SjZHBQr(zvX-3RPHB| z#cGI|J~*H(wH2`WSfP7RKmK_ITh+D4$#=@1Q+{_A-Ft8iBvj|RMt^w#@dIj&91;wdD5U9BRoyg zJdMyaQN&6PWk+Fd@*rx+4D{E3M#T3sYJdh4CvJO!?6uRq5QLlhUqM9RmL1*Tw zRM%D)FKX%|2i#tczSQ1ONrNP}rj3+}2-th|CmM^)NQ;pQPX0>!jZ0 z%sepqEx4e-PcmdNxRs}d}|3H^-z<6Uc6H?8bZGo(hS+Q<# z4s>5zz6Hsz+z@XptgSiC$0@ek*$`(&&RT2g*e-!h4m4m(C>Y1oS!(efaUJzQ8Q9K_ zZlJJ6P@m^V4#c;Z!$3ewET3JTbI%VseNVir?^Kfor((Y$Cvut;JUCfdHW6HKlB~X= zg+Ru2H!;j;$fRu8rnY?u9GD_SP95i~e^#HfJBVVjQoN?Rh_O|lt65v}ePT1zHI_+= zKJfJ6bYrj6YO5c#MY5$Dt-jpGi$66aDzY`9V<9yxDjY9bjul^ZApEZIBBo)GQ@g9x z@uHvQnD-#`#wGFEQ1z`!$N|pSFH&xmx*-Ypf~@GoXPZ*wNohE2<>`ZZ%LbiM#b(D!Zzl9yO)*upe@A{f z{jdqiW?jk`5mj!eOtzKg+UGEH#~;vxz%4^}en@)Aamrs8RK;$JuEz7_M_KY{UEDZ$ zE+dS^mK<8RyT5_x!N(b*+d-9cQ(t!QqS02ccKOFD+Tj+=Hv5^;Lh;;_4SI!!4O-W^WHUIZBAcA*Sc5drK?a(;3<3-KX+D>O>skiAy zo{LWf88oV^4@{i2bsF9v1N2j4^c{xme>^S{|334@bi;mIa%^%!*K-Y*fPjrS@6+h) zk!%xp?`4$b!#ErDKG%(tl;Gx40{VcB8QH!rL!)04lS;y;@8fP7TY`6_WZmt}(wKB{ zm2Hbx2lkNl&K{~3{_MbGWo+N{6~6C29PeRwGMOQ!Z_uwBUI4Z_pL9> zJjjR+Wk0FXsMQsEiH_}XccR#Q-S_I_l*~Dfe_j4&vpMj0GkI7~VA3?XgTCXvAWFh| z3udksq2O7ade2^^W#tis)1l3i@T$llRZHM|*M|L>+*%)yqH+GKu8Z_^D5ED8FDLZv z4)_@sMSzv9zI)W`P0M0!us)Vw^F(_1x0|%WciNq6H_Z{tG|R`O**$%&S5gujJY6EI zQtTm@?VN$iZ{At_PLO)JCooCAEl+;UNs#+DW;^J^q|3C}W77iB7XxADO&(2If)v_V1ntt09a_l6&eTYh)HnO;? zx+dd3wN6KX9s@hAntAihBxX#1@?z|B#Cr{!s9*u<`dUBlphTNi@doT;p6w4<#c^&=M*Oi)K zi}#TvSuvpsoJ9Ivsq?DWvgcz#w;;7|dX7&=Qo=`Lto5`?@Ao?jj_foVw&qa1HD1qo zl;U+=MmMv6br!yQF!xTq)gIULsV3d|wga`LR=X%7#rETe{8mlJ<_5nU34yrrT98kL z-S%~k1gc8Vk1AaPHYN5dkU8A=y~Br%X}ljVHmA=;per^W5xKjSUV0m1FdS+63LZ~! zeRB>$hVb>#a7PauS>TK3O(_D^fuoVcgxzd!XJhRlW1HuAIy;7eq}MZgY}QxPpi}h^<%oSbi;4`x&%w>*lybRH+Cl3 ztbr}rE~ea-RvodAK2en^D4M21L$FaU*Zjl3+GfM{$Tu=-Wv;k8vuP~L)U!sDJsVKh z(ktC$ulG+UPrMswL?siim>2bi|5OiM5B!!2Jz%1yEW3_leG_k^*NoV)JM0vJ%#u6R z9Uh0hP??r2oLC$@@!PrudESB)uUoxKeV4Df&j=7Nbf@sKRO7)D!>yLLQUI;0fqfVY zDObOcf)#Y%q%$c9jHMDJFO>;5GC#o!>sYk?*1F_BF;=MDNhTL$0p?Sp9jJ} z)L%}}Na)KkcsQdV_)u$`*@TxnZd{Q)D#g3tz5WiAfT(v;g(?4T4*7%Oja!g~o0fTL zV@A%+;!#>Dy8McaWUXr7Gn`a3qLa8(xs}%!r-^&S8k)-1B>?VpZlP$%GA}NqS?Q98 zyp`SzLyylH4c&sA(zm4E`a`bUR`aUD&%!TjW{)o=k+Y_I+#5!o`R-GX~?45u8{hIykv71!mEeH^LBok6D){oNIo${qu+|4=5I4+&xR7Iz2&VL#o zn#Z&_U1Z5*tDNMIdY2@~56+tv@uxU?OoCJLI8QnTIT+12Wyi|1~U+^DlaZ2AL_zX-60Ob!4V~uUL zb-Sb;kVlOk`)%xfq0hcq*iHRGcnRnh!P>Z6Q@HwMrqavTNOm{*E*&`2Lh8Xy>{U?z z(0|c=rL?|{o3%7a0b(VFnvb#c0d)m67Qe9*pG@!gDAXEvria4SFd#T~mT^yOgTCJ9 zLIxcocG`kf0QZ#=@xIw0_+pgpw;?fjbK)0$h58GqhL)|%<~L1U(!)myExQqCg~w5| zw1XM%T3%ldf6j}^Qn>|{ZeF}Pqa{%7H$1Cn-^U78g=;Oe3`xQFHCe!7H-LQl@)>>! zK!K9q_30dyx?x|pw`~vbwjp~-)$UtrYEH$%yo&#!@Pz_Kb(iX<6v6HE?fA#)=&=#O z!nyzWjm#xy(7ulp(2N*kO`w;(-I^?@F@prj#{Sis0hRB!^ zxHe+FPN=o=@^jhsGPwoS1C*d#?yJ%@sjrKxl=5eI{#qC*)Bgj*ggO0B36YDL8y7uw z8(}wF7XycMi7mS=selypj|H*L)oImiBqwgOMnjC$_`Kl%(R+VKW;KesD z-~{Zt8xKInz%9u2$KC~Wm-4$olf-*QK#hCqky5U$X0g<+O<~t~Paua=( z?IC+L3UH+pW>s_hj-3E|@vk3WHm$)Oo3LR<`%jp?$7p1o^*OZ2?0OkUmipdBr&O&x zJmW5!7wj~U21i<@gJQV}s)h4sKV$guB>SG~hE%Q3EeNcKe^EHTo;Iuqv?00;e=mQ9 z>sGN`-;HaQGlC3$jrMVGpb4sMV4EO4e4q(vVvDrHe#d^;CPMSts%Z-=yaW)w?mOI! zO@3eRF&8!D?{qOOYbQ2Vs=ixqKrg$SafUq3n4uk!yvy0I`@DVJYh*JGz_0b$5y_() z0KYuct_A>jpcg5pln1cQ!(K89c?P{pBb-&-yTgRpEE>f*H&K-P@H&79QjPNfrqPbv zVDT@gFPRbS-H%eoVjE;P|11T-7}}rM7}Uoh8#X5(nl=yMrSGU8mj8Wy>6{|~C>J@w zWqVX3GS;^M7!G7h3sjq48`(XF z`||yhvNq&K+UU(8P+0H(wIW^3czSJA?5U_^%0GRBSfMW# z@(Gf(wcRgH{%?)LjQ6Y4b_v z_q64^9{D(KQtlRXiS1Wd>Z9iTv4Kz@!uDW~^2D$WKPuZp^=c46QL^2%yMT~%$kGFg zb)vAot#6@C_OW593a?toz-Gj}YTpx0)56vab-mFXHqArv4u$DOF_2(@rm}~^9^v*g zY`t@ShHW})yc+EqEFaseerR}cjg4iT-RL{`mGm}-s~iFSTXTl|w}x!r&1=Rph26+T za-gMUh}AQ!d!!lOWel68_2j<8>v7;T4FIs$v~VJi3P-T9Ap1{-$n{&07Z%LdtmBpO zkAQa61O(W+!C*7C2gp8?yKCkdlC||LZ$~#hfR6mrne1I!>@4|R)Au=D{kSLEbms>C zdWIKP(~y=KaAe))T^~R$lh5E$Y}g`;Rr|ZaN59iM!M|TkV(pdcuUA+lT4V77ny47o zA+b-sJ3nqgyOHbk-u_ZosDV0lQgyNZ8l%kF<9f;Wv-doOjsTn!`^5d|#veF3&gE|< zk79=w>4pus?~~!neaAHb{Ji`P@vuTNB>VXyPm0IaJ$$*MK3)17;$u^zRJXpgWB@ML zby@(D3;#pC%ab}|cwyp894Tc9)z;lj0G5-uM5n^+t<5b`eAc3SzcdQZ`Y$~zv$K74pp#jjz2wCGXynZ&9(R>ON$m{MVXlt@Lxn#i#p8a-L zW5{}fxjUL*xoG4G5GUAJ@Sc6VX9>W+*r&Vvs*j@0g0NtVt;zb`fU^o9`WWl!=k5Zb z?`bx6Bozbz-x=+@4-fhJ ze`YJ6)_d}KVj%5+UVEo0Xu;01|2(Q_`C}J0hOy0Ha;GWapVY|d3ByO7K6}BJ{j9bB znziHpy>(xZZ_P)3%rxJ~V^bx3t(?atjw-ZRXuX-SDP~~|^&DNpeJ8F>6*=rBQsF~g zDfzbD*L1KiWnnh+sGo65yl;}+^v;pM40$haX%iI{*u?py!hxfm3AH~0d|IYA*2Qt2$<;ZJUuMk4`<$vz!>ZVBP6 zox3y~+d*5wv$8*LW`H;C8lQ4MZcx@DrHzYC7hkqAcQeMeEkpf*I-hKK8t8EE*i zo7{~uTzL!hUuW{iWBG%PU|SJAg?)-OiHL}8O98w0@VdbcEE*NZ7xUlDz7;UScs&< z7}0|;rw%o7X6UrbHYbCTsbLd15pBk%TxtjhFm`3vDn3(XE?Gc$-D?a-E;}K>5T08M zP_!{i(!uCN{ntGs78vP}LW@LQwj~Sa=k238FDDA+Y)P%k!Ai=c406K8QH0#5cS?mcoxinH6=TjNeP{64h>zCjeE_-NwjJm0_E%`U$wq^ z-XlFpw2}vV_SGm3wf)g8|B7E+GgJRPSiDKfBD7If$|5M#lOqcfqB4fhZ#sh#@8+wEr3M`bF*6i{~bT?JAL)y$Z9aW9DejzZcWmL2OZXBkA?HIJ=fPR zC;weGxSTW2g^jtLU(SS&lxUEQk%#iHsz}N6(i25{;8Ah#>*jait3__?T_|ujM|aGZ z0Col1q-X2u2>#fJG*yUa``1r~FZt@MBYr7%LLbj;1zblj3KGah-{v>&J>hj+!Q z?1L|*bL<GK?>@68q+5t>)dUc-Z)0gRZrL;9Mt^zTlf1+dQ%nlLu%X% zwJIu69fr*?sc04Vn>GpoQpv1Iyb^`1x~IFgwnkt!=GI(DAkt;Wc4d==MXlna8T0DY z_*dSfL*BPS-;_JYo@TG|6)2&zm3yj6vUKEO=1?FKxR89wJGQLxZ#D(v7-o{vcI<6g z$=>j-usjDMpNUqHH3?`49-M5^U@|Ni#RY3HKzUhXqLbqD0UTnAVPX`lEC?|Rd!fUi zJ5dlbELa5CWncVXP-@Ro zfpI}yVx5&l0U?~Kj8K63|BYJ_fDcBQPI}2w!C4gM+{#N=XU;l4AYUMg$-_KBflh zJt4vve^rq&FDthPhq1ir9bW@$(wS!>Y<^~;czLEEq}5_rPv6>cBZhdeuE2L67GfP5a`|m*$$knT`w^a!H?PfFwM!lqSd@1 zbY=KLTwJl4*shZH@-^nN?`B-40EgU%xl8I<_Xxa>H8X}aEwjAu>vaelK_)Fnx&GIn zIM?S*?)(~*k|tXOjJCYr|LApywR_1Sw#JbMNAD_GnANd8RA6|^U-z|v3eAS$*&TD7Up)KY7_Ns(-%*Zx>$Ryi6G>w z6#bY9?Wai-P;(B53?)et7$FooEJlR1S69)z9$$`}0RWH`Vb_-yj6Bwy89bEX zBEbN!UAu(^NBeh9CbR{MNRVK41!VwPU!vv9nef&yi+<^(z!iO{9(y!pxW_|9qnCF1 ze?I@Z;^=w{(hwZ4E%c=pU1RaSX+OnY(?l5Wy)wtV{=$HHb=*!NUQA*63TT(^My zJMXL5b)n24gGW|suh&FNqTfT)@Pz4X{Wi>ZDD`d_u4AV=$-ax|b(GCbBIO86zp5Zo zpiceCwgDyeQK}WSMR4IF0RiSLrq$D^C+RIu(&JP0d&TMKb@^M4hRhQPeElj02WO`C zbF-==gdDFb4ton-oe6G1+OP}0!-3hZ6Yh#EHaAJwmDGKyVZ*_s+Tn|?-NU2Bz0xu3 ze(~Hv6oI*L*P=Dul2~j=!c95q&~i1t^;D`DFH@QrX4UD8(iET}qnkum?)dC|Iy&$l zNgwD@(*5eWP3ldt2*qXRWeBM?!{Lvbo$rUvP7>hmg zR~Hd#SA6-rO;N>9UC_9&DQf-Q*P`x%sT{p7a>y6C4ey?Jc4~$uqZ79|^tE*$+Gtq- z&~zZ#It<-pYQW&FKxU#o#GIIq6BvoX0nn4_U(F!_25PU-AxYSQ8iolNwk6F}c4q0w zd&gpfKf^`7Or4=p?_j%l=@!?1Nis|N~5&< z!d##>_i46p(hQ^)NV^Y!n5$^? zpL8aDEGyR?t2t-ROW|n1hVa}hom?6~=Hbax;H5W5Lrn6;YiB_hu6Hz|VYO3Z7}C8?R@v)&TF@WQ9{%-QO9D8E@wG_ zCl+Qi2t6TIjS(Iq)~ciEBs4$y@5UwiD0B~pi*?M+3hs54%qUW*tKh+nU>W3o1sAK`2--qOERmRr+#cBNDaa%keb3kg7-@1^t7FGa-IPhX8UVfkPm>nFabIZc zXv)IHCJq>H>0-duLyBP*DN}G_YdPeWg6)M$vbbbP)2VjvaC}K~dW3tDMhyT!$?P_Z z*8xU<`P)Wt~b+9Xq=OesUj&HjkOkxbXX>5 zjLuhq#R_;^L4U}^5ofITQ~$#u>}ae9aAfQ>8lA7~{SYdleMp315gRNLDk}zLXUOf( zwbp!YM*G_@-GaK<=g%GWMMV@auD;Z*SGe=PTy`J3KDhl#U*_uy0F!7kW`qGtbY5dzn`m2aL2bpiAjoAGvKCO; zvSFm-|6iJ1q7iFeVga|HAiz=WOX}- z4d5)l#6K=~Aw7ROmT=`rej@@*xZ-UE-at#3qX5EPY0^a)Hw8EXb#yb`aSMusVLf&< zX9Od$<*o_Tj6Cw6a`&%3_@_i10j%dwpJ==KO1b5<~3$kSd{$1hCvM z>}Tbhd2t4vlKMS7Nxqrw@Q+lvZo6EpUD5*QotFHpdiktMiMuGdneXso5<4T<3Y-qn zBGwy((6yp~>ZBXa+-CE6vL!$_u+&84u}eRW7X)-0{xa*{xEa4(em#Z+mFENX-_#a* z47nqRXA37v5M^%L0J#_kspvYfV$Sec2Ep^5{`!1?^*mnBr6)!J@1(m1PX#0a<02o2 z0J-Pr$Dh`{cII)vrZ%1A zB?+RmBkA!cTSIa=VkQ|f&A*75&=PUGj01M`5vX%bZ?NqRX(a^71g~ZeGMsVx%b15ln(unugs7Y$H~*f`i7r)S5%=o! zJmx)9_E$oA51u@Gday+~E=@aZG|U3rGHgE`+@eg-@y@Nug*B~T#_+QzxrJrUoHX%z zG|{UwuLmI_L^}g^ljoAKBBe1J-EcBABO5n->=@%w%ndEE{Z!(YwaXeF*icdmhya$> z9HEP=Exz)4hRwS9g6H5(N)PxgyO$Va56ByAyeB2zD#P4n zD2Lr4?*_2%IfUDN^cV$j3814*Ek7neXx?u~H`rXl0O84Fl*;LUoZtih_X;<}Iur7X zfhWEJ2H;7?=*{kBGuD9Q2yO4qamFQ@s9+CYBZcV=ujG0>yk_}!5&GY-EH!{+s8VY1 zyKVh+Pxt&d+>WL-aWiH z4nj4(cauO@u3%0E`K$bu;;L0(i21X3kfz@&%q-X~RG?uNEIf)l7Jt}ACu*D7J#yiT z?Jn;|pR;%?z*?o0aY#MRXT_fy(5UFr>py0y`F6m4Nw|NCq z1)+u~lrNHd4{O{@+cDK~cF{qcuos^4d}v|us=98CBvTdB7>AJWyKPpQ5ke}Y1#$%8 z>dC5eF9(PPk#C#NMz-48T^ZGDz<$nX&Bb!f#?%!1>e*?Z?<@w#i24oo7fB}1Dlrus z>=?Z@eZ)ORA*IFzToat-82undT=Q5a&Z0?j(8F$-Y>12+5is$|lot&T zeqAretob191rZl^{s4#UH6rYViMcfnIrhQ=xB&V<*%%()Q8r*^6bdlK{n^2N44MC% zd*p5G$TImQt^fM!WfX@W^3uyuRVwVLdHU?&9CZJfJNWhBj;_YhsrVFHvzot6 z@gWUP6M6L#5d+bxF1Qr4sf&`XA_0rL`HB`Yz$+s*nmZ{Sd5~cq6=}+aVb7DG0P(yD7rWijdX3@Q%B8&hkh=Ba~LG<`NVJ` z%{Ql%s-0HOQcOg$Q`?)&za#W{i^U{VLk>JA@_4jSBDvcwHe|_ZweBDesGj|@}#aMdxyicMr;7b~K5al`afg}u7kT*t)*I^>jWm<#END5<;!JvujG9{-5{ z{rlifM9ow2vX`BM#pJl<$+sZO$F_Zv7WKZXh4Rwg`xMG46))AR4e3bBG+ul^4Kx=~ z@hVD+4`J#Xa6okX@oNP%CgrHzf^fJg>#as^LDo{#;&k86jCU7&H)Ov&$lyHw>-DqZ zkn(3)yx}<|(tm2m2*)>dw1N?-*)#XpSka;E&Mr@~L%wx6I~66n##xirJtvGKj3WbS zv9W-kJyPe*`n?QOqWlpAd9Cxy>u2xAK$`8^RRIB6*k=tDHB;Jv@FY1ka~^H&9z<#u z#u%dl6Z``a55w04rnzE2>L^jl!6g3xK7pw*NjXwMj@+k6Fo0TbB{OSt>w__NE(S6M z1~M}+Be0<0Tdq&}Zg?F6hvB*7FD`M^73$op)a79IYNpZ5%eFAEh)z{Eakm>Du#KBq zbc#=c8qLQU?5sAsU>#RxH(qyDL6(b9r{FB@Kku2o9a>WREZPrDH!lDW76O4rHpCo0 zOm#H!Iu814`DCyy5xbxYpPCC34Na^3SPZeru0wqSBSOG6CL5SvuFQqx*@DUH1mh<) zp0EXGna5hVSJ_u-eX1|A&h26D7H(~?u2YP4HQ>d_Sr=N=KTkX&Q$oBzykdH&Lnf;R z5685snZ4o&?@^GA0idBBlf%&cAS~O&JnwIYZlY+jaHXo>UKl)!hKDN^KWEq=!d_HC zvJDsj=m?3^_?gmMEKnYH{eUb3poN?riULWMX=XH2+TORPqM6H2 zdpEPXd3AE0T#DnG?A%8==8EEfPj!56*4#-D>G5XT$YpykEF)el&%X43u=gH7Z6#Z~ zC}%t#j171&CZ{n;h-fk*j=^LE7CB>b6gkJSjg0{T0|+qL1R;b7M&vwXlTFT1Xtk=~JS|yw(RT+xsN8=4dIeg2bwBqo z6GkQ}C%gu!``It+a(9S^y^+Z6onR_yXg%FgMWwFzTj}v;cP+T85GYyb&Y1z$)q*r4f$HH_H^oL)(GcaMV z8@t;3?CMH49aB_cx9A9K>3EciNI}FKhpY<6kiXM2RX1?G!0WA^{c_PRbukrGryiw3 zEldTI)eS99*uI@;51*gKDr9g@1XB77KNb$%frqSaDw+;aZ?7Ex5m=dN#e?C7-jkHR zE1Rp;sC;1mm7s6Pt#me_a+it55aC)U$jv&`Af9xCQ^*q(O3#2%Ug=ANuzIzT;!GZP)lL#O%5?<|$zI>x%ETDQkt zZf35_?mG7v`IDEsrV7k@Zu(h&6Rb9-2PR40XVT=>*E$;9J|@%i?oLgSn3W_?I_tAv z1Nmxq=dR+duT3<#GqzF#cA-fJI+CR}lR>>q4|eOS8kZ+SD71PQ#=XyGQu&q&{4Dx# zS0AORW_?_Ox^TCg=tK>#*@iRrp7Yua11RpQf%e4CcG;mn6HG<49B+_)jvlHF6RlaP;R|%oxS%l?`oV>Q9OJegQZWUcfuj4W5a1bd?8wC9pfU zjGX-gFM&e+2`;$Mz0__a{!`nDq;V%h8ftx0euzGE=g~c&!4ba(5`junpU_a_J`_R` zH9tKAl%iA`cSPtv&lLbH!ULL`Z_!Lu@VmAZK~C!g{%XKBbx-9?f&rgzv3lSHP;0)O z&>1Exf9`8kK7NGpB6r_$umZ)4Ts)e2KL@vWw<@sNV}>whyOu9usNzN3=@6VRda#2v9PKHe*%E?k{&uSCD^e@{_GjfGEQY zs{-O3Zq9YyPdy*gai`AAt&OjHh%ZT(T8dxy+^;3>$DOLvwo1R&r8#C8eQRDVTy zBD(cs7;~6|liQWCcN1)U8Ack%fGO?T3C@O)<`i`?*QfB=Ik{hueml+I$QF1q#oo#D zWt0AmxO&QyVfh_$%hb>G(6bzP&-Ct$NHEL#vVZUUMVIAAGf|7zChsr73_?d&uKm72 z$$sTM>@Z5jToZw=4}+e{4peG5j>sGVEW3%Ifwo6}mipLQyq>@^W_uAxrnnr?r6;ZQ z-F@$e!+U;8FXP4}slbX8p_JYaRX{%ZvkL%f+>~yP(@*8t;5%Bmjk_Y?z!uy zW^+^JXbv58_|$Od(l(y${*KT^io=-PGzwSE?G8`y#FM&3Jy~qtw?Eo0?~i7| z%t!ULLyZ&t06JnuB7^=&wg7HmDZz<@PjqiQU$Qf+F&a_qqk#~Bp<Q^d*IBB#d14 z2h%1%WKo8@#t9N!iip&O+G?5K%GZanU8fm7;3_H=D1^6e0}bplXChe3)A0BA2;BF| z5_fZp^kUSn?o$>W^xQTA_yQh%E3^^aHwGbX@d>PbA~ynX>{o&&k&8F~&nMkRB-mIu$Scc;Z_Eno^=!zIy{3v%|?DPshBQnM$fSY1inM;+>lg(0#Y; zT+IG%xKpdmf{`x~OZQX^4p`;27I=?nI3H|F&l+R*_k6w(jH>qVui?}dqy zODtV$d5Q*omy6DSNxDIQ;-hkhmJHQy|4wdX{DE**N_0O~63Pi|@sfX>f}yP4-m|$3 zT|@XzLZ16o-u&%7a_C9?Oxoo*6OCtb-RHB2&O4K9#cLV=R=)mRqV9^j0{e`1 zf%qOd@6A2_c0*w?E>UYgw&Y{hxyJp!X6C=GD+93VR2K)l)YH?s;ZD6}Z)xTVUOh61 zyBDRAx~RXh$z+iR2{DiTaDx2fEXrZ`xTuuX@w5}E=#bOQ14b?&FRGMZGO~*4@1925 zHU)=nyDWvEl~1Fd?H}D6i`W-fPO>6(&!yav)x4Bi<1V9c5NC>VcV247-;QXNlY&8C z3%0i!A5lAYnZw3S$z1q^mP zusoplTX1vM##(^H>dZHVJ!i}9Wqgme?!Na(b7x(2>g!@HX`Zb!Dx9B%i=aYW@iKKf zz>4-cJbW4d+x?IK^c4Q%IJjBmYBI`1jOd0~K(ZlAAr^iT` zFh0O_5LSM2&Cl`CL|{r<3`@p>wI)+a(d~*$H(?b*S5TU6`kNSpk=&wuQt_hE>x(vx+q@%(_AC}af7Zx&-xoI8aZrEyo<8r>{&Bxck~TxV0eQFa~X zo=!T|qLr7I#eEdDGn5b`Q(=KOd^_zDuW};-4|z2twWXX{1`QM}PuYM{wo2%RA=;Iv z(2Z7aDwIwH4FqFSbDb7!7T-rIcTG<629XGL>6nP7t8y8yaUaYAfJ|xU8+#)X_K^g< zcM^Xm#*~)?Byu@fBI%i%;NJ+f30^Ow_Y^{_vyXEZ`RH^P>!y^QLxZw5vzEX; zA;hbL#!z`-I+2|re|*~0KUCq3ENOxtqnr%~KE7@1R!&j1EaQ1d9nU;4&+Xg%Kp3Mq zqU!R73}^lJnFz1kg2UMFv0$?fS#w&(oKl}+n~h-6mLQ>r!xE-49o6$2YgcO50~4*| ze4b46fo!+pgqv`5*+Kl2KBo17DJ;RDd{ksu&$jP0z1LF1LYmVIb||tkcr0o;+V@#q4z+G0xT~hvuDS{OGGjaA8xxTgfVQJVkilv}3T640p^(@ApPQpVe% zhqj7ew*T1?DbkLhuJ-`(kesv0gHCJ)CcY~j;E&A&hQVw0;#h*_jGbj^egs%o5xrwQm2;wql(z-5zt=8_lSL8B1pPOh)?7Th)bNb6%0GMbF>0mkz|2GMywbqwT5o2wktcaNN!euL z#BSNRZCNz&4#k+s`?$9g{O>>88 zghOw?QRy0qyaw35AV?m7tHOW9y&4EGGK`3o46pvEuIX%2Bri{?t@o?~sh=A0QakCH zH2}Qwt4n;+#E>%ODvB#tt9{?h4PPX$jVL{IQe zEUEld;z0V(n=B@uv9U#YtF8GFwRw%^?mIS<>2hzIJQ|l>9xiPw4k~TUbv_KXzRleu zT)I{Sz{Y7o)wYl;fkjpWzIlzt6pud@xo)1ghKg&Ik&M#yR$!;5atDvl znD72Is~gI+nB7l%I%<1fFzDVE2Zt8=ZnFy4VGeElDQICXvx$jv6ELVKm99g3PLSVR z>433R0hmujlo9*_BfrLazLp;n6ezu?RQo*FfQ6jrIbeLTn*8(NL-sctE1RD;`;h=E zV1WJp=g;{Cvj4Qv)`0Igzzm~F)&?*x0NRBn85kj8g&}&2xk)|Zrv(tlo{R$nJ5m%UWV)*oi`FzG+YNiqiW)V@o<6QuaIXFmWKC#GGK&(255J{M6UJEgF7LVc88F5G>~4IweqRaB*J7l? zzFSB5=!v{+PVnldWC!!D7aj;U5Dk!#B2t37sJ@kByZ_i;7fn0*arMYVHoLog5W*uI z^81$`)7V`)Q`BW5OEVIrM|4{?-P*v)n)%Cd!@ARs3ql(sD({4C_0kJVHtX)m!t}(Yp~GA&l!fUIqbAEofza9yAOnSTL#X-2R3t14T*FnPs9L$#nw<7g zy_!|y0;#v5Fj$rtb1B*HGP|K2I@rn-N|h zO2acBxrMJzCTQ;q9jOXk*sCZvm`0k7Ipew7>*XD^_x&8^hJkP%V3H?^#LSg;l}jOO zE}D8%Wp4{~n@YbD2nwRf!D6l0@Ygvp?Rx2k2K2TR6hh0>P$NFZkk95i_NTL4BPx8P znAL_6qqj{4Xw&QxLob^tA%;-n5KO!kY5QsvQ?hj;bpwYu`?T0nSXO@W%%b{lB{P3gr`GN z(VA%1qPuUh(PBWbQ6)F;*ry>az2U^2%Nk)0(RirP1g1pE`o$Zb^|9~3#U&L*zMN{F z%ltVcGa!pFSwf~=L_8TFhvXcsxi=D}-?RWqR(A9rf^!ATv6#i{JBWpekD$91Ss%0K zuFQjc23ymHfXCAK@Q5-Dm(+Y~9VLFG-(D7tv@PfA7SN1zFH_%G_m^5eX`Gp76y31! zdyc1^au3vd;K5k(FKZ^XgA<$|5#hHBDe-Rk!daUEGQh;2Z9my_^D+?5^S`h%LB!URR?m}zbrfw)L zp-01}yaO>Z{9QiP zga@ofVnMP(g*XhvEMtf5_9uQ?kA9_2EQYwO{Y!hn2wvqrsd67!ky9DP$oDGxg?@^@ zpB7dn6GTM=hRSy~I&XL!tU?wV(*06ps4OV5G!qD^%^g(Y?7J(JWtCT*PkT!`Q?`qU zI4{^t_3br#XHqkihw9)fV|yq!$S(ud=V+TvbAkSJHeFx8FOfbT87j!pi;B99HU93D zwxQNqFU&Ko$j}7k{EB(efIpiWx5c}0m37P#2l?veKx9p^WDwMVO+tFivk4$I7I1r$ zEj3+gFb0rz%3Nuj$54DF7;>cdZkN+7WA!4~Dh1IS$c1!7jBFqWSDpH$i z?y^FAtYax`LA-W9sFMlWi?#LDj<66defkh>h_LT?s@W%$VsAKx@9TVp(R7S$W@Gb3 z2l@K+j{FGB0;T3Jog<+b?H6e#2f}Pt7v*Il5C;#h4UWZ46=P%)mne0e?11)I?NMWV zG|{9ytgI!S8*0rh>?^Inu~eNmz+4(iB}@yItfwjm^CK-6T`Iz`j@db5LA zp{KRS)&jh&u7zgJY{)u?OCAi5AZk_53@17aJrL3i6GvnkR^Gp6(aX8DDpF97m`nS{*_>$(e*6i zzH$2VJ+LTRwmhVhf2_nX-N`Y52-5;9i(72Hj&>e$(C0EdggSnSx4#_%JrE>&dsJ{6 zk`qR*mFNW^95Xjp;N_bOB5>>0SkH#@t{c0dOp;j9<~d~3X2>E-R%8QoKKCMjiH+$p zE@Z*oQNpRfi+n8l$S{jKnl_UPqfA4kN7JVjgOVRb9B; zg0yHNLcw_OaH#eD6F~*z4Une?;MNSn?R%&yb;GV}gLCvwmqOAat^}4`lY`06dLb2h zf@6`Pg;PGt>DB{`@KKh!n!5V45|_o(=WY*(w=g01@hOuQD=k|ek5saDu878hhP|J= zl_O%SpF`a?4HiHs}eK2MSCrJ6@V0M=ye5C6gLVQLTGrsz+4k(bAO4|Nn>hSB0< zWBO7EIy97d#Wdp4YfV7?Uo!Qt?}wm`Gt1L3p4<58z$V8_rmo_t6+TC+rj>@8>UF|G z0s_K}1WeM$Yn2iq0Etl6go|2zquS)W z!=d*;w_D$)U-i+!-mjNL__MJzQ^AL96v@rAs7|d3Mq7W(T03kr>^y_XuFrK+qjl?{ z*`2fV+YrV0t`U{IOVTjM_|Hs9b5~c!yJ`t)>+V0gv-nkH0oaq&nV1*L{_l<)72`MA zv^GU+o^+9{j>WKRusa{h0ojy5Z068rj}^k~3`TWDtIaNVvWq?*TAu%Pxo=J_TFDt& z#H;3RgU^-A1p+*N_gqC8gmjvz+$!=GA=kXAyaw$g8BM7>3l1Z#&q@}CVl)?m z6U|Z`U)u9(g1Hp9UVTZT4yF&Wr`|t4l%J0jP({d)%9Ka@XDnaS4WHqc*8ftf&o`2` z@&QhyKeh80-%^YLef^(``+sThOW$xZ@_^!Qg;4k4QUY}O{3HY{901_aJYr+B_`D`i z&T8_Uxr;j4?%S|7s6Q#;fYFg9$1-mKaTsbqZ~q;rNJb8swI~8AdYwNIIx+ngI^p!P zU#cuz6sr^KQmBJU+hkP9=nk7)2ih**;7=yzA9})FzN_(66+wU+FY(=P^=}TkelZ!@ z3-#}A&VLJNh%J!*&zBnjPU+pi+bFo?SjCkyYG*&~H^P4l)_f0Rq`CgDD*wqC>OYY( zR1}WYtT6D$jKm`|MT$QB_AhZIAn!7{mBJvq!NQP1I?dDHoFV0OHvM=`Z-)#|GKEqO9x(b@5<@rGe zuec`~ce0LSr3fuJ>l2U0HWDe_Zp)d@8Tstm_b0~{n3=~XvVeK)7glYP=|U&Xhb3MH5X&H?#B9=%PodsAX>wQRPz zgBg*I-RY1;H2v6>z0kZu+}nCZ%y!e86?4;E<|MGZ#(d=XAxno-nuvgrc;bDrTKz!D zq4ad+8i$US4gt zpOsAq7AoeqGfbm`;E>v-AbLrP0s zPeqbeM3a!WtQul|%jN95?b-MQA50U?qaZ>@_qXx>jN_kX)m3o{9qG4I+1E2Mj}pT( z(4{Cv)u7Yomz)**?b+5{$t!$0-o}1aWA#N=>%%v?lJGskAc`34N#(UU{6N)t@6CR~W>*vSE5wty-QcI}2c}Ca%JPiZQV)}% zGkK%01V)R}DTK!$qU*$%1;rDl0rmE|n$(>0d7|SlGRBs5qPufl9l*95pu3f9W`vsh z{&8rP)JPAAeu-hjjhJ z-_Js3U8+Uq+lG$b)ZK0cHCNuUC#C&wd`YLw7nAh$@$6ZQ>L7huCLbK$8unmX^`J7T zGORb?U!!iG1z6k~7p6nVRr~*OvJe>deQ*r(XGXguRR==#3rupym{O^`$Dl8lCRv#Y z%X?gFrv@b{*W*njVs_pG|J}psj6Z%`dL{f4o1Dufgir4lb-mRG-8x>wJ0>uJ`k@4(`2O zPPk1sE*pU73sk}Y){Ha*MRLJkDv{%^TwOWVxjMz!yDBd~3((!C;>Kj}g0a7I+RU?u zcRdC)s=+){p-aRTCrFYC!mDDTeHqR8m0-AXagXI{I{XsM7?uzrd1ggB7!Xz;?y)_i zF{m_`uon|4o=|BDW!|8WAKXne2U9+0;o-1ttSohHXZs6;9l@$5>_$geg z#f3RExG%Iztd4tl<8c_TTR9`U?M?m5`w8|?d0 zwtxzzAgz_3p@%)pOv|)6kj_jC-fOz)e0LIvKD7q)Gezx84y*103HSK zq^=3f$O2I1zW^;nN?nfu$THwjeH-fu98f14ssME~k05_~WC36dQ1Ta!rL8;s&(sM8 zo9B_a%#peDt1n_b!(jpnPr|!&9vwvTQ71D;{=5bO-}C9pj5~`Nw+xgTtZ1^Rx!eRT zoBXF{1}e`xYG3@7aGgo$`#DWCC`#NR3C4_43RF_Sm(AWeoO}svaao93y zU-!KU3wLjBHLCY;SpnB^6qoJ$rv$j8_YV36-uGZ5C&`IR zCHNr@IUvHNIDocsZ903Zc}OSC!;v`3Wa9!7lMP4MFgZGLYkx|>jP_^WfZraR)r3Sd(uK=^j3nZ5bACidenHwh;LMH#{HdvJBWhI z92y0l;I_VA!hIy3$RE?(d}6$8xn{^mrk?iklW&b|A!@)kuli)wKS)uFM8`%mZ!|{& zJrYF9(n%ZBd1EFjHy57SyvD!5tu|XUFB03?e&DnRKcm$zh|3?b93N~B>G!Gt~54 zuK+jlcrYTQ#}Sf8iwk+Q+0g>zxHvQ$D43S!kwInD<8rt3hP7Lp3R=IX!qzkBEgPNHE0iu@M=e^F0aL7;_JkXo5$gWvSUD!6eZZ#$<<)(BZC6wMl_l+^nE$~`k z3j=aIYG`iran<+Jp+NTEg_^E!o$Km-K7l%i>sip)rz^`+HVFy=(Y;B=lqU4;&{9kqsWAiU*D4 z8z22|&aQ-}zY-w$nUq;Rd-I<3&N6jU%jCVy@Nat8ND7jqUEq?cFFoGtiMw&>3=v75y3q13$4HGSG8OOHZq4n9!0Fhj2X_l&Tz*fQYtY zlg+|)`(5Di(^lInKCK_S%akoT;Usa+@9@72`^HYQSfyrF%avlLSt_ZNCfV2F0x=yg zy@uu4G_PqaX`p?H@oUVVhrMXmSdc;Nm1Q+GDI8erV+Tl8zwTL}>Zh40uOW^D;y<|c zJ7|&<_1?!S8k(?a(x|@3V8Md=^@K7Z5SR#0i#FEJGfnEMDK}`b=}jq`wL`-&U1LVr>z*Y+7pkH8k$IeH|K1$hZ72ACI-{?+PTMs3K(M;zT0rT2fv%0pg4gw{0q4T_p8ht#ST zuQ$MC`0FiF1t5`ybJCtO*}g`i&f3s%%<09Xe)sW4e*){M28>FRQ`3Z#XKvQJG~*qu zK8Hn({|A@Fr-y*QP+mOA$Iz!J^_*6fyrR;ZGlThcUXD61X|@(3=W$9;XT(xM1v#tY z(GBebYn`^2pLCv<=cMFXCwFH@+uPW)C2#J)$s*_kax1NkEz>y;y&luE>E1VHICef8 zep|ubpkFW2qhenTwo$&!xM}bwDYSgYoH!cAS?)3&h*Qrt$eG`wYw#^1W8bd|q$y7X&nx|BZk`Dy09# zh%AOGLO>xN_yA|4{H&%NeY6Vl@*mP-?!8p{9GjqNoxpA}?8y(rGnw;xI^tOb)A(7f zlzM2nduaJSLi%0DmFo3iWwcTXN`p$Hs%e{Yru;Vg!!~X9Ijk>}`16}Pc@*mH1(|c5 zI(k0TrWkiBwa}wA4QJA`=V9jn!}yK2XzMJU(J5CZj#Jx!HEvagZjY(B<2)e8F}U61 z__pPJl;jq6#cfy+Y1H!D!`l7d{$pVv3~;Yhr-HlOB+~vxkC$FqV7F|sB3fOCP^&kir-rPkg-~28#YJHXWcWH(6Ai=1e-AR(~szQ0BUk> z4fuAi6N8$R4?S*h3Kq8-7YMDW4(Ok&V8BcPb>M`zGqdiyV+(mBIs|$M~N%I+f&}*BUKN z3w;WZmU!snN+&D9E}>x$zsvc%PJS&iUsJtn#SkJIEcvszr!ZzQTz%Ra@V;F7UF_tDI`EANbJeTGDJ4y&x2Q6yN#%PnNs9dHVAZWcS z(l({zZ9_*@4l*LU$N6QCHQwZS$Ck@gxz3@}NL-Rb>Rs2n2ULo{K0@Qo=5tIBIkZr( zTRY=Wn&pWRJ)xR<_HI15)761#>PsUTr)_w$+=KUVDB5#Q`Y4r0{$TdZ!1$%~cC~ZA zBvWY(+J{D^Ro+n~4V6zSwF_RJ3V}51e>tq}=i|1>6tNkvHzKN^AT|}qptIj5i6u$Z zRC(me`prD411tFxwD=dNUP(3PqJULbY5--Xw^ZYk6zxh*ef^1-w5fI06CLorJFm>n7@& z6z`P#qzFHao%%2vpU3oobqYH_+1KvKnvh=G#~I*avm*|$+|N$>5?~A=3T*f{dd3)bkbcLRZu0eQ^ zcA}^RciPz5A!p}w%}8iJq@r&)!6}*M;8+NvK$B<q1kT1v2#xWX;qY7>(YQstbuH26tVQ~r01UI z@#y(VQa&1dvAmDe;jkZY&M1{8f9_uSpHfIbK-#!|ljvmT{pC_A*+(H8UGAs?WzDav zI*0K)|4XYaDYesXvt$6ADA6Sa>nkNxXnx*nzPY92gXucmJWhRhJZ&;#6++8rW5LPX z5szJBAwj<{iNI!z?05S_CK(!1tR(h*%wOcoK>N=GX_xfInAI9REYCd<`;4*JRD3fY zuaWGP`9M!fiXH^%U_l!MhY@=TA8sEcU;E2?o3?Yu8Nx2Y3=AU z%zQJ@-f{CF29z<66@R?huNlgYpJ(&&f^)lr7epMg^nP!LQyDZ@gI|6`qTu9##o=`( zTh8zNp$jN_g&%&#QgC#rZyblLc9L|-zEv)kMloqAa@UEy&(Me|BBSX&anNh+d_XKu zT{)63>k}lk6|(fQwTCT`dwyCzxQg7ptp5|vf33Bj@v=ARoW9$=oJ0AhFy)*!WXY#n zy06o{H@$cPvf{2^|%;6#cpFTq#~vp^X+1A2@6EHmT?b zhD++MeEH#MYq+O~c}y|h>zT<>SprTtnk{cRN4bK|H(-Tu+ za`kPugyH&p`Himx8E$$^@7*Gzs1^Cd#oSQk@lBwJq$q*otf(j*@!w0VPjQ-d@n{Bf z3%5qi*(qN%H+K%qQNn~?k<)Qx7pmG-~IHgAqA>$`Wivg$VZH9p7i|DjtmuKb1LLn$7|#qGd4>zp^qs3H@31myvrv zzIpM>4=PeJKv=17@Y)3kD={_&-S&w98qlcT^99z0E0i1DnX4 zbavGt#2q@N(t@5fGsZV69fo;wE6hTOUQKjLRh zSye1!JzfC%lKf^V>mp{5cCI7ykK3~263ffDq6w@Qh&A4|ZT}1^*VP%+VU{$yu_%2h zlc7HPr50?%J<#7c%I66k)S(o>@$h)6SZn^!ZSu&{Fg{@>QZ0#!BMU%$sMflhIjFwP zUbm5V8W&{qeWhw6yEJBsicOhm!zJGJ2$TL;Uhy^=$Q$W?vZOh-MWbR1LNc<+ZnA)* zMp%#(pf`Mt%5RYLA2AA!UU6|x-QS2|bUR+J|B>6JX_b{KK&rqMr$W^mUK6qWQS*#7 zo0W&h<89M7W9%%_?B>tJpS)6N4sT6E=HM9kF~h=AaScEtTO=aODc2rq*ig@%#UT#P|9}Y>c^F!yGxO| zHbJFDL((C&0N!D6ONMVUlC_p(TZGrwK{w}ZYeAO~b}QX%zT$G*93~)7lj*eO8I!p? z62PKZc->@E!XjgNp}fo)z| zN}f!eoUDpexYt9?!f0hGz(Vd+z)^3J94>GWOTWsNA+&202c}6}d9bh|g3F8SNa4tx zUa*QxdS;$nsnkqk`Pf`tK6|qIgZqcX5p&A$D#L{3f`Udo6Q>95N1 z%p;{cdxN)tHy(x*6zdU$RlcRw_`q3ON}p?h`H*PArd)h-9@7cH3Q8Lp*Qe%7jc+0$ z+;Im?(N+KE!I3c!nhT*Cz&EV>zWB$P>CgY6GZLJnBcyxm12UQhl@4v3c-b2t;jnLu zbl+;H45&K`l<7Kb<@+hM5ZoC%eR0K$-SuaZCoj=ss4Tt8!~y$3M|ZX_fF*eaNkWUn zx=EC)N8BPuh0aeH2`R!$A`3T{wnj^Ia?>`U-MT7WCMV=?+Lv5)5}X*BD;aT%;##h8 zXJ4*KqfezPPe&(Cushtk69K{%>Op0u*`d=5MWA`t)td2nhS=!#ZJvqt#iu9ykIl>M zTLR+-I3$PcyLdDM2QV3;OyzEM3Jw8sG~w;)l5D1hdE+eus`b-`o_5Z&(1e%-@ndf* z@JJ$U1&YWfVQI!>c=2O~S>^_-$90pwO^Z3#Hc#s`g-8NqaSN`jne{FQW}TKpWP{v3 zsk-Z72EUwj9;Q948`zuAsjmQnKwnd_lK<>f=;Z1Xl`KBJ0^Kq)@Moks9 zXgjLe*n_1d1M9VM$q(>Vn43=>%O$=OC4tt7PikpKY?aj-uNLn(_Yb!1q)1h~EeUNg zUoEh39Djqp|01#u-WVjt===!Djv^B4=G{QsB-cev(`his!#Z~8ZJ3e1vK4;nTysuU zTD1_Av35gr-;}5K?SYFaWf~s3lj5PT2kaT=mV#uyuoV#(Da@ze`RANx+S`k+r4dQ^tEs;IdxuYF0k zK}?lMg)yI__SA=s#Uf`F{qSm|?D0?Q;&mV!xCu(j-tv?0)QQL(se?OO-C1Xos{-7i zJUg8+zU0pkZsf4jD=nRPX3l103v1O*?O4jU!i1%m>>4IQE4Oi#yMc#q9jg6Hv9h@v zI+69ZL}KNaDI%p;X7=!V3e-1Qh;~`={P7YnYQI!6KiYe1n3dJkPGZ&k&DOve0)XqKv>7(K>ftG zMY^3ywpmYSV<>+b7N;i(g-lNDIjPC7i@P9jnMxeH zw=auw)?!PISx-=+Ob6n^t4Mf|mSp9ou$;Z6Yt^t3Z>nGoC=M!3I62no+_=|wP@d=U zW%^tI&b0W{%W$La!00-fL=87dkx+N8izpcxHd}~3Q9vo=nh`0UFb2PIZ^dKS3Nfo+ z3G$S0u^BsjL>~f+jPesJAR##m%eO;ykq43`TaY-Y`C9PP^hSzXg&8B?`(18tl{8LD z^2gglD%v|=yZ1IS9Z8WsTC-$b(M+4JOAwnqDI(@*0Mt6pz zf+5*)*w=w9;lYrS{IwZmpSRnn=zyYzV}O^- z1W@Z}Uy(bbE*8UYk6s)EC|p(QoCle2Ed+lhpt}x^QT^N&78c1-O18n%)0ul+H5D9D zNFVf z{>p*^@b_i{QQHyXiT=S_^aam5RwJoVxZ0AaH`wew*xTNm)K!~GR9Sb~!DBD8XOV(| z%Xv4kMV}I@I4*|H@AZDhx5wd*L;3Q{*i`P}Fps%W+}jFyikjRd;K#fwq1KjQ$!wMc zxwd?PxNN;dxx{rw(CZ6Tjt_q3JrVKEslWA_>lpE*$K_hrfIraBE9;5Wv{O#jaEz=N za2CGn5|wkJohbt)u}>Pk^Bxj2I+HnJ@zt9HQUE@09#)A397*iz{)H}z+Q6UUmpXE9 zk{tlT8ZuAMWal^_?n9+uoo~RrULZfj&m-GK6|NoGPMw%#m&5#Af!$7a4bq+Z{<(!s zD4l>-p3`u)-{Hu6F9bEqPgV$;GFoMt$7C&DMhL@$a4$-m?zgf19u=rZ+{t_}3$>}@ zWHzto*{p?#SpLLF7J>ehQgF^A>-dpq58}aCuWyuH#A+fenjK1G!sOhkJf&iCF32Vb zP4E3xrS?iA3%B=H{qthIlfEyI2IU-l90XS`|A~70Z)fMHDg*JxZo*b!xG;n<&<&_1gg04t0Jym zIT~c@9%Gy;w=7Ez8|P|r$A*48ACfRFcuk$hWx@ei>eA7T@fPhjh(xRL7R&Y}yH1wu z9E#JiHU7~=-#&XsyTFN-yt(VVYbFsiD0I%>-QPV$X7rXYt6loyBa}>f0UkVpu*$1YoF0ohw@mX4l%knT)Ym{(<_`#222gIBgGA7VmCbh0 zR#L6YUL_D!G2ec5>Q|qMD3wuV@sHJB%M>Lb@UZ%ucl>9OjK(QMZyQ=`_9_BchOYkz z&e--G+E%UgIi)Vy6Mo3V^p(KnTL=aF`szAFCa1!BNa~1wQ(=WcJJ=g_wo7w!;IoaO zFM*Mkz`VPSMVv2|b^7O>9NkY>fr!Shli*r9fPzm?t8m;mI=j9JRs?LgfZODagJ{=6 zZOt$gUYRg&!5Z9_r*TeUpRMMytuVD9L^CWIwj1L%=ASWpr^TVy*sblfFO)BSDd~3 zSArul0PE5#qFhUtb>0UuIF9X+j@yn86m=PM^O;f|vY9*k37~>-7T?Ro@1;BLzMIj* zzXB+~MA4zU?*#irdc1&4p2uWfkNws_IDSinffqTz+y|ftyYky3_-z122I^#%#~x|Z z2>l#jH6q@BEx}vnMf9mV+$rTpV1ok=Ln9gy8|xoUh30>)v=wt)vCjFaFF`fGHt+Iosd$v{u=OZ= z-}~WB0R@I<{a&;)sq#5@?B#&!+6U?$`D1S-8h`Q~Hu=emus4!J`G^)_j2o$ByZc2& zSA<1H<3nw$ig5>?C_~)?Lrj*TxkY9v{y)fj>#(?zt#6b}CN6~FKEa*f4w(?78)!m9 z;}TpOca0FNk>J+AK+}+>ad#3lH16(h3GN}^&diyFbKg1NeZTiU_x^M9JfzpIuByFi zckNYGOMdG^`#w2+$*I;bf0=lCw+sLIcx{b0fyH3-iqNB%A@gH#!em@RqH_2cE+=d@ zRTA5m%;M0rt7s~5`ok;>S$2Pw85$CEWL0;qhjgSUOoX*YjHSG%HTlv(t|jCGWT0Fc zzb{i}JwMnZk@9Y zIRSDdF6(prb@PaDwu}%BPwK9`axtenvFm-yww}jIB5lgH4)fa%Ns;598$GHksT5Nb zK*kltEZsWbPdLSlN6OMk1Wf=;s z`3xl5CF=huu<#q%h5l7Yv$ahi5A}a2N~B zZrm@Q?Try*utg6HSQ|u5Hw`}3qV8^U!HjIasv%}(h|h30CGMVKCk!0B zy1C~eMQ-F9C(D;?4rTp-N9OdOem(pFp9pk(5!dR)b@sC^>Agp%8V<{IqsdNNJ$DU` zk^5rG4+gVqd`oej;6Q{@D9gt*N^wo6^`pYtgXClz3~g#HpwG>47}tVQ{6+Nz|jx zCI<(Q&15=NI)aCklcWbnfFrZz5=56c`a1?tevf;Mvwi-Zawsh~e;&whR7FauVAfqN z-x;cLEwfy=BhyTeiNHaoM6g=EK`Uf_9${L&Mqb^iK}rCL2rEsR;Y97&Iwa2n|{=lII^@QV;$dL%xvtk4% z2?9e_Ze|L*uFc=xsU@#N$eRG@cYZZmf^y{S)43P%a0W4$hJ{ILK_-_<{itgP7ih=O6Si}%bG0#u`?#i=4C9r5XRdVQ#Gun6wK!$ zyO;f1&6KR&_)+FS|Bi>Txi8#(M|}H#$MmJ+vcMrjgfTkBq+Pq;j>S&LZ*J|l^`)X6oj>i}#ik0%UPg*IQ;&kf?rC4@cdK1Fr6HTz3 z)ICzARvcUO)bP1jc>yX(oxPQYW2)+eHW9&vwp>fgt>pL;o!~~JqBu~8N@4=F*Vlq2 z`ZyrAaW@qa80cgMt>%$rk~Fw5z}an03fxNz&z8Fr3Pgr+aM9FYApo|%%3IJtU!5Uq zrDSCt>94^-pk&MG&Js`54fa80&Tn|!OPq~-v1XDwKo4?%Ui0x?v=N?PN}XJj?< z5Hb6dIdZ3j+ZKuu=^=ay13ZfkGeT8&G~2Bn7`wpEMoX(HtEdVzmaY}QGhXs+U@Zwj zkMBQr;Z81R6)i6-9(Q_M{Z;1co=Rw^Vp~)zUyNc~JP^EueZaHZuzR6`JMdNI_}UUY3yXJd~*vSsrubIqHyuHC(4)mI>IoOs{A3ItG)!C`;+7K!&tUuZ=67l)D ztJElR9d0m@=uiKoRfqL|6X*AJUlif`7(y^cGwl3oJhzW6JrA+?szs$;@s7Lq*Gb*?HzOVK2pt@+wcM(#!n=Z-?kR$od}f;|?9S_k9Qq*OX%6aN z1FUI1$va}|W2qFpp}eit-b%j?tZ>Di^mIT{xd&RI)16g`YzmqE>bi>yXX# zg!r+HGs?G_sEOXsc$O1c!IP2IfgvA-2dpQVEXxn7a%GxZ+1Ow*HdJBq)$c(8%p}gi zxK1_{bBv8zNx7C@yHY|4uj(zuQ)fg%G~?qg-Yh*n;QV^)ac80n{V%2ioK>BC7*bV% z0j|XNam*wx>}l^VJ3h{HtNF@Zl4=`L*;)HQY`IXWQSqOyj|Rg3={E<;uhhJ1k;Z>B zPL!3o6oe*|L1$Pw#MJ}f3(gxk#5*qR151x%R(Hz?XVD}`NpdZ(&Dq2_rs^hf-aL)6 z$&zZVY27KoIeRfmCNxD2pG^-fTfP7_GwVP}l&!Lkq$GO=eOcis$dF}rZ3yd+!a0WL zJdf3fikN1=^5^kl!4p^)@?7 z_Velf4#jW(n_=KxcF^pGD=+Sxb8nlYemZUbUG_ru#*J5b#YM3@WZeqH%3ovIJqz;B z`R7_vZd0a5?E~@VkT%0qqN&LDu{azL;{l> zh7yx-wZ2j%TgC;OUnL|Y2Nb-wb}&dQTaV6GjXB*MDP@`B!oJb79%=ki)`0@S1u{{` zYJap%afOETTEp+yy53MB1X(&Uv3m_8Tvyd@P9#CQzsbmAe?zSm zyiZT@VyYqpC+FxqC}Tq=j_)*MRbcINU0eUfiPx=mH8f?*Ggvg2cQ zPGQa|?$j3sn63O+)(>~8Yo$tEn1ef5!jjx|VYUhHk;d6lw}KKvmXsnu$#NHhgcleO zrs4ToDbCQ3LrsnDfux@Cs-fx5NKa0;F4R%vLU%y(c&s3V%VkZ~e~HbOB=+P$c~0RQ zo@kgJweEg#t7Fyf?pKYmi-B2pTQLO#0EMEJ$xZjmc0#_65q8_D`|zsEPUR*whZ0*Q z>~_eSNcq<@CctH+@R+!iIYf<-^eK)|??BEET58pOde-yW{MU_`b#uOON#d36X=*BA z2&J;Jj=q@Ej+7a*&4Q{5pMa3B#ufE>!HfBOAoVXiS<)%I$9BQFf83LcT04z+FI+&%3@X! z9&8iYd7u1MoF>%$Gc6as&f8W&SuI21=HpJM;MyD!ca2s*63(z$c~JB1?L%Ie6iK5f`98l@j_$HQFi z761cqEwH%xcGJvIQrAe=1m-HUdBUzqxI6~b5r*Ni( zp&%(-6MvvZofqQRKukbnFg8#_DBS!cGq+P>{J}@9nePzbv~mFw~#2x1e%SPt`Ee(xwx7=vT_~x!S3i z50^17+1c&HmvSr@&PO(M?6~w`Y?6E~TU?(aiyB-zySOf)8W7x4KzVd>On-l&7bUV_ zt)8tcK_>e=55`QPtl^qpP1vA1MAem2&RBAoMNb}(uEdsO3HAOhxf(n?+kaGj+XkMe zVcMM&ChGED9V}p}rVa8tggaY*Od9MR>?lS0ooJ+;)}GUrx$Cjc@eJ>Tu?{wrEb&m9 z@9gYsP@UBI4vrne(W+(;tGAZJ`9q3IH^=!xLQ^#?h4OXuKM#8gQ=Kca!o|5JP#l6J zf$3elglJ`UkVtuI?V*o`ThXU+9p7^HcL5|}985HCWz=Iu9U%R>Ulbe~co*_;Thuig zATKe7l(?LIs(Oi3gHQbAxF-lt zOwxMLmE)j$3ja@k?5Z(*YB1$DyxKm8l;MHq{5uyMVUjJWRTJsQ3pe(Ad0gcWny1rR zD+{vTQP2cI5BY%9H4+cLCz|2TU3w|n+Xh805R*^U*vs}cHGRWlK_4p|qb_9<1=0}N0;rDf{|JpIO=7u`T(m)ki6;jfec;bhq z9)4QFu&dJe7E`q_7Ars;t3u45iDWbbnFt?!%19!QUg2acNC<7=dz5&a)4NFkIBo-3 z3YW=4HJIiRCY{DuEmaL~&zp`aO7%B;^TZD*>yfQRjbj~baJ5!#cDj+=4@ClY-mQ2p zp>$L$B5|N$qni7ZX zq2LY_e15hnF}?PHUe!ggDPq#4!7#2UuVRU~I@wJ8%MGmyc+waFkK*UVU@!Nfs1+`3 zyHk=q@NklIkDdG__su!$M|~b?#DfZ`3R0rG%}u!0;Eua%RHbPm`Dq{%r9#^{Ta`Ff zGa|i*hVVqC{Wz!(6OkTSf)!)zchp-GGeg5a31=g169g~)L#}YgL0$j=_aRrPqQG5D zykc{rvs0{zVzn6qP&hzmI>3{q1$>)mf@1;$ts{Y61~?MQ5=<0}&G zA8GSpS_2~ZP2(m~@{3`4z(A96k$?kP&LBONBpZ<$u`o1tYOQ-~w@&xYoDW_LY;pUH z6t0$1U|PE7_YF^EWNK2fr{!~fSJT!lmhLPuatba_nU3hj)fs`4#F7wqiLQ^8Y*twV zsfB1&4Vqx(b5fDR0|Cd-a$_1P=C&S@;0c2H-I}J7_bB+BPjRp$JjJk@nY^~9i7=+ zm$?aIclolRDrx)$q)nME+!aR*ejnN_t1&4@?VS>k2~>1}s`&cCx-#x+n22mB z>i|kLSU86VE*>{uiKODBaCxNek^_10w(c2Ga?K73Q#JF&TW)^S?FgI|aN8mKZ41~r z9i}a@IZ;8Al^D8gBurvwOVN+ zS7>iJt=Rz9Ts|z7gl=TG^`g&V?KqhpD>(BJBt?#uVG!SL zDp6jrOC9kU7kEV8`uzX&84{@15VP`fXx-LW;OpFki@Q z>$YyV&<$;O&;31C6U;5)c0IwAB+qQ)=RaA;R~aoC5p$NJdU26-ovWRuGI`*5gm@o7 z!v47^A&TYlnf5OPT739l?!Cn0HT;Gb0|kJpyXXEJYmDCHLDnSp?E8|EmKxEkb7i7P zaPi_g-&tq3xZG4n1^&^yYU@Nqe)P4`sy)~G@MRxSc@IxTAqF^SWF-Pc2CO8`T+bt) zj*zm+XO`vPj&^uDa_w1GMt%!PQ^xs29^S4HEu5 zJzODqzxVo3Tc9?cx#TL^1;Bp1{XvMI3#xm83P^%S8Gd z%}pvCMH}42!$wN+N{Mla&<)NH&B+|eJW9`sv-HRoFwSP$0nfC^2Dm~Mo_|Vo?zE`p z;gtR^!|7I6{vtBg65`S$N&gh{aft-(6Pe8j)Wh7MVwOacPH?^!kzz4#XX7dWj84yi zYmb)!aPBx0^$!{OKZS5*1lu~kUh|K1A>vGoq3h!$%Qysc#&$c(NNLcLpNP5t3=qN2 zF|B_`)}Xv(GIHBrnKIw;Hn8$KKBuuZhflg*y68Nhb6O*CI zGNV8YQM#?)6FuGk3f~-e$?48>x2Y~OXJ#G56c-l9EFQosAY1iu_IT7)UnKjSa~cW8 z20g%zXx8Url~$@9ES2r7vPo8JWvJQi-+oT^|0Bxf=!X%0FIn|O-0#jg`RacyBcm$( zw{EYZf1IC?13&4M(z?kD+FS_=$>nTdW5%J|d!=RNN;0WB@eVAfKV9J-By&l)FLQBD zNyvq)N{F57HZZ)-OT2rA|Km0=GQP+>-*wej_~TdpyLwR)4no;G`Rr?%H;{N&qVdl& z;^(-B-R{%Sp2%=F8svWdH&%aMNIlu4)rPm9|M`}tMf8f@8BTWeyGjly4mtfC^_(S+ zjqzwD_VMr@-ekC?_~06y3d6&f@18Q=zQItLRAxYOT*5?OSF$27(Rm(y`-8(K2V55|MtL{(Gb=y;)y3R`+#|l<*(}EhC?C!J0 zdhTj*s(VbEdbx+S67tw|JK)=c<%G=Oxm>-`{szpdNxUnf5a$I_Ry82l1>VkiS5c8e zsq)PAF(xP-QUeJE9QKYUH~Ip!)#eLKiDG*M%3M=BTIVerbF-t80S{kd>vb25-Te-S z;Tk2`L)=KMHA|9wLWRnJrPYgU#7A5O-HtO%XMziE>j7`5Qzj4G@+KC7#MJ3#uUGET z=nF8Cj2|c?jnRBGlGn8(31?5I#9c{TOrOSjI$`cHlC=wlC6qC`d^kR&sRIk3)MJor zGE*R$aIv9MOO{qP|56Rd2wI$CrN^%3NQ6)WiMT$g4?2~d^i8;q)mr<^tf_12Np~id zpbL#s*+qX=o+SFi(x|zM(qZMmM5g8N+Z_IgRMqKw7_!PXauLBVGn~GJj`>FmrZO!3 znK|F^ngPtycWV^n&x%AxJ0*}vV{)(~m`4L%e{;{}C?|$(Je9&R+soWhes_rHz$&LZ zcZGG(t=^Velp-=ToBiq50d-M-zO5>TuYKPqqU=%WkQ^l1-w)D@NdrMOuQ6XFhpbTtmz@pa|3na;bW;$vD^Tfkg9 zQPtMSWxJ>4TX5^I?HY&VEB0qoh^%p}Z0LfujErf~%F!DOBc4icxON#MfOI{dj4Pcr zr)F&+PLVITG4XvB}bx!0@-v8Cz#4a zKh8GViDV*SOyph7<0u%?#hpkJ2rminPd-U>k15urNtaMm4k@8qZO+u47=fWVQ9A7$EPByJLP8CMJOHG*C=TsbYM#>G+Wyq zH&o!lGNWYN-#$uK?e0ldDMw0mpVvb~ToJ__$99r|RCTaZf-Z{^yVldVZ$+!u_vRtu zXj0^1c|bDpF9MZQWjPhcx2ST&#BRZcbBfAH?)z)7!+M9>YgigZ%IYf1DS8;mU|+`=eC4?u@N9!n0@z%B<%LD}&UtgOahavY>&QdM!OpZ;dB5M(k}SeT^zj zbK3)0Xs9&|qaSKjC1RCP!W0Fb6qq;MvXLBUgJe;RD)O_kl}#wM#^$199W2Xpt2<+9 z@GX0rAmxIo_yn?1C;@fC7&BC+uCD6vu)6D9a}rrz+Fc0yJ!J`TVsFtuHiW0OqM_Xj zzV}sTs}fR8*cGnG3Ouf?z0af>DhdP`pMbrQb4;J}^M_JWE0%eU?TO4o$H{74nKZqn z;A+`-V@^Qb8a2h$>L6^*UOJ>6-+V4T5FHZE1alx-AHqN$KKD2DVoYS3E=W#BmNOH+ z8GqbtxNd|BaA+ASkjbOSpTu2Jtd)d~{R7H6NoEx;5{{;nfEqtXhgUq)=~4kSz#KvtJ8L?|`NQhnBYj zce^TE#z9_82Rxf$Z%bK?a@5*va&;eXHw{O}+K9)fsx6sKs4oCIh9zb5t*$IAWN-ys zYKiMw?jem_8*sJ+e26&&MPck69Mrda>yn4n7US=ihaQhCot2$kbjNj~)q%K)a#_-Q zAuY@CHnPs?+8GAcaSxRhoX}opE%smY!do>ObEzzh*yko4D|Hy%YjSHh1oCX-ET5xZ zHqTiA>7kphg}fbtsPn~`=M6@Oz{M=BoycAD`$CH<*($XM@-*&1c-#}&MWdi_376t( z@aY&a(O6M9rP+eRK!^*8HW8&p=|oM`21vpqKLnoS5O1}>+9E5QqqRhaW#peUwWHKH z>O5-+ZPbXR5EG~$*203cuxiOQ`nxI-wZ;?pQ6D!u0mG&x_ziMI8i@pAZP0CVSAU>l z{tzqQiAz3;%*gSy_5~oEu}AKQ-{Oz54@)oqYKQFaN9f3o-Ie>dK5YHg%c(}q9x zQ@ToO5}~WKc5WSVYDw-z;<;iQxDZM^@T6soeuU7|k7B+)>4^tmdVTy2569~J@T&n_=hSNHFK1P(rFA6or95>Jl5UM=*otYF^eNt-tN?#VeKJrnR4bmP?* zJciQWA`M^QX}$w+8;D++ybT$`LPGh5F%%AU1 z7=LWUW>+1VBEK4To+lX^D_miXQ^}1w);hJm4uGrx zNMNbw?m091zS7?;7rZ`WlFaBgH(%Q>`R0XB@n!^~#UnZhzh6?UVpZ_Q1lOnIT8%`S zOJCt_o!)zO*ikIWO}s4k$0)5$4gLI%zR5hEnD38Tkw2RXzq~*5vzF(NrjXyR{x@y_ z9vl;sL{eqf);yAN@Q&l|q%t<3J&($+JME>e?;n#K7nEzBKmV}B8NG!v@rH1B(mcMh zd8S};W-&%fh}gSYTCQ9k7P%wb@Ywysjgp_$?*C}}aRHC^N!(VBJ0Oh9N5=*W$!fo1 zgJY~KM?UTLu&E(qQ&V>JGa`UK*`RDuF#d4hb$G zde09Lx*<&oQ)~Vr`zboqv4u@Ip_M&d<~fKf)8oSpyPrKv{J0(SgDVq1dye>VyY^Yc7X{z zB{?jPB&GUGP>8`_`a-b>cG=m2=Xn))9n8BNd6 zxhVEyg5C(l^J0E8rhdjU2F$1%q|5gdeM$1KQU^5}8OPPrWMb4p+)6VxM;ap@d)55} z*!fNPCEg`1qWum}6F5n;x(uUQAB6^~xviGOc%F1G|A^X8b+Ynfj+pa%!=a?qslC8M z=tNRLUo80mD@2abx*1={;fsn; zM;^IKE!yv8^WPt#eFmU@Ih8k^J6wD@5!DU!X#L+$#KrN99*@0g3-7rl|8J zgHA41;DN^rUuSlmtNvyL^@BI3CtD8tKuoNdjZ_=$=Wlq?=%0*G{mtA!(hci~3`xJL z3BwBjg5K>sh3f|+4W$^HiZ^3gI|)O?0deYuk#4$WdIsA`*1l=m`tECRgGDjg$*5D$ zY`BD?>&hX0{KBvlsSmY{pq1Z1I3Ql_)O?x$iFM(>o@b@&{~w-b>P%4>XIu@VZ8AEv z6_+u7tXLHHkVk2^x7aSm^_aY4Gjb!iPAbg7K#88)s7H6J_uS#lsRgB8b zG(Smh!+6bac$!~FYRreF&Wz7W?SE{h2C`o@HD;PpV_#!fN(bq0kHkak`0Gh*$$D-z zr42K$E~O&p<^)a@m3#5XUR>T}{Y^{#ZiD|*eWl!BV<~*dG>P!KYX{gd4~(|smB@2v zuU~^j<4Rh}^|yMv?}7_d#0#EJFs+&v7KIJ1)5m&$f=4^^jwX{;X$*?U^$NCEliPr0 zb9V+=Mc8677#Y26MyD?L)O-)I+|30x)z>{O{4)Z5?*|e=-H+DhA{xQD7&!tkj4s&$ zIwIWyWY-Po&AT~A6vMimyyC;^M5WoS5@%6c5VnvGVfJ=LkyqR;V`j+?bu*L z>d_~kiiWyigKxU}H3QUOVt$F%Rdm;0=El|9KIItB_&{&#$WVRf{v)EoB0)yFkcs!N zw=@~9ad7Bm;Gy3lN*@ls&&%aZH-BF;dtK}fY1!M#R|*toawpfBPg#Al;1p*d9rJm= zjQI5z@smWFC6xdGJuCelpndD}`whOGc_chEITf_7j517|M~zm}OC_ z&0F#qup08+(~&fp`2}bF$A|A)7Y+r{ByREqKr@rr@;=UW!1H0^TM#o=j?iLjGFC*K zI@JIsn4cCD>EGi|h?EmT>oG2H;**q5v&Y1oP1G1bULOb!GodXY+ALplbwI~}Kc8%= zL{g$DeTT|4Mf}CXQ1}3e*+=*}CRfdr)7e3OMN~^#1&io!Rs57`zkTL*4~hznSb}eRPf*(3$t>e7smXal_tu|2IccH_{{tE0V9dyha zv{*|Xnq&c_SrwZse+NB378oD}M`-8W;AqF-D6<#e_j}J!9G!xXdyYK~{2R1RHUL=o zlhARgaGsfb%qjkzzZ9#!-eZ0j#)1(Gp>7*Fz7?lVpG%H`RO|(Qv~QN=9Q`w6Z?f%# zQVV!9i|-!`EMV*F=>zPfDU~28TF)JuRY9!gr8?mD$_b29nwJJSPMr3JaN=To5Z1rR zFpkDH)x8Rc@7WVD@6W9y6ZEIQ3%B^lNX%?fg&1h=cTT@6Lkjy?o2Sebp(8;(bS_(G z6_uy$!fZ2O3u$R156zD!!#u}xw)yK75dZ)w+u6Kk@+hy@OPw$(dma2CaCpDHWvdG- zZEkaFo5fac6A7vr=Td%_Je$U|Q4?)vFv)kERR8|u`&*kG-Wx+$7NDq-SL@M#f!>+Sixkq^sM&f7gyS&o37c9&|qjU_QL ze!z7mPk+wuD*&S_m(Vm4dkd`A-#vulazDr~8Q5yjt^+*R&c5M6A_QLNLEid8^Ms%s zbzm)D{yVpnRqRNxd{Z^C%Z8jQv zi^BvePw-Yp|NL351_oWIXl$o#NW}GQn$}jHU#BDw_y|$sAwp>*tJv~)qLd^a+1}l$ zj94P}yLC}Q{{2T75P8T;CkRvxfryf%B7#|*ArW9vhNqNdA-&KA?iO5R;DVxn&` zjz@5knZ@YDzx&p$Flw3VxprJITFhfq7gxrQ3Y6T6p{2H!f_d1Z9`QLos`_v-ZxJ8z z?S!`qHy|+%WrYJy(NS4x5>fS7RBmtcQ|FDrw;G<2(NMR#sm?*`KD7mkV>hUZ8-%aJ zHyhQk_*fmoHk1wZ&2e<}6?6usJi68>OAU{j@~tO7nzrIc);V^l0^CUwooy{Oq`KvS)8W9&Q)UiULfE~N1g5;E6zz(wYWB@UK^vH z&+1@}+{Gg#ONbyZAxl_cmobadP{>Qn207Z7VzTq5j+2(qf^%dw+CoKU46({?_22N! zlKpl9=+_wBrKi3$jAhN78wQ<%h;^S_4t^J39=uSd1t#%zPl+E9@jnZ1TmlvUKB`N5 z9sWx+oZC$*a06d9q6z~9X>^eC<2eA@il6_09CZI^BQpJG4ak)hJUo*h&O=Rsffp(Y z+wmJ>FMsxUnZmEPNz;b6oqu0!X|GB)04DFkuR&+Dt)Y`da}jk_Tfu%>$oaWCk=&GL zV7bt^sb+;cYyw=1nu1C>O$5FJTTo9t*1i$fFD)wbrhL@RTKmo9g_^-@u8c# z0zd@EOIaD|(}b$oqJ^5fUgb@Yxp(c%c2O@NoL6R8_tC0|Q zn?7N9oc*|l_$yI^s$f+YJp1BHi=Pbl;D<9XVB5|3bUv_e69l;9=mASE7lKLUVJNN` z@adrdR@#6>0uvS9Pn~6VgNnjS%8PSh(IsPdO@DA#5tt=YC+A(3NkB3Te|Tc|LQxCX%al$9LjvR83P zzh$b_TkYWu4QgI%azNIZQlkQ}8quL=pRHFDi+709q5MlwHpd~R<5V7UVvxSX-WPZ4 z4=bY22hF*yl4cW~d)VKO6I%?%#G;dj43ORBWv0-L!HOJDWHv-6bZ(81)9F>fcon0{ zAT-K$C+wKA!)h+MY-yVe$wU#F-me(brLBo0hDT-E0%?#9sg{Y0-ukWaH{A0r*_*ze z$?^?v4ZqB42x$nR)S+bsLvXC3dF8&Z8~s>O$JPgFiEfuLZyMHSs(a?oSIRH;Xy5eY z4Nf!VmtP;Yo^+AS@L~Nz`ckmr)4B)q16q`~oLztFj{8;X^YH8_iA!Grnu6?FeLTPk zlpeDf0rqN{y;ra+nhN@^D)>>2{%70o`imd6ST?D+Z`?l=h-T?(s^1nzh*~yjFmF-g0%kL-F(F`Ase6l)W z_)pcZPQy7P%6KFq+@#G74{b&Bdp{hmzzx#_lQGf~CUdE*`XX^T=PE08KgRW^qU8V6 z;s3XuFiAmGP4~v2wVU7oL|MNNJ8;bS^GSeyyZQ53TzYU(c$XgC` z&Cr(0v5-M zsE%@B7?7g^3?`Nzl*#}AhmCcOJ`Ll@FTU)#B}bDSVQY1jTEr(@s3eT%cC zH2m`-rzbZ^k(b(CSr_|93xKTtKRRH%qp`=kt|+w|^8K7JDeUgIMAUH0x1{n?kC(~Q z*71X^O^;(r>9Y<=h>y7q_K@jcmrS}zP061|Q*IUAqMCa5(VEcumCnOHYX%x1YM@sM zq1}vj1QhONx!@=ELWyN;RB-e3vYM@qUnUxIT=|c}y5?D1m`y2HPrK@-Vp1tGO*{7o z>2rqP+UT&9g|JD>yd+xwt>zh#+Uwyf#J`ojdGb3qltW%do}=&Hm0y|>7An6qqyPAY zLz=_?oy-+MhTBPJAU{&0h72IdZ-+p6)CCu?N=XgkB)dq`t|!1=ti+2uIUA@pHh|?3@ww>RisndM)}Lq=^>A$DJ(LfE=Yq9#5PE`xt?kyO zff$)+@h}NYkiV%_iDSIjaPuiMB8EuMQfD{HdC5!Ob49oX&B`$I>kJ{Cc}ScP0W&FE zUgfs;YWR5WO5#w;sT27o+Don+qfYe464W77L(E( z7Yy&?#M_6`n6WKeNkkgk>Nzvgy>kmZLq$$?AZ^w);!aDt)gu3=K=vW_y?7Y{6Na~a z?g;~?eZiV~q%y=EsE3nW2oweHv*xn9!SRZ%2>OSEKztY3ydHpk62%BC*{jV>ihq8C z0(@*aLV%UCv>N#M)QP3z2(^rpWzBj9fMDd5qLcVyx8QnRYFcConl6X>QUnqxfBzgk z(L%&P9__D}0>CB(<<3T~edU+3q{Y8fyjJ&$I6JLnTcYgC!uEHBwHczzQ|oV9)T;qP z>@Z}kPJmRWsEvxMu0}JZ)pi^9jwXa?+L(ey;xuc&I{+NSiZGOJSa`^H$(ha3ziKpc zs9fs{r{@i|>|3I8tkFB_Q0^GCQ5)sQEU>*`j8L{e&TC4ry6QMdcv6O~ zhTW{szW^G7Nzq#K(DRi}UkxA~fQ#F)UxcDbR$}*l=OSr%Aabn8bzRe4nLHwvysL~1 zioyvWbkwUK<#+auo~JTXQ`tUJNq^&ErRL99CAb*_8=4qe9}b%SutnBC=5Apqn0sim zw!Ab4=7X`-c4eW7&C#)$L%9$k+ShFhu65)_RieVxg?S1D!l2x~`Y4bAj5$YHg&v|q zA|M9V6j!qvXc3KznTw7NeF*Q+_^7w$OSMb|xq5Hhg-7_V?hXNpk)jAA7j1RUQ0AsF zkhtBuInbgqx-TdI)(nY#bP-9eo`Ix*f<@B3Bt#0}Dm~-JlQO#W*{be5l(G+_E^gtl zVb!LoxC{2<=8(3UY?v8E|+C?M;Pch zm1vM&Se6xIs;;1e#rjGEmT2wKdx#+Pn^uh`BP*jv+_UB^Lf6Qdb2hA>CUaYKZRH5p zp@Gy*I53P2)O8vcudqVc^HuVl99>*@ky1q-%!_dpTCp!#~Q$$;#%GH zrJOnaI}dW^itdA8NM2D7*iwq#c!wTkZ&qhsVCq%kSAY*Ty}CX2b~l$wD9Xi>(akLL z0JJUpnbzXPp=aaVBiK9(Gi)Re!pS}ND7p?>;;Ox2T_`})*)&gAcc-O;P&Fn@2!iGU zE47aaA9b%^Fb^u}#RoVS-MJC&vP0%xHTVV{#|s*(1b;rkfOnqJSTQkD@ysRleH0mIDL1$ z7Zc&orkb5Hkity@(f!UR)oZi9wDXrS4`8p@v! zur=^iTTed}C>*_=a4y;2q(E>}6)TD(4SZjg44=`tkk&5mZW6y|BYTIOZTFA)oJKWA zi>a85&z}pjFcR*R$x;@E7N^9iS+J+D$zk4r+xfsuse=OE%k!b~nWgxNOGT-Sd2%UVCn(jcZP=pi2$Iz%aA*4*d2G zaZ|JD@{YKp;iC$k#V3Ei`~UvA@iVQ(ieUDx`vvJSU*CT%do1$e-`d?!0Q|@vjb1Fq z4-AQ9U%C*p^r||S()8r_=~527(5(97Dx&*xOCaTdgj0p|PAmS}A4dPIQ6{Tl@SL|( zUeMJTkjDpryqNy>Or#S3dkwwZ<0ab1+J^nlwUX=`-WQG&)`L3ihSKQKHqSS_X)WHx zVXA5QWZkkdrZyo{_=}EF#FeKif=nOOKav!&0!OdktqC$l5>TD+31w=A#r!CBi_xi8 z6tt8OvL?phv{M|WYYLL75fQV3+kn{IN6Yu!!gJ~S-+ghkX)l5)+##_Dc+J*F5!Iyq z8+#{*(n|s(4(*Sz#6=_=czHoZMq~sp2vjW~YQfpTKZLbh)rC?*uX zPJ~>9_+gS2hk-m16~M{w8=mUbA-Yc)91%fh3K`%GRl5A(s+$Drip6XQ1~Ztm9+3uD zXlE`5qV0W#%sj}7L?-AN>fs;Th@y zvklpSTlDi{KV5v!Y}>x!dA<0nT<2%`SD`}RFH(qEFY}qUSpXI0i{#@=ztO*u<{#&C zX4k7@JjA=Sa$*)#1m>eGKG<?1yw?i3UJ0m$;HgixyHB?8TRRK*i0JGf_4HsN4i>Cae{DCR< zX&Fl^%u>zYbX_;2-WSJ)fIr9q(1hg2)gM8Zz@ z40g%%Nh)l*{aJBndBLRDjF7PvY_GXA94gR7zUdZgFSSiHH{X#$51pC20x zUQZB`z{hT;Z#TU6q}3Rcp7VQ7@nUjcvYv6PqP6N{q zd}1U?53XeWPrFLt#GVHlpG6rct2O zgJbTN(sb>|(NoQPFB}B^Mw$9A&i`h6aemo1?*JYu!>dO6LDA1&?KRSk^yq;jkZ|4uEv;VQoak@pVZ(kh*{vM+BwNAxGL^@|4#Vhki#h=TMst;k zbmG7wMeWUe8m(2;c(CpfuO>hCnP$x+?5hZ5*=exV)UU#O85!k+n#or3MDqOlE!w}7 zKgt*;`K5MIv+R}16Rix6Yasb#!WZmDclI6-sKerS-l?dE>1AJRwS2<^&H-H|8UR{b zje}or&%xseDEN0es3iRshw=#dgWuxV5}ta{s79dwiZe7&1yd0 z!YJs?Vm{8ND$XH5UeJgAiy5T904l9J4BCt;&PM8ha0B+oap~^y!GC@_>k-RDewTUu zy*V7A9SU@x{6PV6GLdTEC720}MAlTD@d21OZ!6;B@S~qH{y^a!XBnzre#IMJo-)qO8YH6TQ@Zc&_SFQe!0(!iUlnpN#x`P5-7u zHFK$TA-rgJ?tRbV9^BVl)e()(k>9(nJGPqHGA0J6Led!Z%c$5tF2`7AyHWEh@D1%- z!WHw;G}?T%9yF7-hyCN$^TM;uYX-?;)XWM5vH@J0EsPYwTJ5J*X4?5F+?Y4kpbm?X z&WY08f?lg%7TzlL>_w}DDOI~T5Un2Odvj9cK@nZd>=!k@(sWHY*iPR!Joy5vknODg zn4uZ(snpaXkx##FRx5~!iU~|)Yu5x=)DMOXd!&)&vj<1qU~ZqCh|NCdcrh`%o7)hJ z%;>dL65;5p&pE6Te5Lu!)N)M%EFfVhAuhaeqQ zZgh`&PLv(mE$93+$z@|8mRR;Jt7>*KUl&JL19fDsqVux3GZ2GrVz}UlcmMOtzn|Uz zA)>z{j*$>bx~f ziPZ|hx7FY0EUT|p5V}>cfKx~&pvf3qW}QL|wECFa*uPsvlD6jt>(o8AV{=Fn=61~b zK)nWwfn4wBXucP#t(ul<;k4yetXhp<>cT3=_yM~TQO=r5V|T15t~3V(s?3T4e`U4C z=!#q5ZXcZ7?u*?6i3xmR8kn~-Gbc_?P(a<4vDKawoT+F_5q=A3KF^Qf-HXC-7PLp$IU`B1A!hj5S*i|u?ep8>;i_xjh!9V;bb z9z>{!D#e12Y?_y(O?OqGjwe?1avR!X7ipzJ;b!w?`V7Fmexp%Er4CLrUwQz2|6vvp z#)L6>8Ir!9BBI(cuvk}*8R%BxN8h&ShP`BlVJ+J6aaYshwB4%UJ#9wUR%G}?p)Qu? z);+c8D1s4>47m_869}(wy#0t4h&ng@ImuI4yWzi|6287F`&hXX`=Lr+BWS!R#4!jV5Do zzeDGI3LB#jsn{OM7%ZwH2Tx7oKzgdlj~fbh^(jtLJieXd-aNeeiaBhekL9i5Oqd~lu0nz)0GK|=IlUj;5xx8Fi_!b`;L@y)9gmfTc7kK{ zrsLk;iA+ogf7)d=Ocsp7M*e}Fo?eDa{Jlc?2caDA!Psjmgsz1s@3DRRnLc^eM3I?$ zZ?w|b7qcgJs-5infWi%VU47XI%yjUtM6S-?pM6i&)})H@+{1C=ykd@XqB5DPzqO1a;)f1sc9|2{9pI}0l0yf0H5do1P@U1MPliLdl56=+N{PO7r z7T9$;Soak)f8SXD;q}sRS#-Xz$z}s!`FWVXQ!CuK;M+VIUVrZP@j`3|+TH8@U1MuR zb1NI0i}i1=F%Qm`F>ZTVs08tj6dQo@jfo0FK5SkY%fFe?$o9HuQRu)WJVCP{FERO^ znSS~t-g80@&m(dFefMy~FH3Qgn+oU<=)Xr^cyKOk>d&!DsZSEZ*J!71pft?p+U4C@D=5 zbp_R%BC~)ZIqUm!d2-JYw*1YNVfl+YYs`EGd+{LW6jwP=L85n&n_ z#BD67sLmAu=&7!Jrj|$$Q#);}CGiguL!>dlF-;C)=EKPa04$1t&CL}c7ZHmhk8qX& z$gDZf^8DVdO9K?w0d;yc>ZU=d%S{i8e@wG9HK3I1gysb^Wn+v1{U@hx3ek!%&MxK$ zV{`$v77PD)%Ez2%XvkVulf)ws)y2<~hvTW8O@SfY zsu>~+8lgK=2bLo>qJng#NQ4j?rbX^rRj>7Vnpasl1?9Zb!RKcaH&kuA$Xk8ld^{Rl ze&Zj{>VJ5c{?m?A2JieSd^6F%`Jy2f0*g!FcIl@aZs^c1gw>#P`iqN!GQm|PS>yBB z)zIKKL|Wg!dwSRKo`TSd{+rG6H`n{#{pFhYP&|+^_rU}JWGIt; zE8UniyEc}aR+szqR*9C8b|HE39zFdnD5jEz_8ZaVy;6_&zhSm2P=hFiL4mZlN!7;v zxeVkkIjw2vs2qAtH@IHVE*6DcgozDX>Axi<1k(?_cR-Hzc<-0k^{{2YH*Y~bi zmPtJjF#LdBM#yZ5_-;vp$e*zgGN|uR^Mjc>WPfA%zuZ*xH@&GjDK1G!(bei?nXU9Y zLiQ|thFh(kyY=L!eY$ve7P)_2rYwBoW_@7v06VHLdxfx#->^}cIL|wNpMpW^9I-Z4 z0Cp@xCLxQ>HUp>j=UlgPs|&%6>s<>tqpOA?KG#Atvs79PX5Snc?CW3UvTd4TxJKt5 zV%sz(;w>SFMT|gSg?QWKGNZ>emIGIX#juDkh+2{xiBP<&uMk<*`SEynL>YvK=b&fd zXLRV-*}sksy%Kry*U_PCzx;J{=v=^GhoAm+fj=X3|GGtghA01PPtlUim5co5+M2E} zD9HTs=3+GpRr;}2*27ncCV!&5y*jNI{)ub`hR&>r(|OL>7S36-^~<)LLbf&hX*ZqH z0Iz^Z;@|z9TaUr}Hjh93{hWR{dY~^;Z*0@>^@`i4D03;5l`lQJQEVLEscn~VO5$i^ z!t7hh`Wk*|_Y!TUp%3aRP3WM? z{QRn6V5jC;5X`Om@mWD$jDZeov=8GgvuIA(7{PFt850+}`>sEh-rgdlz=hJJ1>5;? zymOq18)qPV`^GKB7MZv#MmvJ5uow9p$IRlMXX`Orlnc1NJOZdP)4(7}B4PS;7y6f# zpNCevkHy4jW*OSLFk7-7U7HM;aL?h=1v$K?D!P#0bKihSYm{{SS&>kMVs`GGSUL#V zL*CN+cdf8xuQhc_WT~hun3{h9ANh}3=_4BCf=Ue=hi5g_74B=JT8?N!PF_4N?i$zW zADjMIV+R;lQDp0yN+28{^u0-a2Ca3O+NlW;Yz8?`Dio0Z0MjLPkq}oZM3V(*asxEc zT1@RUMeLoWIkM@xOfVKg3KM`!fTW-R`vn72Fv>r4LaH7INUI1i$uJ=uGV%reZGEF7 z+J^Y4vJh=rsppPu!PBU2og)DZI^>QwZp(ToiGC+jkbg9^Y1sO!frKl05>q%XnSVA} z%&ZSUMj3p(qN!g!$&xxPExM*2sxO4RHx#9}9jHq!%k*xJCznYPP)2}Fb|aVtDbvi< z`~V}v6$l<50UXWNG<#de>E0Tr3UaMS)(*!n97_PvIf_%!x#i=RpFF-Aof~I7k-p?F z<}LxJddPgA47`OwbzAmlrpKW;laxjh8USVD^4TZx8_{i=9rw>B(WBGb+d%$*lq1nC zUnBF!Z7pAuq;$td1n-rMiWA=Ka}s=CHm+uXsBFiYc5(b|xAI5FZYooZ2?#weWDpX* zI<|w8A#utaM7U6>I|h07;|nUD4o`He_2$&nWRXawguZ8&gF+>9;Tx=jla&QE7X4k- zb>u*@iLl1*Vk^DH`mJ~d6+q>ojEnf2w3`|et*ONB)goY7ZXkr3oY01iwZ|`#JT{YC zQNy3Bl9Or6-5T|b7FT_}cYnRE6z}E@!k^e?Ew%nRL89ke-{RynvCZRn+~@5-C%hLR z+N=EYyJmk(*zF?v*W&-WE&u#!>7P<|y-u@ib1RukcKO3r_Y2RxK~YE*9&7~0q~L#pv9I)}R^YWg;VUu^*PhnVW0#5C9b zez`LTo;k;X<(Ia2r>9K4AAZrq0-Q6~KbX|lyleGc%Z#qQE`^=XQ;wF5aK_6n41Cz< zW#LYV=Bau$NVr#lEz5*gk&G~RY{I3W1~|wVhgtTpw2VYaIb?83tT!KTWr|PTG0JS? z0dK^=WT=d@f8z)*mR*jkU!&IkM#Ps&u3gEYkaz+Eb~4YwnZp7%1^*Z=~Y7-;KGeC2F~GD`AR@!O`D#nQr*q1`Ak@|V2?q;vwW%_@vvVw z9~lp^HozK(@3N0%%emVN3e|tfrTu>DM#ke%mK)B;B&|OV4@kf0GWAL%1yi7?+LJFi zEKqsmRgo)YEch#~Af_R}?$^>(`mQhdxtRd81tu83mEw105KpG12%H;$^LVyml_Kyh zgf0tW@;u1+T~uj2DW5v489c%m#@f&!7oKP*sRJK(e@QCR+FRvTt$0M`S(GA^frwQ1 zV;Z-6CZz?_UF~*N;s&9%*_wc_r|%ooMOu+~L@Q}ZM)Xury zWQSsMxNPaUtdp<;_1}oDtG^`sP2HaZ9E7s0PVei*zn|r&ZSLZym3>2WRe%WD0-NWh z;xOxq7(2kX`wAGLZ(KxRiq+FJ1V778<~MdXE|>j+)GT~~wVq&2v2q3i(hbc_)^CVT z0Y&|rpL04R>wn5(I}F-ec4eC27<3I&b_MQ%nL_LJH**Wu=Jj5Z6bFT@*j(f3!UuX^ zL3tI#8SY8cN|w_OJNR=zg-T7R+}QT%W4Nq~c!xq}I9CDo<%WE4jK02AMfS92G;W*D zzSY=r_7;>XNv?&>Ir_IHPwoxMf%Lve*Zx4RSv6FnKf@}z^UGpke_x0C_^l#AGh7R| zR>3&+U{jH;uM;&-RhmqOE(<_R4rfhbO4MEOn_=tqQI+~MTY2S*g#rZbc^L5sNJxT5 zc@SWOX zM}d2*`2~2UE^2&Wng7kPVHxg%OeNI)-zb-^6wB(6kOL7Pz$^Ts0MQh~6l=|8*nCEh zlxD6|?iq79c|OI%kLpTv@kYn}p(oD(>#twK`tEFq-5$kp)E&?!Myd6p9DP&}B>CdB zCr15Fb7!7`{L1ph_&^StxY9gwQRVU*et~beLdF6qFc@9hG8{2^1WPKS*BAz3T4mLe z4MwzJlyrgsKLMo3BL8wuhVi?2azF;yav{cIwyAJ4%LDnkc-6QrR_va(Pv#XebwSJ!?*MToG8!~9CqQaLzT zxLmQu_eLI6;l0oKTxV+d@*SpjGIis2a=>kIuaBG?_$Qc|$U#ij^usdBedR(jCxUMu zs{nDRrc(i@gX8d%{eOg~gij?8OFvRsS=#o#Zv6$o(V`>*Ov8V(&HhcpMjfb&oPB)l z_OU#n1)lPU9d()i#Bw4mGm)TW}0AFfEx(%u$P*YqFL5Ii|OQ`^A*S#1|PMjFUX|Z-9$xuey+QAq3C81 zmbYSz0`2UmlI_Hb?Jrjurihl1v+N5M9m0VfW@uRZJ_S{woiGUtaoQ@=+P+Kz^~uW- znX8R1X~9j8R;KZ6Hw|wCLG}{i&n}A`FCiV5upELU1;n{iN`m#=Vcrf@X>xs`h#>Ub z1vc|d%J)2<>Y}|?U1nzQBBkGVxeDiM73v`gI)SQoQ4lDie5#hmsS{sBmHW6X7nU^x zDIu%j9lvTqMMO0I>+g4#@1WMm(30(z|_5Z*Er1tU}ZLGLY#Sy>%s>d+&u# zgw1m(=is4ouwZSQ$-A^!FUq`HDl1DPA&Y7m{6f+e+N}gK9O?mD<*jGDbD}|F$!s)7 z5^euJt&Pk6*#d7`gci%nKrLObu9HG72FNN}DsN2BC}r=DD`$g%@(;`2Bh}78X1!35 zO1x=&mEyMeII?WDEe_1NL&Iq1ouG}oy44$bxMjFa;j=4N5t>Woxg0DdF-=VDa8`up zRfN!$%U55uN8{uuKvSzW>p?YPy-i)>Zrf_jlc6en+g~$YkEt1weEszZnb;DT#WgT< z7fA{H3XYqu+U(qBzfxJ`%Kv6c7S`CZ6Y-F}7j9Za4dyWB9xzqELIO&;N=veRw(Jep z-W?_&R?fE>OZJe%Lc& zB@W%Q`p9+A^B&>LCcV^^8Q%5-6F6J^NalEdOxKkmiB=lBuI|3{IG-yU9~{;wE>7^Z zJ*(yyW|(AVPg2H8>VY)Sp?y6ybJUxc>qaRJq8z*mAe*qF5A}aXWR8{_6br z2fmzJuBkr1cWz3Kj`R7YWS^&W`;+9DW&&3OltBc5NAE3_Ea_*jUZlCRgxY@zP zq41q}&ifr7<)twhT(=OT8MiDoI^H_1dg3YOQ6?oEF9-WOe0iCyF-oPz6N!;aX6UgI z5N$`48gq$Ka$Fs5ix<(w*^B)pgclQ4^xLZ| zBbadRps84MCDNBr&fx6Buje0@N0kJCfbAxM= zn#y&O=A|vUdiFltt*G0+Bh4pM(l8jgg1?7I|Lp1gnE3XMQ|J4dk&)Gk#I;dQEIMl( z<6IYBukifT@Jel9mWbtok5SS=okNoQu!29)ZJV86|J=X-`G;Gcwj_@m?oIq%XnJ`{C-$CZIWrUh zOBTJay(V%veUQ7Q+S#9_bYm6nuc{8BSAn!oijT)DZLf%od>@2lwcnc`{7zQ@%T}k&HdU6M)Q=OrfCXY)6^Ux;BhV&9cwggQXPrIau{=D znO}u#cSbB(%%Xb25Vpg^_pPo6x`!ZeFk8$ct}Z}Eg0iFWDZwcQ^J!XIC}GE-o-O); zZ$#k^k}AIGo*|NQfsr`B^sJlZTsbH{n~|OPb{-AuStLupomOv(!=iaRVd)#uy~A%r zu@YnU*TY2z+qK)izLSfqi4K1aYQC(0^dhh<4xn2p4pxU*DKuCin@gj;aMY!b-(`c+ zj+J9_clA_LALi3!%@>h9U;gTUTQxnJS#3*u^{xryHC1;pa&H5X@-5mh+f^OvH*Y8z znv1#Z155=Bn|05~&~d2*1tH!=LVh(VzOWvET27+}{A&v84}%2V9E=a-;)0gWk;o?j zejlf~`q#KGT+7uuJ>!o*dOzNyl14_6dkE@5462zJ228wm=_-Qqr#Ll@-HNNt31gqS zRpJB}E{>t=Lsrzsyc0YGIev3y(6V*a3m%3;8bQn)FMC{Fdqc&@HUf2}HM&RpUhrQB zqfn)k2*(mv*X`TFO(v)wdxz3u@iyVHcrOzxSD?~~M@1%&Dnq2&OyaXeSFO(4fTZhf zyGQ0E{kd_JAJ#L`CkwLumb~_YK>@eNL#mOCFB-^xV6P?!u~*tpl8@S&O@p-NVU=>lbEW;7Bs0V|gwJ<7 zr15rD&N7+29Sa+1VPBEd9@o>Oui(zBo*E5F(lVU|$dx3Tc^zS!VKF6iQ?l*a^bk!viD5Qf|dXc-%l=YKYBdz4!hXY0Dl>ZEi!_Lu6eR z!`>3DTmN84TFa0kCW4S(hGVaTNE}<;7fvmO)2gO=#0@ehjk-*S!w0>!NUnm>P_<{g zYPV(X!QS8U_~;=vxI19G(NZf|8&o4}yzh`3(iT$jWwLB#_TiftIy^V6pjJM!wD%59 z%8!oaNaxW_x%*2?2}{Bp>f1l^v_LV?(9gjjV{&d2z5$_oF>xc%-rN^BunWz&TvGd{ zSkgs_gxfrGmQuvk4hjK~iSZ`Oi&gKX3KEcWJV&0fCNtMsIj!e-$*Z$x^R00!y$!ty zyO2_hZ3Xk~^E{3L0rLY3{9RVXPJG!IO`RgS=5o#i^$$P>9GRFbk#KY!PRPgf_SvjsqAb zJ26(83#N(r8DSrf%Oz(QK>5%LiCc)sCCtK$3=YVC*|=Rs(!a~~{7({{{_Y1~hm7cLn^L~zIB+l`KH z;hf_-HC1^BAG{KC8F$)`tDRl`z&leO#oMI zn*L5M5R7$H1d+iCkbZF=)X6Jov8J%if_6;8hHIX>3))y2++Hhqmn71!kWrFVd<4_k z*Oc|LMNm#&rL3}-%E1LC$Ho@@x<7qza5SP_>Y`A~csf$xT@J*lI)bCpiief&X6jH~ zs#=XN6K)TaFD^f^Uc|`3H(X>|6`;-S8dlu+t_pE;psFMDQMLh7J0Gt2U1uJjyjVP? zv+{6Y5_&~+iSg=eH-t3MG)!QbyaJup!%Ym01aU<;;x}-nn`yG*l5{U8o;>3qHRTlLb{9wW*lJ>KX+|DuyCD}Cehq0`Y|O~m-_*3y2i2V4AE!oMc|%0#ZgYU%%v@@h@OPZ)z+VQ-C7LiudV2m z61EYG5lhG?arc(GrAe60Tv7KIW=Sfuy_&mb5^|}2&-~T~z+ybIDIiJP=JojNfp`}q z(V5NTKN{EN9i{*PGRd%Ag(pN_--!Nf-tSFtEB{9H-lV4Y0}&$tNc%^#=jW2{ME@5T zP$2aY@)Pp+iML5x#(LgVg_f}$DkSOWL%2~OHVXo$R+p_w_mk5Blha!2$=|Dz?<10I ze;p<1_-loA?w>5@!|W}%t~4^eB^3S%y|~opRw+CZUsPNBqW5ISL}SuUZOT1Q!gv>| z;D=SXfe`xen=U3R@%0KwLPbt#*oH~V-DnYH>&AsTg~%uoujI#*^PAty)T=z(Nw?D8=~<{|f_luq2kph|upobS8{ z!4BcJETvM6mncRFKkF|VCtGTtk%dwo{<%0*tSDu z?>Qy?YH9-&oHfJzDqi2Hk;`I!Rls%6=FLG^@=09QdP(KjKKF^axO=u{Si_jjmJX`^ zO$Rx;eKznH?2tQSdTwNZCpq3!D}vn*(W=D>^LQs0LB+AGE2%iEc9z38QvC{cNKS{9 zDpsOZi({nyqVZk&RA{lV@i|j{3=ZJ=8O<4Yw26Q@V)71e#P%`8#^TYYxvzrnFsVC# zuP@LJbSB7F@dK0#5$*tA&Ryydfzb@kTq#zqPSo4o^sXRBTQ<=bv$|yLIaDY|dzH+= z&mpj}_WihuvEASf$^lPLWr;#I^@{e2S{Gi;LQwqL$c>w-88q?f_pMud8#G zu+?{+MpL~E=rr4(I!#PG<{Q!QRsWAiw;>dXr>J&v*S`_D8cBzKN&)H@dfflX*1DSg z!3s)-U2cIGnCD-vc8{-QV-Isg^D>ORj%A}2*l^xRtGw{wY=4-pKzfF)%iE`a7xekQ z<%v$C*N9&FN#Cvd>yOdDePKlZb^axC-Eu9osy_5hvI+&wPxk6F4S%~5kyLc8Z|P*1 z^f>@U*+a_0=dKsk7m5SnuUFHK=UcO?rjl#6Izk4La-TSQAi8ijHZxc!Bf?56#R4ah z(G>pT#r-XpI$>$E}$= zM2Ey2iteHf1>pQ{y+R%3xoc!)g&N8@(bC9T!cskHESp(s-ZOlkC#CudPV~r`&rlRG zSaREI*#1t33_qv-JB<6qzRRf*Zg5o&fxN1qdT+DUfpd{%xNGX-2AtfNZG>~UFEL)# zxnip%EJN-V7Pelk-sLP;p_c^9L$TIg2pK%P=v z5rkRm(sI^{b9HkS(_?kY2P}F6-9@ZO*|d1k?iE$Bd>gciYF<_%%g3Xu8}ayU^@hd- zaA_JtoHMzxMM&zjvRe4oKHUmrRTXJ>Fj#QJ^gf|~tm2*CA-u1zb2Mse$Ie170Ow>R1viarAhe#BW5U2`n>(X2 zfRV2l8={q!AI%%8IAF4f=pJ68W}2VK1_I`H_}XJ*EKLIyS)u&*a+_;(<%V>nfOOjB z8iRlky`s z2(OSOfXzU1^CpnWXVD7V=cp$?`?{V@`qAAdFNr~Jw4k9U-x*;3{ok41W~D2*nL(6b zh7?q+H7DqhuYSlWGEvhf6e`O( z9tLjmNtTZ$b{00BIL21IS_`;yVyq?2FUvbRh7`-mi6go@RGlcd1+zp68r2Dok~G)+ zdz)g?aBQjqIn6MA2~pr#j!72h z7F{TI2=WnxqkWKd3B*u-Z1%Am!<<9{DKB`*%wJAM*Z;i6bT|M_E!*D< zb>$`4#adX+6fxurdYS1fmte8oE-DB@ensS}P-#zd^@1yn2K%ygSDN;@04>W5Zf^6p zNlj)p1f6$T2og-?2IoqjyU0Wb^+sAzY%q#1YXI}hhpY}6Ui`ku_+txL%8L*Sc$Suy zEnoXxn0xF1j-_M(t>iy_jy_u4jUI_>F9+{*9s&ee^mr>cAolt~LD33rt(IbC&&zWJ zvV;~t;*kNyj@Alf<~S-|p2;tggUlTw|#1nLC=m^g&_y3_!x6%(`|RaZ6@#1F0w zZUIW>0T6kbpem39d#p>R*`v&6AB7s@uuLsb>OdATpE7vGq60KN_LW3#&A7del|y$u zvZqDZShJLO0E?#x(xNr6@=n6e~Z%7Pso|s&rOX_t~=0w)r4$lfMc(SlXKv4CcRzjI z?vP&LOZzT*d3*^#bQu3}1{D30|EO#CSa0~Lr7p-E2UODa!MttbMa0KJdz`M7L1wi< znY-M!2!11*))Rxn7DcU?%)Ln7yH&IH4&muc~KfTDfYo@L;n#wbr z<1K^O^*Qf0vA|Gwb`40m0~sC_*Q9%XG zipA#V%L%vkNAX^ulZw=e(ohG2dCicORMU*IE@)+vKS*G&@}*!zV4W+1 zI}(Op*JzbNn}S?54a#j(t5P?g{>rq-rM-iietLJntiz?bB{1|2zTl+KDEm$1I;f9= zRTn)=?!Dx{K^94}pc%QST#D?A0BJ}?-c8}NdL5h!c1K%9xC|-V^g*d#gu_1PY3c61 zv_i~h=<(9xnUx%5S>k6e6u_4yMQ$$nK9Va~7}CxGw7nQvHl3 zS8mSg%Dcx-BT}19$1KY9KMU!)DoKwWN3Pb1e3eQ*jJUUXyP);ZE6vKc#cBGjSMj!k z_Y81)!p{>CT{-kD%82Ll9Dn-cO!fGKf`TUWvGS#G+Fos5(o95L}f`)Lc2wjr7$w} z+z-Z+|72tR)$sp<#FO4n9Y7ge{Rf-dn{3_J)9m7vilj}fzI;D!b^EUAIC&qyhmLL* z+Lo$7Sf~8?_3j53+j)(!uMKF``9UK;HQseC(B?0?t7Sr`|2}}G`*V~ZjukIwke@=b zafaKW%%88G*2UJL@faj)Z@|);hG5BqS?&e28g9|<3Q>K89U%M~3r0x}1}D-pI%Uuu z4b<=AX@&#CQ_43l*UBI^rU$+(Q0-bZ)Wnrj2MK3ByO5NQT&$$FOZ+9yFlWPsQlyoj zx;)x6sG0;{A662WmMlPA>shX#@3q%ro@V;Izq%qiY%$W*)jnDs_-q{N>T_1@x#|MQ z_Hs;V#8Yiotzwi=MwTea)x$0@nQ7ifc?b{7cF!~YNN`nbqE;{Skv*B~Lwx4V8kXtSz(SQ%!KdWV7 zn7f(xATpN~YLN;$eWcZjtPD$9u1Zxt`QkF7Bd)~z#6aHpy>FFd!)~O1f~y2s>W;I4`~b{-N)^@7wKE-D=s~aqRk~PfgeNA~;X^ zDjr`V7)o&_NN|jgdiY!oXB*Qm=a!hL2YHu;)*1=!+KW6nkSK(FWt&RweYutF`B+|J zggdS8G4ZFYy+=QK!-Xz{8`aOpOxDjyyW~E7oD>Jcvh)C z=i6{Om7~qnP>BZ=S zM?XBazmG}(KJ(=d@9vM$hrdt#?gsuw^sjaP*WaHdWNw{gUgLoz z9M#jX%0xUk%MzttWU3OW{lRK!pa$7TJxZ^?pdX1~(&xcjY0y6-tUrmLmg(zPWu?T+ zWlouC>fx3V@g3qZdOoI^)8{W9S*`{mC_h9peO%OvTB)^hJju#y(S{Z@@l*0F*wN@3 zYN&9TUGGcq1HOLw^*CwTwrj1D65lyx>Y8AiRCaS@_A@sw;pFXqw&UKxnzLbva!E_`ZmV8i^^@)nJJH|kh0~9 zb}=tO8#&<2iJg9GO#TiP%qBh?Vc4&L7GljEpg(DCeZRg;;nSMk3RT#SgT!~cCx7AZ9$KKEf1uGAfTsmNT9Z#^=zFd-!_uiB zQ1ODukTOf666TSCw*9WKi`636@>D&tLyZ4#@S_n}mAfKQ@t+lz;uT)0+r5a)gx4-iLFwLYxu|v>ef< zW{XA9k^M=>tU~!&B4oa)`B9#p>9TR`h17DRVmBIzBNGGgdt9jvFTGHd3L=i>X9I_Z zm^B9jHCFCqer|{wcPpaXO%+@LyNh>=7?;zm*Lf zv=u5ogzBd)eK=osNNuI<#Nc8{o1aCV8Xm+=<-sXV#=g4^5Tw$(8nAFW$KJV2AZZ4B z)``(-4wZxVIc!AG0Y;7DR2Yo5uB_^cLkWif#xQ>(rd^b?mQ)MX#i}EZ$KQ31&|(;_ z=9;l(xv^+cFnvd3%V-r;8sd_;Jn)s~DERUor%ZbstS~3?@Jd9%{NN#fJAQ5Q>hh?2 zQ!EbZgq}%B`hR|Qk$JnW}9@yUo%i3^Arwle?O7ejn(lX z^}_}LApgrFMf6WQh44{&v|#h(yHTTL_w%GM-nbKu4*cP&RJ-^052`b2Ad$P!(`J$Y zo&Qan0g!xL^=PkuH)-Dne&z&@_zII~skQrKWL*6ROS`Q#! z`dM*?_9a4pDh|s307!il==a_X^OLaNecPBQB0~bb7v!o9x6}6evPcDo`r&kuj<9;k zKC7=P@}f>UtsX^Bt`$7_+dKEaK(YQdT?i=F_|cijurK9N)N^7&qJLg!a&zHC=*R z)}=NOaIHd|aN!T}chu6cl8Sl=d#k{(S}gGisSt`~^f}e-4{V2AZ$dF2d!u-}KxW43 z)%-16O85P$n{01HmQ~S8m?q^jL;o-_6?tvJZaf^Y3L#jPt55n-RXy`)mW!_Z!(*hu&| z85+6MvexjH*icwGs4w!F`V!N)q)_5|zeR_+4Ow^kj*4&#{dLNrC}s3{C1k!}57yR- zU%oU4?y4kfJ%c0MQ`N4F^$#qwu8K^Z=0)yqFNG?z_8#=cx)z@|zwuLWj3uY%I4tGP6Ckr!`v zp+u)DF0$m_Dniou;q6-@WX89K19)CQZ*8=eXQ@0r{C;F&`&nZi^ND_a-0d6D%||DZ ztf#z;ULuCDoo$Bi+8YP3bo~Bj{jh$l{;im%Mb0bC0-SP=8oS`5S1;ppN%#jc&|n%Y zLqZ~fqw#^0wqp=Bv5Gd~V+}1~?QL#APzVYH5`4aMzgk z0-fcm^`uiOU9bWTyewV63rmTyX~-_TW`FqX))UP7N5Z&as;4efN004}>~PmE5{?24GI=>Na+8SRxsjx5Qgn&2f_0URz=73n76m zR-z^1AO=$Qp@IFON`jd$(s2Zy_T^53Mp@z1U7@TCHayQdv|80`qw5Ss6DTZVaL%-- zm78se+u(ckGz)j+RhHw{DkIXP%#Q*>;@}YJ8)PnCkS$PYv`{*f#LcyYeWus(g|S}o ztg@wnMPkQ6O%)57;^eAly{|5>o3$kx>~;A$ta?pIqFkfTneZUsr3RHf{*N@Q0>K$U zN`saS{%zTOojFFW@S5l!mc$)j)zk{VMB4G#d-(;hmN^Zrl&7g0s5Y>xt=K2{;=P?H zI}ZP{4mt6)6!tQm_Ix`WZM>PpSS&N=J$?=U_4&%Kir?aTvKQFflC#G`G8k6c>huM8 zx$j>|V{f0-(=aBjRc=x(=`6`Da2C}QZYGR@1v$hWI2w;8O5;42VQ^H3JiD@K|D4HP zu0Dt~?TcyRt2z(5ILB77T?OH=qG;iJs6L~-2jh)e?UL?J@jZpKb^8|h$_`!kG%nN* z3S#Nf+}xxtFp(9kk)0MTZ!@-G;lM6EgRaJRw}^d2^+whQbhZeFl;l|MMrnEy9uwQL z<5%sg_y+TEEiW(UlL*6xt4M{R7YcAq>47qrUnX+11W6pT`=iyBo(5)EjYKW@a(>`s zW6KzBu%(TK>1vN*i&3kf1mt>wOmJOZpB^O|{K3qA4e3}HMXJFa%;^-RUcJPPZhed5 z*67sbN z_4#T0dsf)Ob{&35kBmR1hgp;Az3hoZY$!oz5K;~;{V*+|ryy|PzEFIi)HvgFwqbUD z%N@0wACMdHow+0BE7!Bk9{OLEAwTDxj!m4l7M}c^@>ie!JJZuheL>Mh z!X`!y-^)^xlD-i=zWt5JuQv4eBozK=P+R=c=Q-0+UFcVln|XW%XslSqJAcmYJGmAL zL~NmzFXEOpp9QZ(eqDgoliL;!&@Z23(he66Dd_@G?3$9AbMotVekn!=&tzBU3RF~bo0zO*R%nP&_~;f$b=h&@wL z`WW0y7URCEOyk+#6OFW5ea;@@dzNz?zq)czxKGP8XCqJ)Oa^+Vsbsi+l5$xe%c>+h z-+w>8N<%KHP;Qe##j=q6Bgv|g%oWFA$6~Ib`+OyXUqOk2d|WqO*S{<=2J^7V1gj6( z5+?L2-v_lfg+n5#B+)(1EqTy=O((N((a_e-6za&T-bpeq3l2>}eBYerky6WKtpN8; z`C;p4Z`|C9bTc=NcZyNXm7^A~GGOsgA=D>MvuKEWHL4v}^Q1MtE(7nqFyX|lu2`Dv z>E&aAhCuBmWw(330X zM^)We%fu_@7E)J6WWPXyIm1Q4!m}aJbkF-Zq|00Ch=^9<4^Z{Rd;K|?QyC?!he5Qk zaC!>UPN-s%x;`c^hnSg>HJp=j(~1h~LN#R4Jmm2xT6tKIA>H;PwCwB09bdAhV=m?K zpCOaBN?yQm@X2H9A7TalQ>-Kv+{V-#eVzH9UHvv^TuAWIlZ~pd(mA&28XO=D5i905 z7++pW-ylA`euS?95&*Yu?^}5 t`&RP9Ly7(sLO2)9zC&wL|-mt#EMaQ&b43cGcS z3U#qpdB^KqA#X4AItf-%aXD0D@Y*PPQ&u;S`>bVsGCHjFk$K6ML#VYBqsuQ7_5*Vu z_soI}>bMnI_<})lV2ka^$L<$vM|Y{7B^dasQE(NO<$kJv+s#?%zrRhF^xUNOwXgZD zB~_^}4|4r7-rS4HaY_qHDVad^W*2wIyT|Q7A*)Hca-+Kf9#15{5xpMSw74DH=Fz(> zBtCX&(P7GYi|G2}KO3G`!w#N)PH;<ER)Y><%2#EtWjrmEZSmZ6Fm!J|NjKl~ z($cd#@xH$-OpV4AIu5TqqE_yp$FJIk2y>;6;Tzsxo?4*8%W-nDIWjXj6?jd6`?3=f zEB3INKrw5=i~gY@CNW8YGe(FgpR<$$iID@*l=BmKzDIrajMx2xf(SuD)kc_?)Yy#_ zRDVfdtGgAI*BK~HsHjV>;fXYYN!v(GLaU#C!-f|qY|-`o65FpU^W^R5r+f>>Aqn-ZJNcnD4_;vO`Vb$%r->U`C~~^&z3Pv z2DLLm%`cr`Tcq*Bwp{14?Ni6}7MN<8=`Gnik-*O46dQd8eZM*TbEx-V^U~oM%91{( zFbk~j3>P!UNa|XAx9qY(jx<|Z$qrvH7nMdCRBGm* zeT{aWqTF{kGe!}kqVbb_wZV<&n}nh z)Eh~u&DVElllK6Lh^n>BsNK2i|{8dufxU?{fJ^i_M)@fWAwsJ*V2X8iIhTDtjn>*~Vs^3HWNo{c}Uln#^rZoSauSo`{&|1Hb> zGhc+G&)=<6|BL*8$@2d(w@BxILsf)N+*pzEIrXb&JXG9y$hi7|96M3|LXgH@#>Qu8Wr)=l_eGN=VfQm@nyXowxig{Uyfovw!w{F6CLXg zl}OL5N|KKY#k4^uD;s(xgl`+HQ^0gv&;#TeswN0(z`F)9Bc{;}V}5gaTcQCx;9Z&$ zyT)AIE!Z-{^|R|WJL_5QwZ4vFYq7eF#7m9wAIB>b%Ww8P=omcsLqc>|X>DFfTgf-A zY|uk|UVX~csr2Ay4y3C{k8g4$@Dvn+n@2HNg)EpKC#0;P?1;o`+}WD zt-S4McSoP5TFpTyRpVHq33`%KV=zQb5_Obe6Pccp46mGPqXAOwWb&_RIg^7?QcFGO zJ75damQ!TFkb}ACuRevYgy>F`rrX?`@z55Dl?nYYr(we_C%5-QvTo1A(@%O}ZG$^Y zFlh7ZiJ&WZu{dMHlopH&Q{CR-$Jv=5)X^usEiuFKM|tnGQVu5b31N%2R9X)bbN2J) zfU4Uo+e?bmg?gIhB`$^U1X);e9^j_&0k83jU!)k#z#e;^KDhgwv)koiGjU86sY)=R zDi#pic(uyu;*4ZAYWgq2nD(vak-VihDEe=6Kt(eEv|iq&u}x3M5RMaEN!j2^J7Y)%FP9% zD3>8C?PkJ-lUPXwzX4k*=bFuzF{L~6+Sa}mH6?*V-Z}}%yjC>r)go>GVC{ez6Md^7 za#%%gU#9DqiV?~5g|23E?LNIi;Lpg-n_b&S?VD+N5y{%;*mcu`emeIct2`fJfi4-e zLx0os-Ebicf%K_1G?87vUO$4KJ@7lD;lm;657f>|H^Zud=SN+p`tp&2--it~?_bW( zQ*Qp%a(bQ;_H_X>$@;pQ>Aid;yq^8%uW5JneU0*42{oDY%*bE-T`zgihU(c_Qhok; zZe#nv(qu#HA;|!4w<`RNSTmz>v%?^4?DX}m&QkZN3GFALufOYgYnyxYPX6pp1>#I3 zDDOgLP6;l!8LM}smadxZdrs?D`yGD&3%OvUUFFZjKTf;;)I6P&6CZrz=}!3Ry0D+* ze@)`waKGzw-|YQf^l{v7KCJt9#X$3yjK5~F)AZZ__On;xf9deQ{P6!(;vhpH&wvo%0sO%_;ZLLg>CFh=MG#u6DpgNY#w) z|3d;zjw_q&;#C2Fb(gvaj5qZ;C-zxC%GvS8FK0c}w&Z;lYIefLKzN(<$Ce>x_&jUJ zc2u%sno!K6q-&4>l!XsHmKD}2P47V5bMNI<;Dx-+6Cn+WrJ6ZyUJqy(I59zvf$2K8 z?9hFR;FB#dDw3VWYu2&IX{)Sk4k>lFI#XDioLpf!#I`{S;*kL>>RN0Etm%aTYhr4l ztbw2%BkX}>Fz*UpExp_LNlJgpST8+%#4!D8JTacB^EH}a}!MNS&2OY=Jl>9iP0PU^xE((EX3EWPCOIlu>167RV8G_tK;7ZBdDz^D5_(phiVaVHX^&K%tHD zm&-L8HqrcMmt&Lg-EKT`)UMZf)z$UZ)CL}_!s-WngkYwOn5P|Q7`_d0q7f%68t7)R zcDvqYxK(QN3o(25J|5~u0x+gxOAOAwTiw^aOupW;Kk%yB;Hj-$lj-{7!LsM@&AI=afC1o;&) zKZxs4yKD^-xPq=F+2G$%OD&%Ts}xRddt1<%iI#GUd0MhOX%Wdz&Jr><{x~I|R4N`V z9N04;`L&T#<|)>7HN%ngSvJMCxdTsi8+pT_TIA?xH3NMDR@~}R zvhgl10#-Q}&ec0>DHVlg1l!2m7C3}Wo`fi~4w6bKYq-&Z&k7$bWq5)I8KEN-&85or zsa3mJmCz6JHtD2g<3Vl59E)9ujb}z3F_;G{J=W2^{N8hX zQ{YwY<13>oTEB&TKesvDmS0_^)z-RxIh`4uINW@huau_Kb1IV^HkE=7lL{MlZ7^H9 z^KGwY=CVomOMOB$r+!GbEW%!?$8Qe1`=6o2{{ZQ|xdYuvW2CHq`ag~D|Apj=2`0#2 zgdU+j4jp^H+|ZS~vF6?AmzF78n{}mOQ@e+-=t`wJ1a%fa@4Ve8QYO_)a)#Sc$P$~S!YDx zxkg$M`}fiT>}T|zv!5B8bul$29?&aE9=KdR*JbypH=7Q>d;T?crAv0>v-dCGv`qce zK{*MmyhG8n@N&TkbHlOIKHnwZde1bp-uuyS=N_n0w6WzK!6ux($nyJyJYQdG1j)o6e@}Ix^F9KiEY1 z-QhAW@#kM_@T3T)R4unLuN34@o_$M7S|4j!2k8}P@@@5^|=L*;$Ns~PK@0xi$0anx8gU zsU{Ou3qKbB(9%nNgP%y=N%=80?>Z+kU+RQ2NI1D4ljt?+YIxY->@)H&H0L_+Rfo49 zc0{;;t*Dzz5}?*wtSSWOL^+(ZE3b8IVByVsEOs3Cfoav4e?o1qn%*6a-;w#Y(-(ST zb?;oq=Zz7cM)rJUYaPCA)c&Ds-koC~=waLReP#SeyecPV^n-QTCi*99^JWiX$DtPY zZL9WoU6bydYrd?z)K#^xfSulT2g+!m>aQ^TO|~RE2LAhHD_g2R#263Pxx}$$Vm+TS z@i!SNCf|kzPyQooap~iU9OsW)!dvPS<~Qhx<^F#UeDLM|w{%_qRN5O=_@pW)3VYgj zl6APvo&bAY7C%ljE`%+rX$AQsh6n3QU0-b!<&NF7W^CG}ojdp^_WwenviXZ%YxDUW zV^>cxv}Z~1+fL2@aQt(5`6qhjf3THD5X9U}C6$CR+90z*8vh$a{ol|zryxEJ4nC`9 zwB7&VIL6j7bhcRjTd#~_;_VMShv)zJ<;=#Wg!NeYBI*H{o@`*t0sHpHS1~kX(v!`% zZU4o1OJp@fjrc}jp;MGwcIM1JII5b~`cGl`tJP!Ye)!GqurNEOF+PA0;Q1<0{rR5| z?Ee3>zMT2TG3`0Fa@GEidK%rdYpDO1YQ+!6_fn?E#?lzcj#nnu9YjB{b=^O9bb~7< zJI+tDc@`R6`OfsSdHT>x@!}1DmOab3(t!VKKiSMH z&qWQ=`@E&QpXdDtjpiw3=;kv*#DE3^#5#4VT+c1EYU^G zx^{cT?te7Ne_AhfyGXC!80QBwckzF3%zr7wf3m@0M{Gkxa9S> zo+KI{##v-h*L&IIQ2U#bPUqWovQGUTux}pV#k#@I@V1f4QK<6PQL6p4ux7O=ldF}S z3}^1r@go5NhcikFTf!Y$H9|hjcvlp)j>fk{mq!FBQDmVF?=FI%obJ25X=1l6Ja7&& zg_~Rdcz6;ema3Y!;j9+Ku%AxC#Tb(#lpYZ+64=Svw^L6kcPvTBk2lZ;@k8Xu1o;&+ ze27caJaU-&!@U(F}6c>{Rx;eYcWH16tVC z?^x1)zio@Mt3q+t+)$q}Yi;*oSDX^AnP{s09wDlF*^6`B09+~15?&Pv_)RmWecG-~ z#`i-;YGzzweJfCI!_n+!Mj7{+EYIf5a!D*~d+E)!BnyVsM!GE5=AvJXpg@qfR;~00 zZ2s$O4MyH)o?k@5p@Gk%q78FBAamE()R)#I%N`5` ztnW&eIW&@~bKG0buTqlLb@iTZvTuNJ%`tkci>n|!+uM8Iy7;*0qu4zw9NM$6sQ@G$ZRaook~q@ z)tJ5uSQ|zdc>!*v0=|hvLdl#XjQ5OV8Y3(6&LiCyG0xcTc ziQQCowD0*>sCL0{zQUZxp2c@k*Q4kAk^340a1%TICWnLrneE7_&8}5ad+A6z$%{eq zI2O4#mh!omu{Z;cLvj_Af$v4>8h|aTIY2yV=jGZ_ZhOjPk`j>*Cf%jdA}Y=REM2;#ss~3B>9e#Kxad4zhOkdCLw=1H9HAI7 zobSaV5c4fk6-EVZt(HBB ze17fn;}D^$=^U9}sBf%=&l>^V1S3j7)w7UG^zI(h3jVVbnsZABF3bp7Ich0XA!z1$ zO>m8_KSk(p!esi)asw1|O%>}P@U^JFJsF8qT%V46ey~Jt{q^QlRE2AYkX6_U)JCyyTl7rTO_8gHfSR2 zgP+li;0+B|uiJ4`E*2Ux8?ln2yOlC#M8Q;GvEl*hdwALB*l};c#w2AEjDd7OE*x0LjI>29AUY z$Y2(BG>xr7$+GKZf%+7k;2kTcn z2{cwR)Af)j>~a$>X3QGSyS`?r)hl!uIVq;TVUpU$oqZ6Yeq|NaOBb z!Z{9gDh%jVlLcMho`yc+kC-DQ72OMKARgQDS)U5SH9~vgf+J`kf!Z%{pK0$3w z!o$!8_f;l5SfG#&{aU#c{}qjaJhHg|R?MA_&761uW2L?tiOvwQV!{thtjXkop>!W8 zU>MQyVo0;`xCk-lnQI|QkWBjcl?$niGzI4CE49<$nWwo=tl9Uc)e8+;BD45kM z=g-S4Shu3d{jQ{q(bCSBR2usEi{kQDwLKBjMsA>X`=2{9SNU(wrC^|+#QHr*Qj}4a z)j%z1=Ek{+(`G*W3}Z`DHD~Qhs7qBDk6{@zB)vbZu%N09v2q;1P|hzBDhpY*)~FHp zKu^SCaz+}xHU73C(tiOC2h+@m~{14jO-)P=l(gmCUNF zlS+lp>49@nH$XAAo<7R;;}<>f z2a;B_rq=9jkyXWE$xNrGPkS?25EG^|$8V#|S`LL@+^Z1VJP^Sz&s| zmahoUomm^Zkzv2Pbd0wC-UFqbr#M}$+V8f0!lOM?6G7&$wL2OeE-Y8g$ydoq3p32a zp=d(tcCA4LuciiSAD6$2;rvlXN-N@p>1NWGE?rMqs#M%BT(^UHhiLcpD!jFhy_1M) zpQ0?ItweW2{76Lkapj^J+iro@f!O+*HT=UBcBG!vNY7TNi|Ea_+t-s`m%KGD(hJjf zzD#AiaQ-^1g0jBCJ=yI$vECC$E!}t0F5Z z%`O%3Pz!!0vCAUPG=|}=H3(2|?25DXXJg|sKud9lSfx7bN079Y1Gi~?%)}#dzzn=b z@_|#?Xo@={P`w0Fr0y)Y=ofe0qS9!wG#r3L`JNclj^GkNT)cOQ?UgB4%fK4hEUWSK z&p9AfNU>{t-CcF>(92!kfnk0s$sc_cI~ElU4j7J^K0`^`XWJX@rpy;{_Zng2*LTBL zm}c|=lS(7ll@s)i@k*Cuu?o!<<-y5`4AE1=?;hTb75 z_cWjdyQ_+ex#s}xvC4ZPJPbo-Z|u&t@~P(EhOZf|j6;OO1R)@QJdcb`jW7;;B6(Jf zX3Kjat@-J3n?kc{me@(|&JqLr3=^+UJ%U&ntJvZyrlTDDSTL4ye~5S#Z_1X(y@rnI zSiL9Np#Cg zrDhd_xx!~RxvU-N-zDg`ki8jS!PY6aPuVsvA?J8pJ1?U};VZKa7VN--r4`Pz*5KYK zt^=OUU4Q|NQ@z+gX;C4CQR$5(D<0H4=~`MhlpP!NXcTvXxhZQ=cn#<&bJ+)@_1U+s z$c--@hbUW{b(-Ollzj&p?(wFbwgJNl&!1T^hvq$pvHWUkwhB> z>BdU5Rex&i7MW-XPt9KOH*I{t7t{GBWG@X7?;KhfotkJ4?6luN6)suma?T!WvypRMTO;X1sdXUZ0)ac#e9&c?RRH{Hs(wqN5~t&yMzikNx8 zn{65rlLEjk-TDBhcKqPzmZa8g%WDKyJTis2tPJ1NDEh5+*5b@uc0bZ(z%%g~n$YvW zr8HlLe5iXbmvBHV`PE}54-fm)onI&jU&Fk{rHd=gHWHi!-E|4Sy9XcyjB@+ ze8gI=A=cI6C=Xe-E%W;0dS_DY%f#?oSHURJ{slk~>qL=r@3pW7bTkbjxILOVc1$+} z1{1iVBb*V1zu*A!#x~QpT|{{^WcHNG)sc~R?vYI}N}my*J^4yqXS4)V@gY9&chuMt$+GSe$D&vuo;+PxM} z>tdIx#SCp~B+J&V*!jwqWqxeVV)1ev&<{rMvzqq?3aU)hEV+sTQ2lj{wJ;FxM=XWY zk#=6&NcdLPriX92q_7#d63OYl@O`xED7J>hEOkjYg9kjB&rKyIy7vdH9v1;+IMuS0 zP&P3|SDdCv8Nxnjui4wLu>G#sxu@d|nL{!upVMx(q)>n+30?hQi)0_yE4R(81Hxs5 znMWOiFd!{fP)U9l$+oh`3NYkctv>ZQ#??cX6j5vM4ewM@(lhj?w;p;l@@O|b#sWvv zjiBD@J8AK>+&d*joU!QCBqegW&Y3pTB!vK@^;nJGkoFyM$`#GQx29LnV54!BZcdNg zXf%RRBZ^pQEcmEAyQetn6Z-_-+xj`rwvDEcG4WN5a+ZBqQ=S2XBp}0Ga29q4WkOC( z!A~yS%glB+dZBEq@Sje{56HZbX8blbME1aYU$vIq31 z*<%-+KAk)7bl@*2m8jYu5RO$EWSiO_h4e+<`ZCgbEs<DWsC*V54PCx%V!E1PNRtv({oyD-9o_cR{H`%1-;wD>9HqOiHF3s;iMDrUJ{Q^@ zkAVoets*b9<~kP^m*LFX(f}t|dX;C@LQ|X*CX*elQk}6~hBg%f`XlpRd||D3JI3=x zNS@c*S^nJat+aZl5XiX4)DQW388ScXUV7@+)$F?X+bDd2%qq2;EP}Rp8h$%CK?-u- zR7bR!+^ROMZi;s|^GPWuGS0u)q8}s#nRz1<(^N~1SSDF;cOMMEX_ww7sVrBx@t(A# z>lGpuiTLFEEW?f-bL(0EDbpl8A#Zi-VMrOhn6c4&YHNm58z@xN!&fP1FR65YC75?)IG*0-q?Tzv@TkRpYTm;rlVg>S1J0s8NIW1)Vm|c>u`z zEf1(4*9eD#-hiRB>r{%z&WnZdS)SWHM)J%Xma1b$);HC~2J5X3I~_3>;FvFfsv5%F zKyOUYW1xSJF(rz#4;LM>R(vK|08BG@G4aVuz<_`lh=y(UEM`k;rC7K=#0brqvdaU^ zelj?wwQ%rASu4rEWhY;#Z;al7?0b|n27E#8vYH;LkbGF5>bQHU0|egmd{x?zeZXN_ zkdZO$1N+h^Augbk3Oky9E17-!+a2T@+e(q@<7)7PKP%tguRXHh`>zPEI7_mkUfIzV zd4+)P4%gyEkGt=YS)M^tmr4N&U%UWLu=c9D%iNPe+p1+_#xN_Djn<_>AukUSJHK3T zd?{2lPmY2rej}-#z(g+_W=Vf4(WO$UmUfl{&qM6tSym~2wMmu?_v@JreVm%(*#o^* zj%f#ksiRoqRoI3NsmTVM`m9PdGaA+)BIC6$8Piky)6;9GSve+D0IcleP4LMP@Hl>wYK}E z#-c)p&Fn%ck0RTMB|-00jScffyLjXY3dtTW*hCwbGU<_Mks@3&Sjz01ByUe&R!{|X8`95Q=UTn`RwGR2h*#|p{fn+uyjWioZIN<(( zkGZzX^%nu+D%H2BbJMl%oNLCW9jGsA=RC`D1tXGWD9Mq}(D>6Rr)qF-!(|k4Ag)3* zvVL=6G1GL{FXNMT!kB1?#veISxKm>WtT8L^PwP6SAjS8tozt!I7AO5KcBpKdPP8oq`b&2t>6hDwRz z*Pn8&Y$bDLv6d_uqD`GjAW)uo-M}ZA_M4d7U*HMUGDrJZrq+z`$r*K0LD_n|P-0bW zu`tXGToNbxg3)U?Tyh&P2@dNI%HB5pO_bpK-(!!tuKR>E1@cd|&#eJFBE@fU(2E3QD&7r0yR zQ&W&yOtVo6tkQspiuG4Kq6{{~oX88`MlnjYOTkd=5OBss!bgv_>?WF;*^u_$SF^u; znmKHbbX6!qxuUKWmc8VZm3|h%bLBycWJxLfTq&< zP;POM3R>LO?~Tq4z1eqlTeazRVdJ|m($4uG*94nwA`VXax@l}-`m7~^y7I~3fx;pR zF@Kmx61J7l=hB%O6DZ0%5$mMWDLZ>7D>F$PfRmp&R&?p)I3e?*@h_R}zCAA3kY0*w zBln_Qy*+O&de*vhaZsfW?@TrW<2RSwNr9!qfCOEOWa!1V&R0|MvaPluaXN2*R*FHC z`n`uHu6I|}B~>VUSH%|;0~|Ng8MvYx>*T?f%OO<>J;Sl7@s+tAf84F;#+-iSR9*_U zDoPEgRWBN*T3NA-ROPkG_H38jX~1+hTVBsu^(xa{u|b*IIE7p&5NtDWJw;l$ZZTB*AHz*cR1 zsiCQHpsC)T$nUV(cmxA;1ckG|!(u5KNZ4De`Ox$tTpF>zB65lz-7rcD%bKwe8#KH3 z7HaU!k~ql#$o(2^-Mrr0nXi5NOjnJ>Ky4Cw#N-hdrA$i3vj}AcOz{~!nP@7C@JM01 zo~PY9Gp0lrVl5kGxtBdo%0&B$BLe!;%h0NmR~cEEW(!UuG02GrxGwI&_OAZg+vQoE zrmei66SjuAoEvFEMd$r}YSZ`^4K-63!4Eq#uDGj`$r*`gId+zopzfVBje?i@>u%l)iiB#gEa39k6sdxHP>#T))}#*qXp!06 z1>qgrDBd!kd~Kmd>v}noj2$pPa*__ zoup?|GY6>gBeovDE>xYR$J1yt*OJI0Su^kK)Xl!mjfvr{Gm*=;Q0_t{RK?VP<}0q$*jjl5LP1M}&tB(>gLBs83^$|J29 zD-Na%8~3mAl`C$M2P8AsfO5%I)HvpQ_O4YlJ)vb+dA<(3UGxvjqxBoEz+>9WeW~%o z_(TUG)@*n5gMz#)Y8kiO40p-h7F1Q&p5=pcVpWhuJ>y|!J0}3>^?;dSU{4w(<~@Ge zZ(9B|UuC$uVH1ILugmmi_2mmpc&5J)d&7lRN3ue8@=C^@O<;xPqbv7gs_Ig`iOI7M zn|I}pc=aZqG892K#4CHXUkT2G?K;|8bI2p%4`cyA1GQG&At=(ZQ#lw52jO2XMC z%cPB5m#*Y>Q_0%!i4wBQ;%B7&)@7gEdwfM^4&>_nhb7#Fb4QcKVZX;mUlFa1(+);u@J;8!#-~TrOU5sI1GUE8jue`xXqBre6CRcF z9&jUE+JK^X&rB$;vjC8aPOmgz+hB{lZ|J$fx{G=ppanAvyttq*PPfKDHiR_=x%d@yMF$Cmld2>V+&&FY^*<4K)$H4fjw~yDVTi0yIJvu9?4Fo}LIRUIZ(LUfqvlg-E0=JV&hRgKrVm{YJLgN70=03gm7tBbJ#97g)XV;LO&2{+OV$L(!+U4X|25x2b&X z!`P38Y%Ax!8p>7pgk*BhRI+DrcN^-R1~Joi&F~VO<)Jt62|V|TR6p@X#AMsJ;r8ob z3sb+m+Bw=s2Z5PCjyX}+`WCR-CXNUf48q4|7>EGpAcu`!XueS{(v192RF z#tU0$O<4>FiMBM_C)2~%>Q)r%(cTq7m%UB9oxZeNk1BlT|mBBjN&9Lo+>8eYeq9VJgBX&7%tt`RMPcgCtu4xOyeU+Im~%a;znk0r0-xsHaQ z$QxK}bEUP=EF9UsbdiTUza&jNG&jcOEaO6bp`mlvP?z;!=B|iyNP{HKfAU>UDga7u zmep3md)x%!pPX`^!eYNXdc9g$lU{__G8K#jHW)@KW92)v+8qrpo*6?E>H%}|CO6JD zm~4yj1d6raq0bk08PirM;N?ug7H(C-*&~i@_~jIzT3rUm9>}q_Efy(*tdW$(c~`hh zc@MsqLo8*Wm;}x> zY1T~A2cD77=VHA1x3bnd>A$^It?#Qma(USTM zNpK&F&)gOodY0`9z&biVC9C?~fQN|{v?{6k+HgN?`RGFr5$Hy3p{Cr3Vlh*#|EsRz%d!!9~y8V0#PX z=GJd7ygX-et6E9&=3UHArLfyty3&|yb6)t4J5WU#MVW5JBYE%kvy6=^fjhCrgQPy9 zZ)_v^qUxS+8J&(Q*ae)d-8o80x+!@@T9Gw@9ZIu0M;s>ShSiS@HfX(~9;8^jIma6? zA4m=smqF`O16l48L*IR7!f7M(O=3T?=@Cj=_z z(syensX<;~yEU^1GGFms?`rm*?F~}qUp)$H{2p_5W9LM9WbzfAr)MX6(*!u_OF*Sn z+FR}$t1{+~^!HCk3ySCJOQ3nfE@0dkM!}ueq1OZz*COms#z3U=+L;t=uw@$RxdwDs z{f6ey)WCd~eH?VZCAGxBr|QiafcHRTS2>7U8*g5}{bGTHxhRxV=cN|0`$2lMUu^vgOi9Y=Uiiy*_2^RiK{%Wx?ET} z;5ipeCa9nAgcUC58hP2 zg|;<(HD4Mc7C@&fDM4CXT+a26JTm?z)baJnt!f!+rPj-6{yRf6nOUPL$x(kG3;Db{ z$}&d^J}7AeAvhtbQ+(PVx&%<`{*a%9tVn-D*Dj%<+z*Om=Xt?20yeyI;;yOYgWkO< z_6{?V8?Ndte03928#{p!3|zG%y&$GW3VJ@xH=2$&!mPbA*1CZ$poNO!5V7<-75bu0 zAXOXI9^g_*4{T|)Cj&eIkStUv5jGQv{g$MGn$!h zg)Fx_kx3YS3UL%P-fVwrTjT(c5~6;e3C=h#%Am8;8_8Q~dexHZi7!tPuu)mcCYMov zENZ*H(=1uuJdC!0o0iFI!!C8C-b3UiGrJ&{cKkyJY5g8{;N-Bahpsn`6q>3o!QV6T zmC!3YtBAX3R8IX;u)(+e2-)L-FMpHQhm%M}?Bqq7G>WVW_WVx@m?&25!yMt1o4z}S z>w%wo>J!Qni+cGyz1Alloyp}eU=kzEZqFY~EohQ9=gg&TgbXc2I& zeFFUE8jsr;Ry{5W6KThgIFP8oiirtBuO!PW<6k!jUH9D|O;htL{lXtZgty4?B zC^DcF+srW`BR6OV!XruCE%;@<>1KV{Eea5GbNV<}rYGWjla8)q_Fsb$)X(-hAhC>8E$-r4GED;aO?0X;0U8D)BC1!EnzUVZZHJ|J`af-x%Z zh1<`CA*S_ z<3PfIynyec=a0l|NnXf0C;if&awqmA#qd6*LJfHt%H~-Y6_X`q(s6jet4y@sr4q}D zS?t|l&D!$j4`vYQf!H-IR~Q~@>IN0P8&+b+Hd^)VcXi_llj6s<)Gf@0|G}HYpZEK@ z6M(zbA=Wk$ZZP<4Q#VMu`nZ%Ebct=_RxKbG)OPtKGt({=V0{WR``$=C_OV{R*v^1A zCR+-zLTuwVfMSgCx`x<}cDKFHioiyITqm~A`|P({d_}Je&3=l3B#O>ojz>#E9F zj?Xv66&2~iiI$%$_$VH}dD%Mw=rnkCErHW^h&6&IsD%Q2Y%S)};_0}8$B1vYD8sN$ z!?U#E+t>`3jr%cpYukmYby^Qvz{xs9%sXj^KxY&yDx+pfXYcR%niRca5Mb>rKOw`O5HTx_8`PHeTH}4AFRMf6)2c7!A}ckM z65)gZ*U70k#%8V%t)?0$)QM{qxM3so)BIX0P>*$R(%&y+G`B;3opFsNVvFxIrIJN_ z+-Z9kSuRq+z9J@$x-x~ZJ6&Z5zK?E?@FDHJJC15&MI0L)-zDtY8vY(?--`@nw(*0* zAVP`GxgpOR<`5gI7j7UwD>YZq`z{j8E|?6MJ-vDE*4)u=TwL_>#K>HVsA#&SLYE`j zTfK-j4t_Ua>dR{+_x*br=g*A{kfI5-;4%H?v!~d!TB)RdvNm}HL(C8I@kFJfPXWWmtGnD>|K`tr}_4uEd&xCV_q zqnMCB7Qcu`JhLvWmenvV>T-%__L7|nhGTyOiQdgu{ceFjwcR)7RZ;Hv!^zFtn|b&& zj!7&$5J{0$2n=mhX~1dHcikM&MP&s~ZJ6t2g|sGRA=fg%JcNjGaWvDPytg1OYj$NJ z3rTIuL^K@Mh!khJtx}uq>S5G@;;$@989-?OY1Z*m&Z#Oo64CK7>W@bKSzd@Nnz&)bOvgZA#8w>Aefjh=i;xqf~mfl&zez?oN#gCp1VPEqtC!~|Z{W08F z>2?MKl;A|NZw)-3r*d#NACv2Fg=%bEBoQfLA#Fa^sw)!(iDo}9Sc7ksf=h*PhBNi<#!nsi*(Lxe3GJ#*nZH*-a_V}6-AD5tM#)|2&IwGEHk*ZN-mWr-*hBY$G^|n-1fXKjR;$2 zP=Dlq@<|Myrsl<&C-j}R?n%39?B-k9uZ;neT7To=j=-OwO$3N&DEGT{XCyaPTSF}G ziDgp_?Ml}LCRn)gXc*+|#OA;(u68 ze4e#2sP~M>ZS$RU-{`e+!NcMmw>)&$A5e^1(OwV-Db;-cSMX{v^tZvhB+o0gNd&W% z(YOLD#vpaw5Y>+LIEXF!XfH?2FBcICoZ}v}crJj78Pk*WUs10yaO47U+(}Xen?Evi z5mo?J^9$vTqiuQn@~Ui26x)68ro7ZK*6ueN5Ay@-Fg;GRZM=PSQkb}tCl!8@JCX!2 zHfvY#`C6pNG6NYryOy}n`ZXYyrSa*@;SL7YHu1jiu0M&+dZSg4RcxR8EbYqXVSL7= z?!Yz8H;W*vx)(lVJyrjnZa1$~|Iik{eEq{bg?6)i%wB5Jr5-^GhCfDrN|{|7jams( zacr5U8A*)2&lqos*|yeQHhF?(_{*9R6$@6B8dJ|nOmAvo!p_W`SZoD-Fs}kM_Zg^>s});4Dn7Yf!DOM^A0m0bZuJVldK2OannY}v7*pz zNOZJLF%%MPaQap2aG_zHi3>co84F%U&LW0o#w9f`j-Ct5vl`nw@BvzU%O{)`tU-!x3LS9c87}~RNCE%bhH9wTsTRQ zNd|nmf5z&|TpQf%@QG}I0+6oCD8gV!I?MOr zH9majth(v;_QSi9itVKl8lrX=PAtWPSYl6Dl^p$fV};3|wbqQ3LAX4QjnkV{GJwC*spEq3P zf?p9#D&Vk^Ei7!t%gROLXkuA(gygCHo<5u}6Cn>6W7dT-Ku4WT0~bWl+c=^!9oy7bfey}g#=MMu89<^hR zyw6_%G}#~WPCWp4@jF~o)Au5y^-(8wNuH3*dk<<`M78hhZ5lR&eQE|6_W{p8nT&sb zAX5<8P!1rOX)x0mk~r2>5lVfD%}=z=oEP9t`E-R-O%G$-*m?HT`|Igc-p{W-H3z!q-D12wJ{+Luq#&*2_j0_}nD*nbs^w|OK*!5N?izaXD)Xu%tQOAKW zupx879M&6gj>c)zm$+fdk<32<#CDe-U&p-!C@L?$rPTk<22>QQG5d_THo&k7y;}gf z*?D<;0z*4Hl6i7r)0LsxD7_;FIXW5fV*af;+3wiMJvgrRp7%feMKo9#K5a|>SoK= zVaEnaik`2Jc<@u~kq%US>QYL!JSSSv?bWh6k=XESjG4UFp_d3MR;#JX6^TT=%&?Q6 zJ{2?^W;l~-;qpJJK(xd0OLh+RMB6=Bv*4_Vh;OHESIVbHxE^J4EB;^erOEg_ans)x2vWk-YJSVp%4jM);ile^KIjpe1)!t*VVFLU3c7^@AHG- zXN65lqAKs>ClN2*=tt9&m#5=-pE4VV#~tTeMt|ZjcztLURyZ&M+3jKcYFi6|6qCM4 z;V3HRVU4lgAW*>#xwO5~d5{~Do_#AODM6OY(Cxxfd=&SBMKxYlU;)}H`dd2nI@zGF zhCKpK*4qSqDRol>^S+x9A62ARXSs*Z8a6Ggh287PZ*G^@-K-u-UPgc1x<+H}?`hHv0LRed3oC z?gJm4vWFOz47#AtB;6z&!-4Nj%!zED7sg1X$UTTrj#}v}{Cb$aO|m%a`{>=7z=PQ{ z)NN~x%&3fLo%T;61{Uq+3){p?a$y~^ZzF4-yyp2TPv%~8A6^yBKfq2@Im~dr%z7z@ zYj8rJz0o6Xg$7xqsZ{Fb? zm{<}kjt(<^@v6BP2=b699D)Cy5aMd5erg?@o~#tr^#cWPx4z-}Zsqi&;V9cdoN1dc zK_RyjCr6U}lQHX)0K3D7h6Z%>O?)}xMXsr|&P&%%Cb^d>F6HjWj3yIOA2+HOi7a-Mz}NE^aU$M7ZZNBl27(?C z!^BW^-~1ax>`-L%a=8g9jxnCg^r-A^pPE?tWq2$PwMuPAMj=mpDx(S*BL`W9Yo)f9 z8_BEtm|}zH^Ld@|s7*oLYsm|^*LWT-GiRAy%`}U$7V(n1FUiyx!@HA5lRVxeZNcrc zDrOYyUxmVN@`0kWtqk8DfJiIi2#v#%5Z3Be0t6hgTTlIo}+#2hd zSY$x*xB8*#LB7}Ud!}b~Mvpf|X4Dyq*5-OXeWkHmBonN3NE5A+4}3#O_a0J{y66Mvu=4Og<5FwoRVcW1wm2QIZoa5Hz#d@FHFC!OHi^bAY*G@^<_F1OGjDBSTwH*u(xn|?E(Hba6thdpv zc>F4h-qi94W8K!dmx&XBOp%i@>E)~9hQ$G4v5I=p9}b`Gd4mW_qdMQsKQ5n}c1e)C z2)^peGJ*CmRUTD;y7tLrM6%4du-RX)_EH!|QkZJkHVar&B5ac4!JpLvWYx>U!+kbm zyYHRV>C*GP{qWo#OL&2LgsvpONTrU6v6>O_*pU+DCtsGJ+Z7ULievTJ zYzyKn85{?g->5$>Z0ItotF6bsg_s%AxJ}>oaR5uP(hMd)1psVxJ$`al90jV@sBVf6 ziSy`mJ8Pxq`slg=2Xr`{e5dNR2gLHA+#o!~NGu@@yy?!*;!xpz?}#cQUen~o^9zER zWvPDjzLR#TWte?!IKu5l2Zb~jUt4uq42H19ciNY&sasKS-b*6fX<2GDtQ$hxmlR+A zyQ>%d4_7be?&b}2^Y&uk7eG^AG4N;r?HsLT-TfF$(dWDjLVWxT!lL{P<_tXA)}H8+ z48ngR1$4nzKreUnUqFCf41Yof1wU^kU2k-_@Yk7=0E6HkDX-9x0y>O9%lM0|$oGfg z-_;dgFbMq-@OKeyPj_2gpf_45kG8xb1CJii&zpfq#nl=Fl>O%@_s>z~4;CXW8z-Rc z-&~De@G|iK&5Fn91s?wY%G&=8G`!$ho_?d+NTnwnf*K2Z9}Kfv=R%DE}hs zd0M-9*}HqXqUHWOj*^$t`&SgD40HrJcr)Sh@967=fT-|)#9w#wcfSEds){O#01OQD2I1&0;BFBh2f)U;D?0}}B|SGUHybZA8#~({ zCKxz4IJggRNpW#W*{H~=*#19%?!E(vA7Jiazr@6N2DnFzfk}*U*9)Kp0PbO8{Q3NQ z6+}#oduY5k4<4ek?TG;Q?qOhJU}4?Id-Mnw^ZrAOdjL#gERv^u_eo`Ru%B6bJm!C! zkcdM@&M2#^r=OHtGxNmwkl~bdGl0gbvx<%Y0^UW zXQX{2#3IS8HAN@MG`I41S1a`8Ao30C#_}v;UB4WTqIcMNr(5(he6iT2ZmAuAlX`>( z4-^lA-sX4I<)4S7ppXtC)_j)fA`Cz@LuP-u#YWsoFiRV6Rep;m6{UG!n z5XjF!Z@l+pj0|y<0$B?@4F~xLh6J78y#~hdb|y@dSe?MJ8FepWzRh$_(*UrIW9OdavQ1xKzLtiyxwS8)JVlcvkG?~&A5(67JJA(AN`%_CK;S( z)vRM*lGA0K^4m99G7B_w)Jgg%dL(krJ!efqQhUa#p`+hFRT{O->h% zLkXz67osC+Y440!D$du?jQxHlOearIr1X|_TiCdmw#=q7w|2HRVF}&5Sx1C`z9lF? zvDKsj9~iJS^O-%aks}3v?wsTMO|~u_YxgSOR?lQ5&d1@+k&Ko7GwJ&f>U)B*M$Z_o zi&z0cThB%URo_&BlQhrla2}hC|MvgDCa}s4&H0V!x|xx_?Cppvoko6`o_r0Nk*zd! zuz~eR628Q`_@#azoWEl${P^m3*Sr0$DCxbZkU2>1HPED<64T4^7e-R7CL;y7g4+he zpt4rR^bu~F-=;EPJKGD6)KqeIf*)`}7LRZ%hBqxuzD5)IQ)E_s9Jfelc^{y%8O)5B zQ<;}6eL=p{ke<<&+@1~wkVRn}fAQL*gu)IcT`ls4vy;m!9Gz-SxC{)qupeNavjjQs z^}5pQkvLDA8(l3FpXpRfcdv|I(NRCg9|ra=4Q#CTra2p(2Zk;PD_rC>NCkwh$ssi+ zLs;Qj**Oq0EGU&9yAK6054n#S~udJG~*O|s1Q_vXr{LA?j`rGb~X6W1-l(j&3W z%g4x!+p^#+wa=0<&`~AxqPUBsWw5Y=E_5j=ACAv!tyo&vf*DO)&MzR%65J%c{shH- z<-BMA;3_*n=pk1~6J%&FSVp2f@O!O4|3n|;Va{#o;lALbLWptj+fN3lF@%Q(^+H;GC{DoXLt3q+XF(O&VwZPXqdwmgx)pW~v3(U@yLTz|O@j|&SQ5P!*9^!kASBv@PAb3(BL7altY zDQzs)C}#QK7C!q_S88mOb!*}!>dEw#{w_;utrPca(1m8_HGzu8g0JnG*+!tJee*B1 z*qVV3TUZxn_xgJ8G2OHMh@PwvFfvY~2|p$^c;G`|Ti=2$cEr?SZY z+k@=WpVFnvsf}kdV37N+ZtdAQuPV2i@MK`fHq*Um|L>AP4_S#<4Cxi>8<6%@jeD?^ zSwZu3@8kxn8VJ#_!B{5)z<*ClS6VVYRW~|Zi4w1Pi{TESzTUS6`abM-U^sg%4!Z+9 zM0R0{hSOR2?Uy&6wIMol3}KfOhzK3~q{-XqY3)U~Vl~%~=x6=-5DyXhS0PJnQ}i@@fLi|(qc4dmaYi#;f-93WEIurE2;%My%5hr}@5fO_t!<2?s%@IP&RzA) z=R~#%Toi_u(i;Vm9t+!tKCU{`WJ#SOn_7UT$3o|3G*ddf9NAud`GLt`=c%&2l@ZeA z;1j@!{tM1K1CAE~`KA}wr3v6O7`L-mi`mD9B z0aaBz^Q*BkLz|?Qh#gm(hQ?=q7VMiwJ|f1CvW98(E~VYP>Y5=emyEo~sFVI=cvV!f zMLmkw^*{40^AA78ElFc|3`zImaW^rkDNu+NRxs=$LNcsCsmDPU2_|~ zWw+c*Z~EfS`@b)71GyEYwlJnNJM299=-kj|ciNy_WE(U3I$%Pkef&uQJY_PpC^Qe} z6C!SEydP$%Nhr;=6*5R0b3G2L8Y;dK-MLo!nMLRdPH8g# zHsi!uI|93}{T!Pjju@5}H$7J;O)wKQa#cLteZd}`rrEW31iaQfm)bJl&{+~MZ>`D_}Sk02kp+@ zpqI!FDpR<{&pGY#Dh0*r0<79@GQ}WYK0x61C}b(XT=0KZguIN#Hc1yame_C;(oeV4 zYy;Bbi@$t4`lAxQ@^0D%vS@)`lcIvpyfEy5?a?DOm~lFkw~ zVW<15lwQk;d%DLH;ig!uLu6aGtEHKxl!FACsnYRB@=WoIP zrL7`jJZcF2eQ`MrXgajCG0PG1b^i6&cp?Fe4@{YO32ALIyL1`GyH6azvdsJ71npEO zGfuaq9HUB+#qEjrjJf|$I$Hk!tLAG7>;~(D5n^rBIue0w$dBmo^uB% z3dHC68bAQ~>g+bNM>3K&U;5$uSzIkIN+VF<2yQsqRT``wYLn=t)^+B`12^3b2+i+9 zC4qg{B!wsL01&a|nEh+Ji2d1w9h=I%eabNUe75^xIVSVSP-9XIx`q|xv zCnm0jvNQx@{^}l~cFmU0eb5`>G>6uoYKDx_8;c7caZ7LXO4Wkhf1893MUFtOl&`V~ zVjObm8w6dgsx&E9b!bXz;@(9QetyGh&=Jg8(pcu>FtJ=Ab1$Lh)3#f12WSiejVsT} zK#x3}*!-Jg9e4m#5zt0ZS<$MdAe=A(-louni>GdrGG|pSNu@b8c4)U*KozZo&i%#> zp^ALCkh7$^(0hn$o183 ze`Duy#le#q*9v=&dLdrTAdEGlmH&of3&~p0s-fktS*33@gRkHEnv7sF;;CLEFEwVa zXhtAw(+gB#)!Z(JS~4QV*RDe|w?khP>y6ZY0X7P~1mE}iJ3tcA)zCuMTgN*93#;5S zN+Quaz<=wspM&A@1fjEgeqF8K)mg~FTvX#!@>e`{72-bcHa+y4jrVON|cyFSn? zK};a+RC9Td_TtAuI$9Q&$g0W1TY-{0z$WAlAn+0q|DGA^>4X3E-#QYffa*C^tQ0ZP zq*K^X+E^r28?QXkyk0)EOYaDdv)SLBgHgryF4k#(>~bmCzCmwieyR0vzOtj(J~Kcx zVUe?&rr@pYf<8a@2yl-__dUWpQs0ahnUlq=JggTV9fQj`Bv!Yq7E9v-k(=vMDJuiIkZqTMV7e}q3UjEWhHzDu8l@|m4Mx%#utEUTTefqmwXN#a%NlH9p0|t>tiL4KaV7*tUCZb(j82zBpf-|+fp z_&)lT@A6CE9HDsyCwC2@?2(E=dFohfzih916pOCG_=Lf)fVODcU#wDu;cFg;2TEGR zYZn$&?vbI8nZ2hHE7s0S;%tJjgV{Z*&ZA5i6CP+GZ4$Pmky0XTWp0{YF(4a+*KUcQ z`X~^gi4)Zm!#5WwWLW6y#10EawW=(w3+oKMi>pm~C*7p^qL)0!Jc!ab95{Iv{Rvbbk;Pko0=*7?o4(p}q zz;Qp(I@tYj8aV-SY?#?OoO$L%Q~H4+Aw@)6llP${hQx)cqquKfLvY>|w^X6U8MB{m zIFN}Khk}X7D~!j^>EK%Kc-sMmFMY%28=QM_S|1XgbNhH;k+!A~2CZ-fcE6X+ZoxXz zl9YTi)~ex_VKj%&J>u@U$hA0W3Rsu&W88ilGLC+kq#?iZU>ZFbP~(DcUZPEd7nb}o zR007Rb%a~i(v6q%ayLTaJmcmhxj($)Q^5O8!!9y(GMa4jGdpy0d=@VCv#s$(M}EPS zqfY>}K?9k|Y(DnO--$1!_(N!+XUN$&+4Z^ua!lY7v^Bj9bKO&UNCXgglW*=Fv~;0K z?+!)<=gcda=2fklL`7Dq$P80gY-1+GV?Si20jL*BmOukgtoFtWP*qH)`m&P7ktkos z_y;<%Dnpm=32s=0Cl4mwW?-dfLem^gUb8#J4E!~^VQc&%S!`HOB_;~Z%V!b_rdkXs zg!s|E2B+x#7V?Qh?9a(?8}W_R0mS%cEN24foZXk89}ig})5ufUGEp6lH!#Zi@%j?94g1{X}Nb*kQ*#(8DO_ZZ#SV6FLHgvV-foWxJFM)EUGyx3iVTL(Q97t)<=D4wN+Tolih2{bLT+VgAtDRWT0} zlP6lLvn?VUNz*x`)SRbU+2GhOy1SZXovp1Sd*r_7D7FAY2`|GM| z`!@Q#^D~kN9wXL4j_cEKkJIaC9GTR_q*N#r%I%hFnq?5D9eZKVZtTOo{;p+Rx+pm3 z(VEA|!!R9$9}@wWT-#E1T#VB6jGU|KaUvPvyW43VuE z*_GhW;P9fi&gUP9IT&a#`Zrj=`~5gOfG6e6-l|;#Lnv0>I)^f&>U!L%%-6ZVNwhw? zwGLEnGp)(?uhUf(xB9iJK&*g=Ct79n@S8gT_U;`ZvokofE^tKLP&d%=ptMfGC(H>x zgtxK2O}e?FKcUzb+91hmZfS=ELOU28oC-SBTL>CWltmeT%m&^_)J2H4HE*xvkAXFy zr(gTa9XqQJ&KBz*l5G#P4peoa2tri08lXT|SNKA`)1s_dI@R!yP1?E$t%o@I74>d# zUX8mAIObi${9Bk@O;EVyTNtSiZPb|@Wa{(oE+RbLS-ZqMV6F74H{cO3POY!?dUjJq z<9u|?Mh|vK>Q#DZ(uyK_XA0cVlZQueP+my7v)f_AQWCVatoliN=Vnc{1pl}u>v9Lq z&pmO0p9j4^_etBPcM(4NHXv~$HZ0{T(K8ts-7iFJjl#B;rPWm6zIQ#J^BJ>0Mik(y zM<(I(y58VG*zz=t^c(CNBUe(kyiLQ7;5}W^0abb+N-~+;j-XJDN1O2T2)y8QUWmiItC2Iwq#_OQyCv+}(iyJY0l?en5*lJr$&4L(JFu|h z&b3^PlbE?;=3^^rPN#%-6#f_6qgtkdtIfh6IziHnAycb<c2UZRYW;D zi5u~TG~^gp<0g8H3rNdqiO$!r>}V({EVPoAAiM&N^{HNqFOhF?4L>>9A7b*0&5X8% zjEJ`6JoAg*#y(;_TI50gLXQT~PibjflPZdfH+1kJLZ`9^FPL*3r%iPpc7*eGM;Q?X zWiS>;Uv$l|+yP`7(tF`NFMV2*XPtO34Hw+=8%xPvtC`DBJ$TOp=zp(t>tI zU+L`hH`QKi9K3MaW1Epm`C)bP6ukW`h;uLaj0HYE+fJw=w<}H_r5fQCb=H8nch&Wp z!iP1x9dmTMe}Jo)DO3yn*6vqZ8K(|e6H%`4p4;*R@x)Yty4LZgqV6Ji?zY0 zS%P#jW~A9j=K>6`4d7L`XqDT7dOMW1vR9@PJC`;*_?VBOhlgJGVJbIA;o6R%SRwS( zRXBPxQE6h`!<{-ZmGt?gX=t0J^&KE`CDO$sGZmHcnq)#7eRhC>lZ#uDD z6xctDFf4Rphd70`m_4a-ps@0nW;$K{vF4?j+?FDCaMDp#N(C|v&tB50nsV(=*Aqyn zxqP%9+q~z|uZcBNreWy3CvIBr-H}yMtl`s2Rc5;5RNg#?-T||Xffpb`X+>BX#3xB! zR(mb2Q&#rMduHxi<=M1vGMj;~_IEc1U^vBD7Ts+ydW9u)?~#P|41p}?I=W7_k(gnN z7V+^icYx2uT4&DUZN)rl78%MkjxP{Dxoi$NUS@nbW2Mz^93)qQWrhHrM+Qv z+j0BScHw&@bP&E9)fEwn`F}vz?L$OwA}n`vb}|Alhv6f>#)U&WMzT*D07>h-I(Gyip6hg6j;zd&1T($e{9atW+d&}61dw`69~Wd6Ci zxRLnRp4@(c0W%O~T9V-zS~2k5D^Xq2C#wM}3+W>rScq+{qDd%p%y_!tK|>a@#!|Z~ zM<#N4vLiiI<66fRvKQE4ksV&TS(u)u+m2WGy*pb8D|$P6yf_pd5z5_`7#JG!FHJeY zZ_919Ib2=&{x2Q+9|*!+HGOia(&XI@99W@)8=xtrvm=%X(38m2rQKE4*V%_ zU3CK&LaSuZ_Wm8fWfvo_b3~2oA#`b#5-VvF{uYtZ*!7roGqe`m&WXOjzR!cbXKp9* z&=tI{RpD0^^pcNm-%6+;QX7v4>{vo)b7lm=AZKuPS3SGA#anO0SKDSOe-UKhv!hG< zbLrO6bBO*3EPG%YDU_ceT;n4m{sYH!MOYVZwO3zXE|u+PMSRtt>#H4JK|sA%?Co zDr7*Hi?yD;Mwp!|)77uHqvztNx-Uyf3h8?dhASoQ5bMU$@;bIyPkw9(evd>C*77@m zR^h^~*~a9r&R8c7DiC>-gJiCdr&4Iv{JB@!6fDCeb{YPOyI8yES~0Ipyy##7{Ol&k zbzEj$G>iLo-W@qmIT!o_(n-DL`sb|s#bNkmMrb27s`~#em4TuXg~u4)0iNevrhA-U zgLEh5vS(*uCCC7Sud{` zg~nY6i9(Fbta;Sr#E{g$`{N)k38^57jm_Pb{nSuPEsek+RETBdQM>xZ{4rlsMrBoz zWQSz1@8Jmo$@b$X@A!kk!5>Kvv|_J5G7!JxXN^O|X)QD$bFbC{4eJ}8;O`bdTKd=| zUcPFkJe7t>Mz0~OfKD*@3pl~ZjA8MNuX#_DZa}SF!gt1amFzB@-b^W$1C!m0V36@` z9DVGn1uKEN$BN~^t`E;u@npb@lCOtt(uO6|j@+X19p}DAd-)QvLEH9LFwF_t)P>!m zL;Q-CtY6V?_M)uY0zsQ={AtJhwFjY@$CCN; ztz-9a8VrVSOlpwVCsk#<2jjN1R!gknZu$`G6jeV(Y5(x0riW&xxM&3R%3CJWHE)a;SHD@~TY3 zr*hI}!C2HrkBGNo+Ov6dWL`1@YGSeMs?h3OTDM9SYZg&FmTxPSghdpz9RszGWhKB zUXh4<)nZqvmA3RJJUDptSo}*}igi;ak@nScqpzQhj}&#m4X4(n0_ydJThdX5^yZVZ zzCH2VSc~&3(>xIC4Q)F}+7kz%m8+F@MPHJ)qKZ({KQmgI8NmIW{Vtea;dS664Iin5 z05#VJG5ugfgXYMa-><&L2fdadUW!uaGP|}kEU8GSXgAaW4nSvKQXuV;#EIUW`E^2J z*-*IV7@cpJZMNmsg6AZHio;lMdJ-+ZJa7c3nIq+61&VRSGl zDCW%O5i4p+X1X~bkpDnUZ8fC8(UYqO z__#yQEtQ5G_%IWqVq*z$TcqVFJK>ZV?v#%ZJ5+@oW-Vc^eecaVN^oE zr-)5ljAd2#^RrZ0TKB-mWz z?H{s%)>K5JH(=XwS!#xWiQfc4(>%VI=$D`SF{b7^+I#O3)(;7CHmfAKIoB{qz zY!3|5Brt~VGf)P}K2LH)%@*hY5o({+bbi(Ktor)JKUKYQQ%Ek&r0s*yawA}nf8@%b zf&GoZ|3>+lT6fPvN$6_U7w?Yyi|*q?ydom%ZMJjT za?kb~q$!+2GNn3@IqPU4U$FR|e2A!5LAUZJZ4)#!TF_Ec8J<0jp7J0%d{NMjqR@Tx zMhuj14Fq3iv`a{SIps(9z&_OY4nRK>qCHaOh>YB?LZ?QpG_I&pW_xJVf#Lk_nqPp) ztxz0CaKtLKYM9avPV0|;%5&;sv)`Va9eTg_ELElcbjo9yZoIuEurwWR??1cO#bFQi zdD6UXTsCpF_346vbMFLrPf%%=A`{k+^v=jydSRMz+fsH@r!=?xisn4L--k_O#YJ4} z&4fyL+jpH&>vrC=R!y@ex3*7PGp@z@B>=xinppZxP{OjZnGn4`bDP{j33WsBp=Ums zk}YP4sjDny8fPENWIk5Ya$3PwG|n%J*-V&eEj`g@&^gme+gr)fo01r+EYOm3gJrS+ zRVGEBb(%XtAk$c9hM@bU&VD(3?+n1&7xY5|v3COC zu^bw@^z~~gZr0aNJ1zd{t&)_(2IGMq!O&#>Z?ZYoaRZd3>AFwakN=RKPbu`b z9;lypoWQ(%D^)M;`V6ik?y+CkZgUNkn&dg^#0l+5b4-rpmi3P*ZDyPeGZF=i=~r{k zs@Isgu~A-@8LD3RUs6Hnr`jC))ie5JK3DVnqP#o6Fy+)j zuYU3|NoLKc+lBYE<)s|?1iF99R}iDWc5@ySRXS$zQw!3+N1wlS%RkDvO^b25OsKVp zEW}T}B@Kn}xrY>ZPor}^jM_-dB+J5JIf9LGGVo0aR7{7N;5V%_1R$6ircreb{}n`Zz=el)8vtd(yji z#=7?p#V%wpqaBa%rzdtG)s%3XiNa7lfWiqE;~qmMV+lyv{&Q(LP( zPnsaonkVcFtBjQjvudoi&?>`J_bNaI{f_d?t+JMA0R<*$p(bIc=dhTPc7OtOC0Onb zaPYoqfzThT+BNhrxq}CufPQ+h+(_ZLN**1D0#CAz zH|LC2KX=9`L7p$rBhaqhs`CqS2tD*rcA~~7luSsGTBTy*sU%QzgtSeS22a!;EJ|`$ zov3kTrywUKme8!MYXH9=R5bI49M&5qB)} zNpr}g1lkW~zz&(h3odw<4>E;0iXaeSx zG1|xSkn;EzxT7^C6s;)e_GtzFotk*j%{AsP5-6~>eQ<^YIav9_n@eh0daNzG7G{5Omsmuv^sKs zw2>&6OdTCr+6%QK{M%?4kuMPuN1vq8yonh}g(D*Bbh%K=<-yvL3^&i>2Dx(n@R9z@ zyvoD)UiU1tq*xppB13m^{+JHhQ0U_SwlA~6-mxBfU>fk?%(51zK>9t}780%*uH^oL zwrQvITxz7fW4Roq9sKk!&T$Kmrs)5|#s0-cln*Iddmhk*rt$ot4Wi;Zp53sZ0i1*@ zGHnhl_y#XmA>|NJN9ocGwS+T-Q__D|ZKSsQlbhN$6Ec{caQnxwWv=qBlrA*>*r)0+ zG0hjW`59g_2K-H;uN5xHd5@k~V5l2fqex1n2QHzdqQ`%`9d4gjqY_X|H>_Hh_p_BF z@BhWvq6w*tNIlAuKK4ntW(rWd(9F4LonUU1F&6be3R|=x(c>w91z!Oy8g(GDnIU3<{OcWnX5r1qL|UrZp`iIODzjl z{*|kmCTiV^BoBTS%;dvyzH6)%=J@$z&H`c64MMsXa;C*1|Bf+*y2>czTUOWh*ISmH zQazN8c<6-8jfS+|iJkH@3uBmDhc&tvWUec4j$fc&N!z(AOZ)s))c+Z?a_pb{0Mx4v z#)>9G`$*FW#)p(~;hU)(Uz&}RR4Cr| z1l9dmjWzz|*>BnJdV2eFLV`DKJvrwC1Y&%qj!5Y-4plyjc6QxI*8lz;eWUdZcn1K| zt4as8P7D>Fv1VF$4Ma=rMEhx#T+=@~u)PEH9e25{2j6sEhG?$9B6o3ufn9b~ohPGD z#GhoomfG@a$WB0RyMW&W_*}(Uw4@$<2E6=E`P*Z3Sd(xlt?K883D@~$z3R(_P`%TO zN&GI$jAJIaLwLNE__3^r7Nwr&t;V=T8-ZgNga~G+8xT=1a?GR6iyY z55c|+yOz7f`jp4H$mncR|^@)E?pe*(H!rkeJ%^yb^v>yh_|ag@{KJntt;+WEdyel)FR zeuTH>b%NO6a=q7$*A(IfOK4E@v~kA>&`=?PRu)b5P^L{ENQ@8}^>ed^3AZrPG)|WW zbTH4Bnz81;6T-;!Gq}U(*{1s_m&aAVkUuOF6TVMoRn6FtP_npPo;t4jQF&8A|ULA$<;=40b%bi(tP z5_^nD^ctlRd|s~vR5=-4>_x+WQEI=daj7%KQzgRtHng1x;pR~&3 zPRv}xfz96>eqeXTpG%I{D>fF}{L#(I{+aeiBuR6sgW|kP+#^<(Hbq;r5|uKST#{bU zB15?s0Z@I4EYgaPJ5n5|!DDhUFx$c>c&VXx1eBZPWlZpY_dC+(dy*m)vGK6jAImip zA#wbIlV2(JfSIeq3RCsi>m-UO$qqhR!)-6!%!dCx{WSO>c`fX}U1baYBy z*CP$6M!BFI#o6m6%;!dE`LLp{$XVb^T|DDFsGGfax_o|oqc@$YJd z28cO7ey*-)A6%qw)GJSADPl^%uld0Q|I*MxiA;M{r=!DW;MLIbpqCMMkW-)$VVwL- zz$Lz>PChvvBV9<&C39q0ap9@0ayZkLIa%X+TJM1^Rmzf{+V+LfOP z5Iw^ukuNb?tHm9DPt5Rft+o&tsq#$k;~KMadh}GyAH7J5tPrSe9EQa{qezE{GrB}8 zqU%q=YMGT|p6R@=Nk1=p%~$$++>d{FL!)|^AVB7QZ%XD_dg8BG`$Dg3vL88uaF4nv zNt-*sBK2pm$8h zN8FC&T(qIUfn+KBtS*fU$Mgl-cxo721`j$C z@j=5r1Zj0s=HBW(32&L#lr_mJg~7J>jk7}Ee%oU<)y)5zc}Nu?HjaPhl~SG{X!!CZ z-5_3qQ6K01dMf#xi=U?e)mnCnKyEcCjaj~T&1jCPQU*fepF-tAV2?DGWz2>oDq=%6 zh8uI}NOMnA*dAlIZTR)gY;=|l+c--t+AB80_r31!rwh$^D`pof zkh*6%FxvBzZ8wI@QHB}Y$7;fdvmi4!qO7lq&oS1x-yXf&7N`_OcFqm1%8=ExMapF_1h&uZk(l79C$}MVTfY04BrS)xKV8MH4Fk%3Ma|gGO) za}p((&6314iQ+yzGpV0YDao`y+9%<|cBmLkeOzfvo)F8(l^aV=snG|L%{UPofBh}C z_BZS}(=)Nn*2RbHBw(awJ#s7$(maNJ3=v2%a-0G+jJ@H*mYc^@h-oV@Ny=0k_M#c! zFXv~JwX>HYhA2awsy(w~VSOQYwCCkA7@7^vtBPI_lHKTccm^uo6B} zE~x81Y%el+S}OG_pPIlwnUmJ$_wbq{Zf^p2<9*=E4%_%X4)h(Lzu$3hfFhbOf#b=? z`x(&&>C|Zjl!>`7Vv`IMffa0iv6@MO_73IaU@=vvD!#IWr@X*A(K(}}DZNVh%*5ct zJptZHPR(_09|k;(7p1?I>k?STc+=mIat~vA2>rUC_%iP%2{L0X%hpeu(${5iVDo|{ zl6x;^M=lJIbS&Ff`z8DN#o4UmF=DHydxCfH)K5-ZqmSrC#+MsA9&n|Vf; zGYg%*K(8m<=$$;?UDF$_zbI6HAm zFY?}Cyu3ZrOC2-S1S zp^@laE$%=9XQY*k@qLzewFMf=WA^MEuN?SXg^SpkUo$CE%0+$~(_WJaqm;FEEJ%~J zQqSdwO{r|@6eMx2V20+TbMRGUb*ZNjb*( zzu0@rpt!bfQ4|6}5)v#B2<`+;cLTvKxVt+vF2NmwBtUSdad!!BL4yTrTpA1Rgy5dL zvcFU3?DOh;x8A$&{d%>lRuzk0YfKqyj4|gNO0AxL4R`N_+*Y5qKMPr|%G^UfGJLWT zdmAr+oo#)->l!gQ)G~&)8nG(5pZW1^>to^J{%jQ5fklh79*@PQQw^*A;|`1U)swAc zyXi07!xI5=TQo#xbzvI|OGP5MK5|A+Gi$R}xS&bvFfOMS%d(U+v0v%aQ%17SMAA*YJdrcnuPSvq8H0OD#cu zX1xB_UwCQ?DgFFqxEjM5Mfh4$;9nCCwpIa?AUes2d25fbxULy%4eRn;mgv{-u_Hil z*qEv=)wFMZMfnOPjP9uQ%e0v+nyW|Ax+I$Sh@LBT zfQdJFaLq;rw;i?WV!wy~iYWgvR5vLv{JaQOScKuTB}Tl(jU@+-LiDrpa>N^L2Qd4x zJXhP0t4F9t^pT0sI`cSb>o;$PE$;C4(WO<#l0Q;4Qo3ak`Aw6 za`)uvD1zl2$~0f^%pPZY#WLMwu?*)VoX1>zz<8t^Y;K_=NGPe*IK43}*8?N6@@eu+ zY9Nyav3inWiJ*y~4xdOg@9w*KrEq>o??DBHtAZjemw|nF=(JB%`XF0c{;WJVX&9W9 z*R)0yf4HPP2sTw&9TnsC81@tbwqF}6EOSA$_)+hdlx946BRt&aX(&-0KOM8XB(hG; zGUZcb^#XT7WiR1%Ck$5q{{4X-(I?W;j44uckYWSEfPV60=)q>BPmR{BcOlT582;Y*? zQHE)9!^THx`S3x5D-abeN(FPW4RTYBW!ffunzWQc1FSE$r&Kp`yA`!sO<|y)cyh(6 z7`gO8p@rls!Q7vX$-7yipcu>tiPVx#i;91y6%vdPcE%f%DS8P;KksM}yzV+|c_se44K zax!z#sp5uDJQ2YY$>7?SugbS3HzCMFj;my~T$Bxh(Daq8IZrxehJeC)3YZjIEHO~G z^-VCldvvzZaVy6OxuAV?S*Y-2B%D*6yuP=z1lOD5$~EE3W>S-$zKxn268|BK8W@ps zT(jwtGE(~j+y&}PePk{(9Rv$ccS+}R3YNm;A{f?Iun_cZd^64mC6y;icn$2h2Q}0p zDIzv`=sA4M$FDdgDT9aCM5KT5h~XVGPjnn z6G^0(1{dl>>hO`Ea@4(vwuAB5#Hx_Oh6bn+)NH(NOEQ@16<0|tYZy_idh9xj80bkM ztqBAtK=?~f2Occ}wOW{SPYF0TUk1hk#Y~o%Wb*g~l}-YG0!MfxgX}my#}oEx=YCI2 zAZkc9eKBz`QK&RTtV+UBk_he-i7ZS2V^t@DY84GM9`Un5KWfLrDpe%4rtE1`LlgVx zV37A##c+{%-+~Hx!V2aYgA#SY-08~wST;hQ=S~f4GSz5$QD%0-BVAuTLMF|zAv$yP zkF|Q&oWC+i_u3KSPe9s@*N1zm!c0zIep*S{(JVH3BWKj&OgKh&yJG9<&A-GO=ErYJ zqVmKwU88Bcyvh%H5VhsG7ler)uN+a$|Hn8>HvZAuRc3l_!}s zJjv#GHH@m!k+i1Z2q-cjznG<&qk=#z@1bRa&cc9T&qzJ`-lAR@&a4%e2dYg}j!pt` z^A8%K&~l7eOSEt53n&kl?n-m>OHWplh84dN@EUcS+ovs{j|_>8mf<=9DkqkaL*8lx zpwqyHSPoqKF}f4HX~f^QHP!F+V!bZ`>FX_)JZX3i;N9;Pd&#Pt*~*T z&CSBd&8=<`I2wt%e3b0x#dpWiR$F^yhB0QI?Tl6<@;qtE>shJVK`o5HtA3%uL9fHbQkFWXAom_P!K5*E(97W`+{J|t}}_utnTwW z4Q%jZN1)`)0!d-6x?9&kKQ6l!F8y6stzk-T&Ew`Z-S<5$^2Oi6B$64xTwCIFpG*c) zpA3QraKv;mPN?T(aJpHlAPVy;O^L)8Yq;ffASNa=b3;5C8RjWrOrx)Tj{`7j7HDwI zfDH|V7b8y(p-C+|<2-EVGJq#o-P5WWCeqVt-W$4xwDw4XK98fYi3uWe)@)oZD- z#lbO91oJ)Bab8gJA#RjG$+TeP-?hY+PA|;!*lgKX%OjOp#Nd}zd;e9mQ<2`Y%^*uc zLIY%5Xv^J4@4gNxZFk!M)bWkKfKI6fQ6Yf9!KTMmg)(2v0|-*I6i$g^%1dYz;CkSJ;l+WrrU z^dj2O3GF(yYQXRw^a>l2q%h|a9uP)50LQ~jcR6GXz(G?GOX6fobAI%OMuJW|crZaM z2X8ZXZU|K36iTfWz&adLXrNEp`>niMl{qZ!r6ssfD*{uMKG~W>RRTt0ULGWFU9Sm;91IEnoQ=XP-UPE+(di7MG+!0yRyaAQYK6j3}}) zff}z*Bu39A}kKB^2NVF-J4|T=MmcWgVXAZlBLm5qknai$Y`GSM64UR0MOiwjIu1j^-VZMEfNw>Pqdc6{ zmG7(f=Jz3qPuHLIc#O!5^fefnM#b@pvxeX-ZNF_4)Wx!Tr0Md-imOG7m?t(y4E3qG z0@V1`TM@AOrgUN?$(wW--bd0a7O*eKn2 zX!=2ATwm(hZHr5kJSCZlRa1mB*R1`4X*|eYxfxV^#f_5RqQY<9RWOx^{^KIXi>y$~ z@?0or;Y@DRxw4k1&t*^YkaP`gdSC!9_aOn>>C4Rs8 z{&_|%^Re4WCd^xKY@VZIJee%ZSm;NJ|5EB#a|`sXlNEHw(K%LD0rAwQj=c*0N5d8K zvsYFJHxP2WifbosR*?h_*pfg->7Q|#q}955uFC^mk2>|^Oeu=68f5e<_Z&PQnL&AA zb{_++i9+W3W~rAx3s=e7@a3@udUbGvXW&(f527y~_)w z=Dfb6M2YQonD0l+6Z}RJ?&*MDM1T7H8!6lT?)wousapyUhHrI{IWBb0{16bsM^oqj zsAGp{D|2_qH|2ELxVYR)rX$+ky0_ij|``<1`9U598N zR5<)d_9dpNIbZbu&PH)5*RVF6pj?aqk-PHX+Rdkqa_!o~Z@}0VHoqQT1MR*fwQ=Up zg_m;w=nZcqmn%6q8oPTAbPV-txQPDYevg8W z9c(kVkWW#6=Do!Y*I)y-`;Nv8v@qAlHxf~UhvZp*W^d{s!J~cN)M@ zZ0rr)smj(|lWRFmA1d6(!Bqg7p0Tb7cdpf}u@>pyvg`Tp0Ur-CKTnpknma{t`^j3v zCPg?l?CXV)l^;s+4H|{^t?V(G_b4jX*v=9 zt2P?AncIimTz~?e4;@ndMpBvbMS0rbjnN}QIx;e^pYLVqN+CRWZ+XbxSx+H6#LO9v z)3f*&s{k*uwZ$XIc>(50O9Gjug;6^5qSx@f`zG!`_Qqh~5DSRP0mipD2!a~*Cj>Gm z?n`t~tO3Jf@}{YSJka@%LCQzHo1u};0U7oqj&)+0{fF4k{_t4;uJ_wIX8xU@6qi`d zi?&CjB+0c^8lYDaVufk)rTu^@$a`u;Qr>;p_J-cWDYeS)Z61Dv+yzz;FQMf*dI6U& zQBdC0>2D+kfJ(}3czE1m8&Tync}9_U`P|+7N;>vt*6;D(?0GY5DVF4a{f)E;nfx|H zp_vvIdFF&zjKIhHd6bq_!zXsk!5f|P!keV70~wgD0QaK6vRw0h%CI&Aq(srwEy~yT zk6amIH?g@S-T4Vn|8SpIQF7v$(^R@k1ZBEH%z>Soe-H4$a9`o;a}LezdlZmI%55XJ zwpa5HJ2{VDA3*ULQqwB@8)*vQJmp)GIwJot;0wm{`_8QU(xha!%GRSgncv(})DeW- z{SjTJX*IXPQ7)SIC@;eVUPlpLMnNJx20ub7y(tV7{)j5DU@Z`10kAZ&&#>?0P^B_O zsw(Md86e26EP+0hfEYLO7Uur@Z!Bx3N6AkQx_PCKGqB5-a-x5+0%R6a-75R-9YA;% zSrl&94z(Cbs9Sadu?UO^cwU>jgfycE{%cWe8Z_C2GP=-Vo}{O=Vd46;sxYV_J}suz z=P89{I%3Q?>Ei%<+DY$(_9OLpyvaeo(p5eKGK$ zU6d(dA8*D}N*P=>&j7p}b5-16sRhQI1j}wZj2Jex&~CsOLnsDflf-KZc*kT4qOlE( z1F_eAvwaL0UJh%xI;C-Xth8_${~SkYi64WoWC2S|uoSi40C;EKOa}KA6eC%>CPfC^ zkIU4pPhvr>R%sdP3xVO+o_18+;MuNNZ` z+%rh*X7#hz$qiPl$-;!@d7T-h0ZQaaq}{UPNS8_VjT??n4EqFqZ~jf}8FwlS;s{k{ z(F85cljC*KH;lp>WD?WFwG*wk8d6OtJ2CU8nQWp=6Y5L~ZAt-)kX_B7RI*j!0hU=W z?j~WS6y8Ds!V+;`D{fsBA!qsPd?AQ*YBMrpFqU#RV8?9Ml3Le85Ins97DJ>UL|PAb z#^$jPl<4)2g>;6=D)FT^r53S;v}oLE^?Q*wDi9i+e(=F2k0aZ2xlssP$S6;IVliW) z3wk#rPo!!rVI1=pY>dtiQE>&?&&|}ygcHb2KX0iqys2h}?fPPrupb62V;zWoTjAe} zP?X=H_>DyDe=gy)=Ksv$`OoZboJ`4VQJfF|pIlPr7#}kNi-~E|k$Ey>`80D2_A3sJ zi>ok#(d@mjVg#M&1y~RLLUa+cA6%u9sCQRli=Iwn{4)I@{cD}nM1ad{cL#X@l{9E9 zOw+YOR%@`7H;EfRy7W+9oM5>`-Ok-9TJ*<<-lneYQB`%s3@72dysLnfyuw14U~M~S zw$u3}%q4B-Xt1n|@JVMPHznzhQNN(yND*$uaHQ$qNJ;cZV{P*1yZc2Qc2c=Dork*_ zBSE7`0wC&^(Y^5IIi?M)>dq}4Prs>Yo6#)&g6U_h4PyvR$zo0$V;dh4*2cAH{CgCM zR#k*m;o&pR#@&}nbtGjiEqX}2IGTRWhw$&HduKSXRt^IW4j-n$!&W1f^BiG6(P4l7 z$rph*!H@pWuNZxiE+g!^&JXQ+Jvt!?~;Amgv-QOOQejZ$N}PDt{$<2 zwkF|W(3II&dtg)dO4pXhy@WU#Mv0FiM(IULO2Km~IC56iP%qG-nCE8GDzy4y@5ut9 z6j@)iioU*zd(O#O$^4g3K8@{FO4gm<IcoUKpxW0kGR&lrhmJMl=nlzXLndMaq1^Nu(!EKX6H8 z2$KLyC(s+HZK)T4QbwBN@C^E$x}}+kLrqNTF`1b(_`@F4YB<%jn#aYp(pZmbsO6+K z$Rq&P;Cbd6>vb7hHD_!n6X&z z@b$`1napHO)Q;)5SQcZTa&b`1v=pAjJ-HGvW{hW)ma|SEppZ(WRv0Wvq}KaI*k>}c zp&XG%%mT$4vC~KZ_bCletLF|ICxBnuF`8l|ykUf5waRc{7nQeU8llECLExtCBZjtd z;V(#1I_F{46_G(?3_^AFG;)tLa(?=M&V)k_GSrDPHI<79-Qd;`?f2B1$_?E}WYZQz zm+_}?_xXoc9+_|H^@}v4`#r)}uk&)yjIuVq4<_Ny%@dZ}-}HHOn*8 zdyEY;^%`~W4T({cP~W2;nLpusCtKXSH@Vm__nGMMJCWdW$VSHVPL=zz@^$Xqs=FCQ zbc7!Hb3qc8FMSS04!wuRqy}sTG^Eah`&Is3oDC$KR@lssBZd%W#=l>(=cz>ob;4_go)5gQAC2z zxMP}lyP8uIap5H}Pu9HfVk%iT`{1^oSvQVgknO$WQOcU(QiU;Zdj;lo?d>X`^DheM zgUW!v4}-lQ%|XYYHh=WHvveTu-Ou1dc#m)LwJg>BaYpl1bj@$1*Jjug@3Yc`+VLBO za4!ruSwb$m-L}^RhwchugrvLuY#*)^7VjkI{S#^^RxlT`LT}kml7#OW{!LFP|Mc?@ z-T;b2IWuUK<5Zt1?{(8^c+dM|8(*-h7H_|*rd6jZSk1awc);%s$uj?)?ydGi4?El&A-}!?1 z@IEWgZ*0mfvSGz^+BloFuq`dpR%_L#8D%>oQXzozrM_wF^NV;oI-&2SlZ{aP^lS^E1@EQbl*e^yurz!e}5&sb^|64)n9D?u*bHlc_v7K>?hVGuf zDg(9jk18Oc^bcSjNB@u1iaqX|l{wYaNf$yB=r(q)}Qc~yKa8iF<9*XjfC=N zkrHUMwmCSg5Q4g8Oc!YEd-KVcc#XxC!nI701(9I0L3jFkS2ZVR&X+@2F#Wi$YJp^f zX#SPbB|4&0s!UZktl>yoo*rE;?jU|u(vg8}D_F2jUlAyYIZ6uf|LEyULo~%knSxRX zU{-nwjF|mA zDsU8|gGxnMHoW=Rh-=5vr!)fC#_DnacRlS2P>oaoZY$K0IstGemkOu0hsc8LUWw&l zmS}y+Re(w-8xwj&ImhY^VadeOlACQCh{a+_GlXepnl~$Tn&!*)gTicyxn@3t%sF$1 z)ARxBWpyIh&LsyhA}S3qjhpNB);)o}1H4R%Z?g5IqpSxK=eh0qT-iy7BHkG%J@F~5 z$9EY#wn+W@@z7vK@X@&tknX2>rxP*?+`KpxI^VyWcHZ}mi|uH4lj&aVXqk`8j$j#;+uR#Qxq)|@Zix_Zrw zB<@I|p75LS(dY%eQ(aNcp_n1WPjom9JBAxr>^S)8W#PFkGgvXnobyH0)b&g3lWZ{OXE3tg9IQq(j2MyegU z7g`p`viObkpdqyXFuixLy2@muIvHj>nV*h%buXk^L!OI`4lYojPmd->MM1$;Fqvm~ zXMHtbJ$06v$l}}}HUIXKnWhOi{F*)=uuXf0D)TBjVd{IPhUnK{l!fN)JKtI^WFZO~ zAiaiftDNrik4h>%;B@8~(7+MV^r6pm+aYvjPoOgm0`!&J^K2#27^nC{P=dD+UrM5b z5rkT_$)9UOi17kV1+n|JD^&ETQci6Q^qfc2qhgLo23=a4+?_@_WxJy+TqJ{gcV*Vc z*kyr`$UN(gG)TKOdbg7=hkS?XZzS1h;K#j=H1IM5$AqWX-re{7vej2@0>lf;h{Ww7 zXXGq6pKrBhu9tv)ZS7eqT#EgWiL6x3R}f}nfleChXw<%xf6G8qi$PYB!y>F)TpZ_x z{8dqL*RUX?5usmQF=pMWwlr^{0a7ZAX;tqs)K}s{MmkTwH@o-3pS>5_9GSk5=LGb6 zdy%}6f_aMN^1PF#pBM|A-WfTWD@+_bpFL=!@AkF4>vvu4Bkaet-LcT&P}v zXj;f&kAv)E{*-mEX!!>b%9c2=2MRa$r2>VeWxakzd82ey?ucMvUPwhBMwZ5m8=2SM zt+DNtUgAZrQqp52V;l59Y`r8NcudNz;`p<-mW3aH%yDQFR+=&t({$6?FzJCk6w^i2 zn=H&FIUMSmp6j0m}iD_zmdeR+^V(|r?LO*mIC9Kq5D4eKMnnZ zqkrh=9~SvXjQk@ZfmK9x$V+wSKI5aWn3nydeyizWmx|!#S4fm(CN`-8zklslNtEY4 zzjhy@zOs{at!;jf+*<{7@(jg)DdYptbF%W!R_fsr9RV(e!{v8#Uc@)D3XVHJ^9(y% z*taxXe~fHw_qOz^{8H${GJzF!kdm`Bh1EU?>ECtFUoiM#;#-j1N{vuK0#m~Z#~Ki&!U+NY(Wz}Ol1v1oM7Fx z3!*)DX}Ed$)m)!QJfSNF#Y5IHkzRxI5nb-Sej79#vv2+2XOzJY*t=l}j0VQz@^wLz z_!HfYFpR}o9Yom)Q!%$^l?x(j0Bh&!=cl}U)Au?e&Y2Q(#<++XW&tCLU}hOTMV2ZwC%EBN`4LJW(Ibp5^gbe@J~aM(dxx)kLX?16nv)%8Cy*49u*T8Il_m=L+y#UT_SVayjA>`-8m4GhoM zNn=K1zLf{N6UQEVHc=)Wt=kmwD~UC_Mq{?N#@Iwg1PH`+S982t{W4TXsmX?80)2QFgXJ%{i|3;c7 zcDq+-V}8J#_UD+?S}xxfa=j*5MJRR`-(`n2<9r`guadQ8UZ9Vp6F#m5PiY;H1 zA4eNAn7l^XNcT3!AA_qSG@f}j*5WefDc6)So2{>+Ql68>&-SCl}8Oxt|t_tu6ND;J)Kx{Tv56W0Wj%kAe2lf`7tKi8-T zp759(b$Vs9iCm`t5+HEZw&8S{x!^fSL{^r?@Be`RJWalM(#^ptQX%t3RxST2^Xn|# zZxGe+HsItYXejNkpI#B!=r)7!B6Z}jIkU^JR>L<*od*03iHUp8TH>p&G_6W6J9LsI z-JOJX0^KdF46$yTPZQ-0a&ArKb8U2gMCU)5x*zf_Pmf*mt<5?lHmLD(=-4lF4tiU5 z<=;5IWk0bb&#_=lQ29d}I|Vg*Cp4pSx>eiX=t8>YP`>4T6sCo_@WKMh5cl0=xBw}C zrKbkzoeLq0-SfluQx{2T!Z^xp zn-4UmIq8Dvs1(UOHN(z6FJIi_*r`|_R7oYyThG}Jp*jDGHo!=CT(j^hj3>{a>hlOz$7Z>~pHX?%rmNFH04 zWcO^G<8LHMv&*F~AVg}_wZ*qKCqMkG-QX6h^quW_wECf}&nB*UEN|-3r8cdllkc*HWhR}~Nis@1vM}-7`9s%5>g(K{t*mz9ACd$$2 zt>jRWl(~T6K)U2GjR1+yjzoQQ5yd%p!LpzP)-Yua;3kPEfi;wXS}DwABER#VZqb`+ z(VIcC1&8xgPqNo6$+U)#`+4BdZzLJnXnfN0I6oj0dhifwby|Jmf>LP2OgpKW$uN-NhJuCh zRfc$XsZRfwK;f0BAcm3?G*_2YGG_X?1?$DK!kSwg5ZS6~CqU7ux6D71=I3wfCg`wc zR`kPFs~?MNuRC(@AHs&hBY;HI5B}ZjpEO2RW))9PP4=s+cUP&V zJDFLM$eUQ!C+;wo?9b5Ae;HNpLJf49ALtK2ndg0oe$&x-3;oDBg|cqvUHxkzQ)jA=-~Ik3%Q5Cke$pzd{~TE>?`y@Vc%;$#>& z0y#%{+aoRn+FBPlEKB(aqV{bCaM4*-I5rinb{f2e#xj==nYymz4^o*1_K<-j?GzlR zSDAFH$G?%>+jfOW#wzr^Q1>wFSrIPS+=H zn(a@LDOo}{9d18uE!#`=3yQ`rI;^Z*)>2c{i>Bvw0!6-e$1uPJzuyDqfQyxrk1I1- z<9$jNAgpMRkf3k;&AZ#x!;a0T9TnJr1I=3p3h&%JNOt{3%G$l|5ZUky zHS-L+K0U~qpjg4S1JZHo-&_72n1bRVYxYDC`wn1-ksEB9;deB{itsG6hnR;eZ-;Bq zpZo9r8!VthKYQqiJ@((e@pBmSBsU=@H}UhiWjG7D{I=jf_|jj8;%~5${XmMS^Sfxk zk4I?o)Guh@6ldTR|8#p^C|{_ZeBnW<^=9nvu!4W##)sniAuH{STr%Ykdb9qHzL38` zjstm>cJKXZegLb_+1*O^34afmzvu4yzhUq1z|p{hp}7AK=KsO`|4W+J{Yn?~k}o96 zGb^+GZ@m3K5$7t!AKJ{3FW161rX>w(&FA~J@3lR%4>$C=JO8(o8o$2shl{(}SN?F> z`5sHfH%;d}dr2_r)8|=e<~NJu`lTazUkE@#RKy&ly6;DG;y6aVWG6buJ`{N$NybgK%y7o$@W85 zt~=;Dpt_TPM2zTV#nPqky1VD-(xL?%ulau`4&;5j0a^AvE7-8({}#h0|Nl#x#qsP8 z-(CKl{%`W1g@Oi)f<}ne z$P>fJ6SE`A|BpPw_-iF`2-+|X+OXL0!8UutpMM49!vn;0^dB)jOC%@(Tz(RrC!f$0 zvdI3Te%yaa{B87sZ|DQ?fjOL>zdp{umE@m=WNzT`Ew}#$Jc=Yb^P@}G1&jl+R@x~@}}zqa>9k4 z0Qz?johQ*ifCYdO_HLm+w5j*wn#kyy_?iM`Pys!mgY@siTKU(+zY~#*Dxk+CuV?+m zaDRd60x&=P%D;N?<)Bx6Qv--_XS3cc|6% zd=>fuoH-1#wcKu))+>sW_4r)uuUcm~D=%(~_A22%UaxmzfTfcR{q(62Q)92-?oHmi zTa7c>D|C^&Zn$D_+8X~d+y19oE|XvEVMN0>HG=Z3N?}CF0eCe)aIPT^^qD%1c?QQOsdoqN$B!f9eJ?p91?e%Q!1lYzg$ zwV%;^aqw_E-zgyMSpfIp&O`u+GKN;*gE(K%I%z}t1j`}b2qXLjoY%D52_8v3IxZ&{ z=!`^krEvO;f8NmzxnG+nNha)S;ua~qSi!o~jOYhyHaaLJ(~mXHs|mdGo{mU%!$dj7 zLs1AaSpb!LDuYkLQPxu(X>Xz>H?wMQqRSHnrI&P(8=aNgkXqn;A{VdcOj-`51BEr3 zsb&uYxrE@9eQ&}+brTTAi9RKmn-!oTOr}?kcoHAl03LRJ0TtKk1tmEXPUHp;!b}d>1tmS0Rl+IH~`RQBXfYr|J?*x(K6&|wzu*|r)&Nc!8%0L70% z0S9U=#XM$gV!@I<a0a_-<9`TlTSRW>&kxZT8qKBFDHHJa;>39 z!-vH~C_nBd9iPIKya{XQOZA7B+i-H#LvBT?(|6PN1J^}Bouv~}?`t8$?>Foi|K zqOB|VtaoIpCYOc+%uVxve1&`Dt!*mD&^xPEA*ImaL019?=2qe^xB}|!^B4DncN6bB znhjHBFCJbN#h>3L`G#lRuK0Ph8l(<`nE3mE{N2BkUu;nCjsg z8CI1&7_7P>DMlC+h2GdA=aO}NvUQcN1$qV0kFs_6N!#S+-phynPJ))U%45hp9`J_h zU;Ly^&LL&K?tfH``>TF~L*ITmu6d@#PZ~0xURS3Uc*7cPxuRbmQ&@c%C!F$Tkjf5c zq?6>{y^lEpt-d{o!v{x@!E4Y0R^MK#@HNeCXYiNghm8aIKJ@c4ZNQIUU$ajV&F~I6 zhO>u$^c~_XFe=azt<`Xu;|k|0jI+H6Vy%%c;iIY%GN%G=$mU{~Mv!R_l3^U8)BKmy ztX%i<_e??$iKP!#Ma56Uw%SWNqf0spwC~h`Uka;R%PoZ5IvxS%k7Z-v{2}l&4^c3A zgM^4nn-xdY>zhQkkeBptWj^r&!gellE5tK$=5&fMHLX>bW_perqBOTRd?vrIJFYxU zLkvA+c8FEw?+O+Zx~(qElZP&q!AW39h6NK|@FTzJO!!&Rgu&pUJlK*?Qf*yRA1RQF z;;|rimf+-#=kD_Yj`m2mmry!^Di!y)2#NQaft@ZW{q%NZ!5PuJnt9etKX&(rB(Cb2^Dnh5R>`)lNMpK6J?vzi)Fb@&Uf-knAbc5a zb2|oCtblC2MQ6mPRyQ9FQW5(ab$wgh#L>P?w$2hc_GZM;In8L$HuL;Z{XVk=mFA3! zqDUgmjp?MkeJoq8Qei!3&1)eysm}f^y-`mn6xd>Lu}+)J-F`l>`&QgfEnV5A^<`$Q zc6>0SXmj^1V*N*mYL>y&i!A=Ajueceanq$eyUOqdg>zfYw^2Wd)}PjPUYT1Ax5i7u z-D#4h5M|AK)tcOkNukH`;UaibrCq6D?a+YmrOyxpaHU1{;}KX50{WOVkvmn;8b zR;!Twf`4DlofOa8wWM8b*ivgs%52BYFy~`NV1&suryA%uc57j%b5Nx0rR=PRkyirB;SD{ zTr>0;0J2cGu9C@^(Dut#p;(Lj7)I{b#dxFp@u!N$MUCsxR3o{MJa$o|wnE0)fbG0i z#fQCo{O=de#0s#FgrAr9yR`?$RzaQT;W!@0yQ|!%`?Kdam(E+)&AaMJq?-CsUdC!! zax_d+O4oGDY76Rw~Sw#pPa2MiQgV z@Mti$r-P*};T+f4n_`Krb4e6IuxH(NrFvqUUBi@%!(vOK5GXN&d_pDFj?t`|$o{eI z7ry5{QYc$J+X_w45w7L8&L%j)6Ilg0_CKE`T}p*FHH@sJf$b+zD{OO@9~$VKa7s|I zG6fdYvM|bgk#KZ_5HHu<#Rk$V}Pv zHHs8vcgABbqog!PCo}VbxP_6mc~|Z2N|~7>OffeU9;W(8L(8VaH3>a3ymY7^Wr3v3U9){EcT&Cx({#D8++v#2 zmW+FyUoy>$^fE8zTvz8)O&PAD=zy@`nlV&E4c%Kk@zZXb%=S`dZCSByV0{BxPGqsL z`;vZ$fP^QK_drivh5od5sV<|cQ(ThZnSFcB)dxX?HnVh{Ow)ujM4J1wiTzb;Oyu%U z9&FuglJP0>w1kM;B8B`Zm0+82=wW%`dPcuHt+zleTJ!w5`%9C4$3633qnj=>JoY=G zqWF0x){P^DVQ*6b8GHP}1{oR}z$HHAk zlb`IPtql@;*VBFxZYCSJlHv;kn~SgLcQQrL);fp8cdVL=^5`HR+j#DCRY-fCf#lSGlGD zK|-LP^yF(-O{?RmB)qHKTd*feB0p|s5Q5+Ik$~-I`9y>1rpmGuLW%X9&i%vq5&nLv zy=n^6Srb7>eL_&QONfNTf(iI-JQneEw!X+DeRg7-PM=c$jQSDWFc}gjZJI=z1$p~P zlWB&>4kwsFB6yCY?n$XlePDy@;)^LM@>5up3tM|>=>!Q!qMk;!ubWSnIdcCfR-fBh z{DaVDdgD&NoucYoR1sq@QPhWM+mEGv+&bl^{m9b%XBkf!YsM>c+h%pxS00?7d*1!% zvwk|Mkd5~3iM49ot&Zu)**TzR$#iFLsr7uPAJDIka1xZ_)L>0})k+9otcmfn8Ykq= zpCkRr%TEXwS_R$Ea3rA^q_=O?msaD1JeeQpL=6g>?PkXtZ2=HyRc~mjZsgZ0gX3o< zp`pPvs2+lf8_1y5mPnUa|5j!9-H!!Jw=U@VN22sNX&wf82dqkcL?0ro0gf=V@yD?A zPo0rdwacn&pLxIqY^$8*84PZjCSp{)2~zRYP*hq`5ik`dP}@ihCz$GATk!v=I1Ix{ z#0TWO9IbR}pct(*UKeB+VR-#@{9&f!HV&SmShVZEbt-wQ1Efcng=9fJibe5Ls4#?q z>(d{TgSwmhq2@UIkH2r=h3C$6$AM_w9bW7$LN6bNd&%TpK>el%)LDj|8@|?)>S?D6 zQg_^O*o$9_ra)l2Ecb4c{` zYy}eOINlK#QB+??wkk%oO4gL(VNOoQHKr^MWrf6wqN8TG zr1)U(@=;7`;v8=#aqS z9mh;)ysF6=y=>-aT|Elu`5k^MzkPE6=?PO>ys_jh@d5E554X46v0oe0D_0>;Wnltdb?M>5<4v9e+~Cr( zsg&^s3)z~^@5xV$h)`I+iig)BKSFJy!NbI}a?256QZb}fPM2hIW>QhgH;GZy8p$4- zI~w>-rzHQ(Kupuk)TFRkzA5#w1)eAcOD8(b7`?H-X) z(2$O@p_rbQ5i;pZa(H>@tIqoXpH|H|t4zHu{3(g3|9*I4&)~ghSXL#zn^dH^>l-cU zVC^8YtDB4*VBAd}5+B9ThnB3Cgr)4l>@h`D=urRcoFULerK=U>CYTW)=pr!TH} zoZ6ULYZBFtzOpW;NYXjf{B5SPT|@pNd13QhUO@6v+&{4$$ab!*xC7am+!b0Pc+j|2 z1bn2kM_-!Uh|KY_4dp3TomofP7a*^AqYj-&?Lo!@P86HFzL6f)4kh0L;d7*NCw&g2 zZYNHUK1d^B!Cf!ZcRGFw$)9T8YxyR6vERZceSlz64KE>cKyAF71)SbO*oDG=Bia8( z@_aCOC4uG~ki~P^49R!^G@;B{T6<5 zJhx7clev9RHtxUdm$p@P^W~Q5%!?y|5|3*U3>iLb-=>HWshCK~P z|6wr-s3R_gpa$U&r)Mji{?j4znm|2`ulH|949`t3?6L26@2jr(9~kai@3*f#EES#q zYZ}_{!-u5<0e|R1(ZNqi#xZNH65TO+H8j*HG*6`HBnx)z?vw>?AjYlWH`3E+5Z4hy4A(X#leDC=zk}zgqo|#{c6F2CC5qu|Q-ZO4C6F$#gLP4~g*z zBhx|fHetP4@nc*ipCCLK`TOV;S|oH~^cFcvVI&JAtWHMaP86^)(9s(tltE-+A|&KZ zdK^kd6eJ|tZXCdY1Gp%QX;2^0{t(5%dWRE?frR`43C|bnd;Rm4a;jQg4(N?;&xO|4980O5#n{nJ zOL_@t!*>Kt&P?)*HuMXKA%ISs;{#n+I4hIZ@QGaqMAD%@qU3*Z_7+f4_5IrLfGD5{ z2#O#nH6SJ3A(GPF9RmYHcdCTaB|UVv#85-0bazQfmvs7V?)y3C+|N1hdEd3ZwFcO; zMrS_&Tx$Y%|~8X-;Jr#WLxYLVpOmz9eO+C z7#UeZ@;fBvr5_uwV#Zp_Nu5jPX5d7y!_(dRcG0`>Ut;Oey7LKMkkZ7f?BT~b@R9WH zv$-pIZSOH{`)q4Yv$kV)U@gwr8=d_!Kh%ap47I(aV!0i8jVEtM;ump(V){lekxqV) zEtc7`B_Iq(qby>r(D;?&JXN{-C!yRQkWR!B`T$Nz_krK9lvEdtf8X=zL|E(^Qb~UT zmYJE{DHuHqXvP$4s6|(R8%8as@vfiDmIxZC+>MS1WtIhS)oEE_VVZ#)1iDEf_&fI3 zKQA**Yi|#|#yTTDcaxMVpChmKIIgA)uQaC9w63|AXM>yYW{qI$2{t-T*W!lPI+NY- z<7Snn(ZVU`@g>bkDAGg{Iw}7o^%j%D>$v^aM%as-W9N!Alhea!nx%onB`_`2ceZ#4 zXZMaAdyd7E_kV4W0<8u-p?aVzJSiB@on$&m2+9pWyQ{ z&Z3~a)`WW{}zEqkr;C8$a>f=U~!Sq4!j8ZWI7SWai)k>a6 zr?tqcL|g^$dJ98#Y(Df5aC*2J`a7e2Y9*6+q@`Z|;`?CwB|fK%Px#%)_>@F&2m*V} zUfjG5J*Wl!laSvQ#L^`%GpTFX#lS=*Z#Vb_ep9n(e>|(AG_xHJn6RI8=htw=R7kv* zYg^S`PF1;iK@sQf5YMbTs`kL6>PCtQos3D^ZzqlU_P~^~1_@yStl@|Y+M;EdoD1f> zWm!AAeVqny*^|(dGcjxrk=JBSNjc-CiBHj=!@pZfjBa(8cCO5>2y8Iw?YgD^8bS7)-{DENGz zJ03nvfP)@M3$h-3!cE%RT^w$jg94xa;To#@c{f-L6MA5h8ll<6N36`(&{e!p{uJkX1|iO2$4fxKsr zJDh&Tl!zWQ(kq%JVHg!ygS>UBvnGP0YbHorvrAH4{J6+EP3pvt$CB*(0Thz zdGA#CMxFQ`=DooyDmuN^J1_0IlNcHe9NsGVv5y3^CnfDeb2mT#1;e|$JzZ>$ zzq&d9N+ti>_P=5Zr+>y2_j&4HF$HdNdK9hLS0I-7jO!nKA3|W_p#t<$JW~e~@;8<&k`U${bmA4#p1WvripG za{coM*b?3q>dn0NlLi#hsUEuxLeCp5z2^;4i8B|z!kJypJ<6B+J;@_qH(-VpQ*|j$ zLz216FcxhHL%8~rLm$Wkl$~T_{r=8qGYocOOD59{8;W;qkJB)Lu`|rZ30>dV0_(Wy zUuP!BNz|$6!n+bNVkxaSJ2~z99V(yEi4FG<^sum51O`)Dn1z@D9u!ywVMcVoY@5y8 zZ}+i8bwGItIMF58QcEdRhscq@JPL3T86fC-rb1^Hn!zr0D|skBge8WZ62Hfpw>;CTQpe=~AC{xuo;fz^+t?0*T z-&M)p%k4$CQT(vuG^iA@Eo(lG9+*%&Bq<$xs?$XFmWu&fOwR8|XIM)gt4vgcb}C$) z?HS<{a$ajs+MMzb8b}wlA9>9n3W2`qdiD`D3Tc(+>+g^@-uPINtT{0B;%iGJXPW8Y zY!rxsl$zi{I_{hHHVyPHY9>v15Yd+&tO$CiWKEMUO+Fl+21wfjA*C!!^PUyea&VB1 zMmyd+ij8N}`(?$C>`Y6tW!R(Nnz2Wq&>j@)NpHuPaBCTMT=c%A@KT~+9g_NdJ?)lg zWQ85}T$+uxYH;Y{{YgLnFF|85>h+KT`2z(2WmR36PI*ttgoB+81~~SIginDK3alUd zFGg5x54M#-h!KW7^zVEFtT19br(yI5gkjm7qSc=wEZz*$`*QO-_s-eSJ7jz0+UP3X zq^$LXoa;R8ahl0hxeG!t`P6K$*Hg5nrs8z=P1RMlLg@3gF9y)4v{W~x%>&~v2gIX` zLwo`okH0iCtXJ|r1!k~`AAFB^cg@!{c9JZuVKF(mMPE1|qk7pH91_`ZfgcgWR-Yz| z^jI8&IeX`L%M#OTb1|qLDmJo))9y*;Af~ngL#muST(9Ob^DP-NY9Uz`(Ae`D%+ zqK{mkGUaEDhLP&Q_nPa=F~;AV&Q%t$?kRX9pXO!=6_ADOoFJH9oFz>ac|;mA`M>qT z0ZE}R$}V4tZ)sRh&CO1Z?Cg)yre5PE<-_tnX@;i?L4+KYJ>F$adMkR8YvZ(ff<={s z!}5rsii?%*c=A4$>(@3N%?MA4UQIz411l;PiHAXG(sMOKcO1Ev?>a21PsXp93ai^n1v= zEq%PnYMxraw z*W}LI^Xuhpkwr+K$~PnOohDs8Q}+fWU++NMs)bLN-{u**Jmjn2H;_K5u@L{5^CIKo zJ=S4>W9ue+(A$$+pGJJx735t{jsZ|Q%%9_uhx1r zr_+kg3^iDS7qpHCy9$zp6AhfLxd`q_MRY$U51!_7U(R(I6NFmlP&S`3m=$2DO*)9%( zW@U?9`7a_JyuSpkE-C4G*U!SAK=qVr9%M1!+%?rEAO!uK@_nK41^;qs&MY=EJARS!priJa)#|Qp#)fY=t9Qqqk1^T zXB#jm(yWngq~ui`fh*T*n79c!F0+>aPlC7b#FHcBY0G3wyomWFd6BMf7^ar$_jO6oPI#kFe`*xP)GSQblv5+xpsXLK7wl!z08f*u8 z5P=EI;%Q883UN6qVVKw{c>%4)dcr8FNKR%75n6sZE0{d3hbXP7auSNPxaLcF?;2<6 z><9Z+e$nE%gLTp|Fn3#)Id0{N|9%F@rM0h_qSSXDjaj`^-k1EideZYn&K9_fYu)+- zy%ga>aJFEcLeA_hbBKmbc$lCcRI!t78m+ur*^&1SK0RAjem7Z3jy2`tG2{6u?2IaQ z(K{RESXMs;dUACjgH%w_^ zZc&${e{c*SCb0O&yuw%F}aP@&x596+FnE`e$^fV7=uu%RKDCp*@Qj zf2hn-v=S{zwHCe?arbg_;}7UH9IspT^h+*DdppL`RR{u7ip)a5`mrjak{sv`xtm{ELp ziP5o9*2K>S7!iPb1vnObTJ(Y|M!~bR!Zv4o!=*jl1G3oK|iQOaZs< zyzm!lYHeQGaM^G4ky2%_I;nRQr-2o4bG0IAJp9JJVxCPxp9)TScs7_25_QMfrw!57 zXjW5wc|8ouBL!`-uCJF(otqo!y|O;A+}#GudrO*yt#ofLf{5v}2SB59~n z0kqs%I1Wex&81jF+~f1N31s8rClve=EpGS}lls-V6GE+4@eCg&q=&wqbBH`5EOqX((=3BW zFzSY@GI4%)g}9uaRfhgb2!D%fB?V2Rv5Jl z6XtBG$Tp& z^$L9RF#XO5lGg^feY!Uo+;U!d=6qqRooA({$KMjtq?DkJp?ah`+`;#6)HQww!bJKP_aj3PmSs!|9NXi?KE7rc7NQE z4(@QoGdLt6gu}lOSa>{@9iz@iR5ENb{v%OS$Q(kPT$yutQ(2gSv2Dsq)rEzXg=)e$ zMMf~eLZ{jHg6;8Og5E&w5p8K?_AlvvRCr&&kX9Cne^c7evm*(+N{}8)wse7j4*lr3_R`0uF>A{9l%e)ynXv%w4nTa83-l^CD z=xr2CbrWIIA)a(h(#?=GaZQ<2X1awirtF9_9Rl8WvdQg7VaGVq+Aw05%T}6&1f_Ir zF>tYc4|2~~A+yoozt^;c8|w~qy(uwpomIYeMzbp_rHFa)wxtD!$Nu^rYs?-;BpzIloSr$0=HQMfIZ*&~*;d!~>Ymqu6 z3eBho$rf!{K3D-f?50Tq*+qfMy-P=ro0j|pRW*Oh$QF3c)Y`bbzDgozkQqoX(!vWOf0Ea1q=Gm_j| zN>6wgm1eqK?UzO*xqEz03$?eGY3mu7Hw|Q0+1yn*a-eyN%{y&=Szhe0jzOIOGWkGG zub0=$m842{#I~&@`6Py+s%MTSOlJ3s;gaLanrRc4)i$ykxUEFBJa065g>G4BDJu(y z{D-hi`58)0z=^LgA=Ps`l=YPFr0fEG-(Qlcc3&zK=^o!0ZT^`8beCS1lLrGKJM8cB zI_B7k&e_DYZ`&)|4RyzV3*a@$=Kh_Ibdt6YnC3Eg=iOzd4MPUf|5KW$AE#RPs<-oN z@srookI1y}$1RbzBPB1kibt-vUE8hrcV1c%ZK;!DkM*=3rz$@y&#Q8-ISX&PH7_|| z@{D&m>mT-)|8g%X`R9v2L_Hb7&tCZqsUn_%6qngr;4~g4A>OTG`zA4Tp^IxD*2KFS zk(WClz9omDKgF*msSHuQVwp=fJ=425?!Bue5Db%6Q`rI=z0mz>Gk%oz2V~E18l!N% zx=Wq|I5d9ZS;LhQl*FTO@u>h9S6<$JCkWxg*Z+3L@TZxpp1j+mGn~=!KcJQ`lXAib z5#N2{^6t>qo*QX8#S{Cv^|*Tj)eo7c2Pe>1$xWXw{jZl;i0s~)j@?~cqi;cdf4<+L zO*`+N7M1~wcu? #sDGu5pT!e3!@#ZD@zlz`$+xm=O6F| zoAwj>@-O%TX91GOp_S&X9DIv72GZ(x(kCvLUO5i~X?}df+a1j?n{Zrad`nXU%*nDU z<>_<*QM6j6WyFp ziDp)ciQOb?=MEW7R(_LkEf1dcRKlxDK~ut#h5^Qwi_TU2sR-$b<-tDJ=h{82fiZqe z>JKo^sPKn67Z*#h>ohfq9%DY+{n%D@h_7y9KGV&ZGs4rYIoloHMH5O`d}1leKfIY}Q1W#7F{Qp=_*ogjVYW-{%}Pd*1lg4WE6*+EcY(J(4(x zy2x6CC#w088r<026Ewuy3m-`CqQOM#f3L{y2X01(_t+J&L9N{|l6itIM95gVpzNz) zCVdMlG2Uk^`H8#Z5P<<%D}mu1LfNyoL7v{_EY|a#$ z-^gp=erL9CGtKU?RNAa<8cukGZ31|D`74*V+zk9mX0-*HaIamS6Vc zD{pzpP-WUeco38N!v@bfzVD$8$%CmHd7`a$6x4r@dz8D`z7gXtemlDn_U6+l^8z;s;|@%V^1D~| zuO8=+&rSpD1WtRYF~hIk9pZ)M;T?~!ceY;ey9H5Z;z-YN;Lxk&8PFZS`7KE}>DZF$ zxSgy59-kY{Ton9^_>0^J9i~cdBlMRF%5umS`^SN*r~jBHBu-0KbLa~#SM!rLXQYNq z=7>&yfseE;`n!(AZg()-bFAdYl8B=N9kIv;ShWLC!d}fh27w_e6w);b}8X5~# z>GMCXPt)mc5P=u?^g}Ie3}le6DpD(~s`}?cQ5MU1w@9Y1;bRMcuY5hjP03l>Rj}{7 zG_Ex1yUnuSHUB{cwiNqs)#-nKivs$Lfkys-3u;xi>s$FPbMIA{bQjM>RlohD{y}!0 ztmwHje|^+={9|mNk2i-NjSA*x&Rkr{GKFJj;+QZk2FI8pld4G7Pu)mCFxgp_9B(Rr{Bo*i$LwuEnjba>wr!QrjlJOhW+I(-xINoQ!G%T^X-p0ujPT%; zNvWp(bc)~G(DA5lhqoJHD_EppVO`XeU!c}HYsWLhdvnaTU99&gO{y02ee$y}T|E!F z*YNdsPq(g4T;qRgr%p9jXjGn@s^<3YG-~X%MzYQitYD9IS1ad?h9F%IQSPWl5rRu7=S4s$9~n0c?IIE-F}{jPPa^myVt0ziUwqqvA&O?QbBTdU1Xgyc8^ zbE9mJ3IdtQD3Z<@+e&GV&FAGMy3RFLFu?Op2&=5N@z!XQPm||-l%+EL;8%+To5U`J zOhkOoSKt4DWe2I~P5bHOmE`U%SGJyahH_FYgr zMYu;AQTV?FvHuKc|K8@ByO!CrU4Dvltlbj~t2v9GU25Ya|AmMiThdw<`5D&>E2mbRI8NalCxpB6QD&wznVL&&~*fN#)&6#PG8 zm`{x&-E5)uqr?@0(UnV78@lyQsz2h{SUK9h$9y#g;o$wa_~su^TEkwR!}8>bGyfNS z+Sk19JO?(-RqG|<3q8-wBH*usCZ$Q(2FJ~{G=p?Sb+}>}UJ=Y=AQ`EhL!wxD9Q5iJ zxzsHP*mzmLriYs+Rn6Uw#JMfcw||MpuY9&5;k6;Uz{VmSK3jc~0JnD7-SQH0J7@8k zc{FO=8*TCsLW0$2Be)gXd-6#)hC`Y6k#Zr9N{6qvoYZ?|>g#(`y;2YGHv_B^lj z?TJ+tLh~ow6TQBsdKR8t8xM3iv7@(rI{MgX`upWz7|d~_*w4P3{cWA*p=tS$baETi z-o->`@2jWr?hjU3=>%Zf8G)5|xtw)QB0fKB_CqH4XBg-2{CX-{_gV(e4 zNl>vWeslUHEaT|`sjlHJ#RS$6T1!0HEJA!bSxU@UTC`q#29`;}K$`OY#BZvYJaHYY zv=f9eK|C?U&w|+OG4v?qsXx)88Oy&8;t7zT26j<=Vx-12dW@DJjrRc0kS0SB?Yn_f z5F1?wbsGxi+l~i`6lo7Y)GOkA$Z2fNuBSQ?L`nGEMB0h!86}m2oX#byZ&zgDQSLj1 zNmVv^k2v^hB=EzSOWQNpUw#oJh8wsVM4*DhugZ>2*-zkqKv(8@fG5F-=j9N~sT!jA zD(OlY=Zo3)Jx|4=`$@QRB7|}5C_bCCsCWX3h|ROu-WwHuV$eo1DS=Mx7%IoN03(00 z$FJN`uD{2gj=mbe1ozB)grB{+3Sgtv&Q6_koMnU&r4=#ScsM7a$+^2VmivmG(^rPQ z7iAt?uIfbc?`S@RdS%N-Mh^_UEFP2LyLt3&sI;1uVTA`@Kc{fwiIvW_C?ob0IK$I) z=VSOBX>obV9lL`oK zWQS2p;(3#o@Xw~1NpGA*tqjN6(tj~1hmsWl^@Nkgr4HbY`~1#N2*$_tzm@L(wI7qp zFKQAMx!rV?CMALGp`f6VEm$f@RzFf!(;z3BS^e_0%gGinGzl|*80s9WFS=d4h23jGbH8$qE1%I}ouc70gtiVdM-l=NJdO9=+=hxAXGHeh#)r zGKg|A&8#XFT&>|&AJ^0^)VR!>xGIp`#P|e;cl!+QQuD!#4xoKST3YJ-^B#+N0)D@Z z(ZBhh06hz}9S+qUhS9T$E0}n|n^#cen0Bb?bSs9S2i6C@89x1iitIgpXVGgW1_OuZ zXlm9rh7t-wpa`!D=Ls2SuI0CHIyGMy+Px#BxFiDk!O3D=tzCU}uiq129|Y>bqiTrf z*88`&p=BD=DQUTC57fVLB5--XKiFYuCW)|5jL)5&(i505M4|qOu9Cp;h)5YQ^c`97 zw1C3Q9%m`nd%sYt(>?dxGB+n%QpCEJ?VHtTwr~;G-jgR*uSwGG2kFA**(06>*^1dO z|BveKfBV<@Z^d4p`(m%;zlyzX(ouY|xG|IvDQao|&#wV81lXbZ4u8M+E~q`F3ZSwG z-yK|m$?n02-{hh;(jR<3(k1{O;R?{q$U5L!3*)|rS$7}dwW$%@MxM2C<7m#;O2$?%yThG}bivd$9Ty@i&VCBJ@9!Y{c%nG%-PZ^1Fb0 zFj~vKXZh=#z1$NX5&kKNevHX~VY}*nqjAd>$x8bnh$l___(caRFf;cP!0T@a6=et_ zj0>cB-hmO<@%2SVsLT(4pj7;*T=nPaH_xa?3Q~G3UrkYXYh1oA1fb&!UQKpMCn6f` zN>}Q`%iDEhC*AS8XJ*yeezF22|LITy_Bglx#nczIf@-(TRM1nm zLw0;jQX5xrCd}>urO2L~9}!V148i!0DEQ#3pz&&jp0kIQr*y=Eth$wES{P5aqL*y= zox@txRO*xx0==W7DgCnl(I1etj?P}V+Amwa2=6MajfMxNu8N7PL#q|I_uP8?``N0BM|e%s9>FxWA33; zEr#Y#wiiBi1d%@>#8{~%1~7U2t6*xtP#a^y z81tyF0ByydSnmxQT)G4PF58$8fG1Q|FrGaaHy>3B2ropW18Fjpn1WC>G0}{r@a(BE zX0vcRs;O7xf>-3JSL9y7e1z3*xevkx+)_}>4 z<#xG1^MsViw(XYWp*{dP@nqH3jcMWgyG;WySQ067kg2&UPXQKZM5R=GV?a2RaSS&Tt+dOS2hoIWw8VdY|_ zuQuVyYpFN+;&E4liQT&U5lIjjmb1U6Gb5Oxo^81|GFub7h!2VuxH#`!nn~Id%HcTQ zg2~JisCLPK*zCg_9tcW=B1|n9Ml7#+f|;G3lyb)oqJtyTuYWP2Hk*SXmI(F9q;Hi< z(8Af01^VnyKd7<3gNcs(9T;}?M=N&Tl!;quX+9h`nLsmjyA-$N=hi8%?yaiVfmJkz zr<>R|v)jbWxLTYsM~A&YlvL>+Km{|KbZq8$sd!q?jypEbQu*~$^wTPL3-PR$7>%gqYruPu|BxNB=lIE14Fr!Y34=1F^UgpP3Yj7tb&7 zl+T;4PbtZRZF8gA>5@R^9zgzgxxrBKznWP8?J@U{w|j!lnjL!XdAS(HO};!GaXW=N zIbHeT1C^5BanC}yH*z1b1`Us&O=!#%G@RMJY80nUW`?~pMCtC-YbujZWXH~vik*dK zZj9>^KO~68+2T#SMsk1KUvk?<%1ic8_nPtH^-c0=3p!Vyr7)={GBSy7X-D5^X1GM9 zVXdyEFpt*k$cMaF-kg&0m_Or6>O+nymX0-i*l681`~$M63gEFtq^Vw#(`)B@ zy)BG??ekU)Y}-sqGtW(&Ke@$`bjwv#dClqcD}J$eDxPI`aOBf(!eCDN+$p9jJ-(6; z-r6vmLleSQ9->SCtgTWxHt4IG7rYc)V-YyyHg1s<&+>E}+qvc?Ik;aTv~S;zKmnlk zZB4y8)7;DFN~uGC%oXZ@o+drIH#m}8I<_Y^W)a|#EHgSAe(`Zs>j{;`_b zr!Z&DWsg{8k@MB;H-&vD&&LnKk-aa76UTXGZIFIAk+ z&iR?DH)>NZL9AdK*5%aZB>g?-@TAw8`^BTB&suv19dM*$C!&JuE52_Rzm@DEFCMK< zQ1A3BDt$+W-pfs!VQbLYtTgvtrMQ0XM6Eh?dq;AtBtSyZNK1#TVCSbBwIkaOqAx$U zL?}(3V^+Jz$iRJ()nsMhQ(A&}^|#WB-X{@=xcQ4iQh92P9LT7an;~jiNVwFIFg1J{ zK9UMZd%ymrkNCTd^FP01{!3|huZoaWasEqbhx?b(F3y!qUo1hsO5%0U+ei)Ejs&T% zK(LQzApwQ~Pr+W_+o=#w4&o{xYa0#z(Q2FRAxWM89jqP5|fDG8+jm4xI0@;$3RpgP9O&?}eZJ6jH4 z#Jx=i?-|(}T>oEx|Dms&=+6}<^im2ru2?ps-Mo#4fq{A-D}NW==d1Y^qKly()FP`p z=#W34x0NHy&0)We3{DmrnM;xJtDwc1tO(wXs?FY?@D&#*1>HvC38U9Sl_-WQHju6W z0>2-DR2JEOG*w%U{@K>PXQFDjy`qI(z;= zGuE1O;f>SlsO@peIe$9u$Zp`twu&k++VtDlK(=23{h9e}H$9=A%*D@ZS{b!Z-CA?6 z*iiZdhr{X~B&Mo2Odrq58}Ai=mfdfL;5nFkR^><#O1>GSwo9gD3f+X#gQDI}C#;xv zOULyvihcgQ?$wbswLnl#3Pwkvt2#!O?B+)v>|fVW2PAuG)YQH9M;FC z1r_EjZ}e562Q)JMjlZZ}qxW8g^uA0Sh%N!fxV>{n$%XxP?Hb^)`RERBc+fS#S(3my z0e#Hn$h*AW-Zds))7H~E#2QlEn=%&8DC8hs4&ADsdne!&#L_=#9n~BZm-M8UwO`tu z_?MNEBY{!jmcFnLA?Ti`OH1O13z*AthNU~tNid6f>Y0?V;Jk;h9waOQulOV z!~n-=r=;*iKH{};SptAB-I1(Eg=f!*2A7xuuAnKuzY>Kh$nbU0{ldWdhSV=Qey6Dc z^u&d-9N|`vvR_Fay9)HD8p`+DI}n?K+4h%v*#pGk%;%N=F1K;IOS(${x_+VNRyFs> z9^xwq8Gc-q?l_`PyeojmO58MEXtE1!Ea{3#W^=ZyKrxvC8ovC~5Lt) zGX^CE&1*r8LC4hCQDrl;*}Jo+d*Xf{c2$Mi!&wLILmej{iK1+?qXJ*V=BZboiJi_T z87~5M%y9O9Y^=rZFEMiosl=Ts6dnBj1e^%;XAOmVkx%|EHyb=0j}w2T_YOi$_kv3^ zJl(#BOw`GnD0A(kvOIPRLB#)Fu2Bnv;cQ|XMr8;s< zsYzqanpLdxYA{O($vUz(mv*K-3>s8`55>ZEuCDTE57cj!Jga1k>0dBa+oDw9^V{KU z#Hc6TDwwB_jh?~2Z&(cSz;6H@8(TIN32F8!pF!TCd zZJAfrs$#s`-RQze5VP{_38r^nU)!>St=}H=1jmgR&aVZR}owO?bKFBU{D$qii;8R70!~jlj*>*GhNd<6RtU2 z2kwp|Pshwt+&=drYY*NPZxwb}M8CrN)n*k_saqOvX^uQCIai;xGO**d9jfv=D!hU^ zKUXq~e_F6mUm{Y#G&MPo6aU43ZR2CzPbV^Eo{pi|F&*G@&>!d2-ds>!QN~Tt`Oo(K z|8WD~teY&rrH(xGFFrgkz@nU003OR2o4(1DBEOLlaBgy5O__S8+RJwP<5+*25E~%} zZX(1cAO6c|A7cUh$pV> z_rj?6S}ZljGqtK#pK)1jDodgTofy3B7}t4!JA(fKx>wy={#Iav@vMU7p=uE4*-DUNp!~wskAhQ@b>r6AuFnT(5 zkqR^EFkryw^M=Gn?07jw&jZcAMv7SgmhtbOW$zzj#-W6>}O z!iY70^k-NSXOC2}Q&i<{DUVv38903&@ytkkHM^c|^KIdcw)jkPwoM2VLp}PAmo$JG z_}w*GKt@RY(JRZ`AO8N4EX;`&j2nk%Jz5(RWXThjq=F|B2V{d&AAmY0H3k4UK#nMN zPZG0d0xF(XIY4T85lCeo8;w>?fo44lyak{N<`gQ83gniw1DKSAaj0DNB6!mu@mi$s z0gC41{SFm8dzP=pa!DfieYdJ4DyM=c;ax*EzBPft- z+Bd4uH&`9zA}csu&QkM~U&OpO5!@;6o~?#Q1#T(?vL_CY+`Qes=DT{DrllO*88PIL z&NBDl!e($E2P~lQdLegj?xkxg?akYM-=^j6slN=DbI#Qu?iOjf;~QeAa%|Zst0vZ<*drpv<`ZMl$Sd0k zPnIn3SvrW-o=vK>U!K>*gx*XMt-E!k*nClwJ_%8QF(-L)>|2!w60~UIs@_hK>4D=^ z)u;>e!KG*qEr?$~C#&ngF(??fA|JIGF3m@$+4`g!(t;*^ue0vmeVrg1;e~ehGzMy)!S`!q6e%) zGvY7&)QaZ|8fF$&Dpx<+udgPWQ(KIf=;tnF_ zK025SZ)O}6xO6GtElA0)V%p}|-sVS8v!WM9P|zkLYShf0?=MJn4w#~1d-T6b4!E7! zKdaAI=dU0Jf$YQiJWcM1)VJri93ALTlIF`uvFCkdC)&1UxN68^?76pMW$3VeJu|hO7~3Wm+-IOqEy}L!OJ#3pn2+=!OC))eG{n z>Xi(?`Almlk!G_g(Jk`}H98qX!pj((i^xFJvVj+*z3JV*0DH+t!JwK2j|S3ahRB(onB z8$-`hc*N~PZFzaRe zu^L{1otsHS{2@=i#k5g{yrU%_fjyR%z{ z50KSee?a^#UX@Qc^=n)eTri16tXGd6X-XFIK2)z-f_aaVYUe0ttiwpB+??nZ^Y;f= z*B(a1TxM}hWeU#riD2|ID0+ZAZra}LS=M1Xbv8~p*Sf6-8GGmPT*_wd*p>!wkIlhQ z9HdLzkU_@)=|bH(sL$5nl=BrQfx6Gy>RNF41e93u$C>H$a|TvkrU?AKpcMPX`Wo(1 zK-OOPk6OlmFLu!O{Q+4DmfcWg+}Uce4#eM$dK%o9a~CVnWB!t}1B&+l_bW|h#CKrn zU(Lceg@VoIUk7=AHwz8je*8xc`d3Ca&gZ#PG?FG3@P%mi>AgcD3-`T4;!6Yz=NUNj zF%Dp=l9K9shmo501aODA&&lRE>lHse6&$UmrT@~rr6J6{vfU49$ zP~l=#%x8pg2@cHN0c}v>*UgY-LRWdggYLBzJ6U6GmEI;*v(75fyy5#_io&A^bkt%A zjHLw*0qsc+qkWv#di7L=tO=~%#IS`BpEC(swXH+;J?3;V+bi-RWY7-jSRH~#M^O+; ztG+q7N;|nHXK4Cbhwu>pQJNxd%r3l$1;QWHpI`Siwcmc+t)gLK0;wF2S~Bi7sJDjd zvieM3C!f@;owQ*v+ynAGH6f_Jf!6#`

hty1hq0LeUc48T%=mGBL|qnUZ*ccY5m$ z<~Le^cbznwOZejxNozQj!~`1_Fm5}HSeh;O9a})oD9kH}D1?Qf=_y=WVzXqFTf}A4 zCTIa{?`LikxY=a(k(L9-8$ z2f{u8EGS0Yz7j1>uOM7ms*+1T*!V3bAq6DZu@GMO<#i)Z3G*N@G*-WBNlgruLui;xE5@k6f-D4AF#p zk2>>ldOZ{kE&oLh;$5yyoSeFy>40iqtgNP4JL`Yt<457?qLEK(N#CR8fR^fKKV#+` z2v;Rs;0$3<@AWn`g(U};W1Q~9>EsK(M4uxWUk~@8-b;DT=Q1b~eFfEdD39hy5^h7i zVtYZ!ddf%`IZJyTjn&Z8r&&&G38VQ`9(rx+MKCN`G|3yT%!(yP{;-A|PX%e`u5v6f z@G^)ee%9;VeawIgc7g%apCac1kU>m{bNv@FN&9h(y)h*0F|7d)=kYW>F zzst3Ckkg}9BfmZzHE#OR@wfbGZgz7O!vs^@Ip5>$I%pM@E!vvRoA!?)n;!B6d0Hx) zJEL1p2jWkRs?OtGOLs+xsNaNt#6n@&*=EQbHYh1mzOu`<+~E?EXA}66cqS{q?Z?=H zW7%=CkTibg^QCfe!6!||tj3GBqZ+A+FnQDbjL>oClqx;m!&xvQYbv~#nfX;?%KCez z`Pg1hJI9w9WWH5&uZTspjNzF=`+k#((>KQj(;l{;ue3I&xzG;~+A@KU-ac)Q7~m7k zu&Gff+#{8U(ry}79c4%wd#e3va4+5I^z(y=trVNi`m0---D@Vr`asfDVmcIJ1R9wD zHWn^mBK1$kbKa=$KPg-P7oO{<>PFhcEl(j55m_5@bTH9SO==AP=(5%bqsP0J8suw* z?Q;pGJDQ^NsVi-#s?)cM{VYzmpEED%1N3^beNgS=JwPtVkpQ%eSuHqwB@Z*p+tMy zu}+#(O^DHu?)FK1YF$=x}AvBu`H5BDGyxFc;I&NDUpL|(1~kUYIHKBVPity8@2=EI*qD!vXNw5R zO*HNe1+(eT$zt*fG|D~2-#q+kYK$Jo%bFCN!Z2xjFwd#0dB)t`N>aFbWeV5Xx!R54 zW>HhjZ7Gy~_}+03uP@gm3nsDrae8h=G7TvpbM_Ui_{p6X0rHB`cj_r9lbzBAmDL)) zdC1KjzBkjgOO}c^zuU#aIqs;QtmjIjUhyef4U_OVGFHntM$d(>Ou0~s46q7r(1HOI zZyjmp*WYcrMw)0NQ*bSggZF)oExX2$pS=@8I=HFXPtJOaHb&HG&$X{z=06s42jj)?b!Lr` z%5@>kE`kWurDshS8aAo*?ob>L;!_=EHKq)0FD|Hs~Y05#RM?ZQ!%VgUt3 zI!IONJ=BOIMM^}ZS80*nJ0T)SQ94pWNd%<#j&!7V>AjcGJD~*dY@g?S-|u<8a?U^J zoAb|^fBqRJlfAOmPO^5`>t6SD-PiRzt4MAqjuCty)=Is+ckF3a+}X9iTEWhZeQP0? zUeT-l<5}jqX<58udUZ7ijp3c9-rj zr%PJ9^^xC^PDFn~GQpa3@3wcn0g|uU*zcie`F|Dd{J$RR)MGozHxbgjxXI0(6)e2m9 zrlw}fUAf6b+U?e`nO}I+ZLQstdu#rO9ds8bIS|6pk zwQmf`7MKm?w1);CjQY|hVkl{p)K&>q*XR0FVX)x6#d+3g38xY8lG}3~w=N44$;vqH zOnx%op!Kro(YGQKY!anMkJr;p2gKI~A-eY02P2>2Ay;$rDBWmYYUs(i(=_YoMx?N~ zU!!1+y)8!kinxSd^8q+kaXU+mQoM)JuT6!IT3%d%J*qiIQ0PLEy|M8crOhUcvJuizgh$C8OGXOjQ%;n3yB!AXZ^?YJf;ckd z^M}hYnWqtuHbr$8(sh98*s1l{eVI+%kcQX37qm6?3cV|oizNr+QV*J7<;qR0qcU76 zEx1(b-D-&_(PXy3#*C6<-V!Cj^+vjS&H2pSi=hTUA?IxnkiZ`#e>3ys?ex%8v{ujE zPt8uOLgrWiA9W1ktUr2i41*v?i*^s=! z4k4VbFq1Xlz}%hi?i#UpqVqUEGQZ`GWP0{^Aee!j$9SJ;xFtd_oJYp=7Ec3>iKo}H zSsnzoe)K?3&G~w9xKhdnX;Rz)*HcnK4_f8mhePW34HiT-W0*XVL&XT z?RyE{AIl8q48Osx4O>{itA#ZjA5Siadw4QsZswV##BXI+32DkHon>3X+6Zp+5}l^& zWEX$d&xyz>BBs)EQmVFgyO5Zo z5xI`vns8)5W(5#%_siQB8pvQ?w7lEcM&n5BY8oHYFl;HTo-om*&;EAdN?UBGaZmFB zQ!K-KIp$kolqIDfALq0p^+0ND_5?{^_ufN}!yc7eW)B&jg}&FZCkrcjrdf9%CFU(CiGfM=C$=)yetQZxN$Sm zg;i(s4cl|QqS8J+H_mSlsp)3E1A2wcTm$AKU0Je~Q-QiFdcFRKiLhu1C1A5TDQE#Sl9~Pjm7+%f zP?Z(Vja&I^4g{|QC`SIHKI?z|__ss{tcz{v(BQyz@E7Pe7+olC@=s*!4`YZa36>HY z-~KCra!;QbP-o}|Yx+%-#>u9cgm9-&tYLY_>w73yck5dZPLMS;!0lD4WRh>2Pl|ul zQCvKac7;UC=H#?{stFvDn8!G4@b<9 zW2-}p;F}#a?X%Q+g2$1a2M^rYYWS?3W@p@=*I>IP)}m%SO=W&uj_cygl(ABUr|m-9 z*arH8bVdvf<<$WOo5fyD`=8ykdk61pPP_U=t8Q%GvZ#bm^cvPratP9m$pUg^N1s9& z@2ik#^_@sb^4)IhRbnsDPrG-gD?)HEci_F0zT$z|j#cR4X=@bJIHN+|@P?*W$-Dlw zpX_;M2fbHNg!&CfAxb)7RS+q>vB@gEaji|UIQ{<64QL5cL{vu34XOJCw_ScHP{z=F8R#D1;qkDty9yw-Vb zEU=h@S2K=Jhk5UICl)$Q5x2N2RAQW zI3TXy&B_O;Vs$1^Zon174)5UJgfrW4d!U}t$r44&a54tzzTjYD@rKto% zF=^aTS7Ay~~BlC6}sc_+LsQ;E|4WN?< zmOOdCbQF6_*57Q|sO3|b$lJl7R}E+;4wm4dAU@)^-2<#{=$yyD#S8tS-V0EDKrjzZ z9Eb}KSD(k6DVm10gy!nPL^%J9L231(q4ti`T^aOmHmy5-x9Pu~)siR7ohj)>t3}`#owU zKA`PWFHoel0yLJ)?@eto!VJGBOY^B@)y?#~&$X zfWJ61q0~f9)`4*6H6Y12--*}%1u8(brI&dMV7blU_SP=vI%Q5rsaJ)G)8dSTHS$Q3 zhg{M`Jv=9!8IwlUD_rI782eu{IbECEv$soyeMTvI2UO(!CL_M<_^;5m(t5$POyJ zM%gy5rY`O8Ht)r_G*;B@aF*d#Zkx%t-c2Oi?l{HR_S4M_>8x?5p1l|n$#Ncg!o;|H zJ0~L1?7u-Iut9AvkAK+ijNS+>dKKAon3iCfqyAa#u?@OLpvXjG9#5o?iROHPt4GS2 zforxrL8{k29DLq?Cn{2*bU9+QWO#7hwnF)_Wz-d1_m1(BI7GY=J~aJ(R z($ju)8QB0@x)P_j*c6uzUfoja@?`&nmHe6OY9a&zEz&q)ySTDqWhUUMQQ_lDBzO6L zSjJc?bcxZG4-BWQ3;bAk?`Ms(<4>d`c4zB^{!qT)zlQf6bOlu@f}E!*9I~`FBYsy< z%{X&ndTe;!6v{lBo1bv^@JuZ)x`O7rZMc2I=?YkWd2w9C*x*Ob8?_8*;mzyc5`;-* zkqw{oFXD^58^)|B<@W;pY9ic?wKtAftQ2AXxNbIa4a%5PQOpF|;b z6$?WZ;ZZSSRQ&4z!o+hU$QR+>*wAp~wF}zdVa>UzUG_FyW125&FW^vdjItNsYn~tM zpr6I#U!oE}@if84a078|ZuyyJ+9`{Xy1s%@=gzilq7SSI!fEFLL? z51;+Xm^rMI@pUxA^NE?E!pO2b$Z7Eh%&(7CvZISikSa&;zIp}!xDjkCv?Yk3VFl*L z`Yr04mf+a4JJA4x`#&d-j3c(#0O>nFfIzUp`tJz@c7JvDjl9AP;#2J3rG?JagHdRb zxpUc|={dXoF1;hpUm%n3ik>6ylpt4zE_MzAy$Do~>wDQ!0omtwh_Sw3piqN(G(U;U zzw7YZP4J(u&mHg_oB0j?KK(BcIH189;(5LxNrDZy091xfmM=+u4_Dy(Vg&H`RM;iG zHK%L}T$=xopZ_;BQ8EKic21~6|DjZZ=J+cr(y$l)&u{Yw3&HZR;9LRF0X8l{#PctN z0F~hIi~%5YU^;|c#BI*51n);oj?vU_lhH+|<=gj$2gb%tu z?3FGnW<}IVnY%dTCCX1fKvITeJgx>H@@`=u4}BU{#m&=gwao7nGJy179Z%)I)w1os z=F%J79hbK|%QYyo$B^&w()PW(iggHv%Jn}FpGp|h zRuJPetE*^du5l(3N9lPOO(k|o#tt((c%>RAefNoWM5bj~?HBu}?}y|g+xT2oB%C(e z77|M9c^p+{i{;xFHMfj(NmP08xYBK4x&_3d znQ8&ISg^j!BAF-gPpVNcFSn@SCNA2f`0BF#sOiOIMm0U1t4@Zfk( z!Kwh2NcPwE_np;MEHxYiT^={8Q!rYOM2ZoVJSNyuPsl6sqHRf#l5_(Zcd_-F|13`} zEvph7Huol*9(ZOW_B?Y{E9@2j2mv|S;D&&JghYb7e%B7YZk6YQl1)yn*BT#4o_9n% z$HLpnEWNwaRHf-UUy{;di>P%m;qWO>L-#nSQtHpOYQ1W%!536g)-f6m11}#ErWNxi z+VSqU(sF&ke$%`NnhAMf5xpvSy(c=#pO_?YZpmw4BR_IlsV0{#WspTXe_%KtUE*Yv z$91G?c|X@ck>tsg^ zn zKj`9>m~A0W5H(HrX?we(#@|867qHcn1VL{T?IF&iwxGCEQFpMX@P%XbvEX^zQEyvv z#>QycMZmary{c0Fs7iWS&U`do%WEkS&>ZS(A1@)WC5M(lc9wuq5W8O>Pgt@+NVVrl z5B+XN@LA!7^ab@H_fJk+8yEHJvhCs5M^ExoCdLV2Hyp?dJ?KSF4P-Om`o$rF;2o|a zOF&d5%I6HWU68X9(?c+H(nzRLJlY=<(qeD0K2F%XlVG%4x(* zF=2jfL1vBRR!F+gJ3Iy?Gv(`BR)sd<+SJf55eoEpg5?~lPQpsg?>I}s{Y7wm&97b} zUE&>!O}6<}26%SE1uzmUlS2F-OnvxY4G4d!Zv@Ahr$24gH93sW8CXvLHh87GT1jM* zx>L`>$P1=sZg7_>@bfXFkokus>N>V(sLu9lac7%E?N{F^xjo$d6XMIpz^M>LSuV%Hx(R+l8OR4a>wu?z8$0Ma;3t zl;zc=jg;>PDd~$dMX8HRmncr>-#Jyt7XDIf@mj!wtf8kvVrr{v{6$_(s(J}W#pAsY zod?}Y-LUEyEz?cEtn`o12sG;sCOJ5cd&kzn%T;#WabH(-g83-tQG9PNObf>{g1AC7kaE1K~`G0Wu55EiEbD}#xStn&CWkolvm zLDN85cNhWqEsDYZp;*#v%IrrE*>er(FAzEHUk?a~$-YmYah_;=L$moeXrR8JDjS^E%4g>UJ|5n_n9j!`}Dl%;;-la z+Z$cw*s`BmTN`|rIXEbj?EENGGqQ<>TpZ;a#jlp{F{%6P@ribE#c6e@TN3e3zwM7& zrb~8!G4uIv2YBQOW!!@*>G|Q=PRG>IRZ9^c069ow`qH%rgD$ZprDvX`jh6S#tef2& z;3}ImN)rF&#}VRP#VJ&lXw8~$45{RZl*bxhA+C@MA1-cE4PNLs?_}2plhj~#n(II4aR_+%l2)IR((*Ny zUmzf3_!-CG^zi?{Isb-Bf)W4t$Qvxvzd&DW3nyI`OG}w3`!2}y36Ou`V&Or7r6F{9 z|I!y?g>aBPsMP?LT!b*8RBzd6^pA?KP)zN-!~F2B z8pPU!DUElGJFRZeCO#27*1Rrsl0}g306$;xHa^@aajK12vo(L`bj3d=0ra$|^8Fhc z*f?_UvKt2@DFq|#R>Z3|X5oqScK% zTc{i$97R{xS2>=CxfGmjK@M^tglB>{X5km;y7#Ru+r5&@z_|1oz}u1AJXgu!T+55Km1*Aur$t)2YO?Aj*WkhVu;+>+mk3HE$Ltgr}_tjY!7?j$jVvvIlZ8F8tsINpi zTM8iR7$b>Pv|3g#yhzB>{F!9G?+$X89KTElcieovustp>oFx-^y0Ws>O2(`q)j^lMn|aqvAM= zgEnX+hXn}SyI}fuRYMCp4K|47&B_@pZ2wNu1s0ge+jXk)I^85mf<3jsA;#bpEl1xOA8{?H z&(-{x3l?$m{Nxcmt8rHOq-fm`t$VYz0C4e%3n&fSA-xozB~swbgrLw0Mwu0=*Bv!AJNPpo{S6dFw!SIDlYWwcJ0vKsCZYm5~m+vCq-ZxMFJd(icHFgcAWWxE`1U$LDlf+h44U4Xw{;mUgWuy9Zg;>~YE*hsP&GoQr*EPjtd3MK++RO<^sZq*JwAHze!AMb7W4Qa3yt90 zd^xS`-D7z#`?CibYbnb~NNr#UW*%MKS}*7g1oXrMau-3oH#`-ZCj3`97^-o|XiXs(@~olSY4NWO#r z;p?*c!^P3Du7bXfB%b~cPa07kpWeTBAQ1b*R3^jV=hoevLE=XE++wM~x$)(&5$vz} z^#9M~EyIZzK=R@s25Hvx{=%KB(+cC7EE}&Kct;Zr7snKPN*BT4gEmsdw9UxQK=}## zL>dyBryoQ=NGzyHGe;ZRz46^5brF)A7^ijf(UiwyzOrD?ZOyIMr$vpFC$N=Z9xt9} zzN!pjKD|N>$IrQcg-h$Xop`g2i&7L3m?=~86+`IP&dh&=UVk;RSXAyyGgwSYI=}xF zC@9D$pt^fx{&{ppqU?>|7XA-+2m=HnSDj;FZLvvV3TBl5QX&6+T<#g^KTh?}+Z`yb zTH~A)ktWowmvc!3830^U{vZSc^5V}BC%qXb{H2ho?ZhOPPZzhN)3dJfe=U-kbI3?u zaIOWkh!#cBbG<-CsbiJAX+jW3t+9`&!q{2NE2)BOutkK)N}s953G*+Iw0DqN!&y(( zLCzYmSeICMt)Cf;OWa~`-^raoi`K;g3$sv0Z$a8c)XyITsQ=IrX12<`MGJLISK|!n z?w(YWMY4U3-IDCCFA0$uNmJF0W|Q%dMdlNk2?T7;J}|4V?}j))&)jl}S3o zxi?XtC?sF!^j`djW@!?MqXboq#=zyj#&}RXJ(&H+xPTFBXp(^fjxE`bgehmRE@o!C z+osixzbxhAE4FVJ1;|$FHcid~5ybJe>A$p*K>o7p$4B-20@3CyU*LO>T`q;~zXkN3 z0Lyn?#dGL*{bHF{{nx%p`l*OZMKPTd_1Trj=-fHPx$S4bN~{mt0*D)rpnZ1_9}=Ak zyH*UsRco13i#48AeM;msEAmXYZu6N&$sI5?CHCDnE{owG>)viI;irj&2Jsapf+eYa z8_IW!qTq)IcH;DSO}YgHM4`BKSEpL4iy|zbCnc82bx!X$nLD(+J@H-UvuS@6-M*H~hC{*Q@yNTWma_nCnkm*5|i+COmAAe$Q4K zGVa}TY1J3{n@J8V!h5?0&(AMg#e`2&#q1D4U7yESi1>nAMIs-^UiBzHSS=n%o7>Ue z?Uj^^sj3GlR+}}suE?w*^ZJxoJZG({VM;HSY>~J9P{qP%@Ob((u=4u!B__4%#anRR zKHxgB4T-myW^zL+phc(`&C^p&vdYb7BN`*Bgv@hlqj!{zZob^c1dgYp_GveJ;sD?^ z&sx%9dWZjxF@_W9Q>wESOTO4@ND^eTua};5#kJg^7TXK+-14=!FC*VvEwDzt_p?J! z{nlcB8EsK}Ur>CuDomyw>&RTaS&`wYF#max#YRU5FSkoQ(ZOngf9t+5S2jE^$f=Lt zZt4NST_FOK9jy@#f5w_5jnlqj-vKo!0NeQztwi|Y`GJE?WOB35|F=0JZ zO}0&jH=YC%Po!e>`Hh`qjH0$7Ck9Pd}6DFKT? z$AZVze!_&AUd6z($>hoxu z#`iH~oC5d@@{%eH3p#vi0as0ZoALP?R?Nz%o&#%M7Y7OdlM!HR&d09c&kEFPYV^qs zv6|#Y(3Kk*wZ`M!rJ$d@!_gkVYL=rtPF1e>Qqd@iU)x59iM%67vz1*gZv$4&YZa%G zs+Mk1k%k%@E;dvT(TH%GiIK^Rx?1BuDS5 zFsXNBMG2F)*jgEy2kG>R{JR4lV<+)kl8W*wU%cJ!U8e2sTvJs_Y=e#+RHvD z1*Ce0g~DE?-YCd#9jd&yE93(WfZCQSQx`sTBI=vFn8B?Y659T>&wA z83%vH?jbzb8PsJQLhVq$xU&RjxR~p}_h@UHz z;8tbP1#WyzeY(YRPR0q}{K7HHah=yWIRAEv-Sd7pYE&y#k<$Bi&a+D z+?0Yj$bw?nNbgTe-Prtk1X|>Cmmup}?azHxn`(%MSF^U?<59hpW+PDjP_$xMnWV*l zvWqz?QeM)I1Ns^&vUJk3Z>w`?8(Ti@iJKFYm7&qKdNw`VI`N902RE?U0qa(jgc|H_om+$ME5otZd#6u6(=a<}Q^lT2yy7^{M3($|4_ zOB(hTG5ft{nd@R*o?El@Bl~@q{Vd3m??D|M9qWc#Vd`u%W<~S+(`BJl*+2fQvn4B8 z(>TGv5ZB*90I1n~{4etR4Xs1tnVVbSWU3#*^B;m2!Oa=w;m#v-zQMP`oO(mol0v&s z)ygbptU`L1RVBQ`fV1VqzvI4;JpfeFKR^%D$3K@L8rjZXi5wN@yE53iM{cLtvET4I zct9i&Pgb!SlL`oRrCOfJ%4AOk!p;5w}aYkCOd~zU0rkytPGgES5p9mOW%KZJ-9PD1P)p zNW|!#6P_ep$Jim;FHrD0!dLA1MekbZ17f?q<=}b09~NM;aWx>&=%-I{8{f>Pw}2kX zt|n1yliJ^U8Yth)i7&^=)`;sLEVGX1zUsrvJI-+r2_R zUc6P`ePzkd8ks-WRaH{IuhmMjCod^2mOFdQObl#z8moDK9hr+|AjNkFN^wwbI<+1} zU&=;>EyUETv$mdCYCBDQc`28vQApm}?bCj|goEjnc_+S-YU_|jnu!Q*j#Wb~SPTV})3 z-8P?txEjvhEH}7LwQQ-)7IF9JaHjSP4+V|6d3Lq!p}HGOw<2~rP#$0luKRkLMdi9u zMF?l#2y|>*u5#sK=T!Vm1QFPu6;Rp=G$Kgc+5x;ra35^?y?=VbPN0AkSN_|7v^iBj zsl)xW8C6`A$VkQj7Gvvk?v=^`BRe>QbI2q~-YmBM1W`^PNtS$6eF>CHlVF=RTrUbP z>9>6P{8r(BQ7!-%G+h*)0l5fEz&;me=r}J*uT#H;*abwUBr6aAIx&AaM)pwF}H7iHd|aH>$7kX+q_H1 z9kM)$7CNWs-hl^!6>Jpm@t#AF) z)1#gsg^;h9P;oCtT;tNu9fByuMJ!+lc~)Z!r1q4(*{06`7hXr(8T2Z0{E)qPeG8)K zNgy>LSlMq;cBq12@g5m@QXxr0){Sth8*}yTNUwW|FBYX(k@DatnnVz50}yPXch_A&tYzPP zve6AvRKpfHe-gCl+GRS*s^{#2G;QwG>N;}x7t%01v_^$fD0>h4I(h$}7oe{fp0~iW zr!V}u4M2d2wR9i^`ZSe`EdSZWj~`6_XU$_YC;z=`jQJ~(tptPq=LJ8LP&u>BM;Rs0j-CPa8v5g~6>6`)J zos0%L@18z1O!TrHMJ(V*B5<5?1` z$I1z#uROx{AnCb!3uUS=Eg0&hSO8w*TpW5D!6w@MrZFZDNv!e-{kA!&f%sY$=7+NL zlKA=#`-df*(ZmQFhl8R)UN9H4t7$;)f&m}y+kBsC_0GXpTjTBM`UX_xER<)IX5;LV_~ zZtJ)bHhpO>68j}rc-yqRe%mwwQcZFEvbu83@HA~j`HdgqAxGvZ1|&^QbHsTdrHQ&p zA0rZ~o);it;&;H$<4{W_<+ZQdQ8uX6ux{cSw8E-bfb`dB;@c7!o%y;KEtG{k*^df4 zFa{zwfe99+rmtTb`dZEh9G6m8qT-e{!TXU0<%@KZAgyknS36fmWC*cOfAEjuFTk*tP=yDM1pT3 z4U6Z^T&mPw3tGmgP?QLjF-V8Lp?gg(sMwPyZPi>UZyHO1oP6mQbCauhUb=UvkY&Wc zD!kbGS!=$jn(-TX>8uddN7pJzAAd5wpW;^-{_c0uV}w`H_gSe?5pt*%-zQnKHAgXf zVE(J+?+`9T(I`%)%ze2ohXA4qd5QRN1en$xTG)&C4Zp#xo3BB4^>Y9b(G%b{Knk|U zY-`M~J|kO~H2lY=_b+aBFg~XX@{2MT`d$Bo(_tUL3+}&G>i##1$X|AS|JDdN@Jwrt zxOiIuz{!3d;c~#-aIfM9*7jRc$$0$RjGvYh@lx%oYPP52@;=Qw>$r9JL*mPVx{Lv` zfs6Pv*^?mv=Eyh;#|a*W?PXnZLXQ~S^Z$7L&YztnxW@~=Awr;g7Kkj85(6MBOod(m z2E8VT|NqL_$k@y^!(Lx=Hb&ziHzj-EOy?Ge&#D)4@Za+TBp`mzk0hMvkp9oFPyff) zr#GvMxDo~VN|&%^yP%LcWr)hRfeNBY*~%qpkeP$QoXP0aallP7H*8x}R>@?eX<4B>ZZ z(7nFG{rjDh;8dL6LD;V^Zb(+Hh7z15nGjq3i$g#n_Y5EPQ%&a!<9ngU4HRM3CAiWe zM_bR=+YXjLJnd#Wbn^SB@W8{I$xn}7ZndBCb7qcy_HmfV-wT}bADlk-J!2!8U1N&f zaThrGeEOF@R zn`4qkp9No@g}m^QBOfg!;gVesS^-Fp`Ljro0>r3okJDiOAzWhQ#-=Po@w~sNFOVU# z>>qe>V-#Gzbn7eEQ%UI+uB2CaPhNl9B$mJxoqglVyjdDnx)A+J7R54xC^*tH0irIe zocgkXE_uTH4j=+b$Ri0x9T&8!QSxh*Ps`yvVDPFGnRnoAsDlC2Gk)x&)5&|73&n{s ztKm=~T&X+bNpCa#TfRl>&d$o|Np`c8CS&srn}yQiG#GovQ^(*FF30U?(fgJHII3j@ z&5TLQiH0!Pmo$$uB^lI@fcvAM23qPB*{6;$9k^={iTnsjIZ z@6pMBl9a@A$DcyY0y3Tv+MpG48XPY`PNB7~Zs1TuyTA|oixqb{ZWLpsN6{Y$c zdH%_q4~jMM2Mipqig(0iDARP>B6Ee;9}+5u1pZN(PqaOG?xS`&Qjh!8MGt^c%(FxFUPt@o z@`H|WuWwgn!&dwkL@t9ykzLW$jssH9xhNK1)M)-t_Nd9WmN2=y)f_%{aJs~gzSSnE ztWt=49XHo;%YOKqtNWfUO5Y-}h#Ed1LU%W5tnK+uH~Ni}KKyqcKw5F+0lH)XSsy@eYNra zOWHbPOgQ26-WS3bf%F*qn5RHQ*~d8psDX+tuM>v&(ls!D@LIlIC;c+PL9}5~li+zK z^FAe1>&uwbeCi`ZC#w96g-c|3#4^8xc5U+X-X7m=%nv5la8e>kM>+c;n#ItEyQ#lG z$^7k%0swL4BYLVc$)1*ACGcJGl~B!uccK`HYgr?j@Cc?(#VY@GjOsgF3DdmGNvTTX z#x26tBqgdG@ud(2x(vG2TscMo>(n~iX-Wy)l@U|WiTshDxl8{{)Z*vNVFXnq%lhI)&dxv&g+NS{qOs@ zvCvmc_loFF+1He$_vBBP4tVSGoISn*=Y(!%$ttnKADbTL+O#z)iyzB7woQA~TEw-O zFL`(ROXzVSb`&mR9<^@q&>yb=ejOSGKm>sTpXnxE9}Gqd$I`{ThqSo=0x84L^e(C6 z>@xT$u!klw?>8&Avw^08`O^CXWWPWjz^l&dSgEuoD1`*KE^ID?PO{YEOgDpmU-j@C z=J#8^=bJAQM~quw=&#$RaY%43Lau?^wwn`Aa0MELx4Ed?EG3={)4q&9Jh~ynM{(BH zhb-AFTs&925aDve<>!n696`6z!+Q3Jw7J7BBi%DyHCLhNr`VdrllTIQJYc-(VGB}9 z>B*^Y{SV>I@=X9kPv^yb7uh=&)E^V5-1YSuLc@N2w+a@qMj0u6sSsinzALPsXRh=rA~+tyX4;T zGoI^by+(S0lydY&{-{D$)yTvvvJCakAyr&oyRMZ8E871KIV|Mk`^-PrgQMvO-63WGgGg(tlcz|EEFdziSkYM@(b@ zNqxfA`uGuL-F4upMN-B&Qwremh!+cV=F}F9dBV`e+dx_ZH7nF}eh~=T)I(*K& zUUn4#PVfYUq)yQH7RQsuu$@e^=7R*Ddi08&)p6lEoNbbP?iD&v{`9F}dM4)ldoY*H zMVna?ul3cO;`qa)1wLVqC436Vos*aEHa(S*n=URV8tNjr=$Jit%*x80r`JAQS&O&| zynVRDV46}7T>YG-D`mqBH8@xF`b z9-#8JHsa!)$hpV(gjH`6fW7T_2{y4}v zN6?nz0cV-xf)~8O#Bqzv)!a2CUDjpj%FNx8R}ydAeD;ytz^=ak)Ea?yzYJC~Mhirn z=_JTxC=O9IdTh?{rI$}V^hSTbCOAxu&#xURcRqH$hvk9hZB9LT53P0@%-xBzl)U>o z?}o5?Bj~7@*LN`jErRkKMC51nc<`vCd4@=7J*Y9tsg}fJ##MRkr+oCh`>3uO*(>q1 ziC$iMD82J&SncVv!~CDr$u@bXC#S5R6k-M?^RBzbI#E9L%X)?{OUJ5^l!VaFawy5U zG7y~4o%OT)M+aK1hL4b-VP8D>c@9%Cxal!N7?Z%U(AuHK=ZNs?udkY}MN~6;iaKsZ zZ*h1Db-Q!HaWZCmU9JWN(EX`eryjy*PVb;Dvr9J${*a$nca#6Oc&cId@2r3I!<`br z_@dR16CTkyxci&U9aawP#utoUX}^Q1TI{UrQNhps?YWB(tm_RofXE_Z?-m;nx|ng3 z2&G*R4>#SSuVEXEIEpO|1b+7hgQzL0D<>ltOq?^X2bYGAg~OquEfk8EWJ6p zQW25CaS<><+!9l@hn|Mo&kk1)Q=Xc7o{etbsxPyb2pf0v-XS>(D3!gSMJV8yQ9ri0 zr&JHn!xC*jEL8nvNHa9FRzv9j>}h)!=veQl(TjK^*@jcR*uX%tJ!M9pB-IYm@h7%i z*s(Y~GTv|75{H^xB>3;sYlL9S4<-v7rxf zklRaPskPrcK3%%w_4oGE37!K?EeZ3{DJYel*PQ3GU6DadC*<7%eaY_3i(1+(vZ3Tt z#jv73daihkY*9$6FOgp!PIvGkbOjX`U7{UC0h1i@Q0g9fnKI0F&S^J6swjXYir z+RpjaN-uI@)AXhGMDr)MELi@63&2u>UPf@X8rmoE+_Eecoa0JkM4**FLHO+h6z%8T z|NER>7r~bGF7+sSqlv|1%TvrZs{Egv?|ql~MzjhR31)q{(dhPlFhUrKyFco^!UIE$$GqJ@z9OgaBWAHS&NQFdR_63x5T?AQ%O_RjSj)hhqKVLz`mFEUa zjEO{Q&rK%05dmK{m~aaMW^+Zd*}1-oUI1N0YbMEanvsTc!_1q|Rg$jF>=S>*P*9M1 z4>m*0=4&d(VhZ6C=L3?>WzX|IL5_A%X`W5h560xNFNOfKgMva-BH=|wpm$G`d(kQ? z6Fzo608ObXm<~(8!M-)^`)@diCQ>wo$L(;^*i3hO55`~i`1Yx+j-=NLu2m=S5a9JP zd$47%>!Kq)?ixD3)?R=Xb`_dDy*k+jrsKuQz&1}b5+#FX@UzSht+9A zK?EYGG^fp-$e24*J}5@3pVg6;S+QL{&EEa!?>I@ih!z}aDd5&#(90YqZ3Q`8I|v$A zqWu;*92v41t9LVe>>I9xz7)3Y4NO@8mZ9ykMDx@Tep^zslwM$??$fYXl%g_tV{npk z*E2*+8ST@7?Z9BR-6=f5h__8`TAC1Mbm0)&xjRB&lU6ACi&03W$kjKiN7<*^j`LwA z?xz=v?M>U?NmiYiC`Z4NlB7_XE?2+6XVYC3)Dg)^UPL;M$5yg@p`E#l!5oJ%kyI^S z1ev>ROQi5(0^y(D1?Ud|A0yxQ)!pc5c;aEKMC`j)GL(KOZ-l#7u;j*PEPFBmYCz!0bK4$J38GhB-p zqy0iepk--1##**nyAaCTTWRU1g1@E- zQSg!7O z%o50&qF7lszV4On@Cmq%@fKz&RA)oOaX?gJriAiD)%b#m?CmfEy{(Z%sF}r~i*Q?Q zUl&z8Z~cgip*T@g40YM_oKjNaw35q+fF=(5!*0Y5#a>394B^@`P3aJ!7@z5?MbT}z zFW8chPT920T)XQ-C}M}Ql+$aMpDXR@8h!Pq1+GXf_j~S9bkPofvQi9$B@u6>Rc6=T zr%&E`e1qR4PpK(Zd}XvPl%~t@%E$5sg40%JKL6&zLXy}ZlseYvJ!H+gtxosJ-JWv$ zOZz}BQFr+nJm&?*t7a@IR<_1*`Q z^KMu!80o-&fduM37p@>HU#vKhj_6)7HXfhn5adjBEkJYhx|L#lxXOj>gG3k)MxPp( z{S=$@b{qC2BB-la=D%S=zZOa?3q|t_Q;cl9bHPinl04wxHsYOu^zl4q%QwC==V0dk zut(=butzn`DY8G)chxq1D$=`Xy?&pvS+z}Tc))w`LRbVSjNsI`d@j1n8x=%zf<1LU z9l7IoRuJ=lW|yEeLEN^b-=8@-J{>(F+Ue5>7mDe6L(h@P_%^9eAzHg$HplR`aZzdS zy?s2Ptu{Isp5*FH+=Ii<$F-A)j$?#6z0qZa_i?rDspQUjFTK6SOw?+i>wWl|WT4N~ z|KIQb-g$ZM!Mk=Ni*xlC$QmTVjD=4j<`b0{3ToNshS{BvXr!reHSG>H#lj#5aV z4b_@L^EG$+Gf^-bE*ZA_RlQl73r?gf(Tk72Bpx2BFx{mXH=6_Ps?78LPzbIa=unON zz-MPj1bVMbqID-)V~75o-cG3#b?CKxC=E)~aX^~snS-5-GKqmzOwkyqx0^sQ(w?1= z+|{-9*sN_ki0?;VDODWo_IGH+-YGFb&jTXC+su*nk^h6cw~lJNTlal|&;~2CP$(2H z*5XniXpsV?cyXs#ihFD_T78kanBj! z+&cz?G4mVqH}jh_f8@#Ye4o!(Sy;h65*dyP6jD_IAYS3RGREjsus~cgY!e_Z36^GC zy}adqlhqdm7i8sJ5AQKs8#BYS`d{pAg7LmcHa! z-?!^MJ)05PWx!Vv`lZ2hQC^e1<$Y*;7Ykp}V*z9_f6d2}43|iaY7*^F8Zry@5fa-Z z{hP+_Wh3cuhmiUgqvE=hR_r)6PV1slHvHI?O))OV8fWo#c6)&$KR5-cdgFZH!d_yT zuQ>rr^}O0Ew<3RFxRZ427BrC661-2(>DGr$f5R)A84-o~d^pZI^Q!!`LD}A0DQU;K zA_9j9t578%_u2GcYO#>3uc9KAWM=K=u&D@Lf<;@Cud3#de&Zy^SG+^X62DqutVt*;Mun(PY!sKdwh|3FSetgDu-BC(!ZNq+u`txmx32V;5fS1Ch4JBX%w|8FVL3 zoA~zSl#k3W*g67xOH!veSiHGfDf3oTje(@Nn5s0Us^}lDn#cT2F z*a>{erg-2&qdn}s96ReiZveJuOmRiF1(J*N4RPEY>-yIEDbRe8(o;^;cNc0W5!W{| z8%sG`ZBUg6Kw2xufxBF$JySUH87xwO4}#uGTtF71amJ*$lRSTQZx5iSp_%+9y|QtMq(zRXNu`vw`*&4`HC)FhxqW1rw&K ziw^}g#70LM(BbG&@M%wG7XA+Yt&Sk% z>bP%BHAD@varN8E)MlO>$k55mPvXW^_Da`sk;q891E6PT`)VOVSr!zm_`)Ks&pX30 zR#lbIupG3-|7e0%tLsroofv43>>44J{T$)G-9-VJWG1m8?FB4gH#@r2UwO*5D6}SP z-9QewGGc>Oz6q7Har7z3UwWu>4@7Y0@cfxMB0^#lx<=|a4+ zMUC#}QNUUmXrog@tRqX8LRoZcvbO5Bbp-!LzqxVtM)NWY2gYxk=?)ni7s=lmE z#sELQF!{Gk4HW^pe!>LZ93#DsF6D&S4jpWVI5OlTLcP4mwHkwUF{duPi?1vk)#&z+ zisBKOL?fOdpX88bJPZ~D**S;3A5Gqioa>w?RxA`kK^{Xu(89FdjKP<=K^mbDOX>qc ziCz|N(U~?9A(0X9A=4e?Z4X!*B~9@pu^>{@lcX-mK(v1Ig7hV=HI>JjfxDL^t22w7 zotJ`H54rjmtgU;Mg3C?UZ7=Vx_4Zoye%F%s5gmooDEYRLaSE-6{Eo{(jIAS2KPd zc=SSaE}(ypan_}WTl8L<@vb{@#pxgxG3(LgStsUn(swAU?6e*;OJZI92BbJmsx6Lc*F6$-i+R#8zqG5=n_*t=9idHeMC@kt?SbiiRtlqJ zZH(h1Afh4!UQV399g!~`?Rh!YW~UyX)S1?RfhD?uuOeE&YhAiwP2fEg&k?DyakJ%C zo&FOCzZZ1>1CC#*r?H(vBvO2~ZT7Nvb7-KJmWq%mu$lL5yjp<(lwxj_>Y9GH_lWGi z)#+8bZwup*#JMTthNBM3vfBs0H!4E@@*U>Of9Sg=3!1rLJH3~8pJlxMQ~a!)k+ob~ z+Iio#?<-uD^pEc1ZU40mC{`aYl1MRllAqrfSJ;l&8V`wQGHyFxf9{%^3$hTG9ho4vB*)6Y|-nB=gpf$6FqF-D(wWqnH^E1JEO_%et?`_$9x zH`D6`4()^LXC?mHfWn8ytF^%Tz{2?Helo4HiF`HYsxPr_EP4%kxo>JJ zXT4KW)VLqAR|)f`#6dK)Tsq;9{8jCs`GQPM9}P{>m%x0ZR4?YpQVX}2Qxht#elH(= zNLUyRpM_^chQ)&i84uzu3bU${&BX>6pwqSvYVTv~0b#MLBNof=zwO!9ZWiioYf!p0 zJ-Yh(vsGD%se8SF@ueov`G6f$XywFvqa`o2Vi`Zdu5_HLyolubc8Jg82YX5~4h3bQtN==HB5~01w=#_c4u8@gH9hUAjspIt z$J9kAmPvd;YkqT~{+y`Co?+XJo{r)=sV7n{^0-ZJYg!?Vfi?jTUiN8Yr#gDe)oR`H zy9q3R{bpfOnpc_YQ-4e)I|nN);0LQ&A3V@neB|eLuhtaze!pB;Iv^uEEE7WY*j97c zW<=`5CG|#_kSXDf@ys5&(gk|gYFtv0isk4mx*-qh?^Ur4o*Pv@%)KX!-8WofS-rWt z>PTBwcypI=hdu6ldnANNL-20N`)OKC!>aoH8Qp^lK|8Y*q0{du zd^Rt*i{ZNhf!h+uH-^HlSCx%!3a0lpf-jQhcwXp4NR#mxEdxtP71&z9C5y7_tN5;jXFUDb~s z$5=|1`TI9P&RGKkw^c$cj05_19GV*WUWlJ8E-xP>-te_uDduW@omkcd3fQ$%gILgm zu)(|5lg8ca3+BgPk+Xlb!~8V}o%9V|xC_305)F+!_VOKjlLeGRmfZND-nhLP$~jS= zzSV4XXwE;#zxt8>{y(%n|Cch${Yx>qkDn(*v@ca;evg!TdLr+ww3FsrJD^-!ZjO8% z|2mBBU(P{a$XKAS>8%MOE9{31+%~k9OaIJ2=liI6$(&_;M8DW}&uUJT2i^_;5|@Vu zH@i9nnKv8xGzp9b&gu*if{x?y8SCd- zp9X>%KPQFiT1GVWh~pQqim8TCo+(5a9j6|nz{TKKKChmsx}MFi^-m!$GTf9#D zIbAQ6@=$`H8I*QWTF2OoF}r>)&TIyih{6LYOC(C9|J-ZH9I>8$8w zRl^!4zbJuL@u%4tos0oO3iX_#W`P@lwYfikLmXwtRRE{mHRj1|4HbaLKUd|7KwXZ{ z!>8C#QeE4#405iy;kCa%5V~|Jx9Y5`euGJ3uhUL2B5XcLmzM1N{3w)>?5q>XWzScA zRlvqY!4AcN1$L|aF2^3(Cng$XPtcjdu2K!HzC`UZ7mnpC3>IC5#i$sY8#YK46+Mn| zNl$eRrmPbw{Yk@3h=EU9F_PkQ&J2hOpmN>g46n6jZyc^capE0ihh=!HqLZr+^qtVk zd|lflX1ei{Kj)hPr?1mkXH+Y=NCkwLM=Um@1#RT*Q8zVAj*e|tU3>i2kl!?`O`sj7 zm!)Z97RotdBRqpAVlDk?+VvFy$lwp4UfzD<`JGU$K-Nwcd)*+lBw_WBxqVEr6c|q5 z)8Un0vqsLhEk6TX`jZ_d)eY0;5BpSf%!IBiIk#mu(L8C^pAS(c{!NxnNk110b6tK> z)ltfQ?KCVvarTPrQc^+@Dac(Vc|xz^I(yyl~T!wkF{s40$nT zR(>sQ*>V431Trk*t(+CYC#%LcWOm>skmkx#%rzAufU3<0I?;&`d|^~8IK&6UNF1fx zM~v}PBXL3V__+5Z`wE-N@xXFW+d8iibtovsUSPgX;C&!|dPTODuEZiw#Qfi%Z6s4-AS3=(%=M`_0shCLIwqBca=NP`;7L*TN=`vS)>%NvzGOqEA*uvB-KQmFB-;qQ1kFSve?T95zN^VD?4!uFX}g| zuIijTNPjZ#UT>jE*uKX{lFqa_A$sEq(7R!?Ns=?1{XJokSEQ+Y;xyGs6yRe0VrS`>zb7Oob$yEWtYnRz+8tf=G6$z4^wChLaifV+B3!4j2HeD9VgX3S9k7_x zw_G(Lm^EtXrAo@ths0scSy%{NZEPBO>8I#LT2uM;`eB{Y#Lu#$=OF%(IwO=wxA5u@ z?dM@pm>Au)`Pv8}ldt(yy$Sm+H_be*qU9KFqC<_tddX=CAUF_|ZXXS67;NgZ-`7(>LX7v(w5%XiBzfFI)6|BS#pE|CzjRqMrTzAgC!*5M z@g2lOKd{X08Nq|1N#rbX*samLtZUg++g#rIK!&XPUF}C7+rxscocXTw}}NGtp32I^ke^d9En4)&EhT(5c?nm ze~e+i;_tss=F-HjPa{rDt&v*McfO{{uk(`ukZuuo$&z zL{|CmW7J4JIb$UI07lvzL+olS!xul!QMqWpc4sPkgA8vlv|-?kX2jGb)sa`MQm&Y& zEa33?B%FDK>|u|rSdN6t429@h4Q0m-vku)vjCbT8$6wo?=yz@n#Z|jRC=QJjNit$B zr%TvU6$@qK6j)2$f@jR2*$ER9aB03X@!O*l^1FnDqoRG>&t;6|9j=N+d=l4|TUre0tKFr=`>gmQ zl{?+d;m`<5@w=+AYu=%yP^f2pn2*Wi3elP3ZpR&HyZi3>r8zzBfycko_I9s1Zmjp; ztUeMvg$c#x@6@4S<@cz)*UKZtM0U4h#+wfJg|tcaYl5rlzp=f1<67=1U}`Emd|UrH z+6x!umL7J#oa2)*3tj5mU#R(^IrqcLAX9UGw~1kz0p8)^Bl#i}X9e{p3!0%+Bb-K* zo0gq7W{rm0iCLD!se5IWT1h!#_I@zoI~O_Yyl949yZP$TRxIbyHlvIuVAm4?=zCjt ziu1_hrZ*)-rD?gB@M_=ix!X_FhqH$hL`&yoyHmHHKKFi3{CrX4t6a9HOf;iB{u@01 zrf2`ITD%dGur5A!CkRIWbZ<3lRea+$-7EHu zbv=5$J8v9zBX^0&nD$?~jkx8$J+!_{GoB9Gci#;<^wK^<-c_&Mx}vyxe6oMr!}p~3 z@~uAep=j43zIs5f|DWwa7_}lP`tu3}EqduhE|$TI-(lx$wV#_|?uq zq9E{f`_Vhzd)+Xw?#AQ`kqyKj*tyDez2bUTDBS4Ql6)RF4<<5F6C~m<(YSL2C#B~j z)0CjT$|ACjs!S%Dfz(2U_qvKdV{>5s8NZi!^BXH05tYhF>k_OQB~bOWys4}+=E+Go z>YzW{(A@$ti^#AHtl6BjV)t2iAKk}7<)sMUDRV%I(T+lL5oyJCET2FH9|m~e^&=*q zj9!j38^v?x>&_xz3(upAX4EZ$3x;(~gVrj@=Os>3Z3mO*u6OSYYJSwhXXMxncRrVf zYsI8-!sJSy2k|>h%r&UB^=qBbxo{Mo32G$|bLepxMHYBa?W|)($1RL99ow6rIzCO1vF2|08XAtu*1uy3{NmTE- zLUX2cUU5kukm}xiJK-zInS{uFtPPb`vC%BSTHvZvH?(I}oE&&+Ax$#T;e1Ouv-^7L z1OM~Df-);jr$zE>e*>}=4`Q)jJ*RtFi#dz8?p!rKBvYSWyBQn716EHomtRkKtE z^*C*dx!YYE=e~b^K2fx9D8p4y+Nm5_)l?#tRc=b%2M{Ivx-ocjmr=T$te;vdmsU0k zHq=VgolmBl+yr2N8aS1tzf7Ug-JgVod* zAH^c-uCQQ#r*sJR_oG3C>BJj9%Dqk&`qnBxVhNIB)i#MxT~MNrSOCh|&H zO^e76IKnbqo0A7iOltxV+j;WQ1)AkEQ8va+mQ*+h(0kk-ib`(WJyaK5d2`vanG>d+ zH{s2~uD@0wuFjlo3@d+HyFd>1b0n(#uvfxy-fQ>szClA*_E-7R_n!hjrk*e4BTA9_ z4oWo)%X;pv<7IU-OesBdkn9winOw|WKj8s{%kwXjVy0rY9z@=7eLJbRKp+d#FYL+Q ze670D;cJxM{8Ov8qC8qVx+9ezg_U)q2aUt<5n%91YHv5xe<^Bq8<;b_m+$mr0MN(L zJ4}_lzc^?+G+hn>Sn|XWOvz?Kn3O4hvBdm=QS?Zf36rc6m%fhdDz^zH6Y4hN-?lDJ zyp*$Obx1tll*hm_MFC{Fp;rO#35dLy`6LQxjXp>`69_1?s8MPXF zgtA$GAVK%?B;G9Axw|s3gl+csB?^g+kooRfTZNTRuifXNto2>*m29ClM0w5gg?_c$ zij{Ryt^Jv^(|z>d$tlukZBbZJSg>32sQjLsn>MYB08sZSrFj3g1UB0i$}W`Fb)Df; z<|@?8Jm5$5qf?KVYbIbKh@Bm)*HgMpR1KH28{g9`pwQBntn6}OdUKW;zw(OuRC$nL z8R=Tckp08?B{`UXY!b_7n1l3_A_7+5nj(S%09D@vlBCtVAg0*I49+{y$Y%XwSb?eY zKrc)F%7r}Hj>9cCZjX(TPdux*=j+iD= z5=)>&Hscd}G0q0DOGcCuZ_Nnu=iaz-)A-r+=vT_8q|VN~l0&;T{3`hmlTY%yFnMk8tcG6}baZ1Jtd})%uG&SM z11VTBw-khGT*OAjY0XB&A}+G%@*cy<1`s^ztP+ikwB9Pc}u@c@|R{ z9fXJPnp`!PINMzkt_4ep%%&{bu#iD$qj2_wIiVN)oPFQ6kic1itR1)5aLD+%YEp5+NE!!obj zu0JrsLwEGtr*Q-s?WXFBI`tMR%887ADLW%9B?V2u8woYv-53j*B+)@eOoB1Fj!7d< zf?<fz?HG~w0y&A?K9~F4v#ldK~LupLC*>RAl42LF?gX>d?joJjylxE(ui}>k* z>{QP?&y>8zaY1A%Ai^ils!F>cCy>;y&FOn6nv#PnPirBa*EdTFaTI^!SyN(>P-6DQ-@wf&&D8s+7kZb!#k^zUD_!>b~gIxXrrWrfx|TqfP-QTC3d@6P?d164b% zOqb>|I03Zb`@CE2e%yRvH@Sti8DC$_^xb?sp=PA)C|zsmJWL!;sbBhaDKB-q!WeJh z1lPT%g6U14vkDS;y1blTXewA(ji};7KCdxz#MC(98P^K8^I64+c{k$CG*jflUs@7b zB>3<&S!9F%0e%0m7>`gqB1VdhSS2{@IdZ&WsgTiACY0@C`Af!w1r)E~lxdx-auIw}GW`brw&Fokg>{{p%$p&lQzC9E;v_1J^xeD>HZW zK@?a<{mtohm9^dKk-RQ|LX&p~mvEhsF>9b%9WWEg1Z%avK8*3`4*-Yu?+ivh#tyk) zDNdwIk0#ao`O(1ZbSS>1=x8BA&VTE5la-Bx(wyz~fLaQE)bK|jf}UR!^&o|=i&}@w zL|m=$9;5oo)?vJ|@tLb(+tpcMc)|dUoPXjT>1>XBrd(^Wn@OPnk)hN|-PeQ$&Nchm zLj(%YA*k|^tzwy7=zM6qNksV+PC)ck+v8;&{UBGPp+jb~VPkw1-o^S9akaIzuco-T z(9rfAOb`Q?9_Ys#XW0ap8MI`k7S4s2$w@BH2<4RdZ}Cv~Uh-p@QIK%V2Oz#x+b@hp zyomgS!c^0^+EUinb`}7bJTPio;zjB{V~Zge;4f7m)m$$l9(MB!Z-YIFaq4m|omU|9 zj$cUUS!btgM1R9M-sTfQCSpCrIqnM^ZxoQCX%;)Nf=n$X6mTm$ZN5y<=^|6n-uh0q zuteMy(o2PlU(C32d>H#<%Wk>hohBXTaemR+yNWaYiJ>UD*}Hry-(+x5ordh9>$!@> zj^;PG%&j=wxZ+mjPF=7wqnUioaNU^vE4`S*-?^XvubN{Yw!kHN)~xiCRO6&@v44Lh zpP8UU7K97$9)Q`Z&9N{>9J`|VcDW87bn#_Zl77esieCx)C~)T5HW!zh6fSn9K8eV4 z9+fYd%A2`bil@rNvU%ca3Ffa@G!zZcT&VUYR>2(mH;MPIkh9jbzZwz z(`@!p(LuMs3a2B+m1#j`>9)FIg!-@c56?scQsq6%S{kW!_f<;*O*)6(59&M>coNE$ zL>`xxo%1JPgG=p>%i)^kOho}Lb=!De){?PhlWy~$T=XB=M+UCEu#%bGnz3Z~)ZfGH z{p*w~e>~sOP9v{v`l-50oB?2;A(n6V4nL&0a*(aIDu&dhHJ#gAGM!%R?etIa%373by#fhK&XtCvDrh7uLxy+!MoIXZ^iZ z@LoQI_2;1g&tzqgZ@TZfixPL=seHu9tR3Eek~$aaC^$}|tvHzejki2}y`?;edZc1; z9{3#bpn19|9-)tVRDJXP1vFz$Wc&||o`0nipBu;8f zn83}fy{Q|=?8yt7O`T?DqA@PfLLm}VgUt;c@gfpC%tFt%N^_gDKNl^XG@gX^=nyiz zLOtT}k0`CAq9OEAKf&#T`MP%7(s_iTf3Uc#jVsH~bBVdLwZ26)P_q77jd)>Or@S^C zrdjC-SfPzl2F=C11D(HH$Ow(*iXR@duQawqS2j`n<{rT54TBjx`daAN!T?I0pBs&$ z4vL?6J!X?x5ljF)_~ydYE03tZ@ZYrrZPS(Yw4Zko>$~@W`cy${#?teoOljv?jiHz3 zmbPWp)>CoC>6@Nt4Rea{IWK<3Vpr=H!gmrbJ%V?I8n&VM%(g5Li5|s0HRb5U(4KC9 z{T4-+a%E%3gS_rR8g3y6_ey1Z*r36*96_BOe))zSAeNN`nkEf<3S`GTPPQJkMhtLR z=!G96H90D4|5sBt1|T5 z)!!xS-Bi+yG<};(L{?|ztL0YaxA!V~4W%xe*(4b5rOwZH3Tx?Fe{LzDNSg1mIUoO7 zaFfNrF*c1`rBjCRqrfh>2Hsy}IlAtG?n*$pw>#2k>eFiXVp@9yPKgG$JFL~yV#Aa&em1ERw3)M);_8Y5>zUr8;5M2(hH^ z8YQVrINb~WO7^n zsGaWEtCX-P*v07uO={s|M&oyvlp6o z=3}uBT`rVDPC#E`8aARH_3lM4p^AAX*gUYH-jyY8taGKgBOd6yz!|;Cm1%)8dZ%`A zo^0D>h2$newm~-|CZoY6#5Tol+ls9F(7Aovjt7;gj-EK7rVYLSX5-*q^%Ze@aeV@Z zL((ztb^cDFE)F!+S5aMODnX>rJ4%A5+PW^h_M0P+;wWJ&gW36A)hEJi8XvHVl)&zA zfic564^>$s1J+>NS+_Eg7B#_4K1@?tZ!r2P8Zi!L8!HBDJ@V=3$Z<+{Y$G`tnma-h z-Oi28E)$kH9?G#0)IU^doTfZ=wVZ$FpWw zL#O`-2Gb)$v-}8VFTlOU9J>mF2o%lXTGH4wXOsI5zqcez$uzkI@AK0geW7`TPaAGG ze+UFRM0LuX@<64r%LeBd$!sqsEXaG|%CWzxAkv`%kv-Ig_bCc2R3uqLFwp3G#`3-K z2JkXF=IQV}apuVFi>JPgjHwFKDoe@~EL1{F!;jk+1CHS>xQK^izLqf!jIyFx-yArwnReK0V+s zSa)oP_mfKThu27xiC*Wqrja)fe_$&YSgGF*NZgQNZ=Q;;$?rS+F*$iwgcU&^7CUXM z;_iqqjzV=D^EoK>$3%ff&p;JXg)4JE$7DTloAcNhrYNGaa?WI)S?~!Nte!-Y6B_?AbU2W`P*pssb>2M zP3c*@vfvP(_Z(qQBD{~E8I?w5+Tz!EjzHTFC+7Ji=z}*X(!9Ethwi`ltQH9kZW>|{ zF{HD0VjlLTCd~gTl{>25sKZpJ!z7w%QO1KI1^~=vMS}m!+bI#+2g^sr`QiZyEN*=v7Q< zul+Jx3p4Rz(mL)th%8y3A(73l9F3XM%as%2y@u|n=^j3#VW3FbO5T|+y>387eh-uO z5?0W53&D$#rxCxmRy^B0HVkmujUHEVj4QQ$(7szO_gYBz`5tu}0q)0XbCXWW1O{=J z;>P4?xp_)Jc$df9-5S=o7kH=bjO*e&9O=Q9w>rTUjuLd9rthm}=P))1m01iHr>!pN z=p*k z-qVQ0-X~;qcHMP6@PnV9vXFrh&2tB{eneqzMbvjZR8HKZ=h{t8#;P>h#nbq@(Iz-@ z;>E+edT9!lnwF~gRA*1(D!4kRE~(6jA3VTo)WbYSN0-|Q)yLm=CoB!qTDc<5r-W`| zoK3&Yw6QLt8IPE3tTjlh=k+Q2wli>@5MNCIhb&*@$Zwr-ac2a+^?vh69~|}e3BUIJ zhJ71p%?k`F0*9(L4AN^-Y{0E{*i@H7uf0DBy)nBE+i*EnT%zr!I=!zoZP4Q)J-_}5 z6!~9WYkK9uq2xyplS7p3r6TV|Qsd<{{>Z@!B4~+3C*$8#8KSk`*Rslh#E-xcKdfP< z3R+(?h_Q)e&M9{V*J#Fm2M5hMr5<)DfA&@+q~$E*t;Ct{$ClX7^eEcCM4!J;2B-dcKjEK?iP8SGKJDKpCvE?E zzx1Dr5y}0v{{K-A^P_3BRX#c4z7s6_{&=f1UTxp}+qVDxu^(la(8PbfxRE}QrTuGU z_D`D^@bQD{-Ylbt`pN$qQAGaJ5zd`s?t%|}tKTr13;q<3%Zj&eLt*?hPv03z>o$g} zWYI5bUgTWAcvw~>Ta@OWmzG^H-g2GNq}n-bqsg#A7ra&O9d;NYECmDr`#OPrBfse! zxxK^g{|-C;7hO8L4Z2Z88Lx^xI~DFvcYA$Lx>KIGdpzdLU+h2l-{#)`n(!|s;l)~~ ze1E^mH2yQrUi({|eZH)PnR1KwSDby6*Rv3|s`9nyq>a#Ll);_xh)z@0f^z!YL!wDY zviv8_1X}~djOsFV;E+im-D%C!UxQVF8`vjNuZ~FQYm36&SYxhPg#M0|B#cWXBnrc0 zb7|kQGSn}6`nLELQUIOk+&1_Sv|-+z@|=lt5X~k!kV9C6YkG z@&tB#;d#KPj*QA8mC$|svOSS)aKmn>A$Jcm>7B860)^7-Lhkfzm~Pa8*^Co8P5)$R z@5^{hT^TV^$2q2JRo5SyI z)^ijyO6ow&5%euvTVIdxUE9t>=Eieyc45)}s-qyajJ_X6(Q#x-@yq=K>7`o)IIQK_ z*^rx!!xRA-T#*2GOs{E}KkW{2iK$a7pomUmbJ4DPZUsOtg;eTi=+NNwKzk>CPAuh2 z6|!QWJ`|55fj|2v*_$(pVCV3?=OcN#K>?u zrcg*zc};<;T29T0pglwJSQq;l{RT(KZKo!q&6+Cg2=_m8 ziQ;G%%$J3phHE8<;QmzTO<|UNp`gMvN?r2(C-fn0S8+frBBmpxwFAW-S0oLiRB&5v~_?nTA$*$SAadNvQ2+a%`zAittDV!!(n9K1^nw3=jo@BF82--IIgKd)^I=I@H*AoA`M$P&3p#55$R+`>)Xa#;@NSNgYkwr5*Wrv z-97O1PGB@E5My5UgS{kU7E{FxF_})wG*PX#>CNED(JadS;twh%SkZHHq(qgQpP1;R5AAWF{82l$+6HK=UpX;G(%s3`cn4Cva|y334u-%o1ulHDb22iX<2bW5-ANEmTLSf zFAsL{i5po{_YbvM)=sa&#&RZdEy7{FDmr(bC1w-}tjXv?y8t(n*2Hz505unD9}U(P zx}myBDa2}=EtU(Rp-`B4!Aq7VmsFC;VC&cD*`M{; z+fiAD@+2jh2hc0FR?&d;$|=L6K$D#!;2TOT{_40Y)=cx$%*GzAQAZSt*faw5r>rJf?F{^>f)Uoy(1> zYR)#L=Klnw+i*6==O^&dixnr)S664=WHF(-p__NrGD41aWrXSHmk$j-(}-R!cu<5L z5P-bwozZMYiWH4DjBFeDi5@W;LgWw0zd%t>`YphU50{Q!jm(Hra9CT#iJ5lkMmGUF zd54U$YXHQc-st#ojz?C{IC~ZyG23{0di6uNx~Or)RDRUZYchz~mcu||QfDbm)dq#t zBJ1ruy|pfAGF|meeH$)vmds!~nQ0BZ1*g~%&=8z+CPn$nlp(AZ_9W45JBqI6r7h(X zi5&&E)Dm9K6-l~uK7LX?lw0Mf#BtB(PgO=aEsgftne9ZWme50~2Y@jL6|X?L`}o_P z>JN-$Fr2IdpOi9T=vXX&a&75!Y`KUW)OY5kmXSD;XjYu-vS#tiW|R9XOYYX6iD;64 z5_oO>V~@&eW||lLU;LdRVu&9{%GuGrUFjEdRb?vC;Q;F(l|Zxm7ZQ(LZ}t zz~=;>OZ0W_Vo>}C9Ot<>33!?PTJ=&X!@Fu%@#z2I1kd!xuf6~6oidM7#IL~PNvi<4 z4%?f}jQ6y-Rfq9Dul_eq5dHJn)kWz({rULPe{PPi<6%HSb>WNN^#!)0l$Oh7QJu@6 zB_Zw&*Bg?3`0sF0k$VHg^mSzO-Luh_`(*Q+_|P91eWRk(ikT5B zgg)iv1$G6_FZ?>4LH>K+@0}!oKm@}=l=(VCM3!dUH(VfbDD%pakyCud4*8Q;k>b4K zo{ABEZ50%vX5^=S>v>G_z#MT~iP}SbM!>12?v z>Sg~M(ZcqPK5~D$6_RbNcK~925jl)toWRq__y^;Q7!uf#=HEU62YV)dDE6Go@7IU)q~z(!@+`$ed|@k8gV-FY1VrBPlH)#lwhQILSMPwb zBY{X)c#v_ri#(Ot7p7)YK`cVCO6Tsa(qXOf2$3Qg=?inWxEbBtis%WoJ;Hpd?KvUp zbz*5glS=@rV=3Pr&ZZIAd(SQTIVqdtY6E5hL@qI6;=IA<7X6cl9ESwkyNWQwfP|88 zEgLhD5WBtDrC^fJKL)yDqU>FJ;gDhoYex4f*M+hlqDr0tY@Cvc(x=9eC8Sno%7-hs z0NPjSrU=8J_tiy}Su00!Ja+T;+yzbQ)dQpTj%AcN@vSa9X$3eP2wIW~1 zt~Ypy{{;-J5~G{ZHTmF*ensA)@s!qs1ZLmVRF;+r7x}(TBR)6C&ILAbP8;&!SBSh~ zYszR82MlPd_UC6m^(%?gNAT#+f7G0BJ_jFErGtT*3&LYg^yP9?kvs8@S53KVit0s8 zt9BJ?4?zzc326K{B+WRmiL{~At)QWHo7uyLQO?!Wmt8Y+ITwR7fKK~>NhWFubdaVkVX`6+1w50gewp&Tw;-Ol@zNtL3 zOV47NwqiwM*JQj+$^1&Xr-cEEMC#LbusK~Wn1Z2rYBnLHNqnf_K?F}ET=?3DNnrA4 zA)Vt8(U0}+H3OScDxn_>fw0_qAV8d1-Yh$`hL9b@tE zN{-jUG5EF%hsUv0jY6B@3$X~lm05Y?$G=R4a}oODPdzY%lNw9mrtN6fwX`mQk@7kv z!>1;C`4AsX3Q(G7jOliAzwwze;Y1reDP@*9sA>+TzBIQsx8jw1mQ3IvU_TGS4a2Sa zkl*xvZ(bgQplm19-CUP{s%w9cdz$m78%=?zrM6~)9S^^|4z<2GU$xh3ovG%`(RB*^ z9&;bd%F&_P4I0NiWb7@8e#*S{o?35a%Twx@p9R_JJVNKt+FD@0@HvDtQ~E(kRO}bo zcfm#-Q)DcS?CFd&mbvNsi_R?(demK?6w$DoYWYb-c9TVj>LGb5uR{)|x?SHkoaaY@>mlba*pn|#Nh51} zysqy*?30b7Gl+i;C5Y^zUMc0yydjUs!u0C4o1T3~Wo|+q6@i0Mi?abPuJ0;ApuPo| zHVOxfMY7Cd!y&bUz#ae(R*;DVoGNiF%O|B0FQTR2jm35EJy}uOhypj&V~gU+iz&@_pYOJIOP29e zCS1i1gdUIc^^&7(D!eKmO5N3GlQ4Y^fmES0Y3%AicR3iXz1#Q5rXuOR?c$kQIwK+!UplV0aX_AVhB@-NLn|CQn^i^!Je|ui-~n+cl4p={DGJ)?tq*C=n?Wb%s&iQ9}7mhDF5c^r94ks z{I*wPN!hZ=d=NEV@*e37PM`+Z3h>aSpdtiiqU*BG;^tN{GQHlNyD5|`Tib>MT=!zs zw#yC1{RPgXX6C$-!*JS`l@$#`>VPfz1Kr49!LRK`FEuU5 zd82zD0@QWdTpA>(%rer!T6t|6c@w?7ZId~H#T7?%j?Au0!62yvKxX;_>L2zPEY)FaUS)-)pUZvJ#0-ck7OqBI+EY5*%tXdcW~E4) zM*gf(|5tEMXyn0tuPGaK=3U;sq_&@B`adGdd$(!Ee?oBnJsS8=FZzExCi?Y$km&o; zF&oBT3ATS_ke*%MYLy22&60Ho))xJRrVjiowO3EEiX-voCjQ(1{}{Ram&gxawAMWP znNZ^Tz0spjJaE)=t|CUza2(L{uan^4)wO0nJUbgZ4dboV8)A?lg=Td1(1)V z33go4LE8-YhzH40wR)P_2aNRI)X6yCQ=6u*7M~3xdzQ$d7H88I65Me zwJAhDdtks7JH^QZu)cz68RJ(==+P9M*?3Ih(G_z;>C;!QvC5A$La zE{gu*?7iuKNWzK(=q=WQ)M0y9hJqjUZpS29;)(qpSg_H%G8IdGk0t7YGb&5@$prIw z#AFC&)a@winba#`9!9mL#5oLy)qMYfem5_x7~Wz|dQ6bWX0P3U^8p`B#s~upu1hx}SjR2$hWQ2QJF`bKASbY`K z4Gy1WjMs3m1~oyOhL<6-PUNl~ahwlqRtV)tUd>#$k^I^&JWB4hipR8PZUf@C-vx6% z8?#hnbMOe)uWaEKqEfJWHDL&L4;Ny9*}vduQW^;3#2}}jtp65svKgwb#^NW1n-XXZ zrbY-_s@Cj-C+Jw522TY9!LyBKM>bYC!YFSz1FTqtc*fmktMg43mrDKz9aX7U!}YnStPv}f-uZ3Jl~^`^WV5LW3x=Z z*tQE_jhANcHJq!Pn=l&7E6Hgvg_a6aSWa0vJW80Wb_O%3=rLq`75dOh>WQ6Hrfs7w z&;R1c}w}^NJ~FEqp3otF<^qihG8%jMwH_zArKs8&KS$nV!Ht zI4o3M7s{st4-#{r-WTI8Y8B_Nb9(YBip@9Nh-jY&UWdOj*Mwkuw=(vLXl-CDE13|T zT8i*%@H|z^uNUkwQ6`wke+&J*pi~&`_nCWrnS??NKdz+&pqbw++1MC$Utt{Zda&U3 zKiGQ|}Z}Na}D# zNZ)*&h?0|L!GqnDe0R}D-EZ>l^>`;{2~BX=ZAoMJ+Mm9ylOWE&pr6t9j6!DFk-BS- zhy=WN$JCBC;EF)jM-3cUJ+tdqUA*Ww?oj%EJZ{nG0y1DHWeidpg&pt1*lu$p_v3u| z$-~t>@(9O%d_5It4M4Pv>|f?T+MD0`Qdud;5l(p``)fiE?h{_5Flm4h{+MZtf8DjR zWo<_3YJSdI>~PZ3Xv8Y|plqMD$h0$NE!(;qxG4^>NZ`7o4YDK)=1I*NKuJ)gNYUow z>(w-+9=8G4nV&m1ZBm#%3Th|8e~eh*H?tslkXe*7?Oy4hvHuu9VoOa_6Pk`tC59%y zV1AyOR6E2QH;he9jg`1N{~`A?6CjhMOu8Sg4|S_9aE_f`<9Cqh9VCn!U8-wz8(B1^ z`N@TCSy?bN7pVK*k^+c_st|d78ea>_`mTqB-CY_MLoOvgvf`QasU4IN1Kio8d5t(w zpbe?>(O_drm-I<`E5)UX3SrIF#YxB^W4()hEL3(a38wglc!^|Bkx!RzdY2hFM~n*c zmI!a2ss4P{j*HhZv2m)7YbqhObid#&$Pm=1-;JaHeeyg_T82dtKGzON;MA3=xpcxL zK&^RfOWQHuv!pLFWC2t76gort zLalU;oSa${^AIlLIJbVj%gOIm8;R^p{$yOZxap;sG@rhX!K5`GaFm8hZ;(kCtifq- zyu_p@ps7L$zf)6SI)zY8x9^MchA$KH6Kt;U2Z?Jot)E?$e*>4@X`RBQ1~|TWZ||e$ zfM+249F&ZwP9}~iX8B)`X7z4yru|Jwv;6D~E(XYT{rwVG8j+sx?JvLpmjm2L`d4?E ztW`l#z21^ld1Zj@wS7$mE9F-2SgUOSl~ce)QRUvUauWqyoJjAGH+JeDZpc135~7ro zN12aJX?kZ;Rj>W-ZYov=P++?i;;H&{*?M3GD<{ybR(xAp(N;Q=aZx2i@j3CR;wBJZ zyt#mRWTmvb-jM|k_W>3-hH#=lMYXd#e%HD}Gc0Cn(z=x5v&S=8`4eZZEpo~huTyo( zZ=jR{jaHHSywby9^i_Fxz1333t#QXFPUmwf`)W|!-9m2A{P=t>YpV~IK(+(?Ua~wc z$F2dsTUnHG(~KfAj-f0vh54qCFrT2sS*{K=77@$I)bfCcRXRAA}b$plqBwnb(P0p*Q;^m!NUFRHxWn&Z-ELoC#lP6>+EjhM@fe!@iMW~@ zwprQou%s1!wksz#@-@WD_)K-B>rh1impG)r4;#Rfh|NfCIGDL8OGpfF zw5UYtw#YU%AU5=Ut_Z0N>H5z)lk4};+GQX8a9!`S&MlXwqs#YCOC_#1VsuQ2!3U0- z8Tw1|sND&(P2u8xER=TtE^o2M^5vu2&`y8hc3o`}<_X_?ATKPxyS1je1<7bsUA9W3 zrHUAIAuc55?^SqQ6DWyqc|N zWJ|a3*9nmm6^6ngunPGZ8Tj{$)>oPPi2cT8tM}L35-YB(<%-Q!6%ztfZLRE#HD3|- zpzdqmNrCv_wW%`$gq*x``P{BwiBT|lktqY=8KFPBV8Y^=MGNv#ywLK#Y-va&KE2l> zZ=v*d$oWZu!hZhTUav+|t<=jM?A&)_{}7LGFrV372#L)00UHng6a^%h6jkwt8!uj>BNjh6}zz>&qy{VG4 z_X4AOB2qVGSRHv0NM5tWj;-l{Xsgu`@m@ljEzkITWLFt?`V)e*2GPjSI z4WTeROc3`c*h(S|+pJM!JvHNeE}Jk`)!c-dGZ28##`XUQ>ggS1N~Ji3=SFQOCHOhw5Q!Cg;MO6ZiBeZ!@6eoZguRjZqu%=65nm~X4##Yi4Wn#Vf^mRV~Xbm=oDbb15p%X3Crpon4})sH$>_qZQE4T*w6n1M39An)Em zx}eQW$$I;NO&{zM1_yzui~JwX?f>RrV&b{Fs=H3n*I>>m;ZgJ-^d#&b{N6LqDyx|4 zTS{A$&SHW6@2=wEO#8ewD&voBJS%J^n40nSJFK{V?_h(j?6(L}ov}+kPH&beb8Wbr+ECXIxb0P^l^Hln$cBUhChcpAv^7>C=Cs`B(-5Pra6KORwdU~!(j3Z!m zVmfJX0yDHg)-wo5_Qrk@UuMAjn+omMUM!oNe+5A+Ngpc*-(r~F5SwT>8ECm|DtX`) z3%*$4@1`#B;*Yp@ay%ByLAxcLL4h%I%!b zbrt1~q6L*xGqeqxcmaby618ne%0wM74W(23fy~r60Yzbm|ynh^r_pi%4l;F zu|a-}70$uwYU2QEiVfxz#^sq727K)FptHz8Tb4Kv`^j-(L?Gh0CFz$3O*6?f!k zev5uu@w*B}BqZ}BJ^pbs!q?WQd-;b&AReUnTGfSh@jgO?%g*lPnM*)=deb3KPt+Vq zNv*kszhaFeuChf+r))-_xy8+=`=0HO&MmF4b7#7n4a&ZUX}&)u)Dq3;FQFQQSM1Co z<1Z5~_(eh}Mxx6HCKNfxG{L`5h(VDipN-rX34=8lHf$phghY_k1d_DQG*Hl5sRmxh zFSZnh9;WDDb^-V0yE5T2iY7_6XoInP>Wel;gvNS_2$072Ldd!kDXIe>OPT>DFJsI52M z%lS>>3vnp%PxF^xdUbiOs+JF>m$s?-&luJyEu->35mzH6cL5A6l2U*f_JAwk>E;9b zi`7Q90e{8lNom@9anw|zQn+Yh19@f4YVyzaq;+x1-3FjeEo|82`I0iA|0Jyc-OKKw zAR2yRYgvBu(!8#`^l{4DgKh5_9#cx6LBMeqT|?R=$ym^krQepbi|avaOS`S?vpeJh z%Xp9wc&A!ddln6K`_0pWBB6A<_7>&E-G-_z z7g5{$zw^tZz&=&wZyBUme&U|9&PY@PS9rc^Gd>GAy2JLF*)hOp?<(ve+1$`SmjeG) zrT(9q4A0qD<^LGt;J{iog_9{dwSNJAe*ssf`&8#o|3rZ`{<9TAg7(GNN!^egx4QiC zJ=CF4SEu%;vQR#0mhu{sckjhNx+l6P+Q*r#WH|70rOu9g(bC#WRib`d_%G{>_Um{bQYu(8;Qa(C^ArOl+|i z4mh5qVqw@Vt8V;|?={5lLXvd&?vGUQ1_zLRu<;3av608z?`$(AzNpjD13K+FTRq#d zWVT$u=$W`nm!Bznl`ZJbw-zl2d@(7AvRu$w7UFafCR6%w(&?K|1q*dzZ##@6vOaY< z-pkw@)lL~OAw(J_p7{>t?#?2e=aVC)ASDCFhs9-LW^;p3DIf5nHhcQZA+~8Su82#k z1)=lxh_fg^)4=DQ;5MmmwDifYBY4!s)vOhg5RTr;WT~&Rf13y6wQ5_urwlbBnYUnuTAIJTE;I?n5KP70=ltiw5XP@@{GN$kJ z`CAYb=V(b=bHdvjuDU@tT17GP3PspK|6SXVAurieVpZb--zZj7FG?jeo0Tn}D+2=1 z$E=xN?L+=kO6d9BE?_F{JfrS|La-MjEI(-#BOKdyI!!JX%t7V$iROM^G?rM^VC0m0 z!B)-&%)+d+=OsQ(ls5_qWI9P|!vt!`S=OneCuzgi|FqpLn^g)F-b<7Y%!ktxI3Iy& zlqa-9)?ZN*^ZSsIEIq+W@p|K%ped=SC#HI3E_+-AB&rmoPec*bpL}{K8}TtVAC}Mq zijEER4(x&i4<~ssX^_b(QI5(D@8nH^#IQSd39`eGm~(jci_=Zs03Be@tMp}!Nt)5B zgCl&3PzT$f^N{l-@dXyryP?X60CcwTV!z~`$Wi~NR*)Fi21^npho#3r@MOc#WVTHD zYV(F2sRt&D_Ce9D*itX>cS^Vb8`Y$sQCfINPe;@Gub>eUyryh+!Hx>Ijfj);52#5! zyg6FD0m?&|7GIn3onl9s;cPM2FqoZhzkObjF9nPH4tK7Z-%DGcxpoy+JW=kYq4D^L zANMXiIeV0Q_J?UcP3212Wq`-F!0$Mt&lQh&9ES-ay?M7X#!EWZbh18|E| zi(A=8951}hNP3cM?8LR|bZu0Eg3Oqr#79;1o(V~6f0u<^EZ5n_D9Ej{Jsglli#m#8dcm@gdYOI=aQGIDAPq`jVg)uuN_=358X>p{jt~SJ}!W3;<%7lMYNN_Igg3KCF!o5^Tij8*Wq#$TCeeOHu|j z4zZc08*_zI0*5nDEwM~8r(32T^hy2updc)sR?@1>#h}=t3j;kKSXik)E{GCzsuJ+H zry)c6@{tvnkR{BvG5&>{dr#_*z4WSqy0P+iAfPR(X2mRAW;FpeG;6uDM7H)1nTt4y z%y#|CLCiVkRGgt3@X*jojZ>hEZia>WCQPWm_WtjKG@+ zfea9D;3+TGmk{Bg4y2UOzJa?{NImm!9}q~`V?*XkvS>WzFQ@y|_#=yAjjAk><%Fv7 z9b}c=&l6R0%tO{M)34D>`Ea`SwcsmYsUQTxfS3>D<<5@f-3(uvMW8qFivG-nn*<`W z_MbSp_+1#E?Tt_?*ile@W^4418m7N4uX8kLeEM_kTcKG4=LUXX+|>(ATB?5y&W0&7 zpL=lQ9uDX)Foc{cT799eTI5Z|fckd)_%sD(u;D(Scm3M-9qvMm)Kvi)eU(SYbP3=` zHfnC4LHTt=E>__#;seBMWETa}gVWss#l8^f0nyg)a^@x06a1Y6xBW>zLChb@JLgHB zPJeD7NO(KCaceaMMB+mt*2#ic9dF?C^hT?po!tH|KmD z)y9T=yKRRUqs+Q3q$CtE>_8*K&Qjvv&X13)GT-fSW!4-nrlC8z9 zKfk)goa?Z2ok(sY_brG9#_S3_n?iLI_?}+Nohws9-!$GTaD?8QXmdm|O|n949^rD^ zPelHC(aZbKbKAS}|LzX^hn81h`Df>=(7E|O01ro>GEpob0PC%^rb6lPbmI>!hPz_l z`K)Q3y&zJOYWL*1=3yNTmYNcwCtch8oV%SBD75kYS&t!SXvT@>rr0cTW{cxNll-`@+8cA2j+`X|#O{`H!zRGZXMA{YF0=A^ zR)l8VR74`3XpGk8hi*du88J|VNnHp+_V=_zhlK>gr-jxuib6JgKV6=WNejv+Izf^& zdsw>iW_`Vtl%WVUkf?-Er&*JBdX$CYr-S|X0Lm_JVWan`Z?A))D)Amgc_(HGkm_<| zt(B=KZrLMDZw8YWs$B;?RH~k_To;?a(OHGWI-qnxYs?)CELzC5W_@-%)!uv(gndW9 zJvk7XqS?~PtS~VXb(o_!`qIQ1{Op;O94)|JF6^N!XuL^^U^O_EZjlo#h%t!~uVJV^yAS{2HZc_6p9B zqz|jZ>#zGcamRlQAi1(Za54f9Sz-z0t|4p%cmW>`aS|(XfAp6TS@H4~IAqFP4v4zi zRA55)pqIErdZdYU0s?4dXu@zA8rc*Pk+64Sb&ORQTItE;aF5ShcoDrZfJqxWyosQc z&zQc=w+aJ_(i}k=J-e!S+Z@o&unh)autEdamPy>Mz>vx>;v0lT-IgkjFV-5p8wp*b ziOD1=5>;HnBOl|=z(yY3hHcO|4OWG5lT;6h2?hpoPrRtpi7R@W!3oSJ4Ev*B)Zv@T ztuFJH=`_x0g;I^}wSH7Rf*FH4jJA9tZBQWcqB`22@sQP&?vJOw5 zw08(LotS8fPZIYn@uK0QO3tNH%;w)`_^XZ&s{3w?+jz{(kq(_Cb{2IM zPIq?Wj(C0`wQ5wKAGyJOA^CXHIaoXG8O^FvtYv|b1s)l8=8NxWEcC(PJCJGfEzHHD z`8sFsP>KRy1n=l-YyXk6z|79@gOvGg+2Z;?8`_ypcRXFj#}xIBV+Yxm#s^ZGjH^ah zw9gG$ywUT%*_Id+s~4e?+%-M#0N0BKe>_5-yXG{NJYsx})Hum9X_o76mS3I_Z_ej= z5Ng8^v*Hs39)ig|Q95?W1L-&|xE9R{#PKP$O%gkO!#?Fxi5-A>4QWiM!-O2_-c@R; z5n_tAd`96fH72|K2BXFDCxX4*>OEgKvhaTl?P*_TWT9encz*tT{%)OU0?;u_is+%M zRaJSVjOd^RoOP-9Qe|D|*=b-1G9H?-_yq}mq8R6WkYB&+HtuM9tH;v7aV-z30Dzblf;1m9vQleAk@9O?1y2yd>nr|t1P)QPag~B=N3)HVm znz*~(i^nBz7uciaw}BH@nQVtoDyL9N^RX4agI`$yyz&M}t(Q&J3OfTK$zr=LPyFY> zH#AfVvfhtd-f6D1``1w5%W(Y#?29MJ=9!NQttBMnHa}_la^W)FBum<9Rjf~f>Pu3P zKE4?1oUV&R2*fm;to2F-I66omHo(ijZ(}q?2QOoNMvK+#`Q=PvhU`iEDf11={gn_M z3+{`*suSQ33cqpt&p{O%XKZ;fuuj#E-`yyq$kT|if%XG*&B#j$o%yzzX=Q30ua=~5 zgjdZY1NBXoCKB{=Y!hXl=ztle1#X_5XDE%Jf(dG{!&8F=)!oa(&+~Uvo0}4V-lBS? z^*R-+uDJr{mtNx7;1}itt5uUh6NZ3sv}~GFeXDvM3#5Z3UyK*zGwwbUw&eLDM2pFt zU!r0-_+=zeL;jPC_PC1#gN^GC-DpDsuGDYrfu=U)jl#zIq%6nNvSlH2wZjkb+zM!e z*!g%*Ra(Dg4cxVoFmocGY=kOU#1$~e3r<$g%;+u0vHaP_*M`oNzRq*Duf%e7cz6Wq zt;?73TBa`1syHMAvb`ti zn@+e<@c6=x-|Mw{A>~gz4t6rYSp`>htWkZ^V1X^|*JSPK_EWH4j_NbtwtRbirpNXZ zCSV^{T|f7w-!s;qg|aYg2C~y%K35W|(>1WbFf_5v1Z%X6UnuHYVt|P|X&jM-H5Ir5 z4}c5T%}+^DWM4DOR)qnyATP>jdn0BN>#sfNYx0r)wcO%qxKZD!w zF>m2fYR^&X+TAu?l41Nd$Xr~5GJ0CU5i??HyeFm%nfyYSzaQdbclm*sUI(Ef5tyJ9 z*-x>q>Sk{wM>?r3JLGH}@Ja+3bdp(@0qtL|P85$Dm)OxNNpCUg8KwY&a02^Wqub;4 z0}>`0!D{=wZ}=Vrfd-q*jltw(M>{MzjzlV`>Y;NV+3^-=`EEO>=vfR5RGykz!kKtx2`&6Y#x z_S_F_bo^Ie1HI(-PYQMkUVRyT7wU%Onr0V0h zo1d!_Z*w|dbVN6%N&N~-Qs13UtA1yvznNNbl4D|7YwKGkaV5rb%HoGH3To9!Tfw_| zxn5v5D2Z&TJ&(*aV(e5o&)Q!J!#Jw6>ZZrLBe+d@_aQ&qc20uF<{vGY&zs5gNfHzP zn71A!-V{JzVJJ?v0tYV*=VqGksY=WAu*#go7k67pPLGX9y9}Y(hT#eyUoCwDv|l+a z=b2}=>S&wSTW}o#Pi0Qe=5rUSv&&{KUB;E$5T7sY+lh2mvUAr1JZo##Vp@7H63L1Y zp&lJr0d?I?g_ZKCNuZ8Q?S8FF)jih2^TD|NzCK{t3Vf0!1jM^+oM_?8z@*8xOXkcu~6ErlKHX+3M@MHzz4Af4gfHI8&J73JY+&!=$ z;jPGCv`vnrN@nH8k^pVlin9YpSubb`XnC!iCqr?loMm6ZHu(pftNiZFUlMVWxX|Z) z7K*E$7=l1nPy@QhKe_pwi`sq~o+KiA7(Sv=Phs>N!!lU{)x7DhDKPXn82<~n%|!ws zEKjcvQlBR}TL_Vh4yX-)@u7^nkP^7oqK)AzY&1Aw4UcW>*2i!8dF0SzPbL;{p{-L_2j>f{(opR|8+IzpRfFH)^z>?<}|fDs*SeI4f1ia&KD@^eh@Kk ztpr@Zlb&u;eWtMZ3xd0qYYST>9O~F1%@x822M^pY;;~{O=8V<}Lt79$;yj6Q1!n6R-JIAxqc%Bx= zmVKISjPiqgCK@u~I2`~@FJL7Ip-n&E_b_nSCCeNJ5Bmk!g9s*{WeOjdnaRn@=0%9RxBpFl1FfLW2xx*(#(&$yPsOC2p#x~ zKDv$2B#D1}cIV)rMH?YDXFO+snUuaN3#dc6)_on#kgmZSJ{`-sbZv#y`9Ycemzf$b z3-+>`TX$*u^?cnYzw$;%xIDEGe4bUs&%!t;7zX{~&_ef_Pd8vt#?5y>C&hHaB7LuB_XuWp=sGx@4!_Vdp1SAM5=d zbFSAm;SFK|dWaj1#==_NDnwXY@tPgMOZa^+2M#l7T1#Jg>pjWW^iE81SiX04LvbkE zHUr?;_@y3rC}S&~F4q_4A^K>V;R|C##7PfIIZ)Qv<2*AE53t$Y^ti~8T-}vwh0UI~$BL{6-9AI04k55I7jV|C@j;gz% z1MUaa`Y&ssi@c)+?0)?h_`ha^4M<|#2Be(RW**GJXuXLD?R_T^rs6c8S$v05?ccB4 zQ-<}U_$!xvMv=>Q^LmN69GBF3l z(--2~EEEPwub6*v~$)Y{78~3Zss=E;{3VP5csu zQ%>pdj@>|L%WpToF~Qot=vLq_=Emqask`B9U3C;=gHF8-V)ZJviqy;%{)^Q!tfFEv zOzVy)K{L{!kpkgQ26ZHH8~}G265a@Y3fFm@zhh7I84E_F64NK0L}_=ngPv7D$N67; z!8ZZx@0P|8P&wGUF}oc{jm4KxYLl4a@g~^`F1*T&p+*-@*oCYAd2gHF#YQcVP0~j=j7n&aOahB=DZzRg zR|-!zxjfjI9=QO*SdvKZq6^sh()P|4$bYh^Fw^wN(#ktuVV5U&^d25-jr-Ra=^n5+8HH(3@Ywqnb5{KF>O_k`!Yk(3jO#(o#8P(BQ2u+=8D@GTOECIBLz|jHRBI>; zM(coIp^oxQ?V+FXML?U zQMfKtM-#o;>QKUJFFU!cxRa0ASZ9{cE?-pDCLa?}=7)`? zU!)p2HTx*;{E)f(3L)hP9tJIO2ELvB0a+@L;w>!e^KJR`<^6YWWJza72^sEOV4fh^ z%J&r{>!ZPEy%JQs7!K0X7ARhpOCb;|k z8uGrJ>Tg?E+}JpTQ7ECw4F5=dER7_9#6U_k>*5tkSwL8p2E#3)u{wK3b7rt+(F`ki z&2wDXP+{IYZ_Z@zW;F5I%vi?+XeigDx%vBTiy>%_2H?mW$GmOQaH`^2+2TTiu743$ zey-Kw8Y%_fX>h*zC}^~r0d5`A+0NPMJbbp5pFkYdvlwK!Y8cx_N_KpUR3m z`ad_tFs~*+;qdLjQWwV7P@eOdoyYsH$GVlR5M8rX12%?@1kqsLFG0Ib_mzEi`8$Q^ zQ*8iVYODA%Y&*~Il}eg<1?{(P#R0&9Wcx3lb<|2~r3_*XMFr(Z{?f5?aJnW82X z<(%GZR^>K`{1Dt>jWhP32{fInSp)acY)fJt8Krxz&LQl}x7iNK{>}V6rE~Oiec`6- zj;y>?Cd$tK##1keu&>@Gz_bsGsg`-BTQX$Ds|$CfUSorLF$4a&%{sOVl?%>i_pOYs zJN;*oyZndr^a|$+K)Zv9kYgF&O|i{`L5V!M&rf-0uwJVLGlnQudx5XsfLy9+lP<;b$|R%k9j{$Uq3*F z)D44*wNquo?C{rR*j|QYV;sM^%sQQS78MoSSa&zwa?~|HuPen*lK+9s0G?XrEGvy#h zPr{7N{&5D%Q-x0-7f+iemi$tD^aW*tBuw#H?CII{mPn)v7$xgJgu*7KaL#2%Gkq8A z;=Hkt-d1_ZFgSCE#L=qq7iG1<8;9Ndc_H<`Q>~0kgoM#94XV-u08H$}eyzV%@u&Sf zyl+n1^$N;U_D0d(IJ$Z6K?g3~ggC+0V}Ga0)h?c}78JqFC3q0Jk1OlkeuZ-*dEpXP zwY65lF~#=d6XM|{*o&mECgm-=zCU=j(pEuJ zsjiw%(e1MI?rOfsUSz!m+eCrjPQdF%IkCEdy^b4R&5Gh?7n810mzBe|+{)`h0Tlc4J{tXj#mgR}Qvt*& zc@FSKzwdWcU3ceq4nk|r-=8zPdHh)xX{kmT!s{aKrhlu|!{R^0)T7*o?4_L?H$j7)J zuJk}72Jj~UG`!cP-V3FVpi*kuk-VGiiPOw;aX<2JKzTF;g(>bqN@OwV0Z8y7D!RS39#>+o%MRoudDTrbM)4a!2+ zx`y`hcnV5D+3J4wuv6n5e<+?BS?&-X7t*wita{*mA`N`e*|-?EZMvi+ zk@gFnQa&^u9BAQ~AK+8bwJbOk_G|r=WqHO$#D6puHWn4pyK%!|SPXgi{zUwKyhjJ0 zQRdEXP4Bp1(u48BwfRCkbu6+FS4q4CEw{SYVOs7Bo!xepGf{uHF9BHNnvk(i+bP!& z?LfdX0$yj8{gjGmfe#Z~cWRk<;8r2s=((B#cS1jXv?hI-NadU(I8&DYLBlJwLEVUjPWlY%pSftlB#qsaWXa z!J*|ykr{mW;@8AXfT(|~g-TI1{6?{+0nWD#z)~*k^S3e@zvns$osIh%HV*l+*P$R>Y1hQW?!25OzngJ9NEMp}wbVP&A{r;lrd0s&R)_&{-4 z+4wsyF#d3&AOK|>$RWS~+v89&peIp!3^Cz;P|B;#VGnH*M`w1kU~*le4NOS@9A00k zm1sfpjYewMPhvYj$jv0U$L(b0{NjaqZcTFvqQQuXKxXXo{A&MfstGcuhko^2l%NSe zP~&*a|E&k>F$)!GDV&lVLRXwysU&&*>*t^$=a^dEInwa!N73dA%cDX0n{h+e=DIYy z{FA2I)S1|vk-!z=>{h$fq_FD=)*IwmYO(OA45*~W17*5`Rd%~ky&~;-LUaO20m7r* z&5B)DeVvL%VCj5b4uufUNu!PqDcH-+)cYu9dKjX4`M4AyLmuXEhjM{mjHlX9wpIyM z!Iwm-v6H%&-JnRwZh?{#$onYpL*3GMmKo*Ed zQ@W+$K?vTKqm=pvZZqLh}o7K(E7df*I0HuOPSDY56havpC zMnQ63;-cj~<7<}Vkv=|efQix0C*C%-Q>JGGt2~)@CRQ!t#tIp;`g+x9fyKR+PjL_O_wW9uv?48DN`CTJLey}y3^ZO_CedOy4>d$4*FKh7D2<)q4R zY)o%p30bV!acd@{nVl2YGdhX%8Ga{Yk<;FtKIbK@i&z87F}Z z?Pz@7YYlE~9cBY`tiGzk&cR!<)B^UGNj))xW_CjPBG85b9T{RGCbq2pytUz1HL5;T zqZ|)Gcq05JXgTKwVYW_`qFvM!)1Z%3C@ucu%zW*Yh3kM4$(Fw&$Yd(`Q4n~SW!vc z4FF7d^K_sy&;AW7mQl2asF7>JUP9Z-I(BMKe^<&{dF zbJcQ0jQ{{Ulb;f9**R18#Zj)3htuIUWnBj+rKB3?@6mMmoyB3(fkICiOgGFY*Mc!J zG^3@@`2iHaBEz;c+$6;BhvqVK>2a5Qi$37I;jfo`_dC6VrdMRwkSb{`HJWG2Ubp*2YD*>7VtQXyANm&3w0!m#I9N84&F z-L#9ji+gy3KJF}ic9xUSUn%G?ixntomD7zR8Kso~r7x94C?XBaCXOelx^PtKGi~SX zjd}-{I=&SrHwsmsHF+S`Xpzc@)W7w9TGCf)pRV8i7CV%67ec!DO+l>Q;x6O2rzSNm zmr0VFO_ae`pH_IsQu%jM7jI!$c)+Krxq@uX&WDKU$J2#XUEy*5e`3EHa^3Cow>|w4 z=@74MU=DDWYiyO~Bsm`r%4{}!d-%K=Zj4%y^yG4&h0_R#{8hTX7IE&yGo>AHXD@B(9-!k z88QAwPxAP#-V+EPQ96!02~PdINS$)~ZP&X;T#DVe)UT%g`Sq#_gXskVpg9|7%ccW7 zJ4(6eyj?7PTx<0H>7!qvVLBrY=8^it?k%+CKWRnkPe#)ZB;+VB6<$jzLEGtMUF{KN z7Zh<9k0BWx$%8R=rJBL4sK*=|DNDD&(cQITC-a)+x3(F-mX61?nfsau@kkBAb&#jy zswPjx7oS^t`4nZXA7k#1JUuTD4VF_UeJ2fe1QBZa=k!JCdD7~zKZTaMLe};lbx9(0 zi23dv2F5(V6N1q*^-h}k)%%YcG}@!NW8SEVU5a%FS|K)-Z29B6e!ggNR?%#;@{u_r zUNPV{E6|G9xz*AuMABK5rdjBp` z|AVW^S~9y@JiAaay?kzCwvzCUkSR;yFd(zEvt=1H_@%}9gO!_6)rVdEo(%@lLea~u zCr!7!`yQj+1_6osAC_ZQZJToT^uKqIk0=1o3B*5=<(u&|=j7#0jGt8_LS=7NI@}#F zvywNV*D2=?xAQF2RL#D3sYh@}Eu#$(LI{p7;=Kg2;{F$uhi_k!=C7kcI+ET6%sVpJUQU#2T)=W$~ z2A**>S*JfeZ~_V7%8=fzhgf+m2ObhtsrkzcFK;kd2lsGRo@Q0b_Cs92zv=s8aN*b{mw#_3Vw4 zu0JeSn}%x&guR@6aW&Quuf0=&TI#H<*_(MeWwCmhMM*9|5S83ZGN8CGq~{KKpeWn> z5vPoG+OAppki2-|6|cQ}XtfjQzPePb?9phUvzqh%KwxE8Rb;Z&*LzEwSE>oAW40vw zbuIw9l^Z_b#UyfKFGCng`UvvYg{Q1}58KJJ?;g-8krS_U-JP#w-S%n-Xm<&J0&`30B-Ot4AQEl&-bdTHOUT9_*^w z@uui4GAQRm^<^+M^$sCAxEX&TT&;MHf9E@|>vRVFq*cwx^S^-AN8T@4;ES^wTqzpE zV6lf}hW}b5q@%ZJ(>yWvhi>YPcy+$@f0*h}9KGfEr?T|_c~7^xcn7NBLN2CLT08g` zu>KFGruo;`h4c;5oYS~cBX3i7`Q-q7Jb`?5T9y;QYVrcu2Q>;P+1Hgm8mq+Vi;Abb zH8TPa0V#9^V_d>Cv4k5zTS_U41}S4uXTO7`@ZO$Xaq_oDT;%3!nfc9VQEVz!^;>J ze_Fqe>Zcc+0$$}`+!ieT0jA`a?wHvZ9-}8#9*ibVOFCcKR>&$tUk&i%^`62$LubjFoM>ZZ`%H#!#U}Rgb$X*H2a$qYfVcR}=9zNV2Z*Z91{(gkj zxhb(t{I5y;;L&>q9dB7N5j`8(HFgt>K^1v2(va#z8C;|&P8Bs-i zaM8XQSzj>UIDJ$~T-3$@W;x4&!QqmqmGatnw;qONl6N}Jv5Oj;>R{yoe~>{*-G}7t z#Y|{9I+)7qPZshlvPvrxF5vh4w>L&`gjeX%2dgZ1CN4WFI@!_kHs_S(1kxdc?0yC} zTb20E5b6-E5U5e5!K3y?O79=c5Kjn832?#o!J!}xN%%$uxG0*+ zH4nSS*?sAA06@EArL$n^XQvz#&J6th%8@Bo@1touvFii(mbj7><(*O!uJs%HRqY2P zat)6p?A835Q;2&sj(E&7Cgvu5pN!|P($DUaSIttpYlrxYzA$QSI!z?|Hn&Zra5*T6 z5Ggz=M$wn-^+MhKGXjlx4KOS-S}x1OYwt)pDF@>KLHH_C|hyrNyS+WZYrRfTU*OG<2mAzf52i5 zcK;vN-ZH9BedWngYV`$pjV)2Gb5_0eZgggW3 z#Z#=46@&I_2;8xx?fQX{N|SH8p9R7rUO}*cYnW!L*J$HNd^&40m96lN&?hD&+_sW& zfwMYgZ>lgcS!F6JGPL1U`sFqJwspm+K_scwV8+`El09Lt_F1r5z+h%KqQLH^AZ0~? z3U{H{DiKnki-4==%q%TB^ZZr=l-jzH555kCNe6HXx62yX&`OSSms;XnU+#@qqj4^+ z=^{cP&A^kZ8MB^>8YLiiCv6P5q)UBBrcL)B2!3~a#b{co3*#{`;#5@bDYH{YesdgtJJSu5m9RXqZKzBv?8DZc_;q7r@D)*~q+upK$_! zKe@kB=QVtcQwV66RV4jPZJSn@ts)l%pKTKAv{nifahQ-3mW1f{RupA5op58q;!s+2 zzFBg{Z$6Yk670YMO{XtvfpmXWYM0Jv{0|yeHiYXwi{WO9IM9)Fg2-#jE1Hn41|ObK z37(iF*xOHi-+vJI6qf1vF;Q79&gAu?@*lI`hDOzP>kn$SQa-KF1$|qlk1CyK3N>(~ z>fh(3&~$H}PYkO8mue>_zYBc4jtLCL5N`};^!168@#p(3tY8lx^8Gev8kqBPc9xh>1dbRP2|engLj)bp;*v)h>S;pZ}U4wsr2>nlPcoTAC4vS%paa`Fp5Q=32AX@S2}eADe@K6Oby7ef9dK(amYu1KhyzAsXA>`FpkD8!pY0 zv_%I?k)4M}dxhGLRXvkm=~;E%R9hMStN;l{*9@zztvkb3<0^v43ECy<>nXG4r&?gm zk)ps3>zds%C#_Mz)UKRsxK!Ebu=CcMJdvd@aB_>??!1J}CB?YefuRjdtzTC||Ll1M z^{habrD8$9rKAagaz9#`AgrsgwdKzoEw+ClfS`RF(}0Y}FjQ zos%m!o|XBcwyerDFLgn|=_1>dJ(qF6|M=gN&iz5m!tR^q0o z`*|^`s%m@`bHHSh=GUuw9}|vs0y+Q?UubhwlatiCtGzaIjpgUTTY<`^w)8uuddUsY zzvQZ8cj+g^M`x|XcEc!M83apB7;6O5dMD- ztHb|4(b$0hv%mj;s@(q#R%B-%p#Hy|I7`Ib}PDC9FQ0mG-%1J%cqVS(n5E% zpP4D+G`C15yZ>fVkHDKe%OpCwsDflxlucfN`T`TjjItOV6)u4)IfRkgAafJQlu(Gr zi{<(U{s-=S=hj*8|EDyPRR1F0W~&QgK#i;r&jRbWZYnd05FiRab$w{t=_aoJMf7Hy z?7Br9DfD{LPQ8IPiG+1mc9t08nqWm1hl(5RlGSBsQ~QzbCq*{GUVjSusrJR!xzTLz zSMMoM=7&SFZ>@o&`0e-yJ+jCOrahMHX`B4vyvB`V>FQ!LJ+Vd8&7H4vQ8pW=1+;B2 zlI_{hjpZS0FGzy)KXL=xdj~$w{4*PbF?bFvRSVx(tj07RwE` zS|i3Tu7orUewLcrV07cfa+-M5?q;*q#3V3sPp!3{F!aqKB)-bM0)E&guhj~48%&Oa zElpjbkr=}BF2YsNr>TmS#CLlxbR>DR45oB-`mnv>RB880%7xY6mH@kKM*Mz>e8Kkh zXu(pd(a*!5Tuh)PFsZ1O86S6Uk^n~6Di zG|KI!@Q+DS5V4$_w;?=hniPM(Z5W>;dYbQQIKBCCVz7O0CqG(>u!ks@1zD1^uSsV3 z^Vfy9HFdHUrc&Md@u=algk4}@QIm_t#hYeKF6+l>=5un_AYEC593rTF{aa%_eoH1- z&qzG5yBHK1EPlPiESAM)@S>@zN_khI1f-r#AI+5zJ?K7fD(%w`BZ};T6Q;rMrrLC! zehrjB^g^`8cZD}hRObG z+XYNWX;u1fCk1f4tArBd`|Jpc-}~odSoUKBJS7Som0t|;L{>#0*!E4L5m%PpK0@;h4m3HHxb{d(Y=6tHpf%E%U;} zK)+yOK}$P*L2N&d^b=!MP>+3@ETI#!_7cWrd~qIH0S{L1>B{A)+t6#?denCpfmmJ( zKRIEE_HMDUd~r@CK>Qt{a0-8aU41Y}~z3Bl`^!%FWyf$IF*y^L;6~Wq#N= z&Q5nBQ~J%cw;|^y#~BH5zYUj~x>2hrnC_eyq!9y3S*u~~MKf6YwwR^P8ZDk!?A$BR z#*gu;r=1B-wfjzw>e#Vxh&O-AdT#WwQ!5^^M@2d4@C!l{ z+_sAj9nZ3jo<~8sY()FW>WvN8YW9QTqR`>(S9T}7q*d=LWtAGPF(ljbBy0;QPxwA^6(kzc zFoPzL&F%wwjX$Q^U;q3XW*8n&mIa^$fwUP)Mt-L9yx@zTvR{&+gqYe+yl6pl-REdb z1P{UxqjZyZq}w5`q+(gr)|5>?yUfK6U|YHy{`Jk&Pg3}xa*qq-Q{)-5Bxevms~`&^Gg@TK*8v4 z%g@eGsVOC8?MuW>`0PbN)Y>cAOQxV;+r{&u2uQkbx_d7W1bD}DX(DY)7Ci%=Y`gy> z6--o*mV|VDq{Af|6}$xqGy_4Qwmj}yfC4FOudPl7@aHix>}F100}mKZi1u1x|y zbZPvsqyt`)dhW%MNtKC3t0gYT;Wuy8P+REQ=VJkCU>6$-r7Vfp$ozT>b*mAx*%#QO z{HPZ|(zf~~)ZG6JM(~|2XGvX0am9H7doJsZ#q;+YbZ+Vg*g?N1NSg z#aMl^fnYgn+|xgQqS&-2A<$N@#muZF?RZB@SO$F3@9?Adw{=)Ie&Y9!VmL`crze2e z{%FIFBk*K8H!R-wI2v)7)3R>m{EB|AF;?N7|DF`4Z7Wnn;p<^v8+~2&K*q^=`uYL> zf$Zfh-N;XkR#TL*r`|*=DGiWLF5}~mS9W{cCIwa$Pz>#wT|;j{Pl5Y`YItb4#~%Fe zB-$mBq_<(O;xlJgS6*v|fhSjsx8hF^27ajCYDqM&5R8SB#iix=!UYH%oEknbWo$E^ zK9eFl;4RYAhMLvsqD(J7y(hqIGwX)533=jQW(tE768w$vXKw#xyPj`&)fxeajAlRb z5~8)-`g0MmFEhYNHp41rPLA5xy;MX=Fq5H)brlZKeSXTD`tQSjR~?YAB@w>I_?o4` z)t5Mk00`~*^fqLOn9Yjn&i~veq3Dv~FG*`xrnXVEiulfBss`J);W~x*6IU#>5slq? zqgldFJOWh&_5OpzyDx3?5d9n4@QH?_kk5U-8fg1Tri=pu%cH|uaZgt)owV2@As!DB%0+cBU0qKKxeww zQ`6IJg`3>F11F^P!B&6~DGt0-kPZzr;>XUFg-+xOu5AQh!*c!?F`GDkS;4F}Kg& zUT5NbM5;{1vf9wXLp|*&h1uBKOnZA|Bw(`>kY_pKAsV1kVQoTVH>w^KG^`VsilPix#Qc zv6%&twQa(@i;PFBy6&rFrV--F!77ytpsaUpb@BeWdJX;AzG5=pg->32O!YAOIZ-wn zc02evnzlDrqODarkv12>ZZ&-v_ks^f>HZ~V{zW{xt2-RxOq^*2eH0{O-_kV8%bPOA z-cfW~u+a)Y1Vog*Av^C>v*9(da{%5Gvc$Fue(C|Z*Z@j zDv(yCO;uSw#%2ByH$JC@3~d_`lC)PP)UEyv^O4ou2sGz5NAEC>53yj^lu$ z8Wd!;Dj#y`I`GBAa%>;Hl`*^c7jFZ_H!tFIrz`*gu}`_k+gH^J8s6&fEp0hbKmH+S zG23chtei}1i55R*ZFPlIg^e-l6z4suw*&$i>1A{?Z_txgUx`rl7S|Af?UT;o+vBS3 zT4-C<2~YH!(qt*L)XIE8KFvI*>RGD)dTG?@m=u0cS_Vq1nNJpr$pe}h&K3GI@H6SB z=j~vpBVrM^cBDnAg_G^*Q6ZnIquWcFflY1Gr=q+L>OZT;S0nn6&DBhyB2ME5(}U>1 zu^Et4f%6J?D8sDgzlyP`7wEJNq+LoikU93#-$*ck2POD}LmH#4`(NC(?-@3IvDvcI zX*csJr8G?2T5PpH4;!TJ+-Mq7!eo`7-qRh;u0 zquB!3=7^-kOA8v7sB0VTFP9gR+J-JAj+2QIO5jJ`EvJxOh|Oq)$~8S;33q{_8CKK& zY6CCiKfqnq8IMBF26e-NUe@;WvLk_T3~_cuS^(JGsJ6E>l<&SEfcFF?c8ajv&~CLf zo^?clgD=@axo)tXP%q3-!l(DCiQlJZzG;I=Uex^cqe$dYJQ$4GAtc5A3-O(TEs%aS zN3dxGWrhOe6Y25cWU~KQmbk+<@8oH*PzFEqDbM- zM%>@?S$l- z@N`Q&S_APz{mIkTFO?&88Fo+B(j^lbON*iMrwho?mP~Xa0|xiJ{{Xwmp`!QsiDkXz zTZOHiGdIWAS~-rQbvaM`Rj`7&%K>srtjPlDWmd{*{+T0tgFu2!9Pht5#@!kjG5kwA;D&)#tcc+I-pVwH(j}XPQhPS%-jR=K zu!!un%6sd3FO-Y}C#d|T+`byq_!XTpY@rZ(rVw*#_uaYzn`;GKpKnjwSZECvi4&ne zNJGq_OXSW~oS9Ng`;ZW5#nQi-u!_>1P<3D1zwVm7W^BNULY?^o85?2-xqj3M`bFck zJda#yUBVlHFi7A{%=-3h>6I;a5PTmVqq%$rs_M;s(n@@qLuXh%kp4*S@8=r{`ha4I za@n6c=CegILn4C2qm$HQ1uSzGiUw+`NJ*6d=NfU!%KaeUf)%wj`|ryX+sM-U!B^7V z(<V*=4$ZGd7i7ttK9kr#bqdWsAD2({{wxi3h-Ko8%~6$5?uu9csX!zyxPWwf8(uskCF1L*$c zlJWNre-1#q9(I)X8#;Ir5^pr`*!@6j%VJQH>!ha^Wr)Xn^o50Mgvfv>^qNF;8p~kl zr>c-|v3R*U%jPN|!RgJrAhe68CvZgIJE$cTbYI}chVF`@@NoiEp4WLiqpl2eS9T9+ zR<<4zfbNRpwSFCuMdc*4K$^d7naM4ZjejZ}8GefWxSx3X5LV$JexH4eE43!0oAZRu zy$K9FoJD5qJ}%OsK=Rpe|4)qs{;$+Qs9E znrqRcUgo>PCtW`1UZDZHkfR0vt71Vpd1VQ@;39;tQGlK82N8BD>L2&3_r*_IglblA35#wYPHO7FN`9&99i}|jzS3vw0bLe)pmqw& z|5Rlf`k}W%Ay!6*o@q4B7J*(SdN~eV!=PrOy!=~i&(*vv86)ep{1(*uz!Iw2_gFvw z#EEXa@^&=B9D3gT&eshk=Indsyg6CE9DtLr7n%AY(v!Y7=qklxfc^u~b8xfYRfe&V zGH;B#Dgs{kWGz8&p#(~KQXdZPg|}|>c}m)!{s%ZrXGne0z-J28g1t``^x6>pWFB(A z!{tz7gGs7zeVYw2B@bJfH_Ye8(7)p1qhI%`W9z-0I zrNX++AdmA(rJr=H1wj@0rAimWKUWGx9Nx^Rc`GUGgv^)KU;(+F1d4AOkJ%R&)6hNr z&M_hAcDipRVq@bkFxIYnXJq2Ai00=e_P+(~uzbx)%-qTzn>Gzf6 z7mLf2l;p_Zb++ss(t45q0Ot7Ub8~rb?h9{Y*a1&Lu=@ps^1H>3jY)5Tv2a&6jJC$T zwb=RIM2Aut9b4-PWazpQz4BRnBiewG`(6X}mOiZF|IRjI))3Hd+K5OgAc_xlTYV*x z5CM7ed8sr9EbY_L7J6W~&6J6D|JPmEBm-?n7q+MDu{i*Rn3>4`eE0csgpG?Amdz!i zggp{7*E&y^1w-71bmFCUK7{_6&fhn0V${(tLnS1?9Q>XK#2M5F`TA(hl{u6=G} z-U9kPj}iTmaD2>1SL5!j21;m;QRm+e);}a`Fvz3N;q+znj}l;wnI{6PVz* zaa4_N@VQ#u|G9AT8OHs!zs$8t^Slf+NBV0h#!BkvNF~=zx&8~uis`GNXJ}GeJP=P$ z?&B|?Wpu+8HhKK7hC`R75nYz-o7}dWtzt7U!|3V4nslPxva{2CUGcf~Ii(s*TwL97CL5szhEH*7vUor!!_XE1ob%53a~ z{Xl=r2k@b9Fnb&C5BIH@vS@;WKGs8{6aF1bul~y{d!iT4c|=#hgr>DM?kw2RONP~X z|L~?+Js)^Yz1#u6|8L6$H;u}9!5F#=!HS<#R}va_>$EVW(K0-!f8_mbe%!{(P?xW3 zDY7)pTxnOD*Bp6EULBk6dxI`qjXdYsWY*z$T(KGIWZS$3t6reob+bH4!&6uO=B2tp zLsN_&v!olL-#*!Ij-8-=IEKY>y(eS5d`HF867;gtG8opVPYPa#hp+T;9ke72Q;Hog z%=oz3DpJzE@YECgYb(w@3IfsO+@SG^CS0<$-6YhuYFoui&R9r#MbR()QrAM$E700o zpCpxm8_0q)L$!Al^~q}_Lnc!_1KGW_hcDM}B-M(!X9w2xpU0++g<^K|TK(Jn*dY$? za7;V~Yt1xMkHs=}PLrh2c_nAZd{cV9Dp`~+##r8V* z7s|yrX|4{Y0`$a&kcr$Lc$g>hs=IHhJ@*WHZM|TkU$tOfkMs4s_TFYXObdTu$za>b zI9JY-f>Shm#(}Q9DQR_ft0ov)93X5rEUEYHldqzBKUASA<~N70*`{5zcSuFikHwtK zYV|$b2YJJgXp!v6V7}d+KJ$wg>bJtvkj*5Dka9*4d4h~=Vq#Z0ojk8_neRa6aoTD+6t^YrmvZ-{x1FWv*qcGeT#LW=s!H zKEeEGgG|fZ-fvz?gQcfY$*@`Qn+*VZ zZ9_kE39~yz7^ze!^`4$N^zTKk{)-T!%AZ-CWlzx3sM!dx*CtFh@M#NCITnl8di>rb zrw3%6)gpQ5a5ycKaPgz5YXbUrT5IwHjpm9+3bix~HL;Mql6C%cI2VRJ)Hv0I8KNM@ zjlH+^4(KJ??b=`6JGM3~(kxuZ>UO_rQ8y(ErGIRi8&JbwGk6e0TtZ%bpB^qlH;&4E^Hl&5 zi>S6DlJgD$eoj1T)Jr3VNwvpx5#y|?KEBG%_$6`oJ&S(YBzCrDRDA3r-fAU)Kof8R z$u#4fj&IG}U4**YtTC5HhsuC^t8h0WH_^Lt6ef$Zr~V{SHLb1bo8&34C_q1A0}yEm z&|5XkLH9APvEvBpqDSqbOlng`>chqcvZST0OpGwTE|q%8vl>Zl5~?YiLdV3Mw=bQb z(NOMC)zw@@#UCY-5s#~XZ8wh{!wyWJ4<+2_UBzi68Jg3zN$WF&t-Z?nqz)jZ`SEtP&h^$x97XM-QCROc}MHEOgpwlWU`n*m5V)2Mv4h-gMk&h-=Aa5?kYSmve=PL+BM_Zy15d24w z)A!uCb&Ne)d_0^&7$)+)O_U5)=S`YqlcnW2&(m5-MYYjRSb%|LTGHMPd3o5?Fa$_fCh(Ju8k z59-$bz=9#tiv(OODC%ZA#SvSGtD$4U=fRl|5)vaCCvGoRw8e=6^15bx zI@Aw_zp6|I?#<|QX`i^Yc0eD2Qjh-u%3mgm6<3=@5n)&-QSYIK&?{BFwS*t+wIa`* z^UjErjIag2n^rDwtglGytmbHU zX2{-4A**T|)IMIXLY{BnM5};i`En$ZCRUJYMkQ*(db;@i;;)qcmfoZy&6ZB=ON1-G zmQ5HWJnHX%tIOz}mcC0mTJIQk4YelKE*T}GYP~UnX=nQ&PyGOI?gFVN{Dc?Q388JJ zU1ijIULA}?WP3c@sV=q~S{qs+wHnzo0|F2a!RZU(0+b|H=Iw4)7*{?P>!DE3`W zoVwyH9yqW|EOIBlNN8A(##6;?lmt)rIRJnMY=vJ}tNWsRm{;>H9Yda(~(ssVQyw+GE(h%}7 zJ@SRjcT=G)fA^*~pA)Mr$sWYO>ypYf`+Te`EPlnksD99ldXCvQ=L}jGZ$(Xf*T@h% zUuf%ziyLKBhP4F5ch11ijF!=5HPo^{cH{n^ibPpekJupBhP9{4xasx53L+~ky2t1U ziZuCZ99}7@2Vr@zGBJJo)3x3Q3z-gNd0_MZ-a%|kZoGfyir5aZ;p+Ll^LmlMz#GAS zm_cFBg=T+LIse%g#R@nUfVda*#foA;+64OV@QOy-ge8+s=_gwQeD>8nDnkQYh?f~~ z;X>z;+WhTV(uZ2ZgnN*X`H41Zhqp}a0xq5ooCggL+>>P+8 zn)iFZ>Opoyy*j{GcgoHCA;uT;V%zpQk1MZ` zD7!jm_A{+}ZDc#p5r}?h&I3cO-g;>nhj-E@ulVd|F!%YSdzOKHi;lHuh#{IX*?Cc@ zdJ{ZHId|;T*P;|uZ8aPOcyn>6WpyuVo~v1F=eJfjbBGi0Oe>rviMD*oQey~n+iP#e>4t(0 z03)gMt0jkJJNLnmEWq@7^t$rkbP!AZkLr2eQVQ#L`|iaEtY(t$#)f z>t2>m^2R%Q?d=o!^_idek=;pfKvw^Uz!^`r1xeKo<9wsGWI0Zt5nFwzXrNF_egzB7 zA&!VyYcJCc&V;?iFS)(qwGi9O?p#xscwA(2t9 zv@gVQm$Gl&43YAB;umRDq>Tk)M~XYCR&UwQCMc>fjhw13M&rb3%g!omrzHLO(7&>pA>d!VVi0IEx~;7eEMNz*{|9i& zd#*y7pKlk%i@QnWN3(y8IdWLn{DCLZTQ(z@*A_svPRj7FVer+qqI5}u0xbzX_D&(A z_*=K)J0l3 zQy;HC18$WBrm?B$SaB<2dJhm$M)~{*K2Q_Z=Q?A{qC2N1YnAV-G4I(#JND9ic#y^3 zN812d{>(y$|7r@Qa8}VMiO&c{aB{;>dC57YWRG88ML0`N3IUYK!fQo-r5ZYfPbP;c z$Nz}WHk23Gr`&rETwM+!Xt!z=)H4j7yAqOo<;u7)PiXG6d6ue0K!oEyvlRYv z%R$)A>a+9GUc9gOyr`VlfY0Ml=&V-fq2!mGr_rCiKB*9AoNNv7V#-%%6q%o zQe=_4Rt`hn^3#cc9_)qvM&92)!KK6s4@M%(8(^#-3Q*$k(TG{JHe24O?EYOBzc6h+o1pi+Ws%4QD*5|0v*mpr#8a6-$MEr17_FPF_34s6i$vn?3qT zUH`JaOS9$)6#VueGXIuz3S#VTB*jb+vk^49i@>bg<=RUjCxBHd)D2zSO^IU%2-I%{a%ATQmZpDx-@>F~uI-Dd>+A>s|Vkc$MH{yf;zANjWKVAe&vpTvH>L~)8yk1cezg_=t0 zzz1y{@?l@(oHU#P7jw+?Kt*tjWGC=;QvZWEPistj0*z#KBR+w=C_$0m9h}lrg)ZV3 zliP!lo*wJP&{dcUj>tWvgU*+3xRTnEMEc_Gfq~W}7*RB;Twt&V@Hx$5;vK;MnWQKo zcRe$QM6HKd>D$*jS0>z51)8SfIn$$^zq-GWyV0p3n?vcf{!#0&!is`*D zt7IFh8t72cEHvM+cq!Z%LasUFcpR$4ke))LUGgGsti`_WxPi&a?q^F^76m@E3d^tm zA);ByB2Ge5{4jN>`^}qH>F3u}S53s&LHyEMmbVveGbg&r4W6|yz+-{WJd(3S=L7vJ zS7L?KIc`XG_p7_E2643A$+yi@h%#?cKmaV~QDBgCMRIreW_%RHSR>OeN!)U?=AI}z zPa?N<354_p&DUD;&fwA67I=ZacjdUxzxkQbsJQv6|8KWL;aQ==9o6Cya&^evIaUm` zM|08R#sBNxAVqqMI9ZemP>r?lQ^NOlt(KCfo)i4b2L-lK3zysMZW!Tbb9KJZZl5;C z7!{h#6yiO$QkPzp`kK_#4H z4F|#Rv}D$9kJmROXLZ7qsz-ob{74-wC+X{^z3)WiQr$+G1|N@i4+J0<73G;PoHe1zPPxKBXTz*DYk$Y_8g3>jM=SywsfVZKCybMh@xT`@U*p22Tk&Bqc*>viTq<0nbA zfb+RJ+WrcYhmh}`EL|M+`@%P7LiVtn9-Kpe9#os6nGM%xyeo3T}F2GRQldi)V02zR(sfwsU9*F{viuR)xa6(%4m^`(i)7TyLe^|;8>L#TN@4G< z&;>}sob57U^5n8zJQ|i1!O;N%4@pwYcSvY4PRw#JfYo=z`hgez!VjLC-!4R!Uox7u z$GFW~p?zBVwd$dH>@P4cKVS)J-^K6W^}Q|2aWu%LckVzO9sH-E_i98F9}QlpcOw0( zpxH^Nz2hNOnCip1aZx2tUtiFR>p$3>6i`(NRI1nBh*e!>X56Alys8fm%&qBo&2c_L z7BBjDg!yYV$`~OwBZ85tb%Wm>=4yAkQMC9-t7PfVsa1=HHehY>nRh!?iGJp(X`$5F ziCUw23kh8YZJ&QtRPmUSzE-k#Oe%wIxV|(4`Nz|EFEehUp+i5iyL(Q2a$9_k)b4~c zd1`II8 zAlT-bldYMXQy7w`nb4)-~)Tl!ot$_Mumx4?;CGfhRwiH z8`#SttD#OstVm^ui%Y-s!1BMr*i7P7MLUYk34uu4-?d%!Viy_v4B$9+FL9PAyskYl z#l5lY`6)3bn?nHtu{~-*FYBEorPveZk)a=J4SfWd=ZFM|!1LBfZz-w0x=o{~)`F_U z;>YjFiM0`#QW&iINl%Jt9TdydZ5nI)5RMPhpY2tuOLQ{ zQdD589}U5Jx3(ywHOGrD%s}E3IdloZ$9`&Pto27vG()>;mR0EX!vpzsjA}*wfb2l* zIG>N9l51u`dX}P8`$2fR&JWF%93Lmb#VVtyI5^=*u(j!yURI_j8Euj2uJpi%74s{# zMr|!lfmmX{b464`H5Vof9EJF1-~EQUg;hlJSCD}2a;_S#{l~=z8y@^t19xgqkv6&T zbhp!y&4?s|k%jVFWMdS0Ye2)O=BL|e%*|4Rj=g1Ve(VByi8ZSoo28>L!&g=D*1~R` zJUd@T8KtWEf96utcTxlChVySXzQ85HFl&*V+R&=4^*1y?51oT=lx}ZIc5z`;W$z?1 z_dtK~e18on*rhSPkcy&M_pZ)TCp+;wd3z`Fa(+VZ*&DijG%Yac5fg@qIFDewpGva| z#&0~aARe;B=QHxmWQ*(eL|SBmtmU!H4&XM;o)2RqGk zh6-rY4`AWo>?TJDIn~sSczV<-&iBWSj&p4rIAe~xKl2v&5xhTt2KHzxxT+#(D(qxA z6af3#c;|Aj;}43_v%Gy5U95>#tT7ljNKOS>7Bn-NwWU@FH-n2i1dEXbu;vPId_H7s zHs$uAEOk)Jk zwYSb>V@9S;@5X;Y!S#46=D>sj(@H1OP+V414An?|hZJUt=WQC&;(N1{pE$YYs~`Nu zvCLCYEBktiGPP=EiQDKuz<|TxDw{8gHao!T!y8oms+3evI@R*9-V0W`tQofRq=JHc z;-0h`n9e$W#nL={q12b#<2F)^To4_zS>x^r*r8%Sq-Q3}h||-h`7`9hyj0O)>Kyg6 zJLz{3))dWK*sW?n((N)u13OdW2wS_ktDbPvdOQ*_J7Az*Zy6F`$uzz>m~u58J&omW z?x^A8U#Asp({(2)C6Zvv7!>cTS*D|3cjm{1w&KWG_vb9f$PH`CTKL(qem^bFuAMab z`9p}*6r!%g@`Z5bi=F!DFr!e-PGJYn+B>q_sXVOn(VMBYtnZW3#t#+-9*&^2J};MK zE;VI>N{k~}hT}pb`J+~UCqJGnY&(}d&y&1@NDiufjc*z;(W`PS(jcRk`Rz!mYCooz z3q(`jtV4UfUUz9uy5B?X3yEfE{8Pm&zLKVYvfZfsz9d0xvjCkTi+B5onEgCkxnQDT zbv9h+Z#2u2j$OMpF7m7RtMP~0ioplgjT#eoC|z26`ES0E z)~Tw~`braeT|1=uIbwG08N(M7eKIqQ!6fLrpx z1_i*Gluc~~4JhcQ(b&mCIJ2rd-)3Z4s})p{;d@u!+BpbQ`yUdn;P<6@&#fN?coHR8&s}dKNf0<<#r?Oecf3Y`WMV@TOcoLK7U^62L9LCFwBLc6 zj+98%w5?VDdq52qz|9uaCP8XzcI+0f+_iI%gt=1?T2hKDZSsZ)W?oJ5YsV|)j%g5l zruO#NiJ3vcW#DWw=ws&hWT<(u-^<9-moDmTHq#JwRoIFd80@^7yc6=V5N{&;rI&{0L30Cn!rweK=d(~^h(eWtC(XMe#&j}r^o#ny z-`biO{`Y{&<#2YK9lVWr0yxy&*>)OlqD}Os*t8!XDvTBz{y!ZU#N99@6Eo~FRxt?=;*Coc3Xgm66mL^Qh85L`CRq!+s`J|TrEHQ(yxUE zPlT8Kqq{~uqIhgM^W)(F8?`Hst^xnH;^|5L@Cf!U8?C_~_GY@In840f6Zf z^-O=qtGlW_CNHc~|K_{?PWreDhP364_A&`t4x&>jEvnkoB{E5Yxhmx?`_-Ok(7J8# zSBQQC+It-Q70a^_~ihUcpy-T!7^9F$6Mw}AAx}r+90E|3< z#Gww246Up21J?gdYO z>5p%g*nsOw5(HWuxQWN-p7I&N75beTryA}WcG*oSC4C4mGH;i~_k<_-4wc1D+&XYR zIutZLgqw&`QIW=vTKH-sE&5!zYhAs?w-%le+zIj{uvXaV;>svnv(_qGm*hq3&VDfZ zhCeNt7Za7z4@V1;TLn*qfAAR~r7l&xanIPzg0j?fShiY)wKmK6DtgWFpN~@r^)1I%PtTw=Ch6ud%k0LxXp(<8*^{%RTMwwo# zWoi_6cvUqDKJ_j!A`YcF0)nO)r?YpnQI23d|22YLq-9D6ogKc8x9LbpDZGYY;uwL} zteZ1sefnlp4|J>}4`R@oro$oX&SA&F0Mq?IRmsp=RZM|?SJY>ND1ABsv^^J_u6OG` zoh|tuPpAI(h^Vyjv3*s;`pytjlA!0&2l=AYLVW*+`x$R+_O~))!@G`XdWEZ7wvS24qv2 z3Jf%0iEqB|X`v+A+HosA#~RR2@pS!+qx_eZw>ZVeIN^K}ksQ*I{E@Tq>lZpk>fuUS z<=+(irb&YMR~heA=*S8_E8{oB{Koe>A@akfQOtEYuZI46RzAwm!14yj4c>=pAF;X=(#nFHB++=sC{>6D0F?nxk;xY;8!uX6=)0up} zY4_96ip|nIZ>Mw^Nccj1lB%B5IVlE&iM zU+36u{ZoYcgyLi3Cvl2Wsa0a)iB<+iJ4{x1NfKw7^J;ho+C*#Ze`Tr)qeN0;VjfBaAt_I3HB@=z9Hpd4ThWk*A@yJr0Z1of<^KNR?TMEXBv_O72(qgJnYbHfJ5#vjo> zQE4rn>}7gozA>8gI{UPiCDaj`_$tJl`*Av9#MevNjIiHX-R}Eav8mSCzTt*(kjgMW zwtVxnbhhaAFGb6Zr;a#2>GU4P?fUycD@z8~=uYepZUpFSYwY`hU1C#7L z&ppP@mEKu;#VxIt&7^eVRT!&r$sRH8pt55i_xczaXzZ{7dfjaHNy&j^jp?U2PU*d16JH%UywW=cf@ouM9{&$O3l&dIK|XmhQF9 zb*9JEwVGf#?);COMJf%+pWP1`b#1t*iE4@95##45s#j8~Qw3YjNj1?nwQA36s+z)J_~uFI{^& zV~V;VNbJ#mp>bx?N%9>tJodWo{?fyDJ_L033F&p3b=3BL>sz@uHs-7!iCFlnk3Sj0 zy1F#r>{fO?6r7MfzEfN*y>E87oup)@z05YR0ZBO?5!dNZRY9(^yKY~c{PO90RJpMU zC!&?<7X7EG*ilF%o}_XoP33P$=d68MHX!7&0C0HdWCdaI4o_Xu`O1R+u*u2;)X7`7 zS5<6)1o*^t#OTjKeOD&p`3?so9cNRrG}Nsj&5d=fg(?OD=RJJpJv-X{;YD{v9D~>8 zonFe+(Wb3;mhW@BBc?nv?wq)}S&h?pNxj!aJ3g-DP#cwRS3VND{gh}e3cJ-XiV4Pf z=k!dSp{`MAwzuQQ2gY-owA$RO;{fLe#(4N#`E{<@XD3CJG1G%<0l4zM&ZZ&trl7-5 zW>Ea%I_9pbL*MH=ud0Cfdwi!7(d(0dGvFt;8O-CBTI|}|jF5RgB%c_Ta#@&lTsD1^ zJLfnVC&Dt8V`j?-IK=6#ImWx!y-O}robowYB$yzv>V$V6MmCKTSx&P8A&QU zF~oOgX`6M3ssf6FZvD|cc${u?Ry#~Bva{-0t<&u*wA*2@`-cERqQC%7MP!8^CnxjH z#-~VbBLRXYM+2g${d1hwY4qAlUcedM)l=M{mOnWYIOVy~yN<6{6H-Gy)C3js>LoyD zC3gnE$sSR5I)pgk*yW6>F|XE8+4BRe^vLttf-(bi$Bd&43?6rMF^y?)w-`T|#WIqr zB}SbgRKB)w8HYGNG5xRF7iujP22on57yxo+O*-P_1QEnl!J5)pzckI8yJ}rcEnhY& z)(aEiiPC)@pG;V4?<5bota4^Lh|{J=#~hM8eUWynG8?UM8M(%JGG3(AMy0B2PjZX^ z^Eu2%ct9)nCNp6JKC2IZF^x$z_lySL4knPg!k(EVbB>bbf}Ei0IR;tk?#kngjGUOo zsR+UlPeUfn3X|1$XFjOujBwEXT0<2@19>?);!nX%KWP@F zs0nXWH;5qhiQ4_+R!+cAF_ltvI+aJUYsW)j;#4)NryQq`{_rn-X1jJN8;7dIbonG2 zY)VVENZpQp>OdjD+TmX~$4Rr{4!T36dXsMA!S>{w9|PqgvQk-r3Za2HB=v=loHA|6 zILACm-(Uq-Y6j=aGR<2G!3u!+gVaqTwcywlijN)G@s_wczQtw8$lQaL2iq%9-Iwtm z$)=pU2eFrE;ea?eFhZ?G?#m^4MK}cbd*p3FSZ&LU<7pjb*A>}vSy;4VZx4Z=10u9g z%e;#h86i$_BBAR=3hFVQ50ulZul`S`eK~spQXOzTQ~G{*mSNn4uPTAd9sGDpj_|1} zrBIBWtT7-}bup`db{7YzIQb>23eL%9P~+qfO9I+l0^7Y@9DK85y05Ep_ja$v4fkI7 z+Q`c8x?R<(ivht`2RJ{|G}nK0OSCR+MEq%Xgpy9y-<1=I*lfoNa)C$*k?zWy=wXcN?#Z!_#=sw@_d*!>(oYt8=GRHU`Uf97^H(u+8;1UgEAaN00 zjYvNb^SEcm4#!n9U zH!jdz6OWbx*^yaygkU^}1bckt?bXykL8H@S7%f;Jk9R$N@-*60ds>KAgS* zZ?+r^`+bw5*0q-&(d{ac>1H4;I02Y=d4VOiERwNR@Vi>ZM1APHovTtdk28*fR-I45 zsIs=9Zx(U`4iUd~$60Fix7Tgo2Y0TGM-N(_8FQVd#E82py6f$_pc0Jdjud+boWF{G z236nNbq7h=_`SwZs`rf8>Tr1c(XXM^Y8uO`-EXK~#NGi+d4c*O&a+WduiJZ~2deb3 zRs*I6I!ftuKMWtxIP7za;XFj_RY;UPMZL4mNSK1X7=x-mGw4RVqqP?QO}M&(<4)R>20#cM63b811%(?cWtV& ziyKZKX8quRe1Oh+OKIp$Ridhq!#+x7g8IH3nP*O{_iF5Y7PGc2dV4=bUGH6c*bh}} zAG#yPAlF^An(upGRZ`-rQm_;Z^T_0xT~7PZ*GgP2=-7M>qs$KpZ7DbQ6cWq^Lzj=f_SGcY|dD7WmX?Dt0Vcx0k2gny8U+Aho_E6@b<-<>PxPMTtUA38CfeQVpUnff$TmaD)i#I zy+p@32b1qJMb>HTv0p+8631$ec8ql9CG66gTOO;o-0sQwOhTf!EXp+C*n^fB05(0n ze>|_kDLS6blbQt!%)RI4q;ckLWPe9Ue2Ku#&{H=RG}x!e$iNa$X9YuiFbBA0sVT@6x5Zx44nA zy3l~ziShYkM%tFmRaynLYx`B+qBiZs`!V4&ttC`GyfWnObvRH!=rI=Qc82>j_te#2 zPb`FjRQPl~ebHvp=EiRJS6Q$2OEqMV$c zUmj*r_GzmYBQxD*M(w}_`6X4Y)3(EN7IA`6vw`jKgQ3-GEl%a?dni>r9r+;n9{DMU;oYuB)uE5yB zs=}%aYGdo@DUhYTZ!R;QCJ%x=gL{iN1M3nv z6J6Qt)pN34zT18gcxg_h|=lkBo?uO0Fv8J9?5M` z(+8;O`{0E};>7yL9G`Y$)bu<(bkfzOM!?C-H#k1QGb5A)>6DNT*6KGO)ifo|U)yVK z$_@c#$R5mi#Ma4cXW=VP+X{x*cQ!{S-RzUHu7;+hi|Z;_?`uX$$Cs2Yx~pnIMNjJF zDJ_$M=OtZq@3XzG#R^yLfPg+vIlIwr%GCCjt%j8|P;IXH3za=aOuF??k)4&I)pmxu zv=lwwt~RN{C%+Tl_CIAWXVNN47rxKiA9r7WjNRCMo2N}X>FKOetDV6cl1GW1&dVLb zUNmW4!B=y=gOxw3Zfg#{sjHXZ#ZIAghq=>eyRAve_tt0gbH~1L{Wa~E(rE3aHHGa} z&Pe_DkESM$_W;B<(7=9XXk#KpIOl ztj}&WCAd&e#q&PdQD!P`?J=GK-GDrfK6yeY!mDJ4BZVD4S*FCUq~E6j)qX0mTGm+Qilw*pWMV_~gI!UVL(%WG~+i6mx#{l_E!qAn4QOWC>sFd1qSq0QE z2d7b=Y_6ktvty`2IQ3T<_rksYvva}EJp|FKRdlYzwXAS)YqJ73cw@!_orQI6!xsmP z^pRDMMXp7h;Ny-t9#Os7<8`VPvOqo(DyXs+va?|1V?2ZBhzd1?z*1SW!S+jwcG%2m zN8@e?#yz}A?**i7td`@ECbwb&C^+AiKG+nffp9Fm0o3#ntir|r00aQ(kl#6r09b^V zA-7|0I*DKv5E|V`3**jUS?R3lm6V;}oT)u|;|3K0Rm%32bwSZgS_Q4syme6HkUr*A zV3h+R#T0;pSYur7ShKqEC3k!o&G%)@scAp2y{mTGJ$xL_2%(7{0h0f^g_^|oyc z?VKF-{>a&(Ud`dQDelN(j(9%FOb5A(*S92)s&E%Edp&Kg+^;^bIfYg-w(9vg+&In* zAaw%6g1OIM2-_O5PB6XZd?Hvn+;?qWa6=xR`CNgKfI&TF4)0BXJAiO`Cz8Y;8GWH` zYXeti_0G^Z1o%wqfPDj`Ab8}CNrD7&+i(cypBNV`%oyw> zlaRxK^GX+TxCMa6t&Wj^vXPcMPlj+L1y1L292Ove&?n&*RF1S<%Uz3y1EKebyI9)W z$=>+qC#1JFCKRp*t%xZsK<@B_`px7d>~|)@17mJ{^U_#Zw`f#U$Cr$@roaePP^;ia zh?1bOBCrS}?z+k$Ze-r0I~)MR!24vW+ALb@;f6hKP9!J}+jiuUv~$qQZ57yakUC>H zFcc805bDa_-wAP_UC@>wfs-q1o;JB8j(N^ykTPf13P|yl6SM_V!zBA*YaaEBmnWz# z$&-~t8_wc9he=Y%$fWMxPdPngRI`>Pv$z3(SV%y{PT_!jaTv?JR9BL@;s-HZnwsTm}WN3sPhE8U_lbI-b0 zW)y>11o-9&Vz%soxZ@tlDgy!w5PiHrgJXmUNdO)(DT81Dl23q^C)8d!{KQFDLss36 zYzKqj1PShnRP3bV9P=j1nw2W&4mzmz$)&<0_k(e6Hl8qi3|30E*U2FCgq~%` z=XNrA@bZ+gd!{M_gPa2^VRkv%0O^weQ@bs^hCOk_t5!p?87e$w!zk|2!mE@qLH`QLF<_+vxQ`J zE4UHLoML+Z!Ssfr4Lb00gP;KJJ{^2#jxV;drLr;9j$~Fr=nnq?1_pG)D~)r@8I$W; zL0+P+_37GAtf7D)pA3$Md4EYe1;d?Aij+5!S*uV2`yaU+*pA1Si3kFl9|b-*&L2S*v_=ATUTr?Hc@cH3Sm)nfzg zcvb_ax_s+fr?*Vzy-G4#z769zWrfAoWhn~bctCTWvV@G16l8eIge6O70C*ob)@6E9 zwWJFNR~<~pW{JpU;0?p90Lbw^P&KmdI5-_ofR$21W;PhMZ5VEG;WZL13u5GyAQ6w6 zWF!@vdnn^l8m_oG2gltrpGmm5^}2d}1$82UVCQz`EBYhpM6KN6s|-fw9X9nbeVD06 zh_gA}VHhXN&RiLddRP| zn!8yE%2-$f>YvXSxvX=LFk|&R4Dd;rK>2`{bwt{Xob4F)PJ;Gx{2IG& zaY~VuL(4bGF=^RFi@XvCIL}$pRl8o#th|J-un;i&qu`^=%;jrX#$SS2s??=b;JbCt z7z55W`i7qr(Pw%`1ml8yeo4EtJ3m`vS>095y-OSrzp5{_sHaHjR+Y`#pNh;61fKyj z&AhbVFHNy-LK~MTdgmE3#;npAc9dg)Gm;`tsvB~1?~Gygn$C0ktc+r9gkXfQu~I<* zV-ofSR#29g1wn6D7(OH0E8e%oYSonV%#gL#Kw=$_hIkMr{_lEsC{z*u07!g%W!lQ# z;1ag4BLFR=fg7i=)ndEkntf`p0|0&AQzEElHsJ0jC*LBjIl=*(GmMUqW$x@MyF-qu z$C;w4!Z&!#jEBS@F*9?!AOcSrKc-YzHI`$2r9tD>>5pu%O^OwX*m(>FGxC_*mrk^W zcCoEe2?#ho$eUccs!?0*8NhB#ioTY&VPmC*TyeA}ay;`YwIWo_R!b?tAmDt^(~Fna zTXu7dW0>YcTjj=Et8v2*YzWid64ozehXaBJM1iw%Z>g9Zk`$0sdn2xT*+rD9f>#WR zI&lP=K3*qM? zhPW^_uI2-R-2|&v>swh?{DbSC0qhd?JFK>D*q9|p&Lz-3p33j6Ali7z&pzn7-%(i4 ztA`ozm9D|LiR$AAjy=#c?GLE1u~oC@jPbg&>HUmbsS zDz)u)-t3IN1BnjDSAL~+C6hh!^s#s#NWR@gx`Otz-EE&3*bZ3qk??b=YMQ6tVa`!_ z+mAC7YS@Ks+;XkJ>4OH^F07@mUcRTNZWN8Yf;=J=sK~2us~&vGYhO@W%~RU7rk}v6^2aXaa{65A-bfqPpEWS=pcUOcPo2A{ZT#Dw$xZ)C?}DH`6a8}-kUG2 z_9)|@=#tOg6{#vav&bjL6+vCqGK(7tjF1jy>h&6pPNLfMO2(o&^#I^_`z3YuZZxYg zS5y_)pa2J!F&3xb*LRgv&Zws(DL*Nby7pD=tq`So?+^VV^=WHUNVTgjqg8gG%<$?52_w@Zhlb z0fKWWq@jDZRzbIE!@Cfry_k^95ZmAPmD)~1=NJdi&RgLObPAN}A8K^0{mJu=tI?xR zMQPnN)LOt~yMiKm!xx%>~5&CU*r%!6#rVm+jyA=)s^demwBC70rt8-cwvA@BdPtE5x zU#`=dA51$vaD?HCg>Zk)Zy$8F)YNM%Wz;^6szPfd^N#_M(r44_&}v@YMwN9;7Xesp z9`o&v=Vf(TO`2LQTCb_yi5tM$SIiJ|pOP^}2&DFh!dSBXsc0&zpEf>GD!RM%A8XHe z+<xhW?s zgm6Dhwc2}W)Eu&e1mgo4_RC$Xq^j3lD7L7>SPoAfUfBE&o~RTMSMAGXgmK-sLGAOM zF3Gx^J6lMa_P*MYaJT@3C!r&rK1|MDoo!}jqMr8y48?K)K0f)qw1%Gkrm=3ey{^oR z1{WPO*Ez=mXD?>4_igP8^w-~Y6iIrkrAzN1BZZnL~n1MSal)eD%rXaU$jl#Xb_fz&@{bG8p-ZN~!yI#7D|x25bN&uG3tU(_^5nt8!Cst%&HJ zi|WwVY25qkz$d$Y0X;HIwe{)Nfv6Ym)N}^5`&n-#BlMVrpel!TV&~%d7}T?I3Mva$ zKyZNJeUL4vM{N~%cWCOb&4F-tb;eI7W=(FP(%O@9>Fr=#4mT0unXau@{H1E3T-sD8 z?HSH|&$2acYgWhZO*&gQ0o^EP81{G%Y@NHs@7l3xuc54cwWUN5S8(qK9%S>@Xt%p< zCHKA6E}%Cxg*iUp1_1WR$}XChb*_eE!w!TGG3OF(T2z@;T{=b?Te+Gqb6- z>I#aLD`v=R8wyx>du3ghL#S8OP?j)kfUY)??-`BRexdHOQ)P830@-1=aVMZ26CJiw zQz)Xvd@rmRU}wwQ9nQ^3s@AY)(}Sl=cNDIt_=EZfwkGS{H53Z0V6_dV#wD_Ra3!r~ zTAOhQFaasii5`C>&q6(nMM`U|4C5QK?aWCFYITpg;`NK%fHxAL2KhXtk=Eo}ZD3Zu zSu7-O@&I{C=8JU|tv9`PW7c*D67(jTs;qrgrICRO0p*D4DjIbQs$pHJV%8UhtYe=K zk`?LLSgYCZy5&>7Q3+t6dd<%O2~7|{_5HHJRryvq#zgG)Kcim_*1N6Nrj=I(pCfqB zAbTTQ=?|SFu=^PHuB*GUvt?{DT;yZh?Vn2YZ?dTD>eoX1OtbZ?}-n0yAYRa;Hh5Qf`ZaYgpy^iP>~ zje_f}xY!-6Jh5MnJj9)Gy-Q`C3cWQO!|F>}r(y`+al77PiG5C}G9`5`cWhITJ<-{- zP@q)SHkl4e+Smi+5lvTk?3C0KJcb$MN!%wyBI{96&Foc_0*Q?7KG?>+SxU7ftS!s0fbtTFcCwm+vLOxY0>dQy zu~pJ+1+$(G(hff~)2h^qbo8NH8PwrRABes{M1~B0)-3f0UYIA_5UU`vz)LcgP%wk_ z#iHA5W&YNH6OuE5?2Xh{W{eaLt}H-FLDE!O8CSZbdcAiy5Q|>eR9me3Xy8^k$i_iF z9y2|8drFe3JX^{=bnY!@bXy1AV>n!#44-VF3YG=GPE|vC#ZO;giFzqa5EeCVbI=w% z<}$PntlJ4?2MP$|-x*ucmPg;S7zxnl!w%7Xb%9m^EZVrr9Bx)5<}ban*Jff%ImfG! zBFjG7d!JMh_dH}r)womk&x(8$^3af$4MI9@0k>lVlk>-l8&9RC_iEW)xJ}-$$C!%J z)=4k7EIna^@qMOWQp8$Rw(-|E>k4C7JNn6W0R{mha3A{2&ihS9r7Gt+R~&w6N4L}h zpuk|~aNx?2xjwM~jGiF1p_N!sUgh7r0elCvnHqt^>Mpe`YnYR?c;-_~p&eY|vz`x0 zO+npZT7zLv5GJaIe%5eE>Sf7fV5;96oRQW+F0MnS<{aW#TGrI4uCN(BZK4pTsmA=1 zk~5EFsIVthVG*`-><7MB9FR?Yw!`7tR~%qvw2ibirrR?HOEZe_F9 zz&ITx>uTAupaP^|<2>^SQDi!NV6&5)gUb6PZ$nZF>QL#D#GLPzAa20rn0nb5#Go}* zVwJ_5atI)FlS*bsej1hCwC5~1&$?f|s9emb+fGRg1{nLirS(07V`YmE zY-)hpO0EVx@hW!rdzf!I`J}U`A&?Q^ymWzmLRyPmc5N73fY|920`1)R-JTRn+!VUl zGRGdc>4W7Xs12|b-SI)>$>@54QZ1JEb^@qy2{D6)bA#;1UwjG$RP~P5_ZZd* zYh?O`SDf`GD&+31AcCax8@8uR_piTUCnLweLNkQ*hbq2Y^qOc?33;<=0eTM@QZq}p zit&s|q#G+Wu2+An$3i`^NTT;cNz1a@c?*suH!&NAI(5$`ORnG)5X2vi;$-E<)va-i zla8hpL||&!-GarlxD%XXq^ht(>nD!~ti2?Q0;)TcoMVi8r9e155#!G=iLsZ~AP}dK zgVW@Y%z$yZhmaj3618+t7z-GM9#Sh`Syf0UK0Yu9yX`;#t-I$EiUY99o}Dw}?3c8$ zwC_LzatDNiSvuJ4M;-IlsyMQBY0Hv0# zu-W81WVtK=azOF|P__hg;E!y*WaWuCC&xV{KnIQnd~q(8IufCjh!h-p#FOqmGhUXg zu(7$>>ws4(eTE{}eZe;lIq3?^mD{+H*RM$h9Oax618(@BV0Gyk-GUeria_b-?vm(R zIZ&i7L6ogfa&5z(3_!E05{kJb0yEGVI(n?R)he%jhoBuyTd{r#^+y99GSrR$#@@cS zlmfu&b7prR1I*K@xs6+E2W_Mr_;J${7&~$R@cH8a#Xl1)Ibsh%CYNcnvk+`>`Nn1nR3=bpZn=~D-Zi?k(vEG&V zszB@K?3~s_Jb{2lc|6HwMpPAKm0w#t31!z*vwbV+njX^9YV_5Ssz)qGs)r1|{Kj^V zWNEudcXlILVfeXIl6=E?&zoqqc4)N$smCM&4~+URqy4a6$4x;$3Qt=bx&u8p@j1Fz z3&Z8=@SU^R+K$T9I$o!T+glDn_xooxkh3!o=ELE@pIFrB(^cLztk#0L13VM`26)cg z^l_5D_e39tJE|uq9$?OS@U_-AhZB7(%r~h~3%C!u%XL2JmIQ6U$vq<(Hk00DFgPHL z5i~U*1k0}66P)z+PB){cb|H{(!2F_U)7~gyX4AXaVpsvwlkAqG9qjD z8G1c4EU$Kc-oE3gPVTi0U?3a}f&T!s=l6E#blb01v2E%Dk63veb3JymMO)q;!MkN; zNY7q_^iMb26x`b2LhL_ton-?tkq)Lz1ok8 z-AVRGSxsd-?NgV)AR?TWF?H%{bOBFr{Qx7vcJAY?BfruCj_Sd6p3>S9ch1IaFZIO{xw@ zMgEyIy_Z_G?rpi?M_8RJN+q^3Qp0NkRE9Xj)9{T#I*R>UDnqkxL*bcvY8r$_Jh6&r|LBa}l7@9ZzagU7*zMXT}~w zujrnMK+{oCBWl~wqv@tLidaT>##ZJnTf>TX0H!VJ=*MbeY2?}Xh7Hpz$lsP zV!)EQ3URa_i#KbkeLYED39`;W$AFhQHPfP0j63@PF2wPV+|KgJBaN4Jg{hk({3y)VEBpU7C$sih(<8LDjMP1m~K_QXPVU&&xH7IYO*eDj0Zm#G2Nj z&8}4VU}rF}9soFj_`L%#n!Q;?$`k`tyVUzIL>1hqMj4eVbDWMO@wApBKFKsKVjSgH z81a>1(CyEel|l*5Nj^qOxdS=*Gb#oEV1p`tHcww{xg>&ir(!Qn=fup~3I(>< z4nb5b2b`Ykc8%@xv?%$x{)wBb(zlN1Skh#)M1#C;+F}uX(bvqNV^#SeF-+gtO zS8)Vx+n+xS%vze-rK-@Q)li^$nbB+RuSArm#-(wNsLd!en$4(BQRI+VtF?8nwr-;JH83 zCsCzJTr1eNt^wU&B2il42+IT@2LpiE^O8ZP@Y@tAOImj zyLPc4k1-pOYO;4_Y-6}IS9ad2+3GRzUZznYDNapFq(OOur|Dl;0vDvAKd zsy|F-n)>OmJ-T|`k52J&K4{f93{|d;t^&T^7}oxAo%*O}trMOG^SF;}N-!;AE)+2w zoJbk^2t z7vSiCaJU?k=6Q?K6RSR*^7bnQ!sLMdKJg(gv8~vwoc+p$*0gU@5Rur{lZgp^S$>ANU)Y@+Z`lUwDYV}9v zk+?Fq#bgJCf4TW!Qp5J-D$J^8(Lty@)Ps7-owtp?q+f;W44 z@|m2~Mb4E~V~1U&GvIvVtZdPBDQDh=LUrJh6vr*2eV+)hD`O~e!%S)#q;ec5Anj6l zGfKXh$~jAHydG;|>X9l!>to*)1#M>N0l<%{wA7Ykn(YLVcY34P1YVZMSH8V4?hS(t z&xh_}k<&|2A&9plXa@y-vMKs&*S)crSoN}y$6&~oP!J7-y+hVDftDT_F)ABSMVVzn zaKyGoV+p#HEa_!*FvfCmVE&jD-C#Ubka-HnJbba%r+3^nMwVhS0*nw(gJ-O(*S4YR zuFF9+w(nVS=ND2M($lyHQZP@(COe1eD5Bc$vdu%&YOmVC04YAwf1+J))oGD804;u2 z#yMLDmOQ3w!`FGP^fvcRw4i(q-uSkpt%?TrAbRS4=1p(9?_HaF`*jZN+L7NVE_RLq z@&;eBdtbCWH%)3#Yf7%lyR|`>{IealBDmXO0eArbJQ&LRnwsacyko`(2R|=_SuECx zY`fWYmv(&AY_t%2$0UL5{{Y@OLX8!Ho};MTL8zy#k37cdwRW8|XlT?uT30)rO@sp8 z;nptttkWvgnonKu>uVA?^2b9Zy>x4)$VyxkcC4Zioa{J0>9}iNy)SX7OM{{jPgP-) z&V7>F?Q`mqwbm;VzN+C)(T^@>YE45dyX~%&KEN!s+h95NF9vh<{hv;n?UZVlS^|RY zOA-O{_DL@8md#D4Ozm;INnKUg%roAc245Jn({ia>mxWaIvyT(y9Yboa(br1?x_XH! zLX56@^c?)M?PaxE)#kS^BpiSlKvbAyteB=X@jF5hKs}`>PKfzp5mse{H6+&-=l$}mA)z&S()vD#(a7f?(0JpMNv$Qq1d+fM1 zDl!9}N%H19bvoXJ)vR_}`_ihcOErts`Sgv`(|x_=lvySEp^ERixYPK!L%GWH^?%{q(d#7QirMtxelCxMPtw1n522Y5Z9m$|2RqwSA zt#UCq9>6%qz9T@IQB{k3{2t3lMauoJ%&{k?BIT$Nl51SE9|)aKcTKzWc6V)zdc+f-8PU@Ug%oOR){E`NSr~E{_ze7S(Jknc zsTWyGvs8$-J%ANuu${Q;!HKg@0+Z_P#z5yS?V7apRyXPC(>2z!9o7{i1KBbQEU#J$ zrVR&huEDrqd5;n7m+();UyDXavjYV~;DMhUO%<-MQfkxF-n$$r#xQbt1N&mEw%v1I zb&I7(v)1)12&?Q-&`m7*-8Q3ZYL>eh0}#P>k&ZYXGH?5-U7@6@J4k7})}*NQjm#Sa zcySk6yBbBT9;7*1n0llhxg(@yNp71?ZB^Y}jCQ#kZu9e=ztGP^bsD`Z>w7}srP77T z7LYr`;V+_VccTwr`Y(Q}--g>t)u-K+KuI3|0Cf5XW9bF8*Qf3kQ41Wi^2E-+WoYhB z%5Q?EosI&F9N|aF#LrJ?HCo$ir?{tFwdM6kXvYD--sDtX z1`ZVlIup|~$ofg?joM8Z&}ma;jzw*2KgRyZ?@ar1M}U-@ZPYifZOnMx(6Aoa^PO^4 zrmQvF?Y`1kT(_vJ?HzM9a@M!qoo{;VNUxEI=PQbBy@K3q%d2;EB9!psl3&IC}f zS#eyAta3`ATzjQ}HnUiumdC0A=L65mVNq>`=w&>BdX9o#%|)->Qum81MGLt)D*0wI zojabf=b47_|^ zbL`BEKs@A@&PxselZG2tPwNgF3OFa*DmSH-@3yMkS6#mz!ZWuX12Y>q-bGmpjBaC$ zpBX7y_lhpvSnAul{DNEID7BT-u51mJyFV0pW2eg|y^q9L2Xs?owxPLG;fY<9rj)bp z9XQ?bjEyy`MxZr;u0-Pjwvs%vEvc%zH0J*RRax8BMQo5I6~kJr!nd<(@&WjgfCeNm zA+T7CN$+2N!S=KRkfUin)8{73aLw>*7*>Ai_-2Te2UTZrWmZ_qwv}=RMkAz`->I!x ziCi2EbTYP`;Mn|-0^yH8Brkf{(lqG66~kq|>&$sdEq8LS-KjQU0$Fp6_{zQ+5eUN* zmOr9JJJFaR1p7vDH1=96Ye#tXrEa|2aL7>|j^u3y?UXuT43pplE^%>Htylou4E2=W zaCR^QJ4%6!k8H5OJ3$TNKs^ixYP+570{Xz8=$TV!2*mX{Cp-y$ zp_-&8oRZR@D8vS4MH%Qv7>U{f`n$O5-UeOSLT0cxvE{MS7afX<1LGdCJ}31+s0VAX zAe?8JdTX%O)&?Npg4yQ-tcr^Y`uc?Q@RHy?HQ}2XJC8x1As~yN2W?JWS2!d_CAC&n zs}>_D3=dyic*@aVd1g1^0N{}#%j#>lcW3~{K9jBAjT+88M#a_1oXWlJ$-3NwSj zJtctBC3arb-C(Dw-bQ{%F`*PHGp)h7&q;qiBt{)v$S?hj!;atqa1ZT`3lqdCVWF+(u!>$7*TjAl`g_aWKK z44tdx?Uts{2v=WQIV6+wOR)oMdX2cYI62@;7Cqmo&JFon0tkL%PxuD@856rr4g0*7G_o}gY6zt zr+CQ+oJ$9?z?-naPI(=D{%|d(rR?14f!%=IpKpY=ptIcW?95o_<7Y4?%Z_SQRvk#< zA;T#koVU6(7;JkPiz^oM128YUF3Jb6aU!zFIOELZ%d(7;``0|IA}wI;>JJNUD~!uFK%~`@0l*~q$bVVi1QZ83>6p&>fDf@&z1hg|KKNBhCgx{SxI6$j_Q9*U z8nDU&u-v1}dCCWNXJz0XeD;rIivZq-Amj`T=O3yCtzg4$4gtUeppedR3o?__B3ap; zma$er<#2JBlVL2#i`|lW0A#{cf(a|LB#g&t5pccYhunNm#fnxS6jA{>1h7syv57*@j^Rn~ZySQKpBw|#S4qs>-^~6G;0-%gzJq{*| ztWSa0u;$Ijc2}VA=f*0fdz=7Ceoj2ZsugYs8`*no}hJ=4OzpSX5SO0{+l zHe<$pPezM=roEtA2+r|g&U`uR-CJ@ag;5<%<-4%Dt${hq$2n#@*=Ic@B3H^qmVH;@i=_$m}koO7j}(nmUmTR zaz|OmzqJRh>Cs}KKY|(Sy5NX+PUfN_fDpUy2ARSbK|Mvad%kbCnPU{j?-IWuoWpS z*8t4rEsKrSdW|Ngs%vF6udXqic#k=HwToM*Uy4pnde1hRwq+R|I!c@0en2=Jb3FHi z?KryV^;hcDx2$*LrhG(S!q*`fX1w%Xrg_xXl_gFaF^R0)zyLQfz$PaTOL&`h`$#Ri z_BFU*0NCUAIPvzxicz%&*5bSs{YRk49A7{dCS^p zook=k7Sn#(1ys_Njx4dV#QB-ceI>8)p0dNAS0{<1R+NTt_cga<<&<%ljrAfqYu&6I z0zT?>$E4`xms{18R(4dqCnxa>s_w?!5TLqd0MvJBNW85~5u?@CH0!5NyH6 zvQdLJT#j=sTNP}R$Fx9_HXf%Qc$FoB^x*kM1_e$AeB=-a0D?TB5`<$9$nr9!ur~5B z(DjEw>W!zN21Z$Sk@=))(9kE_@y1yXBg+xGdXCDf-H^nQpB_Yx%4TbaA9BMzI*GSS zq}p_BSnnK@o-sLPb$YtvIyCDm39O>Lji46x3`T1j0HQ!$zqV?So)rKsIlW%B? zDjSy@SZCWSt8=Kf^MJS^M;;v~2|GJ)TY37%U0gV0oZ>rhWyjACiR4dP%1BEaV8%D}$0WztwT-Gnr-K93LZex>l|``vjdf2!N>jng4*$RQVZ8fK;i@c5S zPKQ}VbrPZe+^j(WaKLzj6Ju4sm9T;5D)!Xgp~++SM0{BLo!NGVJ5*o}n2E5Yv7M1r z0&saG0%U^qVEVqW6_2?itP0m+T?9^~tTa6tlWD*OS3JiH@UAw{J~Oqfe&T4THVUu77ed;$-Z-$Xm)V z2knO#_DL@HD6A>~4(#Wjo?5*%x}#%K5lW53=Nx+_@6c*{k$u%N)wk7fI^tc#)m05Z z6g7Il5-_>_5`dFHB&r}I$JZX|ZunEDL!;Dch0Y4ttyoY8u;k=Q*SXmg_jWU!VDW?P zfeP3p)p1>|l|OV(oYQ~7SF);J^`BPO7O-vMM}`cCp|p!)*xGd}ag`;Ddk5=_rkApf zL(yM(-Qk_d#?k(djL&|n+oIZPlEkr2u8RFq!B}S#LRi&s_+IwE)uw)&$AozkjB3Uk?*=*fp z)7Yl;Ey5l)0mRfS(H(tfSy}Eu!=*l`EAR7|>iOI#MtUw;6fJ|+7$<*!mN?gi`jRXY+J%%3SQZl6@BDRrZR-fm-$&;1dU zYN}r9ngjQ)ac6e;OnG_cTiaSEe(f4us@Tq?&@|-wr#ymjoJ^@j`f}|UP=nq_ApaP5{%{^lc3echF*+g7bBxSf|W41m7=d6I2685tnj5Il>zeB9)9OIr8xtyhyJ6Yd+O$Jb!7a9{GlBxMG4tmfduBV1k#Apv z8>s`4-mX|5V2y6*-nCmhSZeIl*{Z&(#Y{mfSlh-pIPjUBlA@%k#hZ5AR~SAd4-qXx zU)p!Iy03(43NNfkJP*w;cD1zwO z81g<54uZ;--BqhVycSXzVBqpLj-1HVTDP{<)M{Dl9=O!)Qhb$h;Rj6?{^jfV7Nm@u z+THb!kPpofX~|8AXMKLDEer!3A6Z9-x<<3P)7)*c+T1@QyXfA-`sKT3*Vbx#y8Z{K z*sJ#4HdPOh=5y=N+I1b;(&fh(VUd`VeQ9r`YtUUzt=hdwRjp3y>Q&*mF-J~rTI{F3 zTC=yjZb0?{7u@_CP^VhBR@}Hu1{mYVr^_jjQpN?82K!nNTR$k^O-by|{n|A;Emn*$ zLAK&B;f4uQ6pS~vjORqz;q3N$s1$LU*HoGG3#(XAVx9tvy7&sWnU9|R#9W>WjSilN0qu=Ibbxn4ymd#p_6ab|c z;(PHR+?uOWtvxkUN}gTYX@6@N^r0=&+811fgKSDGYzIDhJ_F7>9r`LY*6Othrmpo$ zE9k?3c=`E?OG|ic^i$E-)Bga=b$W4P9up2dQ|-*&Gi+Kt8T4yYsUuUWUg=ZSs=mDYx&uCg zq3oM=IzV-0kSD5%@plo|tlglc?9)=e@>O0HRe0ymC#jX!c7CT?t_GmdN;j^%&ihE@ zg&5#_W#-pO(B=BkuZql6Cc4uFn28OJ@rJ;2kiN5f;(cPvSWJT0C65Ma*XgRSQM0oe&0PtCSf)209z4DC zHudU$1XSDZ3X1lzC#M`n)RLo@000n=8DCLKb%L;UgX=GBY`57Te+B$Rc;$F==n?{857X1?s>R z9@CF0bKNJb^^#RRP^5M9KFATNx8XOI8^yqS+2RZaB}jUbVALO^srJ z)(nLpjt`7O1gtC7Y2~?J9QooQTJ>~MR*O%lv76x+F(F0*Z6BUxYeSY|$Q4FH=Yj5n z6tLE9X0nxTK{z0I{PJ4L%h=V|>SG`uD1}!`Sh~VZgaEl>ddewBM#|u?Lzu?2)@*G! zWv;`Fj~`@&Ce^guz;wn(Qz|Q|cE3^HI0Ou29y2Of0Ku4?d_V_`cB-}0*fi~JPR;8x zDcltKNloMmm5HRbcQzL-i9Z9^sx-Tvmae5;#9@o^jQeG5tlGdk0&}o&>W`K?Q>W6@ z^@=VQlDV*+6dw>g;;6Gv-m+;36(O5WA3C=ua z0DL!spJy@EA-39+4buZB#t_#@N_9S%6eP-LxHnON$T z{ZgmZ0D1dh39-(hfi4c>3vy#!S8XTYcIYS%cFU33N-FXOI-izf2pFyp4c8tL&r(zC zZr(^Glw@rtE~DMxk63@2aS~{^W+GX*BXk6S2$i#Ma#h*#J}Br9wgFG+REfHKnXtSEq%4z&uHA_ z4Y*{)f(&$?7qLN!jsf{Wh}7)RiWR0e0-r}GN#?YAU?4_ zJSx{EzY7(!sj)py4+8>GmkPeRmCiBLtkG?Hoh_ErWp(ba<1*m#N1Vt36stE1NdrHs zJDrzQcPK14RzDaF@fTfWyKG^!`OB;BDv0}nw;luE4L}Ik^*3iblO#%o*@YXrXW1H} zkwz2Nv4$9UNwuF)!P?Ygju)l}x?e#`T<(UzoMZw(2i|-n0t)^P?R}5m3PyjQb7l&SzC>V%>*%PxJG8R3sa=ik7~XKL?&&FJ!V^BJ1Dp=99CZx3dh71Ox@RroLGy)0 znFAbvgVi|bWd%UF7M-B3S9j)&0qY&nbYMnur!moXno(^(9IKwJP5?5rxfC)M$t{w^ z_(Z$+taE@59C5^bqMGXU-I$+8RMHoXkO?aIXn9~n*#C63UgijWTqe29wR70AdPK#dBuUAg$jtb)v>EA;c*g9@R38B_wMT;VGt0hxyfcSze+O`mG@ zDks%u<1*G)kN~tk22RnOM#g>E05Xxr0|PBhs;`@CETCWy49hXwS2eH%daQi?kt*!& zLvAd3=YavXp&+)*25fr)mE6^~%Ld>EHiP5mB)9_1I2au~{odILS-@fx61%cb>4ZT> zQa5ptl0A}fl_6AY>V1+1TWG)_H(xn5+1=V%oF`ql=a?5j)-o$(R=Fwx!NgUr#et|c z?xc>U6qahN#e;X5J`%NW76qh|&&R4cFfVhn*j?3qZ1A#df3>K=Oo*jNM%vj2JmhjE zny{=Cl_ReNAD#r%3t?42=czmcE^EqLi&T_2ZhHHr8@pP~Za{K(2VQVIj9|07pb7vg z;{>oA7*f=wYwFlm!@xenC_$_h1P~8jIKW$)fE!59138ti8DoA(#~Vzjl(^MXss>&B z5_%CMyaJ(ERX%4DpeY3cmSf;NBT<*U2Fl7hE-*T0%*oj9L2d}%cKH|r2^a^bSXrL& zi#NViKwQkeqrsE z&T=rBC*uyWB5c~oOnU4W9FCcSDl-!MhSBPfB}QD+LzZETCs0l!t+R7)twn3o0P~pay~rWj!mEOO zW0HrlZ0cP`NGBK)wOZZwNZd~cCKm!1ZqtFEAN^)Qv$DHJ{SO>9c?TK6Gw8Yva%(hQ z=94W`pSE{{B%kb`DnXv?g(Q=KH|RAw-3^S|b}BQ5!S!csIGnvJmRN7Bd#=>%N7w19 zrjt_#eawn5Mm&u3J*nue+I=0Goj7X+f8hb@a(KY;_RjwRVRp)Pjw&}*roBdXES?vB58g1Z13hMC)*w^>dkWbgz?e8A~Z6#0hNH%Al(&XOq-ode2CGAJ(qA z>uS@e^>-EI9(|aeQtHS!H557fsprcZ9p+Mzupf#!&mP$rIm6^*&Njrz1gF)mIZk}RfdGthIrhmr!+>(6bRIHQ zd&~ei_svaO6;ccLfN}}X%wuMVuEs|Vk-IoKmeX0?Ut=IVsZoz?t+ni3*gVP8t{>Md z5QFi0#ntMwr7elvNyr`&{o`y3A8^J`vM+ETV4cAD%{n3t%m-T(u6lD9+==Zv#+~b_ zGu{La?dOr4O+AyQLKj)AZM7o;iVw$c)g!xIPMF-`&4{5$^YEHeV(4mCty=7sz~ljm z%J$QwopxQC!>`vhtf^8KB!F?dnXg^ir%t#4rjs!I88M}+NNsMA+kfWs%1$Df??)!NmgcVrU72i5SGsb1&FAS#Tp z{m7j1;qL9cbJs_p_)!+CDF-sIZ>q)kB<68ywULNcEV<7ktkiWP&<-|^lN_3^oc$Ce zSCO6t4_TkG#z6-TX>;wRq4YUso=4chx z)&@2zU}vUt6pYSQLU)bqTw-YM!z~WTC}tZ=1Caj!Cxldr25TQU?-`B)mgy)|E0FFK zbOKbV7nLVz2dLzj;Y%)~HaG+KZay!*6+)t{wQ5R^ayZPbWM6WHMp8z7-sw7w9FuTx zat6~V+xFMJ+kwD5Vi4+$YWDmgobDI_VwqKb)}dUUcM*ve6sFKVC*~0 zakaWhp%yA{^&GIrQO7a&hpw@?&B3}5d}S8ZuDq>i8#n}xWvR7mEN)e8z~^|$9_dA! zA(y$VE*I9`bGXT}ma2hc*;A5!AnPi131@b@QngQt%sC_5=O;V&cX;kG_$h`k;5ZC;tFGg_QamW ztrobdm#a}xYjCU_j9^R+ZGZG?#Qy6z#CGd1=E5D-c8rdqS!!XDh<7I~#{xTdJG0o< zSa&a|xW*SVZCb1ALTM|=!Q&?qv{ZmCjjGtYyk@lU)+Lal_~7Hdo(ny z0>N_UcI;sD#wGhcqW9fUAYoW%cUYYz+e+7UX8H&qCNM!hAoPo%V&2)eO?BwD>HD?QwTqH$11BES8>y*SJF@i~6?Q#ohC(yA`y&Hi@HA!9 z+?sN5)*O{%`X-7O{28sM!#^f6r`1_Uj%=$|Pn*3Q$bPF6cp0Hf|JWOqRhNDPoWwC2@ z^%1xwyz(OS*45rn+qa-6yjK|jj|rVsGP`u`dM>k3eOe$2_lld3$sePxf;)p|D7p65 z&V$xD@je_(HfnFy?o=o!ExWp@IA3hFn<*y6vC%-}SefV9pVKaluYEdt=rz^@SzEUK zry!3E9~l10qLwV}sjoulrIfPn-aVe#iiFerA#%*`U^q?!=iBU!H8l#h>Q_#HA6CBe zC5Y+n5q*j7F8C!UH>LLK&#bm9j(wa-(CIa{QntG-bTi}aq+p+KiH4%%a295PYvh(( zAY6HSCS!H10t(sLIx?|g@A8Q$Y}ETuJ?7dwd}R>++&zuW2mj_)i$7&9q3{4Nc)`lh|+DRUYt>=yHeLJoUpIeKQyWu zO-|Oei>U`R;BMXzpOkKoPMVv0+fv6uxY`cYC(9%HBwMzd1AVbbA8NHn3+BA_F~3FE zt1#2oWuls&b@|DAI07;Bw9sl*vvOI>I3E|Dc#pc1W;^B`<6xg(oxUW9=Q?_{cBR!j zn#eusH&Nl&fgHywJ_>a`<5cYWWIn2}3daMirMjI*X(AS^Q(6oH7=qud%+I7B1gld; zqQ-ol<0oQr9Nl<&eI^=A*>>W)`ONNZ#(Gw-u5>A3WDo+;6JA zH9Bi`I>vXqB~S}6#QDZ*A5*N;CZ$rhu?EuWNoGFolNV&@sMPCLt!AZ>NjckwIhq?# zD5dBci)*5{B|#jYE<7al>D-;V_9^JA?JK=sQEBIJI8*QQm(|j}ovC_zQx>wQ+g%JW z548KG6>8KqTkLeHMhdfKiSq(lJW?ls28G-h6&Ztg@KR zPV0^rE7!Axx@~pJPM)Err5A8~ay_K`XP)$r(j7mex<{i)e*I<1hb1@T*_qh-qk3bZ z&{JlMvuaaQoUYBO-wU_E{we^I( zwv6X*K{D9Y2CB_9PJkaglNK(z`qgs6rS*3)=RWxrZ>Y7Er+BIAzmb^yM0_PO#lw;h zs-vg0$gfj%EW)dAsb8w0A~vL~X)e@VZo%|QscCZGdv_b^Rv>IGlHV+9cMGj{*z76Cs#^h%j!esKiIw#NDzPAW z=lUjxs-sKUW%c*W!xX0hhn%`iqKjIKF0pGuZ3F~do~NX>x)QqjsTWo)Z;piFQ{NSE zR11A}1+bio)7B^lOv+fnHA!RImosv98Bpz22}_z2Ry7tg3=n--w^}Px-k$N0ZC#Cy zeErhaQEJ%1RMrUJhah~jFdf|v9<_TL8%b}A=10CD&;vG=hCN0(^;ak7@RL;~^tM@z zh=d2nfbf}Dyj`dnfN`97N3|7fWo=5A#^M8dxE_Ak>`tiCJ!?~`Wp>6uBcE`Vy8NpJ zuA0=ieXG?@Jmu(q%%?&Pm1->3KL9IjMfUlbhNNAaao56KnpF{S4VEwfd|kaIj-*#e z?yK78?t#Jg%7$mSn^;r`;5ac%o2&{SBajX_gffd7mCsN{GEaesvbyru zFLVt5R7z>VnqIxRpGr!k`4Lto2FUxKiiG&J}lCLf~X`lg{JiE2_w}Dk}gu zRc|S%r@?C`!B?w*KqGT|poJ!&>8;$WwT3XKklgsmt*pNC?urv}F6+SOnUsCD&CJ9B z$OOl;R?HE1DxN@IK=;PFn1Htkh_^Ar15T`lF<1)tQg)C$1QC#*@Y*Z8|ZRZn%RE&;I}6-xt&vJA ze0On?7k$cEl@8?xAmbU3i({_EEKvA+Wi6$tv{t|d^Bl@|Xlsb5B_+c6w@yz{6eOrRMsiVPGcCH74OyuH$42!&Otcbid>X9CviP|gh~SEYYuvOK`XY>S#rpy#tzKGs3)wj zFd$5Bu&#I@bBJ1%ZBx4qj&tH05Q0_Qv@BrdI>n*U}>Z?^{f!L=5 z$t&KG+n6&ITn_7?wP$ zo(ylTO8v1(4a%JKK5=7f+p(<51M#u*$huSotzVYuj+xAbB#f5luRbzZu2?G_zGh1( zTDM?x;141Y&hh>XX|X{Yw+=IirsHuHfTtMeq|iyO#o9K$&WdsvVo|NE*IL(67J^F_ zIUgh{wcF}#Zh&xnrNf1;w+oi`jwO*h!@1FRX9ZV-&y0Zp5_dj3SqqP4X(XsmYn#k0T>i&8RoUDpi3T#<}|e>@`0i`=UqaqD0#gs`hK>|MZMbAk_?S+Rf! z20Za9a7P_r7G=3j&QHdcuxuk8Jh3LFU;|^kI^SnMU^11H9=26 zt&<|%Np@Bl+y*kzidvW=#jM0<)dX~l?#Fh0b`}=lJja}?E-M`6dUfDNjjo4vs!f3(9;geRebTJ9g;Gzd zc?9txD{vL-&O8obW9GobZu1AEA>oL%OQ0a&5KmuhO^0icyGrMv9VKvVbF>VeiVkI# zu-t7yx2{_d0;9XnL7q-CEG|K4VyeM&&|^GEO6;>B62NkO(sRo?SAmQXmYpK!jgimU42 zVqE3GyHr)ptB`Yy5#c7yAXjFdwbUhqGLT47{WI43H|Zl=yG^JeH-*Cif=JBqZo!m< z3=sGh;6<|qA(Yss9CMy#@yf<-GQPx>wxZClW7u)ObDn?po_Ep?#Z6iZ28}$y@!5|?9=wmJD*e_<$aTe zTsu0>&e-Sg-NN2W??eE3N-6b-CmEM&${Y|>`DRNI-IeagUyb8AwqFD8zFA>oh8*J~ znPos3K}?RkHgY9y*}o{HR(-HERjAEOjsPBU)r~gMv9_=|$vjSGIpa8%P!)$m?CCRc z_FcN40tT(Z#9$9NGL>mVH>d~-cQa?8_DodX^|3on)6{v+wvNQRLiJaY+q0AH6E@h? z(_W7q#o;)6kd^rlA|pzc-l^Tb8)+EFvO7zf^;M?apaWn7!gc7-jW&kI z$j_~wXPWIw9G!lq%!2QL6m=3~mo{6gmOQxXF!ok~wQf#Zen71gs~^=La%W%gI!LrD zZQMFB&n9i`3e6PNsLKMN*nGP5j?ma^)@p7e)eGKMPXh;}>6a4AbjCPKCd@U^EU+kT zMW`^u{9O4=v}r!LY8myVnX%DM2lff0N2sG!samd0tF+kLc1X zBn`?*=w%&d6nmO+=1+r$tMIJJf}-Z*~)b7sMTBC)73cjpWPP7Noydm*N_G`3==O?DzU7x zn%s=BUO@Ij{{VuuVQUumpSpG!nlu+BJC@3;xg1~;ITBmZXLGgsDjgQxE&J0LBVkf8 z`euDih$>3y7z@cHd}HmK^wu@Hs%fUOhiL?kLHQ;=(Wa_3%~BTuPaybAV|^>7p0Ux< zS*Gm%%ojaX->$X2K*QBR=Q-M|#-h7fkSm^YymRi8doOYrC?sKWOq=VkOIjP$zNC%C zPsKs{;~CV>`WW>vYe=%7$e;nAjqaH2R}7@^Pk=F?F&SV1Y=tGdW7#WLb%EY3jQPRG zNvO?L*J_2aFvR2#*^uLCR^XQKBNIlhuI<33LC39w&xEb3s=a&1!3r^j9R#SZqTTGQ z0H^_l+b^TnUsJh8?-7R9TSoP7criEAwT|lsIKa%XHKlcga^5ZBgY1&^Sd!FZ6u7kW^LpZS98GK z$@w6yWu_Fsym9=KzHB#UcET6InKojDs*4Awa#K7ZLW zTSK}FEF^=-;~9?lW35k40(Xmo!<@|RWu~R|iBK>=F(GVSkvp{&I2k^-vOfI*q0k#E zu^0kfTPyB9*?JR5#*}3gj;!pYku<)7uY`pf+HcYq;nlY1k1q+Ebh0_cmYWJ$VPxdkCy9bF>@*Di*!TWfoY(lg~T} zbX-_Sq+FzQY*btRsTY^C1bX}^g-1cMGwknOJj2!szV*H8oXYB1Zo$q6*4itC; zf)C3y)1*r@c3j5J@lFsT=Z|d0DYT`Q-dNkz9F9Snw5XNo8p^fCtJq-DppxgxOInlU zMw?4!snu!IJ()a&2d9rSS7>)C>iS9zD_#**&V6qm41AL<8jjP`T$ED!jXSBv(dre? zpZ3eW`s*q*v1=(TUtz%{`T54K({oB*4cfe~cV&&i*gRtwPho3pU|N*}c~QdT`AlZU zW%Viu2LqmSB-%DIv9oqT-MfME39Tl~*w)&WyP_@#T&@l!-$XR$H!|Ue1jw%1(a(4o zw+6Q(q-L(;s$1_%<{eNn9i(9X-Er`1nyS2gr&|nUKOjx&FRl0$d}Tv2}!Zt+m!@uML#cDcP~`chjw<69>;yPqt@QLTKHUfZ4te?x{WVr zrJ5ajYTXbJ)t%z6V9t6)Q%`b&-8fHGH@A34QU3t0lPwKh$!jJldmGlt>Ivt8GuGX; z(^^x!vc^$j1+fNM$2*6&`z5N{t7AA*Y51sHAZNsRnUe3dGgh`6H08J|Fki@#;Td}d z6@{dwU!5pVt}K&On0F9pA+wzQ%TvH zEv>9^d%Aj+lhetLJSQ5~wX^YYV`qrNrBhxjWp^C7L;17k7apC~W!JNIqgicLFw+y< zs|~gmBahsH-Osnbyc)G*?XJ?_sqJase47M(I)Dcl|fJ}8`?7#`iDx| ziixjI#|$%^nX;C)q*}B{4Yq-@?bs`r)$dbtu}8BnYp+}EC8{2|&T$yJDryRKKsM|Y z$>E2Ik5p$aJ_xMTjh`HrX7kAF8`+wE^24aqc7+-tQ9EjNF8<&oxmn$*CG5_+=ADFp7O;r~Xh?1AJ1?%Q5lxe3HwpuTOTTzol+xku-g zqe`C!3{KS^x%p;`6*ZNcY}6$TTbkJI01gKdUW+=h*y7?}O;G?JSV7?)1U)ze~Er*_o0Pw+ccbL}(U z`Zd_;*{bY{uc)z9J8l?KWs{zCKZf;V^k>m$?AD^*(bLs!j54GQu_vcKbJJ6!)9UXc z&}p)z%N!Qt+aYv@-9uk)uDh#HGjkFZeS&Q4)wfltvb1#4X-azbt`8rq&X@OQ_RRh3 ztuwc4v8ibnHC*jWIVFdQ_IPxeeIxXXLD}7zcfgUU%J*i*P+HUbte%mcl6Kc+_I{VU z(`nu6skpKEXY=XOe2dZzMg5_!OEnp;mQu(p1s55T^3J-^yt{8`*6THWptLTxQubG0 zthJB^N1wFJBC4NIS=&^#BW+-rU0t_BldHbacT6B-xEs3RK0UdJQ z`Ht$fr7v++HH4raP;gu2J}^{kEOkY$ptuAB!Tn}JX~ixp)g#p8ZX3AI$s*bripTaVY0o9wHy|vX) zB$C`8bd4I&&UF_fohqG;gN(K^1YoINvf{ScV-ZRd$v)_}*(CR9(%nLKHM(mz6T2!9 z1<5~j&D8s*eNCEmO(@dW-7?pMj#-cHkG@l1s(WCTe6t*t;VzZt#pL20clJM&<` z2XW)sB#UpNssKXHo86nM5)a85l&LHQLEYi!G|Kf-o&85sYrSOhs(o+ll+~58>z1mD0z%_F038h$R$q)9w5w$9?F0P6d>`MPMXoCJ?b2* z08V%ubb=DQ4I#4aZsW;s2`(vn0n-*hc*AmGZjUyx453CdgXbo@69$A_sBSi&&zKhO zS4(*}FbsoofzDc5+H7#ln_9v<#@o&Z^i1|qU}At*yQv|w8Kk1tOSas#BCo8)v5}sh z*cIH(e|v3#osT#?<}|uGTu>aSz$3%XW;GfDI^m0S#BE!aixo0A^2g2s(y_NJKmc{> zbLAbTv67==ZLBXFhsGvQqP0aPW&)Y#{eDY>% z5yN+Dn@^bM=7Vo{1+dua#Lc=ysa+r81y3cmj+pY2^jX!8#T%1&+Ft`6Qmi&zy0rxq z@DGgD{{Sa9SmMFm*24k%woFE`8{w8K1+5EmSCAmmww5*4#1Q#8BbBz4F!%X#h z#^7zRsS2umVpitbK^fh^fpE_Cf=1f=&sqJXe`KgYOX1GU;5RrkPQHq??1}J&e4u98 z&^9_uht&ht!1ByQsdI!XHuJzZlJ3eGPTqV#kyv8I`?hMwT=dMcEoE>NhxQ((P|a4d z%Y|VuimDWZ7|uLTnTvfwl?au9M@9oAm~E|aV^|`IUC67;ht2QfLwj)~mx8!m;m%6sH#w6jG=Wcm9@tK_pSXUXxj35JQ@}Qox zM|*XYD_F(puhmd-f#x779m?8S2IGx~zps7C_2c5Ep*3YO?0)|?baURK5cDeab zs-SQOlx~iJs4S?(LaAbL*V!hkbr$K36{y&Rx!crx%$qcgE@{-)YGe_UlDWY5O4p|! zYZbb-@NtukutvM$baF7h5Tstpgjc;oU}L8+MA9rvd1UoY>^~sl0jsv{`jS;Y%pM-; zZAyx*YVE+gcP*UYc|@^LGF7rq$?SmY?R_}3Q)hM`f=J|#D4OjhlmKy@u^eVmj{BL3 zIX*se$g9p+^y3o5UDCkrd+qohCRih|L^P;oJTdDg!9{9W9jrJ29AlpuWxP2dtijvB zetu}^sxb=6q`P3_9#FGwW7K6Td`ffk!5xvt?hX%zB>~@985myxWk>_=B(fLd1fG*Z z*HUTCjc(T`0RYK9*`1M*emUI3Bo3I8_OV1>qznUr(nU8;s`qW!Kp^zNJtZ|A*?&M0jQ>$z6G1GQ%Ar>~a9#>SKbq z7nww{n#Z-S&D}1D873(X+RI@~BIANcl(weGD7#n4oXUo4 zGV7o7+r-K+W;g_u2c)8VvKVuNjD`ms%@wW6^`kp3;gEXq5a^At0m$kxz%t20GmtDh zvyL+$TYO*}1gY}tG(8u)HlQk^zE}V_9P|P%rWCtp4Uvo1b_Nc<8nk zCo7I6JN8#*uL`G#>U37sWVB(_lgR|h+Cn;-!!bDy4genMG=+Nave(+c0HFBf_Rxg51Hi4g(0|v4_>3PqbrECH=6}J)R(n^Ltwhy*ZV2!~U1adaU zU0Nx|8pb@HIS1Pm8S{X}eetU78phv@;P82pkt%L9lU@~9uYr`pr3+&=;!niKPi&hk zCBvT+oM(e6>ppXkIq>2Jp7joiKsI;ia-~lKBKEPA8x(Ioa@tg9U=Zcp;}R22d&k`C zxE@v&RSMMLDGa``Ih9)o&cEfaLRMkbjQ9ZgzxY{PI>2~ z6qJ4(n(8Z72DGu96~W^k(Jad2)+NSe(!P<|RcJLr%TrNPSiFEpErZ}DrP0yrU29Qi zs%rtyLG1SXXUueZ>vWcm?eGT#j-*d_*&VZ{)oHu6q+H>Dz*zVWee=_g6Pk5!%ZIDc z!|i`Y92>PYT~-&?*rbv~@^-mzP-g)6nf6w=Yc$o;i$XA5ZLfwIJrA;Zj@$HSywP8% zuVr_FGhd&}GnWf{;9iNr?X966}k~?0!Z78 z`ExN^j#NAFI!`{G_JynywOsS#nP)p#)LBm+KdxT7SGhJ?8Ad%r`=b`fgS#yIoQ#kM zNiM0Xq8vYqDC;`fK-4)@Wfj?3D){jn&N0fd{S#Vh&1qN%a-ql`UUFHr#_GL4W!RSL z*EQ|2lNlo*5#lFPQ>bA=@WIOb&7EJWhReHRY5jZNnU%hDBB@sCwA&xX-?0t6FMX*>bx^ z)%|l4do^#nX12y z*c&IDiPmG$j&7%GSu~n!HsD!d+rZ;s@Sb|^=i^r7IX@H*0FKr>TX+TY<(~0^5#M=?g`_^GoYQNsQ5bR)$kRv3ibESe|N{LkUY#bkWU~V(>HOMcVcB{ zX1zt%-0apkX2w{VnZ0an7(jXAQ|^X(k2$H`YAltE=fWiA=??vB`aaKnO}lF<;QH9; zaW&aZx{I0h1*xex85#9QfR)gtv>?<2!D6a}a&grB{6^|~To+oxa-0)6+imFSB$KHc zja^k%pIh|mfN)*V7H^(kwCFX{UDqp{*+C;{3cksGF11a_=A|GXS1W;^Inb}O7hP?( z*Q{5)vI1Uq;QQp}<-J#znsi|7`}1Qq!mcX?Pq!m7bv3S|P}VvZX5a-l$(=g;B-f|S zmQ)-O>nj{}^Te*NMcvuo243tOp;Ml}`%LrAx65_a%?afSrv zcZ~F(2W?iFY(jhFay{V8^>%oB)ocZhPJMvH<4jq+J-qhRB}v>*h!Ot)YAWEH6}$rU zF-FS3ERVN5Z3CHMv5*$9n>~}z>Rt7vOLVD>2K zljAg5Vj5I~_T9%dV;fiBAk4K{W1Xv?e@G~qf?blIXvh>kD zox8nt%G-Gi2@j5fbM)`EOFE8Jfsy&d2iRGu3T_UB-~dKf9{z$doA0wox>T;VtP;Su z$p_eGM7`F6n^BZ7Y#(IR@Vic(Su8-S_X@o;=N2x=!=f=|LVq}nvfEi}TSASa)xzKb z?emDqtQJN)o5UV59GB_`aw@1R9)$CmQWni?D{izE_DUrHuq5D)atzz1ddbIVZd6i6 zb(@G&?f}GUw9lour@|8DZ@ZxG2j!Km zZDVHDbgX1C12b2`wDoD%Pw-P!qmyR*=g8tuUWZLHIJA|j@vxx#zAy~mr8L*Fm8p{K zkGFEiJ{VCkYF?{SwnVY*C)am;mOkj=t4nn?KCNGUV*zO!2=Y0LwTf#mzURBWOAU#t6KraSgd%dHjIJHv7cfgYg;aUMH-Gw+YrYbqpDrc2*VP{n6dz%U*FzCc00 zSYA5C3TzbjrCsVwdxyR`!L?fNgMe3nig=EjS=op(nw57uIqIjOn<~*JnHg`X?X<2? z)^HU2bJygW^j7by7HKP{lj@rQ&pyv=LRWtMMT@o3f9V~_U_F9McCsTz`m31JP;p2A zKd2k$5}K_gdTX{Sjl-$2v7eetS+D@v?%6;ETNx6pF79e}AXA;7k1r?-p$nm8VMtM) z5RwGm>!+haprWdFKIhvV z&dYbJeI#DJ+MF)!=PCz~ma()WLrT@~&xNahhP)2!`xFeHl+3KHejC?4=OI*d_f3|# zHYHl?Y^4I_SPc5!?+CDr_3DuBOEiyl-BrznHXn95`DJUbR<63UVXEGCu>b?+2e%S+ zD`uYJE_8C>GM=G_oW0tOVPAt>1H63f~zq*|7ewuhyH9bw=My*eKeKoC>EwwMJQ3Gi9^VFEJsBIPHXbYsZc(F;y z>Bc>?D6DAOt1f2*5WoT9DE-Mj^VMT-&#Tj))hv;n)2i(RMY%yOWrvq7g&!as%dVtq zkt(gM8isFKKIMmoPJg0OnyJlw$~)X}QyAd;M7^3T0JiI`6>1dv%6KQ-1aw}e>-5@% z)7S8tmZS#(5CM_rD0GQ+Evs!!nq^VyR?1z7^8|1NT{d1SdzWi>jkKE%So+f7Sd=&KW$%B5#(Z*O{&$=sMmMfDJKl7_zZlp<0V+q`r4~kuD;K#6&oD87s>M{ z!`va++MOje_kH1`Qtk2bHe=i5Bw8D@={5J1*ip9wWI*m|L6&3wvBwzvT zjY|#LTlGG+qZ)ThRZlin4j<2K#I%cSLxxr@@$LA7_077ruTQ5f%<7qf8p&vn@ykTv&a%9$&yg7;a#YG|&ugLATy$CuKm3$%saoM%{Ni}xc+W^R zH+C+$H1DdXQ(*N)DB)?V*hrgwBJ`fF&8odMcP)tQ5z4aysys11VcS}&@7Foe*ugh$ zUI-`JM9jAyk!;^u>T0`A+n-SPcTChLEn^i*nT|bC)z6gk;_K|C+})I8x1LG&c}rcY zYb?3-D!QiVg^u06+)L_HMNp-5O?`ydy2oG!8^{kS&)2J7od`;qX=2K7cmNz`KDIR` zqQzrfSqrf8*!D`%tkr1iYpV)WqbAnm@-dlBUW^ADwJUpV1&W_%Nqf}o7dpF8wYFAD zS~y|>Lw+?FoA^>nmG~;~pz9 zI$3s&?_Hve-3j%H{ZdZLd!yi1ocDGwsQdtUZ)iSJv<*Sk2Up92N3?sPX3;<{{pLX0 zt;Qn;DYq?(2^)b^;p8PjaJrN_ngKw>uI4!`M_wYWcDl7g-G(?AJx|Cc@D#F`Y7SP+t`1!yQ zl#1B{Htq>5z;&86Mz_;f-PK?YNKM@_j!(}63s%AQs}~vT9b;Q%X;nx9X9SLgz44&w z!J@TG93UZyILl1z?NdEvAJrs<2c!)L;ORvuuJ&7uSlP%(cZWIl zOu;+Siix$Ea(ToJwlXQPGMK=~$ISxDZFd%0`)ULL0O0(Q)m)9*Tl91u=|RA-Za&r` zE51}U*{7>+2HnhZ3uBWnOW18fii*ULS%(HnL|vw?>ebTqYwUkkl?N-&jG?!>t?RPA z)}E})cs@LN%}-U`o2hFxPASxY9WXL~vSHJV*_%i&VZklWC&pM)>th~RqGpen5pjB0kKXA%*qQRXO4J@64k4w>ztLZ89jOrbYZ5?TLA1) z>tJLoW}&ZL8Yg|4iOAc~n7WQCbtfQk_D6aV!;goPxs` znl2&q`AslItm4ZR`uPk@>dw~ypyc!&Vie16J*n$CsS3?(Nvy03+4fI=8l6TH4*&TVpub++zdE1XrnQ z?6lH~30QW_+ z!7CWE9xaZMq`G2;b6rkD9j74TO|&SeSRXDy%KqmE#wxWWlfwWrksz0+ak0q+DaH>B zeXz2?^`KQ@jtM8mF_~_?wq!i2#_Z4VXLv2N}mnP}HX&Fl7pSSjp5>68*{DwSEON{V|%~gWqK>r&XnP`pQNC zKEv&aH`YDMlj^806Kp+5eV^k{HgSdjd0M9Teyr|=W)Z$6m-m2BR zr#TW;nNv6*9~0v*RjWn2z%0OU2lT}v?^+!?vJKXK+XIk2p81;`fS4q3ID>9yEJ?xV zBYZ3Y3YD` zVie@4kgip>^NunE6?G4Loz?CmoRBl_i3Bo)R&&pXguS*6#3%#~Gmd@mr7E+w#T<@K z;xWgz6;@b2=T+Ou$@t#rG4B8XD(qf8v51PuhyWHh-4h6w_&GU6JouA>J;GAGp!a>z zv5CMZfg~}mzg2$N%e0(iVnyv^wQIWy00Y7mHts806beva06N8~adKF#hf*-uDg^we!221Ds2w z+O^>rmIRU2PcfFYOc!f{y+{KDdn7S7?y<4Q#sG2$oN+p9b~^f_KE79^fi*oMtCi?h zE(Xg>1#5qcek!k$KPnA)7wmOItFGVS>I#G}&9oUmQ1oRieR+YJP90`7LwK0wblWwa^tDV@ria^oQ`~@4N7;_y92w1ZTzEGfCCV3S!hwQt z81$B^<)+Q8QrTc^l1VxCK)$R}ssh+pf$>>-dnSKT6YXO!!3;qJ80JbIs~8tc3uRRF z+baFe%2;08`ZibMnH3s@73(nV>u^BMK=x)$T8lK-6GNzFIRqS^k|3>YGBdk(T=+<{ z2E(;^@)J@euVdK0lzbSg>oU$xK_|j@==85et{vKMO~-f+qk=jf4Ec3{z5|>eGG(fx zAYii+GwS`!={UA`>c^KaZjYe)MQ3I9hMw20-s{LDm&W8jn~%>tCF-=~H``E*aB&rK zy=%*{J~6qoRa!QTk8IIdrDe@*t9BE=Z~*iMFH@=-YSmK0rT8a45-QZbp%p+c;uy~^R^G1tB+}|?rnYQsIO&** zY%5?Xki*VJ{neGRt;w}{BOFHP=(6>$)(wVm)>wYz1Hck~De{jT1y}`&4-9peCW5&b z-aI@ES<~#WhWMcJ!d|^SE_WLWuZbfhPouYxVF=z>1w3GR%ew8Qk!S^o2Y5LkL^vJM z8%ZGG9Qb>s6^IApA3PZDc4(koa|BZC6lAYle3GYda7()r)DH;>sM@R*N|G^yQF0r{^pmW-7cNCkB-&)8Mw{es5OLl!{U8@>x6=83?)K%&a%6fa_yEXN7t%;?2>t;f) zkPhMU%&DU|UC&x8KEg@le4bJ?onD&lEsa&-OQRG!2w({Ii8fx^rmgH7%C5oSCaWsb zogKdlxsIhhT2&MkZ+Y^H(j8?~vRBPaa^pA{iPbwZYIOb1%Qw>M`QaOO-(iw<7gMEb z7S$BphGYY-I%Zn!G8R^(pbWX&yErimrz(ALMtVw$7FOyGJfjV)#DvQD<1vXytJ@>NGZt|r$^6U24; zO+|ER-P26H==Df%TOMXju9)=A-PYC9P-+~Scj*IMxq1L8Ng;eLRGI1wSvL2qb% zvqfEYF z`O8uenw2#@ZCaZ1!8yp9H10Kefkl^BRX-bhuF=wNuR^s^Z*{Gv`;*lPU3-BZdFk`a zx@%U3L-28ZrB2glAy}Tc=_cjuvRT~SMa1@b(`i=Ef>&nuzji@B!5WlSrmIC7ySvep zZ-^ZHvzcSqwphB3A9f3M$GTJvMQpdQ?`a1LEIWZ7KzIn{*JGP)edFrTcUoqBjfYh@ z0QiR0;nJZMLN1>OU3oqvk>CuzuJt-)?)1w;^YK`=eWSu;I)30OQW=}69Tav z9|>J5+(FjfDsJrWCs25QAQ#4H)SWh#%Ec=Bt9FrNU0xI96A<<5=Hpqc5~T76`JhWW z&86vdcI#@roE1*{l8Qk%@*YB3<*Qj`c4-~xU^eE~>yK}QQfO{XC3>4`tk-McF@IgY zNYO&or?UDSk`5h7$ra{4iVNHvG z!^|F&8dOb;=BIGIcJK$wIyyzwYIOGZ`kNk&z$GnX6(`s{F)!PCCDGemVUKfQ4n1t( zc;^u^^h=MZ)9AG)ObK7LSaH0K*zyC$A+K5p7OLLE$?ylwHEHSWn)M9z>NQV7uQo9? zu=W5aJZm)c(&J610`l2MatKxOBOI9BtI{=4F3~MJ+JrXxz^)6gy!c76MxyWwrL?Cu zTUf)l%4aF7vdexEb8lkY@qsoaw&Cqt6(1Zeey9WbV@b20Nvik(*JF%Hq;`1jp6AqDFznb1?&dC}38<|#7Lc7s9{{SgH zhuJ#**1c0ktU27wiU3g;*%}MAnvkNRiMS2V$j*2Z>Nn8(T@qENZ7F)d9m4vHpKdzK zjyt-EmFc>-WO_ZS?0r3U+g6^-&RCmItXHT0u{(NN>|&Q!ry|QRqiSJCwG)YIwd3&{frzbT%Ru{$GIt?xdzuA5MZyRFo@^;7)R&mSn8%FHKPV=i~2GU+$# z1q_V(RwTHk$=u%g?1MwQ95R zkc@%QdjR<-%3oUjqp3E9*?9!nb&ObN&z~7Bz3J1mX1h^!_GePF$bQAbAmV`n>? z-{A&|s*|iP&2}%{>Z|aidrV%JO=bF_T`UxgjEbyTMb zT5wPPy|I_;E=@Z>XLtH)Tmb(7Z2tfW?;cUJPI~GVtfh!7UUA`{mNJyoS*KvA7f;pL zE=ckO$O;)7?JV~ZxRN+uk~dSJ)M#kZ-L0bWRpW9aox8olUBp*IMNBiPvh-HrMR@g$ zZo0iK6xH3U7VDhwed1BCbEgQJbX~_Rag*)@^oE~Jwu5EwP|JiBvCDJfBez<2=>^1D zP+}|E!>Wwn4?ie;5%qMTu9hi-wC4b0smYVyS5@s>=~nO;VykhF^SJ9XFn26~FsXX3 zI(y)0@6>j0!9pOloBSbSLa&e>dGVE@E3Z!KOP^Oi6drw&70tSS^{Yqj@PP{88JX+3 z5ehIq#XN|TChKm4Ro&ZmnRLDL-n$f8l576}I054e?Y7fJcWN_Mm()Z)1K1^LI=VFW z>JrOp4feNi{;?ijb1NmCzy;L??BTvPe9TGLYrcost9P(2)iojIK*XvmYAs-k%lZAt zlTa2RPQE0T@$;3WSQ%S+RL>-Nd!^|a>r-`hGq6q8AmBI{%(bm*Q$lh=1F#$rGaTBd zqR;sqmsEu|fJZDmN3a=6+`gjX$x0SaxgQtZ?UQ?5Yq3|;VD5>dW;j(R;~x`<*Rb9y zt!qK4cO>n|$H~%Bne3&ldm6?E*3ahVD3HW=o0y)S7!jjqYu1(49rnHWAUiqd+Y75@ zVd@1;naq}uIWmkz9-6cO*2v^&)`7b@D~lEDejPZ?%b zu9dYFNMZ>Go{*x>>gI6GT6iLynRnLrwS#wgVpr2j+-cam6UfZk&xm z+3Pc&gUT^0)IOE(wAo^3Y8;S0Nt9J(mjE2@Y;amJ?7W)3F|9Hb6VyPhbXln^nEft&sdEgiouChY6 zbj+S4c+HnkR+O|V)GHhZ&TS;)ARj1|vis|2TS}^6D(>m>Ls53@JK1HIZrg@A_r-*y z+iSI8wM;7bs#x?sIF)*Zh`ryAFrfZ>(-&Og1E-fBFCb(N3D0TUt7qSg;uq3 zQ!9~!z!}6%$*=`t5tL--pPFjZ>wweLn`&gOi@G}U$G~UGB~`Al>|vW6fSy15M$Hv% zFG_`H19v4nN4`3W-5G5md!TWW*w4BwFlsSvm~}YDIXw88OEBe;0~80<#0?95wD*lm zl?6(ZjPQIVboP}6vQ?PivFVAOS%;{EfCnNroIkB?jlVLY>MAw@=XhoWk;Vs%ziQh~ zuUp>fXzpvkP=g*ENlhyJJXfgRwVxb(*!GyMz*IuE%PS{>yq;w5SF{xDW^t%@tO3AP z$tGPdQKfWHH@?&!uOw$A=iVZ+(eCcV?-{wH~lm z)j0?HV;PGVw^3(!<+JQQ*i~ozp_SNzdY+h*q_KsVuDrU80k@!pBGy(RP;NofC!qIu zLZ&DS)TgN#%(FGEZG}lfdhv+UTBVgDyExmDF^m~TkzJJOgX~efZpQ4X82vLDdaJd{ zhAMgyCeY%5@4I0nDbJ6VB2ce*7>`u-+Y_OBwCHTEy<%9d)$PgOj)NSCuKQ}8tDL@7 z$>az=(%7k4Q^Rr0rI}sfhEG6q;U2p^G-cPDFuT~UN%uf*Ct%^rnk>LXRiwGMU!ohePctV8AvZCe4>*XzFH;Th#GB-PfS9WYs zlgQ&RhH6PR5w!*sXJPB@iug-x2&kX|g2%>PsCN5M+S?9tKU|<^*vdFj;9*bG+1=so zM_QO1db|_tK2iEcw@u$)UDc@rX$PEx#s~yTdDIygXRc)nm!yPlky?};fOHKjF0P&cUx~3rGK0HD-D=N|w#9o;k_5D(t z`hp2!N4^zm7Mh3@t5_R&ay~D!+9fR1HJDLaf=){g35cgExfZ&WQbuqH83)QIbKDzn zW+*xV&`Pna0h)gR!vY(}c4 zrI;1i537Ya84+kp5CCC;jOP)rQeQ@e3TY}US1Q=ZJd@#pn=_eYs)w%e-D zs)MgyB}Hls-l!mPo_Uw4kqBY7&AgDqh^8ucir3?GGHwLmg-)0uMj$f%BO@qnhbz1l zIpD;o+^1+jM_GEQ?*S*A9+~9(rMsQiG7vWf&siW{RJm7mVo-RQ1xP`F0rT;eYJ!Ae zk6VWJOMq$wrs9K!IO0)Sta7DL>_xRxg&7o zu=0gW%q;I2Mn*|~t^Kh~IR>`d^1ziY11hM;MpGxaVOqWp)4=z^p0j8!q^5mvyb~Bz z8FmI>3H4OUA?;f$tpO&%;fP&bXyq2fu;6;j;q3Rxx$2>NrK!cEAe`ndkzuOa4$v#X zV0g}C4tGjQJq6zb1fGQW`=n`(rR=v=rmU*cGQ=N?o+U-0m(&Ot^Mw+E>rEoP;~TO- z;GcY&U9Mf9cxMhU3Fi@Iw-Wi_d{yfvs*QxA^28EU^oEqwwx}eG_@0uWXWL!~3QvGO z-x(DsYZN)!zHzJ*dn;H}FP9+7*5$(~WE^^+EE-Owl`^?&7@t(IhND7$z7v=fo@D_*)3vs z8yxica}!u%gyn$fdFwS*e|2$SwK4O?aTYISW-YO^;@rvN(^TXP6VC7 z2343~@CQKxO4XLjvhYgeXFkY)3w%-xYTWttn;>(8%&P=rl?QR^JfKvKqmlDVft5RC zGLU&W_6T8uh9HGK34vuQPAthD&k4}eX!n*pIl$U{2%P=E4_5%j)2OnC1qlRs9wu^@ z_E}@nYBVCs0#}X1^a5RbJppuY@TEfo?3{XgS*zq{1EB|`(w(nmmR3cF)W{s?gFM#^ z=SOLlE&l)q0gGS{IJFLR=9WMKIc_CiRxC~V^?}9+hr$CZ7vY!w<7bpT^<@yO&()|XhO&5j5Rg-IQ9eCHumlH#El`Hu|F_Jgzg{YBU8DMd$jJ|oIb zCoij9K5o%EeI++k`khl#@}bYa+9xC_w3Et_KS5Wt-!gqvG#e1)$NUPwc1?|xI{I+rc4Tyb%3x4lfIVQW*@#xljx zwFqfzmi*z=jxp?uDQyUsR_aMS?HSuGtJK%2df1~Sxcg2F>%^4yD7={O1&j%7pntaaq8fa@0YT7YrkK6Y5R{> z%{d^O3VPWS6_#yNlfxg1KTLtB0=7j%gVd8CX3Ib-2J8dQOmgXM*cO{eQg(R}#C=uP z^cQDUaC}cPO=*^`1GYXUc*nM8?zTQ#mIt7fI~`c0UU%J;@hCZ!H14U7e4%=UW6MD_ z=Eq~bQ$0aE%{m<+)L*itXZ1<-7jfcCbh2%lq`LK5)jlsw4rPUeC|ZHz<9fM_w^GS! z8Y}MIcq1fpDc)+Rt-}qK-SL3?s2eH0TSwi!wbm5nYTKR1-!orr$y-n@+gTg-`I)ap z*&3SrJ-bHjKJ62Z7+MsApOnn?+Jf~tT}fpit7q+Fz-Pv0S?ITZtJA4J0QfPfn+I`b zVn%(@YDU3jiqG?SsIs%_AD7ND$1bb()&-BPku|Sm+f|yhT{2ZwTVFZe!`2?i zzqfoJe|ccqbCTo_nlntaSwoBUr7ctHprF3*``O|p+OQwIEY16(dHJMP+MTGUWxC5> zO=tz{Mj-R-@tD<7JI1UYIUC0@@2aQZwbq&jTk(N=*m8ZLdPMBHw#ikp*WeOz0EskJ z3L|%KSY~F(Ab6Ro?NWq9%~vQL0`jJ3Hd{jq%JW&{p&6FbBMaSav`|>*3Y)Th!c>Ro z%N@^6!n+3{fx~-*y>w~~Yp>MTWx8i2OW4^2`{J6q?X{}88DBUygS9~SNztHF-CbiE zbCI;?<_C!{$zpWxsNCsMYU;=YABsn|OKICvs(RI#+n@@1pDajyX`@n3m2L7Tj2ubR z&~-K2s;Q{c{2v9?>>-$+5Ij%1K4-{kGGc7ShRNPAK=;Rf=Wfkf-uPxxU$TNm{4}40e<4#I=?>>s;w*r{aRRazOVV6AeLP;Oa`HtT}s}pUsIPo7uMf z6IHxgA0y(C!HvH9+fcRImMu8k6D^gseoE(qc5zoyXZ))G#I)$|~sGwF_Qn1Mz1C9{SH{wSz=B`$5Yn z^2v(1&^vq|EE&B_r>&3I6Q_M`hRUk3iY`kjJ$&Y!F1+b>eYBTVBB5J+Rz5MUc1`cQ zDrwcV8&>5OleZ0($GrGXfYLUJtxo#B^e!1IJIkr-gEI!Qo2<3%Hd|-L3ykFX{{UoK zSek2lv^E=9dc^v>N%PNyw`9|`eU)F?Y{LCUne7{E(rLyKfE`$mIn2`O^z~SeaoLPv zI_`)~Lu3SWMMIL+fHFOYtZ>;~Ryg=R`wyrbmT*5nl4EgOl&0$K8clt*(#@x(*LK|R zB>7}Rv+L8?hP_qWDv$46IPz!dFUpMdgwJ(DD2hOhOB1P)D*^icH_cb#(KI3x2U=7)b_TD zt!AN){_RG=yP)aN3CpKNs_llqRaTznrEYke{s+!uc5LHrbTzQ`} zG~0b$+E=8rQXQKlvWI6D zQfVdf#)_2gKs-qBoqojZdpl7o+SPX|3o?U)^T_OaJ5KF$YYhm&n+2`-r^}~V?>itp zDO*=kHKXG=uK=06IC)>eoU_J$CwezVn@y!!uBy5#3`=f1x_M6Zx?avYX6+4KH{Vr6 z3XxX@zp@%Cbh_Tqs=aE3)G!-UPDW0ASe^vgcl@T$`A)4gmD0Fc_omh(qTn7sIg=|k z)-vm=%c!aQJK+OKq^nK_;aOv2d$#lw&3Z-YU8~vcT{*2+kye~z9AIW+^zT~q(cO32 zddk(7G@k6AW+#QYwY{T8owW?wUe6saJeJ3Z85xrDJ3_YstgY&Zv=evRW@lfx-CX%y4_H46tMvmdwsIh18$D*gjrUO zg*(&KCEWQ8ex8#Kqfu4F71I@|2GF~YC(k}|_fFkf-?nx7?KOR#qNJeM9E$7p-Mlhl zFCE(1TQ!QIv5yS+#`ZE*mbUB72DA2|w(`y>#`Gl!Ny> zv&r+so09UzwQT0B6}i=Ds?q55_64V#EI?a(9~0#{_9)Zd==TOEudC8Cy|SBbI!o+D zViYBL1^u`(Mx8QEcC+2U+RKLBH71$2Wmp1?Sxd8#>Xzg4M(L8)uB$_$m24^=bB`QC z&ht&EWU}Tq;|^JVFR&Q9FI!5A>OgU~CppKNGNYlW)axh=ei=hO=X)psk&izpzTWMv zS8Lr)qgEa6McQm6V;;faCpMjwJ9mRB*#Q3lNSeDox^)_&qQa=FxM6d+j)3Hh37%YM zRpz&(XRKN*PB~&Wu5&uqYj#*xy)|LbY!sEqB#yrMTI)@2u$+pO6t(P!B$3pN4kk+l zHC*Pq9`6-!FjwR<^u5lrtYsH9H zX;nG@5_73M` zl>t~Dr_OKD(_ZwWQC)h2Wqs=%$L(1i4m@UEOEvng?XPDDxEt4%1H*}BOBu&_SDQd6 zcWoy)FtKdD%O1iS!|O3TapfC#avrqPt~eQO*(cxSEp8cHcZhckhUG(f*S`>vUefz@hN7`0Rv za-$5#;`!niU8i(T>Xu7$>m2bZQ16b#QqFtkbiHPPNO?Ddz9zRAw5A6I@Zv*L{U*_X1~a+@mJ zz?|WaA~bClqblIx>r={)0%BQEf>jPrjFoe__Mr-S!8yU3EYl~z*4q2xSoo+5pC1`n zO7{s;5dGT$;xm&oI`|y3oqR;fd&cWzM3- zZPuN^x`y%gM&F})%UNJbkf?Rt&Ozyj87K(l`_jq)$oI>+uGL%sm>48YEY9?4$H8(k zMo$5~lOYVG5{s4lpVtCHt}xl!cmvL8xj@ySpen8aIPjT+mI@uVf#Z&mx@N4}&h6eW zLKxtgbcK|EggV!k!(b82wagGGUE<8;m>Ht&Nz^SvPo_;hbyld|*WHnyT%R*A+TO6h z&JQF>-@5iWHa)GEa+%4`Q!T303qn<0B})8e@o1f{n=S`}ax>TFmum&C7#31U&O9Xs z)@+whG2lESRjcm8l~6}gd}6f+b&a*jIKj+gSyOj?+jn?eFmad#RljLx8HnU{9VLZ(>Rr|oFN`8Zm93l?BLuI84AG@^uTI&eo&kezk!2Cc~U_e}B#F;_0Th{6B>lU2koPpp0nkhzl$pbhb9mZXX*vjgxidP+c zq<1d3ecP4Ba5}rp!sx_ zFK*^?GEW7B(Q7qjhRv7(Y*N`KP}Utg-a-?AnUxh++`B8|Zzl(n0cjMv1M%=%baf88 zOEm)RI#?RAm~Xi!#7y-z)E(v+4snjZEP{>zVysslE!GI`Tm@i!Fhq51!n<)mVEM*J zNkH~>O17S%f$)J0>a6I1J22;rZ9d6rlkG&Ba(4g^h(747uH`r+d-;wwr5CBPmN*=y zai1gafi@{icG!W)2P$~PRdy;_QxY-`NFr9tLs_^2#PjPJH-!zlwqxKJj7E*CxNgA& zVCUT~t=LB%!S9S|{l6uLckmb;YDmei2i9}k+T}mqz1DyHBuG=bAWeUy7 zE#N%Ft*KphuXl4cc?TF6l2YcR>OfYk9hvcyYohgkXb6aajB?+)_QIF%0xw3!2|Wa$ zUC1`BTb!KpFH!F6BDPd5f?2x!kcKd@Y1YDls|;}XB;e3yby?43-gJ(Pw=PDVLw)F=maKMl)R01)AbHE-kfbB0~R#VUc z;T@0xc*$>=fD5hK>I1D&9sjz&Z*EGS;?(g>}OA$sG+RrWQ6p~`2C-EkXR zSao132P=>O;7e^sv+cks9OF351=cAQ+mo03j7l9%n*wpPanf4#uDbx?f#)FS5^7W| z5qC0YECw=Q`6AFUUIKZO7%po4UhNqQ;|4Fg!fqu(mc|dp$GTCrcd9Gish^B_IDlN< zxgZR5#vl&gSOYBk0VS+rr{ds#nN)XFd^f6kjAjuV><$DXCxxenH|sok(Qa*Bs(=*s~6!i6}V(o_fsO zJ(q69Ht(&25&`5NDBVrF%2uRfjQeH{4fL++Z^%-9G@CHCWgjAOxXx!uy=~Lcx@o)2 zkT-G%mofT#Yirb=zB7z1TU2i)Z1eCjimt7a>M`dtarLV&S6@+6eBLmdkIgGTUutzMvbHvhX?Do)CXMLz$Nn_qAP*)zq)+kY?)M`TM zODf}|@=5t8Y2C{9BBr-2wH#-u@tdvf4OXj1RXW?P)TW>O8oLv--7@O;2ioB)HTt_$ zV?Ox0>?oNGG3Ac3>RznxT@SN+Qdt#3kPBmyBFinbqE%2wT<(3@-SR^1O4zury@SO0 ziKkCtB^OPmR&^Z+&V8l?>UAloHLY4|wCbo7?B{tObYjA7$qpLMfqaLYZPeR#oow!( zyaeuia6QvL$`wXh&hx~B!HMiu>aNc42C!F;6Dec0cW+k=-Eur4%a+2El6rW?_bo$& zw!F48jP(+OS*q{WqCqabN%4(d(SL)43Q?D%R!X)#;w4&xa5mQc$R8C?KRmTTY$dBg zfjw-2laFkgi@F86jYvxCUs!$DiIz=1p_zSP<<8K|cm{6LQ>0si->NA~p>4n(zqy#% zFR%rzu}M5J7+E*$y7x1*DAj3duB}Nx2=zjo=jNFM6f5?z$AIyj8|u^7rmms_>P9zM zY$TKH5U%YeisIeD)iGbY;dAbZX<-T%Q>XFT9wDX{R}b0(@9=C8Or>?{>Va7=5|-=XJ4VO2E;dz65{^YcnO46kuh zHV#hq<33o8y3KBxO&Wq}tr*}d1M*}_>90y1Ej2E#v(~T<(0#Bh*HvbtcW5spdc`m? zj{pRAzU>{BExnCfQlUbywB+Z^N$pKVTC4Z#Gy_X(Anw+tz&=FG+O#@!Dt%DuFjt|H zP3dn}1sk;jg-DQ;( zWVLJnk%58j$eL!fEwtOGTE&c6MpmU?(qnJZ4J~?hy7d)mIk2MSuaKCls1Q^*77>ua zurckIp;1BwXR_co5sk>QRflU{k##Aevi*mv*f4YKGHuc8b&qqaJ;_i8%Nh6khnX`q zsy5;MX6jEnM0FM1gg&0bTYP0iC)W0X8rNgLbl9&|T6;zTRw!{<8-8Coqf(T03l6KD#D+I)DKUs-Fi08e(Kf!8>f zygO5Cvi|bRwD;wh6(kOz^~_>brhN^Ud@!!4@|ty1&&oPPqT8-ZnyOm+Rd+F=NC-Wk zMd_)w-ISu&LF?W(s!z&%AZw`5^syHmJMG#P4s+*|A+$}T(f91Nxo6sehdn%^H8fYD ze(9@Q->G!BDn4l`-;i~6km9z%TMt5fhm22=_^+eT->9a`>kPM6ayaAUkaRkWQq4{G zqg+R5W*sm44CCH7lCX?8!J@K*yhyG@35?8LfH}y0N&kV?Mz)cFJk=J;sl- z_1C(v-EgsRfcx>1CM(e_8z}ECvcZ+zUNh!b*%I3eB%r+@SZ%7>^!6M9S?lx62TFwZ zm9p$!2=SV8a!_tco> zw)7s!Hg|R-9UT_z9~#0=Pt7*#G@6|zp@zEAu#PPUA-uNv%2C_8%|4Xr7W`?5#sZEc z-MyDu?#-rEM%-yr>--NzUgJPEf}e6+%f8?&gp9&v#A8q%Z1@A zY!U5`RP;eG~w(Ku*8a_NJblb(Qa{ zk`U(%2U+fWH?b?PPE9*#tp+>09Dz5Cm%U55+B!Xp*;)keH2PFsKxGOr{H{Di-=(8h zq76sEHq?!t_U6DI%n5GHzN)kqwZ@v%Hq=T~sj&Hz<1_2Edi_nCY^t47mQ_mf2={P$ z%=O;A8`RXkr#tDW)wQ&WgY3=DkAQ^u4{YK3Yw1RVu{LP5y_u&sZNb&E@7{6YH~L4~ zItulPM!QR;p@M+AN*#A`*LEk!`(Ly)`mWStsMDodYM7B#UZ?>0WJ{@J%B8kmSm$f? zkF3c}G)6;Xh6;kJN*Pg5goU2u&(dpk7wWZD!g~GSD&Lc&py8A6P)Cd3;&qW8v9x-)i zQf^*}rr;~AY80zV1(tJRV))*8ZRo(6O7m%l}AN)^x$2PdSq zo4idk5;3Rf_A2E205NZ=C!<)>4MW$a(pW4DUi++Nz+W&TXs@$uvi|!}YNnO@TLsCn zyrxQ7^)?jUmwfU`97b7;qS;DUSQrH}>lq}iZX4OxTcultZ?e1B450GEz)I`1`ifK= zwC1k#um@eW$z{DwC%VHJ{wMfl}gagalDRMPb0flz7ArgnE>6DUk9G{9ko^rM=Myi^%V%QP1?c z4K?F7K6-gbs2pLG0*4GUf@afVXq!@Xx;k|iy;~|Oz>1HH5IUSmmFdvNb?WCbvh$c-h3pG%Ymt^p+SR@kDfcN=w*6>?PJ)1!*v}5 zPNLfEL>R-2?&AP^qY}!R!@kX^2GiY+zENS2joS}&rx^pBLN{Hg)@!OGOow9D1B6@! z1Br<$+fH$2N#h+1*{AJm!LTtar?dsJDqIpV(qg5Hf`Z1a7bSOeh_zo|?*36UzMxjb z(1~9I85!v!w-#xdyA-{u2X(ig=aOX=ORb@47FmtiC*la-x=)gI8i8+iNhSX8Jqh+k zQnqR|c746ghz8U={Gme|X)!Z%r6iFyLz zz(7e~4`fiH!)RL+hGW1dIghA00-AshNy@RteUK1#C~SJiuU?Y$Q(ekYRgI^Sj*~D{ zb~yD%zH1w5vaRmUxCQ&Z3i|}MkxOc_liiZa$EeQ+DXD6T?qwe=y}JuDmpq;no?}s! z=wKeSvZc-&#D7VP(4ASchsnq};~o*hwjsjVfJSkSOuiJ=`=#U75n7c*zZBYR;2u2u zpf?`{u{*X)8P^13C3F2Um#}2pu~pN8!|uJZmN7+AK^FVCi%i%;n*#V?!gpI>?t#MO z_`yzJ8yKh(P8cczaz1G))~5ZL#{j^(GLwt4s-TgdKPe|%4|KIup^-}NBP8Zj(_pK- zuyEXr_{!FnS7 zRei<YD!-aa>6*d-4z`Yoh|D=0E2w7MyTd-%L?NjecfR3_ zV0amR{aT@2Ww)2fIPiru&<&maz!dwH87&cx8LCFu4^nVsQ}vZHEAGg^C&2m3>MeKLSd3$mJS8fjoxOGn z4?edtwIcVsSdc%>=O$KFCHDHbBRx!Zlnmo~S$}3n~Cd3_k1nWwlivc}v(;aA=5k&2qY&QEqcd}IC)uRzmOEvL4`y_h09kZ>4h1o+6avf4|9R{_mL`lW!*(dUmDR906k%p7 zJRI{YW$wWe&I0=-5LJ^Uj!%ryP(-IJ$1TAGboPk1)CQ?W(YSCy_S)PhchXMF-I-aCf~-UNuLe!Z#N>nJ znKvR(`1@cy5*T3nrOu!m5rJZZj(j6&qD5mk0G}>p>kO%893_B(w;Y(tTTYiN+?F}r zpH%Q`96GHlf<0ek zAq4=eZwG%|=4hy;mSrj0xcH>?F-*0J>ndYYo$i`2Ul|$-S)GHpY z+~5e5^;ufP+`d5df&lg$p*}o#MjFbedRu5G1IIF=xD4f#Z5iMn2~w=t83sa@XZ3j} z%4w>t$!i4}Kr$HM{DM)LLWlK%Vegl@Q5b!#&=Hi#X}V&uLf+U&HH?D;pGq%IVEzZ#%iNZ_Bb?^+&!RXXDQLVU2P>{`#$6u7Af_8 zpoy=tw88G8*9R?EBOWn*pG~(^;IFKss+{|LCc3OIZFpe2S83-H!q(}Gt*Fe$gsZ8x+*!u>5j}zN(bz#f!aA+SSj|IEsg;u;TfzEU71{)c4g2dD)V%RmVbMnH*C4%Z7a<5Dt40fuZ`bD?CtyDHUr5yX_ zwb4CH9}1^UMyC7L%3PHQY{?%dgwLz2Z()MY_+hu63}&ZARa$h^Q*w~p6+ajmRkaX~ z>ek=W7~)CQZ$jHkjkSUH-w;kQ9HRB7x_v^|Q)KbUCPt+$d{{6G3}AIW(=w%ZJ7;f> zGvFoeosZN~bj@FW3#%^RGl4UUo4aHV%USz`@%PO~MQx0z8J^Dt2Qa@wevzw7g=p+} z%Y%=8BrmC%XrOy`wA9Fs|ZAEniU0pO{J3(_WcS+o(&Oxhq)X6IP40 zXsbx|j`D|KRkriId3z$;u8Sn~a(5}UNC!O#UbAAVGBCG!6^~U{9et)#P2DRamk4r6 z$0rhNuIIQ|RD`hlx%EL3q&HHw)lx9jhQJuFBy2Hv-Ko{EHj!g0lezli*)Oa`02btd zz*f&ObyV$PR@0WV0P=bdIT!I>yLJF6^=%`9xZ~dvYPmtSw0g>)S;sh<^)_j?Vw(22 z$4>|wF0PW*>T4pw{s?vXWZLOX6&>^UY%OYt%VPk3c-s=NY_CoV)OE@J^17_jk4}gsLLRV$I z(iKC%7J$bd`Bkp7eTPR$xe#Qj9OKStqf>1zT8jIs>>qZS3+{?WZu*3|eP4qzjmqdr zAo+>X)oXQns;SlXh5F4#mcLbZla@c}PBYtCMX75DSL0aTGrObL*>7Q4PL;J*8qn?x z0j&p^@tMkYtz&z~I;E!VQC7R)s=$!WNydBzBDH!uGWZ_IpJ|k^KAHQg>+Uv;kN_>8d`s+B)c6jb+m_u$?Ru~krHXJz zn-M5VY43eX725m-sk67+gW)lwwbmA8BXW!}JfD_o(NMarX|0;XTyPb46YLUeU24m| zk({mVdsph^n{nJgQSC9;Ufum-n<}x$!?w@@k>q@$^>r`8?W9*`?BE8*c&V~h607acjIU@`)qSrE<~y^Mk2mVB(O0M0-BgK>P+&0gX;H4dc8}{lx+}Gs+Z<#i zbt0O+bIj&wwCjbm(At$z>sGk~W$wYXOYvxB zBp+#()IEO(U01_hwRR3`6<{dw0LyQti8a@5W%pKWw{dRupK`PG$G6UG73%B8ue28T zRv4>)0lkAg2fAhWTczu82v)JR30#5lO?qK=zN@vGtyr+t!dG^A_jm}YK1S-bT5i!~ z73uVSoRti%Y6&mxEPDH=KAldRylXYpUuC4_MPwizQ17WtM|;{Da>~Pw?2Hd|+u1sO z1(?)pH71dgz#c<+2|7rwa_XK2iOfZj-a=bTrj_+&Q_%O8XQ>_tqNpu1=Y37N|VI+mEM=O)oY}Qw!bVhw$YC?q-st{2Axty)_q?6fQ zbyaJ1Rn8sOf#abe+a0|J?=lTRfc2=$H4WhQY z_KdJY%K7I#BJ|n~MYX?osHUoymu7vvdi&(*z3qDT(rBXguFL9TMMHTibF@YLBKyjG zCd`uA+<0%EXwh8sX)jb5;0Gj*ebSU&r4?CyvvYfz*@aCOd`tH@1xx%E6|)(OBqK={m>4NY2Sro>IIuaR$4?#D=7PMxWyofx+LWuCLP zFf;p+3WCRPl_vD;}X+!HlAGMlZnXnL*| zuy)I%89p4$)l-{m%DyhzXrD+p*c=Y}jn zC&XfDS}N0Nmh*94LH_^;TAoL=$+Jgkbd=qo)L(Kfbh*TqDyF~%btq7y*(w=r^wy@W9YW2@Gi$FQym9P< zYaG6rgCXv~8$icTIhP>efjPm*5UmrsV(s?AaI5_$H5X@hfsM^}7RKaYc=<`9%c-}# zTGw-psy62y;R_KQpwpr6M+`?flGZv|SxX7EcqgXcbZItSAaBN@*+x#~UJRk5Yw+vH z&g{)M*7aJQ?Kx*n%Y)b2W_$FvcS!bEu>j$ZjJq^puS?x-R&#zq4bn>`=$oz&VYdyI z@5a%%)|PhXNyBL&>U z3BWBh(@u)Uvo;Y@DPT_op8*PAeX_izxMpI^sxUoXoGa$n@<}0{)$62Z;L};%EYh|1djhS1Xt5&g9 zVFmy`B%e7aRqTqj3#Z3))($zxLn&3EakQx9oMV}7hhnG!MtZcJjY(TZ8=2v?$Z9T34d=vinzch=1t)hGtsnH&%~osBetJ zqRB4$n%6@Wt0`JiKH9|RaFS8Ej8lXKRE+q` zH`@zkmnwQ^uewhFD8}XMkbET-PVnX2F;o)P9hWdbZ9&(M396lG73?Uatz{1Gg?v6) zkk@5MEUM5;C?^JIt6dd)ExC~tbl?y$V<`^Su(r*IY2^6v(o)Laq|K|Bvjtc;NUSjH z(mw?4-O;C4r5bAywCiKKs;#bn!JiyT3oE6XrpuxAvsa1m`6gyBk?VpVq*0yxpns(N+iKvp^6 zjyy+%yF}D+M(W&THvo=guiFWC+Q4-y3IGnvYiu4T5*&i+7aMVmFB!y&lw;jEMf+xX zZ1fU}8!7=L^~Aa;D9m!BpgsioLghICtA+!{1GPwW&qFtMS*s3q^Njc(Y)!R_N;2WY z4cO=evYRap-QkYkTaO73YVN3jSSB|EM`Ov<*gRCt=u^tz6Jn= z)c0(?>nddfsm^i?z4ub-P7vd68=j^JN#AD5Dzvf_k)An>RAo*;!Q&Xo;!&LtHpN}1 zk8IJUsMoKcFenJgFVM$hyBYYyVcG%fAE~O^sHKa8-YH-_M>vt%6^ivv71qJKAg4kl zZ+CH4N!$i8C|ZK)v?u@`pmJsIRycAM6!FJVFQs1g=0#TDjsWACN2$vY{2sVIFd3vJ zU72cEAY>EwC(atJ{qcQDR^@;`q3JTCXN}B1(V7)>{qb72zZ_?Y0)po*Fr;{RnH>C5 z{;P68ntQ5(W#1N$5zc+`rqfm1&?DU7O{t^`!9=$w!_AbSKMmFfk1 zQnJ`(8^HUc=O(M`uIJox3h|MSVqTJ!rHUILx{I*09o&QMjV{+q9Pdu`ma<0d^PF^z zN2G^qi54ix8%7w#>OKw)WgUsfu1ATBW+Np0Q`6fgbFd7@Cuz^zpD6n%aZ2A~jkXhj z&6C7iT=!R9cpj-WE^+#@zEC zq^_$~j-a?wHlqW=u;v1-t&Y_rf;i)>F4I1m;FnYokO=YM%W3SO5-jgGkBZ>*GHVV) zS!08hJ9nPG*xyw^B@WWNl=KbKJ4aW0_Oj_f&Iw^N({<-@Us*>djDae~+gYB>Wb#a? z(XBRC&sypW)*FJpCmm)~a2M79I5`jF8miW%f$S$}$cwCHfM7PSf$@+#OS0>CUt@1R zeCOW_YD6sSw#D`ylDdlkwR@_2vOLTxz0pckqYf~5%nPl3BDK@`~wAgDl{iSU1%M9)JOy?M8JafRBZVs+aNzcai%2HKJZpb8Yk;H3AimYnc zNzMqt&y-vIY_A~8JG-86Nb-);DvMWs+>ypkF(^f6V`YIW<(x)$$Sqa@h#zuT;!{w? z>~aB=*yWT3Cp`oRwaePgv@T9?Ite>6bKwR?Q-i~MX21`3S9FHP92Lhhb{Mb=VjK=R z%w>hQV1O8Tb(2ekTQ?|j>$jf|Yzi%I;erC&M&s-dRs;}7GQbr9gB%_S9uq~{LtSFd z0=G={GA_2v7-MeTr^JsKtNuKpBbF^Qkd~9ntB>_O!hLLSxM+4C?U02d=O7Q$-=K( z)UaW(v(!dY+8DGm0=|Azox-|I-k#e{cK1cIMgb~(=3w}^irC<=UVZ*E75bxM3w@X( z6l#mIEPJlbM+d7cElZy6|&|P>94Wd(FN8bIjSQO>UZ%dn#I#a7RL8vE7ku zvEO}#*bfmdSUVG0V(fk?7+HFILdt+b5o;$WYK+ERsM8uis1$toa!ZIxQe ztOq?)$K5F9SwRcybtjTcy<+QEyG2$CGn3^vc6;fOSn6#d!1YuPBSzQTZ*aqZ#4i!hbS6hAh%{o(klmw)Dn^S2bHffyMrfT+) zb1*r`!jIPwwUf9axZ@)oaqWzzn%=YA?rS`{$LaMqY4rfIqFIfhoP1I4fu}*Iv1=NX z8jG~m{B5WYKI1LgJ)@%3XsY-wiR;y`EqfkG^2bbjrCIOO+D@CjVQQCc;{mzkfIKDj z`kh9vNLlHov^eEg)-yV`?zPieXBS(3p39oB835m4a;Foa+Fife9igSGO{}uZE3AE{ zy`UBlRrRI`6q{P&Veamg6l+Y=`z)uEtZT)-6tikS(uzpKu@3 zE2?{qhgAAAMHjCLQ(=APXB48hd2cF4RAxmqT+|l}W1}1mr$3rC4blgweRA8pIq5Yu zEa;_;m9r05dCowRhJY(I)a=0H);zKB;&e4SJAM~kwjsUyvtv-XBCs*mUTr5X*=o{R zMuXuGs-)?&gI#a-#`z_-SFLevwO%NxcomNiX_=H)sFYx7#~CCKDU-i#Md0h4t#zDX7p6UuZ+#b9>a7;F_AM&d03FToh#tW-ZPE6Armamh zzi8=5JCjg0`rbLgF>R>RrS@MLqN&c9Zu? zBKtc^*OOJ2Q%#hSwQW0adYs8M?zeq9Gt*|G%IvD0s=pcd!JR(K)Yqq`)jg?Q6^vrB zr#9H<+0YM^%(|NGdn;jitR6E;O1$KhD{U$6QR5IB09O0K} z`Q+DQ(#UDOwEGXn4T625Y1JC6+3+>m81*f=nEB#ebxr!GPuRirs=cLiP_`!Z+Pj#K zXz-r%u)QAa-pa7*UeAPYQL$}bKY!_p^nbCd9iEq4sTS%EOM(vLQYFJ|h}kb6T@r)$$2YPR0LAe$DQ z4v$E?HAB1HORn5x`2#WNJ3~cYtf14<)dE@VaB`!-11~kRc+aBpNp)}49iiH~)fQ>= zbm{7~NJg;-tMUcw^3N^X{kf>oooTYNr9c9`yGx%FfzU;IbLlr{+*?E0r&mFxw+G+N z&*9Uco<%C{ZED$nX}c{fz3D7QSak83=a~9xmm8O^%GCCk*J~8&bfNE33I-ulY4h)K#Q?O}jOA*;gejYOv4kBRoy|9UYgpnA$6^Os$13r)!@q zc*JTh4XV8!iqkKWwXOiifX_)K-CH^K`0fLFeR^vw60q*oqsbM~A*yC5gQ?wTjwiT`?MJZNlw0de#xu zh>FvtmRu_oi>$2rpmGngD(0ydaTNy117{>gX*)*k9-85#P@V4%=aY#f_Fen4>T9&! zXM0{BJgDF)n|>dqtFxC%G%PGX8vXbr`z5q#TQzpyV%fLWYKvocyu-Bh6>D6z^$jTl z71oGxiF@5AX|uNKD9{aCBMJ!a>nL%OdXwif(W&mVT7Ztqae^7Plb-?S7jwR)Q|pGN z%vQf^Ty$R!CN@f&3K@t4B>Q7t=KY$gH&V6VOA3k&>RGwz;Vr4MzqL}Tw-83_(c7P3 z&rEd8uXpgb?(~#3t}*LpoO_{lFQneBxnDR7;qu3Nc7b;3yFsoi-&BXxT;vA!lh+Yf zTdD0WUP~5W3Be!%Dn`;NXCkmh@9B-y-CuU~>1Ya!*;0Nm81s(F-CG%S+mpX6>;~h5 z^GoUVHEC;NG@bLX^-G^seYo?Au+>88-o3)ydgZwp_D!9mbt6uxLLqDdY$q&CpC$RW z_D5xFHQEa`wlyiGt+LH?Z5Z+g$K5jg68ma>LN#@(9=l3{JUk~h!rFsXOwIy~07=KZ z2;;2RcVeG}xUQjqg}C`5OWk)AYniK5X2R#hbdPOPTKK#w(^}wnV*r^-E?yK@TQK#S z#`gKkc8&FiscJ;-(MAYT0~xLLXI&KB+AX%C0xVs@OJsm%Q10OrxeMR{;7z0;s;0d* zS`J9Z81T$2(%GiaCZgH_T}L&xd^6Mt*`mcX(^0b9M|w^LARb4VGK$5t{nDrv@7_Vj zTw{YLReesCj^UBO>Q7&67J+7+t!F@Y1y%7rarmd;3sSbW*Kk1fa5K!BtN^igB)6&w zINRoB`#VLbxUo5_OsbD`vZ=bpG;X>2vW4hBq6ICo!FX%Pz1(MUX&(rv zcdE3D9E>9z<$ba(Z?`eBox7KS1}2*HZBmO|txUuKq-WJ5tOK*VGVN|wf`Y{xm@{Jo z%*xxfP@PrFWtl#&haPdaHmd7>F7s-7y9V5WKcb;4c_lfr*OtSk=i;n8l48G;Qs&-PUZoB zr@~8mEbdmSqouKHDxruBNaT$9%=mX=azOJV852i$U7Ds!OSYdNmwpNJ{PKwPi)})# z%h6OH(=Vewsna!KEe!8dk(6$6$Ml%)(6>!>$og6hRRjyyEY0FfNvM=kNX7{OnQr(U zInu3F))}{N>fA=UuKE($3LV|I5rrN&{)sjB+uSzx3&GaHjj*X&R}g|SThy{cHkUw9IaB%{43j6V6 z0^M*tV>_Eo0>xC?P5>Qb*+P66S_ukUXc_XC!BW{F_O1a_j6ln|oMBgm>PHd1_B85- zwX>Y$b@xa{3R@d+PB2WUb5`)9k~t&715(RgwM9Tw9uN+(HX{Sb+0VrCm&+9{_BxKM z$HtYb7V2w4%-KG8fqLn-)Mj5_V&#YKM9{UZS`PBX&4lp1IP;RrP`gmS2xV0ss*fLJ z%!hDhP{o&no{`+_m!y>z_lnz(LDm)4%;K?1?kaFem(@0(xKhr>&)k84CVCyaz`(J` zwgmUcgVd-8JQLFqnqBtTm6Z*-fW|#2^1bK{K1UbT0FYcp}{40JNc7KTP*4i0d7e6WbqX$|Rfy~L6{C3JQXai}0|{;#d!BA2n-1g_kUJ+i32qk5#1(1X%$)9J6a`)hs7 zwJG6FaScYJZ4_zh+WcgKzOo$j%xu$~5rzXX9wR0)x5|~-gXUwM%iPCNUf0i2;V6`w z70Wt=UU}+e7EEqVLIKG>F;=m6ZGet)JY=nkl@(+qiQu0I;0+)tUD+GB5EWq9H)IDR zkYyg-z=u{R!^&x@y9YULxQH$;vX?4Cox_kvSf*A`RIc0|!^}q#_f~D(99D7d z5f5vZ%YZ=hl`2Z**Sv2~^Xl~Zqe-#pHaSwex}K&W6=BMOj+mFLY9q6$b=p83Fk-@0 z-ozoAgWZ$H2O>~qKqTf%DmKs$-0_dmAZ=H{JCBrT+SNOyZM3Nbf^#ELYgv0f;uQ18 z639s7Xv-WDd?1)2!^Tu}$5;qbT<4L`S*KNfx`sz$_F5O$AaQ}x0k=}kT7@d3aVLW# zPpoQI&g|`HLtCD?Q`AY{vi3%jwz|v?>@nvqc#H1x9PR^Y>N-nNPkUfQBxk2GR<~PF zFRTk=9)9^y%C!_!uB~5uNWd&HwE4+YQnx*r$Q%ScA{pF*9RSO99uim~^=ooea#}%E zRkI~FlA|mej7X}U_QTwO2=g(Ps?l2nW({Bi)?T730cl;$$>)Ir^}^Kv zGN>eg3CDyPt5+(+C2}`QC5*_%g?-rd$mxg?r`mGXoFE?JWY>1vO_bZQkYRlP05n=w zY&%)@kMoQTHr9pfAfg<|BsGqt*>MOxnUEb+`mK@e97>gcSg;I8&IBuRpaKRwL6oVu z@7m(L3}Yk4S8|%Rv2eig#}d{N$EsIw&M^SIj!4JmfE63TQR6>vTl& z-; zx|&~3p0?YU%=L|;EZCHQ?_$~I;qpU7iuan_3}Euy0qvD=ZBWf%Jn%e3uBOEcTGX85 z40F~rEvpEw5e-fO`05DEyE3kgLMSfh4V5?pz~(B2q@#<21_RY2&PRK1b`TO!a0i5I z(Rb?8tkZlQ!ktAHVRBtqTI?~{?91&Ct(EF!Vlq!T9KdZpsxIPAF^Gjyv}-II z4p^TF(6FwDPHJ^M^@G+e&Iht&8K@9|d7S;pi>wQ79rLpj)b)x*2gSk@xStOhZLZj` zz8gI=%wy8EoLON5+1C*V1&-fX4u(`cY2KmQ&s#i<@+Fe-r_?Q!xjPO)979V+BqG052Y> zg)3QCEO6ZhBU?LC>+cf|2qVif_g`(G2M3OkVB}z)eB*0JEHHEIlB_QW9D|uohp#?U zX141Mh-^Rz7~o9pX7}c`{Sk^~)|AH`2=`(!TR0m*8R-2P%-2~<>q4wM#3MQKofOkoXL`H(klFr;!tpiT(qp$0wl(fsHxR=d9+LWV zYL?l;fsyTo8jRWEI&{^+sJVF|g` zZHvr37QDgdH2&*CW>94e~s-xsD4$6IpcXnBDXmSJ&9&*JBWhM&iS#moV?%v|7@|JH9Z^ zdG^8+KC62vbKI_rszwOju<*$CO;<2Z?A@g!Pt|J&lkYHuo%D9udYww@EK4oZrBtUy zUI`JJEnjq?*aFx0DmX3dge8+^^-a}{UY6RduCZ0jd&=1eY!7_OouRI(_PwsOxjwTV zr`ZTh;nr<)>2(jU;RjE9Q&s)n#vyP*=gwu)J)6B%8+UXqj(xC%viF6Zo4aC%T|!%9 z)osttYGA|VnJ8*@Ts4}9r~#2$u1mL(@(_e$)){oIU7C%q?K-{&$)<9++erzu4-!nS ztra!ymoQos@)5&tZysR@CH?+Y*Y0x=)ah@_S90mWKNW#&30gF&tbyw`Gn^`~8U0X% z)?FFKO3|pQ{>;>^j8y>TRV@#XnkLI%UiR4fab~5?OXnY&5ShmB9%agFE>r8*c7~G8 zIW83G_^!7hl{41@J6EaH_JyL}*SsxwC4Ee1*aRUglcm>FcdS=Ssnh%kG`49e6>i+u zsQY6d08fCI(A}cbSZ*5yob9En-UrVJOUo*AX_~z~RIVH({%Uh~z?B9DAU@*Dxgdkp|I*mnZYi!(b&OrbPXYQ!6*aW_{INCVOAth=Qb*)); z(~pCf7{VV3vi)irX-d-;sQAotlL$+ucS_R=?bRihJ6OAic%gH<*d+F=Q>xb8Z3t*3 zu(Son0P}<-ldji&G|gb{#Xa)5X5@w(5$uoD_d0ETcWLTJLN|9=EUJ8o@q{9EThO$1 zvv#Lc=Fm`v&UtRMTA+xktPYUA>uvCT=seS#Nme=_|KT>r&jP`%X=V04V3I zUZUH3?S}DSAGzpZ3BO%4{{W|JE~e)@mv{=ha6ANxbmh>M!E9$9Bijf^WbP>zDYmfn zfWtX)f_>9bZAPCV?HaaXAA55SiaiuD^RoT{>H$w^A$%>xEj+Q^zq{Wg&yH;B^`62u;RNmRGo` zO!$m(HtBVgQLC!cr`#&e6-NcUGv~}98r(ZpT~j;iotYZ7W0DwSnQH9`O^UUtC+?4w zAuLKlqFIqx+}Yw=QA^Qjs@$Uvs|ZQHx?ObGzfjtis94)8L9{3x1XFCviqx@$BeV^> zO8R9(sI8FNyO%yOJ>x2nGP&}EB$sn*X0Db;+N3gu@+5O30f^2=v~V*BO3A>bMUkz1 zF!1C>t)W!yP8zoSn_n1I7@VLfkcvx!s8S zqcmRnRkXH^U4Z-NIfNi2i!C|eG8)T@_uQJ-y>yh-O$)L&UyC25=gd}-GjKQk^#pZAXSyd z!?*#{5QL~UZY}G9pEDgvrmt1hSfGu?e4z*tYgVj#fXX~#_UD}Qo{)s7l0aa%!C5TD zla|OmK!hY0(}7zHRY3`YRG4cm@AU=yt(%TOgd|@@NDNr3Z5;?ES=6xHtgFX|kI4v1 zD_T3&iEV%e}OsTfu0ee$=rd3#u+xjD!K&Jc|z%RyrR zwXQScp0ZNBU}Q5f0aSRC2u9aOY7MU8btDF?V;ScjQFT>SfwN+u>bty8lp!1FYpJ(s zwAI%|i+`y6IO@tr^hN4*E2*&q5_Sv>3}z6L6vOtas)8MVrMHuAtZyDcGQ60xM0Xvgc$9#=fU39y3DLYtgIMsI7PBeP@OQcz$?7O0b`|t*t{~d=D5xAYCL5RA$6E z1dNFbTUSZ7xl_jnp@bx@LiUWV>i`{m=AAvIY*A9K^~pAQk8B|nRrhM`a_?F)`S|;# zR+VR9y+F@cLIdg3kgn`PqPEuD*dY6)>MXNKdDzwgV)bRlL?JUS>e;Bws_stFV`tgH zl*_ARf?KA1p$Vo;WhDzLKRjowkyEpp>rL(kNI3k^gj=YxZjm@cx03@-N@r z&nKeWIiu7?({~t1L&wutD|AX-0EU)S5(%l93Ss^Vhh0Q~6v^I)W9 z?PO=;#l&yuXzTTcNl@%>QFS|4hrbV!;z9zVOmcE}|4sAFZT#DK`1rT+2?+4-+$Ftxmyq!817Z>)QmO~k)Km{BDId|ZF+QSYp#zQx zPgocqmi0lsT2L4lA z9A?lhG8|kooSRM%JqUCQ7w7K<`p<=na|@uC;0_^>?LZ2;bqfa<2M_Ny(YaZ0}#>vL&N`t4xC%Kf9U`+pOFFN z-2&m^;R1ZTbsP6Kz}j16xBwA&01*$ZvTy6SFYZ2I7P7X94^F81F(N#Q50JAb>hY73 zRYdPo&doH42p0fBhD!#L2VFgul&zZa(?sUBpf?>+y3Mca=6%HfXe;qJJU2i-nGPq~ zCS~NwwD)x@8EW@p_-tA+HZ_}t%bO1V<#BZjZetsAfV69jZa6VFMKNIgf>bVuuO6Of z&s0QeN_SQ1(|EQYsjersA0$q}l8)``P!@^6#DI39X?Df$wx;Q)J;xt8R_4bKm-WlA zSB!5qKIs+=hs_keMa+G_ze?LrN8}LaFnyidQk8QUb7kN3&3OznrkBJ3e!SUvmLRy@ zdGPKu^F#G7J4nKb_tJYUil4t6Iy{Lo=rRNSxsXBdJm_#k#n0 zA$_TJMRxUgb^IJqy>Z7wVSP&nKgA}K+WU5XbLgZev2|Q2_kkf?`z1`5f#c_*;9AE> z1wlmLYJbMU){*>e6zwh17$asTV1oka!y0qHzv{UD;<+0(;t$S$w|&}bi;~}r3YOz+)=zF$=at;0OA$C^scPS`&@sF~fn<$bG` zCSM_>zSNnO5rY=-jiG)js{w3>6DpIkB_fm?wdonn$=}n#podX7dug7VG}GIEMqDg% z`e4ar<&I9(COifPJotBTPuM>=Z+5yc>XAE-nH!x?6&`7SlmEGZJZGTgyWeNmIoG|i z*a>wuI`I#h5`TFLua)x)T6%u0F%rmu)q=rK6PLx!d5uBVoJ%Em>N;6nRt3%8}exn1$?bV;QK!5+-yA z0Oxa*{&^Hr*4p01O`CzsN^ z+5l$)4r1@O73~y*@qyq)j6e& z>%I#XMygn7XTOeRci_Ql(CT?kD|!TmL~UhgTe^F2vp6jO0fs&tvg~`KfvSfNwXwPL zNyiqYHRWT@oFnqSvl)aY`y`xszZo1bJ4({viiHuwvQfuceN3jE#mZFkED5W>eFFmr z1K)aS>U5Bey9}|!p7e4+K&xeJX{DU!(X;d7*+O zjOLo6vb7^Y7i>OxnkvaK3#||*UoLasF}mPy-)%VElTnIjTHIZ?%xcL+IR%z6WN5zz zMkiHX&11&q1{>H8mJhnHLvmuN-~NT)4@oxb^RX@7=FpjQz3r9&Bsma}>d<1Lu@{uf z@Q%dtmP)4&x_iWhHvn3SZE9w#jW)E;VskO#@#+*xMz}?Q82n;#*tZ z|E?~yxcaXD`-Wk=G@DzSmQrq#vmEhKVdGXlG~lH)Kf;h4DraRR%e)CwEx&0mU%t2f;Wk~x?cORX4hKT52Aki1)jJ)1HP^`;&(KK}*j z)p^GxJhEB%G(V{1^|q{Q1vUscDZ+=hv|tRcEcEWPBmx3@zoV?IwU^a{kTxTKial}r zpa+#l&$mdd1KGESmXfcFOMSx*aQXjxm`?Ln-`o3-!mH#dzz%z=Hy}N^|Ef`XeVUtq z(3RD;R_7e_Ql||~QYIUDnt_o2Vt8IqzDA2A`ag~lXf|?2k3F@Is?!gjU7;tNydRbl zOSUh|%_D~0gg;}X?P@GB@QvW57M4RqRWntcw>kWnd#e6~1kvK9Gk}$RKGZJ>uO_ew zJZR?Lcf0`+`^k+Qay*|g&o7^F5;ggFsL@)a(8D3tF(l;&df6 zNN;A+A_5~#P~R-AUobZ3TpMj{h)XTnxO<|~c@?wl%VD`^ChrKB02OITE|sFsk%JKsasWuJ#yoShi9z<-)K=bc~yOM7!(>4$rsG+HiX0Q--qx zkrUu>(V+iU6p9M46+@=d3dGgrSFi`0sgfdp%sYI(dkQ!=`~0q@6*-s|SPpJ5?Oc15 zU-~+4)%4A`Wx{44VmvUoj&uEA1e)=`h}0yG8ohexH#m#}7u1!M7n*o&h|zJf;t{o5 zsc_)3+Pe<>DHV+Sy_}|xi}ahz(_@=Xy*pFyFwPw#c6IXEs4-T&eqm?Z@IO<&j0vtAen>+pq1qn0yjf;LUBwp4J}WwU4Ivhv5x z6}HWVldPM+?*@%PuX~%t_ZTwPZ$KDWhuQ{1NX^EhnOeWl>NPM|_B&adZHToQK}WsdG#THL!ZIJbcR-V3sw%Q}tKIJf~F4%X-TT@PZj+)=O|l-@1MS&*#Y z^_zn%)REYKMBjx!r^%un%PZRC@^U;we>faB2Bu4AImJiSpB22EsKhd(o)xi5sekkxyD})E;Luq zI(r?QPqYe5$}9EwChFqT?zhYfCm+W{p4D90ZZEXg+<+2E&wHoZf&ndOXE~xO_bcbM zKPsC>-g?-Jz?C5Aptl!2jH))(YjQ8I{O;`k`N-7SIMd}mgaQtFA1eNTqeHSK62q6M zJFi=cHV}QT@0xl0d5u+%J}(5neM8fJz85kSw9}=>NB5a?o z|2MVbc+N~iDtQC?-@uoa`!e2S4ldMqI;G@Q!Oi$UY)Ob9TqT3q`OyCc1lbHa^SS{c zhhM?U(y98U+sHDdgDyv^bQwKW{qI4w>Grx9M2i^#k(bOBqW4DRSo zKQe)z@V~+LY+*0xCIPpZd9_5T;#WDc8rwKzvwX#%D(r~|OLgaPC$FP1oG6BHqZyi( z22lL|f$S{*y)Yxs)u2(Woq#|c!=dH(-}jb$-w);2?~NUv%`m`~Do33S!Lhm;TkED_ z=?)R-5v`xj7U=E5?Ewu4c{w<;Iy>?=x#ZcM&Li`9i@Ge*%9@Ibt+6;Bh3Nj@$_EE& zdkl;WbWochOKvI4!ru#Fdy?)R4Xe_AN9X;ea^~v;bz~+PD2>AEEe|sMlrGRsZR)pLKYh`{V(ECo$p(z!ZMaDcaQucw8SS(PBi=O`%Bk0g;jp%kS4^X zIkxxm7uU5b(U_z%SSxiOhU4;6b=du!zoH0U+Fe%no*ziYm`{K4X9Q|vpRzWF+1hc| z=XqH1@-^-)NxT@C3=oOnBq00rpe8U3e*Iv>&+-QJ19bz+91Z$zD5&pe>{1&NUS1dX z;XU%8Mb+oON=mm5U;0kVKi9ee-L)SBFE}{X=Bfl1>+Ek?+^xeE@6wrU=U@TBJh}6* z^F!!`T|d#g({Xv}yM7-D%_o1burM*ODYov^$TNUrhXH&)!+oY1W2Kcg0JUFKH>sE& z*(j;htr)w@>Gy*+SY~BCct`>8&~I{4Y0&nN_xSOaB_{#bMplY6(1>b#eL{c6MCuP# z!=fOAvK>90jMLsDsYh@yq#+X+qQBs$n^UgL74?qE_oIBB-_|`m>n}9z5<2dQt5B}4 zY#^*lZdUnpK(^0YM}H-iywS}=v2rJ_+Hysr;2*3XKiFPM*KT3U89sMA%<|y(H`jWL z8W8+iiBEV3IyqBp+Bj?8&6JzRo?pm+i>ZHU`LmXa!XhCgN!)ahfQ5;OTvGyYne^AK zIXc%wA`mr6_-IE%U6)kKKPV>BT)M=>gFE!6nr^vsIdi2``kO9A`mXEcBbra`tP2S` zZQZ3_-FfBO{-PG6e~|B}L8 z-@xF|-PTm9R*v@L_G<-(B`@=dwXC9>V7%O5y8sg;lB%m#r$$F~zTmmNC6|0Pl?f)!5q zr{&@HqYDbvi!{@+X8bMCa?BUm5RP?W298df7%CbcXES1ALq2CI#rf%~C#VsZieeKd zCwqH|yW%k_Dcf24k6L`*%;YyUm(Cf@nc~w-t+7uHnLo#fo{zhT6`&DT2Ib0_oU#nd>gw2aI|1!d|OKld~4vWl{dUGKcMUtWiAaIL8O%TNj+(3Tj?D{^SwUQss zZ$S1ZDd38NW7M3!{g*9#^h^RxZ}%Wae`_f$8hitC@_XIX+PmFf>!&!3R`G*+(7&yT z^H2&YJ2~}rAolceA8J!d-_EFASBN%31z62()xRO<9*XsjwG29^yG$H#uIZbenL)fk z*M&BUh$bg=3IBR0wFKrp6d%2KX+7VGrM>N3g*zE;eMZ!VJITH&O|=)=>e7F@0it|OV*96~Th`6grHY2OH;m|t|40M~PTCrM1KNLZ16rY2oE~~{B{Dv@ z;M~kn>uva&-#4J&=Jk8K%uKBoKa%V*utWA-WcE0RPcdp^v!rtn{O#49cniKON#-)CcRdJp{_S&msz zk&|Db#% z_wDpcjGxEg;L_+wFnjom56kszyP`&p!>z}>nxZ8*+r@O^oE{T}@Z!+j zSUavR5&7-Y#EUde;-8yHP~M}Lr0y7Zj5UqLP6Cp^IIKJ_pRv3IL~fvFV?^Ie*Ia~o zLf?suOz~C`HAvGZ|G8Y$aSy%bmmAR9v>Q!7Yb^ZN(!4kYAG`TJ5Y`3U+HnJ-Xaj6B z`UdpfSY!dbpdTo{k!ddeChNW-W?@Qf$F5XpJ0huDfgQw$fJTFtJ5ksXC@xfF|&0;I|kSXx|T1S?>txT+8D2 z;qjhZ^|#a$8LYoA+mvgWHxn&VG|0o0R%)AX742}nD*KcDarS9Hk>Hk; z?B#{goHM{b@*qU7gXKg^+n@Dg+>jZIxHuquMpB{Hk+XDjA-|eMhBBR_$l)-L^&hUM z8EHox^jdZDZSkc(;F%`c0={edOBUA+*Rpy1an9?iQ%4R@y?Oa=pzl1~n$_?m(n5f?1m_)q| zY3t~x4__S%8#H_Ll@Pub@WYjL2qM0Ava49AsJ;PJJI}3M=++q4d$)uiwW&zjikSJWd9QGHglkXCK?{?-+;pECjuAXmkkyP zVEgJF1zAZHrUqPxF!1Jm#_JGJW;n*ZK5Xq%<7N*>1&*0|ox^qv3$sfa9qo&fc5t7( z6DW-T!6LaVT)c2$wb1Xn0$bS2bD6u3q5^8AQ12zKZhk3!O6&97t81a7E%?7l*k^z- z)?tFi>MzC<{P?bY-89UaM`Dz-+vdI6O7I7Njk#<$;Rku&fU*iYijRjfuY#~yOd^I; zj@H@Irr%kZ53oEQMZH9&1i~b~7LPvpQ6f-Zpjky!d!9$kDt_KX*MlXqY2X zF5!4yVmox`9Ccn$fyBC^CXPRImk#s6l8Af=hBz38Y%Lgh=GRY*VdqYb0g036uwSE? z3ulDa+w|Y#?9Iv)&Q2JyDgwq2W`A^-2rWsK)btC-jFns$G+}G?iw`%wHh~!TB~RLi z8X`C9FRa>TB;4}jCnntJvf|4gUH6wC4!#+mvOv_({%m$){{eS&-42?COa(@%r&{Kt zlPc@^#{^2ktD38a!tQ=eAXZY4b-e+-6~C~XuUOwIy8(qBqOZIVSF;Wi#N$}G{$?e` zM(3QF+tGnB(_*U<65cd)N3ai03tCfhvBw%$S>>hr1=#zd;K{Lg1B0O$9=TH2Uy7qz z0H=@ZEn`+J9{cCoGK^Qu^fDHqv_QU$1 zG^7_>?f>=2qIv2D{f8yE|C_tBwvk-eBsypxa|41FG6vOo%RZ3Ax)|SpzG+kWSo*mF&QixMqDs--?e%7aO92!J{SDWTTPA2USbw@- zWMZ7kC1P_G_v=O3a=cufVCLx%?M7RUOTqYD1=c}aV$9SvC8X~aP48Un9MJXJey>IK zv!i3ZV^Gr~1J>wsba*&XKQys=3cuGm6dg-J>)W(>ZZm_LmPqE9%~EX?nL!!-}DGAx}KD>!QX)wJKur)x-O>V$OO<_27Fu7oEC`JIjpDh5%S z!`m(TegTHwvl6x9rR*wnz~B_RwfjM(W65>30v=LYm8 zfGSrto%jNAzGfJ#zZ@bQi*5$;(Z1ltpLZtqP6z|viJr)QvZJ-^m$5&}KN2Q65h zz$v)-*5*ElQ4v#0OqEt3=kg0(3_hKces(4;;vLqan3jzy8)ov?e_PpA${M`0&#I0ZkphQ65Ui_!%QV?+kkuwVm_BPE)@das=0FCa-+q;%}~vU#XO0^HF|P z^!*UY?i|OWNl+jE7R<1==dfgO0&DL2C3M83zYwkO?N=FE=w2hhJFlnAR@LlQGAZ#m zJj_zjE30Zswy3u9XR4M(p|11n`Nu<3^9p3P^IWoTJBF)qeFZgF*fX~@h!FYc(@L}O)&UHhJlIMs4FGe%2iY>ia zg`+!IE=tZ}Bd{PUfO~}35N+dQNXPxjkMOYf;g4_ z-VZz_pqqB(i4CwQs8g)lGk=-N=&TR2nMzRKes&MNbm3g>?_4Xbv^8XR9FwSJvaz70 z8EZLZFnL6-c}(5)ivJ;z8A;mdYu)NHC+lv#y@ExFgyPz2VPyd@5@7bf(I` zWB$EuoN!_=L@S7pLu+Cg7(P_Y?kH`K8c&H34;JbwrdQ47IC+h~TBh@;O|8scUsyzL<8s9y5RSr-IysD`M{Sted1kEg8`6Rd^6R83y-Z$HZ)MVDz; zuVlh=>$J6;Mmfiv2)|*ufc;+cKJXFQ8dXQHjUNeL^uwPO;gAi>nFI)9WABw*CUmwH z%+*O*8m<`lCVz+|_FR@lgv-L5vrc@jkry^HQw7(2Z6$&M;@EEj{COmH+%kh~%AKti za=k+V^SRs0^>Q~L;9Z5o<$B?3K`j8v2k7WF!>{q20XY&_-1mh z?40vVCp4@S{jip%A3bn@0Xs$Xr?S4jzO4>!BC;KF|wMV z^mrmHr?RJP|8?)2=<2d81#H2v_(B9*d2jPFq31#r+tvn@gP94^v(?jSrtR*w#z;CO zVJ*_moo6hAO82>OFqJL=*Ok3I2TW^58fQlSl4sD17LKV(m#b?4E*zmbb8%%EZ@ex@ zq?8<9J;)xoqjdbQch#5xAVGhD$Sjf6;7hAx$A7=N{+x$xzabF$7cI$D;lI#^095^h|KK$4Me65pgl;6f zd6-ed-&1mDa|rHHEjRElCL)HG6sMv(I;I+77CSGGUH%0W|8S_z{BFxwG7H`#!+4nu z3)}6q?=k@yP`f`9M>92g)-5g@Avw9PIrnk#0$QEucf2{GekFU4LP13 z|HVv?n0B}Ub^ayZ?QOxlZJNz?Jx|L__**c1@w~FYhN{+I{RT8~B%dUFtIR1_{QY}> z!L`3Un5aQq%a>ecr&^$}6cd)fU0Qp_p(t;8m_%AXk?nkzKtH#44e=Eq|BI^7S~;7oA2Pl%oUn25L6>-3Jkd@S}l;yH5?# zD}8uQv1NjiQ_9YXVT$0`{C zVonQ*73lcun%=4-o24!9pkyJDmD|yt@uTjD(wgnT31@;UAK>i=)8(%3M4Kx6prx^V z)~=S1$sZ;RIJ_xdHZSQu@8D{>3IbM00S>LINC=hX(P=gy12Xrg7tBQAVE|>XMbAej zOabDdbMHKvZoU629YdlnkLFAPm_X05TyWveIEZlEY45rQIR>KEn6H?Mg21Bt9UY6% z^?#YA%e&x&hz)bP0dd*A`YhMM7$d~a6WyiJ^ijTBG$_SUJMb%fZ@}mVbTokPD)^)Z zDpFWp4?kb4+#jGT*!C<%UmNE*fxM%g$&`#m3iy4OffVz+sA%t5=#KyD zjg}wzKR3np)o*3!=l8$1_ozsZG2Qri1422;b1hV`VqzDL7?Xu_t!AyK-iK%pI2keS zp2zk<=}}iVAnmi~Vo7VXf_#HUU2}5s9h>r8*3->O8ZUvduW&vhqLh1yP0|Jks){LU z+YjS~?E#BNZ5U`HN{&p!3?*eN<|I!DJl~pAS`@z$euO??v2CGHrRBe5zX26k&tEBH zirX-0OTgavrpO%4Lj6VH5o-B)6PUYi#z5_j6^*@bhm{(h>feCW`#-Sgp8~!_>RrL> ze4ywTdYiR2*R???AvvnjOD+JO9rS~BM6?1)`8aWUX=~Ed)OF%uBv(Bhi~$=zpj5T*Y1etI+<1 z?c3B8fA%eOV2?$7;9o380j~lc%O8D_XF~MdPSH`Xfa`~mZupq0>Z{e>&^|pMHQ;QLHhYhG%RL81G zTmKk9U#r;X9VXTenU-G0!90}(@Htd789%HhdBuD^jH+!t55EDS3Eiq0(DW`^y^&w4 zt72;^*iFVB!BwR#+M>LJ5-7O+EN57*VQsxU`bXT*teXB+>E-^4s*WcCk75hVtK~6( zRsRtnh)ui!X&J7hSi5jB2=ZGb)U3ofXe@4b^95qzc5`)prj{!y#H^2^ z{XAFPZO8623!%Da50mAxz$c3ju3tLbDX=zoA2kkR7|BQp+<6utgWdTF@U#!EB zC5Ra@_(15h{rbIdEcJKwtNAoPf55-zFNg%$e-|ARpfsgZTYYzx;|o|p@u>y3Kr*0P zqI|ehAA4mD?ESGRi zQFzSlL5p0P+C~IZY2NUg?Q@ z@f|Ta=hp#nA>_n_WXbV7FR*7mE^zCgvimPoDVe%f43O8SV@PQ{k8}|p%ld1^r2U0W)*3o(X^CYDS6Ojr7{T$dbbm&Oi}%zBZ&g2x&Ybyvv&T$kKH z8t{Kq<_Cphf}(i#Sd}}!r(FnpRJvSn`x%}Zq@GrH92*{1?w0=rO&3X>n#gFo*1F?< z!F_K0KeG}4%BCg#D+u2w=CDI(o6(`4HSn$!#_H~TU}z^F#j|^1Yi-=oJq7dsb1pSL z`MbRo7ujSS!`6W-E%_FfW&5oMBC(%j6-ggb%_;0f|8<{SQs9|4JW*>?OXB-_EOo#L z^)6iZSdMD8`?50n!iRQe_1dj>1`trDowEAv5W{)nPwUnPF$A-NV8p20EH-ACM6*r1 zbVBHA^y3|BTp40XsLGEsVbOEaMr<=}Ukal%|0XQx;g7}L2A?M}@>83;9|AdOqXZjQ zE4%(gtUZO?qIKv(9h&Mf*sZvHBp-})Me#fWxg+nSCr1(K67>-ZVMXA!pCl8cdU1tZ zygssC3)>}LJQSGB3>*JJr?9-#ouMNxyC6=M!!7rVl*n3dfd3zUERYlfd##!-? zA+I`$((0sCl<5EqZQ9(K$&i>;k-+);;hLQ{1BEHk9yuE7-mktIGo^aK^;0&k?-6oA zSSFM#@|H+;9Ho*q--LMMs4)SU~N1$f=ed%!Rvh% zw1<>>(7m#&wO2VtF5Pu+M7q+yS=*=H#jjX=F_!AWR;N@-oR3q zFi4z0=&c7;k9xnA!J1Hib(#<+>&p&pW5#C7-Gk00a$%P5a`sNU1?q#mUFg~tYrR;n zq~`WPqbfvZM~h^yuy`oq3zo8PMWoj`u7lld0{vyG;@GC;LkAV^(0(`MJ!z)G1kKQTEo@{Z1J#fo<1ZrA)Sor<{sUU>m9BX&2<}g?wA%b5eACY3l;%7MKa) zA~oPmakh$lhLcPq{XMOj+;t{|%KDZ>aEP1G2R7^yYaQFuUxuV}NLYa$^N+M}Mj8iblY~VeFr6pczrR?3+8kh*{7f2hh(p zddu0+Rc9CWDkxF>v+rUC;i%5o^_hEnFL9@j~* zW+5o+S>#Y$22NaTcL%}skEuhgjBne6=c9!36kQT1#oi=TgM<}(ToR$a$}_Ayj-;KL z{W*2*Wv-9wG%6yQwNqruK2;&qyKKos9wu|sYLG>^M0XY^y1dC@Q-(0>MNH-NBr}Ud znkf$Fuv&{m>af^HbrzF_DlFG zR>11KD5lU(H(&+iLdadT0BkU29^d(#!ocON8TFT;pLqED;&~+=|D6ACImr_e%%@BHkEiRi@&y6wYssE_Em2Yy!F<@jsy0s( zl1w;SGL?=kd`j9JJsF{(9W+0{L^50H&VG5&UEoaiA?nE?q69ZkEN)R+30pyq!`~t#!+}B#foc z0jBu9S@}WYAlpUms`!Y?Ahl8}ydNqvIg#k!NIy}nPXFS<6~V#y?ssJkSa3B^wO7s-pyy@)r(; zTDlK0gPW7@LDRcH{ldlWG43eW-7f)xmV~23c;yfxOpHFHDn?uV{Zmdk3g^#clsJo0 z$gSv~6g79c+GSpTlOr`-^ZteHe^O9$)R5u$l3@y|_#?fv88<{YbHTpB*SR@2^d96+ z6t}_gOGB`hv3)ZxML2KrLb{Qz0RhCgeJ|CXpiH+2m<*2{=;n{R10me7g%m{%PDyvi z8c!?TGo&O{MpnWxah`b zo>Zmv_d4jUr)D2H;w#wj+b0tXG1d7(Wp@b@1%1;q^Y|detm5RWVnlQ_9NI(l%oek- z>Z6vyc;2TROr2AfVK(NRq}H_Q{2WN4=np^N*6pP2N0ustAPc3675} zCm!kiWu`hWBe7mfRG3%F!mlm$R{YL)&riY}X{~0S`%0mu2@Wbh$@X5T89*_j!jO4- zYelAkhmGV*$w=!_!A`p*!Ji#Z8p<|w1C@*iACirm(ZhsebPV6R#N@PU8G~iqC2LH4 zXui%%*?aWgmr_4&{D#le_z2!pX3skAHLS+9iLr zQ|>HEm5hAT!8!U_@Dl{es-{0q=59&KO&j+#K@eB^$rmf}q`pp3r9M3yt0AF$n=&&R zGmXba32Z=XRYXU860+V= z`?7(D(7|pM4gEDy4_0=fItQsOazEANp2P&LYI8;VM{JI>b`^OzAK8=52q`^SrwS-u z-Lh+Z>dHO?$EBdX-(9v9dgR%MkWwwN9k@*#knn6U!*fJhV#%->iLS9$ElPB8jCX2J z_B&m2orx%=5)|TjZM(!-HrxMW$)QT7(9AhTJ2|vq-acHD4Lq38IB6geAAzloVT)7) z+GH-Mfl3`;pTwsa+hieqb<`aJa-h=&MVadL2|$?dHVXYb(pDmO=dV+s5UXWwNUS#E zNs!3Idc~`|KZyhhHt%i)t4w)TntUGGf7tdr&eh1PSahDrt&XtpyU*)hqjE;{W zWL5y0;`lq-?f&#g3&&kJI@_%ro3STy~tvkvMx4N z4Se2$!!Fheyoe4?cTt)WI%NSHPIVWNL{4?WBzE(36`4Mf1UsW%gqFo4Q$dzU@ANf? zq%oNR71WFnKiP(QHNxG|U8!ahgh%;NNe_SWjTvr%kQ z9RW@Ht0$SAHVi58G8z6g8_fKX5FF2O&xkfw8) zJ$HuIqBuBnyBwKYhyF^_srHSYnZh^@XFq{Xa7(ykd`S(Ldu~kyq@r|7IeqXPQfIaA&fkh>K3VW}*>O4;Rt5G6|NSMhueas(0$1;@j8tiiuHL*CdWQ z*Ta}qBT>}r$<|y`i8V{kg!mRx8rWz7DSOtUy$oJ0G9e?W0o4Khq?hrld^mey?5ikA zjTGTWp^1JrH%=s^YQ|`_P%+^x-7cG3esEuA zWJeRNGRq{C*Zy9!Mbf>kpN(-K+k^QV#sjdv8Y zvsJQWM=I@t@B(@uT57JO70kAl8Ld8K0tapNUd3)R8O z&wP_b<22RSMEDAFr)Mq*k?#S1a0piZQ$It0l`H#di+*jv=o<{ZaKsV?JN|60z=BjZ}9 zkdo{Sx3-rwU2{^yBSdz54?#N3bf(_2_4Itu|0Cr-%vN3{OSI0Jii}-$NhSHN)q@wq z?hiWpUWJpXvrN8>M`qs+NXXN;ZAbTv^e0cm1lbGKFEnPqe_@gLJ%VY479k}SY(1fZ z3@Wc*7%Ja+P~(ar)r%!8BT5sx#YRI=rx5Lx#H{yBX-qQe<(gBu)qMqMKxSVhS&4nV zeP@Zapr3*=v$Al(ET;A_`Z;jO@M|Icu5#MQclNgL(K4ETuDZi(f)YvjDkmB^pvLTvBo6z}#;7OA^`W}8M;vc+BXh|=vxDcMs(ta1 zrM9^og2>FW$uO2WjgKSCh|1E%GJAGISrpMiY*j4eT-7pm5n+$@ zIw6YIq@0x0sY@?D0nIkw`($=Ky+~a)NVd?%w4D|yvRLTXt6$o&3V%MHe5FL$wCE2JwSlVFohJM0x`#}zILV0$Zw@Wo}zuqTaThU69HS$ ziC}lVFG{l^&0kYnoP*By>qm1Hj%i!{Jntw>I>3oYKTJnx7#0lsk4+Ffb;bpv zb~B|V1yPo&)1}_vO>Zvxg~wIfxHQ%Q%M4TIZZ`Sc`Bj_fH>Gv+n6Og3;2*Ph?sZ!T zc4unP=b<-6>OyIaI8W=3 za+~wT>6^5@?|aLe@`J(5J573DBvre{x}OrcUVyWFfZVKY=*h*GwBuF-0 za;lCnxAapwm0J>=ED>*`IRxJeE!qM9$ItG^g9fuI22B0&$Y`L8DjrLE{`SY3vngJC zDfM?vpHPfMdCpHiMIWS$Z(8ymkA?N_%mMw~BO*mY2$iPwG+vuOHkRKZqfnc_8)D<6 zpo#c0L3fnAgKX9Dt*EM@F~3&ye7R<1K4dJDe_;Nio;r0WboE|rChQb>rr}!wb%(4y z{?pm%w!~Y3)O=*Yq9*6bMQ!gu`8+6T_D4pB(YL1!oxoJkY=2KCrYe}?VU~S?&I^U& z*rzr+{3e6ykYBYg7!opwTtuHS*e87}Y8MvJVR25+GVag*`O}U*SU@Pz1VuYt{)ssQ zU*yw^f}iTmqSYq46e=Zp6LiBXc^_FGDus%XjT`H@8t{nKLYS5`UgIDets?8W6m-Xx zgtmVgyu9namj|)ehJ0nW{ldZS%{1 zbC_wxQ_?OgreTpj7xogp03e~l8x(4a#Rqx@J|yY9wWPq`0G zIZsBAPhd|ASE2&6XGA5uGddv?WBM^lptHQamIv;A`@MHJwv082 zU670EfU0_6`aKgwt%znxrv?}5*{#ww{iuNjivP`yZ1(;JXRV;d~scXzJ=8*Xe{I2rESQ)D?TdynmI81L%T&CnI=LCq>>EP6~ zE6KdpXHPU=Hwnqx5hcks5IMe>*xZs@>dUVl(jgE9yl%)C;YQ>VdYEEFk_lUui;PVpkfmq% zldMi&@F&^K)sVg>eJ#^H1xc=gI-K$EGh^=(RXkkk2~K%(#@24Fpob-XIE1Ks1tsuKB5y&imB=8{S0fy+z;b4!*nrnpeyi%xhjh|xufh$f;`6t zxvppA?J=EVa>~ad{K_-1o}bZeKRW~}CNmlo?2|6v=Ujf5+_3mK z@+a3sMl(k)V>p`nAYK5Y=>%LV%wm$pW@;y+AF!DGFe6e_NU09i5yPI)R5NuZ&EFVN z552?>l5H3lBQraBREtk2@qxyzuM=jSTLYrupuuaH2olro>v& zJ3*$!;w89lX34*c`gkq<2t zlK61EoK9vAq8T-VN&+TzWu#6t`~>{;O6v@k-As3hkYek^Av5bVfGtXD*DXaU9>eJoch(kQGa3~|cwG5QouT%z-7 zW(eDHLRzMvdY$C+*5&q~Q6#0@Vd5kDS$Px&PEL&X0XF?ZxrcMAtWM#6;lq(PRuQfz-dO1UB* zUKC^jz8v8MVHx0~=b=Ccxg^O+N6c}z#AV-+PvD5x4?ZF z%TNEoEJ@)zvRjC`mFR{tL}Waws_tmdvTkQ2`NYPAm9!FRveC@%@prXJHuD7%`lK7q zjk*JdI|7{BI<1JI)w}O{tA_%M4+@Hk>qPDNOGXj%39YYwfgTBGNtp~cbg)W4DCP`? z2^Q5g82;{3YUR?)I+2e?bP1Y#^E_P>Ai>e0bnMIEJ6Lwy&F$DB zN;+sCKOQ$c$6iSho6^1P^+!y$daiW{LMXzchP)H}21?=m{JtH;y_PL{a z;W(XDH)tG!G=>{_9XrHn=|AmEwB=wMl(Vl)YF#@%0JX)=>mGe!y+Je2$=}fT+)dP z;~|lv87ZP>Y30)CS!S941(FgyfcuGj11dJ&h_o}0*SU};C8}}T=uZ&NSfB`4ImfP= z`96O4_!lVK*eJSr%g_jtT_oN;3dv7j?d3Cb3v`_TI+t@0HFi7>yu8#)y!Q>*=8rJb zZo*izJ7mV^_46iwkC<4?+$}7E?CCGi>p`3I^5L7WPf0irh#a|n?cvzJKv1A?;5;JR zf6pC(LVs^vC^ed1NHn}ZpL*)_dx%7WTsl{DE3b#0Wzrj)eTJVqp`+OdrgW41Ty?9T7V-XnoT>z z=(QIfzd%o$c2d0PmlDvpUsAiEo9&|`G=bN9&4J(^;KsB*%4>F;!Dy5qTTn#jie=^X zm-^>Jj`^)SDTxKnM8vB3BhfQ(Abhh_|2HwD4*7>IpDRS#4jyju_$bw0LdyN8D{tsE zZn<>U3R-uFNHyO|*6(+i?MEY&fR6|97Nn^c;?@oP1#$rNS7!`-4!+D@I9sPH#p|wp z5lcUm;u|#mJVHt|^Ve?D78`fcD(BbVqAKfLBhwc@Y1yECaef)? zl~TN0c{`jXG5T0dEaN4civz z6lSnH9G&Jv=q~x^LdcZOtT8XRld^7uy*xZk_RbtR+N1RJVm}z`BPN}JVPv9(sGL(r zo46&dzKYH^FCqzP?N1V^BMztCa(#JVH$GYgFcf0514X}$3^HKh40|Szs-K>=N9n?% zVuJ{v6J(K{tOM=7irnp}RU{soE!7PGUPp#|PZ7*Lh*2}1$L*Y77i zj?u(#3SCD{_WMVFGb-sBU;p20nk^-|#nW|w=1k5cW!kP6PVwmX@*a5H1E-ml1StNK zS-OJn#F}riv@Dn)=OV41X93Xk88m5%?I-RzBp3SCQ!jL0A240@cP;HQ+ zgybtIniCyHG&M7nx8((3MbwtVqyGvxirx++&*k73YNv>^4hvsZDoye{{PFSis0i2i zKo4gTXMXx{Aq=XfT&ol3RKq@0i9Kf#P(+|cZ^v9p7q%tX3fQn{XXYn)`&H{K$~Y_D z&P*yu5Fv4=7AQInIVDD@54!^Hpy5UxS$sJ6azI3Ku2AlDKeC=nt0IYEqeX@K2{e)% z-0EPGnqE`atV&D9E{vTDN0qln@6pMCtYL6h?=pROHTam{+E6kT{Uc=S+i#C1{DoQ%> z=$QXW)HLzx^N!Q*<%MS@?QOy?Kj9@$G_}dvxSFdyJJAbiwRDzM+yx)J4M^lC9aLsp zNUiXk+^=uRDQH|Ek=waItFU3Q52b6oQ(5=VwwSf@R^(pJDQrYg?-2&Nx@*b5M;Cht z`16~uDKiW{5b#05dxE1s>gYGwJjkqnfzziGy`5?tBZm9_fB(YAD&}WKx=bd(K*s13 z0BZ6mnDkPvD$=W%^ioRIeWp?(w63zWAFVZET?IHN^= zXAy)W9vHX{HlJ@#xST0!+C8@$b~nGH&Jfk})_BcStg$)MuwmgmcGmOwm1)Q%4h?$# zwSQrY*UtHewKof78hw|U9l5?@K8uqbivR_c8t!Izh;(mvADnr>pccxCPGNX}xq%Y; z1lZ`4Ko#U^1ht4^p%5k0ni5T9{QNGijHtN$lNUX*oI!&F=>zqJT*OVBV)Ao`+Ol*e z9M}q)Ido=ny|I+}VI!JaHWR8^rnWi*1Mys%{i?Bb3X61Zih8s*k*Sb*8XLgQUtTOV zXB)-DD2@BHQ425lO=k{%e!s~J&qOI(QBJB*W9x)WGXK*spp1tm%=#WO#nMpN=4~Ju=W6PYH7Vr1ZS`$ zO98eKe((eAoFq%Bfb)wawINX4Gc?Zw_xUn-oQiRvGZ6_FFHcRiN&fa_V!q{jxhdhJ z6Ses*Us!1#*T5e4`p7(7%9<7RZ7J{EYm}Dq4f0bz&%;}hE@gtA&B6M;ldB^<9}%on z_qHb!cl2NEJu5y}*MyWl!GVRsll+KFeu26WI#yP?Fe`K7eqg_Mltc@Xx=>+hQ3H!Sh_wF z*7Z(Y#1kiLra@mEyMyJ-Jv3}^O*em{@e7pNzj`Yl_@%eYERksV9Ddc-juQTD5ID2% zsqcDp^-36U3{P&kJY{!~CU{*Uv#LC>w346vNwKIqCmXtCg%s|~-;2i&b#T0`6{5r) zi7lFEv_kpnl2YUNZq6uzxV04zQVA(g#Le$PfhQggJ#bd70is<74mR+4B$cOtSva&=wagn77kYw`(VxzJ zc&bHFAImzRxL#Wc%!)yYV@|Lt^6v{_?W z-z)KN&hp=LN{3tJan>(zMcdSo@q;#So(6B;L``h$>5kkN`ogAU5lGimDcfJa^kPWWn*JRcg$IYDGuTf;NSp3@W=7pB|QyM4{3C&kSJ#`(tqfp zlF#I1SG0`YV2ko@7N5v6)?)H6(CQx|su8Z}o6%5oP&wIBU%G4$fK;*R;%n&aW4~tT zBzSe~A6}M4XkZZKcWne?s@3LYsNEmmPP@>{&m%YG8nFA45?c|%9}eloH4igMX(okp zv4?9Mqy*XT@bqp07! zr)FU;=N;_h)Rxo1&zCk9)p^cnsJy1H^z=tTCP=NQQ~0 zkXII$n$M<^Ry8z6!V=F^vBwg^k|z^y#KT1RL>6!q9#D_sjW{u-7(rEO1BcT0`{Jme zv?oklL$i!T*e+0yEe@7I`h{^R=AL>TAi)@R3E(aS5@-Y7!vW$4y3B*gjR9&efcTOG z3Uw?f$FL55E5oB+yMm1r$50#2FUs*VxppZA*k@WXZDk9+od!j}Ky$OgL};G9z#+hl zqWd=g)Jk9bn!?YLcWgJkgSWazfg%)_<(8$bssZ)IB|1BoPJW^HarE9U2t?aBWa_N| zq$$3v55Akl$_0;tzxt?aE0r63Sfx8(+lC3sl#Y-#wT`i{^4{a7x%v9lsp8%dOuRpY zcyu%fTUT1_hSSL!6sar+e*8)(6z3SHJi_2U&J{Ha$GHHod$wvFT^L-^M%p%j%o*l^ zXGnqu(1^-AdekGSWb-u3cvde(% zC!#!c5K@w>V=MV#wU&$WIX z$ydM)W>DJ5FdL*)wM*~l0tksh+AVLeXNu*~* zH2H$Trx~n=WJ`6Cs>gXL%Xn)XUaFtYu_n%bfp%=Q&LHl?udkGp3!zPW{=1FBvT7(*t{tyzay+9AUSiaM3$e6pXgUd)ax#l2izoNEZ@MQdc=?UPv}k$J=}qCRop8Uw z3AIu<`N))I{j7grZ72ImR&)}1I;vq{bEXg$Ul&ec6$(=%nyYeqwwt`-=sF_7461ZD)5Q3u(*C9+=q7 z^TeNwZ?WO4nOU@5f(AiL+~1SjG!FK)E8&ZC@1H%KV-RvpbccGgUn-?3FFYUi%W#!# zl`ojubI8YEp0=6m@fcb1rm;OBpH=Gio4r{szFB&b6@<%sdy)_h>k8H~ZZ=RtE3&;_MAYt~~Ci&P~)29mQjAgfNw|rw?n9P(SR+^si#CZY=Zr z=HyPhxz#Syw}*4zq(+f95mEc<>CCzAm%%^QsW@pZK*hA5Abl(+#}IbX-Uf@Az(pju zmvd8*-0IXxWDE3P_^T&rK+G6uiXTNg5bXIdd^4z{CNzZx*z8sa`WL(KQtrO3D+S=lx0Lj1q(q`wMjE#Gvl8&It5Tu(8K z`Gt#j&!|<= z4IbU}K;|~_ctn8QL&%Z;8&bl+B9rIllf!@6KNPpy=juf5QKt5O&;r>(kZ-PV|VUWx_2anoymQS6H z#$V2Y4;>hkq(uOWDSD&0>re?pcIpr3=AGfrOd9J|3C+)EWHIzknX!}DZI)^8Njq^B zG_i>Grf__=9b+fVZQqj9$%hU>RLaovyJ6E4i#rAb9Py91HUWK%vhaAF(J^+TX;aqr%C z5fyUE4!vj42~Mvx%QQ7+FRv|xR7shuIzk^n;^HD|Wg9ETQRVPRyYOu2ewZic&8P(Z zK4`S0s4E-KQ9%e{v6IAzr{+}$V#q0>coF>Jmf^Z%Lr~&i6G%+Y%e+23GiMTge2Eh6 zI~f|hItAcd7B@T8h*DgRXbaEuwMqgh6oA9FV`x@*-*PnmxUH(FRdLZb z*QOBOq}@ovV$)gW7QQMpHClJcMnb&K#xtvYc@h(mF06a_)1p?q-xU^^RUe z_lfLfWJ$POHn!?}R(6+^mON>B+W(**$XB1wFnX&N-qrr>C1+;VKKW?fmFFm4WGw(l zTHuvHdDUlj8sgHGAA_;Su$fh)X7lh`DmI1W-Mpx5(&F>7ZMLR9sp)jum_keSh^Gp0 zm%b-3mSu1Hs3S7eYG4N2#(?udu_<*HaRlV}cB!U^Tr{g^4x%i}J+n$4*-*QEasqdE z%2^U(WN*5U#uhwXMoAX0E8kLfLnfKa=y!`tXJ`m(h;^lcV6GKnA5|ZzX;*P7I@zTf z9~KczPAy&tp97dCH#8b|^O@ONLI7Lt zSQzB{zspSVN_}Acf6#yAY>)G%wlA?$;IJU?#bzxV$MO|f{=&E7InDf32NJs*qdWtLtSms)t+FHj)ZP}W~Ry&|&7ZDzrX)REiz z+%~^PoxnJCdeF9$n7I4A1y*&XWm)>OLpMp<-AQEUgS)wOW9huVv9o*ra9#G;v&i*|J`J`FsV?bn)~-(pt2~B{t9p9bKD^M`Ts?+O(ordsd1^t=!@gf4aBWqs4yt4l z=B?&z2GN{Pq75+89oNl0(wmwLeOumgY_60gkS{2T%}NG`i&(?((M70Pk?)7o8KL-K5tB6UW`6d(-RM4XUNadE7Mh*+AQkdRu@)>jJiZBI znKU@xWAdsL50)lk^v(6iDuq?}hUBq+k^VXx2PosxrU3jA$3kk=wRu;YlOI9WapwG) zeHk0vUi=qml$vNdksn~r>{<5V!haDpHZ^Qvi&>?mmb z=iYrx$XAQo3x63UY)bcb0_l~q8!-yZyrXFZ6+e5x@~c#Kzh$7rc?NdT_=*&U0D6s! z1m1mt`R3MD(Xxo zr^0OG7>Y&dj_5q2PfB?=hBKO;kLuKwnHdQq$3Qk!mGG)YNf~6;ukIV$?vb&`Ndgxq z9S&`qx~1sN`*vQ*qDlq?(nB^#QZ!O>QwsX{6XprtG*0so&WU#E+xwPhJI!QawO@9W;>n9LZos?u@z{N))v@9#8}>de*n z5-H*OwCYez{O&$3-rZ(ic~;|OX>K*yk4CU&`j=?+pS>^|VgX=7pJ?(}IlRm`42c8ex2`uOv zo8xh@>;y%HIlZufL}i1qDY}cCj~|n!%+E|4de3|LzF?Wxd=<|SXo8ROtasVN&-5JAj!)Lg#S#4OmMaC6nj@r1w(8YF9dq&r2^__=)-jkK7?hq8LL`j|9Fcl!@!ar z;ejg*tJ*oky7h0=R?~kC=ACV&AZy-)rL5hmK}F2gmGl9e506XVj7UTtmi@j)NikTp zZJeB-b{glUxXfu*cuI$sgOeNH8uMolr9f4o++k`vbK)Q6UD25DoXM8One$2oPbz@stWz+? zr20Oa_z=vwc9%Wjdj$)+zBtyGiAhQ? zOFruQ>L(P_lBT~z_BlJqnxI(0u>}Al^%0hcXBz;R*3G?g?6Lp$ji3FPC%G{(xv`(m zEyH=p&#p!PfoJ}@6s7>4&Xu?Qwb;?VG+?VPy10uD`~?!3Jo5|eJHzceBRJch7s(fC zCttjO(|R-Z*Ro&{gh4q*O$t>I7cBsut7ZQef?hxM+1CUdH zn)m0_NPqbS%G$l|5Z&|)1!nmAUnbDvuZ1Zn?z3i3!8ky;p7QVw4$Y7_&5-hF)?a2% z{I8R50a(n>?>qjU`M+oW|A^-4TEA*@IDhikPPyLy7y9})w2Aj8Z9ZA}7Ql-y+9%i| z{u$g<>1+4-;^*k7;eVo3OR(@CtC$)AEdDJ74v>~}iO2mFI}vuJD9RwG?XsDS_*}P4?F#r3-b7(DMx|jxA!x6}1 z6X!Kz@3k0cFZjMwusJKU{Xg)FNq$5#$M;XZzd&iHdY2k)0>7CIo7eJ+`*%L~bog?Q z&k56i&k$yNI{7%3mfB9VUmsM7m(Uvy^3-SxTc@;BZ zt8~QcdFk7C*F^8GiLWV;rD(5?{#j&}|IZ>)>qK}bN54hE z8pUr(Q0d?k!R`}r7a3|YPeJ|%m;DDNZ=?5hq4$mU&4u*;`vV2K{Wpb zBfZb!?BJP4u^7Q>dvOpID2NJ~WIf9Tp)r3HEh&soaUU?|&t7+0=A(9)Rmv^WU@y_} z-UZNM&aY(KX@=JiKUs4@*zm7nBSy<;HWwQ(Vxb;*OpL}-z|kv8HT>5wC=H$_16}}T zcQ%dCp#5obt4mMUK9a{t#AfKnRnvtF%xw3M2<|CWdaW&o`9?vW6h51hq@i5r+hwoe96v zRPU_M;i!}QEKfAEMHe(|N4P~-m%OEF>Mk(^cNvk0tb3E+&(q5>(4(qGl;$S+3cG*k zbNMN@2}T`>A`NFGvl(U*py|AUI++o5mhgw0F!ypuscS^25u0<^GQLm%0sw*r>nE`D zh@B@`3dH(j6zU#RkK*TDB+d&O6RvHuGLJ@Fr&r|+wa=ebDY+`=i1l(ii&79H& z-EdZ)!1gk;i4Ts+89l&kDUMsa6>gqB_95*|A^n`Q`uDA1rULl0NmZ+geV(7;7LP_| z)V`3bs@20KW~k=^Tn*R!d`^CVCxcEYxP=XuqEmgV066H4m40A92LpExxUB<(-Q(A~ zWHZrRTkA4d+wt!5y2rBBbi7cPL~;HmND87>T;{1iH}crafnm;}=um45_7O2~H(}Ux z+$NM&wOM!Y_7~`uwc*qumgt zl;Ws*sQ-z0zejlxT-4z21h%9i_(`*s++nw7)2?NowK;W5BEWp+eb>R)T{sr`~ zOW9yYZuFkgFXccOeVTj>&N|UNli-w)_>^@_NiW?KK#*-f^j+uFNWVt?u>oG_?LKx| z8zHZ_SQ#<2hgE&NWn#nm)(hRTQ&#k;8r|x#N;rfpS1$+^b@~>fNa(2?WKe%#&Q2iR zD7qB?)El%?E2A*L?hfvIjvlnKEOWSFlIe0<7{?%yUn1)kdi~-B z-+3`$g=EsWn^b=Dj9}PTEr3GJU#{+|4EROS#9e#D5AKH=L?!t7D`402UXgB)FFHqR zpyR6yZ?J0lM&Tl?7CkKV`#wt5zl-C#XX{{~~J%Q6`+VtDN7Ku#jpx<`z}bQ`v%qY6E`g z;|TUGIzO8rle6@Fe!w~)=WURGXkQ<(TJ_-l4tkWrf*__K#YB}f;mFvGHG*}@+Ol@h zy85G>c;ssI(gw{U_!-v6XdI@mpN2eJU7HP(yxZgO_hJ#_B0sDFbo`Wq0=_~OUgV<7Ktd<=smt?jSS~4>Y`tlW3x{>m6z#+}OvAME)-_9X zqu(*y8auMky9Tz@8F#osdiXUL9F(iC`WQR$HL8nHH*zjV+8gGTa?f+Oa(eKF_pEz~ zz8;YAZ*UGV)s7d9mX(q1djlK(y*S6pCS%XcM*i{wB_dp((C$#US;l4Q?3tbLI9L7t zs}?1IE=s2j5(M*W5wG(_zL8+z3n4zJoHt>8&#!=+?k|_v30ywQaW1o52e{a?!06h!bWbBN)>}x z$h$dWjI+Wkce*05^{QM3eT#B%=Yp<5y}}|s7mJ9|ys~RVmNqk!D^bUcrEclisUmwl{jS5fGvrj!bLRe(q1yBV&$C-GAe5qjj*yQJ*zpL+p-T7*aQgzWG1Zo znnlX;JL54wqhz#3CNqH$D23tmc~_n7O1YUsObIs>0ml3dvUk(k#bl*5Z_bVLQ4YCs zN*mnfmzx&!G`CT5NVINESoIPb8uu_?={@~GdQ&l4*0gzDaK$0QXjzRlA&*@{lQiRN@Ww0M=_&h`ANJQI^hl$ngS{w=BxUYe?NhlxzDrD#?}g>& z)08#rU$}T!+>?f8qYjxYuzHax(J6Wk$em zCsd3e&)BL+QO)vOla+V2o&|F5_1zisQX{pSt@lpl(wv_ldoRUSEJsG2F2diff^oA{Y301q!jXhOVu+ z=VoVIAUgHlfJtw9L3rzE^g@HLG(8V?wO@|!u@D{<4oz`(8TDPd>_1yttOgeGm+3}Q z9M24;!|#_jDsbz^>Bfx$t^(vGy=p9~2CU-?i@^ymm5yP10ZlRf>Z56DLr#Kay!MAH z=7){xKF76XjJ@9a3EQ#2tZrvKXIVg`HiB_A);%7LU?!H>OqL>?`qX@Faz?xen%kCz z&$OV%XR{o8jn#z%<*%2qUK0N_FDEa1Q(Rky+w=`P-+X!dm6yiU?omanXpM@4(&bg} zkn8o2CPR6E>a1F|b@bFc-YGqH{AkebxV3yf`%_>)@q8f)Z?A^*TvH75npRkoCdjK? zOZaL02S3@#m#$it$5Dy+SGl*Go+t@Ic$t9azCm#%(csg5Obdo+hp-s2vP4A4x;izE}SDdU#B5f8I zU$7SAjDRg}5Q9|E9C!W0QtO5fjjl^irew&^QleZ~+e=F)NVpT;YG(Vo`D8(mdPlH( z+|FT$j^*^GonBjIwYjLG7vG4Y-bdSfEbZafEjQ^!k`+47z@BG;F zZneh>Yf>p2t?QwcTK%oA$?!QK8rL%2*;?v6#q|SvH5Qz}GCZ0rY0p~;N0(}2{4B=_ z`Sa&Uk6sB8j*6^t+|Y0*q8OyNZ#9(G;D$V$@9RVj44nPShCk8*OrT|hp^3&jzg9V1 zKT9c1O~wI@5Wum@pxu^0m(akcx+}iAXyNw7Y~v$QdYr5P1HC{-!O+?t zW5+*rMnTQCqrQFS9&Zc?j4aP!aLY87pn5eX6GZ<;OdZe$!k2rpA zax5DZ^>ulKyfIObrjAz^zPf3@rnqx=f~wj3T_V79(4?%ye^8yg*+Ye_k;wu*ORk-j zg$PG`SJS&s5leA+r1pjgYmY`I<@QV%wQ?pW61WrZbdTJWcEf0lIKrAa!f00*PtV*{ zOMNyjLHu!Tv?Ijkwq6cjWwdn!O%uCIJky5t(reVZa~L=`H@i%Gv{$qgI5R({_fhlH zoBq^E=iGruYZ}ujOiepJvEm|e8Rt)UN!BQ%!;8xprTZTL4#I9ikf||AG%|hiWS_ek zkC2?+%v#}q1ON1r7hAl8OC?R+qA(Exbx)h*4UXp|F2ItHgGdTQH(?wZai54PGreTJi!=4`b>!t^+Im%La;SNHN%^#$U zZ3qq07k=AOND62lvp``1ruik;csU*Fp1Oa!cyQ_N}j`6jDwkm zRtZO*%}A120F3oXCp(&+NBA=fWK>KCDO!Bm3Aoq?_55~;JpL&4E%p2ynQxStHEE(r zHOsMaa@ncRKZjNx^n6ovN^|6XI6@l))(ObMUv#3m?J)iD31%gOMnulhD#afzfJbeE z?IDjXc}Vm1Enjky)C{Ij$F#c1p7pNsu>oLO&&=n~)Y~iWL@4^c>@}?Ls@h7mCZ3Ks zI-EVb!3{b*1Dx5IrfwC}<6$l7!RV+I`~&AL;bPBs8oJ`1loEW3`gE3XXnVLY0>5n# zl(*$a@5>V46T~UJ;afafxG8l-WR(_)@9OjXR0M)UtznCsOG-bdI^?U$HIo3T^oIVhW1&Vj)K%jQXJfHMZdpYkK( zJ3oAL^8qLhM4Y*QP&V%W-7jsc>ZbaZ@!ardR^fHoefhcHFkol?p0xm+s7uP~{smg> z`0hX0CDS?Lz_l$rJFk@sq^Csi4I5q2vG@-{x1}8;7Z2^4lJBzZvXqP{j+CZwogPZkA7yI9*_O?<+`jzMC+W_{a};w z{P!r8?5P^nrfh{`Y)n$@QzQ!J5d(^k9F2~E4-5;qqDcfzKj|Pke*DP6P^KCCkbME# z7(qpec<)G$i!F|f8$crE9FQeIi_HGIn+gPa9QY3hda!glr_ib>=mK=RVN>^ca#}?t zte^6F^V_Cp7tIJaCemx#_nbbafBc8~&YYk4EEw%~MFQjweP;o`pCYk8L~{U*#-~T~ zn|gM>&o&2P_y1Wd?!Wv&1)8Q71x4U;{9vFNAtraAvFKsv_(AL(u3M{)99j$(g(^hz zOAq0LP_j{$>2WDRT<_7|J;7c@N?`{YA_5`(0A*u?K&LPa+$TuyLHI`hVEVY~cps4P z9jGwSs6xe1L7+|$CVLRFZPR7a!phg@6k83jCyVxQwuX)%7m;CWx{ThWpireyDog@u zQ!)HEVz@E?n2I1ui4^>IzyAS>14^UL($jfn^% z>s%a>1%&o*Nt|B+l7#QKB$;VETa_@LBN|GmD*KWIx*9FMR(yXg8(MOQ?NiKwOer0Y zN)4Ead}O*YG?;y1V%aJ~y6pJ!BcAg54xiSW;~@zwFBB9APlOZMUg!cy6|~OHx|p#k zwzY1dJFW#6i8?meva7P1ijZB=3CQSHm zAsmh)KNKaCHu7@=LkDKNM|u4&;A^*%`$R%Lt8zH}5KqolZ;n)rljOoEehy7eXhu&% ztxW8MIDa@Bm$fSM5Ne<~p3Rbk;E+MZNQjO-sltq2?298@cycUnl2136XhcqG#F#Ei z4ebE;1Y_6YOXi87&fqX3)*kgUCfe$F0lXfT0<57B{8A$ekULX+m3IX}k)S_3E|nSRF1$Q9>|K)kh&Yr*DF|6ujZW&w z%Sn37HCca{HRi21r=-#Fzg7CAFu)`D8TGr6qPqzz`7Qqe<}oLzd#^E(jlAVG;2h zVHQ4};?jtALx+pm&%kxl)AM$_Wy<-JB>i>)uGC72>Sib`7GhWZ0v+@^2J-M=w1?xv z4^k9?B{G49z<{YiEW9YxZz~K@bcuUkqQo;ku}Vp^6BAHQRXSi>?V+cS(nUJ=M1EC| z=q3}p>eGuy%+PKY3GtMHRTS0a!`rf*BCo6GRwuINj$(*NH{Ol zG_4}`Ti^h$x~~_8!`$b2Y5{$jhI<7LO?&pcZ%_buoxES5gH&r$n{xB`nkzH{|Cx=S zU(Uq$9dB2!i_9}V{L2s7zBuFH`GWyp%!y0amOYoY9Q&^-Y^+F=+eEY;<|CfIyk*K- zQ@=p<^~%L%Yl@Ycx?RXRuSughdUd*Qmi(^37QS{OJ`~(1CaX2QOz~}p_pOTHhB{xqXb*GTW)wu;Nk5A}a2~XrEyKY7U$Lck@168D|~UCv;43 zUio;o5|Q`|G-KXopi9uS>u#zxhbRuut*IEZveK7IS*+|i2Ae8bx%ssWGkh%@vo@5C z__<%?Y#{X0gd!8oLS8l6H#DAR(d4*9Hxcp^sXz4v5aXEJN})V|vlv$^8EKF)M@1$| z=^z~&kf>2EX~R_vmKfI0%Im0iySS43#qz?rXk1+SYZU_sVZqg?RK|hI5hDh)NV#NM*J9kVa>~lVZCbx$h}S{1msDANH#$!@ zOZrynCOGS@%fklvw7%>^dFnVm(6eA#AJ{Y7eIDJO@jEWrV-w8`>ngaUU^f{_?1;~* zGZpu4tB8JCLFI&nYigL*hK^Fkvh?To5+m6)NTLu15K^47g7>NfeTz3=JzL{K@d4bm zarz#QX;P5Ke;33F)=5HlR4peZE0EbFPwvgCMOE6^ORK$Qss&?8g|=5ILvr`o#wUv* z_Cb2uD4#VKkf%OlJ1IHy{~UMAoHQs*v#7_8Z+OT~zA?1p1~?$F&YgdOV(Jh-)sX!< z_WdsAMfz?;uHM`rDsN{^0eS?IiLWX7eyEY8bNr4Eq#@!JDP%;~+P`c)(udte1MBf4 zPSwIuo15|}IQss{53&E|S-bx!(lTTse<=d)ux|fHt7-|{I(bvGIyJjg=nS#3 zN5p;C5{doGd^Gm6aQE-64A&IWKt3)C!-f^FgRD(oio2HsL8W^Lzgge?TL0K{|KpsC zTm7Gv{rA%201HW0lN*-yvMG784QPEfuASWyaf9=8i)DX(C*-dcJLNF8bo{gO7ry_j zxQOws=6situYQ+1G43nF|MU{>tKa3l532s?92hpKp`RxY^0Sb}~1gs5%)Lxqmq3->QWY`A29spj-Z%i+Ax>4sO5p2rA^+H1DA3CO&asPcDw}{xg{i@g8#ERR&ibv4j%5A0r(nx^ z^VdB^(*I{qp;+PFMtUys3v|~3AdwA~-}U{Wp87uWZX-OG0XTK%pZcjGu&V&}*M);` zPy)GGJWtjIEYLWtk$w3FsjMh_AIB!gNR&_Wo-p<8lF;BXVauD~c2g$@;CGATGC_$F zyCdY7Fl}T}=Bb`C8rAn^qw#3?!ZJpc=8mtEFZtp#f^CiS9YbsDxS&n)Uto0%ZoT;> zVy}iJ-Z?T(I`av3#b((gRE@lKP3prp&unGG`N*bg=uQL*-f1#sz{+U*Uhd&c-n)rm zk8EO%aT3oVtWl}hzl29828I+@gAN5!|!q~*Wk$T=lz<%d$Kazj&zjpqTZ!azm< z7Y>hy>D5aB`y<@4BFDzKe@j0%Ra4!Bu;=Z!lzfc>>^jMspx=14FBB$3RPOMcyYNto z%&w|<=#*BRX~#BlQ+}K=btDNVYwNZt6kdw+w%MVV7eZ=ek25$1w1jGEFiXu+nWhPo zhfS|!)G3GGI+hQeMy@;**hg{{Hny(tf)O_$trfCzjZc{QY956|JPPZIC3ttrVdB6! zq`GM`Q&fbf5F~}%JEBM4Ujp<`=LAaG3qN}=nUo@6DI^P$wk7YgAwG^W`|;+*W&c7u zH9PGi^Lehu{MQ)hvVd~|^zWl+md;&451r4ADvAL%;^X(D@fHg@ zwH^t~vg>*Y$K5e90^M$cW&23!#7vg>Lz@xA3LBlWt^3bZz4GUVXS6xM|AVuyj%)IN z_nxRANGK?Rq=2BLq;yJmcXvyT4k<-S7!qTE(l9!eF6oeFLqdAM0D+Ch=l1J4=lPv_ z{&-%mF}8cVZs=R5R6pGV1wyY0`Zg>rvw=}}o-C}y)2<;RGnp9368R+cFoHQBq-9MQ`_`ozF z?DSk{*JJlhJuepZarb$B%io|oj_p|nbXMneA#)+c6gvmOcq6TwT}5-(Wv1ooc2|ah zp4s2a(YvkS_vPXxWUIG@p3EZi?KiU@1c=OizUVz}tQ}1h>iWDtc;+%H6S{LhaF_9W z$Y^EV74w8HlE1!5$*ERrTHM1bca2N@*6P}DMbRYZVq@LBskx)MHtwKa{QK#k2V5%F zG0mDNSD$msTr>@B)^)>H>0_lWH_EL}y%RFnWw_pA=W)oDveUEUJb8V45%;|^X?}uM z@b0!sp!Skmw_~w-seJDF6^F8HaAE!SVm`%POG3Jv9i%r-Ac7%D0lM@2SZsY=z(rk5 zQCm-8DU}nw9%E5r#u#iW`-1~8Dw(!#CgQ+s;Co7Lo?|aEke2> zD%bYsvMB`0-N|ux$^_}-G&p1OkqQ}sN{-%nA~`SBVY4+gpcaY1VHZR5NANHOu+?Y=T$<>Uzl_y^LsXU*fd81a*oHh~6fxK_=T-G7vUbpBIlY;=l6%{cF^U7C4^^+6E z*JgYMAmS@OS~@4k!}GS)MV98{=DO?JD?JiN2C7Gj!QclpO6YEq5PaCh1=;v^JqNsU z!jvN`t7Q)ABXbb{wO{&czc^(NOdMKnzav3%5R;h<1gNljmeAS$rP732ZTkWvw8%E6 z({1njhMqdK>%<=W8{UC|wUhO&%*P_NXe-vKt>djVYMPeRzWzI~CDrRjZ0$=ohh}4? znI%=$b6ml%G@2T5{vNP_+$};;4PE|$Moo#1i*X+cO{;9bto5~5 zZwAIipG%?ConE?{G!dC1X_!Bb7`cjPH9S=)0)Ye%GQ}9@k$1Nm-5*c1nl+8#@qI(hRH|11pDB!yNb;3f15WCb z!78LM#h4<0fUCLfIhX2VAVd-{!u(WIRdHb{ta4V2fnRSJ=oDS)m$`Qo@_bXR8p7WyzMy?fU@t+0fk*i zLg*oRXxp}3(wptOvU>K+T^)(+)|hX~^)B^#Yv+|P5?}Ml=Qrw%7sLab%EluJm04U8z%UW}r_xLOq>i9rNGm-Y-|`~i`^K6TNd@gHx|eTY-@|LMBbYcP)}U6s}u zk@XP_d>{Qx4R?CkjdEL!#85a&Rd}0S$;o=j<;HiO;@$vS=0{C^r=#j+=Ier+NBG{; zOUBIwk-V2K#q^hvR`x?BLn>t@XfYwDCGspCWtZMA{S&Mwt8r?1=2>{^s` zL%VVjpOzjH;^jhBqhBm0Kfq06_i1v$x2U<7`wh(Bp7QcA)+g3V(31v4;PIUpLTmPi z*0OszUO0-)9<3NevCbc1>&M34CDlOr<_h6N!}GC)tKHV1(;x`Lf|YNeNy5H}AS%1o zEJA}-MZA1lWBxtC3Hb@#R~{2iG5eh+6BqRPUc9S9DVQPgOtqxr;Fg8F(>HJZ;^(Ty z&EG%O+^loKd&5IyyJI_|y-WVp^UEz8*lD7RY1+JlrFAOdd_s^KcZMCMH}Y^vUm6K% znwlBP*DrZ_s~q2lKB2M^Z$8-uxw6A*%m%-y{KcxCdhHB93e%K%FYkv^QeFHfn?S$K z^`ry%MZMb5l!gu=Fu!tI@2>v5BHwc zw%`Tw;26&^uARhu1m1gild?kPE$f?%KRl8SWlt)x?Z%gM->_a8LCxDObta!VtMO#5 z^456EQTnHw_Mx{OBo^Q>u+^|(f&mPI&Pr5j?-LO@Ws|x_o9xg~J4lm;18CU)c>13} zHom_gTWaK!ml_HX2Ag}4Oj38G9{{0wl%zHa%&(X_n1F&nF$u?#LFE%by+9aLil5w3 zexR7dtjUWyH$Q6u1op_;-yl!J!!ryK*X1IhjsHv7WPoW|??ra~EhwI}JwH*OzDnWU zO3O98l>KyVX}^y92YfRCYxd=e$NUD}aF9qhL>;taXx$(E2C0T*qb!FjUJ@!2ygFA; z1pqas{?3nl+=Nn6slC9kf}S|#kI{38++T#sH7jyY_$rvJ_?<( zE-FZZeY;p%ID=5(SH#U{9qB{-eNpwwgXBElRKjZuA9=ZnD#G)h3nhDjig$!=5HnE`g@H{qq~W?AA~8E6(1(EjYS^)*cs=J%R&HGct4v`#+wR` zDGqL+xV=P@gP7inK}vq~@4XgQ^A*_O^!3QVjTwI)Bi-T!B(AV!JEZVkuqZnmesCuB zs$_#YVwD~jX-t!1ye8Cq*1e3{ZH#q=IShW?w`&0eTpRTv{e^IZu&cql>ZcjJz;zE5 zNMOE9{*Qso*qdeA>F6HyoUo;QiE^2s=W@@ z&w6Dj<#<)19i?r^o~cyRRc=oax5&pfo~plKw>*(E<*E+g&UXH}Q1tF3z-2bkqKv2PqcsN!)j6`$9F38M$`7;kVwC z_#$QPAk7EoPZ_6Kc(e_|9V+#W{qS>^zE%Dh7!KwLJHRK6V%Pp2vtX=orid`c;5d)g zw%8rm7rdV4V2O&C^_aG|{tBOCB!}j=xI?s~jyzP^7j9K{?jC0C{S;+7Va3zr-PAp_ z4)Y${{kRA7YUFKkR=>~KtbT(lD;P46K%sv%0I9C-=WSra>*98#Sj7?DPg=WN^ou|z z)tympQ7PRKC4oMzqfewBQRA~aaDFc*%4ClaF8{RIt9c=MH2{T~XdTpe`BFZKn>rVH zaA^`FBa;B8Y;$p@{wj^n45FBLJE-q?7+?62KvbnEMYC&d5X}P~u-3YGGWYVwH#C-F z;mg6>@=dDoa!7*Bo82_FRkk?g5whew2Vl-bDvoJwX(3DYc^+Z#e>gZN(AmD*AGk3> z$CalnfS5{lSAHd3nk-ZL?>FB2iu|e`Om`5Sc{U9j_}3yHui<*D@~{yZy8ZkLHwYQb za*^9Uxa9a7R9tjSdF1f#jO?991s^%(YO1Z+aQYQ*yiI+DdF(cS>?|AL%oh^BaDW^= z|Ay=h(0waYclbJJGbPf+5l!QIl~>tr2oFA4TwiFd<$FT*`Nw|=-BeqdE<~#h@AkM& zjXSuFYn}V58r0$8UT_c=+^@ZUbc@>BJ;84kg{svI(3XBwKRT^Bl`$7Ca+H~@K8>n%W6WmNJ%t%-qGZgK|`15EUq}z zFYg5Z%k6yh;E)>N$p!^S9M?-6Ji$QJFIIQy3QB&1-U!{M(4#JyQ`88;r|7?2-Aq+- z32?2y2i@+)(mZ0hDZx%$Iio7EpI8-=T6BF&{9g{k^4PgZ%BP8qKd_`CQpC&kjdBBT zz0_$R;->Hay2m{r0h{kPs7<`{+$iVt-uXb$)h{f`1c0Y@z#JrZ|K&-^>@eq?^vy{q zYySq}coagt_2-KNq+RPZzUqtk-FzWT_y2XA&o^rV$(|7k@&?#xArJRSUnb7|S+4A2nko{%+@BPF0rx(tLItG_tGJd{xHe}xut^T+5 zMCpz+*|R5iq+>i(BXR1#;(aEtW%)E-Rav{^$@7rMUYr@wn9DeBMdgot|8Q0v`e)JvicRX)0e+}uxZ=;p2H@+Td^}0 zej_sQKA5vLIH=S-M8A5r z`W-Pq`!_^c?omrN2#+yqZujOn3|mObb90`Cn*eLuV-(MOvvg7Xj9&s`rFLuzL_Nv6 z4Qw!lr3lthZeFo4`}B1+yOCAW$Z)$S#gv_prHE0RFS;500;0E6VXrRfNhmV;DStsy zEBW|yso$kdsbHOWv+WA`vmJcmm;)(ZwYJTrHMm)g3ZP5DIj?`v7 zcFb6=ZHc01wmoihfb8Yl#9Hl`wC0k7bslkQUZEPhpfaN)PalX$q$ja8ZYyZnOK{tR zf;#cW)1R_1qa7{>u6HX2;BfmQvZO_rqJWJjb5QYYrfGF)d9-4hF`HYY8pxVSggA1* zkK6unEAICN!n|prhd>x!hvR4d8LnRXVY7!>nJ~k^dVv(WJ3$YuR|YFu6)?*uFKJp{C28X2qoH^yC6kpY{vZ7r34oz%9Lsoz*bCY1yCGEOQ9p$j;05Cj zJFI>4^3sXO5d-C?{Vai!Ipip8jesSkz3}7 z$Ahf<>=jivG`2akruR^-ULVIA$ygl`_0n<0R`ZItUeMYz7N;)ws%N}_LX=LfY9jHK z1*SQdz1EWh1`CrnopGntc7MiJX^^CQ6!F<-NyxUln!de!Qh4oSCp*4qHqH8A zO44)p0jF0SWG{> zlVg1Z>ib>mJtgr#iS7-mrma2!Pzbp_Japk;eibb{iJq1x2+0WySbz&I@u|Unk zkkWKi1||<%`qK5G?XrLO`n!?&PC^}4vGFTC!nC=boaPIG^FmmFZ9}3XOi4tc0vOaG ztjbxeAux4MAtvGcuqlZT!3r8Y~`zGPT7NtW=sr8NIVWYr=`WY(Rb3quqHJogr$(tKwz%?%>`Lht$DwG_3|bZJ1HQ7dZ{|F-m7 zCQkuaoMIs7MM$ez!qj+hP+rY!ZCx&WTDP1H`_0ZguKeeyV1~ogCEIwyz(kfnobP#R z@%%!-PF7o$(CH5hY!%s*FwoI!~$a=GTO*=xqRZj zS}AVgbqj8eTGcjG*fmT~IM}$8r z^p9C|X{(sYUbsDg{CvTslqZ{(pZhbDP>%ZQd&~pfN}7))@LCkPsqIHZQ6Adi!hg(M z$GY;%sIJkD)8p@@Z+}|A*JydX`gqRGCfilbGT4mXf8Sf?*#u*dgFg=MFa^~L?rVpZ z*3Y1YpR4r=qqE+hj0aSV+_8#M5H-jrJSMYuHh?ZEVSMHbCs}6;t)Y{S)(a)K6a4!k zk7lt+wY9t7r}HOJ$D=<7r>J3ZSCiZP3$uG)s1G99b|@GJ<&% z=^3!?mD0Xxn1y0-h~zmDBQ_*ci?a~U)$onE%LQ~Ee?pIgH$YVeSDib@V+5$6Md*+t zQL$>b)g~ovkQz9rK0AMMe*)#+sM74%G;P(7Cl%IdOiT5qXRLT;p?HEw?2845b1ZDn z&h4uNd*iHmMOA#(mlQ{zM&=xKquJup<_Gs7dj6QuS8F5C^1$s3=(Z!flhVg3&o@Ex zV(M{yfL-YSb;@+TD!?`#B)mN<4570_XQX+M~ zK?h0KW!EuXS;*7foZle*E3!nYI{y}R$I~wwku3W8K-H|ayjl}_W%6@$^%p|)dc||) zT=bd|u;s1%?7Ekgo%9dUbx$$!>Gyw{@JQy!nByy;>2~7M3?Ro@2_z&H>n4? z`xM;zu}Wh>iCLbgacu^Z{+>yKF107`K%&ZwD_W!`;2)#CDJ|?AQ+w1Z>5=PetF2Af zld1KOe3@iZ#a~CW7&5&c64A`CwR-A-?}Ah*b1;6*uv?Wh!}+S`=Ky%e4`KMppnt8G zAzTRRH0gdKXSn*-iW|h78!E+ER>io7 zu-CjCUrq{n*(Pp#s*EeFQ7RRSso%fC@IN7xV(?h;;D%@}MRkoXtj$z>*)Tzd`M^Y) zrGQ~;*`wbNc{^X%AKPh(ymZo`B^*8f5M)n0;wa9|Q6}zXaIhofLDM&7A2)b%3S%r6 z+IfOO{MrD+o)=MlYX;|Nj~S#*2ilX4c!+b8l!<%#-w(P@SapgP9>$uHDE7E&iu2^@ zZrC0&`0v5z(XlV@e;=kJ!0W}qK>E#v`Rm8BYl!-&hr8CTJCpmwnBDP9z9Hh>8=jzJ zYw5pnGg}Y24;z+azwy_k+NkXI3K4rD0eWrz!LC)ta7)Q>ed4f8%Ug#+#}d--==4Gd z?pSMnMk*OfX^UR=jC@6&I181}FWxchqys&BS-XK1MQR_9ou&rUit)XkOdTsVrWF+z zIi`W0C*CoF$+yz)12e>!RvuC$1DnEcReg9G`Ha+(Nr6x?EHz4!v@>{usXy-?G;X#BTNX&!neG4IL3Vt_HI|r2?wobN2(G6pQ(=&~6-7!3#fO@~wX}k$W@qK%N zLXEGfnK*LTjQZHkBX}W1^iHhyJ8N z*^DPVqAuVWH7r`?QV`KMES+{{QyZV2&krGQj}$74BNo`Cfci8c#UCNT1u<5wNP9_= zJ_2LG6E#8>#qnNDK=$nHtmh8z0zwG)_etP(KpXqmta&6lxGLv=+Iv zTg%~P;~r=$^K5kDD4Ps+xTtzA8R}E_g5_9kEVl{TmmeH&j+|@DQ}`OReE+rJ$(cI0 za7b(jvYF&mM)h*L?<4#8>r_W{`~Q_s<_P2{{->tg+vUIX&Hv@9f}Jj<73heC)GnU9 zQTtPK`?$%JXWv0u313a9Gb|iy-r`IY{n^5;dlnnpb}yQzQ4|+ zQOw}nW!;%^AnidD(Fhk*rA$x9YFky0zThFo3k&!0KUJ$i1#)=TZ@UHim7Y9TVq^YU zM>O2$#+^!W6L0=yqFhI?bvaE*+2o`{!6R9{3;bskwE_7z#!^W5pJeFRzPmY`u@xv^ zdu*D8fFijn^?XW7$~8x)I&8oigZhkb`o~PXV|F$;er&b zX;x;bshIG1iK~;Yve-N6^Ac)Hu(!EA&A)8dMp{wfE3TL zQn}Rhkwd|`tz8LKRPC*gzwo+8y_=<>fh;n`!6NW1&s8<40i}Q(k1;wXGl-4<^?A!` zi^_5DPo}15q@l0Bea3E}eVvH1nv1H0yQ5QqqiK`6d58ds{v|o@Z%`oZT)BA7g;Q=t zf4joDrh)$MW|znZF}FOTY;`>GQHG>-OAh-}`L5ly^P;`r{(2(*nw{&_@LKB6t4`zsbD^ zVP#Nx@{FmA^cx_yAPo7A?xBkA{^TtHAUmxKdY1N`s3Uy-AqVTIAwBzn>hpzap@A`D{@*c+#+`m|!-ZZtQ* zE6|wm@Q1$UjG%LJ(-?!_g@{tG2`+uU-JCWL0vn)|=;_l?@yzxVx^n&;b~F^|q@%(#7YQ#~MPEp`mnJI2IZwD0i53IP9Om}W(aFW*Z);6un+{ttT0VA;m1;uRV z^n|=vQvI7ec1>$}eNe(ig{qe-oKm7{zIZNP^CIlp&vBf@=ito#`WZ>N{fU<3a>4@z z2qvYE+{^fcPbXYcB3NHd3^L5!p@i!63MV~}Q%am+Fajx(rOrw#L^HiZd}g_q8ejSa z65}F6>N3GisBERi=v)AJtpy?P_~K+p=c4K5fR7chc!3m2JqQ)>U-Z#Sz+))ZZ0?9wx zeK^_Bl}@yH;dM&r?d?#gqsNZj5aM)iZ)kUB2Jv}fyS|-J!(&M+yy1!Oy*pL`H>cDb zb{8BAo8?j`O`~+F=qRfC`&!g0U9i)!$j9{)s0;D3^PD?{aYh|)a?C|9#{rg=AKYkH zziz5uoBDCVQlred_a(7@&i(#mFw$&KwiSYW=p>iDKm*v3f4;zH97_x;zsjhX+}2hP zNu6r#v{kXGy2(PZ)4@CCFr+6J-b$WR`!07=vT4=dWZBc7fTYdpI~&#t49?Vbbu3Zl zCoe58U6_C>P=`wn;dtaw$TPHkL$h(#lpgEVe+)B~6Vs5BPfXE+)cQ0HxxkeR8s^zf zw{Zn7js#HNjo?Hp)U$D8qj}j;Y#x$ry#ZaD%o|7NE~=L3xLS{z2A>+q<4o%JI=*DSX?dxNV4LjSeN7KdDoo3FbA|C0VXaQ|l#>~GI~Kc(F5v|&nAw0}}(n z4{Sm=hZCRs5;gH-2h_d?D?6UBjUV`yyFOD|CXBur(U)!2@JF>lUy*1rTIflp9v6_%&18#IcxuJ=CjN%!by-*pG;hDSX$CQ9l{StSyl zmqB)_gXM48m$6k08N2GX#;?6MxOVvQ6zZs|dlvu=u5abSOn9ek{a3Y>K&JmUS zvv_VMlPH0Ex=OI4Pf-TRho0sLVAg5)*7W%x4(g)OEi}JFV({zDe!8k2-ZSSa!R-Py z`2mK(#fEt&G1pn*0`*~QdpWdRvnpV}ASkL$&hoD^a^F`bTHbu}f*XS7MrKdv4*J05 z?K#M|r|z=v4~6;S4pxkZDWD+xupEtSrVFNx z4_~F9@FVi)Ts3}XJP_=YGZ#uWOlgg=-F3;>WTxqNS=2w>^FL}% zG|I>4M>_>Bc7)o0Osq&w|JEj1t>z7R(Xr3g8|d77GG9DcNLg!ud5hdsvP_g5!xacw z-^w>hEq+Sk)2Dk6R4U6q^F}~;Q;pmSg`lSWTfm%a>R~v1QIe5#biR7HX76dQask&D zx77^j1tN{&{>H}>21!$Y1{Af z78dBVl=u_oE4|<`n3)k!qGFhjk)9NGw#$4BK2?Qq`)eKM>HD*q+3s^Q zwxl^snQ63)x_oqIw1eL5C*pO7v9s@?_z>l41~nV9 z#{%I`35FDyaTcUvyrK9hZm%LRc28m~S;(Rn09nAFC7;Ta_0|Wb6@~k?3Zx!P`1C-~ z9ybf=E128}GHjYn^_I883DHmG)X4k0;K{6 zfW$DUF(FYDkQfW56@eyT4~{>3YT&yl-yr;RVBq*bAyUDTatT@>=DvUV! zo_8CuJ-vZ#c)<*t9d|O9o8ecAL>TM%lH8nKe+Rk|#t2a^_U1Cn)Y!sZ8PdLomqG6x zA2K@4VmDjq#Qs>{>NA$wBf%@qI=hPJ9*Ji9pPzZYlc{_2MQzpgJzU1mLc#J9OqJj> zkLp8MV`;E?XbJ&vC!lk^fz_Qe|4096b;_Av^K4@KuFw<75OCnznxgL>bc5`8JikAXQ{Zqwn}x3 z#lUhqeCPw0399HVVqn!9$_WeKv~{60L#}Rxqa0NtBs!;I+(#veNYT{n8{9w6_( zn-c}Y;(E+xoSx0NmVf;Cp~-zw610{Kx+2Rg_6n}F4I}Ln?8DIpt(lj zaE8n9x}Lu--EmIa_8IvMqZTyqrOjd9>kbK~&SJY@@|0TgCuNi@q5(zcD#M_gAVO&q zzkp`LXlOlbGM{nf#Nf=+>xz`m9Fv0~I)A0ve67Cl;>D8@)V*xi8zv}ZSR`DE-BQsyyM&t`Y?CID0syz#rT=QIqk$> zKdlgW{FmTLuh4a#g{<6K-LFyZwmxw+p9aJwRU+R^#pn}wv^+l<@@T9#=GfiV<20MF z2C84NdD49AyLE4_$e_Z?vkrxs_i-w&?*@t%F!j+eL4jmqssTh!>dt@wdMh+@M)I&Z5rzo0-{CuFt@qU$l6_0icP<~fiw*WameE@R=?h7? zGTAR3s*07DHX3iKL9e86yB%)5iCeC^j#(S}W;?>nTZl2wTfU0zY9Ty@sqDW@+puPu z+J|!hkjcI9kMD0C?aRZ zw=T9`#&bByUKrmLr0oB-$(vVHQ=8jbH*FXkd|}mO?0hrZzyH@jwi`?0iuG5P^_kJi z+Mf~!MbRsV>)HO!#_b~)U)Ea!%pd`+9P=CJrCbv~oTl`q=Y-*Rwl72s-NHw#wEEPt zjL(B}1KgFGxpa}iHA}a3-8NOqI$+i_E+qaN^43n}Qvq~Hex#I0+tkyAD3G@h=?drPV0QFnFtbGZ!-+(-sj7TPH{Xg zMC%4bS8BY$K4cMZ2=W6=J)Z@y=hGlO(2e%;wn*Tu6BWWHm=Nx1N5$=z&--xnI+-Hc z6_I9%Eb2DcDC7`dJ?h7TVRz!~lk6nnD{{D$yDz*1ZapbR^5t|)4XLUt)>uZ9J~N+B z&St7*TpvrTfOmB5SUC|)oL9F4q+Mr#4P=BWdeynmSLW$tPS(lp^2T!)mA`ftCGlqxJs%-6AYmo?8<`2JMey}^c9ybh!r-E z!>fGsC>R3T<+jkQMCNzknrVQTs>-FG>poaut(R+zFJ*ZkZjGMm!Xx&W5cnZHk$=y}UMiNePGh+N)uDgOj?uIY~0Ig@&7)35)m} z7R+kvP#nKOcoKEZyvB$EaZ0_8-=GKKcO>|_A!1!SkIYf8D_VuOohGLSlI7tWi;I3| z_VF{}O$(Cz1Paw}!Ng#%$u*RaUxCAUsy#1%*^^2}*2}28h1=)w0NTopCduT}`YyKkEw->v@W@0L+ScB$z;9IY~Tr zg8~}s5Zc7xsA}3UC%}vcThE@6T`o;xZu_CL1?NoK(yhr8vt_T>ROHQ2cb>H(d(&h& zgM|o4W~5il`#^W@`?B2-(gTkc=u@@x$v92VI%AG9*jYQ`5^ZMUD}5b|-FvMWl`fWM z#F)iel2sz?`YOOrC0xgu~9#(Jd@$0>C@ESq?SX^^TO&y~)w_^s#r$56%S4T2Y7ZzL3ZP~R zq>}L!Nip<)a5BVaCK=KWxmg7q<9j#;_yUdqTvqjGgOZin(_e&&wF)@?p`{V;LyFpx z=DJz4vWl(nK9m=g;`nowE&~xQV-tzXBY>BP^JS^+%lHt!S+HEi;^fq}bd7_HeXCFU zh2CWHiv|3HUN7Ot645l~_U2NxJFJ=p)n|J;w=XP0i4Y5&Ynw4^B6SPRR(nT%FP;@N zJ~Zv_qaMwMdhTKPw)abclzYd*dD7_eU`Y=EV%i*waWcHVTPTp3Q+vEn+VyLoqHb{2 zZ|l)gpW!+Q7{M5q!FVeC%T3ec{w8EY|-2TPY(DQ25r=M9Q2d?Gz!d(Au2^ ztaF)1iEz2h6A`x0Jab1|e(8=O+uOUnU_lrEZ#!z;MKQ~3UP88S z%^ZcRJ$Am51V7Y4lsu~MbRv)h;R+oHQB!E=Px9AI?E5uzP%%>J-2Wi#(<}78*>Ev7 ztoT{gvkozV5h$rbkv16SQsS|6l1_0G5IG&oGyOL)();cw;424N;_R5uh?9ClKjIa{_h8p#| z99JwU`dZpt*V}FOdSP#T;1^YBq0IK;D3CWp*?2PnXSM%T@6bd@gNjRQyRnF7e&PFW zx=5a1vA9HF|0u!bi=zp1ZMh80-bekC4qdSY3tsLH)SJE$-iE@qy=k}_YoH`?=i!}O zw7`e~(P3-nq~?WlE7?-G1^FtNJ6v$JNX=$_tbJz^kOJY>T!n_uIB2!Xl($|vJl}6< z`q{@AE^erqUoZmJ!*BzbhP8@zRHx%iBSj|yi9Z^bOh*GU!} z#S>0y`ryp|RZ)E0A@B1-HlM(~8)+IHal~Ic@F-6xp|Rh5TEWwcQ*$D|uJmUS5$B9l zdI`hqlW-kfT@8VWPu|@Y*D;)rd<%br8h5TBse1{4nw0{NwPyz3XKV9B<~PWU%-Ue6 z;`B~mX9F6MP~_&dKfJl%iS&m%mAc3h{gU$<%h6t+5&4D>!ntq`j* z;RFz_2F1MX`chzmqKPj#!y{>NAq#w#&9M68`25^lk!Fwp4qjy{V-C~~Zcxl-_epFT zRAL!)BO$}YE732?s9qP|`pF0rB)=5r7Z>L>)}$PTy$USox}YnmKYmcu`Ob75@nuxf z3M4-Iv|cSxlzZam-5;xhqYtd_?qS;b2Ac|O=1V@AMza@%{IFSz=KLFN%5wK}-A9o#R#}u@fIo0|b{@Q&G6rlr4!R)L;w=ybju|bv89Z9R7qCz4ZvAiF zGV{=HkfT`TAIYt|A@@ky^+cdKFpJ`Hu?8&Y9J#Yjbt-D9CvdUXerJUa zvfWgzqdST3R({&{v9Y6PjxWWs%!bji-V%hNhL}gQ)h?W#MPu_<*=OOcs?*xGx^qLO zIW$tsJza|3y~aLESD9nI9!GuDocad)=D$HeR>RWl1yxbof(Q_vRo>6`QE(X(Kkke% zBJEQQoNlgIqD&?I;W5zc0Qab~4*nKB2{SG``ZoEbXO8#7<%!3R^(5)`BzZuBnQbifgTJeC_XKJPu@GC0+0C7Tfc+ezWR#O}pynj~Mb5 zYuv9GsRI`_#Bv1q2(TF`3*nWBsZ4%CXYxU5Y$bV3i#zs}lOji?lN~jDf8eN!tWlUg0uVvrK-KP!Y0lvgm%T-%^*8)dOYQ|H@S_i=baJO85Y8{zd1<-#2%sO+op+;71QcOOKIadUYb4WFxL78bRf4PG)OQbr=u@c`h=dse6W zbEx2-qSv}1yd;WB3#Y4uUs zW*fT(GW80~7YY#Gc*AR02v;kp-ockJ-IgB!=>=`xZ4_~+W(X%p@3M7^+v9O{o0`Fu zepsD&fU=7ym3v4hpJ!ZF$Mn0Bp#MHR{`D@k%`MC8(NftNm2kT95W=y!} zhqpEh1MyMsGT~iz?zcz``^ac3#x1)D@!1UxC{~_B1->ynX`ReUNdA-|ZIeOjSYB!w z_wN2M#R{LRHhn)J_8G5(umUa}BU9$t{-pGp!{%kgw|uwv3yj`)ZqZv=6TTDzc3W<- z8wNPma+4X9$^DWj4pWuI`*}_YmhXPbl%RStaS|=#sfYVwq-_`3ZVk^(eX0we=p<~K zPK78BEArrH&MFbu_iCU>QamepG1&m33J#*@UKe*;TzD#d+FQDO9?hx}FZWr)`t2(6 z>8#SH^Vfp`ma*=m=E2Ac~k+IjjNI?sk^ zEe~#HQ^jPthAzP53Mvygg|L0PTM>CxWN}tHs4@cL32V91^=&EARg<}OsrX5QntGR_ z8C*HU7w3D4W?yZaBF0|_SC6O}Y_6yw#$}3J*6_Is3#xRM<+=MeR@9h(gTfilj_wmXp2JFfrgc52hb)5p++nqc# zbTj+4{ann%$~)mflL(8Z8(h1n`uJRbGJd9^V6ZgN50}dnF|)N((e0LfZt~ICd(RY~ zMos}wf@$B#N%=y$RSV(n^{E1$3YQi*P?K9J6TC(IHvgxS&qwiuR?alFV~qwXb${Q0 zy`CG%(!lc6L3-Vm+r)AE9Ess7B9P0jwO(6g?Dx;H>Deph83tit>Z*uxb^EPAG4w3z zxWU-B%SG9_K30zh{_Fl*@pdg?eBUDNxpOhU-Q1O*aKxex&%%I7Q6nCA!2Qh&={KM2 zo~Aw@WZc^lvn5I#6V7^Dc*<3f9Uoy4a-p05#ljl&1DGXz|6zvu zbHSE1;k2P!>w1fMf8^1fJi9z)Ri)O&;(6=RnopnNJB~Mbd3Buxm2A&w27L-Jnj6meo>l?Am&e-P4vz4#HCboxdG4cmA1 z6oB+%xz20=xL(blUO{*_iUjpRj_tAA^YT#)?TA}u=7Pxc}mclsw4uOqnT{f`&Dw_*M?(L z>~XoYxo$gd#W!b{*RT5|J}LV_n~bw7U`3@<1ZMDiFTb%z;-2^qIJxN(P9Yz_a5Tcy zQ-e08d#3c7qNh_4mZq5rz6}SS?aclVpNjK}2|Z7JYYVbI8U_yz^!cvW4BK(Qd-hi~ z@Rx$O<+>re)IL#qd&Ed?imJ!*q&w_Rc(?UhvVk zEI2YW>3r=N7>mZ07usBd)@3ck7dVyGBQv8{Z7s$0glH(6?uDc*`X4UM?f}bt&5-U$ zKv}trq3OHw?=>Gtnn%fXotRHbznR#OOW&aN3dx?pnE4PJ-tO=77!`91<+CeoRT@Wf zf%nj}tcpKdEyKkXj@X-u#4F%L=XR#1DH9DwI?K1U6whuc%7K#0K!QvOZwJ9t=*04h zQgqF#gNS1leRkep{k6eJEg=bVG&EP^6RM)JTYIcJ8P1j#VMkaNyM z&I9ANzwmzghW-A#wg0NEt(u~`dv4$Ex!rU>_c`Y|2SkxHlI{D-2I~h_j4keXDjpd* zXevZWWrJhD+J?@u&}N5DlnL4Iliu41ghyy*v6D-0A;mbisjabgX~EdkV55JpRb+sc zM)}Xv5FdDTh1)hA#{d$TUjebAqexNcf63(%{Nuqy!wR;k-N85jJiO@jzLekBs+(Ga z=P^fXi~jh;Kyr4!^BDG?N?u(lcU%sSNn{&HgEo*t{1B$SVHv`GaQX zkNU(uhIwytQZ+u?i+C*nh$EiNOjOlv!Jgy)!0Pc$xfnV;{X@tIga2T|fuJnNHB_LR z3L7R1fmOZ~jJ(}*^19VAMslDd)Ua9qVGp6C$36C5oYxO27J9_9(#_3q4sO*_Et)6A z&NtEWFni*d+9EB>Zw+nm^Gj*<-j!rb*b5lfGulj;s7%(RXx(x2>bmD`x*Th+E(RWz zWWMG|KdP(7)0DV;wWD8*kJ=SlHZOyUxLaGb!BG)y5W$kNb@aqhuHT_^?i-c!h}OH0 zZCXh(jiMeOrWm!_MiN)-1WX-GuM@5bCcJnJi0zeTtXMfhRN9o3=II+cHy`Qq+NsN> z8rzD8(*t$jv|MTGe%q=e5G<+HL^Ht^1+^7ZzNq^{5OF?{Kt?=GJFfIZfWi3`M8;$8 z#wox4mb$k%N|vO$~*a@P`wu)Pb3BA-MpDxpFwT~LM*mT%#&<}--!8@wkm0%a|7~RPFqQF zZIM}Qx%H~8b-6XH9K;X1#vhvA#@8o_@kFo{D(^Q^~POhUThpK5W^cBwRs!Y&F&|^7-1CQTG4&YV0|c@LN1Y0z}nR2 zQpzTI!c9tyz$WTFo#`E;l3aumV{eD$YvkpgAoGTX&~ElcD=Jkz_YaSyl*YCDUhqw- zx!9IOCLgJeAi|06K*4DcZ8zAsx}^h?{c` z89X#c!v>4K&H5JU7-Ze7>FV71G1ENa=g74KFj*HdkBf2x{(yd?lo zcm1C*^0EKvsrmORE|;R1Etby`N9$MA8B+>v7D}up?d#k3__Pllh9}L7b$kUH(}pA& zSuaZqLulS}r%bUi$rGQi+QQCyW#Kj9Gp=>v5oX~(aX62&ZsV_-| zW*?5ZS<)I>o(lFj`q@8pja5;I2I^kFUJWl8Cl{Pd<$}=)9mF}A)duzJGzVA)g1TcB~24P7OVTsBeY%z7TdReQ{-CFMH-yD=a}OnbV{4dp&&SMEN?0*WRArE8@O;V)D>w{?(_UN6D<|a=eFH z-g?QJp-gyBoKmG$0{l97>KT=lSnX@485<*bFKVUXV; ze6iP1wap$86Owy4X;USya<{KDPiG?isB`GpF{_SxxZp+ZYjb!*-lCw00$8^rF>GXf zHNGz4DLw8L(a&0{bFp~*wFNcZ>l<+7s5Og8M6})3r9xg7-w9kp{(gBD7qT@Qx*n&U zLRDk!;_O%$_}V8lQk$U<=zLk61^Pj1?AR*Wk1s8^r9eMv1TR&bu89=bSp6#QJyN4Xwn zXOY`8eq3lXn*W_(`{F_C@Xh(^i-Qtdvr!-Xh(NpcURM!kn4cNzzob%Q`Wk1!yAW=) zkd*zLg22<)FBxt`Pz>K~jH>vgD&=m7*ZlNozs>nTjxv@or&8lJc>rIyccB~{VB^Ds z{#|r}JMNES1~N)NC7d_^g*@T-cX07%i1Fv&U-Dzw{J*WZE&RYDq6%ofN*t^pSs}e0#+}&QSC&V0m!jE05e1*Pt+3)iwIoMQh-ka%7?hV_kL>hRq6?3^q zd$%%;%3rR25<%Fu&LoPh!c}cKQLzZP>5eHCF*MMA#}@ksmas90Q%fZKL%eO#DFEKHSMwuc@Ho2i7}Q z{A~{?speS^yTU*&B{CmkXPqyqJ$BORHwgc#1&#JCPj%Vi3O9WGc;v3+=r9jwfn5Jc zRlvuNQ1~mZkUQlsa_JwuGtqBZ?rkx^52sg6eP>+t;TU90*cEEV{nm+Ta{2QuHgcI; ztWHc535`2aR@OkAToW|ZP+5RDH8~($9bQyhZS`#syEodPbAu;vpFm^cJl1vxv?%!4 z0?uc9+@&s+Ra|A)QIKceU1vw`wSE9$fJ?GxnH7r3x_vg;cyvYAEkr-2mp!|m&mQC~ zqV*A}GGPlTcs{LO{bVD{^EOaEJH9^s-HEAJ>Ymm|H&=OYs@$UP>ORy_ z3l=;l44%Hr{&eab zooQ?a%aW-A_a>@emg0-I^u^O~4^P*TZ5w+>?6~Xbm{0}CDD$ooWzve6qU_4^{e71Y z_*h^r`D|rh-S=-tIK#z5^|Wa{<5QWLBr_$*1y9;Pd~+Q*<;Egs4u``uoEhl4@91zt|l(hvW}fH4BI8|D%-7c-EZEy&-?M~<-7B zyXXG>XPGvR28?Zm3dbnRc~t zcL~4~G?av-iXnTNtm#Mf?6;NcgUC;7mO9qFy{2(^EGzF0>b(2<4u46AM2slEZcwFY zNFxK8xs@bEXeR!RZDaYhdgmFDk7yQ(zjpPoeBjAu*7Bh*Zzaph1?>kAg!2Z3!orry zdwYMTID@RL-FQRW;S=Nm9bg+NgA?TwxuGH~2TW-Z&uw&KRw0)NExp z?x`=`Ri0FkdM^mF_{wyvM)c|m}$pai=M5tX7zm&DO>p}$rX+#c(y_=y}SS| z=_%wdG$9`g5I*V%{q8NL3}?wgZxr&s&9yW9j3p}UyttDv&)!Nk!^vhfWbHloTAk!E zk1IkYG3%YL4ZsXz*om*_H`J>5BIemaA8?>xOMst)CmS@9rfZSzSFREE;%i~`&YeJ< zc2(^Ca3*hCWSxWFeJS>u1TE;VxgXl#g{hKITH)C2=Oqnq@Bm1nSY>sM2q>^eKA$fhrTA;Nx$?tYL7Drf19IIN>|$ zJcxP))!*WW(&hM*I=`m7CDpyzqEnbzl>a~<`W_0_Y_QI`89dfxi@EXxOWI#|;j8-! zknV8iJb<9}Q~j@>aR0#K{ee|F@$VZ8)q|&cE|3@`?CWK3Qy+NCt??V$V)x#;?D_mL z=Op-b)1bkqU`e~3o9n$(>;rlxt`7wISp(HbSX zORYewt1GBA<&+H9>jL@L4K&`{n$l+yWfSz&Evt=5a;*YLegpqFH{!p~qGkXEmU?u0 zXXMzbrVv>wduMOcBsbN4P8imJaT50M$A`U-@7bM_EsAeah(5YR*l^D4N6^hz)8YsP z-=i9_*MgQEjmmbdo5c?NyP;b3!B;tH>VL3H1DW}OC72rV)*}Ka|NMp-#dHKCb`9Kq zV5Rzx?I71yZHQWj2VEdDpsaYcsruLOH(qEd#FNXv$EX{bRq0KvA+4)@{y|TJKJxB& z2ymM@!mkWcG!&jK@VK)(s`Kfj_e|DP_@M}mLcObY*3-AleV4=GdoF{{(;!V_WY zbTZR#qKWCQ;D~yMp56W}2sRO|=J#9SH%N)UOsAHszDIXaZ`&jasF?4;Hh>Ht^F8Pv zPyRn6;^M)kJP%Kejgnu0L`wBX%pA&R&g4?{x{ z_A~O-3TASe%%ajO{I4<+ue>Comg4HhYAcClq6jznG{DTIvv;4@nUkft(>^-6^bvwe zL9vyaU&1BO)OPtsbe-dU1MchX$XMg1`~-qftKG-5BmfD1rNBvx73;%3`& zYKLP+q%-T6?{@Z|OkTOlCg-(Io~rP$ZlAF|w=}f*do5RB^#L0%1Fcg?iYuE?ua^xK zxo9WFt`aiDZSX$rxEH6!(ov|}lpuMO)(h+O47j7PyzBbMSI%tb2C7kA`(fd3D|l-C z=5d+j-QASQ-Tbu{)LoMaN62!z56+aeQaFsJm8NFTg;p%Jds8>9mYf-&3Z5Farj`W! z-D1{K|kP!0?j_2XnixN9|F#W@ad!WT@sh zF2kOJK5NP>F6~FM1>LEI)WtlH!nER&lzXKz%PHI00$)v1$H9aGOl~(%*fO`jv`XMD zvEr|_BAx4<4>hjnAC?8bFPSf0F8`pM@|~G_n0mZr|1xh*S3HUJE?P`XWRSnEZhUgz*w_Ek;8kSgt$ zTeQ6ybd}on@Nc{BckOV`=CC8!U_#l?Cc+0t)<)GbPa*Eogw-gb^e^UOPZ65bngB)j z`}f0RyJc_Adf!*;Tl$ESN;7GF0x@Ey7sTTyw8MpH?pS#eZOC5?Ls>tvdPJR#)L#dOgyQf*!_o_B%Cq^pLyMUZ03EIcE0ayOXE!dFUR$x&pZ% zh(0jtK(?q>)|G$1B=w_QtaY8NdaYmIz=w*uVfg~}(oI9YY|+Ctu1hZ3C@Yq%FuXKa zfI|b7e>1c}=w^h5m>5!I9bUP%@QeiTHTW+u;Xf|__8R`@8i-$~@m5>2dlQWY-!0Z1 zas-Cb%X|e6CG;kR8~mDNCwMp628X9U@nNwR2ADmL>4DA%vC;m0=x-K%P(|y7tFry2|7Kg?V&A0Yk3LLe!P52 zQ8b#JahVspZpWtT=KHyh$Ap<9;rje{n0v$upnM+puJ}17ho)-GHwj@M@xt9*XGTJZ zN_;7lm=25iUC=3r4h5r|uc4}I+jQM5=1I`lt}K|wArQt6n9 zEl^ZVHH+U5Q7GE?ZrS$k0#?N}2^%b(re3dcPZkGkyVs_Eu z@)nnTLm`IWe}L@vX_LbbtRoKa4=mRoSn7fXEr2-UKFx3U!*8#Y|1PgmKA7}zt$~F8 zqE(L;|C;uL8$fXkG5tdT3ykUTRSV+_V{~3PDP~~`ztZXcA6IIK1@OGq?lJR zZ)rqrM^KFV^Px#oug}tXBa6)LA(E10R%V~fl^Hhdx$L5Er^Z0?>0iAc7NF>}Xunb~ z6;Jz0fMBDp?M+akG3P|4YT#}ns%$(=zyZa96vf*;26Fb;%g zW2>39W}me2UB}|V4d-LC_n%|AQM{|BT~p@i8AkK>t@^!W;kFjIJy*=XWH_++zj5L~ z$_0d0cdhejWcJ8QXW=BeB{{&Ly%W#ZhR5fKHJ@`@15B%QAehyUrz7bqh^lRP)IRQ%A$K6OIr)@` zEKwZ=Eje;x%GtOeEik#la(H`nfiQ5h`}95082N&NcG3GmRjecPn@*~XicX}Ld756? zWOr)QR%6&=jeD_a7)3riCp4Z+GS@E_#0ksXeEi6Yw7p9bE;(e4{pnQH!uQdM)5r_o z7rK&_@q8GkmgdTYz|(X_kjF~Km;wJ{TQUc^PnrqpsEKLC%{?6@9w!%w44EMbovzh|?k%hV9p7B5G#mxM%FYUVwxOh0%J@!@%~K4Y$vj{82wokevRi59aNth8CrmS&Hv85~>Oup+ zs_*``g2ygkZIG2NulGQ8eOutMYZpE4t>w^mu+<=E7K+ot>hPHH%?NAnTKZ_k*ZKA3lqDZo%Nvt{f6ChO~Lcv zq_5#Wo{@NK(6&1u+H_}~Zch( zahe6gFc66{tIUIfF;u|L!r%poUzVRPe{}_st@+P4M*YAdOUE$$wnC))+m26}jcndl zx-n%}ZjCVV&sJ$<=aSjER)%%g2u%c216?^|s)2{A{{jX;ZUI5fA6VZmBZWzT9BvU% zQh(Z1MyKn))wJhtN)*Hl-i)}6$8c^1kJ6zzFAT)A97cWgDm9nli4%N@(h%QLHf(_Z??&JVy}XkcqFBc-)8H+f1s@JRns7Jpcs z<0}F&Dc!(P=t1v=(2?|3*geB@=ZVYYakKD`5PQ}h`({=mZqL2F)qdAqKXAaJ4}#hM z%=6XsqJ=@+53G*Hf}{W1tyRAZ(kK`J+sOZU1p2z^vmJPhYfcQRl*m+VJ-mE z8tylZSx4-PO*Cy*{J`ojxR}30Oebg9caCgsVQnZBsMWj{o5;IyYk_!@n$Ci3_EObb zLQP|667J2PEP_D@s7}J6H?*tidq9$2n0B;7aQtNBy_Q}FxxM7sVt%x@&#cHd;1Q#L z59QqaN*`9&a6akaVBdg==t=o2yqNqe-hh-I{{RRx%D|0xVsPZ!e{UCfjQRxs^(_7K z;{Px3QEU%0OVbXY`d^feH}(A$WAvWO=!2aYJHt#(K*dlM1h&5P2O7hS! z>8et$q9?^kU*+a;_-&s9VSCNB5#{nB?8m;jhB&W!r7D~^DuobmrarqzQWH;n4}=R3 zBxjb%y{fs)KMd`60(QkmVXx*M<|J&H)ZJL}3vtz|k+MxveRXuPM{Flj?FyA;H=9dT zxCq?qqFr~1Yq;WW5ewL=+cu~aV~oyMVRrf+>-#Ulp5jwX$rXrQ+hjp!U*BKh;uunaCAIY`lQi;J-vALuR>R=WI(K?7f7K>?C#Nyiq4|Z zQFzB4pB1G#8$~}>EN1da#5IQN;6BpFWg;r-XU$4yX$VW}`j=!$>`K51gFKzQTzE5F z^hOXx{FlSQpcdj_T}Ynpx8a=ZtYL#_f%!W)J;c$x_Kn|*IcQDQL)Bq-PPAKl@_RoF zd_b~}(CX=%-6W@!K`Pf9S9BMW7xHL_$?OGWsR6-J@||35K5bKtFpY#l$xO>(o`?0; z^+{H_CbwZiiMF9SOt$Ko2KQ28<;RRhyA$^ z#vdc@0Djx&@m}&5RCyS)Y+LT>S3NXfn86 z>Yx6go98rXd|pOlob}Xh?_i<+69sbX=j>?fE%5wJfrEUU$^Ty6DH_P85;DKWB?uat z;HR0>$@PAW+hDCADSQx0?M;{nhg#s%dMrqPYKYcSA{0^J2@F_#Pa>r#RWFkh6kR}c zEz&nlp}mVrhrXEPG2wmF*P;rHsLaipO?qdR`>557WPV+S*V4_nu>155pNEYO=Vu>PY-7QxnaT9^wrDs+-;Zc%u>Lx*E;8b;gIw)dp!QwDQ99x zPwjKkHgWd0>;2b$k>`E62l?y%riV`gmR!Bu2Pdb;!^RMJZWRUijPfB>$C$pqna8Pd7MXLZyI;D$BA_I8VzYQVXv_DW$)%)-e&N-Jl{RZ^ z(hM+oaR@B5fea8)#M~M1$Bd)h0d1zv6X5160%kYDE2u*2uy_>Zej0lkOkaw-PDBo7Oe>o{}Sq zMDjIfW^2(%s9?LwQrjH?T5B+G=j9hoAsupbkin>~%guwX>IOYBnZ*kN&}rH;|L+XV z)44|Y0TEUq<@&m>K8V$XwWQ8{nkNSd->5a3l{`#zKlBtJZ_JO5r`*-tqU_7jl zs5WP47*(ch+Z&%bIp}65`aFSa&%MS&K2loVcy8!#`?UNa zbz)MXjj8oG7Yo-1xjw6!pRZm<6Y|1`RfVZz-^z?6!_*V=X5zd})Vl(-`Sf2Py|gId za@Y2{_id40<9{sX?NuPXszWsr)E3nit+JLqU9CcZ)CW_R+?39phSGp6M&Ny4lbq60 zsqX{uM(f~R^Zc{8RH*2_f!fOS5!Ye*Pc|n~;ezetljmu*4PcI7L;!K_{4;_5 zn**m-@2^G$hTabU9lS5OPGd7-wdMR)Rw;Rkoa_!E+ti>|W0=8}A$8jwoQETX{Ip@) zAfc3Jp{$K{RLXNI%@bEaG-8bdg618MNa}9W+>Qy@m*y8z%$&7c6QCyS;h@!WFE9)1 zDRku>o#68luA*K09uTvw!?GZ1G=6+?q@+PHM zQ@W_HXhL6VxZ*x83mn1;?OHm7aHdO^K06M3eS_#AyN7RM2Oe8JxD~W98!HID<72@V ztsu>C)?6wkExH=BDA3j5Fwm$!>AJJ?dYFdX$*J_ZyFZoHQy)W;hC*Dvl{i_|uK zYo5U)ayqM3pd8znj2#n5U?9hLoD3{+c;cC`?{6@PA>W_=Wa|6k-BGCvS`qAnWnvMq z*nwDv_9+dy$DK?zf(w^nmua#*7S3cbF)>5UfS*02zR#p}xz2`~Pc7(yFdVp;%)j~< z3nG6F8v?>|%az6_oSyN$rD(lM(e4zYfV{t1*n&?^LA#zpgA}2O7juKk^vc=RUAmf^ z7Z`b^-1w^5$9If0qR3$?viBP_( z-S6EnE_5k@ zANhnN8aRDXVV$d8u~<$U04c)O-wl1TIh43qrvk5&s)%A8vEiuwkdPEr8bnLOup#1I zS;=RWH)OL@)&Qu|7e*)rbkaxQta5qiq$uy619GaC(-Sm_#rcXA9}eS+TfVC2Pv`pF z>7<~ajS)R`1oR+lOHFL61C248`1D{-F3l9Dj@TN$hKGQ_tvu@kW|B5yp~=~w6KLG& zw9C)Oh}~4cbwIcEuWjpYYQ86*r;8HXy&)2aA6U7=%?FMt#D%lRO{e~FI-MqzKR}JJ zCGugG*mS=v#?YaHM|RK#7vM=87~%KxX}~@JkZD329o1n*e_#)GZofpVyI4OkWR@&;|Y4rKS zUA({T^Bgsqc|_oRLvx1Ai5gJ#RDtaFCy^?XyN(NTSa^uv6YD@xrPjvl|I<8k3e_dckXp%XMgo@D6JQud)skYjm<*|JRNGOBYdS_ut(ZzvDayf88Z8sl3KjG>k=Vl{T&kfQjCeh(7-tIVAZRgbiJS zhP1Q}#YyJV?KbKAjhmt}RC(yJNoCoKE+-GS(VJF~66E9NMZDqoDt%`M--v`RX+G=(;>`&q`SO%z`1{V|_KkuN1B zU5bu!MQz6ygPtEdi&om+ba15`QseA5NBWqq3K3F(@Nk#~@pub9x+5c&7-Q)~=LiB#QZpMZACtA1>;ry~!zHT)k*Vh9 zL>lQYIa6g5`D<+iY2?E9MBBPz51w?Nn(JjHp@(R>vxa%Vw8~BxTjv+cS;^0Ht6fMF zfE;I%g3l+PL1*fGd|G8$G^6{illwC9fFjQ-sWT_*5}MI%wO_FjwC?BOo=r#NFKWB& z_nve?QIc@pm+_PAf+|2($R<@Y3#ulyQ@hS~FVU5B-gHu1Ns24LneDDFTmPs`o@C*x zZu-0CBN+ry-GSZD+H(^tbHWnh3E9dP$waIaqg%{IbRQ*7#NpQVprY@}=V%W1<`r0n zJc{MYGsB9%@`6jwxI!_G^yW1n+alb~5@`u!V0eTRn!octCLgwn)z;;`X=7?U&XpUg zLNHP+S~YCAx?!;n+5JQAJ4}H&@jMTDDKGYyMrRYiBU_Oo620uc5F>czEA^MuJX!Wy z6)L|3ph)x1_7|)uz|v;nMXdnz<1btyR`tIt;qx;T&>5`Dr|d`cy$4?of1xh9pseXi z@#{N`fqV1F@t)uGR(UCO&ARXhmI%ue!IVn_Ur5G-+2NC+^JiWL0)Z<$l zPs0nG=bXiY$BQ%k!ytRs{<*||jt<=)ql1t50t)=&$4mVD@e*63gW&eyQvjU{I9P*x zzDzooI{gknQ`zT{e~i|bpQCl(=iI&F+5>MBMQJQwI}|qXN@aFA^#3`~ynhUI&xC%o z8^UT`N4|Kpa!5dR+eYpp?=!}O_90o-uC?EB$tfS$Ta)^w!fZ<}dZKl1=n`e<^gzTP zFMG#^I8f!JGN3I8bwLShC;;7r%#7fZ{%`K)75?=y%dL1f_2XHJ?zf*uE-y}hQ9J+| zBKRUTN^`6E2bM}fK;NGX%z!l`oI!kvij9J-b0wvGHKIJONU57QB~ycjtZ7fIHwDIG z3oVJT9D4Dd%UYM`-wir)dus-E;R5s%)Uq44PG7ji@;8K(yp~*yCSHLubW2lbbW0P! zzhn=exYKkN2;A8-u;}93P^-(=)X1)qk5J21!)s!TLNo~_atu-N`JTNvZAR@j?}iDi zN7>qmseiP67VLa8k672^;y~RDIi1fbp;KP+*4e?2%>R_9JjBv zbjfsAQt+f>rz`h-+wU;x!v$&lHOtD$yM+!lPD6|IsnKjm)w`|oMF!|34 zhu3aZ7FN~;U6Wv4PIi~W+2*bdQ-s%jVxd`Xm^*fQzfnXP=M{EOGfevm>vD?$2}lbz z8{>X74x5R|=g5oA%-^1>t;NR;b!9L)crHJkIbE2OtRWwL!6 za0j&m5OBin$%_Cr%t#aZ1A1S5RNt2fJZ;QM?R1w!9{a`fn&y5b(^ZK2gmf;6okvrv(cQc9^yW$$IA%z~O%xX)W)pokr(?T`H+AWVF{0X7FR`?P zG}y&iCGN`WTaiLoM}Z{x5CqdQL)Oj|LD_9jX?C55M3ARO)1{krBr{Ut^qw>j(CIYa z-EIHDsOiO)w247teFpc$y^Fn}HTx;wu6N*GE>F-nb%II&{r1Z-XK^@k*CZTT?&(>&8A%|c=?dmF1^uV znnDbXJz|D+Dt#1WD{~g)OxJT`%Cv+z(o_i-6 z#XuC3DtN97y^0Kl3B=RJy#{~t{DGxl0i$zEAAc-~mn!I`NyL?5>v2BVIyhf(XAnr< zdI8_MZXAnewnE6oICU-NvS~pT*5|s}bo(lY8LK}J`I>vaRMdamdX?^~LnfOT`yv=u zuw%OodWtUAD7nc&>0u+rI!q&zba-@4lAHXz1Cdz1RkC;?cPYf-fiB7)!{NyCs5oqT z9F;kD*ki1FuB+zGAN%yU9(tNoY+VTKZ+7@CQCyz&EU@XTz!n^+tPRQHLe~iGo$%?8 z@mBM+5zE?7kXzZDJLRvNE#d51zuxWXS~0G#M5(s3?WGUqzs8?CGCbXhL$lTU4{w~m z@~q}$^agl979q58GxwN2NL{YAth?sTRPthDpq|y)Oc49>K3_F(S8*n|#jAKF$q4SC1@ExRWSmvLGK;_#~8k7Z>c;I}&i(ozYV8Ith(g75f}Yn)i?O)JCf9^MY~6u`g$^XG4d9xwkk$a?Ve zos#e6KAzO4dH4(^CNq5b;n>&|E_A0969rQKIkBBVJJg+zu6epU`n97)-irFafmYYc zwstrn-v%MrHTpnh#}PAR>z(I46VLqviq{eLH?b~k{G#G^9^pE6U=9!bMq%YhGzaYt zfj4mlVu}fjjPq+n;T!kpc_6m4t9Lf0H$pGU8ZK>4@C+uZQ#-cm!S2E5trPT^@TSbm zXo!(p{5H!OVk32No{y!Ko=_#f;7~H+&z1u3frbV(`K#bOI+M#RzoP@#uvofHtisHC z1Vz6wrkb?oHrJWSaVm3}UtcSL#?fT?9UK6YbWn-gXEXwF88a$i`2;*i?$mGQS6#E7 z&4rdCxrDvjml~KE6no(>8nCu%89|Bh-%736+-43F1UZU*@t|HmSf;CRA|5|=csLV& z9I~N!ktH?uM?+^Z8@I5}i`8xEZm~;7EELBfK9~n+@Xh6|EgJ9GYc}1F@EMLip{Y?g zL&FD&8*~+XGSV_6+e-;eMU+4QC{sg2k656Uy15dOu6=N#cCmspkmA3ce{p~$8XTdv zki+va!BFH)_>J&vM@$F??Oq5(qbWu)D6lATI_1uE_G;>v%83D}T3t97PQj=huCh2Y z;w#wlXP3*EcD~s<0|arYofEq9;$ZNmhUML6@%=;_w$Z)7otAh6V#$*loZNf)VYA7t zi8pX9wdzFn0HUa)^V*&IR!lF+M#A|>q*$5X0IbX3qIG;3(^lEB9o$F1C8dY{asZLj zQJ19MqV8gMwCl^GhGKJ~M4tm=c|d0@JUdOC1Q`o2rz7`44qnzf@0Jnk61wbo;ww6b z-XH{9Ezp%a&gg8(YJyOHR&>VNUq-&sou43-8|J4!ZZV)AZpccIj*dYTaQ%>NVDtI< zu|tR|Xv@!vc|cENyQA;2e9-7j!nKA*;f7JCoO@ijfc*;Cs?XoNWi{u}MnymAaJnx6 zCt#ISjBMDI1JWf%P$Hbm?!-K1HpYD)+YV4?AiqrKIre$nPxpKWhi#77;TG|jTINR` z>wKaPEF368xz^3SOP0X?DdHBtrCt}`P|tGn0@xBUbqOPWxo{bx?Z2+EN-CAcPj~Ke z*0z-uJ}7P7C3!4c^tRJh*>^l*g69Mbj94q0#N-E-R)J3m=pBqkn>fjJ_JwsyR~9q1 z>pCj*RIEKE8`8XlHa$2v5e*fCf=lKX3kv9>A!F8L7}2IAH=<<4ZZ63w>Ht<3uVJ4; zq1}!$(F@GplF^B7@S$*2=;n7q{DGU?`_pNGWJNBNh0x*ed%ZPVJyWFJL^}ir2k4Hd z;AtmJTSc8a?EqjC3Hrt>QEUaA#;AA>L3ei}!0S!zsdz+x<0}LVu5Xm2bNz8besHw4lgfjwuXVlL2gwM4n=vv2|rAX4cPSh(-eu&U#P5%Mt9g9drAR(R+x< zD=)W*x^V*wDoeM>w2$?U%A)gh+94zPG)NrlVkPF}_!-dxzs*NmwB5}38dhf+RYq=t z_!uR31b>wUsP`&)KZN9b(nvQiFVvB1#G<#!vzWtogsx!v!#$_kePRjNR@6~`sVXU3 z_34EbviSL&o%N@fK?yhS(&gLcqCMN5&f}k~DoqMeKmXlp)$-`^73cgn$9V*-xpQ%F zKwXfc-iBvBdp+@G4tKX#Rf#F#ZTU+1o&C8O&)3JTF4$&(w=oopXZd}C*_N~MS{Nvo zNHVXv(KFKJJgx15wH1g#oT(}*A(4u6M{QMKE4L)4h;2uir29U44(NN@y#N?MGP+8+ zx_5@OV24>W6Dv3zSSK&-K!v5p2m4a&NBK4DG_*Tfp%*N`qc)^uBa*nPl(vJ1&r5`A zab|TnOrCspQ{)LPZdcFEi7&$wg!sw;)cmq_K92a@9DEY$fgDN4b=eQsw#KDN%F58 zk7(pdVOqPGUbs*1+K~960McF>ta)T`c4L8Mv0!5zY=ub%*rum<^M7DHNbw-=Y76)A z_Nl$t1d?VNJ%57y|EH5?OelPl<6_GpyRGeR6d<`e*O)B(KiGQJkpO{GT3m_*w-ThdyO$Oz?jGC;?i8m4Pq84uwYW>MyScZ|z5BoKy!*VnJMXje z?#|9+GQT;T{C?-0WSFmf#Jr3sS@S9H*mmI%)Hr{-8mne@-tvhTdWQRYj6hJf>*M=~ zoA8R}XAV5wfbXu7VD1N{jh<=$5ODn~_I~(je^qBU$>_k;lL09t+v6&)o{udiy)t4K3 z2)|5|!IxR*FkjGlj{ zEq_R$>rHPVW9QP$QYfO%Ve!L|FYVu>;gb6gg5+8cp$sDB`xC%x@$9`_D;qES6B$iKsBQ-3!liZy>RL6%{O5EzeV<$=EBQ#0YY(W(7W zZ|-f4NKZDAt+zFIul)eSic6;a=H1LF1g?n{n;kQlY&P+D^WG?7aL#R~i4#Pz?nD#T zSf^QxaAR|p?}Hd#i7zK0;&Lj?b!&mO_ggV-ON5#}meDRYSrxyr6Jpr(-2!KASX+!p zx%pKyJB&v%jT2^>=Y<*YT?UeET(i*CyIi03gG%db2>b9I`9^AM%6hHp$tVUmQcpW< zw(cOk9TV$fPE5#REljrV6Uax04X4EzTd4OpT=X~itl7mz(s~lJefUJS zB~wDjAQ|dXuE{x+&1;O@O`={mSt;i40XvX1!D8gK3RY1+_F7h$(@X{XlorkcE_SSZ zv`T2|IhQkI)HIRKSrC~;UW2cPG51nJyr2%nf=-n>GY?|J-uKiq{PS6xaz%bwl}a&5 z1hm}B1iLAGz)$`8>=(Ne7Cxx7Jlg_m2xC0WVWD^5g{~ahwJBbOj7xpVAWU3EWLn!f zPM@xsi4b#KFaMDT!OC?E{5dXeR(lrf^kWJ!7dAm%n3Acs=Gv7vMBETey*~% z^$KVU%rbdQxzf1ay``4?9ZVGbGXcRAVTaK`fdJ}bsUCXE_zE_gX~UysNxrB@G_k_h z6`vXX>;lkH@|9$i`gth~3$1vcb`Vod+I&=5aCYYFQ~3Cd^H6%@_DlNbK<9%X7+;Bf z>P;hqon6ZgOs5I4OGbg%>y%&^Zp`J)(5V!mn`Pb$&VmgO37#6>O*A2!oP6&x6@2+d zgVcf~^GN3_AuYBR1a6koZ@sT6ChSO;ZOE6j(HsGZe#%`RDezAQ;{`#JZA^i{T8`<- zsF92yiI;}HQFjxqp<#qsj=rNAw&bxdd>-*5^CXA=K^v&&ubr{Kd+dQsDoT!-1ygnUoPbTqm zewQl7>?PJiK#HQaBx#HV%h`4i+HiCrO!V|__O?e=I@>h?927~j-D5`{DAE^w;8bZdl8RhOj~ z!WXnoGdv{23B!nSg&g+wGmf_G#U#sm^Si{DxzJPxYlL9adJlW3ctaT5Ca)AH`{il^ zDb%G>(f}V{*3FHu_Tsn9!5hxa@W6z!b6$?8pZz{Pb|4S8!J%=B)ba~V zk`#9nrHO#|M`KuL){oH~44^&TX3+E6lu7`3Fn$1Unbp{O7qc!4KnpI=-WUP8;mz`8 z_JRnU!3D3&ek@qOB)0{q`g+BQlWQlQsWwWg?&sK8;PyC?iezAe@o%NG`xDmB*mcjE z=Iq+WB~@es?yy1Y4^~+s0)Io}=j-omG0x7#Q7!oWA6BBS_vH5t?)1kY8Na792Pe<< zFQ;b%{^2=@-T0qMHIqxFeDF3?$t^9vmY@8T@Im{723CT_G_0;*^HuMwQ$TtHRgFng z+fw17ke5@WsSBLic9K%jDt(bZa4grx4XQU38pITnut@s4xj_rogGsLQ<~o0PdG%F6 zi*=`4PP^@sW?DHE<&vNp*vF;R*eF-q;GZQLE||GPU@pp7|A+v5_37!8+$ZAv-vWvx z%7}j{B+=uz36-979sl<3vuTig@?B#3{gd+DywcS-K+*H{xz~O!9Hlaq={^PMZ>$qL zmcH2c``-DQ)k)~Gy4GcHOLG_$&B%(4kxxNkIt_05~O6lO$okXf@1 zBg~I)oUOQdXa`@sEfGs`GQovoCu}ocyf%!!HfXc+F#JX+O|!BQ>FF|(lHtQ6G=kWP zMV2-|amqiw$#s^WC!!bE_!Y>bXU*aF-dFbn1#-pf1QsdiUC?5SQ&CtcgufnCPm~>Y zplv0QquZud{$fm-DKL1%62LedblSHa|14cjd7c@1+c3ppK=DfEZ8Ot)@EWkTX{Wrj z@s3G=Z1BqXd)0>ugQyUfErpUC5gA!%DDerHzsE z^MuUpxt~s)EjJIH#?XX}nTwlyyU3Mi!ExI!<@;4ceauwGK706aqB4zu>u2&PqVgE& z;f*dz0|oVBN%$MuUeMV7;ZBA1exX5a4ZiA+E{Uh!HtGeEpA;)i(Fld{eZFtHCPRfo zP2{?1e59VHb66D`RtQ07d-%0zc+xgQ1t1zw)3L4jVVRoUeC6Wm7BsH#HXC|$c&6+p zUHv7W^xgMTO$Rphe6%Vrl#?dQ^q*Fs(rY{hjW%o=dkGPsDJeGsU&pB*dneLqdVa8M zC$Z4Y_|a=EnI&6TRhzv__OI0QAZ$PLFdEH_&yX+4PXx|jzT63(Q%Oyocu~#Ncwovg zm&smw&iCZnx^7NjZF3)EG&7puIJkJw=Bd&;cW2YqNQyD?OhAid6etX}(&u9z3dVzl zk=O`IS}uqsk!xumqzwXC)R9)!Wrbo(2k2sHZ#ZFd5bPmy_Ieh`%>baz9%rXpveMAV z_yk4ro>84?;r+s@)%Q;f59YrvjPmb{md{mxMMg{oL?9o+?}Vk&p#-b+fQn&eS$gM-L5-c`@B3z$?l-P@1_} zal2~LRbt_+e8cUB4N>I07`c>#$B{;plkK`kP)uiBDcE-GVx5A1{i4NWAZ_AZ@gvox zj)>d3=?KjuLtFdF#0qDZscf?zx654e#~<{I-koRT=3S`YEOKaPasU|5NA!kYyDjk@ z8%n9|elc0jGjP6&+>WWJ5LNas+Tv)lgKl-uY1j*X#CjC`vqZPhZn+r$lVJJN&t3jt zs@Apyz+{uFsBmi9(Czzpc|^-RR5=Mj(5?SzY(g{*a^UAZOiFxSLV-!S@SZBCvOeU5 z>Dtsp@BDJ%wmt%u+RsQ01OpUzneX%+wY#-2 z|H5kcAkWjM$DOUB*H_lsp%P-`kYJE9(b6zkazuOiIVvF@j8rbwG*wx{F7w5?k_jn@ z6>CtKj0{2fmU1<4VXxPHMoA0PL%7PB#tlcqD86Dp0jl*g22R{1& zt;M=PUb@}DsJ;m5;jmIXq_OPj#nZYufcFa(*a>M{7GIf*1}RJFdJckrzBk}z57-Q3 z@i2+?*EMVHFJVsqVpt4wkQY>m5;Zc^9x;pezI}NxLCy+CfUWzh}oB+wB} z2O8~)JgVWP`9iT?tm|r5r)G|@tFm&`{z_wZyB1n8UF?jEDRY9bieylYG!|k_|DsPT z*wJeJ8tz$IGbrT3!x`SDr|99ZSjrI`f<4BnTdvWxaz!u)lX~^ub!U&=?Zu%}v~k?Q zrP6Nuk4Sn=g}8n|vRv}aJH7f>T9jhWBchRm6Bz{DQkj;SF^ zlm2<>`-e0BZ@qgd;lq3$qQX3-k$W0f0XCQfNP);vtW9N(td-5?d2tr116egI(6F;G zp@rgwpsx2*Yi@}>CKI26jrlXHaaq3&#>VkIOS-2RS}^B)+ID$xI6=wVlDw6n-XiZI z0AbZ)30|bLtg%Uo(N3pDx?9;;p>CAUdbC%v51IYrx#DTj9{bCgt9y9K(FghdpE}B| zexL}$Ubr5Fsp8a60qkPB0bMkAb!m33!y@kt^AAJb)$#A( zQFAU@QiA*?YmMG*yN*_PG_LKJckP6S+3*+wx-5oG;$6an5NnIOD9_he&g1CG_Fnc9 zcOu=?%o85&v~6S#)y$l}!I0=7Y%7CHP`%6}AzB}j5Ynr*%wc5Q0x-v00ZuYT`L=P<~ z!|@lTTl%814jnaRN5aI*&h1X*H$_??p>hGIm{71DKk^nrveq#>1lsfC zX|C#iMxb{OvY;YrzUB?jzRJa=Dn=xC0q+LpsQ{IO1s+k{8g*hLajb97Ge##y3Eho> zZt)W4yYM(|^4M91xWj~I$cI>LgCRy@UiWP}zZXj)JHc2pgd@cwmpG4*G6GGrFH$g) z42z31OHC-Sm^gF4>4vk4#5MEa=g2Lfn`1|MzOe*|waQWM#*KLfVz6T36H(M<&6&=g z9LMe!Y(~pAk(8GGK&PNNgIWcyJRouGQZ8M*PgxZp?p9zOUXZe86>UKSrP z4+m+o@zZEX(cM3bM`Gc{t~+nsu8U2NY3E$JJj+}UiaUr0n)vzB2gD>=2{~2^@$((L z#DFvpuD#5231y@s8R>fTrk5}--!guQUdRlZpXqF2;iituKz?_MVX`R;rvjuW4Fj-A zR>vGg=>_<&GUTXn!E5-!*~I8k-19y&8UvC{rutXXk)Dt`X7{qQgbmNgBki`KQg~Q` zVq@}D2_Br0N}|l_I`)x5&pkNbQ08d3Wp#`QHTw0U1)~pnZ*|uS zG4uFz?emh~j50`{Ef`7>y1GG{uw#vd9gakE9u7trR4)d~OJFH;BZVJ{9dHWgwl#2^ySjkHj3-;1 z>ramMf%mYA(E{=;Ri2-~BzTTzdS9RzFg^b@?Riz3igU}xd&d2TUc@E6#bQNXq_4~>yoT2YM9tlQ@^d}l>G#XOvxo1!Ir4}3 zr}|$t1gKQ)NneVc_g=M^-?#skiKL}f1{|VB`arO#pSE-!@B{^*P14;w3i{OvuKIIC#uvG_wBCP?`fq4ZamhJs+XtZoqIDjW zB%~BlGOA7bdibH4Zv9g9KfX1TsuF$8%%88n>SnU{KGq$+ZvXQEl{!|^o6*)?BkLt2 zJNJSPCI9zl6ms2U-WW}{Hks_I$uYD6J&mn;T_GI%!Hogb?x80s_m03$Bqp(sem#x^ zJ#N4ZM)8IG^d$6rroM7g#QQY7*$Zl2d=@M|av`a?YcqM{G%q+2#PO(tZD&+Y>GVI; zWq^{o<#QK1w~D&+eu+MyPh@3QKZnGu^3bv58W~(;o;L zX)OM^sAu!K;ZuV*(2eS|rnT#(Jyed8AsZie=hkP!jyBoKb!M;adCkC+It+ZUW5_vwbRwm7j-is!G*0sZOHnVriJQ%F~E2IqS z9v>xCC0kJrYSu29oNKM^BGH!cm7DQq^-n)|GzlHwO#qn`v=cRhEDxy%#u^jU=4eCa zxd?zzt$IA$jzwj+=28I-Hnk*tRaM;Ka|h#sNs!!>HF;ipAqeIO-hJ$-AG9KOc}5Md zjBrkHxmf6!K34_hj8FS{Ls_8d-JqnM{e`I(kta*C{ENlELaN>um+npN2x_G$9OOj^ z1G!;OC_K%E-G!}pToc{DCePy0g0u=f0X6T_MAj)`nHP&qJN`**lSq~F8aL98yfy++ ziLt|mC*QimJQ(ngMV}?`9NqZ0`CHjL&(XPeN@cm}eYCW8cbPC?$&KH?BDf7XWs3CK z#+XnUt*Z4gx@Q(G6J!g0vE$bjkgl5g%hJ4b-yY`eFzLSBn~se8;fmPhcrypwTH){V z#6J^xNSH3FYHUE6L26VMA%r5VwLS=wxZiZqggY(WG(}&XI_Ki3K*Lbj&HtzKJ>h9y z9ioGW&Uda_dyJ|U@NK#5H(z=7w3w7RW3wU& zlz*Fqp()`zAsm2-n;s6u*mOmA+3_q(!yS<;9Kz8!EKbRy2A}+9cD&xH%b>F+JoV<% zDio}?^nJ9*xBWWZL789dCiGDHBrS}QD>owH^&&G~ih-NI45QG`l*ed)InaC0NS-^8U2cf&UXkq0D= zMJ89P*GLNLe~{|P=(@_rN?|e3#ah+$3@Dc3mww&~HOf#v&a83xmh)RFJ<7kbOC4$Z z5rW<&F{oHs--M)X3{KLdHK#i5^?n&RcM-l3&LY}YYS%6_72{{MIH}OFY>@0g5i}od z>tmFNU4*vB;WlE8_u(S!qGknn2DEEA z3H73(W$D&EVM!4>)*%;qvR!O%X>cZ8f_`OIzXlr-LlgaLXPY_~t~vp|?pcD=emMaU z)z{f15&L6^;zNlbej=vc08_|<{#NoKl$>iu6dNP*TG2bfsrb91^Hs2O55|#V-JcXKz81Z5DU(k{WLCzGS7VB`<%@I?p`UXU@c11-jfLgx$ z6rO2FtH;CrI?YIqg5mhxhDX^(*>toopU~xJW201ZGJdu(vTjMXR5ql~d4=aX|0>cd zYjI-F0v!j}*KWhVMC(XjG$^Y#se5Cf_TeCv;X=C<6KB4G$}gw3nlV;>%wOvDkn06a z@~Vnc=J}PJS)CYJnv56bI)AI!&~EUPxtI`Dxpwg3cXF}t?J9ZEBgIMmx5Ty|K!XE= z*aC$W(-N6fHbdFOn1dCsieKmDrFDRN2%=0hfN-fA!yjRCamEW=2vdE(^<@7&Uom% z!E3&2djxjO4P@nFO`6AvGpk>DoHzp1d3jk}ryKjaSn*t`~0QB#rjtNs-$wm<=_DD%+J5Q%IV4|Pg0 z!NPM9Nv^!&5Z@3^iBHtzvIRaL)Ke7IcD&v8jpT1#5HNHl@r+5 z_jdukPXNPiX_$*a+3`k*7gO;CN!SQl&%`B#q#jE^-;#h@WaXaQRfHQ(L(4l1&Jm|< z+laQe-5sq8t1Bj1HJzx&y;O_N1DF9=ioy)o=1=V!4{&S869lQ=zU?V#5uJKScvr1axkRS1`gNJ zg*xr=Uiw{(msA6)U#y&bwrFcpOH3+Q1(qlLE^wu04lYK+i-F{}6V63q0% zQophlV@r&Qq!1)8v`}ov;KJ2rY#Lg6S{UcC7-*#l3L|_hd{Lba;p*WGEVQmMfy3mY zd4J*vW5$Ef0oPcECvD$ui8{bS_UqnftIT*;f$_RdFre9HsGyDhY{>%O=19K2{b9aC zi0BBs#Ckfa>#@cFOkPj0;p)pHc}Bo-ic#qZqP0WSzH z33;p5V&Vt+fzt?btW|XEIX=PFo>I0h`lwB+q0n606*F8PmP_xYAtafK_}~a(VGv{6 zI?$BkeF<&!0$pfHa^-#bUWfcT3ju_OHJ@Aj4GG5rq}JrK_dAev&{wA;IKSRad9OWy z4m)+?pb&~KY+jfBO2(F3TJQ_K>z8TmdUD%fVmA}rz~3@EF}O^HHJu7WzYNDcFt#Vi zg^by}=&-;Q+NNx&y$8wCO!gy)vz2^1xwm`N;#R3}B7do^dQ2IWRF;{A; z>u!ofJ1usA!B%_+c50so{mK-2q?uBaHIX~jc$>ppk#E5K`p54zw$lK1h6A$%fn+`y zp2MYP29Nf`EV9~u4?)2Q%N#i>Gr>V! zycAIQHHYJUel=K#)b=*Y=?1_O^9;enx116#T;0BlHA_W{toEqh6fY`Vv|VQ@M> z*DY;-m5VpK{UpEN)gRWTf6Ngeyq6}%Q!fZinJ2YzCBM=u(|2>I7n(d|2;U7bJ5ogD z+JBe96O^1v9kTozS`qx&rFCY^KW6oV#GN_BxXpkzRldn;Wl#c zmQrJintcjLC0_-}UHBtx78{>Xs{3-Z{-`RSs;VN!#j5h!^E;bTq%Cr08{)mYlwnk^ z2@U(9L;pxL{Agx3bbfR;rotcj5jh;-8h$K#{E6Y&*kUL397Gh33!OHsMC=NB7cZA| z^f$t~sMDh5yH=bn=}6ZUy^i*7TUG`3M$VW2(FpSSYa@u~AB`Z5x}1MDWB$$C;m;r> zzq->ZtNe~N@4-@A{QCv%*IT6n<5l4EGtp+s)qkS$|CD$BllQ+Omi|-NzQ={$){!*I zl5)rog*A;U{^Ib>Z*t*Yn~>+6=RRQ{eiwx?G#!`(IWMPkN$9J!vC}#th>ARwAA7g; z3eAQ4a{GzS0Y*;hhD~~F@@3RbxzEtv5D%q^NMv#S>qacm)&WOPz=i4n>r3eUBw2OP zngHTM)}pLDfc4Y&i-pSjXN?=SWoIEG;kAom5kh=ggIz>{{-~VVLY`rLj?vzq`(1~= zFjwoKUj|}m-}1PZjggKY>L^4~*mE7Z=3-;{_KiE8zS89T%8-60UiwzbkrY~1_w^<0 z!qoN5&z;oRNMd=rWs3C|Z`Q;8h(2j1d(3~^N!p%Pi?t9o-=B)F z885pAyg-LjEZ-EW)pByCRcFm%Pzpfbi^`btP?Hk0rCL4}9ooYo&v?%1*|pieGze&| z;&RcY;a{xh?v1M_R4P&4btA0!KvRv~Z&fZ;?!nfOWP1h?xf(0 zZno@{eyx$}g>K4hMWh52;alB@^GWWRi!n zv1$2^_+1>vD-As=U2JUdcXZ85Z*FodENz}vAr(I7ABIIX$?C9-%G9VvqisKR*U84h zRXE6Zy7;bhYq4?Z(shT6+1)jWx$>?p zg(D$2+EG;Tg)_8do4vsvN3{aI|D(%QPT8c6sn^HMpnHWF>o;;(wr~Cf&rTY8-E2s0EMu=t&ug+zT8S0l)p9;8o0Vv*sGr6xyY-n?x!Fp|~E<6nqZuKX+KvHM=VFny)0 zPh&Mq3A%#2b2`*8Rc_Im0$4|+KR2||2-cbZ{uPFK-5*tJ#cjPWQpGjxndHOc7Gv+tYvWY z;#3N)f4po-Xr8i*#T-lN8N5L`GOZ|-)~+zi!pIOkvPuIwIRoZSZ@o9+_r+onu9I(bYr6_a z$4nhoEGcZ%DFaR8+B<8cWn(rmpwILRgPdn`G@23lQN1Xeb`TCiXc}MVY&UJf)$~eG zuCfdHc^yIsjw7wT($Yg@Gfrq|XiStm5i#Xg)%61|c5$LSQ}Fsm+l8sJxXa+uGmb{b zbzmp#I4VkouRdft_Xw1O`iDu6dB@R3o^nX$-C2xjj>r-b5bNE@_fg%UyR6&8f)Qp^gKX7@xIs*;BvU7>Mp1KvHoJU^&ODak?Gc%d7_7yW@SCI z>*r-*Qu@C0m<&2hBo(igwj{NC111>u#==={Cy0H2Q)aP(2+sM-sGO_fE_B}Ccj&%C zWWk`R{)YvOn!LkhM&P}u{&#n*Q`R((m-5yykny*Zm~VVR`$_sR##V`@7z1Uh=;61D zAnPQWjp3cW-1nB>4Ll<)EYofB_1bo~8zo-y5$x}986w!&<(WLMm5+)iQ+~J;z=~w$ zfjwF+)z7hu#%X?Tn%Pu%pz$(?>c$1*+Z#mw9;@B8eoz0&mQeWV>a(J$GR-g!IA%iR zbzh@5bH;@!%a3lfpv`c0IM@s$79f)4;-Xu;5EvqU@Nt!KdJF@q)O*D@;>?Gzt4&g; zU>GA5Au*N>0ePU&(~P>#&s*1cJ(llB`)uPny>5?(KJZf5@43b_US7#`W8;S3_zq`S zy@*Ur9Rxzc<>I**pWp2iZSk#vu5?tY9l9zoU0T4MW|#qvxrI?C*`XtohtAf_p&x7s zze*F?wl~f1g*r8RVysekgcO%GXd87E#mkA)tfUDyXdaKi0zv>JQ41?UPC}32nN9Oi z5-pg~5R1p`TK;%gMydS0^6Gp(2JF|5_n4O&E7;UU!8Gr5f||$|V3Mstc@bsgqF0t} zrf3p;h!T(MKBvB3={cjr1HU(3Ms+$|7ViUJ(A?As7h1bn8qmFmNw>bOXmM!EL z=&gIZd_Xiv@vke&n19>++$H*sj#V!TjXnoUd z!>E506z`MI??L9bBM}z*4>Cd+RYxgRncGsjdvw0S?XLZSG?5@wGbZ*kYkK#oK!?Z< z4h=p%BkCn~jDi)N@}dSi|0fLzOkUC-2s8wIIX52JWAU1re3%wfy_SA|hp5Ho{-2Mx zLMeHJQ24utuK~4xqU^B0N7+a}9V~})j{k_Vdorl)1-?pZ({WX`Y2Uy&PBScxo~_>ocDr-Z$17{%GpK#;?b(AyD{UVH>?R^=`&7yr^=Y3 zT8<(TylhZ7c3PpEeTf=Lb#Vz2@o^Y~lVUwCf!y{}lL-3fST7nmobSXxRBJi;L>9YJ zTn@&>`Oq_ls$h%T&7-PiZ^J<7W^eMbOsaU|n)tU;DzMC7_?;S<3xn-b^iBCJq+4PP z`%HXT)!S(DbRL_No}XZkdBy8AVLqcg&iI@}6tpSe>D(Yt^J~9C-(_h=jL#sU4XwV5 zS{>Jv>@y)+zYD<42-!U>gf0F0PP7jixCZ~U29ED<+2kJL@{>V6DYt`H^cJMMY8TED zl3HdqqLYN#)Mqr{HD7eCQAHWreF89IUmH*IO+!01dG&$3ysYo7k6t4@Zar2Wo6gP&AY7rNMk7`QMCIP>gZ6$Vo{W@x z^eVxs-U(U-B^U^;w>nQ}!bR=eTHWTr)Aa;xLuRnKc~WiDgZjAyxX14B)Rbt)4}D61 zJe%h0IdgXWA65HNM(GPcp2!U_lZ7kXhJEU>jpG7e>>O;6ws6LpldaJJ5gn+5lHIak z9ulsw8P;m5ETIyfa`uAB+q{Nuwec(wbZzva_vG!fov49<_ks37Mb0#hg1@w&H? z8pW)uk~Z79k^482n{30OFRF85hyZr!NPfcx8-3;cg2x{aBJh|;A16Q-&}lU}=@lZ@ z#eDqJI>0eiUR69|AF;%qY= zefXnZtmgXr@e8AT>kbZVk5DCf3xxT284@zB)$ki5+M6g|P%z+e-GK=?yHGsfVK8K> z!3wPez5U~s3EpG063n2%4Vbh?%cb5`76O1llW_BL*RkTswX1~sXmcPfFOhhp!nbSA z=Jhk#*NU&Ak3Mns)toS)1btC#yOP=;gcZ+Vj_Xg+NM^g3`jMsI`Pm^y4$7e<4ilVL zMRRicY9bt&8?L`MFZB8klQ^JnF`{lG3EMzEQ?{2;yy zy!oA#a`>koUt9)B21^^09 ze%PGj_q&f1FNZzcC{U`O%=_-`YI;2!Qo9>YEF!1S;WUjh^N+)UqNiRdwTG8oqf2%> z{pjCnVbC<`vCfhtUh>OlS&+va#k)xA(@doQvu%7!@zaa@BM|?qPjT*9WkdbOyT3ZKH zS@r#-qT!pP8qZxPF01jvGEia-Em|7Yxz8Ix5hkz`&~Ht{P$MgMXybYvOBXn?Ihp^d zNj11(XuF7yrD5_pK|8_RuTg}H)i@eZi?d+;r9+)exE=v4y9K72%w7D}{$kwS{hJo; zBm3>Rw0ARs`E3Q93ct!+>e>ymBj8&CG6^b4$wF1MK=ALahDZy8G8;r;Bf<3N2XJIR z!TZtDiw|Yj!Tif=1)FMb6T0_U;xAtu2{PcX*vAhpnzv_>7dw;alzGPBKv}Z%mA=$q zM&qOgNUxazYh2y&bs2<=2*X*;_lVUGACv6Qu}ljiy0i7HIx=< zUPL^#klCllALjFpp2C+~r<2i_s~0RVXrp%O!bXEp)7rCj61y^7NT^SJ)r>r-?WtI~ zz?-l?9Ct4Ic@%>Qqnm?I>6)u1*;RZufrKzOJl9pTvFleASr-s*GqMxK1G!huSIB&v zfxP)Vm0NB59wV0v;aoq^7KHiPb7Tr+(|{P3!hli!&KvcPzu9Rq3dNLgO51D4Atid> z4m>0cz66#oxI9>8i|gZXYT6qM^j&6aMEJmE{Yy;N8OIM~{K29hqid7k;mIdei9N)S zl+-^(=)X$r)uoA|40-0;h_0oT?{>Q`0u}|q+825Uk1D!61TE>-B{YsRBz{{?WNSR^ z{0;52W}bf6`X0+S9xLX{+|{r|qQo=HWzHK7afVOV%GthkJJPE{ey8w4fu8?s6Mk=b zz8U}Xq|hGQ+s$kR%P$1Mllp(4zi zD2Sksv90Q{zg_n|0k6?}CIudSS-k51y?UI{alI_A#2~gR?03@P>C1A|Aq;L_OuZfY=LWq0FZ(bgp(d;1T)08827Cd3#~(1Y$C~tSg=Y-$ ze{mfChZld*gt7brIp`c9Gd@5G<2F|i;r^3c`wuz#Ly7X{qx&aZll!W5lBcha4^VUi zpO~_%YvZ@qD5*fRTNK@i@y)Rte~4Hh;IgMDw=s9%8wSC^8g?ZE<@^E-y=#oUR6=C5 zXtSHB)C$K+j+`1Qc=O@2{~M}1}|k>D|m=+q=8y4c?}kC5%Qu|&0c zGx$KzysuZ%0uC%i9=pio$q0HkY?yOwB%kT-v=}>q!4xw%P&E^m0bkzsfaVd?%jaVf zI?ojy(a}hN@s#1^|c9WjC_k$ zV*-ILoWzZeyuedkZ21eTI{U7@O$J(O(dVU;614taqfAcGILQ}b3pgT|gTv3$+XVF$ zL=H>Ih!*1z+J+X%{j$ok6{49g*=8Fak@EPX!7KQsJip)_6(X?DghA=)>4>PGqmr%Iw@54#k!M&nWBDJ(u;llGf&iz;#ST07%BvY# z(Iw8h&c=EJ0%*TQnUA(&Sv{zDT&y#Y3E#KKE5gm4mVKgZC?dF<=0}rNb5GuZ5*SI7 zAr7l3Zu_}33ieQqcPC$l4|0kbrvD(QB3(IWe|KVKhYZ&EZn9x&Rn_R`Mi8w&LYIu7 z5^wfO+FL4b@XppZ2Gz$fFEEz=R4V{~j$U=7;Kt3Q8#xa)G!K%WoGJk0e)!zG$2t+wsn`@WEF8fVEo-QKOklyE+kvZJq!Ki*NSkah8TqcuE^tS1H<{&K%t7kFF+ z?%00Q7UG!y%-AAfna6;LV7b!0omCbWaq+%Y;_&Aymc=C|u*52DS$Ru~cFPCtSoAT! zv(DqMdOzU0RSwwGn77+mh{g<;cA4#(aHcdkwR5{6e?Rz{x^88Y&1bL8B$s+++`JcA zv7eJN&7$kHO^w+1Z~1e`MfxSh_jb+`k?Nldf_ix+G-95IJ5@G2ZfV$)S0V);;}Iie zpJ2;{2ttWkp)-8cDvqR{C)=W;qaw0+GWrq&^*?vzxau4_`<0x3Z6^!ctGZ(Ze`NN3 zdlI&r;%0lTwt}{6vD*fWz@94q=0S`U?O7CbRSUAtn!C_6TXWlzkAT=P2aJn|sbWZ2 zIGCia+$; zdFPy@8EWO$_f0RFpq@82zCRAux(t<$G~=O+yGS3F=10bQ^;VUso-5lsSd~L%=|ZkQ zxGQ|li}vi>p4*+DrDxikn{EAyPu}=e1()(Avk#u84&+y@XRKFxvQM4U&<)^|2XV`o zsyx?6j>T(?wDGDsE);^!Dhz~8{atC~2KYYQyo>!S0~ua)$6FhxEFHK!{F4SSBlm8iU?nYGk$}k;`&0N6oWfc(Xhuy zWKH@X8Jyw*P2Y+zJep;UgVe5*G#v>y=9)tnuN0Hm3aU-yBwvG>ok@@8A747ye6(+Xt-5>r9=0TY-UG42~VUSQ>;Ag zPF_$~O5K@iu*Bbty--`Hn@{$>Y?o;mL+@TQ_*C}B<57V4)O5z4UWyl*nbYcFTBC?7UDY^w?)qDr6yv?$AGCbk-yOmS0HQp~m#Ic>m5O^*R2H^aiQdEQ+f!a*)b_lgahlnTplVR~ zy$K)U1HemaM=+YEQC?ac76QA$*=935ZNfa3Hri#S1QxM&V(7L}%?>a26U&W@-%x7X zG+$J+zM`33L0N3_WAQTEKB>@lV!G2Bo?#ByL$zA<-DP9R@gQ`QHvs zFgm_hdd_;I1)k9^uc}SREF?~u#+#&9L5U_qvNRL~%3$=dO*E%yf3GaP40QDjRhnT8 z^?34HSXWS2+N6*0s;3OD4&a1QT-D`5qfRyjVIHvD%hp?~o`=r$8=>4|%GZINXfAZ0Zx5 zsgOjrGx5{0i)~%PNi_21SG>3_iH)0BMEzY~-2zvR zwTJjO(XmL+xO;qgWm~m#BP$yLFp5NW-M` zr5Xb?k2i#(7RvUT&+wkmV8T^gINGAqSTH-e;(iXDlPoknk+3o_JNdnW0TjT$HpPGP zG}AX;r*y;OaZjmakzsaJS*F*I(Akb6qVMm|0kI++Ix<*%`?0%aGPr|h$=KhON*IXf zYINrpo}LbIWeU?n6wFiEuFg2@pf;OfmriUrCnJnf6n43R*f2maKh%e;n{vyN7CoNV zCGB;autX)|rN%U)6(zsW?^xi3F$Nlm-)X+GWh+#NQ2cD9H9f0WqQ^UHl2He)m&?GG z_$nygGeNOQ`SFYC;8)#n?5D|{zB=xE z_M4;Z`#AYTvze?a5J00;Y`ll2at0~xv7s%}dEA_VM#F=B!_;j2KJ6W}eNE7Q=(=me ziL0Pk*)417^+q(bIjr$On4Py7&BV-pjY@GinM?T{1RaOPo~$&}!*wz3?MzL!QeYO0 zXJmFU+jJ+U8(P4y*Kj5tU0J=aXt-FFf&UQJE|DeoLoda_eKYfP<*41>$?ey{?yEMH z!m97K*kUP}O07|jvZb%*v%ffOi#cj9^UcP9ZEY&d>97-iM?%wmma`g#Lv-=$Xgw^J zEtP#x0Lu8y@ZIKL<{6;E??T2Fc0;Hk)6}hu^B;&C z&L%^Bj_FH3FVK|1h)Dm!nc&xAEwV(z=x-oj%f#ASYX;lW?;hZUSI5Y(&2ZMcHRg?! z%DL?sWuV)IO`7|Q_C1U%iRz?DHE;=`Ehb&090oFN(`IJji--GsCe7+rx{tQD-YSTz zoTf1CBTbU;z=ddpU0&U{xfFQG?=ALQh558J_EO)gR|2U%`by8*ItryDw=#pWIpvxf z*sEEc^lGysTQ&xHudKKC4~*xZ@4haK1I<1?y-Q#?(2vFN6AY9bP2K;LW9v(Gv+=j=JN=gcrn9>V)FByXPQeeV0Ze%FjzueuCkZIwOm9*)GDVX-AA77s7i+DB^||`T4ZW%=G;Y&d5Rb;koIDaGJ6v-m zfF39Kmnb^g5BA?{VH|Y32B(+Ksu@0_*3E%{M#_v84Av?6cI-0V+*Lndyffo5kCk8C zB-;LEZx+6>$w-vDXjEeD$mnbm>L8CSm^G}=CLv5^{LXW&vp`3GEzM`msq&_g1tG{@ zsiML*En>jwd}@Yk1WdtDkIG-wR{9sRD|(lt><}_i3%;~z`Ci9mZYKLVp>hsttp2{T zHDFc_SLo^iZFhu-&xWPH%(1J8E!)tEjd-|6y2MZ;%|MHml>fW zU0J#zbH$M*-AIz-Yi!{##4@pq;H`mfNESk4swp_}5EIKbqY58UJn9_4fUlL1V&^If zZjhiWp1KcaztuxU;ouLuc59=&!y!}KS(3LYysNT*ibII|^BQBcF2=8t92~dWA*Muc zJl+2bEm_$cRjiRK8jJAPRNWQaOgQ+k{Q8fM*xTRAud`9{lK-*hVIS~i|Yl>Uw7vnEfI}P`q^^1C;e&9 za332TIQP%ojd8pVZPYB7+LLTlas97ls-h zPdU;W(20Jsa2u0jv>lEdf$lVO|91W``e)SAy`2$x`4*{L$1|77_d~)=(7f-EDkEt6 zbBs)SwXV9?!c$npRK3>++=W({pBGi{NtCDT zU5|Btgtt!qLhLmBWP%H2 z4_#>FOIx`6x$UfjMlSj+r@sAS+g|1NN&8KDG#tQCr%-V!dwlpkV%X>9 zaZ7ZZMCxvl!*%M+FB&B}yOg{n*X-(j0(h3k0ql9qK~h5X@zix;bWC84VM(i6gJ?}P za#O?oCq9K1P48uUT-6~)r7*$+%Zi@1Yq-%HMnAqN5W3wARn;Sa9NQ`;X)L^++8@*3 z;?3(l@TWey&z>ibzIj^V+wRHRtfoSUWqBaP*)tH|8q3QXS|4eb6)xXXmO=L06J!%` zc1gY{_X1&xQ7X2v>D`N>E$i)`lpmj?|Lyw5e%JGRdqQ2?vmw%^(E0aEmR+&&l6c{F zT|jj3Sg{r_Jfrya6u55ny3r!}2zgY4HvWA3OlZl0sYt56w0Mk*qN$PjQTcbIwZyj{ zP!v~`&&tH5CQ|J6+oG9$k9=((k{rE<_?P&e%-qrQmxc|kPosFyN1_GrU|d?)dG>73 zF8t~|OY#UYbJ!(cTOne;cQCW6;|X`3@O9y&gOBQLXa#M9PE*>SwAPg#M(h@L^yR6! z6!zF8*AwJik$%HK=!#i0f(8arG*KJ25)vOUzv)x04{m=4lnuqaX?1OQyEd3kOd{5` zCOLS{7+sgJXq-@fXbiOzdsBJ5MZXqIbb;?`n?HMS;3Qk%+|m->Xs;ukcN7BSYrE|M z>TkGRCzo1li_;oluFX4}jU~G$r%7HOy{k+xvaDH^vV$=dx;a`BHm+DPUcqlI=U)$`Tfe;ZL|&ao%Tx-Yr3=sb=6X96$w^ZM3L^EgZPHlJ0vXndnBZa3K)%hz$+8DrSU^0*b5;qB4> z6UOIMbf{YU$5efDxOVJ>uuOW1#+gC`I%~7^DH=<^el(=F+P?VV*&=X$b|SuVSBe`) z9gzo0aQ6~&v2avk8jhz^&?D;eD^Sy;T;t!tTVSM0`dGVtWpvx-?K9l|{0ncfzd0%; zv5dkT^;9|H+tUUzLhxBAqFU~rJW7K?UUDx&l+1>Io|CqZ_$<<(tfKa~(|_;Pf;{hIG7@w-y0=$uhRvWg|LLOKlE7y z2YaM%zW3Dze&JhaXRO{%EGQ1)Eg%?aC23)_&zEmG^pg8fMKZ8!b8ui6pCn=2GoCmh zk_bS&w$|DHek8wS&8LsG;z`IX9U|j0Q5Ma=91>l~Q@az*@=#cB&9XoI*|3?J-z1mh zm@Ym0kbY44S>ni3enh5!?I8{$2DJM$++yu2Mp$$jXE9_wI`+XK@c;KK)?qw7O%W= zpxlrW-xUs=`b=tMRn`O){~o;L&cN7pLuREA>c`)4kl{1>3KkM``g~k!XEtR}GxC$! zvw0ylfupPDe*N@^x>CNbn1?J-M7iLj@)?GC%EZJmNkV)Tc;z`Zo#IIdwQyjcimG1Q zO@rq(GDl#eC6+9K%1P_%ca_<1Kg-6Ia1S1FHbi@Oo+TA7OG~FUEUc-BDxL57AiZ<9 z(E4~BsJFbxd+3I$I^e>)wz%YHba>cXZGjgZ`^K%+ICUIZ$u$<1-lJrc- zeQU=M*rW)~hBb{8lyWq%HB`lqT~jN~CjU!$#XLW%LNM{t$TGpXs=c|q8X%9MqHxYd zF0at?Y!K6jW^;yw9N?{q_Sq%-zjXSd>NSo?Fit(u_I;^-y+}tbAmH;nWmiImMuJVh@VTyBJm1*Aec?X;r1@qDe7eKhU;gE;BR?3c zGH$o2?)RmolOV8uGlj8biQ9gb72tyh?BZJCL>}Ub=SR5nNiO2z)(rOJ4Ver9+gvpA z1DE|MrkQ;&>ZNU{MI9C^D`zb5b#aHGu&%|T>#etWQ^c?!d^OF!!oxm2 z!)O$dy1{V|Ilc2m(h(XA|M}f=nxp|f;!0LypE^!50AvBy#FU!7nJlFQ3V^9$hu=QG zbVp7la`laW$W?dn%_7NXj@LH$u5ni_k9tb#LdYwHQpeL?PWJ?mk~1&_+Qqc`A$-oG zYVVw}J7Ll6?wt%`5*Z@Gl=RHuviW;jSfJ^d(SR#`n5Q0)eRj;MtiUlR(832|@wR$( zQ=BLf?FK>s zw4clve@`%mKdR;=*>qo4rL@N4{UBG`n$fBB=Yc1%M8X*qL?GvjOn17w>Qk*6(x_iP z7Njd7%?ulZv;v9Gv_m|$@8M=xQ3uH3M7sK1P~F-`EG$Qq$(*8?5sISmB6T%?Qb;R| zKjXm9CPkX6`84u_W+=~Z1|u-*h`p% z_KN)39*2D`|7wG3{r45&ngM4-fIzBnMk8KO(_oc$!AF&zxi)>Y5%KW zUU8RpYjU?6ZFX{=LNb0b64HpDaB8T$6&94qwZe)?6ZWRc)@FZjx3_ ziqthFzGjeX&f@j-(tk(xBl~OnxQ`VDY2xMgt<9eoUd!hYy;1wyf)-?cM$x7)O!3)& zL+8I{Y1%vSaCu{Z1=mC2nMTZxmLut9 zKybxMZwyn&E*-jcDw@ zB1S1@`i&$Be?57ViFj_ClXMMbEvD=}2#8c4Vg*s@|lqW9IHDE<`V~Z~UMd zM=6#xzfJPM2X|-qcnW4&Hwcw4*7QrdT_{HD&Ioj?jL}psIgcP!2q@&sbnX`$tp{i6 zVFTk6t{M5UEZSW!`-i!pgDb6Ms<6RFy?e zmIDLP@8OPZ)wD+X$QeOf^D`@T+1z%*C0#!l5lq=X5le>2W{9EmzXa9)U?$4hVV7{_ zC&HrzgCPbSy!@}r8x2QbwQZJj1Zm&6Cto zB;myFBwP&f@66D}YMp}y&J+7P?$ydNS=IEw7e)$w&J$YM5oY`fM{GNvw`RP&aR?;p z_{8Du@Bu7*7N4L!XHm>;q|DKR0Y>L-p>BvsrFJKmBc$XNu@v8#x3V3{7&=C~3*d`D zM~Lr_|4DURLj=f6(#8<(BykQ&N|+hzyZVV+;{`4##UvSP3A;=FgnxJ1DGuBZ2Ve-j z#-4v&;<`6cm$5mLD%7DO0NxN78*dIJ7slSNm$&d$gYB1cqXSdo4>xW4I#0j&io~rw zS%YnUo_If+UaQD#17&_2*L|D)gGO*Os0);Ep=dK{EK0VOaKD~q|AEpm23YU~K-c#a zubL6qZk-rHCK{DD91iwqn{9!sOifOx%*i@s(xA760@j0)K-Wpu@0=jL17dlF5dnoQ%x8Y<#oE7VUEX(h8`TzpMDuw_xLT>+}sS+O;2p zdA9shIEl6WU0ZIE-wj;-)nJG)fzNM#I47YN1^dMDTZAbI2;IP^gL~X0Pv}^}jpqmH zf99+N2l>{_l>|;NMm_=np^*b#+ypQ)A2Mkd8%)r-3Wkz2G1Rk zbErFsi%mQDNC;WS5X=}CSG<=tG#-1vNp|ox|1PBOMDD+yoHoyGVoD(dWPjhp5uf~n71>>0a`4vKkjx>W8i1o{s2L*|HS6B>n&j!1|vT#zwXKgV>^XVVn;r+~1FY}Nl zK$I?S18=7gJqFJO|4uc-a?i9?y}2gCl5X)NvqIygEv*SAU_%ZpPWD}M3E z;2tfnvgusA!poomZ}rvXX%a7Q9~PEgM{T7Oe(VJ9T{4$6Q0V3{Yd!Q}Fq~LCvp~Lu z7sbT;FnAbWR|I2h1XLRru$GMnY5q*NIbo1*^MA4_CBE1i2`)$4M%Pruz4@;R#+d(J z4pgoD;IWZ(TLBBi8gYZlvQa@D(pPjFYN;*hgf7@Bd?mJz%D4-_UtAyDmr4|9X4q#^o;bXSN3Q z@5Mjs9q+yV&l&wolk~#)AOD`+UMrQtEdx3yi0}XrQFWVXMK=EL`*iG9{eS&M^Pde; z1ohvbv(@5k|1KB%XV7)aZN;(3?Sry0EOuxl<}ON{3tIs|ob1;aE|gxr&>{W{aF}dk zyZegb-g5QwTy&nG6H}&5nf$8GkepeotlspvJ*`NEk1ig8{lua*`OGX1ncGxi%J6HO znx5r>+>Seq`kEoKc>gI_va+S!J*Q9EO>9}*+nyYUZ6*YGgk%!IkH415=PS@rYn|Af zLI%gqL?%U5fQ1KPXvzE1NoCYyi#3sEvXveA&D7cb_-27Vf;_u7`{AUKRDod3$Y_hd zAo=tOH;zu+{#jhsZ~E3rPYdOhu#W7dvb2;NBW4>vcHS%9YTGCG*0_p|6dJ4R!hIk<*_ARv_$RR~M`_m+$l zXAmgyCQ|W8OzPKpHksR++hIH%HVvG;Rg9SNbB8#Kai%;S9pr7QF6j(3oY8imQ^W)c z=v?ao*jCj7cEsgPpzG(|ES4-8l;Uh_o~(dNO2|rwJ1I~+TaTHKjJ{U2l(0o|mp__~ zkFf7SZ?XI^2y~XSZa4a1L zAZg>T2H2_6^N#ffeMQyEoamipNLE`==shw6{hDlT%MVEyDgIDCBB@4^Di{!^?PBZj za9K>-jYLWpP=ar^sbVMFUyg&<_g?l+Pdc~FvMOd6ywF^@HK*;&6X=CY5&T0snD}0V zrNp~3M*dFH^Fa-Sc$O9E{7gt%gwtODh%Eg3n=AD#wik=BpjdiZxrKxs+&uh?CT5Q& zsYvr6AioWYMaI8YY?w$K0Uu)0)0k(cmc+~Kr{Y?n>Zd>8Z4e2MQ`R&gUPf4ZZJr8P z8@|T`v2%i!Tnk z28yI^3pAWCx649cA$Drr(qp0&&Et+Kx zUggwUcP0Qm$#l45^`uxa;a(EqibFMx`PdG78uRx+-FEC0rsEfuioUw_5E!ogRUN8|y|I+ABK@-7G$h;l@}Nc>RGe5f&Pvhe*r`!o(YZWYfzDXGtU31 z#D!+sFkn8irAMpM+;6XncAsyV%nOE&Ux2L_s`GbNMJ>BiRc*zakh+cE^rC5{+t-YaNTUg31fRhR z90=y<`hkKY48gGtl{1>t87Y{Gh3LbzyWCUuT%Xo<N7;R#8&%yaVVk<@ zfZ}L9N`J;SGoSV5pSFQh*MY1@fs7O|+lJe(=xZ3o45P?*VDyUQO=u>_d%>3HcSo!(C_FUkyH8p8v4|$@96vFurSB7tV^IR z?{JJ)^7QUej>EfYFlHkfK$BInTv)xJo$Y~?>t&{J@1)G|we z!x;bJI<=okrNTPtL{?TA{b<45SIADE3E!l0q6F_~eSn40`_9H>Pgly2wnxv$#Voy5 zu}LRF5bmK;N42jrojcE5hq_{f_MU zy=s~Ztjo+e!1SoJ%cpbO(&)x*)|xM^=)lNs@5yJfU$r6YTQqr%icY&sL|wq@ZTF+v z{yOMZIMDqTKK#VmsV!*Mb8{Dinpr)vDp2*5N9)T1K`F(Pb4An64Wo$_zD@L3ZG}9R z&NH@cwwwT)vrL6ox{LX`01Q+!SMnY*~FWJyq&R$hP4 zcD^HqqfI%Alz-uXF;HY@^fT+lDC<-3lBz%n*#m(ct}HNlv8eFjAG<1(ha=D! zj!Zjq6Rlu2;(2lv=;vNE&IvK;I)Sc14^Z}Uh*C;TM@x8^79d3Jf5t!;Sv=+!>G`EN zC-~g&=?wwXqpgj558`6GWf{%-Z$6SckcqluabD0Kypte2z@}#)WROcAMj|@As5x`i zNx%1*lnjT_dk`c3YqAG)l^g>C5)$_JN)`h)L&8~Ei#K%Hf$rLUOO&d~eBnCg1LAV~ z?p8n_)OPSDCWTsZ;NT=7?qnoTfWJ5R<7F=~XoSC?(Ra&La$EA?z=l>lBpe29v;ztd zO2`E_n-%P+ffm#BsfQ3KFY>!3oVvCy#M*pN{XB}4+)(#f%{ffwwf~8f1%WH8us~_%N82JMt5;=W z{B*``K8kaSkPRp8{?tC3w9CRt1$60}RVWaMvg)^=M?P@%!iywI(ykrb#Sy`2Ejf>z zZ~KJ*!y{T*FgW*UW)t4bWP`4+e9=)R90~72;j#8?r8dh=_sxm8M=Qi_ebzu4I-}Jy zQGxV=-*P9X{ApdZjrWH%#gFkY#E}&?llB&^lAV427lIO(_NP}fqw40Mg=kl3@9y*H z^0MjUUz>qo^&OsKZ0b(lQPaWE^@eVpr-#<@Y^W{XjP$Pmne)yYWs^eVH}gXbzaVmK zo^}e_J+&O}gVR3BT$MW2;Hk&IQptUyMWLl_hDAfpfZx@ps+CHHm& zb_{{mMif=nmIaWAuXRN2=;kh2Xv<`7kJo|MK>H`(S+?Cqz zp-EU78P~`&e#%U&R;Jt8SThP)xy4v5WJ}jL?gET{)j6qDC@vNi@#t2>djowke%?AL zAIywQ+1)kRg!JaXD zJ)1j2LOu@1^ugBG5t`2WJJAxrgd;B5islG14pTh7BKu$D!xLOOtYuV_ZkqKC1ZjK9 zIl7S;ww*Cnr%^W@il%eu_?@j1NOV;&bL01%+nt*y9>~jl@cz2MYkN_H@>lCxR?$8w zhSDWvyforgmP57=<6?h0^VcKTsIs~5h|RfvVNz%n6J$VoMglt6?dE{9JwwV20lw#fkhMet-Zx*jYiD7t%(kx;qgQQ zd-?-(bT^&WY;&QU1<+{QNl3x()mhb25igs+0Dnf85&Y4Q{chw7Wa}%EKG9)VG0ZrS zh%5d{{ldeSrTm`VS+XvG7-&GVs1tneg6Iv6(!b&2i2t5p1^t)ikRCAouK4xP%D3Or zrn!D;{f4+jd{)G>z~MTz76LoA_tIW$x@ zbIaoB_YXqz4~QWUy0JAJRa5S^-BR_$)Ux^z9XJ1QaDWw`+t@h5*kw^LAIb5X$Ll)fLnUPWo$YtELZMKLBAcA&s6_dTV%QG{Xl)EmUrQ`O~^?@OS z1J7pa8XcQ!hn>`b>)jsqOUGSrV}1IpF55hIPRT>Ua1?-;0n^JVKr7n1N6I3 z@7;JA6dBUnm)VzG>}2?1)hA93a~4~}j5>hLpWDj54U08%qL9dzBQm`^)U^`Y@QT>t zMKf||BcT%;QpS_?Oi7!ToD`D;fvgJ}gs(g(7PHJig0DyAxovrdj_0u28T2fkI#>r= z;6PW^l^*X_&R)rr&qGMa33miXuDO;_%d_)Dq&P>2hqw3-K~nXb&?5_a#Dqp*6|bRREiICcH1CG;}W}5s%Hr?4$=?ykrYPL<2?W zOSgK*43S!NZamk)U&4kK|v=Hzu%!=nMQVjlOQdvg&h-uk`;j6!nQq=kutb<@@FZH%7aJ(Y*;tqyyC`l5%It$rHu1V|3Wa&QvxG=qg}!`3pu3O zLdCRL_~Q84C3A%I2wO7L57|ZSj}e1{g9Vy*7P;v^uaJW`9xQEDfSDy1U0jt3WQ{B=sIU$t%ja1eI6y?O{$s`m? zi5EdiB`mfOaBs26BoT`KjCv#4a|O&qA>PNrVqF&q8sUN!1Zj}^#AQetdx~|S{|JlP zJk(k5UPSnj&3E@PgmzMx>Jr#sfyeXoy1CUXpUI|054HEAQ&JftT?LPlxIbE1t0t>+ z%;EJ>0)#U{us9?Fp#!04?`yhTa%hUy#d?Mup#a?DY@fxgPxQ_lhbxQ2Q=)<7LW!1VnpyTA>)+5 zzm^EhC>eS2*=^ibK$7jlJ3duY3L@H(ko91zqkf|@<>91%F_KWNt_O~qPpN#n^kw`+M$X&eUI7Wi?$+#CJg`GH6L{y3SNz`RU8nv(B zSa%t>L-cOn*A|x8$->Os`5#ghmeQ*q=nUtD8n1eQnMc^)bj&^t{Qy$I5I^*jkWmpMjdg^iOWh}}0iYvk%bqR~2arr(7iw6tC$^oF!h3{yr|% z)t2aX_AgiE->VdT<(VB!XJ%zf^=P%ICP>K90@^!jNy_)AJfm&3*Tp!BDKCIeMaIUa zCL*a{pF7B#%|-#Q6|W>cWyF`?DJL({YK+GuBXLg;J`yB zfaKhH&0WS`hTvpccy|8hjX^2!nkY~(p^xm6Yu+cfaT?u#cQ#iD(Y!5O7HUslxSW6W z`+E}S@i4RDCi|tbyU9&1R80)~V9P6@$eX}vmsa!O**S36Fsu$FqMYAsM`Re|YW=~p^q%VV2fgsl7AjTMv z0uqgM?naf)vjf{einq~)7H1OaDZcHw{xbe-9=awImktg9*}nj7ZGQod6$84lL^1wL zho4v?ZLZH_dmEb{($cOXW|RIFqRz}ytg06Hjq9)UoksGXmUQA@p<F|`S$hOEqhp*qM_!#-GS0=lQw=F zlT5;N4YM3Q&dT~{qYYlG^`paY<{#u=)5C>+75oL55Wapi{b7=c+4?#S7rTLIos+!OASQ+|5%67 zjl(~EevMUs0n~MOvz}+^|JkQF|Bqq%e|I4KTMvn<#aN=HUE0HLe8DNqzIb0r>k|0M zE6ez$=!dhQg8G^0*6Xtv$5dlQjcddDc8a5bkvh2+G%bzB{+IprPHtDh=!CGcocfls z_tn8yHE(29*u5sgj%e%*hMDMR#yuIndA6BdU_?jJ?9~p_2lco2c}strwCo#S(RzLP zk`2!W3V7K{cxN=9r@G%*rj2E;Jf_*pL@cK-FcqO8g$Zw+`sxf1>MJ~HLnZs_rb7mM zrxwzbAK8Ahvp@b;BPMVl^gP?Me!<@m7Se!Q(gj{lh_Ukd#@40`hiDT|Um_})B)(Nt z)j3vpi zo;Q}FC_CxL5@+sIwj3-Eb~H2d1f}(dw_1PP@ah<|eSaNLR99XiAJ72n(_E;NhsQgM+SOPVoX1 z8o7qEts02HXrslicPxu+?L2P%$fktSfwI|{WtT3!WQ>wgzvw33K(A(N6j~(9)L^BI#Lrxza&jkC&CM#^ehc{>KN68WRYi6^z_MzLcyc*S~*6)M$6$LqK04?_fk zfM&1#<8oHs-*ZF}CjZg}COiGVYV!WaRZDXK`3!$qaoM>49L+mA{r-JRmV9{|vi8p&NfeVq zpsUYS7_bMTEHS#zaF=yJhC?_xd+--vpqxDUkbjRE^HSymcBXoAM+TSuF+7pA_3}^n zdF6g?|Fk4UH64%kF@wEM*RGE7^HuHNp%SdWtanl8$=G@SwRsFSY>FN(_|KUOqQzDG zTBwp3Gs8$UA+5y6Ss??*q)c|?{PVP^f1dVpKo9Ugr%Au!IgMtsi2fjTdIQZYq^?On zBV|a)W95$2vfG&JKk15|H`i5p#L9BBV!+AWY^$vBE%C+~W~9SW!1Q6M2g-16fhi&X zu<}nbce0Ss`m#LU%#t471{Tt(1qU1IN-q?YI8tiAb%w|ih9@J%$bXYEypXBQVszK~ zNngc#;CL}Mru}G9I+Y@e5onoi;3Pxd><&$hbp>JDZ6seEt@wd5mg*IA(ww!wUxz#M z$2?(LsAoV=12~wxJm`MAW0~j&xygzTj$K+Z@3Y(QQT{H>X6Q}r=dR6swf9^^XDWUS zHT7Ug=2RHz!!kTqQhGF8SjH2apY@Wy|A_Qe5`le_4R~2_S7>(1{J{|!JRUxB4pr`J z-oCt4UD){j(nH;$i;RE$NKiV>V`@U4mjXsik{4_X%yh23Bf$_d`4vfXHh;FMPUUkB{fDR*JZ(yr+Hkv&CC1T{U_iLOHPhSJ`qj>L1|az2lDr$Q*O4+CYF~EQnk2* zeITp!Xy-m&+t3=-&l8`OjX3O6xAo@AoeXLUMUq zeo_Ne0dVFB%cthk?opVtN3GRXcXno0Q7aiW^9*(#9gI>6sL-GfR>OumvZlEjFda+uuO-a9dj_t-ox^hC{&7 z)loeitU>D!kmg-V79LQ~7c#4+jC%VYeLi2UG}@=s*a#<*BItJh0{E0h!4fAU6IOJz zYvFE!`YLyUQ^JSw?i5-2J>R?n;ytXVHBg0vtnV$LcX@}Y_OCe5of&SO7uTb6JP~>O z#Edu_&wL>*{l2h1s75elmFDjR_kDhw1Ev%CfUO7Fgill>yUfvBGVf-b!?cSHJ?{zN z3`z+2CkPX1 zIuqEuI@WI;POVl^QQe66>l1Oe}~P0 zY?#P$#co2(*?etMctYmt&0=0VI-d=47L9>wK1Al>^|7kaYJ#r(vel!+{H@H-N3I2s zxW}katBMGOl=+(AB-6Ui(5Ij8ifgs6%QI|y#@GT0tq5`SkgjYxmK~En*Gl#CG=&7Z%6WN(M2Uer}v{156U*K>|?Bp#UA_`~ml;x;_dd-QW&OXCB@ZT|(;uxAx~Tsh?K( z?Ag!ny^EEj2gjY$n`u#!pEwd(xOHtCGJ>h01Ly7N!w8Fp(`TK!{ zaj5N-xw`TyOuNN42!Lcu9VsjsE}IY)Ej5-o_(Itan?8*e)?aBVY(bU~f`6?1WXjBI zIg;YtEs!C39e%BncI|2Hu2x2clCTjNQ!HKT+qDyFt>h(g0F2Gj|CFdL<(jdVEAcH$ zm0L5TL4@5tn{9`DcES^Inou^e2-iz(=T8aBClE@mQSr&W`{p4Lv_H^9 zr-4^Bw@SHJ!2lP+G9ME?a*oTiJ>Q^tiYeoR;{PPjU5kZ{Vm|i zipt8>4@t0}(p^M?`h4QENOY#PN79ZxrQ}ZwnWEa(SFtZd>>a=>V65=R-P9y}RDv<_ za8&!dSk(QX&tr!DJDK*aIQu!|NQ_22wo0PAniApvWM<`iDL_XRukyK*{h&wbk3ZwBjRky}>oQ@^(*~k-7aU&s!f5HoTC}?3RMFoiK&2mpnw-mletb$3 z#r6)8_t{~>JNRaQnqN|1NAP9t>7+Y*R!bz=6DWU*0Sq40>ol+@26v22|MUZj<>5P)S- zW1sMJ6tjb3il~m7?R%w4xAocghgb>#%VF57!t2?+saQ#7ClhE!0zcn#NxYZ>03)2oc#fZsvl+Y_kcPbp@+`O=rrlk(M;o?x8oX!D%QGNgyWs7h(3%|QdZ@XgG#p?;J@iJISMMis_qTZr%RHzJz; zY3YX@H!qzc^;53czQ3U^{vTK{|HBXwro0#9yx01A&C?;wo%7G*oCWsx;`kbib@5 z9z4Zt_I43%WnQ+xd>JN9W)A&@()!ZIub`~G(-M-efI}l^nYpF!F zO}WyI;Sm6pidbUI@s(Vo-c8SDW_sl>S5(dw)~T0jdfE>JalDfzsI3E~c7nN8unAKgbCWb*#;o?Xw`?3&8w%^nqmv--;&emqwY z!ySO4N@c~b5)V=Gccyi(9=^YX7Z{6e9>F!bn-3aN@Ci#bYC5`rbX^ z{CmjI|6?(ltvD{l_oZayFB_Wv0{o)IYFf+ms-|&~g!piS)nhKaoja9I$!E|(+_wlx zhFZ~`F+(4-2braWK>9?GP3Hi_>MG6JiiP?O^ykM<-TW*WF^mHma-8n^F%`U-i+pq- zCK+?JFZme{30Y_HVw|l_-Pjo9wST0>t1MM6dEbo)7|uwuUv(}nEa#OR9uV|tMwj*o zuEMj=3&)cOOj+npn zT^A9A1?cn*a&!{ny%s-9BBdJABk}}szPlB%f*n0>(P;+}7fWc5srbi9w9i`_wzifz z7ckJ{VSKmG*GF15ddD!69dNZH{Hmd6>O;0>gprJ+x4&uYKYY@u%AnM`x*6flAeTJL z;D#Y~G_~glgvg<1l3$UHxg&f%(YY$g+BS$@Yv%_)l+zBPvq^DGj@oX+qZR@bE4ufO z7&w09Ed~j_bkzGU34%bAV;Vv=1mlS!3qz4eEBrXjvmW4OQop4<`uV6vj&dg>Le$s# z^099RZLNs3%rCi_OdF~VkhA%&lTNrOz)War09B#h!@>+rmumm zD%Y6oWTqU=Y#qmJ&`;LGJThbg?%?B6R$a!&b`JXthBPHMR5Cj5DA(|Fq=i+uU9n{DY%Q0 zr+Y{IV#MMlgah7VMWr5z6B>eI)F<`7T%H^=Pdy5V)t0ZlwssCTjTYZZeYcgbu2^?J z4?i+!!&cwp=DvWTdKWzj6cjufNmSEV^@c*eO0~3s(@IwiXH1-x+v(8qYgpPLp8r-b z%PC_5;mqT=TEjtR=!HJX*SAy{gV65|l=^C2EQqGlj3eWNV*mab3CX86ig2BZgmReJ z6C_Nfuu#1n+7QOhrUGk~N%I%LrSN-muBzc9;PJSqxarCeqJjPk@KZ5tNfs+BlrIx- zNHem8B)_%Bc$zwTnzg#cS_p}ajwFd@76G#X#B+wpb$8;rMJ`B7_N+)H42?a%!y}ea zODAN_*LXSqSEZX7%#N)kJ!U&Fe3|m%-~Jz`Icm5);;&WXOfvc z*Zy64L;2&?497ar?6lQ`jGd1ZA9)Y0eUz*?*Q)3PGOsR&z01f`rG-FueAs$`A8EOAWjee)v4wh5pTZiXSWVFxN1UIekS=6d6 zy^H*Qu!7X8r5foyf0i*ClVsrBIT-jz2dAAiKaoiG(rUvMDg*{GEp(wo@&7DKc{ zFX&Y71-=?Oa^0>82v7E<%}VZ<^so5w2sT}e=ifX@Gg;|MQ0P6drUE6D1liBDJJs)g zZQCb0vU3XBO$Pz`K1l~nnilY7Hh&#)8k=GKWHQm-ivG5_o5kw2?d0x%k~$e!M7|}K zM9hf@O4(0r>&g?+)trt=(mTHpKz5tyPp{UQo(o5cgN}XFM77KdoAVwu`h07*l&7{$ z_f4u##U^t==-CXgv(lY5c<@LfUJgIAz6lcXP|5feylJ~X#tUs;eCRK#!Z zyh3}jlf>D)DXN6XO;a(1_ejtyB`3-q8e1b>*U!|fALd^2tb5NG|I#OVpDFE~BwqHh z)zhgdo5UZ0c+Jubm-5-TVJw#e-0!Bmr_3Z0Vdq>Fc zSitPaBs_AFW6-}9c4c7*Ml$y`B?9F8^ZvG9nqsxLT!QP%uqP#R=CU?gex~6kHTt*5 zEjcfg{Op1!2}=$&`sIEg1Ea8)q+-Q)Ev>zYUjEkAB2qa-t&IwMErv zxF4S4TQ>4Mw0A1ADMw`|Z7g$MEY#&oEq|;Pv-DVNT}GZL?g%!xKjx)^9EB1~;fEnL zU_tuNAR-jAS3hV<-@p|Q&w1S^1aySI#{3yH3TdY&stMCgMK4CJHg~W^5WGjF)=G8v z9n#bo$ZMOt4=H5|j_>*lDMl9%VruB}c)EVQcNJdF=j2T$Nbk6*GwbHG0g*=BhL#=m z!tCpOxDDOl3p4MD=I5hJu=U||dt&N@b4xq~t~M&PGGQ05!QZ>P>xZ?W42Ag8aL42; zMjh)KQ@e(`F=!#C%>JmpOZycuk?4_q0b+D~)x}7g@$W;iXkhhf#yN%GBTAmvfGC#D zDgPlggy)#I`EfeQ2qXQ}JChl7rjco_FYK;;TfKo-9N9hbt@xx`U#xAgb8H3cVNNTI zk?tNM8m29zD7eQ~L)6?npkRRabSx0gee^RPY`qT6KKLbnWMqhL zG-C^WsQ4;EV>ny5LyZV^`a4T)!3+Ia^*6SLBf|H#;zS7zxHDMB-_8_vy}Z#^=h~Y` zjB0u`d@4Lf#>d3vVD*p4UlcUFM@xqDmlY(~8lu8;bF~{t;!J-rlJx zFHl3y5);w4k)`Ml5^4wFp2=U%tcfppufXl|0%fEx1%LfDx3r2#|^H05ucY&ZYtmw8lE;3 zuxPWoe9|4V1kw~di~Tw1a#W;TJ7-+u<0<#UM_hR2puW;dx3>yXFJnI)2=bLO5l`Dg zbjO5M!?2}$!tC+FQcT#GWG-g!l=csuYuk0oOT!UjAlsRKcUEQYZWlS11D}Y_7+(wvYF4V7$LIShTbJzGLa@1_=+_5Fw(&FZ*h6b3)% z``C6bXcGxSQxKGvUz1|G-wYNBOSxLCUAKKg$7m`78aERQmtA=9hfls!HSl2V+;jNU zk5K=nSukQtJAbz^U0!WH?70D8vBP#e6Ld}O3>p9PX0BWzqd?(B;(M--OehXJ0reKC~As=w~5k29k}8v3!Dc5xkqzH(rC)cuhMdEB%#%BEc-*Q_lxllCp;loh{7T$Jp89_Du|VT!V@*Cxg2&<-)G>enlCw4SJ8WL2q;^{RgbBVbm&|c5pPuc! z+T*r?JBtIC9a-uP6urL%9{tegOq?s`p=F66CD5DP4{%IuuRY`quZoS_a|BG-NC0Tg z4*y>F{x*aJ_;qj8G}AC2UknRnbsRJ=d5-;2M8vu82U4AYUIxmlcVp~ zhRu1Y(!j0>$*lbnfstP`Z%pphv@8PfWPZ_q+I?axgBbDkS$l>>Sy@&etrS|bwjjX< zFC@53KPj*?d_A?$9B*V`h8YV;!cNrD1S-fV^Hy$%Ct*Fs*|-@#=c_m2Jz*_|1Ifo+>hZo2UNKp71YE?br)~E-AlZHY)Znlw zEn676FR8Xk(q-o-Tt{Dz}>sK{@ZP^5M`GR&Gc0 zhP4}b&Zn*WnS@9L1)Stvn`RiBz9^Y`bm3Qevs5iaBrix{5=*y3I&||R%-a0}odKiP z_vH4K>h@31N5?Uc#LfP8mfQYKhCArQ>g$riYZH%r_Jm|Ia$~zxDy)14)hxTgXw>9a zT=@JGXe>xGGA7a%`{H*f8z&PR8NXX@0qmLJd17k9Vn3pvP@#|8sWwVrdB!B*uN6U( zO~xiE;k7Dj#6b3*Wk0^CHDabVrfzJL5*m@D8inG+(nIvey!jr+N`iNQ0A$k=$8QR&VF#KbG^nkXVwiuhO<) zuKKNo)n^Sg)9aPfc;JxPfiL`)0`lUrxx5oKcL??%MD+QX$WQ+cmd#Cad^NYFEB7HM z+(ci%i87DedJ*$8d$5T&TC`p=b@mRdVy?W4AQ&^)()Tt{EXMukc0!!lZ^f<)(PQJ=u;WEhQCRNnLmo`- zE2E^#VMJg9Zpe6HO(EHSq@3YId&<>_2NqChq(LVoaY9~VjTZ8Wya02_*Y~ ztLX&Sih!6`XaB8z4fO{F1(7BOAM;C3dtzcY1G!?*oX4$YTgZ|yClnw^Fo#B9| ziIEL2<J`z@y3W zV2dSadNmKVD>3RI^>Z_unx-1qY-wrwK8uACL_4*2eDL;2&5ozzAc{-oY{jq*; zB`Z8sP30iETQsbytT2Epg%ZBY z;t?*gKFd1O8bC8L&r|;S_s3;*_T;^kSeuki+k*eEc`=9b(?8y9?Ybj62FwwL#9h%#`cLI|iqoGC@C6aWw+SEJ<_#*;n8w#ay6ae(i?Hoo zyW2uC=zIc_p)zclbt!1AWgMiRa8Y$;5&#abM5b;OJ!-~kRc9t7MUWJM!$t~3%;q7Y z^A-+`zo=3PiZ0bwKKi)M8N8#=T-8qw&moB97xL+=zH-MO)6bJ_zSzGi^8HQDJPO#4GZMeJ=@|ZT z`4<_M>DG?4D>FQd(9RFOEaJsJbOw(@SL9_h$^QL(JL9r!c_`J?n+Tv2XVT#{V?FHh zR1e33dAvdM{{e%Nr$>d8QVnM`WB_&CuD}XO>WyEDZVjNI%LAZY@r&XW+sr`!%pEBk zvZ8ZbwdjOfVZTWj|`gnIED>j8H#!_3{x-xJE&Zzbr=A6|2i;2(aRiet zLB&tKHDfEJ(+`d8X$x8X+dv;k=__0r86Q%mMm4VDGMtVk37l%+q~f&E96_b5-s}@* zJx03gX0rXP_BpHS-SAHpT@+;RJH0ke48yv6K0U@qVOOKgQe_Iq^jxlMO!NtV(tFDa zP@qJZ_2w|wm+2jEfX#g9Qz!s%{7qziKKma)PBl|jPX-%A(OoP5lVE6mFRX3L)_I8n zgoWdRkRD$S&uoOy&d=8VtW|0aR_W?WstV5y*J?}st0zMQpPDOr5F*3iF7=vP+hMCM zSM3rT1wiKu4Se*RRRy(??+Q@-of{w+gQ0d*sAg0OU_gkE(c$z@w9X-251_EKjHPh( zOPl9E9Ob(&l$r7$wbb01^?1pF6WpwSXT!>~oK}urW-}zJ;7DKQ)`s|jhU<)$#)SgC zgy}_?)iLPX%A;K+*pRaHcY8YE`|r;~e9t z8GoBzb^V~#fkWl#Opddy8ox-MT5+!?Xc^#E2P$*^To z-D6?6X0tb1_|G!|70eGA|CQWbp~t{owzCl^%0%K}ZjZ*oK+^9`7Kv{xgT13YJBq3P z9U^5bo7oIl^r(er^V9Z`PoH)h`Wpi@4By_$z2Tp49uW2 zci;NPkr?KnH2>3{ta@2)0#gqpCe9+{eOtyqPk;>h)r97qz3UARxp|n|)v^i@wt3xD zP+Fm0Q)-;FE}-8(P4HThtX8ZNGamm$0L$;*DbJARe{yDSCWBpg6Ckb1aX%MWA&c0Z zj;FP;v#6H1Nsh5>FkEJmE@p$rqaumaTb~CN@Bp3Wc+Zc)@I91txHS1t;Ag$3tnM?4nuXz#TIqNvrmaS9qGEOtB>auU*+&53Fok`4X2Z{zwg*a>@kb{y zf>Vi123A?=wag){$~Z=4K7+%O0ppW2jatB<>vwG(ri}Px42=hTv5T?)bBUp(e}|XZ zXHtjo3pFw=U}eFQFIw&sSe zx&LemNN09kyes=RYNglv%Lvm;x1d-|Sd*wnH|_GXu?|5yQJ=UHwZ>kE-d!Ihpe08> z+dbuInfwD+vW z5DPNytjevB=?izC(J~7kH52+OpK2D=ndSJcOmDV;8+BEmY2vic0Cl-<-h;8Cv7sTQ7Q;jh?lt{=r68ef=>NUsKBQ z`T;;6hJCa1+BiGU`Rp|&|>VNgucx*&Da5Z^*SQo2<2?!}!3`mG}%TU zA1;&(*>NsON#F9Okssikg1suW0AtW}u%Lj1cxE^Tm( zjEo)Ph0^a&WB)2X|FgPEI{)=|F*W@4T`uWQz2iUsOxo`*5S#(+^*F(2(=y48f)gwb zwaofKBMBH;ts43*#!c|P^>e2Czn;hgG1%OHfQkQUgy|td`2}?C7lsUXkz+X45*ZN& zNT3gA3sFIfNHw8>D9Xg2|86mTB)~*PR|r_yTb{I)_p<>Q0KhWKN3&d}eI*2}rWJJw z{C9i4i$W1^r!YR7U>4kf7I$$hF3E-1;}0~6sh!8L^r_xx6`+W09x)$>2u+M6wkVD z+}D4S1^)xo+bQ3%TxKC%6hGT-%tBA6{w}6nDWNf9iSz5$pP3&2dTy8X8VgSg#fQrs z7Jcy?M>n&7--#`Az~(-BF5R~ZXv*Hq|6Gh+=7-I(GXI|_O25`d5EQb7)Hp5zKTt}X76C_NzDZ{bkhS!H{&N-$Q9=tVHE9(~o@*y7qw>Cq0}1?Y`;4QgA}R%~ zw}`5^q%}h@k1g#AGdBPCRxktmf+;OvBd?Xa;r-HMZYW0+xNAy7(f}qiX)#zG=)}R{ z@@msd!21kzfwC>8*9Qd!(U~si4$5(`R;GVk(&!QPm_cN^3Xh4?O%rC+$ym~2OLx4s z>^H;h7Gpr5Rbw)xdgUZ&2lMx=2xB6d=x|2IL?TAzy_QA?=?umj>N`u=`@F#dAfQ;tO^#GRQM5L#-40 zXvtUrNoGEsWPkN*<>_kUW#fR};!ggAj3WaHsW?#RXdnuu7g;EGmT4x%o_ZaQ^M3V( z=5HDkWPK2I#=dj~>H5(N_iD%sMQwN?zW)7fp^{2%_xr$bHOVD1aq-c@xh5$)tvYWr zAx<1o2cJ(W8xF#`^k zT!|wj>9+1YTlkMwa~K0zHjOJ;rcJz#`LYp0-f_+6KBcRyjK0IapS`%=4QoruE~#Xc z44!tc{We%?drVZx%oEF=jergbTPB$}xH^2KZjT%y`5xLTStl3%zG~#OgQL(fxC<@P zH|;$pZkclD{(jy=+m6wG{r&7PHGEK3sqQ!?{PEq&;q-IBr_aopW+8rThx6c#xhC2e z_GExO&ZNq$Yrx?$G?aD};=kG}sv>tdg z1X|X)>a2(?IN0QYI=|UuG5=FNxM6HdG6Z}- z#jW>|4?9Njf^HI?zM!*;IY3GBf6KR5+fnJ#!hig2EL(&VqW!qb7vBwPoYqReeDNYp zciuVQ`tL_qvgDCDI!}iOvG&6a?1RFQ&Zhg6!K7T3U)dYwL%yXGADtUbeuMkuMmM)v zb(I;HG^WW$M#z{bVR!PnEm%M5zH#{`3J_ds3B7&3R5CADTquT7$jUGP*`|Gs7*2P) zK&wgSSdj<@*oo#vNCv=1X)nbi2ket2*>rv$r*}x@LD`QZc@m!A9q5l)*j2)sxl@S? zWtws~MimV0ZL!g``7T5CCTd&=)~C#;DEXTOd&+4|Ux_uJja|=NS5vc=%Y=ZEo|h}k z_&XdpHvNmUF%7g#WVJh2U;u9ChBDT-QUir>ANd**)KOxB!DttY#a$`73FRj$9my^;1ZWB$#7J=eKPw{!OW0Fvi%G%oK$bR01AU510)`9DCq zp)yzTPR_yB-$0Vb^hynnQjrC@<3%2o5x}A3Tk*MrgSmtLa0RIU^iV_}@$*su#Kxxr zF?1j1m~nL7t`|DrW0X$;~jfN|zdsKSJ2sR^AJ)QTJfy+W|sfS(#|$uFFK?1d3yPK8&Lw*M2D;ZIm=eSRisMv;B9S z0=pNf8dFg6sDkTP`1+)^=*mzR>C`T0inkmV@&k#t8bM%{OFn~c#)9G-Q@u|m4NvnZ zRqqN-?M~zqABR^qo31nZNAP+H0J%WfYa+&S>!ww}YKh6LDsGxJQfWJ>$Z(L$sKP;E zb8bXrDCB(yb3(UJMLNCY3Ck@M*Nif4CV$+um2W$tWrjg@(MDTI{icYJo~F!Tz>NW& z-sy#rqO-!IA4;%4d62%|}bq%9auN+r|#r0!#vdc#0c+(kf3kgAzC! zQSE*H8W_>$}uhT-s-bO9Lmo5(H#Wv9AJwBxuWzL z1KRE7H$JV1)0Ex-u4bEdr_9r9`Qq*;R$qiEdXy|Lb>W>g-gM|}gai}0o8wE_!-6Qb;7WIMKmV_56%j-@B-TZKa2e!_B5zTQ)({bx zXHTj&qx?9!LgnNoo5#$PSHMfQRug5MQW)2#^QLKncqkJJ9-3KY6FNDFz=F%pz0M$Z zL`Lw(5QxvbN6;M4qzd(m)XA+#kIGh9A{+}(C1~Of4c(%G zaCTC_wdI|4#Pxp)1D|9FxULv`B-Z|XiAm^MlQxyFh>4W(CbdUMPVgaz!%YQ>u+x6whJIo!IZs;f3Qbm z(MQ3f7t=V~+ExQntCq&Ot(~S7KF&Lvo2)OoG~4+!+C;so#r+~-;B+p*cJF9sIVl!g z#Mm<>>mIgL3ggI+>;~>1dAf?`r)mdAE>_t=|IIS;O#g-ln;%_3RpdOwmc529`GzE} z6pdUmHw-kg_lqAM&KNc0h^#!$|GJ$5_JqbmCxyk0R#R1W=o|=a?v21ohAd>C@f9=+ zCJZ}qPoWY5*k9WnVTL2yV*bqZ#Kc>nh(9*zu1lp>6Hnf z;wg|EL9<2={mo;x8-S7u6}eT-)uL;-`?wPK?xPSF(PTiU^xaf9-S<}mx+U1f6q-k% z&xd#H2M!Gjy+N$tj)(2HZjTnZjuq|41w4A~ET=<5K#80@HgM`MsQ69^vQx*L6E%`IQ{RXE#r zNtsSGNHk})F`24;LELjh+y{ucg=6jru7eLLZRoa^&tE4cLH@sw z%XL}hQ!Xe?q6p&X5vAl@zCYJ5^ika0rJL;(Rgk48Pj{4b1QWtn3^*xW$$w?7D0Lh`1#FL)>qyr$ei`Rt+u7s44%mzZun?YO|>9$dDbrCAc}fF z$Kdly#Bj;QLdw9xV%55FjAMECLP=-Y^ijq2t+OK-94XGh#`z!MZDFc~T34?d%n?Ga z->G_56t|WpGTXjf*>|>1Z$w*{R4b3v588gU&=)V}qDLBTkywn!bb>>tSWUrF*lz$BjH(m)%6Q&m{nAmyH(uhDd^=GP4&9vs6RsM3vlC}-I%?x<4b)kVZ zT>x%Ze$vB0z#UOJjCFL8rq)&`@}lrhUF+TFs4r#oR-s>5LT8d1)pPY>^EFD^YUD_v zIp)!uG!*wHeKHJyBjIe6nxtbT$<=@YM90GeEa91K#kIi=; zW=lZ7Lc6#j8deNnH$5I-3!>&0&+s<|uSUdyTU4|QBbDCk(VYSH$6?VA7S1nxh96tYARUmGt!)atJ|C+y^SOtZhagH$K9m%Wp)=pZ&Gr` z(@t(!_Is}K!pN$QPTjgz`~mSRwamajLV=-5Bn+aOg8k4Lp+=v0XA!=w7+gEgHr@0l zWLtlO?OAGw@7xY%qqkVRt`bVMlKJ90iSY0H@;4aRBXaOwaaae0m>l3i861K9N2Y2hIm-FeY#y}-blN1V;-Di*VcE7EU)#~Z$CN3^&Upgvo3~yF+(|O zfZG}3Zg$eP#9kS?^Qs0U-`Ddu;_W=7B^=0>l{Wr@0WWHsyfV@{yz`w#KinxDh=ix| z)ZyPBxyh8ru1re<_QGb&8d^-M#MXZO&9GQE4$i5q5eSI6I`n5hS+Y1aNq1*D8g@SJ zs);hPV;SqW%o!2pYZs_r^rOeZ#X@j`co*vyU%F(US$aczo=l^U7dM;TL!KCUJm!6@ zwFU?-3aaDr(7=0AQn5xUs>A&yL~I&(kv}z>aYSqu0r-b@3{I1Boz^a<S-XTSU|7!c%%;8tKiO`!a`|p;zS&(vz;4A`DG5 zUpEEW+L6PNzQ9dnbTX860#jwELqbq*k-p?5XPJO_wcsPVlP&|;CrRGf+bpaCR%M0+ zm{V;-xqrgk5<_;9-r(`D*Lp%whBy&2sm09CxxPmonV}k*?qh5e=R? zWID;TL4pB9Hpf|f4p{Nt_I-=(%4?DCLmoNf%PV*Uuo zPnLG5r9X$yuc?gqup7MRL`aNyu`6UV#tb?rePd+X(B@SNcC>ziEkIqdrmIGBO6Nm1 zMjk@$OHAk}9o1ticmHB0((p*MLbZmh3#jO1&l`OgBJVmSRnV-mB_C0@ywZpbubxq+ zba)xClNg4hdRL4!=H^d<|0Cfe*gG1=FEmH2zQ)l)8n5c0B-_EZ8f{(i-nUz%SW3ZnW! z6mTB0bH>@_*0f9>K>!q|fIY8^tf8C6VJ0jFd&qXGEIi_&yda zPD{u1tZ|1VLJnTR@^nMkgEwWA;#tae*%&%xGiHYF^w!Q5t13XZk^tBG3>9gJi#76> z-!B=w(VS3uq0%?|cFc@=Fg0A~PTjzLbWO!zA0xrcIU0G0oDO4;ruIzyq4bSzxXP|) z$?FM%qW?<+Aob*|*F2(;(@kn%eL9SlX)S|jqgdK$P|uMlU*JE0_;*q=a9yk5eM!hS z%GUgjr>$ox2#zX8Yq=45Y$IP8GXo4^grJrT{4SqDGBKHpbS>da5i{va(@yp*_AssV z#@5A=zQ!es!7sYLO(CJ1ihq#IoziCuxNUUQpTuIdGT(Wyex$`1WQ4hS zc+cTHi+6kJgAhSf1Wy_sN#PMk&nMi?qz>6IH9lRWjda9q#OiuT1vu1ZNL)o@ zL-Xsyg11!}zOE0P;`H~M5a(CFHo;mWV_J3@Ctz=DygG~K@DF(TQrU4!pS14=yZ#Al zvh;_iKV7-NWrehbT4O8~e|4^L5~H&rI3!rmKKy*}!L6tHCG7#__=7cRch|quqEc(3W{Ebe#iA= zt!FV%rlB^(DXc8B6J~K3Oemcxbl_yKMJq9C;s;$TJ5H6Q^Ck4pP&|3M-qojeF>Uv; zYxwWl>2Q>QjAtrev8o*{_ktNtm)RRLVkcb02toA`(+17*y32POQtEbV=CtV$3k7`_ z7o2W9?^Z-X|4c^U7vQxafdpDnSgIi901rlbeC=!XRovzd5hmW3BaRqC$6g_9+6wb{ z|5V(`k4p8ioL$dI8r0$~58!~(ra53ndKxPV^yh7yt6#)r#XuL2E&F}jD+P>Zv z1O#h#z~}X^8LU*#Il6x|<8Svp2;M0dNvh?I-hENz& zQ$c@FgE-Rx;vTpzW#$x&^c+P8^vFV4-aEj_$2clxjv3C5(AS193>U#kI|H%Zt^`D0ZJ;(fybE5$)UGdYRDpCD5vg|`<%;8Lf zx5Ed$v2!NjWf729dv1z)moy%KGNLjfTVV%G^X`#cH!^~d7QM?@C|j;} zcpAIIdG)>E?KKijT~5u2DF`_$az6jQi0x1HH{wdNUS(g)WcH}w{lV;`L0RRk1ujxHmZ|E1xM}xO4jdwHFxQW@5Rt`(p#~qZuZF{!D ztwHBucK5$vNQ?9o1FL{wW|oVz`a1~Eq9W;{zTqs2_Jk*JMY@t5%v%jE6CWGEkQU}q zFaHB@R%2E-=1&o6=b8>?pQx4XAQy}M(@O!~(`dcTeKf{B<%t>Y`}Cy)48eI^Sp3%X^w~H?e}u6*o|}{SQGTjGQ7nvU&@4>~Fs{;G zZTr%0+Eups7ld|h6l8@fwAr|0n6Z38x8(*`KNNShzTkM!o-z4qaCU`sulgOjw*Ml< zc#5KI(3(K9-1#~f^4 zHqXtS2-kusUzo(=l7x-CRAR8h*W@uLA3bBVH(tu67k$1ZXR&scviHicQBx^4-+wh; zAfRPlr&TsxmmJb41dU*e`}4PIHV`{^h-R!?I%SuOprPqqO=NWD4RlhWV%{r@+kK|4 zy#bL~yYtMe=hRLO@@~nPRC8MBr46uNkv8~d!kDO&er_Jf1YDxASj`bq-Xs;|Vq@H> z)=T@n_pV}3s)J+rM%hd<_TY|v;C1Q1w3l(A;1)|!8;wZ)T-p{{yFu<4Yko2rK9Q?P z#c}b@=4J|?3x8!OcLP@~{`OkZOQHm;0Dn9#32g!($0{Jwc!z}Z^em4XMf_ahl=~}6 z^xr88AOIW^CjLY2Yg%Lm7uEcrktK)I?eC_aOgI`Nmt|et$f%{RmIrP=pT=hOBhKgO zP)4vsYp&cmXY0vv$s#w0AEIE? z5Gnq`r~pMmZ}w`k;DGUp-+Zs3fNeni745;yzu*04>2cQ#A>)b|IG>Xlk2Fb0FWCgH zh>n|LT|0Zvvko{S!;${N4yT)IYuBDCj&27Il5DywWu9mB*&-!>J4qy% z+3K84$v2*FjUUtQyw?c|cW_t4epbf)EEtnMz7i89Fi>FIWO^c7B3VE|RUqG>ad<1H ze(&X&m*d)3e>Fb6bI6kycfu)i{H6_iGcP*-e!`F-IEjRE!JfEnR)4R}Q(p{UUq;?2 z!0$xIx9OJd9QfC-*~B@ZrTcBn&L(^>+Um34$IbbIn>7JaX_@A_PxJEb=Eu|9!!%4c zWUkfST7~DcM)MP)!O*MmzQmP}bp=w54>flE>ReuG1e{NxOl_=8kBVjF4hzQLcXwa3 zG|FEJ+J-)|*sM+>8{jD%?b1NQL4P}w`7CN6NaEN!B_ zY3ns{f_CV2%K9ZBIQn(gr!md5jg`Sn+#MS6;kLu6xQaG2opAHp8`Xo1BeKLJTso<2 zAD~I&a6G4yfFtE$~dVRSI^Le-CFa3UD&jsDP&}(`t zlS($E&azh=S!_-|8s>(**F5+@eL6G2U%mLc_L#bF8@QYn5x(>`kW>Zkb1n>RsqVIGXWX}=X-t$lBK(|Ec{$mUcz!K&Bx z_-@{#49COR=ta&OJNn?MLb1Y|98{gDt8C-oG>nz}$1}8)7UP&w(=1L- zHQ%nu-TY_}yy}rcm;6UfZ>jD|rRh2qQ94;-_&@CT%j+=x#qNbM-x ztRBb9GTJh?dzP``2J`hrT_?V&Ca3tH1%^YwZf!`pbsZ%(30eQvo6q)n{_*bftf>K) z>$@kJof#GxXkt4ss8^+6?e_i^&hHvmLoKE%$E{K`q$}Z(?*f@NykDWMKnHJR(FH|ILaJhOEx=f|AXLMvn!Q3x zf_EL{$gextW;nON1d)oDU<~oXRnho$pRC_jE5bR1SJm#){P148{5L%JAlQ^ z6>2UDcga@Tkdnp7R4b-^Fg0J@c&E;Y+|49=(cAWAk*_b8&75c62?#hAXl8()1PuPT z;eq2sZhcqFTmZu~(Gk{9YhxFn@<;K#yiLx}%^8~d%_(PE{UV?>4p>>P^EPYdq(ZEOFj$YFz)X72C#2(fCn8so4I z#QN*2t~qv_(E8IQoxFuGvN+)_Iz1fCH`Qxx0oWLL<9Bz9h96D)5Y=NGPJNv7s8@d1 z#6^xYZB32L(j`-2%eSn3-T15I`T%WgA7KR7u#o`=$XJ5NX9xrHZP)XsUetJX@`aUw zqJ!Yl`(jv|Thxm|U_jeT{yIA*)}*>3MuFrwdVxqY_#(#xMnX_WKQ$ArW_iu15NQ-1 zKjudtar>bzGomEJ(RNtm3kVPR>S>KOJ|;PH*o1s@`mK53a{!&P1KNiywoBNcil*re zvRWKVulPzMJmtsy--h}+V6w~?-?U_3_}lSN;T8`Ruj*VyK<7maL!z{%G{>Ju+M|JT zGgs<{K{C8-r!pCeqjg}c=6r4x@*i@ck<Ag|JD(c(iVtea~NcijIcz=h0yzBEq z$DnY>uIb;4#;8+=+8Dj2AOMMdFrqqhS(d`%^3n!UqyzTZSwbCBjPQ-r9jXpSEKkVJ z3}^8rj#jc16sLe9=hj(!1M5E4=`Z*e-W4DN4qKj|qR)|y4^^&BsH*#FN!U3g9|B%srwrWUD<#sddFFk?e3vfXat*=-E zG`(zz)=0%N3{NkT=7~1aRo5tTc&#~Vnc_?bR&l$z{0S-!42=|*Z6nMG5|zo-2eRD^ zm%_9_?qjwYC*+3&3v`Fyb>0>pFBsU?VvQ&UryCk};Bj;t0MZ7oCThACBlPjZH=MqE zprX6uLT5-r?EhsGZPfR_mSYrhFeqpze)1&Z$rTyr;=N1ON~!mX>LytLOREP2MvYs) zDI7syKJL#4dt<2<5nX(iruZX8=nD?Wp48fvwDhIih!08bFF8&^Xi?s1|Fgz9hzZy5 zu{cGv<^Xq78(=DOhGUi1GR1~H2jdVu5`M1pM*C^fhFDZ(Y)?Ni_rg9FA1!%ec6t+? z<>amv=wiXji`a2{aNsQH@Hoyw?Hc8fQJ1JB)n$uixu?jm8L|UUd0W!fd@n-NRpp3Y z@4`7wX6~wiy-bhpXdJP1;}6y*A`OyF!0ILFypXHzm+LPj9sRG&jr-G|97bnI-1K?71yTqJ|MT9I ztKnGXG4vTF4ZIyQ2fJyTHzJn#*OsE6i`UV59OfrIQSyXT%PETU7BGUF>?kY?6167`-I4HTe38^DM0zR)|I(U<5Nd-QnA1`Gh zI6zn<4r_t-u^N?3jnkyoZ@w6z-NFN9Y75P32-9>lThhPa{Bpg-V^pN`$As?b{mVr_!1#bA{*+Yc9ej* zlWD)gR)uZ{jc+--8Xd#cPjW+=%meDF6KOMp%CI~8b~bl^r$r2E*km@@cu}(X|NE{D zsOhoj&s>s-bQy4xAdvCqgr*uO5ePzzxzw?`Woa{Re)1UH=ytBW-`v&o#{Pc*mOyF0 zZUM+~#~!gAGZu^$_ORgijs>XSZtvy2c{bUkCsp>_liad z+A>eFSOT>p5{g&W03J+5Zr-wmCkG@6eeBj3eY_4vB+)9Rn|Cdh&T)<-16IeQD)a;_ zTKdYtKpxJ&G@eQV%v1x60nDiAc2{iQpkSW0l;`4~4``o9?7r30>U3(=?+$oi*!aWx zC(11)v)zoZOt;1}UWZ?HlEk`#GhYQ*lb>!UOgNh9doh+9>pQ*QYj!m{+c(@W&N3NB z2lmgNc8-?a9;N8HakTNr2i-n{*xkQhXeDW2+WiULf$hMZ4Q+j&bLQqnUT5qvecmSME$7*&qt4CpTU;LD@3gF}qWaJ9^fO36@ zndi9K(!0wqSf#bH*|d(FN~0BSIU~kB)D}!+9COU2)v^QY@h^0ZfGy9?AF0Ho}F)dL%0z7=>6-w$=N?@yb$tJoc)~#9XbyI

AbD!9QBW@Cd3?;APx^541laYA<65yUpY`;))_fKdYLPB z>guhK0G}9+xSbj3FRJ9+Um?KcW31|SMw*qRIkB#_u%$r2T<5Qx$ESN=yeO{dqmX+1 zv#Z%!nl#m}^4;!tWOT=debbj0D>1rn2{*dvr)SmNiUV@3>gU2&U$Tt_p;vmQ5kWZ5 zJpPH3v^B~t7S{ZD;P}pScAHz3d|({l_|G2;pDwlAEad32hB|OT0L@b27Cne<2jsi%UzpWQIZcQ#FOI^&Py{6tA@|A zXME=aB=|;B%xu|U=NO$er#RPo_o-#dbDl@dFWF$7ZASXTR)c$E!f(=Oi)jEO<0&Oa zhB%Jw?K5t%6+lr?P2ajFuM>^VYR74XwpM*hHM)JJcAIQAA8_CZR9FBB$gGf~0uXVqcv<}s-zzVU$D;l$DxSX0v^j&agluv3&BMH9JW2Q|r|lxt zwE->ahVcX*u{&S9YRT9M<}#{Ir&6f)EqLf`JW7VORO6KK{{Y?v@2uBu#UpU_SdO10 zgH4G^cF7yD&)rA_I2&9m=NRcWd?D9JbdOSP+*m%`lY`)Vq*h8xFd)#t$8C};)y0uYYI4a=h2l{53@9v4KS3_A{hj>!B+TLTzW2n^U7LpEl3VE70TFO%Q zv54d|Hg?4&J5On^QQmIuG7i(U9zEEFn%DS38)^)Rfwd06!`ehb?IbIe;Bd{HA7J*$ zc2l`Fmr;T-&JVUV7hu?-tth^$A5}4&4=#}IfC%I z?AdVvK_Fv+2u7i5vFvR)DmlvXK>6jbx9wCMI3RpxY=iQ6Lu@!_&!ZUr@HZl0v1N2MSntJq!akVVE%&S+EmB)$jIf_eruxwhD zRGgF4EVxwf2@I^b!*22SKw2aJ?)Wf=-bBLEXGT4}cTmkS6#6l8LIiSU@Mz3(b)bzfw)AbRL) zOEM2mNQ((fODxkcDYnCmZDEm#1XxLXXaRq5@j(8V$J5fJzMXCEQ9)yG2R=BKI*#_n z*sW&e+6#hl^1xd%D=zSi2aw>8Z=Ailx`+rgdTe6_s{|45=dZp-n@VqMQ4+GjNjY!P z8p@hlm32B?HHZomf_?mS5?w6WJ>KG`s#upKDQy9Ntcqyu97Wnc&g`ekdqlJs3S zr~wW3!-1b~vUFP3vg6u4rBXdC#094SGY=0iB(}wpRw}+1YgovSy%%$}YDUrKanMTB zsrWS(R@5!x&Ol+pH}1IWEnc?z?YrRa_0g!|>r=xnbF}!87iCvneYaEsQJnF@k6`nc z@lU|YyZdgS={r9cxXKk?@tYk^4O#|~&)nLiiP5t`@ODcrqZJY| zg3Ryp8SsnH{2N1cqgbzHSv8ej54?`Dou_33Wpru6Dsrsn*J16A^(Sq$ZPDucLaOvV zl9f4arnj`PKck4fPL7=;xVcDCX42@u?LIgjIGL$l^aMr-qo;vlXL+>!gxXrGO7(58 zAK_Gi-Sp_JKU~ectx3%s>)kY#mD0YZ%PdSIxC%M($GT){Z+$JcSjd%tH~?j&luqrn zR#9VV!|dO@5D$9!;>uO)t>ELkD}Ig#g9*C=&QZ!uX_RN ztz-8@c*Gj(wv%1&YwD_8RZ3O@fu4CBlPjs;dK&3Vh20wufwXyn;Vq^6L)C41lSTFN zS=S*z>5pu6?!7x1*)Hv@uD9sys~!4Ow^sKO zHdk5@8*x5AENI(O*{Z8Rwyl3^yVOSAxSwV`CUvB$hu4N&ozABU2pt9@-7e7IW}f<* ztLf#CkV>Bphp)OU+FaPp-rT3F9PodlSrXQzqfRLfp}XFryKYCf9#MAbS*mBQwp3G- zlk4Nm%0A6CV#H>9tjOKC0KX)vwYqlLZeq?bN;Yskz7TXetwpKay-#Hdr-Q#FA3UEJ zGgioMt5ITE&Q%6^JxM-tEHolHDE6&K2*`b0`%EuIO)i`u0J$50Y#)$FrPG?$&GpzD z7*$r=@6ViGlfJI-H0~)Y>n(&}q4N_Eyh$S)V$Hvs$3nej6AV`|x8?pc?Ti~bWQ<`EiQJp_W*Fd!0JY2(=~ zsv2PR9Y1^!sN7heSmTrK%zB=Ohpw7hw5Zq_IcDbv*d}ChfSodu0ovV0Oj~JTSEo}THY5QSN+YaW)%qEE!kS0($%oirfLnf-yw3RsL7XJsq!8L9 zW|f)k#-z6j3HZKe+bS%@P2Hw5z&o%9k;l&{MHp3Vki>AKr^__hmDHQ`;5x6xRy>pL zg&~kIQFp5A!Q-#ZB!oxUw-z58hRXZBu+vx-ZAU7(<%{_H1g8H0QLV8+MPNl^#s%wP za01fXc`MH{thG=TlEr5uAy0?CYSmF$w`+ne1QA&Hp?ragwG`>WYP+Ad93LEc0W7FS zoVyUqmII6@9Q$ULwNiyFac!!~K^utqPxM0CR8_TYW2Q~4N_ZCiCyA29Vl#yb#9>Lv zGIu*0QCBNStT@JUI{cE1aZ{+X*73(lHC)ND+?)NdASbqGfus^dQRSHIS7csb{wnl);!mDrZGjt(t$U`Fo@c)(MzuC2IY z;PIZ4DzWIb$g`XramORdH@iG;wL-Q?2f{^F7DComY#fYdkbLn0MzEL)OE!2u$#HJm z8I36XZNV7Fw~0OAw2ifr+;Sw=>_9~a8}i570+kRh1($$2o`N-)Sij(a9Woo|F<=W2 zlH@k*ZO2h80-^(3sR4X>%nLm=oiehMyc3ltuRLJFpengu(ypjFDT_e0x_6GM9C8QT z%8U}AWLTq+e4teeZZ-wandk&&qOvVb${Cn$HpM;J3{lSq*(recF?#mok`+z@<}YWhwcC~F)#os(##Y^5Cp(83 z!GsQ=Sa4T4>){(?Rw>38yw8M72V0KqtIh~x)88wQGB5}ytfAfMum^As4 zEv;Z`?B2QB2LPW5olp>R+d&fHY!%~p+rw=GKb}QZ!LM%fjIKcIBh_zImdF?oAwrS? zB=yXaLjX}nfcBH;Dl{sU)2M3`Y0s*9}B#m^XMQ^-o`51vB@K#l~*d{j1mtR z5)BuvOH$Ttw#M2DkGWql6qPc7cWy>tqz@T6^9$=^7?rgG5{{Tj0T9$nqdKqn^yAE;( zOlJlHf)!#NSzFuTE;H-862uTPWo>iD*Cdh8In1&KO!~n|9x|eKfT~zzpKL8--m!Az z^#!>ya;SrO+((eTZG05A&)2pFl{Fb|F+8F#9R@>e{2{G%(S z#f}DdpvxgWF$h{#yDZK_05;`#`DH;nnXCbhFn?UT+Qc@}NPeTrEIw)>h8H~fz^+T! zN{px(CQdR&2E`*MJuxMl1qcLIcsP_`*i+6Ah=EMyNZ>AfrI9x&Ax3;KVSoV)NdB1& z2L*G;@biGyw#@Ca$H$7FD6_Gb9OuIx5}>gmjeK?l$>LpWZ6?vrCj01RUX+ixI}*NZY{>s#t(st$yVC=Bp#5fhkI&7 zYg=OQtK}>KMj6Q-Minqt#UJ6bkOzd7Ui$E?Th>0Y>Op~O(XTAY%K?_pm$FXmY29gX z6CCcwPd*+}mM?V0KyY(_Wo$0TJ3t*WU_@v}&&otP?}gUv=W8D*=c)P~d8<<|sSdgd#8RN<;%TNuccLfPDKc<~Zw z+3d+^du*_WC!iV6w=w{_`iVs)Yfu=0&_QYoQ4BV>QdnX-yIPtUru0%a`v^UAC01~( zj-_`3Ia7>JU)Vm7)Iq0S4p4Le9mm73jPb?x)>O7eI+4tZ$UOny;K0t9WpS=~V={ef zNGsG;-n~0X^^`CK6XB82&oAjGV7POs(Nc!;OEqc$TzjSt#qGPaO-fy3ZDWPA!xPy) zqMc<)ZPpTOI2!>x`GO~Tt|W5ngXK0>QT8(~?zje3fav2q{L|^4l=d=quG?$HTC8Aw zuL{6)_fMT`boS|-*QrKJSHZkz46wMm%%ve*F9;5E)=-g>LX3|YaD=IB;12`m8qBXs zRf@=H?9n+4yaBj%fEgYq$_BPw#|Hzc@Di#>Y{tVD&7%#@JSL(=p=?}|gaR@1 zOoW27Z)F^6Lsi!YAo%;HbLlr19=A_Vpsu7)EFA9K#eYP7D3!aMHDQR{!=~P*FS8XW z(H3VrtRn>ZdCTfaP-_gP#vVQc&U~D=&12Uw)Mf3Pg-lX_?9K}&8z^64h}lEv)?*&rFwluZlJ1)_maM6%0}z86tdA% zjXilFH!WkI(q}!oa>pGR?y!bEa>SnrdTU~=?SV)AJ!JWrIil9gJ% z5pw}YK)x^Tjr29u>3b&CO*3a}ar2KEvqaRE_}Cl}2ON)V@@G?JI)PS@c)IdW^F4txyHW}`jXOA7#fQ~BceHI8xy41TA9o(VH3A21TmsGCufoueMf&|c1egI8_t zDN-`1d1m=0EjuW&cY;9Y8S6SKw`9#G%LvrO0T;nEK)tW;t(u{Bhazsh>LvBue@r*vxSkGq-4|QxD;f20 z<319#*f%jfTww9Xx(1!0^%fQ?wtQv)@O{QzPHPlbcoeb80b${&zUW2>I+$_dtUZA-tC-> zewiv65s^k!vB~S7F&(>|%3A?DQM<5waB_ZWeKl3R$c|A<9B#3;f$b;48_^uD1Ax4e zF^K~AuD!yr$((L0o=Ai@RF-M=4vSp`58SThZ)iWNC%U%Uiwp$>@-V+7wR^kMW%a(r z9CQ5=S^L7ZB}aC71o*Fryz!Rsz}VxhoZgiE7jRb7vDZfio;H~2Hj`Ml=K z_1beo>4#^o5S%ekt`GUmuv?M=lWr2cA-=4hRlXxoB%uoNuu4QTA`iovCkMQ;o*=xBlTLfT5GJ} zKHMo<0O0k>Gd77B6J14F&IM`n8kTM$ML}xF z4iFqKvIVsW?V_&k?HyJ5ur3bnxXI+q$*t5nTT*UaJ**3X#^O9PHPx#B0F70KgvE8Aa1l?zPa&cwx|i<~-s}t4fmivddT<-bXz#F1=HJhIVx} z-9b@OrEJ*^V_{1V4{WQl=yeMEiW0^RkQK(#J>xOEFVsEOYHY5hKwB&}?j-aB!eh3| zYGo8yuZ8u43=H{uW4YO>HComT`fzmVZsL{H{{RqwK=#Dld#0j+Rg4y)wAjS9PmTn& ztjkkwAqD^?Ix!>9?uFQJQz~Wwn(^XZEs<3vwJch~@U@I{ z;qpSgI|~(iJ@;Iycd8*Q6c1Us-~lP32p+$-SSr6N$2iEHp2zfS;kws#y42FD;Irg! z8RQRSYkeW}q;?-;9@W)%c2;byhD)4`dwsL%UXAuu9i3X}Xl+AU-mxfwhq!b4W3(DA zIjg&?M`EJjD+7eY^bX>U8!u5rtkPR-KlJ2ykB_~RBfNj4vUQSOcOm(ve`)+(!My5bPqYi=mM+MS6D^#)a5oe#X?DVZ1!?FmuGCzBXy zdfvlXMrG%docn##R;tveT<5Z`vFTdCFJg?7k6Vv^aT`rBxdz2MizpaedHamAtGy>s zwJKLu5tud!W1Jj(hooI$$Ow?ZkJ`napzG5F`(hPj7FY>pQpyGp zez>$-ZEU~V&;oKsa6OT_itN#Xfz`!`2`D;Bi$f~+RF7A#=Hd}++X{baRlYx`%lp#{Ux9Q5LZ&<18>=7?TDS`sVt)pg+&<~-TD>B0#=$9 z>lh4f$P1CzF}iZw8SA_&CjetTWK-%?>V0rA&rYx^z$Kek8AFZA#GJ+Vwp#4WNoP3q zawJ)2+fQ@qfE}$U5ByI!$09l#eX{gktT<0p|kIg9d z`hZjz3>@wp8B!M~)*um+#1^zNs|qXJyZ2x(fcBFkP&j=>)}@Ve5_XRq%4w7%tDH7- z!RaZeJFF{EY$@Ud)lkpc&Iuh%xh#woTjO(*I>;r}$aLJpoJ%WO+Laa711GJtLKO8l z-;#1haqN{=D^WEtQby7N=34V@wh>}&0G@Fyg&5X}PE{Wzyj$4;X-I0`*RgnP5uaG+ z#7o$qRHSYq%;Pe})IGq~QH$g#=z~2B4OOc#v7W3B1~Zsd07Xr&xtqfs6zBCuy-)CU zb}F>1Z6r6WNg3%gC?>#2B#v-+5)BN_3hX>*li>mwE^>@nPe}D}s)GWt5|~4;8u#+zym)fB`UdvYN1g`&PeLnf|||D zwtCnH1EjreTQ*bxRE!*Fo?!|shfj&wgQ{JC_I@x4^S#avfl2%RSp3s1&6vU6UgcZPGhS|-li|=70JtZ z`v-SGt~7misTj@Sn-@m2fOEP541)tfZncfeVFU-fk3LBvD)6_ z8o@1WpHQmvo}|TGoz*4%M{;wFagTJU2M2;YdFBx|GWx^< z6!I{7e3BWE4mU9J1EgYBu8IQzV-TatMQiISsRZZ8#sK$yr~nnWeBx0+b{SLCrhI*p z_LerC=m2g&@Q`ac`%`i}pi?2K2wC!npy(uT3ZQiW9P!DL#g%Y6bUxVYNnJ9~^s3mc zyLjt^;9x4IDyUrwCUc&$mYvPJA#yW`B}lcFz2f+bqZ z3hZ_pJco>zC4de{9zaSKz>b^|?U$^au_pxh=cK3r@xafHCDO-2R5FnQgO6B}eaFUY z($$t0H#}F=^&$=vw}cv-xLfEy(2rYLjqAq9X$Qg zT?=O_6otq#m8uR+xO3r%7Ii{VS0sQ&dIKj{LFgpX?KYNT4UQi; z&%Q${9j73i;Po6yvAe<<5DW}s&QPL;B);+hBnS<$=v}qD@4?}Lt}&1y6Tp1rF}C)+FDIsnzA)W<%soA;g{c- z&e80RH)#&;#A_@+7btlC7XQv(~ zH%j4ne7#;1wtE{<*;>l&RJYP-g@n$TAuXM%sA z&l%gEjxtx?=!5XbbwuRj%o)!<7P`jp;%}vShV?2TcLDcVZl~Q6z>T;WC!}L0(tFH? z2LuslO8`1@eUj8;z5)Iz>lI_t zr)wphoQR;EryV>`oV7ZZ)7fpBjGF>(BZJ3)iO}gPuNGGM1cQw5X5WCIzSeT2Si{x! z13Z>vFGr?jmF~~m*W7gp-PWP31OtJPKlYsd?%fWXb?VkFy+Cp64(G9Q=KErsn_LK8hwglKiLM@U%_ex+y5twA)K#c;a^9yTC>}j#ogKBBtXo&R zQSn=;KFI4Stfzgda`*%UQsGzZw>${z6QyZHw#G_WZD2}}#~7M^5vWH|U#n$Ec5Uc9Eu z969m#&b2y32=?cB#uRx@S!XAAd~m*uI!!Y%MO0=DQm`57eZMYZG#W#x?MiF38l9~8 z!^n006VWIdYAPgcwOA95IM4RXcUI_L@qj&c2R!pJIGgO%;pykQU5>A|btG*F8vytP z6FqEL5?3KkHiPkI?R8J5sVl)YS;!dh66Z#`bV`wje_#dJo-zBG-dQAZvhJ|8ozX6- zn_Y0MKID1KSsQXQljAy;>6PoVQLAxKCv9jtwm(3e^H~Z*uuwVqX0c}|Rf?rU4-UAK zTGTnU%AX7j<`x6M2M|9Opk@+P2$kWSoz;{;V<@v?lH6;R~h z1LMS+RClL;1IWo0s=nJYGth_>W*`nnhGY_iZzT!oP!6b~~xEq&GKl9c$?kX^IXj(MCiw_m&J?TqXD&JzP| zK|wnZWN`&UuqZXY;nz9Didw7%vEOgqD)A=!TFX|da#46pj)Hm|7OJ~mo0H>Kxb^%O zC;DXSG^tC4dluEeJFDbMD_j8?V1xkRa2pTC5|BsV=r zx<*%S)+7<;BXTWPPVB9WcLs{?+tph=Mm{Ul$|NNz$*_hepLEc4?_SGlLTPd8Zowzc zBH9+PHUjKA=fXu*+?$@ZYLSKs^OBJ9scKjRCCc^Vi9>VN6z*J-NgiJ;tvY(yk9%(z z_}&q^WlC-)>ebMKxhs+H$DDQ*w5zp$Y*XrjHUq)&1~!$d>l&Lb34lp*a;9ZQV^}3o zKp6E$>5S7~T{Z`|Pg}9+-Y!SY8m8fjwb8Y}SKGrH-_A3?RSfl_bHLtr5$%aa1*}EF zh9jJD7Qk0=QDCqGjE(_~8_~w|s4c@}ayI9ICb0F`+sk0^LY>@uBI$HY^51e(4nl7a*`_QOPyb?l~<+N|J;T8pKWezxLjYCw9LxkiV zs!t|qSJOF1DQ%a7&1^kVB}iRtd*Yz2tla=O5%pG@lFV~mpps7SRC@r6(%9n=Rv>O)#ucL3@}3HZdvaQ!6|TV3{9sCsQx`&b|aC)!W+ORf5?GA7^! zugciRD`4`+l+Ad0?={|r-s!fK4}rVi7SxroK;Fa;T~FM}t@mB)vu}THq1~HOJLLt= z(ZD`H%l1!e_J?Natx64PRoPc|s52jyW46Rs8*Csi03Zj08DDc#T=sX2c);N2&zg;vf)9A)kUgLK$0$*vurt(k8;CU&^|9xe-8Qb%rfm%xhpS5GbE&X^ zTiiOu-&LArT9ZlZz8!61M;=({WVf!3blC|@f{xXcLNlF*2i-RfYuBajH3@KZLMiI3 zGI`IkTV1YwQdYXfVpr8%DcUjR%*{!tY0c}XSJb2Zu7<3!K5fi*onhMa0-LPUC=G3j zGT2q!x7#&g5rujt)+sBNHwDH$oCxJh^>=->(uddumb+{RKE>e9e!sKn(_ONSQtLoa zU8!O~K3>Ts-O|~qwCSC$H)$)XyBUUi(}2t47J6<~D{}Cvp0;t~e50ssRoXh~U{_C3 zB}h?~&t8L{mR+p2t6IG{9=Hn5JyPEBHQ5c*>2uki3Dq@rR&CfQOG4UC4=30qv|5YH zwuef922#5#!OygrmaQe4tw(V{do?GGpaGv?olRQlbpuPK&}fE~DwVmK-tp~k9DqGv zl4ktYe4N8WSb;9BgD+jro-@=3L1ic;$BVS=bm0R7R=SzRT%o2)fy zoheI~W4kCB1K-fc_j)w44OjMQk*&v(=fH!dkbs0Gx1=*~8>#-KHNN<~L#@0kfX_D0pI0; zp6RLtz0BLX`0eog@pl^^KrgpZV;fH0tA*S_@*WanEbh5kdn)&1Os2xW2_pu=`5Sxy z9V98=X5B#AiZV@WmSf=)sqX2wevZ!Vv5#1SbK^QXVNjxtO`6etxXU9BLmvU3jrt|M z5_KZ$DRyd+7RRsxthN)k9e6P|X~0r_UAV{`<-N03o~p+EJvwH()?>QDq+oj{L1mTe zK~%w@?iJWK3=c8lJ(B(j_^a_~$rfN>sC*DJxRhHYX zYwodhsP=l^rC}9)iaH6UpIfHXZEaH5V<2J}F48f_1IA7N0Cg+0G?gc54L5q!l^(IV zgJ6#iBI{RUNVS91hbvPLRD;(fbd0Gj(`n7ByQ{H|*CUPIeskCQ8R%}KSEYS#Xk0Y9 zP`M(~2Y7rX^i6K`VeB78@6}uI+i6;~`?9DBBj4_yKz2H}sO>9R^TshXkFL9!bkx0&`aN!#*<0L- zi@?FcpvOXbW_ce;Ju$mUqZ$n=Y_Z6#t!Mb(*&XShZfNillWn?&_3gQj8@d()+dgxy zO0?C6yM4FXODmT36@8I~?WoV&yCq-W@ z##5(r+ACXZR|~ntj1&RZWz^qN-M*Ay$Da&m*#~6l>1#Ll499bKWr)TBi93<@wV{`f zi_U$Sk!S~;lG({&z!Gr7YU%x9!(m4R`(;M-vc2}zTZ-$qNgvbSgAk1TZgWY@9yivaG5YU^dc6mSwdyS7w~w>Z?0?sI8I&qPS~Sm{#^}UO+z*Pyob+ z1U3s1i9PG@*gn>PaujVR+I-~MZW+D}V+zmRKMc_lpz5sdEUL>HR?@CO=)`oA`}H-e zF)M?Cj)qp#yc-{q09-NWw*Yr+PC40H0{iCZ5YhZD{Wvw5`{hZW#(AvD}TI-Li*F0g`+Gh0ZQ2wW|Odfu6FP z&JM-^XK7F|k?ock2WTO@NC%;S?N@(VH$JHKNduwsi1>@O!3~VZljNl}Ye`#BKY#*We6*1_xe~O@uXmzjgospkG)M{Szu}0T`aABTfob^C`{G{_B^&aLgTSfKzw7?C&d1!6#(sa z1QU$&FHLqD+Q7sd5L-Opb&*kFUtdt3o)TOKro1y_CvoUAuYV_l}TOEMha1?**q*nJ8 zl-^Z3fsV4ir#qOpkUT(p;Q?oI#Bu751XkeKT#`>QjdBv3Lj@#mT;v~Ysb(ypMsRp1 zq_7%9uFKlHtQ7S-$j`|JG$MsYb+|V<=`ZVdMz^Z9BC}thqc5e0&jLI?|nam`Aq!>JrZ zIAtUgmiI=34Uc0nWn$i7W(D_U*+BLVBvx4m9C@6Xc2SaFdgqmdMXVjYLZFfNMl!+^ zP9C6JINsRke56xby`?Hp*f{|5eew-k*_B^$Y&O;47}}zz%9PvjkH$ITLl>+S=Nq$u zEb8?GM&XR)j13o}ax!soW z@`iiL)F>)b#{fXNw{{q9UA$lq&nVV0u(Ia|!xD-MKGjp793HWy&f50n2t43s5WTs5 z=L&x1ahYbw6q>R?I0T;=59>SNf`I2eGa2770ro1_yEz^w-wLTD+|24%2Y?42*fn<} zRvAE68nfn9D#wHR`&OFJ{N z)+)$6t`0L2Y$cfyd$La;446ugK_zx%k(liwE*HE|`;UqEu}Z`Oia;kImhq8G*p9mi zUA&AyyM=o;F(`qK&^g3Oq@ys%ARJ5Hc3yk8cMJg}j7pNh%k2Z6xQJ8$R1u74p~TU3 ziSRo19ND<;%Jd!__{CJObASmi$;X(LLaoDYVn-bGiW%Q}m4W~&bDT)sy3)gv!>><# zVrlC%*yWokfsZ(nD^~y=%6T5hRg_lFr`G@vUp{`xD5cnmaqtH3OENj7?-%yg$rXl z=aILG1l8)ck`X+4Sa*l_bo?;yy z>(QS{-RKnRMPb3n&jk4q`RA~(rmZPI1lwTvwh~W1LmW?w*_N=f5P&a5&lA%2S8b!| zhL2i|pr{@9c)*NwKFQx4_tLpsb=lPPqp&X3RM%+hN7W3Q5D~q{x_DR9_YTRaR<6Ou z%y`eK=+SS~*R%^k8Qv^8&xb=W_RnUfy=^+Gmb;hL?{S>`vw86Oy2dfjm!*8*IbGF) z6cNv~N;fDu8TU?}zq0PpqZ?698ymCMVx)z^u!0xBjN*B$vEErs(!H8ytg&S!yiXXO zzMXE0)0K73GKIJqo-+MKPpM}VgkJ?-L{+yP{{U+NRB{F<9w!f-(+v4u;_lI{a?a|k zPDtxG_x7Om-GOVH;^(0DpE>6{>vN6V%C(KVEuWrDI5QIQZFCx@VzxDamdV1OigV*5 zS*KbZH`*A#Aob#8qRbW~k&!Ofk5?INbj<6k7~1VoIb+@wJa5P5l^xF96=XhSXPH}d z4Py{kjQB4}P_4f#$KNz;>nbYwJ6AnDzUkD^*H~XvZhUn-PA=;lWaNeLG1_ZvRsy9Z zy5Jd{rLl3kuTiAb)lF=swe`j`j}hlDR2DKm-)RN6 zUdFc!02>^B=N>-TkxDk8+T2%yyo~&@F3hiGY)19T!- z6RmUmLfUWJK&qNjvBj1)Sf4XFucWp9GuBvh>g4e>YSNI-9_F^}oU)EH5x%5HEqk?t zfJfa-XoQL()kbXmmI|E&6Kf$JP=NqZ9UX?-dmn7iI1tzr>oS_*6kDn8y zzU*t*BG%WPjt~xk`N@>M3fOzh4`>`n?pW~I-PfNOv}X=7$8hi?B2-JKUI5380u7ir z_DV2j%aP7yt75H^c=m`AM#I$O&l04tUYs8&z`&`%&zyn*01!u%B2bKB`5s18wgv#B zKwQ7xMmip_=si)i^dQK~F48|VjXD|x`+hjfA>?^tH&0R7Ra>$ck~8DTk=abmaO3V+ zXQxp%>2#Y;jf)-Ql5@ru*0;%d3YBbDT$R47ptI89PMED?r(HZhvw* z%|^<=DiN2%aXg9Zc}WRlY#7G=nBKF~ZQY96N4 z+Qm!mIRv%{lhsgbHe0oRAUMe~*Hm=&SXd!dJ4pshGwG0!N*3UZczNf>P}^BuwX>Y^ za<~u;I}u?7gS(+UCcR6mRu@dpqZqMU1ZM-0^5$Z))v%9L3}Yg`hDuw4?4q?Tz(Tpl zx7ivtwKTfgcPV58K3STw+m(nQ4j2y*Vr*)+^0p8>3erE#C@s=yZCGP`SZd6{`vW_8gpvTK795p6`%=yKQP3u)lWz5v6+_jUOd#1fs zlf2T?s7kIzew(YpzqB5aM@wL!g{?c<+i?MN$F#=bs*OgqHCl^x1=g!b03z4Jd**9c zy9*qt+;CAxB5%>rbvl)Iuq}2eV90^<>;o|EDzvo<+fQrUmJEZp1RoGbgi9sVTP>Tc zntK%9g}6h;z&M(Pnj^2Q>nlCTICQ7g1%3W=9f4~cfa8u&TzjOpqf9JUN~{>@uYy1J zmd&#+nlGnLFSk>oLYi&kyRFVi9z@C1>W-zeYN=iZD_x)gBSb}uaY_}#3}pSso-^Yp z+msYF>_9nvyNLOu(zWS+3i@$Qom=6#Exd9u?wc&s(RPt2)-|T=6{@V9SMvU;!BS8J zL;=fi-*qi(ZawL>i-Uq6gBKmF$n&VTV$rE`tcQU71^FUwQp}h4+le?kMldGZDYBrS z3(}~*!MdhXyKwhrW^rrUPSaDd8NdJuVpH`mMy~xhqM(+lg>1GIpEV7iuf8HTKrZ!pZ{yp1236zGC(0 z)aleVw$xH7Yl7L!@8A>X#J^_TwdzIvz`cIzr(#2SljSAt)9RH4F0^oa&CGH6{{W&g zja5tCQ$T+8&MfZV36C#4%X@1?@7<$Kq^}m-bz2$Kng*PoROgURGl`WbzfN7Kb_GsL zq0b(EarND)sjbrKlT57SE*-MTpWMW0@4K?KJ8IRXcN4PaL68^U&oWJ~MV-m0rl6h} zF|_2jJu-iyGedP69dlh>ntezd17c-Qw`@B*TULl_SS7aAW^h1OW=CWq8`i65YYknRn>AO}SgD95Ya4jS2ObkMvQ$)+IJ0isisJ{wf#M~o zYx_?2w^i_sK}Ge62Z8ye?$)-TX{)lL%UQyQz+>+AMCs8lUZ*#Gqp(`0%}q$zs@p3# zBOXV>A<$V;+p4u_7lO(|3>+Rt(bJh4t5){fx{XUcW7is;s!x)xJRs?!-`u@_0@RU{ zdt1J-@&WmxEjcN%Ebp(?C82<0gX<{p_ej=vI(v<_TU&?ZcYPb!e_Xe0+WO5;cVEEu z8x?-rrplr69L{}u8&0FUT3oo}3^FqkZ>=r#jd}~I)w@@zDz&NIT}r$+1}N#x%UzWB z%T{*xjmRFrBKx0%Y82~N3fq?nfWsVk^!a5n3Ru9hfZuCE3uomV38_7q-@8VqMXJ$; z2sYeC95BHue1y-Zchl73yIQkg!vW$Zwe1ak6pa-Kf$U(+O=G+#*m}&(Q>L>}YtpvS zl0}_B^Y_Hxsdeaflsz@-0It(pCf8(L*w2K_7X6{o0|x^c9H<8qqocZ%(`qei1xFxm zQbyl$c+8`BewSKCo~B+b2g5x;^OI|#Yqp-zW2TzxD;NPrRD1l)uBooove~Or0)P~v z{7-%)84 zqZ|)xyxQqH9J}j!n%$qXOy=E6>8YtpfLwTflRUp``b?B){s-9=2742G*yb=o%erMK#>X1>b) z5a%ob$OHcXUK0@^vEDG)4ssXPZ+uUzS!)T9TLiJ-%{u)xRq8f&V_B=AFiRB1ZimXDQ$gsFLsScsay;I zFn)6gPODOvZ2`gK3^CK?lU+opzu>R%WgM{a`C(3xO)QF4pCcqGJ4a4_Tua%fb7<37 zW9$Qs#DIOmUBgtq@~fV%=~-$FHzS@H`NpN_mu;+V>$_q2$2?=%68dCI9W>0^fW24( zquO!hE_tvt6Yn$3-; z47J#Ck>l);gxa>7m=2i8>SaZBF4yWi#{hwhgT`e`02nh9kB9*Aj@4GWdj_4YsoA|| zWjlhODJi^xQn56a&gR19u_xeq^+uO-($&~a zpbv)dQ|#tCq&C}9VY*;s_`(}YP}+ft$2}DE`DL{=hSYaXeRen~qoKzbiVT&jGb)2y}Pnp&e>f!&wa^>|Wxk8GuuAS$#w@6V5vEM`>OxC95* zC+CG)W<|FhYH8z0iGi3te0(!HlI0leZ^59a8~2Md*P@78y=?Y=W=9;P`farcTD>u zR8lCyde$(*4+%E2>KHp(jB&#B!1qh&DNCKu*b|I^NC5lKgn&U`!QHR1`{96*&8%xKtqSe@kZTc09f zZEO#C%auJ!%J-l-^?L9@9VJ)1Cm@i%CR8=lojA0D17$}ZUf85{Q_5r?6X7rG>{NEK zYXFhQ5~sUmTmhBj=kB5u-BrfzRgFl%VUJW`8BRSL50#{hNtV51w(6}{ahEZ9P4)gW_$)&q{Amrq@N*jG&DyhuK9 zsIwqrkPv#O9SoqT7b4TN70T}X(SSW;x-N_e&Q#_)F4Iaar{k4#)rr6cR+l1%LfIv< zSf2=&e)W!U0ppH1kF--=Uc0js@dh{^_zJC*w^BX0&l2Inp)3@sCm9^f_$L7lNtY^5 zh7|PXT_)F|m|eM8p#$S7!NjrJ6tPkP;ZKnfTmrcn1E>+9SkxIDZ4L2r!ju01w1OBC zuGTYd9D#_k0mrUz4><6QCoRjjKN$6pS(Jr-o_la%R4>CSfK$e>90_YmXMQn=KB|tbhinZ9V zH3r?(k<`MH%~hDNZu2L?R;}W|w31o)^+zTJ?sj_%y05LC7EO=#wHPUp6sYLiTOjA0 zjzqIo6@rqab>M^Zz?y+l7|h?Uv#5)Ygw(x4o=|f&Igf<7I$<3 zKm}Z2mIH$dT9mDQTMF2C2iRo@HG-gm0qf@&3v*BdX&K;WGPUC@Z^;WEOQsv6wE=k(Ke1GgFbYs$})? zmvf~$f3@#x%VX9&McV!7Eb2{!{A~XKL`6Bi*{90mEZ8bPG|a2&;lKoNMkSOjVC6DT z%ssNX&PEd?{9)E4O`BN>k6nV}k<&0mMq*!Z+C5SPsdC?IXWfnfj07VmcvP_D0psj~ zCsAlF_34<`PJL2%EIuYkwr*|psI7Wn9&;U+xdb~{ zRd7#?a!~dyolB_61mgl$t6RRw8;RiL!r(&f+Hf=D{{XDWHg;EN-=X7%uOQ<%CVdw{ zu1#i(ywYW=bN0^gWRv}qQyHBIDQ>P7JulyiAPEQyfKH1;wF4<1e#YXD1*Qn0L z$S2#LgwB;__Nk2)I3@7ljFXROoo*98u5&I z`qkH6ZCZ66uHw9d&$AQCU0DYPqK7|qJo#f|yvkBG1Mx>WtGEuMbe3XADbJWNAQ6s7KG`RDa1Kr*vR3sH)jVj+G{(j>|_U(DlzSqw!MqH2bnr` z!}{fd5PmOMy1iC(rLjASIRnC9ylsI)?ik7TMeYO)6SyB4r$j-yfa_wF&rV|dkv*qa z)4g>jd%%I+yz(=Nr?Pa&LhCh+wxnQDLHODO&xUh5YHzjD3+3CQg9I)<@GQJtfo z1Dt-0&GmM5`mJ5sfw3t(8CF|+7iN_-)eE&}7e7it7jg>#N{mfoMQwV0`ipy$ zjn${!ACtm%yF*!RVt|WU_h2yrM^pNzA6S}(15v5oz2V@uQ}TI4yv4_qy)(L_8yU@* zz!}NJTGq*z1a2KM76YzubD3sruiG*XIGr@Y!FGYLueK?J=a2?}JiTW=sbEGtc!OGg zC{lc(015~y1~JJd3gd1UKJzNxsR6)Ik9>wy+A!HZMkvr(9SO57Vf^ztHDe&>8R>}y zcN_&HADTn(K|N%VcIs#~Nnb6<@SUr*8fxoM7-aIe^YflsyIQnv?1ETe`o0qNE8O`c z1yPnixf7mTJ>9pCdg$~Y3L@2IAm&x=^;o|IoX#y)vM~z9mpSBhnvSGe0mjkNW0O_W zpQ40{@-~G8V3IQjva-J!osJJ3GbL$jeSPaugGz{bT)4D`-ok(tV?F~CyYB?^Ud z9m0-)N|hq=r0pQ}9FrU=Wz=TJ0DkSq#rMLfR8^L(Nm0&68I`Py?og=8NYA_7CsBiv zZVnDW+GQJl+V{I~I0uYE9Z{`b--I)r!vHK(DzDnqE0fORF(SgNXd=Q(4~>kHosqtBdBzt`1>orzeTGr3sRanJj z4Y>IvQVpl0F*rOZ9VN8dj5q|XcwoW8F&CD-7=I6QsLoTJEghK?DTG2q(lJIa*Yy0>19jN5uq_ z{{Xz2?-zcp32m*US~YsRJ_lPIRHryT$(>cJV3b_Q7<%3SiFOoMYdNe`6lc0@vCp_L2&&yoM+@75e9|T>TlCmP1ZNT=sS^A02kfkGrp$PJ=(4moR1Q7Em3B%PNxov zakPEUx^6m+Eh}wCrx_rxtT;Y-IWl(b7r(10qwQAM=WV$esE$JZxT=vI-5n2kk5zn3 zZ-3tqsibQx10~ZeTiZ72uDurBKX$ryv2sm-WaHXnbu}voc3z`muE(t~$VPV`WMFIl z28_CUlTJ<=!;-9jMA1V30E8O1#>FLYa9@rGJ`pr(br)#YMP0TU$tSr`PDzc^L}I4X z?nQLHPX$i|ew@oOsgkP7cW0y8dCxs&{>|*9y27_>^u3n#oIk>t@6Y-mW+KX*Tvt`3 zv_9O9PEV1I#no%BiarqK-8FhzxZHzdKOb_w`JYK((_f1z?tx>5v(^irXNirkP}FG+ zOtvj+0c5&J}1M8hRsd--O7ap1-ExqCkySCvt=aMwmK*rixWKiGx}xGweP1-T?V?q zYb$o&wB!-tgX16BG*ZQ#wKeEn6tb3G+sCupF;JR+gf3Z~><0E{Irlz4*-Ad`u z1M1h_WU(DR!Y{Es#oq*^=JdYZS@o91anG}fIvpmq%2wB9u7-Slw2Tw&@i5d}ZUW5E zEqs#8gbR-^WXx{0fI(Y3Cq`B*J^oQ8Et_uCS~sqrNrPohST$$W&$BW$hgD_kb(E8O zF7|iEedJ6PRo?Elw!N0VTa0rH>~$5rTBg(zqrD71DIas65gJXj>(h!g7iwDNvz8V5 zr{C;nhdumwdR~tdvr1@ljM2mLQU~jf51MOC*;e6Mg zrZ?!i^=2A+?6gx;?!P%NX8=Y%mYNMpwr)!~X9ME%&k^@hY{z`VylfNe^S8v29Oq9~ zj?}uRb6E$yM(R8|@FSSzN5M{~ylS1FOo!E00a)O5l($o;?Ic3gifciDLl9f_nVIy1 z;FW4P~yRtJ9yg_qH(M zynaa^0o;xTqt>s5DuNBFK>RRO6+_D$geAIZKY{JyuX&c?tmg2HVBj=jx zn~n8Xrl(DAr&!MSWU2vX7@s)JL+W*!WYnrw_8{6_Ni4_R(qinL6&jst)vVOADJMH{ z$1_7}1r)slQEhZqMcC(2MT@ua{9Vgv$ZczYGT$^ z8*8D40rsDCqODqnt9_1@D8W{2u|8l+Ty&LbSysDR!MLb(_=7!8Kc-%&%TpJ*yQHgY zeaY#MEX^(2RN$w;P`a+gTFwCTIq{hpvWZuGN-@u>oe7L;61NoT`_^^;010l>f%14u zWc5kEMf7?BX0bH-o7FcAh68s#Q)Z^F=TS{6qfp9l6qNd99)>CH74)TW6wENGG z$u*W!8L8cI!sUAQaF=r`DkjX9KFK%IR4LPU#j&`Oaz04t zy;jj`^+kf#=%)wPU^DWQE2`FCthp@J;nfHQkYgZuO)H_bv|;VGwH7hK#z+IsD&%^! zwC{TU4#$iTSf6O{lcxGFU3D!kTkme;eM-a)g|b`ajZWcpuG<}jIQ2_lG4aWnZLu=G zphZ?B4?O<>M9}qAX?rZbzWJD9l;AM)mr1lyYf)v^Eoe=kfQysV^p>|mS6@{k>cy?` z(3~oJ;;ssTZ?3?$6Omea#Q^DEIdtCj{I6nDM%=Z&(3V|F41}T$ufkWhS0ml%AQDaiM>IlY3@ry?Tp=^7FTZf|rDq|_ZXyOnmZ#uV}!pBXi^m)>2`LT)A9cpURG zkG9#ln1DF|nD%Pff-dD#$P36G_}5cp+84jGxC6V+24f#hYSUe|j3uD#CxF=FG8m;T z_OL9$_{3xLNwag*kEpwX7^q-)K11IXAypz2=Q$i^Y1IuG*fg(TCze;}K3|?rlF!6StqG1z1@bVwMQ5wN9L011p$S=xHwh*n5xd}6>Fq9B#e{EK61}prpB$S z!;W`15}>ZNH-)%hC^;kZO*%@c?zLsWHX>%VJsA7u0uJ9)7RM*qFLy1qT|fhcSv#GK ztoqfmDMfFN?lL0pxl1yk+@RzfV=@tJb=akf9}jG$w6!*h*Z|&RnNIBuaTNrlxL+3O z$?77jtQy~QkQdCx)LXq;jeY3ON-TzDw^G5YH6T2N8Nh&$AG-y9FHFnULX+MCKYmY^)5`yk&iMVVwEMCmWGVl7|HDC$Er+KwRx%&rc{NcG^oWSrque z*_d?%^_B(%360hj&jb!}3sSABcVV&4d`yL}axPp9o}M#SySuK+K(BQK1Chr601U`$ zqaj*?CR?YFlSNHys;(HGanp%Q7sLVq=nS|(DQ0Unu)qLtPIJ%6{W8>wjjGObx5E&x z1mJ*AhGh4jYAIM#oDx9ii3AHO%J6fHc))F_ZL7Qk9p48F)+Jd=9mfrx031i%WwsmL zRcfrTI~3r2f<~IkD+FCjHUT3Csq#L_Jr~tW1xb|$dk-H74Yq>J{;(VjN;8)L3cxw= zm$8CA)WVLKl@i65yDeI-!PI!jVpWj0#Z#Pl%R27_t8Usd#g0B{P27QrO1pz++X9fe zz{IMf633NO!HxB)U$!YBxl^8p&Ma+vb~Twmel|XN7fOJ&tMc73(>ai&k&@i?=f+DF z%LQY%%*ka7R_qRZ0pvm%-ao;OHYg)@;l^ssm}&`Dy)BjklvyM0Zq&<+ojxNx=B;d0*5#Ih%NcRDW2;HvO>@{!%JTMc{m)#|ez zf+-<;pJEiLLXv%E9b%ZEDYJJ^U&xtsR<@?C6^`Fnws-S>J0K z)bP8oImA;g?6%Jykgmq9$wnRF9~gK`y5X2Bk};4^=Y(02dzEAkJ!}P#mKA1wi?|F9 za6$8nHZTDI$DSol2;-~*%(p4I$@tRN4TNK-mL$}y0ZOgLMsb-6gqM4qSF~rJx<1Gb zTI;Hk>PL9%v~C;`;(g*HkN{#Zyop-(SlQgz&UhTlJ1v%yz=m!zdI%PF=FGPYQ#-804vg=WZ51_8nL!LUf)3W2m9M7^G<8@*D^k`GWZ`XuUT zvZNLUs43_bvSeGSF3Q6@fW}%;OH%|f&eAfZ_=#%O4NOV(#xMtzrD`6*-mp+S#$c_S zuLGZ+K=Vy~#`5S0KC<*6`=lUi**D-R^;BaSncD%FcX{37Or5Sa?%Y$u9uca$i>}2M z1HZgefB@qWh{ND`wU~_hppKD!*zV7+!ou7qnDdoo#bcbWPP_=wwb1UhNw6d1)d6$Q zx>c6Ys!8=vAf6;8ZUVh|$AQc&eApO`-eB~EJTVrjbOam%3G3~Nu13}=Z6U6y15SPoCRPI+fa@G*ij z0M6zr007{S2Qpi0r>Lb>c_*ok)7F+$$9WDAw*d9>nM*x+R>%Zkf+M>2JG=W*Sk`6R zoO>l~T;T(jv)L$_sD=kQ;ASya%kL#Ycj|B;S!(W=yzfHoI3va-*z8iIdfh-j(H(0u z?ibb(Ref9xOPshDYKpnFat?8VJS5qq3hdL?x`eQXQV9w_rh4B-{UmF5X|)6<@VHg(0hv^`E(9G-ffJg27|rgKj|Sllk-=3S$s zyGwaiMhHGDFzO=9tt2yI!;I(3eQM6n(Oai0uDeX;+QT4Ioxa2EpF8xIuoawkK)YdXG8Q(b$)0UaIn2 zc5;29X4@K?YtiGlyeAKG62BqjL}^mn)jPMtZ6g@=M`?3jsth)Mjp!0Hm%9aZ^#v*bz}OY z?o8|c2T2x%ZM%m?Ipoc~fmx!OwHaVk8xNOWk=h##dd*G5dZByD$>3o0oigHCZkWdj zWZ8zg1(pR3sI>+dpNpRQP#EEJ)JcWA)Liwguc^}i0Lqz0p0%xhDGkKMeN~LMcVmE~&NoS5v=qMZqZw8w z#$ELHReqSR-Q#Z z#^Hix>Sb0nmQ!1imMh2}$Y1bQtSw^R^Y>1}6GnpMr*hdU7o*@EY)yY<$$s2F;vJm))Ac+^*GG6i$aSB`zsZ)NU71q6&PNt1nb z>1#uJm(-ECsraZrTw^+!-$Ndz4QUos8596B@x9X>is6)=3GfCq1|uv0Es&(QOnW72 z?yx(>v7b0N=`|Uuy6sT5CK#N88!{Yi3fvOj1Y&5_)!n!hs5teodGM9Bbyu%=_#s9x zqo9=))LXrkfE55RyJhrx>*{wX-QqCX%V^%M?*=CNcCp=H#~2xw2DGlQj$6gNFny9< zt2!B`)7gMgJHdmJ7cx(B`f}}l`?qcG$viK%B`-wNI`@|Mo3b{!3y&Tou6vTo6n^Mu zlb8{GPm$^ZxatoWmbSI8O;e%uoMiRLi3C_c*|%@DZCBC!7`>hAUZ4e1-mY`jEu@i` zOwGK4s_u9jxj!TothB940AP6}az0qgPSah7X~*tINH|+b?h*GtQrt_l(_pJXPiJZc z_FwhIiuZd6C|AdH#1$5?ml*#5G~|Ob8s4S?#31#K-plb+gVzjjB#~`t3r?xN)2Ab9 zVVcJzXV3d4YiM^tWrUD<9Ah!x40WmLz)taSSaX@3thCg=u_^`#1|%(uvL|+;rvoR} z_DA2KG&%!ib|U~wt7U!1+b=?C7}AWQk=31)k|vkXRq&9bTTS{x{5rPW@#Wz&Zk9(l zveRKpEG(V@4-)kqLi*kCr7S!-JpA&GozAh=pco?@7UUdzVQSr~FJTph&US-Fh0Sj0;kr zZz?!kpDB#k%)X^T0N``ZWSd6DRyJ3n7U0(8bd1&9bylUe*zaNcrd^-`<%sHZEry`h)uF|86YEyHbMG>ZWv|_v zt}dg)c1ZaqwX+FjcP+b5j&KP+a@BTq38og=uF@+h{{RFS?{9Y!Zcgi~dl7q7`h;qm zQ0uopY&_@nO%`cZrK?i6nyYSdycIsr7`LG-HZ@+L1Z`&KFGyP5T2@hAcXAA0a(guD zD7EfKTGvpggJC2V_xR>&)L*adPSI<1_64yQVz+j#Da))b?FRPgy|R$JrA4RsktCJG*kAji{&P>n`Q$ny~K9(j(aKwzPWN*K1!3 zk1e7%w^vc6?G&>^uT5K`0vfZtRqPqhNUCY>P+O-7>ZbPZ2V8XDpl)Q8*b2p|o(XP|quL$cxqoEZrFS*>~srF3EN5RyFv21gdH7k*i zd5pHJbmzIZd3OP}q0UFi;~wWniiJ9Rs|b0q`Z4mvox2_Tn{DXbon22_>1wtgh6z;D+j};DUH3 z!!fC+)b@qe*;b7a6nf;GD#Vf&+HQkFnw@^#VXmsShkGw`fWG;cRFyAiwR$AoQxd2u z1%rD=V&72dTTxLp>Db|hbCWhw*3^qui2=6IHeI^~a~i$sZgwd4W$ktAeT20`*E!B3 z7e!4$PN)Xmf|)!p@iFR*<;TGlnvt{PlFZ(D9b)2y z>@ZW@JR*_n09K3ej&gRdPh_%ulYcWcdaXU1is)5YQwMXBN%JByuFcgZjOv+cO+9|I z9t#Zg1|q#;22|8(Q{cgg+N0M$EYV`7va@ZPgrSRbTOFVQz~W2MXI48LTubSyAOq_; z#(y_Sqe*zHPi2VZHA8`n75PVr_Q}-hbk=FU3~fb9PaVqt0E9kd%-U+S?Q^TOpo|LC zDGcm<$B>uPs&>5uhr`7Hl>alzACM@?#GMc66x7mx@=1H z?%I~={s(HVeWrWgM!Ow5HC>Ta^%g3JZNmyovUARd@ZPL`jQTA7n$%m`I(n_KhE#!; zB=qObdTMlfeO=^Q4K`G{V}jg!WG;}~sB7)j*L7+JZel{OuuYwsw(7MuR*srYDNkP2 z!Q=Ir(*Eq;*`K|2rgrUiH7z3MtDUK5B(U*5&kmC>q<)cTJ3F&3_!2caUhLS)3tE45 zlhQNNPTK6g&(imLZ9BbHHx@rE{(U-6k$OR>zqB>UW}`LI%2@?~qT@1NS=U-Omu>AD z-Da<}7KPU8UdrqBma+iI^Y)p9Ra5E2|8$rt8d-_6+4x@eI+Ns|{qhO7|btBGesTWR-b82XMTwqjKmdA!fm*l%5tuyLv6|G_0<1;h( zMp2+Tvvb$Bx~c?{TZ8VAqgolxqU3X>Q?amdmc~Gg6)VKp6wc2 zs7}VWO=jYEWkLYCC+?ZLpLEZuvreg{8e03NTJUkpG5yi^%4_vcZl0Yv(pOcrs0G*K zH@+w>HKm7sY#0FUJbNUOZS++@2wBs6vvp!Y`6E)5C4jtuoB+oj{0OF7)`Ydv&5VB5 zPC!26EoFZOSMQEBB#bCKygcTaUaC{SsOoKZte#a*t^JakvbJ4v)loo5TxXnlOKL1E zntIZ@`|M?yb@^h-_Zo6|F8v5@R~>T_El!q-?Xv~K;Ylp#01@FP&i?N1{^cu90_0&w zzAV_zi&BOw!2=lFW#7CA$$d?pp1>v2BAV^JE?vk@MhU+p8IeQTPynKY z9y3YPS~SPKLzQ3&&jXH-LRVp=HeIdUc`e~3#V=qwV#p5|ZcHuF=GGyUD8_Jnp%S&5Ljv13{SVwrGl z+m@tN^_aFYGt=7wyP2==ZLl-3=Lej|mq$yA1CaWRt8&p|rbhl) z`M_FMHsy!_4!ur%qqNpCRBTPPh2wDe#L5&_sH)U`LGhGlCq6QRcql*~r%6+@LxWzO zUsGB8Xe^JOOwD3AZtZhv^BnxpZSLT<8y#4gw@8&Mqx>MLS*_;OF25HyP zR-KVP5U-RB+d2lvNs#)Wde|OWh?OpIg+|_Z2NGS`Ln+(Oh!QIdSig47SnHmdmPM?t z0+9a0)XEvE)>&|@CJ|Lakb@b=iSsdUs8XR4un6eDWRnfGt{j}NQm4i~x{Zo8486@c z!Z(26+T)>y=xGaT*DCq6SXp-T$m zIPru4ZC+Fp)@bi;vW06Hy*2u(4lq2#1tYmzOCa2Fu=o!-ozxX4<6!f)P}B|&@}~>7^qb&PCEM})o!BQF`~5_5SKf8k9m`3k)_Q#n(a)2 zGICcq9_d>2a*-(o2sB8>$<_MZaiEk{PsojU<96&X8 z-M>;wr}=}!-7Tq6RjpmP7jEUVoDV3LDh5inN%=jH9bK=d7K&`{!|+KQk>wLzq_Thx zGnONa$}!(_F()U-&RG?C%O0F!Sc|$?9nXEg1H{V&b_j-*49A8&WY{RJOCz<100WG3 z<1Dv_BsG{jcn{Cb9Ti3)SyY#79AnBBZLE5XrB8`Yet09YINia)@Wh}y>jNVT;0&n% zeZ-bR{9u#PXjD6BCy9fjx zm?xyBqq{HaCe_E?b&D)ilafk|awYGwn=mP>V9t8;?vGJLz&rzk#t4rL#ThHFECyI( zq+O0c8~sdhR~(;gx>daH7L2jwLBS)e3fe-lqKvKvNP!svRl^U@Dp~B@sD)4-hssoz zL6kdl!7zr6l@zwSHrkFcgU`Mihiyf+SoX1JJF}0BWG!qGwy|+p&OFR^iEG|4jb)_z zs86ep9LH{}-=eOVbxK(5VaNxQDQkjvxpucWA-T-CrA_L#ZL8NK)NjoZlGcz&8;&_V zKxcTPPRIpin1h|UVeT?nw^o$_Z+(-v9-R4n&}FKnWoP?xo&xhImNQuPwb{F<&x|17 zQWB1&u<4P=jMUZ@mtwF-QOOwGVt_lhsZpM!o@HBkV^4T8$0H=gA=_DODTG{bNfMUS z*##GB`4gE?&1PM5{(E?tMhwRQlA!dIPj*8NaB+~pp!ffgI*asxH!78R?Fo%GyD-j^=M7dcYq5U^pZkV={Ee_cp`~Ul|^^ z0$nW)s_z{Z!o=lq#HW7B?A75^@f}Wz+N_q0I+A%HnL9{FQ&?svA;G`{-6oK)UG`f0 zSO63s9G?$#s$^5WOBNgvp9lg{jEcqZNygAK^1xu$N8K+u^OUWCM#8q@Jo-sc$JW92 z$}ADMBOs1O*vqR$IKx=SlgA+YVuL<#7_YuHU4vNL@thtHGEyZ?#*%Bos`c zbzkj-O(@of!)#R;b?L-ATk56b5 zn7fMM7?mG#-2n5K(_KYsz}A*Cg19_m+9jD>dc?TQx>wRWDy;^nS!!x3YZs6S1+aVs z)Vex7YprT5^-W+o=slj_Z269lU2c-m-M#?ek<^Lq`y;k=+O0Qsw2PcC_zNEa&%Szb z;&V=}8F2M_IDN0^!-ICFtE$5K+Z2*Wo=(>->I~o?6F$n<4Q86UQD{aBjkWN@C!zLF zG24EO_nIs973{9?Mr-r=W^&Gg%g#$S zxZPK$?7I@(TIRjBGGioU0z5?OYIO`KT%r@olhdDc^IAUEs<1s$IKVzeYJF+6Dc`vD zU_VUp@i4o3an5PzYu8vbwpQ0z%GoNuDS^&Chl$Uwro6I+4Y*^I(8#LAbq`w}7a8}= zb!$yadoEXK+P|)1PiC$6Y}VOO(tI7aY^a6fjCsto)mPSsMsOO&;alz(tj5H(J4WWS zJH7IbMKl1-n*(I?kvhzJG0oKNYbKLTX50%bJ9r#y9uv=9-27_XhbQ8Jz!BQVYi|I) ze6!&*TTadn2|Y1A7-P!go?OU9-N8I~=5!OZwI2svI=%w7L0-Q3&+hp3atE1)(h1}P z`eyDkF6>OK?ANHe`<PNUq{*R zskd!qTpwE<4ko)Pw^4IGptUt810z1D@DjQdwuBmhcq~;=j!rtCpNQR0Yl7=oPE&$s zJ8iukB$9O_QLCz|)9ZenP!0>a0?qTw_MHa0Yr5rgdnhDr0aw{CrPisr9Mq%(>g8}V z=QL+Jvb)iSYtI z?L}M@Vz+=^hA7!s1(EjWji7TZHZlU%6KAq|9G9U=x^5=0+-|ctm2qWd>#E?vyjM6P zRc#Gu3?9WDGJIx>EJI3=e%rX_tYd2XdYmq@nCEmgq#apkZM37S^hX!R+sqqRL{C;=ZojKz4Q z)Qv%Y{Cs`fW6Kk38uc1ecCzjIy~8JOI|q(rzQiStqUtNDs~{oId5mBm4|HBi+ufa{ zf=1$VHeQ-1)3L+dQ5~;x=hZ6ndu?I&~q21ijCv?hSO%O{W-O=L64-a~oc} zQB^Np7OSm;4uu8?iqk#JhOnw1IRr1Q0sWsy)Pzg*)M?PHZ38v~q0UocSC{>(J?@XBLvRUN#gTcg6vm z^ro8jQnfN&k@oIb=fesnElbsER>+n;r26jflE>W~HEC|9r`4ny73>jkSPbAmEYzA~MDp_01w zH`&})2(3e4r@A%lbY%dNKyAOdR@Mn!R@URLPIEWYp|`miu7ZlY-|g5Wc^pMEAPH$K zo12#1mOOrln~F1T)8A*VJ$32N^v8b5*>$432Y7BlP$SeJ?jy%7dPZ85=J23`RQm*G`Jyi5FWm+WD zBQ5nkww1~n&H|rqdi;}Kirw{M%_VfweN$i==h^LuO7GvOv39yI{Uf;y2e3(Q)di% zA#^N^DGD>f5P7D(W>g_h_UFTyQgz2b2xEa@IDUlB|up z4CH_Z-1}p>*>3f3q>I9W@b#H(Fxl%QOz0iRpl;T92|y;2>?W|8i@s=2VH!|umFEUk6w)z?;RHCxWs zAOL*8_To;ZY}4FD&W>CLQ`9i?m%CA{EAVT8xtV=Z-Bo>&_#cZ_imGna3aJ%W$zpXE zfxzpMMj|w+s@J=(W$7&bg1sNhi-5mEJw6Pr>VQ>)v51qrnR!Awx#uIAZ;GrdXpA44WhiQ z0d$tH7AZL$ILEeS6^$EJWz67$7yvvaAGs&KdaP~v^?GyqrIItcbzPu{wK3y2+7KL%VIBfEqg!LsAU6c9wHF1;W~IX!(9!mOzf-BXH1yg5uf1g$ zW((ny;W2mGjW}3Q8@4Pf>UA{g>%zJ!GbKPCDFby zW78f$gX1l!p=sHrs_L$FP0VR*`rgy#C6z29%{x0fwbZS_vXvqbSo=7d=XN!F71`5)>to;NJ=bLR9-m94K$Z)2OvJYGPC)P=O=FKT zWpu~r?_uhcq12_yRfB@|ZXWsWyCbp&zUo^UMFE7&@**^-WNn=s)dhpwM zP=8O1K^XtnuO)7VyROx$ErHH@}7KMeU!VKvW#}~ z$v*EXYqd>fmp-LeRNWA<+qc_^eM)Gm6t0P{u$uQ+>;S`g0p&UR^=s3i2~#aBSxyfC z1B}Pk#-!9(tZS%_+T5N-GbyXlfa7+hZ*8ElQ|#$4dYz)@ zS85iv%E?Pd3_v`4GZ?z6{ufGDe{)#_b=DyvPo6rN&K{{GA;OG$$B6f`&28w(TQe%- z2N)5fXB}-cn|3XFiy4UTSRO~12c*xcve#OxyVVN39A^Sr`jKl0+YYC9BfxyIjLdAQ zEozVfoUb5D5nWBIscKTjwbH7vyys~08R#Vzy^mVdK^7ck_{YoOCql|})wA89FJ?Vu zYjK=o#bzfWL8$0dmC#8s}>R;YWh#{&nc`2^f` zG%z3XZOc_;Z#;5ORz5QeI?|oxc7`l+4&FiX%(H1xb+$c8P;$nzg#h}zd*xVLYa-ek zc|RXG0y2?XAZFdcC72GgMyS^MYWupZ0m%uwrZLI+;9+XmKGkC5J!7nEY^^G(08HSK z(6_!c9XK>rsbho$F((;mot>&@tfTs*kf8K|p!^*ur4`=Gaf=%{3C~6Sa@p=$!(E|K z*N*V#KFOFTdQnj}vo23Kfwsm)HYQUT85sGXSxv6u%U^9kfB+mHk~*uAyGwqKgWV`N z77fSR#6@??hPyQNZNS^PjzMg4W$Akjs8LZ^k_#~4$w-T|)!kaUUaftP>e8U)dGVAs z_f@@iSGv>HnU4p@k2$I8yR&sIW~s$GkOQU$PxeeYaho$~1?)H_x#alE3Vm$LQtAoQ zZDX@zpIiMbM59$z!U>Pvr#!4dJ`8>#ZIK;5t64o7~1G*sbO1O8nCIz-g=)PJY}7Y zn!{@l{Bi=|e9>)(uw{2xdE<rhT2tNh%-Q|Vp(_oYFP_JM8rfO(+ zVV7OR;4hqQb$42-yX#debIWxgd!n^B8|?vbxHwV<+=)F!t{Zn);;`A;wX1TZc##US zm77}xo-k8Ad}6Jwt0fy|?-Du8X|XJ|7T{K}JU!CsHc?I)z*f#c9VC1j!T~3S=XQAF zXj;WBRn3P`Lv1||vPQp9+Usn&g;XeQ%UW;-e1vUunzXEFdppY0Z(YY3h_0l6jC%Aw z0t-p9s~FT-KNz;R$GPr;Ok+(kF zM^ui0l^fd!fI2`|VX!JzRDd&%WoNot_FXGcu#gxK#Ps(?t*SD1Z6IJU6K&M!>d?0P ztZjDu6#I}oXFWnYE?;3ha3qUim2K|$3fqVoW6J!I_A{jlTEO(FJ5X`7`OJ*mGNH&) zaNRR6S`dJ{7gNJ>9z-U<7)*M^^UBt6N*UD{N;Q8;oFi zK#KJ(U6z_rK`XQnPac0fsBzt}sc`MogW=_g7Sz=`I5L# z9ZE#8*d=2YW5u!3G?z?J&TFa2W3=QPNw$R*3j^iIIbYo1_{CPFl6YVSawHP;?lw6f zg*d_CkG2+A9<&OqF~KDG#xpI~w#=^OzyM^KPU!4Vz@9x=g-R4Fhsa^m+bFmvCmf!D z#vMJC)V7dzu^^yqW zh3zU>ouK(kK52eRyD@dgtAT^hSv)R6G27%MCa}RMcm|!=pD65iTD&b~NyuP#bAS(oS-`AkX9ow{C7mp+j!>vPdGo}M z4LvXqj6$515*5m}-f_l2g07+ObGp66bCL#q(IAFUiq3iP@Rzp1xP<_L#&OTS6s1;n z*rSoj+(tO|!m7&$-0Hh|IX@fS20h>a1zn5BwlNV|5dZ?l`=VhI-v=isr=JpVN4QE? zv>xxeHZeE^@Fa#c*Xpm^8FrJ5j7Yt#cCB||Kmd3`rrpJBLV-#Q00&sLE-p(Iu(-6)}6puqjv6n@|$c9MP%}LIqL@laK{-OVoBVAHokXr zfOCm-n^wFd62Ou=spc})se-PSfZ_`nW8^NuG?ZpU9#XV=Q~kS3?3 zRdT%w#lYEVC)CH3UA8^AECEsAqF%zK*j52t@y`-i5k+HamnVQcJ@63AfsL#&<{(Jg z6$#vWlhQKhvmsBGco16HAqN;EAh#Hl12rPq-U3MAspLjj+IK`1RO&+V#k!vph`s1^ z!kz&QmN=DSyH!)x_UELU0xv_bxKqf^GaFNylE-?thF!lO7?gThvz80BbCPOSW2Ht}i9tKL#?7PP7AG*(simG?8fsvjYdBnYsXT>boL5ydN zK(53`!6Dlp8_Gr1Dmw#aM}Z@gBGOvA*1Etoj$Cy)J~1xKlabGqp{Y*#w_ta9#^yW; z1rFv4RO7FN5~9vG0;+kz=`DtB@38`@0OCPJt#`0?+CrRe=uejt)hn}ltB(fbq`5-v zSWqxd10IsqT(sG>s#`1#l1V2%$QRX$RX|${5I!p}Ph`*PB7Ll7_#ucOgB;02)nfwb zVQi|Nn`K|Q*-H!Ce@4puQzD~Kg1u%Py>18@$R5net5If};%IdYryzrq@z@f0VAyuAK0<0lwd{Kr(vO1`eP&t7$Rzkq{T`L*wZpqj>A3F!)Nn^b!JjU$7r=9a z=1jFzWDFK!MtxtoohKH~{aEtl?a}lfNUZF>(9_!WyWM#NlK9+*^Ktp-guParhWly} zjt(NOSFL$=C&o86YO8Jm?$`G?;%6+SYaDDQx2W)IvAOkBzXAs0Rn=);Ml>_LkkmO4fj6LG7!oK2OeNY44WB&$nh*AR9mag90o=4 zI2aOkJM?1(k3)gwHtBW4PB|R(K158fNf~0w50+wldFdA&_a)P9%2$<;RLANcOnLCRB4_`TY=*ro=V{bY3#@D7hvDKI31LZZnCYiw?ecK-&DSFc< zivok^AJoLBLOGhJF<^HWbfSOR>eMSkps z9D8xh>{6_X6gF6l@-c~?CR*zn#y9FJbz8LxYwonQgi6LY5>5g6!OZi9rd)zioQ$2k zm7TpsqfV7*w||CC^2~J}3O`BtXD*job!f_^axg*h_RR45O}C$07O8C&BVaWZFvzgE zDuwl%pnuOwrL-5nNQwc5e3&Kk=P+<@;Tw6ZM#u>kJ} zBnXECx+7^M90Q*ZbfU2U{A1^X9nQ@Z3$9>_U4o32>yMID?hXleVtRq$AvGISf~itQ zG6^4|T-%z-Wpc;vykJ(RZvOy{**q1_GaGPX+i3)E>Z*5ijH6%N()3%U)3)*P+P_?T zjLZd@vFJur9Y{QhHXU`Nz8&ow$Xqt=GJZ*J&#ddUV@;y0E%$ngy+Qd;PkeV~zOJ>g zG_PH3$W`(I+&)>AG-nIB>qTeSNj#5}%0`o`(_N*ps=O(5VuxW20UpsN%iC1dy@PpG z*gOQ)Wm_^&AH?PI?7#A*@Iq6sOQzh+eI%x?<}CA zu)tz?j=xE$u8ljoX_vhosSWF6%*nOW9+|tk+PZ2E?l>%&VeXG5>9H=;E!48$5_*Q{ zWiH*PwUI8%;Cl5oe>jmwj`EFtlv!|B=6X5_$HdYJ6v^JTL7XIB)^#Q z5!C1{?GLtStFFc?xwbf7><=(Z*Q!kpmd!cQ_KWKS0M{jnv@f!A`&Uz4wt~8H6Ye(| zI^MCXB8D^h=SYpgP%Ii)TPjP<*1+&0V`$Xjj~N1<5D$$FBbXg?D!f z^bX#uuuKdeIch=^Ql_V^t5aThCpi;FoyM~n3eynR{@ z>rBtFu2wfcwFREF`S zrBrQDl?2bUk<`T8I#eR4MbqI6uP4NkJOP*0-lt5x-kE5Aek&Hww0KO1PuvA6Lo;eM7l^iqLz>a)}gtdL6-0CYjg`-+m{)wvT@F zqP9z5Dd)fg;VY$Eh&tQFP2HX3>JJa(0{G1ulcv(ySfyW8Zqh7ktHOMOVjjJG+-o(0 zRGvWp05l0_S+u<_j@@lnvx2GLa#2Vp9z)1WT(xT~uFWI83nHwDw;^l0n0%IU_z8@{^+VWxq{n$Qq9RfO2eHl+X0dnrkQ>p7k}X zRd_+S?xpnF%k>(2EBfDE=tfP&TXK7HIDe_8?|~yss-95r+ZL_-&hsFb@!hM zHYn6y0d%&M=F4jscKJ-@HFjBV!Y*y>Tb?i`#J1c$t74<$g|F2Be@tmMbLll-06OhG zb$k&UU}DR=KJ4Vhx@vR{TVA`8-&vhp9IuvR&9sis9n;+Ui-sMW0e#%X)PXe>rlQgl zsN>bow=pgCTPLE4ZK_(Tw84evDvV1I53|lrt4wJ+YOK>RyBvTp2=n*N2F9kfyG*)j zEJh^?oHOUc+Y&{uWw&cCtt}&vTNxf)eu$kZ=)b{k0F53jJNCK8?Z>VMuz1O~vD_2t z9a#jOuaF0{cusxkWh^VJP#7@DRBVOM=$4|&>O~ccEU~z60q&JH=vk?vq^YUX=^MIV zU7VIK$KT~Au=^)p+SjUR)rUKokw6L}`y)Yivr-gPQ8xj(`5DgweMb5pOQK4&?WHeR z1GryNbM41jamRO2GQBre?2kvaU5}@(+iKIh$DUW)y8q zDE8#^_X*1EudZ5x)>@ir7?N^k!Wq{a~SypGw4+6uCQ_-#n+Ky}P6AaZa1FwC|@19Io+~57R#HeBbGBrMkYu z(5{}k7Ohr(G7*qE4`3f8`Ah3xv~?!XyDuP{F0qRY`Sar?x4k-cjMr)|zRc=ftakqZ z2-xT6^Nr9^rEptaty(KmO4qcPej;wucU7A$yj-mKI~(JBV!^4AYumM1zB>)Y2fkwU zi#k=ApWw}2oGS}oIV+bu@$Qy7Ycz~I@Q<7lsNj(=s;|7%inMpxeVlG`ai1wQBCT}_ zDk$jRY;5Oqd;B2LRZ?|@*{;R=y;Xh`k78!t0E2V;wk&)9PI_CIA`kPsWHMho8 z8DDg@SLx`}R$J}1;|DB2Rq)_P;7RVywBpU7tSWi+bMNL_>R2+0oR`MpD$8vi(;QEG zqZjIKuBw#bD^3aj0N1uM{bk9gXYB6(08LAPAMKyvJ>$wYY0q6k)s(RXi_SbV^2Sn{ zi!|&N0_pm@1<4*jnE^v1eWjk_Hxfq+@YXsL#E zHeQO{D6bx|jn`MDqMEz4V%>9|54=h>?sVZ3PK&tZjxv3~o{-b&w$N<7>KSl?wmEKm zM0V>={UErDDhx$?SangH0q5lpfgv6#eJb7p>{V_t{&yW_ zW)9_$1{E(=$4`6>J^GH#_$WjcvwwsvNLBI!&ptA=C3WfDNptGw;)Bn!LbchLJaZuSM*rldTm7?nkB zMXV8de?PerY68S5*Tjt#&HF65oL82LI%Gd+~GuVYxi`q}*4#S$2f^K%o^!vZvH?RwI>!@k$Q z1P5n4`(br#tUW-foT_fg0!_Wfkau;Jy^kdLe9|=a)SF$avfEkTQ)zY@2sSH6N^U@Sq-CWKYt4{<|lP>z+_ONd6EK2=alYj@m5!bQvD^aS{ zYHb!+0{AFVfCsWo*E+DTPTr|t4msRoZ?Wy$scHo^<7(~bNb3=G2FLqb<%r2#VEoYw zPB^6*Ez^;xTRmoT(0N8BdWX`z_M0qB?L(3W$uf$pvfu-q&5jF3J(rVL#xh?wOOsj~TM+3euK^T7_eP`OT!9WCP_AwqJd0>uFU?1zp`fNNO(KhkGot z?b~q2KKQVdn{9Ti7O90_6-yq6#}cnlu@}4X#uOjVG+(JKJ$lqOa90@GBv|xT$n~!F z3+s6k5USR$DrIsocmp_zxi$c-LNbh;^YcwweQ+9jlWk0uv3EyaSojS2M5?vc9gH($ zkQ2xM0BG5wt)=Nutl)0sr-=8*QCp)eq%U+1GFutNCsdAvHQgNOSgsz^_ptef092Pw>GpjK55Rd@mM$?D&t+BV}R9!_zz+CSP zz>+w?@t5seY1Qj{-7Ou>cnT0>!-*-SUx$kI8`iVqkDDIT6}SqBR@r4_@K=+}o$B_2 zos7;k4)uUI3b`c9rRp@UiU#-EgVp4W@nzqO}=45fOFMYdiGCU*e6)7gSYVZ#00mglTUZN;Rac=8PdsGfU9zA|Y zoeu2PIX0u#3fiY2{{T#5F=F=WEbkn)eTUl$tp5O%GP@8@Q_~W3mN2sw*OyU%HuMmL zTFS&K4ahoV^d9dBRK)>$l=UMymS(lBu&F3dUNIVLRI;R3XB%=xF@q@5E3%z1eTp}Y z*xi*QAEsk3Rd%^h#ZN*c+8j_F_iQAEIq~wuN)_(|5$c}1VstN7oeh=OtVnimx_Ru}JHZJRo0DVFP1WST6&Q2vC_;R9v|oe5I_W z@mOqzM(1#f?#+rac^qaC%}FN0HlV_c>^*(4UkPo26%+t4Soq7e4&Q1UTVc*e>y!-p z8Al2{3@Q41JG?!p>r(@dSAuAUOey0su}AoGxXq#aJ9S6y0mc5k^0zyNzD zVjOCAuI?MmWLonl+4dI;ZaG zT{<>BT<|gNh}BfovjV#T^>C*nA}tAG01PlOoZ>a=OX$#{O(jKYP<89XsI5Vp)dUVR&ocEgAq+Ozw~`of6va;QTKsN?O~9NGsnY}~ z#0FoaWMvJo<#&RoJQ$T5ln~M3;3V^d(>$Maw{yDYLI&Wu>m&=Rmn!b8N)Hnt zsR%FtK7KOIP*999>u}!5a1B6|+)!}G97-!yj#R20frc`8619TL!7$_whp3jd)KY34 z*~hJ)7`za9P%sBc1G}JYP#Ux9=OE+c_r-2^asb*QKJmqcEvg}%2Z726DiWQtkSvlcI14~qiC@WPDY?FPl~4) zm0L@oR2a7;ZXA{#P^p=Po#QCT$uHHvwkd}o*4utq5~aXpRT${XWcLg!SHaqN9{4lX zZ3Wbn&#o7OV+x}#z{~+Ys+mMRt7UbdB-lJL3#+XhqS%%k4_SOYp7}RDR4;V3IJ9IF zoW;^CHCtiY1$ZnE8O(vs=}AYRyWn7x(4QZ4jWN`{mg=YVTd zt^pt=XWDbYfFocw)(%cOOS2PDQ()VigdE}pRh+V_F#~rQ@cAU_TH|{ba9H!4Vn8Sr z{al_g&y0&-ZFTKT5%G?AFac8)-oUz!80Vz86cSJ|MHwNRq;8y{WP2>BbDRVBIEd7< z+|1QuX&o_-nng3<{o$o)u`ICUYy+QplV+0PrAus3wUdqDf(O45O5i%?l~wXmM5R@m zY$;WnYd$34d!wn*Wm@c@mavNxfV*-V%M#b@3Y#*H7Y%}WKG-vD8%b7P2`k4k+IJZ% zv~Tb&$&DK&tWM)&o}VsaYYb4FupJLQW~#65t}GU&K6uU|#q6xbwl;iQnL?Fo3^L8Z z=Oe;d>SJdPn|vFm5`?wKoN?tZW-VnE?;8d^W6}{SYb&u&t~q17h8|KW?u~%kxoano zy?#kSjN!?^lei$tvkV>p=pad2ve|ZC30#cl*$@G5ib0KApFXo>4sdyuV2pC0?mb78 z3X!yOK51|=r)-8&4<|ms3@}i{5T~IqETu`snIqZZIvQ;r^2dib8&81~pSS_);27F< z7Es`!Ade%&&QjjXEP72wgjqmJ@wlFVORs03E{*;as9=4Qk56kge2n09AoQA3wd}IW z$gujE1Dx<@n&F)2?J~u`;NUTA0p}K>&YaT704FWPtLnvxzdo=y!4UXBWn%m@a0rrb z)ac_rn7x&^&JdOushH>8>~2B1~4a1 zZf=z%*Hu~?&rjLNyO##YlqF+Cr_lN>Yr1qeaM_GdF$_u)!S~9O8one|r% z)f7s?)~9yS%xfZgCyFSrwr4_grHr77RF*?1mu2#EC zpwXV{g%Wi_ZJ9o+Sq|rk&L> z@02f4ta)fAoY?Gls%NMtnWsafI*ayHtp2G!qV7CNZkA26RF__>TBpV7fy}V5g$qzT zd~a7Vmg-q8Lq&btuLNX{WjoDP6}VxtyS^|VbpvHLt7!YTwz|Tcty^=r`{rxyxhrY~ zyK5tU-!nDnyCYLyXSZnGr`@7)!wW)?bMl#R;icntW=%RLtF)p~U& z;2#DxGhps4%t+6=ElAibv0BAm3UtKEH5OKVL-P5?Smo7z+Q6~(vL?0cn`*OGi>6Ad zt83>w*m}d+7xwRi@9!)dPI6p<^G0cwizsn^w56(jR1_E8{{VYDM7vf4_l23ibWcAt zirZ7Q6zsQIYw4{3y=cT9eV#KKswa5WgU2Iy<~{XP{1&>?K+AqGFMAG8v@b}VmsZ&- zwp#oGPCyYRilIbq?duH8*#r+0HC?Juh?%P81E5}1%;w8zVOd^lJai*6+GJsSt+t8_ z9N|-TPq<2u{TXAq>9|*5 z9_czX3VW-pV@`55oczG?CHX8)o%I`?DlJ`E0E6*J_Q`EKYIRRqvpaMFPgCWI53Mw6 zNz$#pMDc@(I(iPKyLDAH8h?Y}y1j%m6XFMn_eae64MvX6&vRC(TB|ny0D~$wCk+jbYEoCS6rps%?EfpfV8IJH`ke`0w29*{fUM z4OvxXvfa5QFg`=)GqqPY+b*dqRRH0R(tWs=vd3L(oh=mnP*)B}9^>L+s4QF^NmR9m zFLRUmu_RM_Hs6A3w~IsMd{Q_ux8GZ87Q0f#ryHD)S9i(MXQNY~aJKf7>h%@_g0x{q z+;Pe28=$9CYkVV5bzzW`U2NI2Z?JjC&XW2?MzQZ&^!@F|rEj%X-52JI6{U9*s;caL z$}a%s5MvHIe4@2#-eRaP-Y$z><6oYSS(oi5L|lIo;X zD{qR&#x<_Vz4v8JI<})~+@jKU;j*~*p9#mYY$kTS7|Es7^KRs_qv9m30~RVp{EfqhC#RcNA&% zx2C*Z`I&x01m+Y5EC90To_(&}EjY1E$S znzr>TW%YhvIB6c8J$4-~up0^5D{VR4t}VzF5&xoyZ4?9uu$FosVZ~C0kmqpkaW2c;`&>PEDDXBFTRH-`@^_%oJx&&2OW=+kMmt5wxkMPZ3;$9GRD-nUEH z$4uR!tET(vsDV-{;J5ZeMNXGn+7(x=P`ZW#YH7&H&x;eln=bzVl-d6PDb=Qux>pNc z^xDL9Tm#4FGG%7k#$9z;brnBnd?0Bwm1)4-D=chpcHV+{uSmTswR=6Qr!}hbD$|T( zj10_vo$FqjJFfdrSz5Bjliic-#PGK^x3p-}wxOF#+2f_hlGyPBBQjoGdam-y>M$m) zuGi`D#MY_RhaurmwTq zRFoS7kzIbfw}wnb@ zsl5f4uAZ_|kbdWOc|LfPa$Z>0t(?_@w>qsAT0I_~z_jyahzoCH;(Vt*#Tt9v9^l0F z^?F8kwo`4#NqvZ{LWHj%zqbZR)22zT)_b@cS#aB?q|-L+s{m1pDRy!_Qrv!M-7;F$ z)o655t%XC*apQuFJ4NDemS=Q#5wRCF~Oon--!!zgFG z?_~fIG3VtM+ugOQ?R%-zYQw$AyG?|QW7s?d=F_r=Zt!JWARp-yS7+Bwqf}H_RTXy( zE_V^o9Fc)D%Z%#0*7S_^i$#gYEJoGNXIkxU%L><~tU3*XlDPzt*WW8$X|2{1ky4_T zy^!RRI+20I$zZ0doY!OB;;se?{Dxkaxz=@zqUNUZX&YY{IrE(zV^dz1w9||0ziw`J zJTdkUD0Wt!x3R4&RgM&}TZtbj#74gMw)LP_a-tH?zG8ia;n% z8PBjvJ)Pdc-0X6oD+AQ|&H6fP-jr%9uTX5Sy<@ojt0SSujLWHJzg69}?BN#!dh(!n zaV)80IPVJcXax@Kq~`_}EtlD2*h5%-W+#q3qi*g))|z$411-BG`~0P?!z+&Q4&jj8 zsBb)Z%8DCZ$}(1}NZO%z20iYhP1&U!7S$4cU^)*endxytki~#F2RsP61DiJxrnMh+ z(=pIGtxBU7s)FuRVVL}1JVNWV?up$}$!>jPo+TM!qWx!%X`ow7FYm_0@#FFH$9)uo}TCmVO1k?%7iQczkS zVPX5G=j0wSI}Lr0rfp`fs+P)Y;F8vyDvuIn?$c?NugTY3{AweyJ)33TLrlQsr*ve9+ z_`A4KAhm64gtG0sK=_&YJ-*u6I7vAx}6bI5TCMWcV7} zUwlg+6#;YO<0~m%;VMEOyI?#tePh-7-*%AJ6nxG}=Qx@Vygd&W85Pb1hO7X<)2i2j%kqM>Uj zdqNI!J&AA;DtFE z_rj1Vv^AA)+QT59%_@Wt)>zwIV+)M#_L)>-xH;XEoDVogyKj4LFOKYkya0YE_Dt7W z8CaY#Jr9hz)L5;$)3`TK-ag3N^lw>fED2H-4!gO?Juw3%0UW=2SwI;c`FAzitAG;& z1c{}Y-i;7C=*8#_+`dCeCn8niS8Rlo-x6EJeYL$=U7 zand(T)tgz}yT#~391|{(vXAhGTJrd80y&nsf&~k_S)8*2G+n7Wg{W!t$)~QW)f>9| zvNP+G=4KmP))*PVJu zV70>n%1If=grM5ZlIjLL2ZU<1eb`c}2&wz(%5IgD#6ZtuHp?+b}9RV23e`#ob0=jFhb+NDBO=GHHfzSTDB58ANj`q1d+HMP+O51YkYGZ3MIuBFT z_}+Ok3ho$G0YLN4B&7`Z3fYxZjvFH%ET+=50{A5IppLO2cMuqDCRAy4Rc27k%BKsr z##M!m+iE1KAYxUjbWj1>8_$_=)g>D@S-7`5K*l8$+Vyvca;(P(p9wi_gaMy65V2|& zeXZQ7Jy>{qW`w)o;>zn_Rq@6=qzh{7T{_sq?Rmz0jIDUcvm$Zgh;Zrvx4McmGHruG_JMk zoVs_2R~XF4V6mL7c;xunbBr@#D*o2kiq`hlp^_{f_E5kS)PGW_i z7Err^>E|q(gcQ9&ToyUuxH0%2hziUI3ygS^C^oBl-96o6)0~r#JODFAD9>3SX9NSd z%duM-T~(1v0qQ@C)fDN=L3#`oMS`_;V)K zMhu#+1vs=HE|R6~+|EWx;INu4W~{K;vj8oMTO`UF!>4=5LU0o@qN@9sWqfVq;PPNC zB9}mZJ_~M+q1Q=fpk1d+16ETF_ayj#Y-w;MnTC0O4(>@Hvm|kePbr@p|@7d zd;<}P(Y1FC*dUA?`=!;p!00Y>x0M}496th%7w5?H(!zv#ug1a*ibcLjvpMDi;24|sB`5Q zmOE4tT|nm}#KiZ-4ivC#VjasV6&ZK(ErxCJAeXBmLH#Ui_Ma{mBvi9@NgU`{rUI!j)) z*I*nlJmehWO-hA=F6K<-fW}N8Bw7Y5z)vz`1B~V8!=%O~j~D*unVN_ewU- z^+kKtGx3in5DS~vBms_?!~xsu0A-(GB(;oG{9F&yDvs)phV@TTjKU**fx`kr9)}X@ zuVN}$aw3D#ybQPo%oYJgI+NGk7QsUtjQc^28&Og4%m(EL84`q_xjaU>A%L%^zpR`! ztb-`K&nGw#q@0epj-av@DxrWMG>ZVPqPWXvzQ>O4N*TpKQUQzLnig`3g_QlV%poqvTFE z8O-T7t-5+QO*eUx2JS%e=08tuZF-Z}#&LzKYK`Qro_+=~Rn@XxMm*+jKDA})>*`R| zsRE{4I}9961)S+E`(r=bePRz>czdQQpMP;-T}#!S>!J2z&WL zJHAL=saqEn*RXh>F*NDyB%ot*C@?u=MXxgo<@ z&@Yhljk=p|)2*G;_kf+xjt9DD*+QtxS>AY%criVSy;a%X0M-ie;$^wrcrT}a034TO??f)(AQ(Og@&I;Jc4d@g;_Ei55I>U997n+Qe-L!5hM%Af=< zcY%;W*wZxN=`_ zNuX0zwHquQ?bzJh?Z?UEFzPO*-91#TMK&HAu4L6iT-EmneT9Ok&IyfroAf;BtSY9U z?{bhB9)4*@VU_MGX2Hqc+-J)Xw^^;zDWgzLHKQB_V17)AT{Y=LrKY9T)_T?f+7Gq` zn(D07ZtVr+k65M#G2j4>*WIJC#kaAmYE&pz7Mz^dyPJxuUQu^em3uHU5uKfUFa6YTpghF5@@$ji$SC% zcPGVQJz_nwo2;^;td^~S5->15xf4v*g|?e?>sYaiD9Y5U`b=&5L8Y%w*IuHnM>Z5( zmGTo6bpi^90>UyFHU>Si^eQMotoB?6;xV}vO0ex~(k`VmR$s97dj<}DhE2LXZn5rl zXSpf>*<(Kc0C4jrX0=A#KdjwJ=V*?iyO4*|*lTZ$sD%37&?8#xckY`N>Z?y^z$(QK zDrmflasC&c+h1lKN-gq7f z_DSe3toSfBE}pO~870GR41L}ax_erR$!$BM1D^ajQZwVk9dthiJMO!`#zJiYQ2S4h z6D#X2c0dX4)NnfI68DE{ZFXPYS$3ZMvjU`n)E>EvO0>_RvhRi!)gDt$s(JZGNR(T3 z$#YdpUuv%AG${cGvydK>i=*?nP_ z>dr?Te3A}_QEFMKzVvH|^_O;7`{i`+ZTD7&%NC|SvCh$x?VI~+O4@|*IG6a#h~Oj zmftx_J9k;9(w!pTjWHO&QN)|Kvg=*hw92U4jV$N~tc3CM$jv*fvZJ*1#&NgZEViYi z6)l^FJyjXqEo0VoAevclyd{l-J+bPZjFh#DVzRWS;ehKs&t~=|b?M2cZ55!$cVmzy@sjtccRNQ%v3n~(o#vlP zi>M5tMjw^Oh@14ZYV<*<_$Jzsv)_zOP!~xhqjK%BJof+f5fe zwRct>z~Ms^$j5}yrqo~ABJjF;Zg)beT<%)))qwMrYP6a?JL1-~xx$dRR`&VCXtdW~ zWv04;00PmOwIypK^V(7k~Eh&PiX-8UFw$s`lO*)l<-V zxs0x@IjCCNgsq&Pwe2Tp_siLy>r&Sm*1*`QTZhL(?Uqe@>8$S*2DQd_lgX66+Y?XS zBO3JTa8#a2J~)}|wY33js1EHoUO6M%5U0K6hk0}Tu$|aZ*WW61_MH`avPK%iSWNT4 z&VADN=&h+jx&i>?^p?|iiKb#kH2ogMT%TYDE%hYyYZ^hQdi2^$1%Yedb&R+R<^)X@ z_HCA5-)aq1(!Xn9xi&YH$xA+_!ke=1o=GE!%Q2K&DN5@D0H%FoB$chhdphfMt8lIM zS9;-;9$0t@U3Q;QN`rQs)!v+iJm=e(uI!`iur*@7Nx}I9rPf;H7PZR*kQnq6TI;rV z(?$#KL@82&uZ_Si;Bo%|yw_1-q`In=Y@-7&w-`P%3Dh-e7OlbjSR9Ug1ktE=6fGB; z>p(I}Hc39&6uN7zH7bp$dTJxrva^{@DYJ33XJVWi2+nioDwW&taKT#+-lrU&bb{uk zD}oMl@v)D1ms?G=CXU;6Rsni51>8tD7=4SttRqk8G4s<0WyEPTw1(UIz9RoHABhItqm_D#)AA6n~sZgR|ar66Pe_qt}( zJv8b+i2*Q&y~71UWdyeUPHtG`G{J6|0r_i)SGGlKLL2>MpZVQl+xnaex=Y=98_e z?IBu{(PISM!#N9|2~&NVds@^8bqsfJUN&dL5q8*n)@!$JWf>wgZCWifu3bZ`a&sSM zrm9w!qKEHMx2srkK2Z%a(NouUs54eZRS|}MSwJt>U)*SDv4vt5ad7yk^JGPbn1xj52^w;f8Qb+H6e|YEHLDPNMg#WkpyKQSo92 zQ;9OYIvCEqTIXE|Qp;DutSPfu*wuht92e+Scw zQBWr3>Q9-JQo{CAy~YkPk;I$np>*}^cRGeR3*m^bTGUkyyPhi&)jm7oKnz9z#(qgr zd#P`E2nw6+h-Z!dihDzy^M)k>P>+C$ZsDh7FBt0H8qqdFmf^T z$9267uTWjAdk{Eoqo9e@TV05Q7;&B4U=MU+SyNbd*|h-Ld$HHbEHV+hVeXXUAajUD z>$Muqbwp{9>{`HZi-4eUF(q4R&Me71W1*Wg{jGR51|@X%fVL$|f<`(_RIzYSSke%|?#Tx4E$Z+J~Hop-b6L?V*No$59Gw6d8FqL^>npJ@KwLNo2`l03iWFFF3u2JWcm(G$^#>qRPyxv~RyfbH0uIFuk688V z(q4*dxk@UrwDK|1W(tnS9;o-tV{KMdz1i0Qzjwi3V3yJ;ZB|lyvRPR58Q{e=Em2*} zqve;kVPuep+I9#6?Da+$y6#_}a1wc+m%_UmY-?KR27#BuTaduTy5;N!JB5oXVPP6?c{n8WMCdWkw|?5NnV>a2Ya2kLBK2L^UT&YA@&N6;o?l1Z58R< z?NV$ZdHbJqH45&;tw1WTxWKCl?Q#j(k?P~m%28F_Th%33^GRJZSU>^R(a|v(ha-h` z4BK~jXWIybH6t$f+%b#~125mJR4c5u^7$to5T=>|v%k0kpK_xmqA|lYNZSGGP7I2E zvZh?UmM%!(4l*TZOj@I3SgtmVdBj}7${chU#Jbx1K&-IZbHV6k7J9{f*%$=)A31$R zuKP<7jB-bWrBpMwuE9a)*5+2EUiWJf2l>3@%F3j^-&X`@sgBZ}w<$PaPa(QWrt7Tk z&@m+ZSmdc1^+shQa9>pNWUWrB>R5~10=sk72ZW(zKnUT7-G5BBs-@H0YAJA3k;wU_ z8Q#|mU0?t(Fgb`;fS+m(cDo#q3F1VP%ZW z{9N;xWe!ct=1~SJB)8R zUVsdUkXiB{ukN}=Ibl}XpVcRjJmA@zT!h?nTksn==g$z+vek2~+=T>fJtb^w7OI?r zKpb%sxHdMN4xKqLtJKu@qrTm=P}sohghaKJY>1Z2Qfl>msuIa8c? z%hk5D7MyLz#m`uq9ZiS1$ge*X^N8i{z7Jt#QctS6>Zi^KhNLTRsM zXO$f0GgD}??^3a_40ObDs@#89r%H^4Zj{w|cMX0ggXy)AVanf4*+RFj81MM3|Bj%g*RqWqbtx#kVcLU6` z8@sc+)eVEhD7}|>p#tZFo@H#k*dkfLUu2>RvShKz@tP_Kl;xP^xFC+6(H8oE)hOCG z4hhFueKA8@ErFYG!jN$S7+7%0>mn0|5`~!N%G`%OBgZpstxlUuSHQIvF?G#>hYH?P zE}GU&fjh8N9=PLV0gq&$bT&KNyKj)=nQj?4QggsL=`@Yq zuVprhz6NY?iaW4vOh<`QU$+=jZkbJWybI;$BziZSyb;!Z3N(W=2TY!oU)Ch zJOkk>RhuIq$WqMyuO#_RHC4GSV52AoLmVHFN;4=>{;(`P^7kqu54E}iGt704DphdR z`rZr9J@EK#&5rD@7n~6@zh&3E7y~}3$G%xWJnq5pj0~5%HJ~dK;4mT_VTytX^Ae$f zamhJf7&l*4j@dwclE^}zietE_Vx*Pe&6L@{Z;m`Xq5_8`u2lHVRB7JF29mpnv<%GU zIyZ~0q^v(@+=C*;KCiS9HTG7RJ=9v@<*MXk#xJw!w(6V}^^|o}pKpZMRfX-Z3>Rwc zJmPqA+_pQ()*;;KGxsj~0y6Ze-o+f%~4|x_B+4n_9IGr)siK#&S zm2f*pD{BQl(8RA-df7{op$(ZMFsc^TCYN=&Gwu znu=~x8-l0f11h$n5#3tb`ePhPI<4qiX>qo&KHK66#v_zowD(V_TIy_`IV8x`rO%57 z0bz^|r`l#zuIFs+@y2`vz0;-` z;GpIg=x@?BX>hF_j~Q@r@5G%uQ?H`BO+A`|E2Q^e@OQLjdL|XzNd>Fw8ME^VI@)W~ zDjRhPbGIdH9AawGcC8g@9 zQ|mbA6JDmxHq29A*BI&H17+3HTD?tVSUH7Rt=Tu z!CJ`1{r>>cBOgrZ*{iBAy$=K*56>#=p+5r}Yi}FZ{!^X@$s6mlT{KpT-8EDit}JP1 z1gZdR+&n?>5uXT3?6aOx~$NeeBduu4QEny1$Ya7OQ zbb9+O>?>aVli zHR?M(w6)gjVjlc%ODjC%+B_l-o|i^?O9FjSR&sOgGL{F^KXrY5#?g`h1+(voeTv$j z0n^)Z+o-*-RsyuKP6+d2B?(PE@2Nt&Ux2kXcKdLACNy@s!px*@QHCdz^37T*7gen_ zvsjCc0_*C2ePO*QE>%ce&b4*C7Qt$x!M z^;t_YX*I24Fv}DLLH0=`otEzRE~T}sYSzMP9N@9qp6@BELw)*d4XST`@NF4w&F>lM z8QI?h(`anH*fyztEexcC?K0Yjui)#d_-nSV!Odc<1s)(7ZS>J5y6w!q>dlt!E#9;4 zR(_cF`OSj8U3k^@g5K)G6>s1-uxFt6Ouq|sy>0;t);6IlkUmMTOfJ{ecC%Hh78qE@9CJ&$_i+0R0H?9Cf?e%7|bt7Y7w0elY(#Avi%3f3(YYU@<5*0hpF26@cY^7`s_ zCz;y)8ao)>+NV*b*4t{hZ&+Jln#%NUh|jC7 zNKm4+LJA+(GnKxyl6xzzs;zFSx~M|A__tW0Hvl}mCOYe8)mL4*m8>sD@DZ9snfMI)1wyOth3g3#s+_KAy8V?R_*51aoyGzgP$`b=?`9r)R1+C%U;{}azkVj zm?nxPifiKcV#yBl*m6SY$uFFj6q zmz&ZYzO~MNkn)qP(YBvlntIQBXbMOp11H0onyPbc zc~{37Bb<9?n~A?uWyD{pMTX)@G>a90YU@xGDDcRcbv4q~+rPW5 zfg3{Pj78EbD#|lmsyH2Yd*dtBDrqklrFOZ(uI{7SCDx}z-tSU16$P7~l@R*=k0nbbT6E@O7z%PW9?@=P6@TO-jlM zwUiJ@_@-xPW$zY|x})muVJ^rmrn*H#yw5IMpLB|)RhwD<*r2W$jE`8KD9|st!Bs4Q zwvp7CU0#ySC1DK)yzs?{B>0R?D@9suGTv@0s6XKAQ^@w2HfZfGlAE*|i|$3Px*u-Q z@tw~_iB{EiF1VU4A-0fOv&IimFn7hvWbPz_OL_Rm*tVP0YDU42S8>3WPjcU4lP)(E za=FVg^^Vfe%~krtQnsG2RgH(M9)sFqiwdeJY%B@rhl$eE0io<_4cb+EHF+VK@>d?u z2`waYg@M6U&fftTYj1-nZK|0p802pGWVd?%0BowQsf-U9U0$x+g;dx8uB8eTdnH3H zzM9n4qo`TAMs0QEH;z4!ZDW_yFl0U0185lO=Q89RFef-U0u`cnOkKX%P8ENo#-i-* z@G-fr!r0u54<9KsS#>t|i(2k+wMN|I+#zBklp1tB=;4UxGFrz=D=A?%uLShl?u{nP zqz(AgJ1EKAtHG2sZGIhj8Qqzt`rfNky{9bcxo~>>OwWFn?&%)N_8=TF@t0^9-D+@E2KUCh*=MYF&K>SSt#;k{>N;~R6F2>_c~(OaJFdNDo{ zPRiNME=^#L3G4Do1Yob;Rxp>+7}n!(37=w&LjE;f}MlZvd?T;aQ)`!c^6b91v9r`hc7+;st4j1hg5ZVZc9XLIq1=`8dLgQej&U~K^Ol^<(-01=mi&T?f{iw1I3mOF4q z=YX~aTP1iNQHpSYs*#@=X8U1mvgJ=q_4i5O1sL4Dau0-}soosBhAM(u!?NZG4X8Tt z;WbmOBE5wam8_xN(65KfG8*iu1(jL}Wdz{N^=qQ9Ww$aSj+_Dp3}qqO))v{Y?L40z zI!akv)S0z%_F$_9=@o_@dPm@$ySg;$^rKB;Hl1vDRaLdm_%q{)L1lEaRM~VswrcS{ zA0*9F0KkM&bDS9#f)3%vPZ;7^3rYmFhjC%=jaof**b5f(mR3dettFctr~{#lVYnXo z_7b^V^!G;1BKx0CO-zcUalq*=_9L3w%Pn%JcPBi|mj@W$K~v6iEm;Z)S3Jsx>Mpxe zV`^=3&7UkpKBn&MB3i+BZpM6OhflQz-?%qH(B@E8-Y8nDC4kE}gn=f;Jokfe9dXR9 zj7qNJz(*Q6^-oT`$O^|i5yyz|muQ-fDBW9(hTsv*mHS~X`&bU8VL$=dZEb_Z;zN*K zLgQ{Rh2uDpQjB}22)}I4EuMl=LuEiDp17Aq1sRT1bO*qnC|su?6>z|Kz;>w)ndoNj z%Qa!n-f^D;?TNOrNk&{aVY?jwmQ!V+ySy>m>v7>B?OoLn3k1gCe0`9rcgn7=25iTO z$jrSKHA>-*Gsa^I?>`7-RH>Wd2(_io=0zm|;$0@rrA1{NDmu3~Z@TtO`inMYJH4;F zIR~Kfi*zi+kaOi67ic2N+*{xeh>$M2mFzACG3UqT>E?Mq89|0oLne|nQ_-0R;wLm+t zJw`l7T(zRs^}B~7*TBFKx}NQqy=6?Gbve#Km%i#2RGEUD~nfdU#j~=SY@dlLxygJM@EgBKqqd}5eB{-Ab=>=oL0&R3%uCWzw6Q~D_fd8hW4n-j zv8CGSW1Z>Vvero5o^y_osPvHSaU#VT18Bn-y+^^ptfR3w^~mutY{X=rih6rw?sfr~ z}4k=sgakj#68M1hbYo6-suLIRT8=;UYYfjJ$GW9v*5H7fXwT+;Aq>+Egk&z$?=ZAgWkcG$kd(pOPn7O!;`hR!`~9|7YZRT%^-zDLLe zuX=l;UD#T<3yy+M!fy+=ykHxX73&X$BuXtO~KX4$vODm z*-A>OZP^5lGB}NC5mk*_DLKIyIr58tjg{mXXLobX2_8|}Wl?JH+mblR#w7@>>};?l ze6xto`30)LF$3;P97<{!y^cUKn;f!$r01Z47P)&_wuQ;g2SF!hPJAH9%5ZpZY}f(r z>h6%(!-BZxPQw-fY(s&^IgGHj><|MFF0yHGi)Q5xU3T-~?SVzD+%P~}Xxx2*3c!L0 z=2!xtFk^$kBf@CANNcQFz*gy=rbX7-gA8rkwD^(Z9E=d>C)tA(2RI^FuvNx0?vuM# z>Ne>6O3gDcAnb3AwBmF$y7e|!U{%~a4D-goIRxaxy=)v3GvhO#3R4~>lTSlVsh-AD z>nS}1Wdt^>4}uBj**I0}nwAVUHhPH4dqWn6U{}w|bGTPYo73BAuHNXjXuu^;oXj5= z5nCJ<3(vpCV!u>uL2t7JLXA>@09>|5%Q;MXHO}Gphaen*?43$AI=g!{`#ypmocD!% zeo3E55M09B1#5zLGUuNGG9$X(xfq7_98X=FaF<7=Y{=wyhiDlf^d8wZGL5?d!we9k z5|yKdF6`L$O(jJkS%6}C48T=&wfcii6dZL3&CkynsAkk9juT?%J=zWjw=mS&r#2wu zsO5OXt7@)#TB<=rVS*RLdtxf|1ytTUvcP035_2;lV&$q_H(m~L3K1BEuX(q?4tbk3 zNv+dTuVqV8jtJ;Xb~~~ymOJmTy8+@Q%Lig>EM1SqBMUE2XjxDQLM>$E?NOM^wHjkc z6#|c+4oUZ!dZ$Kft+K0GReARst0*CTZlv-_m#kfC_h_oYMsj?n?$3QPD;-Uw zI3B8j#GQ#Y!WPSs6cdH(n92%P9UhwOBw#amA7r!GQHv@t-RlgT3{3s;XZV0;sS@`M zs9pD_dp_phXLzfS-W$B8YMQDUUr?E) z_}r%?Nww0Hs#J}%0&|seIh1P@qA_9}iOJ_PZ3(BG zvVfG2Q)+D_M$I#uG|gVpE@lTg7*YD-7P5B)R~%$xu064o(_7Yioy}*LSp7bx?LMFu zR7)|mGmnZr&@|{Y_AO&lgHd*xzm2s4=iFtxN3?WWjTK)7(LH*#<*#GOK3M6GbgMo3 zdr8xGtSwUQykIvxkOzdmzf-8y=?gtH)`uLb`o?Eg-PXEmOycWr)7f)Y10Wmh4picF zJ4?6wL$oxtX|o8bk_ENzQ|<%$Wpz(+u%8baSi<*MrY;Wd4P|yWtx}BIDddHSN98QL(M{mOGw!}BT zc5G@FBvuAG%gvm9DdlBJ{_yP4A-XT~(sizQv_m z00X(cF$35pjk-S1)YYk`m+c)X2Xbl#-&@BxCM~rZbiT{!v@)+DUcZcdxbTQ>=+RyE z+No<2T^peH2|KT6TB-3rmb(o5l$<5>fy(`K5*>X z8qF4>_MvrXJw&aTuF`(#L|_4^x>Yz1HuiMtW@2SzVP=wO8Xm z7&E8YdYbg~+NZTEqOputH0IkJ`#J&gnU_;tuVrmklEi0YwbXjAj=M?g8W|H)O6vfn zN8JR;`DMLQbYt!tu_fRNtMdSXptf!(g^s4Ux_(xjF5dnNuAPMcG8WvkcJ!wT<}=gvB&p)3m;YO05O zYT&NWS3ji1gX)G`9;2Kx?H@dv?0Q)ZH@2T)_`$GGv`sprRhvEryF(tOw=*9+ORlNE zRO$N|KDAf0u4)#<-n&vbaC zLCJ7I+aYIN;-V{KO3*W?po)1lGn7iOq;dx>@1jGrK8JqKuLtJRbmdRm}MJ+2N^cmQSQ zwr?5qUP&&k`lGZvS6ZUYK8~F|R;dWqAoYGgy?$BcyMMPe8Z)gnR#d0}SGQ?%;&3_$ zuTFg??E8yodo=3kG`8UT`MLZ$bQ8#>U9GKKFYPyFrI)=Wh|3P1Gd%MjO;Y1>_1RjU z()#UUolcZJ>OnxnDs4V~B+PrXAuY-Rlu=_I?WXGLpUHFQ;{rmeNr z>$`wAA8fb6g&p;}P5!tQ0{A2kAC@CuW}Vy(3g2BrS3+TTIKQBTY@XU8e6^!aA`LT6D6@g<_F)m7i1&LH0#l)gta9pxGd7$d!+3)cHKo90jp$TK^@&?4l++teCB#JJ=Tj* z5!p^KLpIWL;5_2)chstVaMam~*X?VLi{Zq^$x~rNF#u$rY-`-#vsFgwR=eq8Q9->+ zH$6NhwKiAws#R9v2;F)+bL<)Ej+vG2{uce-l7_X$J#6!jbS|azo7J}~=K*{^Snp2I zF5Ne1HN|`Ckot?9fZo!2;wtNPJ*BJ3V$1}}z)^q+IQM}Zb(-$%Q}CA+)G!dYA0$b8uHubzHEN95T=Sf-k4Hd|=# zNx-B7$nz#qShkH$T;haaAfMQsnW6BGB_Pc>+OQjEYr2D=nmkjz9-H<6#M~d zR@U0?2p+Bmd6QLu7B0k=^+6{ae9XURXtfs>dTS+BOB3WJ!qcU`zVmI)!zE8e_rCf7R?5KS65S&b)c8VgAOP9vl~L}NRX141jn_X` zP`wBAK&7@=FAaGYyNvEFBjFVe^;VH%k%VKMueL?4_U1NIw{q|R#M54ls!?l|shEHi zjQXT?fOdCgU9HN{P*|gL25ew?nOkrilr-mxq?V06Sq_5pcSXKK)p3;9Rqxi;CRxl;hDl09M! ziYX?BvejW;-P_3E5;F#(Ajk)JuA4(v`y9%N%8XzuH? zRLMzp)8rEG!9IVUQ68~vs8!i|DueoE^k>yNW~?Qlo$7Kjjm|j!lO5U?>8`mSOF^oj zfqLbcyh({Q5{gL}!5|YY-vg&QRjRtfHtqdeh}Tu$LR%q2ySCymqsJf7CcgW7hTg$= zJY)!_t%GmfoOR66O|9J#vxf3Gl?z(dx{HqUe^AT!B1LvFA%;fL@sByo4Xg_WV!*E4 z1CBhUTGL<%5GoE1AWorQek@>Ht_O@~b7`Phs+&o`1FV}UPlF3VAxmuoK2rE9TO>Z! zz$$Tw8Fw>`D)7BX;y1p=olw@cbDWO8=?K9~V{Qq?36&0N-V}02BzQn-S!>p)s0xF^ z0oEqOV0jxk_?}YvVx`{4QPp_((zRmUO=wx0C(jTsT{hZ`%j@i1u>HuI7PYHE-dMS? zo)@Pca#?B@Y8T-Qs-x9Wq00dSWw6zS|PAp|>y?$F1|hwC?Ek;A|Ml z_sXbpyG5BNpaYl_sM%G;d!}B!OiBf2JJ_y#ahU7YuJCPUZara+hFJp8$jm{(&JRzP z5gKhFy)JyIuD+*m2iXzpuNdj&HEdhUI0ZA1P#B{^}Hlf_B&ve+mXk% zRTtE6RFZlSdQIAWHTK_aZ@HGGJSom0sMKwujXhgmjF4B>L!Oz9nsb6Mz-A-FWX4wc zQoAsG%yYSWnCdIq`RY6+5|d)NXHbjJJxrp>jmgMBIVZ*{)-LU^5za@9m9bKytc0;V z6X6^Iqy;OxBXcseYO*LGGyH)57V=t&l_^~t^oxa&&tPYsw zHkw6rdWy~QPf%lTsVD)fbzpwvf(VAC4M9M-pCOElA1PX>Z9uWBIIgwM=KT@1`6+uj zU;=I0Fmd{0sn)e9+bbo=#(Io+iDr7XRzneygPvt*H4p;#gphNNBh#t)DRuPP)b}*( zD88`I#xjNMdqF|F$$H>TIHJ1UY~ zr*y5hl^~E#WNIyIFK66Bo_OL}2^?)1V}ehF69iaz%8r=p0SZf;@;U1?>aVv@$n0Lr zLi*$mFgids>RGE$rBrSt@MLNAjY`?wovi3K8NopzYYzTym^yW&|>uLq{fox;X-zphaqKcK(tM7>z1%@`CIVy@)=d&3DfQO_* zJCH-58E&J(O9VcxZc2_zNGhtfWTw(oWrJ~v6;s~WdyoMhW-`@UD`1SltN?n;)J0$| zE4jHm@E}~Nto^eLLB(`xeJ_(w}-X`e%e^GBe`yJ1YV-u_L7QG zN8E$bXr->VP%BGFZk=!@dsK{qKy02MQ0+DnmA>C;%mS9McX(2IW@`9CRjEsBp^+GL zJj~X*n;eXD;6x$%YdeIs#fp|M8QZ%)=$hPHP)Dq_r=cgTewxbHM`d?XtXa1s4x_^! z=!#mjwzsz<9v)I{bfXfF%6k0>Ji?|?Vm-ZTA&711dstZ@PjpK{8i5b9!Zd3q3$A~hOHy!(2SAmRVc*^cmR@N>U9ysD!!Z`Ix?it1)7m>*r{LliU zcq%Q3JqsKG3muSv?MoE$lpun=;Q*1D z8&caHju(vM&IN&c9hRWLu*m@NFJ{WZfXwF{sa$g?6neoyTuUuo;5pvd>Hy~v*lMnFQl ztB_9r0E>^IL(89$SDt zvaSuP8LS7M2Z)u_*r97$lbm6Wdd7vdVHLt5slY!SK^d23Rne$L1>E7XrvP{y#Za`A zad2S3dZc;C?``hF0!j`5@Qr#d{aSUJZ-cl~sG`g+ORF4vz4I$whC3aZeWDezy-ch| zN#`S&4X4#b+)2hU5UN&k@zN|Dj1$kC zZD{3&4t-C?l}hyeo}37xFo{MNssF-*GBnB$=y>_#hR185^X zBAD~ck%erA`K7fEdWQ8@;IZ%$Urx(_qds|>>nVL`Rfl+lXFgM+nriItSAS9)KhZc| zCcC;!cH&mXy~}3e7-NIdUrudO+c;1%J+q~5gZ@&sbFq#YM}%wXYpmX?n|R2Q@o`y= zbF}oE!v?e|$EpJ7aq^Y;6Z+xV62#|Yb!b9$xm~2jXtqW~QqDHFP`u(zR#w+3cVMgM z$%H1SR!lZ3*Kt8x7Cb8sK=TuI7B^@X*`=}d1vdSs3J1vuOy$yA);(^VtXZYJuQk}b zA24He4_(To?X8iT>TSB+|92|jR8@^aVOVg_N=)D$cR+Ma5ZC)8q#bNK0dmTzp z?u^U^Gt<=_2lm1e={*b6+;sM{rYjlioZ?NXZly~G1Ri%W!DvEjE}c^wzJp5o`y86= zVi8E(SakB{9sAacT3Dxd#u?8(*g|L3Z)GlfmC)??KBAqkv1&8~eeq4oSA>F;W4zq|OvE(l!t%(_RjcdDaq z?uD_>wh)$H@UydbY*6c{OKf_rx%tgZ7<{uO4Nl93vrzQ_GAmWdcJe+#5R7`mE|sgZ zQMKKtSHRgc&Q}|0AvS^HNtM;2roGbU3qqbkIBo6Y%poMdzskD(&SDy!E%|EhT{tJ= zuq}ZrMwL~NJ!Zypg;nD}st}sXqd3W0H5Fgknw7DNpd6~Dq4D!X*=y_G+aFFW)Vaxg z7^!P(h;8*Ky!mV{K98fj!@&-j2Uz zy>DKlN(oS0SfQD-;J$E#xcAc8xwoNi%G7GDEv9FMuvE1{~kU@1#Z`+fUo1GoEMPuZgFGqN>KaQ2|b zFoc{u?o)NHCKDT{%QdZDw!vPTOgqoHC<$ivlPI0qm8Z1Y)kHj<<&Hdn%po&>i%CC+ zYPP3H+M9-%M{oxl_+#vq?<=WE(}b?ZQG&-MeBlVuwMp#@C|y^=a;SDFR^@T*g;$3~ zuHx3SWuF+&&j?7qq*ltesoKk4azh;ETeKKkcIvaRj}CDNP5Lm-Xf>dHu2H%iaAWu6 zAgYjqsom7V5>CRlE)X2Acn(+*jDERmbxnPn?_%r*7d{Y#3)F{EsI6^nn~oXCAOS4> z)fPJdm)55nM;U}9twN5qt1jAc@N(lAL*X`GtwT*IT4L278IE#c33SfsT47zfq_XF0 z7jW+sE_Ztbp4Dn~THCFm4Ft9pfVjXOaD>Vki&vKk@}wJO|P!) zJxJ(A?&~F$Pmw+_gifn^7LK-V)asob%lt#}kGMuV(O-D&SXV2G)Eu0j69_=gwPQ}s z_8r9F))$<4%dxJ?w^+1&-Cl~CYogaE_kruTvoM6s#&)YM z?;PDFcIq8!Ta_Pa$*|xB9QBLTTW@`^-Yf(6Jq#f?>!yG7?Pb*5=W_1>S8fM@kxrbt z61Xjle=91j)Q%IGH{U3!kNgqvxE_qyFfYz*az zDxhWKM>SJ2=#g_Tu|6yKqk=fe1!j zj7rs|T0Yjgh9Rn`l?SeUvXmjRiyct7sBR}9U_ui+>9yDIX$z-IbXMv`fqihRS?YM^ zD@>#?c03NFJz)vB$`Z==6)B$)jwanMvWhizT6Ft`S;DB`w}yQAgdC^ zWoR~q1E7j+nNeDnFobr2w`pHYsC5;x8&`7Y#wWaGQU+H(P=u21ZEV%j$oo`=P~Jq2 zWMDBF$o7r~VF_6{6sWQ_uZA8Rh_$pTovIH%8^#cUw$R#LF|E}Ju!a@`oXT0F*u|}} z2;093a|lW7)|u^VS4;p3DPxX0`{e1Gy6d#q938wc^MoN5(rTAXjP%)J+Q5Q*F)Q9! z#IuvRx?p(16G&TzvG+T%A9QAm-%7TY(W|f@eCIHP1d(N@JREh}IzX{YeO^8Agn(yq z%*^4j;s;rJl9#r%E#0r(F&V@mFQC_3>61&XZBaHp#a%u)F}vh!t-HD#2N};k z*g{Db()+M?6;ePr5$Pk2!=&1pV z6>X!T1j{;>83E;d~?=HSBwmXW*{n$5@871=rXC2CkvqJxoX^mazQ%LJ{*{l63_% z_PDFNYMYS5pZ%s%*@J{}?vl`2Xm*5@tMW5#G&&3ZL@^%buC@2v2^j}OlXNmdi4 zxvCAZ5y?GRXAz$YXF*NC1qXw-kqAqq+dHvV0ZRfnvpHo4jPVFU4aEv>3`p~g zHMOX04}s$dL<^*W%8b~DAd!(FYij8>w<>s)y>(by%NI6Em6n!LN^xs(cb9OA7B2+X z;_gn6(-tWZpg^EFMM7|Q3KTEF9fCvA;_loXdd~TM_dd`4<4d2Cz2{xC)|xdl@66tN z_GJE$BOo@%U@&&({XJj{T0})*D3khZEnPq7RsdCKhRF-q6Gp@L1q9OB=P z{_+)a#-I7Drh%GDx=-nvA{A%FE==-+#h{?(X8@hqj4m&6tbP}Y#r8sgE5Xh7i@a+; z>@`mpG%MXqW)*rA&E)Q)Z`JUl3zIVOd6*l4;*cNr-EOGkUqo@mOzpAUk$8{f@kVB( zGUmy0q*Wr-9DU1*kU9Ac%_31y@fS}#ni+T>Oyl&wM3DNek~?|@&_1nNg9bpYcB>E}w@c^421;?1`T}bo7ag3ZQeYD|JemA{d>4eiT`0;FU~$sOARre$$e$ zzjp41Jtpc0J#SoTfayr!lfJpv@;q_)e(WB(Xc^x&we9P>Dxv)MvL@kUp_}4u$>Mm# zChTqzMQIfqG;!2vk5ZJ1-4i}m$k!u&P^KzIpE~odv|~j#=oCCckcoIVm^8dz!uLj?gHoc?mv8i z{pjK2`*-hQ0H?V3U%YEJF^Gd}l+sE6Q;p#^Fl z@s{YaJsRU16voqgKz7`FxENv>SFc>EvPWBO&v}^^orrvRN$jMvsd0I+934LXjyYsL zwDSF~FAHw%8m?y8A~Fmz-z*+=kH9e%d5D7qacL#1Il^`yn^1pFbnX^%;QbX>%$GZ* znJ@+BcH=4clegVknn;r7O~GEwhD#?Es>{=|l;~Mlb)0D`N{QW4G390Z+gf2T}>LIC6k!TR6)bYG#jD25tN^ zjyYyo9-cZp#EOp95zVKVQYoetG-i_0&RWV)aaOGguh-V*?hdMI1cxtZ_D9ky)U#W) z67`D;eqP#7JZ};=`YnMgtCqDxxW#i$sr}{Gd&JMB5zY9bM4PL_qO_W{nuyxpE;x+9 zcFn9~5kKKryNJxT5%=uno^NsGt7{rMd}edWx)IMJ`UBNvm&j^mg>Nu;NzLWD_MAg^ z`Mg2~5Xz6G6Wa#mG*d&pi=J$I60SXLw30ObmiZ$~sjMs@NU8R0vNbt3a2>clGfa?@9SSzmAv3nGjZ_Vpz*5nSwl>Q11dy1XuZITWqvsbW9fa&;iHfZNw^;Kr1vmk6be zHDEoUA0Cs-RfnhHh)kd9*#=od2Spo{EA>2gj!WJ_JZQ8 zEcfH*)SM{xzYc&J@h12>){r+CncbpCyND?Wd~-*&s=6U_3EMg)j!#OkrXitnO3w}p z#B&-!PYfMPRdU#W4XD>#{YCGJp@iN zGNob9C0i)+bo$#C-5gi#YBkoiiih*|&d+JSrc)Ks2kiBi8a_Mx9=-X;dI;%?^@bP^ zLWkA4LC%x+@D2G>k3&T{@(8OX$HP)pl$XAxbY|phh`zzBWwi^ILEd%oQDmWhkl^)B zif?}RvF*QklseXrrGj?t@`ORc!coiYbNjW0rgKm8za2F6Se@seH;oBFN^46eNIT0* zojUf<^5jwts8P!6Q=^rynt5~mR*JRB9$KV(m2G$gm z`yi*P3kL8cL>K=fgd6sYNshSI#-MM!3cR*|@NV}8BWgd{Z$ZM=?x{IQS0dWY2_MoY z!&|5-A7P(4I%y)k+W2dsSSXf!oaf*AmT|{2$Z87qmmJ$Rk{>l3y)M}{QAU54ZWT43 zIq)7gA>FFj&4}zo^8=e%zjo~(Q7iMaLiFJfv)>??Pt2W~FO#Ga4+qY^=_7_T~*mw{^+nW8Utdr8yUeTI%IKFx6(x}`xAU#t0wX(pP3&{RgL3q1E`l(?p;4xNh4GEb>s^D zq+^*p%A6CSsYUCwgb)w`z4=znNQ()5Wv+y|db2X!YxTSofwjcwoXun%8;!3*R(P}H zwG$8HNNsF4H6EBa)?Cusl17IXD^-{&R&B1}4#jLq+pwGvRekdtunKD>vqT1q7_q( zZ_>wH#a$RxqNy>zjeE%exXpGGn?aBPA&`~igPUK=Ug31%U?NIDhzGnQJvy=z`~BIP z1OF9u11XMaq1A9Q@YD8cJmFVWz?)1PC*{FjyqX@%8VCNv+nJ(KKDAymT;mhMx#Hg~ z$C@`c+~6xl%yd_o%AR}#y_2rHL=6c6h`=@$Ga?K4>c%~aT`q6?4b%*yOjgNH#gle&JfLTY;g)>r8v*{O12)D@JHO=p9CN~6yC(tZyhKn%JBPlfzPH2B+ky zJ8V0gh^>x8*yylQA38R+&j_029B8%+G%FVh&aO7elrE(T@2734QxYe9Zt@`P9p9QX zO6_sFKH(O7YD{M{*Sxhm@tu!}O-oOTWKi#L1%B~#wZHUbm7Yy&7kO;R%qG|!5t`0k ziWp23@{6>isD57v$HHf{(;h60)_{M`-rVSz)>-kt{Oz?x9>-HU1HHlUK2uO=yLPlG zJMO70n}qpmH6<%ZcGfL6Y=6TfB>e74qL#I$IF{QiB~?5$xH3H0uVM43x>(mxS(+Wp z5Nt^SHrn!$rnWTBH%17810O5Ld>qs+dbBarDc8syV=t2OmTAJPQ@+Ucybsk71C}$V z?^+$$I@cK_mPsBiz#5M8l-6e`U55PSHM2eY)VvukT}5d!+G&)$Kr%Y&2@a%X%-OZ; zYCJzysn)LiPHIrp7l()ack}V~P=}mKy12R*gAUVv@~TA~qpn&~y)5froA=TJI@J-M z(pjsYvfU%puup_PRc0iX*MQM15z-CWPl6X69jAsX^!3v|ciQp>PMn?(W{TIhn->#` zacrpkgsG*(#l&c8%Ik`(?N=9Jrpy+uB1%eixt~1cDb<47Q>D;9>Sw1`Qm4k$Q0kXr zY^Uv;1KSKfS|Wga>UY4mwTK}V!w%>iZ&6LbI->6qPfkuYla)SOVk3sPOe>3f%`_Z$ zmW$D}U0-4F){16stccC;UNbmDWJY`Zn-?xsDy+7A;enH+plp6h!B!khqG~MXT)Jgi zA~+F(ZpuoV%{gN_b@0fAa@W)UrQm-GR{OoG>_n4GD^vNx3ANt^Fu%7M&R4b5mwpL< zAZWE_dSFiJug0h`dM$F1CJguCQhy^5!uN3ZMr!Ik`ID^cZN=BU(GrE>qC8YIT zk&NO+6+ONxPsyPXQ!G6jZm6c+>5F@m|EVN_m}if+*!sBBMa*S463Xg>_Nh%Z&*Ztu6A^ae^)|C^AaR z^@3cz?A9jL+&jA4Hhn8rMd+xQlC2RInM$l6tL&KH)>n)&`eaMWV6qi9D#Os+b`y>X zZvopE(B0VAOu()vlSPcK)kEH_EgdHGllM%F`BHCk4t|}-(k59Ny;vef zDmO>VUH>*%NAd94lQ=pT8wgtW>ToPYi&7BwZ@KEtG4DGNH%)l;Qp&i z!@Ihe8zJJ#D1rDoyzr;o&Y5uj8w@)f8MgAdt=8{3U|oia!JA%qHZor@k#qrID3 zpHHXFySDjE)P-tdx7Lc%YUdRc)F#GLHH%JgNJlai&l_oR`5C zr6N~FYl-mil1^InUhb*TSn|a&$j-9r*o3dPKJK$2g0TL`6e7+21iju?w{D+Z?{KqV zs2mxI5fb4PDDE_@#q*98P=#Z;W)guvsz8kkqV-;Ij&WL~ERY_viu^H(iN^B@Up*e;&;T6TO*bsXLWgu*4q_m#&q@;twli^=hmSgu}LmJ zg_6(#UL@wq)%=CYl)=x%MjZ<EUBu<9rQ2xe&Lqe*H52p&e zfz&xrwgVP7&{mbTiE=X?uNYPsK*4@2K?$)xLMeQnq~;mM>QV>iDq;py&6G|xE_o%d^1BUP(tUp_K0!$WYX!{2O& zGxa%?uB}knddqHQ@?CK#N&vesr1w*bl~Rhe5+_(~fj%xp*BbsZsY+w>aMSQ!gKjHS z%R96P({l5HqO8>{5-z!2o4Be6midmES|jNidZu|u;$wDS(9iZIcQ<-ZBM$=}@On2>==J2`d#)=LV58}Z&M|WZ z3p>rPv-HP^-Zh7y&7}(pd5iZRVJ61z0aYU3N-CU25b9m;JhWdHyIJ@OhGbT_Yjn&i zu(5kFFO<}HUl3wTJTQDYVpU7euaRte*fR{D-HVnFkIYOitPh$J2$cV+hzR&mk(fJ0 zME|)LqMff6m^dCj_8r?Sc3IHv1|zMW6CY|ad=2VPvDYAd5ZbnF5<&7TkiIg{XhF!! zOYA5hV?<|1M>$ghG?;>&R_=bJU1PK>pt#nmnaj?N^{$b^C1yo#AC~mn_MBkHHV=Yl zVpQcz63fiQxRS3rnWtFIC_5!z%XhdgL>;F|nQZKDwuOef|p!s{(iAj))VT~a7s zpte4Opk?S|)#n)t2gSU)|G()q{@29d;LAw*pyFs=6aNeEIcDlH`Cf_EYnd*-xC8e% zVM1|TeoMuc290D!eObY-?1tfNA|)rzr^_&t4uh^m@1LHj<*lMSk-16A^Zp??kjxG9 z;Zw>*hnjvwAMuV8MDFNdpR?(zfigCv9W_-eTHFYMP=3hgt#o(Yb=$4j7)!HJgBj7s z!G(W$)XTZ|5}K#R2||Ru>K(`fGRc!FUajiH*t-^Fz!s*HL1Z28n^{|4Oh~506d_Ek4Pt`p#nLn&m?4tK zB6HZ2nI#;gTvdCv))4vFT=`1+h^%}IH&d9idBe!9jez?35L^bAQGyzl8fDLvr#Ka+xAOEUpTS5m#b~BE-7EpiWp)g0)XK_;t{-GId|}dJ?=R4H-JxgPB&guGgWFK?($G}L(^{jy z%<%}0<#eFhtu3hS zex$%+Q4IIG)pQKyzj-OMC^muF?Ga|X`JI3(mds$N`CUOS-TG)Tk*xJrrbY5peRFBv zreeBM>iFbva>)@jQ77KRDJOSXz4PY;#jF*jr*?r2qfS#g6&y8B&9PF57OlTmq^l-x z@Dt0fljenvFPU4~6_y5~{ABE~V96)`k1OzUL#z)s*yOaWQK;c?8T_Qc(NpHsdAx%a z<<(ieGBshC_waBkg@`wZfJnlvVH+AbwG3eUSgm&9#uHtdq%~=sGPqodh=!10 zl>w#0B9n2FCKNwAU65TodvT}P@~p`BIl<}NszBPLNd5t=bNeiHI`;!=Z>pv+e%+W) ziMql{Jzri&eWO6eXK^gLLJw?{>q3#IW;HN3O;4@#@?aBL8mDfPGm40XXu}(_+K#Y{{5fC|LwsYcv<6gss9(% zGr6Gk{~ZVWQfOa_c{+`*Ms^;@u@>K8NIUc)J6Rb`*1I351N&9iulXk)2mJ;n3c|hB z?$sntiOnkh+sy_VyIm=)n-d39x~wX#V``jgc^#D`h5FJ?9@2^vlOXX;J<#J3b!+MU zT-C9DLB6RI?e!E};jpGrU4Qt@)$7%8milc&MA}haal!ZP?hd<#TyePKRC?L2E*&qe zQfM);pj!EuMnnjo?UpUC55?9dN+4&!L`UEfWEK<_E^0%cVI0&ll|-SQv-#8=r-EKp z{k06fY}b(8OxCatvBw7!>JoQv6gX2v(_!JDj?-GKFJBv!S)^?u6o2A^?>~NCyA+`k zuoF^uoi;dtLCJWSCbSt`F^g*6!j3Al1h>gxDrrH@>8y9tqxj?42kUk74eB*ZuLt9H z=8xUGQ6pCGG9wXW(s+aqEJs~reV@Q4usv|} z@OH9Yus7ITtQC1SILnVTE*UYBe;njzflbs-gF3Vy_oXb~u{sWays2%q+)9*cc&0Ee zwsS=#x)YKbRN?+}q%#6cIYf2l@9^7iwFZOo!STfJLHK7lllpo~p`a6VG0|^Wq;ao> z$W}7n&Tg@7zNFkeT?VUGkfvrPYw83?%d5BcW9QJ+gl}PaNyT2@O9~1#dX+c%^($fC zh6zU$eeJQi*X!U4!5aRmWtT}6com#?LGv$ag@W3)1vG7%9NrDAJA2f z?XMmW&Ir^a%564hQZxiAmGJY&Q>oO}&l0@~XN%w_6)s!ak{iolr?cVUqXV~1&mPMq zC$PZ{#$4p#K2GZ5v9$1G*^$CGc{b1()#@7GN4#zpKjzG~yxgr)O5K;IAP>pQs9k#$ z^!+tI&uG_q_9!eVj=&uEt)DbZzM~o|`a#!{!4@`?+qJLaqULZy94oJ@%xj1J z^x4_=*uDcfR%~^o3An|Gx#oR|bEm4h6aG;oBZGNEEGodxebzzTmkdW(BzHe$z12bK z1@E3`ctR<2KYnG2J^m#uFDthb_nCC6(s+fYvd zM33XkF;WU?&`G7niD*+*w;X|Su#Lvam84o8)CnukWWJOg{EXTcb!l-qg z@oy8tq~^va)WH3t6zKqtPsf`qDOuKqAsY7`VrI0fb6}$-hwzvZtDf(?Is}W}@V>K8P zD(m{;5Zt=6rALd6D6^I^Ut%`NUEDpg9&g!1j-t|u3~DueNudbc zn8Ly)by>2aE)N-(cvT2b>sOVxG^9fZj#f zSPE~R7dr*Zj6#a8?_W7=;1^CBq*B3hH7B0u%E=7{>@mp}Rm}U0<9}#h;Lx%)V1Hr| zM2L6UYh5vI1m4rt@K~(V$Vq;PgBRH@f&HO%w9S~_gT(dQGF@EZq|37t)wS)4joHQ2 z%S{~@Frqezk6UR&#ZeKIw$hikS$T?g)Rg11YO`73*B&Ui$= z{)j{kfmPZo=alTw!M2uQW8EppIXIO1?mPp?N(f|Cc1!!wROl|;l(7+mhqD|0=(JCDY4iSLjp+xHA*CWp2=!f*FQxo8{FL&jI7cVVOr)^s zbuqjN?klkp@*+w^0}!awr7lLBI*hI>-?r+FCGKsY(uZ)u1q#kA4tZ&@VxT3S$;C_Dw>wuu;Z$^ zq4}FqEp@GUq-hM4J71urdW%z<{IGQGB-W3aV%EFJnFUsuH*rSBi0N*iD{i90+C$* z82h8>M1P>^Ay9A`SN;t{!2jJUVwpW`pj`j>ebF%f58@%=2fqeF_r&=BrNQL{QncoP zE_2Ry(5aKut6{T$fiJkl z>~-6p;F<1{pu>Mq$9!8p8CQ$jDDS#cGy0&b=hKfhbZ}?a`bU7;$t54W!MLqoOjv%% ztw6w^`n#wTLswre`4DBUAz{?Oak;A^+TCE?{L3hFtFGqk}ZZJ}g-a?jcFz(!7 z2ydhsGU^hdyE8qyJ9`(i8SYXZH0Dz1HO-5y`ht-a>TQk8nt7gzY-yVL`>X%tieyW> z75g>)*76qC2jGJJ^;5BHk5LMJe@wI!h-k~gu*FItMBvcc(X4*cZDN*}`z7VAVW|u< z`9(J&M9}cs(Y5{!1_1Y;XL)&|VX=)=@isH|kdX~fJ5Z$2^3txygG-$HC`Uezg@OuW_v^i2H86=ipF>_**S%m}57 zirw?8JiZ0gUQHX1za`)9cLRM#|b zh^BavjMk?9JP#sQU;eu4d55vaZ`*~ph4VqS0LX2o*^S#_^3v=Kh>(On_x6`BiBDN~H!ycc1_f>%iU<0A~l*Bm5ry0a;Jg8_hj+n?(w=z;d{3yRD*kugA1n2f92E!UlmwwSbS9EpI^WCs7ukogZ$98`4E z1&56OJ~Tv|WLujQ(-SyH=}NfP5Qhd*3`H zZ^dcdC7Nz9&@7yKcP*Ai8MyKR1_Gd%Ps(uS`vF!G9S}ovuyWd}KFxlJOH8}<(K!WL zfE)nOy(+T~bAIj&xJ7k#!t^mOI0Q{Lpsz9mkZE&+#+-dFy0_g(n@l0{B zS@ZN|i~M%>Z!$k&qgEQtQsm@F96>$&XRnf8mc`2{9c}IGIl*5p91hQ>iUX$2_9M#$ z-4)3evq8>BR|D=R*+wAD(}*=;$lwBSkSZDD-&QZ9b%O!u>HlGQn0Br0J6m1%Z1&Jo z`NK6G)5UT{=_to|F6sT`>YpCB2KII1LR5-mDj2<*Ul@d@eqe&RR8n-|F!Mhgak{GZ~YyjytY{|W#)XgAR6Q~#L@{HDlITNB{cpiar*xl;*jjX)Mkc$@ zwjPlZ?=@1d3jE?ktHowCqNX7KiY|slqPqc5RT1O%w(KgUX{3uF zmuFPj+lzuALnGtWu3ojk<3?&(Hk=ToZDIGVwwmF!ZTIaKw2cnxRr30hE2$12r_X17 z5t%~6eMr>KP0ff0)1U+NjbCTIH=`_@Kyy6-|^%Gk!VPT z6R(Fqp+O3ns9bc`@z`q%Io6ulbAvG+;?6nBO3~^wZ2y?30*F#pk5smffTXiCE=`85 z^$a5;-uoz1=#;oL_Qb3Xk$$lRaoEI2RRlp;U&)cvGc5al){Bk`@5vcU+bpl}%HTlk zOl!g14z-cQfJDvjbvTH%6j5@0za34|Mm?+j2F~2V%=B5yW%d5R1K*A&3vJDG)j;2o zbk*>;HA;9WLMU)SW)n3^RyeU)956HefDClcrQ}OK5yMC^nF~1Yu-$+kq-d_Eo+e)znI=M` zT3`72RKsR5XJ3hl*QS22LEC4=`B2lMNWf>gK$IQj5aiF`tshn4^JN(f?@~%hlGBb+ zx;)l@x=v%YslX~k%KvP=nNca3R?x}WT~B*JMeH7mUdfGXJEPQJd~;$$I!<(R*1$ST zn`+}}*@qUhwQQa+8nbt-u)dYt5XrI-2*KO9ii{A`FfACgr;yoLmDPBRwvZ{xG^CXA zg_+f3g10o<)ZEN(-&TgaEem1IQ>W@8RAKpMZe}I*0!fGdZ?2Qg`_G}BRXCv1?FEu1 zIS!^mEBP}+Te9cZC}&P|hN%imhK2JmNeB}ia1F-K%DGG{*$~DMJr=(oV?w8@CR>v& z{4`r3Ynir?bD6FKI3Nu*Mk;~nRGnj-6f}qxYNb_bvgu#2m?NcC%s9=^396F{d<0y} z#L|oL1=3))cZ<4mMwVLLFlYwSxD*h0i?kk!FOY&3(FlYw2DU*Pq;0bV6058NGm7Xe zUXUs3fU!d>%u6-GUclN0b%_&SXKKJ&1~s6)_@y~8z*Z5RdFVtb%P^jl4mXd4bcSlY z&g)EIGip{i=R_g23N7Al%wlR86lOb&7xIiwh=?r1Q`O`3@zK=VkF;1ag_fE+#OawFs31$t1WnQ7pqDUKi~N?ey}1I#QvU z@m++hE556yta;YiB(b3|L8uU?-ey5=mKm}`+IlGQOd4$R>er+PEpHj#mx-U!Z)zDo zF(7U8O!p<6x2%_mu^Zn8-{+?rD^hhPCDwdHAmOAy{8+80i>m8&O*a19ScQIs94+rq zNS&OqS~ruqIzy4Gw%W(VK{k!}SgPqLKaI2uvI@n34n@5*sAK8hsxtC`VLyl2if1(8~3d9r8VG6lXXYh2aUb|WhG*Y z_1)H+*j>&(=y%HJJ}dWM-o%<=${*Rf6bI&df=n&lyM0=}#w?if$<}^f;U-}!IG0^E z=gVH%b~oTM4`v2^L{?lqp&Ol^RY*!?0uI^o`UlFCm}{%!laG1vWyNaQvd$k@RC&CM zP-}P8VT~FwbE#6pVs)b*l1r)WdH;zk!HgSgASskJNzk?fp9=XFR#43Xm6L+?^e}VL zY5`+|a{#=mcYyaG;+=|JtdXnDe!wa%L9Y`eUJtqYQdhLA_Jcy~YpHU*7y@Ipzq^c# zL(0af5R8oYwfuLdAJ@uIvFARN{#mOV>s)H7Usf2~BklAy?q@x1#T&`&u6iamT-Wx@ zPA0~9Xj{glee@tzAxxDxkRT3O)m2A=|GbDrE9@Ipn^qjM79Y=;gqo8$G{iCtHy-*! zr<2l0^GbEf|I7H9Ah{lJMhnb2s^)&FUn@!P9;GMO$|pvdhIJ6KeRHqMAR3YHpp&}0 z_aUWQ!5T9eAj3|uFV78ziND})V6%+god7Ol4u?T;n`x)B{>(L>8;t87vEm^^{$Z^- zIzSRTu@l;G6G)Au84 z=V7LNwREAsxN8dweX??ruo9R^!n-SrV{(#Hr2F1{N&0GI_zG$9v+LK~8-7wPt{7Nf zE*CP2pKYuz#Ee`qR`!rUtq$5}Q(2IqEs=v#3v)L2sH`mbru|p{m*jxydM%h6ONJ?u zD`C1KPclmzpd>nt*J>eee`d%@o9n<|$}_~hg+Wn6d9=|i0MXgVO(YS#jm6`uC=5aB zOIE4c>zLe76>s!muknx9DH0LFrK!IHD4!7oAt6>4RXitQZB#0ryW zf+EXgOkzY6k~1{hHp`4O)CegBoqUVb?^4iyiv+k!wGGw^yTw>xtwtuSpDn8Z5-I#c zKCQ4|JZ?!IU4SwQi3`*-RTvc%@hy9e3rYS*T9R;%3iV9x5Muckw`A2vb4zJ$MPPKA zl>#e%X+j$`yO1%cjmO-H88!;%sQI#Jfs_cbOMH)%27^?|04V}$#x!7IoRxy$Tcicx z6$<=N1=bIP!l(Z|sK_SETIMpNXDGWZudyltm_Xc_*p@|}G5ED0Zd^-yMK(){1ieaP zOAFFi?L0*79GbC+Q~__$$4C{iv8W8`Q-9H?J;06EOMbcKc^HElT<2nZo$w?&J*+Zw zNJGoDw&!eM8P{Gl9WJCXZw%8O=%@G?ZFN8bg(tN4SrtV`T$x{vo`nioB|#ICb=a2m zd&gznVqHxJY+SjkbTm!*dOM|DaDTdfb)}oM;-_jjk!?cly}E=*3Cj!Bt`NQuz#0km8FUUKhMiYGO1>LnTsHbX}g{?Gyc{KLbKa?{U;(Jkit3 zxjRm`EcJIoYn1$xJGQOd%gFILRnl%?dQ>~88mr6VWGKHlb`dgWfg!S;khXx$NndQjL9N4qaGzAsj}&O zOZZP)Rh_L2HkF@6#zVTS1I`?^xbZ5sldTD#IElk#ZO=aU81+aSNtK&Zb90*0b6T;+ za0>PaR#wLMFjU#L3I_c$f2qsoOxD9swHQ6A_qoTUhDqn_lbQUTXEM}~v@5kK!zhh2 zKDR!lldIgV;-C3G$>B!7#m$g!o2ifwJqI1)d!LHQhV-sMb@B*TxWr@D_|t>+A6lxs zT@@;d`lOnIEkI%8w{EsYtUFA&ojS`=&54|44La^6;RyE=cg;e@1i23DvAT_T`;wzd z2e!1VtraEZyVohYQ=82C<(1gXDR6KKNenO7xw?a^nyl8=w(UH@D!S51)tB7o=IXUI z!N6ie#%tT_go~ORj2GuZR0#00n8m!sCGR?MQn*;M@2r83Xyt{XU?&X4v#^FBx+tWc zmT`9C0+uxcEXW7^A|zqym8BgPQDTxbceqe#&V0#nZ!E%Q)fY1jSeX?fN*NcYwUFC^ zK>GE|nBHJupG#otIrl#!q;MKvJPb|Lf0O09RGu~d&_G!5oWP%Fr*z{wwoEUW^Z@r~ z)uD_#DX3q~BI3>qh@|+5gD@G-9H-?1Eu_L*>TivK)FGSrw&S?^>J%-Rf$rm^>U-aJ zyPPDV^zZL1Luwr3u#1d;V~)6=y(A}!X^NeE#?|8XY_ytl@|TJ%nBJG}r?Vib%QKmr z4I%k&ovN{6v!r_4Z-w0Xl39A3r88-=>p#Bk=+FpFEQ{Y{(bLkF(<+mSrj^u|1Ll5R z1S;HI02xjI1d7Ma3ML704WrSP>{~{Y;a6Z{m(Yct&(V&^GXPB20ZiKft_0Yx1Na-m z$VBIHJ74R90o=$K#we(e0FYj{g0?Ku49Nvd&$NNrmkJCGp=nTcn=u$T7`vsxC|EDd zjO|x8<_oTb{V$99?HmHJPJCQZu=?nD;BU{OG*~zEJ(5fT;IXgH;D@SY3fnYhyfxWR zvjh^RE1W|B?E^GBLmOZ;frR~|r@#X)Xnl0z*;^+*XSR=ILSZ$iF{D)Z*Jl|;IN$0M zvKxZHd@=(aG6TAdAJR>j;cOqj$87N04wHY9R+2r8>HH&w1BO`OdMzaGfJ01wkJN8cijl!dKP^Y%9Wm?ph=*_qXJ62r-CibvM)$+ke*7V7z(t;P1P(+EiIzw5e>x@2iF3({ixLF(vTd z?TXG)U4yozf92>g?jvg_=#DoxCtCuz$mL0Vc~r8hE}O9$RPb|;4r^(=1&6umG)$MD zL4Abt1w-XQR6-dK;a`eV$>~CCts)ZN#Up&T$ zqH4=}b3enD+KE``6MZ2;~P{=9RvwkXj=JaSP#N_cvZb<&+L7EF*>d&RlgZZUS97Pvu zb1h47prGYJC;umnrk_)->M?;NDlS>eE9%8qi3itxE`;_?UAIM$UYWXnVhmRy^d76vLLDga2YhwVEv<3y-TWo*$y5a!P@uY_~2NV zK#KRkkiRa*_3CIwGr#i^a|H%b~us+rMhu$=|xfBN$xByo}9;j6HK*6T=x5 z2Y&YzXbJ`{;-4nh8j~&}g$kyv=vED@2xT=t%h1P~3iUJ$)(+)tZ>cE`wAl_iSRN(~?osxIOL9pH+P;BA?-xkfC&Bc@?A z=FZl!z{Q>chqD#Uls8SpjOZkaE5Ix|v92NcNcymX*R8m|W4#}&t1LgB=m;=Q%4j{Q z#K6$Wa@^+DgA<;svoQ#!)iG^%$FaXX8SM)sy$f=7;1Ea$Y3yAGr8RMjeyX^5(a2wZ z;kd{Uo#B32WODUD%uhLX+CLq!({(9U33=f;+rQQN8Q`%kFN4l=EWazfWeEA&>z%>0 zg{%CD*u93dsbE4zL8boKOOJ2CO_FDZo!*Zihho9*#m36ylUFrPWl)60&!>ODI}wM^ zPkyGg0*g`TBQ~$61tz7z<-Z;Z4@k_V|9Xc0dVML3wz>^ijf9yAgZ^4-xG%a-ar<>n z`F~`5i**0~0d4D-%ol;3H#k1QyW69ivP<=1)zA1;xl)Q>aW;OWxWakGIg9>Un8}}r z>2wDIp_gSQ?Dv-mp!S^lk6#j}9@fV+w?)BigCbmz*Jw{NM2gY2&)Ijc(Rv|(UOLqx zdJp9BKd8yozo^`8lmcN;ga>k4Yyf=n%S#U(tjqEL<;4rp#QT2YLb=9xvA66%xn^~- zfBNiS#Q-zY`yXpJM8+_LDsnUr*N9+3h&90~ck#9dLu z1Z=O4Vp`+^P&{y^g`x=h+Vpz6aqy6*;moAuIL%m@IDJc^516xhi!n{f0PW(Jmj((1 zNb%0s%K)l*M031)vIJ6NkVUtdDAe5})8T;O|4_t>BKqw8+zMZ8N0)~48zATM+`!fm4XG8*i0gq-f zcY0+^|ING%3`wc^$lK(f`)L*D43Pa!)A3_k5slzV99CGk^1BmZtHXCEHyA&HYwN)o z!A;i>b`!6A5TS#|>B~p!)Zh^>1yssQQDA8@HPT>YEqyob$9TZlvFV-;Xt=xTT(15w z6@kd3D(+2}{4M@>PxTGWM3lZ(>{m;QAoBJ@Dw`G>@lJ6VAchEZ=0;M@ z$y?ZgQImGSdyWC33#3P`P$LP(*U^gDgGP_RZR-$anw2`N)eTXXY4YOXpi`Lx++|Fg z!v#Ow%l6&#RHSFPnAI=tvcf6|C4;cZtqO{F?wv}63zR*EIJukUi#%6|@Yk7>UVlxI z3m69YbCUNT|A7sbG$)mAFqBcAQ%@+mYp*BQTP~^3K5zS1c{?^ex;8!`Y3!O?zfdMO zW`VG+URWTW0REBpSM}d27Yrrd%@gF5&)7GwN)%l%TVSws? zQiEN#%7+7hB0O6Hr_Ze)dG=&!9sBlIjVs{+-U_E~r6$w2h{b!5q~J9UZ|o(!E#3NG zqUe;UfHL4dBwQ)j7csiH$(1@>yZy&pu*=LpidO-}R!5%SvzA2>XlsFJYpYZL_}+(* zKr2?%g2+^EL#l+(#Wb2ev2{gtH>uyO2w68WQ}0k~XxgK=B%K17)Z%GZFA zrt4>jj-mqWxg23oQ1a__ zJK_7@N(FaG-T~9QgQ5N3h##4i{-yl|_wGE;eLl4kDJlCWX2gHx(!#Wv?zTT>kIf*V zg?)U?bab~jD!wp5P>wY|xt*mw;X#qKkx^6$@y|YGx=y<8W`X<^XwT2w(ypoauMgx& zZ1oeI-JWJ3O-8KEN{OXl9kMYDCBWpk8S>-_{)0^x`IjRp^3NZ*5ttPy{#_UtrgcYE zwv_Mgx5|*x2M_)q_TB<0u59}oC6i>5kPrq4ZWG)I?l1|#8Vl|a+-ck;lLWUw(-5?S zHcivGYX}x-BsAWQ1b27MJIvgBXKsD>zWTpc^{T#l^-)xveR}VG&ffd%v(A#=S}VE` zVs6bhkxuzUUc+9+o0;KEsjNDmi{F}Q;!NAPj?fSil)jnX&KK8iRm~UX?I$+N+^!NBX07;c1l3u zdi4NfR1#B$QMB3`{PU8eGTTN=Vpk#<;4zhiQkPt|%p#%A9FvTX4GR=^<7};5{Tw|K zk^Eg5-AvOY{nKIJP*g4%oZ2z;6bM0Bm3bD6v;0BOPU?90n`L=~i{|Bm6{_6=$kLLPi)7=;hXc#U(d@Rx8X&0RT;=Pb_zp>54;-dn2Q z8G%2SH-I`ssbc*(1)(Ee&FL-S%G7ZkLx5Sr!7z)snq3HL4;u0!e;m$YsNmYprAo11 zzx)Xyn9qKKFbgYH=%k^MAM1QkGK^+Uc1wCDwSMi+ue}tUb*;hbFou*Q8_(6v&9EDY zvGhzK{rS|ZhTZgSwf<1SisqS1asoKI_U;^y-B!`jGn}-J9hz%o4LK=AGY_LH=ohc% z`mJ0=k>u$#~)0>C7v>wdsm}tP_YK%vs+;0 z9%U~KNx3si(*K%_leWrUTfhEW#<2^X7poePds2G(MIOf3ulY-TImJ2-zgoq_(2LZe zYNe-(EGd@~&TX+35DaswihqU2@IL@JFYX9)+JCPBJ8e2~b6Fc|X(C^!E@yIkuo-Ow z(etHaCuy!m0T<4_`3;NJ*NtZ8Y}UD&4b={#V5E|81xha*7WI7XjhIA#&6*Q!I!=gf zv_l6WBp-^eRIh{NT#8!#ezd;gts?&UKmyrB(dWWbgT_tp4B-UL(W1{yGeN48Af7Ed ztg6YzR{q+X+kM9`JG=|Fv^!<(ffx@llB0$sfB`nM5K=8d-=Llwmg3Li9zegP;yr;g zl5fFv>a=fBy^3Y7r~oCg5AT?) zm)63gWMafF!qxl`Xu5HNB+$ay!J3k?w#SR8hoI}mN>J&TxK8t7D&4S%l`+uLdFW4- zGhH}D6u0uwC3yPs?TtuA8C1k`p zngXguLPL+bKUP>}GvyGmaeS@dh|aUoC5~nwva&G*aeV;93>F=LzyMT-g!?5xev)oz zOyTbgYj>jaEC6d2Iq(Zm0I1Fy@ePS8Lj3UyV6AfE_^ zLu8V|PR=vSq<^Z7rSFvuxKf*-zh%?~3)+Jfx19-`DS|@~xZB@3eTOddL|R9-e%~c+ zvZMb$RsUx-{@dO_NJh6eCzo-Lc;*&c2Ve7?XsV~ei+E{aN?e8+aIKm|9SJ>^RrS@1 zHJsK%9a>#&Bgn^Cx1=SqQt~H>)#I8A9{Vf%A7*~wY1Q2Oth<-{*S7s8^J>s~041i? zvGvHrAIymsQZhiWv(B_hgE98b8FWwQIhzQ$ocEqpD}eIZFi9w@mGo9a15+yO^u6WQ zrKio;a3{hys0D?;T|TFK-2_&d{mye4&aNFtmqmLh^lc{mo;T(zHb-%8W64&0v6lYQi zX*Fb!ODW{%4fr?ItGQ{$d`Rkv2t%Y7 zHJsp1pipxGKmsI&G8+U7*k`>gmOW^0u5#o-aKydkD3dIo>;?NF#G8p;{=#hDve5=T zz)8F6*}R1Gjt+-Dd@;CVP(CND3UG}BsP#zf$;bMwl(lccCh+SI0mEFX_~2V*BOLNP zm$63E@GD!TuI`Y$n$x*GXdx=S@ywhBx~kjU@}wL=B3K#IVRSSh^Yq&fJf+xO1XXH{ z%g!_>@)c@9j_@#LmI}&9Ug;BHw$AB`8PIq@1Rj5LnF43z_#M?iTKvt~Hj0YQnag zl7&UARqyt`6X3xm8(_)ooLS~{ZUZyg*7__T_k z7C0bic7w$q(6wH+7&SfXYyl}yt1*?DSXYx>yU zr{Ioz3$1^)-MMLdt<|`)ZnJ$2HtI?a-?)^g3S&*&iV`f^*V3`y|Df3;^aXTDwML7Q zt+{Ya$j6C^@fa}-CZ3?vV@px-UuAlI0r^ckKN!s)HA_Be79LNk_=QVx{Tjj11flPOO_Yz581=MbUD5I zwc=wjm(5psd9DIZ5=)-v9}HA(48Wams5>~sSg(WTVB>Oh@=}Dr*fn=evMNo zOdoetXMOe6WuNyG2k)o!ew1XUEJP%krlP&&_ZEWKyFcj&Y?G)$l52jOz9ym ztVGeUY9yHJJx?7q-Rjn+gDoVIkt>+FeaUbw%Ldw^MCoNVESyJ9H|U|^zY zk-a%x7q^Rv@QEx(dy0quIshq%@Ei*0m{{JwM-sG(b3eYQC4fboiP2Ruh#H;Usb%yH zit7kWic9mmuCtYtQE9?jL)fAjF+8bOeRd5@)ej2{p2!WQ>Ogo>i;KiYUcntbdXTB^ z+J~+ur7KeU-n348)4v>8<2=hUE4dKKD(%Uox#3MAqV9-?B5Xo{Gxa#ROF~NSQ4Wh; zckPC?%Q;DkNHiQN?a?wz|5+6|8znR&34c*1%T0 zq}~2Dk+dhSUK_GfqO4?_rA!&H7wYj(f z!y?PmyHM~r{XynYIc zE^$^LSPxu4OV1v8I0OR=Aa?4Yy@U^StasPmMA7ks->!eZ`ZAoWR?3R?n<|(xVHaF% z*eQVVWe#}`tk#?)2eqy*kK9aIvU2MOo}Mrqn2ZNZlGaWw!`Nb4A(=-&Q}xh9f^6%N zDr9lA)ONPJ`O-OH)}=jIO3%{^?DrqXu=Bt~PutyR%Lb!_^qdWC=-J{@VEg_l9i6qV zR8ZzF{(Fb2WJ2_4{%m)P^0=9qoQ>7b zdWR{$RJL;Hh~V@{L_tsXujTsNSi}ZV?@{vX1MCI+Cl#8NtKR;6M)yo(1hn5)czY-M znaNfT}+x? ziv~$RNmC3(QY=MsC5;l3E!koVG)@^glDOdi_*nWWzB~4Ab5LqmEH5!8Uy(Q0_qN|N z)k2Uy6n7c!8_^ErK7H6qhy1UPwg3KiWN((&onh7dRFjgVQtyb|ccq4uYi)wl&_xJj zU3FvY|Nf!;(L9@g*V>P1@tio&?2Sg-IPxyrbHP(qri`WsjjeXzF3JD8Cp}ibZ;ZXo z6lH$`p#*WIC; z-#gFBqn3lV@7ht~Y!pJwWrw1~-3xP)7_csy8kNS_gDiOY;14{Hi+eYWo&LuxIb8e_ z418W+E%OJR|JNJ0@*44?hT|7RI%D&Gqx8>u>I8ZjcJP7vP#DfH!Rc3Mjo&UEfL z4b5#cM}zRByH_!A*P^Tpk-U$Pf2Dl2y58y_L%Z6qKfI+844&}UQV)(#*94%(JC2vPUr#Hf8ArWOKU6ZfP8zITv&-Nc9*Jj%cO808t=k`kv)(@# zTbzliCRdvoZT-4Gv7YJ^s;99yvLRn#LIlw?%gzdeEOKW3T0f~CVY<7c#PN5!dEg5&KHN+n4{ zffChrzAA##MFBR7_M%4ud6m(5PTy@7BBG=EHa8nQ1&6;uH86f771aZ-y&^Bayd3_f z3kAGul}ttKJ!l-D^WQNZVAMy}xFm>XDGN-f-@qa#E1GXm0p!ZxJMLwSw6;e|(JPf! z(FgsMQ9J2T-CbH(!rTnCwm&2{xn!?g7P9FYJm&?bZY4b77u1fqP`B;X7@tEem_sQ-@LQ}f^xfl8Bem-brw>s8lC*Ubt1Z;4z~OlQ!u4> zD{1wNGWKGSXjk(rJmKSPGavn3-j8SL?yKk21AJdt=8B@?&#Hq*uiAxZ1kLf%;?4|HB_ zn0=q^6JGi@9k2VgAezGts3bqB{zv7O+4o7|r6C{7(VS0_ujKb9PfMGTm(*M}!JIn| zvp@H3q4P>M{j1!0EZnKlx1uhvwN2K^w@FT_!M;7U(us}0a9(j`k9d;ZCOT;b`}X#} z&t|1;>r#$#=o>I9Um=iFXSXj3l7sT(I{#Mj`(S{PVN`--WZfq;J&5oB%W{b^0iYK zx|$m%rYCSa;jtVxc`);rbw-n~$OKfua(iJ^LqUtV`@6Htb z!uq_InCC`0Z)2E!^OGD!s>82}4Z!dyQ}y37nJ@r=p~&PMKt~VQ2mdUnXn4kXaBEPc zXgr`K7VE24{G&NVDqvd#nt1@no*M;zU(uhY#hAXxKa~9d$|$D=P1vQdJh{M#B=s_CZ#iXVC=|ODmnZ9>Cd#d}H-$M`VN&mK;6Pkz|LIg@CSb~$Lc`+5F z#iCM#TQKF_Kih(sg++?SwfB7e6CB)PMcJ9oDke*@)`OsAVJMq+3_|mLa=#r#gtYzx$Aq?Nu(QT67F`Pb6)fluV}}vd12I_46C1Ie|dGyoDWa z0Sp`)HQ}Hp8p_V0Lz8IefO8HA%M_1%)m6NHPz}8t543+PpXrxpu2w_UEF=#VbJt4R z-6lh@Q`0_=Vec0B#r%ycuk{(RUVSNHkobYog%!`D= zGc#8>stsLt>evckW-=t{5%%MS!>Ts^r4M4Ly75!f9rzHnWt+7tq17R~EuecaRBWcG z`GVZgj(s-}`kbA0&SB-#U)AwE`d!9jZjsA4sP?YlfwJJ4JxHn9G};X7vcTEdB*p{tti!Yn1pe|7j>q0SF*O#0iA{^wg$sK+E4s-Fl$~;_V#33^=x*2{g^poRE$E0i zy1mG+)QfBmjI|p_avZ^R?b(&4algk5h#QL@Dz=A{t3R6i{nb*D7Q`!CLMt&d3G4%Z zUqZ)uHzL#ly4H)IXR5C*?3uZZncK?vZo0j_lD2u)P|e{E`lc_=;SoQ{uAMX!cTx$d zttpXnDvx1hpIaSYVi+k@=XW$c%bP~Q72YiUJ{`~>*W#~j3#xW`A;hT5yGhcQSKVkY z3~esGRoYW5L?fH&ptZ!9h)<&Fz5{7oog1*bMdh_DPmr0oNP=|z=b*)#? z-Z469-mA*8FDbVd&I=|yKb_s5TP-?->ah1TBIHb%ZB8A*7%Md>m)c{^Mf<^|rUg)e z9dkjG35+h-GV#%g&vH5~&uCH^K8#%sB$VG(tQoZFD}g(V(a{IRvG5@%Wy@UI0kyD0mT<=6d}2$*Tw7{xl-KS=lukX{ zNs(L6{oy8vp&j(F{?h}|m;HGQB*Gi7VpyZTScp0B!71951u^#djz;k!bU)`Sl_=av zg3f0i&CLqDA{N}}XS^p%uSuM*@xslgV+0CW#`H}rA^OMja>Ehq?wZEMQx;nfrL+t; z2F}$)S-nW*2cE21II^1~+xGb!AyKjH!o`&yH9H;s4Xs<^|6tTbf%KdqSg#*=PrE|G ziU1;09VfW(hJfv#FpVJUG95YffIT%ebX7s?vX-=aKvw%QZ(#lfD$tT!tc(7aO|J+5igX<+DGNY0 zw9U0jlJXPHrqZQqR@Hn#qEiH3$-a_0Al;RPCO>ZYWxgmv{cxnVD!8_$J75xs7kMGWIw`Pyp<>oT)-71>TYa~4Mg0d} z7D;r|D9*>mC#S;Y0j=Q?VyvtFRayo!t##kw^*s^$YA#~kCWw;s`x4j=!?97s zmxbO|naV+|gZls@s$RlPypA^AfafH^v$?Kk_BdC~|BOh)Q34Zu^#d;{E{y-k`!0F^ zi>BU%PNmt8?iL#BlFAOQfu*JZF+&B-{mrEA-w zXc8;!r&)YbB>if&)yw3`-b?pXk18GZzN=kLKuxOC#YMFXekW!@?D{^hf7lXcbiR`SQ= z*X3GQbi0tWp4#>2p56^1=kb}!u_!{c;+r<@Hp+; z$gB{_v$Qn7m&WL|%nywObG2HYZs|73jGg2?2fMh4-`W6DJ*_m= zIfZbwyzm}8pG_Tvv-X;uHO)jLLl2t|rS9Vq!u&jNw5>}aUpGaPP0d)GcB=g(Y?nlr z4;PrxS;z>#PvLs%gqeouQy+*El~+--JP#Q5q8QdrLKvAFD8xy!mc+q+vrL}(dk zpVncAzsmkzx0X|KzcCgi@)HeZ&3x32?}tt&)XipCjtcM~sf>P_D-o&mvYcJz5waed z6EgzRjOFJ~A+tfHSptr2JevG~VW&gC|AW;!cT$^WWGi2=rq8>HONE}VhYsnhqUk3} zsO}lop~`Z4W=2E5;JVZDjNnwiMSv~kN?5BY{DYyUOm%qrfJnpVu$B5U)iY}JK>MaJ zTcLgx7|bJ8B(u8M9{s7P7~Ri{iIbAwQ2LVYkanPHe5H6u_&ZXI;OCaEB>$A#hZUDN zquWaE2}*{1#*g3EweKxleC-a0C-PhxBpREa?p-ZL!xwTG=9f(tF)9H2{564{lT1Mj zn$58O6oBHPfjU4g=zJ@e2v{!w_W4Fe__gC}g4J6&%%i@7#0#cCw#)pcNNF_noG0wO zYs~+e+2bfwXtw)Hu=etJpw1TQ#r|IN*IeH=z_ zv85tUUgLTpLaj%zR+cR$I}Q5m(ZBig7*;}@IBXD0(Zt2Hz3`&yQ~KJ_5w9!8zF=6_ zG0N)J#D7#}xqYUM|4+K;6`KFY9r_grOq<0=*@lpsnH0+iw&&G%158z2_113Z5-j1$ zqGE){hGX>jJ4cj{A%E%RGF+qBb+L#%@3G z`UC^r7Jj2c3m=~^#9y1|E`&L69d*-Rwkveg3I1D$&?OW|)2RI}yIZh68xS>UK+^U0 zoSjUxQ#fOv#|I$NxT2=J2V*ocI>vlAe^fVR;yN6wjaV(6{)G` z@Wtxl)f zawBlm@+e9;g) zHxZ&|M^~Wqw$Kke{?sKAg{?}9Ya`hu27kH^AwTXF)G!xU;>ov=Mc*K1@<}gg!jN3f z&b3*+ReUc}Lt1Xq@edik6Qh$}9`bI&YwAq!{$MKDAb;=y8!{p|WHbN0uW_IQjtimV zfX*>2ojjKx>X7#(2#;&m(pkdSY9A0oebKaUiDf2qJ(5b<4XolEd9OFghFI&HKf1cV z*T_l`n>CRCHjX2invf~IXvLW}vno)~bnYTVVZ94(+hrDU7)Co&)!tZH4j^YW@=ZyQ zAQuB|hI#va#*u>OM60!;s;6|gvZ+y? z9%?G*t5J1G>b&L<9jv@sK_RH-<+zZe<2YGs-+*yymgc#Fb$5D@WAB(+tjvTjZszeN zSHR<5?m>SBT#b{E$hnmtGc8wxdO~TtSb!kwb;dIjR?gizSFNZ%h>62|3BA;vlHmsM zv~cd-oZ2_tZ8NiKGb*K5l*^mLpfn)NWL3f$YUA^jP;H{w>X51Np2os3E|NZNDIy)- z-O?(YMsEqSb(US4i!q+n{Ry-&pudSwELU^yRg6+HAdM#y@o@yg7k9=fiaq*@{B@KY z_0jlE^zBh^9>)gLRbriu-MviiN-+z&!ChqfmMX#qTBr!wH0o4 zv6+!=&XIa;Bgu4m2u#8J(miOke0W45&B$>U9>x267W(;v~JhVP=mkQ`+k;gBK&X?G7WALp8bs3d)Iiq5j0nG{c}pp z?f-qdbjy4-$y^*yoJJ`30QtFjot@jmAL5kvYEo*#`vU$ox3<5n#jT_7f#H8mj&}CM zXosM7SFq_dz3e`sTrzZ@_3ODwHVnGB!?|*3P?~l*-bx^9=RNq}7N;AsA6kAP3$WP+ zTP>^k?1vYcx{K1dCt5JUx>ambdT^ zcP9$fnH)RWi>sOMd8Qj%oB^C$>sG}zOyB>4@L=z{RX(uLTE5lED*<@-3S`<2QMjq({zB{M9Zx z`i&hj-hfBW=sw`F`&iD1Ei6hj*$K(PF|U!!X-(=ZyL{hTK!K2&ii&539@e0C@Sj(^}>OQ9FI1S#Ki(;^}@NGD+w36eVMj8 zSYpDepMLJ3_j43^UBK5A>Hdz(q}Vmn)6+_Xk@X^mCqdhUZp{W@kzVj)!U8rN$sh5L zplygc1qNv)eXM)#FYT}}l#t((&wsE4njP8o!o<8PPFcvj&%mCUXg6MpeJD|(|gAYW6~kEP(*D_qS^%P%u5dm3cGQ89r3y+AWAKj@N>%3UKB6dyBt}L7ArT9473G%clk^{L_4>vUDSV|ql zbXdypHu}mFC8;dY%T$g48eMw!5p~YdbM*oB+yM2;gZRdsA9zHYKuFHuJ_MO!#5!b+ zpRo`nm zl;s8r!+FC)-f*0MC|s=~`o1Q3zSr=4mjP&W6F68DJNU#na!mQG7f6^iENE7kpFTbl z*f-rf+XRO%Q5&6b!b)<2<^B`9sIH{C68)r{(-TM$mi%)jFUxT#&tw)$-jiv3)$03g z5_!|<;7AE_zjfz6Ct;ft-TcVU^I%mAM|r+1Dph+S36@0f27mq0&37o(--VW$E1n$# z-W`(7_(E=^*$RYeUJm_*Uw(;B$~z}EHaLIm!6#*X5SU}06?U5_3M-ZWJDf|$N94YI zRDagg`qZ?o7JdDN&#m`}$PTA7cfo1|hu2dr$fY&eR8S?noLS3iTX?GLn`V9-G7|pA zV@}-FzE{c9bj+5-OE{U)8vOG^l2C}|k|kw#nw!f2w?{!Vkw?vgwAg+iQ2w5gyjSi! z02mR=u9wya%_j9e3dxNehu0gmYdu7_+i1I?VJyDxss4Tv%UAabC$yiIH$DYRNfO7H zhkco!W*QxFDuFh{KdjiBNHg+z7#r)5S%vI^vn?Ko1iAFYuYZg<_<;xE9rhS1Z=|Mc znZP}9JwyyAS&B9kd6}y>^+66)O^&$L^(OI4_P&dR6Gemx7f|1&x(p+x2(;3CubTiO zf-dB&C@zCZDa#8rNOWRwGr?WcFRMw*eowq|s(B6`y0lWsQMfb+k@Qn(mdrc|em6c4E8d*u zHp=;2P1NZWO5WD{#Df=;a1bN^ty2#x&^=PBvB0ba_41IMEDe}SkbG*JQ87L#IwdVa z@E#@0!$?Bqk^g9DC+Tvawxap0KhT@3<{qWlgQ#%Uh-?wHJeMp3R-2M4sj(BC%;2v^ z_|3yNb%?E#KK6T%uHiU3*zs~ z@`c-MW~G&QAQe2kuN)?#UQO=zKbISUAntdGL?!N|S9;q|N~EXH9#=QWB#fLHP}4&9 zpc`N=*CUo`doG} z*0c5zt~23&oKJJdH8Wl$EG4myHd~F<^~jt?u;7ecOmH@c0=uCqerK04nvTTXO{bQl zfZ4ok&<;)hSPe|A#3R>M0}Fvl;1m$cWfVckN5bP_5Bam@Gs}yF7@dHy-0PJ_p#v@S z1GSW!D4E0r>dfQj=GG7GOBSqIW`q-Q8hck$1kj4TMx!TXI1vIZBExa?-8RqKHl7-n zE$4BZ1m{DX=+u+ku$G(Ty}Cp}1Z_aJNR)1I4cO9{;fu(FEfo{fi40HoP{E|vvvN4^ zXU9UFYSg2lZJ>j;1zfuYTdRPml2Fn5ykUKza$&t|nFKFoe0C)2T{g$a?wObh%ETsF zf6~pz-`)ceH8tHD+NRy9J2|{)&o#K_?e8sVi0N|vhd`kg} z03{(+Z8WMFk^WWo)E_VAytDYT=rrLJBN=3RF2`H?!%V83#ht1W0XxTQwO1cH0`uaW zxum4!0or4&#_udAPnljz-f8DqJG(UuzIYmOrbP82Us9f)fa6KMkCNy>T4S(%%R?i_ z^G7Q}zjSG-8dlLb7J0(BQ(4LHc3qh;DH9qB(TZsn7V+@8`Iruk`fGpng@hFN!(bJ@Q3IKxf8=!E?bQ9UMSjxKRB8c&ggtozI@G zz4?#FLY=;qKGp^C_REV2?mBvCCS{Zn3b>3eI3B@6Cc^#r!4SJS%diYYR~!TXyDGTW z`xKBa=6KDfv3*>7R6!oja-`Y2c~$8{0)&|*8Nr$Q=Jq<2$r(`i_6S~#0ZoaCGh;7q*Ztj+KeKg&$%ds81o$?;jR#|6)EzKW2)pBPBU64tl;&Y+2wx%?w& z0u)6$$5sPT?L@APf#(tKzK_%#M5Ek2Vp{qIr|LEwIeoo^gfp0sFLI+_Wr~XSVnIWC zW$l{outB#tE&gHtxfKd+mp~e(I*+=lR%Llc9y+2-d3YOu#}totJk0a<^r~gt8h#z{ zH2h34L$5o2hCQORNZ2A~gA8&yW!VAx<04#|= ztB7YXPMCM8N?Ma;W}(s9q4YfEVo0*NhF6yDM9L(}(d@xV%TdK1zK~XQlWkij)hKs_ zo{zfhS0_p3WMaA~Lf-mIE+0PMUeDE{QCkYFs3y3GRf+)+c~wizl0AH9L6biMjSQb8 z$1j)Q6LUz)zxO@y`rhD)T=lygq_s2r5y}JzqI)VGUE}5(ge)uP{{nw# zTjL=gvF(C;nD_!&GZ*$0X(E0Fk(78mWnE`a2_hGdu_b~GA<>aAR6*SFl2vYVI%hPP z=uY*Tx8xSPsNAFgvSAcTur%p~lvYdP(_Ruo%RR{}nT%A)eYf5W{q?eJ&YHg25)RlP z;-7}OBji9nv76KJl@{dz;Z;itBsF}e4%NA&s-k0AQ9EhUWRBv~k%g@I(6ttu(#Vjq zUEA#B0xiDBX;L|SU-%H;&$M-Y8(o)K_#8l68~vCdOTy|4VoeN5w6dzbh4qC-Rc&;+ zGxIUWll72u9oSZ6uP1BD=4@0vm-Qfa9{|tEH_3bE6_=9d|G*p9I2+Q53GAm*#@3(A z^rRm(QVet(DOfmB>8$kzX4t=4ZpVqgH5x`s|!R84>3-M@lotq%DXSL z_oE^*igcQi^yZNaVTRw($=l+G5+CE`CF=yBv%kE3u3_|$7(e3v?ceb5k7%O<4@49u zZ{+Qxi+_Cw;-CIa;5Pf4POn1r(@%fBEdO4*buLnVxbMwBomFQc)1fURMxT8`i7QXu zxMpF!l#}ho&0k2H4Q~*tTcwS~53=UyOf045WmxTRK&f)h_dh3Yq~HU0a~8wF9I{8Roe{`7Qi)&aSMf_0$* z1-5flXIl>sK@B}!wh<3-25S2>#k{_1BTr+V@{N9ZjDP@FDG@_lRRbuGKRH`8t{5g} zj0s#^dO1=1KohluaXs0-);I~fhFeI36#TmhL&&e>XLv1dH1_@;=L_=#Zs*qRatRN} z6mpCr45-t^(~uFNVrE<`6pdb$8q|&4g$r!;f{6$+-15lLxyX}N!^Ikaw&T=nbP_-m2gwWJJ@GBUq*W}HD1NA%jcmuXLx#)<0b4?7u*~jv^z99 z$NLR4mUoZV)z-SU7M%|~Lx?~q_Jy($xGqt?-a{%9NMe;yT*_)?<#GJC&f)K>M(J45 zEFg(IOTI2m9*Lv=`p!9JRx*)x(x{xRQC{2gmCjSNZ z`kVwa_$SR1#auSs4z?GlCrfV@hcgvBZEAnUDe=z|4kRYfgow8%guywYY79XIhAwK` zle%d~=}&}p`J2T(@|A?N`s7BUl2Sm?KD8#rw%K9H_!K3k1=O1#{p2OH7&4U`Q4(YQ zmjuj_Seyi@I?;124LJEd4fZaLC{^o)PB#!XGLiA%LXfN%8PWE-$lP8*ND(anm7~G* zVUz_%u~^0@!q!Soy>;E<8jI^}qM+g@brP%7JMf1Ns{ZA^&dEu`u9|>AB6Z<^NUh)f zNRAsxrDHc+b7qzKvQnXSOvHcBkU@2PMgM8Gl25`eB{ApCfssRD?g)Ogw3o6a*sKx^ z$gvN|qeN92Iso$plz1=lPnV3BU5|RGoL0nSH2`b{TMv~A@DH46cO>}c3ffbWl3BQm z%Kjw(GNuT^g%BW1&yEDZN2J20f~k}lbCHY;^7=zI`a?mt20X$V{=q|7A%$acpsm>^#2vqI;#h zg+9p{JXI3>6`^63sQmE~+!P!@J$EKQcGbJGc6FDC%5Pk+cWYQ6$q4oqYb4<4Bq@x> zjTQmf#<$Bpu4*k2zw_~2Aw}waAHOZ#Us_gc(TJr`&E+nwLUbNiJq?F)XfKae_6+pn zQklCm_C8-!>^9SFZDj~iQOnwF6^>>NV9B7Mq|Fsjp2>m+YjPze-<|aCZ45N60dv{)NNsRhNiUfrZmNTe({GHhY6+dcD&QA~oW)93i?M0H z&nFckOOL6OF7S^E2zjkph{Q}AnpBdfarj~rbMjAPO-hQtFys&l&sr6~$ZnnhP3ViO z#gP!OJ#VZNx`P2DUkJ}ao13dRwtQ+hoX$U{^y;;tABZQ$TyHR?_zws23@shk40UWd z=bF*R!Pp~ETo~_)UFN>TZ^QJkDgVrUY@>+XYhhAaXx6i~xfPK1a+cl6R>5>J&alxQ z@h(I-j@)5~Rz>%xQqJc?xp%or#Je)IhVo7e{Jz~Q-^z@w^$D>y_YNCLMt5$mg5pEM zp@v=-i;HRKqU45Y2dg-l*RN}pU7U)4W~eq+4VKsF&?#6z*9~m*MYU)r*FqXwt9(DP z#wN6_*9K5m@==$^O{D8l?LPL6uqd3TW!H`!F*Y`gYoaHi>*)IK?L9c-#8mDOR2i=A zI;_1|uUo|WWqLd6eB$6&b?VC#qV|LHX5n^hx(rd-`leJpN0sYTsgrrRc6R1BgrnfX zAX$Tuh_DN*`F69?)}zNm$z#|k;y6lKLJsZK9;7WK3zc`ML?`%QUW%>_tM4Sd17@Kn zHR55U1SQ#ZbNXQm(?>bE#Z^@YyIxIR3|EwY?9Irc3u7QbNQfk}uWwe1elHgihLDpy z?xb*<@}2|~0}Iw+?Pw?xlxJUWo4G@Q#hSrCF1)b;kV&cawcw!ZX#lleK@p#n&>>~B z@8pkD_pK?Axf?a9^<}<@y6VacsvU&_JME4$CkA``>O-q{O#JmTG9Qh>u1q7TW9~e z?7hFbKK`#aa8@7!Wm0lzTNMq6(JV&I@ z82s`&>;B6fivH`6Lf5pstmZROO*cF$)-V-qve0KmMt zuaNBzJi9wC3b=yL$FhX`38LY})6MZlHb6S??gcj^4hmx)4yb=c9Hza$u**ShCT-+-A z-nKNwCuXoEFk6Dxe2~zzhLc=FT9<8$V^Xuqh&KCD)T^3E zZUTFwq|9lE;gd<83bSfpcX1oeG9wJdiGcEhl8XxLaNhF?X5cIY_8Wi zkL%J$afM|S4rjZ=;Wd@a7er_{S6Q~m3BTjijjC_PV(+6{oQpgUB_DLbg(Re^(~+fQ z)5Y0t5vw1H+1bw3-in#w4=Z=HiGzgm)4SdLrj;uKaN&c(H$;V5Ck z7`3FtbDTM=Y;!!+E*}7DUhm2yM}=Ybh6uy&fDiTq<1PPU;gy`C7zPb+6CF!vP=9Qp#P1N zf2nckWC5g(&FTg3`!hS*{>$#su*;n%+U9m!G$1|oVe2siid#MV^0nFUZJ7)|Mx$@T zC-ei)$L_KAP|bwF>aN`uW5KfOQz4?XuiXO^P(a+f_!T!OhP zPr2oQK2fNdK*sHIWzDqvh}o!IcU?`1WiE2=OjWiA*P4)Wc-|}pIU71#+%kEXlWfs< zxv`~r@^YF~!;+H$Gybwb=U1-$Ar>Kon90|w9yj+WVwbUzMmX~cQ=K7Cn3Zn72fyB% zCpA_)+}6tml&C&s_Sbr%9_tU4^$n7ih$M4pK!($n{}*@f8P;UBzl}1Zjtx;ks(^ba zp@Z})jwr!Uf`nd`K!S7#y^m6)Brrfi4IqRNLY3ZOq)GyzcaR#8-VvnCo7wxnXWZ|* zuXE0~bDi^nD=X{CQ`dUl*b6=wtE}-$xR|3j>^NeK&|r z@d?(T(B_HfD~K&o>P2trRbJ+9{+r9sraKTXgaQ)u7+I3)T4%dMhJzNy{-FD3&|!}Y zZ*iE4YgFx`g&@F#Cf|Regb<8>vd?Jb!1BXzvH;AM&GUL-Wfeg~p^w|GvjpjAtpFpL zdWa{u&;ab*eGA`acvrsq@eY_hvZEedCw;rw!TP-Cn~iyH;KllxfJV_-bB`&1zpHhb zM;oMyQ=H2PgnwzVb}>^rW^*GdL9pkW-Jd_*)X0(X?;~%FEZKbt0jY%RKK-WGaL+bc zS~YzvPVnS>^wDkHXz)w8(hG;Xy3v};uYYgUOS*QPmPR8?*I)iNZq3&IOo#*idQj>K zJ2ZZU46(Ff5gd@}j7pM|>cF8_#0(`n;}c{Cr2tVqNbMdxiT5%Lc{ff^AqT!Rk2^wJC^{ zq+x58sHL25w>+sm-92M0o=6-HyZFdl811hm_{1ZPl(Q;cAfBj)mR2B3>s5zy=%xsl zm2u{p5>t|({GgJ<`*d&ne?Jo20y5jm@lKU1;&KpMGh0{Ion*Tp-6%8l% z8r15ZKwDg^*9nM=`a*Qp92_@6K5g6BGGmK&LpH``=UTugtHHS{MSdT=ga$q?@J_Lv zA+n7sGl=s$B+W+%P=~q~-`P*konSZ8feJkaue+`YcDg+5OWT@RtN(*;M}M z)T>5IHn+;#E&AJUKaHC}3vXK1Kn%0P+vY{8l4Q1V=^%ALQ{Oo75`1pH>d1f^Ni@F{ zm5+vf;uj@>6iA9ibyYfF&U0)!qvrPK4wTif-kHj*(e0a@+8=zq->;40XY-~if4%~! z%c#=q-g&4u{#*OP2lv*6;hkE7U}xnj)eUVp4ZGi<%DD}Eo^BfL{$vbS@z9G1b$t3j z_9=aKCO906O*e|}ExqD6H7R8@p}-;Y8tSkqbd>qCs-|AsXZ%nl8ka_zboA*`!$mUW zRy%X5$}?*`K%xX+I5rdL_lUvlHeS6Y#rM;tVRNI?6Yj-UULO>Q9Ulvn$StHr!Q~-? zt)bxYSiT*<9dAQHQSmVoj{PJK;fxVYVX3U(%0cjGkPG!JJbOyy$KBCMSFl#XDR;<| z%nQf#p2@St&$`zM^jr=B(l_ZD?lZ@BQjm^y>S`IBdtmXgpuHhlc_h49`3ffsFSA;e z<4Eq9K$1M_*=CfNwb#(3(Wt7nRc`;EJw zVT9G>NO0mz0ZoiXB4z({LKpM9rpwG`Zt+$~>dJ;6IJ3xhbxLv;mn6YkTZM5BP0%&d zry_s`<{Q@RoXDMkC%h|WZGEx4W`}M2Y+{+ME>Z{4|5~nlWbutd zT3>QIFvujes6|2MXNg0nds)|@{H$|+FDVE>TAR+}+H|Y65Xk}X>EpYuwZ!WeBl{dF z4T$4$F`ktSUz#|Wfyy3r(Hx`c;j(40=rcH)we$+;*GJ|Mk#)Z0+?RRV>u)08;lxI?KmHT0Fgg=jUOs52`U7 zXHr1Lk&mi(J08=I^}M#QXqxu23#<>YBz9dlW361BvchF}K=BsGH{4gkW@~%3P$~{W zUV!CMr{YgeT=s95Fnl>rX!GL(9b=W?!Ff#MKhuT+K>M;{P5D6jwd*F>gT>ZPMT0mH0IpMZ zb6Kw`UIWsnJ7|M>o-#dPbFbRiaQB0kr{&tiIsR- z<0$oklGQwWDyMI`k=1YEhb*?lCoG0M;b?qDR2qu7jhRAmprq9jC zP=BM=UuAlGq9vH(XHAYy43+;OrL~~iT$%ql8KM7Bu{oi{*@ISOhtMOE$_-6#CAdV4 z%hthl#dXSS=r?oSYPLcSd3}xNHfUJiwY?gJfPLjHqn&^UG**)PLtTem9kik~sSz6H zf#=Jr)C@n*mjZDl4Hcn2U_hgbGYe0UU?j3eONyxt0G~x7wfn;<9vJyMk?pJSOoEgkZ`fK5Th$`tnrJWPCNFlyQIpS9$||QlwaQXTb1mu_ z$dsMOMvMgr%aDcY1Nq1TM9yV)9M9UHjGAmIPCz^|zQ_S!DrXLLiCR|&Pc7fc7GgJIu>|1QlNHHquXK`(tMVLvT1>L!3Ex9<>e3c_UwMG>Se;LJciG$ zj&(l0X?~Mk-@y%yURYYfA_&DxBN=s7%51&($pBsZxmBB8wyVbRXvsT>81O?a(Yvr#_toIcf$FiG z-BYV-r7T`ZVyP-bkC4e2o7%8UGl`8?8QjA;wU7?2MZ6L#|44(Z8-q^sTQ9q%b8X_{ z+Kh-bGfK%O1#6xGW3!^0vk_^kh!jz8Zmb+fhL(yPz)<*WX;TcE>)WyF)jQYbbXjd~ zMz$H@;yx~jAnueJ$r4B1U4->|iuo`b!&#S4P>tNmSAH%0we9Jhff@=uvOUbW`;A8`;; zR5s|v9~Zj)LC4$k!-~Cy&;-?OT=PCn+uc%Ws}!)Rc_$50xiuDuDMHmmPLxlnYB$1~ zyQgkn?~IXSbXcvpVE@Z6(8;(OO4VC)3Cpl9 zevWA4s;wgZ2WFT+uII9RRF?WGV2K11kbxl#nta_H3(oWHHZ>d5pddwJX3^8ys?HJV zAGcwO@-Rcwi@v=_s{Av}m42u#-CLEb#?jT9$zQ!rCqI&|w%DQEF>F;mASxtHiS4B8dgboDp=|?#?&Jt} zaFvF#mk9T#*f`M-!--DC2mEUv2hcw{(Y^afd$Kq9RS!#`@9F;W+g-YZ8+>$hmuUIN zI{$KXa=?`krwX(Us|eC1EkanqXw)H1JXH8a#Ba~Zkr_*abI8k)sf%Jev3Cy6k?C9U z^}%FoRkNSKpB}iTcW)#KP;G5CUX@PpdOb>_p-t&Cep8*5Pn;0dC4CyvS5%;*`}F;= ze%}tx+CY?!r+c+Iip ztxOrLc%9PI9n5wG&^4EIs~MNM${3vz1LaQCJU9XyLDU7BhFNW%R=Uh*9zO4Oe_*%e z&P>nvNLo;Ny@pdrqYlk_Ez|*$B`$V3TTa_-)3fUzgbjLSfjBEx#k=L(ywB}egK``5 zoVPzoJ`mt_9}5zA5V-!*Q*NP!^G_MYCKUls$xQcZb0X{WPw!*$aea!9;$t|WIvdG;rOydIQ)hBqRzohxJN{@ zk=aA134{8W0@wHEO!;FdIZKGsI7$`AXFbfhqF3BqY4%VKtrSz>_`Y&Q3H4gPVa^UE z+i&+G@KbqMmSlbhSxgK1!tyfS1}c+#5>q6D?{RsUy0oJ7+edb)co~ay5q;K^1m(y0 z3>z(d66cD(Zf_yE<|7LVr0RiSyH+BWYV+ppqDQWG5Xd9LQekPpIEWu@d(0&`KmVXk zT20b|C-(TrG!wC+v`b}pwra4Hx3Q5k^_au;L1yQ1uwGRQqV6H z`po}sp;#8AMMNL2*9rZAJ{vK9=T6S6(L-p>NNu<-duJ^roF8ZOhK2>kcDHM0KE8Xc zPl^bvwAX8E+y=?Bma0|{S}2o{8?cN8uLzW&$uKg7K}`JzYoWrhcXHd?CWi^+>Ue z_fyWXvdHUNlir;ciqVLBDaDh%mzarnd5V~_{ zKU7LTfF_cJ91a>RJX_x22J3&*x`k@n*a+smt#y+P@u34K!`N*P)JpUo{R%b?^rJA0 z;S4usFi{3eJLjd{dr>}h=;giHyy=e22U+(bl-TG+-O!FSeo;-%rWu7n97$Qgk+g@R z;fQ>)Bl3FNRV=<(TZ@|O2$I4qhD%C{VU)T?0bMv`()9<>tDXKyUyvm!22a|9G^KfO zXL}~rJA9RE&~&|B?bZO0Nyq*V-M{kqTXJ}-Hbd9v@eDbzJN;nV(X z&a_SucSqNPckaWRH?1-O7S>7#un4};QoN#e(Nd#ITDIye&Y-+zb{5^N+qra5bN{vR zC2$F2b6eZy<<*7k=tP4xdtuMd<}@mynMvK^{WqU7KTdk?Fqe5fG)d9N$zCVwB{%}7 z{9j|Lc5vXlo6Nd5>22-uL#9Ed92-BIW z4l$!9J99_Moy>ubHaiY9pm3!`zr(}{7HzDzN&_Km6qnO2O>xoehiGp?9PFCF`Dp#sUd2LX?L4cSPH z{?c59Wx5x4X5pLhlHaIJE%!X;sWMenv^21E*U+Ra4lD_oEAra(*M%v^VI@7_O!=gnA->&l0~7S{~g@d7v{bGy52{RF<#b<<4ao2G+l2@AIE3oGVL zu1(-C+tU~MDSLhbkOgOFeDo&PpunvcekLcADmEQjWqg$x(jY)&V$K#PN5;P}%@MzR z7i#(g9o-#KlV5q-89(aLoP_s$%$JDelD}nxixoRQ+fQo!j_9ckS%Ct0pm?ZbOmGJK zSYeXTVFm2f&g!J0aK}OIYZxwypr&a5gkrIs+oxF~SFvqW)?-B+hi6lBb{tQWsgqgtA^ooAcmU za>hxto#jsq=DCF>@jKq+P0EXLN;K#+qM=>S-!t`Ev(g)<#?LT)sePE*#Hz36GOSB?%Ya4I_k{C-Td7MyyGN^crj_qsaxMeK_< zclRo>bTlve;dD&0gGB`*^v@OwU!fGHh-3a#J83TGH3+nY){60$FI)0Ttv-y27E7%f zRR7jv%zDpUZ0vdOD73aVx7umO7QQZNLED=C*o5*;+n8q|22Ly62Y&^h602!Kb;mUI zPYtydfq<9ihEtE@jm|qAubsc3=(k!mL0}kw*C>ZbN_{qSPq2T0!Q-dXb;2}<09nsa zWUrCUZUYuc<=orU0mdY9K$d~e2eO_F>qRfC7sYx^+Trx@41up{_zI>K_$ola3|1U} zOZ~|~l7X3A;rq7f&FWH!3z& z2=qKFV+vBA?(+~Ya9fp9Z_8akR2)1jNIcLkBZ8EeMm|I0^k9OAoSgdyx-+7L$Is4( zg0}0THZH#UV8Vh|@9et8&2VaO4@jmSOgCLvf#z|&Q|4+J$JKU(*sxkTzo}GSK&`ai zq(=l|qqa##QW9=uYO=3a%vYHxB|H@3c|O$qs6x;!^V0#>hbWVLTqt|@`H(2K-ZXzR z)ld3S8doEbN2<+GEAv)x=q}*9I*1Pzna0H9Q{S^A`L;b&@hPTn(4W=J%X2Sv?PR7D zEVCC)^CgZlfBF8O)4$u7_}M$L`(U(i=~KDQZyZqIL(j4s=oK)EQ|tzU2$t$g3)&o+ zWjE_={D9~M>C=|W9kh7R=H)>QtEwJ%iA;T=l2}=AhG;PB?Jy#zIAg9PjjmU}P-!A3 zao^MiW7=GOoVI>>Uq|V{;8nwk+$QTloAF$&FGqB)O=hMsgC6C44Ylblzc@T|>laVK zSG>XrhLZQtT#8^O(_#^Uksz_+-asw|gHAQA`%l!y;#h+*CIyQRQf1GMejRCjR3V_4^zzNhSymZ(-B$}B$H2=k06 zMAq=iS=GwzqNk^_ohKv|%BIPr`{mZv6>nO^6OkS9Si`CxYP7Bh4dE4ya5{$jH=Ji0 zCMU%nHPOou|DY>s%~1d9AZ0b-^K8$uznua7p|TN;V^eRG)vSZKMpV1E{6VLP(v(^3 zHYUpYcED%|M8BPL*5CnN1)8d~$q$Vm4o=mMg34TszMjTRj-CUe+(}YPWpZ?X6Jq>( zP-&mvCx~C#G(hc+P{e>~>loYloFX2*S-wG{DGHpJF!y8IN>dyHPvs)L5BUKACw^BisJ-ShG$uuUIgLHGq zyVncWTFGrt4?Uc@DtDf52?T2w-{63s+3FgVeUS-0xTtF@Q%P7p6=M_A>`O|O%fQy5Yz zJ!Q|N6A_iN_XpiBlCAFL*O2GbkePG7Jk#frdo5cR@&7u`^G~8SfA;fY*3S8fK&`t_ zZ0TuBE~4pWu0hOOY^m`oC+$y+{@qg>>j1kuLo{xi2{P5c1=LXCon^1-8sC>T>*cz~ zEQOJwljRF93EcOb75)WpBXrYQ!Y~0y$I>Knl;`rbj`NtX_YOdK5vr|k`yc=Z6f~Daf#T~6;h-<7rK7~C|FH!&W z4<3`cOOZ@&ztH{g15Kk5fiw=>P(#C(&4Pc7v9Nd({3~FA`pdJJ-{{g~eiIj@Nk`H# z7##%_I%j<<3|>^KQB8LSPMb2O#VNku728L9nJ+lV*!8ATxR@<@$aiAl2!m8RHTLPX zA~n&%Jj8HMJkdrPr{%UP9F>H6et^ButJI8-{gUs=^(@Me*TqI%CmACBVd~b1Om|Ow zexBuX%JBGvzWQihLA=+CM0&93DibEf5U49SPPB6>Z%9a&gxlsZrXH-aN&+;k(_q^5 za6U4C(K=OX4S1QHXYP?=2NBP6%(Il%69tQ|89)Ac`|n`$+k%8au*P>`=3&n1Wf>VZ+61ybfgiV-mW$x;jej;9j z&zYcR{FULkA_c9*6sCnht{M=mP@2)1e#A~^xyt6)$^G=$%7=pl9k8O^J3ajjS-wp8 z*22)xq@t%I7>UhJ+B9!|oA8x`xqwoop;X>0KmiTaEp`jsq`lcr9b-u0vE0=?k5~uK za-g{8G^5VG2S=@tT9OijhvxOl6+0JBUyIS7a9|z)#{{#^nj|iQn7TkTM543#!P50Q zvO&<8fntrz*$D+DGbR*MCXnE)4rEL}>mHRaC*Ac~vcjLl5U&#nOcaP)Gh!O0LMuZ- zukZC!8pb@>Or0Q@e-PhwADQVY{iG4x>3# zNUj5c^x_5C&bM2z@R3+gH%eQj?4CQM81qq`lw_P*n_C$ux;g0a%hp0&`p;Enl>+o) znIClJu*%Dyh(?T)`UP3zGsYrQXJ@^qye9Apzuli(!dM{yLOqp;2tTJX+ z3+I=GPcM&FyQ**Tf75yOd?+$qu49V06wWZ+;s{wP?p|r!x2?8fFAnhHoZ!nHwzAEP z%gtw-XWQdt>-vpOuK%y${k!qKv7k8Xe%U>9-Lu2}U39S`M>z1kkUx3Idnxqy(FqgM zG187dns7EE;#Zn^CNtlWapQh=Trn`iWV98AHAoJgWgbkln(zC4(`tCaq=(fJLY#VV zlwj7iQp4PTsQ8Xnu9uodsyz$ttBP&G9UL5-_KNM-ptKkDJt%OgW@ZxZ=)hd$7FS&3 z!NXIv45fV+$xwnwzNQgb#LH7P{eYuk=31L?S@c~!U^~}KdDQS+7v-y3OqwOkYB}{_=N6al?0Q;ce#QCv0_M7Ue|gwgklt)hF-Jvn^Uz%CMx2I>}rZxLLwgf{62rs_5Cn4b=nZq=7eRoA8xCi|3Hz}bhbK#AJkh#ac*vQzUbU6 zNNmklP!ndz4cX*a`GZd4_1I)fzxU&%gcE-P?rBpWeMNm#P zebg@I*+qV2k%OO(A5D|qM|!?+i`hkkfk;9wvcEK^>^3H@>z>teKl`FLi4k(L08$L* zR!8&mmbbke?axQP`Fno$-B9s)WX+K+`fR-#ZHT{Iw66tL`FwSFV0oxZ?0$3unX2kI zdFUC$&jwTMlqTT2!mUhtMkUEuZTELieeELJU6LrJ;cW#EsfbP$3(q82a6na8R*dp} zo}>r2%c}!!e z)7Q0!(=+1@FvF>XU6Yk?oMy&Vun4c_T`l#SZh=90gUi6(p^?Fi{Z8EJ4)y%FcHO&A zP#PBDrZBjZKnQ3eC_k{r{lDIjQ%t6}1@lJy3P0H+Q}Irq#P9{+Ke+rz>-?FL74-#j0R(SMgnd|L%C8 z`R{EE`HGPD=oNJ{d3&FNwWF6gM+4JynOl8|U@X|;e4G633((Dx3XBHdpuh<&}S4Bt8xKnkFt?Kk1A4==j`Aw*8(HzqV1k3=Ct#d)708?(%2JM#P~~7kR8%L zr``|?Y?GyBb^grsup^BD3o*7mHif48#)1CV5PCYz*ZPZ94(~T(JIh)p$imJBon|6D zV@1E0$+`x1(s?0yI9C*tK%>|hD!_TZa5);871Z;Zi6U?VQ0$9bd#wS(BD$42D1@^oc->7nt4I z+vx?7)UgVWl@4nwf;rK|3)%6N(-yx9KIehx87G$iJp4A+iPVuZCTUniY>=6VDB-tH zSgu@J-sl zsZjyGBMB?wh20)$ZnUS9UUcjcrg~r});u2cvvD%0l(RG=kz!{nzUqwFTji|GQY^^= z+3I|7NpjIk(ud!(WVCip)j3Fl1Oe_@vZXliW2CxM25jNh*8gmHLd|Srq<9&{V-dqr z0842`aiq2^Ju#UET=ew7*#7CG(>jNEU_+95rnIf8wj_WiZSQ#6QHDfQ*-~t^%i%I) z01(d3B$|qn>W)v1ct*~HYL{C_MHu|E0jmbE&mC$kWqe0CZ2Ivlxiwh(dw+g*ewJ#t z8>kEVcHAgPch0o@A2aTMzWlUIZXd%%<8Bxhs4)^b2asvHRvy~jY6O0(46T=Z=;9%` zox%(gJ(ZQ|)`(KdS%-{BMuYwA1&I)Y1jszR>inu$-Lqi?w7i)!Y00e&C7@^2 zW!VGN&=x?@D$ysRFBnAbxiIf>ca-RWN$1iua~jhJsMF%xrn9ty$DZ6iMa;xBAwUNwhiu|ypO1D}&BNWRzqRN_G$kI%# zaB_5P1}F$=)5n7r{EUSQW#UXM*%!>8iesj~d+c^7u z_9Os$o;mXUilC)>tDj+MfUI3!6R;9%VUr}L>Jux z_=+nYtLmEJ$<^;_^)L=sl35XNcw)cVAmKEe$pgl-w>4q}^9jMR9&#e=9Hc^&D%em; z9sdz1Jo**#mA;c*<0l*TSo##`^aLUP-wc*nF(DP$h32nuyE`Q@t7@Bif;;tCo# zbsBF;>OXm&>ERHf5l7=Vf5iP4U_@83>M^csx25|H`9F77GB^Il&~=vZQo`V)eq~^E z+n!~`QnHwFa&L0{Qu)x*-u`kgX}LM6+r>k5@2Y&u975t*^%wDNvWZM< zbsQA2s%1Mc$rkM^uSpQPs&0@#TjX0db++>fmRI=o?~C-0{jbIjX!T#afARaBj-AGq zHz*V=bxv@br;#+~Le5~P;JLq#_{nVQ2@%4?PRk^5 z51iF`Z_qdh!-p(-EIm`iJNnYA4t%6n2cMD$t?PL0olxzTY#;5#0`PjUi;^7g6HRn_fyC4Xff zc)jc@Klyp|ETMEu@@@yf_YsyKRw(9q690x(``F`l17k0{`I~?minaPekG3o$nY(<~ z63#c_Igx6Q5ig&n2bFhM+#A*sh7H6jB?Dpkw(9XHsW0tS^ij#$oiRAZ|FJgzV|F;i zQ==T%?|Sxtk~I|V<5^Ml+Ry7Hg+ImcL?vmr7f|D$k$FXX#AA3O%cXjXQauf6jGq&j zZK%F>WX_sk(u$yX3W!xtZ6Z}ojBy}Z!Zv5ZVueqC-+d=5vF1BY`HE{}ywvpn7dt0v@AvP=o!0&lS^?sBY?Af<#}9Q&UV(L`@5li!tA!>nj)(oFVe1vN z;vi>;V~oG+jZ5@*6YjQlKql_p;37u zMU!=8mzO>p6)tO*Ay^0f`KsU(jVAlm?10G_Tu6EfW+wTrU@fQ-|hMgZ0?x)+-fU-@#(u+y%(y?AMD!k!IRZ5ADM_}(2C7PM8 zQsA-x$9FQwm3LS9Dsf4p37CkMYb-WJbt<^|XRxfyAJU24o8{oyWPq=SA@4%WT{ zkmfJzsQQyb0(!TWRBrNGaM+zH`~+s!QU{u8aIcsXfI$83Q+x25hRhl)4WE{MXi@y4 zWQJLPm7o1n-9yc)K~? zAB+s#j#E2(i|SQxy)@_rdsHv5AkwM}2m+dhjN3fJ=IcH+8`iCQVeqj4k*Si-Lo;Co zjuO<262`vPb0;&C`S&Vehr9ulEM}-pV=EVJWmS_`exAFn*xi&(%YZUlDh-fjJJ=`@ z{dm3k*P}#XM4AhBS{N8)-ylDD-j?Y~U!z_k?f!~x=$HTPt@#d^_?Jz|jQeZtMgTjR zHL!R*yYxHt*Z9c7C-*1DYk}BoQm)yg8%%!nUry1jWC(<2nR`SiWb`LKj>nMpC3LPZFpYLI&5L!=} zm~Jw;sLmjTp@RA)LpWv8;%0fJ1M4J=Lg9ouzelgLC82z`HqEV2Xo*ISj*YH5R2r^% z2diDT%)A8|eg1D;NEJ z3%@uCj)WLzKLSN^Ff~?%zKTa6blr1z+;jwU!*G?7D}%P-o0NkNW5zBmj{6@9j-t#U zZbViuK7WO6qk&u;TLI&MB}pX&B(<@>R94FE8Z7GDD1NG?VkB{uvwCDGv89%@`Dj1m zxq{Q0O1k3-DXsEb@}*?=j1l?Ii@GlH1T&WWK~+CpU%6c9BB$-rR7+shR~=HrEDCcE zrgRx<1*c>(-XG4bv)VhJfYTwa8#OTZOX!i zsWj8Ar^3ValI`_y{#x4@@l^Hfv6%|Gl=QpGTp6-eVt#8UH~4cPYB zCwd4yB&T4HBn1%q{LeiY2LeqQGVT!?9WAijZ+JyBhlv=HA%7 zO27IZShYfrG)6=2no<7xU^+2DuUx+-RSRt6$R4G8i$k+gxKA};FyeV9In~s$^hwFi zATiU##HbLcV%I(S`M$iXXBQY{7FF-L!dEhdG@oxzWb0`^(CqXrHD@)eL=2;y1FGNW zOszVL1(nxE549Wg84~0>^6??JYMVdo9FEB94G_DV49XiGJB6zi=ByPMa`EHRVn|Kp zo#RVo)rvfLkU{>6yq~IvjAYfKQUWB#i$6{C1x=E3qR;~B=Cw1t3a(P@lw}@rcbwe$ zVpFVVaJ>a1hMNBrV^Sj7Ju0>U8Qkf7JKOW*03? z>-D;kVisMG)08UI7j}_EO*&hB9(X>#uIX|Yuh*-rkl#S)fBfv@H#n;=X}ZWkBQY$Y z#t$s1CDbS;l>FHIAi?X4ksgs{P|tqWQr6OVhfS!z z*oYA$Y$(8XLSU;-4vR1M?cj4>E+F#j4Cyu^AT?&ROG`Zsxw9gq_@vHUcC~{rI#L|u zyDO>RHd=TcoFSYT7C4M!8Qe)&)u~rPvbdJm9?I1 zix9oAdDhnyl4ansHW$N0$@^tuXD`Xwl21RLNYYFT!!B$L8dq1Jeq%UtBkhsFwaKOfmlG11JFGyh>dC{&UMQpa(->N5OPmw zn22eSW|_1aK(%TrV$D#S0rtV63X4cS8>Ey$`*8kLVr&^1b~(WkBz6Osi@W|&8R%WV zT9#&F^x;K25R^BGb}sT~*Q`XSh3ZNda*oz8oD>GXZC@m@092B)V+w(iVK84{U`~t~ zyc*fTk%$yvYXExpj!~Q-ABl^wCnI`DiAnIIGh zh@Hy{P`31(dh^Sz%74FJe}ArT#ZAFG&Z^&$p6#dWe^Uve$pd`(`WF$nUoY{T`!VW5 zo56$zQ&Wo=Db;vo3H5kY?hr+d9;t zi872JD(Z(DUro@DjzR0sP3ng_rc12?|5+gRlY>IqfzTL1t;)=E_m06jt<>G%E!q~x zS6eiIEIL`pl6v^-RV{}<=$?%KL6@LKUBeFHt3uvygmm-o9fBvVN@B)anYj&r z7$SCw)izE=XZ6UKd2dka=)ZPfqAh24|J&hs_kWv^eeZocLvHB;@Xz41>kC)tica0* zC?t*dOggECC|=LqDEaoe%5C2t__Hs^+@$-l{a5}w&vS3`i5eA~d0J;yJs(1C`YAj7 z)I89x*Vf9}^!%e%s2xM|?kgd+UG$pf5t(hx-Zf8pqcO};i1bx2bnwRXxzk=q<-zLe z&cgnhT~}yJrO&(SRU`bT8lXK4;!WP-tWO74eyIGgyZtlxh%|F3%gF9U!!|PLOGU{G z$pfa=MVz&$t|@}Pw|LSHnyx$76gpKzKT{}y-~Gk1gHQd}uoAM4`lGuBQ9iIc8Fev= zYtiE-|Dbw{i;7-;I5SfB>xUn0L_|zq=EnRK&9h-ya(VpMH=(Z|AJS_sFX2zwv15}D z`XwJvXdOLNU8Ct{+b7r2mh)2onYX0bKZpNGSEeRq$4m442}FQe=fkwSS!kI{IDbAI z+`cTCr?~*PF0_kjs*;;m$j5uA0n|M`$oE~@2~WW5KvRkc&|^3Y1QV}7uF5ynV^m|} zMXT-k9P-G3PSU=-v;fg_78Gt#@056xejxD~(ZR+T{v1E(k>bF9FA5@9A46~nWgJ|4 zMr3aJwY)6KFoz7#;~~ue_$;Nm(LG=|JQ@}Sn}4_*#FwWDcejH)TegJXOwvYEMqx7M zl5eEC6H>9}GWtg@^|IkIc+T!L$p+eF1g{m-i9;9v!V-$zHd+wmEhYq=pF-) z=l-6Z|I_-R>g|Oq^Lfnqm$dhZtoIUGHa5OV02pwwJh=uX`0M#<$w40*9{HW1oSwRW zR1nEO>e)($XsB>5>Y{oo*xYLzJlBstOI6_~_X#SAr>Q_nx99$AQ<4y*RQFaS5iDci z0W2^WB*W8aVE(}sIfZB%FAfC9Z{+@IMQFx6lQg^BtA7_S-M7EoV?QgmEXCw&!Eeag zz31m)uC<($$pq*_Iu3fSouo-ovlh+=&#$e77R|R7H#G_kf9!<{L5GPWg=R&=SbH6y zj$^Q$SHNp?W+ThOC{tmGV?r2uB~7>2-P_V?o+ek7-=Kqa9>ra+dsUF%tQ(J}o#E>@ zUu}0nWZ~1Rq5wM%`u~>Olo+x1QbT47Hh8(q^(v?)ypZ3jT;KJPV!nRfzN&a% z8x7vwUTDo%>sj}>oM$e<(Dz@RNAj2iMap34{ zm0hgAzCR9HtT2$t;h^dHrQeHJJoCadM9a(<{6ttsy+bZ>p|m}bur2V@5tm-XPl$E{ z;&o$8V%WWOE#r=ofPirCw6KEKCLzrih4(*e_DK!QSnjWHrfCFt`xx81vWkh`vme4~ zfsBf#Us1mpCN@+zS)3Uja(L8lOzC^ig?{#tn0guHv>le!&qY2On>AOS7dT*OfED-e zy!x8)SI5Iw z^eAv;=!n&(skq|kb6=-X`zwB}+mQq_2c~pqAgIBo(Nj_3bB8jbiJuKx?ciWMntSoa zJu0d$#=@f$uoAP<82jn;^uY;M<@J)c#w^Y5^~^8oI!}kVo}ZLoun_vWx{m&!n@yLP zcL=&va(qN1z+}*zNuGsjlX4dPWZ3hFC zLhmfPp&qXb+$dk|m^F@{co1SkOHI8)J*sg(Z~3}RJ~qqx#pl7)A9TS^E#bt2pZ<9_ zDnJ_X{6*f=9kB739CsK}H~9B7()jC%di=8O{^!(D{{Q-qHc#0G zCmhR-R_jfAoC?HB!^rH`y!U3sZURm;T-~wF-Q2$ELmMR`)Lhtx=}JaDch9Q}v!BLn zwHdgBev?mwOx6k`l7>3uud7up9+|%0)G2jOXy`tdynF7rE@XLd5gBJc@BMJ2Y)zwFnqm^0G=WPR7yxcXzKZ(V=Ti3V?SK0b(kiEOc-mRX&1+aa=R zILsAjipkOzGpWO+Iucz?)0D~D0v6zvEKZfO^ZOb2v7vHc%5pVo1^-~7_wnX94g zDGu=pEcD|6k0#byOSc_dZJ7PfJTnIk>|q6bn||;S>s#P(lgr#Yu37 zVl~_jkc1+EA_0QCOY!1v0gAh8p~(47kMjMlbMLx$t@~N)^2cOm^1c~n=AC!%dG@oP zZ6Byl5}hmQMgRe0;BYlLIiA?Co|f+)7;>6wa|g zTtpwVP>A(&=5lkRv z%iE1Sb%T*+`-kwH^ zNzx}93kesbyovtMf0s=((g9qf+^)yKZC9tw!SSuqy#alD!!Az+JdjkTcK)#*t0Bq<+nAHqEeL_EZDnc!rf47qZ(0Z($*-On zQv)P;{?z^wExA#~kNZ~L&BZEKqu|87)NLt*9SL8++)40R`x4*hWIs6)#z6)Aw;^qI z$(QDtJxVb@Ruh)6RKr~1Lj}MoS(gYr;b&FpVpWQN>k7ECB;ln`CR$`lhko}&uVXaH z&3{6wDIYzq1!o*iUCwkbjL}Eqg;7oOzu>RUlKtCQ{bS$lb#*j6ItxsKRs!BBwC#?W zc?52UHmS%_2Nnh;YOCd{G&Q;sUQax|wdEUlHO6O*QvUX{kK;L`Nn?4q_HxYS7uuFY zu>hZ;|lA;C^?3cPo0Dm$`&wWu?1tGh|}dH1LLaRX=c|GVQJSR zAc&uVTa3n5)K9cl^h4WZ(OfSqxVUd?<=BLkxrnk2rtKM)=vBYjnzJ@>I!IM7PgMj2 z18IK!fI&GW`f`_@kN5YFm?0d?izcd}&Fx7=ef(kltgCdBdZ>DvfB?jB?%P6TBAQV$ zW@?tl=;y1Ya|g3RHCs0HmsvETNk)8iQljEI;x1wD<7m~D!+c1sLp^;c?dJD}n!oZl z9~`qK>n1K4VUwit1VHm4_-Tcz|cB7#R;1AXI28t8fe^7+0q-gN`Lbf>ydnYN+VIblmM`2X#Pg*Tw3*1dED6= zdMWa`_*7GgNokH+{)a+3NPiofq?E=n%n54HYt(;Ht{fxwMv8UW1ZI|N<~Y&w81xFG zEM%Y#=Owf$XJKo;q&r!A;ZQ(IqV@O`svGJ#+zw2d`mU!>I8*}!hF*Do-{2WAsc zH+gp5{HElpcKs7)pZ+6uUMqsd?nPYetTR*fEzb4_u?`s2 z6P12L`sEhEQuPFT9FKjBjRPwUMJFUqRO5DJA@?O(yw^3pSakR zAkjgwK2WJFEKFzjCgPHmea1%3bSw8}#e>pkg1425Ier>c(;{a2EFVyFujpn43kkPr zFrW!>&mdQROYY`P)22_%NhOac?go7>M|})G+3zs)Ud1;8cX7~ zUio79*8#$nAMCsEGhG27&>bHbCm+imqF|v*$`cVnEn7^MGe-5DC^USPvFX}bHq{}qsNu^5+cMVg%Us&yF& z>-HTtC=@wbC>F&$7AuXVZtq6qr<9u*cAC<02sQ62cp=Oc*dVmw%bV=mbV7P{NmjEi z#?N}=f-wZqS)gcj6jr2lKln=ycz-v=yTu4!Y$z~Y%v)m|$N}*(;2FqO$jHd&`U<~T zaVyUS#Ti-DtB)*;J5O5?J&(6ZdLTU735rZZ#Cn7~eEzDh{a~h$*Rgf}$%w_n81qc{ zQ2WbVTO_kbuQ%=8)hGGkK+R}f%<1My%ExclERE2It60VT@ogFY>lr5fd%Fjvr;TFk zjVoq*KQc<#TCY89|7+C^5Qqz!02rUDY3|Z?af^`0K_s`6>L9$R&vScc z{3kUDz1}OmoO>$_RhJF~s;Z+J{)?twI( z;yS*mAJA^H7l?JOrKMO8Cy%h2`dNX|4SYH350g_e_d{}Np0rmjRD)E;?5PcSbKh&* zVE4a0m}0YpwkqC+WcH?EO}Q|}#9E6<93H_Nyc;LdE&euCh21RYzen8ZFWnpJ$2T4+~tAMlav8xZIEUw)dU6>rVIiBJJ+{ z5hQWG-@L(;D9h`YNq-+R-wWyBgSRDDr|svbzQhfLF=xU5+D+k9Sb62=?;Z%kxNq$u zvn^{;?6kbQ;SP;KgS2y#ydU4Me|;%zJWDm}Pn0J4$+oe9ui=XEnZx`4+e7t{l1mC? zBTS%Zd6er)VmNZQ*J?Yu!@jHGcbwZQym+Ityhv|Z_zUOVS|>+kbW{QEzN z_2HTHyj`|>Z@`uPWh#NDrtPm#IMjf)*5T-|)QBp+IhpC6!srmRQ79uh87Cd}FBb(k zyYAK44uITp=oGLCji9zZQsyP}{FaR@1LeK2u?X}WTp}s0Fo+lToH|O8{pW)H^INX8 z7Kd)Zad1hg^yprVMyYLwL*csEB*da#0Kv#Ijgw=tc_9Rt{a{~b+(*9s`^B=YyM;p< z@sKZr!<;Z*sx09Ak=nF^DRL{t&$kJR(D&3ML_r`hpHkT(>l9>r20s4gJLTV(;o1%P zG{uWoku)#wl;zxD2)JB^xtMhZ0FRh7NK94vkzm$OOYV$PJGr8-rSOv>Z8Jc`303d zySSd~p3LQ;zGH;}`$$4zM4c(FZgKE5YtHU(o`-9@sZ(E#-`=siXP%HWNg|mQZn<+BtHX>T#RD zA7Q4ixmRqXgD3z>o=}vBJb!rSP#7Z@k#{6q>0A9u-{TO{p1faOCoh_@mF~-^TUlEY z+oBO(ot*H&O>ZDS%z~m={<(G0&7@XJ>vy5Q>V0O)peVAw%d#OKau<6$;nAm`b)xME ze%3*h;mHSE{2Fuj6Km^Rbz>OscM0-K#BX?J!n*loaliW;{>2F21a4`dsam3>}vblc}K;I603M`ho9D$yYF@nGCis&=CH8m zcAZkEWhppdz)-w65Io6bB1Y!)b{XvIlP)Fmyi{|;I1DKbBX=KdCM{ARGGcv5eO`nl zgLI~!B^l&YEH)jcNx(~!t+YJWd#q}Zy9_vt4)i@zsh!VYJL$W(!+lUmcv3pq7RDyi z3#O4Y1Vy9-e2~aKWYh9VE~KomRx>s&*ZR&7L_{5#ABNrl52`*dFjJzG4`(8AiPtqw zs$ma%^q42CwLOt19NfHC!(L!Wg_?IYq#BH2Wy$_QQ5V#uLZu@4*E&dk5DcRMuZmKE zmFD+vfTr=p=0Ch0%%Hg%ASb9xY;N|VginQ^)poE=6T>x_RA>X=fv0_GZEh(n**^{0 zrhCi+T_62mgtk7tu20}N$+&Gmc`|Uh#qf96*kHWvv;Xn|Hby4Td6K5B>dqf2IT@gMTgkV%V>i>yeID|*GN?0N z@?@2t6Bpo@{84>f|jHSxzRNwXMyjy#?S5c?hX0^q5 zBz#zdyXxv+g5CI5^!Fvcg{;@9Ii-Ia);e$1Irc76S69MF$?>%dT0Odc!d5}RgRks~ ztA#N!dlrEc!gOgQw!|6c;!<{JXSicv@*_=Eok0Rdg>xAwi8)mgsvKsQ5vMGMs6<7v zg>3gcl)(>9y*siEA6Wz;nb}Z0z{~i~QTa{^E!|}$o%{Y)*GG;msjRmMHdW$#tB>mE|nBj~eeP*g6&mM)|$y(#vk(~r!o!*>%@+?(xH)fSC%=4zQvRK&H zY0=cprSY0{Wsh1)B4PoIJ$`!rxo$4(U?{V;{PKU*|l13X= z`TlK4GJG&JtfuaK6z2QYh$!bmQo6aL%i9veof4I*N?x)WgrRdE^h_wge2o%PVmG=N zs#J+m*b_}*6=v~M-O{lY(sQ$j_b7?UvKU`6e)#Un*KZ)%KY6#V(p?w`fIF7vLXdFM zET~4#U?GrkW)p6hXs|vboM1g~!oD4W3C1D!&b>*4kboAIpyN)!y#X+Xu5w-9>E>*v zTLlA210{Kdl@YaBaC=P|dbpPXlH`y@XnJ}?m&D>*TEB_<7}MJySQajGCeYz2Zv85FO^rat?Y0bwc!9pxtwy9y^MaZ;;-|!MMGH~`P5=-wF-A^fd zB@?|VU-MB#1n+;mjE&4PT!5Rbt7T%lG!v4B)VkF$7W4*5n!_H&Ro~L@D_ffJeXQdV zAmpNd4lNAA-mNKec2dIe!<8E#`wl57a$#J+R9PaSkc>}Hqv3Q6*Yq?{5qD`*OWII! zcIivfa}L;f8qz$P{s1Dj0Jr#%ww&M+>jCD*ZMzyocO1^C z;-@$7(%&0xQ|~Zw0<=Wg>y)>vnmC{amPr;Y7JcZ1nt_g>ui=teSM~2ZY&W17(8$KZ zJXLcBQz2_fXH{8w8N#qIGrXm)mXfsG>DUZ1kgjcM`lK!wK8O{2+P)c4JHA6zJb*iI zD%sZ;AT9aYhtVg5BK1aXWZ~*gB})fNb(N#l7Vax+UdF2_7rbacFaPe;l5g(-nQT=e z^;?lm;4*q3o&06Ergg4i`;eWKdN&KDy*-=t0c~vwznwVwz62Y5eq%nJQ>)$X^~W5q zgswBun$j9ry#-Z6`Zx;8+k;2^%b(9X)xOMNuHWNElZ(lJ5>Ag2NiS(C7nDyJd(nS; z7w$vHE~kEbN7mmHQiv{#U4Fr*O!|A$z{C45b3*g&0{(C(7_V4TSfneg)L?zA&0=d zw6s+taIJT+88-7sKVh}pa4dVJ6`P$(eh7;yEydT!{m~Dvq4YZ{@xmaiiD~ao1M+&z zP#v3Rx4i;Fif(erhw1RARWP-^Aup!jlDo-ukMM?eb}^Suc76zVkNlf3xO_R+pwSIt zGkutUsgv=f>WKg>VM@h+u&Qt?>zs-KOCe8e?xTn^B+(>^CwEo(@=IumMYM)4GkCYMw~>1yem;$`H-g8bB`i zOP#KUE>LNi5)cvwOm&?6Upe|s1+|IjzCP^K?kd0}b6C48W-6T4T) zCVvN_uZpeL0OWIfAS`0@sKn9SzKV^tN-anOO$2;#22X4Q;3G3Rt z&3G0@lf9XLHDYJV@HHt%c3FHj?7d5zXZ27ZN1wCG*EHQMmcj9h7spSC)mucANo9rL zIrc)Hhj4V9>eG;s;Q3eqw2RA)fe1P}>{yK3IMbM&wqK#0;I7*q3iBoa9_nhQ=Zfah zeyjyM%c~f4J)C-j)`_${jkLEGM+*CJe056=PFIa}=@f#oCTPtSlrNfANz!wvREtwp zW5JW33b31)qwyos`u4nCru^PJIvuQ!Hnlo!Si&UE!f~1Mb@&Y?W zWDINd_iyvuDIN*0=CUH~EcjiM;hF;z`Dm)`60=ok&X>X#cq^E&?pEg%x!KD4a4+S+ zbWGzqcL-KefdH*Hk2{Eev|GDiNX(@7Gvc31@x zEc>=n`CZ(>IUzSW&S;ZDk#hFwiq?^7vbc^=&ACH`nTn?4@{4_LZL@yPxf*L|uwrnYue!C;xgtR7A*L$$wuOWaaY z(@2g`FTb#}scS}9TgaVZ;6U5lgl{^IrF&StGf`Oo(5P$0Fzc!pkhL+BnfToMfMGC+ zS;+V<0y(;_yiT!Ah*>|Cc^5Y%UgfYh(n##rayUGBOwsSzp!NP8OjIGwMSI@0%5hbQ zYDz%xJjmLPSGDPatl`(c`$@9|PL||@la_;92HjjS1SPP3eVF;sxNN|D z`J4Zov`S{Of6UB6j&(Y@D*yM6vwL-)U%-AV4jc}itX8K&za zw+)`{mDi5bl{4E8j&kBQH9yhT|8)$zS2lfRAW*!^aI)4yUUJCZNw1u6_hRT3z$ke3 z%hx~0>y4;?u|WPx#eW&Auk8a!AK{xxbQ(oR^kT;7npjlwNZh*kdXIwGv$KxfhdAA5 zW=X0^etS!|T)up72xZtj3yMDWC6gLIq)XC!HGLpmm=;uXWwPXJEKlTi@fnz|{#Uab znS}k!8{gTz3s)EvM~_~9Gw!+bQA9E-cP(|N@uL@`_MqI1{}Y=3M?W=vEsV|cPjuT= zf^rVtQew2O)J36heD|~w@)js^{&#x$|J&5M%|tchViB|1R$u}TvHH?quq`8Q)G-?p z^&1{Z&vIv;SY3I_%i_m}bTcC(iTq;}H!CQ(U!{G{eb*2So@Pq~Q4ipEFzK_Dj>NeELvwEjz!Qf)y8Yn}m?ESnExGuyuLBn?f<* z_!=)Mtix_Vp}!mKcNeYy(L`EYJSNjj*9M3orB41otf%cL&VOs#_(b3`oOvYX*XM|+ z;B%#C8C-_U0w5+^5-w!$K(s3f3pElfAM*&Pw}?W?r^)h!_vAfByyF7&^$~_lSc>PZ zW!3BfpMRLoPKpq~OdkSZM%8QJrTE0c^bN`c#Ej?M>h@0Tuo4|7CxaCq8) zpXuxKgD@z4xQK^$$4AIb2}1s;3!0#t?ky!McozSL#FP~THJvKkFTz0SA}DFpdRwdX{Y0+s&1l!;GUHeH$8{ zB`$5Xg^Hrx$nTgEe9QL0f{hBLq*3nyowi6A-{fC#k}PAPi+9mP8i_30$vn*?w2QP+ z>#d#oH7N%)l7v-}-B&M#fI71rh(ttD!VjGcBC-#BVgv2;>UaHOpHuJbtNe zUD>;cxYL#;d!>`_8$0I1_w%_9-!IeIE@9e@!h#h0Y~F1}+Ej?Wxdq0_E!VnNN^n;=RvCts z6%WjWYCM_vX!}C``CyB6I@dtAWbU(Bm4fYlvzf6L1u98-NghU`gfv98So=T{rb8%B zVqweC!{(L7=WQUfzluJt^i_6^U{S4vjt77#Egi^iFGt3^R#G}KsGW5+WSsRkeydEG zJiiBV)t^kf8Hi6DfbDJ%6xWG2OGoV^(m{Oca9tz!snMh4bjPBq7p$vW!E*qT4e`{| ze4O1R54I;ba9@~}5Z3{edK}3&wLfoNFwm6S!8Otqo&XRWHO6B*{)y-VhW;#Z&j&n= z_aQEBEHr{6WErQO8RZTcmHmf>Gn}z4ubwb~&G@G7U`Dy)R7q82WH*%#xIH;4cRr?u zCXdf-=a=Uya)V==P3#8NyB^x$uwsSQ-|5B4fV4?1G{`Ymt1n}b3?sqG+2GCnz~**< zj@L^aIKhX^4R8u;Nwt`zT>)ip{&%;>j%;Bai$(gpjAfMx4O0=+3s1bvWZf)aChN|8 z@R$BBUSi+6aJeotQ}`BJxI`JhNPuw?545Vun94C~fef%gl`&dG@_ z6*>ix8y{Lt*?+?m(JH6vdwHQXI$ow%(eqhLM^pb+Kz31tq%>U3C(M9OaMw4LPDW~& zu|9AA;?y_!zWG)X#eMfm7x+A&SfsSzIEdoB8d5{cQ$OvF)K|)@qX?>Q9cUSt^gIp- z5LHmi6&Hg3sL5tAKyvy5xR}sqllv~oEN;WUE zdrx0IPUo~#CWiD)^Ul&V>vVQBsYigE+D!}A)!i}pzv01H@*Bxr&XbmGalPB&!c4V; z3(OpydxzRq=`A~bXC_#Xj;ARWYVb&vnhLYc@e#CRf27shH4jo1EUlYJus>M${l-v= zX)9LOC|DiLmGg?@zNg3ncSKoygXD2VRir$gq%E%7!%gvcZjfUFS{68Zu?r?Fcd@KE z-5PPC{G<}sR>=sNmBl&5fgHQ^jURAixpst`$pbA4XM6pY(DdYW%xt?#u7nJ{BMpyW_>dPM+`vr#aDnaw&NP|r zPdtZC>g#UhY`~#;MT3Qa%eA8`h{~5Zc1y-D9_yNdwrwYreT&gpdpYHn9+JM~D>4NQ zi}bRrpO1%Gc)KvFvO=9JEN76&vtNI*ob+)rp7LJ{`OsT(y3knh8{XhgB7gbsX01TP zEdMm-GU%|Tfqv+N6%Arz*nTqAn{6=X#Z~Zvf4bI%l3&Z&dSu=*L~s-?#O%`xO~V#C z)NAu0dfNmaiuYty?}PI;ENf%YN4_fLZ6+~=n$TS{0;lXnwme`Sg_U&E>qU|T zND4FMi_rCfNt{*(N(&V-nbHv>ns5+5N;~7ou6*8Lh7Ax0@n_7XGj%vjy#0U$JdILh zED>YzaNsZKmLyBWbdF-6Laf-8F!%5p`oUzh9+~D{P?s0E0g#7eq*hWs7%&49~q@l=#S&&F-}(8xVQ>8#7G;*_N($h z)Dex|aambMWUVG>Dp?P zPcyR2uFJuCtf+C#Qe9ugAFqf*iDs9lZr}a^hcuD`a7cW2tmo@~UQ=7W)^;{F zH`}M~A79?AU>NkaRte>sC^2NoH^nRbFt_^vmrsRhX8TmUB7EW&m84OShfaB7X^=5f z{(4%zoJUfwzi+(i=hcLn-6}1k*jGyZ_XSTm=;dN-LwzE2!Qk-{CBN9hS4HncDOMg8 z+JaE#dyn;@Y5ByaCwOXZVb;0@Z%xxsOt?6}ozo|`{v!7av{mQJmjR}T`;^5LRpdp* zmchmHwsP`$^6xm!wBfwp1t>3p%o;NhLPP9T&!6vD$M-0nBf=j0h{fSPJl1704bzE$ zk|{q196JG<=f&nB&r1|6^Fgk(RCLKB-zYC{i%iM&KouBYVclNo%!u z%}l(I*aAXd7_FqCKH7D`ZBMaUMg5eV72B*HTV|T*cZ=dasWR>R)XMT5m#c z0vxlbQ2IW}hld2=+y1#vD_?XJBkrOdJ{)HFqUe_4%YqnXYttbE5~tzwj04dq4X5NS z>5!xqJG)XM>xjq#D+a9~e<@V1^lRAU}D3KFwW@;DoE-qlDV(=SiXE^m+GwDmG> zf1Ufi%+JM)uy|j`6U^5>7#rKmq5N=XCT1l?R?+sxa*kHJZ2oiSDi0JyWGT7A{Yc*X zFR-J5`MZk$w$*u0`#2FE}8IdhqMcia|8`eon;+`{JlH+P<;%uk_w*E#i5*Vv0qK{t5cX4=XeHOB%-6BC-H&y3)(tTP=N7ZI9$ zdT}W8=}0E2!{3DQ(&}*Tk2&T35Ei7a9#BwYn(&Ppe!QU_-~I59pZ~YzjT1T#z#jdE_lH61h$=P%0C~pW z0eOKG)}u?SgnN`l#ck`F`FBfsO9>%tohgs}8jB%O5Vxm1L2V~trPZr>LQq-DG z2!tliK$Ru3O}%v-sRW912vo1G+z?fW2_N#X>$vFW4J*_lH_#v4Ox2Blfdx?*iXpMalBCG{W7X?8_pGuhClF+NrJqiGW$SyD{wir_W`L4CTY#-A)_b=%o zw-W~fN8fS28nkGE<{#k|72iV*Et6SC-HXnUdrGxM?Vcyco|;?kKl!n7%j!IDT1Yqt zn4|VnCi=hWDCPmR{<2ZZ>T^>&KkS$;Ah?6WKv~;jxT295C|4S=gF0SMt2N`tHx@aX zOkFI%SMfi-i#87_PSk{Qp)xY`+Vy_ey08pOi;TyHKS!H~cLmoxVgexkdp{8WAAm>9 zBa(1%Uf5$zN(D_}u3!MHfUzTpSvA>yNceN#t=ux12?@3q{cq8u6L#30VU^5c zP22H6Hcq0@Chf_QqQs{Q9L@p=>}dLJDHfZyw(`D0@555lz|m%tlgRER6T?@I>OIpj zZmd&v7@J8Kn4kU6=93bt)aAkfl6Qt%$J$NyiDJvWs;fkr)f_a2*MuFF?eeFZxI>mu zfY=HL&THH6V6x=g2jccXt9P;##e7TBh>apvV+O8<0kkG9OArO)B7`cE3OwY(T15BB zd7u&C*jOJLl)nDgA`y{TX(c7UU3(&8JWIv1}YHWYtsloi5W& z3gJbgR&ul^GQa5gKn<46cZ7u1&2+tnYj>$4UyK3j7qN4Df)4EQB zHE}Yul`c^4rfSKht5kHq{JVJ2YM0qJ8EGe(($BUt$Tuyf7Ny1BoEEc`Z?P=ux4A}~ zoWi1fwGeR$wJJ*0POm>YdU7Xx^Kd(HCpCNJ6jS(qy8uwE5`0nu|EV9EriOwUfoC=s zrq-pt_D#}?SVHnn?E9MLS+w<{h-3w)FNDD>)H^$E*uZVCEnhU34Ev_D>V15=-SBN2 z%gqJ-i>u%8{A09NPdt4SA+&O)TXigMN+#)*AT^Dmi4ct}D)y0GW(oN!7e_tVXB^Jc zR{Bfw^ygPhMf%*`x5P)*d?U$Hq3IFYv|flsa&LWf@<#G4d=+{1=J|zmX)Tc8P}#O^ zH$-@7c{wnZV-x^WTyn_?VjQ)TG`CW~qw8ax%V#_1Lcn0%u2mWSJHMH z6?N_dJT>tF5kX%uf+^)wLf!_-dE+RXENy(%<%m;6YkbS#&n?T4^M zM(J1H=a?p)ObN5O4g0>YIG<$0EIIlR^aDMAi?mTIi+fI?>&l8AE?j+bFx*it#&BBcoUT4kg;F-_GlHNG;}0 zgil{#x9TLHjO^=xcIsejIbEa}6m&h#pXY32$2O;^Wp`9FIOcuZD~^tbOWWvXH@czC zvbpU;`bjkmXfGe+=$1-J)!Swn>RzK7FTv|XFqyAe}5a(DzN3&=T8 z+)!(NwFd2YwMZx3-&%vnu7)IA+_MPO_O*>El@8K2-@?_3*?zB;!I!*Qq61S4%V@l? zGlkjKrzimL%C`ctl$Pt56+lv(b*_~H^8?I5t4(YXl6jS8W*y$??;~%%`>fRjE;pbF z1!`V}FCdm5KGcdG1x&qYT_iIxH?mYh{dUyk$fntP%l$GwCsEIgJ~5>Bf3MO5t@`VjxT*zBG@ercgcKtiQYDwq|1u>a1*GdQWAj4 zM!ZBDK*DqAxQFkJyh+XbDYeO^;@_e`IpyGfB7CueAWlQnX|pzgomy&8mN79joTI&5 z3$3ddo}k2et|hKddl~iisySsRJp~c~a)Xa#fs;U*un~l5Y$CX`vOg23d*NTaCo`db zIU?_c-oXY<>2MdmZ+75eHq)FOw4tSeCz-LZbFiuPi5=*kWrK-Ad)=~UWXEBFN?zrS~CH8#anL?!#;Psval8qiq9ib}G@O#Z?K6 zJ!7r&sZiIm^GPM)`gET0iE{xv6BMnj?H0p8OFI~j0)2qD3H8HR3!cxP?R>lh5(ASZ zWyD&q`gqMQ+zc$YaSi-BZ4VTf0%=L1O5Ma@atkVz#+pH%^W^bWNeq|fy%V|#PpZ-P z?bUO8bTPg_xdPcTvUz*4*zm+PrP6h$&-2WZg6RRN)Fx^3Pjg`6YB1LHHFYIUp7&bG zO%q2atrg``$kN4f%X}_##{tcRc`FIaOV+yI@G84^k|Dq1g&v$ntqTEhhm>6bWTm6d zg*ypZh1Qris3rlC%Oz;D5|QGKQenx3TpC(w6JN46o|Im$nBD50JE1sGYa7T7nH5{G zmUTjcrJoH3agZHHT5#s(^Hec>!sBEVk|8={*0(X)*Qrm@itO)@N(n)hm}*juby_Cw zJ|6PWHk#@Ec!oXo@1(f3tbfbQ?t9{Py@s`e!J4V{NfvL&0Y9SF^k^!|bJ^NL57rTK z3^hnp62=)&KE;zKTIHLaPy~$X#p%Czu78-;|8E`B7kZ7RcAqa^_@APDY|nWf0Rqc& zeykD~%D?-i)?VGDhz2#Y_ahi|XR(FTt59PcbxN6TZnTXfdnSfcGlB++6|rvf#%%l% zu_kw)oa6h5JKj{OLDK0DaUW7p$7d;$i!C^jU?pZ6ooGIG@#K*zH$*)wRYqd%EO=qj zT`CG^OR%1ZDnSKp@ld{nt`!fv6}xDPk%GjiHxDyRQ&rTXMAju}>qDFndxx*3%=}`z z#gWD{U&{E%v0eNDN*p|dH`k9?pSI7`*}ZrHQZEz{k1mV##kX&@7tP_)WpVmMUVJ-$ zK+X_PbMpSwyJF$0=h?ZB;%StKU-6a6@!B9OK56KbJ|ic$W@`Nz^gUqG#z610d}x_b z^Z0^>nxdRGyzPuK{Hoo*rgutb7&p6B=K#dk#)!8xlv%Lm0Qz#@chnYeNGZCMkQfr4 zGyr|!ACbjU6bo~uDQWxwW4Ni}^#Jim%3}7OvYcmt^9p_3mC6M8tQMrCpbud{6U2+M z9QhcoG<^;h&0-D!)CupFRVWzl7@C~WHY)#G5w1-w{oc7FY!=?9^IZ@T8~(@#yJtI= zOnZd7L&YBetm)VIXYrWDKRh zAEHa~jOoiFPcGAQ04D+=bbktaY$4mq)cO)3%M}8ex(3*&Uju9^YypWXj`)jK;tMuupN|m=;fsD&cp1(-YSIZ5{$o;VtoqO0}|MIAR;E!dW=&j-@gp|OM zz;WDnX3YS@&$yw?ox0eV`AbcKee5~@C1Kr8MPo_n8O<-gTYt?fKR(CWwb2~I5t5ZL z_6OSY4oQ=O0IoO0e#O;j`%9MXf)qKg=atixXq3G2SDB=Cyw1N?-TRmaq2Hob`J$mt zSrBzB3za;ew__f&dW-je_c|=|NC=;yK|Z0Cjl5ZgfGxs@Lor-^gYLb_92I%XWaWxr z3FU|Tq8kGCDX@0_T(L=c*2MbV9#kb=kX(fmLug!`zgQ^Rz!&6{rAW`N{;r!UM-9&5 zsF#~?E<#P`M?#h0nlqdwQRQ6Rwaft1kCz6W_&%S!>1_r3p3eI=s7K= z)|)d2vKNKNy&(w|5#Je7^-0UfU;mm_24Zi*%&KSZruhZs<@2uV_ybcwoAJ6%RJ(D_ zo5)F=Uv~GL$>GDlR(`@8L(;v#a7fxF#@by*N*b3b+AR28#5HxSh-rGHeGtHty%(La>z+0irQS$^AzK($)fk|uFAO<9Fve&6=-$A#+v!8+XJ&mP zyXZ8)|G3lU(m-k3M|C#lRP>^K5EIhjOsjtT{nDX(4_sN=#^Oute82Zwzwy?~Gv4=6 zJrc&G-8SRWN|j7VB%lh#yois> z0E$XG`jgUMu__208w%E2dmR4L;ehus5`q$uX3ON1-UT#b!mkJ0TJ0M@5w-9WXXQX^Y4^xA;A zIw$0JOy43y2SEM73U)9G0NE!s1p$1Gl4lu~n)fJ`0EoX^`Ei*3rw@6$BxA8Amf*)d zT|->pXA{)c#fSN;xdc-VKh0ZF;Y1+cV2rYbT7v8vxlr(v5Bhd{id{L%Qo4PemUfel zis_|_)NzSr{da@Xrb84YpcxkC%PP3tyl+a3f-~QX(kq^nVx#56RXQgX^S;9srH9Fp zm6MtKsT5C1yo{nLWZR+vAO$cqJ!J^+FNj~BSBl*&VX74V8&n~_4ysJi`wvz9K?aGu zMh3|^V*G~;LZre5<=C@h_RFxIUkr}38P0|8Bxx*jlk5pvtHU&aH1rp<*hr-4f`nE* z*ct61yT1l5?bpE)jT6u~c43KWHP4uZ#X3XrFq z@k(gazBwfwAf97ivui%eE`b~NVJtU^Y=!14647YDnwlw41~`v?75(*U zPI54cCW1v4X=CK<;-VG1GFV_9^1VWvR&+a)Koq9oCIBW&SM3FRl=#xH?$|Coi9_Fg zI;5o5FCMpR=aG9!Z?UPB8savLrI9R+(66eb>SS}n%u4tyiBI^l=gcf+gX}Z4Em*jw zMWKb1yMhzm;)0Xj=bq| zu!e?3%%Ow!sQGuTIw2-1F+E7Wo(95l-m7BRCL%AT#&)>X3az9}dAE}1yAbCL|o>R!y^?uF~58$rll=I)qsj{)We6IC4imOWV61=UPF?VjM}*O;oi11?FMqgnXmo(gHPP+xb|XEa$;Bg^{41OteX90 z4ldKQ;m{i26)LCXPWdj$>zFrCKR%JD#ed4Xj2QppH_JV4!J19TQ0RHv78OErn z37Iv!Rk!j>WXhMJTf48WS&BO-neXz9ZE@QnH821v&rrM2^_zJ61`lt=L7t`xJ%uZC z+;`4bzpwRE=)%L$U?XcrTJ=CrP_ekc=+OCB(`+VrM;tPfklBQZ4W$76%kunEc#_( zpH}9cHaXR@W{z5TW}Jd$p=mz@CmjP&nyT3@zfomd@29qwFFB;H8+ilH&M7_%M-Hin zh6&!nfsFJ^JpH&Fp_A7-U(_*%D*;NwxhUcoKUlV9i7(+H!vcyXfCD>}4k3A|F&qws zbAIq4xOgBM5&x!jo`I6|9RSf(i-`jwq%ZAiE0MWI+l{uRlAeAp=cUAFmyZ^NBPqg9 z0{bUx`B6mHTX_>v#|HKwjWuU%%NBfOHC|o}s4Y@{B&?rEL}Yxw++BrE5#G+1%o~FV zY!%;2zb{wUvq+iVfEv_wVJN8R{;d63@ixF1!oCYt0v>Umgvy7 zD7_ar5O_zBIU`rf=WbE# z=t8ct4PD&^DKTs}^3pVC1~KQU;H)AWt%%ixhUe2 zsM|ZF=BHCrPl;Lb`*o|2U0&uZZKA;7%h&$V%Zvh*YZA5T+B|~@QI4hp3X-bB*Cz#< zX(!b*RBl@1deN3)daYBk;dVBu6yxeF<&Qpvx&-PnaoxVhHAuk$E|b&dHt8XLQ9;3L zikBY{w!gyEMBEXg6;kBEj)_nyyy^r%a1)ss%XMr8*M-^5YNwF(wzsD z1m>o8p`njOx5!G@{RVZ=LTyloQ{P9h22=x`jYfDcJi$g6bFV{ECtVS)w^AjKOb}| z>8($HPwr_4GOZrzA)k-9gYCsxIN?#q)??cEva<(r&DweCvVNvw4qgqVan>#FA`B38 zid416S$&QC;!c1mRN8xuMgLPtbFb2oNHeAaXJ$n4H06gULCYVB90$zW27@yuNQ{zVFWb z-psuEL#jGebxIUf`|Pv#T6>iM8SQvG(Q5Van-CXA;~6do%U{$u0m{K@y_jritz z{hRbR?f$vp{p@$DDqq63wV^_ zHoA0}8XKYNy3Dju@_r=8K<;th#Abxaz`34tyY$hg7+z7d9<5~RgRI2`)pQj2R>6UJJKyK^ayur}sA&(fhmauz39D;lZyHl+yaqyK4x! zunOMDtX(h3!JyGgu1OIFeMJs}<|eD9`|%Gs6(4@K7fuh7mcjijK` z$Le@$i_`;qf%dl1FT?`50@p3h-b_Mh^OrjjnM9Zi#$`~`rSn@yxTm3eUGVh+3~3;r zdH@H|2`cWAN_wdw*=*Nu=vu`s6!5EWCQ7Sd{ngRweVpf`i8Q0}OS{Jbvfnl@sZICY zSZ0e|t$y-7Kx>hsUz&f!6)NS{yEZo;TRtN(v{5}Vb|`E{LMD&PEBocK^K0ftmRO&R*ok9o z)tgHyPud()7p2fs>+zoKtEVo}Max_6p__4wV2OE-jZu^&$J=4Cc)w#N(4pD+cclci zjCJWt;BGQRV!WZ z?d>s9ZPF3lR%Ty6V7WQAO-2m271@_Uh-%qHv5#u;ShM z0Rv{|eFkA(edXw$KwI+k<9xw(ko;6PYHCbfEptMZ2DA5UedlY%_gX3G#leU1wXOTh zMfFM<0ZK1M`%W*X*HtHm=4(b>-x`&)(?ti~x#qwEhN9YdD$3e+mMiP35A+sGwHoDP z4wm03zWMMiQ~m9;<$vyY7_ZT_KV4j}nDLB}>e(uxZah&l)ADP%xkl^DI4NwEY>?5x zL_3yOvbLJ*hM}%=X$|`#rK;UVnn-f;YCT16RK?qEV%q3LXm^Z%=E?u(w9t@ z=6E}|-WO)o-jnOl?wtRryof9dQk7Z1+E$J5=($nCno9C{R;pkO$a96E#IW-D7Nmnn z8Fm0sW{^nH2|f94Uq|QbD97yMW<5hBHG8ga*HaQTa+)6JnAjCTx=xt9(r_Q?Veiz$ zh3S^HePx_&Uk)WKxn50}k=PpU@hX>=LW30A_OdKn*RLFoDoX;vv^EuY#Zj@Ok}^N& zy!Z#XXJ){Hx+k!ni*PJR&i$@hDcrDc)8c-w_xcu5(BX>2LVjC6$nF`iWK^dC>XkZ% zMmZq(HqZ*12cr&EMGN8Krx#ii)A$)y9{5R^*C{ZSs!aQJ7jWA)8&`4lyq2y~HvBdE zY9^1ytF!0K#Vi)IRoXnOl6|=fxl5gPH7CF6Y)PBxsMiF5tfgW{Ue@1IO0;q|wds(Q zf%K`~?**%IVB4=E-dsQe`raVUo4qUY%hbOj0ZSBC4G-6kaA%=^a5l{Pftqs7uladb z6)!)caG0)DFR18W(eEF>`aSILe%Fp#)+hzV`lbFI@khMtYpJt@>CU-pfhcwv$P;Mn6@t^)0v))6;7n4jRC^@(1`}N$QB1{hafkNpwRSr&v9#Tq~MHo zcOJiFl1Cp{LD(mJh+8dkrTgd?TncvYVW(7!dO!(9Ta;8f$QX*xqWY1}#-iRwxPsgyhpoq2{4o^ft1US1+~ z_`N{4VX-$ylHvDrX)JRSoe!mUD$S!^#%0((thEUWZOzPZl}$ACd%)PoJiH%|$3J+c zXe3V?GhbvdAiVt4X<60T{q}9ANXDJvI9`v=CpoL`3=Jg&tbyVIla_v1QL91otM(K^ zazwdhKO zoPXs*$kNH4m*Sr!u=^TI8nPd>gjT+NCG1A-wp9IKN;{&dsK_#v-S^-%N#KRSEqFI^ zRse>hL(z1m;=Bm17nzPVZnv70ju(cegKIsNgH&Oa4<%Lvd403ZGormU^&U5MPG3^M z6!aS+MgmtKG6jDasJGR;SEIC`ZDZ-Ux7ukM$CrPFSu%tqXOr!D$@1iDb8JoGJawJn z${Va4I&g@`c-acG*$oUR5oHiQ>#m!#^*zVxc zeB#9iUYDxe>vktxhGoq#B*8=mq02J?y>0-o?v!i`O^Q}gkML}&s)O4Mq5rcfQASO4 zo><}0e7hLn3?7a{Lqfy`9$;)OM0^RkTdwm<1Ch&Ja2sW3N1@?Krqc^{eL*tW*E9eH z-+m!vSH;wS8@zY*Dz&EfqD*dhx1sR*v+SNuJ2ERPk3x zwCnxU{m3ljujfkM{@qreiznaDe7GIZm1Mav_&w$}1&=P}@zu0o<-r+kM-D}TunAyC zLGpskTrqi^blovI8E+gpFHYmk7%RzsXW`89*VKX)tuq>^c|`)d3817#zMg{@mB_w3*unmV zIXd8GHH(!fM&&^l>eBes`U!9Fkv{HReZ_4@-}1FMws}*h8{NT33uNzZy{#Euj z%_*E;K{~+*7o|z5OU29qm@v$LKKAF9eEZW%9R}07MxNf34k`~Xm+#a6((|b_caZrvzJa576cF9rrl;HLo+7@8WBmzdTWUG zUAqTN%GGUZxw(U=d4}}Q(nLxvzKYbWdQ(L;&Wxru-A1TRq(K}^l0|CGTVpO>u*_Ku zZBw4R)LXGDJ~!|BJJqd23fI=V^z&^_R}#AL_4XY`+Z|)h=kd4hxUR7BjoAWSuCxPH zLHW1OJCoJJsJtt=P8QG4T56tpz;W zbiz;*47H8K)74_fmEa?FF7|ze0#bu1-}u4N19M;6h~TSlXGyNb6UJ4=nlyqe>PoLl z$|7xgU)zJ*j#53kF`^0HIy$ho83WkllJe(Ab!=?#SFfT7F;lX2bK~P|2IWUAF18F$ z@&%j6MHf5N99CM5(^ub}_+FKPrx^BTU$T%$hRV5#N(i-x;AY38?Mw{3ZpQbM1d!ba zo+UFI9QJ%;6pgc~M>_-Xh)4%a;*#6FbX z5P*2NC;ZuRurJts3`LFmqGp!tI>u%8ip)U_*Y5WztST#$b}~SC)|Rj+t(v)cwzcQxh6+2AXAuKm#aYPTJ1txb*bWA@UO|`cSXX}8&Ma#=h zOGegCvwzbzBzsxS#2w>Y2XGeCT5z#w5lSK}8sZNr7Bcuy2?Ie!f{%WYR_V0>-bZE;#L`ZjIu zfKGIg<)8zvn>R;tnLsaYNPX1g;dwWOqNlo;r%7G%O9mQ1DYS&9%=s%Y>@0If*+l(bUqb`4djvFI@Ah8*7C z)X74_Ir-3h5Q%phRL6ep*UO>Ns*kBCg~xtMzeH=W?&nA?4G}eJIYE*EP8+7HYev}s znMjnl^$e-?rdlAe|Gjda9zR%OBXgy>danNZT?elOUjt8n7)9laQRjE630hPBKrBiD zFqo}_37luex$;|W#KBep6S*WE?4Eb3quZ)S*~T%6{9QQvcd81G{OY>g^?(S$->Eh( zDC^4X0|tpY7@{orS-9rrBoJ9^OBu&)b?sDBHO439CVx8mk{xO@x7uX3J>cZUV_li& z>j(d$+badX$ov2GiO>Iw)2L?8m5+^AuM~_N7N>px{PT}K7kXp*r>p;T)Xh8p7+I}~ zn(b>R3$-C_QH5+m1|O>&f2TUWrlh>FNir~*%?&ttuJBgT2QBApddGZqX!I_GW`{+wtgX0x(QX8TMZnd?9^|$4-X6jKXG%l- z8>>wG8@sCiGY8ggF;R0}-!Zx|79(7=cbjQBM)YR~;6JaQS(az@{(>qj{-hNb7Eyd@ zd|}6zH|z+(;`^7)XBz%<7yoEcimBstn~b6WEq-_aN+^GBzuUi4t)M7VuP};_kTAH9 z{4ngr>2l!h&L^r-*l(0IrCU4Dy$9VR$uwSl6>hhP&KIsVlr;GJ~y;JHRIDWW&gFM z4_`KNdh_-7#_Wv}ycq<=KPPg3$0x0-gIWQ15gnIQfYt$oJ?!y`=MRHWh&x&9=-4}q zJh`y8UofiR$~aoP7b@V-marH|T{R!nl{{9YI;;_PkHoh(SOWml)_CnDP;{upAvaQQ z(+@GQNR2J3z?z4M^te>xSDLYUdX^7)4w=W9P%)SRE+TLDhDz3aUPZ!3(+K2on9}y) zmF#|K={lQhag#GBt~P>qP`T2s)IE+-wZFH8Fl;1#U3r-igw=>svv`UY9sGpPu&hzv zO9S=De4Y}Xds7kj=!@nHp)fhcv%MH17qpE@$apMH^H}0RNnbuS#K9^G;n(A53r1wk zcegd=s5$&55qmG|sQc3wnzj~8tK|L-)ScRuPci8Fv$iyj4?sS0kkEK|Epk-PeyZ zua*@=7Vkm^o^HOGU-q$A+>v>5c$Hq4hIS<^?E%lJ(kYkuWBp-jul-;Uj%Rk!uYUq0?(2#GYd0TtSp znlZ^gghx6@6l*A|mp?5ry@cJXI?4#Q~zmpdWNo56#@ePgl${cg*T zQ8W&db#dNpwudFvwTGQIddIr!y0eH-4BQeQFHt!eeGN~aQX=Kn8k=g^TKF8f?o9LA zXL7PK)MgSf%787ga75^I>qh7ahg<+&=qRI` z){p=A?47MyH7lnXsdcwb7ah$`JRxN4@SCE{06v^_#b%j)PqC$^WuVo;Jjc`w8gJKJ zZ6rK#?3O0A8GW!iEBM5t>r!Y=x~7(J<{_dG*GZ173uz0er)dK@;cf)p>qA!!DP5PJ zD7O_dZjpYF4@pKpi#`{dmhrmE?c|~K<(M(42W|`^mY}^tH}f>`SIt+A21&*<9K?Xi zXEUC>5@K4UNx+O!&_)X9kb20g6-M34cJVy{-0QbX9SMbL(-=2<|={J1~_4Ky_?a3V<6C@H_3ZEI)zIxF&QBRuDo1K%lo4`lO@b6 zUOf|n7aJ54WQt6T65F=^ppgWvDw(w~Y{|PVr~WCMZ`L&d#T!E#o(|9EKR@PRlF$sy zOGA*N3T0}FG#+MWerVruXNydZ7|~$>?_vj224)8B*b%r2K|!f~pJ2U4k#5YwI?8c8 zxba&ZMO<}m(<(Lk_;)G?@^{V3p^4VtsSKr<=J%AK{6fA8d!8dF4uw1JJ*1`Iso*B} z%Z_`G9#I|N{NHB){`#f;SFJxoklIcEL?BuGs}ufcKiBUevD-3fV(~5wNXKM;v%G8W z07AD@EOzjh&F7x~>+byT`g~iiW`FjF4d^{KJ`g(KUvoT6e)tU(r3I_KkC=&PAu8%o z&Fzqrp?9Xi8r9q!HZJaTRUIPyS3E7UBcgnYUPV9+eQp#ww0=}qyP><>0!<>Z5NwQu z5OuG*o))rO;<}ReSKD-kyT6EtnZ579C2eICCD(1G?-k}~oJN~(+cN5xYduz|TNJrcy`vZKk@38v0NcJ@iO z?iLEm{GPpz_LGI-(HH4wUO{hdix<*iG`)W4Y>& zEiEmPvZ#^&ZEUDGGY<{of^LM=mNM4lBTTY{YnR=+>YJ794+_MzL9+ma{I=MP$FR^% zUoEkEYFmNHn;BE_mr|$0TkItqzEL7S+g3tW>sRzYO<}$y3YAXFk_F{GbCm{oB_^@z zilu?|AQ(I(J*Bn;rkfKxWA%Lt#)tQa!+oVUaFk-1RMMF=Cq8A{g)zaprKD{i+*Iur zk))7m)$~eM#b>rlSD#|N#_oCgEPuf9R(UoeyWN>edsxcLaHKC&w1L@IL_IwFK6XV; zJ%iB5^k!=kBs0E{mK7F+7{(=6MsN!EPi<2+mL2;BVp z-r1KPfQq=VIiJ{u8icY=5rYd#nO!}%ElxfAB0>yY_{>y~HWQ6ipcZOEUp0A)Y3DjIu?n_`Uu%+BfPL z%cpu_Ud0i4#r|p*gg&oo8s>5)A!}vx1e+w~o>kCvtr_X4xH{6}go20xtloed7;i-qqiw2w2J{k1pct z>c<@dVhh~LfxlCYa0DIs-^7G0pu_&|p+VPW)EbJBktL3BqfZpowAl5Xh^Xtj$f+HgT1%d*?iFzlgp8ebqd(G89?d zPCvL&`-yO@afgmYwNYjI78UFaIz@0W8}6(ZB|+eSMqOHOC;C?=r6VLA@GVO%?vZTu z-W~A=e>07jzy^F^Kdb_rHH&Lx&U7wwuNFHS>kmrA;W=%@X}Y>DjD=_W^ zO>vp%**%Gz3#&R<)&YVx(kV7F9w{LE^VR-41hBhSFn2zs6@5s%mi$obcPjIv#65?d z-K;f-zuC>mQ~1_?s+f2-c1*0=pO0PFOvYGRLkaU_reEA>%ZkaJi@;(DmR`OqEBm0% zrh1n?C*@F{CWhR=#Y0=lGd7Y?5;5DSMqb^b7pp0P}?TEPUFe-L{Sjr zSDK)yjK`o_qe!$}QZvtF%HGPkbG2)I*OO`eSMFtv3*?Vl7kGTA)Z;s%D95R06!Puz zRJGX%DU7TLB-iC(2!q;b*GolZY<04g^D?qCnLi-s4qsJVtBeYP2U)=^w=9UD#i zfL@tJQ->_Va8Y+CFLyjl1aGHt4N|A~)Lkq(xN}U>NhS!M1nnR8V_B23oFGJoyT2tu zQv2&t_+LeJ7NN%ESrW?d0DqA3jVpeo+-xQ~QRN3g0A}l!AX|4B{EIMpmp?28jD{$J zBr1%yL@Qm(oy(B8WS2tWo}iJ7qSbJ+E&cMOKtICG&yO#bWG(NF2fLzBt8o2be!eDW zMxPiR+V!bw!(snNnK3rWSX|1+)8?`*ay_ldyAloSPJObyq)Ai2yFqc0HjB@q@rF0) z#)<@`KR|P^t;zt9iY@pD?@a8HEQ1%is{J9{92BGDAo81F_6+0DEwG*qBOEEhEBB}_ zBW~0oT~Ejw_A!(2HWUIG+P=f<5)}2A9An27TFjHX!ixcO>4=d&)o81_EK_8)y+|2) zv|;gvEtahI4?BI;1Xe7dNFdlLmZz~GF0$C@w6G!5xJ)>C))brC2E3-@!3%l70W#2* zi3Q3Px%jBH(J+6_U(Vnn!{_>am|c}(2@q^?OV>Vn3a1X95e1|ayLt5Gb(DM6_edw!vqj~~l9 zU#9P!4FR*y2Ho#riBI3@-_WcBB;_O%ugJK|48>U{#k%PAj~N``{FHiIW{5jp_Lf{& z`DvhBarjp{F6K2u4!vtIud0H5pmyG7Vdj@O+&ulFjQW(c55j+T0xa-QLNMR^leddH&9gRrZZ@+*%CVkKkz-NE z_GVa67g7g9sfQ`;Z^AS~Lui?cl$oeL%!AohL#$`4q_)~q)QJA=w!myuashvenA{Kt zNMkV7n~y@{+W3a*wA}h&rvIf(a55=r+*d6RumeE5U{$a6hga!^FOR$q9F3*itI_?5 zm0?^C43))|6q#)yWMnk`!L?_gX(ZbuKHE6Y&d1zxu(nTF!@EaebqGTq>ME!B5{q&= z_s0*+s^dXsq7jy@G-_mHB*E$mna(>8&t6pjFlm64vjoFf548@bfDiptVDyX1XiPfO zb^DTsfLiRxE8ML8go=P%w0@rPZ87rJYL`gJG?ysz3c9t2E;t2D>!IzO4AlmAzy`zQ zJSA`A&`y;(?%C0~Ih29848W95twC;+?NHE()178;@a~bb3cgEoWheids`YR@Yq$gG z#PVDgv%Om@$6KnU-ar1?e||dJQ$%g!j}(5V`q(EnvpW1i7j|#o7MfGqrKx#$Qq3hI z9261!{r%h*1sDjN2~duIPSCkRo#0&=7IRfltD+rv5JlRw*|E{_`+y8nhp(;ZK3mk4>e04 zBT9^;z~k@Z!o4x+e5Y4HM&+F`?YMbaOB{}1UNCuR9Ti^vfDQhdTaPI;MaY0Bx2<)e zGQWg|q0fpXCq!8X#?8`~mD{3!1eTbl&KIsNk>X}BCh&$5!kfmhUL-g?g>N&{Jne=w z($(6@wSz0z#zIR>um6Vn6`eTs%@^4g>EvohDm(V1@wNLWI!_)JkSJd9?nQN zK+khC$&nC9(IJFQe`SOz&ytxa?8$t)0=?xtG$|5S$azGnRtlhQHh93oipzBN3epi# zZ_g}@&-nWJDb}aB&X&ya1v{k$YneJHiWg*c4M<&dybjF*J|T^u$^-!`v}t~GU+8C3 z4p;WLEr**-SNr37d*Gt3b1Ry%iz&a6>5~!Ul5(xUSwJjUP!sgq6yV!!@K+k2!#p*v zOe^DBWXWr4O_YWgo1~l(lUX|1`CikL<*Bl}bTC~Hk}*06OOD!=-?iyYll! z{4+xB;?L$snK-fiF>$iG56hFS3n2My0fl(-_J!OEs=!)N16G%O&Fg|tBckdfMY>ZK z`Hco5b{TZoLu-wp8eSdGlCxd%OQnGMF4NHx1ow52T`v^jIJGrMSZf!omQWqr)e40e zJHCxR!Qta8jBH1KQz1>m^)RoEI-`Zc1=4K_q_)mHl>eRT`-PE*OXA(K$(=)0F)%Gn zVfv=IygmQ{jr3BFzA;7)ICCZKDtUuGOLkDh$#@3o04mLke_k^)Z9Np}tO0o}wqy4& zpjYMdCLyg9d7xrB{Mm}YqKpMWAj@VB5;Gj$QJ|W=CxuNtAcCeMPr@B*DN?ON_C@m^ zPBY`Xk{;t?^Ll+tmQO6AV03`I;-n~(mmXYN8g#tCGFw>Zo}gehp;I<5Qe(Hc&mN5} zG)<+YPrf5moUvZ*&M?H}cjXL|sA>HlWi6!)3iyQ89fI;bztWxt1;#%Wd6OvCnRY97 zQQ@w21ZB1`Y`{? zxv`zUc-H?fG|Bt^8E(u1emrse#QE{*cPQWE|GE!FelslvhoJ)l>YYAOk6%yxrnJn9 z?hA3>{mbTGWd3z;m-@bTbSD?p&pO=R=I_3VcT9#9-8Zv4zK;LS)BTL3@9K8|A3kO- zM3riQ_@;uy4IV@kJNkYSSRI7b1%lBBjdwi?^u&wq!pv9=dqSDIkKzJ}d}LLl{PZj9 zXMoOSL6nKGJIcB7lvl;ch^GaQF8&kb#W_qgM`wCNc?~%CQ{{ zj31MkM#5gFm#<&0RYtB)cb-@2t;C9u>g6acd3G{&k4po&2_ZDvMf7d{pmwj+h}#z%W<%W|5>e9n)AG< z%L%11FZ4WM#kNv}Y}qT<4>bTZ=6M@xAQ7JJ-j{}z?Ugq~CeO=!%2?@g7B#z{K3IMY zeHwIH3u>lFWY)@BoSeT=NM}W?|OG zq|Lm?Xc8aTI)nF&+lN`zL#%yx86nxQMZW9-wuUPLQD=(tVyLq!JiA>i`3ReC(GYm4@k>4Quv`I@``Dw;ydZL3Y8d|3HGX?}}IcnMpjS&Qoj&2aYh#6cfJvr31 z9lGyt;e%40Z0-_Ey_TrxE|ehca${re{_)};xM2_n0z{Ai7Fxr?{--tqjiMB0XbZF+v}`8VcJ(j8kV`PziGBzISg#g?zyM-{jffPge2 zOh_^@>b-@>uNs@_Ha6LGSCAP4j^Y5|;2uz8KBW^_SFGds@|?fKzDoWTClHONE1<(| zs;n|VeAtvk(0iH~&g4@5Dz8v5D^7H%`qi@Eb?ZtsJx}4^97ZI2)qGdYOyobemwlfP zESs`GT@a0hP{V=#A0QL=TA+sDS);9ey1lyxmw`*B`yxq(E$5G^yDYtI*6h{5U+FLe zZEkH+Ip`J^o zK@!?q82c^;&jmNGJcdI0=4*PzqV0MXgKk3D=@+K7A8jLmvSHz6FFS?#Ax`{|(1J4L zqOq-kccUuXNrqgA z%ZB_!0Z-}M>myHm?@&f~%#^qJ8nMoWyfZSkG5wvPV}s(e75tre-2BsgySmsVKDKl> zq}wm%JLzP)!JGS3?`!>wo=f@jZVLagiRynE{=+T$|JnWUN$G4|oW35!sX1D-$FLiK z;Kb`U|AgfEug%}TlcjRw8|i>=&F*h;&)qLe23zZ&l8Xv|_;q})bHnV@G94%$Nz+dA zc-iJ5JwYiolpTvVP7%f5lmcQhGB%99r`$;!~p zUsItI^p8^DU+nI>5!#iWQ9&GESdu+OTj4QDW6l79!;C&XbV(8I>-&t{Y%j_!`jyK; z=v$F*^OUnmU(&G}b}og`xPdU4po52|#pv)=fv`ytDGNSy#87oC3qP-Cx@|rpv*Yq` z8DRqrz$bmRzyX_HvUj?V&jFqZod%Z0M3>aEriD|Ox=%TStP$d1*gn*F1}!;}RDaQ1 zs@6BXmhJ9kS4lxl7e5K{sZ|}i>nh`XmL2$usF%8*2$nA8XU+67Kcud{0LhDj9O_^q zE?6OhSCSTDxvCkX-jL!6e9_CVwk_7bAuMMF86yiQ7FA%mv>?2B0#hVRdgvQhwXDh& zarX>s7(#3Xl7fNgB3mpR+(tmxtXUEbBzc|g&?e|3ZrTU#F^U6{tG9&{b;F9Vr4zwx zGF)ik-^^mvjz7kqjUUl*zNTJ4!1o$?R$ZRlLw{jdNX#sg1?}laJE%{7ftzIJtK{wR z^1gc)LeH${>KuRSK1qp#|8UZ1f11!3IDen?4ES4xg`cM~QyuNbngiXp1*tf*6aMRG z_5Wb+e}lNdt9ptWauh`k`3G>#&;Qahy}tq1>VM$Y5_@9xcl}mQd5=8p%iw^a7&T{i zqah7RJBEmG?7Xi#J(K6zee=wd@ru0?R?xO8hHP}!r7O2LgHs-0I#r5JvbbN3Q&12PzpDaZA>3|4!nQ*qHg-_i z<1^?*e`iwltQn3zHS6+VuUw&C?^O+mnl_x=xS5hP+vytXZ7^%T2)C)rXlN(4ND0BE zKPTVO%ET%@GC(@ng+hz~Y?cJ>Y{Gk3MSPA6q4o@( zxWntp`e(`)sT`y7r@_X z*x&I}wS5O;xMG+QSRtLLYLdHCUkXZ!043R+BLz3N(uIBil-j6O6<%WL&t?`f(d{qx z8%vlE%9unRR_)+5VHTGKbb16OTOs)jBeE&`jXIusG8{7YP1&LDBuGpqUU-kV=mOQ# z5XuMk?+LPBXB#Fe=pE-PkT8LF1!aXY@$LoD$GbOn>HK6re`=W-=FHQz%+hYUezW#omESxwXA4Qr_b z3z;7JY&bxds5+G7$7(n=UVPA%lprwcfiu(8#zSZ>Aw?$F;PA06zNCY|MH)$-c^VOY zxtnLMyu%AKc*A>O+O|#~2h(nNy6u0xwv7)aJRegm40BJ4G!q)=_-Y3uRc(zofCgXr z$x=->%;70&Lj;Pv54AFmerOg~urZ<(v$!nfBttSws1Sfq8-z@|kJidxDUp z1@#>pUbmx0DSk~!;o&5TN~l0JKVDo=bFALFW(>zrT6Gnu$D(#%JnFUJq>*7t=(Qka znsItIQNFPL6frLsZ*Y!cZMy zq6GI0&%0wgOK()UJ&A5Zhc`yB6_5!bRt-h-p{nN^YKFts_}3Q`eZrJGq^vgRBk>-Y zlU2_Jl^AoGu!x6%|=i z0^<3`$L5FxK8Ma#;(uI+sxeVaALh zMTXF(0o_61SMY-VfRVWw8l3jBk^5zNISU0O;y-=x@a9et@K4)6FU__-?O7Z1;aeW$ zXPDc{+5}-?oqcBK&6#D23gsWmIjb|FL04j78H;Lp9I`pp^41$w1E3SNcRbC_V08oh zl|x~PWsj2e}%a9lV~XSp{;534dG~TNX7P!l7_Ug1V8xX{|8*YAT*NsoLS4^@w?a(OTkUPBbm@b>vJ_MEeslW7& z3De80mG(S&#NN1CAwyT|hxE2)nEN&Z0PM~;_iYGa8M{?-i+Q<4+(}K8{rR7Q#T>PN z<{xwzf8wT6*jfM8!WsLQs#`Jff7$$o{a^QWZpmO0E)**)Q_^xwpDglOl@^ zwWT|n&m>C6>k%Ic*Nkw>)&C}9mo9Nu+9#im&!TJ8GiT8idyWfadbY80zl zZrM&aP(_)B=I!JZL|tVdA#igHzEP!QyO#}e7xn}S;#|L&Z+f7r+QtDT z%TLT7x5=yunKTLsRJxw@4{Kg0nl!Y7wd+X6ZzU;uMPiG^MFnFPxq~{%j$x{H5{DQB zc#IS#^~LvA@i?@t_2uOZ>|AM4{7at%!NOu&d#BH;W|VwlXPChDV1megcDhLW$k0V? z=956Za=W2{4U;u7)s`_EGe$1Ro1D1X)zg=^Dgo+oVQpC<(r#H1K;wupzN7(T-U)`m zxIpH4#(8r@Ua*A~=_^Fe)?EMI`smkgMMgu-AVz%NB(|d5HH{%Qgfo^0;KQFD7NL(_ z$yw;)bY+X0RtECAiN;j(y!lX=YjNKl zFhL4qKePew5y6${9W7#pSIwU=A9RW!W~s>(ab@CDfssE;dM z;ucSH9)u|DKUd6;igSEAPQ1WZ!+$XuLtvhc4)Hyw>6C6`z2TZ*%Nzglvuf;$n5CU2 zk1U~CA2UGrn*LQ(xT&)&*A7tQ*%Wp-Ngpc36Jr2$yECF;8>43obmi8*)~>6^>7wh{ z%#3}s7XocxeF@~|j&y9m;5(mY!!&9kmKxjiVgybpzP1ERj6z1GAVQZ`O+kYbE;uzT z1XvNuYYofW`5=;5U@QA*asumcG&y&w{lnlp{)ua@m`M0BK1_MmpK^yB>HkDgQ8Y@! z)Es~NF%m2}{p*+I|I8kbuiWbcf5bi$)&G|;8v^RXPbn|-GroRG7S-$A65IYFZ8@p#_WO^NXE@Me(*!KmCL&!K?eI&kZ7;+~C8AQ8 zsGkwXXx4zRzJRm~qmFm!YUTmv+)7QNW6OuAVKVpZluIJtt^=uRvZkNQdX`xVO^}cE zRb$0k*1ePQ*E+6pSq2X(squBTLuzic(pdjT@jrUo?#@ z5qyK@Dr*^e8lWlmi7U~%1aB#Iqfr(%acFpSu?mHaaT!Z43-*F`j(@I5D7yC;tv7hh z4peaQp+sNsb-~qKv6^zY#(8!2)bP2sc9AY7yxsK6N|{hAz1OrnMOK^k?w(HI^x+K9(i(G&dbjlUvy8OWKiG8JaFgN6DCo$G=&$@LrSy3#@Xr>J1qFvmF(r$G9~V9Gyfnf`>%-bZ4x`NT z(sm+eZ)z4n>{E7-@m-y!-A9es`9Ux+6^ZaQ)!ePESTS|=Tg%HuIMbJnb)%6JA7tx- zTutO_V@1;784(r)d3kXmAN(2nVcX-x1pT;9fJ_0N^pHVN`!(nzf!A%Wpz1~tJ51Vo zl((}R@xZIYl!3rvl*lQb6Tx2)i6fr2TLMXTvj9NM>K(oCC<>h*N&EG0Q8^-_lC+)e zxV+mOXY)0bn1E=e&-8+1`>cH7C|l3Z>LjQ&o^V5urtN(`Lr|juhx7%>&H{U@ENrAL z4p>lYhK|}px=kSLA+miWY+>Vjk%-{R$F)hWQ*HH&4W4j2k@dxPz> z9_a3WSyR|>bp(&iD*(ESvp@A`Nh4cv7{A7Sz!JBf-4e>v8EJ%~po@2na>nj9npG{F z72Zrop^EbZbrFhJTZMe4Ce`GbGVy$vWJufH-o+d8?c~W7?8kvGS{;f_!+Z<`^VIxaNY|OZy)1PO)ScP7#CsC`GIW zLvmYEg^rri#H6@^=6$5_@2+D4t(v1>W~7SweZ}FNHf*}SYYk?0fG^!f;FW$KdS{ze zr&6RCPZnTRl^8*HyQqs&nzJiZ@tS^$bx*D^w~ba*yDWbj{Ue}}CMiR99Cb9|0L#Xr)v9a!MgUIl7B+7ccPy#_Ku&zmmuR5gZ!44=n3 zFWo@y)5PrzojeMm5?-hbjhy`0maQMjs`;7z=%{&fh6~)RQyvH{ZWdZ;)7)rdjt}et zRU@p!xOruOD8$#AF?3S+0Ng+fT{3HGU_WC6C>jZ?zQ%Kh=cwwsf>LZaQq?VaC!fJQ zN!G$+P`m{WN9s#W#oG_3_!WcOrg0s~kZi{@VL|Mf6^fT#{8_On54(q=yiI96eDKAjW zb7;{q@tga|7Ey9L3Zt5x#IU4C1fVD}*V)pC1ZE!YyVw}Q_xg27C8ObJe zgRc?1txlcO4vd_rxOlKKVX-O!oPg7 zpK1HDk?FT~!n>6X{7Ko->>56~)f(82`kT5v@aaHclOX}akl<4nc-*Aq*CG9M1URc7 zS=S`G=>Ai3wg1_^;*ZwicMAn|K4i&2kRTOgS|+)Z$*q)Lr>_$*{=zVwq<( zBa_C@!al57Ze@GV5&3tcq%U7{xBQO2n=R*s@9#U)F3M!CMU1X){;LhKe<-~W_NV!W z|5W>rfa8VJ|Cb6(Czk_{Px@wj;tThm{6js>VbXgttH;pKuda*#LrJbayzsvb{H?72 zRndQ$-TzwAzdiN;jiZg#T7Lf_u(1=&!7t|F}|D{=0Pe$7~zVH#PgK(~gT~ER1m1jC?om2lq76 zj#9P#?H+V^k(xmCoATFXG|ho^E|tA?#_lYBYIa zm>uSsU@W7G71woGkH(C2Q7+am9#3golWdhDc)ACObQwm&{|r1yQf zXaBliToX_?Fg;VY!)4dsqk`6F!JW%mgVf_nd=b6hBuIBHyh-zbo>%d zT!krgy-x*sD!GW@sm^g%TRUJ+{byTR36Prco@<_*=nihIN7Bc#P5S5a-olZ4jKCl@ zYs+6;_nvdK814%A9<3wVe%91`0$;eP12o)+W0X6(()uD$wbTRuLgb z?1_=Xr1S5J3Pu;M52?tL+UI%2Y%=B!L1#+Dz(!53)YClHu6H#BgMyun9UjY%+CGng zT$@he(5yM7r|BZc;;5d2Yop2?6gz-6ojI`~(1DYyno?94&$M^9W$yX=L19_h@O-zh z^_eMO~v(%)`++8DyNUvf#H;znAE`nQfP`!D1{kEp6G^Eb_`!8 zZqzmgJ^xV9qE1DAx9C*{A9jVWs(H+U_(65l&w)3SZ?v8MqAErD><^0fSrMZB57u$3 z1L_t$Aa$vn`}DO9Q_A+ z4Yww>e8au7-#(DRUMRq-KB-|${v!?wIsfqI>b$VdVg$ss7W+g>Jgm2>y|(JX6{fW;V-7$s-B|(2L-IklNtua=-Ki9XcFGq zt7o?wo&3#o=dz)FqO%ODQ#X0udh}O&Jd8ToZ-3SKtR`Iu{eeLAYfy)>_xCk!%^xa1 zt@&43&I+6_|+bt>ZdeRb+xX`>ix1{tJQ^PNj>nGo5 z9DfbW8J(+35w@#W$7AiCvRjQs`WUwo@lWyF0IksfQT|W~TSdRB$CqG)Q|j|x4KYkuIcQVG{$@>BFQfFAwUeOE0!ukjf)2kZ-b;=j02Z=1|?x-8jzL`H%E7|<& z7x_zt{c``)KDjDLrn3FlIHb-DUbjHgRhV@8 zc>}zZqNM720+|~$cz^O+fY1p;RO0gDe>qG}Pch_0)AP*4)X68D>>>u{Z-_>j6c|J`CZtoJ6Es7ygI@g zGsvyZcXWUcD#;h|{WjYN*!VMd zpQ~>{|65G*a?NDNryr=_1s>d;^)rf{aF9FT?Hat*l3ZgmQ|Hj$B(o%UR2N3qu zE95}B(#!BcO4#vQdsk3s@^ZkzW{V@EKPfY{C*Njr6H68cm314d??voyM{vxW8SFS$ zOkzQi?T3;}av`;hMd8Dlr-_us!7DAZmDWLmjk?EcSmp68-LyaElivMun&cIZ$$_OG zZb||njYoU3(~~gnu=Tan#s+}*j?9=`KC zV;|2g&Q2Z4wLgR%9oos?3HzrVtm3~rRsW`()JR#jfc+M6{rrYbdx`&k^KQ@IJ@~J7 z+^}DXw0W)FlKk0QbJ(l@E=LdC|e|Hn99Z#fITiTt%~{gW}w3lw5gNwZZ$TA2S~9RtsP{)1MMEm_wi zb~JyP?;x4*g0|pDoy#DLZD4)=n4w+jX!-@Kwg0Am;o?--3OQK%M0pM}+YvR>qxXwL zo5ArvRQ=1F-=pW_7+x~>7gI}O#J_ar+!A`Q_b+hDz1{{_)vpP2b9MLvdv@qkn`k3; zJi|yN`ptjOxrJ~&!u#*eL}w1vH&?sfJco7!0Jfz4u9VUjNTb_8&?wAVd9rWRl@m^xEuy*+};9j{m~;uSDs6 zLzxV;Uk9v)@*lJjqkm)|^RNEsxydJe6)4e0Oyx7w;rP$&PQQ-#)4Hg)y_2)`F*sJx zeX&vfnwi(4uSLL{-iZntSRW%JU5H+HnXTU1{@MXIo0cJ9e5IDrLL>EvAS8dki%HRz zg|%U7ShPM8&oZ^1uc(k-JU!6^hRx3Xxgb;rQm_Y44>%0FcehJS@+3ijSe%wG5oKhP zEL6B?MWkPaQNwIYXDf_3L|`LXGyB6)JylhRBSa$AOydUt8n1CxU^|Z7)5G~QZTfU% z<*uj{T6eErNusJ(SL$KBsokFP>|VVJ)goJ>oL_1pVfGYkvpn*>=cdu0Q642Le?YX0 zh*`D{T*_&WgR!*APN8ao4OnEiX5_Sr0;Pt>N^PFg$g+9; zC5QVFjjqXmh~y(&9FdWE5OyVg@RBRiTT$n$P-QALMf;L#GoQX+Cy)0F01^0>{PQf> zbl9fxULtQBab&?j{bSekCm%7y|g^}b>!JV5J&X^f0zC>M%F06 zoZh8VJTVQE@f?+JGb>$No>+aTA98I;J|We|3AX1vf}3=G+Tm?Gt$?cGk=ogMl1^=* z&2W@?l-U6M%k-YT>|sqR}Axr73XgJjPF=_}ii>dOyATgG=%5m?dg31Cj5xEwtcOR@@zF2X)81svT@03fJQS;7ncbH&nvU)6%_Q@_}h-f$T(em zsOi)M*q}kL+zNg6-kpGpLq0-YTrhDSL4K1@4~=q@0`JR{L)kj=^=<1UpF(VB24P@O z$k$WJnhOa%g4j0Ia!537ze`3(rrPkG~@ma_pVocI0B#q6Bu;+2MxZWQ_;E=s=8(0#n4_(c%j zfa-nW=2Z12sbMZ)MX$1A;`=GwRU}6IVkdM`xo|r6}AZ+aqb7yM)=65SJ=kA*h ztdGTc=`S`h_|>+ntx0WMD<2HvgvVKXGX1cd?r*0@&0mZ(ZEHx%^j3Uclat4rB@MNJ zsu)Qs`d*^)pTH9W9{9YRD!DlOHP|Rklr|iC5dZEz=>kaiH59(uQaavTn6HipY7|pL zT(L&YgI0~d0cp!p2kr#M(QTRFezu3+vuB*&n!h5r;LJ+nZznbLCwQbj(DaS-?*7Q| zLYM4b(+O+l5gYq665F64rSQJIsyJ2sl1q=}@oAT2$8jL(kL51;_y+#^;@x3qk=CVr z<b zF(hw)Ox)d-sS-iWH{goT!T=N;qT6%A|EB*{U)9~TfoX@KC*Td}23r77$cLy$G9lO1 z-ge!$;}8!XMG9qk@60!#f@w!WD@$P=dLIeqRUvB@whcK^y^aPZC=4zMdYKea=sYdI zRB9*;?1(ktHMCXKP#*i(GjUq7Pe?P+iLgW(#(DMR>m-=6n96h9#ts%oachTxMMw27 z)tGx9w7KIXK2?DyZ=SaX3pCwmHIAh?1C5I+QbX$!wAJ2a!tI?-J~uCw@(Zq?d#H$) zo&@u%xIz$2$)uJPFep%-fD)Z|NWc?wx#BCJMYbNAmx>K+LPyP1G_(Wr(IQ{)-!q%K zSnC>JK${_7Nj8~g*#dr^llX5B3t~tVkv_l>>My1*V3`^&CBedAFef#pKXNM)nyy?-wI=4V34F(@Zw0?X^qPlKR1*cX7OfKRoHO~ z4_L`-Tc-MZZ&tzhnP&J6#X;S#)cInVS%YvQu zT6tmn(c$REY)#TepM?ajv0QK6bHAZAwEjFqs+ER-ixj6dJK^hx`qf7D)#?#{KE!oH zdnti#G1}_os`nT2#k`R4Z;y~T+-MYHXcxm*Jrx37F|H0aXiO-SYDoH-M=1DEAFSE1 z!6q?V>1q6hU`0`PjoLQbI_!RVM3yo?$t30QruGRG}!<803Z+2d^1B-=K%nh_gyd|S&?!<>9! zJ8innl9RKhn_yR`xcb@Y-Bv~BRMX=^|4~Rql}_RvcmlP(FqmC!p_zI-3t<@+2u%5wW|Jb^R^;m7`KPXvhIh)dbh6i6ek>~K=`mS4kS zjiSznJRLv0T@UqZ+uZaS^UvXTioE1~&C3SnFR%?%@D-1AHhSyZAGAzCKGp+^Yr^J> zYSsIZ!;k&?UFpx>v~;QwPfU`pk)fJgWiH$KUS6Y#a<3}nem8*2%OCFMiW2Fc@OFq$ z#Q5=WN=3Y%r%FsE9o~8A?D*YR7CsWe3m*1OW8P=)A}SgIq98H4C(MJ6=+(BD7$R&9 zKk&?jSdr{rYry8CPFu#=&?S4idKEFk=GG@1uNs=u#}lLrT3^=(C_X2(s$R687vqrn zIzv-wfnMkU2}{pV8JWRUe5?Ul>#qX25ze~TFNb0*DjP<&hT%{373vx*rx_pQ!E~Th zO^p+6oPXImrC(|}L(y$0Q1;HF1pmjKqBZIL7Urt5aQ_5|AJ^kG4RNiT9s)mf_;LUx z?vw=sk4Ju(>7ItgH1c>RPnpI{<$Wyi!?!+`@_jo-(5?Z4OrKKs13R7mD?ex`+ZNYd z#p)=zY5{u`SV22}_$!fqN)O+=VWqau$%6P0XHr$uodyAvaFtK(DY5LnUdJbB-(^cq zZ1~h(FMzofz8TLQJ{fLAAT!<(!W2q#Pl44_U$i9jKtTL)!zn=nmd41G4AAc$g5T&t z3NPQS;L6mF)||Y%bQ`#zZz#O*zMq+}4iv32zvw^_q>p%9*THGK--g&q;MyIcs<=Uc z5-)y0AJ?8bcxE0NoMbT10yDO^jfx}fuuRh*NgbW3uwga=?1?i?tfyA(bU!}jzhRbM z44=^oh(;I@oytK~2sZVPr!`PQ>Zr&<-pHZQ>puQX%}kWyr+2t`Mc>yEcm2!MUxwTf zv_>0;xoCA1q%|?qY>)(p^UBs9^OdGh>tVa@jF_+)4n>_b8#Dd1CLPY%*#H)MZJDq_ z1=p%K7N^scwTaD9j5wO47|YNQp|Ndm|KrvhPx$E#;;-~hwY9UERoqDQynuTESq3T0 zAUvRY7ub@m_;=9{gG7B|rWhOFN#(E2Dk)keks3-e@Cy))mWTaN;%MC{`4cp2f7hlJ z^=5)jaKXDGQ*n^_$1GRnRXfUTi&r$+fOATvAA*)hy*;~?6U0DDLEAdYiVsy1YH#6_ zu3zB4JJ*gHD-@nvF8~y#(!RWJv-SXai_*W(N$i|dF(dady6WBqGKzJ{*0A(K8IbKT zi%Z3&1A7&mb{Y>#Q+CQd!J_Udl>M!|4YntAE?%P3U?Wp4~?W>*kaxh|X z#>zGvn%F#H1>Cwn&kOr#i~6-I9S&6n*5tS&FWA<@tabq4Y)%#%{Y?{>GO4+45fP%s z9!*aPB}}Fh-l+mJ@C)~%kCVzFwumqT;$vVFk3_C=Mmx`v(`4Ofd`i@OdL?h0hD2)n zqP^_?74-!&Im5h*<@9>Q|HEowQ%GQc*y6t?M~C{FqLQp?dOFv!@5 zFfy6N>LUFvwN2t1Sa|Ka%W=YZ4%zcwaZZ)6#I}HIl*WkxNDgVoUKThHcO&|S61=p* zH%r%?1BMk{tW)XRCmdGE;CwQ_PliCE$fm38Y~67sWuy

Fux7KVV=ri2xyhezNTv zUxizYfg-a9*(qvEa(a(UB(Hs;23ONL5Q;8dJqh(#o2yg$rd!WceUqQ6hU>&7-4^uF z)vF_HNHgNYwY$GA3PFFo@)ln1^CWtbTt6BW+VG_t1tTzglV0h`e_qo-YF`>qd|*;w zoy49N$;0bo;1cOpDJe2shiry!A=C~QPJuhvKP~sajSs~bkmJ>ZfLzXZ>PIbY)Jt59 z@zM6#Q^|tuG}WFRNS%D2YTb$i=zVMsdawD6p0ff9V~&Gq=DWSFxkarsyvnP5bY$W11D~Qn1`f)x5 z3I=S&FADw)lI>Po+Tp`oO$_ej5ym=cU03)4;O2jT@VvD&;gC$^4Q@JRO*1(MOXZO| zFsMGq#yFy2z6mhgOo|^4n33QMA>nS?ZQQW{0A%;<-_+3N+I4LdZA z<9GfT-_z1=5~;}iazU?xio)~+PY3xQ%XNy+WUG&OKG;G0Jk|_eoZ@d?m9%;jt(JQ;X286))#dd_#9vImYk|w*1hL78OR2nVuFGm;{*9IQD@-+C zc&A(Oq#kPV)B{{T*o!gmTnkCF@hSw!lY*B5JlV7~`rS*buk~0-rJ3_sRgO7Er}s=( z1xlE5ejdx3u(p<0lJ|Jqt}HtsPt&n`SB}&Whs~`;iC|3E*KAdcfAo6)1WN`1f~)%P zfijG5*$TpX23A&3=ym_HO}En8LQ@r=yKDW^e!UZTrJ%tR<}%T#DP?Et7jtC+M1NC( zRSlrNYFkp0TM)hSxQn%5i9Die<=5C$`xr2aj)SMd937sQLu6hRCGresP}qWmTq(|Pxl*SXWbD!y@4bgB5cCcA*>=Q<{hyt z1Ie`lz4bXW-rJj_%VM%E>Yxe`qGXnp0tqBPf|0-sC5anfvH zzs~3;!(w$nq@aq_!#e3tzV}twd~U%z!ak3tPe-0UW0-wVufVC1y|phXp0bA_25hKF z0w!8nM>{W_)(TiSW2g85_u!7X-7?V@=qpa!ydklEc7O5KW9n>tbb$NA$_#G9yQAKS zzy%})U@ABF^9EclAeOoz-dj*^6Z)BX7&YM@es3*_%g@x z!|Em{Ekr*j1B59nCNPJstideOPMq>wSMlz|P4xQ$m(eDO2*3AMG|T#SDoa+|ie&@; z%RV^}s6eoFbXKDGw!O(`^Q6jZ7bhH5W1jciyfV3{dMlA9xv`~`7iy}~8oaJzTI@b0 zRE5e*3>rH}$ehe;Anr^m!?@)s4F&=+ABHr>ce`SMh!0srAmr=J8SM|RU6O27c_;dj z^j>~}s)1oC)UvHT0CjFqb&<|-+buwWu?at8#ZpL$SawqM=-~Tm^y}2hJM{`Rlf=dGeDo+tbRe_?(b&kd*Y9@=m-T{pa~ zR=~Q7fv6-m#cy!457MT}2~e2u5{DN?TaN{z9@y98QIzwdTVA(!4bN4pfI$@0 z!RodH_vHKKTLB}tZ53PTm<>zg(bqS|_gL9(erEf6mc_MJOnh%l&na$^ZS{fyw=8J~ zXGhw382dURlDkIv+iGAAA7#;GYugL0Y;hUbGyR3Pja8dG_<$5VD^MWbNRMqpW(qu`43)HYhf)NBYKM zU&RE?2Pg*~Q`f~6bvDkryJXK$c7#^O+~(Q}s#UE0VbZ7)n3)amcI7!0;=E|VaGEC1 zjy!J@AKj01`(?hiri3DN0@iWb^qw#kprN1i!qG zA_8Xyp;<1ov-ByoU8_oC5&sft{H>IM_$;1RnI$17Z zgdumJy|c>hlV;ayWXf=X2N==pDt?f#oBnjv&#z~FZz`xOxAzq9~NO9(9Lve@IsvT>06oX2$I=ZD!gyA-f5Lv0;3q@Nv zZYd_tTsy6@;B2}AM%yd0@KiUu$9H6-EUV4??x<+1SwR}%ho}+zE4N&V-$8ft1^nt- z*$pusbbH7LL#Gz^Hb3SOe~fNQrUSqh6H{|l&_YHPx~$R>0MZna$=;wj#1&SeXpAj60F~qT1N_UKtx8Oe4WOk?aYX`m90=uJbXiQ?>VNI)3!t zpQh5-6miy&01t><59!wJOK?H7IACn^#Zk|p#qFCdh~ERJ`vfZ$5>+X{waNsZt9z=W zb>^+$#VUpJ-oW>Dv=59N!)HijoUu{y=vd7kfCqx~_*VQHppf18`pW1=3$nI2)i;% zml`fWaprgZpgL|I9f*8CN!S)ePD-&7s$RuTxE$lqaBCbpFGQn#B(WYjch~|!)NNpT zb`29XF&$1fkUzNHyOG{ z%D(lA!tAoE3-Cb<5FKXMQ{ukfRr$fAVl9`s*1eY50@Fy(po00U9Zm8abtATG6rYh0 zo=)`R1n@?7_qpvdphoV^BJAu+jb%|qGeaw6V8 z530soqVLU%3T`woh6edfzxmi-8J-KQPxJsTd<0({2j3I);xr2D~QL zOd{lv`JP5@i#k@eMK2JyU2h~-?s&aM(;G6%3PGZuFabRGFx`gVj2a3GKVBX3R(L^QjjK|w5!TAYD6Liqi$ z8&}wA-L|9pBk~h52AXA@(YM+kDgqYUK3Q}7f0bV`R#zjhFaxi1LovXac2tqc6<0Ie zU|2_?rnnpHfHfwditCl(cEheuU?1+0=U49^=1MsA4b)>A8BO6Ik&P8zsk_!7xq73oAYi_%Vphht`LeC%|_lA{Fl z9cQbrALIO`vE6vAOi5I&$mhVFqkTKt^l|82TFdsBfjoFUpVU|0Rrh`d^D03b(V|H= zCfk^02o)k^sTgzflvf=RHi_N`wXt_gOA4ro{K}YlB_;_fSla<9N;$jxcYxJEN&)~g^f zla{vGbH+E8^Uo}+Nb0#(J9QMz=N0OXul3nhukh{H%EJ`J8H))4p4#X@p#axSpi&^` z6D#$uZk@DH_e44S4JkPbISunhWAQ!KSlSrzqtYoAq|ow;F0lb!n`m$HlHYveyGr3rZ_AYDdTr0?iTP{H8 zYug55KnZuqs*t$>XqZTRn-Sp9b&3pxvErKq;Gk-M+fIQ~l%8c$mb&Z#`(~UqdKL-c znjlMLWcT{tgC=;tBTavPmeVRh8??!1d8=OIEMWngQ)p0WNOh&V%s(Vms%=7mK*?(W zxqt$ZgaxX!G9&=seG-4jid2-uSzi&MuJ`sCt!QkW#L-8`S=@V~D`yIJ>_>4=Gi+3K z`W0E<$jxr-*q-MAqXW6-$OQUsSM0n|e#k~#>6Z_RG2$|UPHs|18%S`A5lx2?Oe;Op z#_pAApDBQMH}gK?KD^)Io2vhFXb&UNhOhVSTag_^#P`eO%c2Hz z=|woL-nA+4+y}+V*3zwNDu`owrGv6gJ>%9@kbSgf+$1`S2an&*XxMV#wZZHugFWW? zknOfZoMYqF?oQ$lT3&e!xU^9T*$Hn9MzOb2Fk0Qc#Vv`W6s>OBFb3@`btP|xRFj{! zeD5PbI@P_g3JGag2HpK+d8Apw^SlhNgXpMNk|!eqH)P)$YRd;sWo%mRl8V`ygb%B? z2(~7bc-_#tp>3$BAYGv3QiK?7EVbz3a-#Ty(QLf0{DF%*vZp{<1kwINNG-_>H)BwuRS2 z#<>Q2lt9NoQIrAaSIuxjouSDum z6fikU5%mCrqB}*bMn91nS!X32j7EhW7HiG@;ONnw=c;&Z_A;?H*NV>AGd>ZBCNfr5 z*he3D9oZGxC*o!56Fk6$P7Y& z{@&7emIRAC!|Ing6SZ3XD8%kPh3cGELYdpjM1eL=e`FExo0!E=J(ZXOfm8!;-Pj?$ zVAtFs*$_m)E&QmAh96AG*y%MOh`1eA0Bv-y(BIxuLPzf-*@A?<`F}o6SVTxu8)MX&wX5jX(`yNxD*I#6 zl?}29VH6R?eJA-{duHW2Q4j$Az5+?G!pFofRG(2edX})kXPwVq%Ml;uQNbDZ(8{Ch z(L|eglvPz9GludqS>*1MLJ)dSoXGD3r_5G@D_@sWLq8kLkQ&4*uHZC-O(d3eg=L3` zZgbyF-hHm35NE6XRLTlt=;NO%j{;K_u6=|fMtc8TZ!_hlnBB(G^~pGlpK_~ttYzIX zkuSUYe%X`EiaCmRs^=adb2a=lR7XzlOzop&F^VvB(kvH_e?3A!SXJ#kY-;-~B>Lh= zTbc1nSsplQISQSwQ|U3^ovxQNM`MBZz7nwIB+`pzt~Kd>f`6b0l`q@My)8gy$OpWF zq~!CL@P|$R;NXeRH)WS=21C-!V=^1tT`yT_x?Iez2kvvZR*}rH!|KkN4wF#jdSi=x z4qJO~+?@9GyX=W}r{9!0vgIr&a_BSFt$byMeA}{bOzW-H9Pf0VMp<~9A{c?Z-^3*& zYi4C@wA$aTUWgN1k#t~jjOo4Mpa?}e-g1gz?B6jb7?7#G?I}{$MOhT-DemBsjPC|> zn{T>sb=0wlysMDL1MxM)0WnziNevIj-OR9iR@XUn)l~9GWESgw5M)K6VYupay&Y7Z zl$Uu|z2KhJ214CQgs~Bfd@k6cxhdbw@(2`hTZ5dBR+$N8j>p@-{-N%26S%o^N*~!m zqUxD?IFeUDte2QYhIx+GUrN0ez<3O3Yy6mqb*J!S6rDr&uwbsT?slz|R3-kd`ow~* ziK00ri0SM-=V1prW%fX|xg4gAgj5KLwA}}fA%C9X-;p>|bkG7v2-LCi+Zo?|D8486 zyQnfbiUm_X{x8JHV}$7imezMSRgg|2Olwx<-lUe$5qDTd$r*I9Gp%Oi z##8eY*H!s^;ItgR==e2HymHcUY~v!5japdGPK0%wwR)0jO#WfQNKxIcRbB5&DE>s4 zC`z$5-Bau2#ZEDvQd*d2Bn#`!IkT5C9{;uit1>T9g6p#el;E7LHp^2SLWxp_@g zS&;CDj4ObC+xFmfiNiV@K)0S;h_Q655kScR*X~l;aFaIc(t{u+Pq31fg9ePf8AoXI zCQ#UXHzE6tEwH(+FY2qKF+WBf9fm?a7gi($Ey695j$}TH+pmq(B3>)mwnafn9Vw%w z<>(l)>+RpXb+}QYWipY@`Vw`tZ9?jUcycC{lntQFQT$oa;4<=~N0jX2>a!O#)mlS2 zAX1f?O*f@XR`XF7YC3egOoC6K z?h`G(eqV~K%*C3D^n63(6%*NcaM#VlM$j3zFuRBKGH=XfS3(6#zs~^_M;2Msz5TO{ z(I6gSD9ugb zN1|J4MnI_$cUaW|5ca*O|9cd#CRrf-K}NDppS7`#Jvih#bN$;F!3JfF#~+Q>UYK26 zhQ<`0;9w!hW-rQ3hTUb&Qmv>GQKpHhj16j}#iV;Sv{atNvv$j(Lec)JYSZC8?tS*` z)}Ao;nzvC_IF((h#=@?cSQ>}OH?!BSC4!=k=|*h`q)!w?Uj>V8TkM;tH&$XS*OrHF z7=hayXd9k0%=yyfMF&-c)kLhpQh)cKQT}R6bC7ONdOQ_4pBV*>@2M`QgEza%`*ofI zTU!_5+3GG^H6w;-_c$ws%A+6_`!}|4tj1g^XM(fROk-czcEpDIdZ1tJwE%3N?-o=x z^UCTKq!9eoYRZrh@Ekl?6=SP1z8qXDuXgYP_P}yC?XkZ1bo&87;CSFF;^T&ucBvhtp5ZZ3H8@>-lP`EAlD}A83$bYAZ)g?hY)Cfpaq93$qWhi*GW)fgtN9?m&um`U;gfzZM#`q%j5n@e;G{HXNz zP)`iaI10}v`XHzL$BKtEwIAi}B5jUUC_~k)4OLPeG-M>h)Uo|9<7n4@e9Ei14sWqR zZ+x(qDmf#){6}C>Ie5Ce$Q4IzCSWI(aaQv)U-_3uKa*l1YqQkR*{e|aqXxUwP#o2T z6fZQhtfY<|xf_kl{xL>17%SbvTYpXun4JTy-ST97jYiBRge#g4>W&l4J@#6~H;zZv zSo=+bLk%~JsL($jzO3ng#oy-rIu?b5A?j7I6B{e#35%oDxP)>0s5UGn=rfyPVRpxA zUUx=OR*>~#LQjQt`&O^Mr#%AIWKUNq)Xae+tGIJlQ^KM|*SnP9{Ccr_fO)4soSzYcxTqBv79hac3P}O2Bp1IQacWo%Yq)=B}4C&XVT{w zUo*Rg>s{7Emmx$$LV@S&t!=O?W2wY*mRCns+vk;2rG=}1x~6@nlsCc8Tb7^(TBfQ@ zc?N1istInnY6i!0W9W{$5ozJq^1;a!MIR`Ja>WNE6eTgeZM?KlR4YLDZtXRzfl!`> zi7GLpQ3_N}2kJw4VyM}cl;+5y`C8jAA)L2`oTMp`l^>iOZKVZnHiV}-`rnJrzSiHp zk|wHnIw;8wwPES4OsE;eaC#+eI_Iql!GlwMGBiBqe!!e0&dc+_9LyfCDO1Z*6!Fu1 zPPM`&t^Cb=)VRi27;ErpvByXOpVBA3a!ypi2Qp*yDtG77Ki?{yx@Z4@#Jh1r*b8ri z(tau1iZw~T$65+5tbE4g5^Vekb?NC1CiS2)i2LkA=6hQ%i$?(OhfMJr6P3y5m{g%f zSpto6bSB{|HHFeIxlFVQ)ubj$nIUXeuFDlF@_72QvsNh({Lxib`6E9U*%GlEvJFq6S7>3beCepG+#qwtD9GLJ>V zslK_)SIIgNgbrZ3nfHBa%`MB?;3ZFm8d0Iw^BUd0<>i$aP1KH1@zK!@g>wX#@!#2S zHC!wKh61w*H)p3FdYF5SLcV4O6%Yle!%UDBHKgjD)ORNj6~6GQWr+<}zdz0G-d5yV zvSPsmk;|!NoS9i*1uu1T&2urAPH{doC+PtBax?GooUt7jgq5~2nWGs=wBF#bOpmfY z70+|A0|?Aq)n?!B+skgBSWAd*ct^O$MkeG1=a&$WCi zpe{0{ka#iG7tdLwGQF!@`B1;Yj?ufqkFd;Al5L0KtX#(Dxz5q*r58u7+ZJJ8!5Yoa z&sEB9M_yc1hnpU8}igX4!G;@L5@=I80-T3gjwN z1?IX~gNE;)&L5Z{3f1xx8_HDT6cekxuHld6ax`Zslf+eoOUu;~VO`ya?)NJA1t~{F zbEpZ^c{Bat2h9)98U+e?c%Cxok^gf_1=8X%aEb+CmsQGK?q4zes@sl9VX^Kz802=3 z<;sY`^aK-|=XAC7r<{-ysZ8U%)55F)_~Gk1=br5nDdkM73e-)oe#C}xI#dp9oAJhUZ43O`=#>56zmz-pY@KsGD7wqfv0>|)Rtbg z0r4Z~M>oWXww|E8GdGJ2@M}!0b>UrFxAT}Jr7$lO%NO`m3dQbLLqj9_n4bUs*A!#s z2nh5?-N&#qC?6+Jb`{ktSFijcu3fvLWa!})i1KIrd)*I28K9hfTu@h(Oire-_jf3yK!0exYc8-_UqM@1Iu@s35f%>Qu?YN0|r?c;P zWDN~Hi9bl?WS0~OvW$xq#rLoOro&oXnzQQ5EY_9xLMP`y6VL!cP?)T(4YI>BlzS z`}rZE+SeS0Cb#y#tY5Kd02QYxts7miMr*c*XGQY8))H^%F?*bQJN)>Xw6DoSuJo|z z^Qi2>&BbQzCF75MtDS-(`%S>F{$i?kdK8kgIr>#?v5L8G>+}Y4-~Y9{eE<(JY)vzf ziTGn+NhbW%mpeyI1}7!{8do|<+u!k>yt&&Qkz|KIuU+d59DAC2)z~@Z;w1jzpIHg0 z_jf{yEk1~09Og>JWs$#ES*J?buc*~$H4pF^8`sq7?I~Kn`%4KafmqPrgolJQDvoH^ zwqMTR&yg2#0l%$tn=F`hlu6HWlVd(gay^T@^~{Acbe!q9QyS!e3w%nXJ{!aR)u0d? zt~BsfNU|@~D%{+*n4(%Advu)-(^4RueQ3~e`4F#mX!*@cRS9>x>Dys&!X+-r=&UM% zyJNnbN%icKQ3&uzM?c(Xgz*4%rWl3a_v_~=Iv{o5sVr0HNqtKAIT$~F;Ki&}uf5I6 zW}BZ<0=64nk)vjCSKNx*HDtuGOswZya9cX(^wB_&t$*U^p@F)qzzn6`u19_C#fVi(|qX5Z&_JF8lLrxbf-$A&>bBv#UgX7U(`?~`xgHoTPi|55fH zP*EjayD*NU2nq}!IVm~k97m!w&_I*3geFQ3k{LyE66huefo?Li;a+Y81p670OVz13 zGD0W!eoejhSLL?Sun&lK#=3DLF9n3FQ@k5Gd2`IKM{=aJt&;nBwjl5CZ++j}J*?dK z*t*{l^-1`fp7O3r!$sDNPj=BHReo`Nm!WAv;lpZ9T3sm`h1zGRsWoruAAh}S-(@5B zVp}^i_?7Y|c>c)b_qUIZ?peLR8dM;K6rNWcz5#dOF||>C`l)el_U-<_)36Hr)Q|*- zSN!3MxyYB)j|OR@{QRSMrpAtehPDz8b1TZWzMM@h6)G-tQ9dxzTvx&g=#D9?frB4_HN zJ%9V*==Q5f$OD$7QEPquSCTJy-xNa5L<%;)M1m^hY*2rco1~bWIpO{=nyQdQ!!Fdm ztsHqeQ*D;bd>O`vRgWE^Y0;SmS^1S=-vv6jx8|mIKKO3vE!7-FR6^AEiDg*58rN8{r57pROSJ|2> zQ4H>!ppn{%WS@0M8%%hcTEB-Il-Zy~Q3?K;Uhu{38^2%6nGs%}G4?UnBwHw?TlSebT;)8C%{codTHvl+(@_TIkW_xWRb zQdOBB>l~(1FSC)`T`Q&M)Tf(s!Ufs{^=`jvWB5XPv!5(zR4)e))jrg?p!fU2B=c2l z*I6jc z3*SZYs6nml%w?Uu0V!VKPneJYnTQxaMpVPx4Ul{$BKo%=1nTbW>1GLae}+{ zS{?vRxVuvlcqSxvCnhZo&Z)seOHaMysk$vHc^I6GmgDT-;E*UoNQF6Neit~}Js z&Jqey0<5`<)^;;@a<_JNa|H7E4^NVp)Bcwwy@cA?*m^t@;{}qnJS{x#47jV$zt;R) z1s**+D-53!#)$q)u6X(RfrkGty}F&g{ekrdNKsi4>)t&qtb4#8*6kdY9M;3%A3S{U z`@@G19%5rZe1!W4E-nrZ?o)h%Cx4JVB_}6)N=iye!$e0(#XwC;`i%1#12YR7I~xTZ z7cUnpFB2;pD<+eB*x1;(k8p``afw+eNhw+X*Pq)jScH%6zkm4W{d@FSzY*TMPk8UP z1B)6k^0)i8^$phR64}d!TcAxO~2Sm^L z9umLM#C}RjuVwB^LdFl#)_EJB0MDr!868^|7J<5XB*JnL6-$p8L}hg?EZsfdSAG=` z6q3thWMWpdPO5GjKTxoG7aYPOuhfBV2a2KsZ20^0uN|18Fopn$VuXN|!0m&F5AWT7 z0EhvtOZeM;zzWUZiJ#_-JRo`DT5&+n4>5lm|CJ$O>7jsZrF7Gg?r>J7ZeBAyo@)V_PswUHg$1<|Q`A9can zB#$8KeL;dofvmUT2jJB4=t2Z+>QUF=>5AW69<=!;YPub!kFW0*{6HC0MmrJbSU8oC zQ9(jqI_f&Z+Q4RHy--@3y4G%F#@2OEveBKGZ<1WS6m650(cyZScG)Uxz9UDdtc}B4~47WJ3OUyk1*nm%g${y5%c8fd|_K6rSP{&bB>lgv)W%c@%KR$0J z4V>BE%}f%q4D`>E9-C#snTr#?@=?!J%oMLmGGXlnP8V-ilVEK08KTqNbPLoR>017! zLZV*dit?7zE!5F%UgF@`Yfe*-9pK0kt`XPx0&(lqRLRJeKbw^q5Ui-SG!3P!?1mIT z@VbQP3%q-|M0?(R)|smIt?{Ex(mba}wyW3J%inPGUM>|F(NTKZsHc^%U|X*^xTqt~ z`;D{uY3<UERh8!NNuPm!6&Vy;GaxnGv^GXQHT9vmX%`gEJ*bp=5Cq0RhyOV#`BM zyht@68(WIkLnojd=m-%rkgo9J2p6tcOv(ZdQQ?6r{sTC&e;?b$Ftny55;cJ^n zDP;1N*8zHBqCj-~9b8ON)1TU8jMLpEB|_t4j--^scH&HTzS_z8z^)Y3G@*!uHGj6c zzC52qI>%nlBR z0{q!d7bQP8O_t8h0~;Y47C@tOGv-YV(rfEyp9aFtV_7JozyHziN>H|0aD+#9pI5b7!#2;&!Z0=fbz3@bhbuxdp$~8gFan-uFh?2KN*RH+|A3Xm$ zmf#s`o`;3|=hZ;F^DWkF#7yTcR-wf$R#Eo0v=i`SF8l*j+VQno_|;;Dvw6u_$4HDJ z7#%o^7KqQ4hWjZnh32q{unW!waI>Dz296H0pgWrlY%L`-4}50KKV3g%^MmPVAaSdi za5bXg_I`!PE2}r{vzo9D$BkcAQdzlsTlao6HRUCab*+eLr9!=psgDex)8by*EF_d^ zOk#tclxcbpM@4anzq(y$_Ybs2#zFmODO)X&7F;|M#MY@SVpFp`X3Cs;d_#6Nv3@?a zsQ68C{sP#L<}evM{-Wfq_pS+kV6-lCc3^sJ3bJ^w2ZXL%U>?k*K4V3tYxizi*W;#U z3i&KO4-YOQS$XH1T#YSH{W>rpSy8LqyegwONy;h5^s`Aq+ItiU<7vQtq#6%lHs4UC ze;q|wo3&W^eVnL{pqxB2LR|Nv=BDYoH@o*nu}RBa*(D1)Uhxs-sN7fLiRIU^KCW+e zi)wP}WmCMxT7Uh+y}y9BbD1|a(C%%g#lbDsR^f1mtb4)P2zY0P?(wfpbsSVn>)Hr* z$|`UsAI0E(u7Zeu{^97%Z+ zJJeIErqjPRgNJ_jn8&a9=)|m^(($#a2)4EH!%4z}Vd)da>}=bgJ{t#Y1mcUx4XT5Dyjxev0*Di7;e8hSvd z#5EJ(i8T{baPkYXREr}gusPZ%>Lc38({9{@t^P&54vaf@jTx1H+I0AK?#^x8Gw@~g z3Ho-?^=3vkOE2BxlRD>ySY$$Ix$jg}%^u=XviYfG>#BbN-8WVnickSM&h|7KW{PVlRUXaI*RWr;yb-mu0sQ02J5Mj5yfpVxuIZ6v`DfRGDzYo<+c~vpe zFE*t@tgyN6@%@CpejA;2iDKieH#U9qBrrpmiX(tom}XNvc@9ZJvL|FXdQwScI4^QY zbG(g9G(e^MaMSUw`^0(3zLfJyvFCbZ-f)xRVw8>zYVkdI+Cff4epsy*dM-n<;&~yc`oTHtFM7C zeCTTOiv|CzNMwl|30Sj8=;~#kPR3_FiBvBMoYYrEmi)UqPfUr5C%`qhkqG9-@uYsd zzy8As?i=yX-3xb!48B(EDNDV@szTFw-(qRdF$^^rQ5W!Kk?Nbet2OO;we%cR?TCH% zetIo;i$!=fRu#T#wPK}-MV;T2F4=*DjRsG{I+m9H_oo=<2A2qR*x5SwFgHOWqt z)j~62b91OqP!dm#e^C2Gfk%oMTtHuQAPcwJ64#|oQoE$rOB1APhYCI8{o!t(awSEr zYN>=BQf49>+);-j1P^(4J95o#N$i%7HYb1EIQuoWd3|A2iRT&HCa%3*s)KKj1ltpD zkRT=IKmpuaC7yY-EEHg&tr28Yn{06jxps)MshZ$yq@FG?boML#?$zTx$>TeEu@dCF z{>zA1QYN>hOn5PL-kbPI042GxE(=x6*RBxCL`ZRd4z98^vEz)g$HC$ATdd9R*w{jA zq?8n#6*G!F52C9#OMowJl~lJ2&6H-ij-@Q44`i9r8R`u_>s>+miI9rj-FvYk4%WskQ8AGmNu_wxCl$1PRu$$Wr1$2a#HV%aXP#8Ne}lhMs>7-zEXP#P;nm@`CvwxA zgZVmG9Y#TF1RwiiaoEo!$^G1twcUjKOdBdh!7`aU1*(9+#Vcag*E=L^G1x9R` z=6+sjQc=0#DjQaOOsq%pjXJ?Qq8IscrBG{v#cSMQ#%%iKp6FVvPK$MZ{)K-~pfPnG zrw!E%p{uJ|cgfga1hJPf#$#mEt(=`JEM%ffn}b!6el_HE&VS{rrI`yvwQ2&{R zEWP07t<>Wi7FrsaYo)37ndF%bEw-W!;#;ifPS3-O1OL+NJVSJ-q$RAoYri17FKYYa z{Z;8gdkc3?d{RSK{dpk@Pwf)&){u-qO|7n}GEEDq;#vY_3sIwIvG}P_K z&5WD%(4|GCN6fPDSg%v`t9n<)zWZX{G*JHiw~Q4UiTSsr79hf zZ4eXk{W8}3xsB!O>Yw*z6v-m%R0GCk=kn*Gb(Eq$vHle0ds1_JY;nRL?)7$!UviN! zyq`~}LMx-F?R~+(*Vm;}zkAwQBF!iU>S&!1B(Eh`YNkMe0<|cs@zKkwd)AvzOD(``E z4eJxPEpy)KCv;Bh`aK{)RuD?)v4W{q#_n+^hg0GkJEnS?zuXT}wyO_3m@?ZR|J6B> zo?j$KJg5j+K;i&z4OXYu!p<|OMcCcR^msZfD}_RO&?k9{A#WllOt}N!j_2jD7D;dw zFqfAno%-9J8%^EswwXC&cT00CS;tp4%_w0Pd``VwTw)0EiqzaQVm@!V?DK2l$Z8XD z1uL@|d1UU2b!Jm412n{lV!g{Ow9Rs7i47d$o4B3>27~z#c>%7;c#tJ0mK@2S0jEky zfj9t-r@<0x_}o3!AG8cmA9=C=1|2DVTA(4l{Ff>7{u@susV(N&dJ*X`m<7xtBi#{c z)d&K%8j3@u++uYu-Gu*-;KmSa#!<4t(m~RZlDjhJk?xnN0$s#xV>BBG*KKaJ^B_RA zag9{>uvjdzQ{;UKn=HTf`dYDg4GWb$Se(gYa@J(e`r*Dv%H>7el_}k3tPC4pYS;b# zmZ>4vl3KpwPe;wv68lVkb7v^RO^fjaSG$5n2gFfE^)1#9v)O8yqkFUKM|5U6CUvVX zpZI^b+*y}Fdk5tT9;Kz06SH(%*lyIX0l)i&Gx+LzmFLdhVtH77wb6g_dQ*T%!!RzGkz=(v>yHjlz5*0N<$550Prq;+EVCWjX#Hz-o2pW)v`8a7qwcVpp#EBbV z_cjaqqOM{uKf&d(%``h1D!m<$_~r(sZ^{OrE76q>n1dp;eWd*r%;tR&j&=+*f526x ztfgwi?J-4kw$+n#!h~Uz3bCX-YnM7y`q$aF9y8Az@P3hmQ~b__(zG*dntHkPFbz1K z8lDi%B&%IGh+}rmXfGksO8)ERC7H!dmr4SEyS2eOzi8$}_%4{Z}#Yo}_xVxH9DiHhl= zXoRfG$X!QhQ5;*R;^ofp3z6uxQ(E`#H6dO21KeX28*3S4eHFf_mcz13t!jeP6-v>d zIh%fq6+ocQL$QC)X=!te71_JB z`WW)$6Kz!)i_wuxWfEx`U5`Sf#%mq4uctx>dJd zZTG>RvT&}y3nc~4^NA{U3*LsG7GIgh919G(wUba97Y?y%XV@uQlP8U5rh`kTt5}%*uD2uI3)`ONwaqEADfm4i7`uA+>*4DDsT0+5u9s`jHhJr|&1J08^R2;T`UV+rDHQiZ z-vJtCRXV1<;xRJy-+4D*@>)_}x_)W4W~6>G4M~w-wN|aIx4r2eUGf}HZojT+Y~0EC zEml`_K$ToO2&8M54RD@2JfIoy&_a2+Q_cuvN^Irq4qY|BaRLxTc zyN9KT58xKA69;@KoE7`VlRQZ^(1*!6$1bA8XzsZd7;4lbZdBEjO8P=RC~UB?@6G;= zbx_|r1u1_lHsQChh>p>=K9Zj9kalo2Onawg%JrRdbY{9rRF$BM=zMM+UUJvS7p#xFFA@ptgn4LVd40GrX#|? zHWRCyW}Ok!?q;7)n=f#$XxVOQ#m?O28YS9GqDOA(l9Js*1&9@e3UWe zxU{XYA-FwO%q>zgu@^`t%nS1~d#o5+W<1aEcy_9?W}tuJ`pPZ)a6^ZX&c7n=;38D- zUE5L<<)L^v9RVm)A>~zZQ5Tz(dnpVVSc_!5Ql0Etar2j9@==PnmYiDya}YTk zU4@Vka0tjDIsu%SUmF=mf}Gp=m>GEKE8=evcq5HUbqg)ixBgtx#}FPZP}R- z&TauEpPDT4tO<-IQ?wV$dXc_C4bSTlGv8k3C1Ko=!=qBc4qdmQ&?-*;_&I|#!eD{L zvG!7wj>@`TYxQ$-H+0;+G?=3oeg0&H08~98Nuw$wk^&7_-4~DL2}9G?cQzYao&N%N z(^+@~;dBNqv(rYA$dYFW8IsVvY%8T^+!}|AF;3LN3}I$5f>STb64ty`)4B5g>RS>u zFERsV8ce|F+#Guydur$2IHI`@3^p8x@7BN{KsR&NfbH*kmP$5b^cSzMonzv6nEsAi zO-*KNQlW{;;jH6L5AiJ%g)}C(C#w0`sPbkkTTt||c1JfScAS6n&Zbz(=2+RWwmHw9 zm0R-&cn$O`;$LcK6vs!Qe)FcI%>n-X&Nnx4T^-Bo^BGyreUiWE-j)cZt&M%1Y8xvt z3@C$WzRya7?dN>oW1G`9N%PZRTLYlzvlmgc+k6|oXOZv*sFw}QRlC0|{l!v}fQkptRRsZ5%s2b+C@(2tgX*DYkGUtaH8< z0l$07I-XEsPujV~N_01!Ieq4SJ|8f&aNw|{bw-f6N^YOx-yL6tBBKVg$4XEbNV6kN zNEn;LIQ)J;m0SyBwp}HEQd!4ZY44LP0ZF!3r%~3O-0orBobYQZD|6p`RW)=fP1m$~ zA$>T7ycfeHOTG~I9MKx&Fto5 zHO)SZicAuqh(Jk#S^oHuGpG%(S1?nBXeyiRChbS?Es4nZTLgVgCP%es(XB0u8NE88k%kT|9NgR^k*9>mk|n%f*Bb(;oeUy#qS|!y3Jl+mFLB4D%|%rI zk4Y!xO!hAs!n3#&D&|_7o1unPEjaQZi3J~bw zM5TLr7HNfy8Pd1*q>ypD46w|Ky+ga3RqxMlB$K=E^TiUK?GvvE9=%p9Eultrg{U7? zb)LC~o{*ZKqh>8oed6TNLiW60EKkPYe?+Mu^BempDHgBVz~zDkY=`Uyw^(eGlt}w= zdnK+ZutpIR9;n#Cn0O2#0zxO)_CyXarL;36qY$4ilE?&+DkLu?3j5^uSWntiJT5=m zW%WkajJ{7+)#CKY3sF)xy2T2!TM24KO1sAPp~?H_1bQ|Vkbf0v3AIbddgVfpK*!EL zjnBr`wEUE+>x}FkklYpxFX9k-fFnzn{`+;}CYBQJbxCi~GR_Ksuidv;m1r>*wn}Og zMV7g{oJZ)O6xMCxn8p zPl#!1@p$l&i|=#kutW3;3>pW7(`G?)CT1ax1e&q!ZONQ$-2@2 z^XH1o^x#XVNs%esMh*`YqJzV{H6Bd_V{Bw>)S5rWqU?R6Rz;}!CsyRY{bwNf7RxB- z+A7FkTb=8_;Xko(|CRXPUmqsvoI<0neoOAs7E$9Y+3h1ce}Gxv7+K5iyK0X`Nd^Wj z>sJL`R3(e)iaDy#f%Vx@7kw>Z7pPZmX27zAuwS}s0YxbZ+0`^h?{@!@sE>=s~LXha=NUiNs zQAQm|2WeO6$~sA$;gh2u;`hwOR%E0tPeQ zcO_k?$fb16UXzHXaqFWP?`}#dxd}>^bnWHMM2nbpA8cX~z%JD@z2y48dj|LON9Tt~ z%DZ^1g?Cw4qi`vSeJ!pfYCapC@0oUAL^sF;_f>wLjbVT4db|?eX7QtpvfNIJI55?O z$DuRGpqG<|T87E}+pB|v{Ou)&LCu244(Y*7b5S;r}K-WRb%f-PpBnVfr= z*`(yyt;JbDzCpL#lE@7eHHfMEoJYNT1-Kq7lbH)0?)?hCwms6&%&q+da!+#; zB9*xkOt3T73U0A}yP3!V{3GW+asHs-x#8)XR)dZ;d~-9hxNi)aopJ*p9#!3iXMRWR zho|L4p*FDbSfl8&*n+6`i4wENNxJ0|k9v*7KLi^|G>f#H)o#>9K_dTNGYJu`cYqjj z1?bH#yz*}qYg=)p&g~x0lM_%OPWj;~=;GR@Qse6KF3-27SoC|w3i7Nm=O&UYx-l?5 z&79Tpu-}w`j6wx3JWpK6l4_w%(+=slZ#|I9z{KQTJ+b$RPJ9(fJ;kv`?bA<7U&c9b zG~uw!+B05&<33tl@HFRPS}@GfYsbLxsUH|}9c$hCPUjZuzWCD($`8>$_9+<0(6r7; zV!3(nbwN9%XepPD3`g+wpYD?9ElYu^Cy%nB=i|ZAha{{u)>+(JH|B>{QHb>O~?oSBh}9wo*?>h7A=us*%}nwqj7#!=nHuUD(7G(0R?XO}tTc zMs|!U^sgbU$R^Czy^_vW8uveyUcP~!;2cf;in`Prmo|-OBkr*GG$SY&0XDLh3aVd3 z2FUuKw5$ZePY6;FAbGTSre3?x@(b%szOs2N+!YmQv+bvY;d0T{5(PdQiO`O!*gS3JC(s zC%)HYZFU})Ey){&cWT5N`PViWb-|agh!vrKli?f4GdiFR)U%>avN3HjLl0qzp4d4y z!$yv6U;Z1do)ruvXBYY}(DyQ;(-s25f=9Ma0_cXME=Mla$7y|rCgVl}bB^FdJ;Yr* zfhbn92YG-xPnN?;9-s!=O}VzaX4$5bcv&frZd@$sCHrc7lU=guP-!-w4JbJ7Bj`&JRHu^^D8rsVw3X6vpy{mUWW>k2v*ZxZ$f#oc|1|b2&^vCjbyT|WsN?U}c{FU> z@_!o<{!bZZ4R=P^J@4?o#?&_At{Tl7SsZt@P|6ZGDFLkYmLNp5V4ly5A09w8oA>{T zSIUx^M~zAs{WylZ^27nv)X2h?13JK>&&oCC!N+fWxV8tbS=h>WWZe!x4^zLNcj>>j z|M}1ic(B)6q%4&@QnE-E_>7uR;Php|`%$?Ff3Ldj!}kYk!(2u#;N4=<6_|PD7rU$!jyYyZ+d)enU6;El}X}LGKfByV6Rso2u;$=E&(55u=j; z;;);>m(4t$Ni(m!ZtAw<7l8Mc7;dr1wzC|Rb)zstiumi6$7QpK=i*h|m2K1D? zXeB_aU%x~F?b{p}u_V|SV4BxNaHDi1GV%Nnn7@1gmI+VPc@Sk$m=Q~i8L`cJUS?Ne zfWFc{S0CNT`s7ag6LlP5M4kl906W0bp<4=nj{U37yey}HHf+{v!<260mF<3uwGyDY zfSSL>I$zX2R3oYI*DcUKXf&a1YI1J4#X`3f(aZ%5-4#tgg3kmXm==IwzBhX}8@E{9 zmxwp6XEHZ36Otj}qh`cK;|H?=wCzoC4U6cTBAWT@!CS1j6Lo5gBITW;AMMY;jiBz! zye8D0%!(m{vcDowBA_=L$J0l$}Wp)HE$SS}w`NJ<0V?Vl)G-&-u#pgXk~rv0Ps%&z}eT6GLV>rfHk#*P;Oe7}QQ)ZdPwxBVrc z^@iLdKxD}5Cl7$GK0DW)7!>6n1;;OLjQ`}_ytK(`oj1dP`#&DT2B8m_0baq6%fHwO z=mMk(q@4e838XYP0sq?+CV3z`iD+@@)QyresynPk{oRBLzxCe#$8yx)UPspd_+|xY z6N0otQVo{yq2e>Zb|x>))>|xWz!2h%JOJ%6FfI@O%{%%Mc) z8wR6AG`SF23|e;$;yJ_TI|cwe%MjPyRod-Cg(SE@=Ky##ibs9F67Rr2=nlIFs}pj8 zG_Cfn;{f6zo}cPlG8);Es0JAX;G`p&U`l|;^A3=X%i-?1!}Rz6V!G6)#yf8abOiwK z>D*dh0(ifI`Wuo4e}*^Gvgj3KG;{xr%^RZe#h|9Nr%MW2yjdONoXsRX?_lm9z{r+R zt+e&dG;LMD*eZL}b>|*fhNymGu<+ufb3_u1y0aB~i0m#dTk>xV+o?2;!aJ}$k3Mt=m7tl%;qv#Z#oYb|e8}*@4rE0I; zSrVb}QOXnZQlnnZmt5PqI&j~|d4Hw8N9!$iR?rs6a+)Qd7h9@sY~NKU1d{w-r0`wDZ_m9i*FX5XN!}9Q&3pjC zy`0gYh7-T<`#0+tn8|AbPS(QM{iFOR_eeW{aF-I8ryQ_w_IH!T{v%ir+(7nElc?u? zZ}~>&4m1e_Rf*Snj%oXY}lHtc^8i1G4ryYHJ{1060~2GS~L`c>Ex(<-#Uz*zKI;=$Aiaj_K8 zkMV=|6e_)pt^Sk2zm*g7nPPR@-7cpsH&2|%1QBM~^=3&UIoRyRoBGU#yW=$164iql zy_^58wwHth{Yg5-ehb4IO_S zo;Tbs)cdUL35ph8y_d1$ox2e~Oya#Hb%BPT2ON?}#+sA8 zGiSdLlhxHs#}$&)0mjFP%1YRbxMV^iMmkPzy+s3_q!kD1am=*P z?VAzvIR#GRI8^N>)=NBZJl{-6Z2-Lrh*a-S->b!xnyLwx- z!w{PHUWw&75s0~~Y&0QW7>D%bKsDp5)owOhb9Z0zep59SzP1tHN!s$~U)5%|TD>QS z{3Oa^U~znz=1X#XH8k2Q?DlH1Y8>B9l*UfMS+V7CiZ|LW zT2{=eN=t@|WLue7weuj{#P5$DcWK%W2=)Jr)nk_6SQ3-?D=+Men*VQMj8rb37da0|@rV!N95h#>hcBW@@P3v~`rumoB&SBV$yVHOU z`nqtXXV#-2th_|w;^S(zA8YlLU?cNY?7X*(NNe_Dkkg>~A(x=l_yB3NIxzRO> zxHRf*kA|YLDmxX3-C}-UQ6^)IWa49Rs8N{54_E=1D5JhXf}3-bHT&%zae;X18%_Pz z9Iw}&3@Wsz&ODJtq%RwTIX}9j`m)8)_fTj*wi9S5wg5=JX=egc8EdWq{Uj5E00(Fq z7NuVk;Q&Gy(7y)Bry9yCBmmE+zju^~%L2lgt6~p-S*b9t!b*{9s3~6=5fA)JO)84{ zCzx(%31n#k+_5krpDJtevnFW@hzY6MGZv;kRbfq?ukOkPMa0v;R_jysRo3LO=w+s^kEutfeqB?M+iO;k30bV?!bAgaz>(lijq8UWntx z{BBE?kRlkv+?%g1D8fBi9{+J}J={gk&Cz~~DP~N)&2y|1gc1L?FjAu zU!J*ICbsE_d?wY(d?+MxO9B3pn~P}8E&{?eK(=9bX+9)3MzmU}_2;lzX2I46&!S5Y z(K6Y_hY3EHfte)Uk%5``Y+s>7+90n^rY>7Vh4vIW3SunaLciYBIkv-&hF$j6YIz9P zU^6JMJkwdR9Pg{t@(?lJRjg8}V;JxKZ0Jwu1#$|#K?pI()f#P5Uu8djUa2;)!B;q< zV>78P!B-<9;#rAK6cn2|A=N3^G7v6bKeU=3!2~^Z1K|m-CIij#I~9e+%C}fg8xyyg zM`spf#l}d!+SV#*!Y5}mSZl_!4cNW5_})F~g~IwdESy+t9icVk+EHxukjnW=J~mP< z0p8MYaLb3Sm-JjD}WOq9Bxhz>WSTA<;~ol#KgPRv9DPSH$ja!3S%tdx#GQ4Y~MwwC36=Z)ZgjaCE-PoBs1Qm0INQg#A z88j*Xs)?21)Vn4ECIt6TXgBdj;Fbw^L#nFvOUadS%+f_pMuSRPycKZn9QQ}B+FbH+ zl`dw5-_UO}`&8|Lg*!oym7i5aX%D2$_((gO~F$>N4%8105 zqc(1%MMUv{5M!!-2n09=AcBn|)gA_*lmR_NzyVa41mGEffE*UD4d}I1XGd#Uls$=N zfgJ~8|UFGNtO}OIJWjKZZHr zPJD|&IUBIbPL)zIQ93~|+4Y|QfTkXI08HPDsV`H+O8|FqhM}J-IP+A=3 zQaf{h>dY^ABuAIz(dHTDWLAzgJ+E~V=lB?FS=y8%+^5_?vfnsxGZjHVK(zmUjte`m zQm~bxb#@c}f`0$~^u{Koq>@TnBqe>scPi=yg3*MJm+_-xB*Wppda_hgmI|7Qo7|rc zg=@IqQ+I6%xBu4OlF%Dw#J$>;uafXlJAox#1rb%zL|>W*RAe-X^8;xkWjqeC#lsvo zEYkW0jR)mwy;1l4!swGof13@>*ZuO?o(bH=|7TCBdvsSkV@{xJ%}QO{+zIsImCqTCtdw=)*+?J?HH5nJ327tL%g?@Xn{PazU%|?7&y3`Fb|A3h&!EfPhwFDNYKVOqC6Uh21XNH75^ylYXO)RpQ9LemdCt zTN(QGPDYjH@s2{YVzt`|>M&??dkq=Z^zVWDFt(Hlq!T$u{|A6SqZj!b}ux zHD7Lsm&XS~GV$tZ9g;n&PovA0$j;TB$&Eg)xkWMf3{djM1X_3?W)nlJ$Bel=m!+f! z_w+ZtN`-`&bD7poBxTZU@ud5la?_7GRdZjd2G$P+cyE`b>FiozeCPA8BB4m$x#*)_LV<5@#}Dx5Ck zD_RHHN_mw*V}Zl%del|zA>Cc#SKs5cR5~b?z+xV0Kl-}41L4^N61%>w$k)lwyRLtC z=W32$2sN{56zIl^kjj1TSC<(}>HM+UC82p%ivA17Yjr!JVGBPMlexiChHdCCwYj(7 zy{+nV`pa|Q95&C3syv)};TepkX@O!ZGVZT=$whz4dOlmbDIwX*#%{Hbn88;PaC+N+ z9-D_~jP_*HZ(gbyTn{d=v}^0{X0+!AIn>irzlPctm9WLOb#{ipkWq{Ps42jT6%sh( zp~L{aL#Rao_$k0Y!B?0J03S^C=N*mnh+<96NW!2ZhPz?h1`|v*lCcoLHw<+XOvt?h zKL7?*?3n*c%c?sOnam~(0Qhwx?D)4Z;0FNS0K$$NKtUj2eg}S(saaUQGGt%^E*cNhKUzg*&JL}Of-so1*|M)c9cW_aR9(s1N>^- z3ibscWrF~imGzIADdRK0A);1OR93}jGFJV`D4I6^Pr439wCzq*F<}-c5U}Cps6A7f zIgn?zdbq9GFX%jM3b?7t@%&?HnR~^-NSRdFSW>~5PV(!a!I15!DGl zRe*v*c!Lr>b+)Fh8RYr5t`pD4!iEa-;p2L8On=fl2~*LR8=+a#&%d35#Js<`aWPd2 zH-2;Dn>UG6G1J6XxM#=ZC@)6xJSj>g6+e)k0)i|n6@!zq8ybIB@T{<)e3YqLp3ljt zO+~+#kSq9B!|dg!N_Yh+kGaJRXgZzr6B80}X;?%6o-i*#)WYTe`c(1k9VaJwJyvJ$ zqFb&Lw?gNa-*B)vv4|~tNEqMs5L^5~kI*k-duySo-BVAh3a3w&w`Y3N7@9}=X`Qv! zL{5u$hq9Bjuh6)&G{z!f#*+wPKCYNM;us@m5Uj<#nmg0bR-O|cuYf9zQH%f7_?y%8 ze)u@}6RAaijHQPB&lhB5tN=B_Qn50|ifABv^x@fum%m4lGSNR`A~t{ZZ1u2pS6%!H zx3%-zuKwy_GxzEd>Wc%wZp>vOiMb)i8hvZyHlg=2Z|pff+L|bJWsUJ)qLKKL{MXUL zUp({j6L_c?h|3Z+3-JA29v6Q9y2jffMC%I|Yp~NyOS&1g_O4GC#o=DSytSb}Hl8|2 zAIR)IDWE2v3T0QbD*>ZSL%5o&qvUYZf}U<^ly8|k^k!s02Ng_Qjb6?nz8~8F+gO9a z8Rp-)Pq*pe@$|yD7EWcQ z4g&-3V0B^xIYM2w8AUao*IzkJ8r8XH-b6%1d6*^-%Z)aIExQeV%5`-fCtD@sXH|zu z(I&#sdO!NzI;AVm+>9mg5#p*^FmZgz3jQ5FN$th~MOgl(=Y}o^q799E1vak0LqlnF zodgrzQFD(=OF9@52PP3f=HScJcg+Y2s;I37emYSX7b7Ot@Qy>h ztZ>xF01U#8G#a1LPGE~trT*2ZPRFz>`?5(VFF>tR`0%M zf|d~gHtlaI@ti;oq90b4g^h9RDWg;Ks{kmo`%?0@um_lp#q|GtU<^o@FP6siH$HOV zLh=b;_BNfQdi?Rjeu*t&zJ$M?pBm3du+vNK^|xgVGEub}F$C6H4~tdKYCYl?)sF$@ zj}o8E)WU6RArCvIW1bUw$c-Akpq|lGLX;$I^NU-#TbC2Y40w`EE%S?#xNx<(T2A)X z&LqFIoj~$_7)eFwfw-zvbxHZBqey!#D@ghE^$oRXLZYfUjo4HOEt$eURRa@l{cn$< zd|UKgD#Ye?s=Ab_jT)aSF_Y~+i`OBrFB4&(Y(`T?{||d_85LKyHHy-mPDnz4;0_&} z3KHC*6WmjUdyvB2osL291`4+XD+&$n5F83G3WpFNP!t;6$=#4X-RFGwoHyS6@y7e^ z9e0cxW3Sq4?zwc%HD#^2-on~GPEA#;Q|msj%Ks&v?HS(|S_XhSc(@et(U2p$H>4r* zcLQGi!&{FY)Uf06{rs!Zo!>){iFXT1+8mh_$(So5Sbo#{z;aL}BU|yuQx=mi`W1p? zm266K)g%RZ$(6rW_o6ukgl_3m_pMH?PW!Ntd6pwm$b>{2J&3;`EYu<@xnmxpIP)dD zR}F~(mEST&AOepgdVu2N$MWYU?VaUneRJhFx~^6Rom2Ox^s0X+V@@M^0RqC`K76j% z5GF*fNf%ZgD{D&*>oJG$nK-z%FDlG4A7jts{#@hagK;iLK=YH!on~Cm<)_6Sm zmx{&BkV@4LYk9Scmls!*6Sv`m+#fDJxg6Wv@e)O!DSAp+Kdzz1(p5g1=RO9H+vh5f zu`7wxl4p!*yhQpWf+qu^QOut=IW6PtHBs|3tt6m@|0EKW3J_I<#nSI7BU zl)2}EzDj9Dg;F9To@$X)Mbq*IXbGI7{a{vDVpQVrB=v|Ud+XIK?FtYtAYY#kGBX(K zf@1_zmd%wTVh6+lgD?ukHxaq!&=-moPZ_a*GW18RWtd`xJgd$hu^!h6D$B z1O=Go8b}+$dHv2DY6}FzQ@N&fP$59pSmM|;GBBHxWrSXs9kW`*R2rTNq;sl5c8UdI z?qJe6Mc!lX0IWrG3|&1@q~$5@*5ZsH(62cUg~CJ37v8JAkhY%AnJ z<|NpH;FzEPF~SXtbb@l~Um0Qsf}nwe5!_95f0m zl3&u#X9M_xBOq>sDTM$^*Mkx=t856YT?$m&>$#ud{i!A$wOZ^v%;>5*)^uKx)19&n@x((4wMv@G9F$uGb+%%Mh&7 z`)hXR!=ITSa{n@CRCHUeRBgcgi|KPT(&*>OIyB@9-a2R+htcUS^ZR?hkd+HDlgh{D zR`)vGF9;=`tgDj)l+?7}S>(vUa!%Y&Jz~Wvx4FsUo#ILuYnd4ZvIVj~-N(venQ>4d zFhz1|?Y;_}drEk}D*f`%;M0A8aeVw(rPHa`9ERew_*f1o(VY2@@u&b*P+wI{31u}R z5Qj8Fb;k?EdEjxp22|`30X&Y->t}m@7px61N{QBJ2rtou+ZRN!_6RPqKz2!7)dHEP zrdOMuLU!@H1P`KECk4*Jw3GlXUrRpT5p0pdx@@nhB&J_INHXXX0;Cm323zbq6$FH7 z3>uVBgQfPJq95vos5{gN4I+Ms#C+SSA&Dtn&@(Pqt*E{#U%9}ZgS=iSaatP>6p{^% zxALlXtkx}PD7MY-XYCVd@2sisk9RlbL(1D0Sv5RLJ|tI#F~gp*+}0C*LfY~`FhdH;-v1NuQZW5UhJDP2}n_LYSmQUnl~v?mATLG zvrC_zDhoMLsX%ESRTR%X!-qNWQPn}I!|REWmCs*W8u3x(3O@Y$&g)T?9hD4J&!Ncb z!yWBxL(p^q6raqpM#k#HLu7^FqtrLr*~N_@9qmVnmU<|V43{}Ih`pD46rX(b8Qv6N zl~vY@prU5%0+!i_qj8-AhRVPckL%Q{0Tu~PXgReClvhu$KR1-fR@IBKTa8J{5zwW8 z=e0$d6AEnGxOorgJPy}1ArSR5DtVI=IzoCI)@5eF{qnv3_1X)FBT(L3tk-sG^KRo` zu2+)WWvxrDTLJKp;38kg0GdqhnRZmqcOQ15{t9}T6M$GTE_ij zC#oQ(rLTU2cNg9E?zu6+q^GB1!ehrYq?9H|bh`g{cy3d8;%ES2w8$U}3p`yK-P;F^QHl8fVY zlx4Z$9acBI;~z`}`>zR`aL!l`ig3|^>W6X^iomZE+4+O7M7wi6V(cToUc0sLQ7FP9 zn5|GFH>>*76d17PLpcAif@(#u1GdhmVF?gmMJLV%)^tWK6+lXV%pV76`ha`JmW#hW z>`zCIIaPY{K_besg3Hn_Wv&x&+Wc`}tv3>{fVhrajoFEjG6lw-1eO<;>=ChJr9wC` z#}e35?-dTHtE$7F3GAeKXDIfF)nWx{pvD73#kJHf(+P4D7M>LPFXxJQMf+Xf@GILF z_i*IUfUMj+BF(&6(BO(%(7>$gJvR=HJKzYXU)?}ck3tsl6CBE)qZwBWIgu4rMUN7p zR0U*E;E#Y4kq)v(A7(ShR|KWu9+i)3XP?$F&Mu*O11z_RfWIbNA4pVek=dZwr}3{} zEG7WV!V9pYvXDVlqs7Sp6DV&5RXiZqm!w))QqcnT0aS7?AD}xpazsT?pac?cc|n6O$}IZf4gxe3B4Qy45OT!)~mfP++XwY9xgf9Jo?lKm@BTWrykkc%Jx`lwJ7!| z_G^;05%P$@?^AQU^|ajFL6~%6L_HMkpr_}gRuXtCO~`>0Sl{NRB}OaF9e`C&H-u!Qc*r14kDs5Szg9isQcxlt??$+UOkrCz=V6p=N+t@D8-55Ie& zR!BMDVVcOSZsrpr+F|NrxiIPE>L@jS2D2?t#g^aSJJ_-*&S{!Hm6*=#oO0rLsmYec zKgF!p^`sD5515%joN0;4WPHe!l&6W$E$6B}A+nLF{2*XvJ8`^yO8h=@Jq7g3Tvf*h z50dvoh$O9nZ3BCD^5?rWpsaUIwkKi0I<75E1X$!9f$cE-&0f`HjK1-%zX6`RMuYHh z&Vte$dqtp5pAg*HKpD)+tSf-Wso@oO7(W#BKBD0L-6G})2aCD;I>upYl-|s+#6bjc zek272Y0cC`NR|CMlP0O5wE^{L5h6+z0;HJI) zo&VJ0-m2*V8;oK4Bqk!ZS>(cH$o&M`ej_2%BjO$bLCZVNIaIWcuq;-yMhktQ8mwTNN&FiKi% zffqO?9-$^!Dj{`BYpYunmYE>5><@&_goq*UlVaOkAmJzAD5VRMJ!g&mp23D#4}d>N zKjOQD{-^^#*YoRF*?$Wc1I5pX0SSRzv9llivm6Ql`;lN}Z%`0TEQnMocoP{$yK0d8 zrz}!%{XI%_px~N8G+c8G@@tMEZzUVStSlGD#Lo`w9nIDMwG&AU@EdZ);(-s>a*4-l z5)dGe09>YcpzuaNkVVUofS3V=Kg^SOj6a?_3^-+}gtE5>lCoI7g2d;7l$D}S3gRuq zUdH1;6D+cE%(L2VJzf@H^9rcmkCG7W&-5z~;fGZ_$S4>NtOpUp+x7_g5kAUUxV?cq zt{Ybc`v<;FL0L+!2j#h&z8Na*T1S(;5<_{5AbY;}icJz3c&mr`-dbqTKGQdX#g zL&<6Y1N)g@=FBN>T{V#ZVfo-pV_|QpN=I?)G)Z9$4Pa16(UKI@a13~JOks1WcX}qc zgD(|-d{L*Gqws#8H8dZwRrW^=-;=9Ucuk9p)Z!LH5yN&Mb&Rd8M^@_!22cyuE_yr8 z?0_=v?la(H3vVjpudv>8o+Y0%<7dp)KfXEx8pSqscX-~Emt1GkkhyV0=;9SK9&;=e zv7^Qvzp}oMPiAu{WxnXQ?q4>gkesakuQ0~fFnfUJaTsK_D4lyOGa$iskh$jnx+S{ zeP6x;z$oSCv^g&@e#y0@7VFYZW;z|91 zEE--tZl}%wis>>B`@;>>7aNbLw@M?*}<|%Eu5LWUf>UQ`vFp_`!|TpXTKXX!h}S+x3JAfXb=Is(V||ptPOo(!P9UvtNr`0 z$EL;di-J&~c)di?br#c~PXMF=nAkg9H!Y5S`Toq?O<(sF;-p(V4%tMe(apO(=v0nb z%iKdS%V`d~ePUK{ZEW9h#_ zP#!z|Qz<+nKwA|4fuj%l1IO%-VyLf++57B}pj5eT{3DOjC?1(~UYHeWF+VeJF+6e{ zlB9HgWyIb(?yAuaXJu~sH_cV}N3-Xz>qE$phXT$-CG`VKE)cGp>IOvo52VCR=Wdx? zckVyX*iaK9jvw9hs>Pp;qu(9}retUg3M(Dlzmh5;yC#)47p?iDzI<8NQU4(4x|ewxtNs3BU#IqR4uP6=7dJU{JuCEg;LDW9L1lX9S0p{y z1Ar~iGH7i}vwstmrtI66VZRy8#={#VRo6W5R3}8V79FVjXD!+4Id6uOe&?pP z(LZWy1l&_Nwho*%N&MITZN2GV@gIGcu&+^&2?css19V+V-}Tc|a+ZE);=0{`VhWE~ zXG;lGKsUmW7j(d+oXfwV0S)gB&lqW$o*QPmH!c?q&4O%eKED2*?uHbu8+JWyB)oo% z_p08i{vr1YUn}nQ{N+eE5zE|)`4=SH(D;Fqn1Vm^qHjRw%eODDhude18({4%W&=K9 zfQ~SBo^V|mfHl-#)AiJ`*FTlSr*%(@FyEUi(FZ6Y9$*dEB&*?V|95rw1%Io^4t!i6 zP>IqycJSu8=0jWY^9{iC91RG%sjjeAfLsE}+T{SWB@W(5H?Z;@qPm@3cFyP<9v)(0Wbo#eoT<8hJS4|&*x?VtehX-j!+++}4S)Gp48Z*E zaF^Y;E*NqPkfOk+uA+?}w@Pas;^AMCkjzn#8qOT}+)QWWSw0`3khV*VIEmV}aaX|K zo;8q|mY8k?WLzhXyutXvw5E~Ou)6#tA<;_jG}@^-O_j7jKs)uVxVHIJ)t3*ZMaL5S zG3RKz_UO}`$EfZv#@!QXF9{yZy2=>=Uc|yBWL>3gb`*u1rheBSqZysK*?O@2JKA%| zQF%KS4*3*nl?Z;FL0&+VPg0_mgLRn$+P8pD1oVmClG`dzUFP#(>m?~}g&eH~aOVoJ zJC6{_HlAcI1(L7YyKvpN5V_#n@4Jxz#~h!>0ty?7pAY?vm@#_?8+d%mhb1doLjVc> zR?Doz-P5|Gg6}vAthC0rwe3v80@#;<`*YGcY7k{|EMrRw?*s4+l5GUfXTZDMxLD|E zP0gJ+3}alCc^%z7*U*KY3&oyLcsBQiew>ln@$PpVV$t;=rBh+}>GJB@jV2d+f=${e zxDnBqNC08*&+7bkBh~Tp0U|0O-Ys2=hk%C2Y#FKU{#a45LAD?%5*(I@xJO0I!eZWw z;j3acmSyatOtDdH0Ia~2AFoB-KBAOZMnLIgrc5E``~%1Ul*eoPRrrl4XbI?#>8n72 z5d|qsYKf1+`l1+-ta@X7@=5Qol&bYZE}sB@&vX<8+A<0k?If@gh7KtV^StBO{xVa5 zXqN6?5@)qJ?V(x{(95Gyx6#I6V+ET{6h`dZYN19!Mea~sc0(Aj->q)5qI09ZX^ij7 z(sH=&LCj%}cPcM-EIc%t_|jFfWq4$IhBqqU8EFu$y&V-92d$$I-m2{#cuM;$;;0n ztk1o>&>i4v_92hM`L>$vLvinBii$6T(Oy}SgZ44vaGi)9CyH8dr(K9+vbn`Q#Nw`g zfCa)+SyO?19`wrSzPn0 zo>BH`stb*sZ$f5stcYfMFe0?{G=%RmSzqUw({Z>Mg^YXAPfFsMI$ z^;PJL>>x_j8W5FCRpBm+jI>!U^Me0U3?~~EsL`nn>+wH(5YO3RIc>tg)5ZZJWwO~w zn02g~4FtlM)Xscz#_^>G?^!%qA+Uw`G@#oFnd&3udZ)s!M z_@>&Q2lb1p+t-iyR`jDOgg!yKR}OvW1P#|RlW3-^j%=kkGT9O@;s<>7Gt>&qKI%Ep z;S2B*@4&;-iw_!|DdC>2cs21YpL^o>x+IeBRz4u(Bw&3qDj~_icGnP^Kg(j7YD`i4 z8yRrW2(7zNh8`BT^dkT_i+X;?$!s0iyTG2dIs`AoB%LPB9a&!@PQT;4v-V=LAQVv$ z8IIR@Kkz_enMLg-%)tWP{=%|>g1wYmPXCWl3JRQ2T?Q&{Im5evmy`h5s~8e4lITzb zy7o3bhEf4WkuI1kKOdg0n)lC5Gr-mcgI$0D-+B3d>Ulj>jlxyU_$N)F(<=3MAL?c% zqWE^sJ2v^bMFTB2&C9f61EbFawm_qagxtp5QNEH_Gk`W8o69GG5Ct%#Wwk!ht z9~K!a2e=xBpauFA*NL!%+-x8(mMOhoi`keFFdBpP0G^5)V?c$hm8D|CGxmn3 zL)X@Z1QKR*%Jc*<4`sz}SR8vffqPu+%Q%64+1^sSM@Y8>3)MbqXm&~*ueD+q(oNPj zhtvF31o!(PAnN&7=7_Frfq1g|x*C>5E-Dhs<9dW3f=R%y(mbNVgC&R?G0Z1XdH$v+3d|$aOPTGlIv(lZ7SW zdCp2alO*n`QjX{E&2q{UotNKAU&xV6Pgm_l>7|59>@}JGhWq77pf&E!r=VLnK^MTE z|8_|UE9!hE4dKX6vl9P(5Z!T-mgy(Ub~Eha6Z9HbO*6l^bo(+1HQa_nxbXYM9h}P( z!cQ;$8zuXYwQvsS(_IO>l8J!EkK#27$nIt-!ovy49dYi;FaEl8Goyg6&v#BgjI6?7 z);2%|6@?8$3gX-q$l`|Kr1|Fa`5;$vO=IgvI!XFa17j=y>dzaXcNM7{qO|)PoJG|r z^=*UCn;aiXXcNM0GG}cv=F%3&(Pf=Q*1|P?TNU1Jjf*2t{oHbknvgzW8P`8-n-sTV zE7V5j9!;UQVu3v^4#1}B6or*1V%Y3BM9_os$o$oQrGr>Y+lDBQ*deJ(L;bnAaZ>H^ za6#Hx>|_5HmMJGkF)XQ1$P02#iw6V!k2@7}O1LW!_$&qLOhs%cU9Bu7F|ZIYx%o!tF`>;ZoZ{4nx zk#r@HKizz5*(zJuttKZj`zuO0*U&k~eRA_V&UYL*0|v{(RwaEE&~nB7=9|D8r<{>& zenGbzT#2<>E6(dEN#*DPnM<{Yy_Oc!eK6v&@^M53WEnLhCNgI*2r_41+E_19clYr- zWb;_|IuJS&YqiPKf$dJ&X%^i@6}^qR*Vkvj)nk9CKYfn7W{&;FS~9prt05{+5DzIL zaJyIC&+*F_i!u`8E=<+tu*-YKwY@0L;>-v+ z>dj%->12OaLb~$%>R5(imtF0hStY&&!j`yL+Mu(J*bq1fxF%9LKh;Tndq!vWWH6jc zhp$=8Jx@tcb3_gu4ofnK@UD%X;2-Hwx&1&_S`+_#l^z@;{07JbI_>*KZ2jR9?3Xem-}p`8rud5rRaeI^8#j3kq#@4$85oTzr?8+MQq^ zyw&2%2Id0q97lb=(CLl$Jf65~12O&@5F#6n0v_*>u_uAH7rp^2=W0BCF}>H4^RB|Z zBt3xn5@(z6{^^)WZUe;QbPT)QBdv%oDqtrPlhXCS;ZL!yDt=bV-q0I z1XlAg4_;V~ zf$4H;n?6dG5xXa@{ovK2z4)KxtFU9>y??Dg@f0{X>Kb`WblR1~?N;P0L$l4a zACm^)${f7Lwd)s?D`f=Lxa=05lfjS~0k<`rM>+#YrQC2E#D$fvhA9fpj6{7CdZHPw zKaF~KB!h%3;71=nJniZKX_C;|#tcc7Ihwv7sP83!lIpS4#{cr@x6Q zSfE10=d$#TV=IC+Er289gy|ZYQfliC9lI{4J$+B>HfLPFi4SDy?|1h#t0f0O@g0Z`0lI7 zaw71nY6JKA{Dr$x(K&suUEz_ervaFsdW`~UgQ!ax^Y7EmfH`C@YP*kI{~43J=vUKJIj*K1w~|Yt)J|Ui}EC^@C>;e@>cB% zmIF!!Ss`!*tXoT7bLPg|!Ta+utQG5;A5!Ffj=tjr2wftje!o|Nzjqqr zA_^~jVzM19;C(CAFX#3)W?uvT^XBV-CVKbYCiTZ+h<9yX3A9Wu)m+Q=a%>e*wYF&@ zna@x?nCV2uQa;KDw+$*0p&<+eg(7g)WeU3IU?s!X)|Iy`Y4VmVdM~sp?u$CAs@xUFhwby01znqCSRQauy{Hs4B>s+r8Y_`Wdn0wE3~@VxT-QxB4HLgA z`Drz?pv}MjVswtcc0H1!F>6pN9q&KZ`=|fLIpi=lTsl{n=i{OxW6yY?d-krrxNB&= zXr8;W*~S$(l*gMNUd_@hdRD?buO}kNhD+thJV`o9@^JbNHlU}Dc5IxI$6Gp8{NsH;H=M)cY6b+oL4p=R^Mu6qmN@!hZG`a#@xni9b2O>?(_<)tjzzL{>x%sX3Zii z_ZdZiNJ=O_r&C8}oCx~|obAC$7xGNgOLyw!f9&1s`O;$X*AUVD zqtr3%Cx`!=^MCu`&v`%+(V^3}WM{UkwW3}vY%6cfaK7;*^LEF^3845`!_bkc19?cMU!ajhF%TXqqOclmQWIX)&J>^CXm{da zYHzMV(#U@Iw_jF-D)J+`Q`vK8zgR{jfz48C6x*mQNX^vcvZw2k-I5d0X5?Y3*=JE6 zD0kbG>r8Y1Kh358`Tb8=THEd@ z(3BS@S+o6_)*}0~oU?D&f-g&RaY^Ino-`q7RPo01BJvNAHx`u2;(|_uNF_bT7g)1Q z20T;Xj6y%@qV~GCOO^B4bjAwDi+OyW!P|yqPR^#n_MRJ}Q|XpPD38+ytuN~hHLq-0 zQR=hbrl$5S$W~u(-0qXXXKdTsp+W@&@zPq#9v5rcYrxKanHuIqayOJbARy0x3WC+S;iNllgYWso zd;++MCNk;CRv=ASd45>j8}sZl>iKmezo?nr4znkx;cxLhVBdxWFv9kAO55XUODB4$ zPv(Fb&%g(FsWgi14vTyuFgGh)Sp=!MH(2*CmQH0pGuL`CaK=HI*193DK6ixfoKKvC&>wg}ce|>{rTq+{Eyw<~)p=U-@tpuql*s8>0 zt1ol~f1{5O>;32}^|M>2#qztZ2|GQ-k;({ou!1yb(J3>jxoPc}w}}(FFH2IE*S>r! zuM{OSNvy(e#e!G-_9O# zX&SmuiLE!RUMk)t9WIvd1H^MZpCo@ zv;gOdJD?~jU5iE08I`n#%5Sa`$4-kEY^#<271q-&P{1g4Qb2FCEHQ5pUp-qFeDAc_ zYn!1x$X?`q_|}gUU1R9Ctkfa)TmL1WVDbi0`H!!beit{s0qpsKJ{;$N>(9@DH35X) z_-a(LnpZg1W@o+UmiDMhz5?d5B*9*x|Du2ET$l!x zm30zQ%|8E)zktQub1Vjras?u34Qx9Kq$|f;2RFwmK!%;)^nhY{>$AH#97>CpU#xF7 zqRrgdSI?+Q5Dt6A7jNlw(dOs{C5~2Adk2=1At_jMwjiI#u4Rd&8QwN$ALJEhp&TBE zia1eyEIQ)xkQ`pz2WmZ(hR8e2^Cc~6CGg|nN5h^3Y_|^*!B6%(vdGx(INbuj)pn?< zQI1Xgn*YK*5Nb4oB{j7AnxmOvSy(~CJdgj;-hCi5APwq7HLJMjwjF%H1be*g1?*Y$ z^qozYG8(!FU%@@P-opr7wbR2OB*^xyAJ{|uFd`?n-vbtrUC_YK^{nrQq0f$7u}L}C zguSyGPmYS1k(d7&h3Jsh+%qN;fnTTNGWe}BNQM)0Wr|<4QSvjt7)(Yf_P&oMDV#H( z1a=Em3c)y|-7`wqV=epqBZ#fWJ^CIuun@6WT82ed=~E?oj01bL;yE+Fx+hyjMj$9P zIg`!J%Bd6i;PRm_q^%COd)$>;aCzsZH_>3gO|S{Y$D z&0Y%W8%;-3l%(iTKQ5lLUEx&E=NSl$KQ)f|3g_m3kj9nK?6w;Z#E&o)re`+28 z@2BzC(D!79c&-~Y?z*31(*AC^_+QP7LOF)!{-1~5a^G2S|Krwz!0vqgY7hVLQRnH9 zb8<_RZc7^AsRS;c2V6pBDe!;H>&(Aq%0Cf}@Vr#;#;WZN(P(6you&r;Ni<4-O_YBo zn!qv4Rf|;?K#B_ghhrbeh^%aye6rGF7}B%qv#CxUu-%|tPLj@Ir)h_6ltcx!t^7?t z|JzJ3>A0p3L*=yazBP0H$nFyAWFR89=#n-25Vx(sn16l)A?r1}*#CFz;>#z1==_KO z9nrnM1@NSuf6J2|-~+VR^zUfT=gI$bQGwQfT+|KhUunIlnA3hh%RY$_RE9C-E@GX{)rVQM7(as#1S9B)9ex-p;NTj*)^i;07EyeSd|qO**)wBdr_KXE+Dr^?4AUgW!#ppnpx5 zY0iQ5vGd6Dwt`dCwp+GYoutbi)PdE;933u+*OuFtK^_+WP#zL{_k_>_ zthtTSR(4Lz)n#SJbfZ&^4<>S@n?8DSTEM0ML3z)ck4vYfQ8_8@yg4CSbaK}0{W>8> z0Y1~I^|f5?674wUXM8NM;3R8O=jyVx8gwmfQDzh+AsRiKpjxSuS z=*GSS!HeyDSJ&{92EqgD7pIsS;3p%|#Om+7i zGD|iF8hJR#_NHIh3)q~aiAl@!JssSdsrRnS8kRE8DD-9ac!QBtEe~zYo8}Qih;*6l zZOyli4r9{Fl1_&aE=Iza+Zw>tr~3f{B?f6%ZsK6K)oOJD{s8kle}A@^Dz7M2Rw3ka z2;V{6W^BgeS;F5h)HKq~5YsZE;X3Ur$ITgw(&;{7x^Gj*#4q;+?8XCDLu#h;{l)t- zpJ1LJA2xz80tdBk`{SJb$Fhb&jhw4PM;$j}j#OX_P-6y;_jY`#AO@9^X?uzAh!6@+ z?+v&nCb{X@eLJ01_oOgO;&kFGbv=kdVSj$OSt()m40z?cjrp95{EkDWiOCW}oxN6- zS9%V_3SJFdS1sGsmh#!3y9T}Dh7U`5(@UrbP8jz;KcmRpzRC9l@^4UGfq;CEtr2|L z1j6jozfs0W&Yh!EOqU7+_A#=hw<|szm`V-+Z>*Qr19maBS$^@H7seWy0egKB`rCSG z#vjjut>(xiYAZr~-+bUeW^h2j?zXK5PyDC8^^5@5j}guW!%Tx!mTa>mB)0xlQ~Y=T zq?XS!gnC7x&5aj?8^wWCLkr!2M>rD-k58`z;tyXn^t5ihMF&XRF8ke>lK@v_Dxe$W zn4xzQJSD6eJAK0UubA2@Otwa*frBZu>&8}woDzE^xyy%CirY#^h8P_UtuPGw5{qR+kA@yq%}rtMVW>)mI^Fy5 z^H+yOm#HtT$|ORiiE7jatGQ0%hYVlBXYY9sOoa(4wa^4CibY8UG4JovFwf0tvJ9p= z6A_D>OIlc#o;a;LI1Nfo8(Y*!r>n&|g)G&xCP`l`i2{-O@qxcrej_D5jZ&PoS zA|ZU;Jr63Kcn$7%`&1Iw>c?@>@-1N>ltagOySqmFp!TulLeyZc_!kk(#&UQn7OVpU z?<2a?*2xDj_<@{NFQzLHJ`sh^1%@OAlTkv(5QnKKX`;9%ySSogdv{0jNc=oPB2P6> z@^lQi>R1S#vG2nS`n0$8zwJS^*}X9%nTznerN9Rs0cl4O}+ z?Dl*azs{$?vtg}=LZ8T_uiIW2G@S1IWO3xEYui6dmn8j~-Bf&53uRcuyWHS8DP%)_OVFm(rUtHgwNvw@I>$DA zInnfNtE3h&s5ZXOT`S%$$UKoE%~I2vkUH0;AO;3E70y0urD+VRbc>=iE9dPLJAld) z8hH$gsvvBan&avWM)Y(=`#@DZgYd5P^*!;*L~OK?Uc*EB8QnO8EXYFe z3(YoN#9ibQoum&O|kP|XA3rDbhibo`gv5BsZ z_}C%A>iD8cZQL2klcx6>wLl8#<23GWV_YXvWiK=CE?Ee_%h1=hZ`qs$oXje__usG6%G_+}zM(klNh(kbIgE%0}@{=U~ItG5Q1QXIoP}YwnXnj`a@r z*n-@g!69XJU91|*mJf2WUFQS7HWQt2rE6+JmS*MjscO}?gEcgKmTW0^T`uTQ@UcQ( zO__xS(O}1Illzo*Zf+6E8M?wOz^TM&|8;Yw2%17W>Wcny6^KXUTB8VpbuxOgxhdej z#yt}?l*Tqrf+O;3V-P-`oq#en|}V(59Q zE6g}G@WJ7HZ0mZ@5j}7*1@Ef6sJzb^Dt~Edek`IvQrOb@to$TOEMOG^nOe-0i?3iCxgG4wbIQF?dtF6PS zs#~MPNwqUnSvkfLe(~w_JKjALw`eUtiB{e}BL-mr&w=WO{=HHUTfK$jG*fCgq zDrB0gq-&wmy16f755vi2EvJpDQhDvBd_D_BsRhvaJ#jrK6kRU?vsZ|>_aHpX(-)$x?8QE^UE+WuvhT5XeXC3HG@ zf_)zITtMNmNnd@~7)TIq;Nz>7mtDefJWe;69d%Ya&uG8qQHU<%l*qGOguu?%qc=w7 zFO6;QqWeP^78ZWyPlSE*TvS5C$l}lwc?j;BGLLX{hjyN_AV^N0PpPQSIKRxJE^Ta# z);PehL|rRCe+f1gk4{z5AnQc;D5>Xh@j;Yfb0I^E^N9H~ZbDM`TX9w!msafX5~ z-3JyqMm>tO%BbU>SHoCyx(=&`fotD)fr*s<9p?;_)~37qwvW zV{UO7NG$afjOW;nM=qUqS*0au+}@lT_Dzy*edV0#NHA75tehmg&@Gm^KC#h?=VU-h zz2B1DwUg()yOX8mz0(|##+Uv`U8}xV`FV$pqcXNud|E0aB_>TTRmA!}`omz4ENnFg z-r}@=;d4N}kR&+I?r& z_F86?0BxSKj5)EgKNDOtGbmD)7+)3?&7BOG-|E_36Iq5W557z3NqgX;y;3+54vv5A zmTnG9lAA3jYMX?u|JghihQ~oN77P&LJg~g0cPBa_er;x;22{+VLYyN~%WeI7*=AdB znBPlH9bGoOFD4yOeNto?wbTBYZ$9rGhL)7X&vRZ$V0_E}^MtUCZhp>vx7B=1=<{kN zL7EMx!TgenOIh`bD6y*4j6bF$V*79q8n-bn7pRTN&(8ibyFQgd2I|KBJHC7N?{g zY$lLq{SqP{A_htnrnnubY-j%+CkQEQJMos@U@wHUaZZS_*cHumF;g3NF?mZ@DAhMI z)g+qcoZ&l8NDlo*4JNcb_|j#(ziHFQdKXZKXt{M1w6MD4fog3E2o{Q9Xy3U4n?%4W zE@xq#yToKAl{9Pv1J?Z1Ze&^2|sUg)>3fHCz}-(;)% z;#^;A*3en&lDvI=pN4ECBsj*Lb%jNrT>)E+`O`DI`3>$D-!WQu zS0OVY744$Ijx(1zWwK3XZ3lPcmLaL&C!o_FQ6L&(Jiow+(Jok{SzUE9!x~iRr96+j zcHj8b-ljxw;1C|te^XeiBSo78Qm|&caC;j__cHvs6oihLJ z7t)Gan|SeBw#DmBVh8Qgt3%!#{&%5N8m#-O$PmYfB2C;7gt1(=P<*6O@z$h84b`#) zqh5M8!%yDWUz=iO9QjIrQQ9P#3ghP;OcvQCz)n@_8j{-esMNeI_dt@rd&F7NnQ|8m z>We!L-;h%hkg7g^A2fTBeST(2qI$Y`AU%KUXkmq70d+QgE$`$y+ zm*6hFqir>MijSn}qL2Iaxx>Cl18;~+r}zAWgb@rpy68`-)L7F%?L^MQMP2@J}aIr|c7_zi%XDAG8k~gcT;6~S5 zVQ{ZgG%8k}cirV5$GTS4INBFSDR#LSs6f#T-FXvc6r_gy_Qeq=1G+$pYf^7~nb*h& zVklHbMcrftd?8n9zZ>OT+~vj%1mJWo{<_!T{WagS6}VmTI;t;)s6@mLp9_r=DShMKUoA+@ zt!k_Cfr?2!PysCe_yc)`=&)^Olsrsy_X9t(jYeKtZgPfgVvVdI8SaEW*k(qJ#KRnr z?p{PvfD;rtjYSgGsL~^}Wh)}M$N{HLjTKb;j)6cQT3^wSgfAKJ-v45bfp8WcGP;_Z z8$ML*r=bqmH@=l+PK&vhcxKaEl|Hq^tZ$xDkjSQN%#vH{#JEd^a z8yfK@IMP+HRka&F>2`b?K+>VmHLL$teAi)EgYKS-!+tHFyqb$uP8H_C%CxJWjk)$m;4GD70~Q}S{JR#`uYpX4p91Tj*?F1%8?+v+g?w*vu}mhPV&Bmd-npmp*3+q>{j zFz;R4rvCo^Z;+QglA(Xg=B|Gmj$`Q|nDUnN4Srp3uP*fb`3tw7{sRI&ogz?0M4XDM zmUcs2Ir`s~68d#>B#MCpH{M=q2d;bsq=A zfXlO*1cH+7R-E^urH?~m#(r9Ux>@a3d#b>2-l2dEDb@Lo!@m3-$H(UK3BAC7`oCi3-T4Og^h-UkzVhE`Tp+yO;NRjV2pQ)u)1^+7N_uYKO zahS~z(83w#GW!d7={Ry>g*JExpCO;R-tZzP=5jITpfi)H`}OqSb;UO-xdQiGeH%S9 zkNMA--ya$Lg`wj=S4KIY)Ttk)RNKb=9P9|(xczfRnAFst;*QULb;R(gjC{3`)MMd6 z3rKo8NHY_Zx6Hgbrn_cS_O~lc{g$QB5na)G;3h5m z!tGF*7@>p8>|-GQnhk%m*#!|WqxL{7?Yg}AwK%&9t;8}C(`aT_2wS0<&x${~7!D*u zNmX2ieq;^c);??Pe1iJ4m{>d5mA{}sNOXE!affW>bpC#Mt3R+7D%5URucdl7Ei-WJ zX7-6;%n7!?Z^b;14TD$Of zoV7d#hv_c!0&`wcXlMb3^Z==2%X2xmCt^2D(K|q=Oq!$9f=gDUvH(f9@N_Esys{k~ zq94^^n@O+zzMRYvtT|caxfU0E?$7XkawKZEWH-oLqY64d6ng(WNd~ZseI5T``5Eg| zr_?$qs8ELpY{{ya=5>{Lr5coy9t zkuM#5>U-EiaxQ}9fYz-YbhT$6(U_h_J&+fC=DGfiH?BlZGhtFa0Wc1m@^tK@-D!{< z3ixbRC)4mNg{01JwcrJMZi&R6pwmCp^437`Z}fi0vm z9>;NVLH*c0S`XgKE9tnB2rq3aod+71*aD(TjaF4<{{p+C;Vnndxpte@^Jiidh~<%| zN0MEFhl3{#y>Y7|Y6M${HP!i~ZP}}A>*uM)K=ab2>u0tr^d7O=@?~ z*lhc&Egx*!Te9fid+zDC$e#0OI{2GU3RKH~d46%Xjbry(d0K{93b94irK0Tw*A~)s z#-0ZECw<+B+K{jR9zr*+kbuLM^H~*MDawagZ&Rb&h4;M*<*IgKih2&f-J(hD7u2N6xxX!hV;j^KU9^^s4&-!de=BTj=6AbG_sdJG7fJ-B@4vC>Ro@J!cKMy` z#*N1UI&Mf^|1Cw7)tW(|Vw925pMhVv7D>Oqiuy#B7WGMhN4@Pk8HFydd|PSeU-+Ou z(+$xXIss8O3V#Cqdm{ z2}vqoTaV;)@k)tfa!4HBoKU)1EQ6D1`I6>;Z#Shs21JNwYZsE1db&_+`#AeYulyt> zjZMw>8S*K^C^op}x+n{0LtG5rUmb$H)JHE2B8K>i@2=Q$sw8?mOYh5XW$UW3;RkqJ zi6YXXl@xJbQ{D~7>i4fceTAdni41!&{5nBPd`(n)!joNw{M!s%EnS5%(rOsFtsb2q zYV2f(qeI+#-n!WLSz13t+ww3vGSRD>w;ELXBoAr^%5*Are{7k@kf+_9XRcOa#>EgX zko#7x#;Q^(Y-OiQp_%St)O254Bc4@%E9dfAP(6T!qJ4ERVTkGMQyuK{jYO0h1?Ur- zr3c{AcNMz;tYM$7m+pL!#?@ThRfa4}ivWqBK#Rn@M7d*AtP(7<3=-bE)|sEU1;^DH zEEc%9`~S*gGmfS()U>c|FU2Z)m^8SW)|Xc`Fp;f%92{NN;Q2a`u1`u}3Ex0H(|U}f zUHb4osm!%x`Zl*n$57Ke&b=y?Fc6A)T5B3rvUX=@c7j2avVYRZ+SO$R;^_e5j9eM7izB^x<-6Ry+-mWixB@tKb z__dGw9-+pJ%qQbdsCqg`$vwCD&Uj>GlZXHrmX_#@7^TA~PP? zl1$O(+*vTk)1pij+tfwxD+ey%X8hC$M;WT5@2I)SS6FnS=NRDRik|6Ux2E33^$yiB zTVs2jDWYNPotPFg{9?YO*}IWKF**rG7dJbQajihGnT)T~P08j}dNh~m>=I5B*O!m@ zGA5CCxLaghINWD_=T1b&B5vWEHdwb++bdeywbmk&eP!%U5bO8L(;LCKh*qnE6;pXQ=tMLNjbIhNA4XwH&tnz4%d1m$(CsqGA8{DhNnj(2$=!BgF-uX%P z;PnzB7^j^sg@^IC5%OaCc^fCo6iW9L&J2Ecy-}^32bKQkm>^2_+(#@Nmm0R_s2?4&rDG(X^c^h#UqF68p8%<)E9|2G!m# zT-qO&wv2^Fd)O(PX4M&tEN^mY+uVmCK#1tAC9Z-3i5D)-4@1L9%wIf1vh<=lT z_O2(v-;T3X5b5C0SOIERTLnv}4-4T>CDF|OV$y)W$u(NZW7^T3; zuzo;z0n6x<3dhy4i;~Jus>AcQ59YRr3fBXz{+2P%rbvwwc|liM;b)yp|I271*N1?o zZq-J_9S4H^-jAJUI(BW!`(oRGq-%*WooDOvNH6ZZ84>v=lm*iQq*5(z#Hk@O__C;S zuinV*s@}8^p!fmcte3JuLHm?ynBGz655)^IJZ2_>_wMD!qq&tD!BfYj z=N2mF!gix`kQB^bP@24iWtYeCesX}oRIp7>LId|FGv2xy(e*`;Vo1Qsq+@emdz*>I z;@%nbJe2t`*+8tiJR+*Zz5L8|!QDMxbK615r^|qbxBTw9W7+I1Ope=$+P%Bu{^gyN!#J3B_HyBRygKJz z4(?MojQRmSa;QGEz|B4Xy-<8~A%gPx44^ z*-XvAcX(B-O;2KNE3pHa0+RC4#Y1^HciVgM4gubu)_uF(YBodoEUuVYxirfOlP2t& zvLSYIq36ap!6TpEOpVJ_Zft4Kj&H3lDHg3D0abpIdXb;K0{Do^3Qx( zqA{PD#+A(!3ChCB$9HR}7k!OZ5_^Wb&mZs-0k|@N!~`3RNL{YQD9d3Bygppl|9!Zd zrh3EOfkHXYrwuc=i<>99!H(MP2E2-M?Qiu`D;sjiq}!<|+|k_}n=q$?c=5fFVO$Ig9LU(4n7@8>~H9eK;7dV;nQHX#m5wkA^k+rR#=KnxoL$F(ajzLdz z<<{IUuTpmWMsjz`x6K{9t&#(+!IF#Dit}i%nxB*^Gc=ox3Rf6LeR?=F=_K$w4F?s7 z2j4mIXyb*l4#s@YJ~@9>dnVPPMfY*Vpu2&aySMd{2A(YGgjlXomsB}Q99fcQTA-|F=ytAP z)kBa*?K@Q0Ess(r9@H2bUDkBSaSz#JNA;;4o?_C_R;Y;(x>w1D*6;u;RHl9i9fXT9 z!b+{gT2!AQS?_-e#`K9PY(3$vQ90=HhY?9?K!KY4B^ZdPa~U&{^r;0>BIwjw%f6?0 z^w=f>djUo7h`1DnWXr#=(#-|oVxR^DONBc>r-Z)h=CV*Lv9vb(EWDl^|2HW2oLCaO z7jk`^bcvwubW3VjR_4g9jEv#pKRYLmo@ib_YMd?kNfw#yQx_}tmriHCWy-0{Lv~z0 z!0^c-=)I5DpH*m&GSa+KMk_Gy`<9_oRm5jI*(cnD6CAR`KtjhneKA%^3pBQnTq7H( zdt6jP#(M5th526t%Y7P=*cg0Tw|D{_A>(oA6A#pKr2$Ds-!wX2tRx05?YmrmElZ^ba{kQJj}m z*XA26qdg675%X&W6054+@U+qL(8Fy9YPSD?+EA`2s<~}L59%Y;T=0`Db@^h1q@E%i zqczm(1!=KK$;}CE$*;5%a?}2jy+ogzFq4q1kpR5Xk75)&cs<4v%N%&m}P_b ztJy;csIMbU^EskF5S7Yk(yT>DuauIk&M!qWF9vgN@e9bbqu~>|XL$|>QF0i*O^yzd zXM)Q7H=lPEizE3joGPIgsS&u?OuPt_Laee(!bG%xH)I&%Uqu0G$_7lxkT&wuCFqu?KjAGCNCgg9Ro5&!@VRCW`!OxKc1@; z^B`Q-{u}z;@)*Qbj_D-hAjzO}{uM>*kGS<#Jl{D%^>(fc7o8G5M~ zDI{7c)+Caz_D1zWu_rgT4mmX2)%apf*IUK7ERJt4BDTTh^WMdo$iXgyX%7o@et5D4 zaLyARSd#LgyM#_hQh;^h%h29Z3fSUavR$$R*Bg9(G7{mNujyWnGOFq>f~vK3^>jRl zZCZZRj9BFi>0VGQ85&K&sg&2uMb0}~=>f{L%LT$lL}u9v0xLD268N$wpO_k_(hil$ zD=cNjuU@|f(y5ZJnFCcxE=?pOOkOFvk{Oa`sHN4iu&Pq6p)TDAsMG21iy@s+>2RkJ3)?Z0yaBOptzOZfQ@krT0>WKN4e$x8PXp7f;L(zmMn&{z79 z*QH&z72f1tJozS%h${FYXo)mRZL_Lox7B({gQ5>E@`X^x3n1hnhnj_zAXX89V?Kz64b<`(6~=-0=3pd;!*T`uqW!O z=|~%vh_+hE@}X3@3?)Sd2}=Puv5BXh-a!DsAs9ot)(u---6s80zwe_C8LWxD`EUG5 zO#FO&>mc>_%x;OD+-q+;F;>NtZWidVB7U<`eNKTeRX?^C~}`nv#@MY0m&7 zSGMW<_#0{al{3wS3pSI+dz2hJzLNAJcQmLOwHzVS9+Q{;iWUigu;2XVWl&NwAphg- zuEB^oKC!;g$|c{dU`C5nHU&>7WE=dg*3{fp_znkfdqbR4z%;19#HE_R(OK z&LG=)K>h)ApK<*DXKmZA+Iq>ww=+KkfSyH5>P!0AuRCWlpGRP2G~dR<-OJ~XNAh#i zM%ujduVhlC(O;K1HLE4GBml6{Z^al@dN?*38-dtIWKXvAounNJ$10lMp1J*ygV}-q zJ}tl&qJL7-_sI@Fd;fK9HFd z#mV=IiCr#JeWs?0>5~dEWtC$=WZ${nEuF8$2wi0B^ux38`iT|(I+ONHG)S95Ptdz# z_vA?2_2MeMKu-Fwm~1~OG-x$w)W5gWgko0G*e?$Bn0rvID-7E#fFb0mrWCA~yTGp!`Nkj0ps`UY3V zDT=ADs1C1ZbSi(R1?vNBmLpU15MAfQpJdi4fCfM)`x1vM#T@^2ugFib?T5M3ctL7y)!pRuQFh&S0t8Vo;A zSdyxO%CvRZl#h&Vw#O!QRLa<-_3qOnU#jygjOcQLJjMK2x^H$KOCJ?ioif0vY|Vz9 z=_|)Z{f#bIGEh$40t)vp0O!@LAly(c*`j4}Z=*CP14=!-Bn?$$8s3f=a*eIf6PT1qlu4I(BsP{(XZ4Nvu0>y0b%4BELTJ@8;m1_#yaCgO+R zxYBS}o4=UJfHUPcBjerF0`Y(GQu88;YZnyW(Q?)28a37TM&HZW; zk2171ihd>l@TT}ap{l=EWKthRk?5YetBKu0FZ!-3$vwfE+D~4G_5_K8=7NbaDWXj(9+==Lv-Q@2Q zo;G38L-W5=f&+=9#JbWV#s1UNWmlU;h2zSI36O5*E~9@mwzx}WUw^kzeL-) zh2RUMql9|km1(^p1y-|Nyk2v~HpIp16M^okXt{)H)0g)QKJ;*ge_4RlVK9U-OpR(Q zrUhsEWp5lgMIPF>_khYIzF@5{=2^3|5=eq>%X`p1YjSMf-xx+Lj3MYP(do9FU7R<1 zPsl}W&6qS{3h{{(U9NRS1cVSV*dM&VDk9XhbSRtc!z3&8sMTy=(pTk0AM)5Xy~t+o z!kA8IdBV|XjG0O9Nlpc>_b1sCIe{5jALjgTp{AYZR`516u(^;=cqf!rkkRG62~NhL z!lb1d2fx7=g{lI(wPML#GNo(#j=TDtv5v^wH2j?S&`Vgdbd}>0R|D=wi&q-kK57?}86w0ljrT6}s5~N(p z3o9aJmpVJPxy16+X}7pVo`|Q$n$pLvoL}t)m~?NM+H9CjVihh$`q*PhNQ=Fm{RQ{t z72yVizX_bOb6Uw?OsW9#L^ARl0%S(gBBC8;u5azlj!IsRz-%&BR(tIR3H>m<$=Ie` zGw?2b2@hm_>iGHO7#Zz|39xHnJ3oV|{Xjz*rb}Z7YmvC*0yX;qJ^e*1DNX2Mq zV1w=CwDfz5)Bvp3reJgswM5IQuZ(H2AGf#EJGEIMRGaor2YtJRRCRQ*hzPZAcd$zm zij4KeIT_gcOKGLGaA zqt%pLgW&86r7Eg~!yH_{x^+2e{le9bBO}WK!^G{wQRwtJYWUNbtPg`zk6lN%(xWjo zHS_Irk@^EK?Dh03co4j$7#R4G3cc+csCW`9RXTg3yHiyg$D@Z@xdo(b3LU<;g_7M) z*{%BgcIBK}x(=9=VtXo!a>>bhj>K=p@3dDB;$X6Ay@kY&1&u=KPhxC94ef`{O#mF~ z&+r(KNYmB=FaLx+b^v*|#-=4XU_9|%*Yty#hWPt}Pt47}ChDDaxB2v_l&qHu6Tv3J z(+^cjI!kGWRl!z+F)~RItFM+ypQDA>TK{Jr*&dbicvzUrSmd!ljNAVd7=fvz9Rrm| zk4loVl(gG!-XO0^R<@TYoNeobjKY{Nc>#e|^38b_`?OBht=Poj%${^tsbQBhT)M z4K3O1iMkzLE>Wc~T>z7~CdmDCuy#%!&6g?&FOF$|JL3Dl&i{KU2XjqC^lmN``!K-_ z*6LWEWbRgn+!xjgxvQws?yhd28E_|&% z%nJvx0pA*5%l!KYrr+;4R~LAPb;+GHU;Xya5w2v+4gWs*zU!GvX))2@zb?CCLkEE=IL<(;PO zh+%SK51V_vWks(tT2QQq2N)>o0Fj{G|9Xnbuav~%j2$oOazQ^|6}ggA=5SMnU}OWu zSsQ!3KLzcKnWByl@`eJ`jhPDaE9FA+=Jv${n?~_>^DrB}P9;cmE8x4iT4 znyp0+mVW*mYuO`^FJ_rt4oywCKAyR}E$~`*8~Gu!ep>L(7E4qTJpz6|muRbkUA7N8 zkTtdFiWJ=+hZ2UcoV@-Ie@s$07GGkoSy@eF8paOa1F_w;;d)-t!}oRsV*^y2-D&CU z##CBWGzcc4k=vy2K5h^xYa~zcaCf4SBXH=z>wBTf)dI=(D;zng0(Mnlzn_-CM62SQ zL&ej`K6DL#AC39YW4m6LF4^l-)@eHLK+2mn4A-5dH51!b@ednmXXP^5=GQ`7T|yI2 zi09-E+olZn2-H}Hr)P!x^fMJBeSzMiQhIqL$VbPDa^;1_^VFYYU7X3J=OdhtUy3*T z&8DS4Oj7N5>9rUiA7$teV-|{KG> z2bhrTREw^h43dig4)R$eyZ;y2&FU~93XVC&A2U4k2|9jn`o2-~)Bo9c{@y}a>_vI; zkkk)^kUO+@nB<#T&HSq`F7KReq_?z928qhmryXFP|1Nv9gHrkR3&*1f#Xma*xC(XK z8u&WHcO8DHdmYR5B`@t;fV5E&6TFpHOI%OlVEihcSa*!nggHAWH%DXS))mm+Qrh}O zd`aU~5OkJIE=is6pnKHi+jLf&R*{LSQhvYTaFO$~s%C5cl)h&>_g=4%Qby^X#|N8A zz_W$drC}aRbRg|uEnUY>ex#ZjpL*5#mKhwN@_D5*OxQZ^SC8e8i{jc$xX`8Ef^k4fjg z+dS2|A1FxW&?446&#Q$oP#;cPU|l3s_@Ca2Zheb~5Ez}Pjil?dOIo#Ykv@?>$r^^8 z;Uo1Oo~^r*@>m)yEl+Jbbe#~N(iP&QZasF)X}TxUw{UJ8l{blpAOX!bCEMcF^B2kH zLRJ2b2IZW##DvAPp^AAMW>5pK^k*Yhhrd0+#;lo1Yk=doGnpumlA>o7RqV~kZsy#t=Avl^9bH4LkzkFN&BrQ}%wdGu%ot=Qlq4>w-r^?(D} zHUim2dltLW_;P!oN~n+2l>Gt!kg~YsOaBYA_alD)_y4t3QYt4}BkZguP}s0;5}@r2 zcAV!i1{7}^zsvy)*)y*O2@_u7wwDw;Ux3)}!0^dZwt$doJ6xbuE9cLi_2C4p0n+T2 zO)Y{AaKc!hXherRBxrv-kL-5!-$ZSE?MJ-UHvqp;$IAesql>rcE%Ws@hOMH4-?dOq z2^Gw5^XQ9J(rlf1qOeKxGmKUFRb2y3pnPpo54Tosq4(@YiE5E9R9fO(}0ffH2&Wwyt*(3hNQ;=DY1d=M^r0~B6*cvVXn;4jD7uB&5b@s6YNmsgaH zf`|>v&oOMNdR3|q_pZvNe=uh~C~t}Kr>&VQakP@s`GsJWq`jS5z9;5NmBX>d$?t8v zl|$$hJ}d;k&@A3V7;0nGed!B&WJp;&7HzdXy@#duR|}$Iss&@?`dS>X)1zM z1cDuQIG#4HD*Mt#mRQS1)&`tx!w<=-wKt*QTo*vAC_7^ar~cwXrE%0tNZ*Q2#|G?* z(|7>OxSimu3YlA*pY6uXG=jeOfQGP9U%#3Iw1G-bEvh(^;W%&U5%-6D#mTt*`mKYt zH&H{Usn}n~D9TRft);{i(sm2P?5)mT4`fB=APeF5z;z=!Ydpgr%THqP0KC3tVZgKc zg`(uvMgwDpbV<|O9FPhEn@8`12O{#Y(+Lmb3!BIEk*aLCFt@AoMKeuE|G?Kyi6CBO z#R{`vJbESHljB?R@O*wd|N1T}hu5`yv1rjM!}GLL{&KPioMRvgo)>Z}3`>7EkcLxz zwccg)G$t?AD?pCRKViivxkkiC2fLKy;@fLK)@6@&Dib{nu9(#9 zsZ@LJgpORCIvl1tTv0@sTuK5IEQ{c12NA>)r0h8u$=j6{m!oUwU7oh!>5)$0-u-b5 z{7PCE`q#?j5!k3g_)V=GEa>o_c5s}=fL-ZgBhtfl+<@NyLLw(o2Mr=(OpR=mIO6J; zSkAYXroNl^mC}ZHxg3F45=tMc^S#Pjg&RTzcn7MT9qUXK$Lp*qdy(CA8npLO`zX6A z%suQq)nF^nj&?$wd7wi7Ky27t8}4Dz1DNQun2tJmt~%|dTgpanF>6L7Py50X4QuxJ z<`|ZGhmOa4mwnF`R`0@BIhGSnbX6|ib?cMPk$Yza5GgaveHW}jJQf5sV9W6lEv!+E zGDP*dgY~waa1ss*jU4d#e%p7R@}J$ixSj{@*i;zvmu9mrkxw;&VG!|ETlFP$I4{fK_>;y6iFNX z@{=qVvnLwhFWJ_>r3r@xKHDH{H+xW@WH zKz72cfOk(dh0=@Mry^Ro>=5nD?2_j(AJkqIsMB!--|uv{OE;Xi8wz-=1^EgaGqyxK z7Fb7px{>$h-f!7Jy4!)zZuj_Zyi@Aac{P}~p|0d-<992xWhmyNyD%cvPN*X9m$WDY z>UTQ}9CN;G&%hu<^HC`DO=4TSxiL8HCt1zQ?U63i#+-ec{!~`g|1v&TR{r_&J7z!0 zM%Dv1t{^X2Sg%ZyW{ZX`|JnPWrJGyE!Sc=L?x$yz`y(=8lz?l(Q~+q-f4e5!I%3NL zZAwe8-#mEi^8OdiUn74nQEamt!9o}}wWB3x$KosI?N=ltC4F9I;^;vx4hv(XC%>Qs z8DP0ZjzTdjN&G^Y4Tn?(Sl$^3Ddj1`IMh7U(oq*8Go|W1J^b2sdYisgO0A1yI(ItFxm{-}X=v{EHwTPL5}SUH zr<}beY-qw=jUTf8Q5*R>>c&0e#MDSXHr(T#u4ghHPuyo{zkPerwPmEIch{^I?{VYp zukAWIC5`$|$Z3?uYmM#|-?(}EEdZpYPZ;b~Jrx(U`EUPkn7ItN9F8a$e>uFh{&A z=|sIQsniF8>?KxW)VP%F6mxxFHR()!z+ge^4}X?ULN>W|#-&W2asR^#?~E<@kLbC7 z^7WTXp8u>9|CDcxbnZz$^vHoWh|nrO8ph<&zv}~-{{q?mbZ?k)>~F;sesEurN+OIQ z-Zf`WwQ&rlkgm!R9bBO@PwCqa0}3%6<48~ofHnf7MPMa2 zDU|l>bIDuIA=&@IIKQUbB~<2CBNd`1hX~1^gnKN?)LB6zv-iZSnvEco|ZN8V=8cKE| zyQk$#m8Hu!Bgw<(i{Z_xv`k{YX4zYtV8fxc9}@J`o>0;uYFE`$^4O zL&6j1k2in+=iB~Q=?=Ez>f510i!1A5$_%ogkK*n2!~+pPD)btZp03=xU3~VFENuM5 ze-wRr^|b1JjTM8b$Ikm69r56ApFG%M!sTbq7OTnAc3F37s(YK`XMq7t8%3$>tf)hyg;8v1RW?UDF#hC?xM@zbyu?f&Z)NL# zp85V-uTtsrua92XlY#GjyZeU<+3%cRG|A$~$$mvWx&!C=3sRAP7X7s&hbVl&#t*n8 zq$9dO7m(>S-H#24PO8-U{F0s!l(fLx1Sl~nVDcc4+xm5etTDKXKNN>sPc7X~zpL2& zL5hGTt>L-^+jy@_ogYX?)yLQDrwheMJaDS~FE0bYi1P@W!lN34lovsnqLS5r{QJww zB>&4D(D82xE9}7t1(^GD0x1BXO_?rZmI= zI!F%8id!-a8>(;*T!LXz0%=D&wy6fh(sem(Foe8QzMGq+5j>~5srqHH-3?i;wC?ZB z9O){vgrV=PvcgFzvGr*=!FHppj1Z@SLrO6OyQ0UGy87k}n%dhJs>Yp<_-3Y?Lqn5Pc+|(y~2MXu#ct)eYsvHuVHEk2Xc zCyTfE>{k>v=rcDkKT^u{C|Ntsugq11=~M~ke8&bmsE)@jbC`)V-|J&f8zPkKCw4^X&+?*C7gM#S zPT9vI1?tcNbcNiFnOtg$6??ZPiCp#i93s9MCGxiP3RIwN#ed@ZdR1Eg zr6xXVs9o)QuFKx}4kJdH0Yp?WmhwoyYrzA{C^ukq^qVFnQZvo4OC}yzl`{@+KwPyx zs>`D+)m9}d9X6Cu|MTFB75zaBpi%(-ZtiMmT@8kacC(A(^MLV>583lDBHk?`&ibuC z_doco<&IH5o}XlQO?UN!+BD_Wf?$Ea{&x-g*P66HfEKW8`BBqI$DT}fq%Tf^IEeP2 zm7!JFbsTIS)*j)C+g;^mFl_U5%vfpnl!E(bt&n(dV>y1%AMsj#C_Nwy(&K~kj^dz?o;6(a;jK-$%rf|oaH)Gg`~{{9LKzsr&zJLw^#zzOQm7V(x5f& zec2GrZy=gC)-+}=Y~UN!tWGLhLIz{)s$jMVyKdWec31qyE|t{bzq)WojRFE&8G;NN zw^YpbJ>5<=%+~v_n5KtZ)oby1N55Tj7nj11p~hkDl`mNm*;Ar*^R$m&@R(eOHH_FF zPah`B>e|EGlp%z`c#PkahJX6?P3?dyjmDe-SSareRE>TvSQEXky$VTp#FQjfbDUOY z&0(E#?5Y23Q+-Y%zq_zeGZK%7-si9Rv>HD`J5*RdNc#Qa;ySDxwLlx%zHqP=@E&Lm z*uIyv^aH9&7zP2yDZd#h<3^BLBV{xWP136a<5v7_wLakK-YM5ZU7bHT8B{FpF3G-o z{E{E)X$C`WK%i)%i}Od_(#jIA%|#F~<9;Y-!${Fb?EQ3UZ?Cw0Y-8MJ?%_P8VXB!O zB2k1Nlb6T;@`2W)s7A>gXs>eNY3Ee_Dlc6qKFPAAW$CxIMSI<7C5RmnX~Do--e%lw ze=HL7uiEl|ERU))r*4W~N&q7hvkJ5mT|fjP3;*x>(*v8Za^TcjD+L86}+n5f~`vkE=C68C1K?Q)%?qaAn#LIQ7{} zL_ZZS(cO_gqXi@7MBrUI=4LMKjLE569#iFqBo!dQMBuw+Ifvp0J1f<&P!eX!^k&c=w=Y3XntG8PC-BH@hVD9F7v;} zi%|s+h-30Xt*~26%v08=9H+zpt>%DhW|9v;*e@=<6G0hM9dMv&ci2F(A@PB(e$c*5K!tnbv4+Y?& z6$(Eb|2;QS1P!MfxZ-r&(p4}ZC~QZ4-!aZLDI@6Z|554w-f(Bs@6n>g$E~35u48If zpLTOp_C&h5jpv#YZE5lO~U$zhlzu$`Sw%S#O% ztb0Oq?|yPV0alRpbeq1GN?&VD6b-pPs&6umg z=DNQv2q8H9*98=S?q+|#Bpx{cW1Fb4hzPkr6qn{>WLF6gjAi6YNeNA%veXp*-c$ZC zyf|7&`g2$g+JfXI^qdH`LZc8(Eixs1OHBOc*+~99>lT&3#bYnAxsM%DAh$-4Y^d88zNhz=!;-$xj62PlKw{0i*1jl92si90lC;UQB57Cd zTh-sN*3g+INCl;3hauRo{6o$WOH`k=6PD)WPeU&$+%e=3w-X%UUXt2Dl~HpcV_aNW z`Fq}@lu<{0?V2P0os3lwF>y)q{i|-Hd9zaE$6q%g|u?gHo)y+L}u+b z{AbYlKj~xVLRX-(-~QJMcnjC5Xr~oyowRS|r(m1sJd(hzOo5yK3QmaE9g)k(ODGZ? zb&qb-iPGcLIS3Z);~c>?4!ieBsWK?HLC1Ar@o0N3JbgLCJLmeqF4G%vdiUB(b2kP@ zo>uQ{|5{^Mxh-PuN;CVoTudhz!%asEjR~CAkx=9Ip?R8K#8VH1l)d zCgC`oSP+xrUOG1@Vqvg4CG`HdG7ODjEX!XzvLml#b#x}_a^>B32?mnV2ViKy~-n0KHL%PYOrx<^h~e1yoZsjw%B_fYf2i$oeW=vCUOS&2cd`{q zM+wV&;$(YRF4*hb0)4>sx7ai z`J3KOdh+ApEIgL7vD#)|_l_uotL&VE_6qa5gwMG&Qu$q4lqcD(|E(>sw9`DN&j8{x zBL00Dx_{`^8Eq_Xyfnzm&Q~3nkrE$@RP~xvktkj%p2lJNM`I`{wLEAhF9pj8ABzxH&cTOhm{z^+U>s%?aZi98vtla zllHQog~?~GJFItm%N37Dzq3_))vq5OV{8-F6xm<~9$~^T&mo)mlzx&$?WOzQ;oPs< zV&+o^S0V04u1i&1rEwuW0kXpLQX|3CPnd|@i_`n=^<(73%A|lyic;4}j~$n0CyV)` z)vb()82Zi41<7@iX{7HfjduH}l>VP&5(`W}$qoal>$}$=QX>-d04P^LT|nSKH?Y}c zu&c8q|GeA|^^J&OP?XM;;`KP<^!`cK_{?RSDiLKzYNp>d=@}W^p73H8>_Dk2DJv}G zZvR$X$Dl&(rGcOlS>Ou}t1=v0`=ee5nj6!t8PNNJ)icz1ngCE@}_ z0eZoo5!*h)FeY>BjA#Wj`*wq5ugs%^j(dG<7Kg7qF0NS&Go}VEIS%J~&(vI^&`Y$I z%UgsYlWsruA#aA{GY9UPq+V$|FQjOrEU|6;DrNG*L+!*-s;hcz=kW6MF!1s4J|kxU zU8SKMB}bOVjV^GNEP_Y7b@#rf87JrMc;_jTu7#mK3g^4T-r{e;+GdQ0P>?<+ZVS0o zSgYky6s&&iId(J98AGN+>^ z%epBav*RN669d;=;RiBb+yIB<)gikYW~zgJr6t_1JX{LGXYYowN?4aan&lnYoU<#x7a&xl>fK~E3+o!dpw)>7|@+kn*u z-B_JCI^G|SZG#ILWt+P-)Uk1+l`gqV*we3_o27tUqu!+(F71{+d^1BBWh$NAEQD4x z>NFvfMQ-z8u2qWMAVhX44XEIv^>*_Q7B zBL8-d$z2T$N*xr9_c!+m0+cd~XUZ~{bHPU`PpByk6UH|XE(18|V|?Bd12bEF8BY(7 zeG|lZpUbejY%vt^yejpe2!?W%^x^Eqa#Zf71x9QKCRD2Q%g@l;(D%3(NmP~w5vA*M zN^Oc_Tz&d9sm7cYVvjY2M$P8W=T{c4 zcJ$5;qa}KA*7?=hZ@10Yf#B=!MR`*h+%(p*BsGoDI4Ub#3siNPi=}baD2HJ0#dxl^ zvzSb6$-z3QGo;!zW7aamn5>1m*tpZx+B^@ORZ-E6$EIhQ-*V4?U#@5YB(kb6DDKJ$ zMl~3RrFQ~rQ-CO!*@rxt1!tY!pVy;cR|ecI%TCUDDXPA6)yiSK=AZ+Kuxvk z=}{nC%Aun0KfU(#q7x!k#UM`xTQOWnf={jPZNP3#q3Xgi(TUz2ik2*dHk+y$=5_D^Fw-=ZW_Vn2t7M2>2bJWF6d7TXaH| zlO+a_z(X$w4VnC?(da*QZk&}Xv5J@N?%SuxNPmv37iMD^<>Uuw)3r_(mgTcAhqF5~ zAQ`sd!B%#qZb_=Mt>@S%6pgX1;R45c*XgI@KG!IymI@%D$Mve8md}X|CV((>o&TZ9 zT&~{_$IBdVh|EAwV;!{$Krgy-m*@$JeF3t&55OfzbPmlH#y-#2RvSH}h006_mic-X zk5{;ZZ(9}RDVi-rG+>Kc+AZ+rtMB8=;FG*xhLi>^?gpb*badARBH6yHJjmV`%InT~ z{H;bHk~ay$S!GNISm+S|784-%ML&UXezj8j8;T*s|B^#B&q8T1A~faiJ#-MxyjS`( zz`Csmu=t#!^Gctd$cKb$Wd2w1;Ya^}1}4@tTK@Q_>ilP^`z4hj#Z;C7hU=_KrTuzv zupNPq=&{!<(xui(jd#V|lQKT$tgp{uuo99@LFaLH3PN*n>aZs@o00aDHi|xXm8l^j z(eIz*?y0nA@8(!uLN9^IOImY#teoWNAV^XXYiZ2JF0-Ft^Mm978cICc?` zUeyt$gx)(iN|PYL1VRY}l-_%jYM~QAO6WyO2%-00Mx;n@p@j|t2IPO%cEo7d3HOF({+&D7qU}a|g{TY5Q_ln^*>1 zO2!$qGgClD*}IZbUH2Pv(ChEV8+%+n%^RzdaZP(@Ed_n6lRC0ol~wK62NinjzMpIcIEaqnl3#Rr*^be zn7u&)|8XMxvuwX}vKAzFDpuWI9u#fXWV+vfnuPZCOpBbQr$Ec0hfUliefH(keVO$Z zbw6HT@i%97`nWk!55bz^!)+N0vc8e@2a|}*tu9Mee32QZ2rY*AO9BDr(N3?+>+v;} zZu_f~&ivetv4XWDD)X8wcW5ue?r$;?zmf1iU3eWK1;8^t_GV3&*Cu!#6A($BF+oSyX&y#87iN=i1&s|*iMA*$CRtrYH8ngnN zGH$nIB6XBu5DKqA{tl<{p&+a-w! z(}@5U&7X6K)ic%BIR#%Yxg1F*XasRu84E^dK!o8O9QXF^eGdSo2zrdp;en`#BR-@V zrGYixkEk~3hBzjpgr+HFii5I+7V?y;*ei83G&3Y?Ir%8nwhZKNTz(W9>QUC^+~t(! z^vO&Y^VpaA{6ma{k_5t&I{akg+SegNiYR-h;+sKj4c7%$U!%FMLR`K_y?YiFn{F9Q zN~hd#3TH8LOgJ=5o|YRP>sQxSmu&iC^SEECBmVGfD&Q|}Tywi+`}SO>Hg7N2Q-Oq4 z8e$8yO=DoHcxGFBKlxB5V&rRw!~KAT`|lKnV{_dKCE8QrAsR8M%1{X~T|{hF4lxJo zj+^;xYPPhxF469+>(W8IZd#0+*vrxYTe-FRc_^sI)-yt+DFQz(n=6%NaG?>XpT~SB z^$kYL7V1(DkxU}a;Mg*KC4Jnx;Xx4R=HgAWy^ z7Yo>u?BnjMVDh9~LgYm@Ti&gS##!`k%9BTHhYCA~8oFKpi|Vhi)GmzLTy&(QJkeBe zS~`=`ky)hn@8vfBl;^#!%^^_(gkIGny}f-d^#SPhTI4#9*~tSbNX0M`8sHu44wE{1 z#r*}xbGU)wlq^t$z)Dc1mjRQmg)vUrseWmDr6a|#z4jE@pv+lHyEXFj)}hV<*Sq2T z;BaY(W0}_B?RVBXP4*G*M?UUr2fWJQ+5-HjM=E$nQpf1q4o40}`mPAiZ-s=kbLC76 z?RQx9-+b)qG~Il&!I#qU{?r)b%Jwn|`DPpm$=}>-|7Q65=e|Jl-*Sk>?u(x2xIH*I ztzNWZx!``novoiMgD30NoFwEQ;2$ z82`8k#UZX@T~ebZ4=0q0gt9ZIQ&OwN%2c>K#;f+-Bi8N?z1eiK=`4k-k^-E?E3QH2 z==XX*a}V&Sy`VJWLA*oLmeTQ%6b6?XF;G5zWO1#rEySoz(MHAY70(4dC*E4K(5)+B zOcU`Z;*GqAwRKX)5aCcnv5(5ebc4xU7T500TO+t& zlqt^Hu8((bZGXZ`DP@rpJftQkW`f6ZdAjCXA>!Zk%+tP0E#0y=7Ni;FYm|JanYlat z(5)P0TRz({`VD8)VxJ2 zfUy_vkG-ncmfNj5+hK;NVoet!J|jvw*zGvQ;lNYkWs~Cq5(GidnC6EIp-Gd}V)aJr z)qqw2o!8fRnX@;iqHid&-26C9#>QMLAE#31`ZJEGQLciRoY-?^`XzM+RCe>qA`z#7 zTAk<5|QkzQY7PUf7;`W%HUQJIh=^g0K@Y*6|)KUepEFm z!3g&82;M{^;)p99D++T}6a6T+Up34dzP3?AyPl^J7GOn>#dTdvsUS91&FxPx1%mNb z(7`^%4t>qVMfGf(b_wREDH->6->c$hGwW1y6Gums!bJ**vtHZvg6H9+YRBVC2&oj2 zk>%R@BC@I}%-Zyc8J7+LFR+aX!oecFmp~6~CB2YJj6<=Y;bf~3YU^<~!9 zc5Z4JaL#HixIimj61)LE&=&29wZIpHlw$R>fz2D@0+%DL; zT)cEJLGE*CYaed@R~LD+7I?sQI1>stnWVt-_#mf-(bC>?;hbRk#jgoR3?VOM}%>LJu6G+XyB)zHUG z`kw%c1?fEm8{kQ<1#E(vx`0K&BR=G}-|w4U)c3t{XgrSx)ve0KmYle{#g>s{SD^8kK(i)=Yfy4?7DhTW?4CAce|hu>JUS>I!{z= zr?J{Epux>1JKAM!+NEVz`H0nqqMmU+<^19RF0WX^SXt}ody-i!Zd0N(&CqeNyGr}3 zc4HPTtG#)a-Bw=8ZH;|UY<$ONa$2WdUKpi3ZBaObC3I-Fch!_2Uw0&zs2T^x;Ip5`_8K1WRR9a%S-o03TDu_ zA}lvDS|Fun=Ol9CE@K+cM5V4~8!!0UKv2f3$Zc&He{dY5Jb6B}Q1T0OhE`L%5|iYb zk1u$eC$h^6BC1TbANxdCa)EPF?T)q3AH|uxS*64o9D-d1?P!h&yTo=F7{!{$CJSmg z)3UeAEY;kV+6b40y{{z>&#Y=x4(*e18hw74m6T-Lrii5(R?%fo>wl@cU=4AO#kxy; z^5VOxnjiEaVL0t^J9TF{hgeAr29jK;p*1yyu-DM%H5S1_s<>#TIQtX*KTd(#uVqKu zAL4AQziwCzwrOQ?Ir*dKlEN2~RJIoyO#11yVE*yqS07AExh!7Zx~DswtlO^VVa}p0 zE>(d8J#3Vi5rD!VCn8ne*XlwGS=2W*vwA8yEnn4bMwfqH9Ck){bbUcfN-A2!<>tOq z1sqo?~F>OzBno7=&L_59MNirM?JTbxKdgfhv}4fu(J!0XF&0Z6&XQTJ}!u z%gR-PnnZ&xb$5K7VTJu7uCIs=qf)1hg>65{XCzQq+st%g)>8c{j_&w{)7!QYHJTFX6CO-qR}!h{E?1l1u)J zk+WhPjKKmG#1S1)c!z=|KHkSm8o6n^X55C)#yxbz1>le>#WOgGLS7dvP57fR+%5aZ z1ede(Nam@=$4K2SJ_xfxr$(sWVRUKHhP$2~`?_}>%>Of(45t*EWSxRN}79c86MvT>^e>o|$#J658rF#mb_ld1J0e*c1vusCXAhjP^PdrRmF_q>C9 z8FF`4!>f9Y+e^vDRdS>Sj}r&)t{QOB8cRP|w@sc9X)I6sjCZxt9I?bVVeOjOEdLm| zjB@Ufle1x)>0A=2x__?sKYzuK{uDbY47)eWSWdPGvrPRz|5oL^y>O49ZW=r7_Q-QW zNtQANqb0ObN^=pCG{JYnAAVSmoZh(f_P45J4doXn4-*I1Q^c6nm_{lWxGch!iCv!5 zyF;k`@g@DnZIi9e)+TFf5U_9IMVobCDw$Zxw}a$qhp`E-LYkk9X&=B-)={lj10n@_qwscu|-TJl!4yh|G_oAm(rQYtKCd^9T zBd8ctZ1JEUUO#J5(8&IPLxyK~F58t{orC5msSHStXA*q~X?)dkWlryHVB?!S-I!ma zY`a1$6vM{PDK65Dmm?pxDe@>*^9|DdRK+#;Ch!F&xHKxNM3IS(--y?N`icH=$BAEaF6TZfQvfK)d`}bp4r?bh4WiZRO{Oj@ zj3+7?p%``#tQajUG(^P{1<;?a)~j@n?tzs|VPQ9-OimTkaqm0mi4$=3;-lj zSlp0)s9X9fbM@(-Wvf5)ffQ0}+|dj!kLPTC>Y4=~tL6%a*AoN=Qnn63?Y!-@gc!gk**?bcJhm<8 zDBn^eL#twmiN;E;BNU})-Th3J0#T8TgW;gxk4x*hT&?F*1WIFcP9uP6FTc-0%^B(t8dJYmIi`44%Gk3ge9%QU#anFPk6YjX zi>KCz)D(&DS92o*5K_-qHLy6ORhYI^#q(-yGD8ZK;D*{ma*oE3$mCdC2K?U2A*)VaeGY;I>+cAAcw zB{eG{fU1UX$2VkEuc#T6N=$w1$_6e(M5h>pYCvN`)mt|ktAuCzzo)oKZ=UZ!OLl1G zs#v(8$1X1l!&>SRq|l3O9$*4*z1DQ1Fqw1itSBrA%g};Y!W|Z^RUchsiq3i&{>YPa zlt|q4U{1+#3<)fGZ#)7T$k6g%5vA=_>Eq)29608~>~$$*_-c(kV-3lr*gtpIf0WKO|3D?Y zm)Fu$8qkE-i9xK(&)bKG%Kx@S3G@}(8;kV6D< zLNKeE;Xuqx=O#OPEj6BQE!sBwnUsDXbal<|qr)+@XX#c^$5&+v%*}SB@kyk{d-Kuz z(~Ox}9ciYo@u?e3OU`$t2TKkhYUI(olmPe#ng z_-y>R_ASv_QaK;+0gHN1R2Gi)tiOH4A{Xn<=o+~pt4@}#^Nqw!uE^qlp)2I^f3*JL zj*jsQ)tKxi?0TyA%xtvJ0$;i9>9{zS#WpJSEv z$M{MAHfY$u{sO=H+py;GjmujN%7>gO!vmuj^wI0r>WtybCuWTpLR7t{B~mYC$7Q#P zZdU$}_HJVX-7bz1(Cvt*lluLL{*)CKd77&T0+sc{@y}3zq{)sr}cJ1X~AI zh~RW-u=X%a9Jz~3&8~72{_-!zXYuzzbol3sy~g~%HPHWu`csVc{UoKiG!YaF(VUy9 zlde1?6JGId7wxyauN zPnJO*oL;deB*woNB!6qeNW$>f#^>%utLXB*_%G}8_Y=2aYli!kYcCIu+}kxJy&=U$ zvz68SU%yM$T|v_7UVe<-a(2i12}vf|$hN&3si>;=A$cXcrto$cRNK-~CQh1Go!S6? zFAv$o1X=cjwur=<#nju~Uw-b5^eo9+nCbTk?ddWh8lJ7xvda+ME7m`nkrVREn?Aq1 zSq?XJZ>B2SWfYS_gPi$<&$ibscGF&~%sY(a;UhCGm0!!csX_`IR7UfeA|R`i6PGfo zjd%=N-sv2xlv?Wt7El`e)HS>TJFx+d{Pw=vjOhqa1~PG6jB z_6aHJjYQibs8aAwB9np$WyHI9t5%^^ zlkQP6VFvIzAGMMzw03rElqS;DLGs7K9ng! zT}(BMKKSc0#zlubp!&{ig)yQ%Zv6*$x^svB=8F>EFMyterdV{2sSxaZR(;&6Z<~x< zNHON4ilOiMQIo_B7oWkU-_2yFpnMUpGzl|*y+P)pFXDxWUZ7`dV*tPd-oP8=l?-sD!Cos+Jce# z;*4Wf5y!i&DJ_O(wnb|*pVPa6m{t(QUqrrXtl_4%_74p$V~omlM$#pNd=gx)BSbKk)#*vUJTLa=D<8p6>%Y79{_ z#lYAAG@>YW_*DR1AdE91QS;t+AtDpFz!POk1%S2`hJ2Sa%n($f&N4nc_18X+*3S%v zE^^@Qbhf>#3YH?XR8%Bd=!eoT^;*t1a~W&MCQQk?8HQmaS~OaryTYHmHHeQ1%F!Qr zwZD;YWiHLEv(X)Usv}TV^W~txin3W0_(RzpI%P&zU8;w`n$*k$*3expx;u2N4VQm3 z!2dNe@a$y!Ur(6tXU_>j)Hrh{C+QwE{VNb|u@)H_|Qk`ruvJOLKazE7i7X&5zWbx;?N){BhYSduj5Q4r8vHO0ea zl+av%vhmo1eT|ZTtRbJ7r<%7UgrvMq3q=4j5=VZ+*RsUCqnPe?NjG z=l$YmO(YNIE1N{qe%bp$QT?|zF8OB>bAF_)ey>7$|FTW|PqoYYe@RV7k?~jh`M1aX zi^Iz!UbH?%l78Q*9$bXCws{=8?hM3)0aCsY4r?5N70*(Q>E6k|&Blk%UZ<(lw8r9Y z=}s1`?nG2rn^jgI20i)5jN@tDTG{n`Yjh;Jby?li4EMsgzYb+mY1e|3F{k%by;$`c z+!kIWiVhAg3eJ4qk528NH>0dYFD$)oAI|sPlU6Y}KyuWhvN)BV%(J=lr*K$0jvqXy zg?MpiaBtGgoxM`^*tOFu5HXkx3?9PS$SdyGUcV+1{HT_Wi))asZmKc3gx0Z)8$<8z z{R_jIJW`Rc$~6e3V{I#-`l*VJ*U07~53kcsc&NX2(0L8TW|y9* zGy8ob&{6R+WsZXiamHjHQq*MvtM$p`i(wU(*U4pX}6|9(4imlb$9h}HQb@vj?{pAOpSfLS? zFrhN1oOSm_*&*d#$@^L~&M2N$izlNoPHxccbhSq-1f#O56OkDa)(@=e+(WD%bjpOe z05$h-Wb_eLu$`KfA3JwPKK;lu;hN1e%7`}amM*z^4Wy(+e>`V!v^hv$R97*nvQoqb(C3q z#uVk~kSe*Af+&Cd=_vf=SJ=|+ur{A7UzpFIV!H0rhaTS$(Ch(x;6{i`<5IC422xy_ z`Fbf<;`Pu9W9tb=09JiP$71Z=LjKd6`ervZLSu@poSu{cnDAa~!}gT7jGy|&)+#S- z8$Oh2|MeRQ$SJaIp~+uoxYhV*jb>{#4$bqpl&R8SOsks0-$I2a|4RukCwmD0bpGPYt*~DgSx%H&qN~I+k-K_|gQBR(>EvBs*lRo}_tJcaOox@>8BzYCSMEz$h;d;)p;pGP+_u>i3Vifmo@`hxtal+O=` zoq=5?Iz4JEe3xS-4LIlx95G5L(1K&Nrzz1Ixle20#dlV}=w z&M-SKYsl`4fIM|iRF`g9z;?^`$-&=cI%e?sOy14llrVZ^^Iz=(>5xE7G#M=7x z-sU`(A0+t6cmq=JD9O3Dl^@&sME)fi)F;2X%j?Zu{LPqck^ZzFEB@>9xjnnqZzR@D zhCW}B+h{c&q^nW@xJ*SUMZdt_jr|0+3fZPZFZ}Dx0|H)FN6vSdfW8&ZhBckziPFSq|M*BScSZQj*e)UDTFKX$weD$yH&+lqOj5!@NUhDI)IWF(5>*p)3 zJBbOb78X^r_R>{`RJAb>W{r58mR0TKAJ7o5mnrC6qteaffuSt|ixBVMvL@N^7_^?# zBc)#)P<(YalB$sU=>}AlDY5y4gZWJ1yBIR8Az}DMN&Gkj5JQ4hyq2i8Uq&e{Wk#F7 ztDeEoJaQD~ria#foy%DOD=rsuUx?7)ZN0;4LwZ*%Q-R1vr(~P=P$64|Gp<4>Hsn!V z2pY;d3NUV?ta$)CW`p21;=<{avA1TM!S%xEs+MIGtvozMxwULHaw=6YK2d0gBV=UY zZT>VSQPxsg*e0TJ(fM7LyJQExN3a~n72&c#z`9y149Nw?F$-e*M*4lVIxpvd!DEmW z{7#Rlj2jg#PBUEDBxkVkKDlWYw7LAZzN)_e-g3Ow=x%@7|DYO7`Oeipq~z%@Hi3^DuW=^w z9XQ)_=Jza1JjdF71syS$;;Pc_U$qd6nSIrKLoU(W(a5qJE}=TCc>hH#N}4;HuKed~ z74WQ|%dT`hGdg}$LSvCHq!UIg6`!-ii93rJ;y9|6Yr>-C?2rKU5~ zM}ImT{x#EY-fTxH$N6hVhaXhql&2*6pu$lEuoy(y=PjF?c(0qux>`QluGV^7zR_F(aBeOFB;I9Jru+adm_iz9|j zU8z&^dP((-PwjvVM6{jW;4wq^>y#;G#)E6c_EC9N>}}EPJ>6hJ z8+uTTz4aoyt`HR)E26NRO{i+B5=9u8y!I)Xlv2KHXHo#opwTjzsspjsTrZ3D(AlHS zQwnDsN!@)QDb2kWnPAQ^7SY44wZa8Sju|Wtjf6)`r;|zDYrw3nZzgDJq_+vLyf#bU8_U-r7qC?zJdNE~4o}uSeSCyPrVg}ZRh&wEY z{p`y|lGW($d(LsrFB|Urs;C$SQGjU6d&oFUp}kmh3|Xy<_~OWLDd?6SZC9eTDrpdy zJ1qC`MB!qqi{R4OQH;}o5;m+#h@~eHH16pA*i=ocot2w zoV|VxTLKTFv9iV#IIX4MwSQY zP_B$nUWT|RkQGrCtVZZGASN23q#Mh^ z2BM9gg{dl-tHVWAlVV*FpWz$nO8fh$cF9&@%2;_T2~UqY53ma@{L-pQJ0ZIu#!@fx zr^*t692`Dhl{yFuk`RU4rB+#+x{jjw8LxbSW+^|ugA)Z=;j;@i_Br$C=e4LYLGfPh zmiQ6(!GS8I0?IkEIgv8jQRGfQilr8QHG5i-uAnad=!89^T$?K2!gXN<2Exi}IU(sM z-;PQ@bL~j>n06$<e<}ww33P9rYMSU;$Z1bo*_n)N_(F}E1Q;l-h8izW#sYdm~ z#uLi(#hnrAW-OQv{JSO1RK!;HXE2vgyl0a3rUsDq>=$Zk!C%uScCUXUd81oxA!EjT zAw!<8#iFf?CZ`aVWM@kdYph#4?w9>QQQicA09!t55@Sz$o-o+s-M=ib$LUr@mB!?` znwPZ1JOc(IftoXBrfsHvBxGq3lE&etVtr}CC@t6=33=i76(%l}prnIep%uLX$%(JC z6L8YrMl$Poo87&YKhO?GTR3Z^xYmDigs61n2Ncxx`O-B2DKX%$)H*WtndXMKMQr*R zg95n1E(f4NBM4K_$e8I+R#|nqbDT#{Kf6#^T&sW%haN?sJ!LWS%fFQknU2faL*HmOEsN~y>vm_xdx#Voko zv1)%O3!KL1pF14LPr+4|o#daTp)}TrDQ{ZeDvj(Ad>7d!_^zCXj^cXBcH2H+`f@_m z*51poteJJ$d>=TYksOl!$;fKZZX;!i`Ez+`bPfknhQ~!OLCtaTx%gMJ?+d3*s}QR$ zDG3>CEZT5s7YbP*q8_W${d{ilEihJ>%a+>2wPS17?wZVqRp0*1xa{4ZPs~_vezWIY zbi&iuOjf)dElJ{Z`j4~E)3t}?C;jf=|JP25JJ49dF~KWUmWmIx3A|0|lqqGC^dMoV zz3j4&p&Etl>Fb{3rlebwN93mhz4NPu6zT8`H9jB@TVq9Vp}z~U3z`ouid1?#>9{}o z74F!?7vqAIkTW0I9oV1!AoGt-?J`^w#4(j=)*hEuC24!@HCDT=B26H%)}#KMFqgb~ z+`H-=F=G8Rx9c9YHPjKR7AeiC z5d@HqG%;6fxB1rWwL1O>L)cfY=0R93yPUMMPF=m$!Gb+^Uq0`QhCOr1+Ow?V(C6Ps zgjbI(yzD>T`p3X{G98*q#Xe8qf?&j<0M||U+D9~;5Eyt5sW4htD29m~eD?cB;*VM= z3?J0`ukWLMnac$$sueqR6U$KTaZ0yegedyS}3*xe>gxT%mowO6L(<+$_sbjhQw=TO|KSN5% ztXU1^tHZ+QW|`#z>SaplktC_DsQ=Jeg8HER!JoP>#4sbw%h%Sz73fC|Fgg2 zek1c0MZ!mHRbm66M^xRGbt0 z*kNj72S_~@=hMDJU-hLf;#tP_S@y2&uX3_K!+{cOuYqbeo@(I&U+Q~>N!zxf2fB*6 zIMMPs@v;SkYU5NG;(kdkTlv}Jg#2ASdrASVu*tbn%Gaxh*W^-F_{`D)z(9j`8J3hS zmwShGj`jp$mT7zm@3W_zQddn7^EW$7MX`BHj^Rr)$UWGr@5s7L{}R zL3cUBaK^21bj+?SZz`v;z)nt1{sToUx460eoiE;EVuhD4Gpousxcbpd_6gg~E}Qn| z!e3Qj>1~zMc^RwoZ+Zq5yrd$yxlOMdB(7F#t z-OC%(DJ(ue6UIHkAU{RQidxjP6I9ZIaM5O_QviPllcy+j5#p663wHL zg4gw9>-P%|vrW>tWTuiTkEy*?rToeT^9|{nS{5vge#S5=ZDyV%(<%4u6xdq1isfc8 zd+|@m`WhwX@*|cb~hw z&Le?`{ZgT-k{aCFqJKgrPaStDL@tg&iSo(O(TZemm!@|>^c_~>RWqtA-&dVF{$V;j zm1HP(_A06htNA=|s^Y0d`GlMXZqB&(-Iooqn7QO?8V~=}-UhJ&>-Oh+E{l9Zn^;_& z%$@NzbBP{>qE(4}J+POngNV5-%$AM0=t{>s(v(bANm0qiUl41lkMr07nHlQHJ7fm0 z{tvS9)6>7?aQI^ZpZ`%P4)Wr_PBx_VIMC$HXN2HF-)p0+7w#zW-3V~y$g}01aU>kf zwsyITMr<7^H;o%+e^-7w>ugfQdaVZ>KbRVoe!q0< zy5o%V*5g}|HEWYCrngS!0nd$_$sUihX1zIvUap+`bQ00qzz*GPq9!UkPE`AM$sV-$ zaNcs*+&RCt8RJLLu@4W4`Liu?M=z#k3LASQXB<(8et*@!9a@Zd(kn1>FM|=MlG~nT zJ0Tlw`*PtyOhWz~c0*^G>kxDjcS*qH_kv_-(>33vmng>H3lT=euhMIu8ef9^Rxtj( z4a2+tbB!;TFS$>cxgOg3p`t!Wo&LbUe4i;~p`v$L_*lsZ8pEbzX4bDBBOdGFly8DX zKz;76i(2HW!%Cn{-^R74-tD)-eeLSb z66JD+^QD*#J8olbkHbGL-T@bq!E29{gi(1lNCdbOp%2^MOL?nbvB+mFq434k%kp8i zv5X>P%aDE2+qW@8Lyeiq3)WA$hqH6?9m3#uDmO*ndEY;mb9K56W)qsT!A#BcBnu=C zYH5}jLzMBV%x|HIqXE92(4<&nhRVugyP6|Di=X;Z_&&G@dV~$cJ~QxN6ssqAxL&rC zZseY`>5!+_pm^nwVSwR^z|4e5OzX8;zGQOLvM4-62JPeps?vc+s8|E zoi0m8?v_YqetQ;t9$M3`1=aqnE%`PEb5%m#DpiNeqhe-{3OX6-oxUp6PpP)dkQa*l zxF||*-Z)(Pmb8rCMtp`9o##H~Fql*28zNf$tH5~Z6U;;Em@*)}JO4urO_2qie+oP1 z7HHbm$=y*inHAS4r8ys8)81f~YB2-mWh?)zeMokxfB^YiT+nSutyLGAyO<+$mmwFk z#%6rgq1`xXk(%Y#b5$>ZFL_)3Y~a4_SE$b!e@Kq^*709V?B6T=PyT%LO64lYzr+{C zx~ge*BeVfiolma!W~`@yYuIqznBC>3HFMdUsFR<;MBk&h{A&AyN-6bp^GGf05G#;@ zb{TrC%CY~8^!yRa*YNmXwfZ(b``xiiCn!|MubW&YoXY(~rEQvBDUERn37vGjbH&>2 zq05xkKL5=cn-3}JvD~Cu;mKFs8!z;B=1bp5o1C5G2E9Tc3%6pJ9VRE4s%H0s>zl4q zV4m`9F<5(We$6&7wPC-V^nL(CTFJnfbNZ-L%8GBSzVeV|dfetg)Vn=O%0E3q%|njDB2RAt{J}Ghm={B^N!L-ZDU|bQ z6ZUZ%O*ZWd^LY-N>whk}|%yc2RytmmX2lY+ZJ^ zm@Xqa@KJ}eQAB6bw(yXTxy<5gkMih;3%Ym1r7jfRTiYi!f@O!OD(Dw_+38BJ4U+ep zRk86_OaFUs-p}cY|8Y)9<*ykS2J&wSZj~=Wo=EH5-ly@Sz8dTU!my?39Ezf>aGAOWD}!QoDpC_46%v(TL;sFyd3DdbXNL z7r2u4u42l)L-n~ULGMGDQs4VeRt^hxs!0n)#N8I}m?yTUvcPpT)Ge^38$zeHGHy2L z>yNEq>mJqCn0%~V`SSGk%*Q6yxXY4nw`plWoy6F5Qqi5nxYGE6qvDlTXP7?6`Hbr# zCPmfiuOSD#gwV0l@PW^;p7;@NHRz$sOFfq8U`N8A*-rNmoG!%?g<1F z;k6ps&D$?#)~&*dC+{XC>l;?_SbW-MlH9e8T9)=Zu}YsecdlI3+fUhmKEbiP7Pf!& z9{!EwJP%l%BlO-YZPb>miZb_%hM|pgQ?xsVDOklY4<=Ei^R_}JRdqbV zI{JRWRijwRF7*+ZZ#&w}@`RmlDq~*m(xqQTPn?4M4;j|GZc)!YwK;EC&FP{3GUERi z7u}DL`?{&V%!Z5ioXDHGo4SRI-&>yo%F(~f&Hr-nzs=&1Mios5o!qS??(|0_e)-Tl zYceSp@}a--vWegCyKk25%nHv@9dQTdY{}+@9`mIag7hltUbN2M7a~O3c8-meMsE*| zt|y$#-uyL)HyB^&%nF@je#9E8IISy@Jyf<$>-%A3Vd{Kz6_MOg8p+KYY%5;Jd-)cb z&UHIgZ5Wk%MBiFHbi_rmMz7c@vdGD8Z|5-$M%>queJpr%DFB@CI6C{&Xo`6eW!+@< z!pFowKAH5iTj4%8FuYo-J_n2IDL}d<^y(9AAP%7cK}_jQwjKAu#nvU2#_IbWsWN~p zlwjB8ygII4Y3cf#JUPyV=x1DYuxJH@=+k0 z_QG{6CeQ8yAgSiu{5>FJV^58U?4n^GcEB5JCimoe?64bLV4pyB2+pgJkR-tlE2)I=muV1&*U^R)l&KIhNLD3+(DI0MG`O6#&pAV>(4RR_}U# z`{3*PS-YEec!!&)MxApT13h|9gwft!El*?;n!SNHT3wTo67r) zN|EITh0oiEW9n4a8We+7;&Zy6KLE#3z3x!Voo?&n&+w@0+KHF>b?n0zFoV|AQb1a~ zB;p{ft{Nd@z)iQR{4g!S0T`AHRPKp7wW}Mk)3D7L%A&u*M;=5&T?%ilP``^$ySUIr zl^UEM<8))e6o5Z4l@RKThI{Q&)u8Xi;^tHg?!7^rDda$f2Hh=U^LMFI+s4$XCiULF zT;c}lv?07ETo~}-O82Qo-I^bj(z7pp_f!U;yL;ZN-UB}nf+hwSuq|})Gn$+NZk&T2 z^^^?N^xQTNO%g1Vs7jNPo7x+6qlMfB1+B>$T_k{!Lpxsr+0F$3$?hkdSsT+3a0 z8?cioakmY)Y{WLX*k0qmrzN}U!RIktE*9OC91m$}?x?j3J5>_2=LW$E9%C7hLN3QF zko6|tIvY*u$j0$mR*IFv**6j%B}ZNoQ%y7CL#uxMl)JQTmG)?61_Dj)e6F(>euNW` z-nX@!|JVqmAa^9Q3(I*URzgGU%FZ)lT~bPMRpGGSWm_+khS}3* zLRR_86XS{3eD-O1vcgcCY&LqaA_pVu3VN6V^Io)Vn++&PJ|u0XohJLmmWQPhuaOVF z5l{>T(4|{O)lM%-RUkP;LBn=pRq;M5yP54!nRpk~tCIlu;e>wD*Z%ac+&3J_XZ*f) zeH`2O{zkH`^BTNx-kg8gfSs~f1rLi31tV+$RbrCs>X#B{lzk4prMPcA-ppxHGrm1( zZo1&pyC(%DTbsj;93aa@>%z^g-Rt@|w@T?}I9Q>0-j)+VPP!Th(Dznpj=wN{BJ#3Y z5rzqX=fT2tA$F9gWFQ22rdKXjgAqdWna@`AYP+yXJz;g9$JAMsQGZzfCJ2@>Nh@F# zs_`ls?kWpW5q}?0R2R-9gk=gDd5yab#$e~~nR{p4ihc%>dWtD)T(eFJ zsi_R9DftoRNSXg@-;v50CggB}<$N>XZ&}_1^RqPa6;u8%oA{q6DD1m7%X&U<0q)|A zci*`FKokC~^Dj$(m2Lk&xQ~DGMx8uyQ$9H@U(E5|<9?`CcubMu#J?^-!Myn!X=tzB zJ|frs;yV1%($i@Cs$4oA9I?zSuXWe=)&8bUXDC>Y1jTni^-67H%_Ig%2V!5_tPZ|T zeo(F;W}|YD+mdXPS#6qGr$@e|pG-V_$V>ZN9LKiEmR+!C*a{W*nEeF6@v(>7kwzI=BG0FSu8`MD?mb$li2)O+==*5YA!q3 zYt2bi+L5wQLb_e;`Bgy^HCY<0F-y)dU3(KVW#6!N6{fXYQdfUPbEF_|GK4S7+7_kS zr2WhzQCXg+$7;^;TA>K0vfxm7+%$2C$3&y>A{Z%#-v2DaVrLrWHZk7QR>`Qb3clf> zv68_+I7zVqfIuZZDAZt#Tv&RPug@zoG)%etXm_-4!(rj0#f*j zixwgRq};(GajEIILD{PW@|obFl*#0}>9{)~ouw>_X&*IP>)ngSMAJiPqIrd#%3~UP zB&ufUs%KR9=qw8p!{`bF^A95Tm;y~Fcp3tQKEGV>(qdyjw1ZRCtSPE+hIf9CT4n!* z$XZOLjmma6Q%Iy0BYdPv@`c(CUck6TnVOa@XcUBPfNbL?X`QOt^nven#lNC)mWoQ7 zQ)h%!m#&O6j1^pzsjHC5Cd}0s)&`)@BqmzXht{zC7fPU+%)QJVh8E2MUS_M8);Sv;?dRAAwt9X^c)p7QIwIMGn1^`a62`Q z(jbk`Qku1TgDI0(tjdFCXQ(Vqu;+Sez~&3)5#aOCt+ydyQ~EA-a_z%>}Lw zha{^-^$rEt$TAG%M9x*vJ6P)uG$32 zUkyP$Gl;8uGA1g~hhdXg_XT0?WNZv1QsG!&zsFw6%uE-yazb*0k-m2mE)W%ZWBi?6 z&{o`(@PT3`dZ@O`Bv!T>$kyp$yUsM;q2y}LB^0WnsH=$Kuq7a`Etl{-qZGGhz>m9q z`9`v@&E8zT@{J_4l|{Zf{ToSHt>{_${Zp-~92OH^ue3y2eCb0_kfXwdYKO z;J|(=7+U6(6r)+u2v!sA2q-%4^B&R~X5-GUcku{)wHP=gnA0woZMDeNm)u~okyv!j zhzn%I#rb3K4&`4q&&{20Bx{?o=>(nh@Tgx&&NT;O{3FgS2x@-D$4mEOAb9~*&5w13 z{s(*C9o1yEJ*uPF5S89UM<75zK#?LMI3l145+p!?KtO?jw9p9m;0YWHJ zl0ZTcr8lLQ06~g$5R@Xtc|m8c&V6(5@2&gRdcU>a`u)QfzHgtl%h~7bv-duUpv3zJ zFzk=R2tkVgsB_&-y>pV2so4c&fqu3)mmU2pu`g!vU_zNM{zK5Y{XNp5ciXVTURc7 zOBKLv)Rkq*#)r-HqS2@6tE&jy>HQ-16;L%^lI8%vUE1lQD@e2CO&z@@+9=; zkz|4O(sgFjrU>KVCR9oW2 zJG=V1LYfsqd|R1u%S&-y22vjzqeJ)zsRJ#RSmH?SU`lE|Kz6<2iGEZ_H5M)z4J9t< zwy4Hf0zC8(WJgv+C;HV3R#z^GUHG2z;Vm0+zG!Y?FKJgZ&QL{chycoK%T}n5s&>}L zstlRyCVA0_qu6jtmvEkSpZdCpmOHDPx;C4Gi&Uj$!-!@2eftgRyn6k#TOPzhus)HM z;37}vPz6>03ZFtfragR$p5cHmnabqVLw(h#?iT{nsLZ}Oi}zI$rN*w%xP?7 zf})C5F^^4u@ALN+v(VkI`LeYmaOJ7RKHBV6&|enChwZ4#+oH|V7{8ZG+h3bkHAm_B zUdNRW8$lpWIS~2EX^g~2W0BTM0f?_Igyr(Qu69*-zpGMlNY=n92C68bh@2 z@B1vj0G1v5uEyIb8bpZ8+4Q;?^zvs>mfZqXYq$%3E?0+ateeNbw#ABwNF7PSm@d~WqzP9o zZoT=lzs2JZ^%pS=`*Mj-^agqU#Ge3-q5J+8`oWq0Ka2hts^^Qt#D9$2c7iGd35qx! zJ^8p7LzmoYj8*(X-Y&A~07_#TzS72)|VRt&;(`l>jvKu^3S8#^|h9O4v`V#f30KD( z=k@q-p_wpz>u^Qvg8QA^A{>m3{HObnV0X z`2a1MD$uw@+3d#K`?Vky{*OM8BbTnAIqf^RIZ<`9jhv5D#PvVUWz_3o6MDlP`6ZV| zLh8qXm(6=@RkPz%xoa|=Ba#qy7U9f%{*(pp zRC)xW7Qb8O3LuT0ihM-_{w2y)Dn={aDo*h?#u*{K*{9?Cwz%r>B4l+$LGiIg9tTNh zQoU>q&>a=^dKanYgs^PLG#1W>+N=dPn7-m&ljmH5t{VruE*w0zJ~Etzd#4)H{fet8 ziJKl0i6<`{sd^1xq`%t+aIQJNV&r<^3RNJzW=fs3nW^A%#QmCR8oKBidfEah>Sq6b zE=OC_!>%CFF}q*#@O^g^mYH(#sO2bM%qFG7eMtVoCl?RY_+3(0O4^;6vF-|x@gosQ z;k)`HarTK3c!w_4$9}rt03!*ds0_`Js~*3`OGOvn2xDZOlNY0un%p*gyLJWpKEo`x zrnKTR!7Ig}=yuJWhyB`(6~M)chw@|@ppsjvXu*m80f`ZrcC$yraCmRGV1Wt%RzFw0 zRnNGm&N4ex@DBHF6=AawSQ7zdM0{sKwNx~25hEte02?0~&tX1F^9$*P7;~B28XS&& zRT6VPX&(44L7@U0-?McTiiEDjhYq5w^rP7*qAqxpR$Ja|4BC&0Bg`bU%=4qPKdWJx zu>~VR&^1=O!i@M8w!}HXf+D~DZ=cp9Up3Ifb!=isJ4OTgizJ~`1{B?q8PkWu> z6cAIxYf6nmJGbyQL z6s^zh(p7busFc%BBq^@O=7<6nM7E48ybVKpGR3+GP}cYiofyy;h;sjtC(6kJr}d5Q z-S063QS3-oF^@~Zt(IHiirGS}S2g=#Sur@K%A~;t$sLiWcpDvRSIVMqA)-Hj?8RJ< zlO{Nf;TdnLI+3HxromYsywBZ@5kUACYfkWA_apmT(vOO@kmdNw#=2sSJx15760Nl~ zHwMA7nR%YZ4Pgd4W#xcLgLQ8RBWqg?=)lLHQg$z+R3^4G8q?M zoDi=n2gRvY!7oB{ry<~EJ$Lo2!swy7h09$*zg%rplyslK^@6YDr>WE7qq`#E^L==I zhNp3KZn;)7sVZ6mMlgjF^in`hm6Np1+Z!%P{Jl9>KCh&dY9s@+t05P3Y#|`{?p3oh znTbe3Z~=@p5Ka_5vc=P)g`2#{|3=_t-^Jhd(SG|T-230Q*NkAUO}d@%bND(x`1`(J z6~0L5#yndroK1fk_xY0m0i<1|zYOL2Ds85HA~nd@ILf7kkRP3Dce-}=LyFIpaAmeC z`ZcMr-}iC;zAs^Ne@J&o%CLXM)}_m8?Ti;Ef^M9rC>9(}$y;shD|EjTgx}(}lhm0d zuf%^j{n6HZJn=cX`=WaVS4rD}`tEj9(=Q!8ci!a4(a~G+Dg{*qbj^V=pSFRbr}h1> z@4Y0h=+E7A8mb7rlsgQxMPr{=WumEMc9Urwj?eibTLX{AslRTi{-WT%yGnl>_W$-r z`KM!w>pveJ|8J0gd2!&cv2p)&g7Fv7zx{_{mQtj>WGr>QA5e6lA~RNREGi8OeYaCt zFb;|@OxB#_>9OeP2Ha}ZRBj*$@*^z0c(^Dl+&u{q3;Ie`gBq~pG`6di$L30h)>-Jt z3a0YtkqJv3<%Lde-~HTG<G?zRN>=Zwj+91I1P<2&n1LB@T6tPRc8BhXv zJ?}xjSS~5mbhK(+Qj#=&Pty(VFo#sH)Hd%KO&ESnTZvBcImJJlLjl<9KDre~O@J9^ zZxCCz&hmy9_9B9^#Skr{+PtQ&4*3=Y^x?iuzD}3$!X?8;v_iYw2=r(}HMus0*rLQJADZD{hg;0w@J=mfG|V*)rG);QD+K6R#!p_!nQbxzek$>+(VXOh^kf zHz8EUKn6b;XqqLbDkV{E>;=w)J^dQ;nFYQ2EPD%dRUdS{p?_8qM~l4fv1XiIr?hra zHA(CXSl%j>`dNt;cC0_tJV;`YXG)@EPKmQ?`Bm{zO9gf8$iaH!dsbZR#Bz3Gok0Ya z91*1{s2^f-xumtFDHnGB(eL|4>&u<3kh+uR>%XRo*yy_Si-ieYI!5tO?+FKCD}Y9F zQW>algA>MV*g*imf+J1G=vEf4I5)^jM{3)ujcql7n|~nFV6_x?Nqk9l+|-#2(zgr1 z6#mNuA>7wAU%wdr-V}QT!n>%s%=boHkM1H!U`%UPhE&f{%hlW$u z`V}@x(!RbJ``)!bhV%bhZI8{k<6Y3KnP1WE6WPD-+mT}2j=p_ZC=K`i-qN$_Sx-Yu z)}i0`J+Dkzn^)M#W1zz;teI|F>hH}+i$BM5!Y@AX3FXFjX#TI}tLXlG`e+^lfghwr zeZAXv=k|~;tGH##b!PTE@NbS^eyZV!m$aw@$u-GrTZ&P4=l2G`gYUnZF?|Vj$I2^Q z57@{XN(jD#S`v44A)n;!_|uy|{V%+e_RqfO-&yVtPCMbBu;wePOkO?thd29`?-c!m zFBQN3lb8C;U&ucF&%X2j({$H?{{rFk9|!3FFE!JPpA`}8Ezad9y<{Wny0==78*ieD zn)3z)G(+m(+gv(#Z&Z$z;x{Ocw~xvolV?#FB;%9|EB&@>t*ARgNo1R$!&Vu{aYapLIT#_aw=$oU;#b@1M};Vo}^=YuUYd2-X)4QV?+aDuGF6phD?#?eYl>lKh~X_mvxOx*1D9k-DDapn;KIw2GtEaA z&Rgj#pvR45@az^6HWe%bPU^yjj~WFdHk;yqiKn|dAHQ9QD;+?fsYgcEq9-_K60%5& zpf$s%5p5$AFtelZ5TgaKCI%O*$HXtj2Pnk@_NgxCAM>>Xv~U}4?@V$|KPFJ5(B0g?e})CD9B1_`$)(G z7Txb8NJ1gn&PQnvMGk91ZI?ryIzchdg>>)ERnhNA%1QF7!~2=5J?z3Rc4*ByhQ#2E zvUk)U#_5LJ!}1+#~UArNJ8bv)k?yVAvGrj9 z(g&-9rthg-u-gv4&6>8cF;a^Tp-OIv!62-B)6jNCM;$tQoTm)z0W&$KI5!Rlx$z8@ z{xX!0&;l7fM@ydNd4A^8kBqisjiW!`B7WT0p#A?`4E`Px^OMcxana8Qv81}HpTd>AU zS_ET%prNi48l+No7aFhLmN?l3p8XtP4@tH)Dj>-LAUYn}R#wmyvR|zi@v?-28yCD# zCSsu~dZlM9Nv&Qpx7FZ&gR*ppPT&_6HV(_t<|2W%2w~#29yQCZ63~}@VT2*=hmu(o z1;IPIRAR!-6NFefwvl)?3-G+R7gt8V-v%b-!m}BL$t6;u>6jb`7=F`9$-_JdC^CXFKXjwS;*@4{_;HZ{I_^Jg0fVJCDxIYuX4# zn!(Rm_CUwXZQ$#G3bWAl(B|ev_eK67D?M!74wR&YP%90ul55gIk0ffEMGucqScE`SeqO)JKciYR^9z9r*z;RJq$1;Vs#XF{yL( z|7f;+_RH-l*_f+|zb+wrZQidw?+FrOe}Wh93ZGVuPO@$3bcB{nkhNc0=_}&(3skE` z4}%M=c^V>4(viY(-SBAeGSV+5d2S_d`|I=3PcJ_6P-1G|%6nSPf?zo|09?aXx%;(q zww{#bi?7~$H4d%a?}`BXvRCS_NySeHEVP;295Je9xG8x%5p=b{pJz1s`*lD??F@&a zzDv?UTq&bU%utB9a{#Aiv&!ka@uc`& zB_}1OED?XTq@}AUq)wC6qi>?FEJd?V&2h73Eap9Z+`aX!2;Ir|c-05HvWJUux(KuH zzgk(qtjD5K%7ehNIdG_6@38rYjT!L5=R0xJ#|GkIJi%jn6Jk(kqR&KStg-PR+21ns z@+_sr&_qM7*VC3V54k#=2bXLNNExDIqTO>MRM9aXpCle^fyO3h(_+vLR8o@?<-wmM z_{US`{e4Y#Q`r|?vE>SH9tMv#`wzMKruDR1>g1enIlVZNsi-antO83CM0!WIuH1&` z`*nMdg2fW$>~QZ8t*J&x8-u!W0L@msP%t&# zfuyZVxk&e;`**YB%?>9XcCc8HI2xIo*9_qVHn8|p4N^NlSJ&c`I`mE1h&S^J;Ky|1 zZ>QoVY6PO?c-z`<`+h>nB;kdyqZ~!yuU{7!GSc@a$Iyee+=}dbQlxBp10C)Z9JP5j z(cSHr=_mkp&%2B73dm8s^GGL@>Z4WZ6PuYZ8y$z!kj!x#(z+IS>0)vteW?v8buPLJ z_zs_uQI?Oh`z+`F@e(z>2u?f>4FrEiUI%KjK$WK?KoZ?{k8464x>^m2LJ0{y1Ora! zMF!cwG>by-KrT=p)o{@T%8U6*yO$qUGh%R`Bp=R>`F$T2xi&o4mz=AQ$`(uv&p}Ec z5cF18)|n#j=d!V=t`-lpC%xul%B&k^I=l5r2z5g_xm5E zU9RbLtaT!88d`Zi*MDse>@5f{f?k5_n_LOFPhEv4wBlp?r30L9}Jhz+xA@nKYq zJ^VsM;ULr9rDgL{tVK4+W} zWuvmS@aSU|CFbh0r@O}U!8Rd{q1PMgFJ4Yz_2&9e;|QL2$OrPX z-73ItpPJ7m-y#$-PUdrikm3@NAaRB9aB!CQ8$8mzmMbc%L17H6GjpLkFMD)~D6$#K z3ytJww`>F7N_94gEi(R#Dq2?lSxsgBgRl8{Oi)Z32rWE%k^ME) z{0j+tjfc=tQa{dVLjc=m5ka0KEztUL8;uNHZ~>EUXKs6escGpxk%1XK88FcZ57bL0 z8nvvV*55l3^z?<~pxzTmURyNmy_E%1F8p{X(Xb~_9cr6(J`*77NefH}=di|y*Yzf* zn5f&dgEaNBX_T=Y-0Ifc({nvoQT8VuLpYWxe+R!(Jzg3oNJnq9(E?$jf91JXZ=@V2 z4+OeQ=b9XvbtpYp?3rNBC1@DhL3yv!K4(w5ieT5+X;C0(gtSBx-;euQ zXutn9jRSS!`C@a#^uj2N3r1HjDf=|?2Zuft;te5itO2f+L~9p$*gk?>yyOyhn&DMd zo=3a~%ND7eyYa3=pWk^^<&n6>MLDY+16H^z6xs_UEtOvbK42++musAynsC#kta%i? ztuVosoRxtS>Cw+b*SZV7C@aYQz%%epPbjQT9B7=RkIWu{RYkZfih;$oG+-2MYx5UT ztf!+hc<0Pl29e<6E2S4Oc#vJRIv2FG7-FH9ZyR zy=JR=Cg@UgpF@3g6Zm1+QOPA5V&95rf?aA2K z{BL`J*q5beR9h`1#k);z-KJs-f#)1v1*{J|A3?!oaiXQhoXN<;Hug+Y@;eV(t4c4L zP8IdNKA(V9uzNScgE9gU?H;DGR<+34hQeTwNe#7mghIJKPDfG6d0s+`EFTYI$*Ia$ z^T62uQoVM5D*%XB0#rx=n=4S3Z*YEB&oXmz#&L3bRI{Ci8<6S=khgZc?<@5en8ZwF zrzT{Y&BxdQ8)GW0bXQ)#W z>a$j)9N&l>YGPhNvZpBYzGyh72z(+)RurogHqPMwbFu&u=YGh|Q4} z!d;Sx@%s;x!=W@$AMDhc8xOJi8P3ZyM7^}tPTCSQiY5!RK^$>$ahg(sSQ@-b6Z70! zp{LMp9$kX$UO|bG;JT%yGGxjHu3oF6iiE%r``4MFD+2J#cyPFPhdNLq2jJf0CN_?z zYBWm)xwP;%7@sN-YguSoNfkVwx-H|Dv!mB$4C}9BOe+)T3_>IF)56=u8gm7$4~URI~;2}kgUvA&kq?9w(GJUZlXfAjMPMXh>$m}f`8g6!mDUQdDS#t5OJL>75ciUZ_5B?C7|MYQ& z{?h_w{wH6De_!GLzvfB#=e5hfFTD5l@H<7J^^}FEjW5=XZC}cI+~v64`@gSPzKdM8 z&-=@{)Otkn>WA4#5t+{gKpaq*(gdC5W!w)%XDvM)?&!8o%)|7B>HXtC$4BZgLIQS1$tu>qA) zUJG2kU9729hFHS}UO{>E40|s)sK#1wO`tip3}I#WsVGGp8g0irtXqv;=TsWdY$$kj zTpq;zqQ_dSV7dOe?m!iHwnLx+=S*)zFv!OA2At}UZKOvmcqOEKvt%_cEj_N>C` z)^o9z+Th--HMbIQAqr{aIUV#-f^To(E zpV`GWTXl!7GRu`5U^B3+Fr9Bhd+&&z^?^$=Z z3%xI=yGz<1$OaQnsmzGO0?jt|USO@G%iF4%;n*G+tz;-RE{&ay zX3Y%Jf4ZYJaPQnv(as*5_v^{fA&Go?+WJ#cGnG-am(!ME-adOoz1xVxIWQf|6(iWeJ06f_@3rzBNxQ$q}G%t!NYkM=?8bzzQn;p!EG zwEVh3^)*pUjFu_P_<8uIx_9Sl0P=$Y zXTiHRh7%ox*A(i+`+7!qSOXU{9YBtyKvBBNi;$jfHM}jQLW_oADkCg6HtAWcAAjkg z4&X}LzxXgpkGQn?e69+zQE^|gd`VoLDp$@ET`E&sP9>D`8L#oeXd?mQpt<2-qpHoL zE7Wth1h?|T^+)j94GEs)s&KiH_Yz7AuZE*XWHoK5oKT-DOub7k?%=?bWwH(`CAhrm zLDC>o1tLL#yieLr7#!E;O=<3Vgsa{xwNhwo07yMLp8DImSXM}lCdc`NE74;*AgB3r zW?9Ud)guc!jYCq;ZP!Z=@RfPXON$rwg$|TtQ#3CZ9*i>&pWHGFe+$Nuz+W#hLnJ=} z6g3~f=JK(N&*$_jW6L)qywvBxQ|V;JEw`Eu1Nw2`XZ?UITB?+|2duayAep4WP>Rc4 z_H7dfHBkjffCaR@)f}}2w=j)=rFJJmQn~wl3_{p7>_vj60e4-xBtc2jNT=snRUoW}-EyRE8 zIxu-5%26BZ1_Poi#vc zhE_Ne)m)^w__2TW_CCknlnKiSYd?A9q<)2{2OO3S=^Qm}5_E4&$0mh6-902Byl4q|f-ht` zmF!rTR0KqVS7vH-qIApj7juOUE={?Wv$AYD%U2{dS}io|>78FF46)FW&*(P_&Hk7c zmBOq#U#0GRD)J&s2ZWA%@=Pt=fjq9d@_fy+f$-cNK~)YSJYTM`yZjI{xBw7tgFxOZ zy_9J%UJ-;WHF+}|XBE7nU}9V9JIC%@ehzgL$Z5lG_|glk6H-E3kV`LrdEg3`p8)t5O)* zRb$Ck!d=D^*zg4q3}Fk3jj=P2)I@7N`_RuO?uZhet1${)B!N+11v90p!0pV}?lxj# zxRyBM3J+2doR28fdyK0mo21>lEbsuUs8C(>@DrtyF528r5!nBH&M~m^;NNojfBo@4 zb!%K2d5#frc@wi6^(ntdq$4Nr)w^Ux3OEobHkZSzJjJz1+Wee)ML7ZUtJ`W&&Sa0@ zJ-@ev-}m*7-l>`H+I)Ui3I8S{->DTyz8{>^X=Vj66{Azc(_%Wm1SxvhOf98u#B%cQ zoQZ5xaY?@thB^olXSPOnlNwOoaVOI?OSLVT7&nvWNiQ+#H5eq6u#l!WwVQKy-b`zw z%gNp&B=rjMvo}7?FFfAKz<-fD`y9N`JIE-~ccmsq=gX6hB}%YMiDdJgErm2~%QH`P zdUg^c+s^nRp0RBU68vlTD!Lel>(g(p8bpDgbf#HVH%WXg*4u+RS!!k}pyU!-@cX_) znV(LknE7#^Msovh%=r2GKC6j!zb2CY>2R90rBv!(txwui+?p6)XPHY4EYD5}m^J76 zy!P3mo>MuU$>`Y0=RPBsM6%+ZF}kaUNTi-~@YDI$ij3E%_20fSYDnEfK`fG=?nj7@ zOJjA3JDJh5&^pK_H6JTy;w>4J{^>}h)zhXcaG!Jn;iK)f3m<*9?hqrqK>l2dE8n{% z@JzBsY)*8OfrguD*DMv@>~)gS^;C)WoUX9TM7w6pFO#{xM?LN@1YmbE348d`S+`vX z3?yYe$=jobGcQ?9$4xx7X8 zPwh3V$v_li#Cv3^m1;*kgKi7`fm#Z*)T49`sOWZca1YRt0Vws222a`m9(D_X-}=Bn z%|r;${o5F-8I+0NHUHK#gSVw6XIGyxSW4yIr}o~hu-7rslrdvQ$4;trG?}$9D17Hj zz?XFo)vr3e-w5D0tDJ8t3rk7!kpe%d@?~K8v&++>J(fIKYHcaUV5GUPS~otNIo599 z8>YcZT4!|XoeMcWIcLg)pXFw(BGDds`fBoQw^O)aR&QYsREzc)O&lpNZ3p%+LN@?9 z^+bNJn@SQn9yel?xpi7~L59srjF5KRq=sDRvVJc;xKTVhw#Xsv6|?mn)LSSyglC@2 z614M?=L;i)`OdIZq|W{a+FK=#?l2A;L!D7;Gv$>+a8~Kb-#=Lxfu>0fkxFR^n{fmz*9-NGs>8erj4;;x^jNJFr^u_ z&9gLsaeIcykj?5X=j_>PRVO;h0Nkm=4KdRS0Fr9FA+KbyzCd}LE8U!u@``HPHv_1* z@6-$$`emsJnAIXbG#vD*Wy%Rx74=kR{`8UjR1K}c2>G~2N#s+PfQ!}@mLsIGds=dS z&vJ+fha6y}$vN$Zfo@!3!*|-U2k%#HV0iiu2%5@>H`9Y{SmXiDRZV%H?E}fwF(iz9 zfDi4MdrZy>Y&)!QzPGnI99q@FN(n1w_doy`R+=&4@!kZ^0-%zUhlFofZ>Mk4Mfuhv zTgyMfB5ETme-0SuS*v{Uk6E0hvLsf*LWqx`f4M;)z)ypQn-nYzRNZ!y=p-E5^k((g zUDCsAoRHd;A20AzxNx^vpdcjBK)~4m8nKusX;frWs%&)ErV~HZQU#BJnJfr#YMEuU zk9;<>NY&Xaf5U#-*lKxkpyF;^Yb#a@x2L57KN>-L3Kj(Hqkhano&ryHTv zT(2aX>8CJLqrL>sR$vJxga*39WF;VSLSpKQ>RJ8FS$)e{g!+33+dGJ2NFbj#uqUFT zUSg!BpR76bwKXz9sSxm?&dRar*1UG9)Y`=n0iiG4oOF7T2I1iPQ={2RDV_LmKkSQ zT`mD=e&*|IDw$+rt(bbvPcwYV2mafE(jR#I2SWE9u$KIQ@rbvd{XniJ46P5X&r}tS zE4VV5UbgWVGiq#Yo;IJjWyYH`Wo{Uy?Ig7Bs{ns3>;i4aGx;IBAXq3^12@v zh!teSJj5$8F>xgNu%j`~w5+LEKQXMx%+#P*50oO={`$V_Y1T#P7TSW|` zM~kd$O_l4_4aJ;IisS2Dj29$GNC9`n@VRQWTz7$1gRDR%B%WC~hTdxFy6vHYT(3@W z?e8qgOsXbe3fd+VTPzd}xNc3AjfO(&jCn5u8?a%G?rzCNrFQk*bv?Cr7LyU;1|_l7 z=^l#N%R;xQWQeCHUEq0FvQ4h5?DRIRqy*hdjxb78^pL#!WiBezeOOkvmr0DU;-I30 zaGE_2aaU-I=#@-H@Oidbv1OlOP1ocEuv|1&1`t0R|IIjZe#b3ukrBdUp z7CouURpq$4_8aoh2ta7SHSeNh?>^jr%~iS_qoWy0X1LGPHE^utbyZo$`XIJ2+c$VR zF1rc2rU$*&d81#iyBL37>#DN)Wmk_-Z$wwzhFw#{Y0{}`L875}XrPp{stJEjM$vd> z(E`72!&r(v1aSW5wcvp6ptx+dXf(QNh&pH5ocW+mH4v27>6!^Uk=%nwA)!rWyZl}S zx0u_96-u_rOI=RZ;MLCrGh7)icf?(;g>Pra#mo#ho|ojB>#y&R<8vX1T~|%502L}B z>Nud9Kt*D_M6uevL~L5y`xiE< zT1Lly!P1mp{dU{Yyv3lZC98k`)Ncr*f`Wx-<2&loD5ls#vRLJ5^Zf3ba0nPSXi|?4 z#0)b_Da9LTo5z#EEF&Xs2N8;*n9TE51#esr#9zM>SN<^3r4L)L=e^0(vxth`qP%*- z`Hpn1R%Ji6Dnz^frH0($dS&5HSZv|>GTd3w*hcZt4dSaS5#-kk&06Xjz4t^XfDj-( zBCNUR@sL*GgG*4H+X88(f-Ogx+Pj$Gv_=H*3MXK*#-q_=wa1TzFH>Oi6%nt&8(}N_ zs7klN%OjiZHU?m0iE5I*j)pNB*DJquP+U}McX>hz$J4Q)#VUDvG(Nk2s1)SrG@3KI z!i^rWXX_8M86jIPOFLnKzq&QVn1H2}GZWvLUg|9^K58re-fC(603ZrcsA>@QGStIYjk|k%SlyvK z5?eRgbhNt zp)A!|5crulX;4aD5+hljz$37AtX8Si9H=x3=!%3MFg==02~#1zYL&CJ?TyWpQeuKS zj0_@pXwIc<@!%MBfJDLIotTy2vO=ipRQmdfe{H##^Lp^7?EQz&|JZVIcI4pi`*!b6 zanrjt6RkTUGyG<*kxz<|zbc<)Bn;lrB+?JOjaNiJy=@=16duY#hy!<*jxe3aIn?WO z@~eN86swn=SmbcH5bjaK#)~$;ten4tW99TRLfx2{kiKafLN$IsK#Cj^X%1n-WEdPe zi1QQ9-E7vOOqhEh6pjR*0c1Qgz{ChhgcQv2F6n&IcjFhf zd)fLqef&OB`*Zrh#?D6(gTtknB3+>l7nt)*K&8IwCZ|PTi43Qm0%$PizUo+WV-;7b;p53~oP%YuC)q9wCCEk15NUedcKU;q1hx*xqnCn}&^u?qeBH zzy4ofS@}tJgj_^pB-`9#tR)WGF^qD!E_!INfRnTFMN3xn3M&BKuKooS?m(fN3y;xR zntPE*^NiK(WK1_(_;`LMu`LvrY0fdS6wI34vy@s-6s~E*E{_BG@e)K-*nS7FG2Z|M zC688+lQ6T3)5a**NANkvU>dDZ-A^O=ZdLVbzv8?#+R+@wNBpp%nMH_pB7=(ItSQ6x zc1neT)?L4mR#vfq@e9pHv9Kv|l~q#> z(>gt~s@A3!aLeKf8zZT#h3LDG@$JcbWnv@tMh(sG*ibm850aWhco^6eSK;|uN<%G^ z^W7nlXwf7Gd*st3`$B$tFh`EIN5Z8?6Ft(XXe5q6car#}%V37J*jk``|0$5fp&{cV zwOi&iw=(s6@#>FI>oTp6i3#f53lEPfB?vhbv9S$}2shddAB_&fNXXnf>NF!{H#(Kf zFwIslmEA{oLW8OEw zh90>;U-9FC`F~@Y>H744E9n2JX@(JT`pdPiFI_@vzG>oX?}my$OONaqD{LKpq20YF z`;P*;$I@ayO|{d{sNIc~d}omqnw>-<7``>Aesbc-J3N`|mXR8+UP?rvL^NZH-`AM$ zx3Cxv{TGrfA1ZNqa_;Umpj%YgR_EuZx?HN7yb_8cF*4oRIn=n!i37)R z=!TgxWM>^UG+?p*(rIM+M=^+2Q&==P#_<8|#i4>`t!J73=R6m7uCtLLQ+$pOy+G1p zk5I63&J`0%U_7GjGrmDf;q4L`f`yciFOdAda7 zav+Xt)ZrUwGSM&MVkqXFg{c*$+O8b4OG64uaB*XqjzH3`d83@W3R7bBOfxJsVQ8`; zEy6I5;1Oza+X1mexjh6oxX@G1MlZ9lPg;;HS9j;qHjjo`l1YqMq-E+7)7W_GtgLxe ztK{awp*HKB#9ovLh%SSY9geS&kW8{#&ph%`t zcFKqGQ!Y8JvS>bxP-1Lq-O5jaDep@}wmn<$CYjhVOPBk3G4{Bn)-1}a zAO_*$=+N^MNH>n~A=(Q{45_W&rPE`aDQj{FEd<*ElW5F-52Ugo*>Np4z9Mkc1#J^Y ze;(Gt?J{t(w|>is#mzmP!|nD?rwfHfDg_=wdrJ5q0Ab zZsv?}aMvKc0mzPdE&+usD)Aa$faONNeE6`@YPmQFGR)jUAP3h)+b+Rmxr-GXUl1>k zu7_E9UVr0^tWFusu0MLm+N02V{5cBvbQrA&nggbt(xqCMvSh5H^z~XmUBt;sN_Ju+lkjMFOJ@L zI_Qb&n_MpVQd2Ga^??T?#@4ZYcO~cZVRAf@SEOdf>|9kc15&C*hW<5hm4Ed9&im2p zBvT<`h0?sA<8s8c7kja|#-IFsY* z*uL`GkM1fN$5fL)eBJEcIxyljt>}G1!-a43Dx;xBsphp9TGZ7*^17^_)AFx0Y4*J! z-Wr9ChO~Dle)M$xt2cW;YWxces^((mr;teG;p#&5)w8I4Mjhy94)ISGQIIWq()NV* z%;6u+V$!Z|?1W7!RCa!;D{StvTabRnNQn04=JbhGmXeQE{}{=>AEi%vO~>odw1pIz zmu3B&9j~@Ze&KGy{JzhkaZ2EW$e`z$AAR}>dlbT;OkTw7s_3(JH@Zkv6UpSl080ZYEW{F-I`P&ZK zooSIXJEOkJ>EO@6ne)v-sNGkb3-=zW_6q&|sLZM2`aX)BP1=mQBZAj8i!7%YjY{k` zM0SX5%4@#)F_r^ANUdCN+QRl|``9Gome1nMPvJ5P1Rd#@-}@?bImWWm@dv7ZqVRxJ z3o&c)jM^$AMZ@O(opGPf^Fzx~R|7T}w4#m;N(=lL|IZZGEWv3h_%Kk$$N|>*rJfsU zOZNXP@vQpO&1rTYe&pnj7Jf!x&0Eu=)$dRzm2Hcj2v!{3BOJQ6#Pr6Gk^IE83*1OJ znI2^lxYr$WYKoocu=Y8J-H5ZvS|1(aBYtqgPkiLPF=$%2K51~y_d{gI8SgcR_3xP6 zqtfb+x_@RPlkM~RH3Q#EoGhs~_6=D5lSHe^e@j<5^?M0rMjO&+T6!(}caKdC#2y0o(815(8lk`Enls+L{(lhj$>29uNM$e# z%SZe8XMaDC%j>#$0E2$tq|9qpTYnE>dn}_+OEQ)CdzLXn!jou>RtC2iNK#!W(9QXy zNk_&={Qq|F1BER_X+|@~{uVc-_CHPNF-k*W1iVl3FB`|e0rpZ&CWUQiOs)hs1hUA z0-{Cv1l4?>sZ=Ri8=Os=(&gWn8ae*S$2w7wq`=?)$+y(hz07pW9Yi(D3CYFO55h9d z?)e02?~Puig~(YmV{p#w_kBT;9a5X}t+kIwzs%_o`vt#zqa1Sy@h0O)=?58)pIKSg zBXlxmxIIkhdl(RWf6S{TA75;&EaX5@oeT_o8^LX=Xn#a<1*2ywd-^1aL7}wA^uiYR zYf(Pmrir*gjm$9LdKZ4j?>z^6`sm9h5c6TEw<-0;-pp+oZ%Hb5k$(2|Q{$AVSLi}~ zd+lfctIhs`Us#r}`Z=F0v8O10S0fDF^NF1r-*Nr3^`N}wSKK!pJ6`S8{Z;)Bb!(1x z`7)pqHl3oh`&|Q%7nS(LpZNZHeB&A8^O#EDbow=hvaMnW#~E*ShRA$V)r{%r%Z$pS zZLznE;eOM~zOi}!|DbKN&(4|O_q_$@{A0otPy0jlC@|*BeS04ve|}^d{KwBdX?k$@ z9XAsAnNf0-Azvqz8L2n~D_Hg>5c;9LdUqLOwG;Y%zWUL^kCOiY|J0TCMM}%dq%#0~sTHR{w9T zMhl_3Hl|bak{S07$avFA95%y;>yw2Pjfh>O8%+G9?y9O%De(;kn_o6=&p$oH-y$9Bf!!ph`dtb36u36}a<1)|QW5t(2W&Rgq?-*Tq z(CiDxwmq?JPbQq$+_7z2lkC{GZQD*Jws&khGxO#-=e%p(v+kGssk?f2S5@~~dsTJ+ ztA1rO*Tt@0jn>y{R^lIJw@P#U{2_1DP6>MF+`mz$k@(;w#B#@oC@31nX9Su1o$zEsmW|A=4x z0Z7d0PgycuHcd&05ROgk*Is|Z4ZUn-lL|X++%$~tKF-5W(7f@av?&!kZJ;9*d`a41 zQ?IBz7D(~ALkOFkiZHLG>MyKGniEArlyYINeKEmUs7kNv;5n!L{o=#E za+`s0gsw<~j;n6xin6d*BO<_+mBQ$ONh6c2) zk=Dn!$E0eA)&KQ|2q_R{TCVN1WliD!yq)1H4+I6LX`}dwD4ga@^6BOPz3`*5?b2Vn(f=KjiRd~R{EzJx1BK3e#8NKkFr6pb(X;sedtW3t>!|qh0ml&^IsAE zDea93cCLxrul2~xJdCaT9a8O@x}r_`=LTGz3bu4R)T)Bx_{t*gnQFY7oOK0QEc z{u&>Aj7X4|VBBcR+@&Ng(=^bUt=7#INAgZwu1oA}DqMD!U)HuUA)cM~ z9-Xy7TMQTGyk5$-5pE|+EK5~1U+QCO+TF29*zIBgdN$XPmzHZSjmf+^2J9A0yIPWS zqJ~TtJ;W01ct<8mJCPPkctMIHbwEOVWa^#r=JR{lWVh!BlN0Bu7kZ+8v#YdeXL6YqZ$8T`#hmy7oT!TQ6}C^M0sd5#oZFMq zWgz-0yD6Q?PrMKr={qJBO&=(eony5d;_dBsS8q9Sj+`2q~XO zG*jvFZ5;WUO@`ma-R45_G)p5$i<%x^(dUs&G`l!};&+*iPmz={dtCM&?#5F#;fG1F zL@T#Y8K0~Eo{vQ$2Y=`TVh5o5KFy(|*6fH2bhb|KNCB0_ii~LUPL?n(9j*y^8|)Qc z$H;)UHH$v=&g_aQ&q*sEK( z^WqVews(t)*OHUM6{B3Bd95_%Z&pl_vr;l!A~ZN8Wy^{ua1MN~JEPGft@Mw*rS(@k zDXYvQo0)epp4%18>eGNzj&?t@e&Mm7DlsoC`4hzaC!46hZQp#1z(#slAZK8gXkNPE@0CXKE&7Qjc z2HH%ly~3wYdnn+q~Mc53LWnLAMu+B>V z!kF2BY*6N0qlLJY^*UJ#P8wz4G~arvGu=iUSZJE&*oVB1CiC$jqLf-|R->4esd?HF zWegi1)+*jB;0Vw9D+}NnYu6{ykVz*2uu0$f)SDNlclwH*vs@f;VmzSj;_Bdu+E8ta zM)F};PwwhH_P~}dW02-Dfz-66?UtxpQq~8N>L~i8P$k%q2B{CX03p6%Bt5d<8!KfB*xb(ab)-$Y@8?8pql3+ST#`>eSW_TI&I7m|b8=-t9C8~-m zL+dO{Ws=U|WGF{@P6;<7EU8z1Pt&V&zv63<$TLUXu`R|(K7+c=XXxZ7=xQd&t58cA z#-|8;gx@l1Rsg|!=A-mh8?&42WUgWd4Nz4$H!?RS$kH-`c=#nv?t3Qk(n6|jz`=7F zfNb#?oq)D0f}|$BRZrG^It`V7AyJkD;RV+ZhPIaRm4yZy`Kqe5>gv=R|HR-fkcwPu zP8#~6X<(%fl=#iE@qDDyLAwUGK1U*mO1@SQuG7ag1z%ku3$3zsRfcYt$E?Hc3%G)m zY6j5benI}ys7W;3)9~BfbKf~NxxFF3y zeYGTw$#s&T#LD{aXy~Yrj9#H$R!t4=-r+{ zWY%I;4o^D&;&@MsxFRPp7(h%IaIj_U!bTrrc1X`Imwx8ARl zmDG~TZrT@15s!o3!=a!Wzc4Bby0Ed+)oA8S0ZwdXJsa$Ui}J4U5|kewwGe-(O~_Gy$9@$^1thxppiJtjkue+OH9CBeYgN4$fSh8-6gBQ+|;e z*7CM>V?pYX>^E)PdpE>6X@~^Rij(GLxP%7zKf82v9D<}p**!eEKvOGCvWj0HNjiP5 ze@b-ePo7(EK@?DDg7m+D0aixE59UWcAr7s^x|1TeGcc_+`=lUJFk|$V)1!7H)HB^k z(%jsJOZcrP)(xs-G}h57wY6{Wp!9}(hTK3LD#2X}vUMiCS$PCvSiOL?yInkRM({0{*)iN+`6B4b&{4O!8-k)*< zyjCe~boe}tJu{)TDX(i%&|QX3ci2uI>x67FAJ?6clRQaQwg7?|&XMSAVRFV-ts=bw z6QOF!JapyY--nzQiy*S0VHjlQ!=4QeUgpADI#-DF48(|(0pTzyo+EmdxVY$WD(CB* z&hg`$6=*lg$Rhdz>ejFD;bBWj*5;g@!;F&BB*I>p8xHv?wbYfC=u9#agyAjK9A(~( zV_PaN?jx%H2?XRGMK}K>&LqHjW1A=@ZC7e?^SYa@hD!H_+!%Fc*Xf?P8A)!Ul6vl$ zZdJ>RU2UUkaFTOhtBN}LmGJ_HgwB?Xz)krG{mp9+wAbTjNkO6ykKOb0G)8iM4KC#l zs79NrQIdyGcK$21j|`_QK!RzWi(Y^-rMr~a!z0QEZ6oPSqQv6l8)CA{%8MD6j;}q? zr#HDXm_s!ucfRw2Nu{rtmEqA*!hW;9AVVWb!*)97rL&{5@U{8MnEXZ4(0+T(E^@0^Zo|=e-YQIR(Cb7`R5)9UDpqe^s=gH0p0Kie zLnvD`rmQaN!@}?YK`*JsA+JZQ3*dWPu(b<^LNNs@B`~uq28r8Z(#W#=caQAi*uQ;$(vunA9Gcg1t8DD*lRV5WH!cWElfQmP%4D7KxKQiM)TweKJ(6+P zV<^d7+GnzUiM){XdJtF4%#rN+&qXzxyv*{tbEZ?xIMcz)8lW{1)uR*1))X$*5`{UU zd(yy+Y(Kvg!>?ADR9yPL=4#^8zV7)-){8zB4cN<>Ub1R$K0<7EC9fD{8e~t-{7V;% z;rhgbTd8Z?j=aLYiq zjfVkHrmQQ(BQWPIQshI>qg&okg5eVY*@EXlLNLI>8b})wMh9rz4A7D8W-qRZM%4AP{gL{f$36@ffTGLse{K5N`Bqp01PX26Q>Mr zRyA=Oj0_XIW<)l~yV=MFkPm?jyEAJd2x_JVOVKW_u$FZ?HNIK^hob9Zu^izUn*=vB zEuyY?lT-H$q{w7#z0^Uuo`#f(vd&a2-mJkYZ|NO}P-H8d&kW5C2Z1$>%Ply1NOl<_ zNfcfuWabsffm4?HjBE|~1d`##VTt*QAQYK$gG*{%R;&2O1pdT!aMj~3yabo1^Q?MA zq1%E$aQ#Be6`@U4z5{~?q=tCZL#3Gd3MDcx#Y0I-ZpLA>eDe;3EA*kD_z6}iWj6!t zk`#fLplM|7t%sJBgrt^yYr7+xf*d4yQTH=TNtrmqMG{d888yv|Jo z&ob5qsGq&QsO8l)N}CjUFh9Z;Onk})3#=Z8d{Y+;Lz+@dV-F0fZrBPCsHT&+++;s; zvJl9@fS}D+fbytu6bdIO|VRPJ`^tRh08!F=A0t`#ATkaKO*ROjLo{~s?j+){hX}o zkx?6;GUX-IV6Zd|mOZ*6kd*vUoNZu*CfEU{8I)VCXJEmMwF=4L>ip_ghM-z7948&W z;MAsi2sA5lI~y>l7Q0nUXGLArMEQ~>@aRy!3ESLl$)6sR3)^5WsX9-E1;S5Mb5vM` zHFNzuL@8S8InPOw%R(m}%Z~8r#*}9gGJ?LQqSePcWsXQvlzIc&eWt6!6Qj5QJuqFq z7~Wg^$;0N%y?9tNjm;=qa3w2r%FaLt#=IXW=;vT?^MsBRGVRdFv|}0!nYp_ohB&bQ z*3IlqU0j{bjO-A;dJe|c2<+UXtfc?x2nv$2NLtytnmK>9wnnaI;$|iere>rpa%T1x zu9l>1Je)kF!ompuv)nU#L}wy)iyN)yMe~-((A0he8V8bp0M-ck#qzyYA_m5H4}^bj> z-RruB$w-8vspvUG?Lz%z}B{5T4+)!9G94#g_A_~ax7X@u_TElXrgHUAWY9u&O zJ}x=Q!J&NuuqQ5OVts3)BVNG;{_a-M5PXIq{;zT_?2WZb@lPRU;&iq|G-4+G2)v0J z2cLrb=t%ExB3&|_28<%&b76mrynt!AkstPYb(5C^Yyr>sDeVd3C|aFIu!HX3R`-$3K# zKxN{`t{07;UP|JHI&wlpzEj4iG`zlyPu!R)UoqWD{^X7CpI|B46I{XQ(Pym)X?nJca1(K0AXHLP*c zIEA$8s~@vM<82?Nd9b0s1uQ}tXqF4Brv>6`=e?YUvUr8;T{AM*K7MSGj^-+x0WnVDxKH@Gt~Q0Y#JsPWqy|zEMKJ=4@e81FPQZHu6Nhm}&P-oqeG@ zr&e7%)X+X8&2&h`DEi6+IM-|`0?kU!(OgvhkdxxBTQBSWiZTEg^w-LiFEPZbl)_?* z`( z?VrEt!F4*O9Tu&m<(M%bMv<6!uZ<>ehN)ndnf)`x!g2CF7IR; zuceqP;HRfC0rf>AaSNyY%HvzfQA-Vj(?X^mfy4fKq_zm*%|eYc3u%jg^B+N4cUOjN zLuh5@MC16pSpqT2-g}J#pIL{B_pTbPo3}qmrS?pWE58yu58y_hWpHAwnGI+~XMjX6 znM!!*8~T_8lAa501(ux;$aFu2mg5U$*{{?D=-IbPIYg=bXq<-p{n$CBow zY+0Kjq25cBbP8>@tNiSQ5oh00o8u%}x)O7=ZX(`W7GM_$+iaEhw{sjJ8?7R8()abc zo#Fh~W5}|=$AS|QU<`l8)G99R!qJf(!? z3Ja@BlS&Dz%B#e`O^rFld@tPJ!Dsx4o86vBv()K4TLoDn;AsGb$OCC?&(IY z;Z`T=arKGQQ{kQ$gmq1e^F8#q+I_qO^Snul!x=bmIw=f+2AjE|20LD z?LW-_o0TLR8!0#Y|MWRYx&I^hOBG2jR#Kk-7;=>_3;iYE*}+8B%=Jq#7A0{>QWiBc zPghbFX*(keGtvKP#r~(2{*S&|ipJJvCjTu>i<6I(8!KrC4+~1z z8MlCiq|HtdH7eFpT8l#Cl!0TvD;LXm$gp2v)A^y-W!MD@>B4S#1YKl;|!`}snp z-=I>0*!Sn+$RR-cZ;Ym<#X{5Dt9483om0o~tU-X*ecZ0U|J!|tzW?8Eu^{kIP>EhK zD|hVU;=Dvc9qol$?<0l(tN3B%^y0Cxois*u%m5UD=*GNL$qf!qTam}zp;b|FoG&J;?C1aPv zvAmUyh`uRnV1&n8-@#Khx$=8!6#32q_S3jos8H$cK8J_43&NmH<`Avo} zI(Ud&?RZFhoY+D$A}q>kw*4pJos1M;g_A#tpAy6Ha}Xzas-;LymD5_TrPk6L&xaxY z-Q(T;5joqR`l&HR7Uv4L2rXfMzj+Ooy7W}g#P_tDP_*}tql2`xmpDGxq+tr< zNmzrlpZsL~Qq)s7ssiDGyBz*3Z&Wa$dTkO8TRWaexm%HAC50k7JJaLxa zbn^@k?4?^Ff*ReuJh`o2a;#pt$GWkc3ck~ayM|MDy2pT1qWgw~A-x@vbi|4K_!Acg zSBlF)?-m#%r}p3ckE(Pxom#Hxnm5q%$;J@!q38;#>mYD`8_O{4k&lQ{-dkSUW_3ai zy*|#Uke3~Z1H3yg<=3A#?6YK!U6YY1Mj)Qe80*iE}k^5#8{rx-n@lXj+ z{aDhIz(E>FFSXM$#r}Ty>mNV3D^2qYr!W2x*aO3V*9X%1n%I^ZLsT7F zjo^%1sKwA0Ck16$JLf1TDB*dJ?Hw4wh<_$llgV)8R8`MN1zWe!Bfvq)hH0BM5YUZH zL09WzSBiTqWZ+@lj-34{SlB{Fh$|HcAPAg&$qVvhg`}XYPOmeMF3-#aqNms5Mz^Qr zZ;-dhKG?}?ZWZ{2 z-&k5LzDoYrEC<7E#Sk36)MKqe{Y0$zmosS$igzWBtn&}qi3qXz_g_X}rZZ(06D$+Xx;L{+ z6#3nK&tQ?*@)4hS{F>u2oYb)qN;ihWOPZOTSm$cg2^>;S_`whTlMRq5rJ`C~QVM~j z8!mKv-;GI5U>JRC$TPC(XH}iPd1v}Cl?=mzD|XcGM8WqS717tDQeDmjc{Ry=h4p}A z8j&P%!aU5nZq(HnD%yQRLBdkerQ2b-)XvJILgV*#x4|z<1UqFPD>hOdnL+I1pv!T zmdf)Ip6{tWF1``6O1weU)1-6D+)Z}a|KjQu%{VikO9xf3!E z*Vg=Aa{AK^?Md4&WXAhu_`TFZgJZe($Yh(G)u@FkzD3)iQ{tHQZNpChKZ7oCFYW~W z*Kf*`YydH>n+^4t|BVK8h24k&^QoG$f<1=bs!YBPrHa*XV=RHDeX#L*igg5cIqA@XeHcniIhKC15 zgOy*D&uF=zH4{vaureXh9%azm6i6RIIMCT5bZz%fY3OvUt2*JOkZXf`T?mqxar*iB zDOAnmA)u1d_w&?#LqY9w2$1!>Z8ZGcH$|!09eAn=D84l`MMm`vTO16@(C)?lUdj2* zD)>?zA@ltKI)(G9`d&NAc@u-t%A~pB$!zR(6tm z3%=OQQYGib&hl@e7W1{=srGSLX!!s%iNnK1RNc;(RjxAjToF1>+v~kiL8~= zWSH!s2HGP;iiJ;s3&*>@Z)J5uT!r(hl_%R;QHxY;noaKGw71*hCvK80xqbMB^U;V! zPAQCGGDn;5VVzCy!`R{#$IGSgo7qZATBc~4i-Pleb%QiNZoR^Due%6Zj0+><{t})^ zO6A@pUeFKVPw3WTLuFDQ*MtxM(Wn;LA4s57%xt%<4tiHEv}&s5&v35;sGR5xIim>j z6~-2rNvCXUO>-+b)ZE2r!%@i{Z#cJRH9psvPlg>Spklh+&{ca78vHy?gM33M4SDG0 z(T|a^F+jSu0mc$8{vVtqwy)O~R@N_9>wn%}c-c5P{+G{mat+@jL?+K^+<@4goI>WTc29Bv1nNMk7)H%Yivi z^*^w(=g}q5L!GvMz!F0T2exNzc~shm5WDuCyzKSt@_Yqkm;QCDJYTBlEUWyh-qr;P z1ttdv(fB0fVW_bO0CUG!H&D?j)S!w|ZwXG*qR|$`#1Y!7>WGbn0Q>Vnp zg7^b0*aUp|u0`JESi)0^8$t`fmcvt4Spr|34-MRq0c0%Jx3})OK0pLoq6Yp};_=xj z-2R5VjTm2#DAH6>TWbA0)pXNr@qbzLn zoL;~wTjYbqtyN0VzJ8!lxRsZx zi~OP(>e5!+nG0BDiO4J9CoFL71$M+0NR7^zJMb-3=XW(aUysZlufkM8-Mhg7!3hsU z!W{~8(##$+faS-SK~@LKIh^_Z$U5 ze;^(hI4}q)1`TKlfoY5enl%g~eWQVc;V_1Sq6lMe76E=zga$#+PtL&@0rw3hqQMA_ zDTio*@d1IBK=EcVtisS&Azo4fHkeDGLOhzuKoA}*+r0-Gs=_chT2y+!BkAzOt|<91 zMJFjZTZ9oiQgUAq)=zOcXj~BKPf;SI37}Pca5_o_P|Ps?lMBf#9Xte`gAADsaRI#v z|F|D**oak47_lQhh&S7a#FYG445yGVY{DWxa35|wMNy0lNvZ?x9xVz#RYdqW4vGgv zODjSY^NJlEgbplG0`lTSqL2N62YH5J8d8G9@qY2bOHP#;vJcU*N?r$5C`IxjkCH2d zJKamSLyS_S4nPe%rvrII_ET8lov7u0R0mc7HQBleN+-q&Flt4rgV~3*k*W%G|6-UA zAq^9>V>IBHlm9l-g2e_tIbwsjlp=W3j3Cv>euroS9}0B-LJ;6{57@rt)q`21WfkBw z{4!!#B4ZBq9_CJu@?;v4m?I59i83MqVWh`>6*l;mkABB*nfN`#tRBpXk8^6w5W1PP zHdJHy!iWrnJQwCkF_g8Z^Y+b=gHco$Ittyv$diFl!Z!T-c;29OJBkzX(54|i=&D}# zFVxB)!Z1phNBbJWS#EeF%0>V;Hu8_%5!V;Eqfy zFZQv)kZ5S+io>4pWU*IdFVDxE_6q*3O`#{mX&m8gvTHBxraMMr-f)H;hK~c9@AbU@pzXF#*GeDLB4q$-!EAAS3A0*3A)BWxq z_ATjOY<_fuU(CZjb1|<3wi3R?tz_3BS3rk;mwO{m%x>U^5iAIRgxaq#9CF+33%3)d z2Mos}3Bx^X+jpoZydz!J7jVT1G2a+{lxJ_`8fJ>tLTY%hZtrs2tIt^sN|2S&`&m;gygfw z3Zi=@1Zm!)fULqS_HKX{`$EHY`+jf8ykob7uV8n8SEU`;-2tili(4Vz=vPRhAD`&4 z
^NdHdP;|fb$h6IpKI!2%W12}aK^KK9D3WYg!Hhn7#7~}mTaQFxgltxOzZ~BK* zM#H9{Xr7%r$Sb5S9Gpe>cJz)=$TOTq7Po#%V*@GBCEpp0p34Q z2alN1i*XzZ-+%M|;XQaf_+LcYuf@7A=Ew(+9np(~cxAI6#MwL3ygk31yf1E!AF0y% z&v@7s`VySp<)arJ{-T!s3twb`EW0tu?u~PL7al$P!23UmzcIXj!vC>l`^P%H^NpSv z{QJKDxErAG@4wdl3pjWjie5zhQe~R=58A<_*cZX3@cpri?+@w0W5^f9uJHXeVEF6< zzwE{$yEo72-TzC%7xAy}_Zb+`hb~Nff)^OaT0Pzk8^>eY;Vw)$aS?y5Xa)2DPETe4c&EF z#~opq*(BU{YSTRIb{fuoUp#To$0PIhSg1e*kAzjn?6L!01KD7wmj*Hu?jaO^mVX{^ zSaf6$4ZG;$c}YeB0SG%(5Inlgkxb6)z;=f}*gJ=##(g1a-w^F59gTizgs}Q@B3kh+fv3Nkrs_( zsVJ@_M;e^d72VNb&M zScKXVGtcL#73Fpqw9tu=^F)kY5%c^WZTrAm>%vldnbRH|yBGZ(aW_FEQ8Fw+S4Ea! zoV@XuEyZj?+xVs~wC0G=XwQVe8~)le40tHHQQ;hU_cpAbwx7*A|Ht!GkaOB+r7wme zEP3m7e-A%NUM;UpNZ1+6Qr0E zl^WFWHbwJh8ThC{!5Xg>Mhg%+p9D=w11e~&my>$0Z}#+)2G zR<)zpbF{^5{(1qwW_@9P0e`{w2>S>^1&Q6p?jO7HBOAnA(;)=Qkh)jO4Dq?8(1p7^;NGKU6jAUOFFE3O+*%bCv}alrMei=xK=cU{|9XmcvhSyAQ~1?qg2H{AhR$NbMlg4(thv0?@LGJ zrpul2OZSn_E86$Be2CK)a=m^!1qt;xbXQg>{qz|ncvEVvEbbzl8nx7s^!FvlD*&VeFMww#% zLvb2t8YE}W+oHmK(dg%?j2Xn~Rh>p7KU)0|ri@F1yjQqJ%3abwDSMhBLxtzoO$+E> z-i#($7+Tc&M`juwlmCMbW%b~S*FY>`v$=gzHojwYQ2mgxHl1)z7M~J))P;>TjX_Da z5)JGL46JQ4Cyz(aLrcM3<9Lqj%qj%7q?D4T0|S;C2^bgUHp)xs}nHBuTZ{+=ReU`N>W%gkhfYxO(?9MNa;_ z?o4uKBZ_l7vh*XEnoYVRJ}a9NTYzddOG05n)?AKW?5&mDqT}$)=$@Av@s1Ha5I!8z z=I6*tC;5aJeTlK6G(gYC$qaqtV(9`Q=NDJ!A?4}PnetN6A-oH>TVlQ7AQW>oZ&?zg zJlOLj<~1Yz^IEn%%zVxUFnK%E?}WK!}xHke$*U8irWe}ga~kd-FSa&Hf{bA4q%uP41ySs-_5?#-X^YmQESCX~5MS-zGowEXe>yEJPa1|q z1vUBIBz?MS4Yc9!6?}XmROzkiZ0qhP8O-^plA8QrUwB_UeN>%}-q4>W1vI5RWmb|8 z#Fi4WO?O`+2(}hNPCa5Tk+L4X9|~7&9ZCw?eLC;{o0>rdDI#!4U}v#!4I~{=OyTO= zP5+TJS*(Wz?0%kXbMA0=Ukv35pXU^Li6+G=R+_zE28uu@_)AZP5RAGyA9^JQmzi*- ztwR^?QPBas<|-=cV*=%iFs%4s1?etV^xq1X&EC1&cs#n#bg$cYbjPLEA2|m1e#DYW zDG@;otOn*$`OnVUqZ^P>8ln18q>}}ZnZkK_RuUtybkOK!$bnp)yvxX#>B6JQD%Ip$ zj}gX*!dWTllv#?Yhhc9efl=<%?XP=adODuLQz^xWaPwynj1AAM7~FhoB(<@tCF@>( zS{d`AjQaPu9f%tifpz! zv2asUQ}bbSb0lJR(jELF71Z(ZpNd6*+Dy$~VWE5nA?oyQq__me(uz~#d-9rg6}>hW z#aUHhNmeGJs`t1&yZfHZ7Z=2J&B^Ow5<0mYC~`fNov)Wyb6B$K%3+|-}fv^Bp=`1vBgw}biFhTyF= zK@#07x2<4t4l|Q!b*IxKA`uj-Qw>+Q*0#cHY>qoBAaB~%t=%SP7WZ-cs<(rw;gSyq z@g$L&U=3%+tMT=RJcwgKu}c8q6cNr@>o{D@n@HD@&sn?jd3-tqw$aHFsdwZo&9vA+#(^uMe?)aH5 zBl4{%X{O=KYN-q*1@sdn60REXfGKq6XV5eEJemC+z5Qe)0P3%=Mte)Av5f&EPs$d1 zn;TCB&#t5MPEb~Bd_r8VugRxr*HvzKT0B)k7~onf{GtFNO{BmRj`7ywg{Ul(GCt_t z_9IMJpKUo!n-Q(6fh|b==q~7+A)}rnHcV#vFkv=>gY0 znF!Xow}RHYJdFN(i-4fAMQc)op&6r4zC?Cz>X$9@;x)j;ts^!4H%LQ&f0C+VjMWJS zQ%<3VH#Jh&d49yK(8Iyrf0q6(P1@==cTXvfd`E{h(vk_Hqe3aH0LLQ718;VqH8=k9 znKg~U-GYg7++XNb);fVGSC9Q|VM{Fv+eDu|4P-4Q`z zKZ_UD@7gMbJcG0r4HeiOwl<=6r+laF)J7X+9ea`^aytQ^7WjK$?1-0Xb{4iKZ%v>Sv1ftV1wIGb$Y)yxA)AII!1~FG;bj7=$<7!4@5dl**zOgFQYUS z+s_RQCqf;$wfn@_?0NS=3f31jPpoeyG=W{F7u~1!Z*dFpHwjc4WLeoQJi$b6h{dx= z{SlAkEle+o8PXs!Xv~xpLY5jIwEt|_V)?B+E^&+6*qTZ@IkmZ14nlO5gjuMKF5{Y{ zj0oG zWJ5md7H%>VIF1_Ys4-qPzHtGg#7pQJcyiyI8_pxK8;Lyvj(2$29I~m%XR}?1hJrye zEqCorQs`h|58#Cai~kokVqK+dZ11(m=wqd(rk7?drOVU7Ntzl?F*P-F3$iUyi|s}1 z2U3ds;^G2mh{GHy!}%)oqptg2#wC0O-jd-Ue;#?QOMsJ>?z6i6Lku%AXR7_3OT4?*VLfxlP9BF2 zCeH!-cNI4o$xEB?i)hwpX^&K&UXR|(?A&a%b&X_I&%9&P6UmcMXW1K#dM0?MoK04z z{HnEbWs^f%HQO(C&T!VNy>p$9z2I9l;n!>cqrffkOtV5w^z)Bn_|C(V zrXra8!;w9r9YeFgutb(U{vK0pk8$V#R>02`rtHI4dX|jy=+Lg~g}H~te57@ArbsHb zr)bA0qH^o`4%26+r>50WNOKV&%*55^INf-bab>!zcysV0-d|rpRWaax?BDrf;=kjP z!l0L&+B2$hPi(yAjVVKb{E$TJGFtv(!>*n_%w}+(T}wVpk$wQa?IK6V=x%E{I;SB! z9&?Bt6LKW>ezzSH6g1S_!JnggruTIXD+wkjSeUP6-UL_-2$imdB%<=vW(ax<5&`Zu zN^k2L7ZQ+KGv;RLEN2M$KN<>~^V!NFNy#b2@sDLYqd6@gpHBQK{~6)^uaVLEK*yg^abp_H%kGq4BSJ%@07FVsB%*S;S=r9Q z|K=lwS48$zvMeJv%~hI{Rs(AmN-BerR!&yzOvP?&K3_}O+aUrzHe{ii@jshO`59tN z1uS3^=0q<&Jfc%QO{~TG+P`^NLWB_=Yg4;chG?2=$zr}1ypg3MykhuzNy#KuXE8$* z%t+*~0t%+D+%DBX{yGOiEbHgbM`eeKV|Yj1;gh3E#BYxKKDN&#&j-8zFmwz@CC+T- zSg`v_Wc5oN{`K{?m*vB?{kzkugTAOUWM-Bcm)a!n-OIWqZUK9OsZ0gEh5286Pb{mU zx5yDLn4rO&gKrVefDCce4-bd=o2-b_KiPMXB#~_JI6)6Q{MN+V~GaQaBt^sf_$>>!xS6Jx$CqJ2WsOC(9hcvq@Yl3{LZ=GiG6Nb9V z^4}e?UP8m{7A05)`O1*E@SEt{!X7+nz^{Z3@_CMN2&^HN<&!X|j04(i0 z)D$=W*}?}O9HHaz_#|O%u!!yfQ%K?;jZ-v;XwoZed}t3`hyHnthTDW0wuR5qS&EV$ zrqoFx+J8OsqSUiEhgXZ#&CMNOhe z_fJzSeV55A`rL@Qw^{vtS$#LLq`;75l98j6CwCQX=1e{{`!K<2(2z8JspZ#rpM{&u z<^Ol}_08bmMVFxOg#Go5@beMb|G=2{J2Uhg(vuQ2a{D&6NncvN;J1*z%Q}v4$0Ed~ zu^bfvlLijtoQd@1LEMa1-Lyw#QZPmWYL(#~f1SSrO6t*6W%FS#H1(427cmEai4HJf z!D)+T_HE6sSlS+7u1In{7YCfL+O_r@w?B(!ov8lx{?(i4?c2E#rSj*Az>ms~_DS*W z0y{w(uT3Awa@_^WgI-gZsaxn<4k-EMy`=k^<>l}8>h}5YY2KT)JK*s?^>3l}Kl-h* z1Y8GHxcFn8{Hwfe74tv{ zz~xy!q|HdOIcBsiw|>SxeqBw(7+u!n;c4YuX+=?s)K00;>S(R(l=N1~)X}8KX`{jB z=H}tz)@)fgmq%WvQ&Cp8S^g(UmqL(K%E`@G%*V8F`ljXJ=>D8<8rqCikq_>p^}VdN z1zKQ3WpPV`V{?{p!k4M0;ac4@OO4!9i*8hfbu^VH#*msRI=#VG z-@`>|gc0^}o-exjeB_gaf>W(h&AwU-9=p;1P9{@_h1vAyU8m;2v`UjjbS?h zB&xl=$?Aq{8*WjR_L7jl$_4^K9C6y{!nLwYHKLNST`b1eU(K7aGYWV9G3>gTh$@Fy zOL}aygo%aKiSTyr7F&$Mm_E!GX^IVQ?KSLrjMpZ@D*ySVr{P0RNz{%y)5wuc;P``VfS@w;S`S}fl!P?RAaAmWqVIg`L|CxP4 z7J$#vpdq<2Kke?rhJ!=p4Zm*hvFXrKM$=Sj)qL*$Vd&E&H1a!BRwa|L{E;b0a`OtZ zz5#DVrom4qkXt0{|6}hhqw3hUbv!^=ODQgv;b1==4)(K?6pm$6zva>7O`+-o?ZpvS_M z;gRm?MB6d$eHfD@tRJu+pC->sg}}dTf6CA>t$)hXnJ;fZRR=k|q2@QQ`Al8@A=6W~ z=!<)1*xUR3528_TnQvD)#ZxsKK3kEcg@?Pun3;dnYxt~4t{p}*<0Vv5+}4H_9CWx@ zxAE?_VG{n9<6J~&?z7hzznmgzSZ4fdg~|;B22V=n4EgO$IQ4{5`+I^My~Ph9rXEv< zl0R0qc6uE>ojOwd*hQ1{_M$ zd9a9`0XS?^09X&*wpOH~GpXAPX3%4f@Nu%_w%HY8Xv@jFTdhJ_xkpQ$1T;QkX1gYM zI*p?fw>v`b>}%^5>co9zbNiTF&@WOS%v&}>?(#;2i`5#+6z(A`4lxeV9DQ6*3ros( zdY`_AiEuAuQJU*9OfDH1VEu4gTklM!XTVs&+;Xw7)r#}9rAB*8sX%wTqnP?(zC;bz zb2UMHH<|muD^pMZB;lSmg)TWomfiiQ|5l(t`Fv5x`l1k7s9aUN+{wG2; znpZxwJ&q#f=&jm@_cW{IQ9C1xYn}k|Nd$NSlDxv1_ZfGC)VL8e@UQA@1 zZz1yiAR{xy-H;tJvc{3dOTXpxgwr=7dW;kcecyth0){EbzD`bF>S$CQ>UK_DOexg& zhpaL(#V;eS8s^Ll6Y+WIkBR7OdkDIimU%N3bUwf+xRGZmdJ>G*u;s5|#WL-!MvYRr zEb5CJ=&6JYx#`2Z-rgLwb5Ie&v^|7lK98ynkK5U(~V_iu2o z@^AR-e;|9=|ADOiZ$|e12GRZt&HEpy-QS1*A0c%)*-1J61OUH^`YrA6NL}9l0;&5) zFaK$d|0Uyxm;3KX-8Jo%C?Xm(@2tv$eW~zfY+SmqI`-D%{rB`#=k``~ahQFNzH~4j zA=YNt`N7QZYZe4?Qw#l6lEk`;#kV#xzTuMGUOn&k2nT=M`Z5lq|C8tCspkqe@eOLT zjeF;{Oz=lt#>4ZZd)dc}-I>ib&swi1T{55;0EOn8by*^*7L| zINCJzUr9eSBO(_)Xy|VshTe&M%iR*e*J36(p~dH$h^-HwH~ruefs_WYw`A>(ip$Xv z!53lxIM5OkvvSWP#mDwCabouGKT0U^D6*iS29Uq5 z)S}bJ%EUSnLLCVzLzX!H;5x8u;Do*sEp{35ff0@T?IH`lj0_eV9vW2wQuyU|T_Zdz z9oCT{h3Mi3sp)bo+u%3$2YB&0NEmUS)FJW=YcTkOOt9%BS}%_h{K+C5uVApY4XW+y zV*HK@f`W9Z$|J&`)$XMjiL+48Gtu-K1$+gH8@yshuJ;+vnD~e$u7h_a>5$oQ!IvI! z7#w;BK1ggDP;S5ifi1Hx*;E&jU$Th1o*p=_xm7!6S=|mX^=@=q?}#3hxrOiFtJ9ju zeE1=C`^mWQr=jpk$#JlSLw94xQj<;!BZ z^EX=LQUtec=><=J%unxAn!1?S64FUADP);vq}b?H*BcALcp{L)E;5FPdTh@f3{X;q z>0ff!!*#X4HizqMM3b~~iav-)E#N<>FQeda&-poe)eU*!wYc93NE+U4WSln*%th zJ$~eJ=L^K7#~2{R#If$x6XNqf~L23>>`pT2YAQ~Y^sa0x_u)-~gxS^Jwv z9y|VhV~_xfp8IClcwY%$(&c@EX`57xTc#IxV*=4y)OIYwW=X9rE#49RQ+^4F=AK}z zQd^YEi_RyASh6ceO-&cXj<`5?o1CFp&qDOOwQlWhk5FW_>s`C~g+tY7F(cf}qbJe? z!Mc4}^Cf$ALfBQEd88zR0RJtl7g`w)WbY8UcQz~sC-70n*|DMT22SsZ*nKD9YbZ?R z-6)k=1Aoz@*S|63yuz>5#Q{i3(=5B@q{tUejYZLK(!515o}lNWL1f&y=#nx+asP7c z{7lc8R{`z1TLceH}y{+@iHDKSxN!9`$%b%TkKuIDPy=3=>Y z(Zf*Q!1Gu4OX};gUbgI#20|MaxV{ra8~QQ!n8L|jGX=P!NlhC{DFZX0s?izi;3#ii z-gvVFBNmN!`?Cq?1N*eu#MEvtvxy9>&5>69Rvw?(?DKI0aguDq(k3j7ZypU9^>Z+> z@HE9Nh}y8Vf334tivG4#KSOO|+tMTQ()@JrxcJb-p9M&)#ZD!;S=BsduoAO~8w$`Cw!s)Fp zH1C3_+kKoQWh}4!C{Q`pjQr#G-S-!z*ZcCHyMBbqkDsxtyA)f-#k)qY!h%;0r-=pE zY6G3lt4CM*fM3Se-RAoczPD&#k_+~--wwCRPd{3@o`W&QGNSoby2;bWy@u&;o+2@4 zpZ9Uy})<1#)opQUo9ZNt037PpiNUVI|S>vgK>x123}7aEC4MqT6_oFNqr zy&F(lvg4cG+aGYAfZ-~ZCK-wx@c5+(VUC#+xq&9_$WT&uu`5MV3P)i=TPA9j9lh65 zk8it55Lmx|`OJ=si%GoJ|7PYmv%m80KvVRb`vX_BwS+Qsz|~tTCnGI2O5l9LT1pVX zB|pwcnyP!+WnFh*M9PGI2J3gi>PdbcylG~~68+Ic#iV#pyG2LAkxjqPycg7#Qv9v=wIOv=N}Q#e>bt||E=)nUqmHljemtg zuVrph_Wz(!{pYagl}+_OXE6QI=$~=XI}0aAB@+iRTWdR8o8M%vS1_)at(C2Vik%_o zmHqVI#Ki(+qAdB!r~2dYM+ZY2M^jq|>sJ&02aWo@*vEg8sHIFS%*>rgd0AeoRh*5S z{-99(!N~fjHvc4HF{@h`|E61W{r>B}xYxX_Tz^3T|62U@9e^eyAuR!bfB*m>UVngJ zD*!P7EHn%(3^Xh(3@jWREc_d^H*XLS-e94iBB9}8;o;$8;ouMesYnP2DTr`zNEt{e zsA=fl(&3XZvM|!JP|?!S{uTlO2M6~C{tf1vH<+{pI0Ur+m$zSC0Cae$09X+y2yy@< zIs_Ct#IIfe@Ks4jD2UhXKbEh6frW&EhJ%1dc&*kz13*AS0-zyb5MW^-py2?RzyA&m zgAR*9#)>J5MgGCi9u6CaO3UL_O!KIiZ4Kh6t)_$?XswT>4Z015GWHuzV~0Fb}c13;idLXojv zKx2r0FpQmo!LePgNG_?_J}N17mUhNo=e&wMWyS#Ivnggd*0uC(j^3u`(&3g)?E z18O+v!vjf}r_+I34fSoZF-YcM_hl#8U^R}cGnpF;0)pxqwXhOL)PBk<^A>NlyR*Kj zH=IcU{m?SxX`6CRn*8ptvT9>JdI1f2mAZYE38#(#^BEnFYvQhiO`%x$u*04QzWek3 zk!0@q3R`hKHH}7kvk>0ao!wnqu?@5LRu&TC-%=3eof7(7;2xs=;RfH=ROjECPZ3LM zlV*_84~F=W*K7BPst4IG zw^D_us7q1#j;rF11BziHxA zQXUtBw2R_9BJVt(NZ-;HF<$gNjiudv*-LCqUSSdA=16#KfxOJ-K>4)GG)1x1vFoOH z$3_?@FNhz>U7twdZ*#OBR6Z(H58*NjRfBFHPC6j8+c#6B(~ANm;=LW6~sNAYz*RV zH=uv;PodY%zR$hFh^zdc&7cMfI#{zkH^JmY@9ldy!HM88qY)b@w9qn_<`4>N0*b*nDQ&XN zPVoU#lGrF-ldyCbOL?s59kL0=#nX;nw9OgaR?@exnPj~fJ%NY0vRE{!F(|b#?jt*) zMYSP}P`Z*vQj3d9w2{Cogi=bz)da{RRLF8}0WTqufQrA8B0 ztr}J|#zQ^e-hbd7$;co|YsPu!`!`paVN;+0$~;V9LMKqY#Z`ot)TplC(&!y3}ADxdrt*XXqZfzc^vBssk<4$<3 zN97}PuJ*UJN0Ako&7HPCnnwaFlI%ER9m<5_DJW7c44fM1q~R!12(zkyxpy(sQ2rw7 z`}|=Z^z2P~a0|u>>`DrcUxiN4pZJ%JBhygUC%(GC6RzK=8}@BQV@&oEIa!6RX@pb_ z?OkfqF9OGor8Fdd0fJ*(4G@o?xF*?NPzTblv0_&aonx|7bFKCOJMDs8m{h(duXHFNH**1kK`%&FCOpqllXh!8p{+_sSgPa zigVLlQF-h8inJq?opE%nqr`?~SMe5Km*E|Ce!#vL?y1?LQ)}EBp~M_K2#)-4yGjJ$ zNA^{o=I386ZK5Bf)MfwB3gdR7QD8$b4em*mB3|66?o{nHzq!LUtq&ZS+GOx?u9`b6g=ssVZ!`4q-F6|^ z!0}vXO;Vm*1vdBL>h37)ioU@$(0eWrC{ zP#wEEqSXI@Pn51kFg#ZwODS+NwTHapi4;w6I?BZlS?JvoQC)K_d;y|_$p&5CUNH@+WRlxFvG06!Pe(L1Q(m)`1bM>? z#-N3iD;pdWI3J4=T(#gVB;^e98+KR{N@LbX{;`HFnFg-RCo^v?1k#mY@wHiO;1>KNgm%y=j*>TQl zYt3U?PhaHb(>ZH&I-$>)bUvy*%Ej6+2Y1da31eOp{qPmN&f=(5L^%~f>{vu>ESpt; z!wBVVfy-k+Z17c`)8sAS2$fY3m&-Budx>DtRFg?LvC_5{2|76Sl;@WJID5@@qVs+D z_xSV&>{+#=bQ)-U54+tfR!OWSRPiWQ%%K{*yZRqmlBE2*aLZ~bP2gUnw7zoXm>@8Q z3?W5&KbLa%C}K2w18lRqq+Yv636DK9(%IXCf>T2vju;S{OVg-BgmqE@PqS*@A*1dV z8hE39r8JG7a>=u*O+pj)R!ks%n98YbwXN6j!Gor-8Mggv=_}s`20K*4hQLb#C8jJZjWb!fh@~PqYXp=3ryinIz;WR}}&s4f?$ZIy&I}`~SA0 z^W?yChu&K@TpVy(Z!MN^Qpn!a!^=@}u{50xndiL6Qc1u=oQ6(V9L zK_7zL^kd|yqrFZT`Rc!$a$<(i!D;m*DU3mZXP{%^CXrhtUb8_ ztAoW{i)9`9aZ}<>`}J>dcC-vIxpwL3&~z)5u4cv-&vn{cT+f<#SMGxM(tpd+qgdBy z0*4A2mJ*>)S&f-AXp_`m{48EzYF6~V|2bl{s?Kq9EK0#VaB$*feWMfqJ#upZl*!UF zs(p%L^D?I~fyT$iLUKzJjk;cY3k}<=_2TApn^pXeedxK90{++4AHi;iqjls?AI7lz zIrz;y8J(Df-6A^=pY!b-_M$Rsak_CH=pNyvNQi^gGPuo zM%3r!$dvAku$j50FCIIsgYn*z*cY`2F3ljeF=j1;mYJBO-RuZqyXU^_hbV-_;H6IE zna9WK9q5WUIw1N``&`2}gx%nzxxIz7bT~Vl=X5j1F$B_1L~SF@MLH7_9ZRvAA&#DL zh$Hx2AwA2iKjjGg(SK4JW>eBmi8^&!!MkI1&h45No$RQ#f>8#lzSd_kA5Uc*p1L8y zXY>zFYBuUoZ~{vxV4X3GQ(Mw!;g9i`s=|NM%q%O^h|7V?5+q1GFVZ;RUc1Gu(>;!4 zOUk%MirL7oCyTf$b8IFc&oYsrH;}br+r7)bFn8Pd@OI-*ul#8jzr}FlTb#%b=a6hsF0MKCTX=-E8;PoCs6T;|Wy^EFpGz=s6X&(<(ik~&%M(xkKa zFQA+<9%Vfb9}yA?O+b=$ohD7?DOL}!AcSRlwMd#-%I1?iZ2ID8hY1P0u#r7DAKB3O{`my~DX2tS$=hHQ{mp__cf}X8kCUKs< zjF0h-6JQWP)~T1>!%Xo=I$6Dg%>d|(bK@*uak#7@qJGQ0_uojl^d~lhudi;Pv?n)g z4L)Qt_*!?Sx>f&Z_-T%`VC|X9Af!V4KuFJwhv1oUD?r1$p|0yXc1p028vVzaX8NK} z8?Qw)?b8)rygih}RlmKxrGCwC`erC_!YT@751hKz|6OG2sEX+Qxnw6o*v_{#7j-tB z4lAi~bw^xB9DwVci20k=t%19h$D(kO727?(*2_%GIwG;&Sf!$8?Y1gu^W{qd&B7!H z78Zy2Y=k}6xdYfaMgyt{7f)Y~KYNRx+w+GSia5dz8)Fcu3<7^K#s8g3b_v+g2&i=> z{M?yCCGQ*GVwwWc`>CJVeyib%f0i;6;5Ho;o8I%>9DGi*GmTshSy4Wl;9=HTV7E;#yN zdG2DtJ4q9je-|heBjloQHFqp&M!6tvvwte+!n<;tj7mpQC6NDV$;qtApRk#r?P4Id zRH4=ow1XNj#Qas4XP0c$-ch3E1R(JI@yA=#j_6zHe+UL>?roJiYSatFh?phzs^z&c z!Qz7~z&dQGv|bwf>Xf-$*IeH3LeOI54zZcTc|ye%BTVn{a>rin0F9Em_1oLLo1|s?$O*?R zil5a~y}tlAN&_Wh{J2v1wzWC7 z&_rVp36|;n>r6?ZV#hEL&g8HLCi@goufS&mm3+nd`3sNp)AGh%hyGS;WBG)U+a`1B zr)-h+&(h%V0sS&r$=0vsZhz^>o3SgY7DTFX3X||grdn(*`oyh7x&o`|j8Hs{Q;w!j zljqsWj{DVT-!|BX^!nA-Al`T2nSyW2t^1w~CeO5MJlx+({&j@T$=~K()nKxxD&=CU z<-^l@iAdP>X)MIkAzIh#Fv;`O)R<7M_W-+8ITa*IrwNVLL<)ETXE7JP+^BB+bwEby zHm~nXv=OCkR<4`hsT8!8rs^Iu?oB$(zWUrLXj_=XI8Ih=vBdUZXj?P@tqk@l4$Ve( zzTQ2`_WElW#mUV3U59E*E3q0^LL$)9rA$A}SJF3R9=3*9!C)_T4?y89D#+0sjl1EQ zY$dK|zcoQw?j}&n^`WSLv$M3~vtCyz@n5}#A>E?sW}dQH6jnsc=ho|}vget4g+R93 zx4PPu`FsE%mZjdyMweGz42v3&9y}M{k8v0rJKWq{eOaa?ZWo>Q|J#&}<7)qLMsU1U zq9A((xgJV)dEI%nCAYx3PL>&Hq6BQT3w+jf^zkuB7FM~)02 zzxNl^zZ(AYr})Jo&hh>xlx*}R7o)SWh{5^RkDoZ*p(8gy72lsj7KOH&{$?9>Nas~i z{;MVaEA>xjo#_5jAp((R?C|DbCt7LWNE-6WC_* zN1YY!4vW_}xGIabxq*L`g1)Xv^V0`yz8Z++tmUu>0;OuKUg^xoI1%V*aY^dJv|X}z zr#VQ66;Zk{a@_~)4{D7-r7aLQJY54D8=KYs);V_gdKAWld-8f)pv>r`w)61r%lCKp zJUo67w?SQe{8LADwP6en16cLo5e+dacQRKN49+Xuj2IVqnjC_YQlGy%Jw}hRP>hbT z`D+U`SDh+_mGf3eQ-~k`*_Jf_ku<+x4I=s^aA8<+IV#K9f9{u_LNynKl~@_ z|2kU1BZvI|`+phq{=a9B(3}&*zdxh=`!mbG?`MA7p%o1uoE#Q+o?P)#L@mDK9AlvT z1;C?_^y#As-(s+VESN|(7)(p#<#;{|lVJaHZorvWsjBeTI~I)){olgwf7{1Q7T8JF zV0;3)^&O@Sju>aUY3~p7TRkfWd00M#yNxK-oYLLhv8e-lnAbV(H|pGr|Na11jnnzp zSpmZ4(dHN6w7W0sc~t)=@|*n9#u3+F02>sBUx0O^*9BEyNlE~5+iw>?VbTe2qQh*= z2=%Oj$L2~mxBZ63DcE=?*nwa%5md9xCyfWOPfhF*hr2(GM(xEBoiuSWlENzeb?L)3 zt8s>idL)adTgpNU-7V>eNx$vzxH1bdv+7Tsb>F77`=gq1Jk~v86BSZX?EN_YNo7=% zc3=6B5C#a(BT?1~e7ZSKL@08L40d!2@{!4d1D7?vO~)A@NE8>;LoZ6npGxX{lv$1<4dad#D5q`xvDt>Gfp)qW z&!onik_DGv1mgQOX2;KpmZsywqj(qK~7)4n@#iH>>w4?8L{0yLi(#S78KgA*7lX%C`p0V%jU1Ruo#yE1b1v zWP?0!e8w858P>`XBs)JTi{FWW98))Qr$tF%=*?h^nlmbD<*&s6H4hs5*CFFAkyRYW zAOq~l3xoH$%ivLRk zF0`FmcdZSsHY>>&IP-mEA=J7PrrumXl+Q11W*T;^5G+HY7q-36 zP)LpxS_*8~Mv5n70^JTy6}Pcnp*%v}mlvltjU+NPH0CZxu5;Lp?yLKrAg&T1_6IY2 z9~^_tBDTZ@`vsVN1Fw^cHN!^hvulo~^f>jg)QE(J_z4d@AQj)`of=-%E$TaB#+BpQ z@_NltM&`864>3Y%UyIn~o|cCUYx9+a4Jo)ow}j+Z zPq(dV5~X}+1SGa}7evtDzDf&19C^i{6}M)E3`;srZiEeS?bC!F?B)CG=^m%WCwXkh zA4?07(Cg9dR)-FWVf(~OGxFjsw*4^DF1!c+C`Q3jTWlhjjWaAwpNC}#(#uz;Q%==J zijx>b4VwN1fcpks6$Ri%wR6wXrs@dCW|7iQNKzm%RDl<(f%s-tFqOORWS{4Eg+zV< zS|G`AeZ=sM8a~`?`tNMcNCVXg;v}Bs!Qo;n_(W^YHS75IbMxwLRKWz*uP zb#=FxtdDhe9L~KtJAR-M6&DbOVHg~(mUE_@Ycw2vi>Dp*fQ=(s@+n>QbbxrhzNyB{ z2xGoJrq}{KS~tzTaxEteBa4obtUR)Brvz{OcEne-(ZAG5mA+c>y^%6`3B^rMyKtUQ z$<)+|lXrM1K-^%!uDz|F4N(Kv!)tYmUR6wtvf|2vxJV%)di$`V6+&{KPHjNnS*vl$ zw+HZ=qI1@V=8`kmrwZ8IVhz!?Q6@xR;K+T9`g?@@s%KEsY|=Uvdc9td8{xoE*$rNw^^YwETjl3Dd>c_DHsBpB z80pJ$o4#HFd@}d^$SseNW`hnLCQJ6tyktJ()(aK8!c*dBtLT(VYb0?PCnomH*UK;H zUTQcOqd%jg0-9bfV|_WWrDs5&wJ)jo7MD)oVrW)N{5!&|lf$?+IK329@6O*33@&b{ ze2bc(WwHx=IivJLfEcsoYN2Iu;o>J1%4M7bx41Sr!m^e#d9E$xKosDr9QQtCQE6t; z1aaL738_Q0TbXA>jU)ixYagp)uwISO1S4`FHoJ$?R6&hqbC924XWvp?<~u8&Nw&r- zMm(?7R$mCs<<7ak9X%+3N_L?rw!5NO^_vaJXVI97Z`qUQsZ_(uFzQ`iGL|Q_hZ=oE z4TBWK%@YmlRqSRMo$RUEk5N_%k%2Zndgc*uY}0HnY?wV}|CWs9NtxbUgkU6%7m(s{weucHk) z1PAs65)v{s#1BIR5a$69n1t4)4(t}FN_FuvPn)3h!E8=mvo!`AfGg&U)H4#cs~$|O zFfit2G{lG`?NE*U=0ieIrT!kNjO+|YF=@4FCXQ^A4I?pePj8m;hlHL}ejbPO`CL@n zSq-{c`vq9}94>sH-1$O)-MaIdnth7o%f#!d=g~jSXjhqhdX87)w&lv@1_tK|`jDuI z805F;@DFB(b|}?+%NIt^pWkvph1RCCSwnS`2R5S3-oHo0t<$sAoy zTsx&#cuJ~8FS{bD%3t;@dBufV{y1NIA^HViyfba>bCXreXVXXvE|I2~aOG(+lDWRM ze^eU+U3tk%?s*!WYVmwsyf!Rnw2F>si<|UnxBoH6`!-kwjNr4A!zuo@%+M44+UNEc z0Haz{{(0d=rcX@L7j-2p$d$yV+b#%Ugl zOT#%zt%)^#I*B9kF%o$EHNo?%cvOGr32d8EY!$9F<%dDpCr94QDuUxF6^*Td`Y}F7 zh3@H!!*g zJNyFpLkdb={1h>|id}M)P01bjwDG#I{9sm+7u}lMM%?VD zC@UrS9(V4%ik?OOubjuSMI17w2u?L1W~26FJJ}9IiKjRcC}M8QEV5DF$yiRo9yNZc#t)~@bbPiY#rR>UM`3jSt;nOuPAUnOBfEkbtC`Z; z{iGgIJ}Z8DBHj{DTHHtH(mJ&?e=na068rI=au?Q7V%+*SlSpK{)7LiH!RMM-NFW{$pU~Z1{&Ssjha?q@Ty+k{d)X7ed!KTmdJ@{z`aT8U;tV;)3Y_ri%q2Poh;v4>ErZL- zg+fBtbE(`I7M1?x1Tngvu!VCB?I9B|AO5+=^-ORfoDATP3YvmAUDR;%MDK1Bgq7qw ztY$SU$E#7*rE-z+1}+Qq*n(VSrGeg|aa$*^QwZz#)7^ui$o8_y8%hcN547u{TSlG|MLVu)DgF4q9-Z*dUE)VBwiO^m)~(KMs#pKu!s zD&^!mH+L*;U;W1Y7)1QiF?Rdm!0+jQQveHm5q1!8@x^yBkW(!eXYcX6s{fwh1EKAJ zhk{WZQQ#o=2(HvmsNt!q>cIE~(71|o=jE;dO`a+(j3J-v%0RAMrBHJ%pr<{I*lEPA z8s2Hc1dR`7PT~PPJ%IJu$3q{d(D22{!qlYJPx;?$2X2XlZ9dycLRY40wpq?_mx9(m zci-Pk7c!*Y*I88B5qC+cgmKHus;iX=$qM6{ro;_4tXW>ERepyj3zN5UrW(*2OHk9- z+2=VOcZ_a3^%B*U?xTnHaui$E+H8o;#mz<$Y^5S{F0maycGjU^$=^o@4!TRB5)hyO zLk>^x2_WAZ)T-3_zw%2M7+YubLMv~0OoC(7J(IPF?rj%#QE0@P=jSXXJ2dqvqnP6) zaoY!4(-nq7y#%^-Lj1mzo4$RiQmbW< zb8Ifi(xQZz%4X6@SXi$y_URGX1xc@`U0%~Cpuuo{y8}xKE+-XPTi%xnHD_$7(GZtA zMlUTM<$QoR*eBieKb zN3tw1jV@aD@Ult$9EIiPHd||ifek^NK-oT=?72h+3n+g3$@o+rL@XCHz~b`*G|0hu zsl&T4Thh%l`q5p$`Pr(K;rs?aq6{qS#C3|&vHS5ogf}Rhc!4FcIUh~ZPSU7@98zlk zYVWqRhzdM?D*1haTezHp1CCB;41mkgj2I6polG39EYR({=u#{pjCO!)cl;gS{CkMJ z{auJM&+qZ50YoBrVyah^s}Y6p-U0R`c382uVj}VU=PHrrFF;%0FTnT7uQHI2*F{5F zKS%7De*sq0egRVVw$5mKHZ~({pn|H^X+d8#83R)8nsMX7JiJ5)xXewAJJ|N=X|uf~0)Ma_N7+i8Z8}vWrv+%`H3|6! zecFt-M6|Lm%-b`V!ch{`^?CPw8ldEefwcZqj#EL~*aCBCJLbr3%dzKCx$rUwB%AC? zC$K%a_0x7t5QTZ~WuZ{IYf%=59owG!nm8#eB_boq3zti32++dTk4)U*Gd==m7mYNK zw8h|c_wYqJ@Y6i;!%q1KJpq9eH}PY;t)1fH3bAC`Uo^c@zbHZ$MAsQX*F(g6xq!dsfDB0S5@j zCla}LtOD_WQ8as}Nf=l0^Y_s{5Uca_0`uk319chOBb&rk3Y=cRx!7o+gnSi>@4pTRMQn?CCl>DYf+BXFSc-PZ_QKABp-m3DABUhitygJDI-^ z%IbV*vB(Qe-H+Xj+~Xsp5i=WfR#W*VwqIn_uLfbsHTW2iut5@l$K6i+{gKCs_RW3% z&`W2Whg{akBc1y9V@YLt%sp@)(C>Z@#b183{}%wAqzeHW`Cdmu+v#YThEBDCPO66} zPp{437l05oKKQ30#Kd1tUmH@*^lc{+M4L*}zmyZNQ{iL-L`>W99yVe^*$*vP@~9rR z46lfs5}pgW=Rd7JxfW6TL9Mv^5SV&5v8XJ9fDh1NTOa9X`yb;+=?@y0ziGl`^z26yy!+ zmFGJk^0a`^yGapFx>A&mfApndaC1@8*)}E9tb-Mq7tJRYV8j<~EVK=if`P7pON%5DiB%!uM=GwdCY4up2T6@OUrb?O6$V0n2B1}?T zKG>~iAMr{T>n2pS;3GN6bmkU3wypf2T}S*doS1UGR74`>IvS@pVl>+Y@Z)<%vY1*H-y`%{}eaE>|1B!ltNIkVxJGw+KcGt`7Jj z4%qp^O!c}s2DJ^QaYsW>HJBSyB#axLj&6|qg^3&5BKwSBZ|#spjZ0T|-~lmP>i3&` z=j@3MTy(uCdQNMT{k0|VkGkWrOaf09<8zKr78C~Gq|!6!FdWB=U7NnEFO;^LjcMR! zdG}L!bK@8pDwn?k%mdp{-)vz_(ezXaq6!ds$TxHhchWk`d++|Ngl1lL@1{6ukO^*< zA`haIBie#%?;tg&s<1m4|BiewnE2TAj;?aPGPIM??}(w5*V(Lj6r9#xUv9HjJIQ^F z(n|X#j9xqwEiUbh@Dcu~TdPeiqDDQ2XMoI(xM&{ES`bw=N+qBmpRq0WosbokV5L^Zk-Fp%s&~K+|?Q`72iF=U1i)v+}5Wd*Etl$Z9Sz^Pjcb@e?>6yjcLKdHb>cDp(OZG{s& zM5h2pe?`T|7c6Gv*&>&hSiLyvESSAk>X-qdcwZ>J%Ur@vL%4P9+;$ThMrMhhf`w(n z7M$N-dE4$taycpZlmm^})Izknj6SY|lx#eHdr7=&!Ve+$B{DC9T1Y}B&4iq}p7hi8 zz{dAFMpjWvV38wf;!1^Mv*cp(I&U;jm=v=iQ6L^D%+R8$Lu607Lmelo+*Yi{17>)g z&~vYh(51PYQ<}*`BANnkqP%lJKNS)lh^D4T(LTJS9bj1-a7G_Rupf#qg&C1cxK#JD;lCI{T?rN~$7nEo@W>fbce?6}AJEJbEY_RAAl;Xo^oKwp z5c=6FqUt5-8Q<&LtiihYwRu&=v;d0r6%2vxPB292#cb7zY=`QYz5vNtVFa&RWjCUW z{q=)hzjSHroOjWJo0mg|Uw>29S1G{FaUG28s}uoA&o6h(fi^o76=J;(GKY<5krSTy z=n!W!5))X{sl=$kYK@ea7lu@ z4-gyzBqZ42E`tv~SRhz{!QBId;KAL34DPPM2A9D-%bV|8_xIjgTYK+r?f$W~`%m}O z)O0`n9P8;m=X1_>jpJ4}2#QR373lN&;H7S4S}eKfle}12?pIP$lq}Hy+8YP5=LY`u_?Io_1Jx9%#pQ4-n2(y+*`>2^w{%UCwi>9uaCf%_YL-Fe=2cN2*v*}Y=*D;vYF*$k`&>qSA zd$u>$t*p6wuDIi54ZUyqJI8|IL@WO|}i3%5RTrREGftHAFI$iA(w&kk;x5$<_E+u#L7>vZvD zdcTo6=)e}25e1mPu!?FAipp2H_=ECOW(~C9NfDm1eJv4>MUp0zAD$0$Eu0f?pyS~D z36esIn|1kcg0u_crIL!~Hzu$EH#SEgL?VRv>{=&wVY@LqAAQ>PNk^2@ypSSUj*?y^ zEHJkB@b>|F2Ec<7i1Mq2jDpPihnFbZp5CpfYw;eZOz%zWs35?+i2;T@Ctx(QC`3;z zq;r-u%j++}&k9>tE-;R|s6U%Vi$_C~J>wQJX>!{?tVG5J1Z{^gFhz$R)*>fO_) zABg^EbIASYn*Q4a|FHL|%Ky3HxC>bqI)3Ay2=+6(hJ${$)z28^x^g~B%aaMh)IL+_ z>>R}mx-e}27pLRFQJO+UQ6+ve8aOqc%S>q#Zo+V@`nY5>MQ9 z=iq}#(!a=-`nUDpYcK&Pey_5TR~8%Qj5$19`<~G?(J%sxBrT1)Zrh_NzGww*f+pJ@ z72vtQPU;l9OYh8yLPfp3ajjQ zBr&sG5a&&shVh65LoqLYuq*#dUUlisU<7t68bM1T)wH5N?V`5Q-NX4bR$*PvB8qsd zpy_&{{X4W)5ls?g$Y*G`J&={YWkJBE_u63i1M8w98vt{nDYHN2Uu(hqSA&7MU3Ib6 zj{T96CYS}8Mz{NW+1}wXHX3o>MnI|x34>|o*ZVqrZ915z?! zX{whSZtkAi7(OcdQwV+%S!$w+0)Jf6q`;Y<>gdqJ;{r+U*`}y-qH@<~;;$aC)SHA6xc0nNSQ zZX6JEvxcEjAKRfdBEk!va^r4bI_vW3pI7U8mo@C3E9eX}7AYa;_#W6%<`>#t{6POwWaq-1_0JQG)nCl=Inz zsem)tO}z1s{`lR75g0e`<|fC<^QE-A+;2VDZ8@uk$~1VN#UsPrJZrDXTO%Ci9O~w? z&;QG$G$^e>AnV!Q)I^%BLZ=?;F#p^5zpQ6D5Rea>^t5`d@g^U8$J|ao5_Dlt&Yd!- z-Jjf5YUT((r?)g}KwhxU#7aAdb97xeU)d*&ZST9{I_N(F6?6aV83dnxyq%tI0%f?t zblD{ouTvgT6bUPlt`-`0YQ*aa5uy&|=e3yPnh>ORNE9Ez}p~aNiU$uH9J#}jKyqSl{qUO-fEsh2X^!`=4rJV^gdc-y4MrDlgw;~fw?BDl~D|AV3>&4*uShK~8ov@+Xx_1h zMF<=Uta`B6LR8ydJoEVSl;$V&<-bkS3^=@Get&5?)3x5E`Izc zuO(f&Kuo6j)==Tk9?RjuH|G~wHgR_8v|0AubKD+>?wt96E4@^(-~sO55JKeDe>c?5 zzEjd^Zsy~Gp=QQE;?vjSkpbP4deT7h?=SwbP4=<{|B{J+>@8)C_1|3&NDDB$e?%B@ zxQUNgv&9SHZdjFq9>us*jueHqEyZg-~E@d&R1T z_&E<0vMKB;1jq^v>Y2khtXB-)qc-mOJxDx9*3X)G949|WDg%Zw#O9xQUW{j~F*nlT zt9eggghfFOmKT55bjF|UAou3LapYvy$L*Zk@`7B?h>l*)$h>*YDH*2*qylC?yBRrU z^!s(Q@AB>a2pUJ%zVOYJx5kX@w2aAX{CAbwUw#TEtXsy{C*BI~|3TT#4Ke>1o&H7U zQw~XIKfUqhvsgFPX|c|I!P`gU?VlFp}*ln=7L9tNY-cQlZN;x z;z_ydOCZ>bw&06O-j{SM)?E&MfN~-A9^%hM*C}DfES0rwEcLp{N#SA zKqT(i6sTL~km;&BQfS}h1n(wpw?1>jdH)DGe%oGcT&EnG=i~iu8a(rPYAL~ri+ebk zFRpa~-4O8R@a=uXmo;5Agd+tC4qB9>(hQaJ~DT;+~VL}3)HSyM+dCmJ}huqQw^FpnyBq4#u- z)5pM)b6(=RVXef~nIj(&Fyi);O`9bDNQQHPbu z491<^ivF#<(1QLHw-K<-85r)&ba_vYZC7t!`D&xwq=B0|hQQR;4*c1Q3O<;*1U-U| zkWWCr%)O1Dqty9$`W}V}9>D>6+G6Ssj?(k+@qKPNxaXgM>T3#_l1Fwr5nWSG46!S` z(J2)7dMJcxy`%z}0aQb2kK%Cx6vrd{h&L<}S8H%Zroe9nTGNjS^#iz2g(;}8JS9iR zt`3YISb9}B6faU#CwTCA$a7K|R%;?ejZ8tS0|T3rw-=vn?+koSPa^MCJnbA6 zy9AhvskE%t?1!k{qAk>Y>Ju`euwqH(@6OHU05{J<$-!r{% z#~+o&8lE4V#<&jTz^Z(V;KRgS95y+uLRq?`Z76k!i;^_nSQ9^v_nIlkWM_)_fqPxYvgeV@le=6Lc-t`yDjAzSrb7!2-nSKG=*wVm#L;?x}@ zo559NZRxZw>Qq)Pupd~9%n3u*)D0W#qO;EzmugA*yzzJ3m;;HENHzl*x#K+I2XXNB z_NuR72&+x;PBmE?(+Hlb*;tc){1kB_64@tU3fAUU+OeTg+w+SklL@V`lLUbE)JCx2 zTq}GH`BTn~f}B zJhM%VhStb9szAV@1Ke)y4!Q3xRP5u_cxB8oy4POfIpT58_&INdhq2A{!($4fIzLvg zkS0$Tff#uN6S@~X#luFQp{SWOUJ3Gk#DyzbsYgr)xV@d$^sF&I;f+UEpd9EGyi>bQ4-QU*dbP>;3p8x44Ms+|rp9$dLP|AZ`QdNTJx+Ss zQKj60ZC~81bbPo5DeDIu648fXK~rl8W4Z&!iDs!b?P#>#8RLCWBP44sfjj*n!lOJm ze{~GzQq`!r6nSJ7%iMD{p!Wn9Csyt{0K@5y6u_pHx5j3MeZv1!tYWO&uv-KN7vWxl z1yY=Dch5X~YQd|?Q?osjSVJ+j!@nQ!#))ixbPaQPam@>M3;JP}pF>nyit~Z-^AK{0 zoTpm2kruFLu!dXfQ)FvVR)5suADo^<$*g#2u8dBl@e{J#dB%s@=0Ily4fC>gm2PpsOLX@|ib_w}={0%9mgo&armOJ7B>k*4SgHTY|*!62bV zA~z|&bzY`;^}RL!P-{yg4m(`JcIG(Z({;1Z8n1_Z7n^Bk>bQI9Q}iTR;59y-7h?fmXNuqcOqNv92bHMQvgy!YztP?H>wN1tSgkwpc1f~ z@BkIu_9&aS?(F+7wo^ZY?|k((%0k;^iZ)8f<}SSOPbj08&igck_9(ZYQSY$B3QL@k z;ohxSP1VbH&z!W782I&q$*~vyRBmX!0KwKqy;DoOAysWgSOMQ4OxV)aOqte*s>$tq z!a$Ne&IzzbVxHRhW@N3MwT~z!7S07YM+s~>U%t&2L~uK)!{>vBjjLc8k%?C8dyMMU zB=vPZ9U{|zP-ysz!`Di6d3LM6**gB}smqi468nTPdVL5fasmE69F-AqO{vK#2bZ-$ zeKz)1_=%MfHap<6H5l)AECP|L!&IS6DpsEOI{msRBsG&5cqaUxB3stgv239 zLSvovAC&KYi?n=Yivr@;dU-_OVk$%o?0Q#!wm+W3tc$f#@{oGwVDr0~! zVk6MwlhFCmy|x3 zQsVMp0(grBI>Yll9XNUOrh7u9CLSrNN#$o~vGaXtUZhA%Jjs|}f45bKyNhfGB4#O< z;47zMlZVT(v5glrxb;%JJp*@_lixp%5*Bdmll!bnq_y;;t2Ju-tXTf=g2FED{k%R& zeOeZ`Jj+L_{^_Ecit~(d0fkO1VTI9|A~g;2xF&;Hqf#ZM=DfHer_;b=1c2Dd+rf9U z;`@Atl71hPkf|RHMiejN#hWU`k8Yon%Bn3>{ncMg91H$9>>O5O`>Hq47p>}WlQ(y@ zllhYUCiaTR#*+9sD(-6TC5lys@R07vKPW+4_zG7RFl|^~(f`F z)HipyhcnJ1e2F3=#7OG8#10rn?0}o!qFzk)o3V~{S*~U-9JE%)jC^VbO>;F&@ImSu zQo&8ZS&kqN({Ps6o7q{D0;07NCw(x6^10FLWCtjm1g1aiDtR1@rx?~)U> zJA-a3T(Bq|dZ&@bxtr^<-k?^JP^?q*2L)T`o*?=+_qeG}Qh8F9B`IL~u|g0;mqAaG z&Cxhb7KX0N@ysV-uDgB_M=f62#VB)wKgC<-2DzSlyiQ4BiU$+^yxbVPO}J7S(r-zh z_Ht2^fnrbvPvNYPYydCiM1it@V(>TLG;Cu&3CCDhX8uWYL1*bV$I^ zj6N319~5)$p88_)qj)h3V02im{aA@-gC~eedu{9G*x|{Gwycp4Lz`%Cr=Leuumvdl z0=9x@&s`*`+N$QpX6Fz3opP!&dMuo-e*7@A3g#{s(C0Oz1cAsvpcQ(rOU)!XV$pnu z(~;4sGDO1hrKt4gmvO6$S)HLyZKQm7^5sWAf!djB(x#LU`Eu!l7Y*uoiZw*k z;vQns#j^`}im|O`-czd6gj$nXTYk}X(6^=^6%?DENwURzE&OVUu-S#hJR1i$<35j_ zEakOyd@-|TRq1;IJZcgJgz%s^Zu)XIY<*rXaWELn9vf6)b~4BMvu5!CHr2pnqI#w?z73ImD6LsyIdhBx?hH50Qb?E>a9-YMdP-Mh@2|XeJXf5^9O|k?_K$?`c|U# zOftA|dGA6m$Td+rSvc}*-RliYmMO@H`kK6o3#t$6dq-u6CU!DgF&p zgpn?+JuY_p`O0Gd;W`~o_ds8I?bl{w=8zgSXBv9IiPjs7|8(BSR zR(MJ+fbGJy;5x_PGMqj__q-sb3r8@%-U^R@+f|33%Ht0T@=9&-%MlK~`otq$-Wm>}$cR90 zY>2^E%RXX6Q^LOKO>%?lw^69;PBy7XQ;TlJ>FVXCsL_F%XGsAb+tsy`@RdlAcLAxf z)1|hd=2UM^LQZ%75X7Is^v6|@%{mn|YX~x)1Jqtw+GjsRXyv`i7Ez^>o7dg3IY>88 zf&1tMu|YxdeLyl3a>}DeWjh7X+;}bL+5&l7-J?abc)$58pzMURU zr#GK!Zb?)}=IVnEAN1vBVjFE-Uv-{mRW3r1X1ZTUrA>t7nqrLEy zS&IFIMqv+V?a<+wbvf`CbVn5lwCBtxJ7jOy394fwnM-Vft$+ql@bDbcsQAB$!tCeu zUw?oR-ke?G9QN>Lj5|)P?s|$H=&7P}?bTYO|1wLAc|80n^6)PnayUpY@?D6i3$NCZVj^ob&QKC$mwJHNBq|02FhkM9tFv zb8!R^uU7WzF?DLL$GHNO)g>V;nkl4}AKX0ojg$~-2YBKYli zVflUMP~Py@85#y_2zP-Uy27_O$_grLrnaLU#Hbng{*Ygtfrg(9!jSK zA+*@mxbCg&g5*iR3jVMxSj|OXrTO0!cosxxb$mm zzEd?0w>#is^7FqOcXzb|ZAM`pw1 zxoVnL1V6SELwq5dei{SqNjF|gqkCB!hi;YC6}pYHjJs?3tkV{PL(5!R6vlnn+TvB0Li1*C>Rz!q9Hsc;tx${gbb3abS9%8xfD zTtW@&RUZin)0mPQD?OLp8IrvhTK%st_lr@s_g(08^LtRuw>0kTr2(sV>rqY0T`Mg4 zTHbm$M`cEWrLg7E3b?X5c95sD#*#%iHTH3>JXcGm7sM-Y>xx}{gl`^+NYr;jQtOuo z&!|#tXz$l3*S>~(iJV~Kcv6GrFb*o8Y(JLY27$iu$H$gmJ9<$|2Xj-gcQp%Y^MI!- zQyxzPim#xQ&((IV--Y~gPR`xvhe4E{K!?EqUO;B1hxu zbD!9^cUQGl-1Ewd<{Qyj{&C7WzE@$*9(PncmdP*MB3R%TZzsID+9(eI(`oTDPFm~R ziAMS0;f#d|lh|em;BZj#M|rooxKag>L{(+n zccWCM`lxX}q*PCFUNNC-H;~Zs`o!z8E)e;k{ErdG=cZkHhTu@EA;Z_|q|MsA9}~*h z`I21#SaK~EFQ?B$#whi&+>6#}fQ08;qPW$Ujs1=%BT*QUdDH^T+I?dI@83Dkeiih0 zt!?;C-Kzg0X>H!cQP2GmPsj}v$%yUIjJ1SWoWO#9pSp`KUo;#cvMYcDpn5Mpnn)OP z^E6d!;sr?-fpmF^C-hugO}){hN$UFDQ=UY*SO?r-_-(xAo#DHTO&Fx{C;t&U?Vc{fkZ}(&j`tKUZcjHkU*6ZI z{LP8|g?Pb~L-9^24=ZX(-}iHOiw%jUs5y4-rn@}3RPa+$w2Y8*0A7O<(oG3#?wude zI{UA|pd@+r)Gtv4H9rF7B{HTvZ99` zx}Ca=ZAv^JfrK--*@z9ZV(C&Qk;oRZ33P6PGiH)8dY|NUWt@xuK_PBQx9W$X;susR zgT7EU{H>4Hc!md zHIgkwC8w|!E8VN~dM(GQ>vhpKIT7XrUtX`BdH#uffK1O1U)qurr+4RyV3JEfeaksX z?g+noF=J^L2A8=M6BP1oCc8_N$4PeGGTw&+5?hn}L3$6GiZo@%7pHu%oPq*7;%)~C z8+#5vd@WP(qTussE&@cw;==TettX8Ylk0{@V)Hq>27HwcuGwOq$XO|>7CpP+1TnRy z^{}0D8bz=CplHYzXc>s-cYW2tHc!*k11pP*I;g zag)6rbad?Jtx(;x<$+-@Q_!#{5(JpIQZt?XF-*TY=tg2&>fr$s6{fNs3L6Dx`7?{| znmEODFSZ(0L&E^dEZtoCZ8%py4@+HZ=bSdo@?%*V$`I`M_14*0o-?r_BW77C!v=jo z=1!)*4DJX~<9vASa3gfg=#dlyPQpF(REebMU5-*zgv&^qB^dKb6+9#!@_BP`2DRMz z%fN?1Rc!FiCT*|Cl;(&iz2)m-x+B8IjF^L+g`etoIyUKK>CC8<_N-3t2~;cw#-Jq@cmF0?C{oW%OKv;W&O32(LQHPge zO&Zjj7nWOFE$n*mhS_GeU}OkaakT4zT1yie;Uf|t?*lkTEs_ij@1Zd|-#PDpJTvqk z-N~~%*ObN#MLsY**}lgg6mJwy#C(dIsDtC-PR9r}P&=_&>P z(^+A5*Om}~DyUxawdw%+r=x5p8?E&-W8$a%81jrGhf&L-eqPfu+v(e51|+_bwB4tC z%uH7Ahvm~@b))P;faq4NqCuviZ2dv;@iWH|p+_}4RWz|2;9b0?a@!KxPbkHIQqA8; z{o^iaS@S;Tn!)$S6=$&(jj-;8{6?#_zisf|@75;0g0$Mk@^?k3&7|{RvnH}oQ>&
SEo{#(TtsObHuf#1wcuaDKheTMg+2QCvtT~MI4*@wK_0Ha1L-S8B(G6 z-(Jl97VSVblX{3f(1i7R3fHt6*e}fJyN_2Rfy|R+`%{DI!%YbRgZP!5dh2W4`%HNO zf>pbhd#xFtTHVS7F+&GF#ZijS*PM>QvFY7;6NZZ>_Jmwn>}m0=vA(rJnhH1ErM8+& zZy8Qh|3zxn#dL|#K-NbLEM`Lt%-!Rqn)$Kt7)Ibo@NZ!=sN$G4L*-f)-dA(^jRv-K zyJXfE0fMIz-OwlX9Y6Y7oI zEOvd=jMxzw!evj!`pUjok!0-EPAYTXNq`b1wqDCPZ|njWIgKl?8Gv=HWYcomh`M+P zsf3TB2!-MZ@UvkSZoYCto0+dNrXjWpnwDI2dWUs0_jLjN3;HGi@4I5$Ny0F_^_~E8 zz3|B4frJs^WaK5t#qT9+;V8i>p0>h%iCW}lG3SM2>B9Xg(`dxy- zhwFa{a#b+;2&+i|sWK}pwRcu;i^d4GP>bxCY}chkG0s#M2#ol+Xg1zI?NQl$Q+Aws ziPCctS?$VrG~a-nz4L+b!{J|Jw}v1JJy#`2V;6fi#+q_R@cr*IMprFcoY+rGWZ-bU zAtAs^xzN{-{E%RB2}FIje&l8Q0jo6-Oow{^M(f>0&z5s+`*{0AsogLxi`nyw5u6EJ zmvis{zxU@-Y7TCJ@XTX5? z;1Ra5*b&n_up(`MxPINN((l#AYCCe%8cOr(%Zh}xSj)G4nBpL6w1)FpfF1Gb;@iLT zcuxq(rBxhiu7|<}K+&mjUB+%0!SVx3 zxZbN2YHt<#u5ZJorgMu84Cenl3`u_?zKCw(^D!^>ARyzr1IYe9RjOAJg)e3iN?f~X zgZL6(=$yR&G5ocDDI|S#we2NeGx|$yOiGk9y~Pi&Gg~=CrZ&wztYmpp=cq4ulieAr zyzlL|d_D?qyr`+I8#6zbp8_i3Xjc+%1?M5Gm?H#joxIH(-RkA{ITa`ne1L%IxVC+t&2L|}F2cp5qRkIR)vY$Ldojmf|um28T4(MbZdb{C9 zEzoPIe*g`s=8Meg&^s2axbk-6sd=<%9GE4iBiQK&<%}`a0&iCrp?abOK0(&2x0AX6)*LoE;aNWBQhGqIQP7m|chVdcJf%Mq$|xL@<+hs}0CL;^g;gU(ESxPxAVt z{!)=z-Fkytm3nq|JDpS_AJsmC}GPA{X%t^P< zBEA%Mpi7(w@eE`M8>^49!bL4;(L>b9Wl0S{PiewE5}+3`b;|$5pX1$$dV3NT8tOH zQduT6)i2p!;So2O*P(n87XV;5%S?^M;mpTWw_+ph3sZUNd zAL+ZksZpo9DhNK&($;Fr)j>K=NrM-inI&l z7ENoAp7WnnXg7OxHD0KPCXcz>S+f+GdrjF*?X)55u`R)Uj7($OB65P$M(7O;-&WK@ zUzs>JOFU0@Jm}Wy11@Y7CI~LiG{78$0eaJ?FV}o>=W9y}J?h(X23pIw(h3$&2guSh z!0$Dy!h1U{;M&HqC6V53+t!rsk3k^G&1sa{>E_3FkyE&(v}dri`z$rXf!djTlhgQ$ zxqW~q?h9;>LCW#DK;9kmayCcE(x6*U)Azm^ea~`WgVzN}mye~l=Dbwj^_$(`7sw@Wq+S-w^1z3W-~5=p|RBQ4(>O5Q6cX@NmE@f22qMrP4pnQ^OG=>f_z zGLV=2qkH9sCchir9&n;h{8%hrhgo@h(9nDpadqILT7o-RU6jiSaGyP>*MEEiAqyER zHK_443*L7)&Yh`8EM}yGW*YUMS#q*_kqg3igji z>l-x)gmX7-SF`oV6V-?E@C>nkj{dr^Al7uQXml>`=Xv_6nZNc!|5OdMt$?{6nXw)^|5$#OiT@EgAMj=IQKEJs&O9W7aCdw|Zsjr7upTs4ff`A}9KKhfQZm zt@bRlFQW@QibHo1RUJ0cJkN2<} zXu7<;47RrDW&wWT`XMRf@vjS+ZR&_>Re#sB(77|HQsvkSP?GA)V5%LYUqm)nWOY%F z61KRWz9(n1TeOWNeZ3GMOeMpkf|^T+bH>JK-F|k^x;IsZRK*MRC=Raw+(0sZ{e7WG z`T1i-J;rC$$~e!ivq~pSO})m~+P5mM$iafViG|UbJ$9Fa30owxZe)uc49fyf5D?W6 zeVl8K!~WnhsNc=GLooIUD_AkH*0|>(^fbkB&dN?o(^gegRPzbfuN!Cnlg}$L`Au%k z=Peu`KpjQ5^v#H3npF`$oMlSGmFOlA?xlkbQh}!cuL(zxz@!yYmjv4v%x#=wDC`x7 z;>K0!9WJ(Mm$ZJY@>r&WPc(d~qH^6E;WdNT3%sUbfZa24xo_=NZK$>s6YGo@POAw* z-}*_jyBAK|M42O%s_Psy3iS9!EG(pGxJMDtK)I3VIjq`N-2J3)P6GNL zWgiMc$ED6|7IOCT8T+;GXh@D1eh;hnX(D$)nI7^CtTe>=gPx4{?*-JI!q1VlfN6>)b-p_R7+kQW;36kNSLAD7*+l6n!s>B5ZpoE%D77)6EJhfybA_LRf<8 z+@RDEbftD95SkXRTcgnxm2*Q*$B7+1V#{I2?PP`Ryr+AiVV%&ea}k_KZoKpc-GE*x8J_i%3x&h57n`xx`&c~_>M&~}aA3VMiY&zF) zpXZfRUF6}*?GZT34?>?F0Bp~wPlzu2`F9(zmw_Mw`U)zKqMt2eLPGop;D%IJgxIg3 zjt?OW$%X1uyH_{k3SzpNjQF+8xMiXe-KE=}8SJBrDsl$sa?&9@9)o&yCrk_{?=k+8+ZRbW(!+v~p=tGD|MKZtgdYh(@S55YIS z`jx@f!pdno+n^#iT0@Iu>-ee5XU9?~G7;jN>(h9O1SE5}u{j}}B?rPPY^WmCYns=T z4o#Ky##F_ksgXf zz?>z1d@;X=ok`_;71K-n0d+YMhqI?kO~>=KQx#~Wn*`s%tf}x#r;)zKfgxSr*fnu` z#VoRezQN^(pVO%?5`W*GT|qiZQ-{}12|fK15N3$G(;!l_U8kL30bk zv)?KJiq9Y|L(lj_^wl2yu%m@~wFafFxFfRsvn6_2p*XcYJE&P~ezthr*=Un6OQS0BINJWxGR`%(}lE6 zXnk*9WDO3osF=IKbne%HxZfNLoM?)Zb8Cm?W6sA(y)h?>uTZEPNZb1zx7ZtIs8G{eXW-nN4 zg>DSbER5AKPn-6?fx0&e`wT>r7tZslZi7`c6_x~zcb`6ScUtg)*Z5R~x2Xyh^sZO( z+lb#~^3@phWKieiw?AFYo$ys2trSkx;QSQ89l&QfA{CuDNgimo+VN1G58ESSU*X=_ zc=5x@!fkVKi=a|0B5u9h%q(HS5o%$||^Az>72aDWI&5i@FxR2(B`nRlY*ZXzIULQ{lCfb^(K&WS??~{VTJ^bIngRVEr zUh?k19K!)|rP%*@sm6cMp8p569RIKWfJq4QaOQBMRJqR9NFrRiDRHjiv=9<)^#>*4 zT`}W_cK|W=RA6_(T+_ z6ghpjRA2cT6$<4Q~hU#?ST|uoG zjm~_tPXqje@*qpX_6vhOS3kF05(Dcc2<%|I1P-;G-#klAzNT1;o{?0R650E9crVd# zQHsj?J?7McasSAotoI5~s?vagSfbeSqYmFYdW+!mdTtRd#pq!9LqsC!QW`Yk)TP=d zg6b>fEj35P_cwVf8r&Bl5eAz6ryC^<{dciUoS~Z>AHydTax+tA&tqZ`YA;)QR6-#8 zN2V3?(v*mpn0EL8!*FWv{NFo+#+@k2=%ln?@a4FK2l9=w%g0D9vuz&-cURZX{g=W= zkma?l`dGcko5t~4DGRULVLd|OaVQHr~&-H*5Z5X4^z#3TWpRix18 zIxEa8aGK#kqyQbX;DW3Qxrv6OO&P_c9dlu$3+)z7V+^C;7Ekv>8vT6O& z1|IaiAT!=15zR2%O#Q_yPknN+YKMZbf{3$Z@Os0BX};r@OS$7?4OOXcXf0V^*X=nO zj|h_}y|3ieZAwBqMV2!rrncRutj@sH;X4LV65o!J;Kxg=k4jeRuvB9PsNAX?Ukctx zVO6cc?Q%}R;}zg@MLsK!7&g~Y2bK2D6X$b4){%Iu;jMLQUWmlV-Yi0k0vo}h+wZNU ze0>km@}*borCl4#mles);dvGfv-7c}f0uKjfE;Iwa>2b6f&+lv zzgPl_+&C)u;d*kNOpjp%$TsB zK3I)J03GmnsIh|LwU`5e=WacFMD}mz^vKC$n`WukX9Z0Qf$g!TNAe~jC!>u61p9ET zy_Ry{rjzQ&<1r(p@t~Pe8~e6{j(MN^+B<5`tTyXYb!{M>&%40Gjqfcsa{X*@GLMZ| z$6xI`n0uoDTi5ZB)Sy{5*=J|=vSJIz-(t~gPQY!f3JXoJ<*Ab?R+j247e7l6#n^MRe(hBsB?Oq)NHi(#g>^a_l1 zbCpl-NJUt=aPMHIOmU{K-{vS)Cr2@X^^si=j!)`R;|tRZ zV!XA3zpOx%l-I+v=tg)|Me~ED9d5en?<`WaGq8j8Gc8C?wy)2&<(r@X`nreuO}RD? zvcwc-u+=-Kr(COt{7L1rZdtT+S}Wh4h^JEVyWhZI7*as$kmd)-xYK&U{8PlD&E8RF z+9H~?<^~dW?msH=QiNll*;&v0R$wE1d?TZ^E{u-4jmyz<+f9o4a8rgJj9R~Wf>xby z&*NmEYHtODOwf6)ofl!;$`I@rs^&H883Rld7 zXcvqnRn@=%aQ?Z;P(&sI==Rd z?B{;n4=Im9g*gtz51eNsceH%$Q%!33ybr6^y2Wl;HN=6fBRXF@3nU z57Y@zDd(?nhd~?VM4|Vi$WBpfE;4`~bEbX*ys5BNz4Va4=x8 zGprEnF<*Hl?dsLbdVIOKuIF=>EMC(h8CU{_>>}RFQIx4Ga}f6@^N5-H3_RNUvG@Ox zzngTrzUBbpLN!h$@MKpUo^wTvdT47M>DoX~(6dRq$*d6I zjZLxa^9#=eO=BFW9^#bmrLueJW4v(!q5w}bwaRW}y&;a*g!vSON=>C+$P?XV=95{g zlI_@Bg^A)jLQ?VWB{H?F4&&`w*EabqgB6_l$G}DlVy9uB#BPx3@0RuS**N<#+DHhv z@Kjykihbl~k5;cTmI2j0nQ||c|L18nr@f6tFI}V#NxLnnUR|CG z!iGl<1s_vXM4IDah$uPD3ggN(N|U42woj&~tw^kwLhBHXMQ@^uqrp!upUSOR zAER=kF+wYCXO9-)NLJ9lyQfb0F6$XsJjD8D_Gta%$h#&=Sr5KO!HS#_)A@B$zpx+Ym9*37chPJ^DZ{D#^_oA}iz z1RcVg?1HYiHZxs2;9kwRVCTRUzx%8{>bz_= zbv!;)Yranv?_w`d8rT5nJvotL2VkO{qv}IBpKKKm>fefIZY2PiEKvZf(V|a9X~mnu z@;fwEPX^Q2&59!izwtg#thu|Pu8K-NtW}Jwq3JKcmnL~T@CN%+r2zA+V}yd3xR9V1 z?ylFR0Tr`9AcPM9_EIBhdqrsx@}B>HBknDu+G_WG(NHMRVx=t_v_L7v-6>MsT3Xx* z9^4^7krpRFa4%kpOK^902*F)SaF_PIdDq(O-m}NvV~ugox%Zq;Gh-y5W}Z2p=l@eA z#vv7}z$ezuXM#+&+X|o{o6X_=SS*DN13c#Fu^mYBH6bO!@ahPb#dXqs!&0Afu^#pO zPVnndyr09D7Y6C8Nmng&gF5XQNv;t0S-(^8+1X)6+o+qQf5@O}OxjyA_F>wXz#vvt zhrZSECt&@%i!YDQnPFubMoje%zndoOlpNg>GQ>U=2ItJ!(ey91i$4KJTh|nQoWz3n z)#~ss7MbIepPDrGi;?VmQBoZXTaE3BS#P@Pyn+bFh^7%~h(a`zxlAI_=|*QCR)iXK zal%cJq<1eJ0cYokU8K_&mfdYSH_`p+^UeIy^Lj4_hLPwzW8Lx{#}Mj6%%7NxCx>I8 zhVl_~(R%c3=_rG9OqES_-)nX;Xmqm#`S#+M&|(y%yc`Hy#t6vkt^11XH!n!4OzOx| z*gV-+vkpfGRy1rdY1|` zh9aEec8O_Ib1B{GPB`wDFofkT9mQ3>Aa{2E+3z)Vh0xJ3-68MG;o1*VNE^X(mm>PCT=<5r!J~Siof3` zeBg1!>`Bv@*aiDn$h2jCpsFiXb{MH+Q`mnUw}j@N6#x8@sl0w%Y{B5o=<1zzNbSmp zqV>}Gj_2-p`ZoiE-i--vn(wOvrs}m11uw?`reDehUav0y&A+^f{2vIIXSBr1TU;K_ zH@4dB-L^ndI|&RUw2{&pAO*M-U1{cEsk;7NIduM^kvcTGnhXIkT0bOUusTu0W~nVK zU^%`J{;1^i=aoviUZO76M5md&{N{~$tq@nUK1y9}(ZI44ZXUdATW>4N;QiZL*+~D; z#3Q(+Wx_MzK*aJdz^Y8<%OYYBsCNsg*HW$4-~Dog(}Ym$5R2fE&m}^(*P$RyqfQiV zrxiE4gP+ALw;}#rh%oEorM9Zg=ejgvKeW%bmP{xXfN35-kFlc}L*M1Ocd{e$aLGfw z((HbzE2k7=_Z8a}hdQaDJWWq^Lu=AQHDc&JnER$Q(xR3qkNeUbTr}|q zAYZoRvFg5<)$K#-1geVLDpOqN|3fun9^!BRe0`mG^gH%-`Qp{zAW<<^kMrjW=!)J9dLo?sO1Lcflo_BG7Mu7A6GtcGn%oqv94z%<8SSj z#FklgLe-y&S~hQnxR%{P8RW+cA0oaoV$@8q!O3_(&-~N~;*9a`~;LkKTJOe%d|@dQ@3(_1Dc2SPXPci$=AE;*}Xz#_Kz?Q}^(-hYOeIkWF9;)TT6 zgZ*W-%zL&r{4ABD2Ds;%5QHUkywLlYqKfH?l3F$^37qE~B@G7`^daDzdpLdiwT4dV zO*(V-Kj6YWA^d3vDa{+Z61FkC-0+J6qPRSLS3Uh|?7o4+S|tPGCAr+{of}rs@C_WZ z?C1d<3Bf>;uwv!)G52cS>GF`lxjVjWrjl?ky=#0+T76!-$PD<*|ydR43H zCyLe*C1HqE%GJ1!srY^<>#(gK2Kh`jZkDrXN`N@YJQT9aP^8?wSZ zLhsTYHHtLE^6QGeRrr!xD`Mr!ESH)Bovs7&96%M5Ary|FW6cQ1Wr<#^KIFTpzkyuL z#FyWeUYmV$RA>(!`dn5i27b969qiX?#Yb2Ivt|zNz6g6A+G~>Z?m5qx2hF%czgG4u zk(b!{|6kY1|GzshPl^K=vpT#>MlFr)6(Tt&x7lzK5SD!b#|Oa=GED`uY@`RNMthsj zD_c=?!eu)^x~z0eAB|uV*@rF`3rs!m(oQUqs+~*l?pB^U1+S)3hU~6x&nVNE=PY=Q z!Qobh#}%pP`r~94cq#7c_UJ$=HSx5=#naZ!Abc=9nTbxL>zNiKqVcyZoX|f13xKx}y&-xSApO{1Qn}qtu=>d1H#)k& zAv592cjP<`@yfuFX!P;;lJ?w(>MNYOS9%Z{Q*_GoT#G$-i6Y$!(*Pk_C#PBuQ%C8E zWSdYod$WVWIB}HZ^MYU3`4Uf~OXf_@5%#ESX6NenHwy^yCc+hHzoDnz>>OmcSZ%}l zl<5qjg_*#GK_-d8Tx67~Zs<92#Q{O4dzx~qfC!ka;xgJ%c^~=HpC(jF5x?ZK^E?9G zB$oZh1w$yT$vLi@L$1`ra2RtNY~)#<{wrL;lN3*_@9Kl;21Jt37uDNvox$O>9h~fDtm8DKDk&|OM3w`uzdKgyV4aszJ-$IW$ zV}W0^ISQi#zBCF^|7Ts^D3+y7UYNw2;U(ZWYd85SB*O>e_|uZQPsMl8Ni8#3PJgn{ zs;9=aX!ENpY5qzP)a8D8y$S0ujpaEw#Ssawd(&e4%qvcQp#R-f%=QlABnBK4d#=@J z?9(rzK6l+k{y%o%r8^uLZObL@>8Hc# zX>uzj5pX9kJih;h(Z*aTpTeq$wera6)JDoO!xlje>3&}r)oWX z<4d$8uRQd(%!$Ds+G)#llEnUgOrhdKg?=v)OjM4CN|M^!053)@>*szk_)lB^=-mG2 zUJ*nXT^;Dxsx>&!b9R5a0#=cWS;E5P?IK{F+ci`ko02A1yBZ4HelJOS*S_%=K;d!Mu(qGF(e*+dywPpW-Q(zRRIQgZpobpo~D$ScYhKXrkMfVBvmrINa zLEDt5iOFkov}JM*KNvgxugXW5v>I9Z;bFRjur%lt z4Q(zndMg&i_6k8jpj;<#WHZ>@9VLh;pY=IiC7kIQk1GPxv+uKum|9dsyiU1QaBH66 z@GPqsF9ue?3wp4F6j1=AT+jxll(TpMkV!QzGm~IC@2xE&9j)I~9+}&l-i#7Z(yz5D zq9X3PmNKm-U!h~)ak60qY>3>~hEMyC zmd|;NjnSLVz6;i>dpc*aIavYIxLjbB8Wu?etJ_r4 zPBx43(!OR|@z?-3i@E6GzWaudt#dBV7AT};l+J4F6%#h6{KoYaO~rDppoz!AFhyEX z^vKC?T|&Y(5vsf+i4lryRr)?bcyDjNJvbc4N?+vMNGI~=lwPOlrDv|NIAwC===ELo zWv^iIsURNcU>Y9Luljf&$_r!y>M+3_`&6RsL%9 zNfV&0ow&&q{_#9SvJddE_00h?3O)h?&pTQ24Q_flX++eje_4`lKmYETM0PgO!%kZY2AVOYoahI(~8vZm3HFUx=nP@Hd{Pm zn}lk(z2XL`^dBqSV7#zN6b(Y~@(~#&hwAE^LsgO5pUT=VotX^Ugy9Eu_eP9Fzgy6H z41(KUJnHs-qivn=QS(Xh!yPaUBJOY!=MO0!>Psyv7+sa$h-^^>k=G;OGdy*_+&(9qI!WIoyq zKh!GEyH;?~k1U-gR6fU;MD3;3%RiXy65`7Bgs1xZ&TH9BK8h#R7TFFCPE3ziYC!2$ z=4W@%J&54WMG0hUzW&EDRJ?cb126(QAi=1FqT0Q$F@ODQ)v?`5#RJU#a@KgU*D^E*6O=*ui zn8q-teCx%HhIU`%I%(mqCR}p*qZA}CZ{&!i$ z91aDdGe7HhUVn%e7(QDF=HGYRA-v3IcV5H{)lh5wmDj5aL8n)a&j!C9Q;(df=|LleXW*yIsH!Enp zLT@nW!o^F?k()8VhtIEkS$cn+EuTW=+YhF;VKTc@b255U&#+rFQ2p54vBh`61{6-S z@?f%@#9@Z}9>+xHu`U~KQT+@qI4l$_oj@n|GxxK1wcL27c zk%5~C#u45V=@=sGaZJ_1U7^9Du*mng|3Q+XclQ77AIHc@Re=l21_+!-qCrIN%dcrn zg!8se1{OVA59+I&xI$XX(I5#fQ}bMZjlWX=`p38t-$Wj$Yp9k03!fswq4_Vs*~7C@ z)l%GR6OP)|{X-rxnlIrBb`ituf^?mDbTeoRgtss$$R$T6_p_oO#;r&5* z_`?NG5>ZS^qmb>0$um4}RF>ftwYs{*pRT;jK(+IjoyL}BT!}8V%Syq;6|(8@?Dt2{ zeJ+ql#QN^`ss2`UcWOV5MF8Q}==3H$N|h{mw=4-@3E0=s;rcQmWe1w%f_w1lgGAyk6jqF|A-wUNmyQtfjq6lLvqc8&N z`ligfv3X;)X)C8iGdB(*r)xod)=id0-)dQEW%VR+uedrgGG4#Nkh*s-u@m(7XR@}+ zEUYbKUHQx1oEz5zGVK>o5)!?WalN`lNrNB4VT*iLuqR9*WW>K3>Qe&SKDeoC1PgCD zy}BXn>$kW><8=RyH9=Q!|M17lbbI%UHfZgvq71+K4n#_`_);~xBn_e#!AJp-fvtIr&VeS?P#~xbA6YdBH=YWtlm6_ zxjI8qM^%>e1Zy;C(LA}|skZAcz=C&!HMHpLnw~&cj0i9riKL0jI+Gvnd zc@6EbYPc1WDvs<9U=Qof3Gd1*7G}P=oQ-Og5O^SaOB%k;Sf62EWDsG^r85Q8C7%ZNvyk~)cJ|DAV7YNsB2F6va(~*Klo$%LmU@$* z-lCZ-7DmuYKki5Xd_5ZLnJDQW*6@~(aZ#TwJU*2XC{o?zgwSXK)-Y3~m{W_&uMx!u zi+YPaf@ZMDpYj^{Zuvaj_{7At!jw!MFtvWQ--#auPp;&{br$nyIbMUtd`dUPJLVfe z1M57}y1v@xuS@mZhbZa2SM85aKakpf4t{LR{Wa@?J}L7Q*9?*z04%|EJn=`1PZy)=bzoI_&0*ljlj02)dywlfpW_}^4#dI}#FQ#m|q z9HZoL+Sy??6dav46uTCX^8n_KAzIvL>lbXBXG!r_#BW!G`!#&Wz@?wcjae=;0HK-v z6|RL@e=Ovju?bR8?vS`TFEPbTyb|3s7UK!~3c?tf1ZWyV4)xHiV>rkBz~`0$7Oi^i z1RkANPE0v1Ipu`Tk6W54uYcUnA?<2wXk&gzF{Z^eW-MME_7`<4T=iWa=>tXe_+L1| zl*j%8ROB^(t!!7|y{zi{@<>=Xn=z-Q7u{`@nX}_2!kQ&Y9koG7vMy$?p1}$_wAv19 z(nT^ZaA)ff1N9^*MXnO1y0+O(t7FaIh?iA8VQM+tvB9zq66?fKvS_hSh@KyptB5Ki z6qsz(!eu4x>rdK?cC`zx_Q^zD&jnoQAY@tZz0cLx)9Pz#EB=VJm|n`$SQ1iyi?L_n znHqdtB*pilHJZ1F@{4tU9nbtY7ehiQ3|E{_Gc?S)6Lu@tGd;ZJLR8{WW;h>rnwtAu zP8m2tPATb(`Rj`5)2nJ-uLaoCt0!?&A}k9kjvS1!l5__ZaD`K{XUK6haLji)TNGFd zVk!pC|Is4g&Tl;0s^ck&k1zPFS?00(CCVyJIATp(50(k6GcQSOgr#NB z1+IsgI&7yWTzZyG5SrxMp18k7I#5@!k%B_TK7301cK=MrbzaW^i4le|BuQ5roVTM1 zV(z`ofchj^DsF`Q7QmL=W7r1!z|>h7pC5rn5B2o3-E@__p9)2><7rx+&i_hW>DWX$ z@z827@ik2w!XhjEIIo+-hnm=bsy%$#{WAMN*fdX@<^RFFbK3Q7Kl{EJA;JDjdk$uq zaaEg%t9^H8LA;N>W^@DUua&9slZ^EgnEW8|XJ^SgS~m{SO?1zs#0hJaVyb#cSK~vO zw4j`{u~1hN-6Fh&Yq4YBrDG>L6bf8E<6(56`#NArjhV({WB0?i(`3hibMbDY4uFB> zH!EV!%j*o0UWeKpvg5thhwlbIR)iv{nU;DZNLDojHg$kTEuikGTKLj2*5M*uk0=^( z|NiIGZ;TB4a>%WKA#uYO$4eLz>O|z_p1K2_=do~e8r8{Ea z<>6aSmHKnAgt19TqNwIh3|q%_I-8sPEUgyz3*|4mMxS>=`D(8iWOa)+*}fvt*>F?6 zz6W}8N)7_ei;PEL8L4>nZBfkfV4r)Eg{&N5)AsqP)!P`q~9h`~Ak7PbN+tahw*LGLIt zV)3ldsnU5xk2iV%yPv`LBf-rkC^Q6}9+Q`)w%O>JZGZ7~_>^fRkwHbPf8xjfXzHt+ zCt=E*@vHShFtJcc@kl~6>q{kDv}LoIZhaQc-iepW*CCkTnq@XUZ5V(eDX5)>;5mz) zl`&Cf_@$6HUE3^$c+gTLEszt1OxJN&@uR)0=UL5H<$vDv>25$p)>Rzy<1DXUr5l== z8OfJ0WNg;dQ$K=SN`RV5EgI7LjCurIbe7&46hA6rZlQI^&FRUR|gKv35H$ zX|$HG7aQs74Kh2;N9SL9t~DTm467l1^?tWQrUs8l*y^FzcQukCu$-i5M3) zMy28Zb>zHD=@;Sd27xU*Y~ulF>fJdQB}4r)#@+q zp5&e^{-O@96B5;@_IYMYCKO_G-0fc{NDLj26{=qROy}$36>x0j=<43qgt*eD?U{Nw z)Mhp&4led@4YXF(tC=@CZG&P<3oDA!0TNId>u5`avYMdb!Q}w5=cSiJc9C|T72AF7 z5#<=P)5QMAg0j(7QvZ)IClNx<`AI}<>L>`Ay0L;+AU+cO%e-nPSmjLa7TnJWBa~~b zg69*sF|`gZ6b?F{Z56bNeNbhqY3hkq`{2nHJ}Nk*#pAi}@3Umg?J4{H#aD`Moh6P^BpZ$vtS*N>54M?D^$3G`x#2 zgpPc6P}~sHukL2CIO$V~j!zuD^vTwqJIwX_rf{nEDbyt;GFO-TY@4xGoYc-8Vt?|T z<8mbH-5X}(u2t@(H$|Fi?<#7v)x3U_7#wiL%?CIg9%!3z)s7tyhmfj1s8VBhp!2Di z=X>w zozmB2s8~~vmRi6{$n|1jz!~1*uj%>t4<@$SVEuMv8j3MEhZ~vv`cDfYD9M zy;&2WRVFFHCv4|3W18Io(u?jo2=5Rb!UvyTm|{&5o5o1^WQ ziNP7W)Q!FU3u-gnxez17pfsRk&9JCX2$JtpZw`F|JEWvgNWU*XJ(74C9 z?ddh=3$0~f%5Wmx;C8u;Bb^(p{+4fYW^T1y{zVCe5)J=N@hMTD z|D1R!bS9ZrjNklJIQyk*QfNqncV^t8UoyL0WOh_gzL>UNxg30F)M0TK^0>~0j}N}) zU?eH*c3f7Lbud0D>)|zMc(b!7{>pBd?Q5YOhYK5!BH6DQKXL3UGOUh^22;MQTssE; z;DBSg2mZb;JEZ+vkcTC^ZX9B}3TPF5%oOAJ^(q{@$)$moV|XY|kPWpbWaaqDq8NX! zDB;XO5#18~v7qdi;vSLdk>2Dp(XM|BkYJMi&5s=9`~~=c7Q>=%IpJNciNAm{f>T}t zdxVZ^vhm&-U3A#!m#0)#{9c}pA@R)1xqfox$iE4v$o_ts*jBHGdt_Kqnw!owrJI{` zuIUV30KM|*@mKy?u2w2+7ozm0g=~MU$T-;t0&Pq}QJ~)+yVlGk(0C zaY#wXFyDxnQe=cFiYrQhHvs=)R7n3df(HE4*ZU7)$-jKPZ~hNLK(GGpTMsAMuIWhAPQXV)d-zDHVb=<|m__Es#` zu7O`Zc&@J1E9t9wM3)ja5u4|PsZvLXjbj>|!VH9)XiFvPwP}0hPG!N^uT_0!tr}Y~ z8Ej~e)QukypM~*Onl+Z|7OSPoWSvSl3lNH+!5&Qz%HMw5P=)bDhiID zHtgM-gObgtl3;cjnnHkmBzl8Fg8s4a{)=`|#cAc0SZlJ}y#%pkh7PcL=XURwPK3Me zbxD`UP8maPVm(C>-zCitok*RBjyXwz%uV#Rp+X57Kd&F&C@k#czZvF+!$5SP2YH;~ zO#w-qIfRoOy3H}=&iz2%lLeF}2(>-H-FO|$Zvs^u<0{k0^0 z`7VvRoYg}5K)PbGqqQhE$98`U`M3Y&U86fuH=pO;@1gnB$L0L|3y$AGg*~TK$yub1?$7&_ zgXgkq0?KxduM3;TiC`aVCWE`s#%JASk;e{Wu1;gFEhW5Py#gQ7`iRF_*R1$|P#QBl zAp}W%DP5D=6Yz0cK=qj%=;Yy*eQL!Di9VoV-Lf{1`S!II`?uv@w2%Z{ofV;-oAHe3!SC7ayNclQlQ& z?GrpS<%7aRJ*NCRw|GAClYegCAb-TE)T2sRvE&n6Z&@jk8O*L5UM4}$bVg>!U&{VV zI1G{YbIV%4Pv70(nM_L+iKv#(}Et2~3+4242oy;6bYAilF$ z)rqIGO5^kpR6dVCR!qw#W#mT_o?`hz;Z?shfePUda3 z6UFfGkW2=Vf2%;jk2%;^k44L+mv(~m>rIQfcG1~IIvwI|bC(qk@xnWDYd>DaZeV-q z4v(BX_EU0y#xP6W?>K(?aj$~)?>OfFoN$0kfcJj`Z+cq)qMHMz!U}I#UtqgNRNWjn z#K8-AB#iO*d#n0x@ubd}`f zXZU3@Eu$9Q_WsCWsDPToLtxq5pC`dKCs&5jt!f?@3=W^+a$g=@>hm*i6P=X4-^(6? z&}akPd?O}WF$I;MA15qn8sxDxllj2425230X&~l=!5&-+QwYb1_kWAR#Bc}7cv%$B_-Lo_v=s>~bXMiK68zlKoGXEhv z^?>-J%Q5m^r%kWskir~}x1xQh$w8$;DMZRm3k9ChkzcG7rG(Ko!Pz%Hna~@f-brm? z#zODR*bq*6s8=w2Z#Oxyb5vZBKHmlPyl(4rA}3KSj_<)F zx<4Nv{yR`KDzUffWR!|)l#!>JqOpaAstd@>GTmq(mzg(lP(2p)X!$NN<49{<%qbay znE`A+s!08*y5X2u6__PI*RPo{`7Lgbd_DYY>;yW@=SBOMMuCF#Kq<7*DuV4!>`#R8 zdiaB&m&M&GrvSXw+Y$Vc?vdgI4S4Qk*4g`rvg4xz>qJ$OP*lf_u9hf`zEMP%gkLl%yJ0@R9BbYIz7h@I2^bLILhB0bO-XbRs<0)i+;|x^Zcn> z!Z6PWW|Q7q+Q}Nj=y*;PhpOe28Q18BzFVJnah?}yo&i(n+{0RW%n30QkDQ&X#aac+ z54MeP3#g;yXc@2j6NfCBN(UPUPJVT5AYxa48lXoz=(b^1hKXpx?h~=g9=_)r0O~=V zI-R8{y{lN!SO};7I_ez(^lhi2w83XBWc*1hVV%PA=^C4V#>wGXV?Mz_&ZJ~oXj4IxHcBtoSeA0kD|uD%3l^n&Q$qYIm(RL&%l+m`hCjMsvCpk zs(aL;$4pUcR2X!7dsll}&t%wBH-l<<#>GMtB(^+7%4J-w`w=@=OZlH+-I@vJZmLl z)qc#R+&Is*6jPGn&hiSjRZfbrTE2n1?c`bZYtP%p*|$=!m=m~d8VY<#n#zlxlr9E! z%jw+OVCBtb{G%#+EcR4{Bg5Wud0_76J=bURDQw`2O!;T;dNxs?9=xT? z2_JNn8g^y&x_jMk2Y6O?Fx4sd=9`|)Mc=|a;R>3Q7C`SUkZ{VF752HBIDv^wrQRD?2F%tZ2_XzvjQDj)(JTt6f=IXS7zM<&GoJ^2MXU53d(;=?v6 zs}sBe8`l{0a?ofVgzqpMV?x5;uga{ykCgR(k@)(azw~pgyhH6}K7((3&)#x{Lk5PP zW^kA>0h@&wl@_(rZ0z_xQ%;#R1bF`%u$M7qLbjsmETI zea`6;)R=WLYvb=++(!Sed&T-XR~vR(Ne~^oeBbr4kb-gYXCnJ|fB*=~YJ#wA#1cEW zGl*=ymq)vfyc<}(IsZ6mMD^rT9FfIxA_?X%9};DEJuue*8%zaecO>^0fPTM%BlNpo zWc~~lt7(wOoJFz}SLro5k~_LfP{`BTqgLVSQ6*Rf3Z`6}I-{iWt#gO(QOQI*Xm88Y zcCjbUR=MSeQUe@Mc)P({PFJnFDX81H*8Nu|!!|0YH_}g{LFQ6|c~8U`1VeneemkPk ztQ~}*qt7pRR`Ab@v~G%|wFUm-4YhZ)oTO5^r+4pRB3db7jE()KOGWa@dS@S~J{(aN zd9p(bzQPI81edXRnl`uWPOGI6;U4S5mEuNHRXe^Tn;B%ERON)xk9VVO!B0zWm$HaH zot~=j4L1vvc*cr}z;s@&h?^eCc!Y#)XqcDA=&$Jv*(gJ00kFtYH7WOTtZ*qL!vFwy zhJjG`)`(hrdRZQ2q$Xdt{ebvBnOVV*R6}XBFL_ta@wg0#MYyih#vA3EnqJf7Pb9<$ zP!z#18>D!BOM?KnK@mmcU)O)|G)yZQ*paP`&V5S+Z)Mug(ev`r5|`hV)A;Pqe49N> zx(OvxUC!Hh&_MJv>YsW*`ahI6Tr4uGA5uv3fZf9s*V0C-J$6bm7r)n_XlOWN{QG z5JfxC4`iBV@pKDX`%5Xlyx3=kDInyotK}MFK#>NBps6XsFuF@DT1JRLKWS?@IMiu9 zm*hAiuTvrkEQtL=tsu*fB^S1puLn+Nh|J6tCgSz{wP$@$;T|*mxXIxL3uOESZpmH=)fHmnP>YF;2MqZC|5Vs}(*acdQ+r#kx=IUFm~c<8&evP3=yr zI>*9$0#1l#8QmwZSsjP)%c`Q*fznS;B>MPT4}-Y+jnPz?oQ41%A|0*f|>}B#?O~vTbxX+-|1Kvxz}t&uCQ2xO$aSpUIR9FtJT#xGJWh> z(*>1MVQpdN_x7+vpMLW^d{f z^V5Ze^QIb9UCUT$f7q%}be}-Om5oR3lPgDXeMnU>e~-?HegRkAc1YJg0BJ2gaD7nU zt~_yidFoC0d;s**ELsFJoOR~Q@Aomj9W+K(LRnCRzu{wzj2m~JC3T{<&_wntTfLv? z!&*TaDl?0bBaMtpX|=XXa);)$vh=}3Ted_ff-ZZzrNZk3ZpiOJ2!_WDRYm=SF zHt;GD(Sz#gWyV~FYk6!O&YarK3R=ch^^alTyDk|_V5|gECluW?&aHg&M86;g&|-DB zM;H1J#4^eX5RXmqwEa5V+142Y+Tvidwe{el$Iz8G`$2 zFkM4GrjNiYNze@xQvd7XmlQQg0hq7;w>u$f*LmA64(1ql=+V4)=%!O*S?eS*s{c&h zG>eTWiJ7~)=8!9{h{$W+sQ4@abjNP1yIqmUEXwv_^szH;e&2Hf&sfS0HFzte6IDW` zssx|x*eG?KiDc3(<$khVO^@wLi|St55cz^`DS#!Qjnc~C7)62t-t@I1?iiSyJdo;^ zW^Jx2n!`0*1b{IE^G!x>B(;o(^k~TNnZr*9rVxD4wcr_AXQPs&4pT0{x3y-kisLBm zF0EV4%`5l6gFAVJTkdS;F@GS+%Dl@Z1WST5PW=r`$D<>L1cWgUhh*zoV%JV^2@Yml zz?C?D9(|N!)XG5K`kWmYUw=DsK^pKfq=`L=bzHCeU?IqwjVoZUFnR={2n5;yfmr^w zw`YS687=SW95~2PY3>>9;oBVBTX!wrmYU91>hf;F9(K>1yBkF%MJ`C0`cl=s>8%$r zuFkHI(pFo=IzhHIZFnD4jXd0ZKgsD_-Co)NppklYr}+Ks9bQ!MvSxatnTF(%&3bj9 z4w8ZKHYt?!@Vynb(5LQZVAP-n8I^|x2J2>T6qE%o*a>%a5%{!imB|AcGq zCN_4$x+4cMa#{z^5UoB0ROR9+4Q7Jh!MBvu_lAysYIoO^G^vgFJjehP@e?zvN8)3cPDfijI503;@UD`6PRj$02 z)y99W{J#AD6ZsH%Y;GP`afu@}e6cYy z5zfT>ollsv0=jPqqIj9~D8ch+7%Q6aFF;Y;;bNntlS3zyDaY#``(5x_66fRdaI^T- zaxg9-;Glug?fScraya0*0(GGHqnrGa&3rqKBprs-m>>7}zl*Kj;2139XozQl-CKm+ zQ^lz#5T$)G_2cwl<<%DklHzKEjQ5Fw!sFqD5%OWSy~^B{Ed<+89spJE!XA-JUc$c< z0sRAUz~=lLQb5T3$+_WhL;o81Yay+q`=IHy7>&s}mLo*{3|)TfxF$V@|E+;sm+Ia$ zRz;u9F2yxw6JveB^V5vGzU^e-4U*HKm0AJF72qnjd)V8uVzixU2V(rHEJ(Ux+S9tPnR z;t|RNx-LNg&t9-^{Gqd(DX>%>ac5DP)f+m2#|qWQo^kOeJX&4H)Mq>}Pkdq|ubl{! zn~zNKz^bg)`oreM{x0n8qGO;7*Sa$Yw558N(>U!%F?E=^6)OWFB|9UIpZ(#AVS@M{ zvav~$Z!NCh-HTFkcvQ)4VhPTK&TXKG_(mnR_e-`TRxZM+ui}~5o)13*>oU5neOu$R z$x9R9i^VZf3kg+=WPOlL9k5s%S{&5zR{~6uB%Sr`bwj`j7(2dAsAF)mV7IGmFD6lF zUL0>zv!y*GUh>xP7g+;*GD~`yAb{}VX;^VoyGMrB{&bSh**pn@ugUYPGTub_f8kijX`TS$n!)bD5SOrUj8Kn zAvZZ~j*{S!M@Ny5eMLGDdb+&FUTKdTfT@vmc7ANIxD5dNT-&=@oC}`w)EVSY z%x8dI@7UN9?*N3}lpWU>menhJ!f#Lw;NG_l}+)Jt`L- z1u199=!p$Zg^zB#(vK3_5CVd?wAdnq#*jctzwb5_e2yaKQO;L5k7^{=6wd&53G^3a ze4*UE#SM{V1g zc9$q(EY6F1t`RqU%3Ni5#|XLU4x_RCa=@WAlRX8l7MbW9C^$IaFEat6Gqc`jX8i6YJ7nx^$1uqpio@77!7{RRHCqYChg@+I8!!&0wt+;Hr zbl>`;Ih($oy0PJNV<(Ou4(In!8oFi}JlESBr*}xNLiiCi;)Da!N4I#RzBMX> zN9awUJVQ>>JC% zmkZPC6h4RaE(MB~rFH^8AbiS&PCH=qqE~CWpcb3?`oNk}9M?B9FvBk{G5uDS8^UA) z$)J>Ca|S@|lVDH3&;4N>7G)-UudXHbl_wQxN#$pqze^XiD_j+Hi27|GBk@}+tVWmo zM_X()V%jfT+3khY%TivyGVy$0dC(4NONfZAcZp72uvrhOv5uDtcXmc4|cgpqcHEw$Plp1Y@d`f^w1( z-O_6wTb1;#kT0Y>yLZi(dEm(O-6f3amFVRxiVf*kDrL8CbPAY?L<%BllG%LAsHXi| z11tSH0*~~0kS$OXIhXieON9>W)Y%-n9*pnQtU5GnIPn>uo&Uzis0THKsn}5tBHtD# z1#pi;MOqv^3S5B|1~r34eou~P>FgPj4Q_#T+?UomaK_qSjblN~`zypAb(HEKrgMHB z>mQU|8bsRbFv2b0o}78X8n|1I@g2r%vjQL!Dn_=t+`TaFLjn$PZ~z2zvC?z49Ev9tpXzkpu8n~#Du^PM zMwXSb{ONvh5xvix++dXth;KWmV7tswk`Fro!<8Lw0-H@K=^orrTI)M+;ck|gLObX* zT9gC)@pjG*;72?tn%F@)oCJb{#^cj-x#M;lYK`NbP*5ZzXn_)~?FL-o)SDca7@&buCCTl+UwLo(1e;o%-RVtHv zv|48M=e}QIuo-G{G=lq0pm&bUiJo}|4#dySR>AM+j`^S4uEBZ+5RB@gn;5JSmcEZ1 zRT2(fi~M0a6S`#K6@;$?@G_ZGMG+qW=UO+Mqn z5dzvF0z6KN&#|il932=hCYh~l--2C7{q<{FVGBvx>I_@qF+^yvWJ5=u1<81zcg=#j z#vj(_kLm@zG4~VLVs|yG7xzpx@|+Wt^Y#{@wmX#Rj~GzaTMjE8y0KMRIB#rXf;BFc zS=QGJWu;l8AIY%}hrjpg6w^p1CS6@jtdA}qDqf^?wsM!7+dEk!FQpJhgK^^))fyjR zSJK|*xt-M7(cBZYU_Exg@%LXo7e`GTCv{e|`~v3tA|>oP_F4l*gOo@r`JYGfXdYtC zTMe50+Lc6r;hpF6T_4$qnzV;Wu0N9<2k5s(QKf7&awKXuu5R_2dD#+l>ugq#A+-)@ zk#aXVWNt%9=(8Jf9^>36oT-{q=v^(RQv+0S#;HOllk;}L+#=-kXB_#Sx< z;XYR0X-LMWYX#A+8;lIQC+#ni+g>ayCqCSBSTE&Y+%4i5%DWTyJ0!7^x#~Q@Ozl^7Y{@nQ1#Gyh!kWcJHD6cm&cUsw zt)i-$VD>_;S?SbNN5L``7R}6Q0~QR?sT8@@dkb>{RnJ8=A;G=Gex>cK)TrRD1n|!?OVo^#*T%Sil5zz*CuUFTWdNC}*?Y zrlX`4=-@a3aHJvNUvJF+G}k6vqN+Cr9ALvv-yxjS4O*D`$1^>uh~Ckt3UpYFlUiaC z7?tpZk{*yF5}ZoTPP68w^?xyU-a$?M>$;~XQ4tW3-kXRtX`!QtbO8lvp-SkXcStCL z(rctwX(A=G5PA_qC-f3}@4ZMze>Z#YduHz0XWzN!%q?^OT5B?y$x0^c`>yZ%KF{ZI zA1>x5Me@s^(=*tNSciI}t^)<1^FcxLG2V9^SnOjeDEG7&g-%X;aLbE?sKbrw7D0K& za&n2Mvo&(u&SS9+!p6bbB$T#i9#eoqj46K@zRS_!16W$_Qn^7PYJX`Zlvh+wo=7L5 zZFW5ubst3Z)kn;`eql5?Z^7o_B#jn%-?LmbZo78(W?1yn%RwJ%6%T)5xiuunt+gWk7Sp*1qp`M<%%b99 zAc2e3uemqS4>&uyy5Oj+b!qijxAmyH^(H5Iv0}?(OX$=n^Zub#<2uJYg2iIL-<3#R zQ1d~cmOaaZzax`Oh$HdE{%yU` z$#0QXgsi-gsb^+y2}@R*&MwHKxJ-SS&_N)n9JoTL{=D39U_I*_9pj+ZlRlC*KfBNO zI&@XX-tf~;M!n>`Mw~@(f8D7wT9HBYyBgt~<@2$6Z)QzD8X{9FgRxTbw9q*Dxvbst z$^KiOj>q7LNg?Vs2ZJ){$@rujNQspO|Z$KgA zk@|<{Hrf0HQe+^dtn3A~{%(;70rYb{QV1u+lDBahMn_CA|9$bXvjY;~4u}W6ls>m5 z9}bq{k!sd=GY)0DO2(oTSVWy2o@-Z_DhX9=tjDUXLej7mCCa+Un0mR*hb9SyBSWf) zC>@_;cN*D`9c};`5(=d=1WCCjH(KFUwm4UKy4|rMZRQpW*p$<)az`bn4{u7&+!HWY z;)jsMh>1HZhJ;JR5p%)He!bCmn{=w4;N>7T&Dc8W!R`M2?Npg$9S<9Hr6tRfQiUH) z)oyksq-r^S1Cr6d^kVdof)NEDuE3aJo(@j9z~xCHx~Kii9y7-rP(L~GWi4E~6c zS?5Bxf)eD+vVv+$F>){f#b<*IjcfLhlGW3WLT1Ehj#+Do!+YO{5}$TjzU=CL44?dj zpF>;xNjKQ{rsd6w|&F>saD&Fo%h09v@%mv(LC1FLp4tA znLbv-Xi9P4YYvD_x5>8S@?o~z!e0ZlcpN)ZBE_P9TI?uTNYQ?O^G<4PW;d z!~U+DdwtmD`s!GR0HU#r1^e(J0vm42DhX~69p&!HM0*V()_pv#f>!aa|0AAIpf~X2^a{A?X zor<0TWb?~CXa9NRRMz>anSjaA#EUc0+&B$D;_I=UU)Yygnr-uMRz(bYR+(kH#71RW zev2cTELq+k7L_#SbQsjl3%9PS<1>+&>=v`=m}rJMx4Y(I<9m zzI-O2H&nRxBvqoJT=xFCzyz?;`l(u(9Vb)AG$nB!E?Jqx+l|%sMNZ(Ktj8jAoAnI` z0ya;so;tS3(c1sW?D_!xO zbWe6_YZiulWgT-Y$NgM7aT{%dHTDG^D>E4^sG z?TrsdpWf;vRMmdjuFHO@RpyQH3$!|MKtbNgF(efVIdLO@#*4LMV#-+e9?7p?ez!V` zm(JqlkX-ZH5Qq*{gKEV6qH*%8W#AL)O*T3oRN~XlcG>}fu{xE6pPtMczJLfw~FE;MrE{2WOn+<1?na0p#bC%9zkTd{yQ_7cw#gMDyRW<^LMHNk>~cUfi@fLDRchtGpcC-Fw2 z`QLx`tYnLaP!gK8Q2=B0ZDYgyWSffhT>}WoJL_pa7>UlkkU!@R_{#4BZ|CX|YA-k; z)r)hH;vFD2yn~_JyFz!0sIP3L}(^#jC=tg?=b*T;&*&9sF$GQ&V!ua~Wvq$2_7AEUCk;0g&=rAh1 z0Ol{${jG@{UGI=4o$ZCWhZHs9rCQc-?+P|levF$(H7qb5^LFmcvg&bFbCiGZ;X*{+9;GmveVf7rQqX8c}`eYdJX z4GWrP++s9lczpP=JC}*mrflJNH+sO0owt(oq`#xtP{1pSSM}}|+LWc?l-jYb=tRXs zPIjDxfgtNTIf}T`cQv)r+XWJWy4<#XtuHCR@b#B*Opj0CdMMx7g7=C*&u+Y7MDyIy z0J*cY=UipmcP4)`p9LA|wB_5o%#`2eifi`*K3q6yFsWwHg7Zo4ejFh6HYd|K^cS0W zTY$0vCGGTz#vzQG(Ue)W-59Tfck9(ay~L$@Kgrkju7l{-vk-5NgounHl^ zOIa5KM#5qthEj3ZI_Q@oZ9`Rh9Zjmc8-X92~8FJwO-|q;M=cC*Y8eY2%lQ+&Ln>Z zPNV}Br0;uOU`8)zhyyrT+)5-I3k1Ix^1hFF6%2_IR^Ul;sG9TtPDf1p6LcHCgMBNZ9Ltt9Oqr5A}IeaE#;rmuZJNAimcXz1z`_j3x1rzIv6rAxrTMwMoo$Q8SV z#%6+(mpE09&Tw(LNKId?=wG7&F%M zXUf9%QfdpI1Lh~g>6slu>gPAQ4lk8c;IWEc@&!x1aY8D+gbMwP%=Cd#%6_IXIXw#D zS9%@C#%1s>=GD9&1rCN*Yd1Fu@vBt7-8N_YQ_qIUGO0w5d701xHz~bWCbdEbc#=PS zDZiF2|G>OKtZ&jJE#E%jrBY)=SM-xTLULQ^y-$mN6uvO{0W+-LTFhZIEj7iU8_U)@ z7xu_1OM5M0wPMbrpuT5nj<}Zj98Y!f;!Hg(eo>J$(rNi@xXEboV!YlpTf3lQdDcLt z#cm&L*KQoXQrQhO=#^RRi1=FPce-fW=grl1Y2RQhR>mjX+H~?lW^IW)IYByIoOWZ_ zE5i22`moSU~Oa}VxRgck$lAuG|p>0Cr5oF7c{S!}6TI_^5M+nJ41GI-xS9ULk?S_s$G z3)&Pb$8C%88h*r&>`UF*f_{|yq2KWmBvCslHAxfpAwLOW@8I}CF&U_UD1|*C_!pi9E-sb~owtRfK^SO0>#*W` zy=`7>1@GyKfsZU2oia>a1m(T6lW+sIp)f7V@EJs*XQQ{q`d_S-Baz8M7hKlTY>uNelpJ&%#Enu)_|*V^YPd}3I0a9&2r}2m zSx#`R&eii;`0aAohf}elx`;w5?|aLY-S#r0<5I zV^?MvCN`)qQ0h=q`ozp9P9%zj$L(16Va%J)3IWpW`5!8KGk?&N9kN4!qFVYlR8)`k zmC4FK7N^bT!1udg%1nKRk@Xq0fYlR`2s0)>>JK%)B^tiHI=_Vd$S#mL?0pUUx|o~M zGn&G<%)!>xt~=8d-+*@8eYpL^w3s-W zmn&i~rp&v{a5?$9X)56Q+z7cRQBKfqQ4SD3i_)>mqU?%(-Vh8V+!I(6z;2Y}=ic!q zcD&IOrnao|v*Xj^#=@1|CFjM)Z>hY8SQZyKO99$mmDV{KwmGTm+a!0U z-4je!cI-9*=$0FDrt7QAz}0zCm@8(})$$O_GgWAhz()L+>fKNujeOC3(~tc zcO(DFRq@Xc=#R3z6<>VL8Fuk@>U=C%Ic-Sm5xp^{z-iFJOQ|f6ov-m_ z|9)Jp;Aps3YR&s7IfC5<>KlZ^w2*m9cT#;w|NL<6EimLnz*~&Pj%hP)=%;t($0BE= zJ5>0lT0}nULW<%XA1$ZiDURDO0ZZsO@`-MHXUerl81p-VBIV1t&}a5NC%?^T~S;>=YhCUUlZY-XMg}(o zotxPr{Wy6|@&)Twx^3rl8Tcym{l?k3!AT~!fK#X4ZnJ)c5t-r;`Rndh<(Bd-`fU!U zYX|u9?0`;v9K{~9b(icpJ961JB7ckd-W`wWk==2Jt*a#LuTs{HR_RCJeLa7J5;;^j zaUPWYI+j&}*>(R8?6FwH>vPUT1yj7!wg=6y1mw4x$t%+A(+yQ_h^}ODjhaB=6Ucwr zM4-8985&2{x}Axw;zHu3C1psb{^+Xz<(>`*C@S8P;t`+pqDVyc+Y`N+jdM)SzV(EYo^38@4#$v4=4!PT z$~+JMzk~PriTzDa{(-yu*CK$tf4X)5b-UvK|5yJ*z_A5dizI-d^+wFd{sptpa!NAk z{5h4U+N#sIwbTIbK61J5yobeDw4Qvu=url~_{X+adTTO#Z(Q6a-Ls144qU5t&bN<^ z4SK75rH@7>tmRi7TR9vglCKN)NTA6QyHjfHJ<(QKs~r|Hn5eIE;7QQ&`B9C4qCI{R ztjYmZ4P+fv;V6&29SNq^BT_pj9dKnyFyJfjmWc~MVN|i57I{C9ln4Iar?C15Q|F~3 zcQ8Wf7kspV2Vw93AlW$3vit1Jl3BxB9wXl8;h}`}Qoc`35RDlEJnTU07Iz%Mo*Z6O zCyXh-7Hb*uxa&(}%H9Goe9GElt6P3rq^3f@J?!v{K^Ex8llJ_5DUyeOa^2kOX`WAb zEBh7k-110!b72cUz;xp0m`dItLO*7qT=vRQT!Xai!3>YXzysPk`tszxH0r8Y0mfjG zdH@8pu{E~nf1ARU3{=xC0>5PS(T2=OvvdSjPf(ZClo$w0(Klpo6{(DvQ080YATc z&{z;ZC-rXIW^Y>iaPet}M^WR|aVxoR&KLO06QUrzN6OE4pl4f;^EHr&pM$hlHML1o zb;f`&c+lhz)O6N9B-;~}kRy|@GEc^L>hKfE*dzOemKYw^L;SfbP@LL(vWR5GE% zx6ce_ylbAVaH4cdmOB4o$J`1We{pxPkq%dV6FXO88r^20{JoT%N1r@dMN~FzDaU&7 zly&wEmt9>fi;_hgI$rw53J)}g274{Hkj@+~F4dr&nvPakTqma{XMQEiHPN3=l*(V3m8lbq91A6`XnOlGCk^@giwce*?r5DK=$W0!drPVFbMU(zbHLtrg`D?Z!2s zsnU{r4_z;VR9Mo?{_~w2qpkPZzo+cq+eF9=u7kZR_;Y^XX)V?82r%|2M-AvT$T-8P z0jT{rZ`IDWe_a>;yAJ#ontHu10M0t6g!#6t?fVdrXF9=cjthdicfm zQ9wM1NXwa#2iMQ59knb}XqioVdxm>DKG~Aq`0QTs?X6zlNWIfV)};J}_rlX`HH_M0 zvx?+eQ7@Fej<*c^aX(ykknzw)q_O@>`DXDJL0r$uM*bb0v=T!EN3>&hSt|z)BlOcl zbl-M&>it@#q7pMt*Tys8US2bQuz__j&@qpLj-OrGA?xrp{^2{{=F*B+J#>DUvkaa@ zMSfadqAXjcu2qcZ*!KtZZJjsCy|aO@k3Nfth!1sfTKV|1dnv58n`Q2HX3dq^v~(*g z9O)S^lBx?b=(n$YpC}SbT{*I_!VXbJFiZ4KF>2>=26Iy zxvQs>?L0UXe7ro}o$AC|E?ljk5swS7(T#{@mw?IEL}cFQE)SR{D!imBi@{4(e+&?^VCgMTd+7?lGJ5r>Y_5- z$Y4|oK-E`wBaJlfFR+k&ktFQT}cz7 zg?OF_%e4nT*w2*e_c!@7?1sv(+Np81He-PIu2z7VV7;Igzk}Eb+ZDSb5a7AHmG6$S zqsMuUB%MzM6QGZ5)Q^0PnNMxguvms1nNS{=GzSMNyR!(@)~yu0oz;S_i`$rMj%cUP z?z#qHpyhmPgcD?p1r)N9W`APuaAqUy@?j%D}H<@0{(ZhqY@T_Vi2gdZqpx z5j{~`FqaH5K3O7dzAn@I{(e3V)xWo`P~&M9*81WV0z$(l{J?V)`C;=-v(_TI zIcTHO#)R0hFrIYh4LVsIG|Gw+#c9)U-?OF*T2V9P`QUN<%9w?LG!wLuoaOxO`l`I& zu#u|XVa1iCNjxIn@#;wfB^&nXn876KaIqOKN8Cc6AZC4b%uTF$YFOePH>Z41jeilIF}Q@%&T4@l1`;dC>2HiP@yL*{WBdb*xCfW>T|4)tQl= zbZR=5GXk!19>Fp+karQ*2Wzdh^cPoqYAU@|BEx?s(>$W-M}z$Y?^I-$z^Q}LFWNM<-h{!7fff)zORiL-m9$Ma zPt{FAOX)ZZq^?nK@|Y68jZ~q(w#lUNk%!X6#-CRQ&-iR8E}bhBXp&^68eBP;cgYe8 zr1YE&B^xQnx1MRy95bfbi;NW|w(#>59{W>wJwxc#8Le|2HK!!BcoJf6Qj!N7cOcl| zgK?Ygt)Vy{Jvqh|UWr?$SE!BamlY&|j8bE&gr*z{^h84%akeIz8b9ExNLqW^(%{o- z5vf$T(xszSa=jRa)4Axa{3W8cJ_G+nABRNoh*dU|1d^XyFG?d`Ik%rXW|!2QOs}p8 ztz1WT67{wlFjOBtEe0!)lrV|@_|+W{fX&F3-z9I&Z_7?BoZ-?c_n|;kt!FDbT@YD6 zyOxO7X}&_FGbTFRe}fy6e)$2O{&>TC z1&&P3^o{NAT&e3BS^2%XnWbISL#G_J&%fL)$C5j|CG#tu-??;SHq-4OEdN9yT|Cnq z&`0&WY_n%m0PIFE=XK&*&BGA|dR`g9=?ZX?c5n0;-g+!Z<;rpLe!WZzHyy9Q|>Rk*HHJit<)Y^&P2%i15%cXjFKJXv;&^c zPj%N279jz1h|yx;#|Hv(RAC~K@I%0mHybB42g0K8yWwMmu!GP(zpI@cKSweBXuLPo zvR0p>96w1vz~^|tA}9Z~f=am19NcH2?p;-FU7kx39oR>Th3r1)H`WlzSZ7_^_0oir z5Dkurf&TJ$^NniE;Y!@6;`Lwr(0R4^>veCtr1|wq^HhIX`f#3AF{Hy%CmR!g61@0> zs_ChXNeMm}XEd(mMC< z=Tgs5DT9LP?;J=3%iVePnCB8`p?o7D>CHjK)TFV_$L6?X)2?Ao@3+zveqU~%?Sh=< zk6&;W8?Q?IraItUHuB-HSQh06uQcuqS^}APKF=FZZA?aKJ)K0?Rn1YQP+62l8H>*G zPT-6$8H*~?6Cs^a(@oAf zI=YS!_lu_CPlHGEbNt*!*?!ce-9iYFZG+?H`!5$cvj99&QU_AxsELkLOaRGcnPrvA zUOpXDbmli@yKGj{M`B-hC+zMtwf0SS-m2`i@QU$R9?B&}G%IMsbU_17wMGr>zV7|1 zr?!ha2S$J1t$5yM%DgiMfKT6bKV=PB)|{G|X7jELp1*ytt57^9W+Q%L)H9la4DcU# zl1<2;Sgi1Hy0o?Pls2JD*}lPieQOnQ>JGgYP&rCE5nYrc?Ko-VSq(NoC{4{RK1!}y zs!8Zm!J=GU&bE$yXK0En<06~$l!4EQ!7>pPDI_(n&4g7wf6kpb?+S+hAs@<%iC z2|w#i&|{@k5`_)KzSgm`g|Xh0Uw=2`r})9k{2@}jmPMJ}zC6h~;Z z3?46wCI@*E<=0|D~IV)#m;-IHbnr&_W*yH>= zRNY+7p6R+Qlq;2jM&KF-zH9usM(&9%56w8!{y5oe&-3Y6)NDYMOy)*S4Q~g)B&MgE zMp}7>Xk4?70+}YdU9F1FY%69>>mOXC%=iM%NOag8GCI}qeWOcj6lq0F!-Y(+bdErF zbcy92^5J(#WbOG9JZA93NJfw>YL8R{>K&YytB!T*gnc%Lf|8r6NhP{|cGs$nRH{s> znX0hsKl!btR{aF8~ zZ$QIrx~CdAIKSH~Iu6@?Ic+4VKe;dEv0WjIL}VjKqN76@?ilvA`vwv12}?4ckRi^( zU9ia)$%Oo#qPG z%#tGg4Tb8>8XCLS1yvcWF}pejiwlErUzQ`WIsSF|2PfO%i=f5}iCKqJ zRZ%{h(5{9-63FY=4QbaMb?>iI-g@?pB7T=7hUk;?U2H_C5pCZl)#HE=K%80XjALEz z;|_|4pOUY$oHM~w{;{%FVGOyV}&C3Y(Ts%{q&ap6Z?7M)IA3(&StA3 z{GiK;)UGyX_l8<7R~94C$o{;y$=(wmEeXU3K-Gh#xW zynk-`n|>(oDDRuj^dxs5&Tr!`oDKDTcwCju=-OjR;*@=0<8UF9KbI$xoY%8aZW1Xj z_C;-*mXk2;>y3w&StrQEJ)6a%&^l@A&z}fp)<7~TI-&=3`6;7eY|sMf5cD7LVot!H z?9MyYVD*K`=Z=G{`1@RjK3K|V^u!POch!n1o~*ZJq#2#KkSgq36*~@_M6Wv@#CG=i zNxBf32W#XJHnAeO^7eO{mLYO3$6Uu)C!`{*G&DPD)lcRVS*lFua-D;VvwX|e#ctl$ zjDF05+XfPxifZm46UOJTnXhWIJt#9)PwX^nUn+U`h0_5i3}mS*W}tiOeibom?P|w7 zz;yFUGKsFKI4mNLa%EdFy3_gy12dQlF=HrgRp2N!h|6EykX6@2r)!z81g{P(Ie%d5 z>W_aEy2g9`hM6(*PtmEzmfyK{^IP<%WkxxIp7kEOwSFV(izS*$Wk#E;1_q3BayLq1 z77*S((ypi)7b3QV#o-Tc7E=-#y*^iW>BdE6353YIH@#O43sg6PzW?87-8iN1=Lh1I?he zLR=xZ6KPpr^8&PW(29(6($+FboW(0+-)ggv_AWE{n46%^k=+%?s--v>{`^0OLW^ww zK|3=YAl#+h!V(2i;9aEdIhJIHqNSkfFJHcv`}_^e*3(MxbU>uETU^9rn;zfYv*p(v z&&d?tO#0DH4?Kqo%Vh(L6-G0HI-$?q*g|JPhigu;Pw!OP0Sf(_v-;MMmYl zZWLzwfGRiFDF&j0EgNBU;)-*RAnZ4HHdO-?x)TiwEYo|G9xY>}xp+5H$QgW%@E{HN zE_;Wzw-fDMt|9z$GxJA2r})tHNwGoqa0qCmT6GJL*~&^(yInMXDpJKdrW3Brp>Etw z`stBhu8}2jxc!A?S&;1}ylB!OY=#>eSKZ-t~~P$%}>e&V8|plM;)PnjqSp zQTYH17LpH)qoVcOLtf|m!DOp7^H~wM8TJgz7sI9U4{M)TisdESWqb6je1OjRf6Om7 zG33)!rseQ@l{hT?l9+k9R@z(wZ@H@Fk!MTH8NPj&(XWR|>cLOm?3~nESFHsZk5yIQ zll>tp8;R|Z(K`V4tXlNz2N%4}qLY(caV zSC5nb=tw*RfNeWpRr(Cx^dcpe5NB9{{^`%TEZHdGUl~2|$x-Hie zcZH=Cyua{jmIA}i4)^r|WPuo1LcPvUf9|Cd92TZiV2G!oM%w}?uE*Kl~? zLb>2af8iDH0^DM@E;ts7geSjiwY%6rmR;X}t4Q|*cJ+AmvKj^B*T?jk0{YnJ&*$MvYy z)^I6~qGo})Z%_U_>v&{o-*~_1^Ouf6>*kiY>jJkgi_?p9h&g#N2ACLpP?{_z-y+$0 zq?B6mM%sa`b3c(1SG5%){y6%UYd(R0la7?I-+$vJOb(_}TSI+zU6MQjxHo;NOXZk) zdCoU{26qlCNzfhJ+*&H0{x=SQ&tT5uk!0DTg;9KB?Xv(jD^0d5I|;tRXXJW7$^NCV zpGfn2zUgRIX|`^KBjT{o67XeYGW#E8Kuqq7p^=g2ljRn%f8!RxoNV5zt1xM`gWh*} z{U|P!oaW9DL~xZuQa8m0q)F{Y06igVx;W*d#28SYMn9~o#tgKYVLES8wHH$mjExBx z^FLR?E;U?E(pmJp_sEnOWOhj6;QI&%M1;0MD*=<|kbnuw#57RY!%s;2fxI!Ni43l` z_d_BD>zD47g@xqWIMmy}RqcPA8v4W?b-)gf+BY6<$b7x=oDDepyLbIx41tJOL6f3l zF(kGpgz7tg^SAdYw<O2^k(n=7l{%7{wn@YaB_*d z12$enfF}QO7^V!zF*OrA-j=#CXd&%YOb8!-0tz_RKy2CqT2kg(3yPP}8=DM^l6*P9rVEz2r=GXO@Li#z*dBst6#}lwnwht(N*QM7# zzWij}mH+D`ws(*R2fa-gfPuys51iVJQZgz~?#eM}&70G)b}frenEKu|Uy@aMci*%D zVHzDY2SHiY+7@}*>ok{ayODm@`y~1cV@2hK?57KUS82f49odg6V4vW9@-NUrq{YNc z-ghKd%4K}ed9#GXUKaH)2Bw?u*Ehl+2B3LcJ7T-$Na4tV&Z!3UUiO3@YOYcOvk?}w zqC#p5NX&}sbYHK+Z8?V8Uyus7zM!PdM*OrS8iCBvcgtk!U*>kpe&KZa9_flHYUXc4DDASJ!(I`P5;$PRur(@AD)hXh`ra6RPNSkcVe$ceRb&UBe*? zY-cLQnwv=ml?NHr?6>Y#MegXXL3){B{b;`%vMQa#Q0FImg^>pia&dYHpPk8y75B?` zl^%Cz7(3vqQViVHaq^Y_;{W|WD1(IlF|K6!TkhUh-0SnE6X|mcQT77?&WI(<*2VEU z2jr>1T-oRh*6Ae<7dho18Q9NF3(F_Wl zn{U0!tHIT!%Gb(hoFFzo81{T)N^TgKVb18*%ULa@S^%q-F3sVH$~=saRcm)@z(+XQ z5~rV1_Dg0=ZEf4V{!eoZ5b+xPzWM3R)e53EY4F!4-IX^AVQ&M7K|7tR`&Mqc-`_@c z)_u55K>AIOaKfQ@_}p`k7zzfhIja~?tlcWI#nb3`%lk~blTT6z2P%D)YNd9Ita|l2 z&bVX!+y_8DgVTJ%vBEp5g4Jt2F(|$X3~OIZb*uednhR?IJb1 zQelG+j+;}lTGJ_~K;;^ydXmsxH5MB5v`is=^45=OI;X{4dAdM8xC-6i3jTH-c_^)yg%NUALliDl_piBgD_BW;960=Oa7Z9as8S7eN zvgrF_asG|f{t51 zdv08gPya+KFo9*c!uS1*+$5#5xl%Q27$`F)zQ!EB#)TX7GqQcL$xlbF9Cpf7d_;~n zcE6sc2O4a?NCdc@5n@Oq+dFUBNTnkf!VyMvuY%wb8E|BRdr|6%Xj@vIvRDCppX?s# zy!I37zmJM=+bi8eq)lbu46l67w|RrCX#mYf>!|q=zu25QIv_hKQ5VprrjAu z!6mDK!jsu+l0Rw!o@UqL&$+UyN|2yg>K#{mvJJ1?Sz`;05acDRT zNW}jtGoj8F+PBJX*&w5*7OmyYVP;MJ0a5vSndi&lXa+%5 z3-J`u>_GDUJMOl>CWA@VWMkO|r(v4NEXIk0@<=x#Paet4QI^5$B!IX^ZrzpWKz2jPEdOZfs5!cw4qi>w~vAiFd zU!Nc3p5F30Qy;U{#fYxgUt9R>omS&A2RMsNi%FzqZ>U7}e~BEPD@?X{!>=B2ts4E+XWsL9foljx|8~lJo50=PJE2NZ7k<2d&z>7-ivER5uyTkj2 z7L_obJ6p^}72wNVFQ3QJ$n<^?>TZT1Eb|EO=hTFuUI(&c0bT=tj+!e~;P6P$8Qo(wzVCrFuyfA9$}&pfPOxqm2oehP5w08{UQ(ZZ0gwL4o-a+M^7&WsFF>}Y8WJRuyLLy z-F}!XV`O|zoHHaS6P9k;ITIwLDs7R@^L& zkn^W`@yPsONkHC+lZ|2sB<*liu*uAD(U08U3cUW_vGm0Gf2c11|DOH_puHiQVIy54 zk8xCGsVmNoTOOY$ia9Q#7nG9E88-rEc7itM^xVB*m*pmmt)kJx5;cbm6hQ$?ul9Q8 zi{C59UNuU)zMq9Dt8DCV?lNbeowCFi3Hj52>GX*GVord{O*pg|agCpc)JuJGN7S7p zhyFWgZKV|~ncw(7)03{MD#gbuO4M-)A}pd+b0xE>yZlFcKRg(XTEc|pXU?;6(p$L^ z-KA(w(oJE-2VWXn6W>MZePWTgQj3ejP&dHNIIp2W(+fV)uRA`V%8d z7^i6idpUWnc(nI!YK75Qq^p+=KK=&E48)2y6Wlu`&O(3^rRrE+RM3oZ;8vtD$P@cr z%8creB&3+@zASr<7ke@>1<-Z}naqBF>`nJ1*_}u9qj-dM>B|z=BCDlqw0&=TzdX{5 zh%-Oh?Yl=QA^xqdPue!tJrCFnsd?%t1qRTqEe1k3ViAlR}8)v+i zaNCm6hQ^#7PAH>I4P75QtP0f}$o>&(Jk=HtpOgE}0s2I=6>DmeW52GHe5hL(WiVg2 z>>kJOZP(#+skJ#*LAx+Db23W1@={J&oeKN*a@?k3et=mNdO>CoU=nzD8W2VXFs+=K zD5!A~rqpzrMkWWz_GYebhk@J#yre;+=Vox7Ftu{*R~uz%!`?ji8quA1?J+mbp8@oQK+Q}JE3mB`8Z zQ*3C6Azg)YJH&JwxL7La{biS6K3L_>=Td9isqOEHta{6VgKAkV7 zkAL$CzNPMX6Lfk4S4R~-M1pm7hf5F&{C3>;{=MQZ4Y$}NgwA^}cgd|Hst~AcK7TK< z%~A!GvCMhq3_y7td||Khix`+~TYNjMkjz6D#K=5S9_yOWHecX-lc)~bYtyJD4OCm*@#PaB)PgjZGRTA5>Z*LoB{-%+sdhDk>eTR0=T1oi{NhQSBw7uZoRZM zD)q{_w)y>Yv`%mT#jl~8Pee%~?F~MaGFr-9);!h~WZ}Jr)D8V+l&dmLtPbvn#V2oj zf_^bGtlW~3iG)JND^jx`>TV+j_^MuGF)TE!>$dSh^4M2Ul0zHyp;9zqfqBg~dvvUR z??a7*C1|?waNyh5Z;UI;-y+laGu1mp9gd&yihcURKKnRLH#fPYn|6-GmXy??Vxd2v zJWOG6RuGJfjqALO4rO7o=hMKK&H|afypZ#zQB#V_n2T{Zr{8KmrtrGFUQu~RSKp$) z`p!%?yz(|#^FW|*+3}1iviN-v5TA&LOd2&-@$@e|E0*XXaAhXMEL^C(%>_7z>;(;| zERAuJO+h+F9nm=hU!k{2y5z?CzTg#yn`+PHQfke!5`U6{2-}yY{ zw*ZqH>R5gZI(1cjy3wVt$2waQZ21FljW8b>;b_vbcu&t>PfaS`yXp>;cNdKDJXiIS z=R@sbV-V3NLB5s_u>w0XGYh|Oll;jkqCQq9Mi<*leg@SN-haYCe%kRTY*&=L_2zKy z?rdV8INM{_XifS!j;pJ!2_f0}d+VI_`z_uTwhts9(JA#5B$OdJt9~5B!QMqMkKhnF zw%l{ZR41F%%UVoJ62X=Ia(pmXg}=$TV%-h8#nTGj?88mYG#h6mVNh z)O?#r@O0GoXe%<)rn}g`sx#I4IF7`6_hC(RmpqkSF1+Af3M$&&cjoor4$ex3y-u`N z7LW2K)A-b#nUX)(lQFqBWD0D^@2%?KV%=RhKb$N1UfRaED7QA$ZoLZY5`VsDTwg3q zVDHKP-N?ScwdRCyHwJTALZ2#c~)P7rPlr0?YU5QA_QHDy3^QBWML z#Z;z`p)cUuxZR&w1W^xHufde_ii?@kttUxW% ztsOsjHMLw5r&h@C+0?>t3bo__@D{B3(KP-cP!R|wC!DszqySZpq&{)NZA<;~H< z9QEd{I`0$MyO#aW*_@yAVKGyT-BUniGe7w|$h14;tqKfGyjMzB1|!w0dw9OZy3Y!> zeV%7B{&@(S>x>b&c}-H*U{vh^^rI}_Wxdaer^<;3aMLocYfQpruQF*4XZ=X-F!zB5 zosvxUfRah|6d42G#W?@4b99Jva5i^+7!Va!XOi6Y9>rM^DOGF6OPa-C;p(nc83d#j z*3XvcfMc@~Qm6r~;$qEcs8i46HFMTA71L#i7KfMC(;e^G0hot_dq`$i3Ta1duIKgL z`AR>Mf#&#;t;4hM1At~roYf~W2h2tFgGnw}ph;E7CN=COlQi>AKM}dgWr0INJ!*eX z8ID%Sz~z;rTIrLEY-Fe$`i4-9nl2Y-_?|9**t?v0w6m;x=w$XjPBIV|SSogqG~v=a z5uYhiT$~n&|(=+*?4k(d~VsP$-n*P^3VR z1}#?HrBJ*;afi~N4IbQD3dIRl+=`b1!QF~maEfby;O_d|JkL4je&>77x$nLA`_{ed ztgMwanPkoE?3vlK=lB1~oT8KDsL#GZE2KQi1l#ljOM7AiP3eYbLaz~awiuwLi%Z}v zZj(Yd4&kmO#(1mOO?QN!i-FFp*kmG|M-MZZc zWPHX6$_F55+Dk?}1k&1ib3@NkPj&y+kyNM33&9#_+5uwqqa<$%Pa?FbQg`D2}JGXHn%1gvxkdbJB)vz*_;0< z?%Xz(?LLfg4$V)Extc1bqKS*WeMLpLdLKJ_XlUZ*GNXI!pv7XwZ79OjqH{<(8%Jq| z3!)jZiI!J5g+TShl3;!81F@u$SFVi4W7`_X0)~ZT0FLipu#O)W^VPB>Mx&3%jqiKd zVtX5vUx#xHt=efIL}%dk)TfP$dJ`OgAC<6eHZo95y{l*0kLmbl6WJe|}j z;pYV(nL$5IYXm;q(kv5qy#KSK7(?Xwa;S*n?0|ifK-pDEbdr_dVpj79mU|Onx7fSg)K)?)cwebqFLQ?jgXL>bF7NK+ zzRjVk4XYP|#1rMcd^20i&%vP_Uh`=O64++HIKjCLwwGn?Vt6Mn76@)Ajfwh%<3tbG zt$$gf5C%cqp|zX@5U}Iwma5a1kht`;KhrqivTpv&kL{9^x0-Bb7}fZE!7bgsD9dbo zoe(y&ZZiuC44{vlblu6{KW>qCcH?5`)@UJ1&at=6$?Q}yBeG`sX*gmRkcgb-5=S95{aN*jRvzJ5l}U9k72uAFj=9+4fCsX-}bAYW#?XY5QIIHK|FobEY{ ztb@sGtFctFbXrSbV6S^fn|}Qzu2H>M2=ZE{AvBs(jJ0DsgX7g3WNQ_rpp-4WlXsCb zEqK#`vo0-|6erPh(?ZQdi0!=%T9#y~)(B!j%QNx8rIz>B-t3FbX1EHTtEy`hMoOx~ zc|~j9rNMM|1Nc)HspgnwoFf5cT9q-58DS^9%Kdhw@5Uo{z!Ks|E3A@9`4EMi#as4s zqy3G4rZbfm8jllSjCxhu%Dn<*uP56iHo$g7iQJn!rJ@L)wlVFDujif3ltKmthf|0n z361=u>FfGjf)KQv#VOsO<0JKo-H+Q*+?s#33cI?;R$nWC8oruDl!v*1q9fSE}{ zxN5!D>v#5kY~|U&Msb+N+suEVDM?I084+z6Z05xsyrg2(JQ<0V?$iZgrfJBgXSSGnz3 zB6B@;_^E~d`SXrB_Pi_=(2zI-+;AGvx^(OTiacuS?mdg(4zir!3{f}(+r`MURmpz0z0QVA)?n`yDh=% zj{WB6d6Df*9?}<=Nbt?cuAkpvnpkYd^3YU;3Kkp40MB_uHEy@tX_@ajo>RQ6mV%mOHr|@2&5tGPmGJXt2-)$5rnK;$ose5UGOsRr1r^Lw)kMiqd z$cE?!PG$+Dl6m+44%t2AHO#pZtMXLLM}*Tb1bt~}(7%z02(q2xa5+`p6zh+i_)KeD z*cfAtvj%gTVurB*HTQSZrESIN=U~w>l-PSW=aARujQ~Ii?<{47FF0z=*9O|n5eco` zxqGPAZ1`H$acDlD{(66Up+;j3PxmDUr>`3Aq>l5f`8Q@Tr*FJ>dVXH;XTtZWIN+N- zSoNoqQ)J=#5Cnf>qyJ__&Pwi*g`NJKss35^eywfSl?KV;IhDS7bWxj zTC?s8k&0(V{xyzR-fm`?*j=_9kYrIHt!9F|m0Np|t`&Z!i&|ev6hDI#HeksM+&wIDR>OLo`@n?k`Gfb##LyNJ)S8&E8 zjHNNYW5!{}Zq+TWdZx*+*Do=2FXY^+<=r}hSD?>jRX)47&(H&eUD<0*S$nk+GgnDC zT1>P`wTqTxMitcA48KD7U0w;hI#bWyX?svutqn~d6)zzSC@mm&G%%I%ocHtref+5Z zG0ReLU(CO#oUST7D*6r@>U>Hrh@pVVrp*^XA(Jlp=0sVTgfp?D0>ckj)DSA+P>iq1DM31FewCNn|WKhMx4fXS zo5E?wEj3d&^nokLzBBud)N=l2GuGR6gtsy@RQmsK*5Ln3j^clXpiMk?GLystGl9W^ zDNHda2Wo}8YqW-E`Hp%ajv{Ra6Y|ra3XA?gbH#)aJg?MJC&w?>3`fIBl*jJ7KQv5HgJbBQl^PzVF*o-u*z>xI(y&eW1Vz@IR-2b!T?ndj_=n|9nx z9rE~z03Ql56MMblu*1FS_tjtTqOaG2j#oUaUTF`h@V$!~?Khc&ctr%Bp`S{K{hSg^ zh)k4edHEIvCU{!dFV*^O_Mun$wd?by48XHF?R+*emBM&c>8IN2G;=&b%y4d^(S9Y; z0%+5M8TAtaRGQVRtt<)QZL4-Yx|!X%5e4^%`bh3bVRP5RK)(_J>3)MqI9}=20(Q>t zT(0Gd2)e3awArPQ*ELB`S1gBT5}FfJ&`SBoRB7af;uPneycZo~0e#-Xo*4FtW8r!a$qAO0OSTdC&`{f)&<3YT{CNYl&Mv8%!{ttsskW!xwXw=>rpUH;z zN2E7DKy3#RC-*QlQ+uEDe7o$-u6Lck+ZFr`%%7D``)i7h3;l9E1b+q-WE$*j&rzQ@ zdX*eE%SHC+7Av!#>f66H8Gu*Q#|DhQJwjHL0+R(Ar}{9;Vstu2puQb1->tfwUbRMt z3=FM`_p*Fd*1K}VmV-@r3;Pi2Oc>!(_V#-4#5%luo_QhNtK)kz*ynoMH;!uv*xAcm zi9!_wowU!&EIg^uUA%RVM`BBhx5kOz+a*Z~1q@)-0;)zamMek=7rL$A$ROW=%R;JI$bu0;UOiIur#LZSJ&oscb*okB649&u?7fW6vq?lZ(NSj`aS*Yl03lsLt}cF8%=59i zPGC3X?em49EOLXNv+cE!9KH_dCv_bRLByl>Wjpe1{3r|cGvod$alUn#HP4TWk&=2q zm(rV>pOa_FOmS5yG@Hrz*upkZfIUukPxm2zva)p7isXDx0vL7~jRO~$(ZlTL=Bt2- z*?nE3lxDIt8Xd@H1p4g2Sl1k^h}D&m+)m<`OXj;LGxx$@R^|%C80L0r zw2TQG$b|2)u*I+~-`b`LoC42jT-KMwE+p|*!?`zuBor8^m z&H=aqkiAMIWjnD8_ASiTy2e|QVgp5_I5P0R+TeX>P$pK~YO0@nEqGuWMAZArCdO@| z-$Of#P$lHb$)bSJyeRg}!19ZN3}RO@H$N;5lDvYmu_Mu>ueX*~xZ77_ylQpDCRjB8 zgGq>OzT}0IMX)CwT`&R%-{Tb(<0EMaMaNxwzqelR z!h&cA&aK0pDELlzckk>NCqMSGL5tUD`3bpfh-1qqDwmzu5AmH%NpO!WT_Ba>5eNDe z;NBw6Ff{+`Hw3gLAO!_@z~&ehWY4RS14IRSeS*u#{tji4O7!Bzzob&*m+NH?4zlZI zdIYrUgCN7LXk-^JYpoK-WDUEjgnY+(Nz*TOTj#Jk(t2L0cARw53cih4_P8joICL!T zThjCr-Sye=e$-@HsLNs5$j>IlM%3q`L~Y@8E~~&T#NtHIGg92z+Wp~bcsMVv;6fyt zBNhglb2VJeAuRtIz6aM0&eUD>h9SSO;p%&|W)9sp`Qt{({3DyXn)Ccq_d^N_qrv+3 z7?%joMAg* z^n%|ngP+2hWJ9pQTCZ#lA&|29kzH4`#m1J3C*Lmxxv z=#qtiQB6I{STGUqetu|>$n&Lch$G59Y%|m)M5J-MPRRc>U#xqE{jyctnG8-FKF^~A z6*I`ah0=J9P=&H2DfRZFA|PRj&PH_iVCTQ&Oi1;Qcv~VZhPMk zei8r)Tk~WFcb(jAGb!cwfq;eV#gcq2J=0>}C0>h4h&w z8s?;`9`BcQsK+A@NS@8)9M2al%q+W7xB;tuxoJL92XcFR-NLeefutj=gIc7G!e#QU%-n|*(%CRg-EhrAl3dnE=WE$-XN zE^mQuFxI{s8`??wM0|R|U0d89d+m`5vyJjY@n&c8ZlGY$eZ17TpK0bFXx`h_TBVvx z3wMddc{#ol!mGy_SZ&{1+l%3JyQjgYZd6k>n{Dk1DY+Y7gtqI{qGIEh#`=Tv`5ntj z#V)EWBt$bz0TnxvdT6+408!Uv=bYx-P~kL|m_CD^PUWh-seXw`fZ-3`&OXE#H5GOV zLG5c4w=!<$#onRc(_!71o*^2?7HBOUspT=70Vz-Oa>phb|0+^EiS88=17rp1-EyXvKPfAZ)p9QB5Q^T zZSi*$#m3WzkM>KRY4~n9(hNp}X>2O3MZ3(`?2$ChxdnB*USA#7e5-z}Szb@$xKGL8 zM!OlDBn$8A*!kv(5)T4{0>5)!*_)pfW>u+2?@=Xe=_D3?MZk3^t(;!f*+Zb$X@#_@ zC$wFKxBTG~ni||=70`kHsJ@B>hpvlCT@|2Wv^RZyb!;h-67^QCHILxYEL+7j>)hRZ~uG3?0*8K>0h24ubOz?Se1eOBg~tlov1m0Ri7`( zeud(yp%4AiuVT7^R^h?%!#xdY$3+hnW>B~o4uNF%Jc;NNymv_y6m7pP?3Ys{r8xy0 z=6*aW{h%0dKy{E6cl+_Y38ZVM0`%D)-oB<6vSj%>^rcjYLKjAmDc`J+RdTq8cKP_% zzl6V`Bw9^J^+l)Tmc^=LH~OLd&(z%`*NJQS?@LLfPshxhuhJ-3*SYq~wR0vA{oKV3 z;yD;Y>u1wRsnWnP_toRXDvEiv&`3D4VZHA_m#37P%lQOjMR#{bh5z`%k@^|OBn(8D znD+ow@?>h<5;|AAwZ%*)+srK4%gj5~t9U-o6s#bB0RZQwz6Rg`$m>WpMTVJ%olzmQ z7V!)5NS%o-(D&7a;=@51m~uuR=qzksB&JrVcL+Ae7$+5!Kz63WMpHZMe8w6+5k4HZ zm?^Ks;3#ZofiYCOy=3y_bOt9z`bF}MP@E9w6zF~I`OnH#AI5pcsMY**=yZt*9F2BV zAug%wNPLQ~O>k)du^Pks;TRLC*K_rYDcX^B>^x-MFZAhxf$=x~MK!!k`IiouqSfx} zc5i4`%Egk(veb%W)h1R^rpvi*UKPW>J+BRc*6Izbhbg09B+N&*;ucHKh1oejws@JR zkpm=j7wx#~23bG+ijOWBZ)=%c z%SQJ^(v?OHWB*AY@vpkPw?4^Ap!9K{lMEmY(oaF8MPMg`&DaVs%@en9giO-%B<_AT z)(PK#q~z0%W&{09qMQ0G1;ji+^1E?%k+0bTTEh4=|#7`^Y|^QgPkn`ID9K z^U&><6Ftx%$Tx^Wn2_%~_J#4*|6^8pN%AJo>R1EZa}Sw8eDyUvZngPs%HBDRHc91k z`{tfml##SLn;5+>nbPF=o1&juju^oP$ZzQU6N>0Fn=wrabAp-%$TU;_@j=)UaIogO zsJV<#D<7BXMo#(TL)=cHMKHywo~NVGD{GIsdL%$FuRbKiZeeZ9>GzB7PR>vS#~IbZ z7qsyu2bT^dY!h|UV&&kYWh}7)Kk9X@rA>+M5obuW%UY$bl~*(i|0%6{Q3KA#mD~0e z_nTEo+}_Ad!nt@h6&`4vyCL-Rq>teyuTcEZ(1i47AJ!-JhTnKUFsDhF4s$Ig>9~b{ zk2ht<^`LFae18xP5T8njQsZls7z=THQ`2;q%dVDbtvqWYKAg~|gOo9r#P-2qJnbJu zjPR!y+Hb}VZ%B?+jhT+%yl1|aZU~F!Va>*yf{)4K&NAsEz(Ke z*Ri>$|MUGNj{X}6c-R7BWXftv*Y~in(8Vu&K9w%&RR}RGG_qcxXv;OyvwfRrYk7ZG zskFJ<+;l(14apOW9roI@_?BBd?*GpAmao>znGRCR{4nkWp zbTvoBf8lJVz7xY?L^;N4FL{KR_h_YhU;h-rZnqw@4rgwFM%^5Uv^IGYSIqoqmXx%s zHOv$(dY?I&!%UHZrd|X2$Yu3gsYro8uAf7O%`)K_{d=!?V)W+|O|QGX>vpK$%m<2( zvMZAF>SgBNp)$wohJu1(hy5OgtD3^$t)vv+%3}KZEq_}?wEO*8Md2cRAi{`#b>UUA zzM9I@u6yPyr#nTfqE^V+_jB-;?K2XO<3KjJ&uM$iQcoq6|6tgIY+65Kn85W^kf?jH`qosB4Ie$cX6Fg3|WhPRmm+;$90+Fs>ecY@y3Oe10cA^yk*uGG?Y) zi}7OAndnaOY$jz{^v`R9E`ClyYMK1(XO4t0b&uf8N`V&dYA;Uf`5$_lVxbhX6)fCg zA3RPn>QYg;G5gdKBu1q0B?Hu+FDK(fI&Tx)hL1K2j{QkV@n$}LxL3@;Jlm0ck_E@H z^-&4ibgyZFuD)6Glw$CYXAV2A^m36Blr@!p9VdV)hc*M ze4O8%Fs7dHS3<;JF&B_@pCmwndxsOJFBC*g^E~-PxWR=^XdyM-isjdX<|@odHegx- z6%!^za@5UXg-hYCkCN!Y>w1wl)vMdo$Y=vx?TI@yM!2_o3z>AfAN)6;3#7$~g!loAV+wXz$`A1@V?K zQ8*1fvZso2)52CqATQV8_bh8ny`T~mLS0I={uXU}?5)%CW6&CWwX{DaKPl&~Zm4qV zOsHB?zB-Bj6hI7X?I@SJ_25Mp9_PS$_f1{U@7yYct{7P4@^6&~8Dblhi0(hw4)yOAryos&CE2xe zeW5Y5)`Z&8cZq+Xr4-++)@2KA7B)jv2R&N^9Y5$MEfMbe( zE!l24`ZzMa)pXG{9i%2~SCQN3J1)Vt0rZ3pM7cVQ63S7rAd6 z1)}QR26(-~gW7OEw9qkk7Hmex=$krgi~R|+tmjCG9raXKXm|4(-(FDPwq(oj*A%a= zNMZ7q#Z!FRmfxUJ#6{Do`d^!~)+RR|+62`L5l1zU8u@!b-u5Vp%&W#VjJ=ATw;bNM ze4KVQ*W_~5#8KqpxuYPispQ};*%cX^ot;THkwFJUVBLUA`d1&F~E)s+|)D2)XAskqe)Vw3WU@hI<2zvp{cMbB4p z$~35_W$Lvw!!5K|!iB4Pu({6}m0o*jup+2%oY4q*O9ey?i|m-Rf5zwUi&E`WS5ULQ2vRXMxvmn_4o#8=0Gt*|M_?R(|yKh zmy=UI4BC|yS@~h;w1a7A@4TD!eD5N9K#!qT7-Dw=j_r&TPb}Fz7>^`X5Hk`m86i)V zkm7_ORrDQR474%Nf7@4_snE?YZ2&?D`J;$xvRh0A6~*q7GWobyk6O9OXx^yG-=4NC$*i*| z#woj6W7ggNjsN!Zf`QaeyJVNYlW=`i!u&y;3B^%uWbh2|J9s|_<~Xd5B10QkrpB z28mBuGh0sxKDw1mUW(q0uaHQ|Ta&RU&gs%hMJiw)5t*TPB7MIqG>+oNm$wmzy=vMs z20*^uG&?h`dYgDlSvtHaZy~gKOqTDGI&`9EDXW%f07*B| zVh`_G+mlUhz&9$GN4CZA4$*UPZV;fk?D|k`kGULkli|Unh&9QV(~#S5;WcsPvwLFJ zzF${!C$V8|CmJ-bL#hJ$1T$vY6)&X+@%=oKc;NomYJJ#)GdW$6K=XZIZM$+Qdt#=9 zlw83;2pLDeds^g6xgO_ZN#2A$7ZOFYkI(J+yN(P7R)%#$_|KO5*@?TyWV5<0Kvi9J zFA8n+-Rv?|daZ(Q_zGpG8|DfiXl@m)H}d}g2IcHEKhjb_5mEE>^Re;c2gc>?t0~Ah z4W!X9V&9)yO9Y-se&LXxO39-@N8?=iF&6$hw$pcn01&qI=`m)7MWiPaDhcrd0CRGa zK>q`c)kQB2?S{v!_D(g0#XhnooBsejXSfwOH!91&woku1^NfOQ(;z7-s`yh_9@v7{ z)4(`7Ux7{*_BuO9Xd!+~?*qij$A~obQl$MeHbGtnTB8g99*9?$=Mr(mHSNJzo+Qv6 zf*4oGiq+TFQqc%y@ywNyZsh^t%b z9?ubiMfL;1Ah|h++2HCBX^4A0#8m>?+oH{lCD^V*X%cux8`MqrpRIPS@^>AI~` zN-n+^0l_*oJs_s(WU|$+lEH7mt^9*sD<}0Mn_i)#q`yGFTC%nD1z~HU_-3;%e%{0G znXc)+@g^C{?@^~i)boS1gC+&lw0>Kc(`o|>?7b)Y2sJft*%~=6w9ksOd*p7Ew^fx--}nj+nAGDX^4`_T^F3voIoEOn6x(n=;Mb|#?jyJAg@>kSh%*`>pi-I#ypZXG{KHwkF$$uz0TK}l+5-c^fF;`#y z_l3_9|7fa%<8Qjh=e~cv+oOo<_%)yQ@ve#vD84Wlst{mgr5QbJe8;X0Nn&v*ts&YEJiKRn$RgSJ zKr`cXhs_Nr~8Jz+Hk| zR1W)N4%VMvy(Vg0izS%HbgU~(FCW5ouh{bYYSVZ$K3H0M*`4C@s?+S*VB15&ma4s> zcb)ISWeT`Qr*`rz^*24#$-6Ex7E9T#-slHcq^%KgZKOAhlWFPzJpG%}l-BU;42Jk_ zD*tuhdm`%Z*s6}O8&}!x3hBA>&X6FjGF|U4*!qx$S+0gK_qx`sMK=fq9nXg}e%)22 zQc)bX#V_5@iw7-hK~UM99$8ayNmG{<#VzdA(P3J@Fy~HyfBu%kjGL7@j(DUK*ksqv zai=M5WxSSv0Y;}9*`2&S0s89sp$VnMTR7TOLIhOq2W*V8QQavX$|1xPlJqP~0wQ%# zo+lDlotnk?nzF}G9_&y^RCvOHFK|w<^o8VtFm;je;zWoclw07MT zvF}aZ8A>huqaeEB11~Sx;D*?CXH2N#flj0%n==4zn8efd?8RF%*^;{Hwa1AZ zvKnP+8F8N`utg;#U{ej%$NQsmVSUICnfU`(d#Z^h=i>J}&_ag_4KjZD+cxE;!fl;M*0!jwWBT5feEw^Ou7EYE7?Od0i(|E= z_JXX>vsWG`8b89>!#n;i=`a+PFcNJqd-^aTU`ejLlNTb_=6>2xk606(|$SDx@J462yQsS;nx_+Y&dPkv(u@f8tyL9=J;jDeyVCa7OO ztfvcgid+LsadSC26_fz(0;Mn`>Ii{S8!ysHA8ls6@GS7t1vSaEA6m!v%rd)i2C;`z z!I}FmpT$G`9^8g9rH3+KPYU@-G1b{qXm$R9Hl1r~E$V99vY6V45`cAysIm9n6-bWt z&NMxv*i(_A(7}g#4w{`af?s5BHj@gANN_l@WMv+(KRYR_q-3# z_l(C^`|7k;8x_=H6Sy_mt(s!~AMe2ca+R>F4;S8Et#%FGR=kPoR0HnjX!a$Zwi9bJ zR32(A;y0eRnV0nX#y_XZlt>3dEY#T zx06z#BW=-0o=C`~u8DB1)L(``>W(XUu_p6&2~x`#HHFK=QoXTGPm){@2;03nO)tbH zq9LXPodNWL#|DGqr~HDpDAL*OMNE#M(nt?Fyx;*ed-3mR>746moJpn{iiYk4)(OcB^0-UYr{;EhDxmc9R*^Wu+u6Q(P~D z>mrBc-<6o_bQZSSFv<4~>oW-A9Wc1udIM_(b`60xfPu@2J$)~YN;TpeZSZ*dxiUBT zGv6&aq;VduHLH3bii_xD^H#FbmJI=U`zMgX0+xXXeZs)B0|qBjNB3lh$q6> z2DeIyC1CIAYu_y!HEhGRrKl*BI%vo^E9L4yd-9u~hy$vKaqgMsbow^kSM88WyFDwu z*vc#8V|T#4v+aq>gAuEOAuD;AE+U>1Jm|~s4y*|4-=XNagUfzlvwPvm%IT|*)7F!( z6$4q}H8`ijH`;U(Pu_AAcu=ol_+RU$LJ8omblSQG=rq($A*Bo%LUDcu8``W2i9F~hlYHhwXAi6p24wTRqcx3-dC06HPeN2 zF3@h}BgC(1%5`g?isJT8j3QFhd2X@2KHSZ=JGM$9mRuG$_AI!X|3u(x>A9F2a86z4 z_d=ma{q?r0a$LmP;3f2KqBrRfa9wOkK-Fn_{S)qm>$biAB3;%LUS8=jLfR=V*k{zg z3wea&7zP^SGCJ&WmKV!mG+;GU*puOII-`ew=MIrh6CyLwp*0V zydoH#!|h9TIp{kIs^GE#U#Y0lq;|t>iH0?6qRz-FKu=Yo4DGn_=-61H8VzjOd3ye* zts8$`Z;9KRjM?5?HW^fh=RL3={?&HVsMszsDQ4!#sUo#o5o#_6`3$R`K5);(knv54 zB=axHDp#@n&W|q~DBDTbCWlgf>XiyK#mHLW>QeTd!xR(>ycd3XcNS{8m;X#)ntv?& zSGSa9#y$9(Jv#+^FPpHNQlo$A*Jy|na`@f*n%^yu)2I|LSaW>Sf2=d6&Tw=CGviQM znTxs@3^005>#w4{(Ki>KwnCh2#%@jks>|^{w>_`f8*dolRip90c_#JOiTAft+?Xew zTJ`L4WX<-+L43u%`Jjz-=y!>VAOjsE(w~2KPw!;3p9lcR zf2I$t_OK3$ylGcC-ni}cxBcr({5?>It$E!!22=IqrF<{AX?OIRhHr4X6B*-yR;N0~ z7(WS?ujcE=`eeylQM?$Wcn2#9JW#>eD~Ki{kPVYKEoRMr@jEc`M>$7sS3<> z;&#UL(WClX_}ZV!dTZ*)VBHe&PB=B82xAe!w!=SJ;~O(dJr~ z!-V}6-!v%iw>#M99MIadwMnu_&~%Vnv<#(kDEgT0zMJCvep&*);a{!R>m-e#ayZO0 z=wej&qupV5{g@iKurfu*{mzvhJY<5>{;CFxG}`xW>`z8@!-LgylRSV%yVo$XO8B@z z1>>o3qXCWaCLOPCO+tYFzdFchQ<3*^sH@rRO?pA$TqJLf&^euU2u(AlYQ8z8@d{$~ zKU4d5f;~hJqEb&w_eMWtTj82BYSl8gYY6u;j0se}7dEx)8j@pN%~KQ!QFDgn)@z^J zUMn@Jp@6Fn=P8CNd_y8_-VU!^E|B^w^F8?y=P{kQZ6`st{{%+c|9%_(yBi7+dB6L> z^r15Cvg|71PiF>#^uOI7IM|G8e^f+7cg)`6@5e_K&C? zI`eFHsK1Y0qg88F39xI-{=BHPxg0Q|wg9}wws+zLzKJ5z&C_6n$-%~(6iSWkkDI?m zhq{cZYuY#nQcP|V2|gX|rt$p)%}AprAS7+XUhH&_{OYPof~ICY;swyn#>|u$puBJ4 z+-3~NBR<*M^70j*)ONEQ=xKdfYXJ(whcG|_8{`*ruuTXGXT(aMCNr6JJ=aTw%mnON zm|}czqe7DRwmN7KM|T3`FQ{9ti(cNzY&p%&TDAzJPgy8nHbo><^o;K}CEJh~dP&>R zd`~cV^K=gfJ+1#Ke%?H%rPIu8fnHcNC#WGA0Mw^ld4l<9ZIbiEnd^greLrWtrI3gp zL!}1n;;qrS@fO_oYv(>VZF!V6NLumk_8T(v23$v0U^yD!XfLt9i&fr;3)ZC+mIDUqsu^prsC!; z7LH+$B(_G$mZJ6V``G9huwUnEL%QUCi3)*fx*w&YyZk)_1`F2WcjJa z2GAI78v#CC{L)4nh(RKAa{(94k+jqa2X)Yx0rh*%pf^DLY4&@QFK#(P6~A8(Wep60 z0AdGN{ZY%=S30X<<#u0W4STS*Vnm4)l0ImEV4lTHe|}d@I-4pMFg}}Zm^@_qJg|Uz z^0P#cKxgt+H9kScXJd~8{XUb-jqSHngKR0?ho8H}? zzqF!cVk|n7ooW{aRp5>Hm6u<;?U(uto^5UWa@bS9*xoaf3!Rduc1##bm9J^?ygv=N znFAVL-d5W_U9V_;ZuYDM!f1|SEAzjmRe8+RRST@iY7yrqj5?%p+S?cSp4Ih5`(tSK z{|KZtJN{JgX%#*DKO8Op_x=+9e(isUtp86bug_3cLL`(dYevq;$Q17E!ROIE5tc_{ z@59g@IBmWxzfw+Y3C;eT`+mKo-TywhFB@Rsl?-&6uxp0SA575}n&?>if@M7h&}L^x zPqj&XsiOk9yNJeXX}7XyU=x5G6@A5rRRd2_{P6g#jAp2~vAeR5hNMVFeKZgiXdv^% z12i%B`b66>(K`Ply8x4~;0q6NmseZWw=%I+T@A&$A7`rKD;UpBEdn;ByVgb%w`^FC z>LY9&R|?vJJQTJOuU@~mMEkkRl_=b4ZdFaF=BU57Yh7^5EfjLe^9NcUo3-`Ha7twp zgH-4Q0|6BkFB+{kAp#BKNaH;k8sLlTYi^Gnzc+7K|50@K_nrCSzgT#n$)Fzy=Dn)v zo`RQ-t>V#&`jNtMO> zj;tU_OS{D2Wszovx_L*?XF;_uS@}UlF#>e*>t&_QE6CBZxHxNN4kz z{^?-dH(ssw!`M%lNcxN56W~I4ds4ojY?fl5_5mS=|Z z1y}G|SDo>^Q=G}GVXzKeE&oMjymp0^KpmEm!MK=F=%rRIFA04zY<23g2l;cd&Rsm= zoJ=DL34S%xEHN02YplFQ=g{pguyVt?GfLyWh$esLeW4>h%pLM^8msl=Vqve%?;65f zfjIKuILjakH^)~S=b<|?9W|;w5U(k|k!%yt+;Oe2u=|#KYne3St(`&iH)Afz2c^A0 z2KgW1(>awwd|jYORS1<^>jx^eyZZrd;&$D#>E2GprRapV*u)^Rg(a(#E-8EVXg`4^ zScpsbnElZ4?ZVp|B`vv~n0z%o=ly z_j%suS2}2lE+^Exs$ERT3*~jES2}U&WSqHpCd0v;Gf2;fE*k1Vxik@(iNBGeym@X~ z?D)pXw*4;$cs6!Fo7ueEXcJsF;aPHjsq|-SW}X z>AApW14q!C4v`_t_g8D2UV!p~_h8U+3iyUKq7@qW+<&O0=hJle^G-`F`nUHYW&o(} zBJH66YFP?G&C3+8VT^g>k108@4--vr2ujGXZs zJCo=i)2>i;;4}ElveQmxg!zj6&M>`zTJ~^4Q=6~(F&*}~;N!g>BGOmA^H@n~k6ALZ z=-lW^);IiBmtx1g^u_6)^m85i%ZGB1p2)y`3${-dIT~Iro}2H{H@P*sbE3^Z!9Mam zlhgf7ajzG%LPTr~Ld^vN%d58hr8m$duC3Dhb2Cdfw+T}ba~FAo=>5rDIAZjaO#3jd zL09}cx%m!?+L0P#L+oTS+Jq%E;oGJzL+l`6Aw*$Exu5(dns&Q``Nm*-!UWc&?oHK%LY> zNmXo#W*_=?SV5%gZ&SVWMd70uSJN2eVH_?fD8vHfGX{Y$Mt*xzM1>!G9x??VseA=wl$`f`Y_{G)1+D__j zlC{Pr=xGy>7GsYabFbBvW3CPkxLKpou21}_f6sI};HX1}alWNkd8kRSs(wUf3I6>Z zL=ga$#vaUk2@WjN$zQoLAXR@Ye{L{~w*gCc7Bc*UaAZ!QF8oovh3iWb@l6E zkoAB?X74gI-8VPh@$qhXsag8qis^hXh8^SJ^KPP|P?KBOolh-BRm-+yZ8VQA(5m9W z-z75k#D1d>g52Tuoj)ClF24G5@jPa<@I?Hac1Qt=&u@rwPV0OVzq29(mDi~;2eZhs zXh9KN`vU)TQT&`hz09vKXhc;^%9?2sjyr*Cb@1*{NawC}IT8(Ve$NSVx+$`MMax3$c zH~+s|g7N8|-|t)9EHvs+{QKbJ|Ls%$C*d2pM|CzQr9kiygoRdAf#CcC3!OvW8p!>A z&Ses9X7BpE94@-Kjaj8!s|zPo+%oQm$|`Ed$@{l%X zc61rlz=q;lgbo5_`#3$y$9c_G>u`kynrXAW>%QUI_U|MLy9QlVZLo`$Ak877k>$^( zLU`Yybf*avhpc0>$BB%0x_<>u2-k|a?6W;pji496mkjN3#TIbhEMLt@t#`a|6Lq6~ zuJ1I0y)l{dtKWn*y%x`Fw(wXyre=>t`l3NT7$U9G?6~;j>UU4{%Hut6xP0o9TPZfL z2%Rm2B(ENKbyQ-^zFTC_!A;{*`xvgtg9g1H1uB7Ds%G@Yd)4JJhQTXYq%Y&|+WcAm ztmi_aa1ypIsK;5W4@@MmdxXz+yu!JagvAx|*YuQMh@q$hHq;e=DzYPquY#W~rOfw5 zNrSg@es5*9eB!CLZttAX$>Dqr(@7idvqfktP$*)npdud$%z?^C1X{8TZysd)PjYSk zGtOf#&u?cduSzNH`riIY zExttNRzH3JD{u+#YF8!G6rM^Vv$di^6YyMMLVnrAU>&CpS8QQi89PCfIu97k{eY5Kl0WQMs zQsLnSUjSh>Sd->az#08)m~yY0Tkbb&Se` zUtHU1rw^~ugGQ2cz%x?NK1uE!|8qYk?Xvx^wXnr;Wc9_$dZBkvEO zJ6P<9^wkuK^CW%VL`v=TnET3Y_lj%bK$6B%X^P$0;^I-&)nM3Ifcnu%V`&Fuyav8n z?nR(%;ney)!<$yHGJ{2}<{gY}XWqY3jif<(1sUuwvpr*dt3z;0ULukYqud5VSNdrF z9Inj}eKAUt`ca)cJl12Y45>P4=O1m1&*d53pZKmbms9k)($@9}Vf=|>BMa>M_&|Eu zanYw}r?knVRfAcMYd>QAFF-3cC9^Lnf?tgjDui1V^@^|~wZ2<$4@lr!$q@X!W8|r{ zpc$w5LL26!Ro`{zH=r<9(pVSpfrLLj}Xd~S3GE? z0s}oqnbKZYm6-z`jW)8t|8J2`0l z2>fPd??*2JpT(zsNmo}k%{$}IojM`3b!4c>LU`yd>}TBoSiEgB8!e@4Oa}KrennSkRneiHtR7r zj(Us1a%%+(J@C7kcJhAnx?!(Laj`p)zAI_Zgm_}e)YCYR-C2bRV&~Y8R-{Al*S@#O zLC#E9s%W(^h1>i28u<#?CMj;7CEF;NzT4%s2Dg~)S`z?p9oX()b{e&r?|&MyB+$( zoFG(OK6r`nA8>s%8&6D(ixN&uc`3nH9JiZ!^x>FJk;UFPip8=p0pTJhKaWLi4Fm#l z=R{+U*n^ISkyTfuB*%3K2AaPB+ZXrvjZ%;Za=+@8R$4Tr9z%R|1D6i%eo*Od`TiyB zjYeD2Z_&J=$v{pW_8;xY&h^al?FZI-eSC)AH%*W&>dK9cG2bC{kvR+BScg{kj2pUh zJsgCIp+C$7$%D^Fb)D}YEm?`lQuT3aI+{FI)n9UlWeLFkm#Nc zGiRbPBtk7`WFh4r{b185#AKtmZcu;vA&V*Qe4BO(z3Gl-BHiQR2Q&NGEi_ zZU$}VqBsO12|t~|Bt;b15~xr&v0VqSm==_H6QrZ?jYj0=ik4c1+mvrk9q@gbtUQOq zi!-wV^I32S@LQh^p})1!)<*Mh zR)L|H5~VhbW=VEtbLIN6A;%@PJ~tTGwWSpWrQWBwWA|bOE+lQB-FfmqglUk7!%ukH-8|aE_21jB)`5$!T;$+qi{>@ zb*h~t+n)UO3dJj%`D|{EO}gQ)lfLgNjn*FZMRzVERx`6ehEKZ zA>i(xHsW$s;{%|*xwB*V1Agu3c`J%e2>ea*>TTwU;=o0T)zr&wF@M7p8Ai~&S)XbKdje&SC2x=|O~N03iu!R# z;_}V-D~B%@TS#^CottI!hozy4!ADKPTg9KDh&w8*1CC4Y<`&R(`mD-lN5$*RE?KpKCF5(e^h5MA zu-}`g-7KW#&R9SFYRx{XnBCHj#*Id1Da_Cs#;uiKLn}a0S~@~8JbxKBBV>rPY4YuS|5(sh!9HRZ?% zZ4byWqnUb4%HB3ic43-tqAo%J5)sSCnR0RZ8P0QcWjfU72aig1+Qf+=b%)s*xskIV zJq##)Yec5jh}YpaK1(zn2={Y^Mz}j+n2}>~&9{bEpUewcJ!8d(8K6}8Jv#7MNowYX zd7=j&ktc+f^jfVQDoyp;_neJd)jYx+7Qy;?;ov)DlAj7`?|~QH@;a`n&BcRa>q<>` z5i4bz&%b5bgrBWEmT1@h#+%ae4oB) z|35E*{%^cWArM>f?@dd`- zADvZcjzfA@WT+Ya6uPZfludb`c2763kCi&i{x}aRcS2A3>=sw5yTWRbOWB< z1IfPLE(@{E-OOgYs-!aF%ZxE}st87Jo`mqz`YVYNEZ5FF`@l#~km9`Vn10>>y2}0A zvk3~M9`^IsnwY&dN+^bXP9OC8lF-z2+;?c!;7ar@q10p7x6=T5i4LWD)n37K;HrO7 zKXiaKi_ic6h!ptGN{-6Wu4%AMg`fyczv?j+b<`o#Jr>;Z<{m#MxO}+Y)G!aqat6A} zp!6|dIyp=t%(ZqZe1n-Kx)m~9<4>o3F%`G=Ps^_HGe%_q84WXrzePRXOaDjkRS-s% zSu)xFb@fltC05sO7gR+!@V!Qk|+`YwQ!<^6h5hcGVY*pAx^`=p(x4C}EgFiuoE zf0%Fq3O!927R9gBE#vAl&FRX5%HL}&@~ZmxxI`84liwUjcHZl~1#$AkYA3LTgqqto zjhIW;N-NDsI&QZLtT_>IGOV~QnpaeeZFcfih6e>@ zwDAlJa^D<@SDW%m(nHM629=qTD=B(s@XcH?i5irOH_dSm_codm1d_rh*(S5MKlJ2_ zHm0z|n&{2DreQ$9Skv|IZdwfrJ}oa)?Pu?JdfT2wJ#sCOSG%eF3t;3&WKhdx`-^(B z0$IVGO37~SU}o;O%At@VMA=C-=;bX;VC_SpJ6J_y0e;YRe)LMb*@;NqK7(%V#CYio zmTShQJMss}$iL}FIpRD8>AqWrYvMgK6FDvr88)tXs0Fk0N;`DMF4VFi+^9rErg-zZ z%(wdb(pAPKOo=Pt_wmsRYP5Vs3s+n#?)R-G^%3}j?Yv}OTDy-;n=q612y%}7B8dN{ z@>+p`vyhfc(mukzrOKi$mZoIvs2AWuf3>>_opQHILYG`IO=~MrnN=S#+EMV7yfBkh zsIyUUymUN+1QjSK4WjQ0O3m|9q~eo!scxNqg|Jj@j`}9Pj}}04e+)i-Hr%+QAJ4rU z5qf1@>O^nLLub$v#o)tDfY=JGAyk~t_c}LzKQl9~qC2YYN4UFY3eF5J&!oGdoyuPv zpX8vql~};LGe7oWT#h2?>o!!6YuU?VM}mt??<(c#L?T2C(N*%_gPIz)MCo>mKFC4H z*2Ld`sE+7Wzh&q7_51>-(c5e!@!nfY?nof>*$aTAG`Cn{*rEpXrw@6-q!pQSi)Prq zK?zfz3e!wU(AGgkYtaW6UTtvA%X@XLPU$<*w&Q#g5lGJ@WWx|<$7Ae!w7xNDyMeF-X^KTuxryED$=15~x}ArT-Hxuu*f=JFG!Pd6_QM!AVo_ zZHQaonM-Z=k&5n#LReqs8d?b5Sdna?r|ibQ{?zpe59O=)p+8xX>A@27=YifQw^;0X z(1WSh-*?YldD;7Fp>tDQXWp z@^9bc?w{6rMV3E}M6`22m1pboz)j-xLn)Wx=K|^sA!d5t@IwgSl)inYQ-uBN1~o5 zncH_Mkuf)LT0-WA?5*9VB;@^9EbA4Z+t`%!M>WlQdxLo$?Yf8hDgNx%NV#qKL^!UD_oF(V|=CS zbNphZ&oyo^m~MM%3;<7b_%ijfWv*m zqQh79O#d7I{{L@~8GrwE{Y#SfL)%rFw2zYsX;1~Syza3E^&%xY+oA~a(c+IIY9V=A z+4{x$_%#L$1mX?}qMnx3=CK3MKMDfw8r~p?CjAyRUX0B-2uVu&F&_{-3l2c-XQW~k z7*AxOb0%8dDsmdzmeTX5@;|35lStTdz-SI%93ef@e`jVXPgWPeE%u_Kqfc0|^Sjd8 z8fWBNXaw@?^nOHvS$otS>V-t52*xC0kVm0d3+XuDSYHFqM|YYA{e6A{2-_Z31J^(q zSp<;@$E^~EU9BQ?iY>2An7GVrPVOg#t9CmXzXk1j9Q_|9{Mi3IbHYF0!E05Y zb-fxVY3blVa2nt)*mOy3y1 zwL*HkNQi;;aC~XMRl+J}V5S9`gS+Gl#zW686=)m?!40Ae!$8qxbtzsG0CpMvj@&41mmtf{7!Bi+c-2?r}xBrFxt^0*})t9!J#Rj|6k%=*NbrAI8yO00y$ z`auQpKX+r&MQMEmri&tB9=1~@?ayCYBn0;=o>vi`J?W2M`$(r>wE+@(>pSLJU$8i3 zlsn_w|8DM@{bPmDd!#ZtSa`3>Dbujn{8Y)*YDjDl+H@*{sF$3AS$whiFEO7%ivJwY zmXyTTq!ZC?0JScjk1Id?>3`urO_z$}ayH8U%{ zy(J&O@7XW!(cLR}HeFy8Eil&Lt(7)S+}A&PJcvRQeW5nuNU?cyS-8HwW?PhhBP5mG z*>NWV={VMTGIPX7R-w(U8#&b~?&xZ2?)2c}7%5@;#w3yDZ4ubslJHHMR8k(Dwz4*_ zd`y535AG>{`JktBsQ+ULT^Wh0jcL|rsAG2;L$490+gT!^p3>#Wk=dVDWqW&+m* zFGv-?!1BE2bSn7SzvoE}k*8ZRg9qsnyMdA0M%i!HckhO_ z)O=D67y`ZoK|tSh9>w$@Jwm8%T}lAfdx3H#!SZ4k$5&SKI1PFa)oMJJG*LHm9_=U7 z#>GZ0uc~e08QeJxKeH=aIXt#KnfCqZlGxld51dwq%@837i;Q@xb_$F2w5UZB=p^7= znh@uyL63bUGb+`*GMn*M2aofiiEpQ)Aa>wNi8*JxD)gHIE&1&MLY27Qcp}@&hNnr1 z8r!}3!T92BM{p&AO7EnKR}~%s_lSN9(PgJde9K=YzhAeX!djpnjv4@RE@X%{<4z+c z3yj+<$v*F1$y5+$`=np8!hfyT>~k!t<>#A>?4e8c-EH!OgO2XQ7PueWd`_Cv6C>5` zH*7TJ(xy1!ZNk=&QlsYL-df7EE1W~2Ak>8s9n-CPr!stdqPP>4-pvIkb`BVO834B& z$4&Cv(uXKY%L=NUvNH_V#>5X ze_(Zc9G~~jP2*GHmuSZn2lv>*#oNaDm>eQnm3q(upIY zux`pGBTrtk9iws%`$mB}&TbBS>P_%*wZEA34TP?jth-WxNvjaU7R^2S?; z!bg?!X!a`3XFl~Wv5|VMt!MF-5o*~W+-tpbouvPLYJdG2Q(VDhBY5d2&DFfD+U;O% zQQ`1a<08OL;GtIWj#(T&z1WvV^Kth}RM0rSitA7(8;hS$=_oqtDQZ%SDjStLP8E4$FOvB%3y(wNh9<3Hj(d(+TD3-;vXCRzIq1JEX zI3f*IBV^VRbD`%r&+Av9iWh7&`^HoyoZZSFI!mVNb`FEPVs-{OXI$sd-M<&h+=!&) z=2K9@%p;~(Ib_Flps9p?F9smEh7#LXKBF6sJZ}y>)+%?{WV)^BH1?wB%lFmfOJS|= zg5rbbt!kz}r^zDDFX)7xr`4Cz*?Z4&WP3)5#~4Xa0Z@)Q(uq zg z752%~$2}cIXxHm62wrTf=8H;xK}PFQhEiOAr_!pgsLAir>rpfn;4l)w130Fm5)#sB z&m6nFK#u{G}^0E_hkeV|Vy&nNQI#twH7m}#}P*2N++t_f?o4ihSFg}gA zG7q6^-F!hK)x~K><;t$DJ%`mmlz}HMr1Te{3;#PaLAoP(ZPF5Tz2hSH!=S^e(djVv z-70Is!2E`9%pS)c$`JXXCzPFh&Ym+573s|A7~6qvl`ha_y{^N!m>GLWaY0mF0vAhj z6tsy%f%c94Z>D&#d8`X2Zy;q{`VyelTx?8z^T&b|0s3&?-|_DuO&AyQzsQUD|L&3g zSMKmH`Kj@_@mDfijgX}wl9Hy#x5BmF2THWsgG(f-*1FYlke|~)A{(HyGi~p(#Yksz zU7@z0ip5?i6s}n@_L}Pkdnctt#*vVr0 z`2^QCa9G&st=OZ3<0)`wlD3-=@i2gWJ)$r30cIk<4U}F8(UUQ)o!a-#l05!HC#vzb z(Psxi;?;wQrk>Gr&M+2du}Ro_cU{~d)XC2HQVL_-<6KsS{L%ULAUnxNEr~SlOleM;J`{Fo?Lb5>*NzWhSZR<1 zJ8!x!D6+~LpH2af5X1^9*r5UT(Zw-v$F5V!Zat2&8pSq-_GWdy`dU~_^EUbQ@JEn5 zXmc%VjtpKX{(Sf3`R+%y7LJJ&A>8V=U!M#+0+Ao&9>%3^m;vEa_*35j9C zE>Hb_vkg(&Pki#Be66~+L-k@aIUh9r5*y|;BOYu0nxhR(kW!`;*7xpKBlIiZM8ez4 zTP)7q(%juLoNLZnPb(2kRx7$a`FB17QTq>Vq5T5uE3)4T$Hu0O$oaTQKF0y^H&SeV zIf+rc1E9s6f}nMW@G0@MOzfN)uh+t-X_Br~p!q(86|u)={>|H*ud%o%XKpS45hmJ( zEw96dsE6sxz5yffG5G=6S65MDXTAy-R_etUQF8H-Y8vI%mEnDD zh6u$mP7%F9B)GoQVF$3I{zWwY>uTL`wXl`=HkYbPvT)A~&$}&J>h6F|`H7ZXe$qjK zgYl$ZpyQi#Z+e~~y%U{*8?&5%xH4R6UEP&SMZwGZ+<-%gYnWWS*+as7(LW$X*tAF(CHa1CFtu=(^ za@hgh3ZKkO8^AcC>o@MkMRoN>Aa^wa<*lavYmxDW2r`4_ce2bjRQUR*#1R%{<)!E9 zpQZ}_0u%*Bx;DbIaQ->z=0CG0u}jk#tqBd>P+p*y5G!#J#DEM;a*^}AtY!~w-re@a zJ!v3tapaa~U>P~>aJIi_-=_Ld#Hy8Vc1_!Iw@Y28*BkqYc3Pdt{I&L(ZeGeHZ_9v1 zrO?l5fqk2EeM95N)H~jEtq(n7R%C{#vr-g)m0DsBNppk=_ytT`%Q013blb1oN?i@n z!BD)52j7?B-_jF#`}zN&*S;0?7vRHRfR0>#&VNtlviT3BGPd%p;k5mpP$cTNSX|o+ z^No9B$J8sBojG|kuO*Uny3}Ic*MP(mSedo6>Ge>Xu`6YbhDKMC;kqF*fs|QF zWsT=qvmaAk-R{oB;|#RNKlySy=9f%AMraBSQV1j$&sw$!s<7K)n;;3eUA_GLgi=Rl z7wuyG`EtVPe_GhQxChm+YiB_pvk*`-mvS?<>P7O*GmMmHrsTkdxM@l+3KdCXnx-JB?WWsl8hh$j4q#xUQP+Aa%=WnC-&0z_d- z4TT149^>gk_!eK=6%u?o1lFr|?8EYUtQ7HRDRCVF#O|MnUI;Nnr3kxF?oP4%+spA) z^IU5FxPrGkk$q+_MK+33W^U5-=CFgv zR~=Vv7IKpO5-OUL9XbI#VBz{(=Daz~oj~X(rTvkb4Tlg|kb}+J?bZv;ud9OtC-J}& zQ{HI3ven+c*UHl_d$>|@RU}9ZCEGwaHTc9(A}%GbKT%w8@JskWQH$`N*g$klPU}lN zO+!5{3LzBNggeW!(4y_Wy*pwKR%+SUMSTMoon|{RI+^QQ`=-r+(pl~?>{0icaBON} zD#v}hJ@SRxi9J;6S$1V!M|ytaTsauBH5dN*$`|JIQL8+xPuA8i=_@oB3^f9++c+-5 zJ&@0V$xn#8neW_pVg_z&XG*S8{sKsSt^<63xGikID6S0(*&Prfk_AVw+*aro#zH5O zPDxV?*BF>#9_^RWO}h+njqKbyf*T3B$YqB?Aetx|Dsq_(f_r0HwUz6aZ-lIj+{KVi zTh9K5E6A$)uB}I4sGmRAz*R|tsP0C=8^BzIVy4=3Xm!g?viXVlEG&#_n}HA~2( z=uh-xI@xb3Lt3i*&?OHxj@7~0UhO;nC}64dR;U;GACK zO>OR%r9^Q&a(6aPQX2PsjLI7|YOi2#ecS!{>*1EoCPfM+yybH4S{kXbzoIH8vv{Qh zLJ9&sc%NckcN$|YJ+0{8uzxPU!{akD<(OgYZkN)18{875_o zx53aX-joRHr=_x5yNgJ-eAFJ7IPqpaLru{LCombZd16fm{|oS>!rVnT4b)HcWRtmX zjeBi-8m8~@IZc(x$=vDT9e78dMrOG&dtY_u&mTv|`i_=^jLQt4@5J$l1i=GVMtvnL zo(k^@dGqOS#+KmwC*57Xtc2Vw3!D^|CsbLhAxS&fM%{x%pqGwIZbTRC1>vWBW@X@l zpvuq?P`a~jmj$|9DpVJpNV4gQDFMNa3k(dGUwd6z3J>3+`i8zgoBis`LE50`El1B| z2O4N`bj$?JHCEP%K?q;38r*Rw`5D4|@*`NxzopH=AtEwZh)%9^6@T=0(mfV{QN4{Abv1oGN}JiFlfruopS!Nz$B-a0(hk5AD&1c@1)!^9723uLPV{8dyKf zb(+t+jCu^~xTB9MliFopThGv49PQ~drs?@**~V;Tu@P|>-rZ1R)BmbbyIW61wv#n% ztgh<9BMocpL?R*H_WFH}M~3=y78QP1lKCFlud$-scw;>(fo7bu``I$v%^BfEr86)8 z=Zzo#ZR(y6qwxO%cvSvzG%AkxkJ0bPRqrwUUyKI&U!lMNIonkZ0XqTkfIX>0cZpd; zm0dmKAS`)LONj>w)BaJtUb6XsYE+!?7C)jkPpimJS&U^4Mt@BL*GQOo!hDp5jvdgpciU63UH+%ijV*R;FRYBt*`JihFn_U9sgVjjzWeb6|Ic!81{1*TW z3fzeQsS$H@uhAt~qM3iaGwlm@`>{vJ5TeEqv@nc4SVg?xMLu~?-Dok&M;z61c|*-P zvQ5$ku!Gdkc>tomTkm8X9r3U+P!A-8a6ky78wll)==@nwWeLzX(poMEHksmFkz zY%t{7L;l9W4MN*D<37uCb<3*-=P3D;8{?TNuLvrl!5{D)z@lD?$9czvM7eOK9|@*G z;^Tu5{2~PxI1iX`yF-YKFUw`9mr-fSkE~ ze+Ail*NUBB;E@j_w}H(;OB7Pr==suVtmcrUncuK%{(TDmiF*29V&$>OS_%1Q8)>a% zlt%Xk_$x8SQS&d}2uHg1Q6J^)JUeQO8W8!D*b%1`iV?*RJ?{-N+b2|aVfSoLZn)AS zNwiu`@#cC4s0R!w`A7XaXX>LLHq`tDu!DWugR%SlM-Q7Lyjc}<;zV?5_iu#XN zK!gSu&BCIf3bX=|Hm+%Y{)Bm^8T{3?0$%39*6prL;O5_3z=6Eo!u2&HG`E>m&r1}HD*N<1*&B;3 zeAS+U+Pkb_(jfpD9QwD-d{JC$BmD~5DrO>Vw_>o>R4st}pxjGU1W zDOLi+NwK|!%{=5M=-0M5lA6hBduK;Aa?e|m%lT7KSnd&P^jxFqr!?Zh`w zZ_p~g;+D0-F?+E zPD`@{^4a)@nLkd`r||9x$hj?OPle12ucXtF%FIlqer9WKNK6&<`*0*n--SjbybBT5 z+aR`o%&S_o!`-iyqQiePm?X*8OR!zQUv<7kl(G)90aB|rhBGQUKg@mR^Q=bjwbAN{ z9D9?-d*2e)w7_iY{g-E3rBZB1AFEHmF*)+pMHkGyHF(VK36gw+`peopq$)m;1CYhY z3D|27)dxI_DAwrsC7U}F#SkfEIE>=~^yrgZss3B@MQ!|V2gjFA^L;Pkd1jyM+4FZc z)8P}lh_ck3V}B8gi<$Sn;3D7BE3t3-)RRU9$r$LWJ#u@WK4ntOwcNo2{LhyZgfKU0#=Ic__G{~IZIPVh#iZ{1{&l0xc ze}UbP{v}vvmqi-%5k+jP;RK0x))Zdc_5ZP>AP` z^6J`(cuR+70z8(W)u5Yu2k;#k9k9-FG17Uz(PPJxIGNri3vNGmJ_o>_q7}H`czZI^ zCgPx1?$WtuST2!Dv~z70GcK|GTo|ey_x_)(WPkVG{DZ{u-(mQ#*@SSGaD^BAyx8^3 z;iV`=9$JyyThXXX1DE<4%gh_MSIOl~2MU88n@+9CT1R-IfY?3!T}=MCNM6B=e4>zr zO0n*x=G+T8L5Y6Q*P!DDB{j0X?jY2MZ_0x%0|X$EVRPx{>E%P)6}TWGfv*T)x^hW( z^VuFXP~~wmpR7^_r4o-oBM3=Nz0~r1$E}d9VW9EHDz`2dcb6$jyy`%X5mhlePoPL= z1$~F9QSoKajUuB(^u?nzat@CLFlP;N#(;VAL}CLPnw2GEPc#uw)Z7S*)mt zqkAm9S$=l-_1&wDu!K@js3&mBb|c**v}gL9@#_y*(9kj62_8c;9&SOavI2FF@CR-A zuCmFh>Er{dMdK0@d`pGK&hL?zA^eXrhG;>HUU!-*k3EBJ%rB+s8oc`X}1G!kf$?mghJhkabXnQ zs$e*@=eKI=|BwEpd+xK5yO;k^5P0cEkQ_Xlq&;)|0r339>*O&1PwJLGvi5W87)*{Q zpxM8(^+~75+ILl(p_!T8eT^owpH@WZKZI1vrnv32Nx3mur5v6!gxL8vbp6Dn1QaTF zR&n(Sg>lc;iq_e!dA+9wFcpfEV5#IT40$f^IkYdL=hcEGOBi@zK1a8E=pG}Hu$>vW zPaa#6r?caLEKU+CW+SLn9KY0y%`>Kxdg;>u0REthcQL)kT7$t#iTfWr8s7Shm(1GtenRZ13a3gJD$If&&}P2vdA^&4!vG*`FPc=T?I`!fn93& zKD+G0BVjT5=p-~;x2is?DJyCoGT*N_tsY*IT{NCoHR3Lhvf}Il@#;3rtQpWMr`!Bt zVcVKMsy9d0E*!Spvs9Z(`mjUGe)exHnFk5 zLvJ~`xAsljL}b^P7?3MVx5KEFahEpAWq%kbuP&4k$b(UD76XJ)*7g8-{h=)iC}`pE zp6msO*fD>cVFXT^L99(S&t6VABn~~vvsN6Myhd@7SVyv-VWKk&XYNcK@ZIQ@=O&8s zp)(nYD*B4q72F^SGU9AGiZq(ZQbvHxgNvbi^Dr>v)_9iI<;h*FGTI-@r@qPudz3H> z!=1LGjUCn+{uC5dYms*SL_3=+tdjrHVXp+7){RKj9XVw|uEZYAk$5%0?1C1Yw=>79p-cPdwM% z@YuL_>k}k8L0bT--YeOdGOoYuDkD0(Q>>UgBFL8^^M6h{!oTDMd2aj!hU2+u;OrE> z`ONTe6|k#f=`DP)3Rh>d@dGt>dR`E?%@w0~PuG0q%Og|pB&*c-)TxfnYK}0&O{c7(}du?>E*#%({v~QYA=xBiARzN&IqTEY=nmh zjSrZ3@*#UnTaUaXWicPMx0UktEB8djo{mxVa6_eOjNm4N;ufQdgSp3q(PBpg;*E;g z(EbG=Uz8QUiO&pHj-Gwi$M7`~z1A&@4`fgxnXN9hXjm;9ww4~_{$&VJ4 zl&N*a1t_SsoL~HU_C%2Vh3-~XAy!OJW4`O1LUU8luotzcqd(o@clEO4$0hwonh03} z%AY^Z)7f*6>wD4%Q9|?5Zd+x@xFW~&d9%L&3F6Kj`x{0Jvdf5IddmeXLK&CyXLoUq zS=K6j;vAkpUk5IZ4Ofqe2|tBT&FC z{V-4H{D}AQ`qvjH`=!lmZ$m-kpZR(- zP(agn)Ua>w9r~5M_z^-ZaGu{(TP$Xf$!Bimu_TJj1v+H$&Gk%ruA|94`$%`0tXFaA z!q6Lx(rC2##|qfrY~-}-|6Xpg_rKIKt}f)xA?rRy`HgXb1q6X`#sg_}G^77l z_94zUXRrZQ{!d+xU9+b_MB(tlr}_H!scE+Yg@QWIK9s-LKZSE9(uGSnk8Kr&ziLuN zPJsT=S2OL3*(Q?A;AIwYT%vu%Z3h=U!*;HTq`zS|>~)!VcJfyHRNLx9#^MhvVTv6~ z&4z@-h);_;G#6Fd!+_iVE93UXp}Q%l%yKfcY1Ym~!`i`0@xvDa0$)inL&e98U-n)F z{X>`DW#Wz1JqDA(oBsYpz703K&x#BZuC3TkOI$u6}_h92BSC95i zPN#>dmO`-cmvdc+^7uqPMbu}kedM1!jYMNjMpsU6m1K6JN}Cm2i8exiYXAT%ljtSD zFs!;fK=HpbZRdYooGoAdet`TA8>j|;{r3SD#eXQfQGd^y>i>IsA!bv>3lZu+>P@<) z!vr;Qu^!>?jSgU6WBRz#y!|f{Vy}yTJ*;>PB+(Ox`D7dtBYFv!LsDi_IBNZyIev=E zUs9SJ?dNTJ92=L=J3iJ)S9v3=r?}-lMDao6-kDF|8hL znzJQj6l=_t zXM!&cp*0YqhhfzZMQ2s0C}Y|J#Ke-G`9M-WO+t~wB!WG_0RQmG zdqQ(y4co~*=cSpXo5T0_3@wy^6DnUd$l)CmEr>QzYb195oTs!>B10+1oEyse4jT|N z^spqhi}}FmEt3mBT?4C;U47@U#DiwmRw-sqUrmuc*|$ydK<6bPmHd@ z)-Y;yy7byF-KY4eFSV;wS90i`E7{mm3ZW;@LUql!H`JWQKU#qu=ciWz&EAgCwfD%o z$ncJPisZ7sF9v3Xd^Ap}4>$vkP@RT^PH@zN#lvMdbE81}1y7o!%f0w;P=x~ZtZ6|` zEb4)bRVhlEQ6afR(pw&Nw??-n#r*X@Z%zJlU=Nm9$He>@953P5L&{pyc5C|2c76!g zOo}@ewf((GxO<>}q3iyP9kyE!;aY8bYxs}w!7&+rVnqY8ITC)XUAy1Ai@uPqF&S~5 zUIVh#YJ+hxTjtY7kQk^ts}| zxSX^T(*0%j*3h{;X`i5o&%sp>N@8UB&{2rcR>OTxs8k6SxGlXZ%Jb#+JMI#@jEi!x z>(W|&b&mP3FLZXgX?SynTHk)2)4!_`ts*yI3(qn2$yx|hcMZg_ExW9}hhG8!0DJl} zpz%9+Rzb;f9vTE48_J<{i+& z!uY_pmDIS{j+#@^MmvPg{OxCO)Y}8;_dyFI+(2g_HTRYPjFT8`%vKXQ$%C}+Ib|Y8 zliHR`>B?X9&tj{;)8DMK$6hXqve#%}?VrhY`!MSJ<7ai_e&vkQfFJTPUeSV*Eu~q| zBv7-Hpuhk|QzkB0*|(JQ)W=VCcM9}&i-HIx9+&ac68bu~(04tVDN=kSDIsNtiv9LXyw6#En|=INM$%do@0qKLBYC<%YfZ^Wl!&czio%=$j2a`e{!NnJR9N-$o{v7}tBfn7pD_#D09 zkJUzF!s_|dUAvLmdh6ztgtKzpYK0effz+e~7)khEtji*=X{nXv&qw?~?9lC&Jh|*f zE0LxcH;OkRjEN|GK^I7;ju5l?#B3#Y-%o+IU)TnmK7 zS3;sgq8NdfHyFl_9|0#O?!K*j_qetpL z#~U0VG~vKOh)QX2SJYE;)sk(IT9`YISNx>&SUHkb;6kv`&$#+qx1zOOwBA$)#ja)mtZ6jtU|;K7|1 z15tF*jZi`HYr9|g19(oR_0yKd)*KcNL#hx9FN`DHXxZf6=vOzeq~ysz@iSzO)_#Tw z417WsQzdv2CiTSB(mIVSJQ>gT6#5JBe=+x-@o@cbzb_$31R;q&h??k~F^G_;K@e?p zqmMp%i%8TkdT-IAj6QmeI(n~z7>wS#h~IJV`~N?$v+uL_KKs!*=h1f_t+i&Y^_|ze zuIqihKNBt1MgikXpRefat(D80Y<gWyVsGV>WpC?yabD)_l@#>Rgjsl zoF^3vcuan@Hq-Yx4zqQNMWtEUWio|a#!NPHK=QVUq#QYJtqd+ViCDe#PP0QaPcM^2 zPj`nXP;rbL6v<}nIfp5&Dsek`GBRIoYm4Lalvz|znW3BBTej{j z#DUDYLi>BWQjnO|-6F*5){pt#|Dx&wRz2pwsyR_^!CXG($WPv9fDSVGMW!CY zLY?&#nXcWpK#0ZT9G_>?&79hak zg_Y@9n?jq^G04@V;jkZw=ke-XUs>Ry$-o0C92|ExMZ*qD+xd_dB!0Z=>mbqTEH23j z(&IbS$Ye-giJLAjXV;G9>p3_&A^SPP*Fk|XY)es!fv#$}!urpJbdXm~=(Yrq28WDS1g}FpPx!5L_c?V zPF4W;;DCM~!G7u}@mRdkPO`DcY=jTzS$QVeg(2ESluD>a$F){S^~hByoYf)$3oU`m zJn}3pa;H7_@F{njHn45syZR$M!9R2qQ|$Xf?pgfx3QK&%>)jc6PGA#|*05`6bJvG3 zXJX?9&@G(^uI!~!H`jejM`KQPH;ur$Ilf#MSZ(z-lta#O3Dt-{Zn6DE;{{_L_Ok>d zxkVB-q3Nsdu*q;Mk|1>%iJyvBv9%43@{mnm*YRWWK^bCt+(?BVD$VYmvP*{s@3mpX zi_vcxR-ObEg!dcg^Gp_TpD&pqX|XoRAF!tcBF$KrS>wPh&xu`R7ci~vbr%nlMZNXd z@1wH!Tt?CzN8eLUX4)-$%9-xo8}l5u5i|Bs11nur*cn=jPbk6WJkDwUrv#z6Z8C0B zdDZLb5ydm8)kOoA@c3tx=ESFc3eQBWYXyF%0)~Xw20&sKrK;|A1?KWqBOWi(B^k4R z9^Ncy=-4F4u@p2L#ny}NdBz}!8r`hqbKZ>oOpj>ve61D_I9f5`+* zqZDr~vL4QPw{a-ltHs5mlz(QRYf(Kz1uTodfWzpqf86|fdk3nHja6toBN@BBGSD$7 zyCIJ!#=#s>A5Q8m4nKT;4MA&2J}szjUVdge_8y(5>uK<+0unLG>Z(Vy<2j6{cFnk{ZGjK5wh#0Dq)JE* zHXs?kxJc-lhu;c(wd_gXT{DfQu7S<$UVfJPbA@B5;!2N>X~uMFe3)rQ-!4&+wWQPb z{O~EU@9keyL+08OOK$GkSGp0_MrVrl^Oe^gvrY1Z_toWdndSN#q_Iv#!hx=f6MQyV zbecBFVAhmSb~*A+qdcM{nhNt5rG8uSaF3k)@&9kQkNw!{#f5iX} zEuOyJJVzWg=6j?2LMSsl|uG@|gX7;s3s|9Pa4;ZJAi!>UOWPdn^|AXUzfZe*`7`cmQ z12twy3=t_&;YO1APrdV9<~=pW;`b&doF|X2{*a!{c>JZzV$KOKO%|QAZx^~~Zk*E-Q^H4Tnev@qnxypEj< zuVZ>yQ=#S%`%s8}qvH9p{P!k!=(2DFqsQcqoc0A9zwD(79k4AA?XiisVsXCE!%1P# z);6e>3UykUWf|wv=w0aCJQiQ@cqO*!<7Sa&8=0|~o}3aSr8VmVkO&?oAPnX`zMoOh z&wnPybd$ssenD?S9krP{630#;N$IZ>N5s)qSCV{{4U8#+E)VEuQD7UYx=9fr!XJdD z*Ox|D<^26MVO9E1mYO|(=dk3H!$0mPQJ(ER+L4Igzd-N;JF+dJ?A1xZ#U?D0qQ@y$ zu7aA?j6xg7;JLxCog|BHGNc=X2^4;bpCgJDq6g}zUq{4B6DarA%~hjl_jlwKLCA&e zR)$O&eK00+>HC;L{AGS^dCF3+FzK? z{6Z<(IGOF^9WTH&jCKB-z!%&(L|4b4h=3ZTi*zkykRG1lEH>b$UAFC7oRtHZ- z381X>UuNM5*iPD^7CeOCg3#(E*t({in7o8 z0=Air(*3TI=JdNqr>OxEbrKY;T=0DcQ>skEQS)_ceH_1RvDHl|06t}Asx&*wGMJNQYr+QT@aC6;^$`XZG`0tyB%F99FzWOh%ad8hDzMNOeTdkXZAKM4~}akat$FpuDtLV_emquMcHw zLB8MHy(;7Q^uA9RrzC^9)Lq>o>e|auNeX4QR7505A@jg=MGaxPht%vi>XqXP{1Ok5 zV((Sxs8Od2u${XiVk_tM#zI5Q-{SnCNT)3c^IF<#Q#hf}E&6tQ%is~=8)nss>w|pq zX^Ka?;c6|h&V-9KIKTEP<3PHtx6{UE{2mL}q-{*oaN+iRr3st6zQ(w@5=9>ii#sVS zRyZcJyK5__u#EdCj5T>1vvzjLO1kOMU0Ma#A17O;NQ(-$$L=RIRBO(VSGv#coIU0O z5t3@;sGYO_wrW`n5gRX!sWGS0WpRk@ZmobW$ip*eJzKqbKP_;ksn`~|CCsO7(PKwu z-(mf&`X?qOO^dgC>{f((@BlI*fjuFr;b} zA5J7N72H$KKRECwI)M!VI!L{NAkA7yhKN-kGK`UpfLZzq+%@Z?ZUMgt+G0pHt z;AG#rb;hvvu#~Z}cRGtA9S;)&Wb%jhpQHwlI;HcH-vB^~Hy;6qilZ${8hdk0YP-$k z=n$}v$>sz^w~+o`>su-(xTfncM>|fe`ve8?a{??}BsKWG-JzU8*Y^LuhgP9n4Q&MB z8Th;$mP2&sYBzhfK4LF4O1oEh_&TMLcG9sfh$J*`!q5egci7~*n`w+Nk?C&v-?!t0 zB+fHd2h0U34Ndj->mT^Oz6dZdoc0rw6i@Yd7g#F>nU-9fjf%AaA8&IFPz2V=Fc1MD7jZM^>0N$lbGl{RTe{v^EjZ!zQi_QPA}n zFIxzvPh0XGSET}L1*_}H{z&Y>V&EZy%yq9(v(029w~k=l!GnwXz4AHPw68uDzhisq zl6t*L!S_Ssl9i)uRNBte{jZ&Rvk76^8y53v8%|U}PsDUP3~vv3+;x`}UwDVZqr4W; zZ@A{jllN^Hy`{J!wU+2M6VkCtUi3Rv35SSVQXI&?_T!&&y}O(zW?DoxS%+&s!P}vn?JYH z#c!jwwdq&k|Cu;D<1`LGQ{p6WxoCQ?sUiA>3V=s4i;FR=G1z}r?)iCzej*$|Y#{XE z%W#b6qTx&?0FFW<{SMCI1s*8z?}ulv;{=W+t97Ks>YI%xCZw6lv`;q(gi@|G8Y2rL z%6DDCQ7vPGT$UML4y+WHjZw6xPw;I#cb*_fNxKZG!`Z(xFzhwtSaBO|W5bV=;)^5{ zs6^IGe#vO-Nn~);Noij5pGDXfNF;Ikvz}mN@Z*0_YX0}%K#p>@?tB=C|^i%B)rAF*03}y{G9QVPxx;-6<~% z>mmJt@W<{7ta+_@YQ>lL<^I{L(zT5L45Qbsk8+;o)Q)}`@|FG;wAc2kT%(b@vx5W~ zS1pT~-L-aLVrT_%->JRUL)-^bI_$)EVt^+CbuVGS#npB-+^(OO7nX6NWr<<d)+IxJNiU$z}68_CNESACx=?$a1;Ay7LGj{yz4&-5m9^4Q2 ztdJ5WK3WA$Rb_tW*Kgc+Y|J3|Ti{dY8BqqgYW}tolUf6bqMe)z-*e)M{Icges&@0{ zVO=4!G+CnwBdfjNwJ}Q&wFg0uUIF9_1IBRt3Za#!3aV{-kSr@!0%|Ifyr+*HHDO z_0#nZvq~WW>?n3C&(2@x_Tdd$F#_6SCf$ zr`EaIPmwwB8RP)L`Np_{wu7Mnu0G&Q57gXQOo@< zwlD1N{Xt6Gp)Ostu>H6c8W9WU=ofzxA7;bWjUzeG>X)-As8e!B~YC0SB)x+Ke!{zm9-I6E%k*Nn`h{OxS@;X(V$5_~L* z&x-O~JED2DD?wBcbtl62(S3uXnEQ=^iC%eoUvSydyn1p8kmt1o^1j7XY&gn9(fgKJ z{^|0%xSI+7@v|Imi$57udB>K6p4-jg{J^b4i0vYMnY&JxG;qQJVM^b`1DgE@hgkV= zz^YpG@aP4UQe}4;q3J7-B&3PL9HyLId|8~UF4HR360dE%PV+cm7rXIh_%xsEacyBX zHa{73gQ8)-W|)Px!DkDP1K!Q8HQ4-Rrpk>LBD$_0i!^`A=5!oe1g&e`E!~ioM|J5k z{D~aM&fW-losJW^)+JYudkUIWXQpd6@ADLHiXUE5MzmKKlm%QlOaA@6C&+KNV=ZmAFP9(of^p4$YzQ{f*9kewL|L4~7b?|+`UuET$_KHb_d!@w6 z%w_{}Yu#gtTON3R@2aP2lm++Hd^PYWj)KSYq(>lR!4jV!sV|)`efG__Z#~_wn}Ddk zYr8)+^|2ccX&g>T@&J-daTcqnj->uygs$`we0rG3@azp{?#~nC9+XxolaXgE)PaQA zYb2*4zDHdTl zt>58L?sXfA_LO^?tii)j@;<6Dqk%a1DzOpti*A@>g~Z9V6kiTm_XcP<51; zpW4+NaD8pKX8U-~^JCBYE2>G`EEUV1x{Y~s)w5ebvyE?PhGu8wznl2~Z(#}~@V`T! zDUgW&Tz+u;yDsuyG<>)j0ur`()Dqc3V`LH6+)g11f^P>_(XS0ZjHT7+t}_UA&fJgs zp=&qt!%p5!ViZRX-~5suZM7}UA1EFo@2`n?v`1A}tEr6T?>|r+yru@VF6@n0Rr@>) zXzxl{xR0iO`z^K#^YhWJ#go$mg_FwA=Gh}OU`P@72ae>FVzq{#wsp_E$ccbN?P?Ad zC`|U6j_}09X|g7|p3PvajhK8lP3)2mx9b$2vB!suqEqWd@S0uiajf2v0o+SSMY3Y@ zYg0VNNfpF0SYZ@}TN-v15d5gR&a_7*(am#r%7Uy0)IurI;>4OHDVaH=sN)lci>Hg2An}T;^U2H}K@~hqsw1g|!m};^?8*&%^*!WxPQk>T z`$KBnP<>7vp{m#(%TZU?XA5jYTgwj3Xy_}!jhbouO`J1|!!&i@&KLoEBR zxa%&N8lu7lD9rpF!v1}YI3RNu@ro&(I>M@#o@`SAslFY z?{ZWGd^ylAw3KIcA$6A4X*5U7EPmOi1Y?da=@*g>4x-KuCE~;VG`c9 zMt(}c{4R0=US$q*`S;D~l3{LG|E0K-*?8Opnak{tgL<`Aa=Ig+?$Ru5A@lZ;3fjDP zjZ2K-dSj^5Vw6G6(A^FmT+q@IWnsCxI6v=MUtLU>q$W!5ow^+Sq|gR4hFih(;J170 z7MY0sYB^ymB+U89sfmz*p!?1Z zdSOlqFk7`fS#I2PH{9!;ZnSupP<%2l=eB?;JI~RsSzqTa=8M9kdG1mtwrhZkz^h_0 zg5LxWCJtLv4+p0bJ0^)M3H0{QKciN6rR^AR52!!X%z%6iil)%Y`4;55_-S{}f-kd|nUi_!F67q@HD1H-Wk$@&x=f1|@9OFNyoZP&Hm z3Dee(3y6MQKC`M&*YVY-0hrfx#|+J_!F3u)9vIJrf{JPr6K>U0v-S;KjZBd`>a;YF z(kG74yV;V?_C6>a&h;`N!=qR$$&0m;v$E!0o941Nvc^v? zC~10Lg$l$B=%S2K>LNG$(3cq}q5NW%v^d^bYvnil3bP>wqRc_HnyQlJPvGJUhMNs% zIJi@ZFJZWeMOL&YQxvMgg+z-wUS+3>puRsGAT>IM;&HfptooL!kNQw2V3 z$n-dB=Z?;J0yt-J43z7=%X!&1zvSj(O(GQ9kku>ED~l@+9FiThis&A8;=RtsciMEq z5XSv-Q&uMSMnNNlbe6Pd4j--P)plP)WiR&;8}uXh89i?2;g^WIhORK4+ zxE4ey9)K=z0|4%<#AQ){pqox5Svie+K6bC)dG@bkB7DyCewy;a<&*hOfj7%vw%i&6 zLS4uTbjk#RC+8B!o3~slc)Ara{ZF~h{OL9i=60Q=hLLz zo=oyNs9cDG39A&syuZ>eor>>P$hd*F-4|9fhVN0Lq!>Yink{E99p=RHY*VlIL*7u6 zYAM~PpPB20ha6Zi_BB1Ji(*^`X@68pCVk#%iIzR_wHT-GMg}&VzcDbAQ)Ssq)3dS$J&r3L(cuHq z8Iciat*SEn_Y2Z=8F<&B=AH+-H%1TJ@$Tc~=39Ey-=i$@v+Bb!Vc#@*XWA>u@Mwj7 zvcq?D6`osThUfY$awB{ie`20A3en@S`Ue*G!SsF@zvT{sq!82|JQmfSZRK|Jt_BKKL%M->X z?n<31p4?Kq7l$@a0=ut$BZQI*B2<7hPpXEvMUH#u)s6|R<9dVER(745{)oM>E^O49 zN(JJdTMGTsf9`^eBhS6lsTCQSRc)Y%bFOnq;_N#89L`o8<@G`I{;?-`Mz%)tKttzU z9zy$_u@J`JH^$QPsfA}&q8!zbH5*2vFf?X%D_UcLqo4PCij3jj816?cH)69vmEPb=oj4p$| z^=#QI+xsmj!re#Gu+weAlDjFkODVE{GX(3-Ksc{VyFBzb_I#rH1w%)@#U8Xs$MrHa zX^Jd$qqB*Cy`i;Lt*MrDd78FD=Q?_J+`VkcfEA1Ep&8ViO7cs9r{yiOJ|oJrkA%s8 z*(4$LR7-PVS*Ta-HGD4+h)RtA_<{S~%zXeoir}v^ZHL&@t=~+j^N59#Qe^&o6zao^ zrH3h2kad6xaPDNL*;tLKY?OEd6IWj_ZRu5*-XW-DM;W$)NK#Zer|Y<*I>|hnx#4V{ zZJ(uUYkktT!IPB{@KSLt3ti%X^+7o30K1$u?#G;P_ZfxM`EFCJ(QlKJ6n_ zo=+n}8_uOaci|V0qH?W5;O`cWjAEPEF_G)noWMubFeQ)glAJZbNOpFcDBQukv8>++ zda>{T&o^=}o)3SySU>76cjC8}^+ZHnTokuh6Nm}!RCHoZTXj@E6r0QGAGOtFw<$;n z`dei_CAzm3X{oxuR{_Rp8)c@sO}j>`+z7JIQeYAKMUvMvPZCxzx=*5Ft2zGu=&cnB zI1xp@%|La&NXczjeUbhEJ>+KZYmov7jlssY{*mylEfCD$d&q4;BQ7Mc(A%_FtorKb z)(Y|B$`mi#TDy7kV#hh_5JtfLDvoM#KxXkp*OpWiH_TAK+GH$CQ@A8|y1DgoWyjhW z#mhj~^kQ%2sU<9?hZ4MKuRz&InAbz&_yxxyk`T;Mcz$5wj zX3!v~$TJfH4P ztH6G)-J_*ELhn7tFWR@`l0DrFrF=#_-hFV-G$Zs5o6m1PYhJ5-h|p}7DVbpMY+r}P z=J;;mmEY2+r|+2#`Jn8#s>L3QldNpKZ!xI?vGQZTeUp9U&To{lT^~KP_*59_gE$sa zD?=OXg&TG)yo=ElkKd{=vRw(efD4ST`xd-@UM=B&Z6x89Tq}xwT%ZNMYiY_Ad(Wro zm$wxfDi$9?$KU6&{34yFUI;)(KhI8zC1a|MI_!6o3Y&f3%+=kPQNvaL(zpA}lkgYz z?Q`D9sNKYIWI65pcI#{IBBHuh^m}^aPZlRMikP$(lEN)d`t*(aObWc6%;=ZZZCb05 z0dgV+&!R9s9_6T4;ro`lA!5_4jc^W49Ql^kwhea&-Sai-{hKq|3zPHBFQa@k$Mofp z?8MJP><)q0+2H*CWrS~-DKE=)U9Nsi!$5thU{|p3C}gijPO}ltYbzxxtRy9}qzq~B zPjUfDCPv0{PW3HXDj71l<)2aj1Mz)9JZP1!gvwgmk)hv>JpD9QMDGdvM(N;nhK6#A zbP_KuOO_;tm)6?Le4KfBho!)}g$G&RK>KZH({zdTkn!DL3*&9CXjm}e%^Og#VaGwy z@Zv6dSEU@8=2g7tOPn-N!$KrYoE;e)HUF^4@ho&VhsCexcSDt%^?*gmSRt+be9U`l zmocpL=-71*;f(4~9vw9BY(JXjf)F`&s8KZ6Tg5bnkuP zHL{3P5VD5$=uxk-sC6}_b*P&-y)UFkr20z}Hxg@1p_DnAS7lH}++TWD(FH>|r+_oq zXYz3cevt`&soO|i+|do}2HlSPX3ng!-74QhowF7ayZH-sUhBl^&L0=JG%Mvw-uo4$ zDsfL2SOgUK>mMAFI|Im2baRjQ;G`f_H|08&zjFSeBK0v7 zh!hLOeG@H*ZDdSENw;1xx*UYu20=gY*iy6rLK!ki|E6hXDBSPBh5^y}3@VFeVtd^{ z4L@TR;#wtd7n1FoDIQ6!FoZIFfELBINia%&vvV!rgsSoc^=#B!u9=a)#u&-V={+#q z`}5PM!o=;2>sVc<#by${eLc6b(x*W<*y#CQkTBHX*5}Vu1qJpuN{CL5@%fQiRh8FA zL32s{M?2Rhh+1G@zx~6`gl-D~o}YV}N?gRw-=D&gvMGdajULT*Z2d`oFqm{G8mC9e z%ZU+4&H2`+8)8#+6@ev^^u~{CPB-9X!o6j}A(VOHPA+@&zXPQIFNz!gJ*)e_bFjHX zbl))-_+QHdmwycx;4+FGnjCYzNLXq8++Fq&ckJxFRoBrRzxm_^V8sYMe1 zKR6F;nPGDf7sz+-G~e3Y25HkX&c3rBa>30}Ihtqu3*U4%suKKDenb}unMYQ&q|c^G z>^+xfp@HyN*>F;S#RRGF9vgyz)S~+~3{87)8Z`Ej#A<=jwzd*;($JPYQTMvPSQK|u zyL+|rvJwNgq=fw6WWatG+K2a6+On2Ct|!Ejqn`uH<>l%Vz3H?rv-KEW zjAx(PS1?hrDsLejFBUpl@!LtRKKmuMW=J!c+;^O}ja-b?i9UK!F*eHACq`nsE8y?t z`>1a3QI_yRg(kU;N)yc8O zNLaP;O9&Hu%_SXOTbUo{HIE!ysL;`c=-Ia^TDhskV#J~i#ghHX=a&D58a%FlE;ytZ z@|u;U_=&AYJKJ~K%?4x?ECZKS*nZ3NHPh~}fx|7bR0BC|QBI$;bVf@nc7@Xr`}E|a{#KiuC;~Y3q|P-Q`M zau1-Jx^bNBd>JK~@PPOw;xkih9H}lzZ76?IX0(~%m^zPss+4y@kjc=DO=<+jLU^Qj_4|ADV4px~i zRcB}oBD}yCo=ZW-?dbH%cWKDGjt)y`T#~)2vg%d%T9W7FDkC&GVEAIC(X?jSaQl09 zv{r?uPl=N;K>GU~^yRPmhGyb`rNaz?n3)hn3Z0Hs>}u`JW@=t)OSey6d6Iq>XP<7j znfWihlHCMB%q0)KU*gO4`?h&={M^NX5Bby>3nV`_ws&H)wG&};pd^9Ay+4zdnFu=4<8%4hSIpxFmO2r@Wx#Xm~lK zxUw*rOMGQV-PnVLuDh0f)vs6PQ+SoKle&Rxr|75vRCw8R<WD)}YoiAGl0P%~X4z$7LW583JpZ`LauNi!D;eW$bD1`-M^?ag?Z z94g2?+pArw*`=@M(b)D}&DINRI>&m3SMn`7oK7WV-AdZCo`;c~z80sdgSy)Xzqwx5 zjc55BX;h`WVHFB4aBNl@a~qT9SFfbPX`I%vvw{h7NN02WG+6Vad=tSBGsPr*kn+`9 z=dSGruL}Rcl91y01#bB&Sfa#UXd&Xe>gp7pv9oh`Q*FZG>~^CzkWN8Rifvzlha<|^ zEkX;TDnN(7)_pLz>>pXE1CCePsw+oXmhr;$IrizXz~PIn>!_$i*Vb-oy#UQpmtatN zJ$=%=6_}tbGU+K~!FANdgRQ3%k`p zz8C~aFoQP3x822;;VeLT@T?0Aqq=6^{YgM@Cgnk2ts>^QNF3&lvvor(13Tv|E5DKokbttIFf7(tdXV~-vlPY_F~Pxf1C zIs{*qO2_(Ptwb~MdMe&T z#W`to1Elt%eewL4evs9cd+*Gb_e%5_Jgxc%M`NNJOX&9q@cH3Z;rJwZ<%UrjqHdW} zXsGRI_Nke;ZLMujT!1WM!&Mc|5_+fcSf~5Yy_^MR}$@b2YCpmov zOaa#$&MS+bCV?MHzH=C`aUUS(p!u!N-%Z{(&9e0$9DfySI!gf{ZEa!UtI>?(6}D2h zVkMo|G`BB@1HNYt&zgD|(JZzA6V_}_lN{T6C6>Z0>*dDt?W-yUa(*`(mgCgdD9!B^ z2igaMvc5YE)V*3vLiC$FOo8V|ye$&m0+1iQ1ocI7``36K#5Ea{&5AK(5>h(v^QAEd z4GRG57o8MenQtKIUXn{SkJG`LY8le6cI^sbZheo9^BFD;<3$CZm_cf{Iu48wP66-s zwP$C7HboHl_t{N^shpSRpqiRoHVLWcE19h-y3{MZE0|Dg7oa!Z-dqIaX)#k$F^S{S zu5C0^{SVUJBYl@P1FFQnx7@sWPGKaWN>U4M7A1W>sB+!VK*N)Lz?V5jCveX|%><&Ubgbl>RnQ#f1uuGb zbZ&PIDzAtw@=+(b!)pOTTe1z2U*8UIfnZM?8`|!qPD~Ge*F33#(a9q}j_cU;$5CKd zAMWEBuoSt2lQJ7DEMQv5=W+h>O8-9D@D=*22nJG7YoBEM6R`K|F9gx`GU_3FuQf^96w@>PrxA4R3{z4fvy*I2WniNZJ zh<^wO$0J(D>wN&A#7_~gtyaE1uiiB{nlnOVlI$+{klF2qH`>2LAfLH<&C4&$FU&)m zE1Ut7Cku&Si7Cl9M&z%n3PZUV7q6v{%9S%2IJy^WK<{4cD{u$5RgsX+j{($wBQlhF zo?m4XvKa=?>eicZuqGNaeP*4`TASX7_yF@1e$E3xC9P!_j%U0GCy`|2lQaUF@EZ$4v8KfHD-RR>*Ze?vpsrSu*SSW<~Q4BuqfOjcwI% zMu-{xy-I|sNW^L;i9=GL0*aoM`r+~UZR@_Ga|Ok3ai7QMD`~*TW6KfXh2AzGmn`j_ zBV=$FkOU82i97ZFxfCcom*@HvLp#aiSt*{?Vec-z5r5oBKuNe(QQ2}*DN*}1W%nM# z&cvHUH-UVX)XIf+vO7cb#-_xorEZdjLa9NoI~&m+_tio4Wo}a5d*{wokwp-X4P&-8 zdC$C$?)K3sR9UGY3SM@*&rK5ZtWsk&-JPb*%zXw@H6VRblJ$-55fnGmq1#;isE^pNDXm z;-vcQ{>Ec`Lkk@Gv~2KDB^uMR(cBaUc~U%r?!o^tt}%&;nCMG^tse;M)Q*m zGj7GKqfOG|#Zkwn79>R-3!->kqK0C1I6i^GQl%aWk;m8e(pEs5y89lCs+HRJHNWbs z_)vGkl$haK(uK!yH)7OR^K4x9e(lZBA6|U_;3%?G{H~4%1hAi~M7Pr2Q$D+j<27^k z-wG#6K53T!bz`Y6s9ogCFzE3zXf&j62vuC@V;-v0asf8o!*yf$J{=+zQlL}cPr3sH z-l?_+!&DSqJ_&Uz!Xi?*V-liN6ifFny2S&+8PH`(%M@=1t#ytE(#Q6#py~6FGdThy- z_Rr#8>9+USS?aOmuP5&F++PK@5&oKx&-*Ve4w3|o5Ms$Gfn-KD-rQI95l8i|4L}#t zSS0*?s(m2_<}QA;_=D&?5Nhn>iM^x*?cF>a9jFUPqH~DJI-+#-m zAEtPF>Ak@wM*H(8c#z^tzBtXs=dpb}TrMaM#knhn**AZgqOvVhAbEIZA(Chji>Yu~5ny*sJ`O!umWQ8ZR4rAG|4 zAL6H@@;x7Rz@SZK!}8}gLv^o>D(Do^aUE9+lWplPIHYao^Q^Q)Vt9 zYD? z>vo@iaKiO|NP)f`N?_kS6lDf~mc*>ND@@n(h0L3IrmNTg*ug#3K--yzAg)hNW$&0; zUrqby7@GyLN0FKmkxG%xJPyPnyVP)^&4_oww8CRJ7Z2CKv^r_qSSt>38_Hn(FR@)I!!;;})_1wPB~0jT`mJe+jx zj;3N=Elpq;@tRp9n=~{ZYntP< zAz@hX$7`N{d@%y(y@4;8(yBE8>KjI6Ei0?j-hQ_|xFPrWFkRg$?^ls|JTj z897XKwqUILre!OH*OKT8mOU8=8fl=d!;m9b7vlZhgWq0&8ONBDoV`)!M z7dqBVx8*6_S0lfgm%XyWJ1_I=T~#isRTEJ0Pv=5=5k`^aljEa&W_(sn1T_lRq3+pF z241f_LqZ+aO3fkdkWKz;X4|>sDeUI?cWGE2ItlMbIm$E%!;-egD*0R4285F9Sg#G2pThDNBQQDjrWz*O*10Cq8ztaP2 zh4$#zbS9>ajx~l0^*kN34Aw-}erA0OZt|n8fa@b7Y}i*iMW!fEVz!KGC2n|}Eh9I4 zXR{x(3BssrR?1M`{9ENeRzH2u8UCkG=--0eTExHX{2|619(4=Qx@_ddRxLpqfmwaS9Q^nc zV^SX_ul;w3g`&GM_(-fCzB(ZvjEigOqKftxa3rYD2=knkNPauakAV14nE{h8Mn^ z>}TSc@Aj2T!3|x~d|^}_f;4ELzhKLF1AS(9TH3=ZUS(LXPDd7blV9sjHq(c6w@fvV zIvI2Jwwp4mIQ>2tDYE!{l2jIpJhZ_&yNuoXxQ`qA#wV-+_Ge&Wo0V;elm$FTwq!}p4_Fg7et}?T`kG$5y$j8M+3Cwa_mAkJpD5mt6@tZK?eA`-sw@E1odLu+W6#3kKM%Ybjvo}T4*(S22O{xMWR>ZmWC zPrVuk#2CE4Uej;kw2rlymkeI4krzhs==qhKF8|fUDDKYYo@%Q&2#@q^@+7X7oX%2T zm~D*A_PbK&cBL>|JnSsDkM!DrE%<^O3{AMa?y+-83&{{bAf$V8t0I+Zo)>4 zkT)#MmnGp*3`|``U2U6(R6+nBdum4BL=E3`_LcVqlq6ceNw2*!f{G<)jx}d-sQBno zFD<6#H|Jai|Jp8e_mtVjx_c^Gy2;DxZN}!FENwL#0h_l$^+FleTk-qHNj{mpk9#mD z4aR_>YM_IKV7#)GGXqOW_pGQWA?XiAx3%)!2)SS0Pwt*EQum<}9bKs{g9-)CSwxn& zz*_~-kgT`cZGROnDnLlP;YJ#^W*vLQUSy=-MB@R};9Q0^4(9}~dZ#{P$dI2dHL@Tc zuRA8ST!rJ?@%->&G*@UWKr>zR{*UJI$jN7sZsG0q6Or8exoY;TxBC@BoMIZ?eT@Yb zwuIetID45v6233uBc9N#B%OX4n9dM3GS}N6RbFdVx<&! zf)))LJOp=lcltQ@ygPH>z4v$K+;`u+_x{>5naNto%-(CQ{ZTQdgxQ4k28h|Qpmm1^ zO78S@aWdFYkITmq{A0~T)Go}HD6;6S_5OA1un-?oiY0$Mzin#%O@46V1g?Ua;TWzI z9Wxy!R5-jMGy0W%748YDiFiwTMvSnw;k|W=I%!{P*+#Sp4;*m`qCp6yEZ? zU~bU7jF-Z&e|1lgGU7GaZ2Sj6n59rE@_Wo{(GpLBBpIfsy=L|XPi8xHE3f1QYg%>S z4O^|I-*p>I?K>n*3pjUI#!msZB|`mOHX_fvLEFH{d=I0MXwYj~eBU&#HOb=xukfXF zGmix5a<`+)#m{h{W0jVC6aS}|#~7s17cU1au(9XGXP*zL7EVdRGruKW$|!S(AY%Ey zrUj_H{V+86P2H_TY=}>Z=j}6B?B8ntc;--WDAGsY=nbf`UVPih8Ts;T*XK}pTDKwH zW=nl3=F9M<7EDZnR&ZS#A6m%g49&w7p`Rm7Uym9AFrvcMu)B6Bf>!XHq0a2jpAqfw zK^$C8IwHj)T<4cVT-uEjn=6xr+k%DXPE%r9*;QcHIQRe^B27<2;>bV0bFVctSt?KG z@K#E(V(GF)iYs!@qt&zI&VT*jKu@ceDObqFXMl~8Po%ZbWjR=*>E-_Gjw)>MgGJgT zyesl~(oPvuT$biFjZ97RRcVWuYsNxfG3KqcX~^+x$j1#WFdaQl#X_~W%LaGw-rh{F zx)T-t6sztV)w}*mZl{{_VoB4H-6x%!?0J2wc_mLgc|Gyar9hK!=sfoDy6q(XOreKR z>!$Aq*6o~$M+`dSW$8<$sr6^?>ZxUia?wmB(8`ree&+a6?y*R#TcKp00Y(k$f$Ig5 zz0ayi$s-r$*&U|fAsMkvbzDtr>#$^Cg7?wWgMqzF=*8Em6J2l8N@XgayiuNIIZ5Ss z#Gu0~qQ{NdSaB7TA4|WOI^!(5oV=v{i$!uoMXj@Om-FxhFU)~k74@s!`0 zjih&ulRb2=l}FX)SWwiYp9}+V|u9XQ=+aO6!T9yR?AyieYj|W88uAs58~3& z5^fYys;^j%CFE1Iq~eRTxmMUPs3D0Yg60p=Y5o1P=4ZFYNZLH79gr6tO&OO6e)j-{ z%1!71Awej}aO1tyS|x5 zrLERAuUXUiw&|aBc?h+pW3E|eS7hL?p_oRuRl+`$8N&7&UYu(zH%Hbtze;OwDO<$X zboAGHBb7HSS2(1ZCx|7ndZ-aCALbKRqQpNYHw`X)n%wg;J*~`PfSkk=0 z1LCCo87;2y)v)#N@{U4&epP`B)$fe@D3tOu&Q+UzO6>*)5G)ej_SQiX!ZDwpQG1`y z$g5eJ8zkLLnFs0G>&NS0L3kzI5hK_b?u6RF{n7oaZM3wUe5dE9y=#t{CI(NGyHFf0 z3!i`OcTd*R)Q_C*-|r^fn_HSyA(VG_kq>S%O6h(GeJTJ`({}fJX@}OkIXszr zdMq*ivqo8;`o=}bfT;TN7l*z~e39iE>8rD2L=hjKAj<24cI>fN3h`7RV~otOZEitT z<;vCjKB28Q3ZMIr@OL}nGLkUK@oyEJk-Jf5OyKfO2@Su0TJ42W8Za~NJl`uZ^GwF@ z)k<7pH-~k{5!#Qg`n(dyJy*=$t8x3B-t)^FBAvVOY8r|sYy#SMCYIPL-!+T-{rhO; zZvSG*XT#4B3<*zEwY#q}fERFIM28p4k8Q6~`vhFXtbZuS0bqfpL%sQfb{ea#w9~O6 zyc$9h_@bi|j3r)T?cqQO*eh`#J%~qD$Ci|KVgp8fo8oGwFQ3=Vv)Jr; z^a{KlYS8;}YBM^#LQ6BS>~JW_Xfw!`oSK7G!4bfWzNxlG`d0h)bH4L0KoZ#nS6mf( z_`el@=W1v^C+`$mu_$C5R-PpRxiD1LIO|i58@HSJy@d-0qb~cAvEq65M>-QV7C#&c zEV_&jaY9HNB#nu>uN3BE)OYpnRr+?WKRUtWxt6Nj)p(_f?^%E5ojm zT?##Bl~h9AyKw2f4Y{W#H6|w%_7B;x=uBkE0aD_J$Uy4RZWMP8r6@qT4sOYsLE(D~GZ1n`Ia@mj zpX#C3k(pjb@}J=0?^+=ygLo`3S0I!^GKAnhe4Hu)>`= zizr#kK}oq1$lUKaXZ?{K+dgVLDUmK$>X#d3*QWBo`WY@ ze2C#|g+}_g?OQC)(eG&j+SPtzZwus4ShMo4JiUZF(&BL~FaO*~>^Wr*Rn3n{)Ix`G zWLB7@PU4}f&#%P<_yP$YNqf1`{@U6#5O?)b%c;xnns0TC9vWcRsXU&tQov2?IaN(L zV8QdotyOKhMtKWZ7uy!k1Kldxc1h` zWhHQu*MUk>Ak+EOVU0hm*Ky`w`Ks?~>RP5*eC*wT%YB?zn7+bq61+&m1P5ft(FXqcHWVH6YeHslbz|Gma@nXw_pREC|lZN+7$`R!r;(QjR zv+yq)a=3^ZTTmu$+X>V8W{!s)kb5ol&1bajXXGQu=Tr1S|GEC)&cT8#Tj!Lx@=h&* zgpc_0dmqJ|w(A#hBqdH+BsU927BvTQ6wD?ioDL7V$CY6$L8XBp%X)kgd}cp#b#x4D~2M#p8P$7Sr`oO73g)~BmLhJ?FZhJBtbm${(B z#MADsAX(|I4H4}M`Sj-AiPgZgIYt?F{$XiZ9wLxKv$c4!;m@-z@Pog`)S3I^CbK2U zSTF&%#jkEjr^#A>tm^8n8S@)S7Wki&op%jMmp+m~>C>oj^~y`nirU}W>!+#gUm_Pt z%6A3dt8qS%wfni9_DopF-S}YK{a{qk;9HI>2I$W+{6$}E~}d~3Fp^JH6VTk$K}kx$v~`#Ibc zxF`sGNPa34I0D{(E*nnUQ_@i;!62oXtA?mBd}@sFL*G4W=05}hy`Zymbd!tdd?e}^)@rX8MLOJCJql+P7SK+dzixV zWG_97&oRFM>LT{p$gNV_$Cv*}Gu>HbE#5OD0_PfdMWpoNv#$A?@&sAq;!hgIvk6c;H`nt?}hkD@xBD2PGN0k$zg0jW!Pm z8%d`R4;_OuEt3c5$%qxL-e({AtaMfyE2HEdqY{F7KGUk0pkF5FT5(pI0oRI2<y<4DVh$oS=^_HD;T~~m16Ad=BdzxE;-BGHk8(20nDSl!~oS2A`|YG~BrA zFQy%=9HjhO+q@(N`lwjN4W&_3+p9h)dD2NpNcy8bU4ZsWbg9L*3?pOwfEy#s7S9W6 zJTk)A=)2=jYQ~L#F;{#CRUUOXec>;^B*A;XM^x+{?xUvT#*iuAJ}|n}JsG9!9eb+nQN$h>hJDC_B{-ar~KH>VDLPMpqc>vS?DhU2Z zUwPG$9&!bbvhxq$F~9T%e5vjqgXx9#-*_zG69&2D$Zg49DpBx(4>^mI#lbjqoXe~A+B8N}$ zQ;K5eed1(H@rig+U(SQ5X0VAEf4$n-)BoxLX7x%03uK#|ro#gXm^+oOTq^}iutu8W z<*L8lgQ0hfNL7HR${og|XRk$LSnxvZ9D#GHu|Eu*AZI@Yn_Lq;Q8 zteYt;1xn);qXv-1^+d2S|FOvibjkOX#+5y%&NTGML)K!Jce4^o4-W*;00f~W&sfb} z9(7Sg7eh(_?2a6dXj^ ziF&Mwu`|fYVn$Jh()Eb_4YvrI_q2X%Wo*v4!l5N_+M-0{3J7Ap=dy?)B|MRUG5_%d zTlV)ll(JlBZn}!vcV5|t?#m{ZMHN1jdbIMRO6jvfnF9}DWQ*t3F;aTlrxISAKMymC z;lZnYOFxmil{V=$yUjGHJ&U85N)h7|KvadXY3#|X=uLk02`1TJemsF=V z)OI_=0UncKM;RiW=Q|nSzpR*)gIvhXxa!ET7K&-RtNbJO8$6;ySSOc#EQuG{=PKeG zFsnq(OO^Dr?d#BTvX(Gk{#@bqd%AGpAhZUnQ{uNPoL%W{N2#_MEO*8xlVw*LY=TYi z(~*qku6p;|AI6ukBHpsd1XGyJF**Xq0mAo8TjHx#bT`Fq&X+Atuzbj^_3rpvlJ68UXFQ*|ltotW zG|7ZF3g1zb@-LpRc+`GU{bvq56z|sdxa>O< z?ccs>NvEPMA-(JQsZ@r}a4K^gva+LfrmVj(FVC><0FH4B@a<=vW{M|zx;sgT?s8yl z-g;5ChO0l$s}5Iug?{S3^jrpLFd$S;>^K4GKkV|)*V%v3$>%9&BR0w8oiWBrjlymm z2IHv)ka{QfCk&c0EWJIve95btBwm2>lR(S;x#LSLSp&_LSmz?A{OK$U7j#!s$^IPLNykfj;Vq^4Xey4+LL)LK4PXKEKl8w}o&@1#5kdxIUD1Ozqq z6)>l6f*!eG7BTuHip*-4`MI^p`Pz=QRJJc)Ekw~=3^eJI;Vgw_EyDS0oP?enk0CfY z*mwqL7e1W~t`{HDI`~-lQqB4|(YdfUl`MF8b(v+3-qp+4V_5qib{p$0BOS##uZK;S zd#CcZcI(W~Uq_0F3-S!Y1oN9NIAd8H=Hdglkcm%a!D*| z2LKfB(t$|$j|VEq>wLFHg~Is`KGCP$new|4Xbt?W@6~bjPRK)bPI!tr8b(ty81^;E z4dXmzXi=Afe3RO|L|P0=8cb0%1@^o&brw-GII->M2c8&YD5i9;T_#TT7$laNcErVj zSa1bOc~nq}Vs_mtw0G^$3_-^v5r;6?!yP>87?CRco({-6U$sQcr(`aBlh-b zA9zlm_l()wbq=Ag#V<(JyVdw(yG%Mo75;Eq5wiTe_GBgESXMYmiFAeEP*!q(x-y8b z(|C7GL9r>@4_Fuw+My&B!!8pTfuaug86(R*#Z|?apV(B`tT1_-`BWyw>JPTQcipQv z{70iuE7E~~&TjCaX+}Q8aVk_R3*YM^mmouUC%O*sxZ*N~kd(V_g0XN@3r@dOY{3V> zRbr#Em!YEKIgzz^ImL$n8Z67+a@tFa-bl|xED!h*CKiE=o5hLyKEySec2H5nNP4Ir z5{R4sxX|ge79P_~aymyWEmMCkOB0%NYThz0uq}q5Y^|ShMl6jAnbB&@(YT=h9E@D} zj>cU7#k%*q^PryeEc3s;zlU8M)?&}fcVK=wiCFmT8M3{xo_Y?kO@#5lvbqMaB!O%R zVICinb-^3n8e=}X!j7LHwt#rcCV}bo8;-MNmKWwn7Z6hpleHc}lw_h;fNlx3?Hih{ zrNKmG;XRGtJNxjINLiCz3HoVj<{ML6D{i=9-3~>C3$^k{Jl9v8GeCCXC4F#Dti?xxzuaV zot)adQ&DcXVyJK>l3`U!Ff&uF5qEe-ccx>wIG5!xKfdpeBSVu_77;j=Qk)JgVktmF zO!hblk6ts@?=7@)OUlYg;l&j{p3>*EctyyF^!#~wI(Rk)pa1NezFBae)ImY|lV{BA zcrWx+a0bLc#^`Gyw;taU5HIan?Oun)k3|b|d1uPDFt(eNsL3b0<}48-JWt;XqIWJ3 zu9h%RGf(R_*U3%F*@myCWNRO*g-$_+FAB ziIyMjRv)&~-wge{R_D`4Id{n1IyVc~UCOK6Qs@#1h(K@+VRF&rdphO)HI~`ZapgG6I^JiD zUUx}B2faSaw~}1=Zfoz1Bo$4o*U1Ea68)b*|s{y z5X@HXWuPoFORNj@CS7T|bghMRIjk}Lw~8K9nPaliX%)_lfcZ3l*hTiP@hy3YdeMvd z`{aT6$Pxg$boK6^Vne#fAwX99I`us*0^vTH>?>3{qaEh(lSsdSK)t}7XD}V&j5pBZ z`of;c)1Ok!L({t4(`F>K%#`=+cU5tfWJmx{izS+nE){2%Gz`m{ zKuwOQc*YFfhh2wn#|0@vnyj6Q2X*38^PSk8eFUNXCdbE4FnjvpjT_gTIx~+Jz%3xL zv;Rq)*I@beIUW}qTSRmTXh`rX(EIF%y!vF${xV!7Kcy--sRqFP>VmPy3?Ct7FD3)1 zwK_WkdhaxBDU~ORz#~i&)A<+R`dFWOi$KVEoiN}Q)w5eCb|zAmUm-8Phn%)bp|=p5+dW9uZFpnAGb;QK2e zQc&>yzE+lk0|rNC0%x&&S&}0r+!68WN^myKZI#ZRTUs{YP&s z{l8d0ix#eL1RHzxYOn8Jc@z+bbgon+3} z0J(oK87<^7QIy{!*2*QNFSOHm0qj1=LI8b`*XAt+jJ{tssVFe0iBC}J1!LafqJ(>p zSKY^58mPVeY@WwpE1xm9z6e_&;**Nke)ww<3&td=D4mhkGfvI<`O=%JrF0b98DCGt zOx6C0J3f)19;#R`wrq?0lJ_KbXnkw=rs4LhMvY@Bfbd&(P-KV&^+00Oaco3qTP4IQ z{uvg$8BgWiZxq_rIOzYAY8xETe+j(?|NG@%XJ3peR$_9(@`*L)1X4yT}6G@3|DZPhNdi)#|qB^vC z1IU`T4qswv*H)8l@nPz>|2o3ze?aC4<7C)7!%gF*MPs{@!N&@VX`erR?x&}D26~3G zk}vhmhuh&~6=5@{VBlM9Ry|ipz5k&Wo}~?B9P*Q|yb;J%j^6EZ>q;?mE&s@Gu-z2T z|C9*=*4tF`i|pF6wA4@;)f#cPe7Sj|opP^g!dKUO=6%IU{(bG0`+wuL^Y6M({fqTY z!AcJt)}sExf_ux~62bIvf|9gz{5R{|qw$LGIAm?2uf*OG&6WzTzd6}jEox{^!dh-$ zZ_EZfrig#aI6zAIy3wbQSIDSSC;oH)F$i1>^a(q+B@{2)*md9CCubI{Cg0-z4=jlI z2Yd(_<(RkIxYtjPp8rplR5q(J*_D{S(*JP#452{4M`wu>VI*z5ltv{^E?q}etV>|fYTkthJ6L3fekVt~x+p&3U zZTIxC6Q@SIvvPqIv8UH)gvLpWb-}K}?l|E;UiUn+XkRrx+=z%%0Thc^U56j3v>xy(W9@kvGMdeKc{lMwO+l4!cNv zM{^dDyb~hKm#FRH$Ph73=rVAB{ zY-=y#nBrw~qnt5K=O2}6e4xNsE&tq)-CeDUKB0=#_XX!>SzLM(G?aeIk>#VSC!X&T zo#Ll@zuL+?Nm(|7yt4A#fWTNxn(?@#)if1k@jF|mSM+uAH!;_4Q~12xdO^f8K~EP$ z`EFV)Bv9TD>BDz@neZy$zRg*K95T?t67?i}1~9F^y!;fLA!^@pee-DPBg&KD=Inok z7a*M2(=8g@tSz2gzn*`Lit(q_5Nv6)n{X3J+?)OuBaVW6kqAUiznAbQpNmGyng;Ko zID1Bf1LRe?FM{N*!X*u5rnTk7@Mtp59+u-rC7$9!Q^t=;)!5!&B&_XAb}kCXKIF&a zy!U)PW5YmLn1g33gh)T%+_L!>B3FlSf{`fO#EGb|NCpRRzt5H8W1OQW#^KLexKTpk z&W5Qp&OnL}G*-FJh>VwQ*#ka98rlDSq29le`~JVc*8Oiy0id}_xn~CJ{rly;>VI7Z z7}xK1?wL*VKdQ%70iH>kXInB`bnolZ6S(_|q`k%WCs=BFduhCEKrIqg9KTYcigFX= zG;n&bFOzJGLOc_5p|>L2MrBD6VItC6$1??*?W`b&`K*#qcmYBaJyni=-#t}Mg+0qb z+Ne&q3OMs8WcTINmgSco_{nN8#O}ws7B@dhxCsv~G$hZNoCh~FtO)N%<>JIwSr25q zj5d$1DQMFiE=S^T#4E0nAgOI9`7%~8gfW8(+DqV*A$HSlK|x*%ZOHLMt8|(?zc8;5 zcv6(XM9W>{yPA^cyFMV0IY^2{TSADNpLpy$zj0VkK6r*#^cO3=)o`m(tfkxcKDyW;6v(fTZ%f`Oo9fH44)<4cQ4h_@ugp~)UT-9`W}Du*kP z&9%X|AH?)O1}=cpTkdYA`Iym{GiL@r{K}_B_61#{!X;spwNAVv zuDfFFa_61<-h+fk&luYmW}Xz-8VK7xZw50Oip@u95v$tDR}Kb}t#ddWQBh8dN<0v1 z)tWUHnGr1cb`yG}_HdgMQC7ODsyhB4H?NER78O&^)ktLumL!D?Bfx4R%EgXJ7?GD5 zr0_Uy()fkWk4sX7;fsigqAKEN6nVW1#Rg2s#PSXXLZ*ZtIP%)=lHQudwePyw(R{r? ztB1q!v+V)q$j?NXeM<}S*&1k+8p1I3)pws)56MyXy4sUnd=cZfgBv;ROC}L!;!6m00a@r5Y`_o-HCT zAa@Mdq>*}UG5b^3(jGi_Gg1ogKj!>jzVMvnZGO|s`@O6@mSDQMs?(7F{Q<=OtqjCf z$mVUAwE_s6P(nsJQaQpPU0G;mjlp zUo?(d(Vrx&4wC5dW#YH(#6EbKY#r-C9yp);=lr>XvjRds;xK;8Cpl^Hn?u;IlVmeE$uFe9!8-a>L=mr`JZ~58 zp9da-j4cFWHvrllg`}^#46G4N`qK9C#CIRd&`y#p$a|^tAH46SG{lWY%yxaUkW?T{ z*YJSwN`1onct%euM#tO>*0h9E=`WDtNt6+aZI6DKY&0<_f5bUZLjv_t5h1W`V^T?m zLu1H`7Y^$;tvd!dDSD8kug>GeHqSqV5I%;|;E@UnK7u{mhyPnU-2dcE|35E{`oI6_ zzuH8FgtosyrUo6pUpPxuCWU6_yI0ig1$JB_yu*lQMl=QQ)DI1&^fNPZchY486PKTN zP}{DV*`8yswQNksU{~)h_SJAX+Px`N;2%r+1Ib3dhtlBev&bA7W?CW<+ToIkD{RBr z&>E_2zM^nX1^@Sx{s3jys!0Ux+VZ}Yv$8(6_2!2Y1Hl9R`flF6nWR*z87k9`RWMP_ zb{Hw1Y9@I+zZY6AzgWC?v~ubh>i9?l-)A_V!pE=F%S-PY0Jj@u=&hWp<8cESf9!r4<2ZSL@Tq1{ z-v(zz%pnFubf?y#^u<{(jt$tCS7Cl$E9q6?lP5ZdPd*J+x}=eC=N9&WZMQFC(=^0b z83qc9QTanN#R((DFny(FhfYxC7jdMMI|dyQbdiUi#|SYJM3NJN6?2{>Ql%faG$=9s z!4Y%ersK2ZJvvyX*0^Qf6zZ?wAFg+9Pwn=9L+Au66^3w>#AN7pvhof8r!bW<>T&e9x=ErXWNO%eVgB)dkMxY5m_1 zf~^C>o{zHs(%kj$H|i@p|0(moSc;#O+&1o#j7}3DKZHv^>J2IG7Z*PtQbI{H_`;rl z#p?tiaOV~7Nk!dg{3Dvt?u>QLTyD|dLH%ER|6;w;O{LDxp8WxlfDziI`A7Lj7D);! zmbwW{?^RU0sMiOr^T*AADy!fI*i#9i|6BpM#}Yb=d+|Yj7qz8dWuN~y&t5e&cw6k}chTKWV0@?&ph9kn#>jrnaaaQ1f6cBhU&UqoP~~N{ z>hE{T6sflD>3sTa)T>WY@${18Ss4i21D9N%G|-j_+1^Yzb?Y&^>10Ph;|DYl69e3K za(}TH-){o3_R5$EdQvb~IC}jXV+}n4OF7uI?G2N8nm}b@afh=;vKJVQ-&rxV`9mU1 zDJ@(`6s4rw%@*bS2o@*oFnq zlS@Q{gnH0*er@@uJlRdzxye(dQAWMZ^<6{7$m~RuXRK{<)LDg|{VEcoFN;cD>-TE6 zzKzZV#wjm>%_yLoE|~eqD+k>y=t_+6l&TamZX&uOknCJ=PB?&CvMj4YJ*``4yC!#$ z9}0you)PvmkZF)$uFbI3bC;LqpkjvIrS}Vwp{`gz&@_0;0nJJ$qH6Sr`CQMiAD>vA zsb@&V*|7;|tQLb8q1UM}08#X*yILU2@}p?b%fVxTl7(_>vwCgA8X(eeJ5%1`(4Qqo zvs=C0tU?E1N(J9qM+`DNmiR-VJ%5*5R%Ijf#tF4_&Aa*|!;!vTRxa{7bAWK_3~S1Y zu|VaW4oF5>2KdT5;JNI}$GH4Bv*3mSxR;AUp{AzBt+>Z*#(W*)Xr=Im)EXY(jcP^^ ztBw3pY7PfX89O926H3;~OxC5^+Zt59kHV|nYGie0vI3`xcs-gUbUFY1Ig+QDC)k%L z=o*9RsO2e7lOwu z*RGtph3NYWo;op~8g2^Uw*?}{6OvUW)KU%UdvZ-?7(r^)Sd?v#>7T!jk#GGiT58kA zWu&vUueEwUOGAOS{AWCY&YrZb)6W0LYO^O~mu^}JVv!;SPB?m3$Z5pbC2l}Tr02&e zOk~ntJ*Gu>+7{zL@QNWHMu_u0xYD(yXefk-|2YPOy^kZWnfzed@|5SSDRCLC#^kMS z5CtOCGn>_XgNn=2LpWA-6MQiz`+*6oTS!A>h;eLOUq_3EUc~_Rt>|xmIvL+`P*yuh z%O~vWPlixD@q0MaOp{$mstEEoUQr2_M2jJP2+pruz^1SIgfDlu>HuWE=1kt+^gE^_ zm9t_`m%#7C!aHg_Ff*(gtzw8f#6F?lEo$^&-mBjvvIl#Y2rB|Q1$dk+a*Ftjmz}lf zH)jBhA^dUAhp(Hla26?{PZd;fkU)%Y@_N-jQM^C7mg>!tQDKUtq)gY{ zl|yYrqu9n~e@CAL{V81{!MFNyb<^W45j7wrcO!l-LvO1h@!ILn=sL`a-=JcZ+-U7n zpPxG4V0sk`LAdABU_cLEW3o}&Mz152^CD#FC?)c;Piq%nD;T0Ew(jj$R($`*Tl~D* z?Bt-YE1c?`gHAGS8~#tG8nmhP49Kr30JG3kWG?gbJKUkQkMQgGT!wQ`>9*>;p7aEhjF5Y!YBjR#Se%gL%B_HM&S!%d{uJHI)!2oevebv--g|7ml zqX+9!gFZzHLIt3-Dp=sZSbe!Yj~{Bu8&Mi?*GfP{VS#bcm3{j!|}@-oh?Rli~(7maa@>jSoJwQG)NLZuJtRMdx=_* z0g=Bd+4beGr+3wse%0ysFNex6jz`6rY~R^}GZxYO2xK{qS@8fF(P5t?JDaF>35Wyf zPA6708=TU`hs7LHT^(00Zz{js+^%0M=l?xvWxbAVONekKT(z2seS3dqVHvh+#ApJ#R?RUb$7Ap_ma1MtWTud@dpEtbNTK7=?_S?_{RFO#E2hA!2$fTX$idNsc z6c82(LCiS5QelfUGSg0_=6vy^!CqX=>(IWJD>xbbyo+)-)QBq85?4n^0Q!&uYf%r_>v%%TzU<}+@-#99nug>-vv=CCxLS7WRdg}Bj|TvVA}rH>UpV~iiltBF%t za*Cg$*sYntlktV!PBcmynGGSRY=mSibh5~nys3d8&ne6LEP+CoRoj-ktGzyS&52k_ z=sE3szYorDBmdLRbVUdBn@<k7-DBUBquSx;)961RD2e#te-c z5VL(bdr*p%t+FFA5vK7t5cgFsPi()1a1`OYpG}0;mO?xhv+kvLUZe?I6By4 z6)r@MWVoT7G?{ow!bEphYKzTyVf8^U=QSbXc-Jq{@q!*^nA$1KL!*lh;6~7?{w_yh zA%4reNT0=}W_M$J#bzhRM!Vg+0%P9p1Ay8&hn2Ll>TyZWZT)_AJi>16%;+iJh7!XH z@P7NW-iVIu@T3nPhy*-I>djF4afiwf&bGEZ|#oRwEC*$Gwzg;aWh-aG{1L~ckF5wVP0+jD(Z-1MTk z&LjFJP@JYj3B9={AA3-QC@0P!%<0S)3-g5CLA*TE!OT`;kOVDXOIdpA`6_Bf#$+?P zHs`6OU0>=u8%jQ|!w29IQE}XPUN1~!DD5UwE6*)Kaob9XOn6|S(N=~PPn1Jv@*0zT zPL!1KJw2}gy(PO8P(n8er47{4*Qrky?_wi+?Lo{QG4bL~7~AtWCU(s(`uS>Q|EV0Zd@)TW zs8i&(lw;{D-)@qi2LQqP6?Q)WS67~+c{=LI6P^}uL z#IsDyTTNQ^wdze19iuP|PE6yY-)h=X)FAR(@oVS$nRB??`5$cNjwwt@(xqy?!aGAh zNN;#jZy|G5`Wkek50BeERJC7!ZtKrZ&W?Q_P2UEtjdm4dg`knCh?92nJ8PV2;O6ZI zz*CD1pNPk>X8s=@F@n4GU{Ja!`WZox*j2D=^tls%_von5Y`p7L>DP<+f)$abnJ}i- zK3tZtOZOH@>(u!)&jpZB#?&u>zd?9P0~wYOG^ns_?T3sor!|s*$hX`!nKibg_A3@J47i zjul*p-MWohA5w9UrA3LZn8iU1IGxRx;@lO@U@4|R4do7cx*)B%H8uo}39g^MAo!a0 zcIkAAj@i9dalC+H*UuvpB}m>=0X;=Dk@;6Y>xuBPP-bW{s^&cQtVzQE}2+OnB&}-v3Z) zf2r@GDr`@blG=d@2G;$&HanU^tfU558;1+aq2#buatmlOnGs)4{c=3E+zv8OmJTa>Ps;WXD>_z1)lZ;y>Dg zfPERsb0$NLdO1J2fPz=JQ>QUjZ)s1r9pS69gUPsxyA$VU7SM(7p-&#jVq|dq&;j`e{0t*>(rZrKNfRxOww-- zKU-fgaMM|~%*2w5Crai$ zl=jO=^9QEHosy|RAdJfqMw&b70S8)F-#1`vJECt%^^HPL=h@pqN96B1Oz%aDt{5W9 zySJ#R^^eh5c($3u%nRSHq=I~E`3xrW)Fb|Ef#R2Vu`HpD)Zc+ zlS>Fnj7C5&1(O??1J1Ef=zfGn|FNCg6NY-|0MYF}h+*H^3lk7_NWV{7cO3h(KmxP; zJ@%9_IsIqvroe&bggIxierqm??e9XpdQ%mZV>=?=@fT}HRTi@rguTDMDN-LI#onJW ze49Cc`_|*lr?3zYe>S7H9nQn~k~lxOTR(>r6DR2{KU*II zrz2%l&`7)~pPR(VQ3d2%hHSM3R1oPggCsVChKo(;UrHA6FeTZmF4#4WMxYLngY~&_ zg>iP$)o#tCmj9H6#jWL4!%RI>JXJF!<|iifqCwqXkduE*pO7dspClLwRGEy5#a6}5 z=XzNMjv3&kGW|j^qFQ+XQ`Crh%oYKhe4wLL8g)%*0?i|738_ED>@*i^ZB8`ON%Ze- zNmpyibo6^){~2o^?y`(5kJW+3w{ct_^#YK5hGUE$9@8$u(zJRm-xLX>@(G%2wcMm{ zbJ)!YUdw53xHCqDDV*c|o^$)B86=^$am%R&2r7ZuN&Rt2TuO1{*}s zj^+>1iTbpNvBh=PqLscC3=)RU9L}0JGRd&)4oPvI(hSE~`fd+SZRcyTUK@O|bWNI$C=OD`Tjrv(Y*(KdUhsIMUVYb2g z0k|L}&!r&JOD!Pmxj_yxVPF({yZQ(ZuNT+61_Xb~D}s-LC9zh}T6CImKwyk{wv(R) zCUU_!3w>l8wt}|{PHOUfLac+%?{( zn7eNFK3|J4H-_MBiMm$PlS#Vk4L=`Z6?onK)La%Ru?Q@f%Cy?G^82xES{1vfQh{v* zYJS=M%MKyo`M&5A>f%|aTb78h;3wof5?<^v3<4~aANX&!fof=acX#-oW6i|O;`z@1 zKM@N519k9_2^8PC8;VQWchZNB;SE4X4jFwji|ou2LG1nNFIs`w4v8i1jL#2n%bAg!j&U z$1B+w$Q6gmb+-GOV-k;DG5e)?lIc-)ypS`m+|}ky#K<|lu$CWF#_T-fRZYnW%?_sg zAql85IVQA9!#q7IhK8+@Gh7veGga9!HM5RxeGwq*5p!d|*MAmcZ`o${Cb7Ua>HlEw zEu-SxnsreUk^sR%upo^DOK^8c2*E9ZV2!&q?lh7>aGDP8kf1>tf;3Ji(71c!PUG$p z*6nYvwf4E++WVe+$Nh88kMpC)+hZ`8J>NO2W>w94>Z#YBL%MH)9Ygi&-6t{tosGi+63RmW6B2tXF3071l7NsO5Pu_GPM8qnfd8sQXLQ3av z4}z-hBchxEZN9fjVq7B~8bUsE=ZbgMB60oVE{uZ@p2$3~bMPiWPsbNSy@bu&)&jYF zqSJ14z%mOz?|aYAJR!j?0)9VvqFBc3qD!g{iuh4$v^mI`n!@|&%RMHmc|Urtk|Szn zy5;{q%XY8uuN+3v-&qYs%*~W|@w+;orr{lxS3HwzPN%iH?Q5Ly&c|Ba)GH{vtcYXH zDdqlZ%Zzydkj>Rt^Xx*-o|;FXhl5(ocrR8S zYCS*p^DxP1`tV_3J3lJxaEK-^DO}wmEJFGW=2$J6j7gw$x%IAG(E9=t?>Uu;tXynS zNj)C@J45`0nqqs^-03$H+s|e$j{l_ae{E+%yELp4f#sWY29#DwotA#jO9-Yu&mfvL z6eiwXoa1`0-lCj^b|}?M(OG9v9e8FjM~8YunDs>0%Q)Kgd{H0edXfH&*1F&ogk&*A zIQ%`D>|7;M;7X;xREJf=57uLuyFDRR1pVe5_G=_}fN&=<3$kbAHkAfA?h6gnrDtN- zpvClZP+^Lf@2GmznYrZQ3*K{zBF|ONf^pkrmcl(=?KL12l3n(Nrke*0jrk@*OS!ph zBpM7x3g#6boa6Mk>AF;1PU8{9D+ocHc^}kg-P_-88O&C`@hST3T1OR^wUA}*JqL#b z2unU&TZ_OEbf<_dN%x7m%@jaN$_Va8ow$uoc#O19hM~A1ol*{ld42t0orxqq@X(p@ z8SO&chvl5T;d~Y4abG)Er_e4Yvd*TRAK}f4MA4XDkKd&lxvpr1ZneLg_Uj~2Z~4K` zQJAZKc zj#d{LCqM~>$8=%pVk-3F`98r1I0qz~_}c~P^n7K#(7Vam`B+uED_K_6o0~A}{7l)K z!3Q``%sEXfs$e}1${VeKWF_oOJ-tH}jk3uveqM}nkrrIsPkBGh1yhzBu@SFv-R8QC zyCJ!rq4RWD_27D!flSX<^u)rVyQUA|OqsQ}QgqMy)|MJL57!rU^!byR!fYnpaltCj zG)iH~2MS-sC+q6+{=l;FXI@3^qH8jW8x6EJujzyhhxeX}z;*&vR_VHe_0UbmNcc_? z?dmk^^vwzxWv>uQDH2AcL75F@Bu_~;?pdAw zAkHt|juQN`ggbTdFsjV+!=Tf7j;zP*j&@11^UvXLocc_3cos8D5}SMa=wEB17STr^ zj(x5h@VO5iYcs4LNf5Y-o4I1$_fNk0V*IJYGb*a%@Lv`ZG1=_g z9h&7Az)$@#{oS;0)w!t`MNPT(8+_WhSzC_1q0k5p{XiYV(_rdc;u&~$>}y*{p2c@p zfUrE&{IPdk7kw&8&hxl-QG;hRUv%q)?3(>{;j~F}$0+&V$2mqY7b%G+^?Y!2uVGZ7 zu!sTt<$COk02|TGtb2zz$HtW@$Qu7|hZglwkO)5Ku8B`W)!1pI1q8k%_4W5!b{yI4 zfsls$6_5kZiokC7M5U80kELrrj7E<`r9Kr+IynDPq2AeE+p$!2HG1uB(bxnXw`*M} z-T`$&l#9mZXurWWzsV1cgvN72)wp=)xIM3?%>$LWOCE{v)yEAl_TI%JxL>~1i^r#J zjt9n_xJ#Z*X5Pu5ri2?RdDVi@lm2~b`~ci0Fm^dnY?{{xE@xv>B*H}X9IADTu^snYymSIqvN=#2#T#(= z{&pptDO>|@uDle!s<$_>R6b4;ZXtM8Y7J4(@*X!VFm4Ku5bqo zMSO@+d!kJU(QSYtOZ+&urM!HV>~iy;!cu$Q$N_LjzSb4u8DE3VV0siBpW39YmJTG; z0SrCV;nuRf-QUhKS9k9@d-0#V81Nk5a1^yVWJ#@7wajY3JCvUEP=x>BMx+z)hyShV- z+$fJl6uLe4;p$M8CLpHInlDwUadi)C zmfPFrc?`k-;w6uITdTB8;`1xz5~fDCf!GYL*Heb)mrh4iFd|#u&!%)=vj~&sA9y>O z|JYqEOkGKcz~$4ouvm}boBLQNtHzCOu>ZLCM^fy8u7;Mj9q-}5rJJN$Jm1Y4*r@zk zVsx*4ID;dx7+PXM!P)&hrd!czsOBSv-PQX_p>{RWgG$xdw~ncCL$@i2uJ?#9opHDm zqh(`XU+>I1Bw!;O=m4t=Pp#E{;26bo@Lp=VUx(LTdq{z~KMXf@$j*$SJxfL|v~?<# zuF3DIdt1fwv-+TJEwIg_CwY8aoifmVvC(;ap}l4Xq*a$Uf*IUMfPf&af-7QnyT$CN zcj4u7k;@5ipW4e1pQSS7MZ-#V5bc%cb^7pROJ5F^Oj1sG1*1ZmLRS zud$bAl1fX%#?RUgmuk(kbe6T5Di=A?J-Johr~lzvIe9f#RTHo45I`pU=GWwoY~n{@ zTnTCWGpEl83Rcwwx2Lnk?MW8Fm?FFKLnMRUA(E*7ZJk9b;ZEUcL1B2py1dE zrRZUZf!I~IJIdS7S8Cb_bOkH4AC6Vl*4M=CPXSl_-Rgy^Iv@Sw=H8sY%JStg8`Q}Y z)_pRAz*|CDF*~Vsgk%~V0S2~+q&|rg?h1{Sw?$ql)SN`sX)#6(UdwXt!)8;_G7nT2 zvS^*{BnKD>109IEbh4~ZybT~)&M?hFzMHM2 zyYugp6eNWdTP=c;Exq#{VG4)3*y26&Q2E+njUX)LMf^jQaB?<(2=|M_fwB&Nf1!=e zw=?R6^X_fKf|h?^on`;PaHUJ4D7{55HvP!gt^W7IZ9nP?M8ApzPX75ACXH%sgJ<^u z5>BT|kowCNJa&@5t^(N+MVImu-vVk(J%b)0KgCt^iawFpS*&1rPc=Nrzc0(&Z*_rc zPre*W5!_iU%x;-%Say_+iJg===hbX#w{uXOY>ozB{DGA;&8b_u*uBPAf4P+V%fer? zI;pD0dn~ANlqzt!%hK^(l%b(b68x(*(qMM`M&z!SD-^6IsY{$6mlUlucP7q2775WtK`b&rO|bC4X<%=W_f9>P>P=oisbvLQ5q`ORHdR z;(T!RmSsLfAplg85%^udWj}6iRBXr_-esjDYekL7a-%LB00wIUZR*&<$t>RP4UV83 ziL$!s&UVI*G>A2SruT_3F^}Pvz6-5U0SF+m-1AL+v8rth_J%8Ha83oKGXFwZ#gYOGREjm8)R$-D%*F?&v`_n|;nx4j-&t4=8JC*qtNqcaEj#RsqgF zsHgZiI_g0bAuZ#3|0O;FdcE65a@uD}WVMpkASoD>^7w>aF4WgbI4%1V!x;! zED+iHGvsiRf1I0Ib4c)fCB?H8KCC#|IgLw0!{7zDAq-uAQR13;Kw}`KPID^(={h3w z%4=16m~&rV3u!D_{bU1lLJ=}F_2u4Hd8vP<5_Bb-2H^%-{;86Fm6UiqnML}nmHvgh zq8-a(SYy)K_iAiVc1P$+3@1(~pBRTHy$+21fI^>vtJIotT=eSxqsE(-5~(o@ej(l} zk%*%Y^w9p<2FB#h0=`BYQ6ERZRk-@9*+M`{a_(4hv-eP0visU~c2oMm(q&3G&%INh z9&m*!~=Kmh?AUKC12kX0w|C+cr zbi?^`iyaRW;y&Vm#5-g`yqZ9c0qah!>okByFD)NK53kKW0edw+qz%ZrSpc{1nZf~4 z>lPxrb?ytLnxUMMRV_QeVNR$+D@g}0WFY!LL$(r;J;eX!2Xp!J?H(kdKc?WlZ{=4H zzTO{LHI(d8hyS0m*8c9Y>A)pi>9;(kn`sk6&}WfD&`H~5*50;&T^}wNOg`J^Sp&@7 z*KpWimnk=4*|7T3L4-&>$;X7*te?|m7;Gpg-}Qd@LMN6BLq3%${qAe~a;bI+NIUoq z6Qoj(ezzg}m|76WefUM+9P^aJF#M5ub>;cGKV5=79{Z)6pmSnPI9=X%aigRpj|s1? zQbUG*QZn2IIe%mb= z7N@DkTiZFAme8U|%fq&rvzP8Obfw}-3>KDWgTE~puaQO7!iPD8Ki4VHFD%&v83Yja zyOFz|*1Vv=iS@ZH?JR9cx32@j<67#(fn)vcB!t_no(J2prJGT_qa!rf8ZOj=y1CZ% z)P)>jtMLj}vjPO&6Eyu27TYecn2<(E(PAzR^x)OCR#?Dc3$S1m~VQ;6R zsm0v^)vzaCMXrYJCa7~qI|@ftOmlVI=YQjz5LGXxyt=2xW=*kR@h)iL91^W>?)(>T zuWnz4938hEE-i`qDlKGHiGA8^^nr$M(TOJDA$2A7*XlQEv@zADWy5&Py&H5cSj<;j za#mWpl!!u$&xy62oi*?>Tf2R%P2Em8S{o1qBE4MT3Hw!LTo-LE@}iHN2k6OUuI%>O zERna_F;>D|MTQ|{EmuI){=>`534!sdr&aF8_Pb_L@}flLwyv|&h|HOL%4H=5D*Aow z@WLXzjTgZnkOMxjGc0?FDAXVHzUDswXjlMUujikq4PlZ2S~NCr0kfFyeVuU8P0-at z3FpsrqEUsEG+$2ps{1c#d$xK$v>VK~OMso~P;(89@h*d*@8jf=wep=gwpcvDxM62x z76HU1;-$^al)xV_C(v*Tnd3F>$>XPd{RtR)7^5nb=e?yP_lYu0G}tjYI+7ihM06 z4lg=!uQruXaFp1s@cA*w%b1vqB=zp2dDI!3E*^R)gS(ImtvC)1T$#h`KJvl_gcobJ z#Dodg#6D@8vfvjLZCEd}#r`@yd~76Yl5l-u?OLAkeCJZ1vky4CT7Eq$uTQ$RHPBLX z{M%`s?7&W0FA^!CA?{9nES8RPsO>~`BL9Reetr~NI>CI!=WyiBP$UA$IIUkaNmqM2 z`h3v0m%eTbKb1?rhji$|~O}_%%3DVII!bxl0f_=j)l^wr>-Mx*? zzQ2To2|v}Rp;ko6e~gLxkFOf)kb8a%%gWw9$}nR% ze%RD=|MBNS(+;;vjCao#*JS-RFGk)IhOr(b3ll;Bf}W2jI^S6w`r2PAZdG}$Amz4Z zWLfG2(rJ%YY?CXS)@@O0q~pazOv{ZLD+KbS;V%Zro8T)|TV-?nf;jN@npl~yLI`Is z_=I<1xFP)K+=h1UxBLr@=MfAM&hL3awp)26*WKo3EOC|j5D(kOC+VFlN150_K<$oIUR#R+^iK1`P;7_--u@u%P=`((G&9_H>IFtJq1 zMAmNEbrs(LWRwu+z!aVz4o>l3WZey9_1Wy+s^&K|Ep1Tv%-*sltYGU4FZb&DvbR<; zvPYdds85$uR5%{4jUt(|o7Eq;gW2E}nU<3X8PO$ipEy-Y=5;DqdbHkD}{l=W;8H ziw8N1jau-XoHu>Po&RE7z$BY~w99bHX!UMh8FI93H^U+e1LeGV zfTWsSH5*1v09qoZ%xxJfe_+o&iY>Vo6|eEvhZZE&_8xRws!+v*@v~TYE6N%giYru} z$pC6Cj%osmAe_OR74>>}3cs*)ilv4H6Z50{!_b;+aYItHd$<%0zk zv6T&|+V~W{v>8XO`ARxeoo(sI0-Zt(hnx?av%N$?&NpBRFCksc0>{vyb0Dm^KuP{E zZ%Ps}MU7(=EKA0xjJo7xcw#s#)Gsm)0&91Pv{s|~YV+7CC^Q(o|uPdQeQ z9oU5gTS?-oa$*2IVMhC}8MqsUKWie!?u!~}h@}Hgf|m^T;_iE~7=O_t*-BYl%$p_Pd{YzUR`z6wmp@eMmO{pR4}=S0GD;B`)}Gl_zWee0#y8;Rg{ZS$1LL-{#8h(Cw>0kH^)0Mb;{0Fzi#+mAX&C4ha(S`XedK=>s#-AVj z$h5xv#g_;Z=@~k2>iePaaYn|Xcp&blan`#r$pexf7_)dj ztu=fo?dHUk@u>Ux>1E#2W~$ewcDuem$!Xe93|&Xu-0NMbJ2GbRic6z=f^ok#P=Bq%XRDfwFh4*m6%R6dF!z zI6WjC`-?dYx+0G6;3LbuI{>n<_%sR9Ijx^#p`(g^i|NaEe79`OOKXFCW}j&9KKp~- z8cb0TB~lreCWax^7`D7ueh0vSH<2O~rnyTu+Uzs_X{io+UGL-I1vbAqp=XM&wuFr7 z)Xem{Rc+2XUR`CL(3hMhnahW|L-)|3z_Ena!b6Oah{OeN8~}FTyen|o5N4nsbbu1H0(~Q+9C}rrM+$NhHK4hj>;lM&AA>MftWZx z0IVE~a=(PRDO`JgGAHm~z#oEQXK%=({1D}z?zkNMfF)b8uih5k`UE82(JXTok!Yt6 zij4TbD0m_|Bnm|_Jb83;fnS@_bMR#L(>{oTLy}_7E+W^QaJu`sO&Ibmk6_)rIAy6t+k_q*cmo5#4_SI zu5#Eeze%Bl;3kQ{1ly*{<2UQ$N=(~cVPTCIkmKY7Gl6`rx2`T17J9v!%*wTw#}lP3WA(S;*4;QfLm#SL=e&;XFANN|;Y zB9~YR*ywTQh%dHRUdfLkXNr2gS{GN8g?;9Y>Kg#M{uHT*JfwM#4gTbw#50j^4wGsk z<^*YPIP`f4t020u`^)R^)J~53pF^g)S{6SD@2LO&3RcunxP8r*nCW~V# zT7*Il?}e7^4w8OR`PBij0|I*CZMF5@VV6Hi{AkAxG(Y!lZJgre9@fqaKB71g%{pUn zsEW3XD%Yi6y^*K*8^b){K%XdY7UEtXUd_I;ipb5vhBa~_ggo_Q~| zZS}`MUb~p+{2L_|bjMU@k5&GsZNy7zA)30qMMsDydzR}kVs5_##orLuDO|rBcJTF8 zaE6*-f*tjH5-rC6_IBmJM;^!hPw>O#eUfh+sREwoeT<)~!+Qy+N|1O$-xKHC<4=N4x zM?~U_9r5-WddV`GuTD+P3taWlO!)@2t?T#EEGHc)xAiiMlFyGq8|&;a{6s->|CUwM?^wEooqk_WCK|HTjL2TDV56uf9t~PItGSg`*`39Ih z(bGF?Ur+SIEo10w2fC+nhI-=qXdpOO3Som<>xfcrj%BczIkHdpkz9aFX6hTQQIgV*%_cNs6XB2v46^3eO1hV``$r#iUz1( zWVsie(@wxih&?&HII(Cpui6yD9?SAGBLts=%Q#H05HgLm*&6qilGleJHqVb+>NbVW zB+NjTlXuusZEn?whP9MX!N-*{EZ*PPT+x|#dX3H@d4mAWZllgPZk>D(Woq-e%T0NC zF>Vlx@cufzxqe7mubxr&f|2*bJlUcWzXW0nQXwivG2IU1yal}- z^7W`CGeBqV7YMXUkt2wFnV1-@{%SPz=d=Qc6^W03>)rz*qwJP|l8fZ@ABTOHkE6Nl z^sYASX0uirsuKCgA9(#d1EJghLhe2g{27=19py+LH7!B`Z?>W&wWzGp?#Amsk-rJn zvz+xcq<-M&E>ew3o0+LlQeJbbeQ7rvt9u{aiD|d^MB)qXH1IpYFn4!ZQ74n`2KLQ|Vo0-UdGu4MuTO+2DlXomv>MV2qwHF2_*Jcs zefpElTS{(U0YfR?bQk13*hn^?KY5iYNRa~ar7w{v#kzXifPbhCGwzRVA7buLVe*;D zes`3MWPqeQMIK89Qh(?Z+9>YjLSlM+9kN&n^oFv8J2N$ZuPl@D(NQmGS+6(DN&y(3u(;c{zhB zNePrrHRqO3ftJ3H8lY#dB{M=mY_E4yt{}d#{zJr;Kc*vH>y|)nRVEMAFMPBY_MG#p z-0F;v-ykJ|yO)@wB%8ID;^o7IVj3O{t}~f+RJOF=mw1ZBAy~p4qSlhXbJ^MKFZZc` z^@tQ{L2AqniFMdZif`}kH~kkH5xBYog036t6Wob+5lysCw5e%+7Mb@Qq{6x?;5IX} za}Af3eT~5*eznbNz~C^FBTDZVm~ePRBJMGzf*buY*DP%!;Z?5M zlydb2#pIo8OP9uFAHU%HX5|X)y=P~;SW)s_b``OK%!r2Lr+2Qh!Q80`JVUITSuHF1 z%AF!WoQz!=JJ=QLdaa#OFq8i&J#kQ?Zy0i_`id4JNdJ7$F=*W5fefBOs7 z0-$i(NW+7NnWiiugj(80=I=9oiSI670FyS2gXHeYYm|r_{(>Cx89L2T=2hQ|6mqD# zDC+N{l=N2hRe9jwChS%t7&nz8m84m1+@U$*1dm!rIv%Zf_#`j@(#5wI)7<>;&c@Ftzo^hJ;=IL}@mq;eZ z{!X~|i8qv~l(GE-={`K8MUAvGew0)e=D0H2!?F?Lx3z=;Y^S7<&r={(!V|1wiVIJJK0&(y=({jhm( zWNYsPXlv${a-8HkVXG$sbN&^kbIGbk7>|D?{}FIr4$m#sHqYKGIe25Q-{@Iu(zBw+ zepFh5HvdU0R>~REEoT_!I%)1KU^voOFJnjBRm{9&G320tb5yWE1(S3|ZdEC6;+sfr zsDi+>=_6+zSb_3~1hOy16P>9?}yUH;Klk!wlxTG}DZMyj16IZJ*a-4!bqIXf?7&^5b6MRicN*s(bsE<$7zopZlL7sj0pQBnq z68z?pYFXHD^UJ>_Uis!qmKEPO{I%zSdY!rW%9{n#wu?sx#(s-d2wK)RgT{uQk4I+Jj zvIMTVub{b~^xOyxl(+uIJ*Vr_c@>k}kxCWQp#<<+f23or*T~`l#rilIM=FbBe4C%0 zVy-afAmood+Gmqcztfs<83J~A@tt$%g+j$03L^W7q<<-H z!xw;>8>`4%zPafS_0rN(`tw?x4z3dJ($Qq)lmPdUH3_@fz6LzhPXp9XV`WS!F3AbM z@a??Q>;6oAsoCB}H+=emWs!4JzHC|9q8$E`)gR|D>lYTga#Cz_n39r{U+5hhgOSNI zcpjrXQ0L$+8lhM`72rJuvJ^-wXDZ$mfo72@PbBSR$(D>`ALuOKSD;#+jpnnM+vo{$qOR zWnkD-_QHI($*g0kFe)}sp<>rWhQ$x>03NRFPq`l^gx-xg7J#R~j)K4W(~UfI(v?KK zPWq%xQw~;tv;6h&Ga+&bjfsc_mpfvVHo4uAlvnw@GC%wgT|pD|LJAi*NuOaDWh=n# zO0VZFEAm0E$P?=0fn5rQE#T&rlJTcg0p6{puxC5!S2jXF zEv%pfiT8c!WX?2X7pLmoE@`H|Gi7&&9!l*;C_NZRf`P$5k`s!E&2+K{hS^;zk1R`T zZsZf^mDhh2-gdDqR-Yzb#cKSt*<$zfShbz*F%HYZHIYg)>h0tOCH#T4if%-7jXX_m z(eLnDNS$Nbj2ilL8XBoO;d0zXDxn?OVCktbNA?ez;|SdR z+n)d1dvVM#q|c@P%-kGbp1O3clughxmu;r6S+wmNnFfyiHMA>i?GoQtsM%d{JNQliI9dF20dn|yE_Q#j z_{n?UgTNr&LowO2>z#&VyO+1kRiu@J14JQd<(o?4qtInlOOa#Z^t(>}MC*YniDZ#W zoR+Sym$0$vM)D8h6Wo*(ZlyJ+*A6;v1&0Q!^Zd{g+MK|lQLR5Wze4Luq2tnBA>PrJ zU3ueLsP`~H(T0%dUgNR5N6`J!Td7C<1BI>e*78c$adGXv{vUUiS7(A@7yh0Tn06;?#5Yry5?liA(F+sgUn z{`zf*=`q{lF)hvd=lFk1V|>7EP@IlxfIiP6Or6Mty1gtkvr9Iu{oYTn-g?&$g51jn zkND?~`;cX);QO|3&8-{NjlJx;sw1ey#U+kMH%zQH6SdXE%kQ{%n__DNN(*)6w0Ah_ zIWFCjeNFytaut${ks*9v;N)?3yTSRjZ$05Fih9D-!o)$rsl6^);uCJ}NUqw(7V&d^ zV<(fRB8qpKJ%Tvz7YmaecK04dol(25oM%++0i-7(en990U+;e(eKq8G2oA(G(D9z~ zj}t^%L2bd*hUof`udi{wnb<7#H*1?%B$vhEs)ao(t3>N{)}pZjOhv{+g8yWWxIx`KII=r#I#TMBaW_8s@Lsgwr)OZhnJtYdORocyw;}48CmyUY=L>R*?T>a~C&I9F>vA*p` zRB|Wsy3g_!YP)|bNBVCQHqH^bZ|Fr2kYZEd>VbUXlyCQQh0NUNMl^6eIGu@Frp2!h z8@L{!Oj{|uT6R#pH$-Idn)%AFE9fDm%_dQbW~&AGkYkT-q_9A?W7+M+&p(wy`p<*# zR0+f7y;gm~c{HE{W!8aBWyQU?Y@E7Nde0vc>9FvY>z0If;7Kt2}u<8yHuU4s*q3n~pp0kF2Z{&&fzB zajg2)Wzgq%l|B~w`wVS6taIjopWB~UPnFIwQ$7bH=abIE?Or5pMiE@%S%&UXFg-*X ztg}mOLZBxucfl<{I=q4I4WZ#y{0!5H`wj$V9$&G$=d<%eD$BQDJ&dBPW`%W0<1&Ea zXTb9Fw5~M`*L3rQ#J-Qq2ZpH~O=$JQX9B*at8cjmx1Z$X3cngaUOx^Xsl0QdAJ)xx zIeRRodMdcI^EoJqF~CK{6@& zHN*y7cBctinp~%%gjMfMN0F7o#Lf+_f4_6N-coZ+iW7esXYk{LC^j0e)rS>v5O)QU z*WLqT#={cdFI;N%YqxX)T&DMxINu8mVLQca-JE;gju%xoNmbM}dhc^#Os&#yuA_b5 zoDmv&^z!eAHpGwB2LomzP6X?=$+v4o#aB7Z>46;%q?XS%F4dAgw$rr4`!-<_4ZW7& z;yVn}RKm3@SUTq0t8$cQ^Z`d3^#0zA2g--1%3*4SpnZq*U-n)?LsxvA{~n(5v3e`( zUb}Cq!5MK)&{~Dwt_Nxtft&L{E`|rZf$>GZdb12N_!cW(Dsb-Te2o`n6v_wj_>Wb_ z@VLwZQKUsrahZ&V;ks6vg7u~IX961bUZM7Ohplu*r}AA_^+7UvJ+0^TG#Oi8&K?B3 zY0=N5Nfl-ZQ`|u^v7UNGmhokCrY|xH2UyJ3)o>frwF|JNq)=LPM6Kq<{cw1VmpZzy zyX&lw7@OtwCI>Q1?a8rnYod9lQKPLSQP7G1l;ISX{!$>FY%%maGI~>>eoBp8aZgQ&e%XXm~NB!{eeZ3w|}jyR8l7n{GP9f1JKT6>>p&sRmp({kRU2EI?_MWDlR&*Qqgs^`5?y(jM zzV_7abL_r9umD%R*c=@b{JG;34jr@vu8|*m7YV;Uoxg6H+Ja9;US?6=9(C*rT|qb; z4bGh<>=!&0T@VlI*3&~T2Df--C`_1%Z8-9X3Cwm{HiJdbHRc%_0O9AjEAB_0JVRg7 zpJRDIC7yg*FC;R)GqaQX*|~Ybx3fI*?6xqDL^@kaADIIaHo<#{gXk-W8iV2MmS2DP zD3&iSy#3;I)ML+cn@pN1eBb=I<^XA47O#_31&{AsK|S%#6`9tLb1$tD1ZFk{=#OSk zj}`-q=a*uCU27c)a|pOji|Ics1`R+fE%hT~F<`CGL0cEB<7{0F9*Zu^r$Vp69P*5@ z`ioT*>bKxrb(}EkI@j2;9q9d5_&3!1v8wCn_+2i%pq=gO^nixKSHDx3XaT$<)66Jn7`WbYt!t=|jMUdNDn<4JL{%9-hpA zTm}g^W(#q80uTEPYe<<^EIu*?2=xQ~Zb(SH=)!&!oCH3&MJFE>yBQe9r)DB|aOL6x zeVMWixT>8l;T*J=nS(lay}VR)I1cl}-2H)pRJ3C$d6c1mh_WhN905uBlZGM5nQf~e zk$Nog9asPby{RqFA6U8rXFMAoL#GW)6`@W_!26=*zSaC)zA2>$4U<-HrkOo=x{vXr zG_$!k5%os~H1tpODib^ntE-54yhQ}Wa0zI;3NvL;PSFtZfRJyh+XzsgyDEn9A%1lt z)h2xKGG%qcu^3qqjgY!&>zk4g7rsX-23#I97=Cwa5|$y+L8Y4S1?-0PTUs!ip)EYH zfgYa2SY$I?+?eGH)hJ!=`b6(!7yH|)$93B_DxWQ?-kr@7&%u042gc0O#4pV%ibK?h z;=`$^bhETyDD$Qed_Bo*x`&RgT@O|}IF`H~|yxc;0-^li4Qp~`CgT@lN z$v{a>OxMNGFWtQO9tQ8%1Ek|JG-98y3OBO!P;;3&p6r$ih%yd)_lwzbw@D(VS_2U6 z9UA!@yy7nS>$$0eUkEI2EH_pzh{lYoQ=rZ_WhPxV(#M6h1f3=c3k2p{RSpq`br6@0 zF}-a*kU;5*t2=@dgNT71d~xkneaY_pTrGGBsKXkfnFWhs=fq8q&4%~%)>9%dIs|~^ z6UO99=w&xzFlWb5MKDwVAg&0D$R~ANh+jslYuF&l0qjv)0|QkyWei^?k?FkfU)p zdALxSgo_0-g6=MA!|TMTL)4-EV!(h;C97X zQ0>mg*QwV$YcBozih;nF^YE%s@FQlccgj)9Y^#Dk5&nxr5z+9PB)FS`p?lkm2ZQ^u z4nX6@Y+3qQ;q;eI9G&n-0x3Z@-!ICl##-GYD+StEqQgtowggrMg*ZFb2Ynf?*W$-^ zye5NJAj|`-=sl3qz#_P^e%0;7EnA`Vtg$7JX6ne)7 zW`7KC*1M(J7%y|uG50Sjc1aJeyKB6R)jfF>+qC(ijoZ^pK3Xe9qf~rs7N|{sjADMh zQP~i4dWP<`G)-1yboA*CPf>L?8~Z(O^Otoqd~b6&!*+FM{Zp(ksGx`J;NQIz?GDm^ z{n>x&b|LL9g;@&`G4%(Q2=V62zf6}dnFi7}XZ^(D#Lwp1Fi!oN$>MhI)z_l`9Q_qx zZcxeqbYLq76XE~uR^_|}1!aVvlDoeB*A0M)@GFu3^V|Q!GyGq+=5F-E+8r7$0nc_V znOm%F0QD@S(fJwBS>eb8jwe)_+q|A8vefRz@EX7TYH^ka?_mG5xD@*B#gN_k< zKDuu|yCLyt+srn;Vt+aqe>im1`1Bi4TScW~KE-w7JUep_kR`-=Zdft9=eza?)}O*d z_LrzteCT$8*Vcl`^6pn#oTe_Nd-*Ab_&pWp8z=gjoh4kq?{Y4mnI^13id{LE9aj|6 zH+1H?cS~MW?eX}>MSxFy`RE?C(OsVevB*DU*Tj{))Sz3Aa5gZ~sB1C>$xrV>2|Fy3XA|1yF`W{`s=Yjy{$8|}0RUR9jQb0*stcJx8X4L^;Pr2zv zY}dMuGZu`W{Zf7C!GF5h(toKw$E5XAUw@Zo`peP*r-3w%$7OK^1MWo7BhOv$v9J3L zUASv~pX>^^JK0pW)ZkPfh050@68xKR3gf)IZGO%Q-pJM@56RUW|MR4|=CnMvV*U!i zW`ztn%v}MeX8RE4#_I6lGfk7X$HDDK&Dyb|7O}c|0T`4c>h~LFHibYSFd*gY7_@2I zy$CMxrc9DoA?5d<;g#0k5uD0qpnh#xs|1Jcsdtqab2gF*nuT<!WsM?0q?anE8|? z=Bw%y_`7LJr@VW3t21RFHLuoV=CIgJA@i@W=RfE2M*V4@LKGE_0#2|4{-<0opD@x} z|BQvO>l?~JLgd(>HI4ciYLW;C335%5*0s&Tp8o1!ne&UDQ@Vdxo4clf)2!ChsAz_$ z(bfr|r>uBF{Ex$WQ2w|VEn=h2z(J=)8Qvy!>gHz2+EdGIgQzr(VoTl?P^a-~1nq*u z)oaUphqppY){g>IM`juw-G9fc{8t&;X8U~nUcQI3i}dy3ydYOvp>3Wkmek0BBS1k@ zvTZE8L#Ok|sLZ55oc+txAtVxL2wW6-GE#kbPZ=yAQ@lM|G_YZ3zb8Fhm}Q^IQOi|5 zeDb%{{~Zq&x(2c$D7o3k)AhgccD?ZbibH38@MG`y`15%{!nYaClEM_?Xg<4{YsVz@ zs1nSrQ`SG!=XCH1QZBPkylhl)c*=ysBHEa_BQK8%@i8ax?x9Bjo!HCrSNLRSJDL`R z6`AN*kvAJp#dAJ56#d}To=zte5(j#_2B;@`CFdAXpTYyCn0oL2Vc?9vQR1yLclXJ) zmFZZ3nFx~ms8$+~js(+ZwSw|3rK*M^aRJzN{b8)}hu!OGW%0(cMQ*%VO$tRCg16S6 zlCPmXUa^{zsDFsiwoQmTo#1*a2f^&BV?ibAnEDXd&h%19)7W(`j2dLk4=Tb)7 z*jgWdp>5gY&|IG@l|K9iMB$a6*TV0e4Jy-OQw%E2xK=mQC+JKo`H~oI>Pk35KusL7aNzjp6{2vjNmsqHRHr2Ik~{Rj zI7d=R*^79+w;A@Ug`Yzn+U$?-#xyEf5Un|#Rabf7Xgln}9z(B8 zp$A`OjJ+CNi~9TS6~59qF-;91Ys})_=Ui3*Z6%EtYja#O z{g;oXJQxYf~z_R;tN(NMJ%eV@AkP1;@`ogXkZ60Va$kFQpI%)5Qto z(6Q58KP)IX@U;UVD%2y9{;YEy%EuIXkTKnA4(6k@-irb3-;>|jo;c< zZoQ%C^Vq7~4+wle6E^5SjSLP?1U!nDMw&GD$DogOm`)FEh@WJ+-N?x12ftG-%rYq3 zVT5MA0%N4;VCwY2FBkvv#!vnw#$Pa(o*bdBhn8;3bN`T%AjVxKpS;n41;|FFlepWEqDe^)t?++S9fjt;LAkhJqO!+<>%lKb5B!a!bIq4N#z(noqZ)i zG^MvK$p93$a*0q9#{DCx0BF@;~So3 zLC8+d$o2Dcdj!p=5-UlrgjY@{kME`+B=({VSB3GH5;J6n$e!2z7Dlo_|U`~FzI(6Rc zO}4U1wr5!C`F|1j)?sxt%^u*v6P(~qkPtk$TW|;(T!RJogIfr}9fDiX1PBn^-QC^Y z<>1Z^$@_lyd++^rpWXZHK0D`+o-@zv`Olsu_anEyDx~2M_W^HTGiOy$0SN z2V)lW0fdC=>IT7snibu$Zch! z;UV9>7}=P$>bX@OwIaDyP3(k_oLgDXyMrTg&;fK=x@0M-HPaotVDh&|P<%XZ-<{mB z13TS~_}UVeTA*!(!-Re|y;?C45jjUA=`7SV6uv3;n{T02SKcLUr!$?{RjvU9V+Ol{ z=3*nd$IKy{0R^hQfm?|9Hd-y#lf2ury6G*D-2Z4gp3FNyd69Jf2&&rakKN`m2Ag|p zua%iOYVBy1NVl2fv92W6jZK5yE|mqdHJ-*x{!gMCFsI2{^Sy5$Qq(^B{_7Oy@I^|T zNB~#xNYBQB(XOt$L>R2)i;8x%Wjlc%0&O#D)xNLhV>@qHsr*AxFjPNFrBeGhv(Lwj zU-E3%Fa2)!4dzoKc7sbNFg9YjFgvB+d}J|GtCAT|z=Z43L>Q9)btR>wb@M~r%JVGi z8G4iNyhP7z?}Bu#&O%;ZWZpmjlOW~jlw_%1#EMDhYsPkMUv@5Zl@`#A zu4+bp;6v!#Wf^n*8bBPqc>zxAIt3439u}t#RstbeL&4U;x%?$viV?da>Q2uuW5$c= zZo~lg^7`_W*m?Q24wZv7X(t=5>4z}KEWVkke%)nI**uAdnJT*zemj9Qyt=31cTH%p z0YpT5S+whlU%Uc0xa)SIgJ;1f;KH|Ny>6vcX5he(MQnqaTDaZm+t`+O6}v_e_%!Cj zjrYL#{AhaH6g8s4Q=p;8%i*%QTqh_qHRV>cJy%6Uf$uToUJ<(zl%DJ{V{w5W9q1sm zJGevPxKhtmo%)&YE(o!zHPOR~wxZ3rDzk|(89U#{55juo>l%?SU+y?1wm}LompRjL zx}^P6QYLR|T0Xj+lw?<@Z$1pJEl|mkHg`UNoUQ5};i1&Xva)`owq)H)xpN$|c$@PV zaZfx1(0EofGcp=-?U^QBhbx)aUu2Wv6m}FWE=8EqgC~--nTjr9fLH<1!yt+yB*tQG zTT?d)i9Y^dB(C8bLE~y6!8~&1da29*&(XuaC<@V09v`dwybCVdFQgqz%9GXWI6FBu z`FhXwvn!*OR01uI8|Hu#HBNJV)#+2nt~yp`0Hga1=4VaLsf+zpIE4Lx zn8(T`Vw4^b3TM=R5_+{+9^xF$b83FR!Aec|WJ9?e)Rb$IOF@!h)=_4$sA$^L>8~7m z$j{~|nZinbaelLK4Oqs)MtxPNQ7*FA?@5Zy!9Pn;khT@Ma(Lc)LJG`=ia(PANYuZ} z4M%@TGl{?f7l@AKo9FJ-<-1o?%vOhlJ~($swwTaiCuW4x&;=20&sqDBIgh|pmEXoS z608Pu&GXY%`b)|vtyGSv99U3ovvuts>F}KKLX4wzj2r4ShsbEfZ zM*Wl?!g-Ovn{4#eXD27Rgij-|`uF@n&@Ki>0EZW?xDO0P8V%F|XCA@24 zrAn>9aAxYZV@zv+{@&#C?j|~#>%q?ABy2Y2e`u`{y z$)dbm(wz9})W+*#P`>P}ODW&14pqu}*&Rnd5E8Re%D$tRRuTFoa)=em=5r68lrwdL z*-!bG#eBR&)re_=$ zFn4|CC}&{jGwVNI9WuAU8jgzX_odP_zueah*DU&AYne>Zlt2mI7oVDsc(Gz{tC?jT z+iluI=>%JmOi1O?l2hzH%huA57N4+`bmBpxJJHquivHy{jNHA(@v7{mYj4U2FaMMr zRhvbND@_MAz}5NM2qUB%=Rh%We8VKmsAExK*%{9eZ}RBCEPX+26^=fH zUM*_fvVBGvYL@s+l6qN1a8&QEDcbE_dfzpjyy-T0bSH<8f-}K0HFtc>IyvR`cvaSr z`XeW|Qd@UotYzt2L%;{rv8T>nW383C8RQlFLoAL`Vbv5jMO5)}O-4)mxnb41c&(r4 zS)yS4iM(XYwKrAmt(sW*BPjcH^W#wISsh&-xGUX%buDaFpA_A=G+y6f$*mq@-vwB( z*m$qu>LL6N=r&mck0ARd+<8xjJ3X|+A5ILty(bOz^#l48-_v4k{)lWGJu_3Qe!lA@ zP54y#hw-D$v4!S~lr7we?v5x+$L}UNT7~-c?O+ViNp#Qk3aP#>^$?BVL?m!=5RH18 z=6+cJhJ*3c)RF<}EfdVYNm)fNzku9rSt@Lu5r*5Sv8!5-H90N!s~}0)EIYM6ByYgg9c6+G1Gq(kt+cH=@o0F~ISf6j_F9iO+ou->DQy{T3L45W4`=Tl zK>+I)7veq;{3RP83)W8RC5i-><+I7X$z|-c<7jcSOJvVO zM2rE)`XX($5gNXtjwAcut{fPUxN1Ay?xNZaS?4fN4mF5~dppl=<%sWmbfx|wJfF*@ zXDW(kP6me8IR&2)v(!#Fny>M5ST@&2OU>*mDm4OX%eY>Kz@Nm;n?38$qj89Ig)P3q z!4oN;R_!06l6te;b0~iL?p0KS!wut)JiWhh<2O#FCyiVR=oua-iJuQ`*JkGYY3A|R z9}LGl)fCw3+xNnhT&%grRaP$khn$ojFuhG@D!G!SaN9c5`R{ZI{wAyIk3#4uCjAF? zpV0RNte5fM?-KnNHUkj-N0}u3GRj%xEjEEo_lHY=D;6C$|7)TERqwx7`xjAse`^0v z)r$SC&-|~e1%~QBSL=8ApL$tTxhY!%#na`tZubPwUKSGb*PaorW`t9MncKnf|KyeH zLQ;o~3&H2vHrfv%nY4PN^!|ul~WX{~z=fP_5@*%=eE5 zjbJnV#T5UUH_F=o(p0#AD=hzL5QfsjACZ8D@moOrgX_Rb_3U5cvE%$zr6+|czNo@X zlXSI9ZdxP>!&=PO&;6rP9P@)Pg6ti$6CK(2)3dTD%1N;uXZ)NYEY>|Ae_q*_jFZIy zoA9~X?YhvoH&9GLs7WVF6`m{meRj&HZ}>~Amws53|Jr7YMjfiFJtfWN{C%FUmOXVlP}351pY@e%yno;ns5wYslb z*7p}N+nk=WzEH)bbWdJsoy0jk*~{DM7w;-@0i@l(I3DO#dpD^f{4 zqAQ`eRZ^HtiDVY-DDjD5c5}YM)3CSTpC=F!f%E=5SAvTN>z=u@N*Ag|N^4X~6p{e_ zc9O=9wWj})lYo9*r#4&5U`MlXc6rRDaiJUkaV}@fTfEBJ@_ct*siiA)Xxe8Jr>5oC zuka5`$R$}Ot2i#>h zQ7gRD7)^zd&DoPqOjo|Nl_=3$&7X8}y}D3KEage%nO_gHCO#$gSrVfWBv`f4HmcfL zI^J6fze5S?Cu9fU=`_xQYmji%p={`~k`uTv=eZDwU9F4;ne&;LkGk!!ewDHee+0AOI$-p-;h)P$ z!ZbN-jJPnRfid=>P4{9IeWI*gIJBFd2zzC2S8o=Ze~ zH)lzuAC+Lvqp}bag3b6Ud;ourD_6g0j6I}cC839;iy1;Pyezy|)Yse?x&9l}{v=wm zf}(}_8NF?N{c&zMiK4}OD3y125e}>2WUWR_>m`?Pd3K9&edzL11C-UG)ARh+e%WlM zw+(*ETmi4|CapKcCFk%$k6$=!tK37$>_RXj@hGD8IST{}{o1dElxy3V7E3Yt02TzZNie zvzrrb^{*Mv5Xh!#_NfU-l=O74-5D4b8@Az51ln*iUY85G?#<x|q3u(_IY>bqy!$HhO8e7T%vLUUD;yFqgAM`iG6vfd&8=73Z0gsZo=| zzo>nMq&qmqU^bCAhAH5Dyy~WhZJgP^K4XrzM5qO8XWyhXr$%?? z#rV~!F-(m1YYP1lx2BVLtl9gb+?*}DZ7$c>5|(w;JDjF!- zEg9YTLgTca70bbMk4o$~aZ}nclAYNR5|W4vxG?=|q<)jPVKJ-8P!M0p>HfX`NPp%= zCm39)?vR4!(g~RqDBK#@uKI=?2Sd1*a3`f76lQ1;)%A<7j<0bv^Mp?}ygR9KU#+@7 z7Wznhoq?Ip#czKL;l~IM&tbjI4$314z!j19KeA2J=}Z2kblwoAjmTL3cg0#mJ`R$N z$Td@jrSRs4c4qdmT4(W@#2-YO2hZ-maW8cgt9?)UwCWK@O+!CPGnR&A?e6Kx{L@{; z(}cT_0L`H`6|Adq=KlzqjrhBt7&I>Y13r%Bu;VYv$Rf#B$R#Z>I#i!;86Ov~ot<;)&xrRj@NHNS5H`ghYrAZrZeV5lUQ!{=H8hL2osICBAtkuoj_r zXObzg8r>O++7aaWbzB?<2h(aM|(8jBb9tG(JU>VE`bY1XBl-Fb#MCNvK{_ZQja zF7bZ>|MYz``-Zn9%WsnjFbe?t52Dw5(Nt59sxA_^JL_bE+P>t)#e@9|OHSPO*#rE5 zbsgh)Er(IsZkX?5LhCVJnx>DS9u<4l2F{n}Q(va*U3IAa2M1=TMOG?Ap60q8VDJ%n z;{O-nVZz5Ae~~YI+^dTZtqztpW|vF7Ng(LxlF^E3RP+Ka}2Q}#) zoT>FY6Al+gmVB6~fqEhIGP=ej_{!kJhoD1#pAFcP>pNV3Pk^4M1^(yXEJ3e%krreD zY=GJ7-!Yu2)d{%caaec9PGd4k;H!AO5?e_>oj9>U>D7y`Jtf%&VL*V;*LFx~m4TDaGnA4$`mUqbs}xIb zoGoTUE+eI9v>;}Hm-DQ@$MCO5hbqC&B`3FheI?*nk0Ni0`t+~TZGlIN;h_WH*;PA` z2?@hhqc@wDiL|}3wbO$O!wEA&attQCkvh)8)pklx>%8=WPtvn-ALhL?1b(;HZ!=47 z_(x#Q{#l(j=8SH@_bFDTxjiB-k^#M7=HmR_st?sKy=aNtQ_)`9IuJ?O&P;|+-kIPS zyjCt0i!FVj989PX|Dxq3riDafC7W8%pGoliuW3)Cnwl}elHYV*U%u_;_+~6u?Z_Es z^vai7b3xk?8SGFQ_H1!_!BCfC{?dUf6-?{~;`{8cyadn(Omuhe)7Uk)t zs}(PWba{bBMRFBMNLwPus{P1x5)(;T(v?Yo8-(0lMq7~L`qR&_LVvs-8j1GdDm2Q~ zu}nv`WZ`D}Jw3IOiyfD$QKY{R5Rj{Y4A?T8b>p|uu%KRUl&j=V%${LT%`?9*wi-g& z!yM&GrtNPOD^>f_BKIs=w_c8yAuLP8r2jfSI0zu|w=DXr3rEAJMtsjbOoB(TP==r<$DqzcbvfaW@b#d z-nj$GAyKzw{GLAiUj33Jx7P5e*Qt?4es(o1QIc+M7INqA3?ke)cM`-l zEwJ!?gSmE+a9ygpfAq1Mf#_3}sNe@Q7M>UNbUW}*=5Wj%xZhZz>#jR8Qb<&#l;U!e zRzNa1`tvK5Ovw1aP?TfpfX66**oI+>q|Gmz(w6ssR5`zz>$%L(7XcE3J30D%X|k50 z-lsKgxR%?%-q*y#?K)7+&?5x=v@aP52{!yNrdXT^Dm`cie8b(|21 zU{VLf2F9YEdIXVomWtO zm$ilLx$x-%hjihWBP_HawxXs4N5&Uf>yZKl>KFh@U`TCOhPisvKoSw>Cy(r1{khr&m#v{m{0m4c+H(`aC^842W0=aX& zhe^B2Gk;=tzI!wE86^GK z#nDY0>(i+kmErK^z~IOQY_pBRkL`;5$EwJz-3XG`3%!em8)d`pQ?n}cdNtUZ3O)RZ zQkHh&99!tmhe<*5%Y{qS@q4SsDSB?_^6~{(SV=b~E$a!5_LHYBCDQy#PHYPWoG=hw zLaL7HSu7V-B9#J054(lpZ7RUyV3(nCk~=gH#)5H~`PU&DE7x=(T}x}W{!BDHG_`hy zO_Zgo_@agor3%GD$-58^?^Ft_q13fV!!HsEbuH_g5Y9q-ToN6d?~bY}_~y_zYR$os zx9hc(8P;5eiRU?%N)oFT9SumFMK=DE^TaL(n`UYW)-+U5ZL_?4w@kyExvvgU)$JMm zV*3rKq1i;7hhZQmdUWy!xS5(7BeJN4CZ(6_m1TRT#9z>Ng znr*q88NAVEOKa`55+?6u!yA$l)F6U9nOBX)zdU?bOOFA+uNw})*P`z-s9v>dYuuV? zPrcwhL!qt2-O-DLS9=7F^xMl5nW*N@r6A1eu~w8P>kzc*cHv8(^A73y8H*L>7UrV6 zbPUC$Q5EBX+147JGkY1q;WqW3M@H;D;Z}$4Q+mCZv2P~n{dpL!l%_u3o~q{mp104_$&dz>82n1&&KO~cnp;v}6Fyi_jIZ`6Qa`Jg+2=d#Pq^9aVc2+O?K4NR z=;PvcrBi4umYT!!b+@<0rEKrQF-K)YwJgE&c_ZHaM!K)}hWrmy;4I?ltoW-Z7S1~} z*D>W#l+OeDq)c?PJW)%ll;1e5r@a~7^ciXU5b@?`seZ}KW=Bj;|Da*bOJbP7lS}M_ z(&7Ay3>A@v{WE?n)4|cNJI;qMtKSFA#Z*8w4EB!ly@5}~wcIn82)}~wLJ``V*smPq zO<;?6D}57_Q8FFja#ugOJL7|kzLuwIii)G&70uqahx&12G3>z7a^FnisH1EeR)_7_Xh9&kuR zyc{CruNv}#58k(Y1VM`Tk2e^u$&(gQa`E@n zOLY!FaC$?>che=Sokt|a$>*6%fq-L}8;R{A#10E?1UDIZzBnlz{CN^56(PvX)vC=d(=>%=kV?TGND$K?p z6$M2tYj~`u()8Ij^x>u_l=NzW_pkNT+TTV{iYmbV4m0bi2W(N7E&hQP82IfOrsVfy4mBACIp`y=Lcu0-@?G`PTlh-h$=3H#m~1$%DCDWrPLC?umph zOd1|1QVI(0YEGdO#MxL@5?Gss#_N57=HSCmHHaqDa((_sX z;te;`P$^e>InUA!^-A6_~i4>)`=E* z3&+4tb&1XKP~B2V-~~*Z+(RB&*x4zZ`vlWNm!)G;r2LL6$5lzi&GjHfVc6b7XO^vb zl8!oQvf6}TNLI+;s>6GI$aMn48l;K4s;j3>-~W{?lF_DVA^r|gk+X!ejbQ`rOu^Qoi7NQDPYex?T!jzBV(Mu##L-YxT~*rS|m1Ga(coKMR&LfAi>(!NJ1t#wlw-Y z3A#Ip-Z{bf<4z^OoD+@Bqb6B+^o7)qmitRX_%0npn%)F;gUc<&&ZU-_QTyg%ixOka zrb36z$9*UKna50KrO2Q*rL)P03(9R*A>hn1{RDbrLgcMtMst|R8smW7zU2rdj%suv zl<8B4x+FfWoKQ4;8Mxb~SBC3t8w5pq*v-FEtlf!5ccUu~Ev(9+_CQiE-lTm=S9hL< z#ay1LmlJ`DEeY*c@sv3qqK^`k(BXJSkpb%nOKwm6#;!Qv8})Qx9-3_L@dXdPtfe(e z2R`FiyGUHO>UBt2M(DInp3F0H7eCEUF@jj^x*exM0TRR`>7Sv^v@CwKX$C{B}bAB?3aav zIoPQshQ$?U_fw+Pn|E4aP=uuMSvi2D_;Ef=R&03`c4}U~EVOSV$+0*;vC5-r*&F!a z!na=2^@C7Q8BB1hx}ZFHPr zz0k{EF0913t>Su5ow-rD3a`NiS`z+(XIqAyUOz z2EaiCI6|kGmTe~UkX*BqB=1#G_DqVcA`5oiKW7Bf-f69fciKP+Tx-HVf_CX%V+j|w zfO{T6j+2j|Me0Y;x{m{6qTpfe(rx=A=q{4hIE7BfAD^zbGp)!B#_PE9)i}+~Y;m6r z%-r$}b5W0aq4O|`9nm=zsHttT##hGub}D1VOMy#*c6ug!^_^@G8^5@w$(yUNeWvC< z+>%lh{*1P1@kw^M;E{O2IL=D>*fjcRP6XyDC!(=m-X8~h(;DBfe`5c}p7o0u`ldXT zlkqJ%EfNkIv3L%=N!dYo2NXqCK{#OLFmqGAM7_meJ9nr{3xg?|5^Ln?)k_)pn&H#k zkG7v~Lo&rv=aGnSW|PlXQxnmk0wZK+3*x#IF!rPs{)n0qd+W+OrroXX8DgK>C}D~@ zCIn&wflNUlm~T)H7j6oLGbH-G#yxo{DV#SMEU`>d8Gs4Hkq>&XdJ_!-qp3#L ze<_@>R?k0}iXFKPP*5Y(!Zw|d>QG)xTRU>%v>5r8zi+iYSyqf)enBtmG*(BPxSz;J zQ5mjdv6|(j%2i8vW%}zpeNcxiPSzD_+}m+WX^TaPHFi>xv==(uAtXh6ReRM*>QIf& zilC5M^1IZi#Z-O@hw#n;$>eZa#GMuVz-Su7!?dW_p5PnY+PgR-bBUAp{1P*P8j$bz zQ7)UiPCOpCeiWX7FWsyz6Vx?`Hp4!4Sw1#Jx<%7|`$o{g-7pp1Urish)q;X*k6 z&4Itds32^MMwUoWnw9~_goTV2T^hH%4f}Pj@M?9fo=#Vdvr=Px&B(Km6a(S}`GRYP zsk;!}hh&+LJLR%erHKoTZ@AtY8=EZfyq3-5G#VgL1X>VXj5(IV%r;2x?XmE0|Zj`xS%v>=r!(_rWV@B!Q#Lq-@<0|+FasWbjbqPM~dh(?| zf@(&9$AQ$*E4)xp*!p`B;Gf^pov-phfP93lJP+_uI$L>t!stzt*=ENLWkZc4r}sSl z97BUO%mGa;<$Pyf_s!3mBKndTKv@YPLiVcZ_GYGVpVH6K)FZ55OXepZjW^n$!V^E; zx$yLJVq-VWsN(GzeA2DYsveYYKCMJ7s$X#eXV(G4;+B!WJ}-V@yrSoDvgbp&jxY}s z9usxed)roCXu12|lS}v%9Nt?}kyGLLp0!fO8I}203zvz({T*|3-07si3UF?N zJQSlp<0jYi;4byu{$jZv`S}dx_4nxO^^jiA(_QkbPfP`?uc67|gaFMIb2Sk9rja@t z)L0z&O#oO#=c5ItMnRo>oQNursM*9&6 z=(J2ta1aGd&nE>K$c%xWfxE;G`J>nRJn6a!9p}7$5Rjf)$2k<_U%5!%-T+VTe~);_s{26B9#{X`w@O8&QFXh5qL!Vq}<^weLMQlmiflt8r{ zpAOrMt@W*BObE&R+am?4? zl}2MDg%&=D~@6|~vPHIk? zxh|jMu;k*cEkm^EhoTjM-RS2+!vwqau^8CxR&_HBt*)vcs?%{}<8bAPx#w6j4Si*r zPhcpluEGSL0<&m;Xu7yJ&(`H0B~W)OG2~| z!TgJdPGylX%f_E+Dgp(bm)Cs30=4Aro7qtgYRP5oF0RP?ZqJNGH|2537ZV*r0oDFw z+g3(frZJ=+wc9%-4z(@=*NgCm`4#cTYMss_gv9d{eu*LB@v>($MfbdbvGV({(pUY1 z?7P})$zl$fQKkr#BUFDpAD?g#$;Vm^Dp=HcAnX>lp6K%yk2VM@^GV&912>WKWk%AW z2(>sa&sZTYDe5n;%IP-uI501aVbKp}Xz~vX$Yf~BP9z)AOfSE9%D@ z+Ol;O%W)Dd3~FVG8AnVG+C&l%?gi(~daVHu@$6TV2-}Q!*XGNO1l=EtR;w)n=L{JH zvo%>{ky^Y9r}25v)Gu@uPck~u){2-*k{$I#L)&|gTjl1br?n-Ri5IGPZ)r1M=Y6hC zR=}D#8iz9z~e1-FFPDF7~678-l^A0&wb-nx}) zzu9+!M$QR3>LJceG*7x}y$TiG6^RnCyInvHqoQ(D%K#VKP()~@N!_m=SPRn1}vPB?8y!dCg@PZbe8yXgfU@12V#C5B|=oRBv6L5 zX95$z-Afee!tPQKs-rzzkX$Y03=zDpzXW!>hm_a46H`ab^+>{2#VBtZvlOmhliI|- zJIqE#c0FY{0Uz!TeqF-zlT1|dqMe!T%nVQaZ66-i)6d+WrpY-?E!_BV^0=gacFe_W zsd^l}CnVAA5>0wPz4|4cK1Xg|!2|U&?zqb6sop{XM-+s!o*U2Hn zbY|~JgwZ`^&fH5ls5Q}!TAw8oeuTcfkr&@9#{b=>)p3KdW6{y&z$KNn}yZ|+tC#2m_0bd z`dK6lxx%8{1P>TE>0~R2iD2q~A}1*_M!ap-JcwF%qI)gGGrd@w2RB)ZM1_<Nnj^{0PdgLIrN$EX4>s z+a!H3f4W!z(c#2Z`BWV(Ls;r@L(a&N_v+ilwj)nP&f&G7hDYjMx~;#+Cob!aL&6UA z3PVC&joj!u?H!WsS(%_y%4ik9q$Tcw0R&A-uz5H)C*RFe^jR+&Z7^{GY`p2P-ut=0 zcNh(t={Ky)5%*u)ye|tBv4QaMm$662Cd|!z)Tm0Pt1I({6c*|tS};O{NL`JZ$J6tS z63Ock1^TTNwSV~ z;xYYb-|mhbQWrpP<`eMG63b<8q`$Sou;=&j5LHHFTM`w8 z=|M0O1!a;$&3L{J1WaO|;Lgr|TgphGZvaU5!vN4|=pX)-(DjEQGdUrVPM>B_@1a{394(Ovn>ymmK7S0R`dz5eU))ssapQ0)9`o2Rvp0 z3teM)cOY8G%Lxq7zTcC<457I(4bTqA$)2oeuLGg40zcg-Vu0vY$zhHv5XnJ}HkkmK zSOB{Nb$UJvL`WhhL-;0yfer#}eL%+780cthqC%Lnz;nD$gaSpu@l^(X!UBjv00SBZ z#&0tCfsVN?N(L;4q#p4@Y@!GgBh>d(T8|(XKsk?w6{Qe-oH4dGasb;K>suiLXEp}r zh^*{nZ^)ib`1r_}#LX($A(4m_RqQhab;tA1d5VXv}F;4B36BGXDi3-Kf#d?&=bscoH?fP@OQ-=P!}h zCZ#ws(OV@u48!mu_S(@nKL3KwLLd}Agl6a@7^y}KyAdZGU%TEo+YC;f-PpL7vR0C! zXCjr4sw1&IKmfi~*Yd)8yPX~vFDO66WQ5h@=GS3%H^TBjUR*ipiC)0ET!w~5cD7qM z^66e0gH(k~jmEHVb3Az|axCqkaj09_#>kG`&Pewy{*1;mW4})!=&472UtPd1XhQ?oP4Rb@mhq59On%%GMeW%{Lgv@lceJ7BUYu;6YGXRtqO&356%<)Y z@7_oY{}gAJtM3%r!NdFNbV3s@fWQtny!EZK60aU>842$B(Mz#)i|(mc@QcQ_fk@|6 zCk@lqgEdRjYP+Y=P{-^X8Rdx!w;WB$&63TqC)5qpm0Q82JJ)olTha$3U0a0=KIhyQ ztOAl8&G|W>Ih5YNkveYXO9_jM#7~mGW@~v)DPdLaI~hx}=4|cQ`0ieL%#Jiz+*fe* zTMF0LxDXtD2;=NDJ%Z(MpofH1TQEE0mu`#dQxMd)X}u+je{vMFtsPGs^BFF^(uBs@ z5`&0(ndZ?4&S(W%tvDZLq9nkoIY$+L)<=|S2uS|rt~F)x!(=Tp>B$W<>yKo_($%2^VKl+i-S zKUzQRL>`%aAp6B&Ds&{-W|ry0$esq^}yuhnV6wP=LXu>39pR(y91_AkPp8|RDU6AioRe>kmWulD)+Gl*^=CJ~k|Y>?%fuOcN}Y%Dt`udl+7OHDLu;Z}mB!y2I1k8HV#H9FehL#Op>Wmi09S)soEA|9A(b zmn2wseGyyFuyG}9(eG2V+01i>Pu^E+q};l9PC#tAuZ=*A)~)=`HLDUep<1R!oID5r zNP8bg9#`m1(0Fr2)${k|RbZ5+dwI{Z`|>Jn=5rJ6Um5+FODz4xgKx5SOBP^NN*xcN zi;}-9d1g2j20i<+IwAuyhTy(s6ipX`Mn;afzbtU_0b>2N(oUqvv4m#B4S%+gH|5uh zVJPuo9cXb(j(Dfdn$T7(WK4il>S|1oXT&gOYp3v{a*^%F>j}ouq2p=uzB66)1OIJS zsqBCZUFeu%nDPb()Tt7=&(5aYJ)JAHE4FG$Zw=c;L{Dr$Us*QnY?(yA5^BKR%`MRFsC z|5a-z+A=5VL6Ai_VV+(K)|SD^^H=MX)D!t{A9zFj9A5dG-``Z+w7m>C;;c`>bmGa* z3pt)9vYk}xXi#%!UWGr}NYAXD$-OfeL{Mj%5{n62n7?rCoYQnr40z-~{t{TEayD1q zpS@6oH95+hDrmKn-HV4_u^4GI6#rJfe5F8tYxGBRVh+ux)H8+EH^js}Q>-zTIVoy+ zKchNWjSBM~1IrW!+9eo1!z71%eZlBlEOAB*QFw$m0^WuCeu$AxNPOtYO-^L&{+Q4s zIFlR2$}G!q?tzTYODfVi)P)`>;Qs)lkZ9oZKQV{n-!MnS#u{vF4R#=7hMgB^qo@h~*H!wFg{8OqrP!22S-$gx@_8x5SXbAp8uLBt~GfYy|*jU-xSU@T{n@lbNBh zk_14`@5{>e`qmB~ZS1XpGX90!q9V$Fm!zuUm1 zW@ZE+Jj+wgztEnIlbQ41(Ef4yaT$azEiNSvf`S5ppnxCfaSkK`f`^5Jhl7QOhl58z zfPaRFj)?gDIU*J+8ZtUA79Jih77h*pF%>BRAq5c*4jDZe#VcwWS{i&(hBpka-%!1# zdHqxf6aoSQ;xj}{L`2Nj1ULk*{~sTZ%^-|tph(ae3=}yC8UqRj1M0CIMD#=|G|Usd ze;;tL&)^ZB!$1Rf#nC}fFfdRs2*4EtxTg$HnPK5DUc$d%#>5s@(f>MvfJM$BqWHPx znH|_CsuYic%PFIz9EbC*l4IEzOLWXJ1Sp5_e^dg3frWyGheH5v@?!v%K*PX12Ri9@ z9e*mpc=3`MPFM+^Tv6XHDtcrT6N|;Cg_Zqt2H+g5KV{tr-5 zjG^VOnI6opFhkU!^)d_e%;N10f{i?BrGkv@53oWlhxME8%kG28imV_iBW?OqrSbQr zG~{{VIUT>GFn!RtJ9$yF%5>?NjCWVV>B6u^C2&)lHGwUQdm^96fDcBTNd_m9byW9M zP>L2{ho!XSxuXt^(n91;{daim7Rh#*!(6g9BW3)WHZ_;3sFHNj#i-CKzi!q0CUAX1 zMp<%-KH5i2v@4O3kfA)t%lWY`X?YNI%^WR>|3F-`Jx1#ZM_F+m_5S@QqsV2WWz=Z- z`I?GVX)Tq;WgRRGRn;=ou$Y>Sj*d1i3Lz+JE`oLUvW_F1Jo*O{R$2{e`h|-|a`8QX z)PQXBH{Q{cX&Iv&gX2336T{iFwKBb|NB*@N+O*6!9F;@YdOtLLy`ZZ1T3lX43(L{lz0SfTD73$^9G z?bQ*>!naeqYYHM%$1hk7#EHEV)CdS_XTq*3;)C2@t8_)$FNEx zVwdVD%T)JjZsIzwP2`aTUe8L~cLXTmnIxKY1v&;tERQ;wuH^9-+MU}_!zO^27|2WU znGFUz*OGhoK6!R~otU>X%SOl-VVsSwbt_xbyv&IpLKLP$h2^w@c01k(1xWjg!z4Wx@0x?3=ircK7|h- zi*(k9CaqjU8nVFAXRC~D-6(kD%UjghTfd^CReJV?KWrI$72it>$OG>_Fc^Ngpht_a zULC~x5a{zP{V++?amth5JwTh?6{Mu&zNpoT<@a?T$PP=Q_svAFyAz3X1wa-%c;qyujJ)R>iHDy87};T&QoVh!6!t0ioL% zg&UgbR8vY;au$Zpb;#1Ess`5#cKunO?D9SCCSXL421Y)+KPJvhAdteb4WBqmvG^F# zs6+~9i;i%naroj0nls4-W4Z=sLYc!|C-S6KgBx1cxhmXtSn9UrwnerCJ2`G^V!VZy z7-In}+dP=uRmEfReH3_ba{QcZ1;J}eI8k_yU${z7x+Q0EL zApI;iv}>Le7>up+pJ`LtnrqUWx(vAbF0gPj*;FssA?wdbG0!&<`o@m***VRRJcom& zLW|qByZ7nV_ZE7Kq^k)AtNd*PZ(7s$;GRVuswbE zSN%nEbj9(A0b(eNg~_2T{3j~>g%%PoNeXkg)eW2eA@YI?T6y2H^J-(xqfT=O>(e^afs@nZ~t%g$^YMD@~`?8-*mLQ2PEnH23|?z$%=|076tx&1ji}LMq~zu2#LsyMvX7id6*^6Q;nLIV$&MHh5uAx#Wb=~XC`vcTYJ4vtr6+5j6KuK+ zyzod3i%K+e;DooUXRVdv6_>oO9C%C=+t7=*`{spdkpgT5{pP$A1I7k*}L%d8Is0n^O>50*yD- zeX>gMoEo1RpGsag;CYcY+0^&gUyNfBaa+h%Um3_@~t{F#VB+c zdmeI6%u#Vkvn|%y*4u{cz?HbUz~G(+FR0RWZap-KD`a^->5lR+@riN(@ zTQU^3(#!>o$^viu_6YMVb`DRS@t|`5IxqiK)WI9sYJ41`Q3Se_7~a!jp_L*d6Z(tf zq*WPvV&V@pSy^ENuDpPu`HeuqtJ^d8**b>sHOKsF^(A=`d8&6|;bt-+>Z7X!$U-JC z?;>kSPC5fRmq89?F-M)a-_+cHULKLLSGjeH_5$vV1d3GKpBd^=(bxfBu!hEjMgwTr z;7%H{Uffe*GCPNuD_!tnbj~GnlppDbBI=&mPQ0hBqBu(1k zetB6h7;;e~qIh9!c)BxAgUYBv z_T*7(SbAUZTF0Adz3ZEu*x~D1g+a`X8Ea}>xO8e(wwSH|qD@**x;YreNZLBnq{Z3? zXg7U{#t9*q9he&d!r1k}M6!?=+vA<^y)sXpH4A!^+DA#q$r!JY-4LQ;}arj0^3YDrCr( zOs&MFdYfU8rqD;zxlME3pt-sWRa(xGKjfxMcny&YbS-gPH_n%iuuhIY5unib$ZwD=r87FEArZ0c;@e&y0>fe$5qq`GMXu@Ngh{M z&H0v(93c33uGa#%{q_s^`84Tr%Ka#1Oe{BSp9_iuDk{|g-y4cdgBtvI|I^kbBP%kx zUcnfaQKoBMSi38Wi6#bh-nIc_*@%r*)<&x?>iUm-4$pTq^S~2Hn+73hJer@{cW~k3 zLs`>K#d%n%GaqX$9cm9`WQ}X32ddr<7sh8(2a2N~c$tzv=j<6qWsaHKg%$mHO3Z&6 z6&Ppahu|rL^{ghNOR(JJ*q3Y_bm(}~3ye%!eXKzX4kHB*?#$}fD1ofHmURp=@fX~Q z`&@iSOHaK>2ArHDoNHEb1%o*KQx;7O=uKlCBq5;Tt*DZ?dL)t_^lNdZ0N*qYTVxI1 z5c8uHnQFD!{kb64MXMt`D{jntLP#+mYq)1kfN-yxFOa}@%E>p8?*=96PGtVwb+N^< zQzD7|>#3Hes5U$_Abz_XD?-2ye1J_%Xj#WOV|DFb0WS_6)fWof_j77dRy7i;bSjjo1%- zHqZT*Ml+4LiV|o)no!-el0a$lB<)s-@Svq|@5wNxKRay;!Fk%#{E^AMnC=6kj;&5h zMEAKiBlWJjNdJ$%MC%bViW3g=qN-X85G(t;eh!Lgr|7(FvK>gpKV89p{5SY7mq7oe z^1(WAyHQTk{RCtEsqFKVdy?jw@&l9XL%L_Sj(h3Q>`5-wfV!i2ulbL<6=DSukr%At z;qO9Zk_a?pq+$sT%_6ZqCv*)O>r4esMSj81bgNQ3rtE-HV8PT^;zNU|GvQ=gJXUKS z3o=j35o7uFS~N847L9x*(Gr|Uuu-X)sc*6`3|F=z&iG%ooi9)Qg3%k~pG%{~k4|7!sVB!UuDZQm!g1y+h#sQpKTnKkzR_KhgTvz@4NM{wY&xohq859 zZNjOYV#w{?VEcm6aRAj7+6R2xK=+^NWh&jpi+!8GAX84fcFukj^R;`i!x+Y^xSl1C z&HQ{H9B%}kjv=?)ovUU6wMBO^8DeV3M4-3#TtuN#x57JMhhxq@uH~KF^O0lK6IuCF zLOB=XpFOmGff%YGom%lb^SrthJOynLK31#fcfKMS1j#5tv8jd!UMe}ue>9uUkS2eA z;MeKeJpbHyjbAX==7l-{T8l5$qFT(A|Gt^p{v(X)kCnlHE|dLd7!~tJj=!&3Ij3%E zE`$?sph7XKAv^C+_H8g?uppD05(BUV~VMm0{N!OHjF zH`hq>`lQ-d2wwiWEzHjl06cT%;!rDF-98Sk^;+kzWI9~4-_V~}`y@0prB1A1oaCRM z-fgTM@$k7nVu?phNO8PymeSM4-|w_4eosH(qMY0sD8P@+Mf+e|1zz&Y<(HDQ&khOQ z{Ty^=rI;UrT68Xr`iN2-366MO!SH(hZ3)?@iR(Fry{{H{d1)o+?g?*d0-q+9{9@x~ zIn~uFl6qc7?0VR**vf>ONtPw)qe>ckDdj~<3zHT|yu*uOLgR1PACW)3BRN7O z9}UG3vcR;b03F9#oFF}XPNG`4ClwF4NALPrDfi(c+1GHAdzxEyec2#clgu2cwH_V~ zEZ2_O4;oSMl0D5gsYliN?KhnBoxgg=n}e#t8aXuX^@HZX9 zj0ElDtsMJ&QV@PP(9{>1Au@8;_NHV9gvzS*}?h8(R<_?tzqq1i-%iq7&4kE=*Xbb6OaTTQM5n1=d zWYRLc%(46>+4pT-7Y2_yJEXCXGYK}1h1{fRF&onr+%qyw79h!)ML z(cJ#rMHXa9r4rI4K1H`X14{(na6o8OCYo)L{1*0hoYYVEIeqhuUA{;lUB(Q@dIba6 zu=qkqK&iXkrv)d#M2NukgH^<75eayX6@Ze~IU(SBQ1nm8~2S zczS%Ijs|LxxQ_9)gzL=MVbv%O3ObA27Dl)hj)SfkpK$HJ@5~D0w@ppLbCdrXZKN3Cz)G(-mBc+F~Y~T?Ost}-OR7K8mrS;vW9~Q z11<%_qmA;xo>sfVWv4puw6E^AZ(+Yt^(J3tfkdnQOQV@du9RpEJPQ5^qH)6ZP1QTC z6wrIpAN4qu$~koE;dJ(74cQu!sZc4H2N$Y+VI*)On^iie>nxVfG z^Jw(xDbLcjk5v2xLgi`B5;peVe1Q-$3^KsA*F&QIQEnZOhskEmMc`juUSyh!p}CI7 z#>;$f58)f7ZB3_13eLlB)~^r2$YrcEAUG5ktzr7%#%(O1$MuV?6;fOJrt4J#jl1^j zBy#ADT?Lr1olQBcI)X&aOwW3yJRh!Fw|IZ6Wmd_dh8u>OPAy!M|G*3XIm`HO0^_(oLb1C4S700y`yZG7bMFm1D;E?*{MYWA{~zFS@P3Gb zzu|F!Kfy0p=;xns91Q#mI0QskB;=P+tV|6G$RWVNAiyCaA|XPL2pInW8&!ZBlM&0^19R${aCeDF&6@DgkihmW86H ztG+?9=nD@ZHoz^ARy#f`gs8c2}Tz@qT)Ew|HO>XUpOYiNh_m zxpWtFxEmHm(^s!VYE~9qUj~gVz&sVaLylKrO)teK?>jKW%0=RZZeC;fv5fz!nI*i1 zh@8@9=BrzkMz{oWCdolr4!MrI7H;A*zJ&t|WB=f%x#Fi!`PzZgK_*A$v5r;4Zr75OL>Y1lzcdF_p#8bic>o=AFpE%Es(=%+77n$N)HDz-7X;Wz7CdFT3 zBYggzZ(lN*yW2_ZVNjMbOWu0TLj$^9cuP`1AK7!Sgc@pmz3t_2fWeTN$vTc*j$uIF zuU2uO*hu4`=kR^89VJ8}#%Ws`t_b__c16xe+~6CYwC!9XGoA(CXn=8iOy+q{*yW0_ zD_o5&C(m1R*Uw5OSi<|m*>?PKumx8S}WsRZJ^ZP3-u`jOY2% zU6IipaAidTc8tYS48sHDQ0Nk?epX-ieDXBKt;zJ^1^^`%^2(NRTJOK98D7d1{IC*J z`{ZWQgV>L@HPeoi|JY~=D;&I3Pr%sKMvi*9L8l73SYPPndZ_5wkLs`C%M;1Q-1=oq&zc{JLZ@ALy*08aDBU=mzP{jE|hJ zLBjGoqY98v*7JI!JPN{30SLmfDfsYw>wji71N5+`xb*TtK3SIOkS8jm=yU ztD-<;Aa9*P?Za!4Kv~B_uPp^#!&{AOo=MU8_wsBc0OMB|3H?~|Ca*OR8^gPzz!ini zVD&#XpZ>X3_W$8j%%Nk7cC+eqx&h1Be<-RuJhJB{Durdc4`OdMDS=NMuCg7x_OzMg zHl&9uj*sCXJL;OufN*s-)Uf4o>j8j&&i5>B{>TwwOiRtzG{nS?OgGawyD}aDN|p$~ zP_@i8J(1L|u-R>t(PDUyG#cICsY|5QBVq)lonQjF^dxe75lkIk9!*<`{d7ptkfhhK zW0oBd6GRl(`bjYp{_UaoKBI(FWLDjACsM z;1$jm>#OAjBe7m|kGK17vQIv(y2ZzN5JDLRZLtq!Xi2SuSML=osaaAva@!1>3VAb6 zG!MoIi^0SDDnS<( zR+DRQR6+q5;!}yq$#gB^l3cZwEUR=j1w)FIFLw{;5`}NN$m~S*#cSF*Pl_fRz03DY zB#?*omsQ^9ZpNotBMtK=RoJj{d7m)LsR+c zg4qU-O#aDV-F>bX#%iNhIstLWTB?V>Mvono2CdIcBEWeku~DKP;DuP- zE=U1l_x0|}KFnQB!7@DPczdO97~}k=kzF7fWBMihD9@t35P6%;q;^1_6@eS}9Q_)s z3udeIInsA>U6chwRhI~Lr zN+}mUiZG>d;Z(0ck&Pk8I#vwlvY38dZyShnpY<@#UolUQMJbOu(wQhWzqrPYHmYXi z7NRXon2|O7)~2};W`{^TkTczGGB$&}%rn`Armd!YU-3eZXZODC@kk}=5}EK?DB>OH@5^| zH!vL%>K*CO`Inkg8ETJBbBYPWq7my`{1+!!aatN-?wgQ2%o|bNHERG->5?CBulweg zGvj+%7n^&9Mi}6=EDS{zh;< zKirII)t9d3W}19Qhd&-XA^Ed!QE(^LwS-!mqtX+bg3y&dIhJ7wgSBv>8t?iMnV6dT zwm}H8Uhw)Xdfmtp0+_Cp4+2O}U+AqdTr&}iy{l-&~y;|Z=BeTnD z8$%OZ>_YIX)k&SrvjdP)jdH~d=$uz7>1~ALCS~c1yk0BHg2VIhv>3x6i1!Fty%jWq zMa|5>%~1+ag_Tv&ZhxD*5AkvhPuCH}gfzyR(ku^2eeYb?x0v`u3rUy3a!&1-XMhfG zIi;6h$F4KSvc)D;)*M%uc(7svHWBR*Cf;ci`{r{!&hsp|XdDsS&RL^ETI64Uyat$E zgeZ<0RY+A4ilt@m%LKA}S*u!jz{I9T)9R4^9P|h4aB1DJJBto63-9V?OHL*pm+}CD zfBaXz;=gnz|G@<~OQ`O}TkAQbHpUIjGE5?O&f!*2I;C1?r}v0Mtd|1MMykJH?lWl= zT*bd5)$5QzLqVu|YwRD1FWtG5PE}pIH)2+ zn#|70)phVSV!yB|KBp&lR`QSOe*Co-6VE8jP{_7`RkF>|5WB{0Pmv=W>r*`65j50<%?FH z;S9{iZS-#jF0j^2Fli0*=W06Zs+wHuW&!Rr*Syb79vB~%TSrUVI_!Q|iKxQuU(YH} zM7&Oaa4m8p;38Mn5PY;74MMWvg z@}eAE;B%}$@UHpc)H|73%dH;1=>0b(mSy116$vkyW`fe#ym{>g^(Od9YonK<>a1fO zC}^JF5Az7bIZSHTX!gCE)uiV9O7w)mEN>*W(fO$2*1`Ly0!b)TI6vi_sTeu?$CD&; zh_EtJW{VST7(f&HZ2oBeyN;10Le}4bKMLWn5K~x&-xTo9R?me7{$x6L1+$36-t0Tp z92>29&}g~8LNC(MB#NT`ZqjQ*VpfV2m27&8b@Jse_5RaV#rW`^aE?HP&CjS|F$u2A z;a6>xMZXEg?c$tup0Z3yRWJKZw+yxS8RxSTc>lhA7miQ6H2%yUle_cBTBsa2(pXsd zp!vBPj#Gs7LveIrEY>D~>S zCgOLqlq?6H5l)}qTKKWe6NeQ8K6jFmeO`8t79?!K;Nw2f9@zO^Ckjfz0F4c53oZg! z@E|eeVR1>+2rH`$3_j6O26IlA4LNwIgH`Fx6E?*J2E_KZmFnI-X0Y_(=2&YbS6HCN zWC({p4(TlC&Ii7z%Z3MBVW9ukuhq}uwVRcWCxPw~_e{&f4IR*iC9^I(W6U><*ClIk z1DJ}_(EPBqcU@Q3(o|+Jk@?K(`B7fl_jdfT19nbxgIcXutMI)HfdwQSUBNz4fAeWu ztPh6b1Vr(0Ps95xxy_==Ooa(s`Rs`*kdcsyzZ~!Yf-AZ#6bK_8!uqQ;!B2I-B}~2Z z#GCdxb?0`O#S`!v*T@6+L94atO!Kr!p3tM|^Vjr$h+f!Z!*h1ECxoqvTs)PW^GHjD z%U8+ClT-$DBJhTn_|a~I)k5@0MH_?SFsIdTdj}@x(jL+tQiEMtg3V+A{{8?cteaI--p>zt(-s;T--1Zwng4#&&RCsTIkm8dGgU_%! zxP~H&6>|o=Vbe4$l(Lnx{ltjH=Q*Dz|v21M`@=%P8G zAp~I*eo1myxVf&W#C#I=Rv!A^t7VbdP!^zK%33F(4FfOXo*?j>F1R^th{{5)z_G=f z%|hfQRjEe{bG&}%;Z{v!7c|n3N|ZdE{@1NMJTHS>d+- z8i@Wml3%j~QD?nC7IQWV&aq&Ld+hA8nBPY5ovawg*L-s(vZ4%S{8Sk*4;HpENnn4y zx;lnZ&Fx)PnubB%gjhB6F<(TFOfx3_e4*z?DGXU1+>Ep+C6nICMAmh4) zB25VA@cDAG@#k`Cx_Cak^9E?>p;h>m&=&Qwc+XV}1IKS7NhGQpHu`3jcim(b1eNr3 zX@;iseD4A@U%~J!!lxp2mAdt483Jc~xW9b~cu5({&cW9`64fz6Q6KFZv0wDtz~kZ{ zA0QhRW@D!|CU1*aTdv-vbk75n*TLI!B{1V}8f?(Pmjd1c0)3AC%s&6a=l;VFai;N= zF|_Fumgq%^Gh<3%4YH%Ug>Ahka7T~lLZ@v2kvcApwG*2~R@7wf`EY5HKy*1c%Dc*d zzdeeey`ytjrCQ&tFP=_I%IP4&IkTBInA#RT6`DrVlvXoUM9{!m5)H@&92Y|^_rXhQ zRm5PqyBxoE*hj06YW4p1{P&rQg%2Bd8q$o6FzCGYok*FE<&6_>IWWWv0J0pM*#V;Z zmNmVUnsKL|*szJ$o$jvy*}1lJHMax2q|UW&{@x3dakcIbSn`^>v6k|9Rm^7Gi;7x9 zj*b?evC@X@m(G1#o8Zf0Ic~#;A)8ASAFEg5Kjdz${4jul;lAeH|GnvvzCKfxvb{8_ z6K_d5-_izkcm~Z#+$YXL;E-2Th`+>~0OC__vxiPy`Sz!eW}>QUyA13`gjmH z;gDyl8`}Qf-?%R$#wMAM^Yv*;YBcDynL;ZFhGnc#(XCAatrK}37Ut%olKMoMm18ia zKY?;BhDx+aP@{6R7CRPu4YKBVz7YLgU+_iNxN6Z|N-KGahhrM-2aR&ZxANS(@RBcD zkVIPBOKDvSPrBdr8+=$y#+3#RfACm;!;@GixYtgUlL(*@_`6)NF&hR~BRx&pwH$eE zfqgQ;{g5VjwVN)fP0u-J5}(OqlE~uUEN={Vc>U#YXmu?RQps#>uw$5czE{431^~IZ z;qn9ktdx$?}M%pO|6FDV<_u^8!>_2+!|K^nM@w=Rl$+yPw^4P^XoiIv=(x1rPM zoI?)M%u;lU1G`YV>%>LE@dD0(u&_wh-14qvNl_)BXoO~=fc>H4 z#P4HIq=T|^t(v7u4Fh-TwfQhz&8Ca<>7xWLrzwx9MVhstbv7g-X!8=eaIQdSm})w_ zINL6L*#?iYY}*Wh6PGAQ8^ZJVVUenju5w~qr8_lMRSi%36p>L{tlo8#dMa8&)R6jJo~HZ1O#?03x$+@IM^dyHdqmXl4F)mtt-HAfTyod&8r)Y} zPJbVu|J^(5ztscE5RvUCI-Do;X8p_IO`}SAUiynIK&^X`2p^l9ShG=~x?}7E2#+>= zE#Wqd@8*ce{NK*tgMT02ARZ}g535lA=6opW2D`rvZS50>=S@d<#=|GwXUkXXpAob@ za05^2R#!^gla&$K)g4TIcw;Mt0OE03HK;W-EZl~ z4K*BfXj)&|m(d${X;Rps5#>m)8OpM36_z;rqC~DOHs3aPdrCAR&0Ad~^QBI1Pi`vP zCdZbiT$kU*1rJ!yx2>zZhocX5m$Jn@m@HGHN?T{gdx?hdAc=5rN^6#AMiqT&Uv6+b zC>0)UdXUsmJz0Pl*tM+BljZ{Yj9pls@w0X#vX}4i6Eg~3K|e*6b+4U^pJ6Q-EW|wx zeiA5cLBE@yg_2`X&_uo-K*eLVZIMrgA&a3#)D`Bi>uVU-S8CWXf@d~;yit~11~jo$ zr?81gT5P(?F|~6Vi^qkjBlyX&*|0mN)gyOiGi7LRD@}k3rBXdM^@jX#t>&U2Jg0q? zSUX>2yU1mskoWoHpy9pbR|ZEf_>OIA_a|)!0O&xMQrgW*xSLkbrwe1#le{6N&6NME z&ntLsD2K;?unhID{~|IzAg$KSbUt_7(%Zvg$HU_s)|?@68CnvKemh2Lu!lJ767AsE z@S2w18jH7#Y@3bG1kLX#m$KHIw4Th>-h^-fg%$1|2)QX9e7nwI5&14)kB^(^>UM7^ z!@^HJhsy+cH`1xV^Ru()l=i$x_#qY>*0m)#TRDz2N)4sqQ*q0) z8C6*YQ3Iav(^_Y3$SZ5SEy-2P!#}>ov+80K6EfN*qc=3xxjS4#A;fCU3^7AL>;le( zbrc5R*VvgzW_=JMkA~x8O-osT{P+o`>fl1}CQWz5rKCGmcd<2H>01pVa3uWjiiRn* zJFC}bl!kU^VtxS*2e}9veVLUc*vAP<1D!^&ZqPw)=-MJk3FN?wa+ou#BXEb1LB4A# zM-CEQl^FvKK=`u<6<$+f?!jy5Bm@0X;ptRsDa1&*YQd6Py)~_ZtYHbnRM14c#d6FK zG?k094`&K?oqUwjhNm6NHN&M?t;x$bla27Q*vImL^b+x4B@}ddCREDOv-R##OlS}w zJyWEN>tqtY=5frRzG*veqMRc+Y;gK_#W+xCS8uBG=Ca^AUx-B z@~cZ=YwL0YD9q_(+-lfAY8s4$Z)Iqu<9#8eLT6uUPnnCxdUYmolg!F?BKReHHa%?q zaXChMlef}Y?(8dw^%qRNBR9{|lFX%?(oZnsxH{u2@YKnr6qg=1l00vtwJ?UZJ;_}r zYZQi6NP(~Kk&Y42x#{C*U{cnywA^&X<;HQ+PEn#lbUh>Dg;z3RWrKFi zu_s{lGBU0V+yEW^8-|g(Lu!vDM}^+&pYVGBGQ>aFX8u!4{cpcO%(ET*8QfKKV7MMG zt`5xflEsT=A2~uE3PX6abTfWIjP1#{{IZ0zC?bzXi*Q^w^4v0P_qw~{Si%m@H9SY# zm4x%HO0#Nc1WMN&q2U{TNg!WVM2uD!SD5p1qxB4A^+zOv;7bzNO64P7z=6USBW@y| zL#{*MU0})f)wh#Lk@>7f)7XV?!4xX$udu}As!xhnolEWJIj-l?LuwXHFO>@u%TgKD zg>XZ%tWigIZ+B%PCh>4DgubM)bF#I)Q7R2fZ+C%nA4uf7RJG_*sJ$y*w=J)8rQ#Rw zxle!V=ptn2$GBrd0V9bHbg3Cv@CAeCVE4(AOP%Cy(7*Pu<&A=xSV>65s_)PEsryw- z`q#o*A|m42tu^tf4JxMvG2dPle}8vp6w~RS{9>`WD`pmU`}1qEMeNKg%ClSt#bb%4 z82QkLg(~nV|MZI==gLXr(nucMby3`f-#SY5wQBTSWH0nzc@TO;PIj$vWarQsryZ6x`$ZFGHx3kyF<8zvfhOSch zsd=Bn5D^S*#|vn4&2MuR=#09;wP5Ogd*N((HiF(#n8f-<&Sk@S)-eYZ(A$N8Brvqn zEWox)a?PVFwl+fD07C1Er&H>}Gy7s#fho*XfV+EApc7p8o$iUYeYQC-`HH;ppt4<8 z2eAwK`U%~N)00ht5D7z(?uEe$i_@R=O`eV_Ed!tGqMz9B*qB3e4u2N^pa!dWWZ-Pp zjk)&aOCTj3X*hX35?D|i%EpxYyIVB6XU++UFUK*eyzR5~MG3pCHy>Fi1NDn0yT6`zEK^87~HG$8=Skz zO6-F4k2E-c%wFh~(pyA?Hb;-Swb(qV62^%X)#SGIzn4{zE>_d^Y5mh-(|%|({{{11 zt>SIo!} z8X64tk_TI)d1nS-k^1R{e<&>QL1C^mxSi&AS$_EbD- z9x|5r9qbTd+xW!Q{+D)ykP~eIXNQAHQ5wR_nnR<***w1QYe~=V9l~zCnu>tmA2j$l zwyXd1O$&bvo3J5&cyNb`UoaIODB7@=o$BK2mHc#J4F1qvDNWu-+7wAc?&_5FjQx(b z6Mfm6XqyNp+Auc`{M|pZx3uHfxJ<^H9OG)1N1O7=mCJO%Bk~LhBmIl6{UkPfN3=(G zBW&&4wk~v^ARjuzGw{B2M+Y;aO~||^yfU`a9Hy||XFc))F$QJtyIpTSFxUm3RmyhX zVU#kh^ctH+0#vK*V31Sf*K?(_-t{r(t9nM$<-Ld@S7z2qDe{fd4 z8@&5u7`NI#dG_gxA%@u&vuz-{qYsL&1cT4+Tu=4;)2n;Bha$8WMaPT~m91@hU zkWV5R%0^_XzObB>*g)CD>+|s@pc+aV4$VG_;U(x^c0zF4D)RkMX<+kf1`5C&cMVKH zq-LcG!{?h}O}PqtfVEIW{UgMOa}@DJba1;WZmmUMrgD>Z5p0soAxTJX__0S+&iaGZ z;^_u>41Htmy;pdX46tW{b+w)CWa40by&ilj5z?(lth&6UTW$zXdAGPA)&VwE-G~x&?i>0|F;K(2tA%!7Vg(;(FB$ZlE+ zYsWPI*)`|L^?Hv*%nsV^cx(LX;r-d0%v1L#*81)ko$D~RWBA#ZuWZEkiu5{FGO7wT zP$!wyaTZE-q^BQY5tyV(!*lBo<|-SE4pMgj4I?%;Y2~j~6>X%)iMX{@Xs1`eDe6bZqJiuX{X3{K5$22;}*@?a?G~~B}l)CmeL`EsRQapm3&lli}qWHwf)o9*wGHDlh7y+4ds-{G8)!8t9(>gQ435x0H^~jgt+Zboc8QbsC+r zCexKWK{CGc+gF=TokQ4#K`7EQ`sIT!fXrRJJjv=;*@6Ikxaodv_X8@4LsoPZ*0jAg zV&)nJ7*#Ds<7&I5B3H+ma@VSZq@`sHP6to=F()SL!$4mD&8icPlN!(l)c4SzSH7HHB+l)pR&}Gz(~OH11Tv>yMVW{>s$Q#D7#z!z$>+ z%M(!`g3-lRawdRsTen~P&V`wPu;bw>f@BQRZMvhYSb(s>q_BAgIjTIYY8x|V2A9&0 zEmU(qBtQurufpj-T0b?mBZUARfZ(&&I1&O09HrV^v^ojq0*EdRPiAzgj4F|1o0#oV(;AD3b3${f~*dJNYFvnaK(gj^`1R=Up|eyw`1XIQ-s^xlp$o zaFT2KcYRJu%szrji4OvA>I7t0o=$B{o+ojC!K4V+$0E607VJXf%a!XBpq#4Ej0(d* z8>hE=C#O9eu$^kfu}sr+{iZ4L2$ftX_#~KHQ)NuAi`qp+N!N-ABAB-44wm@P8BaWb zp6}+%8{nClWw9lA6s1r^Qrq3y`7Z6{n_TzH=YHZWL`B8t2h(XOd|!zI=ra*lZf7uq z5O3z;qb@nyTJ8$6x}Q#lb@iDPww=>k8Hs5Z(2|C1q*x?Ankd!5PP*mv+n28q0%lpr z;Ufq6XJ`beEIV*1O139M-NFz|PmZkX)}tGQQOlrH9O#bfKwH{0ofxHoNVb2bt$c>=$&mMlbD=Tg?OnHem65-M4tO__8T zk5Ke{VSfA~e~1`kdB$aj8Xz(FRZ4d}%RaAp7{d6y1#9rS@c^`6Dll(gAd~3wf#2p& zN##XC9#)d?4O7wlzy?gJSe{IK&P9p+b50$0hM|!tIdosg4|Wa@E1Zx|hg>|!dPl9l zizcc8^iIO17c0S81tK;lDKj?+P=eUmbAHRe7fE}o6p)#Mq;o96gPqz3Jg^Ny(F2a; zoV94zM+@@$p`BFhmx9}}?-{e_Y!jHleRBoDX2t#Rz@M{=B08tn7pBlKAlC=X!r?Ia zXjekr<;TfCHPPxDz51xlkKxOL9oh|%(Q4~0UQMnT-0UY9Fa)?_wO}ygqNaSsfBr*Z ztbev}sh=S5{$B;uV#1dHP0m?S#I`?8;4fp+d;Q;bYo2k5MLBsOd#BX#59OoLJ9W>W z%5PvoICJbLC9v2=$vX*#?Ahf4MkDtdm41rs73lY5c|F3Xdzm?X1`}{r!S%J-i*XA1Fk%ZQ$t~v54S<_)tnm-{@e875ii1ZLVIpLb=XIPxrw7 zPAFM{*O-_|ms*0JtvEPV7Hh*|tiMc^n*-f{_?&;s1{cY$YvQm)ZHr9|BEFlk-vvs$ zp1pR-CZ& z)P$v1?y zWH%s>4zC{T)hA%-UhPm6L6Ld6H^fe61`*s?kc4VzZ*5M1KwY=F5pLiwDXKKWdfT|)~+CLnz|a0c-D?fWuk_bE%PkiMTY1lB;{Vi=Th z=>xYZc~hdCH*rL#_!W}EfUNLgssC7?L9`0o>54OaTL)}mNW*$KAbZdSce+6?4HcN} zRTBpo(b^6}!km#H3QRmX0tN3>-m0D1@WnHK<{@eSd2bQ6V9k*rpf9*D43~zzf?gR9 zO)n?9{2kn{w=rHOI^0j#;;UU=-FbM<=Yfy)IUcp4_mdhmR`8~8Z6Ge<$=Wn*ev8@o ztTuKTUT{sbpPeynEvhH2#po(;0AE)CIH#$9{AkWfWo^G=oy8-~s?b2c$hcOdlM#-i z`O5S`)3I8EJCjQQb9wU&aIB5+NVmVtJ9Eyq-YfCewstmb^vz5DQCcMJG~$5R9sgn> z8G8D|OoRPy)G_XNAxY#Ej>+q6tu5l-_~a&futUz_H`GBVw)0(@r79!m*yL4m;)&b9 zM!qn<#a@qt-fx~Sz+KLE0nL3W91#fPwWfyTaU*(1Ln~xnrO?{d+j_ntN-np9a6g6> zk02GHrItjbW%c0LF%{JIL&HWeZnQ1R1IZ(kLzdo7yAyJH=M1c`^V~V2_&d(h1o5|w zR<_0Hmui1r@M{@Oy8TO(fPN-1CSa`^paA5s-Sl{arc^|vng9Tp8d#ua>GMD*7DLz7 z@qBs5@P-*n*0Mlg!#O%Zms10;1Smm-8ugZW)rxX{fQ`0#)+x3evvJ-Yniv<)f8noqTsm!L)^w!$!qUg?>g7U6(R66Z2v!= zq9#wAu0Gjxy)?K~kpaXUI7o}$zeNvB-LbeHvpH%_i$8RGzvDcS8s|7>B;-)r%<=m6 zCTIT!ftUh`2P#B5dCOoyp#NTNzBtImk{SQoVkzC{`dZ0N5+trh>Ul2lAaeKk6lW`S zXGg6TAepH?Q0Hv-oGnc*$imOI*>}u)4p!`6ob+UpSu;`xb$Vv^P7fW??I`4X}g%u#dWd)z*-nX|UCy zaJSd`KxtU_a&d!pog@BpvB|Cha92&2QscNvR35KbQHnC5{Di5A(W5b%mGw2@FBqtK zK}%tP@}DE?7PG7Y=U9j92aLkZ5bUaPnolZtAWdRMN`5P@JR@1|@!AR#HH&e%r~M}G z{nr}u-!S4^3eoNUYTo!Bnkj6{N=*l{I_36CwT!WNqOF1(Egs)Zl^x7=g74{7#Up!r znnCh965*=xp3W}ByPvT={%X|y;T#i?Htbf6<9MNjG88Rw+ zS!`I1hV`j7$v(ydo23Y9T3$C=6cCP@=Oup7-`$XHAfRlZ^&N(0c;q>JdCee%9Uval zpT^e8+-4n0IywR%&q{<&iAQck@V2%{Gc!~@Twlq!X`_Y?zEUG}M>3)r)ELaPtNjIo z)im-@Z}AL_Qxrj%B%bP~NIvPCu+J4{jVby$oY3%0+mzO!e^!^+>k3O*b$HRomNk5e zVtVE#pBEJV2^(ptyBmS+xM74jpnGs~mYpEyj5ZFW)oa^QW)K+TjdV`it>{uy$1G|% zGD&?e2sWzyF@FMs1OTIucT}GVQ7^W^fcoj@4Ko3yOEG8DEUZ^*`pKwX zV`7pZ$Yu*72gx<%!UTPXAtQsHN5YX&{Ob#{mFK|V^P9rBqosSo`IA0Xt|E_L&}0u& z@W#|^(LFcdO13g|JHXs3AU?z9uu;BrqGw=SIqNMOu#=UkYcGTPeN-d2U85Io%ABo6 z!pScf!Q?-WnT+~F;x-O@OT9vtSIO6^X%k#!VPyx|ND?qoz?&hnLu6s9I(>t1_73OytS}* zD`oPvi%7V4poVq(o-OyEGFMs)=$K$l76>iDTJoz%fp5&;B@&pQweDCPm63MFf?A9i z7#WzH59kVDjm6!oCb?QnH^>W3Dl*Kor`kO45%@`tp{v-han#s*FGqN~lW9(S^|=5P zfpMikEkZ{RcwGR4f3x1I&Y5OJa9_FOaB?NTYE`WC%^MjcVf*8q$_d} zfroBzaQAdi^%d}MdwSQtKN|PB)^nt!bV5>GTCBVLt5Vku;)<+@bJoiq95t<6L`S1W zoz1LI9P#-AEg8N#``JTV5$3O^@M`Wd>Y>VuQA9J`y27()Dxo8nh;-q6P?kDqa}88{ z`a|YhF9**{Wb}{^U3P}#12tD05ql_@YBs>|S+y}3;^+vbAG%tvSw|epQ2^ z^`=B3|CTi{m~L1{GPC@J0ri5LL2&}x-^4{>2sXDJ->q!XR9D=s`hj&&ND<|I))1Ka zjXZm|wQBZWmC_y(RC{RwTw~xZwZk9l^}X?iMpIx9{Y!7-JKP|*PkXXOvh0kf03xi0#WwWlDdwymMf6 z$}No7?zx-Dp2NxiV(%@3+Wh)Z!IV z<6MStW3QS!hE#s{OiXKT)k*2MNB8V31MzvSQTeu!A;U)<4X}%MMv%XM4b2z5ut;F9H%s}o zM1>^H)|ju}J(pm0oROQZPd$23<>DWlynAtg`a4*B4m)$%3nI_ZL+VwJ{m-HSbT2*r zhS7!)x;FSA0Q1ic!ZQ?vJ9)&Nx6d=%nm984Yb^iQ%cC1_7xBX*gJLaxn_dj{K<)rd z7xaAXI?w5fBPRS=hkEU+{?&@OvQs}D`-mbikOvffil#Zw5H48v_2y>!uMU3k?{208 zi;S#$8(!pB5Yjoa_N|0JpGC@NtQ-&$d6J7|i+#>=d!eS@ywk;B=)3{EzG_9xS2eo+ zd;I>-Q4H_WuaIA3Lwqr`P-BS~owE(xPxV!(^)BZVE?=)iI_?%3tc!!2aU_E1KX^a- z@gMivV?vM7X!1GK=d2Nql+@^lctX9oRaW()x@|IN7WEgOznx*}TzfA?`?pb5xjO&t zmrvql|Ffb0efht81LyRA&XfPYx)}&(B1OX%VTbqhdksy9AC%PTJ<+|k`;TvOZCb;t zZNR-yJy?wXXX20L1^AANmRQ2ucoT)F$RQW7`qeQ;yb|#b&S-}(g-|WjBlE3|C*v&R z2`FG`4t1v8@~Jn9SucJyy&t9C^=jknN_^T=J^bY6wDnbkPw->O#|QbOYe#pHORpg> z6)RZ!wvYd+LdL7{;Kr@b6;fNs*I@Ui_Bc<6{e>Hj3BOs44lNmU{*L49DZFU`OA9~{%0F-paVpt`Q{DrO2E3)&Us zMq(~&1;rEe4`se7+B<{y$)5;*th+qNz2kBE123Vea&9@p25)2aUo?g^rx{jUpO)aT zbmTd7V{jLRg8KwNip7T6B~aO-og~yH`|669$n9E&-%oa~y;Yk)dT;sq&C>cj_%-%I zcsDlq%xf7gML1nc`goSf$9PYbi$j0rh&k;-xa<4CskpB`7o*pn_;Lu!0_02ZDWtB0 ztXgJQC**{R(h@j8lSnvze5^_mE$f3r;ArfI0-}m_WC{hsY%P-NAUrOf9QYYRo_P|% zyEbX>R#!Hh@6DD;&J%>|`V>!?W4(!N!O;;wS%8pV5Qd?vx%BValK7H#}e`IaER7zoVhmeWEJLH%jvrHekL+v zIm^rt1r}O8oYwK>X7hM>iYT5`?SnaT7vU4_nU$OG4QWSS*pFq@1LgYRIZ8P|P}U#M z9pdIZ`VViz3BQ5I7!qbwwNI*4j!l4lu-QiFs zh}_)3Q$ufVxZuIS8jj5dHIY2^)z&Q9U-eE+)p%c6^voyy_K}n{aWrx8F6wK^gdioj zXg|QxwOL@0E7dNHj}z-R&Latpx_remH}?exOHW*7(BHY)626C{F=6v(suBsCU`qE) z*#NTk6NDp$@7YE8nbC;tZ zPH52SN-O9G^~D|o@!dZ-xV9+Lgc(QbI;e*>-F9`8aF(<0;ulI04R(;?+30IqG$SS0 zjfQTD_b~A1YzD2P#zZd3C*aSccV3Lrl}nQ&`&N6!4Yu2xVig<`+HpDer)qAq7N^Gb zBGG_Ho~gY!n;0RVYyZJ_Hwtl;SnhA*^4FAd7b5(>lAin6-{$I{itF4L5ck(Twb6Ct zk#D8W_YLaaQBD|G$@s@Gky)TL6HCDC2T7%e-gP>MG590CiF6hMUe8%`vC9;%SU4Cj;lCERNhcevrk-O?aj1PRda>$W7J+%X0watR5 z(9bMAGx;0$HgHFYH`ZySZQCJk1fYAroZzX!*e6KfLszFdK^p^Ftrm^X0IFB)QCCH&jKQGp68`TR;kJN zcz?~?LRZll?EYozO^(44cHBh8?LI(abw4lk8Gu*ZYG1pNf#1iSH`p%R`XmU#1!sLJ za$4Q*;#FU{FpwgHp&=XT6ZP}7hYT-(zJ$j4wA2>}^pwcmQ)>NqYcli8jL)+s`oJjC zmk{C1^rdPpTV~>*{npb5T^y;IEGAjc^@>fNLcnIwa!ZJf3wmEk(jWVjO4LS{iKEN# z9vJrXlvjn2*gV8*1(}Sw*X(HnxmP>y9z4}DdTwFi=Kcn%lrxx@V=LI-8^XBBRyn|h zXE>)4Q{~k>KDVj<@9DT2f28r0(}nLDpmG@P-^@QuXB(QrCu$b|z4x$P zR2|U@dGJ{Byryq6`}3UVH~M8xkJmu_f+$@H(c)D9mb$tx>J~yPD|0nUI`JDhrdGC~ zUSckvql;y%m~fe!PtI=(n_t+&Q)n+?uK^8mr2($|hj(Ej%uV9jqn;Fv6EarumY*Uo zr96fVtec^QVmsb3+8HtE{qR~6gx5O2xP;sfK2Hr>eOkO_`mJ>|hWK zz5Zsyi?*QPAEr?LuBWIH) zAJ|z}#V6-dK%5mKDYzzzKg~G71SWaUJlmR=-PmDi-95^oX-1owuP$d59@BlZ1(E)N=x|`BPRjgRE2R4Jr}fU9M!764fms~|6BoT$#V^Qfj$INxRdkFKNMi0W z!H3IjnMa#5l>W~fB4%SdY>x)8}iupyGVvEAe1{auS_}qJ>gAUqp9?J80t?S_Hf#P{% zioFt9yn^~oOty%hZ;`bv5~xRuhy>|+h2xX;-Br-FLSqtMXILRCF96*W0I4D}eeEG0%~GY5W50Q<1-XUdY~V zhqR6n3?3~i>;y00xZ1F$rpn7u;)}uQ^&&eb@W;0UH&R1- z`0Cz{_?s?ZlJ%3-?0pfxu(Dv@SQt2psfac77)kRuPWDf&aH22QL+l54?6fujS|(sS zpU~wYziisMy{=Hc7jiIu!6BZ0!mZmTU%{$d_ZZJgo5N&m$@tlaV;z)rnef|UncBH0 z%ulje|G{~VA9T)AR^z(8bg^Ai#F=c%qPx*-QX4YlAj(Je^z1d)bJe@g#^^SSTxXoz z4qv7pWgM)%iwV~66X>rxB|$Yo+#VelnCldgYuB;XM@=_voILkW*|Sn({@wNg?`(G` z5^NSJxT-s!@I=-dd0)&DfTnT5`py=s_j2v^`JQOimWG>v;eDpBxuQ6}jYQMfRMGg| zy>Wzfa_h)V@UhXum{%8GHJ^})ucX&N)ccSwV-@f0dd$Js>yHDM=R|c9F|RgdCBM$t z%!0e-sQL-a3aX^-f;Y`l?DR_C@+PmOPr9~w_L~lkJ?575YrYY4!!8w@@01p2)z363 z2S$oaRA?0?6>!t!cI?h-(*uaSQ@jdOw5f!4(gX`C&9EY(ZHKyTrVOVJxws>66T)vV zrr*q5JT^z~dsVbC<@WA&9l!}w-0TS|(?NjHu@DYH9x9;h>5byfnAm46$u}>FK{HED>2+?eLsb;aL)WSMbQov`G_2|O9vST^`2DA((u(?u zccM=d8mc?G%?-5VOKtH$GrG~s*c+}2OAFGQC$nk~Jdsdhejz5W=8~HbPAk^m!?5)o`TkiW-%D{+*zkGl@4VSq=ym4$<&D~I>k}CGS-EXP{ zx8w~3CP9hIlz2R0$*MUu>qH>dOKPKhXq_DXdAZj-zr-vd-ME=Fx$@z&O`H!Kwj@l$ z8nTh{LUw_2Yrrzy)?8&b`nYYPs*MdAZyI8}>In-j@)oHbT|8ghh+JF(C$s)0Z&TE41KJan#-Bv&E9T^TKLbX>twEcwd*z7#ZrLA;jBLTR@MB9A z%G$1J#`U;cAS?AnEr9h4?^l*0fnzT22S~0>-IR{<^Vz(w>ETHYq7^)^+k*nVxE6Ax zRI6T^+0wXt^ZAJ{8Y)A{M2ivu%hP-8XKM)OHrlOwg>lpt6z!UFnSmyji2GWPMe2qb z8z8ZD3%)NCTsWnb%@0uBa4OiYg(`j0RyZ$&3#3tYu%8cUA#w4F1c{VwA7f?vy}mBG zn?<#7c_Ff8dKHOYSAj&4;pO{Q*nqA{giiGcNs57umxp~Haam57sbfeUm~POB_LYfu zhO9=KPQx7|A~sCu3sh);?!+H1Ze0=^R~>8Ba$XoM`N+PIV+vLkdRBDg&ETU1*#GW& z)m0pDtCbciX#+^cO7H+7f}_SFwwoXe*i>m3f9Xc1m5ud#DN4P=EceCTvq-S#ly~(#`B=0q^LW zUZ`A)V!zGY#aoge3mn#EKP!waHqK`iY_{)ZwAgf};ofBPy6f2$SZoH4fWDHQJ74i=^KtUWm3tvz4Cz-G^-42I_omAVtC_jym>Hfve=R zU9msCWs3FpohPq~JdWzBoE&pWT^B?az$TqnI(S4?X8+)Xn;lbAqY%e8Gp}hvf{*$Z zJxzYszO`QVXu$r1(<|!H$Vuy3ty=*|dj8vy&quy3*M;H!Q_^yT47dH4Ox`hw!UJ|lCEEvM?Gm2WN+ zbYY7w;r?`1bs0`s2BfsnYJL=s3PUo9yYUm(tpOPC9-bZVH_0f3mx*sDT2Js+VoBaN z-!US$Xl`Si0vygBf=clcP3(PBWjgmQ??ijsY+jR%x>ve!S?{!SU%xI!F0}pdq|r^K zINT6>wc~2;Xq=%!;YT5z^OfN$|M8iuw|sa`Yo9yoTEvo{G;kqX61gV=n2jv?JUU;j zS?3Zw?MuXaFWGt?#-9c%8JCSg{ z_5}lnXQqkcS7OKnAS6Lfd32+4)05XmG1^~Bu6;&fN6_fuSR2zXYqS*axT)%g>ecI6 zc88QlRYIsQMSts(GJ;6v#1fZfm9Z0MA*az<-Tai10zZDR^b%;BImhQqx?i_ysBt2~ zl9mlvZLLwSq?llPgiFy_30^bw9R+I<4;8+Z?yxyf=>3)CuMTja&fD1-2uPuF&c|lY z0ZRJymMY7um|y}ww&+TR^T^Nm#MOV#_3p`+N&cFxSEHM z`LdT@zuv(79(VaE#ysi*jyl=U`4`&jSE$!3MB2;ZKP?Wk6_L8(diDt=JadduT<+f1 z{ZV^PRaE|^G-b+WI#U3njc79^5l*!oCdQ#jHJlCL-0zb^BOk z!9OdN)V$bIv1ArXFignHP2#=5R`Fv;I4y`!L;JUvTyAlR^#$f%|7<4x#@Wp$txd1| z9!?aocA4(?*o2?J282(pHAebFg;Z1?8YHs`9Qyf z%wmWknjv9frNOrDpw+eK!__|i(@FK&m{{u9-3gMKx4L)SyDl?uRv08_J@wNBd}{a^ z=In?`GICixycni+-@7J&l)@^r7I^n6iuge8BcdijmfLDK+0t!HOv{j|`F`3+{M}(w zUh%Xuqk1{|_e%29oT~HR8@cCSo^cic*S#!M{bD6EdQ)E<;+j`BaK`tf!6yq=#TEX+ zaY1^xtyO5Z76?vO%+2W%d?7oy3N-v}M z5+sZ-7Ng33&08GXgh@4bHG1anfqZE8Tao5_s}%#pzgU5Q<6cEfRxh$(@h9|maO0px zY&apL%5ZEBw9JPar_%VdUJGoN2pssD68-4OYR9yYRE$gS zKzk#qz_EmU=N26f`JEjSpO5-; zpImjlrz)}UQi68`w)G6>;!8}9&%(r1hQ2kiL{;Pllp$iLK~K5pm+FC>dLb8uL5!O~ zY3NX% z)@nKeaQ%ei(L-mQX*Kp%XT(-KQVq~e5?M0?dr?Reqx2%fM7kMp;~c6y;lZ1=-$uK?A~K7>lPV$URhPREt3mbOazjyVYCt% zUd-FB_tA}#$JZhny)n4b!O)&}#!CBVF|Gc@&GMz4D1&Qq(Lu7cO88q#KUmwVO;FAl z%C^gg@p&Ca8y440tn8A`mb_5m1ln!Hd>u;eBm>)1*u4$u*Ta4~D^s1NGG5Z)|9U(Pn7L<%dsk4375 zV#2J!q>CFkbT_!Wt?fX%l)>?GKYc7Zv*R?ZIwfS#IM4S*h1+rl)^45mnPqh&QOHr; zhM`NZH*Xcm_g;X4_@xp^z5fP*mhFOTcIviwSaZatD8egqfDb$NBE#rEt2Bdvzs*{? zL9qr^V5H9GB%YFJ41E5!HI+ZES$iEwcq{4&(NXgkW;Q%Y+E*B(UO(_^~>Eb zBlk_!^HjL7t`|5%Jnk_XZ?5TE!j)Je@Jbny71L;{4%MLPg;IQ*YTa9^_X`f;N+^k` ziAAmrdmY=?U-M6wfhQQ9naVEEm7Zu+O%;q0Q?W-As{VIvw_($@0;=$d#okry&C#p4 z`_UO+y?DOKRM}iHV|FaRE@%vC8`#+C6|4Q$)4cOX5RQM9Jat4n{*^DS#qo{)8w(1$ zIPNqu8e_IulCkB|k?bZva;N9gR0GOGB;Qg^9VXEgy6Bq6G|M8AvPQn3CYBa$uhIs$ z^3ur}wu(ZNKtfLf4}I<~ejpG@Wj59rKlov}RB`-frezj;I84j`xtVq%7_;W@SvQJT z!u8M|<2kXzsoytw`$i$tze)G4noU35!+eEm3ODYrXJN6m9JC(h_0lX_Z+5>3O0xRm zcN<76z22mvX)AUhVfH*>8h(!CXBepc@~g;%YB9&#$7fgMN}n^kxqA9#aj=pJ5VYI< zH;tCsNXEs<|AG4=ml?Or!xx=jTOS_3N@t-=|K>%rK8AAwvIgu@PHem2zeVHQ7xG>; z4UzZ_Z~yv9Lc=yNf<53!Um;BT8$j#Np|`CffPTEI{MV8+>M@$i5!qKZq!A~XY|BRQ z&M9S@O_%ODQsUU*7+K_U^11bKcu#>Nzvu%pW>TjpjjxNb`neu6`-U&=mZ23Q2gB?U zlH*9tqkhsfA|?w`yUvYyJ^RI9js&`O4#$ZCA@L(<+>Nd3nWh7PUW=S}!%Z6{I}{<0 zEa@P!Ox}enfCcEkeqj3mft>H;Yx$H`j({wupm}B!r1b?_8ssOdgoy3E zZQhMAH@XaMc)BY>F(Vx+F9nt5jml7h9~rnMI|%9LM~Rp$dA7JY zBE!Ck1N_Y5i+P^ZCl+#dO`eX2qD_ z%N8!PMwVGKCPhNA;oG{o0}K)Sx(A=m#KbV93H7ldaP6k}0w7HQp@$?{$~%K2Ca9JW z^~oTi5>8H!_mvm|5Ki}J&m`yFnR!-|lBF}~l_;%{(%w|)?h z+}9Om@E+Y)-q|CU1f@@0@KXJo$}Fwrl+2g+_K{Au#>9UX4|bt??45|CY8i8o2)YDm zG3B0dPPiKU*(Z|pEf>lkbI#$u@F8;PcOufq^5eKQqgmMSsH zcg$Z?A5be1GZhOvmi{Tw`&p%v%c_1n-U-;k9B+a}9O?QuIn*SDKF+Sf$o0HNH&_km z24|q*KKuS5RbNKF7IwBC%?_AzYS4zUGnQBkFwu(dQa~OpS;1%DQ4Kv(rI)WwL%UWY z=aUmi^rIK+VOJPJ8OduKZt!V12bTrcY{*V?oaCRWLcVHcsX&`TD=?9iC+qCmHG^iA&-u%r#ylu!S=ay>B-8bGUi; z^*er^uaO(-fq#!xZ{q=o36yj3Y^E+RVbvFh0K9Lk_rgU`wVrDlRKti$t((sgb8!52 z-a|-t>%KRa*U{e(ZfLafHF)W<;=8n#Hxo&%#5Vh2nvh&MwdI*XnN_)J%Cw>2YT&Hj zSR*8`Jr4KgWdg9Ok6AU9!AE$w=7p)j9-ocLgwhwnH)Go<&9u{BCMj(bXDqPri zGlP>ji^oZtEUoMs$_nC3vrvYdn&uBDSw>oiv#kA=n*$>?bb}{6>eOB~jGD#<%8u>+ zQnoI?ZB>6RvYs64r`aYiFPgI{(D2?@i7vdQe0wHmufc9Aa?&7uRb`0MxOlBf^> zmotB5*)ZrjWag3Y3vE=tBJh+bR`_AOmsLsono^o=KJzGVbT6tIVU!sCV>EahW!!Bh#tezYA2iO5>H@(1+WDza+FI^maS43~tpl zWErB4&w$v8Z(C9+h>gH#tqL`X>c(kH24|76(V8{K7NqfC`lz&~PU(r^SJY!Yi8cUpr&fXe34olp}_1lM(dy;Am z_etr|InDr?bjJJCUBu18#HH916cE!+vU$S41vAC%%BB^r8DfS7iO;H6xy<>JIqH4A z%9FkBH$lX3H7$98-#!};5r)fZp1M>Ect;cFWit2%mo%SGRCGtA6iv{==RjMUINx?% zBhTELK!`|kEnh_@O=5Pu=pB>kOBli^2eyDpGf^0#tO-*eEiymoTGOdP4jLB} z!@35BJwHmW7~CbivK%x&{`?+6<4dJ8E#?L^c%hHE<8l_KKZ6=k|1L0LD6w2VqHxmh zm!aAp?198EID_Z5NS)jl_x{}Pl~2}(Dsr8sZfK{bx4y--^?0vX3~xnF^lm<(xyVpF z3vY4LXJ^x>S zd@vaODJNGPW+Tmef*tsO_rP&wD&EOLo?Zl2%JrDZ!&CPYjekaK5$%>dVqP|_x9s~ zqM0onfm+C(Bxw!uXiY-3C-@lK46YlZ^+}Mw+nMg~^4WzZ+(v9B2oXHLJ;CvCKleQ~ zI%0B-%~!+rTBDD|dh#|;nL}DZh+mWp-J;Ph=!}{?$h3(J$X-Aq4(D7PaDoabjajuI z`MN*@z9a}VlNwok+Hbz`K*Iz-VkFDMP0Y!^bvyEj0(`wip5m4PVl|I!z#iv9FP4{T z$-njJUvV;#B7j z2(1eJgUEDnkrcv_Y&lPh>xMiuBrP?m7T@tNYS(%<%3X?tJ2Nb0=Au|-OcA7G$d@EqaaTr{{BJbBVea@bf@v#h zWZyt>A^f6E>I|tHtRnO#xLI^Fxg*Ag5&UA--NYamP|s3j#U>}A>hw&BfI4mgM{T zeg?mm(B`S=`jKUL*0JREGB3ULS91Q7Mumk_#JYnRDg<-K9(Uqp3J&yKXjEfO;0yBL zb&>L*j-QU^^-f;H;bR?=1rRupx(wXBBTy|OD4S*9oDy5@<8&-*Z%>ic)Hk9XY3S_<1cxIsiWT zTtmq0S1no*o0^sFws|d`F*D&zU|=YjQUvyCyx0lu^s8(3MXD^ zZ1eo&ynQ{ea-|UAeHpNSo3k;vEfBP0F}%KEKb-j5ayWxkmXVLa7;?=eH74Ztd<4X1 znL-78ZKbQfaTK!7tb`nIKEF41m{Vi@Vd37e&xl;(pq|~$Zkiro?t58S!F+*%*L0_s z={zzN1;J-%f68x1+HCAdb8*Wm{Uk7UiZ~G_20L+h0F74_RW{kWJnCS(VkY{lv^|-1 z`}%`MDbxOGmVQ6)MV$278)L}>wgN#|M;CmPy^M3N4Q>rdPw>Y}7Uo|6g4r+LMl&ir zE4Sz%?A~ghDtvl%}m;*{y%yv{QYl1^lTtn`cdV-+&H3^!@7!F$@MW) za8t(nr2DLecnH{gyTDM~aLR7x{oswU9V&Yp3e2=@KbEQKSKy`VJ8*y3!Mqu-Z@tr} zAnZ}j0FU}ObG8(QsM;x;l6&g&d+r~cltA={;b(_eh3n*t8Oe~O-`IqZ+X30BuenaJyov|t#VjH|_YQpKU zRp%+!(Y^s)!+6~sBvxsaf-;zC3zS(DBqScv>Z{>y=+Mx=2EsOBa|VpiZ{mj^?b79- z@NIwIP7YVu8kY8q!E}l*_bmaehZTX#K)GQqF=xi>#}h~HRAQP7tA9%t8!bD%3P7y! zL);{sv_WxWkMEseo|Zc@*B6OS)DJW}S__Y_;l$JUxDi}LBc`%(*K2p*sTHi$U8?Dk&ZRm(Qc4U_FTao=ux(&1~z*nj>t0HV}S z?DqW$n*Ra!22d}0>?$dkX@%D9ZtSaHWqUYX)6Q{}kI*IA$l3;b8C@FFf@jqpm%m@k0U&PDsgJs>>bH7JO6#K`43L%h7L(;=#E=aAt1>||FHeI51)R75p&1U z_h7R40ckaaI~KAPy*+@<6t=1$Op|=^QDlw&)iptSm%s0^ckDuSdjZX9IF$1?l!R{&^QVk$#mK&_4#xsIb!RB%ZwkawELj`)y|Bab`6x$ z!eS=-OZUEB>(#xqXb}g$W7o6Fb|RHG!h?rK>n0#k*Ln~$q@_MU+lk+magKinm_x!! z*tEw3))uJ`*puqpe#>!WY>I2x+Mbi;!}MCrFO-rhFKM@0r~a^vh%?{USny2%-~7iA z*oQzG>n$TGfv9X+LKJen?Jz6=2USQPtw9oOcmRYE#1HSS(%^d5tT^j6A`RIjf(^|c z3@^A>1;#!+JdU3N`?LY)>i*(K(>dWK@pxsUg>^Z%2L>58mmLlqr9e+KOr5|Gy(V&! z!cy(ab8FVZGKpksi?P1}Ok%OmS(ORyupJEJZt7h?$4*B*gjFq9f0PGf?n5ryTtoyI5fgoqx`{c~Ai)uu`9VR6#d3D5ja>{WX{54pJq?5Z@6jGIP%c$S` z847?SZHN3~ldEEI787Q>s1=-A0vGK&I;O2^J}a>dx(rCbq(rU53}|P1FY4t}h>4Fe zwIN5E>{@2aoZE$B$H`L0Oc8RY<(~NF1%s2m7B%Ltxxmc2-n4!7x(&y1)M604*0ZI$ zN$Zaz4>)6Jr42j#^nQET5|#tguM+VT{t(vJg=V2_41@_a{v|VBA#<;9P)M6_kQKDG zHzJqd(C*=H)UcJYY6AJ%Vh?ntVQ%pBzr0>0T)n2e5u+BcmG%cJT>u*7>{YYJ#R8~Y z*%ezpa=K){qgI?Se2D!f-wHOGEEXIVTZ)*#oGeJ2GC&+Uk($-|@7rq6&HWPi4M{<1 zi^4uTgzBw#zM@gphN}y5e%bRybxp~AQ5UcYxzXXl#W0)?Vhq;)$}Frpo2eO-(y|G1 z6Iv^_ESB%i3*D$VJaaW;F#5gnq~iVi8t=z;#JJE6%D95>>8xs4`W4i6GrWHK#kaOU zG3X~?KiG-$Yr0lWSrt0FCO6qFaglUO?_)2W^*88-2@yy<5R~-Vax&dlLl7r5$6UcI&@r#La;(|NTeyQ`Ox(#5$$-nTt~F25*d zZB*LIa{go5AY1>XIrsd|(1LI$6%kaojziZJUkcExe5@U!_kVD#@uLo+fZ=q#2KuFX zK{6)05GVn^OIWy@ty88yvN9u-XqoKLiV4$V{FpE4YonF2`*$tT9=PZ*3Ej8#nN}=? z8&FxObJMX|m8vdDxc?H)^XssUoAb^J68@*bwn2WK3U9UQ9~|CiEW<=e0q1Ae%jB90 zq=v-p=%K9T50?9Sbvkj4u?|JOw5uorl8oh=1;nC+$a!GSmh?Ki+a7YpA4*OM?DOD| zqo8k9m7>o>L{)egfTlpqM-0QmgDbN>1^FAWGsyhePTh!Y`pUQA$O*E4aGKhU4uT$* z>&ZV|q=Ac#o4j+O#x$8Qu82A}tU0O(vDo+;+%Ns5YbDpm@-%;)suBu%P!2NvZCn6`Z@UMOgP_nc`i~4`%PzvEbcfiUx{?ld#$cixl^+ z@@?547p)1V+|x2S5$}4j!IeLAs2KQ-$E&R0p7}dC{G<pZ1b>UfP>u?%OWk|!6{M)5UCrz7xbRN{^fSlGqzATLa_wif z=i7RROAlK8Qj7V#7r98-!l`JKoHz>RNBNtaGN(69E{oZS1Q6 zY>vBV)Vc*=M4$2icojV)T|R(0ApR@y`QJ%4+7osGVY&snpc_ray7#Vvd) zLFd9#wmP<|Z?PIKBtd(pX;VH9;kGz%YD z6aEOJvg|Ltxqe&;{KUq0ULKQEFC+=v2TYpC+OahV4AAHcQxQ~gG&a4h_`*JaN48!( zbm_`d-E$?-!3O~AH739c0LX&6m9$)%@`!~#oOX@(B$B;Nq=uy-F^dFM z--eo3CHT`TzLG?%i%&K-`Cflsf1lRXovR0XZebc{IsR!Lj=7;SqBUUpZuVmcw+rYL z&^|tMj!-KUv_)xAhjMP}ssm@KP5J~x914e-fOC>%t*bc?t0KBB_T;Z&(hTBE|KLQ` z;Dyc(OlH&Qi{^{(;5A->{B?_|gkZ73Ma^K=U7aW*7mJBL=47)Yflb(OWFE$SXA;d` zt0NfhR2!BtwXr_1nD~O8TZKD7id}WQ{k*Otmg!Tle7h9TN2+JjkO|D|FauAav+7El zMJ~)B)bM2T1aNT9aVSlNaniV~Kx%gKDirFpj)L=!#eC29Jx_NYa)W9o#B$Bis|@3} ze(vHE3S6@c>QkQy=3sd9E>LGsF3l^v0>-lqPhkxo4uGLifFw#Wmb+=yg-RlOx8j?W z`oj4p@djz~O*iS+b1ro~*Av$qV{E3e@b28s-!-zXG#d1R1BbV#1ut9>CN>5vs6nBu z(mMJ96BD$?#WqmQamOPrZTdjG4l<<`?J_R?T?t~ZdTS!Lgv9;luC?Ac2#f2fY;kjm z9@7bHYs^Z#hp3fI!fLt*kUYFsGh*@OSJmC6yA{3~$^ z;GxGfV@uz23uPeD!Y|#~4TAgfrk&&F%p&k!9lZMf+rdonV6sZe*YG@0G$ zG!`5sH*GNv)$7JY_>avLSzU?>w*wh7oltyD1e#TgmP#{>|dF{ZFKAva_hF5OR-Ke

t6!dHcl64U!e)`^!v6_YONpjCBtN~Nn$#fDUU={~g_J&*J)qq{;OlQazlF4X7G zm2Q-O_v@6Th6lgxiRlKek36t9C{rts4~2i*Vc>%1_-bXcX@{0~*wue2)E+On&6SWl z)hJl~?J>{3(%{1>M--!D(o44plw^SsC~D}1pAiI1_ysRzh8_Jy|J`4SC2&YG=bI|+ ztJgLPKL<;@fr?tQ$@h)eM6EFz>nte?tr{u$dw=VP_5YfN7gl}m)XQYkHDF7jRs+oe zZXa|?jecyT1=4V9eRmZQ6GlfuZFgn79tNmzk6!;#T@+j`eo5Wm_B(y0#R6?qFU$ey zUdc~56+Ap=7mUgIxOLn>QJZ5n80bap_9cm96?|_c*G^`?J^{m;j%5*mEZJ|M zXd^-+@nC_EM;@ZfcTIn2tz6qT2c~LW>RC|+s~ej!&2yWvdI3En%T})&c7ZSi=V$_$ z-u2mF`^<+u=!dQ!)e6GtyW$>39v#b`M#T3vi2pZn!vE(l;Eza2Q%o9+^x8iogw`vL z;m!G+>q)V|QIsf1`?Ec81DFg|EGKKcQ2*N5lN~hY-RND1YHPViFVFiA=dczOIlTxp z#{XVCw^Lh^Uv(uqleKP;=0s7Gp8Rv&1TE1m{+ge5^r*zYuzYYQqE`m zaFb@h(YlHuBW3%eZtS>cTlV#-HfSFEFuM2@5I9W_~VMZZp%t>_&YeHC;iXd62x2-170mqjGTMIqBKNQblHZu*isJ z1rVi&?JMr_*>)w`SD&Jm z%7|_ykMC*(770Gz+SZee!s7o;NS%V-#soeu_?Q|IZB2_Yh%3c1ISc8g#_sPrP<#y? zZ-tQf($C~{*9Pel)(=Q^yYul38V1|(S6?x``lBR{0Z7z}m%bCxRnwx{TMDa!Duz}) zOuckk5DF@ilboB-MsRrtJ(u6tE`0Fdzx!e5@kI$EIhaDBepSvOKnGkSj{a=oC?te^ zZO38>{Wk#@>1gG?5pD8QOWen=;>3AZ;0dz>ShMv=5!HRcC!bw6#Qe-Z4~l%Ql4Z1d zpGK2#FOe9u53;1yQW;(09pN;KpQG8Z+1F^`&Y6*Vo0;|k79bXJ{Dk#u#LJv4vp;Kmi^RbNg>(H3H z*hQsf3Y$e62U{{6YqaN0a&ui}Xw}7XL}hL@P-)`wngmtjyOcy=nG~9+=JVvYCT*f7 z=UJE5E1cl+ICbEgVRq^T>EW|NAJiGA#duyJL|9TA>8S&LGao$c+w&#qlxai+N+x z4r@JfE0@>4dFA(9N?I%*KIx0$kham&i#&mi_~ZUd78k!*mJu*?fa4KY8uNW(H=C^m ztf6lBocuY?|HL+v{tvVh_W^vR*?DYqyv}wZ?$hzTcC1-8xvLtx03EEO_*F8lRbtPt z^RCpG$JQF(af*L3qlKKqhaJ2Y_O?GpwChv+kdoNg(oGZBEefJyK@LRU)Y9YRNX3m`3kfZlxTJLlfB_t|%?vDX-Pocl-qN%FpV^Xt!i<})V~i&_S` z!cx08C;agN=b}`jx5r?Vp$W*Wws?vWn>LDSUIH}0-_}YL6jjq$Bf6JMx=;Z+kN3EA)IAA+!tBg<%n_s<;AR8!Pg1fo3VtIZ*6s>G{*|+ zAr~q8+rDZKSw2!H)yIT38<tTB)bBj((}WvEk=&ao81a$=1sfP04XTC1yAoiAUPh!oZ4- zcG}X{`qBYcm96WWhLy2!0LNeoDEP)ySkh7Eug*9H+`(dTyv@cw&Kc;p-D(RjUr#6N zdQ_=OGuro7WaZPjoAgDqIPBo9XH5EjFD8V6tJr!=U_b6oPC}e?%+p5_^V*I6viGVV zjUfu`v)fh%e)ez9IX$V<{3%l1IkS2TLAWqvb&0l#4NDtsNzPi(JT;{RCccU5rxOA3 z*!x}|7&jaoVo*lRJJmiP68-oh&6>qk z>XKjSqyIFX$BBTWHx58sQ)NKaJG;gw`0~=d0dGDI0^B-dW{jsnaXEsk1*Th~dL5mf zU-KaCq*$+-B-gHApIuk<>T^VIps%AE<37#Y0tn<0JNfzw+oK~CT@e=axz0V@X zjX>UEE>@u}60XcyQy`4XU1I6<<+_kW-7T>3DkEU_csb&5>;?VxRnGC-MRNM-ephU_ z5t3xDiZ%GDSnBfpVig~YDIhcv$i=76MMM6nfn0~Hs9Jao+?lu^KTAXF%DQ`OF_}J! zMT>>pybAk38Gf<)F)3q7;19tz4JWIfjgw$VHl6vGphQp?BI_9^?p7UIk-59^jWFGB zZ}FxgEobvz9L%e9pZzIWb95*aC8yr=D;U@*$X1A_( z9Z+?h5p;pd#YL7{ zuIb`Y{o1POey{Zb8rq@YOf!Y3SqWAs6c)b?=bF2^sUAC+l!**$`?E$Yfo+aFT&|5-w_7bH>2)IEHtgL)S0A3;t^WO}lFi4)0clM{i=MxximK7{hH_VqGkBk#JXKWS1Lo}fJJG93JF}WX+X*iPS2 zH+@vlu7kzeqpoWVCpHDiO9$@4{m?nLY(=e(%p=!41QPeuq#$?Sd>-WW@fNc*i=mh& zptNQ#fj^Mk@f9_*X^3TsFS3IdDOzQ@T74^LtPLap`<*z;d+r%{7KmWggg~K6v>~Wx z(duabjPa3Jx0uIHo@@q^85154R|Y~j5p{yCa%4mh!SVFi!1~U_PgL_OXVO{vqQnY& zw;<-L(FG~#be^ul({p>h@%kliWkQerhS)kYj{&hRQ^~wh;v5SYb&Zh?@g}A(!S?2+ zwEDD9ZZ!!^R>;>dO5N7>mP&cpG~%zIJ3rJ9%N|eFe|`NT3l z2&56&^`y6se{AScaQE(86EvOr05U_y(Vf<#n$o(wwZ*A?Dx1o)Q@ zBtM#I2^VkJUUfY`8{8)Urb?_jV>1Vf%FO!EMXJ z>2y-n=Vo(^YB)k~F^&tr5{9lMQj1nYY1Mlq8KS1nV^*cOmLsB;2A{N1nRcR|W;hUV~!B9arSne56O-EFS40yRlA$h9K@Ob^lL3+S?cEUv5=>AwT z5B@;tW$LDx(m2CMUDJ9ET%%cS|uM z$hKX>JANg)P7(T~yhc#enr3P;fQRS9ECF~?gK3B`nLZb1>zjq&E#dt$24kSga*bO&(Qiz^17Ixh76evRD_--O#jh zbo6OJm|^4A7|TtphVkx_O)0g2AOwwQKB{Zx{sSLqonTH{KhLx$a6NP&+FR&ly6g1D zY3-sO0<~sN2?wjX?-$RTo2{6|)Y+LnFDtJd9e%6lJY_Y#elzYiTGtyH^P92S`SBIx zb#*OAFMpQ(Ry*i0Yjh|1-Oyf5_QJ!hlF^r1#k}_nzwdltsh5ESxJ{uOyKbuh{9EsT z4iy!17ij)ApHI4AI_-&r?*=$0RPh{*bzt82uGCnobD}Df)EDV75?yO&05zvy1eq1) zln0!tFz?qgpW)@Fa|Xw{nv6e>a4JneE8-04W;f3*Q5~h$EUU0j z*Gtt6g?Py2;+Dv5cwV&|CL(Vd>s%=Ic&zRc`)z)xH-ye!{VKK5o0x-@>i0ga7cXM+ zYnkR#(;g6o(`LXrR~Wx!Hgx*dwI2x7w8a`!zm2XK8UUHbbQp=FiC+iss{@{74)%#L z(XhAa^t!8;RutrI+uP3Q;s7f95`z}-l*+dw3#5j6+Cn|}9wv#R-aCI3Xgi8#C1q^Nh{J4?K@i2v5cR#4$Bgt6nZ2a!AXtAGx z7}@^XoysoQYb*WIkVk`L3esgV0P9$dQ>VL@OST=H8CS*mzjMf9>!Ef>IM$0ggi3uZ zlN^;gmHgH6zUg%_bgZbpsMyd0PwNG<^>(q_D(i#qJq?A)Fx3Z zP11`}U+=6FUQYAusE-09%S;0-VThTY5P*fhj!hDFssfZW3Jz&A_C@CYp!+ehkT}fz z>Q#XvX{1GQE3(U1%2NAomr;!%a91EDmdk9xtyN%frvZ$b9cfEKdOwBc@rQql1HM$K8BNxzC|PwKUn!Go~jjjI=|~xo-$w!en>N}6zBpbE<;FW zm409w8n6G3$72cx->kkwXt=506nLT(l zGx$-=nfXnsLr1p*nrCWxePx}^;)kVT3X|u)sUP<-bK=9S|$Kp4ZM4F==dD| z(%7_cdsQXRye)T7+3vFH2j1bnQ+{m8pk0^6R1$aT=bsdPf>k_R?f{xYErHL3?ZK6= zmTY3b$q0!8ZBNSR5cbJFc@;gFul1T-g0_&(sTr7w37lXvWaR5rU*F28pvb&!@e~61 z)03_p730dXQuQvEMlHzrl--U|^RyO1E+17aDO+`LQE8$$K3Au#zSoMc!%dqqeGwm< zpXDv}4URFFX3D92bF?4YyW#K?{3}1x2c)(lJ!KIDj+6W5&EYJHlk)d3H_`U)o}s0m zUas;D)4M2CVwsxbacZG2IZILCGJ*I3Vw^i9M`X}hr@ue@vvCOoTappnSluPFNZ*N2_XXT4H_w1Rytnh6 zzh}kAJ>SQkmc{({EzM<1K=@}=l3|U^+m9V;By+AevB%)T;OSmL-;%Z6wc;*djNyLS z?4mi~+gqZBvMj>m zLkm*HQu}p|$`>~Aqb6{mI*Vs$tFLlER~l3K(yZ^1b5`WR#?Y!YtmVqR8n!rS7Cc!x zWlM&rv9{-fsxi!jY0@dk+>zRO1of1Ku!mPQYkvPW(v)J)NAeR1cTM8Qc(HY;yw}{& zZ-Ot>7=?4m2|SZ&4P)y!SlWs`6k}EF&^$@k&*#scpsDAK?`{z*jCcVa+fykk|1&#B>%U#hAaYoSV9a0UW)8u= zp;l7bToC_{oB0GWfW18bD|xwF5WZJg8KZh>&F*M74aTIaj6i|w04;{v&Q0<=_)ITe@ISm|-J4I0V|@{Y9RDy_`RJxa zoB~sO7*Xz>QR3<5|2{bV&-&z_fMNgfGHTVa3#zGLvrPhmV=1HGQYr1--y~QinjC0c z7jcr8atrQr7+nv=9Y_2I@d;uJ77crD@1E!WB5=l@F0Ut{($T75#~LNzoIhBvraBP= zo|h6UY`QqR)kYd=hYnDGQGF&6PAp%K-L<){*lav)R*HKh+Dzp;t@K`Zi4tw`UIa69 zerZTqgNi(CsS~Js214es>I;2wHgBh0az5EXm5Fw~x=mg;@sd7X^Vpiy`T415HD+$9 zbi_;hc3=ldcD>dpM(ff0)-`gUj#D3w`61{7n<+D4Z_FP3wd5ZH?-j&P)1HTuU>O~? zkCB+b!QzQ^rHGwjRh zin4aW7TncE?+KQ)*J3<(*B4aYDBWL$ncd&*pha>qaPK{w-l8+}8lOI4L6m;t&$D;| zfvL4>j!Nu%3$TCqHva4R!06sA{LxJ;X^SLYO*}ZMtMTFI!7%E_uMvbRK_fWtc9m;A{D7fSaph*Q@A+ATp&c87-iXUY^w8joYhG1X-AUMwp5n*LGmmSn@Qc7@!Y$|J_pzGKel(9M>tfoeo_fsuJ1w=YM z_C9Jdqmo>GGki6iVLtlN)Rm~l@3NbOI!2e4N5hxTAD@227f^BI!L1v&+JXw`Ux;Xb z84hqASi#7oZO}N#i2VfK>kr-QP?A%fEOJwz=+D~M-y=05?WlB<;+avEbai;%mH(rR zv}*85n+9rfe!IMs!`a}k{9IStp5YiH{PCEKS@KM(z_1|T)=KMFYWe1GS&O3N(!o`_@ zmgtu;*upO6$71?}Co(DhUf{VmNtnQ2!!@+?q~Az4!NO|D=BBfPc@JuBfojD(wsLc8 z9kTuSN~h4?b$hVqTs51)Y~P@DzCrpe&5RGLm zvl!Zm%Vdw#!2zq9d~bobq`($4eW2*@@hzrg?6CRpy@ZUr9d8j2siD3PDzlkT!X}o~rD1W@pz^$!<{P3`Vh&7-WIV7sEF=j#l{aX zLL@5RIIqLu+;%|x{SOU1tg2qVbr$lje{%bg-zg2Ct#l}$xyC3MRicoX^JQQf^a)we zX@BfD$8xAQX|wHGVRrO&sk))oz~v9YhX<_!{`q}I0Z{kF9T#%Eii@vwUqPtOJv)tM zG&{!rZV#S|kintvuoD`HjUQZw7sK6c~#JU!#{i;>NWB~0S zetbU@sad933KVr5O4dp%*q59FF%7L&J+$@nx!{(?XdBMQ%C;J)<~=|XC61y#G{ zWpHEThZcv19=0`m_4iHL{PrL&bw1x9f$xh@nJplMTF0Qhjhov-9wpxmIMB6aO!Qtk zkAp7_uN3QnxzsjA*t7DII;XUlS=IuIiL~=Oz@>*=7$5R@9_u~Vpf2niOLKT( z@Zwd4uRm=wH`aAknyD-5TkaI9yal@H%rPFuW!mTetF=Da;31`TcE>;uYrv6B!Tix9 z`Ond=Y&k8W$9s(1;P+BOZk`CrZ4lTb_!U3DJdl3%tZv0~DVxz#&$NFQ1&vHh>R@$g z8IDvFK93IrBoRAf5BfC_54fbXPmK^vn^{XAa_`HHc1g~Vigy{bS#XJD+44mi9*fLI ztU-KF2`Y*L?Lp#*3Na>svgk6AfDF%kXtOMxXdaARDscd7Hb%Hq0}g6mhx|CEM7&n! ztubq;dO5ZMsIA4`cxW9knL%d>E0dL&U_|RzDuS$O60>|#SFSog9cPCc=Q^5}ezdO6esL9t@N}>K>|kRnS#!?rXsj`^Vic8^F%lOiQ2Vgc zeO%>vzDX2=3hwBNLFp4~Zk38aAqm2PdzVDD@<(R;E3|K)%zK7&01Nx=c0pNUQi=PQ z@{g7a0hzHoh!t(-n$Fuz@Nu+Z((O9Y7y4q=S1~t5n%w7w#aid4_amng(-#p(1DS(5 z?5NE%UpFaUy5&Zyj@W{Xya(x+ne zU&z31(ly1ges@~*Q`I-dLwfJl_dQ-R)_&m1w9>K9_uWtWXHvZkV_xHGud+VgLIXfM z6UzaBu!+vDgc|9J!)lUAUq&K%a>=L1;3as4(o@}~Uc*9+1T^ysPewh8AK&MHDpmjH zuKqQb{m&C0qjQ}C%CDN?sG=;fq@=jzP1(^D|$&=ao27s+sw)LCHk zrnq~2Kc-Vx#EecUt?B96RkjO-1gSOMCJfI_J*nS%sn>t8rtJI9()-yY~@Vz=pMlJSGTfYC6duT z>c^jzvJw!=_cX3&oxP0vWarLY&r||p z#BbMhYN}8uw85Q?GAe!^uZp1CgVvraOnNGDsJ^c{fWA#IC}mR{=GOw91Y~jbYCPkg zw3YTSo*|jE$|JLZ#APPOZHmMEJtfC%j&VYX`Djf6DnCOzQSQbTUlTe6I4^(wklquc zfUiHoq#SdCGirBFpZQ%~(a!La*)hX9T878Z$&(#$fuejY zDoN*qeuv0^Lfcg$%mpViXszZE|@nhLH3eOmfj zWa&lsw5=d0G8XDaW|ZS5CUEG}T(?SwYNha^8YZ5QX|Xnw`qkp++eNjFxKjA;$u*B; z9~1BUK-h>=-@*F2kjzoF{}|oBd1)YPiO2HUgS*ve!_y|rGH}ww$m7uZFL#Bn$>7fN z^g*^MD@`b&*pE4&=hNBKt8nWt`hx1I4Ab_!{-I&tI10+STuoCipHS_b`&s6b$Z%Wr z$vUQ%{%rK;i$*w^q+uR)BMaq>J?Ms~4+{9Uxx(JGuQNPGOs9***YFgECe_sn$iC`Z zI7(m{`W5$s7Axy%x)(QQT;VAQAZ=rPB`kkt;3yfF(oF%0W&UUR?o&F%Wb{V@O*T;NmwVTIJ ztf~=+HWo?hugei^@tq$ohvwRt;5;8#x?d-J7JRbwiW)kwTK?VKly1oK9!CTil-RyK zc4GnSNpn`($~t7!=1<-En!A_y5xtTZ8EqhBlz>(UP@zvpBf4 zdtBBlQO(8ieQQp*=xlAqRdQwoaC<0pDy^isarkU%{J~o(mZeI|mSLKsb#X9ZXIHk3 z(_Ke%ufW6gsO&Gh13?oP6(28AtOYJ~U%#h$iVPn$Bc2YgWn& zq&yGB&CG_qSZJx=<~K5TNLNb1oRo5js{jD+v1I7+sXJ^rC;$6a^%v@wGXcy`rx_1Y zswn!1=d@FtgZI*cW3A+Jhac+wjOgwR5-j@AF)4ex!Z}Sh#e@7 zjjb@n%+1i|tM(Ad`-`G_%pQV76srLIckw!Iq`;n!JY9 z>tlk?oC`BmX0MX+>u7rGDZuLEm=6R*b;!J*ODm}|pOXfcJ5$MKeqO`y+KQ*djYm!_ zy;{F`~1wXZskl~2MM&nX+ll5t84nAP#dv$3J@pPZ-1KTWHU*YlI%BZg}|JzXSdJ zzl(Nn9OC=ZG*KX#*C46O9>A&xkgji#x%39w<4w@HHm=Klvsok3ah2zZkvBA}?_#?s z3ZPF~z7=YarnLtQH*jS!^%y?hwG!Y9m~PaU)RS)7Ond9$9+qITMnjB5+my0u6HMn3 zz4f@lfC|sw1dO&^o-Qu9RX1L*_y;_lSYG)6KnhvcOS@uv?i@cAyG|^=VrE)wOz34F zc-l*5^4=4-Cb;|tgI?7m5X_^ zFT3Yn%%5AsQtUsS2&C383$1t&n9o$v=hqQ-`9uXWR8Y<0u!VuKWiaVa=YAk6Bna45%;Ko>{ zy<_=TbCqnSuZ-{lygJ-oEjfw>h%*gqwN}G{Gx3I=ksowA`fB{d$Arq^{Qm`6jQKBp zzkes&@_+oYyI_I+)B@<*8dKLF0vCwiQt0>EFy5XE`kNbixQtEViw8mD^(rqTSRG_u z)E@%68zP4uM4vLvEuK~~=SnNYOI~{gN{uZ2b}V@OJy^pgN<*lA{kk?-yNT{nQts;? z0!g5d)=Ho>6$tZl4qmLs#Eh4Wm;VQXP5yUcp^}0N=4x}k@J25 zBn-p|x>6(VUlo-np2fJRHgVod`Q^E*=FI_06NB3Cs^He>k1umn>J$oKXcM$1tyNZD zBSQ5Qgs!D5EO$eh@FB!aX&FnNVt+(?IJbSUHR8N?(dPJvAi}u3@E?;t5LT1(E+x}8 z7Dn*H1_bEa6dNE~Gx++*dbw~5zWPkG3a9Z%X9FEn^El+ph9D$w{*hW%>5rey_SdZV zx>S0m@EgA^Wp&kQ&lBHf4ZLTzg6lt2>YSX0>q`0IdX6v0qy~NyEl%HY@laJ=i+gk? zuD~))oIALL!Q&8C+FHJ5-Q&ee7h_6?B;A6a+Sc53nabY~K-@|$)otF{tUChOBr zKRV*EAte)Zv|oUV{9@|QfgYrwzRL?U)m0bz0&JB#IVTZb!C#kwS`H^D{x__2jVEC^+RMlMK75=#56Aml;wRLeK_u!dYxD4kt7ul3M?dxDF)^$=z+ATti z-cqFwBdWC2^*#&v*<*wn>sx(Q90Mp#;dj|B=T2&`b(=641qJhB=n3g*o6+2O>#rCO z8iV_<>n3U)UYLAR20s7id7^&_@%|tG!hc>Mw#2O`eYh+m_llP*h3y0-G~$vUK)^k| z74IJb?5Go6wGlQ0uVB7;0^f~aMmuLMtw}fX8muKZ!0xg)80X@XOaFNyGY=6XB=Q1A zB38jc9x7cqs{;^ETHNP%S>1-AwbW+9vB?h{l_+k8ohEJ&rH-`C%I^R+I5+|G)152Sv)EOhS#8?!taLNo6}@kPa#93y}fL99d9YQ4Y{_eZmH^z;ysxdWDQd&1rr8pkXLLWbHDP;-tis*AQqylCoW? z_G&B&f}isqZf+0!nh4JJ=E3$yS}|sHk-SAh9gHRwt{X_ncU_b9c3pF%Hd-)w?_EG< z1J0gid#zZoVOPBT(?lh|V5hQk;{2csi`Ag)o8UW~NK$Hw#OIUBD);_*CsVckl|(ds zcuD*NIf6f|Y5@l(GXR92D@ix-vOJ4;V*>ZI7awoPls)G)4z_$E)@{47d1w$|}8`;IhvqFluB)^Ktay^h$;(I2SC2kYm@PefgnNhL+ zhrpchP~J#pKYl+T)_rjmu}Q8WJEr3q3G*2c>ZiaP1|*S7pLpcS|34^y(EkAb85vEf zF6kru?#oix@;9hct!ArZb=tRn-#6DXt^Gr={`K^3@kGRs`~0R%*RU(Ed#sy|TeGS7 z&hKPDnl)4_3(9L0A?c0zLm=}6_wmtyUPwpk_+8broSdCtRdn-L-r0i%+lhqlFE!s3 ztMGU!UwB%(TF5|}tJ*9BcPdPSE9MsD#9iYLEcxZ&|0 zUCNm-E5M@l0y`X5U@LU$cwQ zh;_-`yxa;_T!d;a_e!KmKEy?Z714x6h$c%ch>egI<<<=?4~h1J)m|~5Wf?{+F6pbq zBc_CfO8yWmvKQHSvi{Ia;fQzE2=7r77LYA##=C<>i(p;c!@RKMglFW{sOTn50k+1W z2)qajufr(r(Ot$%=$9_-LoVOKNOdMyXRbI9z=XX&yR@@%qcI_DiTF{MqBjNb#SJnp z*0&P$i@F-bD`XQ%FY!H%@8+d$(}L%a$+ZUop?Ev5rwq@w^W*mOatJPyp1R_;Z>PIZ zbwt=p54ue6i;n%>BBM!qrBUK}0pn_qwfK_MZVTj{WoQRp_01w9+g=M#m$3L|u@E>6 zZOEi4X)s=f@091W(Wt{qt++E1CC`>&RBzM2^MR)K7zC=+iRTTGSGJA%ggm}P3`|hL zJFf1{>4gdS0?shC`9ew42&x1Z2j<0evJX!M5L0V>t{`u2zYQYW{9}87FZsP>iSTqv zC*yhGIq=6+?~0Jqb{pa@%i&#UY6R7n&cyKWTHQ$Ch=yIKE?!37)&)c(-D@i5phWb^ zb6;?Nc^L|QzOZyzbk=yXm0uF9-J$a28`W8fFx8k7PR?xy;nREhgUW_theM$Yjw1>-T3j@~Y%no* z@$0dU3QN183BzjdQjv-p11#ysP)Q^@eLwE6u8zcyNj4h$IwxJ^i{!Cofn##w3XCV< z+d8}2yoX`Kt2uNN~Y>OR8%~v;p-bl zK(JaoA?O(k6WyWWulyHWD5@p0Psw0EN!b!iJicsR#eh$Oygu!D5hX;D+77}i(0NEZ zFP-6cdlw~lOC;LhoYlq+L*n0yr`p<~kS!F0g_#c*#~P9jpO2|HWONKi)@}{uN4*2n z(|sQhI-t)48lK2Sa-t4FkLkuj2 zL?V$eK_+<9JDH&{dGGn4!>!!<*m|v?sceDTEXz8~qxYX~sLQVA8|a@{3FFd=|KTw( zVDQ6P7||e-w`drt968m^Rvzm6rin5X<6{d|6{o^^wzkz;~1Wc}r~5M?h@;*Fz5?lKbKxgN)cW6K5b(0aFBOOjCyTHr8QSYFdHA>tugvk^8S z8m}Am!Aw<=U759bBh`ZC4WCng&$PqtPNuJv=IwFB@|$pIS=@{UqZ_#g;SBDQf_#yU zW~&}i`}y`1Db#229JOc*6RXWUv$B${M3;W=mRz?t<%!&nflk$J9DDB79i%uf-r!6i zk5M-DI;`jDSOr#Wt7ZGSUoa1d@;A3w*8%VTR#mZ*YSs^zF*^1;(B(W*@ z=AZb>Nz-XCs)ghw3^)X)Kcr&X^Df6Xbk?hV$rlY}CwTt&PV4j8eIxRXEPa0nQT6%R zEAmAR(?M24#Bw1#66v_+9BP~&5&c$*v;$Q?Fp9V{a!|2uz+578!(of;-89-9exI${ z|>gnQoDRRkbGMl8=4pQ@+i0hRK%D@1(eCrqdRI};;i!s$-F@YM+D>owZ zai8_=a+!JlKeQIP@xReJ{)W_y2LIAy>#`NwvpnQ_d^0hcr-rN+-TJ=-dG+TZ+*d6P zi_Gu*5@(hT${41D(ig*;v+~c_e^6R8@}0AEdRY(pY|~=vRUOBTAm7;=#oQ8lR>xD^ zVz_=Y^}PNDIy_I|?CVVrZ_&4B%|vJrl{Y*=?c1;Oj%@JIj4%aUWASyvxG>=hvZ`p1 z@yL|0NM03@0{wf>W¬u$d~_9Jm9xbZXlRE2#KcOA-x}_f9htJ0I@_%Hz&r(?x|0*+!bb-}UFDOi$u>mQV?67%G+p z*!%@-AgEjaLmSi4W?o5Dy=48ABe{P2f&+V=ln?G%_e2ehZ4t=4&C0*{E%PLoWw4)F zH|M6sJHOBW9KQI^F&Z~NF24vb4E&)*kzQ;?e%nlbcW3+4!_=ZhsWL~C=$BrmrFFZC zPQPAc%+PodO6PPa#}Ud9?xSGx`|=j##BMhp#J#i04>kLo%6Xo3e~s5UTtPZ)hjt~8COM2sr)g~UL;bU)=!uu!l9`I459z88dfhX~$+P4v^*OqrJ(}wuKtkHfd@MJj-eIQ0py(!& zngt@M=0mv-eO6m9e@cg5%4zdX%TeB+GTGuUZvZg%=tYHB8=1OEFjmsJ_Vzx`8RW6L zxm5*mp25r`tEe^4cZ_iZ_wz%SQ?UX93pjoRmp@@;QrLAi)s2E5UOpSNr9Qd)GOmTW1|L&CV84)GO}cH z2ASF)1w^(bbLeGQ2)c%_(h{J`$7@ac)QQd2E;%2oY5JWqmGJ$ncd$;^e5eV*zQdD@ z)pO%SV!(8xqj>g}^xT$oQ>j12Q>`~@ELYTQ9vRtj7(gbuOzBM(O>M;jc6R8^+FjG5 z*)2=I_>~3(9I-@rT=%x7BTj=sUY#XbO${{3=Dr2}(orCYcS=ivD{MN)w3a9JEOkQ zENf*w<4Co*yW_y08Y5@7P_ezDS?{OLSjr?j*4&Lf2kv@h=FLOj#gyh7jAa!#2<3II z*{@uQcYRd{S0FmppzJ}kwA0&zHyaLm=oiKTDey>NZXeW&#Yu8X+D2&A4N3P<*dGGp ztl2HeONmYsuh%Uve`xz8J%qKqZz)1$eQd1b`_s1rh&L zj{V6@C`D4!cW!?ht962qx}y_DoU1`GGE8FkZFTXGR&z9->A(W8c9;d-R$`IxwcH?9 zs6vuaYTiSL@nck_c=VU8;;Y(HYU%UsLn=Q+mY=HXyjdX9TVn z#$0*r6_rWQi|TZB6nR=ia*_{MAntw1NS5H(G8_KozVWb3Iy#^#R9f>}&H(9LpJ(1o z7sSRHv=p9|Xu_##>3|SwujGc1#l$qkBbLYg7#>`>_hioYIz77;Kk~vWLD1Ng1ob$6 z68e0d1gfjX!5TmCt@`?XA45LlW2f%kjNbJg(E%qC*3b}KOFDow;$9*}les$;*}K$w z!v&wU_2R390{4Qne4QAmU7L@znA1`fxXq%`AWj@%zsM?()bQx1sOiDjwa|=1-hq9Hj);6)U`AE3U$k0Rye8RK0T{z^PMydguzTW*%K@2v7gs( z!!`KW3%FC!SND-(46J+}WDi)Rzr8R(xOHdC?{rr?zfw4H15zb3+BaT@DpKYw9~&g$ zdX>HMLZEY}YU*Ldc7`AY)S|lQCn<6d;OGB+Y;d;3FE8T{fl4y#g@(}7=ff}|rM&9W;R~q#k}x` zbIwFRNdR=K95&LR?-oTjB+E&Xv)s#(Di!kzztCk{X6^;8s7pV6&NqqS%2ceQcJq8v0w z#3{GT#aL9!z0DtQOu&{R=YY)a3Lu*e9=3MB#Un zTE*I~FM#Fp>ZdN3vuqdvzM}Qj2_yM5T^|u zSC-@=C#cjJ=NI5>R{rAPGm!+S*P^Y4!0%XxnWjgmA8(t4MynQz>;<&OTT`%(^brU=@{sf% z-BFzkunjgI$m!;_8ls)AfA4uPHM;MLQX;_ge*9ZG{h1v$O4i+A9l zy$)8bN}wvk-PomyP0|WX9K#Jmb^*PlqdG#5R*{CcG0kCaA~0h5>&AyNyzib!6=0I9 zv-X~PVfCEkxagh?9M9Fxq!(w6_S_%V{~_aSTA5sxRhq?q?yh?;Oj5o-OeA=Hou`;8LR*WMi`MFSUxzQl?4ol%Tt`}eb3eX1dD!_PVp@!Cb^UM zL;GBF?V_`6S%!)f@{#RGTB!G9pD6s1PSW(@x;^9XlFiEera|*YQBpO?xL(yU+~E$(fu}xHACN$mOrQHzqJ2xg00@;C_fpgLS~v5>bOqX_A3RN26! z0Am{U`DMCSUjA&NxnU>5#9gBbU85C!aXZuVcbOiU!*gLWGTna;LH_$G^8aLk7p~ou z+xC5UOI)hnI`Zi>q&!+u)!m_}L0%V6AEWGW6#*3(c43qAXdm!_XidgEh|SfROmusC zQ_A8)v6L@ZDr}rt74pT&@{o^_rb!(uUH)HI-}^+niTe89k-|9;n)m}qglXL}moz{1 z|7dbai86=dSPydHMkp#%C4xSE6S(j}t=$dcqtimqq}^Fyq*uGwIrMbN(A94wta(*UtK z(A&fN0Y5-CCe+;KHRfN8(dskyj{0Wm>m-MsYor(9jHPMge$wBSZut}3kd`9Zv^oz| z`vu=M>95PFd7Mi~8NTwVI+{@+9*cy}u%l#pWsK4$O&k9Z95$FZEoGsrwv}?_syALy zlZp(5f`>e(y3r}7rW3bjrCZr$afC}Vn53zelxau9EJgyB4j%>|-`^~nV3fmwJPYy` zdk@u=pH6UqHSM&!v&G)7-!X7ho7T|B;x71PWB1JL;m3X}$3dW#cKz4nZd3PxM9H_z z;}n6hOi#F*SQ)=EZ_kmamiViEQkNdyq*<&VEdY@|r~{#2XwFY@EgTY=aqOrj0myoX z6wZ?g_r@lRl8}1S7)7Q<>47&J4sysPF)@plp(gIbizW|FBRCPbk&2qz3W4`}@5P1G zs-iny#Jpa#ZFF2pvbzCw7Hzd3<)m${iXSsyw#$DVn%%>Mfjg|{u3P|p3&^5D13u$_(D2fhr)#%9M*+<} zBwqy=k-lhUE4wL6u>v+eBfqbff-4pI0+Tgz*F0-k#E2(c8*<^FSdx;b7hLjs{eR67 zU|uod0>2M0_RsGe5 z|5zLV38`-Fi$tcDiAxgQw*U;#?;N%a%8qObC;h(ZZ)mVTQ^^D@ zK-uABy^(|Z>eoCOo|TF%x8iAS1*B30(DIocSJ2oWi0xOALaOExE3@wo2_R1xbEt29 z$^F?&??y3j_JMWx=RLU1nZ$wnnydT#i;UF`9k*)3#C!L?JiilO@-H)<_$23l-KYOQ zdG~LXd&j@gm2AGJDxq04S7PsRj&&0sq(L2g+<+!5uP1QTX~Ir&kZZ4IxewQaKXf*b ztrtB?C-e?#Q#4$Y=6>noHszjKGQaOyy@T661RD2N`%3*B6Sq@Xeb>qY5l{M+kA2{u zB)&VX$=nldo4ML)EjH;bGg;=Hh)0oy`ao> zOAX;XbEFYDV?KKIP9(%d0$cwVb#EOMSJ$okLLfkb1qj+`a1HJnf(J;jKqCn*jRYFE zAOV7OBf(umkOmre3DUT`YvT@$C3$bZ+s^*>{?4s?Pt~b9hrcMQt81-UthvS<<9U7$ z&OPDLDUhim>?2qsS}_>x2f4;)z2c}!Jwj22F&0~_m^cbp9jPDcD6?QzMyKNL@q1h{ zVn~JMpHOf7Ue1=Dp5@XV)cP3bD)yhuJ=mBptXL+|Efh?FQbduT;)C@PeV%7=HW4?#Lu zDY`2C^j2Ql%}CUoPE+E)w$lD*uk`;e@Hye*@^tJrn@&y>o)i`TMYVW7S8UqI&`;j* z{^?EibTz)N682~XKpjgsL7cvjm<^hxUCaB%sq%HA+>{%6EI-mo`4RoZ_NJ9fM;<5w zQN2==Sms=FI7S{d9{qh;v$U@xk)*%*QRt- zm$UUr08?U}BY)MKKOZN(DqoJ}PrdtRM5uX$ZU&R@Q;*O$m!z|}bdTJ%KX-x3vI)^m zI5VMuR+Z25J1t!L`coQ<6Vd8f!umS%X+fRK?&B)YlWfj2Q6lFW!?R7H&LC(r9jCV! z@qPn5w!W_&Qj+t;&Ic3;qV=y;c`H3@=-(@CWq4aAI(@yFhGO-PuNP}Qk84(C2#Nve0yFryo+TG<=tVtUQ@h`tuO;ZEs`3BMyP6ma&y0KHnAECaq(0z+@XLYhT7WtQ=q0<`bm?1x6D z<1vk5T(ABf0{*7d0V|g4WhN+G`S{$aUdZ5@l}?)Us@_Ir>-?x={GyEL73Pg~aT{bRHz~ZDDeZnTT#P3CiLi>>)o4mxJ zf-}keylf*9m{TSfKCQ}>bdJwdz;ngW2H@xEBeb!%@)aND`ZqaJbEEi#aBV`jse^VC zk7|@R1TuOy6v1h~-=5WZQdW7U1>}A!80}z1?XYy9v}b^wO$%EPXw7nqTS@R#QJgXQ z)Iq*+Yawl_PGZeF9l^YhD$2&oj|;}nx1{P~4j%U$-~;G>yxn5xh8w`5Lzx_EDm9#s zlBxRXQ3HU2Z3xV-lTpf#??5G?S8LKH^WyM`$z%6Sx4SF(%~ckgHo-5CX!;oExu!8P zD;hRgXS0N7o)h^`7YELy()xBWqX)N+ZX2v%&&Y1Sy_&tGw@;@T#{+3yBPqT##RSSl zeC+ucwx24<(?2A$XZiITz{e5-vs^ppn_q()%0&s($*DSSw(9vjAxJK)k>P%;+&RHa zOFuifKsSO~fx+7~bWJXQgAN2EI)2}B^I8Zr2=Z?=8q6xP2C5D7T8#^`sbjFTL5XB= zI{Zu}OVYZGjE>$y!(vQtPYp$0z_sQg$!rMuw*8tEa1%)-$wi4pLN`WPLpi@Xn+;>0 zg39KjI5ZgjOeSZWs^!wQEMJF1v;3}BHnO?8&xXBA6PX8rB{fLAjJn3)FWNmjn+P~D-3bM>@U!WQls^wLZNXer|TTRZOip2y(pGc{D>68Dk72M21VcN za^^zS-JNo&fL6&X|i3xkNg<0Rz05yHHd zsS|C{6Z#?dU=4gEGj1B@;4xs-M|wVns+yYEf!bxKjLVP)k}E{ZL* zWQtOu(X7h^$Q{?yd}7V3*_0OGHWsJ1&Ou)@tq7- z(kV3`FjJr`svsodWh#cxy=v79ri{o>pYbU*N@)8rtlQ^~&U7j^zPK&n`bhHPCC&Oe zzAEEgn8Lw-JE^?1v@G;?bmDV8!dS%WF&cUv*O6=>0Y!=1e~cUrLMx9y{-S7}|2+S% zAx2oDeK#S72yvqANA59D6-c#MqaSe607Z0G5??;I+J^OJ*emRPWt68R$*?S4X29TN z5S*CQ%&Pu-rA}e>eAVEk417=OCa%-V*A`B-9YIXGX8|n4)tvT^Dr;I zN<}E`MlD@n1PpvlA=;Ig@mj@e_@YzK-9))-dJHjTQwwdTy?d>i<^g3iD@Udq=u z(I)6FWhqh|_b@dheVQf^3%7yTsWt9tys%|vvkf=#l*zp-Eh9twv?*S_@%X5e#w4IJ z0x%gPtf1{JwhGbKCogOaDovqtLJ2!f!8IWs-$nU8($ZMl%6^?^4Z6fUW&EtaGx%*X zr>lV^%Ixil&blv2l`kndf^sn|Q^9(q1m6mB#D|`-M#>qiLhU8dfcD<~5*-BP+tPUp zD>6~sf#;0Ez7ut$``c3AP8PYA*>2RxeKc0sWur@fxS}dI?NbFv=lv&}!AiMRHHjCG z0$LX48ad9XZdqUv{@3XnvafqIGEnolF5Zh-2f&JEh1rx3pDojrCiI_I8}-Ah$3t2J z6OfUNtWX|1*@Bh?HLMDh*o3`xF+%fQNX-FYI5nak=Jj)ezQbEQAa|p(*Zw^pV`I%% zu1=O9OqMGQ&ioP!W2e&o5Bq#x9Fg5gODMX-4^gNutB?B&&o;klVI>=Y#X17`vOzDj zC!c>x1@R+X{3rToZXT_z%G&E|iW^7jYiiGLqrurg-)HXcqsxkPzU$AtsmrY(QW$4= zT+}+e&4-C-lA>7)EUkPgDhlkaThlXxTHtfP_m@|x7$w4T#`ZeNuT6QTuh+;8Qs6Bk z2x%esrs_T$f-|-?p}Y>aI#I$9%nv#$SU%V;h=m4V86c8d=S^RrrONb zY}b@-$n4qI+R1#0ZyD)=xMV-dX>SyZ+ z$?)@zdv=`N<~8@3JmgT&f;JXFLy=oCKit~WH>zeuPv6N$=bQDoGSb>HQ_oRbxtvG> zr_+eQ9}*u1<+G=^dM5cWZICk~+HB?VGZ}o6{{D4;j&Mb|92}6XVf5#jR>XSJdh+mj z7Z(0b+yy*0xaR0^!qlpuQuM{}`E*FjdhuY-FXDX$iOpHD0cDq0cT8Ot zi!-#l0rhoG_f+j;89T{_rM2%-)UZck0!Jzh0?c4sT=kB6(*yv zV2;woRzvdIVVg1b&r>QNw^u)&5mG8EUu|la2ke%5#s5IiWDfGh3b4tFj~H}8k_TFH zImFz&vCK+jwb_g7K)cjHU`z{C*i>z*nT?7`K&IH3&>JoF`uuA~f7nX@o$A-`J2*$RgF7Pe!|H9C;y+m67tlqUZGpohZ{aQYj7aM#Y=q}j#A;ZX_6e??_s7#MPU-=oli zIaQ+~DIap3Oi3q98W6-NN&7|IUse`)T|PCk?HDp)4Pm2!la1Fh z978*9q`Xc|yQ``ZXk$oP>x7yEn?%cOmp3-obzOARRp2WC?HqpFEZ?FH|TI3|94^o``_G5F{N&WV#<6JOYov*zn zn$e#ZtSGi{!n(+Kzan;|_dYfj*cOkf+fe(%DEV2F*XP)%3IlG_(@7Ug@m@~loSR}0 z_479PnqKiM^RTDv$zfd>#M7NsUuW*9*P}GE2-li6$TQ)J##3?RkXcpI!WV^KYJ!RXZ!Pw-7N*&+bK7=N& zSMNR2UrOrUX+^InO#Q8QQl-=KWFtlR zanD6dPU;@!gpn(`IBe%O$OIu;`&J+U@mZS)JjOV|a?$uqb(~JPQH?#_FztEG2#dhA zl}r36ND@?_Hom9r;xK4zU=!P&J`-uVddHG9>ioNzU8BFk^P2`D{Q+&kL^#@i_rLe5 z-Ayri_&r+i@>MN~t>G`}x9<^EvbCqgzkP7!#ZR?~=`|bAC z96a{O1r`RIpZUo>7k&N6Y@ZjgWmI>x$eQoXkK85wC=)bzAePq2YBXJgoi`~su^-pW zPw-)o#Zqql8NHt%=lRuJ--H%@9eWP`*Gfm?U;ZJnfxMX5D7>yAt=~n+eU83MKfkx= z>12xHqTa@USC8l6Jc%G~y^3&x$!adK&CH7z$p#LCVXt`gE!_SAEo4f7{#NbBE&B6F zg9Zm2@#B$jTYm9}PDb))3Ci#z#{`iCP*z?K?%olY2%++0ajCagYa|u4m@vhbu8d#^ z1(-=*9X4RyJ!;^#U_SevJp8RKe(6f?R`p9n#wlI=_neo4aV+1JY7)x!jPS|*l?T>a zYqHv)$<_a~IBc;03u8#`;Q9X$mdU>=F0xTK*sQ@bPi7uob%mpIYOim9Q1m|a6r?Ph zDkA${XTB+3;9S4U!1v>FT1MzOY)EU_(}HP=KVeSJwuJ7FjMq7E-3~+Q@wnPgqnCw; zTl-@%{l@7kuZ`5_<6a{njjF1&%@|qNbi~=g>9S9T3~L}!G4o3k+t%*nM>92JPvUbM z;iEg)bdUUaxb|liMjk1k8D~=1KAhiMoV^5Q`G9E?S@6j>yA%v|ELXqCe?#$xUx6s( z=o}=zdw^L%F}zUaYcTDHL9C#Qg(Llxeai3`Kat9U5T1ai!N-wlQj{w!2~yolF_3dw zs+H3Rfq9R^S+B&wS1eoGEpA3eJPo|K}kk;Atu<>rfxdo_}XNq?=b0_07QRQZgLKlo3EAa^f6vcf1 zd;stS<}?N>v}5he)=J0vP1ah(Ij%4iO&0mfReCkP?H29WxPiH3_#HL;*g5J=D6zSk zby2~(>j4k%qVq^?E=jS%Q8Meine6yGLi&3n3Uxz#%fd|OEIYCswsK|>n&YR(7sdwO z%p!OZombo^$@BR}%7`e7%s*TA7{nb`#13_m!sb(gcH4rR4gv<@CSS&^R{7y>fj)*F zFn(zF*yf|kfWrit%7o*FHYgI5Bee`XMK7=H^^AEVg8Vm_fMoxpp8ccOXK;-lJw&y2h5O z{)6w~FIm6(l?^(?h}2lPpHrJ}Ab!y%lps(pnx)&^d1gTMfvuH1M~L*e+!Md9XemBI*6Yy2K9v1;9R=NEa%qlIl80e&bQAzBW|(U_edSZXp{Xw2|O;fC~9#o;+g(V)?5oS zceM-;Lee(xsoub7JBY`fiJ-c~38@A(o^O04I5LQt7svhOfhGi&0ow7pbY$3&Hji%- z{j0aD=){gb6gsiP)gE^d@2D_)CW9Dsv3Y<(bkvy00>*5jw(BF1^`k#`HzSO%n&?1jiFwmJc?D4y!xwkFGk{|QyOq$AeX zcW)&0ICwYT;Ltx)W?&0g{hl^2sx-; z=ERW-&4aW4vPzQ>V*6I!RyWS<3~Y8z#y>lQkMxlM*!DmJ<*&vHqvvw7>Tj z`~^44?>s_lEu4_9BSAyICR!F9^;@)>CLq@ZY4bP>x1^C&=J@5YpwQx;-M|~p zJz_Vh>jMw**vEbmZX}ZfUtgaFCmV05jY=@In>Ew<(nsPcn6M=hKC#Bi=^6LI$~pZU zy|$vkyOhvWk-k$xJBM4_?$sDU)I;hQ%e-AT!3faVb{RCZ={JpoFAwil-MFVQrl1}KYJlERn^Iwg}<>L=$+b7$Nn8tQUB%5<29Cab-=qC;v z0{qGKqdj46_xfd`5`Ny3P4~BsSsWzlc6xiH8uDMGmHrQz?EY6{J5lVvm)Zu&lz-C4 z&YPTbxh5z+_1%4kazvmfbpi#8YUA=i3q--Dn?cdu0P~e0A|v~x_yW@}p8i`f!Z5lF z6l$h`oN5a_V{*1~o-SoZ1klknmZC?zg<#K1RIIk|B|}`XKmesBwE?~_sb6YrEb?q}(3+Ec7)JA&`jM_ zyZ;XI11TE2d)v~lz8p-oSG0-i0Fo(lkr?rdoJXXPvGwq0+Y&+;^l;)~q`GrU%iq4) z4jS}HW-ic%Iq1{SS@b}nM8D;lY~{@j1dwuxFMfXAMbAyik@J;THwnds5L&^q<^@S) zKfxgMp!4-IrWK03;$zvk4DQow&}`yd@Li4*we3V|0cRyu9+~gN@HZ&6_O7+Hk@GKZ zawTRu${H~fxXFrLfoXvor?^VqEf2TzSwF=b#VE<2Fj-Bu&ouMIH%JtX3m84TNvQ}G zJHFQT=;YDa;S`?c{~G=JpFc4I|I%5kXZYJPo{Rp-O5fs@n&NLUCc{f2o9T~C$Mjlk z$`AJxjsAYz;^3ss^A$5GsypktEz0T0ShklN^tNJ(zA~c3sd}1_Q*1c&6J0;{zIR{K z!#2A3?9g+jl!upra&bUjJvSs-~e!?}5s}nAJZR6SyPV z4SE3uprUIr76_y*pu&~V?j`}Z4U?vRgQs!h4}0HE)|0FxRz7!4$(Qz^^mXC}Ey)|0 zbha##>nia=e+@V#Yzp`)gE!9@qJY~U@@nQ?;kaZgj_s4~)>li7$Q_to(zo~75}Q$! z)lYD0M~xVU&)2MK-DjJRT+ZewEX3WUS=HmMj`d0c?(lUru-~aM$FQ;0#gK|)U@ov8 zhACwqlQ#|T6_3uOd@0*}Eh_DOaoV4f-0-cNF=*n@CF5+aO{w=z-9)iZ?81rSP^TW1 z@P@~K*zTjt{4OE8SSY-Bb^##DbPgOBS736;|K-MYwTG18%dz>04&7sO(iRn z;eWq-R?+VsC-i>{Fd!G2TYj_vw?7VO5#^C7&~(3Oel>CQxM$ydK_h{e8OC_ZPiq>~ zsn$IMDD4orlWFV5SE@EtN?e%mik_?bKhxI(&FUYg` zB6g25&UHrp;_TNq+6tRK(FfRo7vrqpXMzxEw!mt|ik9mfSS;)1wr+Ew+RUzycf?s4 z+)&wS#rn>6he2k(08;G8OGs$Btlaj&`93@A(cBhKyVOfGbKlkGfxX7O-U{Y`w>ZCy zTwD2rz+$2|Ry;!%cm;{!J$v(g{Hhz{bSadC50nH^ zUV1$q$(dh{4_#N!VrjO{%1f6-D#d%#1K*??cHcKBBf}xBz7L-yk5BdQ{=6tj`l$e^ z0Sm;GUZ0etQRSEg?gq$Fm>c&=i)2(@)yDL8 zk^AH&6uwKTi}CYWe0_4D5mD+f71$6T9U;D2PtnH6xsYrqgr7%O~B5acaAN_OR)f4yraAcT>Xmwzoy$-ivAU3QDPYF=>-BMSXU` z$y&A;(s%M7BOX#t>@SH@ki|DzvrvMa@4cUZLt|IKD_ew%1hl0y%5 z#}~;QE$q+)ZOyF`jnCbLY*Q$lVg{+6QE8+~KvT8dWFm48WP+X3^|_uUd;GFn;NJ3f z3EQ*_RFC2FNEYe5Fih)OrFd{EkbfAQ+FI5E;3pR8;>@8bPp=?1x$gPeI0Niyt)200 zZbw9+#dToq>!IiYA6M31gmupiOZIjp&G>B4I0n6fUAmR;|DkQe|5V59opoHzeufNr z*qeXeFaHYzkbLk6X8Sxg%0P`Q+RB^=6!A$Vz3UkT+7(mXG19W*@<(H=+~@;xtbgrS zk~$+xwmr|AI~yPWSSd70K+o>Kp(S{u7%mlm5u-^)FpvMJN1o$UUwc>Hf^e3_XcQSb$r8E( zaQRXvhETqqw~UY=VH{x`G%Gf#u2typ$>K6vu=14_zzVEZzf)L^<=Z0o{PL7SVsY{& z;;hD|eB`+{f4$_zJSkOl`d=6Xj#VCXT7O{>TTJ<=A=mZr=2y)Ogx#*3BV0my$6q1q zDxw5uQI8Aq7u?CJJ-b+awyKWZe%@x%do5`)+xl|9d|k`VpI-lZ-Lc2QOPqey)afnA z``sQ?c@L^P)rjKxfc~@hkXMef)vFyaCOcSg zte_pS%txaFY6%@$?Cx*``#Ie3XJ2*kqo3R|KIb7Jj1n z7e+MDNKI$>op<#NoYokt$6pKN>F2?$iuVp^`N`A8vRdqG!qcmR`?r1@UOZc=L|Gy1BS6S)tH5CCb~1Ogo^26x)VWzWxe=?q&|lQYMlAtOUZFw2p=&i|ietnv z(?+XVenHD712hwzy+E^xn_4iQjwfXO*do=?8Df^4TEkDDYF}irH^}Q!eWxK}%r8;_ z2lnu~j=RGpf^t5xcyKA|rq{90C1_AMreT&3jxGCFj8C?N{ zy7Bi&7v1Q`r={D_Wj3m8^TkO^J$+jF;rWp}8qg>u{*ctoBg$R9^`g(-tT z#cq~=6%+r~b>9_t<@^D+Pr9|O?JtZuhdL6aIP?F(1@{~JdyH#^jZZBvAWfE6Fk@8{ zB)?xkiQNbPMEX^gnD=sLP4lq+o^kxBL!HO6a+9ZBfo?&dZi!W}djz1Um2D!ULtNuW zZ|faq z*N}cvA2mCsTQP{_evi<840<$^ft?~vDAF?i7lt;g_D=~a{$JXVejxFcH~lGDoKsf? zWSE864!O2o`c6YiM4@HpqGd&GF43NWUBQgwR%^w-P8x~!Ugo_)sF2&!T4l?Q5!=() zELHhtAJ&HK&{J*Jf8<`X=AybcNMG1tpMmouUBp_2t3KaT4%;tgC;cd&j#H6VNrUo$ zI%V32f^pCBpA;qdY^VFsu}n6$o%$?*BNtd6)Qo+8NVizsvzp8RulBZ%ce&?BL?QiY zsg9LNNjc1mhHK9uC{UZr%Hj}1PDpU+kVGSF8)V`9>R~v3jL08qA0^tayb8oT2q;7L z$I5+JYa%W_Q&u%?`6)29iFc?8w2i*nPWx#rD6zD=12`8Y_M*>H&mHw;f2Q=Id+==@ znEvjd9Wa@?6(4TfR;|2FbTg7KvQ6yd46P)w;hb=iOvCLqh4}%gpZgyXt?@f%wjQsJ z*%BT6z!=Ap$8g7Bj>NmCXJ9gGlcp6GPp+5cu^!OuYZ{H6TpFuF)e_I*3WE|+i;F$3 z*6MfkR9B!s5m0CKUvrGe9gu~OEW_6|^EK;BVJ#VtxCs^GfU&$!bEG|{KW8uQWI;1f z6-2UaiY))x8Ufi6yYEvIF$#L;r_evF0-DosB0Bzqx^`$nF8MT)2&*kYh___`Grf0dCD#F!axCN)wb72IkHPcZ@Bxug)gwC!a-;N!YPXDYQ|cG@ES=IB?|%{qXqPn6@IjZ_T-Z-L(JI>l=yec&td? z$32agkB~n-4?o^bscR z1(Q82GpS*%L#By_X5X~^-8=>c)&(Z$1?K;Ff&53X#Q(Y_?SH0=N24zP--Yx4yFP$9 zvGMQa@8r+FFs6+Di1AK81}-7=u9}u<&uIl}2Y4cGXyn%VAOC=H`?gB?j67(ii?;ld z(Z0{+{q$)hA>F&mDJ1bN#+zz>S(Q`Y1*tj9rRwrPb(PUu!3iaMh$|?Q3c#!?$y#B@ zF!!-UT*v4|$H%@K{(Iqwyi2V7wS;y#&Y%o-3me6FOKpD3AmUHQ^$*%jm`Vvh7Hjy? z#}A5D*!hcZAMD$jAG&Cm?915im&HiDbcUcHna(OwIes}2V9-DKI5-~7=lz8tEZ2#~ zSUsIHelCZMxMlbY!(86dpeVz_(%=c(8MBZ&Gl1tKBPFOk_!BzC+O}A)OsBVg^q@*j z=wsy6AQBqiH&KnQr9qb$3r1Tnjrz>Occ|YOSV(~)uCaYWB%i^+(yE77rdr9e?RS9#=As0Td(>9t-kZ{k zi#ef;)CQB)F}xdf_ZJ<Hf{}h6^$oA-vIw8~&(y#CQgg>$ zUPi%oMLGZ|GOsf*Oh?u}a@X*^VTh!k`7Ej*cV-~PwAn6=Hn`H-enPs!%yeEyoYGP7 zKWI>l&6<#jr-v(`jD^RXzOU8+%O`ram}zF!HspSMRva0W3_%+#s}&<`xY=%tlTus1 z7Eh9lTzq;bM_{ zmQ{wS9IFL{%epp^3EEK!UW2q+Ib_W^V61$4<5S>t1k8c^nN)r+E{o1F**WL?ib6 zH{oPs_f})muXdB31hw0&g1MYslvW#|@IQ>;|I>E!-}c;00S)O8$#V_iilhEiv#m3% z5+fxupG;&o_GD9*$@~^LS|yEBBvEbI!I)%Ro zdEYKffy93X7rIM@>F>W2A>T*{_Bhh>d7Rdte}!OC=}s3zF#Afx+Jk~`LZ@Gn|I_VM ziG@VgXER)&iPg{2?&e$GpC3;$UUhGkBKgG^!5R3NQ&~gH*ZZ(5I^Q_GWC5|VF#^H& zpArJR<+CWSaOLUfGv*Na3&W-)JM)XJ(5UFwBw!+&Y_l(iTQzqaFeJ}n9l=FC8H?oh z@<$Yg2MV>OKO&hak{9_Slqt3*7OeCmTH?=uj6^M_B(BQ$&egiM*cWvaC|!10b>;TX zSf@RFcr#6EKpim3mzxc^uFimMX#7smIRU(Uv58vj1dc}ouZ zOliXrGjr@R;V2e=f@S^1^Ar7MEeYoII_>h~Xu%IZ4*7>W=ZnMgj+ra20wOFg^y0RT zOySJALA_60UHyI=D6iao+kO-dThhlQFIRge(``C+VYb-jJU^2`+P``aZVps^QvK~G zvdbVNy6io!HnSP?*rL}JhF{3|Yx#dfFkw2rMMpO>tbhI;27>)ZKP6WrE)Hi*KDu(f z)t&TxzM6taUaDgRj`6jcU zGBgNR<oDoP=%0(w{rfh97rB;g;Viv z!N%U+_GVW14r1lN>>l~ig(4|66TBx!i5zCiL|4%i9E+j(@xEpsQznp#O~|G@ZcTOM z2eB^~TK;CV^9x)9rl>Ha(TX{MZt&v6P?Z8BC}r61nzmIa&MDLX*?{^&n^c)1tI;oI zZwMia#3Ie!*=hJ#g2GchQ+#o)r4R2XPc6zsyVC{{3%@}H?)d`D#zQlOsKcfC??Y!_ zrfaAr;a2eM2&H4o6C?PBGVSp`bkF_Im%~a;x?G7broyzuX-TJ6P{d4pJ%n*c)Q9#i zR58>z*Q-i_;RtSvw~V&agfg>&4NjD${VR*bOwp4tGqV!L|rArq;?S=@l13$zSwg-tXKfEc*5Bz<&2E5+J%vpUS*TfKz^Ic6C{Jh5lI&SSz?_;-}$E^X(iNa88pjs zs8~8RWL|D*--VV>8kb0A_Zb$*K^TPmYO{#iycSFo#L4?BPd;Yx8BbV<4{Kx)f(M)* zqOJVnBOc9Bd~0yAZl3aU@?n2sz19CV|JH)SMMGFXtY>fTwfi4%<$Kd#_a3UFc$p;} z?~DU5?dK0EU(`Xe>bA~{Lb#=;s%1Z}x{U;6#qYL}Oz7pk`iGPMe;qtsq0-B!d5}&^dwfhyNL+JiV|+ zLCUs#bHHLLGzd3kC?JrFT*Ud`+|Nu{@|g24<`MOjD`E9b{*O*Sr1cg6QP7TG`Vk~b z&?wcw7%*LZLyz>5)Q)pA1_mn2iv@L5eGrwKS`(5*@rNSO>!g|51XZiVl3@;50;--6 zYelIWcD%_mP&GMKgM%kRO;i|ZgO`rm{%{si zy|+6RcLc=gqEge|02!%95S(s$LESmfjV7+X%v3xKeoK;?>eKD+uEu!Z?Xao2ZK7JD zR2L5;R9ks&uw*_APGcl#7DN!gpqo3tdEPtasmMgAx;iUs<|MHao^JYQaPyrM_6}Pq zUx+hhHPxCjoG_wkB4`}neJ(^XQYJ#N!%P3Wz>I38l;Ar}b+s6xw0Nl*Z@|vZ>9kLI znYvlH>!g1E{!$F0yYH>;-}h3t(Ok3TnZ80FHoCWCxXhCfHB#Wfoy}7b)RtR^KH}4Q zYP%M+g^?HWG|riR;+ilK!#SiUK`cfsF^C22;v~CC86OZQ2TR?sE+#Q;pfn7;k5!$U z#oo*h;n7n`xB11&+3LIIMcV1+XD7O9I*9M4bU{WjS`u5%#t&zJJ8*u2%O4iIr0V;> z*g6e2He&r&mWg)W>u6D-39AK49WM0!2LOFugfq^-hN>Y#7~VrFNx!~#eZ%XkU)bbK zGmc@MvlIsy<@?vgz{0l@~c48xs!|fy=6IKY81QI_{Kc{pdNTRUEwrG+257R zuU9yOr^F>i;rHwn2n)=Ef1yK~MCWcw#_1&Lh0V{(Pdwv;w9euz;%9Eb;;XfSkMoMi zf4OD|yed>K2zViW$AHZTDU_#DtUu66j^4k zYnJ_f&NaLeKLCjEDY@ZjtoQFN8u$Np^g1Cn%hNaInPstivCubjb$F&vD$2~=q?jp* zwOyb4b0J+|5XkCL`P$0X5BzKNcW9G}4lqIonDn)R>1VXgYmU|MAv&p#@gtTQ8%;|) zk}`|#zOfeJ6#6%}EC%_t{hMi85<@TNvJF{Ch5!oKWJobo z+x=1APvwD{=LJa+f0r~E*hCa>%}SrG2v;Xk_?_88S0qp4R2@ON7{F*FhVj*Ii{@=` zn>&gZGuEz5`f|~cM9Fdj4PGMXP)R~$C=SiMGf2}{OXsM#ygdq#?zvuXWrkF{B~w{> zeUb25yXhcy_$CxlF+5%nl`8AiR&MQvfSLw*n)!l8$n#x$QYYl2R#I(7EreZ^Y{aw{ zPr-)BTW8NJcfZ=bYkd6M9Hlar^QEY6^Nh|!fkHPqvnlk#T7Lg%q5By4lG)$o(^Rk> zb4Fr_yn*MrV6`fp=Fb@oKEe&(uIyZE$TW67OF)`lSJf6NG7_2 z({looX8Q+0I$VYxl3QNCW$F7`Q#+GNZbfRgbUbv8VCM87)-mM34W!pmGJVO(F#+t2 zv`)21hU_`^>@S&~5P*GX{k%?OHq>Ns6owa*EgHCaM9b#;;s-C6N=_ub=#mgxVSQ0n z@5MN$LoxOl;p8P@$i96eY8Q^PWeo+HzD_AR@<7S5$`6(Apakxdc->j^WXRGI5!Rl3 zO{@1QjXu|QlH*O-Fc396w*uO`Jk*B1paBI6)?{-iP;8^RTME>#NV`Tjdc4+ngMPAk z)!9Ty^diq+Id9Z3khssBlUHFneThLN9*7%cUW-PGi9n5g09HsG_`I0CNWDDoSw= z_K9>Sjj@Q8?D>XBdcLu4Wb-Z_E=Y9w)u zt&$5E)$lCSjp1z}ezD&A2HC-SX=Y!el|wik`q&!GC`kb<DKYqO@(#@ zM7u`Nx<{8&D|Vz~#s4Rgu%UWeltJg+^CL^uZI(F6?1+XGYk`sw3ng_<|a0uj;vdwe`ph|KF(H|i~QoPaLN=!kEqDVTcA@DPD8JtH7U1-VGa&JD{5P4 zw0w9 zVQUvh)WQ=84Zhm0F=oa-3OjNN>XUNCr2`YU;x-AuG$PTJn9%K_K1*VTI z`UdKi>bfU(1VjnY(|Tf4Y}8oPLZW&ELK~O21~J$R+MKhV>whndDx6NTYsR(Yp6=QC z@=ZymUz%}!e(XTa>n*J>gRPPh9*%bx;PE=iZJDMz>`|#+>Wh6LaaE`Wqy0iKEX3e8 zPT&h3)vg^KO7aq`8U~L{ZnTTgbAIhcg3iKiXK|Gl zIH6&*%L-DMINr|tJ7Zh8_5pA5T-{#phjJxlw1zJnC_QV+Tv6QX!68R(2IB@>+ACR* z@){Cl4X0ut>qhKAKnb8cR{LzPGjFec6hswnuo4SXo?#c%;5}y{qe$3XAIGGTiAdjk zXTMw0Wwk@+wo)}D>gjyx_->T2d; zHpP=^INO-OoUVyVpHfW67rf^)*}mJYvi4i*r=c=AMyH+R3|JaRF@Kp`QOUuVTppN0 zye0Z2yYl-lj0rGaX~_?e?SV`@DYX61QAbBw0Ud226<6}%$TwoAXo_7&D2Ue6uyZyD zQ))pJY7lyt6e@u@sC@xoH~nlAkToY7&B>A%5Opa(@^o1Q zxbUL`QFFKl%;+YeygFEWYv=cbRl%0oSjLkkgq~>#SMWV@6+4~#>?Rj>f6C}=SO;P?ZKRet3=EFC7;1ab0sY{pv8*K>R z>=5CWTyiB)6=f^Xc^9R>_q2NR()AW|x`eUFxzn{$Yk4CgsgHyHZ0ZQz!P$%<8QHk4 zIKvL%y>DlFym%9b@hAH6{@=0hu`gQxs~qoiQqcGLKgjXQAdxLsG1-64g2JB1DY8bU z5fHpg+SRmUbbOF3Io&#b%X8HjVh=4Va|cKB zg{i__VpSu{N)|4Vc}1}bY+3i4G7KySqI{FrWkY)!+Av&AJk^(MmR};Otlc&~U`0tT z;RoeT+xz6t>vPEnd@!Ugj}op?0!u-`RMTo$wBgl=)_LS^bB_T29iq$1f(?mKv~gyx zM(8)1ooCv}{wRQjY8hk@uC zG|mogeh*tDMdGxQ90mgqaOVI()VqL#U^we)_*HR9*n78~y9EVN$!9LCMt-p|oDS4%0F$T`elNsV^ zSV6a(<(p23nu&58(kPVocMYkesJ3+%_9TOmNKQ7e zSi2DLYF`=Ivt<%h3}#gr+bwHxRodN7>BjZT-Y-SB$#FYZ;e@)!KczlYw5-3^8I_89 z(?|o>e45!Gqek!IS7J0I@FX}4oXkA~dkuV9s`AnyeSDlbU<|e}oSTKMp6P#G@)L`; z=cOL>U9r;Off6(*ZIR}S3xo@2q&Kk~tE_$YN8MnT~MOu@~w| zKC1XAQIju2vTKjz@=-`<<#0iAdw_XdNA>bOW`QL(H<%Mm!RreMujL>irKeEGCo*roG-_DSKJ0sWp zcw7amwGcJSgQhnV=+koxt5zp|EOB|}Un5GZ1BXX!Elp)_9i z?eySa&rY?zkin~IG;f9A29KLhkK8>MEK-s(7Q}0WS(8(XKWZx{Xc%^-Ku{ZlkIg2t z1cYyk_&oOw`bO3B?JQoPE|Zm*19}kp`0fBGa_>Q}_N@8oVi&8#1@1TpW~mq%o!Q*J zZY0?Xh^A2&2xC{*@Se4PtF$|mIypMV z*v-<_R#7y6XQDf#o4v+Q1BS`$;UT0rv;Xl0)1w#v6$*SZi2bhFq`J8RF`E|>;){5A zTj>FQDjq5+1;k=~T=b)!4YBl9-MrO))W3VW_uDuZc1Lp<^6KHya+=^9L{mW*IKw8S z*Q5f-{OMx+MC6xp33_U!kuQh8@Xf0x+PZ3P@?PbKcc%4mB}r~Sx1|K^9^TAn(xnuC zjq#F7oW`Y1D2Kr$8ArkLgJxMAS5y}-6yeBPGDLe zng_9T5ZfFcI_`#{NT9Ul%A@$^*7Wpoft!Dta41lC6iH@V(yx;^ukoN?o zMkKbHgEI{VrVOz)q(SAo*P4c(^&On}kqP4Hl0P!K9LjCaMwM81#*XI zSajnNbhxIlnmDVL^9AW`tVs1@A;fG?eo3^eZIlX#I=?Lq5S(2E>X8G-SRtFm)^MkK zA}fE3K%4I2xBTrEn3M#a2elpHCC7$w>+Me%?9Ofj<hFcQ zn?R|I165j`53~?o8$byjO=7>F1dk_G^etRcUeqIxgno7i1ayj4?qFnLR1_MWf|8AvQ&+@aWh7U=OtQ=c+pgHlcQ|>;_+$LuDx09h`UNY^FJ#s=Ln!o! znU4$vuu3n*j+VoiX*~7|s>7?Xw8W1C#zQd$IQ;}-g0|Pn;leo{9VK$i;TCw?gF^CF zspi0TGj*Yp8qCEbI_LSRq-8x(-Y1{A8g54-;l8ZqY(bSv(OL9fcJ}YHxmfjm;<`B9 z>NM^qD?hO+7_#oMz-OIx9-0Zb*Ao@{*V%nbVa$*&Q|TAQwe@O z-6u(sz5>BATRG z5EX4NSnZ5Mspikg3%(v0IaAY`z@*BsV3f7o!0NG{FxYnQOgDZrjoAwp8hUx~$jqyw z53vJXxvneKl(SJ2Sm?u!Ct7FCNr+2FUeWW9kys}QkC$Tlax}@O)Ppl|u;Y!&3tMhc};e-=Or14ClU{|fdjwSG| zRV32ic%SpeeXBEt$j*%kKWRGi$G7AIJ|V%i)xKkyDix3RKd&8EV#=Y*hU zFB$pqIsree=5rwd@6P~?ECEv8R86X#oaZDR8 zf|~X&B@qi%?A4I&B!CDu~&nTxIUQ= zrJm!uE%`oge=w0|E>*8B!+;8P?7&V)iv~G?#k%DAE=h*dE3e{S3L}kDnvt{|N9D<( z*$z=jI1M_)C#`7k@fc=GY+gpYy<)uVX}ZTo|6t58G9cM><#Em{jjt35{NF0@xwapU zO;d(?3^rKjsuSGjtSM1A6k=8V-inK?woE+^0j*S61SVdd z>fh<;W78iy#<$?!Q3@0aM*)QtX-{4_NuFZZ?miVCtKZIz{`{H3nBT#;+&d$p&S2QF z!gQKycwuZbMtGtX>0E8s-TOjzUd@U<=(XjTy3lO}NUSY~PkqcE6M1s1_%X-U=h1v@ zCNAINz+y;g*GkAjle zjgu4MJU2pTdR4wH+L=oXGMPV>?^h$F$P^Q~ zE-YL3sUImDr%=1vh*cC{pjY)BdD+C*ZoAsYhMQL_wF3|+ZWqAe5FkXlam#m`#e3cx z75rPDlfUOGqNYV8s7=CYF^?wN&%;PRtW>YiI^v^HBNZq&MsoO^PhN3C;cfVnv3_ZR zoanGa85-8viUBp%ujfRu44(6VkG?*2f*m{dSGRZkt>w|Hb3Gp%4-+Y`7dRl{%6}5B z8z@-fM23gSRmi6{M!@R=ApDG1Jg2%55I$Eco|$42GTEseJ_QP&ck5$%!6%j6p-hFD zR&=vCnXyA^5)z`X-bb-VvKshEKj{NR$X`b`O44z+>fX2o_wh4HKZ~qVP6dkCH zwN!-L&L|wDu2L;{I*b=5B<$Lr9c}x8$?OW#>{8F*4_o<{?p~)zFp*&zJy(Bp;Oy76 zK8{=2_HJuokvK_-DhU%3wJ7e`n-B3b{S8mgEUZKG>h6BSlwsHH$5i`5!n5C-_0yv2 zZm8JGHSA75BYBYdEV~x<;k z->bQ~YmWOx8xWV}R-;sdq4!T%n~#J26#95(wFkhVyChSih#cc1;SvSJ$U zk+PM$qvsnt3CX)6{FnbO#QKkb^uI$?J$xwEW_=CK>opr4z?N3g34({AA`Tea#@;@U zDhlOB)`@tsHGJeOiC7f8Bg7W2G6vx8a|@qdr~FGh5N*p)370y?44rq>a6t#pT6a-= z%^DhvjyM|VDrl|zAmle=$H<<*E^zV8`}_RgY;%-kVd?Vw^YLG=r62#R;m`i>WV`dW zu}TnYgg|=;X8>z0=(CS9bnwetD;C9Vj(SwqhFmcv*w!=gFb?I#Y8Iya`_lR$B}7lM7@ zoDz3Y2JRs)@zl}_#Nz^59u!By3vpN#(D72hr#1XY)K{aO=%} zv%V5j{V3B?MXnQ@3h^s=sQZ`x5i&

+^AGGcTnn7oBDW>&fTZG#F+k(Ry->ICB4y8NpG(}xV&7wcWT;VNK;`)>#^X( zrnDrjXf`Awh1A{}c%VFpl|JPQCKQzcL?bRx@o#xU7957rx=D72CD zLPNKHWpF^f8N4wKG0PwsjS9)R8h87%kbV+2zo*MpH!7Hp0Q~UaK%ieUyhdzYFc)#C ze*f6ZgJ$&U)2=i5yd$fsI{{Z#%w`xMi6uDX7{Ju9(--*8HY_7B;lO< z`PQ%UbIX10mU=(pa3N!a460{PK= zG00T%m%e~i?EH4@jsgU|90=Ee*t8+u*wy;211WsxH$Zh(8?JXQqtNQ8#6QgG-^i*`wg^W*o1Wt5riUdLQuiwqQysVIr81_oR{aGqX48)7 z?qhL`X!E3xy-A~9_k2#^dqL|+8t8p@LAx`bzvKRm+Ff{miT{CtE`;;a$Rr@Wle~+- z^UVcrynFOVj1xEiLmU?GJxf?~p4Y5qBXK^cVX?t#VsRLldJ@7w{Z_Gtw2M|pasv4z zxDVp8dFw!Mu)ybLTKIUrQMH?eJlwFT;pzO3Q(O!Ju`X9Q5INSmXSv7xudC(hz3a|u z8nP@K^`6m_A#MXHO!j<;vb{52EAR)N6m+dv)h3m5oTnJNeo%R-h4fdyksA;l6zjYM z(AgTVdYYOYw;n$?Da&M97G#e8@aG~-*RV&bP<^AK^wNKQ-esYDO*abVKrc-`A#mi{ zY9in9x+E*m=|#toM_FTPugf5Fj>U2G1V)+juM%yh0jEtD{G$Wf%*Pw19t|P~-=%YE zhm*74I3Cy`XYws*S=K^E^=vy!P5E}@B?&MVoUT?DOR_7)X7{0)jM*I(aE*D)CRubYEG}e=HrepX5t~K5Sx284 z8wQVI8oDLkk+eg3r(FmjtiN z#G@tVq{B^mGfjvUi4XU=saM}KzVV(C9doWjB-YTPSi zvUQ0b$X!$bZTInVvYKuK3#^vpvn$_k)iS!L=1eIU0`62!^|O_|E@mMFpNWnQzfqs# z#Ex+tsx;$K>0ZqszGIEuM>$5b@>fZ+&J=39Ce%@s{cg_Y$^^E?kcqhhh& z8(b2huDqAbvhosq##&C7t7E-C>nG;&q{)eQ+Rt;bm}&crVlB{en>q_W&U0F3yfW@I z&O1&SP358?+AbGZd#95vHF3sMFniCvv6l2|)cQhkS5zTvHX952X)E)kMhxPY@$CvX zPzrNHf{^IDgR}Yvv9Z2}=Gj4}zD%Y?(B2r!N7MDrA3LtkmsT_etqgl8bZp(lR8edt z+@zye5^qCjj0BB{*RMSHMSL6FPmb+()*kBoN?&+)|74R|f;%s_!51Ign#X3HAnlxb zMTO6Tl%#`7hU+gR>IY@(4{*yMP;l8?CY3kw(AqU>rBc01jfTR0G&Z%@jhH6+v#jxw zV+Y55G%WOBu0rm_?P_cXWYQdU83kXuMr@ohmw7t9K-BOC^w50LM;M$$)GYJBM5b9Z6f~-^|3H?-Wr1_dRB2LfrTkHZPl~Pq%v6{2b^!2ddLM)FPuM zqioGCllq3xxi*aBIvKnhN3{iw*_#D}KOBW{NoDI_;kwA~CviMoqEZiPrj=NLUrp>b z>$i{3g3^y*+n}klDWIe%Vkcn1X*t%g=L5L_(20qg2wl%M`W!a@dSIU`m_4nd`~^0` z%&2l0O8tu^lkz~WW+ou6I-*cquMcwNR~zHo;3El~+QEy4W1@rOIwYH7qTtH__~I(a z;Y6`){ZRpZ*NWvqN8&i~u4Pul3yzvPMsCgT+R05+*B5XS;6k<6HSg7da$nOdvjWe_ z6S~D)=aL1(0=u%!Mxq*3v}>FHNSZ^RH-4f$tGPSH>xC30>Ne5EJI}*KnD%v@gaKkj z5$|dXt(SY@GmN;X43QfGF|QACJ1{g9pErnhkL%U{m&KLrFP3W{dYoib3Lem7EV-E`E|QAn~D=m3ho(!7J5ue}gVwGTLM5UKwx=W&Y^oJ=DiO9$gcetLKxBv?+gv*fba6X+GT zqCMMk^KH4Y?8NB1DY}=FXoW979&H{ZD$gF;O7&0S##83q>wmbfB+(9dOSB#Bf5&U( z{_&rRkGiUVk_RyK{^bb%@7b52JbHg#h`C=cJptQs$Z+5?)hy@W2#Fe>ZI7*@m18VW z&yXiiBEvq0bv5Kcb92Esm=P7{DX|YRy9#No?vie{geALj~?m=Mu`Zs zi3tBC2KX@;=o=VF!&~GoQ zTHPU}Xh}rQw6zbD6l-q2 z5eE^Xoaaq}dcDw@-KD@WVLBT9K8-hL#;2$9b)E~O*7-Vr0kj1z(!Zv#|NQ>7ccz&0 zhiIkZG-qrbC=Y&!vp4CsUL|77 zvE53~i^giN9ktkAzP)gEvzomOURVp^5#}Lgihp9uRbC=+U2nai7byK%Z?#seK4QDA z@CQEZ&Z}XvBP-e|d_2snBVi%$Oc+lc8etwH=a07fca%`@5e|aeVec#j=Fq#r1dg%F zqI`qNN~7E{__rZ;jl8y_7bUW)xu*FS6ioRfy6JIVdhr9L(wL7LyWz_yE<|S~ZPex_ z&+IC&BIIl4OD~*PLTdtRaHHL7so~W+0T`Q9|Jj8O3LeBF9Lmvc@X15fBki~6{6II&DwNk^ z9G?QMTe)xi#3vl(5^XD`F-wD?oFn8c4<`>~SdnTWwO{0UKUnYbqrD-EgD1uo9k@>uItarUadCuvcB4Gv+4I)Qf$jodgLP)1p^RB^O_ua8|NZ=+WXh03~*F@C5IKa zL^NJ?Qy-EvaANxqKk^IKx2Klnk3SaiQ98u;`7r9gxPh7&dq-uE8d67)Syo&`JA5KG zqPgjPqgI!)%>4$KpQ}Em+o7Xm4taIaevZTaq7rcf0=3NwpT`+HE zxmy4PBoOqc9r>Y2S@@XuOV0B|JS<{%E{M!aqqp_CZlCrq(i_!g?ie zEPY*>@f@lJqn$ExYo}RE0m-lh$UtV;1fPEsvF3OWAYJoHupSWv`GdGXlQ%SkevHqWt$|{n$ungGDW~U? zJ}!grs7Lu@f(o1av$zlSG7gR!E$TYHVo8&uC@djr@d-B)7u)$T!^vT}pIKJc+T89A z+dL>(bAyI+pb2Nbnu!$Y$ z{bW5Z&WejwH*!6+$}$0nggIR;zE0Fid#&+G*!9Y?F}Al0FIYn{keA5EF`|yHjcU5E zUQUlv)7q{d>{S5gtdBlp#D}(AaqW9MFXVq2=}cADLZYqAKk*!#Uo`(Ig+F?Jf1^1V z7c$LQZ~FP2GRnusUO`0U#2fGs`<*^VR~G()S^?80l)aJ46(TU^cr&(VhzS;?!VR-? zIcIAEaPqH?li;qkEeqf~Ox5SgYqkef1kBU4?y@^sF@MJh9&u^^!=H&a28-ZwL0SJ^ zsNF%?Ad<+^eclXH_tjhX-1HnPVw4pJiVaDT-}FJTk>2>#se z_miQT((q!RzC+*QO!8{#7vC81>BVBuIqQcnp3CHv?9IjHH#u~AaB4iayY-^;jH`-% zGk-2?I~iQ(n9)Gn*FJVey;6fCo+{-1+gB- zm)ip<5AuzX&Bu6=74SuOWSv9&A;6PEbd%p8NejRyK2GoDa3sH0CAI&ot{}-e4v5ZI zfbc~3lRcLSByBNRsMPJsYkPq{@Q2S2>Q>Xf9!V21g$$X z@va))IQEt`#XS&eONFgaHLEDO!4DdBqnx?#pbZoh(Qvv~@OIL{n4}AAkrxuy z$Plj`nO&5I1e+4K?W$|Wl-v{6-J<{wCvb_;vXdFoiZzY~&lI*wDu~-U)VMF15Cd=} z4mz^8ta)cjqL3xTgHaw~@7bEl`|IzGSw+a2O-0(E`Y`PB&WPd+aa5m&(0bl>bKJtB zrA)TEC{VNLz)xmM^-fK1B>veQd8slTxh-3YhqHF|L{teaV?RHgg`ZO5kHcvR`A+1e zrB#1I(@8c{6$Z37DUO$(=*`8VRrk+JHzl#}1jTSJmi?&U5jFVdv7}cj(E?KaRzdU2 z9lo)zw=}>cuk$9pob?Mhr}A>Dec&;7apw2w>%#KU*R~(?S5+&-*ZlJ-t{MnlHhfm66_USxsWr>uE(07Wr0IkJ(n+)7WV@D9Xf$6MEib0}rs zy;jNrsZyn6tq)atnT3m)3b%*Lm&ci713;)KC3`0L4GjI zp420)K*Wn}=J1eoGQgP+-g{cK==WTR1N{oRV8YTI1idvA0n)7#Z%tPn%-D83<=hOG zh?K7$%RooAD?45@UXeNXr0P6-We*N6UlK_+5ux2MWLa=#|*G`Ra~(epCjq=mo) z-QzGL-o$8^$DJp+8d9|@O3IaJwo#&y(zozZ+tvv#75dp5KQi(TfzjCn@|_T+R6U=}2uR_rh}E5sq6#_0|58`{=!_ z;ujC+n*F`c&sWRt$&hrJVP>E5Pm5Appyh={bX%_&&b|;QBbG?cRU4mbJ#g|q*<@i3 z_D(J4+npUB@4n~~Zwkgwf%tZx7peB2^TKqWEJb+0X6nUp`3Ck~pC~g&2*ZH{PGNi1 zJNZ0BYRpyUWs1jkOFE+C6Icky40L{|#=t84nWlb}7glZXzz)Sz5ON$vbB{G(x!R0x z@F&_*x>bf;_C%uK8ti#=eIr|vuyTNA>GF-1O{6hg(vFLNCF$g*C$J%lt5@%8nI?vD9i ziw3h(mCpvpb`jK_?-^i0A<`b@<;+Nm+0~!6HYr=R%E5AFP?k)@t8V!KxTyQ8_*(b5 zuJSMsCuga0q#f31*=&arxv&1f197D-0Pt*>%RaBprM{#=SjChPWn*a-D6P@<$m58f zL*;YL%iUPLje__?{mQN&-S|Ep`4z=*GAi8&skI%cvy-M98rp0v*&8`dSAOHe4{(@} z5JBHe4+`0iq#=1~5!V}fICRF8Zh8$$@sKb*VXh=KP}1WH_Iwjl-(aLZ60c@D%poT6 z2HDiKOPX==-FMH1%ig2vZU8#WIo-`kG_cc0xfIewYnpd6cTh2`gbMq> ziS15#bGZO_HW6x=P8im5+;rYPt5Wl0zbEc6%xPa6=$EIQu!Q^LgHV%{Ak4+~=5CEZ ziecY3z}mS%Izb4v^EQxGn65sj)FdI{JL7eAx$iJumEv3TQ8+^Iw)LKeYpLA2Ki`)M z&(rvfY1=YtI%Dy^Js3$MSfq`7&rnjxCbo-X?Z?V+ivjc4WX#|O_hSl z7i~;2BO--%xAwA?S{oJDF|~{IYr}}b@i8|g ziBBeQZugBZ$dh;u!jbjde%Hp->2wtj{%%$`5E;Q9%6y9`}Xl>GyB66aH3sJ9ls*V8fxVhvUD2yV?tPsURRB1o`)BBTVb5oV4L6r!JX2IpZx_#Xr&fjQ0aV}9sAJS z=1zoQ#Ws+-@RLHvPraInQPXtI4HQn%QO_D^DSL!kYQ=ZY;&(AZCFkS(K*cz9T#RTl z=KI?0ol~tuQxnH)MqMT-LrAe!gY3Oph(SKHi+BM&`3>ke}^IHD?as{3v4w;2=afUKUr zflj*IxxJ+phk{Sk?p#H$zH-H0(Z^s?QO-JMC5wbOr`(8x?uwi@q4T+qZO@K^I$`t~zGbc&cA&!)R*yt{=BIR-|dNB`<|*zq6~2&*)%#WBuSH zi8G66+^($sxr-~1m4#Zcuw~eC4(_W$r)>3reEL`QCCbVydrpzuWyr+}Bp-+?w$p#Q zy5agQNlARdB-o7|F~-_z(J_zAi|ZxC>zWL%?)GL0vAmR+AmKeMcia}UEeo}mGc^KV zhEeX&`g%-Y=SqotzpiqZqMQTmC!jGPbJ`#kI~T5dO6VDGxdS7gi8zGXH6#Wja$z4B zbgKJo{g16t`0XXRMd}%(Fa^D$z8XJ8{vyao1ZsxAttx<^Da-$}zNr5zW$y2)9LdF} znZE!pstwhC>Hk*l1^heC2Yg@=@*BOUWBvs=WXHGKV_9q)V@u4=wehw+#BPFo~ov)zQ@Tcx|hNijp`=_n32f_iY0F`9gt7lBE!QD21IZ{*=KP z!8-DdUCb1UkKLji__|7V&Uh_%2>C|1Vyp|xLt>^fuE)5ax3ZS}bZ{1=-YIcqy7Q#2 zx#vmLW`gePgq(RpeJedGx#wYa1b!SCUppJ-WaYJ~EXr{y$6r1fEC>dO`qP?-)#(~Z z+5%uSWM7URXEi-K?)LpT(IxPE8H-qD0K+qc!jqj%GJ_z)9e9`V+AQ*APJM{_E)}?| zYUx6n(dFZ;cEbTg=DT`0AxsEFFaG~lmHj8~OSODr`j;eRE@olI0z)J{>?RKITfZ#V z>QutIhV{pw7@LF<4jcG6Z2h3j2Ll3tscoDgACX?f*IKNhajTV9yGe^@` zXDvK|lN`v&UxTK8E75@@p&AwnyjZrxKObd$!Wculk+{V2q7bD)A*%{9w>+fCcX|{Y zi~&nh45!gIdL{HPul|M93iu~wi=JLv@8~VMz9#+UU-|4$@t{368L@(ARc*UK1=l(s zjkx(Ch*e*EM5IC_V%YZemZ6pahNqMaN!|}`68q!MAd!4bE zH-HJB7K{gvyDP(wgoHqaf2cZqx(l#iz5Hn@opk zezw{%c)%w`J;lc;#s?=9J|K9Ij^>h@J3vG+pAAAxX9d$+u^ik@GzdcmLj^Vnfp(dL zR2FX7cC<3S8RS$;dS~KBeyV!DA7obW93m%&CcNgCvk1M3j&`f%a?yywQNiKyFeUF= z4#U%&bOY+F3&Ah#is*{Ur6Htf(31&__|2w%+Sfb^q`H_*-D`Wbwtgs>ChK~u$vf4d z*Xm3dbCiK-z2JC{0aKB|6+C!+A*w=ApktbcgIzO6>TdY5iPJ*xY*^b*VV?@r0>{!1&6HGv?`!j z-mm65eL0 zw|w`YVd4?|(Whq@ufWP;z}+49Py999$=#6dbgH!&oY_WY2i>>1ALHun96HY|Uf{*H zI$|7&;~1U16mtBTqwX%ydKmZ#!`t92%V5=Hj%a1IbZC-WIr8^yzGh z{*>x@#PZHm6dPjS<*onr^)G7!{{%AmF*O45ZqyV3s(Pubidd$Tu8bj{@uQ z#)mcMLKkIly_AlZ=y;F7V+`fY8Gy>B5?nP8oFm7biM4QrZ!&{1m?O`%JWs%)Pi=k} zI|o@%uoB@IF@rx+cV6xb*0?254z_3QSBMa1nVli9f5Z z{TE=bq%q-$qqy)f%f0qQJu@j)VV{?h)14CXp2h>b`obN9ZLzYcb0O|`!+U{v$kqpU zy2>3J)Vb3=?H?6R6YcPIWuifA94dYcp2!8L%)ESyn&4r^y5z?!sgqp-ctSF%xAQkm@(RHkuo!skgPx%>V`ONq<&SQw zFY&xAF!Q>K4H9Ng+n8(iw{7g2z=frw?gS3r5svDF4=ThCkKx8S%G&0dy-s}ub^U9_wgbyI!BNB!d|=6Bzd;f5rkB2+0AGlHJU ziwlZkVzy&y+BRqUbi6-wl4t26!oHP=c4a3S(1?BhbLl(Wmhf9nPZh@3{&bEGOm;D7 zDW0eDibe)Z&@H)(b6g*}**K_cn1Az-zCSqX2BzL_E*F<#k}PFX=Y(lf?bURP+ljr} zJYA|nl6hb+13-GNR4z8q;k1leO(Cxo)$Fs_+#F=kejUEobM6E6_O739^1^lg+akns zgx=Ya8?7{lhx%@zsrJ`%i$9Ni#+%2D5bquc^xcSlo;QLi_fCzP(nG=x91PK%m@-6d zaPvTX%5OO4Ew`>wJvUw}nxVPF4M`Q+ZX#Hcj~#(451AI>UU|MmJDl+?DQvonQWP9Q2nEJkYY<9p8?x1X@I{w5uxT!-S#)0 z!q~^5oL{)adBSyLtO7>K8b{e-9XiAHueckgAux4wPRHR$?2O>rZa?$QrGv$)ku=p# zLnrC+ub_&H`e0|m`c&WqYC=MiV_8%Y$@a#rZdIs4%A^9HUvaKG6#ZYNek+s?>s)qq zW9a4$t(It=$0S%rWp`wmt+yI0626|&BJA*nj38uAcdb^?D^E0Rp>flY#kxiESRR|E z$#$`oWB*jp~%efIS$+dvDd6~FaKdO&b1%5tyb^lCEekS4@qHuF=lS^;aL zUvQ$*G(hckWB~X?wZtm)FG%aXawOr*Y zY#)z)z^-O$ImM58(xBdw@qFakgj9LsXzd&k`!;-g^R3P-$fx|OW8j>o^>x}$d<7k7 zVW5U$SWRHRyY(QYXKl@r;8;PTb}{v3nSRCKmV+toq5+BtAqqBrGO$4Hp2geddK68) z)UG|d+9F~^3oKy7%YrDj>}^Igff7>z#5wW}Z&_-smxf4=)nYOcnvQYP&f&Da`VL9E z2)zRt6H<7e4V5St4RLPv;xDoaNGDa~gLkyf)h%3Kq36+SjOw56pJ?S_%bvoLbA8R^ zC!V}szmwZ!e-Y$4b-;CwDH?{B6Ig7oJ}t_6nBBlH!>1r&x^6^uxdRi`(N((+0&W7B z4d|4!6<;21Ju8@`kx1-0|F^?UF5b)*&y`bsAH9Qy@`fI_VL_bFpXh$eFN}cSdioOl zzRVx(eq;U2Az2`{2U#u6nBldao7vO1&s3AM_&)%lX z8>#^(xJ?Ve`kAkD z0(4$*Gwl2f}fI8slQnA36{$A%%-I$CpQ6Kz4HUqX7#TM!^Lf+Ro_Q^?%m0CG4I^fCs!*i9P-y5 z$;~c&@eHaum!1l55I7rWOfhe2eN`0cujzvxNOS53?3%S;&utxxvxA z%lCmxaAf;FL9uCi!ADC{$QdRCHVnM>Y`0HsJbMivWtKG(_}>yR{MXn0ACNV0&jwmW zHle%v+utg=-HgzIyK=p+pyPsevWc7SuFse4rgrS)fgcbHUye+;W=gf94j8Y6@nhqr zsRy=PI30pyF9GhiB|MX3A+%;*^_5DPmAA&lgF@f&#wu@9|a0`h*JI|q|DJx zJyc>sr@Hp|N_bv>#-|vl!`yK24QY-TTIA_FpAYR2$;74ovHn9bB!73_k3B8s#CGMKeN00)_Di-^YP~3-K zE(C3npl|twtRZz$9DJZb6b7PLBdVv`4nf{*S(M_S*EeUh_Nq3MQ;X|UVnec)jXWz|g5%MRgFiu^Uv*mwRu8*0;~tUs)wq!RYCP|Ak8=6528h2=Z@JW2 zwEEgNS^2p+)D4f~skK|$%PAFdcURY=%Gd}OY)I3rdK!(c3O@y@Qgm#xwL{AGxy}cs z56>aKgGnQnZUkS@2|V-e45Ja>O|zI^Jn=u4)V&%m_>U_2|GzxsKWRcRo}zg)7hle1 zxKNhOZ+5i#`D!81VbwUXNc^aF4Ag8hT%Q=XNX=eBccHAMjpJOg{wPlN}R-yW8+!rVF2`kRyHu2GaJM1$9*^4bZT-7pQ{+Z5LJbg9N zcPa9Zxq%B!IR79~f4#q8`OZ(9l>10bC*~6{vITZ=?7IJF5-WYR00_c9d)AABb2pPz z7(5OZP8`R3C_=Wow9{q)?UYh&a`+0wFh=n{G52`#eJ{pd6_xz03uZ4?)YOWDY72Fz z%GuXm z^f@LNgmFg?RX`7BpI!_fvkLRnu*c^W<#v5YLeS9mQQ@LOwM8g?>8xeboWbo{I6K&g z`dwXpBnl<21Y-NHTlDuhu87zN@t@TBW6S|U{ZG-uZ=blvlEsvnYeQcU_opNw`XeGj zd@KL~y8QP4Jsx~wo)IIveb*6y>5W;!2uMYb8nX(+3iq>C{hyaw0M9{smWtcmpa(s6 zf5cI-)0{h!8h6YepAss0I3ec$4uHNbBWI1It+O}Pzdbzwa{}w{JO6!)zwa69|M!ot z3xaR5zuPkc05twoQdv?Hz;jtihoxqgS~3u0WGsJolt?PLFEY*@M_h?HzP>z9R{4KN zOZH!H#sB#9f5sG8_hYSasJTyANF>F5k6L(k4m-8fB;<){Slw3fNZ;Hx55&}C9L)SwF)Mq(KfSBKmj2hOm1+4>&Y|HIr{2etL?ZNH&VpvBr!G+2>Ban~R%En1*J3GPnt z;0`Sg!HRocT(@wau@|>EG%p`2ZT!z4yolM;-=Y=J?fI&5D%-MS83%Ui zTA-Zir$zjUx?Tqiny)9@Vn%NSMsO821m514u~+IC zv-#XNi2m*!E3KuZ3Xo{*pZl%?<&-$7@qGkRkP{=t|Fxb9n9cb zqSrJ=W34vAibqA_GhmbhJ$($d#x9p7mWLQwBqg#g>yzeF;VgCO*;!dCGi7YrFW#DF zP>f`#R~T&F@;`Y>|Ci~s9ZLMf^m4*ajJ@lej0yX{v`^W3k#Rrv;?|#0v87oLPj#!O zj8W5bHHr=x0EKt3R6u80tZp>Kf-m^dEO$tnffvIXN4gi@s#7cbGHD?zKe;PF3B`RN zgrnT*rI%c&jR|vgNsT1N>X@Wt-3%~w-a3-1iMSe8lT)(maeBcLjQ^H*Jf}kip{L1c zLMwoZ%K(+IP3N$G5|ZXL znMiE_{FEQkG_rvlLAiF6re3h7zl?M<&WR~=HA{$AYNd(8&`#EJ7^$WS8nY3IDdpxD z;Q3#fA-1&7RlnjLRcfm$2Cpy_4e>247B9TQNDtq9-PC=${!RiTE=we~BH@h@9?u7Q z!zGiZz=kWkdLZWqy5(dPXIqko-W6Om60LhgzLWEdQrG_!eq0GNORTI(@|3#G!Y-?g zL&L`igPM{V3zAX98fO>&0Zg1$3KEcbH~?Vn1C|b$!W0U~sh~U8Btw(Z_+Rzx>XiF| zrMvLb`}&`SN)qa{$rIKUI_K6k=8`Flc$wy=q><~7NKbI;q*6Q@W{xkJah1(k9pANH z=fv`hRAh_}`(RvZ^THEL*R6(&RMd4V4`htoj{1gb8zhfsWq3z4*X@NsPFxCB6(6~K zx5(JsSIgV!r24%^gjzx9&8j(N40+(n$sb|D$D#)@tNhWUDEYSk)!j=4(6GDJyRb2~ zfbP`_9%D9jhl-cYPn;B>Nt?dTvq0+LD#H#^?RoK7xHKcF^)ErbQJ$nOS-?#xjU9?S z@L7%VdF5N3FzGg4I|zM{ndp*fX+*%GA6?;ec0^Nj_e8d0Zn;kNfd-vD?lFF~lWz93 zr&_e-cX;;-x5iG@-b^t9{A*JhcVh2@kwBxXftR8^@{+LX07BaDTsZvJp+=V%H-0`^ zj0d>T)FoLT%Qx>j8$s{tId7j0pK7FeXW>rNCXE$py9x2;7y)Vy z*NP$%QXf{uC(-Leh5u$?z?)PS=fV>)w+(pJ~*WtC3^GBdwHA=*>Ao-auF-L+q`TgM6p z1y!P0G=6trS8_{@Se!4dDFVczu~aHksGj!mVMsEeVQAE*$wx?2b`}wB0uxBdoN&BkaVop~q;Aib>Xd06FrjkSNU!pS6zSSJ#H?J~bAal^!xXBuy!WxF z-pSu|yl9W=mj~{xJ9k?`4*md^9rLu^8eWXm_c@1ytd^S^*9^|4l;Qi@%0 zm3b2%K9>}v+md@eTWG5g67+emo$yJYPR}T$v*ZQ7AN!u@qI_B^!?*74-eNd?#glY; z_RS4Xowr+4){c?xc#l7I@kQXFXOV0E^ETT*aqTICQ`FU!-#fL_5(RY9AuMC*<zKUWp{abF+%_r`@wnc_$^#kjU*p z3#x)G=Lu7h+^EPLctZNMCRWJ)N64W|TDQKmAfpVJh!i2y&U&_|1Y>FK`5I-bVHuDxB6m&1BhC3Z6w)PN#Krg{UXM*UNufZS3? z<8mnc{0f1?4~aH5E}v2~0YXqU2G1{bvX_qyU2mLs3Zl0#+aT~D`jCiD)U%B2VCd1c)KdN!EW-LxoD zPYydPxadz!%AuV<>h|qnv~)4cXwB=eCcnMHT@@eVMEthsj3P!~(oT!6nc0)>z8j%g zVZh}TNBX*3Kxe;1XS+NQh9CX_ROK%~b-o7%rd-d@UC_BQe zFLXN#%lnqtdQX?Db*$)eS8Q_>ey7hCHHx$2z}CHQ;FIW;Kgx@I+pRadDxu$sicJGiGKD?&7L9c{VrY!QMOCaT&*)`F09-#qcp2d`EUnY)~Com%Sx}|FFJWY`5dPLe) zNp(XmCDr8}#MgqB`yGM5_{|d&>9KU+O>&lKC#oI3*(dPEZDpg9A%~aj5fZb`?ib^ZtXZeik+f2Q|&rJl|B>vo*B*E{ekI#Snx@Cq#R~=9_Pu5-sU_T+gCJ#W!r{{XRr$>IkBTp3n8IVCeKXd!MKU{NV5B&ZAG!7|x&hNi-=O*(00VMkQ zwDRwpt;b$VRlXg?VAcQC1tvkOzYFn(Y zW~wkz$b)>^lP}^}!K}xDmVIF958!c^JMHQoVbSyRpZlJ2w)Y(t*<#ej*~=p54vq4- zmwC_LZRLh2O3S1nqp7@8E^a562##)l-ARXMhEPVnG={Gv0=fEU2w3WLf5f^AwLd{l zDY5T<`zvh-XrQLQ$sq3U?_CzF)kG*Hm?@*2l#UwtYXX+t(}q5Cw&-LpfD_Pp#N)u^}3DM1|*j#+izitm+%$B^J@0 zgya-mL9qlpFhsOI?Oz+M6sp#6Mw%Pl=2y<4JcQF#8Wg_I5L=)~gQMkRy(wY~XG;T& zjHZiHP22f2`E=*-_}wsg z$@Ebz(^}wK0$=6U24MDHr?eMxw|} zC}n;ddKyO8lT;0GIDO<0u>i!buF9a7-aH;e?P}3w=gKo3^9d&p8i$mhWB;4T@xO2J z^^dBoj3zwE1lLmD6!RB9lM$9%m2j9!vJg*x>cz+Oy2wnbJlurDi{r(f;jvJYuQ9@TeO%>?SRr4Bp2szz01!0Sx1aY0bv8V$Lu{)?uUfS&6XWlzpNLQj zTk5q?)6Y!3pjcOKPilC{S&u#Q1}}7BRy6#Bf@6OTTc25b9Ws7?(50$8TT_cDP*i{4 zw@-X8>mM;gz`t|)3Di2ufm^SBgx31!O=rJ4?h2(gIoZR{Yn*SO8Ys+zzZ)yihPBfM z7!5?>cX%B)K6{IAmo&oi8N~OxfAU8{RIc%r?DNrwzA-83lHA>W6U-~+ayTn;d;#_@$H z8wxKX6Q|-L#g<_7#g*RGi&*(kyFwRFv=XW!Cc&XMT9aa0_QqDyZ-=~y42m_ec)HRy z1yW67#_G?;EY0OJs+1O};|*FT;10b6f-?xk9u ziDL8_J1u|r>OSET%J4%ZsI-D1yw8Yz7NSe~^{vGzU%TSgm9d@OA%V*+yKJ#rwHKu> zpQ~+T-GkzsA6IQNQ%P{oQpeh>4A#^_c?zOA3Swiv#p5B;b6HFD(#Cjdprkfo=t`en za8Mi@i`lPjrb)YOC2U~>)?vsZ{^eM{!Zma4RUaE(qtgWNU9QGuz1%s=)VhBe%3@it z#*;pnTHL6tD76Zc_6N6&VSv}0x*xE&%(pii9B41NXWb|s zIWSxTeHAw#`-G>1;{7v0_yR&=6P7dJ&?wna!!rg>S+I8YBx-*T{p{Cu&uf_#yY>r| z&?OmhN`}vr(?P7SvHk`#MAC?st5?UP##@%1{(Psp#QJzOvN<*rkvv!gl$LsV;n9AH zvSQ)33pS9NI_gWB$;Gp!ea$W9=Y-K%Vt0G~SY^ei!1IkFjw?_rt%5I3gItVIcIU87 zA+?vH!TGfaiE`&4bV;r*a+Gi>DUq_IfAgiusrwcW8NmndX*$^JpjHgi;zfT;M(@Et zfEjmcohV)AH(zq$t&jAWI*qmw9#tY23}K+JlZG|8aCqMQo|BDP`j3Wj*UjOdjub*+ z9f;8GdXfEOZiT`fj$XACb>5r)Br&FLyloUZ;e3lAB`+@A(S}z_^qYh7XxeNLimyos zGFnu*e56~^w{y$4Ug>ykms^M3xpI7H+;@F^{*m3`f?DJ3baYLDuQ$P}cx<<{@gdl# zl>BhJx0BImJ=#Oz3lHlM#l$*W=_THW6+8<+kGh3;S6li zY2y^e4ik|G%e?&&nnWAIH`0q7;!)_!taD9Y0r3lv z_f5X;Rtv15)RXJlkdNzoZpj)GAogi73yTkt#rXbu<{>_va*@}JDn4y*h@*@oORDP% zEiLjs4*jNOby(zlO069UW$&Z1PP=cl(8i z58e0Fr|>YFUDS1q^&mbI^%^qG`=BXMu^hRJrLTSFuIOs8U|`~aL@G?*5-oUC)l_1q z9bL$xd>qf6w2-lN5H}6Wqqx&gnw4|W8%rNj-0&b8qsT@JEUZ2JtljxsSKvk}CDV3W zIHFT=xe4dZ=OaXTua@i_tPNj;dYqLz%{ZoKtW0qLBx%tG83Tfu1L5_O&9;UEHCWbr zcE?W{EE#&;A0BYZM(Ia-QdSBaZ7M9IP!zMHJ?wP{k=;S0`0@7CY;i?xF+cQdiJxM; z0XyY3)$k!<6j23-Ccq;@^HMh^uZNsFj|E=Lt_ngBJ}`DdbPVMla6^t;#3OWm9dEs+ zrh1iiw;BeYbL+1$!@+Fm$u!+lWj%%m5J}05{b&#T=AVz%Bzx}fwS03#=mO3@*{x|T z@~nDXS-__wMBQJ<{FeLn)v+BFAHAiy*_3=Q;_Yz;1~L5BpkjvQr4X7is|gXj%MjWO zk`=<`h>7J4nHAWvsQj{-gZydj;3Fk}v{a%_6xBlU5Nkd9gDzJ3d}md5T0{h0dq$i?TW++qIjX=ifAxf{#&F$vN}2}x-V_NA;%dyFa4nQ?tPj)@yyT$v zV^M1#hXIXFHMO!0c<^op&#PUVTlR|H9P@*}eTaVzqkbsA`7By|{`F=`vZW$tPCty< z#-+LZnq5D0-Y0ywo!b1&xN079r0S`xcfjB_fv4{d4L_(sTpr9;|vf zw3f$6vc7F@R+Jbz7{zA9*&pfH-nYt?{T(b)odKA0{UzN3DdDZG*yT7&R@60vc863; z{KJQY_W!it01y)LpHPS3ERwXn^=T;4#rN{+EH-dJNxEZ&3wYe*Y_g3eh=mDtJ4Ew3 z+ge@eyc25h%~ta?&)E{oY2}kyjZJeexAOYUb}5{`{S=ms=twq=hP3!HY!qm@CR_M~ z^%eymWp^<_&z11%uivV-C*_;-jKduUdk-s5+IZ&rCoS{l=!|FfwWocE8)8?l1wGTN z_B!c{Q`Bp0B6xh@Kp@76|5O?0rz5j>)huD~nnTh4BJ@QQsFscdS6xoljz@I8wK?$` zO&po6{`0yg^Z}r>W?%=X4PP3$S2M#@V8>V@fj4>LT?FW!_rh+I{SK0Xj4Mn6JAv zuWv3y6W*jTJ71a3O`hM_#q>$5$ejEdZFyXOLbevB5y4K#Db#KtCDm8y0xWHyn&6#o zuyvlX817MeS6LQ0Df&WzllKq6LSl>pvl_p$o|N@d-?0FW65ci5l}~udR##C^ip+f5 ztIfq=_J*xJ{6Kx9+TfsL_cutdJy36;YX*o-XW%U6skR~J^Hu50 zYks_v!AmNyj40-6D5}kshi(|O4l%5!Ii*UWIV>DR3f~iV?OxrE&vEQ6m{qJ2`~f_% z2Ofy9|6qUBB@(#()C3R>!0a!-peaYVc(E@;Yeig^wtf-cEb4j;o@?VjS>>A%20p zds^o&;ulf^Jd2q&Em_QhKjStX~C+xx9DZ1-g;m@E8qNvr97QVLc@ z=A8(-Z@{3A?K?7%(DBswxNki@4CYnyISrN4hDguH6ZQ{Qk#bkt9EymhWJ_~5`nm!9 z$blEnm)>?z-hR94kJkcQuB|6N#}t!&&5=^IIn=FBhEdxXI~kXA_{!!}O7hfNY5899 z*6bh|y!%R*hc0HAH>m#8Z;esUM+dE$MssaOdz(DG$4;PER&#fP{iSSXXG$t)bXj8Z zKUUK+*b(^EAmeP4SWP@H*4wu+SbQ+L#YHvU8^H!`AYvMrxCv{LVI`4e4OTE%x1SMz zLBjGO$e1TSPtXY(L-at@Jy9UFpbqYxY+zXq`e^8N8wtH_ORp#DHe| zb>d>)$5rm`yohw&qU%B$6wP+D|hHNi5)i!gtNQ*&9xHYiy?)AbT#g;X&oKz2hgzS8HDz$oj9$$0N8Z>_#ZH^LLZm_x3Uw z^dowYE*R2Sw17!k#RX~J$#nTX@~lCO64F9mU$+QLc7NR8D&7>I%zjA8c;WS9k%dwA zm+%44E6r-&S3DE3;x9AWQqhy{h<>OB*{r%rv37x*cK8{(g>xXYrCT+m!I>RstyH&E zgW=`N2d}$6!y4;!BBYc%pgO)G59XL+jFk#y2GA7O1Dy+-ajwQE;4c*~xv$aEoo~6u z<2oM)QK`5`%_65%_gxwS>X~<(4c#qo?uc@~6`$YVdc=d2g2IE>@-QxR?s8TL=lldF ziYfTJ>{#SwCpLyl^7UF+OzI{bBAtZZ# zv1>m^>3y?kaSX;?KJ4huCx%~qw@Cr}O+^wmya1(%JS#}l?SeOF;vJa@_lTuF7TSyt z-k0jh#gEKiM$<{f#(zA34>-3JUTXL*WiQ+N-rA|WT(E2L60_18FV;yo zGw`|Cn;SYIeZm2f*3NE_ry8pqhsnQ zo|xT%|0Pz!&6zHzYGB>%*N@U0Y=bmbY-`-qs~J*v&3$q<5ZRZ;sdTiNR6GZfvjk}I@!AA zK>PDi=Lk?@YOHsNal43pNI0)9dy}4{2Z4CIrP|9vM!Qb2!x*AG+fjbs=I-?)jUu7O zDr+0UXB7qszj{|E@g8|ZKiLxvn-s(C8De-V)y03tZ}U_y2J9*tTo__4-GI3K7S3ePb53K3?>K4;%S)@mQPt~zYb!k&*AZ07>T;dQ zXp`=8KwNCSRWKGVb&717VcTb8O2aX4Y3nj^Gn&9=(e&Qa8UInfV>V9MG}6u^)ki;v zp5k0Fl3%_6B8V1ZCcSbL)I87&9%bpI40XA>rZ_r)`;YVPqSBELR4Vx|jy7aiG`oyh z)w=uX3*Z>4Reu0R-IxB=wJ7$1Wk(`yC$d(bBeHjmy#*+hZeE@jL)X5Fm6>%v`UH4c zpzxB9Luq%XV*No%M1g;EJ9}{X3i>ML=Pe%wZfJG(4=>jQYGQTFsw{w~o%ytAA!w0o z+MSxBj#al{Eq=HMPu9e9&3^IvOVUV|R6XI8eC;YlGk)ev`*R(lE&5Jx*73ev& z7}#&rtB!P3=_+9J4?qT5-8sik|Sp=(=yH;g) zgq^pSemZqM@gRp&5ROU*swj;LVzc>rGylY&%`tqpvkV z(kT!oUzgH--jDQK4AxV;V6AZ1cK_IHmDPi_c0xw>+9BiZintQ3K;8Naa$pJ7>}dV! zb`ZZJajzj%(9`9ZbhfIFdCoeDuwyfB2exEZc5+tV3X|D6&0?jBxNh217pTC?iI-hy$!XlYe7tsH_{Yt9&$B@H`?oYv9TS8 zK0O4i?w|(BKLCb!OVx-fl<+LSR2)mRLx;^69fMoD$LO`!NV!E;2`?<>xc1B*KQc!@ zY`EfU-?$fUO>nQoE&h67`B;3Ax+f`)xA6g`xJ5#4rF>x{2Wl5(p z!^V?B*h{3et5h`z&O4)(cgM zhU&p5;&MhsCdb$0&-81E%mzf&y9h+umEPC`qVdo2qXHelR{?_}KrMHJs8Ll6I%`E>v@DUCX83A5*Z40p}0ERR}Fhb_~4TpJJV7 z?5wL#<9{h}&i`&;z&9|lEPJNiYu|3FARp7N9Q4E5I zmeJZ7dCcf!>i`;x(zdj1qqz=r59?j~qPHione7t6nN9qj?kCfz(=1fE>BM#Pt2+;Jk1ppxctbe z0ljlS|3^riE{?td>!i0mHA*)V^dofOyiSCOrn91RY0AiYzF;QeN;ml5vl~n!)?xf{1QzS-T*ZbODh z^wZW)5qH!3EIa@xp14NORt(N{jx@DSWyW@z6s>*_YO1x;Bm@!H*4FYmvym^}*Hc+B zXP)0SYu;hCyO!!R;y?)Ee@;`{5yqCz;p2WCP?36~qj*umpHnw^z?z&`3(-Ab)C42>OHg_ z>6lZQ73;6EGrc_FfJb%D%vBy;eC&E*wBtJb!nuS6HU0B`7uI_S{91pT3?t?i2rg*1 z%oj@Dh>y?QLEv&=wL=%azjdi8anaCN!Huwi>`Ws}XwRxg66BzDtBr&9koVaGkd!B) zt#sL^TlHyqNe1^E2G9!zYeC3jxMSl96`1=up_Z0XB8xwUyNzdf&zhiRGShmW@u5ba z>2mz{+-6pLiJ9vK`Y1}Yk^Q9~x9oFXOS@&NKzwbEw##GZ4LHNRTG)}!84fo%{eZ~q zLIwv7J$naj|418u*>f>9w17$*o&NgM)Mp55-%VFT65kvb-Xkq(gx-W_7ulZg^OXuB zX4Klf87#PqhfB+J!r53C`7Lu1>heUiPFAc_vrCW2Dviw!nB1Wa56gb+TAtT>jnN-J zgn_ouB>h?I&0-4`GG$Ug3`!l*`;h~8y@Jq$wwUGj4S|X3&Bs9hGOrAv1~2}+4)#=S zfujzGC~k0;2ul#$cl3j_dKn1jNsrt(uOTJJs++k}hjb?20l7&-IbE}$+;tY*GpfL# zq7yd*DU|;hM)yNAL_W+;JuyP+ZGxNVIKFO0wFkaowehj*z$;4U(o(SrOU>Myv4s;l zcmDcuWW^nIT>Ga6n@O%3x;()mlh5fxoH9P$ZcuV3C56bJZaJ9!vN=|f!P*_`uZ|0+ zq3$})BmHia=qa9o(+*|NjVo%!Xp6v;V!6LIyqWo1(SdPa{m`QpJ!KZ}x|*4zLdY#2 zBHh60aeZdm#CBZ44TcV5N~<2lDsw7VKEmrLX;zf3o#1)eb6F#|EPq(6rQY8^PD+Vig~^C8WBbSU%^h#I47OGpO8nK8*aT}0AjOSmwFzWUspzqJ_IJH_uv zuoFTP?6f<4uC3M1eHOc8OISmtLIFW-%F4Mli1f8sOq$6E6hOq0TW1W7v&`fa9I;KW zr3CTxtcZ<^1VCRs4ikUdaTJY1-OskK*>|^5wm=1OtKn`eGdoj7VmNNDZm~UtIv{DK zzASIuj0GJJCg#OXLsqlAIKIeg?mCaLcgzZ_q^mZWL_=};KLHotwQq)-d=#YxekVE* zvCVk*n|2q>5V1Xl)*Y0+nnqjcw|n;%2;3p!BOldm0jK-ullS)rh#CJl6>ZBg@3sy+ zvjz2kst8&oMN0+hTKy*mrLdW>4(##~L%4ZWk2+gl)9=OtZNg#QH60M;C>38t{ zBNs^`@I*4(>b|7Pbe_$Gxn~o(iW3NR$*wm)fBg>GM|FHNx7fYp2;rOts(&|p;_E(eYjP|6Gc|DX zpru{GY;;#O<0jH+AT$ir^+=XG*Mr6;Svm|S+(qEo_OEw^T}Ka+uU@MNroLqFBDl&C z=|iVnbu;`TvEMld@QhOP?o#d~A+T?UU-y3qPbv%|sm|-_p));ByQuSXMK?I?(LJ7Y z#o^O}8nR1lp9(Q?Yf8Oexq(Sly4hVq6UEC?iuC!L9MAeYYESed?qLEUwPs!z)ie#? z+It)uzR(xwxl=MR&KslmyBE8~;Sh7PI?od8qSnul9zAn`__hHWSzvHn%G&j_`l!+P z*=x`b#SI_@ol#nO)kvROzd#1BNX+>4;e5eKiL>}f!lRN{FVAGMlV_ZlCR9MAU_ zvcFF*Ki@WamGKBRdU1rO6Y1kGT*s^*|&U7?X?bem}1(BcN+e z81{~jC$;Mjm0aXA9Pj}{rJDNoOENqoM=$` zD?$7z`yW0|kBC?)I+`MkGp>Q%e;K^~@<3ZE50%xkEK;I4&vR1kSiV}fbE$R4py8wm zc#HAO>Fogl+^s%yl!L9nfvonGiHaH5KozeIxm_;bpvhMPLpH2q=2Q@8Nw3TzS&c1{ zm9H^&*1|e)_S_$UpL$8dGV(wD`++Ww>Nd&+as!Ed;3WGpV5`_OhZ(@G$0cF*Ms6a5 zi`CW5$&6FK}pt1#m~a*|Cw0tH^sRj}gVC1gW})%U!FN@7E;8cWh^SrmLQWX~0ViY2q-s ziwU;(yd0|9k3>DG!eyU>=f*=Bvfh7q`rii`BU)~Y5oXcxVNc|dh9-+RF^IU~__2I! ziyfnfb~5mVX4RXybzkTKzzN`vmIX>Er?>f6Wed=8-L@~{3y>|b`RfZ|jVyZ%t^;y< zN^85BCeMU_bOC~(k||mTS&>9_aor2Odd~fk$*fxT=p8PpS(tukS(yIo05mJwN1h4$ zdcVw@tU3$20evW_<_Tb!VvzpqDaKz8Z7-&h&ym*fY7)_=ufx(j;>4n*mUr*w;E7d6 zSnc$JKj3TcJ45mb5p8=RLivl>%uRnM0nj|p8E0$EkV1l&a@UKS`|lznL|gGtPUcwv z0QxjQ>+c-Pf07pdrw{*Y+SEDs`Z`hA)jdZBbU63_0~jzr>&&bp==D97u=z(#lm&TT z^uSdQ4NTyTGwQb+WRTTp^uf7)2fZ1 zw7`sO=B1oS{C5?io1R+w)=gkk83Tkh{(N2*lP;e((_HzXP^Z*|?59{d_77`2k(g7; zy17FnINYL320blq{i*O5a;FtKrIzpQd$Z{p)%QcrqAj}oqNBc33jDTl_|%R4dXDki z+H^Vo8y(W6#?>)nCit7PB{Zu~Pi{bUG6za7ulsZ-NwxGD+)0sJb%RSH@~|5C($CqF zGp3fN>-_8w_lE;0SM6X3n7Jxs%FJi)cx=|iX-i`T>csUfjSJynHPXXd-qdg6NFpYV zi^(h63INb2I*V+tHzCZnjE~Qck3V>5Wmlkh>SPqb9d;Z)hcD5xuw0$hngdBLTX_HW zHN_LtgFoix5QmvX%=_}fM*Q}>4lS?&RYcmyPY5fm@r@Ksy{qXS3KK)Kl-3hW|0Q*2 zvCc#SNj+vVp~CRINQBbM3ME2KYOY}e+cb~eTKe<-5p|E3`ipmyJ`o@~l2C!KN?hhb z8;oArR?Z`$lT zcwV@;NL*o5b&zhKM1Qo9-%>8u1PMqXVoW#9^i-Co(0=$mp~PA){M)EnZYleEo@(a9 zIkyqEXNfC5u2C;@@@g|fxkpUB(c1_QDyayUSd}~U_74q<>Cp~8?;!s6qGbH_SMY6> z@6GNNd{+I=rEW1ZzR{x-_RpV=UGX=f(g`TEKw5qOAKtcak~oxH4<`v53D`C6N9lk6 z>zl_P@P0mcClVTqek+K@<($kQ=|ZQo{6;$6woVQh{Q(yHr%~6uuyOgkoUc?@*dR5S z&v676-=hwg0$*53^_~bqt$AZ6KC@~~PnfLcRK-{E_gZ3y)KMz*3M|Oj3Qy4c3hac*7Z-Ng*mxp5J!TzogC{7^Jv7a$Hxgx);Qk%( zqu6=%@X8bg@%S6yBl=lEQTmgbJD$I|9%ZvA`S8tG3}&s7PPU{RxOmR*O*H!Xzz3k~ z#C+BZCs07>Gm?43xSW(eby!wLGjY1b7MPav8iRGItXF5DHj(iA%2L5o-%*km6=7F_ zb=XDqq-$lAX36O9V=?Wf?Cm5JZ}E0#)pz?sdJbBC# zJZkl`1y0A`mr0EMTe{^YJ%PQbfODUqp$GNpyM_GwmReP{``Rm!htceR9K`uar{o;OU}uat1JJTH|7(H=|$Otm1R!cBJ0*80-Xb<{Dm*x@N5?K=(W) zFO*`2j(`>UNZ^@}KZY|pTvyCBz#zHSYQjSDOW%ysi4yvOu!W|YUjqV~rXwxkfko75 zUu}9P+VQd+E-|yDIcOg_xPd<>@A(IC$Wkl-?2AH77K!nfAg5w&r4`ry062K$O-ntz zgYA4)u|AxYsM+RjE$n6@w(d&e!B%N}=aYlN>pDl$Sl~<05Yb!_JxSE8qpPg=j11Nc<*psWH|#zJ^Gr-BO09R*^6MjM+CMFDn?h^N#UPU z!+xumg%>kI3&h&jd1P6HC@#CD22;oZ01Nc}?L7*Y*^fD@WM5143D6l$#!b@4JYU5rI~XDqIJ#uZ6m} zrz))J5>qEBwVRw@S!i^v3VPy2G&nZ!jBa4Ww%^PYNxo!tWl>D+y%a(uozw6Fgk(iD z$Jcyw4p(%;JKD8@5niMG$?2nHnJg4NIO}wt8z_ZG#(5FRi;>tbTr(h`?OI{eU^ZFp z)kfizvzHGIRfFsZAo5Fdy)ZEwm*Nn+I8|Qi%a&rLOacYxS$X-u)m}*|*-J}xPHD`5MKM=D1~3LWADVtE9L% zT(x~1D5W0ObU;;NTP1H-^EM;;>i(tB{32B=!`?I{egiA3L+7rqRP%;gUPgw_M!$dO zcj?&no)Ra!pO`mAe*m$@A2!<0dBmi&%O{Y3086qV%hr0!H)?`%uyQ#eX=~M@C9bw5_T&uU zk+o|Up(r0_vL9bq*ufS3gO3>H_M5&!CMjD*`I@fTDsJSVqLfwktNib7Rj7$~k)8`6 zQy9Y_aJ$L>0DZ9zT(ZE%23@G#N?%l+pS*wQ`j(lq`+O9Vnvl(KX&j{RErtG=65n5} zhJ(qqHj{xNbL59vGsS##&;W(~055(3IArD(fcjZYy8}gQU5Nu-8QiJ@_S#m3rP=>E zluP{miCgf8#>U3mDPKp^tC2dHwUj{)%}>)933HB$vLNmy?Y7%jgSde7>)3j+8^^JY zoA(YvrEB;e2+F=o5FR_-%1HaXG%>@>)5HUAGXxKvaXXy@+nA0H7AMWa!TE$fJ~q4q zq?}qJC&#-t)xc+{Qe~M=h$C=2VELSL>m)IzDqo!k>)EmGyZu?xY13|vFlD0!Wb3Si zXyc%zyM_Dkt*GqDW1Y-VC+7;{*Ja^n-LHDJTjV6oWY7pj5sp$=#ZDejXW(9*E|Q4) zoI;TNdn(7inwDIo?@i_uPikVo;rnfhU7`UqBbeG)ya zn|E2OQZ9>(C2nIiAj6#1*sSD#yHWk(kvED6seJW%GDK=u@z-nQ`4`-bSK(Sai{2Rz z5Z5rlt4)Vwxup+JPu70~xg!OrIW#V_x@s*WcRUDoid<&A?-_jZ6A8Ht2{uchr-DxJ zb%&V#Mfi@PF23>l4*(72^)FF&;M=S4fc_BX@73@Ja9;*LzZH3)o~NZfqL!#@ovy;c z4rWly^L;5Svqzj^1Nmu*k&!OUHcz-E5Mr|sW>vXOO%@}~>kmU40M%0swgez4kTv^) z1flPck=Fjr3(82`^^o7E&%GRposg091LEjN_7F&@4U*kC?!nB6vtvc+%k)s2z#z@=B*AA4$&%Nd!%HE7D zDZDZl#BPMl9#_{2dcr0pthbyQ&{kQ~5L_Ekkd))$s`mFj*cWv$HcuS{eqbp%-Rd(^ zR2URK{DcM|D+<7wA-!7EWT8UTWJ6}Pq&uj(ah0C~KCoFZR2d1fNNtz`XQ*eP=*rh{-pY#pyt`iQ0bzOd-qgkvt?^7+yc$A5`RJsdpe%l`iWFS8!xc zPNJRbU9(+fz2OHJkMB7?0STq%^t$GI2~+pDMhD&NwCEjvhG)J{ z*%Xi>y%$XeXKwyT5_2wxZ(UXLS7|tXX4ckIb?-65xbna&o@N!TBJh2flEUepPaioZ ziRw))O_bec2f$ifj?5CE%!_57bt@wy6OPkI7Z`44LUt?_1aa+O64`%A{7HU##qHYMWO#Zk02#}#a^(Q2S^U0_8T;b6Q;>88gV7vw zhpV{zmXbN3NjXk=358n7U%SBYEGZ27aEc^2ZWPOP0;865MkN9Q+(`aqx!VjuqgD0s zaDl)I880-Xm+MmiqvlK0b!uNBEKEs!Lq( z-F=9}^!U3DchaW_bSWrm#XuC!q?CF{jC?P$Z*beoS#-#sLXEHFju z@}KRw3mA$_UA_&gK15h>tP=2s{@y3Hf+{i&!@l`+2|bUECs+rq1oE@~9yb^c7AZ>L zwN+hc+yxeXlm*&ZGo7`USE@Z|zla;%xa~Mm``7cS1$QIA$F4c{(s6q^&w|C=EV$O^ zz-4IFsQc93u7R7lxIUJ1AB$7EhA1ZW=O4Irz z-3fs3e(<2pEi>;Q@wAUUdOf69>dp;AtOM&N?y6sU%FH!ua;;5${IXHH`J&o9b@X-l z1DC;T8UNBJu{$2YSf3jD1PpuY=m_T`CU$@nYShjZ%cZchi=fw{L1!CMLp%YKnSq;S z>J=5Pxy%-K^;(dno2%uowFa zLm7QXdfET=d`+Nw+Dxs}ai=LdzZd)z*1<^a-vpjo^;nWBq7ONh}qhl%_A}LX0SLM#n)hDR)#x_G%wWF@ofAsyeW|2q7{Uu2Mo%mM~qV zm^fBR!v5KEo356p!`=Aqi}C&yS(z=1b6RnFYE;Mjq~A2S&e958^j!7B^+cO3Sd)4M zd^y<@=7RbWPDJJwlI7MdEvBRHh%E+Q`>|k##Lk(31YsL86n7XJW01hUBk!-e*gsWg zyz7Ooh@>z|8`MD_lQ&q+U9rr*lal4DL9AO{Fs7pR++YFKCp4VNO!#A#{7=4+1XWbj zq)LbrU_5dWzub}vW2Z?i_%r##RqAuv!t~gFK`T0kO05^#td`)|qhTGix4xQTH?Z5Z z|4>zMd(+%_O53cgVIY=7awfG5Fg?lQE4$hkcDw>S4XBc%+oyKO@@m9`72y1UA^ zmBJqeH-bALU|ai(plY1M#nRkDb2v~S1}R4`f@syrahJ3ufM78oY;nHi#S2WLQ#mz- zTt-u9ip|Yj>`a}Nfs@b7{wi$lYKFa|T5Mr+5dTJ`xaK96;gSURUcUHr+ol&qmj5v8@2sZ6>hFCoid%9Dk{lCoJ|(&~mwPT3nM5NLTh#hZS~>0uV!@_{7}}7_69#KO!^x6m439 z4Lwqt`eP{NyKzJ#shop?Vu8tz5hRlB;ntzVIkj>Ero+R2FCBz$FEHFyq7aLc10!Io z;x0{H`-IEW2}o0b@axJ-f-V}?GQtErl%!aAhgUt}4cr=axM(20@9r)8wvf~}snnDW zK`1QVmo5}Gl-QGu2u}sU=643pHZyR-=9E%exOMH;%)BQIr5W!D zom#J!Lgx@X=Sr=3q{QJZzieh(!otP6y~)BewBHk!aN|hri!j{~hORv0xxxWLCTy(5fsS9n}bbZgd!8x4vcO;TK~oF~tf z3b6pMe)U8z$<=O@la;Hbl=hhOtlIQ}A|5C_4UuLc-90sf7T2n2#Gl%FhHNygYf;hzIY5TY_WpBs{rLxu0W${ODf=G25|GKfC@wp%$tYjB^fu~} zlS`Y<=%ypIB{OFFX*Db9la&DK3=C_lbtvuFn4eiXMe9k}J{`;^lk2{}N#cX`rwXCX z@@*io<96?|(`1DUWT7F!n<%W{gLU6e!tL2(1#2ns%L|-RODQ?>1G=i1?qNZ*;$&Yz zL7iA5N6BJ&WNO>NBRl{*S%qi_rMz*?5qXoAe(Ain z)~gqr7SCidSj-ydbi8FfM)Jp~#ledOQrBSGxE-QY(vm5lrJ*gFdhYEr*%akOq3h0} zRh_}kQnt?a;@3Vbd~Wi=413t=4WVWy_l(q6)ihlncF(4cM?(z9*+q{SvlGNzJzDHQ120m@KB?eU3v72atx=_POh#M zXB$H4=OwDq67jX4sFeJq60PVSN!1PTugBH5UT2>L0M4QYx!*%xpR0rpHOV&lp+f|tGdNaeWI%v%Xelv6dTlk?)&6@2 z4&Qlq?HYSU6PJy#qJmwssu2Q%)|{$(B#2Z+6)Xl7LdGJkGF(F6c83u2okvxH2jcu`HJu;g2OJCk(7i z_a*%tqK9vUef2I-l=JO_XV8j$*%79aiXAc$Gvecj)H&easl2&tJ7YMp+&Iw&N!)AKWTKKASj9-FW@^_#vjVcp%#wj3^x zF}jHE2@7q)sP@I*sSZILS#1`dp091#Ld$#Urv>q5^@m+&D-+M!ysFTOZ*Ha$7uu^u ztW1$maK@*lZkOeilP!2EM0R*fcBi4F6~>WNMoz=&E95a}h|(o+lBbss4+leJ#kVW* zChvdhd8;HhQ0N>OQeuCm2_2pKHbkGYHrpqbh7$}VCC->E%E>3Iikd|UyXb!kErW%K zO6L&?$!n#nKUlBFSI{uzB3D{EiCS>ZYbeE)^_lW)sONk+Y7Er4dTAsO3fFlg$lg^> zeI-06`h{E_y4fEZx@ZHejqCuf{1JiY%p=ZILF}(1cU8f(GIUZR`K+y6LvyisTx)CI z(Y;7r_CPXy!;yl9K|<^`KacMPDGAMP#{%l#r?9qky@e$RZ-C1i?==iFIg-u_&C&r8 zMs*_r!dQQlV4}@rRbvK1Rn9erY(X_JPaI1?aOh*QUS^?8E%us$XMrPwkH3ujOq@QQ zQ%NnEro;K56+B1th`_1o;W@)qpq*r4)_#_E`z3Sdb@P|N(Mo=%M-B=Ra`cXvyo)b{ ztEpgvLw?r!6Op=>g+0|?hw{75I}nGVHeJe7Q@-z4;E)q|P9G`w)HIDd#rmr+v61Fn zl(qEyq3?OijcM;hRQLvQ`zky1)o*5(SP+ifVN32g+ zlt;|))u)PYOK}4Q)vh~k-gg(-y~j9u>``F}^4nD)wwe-BIT{a$Z||{~XD{O=Ma_Hl z)Vm|4HQ`h{*W|flgjbsEjbYT2n|K>9jT)WX@>VdP^_So*mmukR%(V;m-TK${1USA* zLG+M{{hke*QEu}hqwQzN*Acag&^h6f(y~kmq@*jxcyn4iZe9VTCVTWG<~IWKfR@3aZAU%j)yG0Lc-Bw_q)X>c zLexRXoeVB$-faOFf(x5{A7BCuE)FVeY*^fX9LX(hnb^;~av1#!gV6EL@2vlQSo~7R zg%ea4u;zFQO*>J%;>{R{X%JGjU?df@9o*iaIabs#31SpVZvzCWq)TnNb8$Hd{OD^U$E z8R*X&X>iq*isl7y}obd7@SMVtL0ax(nuVA4tW6=<~M5V?G8$W^|B)&@6-Os5!Qnn51-C| zv3C;}7OPZd=x3C*#yFhLf{~Pl<&*z(_lCJ9dDTshZP8>1wuBElsx+PAZP9D$B|dkt z9nas8?>!xZt?yo81CHdrG!%&oE3)amG0b;oY|JN*^l-eaZ^*jU#!6mMZndxCT(_(2 zSpbY^AgV4-N5y`YUJJVh6%Cl#qIw(HPPECr#M#^2M< zpi~_qrBWhGVzpc_0ZcL;m$&5GbkRkF@=p3bHcP*tW!Uv}k-AUOPSfl3Q<>^eFC!>l zJr-)AEYFZ-DP<5gT*5fn!We#<$mHBDen$1OZ)xVs?_=bjDd&1OaYw)@em>8u3^p6} ztlKxF!xoeWn5aL`H0+JIA19m81>WIf2Ew8 zuzPd=wAs4fYbP$Eg+5P^&@jXK;?R!e$@sm%NF|xT7@Hm1nan+u)1aTx^UGM>6j({J zkkrB%5m|Ras(@NMP60$lN0A-I(CO8|276Bo6CLD23%Tbi^`jU>U>{tHhotMNoF{${ z!B-^8SFkOX5N}6l>i8&ET?+V-icZ{q#r^nVuxQ!Q`TOUN-2y>J=NrZ9V};0pm3P}~ zj-prBaxL`!`{JsNth47{mpcu8`q~+FLY}r}3)jyRM*%OWQzTWaq<#tF)_YPt0wy|F zZ}hJf6nT|QnZ>s3GA5cwLDWKpFNa!e8Sdv{5-$4bF2*(ji&Og36S`BOVtp>H_1E2< z?lBwlV+ljfN%o!9%dhH zL7_5t0K5*M=EJ1x2n>bFdu#Nt@+DHxgoUR~k{RToz0bt4i`i!au3y0wl&1ThKWOq)<3t3CX3Zn(V5R3(a^!(hbU1fr*+r$6Wf6Z z0g2-L(A@O2p8mSMz&(vS8NL;IrHcBJAc>4Dm!W$7_l1Wg6{KF}x7AX=l{$69&}ouY zrwW~5Lb!>oa#9qfcJrws=b4gR=z>2A%Lw}o)$#K|^cpjOCMQ3n1oC^E6pz(UglFy& z1NQ*_+xc=g8MXNz6<7bWTfYj2sGj3jLVz|fQ|FIis*rzEH$A;>vq6)WbxI2URbAvi zi1+w2kU5Make*@r4<5K?ZRrUMtd_D{4*=ngPT0TpR$R<37o4nig8<`z(V!9eZ8He9 z@FoLBGmL?*kMW74`135`qias;i0@R}lpaUv)e8722Pw?INXljRYZ`b-^vj(C?!C0L zkRRA83_F;XPvL{s;F*h<*?qSyx1teDV<;uI!cGq%noQztmQ4RT0p|}bEiJ|yu#C&$ zhQ4O>DnVQUDGCu;1K>gWl1cKuXfAUXXb>|Lodp{V=QuBVA+&B=yc0oW?)4eR`gEyoh`AH zYLG8)Z!6uW-`X@PleRt1x{$X=m&!f3LLDhU%y9=9%mY11p>)LgCf)ZIC5os=eS5kU zAgX{%>N(*9%QteCd*y_s08q|WL!!_klItrX3EnxXXqYQ z?MXv+9wE^etBuN9C>4#xQiQaqu0dpkM0`w@cdk7&4VF>r#O^a0#@74KM%2F(Xv&a~ zV4BO(Fr>L8vQ=*Z%-R`*oAOx_P93th$X#A()`)()CdNLD22w6Tzov@gW^d(npw8TJ z?|G##rm-TNgyn`1u46u*_s-i!?8cGu{F7yJPDzt}BBH?~^Bn67XM&@+8zeR=-=uyp zY4w*YmU?99?7N{}u~x;Ta8m857z&W{E9iGK?&J0%%qfF1vj5GE^X31O-OKym7;`?+ zI-m`#^aNEWUF9CMe>*3l_`2q-LlE@T+jIFwq(tgi)2v@wAP1Iqx=Lh8$nb2T z!ln=yQ2iYPg!inmrXZ}rFPz!CWP=-5&My{$G~xHyl$q5OM|p;k zk&pEE^b&Izd)q@jzijEXM4h{L;(R|dhYDY!1? zG$}Rc9(Lv8n4nt4Gr*{xJ99~9(9LMtLy2U(x1+3w_>F+OJ;Lf2Sl|g<;-ai&h8DsD zK{o{o9U=S@@maQ);!isOXzwpvyx)=4sH56q1OCn<_Ufq~fWgXsPx9>MSj!HNSSn$1 z|71pjy~x{}BhC21LeZmU(LkkMuJbQ|^68xl1Hqp2g$B7yovFDA3hhwSbo%u!`80Ml z@aNFi@W4>cm1CXR3KdB{>fJs;Xe&^ZNw+j2AtBw?bqjOxePF$uq!e*Ngu0hm!P5uA zos+9d!u{L?xpAvQR8zlZnuXC>c0jKwze>Z_`D69>TPK|$K^Por_(b=f&#wFqo`wd7p9y zB3De!8fY^J9MG62VVyO?m@G2726|6MOx*Yx@slmBR-V)ony2SrZ!Z33!A9NHZ&?my zB`0)k#tTEn2wrmt@^?bTvD9Gm-CW|#Xh$wd@OROs+Uw@J8Y0(vkeFB5a&e-AMr4KZ zrCxZ4dl=E&u;4;EZsLk|B3Ewk(m9uEqWFg0vG&vH4ky8@6npsfSro7oW!oVXN`y8} zqYIybU0UI*9ujVFAa&zDLI;vnJXEaF@aR885&!C;;4>d}kECzLd1! z()Na#_tCi7o>TfrOXq>fINHVhWFHL)e;H7#7er@C;zwZ=Y>aFgRq^2Vsx@=aeG*M2 zF|kgM*n2u4JRuyntC|>NAO*d+`|fQWPzDr>C<;JW-MCV7@i%xTKd_|E%3_esqLLP# z^nw1!s*ZtwOgFn#x*-`7JYrtAjF6G_5)a?91RiW@1EHbiF7#45gMHDRXu35 zw4}02JorUAA+kHmW3bPwS3L~yp;e){E{P{RNU4O69Rr3k3}n-T`*oAj<+zEKM_NCN zHM%$@AD(3Ib{r=U_(pnYrhSg)Y2sWi#NQ1CLlnGoOqawA)=Lczfi_Ki?bqIRLA4-K z>W#{sVGn11ORB(85uvXMZJ=3w%uC*aPxs7@E=Q) z)(-?5;FPNb_LS-FDl0>hx|e3kDiJrs4R8nHAr-jYR{Gg{gWRI}zPoE;9<)17y;!p7 zXYoE)h!4|>iiNu-8UaWHj2NjROY2FfSaMx=!kw%A;b>^utxco4_Tszy9xWoRCGJTc zArBW!X9aYGt0fV?aPZA_yuObKzCr+5L7Ex_)3D8!|IzU*{)0g@Hm5Ka^^vI7>y|;5v! z>3?!4LdW$M3nZ_)iBpj!)%i?u@&ZG%froN%RfoZyhSN`frYiYF3HxZbxvj+IG6*QNF-sl7Kjmpq5e!(7T zOYDr6bSP9Ix_2=b8eh>~6DretAc8P|L9VXDIfX#mEXflyGpAi<$v_XZsmZ4GDtJO% zdOiJtzW?Lva6x+IsvE##(jM^n{TmJRUrtcX{g7GwM zT1q6=wA^v}qqc`$Q>wc*M54K20~#s$bD9yKdhvyy=Z7X#cUpIJIytUG{oT%pkWazY zeLRf|^p=ySaeYT4osQb0+IPZc@;al?7j@+OW~QVk^Z;msAwBV1*{RqbsemXZFilVi za&v{MqO5+A6f8QT*j#gkV6fyL_M(i}psiI3r!WN{) z86aKhHBO_lYz>B3^A$Nhc2;EbZUrfzf%8P<^e6L@2hlsI*pr_+DbrZ_x(%HE4v>GRu_{(YzDY(1XMrw!W&z;m#& z8I~cxvZdGL&91=&FV03V(Xpxo*Oh^!W*(bDiVPG50?Dus0l~}b^QP5_cN@;t`Jdx? zRKoSeu*!Pi?H0^^>kMyly#zQLF*eT^S)$xIgJysUH;{UK9YW=z_9layRu1K3o^@@k3&$Du z2~?3DUN2W;TeJ+qrQ(d~pq6ppDNmw=`I@FO-`JJD`kBxD7X}mCtC8-5HXwe+vVQBU zxkz8>&sh77C5&{_0)4Gx)EniALhC7#r5Kr}VLkX3yGVSN?EdYNFqI?Q_pfc&{9ky2 zdn0cFxqaH;;FUcf{&eyg0+}RIg~e>rUwZYG591zl1;c=ucd<(4AgjyrNMCvkTlsr3 zoBqILuL`G);3)%f6ot!2GMZ{v!t(_41Jyvrirl0t9(C9EadRkgDhPzc4-8J4{Pj3y z#KCbsajoscumqD(lzdClnSbvB_!z_jozWi~Gq%0y09%4s-Gom`R#hSno~-6~u2cm~ zeyGvXF^e5w<~wtl7Z!{9IhK8-Iir>1>c=Gg6(XE4lnLGxD`5~PQ`8Ewmn@JM>vEq6 zN{i(2y>_Jwm1f@9&ceBC2_O4?C%66V*PKa$uB8wNWh=*1K)AuzT(ib^^Z2AbaQJKs z@yhV`(O(!e8Y=`An%AP)&9=gc*^1-=B4n+WZ&Ws{oF+r3vC5~ZyvaKCrG8IZz`2?m zUfR#Yb=mC1z!WPH3ZRuK!bYIj65~f1jB{nzpU!BdX zm?@7RWmvw^ZydV`P_3Kw!J7$W{_U*@&)ao(Jnb>a_iv~KGP8CHHA3|DeN1s>T)Y@4 z&PssW#K92h@WKXBKFywYr(2`x;xvZaZ`^xD8LqGGtR*5n3@2H~PoSU*g8G|y%SiMN z{t0s7nyw!>?{?YR3WPAMmz3>RzfD{}@jfx69O!(`7H(#HAw>ZX7#9%fexOV1iSB`= zy**`ZpYAvFzI3V-_$*wN`Y$*5!*Xr+hWw^jsgxi+&V|st5B8m22gS?E8anb>I_PTy zTNgg{Nyu|>)C`N)A(r0u(M;*`gK*c1y#=Cg1?3uXCiVnO(&YShs>#yK>e-X$q)$hy ztG#$CFTF!fRL<+Bp<;W51aC-wYdL!gS4w`@l^^2++Hf=rd+cAaobvWSJCRr~Zv2FnQI^8B zzem?Q#oG1Kk5M^yRnk!WyS@~dgkWOj&qwpZ_flWj0ck5jgK{zqXa{HMFd~+Y2yc&< zS=km6!aFsG(s2|8x^c$Px2Diwo(rMH%Bod5Q6Mofo%Wp zVXPK+X<37bM6#HHho~J>fk*qz)?v9h@ahV2xfLjt(CBMH3|v$9Jxz^qpM`sYsFC1Y zZz;I^BCh3*3~PlvTh*wZT0Yw5H+^ROea>6C8~9gStg5W6{-a4td_&!nYC@0f?{XZ+ zInkXbc!cO^M7JD|{+B~vz0vy>ysYFp2a~;3aOW!YSig_ISqp2PJq!nl7N`o|l$`EJ z-32*Fyxjo6je{&3ZELk8G)3rwCGBE?q^d23a0j`Ze9HIj5WenIdAmNk1|zbe*i6)aA^XV#<#C`=zF` z60E4w`Rd3$PxnQY%uxd02MQqlvH&YVAYEP z+&z@oESkxwx(AiDe`R0B>Y3N zndVgfDs1oL4J*o8BIU&am?h}-^0*bDgQ0c$veofbljl>Q>3RHuuY6&q1bKh-S>H8IYA=o{myzJB!=Mq$(amFNRg_Zy+~>k_GDj>C= zRzXT(yY0c= znVBLWb@!PdP)0oCL8&ymQ%4!Ak}=R%Iif*7jgl=sJ}*psVp=phQW95e({e8gjaoDc zaJ|0bI89@w6prt6t#X_zdwc728S>*Q9Sb=n0MhrC9X@-^7;b9#G>>QLRaa+))OA7S zhXXgMJ&4Y}|0XFKY>8!f-qhu-rxaGvK%02bh{w5ZV9D_M%W|A{OjjwXP~bjaqazEH zVRyFifWILulcu9h&LY`j;Z>Te(tE{R)&VDXQC=%r25|=nr`e%??%afua3a&7VNfk+ z;Qo9?N*Ii9^oGYmJ7!c~p9zq+1_6G`f!$HIQJ6TP=q`?rH&bD(T3~{j+4skorJHH> zfu)%#J05Kjd^DKhz8qsh7bnlw`Ikq;TIpkIg+0K9rBd2WU>~ihZFVU}uYF|EF}e13 zpKYIENRKpCH_9;^Xva=q8k>tY;vgox{gy3nXsq9T~U5>IRgUx5u5L5x!W^8rU=K zcUv`1ckkgG8pzdq7FSr&t~uRFV!}Km%ky#8PI1{)3~-dDXbn|-Q)2Zz@@&yDr`z%S zHD2XN<=&?>*ZQLRq|jshjibO|Lx0A`-93YM-j?zO!dZXTrK`+d>6dXU&MF@D8NQqo z>&T1AYD>TiIS@nzQHSVdbB9P$pguCWwrl`Af~tt7rg61;t8Ii)mq6A+PK&`hh>JBpxTA1#r> z&n+2&Gj&mqHC*Q2Q24T#Ra*3(eRLW!UfO&>@Z`?Ta|@&zE+9}npX&+`7Z5kvifmN(OQhNt%b5+~-_M1Bwm zUB24g1DzzTK&b~A(4dG4)@+cZhC>3dk@S$HB)a@0GRj2Sr@Gc7E~sd^BB?KWlg@RT zx^rTM+=xohdxnRHM|`SEsb+;oczG^?>`fFxV1);#R9a0w8jsl%oU!TE^jK1AMoNuu zbiKZNfp(HCXt{es*S`Bzc`=J=-tkqcZ{HUf#xPcegjRa!(fu81NrCt-e^jVr+42KR zLvWROY-2HMYOuHWu~?*UhkNUn`MRkOV?yoGp9(`0nUcjM#EhrZOa2gtjs`raRqM;C z-i1xyKUe!YaLfi2h#Go#Y<)~Q>B>py@ksdfepgzHnBqb0iD!ul^_BPnJ2%Cx2aXWD zY%8v7^`R;$db1ou%zg1DU##dp2tGs0!mHwV@mZYPJ0;`qHHPfKC-IC2hzbhTo zxY^5OTPP?PDTR$XP4&Nj1O|B61z)k=t#)$p5aNPC3(dD^8eA7OEzuvvv%V6o24DP% zoi_T5fzJ=Dm4E1uM(O3;7BzdkwilH?Off_RiA36%@ro;y1cs;UV(vo$t-k$IW`vAWmF0W+oEh-z{Y8MN}h0mZ5)KWF0`>$0d-4=x87?*i)1xCZmu<+=;0^=Z5~6%>slQ*9L>OX_H}1oPIQ z89;7VT)`)+NskP?~O_Ok^0ZlqjSLth7^?FD~R}~7Ub@ZQ($Dm-xRev5C%gT0$^NsfcYyB)?Far}sBrTzoWPB-pXr!Jn z!pzxoW4io;hL9OQRRA=M;TRn$At&2`d|&KP+UAWl_Tn()wd5QBz&AEs_-;A5ZnQ@o z+o};Kt0$JC)`@=SG=7|xk7r3A3vUt%s_)*QFeQC^sAS2S(Py^P zqX&r2=qHKZsJPjZ8J@Gp)YtX{S39OTrgbdPNmma($u+|OVoln z?8N}y_O_+xjH9EN5)8ymz@-`z3+o?Gz1n8})pJs&u=sB!(O>aRBcM8!GZUsRW2o^@ z-3td!02$b1W4A@{yNh(I0P!qghtE}S=i(h?xnX?i(j0VuHXfd0&-#8}Ip(KM3(O0R zs(_bHX+hfz+b1)12W|^{50CUe*jcf22$IKdrd02xRFD3aAe!b<ehz{Dc*#(sHbC+NjC95X@m4Qew3!kOcG&BBS40AAacsIy|;)Wqd})i&%OVSQ#A z`Q(>9Ew)r8-8L)A32jkAGix&0%2bt_5$} zOrFSff-$?m`6_xEAnsXe$yh%_|27mbx%GrOrr})@WLi};vupuC`3nY!$-r~?S9r!m z#Au)7P)cW|iolS-TFm-^(?zUTZ23EXbQWQZgRLq=xFQ3rTgLx{0DjbQUTQqQ z>$Tlt_b%keQ=5d6(egg>k|C`Q>Hczst%b$F6xpZbG9b_j*M8%Pc3nolPTBKy@6Sfb zdmg9Q`7?kyP0+tN5%9y(E)#n%YKV9#3%V3zo789TS)we1qnPIce@=*5N9yvZ9oPy??7fs)vufy! zyN(b0$D{tk3I5-I{4YxA|Dzk49@r78XKuZ(M)`)x6!>m70e7dvpB;EI6+M$G(V^v} zsp~8uZI{lT8VMO97)lw)drEvZ1m+wIMjEr0 zt;Z_dw0qR41^@t;QV1+a&~ESwyKLTdF=r##i92hH$(Y_8(LQjX_R%ZX!0R?)Tv9@Q zlNji})uZ0465b~1lA8c-V1~YPt|)WzGhG5H;_8jw=y|u?N4-^dCf^1%T97Y!cT>*` zre!w%p6{8X6y6z9g%bWqC;yFb2Q+OD5Lw^J;vO4xc-W^=TbU&wLb&=msutp)AKJ}{ zhMnj;3fkQFGGEu$XHw~XUN;DL(;A8WX7m`zsYgbrkUsDuZLE&bKmAK-mqz2M)gLJG z#>B5`bE*iHZGB$ae#IrAKhjo@LOpzwX$|l6_?&dlqXZg&arYoiMJ-|?nGw=ducIlSe$f1j>% ze>l~zp|GiF)FZ9u7oD9Sl=3$?Byc?7<#1Gl(ipxHSi66O^X@hlndP#))3=juby}Z* zE=ue zip$gG`cis*k(~%GXczv^iqTq~{0JJcH2fr19zSLbcl7ewhg^t;yf@_Qe>vj2{#JN} z@`Qt&QGr8&uEjE-CFTm3|5U6wOmjcA3HnEHOa#36)=3P$5C8mo1E zeDOc_=BZsvJZRl@p);Rk zG`Fu6f8*WJaC*wAJ4k2^4M7h=q%m7aU6MlkqQmRa5fx=gMRX@!y&I80{P`uU!}IEEK?;p#j6$xxd9KReXL+1!4#kTUENM4O|MNFj%7NVt9xXEtbW#7#$ z^yw6L=Y{<$$HTjO&mZNrNnKm73+}yaG>y|GGSuk)jCbUeyqC7b(PnU7Lj%Q53 zNcz}EdX+M}V?Q49tvw<}B=?8u7VcVpZpTo1rpBL8{j8NAN2|!qBuAfcwZ1;xcjus! zK0&wd3d>LQE|yLkttg=E6scjYr~UxT1uw)$S@FjXt%*O$lWX_ULBOnA%9XwWS*pO7 z$esr4#h+@)v@<6IsgxT6`V~^iAs9%>(wH@(S!n1h7PJBh{bv2&3zl$rZ*iAuCOaN} zUvayje?qAPV}viE5#XCybkCjOY`vc6rHu|heKP89xPM+hS&YwE<>y~n_K70b3Q^dv zgY7M9&rcOD6|DqVe|g=(UxgGVve=Fdwi|L)euu<@v@nE zJ-Vghepu`0`LCKz(PzN7Pe$-NW&WM}i08jp9s2*XxcQ%4(Et82|1Y=xHwA)COGrpZ zX5=Mzk17e-?*v75up4BuoJyry9W(2;;YDHp3*6f_184RvNh_i)6YoWgHPFGD0*4uAh&oOGY z8%;=xYqexh&-!RfTIUwrd^?qNo%&d5VeXaS)+29PM-@)@g;v78=cb5%T7pK`#5G|m zOcX#Oi*3~`nr*yWP-m&f66>bOz7$pVX=>?4`^g{VF-c!+YoF_(cI9n=?rs+y>j)tv zmz!VVv~;N&1J@N!)PDpt8gUqo3Th36VllADZu~Bl>-chhr~Y7EQLvvIM+V$L=)UF92{DU_GIqBM5ING(9$ZzP zrn}r$M?ml(W4h{MdYra2FSwz!OOwHw$K9hu@>uM&SD#klwuFH8GQPJ=!p*RR6(==1BrN)$OwR;H7sS6Ih~WFc zBhVIl(&gsUIlE8l2{2XcBO?^LbfrT|-kmpXUjZQ{`<2oA+17lD5 zNle9oY8%G%fEIb>#V($~>#(ccOpdS5_0uw#5%7nW-A64e8Jw<7#x(XbB^?yRHdEn!{FH5m&<2*J;rZmEWU zrt<7Jni^kIA2RG{Dy!}X4}eBDacc4hr7*C}O8UugPm;`uZ}WrwVjGuIqeuH@yr;5z z2DoXKi|xS$9VTPG^$0aM`jwV3_6VyF} zpo^g;%7mmQ+cwM2Qxv0*xvu&m@z@3V#+2Tt4)dc^u$@NPz&5{5A;m9%3Ch+#!@zZ+ zW?nmFK>;&rnl;NgBhQ_Q;_N2*?z1kZal`w>^w3;C9=9o1GQ|Oaf!xQl*wRp4C7#O=sn{!~ks?KYg!MBoutjR-gkIm!M>rKM6AbV_5xYl_DIzzyomz2S_A~2Dj%wiJ9SE5@lv2_Z>5&(jol%Y|`O^U}95b7O;OukoKvM)wgoa6yLLF*j;rp8aPKED7bHxTtxr zmU$5!h4YaatO*BRc>LT7)~kZmyBHe}Ix)?vlw*kx(&KeWYmRhBF?bPTw$4gSRoI&I zp&F-Y9Xmu{BmY=BC5c2+2DY}yUk+4_l?GR6nAtVnZ|_SwCmWP6HcAFB2~w70xY6oQ zaCg{tQ#CiPfHbTI@L#@3idO28zV;&YD*UndxwXef;*|ylQE$zMZ-mIaY?*iObH4ta z-TF^<-u}NFLHswTxON#jc3E7*Y#*$kBf=2JwX0+D=~RSIPM^xgmvWrlABU~EAc^S< zZePJ*`Yn6@I~S*BMXiqnnr^85ZW-p^g+4C6Qc~f)WiCz1cxtz__UVN}R;hu}*=}8U z^FqLiSTT6$+%dma1DqDBWQeaIebmxxR1=dPXPDXr1K28KMn+atI`^7$a0Q9>GF!iWkQsf(;|Vt?;T0)exW8;tQG1?ftwDhzvKto`_eBo?)tx&d+V^a zx^7<-3N5r)fffrv8YmQZ*W%CurNx31EDi3i#oe7kfl?$uaF^ol3GVJttkCk_^!vWO z@7?=(_rB+!bI$%Z&&pi$nQN}G#vJ1(ctc{0uJvCvFI2R6xR-4djSQ{cx}A7pJ2~NG zTNC)>_9*THmMfG6@a3$Kp@cN@JWi{v$1X%&ibZA zGJOOV^@QRa4JHE)|0V&3s}cs?t9Lery^HxS$?Pb$YC5QywHM?pb#Qe>J)_n}Y=Oei7-co?7DF7B zl5b-jQE8iPc2XJ#+2B@1AKt4sbT)M}mFHLTyQ6)gU>et*kOXI}mL?au9O=z>FZQci zUacZ4F0>058YSenUUsjKkbOT#=5)yhR4Ji4)y)v~4vu|fubXqdqs}Ni=C4|tk@MRL zQ`4}#z3nev(%-@&{QtH+f<^u(Q91aRWD5G6`1r+tNZjMQ*kYYPA=<6&P`C+$x71tpWImjBID6?1l=(e>u;O+83bnBq-PxZLs?c<%d&X*J`E(P& zWt`Z{5aN^5>goFgL1u39H)+a41~wuRyK5bN3DGC~{I*knD%8_-Tp>&&AV_eGcg!I& zI-#Iibwqv20;d~zr4lMLP7}JSfIh82wA{3+sn2R-ye-r7R^!`!!}QX#YUZFI@3Y<& zf;>3;@*Re&mmA<{s$MfS!f`x(3`-jB6q7Nzu_9&TF?eif`+lg^&Oq=`o0C`T5>)G`3k2fWppzzD<^q!`PTKEc*;hy1sAmHdG!vg z62?-Z|J(-Zlz|M?-^j&Df8VD%T(9>wu3?^IlbD3cqcz+4!4SD%Kz!M0|L5D@XvL1R zMVE;m*X8kbVrr8N??hM*xfdAH)?qYjgT50$we@7=o`VGkarUTG;H^m zrn=N$5q}_ZH`b^)&u*hA~ZufW`AG@!RWn;FogxNh%Z5yKdUT{kaKcg5N|E_mo&S zAf?Dt>PeCF23K*kzfws_DQA$WurSE))g2F)czc*QS#imSjC75tIpv|_2%F&LB!j^h zt{HCdg9@o!dv*sX72R%mTTdd>-VLd>lJD} z)=P+JXL$FBe{FszdgRb$rNXd;^-UtotvJiRFl(OUOETDllc4%T1=b^#i9Y}3*So(2 z<4~fFqE`E!#iyDjW;p{K6Qy|hjjOfs-4qPe1&uMZE%NnkYrraH!6bE+x?SOZ1pO06#))4Qp9c;U~uQ54G$%CaXZw7^%Kh)7m$jy$#gxs^k zOXah)K0g-*Z}TSF#*Y$W$Fwv7(F@QG*&87c1_G7zhYK`wc3ILWwp0DLpL$AeoPbZ_ zy}BKrSRm7949w);y0*yg96CDyu=G~!9Czu9-!p6rD35Ew9HUF{2{vEypdA!xdFx_| zD&8L%8hCB4d6~@w*4Xqra>+e47QqJoOc1rcRK0e4urW$#l}(T{sI->w*x=c)v!kFM zIwqit@t@dq>4TR+y41nV^i^EqMMY`iPxc*q*+MCLr_QhUdFqC< z%nd;V7D0?|wMW5luMC~hmial_pI#|;722%g?TUe|>cjbTXY`h=k<>d_!^fN1ZsOrO zCsb(WfM~zQHFW}O%Wzs3{^{%ek=AFo*7hHq8O!#mQHfV!Vy$WhC-b#JzRWwL8*ACo z2~4BCt>{RGeTmJ^Quv0-<+V-nZnKKcEy@9F!r{^s!R~opS=&;SeSUtB*+2z!IT1&u zXcStVx>~|MN_f^SJWhBLLiRJ1?KpV> zDS#4+FI`C=%-K=HkoKDI#)=C|#n9D1L`WakqL-IPmUv6^HmV)`j_<)L^|4ms^noYM z%ygST))lao_8H&ol_dBK3%pL)(iAXW=wk9*^C9-lfj#$F##3ZXZN+ccV-q)9d&0T) z6O8;?4bLwiQ5|gfj)_@WoNzP9xF&v)_=cmDGZr4xgBHoWiG{+powDA->8uwD2{>Y^YHkI3yj%n`jw~!NyZ++7#-NRCzIqZ0_zOd$_})qK81I92M3y{4IpLK_2GD(ci000z zvfeMFS3pFGk{XhJVh>ZONz5gOrJNoqSkTgVzy^}dw2XugbgVJ^MQ)4C?0gN9U0h}O zBLkKB_eGLtDIZ5jC|C~z`Zw`ePtyTY zQ$pJP?9y9(Y_8@@kXq<*2TPe5BNVfcgMHkiR`!H@mGYf8PphiIAD3xkIwn9Kv*4@N zayy$)zBn&hew*%VF(npx<8PgeBIo?W0dU_&90>gUaSOEmB#oE|`c1Uk41fOBpz^-;>lw00u+hcy` zL_RvmbGpmEKA5VI`?}U?Da6PAKBv^g`Ow&Ugd=)5IROX5S&^N=4ZOedLd@EYNRATf zjcAPm9KR_by3``yMNxS5CDf$6nvWsbpD`fJ9tLld)7JU%?rbAs_*d?Ngf0@(0*X_Z4s_YV_OLxCx z#@-{&!C zHqOtDiWqTHHQQzR+63ZUQCO`pO}kHG#k-wHUyO3%-ys1X?WkrBnn+Z={jn;kuqtmn z%H_y2Z|d9;9`|VL1ATl}k@pE>A?I&<%$Cf5=meJsPmmH=9pVJ))kz38<_*&U_c~5e zRlZW2L`T4z()!ugSpi>W>=g3AV;~OP=qQguOQ*q3TT2^HUT z_FG{n558A^RGq8%L_=tUa7*lOqvM*Oc1~7(JF<1ewaw5oVPVK;0iNX+V(t;UG8GYJ zX>m`Wzt2#J>{8dp9AUe};gP#aI0$Y$6AE-(ys9QOB<>odHuWYlArSqYJ1259)wHx- z(M1gmAXdrD7n~#=onmCp&x*y1BgHCU-#oj*`ow@!rRE(mXtunU9o%HN$~1+0t%~A zdID#@0AcFI0fX!0xbZ>1LaEPjDoIq6rc|rdF64_0t6*0y6ojB&2;8WaUyq<(LU!If zY_H4Y9@C9G^fDInQ?_SU=GdavvPy(~qkfLW(*94Y5J?bYzb>|eWN-AjfU5QnMPX{{ zaRK3w_M)d@RnX&`E7q}>Zqx4j$@HjtKv`$o?{9=^Mz| zUM)mm#CL$o7#;>4hSP<|$dl^ocjk6a;>cjIv& z3RWft)#$aEisz`{GEY6Hv^_-XVk7aN)(O-!z((%Ss4biit52$w7!s72%yKp>$dIb} z-^|!P#CMJbZxzH!dd~buS?oKb^RYX+za!AUvsO3bF$hjEq{PZDYG~n=F}U(1x_^yW z7x@5H!n0CYC+8!NB{gq`DPF3*Yd!I4y0~I%N^n<-6nZtUqL1S5DTflmGMuG>VG?pG z{F$VKbC%Vnx_Vb;3EILVHzcmlm}@lj$k=q_t8@`!=YqN3Rl>)#50nQ-nzb5zIA$`b z+bw(3CmnwYs3zeS(BaNb?2~n!==+6^xh}MT8h#deY@T0wUZ90jSuqk`ZGYmD;hT6Q zn%)x2zU5kr$R9uWI-R)G2uYme(94YbA=s0BvL!K5J${F5diCJ3wJrj>c2%ZkvT7yr zXOmT%C6m0!&Ct`bh!NVZHdWl9L&PSJ!f=lUACLbcPhp#_Ila?jsyyWb^2K;y%|2$7 zjgSg*BDRN|C)<*dhtbdu64u{*W30CDpk&V!c$wa`m7t`*L*PQiaOiR{Ashb0EIuo7 z#Bp(x@@Ot8kQzTxcpik<_o`siMOerWSPcK@Uyk;!YCN|4{95&UFbT173c3@Tg#shQ zL;27%)c^AuD2EdpU{=~Lut$I0`Z61{0nNURx>}IG^?d?j2o4TWI45^<`~h_Gayhy# zBc>yrZL}St8WK2C?ai*O8s72u>BxzAsz_H8Cp}BI8+2s&!s_vM<43=rk**f|LsNkM;AktGHUr{l{k-PXjIIt8O5{SJn~~mji%82N?fC5@}wA z-HFIWA1tYBZ10 zwFM{WTv1#P?+9m}3@Xk3dWKu}K;bQKn$F%=CtR4yn@@p&EBX3a4==G4Eq2|iZIPKw z(#CA6y+WrUU+kQSXNuTU^VP=079-&S7{qMlz8%ZWpV>bT7iMbN2$$Dd^n?oLznN^@ z^hWO+<^l{Ukixh3Y8E{qh&t=p^s?PfwsLpNF3Td5h1ongX|a0tAvVVm$LWN=E1I8K zJG`st36V$De-w9jEvtS@KwT|lMcCDDQk}O|`{Wg_G-rX@(9p)n(AO9v;`u4ndH#0L z!rW$c%F%#6kbl8ZxIl<}^!llSseo53rzuMI6J3A*HD68t`Q)+VEUN`3{OLLw&*Z@A-hX`_y{h-Yi;WKQ2TDN*+!CKb08J#r@3 zWyWe^c~4leH891l*>$23v-K8M^R7r0-W+5$ESE{a3zpuYc%(3=K~fO=g5y)^hd)~X>|O7clqU3oRP*0W)d+Z@ zURu$2D485%#B^I1+x9QUEkMI~YHXn*$JhuIgR z_M7qk#0z>j3I;REph9uQNzW8ryuq%< z=R6YlaXWVA<@Y=ZSvCqHokuXoUYRQCua2D_Ui^B-T<`!UP&Q9Mb~sxJxblV?ylew7 zDT!y2QT5JNn_4Jb0sic?4$`Sp^)IinduM|5wOukFRf;}MH|Q6;74*E1@D6S$3d#1I zXcJ;Zf6>EMcZ3>yMj8BZoDRW?ap9P6Y;>KuzaMA;@jW-A2G@IGb(yV1ov$O3<`AAo zX;E4g`Z=JbgwgAod+a@k_>dNbuEkPuntY^r`WQCh(qr`(ai2(aYAvRyhP13zdwo(y zSaSfU*cVDix>ZPlkxbIs&&Dc$ewy36VSY!C%j=yW9tGKqAC7w3+t?j~wIVZgs`CP^ zME$=PP4xeRRtJaWgDeC{yoX+oDvv}jR!LDD-#YQBKih@3P@oCzV@Yf>bPWEpG0nT! z55cUeihM+DVDXs1(|Kiy0zM<#l;nGuXaT$gz1n!O;PpIm|782352$WI*qLv zc$|+U*Q&R0pCoB5f`&z)9)fC<9Z)Zd4>clqLFP6JWcbh<@k$q38U9W zp2|+DHvO(T1-ori`Lu0830j}T6%WhN zw%b;Li2s;v{H+Pc&>s_yTy&>QLmEHjrI~ttj&?SGGnVDLCwo+g08)Gyt?fXBQF(IY zj8pHMIkC5-^d38z3;HFchGf37pS9O4edn$556M`yk+-&qrCK%trnM2Vm^Q3vw>ZK7}UHLMfW8=0s1%c7kchO|_Z)T+*!AQV>m_qX5Ha0poe8RRuyGtCM z$GIG`PE9poM2=cqUWTgv_Tp5+YNVOQL=T*Ri5+t=>HL`a!7KP{*2Y{NxR8@fV{T%W zps(ytS}S!Ntk$P4D~d$#$OA^`;#ScrJpPxY#%}aV7L+V=K3@2zI~I-U!;b*~U^p;L zN+v0qC}dlG!zd8AqF73sk5DE&374$GWS z1lwwt)&bqFzjgUcvt>wki;Ajv9U?Go@oBW2evAG$mciW-J95l$(<`-SaeOsI9#_fSMql)Y~ItnL#SCj8KyoVw6o2|G3@k?@v3L*q$aan%xRIOSWD?z z0pL0~D;W_fn#!yCrnE&1h;!9J6~dbS}O1nEr&x!E-S2)M02liY9nP}i2w@5x-^ zsEeg87^f{zaN6jTmAQp#R?!4k7q_l8;)dn@_ush(fY0Yue_?zoVf1pk*D^Xymi+@4 z&h3-Eqvm9Ij_3oiR@myu>^z>w>M!${Zy%oy7)daSzuwB zb4iCL5JV5uFvlA0ZJnrp2&+8;DD?IPjP^Dg)CrXBh+AJhtbe9B&=5(_pbAUd!_m58 z;Lk&oU6vneeqnx)Q*rgj$VmO)0f%PTPd+Xc{e{8y7sfaB;!@YoX#8*|%=J7xM|pvTgqwf&Mdf31Y69?&AtP4$={(>Rs~(~7BG^T(n~-@EGdIsxTA zzCH#ubaUt$`fkBRS49rY{UJ(FF51Dv&2TfP(5tM1Z*H!TvchB0!-kEe2ELPc;4uNI zl2kl<2=>rI`sf_CP9#!5p%@|64b+(gyMFvRY9Q0HhU*bBEj+}ibggSX{dU+vdXOIB z#6dgz=Z{-_{BUO-M3lu(D&)y5Ut{TrlKj%I)|i;@DLWR&zB?`q=}c!^4vE&wfwsf2 zCdErY#&&yR^88dCp7&sA2x4k7HWbvZ-@})#KuR4w)#&{)T8JheAtL#_Cu~;mE1zAv z>MqC_`w<`3cr>frmc}-dFe;kU?Jo?5lJ6gwDCIxm#zK=}71%0@@Ldng7R(b#n3^>!14mpSDyp#t&&STAPh>ois3-_!n|y8a6#;Wu zf+N??%X{MF&Ea?EOP;)6t^5Q{1!wQ-;dgcLHJiEWr2KUu;TLDrNCB%L3e~nDPZx`y zKKb>UXdRkfL2tO#iqFH3UuC|ko;+h4V7Ih1d9ho~98fJwwLbQ6s|yUUz5D`a2^m9L znfkHW59Cu!IOX|qODtXd3jFCG?f;ZwoXGxxyR~G)%7A0ZNhCDXoWtz)`QUN?Odyj8 z^Cm|TUHmYRX1hJ@GgO3jLYhz2>C_G_%adlVN6z1%M;)9qf_3F8VyE(H({jmfGw{zU z0jPGLYjM}GGQVRokvklyYa9?DN2JSOVH(50Q>0;*Hy%Nr%)B9Y4IfF9cC42(j<}Du zob-kc&uPXSw}!x8H8dGVn=LS^l`3ScKlr#hoj*wU0LrFi@oj@&J8jzvt>8k-h}v2b zkKu?;mj)p?5hHj7vF{{pW~XZNf0px`QgkR0STQwXHO+ir$x10P+pAhmI%GH=k=;G2 z>$kBZkx+2FKedytb3K^TJiQ?tg9Km%nfM3o%xEE^|Fzev=$@i;nSobdNM#7$0>!Nh zs?VPBvp-pm8e0CkL2&BtKn+Jpi8s&ZWIrycORLxK-s44_*B(tp@+sKfiilj5E69LR zYNp-tovqyYJ|Yiu_N+nqZs6=k8r>D__kvCh6XsB#dK$4?!Pdu z-wxwp0fyI)F2;X|zT36)1R(2L|IFo~ZHE0fz9chOfzmm#cL6C&&ymTjFmZRxa0*v z##2wt{ZpLYF%tRe47Dl&@83h!DLkDq3D*UweTml6*Yswpo11P@n0E{{#I@gP@=JOU zh<5X68iNNj&ZhG$`D9b2)dXdRG$Wz%`%}MP7*IM%+1q9b=5Kl)%-22^M#o@}21s5a2s1gQ+z@u_&k&VbbFLK%^JEipxe+d3`!3%E>-u z;Z{1joH2~M=W`3j_=2d*VQU2g`3mRccMupqH$1n7zswT8fAM=#Y8mxxc6MAw2fc}L zTuzv0MSzczT*Z`@&P2Vr8rf#*IL8J2ey>m zq9;L0ul>U!<^IpILjIe({a0tnH!D?S%QCbuAcJ)?-WTU660XCiS2^9pl?t671rLK! zp3^ss<2x5?k`)pDu_$@B1Euz*s5>G*cF?5!R3c0tEy9LI$oc~qEsWFLLf)O3=uWo6 zC~ZX>el8hqQun?}!(?MDEQk&iC6Ro7{n&Ai60Ow5-Zx^aJ!uQ*dzx*fs5`S%-`+#> zVGOJY?mYd{R}1HW_`8`Z$eilBlagD>aNHfl9r=_8i+JRatbI()p*S>GK)&1 zZ6}0F0$IC0jx12(X+DxtlXzJWbt~C*cH6o$eI{=3OY__(0hnJb<6=zzV8bXcVu$sotZ^g(U5ML7! zM>>t=FfwFW>0jf;?d;fdNKuD*EiUs)jgL; z-@8v7UG`Hu{SEStMoEV5+kua^3g3S=l1J^j?53;#SIDn_a)QuLKV;`uS^FAGxZ&bo z7|E%>7~lOVP&D*H(m8lkrerN>B=h^o3#uBNY92G5>}~Ts8qipCNM<)<(`;Gbnzf1x z!%-tjF1YQEDH^J8)$VenkKu#QxP*Dz0b3GpWJ$&+1qY7;F|KGm7fZ8FtI2p=Swy@@ zono|fh`IAdwvdt3s-Zc5VPJbdcm;MH_sR2Ybz|Z_&A6(*249E9pV1NAOS}93dva#} zZ~5APHlF-*=A~4BDsuQ@xs^8aGLyj>Rpas(#(J4hnCbkDDs!&_^O=g$$>0k8{+(NS z^YV$d5w4hnxIsh17f#i_-RF{%Hkp>5czHMHxM4Nwe+#ku_l5p9Wcq*e#{FNu z_CGVkxT^YXPt-xGDuGPAYM$`?uw zgvm26BfFhb^jFkR5aYOn&}S%C71g2D%I^a@&eH0+FYV@@=#h?CsF4g$j=c2WN#5#{ zshm51hYlL;$-O!~O_kMaDY}upA&N`G1Av|UV*`#~(z; zvINzLQi?5ym~(l56TPT0k;M>^rClcYmj*t4Y8CuzOx|ql&v6!5m zMgelhhwe-%nG5(on#xqSq1(v?fg|W5CAQ0Z$&epxw`!R{=36c&gUeZO%%L$9@?byv zV*WvWU#6`4NBaS=#?~A_xcLbiX15F-Hcgq;Pvaf6bp7$y?#|cA0OYwxEC3RQ`S1VO4--Q zWL6&Cg4e@Q%V@F21|UXMNl22g*OoKz{f4`2xov(a?#xoM*SWCfPrVfjdF8szhv;gU z$`U-9-Sv)ph6^`eTkO_=q`#EVY6n%wJ{7TIku_K~`{06pKc&89ZE<_NbN*qoUg5de%!bn(=x5rp0@q$gsL)esY~n&dgQdW5 z@*6KiHC`&{4A!kbhOC|^yu2Z8TORlSCg%{k7Pb8`^JpF6$~FU~8^i-IXJ6=}&DIEt zVfL|4!S%bfi1$j6PV-oNB?<{ZIDwlsOhI8~0#i0JFDS4f!^uo8xavgS!K}N{pU?j> zfCFttVB^$n73cNo@9PuTf|6V2e_=fSpnUbOpoQkKJ?as0we8o{c>K~GKp(xFl#Hk^ zYtlj$^Oc94x1eik5?v=+X}g~x!JC0~LYw9;M?<(yeZ~FD8XmYJ%eRTSo^f^DH&TbK z#U;0IW}{qUTq(fjPRo2UU@DQ%95$}nR?BRR$qdRk~TQa#N(6qAxruvu0*wYSBlH zz+I&0c4Z$Q-`QQdyC_(@eXn6jD6sg5a>>)~-O<#AscQhR_jj;oanoC6Lsdy#pC1=u zm&^7=DIWK~V@Pm#OjnRq0y!tX{dRpxq(2|jIVNrPg1yOrq&djiUlR#nX#mwM4&sV6 zs+ouE)Ojwxlyizi*F6Li)4B~OblMTK&Cp@0C|=`C(>jV;jyg`WZZ7-TYZ5vK4*Mu; z!6FUu$Yd=cs9nV6+dJU%vgy>733!pDEs=a?*V%#2E^u8tF*{rSvXwA@Y&rK&HLU^Y z_2iJ}!@$Nzq9LsWk!p9$lZ+Sr%YR`!Y<)~eR68CUQ7|gXv7>OY$s>u{sf9e3bl2YGkUcy9k1u^5e43IsygYQm9GobWjXd! zLv6OP07=-lIiTm|dVHjc_jA4rW%pL+O~-Y4vQ(UUnK3H{lf$deJw7raBYX6voFvj^ z4Jl5z)fi?W#F!il&f@C#2F}_WDerA2wFB<4bgqIZCOE$B2z|C4kWbJUV=scbxtMfG zctae{FhRh%BXPm;-1tu3emZ8k%WnC2Yvdy_zx@j}zZ9w(`g(;=iyC9s@9acQ<4aESpHA zXG7YWaogoT%TK*jkGrbRR4BeVs6(;9xoUE+P7eGGEqm6SEaS_9N4yqSd;Qm@6LTf` z5sAeTtRRaJd2YikNbwg=SR`TnQbA0&E9*YBc6NOXI!uQ?MGj~W*s{gQ0D$frpKhyU z`}pFn;-}sAP(CSrWDut;g#>TGdn^c%hjmty>%y>T&iz(~jrrGe zqcw22gl=-LVYd>s2RQM)cN7Vtx;_c5Mitr!tqC3M&j6cw5Wrk98M2A?+cuPuqT%Q6 z_|v*VRXmVtBJ({T*}I*g`JY z)_ndh?Hu_2SG{!2B=Fv;CceH#1?-5Z0bA6kjQx2pXLuG1hPw4uj^s(skZ*vfP zv=3dtVklwcVT-~Z%1>onx`%u8p2}x(|K%`-W^ymE^0BbbX) zzakH2o*vgeP~PcS7{>Ub*P%=K(g&@vCpI5b4e!E`);C@Zkn4Z=Lc0~NX1thO1K}w+ z4U2FhjLS6FDPF1dyea0>yvgvizd<14>m=nl%$Q{Kv(~bSnmk1ZgNG8@ery%+92ARK-R;bovgiaK{kJ~L_@D7Nai3OQ-&y@UEaKa)#9Wc2p8CI zzuT@f7fTseq_%f^DgJaQI{DW`2>;{&`N?Ol9Y?ITjJ-L>U%ZUhy1h!b(&emXa~Uxr zG|5;d9#F_9IF^iqU82IbZDhEdd-{+9?GD&NE+dEZr(gd1;?efjHud~+{boz_QPMus zV`@bVUL-?Km&}Nd=8ac_?bGl%Y9XI+p`-zzs7Uk_?>7Rm6*Ex-!ST{AHum*4@==SO zX64dzUb*LNOE0xD@}tZUBXopTGL7jY+m zw!{!k7LK7nJ0qZr<_oJxC6a$WvHG=g>Q;qlZuo|`PufQ{w*A1C>15XdfXvVe8PA+cTZGK$Pnj3r^Ahk=cEgf;p-LDb1V*>ufl@rLMpR+RRo0nSNu$i zyT@>dYlFfzN^Wc2%O-b7_j5bjPpdY;zothFe`INyyg3dYMvJ#R%eZ zNv=*#rYOhPaoKhrS-aET>E%ZZqkT_lx)<`ujLIyy!ehtU*q^~2=m$@{C?(vU90DfNeIzOs#Tkyr|DGelzK*fW!!w^AwSOprI^-VFJHV3PoeY{kCOe6 z?F#7(3HU zHe9+Q5dZVoyZ?#L9+|ra9y5y>xV6?aDLX}_*5nv_w?7{%y(g}jczP@F0ZLUR^-ooLX;C%#p zu$Q8HIjs_i_4#ZWGX5S9i%KChuX5$yr!>oemQuHJD3s?A zeN@3K6Pr~f&541$SMhuQzHo8oYINhSa4AT^$GZG&yBXW^wc;_9dZ&4QqpFmik*Y1* zk?QLRI8Xy@SYx7JzYOY8_m$+e-3-yAO6uLqT3f4e+Xjk8hk9HYvC9>` z_dNNm%XYc>d#rrB+FgQiZK%V?kVnN63aLn|GI0V7p*IE9q(@Bs7qPq2k7DM5i4m`~ z+FgsjXu_Xemfu8gMi{;x0CAkpqSo6eBJ2+oLBl5}1F`G2fVE!K=*AhT>AJH9s_|9$ zuxmS%EVN9`_LJMmW)n+#8C$(gpMVUpn8qsWhpkpf0wn{iU^{x#I%WeRduc=?XZf-| zxzPz(d>>nCYThMCwNF|4i-nu3P4}Sd^;GxtrYI^u`@yMO>urGxl{jiJ`^&Xsg8XRs zaf_V5z~6VxaBckthwe$fB_ECb)b;zWNrEmD;2QxLP@+^vUh=5e2*Efb0JTDmjll-@ za4IF^-WOgX+KG+GNnL&6dF+Jiiyu^2W?xz2J~P}pnU*X5g+ZSDD}gNIh{>?NL_rM- zg4W@Xr04QsjAH=(4U5aW`)$>pshxo!i%2x$-s{_Y_5arzDBxc#JvutQv`7v00U1~3 z1yJeHuX40ek=-5q-${BbnT21&CX4w-EM$8X`lC4TGn06o1-7i1$XY=k?KMrwQ8PyM^s9vrKvCOO4|qPRyj zpQ6(w-aUnOP`ELBnlI<~qb4t;1Jff-4NU<7LGLnjn*jNFHQB70IuUg|X*Uk<H_=B$(L5m0Il4(b)Xa z7}w*+WfdEG;4H1Ynjx+>h1V)Nx`St1sD|q@dlyJ+dZCuB$+O82(WKqoJ5rKxiaaI# z7f}zeDDxMgV$8R`@NCJZ=hGKy)}8p%Hl~!IA#X4JW9TnD!2R!OHw01cY^JM4m#Gq- zEC+Pf*o`yHCmP*Ph{=0n)o}G(;@KbY40=^?-c?ulec%XeCjz`A*KR;b(|f&1c)dGB zjSRJ_$-cyCN?&AW;&%Y<7LY1Yd!6=g5!vx79UPv&n;)-BKhgS;$p$?h_k`7_BHU+Z zyXv^%5^IH)ZZs@fWToJUDN61DG$CylbpXk)qn<)l*k-3}8-^BG6l)dYbGLb(i6%!8 z*QW(4P05FDmhER&$~|&Q*`jqZ@zw(@1+6g+^Vm;@X76BrN6Favqz+CKq<^UQ^-7L3t>6 zT=U=&a5f(CZoUygE+=QzrLQptupytZW=Cl8=xT}HlR7y7;T(XSWhLr%lE%yz|!<5J%66(Y>|Q$W?L_2%jmg92#*m8k zr`bqy(N=i$Q;c4IT0o_Ys{B#~iv}>Vcx@YSaC}(Ms!>2KN}XJ2o-WQl?EIZZCU>P8 zRZIh2W)C7sV{Q?!^NwC_^z!f`dx7guC)+{fFem~)wBhv}2&fVebQE8WZ#}Qc_LJl8 zQF{)3**u~P=e8pILH<}c45ZM{m(4DcU_ZqAx=i}1C^4_!8XmF-AWeXt)2BxsQnKoOI?HjKot)xT}7JOowGp@^(IlPre z?1^jDmVQm>i2o*pyA~$m4(~HB`#e!dfM)hxC{9RPIg5L`g7GmLa72>}E?w*MjwVYA ze#jR=aRXnTq`V}E2J*S;x?A5x9}O)G&7Ep%e+zeP7_4lowE1STnL>dt6)M~zJTkY? zS~T`0@SeZ+BjtKM(0|}Jl~gZTNPAMwr{8(wm%Cs2%s-@S&6=8^PvL5|(U|&Myou(} zb-I2T>d`)~?=QFMf5=qo0miPKrQCdkO1}E*W76klTVK&!+7Hu4?SHLBFgVRV&)WIE zJ47SjIdRNKWaL<0s9I>l{?_~6(0f@4dC0>IrkFLZcsgw_yBrmrKZ~<7U4oV=k%0M% zIlWb48!?l^cl81Gb#c<2pJYm1-mv12(o{Q{#;};~p_xsC#}I$p-T_XALyxkJLLpGG z5}}`nlfC*y#ybVqGPZJ?Dg|4sd0Z!r3A|XlruWv@$?weOd8&!pz)4 zbkV#%DEglsiYtxQlEGiOLNyx+!l^;*#wKTKbauNn7o4eRf7q1@$eetn4@sV$4x63!|C`j zAHj;>Cf=}@OwWwqjOEZ- zPy=hXl;MYU(Kii0D{%B-U$`lTem;s_^_%dp46{5dX$Mk%89cjr8(rlTD1L{j@d8WO z%)3fNNnigOh^{EJV#{KW+|lc8arJ%`sgo}ZaH5qgv49D`(eUWKI^4Yzxzr@M1Fbee z*=IV9%hdBtQaQ~aR`np@2tL~}#R`+;{0T=VO%PNrrbs~kx2KEDn;$Lm9UFPo3+6^L z9X|&eVypplkyGnY%BSX-0Y!-IUz&D!`a!ha4b7=E5ctCoB~Xw`&A4YahSIMGw^6hO z96$?Y`1M;=0i;Ogsk+MIWT+i?G+$acn*P{59`Gt>WiK@jT zHF^NE{li&Zs!%H)43zKjUl?B|G9$U(+540v+eo|_<}ZVM>z|*jz9&<-EfA`C6gNUZ zLR30uA{gS@SLW51l)`%emsF5&C*os4W@TX3dEmdj`1+$kXqU$DKpFL9>*M^eHUi%| z^*JuWjQrws%u?`#Fton1d~%HRbSbE75^!@h5@Ytjh!jusus(jl-aN*DzipN9_D(z1 z{e(Qe)8Q>FL2{}L?|V`dUPwdFIlY=me%WIivf=;f7K8plfsE#_m&9mYfz$ zXhrVyOOn)v*t(>?zZ3v1mOpQlzf50`Rbci!|Aj)=+K{Nu`PDUsNAZn9I3i7zq!qlS zSh3Mb|(7BRqHF&&jp=YLi76Dy#rgsZ5m65+(qr`uPX|>egfEsA2YH1S@a>)SQH}wWZp+QNZazYk7doJTct@lAa3|JuY6vW*-}V;k z=2gvmyyp?8$Jch>mbLvW8D*V{1{!uL)J5(GymXKrs)A)j#o$ijH2fY1|~*uPT(Exif_` zdwbz{LTHwNZej~tsCLh{RRT0dHFx!vwaiv%QEhuWV`Y@CVxIzN_N=HfrNImL7$N&_ zU05_~?mG1!`kK#Xn$_-g|H4qud#`mQ`P1_E>j%$kqg-6gU?O`jsttiJ1H^F*th^Ml z&cLNF`N!;GR69afF!_OB#Kry5%0Zq0^@Wj057oFfBQh<2)js>tpfM?S72bi5!*xt_ zL##t9PGf(39dp^br>nWHLL5fWA6$>h>LpR@1=a)Z z?au}c$%2@i@0kRBqG90sW}Wq8YG38rPTB}#cRzYJPJx#C{E7it*r=FzC)e4dxrRmI zKHqGSdpt_h6p{%(4S9WmWmmF8FZsLDV5>JQbU7_abhXsOeZ$+ei(?TgZ|Uzl>$>>_ z&sG|Bn!|wXgKlh7F)+;n4x*hcA`_-JpwuBB!dvHEO;+%Z5Pvj>!#S3@#qLX38cK%Q z>9)4;6S+4|M$D%lR?#niaGI`LDquTMUA^3Nj@dyt5B?ZkHn5Asz-b`5*3*f)F4(j} zB{Z8_MnC4EbgLl9%IREbZ(eQ;OG62VXp0CbO(gMV8et-;kLTwH)MJ9LPzhsV91w=H zPhk2AEBi~qMXZI7qOI(vF|@VF5FpgG*PP3Ye0}Lph$-hkxu9(^dd;_9jVegp+l(BJ4g*3X`y!#I^LkZ=Ny0cJ!hQn zj&c9{{xLX`J@;C(Jo8z5uQez9b@%6_q+|*n0kh3R&B%6og_Q(;TKDQ+Ivj=i(6Goc zRoOV-tOTwY?&lJToVF6qIB#qB?UYDPAjOFU;jeCewW$W)C7*md)`ZJEq>=V+pO`PQ z+srY9^-1WvY_3lkGh0Vgm+j!>hqm9`x&}e%ju$vxzdc~cu3yX0SOONP*o@{2L7p&u zmXftlZ%K^upn+7js>NpR-=Q(^IL)s65;BkO0!8Mab14OLiE6sFI_{9JNa9VdE3z-| zz^N(HOXkp&d(3q7=9#YaTsP2b$<#l;7xU|SM zpXD#KH|iFzF#fQ!KP6gZiqw2m<*thVreiWNy3mcdt;25$A0JF1J(oeo=!T{Qqmk=w zcTG=3@3K0piSSygpm(A)HO$XWn$pIuO+VE)W(KK=0tC zh1EVZL)==Z#YyS8&?Wp916kjYV)}_-NM18yI3+8&FX_FWewI$er!oaI0V%~rzM2s5 zRt0!+?@&qp%W6+^WMFCNmO)lqA0_z_mz%;{$mMh7QE#)1`4NQGW>| zL!I3sk)jS}hzKhk&>^EB`{r~zfj?kNu|W}^P#%+vCcmSh^wk6FD35X{2oee~2fGO( zmG7V>B)%Gw8zU}Vnbz>BV2Z~qbc^_Q-~WVSaon|(x2ZU&mOr*v@ej<5 z{X}1ZKFurk|MTIe|K;|Xzqh&IO|RYc2&3+K|NBEtEC{88Yj@_RaS}$+a48qbKlCX) z8HZr^hgy@U+=b(nQX@RE?|nn_i8>?atJ^aBa9o!J-OML0nx~Js8)`(LHB9az3ulj| z^AjR^H66N8kM)zwzR*z{nuj*e9@SSl;AF|aSHb0((rECj8vcplnjHru%8ry@sXsOP z{_rOTl}L2XpHFDk-s&CoF8|e91iXO3$xL#H6AKC^leW^`&?+rjHyvJ}sO-{pC4jTX z1V@XRy^y7|z5!*KYlTRu4593sc~S=0i~Ja-gwxkmSnEmf?X2jqpJ6y|oys1s@r#5G zMi(zO;j9?x%{|e3+?|R!OCRz<_XEPonlVFkXQ$UKiN+wlFnYufFaroQt*V=*w+%=^ zY!NhErX)N&7x>Wxul$x%;UckmJXv$v`Q65YGWEIQ*X1igfKuZpB0$fZl^^4SyK@t48sk129-DT$5B!Piwy>90{<03YiY zRGdpj&&n};TXOe~IzbQE4V!U)@*u{!%DTdA87i*unLVYict!6qkIYYu)qZ=oFgsaI zq!H1yL&t*1Yg>_5-4_toEWqz;&qBq<+5L(rw39fVMm`}Iiks8ooJDB$NE@TT;P;_? zs;*djlc9GrIyJ!{lE5E8QaVG9SDR4dHOaV?&_USfuwA8q5j1ZDT47l+Je9|*kk54l zusxzk?KDFB%r8Y2jM=vE)s&r1Fl)GcQRg1+)0&S6VSC~-P*JBg$t&>OUO=0T~%F^q_4>v8qmN`5H! zX%dAY@*vhN(YAQ7Ub)e%sv*a%ymBWQyi4hkL;9DNi=n*YYxV6tw1$1mJ!=<|C`g!n zdhN(0i9lo?ODeGyw92wVc|9*rn?T}U*U5;4Q7@~>gcUHHBlDVjm(*jz%j4H<`8;`d zCV_rL;$k~QC3>ubEcF6|QYBA6OFji>uB;j+x$u3;$jE47WwS>ChXeC+a0Y{Vb0WqE zD=lM&R2*ZqiCy{S0BZlb$?sTN{rvKUAqR1K8LM!(a%@*MW5OKG zVg*NoD!5vXPA_wR@1o>7b&tkV&kez&;eNMd>-2hD{_}?HtvdAPDX^q~W>^^j__z2A zD|Zc4!7Ciofph%Gr}1W`+xU8NN$>}DcQB5aCr>!piPR=m3h2cMb$yvxoMK-V!91ze zagj72ysfJ*LgE$G&eS4*`vch0kAwT=0F0C7z8)!k#N7mgkg#($Ti(9!&h~VD%sa#j z0#2^na-5fRi<6ZMwk#BlL{{V8i_$pmU56V23~tF*=}Fdcvq6BN?R%TeFBWa3djCY+ zpJ<&8CF&v@W3e4E<3WL8DD_slS5IngzWP4iEgZFxtvLKfYUs7t?FkeHLY->t+Z&{3Z$c%SGCkMJi|qbgvKVPko1g2@+bleUE_pre66>SOM|zL zQ@YrzrVP{wRb5UpZL@vP5l+>&`ib#3{0P=OJBNlwW!*@C`nE}v>y); z7Qm=jS}^+@Dc8$Dee+4n=F^#vlucWoo*v1dZjl(FTt*Ih&c!RDWsjsV0XH>hTyFU{ zTaBN}7N2G4oz}REH5TDxA(m|u);{?3mzaLy_I*+N_QtZspwg=exIM_L9cMC1btx6= z0gsHiaE3)FdNqHEZ{h1#@1tfoLuPJ7q2V{>_BBEAxpn&J>EIYSb${!@qkoAG@(ZFi zda}l%+9kgv#8F|7&;ym(VFo3*;X2pkWVk3e@dNdT z`GiIyTNPcq21d0VA=R_>j(kPFAr}e;GnTQEmPB0A%%dp55Pu;_f-bV#0lVLk$3^)y z{%hKHHLE9YB3pI#7RqQXLAW_{J2^jY?z*QNb{m6Dnvw@XlB$-_MJ-&1s-bEj)M~Y% zfJZQk5UocG1f^rRFoROV7Xu3JI=a)*_FE8Dk57|l(7{1WkHPI{z6}C%uC?>`(EVRl z%yT^>rG##_ju@G;=ktgp`YkiBtJQ!RWnz;*65k$A;G<`a$g~ws>mLt$`wH8wwt)16 zjs}mbZyikTwVHNDZlLSr@Jv|PA_qDNw`hn!SsGgz9$H=a z7~$Vj7;u~NKjf<3B04&@@>P}{uO6Z%eMq9v%VPKLM9*^7QNW@eRR9bunW^dU#wjH6 zy*a6=0Uu0thBug|^wp^3tek&=R-B84o%I^}pZ>)7Z5^T{?dO76iPZ!MUCRl;&`*rW zGs`iSw8ZFp+0>ZBZqGD~Jn80O_3{VD>$8+C8tOahP)@M;+E%EHVQecoq4+lzWcPTN z@XZwR$xGfHaGQ&qLplKTXVmI@J2$meokLE|UT#4d`N8TCXM&MKVB6!^kws~1*aA0% zl$;{ezarMp4i9S!-Dt?`d-sUD2!lm*Er;rty_(Qzu)oM!wUoikJ_~bTf6_d7KKH7> zFv&PDNuT#ils-(WG4WkgV=tX81R+#WS)aKpYPUYE=lpIEy+b&Sf~P2eX_E6yBFIof zd!*R7)thu9*|K;nkgcGsxcjwpnaEF!Cr#XsFA1`lH62LH*}2#CvwQKr#LTQxz17tE zdiVQI#=?wKyF{RVWPmW<;kIB*lSy$fr#RHj=YxOU)2#{}sP`r9PmFWiGoy#|>0G73 zJ+I=SA5o$j1w=U-1h7OahGJt}#*z&IydcS|rz;mM_U7}PQwE&_Ps0hb`8{p$8U(!T zCxPiH1or-Z{d=faKQT^ko#xs*(c_@L^zcsSZBJU#u1gsL*JP9$K=^w7Ag~VD_Pur-we1%Q?q>@pr7eA~TV?CL zrwaZoVEg^GvOcTj>a8+WjgU_z5(IcA!kXWPJ<`_+J{EV^j;4*&fhW?O$${lA3f7hr zRY?d3KmG1O^68H}FDsWk{kV`T76BUjw>i<}b_iUUBfP-0PsJ!EoTTVnaPb4z2xQM` zH-QTIdHwqaIaN@*TopFyrN-QeD+}uIoIegXkv`}R1jO~nb?l}pEr$wjgoGg$PVc$B zE4`Qzp#cUm{`xkIywOcAl5h8SP(A^RSXdVsX5wbW%{yWKz+#~C*6Z>_mqcFPA zKe&^sZ05m>-=+33;0IhW>rn6i-uC}08I9Bb*QL+_qScl~F6j~T24%))Ig4d=BIVQmVZ1x&PJG7s z){M+vS~*bR&Yr8kL1tbtxbhZ>c0|Ynp5FY26nFQ@ZqR{l3KR{H=84m|GpRjkU_sHF zSvzy}eIVcM?}M|2l@-gzDP`3xUJigOp#xdsc~6hCwp`)=7`c4v{oZ;tHafpIv1A5z zR-`H4K|OaFoiV$L;;d9Zh(7(0!(tIK-1f1O{KBw$+XlnU99$erZ8-B#y)5a_a%O6q zYREj_){m6lHRm6a)gA84mfp7=4G32y`jDc*Iu%kx^-L(ojSH_9bJVFwP>4OIfZi;n zPW_b48S|CnCc8M)uTTKB5mau0+c95v%mB=qdaf{71~B@Am4M$Gffn{R$9)OS;(D)^ zFq_DsN~A$2mw=$8p4*(*&3QEo4khT0yE!617OW6AoM_640S5LsJUxZr%hPV{40>#G zq1j^WphU%~!{2PKZml$`J37+S?tTKVFw}MhtY^t~8sH=V7a!Abd*6dY*s-t5w-Cw? z)I~j>kOQIageOy;nwX$~9myW-GpmZG5Fbsq3aQ?I*bT{^cWO9Qjh`}k0AZ11}5!@!?3?|jhmRl!(ORC zQfw(~FEGxhbcmxb;rT`4obTB=NfNnVPEsFF@+P#90^fIHi4FboS^&FTbi7-{6QJ() z#ag*`IJ(kzatxAcEP(E>V{h`D4nh4p#NPig{1&>&V6h&=Zt>>YL3}-cU^gQwiiStN z)K(Z7g!N9SS~tOJx^l!wZ$`kr5~4B?uddz5KGRQG;8yHWCSxVlIHmtv`8TC8{v9a<4Lu4Tosy;N2M#C(yrRE4=e;_2{46E?1cnqYHQB(J{T(ByCLhs zvGl%GHkEgLcx=ioO`b2`s%)Zau=G&zANt@7+UMSbS*vCa_uuv97hl2PJLGlqv)srd zUfW7c&SJ_pu{tRyPKLUbeCiKQ;>@lV7(1#y~hJxos z6`MS6RsoI>a9&{Fj-|zWkW!40-e>us*U8bgMtKl|t9! zxwTmWAPpBQ`TX8c*N>v_`I{V#h2cDs?Sr_!(syn7J1U$*sMhK@7T)`ux-S+FZ<8rE zwE*n@5tw<4FCFW%Io1M>mztCkw;R7|} zsL%QK&s+&Q|L~+g#$hf6>T7eVTu8M}ED2o^%O(-)J17{!w%BMI1nmxG&zV+?(1(;8 zEkBfRgONEGqg7^FHUNo#45TQ@;%+@F;7vJ`Vc@r1O~$b3`jWcDEz7tZ^WC}nB^DwU z>WzZ&p2INwD<+%y8y9_eG_@Z#;ZrU|{Sf=^F+ZHty5mKM{GS*e*+~kOy-S}CK>u(Z z7w;O26vNao{kfRIs-CoHn9OHBvtGs*fUg&VR0VO>gdZxoSR%@*cwt_WZgHOWr8~mo z>sxg(Dz!vxYQ#3sO3Tr=MU=AC=o*oK`_z_7d1(Y5p`lvx6(>{x%BZ08jvUxzfm+G0 zqg{O?&z{IXG)*#vVA3#32U!1O+Qrs@n<;eE!0+R|01a>}Z!zZjQ?P!!-Mx%Zu#rlTfyb9VqdY7-Pg5pAN=sj z1j}K2`F%I}kzB|^9x2~8>pg41+x1RHKGeVHn zPGv7=QdTu_1_WAKRhLg$@J~ut2TR*|>-*$q z<&e;<*sk~FgOUGqSJisfP;d5>g0M=?H1o){3Djn$PfnD}0o(TrHBGe5B-nD~dV~1h zP4o6_DCftz5*()f!(B5Dzn>V~NB5}!Z?biYo>7v6n6E|?S1@oR?RRcD zz>WI!A8*#POsQ=EG)R9`6Fsu@i!1h|nYQpBn!EhU#xt8}SDyFYFInCtc}q~?6fBoF z))T$DpR;vB@^^Y~gr127x3|$iL!V_IsoyUQDKdWOsF#@GjM-3ZU|+VCn3Z*}USQt{ zT>`36V|=YW=dZN1N^^Se41_%lb>M4u@|7(SXU(I<)_D@jD-z|dwQ>Wrz)`puH2e`= z>&4Yd{*f>CxToaV4w?*L+0$kF3uaBPZOi<>-mY7mgpq8e?OV&KkVBbL*KnT7?W z5SFNqpJ@Ym&wcd%Xa+)W9PS$7um{dT^NzlAi<2glcDO{_rCyiYNz>lQCYAVZ`vJ?z z*u3q^0SK$!Qu_*jh@@O)Zw4RNox0~0&LV*fW?D%%fL+m$Z8J^Qu z#8G>1JMKJh?|421Q{61%wnlFzlti3J)E9$w9N^9l@20cIHSlRLU#Yake@N;N%U@#%m}oikKRV;n?yz?;dQdy?w3P4B40zk?0@ zgjg?v`ni4lqZ(qgYS7gLa}F&;~IH%emIANOX?VKe3pTiS>pd8|Gm(ud$RL{I z#Z$sfVyRsT^erkCje*ah)To~rLfycQQ{ZC}sOHubB;Q$eOQ~dXTK2@t>v=c6zE>E5DvkU$a9Cq2z3t`k(@Y@4>?9!$$M#k)>ZxNqkr0fGq~n zK2@=9(z7G*u=g}zO6Xk@=TOSVzytC zYomj}G=Bo*RVqM{ea!QR3C5zqHUzJS6)z$wJkTAFZ9|vpA)jg>EYRi zOOJy%cOhla6+mU%7(v;#f+t>plu-?h?+O}250xN4tfCs|Br7W38?sAS2SI&7bxSqs*6 zU|PI?)3nvPfusxjg`Dl(jxRXqSeiSd>nk(j*Di$4p<&lPzxE%t zCqfmC*XHHr#NFDlE8i*@OXgNe7z{!koO7;UFvNNjxQ|x(q~3Fm97hz2M))jgx9Z#9 zyK;Z|6)dk(u{Gfd_rlm@GjW}xXr!x`cac&^1QGmey1#scn0cE#IZJ&*!L5FvN)2Z_ zgzuRha@lRiUHGd}=Eop9dX?4EXJ(C$396();fP-?$GTN1)R!>Trg0oQTxSDw-33`;x3-quym=J zDSV*!pBRSk_L^bqO*In!mQLd5UqdgXHXnxJlG2BMi!ImFhsJYN?z%|E^M5)x zBtHZ(Hm_`JyS996A-h3lQMaw-EcX+m?v(Lx$D~KaKIIV9(!`yZQ&>&?x~}89R;8rT z`l6ed&1i|V9|Wc`NquXdMHA{dW77{*YQW4$JbjKY(oIDMT+ z83A4X>Fsa3))yL@MKk(4P|n2nj33eMkjK%7v@z%SWjhp@3U?k`u&Bk$zD$n;bih9M zyI+x!Y2OO6DXWKCvU93SudinH|Hf;H-ZnOyB%wyfeL;`g7gZx8$(_^si!%mYPmA1( zhJY;@Q@SjORo@pac<3hVn@#q-@Pv<-K_PkivNQ2raEs}Tnl=l)%VcaZo<`FD0)s9Zu^Iqh;C{7!}>#G$sXYhuZoCv= zGA?)QI_Wde3IadFj^ioUoL4?r6XFU5dT)X?r%w47DXs%Z=a-i^?TzPd<0LaZbe7Wi zQUL>*bK7kKz+LA@Gm47-Ox=OeT5eJ*`Zg1lHuan&WeSiQQi}09*sZ$x)JXUu1&VU~ zKs~_KY2Pw5S070Q=L0-T7)f{Lb09x9WB-g+4S4%HvHk}rY!AmpckZ$vf7m%_Z7Nvx z_Vz;j#*6gxS8HkuQ7Kb=C;`6a@Hpaj>T2-9FgKEy_X z1ph)Y5@$ixP4TxWvI2bv@JY4&5&6QIrt$tS$@y%||A`lKLCZi_(_PrXDc=dhlJn{w zB)10o7hnnf`j+ah;~eaQ@~>;rs!}AY+i`7_^3vfg_P{m`3j8$!kA)mG5}_sk+izX} zggRkI@p&qH#E-a;&D7?p^u@;C`QkUiyxuQpT*i_T)N{gFm+4S%dzQ44{qR_>0C1J=|}wJrPvaR{NE((1mQS zxx&By`dSD7W=vxwzsH28^RL>j)9V%4|0EktmHy4we`KRg@z;F+$o>zm_&>~d-!+ZXr*EpLi;W&&>wd+c z#5lgyd_9J13g7yR!Y6EN(ddw zhY&Zh$HO>^Z4sx;hSnCm)TVNLfz_^BylHiUX8f64FE1{F>0Bo1&7c9larNMu2%(Lu zy@BR&@>MAw6poa}H6Y_GrDT4C(}ng_a4K`FgZ0R}`(5IgMy271Fa3CtQZH_o*z5vD zFX9ASo%r@ivT6|0o48PBX8zC4k+7_^PPcDZR{|iOzc7|4r=qxGc>U`8*&OrM`K%=AQU9Np&Xnva((UoROt z4|lZCk0tfOFw{FaNLcySgbu3L#t;EfxyE$#=Fs}qou(aY#P+( zazG)$!V+9Tntb19rp@+6hnvzcdZ~D72g3Vf&G|z9Yv?Gyn2zoP)c1Q3|HL5RI!je) zMXU`kx@eHR+XKro?CE{x9>@oxw7)GBRri8(Q~mR-xgf>^lkJ?ikS~Qm==~096n~gM z%I_vV5CXdSTlSx22vJ4TEVF4Ydc*4>LvqjQYv?9!)x|{^Y+veuE(ghh`nlI=&90n* zKVv2$Qk&Myf~s0 z%NP}T`H@)gh#%(K@?6spk4`+ZaRC~q3jP;or0^Vc?Vr+bS|8XTDzZo z>f6%~$Hhh>ea{{Wpg>P4#DAwsUvy<=^irXnZBk^L`MCUT9mi2(@QWq(s#$KpkZsV* z1MP-rucFeJu9gWF?j1|7jFz=B&ho_p>X5o|RjhD@A;!c5Q$Nr|lDRHn6uQh%mNgHKVKBpd|3Xkh$sw3LrWDuhH;gMGZ~RLR1O>{bb2 z$|-(2J8-GON1iRPP;wqC9`d!?UGV1dgEqLr`YgGj;a6*L1s%$B)g9HKlVa)}aG;)) zS+1U=;K&NwMjmyPZsQ`85EaJ40~_{3uH~EP)4dJU=q&%sbxj8=*dXQt@869dXlg^N z@2DQSVg6uvXxN03-228QlDTbmGr;LfaLQ#F92UI$8(b`7;feF_t3CcWC5OrIZBXwa%eGF-{zwYv8gshi&R-PpwPvYl>f$k+v-hR%Ur7V{ZzE8 zq9Ntl-WjJ4;guFu`Amw?mwJ;9b;Pr5DfMBQmrSiKRWB{{E}SfabQl$Yw~05G%Bndp z-kI(=jO?RW$MrCUo|59{B03&RlYc+FfcIRL{GtMfzh+6&l@kbLd<4*13cGn?j(V}E zJ%>8BG@2}#0TF^L45=gRV}a&_(gjcOQsprtZIGmW!M%#Kxd^OC1kt6>*aj z%M|=t!QR(Ug3i~--{zM^gRF!?{`@h17{0PADa;E2pS&1rP}tFgy{mhm`)AG9 z;uyzq(D*JA@ey9J6Wer@s$(Qa)!#7T(V7FL+fsFGi2QIcn&GR8?(Slw79DYxYhVkc z!*8pgZp(8l2r@A!QF@z&+oicl@TNkn-7ysoppV-62N zxo0OA7PK1log=}K$K~O@oC9+QfVaY*3J}!)GQ>6RvT;F@=i&!)$n=|}($S{mUi6W* zRAWD8)X&Z^INE_%l59VTDXU%_zVj19qV@8_H8c@!-a>~ENmm_UvaTU4t{VXia?zX*{Q1+O@XYJ|wWd%Jj; zZQ3#$o?ZYOxxmm=DrtLsAQAIB1GCRDw7#PZZ6(sLr-pWmLWuU+|7(Oj%D=SDH&97E zt*@Bb9c@+k0@~TZ9zOAA)ST6}zi($-6>?{8VpdOwZsypQFWHXL8AHe`Tif!F{Q$q< zFK9>#Je&JAYP0WP3L>#FTqs{$HseO($6?;Kl2OW~BW%RIH;9K^e2t2&ahE#0VHZ;5 z`?&kLRNMDzeEP+abbGbLSKn+lK}MyhbyuxFdQ4Tfyj;7I7#OM8LDtJX^e{LVm_QjI zx^+!s%coGwM{|{ch_*>pg9Fyc`lt7-UQZzxttZXQ$;bgleHSXSOaDUV-~Ix8hEAc6 z@|E12k_xt5#t!P%e^B#$BZr4$C0piKh6R~vwP_JQ z4b7G;v0d-ge2LHN|6@{J^BZ{?oUs3^GgX6H#}#_|zgAA9*AL@h@F_Lfjdmqll+HOM z*?4PuHkm0wQ*P(*XtLaTk}AgtCeiUPU%7@`w6FZ;@=h1O7B7Ir7MOr~of>txmy=$p zlI*u{qAvU$0p#l_hzQZBN@a8W-Tl)yu9M6VhjMM=P*JUP>JscPly^b*e#1w=pV-iG z(HW}Kj51hD534UU@#HB&{XU*K4QcUZJ4`!-r5BNtVC?gj%m0ELbC@D9K<5m>Msj4Ie z6mg49qISH?Pnm-~a93^caWg*myiv5!3>!Lm$kn7TdT~o+=qO^eqn0E|m%g0z*{wMe zw*wEA@#d7T6YAq-Yd12!rU9C^)Z6TKPErSFe3;cYM~1szF@VDbBh?MaY$=P@!am)* z1$U2UFhjrJ)nQ5iSar@$;OpvMCSt!8rQ6pI9OkdQPwPbcmDyGC{;Ca<5=`P(XIk#k zOYypT58&ZdoZe;7q$C)+oPWBcKY&*H#ocA^dfCBJSQUtr&yoiONyVE8}S-sl8hdI`|b4JQJ?mX_A6YQBy zKh|_QS1K(dZe?!B>YJNgh1#rq4}0Pt7@oj1(yQ6;pYHOb@Uc-iUc_NtOnqms(br?B ziE^p?vWkf~J<5QgwEgjPk|?97>kSdF%_gb1&BeVWkTX(IvEb38gfpY&<@iRM@k7T_ zSz#pz*KBd(rxPe{C^Jt1a1rm;8x-wyof;fbQ}Qfa=t@F&VUJ7trVvPL~xI!50~ z63Ih2pLus+j_u<(c{^;cY(hT<*eipTMA8fgk21|+NA))Mt^5y39EFnRo+69ImU@eh zc3=kYV!yJ>?$KrnA80*%TTSt@?`*j0Io-bI;+#(+oVV3fo6>O`VWJjq@tomC>y+T; z8T)rc_R}3absILHn7)sUH@UJ8z|BdNQ~bghQqw*@v*ddX)sQ{ORPoe*3lyme1q8?A1(?7kDvI$rsBm9oovh3?EJ zsK02lyiNkROFb2&Znr$j7%4Awbs^`twP8})X^0?pRUF8z*MXL}dbbbnp-+Xb*iQV! zc$3EPv_)IvY+W1vQ1A$sIT7awx^^SxC&rO2MN}v0SYFlYjpMk!ZE%0lR4Zj@S*)o; zN?lA0aaFuIm-iBhh?J0=&WkmZPS;(DXzg{1d8b<$>7!>s?Wt$5=${zhn307V_wBUy zvWokUSDu)gHM`gEtoRxVos<1g>&U2r#@czTl&8EH+Rk6n1%ifi7oMm3n~Af6A2xsF zmEclfakV6~)yDIun<`QJiIItaHM@WJCkE=YX@|+X-#vSv(2l7(V_7+^f~e`<(#Kwd zORCl+S~G?4gJi<=+fDhoK=!pGOMiXps~+^8>iC9grsoy)@8o6Q8z1Uy*r|`H2sDq% zHS=|)_OhtP?_3mzdzBg8)LUjTv$tp%r0B=B4X{Fm;H9}?2I^eIP_U_lu*EuG1+e)! zr3+jY*-8T$2@FVsa=_$%Wou{V-1E$jUDD+A7(6HSULK6B5NCq~#HCU{i+ ztKYJx#!W58TEh618t}cWdG8H(E}E$qJ`FXtlhcPBkK#UXanR;C_glB=%vuELu0r%X z;XE>y&pGYzCQwH>3!4j&${1ou^pBkTMI^JSpzLshLnDV_6eb zsJvyIb{uury;n%*A&ZX;#Uv#~A*6bSDy3cCqCSRI2CH^8cx~+n{Sq^MgHKFpqw4PZ zS@Tt3kbf;=JJrQw+jRD-rCI%*`Nwo^cehYrqGP>aKZJNkS8-`35B3w|xyY#nnnJYS zn$rG>5uJKb?UBBCJml)V!#Q37`^NQ9G5k)^iRsAtbfjaeTmrTfu9r~Dx_+x(d4CY2 z+?S+I8!-WFf|VWSX#<=5aUT_Y-tzB9?;w!q9JxVj`IaQWOmZ&n4n#F#!INvP&PYpD z$l)6gpDDHu)S$|Gra7~2EaG!AZfKiJ=L#abD4xI?Paww7bHO0kiB7w*WbNjz$Q%55 z%t`7i0QGqba%#4aC`2}RmYKJ07Z?(IJFmYer-i^VXqj4wnS$qOhpM}@sF~>5fnd4R zd5m`B^cmx~x23J+`W&=I%7t_@FZj3*W#~MO*@Ve>XNqH$nNpmon30QhC1j0 zyV|BeDf&I_r8$_T!nq^(VmRnIc`sdpPyi0mqKGU>L7P|@{p+__ua(io8lCH3ixTiO zh&uWQVtnEW^t>(;{|sH~jY`@-_fB#Ih6anOEJna`J^F__>F6`8`1tmVkCd?v(N{V9 z<3C8J5xf356TX_izoHujx85Bq<0gm!K?(4oZ~onn7*Ys35j*6XPo z2>)Nwpbx0h(LdXFCJ+k$b-}N46WEde5d$tf2_;r(Si3ly1O5Rc)SdbK!HYbfS#`K`}uTlA25gF zwZBSQ>{DQxMuax>;s#2!h&r0gPtp@KrhI@lpm$fTZHJaC-MwUgI#0~g1d?g9FKzJX z&YdC4j#KqRjBPZv54Epa^XHYET=Ws|pUh`YFD);Wv=Tn`DYNBL4L%B06U?ZqE}e@5 zqAQYfH3lFo&0I-hwab+lrAuQ>3tHXD*Qx>(MJ#{*t9;wjM zYJmZ*jd95ri+Uw2FB?$dk54IX$ zn(JRwlO6j|Mbg6RdXzkFnUNS&`uSo-_qH?qNP@D667M(bJ)1BRcCvj-;nT|^VhF-= zj;Q?Rg<;W|m^`z$Z`u0ciFexflk?aqf1kmiDvdG3y|zrbVerup;R0 zuE`+%+&o{2-0okrdCXE2Z1}NY161s!A8;nHUh<0a4qYw{VfebYyrc6?H#EsPvrzLZ z9r_5?vyOe%4N0M;s1mClVzCc;R~K;*t7V05@8O86$HiTo8F{;kqmhm`gwKM?T-(rs zpH2RU{@!=ZNXIh)zW%t%fslT%wgBFWZTNnuDaC8`wH#l*#ekSeL2wDW;RL$cM?0MN ziE!ei5eXS$5z0x<3X+MJrgj_)o}!f^5ptYDU_?5zG#6?lQz^yV#-m$6Ev|8}Na4d9 zZXw3>%o?qxc5P>0SaN<&5lqmOp}bvDe@Q)-$){9wjywSmNj-?S9E|s^OESGT1RLtm zzb&>?%xb1n{qm$(3I51{)#}30B(vD0?AcdzUHQAIkEE<6*D(;bn)YAaKB*=7c>7tf zz#2bKORgC`n-A0@h-y4rF(#8{%BM(G>e~xt_jgqEnQj^VkYzs;srW=siz|91qW@w2 zu}cPxXH--5tj&B@{zSrzOvqV-YJ-{GMBqV*=(nM#^UwAvq^4}WwW=wjwpF=zQr~T`>G(y-V{Y_}r z?R2DLkfi(;fRQGlZp|_9J+QJ%e=p5qwuigg^>!zsIBe}aSOf`XM87-~IefbZQnd!5 z>)@WjY_Cq#*wd%Q&oQEt>rZtbrq-e6T>+5s*AYnzx;=Yqo0VfKKDJc5;S6oIsIeuWpTH9k;8XfYYHR-MpNrJ%v;Xo9R7W;DHD&Nr;10fCW`Q* zJpQ}bFMR+y7o0tg_AN7SMPn-zL1i$bgz>=OQ3tB~Ok=T|&dQe3LAPHJ8)>#xgIvN? z$JE5s6uj}BT{XgYrR%lCtDz73qo!{ST>ukXZyyQ>)F7IWaaopDyD&mUH9^?gcY$p) zt);@O)4oaB#}vWeuJTa(+qMPO-4U^|XBoYT@#pYoWSBvoH#%X5%)^<)A11p&)lm)H zeLj8@)z7DwA)kb~Ffc_iZhK;22w)JG(UR&C5MhJQ`1*BADjdIDywYSw=J*znhdCK; z)x2@R#%xrqaO*8zNa6V*xyp3Leh=Q<=hVu<{(!r3kgnmQlLvmgtMwz};iB}#Wjl>1iWgdCJH3;6_|3kj;UQr>vVzwi#z6mRqZ#b zQa`rA%>_#*Q@W#C1dUh58=0z)O54BBw@UaGUfHZ;m4UnPGR~mMa!K9N18N#iJnU|1 zuafY=+F)&4Q8UG=a8oF6pe1j@{+L4IlOt3ZSUY+C1WwK?>s)lN}0WnX3+x%l227#Ph8Jd@2QGv5uf*$i0;b>|%D z$C)~rhp2J)3u4()r75vvz%80xX0-%fyv>^ltrU_kskIzhMY}oZCq}u*6@pFIa)HBU zkps69hwQLN9l^KxVKe)p*0aGuPSdPtt+pP#i*2a;r00+mCbn`*kSxT& zzKL9!O=Jk2)6qGgrH+iO;_Y}c?C<@Iw9U87^Q)?DrouYh zKlA*=SV03C>-<_x6T>9BLDC<3eG%6U=;ht#5bK^{5oy))Bv&o9rpYpWDND0fh}51n zu5oDyN}`N#&TZ7x_+Gfy!=G$YU7TPw>?YZu$)D)B70jr_p(+f;%-axFyXA7G<$l8S z?I*_mkjETJx0Oa6ANZy;roQ26u%ZCgDYeb9V4KF9rKYovA=eMvB_+2@n{KS0Y`d7V zkE=|KW}GXR9}5%d80Y)Nn&s)xI^Zm)JZSuK#bHdFtOeUoQJfza&O2Xs$c&B2c z(31_RAE{yjqq)s=r+wU{J^GH=5_8{$gH~Akm*WRiXQDvpI|OTcPEZ@V!LH8nb@N;uC`rzgCu5}3A7*^VAI+^r2>{PL zX&EE`)S5xlcSU+MA?NX&Yc;UYHJ39Yf8yH~4ycKXvkVs0vc=zN64##nW?MPBWn6B? z`ZBWfg&%jn0PB;j2d@4A<3v$Q#KCyE6Uls+)J$yR~op4epkTW|vx(#0V752yWAaEFZ@!oJ}f}Hy9lpgkn={Fc2R|SWv zXXznNRo-h-YhJRs$7541&~_-dQn*qv8+-W8 zE?$3BGb;UXT*|0*M*M*tPnm6nOjtSFM?Jb@*7G(Swfn|Yxxps0g3g^^>9mzu2*f(@ z`i(7@%U*j<>)KK9I}l+#+E}?ugy?pb*k5Q^_}=>9#mjG)eQ-JYub-x)3DeSHN1{oT z2x@=pu$Z~TFI|f{4fo+TqyjHssUU&+>n{bJh z4iL2vL!+eM(IhtJUZEok`i0umo*dne*n-Kv@5gblVm!Lzq@B7$5b>c7of6^y!`@p* z#n}XXqJz5!*T4`USa5fT013ez1`X~mA;H~)Yk&lIcXwxS8Qk3hA$OAZ-QDE7-`?-s zb9T?!KX&+oeyqCs*WJ%kT~%FWC2>WF?wi`c8dODG+)zdW;hrB>-Y1BN7e6yNbVXG9 zI46`mBqC2{_{6_SN?fmYB|GxE936N(8X4H*gtM~b)SkPIBlQ}8X3@W_K?Lyh0)l#1 zbVRbF-r6VKy@^dSwOQcA^Z9D74*z9Er{}AIn$^LD-X5Z3ol??#Z(DHjK}|4D+xM5% zjPJ|}FcvTwi$7*Rlq7j*;bp|;zf{2N=UBe`6g{myZg31Mdc==c8@CY*s=zj7QudWS z<{VZ9_Yw9O)4gr;cpZtIe2We%j#xjl@2sVJ!)|RWe(W88vKEX*hy_j^M6WjCZ5ic@ zh+CiN4}$fK%Jb4mXc(si5i3@2m9Vc(!l54N1>wlHj$sf`K6j(hgxL`w1u&$vM6tZ4 zmDhajs?3#`ljENld1Jb58pZJKs*Aye|#P1k0YH_X70^ei&#}9$_T~#lMQKVKnOq`@9etA+4SL6;cfX?1dfUd1JYO#Nf`N;9IujCK?mb)Oc{NBL0pXU~`w1wi zSuW+Cakj_2s9?90Y!X6)v8t1ao!@x_-P6_TqJkDq&o58-O7ojX-*ofmR^uC?D`VVE z>T;+dj_0zmYj~x6_GWucZ8Vqq4QWiB2~@8>2UXNUKbKVqCI1}WcuGPA3em4g7P-`c z$T-*(g>lpXPk7`IXr??ENhxCDgL9lWf|ED^<@eNZ6Kx;AqjYapx93Ywj!cz%rsQ#E zq90+|y>j;C7Y3PMN~&kP)^5nD@s0Qin9PFrJ1Bsp`Wxj&WOlAPia7!Y*~t7 z9DqqYCihp8x;83`V#kd$2feIrM?Xxz3;dw850dcbwcS1;?bWOWk?Ly|#5L>gQ|v7& zgkA#UG$eik@`Rx_yxG@0(10AZI4-J16Binm`gEWFr+ngf)f1mGu8x_rbqLa7s#ria zmO(UDni4v2qNHe>YXvRbJZQ09G9h{TX)nUuWS<+_@nJ?wK63kUN{!WIU#}e4)-v6L zE8RmHGB4MdbE*A3n3SC*krqV0a~V}OrWfLJFw3La1d;TyF?xKIb8ZIrOI#SZevj_@ z33!6({|VTDm)fhAoAMqWbzzi_KR}xCCHx6EBY=k3K&JbnOwGI@gL%=qc_0Eck|&-;c-bRtr?k<_SFs3onTjdMqjW ztMYY8Nu(U8Byl_HQ6mXA=qW%=C8&j26oOrGzE{x8?_7+XJ?x<;cvt{D96S;{3Jg3VEZ(o% z;Sq2Uai6o{iM@SBZRCJYz^?KkHV%p7T@H=7gsQQlQ)MR?kTbrDklQ(6@(h`lM@=1+ zP_vQS^}@tu>Ri$^v3eRxn&eldzkdI%UMOO}NFze8@!|krVPN2qp`1YLgN22IUc-T2 ze9ne|EB4kXcJd70A*Zr)1MdU1%K0;PahfUPt~kiW&qVPN(e2_BY?kvp(F|PdH~4bH zdB`<2Wf&=RmCF)X@oP&Vy8a*uow4a`sKGA(CxBfe_uNUHTYgfF#pu2#Q=#;!*vrj$ zFOXz-2t-Ybqj*-p&y>;fk+#@uqg-6)Ew~H<9=d_1gtROZ@`yH+Kg*K+B;~yENbYsJ zX*xoBsKJw4&d8*bSlvUma^ZMUpL1HB%gvcbz41D*ph+Im4EHG03AaV9r8(tUV-ZbL z8lx10zXg@swM#d$i@SLbCn4+_3}20~NjeZ<}Ct%U$|)^my)sM;6jzH>E5Xy;Nh=qCE6QSs4yUCr!A^K7!^L;`D{TJD3nR|aXFuY(`K}Z zA}`cnOF3U-=$$S;X5-~WlBGZj;wfkM5ll++X0_G9U=vdy2ZWKgDXF>FWdtsi1G&xjM zjY;R@TC;0u_FJ`u0){0RWUvooaEV=ncn#r0HAW%3r>c=)8MTs})Z zI{xrjmlFf8L*;Cp5|zrqBzinzb&nQYaOHA2sV=*Ap0DrQvQ^Vbc*eAqLi86fPcWp>f?(TT?k< zF?jDBQ8H=NF}CBAJzC@Gu}8&NR5HVB>uO?IC%b2|UNsml$f#^>(tq>8OBN>) z)DHFKd6T%r>N-SwLT@gyEG9MYMr!Ra*G{ErJxqw?oPcf*PF*C#8 z3(4t)9)b^Ld6htGYkH{m;rE*UAFJAbQhZlEQyAH~$uzDcP*+Z<@HIa%wx3j)B{=8? z7veogqtBj6QLDLAgfRFM`&Mi&JK03CyfIJ==Vn_Ys?g(lEgaYs5zV|00QgrXc z6@q>2AC=|Xa4Ni+pb_c*q$gz5_l%NcFPOEs_O}f)ElSzHWIuP3WN`|2MR~BZ%#4G#VDR6Yvk4G5eUz056qTVsha(pHB-6PDpagN*_+94J8hy63Qf4IA8!m!0^ANh z6fy3V#+-TS=@V)VOK5i=kd_6W@!mOnEVSu31eGgujjfV=LgP?O3gc%}FSV=_%Ghd+ zkDK#Kn-_q`P6?JL5Z#EGVqvC zk3-pIUn~S-T7>H^ftvO{R;Y-*l`{52uZ_H~U2isxJP>oe!jdRg8ig9=CcVEw>!tBP$j zAkpHeTQN@ST#qC3dr+cnw^ z2^NO|Cjx&)-51!^8Q!P$f;X_ik)>p}%LIK3hilPFf0ts{M^1#CmHBMR$fVA8u~a(Y zl^9Ka7z1#}xpc=$LSc|jXJMY49}qf}*gfMm*r_Gu?1wTHlu)5FAcfFpN>emU&C^=N zb%qp#2$wUvv?Ju{tMUP}h>yn|l=j9^@<18MD zIU~281XuR+LQUVPUKW*>uJ_Bu1f>(pUkuo!zQe)$XcQy8FOXHkImOL2YZ|c8#BHsf zwU`puH%k7YuJ$Zxkj%Tg;I^#a>u@jrQxf}2Ly<)Gp&DgDa?$iki1a8~FPy5DD2~OQ96i`vo2_}(axHG7Qe{loB1k^++r#r! z@(=?YFR{Z?f0ykF{~alt!HvrK{mZ#5oOp5si|zbwn$}&#hsqJmu||X4g;sUq%xAoJ z<(if6>C@21KSY%4YxL>QeazkE>l3uU)nqncm?KL9sK&GS0Klw+V;~a|(W`(kQO zWD83y)pTYXuFi$ATByH)Y3cU5RB1F$ zpR?j07Qk@ihcWCJ!Glq>QL-VhrZZPZ1?5 zij_I$Ql(^!xpw0`7VSpPh|st;>3&k02?t@)R0u>VxV1bL76(753>WQb*ytvww?8Iv zQl(7$zA;?Za;d(q{~Ou zYGhXu0j(H*;v=Oe8F4Ge7wZye_OgiC7-=H!PiuzldJ5vDFK2jBhGKrXjr>wvLsy;u zONuN_L=PInz0%^4Q788#|FYyQn3qzrYEE2Y}Yqv_7xG3h5wbgfhQW}MvD@Uzt!9e{ zf!gBQoEBBuMsu_qlV*qHAAyYopW#Ov<>e&_tr7%lE?ot{thN~sWtgr%Htq`re9s=i zA-72^BoO87_x(fZ$ z$f=LWBiu(Kt({AqqX#o00_kyZv-?rqH`{+c+#nk3TB8`%zRQp~hGX^`i2$o?6MgWB0 zd2XoqUpjREP=%dz3nR7P>bbjh*T@baGaZZMhrRdM2ik1$n9HN}2j7+a5EFFw3mc!o zCPP^6^xefclC|8_qq!FP@a=EWO6k4IusI+p8J@by({5vh|-4_b+^CQcCnLRuLH$ zTh@sEOy0>=WmPh~6O&8;3vX`kA#eyp29y$DQ9%3srCdJcwBuddi|;=1!=;aIXKIzu z@aE9@;05WwUAoU^nvbG$*%&Or~ykJG);r}dYjI>+bnC7?3ZXS9)ZR{coyO|RJ;{j_2o z0Vo2igCZ1RSR!$J5wjzqpG2+Ov$~XbJ|uvNV`}5xOuYthZ7FH+LMrq``2FU z)+H^5v?p%!XX(2>87^x)MRP4Pe&LjBb~~9&em?D~u)`4$x6Q+;fR|-B8eh3&?$lqi zc$wI{ap=yS@W3KQtNBCdyoByvYrG&htZIzgzBHD0Z2sK*xdN`e2~JdPjXA{Z^VJ+fPEgM1s3=0(5x4r13&9myUG)vVR=;$0$@~2B#GtVYft@Tf0TlnvdH4Df3 zg8-sM#h*z0A8_%#c9~IWf4BS(B3AH+9a;EjFLGj`4kt1c%hMrG8;L(5XXeD75NDNtk0j;a$Py5{EhB{**Y+qj(iW`tcRS`MZP&v)2^~4p zo&an3qTr)iWo#nL8P9RT_*>=|RTPwDhLt2ngwh*(S4c3^;i6w*B1vhq{O;i2oik~u zzKiSgC}(+W=Fcgh5qyMbuAabmziJt@~? zkX_z5H*op4lDq#g#0v({kZ1!iX%cI+q(|j%EV-+#_z9DFK69OT>D9$Z)Lrm# zwOdwuap*)RnM)cl^R)3K^-axH8=fXO;gzct>;Ikr-HX{zoPI?#Jxplt+}lnA^{OP$ zt9q;&r)70_hm6)3Jm|hs?PdOWRzMeOQ6+of@lIVg0wZ0#ubU@quB9Q!$@f&WAx3Ec zK2YqYNFp4K3c>o3&-< zKS`W!^DqqKqYit~M2X&qGF?BDX_lEOr6TkVYg6WXfR`#|U-UJ+`#9wl!M9~C<4p0y zRMl@{`0}fRj~0U$ZWlLCqEJ1)=bC1(CPy7J9Cj)C3d%vaBMMfWlbzmgvK zs2TjzM!H(DM+<0Xx3^zA1B0Y(L!&UTKzhSVpKaVW9dS2*lysI^;g32V$7rIZo*0!2 zRnV`!|9Cg~l$|+?be{J^?2Xp(xmp_6mQkrT-*y~vL56>@98kt+%T7m#Cugg5_}u0( z!@AWY1&w-;fUws8CqSBnQ-c4-HRyKl+tWWJ{%sc%qEzlF9=d#go%zB`d}VD19gB1qU^5yi{}LmL_gMD*34zzr~Lyk-al=k?i6MA zIHBXI!fPwRz;BC*di35@Vlh#SfQ6ZW=kdI|)!v1?vkCXYXkBQ!9j`4#SG+)V#p;~b&bo*x0{ugWm4l&!hFsg4%;oIJ;`o) zI6l-NY8m(;(&BJQ5w-p=o`4bInQ&pBbj8Ti!$D!yr~FrCAYBO9UD*)eGJl(lA^ajP z&5AurxK#VBPEQmpG|Cd&Qs%${yxBv%;w;wx3o7e?K|U{*;W+l?hJ%kR@P=DRJYlar zFu6n#qQ!Daw6=F^L^5seYM%&F_?Y-Y7MLv zZCY(i$J?GUBE}hD?J>pWckGGNivZF4#1*SBV5W7(2k{yW*2?o?LAw~6C=zDooo&~k zD_s=Qc{RVk8pA!HDQ4?OwD3X;l&2)%M5M?3VMO;Q6zb4l@0emL+@%u`C0nNo**Y%wynbs)Vmbxx( zVFY;}o4Ug{OR23M%-xnZxe1q;`u1~;>DhZVK``K=3$^G!B@{7)yhEJ@bguQj>9BZG zMoL}6SVmLuD+iV}dt|C33uab`oG5d#N~^_>k9#*orso{Mr9sjS=(i}XnInbZ?iJ2>zk2i3G1!OJ?EN(x;I2? zJK8(g(vMw1e+!sV?KpSh?ZWH{ZG#*Ig>9~3+x;d0Pr+0YwEu~jsI^r2pH*Q0M}hnQ5`eDD{tpC^QwSFPmk^B+ z^8b>;nSK9S-eq=e(Tjx-Obki6Oe}dTV-?+SjWR(E;kr0^?NW5%5GGsLFXP#U18GTo zoDU~q(i{n=hFp2&YD#~N=l>E6CBw@&Bg6V5mrcR~I~wLVj}5yl`s3<@1deHq9-Thz zz+_A1`pUS56Jo!R={4WHQL(@09-Q%i;Je;;sr})VgZa}m)U_g9{Oil(2k0iPqt4!} zht~#A%&7U<&`nwTlpWO{eJjruM>efSW4`m(dJEbU^Yxg?@a=#~Ei7R6ciWPLvDaK(g^SmK zZ2nti^Xma6FN3&K-GXc^gnGmp?UKQ}!Y{qMVjDp{m4mGbk3 zm2mfz11DyuGnB8y5MajsE3Fya{L}n>S>h<=5+&D^KlN!hXiR!NJT1}RiLbi>)pHd# z)}dUdH){O3m#$u2hV!KEL2W@Y`t8bA<)b7Vb|tRwy){Yi}PXa0cqVn4@IZjxHT#ML`kf%4;^1T&qWz;sTDHf{Ok<$CA!Yc`QK zFkc8=bQKSkGAd>h+7O)vrlyc7X?D+apGJ8j(7T?Y^fe*mQH!rmH0T#Cq2}aJ7cOzY#KEi$o$yE#6v8$sZOgWMGu zRTlcfR?LIOj5xegV&2x(1@>&p!^}I8`lg9FbA~ySNOvDD9c-6i7azlWsJ){* z`KDt39vI}xR=yQ`960{V>L7492{RDxJ)3X(5s#R$(o=WaG`SVzitGHPY=(>=Ph0cHdMU5YL~ zu_L7iDlY0Zas_tZlbX{#@{_*Ji5qAxF!fJRqbh~Sk-(O!alGHW+dxqd48eD`EXOUb z+zIb8sFcZ=zRVh4{tQRq7&Fz}-B`W3x<=`GY0#-`E|rX9$)!O@|Er5u5A#zmKB2mN z!smyn*@R%e;A6}&3MskijYiXM^|L?&;SNiB#r}3l7$5o2^hAR{&$N~0 zP=d$HFO%;IzF=U>HlG^Xst!Eh8M`!+`Q`XX3rlO+t%Y0!+&qe^2ugI-pIx2TORC#U z)<>4d`g}fUkuvDDedG}-TJm%O+W7<&$bV;v6+iDM^Ut&2?4(-4Ut5nPr`+cnUMuuH z1Xc2J*C7cI#$sf2#x%^tpy*0>7;WE%k~{NEe}fBsHYX5RoqRE|3F=)cfB$9|%Q|#+ zajwQ@%qbIqVKGTJ44Pr~5EOLY44EF?xR{a?sSaTq%b2>fh>g;Nn`JOkLJQ$bXX^_NlQoVK%-GT>hf5 z7V5Vo5KTavXF8--_Z+}AK3z*&TroExxbqP$x#G5}jgoa*X|=}U%@pF9x(cyR>lcxF;y}Yon>?Ba(i5B zgV3pxi^{{qcU&&NJO=7f#_6~v5R8M9h0Ci$o;;i=XHl({?kx8$O-%w|vS|iRipW%M z+ann~gHFsAfe>5Uk(mWY{@ZXKbw247qbKW~wI-LPoVD(8U!CBBZsXi6X8O|D45(`; zXxNP^dh~+)Aqyr~xqASaYm#yvEyG#n1{Mwo^;Y_ydL%$M8~i7J3jfJjU^aB<(#aJZY22>Sl2c8Zr2KpDXYFQRQ*B04vOwpnWAU5~s$NU>e9%sM1;>cDW-n zuL!Ikf{MzZ&)6pu2(gZ0N1+6AWlr=DmKl@vwb<$LoLZf|m4&5(j{z*abj`%PF8aov zfkl2pcEk19z3SxI;I^N0kke$5uw)+sRMA4klTxZVEnasobz0=PS;P#lUADM-TlBds zLnA#qyw}JMef;QdPa%4mnDA0eHG`X%s~z`UX=G-H2dppZXU4sPg^)a(OO2jw1KX?D z-jR{lg7ilh0lUZsV-Q(D4B6bJRqjV55U2`nMyjdQP3acXu#fA@xK}eL^!st(*hdktfOfcjQ`r>0iC*U+WX^dB5oDHJWtmLlK!joPW zy%d(%@sF0evS8B;y`xP@C34jbt-iyZwpu+jY6gesPp=ix<}{IBsiv?w?{<;&XI`hG&9DH9 zKp(LO4bBznLZ~Pyib4gD69Q0Jz_P@PuV-p13J7y5?#79rERWdMS8-Kvfvw&Zj}4vA zd$ZS}pjgo|J&&SkK&lkAf_lbIiP)_D_{>}V6JQzs6VRKZQo^(+g?%TahW z_DxO3M$KjKyaaG!F`F&zoP}CD;Jw7@#1ZBVmI$oVjQe+Iw1#0gL&sOWvh$Rkg_7wWh z8lB8M4l(Osp|S(Yg>D&r zs}W!A1gIzIWMkIteP|SzEx4VuWNqO>RCTnwq-fGHL#2< z>l@VUU6&a_YYe5!SR^3NVQ^g^;Amk0-zSaEjLZ!SHUN^_% zn?urb7&jF#-c60C-KhP4ZNC0n5RdCLLF7LTrFy}GsbSSVs?^S`)SO?#B0SUkrLup3 zbO>d&3GfZMQNvVGN$ZMbQGW5%{BA#F)I7MvDSjb+pX|2zm^aSXRM&QUPq+Gg^LAj& zpf=SKdUQhL2)VHboUP^I#HrM~w=Tk7PT|bARf*wM)jz1|%54d%P_qRbGBY|!>{wc& z)h6SHr@5=t$$gSvj>Az$Wn&(A+8IUyI6WWLo?{an-fJRF&5_35e1_&PYBeMy$C;-w zjO0nca28S@Nm5E2CMMGJXv5gcV;elh!Alh$?rXCCZu9Ofj8RYO{N;O^IDgG*&B`Qd zEat%FjzdqRBJz&C=DZOxL}5*gQ-V#l(~pa!qo*y+My0MF1hWs#<+DT35iNwsy@aan$>za1Vc#gzP+bn@$lYu zlW>|ZYYs^>#Dh;ff|M^^)CNr=j_LZ#fheg7T1@ z;v4ibuZ+D}Pyw@Y2#m;)sp4%F(6IlPfYiDt%d1s{J;#r$K~SnlHn8*(W$C zmQ2v!@pQPpdsOvEe!n12<40jb!-sS2N#k%XX_;@gzBR4l!{XyBSDbYm{L z^uPg9xs-y=!BXYBo*PR&oY*f>%yR?6Iv0=F1bbE2TlHqdWipsTaopU9t>;5?mH9}O zqwo~Xx5^T&rOxa#^UE~bb!0BBwlG8WhX?q<{*5sQiPkLH+gQJoRh9Q?xBVD-*~ z%EX1CW01zeA))nC+yqy-QnQ}&xRjtfIAw%xAB9PoRPI(&cJ7DwtQnA7m=#F3t6N7s&GN6VYg~a?*!$Pjlksj~mw5M~~g(~A*yGMSsE(-hMtJS-X z*7YoL5R+nWgPZ{t_Xs2YO|!!j$y5)RHS?d;^Q^6tdHPTr2G=E+@T#i} z4Obygg5X2x68v&CS&9UOW}+ncThD}=Kp z8gG5ZPTQT()L`PJqZ}lG=3gf>7D9ZYy>7SSc5+* zT7iHTnf^}X7&c4%_lX@}=#;{&?yHJH}qRLwO`PBm`Cm@tFICo6Q36w4#Zj##vx@TivN(^!gaN}b>% zt@KVBECR@osUF4QjxM+NA?}1h^yW}mLQZ37VrVmeu)`#)3%4~}cGXAd$Oxt|`|?VS z0+C1w8)Ct-1W8w`S0tMSrBMt5@zGLF#x8d1^*k+Lr3crfW{QywB}Q=6Fw=R5Jp z&gOz%xmsyYkW5~n^1|C*-WD~o%5WyxU zck}2&&a-D)){kWYb?irc(xWuXf-*Ew%*(jsirjOS38*8@b(`Zw1b$iZ% z`zK*;qC_^my(%9K-R(F#eUH&qvE|+jOf%+sx4p8;ICaJ(ms<@v(2&7BSHfeXaBL$D zW8AnPC{d|-I6bGai5Vd3uV^j(6$<&VQrK!^&;KEq;Jh5I+bWD*&02)Zj>YN?da2QD zCSw(q0W|w!ZT&+l;&*2CyYe6#xvWtM*O&DiH5S62N-SQR)z6OEVb>?HnqcPPJZZh( zVpDnypA&G1Bzk)b^py0BxW^__(p{Ah6NPI6A}aG+yS33>KRkv__qXT}aBw*$3ic$H zR7Y&qTgD9RWSL=0lkMWHG{fV7i;mjVK5Sw>-}oL?8aOnp0{as{7+Wd*LqvNAVH8Li zi;8jLw7NU6D|8Coh!0Unms4VDTK&g>ty3k6JO+8nDt;Nui}0g#_q4 zci59?!kKW>*@2W%_Svf&qZ7Ec#0yYr>}@coap>HH47jyHcehCpGQcHpwdv4$N0m7- zyu-4?S3io`EQN;rd=AnUd^?@v+E_bbZ6`BAKZCSv>tKMiFan|}k4Z`-%lPWVCj(AA zb9appjEp?B*s*fem$S1uZ7TGgy_i4x!h#nT_?^dks@PaSsStS4*U$fEr$*R~Uk1ZY zGAqVnf>J~hz8+&OFT9?4DPeT@O$~p7Eln5h>G6PI$DZi*=~h#9-Q-|(hu1Ezo@&5`hKe+bb6Pc*-O_mXqu-c*mcROG8 z7QFHfMq3G(E_JqqGPx{fm&1!X83F>rE`w7F6=k{?*CU?f-$*Vcyud2{bx+g4zC{R! zAF(YOu1WhylseLkD~An8h>k*Bm-A8~<66?46IOJeaIEV6OD4!N8I zxL~N5Rd<*7c+4rf=h!`bPf%*$1t_fTamWA30qqh4-|S|H{k zhJurmOaNyZyl#Q~HDFX}3=PT9q@wOr(ep+7{6-RmnBIwzh0{vAUjlCi=B|#~SBiU6 z?>OEzIWqlQiW3I`;G-O{9O_nBTRt#H!~|XGIeDPLJkSh8$3Y~Kyy$}B^$%1A?pOId zhCMt;E0o%V2%l96Tap9IS-qMYGQSvyz#f(w6;vNAIQ7tW9y@tn2yE}5Zb`y_v0~HM z4ya8r24##geV?SljD&IADr>urr@0|PVkA+zTFXk&E%Ik5BdpfuJDF(}u+nJNx*j=s zVB@{EO7}hKS3?cK%Afp_(0P_5vgZ_Ij@KXOToOdmMuSF9Y-I0&$U$tUZ*y4gP?m`K zA|rnyf9b8Ri)QBjk@Wgbn}?}$oMY@njT0vV)U&+nuk|J%PUzy%g;!tSOo>53nj36xJu4N(C+FF>WDnpNy$1N zZlkFtz@zrN1}cT{n{02l&cVl3N7e1~X6%)v%o9sB{Ezr=u@Me`NqnDbN2vk?0tE0O zRKO@d7CY@GNA=dS8DI2Er-vyHQOEfGY}lRT=Z@Acp12E%SH%r&L@2j34kw~_WhPMF z2h3IUlG{&!874HB%AzqeGKPf)CCoW38Pc>`HPQVki2Yh9uE$=UCWgl(O2yaI^*;4Zx>=R)54!Wwm?9G@X^ zW>JP?g|=`7_cC!+?Vs%33`Zg`C72#GzXDR~;dSGx)0EgQIHAU^+P1YYCb@UBN#mJb zWCoDO>3InB4Z73TDRR_~yW}W=KXUat?8=4W!5I66)gl%rP@1RomMYpgl0{a;+&wR? zUV1BCEGnSYP4oOjLG#XEK&(5qaQQ^3!);LR^qSV)%)9s>ikba{ckNt`kSJU?%ymnx zdf=L@g6;dM{<_Z}wc0dz3cg2D2vIIyxIsCDCb zXA)7>^>S1BdQ~AX`hngvp-u zJ?6I|cUd3KBh8@>X6XgWS8>goXCD!7^Oh;;Fau%q|9Dou9Z8!%Rx^u3pZ*A`t;iYI z){N(SkKY?yWYUv{in{&T8YPutYn9j_KIzuG&ZlOq_+V&OIcTH*NA<1_1hn(Iu_dN> zl6Om->{f|mk=;2?-qD?}r8<|-Ih$G4`4r!}Og7OyR6=)})Cmbr;I~`GKZ?Y8z0TTr zOlY4yeX1#cV_>yet5sL5h;IpW9u-y$ZM*4L@c}HJ#s`+pnJ(f!UF zS%jl9-xh2s1jRot!LvHH@G+ACwWKxA589-AtMz4rh7~?o+D|V{Jap&6(kz-lV_R-z z{_bbm?vp%=bbV=piX|@{{VnUAIAXbJG4kauXXHm;U7jNTD3$kwrq(P$5@c}|gh7v@ z%bYBK{Xd zx40yIQKxh=^`;9t!QZ+=Mju?7aw5aNq%L5gw;-=x&gLE4EKXV+_!mF?8X)oi;8IAp zVXl6@Qy*JSz|WhPSl46g9wT?-p~-)=_gGV(Nl=QwR8wE|A-eb(hv=R$i%CT6qE*P; z_iGY(i^z;m2u^>Z+l*sdt0OR=8a2vC0!k^{yWzZbBLATgwf=;b7jm|X;S$SjM}d-O zJux7|nBKjV(k2Dd{YUpE62Tl@OI*C-c>bP15rc*_JRKZ6Tz_LJuo|`k3PO{F6v)>$ zTD=~y?(5@g!*ObKMcG@&lE{buXSNFc0#|-m1gRIT;GAQoo2rg}=oIF`x?i^xZrsN+ zYEe69gYZPmjaEM|%^kEzPMS6T9J>FYufQQ*zyW{qL_t`SU>8_hy-k>s(cwf;F!2 zx0>vw^4b~&s18E!npgKcPV7J#vFtIJ8wN!iQ zKS$q}+-@HR7Jh3d<8p*Utnv+{CNZsJ3kOW6ri^-9N(45ip#8-{|DZ36E+-2?(iQG3 zKLNEZy!*Y~M^^w?AN43HnLnVS<PV42bz0Z4YbgY%iYpVJu@F$Ag~P++cetbjKhWE|6%VfquOlVf8VrF zXp5CnoFEMpC{`R2v=p}%iaWvGEl7dl5Fiw{0tH&!T}qMQ?gV#tr*!A(^FL?(_IY#m zUT3Yd_KW|EOtMzi%zfW;jodSHU7s&o_Z7<@z}q8}_|y%vrV#N%H;9-Tq1LfC1H(-f zy&%Q;o}NuG#fj94tl71{!xn^H_J|d3;~sDFW9*uUa2dm(wIrl9N2dL=p%<}>9P^-R}ws$n@5PdiT|)X17rSlwu| zQTFgMLR-NUj(rG_S@gaC{+lG5DK%wTgc&(pX? zn5YDP0M-6TJMPEveUNeDh>brKRH)Lo?h>QLZmkf%h~ZCN#bAlC|@c7eEhkKilv^U9r z|N1|-4$8DLVCwYcP8}CEy`JAvI!Y3x(;w6dcEk-o7{36pS^QU!AZoFKRHAs=m24aA zsVK0ZE`wtI%HN0-{N8#1zJsGNO$Sgm;Z2N0udm3sIGK#P!y>u;J{ zWx2TeMRm743MT(N^3nUyg)>86h2qJj`{vggos}&UGfkDBt6LCeb?r$#jP%;8^ac0% zcJtGZ9RC(lGj*|xc`M{BUvf{SJ9`(P0Fni#v1-{59qXYEa7d$?x**d}*fPyC#EbFm zWAvmWR(x3BIT?NzIbdg^D|H=o{KChspAl%(AjVXUQR=)Ay@p?wa+4;RsAD}MzI<-#g@sW9NK z5u1km5P}s|JARwf@D28H(eL`vX0>9oN4oM)T9Kfz)rc3I5TRV(1r7fJGcRUb4Di|F4!Xz54(-wHMVpKSao z?tilcjGE2glLja8n2n6(+*uwR2fWiv^YZ_+8ZnoSjS9_$3qGmpwn1p45Jtt=k#Kz6 zu1k4Em70Ylp7s%1Xc%nX(@Sp$PdoTZ@ajU1?QcfKf3qufCPl97jy1vq=5~4aN+I8z z^(ghG-r>Um2&r2(GRW|%U8<^@?GLEY5yj~NpJJ47`;eZO*Y~e8X)aUGU0b3ac}*%@ zI+fKAp5e`ixuD8<`&6~6LAe>`q}`Y9j;cy4mZ;54vxo)cZ<>qfncGFtfZ~K+{D@GI z&yO~8|7l6Itmjwhd)c$Ea84u8v95)akGGVP?%4 z?^nMXO{SiJ)qwx`5DLoi2pgZ-;8$3)P4@M35bIEfbs7Rs+s^ea4xs6mCD!ht8kjkM zGnI)e?iu5RxRn9g)N|_9g>KMNP4ZVU+mTc`<~pa_)5I!?kNL?eYq6&9laU^klKNzO z(x7iKC)LH)f$*Vj>&;vvdomBwCiT^o3YPgwv!dwuz4hnK9f-E!bV&W)k8(aOc?o*^ z=IQ1E!#nvZ>=pGnSKF~N!wNwL!1H14gU=7~yV|B{&zSM)5qVESD=$`l;;K^81T!9| z((NoQ*x3{4+iqO8J||Uj4uh-b*7-(0^lUmN_7`8d) zF@M5mW5~~<1lEv>{H;rnqJR<4c(yZPB3Vj;q6}|bBFePlpsXy4T6}GFCtF$XPCfl^ z#c6TI2`?AJ#Dyc$CJ8#yA6&&h)#OT(=6fqtXrM1}A5%^oLQ=OM6a{#2&E^?7?x~5o zJ|5<}ZO2TQ0oB|ah$#KcC=ZD0-stowB=olDh=q5=_lqvNfb-6mewKfrFu~UsmY17)se-#EYI5Ysz1XG!v(@v z@f>!WGk#AP+(?~sY=P7Lb6eWYFFgyx?^CRi{5y=-w5+Pf@Y%qCw|*WAdT9lLpCOd%gOb(#by=I;d8%@y72~3yW!YX+{lLKVF}MJO@nn z&YOot^dIC$m7=jbT-F>WaQATS16zO>57DArnYZ{nx&yH;5{LfedO}8EXJ+k}B&IaG z@}vl6!0R!$PfmvbJ6`HPpvqaEYFKm*XRM}$6~0@%FSnByNAC0MANJ+DYL2)1U1R=D z9%V$on9enp%`PQ`oiKtXkU0@JIMVG(!m#3jl_^Oo&W~N~m>;;@f|E1pUK!;J)SWY$ z#H;*AeniOg0hM%ca1pm!z>~rr${uQNdUwtl8k4~3pb9(sU;{(zvSYrdoMcNTZr`9u z@`3fA0~a^{fto&>sV@jN*lKHQzKA2J?b47TJQuW8G14o6S_(?9Xk)~&-+2~dQfXKTOfwYg zdnWPBWC$;PwI6PdPL7#}X2l-Ys8=O4+PFiq}!Q3n@O8)t9sff}yGbZ-t1AJ?*T^k^k)L_`TmT_eb z-kq3vS^J*afWEa;0un^v>u#NQ`?|keGhABw4MLD|q#q`zD`FTG6#VZ1%|Wh!BI|b} zX`!56tyK49t&caqNJ^m+^rSky=<|nQl!3QL-nFHpef-=UHND0+ZPE@zxYzORLRsjZ}M=?FVapK=&wWwPq0`H9Z)wf--iote~khH&vj3aB^!DA z)o1pJQn-d)lTDm6HiQQt^p~K->w?Mu7!YXL&z(gTWPN6^jDoC*I++93$MpJPAZx){ zzapNIvihsW(420~-pRZ!k=(GA7{zg$t_A(T;d8a%(S{wVIn7l~8M<sp>%IVLLt+~CI5G;A&tf_6g4(6Ox+m)S%2R5hg5=cLW(>n|pegv~$RUu| z?JwcelQXa*g^2Wb-GA@wQxYGi$e=doY1rNK1wTvhvHQr)l&yuOR5AEJ?*9`iLg_#2 zod4z6e@sA+@w)$=$NpLs!-?&`v;I36{C714{Lf9I*&;5ne6Cf$juWJftw_MbJkI}H}cXyW<)zuC{ zeny@=)I4wy-xvlB)qJ@NP1*V^DSW2z@|EyD42H%P;H!@150#phD3}=Kw*y+Us8Bzj zsh-f4gnm@fZ+nH--1YhS~b)%4k$Q92l?k)`^f%<+Ba}Q&`BC=dv>p%~OK9#Z9y`>I0t8&?maW6er@w z7vh623S&kmU0kAtQ%FVVp~< zk#f%->QZ2#ls*B+Ea;s-g1%pw{h&)oPdM#ZMR`@-y^T^$&ZF?qHGR^cWiNDSpNbJJ z_L1VDi2XwAhB^y#D;n~btoaqavvPD{AdPIOrXu#k+czUl?3gsm{saG;g{?ciu=P|+P{k#wg(K(- z+(G2^3r9QIi4GDYWgH)7WDjAlO}$is#AJUqTIP0_FuB6);Qo@!P9XN6!3v(PJBDE>6rWS!H= zwW}!bs}B9)%9HJ*1r-}14{x=aQK*)1s_XT7iUg(ZX7$`0*8DI5EeYN-NzHUuD@##p zIc3JsUTQ>+;GHOGruSWrA5>pQ_qiipSOJoFmMpbW`k8;t{sfm28CJ@Z4LnDSEp)tm zJ4{EK*d)kdLGIOX@m|J)k;u65ey_nm&e;6M`o>gdiVf@!V7LZY;~_^Tk!@zu<6+#A zcqAMWpF!f!b}Xb^T^xI`wOcnk=NDXly6)&wHfEA$-r446aQiG~zkh>$_YK~n6HdzH zwZIt`wbILOS=$Sl;*~}!NAnNq9+=iO_mfSx-lUSgtgU!%Vpgk+k*c=XSHn%oU+rgX zQal#f8wg9`BS(uXluaMSifMO+ zA9959IJ-~^`$%VxXoQ`_11%@kg864!xRhbgomcpb^E1QtO)xSD;dj|5sUA!0#*fmNQ+#!im83RUw>(28liNI}JW{eK zeLBD;;1uY7#qLpu81OFgr103|g(x0-Mp>0u#B?ucklLz6a9UbI>lHr#+q$b0g7hKjEq5TdjMoL&d{2s+;mnA)NV}ZMY#1 z=O7+K$+72rU-LOsqIzU@r@F80f@LnDxlqX_QwH|PtzB&l+?6`GEg|8LhsS!p^ZPkq zb~7`Ai;r{CO4)#7Q@a=_PZH$rankh@L)=}YwE)7y+EQnRhcd10!`MK+-8pual7Z>+ z96qyOpnp)oJMG10Bz$?FtO~rmCp$L4lW)(V+BSD7Zlqiop;wGLPN;iGMM)oZiur8y ziXE(3YT2RLO}=Jr=n2gUZw+^$0QMhxkW|GLe>xQ2!t6IIGPNElWwYWf9JQXo{J6|n zoz+3qT;FjHyr_QPBmb6JN1GyB79(}Ffy>mw*+mR8*@6kQx%p9^(vHz`@sPqv*Cv^< zKK>`4?v?; zt$%MKf38}neDaGH6qG^^dc`07px3o|&*GW*VReQm*G|Ux;X~TZ9$=_u*N#9gG%&@} zeXdVO?cHiD591L zPN7^z^ssyy8(=b*cHWn)%&o@bYa_IL~ZV0!0=J9eI0~NPcErVuGcw%G!F!*$f@rVQ=rUAMj{8XJTO~jbKRpd_S^%g%iQ~O~7f-eOQ#cx{clUEU{3>A+W2|=mI*1 zUyp7!Q5Toek`wLZ;nTfwHH+bwU56xv6!UN=BoMDJ=CX(u``z)bL_Aq@AaM_y ztUiB||FP943hD#Bz!lq{H0o6}FJVPm?arqaf@|?{&0`O!)b8G5+Tm@`H-E(j`d45p z9+o5u&CEHgCOiQZ4se6uT65&jyUDQG=bK%oVsK1Ql3tz3W@Wu&S7lF6B}n* zXb*kdTek47BXvKPUt~Ea*{tS6O;ZGJdR`PiDq&l6P^xZ44p^;R6{`0)6f>n#y(ur= zer81fNtRyV)O)a*cg$RRv?LQ`)wz|jRV-$h!X!=0hWj8Wr;Lrw=#I2vV>3mIpT%-lz!Tjax${NKlIh>kGzPIle!NyI{E(zWCE9b0 zO6i!boR8?hC=zP?nhV`ZwGyc2&6vz`R{uV?-tF%4u_n|kxD*E|WLLvb?(p`Sx%XuZ zV7>~Qq_I^$Q0IJm@?~?MtG15Hdc(fs%rm8{Hj!^UQKed5YfiHC?si;SB6BlF`)F~b ze({+*HF`>CwJ4$LhAwjjXiPNW{QTzB>Qrf`BZn+IeH}tsMcJw8eU{u&(KD?T3WwRS zO0ff9H%MhQW%M0WE}ehlnVmjPQ?y4&(sqb+p}c!*@RSazTrs$U(<(JPSIMCd>uIx4 zkwBs9>dxEk+!Rs#SC)u3+=j6m;@j2HPt;5tk2-7H`gkVuP@gTDv$;!JQfG@q)_Y9h zmIt#5?bwYh8_pSvabeSUB+9LBvRbT(B_isO^ir2YcI)cm0HwAm#gg9Rw^qfvAHAX5 zJB|gv@>0_7Z*G9e*cz4X#1#*7y_~>(%TObG7L({0V5Z6xtnsSoD!biih@2NU7<@k8 zLyK>DAC!(v(j{nhlgG`FpQ15JCuhm`g!w8hAeSoQ7-AA+))GNpvLHy*VZ|j0(At*% z41A`$Q>FH*shLQ>l2KAZ$@{nVmeNeuXn9xl_ZqU5QdS#SRtO3+>AH${&OCqRYsu_I zO$ZE6JFSH6Ws~G5ng$=4yGcI#`Rbm14cqB8h&X&8N7hq%EUx&$K?dLCB({j|i?#N9a`~;G^Fedr|t&g?2_&O6# z!BJMaaA$d==s4;8hC>w*VXqPg8QK7GY{S6pr(1D!URpURI+rv&292>7)Vf3ZDoV(u z`dvn;QW&09v#qh!zO!FA=R_8v%r%P!T?LJc|6|96rmCkiUNyqwj)DXanO6{fD_`FG zAJtgQKG>RiFz!l8lc^Nrv{pd`=2whqW?2;)X^#yist){-;;%xO_RtUcSWyC05Iqi)s?UYh={#40-T%JJ;nifj@nbhNYtHx5oC?xQ{dADb5SRcSPP8n0x{Sg^bqJ z64YBs_k%G!Cjml}WP7=(f(`j$K;Bu~Djj1MN|@&5!%^^W1UfdyTJH;ythK)-o5Rjy zFrE8v+S|%5?#UB(t6G?O6=~zqCOtv;T80!Gt69GKIhDGnGrK0Mi2(kqHt2d-bho0H zR+9=ggeAB>7ClQu#1HB=2}=MobE2xvf!ax~m+e%pvzn|@bR2k$Fh_g<(dLBusa7hv z(A@_ z**Yu4hZ(tu(KxQ&%xe?yU81ZDKBY3mqd5C@<1wLGpSyarmIT*Gt`q7Ww6g|o1Ayxk}QFLV--}E^~dr7cL+OhiW#ck_iiJ$5%+G|v`Q0Nb!Kz1rWA)&`< zMo=Hw7uPLw0ZA_L`GF3Fvw7|X^ehH{>D5~@xY{=+_UZ7s45}oKLYn(T_PuR>&ow&E zR)FhE|MvOO6b*NIiQR9xx#*&M+GP}md9HdIkty{h*JE#ie%r`Ipf9HFhg4%X9^M2- zYaPZ&3=@ZkN~qP+S+t|3>&Pn&M&?(#8RBb)-jm-T(<28yVDAJ=hsNdMZM{kKF>I8+ zF85A7i5z+&4*Vf-*k z>hE@g2U{*hqnRqcay%uDA@~}^hQT-!uZMVeXURr&M>n5g+btr#T+KF@JU-taFDiB zq<@hR)~@4~?vlVCfM(!t=y(b4BbicjCbhByO|#@;&vWX`X!}mbF#2bYF%cdQP%G@v zo`GU#r;CLK`<4Xs{x@a-I6x@j$B)fCP=%P9Z!cKava9>{ zV#X1CB3zGIJsc<<+=6eu92{)Irq<%`gX_QKs(wtj(Zlm5-j#iJ zRJF9xnuZr6;dOaX$c?HsW?C(`8y}ILh(wqR7oBW98NMTNTC?wma+`3-K!y4@D=wX= z=O~2Y;G6ooN&t;AKdpy1iatER9}a-UoA=tNy%vHoe%p&zWtaQnn|bQeFa||LGWYipSwF!)vW=W z-IDCiG?@yh&*2O$guHjZZ814d^bZV6A__CyS}z9H>WU>0roM zSOrdZAKo3y-mZ;pb$W$#`#r~5b;=tz?Hy$~S%VP<*os9fKJ)QZc-h$e0RX|3r$-Tq z`x1)1D=!UEoW_L}f{jm7a}NDc7+YQiRv9Y_^WO7R;w~h{J*q{$h{ohRa*)~ClE|?8 zhgSBTM;fW8zME=@6aBXTMef7@cXGskl>p??-jrMV`O6dkI=z?oR0WQhhV@11+hWsf zW54%uxwgK()1by;+UTy1ljW4x3k=tsd!SCbV`#n1j zRBW}SQ^-kuuz;*6b&CO>Cw%t3U_=$mX-7YsX5Mc1QFq$dmdnUkeqtxBxc+enO4!S% zB17~_?++k!{qu>(X#HJmrQbwURxu4Ngw66Heu5UBhdUj;S5xLati(jpFpKaRCGa-s z-qc#>-!CyGwrWGfMCg)#?n(E7dX-nPd|v#_Ho2nt30R5@wFKU}p`phdC@gM!qtYpZ zmmX-=y<1DLQ@cbGT~sU1Zu2pf^M0lb-|uqjA&DEEydfZyWY-!IO?)cheRh%kLu|Wk~6AH3mQbEaN@{!&B!HdaFKF+FzwIjpA7lh zBfC3wbJ}3$FFuOI&XvuxAB**$D3Mo$_(p{jU8yH`pYT0~V0u4YMMz2UgJ#=yR&#Av zpHCl8&mK-y@&CZ+#@hM=5N2m5>u(DUWSZmF&z`e^zgqj@dy$3DPO*c2of5!)C~ZDez_cI0jUR2d_){n(R$QKYtSU@le9 zbx}{PHsVd9^-ATGQ(VivS##Y>(}emCd8$~%sJ7SMZO-?F8`smc6);&77B+|MbSnAN z_|xNx*DHOiY|aJzKRhmL$3F?n=;V_hx~p~_9X2Be2z~ICNPmgP_ZctyUsk+VIy5g8 z&YxlreTU{rJ?I0?Dn-aHO143t1cj%bbV1lV=1M=R*r<@oy!sMzBywyB9b!IkAw(~W zpQ@bu@C8G#mDVN;jI8H62i~48m2vbj#YmHbo%Jzt;`AO5vq7e8zk4_e@nW$6U#TcR z_0DCS59;^%K_7aHDld^fTb(64)7_bnZd(f9X5WGj0vvk`q{BnD{qC(Iehk<}Nx z+`HlNs#6PLHBDj$WU&`+0bLA3*Y_wq8{s)Uwz*Uua=H@sI1J&0v&%P$tGHzcUK`S` z7I8+%?`R;b+V`QR8!krSYgZ9_s>s;JsC|cX%h?6PnCb&4VJJ@bix}z6%%- zsiY^ar#y94oa=e1w^Ti70riw_03+OY>dHO((L-Vtu8Dvr2bIETnaAF7 zHfK{=U3rCIv0n#KwzxW{e}!D2zjcHzjxK&E=pD`5CXL=S-e@gR~nbcP?zVdotrU-_qBW z47GfCg3lRR)32Tr#_h5k_%sMsIn!8)>4{QU6#kM zAk5$PJQ3EW#;X7QU~>3b;ZJe;hkTGA8#hL(nS!@gN+xzfiOyF7wcf5m+IEpQG>m3*Kl>DVfPtv+AZ0#9BT@_KCuQ>{9tWlXvu z>~$@<-Ki3Nq|U_kY&t9|IjWw)6L*M9uq+YaiQ&mRCY=;Gl`ZX?WjuQ5_|X!d(h}2~ zG;Lr+s9mCd(bT;UdR&cLi3*sQf_)^OThaDy*L&tTSKE^AdWGMoYQ+aTvrc}+fiy9Q zLT`FQ??lYW=4;M@X=p+fE9}r?MtFa#*Xdk)ChXhmdBhpC%Y=`ud|`wxeh>Z@T!sH0 zKXk^O6GCUsPcTvHI6(L$SqPp`hj6CU(JI1sMlC(LRmLb6*&cnERo-l4-;(IR&(4Pb zsJ#yRyL#Wm*B2XE@=9V4Lf*Z!_9Dzr_?(B zIcbak1*Plp_$6=5OonVO4|Wzr6)z0MP|GX5YL<_a&{uVzedPgt$5}qGyCd&^FK_qo zT-WsnWA*;K2F4CbTvmt6)MCVD?a9n{3Z?xr@WP(e=CgIGzL#z{AwXy655W2!jj{>KvM>BydSib7jDl1OoHm0q zJXSP1e7fMm8l~Q&0?_05DomU$2c3PNp1CDy4-k>^g!^^cdGclhtO3iO%b5pQL=f z3Anz#-@Ac3q3FSs7rSlx%8zBHgF@t{EYpxm4m0#NyK>;yMDlVtikzY5U)sr?&nvLd zs_;zbDuUikTpQMFRBnw^Euqt1~DE zYM(1BZk7+cbudH6Fa|~RLe}1Gt!n*&6%}P+MS~r zF?g&MNz&*|Ce0O(h)bK==uw7T6!6HPy?a}h`%BZ(t3B}Vbf z_3CiSSAKHCN@K-2@%x;zO|lNh(w56Mqt4u2HXwGtxQ7|6*fuJOMURwf(X5FW2Q=f>rg{7U(Q2! zw<5?a0kE8`twXuF?mS%bubyWj6|x8X&LPs?BzTJvid~w3>}MyoDk$sTy-O#cl9e|8 zS{ok?MEl*;2p&L}TL}U-p7B>^yF6Z$m|AM6GXU7H9osi`wE~Uj3Yv>!syhdu=_M(& zE`U@19uAj`fsl$<%Tsz=cmoR+ zsL7cqSv`kGCWkVOo6H`L*S{XO)U3hL!yoAiw42KK(0#I?N6G#e7z4eLQO*HTjxF2yNBlCDjH)UbE4 z6H~Sj5H;m;3%TP}Xl_WeQd0$$o^hyTl1FAI!@Z?NKg(f|o^LbJk&{^)6$&38~u-A~1zyz`0 zvcghkSPe><6Lb)h@W#BI$ClPqOJ4A`eKaSMFJUt5;}^#5G;g0hB&5A7!E<`gHHlsL zLg;apNz)jCl4CF6x`=k!J1Dsjsie&}2g&H_(?<#!?NhR`Pf1&UKS!fZMnfW@Lu01M zL-Hhe9oL$m5&3W}4LYK=TCWKba^Mn`kJow$E1TsU%^?s7+D3<9d6p=>w<7;#O*r*Py zG#nFmCy4d2mS(Q-l2_)M8UutHN%Yx$d^I24F3MAy=oT+x-%BZFY|AV%0UI7nl}aYa z2xmRW%hELb6<9q9eR31_7}Lgu zQSZqj;?Sh%+%I9FaK(|=W}oODxO5+?kpINQaY8uTS^)W$H9SrpFO#r3S41V@(YIM!1uoDX_~a@?AV zQ#XhDhN4jKBLa1o{}^O(bRc(5XH~@t({p%lVtV5pN7&5cM(de=rsq~CwQo4p7t;>o zOrFTJtm(@Re$NMuIoX5gH9T|i`q77S|Bxmh)Eb&)_WFfQpPSW5LLmJZDLHSp)F($g z#^VQX9W|cye932%ONLa8Aq+@o%sVFwCU?ERwJ;)1Ag&nwcO;0)JW3>WrtfDp?eR;F z%dNc?U)&o=#C%Z4+7BJBS>mr@7yOVXc9%@J0Q}$5-?!>c(tzNpzj>xKoAqJKSk@wSxM&&`8Vl=;FsF-q99NC|tZkFl5$Uk2>e8M2Cl_M?_GC z>!7xj(XK`ztCMP2uv7=|uqteR{L}{_O8o76(hSRCs|UqoEN7%>$?s6sO?>@dqa=HM zQXZHGg`fiEl`C%ErY`<73b)!hXqI+e;3HVbo>~Y!9YLjDLe9~*%}d~%FFI;FJ$^z& zn?+a9nh2BoR;_5Rf)GL3*S$f4mC?8{7n0DzQX2i{%7(r!WjeTprR4k6+E}JhnFMqT-#AqfW)bNNmdG~%8y<+|Ud;0=Sar%E!G_mzL+iIbYPRg2svEPZ& zBCsfPf)oFHWGql!Nj%5>m zZz5TxprGJT$Ux8fz`SwO26dKTDq77ft8!f5nSb2ZdRQFzmT#|OFOyz8B;`SYj2k_uReKLM$nz8t2;Q)Q5j7jn#Y{*?;ucTkyfFabSq;ozaCl?@NjHdN8+pkw% z|A36==7MzCLmlRH$I8@0r>{*+963*9PJ6pJa|a#I0IrNn)e5|K3fd!j#0|D25R=Wq z^uF;*vre1%y8O!9ZAv;+rl?v?E74}5JWrWvsWkoJF@r{V}t8k z{WF$pwh|yCTf+^}ckdP}hEAesYqP}!P5MpNdT>7{7Bw7E5G7_f@D^jN@hERp)$G?y z1z=5ok-*I0QNRa7?~l$ziD|K)y)~%C65$sEq;Su z#n^ff14(umg1;T%fP4d1@!I0?uh}bkCxexDjBi?H@(mTAHx?rV#%cCUaga`9lY2D@NHp3W`8#1_IW zHX||}HM^n8XQ5N5&%7sgwH!ZaVhhbpK*OIJv3daREIvC4Ou7lh-RXEqp#)L0bFzSI z@5eHjLWyj0mkqM(F!b=?$iB1rNzCyoDx;OSaoZ-^pOtzJ+V-V+$XswNqIRG)WANU( z`1u1G;oZ2Zusuauj^~zxj0+fIcWC-!S#rH&;@%vB#v0*v`%4x_T2#QpbIVPf27lco z46r6>6IRUNXPu@ImzqJlLg5+4PH_eiCLvs7N3uSbwsPyi5Pa$2I7hi9{4i$CFW3bA zAz=1}`=2cqbkb5q_AZb!arAKKS3kJ~^39KxN*wK=g;;51=5aIlG~;8Hp9RRwu25|G zZw>g2tdTkm9LscZ9!Bk(d`b`;pcTNs5wQfoyVto$SK@0+lp!XGv()sCLZeP6&Y961 ziZ@KTkpE(jeE3R8DCYIRaZH?1XN$B5njwQ$wGm3;%fAB8%{UFH*GEBj6+yuv+*Jea zhovE%rk~Nf& zq&ZdsSm5-*AQfEns9F*{@mhV1ccM`K$KK0W9fxP5eGoje&ZlKzCGrG;M1ndz#_YCe zZy1-2_wE(%NvbMIrAXUBX;hQ9rRIjns^6ujMAegx#BbI3Gsmtu6>|!TKQ?xHQ%(Jt z&N6Is0=@W&O_GQ)90mUxJL6o)y8*R2{>-VU-N@8OWg8o1fft<~xQNmBZXb*I2tpj; z<3SUT(C8ENGaRW2j$2I30-tKTyR)$!?=)_h>U>w+SKVIZQBT21qZpPC8wS`Qnq#A* z4or%ismJnp_u1G)K2!J37{#-UcA8kXM<+<5cu`jc4FYKkw|EZJN1%Poaw_qEq^jL;qTubHQ7ah-Qa6<=?ZVgB&JH^z{4c4Ak}I8_ z^|B>!Kz$jh54(RcQz2V7+MXUjQLUf{{gW>0ormG}>gdhP`~^1vB)#uu?IT$qut zCp#D^(znH53WmJacr80jE4k~Tk1?V=1=vA+TmsrI0$dDLIHUalaQ2Z_qSBwTII;=sKC|$dY6KexDffd0VQe=_b{ac zSz+0o_YY<8FzeC*SUn>C+J`IKO9oQGZ&MGH*^twTzw9LZ8A+pRl75c_4JoL%CVQdiy2IrkX9<6F`k zwA6+mq4i~#)~h=cl?~3xwC2pHSV$6q_|f~rVrui9bqGn30dl%kG{Vl@sTcXlZ|`P? z4HF=~0hyVsB6ewqU$_d4eN+AM2S7#QoqDz4y-nQ9jwct8NRX$S4X0&wD zXzTt4eP0+pHzi=lss3X{R`lvh!N=b2jnGtRmka-I%IIY9PGg=(n(~yN?TQ3&hp_#b*{hQ&sMmJZs^i zIPXa0r~!`nQ~JLr-3R$aekXpQew!$bDK=I#W)7Anb* z8L>gEXOH+KK2bM+V19G>Wo29Od*-AtxxC&B=IQQ*Qn^SeYt`2F@Hb01>Dv`zG+`=D z5>BbP^-{RP;KAS?LS^iRr7i@HF7M%COV8F{GWIR)(c%5{;suMkOTkWF`aV!EM_p<3 zC6RAjSxG-Gdu#<23PD$tchR+}; zb_|V?RIX1+ekg5f3Cd<~y8iGC^L|HDHkpwY@?-RXY)`LrmYO2Yv5FjD`Ed^>;X6vQ z^kbQ2khajp$X&ujTyRalm&j+g5&Sp7*W#xEVwf3i?k0}>$2El--5SJsl|-*XWqAz2 z{0NGbf7I@CEi!6wsA$68Hsj-$s9kyj^>--CpeNw-&7O)Xc(`??6ohJ{kgWwpl$wpU&^Ml0=5a(KlZT~vNB;(Vj5 z8VZylFyFL^C0kfsvEOgBUF1Af{#6!|_6KnD2XN65KEKNgTpiAy4zL<)!Fk_@d7Li7 zoTPb?ZZDbt&V}}#MZ3XwszS<+r(eZY$ORuRC7=v+m|4J8q^-Z50s6&!NVCL^)kZcb zQJNFf$VEE8wDDj0dCzZ@?E|?f;bn4gt1Q%yS4C;W5=t2TAFw#X`j8k#W{lZQg#)0Z zKgEY%V9!h9d8?(m4Ly9wS?>akF4Mx!@jaa!?z|4O$b zdFjoRjgXD-%h}SV-iN0THr}Zzb};z&juxnDcbrG&x_RK0BEA9WhSp<%0PurFbA4ZP z{amOyLp1N2v#lyZJ+Qlty}q_G8|_5aajv$pY>psgVV0T{{Zi|OkNhxJ>s%&ETyp=a zAK)LJ>QhUU$>`uqgLkiA_&guv_?lZ_KB3_tz=?dIpR#u$vu~x@%z(BlxTXgHz^+?l zUogP*X1BO3chiQQZ_*r}h)n{1I>tR;5xdMhw1!P7vjKN&8VZYkWwFKvI=NHm>+nSk zaW{9JgE4$sFix}}Y(4`ICS@_oSnZY9>R>M`c$s1NS0|S%0BNXrev%y@_5Yymt)t@j z{x-oT5F|JRcMBo7yAxaj32uQ#(~Ua~1W1C@Sa7$H01ZJJX(YkjrEzz636kya`~KcJ zGw;rsoik^5cK44y)m^7gom;o6Zhh`^A8BGA^iLXdfV+3qGzp{=+}6p_eMCDk+bORu zN|7gi&QZ187`J5r|MyKT#v1c(j|92RD@5-Cesb~py(G=+2qA=MRsINYZek`S{#l!O zwN4eCX7pLgN=D3qOmDXsiS{4zIBtTyXHc@FcVQ5p{Ic~#CQuvOqv;KP9#eu#lZm?b zW+mSf)y00#T1HXPgSf;?Uz86?nFGC~SxF##Dv-H2Z7uAXH%$M}&ij*nbJv;AMB>Z= znPZu$?_~$lL~SlD#k5!tFg;XQ->T6bde{M@Ef}soh3pabd{|WYol1dIMj4bwX@pH% zgzs1C-Y?ET^+L4q^TR}O_w>jaYg~Te@zJ(vDVs2@+AxcUv0kzDik;Qd-+q9_k0WQM zVveYMgIvm$zkuRSH_CgK9{~g(cm0HsN9UkFC2M7!sU&71{%1_wB?eZ znKh)))eOsb)0$#k?H}#8zNqSQYEH?Pp`b6a+oW&09$IhF*4Kv>9V=pX;*Eq1I{3&D zTJkc#o61Ga4HKP7vFO!Xz=N*c?W_><0W?rCQxWN)Ha4+bUR~VYBYQ;|6yD(JI!mzp z_I^sCrAavFdKzwx_3IG9@eey1t8{X^*NPv9p3;0|pk@HYu0ttw!XzJ=4-A1P;fzGB*mUd1}+~wX< z#Dbp#{d0Z%A5}qw7GF9dTDRj^VWgzzuS)BSIv z+}$LZ+a}nF`iFxX&**(rf9uG$OhOg`Nawvz+?gauXmcHVVzWIs@=UC%q^?74^ys7T z`hoU2Q@~lnKqYDV#`%7|XhrL*c!cfly6f;7#HkBe-Cv&1MWnfXrm}W^4*g6bf$!uz zZ2eLLC>z%U1R;~?+{@pn+qw$iSoUu(JH{4z zRH8raa(t_$?x~6iiP?hmy0JoFEJ60$#RyK#HN0iQEyfy?$tibhc!-6#>1yY7s+?*< zj08YDbBqSP^!B3uXpnB*yq=wp+ehlyyN#Oh;1a{rBtOSNbVZBHtdn%Lx!%T$u0^Va z%t)L~-4W#H7fq_?uxBLHRYp&s+*>((e5aYvi%ym2GfLvQRFVuXi7sU9H2(D|tT}P* z*f^s`GX}IwIzxF#Vm4NwUBA8cgN%pL9(aH&SjTsar{Xx;DoT7c^C0>46Y?NF0BK<< z3S>HPa?HUl{cZI=Fo_GgB?-xWkvV7vxj>i0_tbuPY$Ufy7+yD)#uMIqZcKXc)+<^U zNpLblc`|;2!%9#X7|>qZ)!{kcMZTW$mE=t-8=dO>s)n^PR5_KCw@D{^c(`;ylEpyX5Lv>FWx#C|DeOq>QX6P)^IhFfCkt-(DkiY3{htM3~ z$G|YiA%1{`KP^Qs^W~qs$u5y8h#N)rfFLb~xD)xrCw2^6i-YY_K zY&MWu!Vtk@^6+M=)%>*yKw1P+suRo08gpv15g#ty+@r%%#WHv)tv<7#l4}fK{xDEh zi&@96zSbQwgLy26kN-3=yIGRXe&Opvs9GUdnMoWa6zXZIg?TKO!#Q* z2Y$3@F2)E{rLo+>fsrp!GEqqNe7c3>r;f1CIWoh@66T?NHc^>ogixbhGVHx3us)<9 z5rO2UUm7|x)?!I`FLp_i&%Nld5uO`89bpYRS83KUepmR=WmD3d3u?vjYHr2 zx21CI#m?I)za&KkKV-&JI=tX~j(yVuMRqmARXrt$V7Fli zk=FO!AQ}KVPZZl;m1^MvT_ZOSSdvlMhK@HWm&k&$GIE8^v&k$Csc|drXnX>y1TKK`ZOaeBSv6+mH7hso!*a(2o^s!AmBqxI|h{?(%*`<)vtPb3)V?W!$*#g_#ZOMkC zjOM6?f4vJ;quv%j;(pA0$eMbJLW%DmU z^Dm%%w0`Ol`5^cgfQ^sagyjnqB;#p>`i68Zz$Dn6SW31U3@u(npBYPB6heRjN8AKH zR(U#>eIG_ljX!LQ`K4C~Th!@B!jKhxTpn8f3n@Tq@No9#;jJWuAr$$%x`Wd;%$Pa3 z#3><;+f^nHny-mmJ$LrkEcVAGHb!}<4*@>`6JT3o%dRTck`*AMxy#w-pV%#oV!m;h zbxXP>ESz0?1hF7?4q)WG%LDtQug1exA$|{8DM#}Sqx1FL#tsMU>Emc;TWr>M2A1!& z??mX{gY*!F6tUhD^>ERTBzIEkFO~P+^xkCbJmj#@x=3aH#!OU2(MG(;`z5>eTUbxK z$kNSe{MvS=p_Q`u7wYAQqyaK~w`{_ry6htDN2&0Q0^mwijrZoyG3U)Pv=);W|8`F78t(-9 zFkmS-HcQ)TaF>q6LHXH?qRlWHL)i0?TF|n(E-Ba5(#G$=UJ(wijN?kK10G*I zo-L?6B{lWfypBHWJpte8XCsHlc(4pZBx^+tl}Ej07g}LEz-x4Nxli?Ya^ny@J(zSc zvQRPe%X{#2#O|`MB<|XMKyvBI@2-L!cw+i`!h6zrc(!*jBrjCT{d#|tA}N3G+ev_^ zVFZV~3ypBbSRD|*&In@54^=q1N`YtY2p33x@4qOuttQfIS8=P+;sDWou#+whCLQ!M zT6&wOMi=CW&wmSED2IEjE~DdZS%53-G()z&JnmcLxh*(3Ovp)JNe3FT4b&ZrSF|`! zl?XY0>l}^`IoV=Ip&__gpQkVd*(?@FXN1l9A`ggVzczsB4;ej~-Y-10dq&PWAkR&8 zkTIMhmOHkt^3^XsAWOopKr6x2XzV#G+GD-r6El|$uQBumN>F5{Bp+Kn1L?H!=Egv2 zY3c@2`!%;Dz~7Wr1Orf-6I#>OaHX8gXCTgw$?UGb043|npE9P(n4LE^kHHQ(m9n7v z((OOhw9l(Zu_ZOxsRcUq$|C+F1Xs)=PFO0Ct;Yjwn2eKwSoRPoKD z!*53CdC{5+wU8DWbXWzGT-r>Y%zmGFKSu0yLN`4gPie+{dJsuXQO{q-WOF9F3m2qy zF!9AxKY+3LmmQ1zuFR!udL8XStuT`+p@~o+sg*-aLv2zW$UKlVvefCN*DFWkks>c< zr;SP!d)l1>97b=4b0DMrc27h*t_$e=FrULvXVGZW?L9*6)7OiV;vrW`Zo(y~^t>4Fnbc!{0qUF!u^2m2Ai5DGstGCQuIg3Pp1JaH?hce=STJTzGM^wBY z5}7vn(ae|2^PqZLJu99~`mNuF)l+*rrgaj^lBVhzqaAsn1e?A208(Gl*EAYtJzjgFSK$gcbg3d(R4+iHDpYteQKs$@nJnFN z;{pAV5;>(3dIyUV`)t2AbB0jLYYh?h9OYW!$`lppw!)tn*}>8jO1Ea&;hlF>QlBd$ z7fulxdSX>eu-Tm;CXLMo6A7WAZ+2xSC1f268>0$;0e4&(OP3FB%iqtb&6^cFrnygp zL@DCpD3S9ecnOGPAH#^B;S9uwZtR(Ii2;8+P4B&AuGdt|a|>S)dgNS7qmnSz>&1I) za`giG`*DgZr97rHjM!t&1&nfxt{C2|PBJ7SY{a~iZe)q+Nj}_4eJStz#@&Nnz%wr) z=)7k_0KN13UVrjER}hnvFtsGH^;T1$Dxp=RQ;xMMEmpiR`FFz1{*)}4+V^9gVuM=Y zI1+liZ_3Tq61SYE%50|{EHx}9tapE~4nIaCmSu_T4rC~1hHbY3cu$!gY43{N3%#9{K{ z$s-GghZiJJgd)S&P{yHIej4%S=5BVZZrc{lTUtr+CLaZ96@8nvis#+0dn(#isL#~q;Vq6LQ} z;!T&Yrn)IB!E5DgT+-B|M!oB$Qi>)ox@d}%GMy)s!#n>xt)M4x>f;O~%`Axz(^#hy zs#3U$U}KE;fB2U3wuB&B-*`^{ZHbuM0m7doTH}?YzOC5xp4?D!uW{v55b}7wnAnBe z7}mSfp^_xeDq12Zx6{;65>c{7^}{#54sOEtZ0bFUgbo4!-nEw-`$$RRVkfOIJ#%d1 z>X7a)Veu{q*(xaGO6+0r;U}Sjifvz~uhr)o6Y`B$mZ$sGLH<2fS<92ML=96Y^I#S@ zLCUX4l87kk|H`EH|Fy5w?0FbT6Y^%jDrZ6Ck?zoG_iP#>sMW;!iM|P!fJN!=zW}^e zJJH-Dr{5kybd&k*(=LKEEXyyQ=ekp%&V_Y7UHY8Q-D@Y4%he`&wRC2g0vY@gh1U~( zujG(v(lTvF?=l6w1G5wHH1Gm-_~4ck=Ji!Ke*uV6L85ErSsJ~*$iZ!_uITU6R}DqB zsy0tL*j*3=pJrQfp-tXqC@q%#>#*0~9+f+aPZyzhU`@8=s|bx+Tpt)+(!|fbfVu{A zYv1D2Weu(JU32z}vFw|WxgElm3a5)@7v{1pb*AC{mjKWC`IdWsZ;MF&$6ZWkOAGIh zC$H6o%h&K&eWc=imRQRTmT4GPV_RKFN0#mCZ@CHsDX?7TXb-d9TM)uIi-3pI;%-aP+N8 zXceob$J{pN#nW7eAbQZw43xWDZ}qsyzR7qN?3n_Zu3&RSiSg4B5Yv{Fu;cI4M@=v{ zdV*HB+V7iHM?KV{V}dEHi(v;ICKdG8Pc03Cw> znt8^p`1t(W&AqH#o|dRzapiXu9|kb+zW&~BcEAD5x(q&LXLx$b1x=`0;{!sR6dPG5BT#ZgQDLE0-_dO0O-f&@}K*XOxAIVEJids|hb{`NF z4vNjBVqs3Mn_p?wV*v;qe{IU2MqC^H=;F9ewEOXPnerv@v+w8XjxhRdZg-`Uc*oE9 z*_Ri(>lD6gGRb7Ne?&8rQ0DC(E+)%EmJJ$g>dRP$#hv2Ko?Ks&2GHlf@>_=KT|+9O zKaOL0u>>i3?!pBx;&2~~q z0$&*AOF1LZ%CR4gE-Netc^Z5bBkbVP4nMD!rD$8ZtO~(fG&K8L6cg-g+Vp`EBu0ID ziAyB42Cu4;YHzC3%sME?uCtH;RXXJm2@4zFOu%dd6higF1ZoNN1m}CjrdW61ErbVp zLiVfSteMIV&ZTeXv3ifJkH^ZvWm>Oa>)U0Hk{UC6`O-`6l=$Z4YyPls=PRZ z1g>u2L?O=@!kX5l>%_g)m}ya5LqZkqPT%I_xT0*}oE2i$s&Y0*fdH%Z{k5I_3e45z@+_m+gbZ4z!ob1t$0mP>_F?I zeJ?5>jdkDn+gt<^!455w|9vi_wVN%~M7UKdTN}w?Jdi22PuZBCs78k{_OalZuOHmX zNpLx;FWLAueDgHZ{P5Mwi0}XTb%w4ra##Lq^A(Qv0&46Zc+|^_M-kZ6S6rrgv{vl_d%T^ZsZnmJY8i7W84P3 z0B)lH?p2-7$!i5I__DjE-PzCi-ZuZw-kh`1Ny;kl-{ffh%E1?V2>Uh4+}t1j5?Zz< z^BWar1d*(X1T8u`@%kI4_m_jivk&R_LJGRoI0to*c@F)G5ilgL=J1KBx0GR1iSr`n z1MzGx^GH3fa`Wl%cH_D7t-RwFwNw#6C4EmPG32$Zu!mrr{Eb6I>|;@i$(^%sNQ(P- z@S30V{AtGWSu8#~!A2N^xDMma;>(J)Bju*A*|qh*)(Um4Cg)QeXUBIurP9am1k7_p z?O+xSqf3V36RBzgJ4ji711hm-hRXulL7}5?%p3R4+cbH4tk1ZfOW`Kc-lgA*4g}3( z$+jCSCkCt6Z_?8o_NLn>Asjs%8CG_3*E4SRFS6tSfQb#+`{qmcv;$`Y*uiT~E>FG2 zVcW=0;Vc;@MvG|qCG;h>^2{12m`6BA%sz*gLB_U_wDapp^`sq7a>@i030I%}2Ff|_ zHJT0upcO*SUolIihIdR>4aM9fS3r!u=7cYfQr}+c_9iU{y*BhGP3w8s8xTCd2!iX6 zC~D7xMckxLCG64`{5<^v7h`i;)O3wv3QyC!ZGbVdI)0uu58s*~&X2EEn6ngq=5rg( zGL-u#r3m<*Ln-^coH`Ut>Brt9>=1@TLevujd03rfsYEuX=@7U*S!LI1cP}fwAfb?x zBYNuM&T-_-&CBNosG~^R=1BUal+kJ#rrqDgzUlJ5TVmY=*&}YofRTO~4lV0uH)q&&25E}(u^CIYe0gjf8 zbeDr`UiXvR2ZuxU^eeR2m_JReShLX<4c`Q>$OArY=+~6#6&tL>-|g$|F6F_u&M8Np zO;cx^o~{@7$t=#&Nzw^b&^UnYlagWQG#C~8wDxiK#H;6&_kmYK%9w8xB}uCWQ^?^% zyZxhzBciBQD!A*;D?d`1`);y(8b`Q7e*e_rRi}Afa zGk43fjBA(pDrV+Xrx(X4Ku%-r-KvJGoY5UWiY_MudG+kbs!q)Lh)ZD$(XD^W#4FOF zm}c5nDTsu;*~v}$9(hasvbG*Z9{ra8w2#*6H&{3?oE})y z;&o7y8pBLg9*7zig(LRO$jx<_zMigb(p(#1&#(ZMk|sW+L|bMwrq9dP$c9El%raEW zPJR6;AP(|2p&^88UqgNH1+(Y(APz1+-rhqlaKYC3t2=uls*dpbMcqeM-rPa>U%>S4 z0yHv&u{#9IWB=Bb-a})H`US=KzK-eGd3Y zlW{^b|50)*XmPfv0ig5SN6)z<48A%ceg@B4h;elDG54gNJ<}KK+;%JrwauQ5asnAY zMZkPSqO&>B3V-p9?r+{t|8N)5G1w>&eDbkmYa(KQ;$YvDHKbDboe&|TZ)NOTv%nVHeSDKC;^ZEDo7L~G2>*qN#PQCP_!Abkz`adjB)J0?a|HIFDyFu+r7I{f-Mo(Sb z{C`)00#LTD!_?hcPD?Y#4nhw7vsp}5kZi^=e2~gzoOY|cs*sw?bK5H#5_4y@^FDQv z24a>!Kb!ZRK+1piTbsbi1~zf;C+M%@P8vRwNQpH_ul6(&NWKbHiL$Y2R*4U=Ee?~P zYN_uZJ^Xm=^t#~XlYdn`+_-_3haV?oPl87y{uQk9e@8AW>TFOH{Qq15{y()B-PYCI zjvQVAiJn6@QRR`O20-(27N74{rA6`hUm2pRnN~jh{__?@3u8tZ;QDdgc(7*X5*oq!oo^w9O?61N(=prqKlDD*dQzOXu z9We5nBZsNi;Q784KX1ScLQg_hs%bmJ-qRyI$#{brs|?!rMl}nq8atggih+}PGj@b_ z8Oc(k(pmN{Ud$gdchPAnNxm|2WnVo$Y zp*iSOu8))K!&D}j!GIAVQ_4h^hR&}^p$4yOx!qG)vL<#+rgUnp@|_`%f%PONI&qq7 zIrPDUCqBz#issdK_3Sk-(axHiLpFD0(I!qzD1;T;>VW#kFMJcZ0^Yv90Hv+?jFfoM z(NqKjusm9e5`E?ssE9u#m*$PX$zx_7Q~00gaE+ITSf`~x)){b-dix1g5-Lt5}`}_9iwQY``^=YBH8PI0hgN8 zz>%Bz&GWZ!-)G$0rp@*7$MZk3eA+zCWJEs%HL#d}eX1EKaaq{(wQ7i_N64$-&Ydvw z@w={5yqitcwA*;tjD5pVc|r>+@ABEYp14_g>MSjHZ2Y_EYgc6n(e+;fg~=HI{x&vv z`|oZja^UhEQ#*EJ;6|_*6=jcmDw1uE}f`EdRw&u?qYl_4<_=2 zgkqmhn$c6lGSsFk(ROt511tx&`*F}e3KX5s#uaG_m&zabW;BtNV!2pUqdeqHRQz&( z2biKg?@nzgcbLyolw&0*$=mZsK~RKttnd%DzPs7h<>jHi9qDzd=ilmoHLKk%U zAj!pgP8myXNw^lyw zIK-%`cev>Hy&tsk9pUc7X-fSG%{SUx~nx35of%xCFD)Xk5|#HOwN(u$w0w`kVYU>*D@X~P$O z2Kvd;xqo8DZ|geTIoWMwrw{+WaFzBV>SflgV(=;T6%{q5MxBXbZl0&NGKxIYlW$3I zvgZbD@Zs?8eP6UCoMLKVNo^pf6#gSN|LExm(!wAV;<-m*pcuw0EB&=B;`{CgWDB>d zW>ODTJiJHCMKW_u@+&wjG>A^&sLxGVR_vx|aH<7;rB~uW6J>N{(SzwMn%ao)UUz9l z+tEQZZLV+ivJ(v@b)#;nm}}<14^!Ko3B6~JDmPGCD3-;!M)>bP6w>xwk&i{jY#MAnvS+C8(hLijU>Z$TfJ*D1- zZ5*{NJdjtbbDoQNJXt$7E0H|?YhOflVxNrqgBupL{i@oA{szKMc>?`*-&V83YZk{hh#0 zh{+Izcw3%Jqcp&HG=?doGr)OeF3Zix?ZZ+$asaaD~g{FziqbS7l1V-&`z=18U= zL-Z0`I)bwv*Z5ihUe7fmCSS^CH(*r_YKL+vp~Dlt+kBTM2Bt2kS9c@1;h z-EHC2cNB`+3x8^hhE?^<@QVrZ^o4k(14I+S?K&g7_SG=_TZRM_(SR3cG?|{HnY(RCgof7=)k%gPbpj)moGi%INK7+d}Q}8>uG0dy9?meirFN2*= za`UH1Q-k?fO+?jE7Q8BwV4w-T-w#EQZYe%^azw*U*PLyvp){Y_Wwn|4OQik^L0Ukb zZPd=`y0ThmqEXLOhUOB@vFXA;dT)?QVA$A%Q5)}BA+)CwF|fuz#GPG~Eng>eaHEH^OEaoGE5Cx;cnOwU? z2G7RD`yc7@gGA(z?UWjxe)BN=pAdw!|80c?GWKA~pM0f!Z*65`0$rRMhxU_&rEq0m zjIyGolmMsv@9ZZyH$0JhCgszJAyYo#Wt#!qG`h2yy$W!HRquM)5)YRbvRQ|l#XOd_ zNO{Ds&_+__FCeO7&26G9y<%a?u@I^T=g2M+F%~)m=Ro&cTOjwkCfZzx+d9Q3gw~|M zNzNs@#1SFwVFM6YWFphNT7gm{K-5DBAHP0t{~qZrT{Ro;JGJ5pCbL6^VJ=+_4C)L5 zWS>UC)?9lB;Ne683#b!qMm;v12PaKz(G|bv#)h~&i%;n&0n+zvo%_G!B)AD-On*48 zmBt4J4nE8H$A)xEdpS6`&3i9~de*{H6wkiq$sZV;8Ysqz%G(FCoj@+Prtkb6jrSy^ z;y+tJiJ$xFqEn+-J{>e8>^j^bi%yB~yPH2#XWS=)>D=xJzG2l*YHp+Gd4QdqokR8g z@MZchYM0-lRA;T(k-TG$>CpFMkM+8f0m{>U&)juWL^N0hd=o_MWY|f@kuECVu?EI; z>=p)xux5*abDL%Fp{lFC%v6L8LUOF3i=LNe>2s-!-gMotF!9>=?-x`Kp)Nl4A46-W z7qsz8e+))c5r*#c#9BCeH_70az^O1~FeGNw%52GWBmoNVkG`_?J7Mn_(e9a+hO4_ zXycy5#6vxUj6c`EkTc~QEQ|6=dSRWFG(-g@X}19eT>S+wZI0<%s6iqb6Cq!s{+Xu6 zWnNd_CP(%ETg=JJCtNEKmJHD$>>QB>3MDfWda3Rn-Cu8tYi9aKr$2FqC7i9oRIT5~ z{{^U7ycf^LeNd%SZ0^!<>Pz*)rl1DREp0b}MM+>23f)nbMZ^7} z1Ey7_5iweWBRCIa>q|r$srLny^LhZlUFY*xmMM$_>B!);bu;yle;re zW0&5Y3|7eiD68id!_*l5nZDF8&oupY^&+wFm)PXE$oqo?D9u0Sb(JMHzG8wJ({3r{0!2__LMzfNZkHsrkcqL!A!fZ{rIJmF-1;|L=|VxbA8Ht z)fzgrcWEwXnrNJXBhb=Z{#f@(b${U?QNr8wwAMOT;7@{K=%#@Y*J*L~SX0N=sOu&~ zUV`S1{l{SuhDM|tTW2C9(Yx84V$Fu4{56GaI4u+uAYbCZz`xfxX%zO~;eS5+q_AjO z`xmgAdyT99AK$R?ITk(NcxpD`mWNTwUw6z7VvP+NLIeWC)J8U02Uy@kEW=GsJq4YK%8?Ssuu7CKSAKedL8dNZQ1MQX!}%|O9$})3HW9Q@?<_M| zgw-U6d4UITK-&SB&~Hl}9(lw$H5^(;v8G^CNvNO*mXPRhYc*ExoB6o>_|OF>&@yi0 zC-a#LM%2pOmQv*JSoKitCByE#KVJL3M5?E(S?36QG3Xr6f#m%piq92He=SBZ&$??J z@k4|0D-{*}8g9;+inWv}fy6&)Ava#vzQk(}Jy7Kx{V1C0<$CI>tlK48zM8w|d*88xnT58@x_4l6ETY*XGW5hwnAwd6gK#^>6O>)K@rez>fIxKZX|YEdPOZD#HJX&)7kM zj%;q?cEH`a;0c@V5yY*OA^&Q|9V4{OA$00xvBzSJP0o#{)xL&22*%p8I=IsU+3Ch<-0^R&#OcvB}yU;Lmw{e8*FCT+H63TK|iKTIo2u z#+j|-?^_s7)Q-QkgkN@%&y8w*7}VeEV7+2jotHS>Q-jS&2L`m>)=!~#g#_+`iupJyNDM=-B@ zm6upv0ri&7a6^^a&A;iuE)8mL0h7_dmGndr(Kb{_sX^6P{Q4P&mxYWt<+S)|Z+ElP zmqA9c0MW%a@1yf;DrOn5XdRO-h!l88mEo7XVa>DN&APqNrUDNOYE{G!ZY^En7i09m}${lNaAX*k-=aPxDm% zx?S>UV!^UONR-1C+Io{3FuNpxAZh>yn#7$_A|H1Wn=Zw~lA-E2CjF6B;E>}TVjIJ? z0I*6!eD)@9IP?2}sy-S*x$W9ohR)InZ7NcI4rS~* zHN3HuNT%d3%Qn(qnwPn+%^S@;UJ8VVgN-u=@l#Yk^Tdvd{RPs63k`^4f`R1OIxhfd3-=V}2j=~<*Wc5Yckz@| zq})@QeSnR$e&);hV>@r4MOmVeozVr!hVv~ZHQpUUgP*c$eIjEN-@-Z+ae(?qX-T zA>*qa^uNci#Pd5)4>|yKZj)T9c#&IK7jbOjtHu5 z-TLSM;D0^u9RVX_7wC!Qj<{XMjvVsjxhwhTaIdhw>9#dtessM%zx7%F)z`vKW6Gt` z@hvH=z(f-j(Sa%dou%n;2~l{_zHJeHUJ`~WNC|8b3RsyCDvuD0-B17Ra$AwrDq-eq z%JRB%(9t-tW)q0*$nEF+NP~2`EhAu6PZQHs-KYx9qC~3L&)L`GB&r{V90dA+A>kh# zuJ@#$Lrk`h6DqvJMqVz3mkLv2Oz6cCt8TcJ7aP)WG|aNq)8q=#qo?f^5eXeWz&^F+ zM3+RIxUDgE&cNcG{@lK_6w)CZWXrGEWUNivswjN>yT2lpR`s18m8Qo_{hodv5l3*l zZ3@HFF+>dl0_C|=S(7HusO6feG2z8@n3pP#QQgVz7tg}H-klOQ+dJf`j&%xu#dFXt z5MXDpNdZ60xUwl{1>4|g(3)rj`5#V!hpc#4i(^ysWyj^|f^Rya6)i;2Sn(w%QQ7T? z{`ax3IXfwhT}QtC1vo$#Ie$j(%|#Z&l3TKb{KJJVST^?xzP^0TozNl55Y}T><5jSD z^Ciu(j)HV0l{`FMG{1V{Xy0G=AM>#Pamn$&@`ooqUr@^Gn)@U3vS{4D04@95g{C*e z4%$rxx$PqdVv_aNQ4}-a@)!wa566-QIXM)<^1Q=M7+7r3b&y&^gU<`3F&_8CGFN3% zd(+#OR+bQUK&HV`VdKIoUnE9c2ro5(4OpF8xAeQUHY-Wrsj#Ax@kW^) zCs9fyvn#|em<2dVzvmP6szdl0Rd1dX)`r>92bm(D99dbMrO)`1{xgiYIFg*Rm5j6akNqBxd9jxx3)0XEAQb|&IPc}m^Oa&Ep8SaZV8L>@E z6>nZ>Jr3lei3IINzcKb$;nR4@8=kN*7LTh+!03`jnPB;=}qzSj{)+Kf3mOt_=x#CxEAk z#P#k~a|^lO2VyFQ4}L?w=%CIqS{Wvf7(CYfbObtt9dbj~C-PyiFtwwSMml>6WiAHb z@3A+B+`q8{6I~6E8Lxk2I@yd#sjUhL=}@BE!M_~4&=>GIupipr}(Fw-T$w+0ZWu!bpy-sUvXHzub84+ zOt;#{5-lbQEzQ4D#I>drV4bU{3n(tjx-!{WP&6JI>O}%fL{wRid!Onu(yx#mg~2z< z6Zs_0+CFi(v?o{Bbh!~aFw$k;K3axuDCtr={|5{5zwiM*3vpE7El&?xG~GatA5~uJ zPsP*-b5_ll^{pGu&ku`8g6h}mZS@KeA0X8HjvA#=KTO|prwx!ZW)jnTcW5ikqR5bM z)@hxiQD^_u{aH7Dmt1~gXXJdBFE{Af2m2h)s-Vdg9?TnKwDS}4t}`?! z=Y!Jhv79LNyzo9+r!S|2qkfr`SW5I6_hdjV{ORBin6*#PRV+g{^-F&!n${g@Ij?yd zXbDX$*L*x^w6Q+%9ia2z=>H)38&n(+>&r_l1es&KaNYm)8a*S9lO|125aEcMWn#{k zG+~Qi*OC^J2>5D>?p24mzY>f#gLbB&;p91KH$U>x_Zb%)Nc+{csaZqkp!?Fyg$~GN znH(?wz-1wMr*PeQCA|F?;P*R7(qa^r{E)p}l@2-WC_O(*>5*g=u^u}WqSir}w*J{O zDIM^B)oHX3ORxQIvPt(IP8HyMlL8-NKOa9wxaHh+?pGBacoi16OWC(K3u<=;_0QMX zY{qA!ukjxSi{+|bP&6!j;!ukYhjPn{=xH{ePmsR=FAer6ZFO%Gse*&pdBUxB#{wXn z{==qBc1P-Or85b(5{>{a19IK~0DxYON9=Pzcst&vtdEJ=M~rd{=|iC<>Fe4%OB~}C z^<#YGx+yGE$U{4)>051|<#T%Ujy_j*O^@CQpPQ$qt1`^}cD{F{(S5TNKWLi{gtSM9 zYLY8P?HBDbghqv1TT+LWbm7G?prVc|mO>GqpN5fCi&>8Npi}8Ej}^o(!+U%j`y4|o zt_yTh%oV$e+x#cjAzB=Qlhi3HcF@=!6B}97Z^IVb-n0qKq_wT;J)vB>bEDIdBP0FP z5M)8V&ZV@V-S37ZL0}h)uq4DK#h?Akm)RCUWP5S%l+Dt!)Ob8Uun{_KIDl+jMZV8R zPkRv$()RPn(uR*d!FoF;Uo9dS5CigARy5Tc?kl>|raS#ZrYN)9cI^UWvM~b&anvXe z{rHhyUTrVHZ@k(Ak+AZvUEUxoO|heL@-XU^XaC&qE|_BwPY)UzhFr5=%5ql@;zx

e?);5iKw_U?+8cWJ)qmD)EwvCP&2`;OZhLb7D!u?I_8Ov2Wg-!u<00 zC{XV9)q&gBm5EZ*72|X zL&v7nPb}?l=d8||X}er&aG1I;G;8HZH3F&<449o|seCWV8|!+c4JNm!drPnbtT*n2 zFN6$93z@8LVY3pSo=I>vv2~Izb_SA>aXCxU+L87>rKD{W3U;7K74O_3&HpKJbx@_B zGNx`S-%NJSQ6KQz!$|49COVk6?|@!c~_7H)h5C@RM0~izn)1+N`mse*vVXQW@+f zSmuTX1dW{oaj06b`_?yP;tVHaZJIJ?biHuG-%=PvJ@%~@?F9FC_y57%TL;DQ?(4n~ zGzK9^aLJ%Sg1ZD8EI@!@gEROHI=D*$1Q{&22MaRz;1YtnySuwf_?=m6?{(_zwdLMj zb$8wK&s5jcR9AP;+i!pS`##U-LC=~B*v+e6Z{-LHZj3|l?hnefQj01f8_Ad*1+Ogf z$~bg3u|nTw0P9Oafs#1iqo>}S?Xcg@UvXVkBo|sD4d?BJ<-prD^Xw45V_^X}!UVJS z``yLiR1i%_pSQTOyfGnJ7j2`q6tbr+Hkg}D1kG0Ht%k?vkI`w_0DQ`>h^%$Qa z1*Yku#3~XR3A|p%SfBy8BNR_LsJE&=r}=`4Kab0eLwn$JI1A{PWsSJi(Ohq*F~({W zNjYESIKGeTj_~_LY~I(>ADHUV-2ui+Nu#YFN-I)I-xX=HZ{)n!KVMGEg#6x^HD!a8 z%zqo=RF7F0!(Sq4Ov;Qh_QTRx>50N`fBCVbyxZn*ZU~Ofst<;mFN}%E_~Xw$5Mx#p zG|FuRL_*|WqS4S2Pj|T|70A7_E{fM81`f{JvI#+_wCOxI@vWT)T(-sW-JkrPCaH~? zM-KuWmT9tdjG1%kQqv4dI1Q@DyUL%77_PG_^(T48D&XktFRJ%oTER2INxHhyk&!qn zBpP2l{kHNy%YeUFN>uG=wS@jQ>>4wxXr-{Hbt1gH)*}i12ETcEB_19gey~8g&xaVR zyveOy>$K|vicq%V&P_d;irL&K{M$2dd(?D_FE;_1mH8nR&~hR)>il`4$PTo;o#CU< z^1_Gtrt!r?0aJO+_=^^%+3AEwim^Kvw+)-IuT9c%W>c9R(ZiJXH4I$sRX?zMAfB($ zc5r^&{O$mDMPl=M2OgT+-%J3P((w{%XyOMBqI~nl!*8N^Vum(PKi2INZ}$Wl?5I@4vB&yA|mN*7Z6#>VVB^(b7l?>aP^u3JKp|;xAuUC+5Z#+M>dk{twt4Ie!Pqje|E+Hg{PB4fHe_?fI!Z_L<}tf z8(VL_(X8GeDE+?oPh`hgA)+A+4UBnlt`;oKX^|HJFQ%ovuI zlI}Az)3zm6;#usP(78z+*9KS|(c+kOt=RRQcwtACIs56-`*-$(5_mdQits zZP*RNO805e$k8C9+IE)(X0?PZoEJoklkWt9dNrBq>o!xmzYY88uk#xg&c&h^`(!Pg z+9|Wd@(}i4#-vqhKA_xk8F}9=q_2G3-mL?Q?%DXaW5?-X^jC=8?xeVJIUl)B@A?Yh za%ETK#m<|^F#h8N{+Aa!Bbh0#b{A@OtWC`6_X3Z@KTgF#-evfX{>=`v&O$StK%te; z^{tqKc53Ml_C|c#!zT|nAX1Syoib4&o4^He0ukfgnnqu6s)6`BA~ecrw8h$*IoyXR zDRG=1`@I{b=4{;1uR%Ps6s8eQ$cV^DatLXc{}it$FIwHiWyRT55F-8Amod_BQ0e$W zb~13-I0N3dvsdI)o6UDu51I`FL@O2WelzQ~&^{kJQfJNqdb81M=d`R0W$Fzos*H50 zocH8iwFlMs(PK=nV94?ZxCOsk`^627;w$ne4+&cVfnA=}r_~>)32DN_9z(M9J?;hQ z%HqkASK`k%)_nO{@*s0vHPQpe&KW=wlAw81_9Z44;$SK&8dyE(LFlpHRQP1(I7C1sDnDMhI2q)sNE`TRyowUR5OpK?LEnf4aikzM;Lnk*Z0E6)T~+$NV)ZO+`rXSeWll*Avq=&;5@S+&$3W3= zRaJLStW3gwo9J@b0%Bl(S$ACURJw^_~8z%P4H$EgQCZ2<;L3t5$+9e zatxp>nB< zCrMMh<$_jjDD$N!GZ>`s5-no`YXyu>&zF_4fjNu4+mO3!$GLhvEVN)Km}Jf}vYHk# z-zOAlBsnoq5Y%IP!pwl7R=ChnaZzhcEx-%597==>vw{+aP# z=IsfrXf*o|FRwvUZyVScHiei6`{vF(Xk>=;E9af~ZQ_)rydz#~*Kz<^z+axCV>8eF z0zLPH_(&`fM!*vD1}$0cwIhLgJi)+2{tle2>tr%b~)n3(9p?2L}=gis7eQQ-ysq#_G&2?z$AbY;z z&Fuk1MYJQ+;la7a@~4SI+WX|FCwJ|D7mllWT%tHb*ZqXISNKM5V87L)7MYnG>v^!T z1R9BCB>6aqmsi+>{n49TN$7F_#RTGK**B+#t6kvncW&jciW9}XH8P#l(hcj+tLZgt zr(bW!Jdbtd+b;`jkK{~d76gBBdycU??M;ZS6Opvx-5%}imZ_3c+xCfq$W{aj#hE}u zO>pTo{1_)z>cyI$SCjKhC&1qimhZ)LI!T)lVNFjtlw9e{{$O=0n^e`8dLNFsrs*FB zY$8q8_JushjLKf=wMa1(5Yw|l&;-A%6I0b^)3aO z=;6$sOpA)iGoK*=0XpMYY-}RMI(>o24euA}nmQ10((A=bR3hYdPEOA0=q>SbO8@-8 zOt4-sV-0R9Cg-mq`RvG?9G%5<&rJ24Y4)n6^_rez51aKv!uI!HNXA|9>Jb$1WeTB< zYr~^}p`|}74r$ct^~Izg3xnr4*%OI4@md??~!`qpV*pbot0BPGeHWp z@CK1{Ag-#bm@67S1L~^LGyb@%O*`c{Fk0bXke7(DoF7 z(JRm8X)iI^w@6e8WAQ7MzsM0tSf6?XP87W*l6~g z3a+uNM{QjxsUyqOUbn+7!2Y~)kXX@qvr)(&1CTU`r)8f-U*{qwQjBFs{#&_%+d)7B)+1DoTt$uVBd6NWvEkXOxk)&JF1Xs1R{H8m+fuY~6>~LKJyn~Et zJ#Aj3xOq+zd(2TV4BBe+F2#|PlN&T^iHl#|o7JUljjcbp*fX&bkm~sKMyze_G4=y! zbmaE6=R1Di_>aDZoluvXN}@T*uns#&eE`KM`?XRCxHOg8AimJ1j^Vv7quh_T|IIaL zdd>sB`rTa$y}EsR|P5&j=l*i1>&D3u@O_L&Ye%|MI&BIPdpJ7 z;C-#q%3W>hG|)YcM9=Sy%yc<(F9o;rT}e^}PJ%WC8J#nMa&-835yEb}DQDA{4VQcV zo3$_E50zew;^sznmZJ8fTA;3a&Z@X**HLq*WaWdZai<1;HOzO;un!G(qVir@2N z>6Qg^M-g}$1hRhLFKpX;Du6Fg3TGw01#K$&zTYS(!S-P$2!@0J!GIr@T{G>VE#An0@hsL50m-C& zDU!+yd&;)KTAbjc5Xr$&xyG@T&uU@(Z~37gx_a;PGa~V5;d8SO zL|7S|@ef9-654Nosrxc?S31}~qMhpD%PL2Zp5^|AMZL&$g&Y3$^6DbZ4n3DTTC*}Y zE||2uSCqz<+Znaur-Ml@?Wbo`s!J2|R_>89%eoGy^M=$4#NhuS+`yoL+6 z2DBq>^CkSk2n!y7mBo73pxZ2c*p{fIgn-l-=^93kTk;Z0!W16P)a^mhq%6%x<$1Z8 z|GVqgVuJw8zGE4D42{jIB&n$Er<^IF6fB%&3N@liX29Do=RNYr*g^6`7?!AS&bbR~ z>~94(yLaj=>-=!MuF@~CS*}?cyna6=XYHDyvuFGZEoZ#OyU|}b9^H>PC_>v#f=?`* zdgh%f;ofeC)8iRqpi=69kh8O^)P8CN=#eF_Lv58+Ha^gGm@Tr3&Nh&&|3~|1}Cj#@kh!8*kYc z)ve0fd3*(0DHIbjBoz7Qu!`K>U;ZwY!i604?TuXbiXCeOP5Seb#lbUIu0WmN-LIaL zJIhb|T+RjeI*RGl?Qpe+?6pfK8hGj?+eqzZY$Zf*U!NbJjP2HUAu>Zxb?Y4B_ZPd* zcx@)4pb-!y&=~ISveyxk-vb)o>dNS13!BGx^}>U0n&o9nY`blj;ts(6HpG=F-%kQnphg^=jm`N)&wXXEMUtlIBb3 zm71wUox%+0$hF&MA+}mX28tsXxs%cQx~XmBzy$WW()rfsNA3?T9K4X8pcC4do05`K z{LFSuX=yaI+a=N4}fjrcvN#{CExP?b(XnCTR9reDFut zT(%LatXx3qR>`p)XDB|>8N2a>hkJy4627KVTVKYy;?B7K^Tv+8t1W*0h&soQ@k*-) zycdcfFNqutIlr-mkvpsM2Z%h@wgF9V7&qtQ$=HHh)R)v|W*`ZNt)nR13E{G`!&Hb% zXJ?u${;QhQoDMm7g%;_)oT%1D^vy?{_y&imHj%C4QP*wvW2X4E7lsDq)5Tz#W0@}7 z0p~A=#}2}K$DE~v_qT`KV4AW(Io4m7j+#Kl-l1-I;7NfXGU`KbEDi zIw@4D^t^NfM&7Y_Ett-G%gTvduv=A5Zo@q+ZIhovNd!P_Vie7IIc2gegOF$W)TIY6 zV1lAA1(dNwFUIu|&KfB!@6M8i&+1QkUvHxwrO>|i@?c+({mp5567MwjV$<_|gY__; zRA?DkKW&L#nPWWV1E7$~hlpQ7$TWnwN&-_Ym96eRP{75WCr!b=e+l3h7T0@f4w)H^ zq7>75rqbd>2<&%CRHlOj;Cbu`3@*4%eb;#IcY6hSy88HskW%%Vt5H;)8yWkyu*gL* z?lxaCVGcN``Z?%dZokkqYVsTslsFo~9g+cF)uzXMd#cSY!NWI$e(TF&qF_IK? z$`#L2*)-mX{xyM~YH2E6#8A%x^X^?k?*I3T*8lHijsLa(2z6xtE!`tepf&3-91p^$P-$5`2H`nnh@mWtmbIHAsN8=?FVT3>s7P|<-~hHK>?4{P9UA?ZD&8*h z!>qy0UB`M7VPik6SNvsUKl~>eZNsi^`IDKszlEPv_nQlcD85wg^r0@=I4GC9e0TeW>tlkie zJU;K7Pqwu%N7Q`7{uzDaDMEhZEr9I!!Ti57jsB0UVUoSYg1^&#>p)und-H>}9_#OW z!tNK+_Fh49YcA6($kGz?#EBm56d|*a1mL+4oL#h$f`S?Z%4Sm6G*e7fXd5?rY5H-d z>!XbNxmeyqZmq2~lR@n)Ft|7WNFYQI%3B?%xtwyK@AfiPi}Fq-LHpPC41Sa$1v0y; ztcUqqiGI(?)muqZ1t*Jvw$f7%Gy4x8aKPW)rj48Vbkqxfo2xb$F=eFMq-wkxyWNrA zfN?30MG_8rGbmOkSYtORo2#-}^IVO_>EX(@i3 zJRxQ`DzMJcXs|i+17hU(H7Fc-`f*mRGa2;1;DZxa>xKTA6n0Rd^ATakNs?Hi@Ys{d zFuwIz{gh7L?`637*sqzBKdx=Ybo80Wy$e;BPnHVME@M?T$gg;N=U!Vw8ZJ;KQ3q}z znk#_UUBFRwMnU;)S;btjvG16p#&U8b!VizDQpYD);!cCGK4pDC<+`-s2Yk&{J^afo zKDLu27!V6p>ojzvNM>-jN(`zfwF5T#2-iCo{ig6Dy!{JJDD7v{0P~>b^mNSmLq2!D z#Cu{nb6q}5uBg~?R#A7e$e7i*O1XzJ_ta+x)SA^f6^9F#YZa6cp;hUX0?9dvX2*)t z_Zl5$$BrE0I_o4<7T<|eP?Dj@&N1Yd`rJe}>Vkq!n?Kp6l_hJUA16}#dA}D;1W~v;RPgJhAJnicZh)c~`&E3UIWoLDNO2(#GZg9h7JaS=_dSowRR;(NM zW(T9KG;HM(?Xa1rk==UN`XA;{DAvG@G%l@+S%p6}9CXo7^@Lt?KN(Zf%PAiU z%G#-Gg}m(R??_~yL-M8Zg;QRrBEOlUmD9MSbtew@aPaBo$&_v~y5^6e-cF-(0;9u= z-|+ICY35gV^B}tTlJWQtS76sYhZ0|2uonR`D)D#n2#ha81*ZQu z1gQ7t>w_tv?EQz;TLv#(3R~MDl)Wo{v9HQ;9kFTJHT*lFopUg)jTqOGKmoKZp)Goj z=d|rL7?)oo;>LG?#UvCKMPWnAYC!hnMvryCWtl7@V)E z#%|*Q$0|UCR{EPG-$YNtoYhvv{kX=H)YtphRMR$3<16YFFICjy+UV7K*@LybykD<* zr096o)#~joL)?gs4g7nii>b1GYTk9*u#llt!DUM!EcC|(=UP#7zBKGG)}Z8pt7MC= zseD6Q;I(i&=xnPl(d{N9llb_Mi8#&<9Fku&C^~{r7wEL$+?s*tD@o$b%U|w@GhaJK z`DL{T`+Q&65@s_9JC*fFcu+h@-Yjo;|8!_+oo-Qq{CK`-Hn2^ve`^Qq!BAw|M@Oji zyk1A;E@K`wc*Em5%nlrn(Lg;F381-|yQ|y;i=mGLu(Yc>oHvBqE%Qe%NKQKo+JTcl z5X<)*?{}v`DMwOP_24a>_7Jtc6LP-hI(WkfRs3&1$GsM^ggK+Kkh7==rKrmO$DX&} zd(62wZ|uQ3{>$fHfM6h&$X7|0(oz{@k;x1wsf^Gp6PktjR-_RvK;NAWGPiX_S zk7r5K8?U%qVIaF(Dsw3$>4TU47_ggjs=KIDU&3m{e9nR7+>Hf9QZc}1pxKmNA&>=W z))!dRnB@L%cNzbk!R>!^5C36LbCdv0mL)V>YlA=2Vj{W$n+zAKKW{ZP?EA;-z0=KI z_1Rbnl6u`;~|r zc%89zn4FHQ7qg2_0sWA!{72*mX9UOhQX-jq#|F-t9t3Mo@n}#TsFUaMTNV1Y!*Iq# zL4W+{J-J`3SYe;k5s64Jm6QS7y_ z0Mz3=9$hrSwJTz|a-Dk68~|RUGoZ@KqA+zkkjMJ+ucGQD*@BRw^{t=~h+cQ6P_OX1 zMN<8smyG#BQ!W+8xItny^K{>2`*K*M;+B?<_bIRZPCr--*NS0CVinVVr3jItMcU60 z-$H%MdnP2XY?ykEQX6lD$NkQ*dJsEvlGp2Pxf|WR;oviX*iI_jemtH>bfcsoHz``h zjE(Kb$*>+%=1P&+PW>*L$iQEgfFGM)dF=F@bur~QQi@w^&%WbKy}PV9nZ6VF<*d$G z*Ss)f<={FLdfhB+t(j@j@wH2dr>V}mbFA*b-cv*jc=s^Hk)loZJTJaW85VoyaXIhX z8a9|dHkOdCSxfErDDkvx)&L>G!YLzrf%l&bXhnz1B#53zTJX7mvf}{}hz;}!!Qw2I zr$QO$EoavpKuGIl22)@d+(WyV`y!*>H>msRr)&|zlJWgL&PM&T^kdsChs#Khj10~f zjD;u7Bh$utb&h43bi`J>W98GL;@Uc)60uxY4H=Q-%WBiU5MQeD;S?Xm6Ad2%wpjNX z)=F)Dl32Ha)z+%AL3GUU96C0Q@0Qu8lc3bKy8Xa$2n0$IWjBzE7{xBx%gBfBLx3*tN6 z(5_f_iT^^gDC1O#dl+gB_t&9nH)*3SjL1en0c&vE{(Q@W>)S-46MLMI zEcVeHMydS`o`K#?2x!Ujl{D#Mx-egY_c%CO?VAn@bf9XmjBh`IF_fhB`n)2YrMd)TL1XgMY8x$a zG-#h{!6ZG0x>?Y<6qe#aS7g1+$8TphC0uCO?YQFsqkzKm&DAC1Hpl0JPM-GtlVx$e zgFs-v1)1R#HytfZ{%e-t!4q5ukn2PqU4B$%=npGlFq+sMR*lWk*Ubc4Z&g~`$}W)n z*^Zn!&xIzVgBbKM(%w+0bG4}n;z-mQOx1>YM}d22`8e_k3p1- z)H+02G^WLU=H|9uItW9hHv0%6Jdw8~W5?*KniK4OB1?*iJA-~a;vz|8{0d-<(-Pw1 z+37Hizg=}|a{9&zdC0#J-Di7a|N28$?5XC%u1Yo>Pm9tT{Mk}Okv!&Rx!2clft7K}xwb(uEo-vwN0erqueCyeQp z1N=#lx>xyj2!-(-0pd&S7BKkneu+#qKs&ToKAIQL$PZjw)f`DqY$6!$YVuDW1jH&U zMg_k6q`zA6%m^8@HY5_J-!4@0+#b9@UkbiNlz^drHk`{|gDp1ajD$F#$dApgo0|d2 zAz-5yH9zp8Ym3eBUhU>&&*Qo!HdX%lAsd=`l^$JKOu938(yx_U-uo7eYqv1dVaq;s zJvnsX$&4V@e5Zblmp}LQebXJ0OAI84{Hz;WFnXFKT@ZdJ?s=}Y#I_1FJys9SgMQJp zUEnirWUphF77+@Pp4*vQ(so$}1l(Sz>mIm`FIP9DF@aRUT_cV;`h1N9$dc`tyK`75 z{oRFLUeOrD%7%v-?^_p#8}R(8Xxe7M_l&z`+x=b$j8uUGqA*n>m-yo@7@z9fn)vJ0 z0~h{{qIHBL#f$-a=w>RgUIY_3RlRS(dn}&!nFr}^Q^hU|)Ney-tp=RTdYkEdEl~B+ zpSh%{!9_d2+qu$Qx%J}6)w$jt@sG`{%Fwk*Qc7(WfBSpu?vhHXqpQ6c*$j+QeJ^{V zLZ7X&P3F+4-=g&H?#-??wr+mp*);wPMEZ+KUiKW7-c0;3e1%_`;hi=@*@(sMJ%>2S zlO;(ak=H$v6il|XRsr+b@;z1Ra7Y?c+$yi@f7qyJ)+-!xqa&b*JexB*6 zB-^x2S{QpyabNd9*W=~F;cz@&Ce`(N{&J%1CVy7C%`g)yu{f^t#$lo4(S1P&R}7an zic^yI;UP+MId+ZW4VU^lT~0*zrxZ2blTrV2mD4Mw{+M*TY5d3kF#R@=*H_NC_)(P@&oaWDJ2JdpV7zy|FxoOjh_Q^K9Z8`NfXG`>@h@u< zrvEn0{srna+3XdV^?Zoc4ii)4z2 zwWivU)vVg%>($!SR&`nUAQ19%PKKdw{`vXul*MHKzk@-&^p#Ka)`2V3! zBys4v&4)9G@Wu*qvh3JED2>L-9aKaKh%KsaJh^@=R)7Joc%wCq-4rxf z;DxgxbgNhFv!2@zC*5}kRG@Ra{`bDFivE4@ak?lH_^Rpmzk*@Sy zL2V1o95BdLtyF6L0E8tXJAXlZ zj{@XE$_m`=-*q?tS@XUm?vHq9S~1hDAccfobR5aa(-Mct1PV+t%+bU*kp65c@#jkRJzWb>wRS>V zUamEMNPJdM-%>L=t^Fjkn#(kH<)EOxApm0ey}B-A4vl7D$6Kq%(Ul$wPrlsa7ivyx z82FmgK{dmRuU1-6+ll@w+@)`99LWxO`7(itqz-_!M%T25?oK=1ZfhfSAv#4 zp){DTrm?`_x{7sULA=x*FJ@UDtbB3dfe$SF-*x&p$IJJ*q_wilyoW3SDXUcjV*=%# zmq)^oZpSH0_f|_g@m%*_19lyV)<)#lb`@*NZd*YAnrBf1+nz?91t__@{%0nf??;zb zIE~2^L=wwTe%&ic=O}HS_FV8%WcC<=MH8_GE#?0D?E6+^M7H(RzC0K&mPx3=OHxdT zYN6IZRr6U`5sTh)woFP58#d&}bV^r}uXAIaSmO>8f4(=Qx)_7vVZW<&vbJFce z_$GYT<`v08&~8J71|^pa*ovG=5^Ld}0!8H*RVR?MRQmlig8}{*8mVEkN;=C=6TPTn z<2iV)bHC|(c6QPB)Ssdq`#w|sX(+}{a@VFZn~cEeF*rNnS*bN$uZgl%pqolU{2@KU%Qm_#UHCO z)8XLy=JSdID%ZW@os{oQv{lu}%sHG_p+R&NhB)Z@{PNl3sVjkGh**)=c-=;U>y|`1 zA*@Oaa>RkzPPzFO;(0uzjHb^yHcGy=jZ8CHlbJX#NWHt7K{`r-^w@?V9&(``)vE|+G#7Mj0unMDxLE{Q z>g3JWAYPbkHt)EnknU_JY+)>1#v$Oi#I+*RR z5UR+#cYBOIgb@khqP8&^R~#$Z!GS|O(VDT(;MQQ>7A+T#YwTfJe15}?nMTrWVFFO+ zdbD4iDDmKQzz++ixPVc2d9^&)``6 zLWS$0S0u^elpPa0%PlWZRA9e=kM_-htj*rTy)=}2QHdN1V=kGG@$9>Hik;i6Pac@iRky2JJ$Z zZ7pV0v6mFU0S@wyf&3RmWqg+Ko3J2lYT&HX|mFN9DHO{|J|D<}MFILihc|D=crCiL5+F`;(M_yVO*fZoTrt#Tf1xdn3oLsV<)UFoXBn2g ze;|SgBhzY^OC-ib8eOkQhS(ZG-lCs6ZK}^|?l2@UMyiqeiU#;^Sl0EXlqp}TDP;^g_;N* zx5n)0sD)8w4FfZKUhsqM9?lxS1j8)Wwf5?BBC9QTFc(F@o@i~>XQBN? z&&Fx9;$ctk2o0^WvO@a-GgHTbp@VAIorRG0V%gk8nKenfSp-k?6Mhj?xGq6pgop;fC(fjJBRa3FtNDgIF9ZHdSs&m!Q=$UrCoFLoI6=xM9 z#Oic_B<@02thRUK#ao(Fa`}1dvf!rXZEjn8?xYvC4xLU%INQE{LmC2*w8l9|4;o?S zHDI%I*8N~yD#)_?}#^cjJMe$8M;H=F9q@TzmY()wUzQq!qS9f z62MG{50T*K0DB{^`geQ;ip=>#=^!WK&wEY-{|C2e-wZW06IQ!gyuWDX6ezaqpWGUl z(mu*}&+U2gLVV;5ZcFD}_DIcqxu3bFAC^K=9S23r?HAa$#liIyZsrtG{i?w9u!?pq z9q21FLZH4u8OImr8#dZr@uxKOn#?tFBFUvEuBO6|`9mRP21U{ww8g}1i*u8Ip}~m0 zA}E%EYsw$4X9dxns{+k!kRJWrVMy+|Uj8sH}CQBP5NK0w6EUP-;apY>Y@_VT&;; z2YV&?q)3n428_D(8qs|Jr5snmL)TMLki_*1r_OcWN3{(dEB5DH6=%m^Xe3RD)3hN!+utie!J1Eh#VFB!y~P9<7mZyL8dz92cg3B;4@*nLak zEjl_JtP&hOg>iDd%oq_wnO zden6~;To(4cNZZqDPCZ3xBMr^cvkFSe@E-lf5|%-xMr-*F5){Y`FXtjidPC?apGYR zRZ$uE5N(7dWM&1(rhv%LoL?BEvA19I%z_+b)z1r+Orn)-$dA0}F#Q!=>m|{S3$=vY zbI5nOWD^((riN#GdPJEbWo{{TR`@1%u8v6N(j)`pBm#Q|zgI|!YR-hJI ztp?smR99qD(9n={YUr95)fE|+f9TO;T{}>u=Wb~RcE9&GuuxH3!#g0yG4nMdZbe&v z@w?ruv%2E&FSM4J0lsNl)MJZ*xqo82koU7i;M1IX`eWZ8UfprmL9eU6B;h zrU}W`Z`kg^@U64dJ{$Bs}kWbsjWc`au`_CKuE-tKfyy3Akh zRW%L2Sk5|^@SlAkq+KwD)_&B=Q`D}zsR8W@iKYzh7M$++f(++>_DxtTZpVowB>(HT zqYsIiQIE}Q*q!9XPa^nBO?}ntPQUmm;WDv>s~`j-5?$it)yZ@Vo|nBv%E0#^*et`T3I ziU1t$je^L}?e&kAMfFzFymp&rGyAdw+imx}n2YZ7q9}J^)<~pz-dP}6Bf{Yg#VRQD zYHD;n2i?TPfO}j3)%u1U zg#Mr$t@z?CN*SIt5V4XfPzS!7R*g>D@8f7dQ3cuF#G0sb_k5w4`wuwN4flCMoos(4 zPP8lh@%daWWUM~wTQ_xIN#$)sd`XK_cm3Cb7 z0K1Zn#8l1LCl0Sw>l9ivrZ6E)Is7WtWVX(ug1e2{^j7-7IY^*8WAN*JT1A}3zL{iJ z(E5oRC!L(BlV(;31w*0qBDL(f{8NUuQtRvCOc-+bOp^zjZ*NGXBQQ3;Cl@YcJr7q9 zZ>PbSLqS%)6I9)>St3m9Oe#R`(p@v=-v;ogbHHUQB@=eqc`;eP4xlcw<0fZq)@O~W z(Qr!`iZb`8NHB$&#z&;CG-$QxTn2$JNJiLpZ)r{19`F~zmI>hq4_lQUNGE-z-~|-Q zAt8pvdVv)R8wDR$y069BKdpJe0Wli)vb!V3`#lPvTrHo*foy2Tpgx|1@EhYSqIw>*49 zw@|$}6Ila|mslD}bXvQ6pt9aWVrcvDm8eeIkbMH`irfF53ClOk3#Uy2M+?nSj9gB) zH$<20R4hmuZd@17eVOGJY-bAfJa|ee25g)54cGiU-h-%?RRA8?gX!~Zqud!Ho$;}L zxs3qIR+?SK&*ky5U2-!%y>x>&EH%1K8+f{CaZp!b)4FRp5nIOU4*ZtS-Gbmot~50s z3)bft+_A73ntpdse{JwBU-&Zh$8qIW$I0qBroS&F-4&_9ncI#)d}Rc=u3Cytvdatx zpDR31;rDtOv%J!r5Z_~F2Ggh|in@Q{jStB@!-PIQo7=zH*8~J_J_3_=kwf4=R|&BO zIUABfCMCRT`*J;jsOecZgIGE8^mix+0evv$r{=u7(-rMLS?4^ z1ktNlx%Hz)N<+!oc5$eA|EHNix!Dsv%25*ArnH52u+JS!nxSIudu~v2DbqV95fRY_ zK<0_CL||lHPqD)}tCx$HR=WEzQ{bax4w>C;)0Nl5In_YNRyD#Kf?Q(LwhS2*_ zZ+??9!{+T7XLhgb*v4cgp`~^`M9g^W@Tg@%`$E@(^XuvIt#fQ{BdoSc!N}bL16ALk z5k#7tA=6~e%6y*0S4H6=D0fKoRU+Z|_|LtnHPWp5gxCX;La~H!G-_IW%R2OJYH8!k z+jm7yttJ8i-LXY;32(neR8J?RY*%(L3gDz4paFX>#3A}f%aWTv4Tz#s)G1jLCh3db zdic*J^hkf6Yfs#G*MOT9*ffM-hRyb=a-n%xUF$go`nTUxu`mO-mtO}EC&~+XPzx<= z`%;Xh++u0ThxcigsduVkor^bJu2VrFS4omB_L$47U!X2-n3yrM9~E0As|Kh+KZ3EF(#r97iJwqJZtz3+!! zo&^!C9KeSJJ*S5Rh0a)GQpN0${4Ca0(1>T$`j-JzB02Q;=_VBwiO^sJhAP;rk{m=EN)%_0%hj4kx{fAl1hUcrJ6SRq13MgH^)bDuo6Q}kj^65Ge-x6D zmvRU$nXJGty82il6tK(=FY>KXEU`oK)nopJ_Q$55GWT3)0Q0_mTH2_G{h(DVeWsUm zdn$GxDt`lQu{^h4x`lk(Jf1#z_HJ)MTSE`mgY)WbhnM~dC>ShaVx}&&m3UxpOi(pl zAWJ=y@jRVgJ#^h2n#*|~;sd{@4#~cF*S@A%pqxEjJj_!WGv^n0WbZ%~*UB?$;;v;Y zT1*y=TJAoo)Z&Ypfe7V_Fx6f*M7{4Mwr?HLB&hdv(Bz}hJZoWn^)w_5&0!W`And`R zyEj{k%Ky@P#rGGQSwG?5vlj{w3LsXzae2@MNuPJ^sMtZMjxD4AFFkBZ|c#2w$VCmINvGf{jB(ZhvngarF!H) zw?_oG5t-A6O&{3L+VDmnqM7}0b)bA&|N4p5AO3nQLesV{aHC{jmr;=;xt#*Mo~}rKGPJ7MsBaFx*l)i4@No4_p|H)=E3x=9u8Oh! zvfD;R*K+Goze`Sq?Pb(*fgJ!#* zBcywF7GwmQxX=^%9s&4y@j2D1b`MTPTcErKl@AhkZ@%5N(fr*#`Cg3(Q6~3^PM*I2 zHS#M=a@IrN$g^6I? zH#Wz3bj+VS_8FVIpF>8IL9R{y3szd6ivMooU;8#K@zY-KA_&g4;NC!2<0*YB3wJSs8b&ml9ZSBof` z5ARXasfK47zX=swNm+}k)Yw8ssjdJ!!JFbcfJ?Eo0&62=ow$Pf{x~%ECmi@y<$*5@ zNOX#_NNnODXNtP)518cGM+j8CMDqo8!(RX(N@~)uP0uZ|;$YYui zyk`w#{i8#(V#iBM=^zE!n;Vw(0M^vgvCA~e)?NXgX`aAfrj#WMZht-5eYdi#;ui#w z|I{rPe^|Bbr;WdtfZV>)-Qj&Ah=$7PpC+F|DgG-y=C5F?==P0m{G6$Sf5niSeGdvj z>p<2W@Zlxv$6!G6*gNZ5P!4RYGBbP0q+8XUYnTET7zN51W^#ryRgT=Z%EkJkcRhdX zIg!Roeq zNc`fm#0bfOXq(r_nU`GgCUH3FklRs@#!p~)%@N4U_K}xSGWec!VjUwP=-=-&AUtTWyIBg$>YW&8Jx z2b0C|REZ;%&Ec)YEQz6y^cMF?CeNN%Io0D!W~U>IhK{-8k~D4xnUXFx_-RDQX6UMC z>ttllCRXYev_wk6iBje@SWbPNlng9x zoWT$kCAWz}xj?TfwbaPgpX`_beC6*N&D=H=D!~lv!0-fIaCy+F7BrPctZaKtui_#6 zAUk&@+lj}~{N4V{D7sdG>)g$T7erz(i^9Xd;U?f=`OW4sspu{yAX=6GRa%ABD^eg)0>s2uil5#^B6`m)FS zz(2I5$SOa-O7%Xw%`YqjDy;K%$mWe|BE@{Z8~d?p4b49LD+PUpOR;B`+uKJKpBX7q z1*XB;^k*-E0y_Smo9F;<(h~VthfM4`xOWYKDrqF7|2``;F_R%zBD+Hyb;f@vNKbL${CMJD}eS(T}qCUx{iJwnzJg|Ni{v!fbJt zmbHl!jhfu_)Rs^~t`bmqGk0VY;g?Ac`Qd~?^1igmAv78KGfFsJW%|Gg3uCjHwJg(} zG%N9kUwx}SRJ5pEta20NP5I}iH?X>Qq%1}hKj{Ac4_2Lj*1MWJyW*L?`jb3o!tD(D z5Ma5PoNt94fy;)(0lWe&IwOjD+VC|B-ntY{q|U778JB!x&YmDr6oV{Cd^#K-0~Aus zvgL}>T=sjD+|XostNi$$!Aj8*m2(O2ZrISX&FA>ggXwqzlHqAzswqwPU|dYA6{Q6P zGU?CXW14Z7sK>+lSA`FKs5|FYoONXdW|mr=Vx}(oLPs{%vLODip)-elMbKLV1 z+dyxi;Kpz23IH=J5==8MCm^uPB|lO}NNCWh1N+)4PgpYR4nC(jQ9c)NMy&l_`v3d( z0nlK?_cN)_VTe1OZv1h&k^)0C4DP!*soNF-cVD70V{mst7H6KzCcUD-2wi(B;Jj0M zug>)M!_WA;8C#D2Z+YF(>g`Z0@B%nOcuJ4l6%E|b+uZYUsa%*xPPowu0$TgRs!8n< zpVkQ`rRUCDIi=iwIGgm!kE0k@OA)_ptW;Lhs7q@^it|S0)wOh55PMWZGC!eKUEL z{T_q*6i3)x&K8iWs>)W)zq_T+GdbU?Av7t@~50*rlQ zw#foEjlNGsK-R!M&)HbzMJS6y3XGd!vt~NsEPm#}JHZ9W@ZnfVjMIpRo~v=M<-fo0PHr>mz4V{zypBuEckyAq)~u z(t*PmtPCMnS{Qw)p%gIp!__*js$OXf`b7&{#=m^wzuS%pUT&vC|Bf~N&#P0O$!Rl& zKKGwT{N4Ky!GC&~Q7#K8Jka2yYF6A2_%AONE1YrC{oE;=XOf?RUrz}OpE3?mKVO(X zPFipKEKBq48FQf-+ZQ%&=A?yF-7VsoE53|7h_A3_{ccTZUtdAX{zN~uiHYL#)vj}( z*v?dGJo|XRwLJW=7vws;zna4^SE@;yy5>8U#-C@KZn z&bTMS%ySD`!CyGowMtwMae&8UNgf^h=@#`@Uo0Y%xqhm!g_SLvr7wk zoI!nQhu?|tJi4I0pPss5_%J}JjCq+GRj^8I!K6LaS2N&GWY>FOUZYBu6#AC9WLh?C zoal&Wbq7x+s$ZO8$gI>IKhh#j`7UR}*W#1)h=LFRg_I6wq5Hs?MIQCWc=kx|FC#@L zM$nnV`q9x85|+@X-7gcBvQgGX$wsrT1o41^KjHlaNM3e<-3-MZAS!KYYMJU=8K}$O zV9AlvEm|(G*W`dS*dMWzNt?&<#cUv4frJnFXS}KLohI3P$9h6y;*7~|8hM93TD`nI z@wrk%C=hgDCM1uWQQo~*=o@CS>D=ea)z@*JX)bo!g&v7u#q9$aQhESD!*^sM2_Cv( zrpnM_=5W`2Rw~rq9qzE)|HuFOCnD+h3`fSWM)gVJiyLFeJkx^im~*7$|_cTO|V_8aRY9Mv;-M> zXQ>-lx~I`{pP9w{)HUn_bn?x!3}&H5iysG1YEOL!$8h}%eAHU4x%LgJ=caNvl~>l_ z7ywy7Y-#icCZgR;lhSF?a$miaW?YW9s-jA=RaxKe^K!K(@Nyz4X{xfo_{%2BcScPp zLiJD~ao*fCt&H_~g$&8;p&VFDG-OQ=!A`WxLoM`$y^4Rlm#tcIJG9p|87&kfll{(l zi+u^*vD$K?hHPo(h6*~*xv<3r^y?7AfRcW$MwsWM7_$#hKYjOhNe!F*URZUiJ7bom zfyzCi%c+{X^ckK*6mI{_(iA7P*Qkvn@jUfNidi(Qf-)2Z;k}M|>cB1K49`z%B+jXF z#K7z0%TJ)h3abN#s;_yeBWtin;zw|4hoR)!1D|I0Hc!7auu=@JulZgv_UcvjZJWd> zd_3j(%%e^1e?bog_10^lAinIa)hz~ypjF}a)yo+>qZI52a!u2nl81GK1x3nmp z$WsN`CRB5v&o`iThPDf>X*6|W3v($ndgPSyF~53|XXo&!`im<+rdqYvRf51ob&4l! z6gW5jW~e75HFG4yMm&)o5- zYty}w@XIV;sf~yYlk{y&4Sk+2)jxB&5vAlKb^9bXc(I1xqt9P=YMhq zz`v=I{&Q(S^}lK#{=IGxMFM>1*F)aDt}Mu|S%G{5h=W!Mfxn#DFVfgcp6`@%x3W@J zvo~NN(&)uLH&T5tLZ&!A#LAT2WpuWwziQ&}&<#)@6QuL(u6kxnA2zbgBy)coJ9QJ2 zeziQa*jev!HfssH(Cv|uzhs1C2m8lPkedT(^n%ORcty#*t{#w}a;*3S2$PGkIRHcI`eV*)5qTP)y*$m6Lz1-;;6e2;Kz2`u^f| z(7-vFptinFWKu)rck*%SfVuGjF2K%pkyy}*P=Lk{jlvN`|L)p9vbaoF=A8uEXOVK3O1?At@0v^m6 z3dbUW6=D8%GH=UqgX(#I88zR{?oDRxsyi(x`c1(kjG5SB-K8nihq5Ba*G$hv7+(nz z-ZJt8kdB9WHM`rR#YtorxKilt3w?9u(^n)1jBtE^0_+|kTdiXVEX zyH5Wmw*B{)u>X*d$5f;(H;Eb;inS6=vLQW;tH*8OdO?|V6R}rCVoyLQj+7cD*yP}w zDrZ)Kn#?W>hKkKnC_Q?|yEl~HDWf4jHz7WWXuk~viDAfnCf6+f7 zwn^of``FAL*tvm&gTh+Hma{LH)j7VcX4{zMw(-YSF`C0d;BI%D~>AL$0g$whFm*^0C{6?rR&u4o=t1L z$b)t!gEI<~6S9|MkMDcc)|fqd-6J|b&4vbr1qKf3>K{**mCk><=DID)n{&0);y!Gr zc~kw=B+BwTlwhQxKV+ZzAfsv#c;<*yR^E5k6~!gQj!Lf7y)3ka3Wb|~k~RTwMHnkz zI=^j6>tSU5*t?nCY@=yvyg79L0^o_Ej5KWa`J;txyk5a8;FIZPmJxK-&5(~a_^V?s>XzkWus?AX39L}= zw!CFK%~qn8lAzAPArG-x@_E3UL7O;}9Yu*;XeC#+Y_hq?NP zqv~qUhyu{+GKSBX7(m-;$e~_oG?ERWPBGf$X~F zM6vjR>(}%Mh%wmL9cel55p*S^%2RtHZSf>(RqJE5{b%1^MqAsJrq2q2(@(v>3NsZ{kxN-j|Gn!1$xp0>Zkd_VMtd%NEkLcz8aI&F;e1wU0e) z$|$TodRo!di^bdDZh>=bY&X5K`2CaICS}x>rPR};`EjF{skdvdWAP%_6$wqqJO%4Z z)P4}098V|kc4JWc`f!DV6@mo?gdcTuy~Mg|X7yiQ@6Ck1C5tjcAaX+zau>7?0{NOP zV+1Vme-APcUuPiYdwZ#s(|W6G{@jc0zSXeey7Fn=jG4UqT(Vu?ffOs~%8Pq?A(uK` zDZL^{$$_c}Wz8t|p~N%nc4&QRe|IU8nrYSQD542@@o4BqN&6*YV(oL0i(M!(L!IZ(W{av4j zjD;S_hqg>E5X$yRB1SrGU@Ba8aA%t26q6#4EBgFw+bZccf%epXt-rkh=5tSgP1DRfjY0vxZ4_aJNCT(~l^SD3nXtCP(?5WJA79 znm+%>G@%lb3Z*gqo*?}9od5oQQMvlcwo?PO(uPJhB0k_W9G*XUS1JUb*Pze1WA*v* z9&L$rsljEh8a+-gS=Ve|s?BU*DkVKbjP56=^PyS`W%RhNW!lD5R)6`i;^(pY1{Sb) zAte0XvlIe^)i+TZgENCu#6Z_y({uVJ=+b+3z}_JSruV;==+~w8KMh<~vUwl6(c|pO zo$HajX}?v3Y+L8ze0_fLkQ3`yHGUJx$WNerT95li;)We@%bs5T}ZB*+p+ zkS3!YtrHMhiR8GTzd8Jxf$ko_YDJbkfYdckh!YYfu`gwjKolG@m; zGIOM3lYMZ)x`l(ONLA0W^5?==zGo9D@wCqgIs$Qw%DoB9g?=`kpT1UpS8lGQEw~lD znn7mDvT@bm`>d`nqM)v1^#zN5DS@WxZqHy@aa6={*r0YRaeO(sf1*^5Sks6i^0Akr(H#8~>$UvUxY}gT> zj?XIGO1HmzMo)tFHbp3V;DalrpEDMNX1hMFGxs`{Y(@oECvtH)TTKQs)h)Py^3%-| zt}h~f$2K+Ja)iAQ4icqZPlHDft?)SWK;vC65#~FNruPoe?EC;r;+kw{)mM=O^o*B^FtGp=<*zD1 zhYimIdrO^~Qdj_Zwy#@mix%Fu0}v=utb@Z+Bd{d?@*B`jhM#>1)Tf~Faw>_Hq!82@6?RA}D0T0`;S6X%D3oc3!N(xG=gy(*Tl6k5Nw%I6~?6eXiEZ1@hD+&>l*gP^%jWLvV19S_O9DyX@jArwa}2_Kxh^c@Asa)&bFM zDJ;oQu`67A*nAc|;FjLg1M90Vf!S-nL)&Xb$K~HN_@YmVYMgi(A*5%g4I^8SbTW#y zBYlgfZr8=tHo`;QD`tn1CN{b;^-f&-yyb@Va1}_#+7@bu5M*_nrJIUfG_I_W^7uEB zGKlcDZ4Slo^I26T{XbX&s(NvXGiSJ#D$qWn-7Fn<7VvTKihjDWPc#S#(<#!lK>sVR1NK^*^Pujx6BClH`X zgtz9HoWxF;si^rzH|Ez^H&+JvcS(Kni7g@=u*}kgU!rhA0_arazWHL~#E1pQGJFor z763pGv|GG&5$v#m%Yz9DynBPe6qeXFrpBB|2@smwwTn78=jJhrN{FnL%loQ$;I4Q! zY?AT3+>iZ2+XN%Z#_lrEbgRr@#98Z|2fVJlx3P2syuR;{#xL*u5Oil!M0~H=H%qd5 zRx|G?a=h=7<&9ysejUki!_+d1$zR-O_JfCq8`kWHiGzdqtlU%W>IDxa3HupJfK2K0 zioaTkME}@h-$Wk+Pt5_uDDVjXx-MyL)(A7-n(zajE9&}t{{27=a#=^L{ zSs)W%L1anEa=Lf&g=BZ8{^SCg$Bn+g$sePcXLeTA37;7glb68L8u20Dl5e&WLX0EMn=68s_jqI56-@=4fMbR zC7bc(-*~y3R1Kiqg-`~crp$PcV?L++x{lW&d>h0DAR)(`|FeQ1y;? zWzsV#gQ!THQ5<`Aw#k~Zlp97kX)fDl(Ntph>!DKwahOqOwlH=CSg3hHR3!9g7I$`T z7MhsnCu&I>R(17~&GemY)oj8HhSh<3Pwb4Q@`l4G&c|_D8D7v|fFm{G`FrjY9Un7h zn>2`Axgk^$;!JIFWv7l_Q+mgOwn2F7YLRD0_7&+xXyoAKRIxMcaE57qVXYJcPxl1U zH#js$iQVx>SQWynrR`pHnzI3*xx*3QTERWf3#`P;Y$puIN3%BRad39EV#HP^B;w2X zUx0~iyi@dy^eGAh{@5X&4;y6y=8|jIGc&VqKzcNZMQAXD7g^3dUz!0r z#0x(v#dQ4xU-000%!GpT)bn!(EuOXFT94#uwBF2Jrc+iEXGI`6WVN=-{>#mj=cRN zNZrHdrL5mFP%$5!ci?OnjAVH;#2+{-aHpTDDO!|-g*eu7Q_l?_(CZtT^^Ul&)n({G z@V#!(hc~o0&SJEl3o^Fih1tsV5Dy{n6~OcioE?_-^iZ;aPn#6m0!z17XH2==-SG!T zB>GLIT7w+xwh}SkFV78hc|qW3tZwXdrZM6tbByWog1rsGSoTnKS6uR3@$_A#Kf@k% z*!H=a@65Yc%cSS2gQ5C}>Tn<**OBL`YMPk_>$`_4P)Bb>!L!&6P(L&KBnhnrweH%= z4i;b&SUBCu++J*G)oCM9e=H>LX8@0);g11Q zEfc}m*t86Bol3duoSa|NY9Z-O>sbz)Zgqv{3s<E%{uq03w>WoFM8HhkZ0jUr~sNGl>?VGe8-vu@3kQ!LI962?~&IAm2~RRc#O4lki$UtL|}6+T~&k#P^Rv1o`tM7sT+v7!c% zG1d0q>+|=o*+_LU4>&x8`Dbyy94KNJKKNY->Wi`h;O-DsyV4X<~= zd&$ViQ>dcgDBqla{P?-z4opU^DUL|YwiLYkP%O7DK0`ck5TVlg%+?ZliaaU{D%l;i z=cui9%TygsEa-GLDz=O65Pe4|DYMV*M93_|;^ZkHz7<%rFCYm1PFIhRGK(4Z_zQ3= z&ViR}B}2{JGLl}FJRyf-q&SkdPY`;#8txMfRgv81TlqF9u#fN$UNT9%35|5p?cvJo zLWM^nUo{RZ;PyAbt%05F<(Sc}I~JO!wo5zIOSGcEFQGl8qn`M`8XSJA-AS%mAFe@_ zFMprH;N`A7>@h77KSyI;x#V8D@(2)&cHE2luIcNbk?doarv>=0h766^2AMjLIzmJJ zQAQ3dN3*I&CxpiL)3i0wNsXxudoNOEbg=4L&0)T!80)3+88X3V9t=z(NO?_x>ZNhK zK(hDPiH6rHCLpXvJoo)aGlO1@>H;h`HlJ8F`XhVQtvkWaNptZCxu|-Of5?L$1J=T) zACg;6d!BTjd&_G%d?5kv{{p<+g1p@(S`NsKJ2x@P9i7JGOq zxO>-DzUGfKB;0i_2`kATT}?Z&XzzdZ7~xwfkw6|(Hw0&6{j#ft?`-UO^JZtCymL4a zp#!iNY!AAJ+)(}^d-i#vg*#?S=x7(utBA_gF)e z6xKS+olseLxC0_;$q$h_y2%;s?g3V;Sc1HJU(H@$?}y21f))u`$kgAHPs!tLLn@ZM zb+|?mAR^}!kNm^-O;#41E0%x)pKl~lU^&kVNbQ=}Wp1V$Z8!f*_dCu&0Vt~ji={nN zW|`Z!Crzj&8qa?N{Y}}kc6j-TL-KUO`CqN;&coxpk~bScZ%!2Y6V>(Lx|xE zJOKU^QsLg5c^%iQLo0P+8&+~RB{;jI!7L{^&A5r15VvmLN_7^o) zF+mE7(9##1<1;{F0WU!>LaXeF7y$%W$+kY&K$t3_Z+)d9ezlL3_GeIq))AfgUICP%ND&JpHWa2OID|&}j z2P|60)QY`%AHr*CpT%M+;$4?F?Gv<`@T-H80^BocqX}c7XG&QpLjs&o@@mgJJwoH^ zi6hROvf=zkKCip98|$yQ9}bGtaWvKYp~R2Lr|w}aj`Iz{$ zth2BY+&t{_6}wP@=7o-}8b@{kn>u-oMLrY3%Old`l1Ij_)&B9svsfIv?(i zD*>5?BcV}8R>upP{rC`@lwc2Ux5xBSmL0oN^~_~$)Xc&zvwKvf2JWO>x*x)_{w#ZU zN}gZi4n}nAa7#*0gI{54uSuH+51o)*rB?8WQ0Gi>$s(6oZ}(c`L&Mx-_s|>()_d$}n^w3xH?mK)>CXJaM6s0=0yZZ!ZcAP`jtKn-&6|^2a93%>oDi$u&OU zUcD(K9aq8sEK?Q~aw!9JVo`XjWUAgQhWW*P4o^CuYDGeiR}t_hzA=SRw_9 zVhhdq{o=S;C^P1fiEX}_=}jhG#t9?euxt)M4-}Np5&lMPW?rPH6h?Q((jgNMMGVh0qq$R(p3 z_=z=xei%Ne5LqaXMR1(7{exgFdiX?l!u6_2#}XPjgcmXx<{rHu?)bTq!6YyAH>1Xz zKAQO9ojTz^0J*V!?s3}#FV7SM;LFqhr*!MT{|#6a|B9O`V`h8c&fIc3_#~C{{$HXd z)X2Z17nP}3WV9itU@yz3(;G4JKG9{r!ZbEaksia*g)?Np7p&KV=cVLAD;*LX&h(m#WjO2a7h-b0a{*0$1&{x7?p?_?Y zb9Fmru7(HRvtOJ1Ug~sfKq33k;_!>< zeT|~2I6dBpRi~Pjl#!8f4VoxjCa%_Gmf z)F1k7Fr6eas^0qm;^q1LRS+g+fm7NzrLF5)t-Z_x`M3QIaOVE4GfLe$?m=NsM-o=K z9vJ9ss`Ef5pp9XyQiZzKJ!JYt>hlFu{|(_fRp+S$UJaj_{=6TNc&7|XD2SXj^GJ}* zD#dZ_JA1Hrk+fuTA~>Ox+^=HtP6)nmQ~5f`wz;Q$t-@)i5ohcUXLpezQ@E!WrQPg| zjzoM@Yhj)W_g#|}<&THL%3N+5PQo|xS4gqZ3XC!IJBw?b0sD*)Iu9jpM{Wu*<)LG(5`-jB0A5ceC9aY_v$~t2B2nTAn0a z{#m)b&G+ZM%|%XJEVhz~=~TEIQ_G?sm-ORHmYe;mk@r*=#LH@yb@PYi6Vs6>Y+k6u0okHOzzFb9uI+*%y);WJsV8_mX^D#gTO|Q=k zTgZ3m=VIOQVTDrV|L#x1{&z&8k@6C+AMy|Lii2MDQafoW;Un_|IWjU*LpEHxEL313 z&%WEJpe-TBH#$myj=yq13_>i?-~-I?pZ=K85+T9Fq4ev~r~=%mx*~8sM)l1EDOk4a zQS^Gz@a>24uZx!j{0Zpin47rv?`ACNvfNzcDtuui0bQ^+Rb+#h7vmG~Mh<)_?mLb@ z6z{zvAQFp1&MIYrcg_ch#w~5>r2i;7B6yempRl$noAKvhRn6pB zKhm*JSC{~l2iVS5UdKldUIh)l-C(7hRkWNGev)_g4ipH&eNTJq?x5kdkJoc=scX3N zVV5LA2fjm_HYH$*naL^NvR;|&oq5lShBQ|~At?=zcVBknp4w2KeoqDQkWnf4yW>&S z_}94g&RGgtTf5j03%>UCG!L8hHR9R6!Q*!?3Z-j5Ne7iTVV3TFI%ntg9?5< z0&uoj(v-j-orNPxxlu>_4Hk$WU7RBRJN!W;4Y-gd}6Z2kv(3=z6;42K5( zWDb9l?2K^Fr7%H;4VEmUTL6jzPoO7#$)h;`ZwdLl zH0O97_SBekBKTy3hezbcJ=o56B<9(-O;~l!tE)wh`>rZ93%>sGm|#mF|QOP$ZHn5Mz7I-{800X!yI_&P9{ z#v^u-5r}z^k$$@`sID$QA$k$f@)w{0gXs92oZpVLbfESkuxB={XWCgT%wb-6Fyd-w zBTEZ~3F({LYQ6-E(L6o@wOJxy9=gp$Fn+>$ieUn`-u=@a?Y>2b?E%2gTcGHYakbZU zPZvynCBC)-AG(&?mYFxgwfA{XBru^~T^XyPTp;dZZk5n{T$f^f*0nSr!^`FK@fV*7 z4&5vB?4C|RrdExX4w>qDT#ZE6XP&Hw@7Iz!os&WGlU=084{dbTeGeQh!}l&V#lDpn z$GU3r5Ac@h#^DGmB{yGZB+ieH z_Rg+cxvJ-_OLS5Ty>?Q>dj;y1GXFJRY4TQ8;Nlx(5*nR-7l~XMKiO@vF+E9YCG^J$ zZ`{v)jJDnRVC&WaXa9~~rvgX>dRlsxxKHSc7=$oyY$J76Ht0@hOyiK?VqCGxBRAz; z?!%+T9d)iJ@ORKF8H_QL#pGPBt* zwriuCXum}-U!!~2!YdPPW|#cj=UM%xC*%lOOzKn#lY*T6wX0Pp$ZAWdAlW>+NUMki zsViCkYPJ7|Pys&`qiLf%iH5Mg`9gcVShL<+WcVo1x?Z@#3j=r!)GlvvU6 zbCct_SgnDzjIb_?15iIE<|{?+u8&iE&JM$ah+_6uuF)Fe@Zl)-g%xKq%Nws?wPz?pi|BC<3;ps{NcGMThkKgu`e6+4SWnlaV-jUn^LnmFOc<(Y>#P5i<$GPZIKFMNIsQMs7YGw_pxF> z(Wx{CRjM4se0Jgg0c(~xtY}J%`U@aS%7a^juq-Z9^Du!O-{DvQx6Z{+h@KmCZNX-W zoO5)&*N} z16RxFMf}vSheUkjXd^S>{A#?vUb!qQwc-xOkVt0R zzP#}8jpb$&h`;U&!DmMWb^~bafu*W@*2a~AEcQLz%lZPU5=;i01Cy02-+)l(y$RQY zdvYPVu#T~jS??sLktSNCT6_*qLKLE!LK7d4^`gMu6fL`ymrffOtmEdy(b2aD7HQ-IU4!18#`25e-=x5}2Wi zfX-3u2w$d5*9cJzH$7uugkOU*U!$u89+5A~%o0${Sc~xI#?>Wf^|;D9?8{_I73sej z=@oWY7EQlohEfZWy&4)9RoPxZ3e`mH3JCd?+*5ZGXS~dl4=3X=Yu4GXaqV(henTA& zOW=;KRpK8(-5tk(+|y?MYr1q;>`{{~ta`PaA5A|*$7j9>pkKhV_^x|~$l94~Gjl11 z2X)?WRu2wF-koc@O9Xxx*m68sDra(ZGL;q>Dv8dj)K^_=M?lApazvOkECTIU3S816 z1Y}Hf%*LU$B*VMZ9#)RQn~efcv1_JpbV2U+&lq{IOAwK8_Jri2JZ4){+DLn4qq^5H zSh+|le2PbbHqZiZxnpvWOol1`^5!6=ibJ4;Y>Wlsv9#XWoZD}nvS$Z6!o1!D@zuO)G4 zgeNVpHY`Ml7*(?f?mX413b| zX>8Zkhj#f+$#-679~bg(dbavJ#dsyH@22`+vg)wF-^TnWo|$*N!2ocTSGVzs&pe8+CCrX=ajJ zN?#i{NRtW03<3ML8aj11o|O3)A~L3aE-Ye~;SbC0RsQs~0R<0p$dl`T*eL5vfy+|wk z>{GAhF!>{Aq*9Lw%_|k7MGrbWvm7w_ZS>ArNaGTS=+Dkw2(J-{$r3@aP&&rkBeY#-eq~ z0aw$|@@jtJH*M*C=z?1Ln*I9v2`ikPv+Fqcg!oZ&&#MfFre;oXvRZ>UWWO%H0Hkk^ zYn4papd1kl*m0Zd(}=~1Eko1~o6xg-B+P*Atef6Yx;qPN;!?QpZtiF$MZZ;JKcce# z^h)JZokC%WGGW|A%Cz_3UjXH_j1Qn%8@ax1SV`^eP=*YzMf@CX=?vst@HE^jVLzWD z|Kobber9#$m}zrq$@T@NuwJE#etM!kftjTvcE@B1DLg0c58PeF+3AyBZ6APQJz$j6 z>jH+zL9RiG@3>*cKQCv!K|>{%FKEp#s)n#q(3_kOs}zdfrkB!JDVJ)6C!PESP~i(` zeM!2pTB5+UG<9ipNaOx4H-0e?Qu8#0E?10I7=Q+49PL>URtsEhhjLxvG*v(3EP`#p zrX>&Iyq})(R*mhSAJ!=e6myQMgGP*BFq@H_dXP?8RSOIUKXVKO;$*7rAoEV|IrrV6 zBtqY$h0^6~y<-NG^^Su!PRCt4Q&f~976n{%b=hL=h=SQ0_^CNKO4<(%50TscPw^GC)%qGl6HF8J#!9yt!f6evVp?fW@X< zXgUvHGkUyFv}7`GWFp+tMa8z`vMgbDx=?EG{Ut9>bj&1q-=-t8jlbkM!1<;q5?42n zGP8G~MsseZoGs{@UknMLXcXoVK^X9qLEUT?Sa=G&np^xMKf!YCy0M~l@;I}rUVq>x zE3J-_$@~+2U1(x)J-oxT+p3Yyh_3_bYT_k+d{+mWPMh98d=EmH7H}Opq%df~6QvK1 z#se3H3S>UHEUTce?Pz2xykq8};XQ63(lPwUg6L)(-M&bLrIQ( zG-Ba%z}V95`5v-PFr;dvj-bG-B=t4>c%_OnVa*&8Ex+2CNHfl@`k0R3Lw`|yD|rgG zi1Hu`VekMYuQ9JYBMK)+8TJ+6u$tN-?<6f>FDrO?vB)FE`ML#(;p6ot1BjTuwaB|o5#-eXdNukZmJR=vM9`4TsFO{ZL5!f< zfKK0gaA=UdUZS8O@H=2B#?39#=b5ftqx-_M`ng2Q^<`*+mJ*D%SNax}*)By%wq%6N zesKvm&(oDPmhF$w1yc8)h=@;HGJNS>h)4yyPs$K+`Z|7F4c_zzJ!x*7Iht0@8!Z?4Tp)SIG=IX;tBi1W{HvG zT}V8O@c0g;S3k+9$AgndC>ThIFBe=OqOqjWoUEf9b3QCW`?&|-8t04;!;;T3%EJ{y z3KN&<=TWo?CG$jWsSaW3mm(X%?$^=zm2$>Lv&gGz-0zIVDs0ht>vzD}m6Hvd2`53_ zQ7hWA8$T6fBi)+N)YYDTDxDF6$-X_wsk+MhA`8PHNH-?Lq`B!YfRZhp5n z*pp7Y8PEitsWGfd9%g03mwB@wwv9fA-oE<_Z0L{xRxc*F|8Z_>TB=^O)p7!>eBm38 zqZq%FhFU6PGB;+}m`P*h?Ouni7 z3y}G#W*L^gxNp{4fMaa6UJ%Q(GVi|YsN%^x%%nw=yaD^s)!Wh>wmFNltA_xAO4r@Z zTbX!c@(1}}9xH(u|Mb&536O4XG8@KqAkXrXG3YAVAla|+N)HPo!JPH%J<5OfhR(kF z#rVEZLTa+YRc`fQ!e(+p#w;DUrjUG0Lhj}%)HAoYm3DsVFfaAzv8pMb_js#dS^TW! znv06%#~$PhkA*GnF0NN&D(rjN@93XBB zV3Yi-n%AO)GsM5Ci;Zsv1P1N2n)nUhOZQNNO*ZLl0d6QntIHQn$PF023u=hU(BWDf z)|bdK7Q|Q_Lpb2AL=r7+Ujc6u>aQWMHQ%i)l@C8RhnL!Ul!<(}(``KoFAXn)rad7A zIGsB>lD;hNCcZuql8f#Avn9ef*~r7c*axg_&dnTL->MO24m%#SeWW?Giwru5McqF1 zVy8UIm=Y|StaW%co#C{OUNM4Ak%gbaW&c$ohYGs=`$*gD+c)wP#sS)ZL#>V#QJMhE z0=ty}ZJA#R^p1<^yo_`m;}6g_-J`sHmKrdj~%-Z)WeElNn_9>IR3 z|IWtF!F~<&YS^WS!KEcc_G+qPfL+&FQawRNvY$Utlk2H;T^svGHCxUaQx#|Dwamu0 zW|#YAfr~6+juPt+m>m7~|GBX5*rIFwoClVG7HkRfvEUse2%#9m8!f z=scMZ5#M)Fe4;UTjvt>No;Xf}`hN{*g~@9d@P`LKJUM?x*~QqSK7HWet(aP~_t2jTj8k19Qfbd@47_y=jL{s5)OE_X*2N!nCIjOrU^DoRw zfs~8d2^%rE&XKq~t+&EZ>JG2v`pRa33pK6k)UdcwaV9cpxbpp5*m3f~$f4FcF4!ZY zZn5jh7{%uQqV6q#+WObMUnnh<;ssjVDWzC(2v*#oK+!^IAruKx+@(Nqg1Z$j?(PK= z+#$g|xVx0z{P#I~?z_+4`^1d&`+UAugerTOn6ivp`0U5) zmY$*1ofw|`o@})H-G9)kUtpnJH6?DSD)`<=hOOV@x`ibeMWl*2!VGs?>e7kZ@QS{%~bYuV^K9L2yEDg z^5k6UT$zxx-~Y>%D`DS{ zu5+{I^7cx(aSsq?=wEhiS|NJEW6_hyfXD80V`w})Fy`blPH{HT%@NTO()ea0n{dR` zdKfPuHkfD=O8}a!54K7T(XoEVYg_fgo6Q@!`{$KSu>kBW~LhY-&NgL|Tr5S_IV;qt&Dm|Tc zMQ*^wb+QCFn`fdDekrY@cPv zKP5CAvBKwh@dg~OcS!fUPVrln7A@|VJCM^*F;wOHBUw!E5r(bZYq4+Pqoe(v(wruketN{-ECK|3+AtAfY^{@F1+IRHx;<7W37V~(pdeAGHm@zg|toEEAyGaBjq$f(X zQ4pq-A>1IZyHR`@T8>84=3IHqbQx#V6_G3om5Jq#1b-WUGD82u+Lgta^nw$kTi(Fn zg6C@KF%Tf8~t>4()EG4AIfvwGtHd)xRz~mwU0kNzRIrP zbGf2*M06v*$>e}^6fk(&MrTut(&y8_fE&w>#1o*EyPU~Mc}6`Yq=9kx_43;d&w7mX zzQJbeXyID)3)Z-9ki81{lwSqU2@*)mNZrtIK;R6khXDudE;E=S*7xJ_XsGybwTq#E zr#T>-4ZLe-Bns%E5g)n4G^myBGF4q|IhbzfGb#`Pxu(%UF{KI?2KwecY#Q39dlQ50aZ_BWx^4#9iRDD716jKZReQqa^0 z?c1;O`Hqy#u6m{=?Q+=Jjv!0X!kTZE0Ermj$39@=*nGp`99XT}yz&N30&Pt@X!DIO zZ#plrRTr_HZjj=7F|>!afjSzqZrpXwg>2*Xx{MHOnQC%mYQE8rum?s-(~*W6L{#Qw zLF+FtZH;lb(AUZfO%0ua<9-vj)o+3=E5}f#2WF?m z{>A2B^YwWtne@rQnduuAEn6tlnV^0Xa@8AvgSJgys})K*++)5(!7}9p5YsjIA`!Dy zqT?IdsTMS9R`14A)@Lm#=3`sR1Kqx=c&papv|HeY9jy#S2z?JFgRpF^ByS`&!RukfQ7Q$OGf!u=Z|kgc|qKL}*$`Y;JPR z3!8fKIDCSH$^JF5p2%Rw{WH7%&aBi`$MmbFBh)wQrV$Yqq;_}M!k%x<2w@A@WL`Ga zUwUz@>S0y9`9h=B`0>ebSfVXW)DtSib%b@~{0qOOEpdnowCf6m-2%IRzU2h{W5@a* zh4ue#lJtLi66XJra)baI%}?E@Pl3AcnKZVKs5cBStz%fo_l1&lc`_p~;4o{qk?`r) zeW~QW(SRO}Dtt`c4Gy4b@*Xd2aKEzA0*d}H2Kl}OG}$%9ZJFruFAZe$_=R@aTuol#twn}JUTW8VU8v( zqPCha2P{Xt+9QK~rvn#Ptu964l-GLun9__u>>?QPEO$KbtxmviV)v}7Hb`(`ahN5( z1!L82d)zO6YOHbI#avRAynr`@blNtqca=2>`H^5J%#onh(c+sti6-+KDT%%2hi|{JUyU+(Y8kOZ@C!99Ylw(v{ z>`dMMp!Y+K2>9(kVnt57p!QdVWK4=L<{H3Iq$FSFPTY2eL+gQ+WgRM;X|MuOY1ATDK_ z#QZk<%UlZ3VdWVkR#(ryt5{U(rp&8+5lD$U<<(=8&AWOTTcmm9=c5hRpR)i7!q%qf zHa9+Co9&pnPUx0bdIzV8Q&Y^Nf`nKBNxnKHXu2SgJlUn6!QC{~TRQlC^P5cvZ3;>) zmgw@av)9%Fd7lWxaB81kp&5*|P9-BK9C?&_#QF1NK%1h!O z4T>p)iu+5ij9>jh`yx8#Xc&LZVlXdu z^w1?+yh>GWrVZJx1M$p?rmIG=#PtC~3sXw#tQ1r6>nf=fuw)|db)Ubg@l+^MW>WvU zOf(v{W+m*oW|&qCc{k51e26!W#y_&uI$y!vj{cG{pp=> zdR-GGb8Ed?PlP83T+qZgXt;RV`1~-?di#o!ZBRI(tmNy*hJ=1~+m1tX)Ct9MoeH(s z-19YR&||bPCJ$`V6K?V}v5f@`G5+;_@$1@zd+cN`RDz6Ic!vjXE3P`*7gO>5V+$j&5!5r&ywXe&xtT9P3 zT?Z!|eTTaEBb2UEVxHxEn$OZ?>ew%~tNHeq>+Bdw-DPrcbZ8l|X*}%dXxg5|4A@In zL8^3GP94O-c$Lg8cD+td3O~vI5casa(hk&j(p*T>smsSsNy&Glf+@3_W~~Y5Z>hO1 zF%Dgbd0wzV#m3tzB1cT;T;Ql0!o_13y`0$*wU7$Kz`oBdw!DlzQS2E9TW z5kT;z$Uv}ZO~7fn^{|{py6F7<&!R^=Z9a$6-M3P|=Y0q{A`q1~DxdZ~x1v_ly+2Zh zQ1yheOQUd6cg|AQd>p7EueoQQz=k7EDMq>`8A3UN{3+h58sR9kXA(eZRT2;(eI%^vb z{u`N;s7Qcf29G++joQQ6ATCJ8gO&V*Sa(>zcdkyV^tk$v)o^w5|hdXM{_bfKoa z8OdxeOHxMm?X0Dk{1BZ0Lr>d}M}~_;Rq%dBPbND)TX5R$WG&|ZQk(p*G1WhDIPiy@ zV|3o5xNaSWXOBK=2P|XsHMTXM9l{B|?YFR-ftS7=F9cbgcv?1*70+}enaVcX+tzKY zo^0o=`CA&OydR{a9walw+Gq=Fo#ag=V~*)?kKm;3M{nV9+`-LAGs~onc(64(0vi26 zd(v0!X$X7KRt^sSx|;Li^`m9oJLB`wdyc<*Vfc+T=p0Dgn*aVa@%JAvlu+8?R?h$m z!}Wr1)h%a2C5Vs6M4gVBIb7@SnT$+VMu>yJD5T%2Ec_K4 zGV$~%+3AeYn6%H2f$JTUA7(!QV;X&p18y}cw=iuhb~_pa>x}mj{W5k`)cH* zN?)=mzWW%DQeUdLojac0P&CTXEgZ2B;bhlK@&aVaWZ|3~jzc2=cl);BM}#!W!+ONI z(EjF-V%=(E)ta~YmCD$x{%c3-OG7G{a2_=+f6sr6QvVg|hQCJKfUNDgPZib+P%)ol z)DMiJcP8OEO1ccGLSOQ2h4X$d*nK;2{DU?yA>jKYKKbsXDKd%HLs0azQoJ^jOY9t- zTD_AgAmPQl_SVmLO+b$x{}q))p8wz{ZOaV#^ z&(WC9(a~hvFO*3*RW;9_>(=2kfx;vU-|l%Zp5REa2>l>3qr^oe?CkjVV_cqk%e^CX z=qF517Gt}Op&u&@?%#KFgrtbF%w;>-Mb2;fhQJfioIH}AFoT|+8#Q@pFNh`YZJ-$8 zgE;K+{d|u6CoNv(_>m))Sn|X6Y&?$`VuG>bvbH<$<3=Z5*R|P>eYL90zJ4VUm%%Yggmov}dp3}gri?Tqngvd*6ryU82 z<)Nm2Jw+ZnEq9rVQ6{8}T1EDew>hdBokZSRf15@h32B%p5!;LYP(+?MbVLO0ToF$9 z#EV6{SHfI>VIkY@QBT*xEd1H6jw*;nX4!jTWxEzdg7rz$n=LabNuGBu)#18h=urz# zn}U1-;6-LJ>21)Er^YygPA*S$H}hl5Z)bAge757;9{x|6glHMCv8EmVQsw@?mF4_* znbtwj`Nf`GU%0f3x<*~nM1A|2uhNF=q3KOR8M@Hl?REZ(_Zv*};LLfJ(e!b}iW z)g>MHatpB{%f9LyWB7u3x{IB==ye zl8g-NWf>Hu${d4ZVOA3^6Q?v&I%dGlb8eO-SjEN58sGGO08H6_KWpX~LM-qhtLCpH zsR`8iyRzH1Z4@G2Z0?B3(})3R)d_mi5Jx5rz@jzETt?m-y>*SUsB{_kX2DyN72#%Q zny{Cb@knJ_0;S)ShZQ31N%~CRNuQ<8{=??%KA6KSHa0njNaaWM?TNg!oP%va)ll! zk}AaxnsoZh3-A_tN28xH;k_o~m@9|z)U~{qTW{cDO^3D&{=||$F-YFx5tM^9Rkaun zfkVJ`^QKksq#O*JJxyQ>s*df>JGgj#!|@a~SMl#R^!m<~$MbZyJXk&Zbo^{A`%4*y z!8EIHKy1BMdDX3oxMfIiXXuuUSEq!3S&SL$e7nE_xeo~VT3qCBy{sj1@QH5T_vI%@$CxXp*V0hIOGa1be1s32x+pLs$6IJV8GvBwC!Q}}B^WP7HUrK^>uNlvPHX zg-eV^QEkiRp&#y0h_?kJpWpMKRt42?f;c-gK9MDsr7;Zeb2RNABQc zz;hUy;BrpIXmrtq7IhEz>esqbSaM>FwNt9e+ovgX$j=DJRK>|CZJny50sSVtL1DuP zIQ?T;6J-a0Lf0Y1=|O| z8cRzhF&8R5(VHE1s@vSkIM6Efe#Ypa6ux;1vC%|v-;`vS@E(nNF78YgG&>m@ z9-WA)xn8F)+~32}(mavN-bdwk2WGGHwOX3+MwoN?z#9_gWy2q#rYG*0pkV<|W_$fO zITKD#Wh^PZ1AN=xP9CMcR_dQdH0Dz!ZWBX~P{mlO?^)alRUVY}JWZ^&o&2OJ9DO^c zG?DJEyq=l8)>T=<`mxyT$kRzhjHXqmq-qu71))z?05hCwpxz$_Pb3ITySWn`vXlTK{JU#e zYK(?e^Pq^Ylj(3j^rPHqFBJWK0JH{j7cH0Dw{{iLw_1p;E5AS=p`#6(H5W^*W8$hy z9aOuf9>vLTVH;ALX-ZXYn=DVmu^G%fzzz&gV*Em&8`Yp z)h3<_S)>S-oe9s+1@(46iHLNw=|hyX&BYw1ze5{8LUsFmyb2%WdDFL=Mm*EE8e_MF z_G3L`y#`LqKH044H3t9H%6j=gk*Ph-)aS7B7 zm(RnqoF@g;8HFQ8V>?(wyG~L#6b|L_dt1Z^dN@;epGQe3US5bifU5la(^hXAfiw*w z%7tF#6*x@se9gj=(E~HlnC*Qu?Il^4#(&Ue8G~;39%cZ4&<>k)jYUu8Ok>@%$lc?s zCWLBRuUtam+!u$f{+8fTDpW}ZdtG!WktIc!tyQ!k(SK z(Fgga-3qC5(+`;E?3-n{Bm}tGH*KYX&Udo&EuHUp9}q$UthVax($v5&Rg=QQTW|Xt zwll2H_ZGeUv9~JB64^%i1oRGFhN&Rdk*+_#ieRnRElLo6*;m9(!l z!}Ldo#}<5oDu)W4QmK>acQCsG85Z4Xj-g5vC@<0Do7#6X^&)o7KS6ee11hfu3>!Q? zElDyrE%OF=quVnP_|JN>#rDbLy5nX_ZG6q>85GEim-9BDQj6+g7EntPE3Ia8<7*i$ zI&UY2t-JZ@)+BYAvJPVU0JvempWou3EADHaSn{WPO}iwozDx^U>pTG439z4}lF!fFfcWHt$k@nQ03vl-zE5BZ8HrnsUoMU}A@+&Z7YRPpm-9Hwn*pn7%XY8a5c!7mnh$^E0Qwm8EWt9 z9qSR-!B;Tw{A0X#OjD+Ww=#7X@NahHn@?e~+J5=58!M^_TE9lT1J#!-!w)X}IJomQZ@FcsV) zG1JHI#(D>(Y1y@H5R`crAGhe(5SRx4fv|1SL?xc?Dk$D~c`_hj- z>g8>o%9hUP*kklWUpJWf2BONMi!Fld~MVYJz39F!NuXBvpZATg^-!4jr1A}yU8ne z8udhaZg}={IW8D(5ii7g#1@=+$#UwjiyoP-4307(w7&q3^%tus)1Md{4Dw z@Ypdiizv7zDD;B*wj6@{2MsQca-Y1)Ky672y+_0+Pat%eDT!oz+WBZ@I<>Z3L~^1{ z8Ph#kJUI+8CrbUFJ=YT;1g3~JIDh9pq5ONvy~+mVu(&m|qW9i7mxXHeAue6G757aAS4Dj6*#jjD+i`Uz28IvM-1=0d`EK1-5fMkj~G z#~XH?vy_-p=c=(9BJc5Kn63$xXK(G_sUVi7n|@u zXm1U!lf(o(3=EIub@C~Oi!^KP{(hpjS?_XkVin9lm3`OwpOJrirg()g{*)jsHWXez zHOVhi{y2UKJ_nn+T?NsG=4G&!~;`5vn=jgF?@0$3!e4fJ-`>XgRYMu~Wvu2Ab>+xeP6 zwy^HVTX8ZQ_wO0p|F@|o9_06sFHc?Be;j_W{N37_=*;Kh4;oLEzUm$PexUa+Z)m-1 zV{CjW7DOY}c0iLs=bC`mrM$MG*1d2VB#=j^ZUg~T4ve5=2b>!oIM)Ho%{$~;p12vG z`>w-S*E-|V&`9fR^q8KbC_S6ZcT2VTh()#r$Qdo_ZP>U_jq2ypNoU>c7D0b;j`m)>tns2lrdGw8v}s*ORDYElcQ&O8mLsyt> zJDGzGTpBjp+eo{q<9kf4rgDZh!|})^ zZB{y7#Fo61q4dra?`UnO*)%vAFtJ8bP9DgRP{SPsCAua+9$&P3gT0#fhUbCcT_Srd z{57}c%`{>d^-l-5@uxw}j|3cCjvrTqY^wgCg%90(ya^D3pm#Y)7ydTkZx09GsI|qV zrHiB)Ja!aLUAo1XH3LEFwD8I$#KfQC2<=_4^_nb+UwE9JLo7?gg*J9NoO{qboVPtW z&AisE4>4^i22797WK=_U`yZR65626Low-d)95mV)bM_Qds5C5fqZ5(-o$~#UHs=47 zf0KDk+l=(F<3RP9z!c!Bax~(y7H?nXX>}sv+)TygFD@{pC;tv`Vy>mtQdPw=dHzZT8vr6?###>hrTV?AV-GF8l6?=87k zU$WdVOHLeH%DTZmgW}-!oOYhf&KVAtuze9pVH5ZqC`nbpX>EF&i$V`{gl+2Ulm0Ul z?!5)DUJ@s;JVMe@4hWm%Zz0(}`toH|Pjm3=J=Ft?9Jt$0nx z?pup%#4bT7i^;=Fs=w21Sw&9GLhmMmKEf1Jg;Xjl={V4_{4`)%dEm=o!1qZU8!dU0 zL$ouiu6+@E?EFLE9JH67i17bEZtwqivHzDPfC=+KN~9Rf{KsL8ION}>GsC8T=~>Ny zDH9Q|=EL=1&K7V7`IL{mh~ik&GJ`S0yfo6;LH>1J9gqrHR5AOXJleUm9zL@SB-Pl7e_+^hAt z;VHwLLysP@$0{<#D$cSry)HEVC5*7q2||iZdx7yvMs9NGqr}xFqqx-CoI5!7IU0m` z1@R3wpIuN|PUjJ&=!>eFhAzK;GD>qYe&qx2u71=UUO}s0f1*!m6SPrYj=;4INb0tX zx$l_ZyMuYB^=~cb>}Lh>CJdPvTBk*e*2L=NEi)=F3BXYlG2#J_X#8(#bRn|z%Ghyj zkBL7NfP!4w#uaulVZ`(MT3dxek|cZf5fdSoU;sH$Zg_#xYN)vd_DvPm4ysJMAkb`2Pb{q2cC z?y~neB@ciXROwI9dZ;NzFlRT!>NjeWX=NL>8M4wR-fcS-;U?R&pA_q^U%s+`F4kuG ztmPXx-0Y|7U~`|6Tq1e=o54-w!|@FJTESc)PRd zgDT3`6u7B{^KPAK59>D_D~Bb|w`F-v-4~*g4@Q=Kc}iBEJE60TaT&t-c7{2`11%k0 zJ~Y=wIRm6lRHIhaajT(%imct_zCX^07M&jTctwTjH8m+GujZhivQ^+j|5`aq;6d@s z;Wa~Rh(dode&S>#(aw3yEb!AYEr5 zV{~=Ps6{1yTMg&*e72ey)P}>i2ik*wI%b1PGY8B!&OC3pIkKAtiD?eU~(PI zp}xD|B-44H{mb2x_e0;Xl&fj3r!9ZP3y}4QS7ZnTV)vQ_4p%OrhfW8QkcUF%X|>*P zL21>VjaL&+EI)p_w00OQ)6&S&V5Z&L z@CSbmtaY|L*xV3#?exB8ne!VFA?oYDKEBYy|Ej(_kNrWb^ij@0Ju)!4BBSWqBJHU| zDJK8|!d&F`D+d`bcL4Op83HMdbEgxNAhNF@=26Z$Wmn^4iUEOUzgoA(-J z1LL2o$gM@By++6JSlUyu>_Sy)?RESkb$VuIt))KVbD%GbUIkzujS)?*RTn2SILPH3 zc5B?q)AdoEQF)ce%73e#skM$49e|o^Rx#O>;MP$X<(MV)TzQ3#QAnV7q&6cu(?6}t zGJDcke(>KXuJ7S;|8&B38oeTz1KTI60EW9huLjJ1@f3Y4Bl>i?524>*y;K-y*wL@* zw7>vX?hKaY_X({_$<-K^fV#3dDt#{7rD$a8%oV}!X)$X4_(n(IXZ zwr+Pw*IqfWh331eb1j&GnPm8OYHf9{=0id~)tw65_q9Ie+)&Kttfh`Rau!$buWL^7alUh5&1pS?8B#6KlOCG zyG(irr4veTK=Ho}$Rxo{E>CCY)2hmCGn}$wV@gAujH=&z=^a@mtOgEkQ@&`9U9NTA z7U8to4?PVU75qki_#pM$2i=nIls$D^#UAe&$>|JTnayxybt2jQOIqv>B+Jsra#Ot0 z0}p%gJRc61K3FeyXrRMO>jv{8xMp=3v8F2MT~4Lyud`DbtGTf5Jf}~B(KV``h6d~H z%b;^ZVO-tnsTZFs*(KM=(!E&Z3=Zt74hf3clz`aZjkp;2Ukv=?JJDN?fJs7$KKM(r z17{eW&3g{`+rN*nq!^TZSb0;#P#N|GN;EOFoLeeu-cxIpSohsua4*?eY`*M*CL>Ag z9t{3q_LKci22%^${`)xLfwhxZ7uv=3>yrE=eULoE>|?dep0_oUr)^aY-k1yTDDUCk z3mX3SPCt@I%}&X}sc~}X=P^bb_ZBUu;{4`hOjw6(#d95NKM7MOu5EqLmrMbM>yGGstl3ykuuH7%$` z@b^3?03J-L8~g7H4OH|>l71u_6>WNr|6}+(;I2Ya5m~(}a)_ z_-?D&>Eg8BMw5EwNrY@Zb&gDP`?=eV^Quk>>qRf6DLC_Bf9D7K^%Lh9P>3w=E9`~w zJF$YHNwWlyt3T4s)*g+hqjvG==O46$(HK~lM$OaHw|c4MUaY8_Ktar-!PnvupA!J} z>1>cH#`M)s1c~*Zog1zQ-cSAbC3E*HPgvZhKA=!hHI1zb#<2n|QWEh=6P%cST$czQ{un|A zrdYJQPM4kX0r2EoRkOF!3^Bt!bC;Iaay7}fRRb_-tRNa}m+(}@c}R2Ia-r;W!cS}E zU`QTey{9%p0U`i}i^fd_`C)C8H+O;=h)DA9B};Ua31?q0h8aII-p-(9Ypv_36}fl@ zcm>`1#s?+4-@x74yxtqu*0j>lQfGXuBht9w3}gywvuu@f8>^enA`U^T%R3lh@m#t% znV5|E<)~k2UjsAM6-)2w8+>eQFZzS_t%%cpWf`k|&p;UuHc7_4ZjH8gh;=wFL<6@u zbZC=_8g(fra|B47tevW>1@PJqaV;*Gwx85#mN05&zIvUv)r+}c254ZcaT=g^QjMtP zUxcK4`gxuk@mD@tXpKK5QqkxAoOa71*v-lGNboYPQtp<$MM*Oj5IYngYi9RM>@czl zMDLlkDuhmc$L0Fk)%U%J`(D4};_8+Tta;u}@-M-)?N017pr*m{l`dMGg2A?wS` z442_y-6OHmUEPC(S?nVq^NddZ&zIDKZScilY7bUVUH8V=RFz7@(lZ$nho*^YDCnJa zt1asL8T@`3!$11;&t8|gdzso-16XEHSWKIY$-fW5RriT6gL_FWV?Lx%gyfy-#mRj( zMDTpvB5LMBAEK0ShUEss3X99~znL*`ljKKu@g4Nyl*@_*DM3|nOaYXPpM=g`T3m2S zxPv}*_-^m4CBqzlIT1k(7`8kE(8M5hncpS&l(@Cj(FHC^7-%*3BeUw~W7b2aX>y9fZM|!FB zw+>A16NeZI`^<82AbyJ_E~HB->6y#oO7(^;QPGFSTtiL_XU;7!y#1R8pB`be=dh9t zN8py7P#V~OvBqtY^9ebGDX@7#F>`y1M zVlx8aGLINIQvY?j@IU=q#L)umjLqOb50C8sGido|*_@Hvn_8mv44bZYwsc9yj$-tg z#G!Nh#cp8c`-$5l*PxSa{zb#1Khr-&|zOU{%Z3~oy(s=iTM~Iph zvga-Be1C6ps7Kh$l!XN9My^u}rKKeYh!_~^Q$pGY-7_juFO@p)*F}53rr(6{@V>7c zu^LT#@1`lD8fCr|%~zEN>FOa~9(LAW?Y1Q|i#7bh(`Nla&@7?Uw;k3I{}K(G$F9$H zCl7Xla;uf5tg;_u=SBnxKWV6nv>vgy=SCkeI`S^xl9V@Gvn*ZT{AmT9>5mGaGNf^# zB=LXu8{EWbaC)JaFUu-^>?=Eu+G$=DeLc$V6c2QRTQ|R~f7J)5Cjhp5i|B{V39Xap9`Y_>>{5e+#uLMt1 z6#ekCdKESczB=WXgiCOJp4;{*aN;0HIM#wYqkY_-WBlxi&FI&*2sMUwn{#gxFxhTA2KP<+zzZ`?iS{ErCXy^?c|kb9i@5|tqcmNwa=~}NZq~AI|Qb zs!%qO&IXh78I{waXDUb4P`uc-3bo;+zJX(9w%o_9+nkpi&)NJS6)uLp3V_-&5;Q&S*E0ptu zd9Q85sfK0@^P5~SS<8fJdG!zncu>;P^iDX>!oNYQ!yxjSeJbZjTH?B z7MjVO;q94vEG2#0=itP*#AtdVujHOEk-{52gfsQIgij!Y@|9EXsnH3OOBYpZZz}bD z@G7znCFKIyz=VrL4NI+UEo$M8{JGNd-P=9@3A&t~2$9M8$qwLPHyeiG%8I+^c1})0 z^anYG)LXOC0nHAB(wJfWh;a2v8k(7!xc*4Gn63My7^E@jHG9o`K9Ok4uLie~iKlem z4j(NAUhFp7&0LDm5Y&CBISh77FgqcK4|-6`C+myHm-WE=&Sb#qY^z_=m77x0MJQ&P zqxhx@?W0z4Aeei)YjLE&?;b%^saBQs9_8$ddMOS^xg=K^go0R^ypiH*(Dv zjf6L7POfh`Sw_inT9GdPwaBUKk3J*sqBp}-)zLfB?D)FW7N-F;^EL1yhdtp&s8SiC zNCDpUG$7$JARv{@fItBnW%NMp|6OLPfC0NWoWxLzkAas|r*5CnPbKfD8=tyXB-rB| zo*LF?EC6jfrD|PRNaP})6Mt6;-l}elku_Ixh%Wf9CfRMn2tt*eT#<|}wxT}@E@z($ z=u;k`Rc+umQ>EFC0uMEw*6yhD)MkRpsHUd;-pVYwEL?W39Yj@s>@V}6xx0TUE_G6m zhU{|)cEr?gwdQZTd(>6_`%?G$>!10;gast7A2 zDz>_a4?T$7fs?$-u6$^RrE|*T&+u4MSn%cAywY{SW%aapwxo<@Xc9PvN$0SJ$t5v@~OiL+#UIl2+;=Z>e6aD7Q0BEN`{wEMQrF#$Z>n|5TV}{+y44i^dF(~fU z`iLy9eRaJkbY}j=f{}T8)3U3VANsYsd%66E^zMB5?dnjKg}%#@2Y&mOZOgLvcbafO ze0FgRv+wIYw{6Q)1bY~&-)RDiIGHs3aVn^K2G<^rtlt%WHiPIq!;SQ%2O!ZdC{GbP zbwlAw@$q=tgzCyYu?h&upIxi^pp{T{owu=w7We1gM;nbsu>^&-Ei254?01SBak6c{ z#}BiBs1QLuXP_n@6j~g!9Mb|^DeBjBYs-A0yJuN}+UF#?DO|PS4V~qojvOZ^lT&3( zyc%G=Zsu=vUnvhUDB%^TyN;f8N_JZRIk{+D#mh|V0O`fy)nT_`vTMvlJRdXpm`cfg z4N^sRA|3MQab}E3j8D!q)+TYyHuR`sU!VyN_SeUvJyhMWmmoLGtpQ{Kpu}}ste5+5 zgNX;roT;7L!gIg1p1hOJ+_{%-Zxip^ffo)A%i&pDKNp zvp9s=773~`hvB!wugj9OleEnM`s^ z=P>zMYrnhu-|r$@cD+LGKUgv3#2bB3F&G)-AGhLlk9Etjd!`K4bHP7nz|I7r~f-$QAef080Gzw}W5$-$y~^hyT{GH~ZTF4hgCy zMlMge=>}5qiV{nOCJ|ph*&jmXCdS>AWId^VYX4kcw9GT}hzQn)zZ{%8 zo66qc*Tx2WfS>_O9R6t<$2T zR$Sr==Q}1_d>Yx>lZYjPl5<6hoN6qyC#VW0VZnk4mO4v|t#sX;>524?-2g7->v^d| zlcoo5LlgnsG1c4}cFH>iD z>2&O54_Tir%^Ym|ys6B{GhoB>d696vZL4afbRv9Qg|uqTZl|A_KRTGRM>{B8wy$iO z?>@t-7T$;z&azS(3KPPGxP79G#)G8y2$lyM#iD5d_YHgX-OpLpDun1`6t^lTRtw7e zL0rT=%yxXAA$CTD$Y7yI;`nd4U219zCK8PBwRp8TlW-XrX8*a-!ZM7$cA-~OfkE`x zHM``6EXpMULe_0WWw8I-Bf-e9)JB3CFlJTkY)ICzPaC^sMDRBux)wbV;fr>>;}vIp zx(4keYXeiNej4d{!mkJmxaRtOq8IOzuFN`Iai$B(^&|jh)3{?|#v|u)+isK&iCiBJW_~K9YS8sG+6FsBO{uJ$09Kk)w;yxN3d%~r7d&^6dhwYZ#XNuhj z0MVBpUYv1^^*WWms1QcvpupM-3{b}Hg*I;9^_?6Mq+1s%ONpb*m@r9>Ei#{eSUC3N z*9?E!Cir8AWIk(m`yaIKQ5zSX;lVCg-o>GMjwWop8+qa-;UssmHt4*0OMgUHk4e4l zofvF!)5uZBA|MnVOy3bTh-34AF?ZHMafIud9|D0SSa2OAgCxO%yAw1(Ai)L=3_7^O z00|J>hu|I{1lPgc-5K27-67dId(Nray?6K4{&j2rnCkATscM<-Z@zw?=Y4+FkF&j~ z{{j#;e%fCckGUkoe5BkpiRAI-R5a4h!IX zR+Ggg)tn!jrQI7q&FFV0>A+MpngH__+aN33$xj9qO0Ne-mK?=`zS5!;Mhk%?E}k3$ zWw0p4DqEyNm)pyUGBlADYtQ1T?DQ!WGCQ)zn&s3!U?8IYPdF*!a0hd^p7s^$3^3Fp zcEhQT$2>tMZvEX67ds@W_w&qTjy8Ce{I}g`I(;%y@ikRo-#En+MSXlc)9a$$I*XOZT_#)K59t&|KYn- z!285Mrcm8~E+ka`Jw*Q}tOeeJnF^Bkh}U3A%lnszP2PHLC3A9Jj8UXHXAE95wautF zZyqqRGCI1V$ZMf#LFLKZfLX4YYP zrB3_Z&~tVRcg6;~$V`F_)#Ux$)CQGC`%XHiS8?N&UEvLSLu@eNo$}T+KasnaKhw9$ zb4ToNE- zG7u=RT&S{IvkL(gM$ga-kQGN)szR`y!k(}fmq-Y9KToOLcMZto||gMF*9@>Ts9yMyLfo!_RT;dr`@NlfufFS2``0REzt9KNF7gU zWc9*q`&NWBr(M*CcfN)oNx&wT8AS#D}jn03PV5{l9YlR{&tPRH4>!bJ! za?rbB+RIhQ7+S@N3~LLC<{X0R?xKvH>C=>~tD!m@8-8!hVr9-`+pjHfW3#3uT=Xq- zKmJS&uMw!kFhDOapY^Pg2u5Q7JZH{CA2MZilxE3J7JL;KqymXxb5hO1`Yq0b`TBor zJLAya<~)SqrH)hM)%+wwaUvSxnmlrAn5{F@jlIa{6fWn%_~&}^VLW5XFW!8tC8<6& z`(Ij(Tz;Y+5oP;scAS8+{bSgh5Q^ulLMWE*1Xz6GfixAuv(ft^RC*kh(i`XdO`@ckE=Bk9Q`@+XQ6Y+osUJHnkPu8%p!#_2^_` zN?*Owsb<&1%3Zy0&Sd%GJ5sA_?n8&@ZDiSgWvdXpN7)4 z|L0bu`cq>4*gj-V9~D)eg9R+Gb(FbuqmH=cnP|~kICO))h)@`khIS-8WZNI7;hYz1 z(Ut8y_DLsaDDH%<>TankI<%8p{^r9^W**K%bFnJbk8;K}C*6#(i=8@^tIFV^5PD}0 zvz`X3$l*JJ`7^!5gZbBdVHV>~EYmR)LV|hQ&LvKQp0%9y6P~#EL(ZSq$aiZf`)k*F z^FQ2H-HQyzCgtW3^#YC;@Y_5sU0)Pfoh^4va7S3p<|(c>M2)ps`CF<5UJ6Gqep58! zc;`%rd2WHY$HQ>J0_*E38#H=M5P1nj3%yQVCzilG{0667^tfXewAFHX_WHfL_O9HU zq{FM|U5JO>Ymq-R-_U>6sb-Wa*M&z|ry*xtgb859CNpe^g|=c`N-?r}PY?ey>^PMO z&3u^V^BCK?1@#{YPjL;>A|q;Y-d$FT#1gg}5`XZJD-pYKG{-Gc z*8CWFL7_Pk33mc3%jG(gu3@j{u;^`;d26_jlxx10jeuC8(h(<-*dzAB&Pg|MiND@ zM6?>~GHL8wvIlB!EupJ}jW;-#I0#w9`9y3dltvzJhK(*}(wdO3VoT4>PiSUBgNIks z@!HNI9^*0{#}8Ap!s#Sj_Xvg?R-q2(1S{K=urV)%Kb}Znvlvz$6f3#!k>>facHMIX zQZf*FF&#VAt!J96qzU;W2Ao0)^?Rq2AN3CJI7imS0uJu;0@nMo?fpjalNe$qMy#Y% z=h$}71d582NtTm(hOa9oXjc&@!e2*8F|TYdrm>vS%k{K2JDTqtgloHnM_R-PEfB44 z)NfMRx;H6|kHXR_i?exnX)XE9{e-Tc>Jpd7>8g>LK} z?}`Mfi3%OIvpTkHzS?yBGkR@_D04~32RooR$wtXqqMu6|qzho%Vi?>OPQ=?DF=S(> z&Lh#x0B~v#3jeNxh{3u0+%9?Ka1yd~I_0x*a16*HtBH%0W z&+(Z--;5$kYWMybr;?$gx-I2vbN+gY8GyHD>N3HAr#n+2lTC?VYbCV~ zbw{aG56@v%F=thT>ny{*$q2ME@=Ms8jMBs|W#VY_C5A|55iChTHb{)ZZeCiDE8PQ` zB5#%|tl3)ti%R$y|C1K=`fp?gS!}1=ipe>NcZtw?75-9s+X+_L*-{gU=}^oNTR@3d z4vl6N>LGeD(NkS;b5q3oJjuA3w6sE~1HXYacVV31WNY{4Z3k0&<@bxtcq-2Ou|A>! znrRP|nxy$d72nUKhHK(pAzzm)BZ@?-$pZSh7+-tUDCXD+%>gbUnCc1>h!**#@!s+A zw^UzcxoLi|eq@UQvmC3cCBD1S_6(NMadZ2x{AQ^>37Pj2|9<2B|9J+9R=!*pwWW#p z=b{Q@?O)8bCt`L>EnAu_Z~jSg|3}Yx!wICEAD7NVDc5Ad02$?e=XGako@j4}Z|D+O z7pPU+IsI51JCO&^)hy@L@lqUbX5QDe)X}XoTlYn9Z-Qz#4;rVm`3$9=7bIAyXO`p(63ePFHp*6Nb| zbAd_KttFQe_twiQg4Nn@p2u<%?=^E!q0V)$D+nP6^#`n+J$$XKmPeHT2>#x2d3d6| zCNdN@buhd}}F_-kFx*D`xUa>|XLFEDUGFJ|=LO;n9dCm0bb&_!o$kC+xg z_BYIWXT0~8>r#x!QJD{b(c|enL(!t$QyQyqq-h>Joov<}Zfl@UbKKM~33!lDZaUq+ z^NV%a9la8Ruc;W?B#Mt4klt<+nf()i^i_Mn9 z2rJrxIsH4(?$8T^#MNdlH5By}QgW;*lax5A2q}JzVWn+1)JJ|lt{q>GqIVS7FOSc~ zEfqw(WcGr?pZknlR*y~Iz5VI_HN&eTVL4;^)wURof2|XdR0*9=Dr0+nB$$l%8jMi0-H&RqK7*KT=CtI98pc$#X zzrh>)oqJ@hj%>ua*K^Z7s6MEMo{ z1$<>pdJy)fPu#K6G2Q+m7E2o82c8Z*PUt`ei+bI$=~$EDu7{O7F8l@T2WJlYBHid*$%1jw6)ip3bNH0SJxV%&pe@W1#2!nXz~HPR-HX zL0E=A+Ha|TSqcs4_0@+?DU&E-AQd@eA}yMbyw2^~VbZkjmU+**gIXpzJojzVqVe4clbQm`aWc3NI(T$7P~puW19h;B!Htz!GUj z<1R<=2Rmel-7G3^h^D}J8n*dR^1h?_9-{v0t;GLk4#qM32Wze*=+Xa7ZwFOJ60%T3 z#8k{p8abcWT65;$WpGK*h8Sq&8Fwxbvwa^J>FeDmkX<{Lpk7g3MToaoTWXSk?Ot5v zR(EjlsDL`4fr->Yxam0=ejB-ZH9Y$yCi$+7u7cr}eXE!*vvg!tX`a!m6BRc4M@-#P z15|4$5W)C#ReW7uEvV19{_H5?R>{`ST$L!-!MX&w#J`-09rHdW55=7O4;JXR(o*y2 z(%%6D`EI<1XVJH3Y%Dr-y=gP)hZjwbD=wn&yaW4tT9Kz>AxBfta7|v-ME_5KHpx%rS0B$ZBpU5clGt zy>tte1t%&;3r`o;sk3c1Ws78a8ox^aw4l(iUS)cM z(YFicV}h7d)_+EU#7?|xV#+}^Mve!U`+K#fq1t*>BI=!Md{iLp=QQMmF02At6nkwXHxWl`lOSH zO-wTx?-4EPDZ1gHRiDRz6Af}ErIyN@CH8_29m>bap)wn_CHCG^`~Ve`P#L6?&Cth0kU*3XE~{Bs35 zrGw7Plw{nAceuU?*!qL3>@w+>ykbX8C0<1YmAzqV1U^9KJzg_+QsfsbtmM_r&yGJDx`g>0(;4+=4fsap*(U!GO(&V)h zjR?L=wem{WDys6c5{<0AqN1hCuNLsTcz7Ek_AWI3H!FdCa0k%FaK#;8^m6Rg}8!bi6KxGyUT>eIA(dp!D34_=-rQ|z)+vML+1ILI>)Bx;F`5R43XST4!I&7HG6B+VJrBG)>neca zd3ZsyElzf%X^8cPPojHB0@vt#qO7q!MlU*LHyjPwOLg2Fma+ba?Qn76x8_7a`f_ss zf2e(i#75ziX^Rcy(ilPQM?~;SdAG4~cz$Hl$olp@*8+jZu_uZO>%obcwC=Q2|?TZ3v5~X@A9A^FUS(H#H;ZEP63r zSYU8j_)ql7nn$RI;9@3?E3#o^py2T4O+m3vxHpsV84BDyp`NQj6e#9!x#yJ(KG!0+ zx!n3L&rcgdl}IDxofg^DWB0KpnUvlM7+va`X1qen6KD7<>LXsY4;A+A0w^Yy*EqO$ zj?9`nH1#Iw%_;Vm6WS}VFt?HGwdDBP`dC6u$Hi&1G`w7S_Bn$~Lk+a$PR_rNfHh{w z0v$p|F#mJ=rX{ex+o%2xNYXGpX(j9}swhYN1=I@33KUkZ0fxrtS^vTJQ!;FNvSjW; zd3mmO#iCub6{fN6J4|Jf%>1s_Gr|{fF&M5<{@~Ge%i33P@PT-5I_T1O_vvlPi z5z(h{2o0-WmHLWO?2R9$_91&ij^dYQ{#v$jXaU*kbsKX zd*U*|NZ~CzP!A`vdD`TL9rHa;G1D{C1R4CD8U4u%^t>cdtb)768YQi(s16EjS7`G1 z`dXH#zoVcapH3e{^vT~mzr9i;@&H*liW_Jqd&}T^B*y95O5O3} z+?fi9Tnts;w$;BaF&DDKzxh=e?!6szeo)O-jWXA?j1wwR%}ft~e)nN#G1s0f|2*{c zL(@5>A=^oD{+Vw&ORAqoGDAIsqv8bF+O%WluD@??wi>%v%5q&&dj8sr&*1KzhEvy! z!G~6Xx)PB`@j*{7%}CxZ2o(oTeRk&Q&#uq8Be*+mz(6dU2K?RP$C71|(1UdyS=AQ* z&*0%gJ06Y7s#jeL)&#oV@rgR1rMn7ER)?k80p?G|_^|TjHs@7$&p%3>vf**X6E^uW z24lQhf!y99OEtHJNN_+3ZIudkC8W)Y`Mqq_@aZfhNoQ~yF=P@JHByuRiK8LfpE)p6 z8t%hjj@!U*x8NuF+}<8yI3~Y>^f;WOLYHvX*9Z_Ac0@*L93>4G4k?Cnhg^8$$LMtF z`_oxbR_mR!WC!2i(XfY55A9A`*!{X=TafhYwf`dp_IOP_ExWQz5#bQBQIn$VVX>^r z;j8&j?b(%1(x;Qc3_6z1aLTmLQ0HPJc%+H!kl&ri)9AU^^4{0UKa<+6L4k&sKXdIv zp!%!0QP?RqqQL1NZpTv&1)&;jB{T&pli<($K|RT)^v^%zN9tHxv8LFAm0qM1@Js+NC*tevlV&r!KB-GH$a)`mwfYp$;5jw$ zvA=)iz9^iJxiPpSh`$lbh^KLC&T2AWxX59ZxtmsY-;fF@wF8%|oq;wAsh;@>{dr-0 zjb(0m`m&u8Klwa;X5CpL7~+&jgAQ?r!e~WZo@(D5v&82GR_c!}ZpYFe@>ZyfNZTBI zWoaYeW8xe%NmiB4K4Bz}b$aN>=4CzWYJ%@M^F!sg}!_&m|T~U0vlKKLhNp7AM zC#cSZBVY*MEn5MV;>Uh4{HBU24;Mx>pYHCz5j+-;)p`Dyp3ZlEYWH5e+e;y#_Y}{L zf>aV|rPGW4j0=}{&?lR-F&YG{_rppOv-))9tHk^zm7cDKsDvxkg)w87d|~H+P_^;o zY_*tBe}276qo!bqXri?3R~Din|NNfkaME0~-gTe*SQUMpHsu@2Eg3MzXBD6A+)|Gp zFvRsW!DQ)3*fZc_VI#i0?uaZup~?M6ZPbV_HASAgFm^{-L)s!BUE_+2M5{f$U>=vV_fXEB0u)2^B>nnAOmR;OE9fua zOI@9(j0l!LJ@R5H{dy%wAU4R+OVHu+%$}eZSvx{y@a6g&om0GTb5mSPuz=s|CjyLz^) zxj&i97sr=}f9gUa6}!zfS+0MIjX0Que7BsC*t$5U13FpIwC1xjwRZ&ilNmQl&lf9Ac_ePb9Tzn{L@Mq zj2*GyJ73L>D&t}><}^ylwe@YM-A%nl&r7>cIV_)iU2Lwg8P$2;Y9**z9IGof z?4@2MNvf-DwJg4^^+$ZPGtQ`p?;?kpoRRz4W3Np!k`XCE^ezd&%MyIk&`)dl&*WDh zsjv+6(XKo_e*8ifF}ejAN=&N4?mRP?;Q=#=4CS&1?=BW9G+|)0^I5=Gu>#f5cWPhg zI%i5_uJ-EQb`PoxwR{7Qx}dJb*ZMpBL;72jz`oHuQuRfOvu=+fa2@(Q<|9%DSs_PS zmcf7Ko5>>-*O8nH#QZbDYWf&=!CB5lb!hrKhqJc#83u1>%mn0{?2n%)tE~2e%Q1m^ z$o!uS0iI&s6F%^n1T%ekbMFbr^)H}@nML9zHg`FGbs_y#j;14PHV#)eQ+Rls4iJPd zvBe8d5b%3lt1XMst*L@@@T8DY=DIL(coX>1#pL&HEA_Qsu`Q-bP&X{VUJM66~chud3ioI zt{!y^^YN<(@vj;`ZRjYz-VCXf8-N#ra>9>Qp%nB^$z1VDqu81 zS><=cUjWes%~M-&eAdZ>XZ+7omF!b`Cok2r1K5&&Laat5j+D;cZ0IW`8MxF|Rm_5Q zgk9F|i6NwykJ5eMqh9ZTdB@0ja#2FX$viBPk$$|q$i#~&{?>ZO6IyH+ERe$Z^(w-R z;;?<|?UGf4jGbKsEsL2Q2OTh|ltaDpePMCC{_6B7?+ZhZi`QIZ4LD4ezZXLRe5UY* zxmHn+U}Qp6oC}}+OQmyo;St5w?Bq= zq1Z%+YGIW^m^qO@TLO8dVG>nQ_x5J6)4t2{WVUghgo}N+!@QNgv#O2S8oCZmb}7D~ z9pTXx%Er05b-7?K;aplu&*cuTwR_Wn^rDVKL31JLJRe{`(bkPnW5Uq%Z*9|e73=S2 z=8;<_=FK=UpK#|pK~*Kfqg$fru>F!AQ_II9)tLSY)-)0SgH@(%Jx9KKdF!lt`qA@q zCnvmz7GMeOTp9aXZBb=06){vSiPpTGz&Gp6jeo0t?343)YLfPPN1i&7cwj66n>nAW zZk8jxs8UQBBDS)!o={0|+9o&eH)xF*x(E2(uGQbg?V8z}cH%o&GNo-)$l<#ZLCmb)PEyw|Wfz zU&9J!!OyK{B3~SEDTDmU+ZH>oum@fa7Nk=8Y_ZAT z*PUhxSuE2XmvliYUxY*@ah;r9MUOv{RMSwd-q7`@5Hwpl_>5?p6cX{ClO8E}yoxD7 z_89>JBlUOUu)MDuZ^wtpbJ8tV0|Nd54dHQfV3uHM3U|ZPD6(z~PG9(Bo)i^QV^)s- z69vPI22WQVo6fQCPufB2@n~~{2iEnqh?ta*hgG$@oKZx**;(R+A`2XQ>bdLc6I4}c zTs!A};J5pmV>{_>SEKmi5a?{g*bq?|O^+KYy;u`*A#%l@H@-CbuENZ$C8-=^v+~2T zIW9~h0woV))e5JQ9Y6<^(zo%yKs9@`B2n<+!J$yh`vZle_C60V7}?030^XCPeNz5m zGJ&=vxA0~Jzd3;YZ9HS1=@CA=Nq zi%N@2BKP3$4YK#X7#zhYD10J(i~hMr@1f=Xv0D zFrAuhZFi4jr$YoMysnsP=^F#vYnuOq@k_VRHRF-{&#L9WSI}|^%n82BPndU|@E_lR zx2HS2`OhVwme9aCNnkw(Yfjo{SmZ#g?A86jXPnol`lucu(f|t$Ke4?PwwA#d0 zr#UOcnf0;C$Ue@*+Pz5TY|=Nifn5xH5H51moJq5q;KB)~v=2=1TN&ApkF?c4c*0*?AQeeD%0mgb7{B-?8@yAR zNQ2XPN_Bd^%H@Hdz16tKhg+-77_vl^V=_N5S`~ODsu^^0gxN@*n&al^>QD*MmogJ0 z?^p!ENF(;6(^oFXft}1^>dtmdg{X~ zrRoE1mt4hpGKY7VTk&ZTzYE97J@_dg8W6-H2V|`Yl|wP2S91oCp>o zU`tI+>Tpw(7P8ZOw%xm>Kor$<99!bL+v++EuM=3CW(MBEO;w+7d5!XBrt!EOkGV@z zj>}tE0KG}>S};t`q(VAOt?Mc_@!p!xhZIq_5*oDPn`CDmHA!u)v62d-`TKK+)TM;p zI}&~lN%#`^3iuMEe-Srk$J>+S-SOoV4(##5lu7(~hr=1c-Xd!+R_#-7P}r$vZFZD^ zqd&u6K-E&02G@tJbD9x$2O9IA!D}UWw#=9d#j;zke5)gLUJZP{@&HcQz&W$3X@|4| zz1N?Pu%Ezd0{Z6KH|cs!(q|5(yvMiBpWsV9JI8R=PZE1o^Oe-0y@W3UOKH9DDdiFo z#GMk)wU1d*9H=;~_~^+)?|gM2B1ddPM@E~plUrLz72aMiVhSSy4{E|vqJKP@(f$iq z?S6)_^B167eg;NbCC-?rCw%T^^e%?_3`pE!K*7ruqhgYFzoFHWDvh&gpM@Q(3DF0< z(L_l)1OwaKI=y&tTv#=FmJ4x^uL2dAV{Mmi-D-$toN4LG7I z6d{U&AHI#>;rda{RUt`rdc~9$RZ69lI!k>mz$M);+cfQR4^qVE4$8;JQH?ECVU;xw zsQnN}U&%Tg`9|TSQN>L-{-bWw6CpQrBb-8+M^T01aNpv1$7QtUDL0k*uBqR3fcJ-6jGD2HcBc|m?M}Qh}GUT9lO>8#wO!R zFl&>OR>=g5HfD}6TapKUc;dfzc>FbQF*w~hkyg@UQqVy}7al2}yFo*@`)G50bMg5C z%lDr*zC?G#ZZXvjhnhB)Ce33wpL(?%@yOcS8g<*xlbo5SE3{dlw?pH70K}u6-nTtW2I1GZHdmZjkQ|a(W;}1AI;Wn=cC5!5oBkGNZYa0 zO75;YEVd8_G`)Y5`zboM73p6#ieHjYKmIE7gopp&8~+YjCfY0k+KP#sneQ3)&w#qq z>q5Oe`p_XuDjrqZDJPY-hxXB6Y)sWKj^#YpLey^FdrC4^%9eiL#~_pw4hsQ6(s19N zKqY4^uqL1Gu}&!Fy&6n+jI`OYn^u%U8f+FZiYNzFC^~OAM?3K^MaubiQ7*eQhFft?`@uBxuu zWml*(ksvH1GhFIUwTV5Tu?$wxy0qMz#v7(7Xk&yxBjvh4kU+T}lt6j2fHHZ1M7cTU zu5C5TcJ~(R3_7ldc(|MS8@#VpB*jBV5jSJ!C@=co76d2PQYN55|=s5iOd{JF(N7w4&0F@rA5?)QFPlA`sV1E^`=> z(slom4PK5P@7^;o7iUF4LI-32r@;MBnkk(j^ML!3(WRQ~9Z4GbPu7A|Cluin*rQ2* z0bVARATPu7o%_WR?`yryV;5H~rzL2mS2-DB_i=N|jNOPnGEbQZjGbeIRnCq*JwR=P z2b&v(5xP{-&zggx5o7^&AfHY!dPnjkoL{=8eogAQ(*bu+aL`t90eNQ7zAYqRJ?{Y^ zjgKBbvNc#QJ9|Me&Y6QHnwj33zB5aHEm#cG+qwoEe8=(*|0M-0s$r77FOtz;>EBl; zYsa_mv9qDvolr{l_*KdMtCDA8@VrKWC*as^s1vUF?7yN9{6{gD;WTOB=Gfet2pxmt z6hp;Co*5>Jir9EkBi&giUsPdefoB3a6#-ER!mbX>Z(iRK+d!DU=;!9UUNmN}YND@$cC`E8V37pl$a`aspr09v$(l`0Os@oCa@ zbvad+wvH1})&tpp87^P*FKh_9;w*YLWYGDf+THj1r&H?a>TY$k9I9Yb_Dxr;RVd12 z^%w)|D}kv_N?b*KIPWhUYtvKtYbPFDv^+v_nte?r7ULtw4`n!^6TfT%0}l|Tw!wdl z*fGx02QRR}Lu=py7c;%Hx;umbGKg%|5NAS%9l`coVXIi2-el(S>*oYAp4+Gd?E`$$ z<@S#~leyF)KMwn>$^5(wTrmYBfpzjP#Fk!pCMwoZ+^(M<2-W(YlGeWDM=8a-xt(|C z6`Ea)92Vs=W-FXU)xR za7tCGLfa9EvyAO_#Ox{W`H*8-zC;L&MN*$Tz^)!{qDog zK=Lz7w~nvo(?gD2uX;K;_^iU+x7eK-qL)8Tl-Lc?LGzu5#gAuA2OOLQS(`aP{P?5R zlNi>xr&~^pk?%anSM+CS8jhUHD!Yc=2zt`9!%9_OGdqtD91?wC#(P>~l6+0jFF7qC z(=NX%Is=JYI^(F}i!6wIjSHa)Dh4Q{Jq2yTl{Nom`Ar8v^Bj&u$kH(ggNq%aq zvDFHCvlqis)a^%_2Od>V>Pj8hVA{#<)kd$ix~Hpc$zLVw_n)}dF5?iVh7KuFwFR(sSllah_Z_hp>3yECREhc2v9{c?(ZXs z{c{DDEEsqzU0vm3f^cJ?_ z2SX^936Nx9{By5aiV>f{+bveTh|Bw0`D=lA7g2P1QBl4EodX(a^q6v0kp7Stp}UzT z=MvG#jh@6@xZ3s3=S{`=>&fa30i-U4wWdn^+gz%fEw0zOknvt15m+K(2o+qlBno@@ zOlq*ixBmbZc$?TaFtBuYuK36M*0HIR$8Pi~O@#>%G}k+`-PEHDm1M|}z;dP_7r??r z^(MWA@^_M+JOA#2Lq35E1fPzJ=fx#Y=z>~`OJ8|DeAbJzku|}~hlr`wChw%;v~12? zH$*OFxon-DuG`9C@MS=gN#)n>;99J(nrg?E{OKhi-W>}bDh&uv=r~ev-Rq>fQ(4$q z1(r-B`rH!3=c&%&X)1iffo#us?{i%k4g}Td48i2{6GX|c_&$$+-oD*>F~v?9#A&Ud zU!m{9i7{Fixl1b^Qn|SRHPD}QMpbTc_*k^Riyu%JI|=^L1$s3we&#vVuV7Zz{u9RS zj+~OkT(!{XI@hOo{z1hnP(iL#Pzcx^*ib@U?Y>b6!v*u4#ub6Dk~$qlLQI(@kDWs3 zvmyIsvu|IaN`vtNzw*rlA@>9*mjNnd<2A_qM5iKPdI(237uuOpWYl^(EMy&-CNVQh zQ}}k+0K0kRD@h1{x8U1KZjzv`K~|H~m*nr`Be1yzjufc=5PI^j@NX3oad!qB>`oF) zDQ%rlh_I`Bk`?ruhN@zxzh2teaJ!)f3$`$}iF)jJ&$3RZKU=&qWK}V8>y4SxHq~H$ z2^P0N7MME5aZTDzrVEqMMVxXe4-w6@0@wI;X`jFf;5(?kuX19KX9wdZBU(!OZEejE zp8XUfR#lEjfDe*>hktRg;s;;h2VW;LUxkj$%&Wd+si6 z*%fxpfSUKUMH-P4j3-_kF88BsTW$vF1$-#;g_m`F?(b#hqq!Ts@xOq7NKManEvv3x zSZOdIC#2XaHOtY-?@5ZJdLDz6h!TNk3@#6(KP50?Glk(YjY9j%Gc^w}ToLQPrfnqPk5?w(Fm<(B@2&jv`N zX?dysx%HKrO*y#BsKW{ojNUzC7BaX+lWk--P?1sE?j$yi|GC^z=-P?>Y24uZVL#9n z!&kMd`rRhH`hs%YZbln2GhJE}GAnnR_uM+vQ4y75%$)E*xL~rX6kg3}+%Ir-7U%Ol zo#26SdIom8kU#oSu-d~t0%Ogr4xXROj7koONO;;W-lNSgUhEc5O=zI}o2OHW-8HnL z0>adU#2xX6MZk&Kaau3#5O=hblOHcf;L1riCA` z(a`jrJoZfYY1wZ=sm&syIB8si05o9C3un3Cub=(U-6#|xlwof(%W)()9zahyx{dcQ zvB9gyI#W;8@QZqS0bOl5L>y0%u1B|iq0iZWk8*L`WZOTJQP?DD@*$th%A4XZ_A-ZOz zA~+G})8)jDE+#o4L-;hs%#w?uFOJu6L=s`|(74&g5iiTtH*DBUgGU_E_Qvt%z@C0$ z^k}4E{5=d`e#vhbxo_DCD|rO{M&)~9WBm8NM*MSc*8jvx{cG`mqf0&ipuf^<2$n)3 zTF)9IQEh6e5x*3E8v$e{n(i`!GH=+4H74i$-~LEVBhFXwn5Yn>k81ZluN`1!np?Ey zpL+Df=e@)Z>`XjjBgxBR#^om(iU=i>@xV-)P*!+?yI(%<*#4XyzwI($5&R@@;N_gmBt8C{-H1-H|$$^;sKU3_QA%< zIj@pmT+L&m8Qp5bD<*iQTf z{QA1U#`5nqI-cTD?=afkzkoYsu;z|fSJcH{z#~&8PyW)g_(l;`<*P+1a=|)%=2_^i z>KpM;zxSW~Nq_h#0;xuFj1OT<;sm5l^cb^D^W}MBt%;JLpRf1@{A8;oFR0rr+V#B2 zP`?>fc?%s!AIRVyH?iY+aE*#P17JH^VmSeRyTi7%`LuEF@WkL7VCRX#h8yvgfm5Z| zW}UG&2tW~LjxTLHB|E$j7edoL+~fXbOoXS_KdUKfNbBs+qB#C|52Q#A%Fi}E+?|5s z5ecFR=2&Ktv}fS=Q7mZhi6}#K)Tk7);X*Fn+bq_G9`xVrZ6)fj1|bw>jPS z^BDnnH4@OHb#~D!F#<4UiKw?^*=T%k4*WDqt7+ymc6n^m?CjK6d}D&Fx9Vpxe8 zgJIVe8rCwG`=%_at{kM5z&eT*E}ID2JrUHbu%77jOiwbCPy&$Q$9d>JPfaas4J_df z&qfgMjpwsIsKs|cUU!kcP4MM5#dm5BE7r0ZqudJV>d8lO=)~y|KEr`}SRx)l))qj2TgJH-^tU07Wx_doi^CluK)HOcOO<=d7-J$MNz2ELdoQn_~+82D1I zaCNcfDN=RrdQ%#&cucATakt|sbz00Cg}Z)Tw2JDWyYc$&DpC*rIhB)Z>v8na(UpqX zXJ~uMsBDhB1ZYRGvC_h$_x_Mn+Xfqx`~mpnkPzMN*uojGpJzG{oWLBl{=qx)U4NTZ zVNu^o?|yhPC%uV3Bd(=L_$=_UI5KRjEz=d?6^$x90_;ZFeB1&loRwC-4wv_c(RkPn z-Yq@ZxH*>tF6+pe&oh0GYk>g(h(A3Fyxz)4F9MmPpe%m@rKmX1^fVjuC2!RNNM1cE zb#qvpMNFacg<;<50AtV zA}t%Jb7O8)pnYFCaiOWQzMzu>#OV>`0o;BkSR*=I8H~44_k1(0@&3#8of{D5r9sD= zX~BcGn}cJqlswkrH&B(V&t^^&iu(z&Ynj(#cE0EFdtYtc0I%0{NNcSSS&DIN6P$w+ zQ|vI|uczWWwuCsIh~RGyS;wqLB~eamE`pLcdv*VY(x zmkr(#BALQ`8-(j%h&%M7cdXZBi&HmsT4X37=P}`W4=?1FL|p=Kz|%NXleF_WCyQ2M z1Uaa^mMH5MOmE9RtnrHlx3({ZO7Loyyj7JB>au{=yppfNQ?Pwv*@LY<*XZOsHSfmx zwC;nMAk`o>Wq0?qqyIn!)^EeNxE4#_P>}=ZlvuL9H|*kJ7^m2}$lF+(nIrO1s0+SbbVc#5mNT}h`bV%D9m2YlSb z5!=vgs25*@#F-!LmMvAm;Y#41D7Dw{s)Qif3Lby&WYBHJ(&U;3XS z4eA`|a5F?1`M|X!-aq-@3W$4%h21MQx$Uqb-s}#U6{j?hJ>5P3sD~nX#K?B@4nk8V zftWKs zjXLgk0!)zYdS=?qoPY5gz0bBksvE9L!SYAFCPOK!lf+ievxjiew3g-c1DEV91aIRT z(229f-kDjS=Y>|CZFqH3myY7qqMe|Mo(1VFKON-ZU*0rrlsCH}?1EUn%kmSVV}9FvhE>PX5OsR1 zlhR%dG=5Xu6;Z0L(=Ej;8tx1 zI**G%{v7Juds?|WR++3BOBy9PP#ph96zOGt=uyJhz3gK-v^vn-l^=j?LM*RV3DgrF z24V5`nAV>&dd*8uRGh~(ECoI~=dx%`j7ivfd+TNBtnEmwG&Tz?#xK^G8u4^3G?M1V zlsMQ0FKJfE^gzp*!NSuS{4ZCO_fxUK2b0-(Kc;9{-F!qFMx>F8oAac9^2X${9)z-VO`_e+86f32;wt-TL6?bW&1gE9N zt+)gaZUtJL1a~XNiUbJmQrw*cg1bv_DLwh^wf5cnp0oBkdyIR}-TVHPWF}+GWagc( zJn!>-zGHc+uw(L{xg4A+UHhD%FhKm-D8SIBGJYkZp3t}GZT>5WcWjN`TZqv^Bv_5l zv(E`hyqjHG^q>T!I*ZxbWV?HP0sIj-6?weNI`PG-o&d<08mKsq%68iWPd9Se5GaSJ zGJCv+L%gw*F)(PXJ4fnY81V11HmlS`%T)cc^#K#t^xeA~z|_RXU{g*9 zo){tf`ryyga@}&n+AF5Gsog^5R;QO)>J^1S^cMk^)U0*?%zvc8f=cLL96*}Qh^fJu zZAmNbK)T(~A&@S%uB0>2z$rRmm{%U*0#9kl zB4{y09B-f?>&?~6J6<>xQ+ax>%DG9#{`01G>4W^O#P+pq?Zzihs9at3v3yVP2}OPGV+r|FO^2E0 zEuJ|Aj&u8VSy2e4r1rrCEg%)!{j#uT-A0NUmz^!W0L;e4^;>HV@|A;wx4tx7Xb||} zAhUG}$q=z)_uEzCVa`|~eZXgA)hq;xr`#hcBrFd+lWTN9RG<<&N1*+Zp)Uq8WE7|03O)k5rG`&mqrWrarWo7TSPSjWhmP! zw?|bLOUSS>nQTA2yj)%^vAGl_emfm|cs`bJgjqXzRekV?dvZ%*(JgA7#<#RS2XS~Q zW+l-|j@i8^_rH8$%_=SO&9?YX@s2`mRyO5EM3;BAZ)9P?kJSskanB;*mG{hKnK((}jrfh@(F>GZ@6pJc z9WSmD3SQe`&AgZRmQ~6~AN#i(-3A+&DMpts_SchY9ebr2!V{H{b?kiexwvHzsOl6< zvrus=y2ct!!jehGr^u1{NZI}Ic$aCRLHX`fZdUtoKzw48P!)`G6z{s>U22?wvhd3k zTjshQkE_974z@nW@JM4Mk5u&SMf1-B_@JjP1WYGZ-688oufjo+xjSDd4Z+*z|7$&|d)a@_PzL4wUt!9G1`@dGZ>c|63dM@^cu4qN)*r0g zN!$eXUr5W%lWO=_|Fb7x5j1Iw9RHKmGQRIW;-g5`_dZvWqXn?(Ihb#vXhE}b5o&FL z)v_Q?+eieg=nTv~d4!C_@H8B2_$Vz-*z|^mFab;|mfwA1SS|?Fv`>35V!A-8MJ?8t z@@XAc@AnN9yujB&ejJASjSm{!4g2NF=v3rasG~YpcQm?CuKh=HhCse#U72(R*5a_m zUbjbOIAelKsZ$m@p>_2~A_t~M&8HjI#Pqk}+tvmGvhMi4>9$*?iR;VP3wIGU;HQH< z`v7`q?>a|wl69L&)uo9kYKYXu7Oai!y`6ipI}bFjZo7!6A@MW0AUn~Wu5cC76mI#*o^!%mSp6xtyklByO-Xy1!(ITH9@JZT zY+BI!h`Y=$%{XP`M%fWmMJRipBrEnpD6rk=cYY+r>&1M_-c)qdqZb_nE?-<|5fgP9 z96|k0M#v*Ao|L}oU^!OW9b&(Np5tb&VBwXiu!UVVcCL7(zhPiV7m>Fm;Fa$)=gepW z6%$m=UtCBlVn)Z*U!SgwpN)Zt3L=FEB!Vg7RHXc`SJ3qY6b~lUJ&d%R#X%R*)y?u7 z4;m!gfU9GjO`KY!q21;$ES#I!H5mvb%%{ zXtX%P$D!t^4|8V+jSk1m6vy%KuXu`tb|9|mB_Mxe!Z6O`%_Okr#lmeP$43p(*rVdx z8&LtPq7O;CQDYM6ztR`?xrxH7V=FOLFSXVynR$5Sk*40M3z}FHF!$-}pM(pvw0Ojm zgT|$(N<%$|++z#D@+5)u_I<>eJX%7_<<{1yld5D=SXblF^ea`5pr<|~t+wv;V}sIk z)S|0l91HuUAsw~p0}q(!XuLyuU1gkMDng@ZK5ZHT>k&A9!LePXTM1_yh`gm0HhOyS zY-GF(krIeqs4FM^oyKd%JooW>!BL%@hb*8kT@Mt?R&#P?L2%c`1U2HG^h1BWl zYTepy&5f10FORkIj5$i;;x-97o?0{z(yA6W*3*=dn8ub)85w(x%}M|2a{1%w?M`Ug!p-f6 zkD6pr01b=PCIw~gd$X+%z=|+1~mB$(R3W(q1xqj~O8!nU*2u}3i zW2NT2dZhzPDBX!w#8Cws{#y9hD}VI|OF(zv_*{>rQ+RNM#p~Q@>CzUG3m=xU8^$@~ zI?<08h9>fb7Fxi?MWXWDs)pmyYJ6#|eEQ?#2;tx;Z@+^^4gs5KQ$p_rmkuCF@>1~? zILeLJ)~@b(#Vqdtz%tlGdYw#St_;U_AJiwm2{+~Iq2rEQZ(%k=V%)r!UaqeP({&Qlc?TMwU`cbwH>UfONRy~=4d`3UI3tx4 zeCS`*z&V3o60oMUkI6nXrK8*Tyf{484bS(ubtMU51eZ7lGXhfVDet9L+?F@**+bW` z1orREp@9Pkm30aH8HDPMp0iZtMFX8na-zlO^QO=qXA2u|v2$I07OPPd|HMQ?5n@Qc zuro{bBluYpio0q!eF&7U007oqgkEu0n(w@eg~hZlvn`jkOF>!6_$%&vqtOyw*^OwL zQ;m;?R2Pe$kACR8rz|>05ljpSmbh06exvZA?hRyO9vkD?JKvyrHt#y)b~nj$X)|Z) z9DJWZ3m$xW{r;`)kKD*Y=bbDT_YPE<8Vx2HwGp_6yi$L}jL zxYyeaI>%C^zEbA3X5G_;2`G9NBukt#MXhuqSwD%i8}2o`qSs_Yt6#u=AeawIZ77u8 zu3cNv%;5vgozY(?OMr1@TAnk#E&|UnG*UHs#?bA?ir&8v_3lG0IsawGw_5+fdSlXc&8yu^ z8Q*-}7}HE6D6N-Iujt{U*2nJgX?qoIpVN-vD%DYk_Aew-nB#J-ZUjL%xvV*3IX&%4 zY1|DLBQ5wsj#p^~)mThs0&6U{5bv<5lu!fZhu#HRR;1gl0tqcViPe|gj}nx9ZDuHq zCRKehCtfn+HPywHs=JJh+F1`CgDR-BR(4jbR*NM!YlRWq;K*h-1t+n?OVAsW@baXN z6+b2QuF~`0^hVV*9-?$wF~z~b^PV}$cpb}~{euonQe(k4s2wqg`={yp(nU5rAP`uQ zxng_j12ogAhQdBR10-`81S_b8V#~Oh&RFe{Gzg8k9p8cIld?#OUkT6kKTXrsQ}+MG z(FC$5l#r%xIFtDDq^;};ZHN<}C3uoYBeQp-{$-@Z?__?ZbYGWI4AdK@txD2y{B*4G zL42=hmDZ0!+nFGUhi%g@5!3bUAG*s0uKSl0$07v6>3PZ!%3$5%mx)58aQGT98SwcQ z|KrdqTam)O_Ek0$Q}gbHglNhpHGq3R{h(^H;6A?<5$xsR5GKm^dbQ~;lKrz4A3i1r z0(WmKP88nkF(}~zdnypq%?maA2vnP_(vgs;-C*2>-4$olw#YK$~VXEJdHBQ{!s2j`edb#e#Wu7W zkjMy&nD6j!_c1LZ+J#;`2}^p3#TO4J}&stOpBMG*TG=R8J4R^Dkhxf)%|^UzZwm0&~=Z zteow8$;cL2t9r+m5OsA~?y{L5CW;JFKx3Z*b7i3`+# z0fp6gsB%&TWf_asgym?K03=-E*|}$*&+se_UP7$FsneJ(*HDn| zScSqK)(Lwj)8jX^czw_BJ#!%YLe1iC0rwQuSo6Rc(l|=0^*b{5z-rVRPg+%^>Q4}M zUZBa1Uu~5~dK-wXxeG}K%t#Qo9E7xMEJ3OAOmA^TvfJvv&TrE0i~~Qk%!?M|ehD=m zH2pb22uHm%{9ca;NsevzkI#n1?@ONXCV zcf42N|1Dk8gz#RF6MoYotw}j zy+tBX!K`EXj(qopz+ayhK-Ms#v z+%m3S#C~C2XL)Y$2TN(`F@xUbKug-yscs_QV`Qd0l8EJ=ShukD5j8?R(37=v%LGog zh9woVk0eH@LrUgD?IQ5!|YZEyD6q8^vC)`_YrLoPGa&+1^S1;v1u<&qXWbGgkh zW;{^5%i?=QxH)Wcd5-wGe*_at8bQq0j?5SD`0dM&w6Ca#J!xE4VRZqeJ0XM>?M$)w zX5nvUj+?4Gj_I{x`@zl8jG_45$T6qxn~lj7rT>`hU6=Qa!(ShenaOz3gYKf zuulfuO#s@7JQEH{tgN>CX(Y|93OYTk(2v(PzrN%aB0F^oe);2dH70W{QO1ks3^F`? zImWzq&VLHLjZ<@2)TE$xPkMX4AXK~;r)ldB!W%8rsjMlXpzAYU7zqK?>vyz-e7?Ou zp#|M2Bi3$0)jA#6B2nr+Pwm5v9(Jw*bjEVx1F=0Ds<3wo<%{iVE@GHt--SR164_*AnzWin5*D@r?>a$c7D0xx>P+?DWTpSfeT)0=FupE-H4sfMvK)hn zcF;3zop3!O*i&vxK0^h%VZb0iV`BdZ?ORIC4D=&cGs>?xwb`ImZ&8fqG5W~} z@C~&{oEuve(I`UpY;ZpOCA|S8KDhH>k0Bz6f`!1>X#dNE)KS&HIXAH1&TC7csj|b+ z122z|y|en8Pvrcu3#A_9iL6B}1_OcYUhq99Yil$UwCi3xyoK86=~xS!w#$b6I3`)} z*ekFSCZ1pm6ek9mL)r(qObze-!D0`br*DnR+(F5m#rPbv@$Jd@T{YN$6oZ`J!y-r^{hR*wUm$z`zj)&R z&ApjGDknE+%Y2m>l%9}ATW{viGk>~a^_?qOT$Sl)h?aK@s>BU}x&-sCR>)nKmh#&P zUz(sm)3){(($5);qzqntaxVoE7(>_d-;U*X&!p4feWxAO9*VBE5PB!E%h&BU!JIK- zeHEw$Td;N!)es}WXnpiwVl;P9%oYGzOHPkZxzsDpqCim~nkUihDZzm7co}x9P zE1cWYj}lm~emXWw9NI;C?_dLw^!g426%u@WLiWu>lPas%(-Y}kwcDr~+`c`^F=IXS zO@_XZmO%Tm(=I+ZSbTqf`jlpMssny9i)NHQFCd(&n^6(dZX_`^Jntg!Zcs=asoFyQ zHXc3OMixp^EmP`wTlO`SRrW=t?y?i;*AU3syEr=&H#K7Y!K%|I=hn+1Tgma7mp2#l zaov-A(d$~~!S8?Y)xak)AL)@cOKb8$h&5;>OihTDo10beVqoB4x2C~uE9&W}&Wii` zV0+zoP#{WI6IlTI96WJ_?sxLp0g4n^Mffcv4;5)0HrX=6eHct}Tc~v5L zw2+L|)yXom(!s^x|XAcKqNwWgnNBM%&it>S$HO)sR}oqP~j_4 z-7c^U;SUBT`*z|E|(sEbIFPG0?O=nE# zE`FS_;g*01`!p93S3bzW9w02IuiDxz^JV-{nKNOdwoPz1Li8n$e^}f3S$Ma+#ig zQ2P5**1x@RpXI;NN9g}xeZEZ+O{;!tQkBc&ADo$;{gw&iq1(%eZIqMG(3}rN(SAiy zCA6n4T-SO@k++D?cUSLc{i;DIt=_ZFfl?@hX@VvX5%*6b^pbPR07%ndu8uq&c$@NJN>1cYmtAb)e?LinWrzxB%h z-cKj|18S}FbRzs%9Nl8cGeY`xzEj9-chpt;`Tf40D=*K|XJ(g(7RB;U!Num@1mbVI zx9a#YWp_u)-s%0*QRn}_Oyr-8asQ9b_8;}4bBh(^m6ig(KF$yR!FtC@B%^p}3Yx|v z*>%1krmy``WOoBtYpkdj69FOwBe2;!p9Kq}`g>7Zc!@VzpFD{QEO9joy(63ioZsZ9 z*I=6yi{e;qF$Rb-hF`m8F{~RhT_YmP-UbU!T6`NWeYXDWH@3lVx5Qn`GG|GGl>;lV zlKwsGtv4qIf`|Hb-Mss##1v{2wMoYsh`9P7Ls$E>VXBZdx%i2>esT*EkFrW;%6vtg|GKkQJBzUVRKKCUbXfCIg$H3l<@KNOn8KG*#X zs&fJy8{uWK$H8e+EZJi-qO48R1o{~0CgyV~>7zo-L&hnaOJ>h+TBh}SEzd(PgIZl$ zy)jTXudS@>BA=lq{o^eAkO|>HV8;#DFCc#T^iV|DxS+UotdJWjOPFyi3zO4xMdwYO zCd$mb`xx6x6VMb`U(Fgcu-(^U;KN_9QB0GzKpPzz{vVd2#QGP`DL)1$+c0pa{ylzw zBx+*Et?0IH@tvBsLfUs9(050-gn=s&(I|8m{- zR<{Rqm9DYAncY&$ABDFEtd|o0%Zs6V;TYy~g{l5UFuc@z&V^>ILamJ>17|2+cFWwh zpvwH482Z3}Izq%WmNij@cGcqmQB@VyR`M7}$5|{|Dq-&1mY4zl>1@~ECnE3m?07|B zkh}x;&tnyS@+73*sD|Tzo1{?am#%HDyT7>dte)^oJCio~>lzKj%%$I!t}WF6b?k44 zm>xz5bzk;A;n`!h#RyALpK$;B6@AAo5+0G>BEda;^2jsB2jN(u4*{R|p8xGiKlBe2 zB>si@G3)NEQtb6Y14E^0r;A1Z`py1JJDC5-oq!GY>oxEs^eu6Tso3KR8-Fd|Q7$v< z{aCJ@k);>YV>B)lv~z_>72yBA{e<&Hg?h31#UHF<>QjtyA&QMwF-><{#2c0NXgFb4d%$VFXL#p=X@f_(4d0lP6XViA#$1-wDJAxf+$h*ff}C6892bPY z?Y@0GT)N+U_wp#;yZ`MlNf3nu%oW(^qEcd7j8=;#Lt?IX$7iPkg75MBFDRkJs#~19= z=NnIFFOw*}fzv)wHQryUPHMAIw^CM%0N0V_o3!ahPwP*ch%rn(fm7ws|1H(sx*pSM zB;Dq{VMAqI=zQt_^aRs1@qP5R#ON+Llnk3|wXJO@KA1-X))CxIB;1BY(x$YK@0Kn7 zoC&oI1H39^ET+1{O)=#VyLtI_tliNE_;NSfuHlc$z6kM|B|g4*{Rit?=74Cu-fNHa zU$plXd`vjxm?yJ*9N;S72SSVAsfoEYTO|JK3GB{d(xor!@cJ-dj)94b$0?()%$&gK zKK;|74_eC3Teq_=bt$e}Xa91)FW<}d!W4fIRFjs_itxopX`XqLgepJxi0j~5CkFi7 z&DqR3o{r{g4aF+GuG|tc@kQ>Nz*YcAHS;B0M{c^PhyB2*wEA)F&N9m9(`7XAV z+Gr_L3m=RyR>>n$l$7c{vlcD0Pj>2ay>nyG;`@hA;HW}YvyxZ3Vf!hH_zd&~M0+_V z72}tBwCgT*%#`S=Oao}nmj^$njbbWs{00az0O!=IjnA1GccAYDCAk)wHNz(cG&@*f zfSi;NJ8$p6M#-dd&UYqMMTkV9q^~&70y-~{Cvxfi09DmU7*(;!QnNvRQ@-Wftr@#G zbhO|@Z!yLY*DMN&RUX=oImW$XhRHzAbVLaq-7mhG8vl;Qi>&FH||k7fI@jss6Yv3Fy{Ld@F8)k@7Pe9-lB2j7VQ- z10(X>yzI)@*&7rL`<~g=mDKUTxQ_1`Z#R?XZ02=IS`1EukfhVWUe}~8R5J2dR@ggO z+j#-~%A6e*4{bCvSx>4*-%?j@wi-zdsp!^_Y5p_>+FgMLeofJclFc_QK-a{TqYOCTFUs$I#vNYBK02gt_-lizInPS&r3P) z>6x;VvN=yfT|If+04!ubJ9zGMTvi^knvLEyKnulZiE3qc6_JG(8#h??wS;0`p`j$CIXk zLHdcl2AbRcpI>v}qd_b$EC!Q|YfMW}AB3g4Y^6mubuXe)wPfryHxvu)O`QP5FY;C8 ziQe!tupl%&W0vRI_#4y8$F{s&uSy9sZ0z!1lx+QoS2jI*fGiOiobLGDad5T;JkdWg zgT0~EAq)tpypd*dC7G^8Uvk*b3!V+>=BjRNa0Nd8wR$XR^U6j|{JyFhkE=v0!0@L# zYxtd^!<&sp<6_`5%%w^PBS7mMF0t|q`fd2Ex-_DA1saq%6>s=hg4ScpPXs#Z*eiTs zVYWaq9Yg$_xGs`Fre8)ozM4fELIJwo`1)Kzv?=$sbxfK*^!1)Myhm@;L&5sQ!BEts z>s8^SCb7t>{t?TnZWc4%I_i6)u|i_;E@;k!;#DEL3ZA2is(VnE^yptS2;so-74hLP zf>*b1{BY%viwrqtPPMjZQzgCIF#X~mW5dO-x64eK4?h>)kVMFdImF+Hbzpx@*W-2z zC|%WC>{+VjBh~zpv$&j$gCNo|F|XSL&2J#VVvL;R9h8sFObCziObKvQa9%rn_?>kj zcBV}?57V->g%Pk1t#k9>Y03o6-3AX~j-`v*ksTic~JIs}0!MV}xkqlz!xfO>-4~ z&iWIX*_(b788BLN`mz4FE?`&$e_e_s{A-{!`v~1=Q-$^%9fIU}BV&BRv~hX==}IP> zZ2Pe^jsBARq1TyS;irZBxeKz9+NoMif)mHfQ-@~YH4k?&Pr3s;E32D=0>fQ)+?-3# zl0Xr51T|AnJsO;8Xh7*kvyCwLBumZyn*X68ZSnn4Cf7}@r~%niJv$3d?VuRpH+0HL zJ)q~I{CL;9s~hmbPd{wx55pS86ltyAs zC3M({N`#&eG#u!9`;B0rjlo0@=bt{y<#%(q@;cWo6j8xV?`suNd^Kd7z+R{60yT4^ zHm~e?$>8lU<9?|aW_@pn%Yp9=t^FB%yOjmu@QgE=79ZO5y1MI*jue-_v1X)DAKn-% z*O*Yc&V+8VWei|2eyPHtn9svOSqyaG4h}nnFCl}uUC}3r_vP1#N4F%E2>6fpU;@cZ zn%+~vP zOidadQ{&U&gl}7o%3{`Mcr}yeO|Uf8U#A!)*qGX}_MZ zB(6Olm8zZ!q`$-n@v+{Z?m_B>{3ycrr=@NJqPZky^|D3qY$7c!t#*j0(6@fNqu!D? zrQUyU#l3aN07#uMejKc*)rE*<(_ejoiiLikX#Kfqb;ssaDiFPv8%V%qFX`3;FnWz^ zQCHvm(4patL(h*kOIsBI3+=~1jhY-dz&KRsrz6X}XxzN@pxL6E9%(nyq-cBbrR@i_ zM}}(pA+PJ*x@>W}_rMv3;sPkWjX~OI+J;wK zgyVPRx6$mzC~xbkM%3%Njf-vljG$H`t9f$X_9B#Du*3Aek&Bhx!k4>u3F###gELL9 z%4ci?KZw5$me&{E%aZ*0vyeF^LpN5zUUXkUU6s-^2L~?8%SjunikawcW#u421xXr@ z-q0WczH&XTi{6|T`wo^d7{ z{glw;bsVYoX08iS+=+X)BC5pYQ0I=^!g*j#v73-rV1A@+Y*r%51bay|bo0y(E_9#}UZ>h**_AU&JsmoQyhB|*(1aOESytP7do#v+`zIiyaOvkwz~2|=>o>sKfO=JTq`@x>`nyg^{6UFg276C}6KvCGpa?^lh+(wV0WF#HJ z_nZ;S`Q+@P;ikY>&>wQVF~-2(AkibT19ypXd^X~V*D|MyuwW#M9@0D4SJ9fS>^EA5 z58=twUxX4=^gP-uUN1If?L5a6I7OB)Z;nk(7Ukqh4`zV8X^T7{|zN6oaU^zwrl4r5ObDqVMtLYS5?d zOe${i^6=aUit@1s8!-ZTx=Lxd7T-SngJt%>_vwPzx09<^&U!iFnKsAudoj0z4uE8r zC7JYxOo0!_rw^!yDp@`r3OSU~0cSi6zJ zrYhR}0n9=5nhWqHczSjY&`ANi;k5lUu6?9q+VMn=BzQ%}U}|=3?DACl&GYj1c6}9* zis!#(+$)7EO!V7mq;Vigu3J7e#hq5s-rxSQWQUvf_f=TNzpl&vl27A$R)U&bk{C_2 zk$vC9;Tn8TJUwg2I^OV5)vRsC#LNW?`d{$bq1K3K7hg)?hB#xA_PhBE7ShWAbPbzx zFa7c_MC@;?!-B?Et|A$-nD2ZwXif8Txqfq^fb#ll5*%#!#1IubL=5Zt$FL@^2*LBD zZb&mudS25aJwx{Af2`3wQVZdM46LuhIJ%oPdCob8X@{0&Xq7UT#D{}JI)kW6vnmu; zzlPgh#x!V2ert;1X&O#SIPTrx_pF0QZEwJsEzO7VUH808#(pifiQ?<65Ps{H>oZth zobU?auY8wN&?NO}X}Ql{BY5~xTVEG5G&G7(`dk9WjbP6}*x^7MFS&CpFHdlHBr;`UxDq2txOgw5&BV#)1NI(&97`_FWTn|C>I^!9m%%VElX50wi93F zXR%JL&$K^{Xci=N#QBxf?bH~E&3vQ*IWxRnumdeD+$P5AsoF0rQv94@$Lprd)OLC% z3ELnXdpoO-9^fgRuJFhx#F{a!TJ7KW6jRDPparN3iVl)?GDrVn*d=wYkrwK|z_Si9 za9N>rAT~GYIX2g;d67^>ZG9pE+W^Rl0pr~z-iAfRT1S4=arLT@H{5it-?!d9bSB;$ zKopJm^?2D-Bf@_?NzY;sd(C_z+#@7LPv?ri605z+)3!asm#II0g2$g24K)0He;$1Q z@^$hyHB}Oe#ai_MQ$}1M&8RfpH>h3QW;L6n5g8-7sk7rktOua<)!_8BH(eW(i_fa> zb;g#fw#i9y6El^tjgrKe++@Yz2_7q-5tTiXetXO7R8scUcu#XPiO^c@RDos^kBIn6 z39XN*_*$t^*L+V8UE(sxBxcyu3~IG*4fd{0fijV9d6lwAWVSx7yDXe+RP`Fl>gJj5 zPEB=ZvvS%-WKYLG3aRKXD#{0qoHrjo3=NU~7ise^N$y{@xBs6!MIO%eoUrTu{o%fo zwyDU|yC#yjYzgVeD`O4Du7 zYnBq(a(x-QNaMVb;o~xaXh4W_{&b3&?Un3)q~!tOw5CDCIQU`MGL06o2Bvxt0KbKa6*l|W1rdFq>(&z zT&n%Esr=EYAnhNlk)l#|Mrxh%fe?m6OFQk}SV7sgd0Wq04JTPmdxx1vNYCdxe&g(z6bWXSs>kZ3QbkWZ?aO<^XE9uh$~K~XXZi54 zZxP)H!BBD&N{7Y>cq6M*ls;ZNpB5kX91+)aHkXw3uCJrX_*;%*$au}VZ%K3g-W>U$ z1C*jyNf(7vN8vv{?m`?Y`Nk*UX;6~yQa$m_#z4=#R{GGDxe_w7ZJ_*gW|LrU^21CL zIqyZzF9H%BGwG^Cw~WE?#B9g$M9+fSr;RX!QVdu@uouHG!Y)5V+H%MLDD3e)q}7uw zAiAUPUcC$#`>>Q7I1&KB7?K%uLcukj5pOp48ZD~KJ;!Q9iz0GIi`7Fu{r#RG z)v(CVQSl?o@kP_h?GQL3=G&fo5AI$CDONha8j8>WR^5hppS|U!;D)n}YK$r$Jl^ zr|!t9l8rddmb0x_Y@F$LXNChj#1?*!i$WN7*Hy>7>lFZ&vKNNW)64??p%v*LkGNfE zp43fmz1EMp;Mq};^syF{#N-_wJGr8L?sl10B8bx?@u#&Yf-6))t?XSZIm6pbzj-Go zc)Ot~3rhSu&ye-*;EE8UG_7Ur_C0wO28Q)4^>>&}IWJ!CrrfAN{^5^JSt`AqKUknU z%%)9HwnOpnvTMt`$21fldN1?L%A1b|Xul%Qg{uc0#c)U`F-8!IS4zP}?cP#yuo_B4 z!kR>OS1weGVfE+E{i&x7MW0~#HiaLR3im_~*SO8{ZR^>m5BkUYnXARt9U1)VV)5E- zU^q1;ypN6>6f#|=h3dCk&mU+zR`JYe!_SGhEzN3JFhw#vAIALPa@F4h zQOAf=N4-l9G&AE5gXdI(HLdDP4+I4p4!TtBX`-GP=GfRz6g%THoHu7uIZ7T&08L@U z&4D{Bn>FGm=^MP#$Y(53%-Fwaz0uKMo>PjJOz{tRYrRN2LE34~JJH@AfeI;|OHK=3 zqr#5*v7AgBw;*4yI3M*$iZ-|K6v~2uID0|ERxu+0$B<}(FbUPR8ByeWH`YL3(dHMQ zu%dPQn7^no9k?@kctPCv5)-{3M|RFnwMvp=eTE+9);WuQw6yMsx0DdcT9#VmSm(kK zK;gJKJ<#Tv6Hph^zO~RO6T#2Tv?gHCJ;Z&jJI(K)=bgOipf|pW%jxh`N4R)ou>h{Z zjHR$g`EEzk>72-WR1&{K=8AC<_){u8rh@0hu}LSCXA}{W)SPmJpXc)Nb+-}1VFSks zyWjyQm`rt%VX`L%@M-|Zxfzmh=zbvncDlZ^v5~Ffqp)FY0V(mA!{Vk&GZ(F-rS}bUC*z}&G zfamBfKvdJ4geOu*}4xhsQ%M0BhHU`~M^8cItac)@0) z@CVE8J;H6q5YlQ|Mj7wK%Zr7*I(f(LqEWKioT02IWNE449p_V!ebRFuK~ZP*^@qfx zV?)PFeNFE~%TKOMyy{w#Pe+_Gd1$lBJTk=W#yGKD_o^I+0py*ZQtYPQJsz+R?ZO!s z>#_W1NJB8UIxH|5#m!PDK793#ts$;MyzY2;@+Tr#iL8Q(%7}f0T~`2ea`S6V__@m8 z{`v?;*w(oOr7vp{z_IK(UP ze@<_5in9E8vVu3Fd#f(?ThOMsyEw62VfYphru@z_jXttz&qp|0PCtHnP_1K(~zNDi;fAEuSAj z0<3e#D5|H-PDB_|oM?hXJnY>iwpRwvhvT(HC6$E3%}C%NL4Dsv?RGYzBG5K6?3coG zsD)4=RDB6S@>W-O-zQWjMQltLrU=wjqje`YuSRQ_6^rHA{tywU=17WoUMJ*6B>eoIa!Cj$ni~MsSW7dGuJEsR3%w+V3Drf0|2DssLq>&-M7aFfw+DkMA>%^+~gJqFQ3 ztHjkFS8QupY0ocCUyK& z3^d`6mCGGrMX)J8wxt3~2JuHUr}yQto~TLVrM4Vp5w1FuYWVKNN>m&_>j8UI@Qc=k z9jws+uG_p9K`WSoOHWr=F;`3GUUsS-1+UV_=E`oMd)8y`r5lvx%e{vPR|>A&qI5>Y zC&jX-`Qtjir)<1E%)Fu^Ik9Xs|6(f?+8}vfZX~>L*aaJ&!6G@?+Kp+0uP%J2!$ESvo*BODvA;?QVBu1+BiN|X!E^37Tn+eYtI zmQN!Ojn!pkU;g)q1pGUp;D6SyBBtx$Ltq6^s@ubZN5_xJ5`>`>T#}%61kF~Y9Pizm zoJ+=YL!A}sTbr^TIjf2$KQdF>^ra|h+xt-eVI4*eXsi~cM324Gfnq!9z4}%&HlKW| z$sWz#$#O2!%?srrOSW(|;f47OM%Cs|GJd^R?EHy4OXZp`Ka>w7Rq#~l#XvWLDclJi z;<9!Qx!M_ItRFxN1m%8vxymS?G|9ECW>=!j)nwYP`s$#zv`i7Gl}N=S^LqgW@QvF~ z4g~sN89VD5lNd~44}ui{UzMsxy)v*AZtq`5GFEZXTPVUVQ~>spMwZpDVQf>HqCmOB z%F2oj=!XiSN%mlD&l7zIf_3Ll6>f#UdODz7wwqbN&rf84XVAdeg~tPpe0o&KCD%0a z=29ViV6e%U_}qL`YqC}(9`#W-O&(49`5xX(W>=vJWY5e()wqDaiW&>lTHLx;XR$K) zRG-l%Pfsn5j|fDy!z)--f?4SF{=sqy!7Kx)vwys~@aA}NW@+oyqy1aKl;LJzsVozF z=uvgS3xB&z88Y9(rUPP8yrhPe>RWhSAE360MRtGQGy5vs>sxYA zke%Zp(Xrq2Q;~v&Jp6=-kv+0^%XSS`gq#~rVms0ZbBaFl&*cI=n2LJ6SJ-}0YsMg- zk9O%$C)#yT(}-$+p}135pYQCfCBcs zk2=4NkORWEMqskYwdd^(xS?3Te*;K0yIMip;(zzZj(=Pw*IM?S@;`RE)7XERH~)jh z_FmC#^Y^q7Ispfxa$uKcDz3i}Nnqs>=&@9>7TX_BfNzaNit5H-{VTSR;O(N;jnV1I zEfYT*;e+W_umD$YA44yl;YRm8rwjR$?Tx2i^LkZ(u(q=<2tG}2+vJres28awRn5Q9 zdd7dYr((C!$=K*EZDo8iibdSY)dI3jX-bdn037riVc*I_Q$^@uwpao)K+aPe?N(=+ z_-vo^e0OFizQ(8@MGXu1t(9EieAcvi{fnuCf-F^=Ll2+xYR~iep3Xa;U3qyu$cP+P z92`?InTgegt~x<74^=#c%2o>2mr$zhCJ#jS;OULgnYBR=kmlAP05Nt-83!@L`MLXT zJeN#}^W^hzCD-Mk*g;SYP~RV35m3=nC-tF@czKNzqo@8Naq9Z?QB4zLnQHD-8_w)3%r% zoU!UMn490p&2t&uFs$dz{3?9A<{0<}hyJnKL$rY#Z_?fxwV$_h%brhD0O z?7g%XvxxnW)>$G9jyU)p!eW8be7gz)Pw&@;TaLtq2{nv>ibEOP+qEfNY z@WLeApGDtd^Pldu?ZCTkWlZMvKAM{e+Vq+Se;`x=GrW0#BBb3?!&FWn=e?rQ*lkxm z9hK4Tss1(nSmXtQTUd1AYyw!&4xT7B*{`!14_4S4TS2%{s?6nxK|qtS1rQ< zZwmEKmQhi*-QO@?il7LHNJtDKAkxweD$)W9(j^Q%^w6mw%?#4g(m8a;Al=>F zJ#@^FzJq#Q&+YZU*IR47YrP+yPn)%XeICc&zg_2f9D4&YD-=YwD*RE9Dy{T;EmDS= zvF0DNB5TvbWM*!6_6bK_ev`~7uR0K7iEC}9t&``Y+4nIP9(&9ZsL1n(`T@bCvAGrP z(<_RYX=PP>pJoM}?&Bpld!w3rt%@4bU<3T+0gNxa%YiwnSJc@N?I7p8gpS-UBSb-1 zP1Pa`t}#vB3zM6kMB90@iqm^?`bWJ{Sm5T>jdRYs-=6*vSo6C5r(k@hNb0W zyhh-OPc^IP>#lw=cXbKBpMqklNze5eZ8Q^Qu0|+|Gz@Gd8j924XPTN zw(O{^37KWFiJoP|c!6+GNSMrW^%J%4qzd3pEY>SMS69J^S`?+_QJ4r8R`Yx-dpFIu z$E7z19A*|;MKJ-om=QrV(xaHt+Cs15aywTKIg=7rYSTP5zv3RL@3WFLE}E%zt8lm! zPx)2`)>b?zGzwG7s4C`eiO;766(|Tlf$?H{FcJ&ohS4C_Y|D+kobzjY(4Hv`MB2ta zTLY3n-wT0-?E{Qd8#g#O!f`I7j#@F=Oduc0Ve66bUF@|DyP{xEQRrl^0jIbidN#sj zTRCr4H?70!O_02pZwcu>L5ZwI6j3cW?u%)m6w8J*7H zJIs~aO}S7h8I<5;TSttIxWdeAc6b6foWAs%y~JZ0*IbA{QVbM?W=oo?3K8GaSe<+Q~Hpem#3xE z@%AE>!x~Ca{$zIP>9v;?bq|Dzg6Nyxc(eE~bXwTOi?Okl*X<6!6W+!r_;hufvT9D) zg;gjMp96lUD&FYDa?$LdSqEFO2%hRzGC6&W-)k$N%Lqs6tLB~(*tt=u8l?r=_-J*+`Y0bhw%VypOT49hv^v>7~` z6{9ATT@VyIX4+J=!&A68t!-{sn!h+lvp2zq8*3zA@Bu4ID(UK};D@s#_4H;*t9qcC zko<)%`HF-m5t!d)Wb^%Y`Or5Y4Y@TQxyg-GkNrdPIc376zGZN@RGRDSZy?iZ3mt6>wO_fa*B!D zZM>WscZ3yeU9$|7bYLsPnYMJr@siQquO?5;BZG+CUQ&MmVlg1J`Z34{L^)?H7i)*r zgScr@wU2GyKPJk4NsYN}Y`X@^+PEg?gT8NcS3;g?nf(ubU;so1RR>Yv&&&p| z!82gcNLXz-jY*7`Y8ix<@A)yy_~=oUsWnt%`8gbWE4s5)hMI?zj-c}6Sd^7s4NcDa zk$nSCVlP{rA6=SVP&#@Xhn7H!*K^yCSkS&f)%uqm7Y-g_1w<%aCPBddP14pkD8L3S z=q3&pXIFqQ8J44iHevyXxy2wOp8sUwL`k`9c7i7U4U+c*WEXKXAeowvbLpye*A5!$ zbc&dETUzHAMe|kqMO6DmGK?sN?l)1I&M~i69Py~_b-bVtU8b@-622tC)4l0RbPGIj zAC6TwaOZJMaan~gjiD^dbl0$=B=?yX^duEcq;*Kbi+Ke|Cei24{yCsu} z4jtbFY+d0P?atQc=HcjXSh1T&!UGIwC!i7s=e=|Gq~wo(V%p@#QG)|YZEUUEW2HWt zALu%p_c_K`F;J%tX==sWG?vWM`*vH)0R)CLP_?Rmt#^>Khv93xKtG#0uMZ#vV&$VU znZd`x${Xa{T;(}(L$Sei`0`@OI^w%FId?r zsVJpKxEJ25^+mzyk4ns;E0C*isLCTM?rJ-W&Kyd!Xq+H^<+R4N^7ADx+)#~qI(O;-+6W9Ekov&J^jA5s+W#)ylL-X9^~MQQTRd` zo+526DDn}%nJy7hHD-KD#1_Yr9}b_GyrS1Qg#N%7jQK;AjAL=hM>_f|1e``hD|Q|< zu7Z-)3)-dwBm!aC%v8kI1#jj|vWJuuE1#fW@cqK0v}g#`vT`_;iY#(V$ve8Wh>6;m zy?@mP!)l>8pF$ZIr&6UMxI(CSZ%a7wdn^HIOn!KDLaYs9@ir6+y(q03OWBD~mJ=ud zu;I;OX$mvBC&}%@*8k9Lz#?v-;rck6C6v;_DU2A` z7vep)oWT)KFJGn=zt?4vUm#x>r5YFA3>g%SD3-f1?6{F0dt~1lcuWRfJ&7wGJD#;!nb!O zmw*GLp^KRGv&i+pd#F1GJ_uqO%qGnhM!`);$gcI37aWFvYjqhMyZ*tar_k&Zx9{`n zw>Oq8`xIY}kJ(dswct#It1Knmy3ZqRA)IOn<(t&H#Mj2f54Z~>w>B*cwlM;P58g@J zi+;r17k~M#=yHduU+Hhwp-scjRyg~I%PeJ-jUw3nzM#jU&65qla1)RM08dOh?}beg zRO|^y&#B)14o+$y&8k~1#CgJT!UQRRq<6X5Epuep88DhYpUI;sOz&9=(THN@F>uLFW4mt_^=IxXDkT2&_dx)ZyeY>i8f@V=S%gb#_*CPhZLb6mUB#Zl{PFbLvyh$HJHA+H^mQ( zJH>^h-j2lzydQ2%tYaBwh}`d#rpD!}1xN^&%VjmQ;oE?mb?Y9;O7$ONmpX*>t(+1z zb49c@9*SuG&A+8FyimHv24F;d>Afk6Vj2~s@0|n7=Wh>;U@%%oIfk zx&%hDXrb70rsOztTnHe}GO?GIJpkd(C&M_XIjoAwYqt-r~p85veM-5fp`f3KyS`H2?W0TmXM~fY> z15V>v;Tjj8uBLHcgM))bgj120oh=Wp$qi02?aoWc`a$SWe!GmFduzm2Ch6kAD&wHQ z%N8O%J_CO^p`j&JZW94kA7_!{(+a_$7i()FUvAqU^zZJ!_srqB3|2XN2`8Cc9;$LK z%eU0ta@l~Nsj?40*;NUsQI0)!BWV;GHVqoVEgcmiAvx$}hJiS3ECqRAHR-wYZTgmN z3$g}4K-Jz8lQhfkr&XAg7PZ9l>?DMg2@S7$PrMdSr)8&ws$IXi{k0&Tp31sW9%WHG zYsHB#qeCWR`!1A9NS(n)T)kuE9r1T(?Htx{9FOs)^v9md#waJMQ~tw2$c2(#faB z6yFrXarP|RK+}a4v8tLoN2{T6kOI&m?$Bjk`>tPfA>68lNaO*P02llNVoaX*^se&f zGqc>N-o&2M*{blFP{j;f2uwcgdCEzpG|VNlyWd{!)?x0K9SdT zw#p+AF6+BJS@eZncNu2pOwaB*T>}odRpCNwRUN-5#XP&HWob9#t?Pyeb5R-nA(V~!rO->{HYGY9)cZvkCctwhmB zt~$4qU1^k9-d3!a>w}gthjhwrtGc24I8;_-@-keEJ}a45W!u_p8j5Zc?XVRGayGsx z1Jej=La!1X;cR3gwNTnbeSG)O2^kv?mI)|lO?)P&I%UAb2XRgTul||RFRm8#J<=&7 z0_axla*BJ4C_5GnTjcvLwLOV!eVUWl9eSUJkpxhy-2>ja6+5>OaxBdOhkDFR7M-4H zVhO)8uIiDj_*Rr#=t~_|AUWxG7s{G~t{(doC%V2fxOvx*WBGAeG_A_PH1%6)tbQbm zlLw)jo(=kznJBDNy}+>_Q2(I1Qj&lN$A81XFqVJ8r}shg=og(fuCnh`+LTv!O^JS% zPkI|QQ}6PsXo8q@X09mXD9(e~qL%13u%V>MkbHtR@*7Bx(Y~%8o0aE%6^-K*@0AK= zLwFKsX8Y_{)%ibCx?%|I_Pj|6dZjgX1<%Wsn;lhVl`2@{)3~#mf8ii=G3f(CAH2Rp z0TBAC3FGVsbp9O}^Pd%XYm4Ttwn248iHQU3`pxELB-**o~Dl);~)^Sak_fMl#PYQ2t?+)Z*O_^RW@V7XI5#s;@uWHr=6U)LZ*@^V9AyW?z$~jE|`@ z3mdPW)y>>N$2AkgMmBE=CUnkRA^hKYVD^^1Jj8!Qh;=Y;f2lz`y+XjK?e;wOqQ@m1czO$Nu5~X zlJaSZlk50~paDll3IQFZIJ(4$dJTq*^jJ+!&xHfgKcAr5pS@^q0InBbid$533o)<& zdpmZOOdlccMmS;`-TKSuu5Ii346_8&yZTm;$Jk@6+0p6^nNq{Xq>I8!czUL^DcPDT zX%nqm=5L`V{W5i;WA8>@^A?KXMRV>JDP~!^+;_g89t-8q$=%Fv%R1C@sMKXqlv+xx zQ9EUI#gX)%EncT|+|EQ73R$HV4V6=?XMv^AP#FhjnpMv~oku}lPeXJJG@VOHHFhSB zLxo74MmBbpl4{Ey;W+edr>YHmx$Bc@#%3$M?6zFlqmSJAD}v!}HCP#;Cfk4?7^9{e zxU}UiESX*KUw)3^w_{UXFADF72>WPvFP2xh0K5VMTCtu6I17x4jYzvIb>a}V?yK-E zK>4-xPDsaPbx*LrBv783ny%MC_|M^)0(Kc+a@m+ef1&W&LH<^u>M%TWCC;pyu(-_A z*p((s8o|MLiq0+l2velCz9qAcBtklJrXT}qJ}V)>no{WIKuSJ$WhT|sCevW`s~$Ng zk5H-KZZq?D&Z+gj#3mF#=%Jc$#c5Uk%~)PXi9D%Z8^NUFUp17#7RN3T10Rc&4HL2X zm(M=?98VV&@{j`$ihpaAxJ9j6r`joY z_(q>#VV)Rng-3=hid!;@z2wHqX-D4qvE+U#ieVyp|KeZOKC7H zz_Fw>lCH3gEGq#+@NoBE)-%K>hD!`)-Yk)(5z}*nL0O!_iJ`$p zXMcGJo)QflJ1u8aUN9?-!K8zE;Nh`+GdS^5o9+YoiJ$bZE3iyi1w6LwK?t2^KEy?% z?Oy0X{lEARKUok;i+N;HsT|mCWuO-}0Tfc@vq+8;IcfDD%NZiUUDkau38oH6tL5M~ z0?|f)*_aNdw;b3Q>Jj2tm~xj4Fa->Xfc~YXvzYnmHps&_fwf_9UCbV66NR29gN=Et z$O7)IgfpV1&<4$9HFhX@bwfA0$Ao>Fc{42&O?3jR)PG>C$gZB?2(x&gzq7Zd zm*`J@I$-;k;6{6SZ_N@XJynn76#wv^g|MwtM@_rugtu#`9J#M!6LmKV|BUgtxOS-t zJ?>3jb6zy&Q#0=yN|&?57O;lE^5)10c=c>waKy8INWKJSdp7SD{ci`igSSxa9P1$* z?xHF(#ptWJ^7Q^f33L4SbMHNbOHN&79A@1KdHCt>xP~o>-|C4y7Cj|Rj$8pr|?k6~pI1AVw_)l)1?OJN&zSi0ZNIx_d z;A%Ok3XCFM4vGJb&y`6SP8fO0Gtwq^=l0#cne2&2c44iQ?K4}(2J3h^ zV=4LXJ(ufr71cLD$9bFlmo&@h0eXL=cm?T+k2-PgH*PNEN8Mre(%~X)oWD%`?lp+L zJ2hg~{vrQuTk&#h%>sCeyp~~#CKVjlJz9ISJnV+BJGv&EpJsC$9vX~&$>7n|ecJbL z`P6~5khcp-_!2N~cQ9rCOeK3oer1~V|5`@AzV-bjH=K+2Lpmh29CsBh!sNHNEDsIP zak#gXB;MY~7uIp07X8ixpngFL(Zoepgf#;gM;l|ZUISw!Iw|R=T_MbU3jT8=ai#Xm zJg>gax`qD>2sVnfEKqN@#N3cF&SZ(n=M zOxcP#YI~Bs9)E@&UHyUvt0X@g$49h@GnQMA!|-AQ>8rXyeMyr*zvY^#Mm2SdflQ*{ zpp13}GqNG9R<#Dgc(OI#hzHmh2?Y7My*mQJ=B^HPNhKq4NU4!B=0pYy5z2pA{W&g_ zD3@5k6)?b=1YjgT!%R=#bvC7h_sIt|xjmh3kvSk%gAA#bFwySEbRt_|xF8Ek^t4Zz z8lMKmO+TEV!&%YoL4nQyMHI`1TN2>krjNzuUl#bBT!b*Cu-D1RSEYl(+eIkfbYNip zy~~kO3adRsx(hrrs*ck=d2@K-^q+b{=NiEWRQ;-hm8w*?C0WUxYTp$+jLJK3Po=P6 zee5Rx@j}_B>Qvh|ni@cVf7-wS(@KvESt!Y??z$^Bwv^sFBtB!Bs}f6oSyx4guuI<= z04ZyzBNXV^!p=mP{w0GmW8x*IrQ-W=KheVJPf_2@{Vai6A{`DT7 zSI^=t&<56xn}eSQ$`0zcrQvTeCg^oBl+O^S z!QPaPK5;Ual3g@H#EU7Ay@TWaTj-P6WP)>9IFNEkwfb=O$eNP2{0W)-DM&VZq%&e| ziYZz3NY8x4{N21v1n{-DIKxY1~RAU0t93xNBBiJz)};o_@DZ3snNi{|Z+h zT_5f8`lG@^FS8(h&z%to4kr0(kb8?`GVHPaBK8valy?RG_Td#FWAC%Nr!>@%wzgXX zQXkw+Zdv887FOPuR1`4rF6$kW&^EDrWm-43hc*88M9XZ(7SD>8RryF04>RUbqf zDWYq*C);}5w|+_B%B_q0eQ#{xBJDn$`r#J=@_S*e{SY+6-d+_giyY~qOpimTktshgnsi)o>FkT5!Y#IahL2{s>^EoV7-);5 z0d14}(@H_XN@cdNF$1%u1n37y&t8zT)@bc+{?SfqgMkg1r>r_KQNwt0dq6ENG$EfGd1&RRBaXx5;KjJ zcuwZ^xJYnG+(eI`emPpcG<-n>6pT!{P-1uTM+D9epWAjAlvWKA`+l6&iT{Ro*}=4; zt5!_q!PcLoRxIkmcEO!v=Q9|4`~xHU^qkHS-RH;56L2_DS`9mbji>9C49Dzs&ukzB zgk5u}ey;6^{uf~r8&Wm)R*0Th(s*zXpHT((o3vHOqgZ5;q>nBO&vxDha1j*BjNKQ_ zT6FJs$2ZhjyccJyN{;A`B74pyu5st7T_QQgn5}}+^j6Ag{r_S;8+62~;v&Cgv^Uzs zish1vQsqjl6WPoFFnH-JCw)OKR%cTkB$PF77spo*3OZJaUYdgiD9bi`h1<6CZe$-Au zLT`DmQ9`htWnhMIQQNzaO))ixJE-vCg2+q#cK7xASMF$nhUi@dM-j+pPY(?$L&Qq;2eBG)X2q4oVh%8{5q0#)n?0_1m(PfoFxQyZ2*4VP8J@a7+$%H~JX8#+1uDzX;A?Y0u2Fw&;oF+*h-VV5Ycr z?Nryr&@hQL4vG7#Rhh2|#=T%}s?CygzHQ?7_E4jb7ME*D9}z@-SnAZ#80fb1&~YDY zgQKB-q?>$=cr?+kW3tcBF*99guoqBY&mBqNR*Y>6+BiEf9zw~o+bP1@OgaY_91<(T##zH%7GvPiy(zB%NZ9DFrOtB)5pgcE!&Ke-UD) zL0&fevZ4f(xCT1!q= z1_fV5w@5V@GZDokLm8L?$PrVPpB_67+^on(vAA)!JhZ8FQMS1EB`UqiA|-cnRJPwV zWMa13e%*yF_)qZFBd3qKAJ`;0p>Na$UTi5>ylJ*rcTca?mU)v17zxB<$$XgS`T|r1 zKvp#jcn{62lFg-TblF7lvZxQUNrr{RZMBf+kv#7;fb38=yN6-h+;Vni^Syos8rjzX zN8=oNX&bSaC(wH+v*96~oe2oAoDL~nLgiA1)HGQZs7%28!@B&PO~F$Pw4g3v&#S#C zn`vR;jfH*80Mlx0ogUW^R-iZZqHb;#u6GTT#eeVulGdiqa$4)DJD=hgrgF1q%!ub$ zj@rQ*FLsj*PQnc>kO@A{GobZ#{)*#9EY&DmCDbH;as!c0zoaEMwF)|BL%m&A|B^o* z|6Q7(D7|1VY8q2(JKCiy{Dy{K5Vn@j^)m->d{`>8YJ zv><%`;3Qu}k6jNJ1H!9)l3tgNK9_b8esvye8>ziiJ9eSET4aaxU0RQJn#6I)>fW?1 znJCuZeP%5f%pMGKM3(lgrtF=XwFR>F81{NaiAOQDAMog#fBU$NcScKiz?ihn_5%Zd zIdO;{qqeqjO7-@A4{g$(bxzaOCx$2q1`@F`f1yS!e2RB0YcjiM%*ZAQ163jtB zn4oaZ3;xXn+x5Vd=w}9SSyr z>Ws6Do+?YI(QE=z5+&W1=iVSv)k^_d7o*Q;LE zqQrVy8`AERW--?&Ni5r2R>uX%DzrJ{#TGrz*G0~LGz{vmQM3&L+>0f-s{Qocb&RvJP>$K{K z{=e}3Cz#z?Qg!c(9{-hvR{tR0r$y2uJ+H}JW0R&rIY`r8vkt1pD6vM^Zoz9_*&;^W&cLkf7SWA!mpe~fvjf7 z4c_LZ!<+9ZK0?IwAI98rM%bEvp2Su(9}U?`8u$&g{a>c>f36$!rv8g=Q1yHLHrJv3 z2Zrx|QNTZ0G&-mFf4gRM*6?4}{M$JGEvR3{@&A>e20VOr{|kuM1OLp({uI=c^u#B> zGFQEy{x=Y(L@wl|Rpym)6sr{9p?FdV_1ZD7 z?41}^<~V-^OlVmRb5E+-kx642FU+{LZQ)%96~b#Genu>$xRs4sKqr_(jk})V2c1d0 z{pZ4oOsO<^20)laRqjLgfbUfqx3`nim-<|&j5Q{Aq5}$@1$jU3&3L_Oj`ZmOtfH*T zd}=SMH(kI4MeA@Pv@0nnBl#PzS_x-s)%gp%^Ny;5n~kR1uUFzpDx?Y7VjhE6Kg zdU_<;1zMU@v%S_#-C5JMFZSuJqq8gcfkAr^;vu9y2%&OIrI!b9ChlOL6J0UFjQx^A z44va>vWH;3QlkrV?5C7RisAeDPmfz=JraIk;MJjazmLZ^6pxP&j#+h?-?|ScJof#8 z@gF6C;Bl9|b{hao99+**iWK5YvP^A_WbBb|hZ#>YE;Fltz^u)OT7H;Uu%4%|UnvXc zYt5={tEX;OY;5m(8Pngc-7U#^&v=IAG2UfgwD{g`9{+U(qjQOd9oly$olIxwAA{sK97KNu%KHc%|oKrm-!P zd))>hz^|wf6YIyvV}^TdzgR2$A}WLE`--rfq_56y=Vq3Jv3FHJ9!t#XFV!z`NFu zm%HZqOZZ8@NChx0Kk6N!SBRyc9%;n@vdekYZcXHZN0!yBDWF3i4(kc*;@QKioU#bZ z(nB=%0D$|Gr@Eu))-XSVo$Yn0U9FnFGm-_KLo6Alu<_V~Sag11NRBTr#(J=`j}7$b zbuOHZn>rqU>fST>f{S&G^gVkZaH9K^0-X?D`?V%dwAm5u%a-Gx%A8Jo)!;aagQ(f~ zMNOB841j~!547qcykJF?8XNu#s}xHqSa`x%iB4S?M?x5cP&s3;r^ zIk-bczl&7s^8EtwZ{80}232KwxiV{x`#zQpjCE<)o7pw@?E)wi()U#~n0w`-k|FzL zg_0yp$8}}Z^eKMt`||j4FSF3a$uA$aArW2kP9~imr*4f&j=-ffdrV33eA*ogpALIF z+TgPAHTjN6YAm1)VRF2&S-`r;EU$@^7(zoA)yOpT32GO5t__u@ko6a)kZ5iDa;S^> zYs-XNxIZw^kkx|OMUIYijm8TP%{mqiAZs3OXcVs1hSUO`wy0DNS5GwiZ_D0*9Cv%r z7B;sQ6-h0P1GE!$6;lp`S{zbZGHA^=4R+yyK zqj2tTEJ>a{7?YW?c>g}hvj~{7>%da2EqoP{cFEY(Sk7(NfR$Rk* z@y=|=accjBWfXW*=;J>oF$Sh~2uI zX?O1VN8JM7Gp1ER$hvB~TA|tW$AHK8JG4q#+}NK#e~kouKk#yPyOLc401bC2oKQO#A>jzGlgmgNdJDa_0Vlr1R;>_)ox(a-xH73<` z$bz-cWJP3S!CZb<=3#ObjB5j;$BatJ$^^Z<+ghf`^RvvDfd=gO(iH zq1CaynVIx=gZDk@uZURT?pr^VY=o*sn?SOyD$jRKHD$6id0WwmES-<|kCP*Lw=jQtyx-7w zc{YeNdq{hJnW%Z~RddmEJjp{+_EzO8<4YZ$2DRm_!XGWn)=DJ~j^VdoeL#PB(DUVx zdAHBS($v9Mx}KoC+HXx!JvM=Gw}Z3%BhTw7DB52&X)0J}r4FKBhRc@=a2y(xX{6^l z)Kv;qT)1sN3F@rozlsdI{V&?J}e?Ta}S<$jP|uV(ch8ciqD*%oJvNb)R+ zbO9WjD&=I2>}J%eADn9?~+r7 zU{BmNTYTKq&z)}+EHy#~P9Jd98@#x{6rDH<9d4~AiPxhodGri(mc;$QliR{u_+?=c z%n&^{>g6kU&tJe_pvXO#Z4(DeF=m@-#&!X`+}=npk+Z#GiB;^E6^vJC@Rqg$#(`E zbJ>(_w#sh%#l~RUgI1lJ=*uND$4W`1Qb^D7ywX^ZeoxyDV%l4e>Ys{Up zz(Dp2zK`-BPyh17w7g8zEeL9~ao-vdhUdLi1Z^Z?h3TJmY4$9(JVQ#44>{yb?Z*!(gwtHZaQdpqWg-T^bve9wR!Q_;80cC9u;~{Pf?KeIb=-HL*5r1|-jdv79P_iMI zG~her{>%}^#YJ>y{RW9$X-P^frAD6-+fjMRmKK*%-T0XKrjI-ooW8H#Xs);(R!ir~ zq~9F5>dE#B4kjFv>LL+5L;GGCz6T zS5CA;ZG8b&WCF3~_K4}mwt&+SlAw_j{4Y*R@S^w$t;0iae& zT)y3e_2Qrenz;SPrFL3L@0?10U{rNyUfs}z>9+$@=6qNjtm+wVf--Q9*BqHS+1Cd0 zG2P6#Mh<#It~B|VZ~>F~JVYZGjL-)$DBos|(IRGI8apNQVAIz9Oz!XNUcxGOJx@OU zz$kEg<#`FWx@dXfTrfN_Qt&F*MMPYN{H5$(J`Z!b?gWCr@oDo0KEr^(W6)`qkKtt^ zWdEM`4~z-j9~dz~Q?@B_vMmpX(|JO;cQVBx%1ZIX0Z#Of2u}?IhbZSF2k)!AnSbNv z1A)TEs+MAs^KDoGsbX2WFBYTg=_GL?fwJj|^~JKuvnJ5`IITgVaR1`qmZ368(}bP+ z-LRL^aFQuI3q8B|>Vq|5`}KMSWuIAw_v1sX4u*Jup0)28lcQ#qBaI=`**bm=d~rUe zzb3gekK~#h^sQ^CJTjAP+@5o=11k2Q`X+$)<^;NsWY# zo_h}sh-ntk$tu2Nty&Tg5Ek~F(BONexLJN@GS~ofe%+Che6c75$8W+?dayj zCzAV1*(xS@#AK8+L2WpzWw6Li{&;-Cj9Z?? zLgao>v+m>51*wH19*&ZOS2y*s=0ay;MVGTyPUa>={_=rR#!-h73Z&}+7Cto;#7a}# zd}*^j0AH~yPJX}NzOP$AG(Leo^-!>Uu)=Z`Dra?j=pHgpo%I+4Q@3yLV!UXvbr(>8 zzE3vy^#?}endD~v-4+l(maE0xBQ92DeDj@6o;kdiMPq&L5enqiaL)C65v5xSGA(>d zVI~HJ6BD$GfVX0P##WkCVMk-)kunSoNo0-39woUtBbf@VqlHcM@dkZ8&x%89i}_RA zzZB`v93{KdzJ7M_S{&o&L?Eo(=GQj}LBm-7{@<_(O|pLW#YH!bxv}gY_%UGOK4w^p z!8hzg*=DTVmd)!9)O$!BYVj8eT(57CWPRMf`{d!1C+I)_cI@Q;8T-@y>&EVcJs3I# zBw6@E1J|QPv2y3=79R`CrR-zqWDH=umiq=U3Hr%x|HdX8`p-y`2|IrN!(ZrOUj84Q z|FbQx#ZQJj=s8>0zq(#k(6dyxA<28}aP>561Dm26@U*=53(5`=nfWWce05e1xI*h9 zihNNP0(=>8+2O^2HI&NRe;D%lzVlbCV@DWs1Ftw(lXg1RQ{WA0`c8zs}uYzDu8_Cxxhh-vkC&fZ( z8ugw6VX&3Vm}SMiiqCvr%!aNy1FtT5WFy+yyx=kK??OfuOx};h^2w%aj7n5wF zD#4%R)`ByA(&L*x;ZGl-15J-kncSSk2&2^#z9X`?TZm0RKT#_$h8bBD+^y^`d)&ty zDk`bXgH4ls%l_6ATgvA)1^6!%Ql6xV#6>P3?9^h%rws!+v@`wvSiZoHWGVHBEtlQW zqo#4b&I4|$_27cCX+QM^75Mi8q2zvXs*mEJvf-p0P9`kULhh6lMqQI@uUE_RDY0yG zt@oj36tC6RGky6M10p8`L4|4r?9)9#En~coh2tiSNyt_g3pmMHbWOiXQ8|qSPdvQ15AC6)f}XE1kc?^G*8Mj2{i-Q>s52cV9+=M9TjX+GTNyX0FD2-yfw&S zso4F!oIFd961SXYB2MnRa7x0j-?2YkYRv_VW4X6_1=oAD>`Q5YwHQXA5dxM~`g%4d zB57bi-M~{y89edLed6GRaW{D}ZpZQchZ!}XFC7c7W@;ipmZ!KOJ#thNNK#KEH~Qv& z6V-)EBF<(n(?|1n7#h$I*f?_f{~mKB57UWr~}0C2d2t!%s?D z!X)Nb1$LTZ9q^CL5!qXgd(t-S#f~WenmRSoA__eRC-m z9fsLtW*6pcpC;xzf(O3YPp((AsmmV56h}PgfAr}p;ADRroLkWm8WnY(+7VEB@l;SDkQDf#U&tAB8%7g5^6? z?hB|Q#7}EXXQ16DZxRWnBw5Q2-_@5vS$(g_n1ziGqowG= zbzaz0^|)D}K!=j~^u9w~*amBX0M%lSm$+>o{K$+j%dnnDWtYhW} z#%kq6wNg+0@#oh%C5JcM$4=Bkv#AgnE+HlNOO_Na37l3p9R%E>8$;n+O;ZC)C4M%j zeBzV46a7;VjYzFTiS+{I_Z1mcN$G{dd*!CwNXxc+mkv$OOsTv+uv%#09YqE8ss|K)x;`J%ND%6~^jG+%D6s%pLq{|7 zrtbEf3!$%lko>?vpug02x2S2O-o#f1dt1C}tv!h1hYE}fY}B)UW78fSjbn0Q%BAfS zUhSDwR~F|l^$4FAiekMBZitNxErvxIfc$=7=txv(r7qfyv^6~u9-f_wqWfc~{=jHM)4P|Hs^>xW!j2cI zz=^Y|QdHoEt4w50VM4CeZYcONBM7&78M8KCo!{-L=j4-OW3pAiF8|ihfSaB=SW6v9 z|MJ*9ijVXX{N+kt0-4_=QwryasGXQ)VQ`RFd>3IQk{D8$-|7o{$g}3mf1Oodsh}@f zCcUL#KkuSK&#&xE(tUo0-4jN9U$ft54%4@{SMpOm`)2A}y8+6v{=z|(a(jl>_;05b z5F#K*7IZhm*gR^70;uO@-P>}0YWJ4^u(qcl&hx-$nP2n%3!tBzjUd~OCuSqEY8RZi zxW;_0G|iJYm;pjEQaAn%K4`wrx9^*w!RDaVF-()`@M~ zwsrG+-|w#Pu66%8RlT~ps=810)4QIkXK!DA1zesz2NOHB#`d&%ACqIN=I_;<+z-xx ze}7--vi~ov9`Q{+ukS`9r_b)|f9K!=ZKT6O#Z@mvFCZM9a+_F;4)34QfHu`HXG%+R zrQ>0av(UCXE6&zdEM2OQWOE=$3^|pM8EV{i#cvNC#Bd@lEc-niDizH{u{jQjhQTOw7SgP}sCQw8$sS_nj~u;*LYKVsJc{lxJ93 zD&4=+ul@qLS1t#zCksk&#G=Zb+sUz_3gDaNz7nwK)jMr25RB!@rR*2qbo(~d z7nIp!YeBcnRHn&?IkHpa`YKmB1x(10r#I-JC}4TtAT;t$4Ai?rk^K8d{6C~x9t>0% z{{7&!ACbqePf83oFJF#?f&zLq;N3y6R1Ok7a0=3)U-JWeUQEcdL;pQJ>UY+0#P4rh z{Eb`DNuMS>zte9;O`%SGCM7~9l@@(sxP{#Z&|OmE|El|jxA#mM(OZw-_<00m^&1%f zhk1kleT&Hgp-VgTpM<_epTA*s$pVNX`K{Rhp@K#JA6V@B4XeNV`M;$0yrdvGQs02t z4s;`IbiHpiZIVM6A(Gh7iHUIw+r8BrrK_wPpkNv_^^EFh5-u3V?K zgs01rORHDdBaA>{O@H~DZomh{u|&`Ev%(xUFVw0b_!r28L1yy;x)p1A=J4y%h09|P z*ApxzYcclT_KgnxRFX1Tj?SadH127aOhhyo$0mK+4qpYcu444)7+gsl;38v&rT6c) z7nl!W#YJlOt7ucFXTCWnr4}AI)IqQ}xPghuwa7hM*GHa&3tS-D?GF!M@AEXl>fd!{-(F;ycFsp4 z>5*kJk-08#Q1VjeDPq4Gdzya+d#=s>DPBmTOsQ5J4x5)fzdLCJ72Gb=aA&Ngl($31&4n9Z^(jB|Qj|&p zi)XG1iwLpSziGMOC(V@?+@!jc1&q{?0iGDi)tv}3iBt(Mq3c_^=A%it=berajxMs< zy#salnWFsBHZ4bWP|&eT6>Cw@%>@_O+bMq%{pO03~neH6?j zS?a@mT=tAi`wabik-QL%AsW&(G2uAv8o`N7-3iHVt*dQ`Gv;l#_qbIPQ&xd=yNWCaQ<_5a)RPjKa)5i!fU*I zt0Dn9bVXH;j-QkTyNgDhZXXMrQRJwL9hqAFNb0W}e-a=eyI-u|dJ{_EMGSc`Z82It zhxnE<+e+exGkydCG<6`h;W+Y{BnHn@UuFexQsHT3Q5kKC?v^*j;pMc}qcEQ& zc1hF*JtptUZf!DxWV=fL zj*!Ox>B+Rp=E011AcillH&?$RF7kRX1LkUR1mOZ&D`r2vc<;^d%Q0Cix|!;mRz$y; zgYTP+rBWyk`uJ?%=!{JBd0kTzU~W&7X4?Fx(w+qO$a?xrAFuPz~O*OB&Bv1U(VQZR!I}C z*hC+}`?Rdo;?=k~&`otHdFph@d_xBJ;agse6k-Bf2R+rGGb6~P&~Z%K9H)lMLnh76 zct7lrmf?y)?!U3`myZ9QY+eP{+fV=J-QNHIF{OMkQtY#s67( zpTQ_$!>p#ZBPtZUx9BDM7&YpC$0+*(DHMSD0=ZQAUL@bH64TFCYk46`>O2oPo(d9t zOX&}Irc?O>k?=+N0$DHqUi0bIj>xQVd{4cysQSpbmi%Vxc=+E-4Wdq3+A1M|NtzqU zM>8l+jneGUO-Cvf+WJ??59#MukA8hPh#))d=`9Wz#tSiaUgnuH7cNCUg;tDI<4Mx$ zL?1ZU-@wWFkHZ%Tr1dwMhjQY6^=zj_#JAre7b4(^=6hSqwR*{C%=5SBt5uHk3nZu! zMNh3|YQM&Zjyn!?hs!xx5({w;2T!{XcNrIC*?{n)ai^|DHx89g9QS_Zr%IbJ9Jtr8 zt2fm_{mXY~(qHK6D;2jgi^)!`i0H^G{@YbjYUm{3lbDd-_w=h!9S<*K)QOCBKCfxn zsL}+r`P(xm+v$5RNb%%Q`p)zPvWg$@i7cic{WF_tykqHCgO$LxpX5%!=ZwjBM}z)9 zS<=mNE`OP)`2TyA;{Rsp|EoY=Rgl7Gc#>+n3oks(`F0?rV1%rMZFL8EP0A#K#GfnX zk|X&zqGh$z@=5p9jf(!Bat4cR87m?x@bJG6wHNVu#BX#lAzmgKQgEP{5ZL{_m=c7T zDk0?Q_c3(@l14-nh%yT3$$ulI{JwygPyW9G|9j&1x2Dtxijb!_?m&%jw2$F+~#b6V$fZ(Q$NL^ z^SvW}6MutU-v0w1zFlv~ z1;lXQ)%-<42I~+L@;Uu3pzl!dJ=&=wK)+i7yC)?kw2b&o7zpxxf26daVqze9VnYA< z=@eDPpbOi+JNfOg11U+HK?cjQi~za(AE_+3c`@jmh=|`$dK~}Ny5DgpCgj~l{sr=P z@%zuC`T`jNBSp#mS~0UXb#ZkzGqU^fopUg@{_&HAn3?#$3?CmclZ2J6tC{n6YHQ?b zCT3>hU}{FpBxh!C;cCf3%*MvS{PX`kBxYq{=42rj5cu(bs`CV#cY1lEt33+(URHIs zwY7V1{c|lzc1@a;m?eP#qiKQ>;}9mcBq#n>W~I$5M8;TIcU0}c&=q$5NpCDfFymy< zbs06u#Tr!*2OmRPkaYR9eyR}S)OFV}b>+7yxcQX9_^R@xzR~7()q3PV$?ZmmfDAH? z;`zG{jkerAr)|$2q+n-8Iyo#hhgI5AC+sByBu;0t)6g5wavElvFYZWoO3&5lndr^l zi=ZbJiTELFgX1X3r!}AjG{^!Rreq?+Um1@}2z0nJcf)M*C4JJr)9^M6WQPGHm@$j@ zE{Njos@;dW=Vyn0;?ZQLz}*5K1G{Gz!q`)GG&CS!whi? zWcLmWz`LPOxDx$v1-w(#WA>BIGUbW`8}}i++kq=FV76J{S0foG0!i4i(Q%v^C_{Zl zHZ;QG-D+}FU-R3n;QO-`KEX=_^F-+P1H$(0LWF&jBxTdZq2Km21=2dvb5wx3LPf9; zOSc82kLDfbigGB~+6sBa9;DZ|7z7&Mh$wImh63WfuQ{#LQCA@l-kCO%^%t_55(#g1~dH;o6BXBmZnlBYND7>ud_Pq)mV$D{y@FGAp&^tCtr6$flv5)(&A4-2hFm|9WkneoXDT4G9<|QFq6GRy(GAtRBp$P#QF`yKo z3061H5+SO53Qf&k2QPy>MiQq9`Zpp~DQtNNNLwmJ5Ncg2CMQG$#06gEGpUj+im)3C zN)ay#BNzt&uM9!vNf$*0fq_clTrfAe(;y!x2&Izv@Zc(vhA{9V_}073mO}W5P{w5N z5_}Ut6y~39*b;rU^MZ!x@RGJc62Lime1sB`xWL2+6C?CpE=v*o_-6(HXh{iTF9dch z7s?=Uj@2$Xb~qQ#AellSTdgUZoDjfzSBn|t#`aIjD{n)ODbPg@0HuPglh6HtAQxU1 z!M05gbdd+ZGDOsG;{#Wi86McjS)3Rfio1fmmv^XZN#fN)P1K)h#UWb`%|aKO>%6iyS&E+Sooch`*a6A_bC9}(*> zVh@HR%kD3<^xlH`qiN7+l$sEV2#wyq5gJ)7_>7_*Q2yz!@ajDn5p*bDP!)zW-<-!` zEl@njHKBAUHEcKDEx0#OnmMaToPF#OHb#)U@|2&1>cs+~SwcH+ko)%0e ze%)|Mj-H2z=3az|<}6R>O7V_wRr3xw|J+xIOAaTp^_Uh|d*Ke~MUqXpv$~u&xeg+Z z?L_Ep4j}Z7J8&W*Adtb);&kd7c|G)`%8_%ozZT^N1t{20WQev~=!mpy;z(pnwI1Ix z0lc^tIyG4aMIyZnnJA0jc0%*$6^&5rQ3o=5Vmop21+_ps5%IwW2>JdX6!*pDQ6cIh zlJ|vbBDoB`h?wd_1Rfbu?dBp2{ys9o+J(D@*o~eJeNKvG>c5OB zFZ>RpFaC~wWB1I~5%!GbNpOSaN%nyGz5rC*kq3TUWA1Kk+X1Jxv*)v}TO*;j^?*#< z{6MB1a9}W{KO|A{Cv;bsU&L0AWEto7)iuj*^R)#~^co8o&_fjwzEcw+xvc^WAniij z>h%X+?KqSzZBzTkJqJe)ZG-H_UqkLXJ)_=GasBbe@DHm&4hXD4QS9N2*tqrplJC+b z1UaC5jh%eO&BbQ|{O9-Y3%hsjujCcJJ~;uO*&`=g8UK@f{p9}0r7ZcH+rJOU1bj|y zIliJK&mm<2{FnFd`zcF^IJiG*M^3`!6$EXaUyZ&`eWcHQ#dCe!eGLIVIg{tU%$;BT zljokY09{-A_ln;Q+;;;$1A0yrKLY;DZ9OxUe07hW49O`7eivj(o{P@__>b@3n|vMI ze{DIv9{ra(zXoszrL%7B zcg%yj$6cIof{^omO!zhx`uj;mNnyJu(+`?daL+f`17Pjsj7Gx~Z#CM-F1yTyYG~bczWcLxwMGi8ft_T|yjf1a|W> z4Km={@VnyXuOQ7twFsPhfH$&Md*Qh*i8%X| zw*(8va<7yg(9Ov{@l@}k)K}Env#9&)(2mvJarNi&q=p}RKPEer ziQFA)u1YM;Kpzveu&m3k*ZU#}h6u(71b=C2lIYUOrzcSn%54JPMQ<)GT$nI z1aefY}JF)mpF(xqKKz6-&pyMQ-xi-L*IuxDw|vc4BbDNXW9 zjHVyFp@KggBK(wA$7W2t2<�_p6w>vFxrmugMafY{8DrsA@YuYA;l_eOJf%5k#et z{W?7As2Y#IihZ0>7M(FbgQ$^n!dv+?>dPi(ctZo}F>b@Bnivc3?%%-dxWvBDCiHJ9R#UnYUP_n}Uv zc-}MZ31x#l%$IH{9s)B)Fe7A7du~-+qITGU^RT&SKmLxel=-_7KK)$%gHE^=vPcI3 zF3sE2_q`7k3JC{}eS|Gq{p7`OpFWqrW~V+;K>LsU2cINt3SvA*Qy4Ft4)06faRiDPJyCWXbaAe0UL#vf zIIbeY9F9GEbf_YOmEp+B*RNTr^q=0csQkJ}4`zRNc4i!p@cIjO7+Kxk(d7&T=~wYD z`Amx?vrZb#SEEj(Aedl~o~8&eFUhNRcCurm536xDdEhJ7%$36>!Y6-?$rxo>_ZC5_ zWOrGvaqQxWjYB*jTy@6=*$zm!K^69gc|aBPYr^rg2JOsQxX0lMnmyMlkfPU3zRjzZpj*cczg?+QOecbiYx0_FlIv#D_s3-{F87;5JxNSE!y31MT5 zwMBx8-N2@R2oGP91E9vba)cC2%!QlTx%6kUF>atR_XVm7v*ym zFAoZvcNJH;B=^^I$G}oS3izkmCV!=P*66{#>=fL za|Z&;>3&*8HoIIYLHc#Zu9xIHE3Q{Yc24W^bY_;J?*15`n@Qv-^O>?}Wy595WFVDA zsi0Rc!GEAjhB}?e9y{Z>m$}G3*Zzxut-y%C&75;Xjw21To|Ch;}nZ0q*%$Dq!^Pr&E11Lsixr16n#HPn;i z6I>2-2jr&s=9Dj-FVb`ROFYyhk}ujbrKkJxN2Qh)ky&nT{Z9+4OCc4f$UI4 z)%gj{O`Ns(usL-$QF?L{xVH8Fa)h?=>gWZPrZ#?CtTTWLrUN(<3L@d9k&gO>Wyh>b zd@YTr8mWj1GhC2Rw60QwjP6?fu^oRlblQG4bS!x$>9HgVUi^Rt<3~#t7f}cjnAh)2 zI)1@#1cS{Q_R@KL+T%5H<63>qcsy;n9Ce<>O-r|oO8~f?Badf?Lpf#$EBCG0KsluI z8ugfQ3wxN#?0n65 z$O`|-pM>B25kDl@xlgoD^6SQk_2_vmJXtciyEYA;lJ11B4fepmOpG=%P(hj@E^IQi zRVMBz43;M(A5{_h8G7<*Xy_PPTjI>1NoXKHO(2yq<D}m1jHAsIgqO(F6DpM*jB{J5b8}=V;RcR&3L6 z(st`u)a2geqENXdeD~sf3<$@-P&9hvcASJg0UoZuwv>V8rpFB zLBUzA_x=ezl8aI?fC&a3V+jEY}C3Jz9ccK_rYqGTt4_*{*o4YY?Bsi1XJ{7 zbRb_Ux3R_=;Y9EEE=<*~0QoaCNQzPTS>Hy zHpln<0l2B-wUlv<#n}+oqRvpRVmg zc|vwGbDI-(yeVz}&vFZQnM`<=d^2Bri?{9|n^uOScO6(XhZnU<*#3&yEJbCrvXx1}iio}A&yLDn6q^}qBX zM`|w{yFxRlq*2IR{<&aX^XY@=nT{&#NTin9VguS5l)WW(i}E@H84FXOY<-4LOdyvSd$BMJ5{d7UQXN8&9JUr4NkapWYjX@zl~iGQ@mg5EKt=Sgc4Ez{ek z5&g4syJ)&_=DS!u^PDq#fbk>fzaQ&}pYynHUY||ArqrKA8@ZYn-9biRse;X43?XdL zaUsJ%!8Iz!@S0ZI{PpWciR(8lIUyOu1HJM7!7WCqWmuUhAt<}0(_~j2?o1Hmr{AQ| zXSZBaVYnPS&uS1~R*st-j2sxl$%$l$h>G5;x(2sAd#^Oif|~yBr5bHwGgW*kS~$m- zLav9!5!1+?!zcR-4$aHZp`gcBz3cm*Ry(wz<{LC;%DA<8Kd;+kp8#1xk_l7x){JrA zTi{ZKL+AM_UX51RIy=b&#g(Yn3keae^!|+uH!r91aw?BK{UA^_E?t-C2a!z2&~Ck# zYy2CkU!qSdBZf%iA{LZotYe!yNkDZB{ec#~4vvn)#&-ACYr$RG;3=onJ%d2t73*AjNl_@Dc+6NO%taeVH~)ZcGN%D|1E$pw(G z^2hleCf51gx45GFudI%x+0E$ z-1@@pcQ^)?-Y5qW5oeNObwo9^@lGjGq2%Iy+axl$DP^y{A@NSveSQF#-;_e{rVnUeiJ zuB_k!R`SdWKh1!9KczD`kp~N;_Lvfw1&RC2iRSp-RaAIVdMfYN;@vw&0i4DS93O)2 z7Q>RH;b8q<2u3oVq+B}i5H8FbR}ZrECokBxV`LfINjvtAE*Th*Ho2^=XRX|qd_@@f z$j*gn%8RTyrON!me(9tmM z!f-OjO32o~8(aM5&y_|71!EDncBMpqFm9~{UA%-f7WD16QAZkSZz~G3XJ;A$Uwo&Y zDkWwjDi(-gFztb|6wPBDZB(gZGk|5v+mGdvj9Td)fkc>ayvPL~QJdntD2*42-s-<^aLT~>=k6vpawm(FRY7UV2B$ zi0Hj4>^X(qDWY|uf3X3B2TV_SYI&j;bd(AFRfM4xy)m#U8zP&65k%igo;!7LhcSm* zEtC)y0>zrPPFbm;zoTC(wGU4)?9UbC5-PpEqxi>XA<(6rneoN;|{f)4PVEor#m?E&AGdZa<=Y;2v&m4JJEtt@X4+sT z;fA7cIpTX7eA&Ea$89m->{H9b0Q*T)l`aAqiT;*7cM#*OSFNBT>GOsfQ5 zLoy_UEcKX)3s4&D{a3-QICv+ZBDnL%u=k3>AJmr)b4{{;44LZr!YNh=r_&5S-y#?3 z+O@~5E#kYp2R}Bhk_r?VYY14Xx<21wg9))7O)&)0`JM&i4LVQOi<5LeThZ7#j*76F z>^IogtW0p7=~&-U&dVSdaly?3)AzwJ_}#BFl4tRYUs=)=+qR?CXpS5^MW_lHs(|0`CWDeW zQinctTaLRnZQZ=%YH&VrRJrdgE1zUd{!ph+bER8G`w4^o-16MXMdG)l7r0)n?y(MD zQYhctD<>{tQTXDY1%}FTe0|QCg31}z8B(ddJ-uKqy6&nJs9-AFmVvFD zxa(aIFk#FJ$Hzt_9cXTaxRnsO%lLw$2|;+V$y zsx6tpA0I=xR_P(S;?QAz{Oy76Vk*$BoV5fBf2{YXk~wuw#LSvlr+5@|k6Ppms$@@L z#!??y8}du-Cz;|ZS>W>H#d6zP0@^3g{736N z%qXc7kDA&x^$=MdT{&q*5Gh^xx_A!rZqjiYd7=rFzBqVI`43#zR28n3puaOYh08t0 zi4+-E1#Hc5WTxvl3L^mZc^QThg>sjGY*o-=zR#a@#Z_D)AgM46i8YAV(Z%Zy5_0Au z=CE2d>A6SPtiN!024K*mSj-r@h1Y=|w?1B0tu3KnQG%3tQ;DnHg^w{IePR4WXpp-? z561S89(W#E&h2ffYyF*lWmC=$PE@M)c|0M7a5L}8o<6em+!X`!8oYoss5-ib)SZ7i zxX&^bSi&xx*GAFxfoC$Ejs1jDS9V?ZgtC8p=uI!#4w}|<5fUEhBO)z-WppLL^adpD zar_daO2lh>ni>kZo>!NdoFfX8lgMV`>ct0S1| z!^ouYY7H9aZcw3VB%O>OU&fUGYnR~j*!g&bi~nT3l^o3C1dRZlhl=Gh)}+_X*R||j z{$tqB3r|rIAcF8jl)(HqV+HTYB6Uw00>$mX@C#Dn+&#)D{E{Fl&+6u(sWZnsjGa#eIH#p%L5 z&!_bPj~hd3v8MUV%R9bVbz6k~sBFI_nxLH3FRHQRRGRXA4LV!c)m%kt@Oh{#V4s(= zvMLh7tpMc2B1j=T{{k};os1gKZV9GZ)h;zBF9tU5XOl7y`uur0XC?jrv~ z?vks5VgjcN77a}#)l_QClvJ=2Ui_|s!gj`S@{tW7g$acT0S+gu#(1|~i)%v!Xn&n~ z6uoKD|3c~%z@BbjYhODH_9yUD<;x?o9CDhGZ&b8-l~%A>zwgyWQ-V8~|FlbEzLVD( zj~`)o5@Hz07rT(QN!+8nC0C9V%aI|J@lSf^d(i+q_+M7!;=NS(YmIhsP2xE&N;&~B zZu5*(xRenc1u{HH_jZ)P=iI94Hf)+WWokurQ_1)4)44N#MXD(2Qq#s+5FBcSztG;u z-%sIqLBfAKgeyXA>RmODDaZ8T5Oio6sLd%<%D9p2&?w1MXjOEcNTu2Q)ZTPwD{79r z3h#br^QDbs;E(aC><72Cr5;q?QRfMyipn!}nWX=fxU8N3gFuK)uQ-f`3^6&T=Jc({ z>AW;-b0B}~{sKZJFx5#DK<{EyEu!EEzF&8H)f#(CdCAh6>?6@s6kKqc3Bg`Ik!RU$ zR8=Z7%?v)G7c9AmCsV{HOhx+VFP=-^AJK#|@)w$;WEm?tT%n4;Eb|GI#mVFY@}jer zJi2Xq-kRRA{$kw)(0_AFDI}tclxI<`Qtx3fGCnl1uU>?vkU4|7`)s>VhoDf4RU+tK zjGj2~msu}2a`9SA6yQxh_1In!pl2LvO-y}ioDRK>Iy;2d4EM}PS4`XY<6qLLqqAp? zhft?}_&0WF>ln2Uwyt)L){i!ic9WJ$E8y?s4dJ*#f8^xt)7H}lvPRww5~{$Kw&5!1 z_>t*m*qJt)H=B8wI*elWuSov0Y9d^N2niicJ=D~1Ci@OK_SOTRgR_+u^fSBRrgh{U zM2XbKyjQo-)g!jIxS9(&%vTHeQ|}FpBT+5QC@+w`o~f36!c9hF^1N490{6w%@ z+xtkyqI6K)Ox693c(tCJRHk|gyfOHL|L4gAzcFjXs80ENX1dY-v2F#HLFP-WR8rVu zT`w$U!I(#2dgZ{U<6!S@RvaMGWG|SZT(98vOKmM+f)A>{5pNSgb5%BVNV(+N*3%R9Pzw91T~%#7NvTY zuK^{O-mR@G&&!oXy2C4}&5z!`$fNPk@neW% z(j=hzVVgeL;u?|~P0>!seIn&Pd+~aCvZ;KvB6kG=wErC;iR>bYq^__Ak@8SvRnkxR4)Xa# zR)P!0VP&oaw=T=aL~phcU21GS{;lhTZD?5_@SdsO*;ov9vD)Gi)-RU%KeCIK83<1B z=bK)kijA)?*Eekb7D45=&rRoK4;No3l;Ub}I*8>&;N!1*BdVfHC-9GGiBy!ibkTDf zNF}3_c}tw+WNKxEoFea*_7@TuX|r1RyN5<5I(ZA4%;?u}p;+JTv#{!KFR!mxkZ1e| zsc6uC&vb;+cVB|eZPEOaVwaCnr9}H8V+5EjcBQt#kR}IX*yg4UtbFzr_Q$DDE*e)7 zr;(#I!pWle#gP&GsdQ+a=0`w=k4-l+O^2zpR5 z1~w*n=Jc|$&vTdQ0)zzeh;E2r!CY|DVa`T)yz#n)m#N3_HGw}exQnZ9jY%PU=rBd| zxlk3*sP?FxQ^H_doE+ys<6p#*&kES!qhVO1-4YN(`CWOgxn`8y82GdXJ+5J*d_-CYX7eG1xFx= z_8OAU)qy{)OTS$N;@*!T;{Nba#}k_NcJ6To+pBl!Sb-IYAD0aFcyf`*>XUQ69Gy4Vcg zJ32z2PpQuakf%*9j%g;1%1UO|_GsDa_^Ot7v?)%Dz)mk<=e1gDxPxHc$n5hfC*8Bk zM%~+Ue3_Ql-Oh`BY=85_XQF@Dm*sl~OT~qTzrKUk1O9qT=6@oxik!d``OUZPW3 z6=4nb^&rq#(Z!HOPnZau2+IJy(E^p|dH2sJ2mc4bbNtWUlU4insr@O;H ziC*R<2VaX{FrT>$^1L^ejT}jn6XnH?*aI~*s>VuDd@ucWfQpwV~GoH*2X9!yOw}8h=hY@fzQPP&#q9lBa z7tQEIcInXibt3KY{uw$q#9)~zHF@$T?|+eERDx8q$Z%hOyXIh}{~`A8tj$JYsvKcB zHg-)zzO##_f*8Q=|NMKOcak=s(!Zyuyl?egYrH})(!?+NWWl^wue~>e$Ns)eP`5YY^mlqJ1tR<|tt zAii&?gE%r1O`~CXMLG~Bv6>gW@^K#4@N?}*2qt*1E&y&^~yoK@pUj_}P zTsE7~+LE_nhLPZr+$6~)qTB^vDh4k@+qJ=Pj|~^B`f3Z~Ej*`+V9wr+TVfV zy*l@EGhri;Yi}ky+LY&FaVln`%y7inmuyE<=;;#w%WX<~|X;{`avp$pKWGqEmjt z-Bp>)H^o(oTV9JnQGx=JKVTKff7NE3Oo*jy+{bKIvX25LjO$m=p zMc-UttGcOBum=$4B)q~P?N!j5%NQ|>*~2DCSI)W6%WIa+8OY^S&fQ@)hh3>iq5qZ4 zKRqV!=bGZ0yi%V;Ox^D&YgFC=y-xWov~_@Khf+n9bHXtnzSvtim9+2o`%J;j@_wW* zvbU`l8i_*9^~TF)a~ce}Y%T}c7VOE`um3nuTS8B%R-1DCcfg+nou(wtuME!};N1og zwD!9;^7i=9@Bq`}#U-NA#S;E5>;vQPjwwpinV9oW>AWk7( zP;h~y;RWbRkJ2ez?U|i)3XZMgxs#8{pLcQ-Wbsd&h_PI4Gbjk6d31>f!IWJWrIwOf zXio+KV!3_e_(}29eZU}dcG{k4WM#sq4>;ES3x_whIi1g8q-y;KfyG1X({^q93bqhw zj{gP?Ni4!5R{VVwX9{u9%=AG#`?Q8|J2!^hvw6|o5;6$zt(apq??5H;84fS(pkzh{ z?X69kn{lY==cd`S#{OYr=WSGS_z9cB^{Mj3ToTPWZIc#T9Lv023cRx2Jbk>@?Qhj& zNUmQIk}A}#ZC7Usm|Dl^u%4X1dW%e!wtVCaIlMx+k>vQ&yxe0f#StGFG}#_cM`JrY zJAwH|DraN0#gupP(d_hlFVBp7JVRy#3@Y;LL%Z>IB4&*twoQl&mDr0n=?wpr9Tj1) zC00%3I@eFSMP(X0Jl4EIsnm9DRr}i}Oh^}>%-t$g<0$8%B#E_yP%)t`{~M zouNRj-G_J0up)mX>^+|FYo$GwN_#pR2_HmI0SyymuNgGIdNjwMDFTO7qY-CH^@Thc zgYWz!FM{l}yZ*9CHceNR%XPXZ(_>Sbup^lXzuEXD;~YDbH!?k#rqSjL&h-(;yS8)+W9(jlOjq1KN)mOFL-<)rc@&)&=}hp}Qb zGy7JM)bJ_^H~S_KdH++1k7TY?5e<7|f7Qg+LS^hv3j^T@5wdI)L#VJ|AwC5%43xvU z=qoX(8xF1Nkt85+RR5AY(}?IJVbd>fNcB6Un@@!oS&@l~IXBjiLhFjf;@r;JiQ@YZ0@hQufK; zaR6Q<$16WrDtI-ggXLwzf~wj++oiv}wZ7Uu=HYH%ti!M1X#Hk*kF!gWp8PpnM-lKi zpY!t2?oc~ZLDY7Z(@wPPiWRm0gssLw=HX-1j?$d0`)deFmPjOw>r=*`G>Y6a)R$*~ zWr+k?M9)5aZlIN>j%~)wC8?m?KK>N4wlwsgamXE7JPr9@WD3hJ{*#F@#mWbV+c}Oe z6hZ!TDt|{TZ+=R4qZN5VXP_t_sDY?<2lk8wrVxu8eKH$&PAf26saRkxJn4*$$%BQ8 zINV!F53N`lO)H772EacfVoUsaKhi+r zCbZiZ{->LRGoRPAZ9a50yM)hQ5t{Qex{IVxM4}x}P(J&L>XXs#riiDAIoE=%yyeLD zgi|n-AWl}rwCBnNp2?cuOJ{4MQ^7FV-3VD$-i?7X(C;SWLlzl-+WwY|oM(@ps;o|E zUpTeQ$p$s@&pbYmE7gA{C7pb{wiG^kR!2V#Omfh3nJWuPUjg+ddoc|@o^Sd(?60~Z^1LtTf7D)HPu%;- z3nP-=o8cUizCo?kw&-lJ=!38gqQ~fuKOA7g=b}f(LgYP#dJr9t`J6)`yj_vN-W^<- z3hgqMO4w|MWI=%l!&@w@hMeeo3k;r24e6PZ_tvnCBvkK_$ILvsgqK8^3w^rcHxPdt zTM9i*Za#L+PlPX=Zk(#>pR0C11~{mzsR_fWa%esqH0e2lv?8I#J^oNZ()7vp+L~`S zRr~@rxO5cp;@2sus~gD;z?v?>Wh0tc%U1-`_nb_N<01GktNzIj9l|tCT%=D59dgG+ z#~l3Q&_Y0L-X<#pzJ}*lx4}Y>%LcXAOxXQWCpLa8$gGUw!}e$uQ$OTvLcoG(yrXGG zkFjSGSTJ?w6Vy5m-u<&?iAZz`BKD~6G0pR%2EugkKO;Xd+^W|qym$77M7u;9G9Gx`2VXV#jX&~Da zfa~Ji2(K;cq@jK6Oj5Uj!bMKFrQQ=OyuE3J2SM|8Z4TPjD z5hYT6Kowkp^fcm#IR<+)WVW@;k4{6>pU96T=U;fj6=@<9gZnm()}4G+iDWS>3OiOR zzq<2J?|&ZO43U)}*VB*}*>rJxF$ef=3`g%tdGs}2HLVM9q#yFJR&2E#tR=Vl?qu_Z zPwIX04o+I+mH6>K&PO?|c$)w<_VeBg&m@t)P(NhyCVwLhU=X6IYh0DKzsQ>1etgpuO-b!F^v)a^(Y#P21Hwl{C4*%j44s z(Ne;78yr)|!y+7$uH;=c*>2{(Z1`8k``qn(T6?qYitAAtLuL08<Fw-66QUJ6zm7XmEEA?(Xg$EV#RCaJksW`^?nTy!Fo1 zeE;UG-c{YF_K&XK=ls~+yVnwLDPifI*F4n;`@>{g;8I}q!NC*Tmv{9G{xtPgSz_qP z$#L(zQNy{tlJeRWbJhA@SeHYDW~_T?BOi5sSMUVR2jfQucCrUO9hjdw&*<-=M{1D> z#fzEHe0676a_D@_2- z=SI!K!N>6~p}jbae#={jA)7!V>PGqt<$dj!JI!JKr1Mzwb`r*x;4$#;_z9_?%(`?(PkHBL%9vu&wEsfX~6 z@|&cUzHOs?(?pkwP9XC)`QKwPSPPbHap@iD7P4L6$^t~f9xH+LjEsyl`-gaiI3Ve@ z6i;j{eWkkJ^&NYzQGP}XkoeWfI)B~ zq9&+>iM^HjvMI$qg5C!)J>f#WL3ey@BqjT!Q`R}p4|RHnr%^gp zQY!nn#3Gihs1WIQxALR)V3%jZ&Fqh0S3TTlivf*9U=+hB&J})~MW2<)K80iFo^oVw z+5SjN00EMP|Mrv|CbaZK3iF?qNLuow!h*cS!~;>9>Dn?1^by>gTkR}Mk(C!3HP-Gc za$T8vxg13x38q=-jJIZT8bMRZyit{*qLQ`Tm+;rLayrmDLMc4;CLJqSzj3#n>@+J|oApxPIWgNbKl?3$&` z87BRzc<3ygUtU5s{;Mp^Pa~Sr0&hFJ58?3w+(ojQ3V4$=-=^5*xjY~9ZI#dkcE|H7 z!fS@lE$~^7o7m*n?QOD!L>xP(3FQ~g6lH0B-sLDQy=_luJrnG4t{(`*9dMZdDiPTCHAJD|@czXKZ zHvSs*7ilIUHbOGpX9lyR2Mvk&RQ);Rot@pLt(cMD|rSr=L8AIEYxenA2;5cO~tFEh1stJrFtAL@=6$DniN(%g~009ko?1;s@5Z z?1e6Togr;WUOjU=(dy&H{c&!A2tA}u?nKQAV+*~+{ZA7(Y*Ie!`9 z%Qqb8`|@SU{UFk*sVYAs{_V9MHnMZ?({h9m^8IW8|Cq{IG0dBx`_DWBF<~PBb1YuY zX}2BR#l$5w;aPS|7A2{9oT+NPL8L^MjsilNhk}{MXx_Fcj}fM62nG#2HU~5vjDnG* zpzoNJ0$t8EwyGi(IcZT6_kHC2r8yQk-Ga`|x%S4%4U9{p5Rp}vtrAGXUCVr%;IWo> z_-}5~5x@o4wGvhW7a@!c;@o2{<&$!1i|=hNb^|6ogj3_tc*fgTCzLFgftLuR8Deu^ z+a#aoX!?%FC8!@b;CK0Nl<`YruRro+eUn7vsbVjth)FK!Y4f?LDDF9`0QVx)pgp8~ zRE_Z+&mrp(s*cn?uwN zjH)x`@Td`9BJmHug{;|H{1m<98Z6lZezE-`L*Uu8ldNekUESRHvZ-OuLXGRWSsa;9 zh6^_|z(XJ0i1O^@-JV2`K=K{G2^XKo5gL>#{a5s!I3Q^M{vp=!pi;&uYJT77UE=4i zgi~Dtr=DlPQgf#`?`TNECSNTEmI?H^(WX9s5vp5u7`Ksh^x>2skwe^ooOzs}&N$>V zo0sst);U6$|A^q_4lvz^zTFp6gnPrXHjEo4Wu%=d=D|1yS9?0%C2knGc+j@821{s3 z`51I(e^wg_%0|LCn8i0&lk4l>pexx$_65|A>&!&rA+k9oDkM9_b2HU}DVXhCTC%5V zta&>h$IaxysGyyz`=I>0e7Gg3;P8e$$te=w^!OC(1E>1P9_@5)mv6^!5;LnFME3>J zTgZHMQL|xBA*^YOJKfCIYTpB;-C)o%-(crP$at9g?^l7@9(e5ZwxdI0H%34whyn4P z(cN$9I(!WVM|-BbLoo=*rD+awpTz9)H?wluwat*non8h#6`jDM1ZYE146cQcZ95M$qFEQa$F&t(B zi>SLRvnyMSiO$yjWnLfSG+s5DX=s^=V@)(qE3?-xHW%$0%MSj&WUC1HD!m@y;bFdv zEwm1>*Pt%TBG_nSb z6osIOt(vu1_vlp{Gj#;ovvR0-8E^2LU_|kpDty+fUYmR{@sbTQMo^4h(u*`TUc-yD zCJJCG!#bON&f?49X}t1Nn@edBVV&H4VF*!ZpTqpenQBi&Kgy6c(@X!=uDTZ)sg2rv zQa;ubOn=6O`Ao0K{>AUSX~mkIc4>NOnKfkIcF?eYs`^fwbxl+j13JP_TnGx!X-NRd zotL{n8&n1Xr9xxiYdp?g?^A&%z>eGkJz?vz(+qn0s0tKA)(HS?`p6^*qw$PG4a zU*pv$8)K$1)v`yh53$z&>_L9k{ESKrE;y7SwgRPn*dLfG(#+$mZ}+-H-mcoTNC zQA3|&FnQ94C@jRG+!Kk51)SMb_&7uF_4e+&%U8Mi>pVcr)wV_@ZfX_vV*M zHvvb)Y9*B%If3cuiCa4)rxDCFogZ=D3~v6`ndqQkcY@6U=A96{0K^FFAjb86a2*sH z;-j#?h21MLiEa8+aTzh&&dpO#Fqb@gQ^hxIGsItSOV-G&6=>SX*2Zu(>&skRT$*SQ z6Db&x2cmTVO4`H(tkcR(oPh~!WXp7UT6oyN9OFrxUc}$KihjhTwe@&0^^~D5u>LmO zJee@9aT4Efu7!}q>k#{%TB#P!>}@-m-wd#A?gsy%YRnDaAr({=;g8jr z#Y|YfP_l+2kJU_M=Cz_tOijfIB3EcWwGKYj!tZ_Wdx{I+0M|P@IPD!QS!*`UWUlGh zn{qh{1L1`>PmI|8nfv!l3_=L~G6@YbG<~5FjcPUc6aDxov8f}H_C)9e2*;`~Dg`J5 zGFZOUo^stIp3%B9r4S9HpXzHPf~dEK2YnnT2Yu?G`f&5M56nXH6?Bx8z63J==_jA& zCpQHWHd#nkG&R53V{)jomYo{%p+|}LhP19RTW|g8Rn;&pN?jcLl!Ta*^J&RUNf4N* zs-~7K1gQg)H0Y8P##};2TSiB)rtK>PwB6V-N~!Nr)z{HM78=Kz6C`HMT0qSSDS@;e z%6Coql$iKwH8m>OvE+EQ*$(R#PF`~JI=Jh#JjYJeW3x=(_qMWtuvyTfby#@^PfJe^ zWjU3$DnvMy$rViyRdG9qG)KuWYrlux^;21HRaaLRHf&&ZM;EvO+}o(2pHWgxw5sjv z!Dg#DKhLk7C8iVJCA6)c9(E_wi>mkgy`-F`ED){S5A6 zeey#hap6T^7f|pxTbtibd|LMJPjQe{;HCuC;je+}Y>42Vagc1RExB?cd?4LFU;2{# zK#w3UztKQwE)#4WI0~23a3D38$>^vDU8MMKVbcy^8|M#IFZ^1U4u?Vr4;;TEf@7o0 zg90fyA|ualA7&@)-feewPtM+e(B-*BPqzeoj?_3&yG7pjm&DxHC+H^hp%Xl#jXha? zkXVjK(_Vj$vsJ%Xt-loW0K+;-#ku|ub*eR!OfS?GJy^ zpk4cU{Mo&$wYb9L^&4)`p)~MEJri|OeAVB^pYK5ZNJxS&ci%k zA%|%7oPYpMEdi2F@%v_Qv4e8%aI?&Hiunw5{y|V0D@K z31k@+B}IDA95?(QO+$_;i1`(zzyU_>$DlhL{%lfv{QNSa{Q4I*TpH8tbgkV&66{;kX}`F1UNog#md;;q!( zknr1zGHFo`AE(k>2ex1MKI6ikziHc9;}groT6Jl{BnF)Kkl1#>uUG0tc0*6>hF%Z% z{n2CPv8`XX{z&ptS>9df)oq-ClqA{kDQL9Gui%0?$-^fdpAT*blHU*e&sVSlv35JB zZ|k+nCxn4+X~qYPLu$X$d0N*v@2&1r-@B!Fo|hqCnKzO z+!aJhM{Ww_+S!F$B*QaZ=LrL-715iF2*mY;R}jK*gl1JU7F4y?BqNSAGKOQ+PgsQt z@{`JBb@OFsj|xCffv<{DWv|93z8KGMlXCE^^D6V(Zkt{gKH2SF7Z)DCyvB`r0_)Gw zcD^r%na(CNZ>oDn5-E8(9xf<#ztWh#FV2vNd;1k$e&?FYt1ez!w#ydEHq_5eo{IH( zxOX&VJj&V?7(gNOLEcxEH%XR!D&i+>v9b!w=A^F*MIBK6*;;sII>g^uB7IYGh?3k_ zczis#9II!mN7qE<^Zj`)nTwazeqb|=)6w2;^X<{zlFC5^)piw6<+x2so=~t*pDU#_CDn)QY*tS1w?g}bV z=hi!CqoSdw-Ht@Ck`kEgdvD|46|74#c-z?tvhTOQa*I)ml|AKou}Ju_^;dX&7Q%o$ z0mQ2j`N0QEOycdF+Ai1wmiEP9*qzl*m(^_VFGqzKoWZ*qp$vyE?;Odc^=65{pR`X* zj!HEmROO~|9lBcjrNJUg_&-n1WL+9a)UMiBbB(i-K4qwEf11Iul*_9Snyad>ks^7F zCU2x~k{Jd^YGrBON`5^@x2WxMZ9?*exOD|$tCUi}pOh0b$>)CtiQVONB%ah8TT-NK zP`1yDb{{_8En;0EspU`micN%PAL^b4hzoTjS8Ecm%A`C}NAz&k59qNY?b3bK>%~97 z8rt5ld0q`v#vD~wgVVhf2+6-BBnU!C7Aq;Wff9c^ytc9`eI!|BE5~}sBwEso+|#`< z7|@~g8DK@n`R?FGJ_zs3;*6$+$_GH%DN0%a?OEycD$XrJJfPGP=Q9LRTTU}7{jBvY zQ?|uxZ_|(;vbFu3p0p#ht;WEXhnONpo!MsySIAF~+%Sh$e1k<>`lHxp5xj-vAjSD{ zC(Q^`kHBOCOL26?pn>woQ+U}{YOB<(A;9p=P^N~)!;`vz6R&1;x+ zQGZBSH!Y4WgRaUPpAnJ*!1qg&f8+Mb%L41of^y`eHFqFAUjoW(=>D#U8IRDWYknG< zE~P}zpQ>yf&>WaFN}V*a_*curGC!W6cYx(G-R-~&t!TvxiZPcJ)Wa)EKc^GFdA;#>iuAq1t|R`) zp4w?rye`k|+L61~{AETWw7Jc*WP9{i3Jj5*%QdmNpW^T(f!9u58G~+Bh#8cU&|y=* zqgEh0dD;9#UeWT+ckJF)^klHZt-K;l+ynoeO@8&xF-miE^H1K2?^dGeqGYYkTM|*8 z@X#5auG|%n->gL>c=(b4gLDhw5eh^2;mC)tK>nyGLcb^8J9F1>{}3%WbrR@h0BaqY zT{|Y6{G@+|agJl24_{A%Et0AN4F1!Y`dk?9a;a=h5}6-~z9hLsbtXoKIQ&>&b7(Nt zuctr_(tvd(EROjW`Y#la#smIAxJ20s3lpgk;2(sC`u_v!fE5BLbY)TKe;|sEj`k14 zL{`6S=QWf(L%%Nv?dA+=0d`kv(#K;)Vm00a-9SNUmzN^_HHd1_N3E zIy7u}X>@FOq@OT-N*@MkNKK0L56VO7{y_z4o#l?1fvEShN+DUyeRNS%n5g6IZCPr0kwyTiNg#que9^!mxMD#N8iD(kz0 zr6FVa<+naYgO*UhnL;f}7tx*Vu!k$$ThqvmoQ zHB<42p`Jnu7WCI(k3opi#sg~E4r{-;DKl87Vc&H`*>#qEB*Ardc&6fGXQ?joPgnfC zQMaU*bt{Q&%yJ#fPJKql-g;=rq$Rlfk^vDXD(u*g2VJEOTu% z^Yo}2{Nr|LrOgqXh(^npUn4W9n<-qi;byGk z=LqO*?x~Hs2=tK2y}3EH);P?)Mr3tgv2my1o(51uO!2M^@B%e#fHmFh=D@N)y0HpI zD#35Ir()p2P-?yY^0q$Zj`RWnZq?*HHeJ3%y=3Hv{_|kRe(S1W0xMGgjQWJ*z2F;3 z%2vb3a38&`ODllCzA4rXjewnL(lzbu2&0?sU&KRa-6wb4_A2ixuca>}YuF?VI&c7x>XojN|Va~rKP_snpPQp#g9dcr4W@dk2RZ%S53#*58$`&)TFvxEEzVlc?vE%k)_R4JGmRf!J;Oh3{=V(^IAu- z2H)vCH=5Q}E4q3aa}HOz+=)3YM!GNAa;&uD!}YyBMZ@JC5V>S&R?vcbn1lEPgTzX! zP@K}N6Y6+M7!ppHKSuc?^Yd(?H~e2FxHKvG$nsdH)YXhohEMRpJXX4+e5|>}t{g4j zPc~?cSHzk=bZaXu&l<`M68AY?DNMIH^D8XDg-J@uUM6lL>s~8^O36s0uzNAVYe{v?p0{Gy-Y=3J*K zxFI+V45Muc$o{#_A5GG{I`_&f@N07?_c_J6%jUbHgRhjOoi+SSpxD=(f?s*~<*%WU z9z!q2xfPVBQ^7~T+A$1?L=0!@##IVv>1QP*B7cjvY%BrZaPUSA$9#EsJ?7OD_y_e} z2WoqJIS$Fr_4>t@8xFHz{Jq-5q6jIR2T5?F+%J-E~MkKZe4gp>4 z>u6Xo##br&M3fx$^Fp6-+{1QIi+ey$rsYoa?zXlIZ^Ec%M!YoAML9P-osIXM=l+AZ z+Ka!dPeFRm<|yKw!0DQr3pHSTt#MThnw$>kEBKHLzV1b+V$hPBg<`M z-mvrs2J|Bu&%hF!kD{;_^u5BdHC34YXFOQ`d+`7QSUEl-@;_Nb0W3gf=6?&%poW`w z!XUxBp7?`At{}P5#^nm4>(5R)w3UK}WMMc1NO;MNhSDb1qC#xw3aB8a0Y0HM_~_=z z03`d|P$)$QzfeS~79k=3!-oz#NRlm%x7YQI=Z*S{i`Mpsjdn`3Pcq1`2Es`;f~S=m zcAw$~l%`C+r&(QZACsloeTrwY^LdYqz@spCfJgU=v~K^|N^t>Jg*@Jnw@}aGk~mPD<;E%P0p>+-vx@p=k!6Z5 z7+NFtvK2V+V%yj)Xe>?8zKl}f=-(1tgwI&<0(gSI0Y+^!**x;Bba!b3lDg_d@D>~vZvJ1*z(bq5E zX3)O@(%ytgce5*G4Q0e>hz?36jAcxDp)uP2kVuGdzeY10iFfCg2Ol5Fb>|TidX`*$euia30AYq)w2)WZ<}k;o302*^J(=DLOE5rvt>69)p3Wfr{4)F5rX9k0{DE^Vc>S-L0NSr*9b76MytlXXf;75=Savoz`NN*%N zaxUW^RFPw++hL{^e+XQ;Y(s!J6H1@hEj27zHh(W#WWhOZxZ*7^*pStx-~QL~2f-C2 z7#=4#mS2=V^A(;Yz>h|>WDA0cd!8l2KW2lJOvTB-$z88z+de7@cXyy zL(E-4Mk;?YsD#LO2U8{NaxfE)Tq65TR(>+KfXIf75qF`7K2r^=cz(ueNz@Y~FPfz- znXxA|`!kjb&Di;Kw4~^+<);IYPD!p@%eHxDfR-n^vf_6}1N@U?51sI_BQBZmP`k)O z=1&uul2bhq6eogg0R=hYA|%4MtS=Tt#R?JFo?l!dX>D^GHjpNXGE0%{nsN4(Oe6s(LG(DXRw0o#Cox zFFn_UnvEeY3Rdl*E{e1r$ad*9LcNa6==y#{8dl`&YmB>NBpZ;^_bc%VO4lNzGH(pD zK#yIa(GN|yC-$|##7vW}m2KN-$RauLEc}UTfwDS=T^nur+%CsvF{k zS3UUSD95S>a!QFuZHH^<8LxVXrbF=N>XTl9hdbJ-1q1QSrD2Dt`ZjupjMF8RUhc9x zaB+1sN*2}LbGvtr(0<$L8{fw*#Bvvg%-P5Ap0h^_W**j>e zJ1j$pXFb^}(NkAAyEvS}7?K4q3J&N>;33f+456c&`iq}co3#aw28a_Q*3GlI-ZxF?*purQdEA?M zN1nX|VuT<-@nVluuBc?$-e4$7vtIMmUhHy@?#hK9h9ruL{D$7kEi)0);ltQmL_sjd zXZhcw#=9*BE)7LOkel}R4{k?)^XgyNj7rF}6jD%93=9tr;ePha5{y=6xR#Jg{th%5 z9UN?>Vf516;*;G{{DzH{1<3f~WdTIfXbDB6o9V%A) zT>D^1idNnQfN5MLncNrBJ2@sm#H+j$C1u1c82coIPI#u4|c% zwlqt;M^yirqG00#>#E(PJ?)_~5uA{2o1h~5EICnnLcCnYkTi?&+6c>>cyCF~5n`_Y zY&k=u42 zwb1J;qf|1>+4VdPcFgkd2d(}dvo=cRIj(lzf~MG}I|duW}OUn)*>Ni(O9BsnuAs zWbL9&cI?|?5)C#PSJ{!X8XE{u<`)A$Rac2ssD^;0JXUR`Qbt&z0wWUs#m3E*c9WCHsVWsOW zeVRKg&NM1dVT2MT2{j>Qidv8=0asZ7CWB%RV|G^aat%Wu=?v+cTu{GQoeJjt&(5ql zJ$h*ht~Et1d=zfJvIK@-mvUO&OBI;(4zv{Vf{_ZVDbn7Ct-q6|W@8DSOisBr{x}Q( z9=|D(;nF+K$kFa@tR%H@*-c4I2p~IUnyuANzvpS$;`suu{ygTNk7n%7rbWeMnk&dR zx!Tt0c4x1Ki^+TCDU#R;R%`{zhfHgKx5H|xEYj6}ejrFSlO1a)(p)`@Yz)EH&7#qj+aj`L=P)vfZu8#Uzt%M=MBOI&;^Sj` zmowu7^h!%(WhgXeXJVHdX&KHIK6~(aTI@y)m{2=}43TW6bZ~u1%1U;QOJ(N9;qGc4 zyvhRlQ)7I`Orm38p4>T-CGtSrJd|4?>8UOaU5LOsR@54Hc1&Dw!gK*h5y;g89j%*b zrG_mWyV!6!7Pb+4VZLw`9vS zY}C&Md*f)5FO~kdA&_AVDR3&qsdee7qBwQUec;3uV>(LLbX8aN>q)Aq!dMbYTG-sd ze1(5<0jj0ghp<<2O`C5R`1PVXjb)gTj@E=`;79q9spP;g??U7@HbDz=ZACO$CU#Y! zBjKyXF39xut6iPIoX#ezGJYmUM|N`s$V_?cEJvRPbh|J=RgvIWSi7M~zcJ)lI-}1~ z-b)aUt$4gUwRSuvNBJy~*X91k%%O_S`})22A*yPPr7_D zO9hRBa}Yz~NBwl6l=qX0dI;Ls+QE!m?Ta%+b{i583U>^$qD9R$#0kg z7c@wzQuAJ=W~B}3t0cA7#CttkQ$H!Xzx(1&POh%5_2~`qPOhS{M3Rp<^M|sF|Cxxe z{`V3Q05dbozhxe}u|k#uOvqvn{6Wbq5xtTNU;oHan@od1D^Q$G@%Z@5RFkC5)n~!f zDh7cs?--jii*Kcr*@E2;HBc0(yj(+U*4F6anS7;f5QjG0ZH}vhqJ=QT_iWoUvzRKY zkVkHcivv8F#5%ZF6}PlJCh{zq{MCWC{n)!43=#-5^DbNV@sf-b8{+{vNUq0ONBrkF zhHr!mb9fPE9RwgUt4{_LQx5?%sOk0Eg5B=bQimPPEWoM z3a-Yp;$idq;xJ@qV`ersWM|^yGy}5p|GzzS|1EyT zMxP)k#EbrfA_OoiCt~Nm3DkH;xUH)&yG-Q3*}ghd?UUbHX(vXx7vPQF>en69!%VDT4(< x^x8RKzMSRLr+z`)?SE-){JZJ~;Q#0IA=zQ*=

jKNRas*-4#If;L?U8F5U&117+)TGyf7;q8)h1_AmuW>=l5riA{c|4opycE%lsSG zz^k$Os*cg)vN@3tE0n>iR_bx;PYQXJp%KZ4E2*aAa<}@1SgFC1$j^HXv8Lj%dQ@%w zr{kOK7(x)6Hb6>DR}5!)MqRe73fOd{hIJK8q@mHwEi*?+7Ml)P^qY+el%%j7j(SGpy}pNG@rY$N;Cjto+cXRk$7TTZrz_#6Ou|C8X#oV(MN zT#@JOI^d(mH@X4`Mc;c)_n`~bm#J2{oAeo+=R#4D+Q49eqtGEUSAWX+AqNQaac!DH z_8N^YBKv05_ZQ@`a}p``lIZN0CT_lIK>-O39qLCdrn?IwyTty+Twb0qY$tQ7<~IC9 zR*N3bUubwf)?8a7Uho`M%JMhpqaU1%#t7X56g-U`7g96=Rx5q|Y)qz7Nj zyn-=TH~!@V7bzEP{dwwGg_f54zRK2);>uTtK+BaE1r6g(B>M;z!Xo;l*sd3jw63r@ zB`|atoyct65`e!5X~Ay(nLEEc*lJdEmFSh)56yP;;4w(i24E+iQu%zafjgNJ$&UJ4 zzW3nH_jGv1a(ywo`S3N*5R`HRIzU1-a!H8mjy`TqxX22IJAkHteN-FzWd8{O{eiu- z@tBh#4Qmaf^1=m#LM%@}1!ZNR0yb*#wxzfmvJz;93Eqm{U$>q6YJYd~8ZGXDW#hJznnq$&Wg&Sm)pK_Y7U z&LjH$An9E4O5B^S$RoY5zdY@z&0N0f)SIRYu5j6y92RiSG&oc(r-T@=7y2{h>KlR; zb|l6)>L7H-OdF3|JU@%&-%&5dDw%5Z~MmR#woT}cjHqWatmJu^0 zp=d4q5}57M6r-N0_rG1r4S(-B9ibOl(fJDP4^j%oS!vm1XELfd9ZpzVhg8i_ddypJ z1HqGhQ!^TsprCo~+k-H&on%XZ@O0ah-mmqG>dI6yvTTTK(`+ITq0u>F<3g7N zoq=Xb?V!4pEM9$ld*yljYr~4QC16nz0s7OcUsvwbIQHDN_=dcW>$W>54ANg2Fkz9znQcc2z#JDw@6( zDXji*Ty|3b8WLPnG+w(<;|4GaMQnZEqmyxtczw6EIg~Le+>L~8C$PlxKwchg9Yr`UO|_Vtbel+=}V45P%elVWv%?kvcUY zHjV4zqU{K)guEkP!AqNR1nMm`CRkZqHlcAqYa5&Gx-h`lv8D9)LjJ+GnfPS+&?1N5 zl$saJ&);Mr>9FyQ-=KcEv$k>(077R6YZaplfEf7gX8yEIq_>C^VhT5;Js4=~zE#B$ zyyujU{-)vC$er6O-u{P@!dbn>5{-QQ)0aH|z-9z5{QjhTB(I~GoZrV>eRD4+_Tzno zH(j>`7|$)_)jv5KQQQjD(~hvZpG@)(J8f9*LR$5;dM7KaTu#>0CWSd`1I~9YjFlEH z2Bf4hxV(dJcm5pdF&jqE9Rr%?sWN8&@2=0j0{veG-6d0|QEDbxq@Eda535=<`$rG_U|YvrYCG49(pbnWVb!BHf`g^5SZKSV zH)q+=-e5u1k^$ZX(>x=fTatEb?THPGLqlv)#y??r4!xiFro*!^Cr1z3sb~@YO~>q3 zZ%t11gq8~pqwCxR83G~75}S3Zx|%;*yZd59T1gG3^kgo`}7RV@nFbGD_?rNO_T001LA8j+(k2qnmIBX36b0h1bfK1ZO10_DxA` z%;sxj(vlD-j|c9JCp8aL8@xNJVDV6TV*A02bHnbh2l5XFktUQw8^ZSltA6RbhD{IR z_)B+!XR|>$?0b{cj=am>?;C`FG(}?eoiAS$n_6;}kPw3(DL2i(ISuVTs;59PV^fRR z^+b=!Dvo0PRXMnok30Yt-e4AUYF(h%!qU71Of_WQDw8JG2K)C40iT^*?SDS7MovSjAc&e*^o1{{L_}55%72JnnQ5W1H`3c ze9d5})ux8_ANQ_ciYb~QKC`-_oBPHqZW*-BmUu=8L`I?Xs3^;h;`|C9kB`B8k5wDo1T*ln*_G!9zMzdbLI+T{OgI>3*(njE!0wHGKRl+rp+Hc!raIZ_ za@!|aYOd~_g)p~aVrV;NH4LET;C&LyeCY68CabqVdYmq{%}C6Wg1UF+7Y%y~XJk=FNKtzABcSNr1mA9n;MjFD z4EdbX#gM;$KN7pxC;ce)%IYG{+Tj5~Uw2pfZC2xUdJ3$A=>N90hotRK#Mw9`xUwQ6 z9oqSP$o1#rAC1v3?Tkt;BQ8wNQInj?bku$2dK@L$!K-4A`%+yRpW6V$uIm`D*;RCy z8a1fDrZhq@7@P0ZE23^73bA6NS$`9g4{hDAbipd_u-{4zrEKNBAC0hzHdh#l3Q2SQ z7%Ky@Ta`4EKs_Jy%AKS*L-B;J#HxuF6+<;)HZVHy!A5ovZ*hJ}JKREd`I|-hir-|8 zjyOW}a$3QciDdAF^Fb0SBIJXy31WSs##7);!sgp`-85ot8_#t7Yk>9;-SqRlfNG(> zt2wPLUKll;(3!3{Q`Qkt0|SPb#sr_KD=FkrNw$!UnJS&HI~6ncD@u)R{a)&PrxXcF#Z3gaSG{ z-`lfC3DEMAJJ@h6*dx4yi&cTU1g4_@Xt6UO<-% z*(%1|H*##oQLd`i$OJ8n`D$Mrpjh8|oTdJv*@n1-l-0(bG>uW(-j}_q%QHNZ+xjhL zZ_F-HKt^q?nGdOs zEMF#)Rqwm=Gj|{J9A8Kn7U0e3VAqf|{yX~KN+YXU2dL4Xb()H8i9c8 zY2q{2+F&eN^;&+^-93>;L#l>Oq1WG7X`D;g+P{4GT5h9N=&n7!jq&FWgtmEqSW>uG z?<+8s5^p@3=wtK^y~?H<+3YZsnQqA;0>I({*Yb-^gqtXLiM_z)`$2g|VhH?D8YswB ze^d2F!rBcvL8v!PUzxIHG{+?1E#Ap_&Oa%Vh`PAE#3xz?*+TuP_=eEHgFR?c80O?_ z@Ct7&Bw<*6-{9QDmVL{P@1Oab5x%k{>kImmuU1Q}9ILJlmUcA`Bb~6Qkj;ekSC*EW zvrM2a3?>(Pw&+#(aJgoph2PL46~C_*EgBpX*k2GEgg^L63q&?g| ztQhu*QSe8!f?3d$jw;G>d&Q0W|Jx;B0bKtiNa0(h+(`tUys+@PO~2lp-{avEvm6d? z*0vFCdv(gzH*Ye+8t&zx&cYRgo6o>N?3DVOfj}$$ABtjNamO)mEs`M1FSxpYOWxZ= zIMi<1=3uMNz3FmfVtsi}1rp)TOgwghIl^KbZvaPGT=D+0*@uV%lfEA~396a0Q?0hj zL%O?5;S~Lki1!wK0~Rzi7_vU+thT(ZAwL@Aug!M=nI9Z(?wSrN-?q^WD>CSOQy9KA zS#__o;@Ys8;4H3{?$=;f@{bZ`j!51SMNU55_u<= z-yUzXJ!7HI{Gb)ZoGpnOn)hW}C7OP}G#}xD%|vh}S*O)1H{}nxq_a=eTN*Ul1+!?) zdW*-Ik0@Jbr5;+1^%e@C&BLvOB8vc=QtQN?45anO?#0KYO715}yH0RCjeV$SwTfHj zDHS4W%Fy=ncJ!5=SHliv<9f#6=!s20&)JC2zoSB4k&1W$(HX#zOC^P@L_H0uwq7gmZ#G|QVf}V7*TIugal13HlMLteAWoWN^-riKAcY7k->UM1& zqmX^USO1qi-xtB7)z(@iaEycC4$J)GKD0TQ#{0kS!5kXNj3;}UB5P~>@wd1a_v*|y zFCRC_16mmhnG0=K$IICl#Gtg~;;3>#uog(Yq7S}MdMtZOHKZgjbns9?S8$WE{CS}g z#VHQvSh;SRS}mOGX1jaEBf8-4oFt@wKNR!u|fK5i(k09*(Bs+L-6QJ~jjw4Ej& z17v;ChneRjFm2dEKWyHS+Z&Uy#^unD(GQKnfb&!y3?yNHo=WsRd>+*{}}tmAWfQ}+h@3g9ozPf zZQHhXY}>YN+ctJ=+qUhw^G4jb5jVa+->>TK%Ib>fu82BWnR!lO_MuYJmLJBsgVHsQ z_U3Ei+(^~TU~{1^y@GdCya*3?m6=N(Vz{0%+x_fDdfc+KsE5da_(r*Oilj#ZPVC{e zBo_9*&T~7|jkVd46}ol|`I-yyo0U}RK@yAS^*BRI{^lcuSRL4ehn$%5d6d($&uImH z&B?0HZDC0qY+92#64TZN$+)&7b`m9H%> z)Dk(6ck(j=mD0@V8h$+V;V$V_kc4IuMTih#sJlh(Pz~b6YR*+ep&uH)!gXZrvLo-CYp3%KWh0By_g;O{ z^#xghoG_X}$n)0l+RJM{iW9{K{v==xQv?<>bDp2g!Gh1(!aht=4yO{vG!^lYf?1#0 z+dY2KwH!!D!y0W}g`C988-Q=6wbaCOWu}`n(TLA2U?IfX zodGO`-(Vr5zu9ut$PzBEGIwO7y*VqOw6~QJL8`rU$TmhZY0f!#O0hoh`$4sV@apZy zx0hzu5U)UIcJ2$>QGSE3u?*IJc32jqZ9C!Sa~x;3Dn17_4Uy1H5=lA#IM zYditIhyxxnr9rVS@4bV%b%P`g4CInGM7!|Cy%D@!CzWW z0$rP34Put=ic-OqrcvFP$~0#!J|FnWGioDYE+dxcKa{v*j^f5EoUB@?N*=N_lIB$Z zAPuDne4g>EKsiaMiZqvyU-fHjv|h(3F3dJt?;Tu7Y)oNf7hfBXEi^xrW-ah;fE?A$ z&CC#DU04KGwULbAlo-^o($*Om8#RAClB4PxNuZ*Must^PO?&{Q*e(i>RE&NLG9HgS zXn|C;@CtH#I8rh%cc@KLSvv}S$f#dv!dQ>zV`a7xUN5cjAhByLY1gSw&=$kgwG49~ zRX6n;+aii=pvI|$Ur$=5Z@#FSC}mF5K2iJ;U2-POWA1#Wj5sO5`9vJnVWvotiA$=Zg?#IzlcPzr=yF6Zxq&Gz zvw-+wzHJ@NY*T=^d2h2)l6o4Q8ODqU zGUJT&GMDM@h}2UZB#%yZN~>OnIQui$TP<+VjDG=qmZ zVzfz~6J9|Znwd4Q`Nqgbl~F!_QdO^wGzWoAX^R(#A&6nu10`l{X=Pu$XB28iT1nL! zb5L>m0SN-x>82&xgXPd%V5eBDO58gC+E%_2s$=KPRv$*atYGbTE_JiRWL{~)Z0gBMA1BfnJSgDEJYr7E8$^7 z)#Vd}j~nG{PPnR0PHo7i6=X)<`IA=gNs?6Doxs%nn*GW@@Azx7Kf1^8u3D z+0Vok&A5rm$^D6Veh7*7Of_Xp@e!Sc7shMNdFmMoCSC3^u|ZS&-UP*FTQoWk8G{4b2--F@>(Ss(=yJXk#OFv~jw=feRjx z`sLqfXaAw6+WHq1boC8stiv0m5MOj77p%ns6R?>SKp3uys zamULA?aeno_IRNJWdUi^jOXaknMi#z&Mt9ANf}biuIR0!jAS!vY70!mK<6JhyKE<+ zeTxizin108>L>#Kmb9~)i8b*m2X)POB=VL&Wk&U0xyspP zS}7K1>)Ilj$Qemrh$IR$OVmWB6`J-qj}u0e*B5R`+a>4JFk}VJ%d&xe3W+HB2N?^L zi$4d3#>W&M72QRl!iqiZ$)!$|oWx08#_U(us1Hcyvgy=R-nWJ5h1Rf|)~XdN<3$U5a0unf5yQDWQGZC_9f&UGSobg0i4mS3609D-FR?0 z%nOy#o!lrP>J?NScMAzgzf1Ltrk*{c81&O0mdt#F%BvOvk|Ox%xBL;vMA-n z=M=rvIOw}JEIXYAJ&DF6HCH(^RY^BDk?Wv-54j+GA}vB()6E+Ymg%rv}*l9!bOAUT_%L2|e70kj*vL4~*F zfC(2A-6JyifCQEXiwpsv?3~dT0D{e=Cq5vd#+h>4$a{8bIY1y=F@4-`^*)e~IN7GAtPSXp9;xVWjYn{~#L6kagV+$NS;^7NeD&p^0 z0mN6~ZoO15!~!7{SPk2o^9ln%1>A{5VgX8`(lVhPB7DH|NVDkOxj?GYEk7TuU*&oP zAi*>w%wgxeu;1ki8593+YffqnaiVh0MH>K3E~9R8a$=D!L8aXb8l}&&wr)T%>WhKI z-hA;2oFQuqT%k+`Jw~gTpQO(0(h8KOGTPd>SpAH1FU-=S2d)Bt>D3lg84J{^fZPax zu%8ha1|U>MLHulD zQ=GVy4;n~9wf>Akw*o-PUM{|w*JLhUwE`q!)mbTht_K{E&>UgF%2Hzi0CbNF+sMyC z6ro;L`9e~Vmsd72SQXCz>8m{Wd#;E|B%k>LBUv?u5GMeDHO)>g^X5aIabE!O8m$$Y zy_1#IBLMiuORRg!;@ah0AcUY~$!O$#G80=6L8v-;cU^lWg#-Y=-W>%k!xq34B9N}( zi_A8tyNw-ht>FN`S5d`P0w{BpKh?5T_yWmL(RK<~{wyXCaoD9=08E8>3n%gYAUpAz zHsH4*Qf6}4>C7B%d}9;eFLtA84N9bkpB!{~3CfLBpw>I3zRK&ubdIuf&h8WdsosG2 zTzI0(Ei&bl)sYK;9#^ad%=q&@2Z;<_+sqN5#WjrWY(2Jb#$3<$%SgHj+7zG!Lm*D$ z3!ow!kwG{C0FPo>{wd!916MLpp=!_0`TMg*zgLZ{4ILcqjr6Ucey(i(nnSVU)8YTu za&h6)ikMkC8rlD}mimrHLPiEQhDP|bQbyJ$j;8nwjEs!%r(*2X$}xlc+qLEOrcS0ZZ>#nmKcU}XLV`Mu@`LHgJ~lphmM03(F4b>ksKS2C!SBezsp z1chQsSR@~(a4Y`8uRyY62y=`??pCs(>_m!zSVDH4wOStO3uy!()n8=0q<~j15A1IY zAy*noh0Nq#5}1-!SQDf+1QW$LqQiioGXja9)Hg*nwKig2(=6bwl?GYTy?olb7$+y;#K>7ygt00 z5}TKX=k#QDre!BOn!A5`y=6PRPO!60HA%y@?o{-uS{_4vv$o;fC?7w&a<6=RI&_mY z<~U?bEr)pAGM@YqJRT;|Et%`uI}AB}oSq+ECOU>eOicl{Tad}A7!HGlttDoU{YIKv zG){wBtRUg>53dnNv8^&@%P4H0!PP0__I4I8y7f|Vd-=*(pt(Edd=E1ir3<~!W!J~k zJ6kE6cKswd$A9wZgo$jNpp>g_7=Snz^--KNi8Dz`B22I^5HK>2keC{Z***u2WmKXI ze42Wh@iq7tTX+3|$s?)MIpzh57rosvLG{#1?4HG9Um?Yqg5^s;V&fEQ)X7$&<9~PhL*Y96QX7$kz zabx_!ItWn%Q3BL<4Ld}Er1mrdMO6pbbsm#Ez$pC=yyuo8JeF9INN(v{#kcP>Ewa~# z!yjIxif)sIZ?D2mJBsoG}4Ke zNf@1(PBNOLnHE$_(~lA>@l}S3Dyvk;3--YPkyr*~#W%dawG8mrTl8Yv*l&%10vlgO zDxzKgg-F4r3VX&iIYN<*jSbB=aS*9CZXr}#31rxA(i|M4*ljWm3l2g>QTVHJiw(1b zLvU`;mruZR!mFBT1L5-XjAL;`cd+($KHZL?vgRzm^(ckFh%M5(P3+>b>7=Z=72mgO zFmu4OkHv_}#J%DkG&YuNAt{GXh*vAn*+msElyp7hPtS)xU!HI=7 z8@7j#gP{X89X)A+Zz2LEpGCn4dJeM_=b>mEVX7x9u< z#t=jZ_mf0{VJpo3p)dH6TjPJj3e!L-#}w6d+`4#4j7$>BptN$AV<4H8TPjKFf%U;o zv0&#hu4FKhV>Uu&r?H6eXEh!lRov?_X4ch!)?ol$BizTT-dfC0Z}Me8iC2Ab^IJY; zjH+7z0Bd^@pJDWF>Op}iMZpQ7M#fN7NQo<>Ni@LFa>6?(HQDI{6vLo=T@KG^v{@&^ zvxq{m?9EiJy9={w*7~GpY!_-Xq8UCBm=~4PdO6dq*nF_|XaY~JLvP5T zpgqj#|FoRTG-$Z5ki#S@1aHZR*<5+tG#`~Ga7@!Ri;dig3i(x}vf!d0Ea=ys1kw>b z0P|*E??6yIr4SLJ899~@MpYhm5?&uIjG*qGLG?_RppUTR!oN$Z0dwX8A@W4@koplMJ23oWHIpPv1E*9K)wM zx2)~-1E{ZGG#!6=Y&F^yG9AcP>H;JBa3s)qiDN~7CW6q5mgvK-s#$SL4;~|R8!Rwf z@Y(a~iB+Am)jai}+ckc`5x$C=ujHhtG9kHLQK@pE04UG%A~w$ol}CjF5LWN@Pu8PO zf==A()U`%HfE)_szEXHm?#N*Gfw>pK0`l;|J=@hQY_)pJpIn zA6KZ3Qdxj1;lJ`lySgwJBIpbXmNJG82dIWdrukTJ#nbtQg09bvYo7Sd#(N-Tmc5@pFN+r|GeuxIF$1R10yG@(>N#D7I zrT9_Dg}kg4h!qS7h7fD9aVA+ct^+pS@>&H;wu6QFaUOJY3W`B9<2tn9ahH;;)T}%H znXSe4kHx*$yUB8QtJRckyZVC4dYkGYqH>GmvJ5wv0EgA=Xm<-LN@#d3P69WFM_6_=TC>+xYo}4+xqfimn6djsgo=~0s!hUvuaFf%^9@D$ zUs_%*+(6C9an6g*X$AXF$IVK1CE6e-1%4U2dPghPLRuwFMOLLE5zqNX({N!Yy84j3 zO2bNUIa)6m9-npXiPm#kjNBB&blhgM5Y2k2k5g+*c<{*>yg}pG&r%bV^35vw0yVx$ zF(4{zLbZXQ z=y`tJTIi8c&MMa&FH=0;xPpZT&=G{by(zP9#5{>^C=ySP&8vLNIV#x#~@zqo(@5~JyTV`rq*-1E8lms~>^ z#Z`W8(lV{ydfb1_2@nvC^Et>&j&_C!0LQ07dM#pyuFmYD>3M+XdkO)hi5@pMPjJi} zG5>u7`h!P@#^|UzYwa76J>Yn@5hPiy#@^@3TU^Kerg|YG`Iv>K6MdPapM&@%(~eRC>eOb}|S^duCRG9;!1iW2f}riJBtkrn(8PaSWRHgv9M>QorupQArN zz^_)403r|(SY{Bd{qv?v1Du)s5Pd34c6Mpc2X@DR;Gvn3bA1`2=|CG-X=(4*TkB^SjGcwyH9poAK*>p%!1 z4D%O#U@X{S$5eb`NcmC@M8JPTBIRM$W$zQClYWDc_CpMSM@P{i+CfFe^9Ge+m;5sw zAdN=rM}I|1g+;?>=~o*-ZI$DJWz@solZtN0g{?yw8XwkU8D^&gvZEPxqm%!lO@(_5 zO|jJiBpk%(6G(}4CK_Nd;Wra`gGS^c*wIS~U+{53N$O$lDVPd$M(!Wl)_H8@Oz?F=8ISpdROqAbG0%j%Qtxf+u}_F-0Xe|e?7MPLB=H7fv3-Fb5p6-F;BN)K z096Kpg;wYh>`jJV_nWsO+rbPs%>=i?t{pz_psEGBQvDIpg2M@IA?Su~=|>#kWZQz2 zJao|m(F%4&8{Y0i33cgDx?8V}+vm1r-Xo2E?qj~wyy0v`y?w^M4miBiU-`XE@a4CU zx9dLez6<^;?drQ9aDz3#YxlvpLH><`>z@IS7n~HTsh9KtZW)w;fVcZXUMb@F`_^d% z+ycI!7S)b(7{@lk6M|z`WgrXN<)8a2vuox)k}cL>w2kOitXt(35EuNbAed0uKAS_; z9g3evw6zF!c*CEzF&_+EleZWvfiHhHB3uF9WIdqM|E>{oLf+wZ`M4lx`-}$yuyy@; z@w5#kDX0_lYC5_JE&t+_FIb#q0+72ukQ|bxe@g0WeJ$PYVA?1bk3Bd^!%|*H;zYzL>a2}oR9mf8K#ueonx@F@c z;DyQIL)$CC{s!te{JfD}iFm;np57H7poM?tXXOfdp?!hgOTm`y<$0yOLAen9z|0o; z0MCxg@lU|+2{J+G2>=QG7V$*v4mpPR@kK-MIdFx79rM^_8pd^nqz9)R_uxBPQ7y4( zlUe@KEt_ZbSv>7Id(d@y`}UXVc~{N)s*w5KmMHnoF)UgBf^&LH{pq4Tdl3H5=<-2# z;nd@+W$qMtg$l#Z8kGXVk!5%sB`~y4Py$FOubZcDzqsf<30OXq>Pb}T4~?rz6(T=@ zOd3Ox3^hE7@yQ|~x%v>YjMVV?(ay-aVoNR6_hF6f_5Nr^Kpge0#r;7`cbDz8|vd(?*J&r^03^} z{{0|5Z2G%MYOiV(E-H^ZxcL~`ZTS6JC~@J3v)IPwb~!J61ab43iu0C-p8YiY@AX2$ zU({0-=|=!Sjl)fU;PJaU7o>e`b+QuENYy0 zEDq+Elf^tj1C?L_&f~!paLeDIXRhj>cQ$0>ynaY3F!bir^CZNCD%9vrkN0?)jfbA_ zwA?lo5Eb5xT&DKbolx{YS@h~hpTLJ3gE zzdCSKFK(gMnwcvEh^`^4TX11>_&Q-*6NVG<7aAMfCf zWwDJsaA_H@JfFUn!~AYi8i;l9MIjEUzCI*Kj$@t{O?R&n>41bFV?$dPeo&wjo>x=;D=>w0&U z9v!~T|4eH`XZxk@^$G*&-Ea2uDp`rW57p<(9-X|f7N77R`zVpAZ5uBbD67s-#UFE8 z@ywp>H%z3Dq5tk|80@~h&n=Wrypy*rk3K$^Sj91pW#8g{#!;gVO=GdoYul;l&rB_=5c>3_i}*JMpOVZwUF&qG7% zXV!qFw};t~RilkM$?6W{S#{SS2ppWQt644NTal<1?P&o%-wNV+A+V&^T>9IdP&@-w z$&8?bT3q390Q_oEuggU~?aLbv_164?zP7PROfGN%?iST4-i>DTQW!gTU#Ue-JD~A+ zf<+_TW5NEW))S&CPJ|=yJj!a2gINnVKCA1R7AOp#aZ8-;yV1kHZNmBn9x?;Y8{IK1 z#xM$XN6KF5n+;M2a!2kKyb(O-L-5u}Rm&7q7)Qw=oJz<=**Sl&TUStzww@ijwS#hU zzZssrtkQV89RN4ezBm`wsN;&vb>b(>&-=)d*|5DYg&RmDBrP$bhe*I0CwgL(KjQ#c zRu!7JgMVAIe6kUQyYPM}Y|fLt<8Vj3&Sl0W0=A2zDqrF1CX@3*S?2&*OBBu#qiZP~1 zu8DD~3sn=U?pN|iImdS$Slt1=qM?+wMaGy zE|7K5z6d1#MyugRqht(H4H`koK}dAGCCx|ALwguMY|P(V{-IUD>L6|=eR90GTp6yH z*&@Re{nYgJvJ7Nj8Md(fV9kT`!5bS!z1SB$Y4eJ<_+p+4;$s?!;(oeys`%#}Gng$) z8fD0`n}XT?p!t6XL>tC+<@#t!9oE`uA}5xoS3MH z#IaWit}k(h^47?vqz1^yi-zhmd8ldh*AkSC@syuP3tC~G zz>xb}j!LZDxcY)+PD{T&mF7er@`^QA@kF{2<4b5Jr;tc~js{7mDC5*oKf$$wEwK}1 z{5Fjb=76)*pOOK2`AS+XkSdYN5=j@tn+dW61-gu1hr+u&w@+6d4wgX4HB5?NvoLzi zu6gW~8osYlsGS}+i1UU!@nh4FAu&uesL7G(6L62(i*sOxy|1Ij_Z-i=*PgiRttE9f z(j`EkC5gIg`P={XK?Y*Z8B@ruI>ct=aUhuU8M#`TGArt<(r@bLxEMk8)9G)q+kr;n zd{Aw0Wia-f;8Q=<0}DEzMo>?t^P{1HeS3x_nn<6sy#yCIu2BC2@{}QzM0L85oWPYR zj(iL!BYt7QLSmj%q9f4H0Tc8$@lQcF`mZX1UpO*X;a*fKkb`Un z9&#BA|zaWb+#KDL`^sc+x&5qi` zycMydXm~$REM>OwU*E-b1(!|ub+a+n>(&V{alkywc5@X$=0ix_I|&wGHZPJ_Q~8x3 zm%~z!oEgP3M7Yq|6CkR`nJs5v%R@8d-k{HO3jAM)T0lAf{dEzDD zTb(~WJAT6DinoQP15ap(h>dE4n$j<9svAj$>UqbfMS{1aN!1f3I}QwI{*Aa%ME-nt ze7All$Q@GK#jC$Jcj8jMy$Z@C?@>6!*2v4DH$FC1$}pK@6flZo`!L1R+gvN zdwpL_?6E;p(r?|MF+n<-YB+P=h}k4j1`j5IZ=z=E+Q6H>g^e;VNF;hx?^p`PsPSgV zB>I`k+{r7uusyN*@ySj!!v2muC6>u(ADkfe1ywpSc?$>qT2QkT{Gn|)_5xnGycmr6 zIcqHwbNJvcgB1%4TI=tV>R?^PE0O-$pWjcL(c!M|O#TJYxBR5?8Z=IqPW~Ho@Q;GA>8PsAuu24{;K6OLB(>_-4qC2qP&_*VCSsF$< zLXe!(0{YP(xqdt(Zl8hVmh7{ zmNPZy2{)Fos0<5Cl_%;)h>8&Q<5zY2$FroblcQT0FG-N!SXe(~%98WJtTnjNF**?m zY)6E=JW*RKEAS+&dqkg>#Fk38w@typb(u%6U!|l8v}wt@_5-9!)R-w1Nk>KwwhdnGE!xc*kGDl&XEmu315z3FE{*jXOE&Y|#fp%SkA79w z8tc<|)d`5#qM5TzQ2}t zTX8t7;rjIh*6Rk(yYG^9%;shX{t_F{x|%aT*`HdNZe@$TYnv-stnI!%Z9xv^yIs6x zs*N)`Qs$ZWsb~g)e_3jB|86cNl+k9d2eg7lAb=Vrzz}1gft@Ur{#@Gu(>%6TWbQ&2 zC7>91P|_rJSD;fpD)AW!%Ys1%fdMJ@CI<7(uyb6ZJ>^7`?;yVneqLCO;Fcp&JF@dk z6aOH?MQXa$lrG9W`0rzHQ*eJnF_+W*DyVy?Bi1FhbB>_aGv%A@!P z6cSYg+=9t@Zw|tUPK+@#a!zVdE59vLE3Zx6tKo>IUj826P3@kIOGXF(7qd-*>>;#}>+pi`leNzrMzRdcqhrnm5BRGkTSR*L z4C~$}rWp9|oloTGCn-iZDH`f7T@z`BHsms1mcq73_l!LP(fIMweG8=^dmdD;MJ&Rt zONsm?Q(Fgh{sORkqee(G=F|m6akSMr$hER!N|;q(jmECW2bxB*7XNgvHo>+G$Jr_b zE1u?4hW^&`Ol@LE19Yv|fw1{yrYAKQ)-S*F!iIGcf=Z?1poHo;SiOq_(CEBTp*$j|uv1?Q{T-@KS zRpC52AIpR|>)rYK&pyq96mt|OPq|D`chS2UbT_xooIHch?kbb5;($ba5Y)^9{MFIc zFjz`p7OD`s%y#|!#ro3=9i1HTxi`6260H9`pd6v8poRxk^HbFfARKR?9|c?vb+I;= z{0i!+S2&B_CT%c?9i8|BM-VZv#QcFh2Kns~LqdwTS}QQ4cW9ipSI;B5eBmF1G##69 zKZRq1H6nA35b3B0JhaYOy2lT{I|ccZ;x|*l28BVuNe%f&5AbElsj2A=qHn7E|Jt$r zA^oK+rD1O}UMS}7B*GBqOtYe4QlECY3t2Oj;eI<3VMEh?JD*e&(QRL|e)(B4efc0& zY5x1&o;H)Gb2pmIAV-&L)0mb0u7o*=i>PIb#qE4iNG;%gJ2ZPogxPVZ4O6wTl zqHJzwcH0X?1guzb1d6JpjoaF8?quk+I5bjRZl&x|p+nP*uFrQ{yEjUbPmhjE*I8KZ zsIcodWm-2R$n5j5)<5NyoC+J(E2K2A;qN+oEQ z1aNsC9e?&h7f@Kxn$e)-&?zdZkfTwv$qR#&L7wBmZv;s&;OQ5^KlnOHV@Dvv#H!P0 zJw}9VpT^b+i?66CZFSo`GE=nXL+U#-S1V~b0Mx)rG|n*mVK~Dcloh{5L2OB1t$Kuz zir;FFSgGH{?Y7g)iOcf+DS&BCiwDXOc1lF->L|QDk$)kEgoP0^xXYsXV+~!MNY6g} zW-v>bzI+;FVKmce3?(o#X3sFaWJ3MUFak3Wc2H3+W|=l%_xYHdN;)W7F%KEMa7?F$ z-EDXos$+APkr$@L$w>3Mj4wxu44dFgjN;S-yYdC!00L5jr(isdmzX?4*6!V>1{1r5 zz&!kwSZrEpEm}4hzgK+95tDJYAObVnD%e_&+CcTPljIeBC7UkivU3{+9mwc_p7MJS zL6)CzsH_i(yBc1Kmr?qFI{kRSJKNgW!0T3+2XYuATu^p>G)Sjq9Id1ETh5LPG5VO6 zEt}3PlDLBJ@Q*KaWLLSOf<0 zPs$;DFpe1?08$?+SGj!f`-D)GNO7cGY6kTeXcj4eT|vepIyOPMdf7zdItiG9QbiBY z!wXNpLKOuRk5~FT5?Tsw18oI$1&s|+?$?G=g2%!(k7`<3J`ft!}67 z^#s-R>Pqv4T|uMy$_2kh$!Z~UdxH;a!!g~mtPhj;{ur4Soy(o0@x9ex6JCHt4h)$y zSR;o)QI+HuO?3Z*Zo6&^owZ4t zt}e+hjye5077fx>8u5&*+bqpI#}48QPRTKbk~USzjKYpgtPQv|T%j$w_Ekeib?%LN zdy*fXG^4qHl#2M0Md!##qdtzH0_}zNPW#4q>euVn1w1a%%(1xi=9H`@NY1}&h7DFw zcx=a4g9aZDNLA+Z>&Vgq{-HL!tM&DASZL`3FWbs1s$*O+Bf{p;XC>OrLy~p4RC`zz z%fU-X&V(ao3kIDKZ|EpkcQ{-#+SsJs-hpNq+Ba@}?~T_f3O(P=`xB&9_3L_ChnNh6 zPkVcO@5VW)givUCK_ck5rk$+HbfB7eP`&>~IDRh}7B!llES`XH`(qt=;6OxN`oy80 zd@$Vp)p!={ z_jkCqe{RCKbiH3`V{M`EayP|_U+3s{-klt(Vyiz9y5->grM3RL>7RW5ytH9!p|Z8U zmyg#rCGNsaD`~Q6oF&wdCYwonaC_@KBw2nxde+8s{~CAOcrMu7k(iR9$uruT&4%`z z=Th{v$_DGU;I`n#N?>)*kwZ^ednU$%hfRee#e1M!oKD;DZfp&uAlZ=%14@wLoz?Ef zfVe;I7`Y84I-w;y%&01yY@c=?aUY=6(Du6!eG5HVxw38soR~1|4nT^`OP(EZ6uB_C ztW=HBybj33EFKqW-=Uc#Lay-=>$T(h8MQ zTtWEjdCQ!ib>V&<%?aBvdVS@iZ(28N#2_x55O%zSB!uyP)Xp5kT^}ue#9U`FXkqun zkeljC6x3gNsq&`3GucQBJUk}@CR0pFJF1b&$>?Kz%h1259udB5Tt)t+y<|10*}#H! zeM>6OoUnqS70L`1q=8hp1B1r#8Q&i>EqS*kkA7p(57bJeT|`rIf*e1A%zJCm6mQ%> zT8M$^&WrdJt{tB%ku}2}_%PkUA!hR!c6aJHg;^`KoXMT&I|JtG~$odEhKFf^qiFJ|0@cNHuFqdZbz#^sm8{=iwsf zmFJ^!V!M0eFls(21yKS~8`fsYhY~RhgJhdhTlR)HYr-$nL`Q|ofHB@OXG-U?Y}Kv` zjy;vOMbcl()FKtr5>@k=Di!@0Oh$(dQrc6E{+XE{{(8xUQRl=U^iuQazcr-g!gKc8 z8_mKLJ1awr1dCpSii(7T{xR%LOTdPzr=_)S7~z)_S843K;MgH97(I(R1`zDfZm8Op z`l33_Q=GCf_ClC~tuG)$F~+?ZhatWl@)L0z0Edv$m2rBcJatI-g|a{J6{60^?;?({LD@|npiK)SF=?=&XS{GrX#!*G-^UtyQj=uYAzU`U7d(FZ8E>yoI`ux?UCV)SvY~21c<=JyKg8p1Cl{KgHRLMk~5Bf0>z5J8bU+;;4itasLDR$4l<> z7utt66Aw?#?=SDkw{?$`2W>E5=-QeDdBx;7usA;(ifx5?kTDQ*_a65U`w$JaLXEt9 zM&*Wu2ChER=^r`5q?&|_LV% zJ!#$D;rMfs97lb&uj+;#F9|n7(bMI2T5o4ec!S@rhILn>6R@n!EOAv?oIo|#Vpb^O zdc1dq$59_QqdKKh>pJUL#ygCarc+E@4EB|oS)V)?MGe!?@*7KUdKn?f;qN647dKFE4 zN@kTu_lbYS5P@r&A%}v3%|vQ8MN~(!O`fdcXE6A4S)FWPE8r?;%TXq3AMDGRJQbKY zQkXYiWfu!e_1C3DT@YV9OW4t_-0n1tk-11L5my+*e9&`{;<;dUl3uSe!jfS>;&}iS zHfWN_7A5(GwSl1)v?!Pe%UK{O{igel5DQmVEvrA9Pz%*-Nyiqf`u#_xAju9pG&OF< z{1I_UDA#{hmA~({Ma-l|$PJM2aA~ccfa43?X~E-P-FB)g)`iwZhj_zC<*hQ8$_( zk1idu)YHn-%y6$bAwtyRX`^~Twk_s9dWxIAxv{Z^IbEe>{oOSJxf1waAdC1yX=$pE zS_MstUGRn^5C6l_QQRtdCjnvQE3Mi$#i+b?xs6bE1chKNcJ7wUO~cz|_S+Wr3C({v zDXvJCdt1l3{Jbq`Q{p#G%p^TtYpJ2FzU$Lv`<^leYezzY~QGP4}R|-}Gsf{6uWEm?>9!9G_7`_6 z<=piR#e~Dw&7>4o9|Cd&k0?G{vc!cl>90_%_GIfq^(IP z9{g6)7d7j?5fZ^^HfoipGm{Gb8#k4H*-DJ1K&HF- z9ja>DQ>kh?i%c4=#L2`MdH_{aRRQ;6p*f4Z_xi0bm^5-VP$H*tWtu{|Vg1Lzqoa|S zh?|-Fi$kb29RpP6$|yxzt?jDsZuf_#xxy;#YYm$AkLvnwa$D4fafG#%r{1Gmq`$P4 z?K?L(F_62+KP*Q&Et|@5@+{<98gXfsjckIdF`Wm~Rs0t5>+j@aHPq9pa&47QeIK4a zqZ{F1<7u5+(HxyxojCS8dc=>3A?RGza9(^JlJAjE(wFpAd-a7G@hrrj6sK;R>l{Ub z(n?aYp@wz?#i+tb9Ad;3L&gjeqz%fub0$u4??j|FZsz6XnecLFAT(J{Nh`v*(P|F% zGng`PTyUcb^}KD|Zo2h^Z4tQF6T+L54^MSaN2xgnQv@14rU6dFx|(#5946xh$Rust z8d+0Sw|+|n&p@2Q@~A7~t3vKAt)uSM{i!-@9orE|lD@&fKHpeWn(d`uuYM{42TU*D zT_@4QEOi^wmh^!bmM+ho^yVUU+dB*xFn)CvDRZ95uiOTI@6|}h_pldDu7FvoFC{A&Acez{K z-K{{8!QEk6w0LocB7;kDhvHV;y|}x}z}e9I|D5MM=ga$kIs@0WGkZx^l9gZ9&g>*R z1ME_$iXRvXtmH<({n?s^ISlQJlyNg+!DLp^oxPLr+P;M(4xDu&DHh4A39CubZn3WZ z`_{L*;X)(DE5g+S;ku5c)5amZX|@89Zo~IJt8ljl-9r1_1O}-KMyO*y1@<(ywGywt zd6mN4I!`B2_aBHKY(3@WXIfkmkg%+^B$b*~qv*|8wXMD)#l?=LNfA$^<4I!5F`GN= z?B;*;*a=plg-$|8$H&7G^Yd{NTmPZliY@v$={R6NQ2g8LJOhr-GoNIR{gz!^1AfGe zla?KiLTd$azsSn(P$dKpk|%ofrjK;l zedj<6Y)TVDM2J=B62~P9lgL4Lq`46A2*!p zn1#O!%Qf`eEi|l*+pwBX>K&T)wtZ(YB4V%|Vu5S0Cz2+4*bCdxidyiPqu87yk%MG+ z(!3I?^clC1ouq)QwW&+v(Hd3J+Z5Q+lzLjx_i&cX+~lTO^$OG^Ot-;`7a^;qC+*An z-ib@&m0MJYr$h0*OWWyHjn2jey5@?!g+9G2U!>l$`Z)+zlxqYt#5tV!sXDm00PC_t z_G{#Eb;>gw)TWA06C+Mu^X0O=mObDRdjU5W=h-rtGnvM;CC~(}mewAjO^Rr!3}6hg zJWBL5F=u3x$W|6~FNQ-H&ex z7BU-2-`^ogevMioMW?1glr-s;4=(b17dxIXU;_Ekf%htA*j~w+KEAIi&fdZ8$GrXl zBRvzXJOgU1se1fWOnh8?OuV?cIcz|B+y!vRtWl3wDyiwQ@W;CujSfwT%ArR{qvLUVr!RrxZcgi#>b=TJ6OT%R_QUse`yd@u$)%E8*mEd4%O_`4Gc()|r-hk&a6fj-2vQX<0+!GxsMa4ZZ z_-XpBZA_HX7`JeTUEhhYLT*`TSt!aNg@dfRM#-y^@*>0oP66W?3{Sx;Ip)_jKk9lc zY0J$hoUvSy13aT!i4%QlS<`;F_{Y0)!8a{_8pc5Ke-mkJs`so$>phyTqMn|CBD2ot zkq#kx1!~SNA==@$w%XStE7Z1c#hW{qe`@(yODj6l_Uk4@MiTY)NFcwg5dI*o7%B9w zGIP$d&8n}t+o&2u)Aqa~=*w&&v&BF7^p~zh>(*QcI$9+Y)XM!8Z~EJp_sEYX-M|f( zd6zFL5~X+Ey?7VZR%)hBpqipUjajm?C!nK!dRft(gq0Cdu@xHK-mLL!Kk1;agNk+U zRxsFavU4lm(R!?o_sTTbBYL!Mp0-LQqvRW;Bk669{@c>~=b8jR-Wc}l=+(5EJovS= zQ$+W^xIa0l9b(Wtb#Jcy+ONk7vCIDW-jZ{gUFUT~*4!$oUz^ho&jC{z>e%t;{cNH) z`a$VF@bn7!k|TvXqyWb7;h+H;s4L)oZ=i?y~1W;Z?8bxpAvy znty)SDQN3%rH7n)p|>Zj9=uT48Scm0q~_~uDgE|t&UCNljjLD_Em7P9Z5r?CK=-0W z?iKCrzR2Cj8;GYts=!L&nrf)fHAK-xjI{Zb-?;xFxjqa>?JjUA@*crUEB#xIVQuv# zE{?u$24TChm+K|v%1a#U-RPkm!Zurv^hQ>sVjRx9T(9f%n{-|7n$)9b9W73EAukNx z(Zjzy5PyA=f%wl=(?wawq5Y{DVFv_?_%^EogZ&v_vGnk}C^IJ?tWSv7;yzfnN7M=& zEonbuzsoqM&FJ?_f_*4|kj=bK@(K1suLRW{=|1uNgPKlZc44uJI#X&UI%y%$IJkZF z?ZQE;_teE+tMioTPi4{=kc!4JN(ql(k?Zcp$z3%H9Wx|KyTVy@^b8H1yx5Ki7uw}Y znY`?kUpd1}iJPwYB$&$}k(}{$Y*O%!b8%2YZtixi!F8cE<-#`2QZDyw`S?6TnFqp} zTfvjsv8^Llkw~>82vfgwi))r|Zg!zpr4|h_pwU5;{_(P12b}`)cG{+M^Ot{u18#t3 zf_b|NzCEK~#HVLD+Q4ZL)Zu92--O>Hq|#U|L)F_v8=Iudtlun#upIP{%$8PFP!w6F z*+%@-b(NY9G^qJ0?wYNy9fHxcZIvGeBaOrP*?FDtFw`uc57w@C)!SWpqs>&>V7AvG zSscQ*QKh@X)JI2W_>ke+8@pfZi$U+bhU=+G1P|Gmc4Nb?ajG29i{i*|8XSGe5OVud zuA`tr+obx2=t4eaZs*WyK!2>dw#mw_AAM5l)+f>Jem0JR;Q?7$(Bd~lan1)ypW809 zqg15MZKm*n@uOr~i+Stw2R}E54aV&wd9!^pT~Ezj`n*;a#!kh-c15Nxw3@bcg}{mq zZ#u!CO{Y(q_=AB&!NjP2Z@W(%@dwvphr{`OhrpfbW~R&~SJ&D{!j#pls3wMB{J5G{ zOG}0~l*A7Nmf&alsi!r(EXU(BJ!}|8Lj0iyq`%kC>by=*)v(A0zDpY0=+7S0u$2jU z=dE8eJcKZ;r*9_`ZI&XR#-%N9|7ujk=}uRF<$J{VPZL(Il&dx7q{f%y7e#Ccw?F-+ z4B19oyN5RHCvkO=%HBSN9n?7^-XcKS?%$txMly!NpXRaARGGaDae^m29Db*+w*KZe z<9$0PQXum;=J$4Pq~ahVLkjpf4?3nL`aOT@02q#5_b>a4PlJTNXMA})m~)l3o|E#E z@Hdl91V${*Y)diRl=m?>`h%pNKBSmJ{PgGwsNRL7Sv5sFuJ5?yQ*lDdC4m=nqqMbd2 z>7CfIYZ0?gH}*fhk1mCZLD;KmwAQFsuRgvwlxhq_6fXPx z>ICIO=qpUmP|P0Hukr=I>I#0v(b>Au0{{O|s1V=yD^dS?+o}+lf$RHxuD8{lXS$TY z^JDn;H~G_QUrJumb=`~XWm)_RDT^2>-&dn}YHuJ!hR6dhSV5d{e2gn#;kk@ht@^6?+;_pck=6zSgU<_=<`w+i1_ zf5Pth5%uN*Nm}IT=(#W)SXp9&oLD1)R0J`)o^R}wK`mx`vxw&RHxA$5n7*AuG_*NI zqvJ6aIeXpuJ_d$pIDo=Bt-VRNss4Vw`FNg+KX? z+C6Q2aECIDzOD#I7pq}()IVC}r&hh_7Hj@Ap&VAZmbOm(w0?8=W^5a31?`u%VQ4CK z)ZT7Zn$Vl|abdFxH)|cd#|W9pc2<{E@dJM%7P9w@Sv3qt3lIP1k+eL`-X1cBgrAGc zDZ|Dt!=}SM!0ees0!hjU`TdQ%EdaGG;M|}+`=`M_(+YT;?*frEfd}0n_Nd-ZUs`O7 zHZ(d|dRY8r77aiH(VuBwj8h+z8=3y$T{`|JUc&jx`juloOTA!P5?(}~=EiEX&o2Uf zIesbuLMVJ1dfCf7s)!$61mSCWCuJQIhs2NyM~Wc7rOR1n0P%56{;INg=;=acr9D_ztiS)M_WhT|Ih&Y ztti45*qfSe`1(Bsf65Kr&WNmV?58gI?j(l~tX#?z>Xru{KAJuK$Km;H4+MaF;?DB8vE9~-$lca8>;BcW`4e=*Kf$IKBgzS zVrg;adZE#A{cGsz7X&3e9_6zqm_GQ_jVHZ^Xz7CFt3lNq+*iFck`z-3NE#2!ZNoN= z=QSb8AjVdE7BAwnK@5fWu-6fnLVqOrnB>!EEQ{~AEygRbXOOdc=jJTp%JiGL0t2cH z&B9CSEKAtx4Fi^1@XdSXf`~eExrP#W;yW3Nb=US4EUYRiRd$yI-Dl+cv-&lTw-olB zH8?E|+b@hGCuiShk!1z?YnkKoiC2CWnmx4Rx)ikbaPD`*voHuVt}qRAJ>&0;C|^O_ z(~KxL73fRjAZ7It3Xv8FhT;|ATjX@E$`y=dg19`MhfO%=dr`-4oP0Ue8X`pN5&rRp zOYA&jC+`^?U0-ouv7u;fzlI|EEdoLi>1NgXvmwG0g-nSyOXWPgl=h8@6@77WpDWY{ zUS8ffoq0Pugph0f?kFhEmB%5_rR!{46 z7UdUQjFrXuSrr{Uy9-sLh#n#VSud652KZ$OoMPZv>#voPR)TBl4jP@Q* z8anTlw=*M3%ddpKQkPLk%LZUW$Kw_wO28^sU}F&=kEh#Wz=~MTN0$Kd5o0Ije9Yi4i-Nt4 zk+QKPkSUXbh!`=Gim|IBF_WZ~fvNGwf3L#-UL_xG(U3PZH#YjKRfCO{n1$`HRt;dg z5*GIVsC~>_+0ov~$nmf34#dDBTNO83V1E+@K=b1gTcCCx_d$7*|IdafAHj|e3dZ)r zHdeMa){jNzCT0@0v9z&Qwly#UWJQdf!A8bP;(%pOw^i&7tQ|~j?5%)&|7$lD5n+}8 z?4=@M3^p}$B<5iT$jVNJj!yfq17t}85@kF5W0!NS7K!OYG2-vQJ`>3p9 zY#*ClUeP)_#>UR2s%GdAomIK~ik#Evv!hcc1to{DiBH=Rm8h8S__2t8dyF5D4gRzL zeE!P_Ae%=c03r_>VBM1yui&4(0Bi+n_Bk3HI>`$R7R7fTUXrpZ8Q5i%v3-qf9XVRY zBxAS#cnohCMgA}gLIRipRy2?h=;og(lf)8yrYxlrDzw0M#hh_-Llz8$T=*--Yat3x zZG9$eC6%KS$Nfn@G3@312D(e#Ea7F;XTBGxp>b501Qh(wHF{PkQz{3OC)_9+ChDCR zcAV!27E9s|*DM>d-6)Ol1_LGX^A&S;Rh34hWw3E)?V4lf>JRB!&uXYTR*ZzlzXX_Gx!-K3@ygGRFtGF{ESRJ?3(ubjhkTD zt$`9h-!pH+BSyt)2|^^<|+2nYN7d7dEoyHZ$O+1~of40_-3iA1l;x(xt^I5=-eX}dl*i)!A{OUwN9>#1%x{N7X@I!tncMOSC(ykWdfru6lSG3(fv z0ZGo14!eA}D1lVl?+L7d&72FopcWJvsPW3%XK_}?o!m3N_&E? zhj9Dj;qkktY)ach2QT%JoUs&@cDKdupyWxX8BLo0wi^b4KOR=u0 z<`$*$RiUM*0y<~4bL;%d+w{%5HSI&rlPRl8h$`#2qDOWvGDg~d9a8=;UoY?KtE3I` zuPxcQr3Mxij;fLZ=fbPSW189wdl52v@_e2+SdPQSejk1m6mMWRox+vJMmy-QITEwo z6&Fw4+c|rVv64=jZrRvyRmge84l#2>ke~|IB_EvNcXGEq@5VIiVxQGlOSjZ!cK>a2 z98UH}2`0R|?1><=lW23zUo*I5B~UZR#CT6T(2Ptpi!;GbZ~Sg!<>dE5Ro8IVt#XGQ z_ivM<03%?|UsPzE88Ya-P%w}hy9c5Z1%l6l zP2~G`pgm=fa{DQQaY4KVq=G^DlRin{`_Vss?kwTy&0}gnus(w4?OI^E6R>{lOD@zu5kgk>x7|Bl23#Hs7dUI(t!H`>`Wutj9p`eT@@reaMx?VHX+9lKhl>!?Y^jYxhMrG&nfR@s}Fcd!#eEJb)m{ zOZN{TlO9BvqWAg3qDaG>UdxmM-kY;o7r>_&4lSdO{FkohWwlGLA`zOXBnXVD(q zbdap&T!TV$9b}!e)7v~!35OWYvcf81WVmgxAj4afs_v@XXtOF%5-&)2RNJ`3)c#`9u6 zZPzk6c`&SvwXoxMOWVs7GPSOj@x-ByC)Afg#R@t;h`B_`N!FO+Ebf=QLOueHyrom} z*J2BkatMww#dadUV!zJ#@?Y2tB#`4o9zcT|b!HG+uAC53*rm|cQeW5>2=wm1bNxR| z!zZp!%S=I?s5ew%Jq3wgB7TPo*+OXsc(kiW#MavSTE^&2?*!vFY2V)o)Sep)e0~6- z@Q>;xdT}y-vJ;w< zMSiO+)3%i+8gJ@_SD0XuU}k7n+dH1JJFcGM0tQ30E$qo&1{DTxp-A$JtSe>PjnnKz zH<)wml^&8i*RF?a?bfKPd#4L^k5$C<jn&(BYtJb)NeK&at2p*myO1TFNPt5n$B z%UgpL!5&pOH8$U5lG)o#alPnG^i@?eI1W2cW$n#Y-DO9S^xy+LVolHTM{|SP)z9H6 zliX<;P=>vt9zaXR=K`n`1e?^lSXP~Xwi*|N<}rp_Dp%Xn?~Qhs&rI$F*7|mC`X4}D z10MJ3>85={+wUEIvm6T0Umtoem98)B`~Z0dPCT#c;{P06QdUBWZWwj*CIxCPVXmz=Qpw#0eY7R!Z zo2R67$soi+#X|V~qraK*p#7ehDouk}p}Aw}OtGb-qfUyaNp_v2gUI@yp%7h%sq3L# zJ|@&}s~bzAXZLE}_LmwUu$>p#uTdz~N9!s%L|O(SspRyC0GntU{2x3r z5nLUHY)Gn>Dx0*n88qj%+H@SP_*xp<>RnD&-G%utwNbhEodyI?Ync4jR;u-*hgw&! z>azPh50XD&rBt=C?h6yDS3Vm&Yskj=9T1B*?U`1>hqU=>vZSyrg@#5}+}B$6YN|Y} z;djY*lXLrR1LkQYqCyAy&rrN~6zT>3nWZ#?&hCb>HIfaLQS->Z@a`yii}~NbHnna0 z!{TJJU7*l$9vM>u{wT*{Z$-He6{HMA9!=?-=s(8U3p23y^fDXC&|Rrg4@s|eqTZ6C zmFoxh78XLA(glbZ>i_UejUs*K)eh{VTRS&fwrDHLH!{^jRc)BX0y}ey51^#Ymt$F+#J6?>`p_Wnp3fLINwIir&=agvm zH{{$EGJ~L=@Bkt-dH@x+-}m%A&%!SJ4T)fR08K1EfIh$1GrDt&xGzP$CDTTUU8`cf zHZog%Z^_%ykAN)|x+4YESUmPK!lpU0>6F#vYPUc9tf^n@Sb-U2^IFZ`?{oe@zlxK& z9Orn7qtteBWy9=mq`^{_d;abRka{32GIyJjjr*7T)Q;yRUXx-3G%$5*c`1l)aY^Zb z7pICmMGJh8wBeA-4jfaif2>7x^JT%w4VaD-x@i>J^ZoB;8spvdbN8S87JGvl-l?3W zkFToG4ovaqbM;bethPRL`R_&KZS1}}C4%V@U5KI3Whbg(vz<3LQz~{?_|tHRS*K9( znfVn^WU|IiM1vbj#x2WSleqaQEahmk!3JAxsN;#VM6K4wx2om~QtIKIIRP4`1eMvEFQmB!!~q3)75 z7Q)|&jB4Kfn7U->yg*jEP4u-n`jbO&MW2N{Ynz%BbL?xSEN%+O0-54W(^dCy#K$B3 zKfR7(8kYV1UE-KYO1}Phj+tjl_G-?XJXKC!wM}(V;ye8MqiIA;$R=DaG$vJoy1DCf z=V$J*6ot%f6kTjF>B%CoFa~$ok*{&fxd^o9t2spzStz_@Gn<~UgZ{*IZ`m%#TU4Ia zlcYi^AAfiCm>9KuCwr;G)C{UaJQ>~BT>-dtKm`2&Y7UHNJZ%|b?Q^TvReqx;hdisY zL*XK4;TJzJpzFZj&6yF@Dn5P<<@ngd8<$IW6`Oh8rn5JNLZ`NM(~OYjcsD9}F{{8nuELW+tADLAOut~_}(O#fim?|_LIGKdDitF-+IPyD{y6fGa7$clQ^7t3QI|g|w$+1%Jpj4fG zudBU{I*;|y!fQ%yy#@(#@!?(_@{6Cf+$efD(~J=am>>D$cAj5vo6!f#Nq+&U+CK3quMs(LN% zpP2HDA*p~Jv-mTV?4T40hT2NbR=njFi{PA3CYtLyec4oDU2Qr3IcO6&ZAp8fsxj*J z61PmG-#H7R=c85S@~sK-Gf9mm#`3s9sqR&_W%+!%iheZW{?(yM!I$5Ox~;I|I% zxR9^^TaZii<7`tpLzgI5jn!Ym_{z19RSjHVS8vvmEib3<-K)RyS*?Pm1Kejzd&hkC z0HVNU!dP@$CrnakH^>`FgCiT{a!9D6TeL; z=X%*Pn92C>SoZTP338{dRN|! zZ&%6A0hq!x95#N$($B(Ogv{l-e8ZnlHD}7i;a_RP@;&xVU>2Q_lV$3gV)YBJt zIPsHh;)c3D-btOP!M5RcUzT}D{b=ez5$wfixABagM?lBsM4rKxTA!Ixn_36^k6C*s z;^aByCV|?@c>MPxB?Cv-P$&7x6mNX^iSe5|x>9f8nAMq5FBiNT=OxJX1BkvipXK5K z6mhhCLlf9$$nqZ3E(1XyDe8dSI(kK5s#kOFo}@O0u<*^TwRb5?j!A+~)0~{$6v1I&9zc zk^*u3_#Mq;h7zXPcyJ2UYbso-dTn51B0(cmQn;rmSnM zSJ8X%d@5+!WWpnYdbEx}Zp5=^4y?LTOn$29pMEN(b6XpTmu7X_)YQrfEXp&?R}C}g z(5eqzISAopiMi>IT0WA?EL7r(m5Qsb>#bgbrX>#qMmE8$906Q7gjBk1V(Gc$PMqJn zPqw&k+BcfGBq`)8XF0MqVkzTA<%+6@rW9x%(usdgW_7US@FWsDndQz~Hqzq06NCnY zgbD0Yl^Y0?4zaqaWqmjL>HQ;BQpKM@m5NHT#yMKnQhW4eXt;2EQJN%@2JY*NE%7IoAkejZ_G#%Wx8%W}ZUKrh!@1wWQBulq ze#=ZO3xBkc(U04=-oM>zMm@!KgdoHlyH(+-P_J%xqxp5VYH{d{x>Mdk9h=@y?edEH zW(97QxFHb|zFW{?aO-1VwsNp_@vyTTab(KkE-8geI14*ZDB{3TYBNZ$YZqgYA+!+{U7M>7QJM$gMijOVPDYx%6Wf#eu)oXxnt! zbB?iXteacG)lDH)6u#uJfMMTTzV^bEzN)v-X?Op2p|`~)uzR^#ptqs!aQj-CVXA!3 z7jehHlxD-be!VKnG1iQRqxmvk$P0f=dW65aSvy`eoI%;&{Cx9UEU))QTA^!UoyG#e zoto0gdSTuDt@AyEOCKRDh5NvK_xK+60E+J+^a$x=nU<1+nj+b4jH^Ctk#>I3<^0T+#t;|o*^-#%1Bk2Pule=Zx%-bElu#FIdF3#cm zYQ3Z!de2soD1k_!_wsAm53LjHSsfN#$JVRf;*KC&*o)HG<%|do#F+dw%!-#tP%d+O zFBP2$e3%JTX>x8s+XxPBOfbwbI@^&}ZJSV5{o`i&z7?EM+_f8l!>EXKm-R~_mS)A2MOu@KODt5Mrpt2juMoO#~3zA z1}!vrd4cFT1ZdhfxEte|@u?lvC<{Z$cP3*gCaSAu?Lt#NuR5ltCby6o5s2dIO@JHt zgmB?XMJX3F$Xil^Bj_^XO{P7o-*&85vG#F$-b2kM`;GWTbvOhI?3AGhlI9^+A8*Jj z2j!)zrj$qM<8YdTyOEQZEx2z=(X`Nu3&P9`oT$zSfSnEosyvjLGOlfA^4{v5+yXms2 zhR;lnEo|kWWU4te;g_4WgMZfwuV_TRSb#|!70a&`vp=hT@%eVPK3VQn1>B1%tI(_Z zjN2F{T!*vJvDd;xafU~(wS5|vqPQc4IEx49A+mHf9-PJ?LWdD4o)Yy@?(+nGQ7z5n z-GZqO#prxF^j#=ej^-mW2Lko%{$%+q^**okeYi=>K`ewMB5{N6CAGL%og|l)T8%;G zHlb_o$Xy>x=9sHiq08OW4XEv6<<|ddbC}c{dsPXAtw$wuBFVKO_W?w*){7Lmd|Gko z(U>BTmT*V8tUX7Zk2!-si&q##-Jf;Umb%=Z241IVrg z@8-p=g;&>|#TKDqBn`%jo50j^Ei5f{KmQW{Niuid29VrPqagK^r>Z-e_a2hH7`qL- zni@v65~_Uwg?YgZpi_2SrO7*8Sqqs$Z^2&OfHs_~2hgkg!p!`}T-nsa9pJfOi~pKb ziK^4yqqOb#mbYfK58bLU2OF~6{LO>5{Q>l@{pK*!zK@LDbfwN~YT30ZRlGb!=vYRm ztDtm*=W~EWI(Gj-%j?el+xjIF$R5$07rIv>~HV8TaP`w4{~Q*Zc#6mMAD60_Jn3(7;%cYq@Ffhi?F0CK_Z)laS!?jkm3E*me02S zE%rr=$cECt^!PuuUM((C^{V%su+l4xy_Y*dv|_ zLvlnwgLz$~gRyq+v19BSSG43?wp05kpDHmyM0>^G&uegk<&?ti^xd#X@TyT5d*Uq`T| z$p(leYF&D$7rMYt?+tI3GdVIzWbDk zf#`QGk1pi-{}8X1 zpHJ`d{`zZLEzHxDsbw$yvFkNFfGpGNghF8;Z}jH1d$u!Fp;3mw$KKQX)c1zH%I_a< zzq)25Yci3 zPx_cYZTk`Rq%Ow)MLqf2rAN@C7Y#WkNZV{bz7=4aQ$OHZ)&EDJ%6rwD;|!I(42uY@ z_aGg$d+)5p%I1+DbTRoP&Oaof(Snvyz2mq-3gRR+a*SG1Y zfsds7M-tqe{s9x9`BZ=;yV=`&d(B|)Y{&{y+w!RKU#WfxFrl~iW+Wix^*^NO;3GFT z58QA(1i1cH^sio2)=|0tkl6kQiER`M(D#(p(*H2Nuhrnc^lATFto#8QlQYI0u}db-fU;^|2ho+ zf`}FQRk-}4)~($(!+V-LQ(%;jYYB!tx=J<{RmX`(>0`6u&oLdy1KI@sIw~sfsMI%L z9CLUaI)nD(FR1_*ldo2P^8L+VGU|w+wM#)@=-iTS``aM|XNc@ufL@t4%@_pu$?nme z_t3|So~OP6PzNN_Eo~lqG{#T~w#ZeQ{*$r3`yrQ1 z#}S$G)l83Q5VTo?iyE~4*H*&mzsNvd`U?2LZv9d8OFe}o2GExtK*m?zLZ&~MUI{q} z;oOkle)9SanssYfCaA@lI36W3t4T?O~xmxx-g|I7zz0ylp z4)^cBc?kV0>=ckANR@o(-Q9ldA%HM*^E8em&FjmQ3D$KJ#VcuO9mFeh@Hj=LC|g+> zncb2Q7s8>``aMO_f({kEjRJs zF4G@C+z+5Yp)bo9Ee{|~NWAvGZ@QbS{0^j}phc#F-bse{cYS@WJBN{W0hF**CG!x! z>7uSb)3f~^x+16sxm$f4?=D&Ep=aDJ>`uf5y9 z^a#@j(9?*AV9(gy>ELk>l<<~sY8mb?S$!FP>8=83M%#GeCm?*R`vcg|`^TX{cn%qY z^@!jo9U7kMk01&V51amu8^Uu42d02;{IN20A^K0N9eVu_;wUc3u_qAw0Bzt^t=Y0>Z!4?!UuIkl-}r(KD!C(=pNndH3`W>xZmg!Xf}~by=L& z|LZgc|2hp#)p^us+R~oyS0(z8=_kj!{RDe-DBmN$mXJp^>G}H6ddHkbPrhdabhFgU zYV>=0fF*k0|B~&o=!gu_<*VdRmG{`ymOTEdNNU{8=5cmXM^$I;-5G?w8f0IWCsK-y zsoc?{C_OOh{<$74?@RtPx;!GQ-A+-+RWk0CKH6zu!HLj{rRlP#_#n9FZ_b|q<4iUu z+^~;1*^ZjYHp%{Xl0C!jSm)n58kj0%W%^fC`CI6+wr@2GYH!hI?d9+^n-X zwl=sjMLUh$z0khXOz_6-@Z4l`7B&X@wBrdkEcvD`M^?>RmDSU6efBg(7)DtmIB1VV zD4DQgeg?tTOC=DHipo9())mHR+cjM@6@6lpA0qvs1ayRbk}Jj_XvJw4F50*>1YJ&n z{zzTpPRgPA`5dp=OWmA_>sf+Q`E%Wky$qM}C$oCqt%qL9hxSNBw)S`NU^3uZB zdX7;%vWVRIrkV_JKBv!(Skpgy>16t-zae{eZ-Fwo`B(ziW zqCw+y(=S-vsf=i{f(TQ*z)rDHcPVVAf0HeKM2|@K2xg(-#kArwCp5~dlf`llyp9>K z%Ij=JV=l{gTE1t}ONL6`HkJ{$yueLCGv=4e$SBtz!ih-r$5V8*G0{y~qb0-D(v1pB z&}vbiHJep9k0k~Ls|io-doNZVa`uq2mP#h;w+mcS;MixhD7=nrlZg>aDPau@42w+Q zp>#SX$b9=X(sy!JF)LjXk|HT#>S!yoe5CI?WYoA-fJlt=J26Ez3oW%w)*!=geU#4i zK}5md$-FLf4`DG;DYIVE)#Z8$)l z7o9iS03S6#zWtv&+wa9eV!^ljYZb*z;fT3!noh9VlVM$6WVreV;(HS=m9RJ%HsDLzu;(lG^q@Y=N*+~#@!49oT*0j7z{ABnhW2;Vfe|^%oo%l~B z!TY%Rf|g-S$@m|6S#+k$b0V$d@NkQB5^jVgBY*H#>t&DOf8a$5dtvro5{f4*8I>PB zfdU2Q?UCX2RfK)sOOAGq%K4H>?UD94;VJ%zm8m0Vm2kpS%16(S-=7VVbG}R@uqRRHmk|Rpxbng(Mte%U7z0=FaLRr7Fhe5rk5OeksK#?9vNP zRZQA6xSty_1@^G)1R-qI=Mk5t>T$&B%DV0k3SS)2m&nl9wY@ z;aS+)hF?Z1@&!j#_J0?>VpPVJfm+ITg_TTlX2z1lM6wrJv(hTz$_xb8p%*EZHuAQC zoqOxyh%}sh#b#(*9gWWYb}7S3YW3C`4R`T4o7d(uWMWCOEJ`HRGF85mw;Es==>(^e zXEXHHBL7PMwkCQ>TvpD=&}m=h_`XaVTM@4-k|EMr+RP_NHrkn5hh*%Hcz6tDCI^Pt zp$$Hs8uU1M{={SQ_nFj(NA$SV~Qyj@DnR8DO*^za;Zyr z=^Zxf+otqhPo#w3!U>C^_<1JT>7#wmzrpKPm8Jcgs2&8sD99lQg%S$Dnp#MT#3%q%T9}!e=mfG>sWf)jk`6(5(v_oe z{$)Ty)`~r+gI#BZF`$d6tu3PuhF5{{ACEs~FNVI)t9 zaj@9;QGI}K7O>kf4ooF6^Hf?xC4Bb654>+Iu_y;C>Mz*b;7MFAmRA>+%7t5%3rpjNPmCw(b)yVc$!q3SpRTi(*G#K5` zFGkP^sZR=}8LfGqFPe;Ow}&n(D3+s|9HKL(o5^>Xc&ffemXlZ)&4u-*wq(O1yP?z3 zXxgHHZA?S`Gw1JaQG2qyeI^yTq&Dl1R|`3i{1xH$jwU-^i)TxfVN8uf=e!gO62Nyn z*t4wK87IXLnbc_p!;@RylC-F0_zWyMk*HE@fm&zGsa9X;|o`M6hUBmC=wA-(8Zc@Ja-~ z?eY6QN2|EwvkiDhJ2RQVG%~_$y+vj9s!931x<@{q( z*`5O#U$-cbH968Qdv=PH19KiRS@4IY;+H^R1NqGdkSbg0CGAqO$^7_P3k+khWxmkc zTI}boBI{WuvjniM!-!3!BQq?A(MF^*IKx}?d-g5Tmcf*PBXzbzV@WhT1uwoWPf6L`8KCc9Z1$4$^^w7DGKn5=Epl->3XU#C&)%Fng6`l!Yhi7TD! zJ4R0(2j^~tz{M~o*hO4_U~{u_R@U(BQBGzBp7qk+(0RYQupR0HC_x!`bJg@_^8m0n z3ih6|lxiE&e#8a5x7Hk4;}CJ4zTQ9dD2!sa%Z6url8bYrC2mLPw_^MN`VD>n-B-Zu zem0}-3NvQ}-@ zDUtxZgN_!HZ!?VINsfcnzK?2WvxjF%0kK$v1ei$?$}2Id`)QOnjOG#VNV1zGp(x~F zrcvP__b_TZ%#I%5_Bmw?nCua;WPwN|n?O26!j4G^EEYu|JrBfbd81+E-0`)+D|*?Z zf#^?E4p!Mm*`|&_3|*P+2w;x!5&%A#Xek0F}qLFQ?l&Lo-CM2;P-r+(@KN~QJ66d`a4i?1qUjdticnEMQg>V+qP?9 zi1#X0MpuR&ix$48;d5TV_jd@RSorMPXa;*&j00F5(-zM-lNf@2g3u#r5M|r4livn` zerkLt4te?2|JO7B&gONIc}CH;KcEl9&pv^GagT-^DUy@q877H=qzpU-Vj|bGXbK5w zAU^rH@FA~IgC`7MJCB1k)u701cHx74@n;J>+2V1jNI3v?#Afh(HN|pdd$TO+TXjEX ziiM?X;w6)Ps()@h?b=~ZrSURBGqQ-|h1?pNZJmgJXYDhFNZbF#-dl#n(RA&i#1k|? zaC`9J!C|l@z~Js4+re=pZu z^s4Hr>gw*Qdr7TYjTT%_bYJ?ZG#*+MwTbE6gphbQVl2M5_=Q#wvO-E^d{7!(eZ2n6dNE5)Y!Mu*zbWVyXWO20 zb)#r*Sd>QmWBJKus2=QiUTFFxQ@}iJuk^}SEM#7;S?1FHkVBH6OvL(;0i{L$QfXVe@P?#{n-1G4Q_h{niHoQ~~rr z0su&;qq%K1@-c5kDT|c}K%~0W`4a2dZ>200Es$q*3p0RHm=e7a0w{lgB9{(>SKsQ3 zGSUFdY~Ct%>N3?@**x)6tb8nRQaL+9GJ;Jk`gn%UsX{Tlr>8)D>r=me5Tf1^;?5=(IG50(%4(bnMrO#F4;5|7*~Ea8qm zmVDAUNv9S*(>JYqYIMLirN|QM(0|zG^W^%%`PoLrKe#8W&+ZT`RMo!1eprhyo7QDs zf*E*E&r-Ie*FIhVz(@raj~z3|nSrWDng%(sA58s&;08Hy-``)@iAzprKkS?er^bbd z!}&gfDl#df^b?FtbEGtFoeAno+T2bF1<-#Obncew5!4JoK7nhJRmCNTs3BQ9Y0PEX zHJ#dxJSCmlfKCGFr4ItFSPhctgUZc=%4Vz$qgk~d0J5BPxp^><)c7Rh5DUOYp$tgQ zPT|Wm3`<*N>6$4Zmd_g8Rvu+OMXL2?#`?8POeW#Zlz16X@v*ab8T$}R1$9aLH!?|0 zpZD70?CofS?}ISj^W5iq{w>764lA4IeRfz@pEB8F=?h)zEIasPI;}d)X;S}6Mj3G% zM&)>8i11+HkSnJ_tDK z&?mp{u!x&}e}aMKe`lMJq1{1o`RUzVLR0M&v>FVoH+N)!QS#tUkwVZ@R!}e>8Snt6 z$|ZPip*c1Xt`IOOQAQ{7v2*G@X`695n!?9#523%Y#^X1-{KguiW4XVKQbfP?sOASt zM0~O(;c~_E9Qv0^k*lI3dd?HMgMn&INYBg?V^k6jljp3IMu{=GdM4e{oUVt0=)?Ra z?TE%5Al7ruqA6XBZhHJK@+`inzb2@oBtJ`-Hh-FwvSF@IBgv8?Js8PR=!Mx{W!>OZ ztop*+BpdE~Ab-GZ!=G~CGkhi7UBL_9;uwTz%$aGFGBV8C1I}_>xdtb}ZZoXW=Fw#G zg`#7gJu@sp;iL#l+lIB^t2`i->N2WmKArg<$+Co4{8f`sEy(5RBo@|Aq~(uet_kGQ&+fEpnq4GEip zNdxQHW?{MwuY-U^Z(zEs<^fWIM7E`|x(u94TsydeP9dkY-NzVw~?Yas%bX=nID{JlLwesuM&`7HWMtC@qzhdso9IV46Sqy{K`X;rnXI6 zu*;!R*WpC)Z3xon4+%xMzp0D*ItcNHG={t7Bu3C#bHU`bu8eeAU7?kjW8^ z()Zv3V1btlkPfu&p5p5Aa#;e{@jQWt1)L*e5`JGGYt7#Zkq=XRt{Ez6H3t}d0Lfwo zsKKla>oj;!j6NirOdnkKV4zAoDB`($mtFbe(He?!GF}owiES2>8g=eJ^rG@6zDz#s zvurU@_Najp6c|R+d(l7|q~$8r}Pcv7{=0@L@5pOrzal z`lI5m^dBFJ(Aa{?CNQuv?IZ)sLEtWT3_@$HTYDK`H%p_nhy|e8{XJYESq&BdXs#P% zJWxQu8zp@>!~}r!(F^sd>03Kf6tcpzWf5T=kwq#WQCJrzSC zj{;&?3Vc2n&;c4gbC5L`l8{0M6cNu54XI=)U@X|BkdnifwgR@Z%t@&O`Ru>*cd_%_ z8082g5Rh)Zjfg*ID~Pga95PI};p=s?cqM4vvi{fY?rD{y_K$JLD(v?lVK8=SOm=fIzNt?EI)mmk4+8qjE zDfHc}MI{w0b3O9rv>;pCk|1->0QqD*S!%qGNtpiP*%n2zBu@jtwld;$PcWlGHJAWn zCTZR6mH7L&d z0p99eNP_$^6JU#2y%Q%CPCo?xqRgd1y)3(y!<*9EiRxAl+ZfYgQ&*|)u_a1TaLIIn zU}eE5zd^Db`%Fh{45&S!mdwtrcWV{c!5n0+asH(IWcgr?XhK!-9LcTfu+2YEV|E4X zuR#G`ylfmAPf<(tPf-pmdHkfiX)I;r$`MvtJPOqX?q5ot7b9>HWHzRnRsQZQZp0DL zTbdV_;m^7n=@w%n#Kwl>itko_E4Ok z1e~cKY*MLm&rF{L6OJVzNJ9~1Pa2k4uFc0{k@b*8qK3r+`rJxW&Wz87hPWuc*CLA` zQ+r#rLX~(hl=StN?s6=G$GsGQ)nxQD&aE{?qMVS`DwN0?=1!e8@N~>QS?dkJ0|9%5 zmI+{P0n9GH$9Etuz$0-@hNy2ja+!9ev^5z|L7T~UI%_fomU2Qsxsj`sEh1!vlRg}m z-6mukMZfpE;#VH5WQ{lF4qxB~$?6Z1#Q_6}vB~%Qx3z#)UV(tgQKsGa(&~3>JNK@nc0CP6JqT4%hO*$DnP-)OYqY9UgdP-@CUETV)w) zS?_Y=;TI`&8ERyKuO6ueCPR2`a&gp7$$Vi?H>uasu$1yIgHS@@wd($;G4GDdLX^;L z5}Fe<8km@drI$HJAO8N(u;rI|TS@;DG|lf*gB87Bn_dA8%=Vzb)7{Lbl& zV_ii1Ev4N7Dr#+@`@q=KUN^BXcC&D`3>$zC@*V3Z0At3CO3?t&g$Xk%EobyM;ykqflZTU3 z{V9DDSLFl6@v?w4-mNxIZ?PhYrw**jzzw(&`4Z;1wv(BG-F44u*)!GeJ%zYtCxa_= zS}@}Iv99fWU2>D(wES5{Uriy2QfhcR+0paPXfZ(_tPzXV z05MvCdm@^|q?&!}w?%uH)TG}Ev?e7JPvyz2pYSF;F}?21%`D&;sNLdhDE8!Jp6a6O zFs5(yvi5?XyJHWm_9Z$h>|jc%CeQD-1pkv0B+eGDaJo^WAJjD_a!(1>>q1aTg{(8W zEfI9=K(v!gH9@`Nay@%Zn%d;&>8G(1GObkT)M__+Q;v%oI(qoK zGI4R7up!k>h!Gb0fwo^I{LBjRV+ClNF(q(518Hhfqj|t1IwH52X-E?|o$t-#;PexC zb@)RaK+oMf?X-e2Pi%~ypl^*`@``;9AEs0S?n~5x%F|E1hJ|_(dZOzGoK(4FyFJMc zoXmPx=d)qaWv8W^Fl~KB$5Je}U3Mlt_xo*+0M`t#)11aG=BVgcq&Cp?GYf2&1a_qS z*_~j!fL=GI>u9Pc=qR;II+5ppj*)Z=$^*8LDNyWH-GvIa)6eBiUV-0Lk^-ABRrMEF zd*I-@cg{!2KM#S1xYvyL(0fg70u!iYu$6BMudeT?4R*{EeBq82&byFC;;@TGpTE0Q zKYVfO|A)QGPv|Di!Ow*37DHd8@Sw<|wzh3gzhN{76_ckNP*t%>WDyXYn!NKa#Jhm9 z9AIB0X#X^1hB|A6s6R4W*a#>$mQf9qTLL%@kZ1U%${Y4ixgtWgDxmJGymL7?i2Eeh zP!we+9_$8P<&f4DDTEt_T^G15@8$vua4{u9DRicpeq&_jwiHhQu%(x%8h7a=b3CIO zRDP40B`0l;B2s~V8t>*7U>7xPReMU?yO+v%0=J_{iGtvMZFE3x(hO8% zhh4{%Qn|6;$!-{^_Iy21O>}!j(_JXArm*w-?gABk5vZQ;k;v%$gtO*6VMBys>UBOc zvLQ|$RIvs0>Gi>%*HlPa(v8b2?pdKB~aq*MlYFhHJqemF8~NCkMy98}Dr(GbfWtwJ0(8-N#Y_5knD z>~;((h5;Q3Y^YYi%+DMLMvrvgI52t`f!FO>eoFI^{uMS%X&^A$oEaFjFnp+(O|$l8 z%J)t!7u4V@qqHTH>mo)pQ5V(;@hXRNP}`#l~u9M9U|^Gk1Vp$cZ8WT z`*biHbnCwFey_Hu3?#b80XNL6XHRatWbgoR+A*c2xp%r9km6EX7O@D?b57xp+ss} z^45HP6G2WZVB$t{Ax%-%qnTS@{H)Z;?X zJ1K+cb$eQpADPE)81G(>;4u(NyZD>W@|~7LHwRl$O44GBXOTm_3*;9Ese8y`JV0Q^ zjzU#MJ;A=37NM?Etf~!wE@wGrW}ot!E;OfZHga1$0!A| z5D{o}s%7smIZo9jR&&C=)chN#FQnFWR^8}QO~w^$BXL^5$r`97OPE64{LoLwax(J= z=#U?EOp@MKJ@gj|KOG}?Muw8VY~B^8^L;(J#dFJS&44AqkASF-^~_`f5ZG^pc>6zj z?SB#Cb%AV&F6^k`i7HxL#4DQ42>0r2I?&5oasKshIe!=lXaP*vw`>_WVn&fv0S0$K zj<-PkKE4W7{>`Nc0M#4N4>ljN{kFu@Y1;p3kxz~amHyIyYZ)`(c6qlTyULip^en}O znTg?yjcI4o;_K{DrNbAK)}Owwc^@4q-Q!&ZT-lE^Di0}XTiK1$(9k?nU;cMCq22Ml z%dEXEY!(xm|7`pR^4nLeVKFSsYK=5$)qLHiTvA!SRHp77{+gM3`hiHYXIgE;&Z)Tu z!;t-|ElGicP*!#n;_XY z*)$>Gx3SLNVJj^R_?{Xt#QPFW{r~I{K`1*bIW&%ql#j(UCOs>S5Inl4la6Bx9nRI` z8E9zlv3kk}2PTvZKpBU=Am3K01V=_7$O6`oz!VyG&(yFUO36?}&uBul&@fF*YtjcK zV1258y-Uf-2JfpSxBq#6rLcIrXlIl6A+SX$_V}W(QEF3|O4fb9-e}-7(sJw<+Bxwr zG_je=BM-d%mJVZ-i|41GB93rK^>;wjFGD>>N$J49p@LC^ySa6s^u-BCnP+;Fwqbspnv79vL5{prB zlXuiNN_4Oh_dK6;d0=Z~C~O^B@(z%O1Ei03ih=)l6tsNRGZQ8Ms9L@ zt>QvwazHp2s-d1PrAtAku2Bt5*lt31xCnSlrai?b`BYW^GHO)xA)7o8=|!^2u09TY za&2mgRIVsQb}ZzF9epd#t$M;m}RK|`6pZ;;dKxA_fo2G9)vyIZ*p9$-Evk!WzO21I-meN@f>EfKvn zW|khQc@%68lBm1x8UlD#ahXb<5Q0B#^9yVdMRTf4DO>12C+hwvWZGsMuU{dY07HGJ z=_+ly3Q9ILUi5nb9VL{T2&xNRp{`2T=hsE!~ z5WmRGEKtBpmlDQEBII0QN%YTH`PZoFM1_tUTsc>*9jF&}J7Vd&BznKT8YW4`z4v&Pyvau#dX{ky-mp)DQ zc*cq(hquk!ZQ(-E+LCZVV?v6$Hkq7gt?G$c_jI>^)13|{q{k6z@x^E-GXV?I&8opy zgdRhvs|3#{Y-V-e-{wreznWE_RyI`~fW7>Uh}h$W@aUP@R>4)@e>08vMTWFIvN%a5MC<8*wM$HcaPwaz4%Q??xZiTmD@mSX%#n!gZm7 z|1(Sf8fyO*{Qd)Qzrp)AWLtQyhaXo??5QgubgPf`OMlK>&ibD&Ii>%b5vQ2fP|}1g zK7FEf(!&2k{P@#9R45WZrx|DZq4icq31v}6!O_N~xxGlTy{&6?-Cid$_1|#}`~vpE zQV@=LeL}&-LY`+v0m?@TiXvsRwQAkmT`XVw7uWe0#m`i*HJp(tdsFla4cMZX_cOzC z+Gyr%;RDWui1=5x30fLx^7w(%+0pms1K*4BQz>B`AuH2|H*pnb`oNZnJ<1X2YC0{| z`lXf*>|w0w1+*zrohowtsL^ctK~(r;$>>&s)o5P@O>fVZS4S}^Q6p}-lD3p~xBoY_ z2`=?1!hkN%M1}_mubc_mSJb#jX%?Lx`aAE@_iDC3!qtD(tJzPTNe;HtR0me^2y18o zPrOv^2>QW~J3Kv3M1^2EY0XAJ+EM}5xzLG7)Fe?nU8Cqp3CJvnBsLTlPHNhn;p__eFvip&=Wl(gR&)*PT39P3s z-;4m>RK6zlmhV0;1_9n$Vu1Qa*mj+QzYjfpdcpM3+t#GznVta7*q>?VJTx_~$jh20+l6ku3VYs})CZba&Rgz>E>@t3pGD$M zMk0<+T9>aFhLp}%l-%0#q=9<^_`Tfg{J@ z%T{1mZ~*>ZD*FpwN3DxC;&c)oGAHr0ZSe;UrS5z>b%1mR$f0S)y|IC}hFri-8yiaF zFAV|IK+M3`*?@W0fF3*Q2_c%O>~~=knc)_VbIE3#j_+w^{>hS(q0aa8f%yi++@{7!a8fJ>uxB;tF-b6 ztv{kE*>JNHi-(5FHM_Dp`xh~io@QU-fbp4^1G_>C61SCqv~9to@vYLvp3)$o*}g_An(H-+QAt|5D5F+ zy+m4EJRb8YH9G$D$}*%RE2Vlkie=>6R)c{WTWPE@N}MWssZx5<*|+))$~bGI?%La2 zHq{|{I(xRU^e>;sH5ZiISMg+RT*nuqBX)8bL&aLEIXGQ;EIXI^T#Z zR~G|?-@KG3+1#4ye^k5QT7Ee0&&|!+Qewm^Y%7cBwjqv7fz=4M*%T^a%tUmU33|Us z^5x*%xMsb-ufA?b@WO39EKW8y_PDzsYkNGpLT%ivbg(^A4IRlzP?qSeUUp59shMg! zK1n!hw2IDM@`|4?FF^yzWmM zL=?Iww^SHpP7G8HEgRNMYlt%!Rw3Lfc1Sc5tc9z$>@PaGl6QE~s~W)?uo=q%poqFS zQ^~l>r07_jdwtA6v0E)VU=33(XTwL;1h0;l@HNDpg-jP8>xdRICTNxLVQLz)YJ28E zfUOB656L`T3+JG+rd=I^WLPBpSf^NZlp;U~|HAAz?%Ivi`?U>$| z-ob(Vg1R8JxT9g`&{{7}+?2R#a&sbvXbqZK?^+Q*DIiSV^3^Xio1Z?^K(M8R%R@WH z54o>Qn3w2z!Q62m8Qy~InA%KN-vdc~HUm;5!Q=K=8(Dbs(spd!p*HQ|9=AE3#w=5izQmrbp53Uf*W9>cazSkUCNpFUW!#b<7;B1LVnQ@F%y!w0 ze1mJJ&a!u@btKaMq0cJVY!Z24DWl7ej&joFApIV0IFP&;uCJTuI`r*kA=(^Fq>phOX9W2C) zL9pcRI9>i@BmJ1X_`I{r?mb@?Gr4BJmi;hvxz5PMa%yW1JW(^zZ~S$C;E6NF&8x|R>n|S3I)j5t7VTGhH-hMxR95Q}-a-$cpPf>UzLt3ct#q>|n@kGE7S;(Ar)$~;AyMg%c^;uh1j zpzHYA>H2zoShTm?&op!2XxL|-rA5$Zc_6`NyNtO13{%~iST@bTDxaQ(u~I=K!_^$& zYUf7u0piS^%ZlNM^PDbCs9DLa$768uI?CjxNBl=?s>t8OM#LfiaCv=2F1cCWb2aL*Ve!}bRn9GccboEW;!&o`CcCv9yY}Z+F(S`IE%*zwD7hxj;Pu;py{ zBxgAVwmWnW>xfz^Y?h`#Y~qw?-qyMX__73&IoB)XS`7?yr#d*R#+Dc%2M)HhXt zh>gfygz^2Xl2doRQ4q=c=EVwwIsF z@E#;DuPv|MP{euEDnDY`4kbDPQ9Za?{F_);LEh=Vr0Kej2yF8c@cNseP$n;}U^SZB z@FqG8{G0gjUy2G=9e3BpD2?7Y@qM%LaV}mNKN3q7`Rj;PMw+2-`;O-tXC3FS<2}2F zxs#;x3S#2t9e*9a&EAQOQZGzef9HFrPEET=5`=BTwuz)CJJ{nUbc>qxhH|%F$!2V$ z6=C>z_O^y_i?yr&LVH8mY-ZF&lCj9_S9bR++wm67&GW%uXiwCx-+LZM`8~7n`<#FC z4gGy8*e6N_%5*W3)aY{DpRtW8W}ZZJKxuiVn(+%Q;-NNi`T($ZS9oL}2JF5f7l}7B z>U@{6DC>74K=Q`Ki?z2k=uoUZ76^gvbfOdGhr8zI&-4rJ?1%Y>;O$D98(QF!=)h)( zg8^54b?U$Y=eNwNFmZ}Nw`JL?i$1k#-PrAwShefnDB@J52cv-Rv9H@nl~0IfznzD3yGtw*9i8hAerDwg9*_C4RaS45iE@O>pa1oUl!S0k#-;29H_dJ+#i;zMu2O3bTc z8V3y*Wgf3+8anoHSIO}{KZI|T<1e&5dBp)bXkC3N5E0PFl)Q;M1tY*P&H*-~&?yaxw7fP-nelC1UCEGi zx?C8)x(jJ(TLQd~E=+%C`)vw~o*n@JQYBY5++ngF0J9O$2NlK0wp<{uFO6Ed0BsfQ zI4(RtehkETRLT4Vd;=clw^5=;77 zZ7I4Q@`t*RePNpM;LiIsqJIhHIxPeD0#96OuQ^7LGSHRl`PJ;#O>} zZ%qhJmJH5vqa~b4$qU1^dlPa@y-dUDUM-13oTHw25JkRSxU9JB_8M&J=D)q_Zmxhs zY9-0AaJRSKosiqT;)P^+2$Q0?WTi_F3k&m$P>Ev|p8$}{N*`j95R#;1DHMKcR-m#& z@){#4tblzCDLG?fPEv;)0?$5%dw&>HRLZ8V&1MSL{ZId>8K54x_uRi&x5XUo^3978(AH!df20( zL0+Pv$tpCmO>gMnNLib0VF)`sSbKNF4BD@^IptaIcM~;L`SA7zLK z)*RIn#Ny)%U-5#>c*qD%kJ_dih_hRXfU=_b`58Qn@x8ZY7$yo)lpKzXCH8HwoLzJ$T}#zEme9>29ab{2)T>K$L zB~F`(CprN~B!(>e-Hl3k01oV2@~ts<6NPjK?x&P0RN-{@+)2xtA}*x$#UOXn@*f)k zeA>bjA3tq*YbI+V61dmQ1?yk*n;z50)EpPVQYIHIA;@BmS0MgRK2HZPB*VH*_OWAE z_K%&8$su{Cu8mXe9g~r=E)A-iirCuk)DtuUhK-eET~|rtr%Mhk14|BB85Bl~+T--2 zBM8|`#E^!xg}GiVCykY+8EbEc;}*5Rp129Qv1+nu^6F449e4hL*5Gm0!_=DfEr-)) z$nvJpjpzdBO46D}NS`Zn9V>(fnR8Zxr=RRS{sKpC6RZ?kIJT|%h|1co3J(t75_u}ngUq>I$%E<+V=VYM7Z3(A3oAN?>O+{I? zi%mLYjQ7Nvf|L?wVS|RPvTt6h9#lcj+?L^(gd!mo97t8!)RLv`1rbB7#a zW|L_m+C!JBK77(;m!mKr-mQ|aTdY_>Hm+W*h{fBs;0RtGI%*Iek$})%^Yn@>5&I2G zz{%zVWL-9MrH*T6dKTfWmO5mlw3SfybadA+(R^86hEjC&I_&H*9jJ=ITJ)NM@Q(Js0P z=G%8aI5ZdmAv2TW@X&gppG);Hf;z|jHx`eMqZd!~% zM-95~lLi)F<<4Jd@AACMeB^$#7v%m($x2wqR60!#4Be!-;?unndwYCFwY=Qga{_6W zmwx-UoRCHY>UOXr#&(>MH9@VS!T^cU`(w-GJe)MjyZa|Ear7s7Ey{7uycVukSqXxq zNx9;ru?}ZMdGsc3_tT3HZx*@OU+lMBr%0w`y94Gt4141C_6s$)X1rlUiPuM>T|m>)@|@= zM7DObneumDTwvFLXQz~IpsTVqy@X-?BZDcSw8(68y!1NIL4mu$H{NFj#o@&<>Uu6} z&s}}8>Z=E>W*JtX_{C-g6%@}4qu@h=y>me7wE}IQ&!t9`{cJrR4PBsubvfU|Z!rY`|t4rkNQ{Ns}$C5`y4S zF_8e%kNOXLu<_H-;%&UD=!Xm@LzG1Iqd|kuz?c;;Eaa`}w7*6W#np#Wa#BbpSidrJ zt>1x21jr}UX~*vZ#!#HCwwR^+m2*Kq+ ziG3A2p`Xo<6V|{L{w}>;H3sF*Q5H4l0XaSXPo%4j&1Y;(ZPNybGx@mcW5_vd*|e=n z#$6+syH>h_N`%#b75<*IP$;_dvT2U6#sIr^r$56vQ3noVZ(q2q^N&!d4*jL!gN7L;Vs7ej*jOaAV9 zk6YT2&+6!8wwCw5i|m-J*7g~#)?e;rE%=39g>fFNPUv2r*o8)X$p>I6g_DGgY`qc+t_O^SW5#dn5jIDz;W| zQ4@K?8IyIF`MX$KhFWJ;O~rZFrv8eI$M2enwFX_MR?nxBuEB>l5!J-WyQ zVG>9r#|EQ6rUO1jsub17!Od=h^5V;oNq5AV`;`=er{Hz900IbSil?O-+FyGSV2xzK9_Ru zeYaZ$d7A8TAkfH2bHm+%L!p# z#UMzt7L?QmVQ$aq{-bVo0i5fI6PZ$K_+54D=w|z;XLTZZMz#QZLeI2<)ntD1kF8Ne z4y+=4d%LE5MO8D#Andq_kTKh7)6Ejz-|yP*#9NqCHO&O>`|e)ZN4LjtsZ@RBr=@A2 zd(^Xi;e9O@pA>|4Z!-@K?H&wjSpD!jdNosRk3@3o*R`;VI#gMqKwf*lf|FT=A)?a0 zn)x_iQ5B|{P0!BGWnFHd8*!TYeImi5%bhe*pZWa7ts3rBxY99t-=;aNyacKqLpo8>_5)|prYWeVqq4tH478Jd=$pkwoAMKLMX z>>YAj{zeRxfro)51m20BRKvVjQpThCvIaaGH~IW_z7#Ai7)8O*7iA>#9Cso*miE8v z+b*KO#exF!@X!X|Si4DCr#?TZAPW!*4d5&e8WOe>{!FUjx>338FI0gb^Lee)ie%^9 zfM=~v=yjbJQ->dei_sRRUoAtG^-H45f2DDNk-IW1cWuFOvPulNY0bxp?8T9~!t&vE z^wI(&P!g8VrG`PHoqiu5;Db8R^&H1_BeNgA-t*hqHM)xH^DFN5ofG+goZ@>nHRmmV7Y+BT4%TP+w8?<0`Nfspf}DLwKzsV6wQ?qxoZdRlOI;t zBfvnEy5RVQhLeB2_tfV4zqA{V7+g()LvI|#F~qSRfy2>B=d63wQe=izV-9i|8@*o^ z{ZDbU+jensugD9}7&a2-Oj1_U4|J;ET{E#EzHxYdPV!l!G)GCz9DU0+HkaTwM+Ve@9FFKV)E zYh}>K>e-m5T0sS9(>+j!9Ug9#UXBlQZ!Gf3J`NDm{!}EMjWTold>q!jWkTU{n>bEe zEN$xA`r>v#!Gki-ckE2Bn8OrPr|%U}!Goxka9y;!5&L+{Y%PJ95QA#;Ly3;Kcp@s4 zV`Ew++-`hil{iS2DiM{drQ2l$g1#3GztGlkCxP&Ox9L~sgN!;SQIn$ZBefE4$9Zc{ zd-`o|(O+mzoj~*r(~?UCG5IZ{ERv;Gax6c&^?k8Z^I13h} zKD|W@tB0IxwLdHFu~bwPahH>HzJhy1PNPzO$EvB2bq5=Wd99z46!Nlj@zo!^B^s7!h z6;|Tpz#)kq`(VB>ujLB=uK6B!ex^9=-I|+R7V+Q!V#eYpo!vvPpu*2xi#2T)vCZE()<#l-54|lP#Q$96zp5?#S>X$av~kmx)9zZNb)p|3 zt~iP?&+)K>x_o-3S8TJbj=dWG{jSV{rP38Gkw+)Iu-u#w zTfQw-Pu|;VDo$y*Vsva1f^u{eMbh;(*niwA|CtOqe7;0K!Ix5L-9l(Jw5h2j$1<=u zj{SK}?h&{c213^ioAt)q+2u{gsT`C5aVD)O_c_0dW0hD%Y=-CO_35Bu7H4dk#P5vG z3H!KoNpTNZ_YDW!O+8lb80pVoxQs}M6ax)-#I~e2YtLU)u9kYTZ5o<~emnB47-D9! zoL&yse=Yl6k22Kk&A6g02s=_A>f4|0W*1`TY*j(C(+`4m=3x7ABBquYTg@#Ywn`-DQ{fu_VE z=c!^|+r2jx4YdX9x}TZU;NPVfVfltbItKgOt^d%k^VqihSv56W~Gr2lrn+{hv8pIJO;CozZVZ{)y;jqH!C- zbHex#(YeLYn?vQFXVWczn%sm+?EEse=js=}Bu^Sk8O*ShMD2Up?#w}Hb@7x&O`BeC z6D&~~=lff%6V;1K2=bU-Wd4-a(XvByS0ahF%CSqG!%%$S8pC+cgocj|{-7X)Eew?4 z76yba^6!qZZDi>w8vZrP_reY$axK?I=H=i$xmL7IQ`IYGK114 z-WGUalrs=rsbyRZzPXT$@h?8K&t>M>eeWgjRr8;MMoLztni&GRrKW1C2)%}%qil&A_| z6MlE7cs}tgA3To}DxW6KgjH@Y|0dM*zQ#m0SK(Cf_fQs^CxqSIRQi*DY)wUYVCZaS zb!AWV;8MpkCC7z!>CtC9KApJ8QHsLrR5&Hd&tRy@@2IL^r^tyZ&WM%G7h{TdvF3Pi z>KF^1`+Q^ zuSEA)n)VTf(6?2l)ti}3KD2q8x-9rs-++gc)4bWGdJtJSPnR2ndDYU%I6+zSv z!cnKuWPU!{?c%53t!Pk$I7sqNY9Zy{BDkx`Opz0)-YBEylPj}aX}SpgsvY!B;&|Ur zKO8+~heF{bC7qwc!Z9Fx!3gJhoFRD%`>j?RRj2ch44XPS}FAN#3R6 z*;)VkTQWBd-Ie2BBpABG8a4tJ<>!bY@~;dxjC`jGIPSNax2KgAd44w1*FnWaWgE#}M1LA7lH7oXW`Cy&_QfL3`gO4|ftDh~ zkcMmKyY4c}32Ehcf{aU;lK6{y0)5#`Rc$QpPB2%KO}9cfUM+F+2uH};%F^b~gZVwb zb}!hw$vkJ#+9D4%4pmT^mfnCysVT^SY?ziI-AEUuzS!oRQEzyj!rFs=afiGSh=DJx zebZQ2c?x3l+84Tt$xRX=FJy&k4N!pxEwfm6E^mq#YC7sS49RcotMzi1J~-FZh}guYV(oe3ED*9ACySrA2D7Dy z>3v!0Ag`!Rh%o%=XcPc=a||%d-I!)TN_qNhOb>{gl*PkC!HyP*)D=gP{XJU@ay)xmVM0d2gKAD$beAn=Cdh zmyxG94CT`NUux znx*ID2}H4$<$Q@~R|4m7p`r1O{_ZJXlF{BfV9N%$XvW;HdG&N5^Uj}Efd3hWg!X9c z`&0LQh0%qkF2Hb>bQpYODUsHM58>bA^qaSMccryodU@!vzt9y{*!ZQZo=8+QL;D+B zZ#^WS{%(!rK(@dW7j~?)FKq3LST2t-KKwEDRe6$T_50N1l0v&D z)x?x-Uc~94Z;8(0_vh-{;X8g1<>o!;;vFnEC2kU=a89wt%es^o)410~^0NX2<(pXQ zjYYgm#KBwOq|iJ|PUT-48s=ke5NCbOo7|^r-h`W;gEV>C-(XQJU%|_2vA^j-Mz6vN zRTar;EwabUHtpvnd!$06Aw3)QF{ekBdlb@blWc~P?o^|Y9+8D`sgG{C5=gr#$8$Ox zMuBu>^ZK^PNQ;h;B`Z1o)m&;%V3+Rx{W0_}hU0TU<}zW4azqTEsMn@B2K7_T(r(-o zoa4N}CO(uY)3Y3q#i~hHUpzwyJ_WZ+{Zu{YIFmeNIQlomEdMsm+_l`rv|EysH59b0 zzimLML#RR+`YdXJJayZ9@8~2mdGmLKJ#@fc7DU&LnTZ>1KOIBuELH#%HCCEqJP_RjM(8lmp7J^=}nO8GT*9D0l@Y`(-0dxA=K6&u7(m0;s8ffG z=H;9hG;%zo8FH}iS*66{4x8kFhIN=!tSV;NGa-_rD{D?ZB<#p!7|s_Ch!y2u1bY4G z!E3h2e|1@)VOBf`_Y<4~7ubu8jJ(aDS`w&tX*V3-_f6=yCRwb1kz}xY!-1FoBStir zaGrzJ*CtL(xjS>Tspk=iTA|+K)q)#Vm}8&F`HXss_gI(3(b1B5xi=16xM^Zoj?$0n z$b;x1H!C^WhM`GbdqL?Z=LECW+KeuA3iLr+^)b>ZiL*UH-~9PSvvokC_L&Ak-kUt+20_pzDnuIk|PI|rbo-R zW#`$uuJl~!fT2Q=k&zty#^mbJ|KjVbgW6iV?&qK6lj8#KoZ<7 zXo28TLy8wjaJfJN4T0cpEm|BB+#P}zD^lS8a^Lrx`R4oQmzm6S&dJP?IVWeYXYaMw zQgid!QqP9qt^wH*=!~LuY4=qdYv{&-pK~C}_?`B;f(asTrs0645uucZLa-;oqCrP* zN$xS&1psgl>o{v*5a_9-ej2Mm>3x*_v528OZ}F1vOiSELIaV-HLJ-;|lB#V)@YTBz zU6o=ulZeXw5GnwByOSP|1VE^^T8^MpXT&#+aRCCDc;KCCNK^^KFL(D+T=SPS)i{10Y=_4g2^Fc|fi&PWTk1b`%<5+qDNDf}L&um618Mpi5SR%g%OBFEj zo`aY@7?7{C-kFtg^?!R(TPTc#eoaGr)y?Z{bbB959CGnt2g$KXzF&>Cl8-wO^7Zg{ z1i&x#K}h?H{iMIY`HNec@JGQ3)d-T`3RUdF?1;nqwDu$R0<29vD@9~}&<3G+tc zW=%l|%v9^SrexZ5XS)?>9r-%F*dcy5@|0GZJU86EIY??JMl6d~VRSRH=a@XC>aCVD10h1jo#_ef9+BumTG8j?gh_HhU<&AT~xm<4&j{ z>((n+n$OYFv+e~viVl=LY5$oHWz{75)bQEj)}Ji_@|`6PnLW*--K*OgpHC_M&%uiR zb1*la;r~4l@|5}%nDu@j(>uo!{#|+c-&1fLznik|Qbot6-IbM1zfl($5B!!)iLB}z zLI37fqn@AkpyT;`4WrfF?Xdrx?Z4;zdh815-%CSNFYO-ojGagK`;(W;3FV;@vA=r< zlC<;u*rcCaZM<16W2Mxnap2Qnmw?(`aJ~33QE83f)*S_ZMAw!t^*U~PLP~qw;VXW> ze|WHJ7A8)&5A#+irwWBvrhayRpm`m8nglN2;Chq##X(th;49F$V8NXtRsF_6pjMid zDlBYb*qvIxG_D*U;rvte8gldN%&%p~$5QdMe}n&OVT+nv27%Ae z!yBEFMAaJ-5D${(qRF&e5E>FMs~Qt5(rHO^42M5-dE=n9?G+c9j-mu;>2jR85~_w_ zZ4j!uzhJ&JEnehhWer!ghWpHvLn;#ZJ>Hx|#J6e^dm|V?fBzdTE)9@mhcJSrNK~=OAq; z5ClkX+tzWHYaAH~R!19%SQYFW_sW0|*bu%ycOD$) zc_wXyP2Os#*YKePOvv{hs%#Vzn@qCDzz1UFZ5H}Gc9^$*hpr7jN}b6OP0dznSK#hO z=?@chS;Q;EB`n+VQ7MM(%tbov=xXT$%(vcj%ND)|N-h3bGxOIR-Mz1t7& zrmUH8ud80KcL;%ucfyDuu3Hb2+EV6ak0IrcTiN+S+eW|7BNb$vfV4F)(M*5Fuek`F zNw+?Zr)0etPSwJe-*UJhVjeX~tO$I;fZ~J6&`4x{S60=}vCDxcm!gsoeXC3*e#c$bh8ASK#~wO?N-dqksGl#rXZb;9*(z$upijRYxZHCsKk=E zAaPT#h5UWYQxsmL`2hPj$;FuI;f6U#5s(PvQCc!I-XA5c!A9|ld9O#Qa5{h&a z=CP@oX1%Du>ph%xqNLlJ@^d2DhE0r*b^(3r_n36}h(i;SMU{OBWwu0RQa5xqt!H@J z*A&QQw^s%NT!y2XFDAp*-ZWM#-P_kXqcZ+mjntkMnN}gSX`@;Y`5#&vR3H^=!VH{6 zJFbtW=2BG*?y5xfZ@~3U3o=+Aj2S&Jb$EnVtAf6}>}!7U&KH$?$)LNR12h0}(Af*f z3Bm0YYl(iyBEXpuQ}tn1Q~2E3KQzt-xWPg%-dz3LE=JM0%-y<0p@nO#ewHgpK?ekQ zVzTc*^5k}2lbld*>2N+6`c0L-06Uw96Bg8(X{?f-rQ6VA=PYLK`Z{p+GZegMV&wmu zLO0}kD2>~^(0X$4)s#wKOK3hC+gd9NXd*hNF1%&-eF-cDGRT0UzvlgRO2H&r%QWgv%V4==b9@*Z6mh$}7?)bOexs5QV`I`WAniLtH0*F|{$d zG4CH5x--s`_d<73s|8sPi3 zxSVh#!pD%8(|k>kH|KYnYAhgBgyY35!8tgFQh#HfE5itV& z7@7Sjt_tW*nMz~vL31`$Jr#UbIk5_k>T-m}h(E`GhQ?GI0eCWjW4z0$FADS|2KBrq z^(5*p+l|lJteX!^iJw)#6*)V^mGVhIioUPbxscSgi}P?ITMX|0W6 zUxW%kwu>BNK+8X8J&p6;6aA~Px$vTj`Y$5?rr-zs4vrrILe)EoZRw zx*E5l*Sltc0Gt9pq)1=)W5en&blZvI=g+?&!OFtR{tr!>4QhnF20}pKmE;ntQ@9XA zHY}(#fbOv<6Xep_zB*4t8&}(tRd-}#bS@>@Lv^Nh-Pg|geR)R3unaLRi#*!TJ6380 zz-pRKD&9BsTm;||RrxkN-i~~|BWtIOqTB>knS9kEfuEcFW7$BEr_~e-Tk|c9gC4~y zY7L;8$r@~)b}UGUEIXc}7jwz~B%d+ht^K_C=3G3r>j!I=L2Zly@%2!IWbTZj!>;P<6;hrvKBG4A%}jo{F64XNwF{3>rr^J$L#Q+Fe}VRg?)g+S+@gW1{-9-XKbe2sT(%o}W0 z2xu-d75U%!!4b8c%C-1|(IPWy(*aHC#2P&Xp0cngdjIq&F{CFuA_uCMUO3b?l|+VIcWlHu>z4#NjKR=ymTp{w)u zkEA&e(XS`Yoy@WpsD>qqX0fMa^|(d^a%^9VzY z>FdPY1IRfON(5X8Arqd+N2hz6GLj8`X_z=xaVjU4tjnE*TUVP6F94`1;soM&66I9rFt#+93mXM zh0eisOp6|1_;M<^tK8x(=hvL{5PT&k!RWlA+GC;V^SM7vGY~qaq7Tq|*zMY0yRt-y zoC(Ee6GwORm>T&hjw_&aq8lNk{%k${tQCMVQ@{a)_2rFiZsOX(6ZKTDKlv^$(=Oz@u755zNlW zrE;2`@(?XRx1Hn~(cIRb-uSb6N(0$zX_bdfSnjI}v{N;#j%F!FkFM&FBMR!dhf2GR z2nm+R1EX{MQD05AquY62FxbUC;T7l~Y^ z9Ztl92Ala`aB-v3u;2iL+3u&O+2(9|2@aXNDhslsO+=qgN6cHf_ZMg(yOV^-0>q;u4|aQ z?!HAUtRDH?*vW3Vr5nb*TW%qL8w2DWszql>TIf0}M0!5QsdQ5b0)-OQ55AUt9sb_+ zE9op{E?hBhmwSXz&>6MMU7JFG%n1n%&FCoDri(07RZv?*|A`&1mX`C&BYm#n)K`9% zP<@4=tNGcqM#hgz|eGva1OZH~xAc1;o@{VydmTY=lR~u7iS*r9VCtnU_1+3m|N})2TNOfP29|Y3v_KlC|^Nj3WK@UJUoT zJn^%vzGVbCs%lFpO^~$+tcRI;_*>ucfmKzym#KBMc`54A*kQbu0$X3vzzu_UKl&n7 z%dvCov(A?k#6ELEozcWZ3*4xbn8p1jOyk5$af^^E_?Bb)0HEBST#AQxHuwR>ONM6^Y%9Pt?{^F7R5y7rP@8Wqi zkCrNGHzk#Q=Rxixh4@Gtk6MPi5yojeQYMMw53R7LXjQFgH4kTla%k-YJg;62stU3} zui4er;tgub=$rqXK$*`y(tZ3AY{<{Ss~tLPg)LuQvV~z-HTQ+0`Nl0?Hop4hoPu)f zht5b;u~-?Gck`sb#>5+6{i2ywgZoG_6b#t9lqrTrU9Pl}_Nf8GVe2Q8S3qK1h*6w2|>-*+QARwN0yB zce!yjZ3uH=*CTx&XGsQbf25;)b)ht)u+EGTwibEpNDiVrUi zkN0$}+|gCHZ})PsT9vK5t*s&+RhBMLa005#hiVE7YZ44*&+G3nUujtX<*Y3H%?>5l zQkWmp;+L8BQ4`=0Szo_UEf@+;d-HACcjs<}KsQkl145-kkurVYjk)r&)u?Mb?|#jq zT&1!x3kRt_pJ53d^ZB9q*?dT;jG4(Pm;IgCH6I9ztssAY$&nk2jc-BMU_8uz7&5sO zm@(QXks&23;wWEG1XiQ_*!~iW>dq92z%$m@=Fg^b}O;W{hJ5oxElpL$Z@(<|4ua?&jl%8Rzi(-NM6h@uk^Dz&kYQlG-6 zyc=}E-)w3Ot2VPg=H?bvU!!X2dz*GDD*B%TsT072JX}<4$A-XolW& zsYB|B-Y10PqeJOsFa}-2K43knrk=LHqp4Ju-^Cg) z4N5^`;Q8q64){18++&1UvTF@mvWe_>mp_HJp+Z9~ zlqI4b30OWiPE?E|*RMBrQ%k(eYk4QaLu2=< zI!~hZ(7A%245S<;2HX?ZD)MUVMmjSS`}&=(?P&F_TBW^dJJjXx0sNb>Cm4EilSspp zl^MG|B_M^gH$87zW^Vl?0G3KJ^Yi8tAci?RJ15TFt5G*vS{E1Ey`xMOuvn9E zNKPkKjKD^~sztZLjf~l*Li-e-MG=NlWk5qcUu}~MVXrB{doGU_)K9ygJ9nKo0m@^z-7ECNW9Tm z;EgWdCTHsN#LJq&zwlFEABj`FyRkb1ZgO|cN^w`1JCB!;4jtI@^_a|*patxmoq0^T zN@6uiHoMJS_uj1(x|Eh*oXW(~rUaA~PBu!W+k_RB4lk7RK|?^{`K)o!8LyPN6^5h& z6QRzpFS`o?Bk*l%%h9vWLwH3givl~5Qp6D)8+TaE1b;Y(xtQ}{s2;E4Ma`qo?PmW>*+~5{-U6VG5HA)%hjsw%Ji)FAZq~^n8qW?R65Ps6PPcnsRxY zT5&YWwJX}fOic6h0U}~+(}7#=8)M$9;+?RH_34U*Y!;V<_>*36%l%F}eS>O;69X+; zMR7!RHwzDpMK5}^$gpTvzn(2G2_n8xW|$3?2u^Y)Pc6weaZCrmq33J=rcg!(cmtTn zGW8}kavUgWw?~t7Vv4~8dp!SCZ(l&QV$<*AfO-Y?CKcf4_4E0Yo_ntEz~2{hmUQyl zCCb);CO+P@P4sA=ec6E31YGjs)02XDGnPz+-h;ND6~j^IGd=}bbk0~kSTt(*NAC~2 zku_$!uBxoRXWdZ-ClbGZRaQeCYN^@*gkU3?dc@DJIg(@?zISh; z`g!(5!|K0hn(6L8`vdV;3|UJMsl>tt8i2F=M(c5`wnI+5G>Uzki~Yf${Qqnu|A9cR z|M*S~HYubiis5e)W*KRugcNjGRiyF$v40d=kIB)<9fd;+aYP@#@Mt)iBT^#V?O6ny#j|>K=X3}Or@b)M5JgwKg1bJl+R_8h#ElD z+D=XmuWt-5@2-ih-4dUurikEGBMHLl$&D&^X`i?f*j+u>>L=^aKlkz%%@FB1clBnL z%EebyF(4P62m*CaQvRP*lrvB~5BtSl}H_nvfxAH&H-vG(1_j$@#7%^rcj<42wL_Y_cp ztEJ%YPY=_#<;pfNIg2FgZttyTUb$yan-7~zyn_pYJ4D_X%ZQX?53~N(wm%bxX6pVLwXDoI9jeSEIew2{5qgg zeWm*P)!sr>tA+YYYJ<}`&+5{1MQpqJsq#buUm_sewLGPfLIz&swbBp`m0O;ZC_5Wm zb;s&#lq4yi!Ji*X^e`aWVV2w^7vQ=>nwJy?#~o)pDooIAwq8^97ip})5rB&CtBOfe zcaQLCcuepVWm17PR&30!31=PRm!4ndf7eA()MvVbHex#`WxGaXvoyOL zDhf1MsT#M2K6{a>Dk9dQrCEQ{^A4PXz@1F!KqT=3&DIY8&^#c$wGm`WV`EQGw_<^~ zL&OlyO*dCJ4-3!&lbNjU`TmaXuU87JHb!6>2K~BUcLR;(yu`RzwBR9AJ91X-#R$PJ z*W97~01`{;R|@HElyE~9)6BG#1vP=nfQJ_GZfH_@)5KBV9Xhtp-{H~5lGD63UVhgS zIdK}gZHTiX)guL?X z=Hyh2ubsU}wiK%ga5k*uL6R|xX{4%oI}X97O<&%6h0=c=7jh4d&Y1sQ(m?f&L|Sfv z;;2Om%Z|m7XJnHQew1ZLRh^W*O&d|9mAW-&q-LGSm1kMas1lPLX}N()uc_zCgsU!( zYgqTNU(0VxX!ccy#y+w%K){8Sd7&9$QQ?-|wPJ%670sURVKXXlb$L@rD`MyfU1b2h29>pfo`7V%-3aVJ z^|d=V+3@ON#lKj#Z)kY(TH(t)Uq=}m$cbCwyqLSnVBLM~X)MY$k8>w21>;kSN(XzP zA>m_e&Q=V*9njZ}8q+Kf63-*?UEa(NR`_3x)_twcQ4Z~IOE&4P4D)`2p;T65k8$xM zr$*gb<+fy|W^rAUyoSk4Js;OoM2`taL{F8^K*HUCe`vJQH~LU*;Bl~oVyCF;pri^0N@_u>P)5g0cKsABo+HnaV z3~k`WAie3aObQ>xTPWnQB+_EVjEE+fo*5bj*cP|GlkTuwE9mRdxG!PK5yK&#$XA#( z!lNaYHyk*?RW2o^{HnVH=q{O$0pJzUobFny4#%-ajbm+OYre)6??Y5BRuYRzlX@hU|9kdg?vj z={0A6_T(J9PZ5G&WpjOqs!QDNlU3x4J&}RD?R=9ko1sT?O`xicHk}{{n^eiJ$BYi! z0ueY+G|q8n@z+6?+##qK?`I*vRMw_aIZJXnxZr9ZSvW`-GpqD#ite`#9^_aQt-xYmtfl$Zc1b4I zMs3oMuMkM#>+M>_lH`@n zWeJe0x|URicG(N1moHu1P0p9(wjUS9*&=7<44B$`uu$O*Ooy#d&8x-p)z5hvifPXvHTJhDg@*4mDDcO&6}i z47t7@J3VmRjJFkeK);Kuwzqu!%KleGy#f^sQUcGGovkO0=aR|hQ=71wBnvp- zNOWJ1%0SlQ^I3S^lA{eXt`1K7V&bINtJillF%QjNugyKwqi`1<8(Tn*iOBl8j(58i<|Mw_`Zni9jQ1UKBR<-D=`k=u_=zcsceT`3e? z{Bnq6gfqlivOPSe`|;6rQWve1)5eX=twS41Rq1-JFK*Ar0hd9QGklU{J(zR zzUC6RwS1{d?(CeZALz;o>btZeJ%N#m)bTD+BocNzf6!sW7KjVMg~f*7@~%qUt^NE3 zIlV0w*F7074Up!Y+GU)I#Wnqvy($?zSGlF`+&E<=gH?`LZn=NM4gA3TnP6#NPA1ir z+}q}UM(ypjI>ztjAG)_h80oIuW~-}yN=HM_Vqn;Pfz@Z_k1VM-rY*g4Mb(^YWGp6_ z1QU%*NAiP2#qWI+ix!7;3gn$U&G| zcEpP%h#5vEl!7A2JZ=(JMrKU@E;cQ0I*`>r)ft8cguG^@H9uyI_S(r5r4&O0a{=Dz zuJnOU!}wpu;mC3@7Xvl(hjLu?6w!7g2jT>l^13YBhp3WXE^uNGXA-i%Bd48HFW96t z-=&oy7yl3|d`^`=E3hw3c<>BUukkN~AvJuscbzmI)vyA}LIM&rrV)5fPm%q|s1(To z$cm&?PH=}ts_kO!YftguE)5AcYd}KLBVKWfw1^eOMNjWXd73{4AV=Ji);jLGf(k;> zuN(kSzBiL7B9zTQ>+fNy4ACe5&;X*$@Fjt)e!!#BPUw=OiN&$}4Uu-gSSHppAO&jZ z>LTWNm`Sfp|Ov3&qVfqA_Fa?n`)kT}cts zpXh0)gh>GaHtG%cQU{-gO($b~u$?vxs7*k78bOC=$jcqA{qb!Ahm<6A zgvZYF_r`obDDP?RRQ!Kp91X=!R=4om7}c{#ta2}XsCs?dgt_uYi;+aw=Pccznc3KT zp03MhY2W+2NlG-Qp*LozrBfYJH4*?2jaVBPB5ar@*!ZMK#TWcNmoasi*>kCWvfe7u zC!R{$6Vy#dvrYWY8uIwz=N;^Go6H6Q04z$y)$2%$o;|U}vAX2*UyipMnvg-Rh+N@> z<_Hr}cL#TQXxmD%VNz3_4(9ikGXi;{r2%rz9GF;2T%A;mdpQ_Y^qp1cj^1XCh`6Rc zrF`761w8dp=3M@)&>0{%Wq7JxeQ2ti5Qd{xTd^n0t8=vkyfD0Rs44f-EpaTCiC^i< zi0z{pp;wejTiaz!P(HJCU`2+!?U}9nnXHeaC>)sI&jXra?s>e#T|&mcJWp_L9&|6C z$gma3fTXzCg_*A1`wVj)&lu_&UJUg0!?Mqg3fOOfy&>3UnqB-})ez-(zt&G2{4k_kp+$1IEK#1pjB`2Bp@$|0dMgu((!{^r#nPzsHSyQr&AzKr!ww`6=UkY$?6ohi%d9g=KAQW zx|WEo47N3XNr82_zQeHdy?XcqE4}%cgGRTPwkp@HIM0Oi7#ar~LJO-I{L`4rhsM~( zhuI6b%riTxvg%b^HQC?HeI<(`D_wyj~zhq3&AM-q4Gqr!8aGtIkruQHMC_TO%fp)4(pb?1o)Rn6h(-^%xQ-x!LFSglF#!%^0i zlBW-+&1$_>#3M1_i9OC}z>7xX+cRdV-WFrWPA@ipSHV%IUJsRNO24uSECX$6$3t4;O->g7_y;r<{_*Be@Fg^NG=VFn70ir$+3 zXE{FwVE*Bo{$ZM+oT+OOGp386v97zRo+?$m?Iw;pcT0c$XN8B0(P!gPItDU4oI@nX z*Y?>pa*i>m-CPpT{W#VxIVYH_8#7${gR&6Y0x86+J%GSC)7+qQR*@7bPpVHXS1|NV zev50`wt5^cYK6ril5{dFN87d=`>12PRYV<45?bM1-Z`lfjA&Xq;Os<*6PNEH?Aye% zb*oRJy}AF=zZO3i{X-d8qyLB0>Z>I4?`_Y77UZ>n~ldKJ>rB+}g-qT%`2T0!fg zCtS!lZdYUQ^AD*zKQUEi0$1dw)t$`Jshfm!428lclT0haR0_Ty!1C4;P{*5uH;f1 z)4Z^#Zh968X-1ssq^qSa01Dn2!uER1Fn}7^GqXIUh*`-Abp9{b_y{4MsZi)edno)kqQm1G)Z=~Lx^V(1vd*w+qb8)z$+@v<$(cQ{}~6t1Zs z@OYO|2j3Hki%PMK%WYk&alkyb&e!BYt@Ms7v%Ewd6%3LcXV-*E%120cg0fIT)}@KvtRc&WGxC(rY~NO~SI5s0;&T1^*b8vP?xKSf%w77&V}x}3ghS&*a-#N}z; zOxUFkbATcj-B4I$v;h=%I}pLD`z8VTW^!B3?;c$y9bI(G(S(V-3Mit2zYbQQ>X*KY z!}E8Re=TT;G^aO<)6y8(zI7P-w+p?WBOgq0T#lEhG$2qIyL2Q_;u;%HlI= zR#dhsou@DGQPN$f%eZ;}lOU?5;b!E%B44$L_g(>`W{hWs2r)I?is(mpA>i<9Z^|pO zna}oqSLr^%FbkTqPT73Cp(+-UNU4=}RGgY3Ik`7zvJCdVEyH~*h8OvaM6|;&GGJlw zNw*GSueiRNp0glR=}PS1nPx9Y8-NbUO~qnom&rBW;$|j6=e8r+IYW|A?&Cer=iMQj zFWIdiI#n4B*1NXVMtKU4lh_TwqHL>q2J29en)P@gd1WJnxbl>i+2!j=tQzjC2`BMnu5n}9HBZfMbHWch8wDee53u6q@)C2$>N!|Nn3hcdP_kI zB3nzReT0zLs81SWp;Q#}V$Knso$edJucP1m5-wvqN3so}9vz4b9_}RupGG%odsx%2 z%3xMwMV;tkfzoLH@8m3mNF5gGGYc6WnRB0x`p*vqlDRju0*&i7;&4m8g1U&n9uJS( zuc)17tQW{4&5^y5BZoS-=$ynFEhyAmy|S@J%)Y=QQy`I*c!TMaemGE_%|JKa$Y(Fj z&1JK^)aiQeJ@k@ee}xrT8J`$lH^K#0HPu`uHBHNe2<5ZEaefY=DR1JVP0QRqe)6uI zP6a!+O)OI0bXu&1e6yq&h6)sp6$lChT65=8iT+(v+F7A(w)zG1->oRn;#<)|KwgLCZf(_GaM8gBU4^1^kTn(6euay;g>)1x*DcnX#xCx+Fxn2Un`7 zx5s0OyQZ?-vP>Z|4c}|I3v^xN_B7iG{+;sMN#(LewRw+!VzS{G(s!Wv9Z4XMsDu%{ zJi8Ah-PrP|N5j|_o3>R)6^srcXh}Zb!>BNxjhl6iJW2>`wLrgZG!_`au7D0#?EAnf zf-_ZB#v0T6QPYK%@D_Nkw#jRrM_b$6(`J5Jn{&MSkYP$ed0vH}RHY#HH`M#JAB;0Q zYJ~fUo8&s_UqO3*>k8YE9&73RVdG!on-GT};0$Oh= zsPiA1djED_xU{{6<;5^k@b`A*o}^`lSbg-;It>l!{r^RQR26hxLi>wfl2*Yy4xjrC z$GqR&a~de0JioW5)78MaASUq+T9AtQJ(5Kc`FV^{zd|;i6bB2vOyrab&`YzsfnGGZ zHU8Mxtk%yi^$RVOK7f>KqhnUJ+r77BqWbU3Og5%g$z9NQiS>8y1p-34H8w?=i)H#Q z+-qu$>uSM@x~D2o?Hdr|V@)p?*vs4)PW1$EmRj3VlU#Aa%83#2b=QW8agg)NC&%Lk zu;az5Q!UQoIy;XW`SRc7u%%4dyuaXHY7CKi6c}1Q$!dg3GuwH)nq<3gogqee4t9N9=-+IewMGO>m%?R#LAdDvUxdEx2wCGcWtb#GSGq(GQ zqj>2pvMu*{r&GS>u%*d>8h9w&v*xi0hYq4Tb4@rrx&Z8*!K93HGUa4Kq|5mKL$hdq zpl{!y7hNL`KHAU1XeScP#|(yQjl4B;Q{&60*Y~?TQ#e2w#g!Lq>C+eFQaqK5g;<-Y z!=kC+s4i;DAUGOSVFG-#qnp&|tLYFJKg<$PSIc{1oU%01c((0Ucj)NQiSHYRsyiAD zBFn$lEb(}@&8|B8t*BN5y0#qrUN!em8JTce6^jR{`_B(|hTCYnM=Z6K?$TEtO@%*j z=Cg$w+~u#E6fXLq|C5!_@Fq^ocYW#JB z^N6qS&V-Ao0mqQz?@;rq9b-Ga9Y2Y)AHTv3ILM|`bO|{B@)fvXO02wEyj4h;cAau} zVV0PubX%kpBslA4xo$~V4Z#j&FrwWR^udN!1duZT8^VD3+A1w=9AD?O-TI6d>?#FQ zJ(vgobmRSQ`R!?mI}O)+aRbJOAFh44Vs5|pm?*D)du5|fJ3Ul=UX2TIo{B&9ac52%unNOD(3x3-tthbt0)sut-)`3Gq zDs=I{wbx6NT<(XjHi(HP06gC4&K-r+j6S$DHT7Ch3n~kCt+3pRdw)GooOk=7J31XZ zwXeQ!CSps~a2#zoI-x>t$V0Jq@J{IX@bs zMnYBM9^9oW#tm7!a8kQ7R5fqI93X>u9uBFd4%;VE?a+iqP2_$&u#{Z_(*a*8ZOHVN zhTf&qa9-jqu0@rPW`%=+lQYqOuskL*S4$L~dyMseJW++4rMA?^x5+>qLuPwdbu7hv zmOMb4{Hrn!m3}n?9V>we;-;Kv0oC*Z6)hv|9DS5Z1h)7I%SnUuyhno$KEn%7q>V}G zUhue8;Q)bc#G}lpXg5&)RfUc(lih&^{C-_bZNjW{K^mM51G;%UIIi z?JXU7I%OK@UPJwE2Im~C%c*I{OWAP(6&gO^R=-Ql6H$?2e)&k-(IF|FCNz>-$ zQP)86M!`d5-WBAG3Bzz3G+$UE6}rWVTzYTj0j?KWL4hBz4#F!>5O`$G5$j^j_mOc44G=5(--If{Ei9g=*YvYaI zQM^Ywe`od>OEvu5rpCJ_VSfqwy6Khj0IO|s&rw}w;Wq$g)hHxDd;@YDNbpt%c#!<^2_iS-*8$fnPL zWaM8NL8+C1#u^vonZZj*iC!4UYY?|M;q1s3V7OUUFtmypB2d_(4Qu=coeR*GQ-Sr< zO;?5YHUg?IbvrcOcQvnqGJ|20dgmzt`C|NOL7(+ddq=r}*qnbqW#&r$d!KZ*?^Z+GFIA&x;g_bX6YK?JaHwyqSH{)-djsOcrg)*scQ zW##CPvqGe_5;_sF)^pvi91}L@36o`IvJUy5^Ul+XKj+`m*(A>@sm+~k#_}-|->k5D zuGZ$+PSipAGC6>5kI?2eNInP=KMi@uHGwHXZJeAH96y7PjG zZn~o}{X!!=p(d9LXucr;*OFXZ{{0YeRLnd(?l3n}P7b(f@zv5#kLnq5t8@s3CDyz? z6OVy?h`Ge(WX*DUC-j_EvzIofEqbGu66R=4-u)Uc7V6-$3oT6B{-n5wfB(I2R^O20 zNTzrYT2^=!c@`ftE&qy7@^tAe!z^+!LRJb?7_VGe_XduD*1B;#hUu%C}%QQ(qdTa*<) zmUMVeMx}@(XXV~W3M#bg6F*htO;Ro=mTSCan7dRp;`n4o^3uOGcO?r+4yJF&Dei8q zbMr2f^ZjL3u0#lFj$FFwqd<8yic3ON-*Xd9Hb#89{9;iuA~^C5u16_?1{znHe%j_J z0voC}%jW0vcjC&96tuf+8#et>10&wRgA1kB1%vM`TH+H$sSk4Hq??KQguP9h{c_qp zkR8y;*xSPJsfB?8tMdGx6@Pt%x2H!$>W=rD#N)ouyzXXsI1hd(q^A~cVJx#_JZVo^ zA7ZVeuPOH|A#x|Z@Qr5+iC}tr*LqLjX`0i`8-L5*dH4rUr6rg~{Hx0k^_|Y7E22L} zWA$<;_vXIse#&a-Rce%IzvtMoJMaB{VAl4@Y)XuF+1L|8a;Y4>(8}=FcW!{wpxGUx{wyX>T=W@dsQ59ABrW|p|4|0owR~6n zOb#FqeBF~U^){MdL}yVEQuqcd`J5*GGkeahM;{8W-1=+u`umTj%lcnJp4xu4ze)Fy zaXjabHeAUS#%EC-S002 zAYFvLraaggip4=_aXT(;$+nl`l?JuyX|ru-Ymw+jCP?cg@6~`*d=CaTiKcKEF;W@MOGCs0U6U+ z!9hL15NMFsO<&zrQ=@%PpN7>Ch9g0kYw4E#Uh>9x?JTzF(XWVQi)TZ&4|)2@f(Pt3 zLtlPb_rc_KstUAb4@NBIGSr|zf+}&;dJ8=}wc(RG>asJmp)4yIU!l4O*W06oH2yOp zEm>}csS2toKfC{<5BAv_p8TVOny5)oV}PS8Roxql>T4rHRfY5iVywd9XSnTY>xBbk zQ9(P{ECR@HZMnocm1BUpzDPVan))aK7>-&hc&O=>o1jvHml0Ie6j}AC@fVp=D7_M=pVx1#z#`JeF{ib_}Q7S^|TRsxB@r#vZ$M;fZt=#q886YrV+}r?{vTKe(niU{T<^ zA&@u8gA>Lh>yS_%(4D|Suj$<75wNgA z7={UwqOCKCQ+|l78IJmeO%`a3%3!+cLu@t_C`JK$Ln7>=Ee|wI1)fJkzC>9F>qN7< z;TS}wRCt0e`3_yL{zDT@m4P8DmG5zgo=j(D*d6WlzD)^sSa?1hsI3XZu9M!p-CJT8 zE?Q1~XX5Q4#|8p=$dhSGd>}r4sDgf0fQpuQl&2Z2xczNo^*mB6rAnGbg;Wd|dFTKo zYd!Y}EOP^Q9oJ*zy?7Q0mh9RDcvP+|(g-i8(9lU(o?o{!8Y%D24$lq4-_mCp(_46X ze~kYqns+gws>fAHJgQ0W0Qj;>@J?tj#fqQY2olR@>Cl`Nj{qxqOaw^-@AvM##f9bH zDiFLUtcT5Je>+nTF#I*M?SEZDqJ41$Xo%HAHtIwRxaI%PCG(u_UL0w9k@@ba-n*Ax zs~b(}02#&B20FoK(oEQd;9PX-3hhJq&{mz+p4ticXl#EhI!Ys*R!6ry47tyB}~oo&}`!4 z|0GZ5;rZ~b>F^KeEfsOn8bUCx7(#HoJE<+!%^!aBsf$z5cYwsKNP)i)l2gT@FuiZ< z{0DS7XU#r;cd6P;as2sQhl+4=YqS}Ir+K&m5o|SM16gmiY^kJ zXicEN(W$L%rmoWCugo)G`5M9B63q_h3a#M%;L%k{fiTS@PJ1{HmE0}{#L2L4ircGpyZ^VkNzI#QS;c4wD z#Q;ybFHe)+;c}aTylG*V{KdYP^%o;MUFGs*ux@scg+d<7QQMEcGPQ?oe3gh|GN%b| zYAf{tVA|FE+$OYBV+viCf00PL`FW`lkgzT*7BqM3q0deqYVr(W&j9W@sB?(dqq6na znhqnB&j(Nf+x*2=-WaP#) z0@EWn?cwKlpRt^E?GoQMzGwUcy~TlrY-(v$i}VY!EfYGeA(k?f3g$40T$0_DPo&9% zt1ed{JQ?xAbIB1I$@$1Z@ciu3_8s0?{IyrTYZ`U+Xqv$~;V2A?(CFi{FDOdOgFqG! zawH!}3sfGIgDsn_yESa~3WCGsTUk&im9&ITv0Spt4u^Z|Tm#fjPU8wX@-oH3Uz_8y z*ReU2pO8W~O|F#Q@$WKQ%lBiQ)L7147oC?fuNQF(?KzZ>TJ|w45%YOf=a?i|p>g4k z!;&?L3}eI}&^%JVsFYCtlahlCi-V^rjq^6zFhAxR{OEU$gw!E$3;0%4TPY9Btp#3R zW};nOYDHuFM2IvzwTzEItif?_mTb)E||Xr>u$N?6Mo`% zvkm)@a5Jbbb)EwWYwxsGl(Q4ZnD?tWQHsZAYEPI;MIqZ$XF<-pR+Z@huUtQD=+tit ze%jA$XJK4?7C9bVZ|2Y^q#NX)7n&t3%qqj~C~$hU_e*6sf?|Ht{77bzipPnBRvg-nfTk%x2IY z)vW&hHSr<%1;6yubJ+*l7HauX8os-!Dr1a0VrvZ9H8O_BG={p6&tvv1t1_~lBLx=t z>J2=8wyl*BUfr%vcl0|`rZMXo#KgrYbqyQ&V_$6H#dtsMlJvEE*`}B&-Uq~vUCD*> z>(2?T(j%DnGRdiOjX)TUy8Kg=2T#qB59mAvJbmLZ3JaWWcHle*AFjTR^9NQ?w-H8yUx*T zlKOaVbKX$wb`r_lDXxILtez0}CK1)8gHSI-s(l-Y6oOZs7XiDvk49tu~SWpd|Ey#YED_mi3@L zTw*}s7(%iJp|d5_h2f}-LAsI=~^Ars(92w{YnAQFzUz6y6wX5!XwudxU*j)$Hksg4YzD~$~H zi-ob3IO+8=Xy=ac*Fj2zR#vWdxJr26Dc*lzKGd^+uCUlC(H@@xu($4$&pXBbC z{Gw+|CH_eIE2y0Pk=)APQ;g77h6oGkD(pB!d575w84)2&8UH=SO=*_VG&~Nr&Y{db z+c)pT$rMu%9_C=}e%LOdL30RB7U76#GfScW9{4G|@8eW2&IT#VuSa@e_#dHfXTtD6 z+`&IP`51n^7y7HYz4K@JhZ-jMJH4kh8-|D!vM=xSx(8eL7j(}wuPNdN?S}lu>dLkY zPWU8pfw8p6;NObxLPJzTox#0-%L`c0f9Rtqa+V-6a<)PT$@SE|`xe6aq1T*c2&0mr#din3N-FG zN&sh$(cYm?mlRKf6tsGs87RmB=a0BhV9y4Y(7AvT01{YIDU|+I^T0ASEf@Z#By@Zy z$MCpLDgK1WRo=ra5xkm+%jWF5+JW%vC1wtr0LyKK;-5 zI-+Vd%`>!x@Cg^m>JxIa)n~bDwVI(CEtiWe*ke5|dprUG3ixBO{`bY1yM4wE%fDu=W^jcC zxs2@~>=W&y1#fxsBs>>3c8b}$s%MrCK0i!*nA?pxL-0N)L8@oT@oG0Lp$;4RI1Ow4 z)N(ru;?1Z(HOyR(pR4#5Xk>YHUudM~t>sUw7Js?kzP8VQ=z^CL&m}Fsj@9fK&c!^P zi)cU~Ts<)^_R~xk3#u~OZ&rTjcCBs6l{tosD?~KFhL@yDQAeybD=<(+u1)ugF;Vu$ zJp;S!qw4g_`9WwAB}NW6H>-%oE_Yf|q=nN{KdmAuui@i^q~qv9N{8p#lW1XZp&~eS zb?BfoGzkVtS2Ejch{!mFP`Wmk)-D>Cw!5sQs|P>!vBMXGREwEY?`c3F5?m=pZmm>q zP0rZ}SPRC5Y7Cu(+gM18s42nFdhOZmR^b#Xg?n!edF5je8V%*r93Yz*W11tR&c za^wM84uATLhiCdTau=~57ol||A^mh}`;ZoSft*}hY=km-NLlGpBPy4qO-NNM`c17f z+6)ZS6|@bD&$;z#-Fq?lX)vKHRQMrSTZ${T<%cknGiGVi;JQ>MLE5i2CN<(bdYlNVnH9StA6aU~WZ=7Y12z*xd+mee37%5avCZ?O$VmjT@lHZ6Cahas zw7W==YPgdIJuQhdft?`J@3^)$ou%n+YQQ0ReiTYKA`)8(<;&H` zdX_Wou+8N7)U}+@^jBqTZ&-n$MW~a=wXRl68&X*ol!Mdy%(XojqV1 zo|DRLhega!zB;{^3?dXp78-d)@^u#sNL6Rum<@T{(>!~EDL2w;eeFW_p(VAD5nV3_ zDrwvSw&u{J$ytYNOy00zVE;T0gLsKusiR{8K-?Ry8Cj)VOa1}<HKYdrbJnq%$UZ1D(ku$h3;uMeXg|WS~g?S7vAOQf>2t1`blo1KDKD8QP z6Mo~U^;xF@v#V1CLK3_Y3Hb}<6%BqK561<8?jlXcWi#+Hc<9cw?X)t%8hUF=Xzh1V zBUoFSi4imz++V++>{{NRxXu4qIo9W(?b@;bOO7eX8vKdgBL*+~@!PCu-nByd!1i@d z5Qy^Z#SC0xcW<*~y2)UvGNBng2!p*8d=X=Lo#h@8J@`{VCu5*`T9OLf!pDYUSbcmuie(N5OrS zlx-hL+ssOExp00m2?v$C29)d2Z)a&39+3U&wR()u;BSL)A92StCsCtxX-o}|RgsU- zQeaUkgyD}kF~m~d?Y1WjraYWeYtBi~#aBI3=V6-#F)nnfhklj+6h_bsThSe~y?lvo ze2Ul%4Xjx;x37QA@b~Bi$#>FDAz}YtyaHUpUw-^ekk3!yGMOMWrzcCvZgav^Ap^qu2d`9pO zgL+Egd&^)Tb!ZA16!H|P6hfF^%P|W7h?97mD*(Vh^NTt>Fv!(*W7!!ZV`DD(==@pW#n! zu$C;bO+L;ED+t=Qek-m13=#-U*7))LfKz;Y(JeprGLpU1oKJ|4IcHG_7jl2F>9cn( zIXc1*9y}InsB6&93CRmUp_N}EEyUYD1f`?LZ5B_Bnz{o(OXh-7EFqd5?X5aLP4dH1 zbRGAEjc1R6yRnDs6Pb9aR>HUX5w>5?rHm}_m~NFr502Kkd0oq_2Q1P-qSrb$f$h}> z`HXyl#t`j7g^3_mud9P<+hZ@4DrAme8=%+NLrhwwx_my1iRak8tSV!M+Sk1w{X#nB zoPsRe)pTL=7<7HlE|kxH~6a$A^5s(uutw$<39}(68NVoXp(9 zj6#Xh6YuLc1>#A(bp+DlUP;ucbh_#^AJwLG|9s|NUN}af7fJm5TkhR-xO(Z3PHkuG z<)8+X^mhGn}IpO=Ak*F4s8IF&+n&3eI+8Y&x2F28e=^7 zthraTo$Wqs83Z{7{8i95_I}Rj2(r8xag78^K5@_36I@25>0<7dv;a0G>x$+M(OC;lTeyCjfi2_ zGqf5bt{tHn#vY!v`e{PwT3GX-!OMh#SGT&20c?}>DO0}omv{W6#4A|yW z+$5OBqSu&{;huV`(Cn4zcq<5p!RNDGRJwQpqP)C{&UH&8;|M zeSga845LD&t&)n~5k3`}o%HjX)b)Wfv-(bG3U1H4V$~pr#aWJO&(NZ4UHvlYfW=mi z`S+cvG^vEKu``LHAO;j`*MM;&%3;*zbk|tNHZ+o_0&H5bX?b(4a*9^*0t*Y{U%nHT zND9{9fo+Du4j3!8eTftaHNfsehY+O_cprCj8jBe|dCJcd%js_Og8cOG9;F|inW9~C zHE>gkyjY1vll=kbY;WaU!w*HOdy!c#C(_a@!-;q|gG{C{@f0;HXYqH{A3q+=MY4vZ zr;Gg_pf<6fAx|#7uwb;vkb_A0y4sHI_w4uJHEYz;$2=gan|}QwS8(M8eKc7;qrNBg z(~mlM|3rOjm{_u^j&w6yNimRmz0p*reXk-@oh6y;9k$YyH_?=OqkGMDQ;RRz#(9W@ zx}lnG7mItFM9Xga0%P1-D0r`vx8jz`D@U7z7q{wIeVQSy>=~Zu*hC@kKOo|{-Wys{ zfZ0h^ZPH1l%mK6Lik8NBcQgaOT7ycw`>s2+>eRBG)>tDpadh}y`4B5tg5bou7vEr%VpmWV50{)z(d7^)A zZExC#^>A@&@a9bCw5scxHL<<7vYi*KOok01B5Rs}d4?qJjHWx=Qkf{CUY<9BpkH)< z9jO0;zs-sgdV%xhVHm3tDUD=y%3B?#zd8>;fk0;;-Z1T0j0TvWuowqWrv7;R?Nf2o z4kv!>WT$knUC^NtnT^BGz|M$c)#;UQ4>TFowR&o&?w>T#+-;iO?J9mVy5vZ`qB(ZE zO#XIRNPW$cMM}plO}0EWK1$+*{Dz*{J?wjTdp9i$~^ID zI!=Uz%vAYlXgoT$a)Sb;0iSO^B(hhDeBpUrz5P^tw>E5>lPC6dYzC>#v4%)cK~AU- zSYKIrx53==zV zVWy9fp((3=5!FZhN;r5bDqG+kfXS{6@Ky>pyE-``hh0$yQ$`3+}aO4;`fcCrUN=2Wo z;jV%A=3-i_3RXp%OUPueCvjV}C*mZ+J5g^cwmqK=Z9>>U!R_gpv?=Uvs$Ddub2Y-$ zvFf=`%hA&4f-A$_j9zSBpOx@!Sn_ukCCDSuXyzJD7iP7@OsU(LwoIL77y^PO?!NM3 zz8ooG<&y$j=UtRQeENLl(&F9LQ4=qmTJ}7$`}7ZpOm;ZGRNY^%Rb69{ba;dO}jO%Ti8bSVJk;`G<6Aef^g3^ zvBDqM!SeFPh0>YH2=)w#umMC;$jT3MGebId1>v-*)UMW&ILPJ1-DQN}-F^Iz!Ow{H z2EiP|(vGR12B(R=hY`z5_w%(dA)mwIF&x0YEw28RR%kM5C79Hl= zcF`6UTmv|GQpGD+qP-Q&s~shS=>|6=yRuEb&u0z0Mcg}~5DlLY_-xG}UsBN(b$$(P zxIW;ASWx<`x=`7^`>tkbF{lyekYCBGKz@Fe^Hx_deQJEEfBjpr&Pk3!NmiEu_rcL~ zg+POYBB26x)LejJd7?yYI9{u2%7h1}458sdE3q=_6S^P(nY$jGnnvG~kO&`UmF%-F zrg1?5)`Lnm1rW#hgHK(xz9YdjltpD)J0qy(DjT=fq*?PKVL39JCAFe(g-o)%<&g&3 zfb7XvIpXLH5(N%o^;qmuU)445sG7*0C!}$AS`MGvg*QbKTF!oXtSy_Ue?l$yS z)%GSG>ewt!E3zS=Xc=y7Ht2#XWEQM>FXf;$J>rpI+rVI7flfp~V)t}?VEU`*+ zzY}Z!fJpC$rH7){3KFgOrgc=FYj&kLSpJ3_5o!p;SyQm2t|k9M2N((UFI|tGnUrLZ zI_GhoJI%HXP}c*O<1N2bcWVc<^UM$Sw<_WNj#on+3pFVM9EPd}Td$x{9j!R`*(&c5 z;)J?Q_5I_S!v)(nkyRBp1efvR!-Q)>Cu`2+{mMds6}0!8f%v;UzmF0_3-C(?QdrU`p|QOD#9M zY-^=L;d~$Ra|+e44UM52%Io|{Qilp9zf@)E7;9OzML1kQ|42jnQtT>H5yH7xu*38U z;dUUjSGRnYONQ#ZZ4*lEau4TLbZdNuhX$mN z$9f3+^1@3>YKd5Rzl!jUNqUfqWn*woRf=_{8ss-KcZsGZEbu@-URS4bQ^wxH3cah% zSrw~u$XR;R;N+07DK92zTBT~t`va`vmBqCXP@>B1qHQdhO0F;(X;a$&iTRnaM|k!s zRqDpHPPSpiPO~Dyrme8AkF3E#BW6uCwxXUzT5Gv-Ug|;hz8}95cR3ue0AM1NA3{;* zP{%ZHYuzSz9DRAeyS-^ywpL<&ADj`HqHt}+@Aq$0;l_<-*Ht@n~n#;+MsF|KjNvmW#i{jk2az zI9#cMTSI>dY4`r*A$=7xnfSo)fn{ePr&mD2Us;+8}s7QqR-n)^_ymjSZ??mf)3KXrgvlUm>r6ov`s1ciJGZh)PP=Yu8)Z2yP ztYRDCvbh+n%Wivdn3wbgr${~|9&mJ)dB(px(Olpl$ab!6oPKHa^c<}1vvjLG@V&2m zvQVWEk%^|AiWK}l4g`0jVTy}FIc@2#Dv*-TN>jy@5s=;a*~d9NoqAq4{>7W%pz2;& z+w)&s;E?hU4PNa7RSAE;7&SCYd%MH^OY!An2XiW&r-l#Zc&I{`KjQdzvWQHxDFmM; z2nBy)XnaUh{G$Iw*O1@-zXi~3f)#mk(H~GYHgk03L{CvKYUgFPfMMnnhx%MLWKnz4Kfv_qI*{__$F)KYlB zQSRtR(HhG1pP66qvjr%{E0dR|q92W!v&6GmaxfDsTPi(OMi-8Kjo0tyH=2K)a&Dm< zw+o)**R@W!*c%`UE7ZwZf^Y6g4ne~p@tocMzPC+VveFw~VqzsnCJ?*JIl||eZI^!o zag6-87{ysJ{>O%`e^<<06czv0&m`X2Dnp_9^?0-Q66ax^y_AhBHuF z9dw@VPY|qT>IO9F^%uvSiu#Rvnz+f2c25SPtbeU|8dOZamt+dlB zxZH%erQ`MRo==02u@}d#ZLtlLw~~x0UDa$kMf|d?YZ@UkAjcIb+UXiL@Q_DXZ3*=6 znf;8Y;;4UPY^b{}djG_USHn3wo#hY6M>Bz@bkRsg$byrveZlH%iu`bQ8b7>0CXYk- z``UV=gEc}znpurlgD^!$TBU=Utim3l#F1p+IG=H1`u#+;zRt>-a%Dd3axBe$Bx3$F z73R4!SIGY1n`^g%G4r!Y|8*bJoHOznMNg+lD!6_COswTvKBr>@*`&RHJYA5WWo2k# zn_GjDJAn_I6g67wCw0%12+gl8NJ~<83sBll1~w0-NYj$>l;UxIliJxFz#ewQ-PE^d z-^{W)F$#2zQ0R+$B^5KzAPx4kMKab_Gm3~DQlv$89X3yg*9;j6no4J54UCWyO`?L! z=(3dLIIzI=D=lj!8M|eZUFJEh0ZY>avkXp(rwHAJWu0afJtc!rGZ+CN>*6#x8BOwS z5T+Rl;{Y_I0@L>%go27P`c3wkV$*abbDnBc69M%zn`FeLJJh`Xt!BNayg{{D5s+Ex zr>}S0O67YQlf52qynUo79RTYpeE6>Pfw`gpGMM6J_{h8T293$$#%;=~nh##Zvl zk%Hei9w0NWnz+sNkxu-b6gF?@xVad?+rb;I$s6BNu}md(k)9?hP1k;AnDG54K@_w`*>zu);+D}?b{=-smv6k6zd z$uNf=xeW$yqrI|SjF+QXEzk!o51`&(1;ZB;1Z(e%)Kt6WRh}3NJMZ)f&sR$I{9?Te zNn!3XkM;YDwE%tBuM#n`A(PjVa!bb;;}CPScwC@l+3eiig@|A&!&IsaE;>h~HG2=b zE~B;mxKpa%I_#N#KQm-m+-OK4fx!yMFJ8f|xR^HLb9n#84(zs~tXNsZZWpCWPFj#4 z5rKg%I_DB3W%L9~_|`d}RR>&f8QQ4I#X z7_-zK@;b)CHo7w=YX0FTjYt2a?!N*pw9<2ZTfn0u`osh3d!INuPIQPhy`?$!x=aGV zK|_l9Sb8m`^`GS@tsas0=Zw^u*6=h_o9uE4#c@)pGJUQ?aF8wlNp~xgcdIG&q_uwq zEGVNb6yl12N1sXbt}x_fT6zwN>+CNJ{_4G{R2L4h+A6~hy`cs>gk}aS5eLwlI%6cJ zkVpI5xR0$anYmPRH{~4(Nc8*BFpiUWaU#`NWE0^tU2=S8?_6r0mvGd?R^zl#?rAdq%w>LDLYtOW7 z)>uxJ-cL%w{CNha{Gs8`phl3cC0Q+wx&7z&KXl}{Y?$P~pt8v?>S`8np5u+-ysdg_ z{sQ;6|Gupe_eX~IDrx`eH7$mSZXR2*JrltjihC77dkaF5KcEV1>wj>{8~`Z*jOZRZ zG#KJV_2K6xlmD2|sfKzb_N+3F7_-f-d+#DY&^4#beY)xL zqlbrvLT{SX*uCFUfF3VGc(OO<1)vd#0~XQo4_^c^_^Us)RL*+&4}Bf++ovTMN?{tI zv`NEI_&oCCR#K!UCO$Vkk2%Y04ZKLYYftfLOOqE_B(#(ts}?_$BHj|b#!GqSdL=AY z7IObJS5CYr&CR_N`Sy)CAZYvd;Z>QD%I!JYF&3{}p&q(9%t{sFo+hu165DmFKC&=N z+Z^w#SI?d(}9b zeC{o-`xWD8QL7eLlG}vKo3d%S9!fVOgtuI>?7wA2M{ZSHB|xD4jsF6_|7UqQf^*RG z{o3IV$nCUJ3h#2{v7|E@7cf_M?`qw7Fab+R)6;79%6d4yu{~eBQMA2q|%k9 zxjORC<|2PiQ9N$BTBp6}!oewR^Mo?x&$!(@*NoV~8+j!a_D*?hMU1btQ{R~bQ_`wW zqo1`YU0^blvNUqaM^)Es5_+CmnmU8IVSjox4YQeFl9)?ERtW91hbx!&C;+-MDMc!T zTFr&bAJAO?I^9E_SvNcWy^=PapbJF((3u0}$x`&k@@Mmfo$bCMjQPI8JX=)MCNi1Y zVTA<|Ibv=JUL_5Uo@IfZ86Mx1@)JnpTjsSghus$qN4xS5tF$!c>ody6cd>(x3uSzv zHt6iwR@gc=!zs<|C`qFN3uCVB96Vk}#L~rOR^}bKotB0@;MVZL*1MeP7Rc!G|5Pc8 z7v>>--%5N)8Abu znEp9L_!S+W<%x<&o9y`+z@gHqK~2_Z&7qQFj?>($z5)qPKYDX+}`%?yWL+ z1Jg6t2Y*1Qn5#%OM6<<~d+PQLEy106`~VQAqhTmWau^hI zlfu+N2R#+2^^&)PdT?XPgO^aV&eNfT&Tj2WJG9;>HJABJpm`980tCXjeg81(0qP6r z*+(7fkeZE@x49|{4@l&{h&^Ny`ttl+(htxB1dsBwmS3Q!mqobuPrT`THf4WLM&d}H zJ}m=g7yf{jEC4%{_dTMs&a1!G^Oa9@SX9!ZcHkis^&4I!Or$flkl#`0es%=ud_wgM zx4*b=yv0V|E?`@tqODMW!I@m&d~KcYy8%(;aBdHrvf8~jBD2XHJkdrS81A+aa` zc;)|I%=A+dHfiCRD81!v>uauZ&Kh-KU@MeqN9N&SG=m1uhxsoy<(%rqA@6Mg;yF*9 z0)Re7;aoj{vW`O@IEMlEHDYsi0O(=>&iX^t&TC-1$}(zdpPmyhqdRz(|Q5X+51`ECDGZJjeOSHF{fnw>uDs8BtPr5e9fno)pDQ>o`>yq`DdrZ68lG zmx+cn=Q%Jw z<1$h4La$PEZztO2*OZvjVp=`-zK2$%1xNb(%V-u&aY>r;`S`p-u|+JKW2EgFj)Ep@ z{Z6;o+{p3Iqm{ky+#Vj0TkNzNo&|y6TWaTr|9iVExs!czTz;E#y0F|iaQYoYQ2O!z z!NmW&P3U=Sc`#~J>reqeqJPHuO8-)uz+MZD!Lb5KFdz~e!fdV&y(4o34-#Y+ zmsNIXWl?AudmQrdHgn1jNy*%4o5p}@&W6vGTZ0>?2C*GhhwQV)vL5LW+;CNS8m+u3 zeHg;9(IaxQ&n3e5Xkd#)w9zLhCH;{T4Sik?`9__HGlf?ZwMR;6?8HqPOTuOO=YxbC zQ8fCaVV669hfaLe3f6(J_Oy)qj%^JQZxPzFvh#+S!x4VhBx81R`=l({ohWok-XMrh!I6+0YB+K-Q*c`0~9eyMD;Ch7XT9;tQ}2GrvxNW5{f1Oe)5 zg@XG#R=OwW;*~vjz*J`A)grVf$o|p2K=PrnK=QFn(8aOC?7MyzWXLf;Y(Uw*JkrSy zHa?zemEEkbm8x{$xDRI@s_Xejfs%4-!7VnY+1kr`B@5b*nJKg>fOZAF#2@-moEysT zh!&lR&}>oJ9_)0#=6>cOfVc+RX|G(C|I9we2wSuUADtwE?1Thgx1o#JVAIb zh;(?Q^xwUbc$s`MH>|qj0TQtp3nmQwBpUxw{7(N~MXI0}-ikkV7HC(1lcEv8e@1We z!YwqDb&g4bCJNxG&C2H1+&$bkU8cWwLZqCpTdBTHi%EWlMrYruk=zjGt&d5C&t2=_ z=e3{3mOE~Dt5lzq5Ziv;W%P^M@|JSG+Bu0#!6++rvB|#q#-UB)M)PvrKKfkBQ#`f+ z5ZC|?cZHFImU7Jf>rm>)6wG~^@@eD_0HITMOMdkS)ONB-_e8(ANYnRIa$LorQORmx z>GYZ1jVlElHwDWVM+PL4k&U;nuAwM})*7>;n#f1)|A1Cg*HPCprXC_PYId~r2NxpJ zGLf6r+&R2mvcl|i>fPZ&HU1`8f&j9o3QOkK0yn^0j)AFc8MVZ%G1bkgxU2*V!1p2d z(6TgSE8Kv>gnib7R3=F)yQZQx$uexiLYj5glq$1w$eR!&cANPmxr47=`}-~$nT7Jo z&5m9!ICrl}FNJa^KH@S@e}6qT&pBT?f_5C%?MUYiD;T$%d#PhfrY{>bq`I^@pRYMR zzHqQugRL%eyS;#MAQZh@CYIS<2u0W4l~k0~honkYOLOG+TQq_OXf*zze z&Vc^b27#pielQplOz;u(9fbep(LXp*c%Wz1k37Ec*u)8Vd?hf`93&zmkQ-Gx5-Og^ zTCr}s-ECAk?uyW z5tn1Dz_07*$Di!qJwQyeJ^Zp|=fX7wcf2sLtGh8Y{8Gs)lm8o@6-x&FWS0K6k%pU+ zE3IxZdV(Hu7a^A*J6t`1cUL*X-7i!zEF=R5_ z)@P5Up?>a~aQpV)up85{M%o2ptz!V$C&~tgIhnqeks|w^%G$kj^E8C}&?TL)xF`^& z<|Ck?do+JWowIR(rCJI`PbBqIzgn4oj$3!ra8b%BH@9JDHd)iK5GEvC0!sj3z5LKId?VW@uLCAN{=9gN^Ha}PD){F+#2V+j8Jhl=-7LWM z$8z28d*()^Q0Fk&9Z~qbzh6wJ@==^3^7$*ckcR4&q|X7-yKgTsW|Q!YUuJbNQKvfb z|1id*dILg!;vo;-z5@b4kOwGw1`Vb-aA{!3`?zoF0=e&P^`Jy0@&I)kYnENZ5D(ye zIXgv>VPH@V25^!&K7;9$%oTuPvB1O^$JkjT9iEJ-ln_kboFi|o+N*o(F>+yxPLr>D zIJZcAA`F&}MiD=~q1JP@C>X|!lyR4QonU6REpVDV8H7r?z9cEs3RkquU$4-p**>XD zSCkW!$$4=czsEM3Sr?JI5A@O* zvOAcR-^~n#)63!SS4j)DWl`g-@u*lj7swPp83_OTdMu;q9U_L1KgalkSfF7&m>Q*nNdP z)?pKZv>hGrn9WWtd8Ojx?nw)A^jxXP`VvpEhISEPQy>m8tm&Vx<)?Zp{tQ0@>HRpvQ}#+Qg)L z$7Ia6?K;12kr=ussaMIq&VbGE;Qs~q|7Z2!zyx0qPjb8T$ur7gG|?U}X(LRjEDoz# zGQd2!;SP(A)x>5D54jHl)`m*%9&2Lxq(H;E+N&iJE85|>u(53KI|4I0_;q?1GkPxK zq|fuxbNn<}nr=sjl_YRX^O-J5aQ<1p^E63c3)WLpA}La14K@}}Ayy~MdUPLqdQbON zmT&+uVo)}E72zvO)Fsey@mZS3U!!BnXhLmCP(W3+Ary|kyATmGwkI&nhAm*`yoB4{ zNQQN2M(PHa6drYD<{V#o3m*GAbdI20_xX|{3Y8sKkVx>;^`B#Dd7rT5MQv}^vV`9h zwk?`gEkNriR*x@G+~AXq2%{E80-4`8LkM@(Yk2OY6Xz3%zJDIO0ZqQQL<9McZeGg^ z5%jS$?1-)SBG*ijHIKryB=t0{AaZ>pWuUUfRPkgT+S9P36Hru@zD&%5j4Ko#5~S4A zQ;%~tuBofoC8|m>8Y`75A9#j1bKC?Pf|b15GvbEC%yY41)Toe{-^}9gAmk|;My1Jc ztMLfRG8#dpgE`0UGxy}H2J7=%-VIEFgHnhl5k&YEGcUzHvdPjjrJCVld>>KTRAgS% zquUT`Q~T@2So*M;PS){8g5#VK!rk)tD;3hk5NR5!X-ceOT z6X^0~poY~sR}J=K6-6^TAQA;$5_s`f)!O$Bo2j{dft@3>|Wb8$0h zBGZVv@DY_OSft7#Z%9T0@*vIF>lZVTxY8sYxl=OQylo1|>Hg@`YGx|#XlJu$t|A^c zS6d~u*CWT?qH8xVX~`tm(S<<7*l&sC7q|S*2ArPfe?UdnUla*R4zp34FWn6^yxuUJ zBYv9#p4-okC$>!ffMoIRNW+))Lu2mk83~D3J90)%H_!Odrf15soKhkgrt+w%dovjH z%;R0Nx9{{#S#)I1{LYngAJj#PR6^zxF!Hzi%-y+9t4Xz$dfGGe4`|Ze>DQP_SMYJ$ zge#Wpd%BSu=4N8`cpBy9R$Ho_XERXlb~JGsKhRN%yToIt-+FhM!E-zsb~k*FjsBKJ z`{4=+{d{e4gYN0Tj<^-8b;PCknCP54wi3p57Opn(+n;-AbGp@@W?1NudUF{nx*Iz( zVPb1l@B9YJ;(J(gT8dXICE}_&xZ9ckfRbC|y1K5QJDfS{t3Q)C94FTLCg3BrZVpO7 zr5~TkwV~?D>)+ze%2V2VbW-r_dg{kRzT_rzy4Zsyl;JErqRf(z%=% z;o8WNz>u>!JWXBE7;f>ory9z|spcxQ&DwR$=YsbAz^0uj0tq`sK~#NMxJER4YBog} z-+Ajb4}4PiV5@l+ubo#^tV@1#nQx4p41G`0qf-9F!Q@CZ@9&p*49}jw0E!e-lkP7# zzrH{E^=O9bbqx8a=;ouSPk)0PUw}$MA3Q={i$7qkv=UT5R$Lhtrqo(+dcq1H)ReNk z@NQ4Db!R@dhG?im#KSihOPaMVj>MgO5+S_R)DavdF4}N`cu5qd@iO$Yn6?I@P@^bZ z^6IwgdT{@Gv|}Pi5g%;A+2auYTlR9!_9uDW>aKE5KpwP8bGGHQ_uN#+SCm(ay&FXt znnzkX-(ccIh;Q!}=Hz6<6g!y-gU;Nxw}^ZQSJ4Pafj?iEubRWmdTZln(S(zP(q&v7muL2EPL6Y6WVZ*E@@*)2q+bkt@VOq*=|xm*ZSl*Wvamko|XN|L?D zxB44*6h(>?CGYy2FgFYojyu359~w|jddQ{z_%G&ieA4HgIMrXQ%b$@vw{MHM2C5pp zcA!on{!g7UxPesNy6@@ndjqHy&2_yLi51{ug`~fEjP@fX@=QL*z|<^k0*8yof)dv~ zW{=^do-%`&MD$Gl{Cu>tu-+zL{q4d5hf=}J(9#pyaz6VGRd>!xQ77~`lsCIS;~=K6 zuY1Q%YMu1x$!A?79>>j?qpD4AD7eKqi&Gsq7#n#Iy$WsnOe!NFZGPDUvfL$6ZY2WdFYQsY?as;ylruLk4G2hJGjrZf@=Q1%)T zXN5Z}^@lDn*4~Yt98NmjNS-F>vkG;du`owhl~leAdw=z`hK(~xq5A6xpQ9YtzTIJ6 z3Pz*KH2l?b%eeTf&!^FbQoqJswW;S^JwNOW%4r_%-voc`V#MSA;43D&p!hXRL8h zK0B;_zAD?1J5~3PfAi3-gG{QZ9N=l{c}M11^zDyjdwO_0iE4A&0Kqq2o7nYO5Is(m_k zc#CXc^-uNRiXW+0ab}gc`BdEfP8g|*I}s0?+;*c!xM*(OYnAJ-p|X9Ggykcgu%x+5tYeYWox-t`uTUvb=6ZJ zp>P!qj!wyfnE|#DW15$SVv$64BY0c=^~XNGTo@;cC5F^Nm||#}R%xAaS=y>uV3{FF zb{wmCzm5`T&G3;_M+2ll+a4wwCf4sU#SxlvpVagw_Ab?p#|*a^ z26w9kkcFnKL9N7tyi&~;@jB>qswwpA`idptEpoPTDmse6Z9@(Ul$r<4%fkW{7Q(38 z^VY-v;qEPi+KT&s!IVM^rL@JZK#LYH5*#XM0)b*df)pza?rtqo+=ELC1Pg)U3BiiH zyF10DIJD2^xp(*O%)a`+-ZPV#%;dZ}Ilr%dByHf_XQ7M1P)Kw$;BnuMsC}HaD*V@* z=t5bxODrY%FpNL z(^Q5V`fkd?c8cLY2MJihqX56mntYN=1nlgw&qitFVFqq)sm_(Z`bJfzOn>&YO*kj? zCoy#$_q#W`>wM&M<_8(fbZO(2R!Jr&)-C#la>WbH{4>Sl;7I;{v)Hh~is*3(9lz{; zi_i`*141^m%eUYc_Pk37#>QM|epI7Iyozdm#xfz1a*)3+avtFBSKQ|vU4UVSDZfs% z)q>DH73?ftM$I23kdl~Yd3oj?F?pc8Hm=1gMB>Ou&3oGm890J)}W>234Cd@$aJGhoLSJlISBwMAgPLg%F@b|&=9wAkLFu?eLvL>^GR@$TRw>m+~M!4 zA!2T%bEN!Cv$V995vyqD#KaSLcF2XTNMKT8&gL2smKGp1>bz+=pZ(_d=ODLA6ovlDoRt! z*1A=^YE3jX3QJQH*jh|6dl#LCI;~sm_+=>Q7}=rpw0iB;*)GUk^xwH(@Jz)+E*T~g zIe{$L8SV4M-j8^O-ZM#xp4zsT@goC+yZSN2 z=5W<)Kg@x(Wx28)@2*YWxJ!pBzu6WDe$fuV3od<)igPnt*|EvH-L0|Xx&Dm)9NL(q0 z<=y zN7g8#_L}o5<>cSvA!EPA3tCE5a-vs#;(is_1WWHF-59ib;UtxXqyO!;Y3i06HTAS! zSTlnowp&g*#&dl$UHza+p&&-rZZ|P%H)(pQPT+hhvYmTELmO7$x>Mfdbz6m6EB*l2 z$)^>=5)IXl`PnVGPP;SlvJgV*W-u9fX;x`sB+OMHDX1?92I z{6nusvL+#hrq+aZvI%B7$!4X4()GXS8oeEB99-6|ea6pl(nS$p+dkS%)L2eJ>!Sbu zL4Yn^d`{Xi3u&{F3-Dez+|}`GXMZnWz$?Tfz99_74}d<^($lFy>^MG8w(B6IqW1EJ zde5>o?lYG^t#Gc%C0xYhhl3XS+wC9VhTjN2?{D&4-{@x^#dKOr3@DWEN}yn1Uk|6( z*0Ngm9E|0}6<0D(6ylZyX~6wb(Al!D z;YtyNJLs7}@LO>j&~6F6S~KIt%CfHU@(%G_*5NJ3nKX0TE8{m8KCYsM7w)WX(lhxC zQl{!~;KEy?-2wo9<3InC>!Rf$xoRHW zL;q!i>t5zpzNWzif4^-W1eV=x#KoO0|C9Oega{8VY&jL&4D|ZFi$Yb?IIFsfc{<^g zI3QS-)Gh;-qUwzm*9>EId%XX~X0=2>iq?2+j6%}_^|H_WmMj;N&e!~iF;Q^V8%FbDeR5g#+^Lo)4-B*z1FBYD$oBTVzx%_7*QG&ktPhj+V8ed|J z4NY7pSE_DqDxQu>;MrQqJG&vC8*-0q4xFobepo-i5w*(#OS$G<$JZ*;R|6kLwV9$V zuZxFQYpfjB2TIL~cI%1gVK7tro$EVv$i%g%%h^tMmk;#R1;*S$)?3E;&yj_13cMqa z`a#^xt)KB>Qttk6ggYHPbeYDHzo*+mwKFPdB|0`{QoCdQ#R0rMXX}ZW4}52<>-Qu? zGCP+%tOtRWSh}kT=DoIrr_4}w{Z0a zGQ_wf?SlsjZ2WunQ~czYqV*rgJmGHI40Y}mSvJr&L!lkn2+1q;muUH!8Nc}lt#dPX(gbK^;> zc_YZ9BGI9we4%l0+48>&nPyfs=iN9x76DT+pwG{IE{4Rh&RD6hut}u{ZksZe2cB5; zxImZf6Ot6+xpc2+gTnh}dB)MxZL5d5)VbApDOTSCO?U=g zf#!s-ArHO{Z6&XD;iQC#%zrbW@T$jdE z-SM$#229C>agK%Am=A-HxKg3$F3|nK(1OIeQ@W(fcFtMY;eB^^xo*L?Jnk|PK2L7r zWV(_`p$s^@hgWU!u{=K0qlyL}hnR-jKHpNa>U7SWiw8(y2}tfOyrm%e)&sbw2~d3*{vAMC zkrsQeBatw>74V?qBY-HZ?z?1Y-M#DYvW^A+1*mH@{`$3V_7u)ZI%`V8h={mb0k7T%QWDm#Lm$o`O30k-4m$HI^7dV5HJoL1PxRTqD>kdH zLaT8N%LC$XPFP|6cLt+9>eH(y&k}JAs@e^DDrx9?s%K&KmXw8S^*>MM!v-RHuiHv& zMyo%jM)jm)f!5}f^S(FWzKV?6yr<|r&nA(warPNvzRd$UlBn`o=)~xe$x|Z%d1n2@+tA4C;=}3 z3VWaRXNwP#PBypY;hw=Jf4a>Pd{@k1`S{s3T+uE}e|1Ja81F0+C5n5tMr2PXIfrNS zpZo_ff~P{**_l~K-1NucfogdAL#1H;+cB+q_c^e6p5~vW{G<-m#ONJuk6uuG7>5oj z@!hLPgv$)5oPbsDJ`l?7HEr3a?tz1ndnTFd7eWp&$0e`8C+l;1z7*-%e0IlIg~i3a zbLW5B-hY`%EIfZt2E+y6jk70yoxCfWuNK|5NiS*V>!cB^MEf z9x>Re-bH>3Jk2s(kKusH_JKUI(lFI)C(VZGWukdumy%6qLhP0zQ5JgHj*6?D%@~B!tS~g=Q!?-dB2)~pQir}`%#Eh?I)11RU0@-%y;_t^oELRRDLrYu$C!+Yj&NM%4?m!> z^vr-RMdT!hE76dub*s+2?^2h5w2f7vJ$N*x9vfkpmz)VB;m3y0wTS4i7xeR^b@@B( z_?9;H%u0YuZfTX3Tpdbn@5S5`GL0XGRIGIWx?J8e#plW|J4+OAzWxXBuq7}(z$1N& zYhmq{?w{t#wcO%eD}agaf08Ky0AJ5wbOUW_)Berykje?=f*+Im(;xJ1jE1QOfqU$J zjzt2EGI-oyz~n_h@IN`z)XUg}CLP~$v#G*4tZ#|iT0ItG0Fn>JUWfnHaLmlw5oIZ% zjHAP4F*`%noTynbb9+m&Y$9LLVJO;e)%x!%74W9GiWP5Q>~>$X;FydltYvU}#3REx z-%YEz@wx6bvv*|C#F~wEJtiscN4B**@8PQJ!PVU-KbT(yQA+iAwGm_UrmiO_MVf0t zPdj*Dj{Ruy!Xq4qScC4aK5Qyi^z>r$qb*9b@9(q_S!)oWUeXHJiOo{*n@6l#6_y_H zbrcrSd*gXJ=V^9c@X%_YYckgw!X1i%Y_4BNpcQ5v7SII@yiW zBCDKNw?*OIMG3)BLqq>9Kdst~v+iqgSq@C5eSIMahFha#P2uYs~p|DH_PZXgJhm2QABU%=#3wDIS;stK$h^ zH#Nf)PZ|-X+6BHV(Abr;uu3)mVG>->G+}|=+Dh5&{k<2~U|0SLJV`Ik&`|6B(#{9% zT=F85D5B;bETc=R{R7sTznWSj&6}QR0jkloKh`X?rC|#PI0ni7sJ~sz z!P@0M7B}dA77tpz2wNN55&8VcQ`+xy0`VaJ;_5}VUXZ6@_IWX^RMaefI^D5iRwa! z5%#EDNXn}SsmU5wzH!>yWG#G(ufsFl46KdonHZ#X{xd1-e8 zc__tGls3INli`GfON%(CE2I0hjbhcGs($j56Ooh4Je9Oxuj;zdZ?JXe_|22T`E)P! z`-EwYfO{5Q<@WNYDg9#ET03oRTJ>Aw{CggG%=;6oU9`EJb|N98uoXotcPpB7cU>EkX7EmHTz@!fYA zvycyxv*{$C4m&4Zqeq8hA77}8X5U3J^ZH*ii*{#IVX`#n;&Bu6Zm}{+Q6#r(#iUp&M=KMl<8-nfZaV*6)dLy zeR1Ev-_|5@lviJ09m2Fksh1UY4qg}fe3 zY*>^dlU{Jt;x*}#$}dO3@&b(RqjC`}pz8A{<>YJ=V)CU7=uZ(B6)K-|ZO$?uhSYQW z5TA4WtGywe$oTj<*Rw#66!~ zc;EU?ig&z?$Fd+jj%ODf4n24-{j(|I5?Ineh%hTsHcZ1sBB?b}a1Q)35!X{l_{$)v zrw=Jj^A7QpF;7>2G5kRfRRI|2M8shrlfx)PmkBZj&*^&{SYM`@$J+KW~6bftdM zXzc8o&N4|W%%7jro;r7DjLwW&b}2<{^Oi^#wPU6vs$KR$pnBW_U9%HT3O>+L$kF>w z!$~c|KvAyI)*kIY#Jz^_X!#1R53ZDvlT% zAVpXQR`IX)r>r>V61PN!iHs7+b=-hKfX0O5w&C1~(WMdnHfC4jX;g{2hF5R?$O&oZ zd_=cfV(#@>;WRGN{?7FK<<;|AL{}q=ip6Af@3!%ayq!-J9+$RyS-rn&11jhcS2NW} z(Zyn&{YKM1Tj7ibp?Lq_f5k)wSEg6)Hg2*i^uJD(>l%ugg_ih^a-bTiiLTk`a5hG#{ncnVMywGgDoQ7`sFma~pofQSx^EZg*Y!-7|qyl$-F+a{siP z)4#h>{S2WdiXLQm-YZbY|Hhqa@LZ7PG0sawF-?%-X|Ds{pDTw&{ab0T5_?2h$**iq zl15V{p0=CJ;IpEC4<*IjhNALZrN+!voBZ9@(h$-DDr_B;XT)!yCFzsA z7OdCQ_x;)!gb?|&co!Br78auLsLiIPGXYP=Pr4b4pyf42F3)UmfDS$C!t+|B?&%{D zKRbGMbhNMY`=K51(iL8Losl$s$dQqu&C`4xk1%A{9q1j@t#t7(09Lhnf z^6^EkUm_*zSWr*^g!lJfRg-LSt~>MSpHjT>%ko7KC%mFFgR>t~=sX2(uWm;b4$t8wA=B{cWd zxj9d+7~h=tuqc*v$G&-Zq$BAWf!_Riu4u}i)VFcFKcwd0vb?*)G1|xd@Amt&TlmEr z{Q1{qQI%|NE=p-HFWIc}mTB?#8?f#jRb_7%{0|@ja=X@;Pn>f8-F2vJd0Lnn~xA&~qp1f6|3I{w<-2aY0f&`s!eGUWhJZ0eRK=CCR{MVghBZ28y4Vd@n1FLGJn20PWizgOE2L;d zJZHta9X*%G>yBL25?$dOzES0O0tV7RYRgB{p#2YV_Px{dl~(IW^gQp0?;)Y2of6VE zg@YL|_l~$g8pTDG0X1%G@dJ7~05;GK@20qHkye#tg_rX0x`Uwv^&F^5!tC{G98>Xb z1M33+JXX2f&Ex!3jS49qP{KLw95en1@j9IYG>VoOHez$H7g0_8M29&G@bUqky-%(+ z;J;jsD;PZs7Ol_<#S4>+Ww=bOEiEo{_v<-KbB`VVSx_i;^CZ{G_AV`ttX3a7?CR&v z+OyIJmzSM`vtW*ym0NUK?uN4vpj1^(O%iTjq-tTA`uSt-HWXNBwBC%bfm7R2O(Sk{ z7dV%+kPTkOL2>(0GFv&e(V@+yb1;K+;hiTR4{YYNpdj`H(I(BMInsc-vWj^c*&UC; zmL{3mEljT>S9po#QAa&#w)xM?nseUclyzktAO0ODpM%RXpjp1-BFjIhP1RjnikLW3 zVi$ZMKG2t(jelRglOQ5i+E49&2uABdza>fgZt;|8ao$>Z07^B@jEz;jOwWb>un3r*@lBU44hE>X0wOwy@vl z9XN#|xLdJ!v2#c;@$i7Q0K4^|SvliFTirGv-x;=Vy3u$Nr`fqy=}_Rtz4MJQ5kyDV z7dPRRiK+|(>3t3%N(O-gN^pQekyFEVhdsI{=uZ^4ere5R)dsY{#^R5dwe25Lau)|3 zVR`oV7M!2Dq7%3YEc3;<*JSjg8ZB?5r((ZFRgymGme2ptamXslc)x z;}kof%YX5ZcVQvAA&|KIAE_U+_~!p=Thn&}$i_342PIy^;m4kbCeuoh(1e9F&vas!xI1)~`TvSw?@lVU% zwKTfb7G#OmBxyvbaeNx7Wpu@@KsVL}CIW2CivPZ`$%2j=J%JVII4bJwdr0w&*)wE~ zJt}`vU|fzER{qxKyv^@)B5@Skcq#V{mZCdWz77}sui$C-SW>9M)O_}ma0Y^*=BlK# zdriWoa(A~+HYWdEj*{CM)55>TS&jIe{yDNx$!Ei4)Xoen(YaL_1$uI`|T)Yc#Gll+RC>BcrM0OtZ<^+`#fOR(gEU z^18Oa5mTtWv2A&k=@11SkIphi+h(MTaIxn^_tAJjM13n}E7zvo@y81#+)=JxknzW8 zs%P1)DktlgYVu0@_k@6n)YDJmSiQ+AJ6+Bzhi10i!n5h%Bc-E!mnQH;=G=!BI4>Hw zfh}QZuY+nE&wAf9`MAqq1QY14w%t%u zGqTo%1zYL7*bWblqsFGD@k^AJxY~8L4?`@wU{mW}K5bijyO)Qr)%K^mGCsEg!*19l z{}%j+4`x%b4ei00nxVg2zQ#VbBfN*tEVM5M`t>Hq_eDf(Qjt_2SBwj1W^Q63Y@ywL ziA{8i&Xod$_kJJ#K~iwDz7r>)qlFiIp(QZw^rxVGk@=;e$M#h{jfHhW-Amv=5r0V@ zHX-Y3&R}zAXKNWZ&DUsX3kbsQ)~?@k0jN~6-+SDk6A$1rBa8=qcm@#lPAIeOm{w4(8#zl%6YN%<}~ z?vx_Wb7fyCY#Il+wwBYlqSSB0I%%u4!INckwh-=C69E7Jd`a!e!jDslbhS_ z9-Z+a#aGDTz5ypzA0%$=j|=*-bnzKKgnUCyRXG0&R+)#bd$NWVA6_T^jOuLy37i^& zhjnj5Aj=+Lt;1I>WNGG36GiHw28tSRfeDL=tUcXn=xNecSJv6AM5o;ROLwd%$HD_0 zF8U8e4>_2`uhkYBKEz_UIhSr3V$>Jj1B)Jd^;QV+%?e~w6`5lpr!cxJJ7pNeWG-)X!X+41*<%hjWuhng2ZVphybnM zqXlfe^SB{ac+7xe51L3Gef1sjlAveHwOOekrRQ=}tgzeVE3)d!}2td&O?DX6*k48{nv z9m=j19~u_a!6Mq!Qn<%vqf_H-k0}IwA7`#vfSY^yBMbMzDV^>d_MIKI-=G2-pJ!Rw zSg4!o6riOG85-u<8Z|qmo3)kI{u}l66i6pExR~!D*vgZGOkhgE?P3NkchC#ZgL_zS zKg&krsQZS^dorIa7TEV5vS%-LVoNALd15InxeX$?jZc7V((-;IAQZXvM`-i!r6dPb z8||^~|B3i#EyRJpOoRKqy;Ha0IiLL<-c-Kf8rZni0o<$mpG1EE0N;Qe*!;#X0($=$ z#WBg6eg|gD#jesm^}KeG(;KH)BB=;GFg5+{xW0KE=(T546hQQ3S8t!C>;z`zU|2qS zjjb^JD>_>+@qIDI-fF#%VrBZiAZ$^;yJHpvUb?nCnjIGSquFl3T?#B>{`ZhPOMCYZ zL*Eo+*W};!_p`9rXg6fxu`n#hdIM;zLhv{#-S8>qt^&MG6BIg$#iF_fgPS% zeyJ#bvNw=ebrt7%rzDf;J)Fg8@6LcZPFv{#Tm#iL1)bNfFR16siT3C6e9(Od$1F$FQg@mRpKXSAfL zZ(q=n`6UDHJy2qrB?(7tC@{q*dVaDzszV;AfLwZVW`lG9iB9A*^8X#L>gtbRvktKuJ_AW_@-P^Y(WtTF&mDNl8|*296hWY8G$TDhg_OP=0UXqM zYZ;T3Sh~K_q)GnJl;Oq*@UWRS4p<~&vjXhEh@0=Ir=27iLP7OM6v#?Z=5do(-sGzwrrwXpQ*m6Nz3u7$ z8$l<|a&rFzAd-86C*TR+9f%CZm2_XQZChUy1Mb@e{f|PZEbou%@%WF^%Xr1&iL)n> zgJp5V`TeGw)mwkLmm@X0Z}p~bm>qNenJ!6Zh-igf(4h6-71vCsO^uewa@+BpPz#KE zUd9c(y-^mf+o_ITCu}F9ujt^ zIgLDtwQGk%M?$&AUs3eDHF(?%qefZ2gd7~j0{e9eioWAr^|}LQCbtc?)foIXu($Wp zZ(bkr9~hd?udQ802Rs}-N$Zd9-8@eB9Jkf`5^JgBE7wlr=;3#ux_hH(?6A~!V5%L( zjcPQ;k>s6g8W$g}R`@GNb*ax=84rnDjQRZh6SZth{c8!))z-90={K(5zyIed5XPY9 z1OEIg^}cm_*N|#r5->>?<1pBW9W<8W5!SsCHx%?JDGE4qarINr&p+LJEfHy4QUR9C zI2ngJ@7psb>G1{92$oNdrbLb=ZVXm{5W8ku%?%H7Lt=(p8V2ggw5#3-+1a1)BHR+Jy#H)U4NIjv{xxI9aeZN_S!}|ZwGv4X8~HI zrSz5ed{3dwrb0qUC)I17>-&44hAf&I*-3nHf5P{&G&f~MndI6YeJND5onQ+^bJubsxo^nqd<*unLvOO>-o_-RhRxURg*BGJ+bBwW@C8KB-2)f- zM5rpMLD=bBy9kK`&JBnUO*1?h*~ie2I_a{lzdS!$oU<(-P573XRP9N_XvIByL74j> zy90q?H6K$Vz*WLH^KD?RFWVN+;y0M#y-)NEI;0KBRSMdv5muzyIgy3iwmv zz`$|(^ypBXXQ^KIU|cZ%UA;z&i}t)r$lO9DXg+<-XXL>Di^)#(9=jd$)u}{||-9hyemn$-MF>s1HdS^Ck z7wvn=X}!&(lAMr3tNdNR2rYBuk_@!p6$pK=r*OyvOLFCL>&3O)qYA@Pjjp%)UXs#; z&ES=J^-H4m!kM%43u)(@rFwSWz3iJkok{zjHeCCV zhqs*vSXxig3@aIWVc$c6?+zP})B2qyjWR=3&75JJ0z>O>?F*E7W4KU@)M5sdW=*|G zYU-BzxIs9jw0`MtxOk6pfKq`K_aX0M@O;FBn%I6kclnoca7)WTi>%roi!mwRJIX8R z|IXqkhQ;M#Sw6`H1lj}v#CrZmLG1om16N3iT+GVuFH>ksf5KJ~+Kst9C-P(dU#`ub z>p<1O2LXX|&GjSy0d%*dUPc$2BvwN$3$hO_)_0pLXY7E`wOq>8Jy*w(rEyy=F#IKl zryD=W&@ff_rF7p0#@G{bTglVjm2A=n?&gmQ#=CI(WlA-wI>4JBN@gp{Q!H~c50hf; zyks1tv(*_{G)g-s;=G%FH#yRG-9b#eHPks&YhP9|ESm7hln>*w_EwJeuNw7=lGIoG zEol5a_?yN&*R-`4^{;7}2Aj)TgnRdOgHz)qn$5V=k|_hl{jXZVYpWGb5X}KQ4@K8 zhQH7JnR#KB!s^^OkiJO{^}2%5-&eTGusp|%Xp?+Q|J9Z@0$n7rpSj6Ct*663vuKih;aH`^Og}tRAq%>nMg;(vv;uw#I|KnFX+N@m zRX79y1V$ddCg`bU?=&vJ#M`+v3L402!Pvz4A(LGWI|26}B5e{+;*^eqndC_Q7`sD% z;N``k;pVtg~7=I9=DOCN)L(^7WBZ4`A zV7Gei;=xhX!WT^9;<_cPFTR?)CX_ws2&Gy)!Zc*pQ>%|H`6J5br*x-_&LERKD%Jbpe72T*yborqH8Q$01jNzy$+TSsl zy8gV3bJhoeA&Jh=2UpteF_?T!>r)NKr25G!+@+op+mCb}O2J)TY5dHFT7T29U=`NG zsB0k<`tmtkCZ%5&m5_aiiabeKa@OTl4s^SIfV=L|_UrX6;dsbsnl@*QIb~{sZksdR z(v3ip{no^csXY%pSj(s@sJcS+s(6#jyESKw1@1^$?d08r=M#jWGkk3w2M&Y>PLW3z zu%-mX1fGua=lcCaJ;hLZ0z8Ac-Dz!LQX@Td|DBB5j<$0-D?NRsdUpJ-A}GcM4z)23 zS)?|4UdNeg%fVq@BKOPcB?o_u%3yJ7OtlropA-S{pE0IGLm8h^U1-U-8C|IjS1Eel zIcd0j2Cuzt_)@3%_;b@fuSS}pv{3_DeIr|yr-F3CoQ+6L-O`RR@zO>KEDbI0*;AYj z?9t;7a~LJxk9s!98Cpr6vMx6PXZohm@-^;ZARc<-lfKpMxe6{=Un%<4903;3vG$b? zTpE|juRvWG+;RFpmmBaBxz%mFuRJ|@%lD7+Npr=l^>KP3tX0(C-?VCY_4VHF-;_X- zFaMuA(is1LdV?%io_^?)m{qpn?mH|q@P9uQS<1Y$!iG1YT1hU3S1sGs+kZK}nNsD( zUHiYutJ>MByTv#1w!<*{6G~E8B(S+;qTcL%Qz`#&l0=c}8EsNY1L}}cUejh!j>ru; zrCCYqR9toV zFnlS*+TlqTib$4v<(7VA%k5@>L#3S8HC00`;qp#4ebssXPgZ@AEY63n;CE;9uTniD zZOMHx-d%1}HyEGp*uu%?>QV1udx~kM3(7P-DjE$RPxe-sE;IF}<}Hzrc)iyD9En~) z=AhRq;9M?qrzh^NN;z~fV7{3ypJJQ`b8{SO@$|2t)p^0Dl3=x~hB3T^W67SoNyqRI zI5T-}J0FS7eY)d(VViqkhmpzc)p-|uFJe(!06bs{}3;WR69zpn>vz6El zn|`k4#FZdy$@-lXU~0}F4NCe>FX7^t95aSUnAKAlfCxQSEf}XcNdJ7;*0O-dv=m4D9@5cj(gYMl!5t7sRlU!At6Pp#8Q@ z6u5|pISRoS5bc5w-+1Grw-TqU1o}K-^Txg-tW1QAV#^A=$=Ng6*VzPJIGTe_)@>1* zVxV2Vz6A;yuT1!&sytqXkR)b@*Iv*oetB}SKqa3h3HzdOWJ}&)(@}B}KknC>GVfW* z_(#EUPW7X*Z0NYh8|Gj6_1KT(c~YUc2U_-o$h9xBR+v`_Qs}NJlLP^_?N$=|V|w&r z-#SjEVcwaC{6t>S1U%FMmbv;F?eM@j75-=u86RRrWKJ!+%oJT}3q$)x*kh8yO?5nI zv^0%3$)%B91E7MuONWgvP_OYm5Lz~772Z|1zR1oKi&~6cbzpzCrDxonSG3d;pEAZ< zcBJ&*Z;_2F}ToeMv`EVtKz1C%3h~ zxa`sRSea3RYavgfX0@~O$c$eM{z{=3KjT8)e9Fi5|f(F18Rz|$ta z)v1~DKGtYt76++qRLtb$WI0YzT%Sk6P(Q4aYIjQOS3~4Dcv#*s+O%nQ368YpLIN50 zGjS?Yk`6o0{htB%?f*~tE9U(e`55B;zNKWNSbfrwqo}15a`Sl8$EpM|F|Yq%=R9p6 z!a&zJ=herruAx?{DzE8qkzq<6rTsLdBrMcU8V%+tMQWGX_~}j{68C-mK3Q|&WCISo z#zRU5+X{><>ukV-j7APH1~2-xmtkG26CBij@8|M77wypPVgFqA`@(3+)7Ihb<@$*7 zyd+zBxN+B1!>sJl5#?a=UJU!{E0~dyLwPyceU7^^mT0|_>JB`~rb?pjKxN_GZ<%P4 z!^vzPF6%`1`jx8S@{(=cLu;4bUq+TjL?&!)az8aLh^gD2n-7?`R7XVfU zVAg-=J(^S~QKe)+H=WIK*JXGt+ftm`?184X0f61#_$Rto_1qkZ7zy4)<^D?e(eksi(kjauR~GzMJdv`sO{%pcvUTe0raoNT-Cu7U zT)|u_)?EHcQQ6&9`Ag|!Lj80pDdzfmU8ur=X12C6H}cR78kvG=I!t#nx${Cm8?tW) z)!=&n-dMB|d20D9+*>c#1#eem>DE=BJea79$S^%qLp1*y67 z`C@kR4OeC$hjx5axG)Lscb`>N?b5CRl9H?as9y}7g(gHoej()U(3 zloX=P%-4|KCW~!Ei>*FYS^@kEz6OS%6M1e29D&PZ!%QB71}3a-CL7u`l6n?GQ@sEr z`Z`z@0Z9;ywtDE^LTk=JmYQKHMvA8WOv?fCVVzuJY$ zjpKToB51!vQ z*yeSoGSAKq-=j{(WYz5OERmW^_hnnz=Qe8dB(*dMf+qT#3KVihXtH4%o|SGk+(0Ym zg54R!;d`vrI+rEdK3M(sp3qE{FmH2|$uNe)aL16_#S&GgU^#PRez~GaVj`{hA0eV4y=r{IFo#dSXffhuh$ONKtSIhPq6H3S z#)QpC;D^pKn!1TpGIL|;<~XEz1qdW}*F+OHpp$82rR^mpyu#UCab7>4#x4+7KG_=} ztxS41S;p&2zV!kQ>5m|rwR>f1{#zB%(e(9#^paLZ&vYZJJ?J^xIpi}~Bp0@}1Res5&5sT0)1982Sr>}ztgk4JP4^H%9op>^#e3QauxoH|v^DZ*X8)f& z70IWqQiHlSx-yPOl_jC=deMo=rUu3!(Y5JU0%MIdlB;G!3^rOZUQkF=BkbTL?W1)b zmzo{#da>$L6U1X#m4+eVgOi4S@eE2|i(v zkbeLWMZ5*v1AvI`I^qH1`vAa(^bI4PE;jXL06;41iy#c50uVol2i$)o380WZct#lX zOy!;qt)@o?w_;7xWd9$rrH|Gqp%$AK$`Kj%zz57v?3%0baX(I~6(Zv~cv)QIovlBg;BxQ^q_prTbajB`*~=Lc z^`U*3;{qhYp>HARxmywm`{8uj^DMM|f|Zo>$aVd%pqM@T!RC#yB6SKocw0`dI4WH` zD(-bzY+)v}?w_+6*h=tWmX52FO^>jGnTHA;s1{8l;_UoHU!ttv=u4$~2q{neh5TA*zXrzEs>g`jE??|L7dISX8N=}I)r?NP8Cs{&mIMWN<2 zzVH`d9TdJ7dD;p+mlpV7!+{fE??O!VE(B`#SG^-)#253XK|VRqRl&EF1>;K)7>2+` zc=J<;^U64L-iNBmk{iP4e2;=fTo6?*shx=52!~a`t8!iH>kw(*mkTs8VAzE|QWd89 zC7}qyYbdZV5{ZPAvzMk&nCv+a3dsIK^daxorW1F0{P(VjO=+DlA=&iviDm}IR^MVE zQ=McKnNUgiY}(!;EJ4HI(^+!e%&7Y9K7;(nXrvH;Dr!f4a($Q!P^hOfW#11t3;Z|W=D1g53jiPtiATw0mWT5u~H*mE)`Q*mi z<=6@1KeU<3c~uAWsb#NgSTpZJjtl4TtLMdLr>EN1Ru+8!SC+k4?!Z0m3XMkGb=i&U zPwr;;b?Nwa+#oSODzrmKQ|heL`JS`ZkvF6?jqn>6GfEXb8RH;kWv;19B;Pww5aY~C zB`EyA$a~MYrnc@~G$1O)MiPFW%^%FQ=9puS@vOPV8uJ;%3Ks-% zui{3vKMomkyb~o~TTv#~Q}Q-`UR`xTnZX`V9D!W07s%Efr#pHb=_z~%43IEhPoKQH zDkaC#BSyCmSq_7K^e$EvGP=9uiPyCvbBND;;j*i{=iolB$4QORsBvM)hD76S_lZmR z-1EqGW>^I3WcXpxKk7F?_;8nuju~1*WdZHcab5flM)u+z5+dVd^z};#tfy1KH{QJy zoK0-)q$w0W;=~!quROkmsjG$)w`KB%d}iZXKg=vWepUErg8go_D^ZNdmVIv^|7p|z0C4*M)r;%@x1FksBpu|@gKHP#@7!YJ)!3u* zciemXNf!vxdiy%yj1zgND?1m!`nZe+Tu^qsnen@kt2z=c#DS1xP{!6KI$)7KZrSb? zr$uqYC6uM~u=ut7nmdX_eR=)Ll}l4XuTP}h@{Zv;w2F}@$35LYa;)2l z$LubE=QU;Tlv#R&9k+JfsXBu5V3o?f2=nU-T)piij1UB9ALo58)4mh>&85g|JTMz; zRJWXSFlcbR#p5ndHBXjV`yn3AqhC|51;X=F@*{wY1L?;tpYWZ{JREa2>1-1B+q3wi zOHWP#KJqHIz}%li+^D_@0JsAHS{wrOB+ivQ8)rFj{5pFtcfN56uA66%P&u6sEKkBF z@{S}5{!Dl!EHAjg6u74w_NdQr}Wn$H`&lh-5?S z5KEf}9lqoumV)}FAFe}CBP{&pu`lIVC~NFuo)M?YqfFCql`AE8$rj9N7NhD+a4Q@SbWI% z9=}XZc6vv9IDcu!)=yi+?&UVddX6;^YW?yLoQbSOFYa`Wm&(f9l@S>?v`$zwCl55| zlQ{Jqhsw6GT&igDDw4@`e#1MtmZT=lT2&juR&G^$w%1R1Ck^7WpxU0hVguk$b88F* z=oWV^YgY=}kCiqFl(#eMWSk9lU`3BR$>lwQmH2Co!Eydd7PBVW)l_`fw23}u?Eyxb zo&@)L@9t3#HBZ=E^{LeS!Y`Kk{)?_8(dTeWoYIsnxvVZ}DNWSHgJgOYepHGtru}Q& zN7{v7NMISYa!^A)iHcY?D9>ccB7-SClF6Aw(XI?tow-=z?VV?2x1d(>+f|)9vrzK| z3)A8(Tmo6A-Q6xFcsxtdvLNQ0Xb;KmH6Gah>6=T=nzI|y2uqyv(mOvyEy;Y9;$&$} zOwYa~ZmJWCHhzJMC~jmMn4$WvG<}3PtjyZ@F(C!%qxP{YB}xO8SqjkN4vn|_`gaL9 z;05I6fIGvmd^lZf|HLw-JyBFt;B>Ezhj)yx-&_ogoyJ8Ay(c}!sd5#eepF{``}zlq zt6#sPvwy!SoG4rT2d8`1I5LlY8r~UL| zesk4gf$q33Pa`U`rfhr75sc(=_^we7ULNpVPl`v_pKoR%6L9QE(pi8^(JTO9=FIc- zkR?yj?HDeer!K#P4ghfN>xdh?+_zOZ@dpn8Kzt$G2_Ud_7r>2t!l63?@Br>{rPW?P zd-E)k6AXf3ISkMOuK_}~x@&i#u0s4&^}vu9W)96f)5p)Cu6FJBET+wdq`^3OHoOfI z%+*JUyLkU!F9+_gY%`AJlx-#ikwRS^bZi`+b$=~~ltmBCH4P)=>!ue2JPs?aaUo-ZS16EU|=FS7YTgl5=vwKG&DMwIg;|8H&9j!~e+~jR*$zgV4xOqW9Y>UfH9RX($jRfgy zYn=&YBwbyN(OsiMo;5a{kO5Fp^bZ?9%A44fw_UZva6H}L2Kl`0rD|5KH-6#0t?_1Q zv~`Lb=H6ybyRF`i>$2H5iwjh0SG%RvxoQ0hQ7PMNTg%3JQK*}KF=X4?9PcyIPpu1c z1rqYbXZb}YsRRTpdbB8!56qBUCb>{d#b&}cR^EiA zvS?D;58-Jct`q@Wp6KbOt4A!IyS>NFi#X?ST2(zZs2$*VAL_h|Y=|#pAO8W$u(4_d zwgz|Dz}c?v3=j~VaTgo3(59_cjW^L+z~g*mo-zZIxx?P?n_V0!D4X^&p74!#)V#Oc zMYtdfMENb+m|e*8{wyjs@f1#47}=2$w%e?Jpv7dR8fp+iu}8h8UH}EwGYtwOzLsgu z2xc;)rPpD*9Qx5O>;EEkqDGgnR^WUf2F_eq6ty$Jpc9 zzW}6NM|M5dp>5$S8`a~Y8HZPHhlI5r!yh4XZ~t+ty(*UP?9qMzz=SSwXj)$Gkt7d9 z^cW1lbx2`V_6b+!5#AT=DKV3o5Q2Uj8I{8jOg#MP9M~#H)l+jPYsn?&RUT z_0_5jo}dF3nf(F#xz;lHzKl(7r)PUwHrtxZ9~64~9~9n;2{RLjEfb+Y&7Y@}+Wves z)fZ2rmFU20uRH`zI{heTO1E#tpAhhNA&Tu?a>>)Zwm11}-i-x_<*u0{CXNXRe z==49-T=-a~y)*Yn+VIt{h)p#=2zsO&W8xBx%#wTXhWwUM&J@H|4aLSaSdEJ&at@xs z@g}vA<lY&Uc~gdX(6ezG7od7{4X< zYWHyUM6#+&ITb;4x&PyG^HPo6NtaU7?+;mGf+D>^WoB=hK=wEh0a+1!mqG5~EC~{YVIr3WkC%L*BAsaX5>T z+MQx+Du9bWa6sTQW0@FjlETCG4iq7(ptvhs(ffQ-Bw=yf`SVUTd=gmuf#_Z$|EUkO z_O?l*x_YvOi9^;%27T`Vaw-_osdUWt=_-Siw4+rg%xe4|ns0k{UajKO)%!%&9&o*^ zxhGf>AYp?@H7<2)%^U=cEGsT+ys%Z=e`@Wp@v*yc|4^c{0a?bt7|JB*e`8j+RtlzB09>oL!@6OP*);JUH>?jzmp;N;$={eutNAFqD@aerCH zzLE18?)Lu;YH^a5I>Oi0e{EfiKW4+;+HEojHvI-BY6GR79%(N$>Xv_^tdnzn`h8O~{}fjr0I_ZqRL`7Fm|aOYrxIFY_cL^YRW6%HogUtoUoOTwc&%;njYLlU(AlE~YPhKh z6WV5_DCL_%aOAg6TD!a7J-c*|{WK{I^lNw9QuVvBlw$KA$jdrq)_<<2hnk){iC9VZ zYC9QTZ2G5eGJ}&eGvHOaxL+jmN!5ZrB3RW!xUC z1YCM1{{+B|1)PGoaMDx(fLA4)B>q_>K=7=7IA{9?kbeSBcq0F_0PqK=V%FKL9X){1 zkpe*{&RTFkIej$yE|>g?rKqQX6SLg6)f#I703iiVJr6w*zP7V4avn z4R!|WXMMiP$6C?HOUc>7+Q;j;9Lsxc(sIIJ#dKFOv!Rrxs@?`1P0W^?&c`9*7Ldlz zQU+80K<;g+r^P8KwH}cxy9_J>LA(zK$-gmwYuB={_#q~7eJaGCVVCn%V%t1{mpWQv zn@%8;89SoGsRtM!e1>K8+9EG+Qr>QGcPbMl|3jx;rHtITCzns7s|wGx61igbaM5)7rVmbJ3>#UxUUNvpB=8fca8;G? zxf@&&Kq$6UTMuI#`BEh=FwWPQ1nQU|;C#8(Tw~z%4&{SEXURUD64kV>1_iL8*rTVb za(Kmq@sF-OoZ{6YX(t9ne?A%9q~Unyze=C?+^ONFxNnU=vcl9_zf<)}e-C`BS{%Rd zvx&n!397bPSMlg*;we(`p=hgflB)>cw!{#E1sV(XTFVO1o(D)J; zn?o%1%u@m-C!f}A2+X?Z7g^?j$De79vp{)8yK6vJdVt*mdsi-CbsPp;4}eP{m82!nmSaw2pLYM{qjHxI zQKFnq*hey)y6eq>4Kh<5b5ek*;3u>@K~hhb$JMlt7KWerQ!B;%L$&uCspR2~Qo{gm zgV)6ze%IM$ii9V`sHnB5cR(j*&F$pk*v)2slbwgJAc&_jVebj}o+8~YP>2#G<$4n5iPK_5r%f=o!79(mcYVN}K*8$Np1 z@z;MwOvn9q@GlnFagZA>QTvsBi28r0^MVrp`1d50)F)mAox~9P6Le9S^lhK2#V*{M z8>i&a*nj@{e`+91bKaGh1;ox+b!C}>^(2BX#OI`$hMbteJp8Sy2*+OmA0M~*|H^3j zn3(|Fbb0SVX=>lDsQM($p^)SZr+4)CaD+AIGm9Voox-6xr5g0tF#f*Indt3`>cCt6 z2NJD*%QH9AI6PV=JI-ql%{Wtc{H?`S)A&m>n4c*l&vWK-7$%p~`VtLxYKjgRU)6uB zOt17ar}-c4O^SThdQ|9kt-S9J93!5&uVjdo84aBI8-V;S{(BWpw&rMc6@~q?#M#nU z%whFPK9|zp8kLzms7usss%^5z{xzENHy|zN@PDj;bbWE==HuVCl3BK^)X?O1weEYa z*OkY8O%Z>Iq^-W2e4op)f@Y3ETzs!HkBY+eIsaZ=$WHBlGdY7D)l7lgJ1qK-o7z1>?@p2szx2MI z`E1LXY_SC{aQpS+D7XEK&tC3tDVp|fs^^-4b(=jC4<3EI&e2!8`eCWR0Yy27e$OEL zMB(USQrdm-+;e?chY_*A0pH#~{VjR-&Rb5tH>VSj)5!q49i!aSu1GgiZvAzYBh&8%C{};>Kf_rPGT8=Q z`VLD2JBinFgcu65sg4|7A^uXiK9Rh}IT4=ruUxL4?pZ@Po+;NXX8+X#Lf^{|lW+b8 z$ON9;C~baVM$ybYk@H=UbMlvSsO*97(8~<(9Z(Sv=+OV@`_??gfln!n9>lQ@!msqd zhOHi_NplSB`b0MJN1j!W*#lazX6EvXErzs`#_*olv5~f z?B5GUuIguF@6bQg+}CMe+)j9}5{`a0`Lbeb{`KF0$S?aEdT&=aYj@@Np6TNnO>_EO z^6|2(7Hp*s>}Se!gTjzo0H~{xzre$m*Bc@5iKW;!C&VT>%ThgNai>iqc*=mj>Apsvd>zDgE466qZMP_8=v}sJ& ztKTeo5@AKNOtnbRiJU;Fu5ZaptNF(lBeYH@9!^;VS}c#<%zmVm82FdM5nu93=&!l3 zC7-!~G1zxAMISUZoDcDs3qK+3HYe*@Y%x@-1S&Fy>nEL=Eu^}V?zg(hRAJ^mplEREAOcM{Jbbt^(1Za(1L z=G-L5M#?$<#OY{?eSC?ISaQ_excc^6BiW6EiyTAzt6%TG%>^sHx@tQQtoVEK;w{9Q z3Gi_dlIMV9UoR+X_5T>F(*DKd1f+WKRFIPOe)!WRj(9IiCUbs!A>VH=R0vk|d13mW z_NAX5sI{-6wP|twKWP(J->!y{e|vOploAKx|85AoS(yCW%;;?WldoCm(TgPW6%M=GCGiCas7(8hYuVz-sO#5=NZuZ^FMdVkQrXj{YPw$ z>Qx#&wk|yEU|*elg`oW-%>UD^f6J^Fv8>yqu{5N24`#&!I z+&?kwo!yM{Wz9g{wAuWrkpCb^hRle{#`5}&zXAN5hm8Ok@ls73s16!|Ta2 zTmRlBh92A0_MXH!oV~3Yc*}3i{BJ^%>F z*@}|-O`(CeaBFbRcjJD;Gsf&^Db&kmA>K*uXul$RQIE&_g z6wX1|!{W+oVR0gvHi$&+oD*Lr-#q^Q8&-cm*g46wU11!H;%M*+xdtO%hOON8_{eVj z-xEInd&U2q`-|bsO2-=ipS54HoaOoXKLc6%G@D&H`go6{aNl0oYV0dgV^@}G^!k~I z$N$1~2C((|{~+kBn|YIgMRw`x$8GN`(kmNgzZLk8se(4591lPHN;3>mf6;$FBUN3Y zC^k6T`UtvE(v*U(Ru%TRtR>~>rMQND=yUCx{I9u?&M|Jc9{)^5Nru{J&S=|8wIUoN zjB&1=o{cu~zmcU!Rp=myFcITb7FcZaYyMhL>6JK2cH`$aVmop6hMqQa>0-rxlp&L8 z(6iX;`a8lXhf(%L&%w4%LST`O9@WXC#K$@uW36R|IhZ2~xjKPXqSHH#kN>inK6I^g zT}uAG?q-dQK23fV&#iDdAO<-jr7>C@aNCL>@8z}(DBNXT50#`(UO#2$v7Z~C1Bbo` zRa_EHJhHm(QU*_Hu&UBda}v8QX_7?LCQNBvq6D6E(AvMDC7VK9&%{cj!mbFwn|rTO^HGbhgz z4^wAi1R5%Af<5bBSkN9;de$R%CEuUbTixMgz#S_vvMXhEj<}G(t@ZY@9vk{*5=^MvRFJ!d9_d>U$I35SUPc-iBtYVl__>Z@2lb9TscB4W)C2~j{R z;2KvAP~!Suub(P6{orB|fIvCBdF{sV6eoxqm+fAdZ@?>*_~HbP7?2y&@tb>1hyB(- zFScK`e?KYVjW=)O2kBjS5zn4pyp+}BAZC&?Ve*z)bpllj zIlK~iA6CcMt+iS4csuQZSkySDG*Ys$Dr6;}E0sq_CFDc&O!^T9CrDyT-)Ei@Os_ON zSWO1&5c7A}#bxhQhImX1!P9ip6A-c5!gg{L^nIJ>MS*b%yU4fx4dwE$)`W4X{m~pu3 z@JDi2B?V%VDB{v_T=6sA^<#CdD5Y?H!i5sl<#OMg0XBpcf&X%{n=jWkZ5za3QU~}X zuHB()z~h+VA4O|Pf$QPMu*)k6WjGNP!%VX~)MRD4mRu3G#y)OT^`ht6Dtw-g7Oq}b ze7**^agl7}y*vlvNjp!{0d6ppqiN{T@uqk+N`TUxI6YgVnC zxhW~GoyODMINIjvimb|WX&QBf%s7jbuKDGuOZmN~BQUEn=Qo2HJ8}c+u}fNt#Ce6f zaa&`EEfCz6pfQ5;z4+r+W?c=wW=OjIZO5+mlLSokKaKy`HJ3-+0P0%1GPqvhDDg#zgbTKBIAV&{S?5{XT@l; z=uVbnWiZ^|#vV{%vGj+nSHVu@W`6DJfzyS_(5PA0iL%VfPm!p`CvR|y z{y>=1vad`abt~h((qGzTLOTe}W10=!WiAa?LD(r9ReVYXD!2W3#a;9VIL#keK4k}= zMZV~|3Q|oj;`stZj~zM^K!m=ulAp?AxDD%A^{P;(XsVu5CekX}JFY?S)$k`kw>_I5 zX2A}H$i$C&r!NiYUcVs$I!?Ysa-(VAx?snU%jsRm*^8Fv5NMC=41(YjTU=Qvnp<;l zqG^nR^uEdRCwLrvx6M+MQB=c6mDVX->GSUpMGc3YvmsH2SSereCJluhx6zpn5oDlV zTw$jBITNeg_ES~xY7eA%TXrT(+<7)ndR3FO&NCq@O5=KH&`}F#+;6i{qc3%5Ingyt z+-IhFNMfw4svMfHd|ZvU`__nb7r`WaaM=ijiX@9HPk_cW_!V?cZ>k1`&Rf!97o{1Z z*5B5}%5Du?+RTe@@n(hcl+M_29=B>Lv#YyCv8*V}8LQ+M2A4{T{1HtZSZ|rBZs~l@ zf{{7_@=k)-NJ|y4Yxy1m3EhUK$y=eY2zVu^%^%=b^EolNUYr2v--O$rc>Pe zF<~?by$Dk8f}jwB=@diB6;hwnN8$GXr)FgBQrnlC^?H?(>=wqe03~(8Hd42o%C%Pk z{$4KNU$Z!FY)CL*w5fOOFdMIAnK}S0KW3|Ex;u3&!QXsWS5T6M@o=m~T0_~3IL%#N z%DW7!z47#ciH^-PZ!@2vf>~*Rf}y6jQyv8)qpXg*@Hk52yf(k)EJaYS#EI52-XGt32EXh6OS*Pu<$fXIQF?IbwCM)xt*~GwY0`O`!#xAC!+nwGp~RvKCD?n?M`{M;1MJk-EGS zTicgp+{4&7t8+Ul?52#iBE)}!$Uoz>fdVUdzEjL+w3RO~T0uK*e%Mfqgi`sExmU{T z1LrsL%+%GGx)m6^&En;hxU;DD!-qAScZ!2jnaFfi^Hl>7s6;#F!6;H2O3~5YzsxsU zL>)U%NG+(p_Rd*9QUsAAy~hge3@Rj1_)X0{z_Ps8-pL6^ihc6=P)TU7T@z{OPEgK9 zV5$->k=V2chQ%-%P=wLDw!at!obcC&+IJIByGK3*y=xde%C-EPHVC%@%71^ zGrU&PBoBpwqDF8a<=hMUK1z@LWi%k(rN;enu!Of*TlN>9M+w@TuqSC4x!Me<4?jCMD%ox z^ErDnQh8a++f+6W$Mxm+xLGAn<%RZ=p6JkB*Kw7V=LKFC{NyV@|8Y4|BU!cWEtTdf zKb9>(QEn{(?uzQHADURl#o?ZCr!w_gP6vpH0HbZy=$>p=u_vn|OI`t^$IVp%%Q6CxFP83Uc<&8}Y}l z)2-L)5s}1o@hLa@=8)?=cKSY)4xd2oRFg&AXt7rcXU;|$F3vaZcfsQy;tHd)ZrPBQ zE7xobXmvW|y#{^uep!U~CQ4TeJ*NcT{G&8WH9ni><0|NOZ?AYc`VHAn(ZW9=wc8V8 zzIM~9m&jtzXq!}nzDZ30`QTXu4?phmny_b9)BD0#!2Ab4$8Q03v3|<*lN~fc+7L~H zXkP9iezV?4ke33~`KlPC!&baYtRTzL6FhBZ4}Z!WY8JY$!`bB(mPs?ZhL>A6>-eJm zOqYS0&a^Ihr^y`1Y-(}I?PTd68Ircz8edap-0czEt|!U&h;j@x zz>awo{7KlAdPuvXQYS1;5M8b{(gGfno!3L?o=VNLS7S}L*t&B50PGl-%gJ>&tthqC5T6kjWMyXd+nqXR%)7v}M>V7&4P*-tannFvy@PZp0%Iup~ zxTneRlT+CO`?%JPdrhF)yYps}Dot0rV@-FXmv2>ZCGrd*pIsYkp?Y?Al&BcnWB4I7 ztXrTpGa(&nKb$E9r?ZGWxxq#xKY4NRv&*NVZ)DaRfL^^543v6$_3)9wb5_xuqpymK zcIB;&v2jwX!jX)q5wuz~%@@q5Bu{ZlgQyQo2_RxL@O~4%OP0ILT9lZ>S3c9#htQS% zWkGLK254MZ!F`i1s2MZ5G^X`M&ZE=Xvjvu&8z(m7TMk}BXDSM(AYbpTB4D?y$+}oB zOAy(!K1;F?78C;7+IvJdrb{mU0XNxKH2TEjv`@- z+{^w@E350+U>9SAt;!R^`?$FMC_^Q1KnRd1xZ>s}51 z^dOLjxyEY;udU-JF~fRZ5nI{jNsFRK-c%u8_4w-#hU7HK7I*27zmK5x96zl!-TMa9 zHR1*yMJl7Gx|_kSMo27v1WyxsQ8=B?uI}yBNqFcAyVPq|nJV{l*>eq<0$Qj)r>Kd{ zqSwPxxkr_R+3&zzV$XWlVs`k?_DB>ebw$fu~=8#C{3BBA6anE)Bj59mW9MTJ19 zH^dkMf_CQTb$*R})!y#WIHXLhxd~r?ua8=dJ5#^TTjo6hvKL|qD84!Xh#+RmO>^vn z6Jc)&=8EMc7ye%Vf~LzYkKNQ z`HJPIoo){9%v^Cb^-rlF)t+<@o(%20s&uL3meb06?90_#M=814`EnINPkY+_Ro0?90eNcS+8(3#3HXc~-YjH^>oKR#yI}0ug8WyFV{er2DqgV>E9at64GSCa zQgGyx%vqjqIPa&_obiMv*UQ>bbq>4{7UBP>#}Jf!bqXN$F;V!%f>6q1Odq2!Ouu7DEt|H^Ub6sdm;m- zB@HSO87Y#Q*14l1MELHj;0f)aGIY7wSA$=cPZ*^X+cFdS-^$N2FXZRfZGqqrte}dQ zmiQON3)F96(S&EAI!abVV(bf|=KLH{`Mqkdu6>ndt+#$w<0mdjln5i9hs(msRdEw+?eiX;uyyH-EYmBxg9faCy{DE5tE=hb9Thrs z`wo9ou_agQ$cI>|)9=6GYnIN&g0Gaxt(0p|?eI!1t zNRMp_sQv8$hWg4gDkyMyNid=)oP=pK`&?5~or8I*4QQt_S6CbF zG&$?}PCbEMu%+MGdS+5h|DyZl_=bVk1 z<+&+edc2m(+xpW0HIT2G;a{n^?lR$vsSz~VpVc>AOs0;-@S)JIU0zds_&6L;!2D`l2stgx6gB0?wd3GHRcGGXb!oLABMg3ZMg%th&YY)J zxm;&EVWQp+-z<IfNP5sPj19E#E;W&lIS4>{DeKTkiGWQ<}jLJsL zz@C7qu2Ux04t3$y>kJ)htE@h?wH9VQo3<TYA>vEGq{3{(vWI>UHDz z*o;5z%LxT>lPRJWt~%(ND=qLQautgHwQw9KawikBcFq~Wkmb_FEwn1BOT=o5wou^+ zgsV86IcS7`xu4c*tX*B7Y-vTN?xhTDfyqFIT+A(;{jf09RD+ILQ_F#wSF2J|TTido ziNSrsTMH^M^?cO|melU2d6=CelZ|^xBrn|n1?XTXo68ilooZZ`VKF^m*I%s)LSz}{ zPg5w9YI&RwQ?~jO6H`>N+#_tQ*U&2u=Mp3sd(6BC%$!`oA?unLo?a6#L37n4%B~S? z??d{hrUJI6N;c~KoZkc3J%_EtP7rTL&r0GU#7SweiUM7%ETsVC#tF#^ zZ$@Q7-{A6lK)NK{noG_J_P%5+HLEeLaB;}wR_xd#cnw64(Me2^^jzMM1Nx4&R0R7O z4KJkj@L59`8pZduT)KOAF6#fSR(TXZpPsjULBy>9_bTcm0;^XFA^zH7~ENK)E*$b~d@V2$FDx8y7>76VKL`c4O zP%Fr7x|4lhEG6^eG?Vq@~v@^d~l_iyvoU(l~TWbmls(ugFTK9in|@kr=& zGJy2%Dq0V@ws{WlSE%Tol?7hV-Q7tl0Hwi@D9EaXzMxwmfx@%1MLXSc4e{pYEg3~_p(m= z7b)Uz4);|K#GmW5$36FZ_UDrJ1(iWR7SlNkg*_){Igd)mza|ps_uae9>?@S&EtlDo z7xiGGp!D}q)St$k6wI|lT4A5u>_Q%T5hTM_I^Z;SQhQlRWJ#yz^QPXuvHL``hP{QPb%dMAFaUPHk zY%(`YD@Z-Gsz`IW||4DePx>DpB&y(=tc zq>87mSEE6Cgk}V(JwO{38^VmSFx_2|lN4Vgcr9`tV(!7oLoBhdhPIk??yBaLUo9ub zBALo@tjM92rTuh-Z*~(&eqREf)8_&=`xeXUMo0uA-}OtTae_ei%DhM|5msZzlXaL4 zR>0`RI_1G27nZ@DJ2?#ZA(N;kQLLjcG; z+wX;sJ+yridJzlJjAIw%OfMK~OmEd|XPLu=pgXAJ z#u^@ErH3t43km^;O)mbH(0p6F=*}CU4|e?CV63Un;8mBL#g1yVsS53~@uUfg5V<*) zt(IHR%h@`r#Xf}EOxTK0iscvGMR)-8U z;*K1IRX~ht5YxML_?r7S9`THPFm&EWz1`6C7_2u11dzu20$s$WJ07-j)s_ zb~5peN+A z7CXIONv$p2fyk*)T1!%FPj?L2Fw>PDq%I#9TW@16n2Os~%scuYE`Ec$Yh7iD$7_gX z4B;UnS1e+EzL`7S9>Q*xq361dk8f5XDL_two-uPOe*)eNX+R^hv8BQ7qssi|0!i3iu@%PL`o4SMxs4Z)WxR^Do3l1<)0B!pZ??alHkc` z9Vb_fh*?%QfTyP(kbbECf=%6{w%J=pU>&Iox1KL1lS%gq4~)!w zHAuG0O#fJX)1YY2Ox+VPYYrK^q&}s}{5addDH>bJJ$Kb6J}T0_vA5nWGZW^|4b)3Y znY5|Wwr9mW-w%L|Bz|~V1di@{B_|rw3rh#xNh+q+h-wkXhX4()kp#ocYA=@<=t5`8 zVpy4IN0Yv3&tCbr+Pt};gcr|>M5acIdPE#6lR#tT*70Er#)Th~2@Z=B_%f%6zwnbb zoTOD4O+6uu4|rB%xwS*FPRwpe?SfvzvFNd9McA(DC7XvslkcEk&~vhIbyS=;qZF29 zJ&!)7w)kLSM$Uea9-3_Fr65*DS5@=%iH2?_Oz)_qs;aD(xx}VZ*NdJA+T~|gfbgn8 zpcXsgA9eYR%#XCvFvh7bfz~s={#;DOecqg>jj_+^O$%Dx2z*Wpaoo1J2PjwYGvM?Q zOxUwF3_|qQ^RI5yRn(U1Jenv$|DtIaf;I%v`>>#$b z;%)FWO#|~#v4u_*uV6Dga7pI6n2F`9_K!4& zW`De3r`dyc2T(1$%SxI!y7)2dYDL}m$%vXcxtzUK6PgqY|H4Y9aHw)4li?F%X+3>D z4$HuCWoA{r(AmNeQxmq>=;`6Xtjnig_+&xtZ=#q^Qrl;|C zQ&}Csy^BDLVHae&$zsi<4}kbtQ6P%k zpU(-K-gp%@$jhrSGR1<6-1X}H-0;hNG;B?ZPszVnN+wMzPUa5*^&pz8K@UTN*wr94 zGT=UXC(H3oH{c-oNeM_la~gYn7~yx;3z^hn)!506 zqO`n}y7!_+a%|2(RkX1~da~WFU&VSooHq+U+OFk#DuG4dtvBsRafjA$XnF5#l#xiR za+eXXLHdXHmr~@oFsEy2>{T%#DRLvSVe$%A}ik7{OYLvKIJ8N|UC2ib9+Iis(Yv3Daj9 zZkFB*a8nH=fo5ql&Z_27y3q5?hS5#|w!nslmG;77A^U*ePjJZUPpEjh!$QE(_M;2N z2fWP!_$R^jDyXpdSkXm#C=Wt@q#U*yqd!bYDPYQhhkslT&SE{un0P(-6h!4kXwsCD`cRqU(wTF2$!MO*meHOk6@CP3*^=!k z>(WD0S-Y`y+&7Phy-Q`jrle0{xP;}g0voJko{HwzJPIYLqeUYFz^!`g_M_>~sfJCu zzC7tSAB;}DEAe4@BSrGdD817M$WMlP}Tc?_R4{ukK#`>(#w?cS9b&-If7fMf>kDwfTJP z>NuaBU+^;w)nN=lyzL=7N$J)zHeVDS>5|?$7$) zN+Yad@1mc2M3lq!$KSJq#~DrSaAd5hWFeq0Y0#zV^SRa%d$Czq97 zccK2L+Rj>>!@FSx4rcTunAv#}3egZp)z`4jZ+MGU$yK3$SaRql$``9e!K{EC%auFn zgnEwlLZt2y)RJ`Q zN@u+ED!$`K)*FjpnrHk}7=agD)z~`X8)bfVhgdkD%-e&nc9(04%fJoy`!=b!x11Rm z@N1Nd4*f+Yy%3yMCG@Sk_8Kj5;+j!&^qsFLl{Ie3pG$1NeZSkoS6+% z7D}Vv=<)F{98H`uinyDf+tWGQ^SKcQ)8{mudMWBEQagPafIl9a^pi22LcC#a-*mh} zQPq6a#^v{HB;J-6M_$4E2d|U`+ui%DwDrhXX!VWSg=ML|6-0`rOzgnFSHFRSJBzn^ z>3=V28i++G*4HmFiCK3~8C8a9O+Cri(b?O1MEJ2dGy9wgJa}X-b^eo8?)K(B>cAA=(SBlblEoq1cYePOEG(9>*Q} zfq)R+XtB)`~hj^39#+ZM8T84N<=>>%PNqmg1gSL7qEuy;qH9C^(D}kn3s; zWOAGnheeJpR6ZDuA|=ZwvN2m|G?Vo=#Z{QwQFN&{elfSl@0n;1+$&X8sFOkXvrq-8 z?D~4yCeD~GuZE5L!PkFgMt^Is88D8Y7Z!EnzS+@LAAwGlmdC6OL!GP&n)M&Skpl?= zI2CgoA!wf&n@Ysb%-NDnB29X<$tJms?(A!~1vQO=mZB9N!?fgjGF5YQ^L$h=_>ER* zl*9W1Ed|?1z2vN&;tNH3%9N|on%ASb+fiDFh+hqjdXry9(*z9Iugmso!#(G>WysQ~ zGH7=b4L*`XQc{QN(Ue(!&(e+J?sLt+D9PD}t^49we0GXWa+|rt-v%{}O;Xgr7W`g- z1*y@;O#!-z3SF-DtnOph6Ts;L%vocxNp7>*8s^6+Mb~nkrQ!vtdo~MUyR(uHn>zdF zJ{7^c)!->;U}`m%vCLIVIa!2{bS-6_38g%lO{br4aFU5~Q)xGNuBQx~1}rVg#ntj6 z@34$WOKlzk$B4VoloQLMow%9z&E$DT^J zt%W0*Q0)NBYF)@TsD^ihbLp7~h`)a)eb=Sg@=Ka2s8lCI!)!asjaFk7xI!vt@&`v9 zZ(~YEanIhVk7sd~8FX=@P;5-cU?Fy;&QenvkK3(bMF;tKBD_lR45?|KNu8(ClepGv z{XVwJs{@9VYR(NlhU89!K`X%)kAT^J@d$U!)9j>q-Pm!?j`<>)r&DdwRiQktHmU8k zf(^360-Nd~Dp5)3cN?9*9m{ur2I|We^E!NT<3=iX;Z5MMPQIA48B;20ugOW#PLh<&nU$m$yS~h2gjl55%q1+}fmeccCI(1b zHO-)5z0#UHTqay)=I!El3_ccpai|S^Pt-bU$e8BLWn)qwvE_6~hGn?=$>#^C$3(#( zxEGW@Qg7x2qEE-8S@{4eo8ra}I`INdBXX^cnrZ;uc>&{GI%Tr|2BKH4YGC*by1S_n z{b|0{33T@d$98w=o%?Me-2RDkAfib2!r2;VNM;oy2&%=#XY>&CS4kk*s}RRo5Ry`5 z*r&CprV^AZOI-^hVUJcyBotBJ^DH$^(ROg zW<`K4Mg0auV3+nj(rp$LuZ--L;bw`1whL0Xi z0mAW5{gHL@;en*kY}AS#-b~B0J8I^9Y$Ku7Yc$&+B_A^8lPKt5Y?gU+{Wgf}wWw8E zXqkN-YtiWk94`MEo4~ty-5)4$MXR^Z?k1@Q-O;p;4p=3xiv)b~h9!`B{>rSb^@O)V zb8hwo83<}jQ_>c%+YO=$`NUKTdfj952=o@0(5@JChcW84pgjnLZ4_js_kk2o!FsC3 zc)brqQGji>_K8*?bEftVA-=l84r)$;vEdu;eXw>pnqC|I?t!eJf_SB(R%YVTHyjST zO*7%94>+_cGu#jCflURVyHX8M2j0j>S!8ISGSs8;%O~@ylm2=T;#Nt#)+(-1V-0%r zWyXq_F&cD7&uSZ879IGT_7s$*y96w1RaZ7V14-vtF2s)sf4TZ_UxrMVTZyexrT^!{ z08*2TlNLe^^=J^t$qSFXAP7VzU1}ct^8xYGf{T@I=GB@PcORA4iM_d_DW-{j=co<3 zldP5IuBbB!dX2}ZT=WjaRA6755aqd)9A(G-?H$ICc)nNvZu!sqy-$P1)YKzr51wl|J3wmh1aAbs*K%0k-RE-* z7@zp-LEETt*JqeEQ|83|5BMlOd$LJTF6C-n)yhn`3(n;wYX4Q zQ?j}00~x{16x80#*~JNJY=;Ac989cncmfdM$Cu4hOa|b6oKn9Pjm8}cZ31E`ecnvjm zFa!AIp;i`_F3&_?0Az@(iHpa3AX353*aG;Yar^LA)x;WV>hg?7+se$v@)@rXhE)k_ zZ-IH>Pr$MYvYIK%N*F%}6q zy<=nyDH)%zx~A60==8FRq2ZAw1_7a08c-(}S43uc<)R?O)H&ljBfp7x6mpb_*(_^M zT1NKM=hpp4EZY77ub%=LQDIcL{ryJ`OhyJt9yZ1XKE^UK(&nXWP+xQ!T9hcY-! zST{cwtn;q6e z;-6E-3Q3pXk~gs#>C{jM+xVMWcsVwq`!dFFKr-9Ljc@Vx<{y(Xu~&L&Nme5b!A|WO zAr%T;uQPxT2&rJ@+UI2E#dXd(_jRJftBhU$)0N;N&HT%B4iLT1~*rnK#)7B1fv)qYr?e&vfskC|T^%M=4-?xv;X zA#prl;Wb2*O=~D@jeIXrY9k!xd6=iEzA|denZNIlAeCCK2`=J1^;la+Ej#${%Vn0I z7&J<_x?1%MKFd;3Ll|L^yYx`cGSh3YvZ@m3o@E|6u1EVwnxD{?mndk2ARulX@c8eUxo`eG*c*4lC7Xlz^%6Prb6XcXg|4 zE(LtQo;}=CC8>$F%Xi;8T3icfAA(y|Hup)zS6d#$FX%hc?WvyyPPBSGoSdUDS~(c- z@n$=j-}Dk6FDkkL;n8IZ=EL4jk*qD9m`~U_RLJNr7-rp3i^!`g&4Osr(9gvOHKQ8udggjvNEYI=)3(5)@W z2D1$fhr)OzHy|*}KUu$TKv4rJYddFEzCDPI@f6{5`z7>s)8z;q49Bpt#m!G(G<|X{ zRhU4Llq)A@+}~Q{fV^r9y%Fm6BI{Sl_6_Lm`Pigs+Sb{`bYqL`z<&~L+ozemb$B?9 ztXQt7qgB7U0dXXbEAOG|3B+eR(~4Uvu1s?psFG+tHhPJZQ#EZt}k0F~;QL*oCOFYv8zU8Q0{=HLE@9uN4IsTA)Dt*QV zw`Uj~hp(yDU$N3u0bRD)bWRAG5lDZm#ep08-K6yBy;Hkv7+a3I3b%Hw*)-~4CXnQK zjj>M#)vnYhU5fAe*sH_-SQ1I0)`}`7)mAUu#nJv^)4l0ZcWPM|vJ6}6oqDUpWl&ZH zgAr<1T8$PN3Z!c(`>a`%eA*suZ|_y)6()SK`MD2mu-W=fsJSmp$^LFCszi=hy_!8s z1BnHG6IQXnKCZ5E`71uGp@pic3}$%Ga_OY{US-)>x@-V6Bs*PVSj|b@sRHf*o46lT z0>*h$pwdL?nyV22)}+tDZUw6$bnC5(S!@4`;~?s*rtIE4`$gG`$j#zI4%1j3r>y` zDd6y5NilPG(|*1@r0b&@WV^n10}{L(DVlAK!!)q*e;Rtm;PcMB9@@`kc&Y(SZ7&v1 z^X}jvTCIiksG%nBmt^qjmOZ18bXIuy;Hm-pXsU`F*RDvhXnlW}azkL-60FiO7C2jd zKZi}zso8e3nQXbw&cV538Y#=nA{RY2b!ed zAr-123R#6QDJ3>ZL!HKEduNUUMz)2cc7i7Wq)8PhyR1nRZ~q)Yqg;6_t=@DjQah*< z=Oi9eBkdS0vP$wRmTE~R#pU|!V&tg0o%E4W-ARH)EVM!fAcxOMYsJJ^tfeg4#ad#hGSg{YXand?oFHbNavzX^7$hpC`=49&4zsJXJ5 z8i?;T9G?s%z7;#g(T-q~BgB?LWULA8T`q*h)b_#Yc#HSBu!BaCNwd_+NGGHru zO7ZQ#Es59n^#+8-F(xA9m-S#v}(le`HF>Ub(0FC0uI$;gR&)QqM^cVimyHynho zkWEwsX269_$z@}48UkTg)t)z?gWnZ_9)j9#t6GPC%R5NPNbfq2IlhTW@w``!mgC>I zw_LL}j5(OEkgD!NWPMXEdrzAZ{Br`@IiXK2vgX&|*+|B7h|=(!WI#prJX&*_3WE1o zMVLY?I>j^OFuaJfWY^B#>+M@51(d{al>~b`(Qmw>+As%%-EN9il=~Q$mC@9=B zu+Z}v0fjGn(Q|Wi99+#OgS_2FtC4u2nst~&%E8Gw0t9r+}mh*QKtR7 zIRlFw$8YW&&}p!*Ki!WqB(qum)rKeQS|*5;#(UtQ+(3=vM-IE*+B$3;#H9G93KTxLu0O6Y(@ zYMYk74QH{uvaeFXVdwHf6RXNe>J-vX=ozWX@<3PvEomXfXm42tOOpbV98pLBwrcdJ zA)Vq!Tf<%8X8ve85B1*qo(%eGq-FJ47LuJW_}=66-E&z*@HI z^_R!o&irHZ?^&|dbf#ln#>tD6V`J`+04BEFJ-hDa^AoiiovKDE!{Yu}V!RLEPj-eo z!D{KRG(A{#*$xmUH?$JM^|Oy0np8H0D*4ZrrhLr? zrxi()uykr$9dm?cbShX#Dp;t?>ur>ZPb%&?M^8&Nn_dkN9Ldpn@FtnwSu?Uh&swA5 zKAaM}a`+eBh9?)~Y8xh_QI1wQ`8LUiNt-vI+7>Wy@#oIHs%|u$5%2YS;Q90ah8QfD z(J8A_dSs23XlkXr(UmhDC{ipWMSMn5?rGJd`KzPCO3#glzyDjl|0yY4u)1>qS+&=| zoz0#&{WKn&#g4P14%eI+`Ls8E**VTbEQjS^6x^W^#wqy}oTbp?ZxS=(d;de%|75Oe zJ33vf91-3=G*i2(6^0YT;Q1C-oH2a^nxc52XLBbk<&p6(uqKC7f)xs}%+%eWDxj+( zWXF9zs|}{=`7K)ICs1$!C(sUu{gZk1*cuY;gRLxdDSsAt1IjzUcokuadjGwykknSg zYME5n3e3&J=#8JPLVdDUcWl+k@1HJ^MZqC(HnduUgsRO@@er4tj3n>H2jx5Fr=*67 zRGwugsumR-Wzo1ehe;|q$JYk?vgeS(+l)6BOTqlD8vgmRxwr~uIFUl~q z=zTpQ(|6Fqyq|Oxn7n_%oR9h^-7sdAi8N6^IjUj3lJN=|9GWgN*e1*_2JySF^sIAD zy#d+VqP+AhG+M`^Kf_|gf(=Fz7nu&63yPiB#C5;0JfNMJMvUPcZRsYL%xi_N``2wx z;ByG&o;L*=3jKDLFg|QBgzqe@RC!D4#n*&QA>H^C! z^}|K~bwRjf>`%26ywUHSetzs#Cc7@nVigG8Eo+4o+Na6dt0l9+P2glU^#Cz7INNvD zPF^hqZtSO9#ZvF;zf)t0nSPiGG za(@M1#u8Y{8}{(Q+0a^cMEP0h&1N0YVM#vTM>!U&+CquR>e9@wa$C6ln)?hP7h?0P zJYQ#~x(gYdW!3B^BjzaoyoqYfB6;DlhLwZtY`VH*7E>iJSDv^~ijE*!U_?MDcDA50 z|CRf!ExVbHG4&9ftvIMdN5+*gqWs{+=lq)HdadgA19ReyenWmMNT-Q~VUa$kwaSEs zF^<}z9Ro>5Qzq8tRqMrXJ0#XDqhf+O|i%Xu}ZJMh>*?roJ2ABE+*jzgy%0&s4!0BCbXDQ0#^8^CI zffhsI_h=N@i&b2$Rzr3fYfp7qoKqz%jtmbe79X|Rf=5q^$LH;0a88SW3Cd*hr06(e zb3AjIR8WP;!)mNLUrnI_YCoXTu_r#(DAEy_oBtCQ{!L>vHf1|sL*-XOv1^Bb*Ef$} z{&MmqF@AA+%lx#?e&RPE0(hGx`jKr+vvZbk#6Q4+p`5!Mkd^70b%*wdzabXVW+wX$ zV$qE+8cHbHj#gu2{A|x(Q24T@`Js7_6QU_*G*>U$uMuZWczbinex}{F+xYvowkm_M zT?jI=a52PI9XtLn`k0-<-5g#4SU75OraPcxm&sd*oWRIrG51};Qev1e2+-Tdoc5)N=br6m51f}D?&Ha;FrRYrNuOVdc}$Te1Y&|DJ<-! zr`E?z8^&Prwtgq?ZbS8GAG@?ybLbdV6I)xM0i=2sR7PUVT2D}+dX-Jw%8hwGh2^yq zYIzr~y3x3lv+Lir)%B%Bjx;dK2v3VNS2H9<46%|$(NU0{IFvJN2Kw+{clch~e%bB?W4aG=sEXs8=HI2f&^1kGK>H@oLX^fNXWO;NK*o?chVfQal z^ssipn?LMJnn|eY{G`1!Zn-;6yL$Pi@ z_0u1zSXQ>8XvwXar@b@^MaWOFWYx5!>^)zT5sU}@DF+Q(h@wO>fg_>u-)dcA?w;