From b789647a45753109035a33d64d582886b2ba5f20 Mon Sep 17 00:00:00 2001 From: yliu2 <liuyu2209@gmail.com> Date: Mon, 14 Sep 2020 11:37:03 +0200 Subject: [PATCH] Update Pixel operatitions, Add new module Absolute value --- app/Algorithms/ClassAnalysis.cpp | 16 +- app/CMakeLists.txt | 3 + app/Operations/AbsoluteConvertOp.cpp | 54 +++++++ app/Operations/AbsoluteConvertOp.h | 19 +++ app/Operations/ClassResultOp.cpp | 1 - app/Operations/ColorDialog.cpp | 12 ++ app/Operations/ColorDialog.h | 5 + app/Operations/ColorDialog.ui | 23 ++- app/Operations/ColorimetryOp.h | 1 + app/Operations/MeanSquaredErrorOp.cpp | 4 +- app/Operations/MyQLineEdit.h | 64 ++++++++ app/Operations/PointOp.cpp | 201 +++++++++++++++----------- app/Operations/PointOp.h | 171 +++++++++++++--------- app/Operations/SinusSynthesisOp.cpp | 2 + app/Operations/SplitHsvOp.cpp | 2 - app/img/qcolor-hsv.png | Bin 0 -> 115862 bytes app/main.cpp | 2 + core/Operation.h | 2 +- lib/detiq-t | 2 +- 19 files changed, 414 insertions(+), 170 deletions(-) create mode 100644 app/Operations/AbsoluteConvertOp.cpp create mode 100644 app/Operations/AbsoluteConvertOp.h create mode 100644 app/Operations/MyQLineEdit.h create mode 100644 app/img/qcolor-hsv.png diff --git a/app/Algorithms/ClassAnalysis.cpp b/app/Algorithms/ClassAnalysis.cpp index 1e1b151..1ce80f6 100644 --- a/app/Algorithms/ClassAnalysis.cpp +++ b/app/Algorithms/ClassAnalysis.cpp @@ -403,24 +403,26 @@ string ClassAnalysis::print_file_info( FILE *f ) { } else { for( counter=0; counter< num_classes; counter++ ) { - r = fscanf( f, "%lf", &moy1 ); - checkFscanfResult(r); + r = fscanf( f, "%lf", &moy1 ); + checkFscanfResult(r); r = fscanf( f, "%lf", &var1 ); checkFscanfResult(r); + checkFscanfResult(r); r = fscanf( f, "%lf", &moy2 ); checkFscanfResult(r); r = fscanf( f, "%lf", &var2 ); checkFscanfResult(r); - sprintf( buffer, "---- Class %d:\n", (counter+1) ); + sprintf( buffer, "---- Class %d:\n", (counter+1) ); returnval = returnval + buffer; sprintf( buffer, " Mean of means: %f\n", moy1 ); returnval = returnval + buffer; - //sprintf( buffer, " Stdev of means: %f\n", var1 ); - //returnval = returnval + buffer; + sprintf( buffer, " Variance of means: %f\n", var1 ); + returnval = returnval + buffer; sprintf( buffer, " Mean of stdevs: %f\n", moy2 ); returnval = returnval + buffer; - //sprintf( buffer, " Stdev of stdevs: %f\n", var2 ); - //returnval = returnval + buffer; + sprintf( buffer, " Variance of stdevs: %f\n", var2 ); + returnval = returnval + buffer; + returnval = returnval + "\n"; } } diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt index 47c56a6..58b224e 100644 --- a/app/CMakeLists.txt +++ b/app/CMakeLists.txt @@ -17,6 +17,8 @@ set(imageinsa_SOURCES Algorithms/Pyramid.cpp Algorithms/Pyramid.cpp Algorithms/Pyramid.h + Operations/AbsoluteConvertOp.cpp + Operations/AbsoluteConvertOp.h Operations/BFlitOp.cpp Operations/BFlitOp.h Operations/CenterOp.cpp @@ -97,6 +99,7 @@ set(imageinsa_SOURCES Operations/NoiseOp.h Operations/PointOp.cpp Operations/PointOp.h + Operations/MyQLineEdit.h Operations/PseudoColorDialog.cpp Operations/PseudoColorDialog.h Operations/PseudoColorOp.cpp diff --git a/app/Operations/AbsoluteConvertOp.cpp b/app/Operations/AbsoluteConvertOp.cpp new file mode 100644 index 0000000..eb6233c --- /dev/null +++ b/app/Operations/AbsoluteConvertOp.cpp @@ -0,0 +1,54 @@ +/* + * Copyright 2011-2012 INSA Rennes + * + * This file is part of ImageINSA. + * + * ImageINSA is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * ImageINSA is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with ImageINSA. If not, see <http://www.gnu.org/licenses/>. +*/ + + +#include "AbsoluteConvertOp.h" +#include "../Tools.h" +#include <QApplication> +#include <QObject> +#include "Operation.h" +#include "Image.h" +#include <Converter.h> +#include <QLabel> +#include <QStringList> + +using namespace imagein; + +AbsoluteConvertOp::AbsoluteConvertOp() : DoubleOperation(qApp->translate("Operations", "Convert to Absolute").toStdString()) +{ +} + +bool AbsoluteConvertOp::needCurrentImg() const{ + return true; +} + +void AbsoluteConvertOp::operator()(const imagein::Image_t<double>* from, const std::map<const imagein::Image_t<double>*, std::string>&){ + + ImageDouble* resImg = new ImageDouble(from->getWidth(), from->getHeight(), from->getNbChannels()); + + for(unsigned int i = 0; i < from->getWidth(); i++){ + for(unsigned int j = 0; j < from->getHeight(); j++){ + for(unsigned int k = 0; k < from->getNbChannels(); k++){ + double newPixel = fabs(from->getPixel(i, j, k)); + resImg->setPixel(i, j, k, newPixel ); + } + } + } + outDoubleImage(resImg, "Absolute", false, false, false, false); +} diff --git a/app/Operations/AbsoluteConvertOp.h b/app/Operations/AbsoluteConvertOp.h new file mode 100644 index 0000000..19f6f5b --- /dev/null +++ b/app/Operations/AbsoluteConvertOp.h @@ -0,0 +1,19 @@ +#ifndef ABSOLUTECONVERTOP_H +#define ABSOLUTECONVERTOP_H + +#include <QObject> +#include "Operation.h" + +class AbsoluteConvertOp : public DoubleOperation +{ +public: + AbsoluteConvertOp(); + + bool needCurrentImg() const; + + void operator()(const imagein::Image_t<double>*, const std::map<const imagein::Image_t<double>*, std::string>&); +}; + + +#endif // ABSOLUTECONVERTOP_H + diff --git a/app/Operations/ClassResultOp.cpp b/app/Operations/ClassResultOp.cpp index cb3767b..342ac75 100644 --- a/app/Operations/ClassResultOp.cpp +++ b/app/Operations/ClassResultOp.cpp @@ -79,7 +79,6 @@ void ClassResultOp::operator()(const imagein::Image* img, const std::map<const i // int param2 = 8; /*The input parameters are not used*/ int param1 = borderBox->value(); - /*int paramBorderBox = borderBox->value();*/ int param2 = innerBox->value(); vector<Rectangle> selection = zoneSelector->getSelections(); int K = selection.size(); diff --git a/app/Operations/ColorDialog.cpp b/app/Operations/ColorDialog.cpp index ad90393..eaab7f3 100644 --- a/app/Operations/ColorDialog.cpp +++ b/app/Operations/ColorDialog.cpp @@ -27,6 +27,7 @@ ColorDialog::ColorDialog(QWidget *parent) : ui->setupUi(this); ui->hsvWidget->setVisible(false); this->adjustSize(); + connect(ui->hintButton,SIGNAL(clicked()),this,SLOT(getHint())); } ColorDialog::~ColorDialog() @@ -57,3 +58,14 @@ unsigned int ColorDialog::getWidth() const { unsigned int ColorDialog::getHeight() const { return ui->heightBox->value(); } + +void ColorDialog::getHint() { + QDialog* hint = new QDialog(QApplication::activeWindow()); + hint->setWindowTitle(QString(qApp->translate("ColorDialog", "A small tip for Qt HSV Color Model"))); + hint->setLayout(new QVBoxLayout); + QLabel* pic = new QLabel(hint); + pic->setPixmap(QPixmap(":/images/qcolor-hsv.png")); + hint->resize(1180,360); + pic->resize(hint->size()); + hint->show(); +} diff --git a/app/Operations/ColorDialog.h b/app/Operations/ColorDialog.h index c71776b..b04e0cb 100644 --- a/app/Operations/ColorDialog.h +++ b/app/Operations/ColorDialog.h @@ -21,6 +21,8 @@ #define COLORDIALOG_H #include <QDialog> +#include <QDebug> +#include <QPixmap> namespace Ui { class ColorDialog; @@ -37,6 +39,9 @@ public: unsigned int getWidth() const; unsigned int getHeight() const; +public slots: + void getHint(); + private: Ui::ColorDialog *ui; }; diff --git a/app/Operations/ColorDialog.ui b/app/Operations/ColorDialog.ui index 27bdb63..959dc50 100644 --- a/app/Operations/ColorDialog.ui +++ b/app/Operations/ColorDialog.ui @@ -32,6 +32,9 @@ <property name="maximum"> <number>65536</number> </property> + <property name="value"> + <number>512</number> + </property> </widget> </item> <item row="1" column="0"> @@ -46,6 +49,9 @@ <property name="maximum"> <number>65536</number> </property> + <property name="value"> + <number>512</number> + </property> </widget> </item> </layout> @@ -155,24 +161,31 @@ </property> </widget> </item> - <item row="3" column="0"> + <item row="0" column="0"> + <widget class="QLabel" name="label_4"> + <property name="text"> + <string>Hue : </string> + </property> + </widget> + </item> + <item row="2" column="0"> <widget class="QLabel" name="label_6"> <property name="text"> <string>Value : </string> </property> </widget> </item> - <item row="3" column="1"> + <item row="2" column="1"> <widget class="QSpinBox" name="valBox"> <property name="maximum"> <number>255</number> </property> </widget> </item> - <item row="0" column="0"> - <widget class="QLabel" name="label_4"> + <item row="6" column="1"> + <widget class="QPushButton" name="hintButton"> <property name="text"> - <string>Hue : </string> + <string>Get a hint</string> </property> </widget> </item> diff --git a/app/Operations/ColorimetryOp.h b/app/Operations/ColorimetryOp.h index 1e2206c..33b104d 100644 --- a/app/Operations/ColorimetryOp.h +++ b/app/Operations/ColorimetryOp.h @@ -30,6 +30,7 @@ public: void operator()(const imagein::Image*, const std::map<const imagein::Image*, std::string>&); bool needCurrentImg() const; + }; #endif // COLORIMETRYOP_H diff --git a/app/Operations/MeanSquaredErrorOp.cpp b/app/Operations/MeanSquaredErrorOp.cpp index 713dd29..85f8c98 100644 --- a/app/Operations/MeanSquaredErrorOp.cpp +++ b/app/Operations/MeanSquaredErrorOp.cpp @@ -81,7 +81,9 @@ void MeanSquaredErrorOp::operator()(const imagein::Image* image, const std::map< mse = mse / static_cast<double>(maxChannel * maxWidth * maxHeight); me = me / static_cast<double>(maxChannel * maxWidth * maxHeight); - QString text = qApp->translate("MeanSquareErrorOp", "Mean squarred error : %1 (mean error : %2)"); +// QString text = qApp->translate("MeanSquareErrorOp", "Mean squarred error : %1 (mean error : %2)"); + /*Change the name to match the calculation performed*/ + QString text = qApp->translate("MeanSquareErrorOp", "Mean squarred error : %1 (mean absolute error : %2)"); text = text.arg(mse, 0, 'f', 2); text = text.arg(me, 0, 'f', 2); diff --git a/app/Operations/MyQLineEdit.h b/app/Operations/MyQLineEdit.h new file mode 100644 index 0000000..4d1c2a6 --- /dev/null +++ b/app/Operations/MyQLineEdit.h @@ -0,0 +1,64 @@ +/* + * Copyright 2011-2012 INSA Rennes + * + * This file is part of ImageINSA. + * + * ImageINSA is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * ImageINSA is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with ImageINSA. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef MYQLINEEDIT_H +#define MYQLINEEDIT_H + +#include <QLineEdit> +#include <QRegExp> +#include <QRegExpValidator> +#include <QIntValidator> +#include <QDoubleValidator> + +class MyQLineEdit : public QLineEdit { + + Q_OBJECT + + public: + MyQLineEdit(QWidget *parent = nullptr) : QLineEdit(parent){}; + MyQLineEdit(const QString &contents, QWidget *parent = nullptr) : QLineEdit(contents, parent){}; + + public slots: + void updateValidator(const QString &text){ + QRegExp regLogicalExp("^[1]d*|0$"); + QRegExp regShiftExp("^[1-7]d*|0$"); + QRegExpValidator* logicalValidator = new QRegExpValidator(regLogicalExp,0); + QRegExpValidator* shiftValidator = new QRegExpValidator(regShiftExp,0); + QIntValidator* intValidator = new QIntValidator(); + QDoubleValidator* doubleValidator = new QDoubleValidator(); + + if(text.contains("NOT")){ + this->setEnabled(false); + }else{ + this->setEnabled(true); + } + + if(text.contains("logical")){ + this->setValidator(logicalValidator); + }else if(text.contains("<<") || text.contains(">>")){ + this->setValidator(shiftValidator); + }else if(text.contains("bit-wise")){ + this->setValidator(intValidator); + }else{ + this->setValidator(doubleValidator); + } + } +}; + +#endif // MYQLINEEDIT_H diff --git a/app/Operations/PointOp.cpp b/app/Operations/PointOp.cpp index c5cb395..8681bd4 100644 --- a/app/Operations/PointOp.cpp +++ b/app/Operations/PointOp.cpp @@ -28,13 +28,14 @@ #include <QComboBox> #include <QCheckBox> #include <QGroupBox> +#include <QDebug> #include "PointOp.h" #include <Widgets/ImageListBox.h> #include <Widgets/ImageWidgets/StandardImageWindow.h> #include <Widgets/ImageWidgets/DoubleImageWindow.h> #include <Converter.h> - +#include "MyQLineEdit.h" #include "../Tools.h" using namespace std; @@ -42,7 +43,7 @@ using namespace imagein; using namespace genericinterface; PointOp::PointOp() : GenericOperation(qApp->translate("Operations", "Pixel operations").toStdString()) { - + } PointOp::PixelOp* PointOp::PixelOp::fromString(QString op, QString expr) { @@ -50,14 +51,17 @@ PointOp::PixelOp* PointOp::PixelOp::fromString(QString op, QString expr) { if(op=="-") return new PixAdd(-expr.toInt(0,0)); if(op=="*") return new PixMul(expr.toDouble()); if(op=="/") return new PixMul(1/expr.toDouble()); + if(op=="& (bit-wise AND)") return new PixBitwiseAnd(expr.toUInt(0,0)); if(op=="&& (logical AND)") return new PixLogicalAnd(expr.toUInt(0,0)); + if(op=="! (logical NOT)") return new PixLogicalNot(expr.toUInt(0,0)); + if(op=="| (bit-wise OR)") return new PixBitwiseOr(expr.toUInt(0,0)); if(op=="|| (logical OR)") return new PixLogicalOr(expr.toUInt(0,0)); + if(op=="^ (bit-wise XOR)") return new PixBitwiseXor(expr.toUInt(0,0)); if(op=="^^ (logical XOR)") return new PixLogicalXor(expr.toUInt(0,0)); - /*The operator of shift operations is considered as a double to simplify the structure*/ -// if(op=="<<") return new PixLshift(expr.toUInt(0,0)); -// if(op==">>") return new PixRshift(expr.toUInt(0,0)); + if(op=="<<") return new PixLshift(expr.toUInt(0,0)); + if(op==">>") return new PixRshift(expr.toUInt(0,0)); if(op=="") return new PixIdent(); - std::cout << "Unknown operator '" << op.toStdString() << "' !" << std::endl; + std::cout << "Unknown operator '" << op.toStdString() << "' ! PixelOp" << std::endl; return new PixIdent(); } PointOp::DoublePixelOp* PointOp::DoublePixelOp::fromString(QString op, QString expr) { @@ -65,13 +69,12 @@ PointOp::DoublePixelOp* PointOp::DoublePixelOp::fromString(QString op, QString e if(op=="-") return new DoublePixAdd(-expr.toDouble()); if(op=="*") return new DoublePixMul(expr.toDouble()); if(op=="/") return new DoublePixMul(1/expr.toDouble()); - if(op=="&& (logical AND)") return new DoublePixLogicalAnd(expr.toDouble()); - if(op=="|| (logical OR)") return new DoublePixLogicalOr(expr.toDouble()); - if(op=="^^ (logical XOR)") return new DoublePixLogicalXor(expr.toDouble()); - if(op=="<<") return new PixLshift(expr.toDouble()); - if(op==">>") return new PixRshift(expr.toDouble()); + if(op=="&& (logical AND)") return new DoublePixLogicalAnd(expr.toUInt()); + if(op=="! (logical NOT)") return new DoublePixLogicalNot(expr.toUInt()); + if(op=="|| (logical OR)") return new DoublePixLogicalOr(expr.toUInt()); + if(op=="^^ (logical XOR)") return new DoublePixLogicalXor(expr.toUInt()); if(op=="") return new DoublePixIdent(); - std::cout << "Unknown operator '" << op.toStdString() << "' !" << std::endl; + std::cout << "Unknown operator '" << op.toStdString() << "' ! DoublePixelOp" << std::endl; return new DoublePixIdent(); } @@ -80,12 +83,14 @@ PointOp::ImageOp* PointOp::ImageOp::fromString(QString op) { if(op=="-") return new ImgSub(); if(op=="*") return new ImgMul(); if(op=="/") return new ImgDiv(); - if(op=="& (bit-wise AND)") return new ImgBitAnd(); - if(op=="! (bit-wise NOT)") return new ImgBitNot(); - if(op=="| (bit-wise OR)") return new ImgBitOr(); - if(op=="^ (bit-wise XOR)") return new ImgBitXor(); + if(op=="& (bit-wise AND)") return new ImgBitwiseAnd(); + if(op=="&& (logical AND)") return new ImgLogicalAnd(); + if(op=="| (bit-wise OR)") return new ImgBitwiseOr(); + if(op=="|| (logical OR)") return new ImgLogicalOr(); + if(op=="^ (bit-wise XOR)") return new ImgBitwiseXor(); + if(op=="^^ (logical XOR)") return new ImgLogicalXor(); if(op=="") return new ImgIdent(); - std::cout << "Unknown operator '" << op.toStdString() << "' !" << std::endl; + std::cout << "Unknown operator '" << op.toStdString() << "' ! ImageOp" << std::endl; return new ImgIdent(); } @@ -94,19 +99,22 @@ PointOp::DoubleImageOp* PointOp::DoubleImageOp::fromString(QString op) { if(op=="-") return new DoubleImgSub(); if(op=="*") return new DoubleImgMul(); if(op=="/") return new DoubleImgDiv(); - if(op=="! (bit-wise NOT)") return new DoubleImgBitNot(); + if(op=="&& (logical AND)") return new DoubleImgLogicalAnd(); + if(op=="|| (logical OR)") return new DoubleImgLogicalOr(); + if(op=="^^ (logical XOR)") return new DoubleImgLogicalXor(); if(op=="") return new DoubleImgIdent(); - std::cout << "Unknown operator '" << op.toStdString() << "' !" << std::endl; + std::cout << "Unknown operator '" << op.toStdString() << "' ! DoubleImageOp" << std::endl; return new DoubleImgIdent(); } void PointOp::operator()(const ImageWindow* currentWnd, const vector<const ImageWindow*>& wndList) { - QStringList pixOperators, imgOperators, pixDoubleOperators; + QStringList pixOperators, pixDoubleOperators, imgOperators, imgDoubleOperators; - pixOperators << "" << "+" << "-" << "*" << "/" << "&& (logical AND)" << "|| (logical OR)" << "^^ (logical XOR)" << "<<" << ">>"; - pixDoubleOperators << "" << "+" << "-" << "*" << "/"; - imgOperators << "" << "+" << "-" << "*" << "/" << "& (bit-wise AND)" << "! (bit-wise NOT)" << "| (bit-wise OR)" << "^ (bit-wise XOR)"; + pixOperators << "" << "+" << "-" << "*" << "/" << "& (bit-wise AND)" << "&& (logical AND)" << "! (logical NOT)" << "| (bit-wise OR)" << "|| (logical OR)" << "^ (bit-wise XOR)" << "^^ (logical XOR)" << "<<" << ">>"; + pixDoubleOperators << "" << "+" << "-" << "*" << "/" << "&& (logical AND)" << "! (logical NOT)" << "|| (logical OR)" << "^^ (logical XOR)"; + imgOperators << "" << "+" << "-" << "*" << "/" << "& (bit-wise AND)" << "&& (logical AND)" << "| (bit-wise OR)" << "|| (logical OR)" << "^ (bit-wise XOR)" << "^^ (logical XOR)"; + imgDoubleOperators << "" << "+" << "-" << "*" << "/" << "&& (logical AND)" << "|| (logical OR)" << "^^ (logical XOR)"; QString currentImgName = currentWnd->windowTitle(); map<const Image*,string> stdImgList; @@ -122,7 +130,6 @@ void PointOp::operator()(const ImageWindow* currentWnd, const vector<const Image } } - QDialog* dialog = new QDialog(); dialog->setWindowTitle(qApp->translate("Operations", "Parameters")); dialog->setMinimumWidth(180); @@ -191,24 +198,32 @@ void PointOp::operator()(const ImageWindow* currentWnd, const vector<const Image QHBoxLayout** valueLayouts = new QHBoxLayout*[nChannel+1]; QComboBox** pixOperatorBoxes = new QComboBox*[nChannel+1]; QComboBox** imgOperatorBoxes = new QComboBox*[nChannel+1]; - QLineEdit** exprEdits = new QLineEdit*[nChannel+1]; + MyQLineEdit** exprEdits = new MyQLineEdit*[nChannel+1]; MixImageListBox** imageBoxes = new MixImageListBox*[nChannel+1]; QWidget* pixelWidget = new QWidget(dialog); + QWidget* imgWidget = new QWidget(dialog); valueLayouts[0] = new QHBoxLayout(); pixOperatorBoxes[0] = new QComboBox(pixelWidget); pixOperatorBoxes[0]->setWhatsThis(qApp->translate("PointOp", "Supported operations list which takes a value as operand: \n The input operand will be rounded down for shift operations")); - imgOperatorBoxes[0] = new QComboBox(pixelWidget); + imgOperatorBoxes[0] = new QComboBox(imgWidget); imgOperatorBoxes[0]->setWhatsThis(qApp->translate("PointOp", "Supported operations list whick takes an image as operand: \n The bit-wise NOT operation will automatically ignore the second image")); + if(currentWnd->isStandard()){ pixOperatorBoxes[0]->addItems(pixOperators); - } - if(currentWnd->isDouble()){ + imgOperatorBoxes[0]->addItems(imgOperators); + }else{ pixOperatorBoxes[0]->addItems(pixDoubleOperators); + imgOperatorBoxes[0]->addItems(imgDoubleOperators); } - imgOperatorBoxes[0]->addItems(imgOperators); - exprEdits[0] = new QLineEdit(pixelWidget); + + exprEdits[0] = new MyQLineEdit(pixelWidget); exprEdits[0]->setFixedWidth(64); +/*************************************************************/ +/*Overwrite QLineEdit class, send signals according to the change of combobox content to determine the corresponding supported input data type*/ + QObject::connect(pixOperatorBoxes[0], SIGNAL(currentTextChanged(QString)), exprEdits[0], SLOT(updateValidator(QString))); + QObject::connect(imgOperatorBoxes[0], SIGNAL(currentTextChanged(QString)), exprEdits[0], SLOT(updateValidator(QString))); +/*************************************************************/ imageBoxes[0] = new MixImageListBox(pixelWidget, currentImgName.toStdString(), stdImgList, dblImgList); valueLayouts[0]->addWidget(new QLabel(currentImgName, pixelWidget)); valueLayouts[0]->addWidget(pixOperatorBoxes[0]); @@ -228,14 +243,15 @@ void PointOp::operator()(const ImageWindow* currentWnd, const vector<const Image imgOperatorBoxes[i] = new QComboBox(colorWidget); if(currentWnd->isStandard()){ pixOperatorBoxes[i]->addItems(pixOperators); - } - if(currentWnd->isDouble()){ + imgOperatorBoxes[i]->addItems(imgOperators); + }else{ pixOperatorBoxes[i]->addItems(pixDoubleOperators); + imgOperatorBoxes[i]->addItems(imgDoubleOperators); } - - imgOperatorBoxes[i]->addItems(imgOperators); - exprEdits[i] = new QLineEdit(colorWidget); + exprEdits[i] = new MyQLineEdit(colorWidget); exprEdits[i]->setFixedWidth(64); + QObject::connect(pixOperatorBoxes[i], SIGNAL(currentTextChanged(QString)), exprEdits[i], SLOT(updateValidator(QString))); + QObject::connect(imgOperatorBoxes[i], SIGNAL(currentTextChanged(QString)), exprEdits[i], SLOT(updateValidator(QString))); imageBoxes[i] = new MixImageListBox(colorWidget, currentImgName.toStdString(), stdImgList, dblImgList); valueLayouts[i]->addWidget(new QLabel(currentImgName+"::"+Tools::colorName(i-1, nChannel), colorWidget)); valueLayouts[i]->addWidget(pixOperatorBoxes[i]); @@ -292,109 +308,125 @@ void PointOp::operator()(const ImageWindow* currentWnd, const vector<const Image unsigned int maxWidth = image->getWidth(); unsigned int maxHeight = image->getHeight(); - - Image_t<double>* resImg; + Image_t<double>* resDoubleImg; + Image* resImg; if(valueButton->isChecked()) { - DoublePixelOp** pixelOps = new DoublePixelOp*[nChannel]; + PixelOp** pixelOps = new PixelOp*[nChannel]; + DoublePixelOp** doublePixelOps = new DoublePixelOp*[nChannel]; if(!colorBox->isChecked()) { QString expr = exprEdits[0]->text(); - DoublePixelOp* pixelOp = DoublePixelOp::fromString(pixOperatorBoxes[0]->currentText(), expr); - for(int i=0; i<nChannel; ++i) pixelOps[i] = pixelOp; + PixelOp* pixelOp = PixelOp::fromString(pixOperatorBoxes[0]->currentText(), expr); + DoublePixelOp* doublePixelOp = DoublePixelOp::fromString(pixOperatorBoxes[0]->currentText(), expr); + for(int i=0; i<nChannel; ++i){ + pixelOps[i] = pixelOp; + doublePixelOps[i] = doublePixelOp; + } } else { for(int i=0; i<nChannel; ++i) { QString expr = exprEdits[i+1]->text(); - pixelOps[i] = DoublePixelOp::fromString(pixOperatorBoxes[i+1]->currentText(), expr); + pixelOps[i] = PixelOp::fromString(imgOperatorBoxes[i+1]->currentText(), expr); + doublePixelOps[i] = DoublePixelOp::fromString(imgOperatorBoxes[i+1]->currentText(), expr); } } - resImg = new Image_t<double>(image->getWidth(), image->getHeight(), nChannel); + resImg = new Image(image->getWidth(), image->getHeight(), nChannel); + resDoubleImg = new Image_t<double>(image->getWidth(), image->getHeight(), nChannel); for(int c = 0; c < nChannel; ++c) { for(unsigned int j = 0; j < image->getHeight(); ++j) { for(unsigned int i = 0; i < image->getWidth(); ++i) { - double value = image->getPixel(i, j, c); - value = pixelOps[c]->operator()(value); - resImg->setPixel(i, j, c, value); + if(dblResult){ + double value1 = image->getPixel(i, j, c); + double value2 = doublePixelOps[c]->operator()(value1); + resDoubleImg->setPixel(i, j, c, value2); + }else{ + int value1 = image->getPixel(i, j, c); + int value2 = pixelOps[c]->operator()(value1); + resImg->setPixel(i, j, c, value2); + } } } } } else { - DoubleImageOp** imageOps = new DoubleImageOp*[nChannel]; /*The double image process exist already, but cases of standard images is ignored*/ - ImageOp** imageOpsStd = new ImageOp*[nChannel]; + ImageOp** stdImageOps = new ImageOp*[nChannel]; + DoubleImageOp** dblImageOps = new DoubleImageOp*[nChannel]; + bool isDblImg[nChannel]; const Image_t<double>* dblImageImgs[nChannel]; const Image* stdImageImgs[nChannel]; if(!colorBox->isChecked()) { - DoubleImageOp* imageOp = DoubleImageOp::fromString(imgOperatorBoxes[0]->currentText()); - for(int i=0; i<nChannel; ++i) imageOps[i] = imageOp; + DoubleImageOp* dblImageOp = DoubleImageOp::fromString(imgOperatorBoxes[0]->currentText()); + ImageOp* stdImageOp = ImageOp::fromString(imgOperatorBoxes[0]->currentText()); + for(int i=0; i<nChannel; ++i){ + stdImageOps[i] = stdImageOp; + dblImageOps[i] = dblImageOp; + } if(imageBoxes[0]->currentType() == MixImageListBox::DBLIMG) { - const Image_t<double>* imageImg = imageBoxes[0]->getDblImage(imageBoxes[0]->currentText().toStdString()); + const Image_t<double>* dblImg = imageBoxes[0]->getDblImage(imageBoxes[0]->currentText().toStdString()); for(int i=0; i<nChannel; ++i) { - dblImageImgs[i] = imageImg; + dblImageImgs[i] = dblImg; isDblImg[i] = true; } - maxWidth = min(maxWidth, imageImg->getWidth()); - maxHeight = min(maxHeight, imageImg->getHeight()); + maxWidth = min(maxWidth, dblImg->getWidth()); + maxHeight = min(maxHeight, dblImg->getHeight()); } else { - const Image* imageImg = imageBoxes[0]->getStdImage(imageBoxes[0]->currentText().toStdString()); - ImageOp* imageOpStd = ImageOp::fromString(imgOperatorBoxes[0]->currentText()); + const Image* stdImg = imageBoxes[0]->getStdImage(imageBoxes[0]->currentText().toStdString()); for(int i=0; i<nChannel; ++i) { - imageOpsStd[i] = imageOpStd; - stdImageImgs[i] = imageImg; + stdImageImgs[i] = stdImg; isDblImg[i] = false; } - maxWidth = min(maxWidth, imageImg->getWidth()); - maxHeight = min(maxHeight, imageImg->getHeight()); + maxWidth = min(maxWidth, stdImg->getWidth()); + maxHeight = min(maxHeight, stdImg->getHeight()); } - } else { for(int i=0; i<nChannel; ++i) { - imageOps[i] = DoubleImageOp::fromString(imgOperatorBoxes[i+1]->currentText()); + stdImageOps[i] = ImageOp::fromString(imgOperatorBoxes[i+1]->currentText()); + dblImageOps[i] = DoubleImageOp::fromString(imgOperatorBoxes[i+1]->currentText()); if(imageBoxes[i+1]->currentType() == MixImageListBox::DBLIMG) { - const Image_t<double>* imageImg = imageBoxes[i+1]->getDblImage(imageBoxes[i+1]->currentText().toStdString()); + const Image_t<double>* dblImg = imageBoxes[i+1]->getDblImage(imageBoxes[i+1]->currentText().toStdString()); for(int i=0; i<nChannel; ++i) { - dblImageImgs[i] = imageImg; + dblImageImgs[i] = dblImg; isDblImg[i] = true; } - maxWidth = min(maxWidth, imageImg->getWidth()); - maxHeight = min(maxHeight, imageImg->getHeight()); + maxWidth = min(maxWidth, dblImg->getWidth()); + maxHeight = min(maxHeight, dblImg->getHeight()); } else { - const Image* imageImg = imageBoxes[i+1]->getStdImage(imageBoxes[i+1]->currentText().toStdString()); + const Image* stdImg = imageBoxes[i+1]->getStdImage(imageBoxes[i+1]->currentText().toStdString()); for(int i=0; i<nChannel; ++i) { - stdImageImgs[i] = imageImg; + stdImageImgs[i] = stdImg; isDblImg[i] = false; } - maxWidth = min(maxWidth, imageImg->getWidth()); - maxHeight = min(maxHeight, imageImg->getHeight()); + maxWidth = min(maxWidth, stdImg->getWidth()); + maxHeight = min(maxHeight, stdImg->getHeight()); } } } - resImg = new Image_t<double>(maxWidth, maxHeight, nChannel); + + resImg = new Image(maxWidth, maxHeight, nChannel); + resDoubleImg = new Image_t<double>(maxWidth, maxHeight, nChannel); for(int c = 0; c < resImg->getNbChannels(); ++c) { for(unsigned int j = 0; j < resImg->getHeight(); ++j) { for(unsigned int i = 0; i < resImg->getWidth(); ++i) { - double value1 = image->getPixel(i, j, c); - double value2; if(isDblImg[c]) { + double value1 = image->getPixel(i, j, c); const unsigned int channel = (c < dblImageImgs[c]->getNbChannels() ? c : 0); - value2 = dblImageImgs[c]->getPixel(i, j, channel); + double value2 = dblImageImgs[c]->getPixel(i, j, channel); + double resVal = dblImageOps[c]->operator()(value1, value2); + resDoubleImg->setPixel(i, j, c, resVal); } else { + int value1 = image->getPixel(i, j, c); const unsigned int channel = (c < stdImageImgs[c]->getNbChannels() ? c : 0); - value2 = stdImageImgs[c]->getPixel(i, j, channel); + int value2 = stdImageImgs[c]->getPixel(i, j, channel); + int resVal = stdImageOps[c]->operator()(value1, value2); + resImg->setPixel(i, j, c, resVal); } - if(isDblImg[c]){ - value1 = imageOps[c]->operator()(value1, value2); - }else{ - value1 = imageOpsStd[c]->operator()(value1, value2); - } - resImg->setPixel(i, j, c, value1); } } } @@ -402,15 +434,15 @@ void PointOp::operator()(const ImageWindow* currentWnd, const vector<const Image if(dblResult) { if(currentDblWnd) { - this->outDoubleImage(resImg, "", currentDblWnd->isNormalized(), currentDblWnd->isLogScaled()); + this->outDoubleImage(resDoubleImg, "", currentDblWnd->isNormalized(), currentDblWnd->isLogScaled()); } else { - this->outDoubleImage(resImg, "", false, false); + this->outDoubleImage(resDoubleImg, "", false, false); } delete image; } else { - Image * charResImg; + Image* charResImg; bool _scaling = scalingBox->isChecked(); bool _offset = offsetBox->isChecked(); std::string outputMessage = ""; @@ -425,9 +457,8 @@ void PointOp::operator()(const ImageWindow* currentWnd, const vector<const Image charResImg = Converter<Image>::convertAndOffset(*intResImg, &outputMessage); } else{ - charResImg = Converter<Image>::convertAndRound(*resImg); + charResImg = Converter<Image>::convert(*resImg); outputMessage = qApp->translate("Operations","Pas de conversion [min : 0, max : 255]").toStdString(); - } this->outText(outputMessage); this->outText("-------------------------------------------"); diff --git a/app/Operations/PointOp.h b/app/Operations/PointOp.h index c9b2a12..5621ddc 100644 --- a/app/Operations/PointOp.h +++ b/app/Operations/PointOp.h @@ -24,6 +24,7 @@ #include <map> #include <limits> #include <QCoreApplication> + #include "Operation.h" #include "Image.h" @@ -50,6 +51,9 @@ class PointOp : public GenericOperation { return static_cast<depth_t>(value); } +/*---------------------------------------------------------------------- + Pixel Operation Templates +----------------------------------------------------------------------*/ struct PixelOp { virtual depth_t operator()(depth_t pixel) { return normalize(this->op(pixel)); @@ -66,7 +70,9 @@ class PointOp : public GenericOperation { static DoublePixelOp* fromString(QString op, QString expr); double value; }; - +/*---------------------------------------------------------------------- + Pixel Identical Operation +----------------------------------------------------------------------*/ struct PixIdent : PixelOp { intmax_t op(depth_t pixel) { return pixel; } }; @@ -81,8 +87,12 @@ class PointOp : public GenericOperation { T value; }; - struct PixAdd : PixOp_t<int> { - PixAdd(int value_) : PixOp_t<int>(value_) {} +/*---------------------------------------------------------------------- + Pixel Arithmetic Operations +----------------------------------------------------------------------*/ + /*Subtraction and division are based on addition and multiplication, by processing the operand.*/ + struct PixAdd : PixOp_t<depth_t> { + PixAdd(double value_) : PixOp_t<depth_t>(value_) {} intmax_t op(depth_t pixel) { return pixel + value; } }; @@ -91,9 +101,11 @@ class PointOp : public GenericOperation { double op(double pixel) { return pixel + value; } }; - struct PixMul : PixOp_t<double> { - PixMul(double value_) : PixOp_t<double>(value_) {} - intmax_t op(depth_t pixel) { return pixel * value + 0.5; } + /*WHY + 0.5 ????? */ + struct PixMul : PixOp_t<depth_t> { + PixMul(double value_) : PixOp_t<depth_t>(value_) {} +// intmax_t op(depth_t pixel) { return pixel * value + 0.5; } + intmax_t op(depth_t pixel) { return pixel * value ; } }; struct DoublePixMul : DoublePixelOp { @@ -101,66 +113,81 @@ class PointOp : public GenericOperation { double op(double pixel) { return pixel * value; } }; - struct PixLogicalAnd : PixOp_t<depth_t> { - PixLogicalAnd(depth_t value_) : PixOp_t<depth_t>(value_) {} - intmax_t op(depth_t pixel) { return pixel && value; } +/*---------------------------------------------------------------------- + Pixel AND +----------------------------------------------------------------------*/ + struct PixBitwiseAnd : PixOp_t<depth_t> { + PixBitwiseAnd(depth_t value_) : PixOp_t<depth_t>(value_) {} + intmax_t op(depth_t pixel) { return pixel & value; } }; - /*Return zero if the operands have zero*/ + /*Return zero only if any of operands is zero*/ + struct PixLogicalAnd : PixOp_t<depth_t> { + PixLogicalAnd(int value_) : PixOp_t<depth_t>(value_) {} + intmax_t op(depth_t pixel) { return (pixel==0 or value==0) ? 0 : pixel; } + }; struct DoublePixLogicalAnd : DoublePixelOp { - DoublePixLogicalAnd(double value_) : DoublePixelOp(value_) {} + DoublePixLogicalAnd(int value_) : DoublePixelOp(value_) {} double op(double pixel) { return (pixel==0 or value==0) ? 0 : pixel; } }; - - /*There's no not logic for double value*/ - struct PixNot : PixOp_t<depth_t> { - PixNot(depth_t value_) : PixOp_t<depth_t>(value_) {} +/*---------------------------------------------------------------------- + Pixel NOT +----------------------------------------------------------------------*/ + /*Logical flipping takes the complementary value to 255*/ + struct PixLogicalNot : PixOp_t<depth_t> { + PixLogicalNot(depth_t value_) : PixOp_t<depth_t>(value_) {} intmax_t op(depth_t pixel) { return 255 - pixel; } }; - + struct DoublePixLogicalNot : DoublePixelOp { + DoublePixLogicalNot(double value_) : DoublePixelOp(value_) {} + double op(double pixel) { return 255. - pixel; } + }; +/*---------------------------------------------------------------------- + Pixel OR +----------------------------------------------------------------------*/ + struct PixBitwiseOr : PixOp_t<depth_t> { + PixBitwiseOr(depth_t value_) : PixOp_t<depth_t>(value_) {} + intmax_t op(depth_t pixel) { return pixel | value; } + }; + /*Return zero only if the operands are both zero*/ struct PixLogicalOr : PixOp_t<depth_t> { PixLogicalOr(depth_t value_) : PixOp_t<depth_t>(value_) {} - intmax_t op(depth_t pixel) { return pixel || value; } + intmax_t op(depth_t pixel) { return (pixel==0 and value==0) ? 0 : pixel; } }; - - /*Return zero only if the operands are both zero*/ struct DoublePixLogicalOr : DoublePixelOp { - DoublePixLogicalOr(double value_) : DoublePixelOp(value_) {} + DoublePixLogicalOr(int value_) : DoublePixelOp(value_) {} double op(double pixel) { return (pixel==0 and value==0) ? 0 : pixel; } }; - +/*---------------------------------------------------------------------- + Pixel XOR +----------------------------------------------------------------------*/ + struct PixBitwiseXor : PixOp_t<depth_t> { + PixBitwiseXor(depth_t value_) : PixOp_t<depth_t>(value_) {} + intmax_t op(depth_t pixel) { return pixel ^ value; } + }; + /*Return zero only if the operands have the same value*/ struct PixLogicalXor : PixOp_t<depth_t> { PixLogicalXor(depth_t value_) : PixOp_t<depth_t>(value_) {} intmax_t op(depth_t pixel) { return (pixel==value) ? 0 : pixel; } }; - - /*Return zero only if the operands have the same value*/ struct DoublePixLogicalXor : DoublePixelOp { - DoublePixLogicalXor(double value_) : DoublePixelOp(value_) {} + DoublePixLogicalXor(int value_) : DoublePixelOp(value_) {} double op(double pixel) { return (pixel==value) ? 0 : pixel; } }; - -// struct PixLshift : PixOp_t<depth_t> { -// PixLshift(depth_t value_) : PixOp_t<depth_t>(value_) {} -// intmax_t op(depth_t pixel) { return pixel << value; } -// }; - -// struct PixRshift : PixOp_t<depth_t> { -// PixRshift(depth_t value_) : PixOp_t<depth_t>(value_) {} -// intmax_t op(depth_t pixel) { return (int)pixel >> (int)value; } -// }; - - struct PixLshift : DoublePixelOp { - PixLshift(depth_t value_) : DoublePixelOp(value_) {} - double op(double pixel) { return (int)pixel << (int)value; } +/*---------------------------------------------------------------------- + Pixel Shifting +----------------------------------------------------------------------*/ + struct PixLshift : PixOp_t<depth_t> { + PixLshift(depth_t value_) : PixOp_t<depth_t>(value_) {} + intmax_t op(depth_t pixel) { return pixel << value; } }; - - struct PixRshift : DoublePixelOp { - PixRshift(depth_t value_) : DoublePixelOp(value_) {} - double op(double pixel) { return (int)pixel >> (int)value; } + struct PixRshift : PixOp_t<depth_t> { + PixRshift(depth_t value_) : PixOp_t<depth_t>(value_) {} + intmax_t op(depth_t pixel) { return pixel >> value; } }; - - +/*---------------------------------------------------------------------- + Image Operation Templates +----------------------------------------------------------------------*/ struct ImageOp { virtual depth_t operator()(depth_t pixel1, depth_t pixel2) { return normalize(this->op(pixel1, pixel2)); @@ -176,14 +203,18 @@ class PointOp : public GenericOperation { virtual double op(double pixel1, double pixel2) = 0; static DoubleImageOp* fromString(QString op); }; - +/*---------------------------------------------------------------------- + Image Identical Operations +----------------------------------------------------------------------*/ struct ImgIdent : ImageOp { intmax_t op(depth_t pix1, depth_t pix2) { return pix1; } }; struct DoubleImgIdent : DoubleImageOp { double op(double pix1, double pix2) { return pix1; } }; - +/*---------------------------------------------------------------------- + Image Arithmetic Operations +----------------------------------------------------------------------*/ struct ImgAdd : ImageOp { intmax_t op(depth_t pix1, depth_t pix2) { return pix1 + pix2; } }; @@ -212,42 +243,48 @@ class PointOp : public GenericOperation { struct DoubleImgDiv : DoubleImageOp { double op(double pix1, double pix2) { return pix1 / pix2; } }; - - struct ImgBitAnd : ImageOp { +/*---------------------------------------------------------------------- + Image AND +----------------------------------------------------------------------*/ + struct ImgBitwiseAnd : ImageOp { intmax_t op(depth_t pix1, depth_t pix2) { return pix1 & pix2; } }; - struct DoubleImgBitAnd : DoubleImageOp { - double op(double pix1, double pix2) { return (pix1==0 or pix2==0) ? 0 : pix1;} + struct ImgLogicalAnd : ImageOp { + intmax_t op(depth_t pix1, depth_t pix2) { return (pix1==0 || pix2==0) ? 255 : pix1; } }; - /*To keep the symmetry of the interface, BitNot was categorized as an image operation - But for the negation operation, the second operand is unnecessary*/ - struct ImgBitNot : ImageOp { - intmax_t op(depth_t pix1, depth_t pix2) { return 255 - pix1; } + struct DoubleImgLogicalAnd : DoubleImageOp { + double op(double pix1, double pix2) { return (pix1==0 || pix2==0) ? 255 : pix1; } + }; +/*---------------------------------------------------------------------- + Image OR +----------------------------------------------------------------------*/ + struct ImgBitwiseOr : ImageOp { + intmax_t op(depth_t pix1, depth_t pix2) { return pix1 | pix2; } }; - /*DoubleImgBitNot is defined to reconcile two operators in different types*/ - struct DoubleImgBitNot : DoubleImageOp { - double op(double pix1, double pix2) { return 255 - pix1; } + struct ImgLogicalOr : ImageOp { + intmax_t op(depth_t pix1, depth_t pix2) { return (pix1==0 && pix2==0) ? 255 : pix1; } }; - struct ImgBitOr : ImageOp { - intmax_t op(depth_t pix1, depth_t pix2) { return pix1 | pix2; } + struct DoubleImgLogicalOr : DoubleImageOp { + double op(double pix1, double pix2) { return (pix1==0 && pix2==0) ? 255 : pix1; } }; - - struct DoubleImgBitOr : DoubleImageOp { - double op(double pix1, double pix2) { return (pix1==0 and pix2==0) ? 0 : pix1;} +/*---------------------------------------------------------------------- + Image XOR +----------------------------------------------------------------------*/ + struct ImgBitwiseXor : ImageOp { + intmax_t op(depth_t pix1, depth_t pix2) { return pix1 ^ pix2; } }; - struct ImgBitXor : ImageOp { - intmax_t op(depth_t pix1, depth_t pix2) { return pix1 ^ pix2; } + struct ImgLogicalXor : ImageOp { + intmax_t op(depth_t pix1, depth_t pix2) { return (pix1==pix2) ? 255 : pix1; } }; - struct DoubleImgBitXor : DoubleImageOp { - double op(double pix1, double pix2) { return (pix1 == pix2) ? 0 : pix1; } + struct DoubleImgLogicalXor : DoubleImageOp { + double op(double pix1, double pix2) { return (pix1==pix2) ? 255 : pix1; } }; - }; #endif //!PointOp_H diff --git a/app/Operations/SinusSynthesisOp.cpp b/app/Operations/SinusSynthesisOp.cpp index 7fead05..5d250ae 100644 --- a/app/Operations/SinusSynthesisOp.cpp +++ b/app/Operations/SinusSynthesisOp.cpp @@ -73,6 +73,8 @@ void SinusSynthesisOp::operator()(const imagein::Image*, const std::map<const im colorBox->addItem(qApp->translate("SinusSynthesisOp", "2 (Black and white)")); layout->insertRow(0, radioGroup); layout->insertRow(1, qApp->translate("SinusSynthesisOp", "Image size (width=height) : "), sizeBox); + /*Set the default initial size to 512*512 */ + sizeBox->setValue(512); layout->insertRow(2, qApp->translate("SinusSynthesisOp", "Signal period (pixel) : "), periodBox); QLabel* orientationLabel = new QLabel(qApp->translate("SinusSynthesisOp", "Orientation (°): ")); layout->insertRow(3, orientationLabel, angleBox); diff --git a/app/Operations/SplitHsvOp.cpp b/app/Operations/SplitHsvOp.cpp index 28e2dd2..3a3b41d 100644 --- a/app/Operations/SplitHsvOp.cpp +++ b/app/Operations/SplitHsvOp.cpp @@ -56,14 +56,12 @@ void SplitHsvOp:: operator()(const imagein::Image* image, const std::map<const i resImgH->setPixelAt(i,j,color.hue()); resImgS->setPixelAt(i,j,color.saturation()); resImgV->setPixelAt(i,j,color.value()); - } } this->outDoubleImage(resImgH, "Hue",false,false); this->outDoubleImage(resImgS, "Saturation",false,false); this->outDoubleImage(resImgV, "Value",false,false); - } diff --git a/app/img/qcolor-hsv.png b/app/img/qcolor-hsv.png new file mode 100644 index 0000000000000000000000000000000000000000..83494ad6d9ca5575711fb3cabf5b1a288975d851 GIT binary patch literal 115862 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%0A;abCbrtX^EFAuV znvtQ9ckv4n7ab1%mfV)$pdiOWqAosY^QTWoRE_eDs)!PZU(YuSTk%Uv%XBeB{DYqv zg;=jy^Pa-|rlH5HTn~Oos?nQ>K<Jn3*H1MBiB3E^m;nQr04-m#<R!${?F-zA0H}<Z zxHDGXy?duzHpDe}JaDmgnqaBJn;fj=po7sIB^9p}Tp-|w@eB}0OPN7vMc&2NGeeAb zGh*aOCh;6H{3K|*TytI!jtdPjK1TKPDboPf62zZ5M-84nevE@~3q^RVH-00O$zj#C z415udg%w}*Xb`Em+{2{9*+-01i5yVM!+P;zs0DYTmA`!aDDKjTpcdNh2zB*~)y?y- z6Cr5edY=fT@<#1i*qRU<3u)$;Ul)KI!!5-CGcg!XOK<oNIHKb;`gQ($fsI~Ll2S-T zTJ%(dN4Y!R-0EX+6n_~Z^|u0x-~#_0kJ4vKsl0$D2&n`4SV#qR6*P}=kCI?fnsOtc zu|?c|!*{}Y3{n%=*zs>9U#{lkeDE~*kp%x@`g~$S+f@{(`}Xfg=hmd5_P((ZhCg1T zyQi7OHiq;Wh+|RB)2BcCHe{8wn&&Ey*<P3Ry>w)9^Q)^9Mvq=gCzeuP?4j5wwPyGC zb(``-y__2DzMWice`UxIjS%+`H=P%vx<BNO9ZktNeCgxOu3qz|euWsOpLjb|^tJuU zq@mu4u#O)-w27T&WR&;##0XL0v9I$I{oDs#{Z#v_PGyF(s<^6k-j4X0n{=&Zirg=K z-Et;v|DR7QR(N=MnRf@2ylB}@ysM)XvPK$@X*BBUO4m!*AC~WSN}!Zv(vOr%TpSac z;u}7evG>u50g6La;J>`xJlRxAFk!H;2%B|W!Pvi(e{Z3@BSdPL*f1lb9b6v*A45lV z^%Kl_Ui;KS8cfqTla=)q!B|PuP;hzJM8c-&$B*wo1!Wy>mip^MTJ+(>M8F0j3FGM$ zVTDLI*0}X(XbAorGnrY(#nBICI+<_XI(cR+WelOWqb^vI>M7Tw0pdK_aiT)M=C@|4 z6^|d2tnP62TwOoFdT@rU7&jUYV!B!X1E1*!+rEG2O%xUuk}<DzpLx1g5Xzk8M1CR= z5FIy2EsyHW+<e-w%Ijb9(ZSCAun$Qf3SxmDJQ6&18Suh<74(?Auz>+P7MS(PU_y28 z-qeof2{`4(&3gOk({^eK?h0OX46vyO%r@P9yIFsrq1ivTa<TLCPup_gx$U+2I}FV* zDn>fjT$5)wX3X5<HbhIh=4Q}Rhdx-EBEP+T8*qUs4{>;S2o*2Kv~CR9ozU}+>?Q`2 z_&{7-Z*8mNHt-5ymPP6g0N~`qd?8IQZv674_SrL+EC=zveXp#qM*2g3=97@Lp@8XK zoPTBG>p!i<l6WNKrQt#8U~3y9n2KQC-@9EPrm-kDhwcTYTWRQ$Ew5&?Pjv4LXWDg0 z&vMm}i3yLqqKS#gh7B!(<`6nQW4gtQuQ`|WXKrb8x^eSwLa^yn7(r9e$qCdOd$A0< ze#1Z-)ZyvViOe%g8h-!z1E+3_{t;YoT&)}&99FETh4q%Rc#NqO2^2xml&#;=XC436 z+IqLFtb^eLIK7xM?mPv*-winx;N~_;tR_lMQ4t3&1=k;N-su>S9V{FjM`%8hnp#39 z=LvD<sMTP3dAGrPq|nxv{i8LOp{wSDz&<LjXW9-^r`l2H=A24bUCO(&r%uVWxgNFh zA(0Qah{BuqtnKKK3OozZlJ=TpBa;)*-9?~L38D0%^GCHQuDLfNqKw#$^Sh|F0pTo^ zT&z4ZR%ZIvZQF>)29qaG$BJK6l=)uCdo!Iz%0|?ksmB?^!Xcz#<ePr34J3ubcH#qp z+lP~rsu^{T3w<EntIozgLC>?-NZweARG7R>J^!?-iZ_N$8Rx@1tpCnmPGQyS^F5m$ zU8(i|1P|5bG+-6wp+&!+@`GHmuU@=pbD@g);joa6q$+}DTIDI5)BH;QzR4I?n+T-f z%#@+bpd=fA$nkmfG={QvcG#O#(eCr{1Se6Js!dC5)`cn`FRwnk%$Sf`s}rW*=uaKL z9;1iim07~Qd+&U{Xz}80KR#5Zrm8v^ah6(Ip1SHHY0fmZO{+YD99FoBUj-%~*i?G^ z_6SYQPoFLnY+S#7n%KlilLSSck<l^@8MH3ne)~!F-71*KZ1(o%(@6`b;ABIqC?hh1 zLyegXANOpfD|mrGt1b^#Bl2EGgJITQg$XVerly62nhZP59|9as;LlL?^r>nHc~Q^- za_56oi1~<LNTj3yd`kY=j9_MIE#OFADCoMz3K$XUfv1eqc;NV}urmhX-HTVR&e@#i z!gI<F96B`lk>m3D^JDh!e_UIOjLV15&U5EBC5#{5P;B~Ec>5veW{FTIj-b_Hoqvw+ zj^oyE*zoqNulOz~&JxAYd?Ic$-&C5owm*mzi%KqG1oQjV)h(IE2jk+fAB~3uvia)L z<2DQJ?2>SN%FZ6BD*R$ekV@V8mqR3pr_lQF4WRC8^2Aa==_*RS0|yQse4$y5sJ-RI zM7dHj0I+7D0+gGR94;4^sPzx|VpR1rPoH)pJhdKkdO39KxUk}^_9WU}g-95aD)&Em z3XBy@%3n_0hIttPsQ9j;>S}o_SESq+y1_Wz*t_>$C%MmtWlF8%mgl-V0keS&QZHT6 zlx~*pX(|;VJNB^A8t;#Vwtj=GqDBtbDb=!ljg`ge;;%!ln@U=QPkZjR_r=VZs+muA zc6B|hwLiDC{?n(~#cpD%4io*4i*#S<d3k2ygUe3EBC+XR-{S3;E?a%lYP#}N&tDDm z&e$xd%q|zqS`7xq*oDkbySrV+OlGIM?3o)oTWaUswhAW@RG(Uv*m~SV#UXE7PU$Ma zVw2^5UvH0DavA=`Yp;$Zvs9tgYa!p##F+MJK}xzwS7D&EG-fzq#dK6Cp8ghecN8E2 z-*XIQT=MqMS7FOp!uj?z*k39$WXKSK_#RhtKW3%`srUB}IqM}(RER_c&oeC4^kOxU zppRD>m$UdNeNs|V*WKaKIDKGVujP;#s8)*iTg5J7INEU0u@t7TF@SoJQ{qiXv~K&f z!_SW|-+svwRzrY6YynS0Z-~3dxI_0TuBq_p11&5p1`3b+=HRHS(BATrn&lE&fT_uw zvK*SNhRQ~aFf_bQ?$0Vw+JeX}@qyY*VAJhH1mpoU+=qy}KzbT`Xvof-J14wdCZrQ& z8087qqe0)F2g^}7x8%x3uohucex<<Jlx7`LF~y{8#BF#d7~&{Ip1{b9bOrX$tQ~Z| z!T^&@ts6U4!ofHQSX6!0hN8upI3~jE!wEoMA{72upMmONcj)o6tB>HPfUT6pS()T= zR6llZZl~v{&$hB6x22f9+k6%B1SB@brd04Z7;4jqAiok&cBQ0*q6Kyi@a1RE-qP3t z$U|Wp)_*8SQZJiD+12Ol&XO>!lBaISu7>ldir1Q6BK(^09K?H<YR^Azg46}-T(j*{ z2A4QU1&(h1pO2bS<zhjo+x(^~AGjVR1MH-uq45C`hRRjq*6ibt2x^$rtkp%xZ$o)d zXS*uP0ZszVjGTf3Wi6Kvj2q6Fp<!a7<CNB$y;f%Bk_oU*p`$*e>t=(p(9Nxh;oDG{ zy5kQ$di<Dlmq>3DX^;x<COUc^hm@Wbd`MvDQ1b;Ie}8dt3}@u!<;f+??!UIT(|WTx zp{#5j)G>e%(jq4gV^uZ3=8qq*v9$o{;!J@jzGBleODTL!0~3t;hYiFLXYk;WvJuGO z8Dar}&~nU?3b8twR_O}m3Duc<N)Pv|uRyjj6##eo=PDweu#|@&aMq=*Jf#|?I5{>c zX{wgW9u=_+yV<d;&<zkG1eRXdfZ=Yzu8rAa<7cbkJP2d@BMLG87X=T!3syQ%L}4sB zmqe|0aiI#Mo#l`T&^U)op=a`NPX-T;2PIl)Z$EOxh+QEe62rg3kJ*-or8pXu+r`Ds zj*f5*D9Gm0tCW_WPD#00UA-030SrM*5vfiEl8QckXtAzxcd+y9Z}*8{P31=DQiVC< zl8woSTnj}T`<6<+G8SP*RC4nScJj2)=#bV|kEe?u^K*EMG?l#Mg!lw{n~+kKnFd_p z>*XpRwL&aWMXv;|jb;R^6?zX>Gg^DT31%9y+RHIvryM3&SVWeF^uFhkP5z;7-K?*e zJ3XyZVz?EWSJsBzURk|e+NJRB%BO25no5x_iZdx{5x{Wg***p@2}2iRzF{G%&xKTK zl&!RRC@rQ9qh_4r;gMycf|~dSaSsQa6gOgaYHE-Ex45m2I(OfG<0(ST!UWRV8XW^2 zqe|SY?c26_e|~i+CT0L0AEdR4icEAFG(Q*~gGh2WC`~DYz$fT=DOWvxe9R-<6@9jB z89wuyo~<%-DblD^o-F=NI&zk=T4Toa_Nc@P@}H!2PNLpi3^eDQz&Zo|$Nv2|L*l7; zdBaPJ3}{w@@9xo~@qiVXb9dSZEZ#Z8jye@ho)v#^M&rU?MMg4i+<YXc&scImz({=X zj3Nd`5HXSZ6I-90#YT@736*$Qd%t=oL>c4L)wvY}!2J&@Q3QjZ4KP#z8HN%QdE$9_ zxwgK(+}?dinJ9|L`gXmL3`$Aqz(O4xf7b3Szq1-Y;>Jc{wPIX6!X`s=+GuWH=8}#1 z6|SG~zX+_9fPfF7S$F&Q>o-8yskV+#!}a<QM}7Y3=N}FnH6MaEh@W7H+#;u`_t|0P z>Kd+A3hRd>Mp|*jO$_T?o}*snUGA2kozjpYlvadr;t)UyurIz4|0%)e-DL*As|t0p zZc!fXCs82W9-oOuC8~jNz@+LRGY7gh-H*?L8gi#;ZEcE+-z?iG*X4Gz|4Nzte+n~= zK6a!`{bpD&_nfTxieaAeTP3%Ryg%o8!KUsMZyhy#WcxMcB6&_iiw|=RY27o}Wb-Ip zUnDr+yG2=j?qR<lAL_H$<mWv-5tSHX^xZ;6ZrXgAVduJ4H=2I9-aSrnfZipiULQX@ zZTkCW;qFG!hG8l1Z?F7H_;DM5hz$h$LFRs9!Hwtt)$78O8Hg86V5)S=LqRSS<uj(3 zM7AImRM%io`4s;86VavcEg{R&AI1*^ddsWoIu!|n`%rEKPZ}IK1N#<=#S<E5u*4)M zu*Bn189slcPMR&SYUtQJ15%j4{sEamlP9e14oYSEM9Cki?oo&@LOza@gFEkH@_>i? z&w@5t*DZG1Fj%R0G*5|VylSE%6m*N`+Wq;*dGl>S_85e+Ot7WC9@?j=l=r4d`%68k z)d>@SJK8ayer^T8hG2z%LAbzWsK+43>}r89QdSOJ76fC~2U<&J<0K*En}bw!_4UCw zDJ%ylC~Tu-KW=lCCQGpdBP0N&yQ)-YsG|hl3yfwFU}f&;ZK*I(;Q<B@DLvI@!lS|M zf{k?S>+64R&Or4!b>DyEo};htOIywPi8?6`S57tpGG2UH@9P_pEbT9q0PO1DAJ-rK zDAH-N(e{HX;eglVnV@Rf8h>Z!hRkC8GXd2$ZQQuLz~87Dw=4MRb<3Ar_uc@F7efl4 zi<}m|Y6J1@R00%D>gp~O42u0lJ0*d|NCaY0yOxffMCc-5Cp=?`W=L3=GIl>#uO2FC zAh?$&PSTz*A)9|Zc8ZV?zkFNi)C_K!fFdQ(s%Oqf>*4eT4!+t<HXEi@(xWa~B<}!c zHUc;wG2fGuObEen&Y$1-Bz%-aF(9+G#wr~-zo{$Kr02`LZEp6Xm_cV?E%TJQa&7IV zHJfpub3BoPWNYeFCgwY%#Z<2@<=giNOI^oP4|&PYF%5#^emySffy?#WTn?awAppIu zQglhfSMsximiOk(YoRioKQCf987-m4Xxv_L2hPovTeZIAB}I<SX_Ajqc6D9H$QVml zlN==o=bNtrb`X0YsjnLUAlX>?TtBJ{jFO>VU%W^eF!0F8ty5|M?a|y&b1J&?QcN#@ z9zZ+Dk#Th2Gwm2KF9!(WI)Y@Jb?e=celxzyv_PyOkU{I}A~s?CWnRLqBHV%#W;&A3 zY43>ah@yHUKE*1V$40?R1mVlduxrqtiv5y<gDY$kk>bpBu_&Q07JM<bw$suoVTHYG zZl(`f3NBz{gP8f;NK%k~6qAG68(Z1!gVNV*FR4acOiV8B^V6(JD8cB8sVA{h0bHNB zSE5&}(Tj!w741X*SU!}9oZ+0axUe4j$k`JoMC43E%v7h(C*gUwMUWg_R;_w<&Fk#7 zYoIaYKkhux2!Akl0U8G{fkGZ*38F4?a82N}VSVsWXl(@wB{KqYGRZvqlvD{|;o$J$ z{rf7q-Q~-Z_U|{3T?G_9eLl#f<6>5llD#aV6jLi*qf*bnKUN8UsWY-Tq@S1=PBzlG zX=mvpeZJo%)IY3&F~O%#Wvj-Qm6c&VRrB)Y*~d-)EK{h8X^{9LtN8bT6s?1Xhj8&( zd&F+D!V+K*fqO!AH6|eRY+Ny>?oLHX&h`~eKky`E8lAG@kGyCGuxpw{G)fZ6zMx;a zTF*o}V>c$ZLQcp`NvR{#V;2TSfV*`5JDx9Pl!grV`W-G|@$sVh`8<yO>T|^<CBrJE z2MzKXBDxr_E1q{k7pfm(UV+yqS*>@*;yH_#p%cWMS1*x_GJQVZ7jCH;cHP!D&p2pZ zUYtP#AK2oczW?t&{~M6qM~o2c(O?Wh*{&bOR!Lx~xrfG&fTACx(Ziskvbje<@PwkH zx~n9N2erp!it6Rz_!-dIpv>qJBI}>jRkL*7NxvCrm$B&Q1@rEr@;6U5e>6NZNH=KH z<D?Zm%pH_N^Ji%E8YeCnadM2m<L_RoPO2?eUKC7jdoWzmxaT-qXQ9B0-^nGZkDGAl zqxw=6E4n>hZ^PmH#pZ|h?PG=N&R${TKYcv+_@s06c~j{%dxl9(?;2UEG*d;P@7txf z3+Ae#TEQboF;;EU{uz>1r9@OPKKg|&yb=XlNd<O!cx~FNPxJEjzN|bD<H_8m=ixK_ zt%6X|tLQ=Ds3-nE>c9HZinLkwk|=gG78-P}bk#SC@MH^S|1Av-<|iM=Yb_ckBd$4m zG=OZc)3$$Jth<0SGO;~nSV)AjZ(Wb;xg_WviBK)&LL<|^l;|Mn$j8c%gD99jxw<Ck zI29p7Y972#jiDBinOSgsWMG1DfwXYtix)trElyLo5fnhd`<0W+uV{{<%t%W-;yhW{ zlp`c1>{M>^mh;!r(yuZBa~{q_(8hF)S!3f7L#gkd?D6InbHH4vo0P<%`$m_f^)i(r zfYyz5{nBsb$dRa4W^L48^3toAEUkOO_*?#fo;Jh6zXslA!yFPrwpkH3TgPhb0kV^u zp+{~b{QUOIhsW=!9@PM;Y`q?7lEy3OnS8O%SX{n0t4bI5N2gj<H5fJD3*l45Xxp<- zt+yB)g(`0GxfV$QyWQTB0X745G2CWj(K&j}^mJj3j^@jwI@T3=DB8;LT}X%sNbTIp zhZ|(3kCG9Ov0Rm14Pv9O7?rnw_4w-anfpKQYwM@V0tFu^6R4iD9PYpWPAZ)}J7U?! zHCYZ)0X>TVS3`OPH|QU=5`A2IbjtCptO0(*iMSNIsHB(0mpkgv<9$|Jpy*n{{G|S= zv)r9}cOn|9O}Z)d=E^3|ohCx|#Mkhd!SQ|7mOIXY;Xt)HRjzKVL@|yE(9>u@{D2pk z-4m`+tvT(ym=<(<CF`hs$4b~@=ps8g!|v1j_oACB2uPGDKmz|3dLee-enc|51d=_i ziRTQRn~pcgK3E&}Hkc|CyPSHd$Th480{zBh(S_>!AsZNB89O=-`#J+)Z{qlcs&%>w zd^s!TrQ3`;rNkp5k)RSkGK%yPZIceRLqEWr07#8C1yL-#$Oq%XhU_n;nXTwkF(Wg3 z@(bS{G$txy9~_QavF8);WQC+a#go57=tp}yl2@LyL)5DAxIEruPy*aUoo#dal4LIq zl7&-3aXm|Pp5K63Qs}s^bXA*)V3dzvT7~N+eCqfa%Jj_FJt|{>QKL(!ouno+ZU)T~ zu3U-Tpjzq6eG<r4SIV8hH@Huxm4QMe?G7`-wZ+%b(zQ(%K&W(GO3|bt(TC-kJ+NC1 z4-72h;idS6i%x*;EPE-2J#)YnjA0>Q%mM=BexYC9{QibM2a4{+&CQKLCZ~k~Z`fdQ z>6q77Dprl(S=|yQy_zlr2#q;&F^%Md2XoUZ6XvL2-vz&<^|znz3Y|UoT_)sO5s5qM zF3n4x-{W=93DY%Xu&l<RBkaf)CLiwZ6{HB%Of`%Qw=jp;a8ZUz6fZ^TBUbDTW_dDr z(hQg1f&y>WtUb1)m)-F7V66gdOPp7+0VhSWv=|(oG{$m*nXxvfJ)!Ku+H%!>G59Iy zYvKcuwWkf;?#lU({yf-8@~-{)W!KwSI?aCT8$X{dG1=>pn6ay@erkK?7Qv2-u1iB^ z7ioMIYfx(2G2TeRNjUV8ltEO*2$}Z-uGAgxo&ElPf60Dam4L4A$ru^tGkp;B{r69Z z1}4p$Ia6R34s_9P;~vN&&!!m{2(4HVz|GLKKY`HO_wl<uXGZI;>91!jpY>d3x=N6V zew2>lqCV?8`rmWepWpUkg>cW4$|Ht~Y@MgRUqIhtK{coueK^F?nhmngw)e0oj4f$k zsS9;?MHh-Nca;>4dtXEFkA-!?@G3N}*Prz|KdQanw`t?bMJLBGR@v;rw=({aL~$k@ z(-%!rH{EKMH)qZqxAwwj{Uhj3gV(qqS4WMlJ}040V;rC}N7&fG(4e=IoQTW761(6d zH}T%I4cs89cFif;TgI1p=jP29cSMI2dj<p)SZiQ=<vpdTXTNj*G2ej$0hon!rD4b% zXqZT+$Uc;9XKtpJ_`AwoUHPid)10)SH~nc=8a7`=w?1`hjn%!L+7G|ZIyK1iM4G)0 z+g2gF%G}<$ZF_>Rg!)j65k{+4v&3tP(gkRlt6n#AbO#I=km3nbBrLm2(1J%RE5nm! z#5zwo$4fto0Vg@W<jQ?V9UMcL8Cj}D)dtU%5VQA}p@=5$fuC*tkQ(MY1<zUjod0XT zeRW;5lXK#+Q-)ht01{xL2sIG;3wvni3rw|NC{5pzs5C@Gr`6zH^f2tw#n63jejx9n zg}Z2!wEh#ty_?kc&qRt_qSl%bF>M%iXhH&YmOXSzuxBdgL4$s#N$jtSckQP5SvCI9 zt(D`V8pyh%<JMLlo8GnpH&t{~N3Eb$wY@OwgBO>I6d`4a)<LJ<R5(r&QaalhOSDJ~ zt5|kraH_M<pf&%;1#r^Ql-WbM%oLBv%9Ezh%Y4)SAAzlO74`rfGl38~PxT0yk!E^o z1D6}aBx<VMrJrL*Ao}9oGU^~hGF_I^25jLW*go&UwT^0N#bzFO7q@Mn!&WD=?U7WQ zq$w_o{Lj@OEq$jHZYSQ_5<j}bLI5ei(ij;(m&5|(<YQ6--6{R$%fX@v9<6&oTB#Me z;1VLi6cV<haXHYBsts+E)e56d?(($g7_`~ZB=DJ&oGi{=4&w;5PI647a1x!cCTf{= ziN}$W22-^m36;%PUezScIQf`@67xv1B#koe;4~JWk1U#mHgfpzV$8l-B1w(b*3|U* zbItSTrz%}jLh1g{2t9uMJ*>H$p93BQbt4$!1_D38t5H}%wy0OAmfYDog|&mDH>K@| z_~|W=jWy6%>j-)8Lu82AfjXiC%s5>oU*Ug%xx8%GH#j<V&eujU;4z?%+qZ7P2Zk^~ z7l{FY<ZN&7u0#a)fRHGU*%3+4akd)6i<AlUDJ&dPh@`vISHxk#b~NDm@(W>WFXaH( zk9VK(EA{Z+`uMth6<5`n(#4tNruNzZ<r~pT*gC(I9JNn;SkW-M3ybEyUGU+SPmFJE z4;M|pTLbL&q()2qks9^*K)IIRyNrUo9DGPT<~Q7QcH&zhbi?~W7ThD?^7a?cyZvuE zolQ$~X1EQ>J>bvd<mPLN&s7~I!y^)J@b|9Nc69{pDqmXqwY$~%$JcEK;-d$OIeEf$ zJF;`^apcw3-`|e}fbQq#8StaYJ#y(-0f9)6?dxvtgripbGr=*{+IOT{k$x2DrI)8C zRF7hk0Dr2he}8;>*8NSY2DrO~Wu90N;7~4KqGgeRM6pU`1;mXMDWri&++!qo%>!j` z!IW0O3M5(X*pWAF*lrd=+`S8d*4=|)YP9+up@q8p0`{r(85__14Aw6Zqxd2+8f4vp z^1b`({<l26RTFd5h={Wp85=fj3KQ=u9E7H+wUZsrD9S?BCrz9PC1menWrL&maBIX^ za>iPA*)CidqgGn)u0AhmskOC<l(24vt1iab)SUcnHjemr{=%P$;zVUsPB3->A|kMU znNJi?f-?lu1Kx@8sJAj==Zy`7ZqCB1IsvD=q@B?3sjG@_oTOie`O5}zn`t5NkF8g) zK5nUYSjWi>>tP%W%<hti+h1o+3m+Dvp{J*3XgK85#GB_9TU+Zu<9xZkwQV~$Ld8b8 z=o8ftE=G8#;Apq0AY{+&Hz0(xk~D+#SXmD1vmAi;L(H5ops+d#&J;8_%;`Dwlh3!T zMT9~nsGInP6(T_pMVAKo3}99pl?V>NC%E}w%g9MRmk}34dX)c@-s<23x>R)McahFx z7H95!5oV^(oOwnX#`EHfxpX`J{_(<5N=d1vveM)GySa4X7#__zta};{6A{%TDghd6 zzCyL&*Qewmas6+}7)%PtPp553+X(M?*QwSFh3e<LYiL+tZ@<RpC6&Ngj*X<GXh-1k z3l~nG-l@-WvZL|wC#wXKnW4%MQ-N5S;m@(bAaCPyrh9y4AI$wv4b+j?;^oC!Bf1{+ z4-^k9R6BdNEI;Xk=QXedfnxkK6A|W(^&h5;)-2Zn>J6^lOs`12bl>H>&bvYQHcCn1 z;j*)yHG~D}=^-Tz0=}uk{5lz-zA5+$h|^5&x_Oc5C=Yeh$(22aFJWiUxl-uPQ^0;F z2N%Mf6TNtlOdy~g`6>57Zwk^M8Y)65{udW`W)inoW<fQ<EDQdf9|NtxK4}E4?CdSv zA|Nx2_GoKVGTm|(>y!=)L14#S36*!@Tfe&WGpM^`9~w`=Bro;A563JfC7ilIalv*T zA0G@w!`rW8U<4Kogk)w(-+QC!6}hCcQdN34EGMRc9O6)qp07oCMZghER<Ok6AVlp+ zV2A-kfz~hl-2<XYiJNRh@6JiZQw#;ue?vofEmX3>g&0<DPXDVoh%v5~EVDVGyazmM zDv+?r?EYp+*!lDQ`;VzJ?3ZpGRYfn4g0|Qn7jr07;%gVQVkLS(v_q-&Xxq=9uhoTF zrNzia$TbANQuqv^ZgT=hMN+shRst)Q+7Xt&#>F3hdF6o4uc#rh1v5*v-aBMce_H3! z3qcOSsh+NF`SPXw;lrrCdw;O<0RMDo?9F!0xe>o=<5LSyR6T$Gt304<g0XSH>uX*x zXC*Z5ewn8CtKo3~3qsaEy*zq-{~1>obnmV(7jqI@;QT?$Y|VgA<JZl2wYM=WcChxM zbM6ZQ&xsv7YONtKLl$_GITeRe6|ATZ|54jVu_St^A)wO_pi`*C5)-msbie!hi$sJ1 z#cX|Z$bkb3um+JC^iz9jh|9y9H>QmGE7evla;srGiv}i0h<tx|+_kQr6B&SmKHU|w z1M(~F_U7%gzZ~sVoQYIJ+0dK1%!h>u-p0lAFJRd3kni`KA-;G>rC2JKVAqEoDs+UX z#Ge?oLy3vk8R5j(h=zjpHbdNeUGQ(Q<<5M`L)-r}ouoBGvqU=BC587g-*k!>)8O~e zL$X(w$;Mbti(LhsAKTxJwHhM9<LIjycM9hB92GeIppFn9xNKlw5wc?x)F-$8?mU^a zO)xD5lxBkOcpxwt|8|-JCi+ZI#g?1b<wrNb+N=Z5-r3Q&SSMUlE@!H)!Wf`j)_n-L ztF=lgxi|%d91&;Lz-#s(nx(3Ut%UQ4Bok6FR<4GIOEhE{OOUypY@0xLfBoWV44XJ{ zkeWOy&J`=V*;C1(d$slOc)YLW<stLk!IYj;A7%UdC9Sd2*2Wle4xloFwLV&E#Y?~7 zxTcc}m!gNvOZ_P7F9uHR83}+(z#0r(Na)>Q^B_f1dZt0KNNgr?gSx7zsRd>|VM|f< z#mefvitI)NYLJ(hfl(X&Zix@tzI~&nWLSiP<zveiFAonE0#C&TiFOowCe^|2$Vp*6 zMn{Vtvr>ual~!@|QypVmJ}?Z=3Nv{BH9x1vG4k5F6^1i}nX9?EuV%E$iMT7^ekP^9 zFCjsncf%lyP)l^AXnp;f_+Uh3oP6bpqa1^)*n|XMIGCIeSTA7lFwUS(^Kb!N1*5;o zr!iyK)s;D-R`_-^Vr?K?!6%jN4=@TTQ|;`BrluZ6g6$$ltpr?WKyerc8ga8S+vXh6 zk12oOE3XUAlW91=caWH{VD@bInjs*JUq`uTM45kX%P_jWd<X_)WZxY8o)HP@*ul?8 zn|oLn_gQF}z`AS)uTd|dorqv87!_qTZytRCMVB|6QYKP6kATC9^zJ>KCh68KD3V5F z#-PWGE_=%`McGUG)2B~{%m*u7v5%w}1l@$c_*|3YbneutyZ7$(+z-#^3ye>T#n#J~ zF8$!S4NJdHR3^;<Z2x2mDExhB<Lp4qlE@*j6P7GpIz>kZFYHS=dPS6xBp^&+UBwca z9Jj~nj;%dM*34h`xxPN;$PvNXXYhrc^}SCm1;!M3i~kl1yt9Qd0{h6o%~@`9>Xevo zEC38wTeL>rdJQGU<0cSsH{BPRtAv2ODA(8{Rr@|Up#L;=a;9<m1=h=Pw~*xA<>RNu z6NPWSo516Sd%#106q-`pqbuWOLE8Mv>gqnRH%wGcojwg5dbRl6Zn0FdUPXVd-<_%B z2(5z73UrS-C<N>3>fH^#G>f1(Ky#S)!i&OsA@u819xLBAK={6JvWCCs34HMcEF)Yg zGgqjDFzntq!5Y(^(o(ne>xCySTD3}T-&=#_`wtwjb#U-yx??@o)6>&r;xE50+7a(B zH9Od!bk~hV5oDf?4R;pt%`RMcyWwlX92Ytu<OP|+a>P2=4;*Ok*o7fDTdY~S^au^b ziW#wL!G(2Seer0pI>}rd^L{~mBEa!2BN~G6vH9waoE$GMs`taBaj(WyAQcGceCCxK zCNw-2!zd_%(TbC?d->bM;_01I-O7=bK{`uMXCF}6{llm!J#gBBq2ZG<#IEm2y)fYN zpds`2uE=-)ogJ{vyY$Tnd@jbd%A`+4J;gW9FrVy?>vqubuSt`-3Zzx6VXp~zyp&KR zr*X|=ha28f`Z-ogANm7BI&tAg-^7b=+j^}TS@_mz_3>Y!<)wlM3AuJysd7MSRABot z0a<j!t!~(6TYY^y*KeJ7@-g_?^$AMT_CuH!c*rPaKx6szsaIRiU$kqt5ZA=T$w%IS zugGl#QsG(#slZl{mXeZUUSL`S*$^p;h|#V}*IOR1KKJNdS);3var$&0an|!BjbAMu z>ckD_uGYz3Btzhi5<FNuxg3Wfe2f=o*lEc!wThmRcIbgikV>HD{pBz5k6*E3h5IkJ z4I60k__QFTH=EB<)%Gj|!wDU6h|z@mV2z%Af_&LnLPy5X5ug#f<?r9AL~(@TdD)%y zg2%z%{^xLq)9Fj4fH#DLqeuU;Tx-6}YFz~;c*3GDnq)66-mqrP$Yxn6=eT8qo{o*j zMw4M_YaCKE=C{3-!ucos8ub!6L_4oMSiZ(RHDpdG*WP+ucyLeeerc7Q<d&>_V9T{R z>LW(<GmPtLY{9ap2QKVIMDjrCh~<tR`x!9nF;Pj-+n{h)WR5zsI(!1jFFWPE<;Lj8 zmw}Lp7J_o^J9dg@9CxD3CC{p=SRS6Y{0l3#V07Y-xo`gfGpHp!7WW6=rS}H2BEP~~ zVlxu`VV%dsLvt_@D3-RVRt96c`Nm+w3*GDW%UGN_a%8bu&v@hOA$^u_;pzfm@D;H> zEj88jLRIk=rc1Zqe^(8&fGvOXrqHwzG+7)KlY7hfO-^<y8q76Ga4hF^%)d(ESLi78 z%opuSLV_GDla!gXL~!bY{6%bf`0h~OPpgPdLa@qu)p$|~6?>l>l>|1HWS9=yB`j&u z=P_#^m)qduh0sKh;TLBJo3c&FVEhS#HaVOz9yc+{H?hI!e#HJ#4rV`*V5^hN^&u0q zfB!z@@^aIc{DA3F+<b&h$-_4jdRPeh0}5W1ppjxd9ppjvh&zZ`Asw*1gGti$>(@m^ zMZt4mZAeK=W3L-%mU;a;@D&6egZ@=;bU+30K1sF48_jI~6aGHMQBS2fzAm2G@#9ET zXz7pJ$SW&L{>6r!Pzeahi?T8i;u@kWIf)sB9+u_s%h={(ZXR5{9;+6N&Kke}ZWUKC zsVXg<IX0e`$yDd1xbpx<j550enveQ8*jiNGe1C95pl5o7gNe0P_?@wOnQwD$%cYIW z8obviYvhHz5ekF0mn=^^7MoD6kQMZ9VR+uKWvBbT-1xgI!9Dx)SWT7O>+b&1k}#$x zw9mQf^ZwPAcYBw9uB)qH&)(2^lW)uztDzxQ7M+(nNPIe|x}e=rRAd&}8mlHM8ivQo z!VAk^KYZBVA{d4{T;jeG61PlOAJ%m{wg3<D)VR2XX)_`jV9+hN$Ke5NSM}3*FkH)e z$HlXbUj&#&m{`%C<}8P0iXmb_2wgbhEGdR?3VR+Dy~Y?S7DjMSvMyit_VEF_;;{Uh zOjwapRMh%sZ^SZC%94$;08GqE7w4><h$tg7(^`H1(+ew<yKh;`>?+oR633cMG6>0* zN5)iB@c_KC!C%Ix#?2ZsajorHJG@)ZrKhVk&mD{c8*m6Qh_$tV$jSp$Qc5~{bO*^$ z@ba5#mUc`!tTvN2D#j8LXsGi?->qBoc64wBCovK@Zc~3n+P6VIR_*J8u_&c{q-qY{ zK`~QUn2I#;xgDd!lJ9=Zh(5A_P+1GSnd@8<?b>`r>qou`GgI0wYwLX=4vb(udaZ2l zf(#-vN%N-h2(!oa6*-C}SPH$9t!K1M+s)jssp$};o+C#<3o4FH@2hyT82}qD`r0R_ z=JP_{WzS!}EL(MvpJXbX<?!m%{Nexh@!kX#!9WnDu;80oQV&mdW^AOwMARj?)TO!^ z;6gBIlD(Gf6(YurNCp1WqZOq`;^GELO9w3rLuyI6NJ$)-@i%w4g5LV@s&jaC@ip>m zc25ghl7l>qxWP9G;TIU}*E@Iv8=jq`4M=>bsD<JaP@AYHY<k1*w{)$*HxEhTsIJvj z8|R#>rf_U_*<0ekj;l*mL){hQlap5z`2U5@&mLL|05H4t4YyS<B4{7T8%0P<BMGyw zam-|Ek??y%|A>?X32K+;S<Z%DA1@(zQ=FaIxTi;n$D-;*JB(X8-hVgV{aCm*!9sD^ z=Yby-%tZHfn72b^2^iNJ0W<NCt-9QgOS5kl8pDlXP=x<xrsmeG4*RqQyi&m20Oo5G zod_jNcTJr}k;0Iq_c*h?Yb;$bc<d3Mvt7rm3*W!{ouvO2SB_xG-I*78_=7a<bk{!@ za1Z!8Uqtkq)!#dJ@VO=W8hU181(E|}zfM^J;uD*Gxp2?>t%aU}RoNt7w%)?`Ag95H zmYMhJ>qo!TPRMdC$wue)h<$nJ;VJGnx%pglRd%2L$KY5y*atgLNjWC;fU$RO@780c zJc=z&kL90*ll|(-Or=8hP3OHr<;c3yXJ#xt4v=YfR#xGJk&4HbX_)Fq2S~T}9gwp) zkCRD#L2R$j(d2~<e~c*quJ33t`tX{Dsv7;Qy8a=(&bn49R28LETQ6CEbi4;jZ%2vZ zx?1}kVKbr{+$DNtIqY3iuRFJ)Nu|cz47x+jlh69iH`iBOm;NHFqI&||+EVS!*5!s~ zdv(lwlS<Zgp3BJix+C@V3*W2#r$*abzWFfm&)`Al%f3%JC|(}sn>6@f+{Y_@k|sUY z&3N3G*IjMKjaZVXHdFDHVtH$;$<qP7>_y8?FI#tGY=o2CY1>)zW$Y$$u{HJ-+1sCe z`s-M3H4>Mkw+-zI09$4%;vAfVtG`ZRo>%`pcZIv3m|yU^lj9z(r06(xfyFFsLn}85 zA6*(G_iK2*ZoYWgMc=jI#vdg_ZaiP;>et*5nBzHRzU;@KcrQ1}Dk#W;1zCVBxLEYo zJK49FQj?KJYsA(mqn_l;D!u%*7{$R7L{!L^pq)h|PbnJPJJ&|B#K}UtbH0XRZFFv; z!@(RVDQ+VoX9PPti+y9BxXWzkvNc~Vi@(datbG#`tULhHRY6^awxZ-9MJ@XeK1ZKb z$nTqVT-sjh?9o4NthH`^wgqnUnEnPq#n)1fc|@$~oBQQbhwb$_Eo1Rfh0_2pp&PY0 za-Xo`&3FX1OtKTm{|Z_+kFvdVUiwO~d&z0r(SAPbMn*+PM?;r@U4r_H6$kLy;cT@k z4KWa_I_CBVb}j?-Pu1D)VSaivgijl`VTtnjUG8H#dzzgL4pAQUN+H*y)wlSbT>b;E zRZ_2Jge+Y9tM{RpiDAB4edeAV6D*XU(VA}M@I7=z&_1=TI6T9xZzCwp+^=r1t6_em z{ptn-#(FW9A&Cl-W?I2~%$0d{D|$>Zyq#L$sbDQ<`>TdA(uMYci=~ZgL!y1<oX53B z?_v>&jkuF@>m!f9$vRW!7xuV<FK4T5<-GeIipwV)+hMc4*{OAX$O$*aUvp1Zdj!;< zaq8>mvHe-E)gc#dWNLBRYODuoYpz@*TdO)k^knzX#tV9OdX3hxmg*HVr%9-<vbw0( z@`5F#8lxunS@9unL^-yXs+XvEF52CFQ`k?i9N_T8b$aWbX&D&}O&--Jck7~q56a7z z75FbJPf8}l_>{(uP}Y!6au*oBkB+lS&{4&zxnM!}&6UQA*mi@c!PZV#yf1o>&FLut zT~nsYDozvd-WQ)1O1Zch>Kmc8<#|@x4ROpJKJxVkK)Cxhx?*#^K83J90#Sik>fO5< z=6!q*Y1TA{y#Gye2J22@h@O_JYU<Jvf3X@l00thZWb_9Gq+*F6p7F+^#{U_GPJ}g{ z3;d2Czkr+xti*fI3lg3%334<E`Da_pk_CNx3XM4S=zMjtULKga*0O85AX)VEG@Wnt z&tFRQZ%y2N-f7v(D;om-w7Q)U*>!AR@_p^xC9S#P9%GE%W=e&$J}kDJJf%DuJeVlW zJ8tH?A<OtCU0D0@$dvN4Pd`#t(04;#w!N@C&$e%idmlZ$%g%T9w$$V;nR9=W(RTko zHGA(A`ZrP*3eYFsCYnkZ3A2<mdupseFhz`RE!%{+2bo5eL+9<mD-ss7$Sm-Ysnj&8 zlU6++Qj@;W%+t`vQIZ8<#Y-_DWwv|wZrs_Ls<Tg;4t}$_N5_~e(5%r{sf62QEUr(s z{CmLH*<}6K>u8n$ET~b^^Ws*%717oT+0j#IcIxKy)eT#fzWm5Rpw5hY9z_vYs#e*- z$)_~uK2}<;RB4g6`pT*YpY)Qyy*|Jq%7;}YgReUsxb;ag><)u=^6H@7)0k{njEIn0 z;8wRaNv)LY!S2E=;<9nqui-VVS8R9H{ZK5KtgkO3I_YWK2hAbRXBOYPcZR}Ba2_y9 zz?7QBjhnumuix6$^|u2|*FdvDbCP1o@e?Oj7Cd15jqZ}H^n~H{nLODZfzjrS3HXBu ztu$?s+(;Gy8XCT=D=Hf;HZv9$6=P{Y-7&@HbJV2KwF)*Rkda|pg4!nUXsZS(Sng5Z z1XMt=2p_R^gnO=EaBPGAS%%tC5fK0zi)f5R`zeGtf41MZ-lca<*~vY&vZsV?A5Pq^ zRkm3X%lI~dGslNYXZm~Jm(`M5-q4~Cgdd)`#m+1K<MR~zGhQpFlsEixnU_2j1T2HH zAa4BUEG?MC7Lf{Gh^_d-ePAd#B}o3REV62OJ8Vd?j?8psW_Sp+P7%0FfDMm+YAE#Y zkICCK>CxMLqm%{@uFBi)Gh|32q%ib*au;m=-i-BVcDr%ZRsNF9IYlLmbk1JLS76x+ z_dC<=>}Xe++y!VXDtN;zvR(;L_3p$hr>6pYK~iT62q~+6BP09WxW*1S!5^*od++Y- z9;%ORCL^Gvg9k5f{qAz(=h~~eMii=f9rxZfgbgq1Eh4fU8W)@A7*BvNYhB2DeP907 zC}vGGN{m-&LaD6Y*?Dx1RY50#uK|zJbITT>XnAj=i8-ja|NXI+9sP2eY{|<b<DBpC zLo{wrv)9ZEb-KT1z?dkDix}Y_n$w2U4l5BPuS_~@{5)Nrf#<-16C7^_k{|-^TJ;(9 zAlkUgfp>#swH|8WpewpP|M%*n(R4M}$JqmtzPP+$3F!?UTljsgrP6jvtxD5~3ixY_ znOUw0h`lE|_c8XB#J%x{)<YRMb!zB+sZb|Y&9m2lLR$wm{f*L#r+5ADwF56&S3hfp zUq>~sKWS1sN}7plpXlW1-;Raj`~E$BWP5A9`Hj*|t9xJA1-SbfIcdPJ`Y=LToU>!x z9wEcOg0-i-?-xjsQ%r;JFLnIi+t#ssJHM?}aR;Z03cEJbsrc0VwEOpVE*P?Y=hCc| zw*d;c;uArazb#(qnzV{H;r1w`A(!7m?{aAI5$TwN2cPlC8Rx#v-!WumcrWE3TK62W z5%sku)8gJvDzxo<99yyXt?14aqp}`7Uu5>I*s$>MjFnltSM>;7d1}f%C9@BNI&Sx- zs`IbW(V^}<eS51UFaIEM5_FH5bLQx-8QvHcxM3w-?_y*T)PK~B3qyCb7_(<%pBm5U zF&_+!6RWEiPo#Ssq&gvlYW+zcTD{QX>Z2})*oKv}HO3z5+P~cL^n%0754Nwc?9ep7 zTC<|B`NZ-2j_ZH@aVBMfVXwj4l8?+7`=kGiB^Pr0%3HcL{@U?P?(@pOpA-&Q+&#YV zZ|n-o$Ytg;|Bnl>{X|F7o^{JCCq)!ChYIVAjovuke38UGbGcb|M~;YyYnukk?Ju!B z=yO}=`N`w^EH;J6*n1SekGztpI{D}EiFO|5JwK#B*(6omzUj~^&C9~Wqh0^@{rSPv zVn)zq(S*V8rnZco%rWPRa$NXdo6}E@m<OtaP#NXq2)5huaS?dj@MxGZVQ}vH3f;dH z3>@uAYoEBX$mih2a^dOowaUCdK5;{r&aHsc`YC+C@SBGQY77A@`;~I*@RD7lw~L5t zSqbeQy?u2>;nc$y?T_tAw5rxzcH8*c#Wh-G9c%w|?TJ5o(SB+02idNy19>aGlqM`_ z^E{wA!M5#(;gjbj((1(}Tep7k?<eG9vRbSn$lMjJ>tyzFb3c>)zV*3$pDg3NPp#Br zDOMmau51cmPEGS3tLAa;;jCU|7llpFEzdKUG)XW!p%(qM_w?Is#=@r7GMM&))z&vP z{pMay@$Y=z*)R5g2R9{h(Yk3PdJMURzCmzpIQ1kBtI=_XyO%!~HpL-o!v-ThF{mlB zruqpd4xWAGxago-DPIH9FV@VBm@-8%d0fuY5xZ2x4z6Y{!2GI&$^ff_!@tA-?_Lkp za{0DQ@%aRIq&@W8wE^9Ecy0AQ6fGC(_VmoteX8by-MjDZ%lqAVvN=vNcLmqwCq)GH z1&#Cr8$bQtnLmFDlveugbzpg4@8!*UZ2I4aFgadwG0x~*m7uGqZo%6AV`W;{>O;|% zu}m4ktMHH#s7Xl@>r9J=^k^5Tf02_3Y(8?<S3k1Rb>EPg!LmeuNCqpj1T&hoIoCFO zO8xip)`K#e4{6Sf<!w`spVU}OtiiG4;OePGhs{Z9czkf{7~?FNZ1*`vZIOdRE(Eot z_XXWu+c7;#HIV)sCDKnpLQ%h!yhhg^mlpirD+itloNiUvTP*1L)h%GbB=ZK6z#Wex zz1_C;)SWBXL``KxKndvTygI_pbjbQ!Y-P@8tUykT@_C;9YL-(+4X&=h{5-rQ7KvW< z>ha%epOHD3(QL#3guZ~`gS_7Qgz2KQf3&qJF{3IDlN9*srOwdl5u{R+ze8Zy1(*f} zDdO|s^wm3t>aBMmj?S4QA=m!j%Lzr?y!dkuYQiZy{;;*92w-N=gR(ILq8dab<SMui z0RPk%91z(vTJDM#v5kenqSSeleOv2L6s#)!JIo}u5$D=vR6<l>Ov-n9NdEWQIssa~ zvPt-5plDN6e0A1dyYIrtOZX!2K-c0q$QW(cvV<`)FtY`mZERb(l_w4!p8}33Pg%)T zl~kU(w9ga!|6VWUk#o!zyK^rD9#y;xN;{9uo5$x&Qx=c<R!bd>U7@0Z=Lb%g>_<(@ z*j1>?@o(ZnBjj1o=YV^Us0PMZXG8l95iDdRl-^yLapAw0HW^enEDrY%-WBR6^Z?ty zDwc`P9a9-r^!>&h^+c4uadA(1&Sc}QNt1G{j|;7via+X0;ICkjew+i_Qcu;S_X3^J zUU`Ar5GVp?-t2#m%_PeqJ!)Dkz~4wp6+@OvGgrSi?)?c3aaG>kNtQNHGH79?aM3KW zb;<>s(|YTl@1v$(eNP7XBI&*6PU*2G^JU7vW0DI5TFR|L$hWinUxoVbL+I?C{_r+$ zj~SOOnE=l8k@s8AsW0sBn<S9Up#J0SBfXE=l@RT&{pz~UCRobAXmJ--uuxWzPYz8O zIcCfTa<kZ!$^U!b6YdO)%M&z-W5;epP7Od4xBl`2kEKvb@o>WF$>T$XYE*;Pu^`0~ zcF|MN4-g*b_0e|Sx^)p!*DpCPSk7V%{Qr3tV4ZIlxc>LLfwO`~jN1PE&WQLjHgvyd zMJ(s(-kPaJA8*lEAh8`bd^jM@gIas3b~Ch=)SN65;~*~k{bzb$gFdq#!AO##iKrxc zQR=bgf6vjncb3{}$srMJA5g|)c<mF`uV~NSYyW$>!@-~5z8#*r;}1aZr1j6?GRTLH z%dx)WxX2Fa?~43a_wKE|cVN_%a{GJ!g^sTUO3*B_$aU`we25R|&H3LEly;nX4`Zy+ zaUbJX_@B1Rc){`VO}cVUN_~W|{n}gM10eV;p)f$lNH=<V*Lab+k11y{`D~;_qtIP+ zFyp}AVK*-dX5o~6&^P_~RNp7%{V$>}95~wsBUO|ySK++!Wvm05+x@^oO!e>y#(dpa zANc*=j67ql$KKR`3S?{{FwEJx=fKlh66fo9DsG2svYaj6US9RTmpmA8TLT49==<L= ze-_A0^lo;rt&U@kLR|fk+}-(}zk}B4=9)QU4#1A4>P6Fx`wR@^iLMnl@Be(XIh{rV zY6V3tqNNRQmG=Dibp-BOIqqJPrP@7AODGo6_5%N{Uh6Sh@tpDfB%>j!ms~4{tvYyb z%-qL7woGN=CgGE<W_I_!kyTmWbH35?6K0&YRbt7=q2r_b|M#M{9$Mzr#cjv<@rzo9 zD{qO_&v}cEmKhUlmT@G&(WAu=Ey~E!5%f57=L)tHqc>W#+dkFtwxGqL2<~h;nT+$s z1M5Me|GnlJ{e!8^PTMOvNARK9%5z3RR!u+>Xk;G8o&7qa#%1BU7|S30BNQ+A*a1)l zgiRCTd<R8B!n}N0N!PW4qr>ysdw<UVy{u4Q>o)fv5s-H8+`cUkvQcR-ELk1p#PH%h z`rO9GMpDS|Y>&aWRwCRSLD$O}V_)PP;SSddc0u1FuMIGxTAVJ1PH}DOfA3bPZiSXf zb#cf4<LS)fa$LVIo(fM2l_ZsBB%uhEM5!c75z3e$N+g65QW~hp7#WgMB#~JvB8fth zDMKTYqEeC}z2Ezs^LzbqKIfeDJoj*2``UZ$wbwetFHcRHCa@NCJUb0P*hla%G+cCd zJ48Q061FloT){fltW~@4qJs6iEdRCebdhXrV``$QZ;9RaJ({B6g@@SnKRy*#!_zBz z`0(uVA^&~HArr-T<6@&n1`q$$enr_XRQ8PNrR6L1*ZBG(53zjd(vKWlqF{rJ8<Y3y zSjY+o7AOwc^OySiM!vvZ9=<esCIb!@;_hxG8}i`0&wrmTYp}sR+TAr+gD2j~ZxF6< zhN&RWs7t(aafP2>8_bW5^qpz9ADWqx^CghZD3eoEo*M|)-C9LmZuugA26uoFAPZ6K z+@AlvO0iCBk01GF7A<SKvE?+PI0kNFXZALG?$zO<@Tp)=pjlaX@vM|ekj|u?HkVkD zBsm~13opf`gcuHSsiQjpdEz_Cf-upT{8akiYd$paqq+SlT|G3pfEZZq-Ia~T&ww8~ zQ_s@U^4E_BPV1jw2Zsu-hwt=b!;lUXuyu|w74QCNqf%Ur=V5Z}ACTI(>9B|@ssCc= z)(3`O?mY*~GciHB&S^nw%GhOc?+^{q1s5!~1Tk2WFofQYSmhz?gYaZiRUWoDoX4+U z-_Y~gc>4Zhx<JczSgoN$?c9HX&3{k%;||xs0e)qF(Ct9qqoZbAhv60DWXZw3(S3mK zvNJMr%%(PjNqf~@zke{^rSkwv!yjb$ND~lMx0>-Zb*9Q&X)1ll7v}JYAUpS7^<Q?B zv&o=t$Dm1jX#~^iYX0%#yz8X_Ge;331}$`5e}A_o^btY5A3)>DL|^5*5$-g5s9?{Z zZ=gi-IQ-Z6;Hb4OF})-6II#Q~IETX`>$m2=kn}O==Vu3(Oh0-iFbVkr&%@^~njd{l zr;c9ma81pHoI>i;zvmrpWs#E|n6G(nE6^#|dyeS(!;)+kxezESddfHcdlYW7AI>Vx z{kVr_Z-^s#wCve1OHsq=GGKiu{HkP^=!hife%3y%=u#5EQ3lbRnev;6w>?=V>C*>q zCT3!o(3m~+;H+btHU4{dYwvA3Fm{E(Po#oVXQV1BD1@AOI{&jxg@4(jM=MDfkzW!j zDP7&1%<0Z8)|2+WC4T@@7zl@*_Nv^_<reAsgZJ2yPqecQ7@?28byWVpYi==I;Et6P z{CGYCw4XVX-j}6i>`TmwHb79KbHLh%Pnx8A#!@A`#y=wAYx%8Pl#--4XeFv2Pq{vL zwrX3R6@pckpBTdw#eDhix|eQ^)eCS5pg3f@<ue&aaOovQ)%;01dqE3b=F9;iqoTNG z`NdW>Kjpd5ZJ>4~z82G>dpOh7?fErEj9CwyT{bh!Z3q2(#cn+g)$UhFUH^|-+q(K! za<_xW4oM$$o?{XyW-P3uhFcx;SKk}E;_h$OWDiy2Cl}od*$u(2MH*&Bum?#}+aQB1 zzoL9t^zUaHm@GY0uNh*zE7PYk82qEGsQc2Q*FLKG&4LUF^c&b}dtzgE6zy-A;TKn9 zd@eoR2W&vWn)%G~*RPeQob3XztNDzz2>kc{{SxOT$GZIYfTu4^E>N>CA-7?>dXyyZ zOiLT`@W{G&-H3&UfOSa5I=;VLAcWuE6}1JcRjr*kcTG^=;}6U!S<Ce7IE(ZTeMc9w zLmc<~`d<i2zB7ev@d*>fjG0rGgu301)3nl(v-Cg(kx2<&=O)0xjMRk+)^y+m*yr`@ zjf}8-nB&)9V)Pa|dKj1@q$8fc_}@#-d3GrAVz|8)&wGF<0c1jSc2ZuBK@_5eP<LQa zQa9yYTwyYMpO2F;ElB90wxXWxntbL5?QVM-zF<~yH4C5ox5bk4R1b_bn{2+}>rs#| z2%#x?h6{WqbXPKn2lQikaaL|I(Ni+AA0g9>5aXND()PCMXp!^Ry-iR&g!xWH8=eLK z_b6xdTkG6vz^Xex=h`{y>y*xh8$1rjjb5c@>A~d8>7y|bm6k-_0AVwiBxl^XfdEI( zVOQ5|QyF4p<P1|lN9WLN)qg)N{><X!0%72R%}>%GD|y3Doe^c05iqMM0fXfHg7sI4 z!jqm1Os!(Nk-l!<aa+vvW^0ME4q{#t@`MaaR%YIRPw%92{Kb5OD4WEE5l<9O1kV4B zd$e{)<C%esABF7RZ9V4vmItqsX3R}`D9fo|(n3Y16y}Qi+Ap`j$t&*8!MK5GSh!W_ zSf`$KojP6FN9hDfy{u%=wVA_atY3NNwbFl!N-wzE+|U_Uk2N($nP_WEXg<5K&MRcM zv)+&exAoNZ3*qTKCW8RnM#f475v9V5?q#vNlWPHtSG`I<K_Vs5MMguEP;l<W;0bw< z29AvOT0h2I?e>$-|K7|LJ8S!@=gYrS(HO~0kd=H|+P~*<Iq{NP0T0*Ay|VoIuJ&Jp zEkA*BE#GOAG_8Hk_T95iNv7?U3ihDDJ#cv0KAlNU&qy45sv4)m??)E<`i&bg8Aibx zF+=A;{T~B&gV7l085`t?zYksvnWGyURp}pGBWKZQHdUcL&(rsDqw2sI+p>@Eb+Y{o z{qM=dIv1=_b=X>>VsbC3SSMv~AspQoR4vi-7XJ4_*El&9%tz>nTININ&PmVZeIEWo zpgiOWv(ib!`(hQP7m{2H3Uwnh^We7vMHvfO{lblYemHgfWL|$B1q*+((CuxmE1b@C zBnI5z2Kqd~lB3r8jM3@ef90E-?_!drc2&!1$v*uXS!@z5t7W_Q!Q=H#sZ+h**f=U| z>7|+VMI%bBm&nPeeP$9#O#QQzUbzM{UL<$>_bN9T_a1rRz2DzSmW$4Xk1^SxI89H^ z;?J1#BbTVi?dq76vwC~=d`E>7?heI|y)^pdYtETt{_ApEquk8=7?;i(llHoolAd(@ zsyj~}tVAh|_-!HXA8GUP^W)x`ph$N;-z|8eLSiwtgCB2cIc?sx*gtO5arfvNe{m#n z74qdo7hGLmoesBKTFQ<1&DWM+H$CNjXlSs~zn3WHI7-isA61Q9{{GYbAL?6;luv%> zdcT)soOYkhTWXXBR>)bZhKs}l^Sm~HpSrPquKu<qGdHc#3;blT;QQMi7k*V%RmscA z6_b)eXr@rlaPIH6_C-f~d50h(NqJ7ir+%@qDB<VC!Ycm|$6mX<@>c6xDikf=EYs0G zFzH2Xp#B!Kj-oeRzidm`yHmZFXpr%)iQAtm{)bA76<BpP-O;2PZoBtdN|@4ts~4AT zdQ>(}>dCF8=I_o&%(;|rV7n+(XVLt^G3V?ooD>Stc|F1L&m((91vCcX)-|E{{X#J~ z9{3kcKadc5s;gCJ6%Ri$qT|dav*@n9)n>g;jC}d~cSBIjx#Z({6^21GtR0*6`T)<^ zdbt}~+SaY>w6T1am0`YZ;gPmu(fy}{ou6@0I(y&zx`$&Lo`uZaxNTOZ&9B}ATcX!3 zdGg@9x8ll_sKUkL%@X^Je6csLe@V>5`w7}&!)G^DsoYI}wJ|?$i~hOBs*U+i`c}L8 zN)J2tVREU4X_98U+Axc}ojN67E$-a+ciuFowtL>94};E4kJ#r5JUYb9QSII0>h6nt zBxBA_+FAZOEN|$foh=P1RSk<IKGeOm?CA5{ZKA@<lQ!Nqn>)>&d*<kcP6mN`e%4RM zEsiV6l=9DBH}%ei-S)p-ervBfExD<8<#jzvSxF07I1m&+H`%<5K|dp}$B=Yymdij$ zrMq_S><0&hc~HVsPq6|yRFOt|N6C2Fi`(?pTkL*oj^%|LGY$J}?Aq@CCE!xlDx1Gs z`bI^xJFMS!KyUuSp)<|;`L3z8H;kO@de*^Xd)0u$VOPFZEg3vC(`m@%S9c~Kt<Nrq zv#?8B+Gkd<oJsl1-!=uK=Spw0TiP^o$b*%ODt75Q92jZ2T6yvVwL$$i#qD=29lYbH zsrt^-7j3++O>3FA`uy>TTi&Y`emGQ)&G3EtEOlA(?^zNvV!KUmy=?EV<2tIaY|ICd z`p-rB0XjEtiz=t~4$+ykOMu5l`Bdc4GU~@dp>a}0x?0}cqAAj1z@3`9tgMVqOS0z; zy(8b#r=DFeGcCbmif4!Q#$_@N<q=0pvd67{-fVMj({7zo0Q{%#bu%vh7?xz;F~3tm z=922ywtX)hOb(H6GQX0xV*iDQ@-x%^%#PP7n4fWAZdt!sPwQgT-JM&fSPpX6J-&W$ zQo;;NyAzvY(i)#0JUi$18Ra@L124TPr6c~nPP@Kp=lhK><GnRLj9cbcIrV_Gz9QWD zQKqK9zyoSuUr7bEXlij$F++0^+=85ps%e3Id%FC#Y~3rH2l+d19PKcn>%C~HV<SEq z*o&DfK`@#g>9$61`Rnf2L~i#EMPBT>Y08<#XHo_WG|~gyB~*ThOGpUvQ$&<6<+lWR zb(^P)rRT3%^Nqd$eX}k-)#e^pxlzpVtMi8+1O5pkhZGNmIy)He!iC)hkOzo`3Q*hm z<g?xrk-a8u0i&v}tBZ8o_+Mlci<uhwsCJ!V?dGF_)-ThlypE-xnaNp9vIsEf3!O<O zS82+QcO#DjgmJt>C?XWjTHV!Q%4)Axy<h6VBLn^oVB>!}JwNsRKyS3c;~KylSgDMF zVo=}M_t+Bpw9aQBU&EK))Y1NfYB}9O=D)zF*EPO=#%$wVu#OL5>W%jvB5??eHobrE zAD3{NVxNQI3UyM)&!WJ_zSE`t_lx6ArcDz9?6y(Is~$@X=$g8cuWewsiCcw+uuj2b zS2bV&1w~==9~w4pebyC<dyoD1YjcbnX0<kk>~(iNEA{E&Fq2)2U1xTfxea(?1O;6c zrZ#gyOwVbhZSG9QMu&(B4`KtkoA}bPlPzjuB=vj5)nsf4su@V5cy;4o2Zx^8MMYH? zm5RK~q|GjLimWbA>*E(UPy{Q`Kt`L%_GZ5&@WxOASh><(Hsq>ZyrV7?cTlD5OBzmh zOMbnqLES$2`mdQL#=E=#`fzVKIAqRxDi-SWDp~!1a5hFwUze6{M#0;x=#u{AlJwqP zEtlRZQWG=`k==j^q4Fx{c|y+SQ)sp>9~oy@G4Kp{lwFd7wS}`9x8AQ&!5Ws0$r-n$ z8k6M5jbp0ER_Cezma3XG%M-doZTeZ->MKGxth<{8YaO|(1(xc;8qk8Qw1NipavSt# z%rqtgUGyDnZSOyPC?hSMdr3CLkrpIff4os`b(X(8cZ?|`ZtL+k$`u9{(55hge$PCb zL4(nR^e$?0au-<BH0)cxym?txHb1d=yHx^1DO9P<$DAV=$mHfME}Z75tH8O%kin0Z z79?9y&byS-U))YI*MQ;_5&{4|EoGPTL|q2?3z*f1r9@p;P|&SKc+0@P4B8;Gh|oV3 z4FuH}zl?X~t}-L{f~kd#Awrw2Q^FP=qO4&e!tL6C_KAb7g{~<ez@5vA`wk!eRdHJ) zW3IQO+TmotN&eJ-`J%be#7!=1?JUH%NT{i-P~!+&NEML38rCnkMhni5N=s=>5dzeQ zFA)i{VO5kx$o`*ULK%Mf7FsGWSlYebmXvR__?@^#d}Z1116!mT;zAzm9VL^C`YaeT z=ise!pm_2NS<8P%bm@$O(TOylv|JwKUDtVu&o;@#n#eJ(33tQp85Ulob~!wH)qLV6 zjDNw!2NL_r>1J+maN~{~`3)4*0SwS~O!;c{YSoD)ms3-{Y;A4f>VJNDewbpUMLCCk zj)4rnyoN-!t*wnwUKo)v?yfO;t)_?=qL3*o`vlOM;s>V#slI6N3h>^l^1oGi(mSjY zR^3kYMBDX#dHI5grIVTIi-@puaJXmQ$23DneiB_^n13r)te}dwp4m^VAUrU+4G|>5 zC|wUkaQlt+R@Gah8Njy#d<a+^6@hk$pn^apKxta~=8fP}tf^T^5eEqYcCs)DLHbF& zyKS??yW*=7Z33nhgibH9iaDDVZ?8820{p@zp#9IE_(J{d#EC7$Aub1k<r`Y8@Vo_J z2h{SD)!MKc|4_>&_8%C>Uw#R}E1qa7^^db2^JUc5S-?sJ8zgoX1Nfoo(Mu?5DMKdN z+h_ALp7R&z)WYb<C*6GyjFjzZFn|sKXsE#*zyyFpk0>rZlQE~p!B^qgfXSj~^htM} zkv-~fpF4bc$QZ0N(G20{)6hl$bKBBsp!|+Av(BG8FDbsY^jneaEL{bl0>;Bh9iTpG zhAbWj+s95{v8S?;XrKyR5lTh&4Yc{5YGz6Zn7@C2(pgVvdDGK|e?afN?Re6H^rb~d z86gE^g-7@mgD{9&+S=OiiK^ef4_W8uDDP`fG&11T&-Gx}&~H9-;vsjiW(`TmTZp-R zhRl{c=J7aPUzn1Cd&Dl-o>xUG&$qsM{(OdxJWT>%{C@BvsI~y_!y_Xn^I5k?_TkA* zD7g%`nI)g;TMM_ouDW_#wG|)6p}Kpw54AP$o9ft&&+_w6!D`}OO^ZJsJ$4LOT{zG_ zeL6kec+y^8Q<w8z?(WY?7<ln$eJ!tBCusra422HEFJhA`k4r70j=JjoPEURZZ7$4* zwnogouRL<O&b|jI(JJb@&>moLl|{iNG;^Vp<*aSBQ#zsqic|p<5yj@F_SoevX9<*1 z7&f(As_eQRjr(UCCr;nLe*GV(f!RJbw!`)hi{CeXPM2enmg_fr?u<MYy<Y12NXC}f zoHsW#%!i12-~d;mcQzH8qW0Fm7ORIVnJt*x{MjgR%beaDtdEry4_a_4qh)Zyyo+1* zeOAAuAG!HZq}QB%%=O4x3XMp*fT2O}Kv)?3MhS!J>d5Tz@h(U_3wQsgd1}Vova~tZ z0J~@&_u7zPtJ6(J2GVan7@%-G6P@^(sj+d+KU57(9mPmmz1dk==n4p$UVoayhpd2C zYll4*m;-CKY0W1f)mpQ0C@b%<LbhD*Kth6Rs-wf|X5GCyd5a7mhxU@r$SF}v*Vl+W zMWaANY?76Q^IxY{A0JJ#_)t&7Tm!-|0E7yu9z}|OToJxKI5$k%t9KwmXOb{js{utD zI$?>kWzUFY$Kv-&`^SE{!$RaY&=WerffB7`DE=dJeedz5y+RC&O0P~!p-FzD@d5#< zTd3B!aq9cWUJ9-8KVXO6!8ZtMG43ix9*(CR`c)<=S;#_o1*Sn5idG}kAf_<Cx3q-# z35~|n_xH|xJIlzv#AxR_gNOtf(+s!pBB9MZEoFa=KYcA&`Dml?FNc#Ok4$7xj9p70 znWkX9_vDlTOe^pQgjZ|NeN`D1F-Ob4*@GK%o^M%f;k1A5P$(o5qSeMiRWC4jNHQXD zhZGgVRt?mYHoq4md&lk1foR3}P#u$yp+|33e5^mqoM39RW`UZ+jt!$qUfz8;x3nZ? z0V)bVf5ImjgUc}RJ~oF5y2sXw35YwLF-F1u94THQemQ<a!<go0ww+cQ@8U=-B#0Lk zU1MAo4W&z$N*wT61#g=lI?d6s@z-}R_*;&xLij>w6lLS!>Xj&FBL{OmBcrx10OlL0 zDj3P2zf7O2_Ui|KsFZljt6+yI|LH$NSAn7v9_TVx#an$h`1(Q&_oS3ZC641IbQZ;m zl*IY*Z3#n;pgl-PARPUuFRiYuyxsf<0ufmikr%dp&PDz8ZFg&%a0+PYWj%Sf`NzX! zLySXMsT2C#vM&vHbL@3VK}h)a>M&0!Cpb(%AA0s;o<(WNP^t-cM7y`=*8SLB`?7wa z?cQe@4H0joMFze6;)dz#D_qrkF4bcf^ZoGi33IfiKnMLQjks|)*?Pk!HakJ)=$H)- zT6<bPKd(dBs<=l63`A$WG^fNcas~+W+1X=-!yF0zcJe{ikkFYU#|7p6Qd_%YteGK- z-IOe}OPQsnYBiok@?mLt2g;6sA29k(uzZ;^y=$;%C&k;h*7iuazri)&TRU00YCngx znbQ?M)YQ;yXTM?Yx7f=|rB9z(@PXk&!)CFy6+MkR@$JvJu!v~S(h1wgpPuY;=-7eY zagqlk-J>-`48+yd%}KQBzQW+yO4~~y$0^R7E6#g$et)kMRI$;E+ofcv#Z<%D38p@( z%N8$Q+x+W$|H7C(l0klDs`{|&rYSs!8cF7om>_EhX^%6O8|t5?;?_+mOkmQg82V+( zNd}GX{Lz1Y+Dw&FaS)97h+G)4Gb=eWIgn*?VKjUITBO<Vto7XGix)Yv%1|PLpmXUG zW>z9i)k^~DgTD)~NOy{W!l8Y7Ugp)^hUkC>_|er^+~1KzH7Abl373HlfJ`owi*)w6 z!8Y-S#}{e0Rqj{{PkO_b*Xu|Z@R5*}T+LAd7|hmS?h5$7p1SEtyaf(jbQAa#PWnE> zk@!P~c~i`D!<o*;W>d9{AfWX;`1ylJskTUbuo%b4N5yN2?-^OU>EE1;l^l6#7MMJZ z4ALZQG?wqU;T4LJHwr5uNpC*Nz3bf(hS~MhqsC24RRG^DRa#23AGQPGz@@j*m8h+q zLT2=b#cl1-Q5>?)Om#XZ^n?{NSbLj+w*CLo@7vH&CYUTTLC8o9dEA}cTp@5lGW&9O z(FM*>_$+FgAur#ZNC-~@)xC1%JBJ)sx0wbS)P@&lW=uXLjkG4}#`|;zy{C|NcV%mX z4|8mhdg_^*b3Y$nX;&wXmJr*&EAW)UCa3HED<{ta^k&zR9G1h-%b2?b+bx>xdb|it zBXTRszV4jjZ{CdI6QHhxe&zliN_V4oB(dNpD!DQn6KA}CAuVYMvOCf&yI}RBxZQ^m zbXOSM?d4^b`=T{5SAAXbJ5#BUs9#bc^_Jpa_W$Y;VDs_E>x)hb*pt)I>~lC-$o>#~ zrBWb)q6Sz=FYMR1I(3DC+io}i+L^d-%B{m)ZaqJ@-C?lj!Sf|^fAuaN>UwL^_h<&? zT=eg)>SXw_;@*x~^N`aLmITZ$@+NybJM=|dFMG%hkJi1u)j|}U&KScb*-&Qjb(O-3 z*Z-~bk6U<%Mj_)8hm#pFTsLZ)0HmkaeWag<RAyUX$B#fF_Zpgq|EO`TY&2bVtgoEY z<%z)#Ce%eb@`#!U{AeLe!WU$XHA#w1{mEOi=$JxE?5Imk)XrZ(1d_%uAU5H)xn_ZT z&s&q#%=`?@bFPIWLCwUgK$|9whH3;|g-AKZ*jOV3X5Wrm9K&FGKLxCTjPmqUBWu?= zZ{pwT?|T&`veF0%xqhSLsKOt!^05Yo?v0PN-k8{WR$0C7;id1V-ZhL}d~!<rdAse7 zJp_j9F=oW6k+p52&>4N<VFW0E=)ir#8Louo%>C@D4mox5Z_;F~39HxXpG)rl^Tqv1 z$K=ZfFZYao)N8K}a%>EBU18w?^RkcVrjGJ_D%rQ+jjf)Vlb)hCNm=&d1tV&RMJ`#k z%qw-Reqq6fZ}j8z6e7q*C+IrxeEa#up+E;oukFjVaySorV`FPkgyhrsbbK3TqbK^O z^XRt1?FYsKTJNyBv-&7HjjrFPzimiK50sd+7XcB(_^nom#B?|KCaxx<o$*`S@-$@? z$2%V!@A(>GJC(a~mPYn$u52DI5ucy&=d^KN?P6%@zm%*Kx=A~qUNG@kP4M5vRoTm; z_PbinyKHQ7VdOVrHjRJWGT|K=t^c`p{rWf~&!@D#TcNG3EWbHVN51zdnS+jDRi9nv z+E4zLwr8Jd|EyWhruFj*&-_y}c!bNPfk!=o{&A`#p3<gfndJnO{Gl8tq>_igA4dj? zo-K#Pq6<pD!=bEV_{G>K;SK>_@Oy&Q^hgj7H$}JdaB3&?CAlcfKzHao0E{6hjrM$c zm;T`q-H@$~ccz|V5;n!z$R7Ep+oRPE#xSJ{)d2O;`p=$=7bkvs|G+?|$5*ZW_nOTL zFY-KSO!K}Fm*R?06`1?AQ{?y!hm<!Z*0WSUecImgY@q7J&b?E`8m<4XRDZs+q@r^w zPy}X`6tv7SuVs#avA<j!vlw>)>ZLnFH=iP6{ii3L6gNwWhCb?uGn5$Zuo9*0#(Nu| zxGQ$DFCj(>Xg{qNTww@N8_2Cl|Mu8Yn+Ssi2x}uHCGew&yMUih(pWM|G42#xYxy>K zNndCtQaI}9oFrQC`2MkGkQ%g-5tRCR)cRh$<>H#5|5CKFV~qW)et1Qzk29y2&)G`( zPa5#y>(^bEsCJPAj)_U0nc5UEI!o@jP2z*1qCgrEU`PwHH@dG{r7kO5QCFARFSnQ2 z!<cDV`*a^G&tE=xl#|hgyicl$3DK|fU#t61=r5MnjHegvaazg@Z%+#tV?|PiHyS6& zIhP9wPKh?bj}#4TS5KJQk=5#G-EhXIzsb;0+lm{WnvMz|YHLfW^@$Ob-H<UG%^GTJ z2g&aM!8%TbOLWf6$OsJ!yXy7wF-O$1Z$zm>(#x-qLA?Ye5q#DNSSaiXzc4Nk+IVvH zjlLA?Y-#iZHkpqY(ai2c2I%$c*{{a+JMx`s`g>c`VrJ}ENMIQCN5W(mDGh)IL1oGY z$|*c`p?sfR5;7P9F9EJ3lbylawh@}^Dl1Q9U&Wt1Mt)F$&5PlE=Y6zNFu9gpckgGB z|Lq6UYp#D9S9NT9#}*x#7!AL5%WFEzPTEU+xy9=w_)vwXpXhm<p6<V0F{BR6DDP=( zhOA08?xMK%bNk3OW%q9fMDNU8-EI76SH-q>b}-MNj(o1F`o>eHsYcaP6+Z@1M^*{9 zGGzAU#_!)lcOGG-NcyNQKAcPo8S^_PMDtfucfXkGxop`i>Hy6praiX(Vfld1R?iES zv(ztKG%lI6;yKk6i-}XC_x$y}BsKTgq5{Rzx_@7`$}wF(a-c0&izWu+iLU<)Uv|%0 z(^)^b+xJnULRD(Uy}5pH#(O)-Ee2!#8r{eisFHtuD;(C{TiFmbCN>4Xz3%JVQcNjZ z#x9ZaKDsr}V(&@xt^i4}-$LOTA_WdKttsbbrX7Y%i`)#Fn)CZFTE39x{=?3DYyl)+ zKr>*OT-5h^FXfs#a|j#fc6Y%~l3MKyD~#ZVc}?L(7k}iGDU>;p{c2h$+@xI7?fS~g zSAF_)2wkFSDN13to3)T%0>1#MU`iCriDS}Y4^?r6^Ss@VfS|sBVzZn9qw3BUpl|5z z8W`9Ckg^dz3}y#MfrS5lg}k+&IXhbX3@MX-(Dq(#q#Re%q<RM+?zeR8Y=N}WY^fv9 z`1h;QQsh&s2f<}$u+O0A!nJFwpt-RS5$xDf)-AvTDg0Ol+aLJG-B7SLF*Pk%a*>_N zFRge|@)+JT8bhJ>%3?WMrybqTD~)~}5q(eUhelDef;FCIup~Oj+nGS<X`Z+*DnU1{ z26V)q!jYHyo&U|*a>qPmhT=BwqaS5=_Dc6nkKRq7RC&cEirqumZ1B>gM;<==##Ymg zDe<L5_ibI)RV*_3%$WKaGmUpm*E>MUGYG>hR2&&vmigsVwVy{`zWIkRfXTiAca5AZ zC43xzws!7RFu%W~N)w34C6+#j975YFMs*9*SFa*3WzDkmvv7+sZ{FknKk`ESrW8l_ zse{KC=Kl<LJC56XmGQawcsH^#5ErT;vcWbxvt89X@(=Ly9ADBx_Q$608}`%V>0wP9 z@ypJi#z}UX{of^gOSC+Yz2Rm3=8!<q3-}hY)=nfUXmi+-I?lQ55hR=7xj1sfh2mjG zMwekk5X9R^-BbPIMeQR41}OZ0`_HCx=ITX-lKFur18rZ0omiCW{t-n@2qZ|TGNX3Q zxi6z5?u!>+!to^3(#hhYtLlp4^619s38(GmIR8se*}5hv_?@woe3O}F%fw&#%_1k! zjCmz$xdvuM>R?rb2GEOhAjJ>*4euMqG*r_e!^O<B`r_UYSCe{u#K5o#wmW5KZM<S% z6R*>8=*-{4cf>3F%~57W*%V8I*)eOj{Zst!+c#bAb}Yaf^^27HfaO<Uz5JLkYHOuG zUc$nkhyBHtb}nk>2jj+dWN+J7eZ6P>#;}EmdDtZl*F`6snz^GbvzOGtEe-Z}FRtK} zrq$bZ{+@-0f`i4Aru_{1;H*65sfONxGw47|oLUHv;kssb=RtZ)>N?jO+3v8~Ui@U$ zQ<1;9mS~~kWZ97QK7q#;ABDrZYvCZdAv%gT<;_2TT;%$`{_cmR#Ui;G>n`-NFIkhZ z2~{f)=vQZ#y$zZ^aG0eB={-q!toi1RWTB9_^&Dqj>Kc8bTz2CQM@`F<FK*U^%v82) z7-qTMN;GwfC@tYh=9}a?_35IN$cqx{U12e1Z`e0wfcB)tj~3u}i>?j|i)w0HIN>7t zG%k*xmVzb_8>6?ndIN%HH~TX^v5^Km;OKHn{eWH*Cr%8c;Xt`f3)ww$5%fUVk|w)2 z2j-O88L0ckF>|lHvx}zHUXJe}3toEfs+JtsW3Nts`5gvrR~n>Mqvq=?R_h}f@+7ly z=$_s;u3Tnh5#lchR1Y<?PYAx~d?5bK#3$WZ502ODt6pRWUeG_#cVb1n_=$d;7umNk zO#_euNx!sUm<nA0OoC0Yx?&lUCVT390I>zd)7WE6I{004me7r7cW`J8oErB>lQ)K~ z@5{5UCGbEPi};#2&zDc7!bF|lgRhL0CMDYu6;%(NkH1pjG%Ba+w5)sdLZ!pWt|<y* zH$H58wkY=LEh%l0mD38(1)j2!i(GAVs!~r*viqltL5v@}sm+IX2-J05+it#it^rXP zh#ZF5FJd=L#h}8o#<7q3p54(tcea<xB(1$x?)`%HzgQ5Tuuy3!yIfjPU-mIH?V^`2 zuU&7^FJ!VIn*)vuySMJnx6UfP3O3k1TCJMD`c89@hG>ti^VdQvDFL-hu9c6OvUf>e zHRImJ<{!tSuL%h&{WA(HKGgoeoSz2f9x*?7^_N-Eg3R?p^z~&n*rRGiWdd>(C0hX2 z&rL(eSRKnXPY9E7&GIv}`~<a24G$g4U!QXvH0?--(Arm@{ruv$;u~twOQx?(vUl3= z)2s69fJxI9$Y(We=sTND$aHtV!ikGY<|WO|Nzf_`JX2xe^|yNuXQSR8rSN0?SU&x= z_BgDVP#rTCed;qa#%%uV438`jJ42)uSS_}04=+xX6&;!A@%r)Ob6TI>Khh_nyeB?z zRtK<vPa7>AE8{Q@|50B2P?z+0=KOdCX|k@5RNnR=yk1}3oV;CUM}pIGpL);Z1EqpL zT#tj1Iy1GE^i^-aU9g5^CS<~#u;>fchc%w*lh_2wp1HWZH9x54r?5i6!AX(Zs!6k; z(C^d@Fe@5|SQB9ItAeK0jw#MiTNuRz@76y*ymz-e{vNY&6g#_Q_uA_441Yq(E!?b* zwD?<AGA97xGHdh&E3KbAM^p!#_udt!lS0K0Cn_Q;>W|o@N65iNL6R^b4xkCBt-Y9% zTNu^w{e;NSsrA@bpM`b@@fWAdGtM7wA%{cgWOLwu4($*4<0TY2%DD#ev}q{{-SS|o ze=Ir<b4FyTwWne(!`ylY1WqA!wn#HV(7r23xtH`2Fqza7G={r6_sNT?QIu8&X=zne zzkCUija3A@G%quv1Hm}llu$(vzWMzP8mBah-LG3Q^1^%uyx3992CmtCU5Si}n&5&k z`vb&Lb#B^Frj`6)D^qQ-<qWRqtHWXRgO~lV|JH6!tp;Se`rEF76oaCc-PZj0qx=mC z?}-UrZ4yt|C0?d^dgr+M^q`%7^sHE~g6}RFl;@+3mL?pI9J6r9T%qB!rVD2}^v`+m zV$}6X`<{NBrgtEg9@VL->bG*n@0@LauvSyLq0(I3tY{VMkm?YuuI(WYEp$@a?H00X z1Y@~k0^6OsY4z^m#iJHh8nungy6G9|?s~hAgRb3goh{mtveQzZ1Hvv;Vi>>QXQeRB zNz;^c^b4ydi}GLfQak8&@*#4ZC#D=u7SfjCCcApQ7*HvB$A9kdzlyg`jy9h=X)j7? z_g;SRSDSo#`q|rejgwlhw0zNfReT{ne*Dmb)i*>np%HaUo}D}VM8nkmqW<8l$lC)H zR$d6zlTHf?a6L8BS1(ffnfIjXm2E6MTBvlbF*bPh`ZaOY*xdXt!ytdEB8T~&8FsKR z^mFyME3@XRtQZ}#8-pKMsq{Z>bx@W>=s}o*W7+U2;lje@aokBevDupHsk%C`<A6n@ z^xPBL=?11d^)Fv~(&x4PsbUWqZ%YhT)$XCM401fWA|SJ@?fMY!Mj9@MlRIl(DXEAM z4f>v`=2^P^@`!GWJjydnuXXvm-G04(A#y~x3Onlh#z~yM-{+;<=FphYulBxnU*5C# zN~bH<!(BS}^L?rjg8B5^q4@!0D)*U=R=#<l@!iRiwzf@^x<qN*+WoR(grkSg(aFn> zo_5y555v(he(dGOl}W?qNU2y&wEc3f&)vaay?f7&zkX`B!-#Gfx)FQrlG>)M78jcl z)a~e9>f<j?b1VxPV&Ha353NP-uCGpH4<Tc5J*j*ZquG_Evy<X=KLZ`|bXFjcjJ8OW zS!wy49)%a_cq2qo8zj*cwjiU?V`AKgyo)^{qjWS%xsz8ONA)6?7y0?&3A$lAsmXCG z1|jQY)|~Th$=!2#&41|3a4fZgITOoRXRDZ^;}bd103Gr-bhUP(mg^xU#d=C{4hso+ z$bYhHfPknG2e03qOYfO$uH4YbcpDeSHk*;+OocYi|C^3^UpcuZbfe(|2wqtuM;_4F z&gn`)z7QrVBt*8YC7FPwZPGLZ0;&b-?xm$WEl;@MW3znuawKAa6>k0cR>&j+*Tcni zK3Gaz7XISUgM^h1&?1-n*wR7TS@GuT7lMypZ-hl|5Qvy`YTEX!tc)6=+2sMME#CmP znCcOHLqm3hT5={!&Kkd&pu~7A7q|w(Y+Maa&fzkBNlkXio|&Kh3mnK-UfpEP68c=! zdPPM=0yar;5AU9C!{g>G+J|V;U%Pf~eGD}-VP~L@j)&1<p<%<5$tw#Zm12gE^*^Gh znJS1^h{WcdA%XOX`C@rVCn_cevg!L-)>OtEK5WWt-K<%&z(1LFfd2xocqx2iVa~|% zesQs(mR3Sw$6uM;x%ljGbA&G!=(iY(lWH<D2rd*BcmhVCpurdtB8d%(k`lgi%6<A= z1G?8QgB+UPk<Mi^U`~p4dEk6TO*zyN<_A>u^ME-^{V>|xeEytLq5n;jh|Kq-qb}JC zY#$2N{EPJq0^3I}xi3369=bg|0tVK62dt<1di}a;@j?rY`KPGt06wPE1HjAm`midt z&~R<-ZSJmro(GJ*D~tv%D^kna^7O@vtAJwDPdW6T^bH&t;sRw15^PNLLEY!9zqc#V ztmqc@X(ULbexeibrirR`2RHF}P!u!Y*n%+&A_IxEb%o2a)Ezi*8Lx{v=%fEli)~#v z6Br+uC>TgvO`M1r-);>NXtYp3R^$YA37u+h-wqpr%XsvU))4|v)F1Cq7UJvC7lU1{ z__7Y}AZ#Xhvj7}S%|74|wb`ZGS5@_4^B)!`wal;g4|>H;dBM7ZO{RCCfEUnc*1_`v z+N=(^1<)kS*#i^c9ZFNZs;Y`7iaGC7uqtRpQr}>}GlpNo8X`|)9-<zAVeQ(roC+$` zc#tY@ZVu4=K+}}<REI_@vWXyhoP?|(Z1$+2fy<Y_N?+LJ_a~M=4;7Yx2`3S$Mwm?B zX@Cx9TagGO3v=34ZHl)p`gcHmaW%-0lYFQ5H!(2qA@|~#FYy<z`1m?IV6=rS)h9U{ zy+gc*mwJ1DWdZS*!+P|aO=?a$V5=jaF&CFnBhF=3%F%IwTL3Y@`tfmH@yZ7PoG>$B z(l=5V8e5I6t@ji?0edtjghllm6QeUJu7+iJgC_t-r<Y`L(&RqCxu9p@{nYUn^aD7# znKtS_Y*^8~dmqV{)R^G1cH$LhA_~A)F-$W9{;r@Q5#1}~i6C?fGD>@Lj=o|8L5&0r z&ez@O^NbExb*U}O{*7I%(4LB`p<4>T5H(nMoTS7Q0-t4u#MRL6XGYJ5VV7VHvwxh| z-Y`8H<4(Wu5|_nc8sZ3V{NAp9{Nnk2$J|Q^Y~C1%vxG$_2uNrc;6elk4Z!NtCl782 zy{=G8Lq^|Ltjkx0NscxMD~`N}*1+s*-u=9j2;gi<w)?$`-C}y`y^VXd?|#{Zr;o^0 z7F>OS5jD%=LmJsfQ+dbV(Zh!ITy=bF!Hvl(e?94{9v<#q0JI=*RakSmb;tMa+p{M~ z_D+vc>LsN;b%#h=V4heZn7a@QQ5vyLJdC+Fitt3FdcmA%OFN5%x}=$#Bp@Zw2w_&J z%J?f$7??h%lbT;#2UH-)7?*J5WPX&Mp2+%wzDloN_#1x4CmDLr-o3%qUDv1zPl}bg zR`mz*R~Y1@pTb@w$@$G*LsgD_01|Dy3rH_iR(gNUPjWwyd}pKM2(mi!#qb@zR#n|G z5E6cLFn7v=|3M`2;7v1%$$q;*?#U>^usK%&YAQ_xuvZo~#4i$x!86YuVzEN|B^9QD z0ng;8i3dpKzgz(2-n~CmRcRe81a3MtCH7*#4{wyykdi?4m7(H#zq38#q(}i}H23e@ zCy2cU26k}DVj@|=-I(q$*@b?m|KC3*=4h<mVr+yohNFnZ^y2)2aeN4uynI|KASk^* zA*w#>Sk^GMI^o9Ej>-|)w-uItTK7r9wzrd`g>!xHywj&$(sh;_4fs37sOtN2{T)N@ z$tQZ;4ePD%;)v&4r_NTggPztsN&eBC<udj0vcD3_4cP;hA8n8}e>lkNeD->ifG;!F zFRliRbNf79R{`P~h(5IfT8;w!l2c;Qq6Etm*QrNX7uP8LJUvTay%Oew;n$_RFNALc z%6gqc1zeWIgAs%w`yQN}=80Xy?6k)mc~`syWS5%%<g{9XnUex^`R)hovRS}n*09ke z#Vs~(ZYPz%lT0KeDxB6~chwMOr-RSFe=;<Evm4s&$HOdAoSDHy#dPs}J(wFf7^o~v zzj}54g+-w|ciJypSPA3U>Qu=Lz2`(lft<h;EhCsI&a}4Q0rJ3)%hJ3SZg~QwR^(l& zOrCT_37%-P3AvVDz4k%h8an4{6jH9vdM6xR=FdkeWnyA60aTd1W^i%zCJlPw_=!Dh zA-Sd?h9<{c`k`qlOi>{=JMXfG6A0)(RKhAY6hZFwlPB<`f~u+(`K4aI>`MmpZuBDJ z0+h~x&(8*F?YT}M>Jd)%Nj5?3{?pzLbq%$7vft}$agHUJNATZU;e)XjtJY+YVo_2F zCb(fTh8luI=$tuY!1QQ0&<3FAAtXG+wZvjF^E>0~a8W0aGX=z0cE$Vm&NFASKg<u< zbuRUWD{&Dr4@cTR$GtDBo}B^g+s$G(%8w9jW;r{Lf6fA>97MyIi2o8RXe8*Rr6UPT zqmHB%?VXvr5=M!Khns;C^aI9a7(|L?3jqpS+(X%`_}Q~13l|1y+-C_1s|C^!0-9Xv z==Z|~=>%#$ENkFQjlqU-?OMi?zR?}vpPYgWPoR!+4B&yeMjjq2^<%)Mv4nT7B+;jU zt5}nPCaMyPL%?)Ntcayj&qjy`8Gz0R{SU;7Ihr_16crT_NaX41Mqq4+0TxzV$w^6E zLOiX&ii<+im`BGrs4oYh{EqiTWS%m0B%?y}dGRDlM~=*49DLon?_|w_NH1+)oEKwb ze-;kAMbBiLeH*7I5wYWQ>UkDDH-UcO!$*$<k<Tx}Bp>H8j#j8X-wT9(%6|oRv~Qrt zf@lVhl)eVyO~4ldxwL<O2nE6}K+TM(<l*gY?o+YVQ5ReVnawGaCy$}h4A1Qp**Of4 z8deB&H4ZSmylz~+jM{~Qbuo}a^2w9jdm@h^{y3`wb&RA=8|Pc=MhLfV>Z^;cPG-Z+ z39>pPN3LU0B1ZxNVOomOz=7d~9~cex4+v24mD*$b?A0ss|I8aV&<Px4YU<WHc*u}; z$qkL;-2a3Ylm(`pz<&d^^RHjyjvpU(z^<>%y-fFd^)Bg?%^2fkG@rs7B&;J*vqyL? z#3SD5-Ml=ZlS{N`rtH`L5m&PMS9tw`Mj~mE6Xo{yWZUkb+)BXW5)K%c7PtJG?)+P( zuln?!4kMw8EyGHIr<wX36Y3*2iJa9kcTU6bVG*IYAKqOhOt6>{23{cQr8u84@8|d# z?q*hYHk#hpJvrAZbaN+XNk8SicyVrZ)0(ww>Fn^w&rEHnjl>&`6=JtK!N27S#lK8W zeNLNK-r1g#vZ0{^rU>~KOh=d=xCe^cx3Bolsv*5+WA;Td9s{VEsTk|cySU^52iidU z!;H-ya}YdOU_UsVT0A_KwS_#vmSY!B^*mrV1DOuD+v2pkFpJ!ncf=yGm_y+G*RMUg zBrzFIjX+~#QBVA?7!5<yFKL?8I#iNwS2w{10^Y(*Pc|}-tlpSMe)<^9A_#}Rlu4nM zOo3Am3j=jQ7sE9~JFM^^WOsL6W=-59oqY`_^i+wH?tWG~>7z{BvP-3;%z$K24{Z|P zWvuPG<`2M!l4ARl8Lw8X=iyJB*fm%KGX#O(ymROG)>a$YyU(6EYsgYv*e@uR2p`;D zCR%E=`S?Of3s80_Q$*=?>qa`?x_R?2dmem_e!`XXbhMB46)|Kq9XmFAqI=J``t<$; zlE&%Nx^54Oi(#(@hQ!UBKflLP1pXzp_85cA&_IUi67iK7AP^0pm)|_s8R`Q~E9qv< z*eN#|5Oi?pAtQ^8A(HIaXRAeb{pOEI2gw62dMp=aHZ4!@$;kLgGnG`iyY3N`FOVR1 zap3{OI+3&hv0Z0+j4?*)7}gZ6L-Gh9G?u?$@?+*doOyQAaVRp~LWQc4y#H%~+A#;n z-bazGpg%+p%tc=q0JgB`w6rxSm}tO2Hm4n`0I)ydiIOkMN!H?L!xa+;fPs-4y?s#S ztf43v+0~f+`=?+?{vK~av|{;n{8D5tDx0i1c~g38C%{B1uuGRl;0cCq?6L=9h;n0k zX<dxr2~0l%`)Hl=(IZCS)s9C4#=nyHxCaQ|D3O!w0H7iU&e6&9bW-5IShK+Nre>r9 z)Ni<*sY<w?PfiZANwl`I!u6Og#g*BQmR`DT^aUT|2Cgp0PDqkhjLJkHoFrlHP*9kR z_>FR+5P~0dRZt&^$UI0#3y|B#VcElor@}QO?L~&pzjNmGke1foV~dz@e7xAkRjg>J z1FU5xvLP2l=53^XKp>0Hhfwjop?sXa{zJD2>}5BZAJ4BQ9T~s&*^3vSeQ!|RkuRhF zKlI>lV2Lwl^bkeht+3FL_CwGc_2~;Pf?zy`wwv91S{L)a2;wxWQJGP?DhgKU-P?WH zvaYB##18Llxr+G%$WVlmmIK*XD^m_M`(@D#zn+<?EzCq9{m%=@**@`vBPoW^GkrL- zyr2AzlekUayO&H>L{FipMrCx<xIvq?n=h@1F=6S#w~RS>FxSlcZk^a*0e)a}0HMSl zI@F?6*?9cv$&y+Q{qLMa0{t6_R&K}PdV5!idP_zHIK&!81!l_y%5kb-xW@&qGX+L% zMp0!CWdE4BYo^D(vb`Xtx!jS#S4Bzby7xQNwjKG^l;AQka-v{aQ3!Pgr}4JYOTjH= zhCXS+w@hsH7-Ci6nV0Lj294kPeB7VAl|E1bf$}|8u7se3+r+Aw7f=MpUT5{{Ci-?_ zR~5vA+|U~S^r?*@1IO0;OV;pt&b#xg<#t##X8fAY_yZceq+?X=LgiH5<QF)*54oeu zTbzh^RTRB%-<~~R|6L@%<1S*`tNZV<g=`1T1-nUW&s@-Z_^?qCv(v6J>z}V{&lm!f zhtMRxfFNnFeXwxhDOK;{+7?0N`p%*YSfSe6@1%#Lr-xp7`ZOI`5swUD02VjdDt8DQ zwBm8N#&)|T@uE2rYAwBtk(vnA%kIk#M+KHnid$Jw0xS&P?Tv9!2_8(+Ftb8l2Lwca zu=AW$U(<fS>zM!@-{J<@jUAkkVWRqg91bfqclQtc?XviKoQn?FeFwxMVYvTcjf>*q z1j5WV@A1?NGB*DH8C>L$A<t`l4=u;J9U+g*!2x4~El&V`=Cn-4sd?_uSGGqEAC9lZ zkc;buC5+~yQ`&Gt!=Nt`Ze?%-SY*k`HVe?bSb_12V9~f_3YH^4MQ*!D$pXHAK0s(b zb!wn6{_=n|35^}nm;&iS1gm-580KQYZqm}a&+cX+%Q`zZJYmm+C5T=_SfO>`&7cOy z$tQEU?7n;xM1mZZZMX4<LL3p^F_{@)$C;Fr(kotlf;ARhxDGYfZ6<w!P39d$W=6?{ zvA^xx{pKlm9<UGEmnb3i{CP-IB$;_pf@T9`X37H)J4@NSaD4OfI;(X_OC}2I9S9!0 ziXXYHy~`xayLV$LSuJ)mBST1`!QObANWzalzqxkaR)=3k6#K!0+9CaO@z*?dY~eS< zkt5wNxbT3r_I!e<P0d$;KTyw=DbBO!&Fg+cwaW>|Hh5~VaM9O4G<a(V);nfu>dMMU zhmbQsRA~OGBcGC$HMc|cC5q;;QxKWl-oGalDz5q5nKR-C{qXLssA%kB-}59+JiZ?a zdP7xpFW67fs4^trxPrNrd(Rtg;A%XI1zCQTH8npx??q*IA3vNtYx2~o(K~k3(xe-+ zr?-v{_CGG^ZWhpN0rt?%@?H@-S|U0hY!G+go=OIoFsS5xcM=QF4SM;3bexd|KLQz{ z>zcouV!^M+<3z!`AG~jEU0=T}x=_TOu<bcskx&EjEQ6}W_y;Xh@(l#I{%q|e;ie*h zgsX;T=Xc<jraxXzk`W973~-*?I450&3jgm*FVbX5npW$z2oKaL1MnyR-0>{%!;q=< zBMl8{tThq4>FkX~xsk#^6u<FZv$5*q@mqIm*G!du+9!BRw#L&HFc*Fu`8u}Ca!VPN zKMd$_0RepR{rk4&$IG!Ivs0cKbMuBMrC+=Ta@SF!0Y=9hPC4o_(M2OKJxK-QlqYVQ z3mi!K6_54U;qupcLYG-K?fDvU;xn&x8IBbOJ*6jH3C5f9ii%5RdrBFM7$Hrv6VQ70 z_6rH(2`&}u)?ozV*KY)gE#x3_03rhEC_Rl|H!~?g7x?}|I<p)}YWg=U@6AMWl_yrR zRFk(|L&*?HiTQ<BL$=+Hbb8WI#w;1{L&<ptBfzIhR<Uq;uCkb~%9e{F+oW~-r2YLG zlY@m=5NTbV0KM|UF$=$ML%e=1CG_G&Mm>!skRbjhOtkPWnfoj&E0rAMD!0uhk=hiB z)6=KJO-+^esqL{fa%|OAD4_kdV&zKKD`p-LYbicepG?0xqJ0{A=D3t@SQzT&L``=p zmQ!x?&+(7-cI%PAZkGBPm`6D~NWl&=`%Tw3P`X=J%ZP6FB_LEROq&_m9ccF+-MfX? zWTMW|I5^?xW30N(e(j-dEvGb)so!^C%lZksW%fO|tF(2lh2DW~A9KHEt)nM@1eqOL zuWYVaFnpKX-wkc?c1(!eadBbcM->u<j8(sqA)|Kpv)q10hck8}7hJM1pf^1x_@$CF zom<k`<P+f8YH|k90VLDjl3$(9$?BmIOYXtY%Q=gC4!?sW%s#mF+mTyI4J@P=5MAF# z>#tw+cavq*Z{V|Z3k;k?EKh(aA6I<jX25AC%T8XlY=aQM209=^F<{7$opwpUQ3vy@ zA+%Ci*B(qdUePT)S1Q!94RQ{LQh+{lh2@zWrVc%rkDuO~HyhTi3v!*XK)lO&E}h_w zpL{`q9b^I*WfUSFKX%wWI!*1wafQpYcqPfn$&P@w2t{;0{gFr<JG4`Wwp&WZ-<C;Q zdpt0{|N7OO=3#x>=)1!^S!p@h*mMcG>tlSB*t6NaVO?iKr6|(iPb#_*1s~RIw`Q5C z_6T=4MX8!wr7~rGmsB6l_NuC<gmH{qYMPxC0J@=by&LP$NlDK17&XlF88bS2T0(B` zePYWq-FSGLRFl@$))4&x#-7fKw$Oi)dce+|n~9wgCabOASvewMc<kB4L<z-GgTpfN zQrN(gAEnJ4!|*IeA52X_0c@)EvgOOqOiQ5*9xu)DEIa6Bzg6WeRA3w{I3iQt{p#B< zb3%$UQGJnrg(;ia)HJ7iZwai+9Ca;E$f|9#HE}#ux&0?xiL<p7k~mnvlM1!uydZsK zl!ZY5%Rah$&9#uA=hw!-CtQ=kHIvv92E*$IkVY&uQ2OOMA@kPvk87Y=FqJl9L>&hi zyt=xL!y*!h%zQfwk8F(`k}$iirreQt3=yt-_wKKv^bQuf5ARFOym(DC#wna>WNV3u zxlf<Uhv#0oc5Pd>w1q6sap}?lvZ8d&j+pRii_We;f2@;|4C52?7&HXxoIg;OZ8-EG zsw4dI^!DC0QvFZ)+qY3Wp{+*bR_YHK@_pqAVQ4e$D&8*vQ!w#Nn#QkeYkWLf%-RW- zC`}r0T?#sY(o(w8q!O0S)i=JXNB4ZW41<TGMK$Hw0cg1^Z;lL*jCx8Whm+BGsmQ$U zd1{{}6`Kd%4cbLv65Lsuc8!$3T$F{!d5MSb*c=w{IaWm-Yn2EGDY&#O`d3eq9%BAm zNPF_DFpX$>biS7;1iSNkRt6)eh`=XJ3+khLQgV|7vsbjOc*i6%|F~#*uUr{wHW=^H zyhS)m@TeE37!x1Db3vy=u~YRhk`zAymdCj=BlS6M7tnOIwG;D$w<hCqN+MVI0fsJ^ zi;r~c4uCc(qYJb6{ey-5&;sM2WVEN!c^i2+8Oh6(zG7rdaD7RNvnu=Uu=)mMT<vq6 z#GY~n*QSOuEej+Zyu`fAH@)h)?*VRwG++?E4>@D;@ZphKuPd+5og0cL<?`jPpFdwm z^W$Z$nvzD=rL3$!)B)V6jyySw#R%NiiPdN_acpqJU1vzInPgydH|7&rgpVJ8r8Yuu zlP664GFCko5Y_i?H^4_?1@d*?-hwm}UO0Rhkpskra)T$Zv+sy|6?rTw@VC~wm#aAX z7^$`CB!aNt#4M;!(%G~1z#U{il)YP9%oqdZ9g}yGlk!<Cc1zj!U{*9PCu5hgMGi{R z9R*TRVg-~)<Coc;06vRqyo?T0yiZVJ&<1Jh6Zzp}L~7BPHg=LOQn?>Iu945E`~3OY z@^vgUD$n|QrFe=&Qm8N+uq%E#QW@Gz{NE82m@HI)it%YDPre7CcH3Ol<Oej0D0l|5 zzO&O<0f4phDW)&)PfZ<surM2PTtGl3Kk@X$w>os*)@xng+v5fX)8PD@Gx!QSTF|4R zq+*KzA(Yh8zB+K|&~_8ex)RCrORvms5Bt&+prp1I(-Cqwrop93mf{FvQKo_4FA$rn z>jP?m-7-cCp{C7DRZ&*nsGkQMK~V}o%pwoEd61T+t7|FmVYF%%(G{@m?xH3#Z)~!j zE&tA8!Y6mzfC?$wQQgeXaqe6hBNPC{SASpCMU;UG5XtnTd4+G@9I-sXyE&DV)Ooh* z=W`u0l<(iZQQA>QbRJMxPyiN7MQ)<{n8!v59zTa=J1c1#Yr6Kx42zWzW1A?YPACd3 znH4K!x^>(5yX`P0I6(LWbE+dsIQbnY_7U&Uwb{)~UyM~$n_rXW>{eOH;^kKqx+Q@> zGP_Gjw95Zv(Wx$~JzhS2`V9&rK@>-*hN;(1cSw6&dCf^Jq!gUirlvOtn6JwA%KZ|H zU9xm3Q;=Jw!=3EZjd==WSm~hwym~7u$?Lwj=gyij<9nN8$SMk*{Az|n<IMcO(dKer zvLs&j^|NQl1IF{wxA{tw!UCdJEM+UJ|8Vxz*^>$btW-{p(ZD~NL3Lj&|NGOsL znQ2y92xy)_-y0F{G};)npJ+_pWbOKKKrn#E2U<jaDc<|wy_~iUBaX^()V5UPIgFfq zE;&^MmkiY<cH$WH3dDoNY)q7QjzSt0D!|HD>9;v*Q=fxuA&6Q2=8ej(qo22k1LNQ% zz*`SHkZrD!IV?+S-ve@7f?!HXExVU(o;gvswxr?0*{{Ftu>fYukoGGh3Y*LWc~f1& zq@#L7<_R|h>UCpbZWo9nJ`zW0JpLH<bez-H+)5dB^FPF(-QA?aa{+_gHjh8vzg|~- zcr1MYRTY&?VlfXW=-MHe&3+QZN;H#d82#RD?wtCZdxgKE)aZspF?Rx|irfR4NajA; z+WaJX^}2iz`jcG}Z99hXUee!yg*<ou{F@j*291ZvnDcV{IE!)Pwf2D7@3+z#Icn6M z-o{#s7*U{>p>HUjN5_g|hjc#D;S{5aU>2zF!Cfx=@Qw42?xBp5ftW%Zh>l9VXuN_K zI<hpCHLgOMzmb2l+qlZCiNNo$0}!d0G4x>WIue)duZL4wG_|x$nK~7uI2#ih=;7w} z?OiTjyLKF|1&SS1F^?E?>(-gaXR<cAlZ9%Jt{d~{a`cy<G;7vDgl3VxVDM|+ynZ&E zU&v!J1k(95r37`pW9yVDQ-ntH+__ogUJoBmA?J9$+;F0O&z{lD$1|m{4saTDA;p<^ z0R5r+nDT`DFV5RC!7TxKAwhe3cqjo_pY$8~DQI`t4=|2R=C@K)C;wwf>TtsG{f7@6 z;TuL*3v*t^#&d6O>T6xxNuo>6g)OgSbCh|VKauED9*Ih#wx(u~P2wPhZlr72b!}b_ ztN_{%E=543DBvzzm4W=|XTj>2p*I61*xSYZd|oZKw|~U`M?ALEX4u9Gqm0LkzjL*e z)nU@?X${v2*~RqOE)!c`2m~6Tp$IWia+rIUZFnaK$!&V~cVu)vcDdQKL8<n@kYN$s z9;E%M4%-3x@%S&h(9+%a04K$`xVU%M?xEheVAiY+Ae#vZT5fBQFT}BswPiwIi6Pdu zP3G4Pk!4mG)hAtxhintA#(dKzq-{m!ShjPV2~7Y;-7b3##cZsG9u!{h)vGU%)4X|; zaT!mVQ%u%V$CGCTHqVcf>kyMo_Z3%H$k|m+?}~N-pc)Qn8$2%k%4d-X9UDP};p352 zf+^6fHkSll>UR=Wj*L>sYH&v}wq3FPYfhyPM;onGHHfl;#NE5^iCgWG68>~jjKnWO zi<&WQW+t5u-hgf2Wn$t%PawCstS#}tVq+X8!wQ6MK<p@gRg2Ge)cWn#xEzhBN^J|A z9>xSX#F@Ie;3Ct9F3>B!27)QMRPYcuK~A`f4IYej6?0bxV!V_4?lqtfw{0cG!4mrY zR-bF=q!4PRMW>Ez5nRL1EUxfFaE%(}fJmevD}r*3WmCli&LP7dbOfM{bUm8;4g$x* zVvpUT$M}*HRydO0jgYjAJAm1iqy>do1g?V5U%xh`Lm!}~P0kORSaZfAuDAYlk&7{9 zua~U*L=9Px4!41E`PC2*q@Sj`9nH~P2QS&z^d0l{Wo0)L6Sr}n9!B>AUu6g3Sr8rF zGaZbP1BFSDqa)Pt#j2~59`x8EioV`${hnlP`T6;`ZwKMJ*w%)x^{3fXtE4R#F32ea zP}mUTkd8ay$nuaB589&VFeRN`#b(oyH;jGA=nT=I<&~zZzT*22G#F{@tM<q*EzL+x zl|DRGLv{-6-QQt@9y)=fy^<wJu}KKmtr}aqlEw1&JUY8LinGKkp+eAs?-8!87^#ld z0e*I;hJBtzB=5H7GUo{y7iod{@t$6**;e#9^f$uU!o8MP2mWb1W=!rJje8&<AiY0- z{_JbD2Q&(Y_qcr(@sksaDXcV7dio0U>w$rRJ;E2WJ-xkqOo+PeCXy6yufA{KHqTn` zz&F1v)_iV?RL%+7g$EDfYP#+EFp(4mTy^tLj?I2X9=o?~lK_Wm{@E=Q$c>yMGc$9- z)i<0|IgwKa^fK*&foya0HZw!!u%0@%`ng5_otNHG=W9AReGBu}|8fC5JS5)qV5f>C zLAglPOzC~gbni}TYXwHSWy?**t#7A@iGrWh`VQD9bv%H|krQ1pl0m5*D~Hl%U<(9| z&slm2Is+BP+@Sy;q+_hSF14ZKFNB+}F+K|O0pm+8k@&~ex_ST1CB{5jirKWjc?r+s z-n}lP4rm-NVa6c+*$Xo@-j>@4z4!Lm-BMO@)-pbjSPbOH1Jl~`>g`)Is8{z-OMM>e zyM|K$RQ8T9Vm?HGcZmaakcPkD(x}wpBCD_XvfG{r0uVvoF8nc;xXQ?&zl%NoXz3Ue z6JmPXCsdY^JiX|m|H(Foo<{?7%0T?rZK{2Ek7Ky4MHhgm38uGiDeH`&1#&3f;DKB0 zmX=N?H^zG-%X8>`lOMznnI1jp9Px)WtdSTc*J1W&N6nAl;-7|4!qI?&AMc7zvf=kz z<~dn2r%xY&4BP!JJ=Q*1u+aW#tuLZ73^UO*;MwqLM#?{A#Kb3ou0=$=CQsmm-TCf& zwYA{k7$i~h^l8+f8RhagWtDpI3-9cw9v{$>TP7<>3j7mCQR@?qtzX~$-qQE?U`GIf zKW(e2`PCks?6BQ>MrO>$X(`mXi8PtZsH}Lq79|t>&Va8T-QB9T8qziu9qs^GmA>K8 za<T)$(<ad;f*;8IEdLC4Uuk$}`&3o+PkZ|fu;bK4Mumpit6Kl^DVtr`@1z3ys5EE! zU7%h3cgYX$PGg!T$LIrPzJo@A(r$Q$MWb3Lacq%HW2cPjQop&Ll?AzN#PW@+dMa2y zSRyo`b{<yiV*GSGXta^?1sBk1VP<Z$s#Bwrgv<%qtRI6Y1)5PG2NQd8Qy@PyRs@|t zKWs$?_Vj=sJ-wwu@6^|?;2h@h{dhF;PIVJ4s~e|2|9s^HR*G$GS=qT_545NWotrn4 zD;#$!8F5D>qkh`Gr-kf&4~0H`1RZ2fD`T%$pOnM@XvUHkvW|()5c~G!R^s*GiVPJv zCR~R_ix=-)xloKbe7p|jcSPWx(~@g=N2G1uZ~uV<L+Hk%J1q*{dN2_$V0uzJn`%15 zXm3Lno3E=7T;<F%adpk0aoQ-I&1pg}u)_E@RTxaOf4j`tKb4HM|9Y|8m>Jl4+pW>h z47RPa^O8l2h9ezZogr?c6jUi;|0GyLWNaCwKJG6E+${#@sdr)qw)g6)`r$GqP>S;} z(ERbU%Wj#jJ?C(W!J}g84fsX<)YL#;B$kc%lN7qe%EQxh(9of~cI?3K+Q$AB_pv(N z<t!(}{p770+W}-qq{@d)w#gct^YfWonziiR$B(^fwz+5=MZE-fzZWeW22_`uS7mJx zrw^8X`7#Ga$Z>kEG<ANRD(ky2L{9yj@URtF*K=qc(C=Cc{`|h@kH=H{#@oKV6*zAA z@ZpTBV$+;2v#vpP_YQCPQw*K1B<Wy1>|FM>Q@k~z6$bdf@Q3xV?QGfT1vW~2_P_tw z^tmlwI}#Jp(9k^cVektK4J)@l{qgA8Z%Ng;gB2rxz~^)`0If!EqHL4sVWv2zjFT^t zsvJKo<`A=I$NkodRp{43>xEx*-(;y#opAC0eM^&O#kQHPVw|D^ao}C1C^+lq!?%HE zIeSI|(t_Nf;zp-aCn6#6h}<M->c&Tfq&*|UpRESbv!QszxFuWv5N!YrHD`^9NU+&< z>VF?DJR@;)5BHwW4gnqvkKF`2WU84$H-ScuZPYSy5STZ%O@FQ#irveGU+{y99g+Y! zpwEX@iz_4~PiMj#^78f$8<A|@)GpGFGGI~u^AB^?O-~Bcf;Ds_sJl3F-$GZ_+Ow(P zgrltX!MM0BTps_I;QF`SY3=N^m?;BDP7Y%nSC-{^!f|V_>hcG<;a!e7Y(U$Jx}taQ zP^Hbr;~e7OH9Fjf{TUY41svptB{xPISw6|N%l^DYt0zw`TwvkKsQ%TfH`f-ZOFJqY zc(8>2yH9;v{`L)JMLWmK;t2yRrqHeY=N9#d1WN4l@qgqjIC?@YGv@xi+4twF#<1wZ zI`4Mt<2u^ruA4p;sBLm2*6>A<5fQtmzFNbKBl4|K{7yT6CUou@r+++fL{FxahYw#v z4FZoDDV=U}e;z4q^BJ!rA8J|2>@HKW4K(GlqHPST0wp67fZBF$1PACC<H|jD{N4O7 zD5|EuwG!Is+m38~3H-Pqx}lf-?bvi?PXLzGfx*X|`qQInmVT7M;WZh507^*D8pr<n zgrZTXrDjX>u3bH<wZ6^chT8xBZUDO(I&4_rwf%G`;BQjVT?RzjF!^V{s$u<nMZs{k zml8SX{A{dA`tux?0d`#mRnVF5E;3v{ImH>|r@pS_#fz{nGIl!h?dKuU{~Gh|dQ@9Y z<%C(S6+WLyM5=tQ6QbXrkDYG5Y3oxMTPakVR3{nNuV<a#?4CZC`1F4?op(S_egDS4 zC6!R2D58)gp~#9f2qjIC5s64LA~ZB4AtTDD2rWsXQdUSp2yMy83=KjlqWZng?f3M@ z^SIsJb-w3(&U;+%>$=_wVfg~xDybChcgyVuzEXO*iL;K<LTFbSRy}UF>MgS)E;aRW zK|xA|Dil@$JDN1mQoZLymHjpy9WMgo&X~k{4ZU`43fRs}_1pf?2{a;p>xO(p(vHoy zP@C134_8xjg8EJZ@*7h=hPTo}gEy+-SdYQ&692))Y`9umvEn~fjI*~GGrr{HntZR2 zHQ+rAUc0LH*=Cf+^7M1_UL#9`sQav9rSL|aoMOtcDF(p+k@fNQ%}a$t^V!OHy3+TP z@3;+4F&`)ns;dtlI)uNH;q3AtR&`#w1Wyi?j*xlRSKnAKE;*fIf<e=ip+i6M+on#j z-#A<^7pw-@1mf1gmI}@3f43ktGHh##z(0<m0iX_FU?O(5w!tQEJ1kYg@)>lU0(k*R z>6kQjaFrw{n8uo**Kpvpg~lY7XMt$^1w`Pl=&p!k6_d29*NH;oAWPBXQ!Q}zz%;SC z0q|B`aUvD?`uu{dTKcSi_X-~sVR;*|JNxHMD+`O`P`hT&?*4c0?%i;ax@}!)I1<kX z^ul>9)r^UV2ApoGF^(%&Cb0^H6}&HzV^Tba)Y02O4~GS{V<FZE@MRjZwWe>q^Go{D zacm2BPwQ*w|Cj!30QMNPL|1;?{N4IT^wWUq1yr4}eWiQzAA<+og9SUg4$d<_gibq% zX#2<cqn}u`8ch&(`ZzmxlYDQ7%_oRBB(HjA7@$%XvuCG^Ayk%JvPi<1Vbg>@OnG?v z8WC(Y|G28tJTTiiT8NY#>bBbiSte1sLKn&|mapsl+Dk=trL%KTI-B8_Ug)zkueioj zGkwx!O0v!NfU}H^3c{xtGJP;lY<8GW^}Hkd^HEYhM;cG6g6j4C#e?6B1g<EpF&MqQ zN7>4Ifo2Sbe5c}pWuE9<cm}q>0>&_)TNftnFsbp7s4<)hp;JL7G>-4nIv>zOyBlr? zC@Q~u>Bq<xQlIXH<?pPcWF+>ZU&<UU?9LKx(}UzC2KL;o*SEW1Zbo-ilu+!7Wk%}U zWz!}7Dq%2DbAKf`NiJAI4Di&a{MCrao@bp@x>RvnK+|2>cW9=hgFf2@UcPnMs6$`D ze9%FD&6F|HK}co*u0V7J{W1*Kt5+HQ3$j4|k7+4BbYc0+f=X6)tD94FvWtYcr!RMJ zP4|+#x9gt`ztu&haB8e|(=luxIn!;H=U+!#_fe4@%3Ni%ApM@HuHLgtbeFJv?s|-+ z)K9_Q#n#ntplj9wFC}w$6}MvjZy0&fi(xjIwct&TuVKYXym*Y``!z)jcx~FQw8*Jp zki2xH%Bc<}Pj6J}3coczmKeftCNAK4FQ;9!MUhX9WJxV1v3x_Dn5jmDuinuc-gNyO z0e}rXv2mZ3x=G&eRou_Bs3Ug1y_RA^v|aKXquzB@+>$;Ln;p{~AQe4Wp7GzFc8AN` z{AEjrdCokO3^mDBuSoH&>Zw)M*<ZKI_U#idw@54{a#xdSYC!+xd-C4C83k`+{Ga@L z_ik$%$tMs*;P(VTqNN<fUn(??>We-`QpM!t+YMJ4#@y2uO~2mHQ?6565r@WFVZ`v^ z{1Tjx^3HG7r-o%fWuY-fM@Rnnkg7>en_p1B3<z6tb;FQF)W&V8fvx9p9W*|`D-wTl z@#VkIIJs?YZLnl2Dh!z8P(tRkw=x=`NcP2jgy9^OnGE;W=nbF{8!fXIINI2}{rGY7 z+uNPJ;PHXsR6Kq>f^Y@761ZD46ao=loB$VPa{x3$$-^Ld0vJdb5Z`u-5~H-Vk-+t8 zBJT@e940Et*S|J2u;`i%=)lfoAc;O$Y{G+IIzp4}K&+cqP>{I5QfjKXtJ&Fk5p>o_ z%~IGdR@>C%Icn4eP`a)XK{!{$Sk7~F{POOdxZ?2%9&utrozo{!1*)mNL6~%FBLgk~ z|F_7^j*oVcIn+}@;ZSt+S!+$<wkRp#h9FfqGqD7qr@7(vlBCkzci(|h<~9QUP=?h{ z*~h<xpe|}e|4kV<)h3hW+uVHzW5d7Sw*QCZN9k`mi{a_^Tqc<?_M!Z=A&`8lC|`i` zK~h#_*MB@1;u$4bRzOEPGa2Ij0BtWw1!|ArAj9)5Dal~J58XNTV)D`<a;oi=>kK>S zUrn;P1TY$kw{3cY>+j;l1Qfs$XiiulLZK0MPgBVLtYc#<?|C;Zhb2pLobQJ6>mlnc zRFg+!xfe^4kw-hV(bo#|kJ$h}UbJZPHlT9MF5b4nYhZP#Six%=F(?&m71(AZ-@iYA z*tsP|prAK@z3ckMIH?qt*UpfT6MSYk*+kfm){2}a<&^X17t@wd_oPQb7Z7CY1PNwb zWEawjbsaz@P<pK90vnrjcH(e8wzj<5!mQyW$T+-DTnVKvK$B?a)`8F!H+;~KIe+t} zKYA@%Y4L4pT3WRX-I(?OIk}H}!EixO&l6-1umi~zZEiJ8F0?`3Y;oN;y^&s%M6q3- zPKKy2b?pu^mwyrp0li+JCQk#7EsOZtRawtjK93G2cOj{fYD!pr3^d*CxoJxITzmT= z>gu9p2&B+FRMdEq9YK<VWNY5O1uotj9o;u|E_*)sxV?JxfWRIUcV<DV<*Zp<yL1uj zVLD^R$`vb2UI;sSD5uD>NRjXbb3@JpsddI)B{2!K5cDD4C0{`R1YE`Yz6YtjrUp6* z`;K*8^Fi^n7hhL8I|fcRbW7$}Ame+%M;YiF8LRjF0;7c$>b$^|^%VX^g;?s*h`;bF zV#5bS^UvkHIw-XU%cD_Q^2U_?AH3l#PuJwx9)Ga>T6T88_q%<l92|i%5uxe2<&abv z?4+E<Jy_V7B3M2_gxhBHjV?}l$8ErZKpjX_f=ZBhMcqLa`Sjt#hxC?r@4C>b3NEdr zYxu$p--Ohq1xK2ZhjkrP2ku8NHxCdzD*XUF^mO!5vO%n`x)H=EkG6e2EkCef>}Le5 ztVvNp4*rne$*553Y!0%K&y$5A)VvEJ?ecJSkhGmT{-1*HZ^xgUj$?YOfXWw9YP9x+ zzap$r67<Z;$;LLGFlhMmlZOu(qo9m_f04osQUuLiDtfBj(`0tszH&|HUBI0gPL<o+ zdJY|$L?K4!`vqw<$FSj8a*o`A4IAlo04M?7_4<DC+Xyq+L`{DEgqK7+Xc&K4Y{08o zSYH0qZ_LljP^IrL&)~tM@RMb{p!@Od-)GiLm~3rF;}%{o(_23*|9$S)vXYVw9Ci@? z7{h?7moHUJi{bgB%~3D~isP8@et&xZUSM?7(h9z~(&DQDNmp7~6@n4a_(&Kty@Lb` zP|N@FXFAhZwbZ%CVq#u_yYQnRGowPndKsSa<3M}(F%T8-%?J;VD|drBEc-M8$Cre} z#KeRIHEEPO5N1wWo%H|ua$?&S#32m0QN1Ry=QS40m{5h7g7*^Sgjo}%I>TbxUH+2E zHtvrU$xy2!2^EV*f(fkHa+Q~jMuV9(7sHJDeV8GFBE3nI`k5AE8b)zPON3WAq2v6* z%Olm)jMU^E=Ff*d$-Y}wBpsYtQd-K~f5g#(LV6Thz&AOxw5YuZYX{1Elh3e1p&Pow zOo$b5G%A&A6=Y29?0Q{ym^be-#)QBcn6Mx&d`b?($dMwMg5$`?$hYEcgAZ!x*^vep zFRlXcvWn5ayL>bg8dKA|9B)CtQ&yJAgA^#H3>XEliLk#5!Lx3Zg?4E&9}=%rUKfl5 zvT2;*@^NKEI+S#TXv!YOEX)9$sD0;Xu_5~fguL$3(lj>X4y>fZvb5aK1Q#O!Vlo3h zUV`ug2iOk8%AIsZAx5*A24Pn1jxXeZ0k{#@c=})(fJM{8hpjBM0XXG{RB!O!ym=fV z2QxGHij)!##&8Q@7YZwWWMQM_Iz>iBLFQbQwIF$po4gt!>LaN*GV&Q>lQnBntu?s< zn9fj>ev*VB6j0*%Q7_QU@Ms0I8zL)HaK5~~e<K;iGyOPJ7O)V!Q6dM@4MG3rQeb^I zNjYLf0sRE)gFElP2b(Mfy(T3S|CVl!8N0gop1VX3t&t-kjo`G`!3oc+-k@se->pB= z;x*DiAWvxYXAe5~==emtL|fPx*RNdhLYYfefgV9H#$cND2&qsha{>aUPVKZySR=z) zN{U>`%2Cz|egqoEx(r&7U%(9gaB<bTbtt8mb74$o*P$|_%p&OvzUstij`Fj*e?(yL z(<tV>AjHc@SE2%9zwu5o1tr%og;0P#kb&}fOTPd9%MYMPkm%g`%gd|1GCWTibk3>% z@BzOg{@E_66s?BF#EF#!1+=24va-r~6lXUgonUPdWfnssb`_I^(Pq9`kL%mD&`=oy zghqrnkSRJrqU<R8CT7<h?KCup^g90Y>DB1a7H7HH6OQ2J-#SuWROICBoIyMU@Z^mb zWGaUKTj{)ssqlCRu4tXoFJ8nPipSG>u>U^>>l{14PEr|I1DGO>TF>2J7-WLZ;<-@7 zfV$9R?na#G%t%W@{4MtvernUVZ`9A6M+KQ3RN_gcYz#+RGTqd4+q_R`yaax$wI($W z+a8%8{O9ZZo~=$EycB$>TjTcmcjgpvsT3qQNFNFhw?)&9gEUYq3|d)Jj#(H77@Ie4 z%8HdMUlV`0O{8f!T<~Pc@!GwI8yNJzCkVr<H~i-N34RnI<R<UQi(5W!UksbSsHEf_ zww*36JJfbrXmrwFK6)aE08kqvAetn)snog98-9>b7o=|HlagRD0y5C|Q(AiG#hby_ z%?AwkpFe@|2L%;ph!57<a#H`>V$lg5>XG%KKFgPX__OKF9Z}y25f2t!-Qa?sCO-@p zxF5UqWPa?FTggleax-Js+>3QnUHc5K8UVQ%i~`R+f2wCjas#E~=B7{@FZ~{z_m&UA zXB)U!+*H^=#qyrP((toMrsx8IH8d=bUs?Vj9JC>@!kKrKP}tPs!b}Q_B8nisPpR9z zIMY3E^aq4pPD_hK6T&QEdVCZ;FrF~Cs^tV026PA$O$BQI3tOkCn%YQ7NjdC=2kk?2 zIv_bWsWcTX0h=vJnWe88)hwqRR>2+$I6%2u2pDdfQ!X_X^o#!e`t4DZK5Q<Wa(NaE z!yjLev3z$-O#j2?<moRqo_c-PfYNdk+_HpqOZ<jTez%H?g_GbuuAiw*jOArQA(am5 zU0LPPA1L&AA5CqbvyaA~2`W<qN<64^6eWC;Z7ZOEqBTpnP)|Z(qDDzbyd8IJwwgQ+ z{VYoyGlp%PJD`@|Cy)(ihcfCFCj1QH;Gdsu{Fpb?T7eKKT(S0bxIU1;laq%{I1TrN z_GSym9Qr;ZX+~JCn>TG*s({wP*3OP{8!a_c!nez#3Az-EzFuCUlZ+8yw@|lxO>XC{ z;f{^5hM&UOqCMgsU542;e!P^2AExs>cV6OM`}TG2K>&v0LNbKq!Z48jXyXJG1yj>O zJ+|j+4jZ<u|9E6=j0oR6J$3WVrBKJ*x9g$X#uqd6Ll*nsmQ<u=QcG=l0elzU6v*bT z>(-6Z()!WZ2sXe}hj<M>OlaZ@bt2-~2L%PoE>=?0ky8jQFeD$ZAm6cqUVA~NbXflQ zv17LxSifF1`#-rTV?{4-Z(+DNapHsJqnS~D_;6>%MWim2SB!nmo`p}}Ls|mv6@TEt zGk|AsEr`aYp<eb;RCK)Iqv(^xd<fi%M7u4Ku^XdUh!01P9QpX+0}EJHK1_`-)|egL z^!NA1PV*tkAxMTJBE(`^FfO&Y*e2GRX@(%^8#Krnzqnfo3sR>b>4r{z^X42oJB~{K z^@m_Q!XB8Z&QrsBv>Q`>V|fVBO!}E0XdPa#aN+QtyOI8LSAd`3C4?=!#^ZtF+D%%T zPMl-{IRMh3u{`Jzb(KcMZuXC4`!cHGW)hhqB1(Cfm@Qmcv=#x*vSsgiNvX}q$^wkr z&|np7jRuwJt<aYcB<t4A<<J3;GEHZG$(^=th6qFXMzPrx#s3qe(Frnx`R;}GNCSG~ zfUuUNVN-K!Wq&}{QIn@89dwXnIS(>c!~^b)wzf9-6*@>dk@h;Zg@jM^kJc%O;up@H z+sxa^AXZKK_S^MX+@s@kva>5?K{M~x<bd{<MwOkKzP@5M_nl7#-xDSlV=Q-9R}2cz zoIA%nk>53b-*noS2Tz{(b4K`q%<x~ndX@X&X<;EXRRg8)EyJS)poM(-z1n<zdVDg{ zQmjXU)M$)5^?8ZM5mV&B(u1I^AD`F=T?(jISToHlPtnYk|ECvnys~~NV**q%Uax}P zgL?#ohAs1!(V9j&qg(={yoTIWc4y<wsMbj$$xMjBS78-WdF`~0V3N`yH+jH?Vpo_k zqj8Vqi#Lf3x^+<NfU+K&Ggu9<-BI`5VDb9ut~*Q|EXb^Y&#{_5e0W~myfN_Y;dSoW z3-=CCkFYPlR{)FQq2|A*g@QK@%#Lma1^`%K?pp~7@qwd9_dGY1<9XNQBWT~r!ktzV zWOrUnO9O>toRH?<IdF-qwYB`o!Wr#4_wge^y9`JtqZOovDDvr6(4M=844%!x*Qqjn znbb2a9y`T0pNbT?biM^__eFyhWQNe$5+iwLtd;C{FKNm*uj{NZ)O-NdBL6*M<IVh} z(y`;mBW~#vmOuRPL(u)Ji!9@dxff*r6XD@KDW!?myuK7COddGSv($S!h{SsEr?w0r zykp1uA*VD9@MrL><n1Io%|;J@=NmU16Kx?*$w&lsWOjm72O?3_WR#{EN|)3~FNDn< zvOlY%b5X3|N=OoA<ZmpGmWhFbi_1?Ws70S@Jg>pK(5{Cwv1^($W$6}uDD!;56>bOZ z<p3my918d!7l1mFSPY$CWMwH~%+eP03SOTWAMo-pl!UCpK()Ml$KCGH2)#c44a$3~ zcBD(TII^+H`1J%?CUO$i@jAYLzmX0KIvzg`ekVk9$~5vN?SwyDdLvbc^t1xU9-p>N zrmpz5jgdW*K?*4z%+GJ%G)IhZ(NW@qv?iuiy3<!t=?kJ?;Hvr4rUfS_uL>)Xtd?nA z&YQe!*)r6j<7}U~W2(P#?%du9O^CS3q|--&B1b%+X8|uKrgLgEHKnUiQ~~$AI&6^c zuxP;o!~(Q)Qnk7}1Se{80{4I#ZCmj)jR=^KoITo9q;tfCSnCO{MQS6D?)jUZL}`4| zz*lm(7d!|wgwL}Q6Dh6)8x=wKx%>f4){6Hx2Oce8K)qw3{K6MiRkG>pfnbPFeeiXO ziP33t&^}_Mrb*-@Q~dl%u7(B(wnh8T>JrI=GlL&%XDxVDR3zWC=b)au9khGTJp$oF zcIQGIAOwH7ckhh0k=eLls($akztUNhjikrmlOg%`YJB|QzqGRiNvMY>4<3vyc0HSt z!e?#yxOE+Ld(IE{I#TR0=@ZQB+O@uWn<30l2l<fo0=vf#Fk{qxJHb4ubhd>B++7Yb zjXoQDF|Xim9yC0ZiGDovt}|+P9xal6YJ}a>N^sq$OH3f9BK263R0H<GV`mE@Ou!Ki zX(GMNZ&W_2N{^+2SV`<-7=q&C9-i?Y9%L>*Hqycxwy7NRF6Ul;Z2jBy6Cf))J5%j7 z-tDslKAbmd>JG1kGIPFxDpK@PbA1Fdn{q}g@4QaL1EEA`P>CJHQwq)jr4#?=iDZNU z646qC=O#~{(nGODRdSmVqd#PkIxcJ_=w@2XgQ+tNiDEv%Y=qvliIERj-q^m6DHh-M zKK5Af-ebZ9^AwZ{@vEek{Pf_N>LV9q!aOym{ee)(BIdi6TRxw#?L2E<;NjsB4<Oxk zA8Ar0-pLPSoYdXPjRHMjh?H5^G;Qr~z1mmmDADL}M4?r&M7y!EaUol`wl&Bvx7B?! zKXvY`#1il+Lo)8jkxyQ}MDlGgaG==lsVgxJCunxwa!%l#ZJMek52`6SUFVeh0T0=* z{KnsZ0rV=$%b6z%o-7pVXjMT94CuBT93lw{zw`%PkZSE1VE=NNDcmdaDUL6q?~aIz zXvVG9C>%(T&@<SpF(52I+Gxq8`>I_Gua)ZF-y8JzU@ctG(Mo&4OCOmH$XvZ%gDF}x zCJeBdVc}o{+~oaPx3K%}X?R|h7wRzzp_0;6H-NYMlbnZf4KDiNQb!*w$3BN)2B1=2 z-ZE?^pG9yf2t(9+8t<3CA}y&)S%yexy`Us20bp)BFTDu$Yyim$v=MucE1)PGBwd$B zM&?Q`sdH0GYnsf6Q{vlBmAe_&lm{sN9-JllGO@JAVY;sCg|9Bgr@N0lx>{#4%d;36 z%$t#`wqpIW@mI7rHz+aH(Nh-R7MOJqm<CY-mM(`69_*p2YKY)fAW3u-QO>pPk>B_N zgosnfl?4vF0Ogz<YxJ75lbaiR=FG0U&O|-(c@*gO94(EAiSEzRsC@PwBEf7s@{SIl zT{^tvz`H=1WLF<j9-%L%t$87TO=Cu>we5G@7Af~Zo*k+pGmke<Nr1cow2DiM0HxYD z>FF|`;zJrX@L})kcN#Nvx@xboy384%Vc*mfnwiLhlyV00*HY6!b@~?grQ*VC&NO8b zMioEwZCfGh(6(Bdo72m*0=2S;E4%Qwj_m{$%a(ZSNDGb3`WZf_uJ=%to}%#ht(DlA zA4DAi4WUC|o_p)*b3>&x*T8S@zy@EE^rud;?{$14BMm|mn}^ra?b0T;zaOjm%M<Lv zLQ_H5FS2#Q>+yEe|K`KN2BJsg{|&q8suiP|M=)zZ<$Vk@q^Kz6JEeIeCJ!(KK@z<4 zaCgY&*K)|O<v>$m)ezu*_hH@fs_Lri9v}lOEiVnp9pC12OK{u@je}Op7zY{or3c1s z*oSy-+?ZF@d37x0-c_rTiH=8ZF?(+IQj>5PO_K^McmN$b-3jOSrptu$U`TkEqG>~i zh1wMaHf=}O7)uyg*EUp#hJ}S$X!O%{mH;*Q?!}=cZr%>P^`J=Yo1)4ux)Vj2&I7^( zn{C0FPFCd?=~(Nqumc1J1WL@b?t^^p4NvnEt2}a~_qXOUS3SBZgV7goEe;K3qzvNp z4%=}BnSm4J2Y20{EEy`cZ#uF~$O3ZG(xPP-ScYSs*s&ujeG(Ncf*>6wYG%nnB!GuV z<Tq>x-MyPLz)OM?PJsD=TqpchUSIL(^h1&=1xi2qU3q!Y0!{VfWdS=ZG#Y<zCB9>K zNv5ZC1DDFJ65C<YMNTe1LjfP@(NQnkG<7Jz$i+MdfSeR$N<3jnxj<Xk+tqb-kWBok zwt*=mJ9jp=@_Lmn4<fy2B-Ttl`zgpDyziWjsTGLU;-R)o_l_1YJXhNYU*UH6pMLir z65MbDM!=wbzDNvk3^Z}mrmUSir82J&KWxfw4MMR$QN_~UUa`LL_A_V(z(cKl)$Ses z&y-;wvN=Ej<j!<muYX)WLaRm1$A<#uPOo&IJb+broiE?wO&KaxvPD?SRqL{9Rn3PF z3d+h|{^mIq&zp1WM&;|*uW5Gj@&=C``;)kjDGU7tSOh}@?k`Gz2cuEriry4R{~lpH z9Hb2BdT-P#@;tZ3bWkyE$W#*(&|=bLdJmcYr~X7^KoUMP0Z$a|wk$5%Jdq1)P#=DU zF8A2ud((pddSuLj0tz^Pv|!)<{g*N_gu0mbz5P(%`T<qg463UyM~2thywQEa)Tu@e zgFWRU-{z)w)s7%wJ-Q0Xa-Yt-5#Ni0eNCRYz!0Q1WWC{sPoMG*w>+*`(%Hd*Wjd@9 zn?WH<eyO`z_Df!r{T?<Gh{P`{7N#B@-@VPhd6BHz_^<f{0_*J2X5DvIn3sT|PC^~T z#KQci=#zwJz<`Xd;Ow#1RFYsKZmY?T1Hu}RbZyU_z+PTt5&q)Xm{i{Iy^N6p)j>-O z0-<#|v%8Kw1?iu@{Q#rs-5)@v03}$_gD4&@wn5q}sJ0W8er}pc9rAWPxD6zeo0QNF zUbL@S3<$UllAWn(fjBXDgCzu&&&tY*t83n<EpUZ`r^howmtK)qJ2TcAd;^87KY^MI z*bz|wYRe*p8Gl6IRu<TV`OlCNt1<6Uf5T~?<gyA^=RG#@X7%^(ggfs^-?Gnn#<Gfv zs`NcheGWTK6RR<;xt!hjXW8PfTSloFCpK<1-1=9gpz7<R`d3#AA3qY*N8R$E0udR} z2#wXy2<cr9JC6B7+2j=zwX}5jzll!K^MHCZRp~=QGc<gC>z3Mx5nq_Cunl4E66vW^ z^QfTc*HDbo75{t9$kysm!0``dQl@q3Te!N*iWTPJ(`IaB8p+_#{8jt(>C>@j^KIU% z@nDW&!JRt^U`6mNuClc5v55y*&zUo4=p>J36q_6Q3XEP%42jRYCs@m%0ASyeU3BL| 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 F{{Tc1G4=oe literal 0 HcmV?d00001 diff --git a/app/main.cpp b/app/main.cpp index 452b8be..0db6b27 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -30,6 +30,7 @@ #include "Services/PluginManager.h" #include "Services/ImageINSAService.h" +#include "Operations/AbsoluteConvertOp.h" #include "Operations/PointOp.h" #include "Operations/ThresholdOp.h" #include "Operations/TranslateOp.h" @@ -136,6 +137,7 @@ int main(int argc, char** argv) image->addOperation(new SeparatorOp()); //Mask and crops here image->addOperation(new SeparatorOp()); + image->addOperation(new AbsoluteConvertOp()); image->addOperation(new UCharConvertOp()); image->addOperation(new SeparatorOp()); image->addOperation(new ScalingOp()); diff --git a/core/Operation.h b/core/Operation.h index 46fb89f..6084bbd 100644 --- a/core/Operation.h +++ b/core/Operation.h @@ -126,7 +126,7 @@ void outDoubleImage(imagein::ImageDouble* img, std::string title = "", bool norm /** - * @brief %Output some text to th user interface. + * @brief %Output some text to the user interface. * * @param std::string The text to output, may contain multiple lines. */ diff --git a/lib/detiq-t b/lib/detiq-t index 3a99904..b918c35 160000 --- a/lib/detiq-t +++ b/lib/detiq-t @@ -1 +1 @@ -Subproject commit 3a99904c0770a286941c6158e2a44cf1e1ceceb6 +Subproject commit b918c357c0daaab2c179a99802732d7ce0804437 -- GitLab