diff --git a/include/Diagnostic.hpp b/include/Diagnostic.hpp new file mode 100644 index 0000000000000000000000000000000000000000..85722a1122f138fa1e5274448b430c106abda7ea --- /dev/null +++ b/include/Diagnostic.hpp @@ -0,0 +1,32 @@ +#include <QtWidgets> +#include <QVector> +#include <QCoreApplication> + +#ifndef DIAGNOSTIC_HPP +#define DIAGNOSTIC_HPP + +class Diagnostic : public QObject { + Q_OBJECT +private: + typedef QString (Diagnostic::*function_t)(); + QVector<function_t> func_vec; + QString separator; + QString tab; +public slots: + void onStarted(); +signals: + void Ready(); + void Update(int, const QString); + void Quit(); +public: + Diagnostic(); + QString getRoutingInfo(); + QString getInterfaceInfo(); + QString getDGPingOutput(); + QString getODPingOutput(); + QString getOsInfo(); + QString getDNSLookup(); +}; + +#endif + diff --git a/include/Globals.hpp b/include/Globals.hpp new file mode 100644 index 0000000000000000000000000000000000000000..966fec80322e5921915d1c379eeaea24e0c37e8e --- /dev/null +++ b/include/Globals.hpp @@ -0,0 +1,32 @@ +#include <QtGlobal> +#include <QStringList> + +#ifndef GLOBALS_HPP +#define GLOBALS_HPP + +// +// Compile time OS flags +// +enum OS_TYPE {OS_WINDOWS, OS_LINUX, OS_OSX, OS_UNKNOWN}; + +#if defined(Q_OS_WIN) + constexpr enum OS_TYPE CURRENT_OS = OS_WINDOWS; +#elif defined(Q_OS_LINUX) + constexpr enum OS_TYPE CURRENT_OS = OS_LINUX; +#elif defined(Q_OS_OSX) + constexpr enum OS_TYPE CURRENT_OS = OS_OSX; +#else + constexpr enum OS_TYPE CURRENT_OS = OS_UNKNOWN; +#endif + +// +// Config +// +extern QStringList DEF_GATEWAYS; +extern QStringList OUTER_DEST; +extern QStringList NS_ADDRS; +extern QString DNS_ADDR; + +void INIT_GLOBALS(); + +#endif // GLOBALS_HPP diff --git a/include/NetCheckerWindow.hpp b/include/NetCheckerWindow.hpp new file mode 100644 index 0000000000000000000000000000000000000000..c5be79e1eaddf0118f461aadebe335efd2205565 --- /dev/null +++ b/include/NetCheckerWindow.hpp @@ -0,0 +1,75 @@ +#ifndef DIALOG_H +#define DIALOG_H + +#include "Diagnostic.hpp" + +#include <QDialog> +#include <QtWidgets> +#include <QFont> + +QT_BEGIN_NAMESPACE +class QAction; +class QDialogButtonBox; +class QGroupBox; +class QLabel; +class QLineEdit; +class QMenu; +class QMenuBar; +class QPushButton; +class QTextEdit; +QT_END_NAMESPACE + +class NetCheckerWindow : public QDialog +{ + Q_OBJECT +private: + /* widget structure --> */ + QStackedWidget *global_w; QVBoxLayout *global_l; + QWidget *welcome_page_w; QHBoxLayout *welcome_page_l; + QWidget *logo_side_w; QVBoxLayout *logo_side_l; + QLabel *logo_image_w; + QWidget *readme_side_w; QVBoxLayout *readme_side_l; + QTextEdit *text_w; + QPushButton *next_button_w; + QWidget *diagnostic_page_w; QVBoxLayout *diagnostic_page_l; + QGroupBox *progressbar_holder_w; QVBoxLayout *progressbar_holder_l; + QProgressBar *progressbar_w; + QLabel *progress_info; + QLabel *progress_info_time; + QGroupBox *log_holder_w; QVBoxLayout *log_holder_l; + QTextEdit *log_w; + QWidget *button_holder_w; QHBoxLayout *button_holder_l; + QPushButton* clipboard_button_w; + QPushButton* save_button_w; + /* <-- widget structure */ + QTimer *progress_timer; + int lang; + Diagnostic *diag_obj; + QThread *diag_thread; +public: + NetCheckerWindow(); +public slots: + void nextPage(); + void copyClipboard(); + void saveToFile(); + void changeToHun(); + void changeToEng(); + void incrementTime(); + void finishAction(); + void updateInfos(int, const QString); +private: + void initStackedWindow(); + void initWelcomePage(); + void initLogoSide(); + void initReadmeSide(); + void initDiagnosticPage(); + void initText(); + enum { + WINDOW_WIDTH = 380, + WINDOW_HEIGHT = 420, + LOGO_WIDTH = 120, + README_WIDTH = (WINDOW_WIDTH-LOGO_WIDTH) + }; +}; + +#endif diff --git a/include/ProcessHandler.hpp b/include/ProcessHandler.hpp new file mode 100644 index 0000000000000000000000000000000000000000..4fc5fc4def72c9b766c6a67fe113ec2b3e6c41c4 --- /dev/null +++ b/include/ProcessHandler.hpp @@ -0,0 +1,17 @@ +#include <QObject> +#include <QProcess> +#include <QStringList> + +#ifndef PROCESSHANDLER_HPP +#define PROCESSHANDLER_HPP + +class ProcessHandler : protected QProcess { + Q_OBJECT +public: + ProcessHandler(QProcess::OpenMode mode); +public: + QString exec(QString commands); +}; + +#endif + diff --git a/include/Translation.hpp b/include/Translation.hpp new file mode 100644 index 0000000000000000000000000000000000000000..36d09d6b9ea6f21bdd831e93dcaa9aa27dac7367 --- /dev/null +++ b/include/Translation.hpp @@ -0,0 +1,29 @@ +#ifndef TRANSLATION_HPP +#define TRANSLATION_HPP + +#include <QString> + +struct LANG { + enum {ENG = 0, HUN = 1}; +}; +QString TXT_APP_TITLE[] = { "NetChecker", "NetChecker" }; +QString README_URL[] = { ":/res/readme_en.html", ":/res/readme_hu.html" }; +QString TXT_NEXT_BTN[] = { "Next", "Tovább" }; +QString TXT_DIAG_GROUP[] = { "Running diagnostics", "Diagnosztika futtatása" }; +QString TXT_EST_TIME[] = { "Estimated time", "Várható befejezés" }; +QString TXT_ALMOST_END[] = { "Please be patient...", "Kérem várjon türelemmel..." }; +QString TXT_FINISHED[] = { "Finished.", "Művelet befejeződött." }; +QString TXT_LOG_GROUP[] = { "Log", "Napló" }; +QString TXT_CLIPB_BTN[] = { "Copy to clipboard", "Másolás vágólapra" }; +QString TXT_SAVE_BTN[] = { "Save to file...", "Mentés fájlba..." }; +QString TXT_SAVE_DIALOG[] = { "Save to...", "Mentés helye..." }; +QString TXT_ROOT_MSG_TITLE_WIN[] ={ + "Diagnostics cannot start", + "A diagnosztika nem indítható" +}; +QString TXT_ROOT_MSG_WIN[] ={ + "Administrator privileges are needed to gather informations.", + "A program helyes működéséhez rendszergazdai jogosultság szükséges." +}; + +#endif diff --git a/include/privileges.hpp b/include/privileges.hpp new file mode 100644 index 0000000000000000000000000000000000000000..65a5c053bede789e8ac409a0169c1967564632b4 --- /dev/null +++ b/include/privileges.hpp @@ -0,0 +1,15 @@ +#include <QString> +#include <QMessageBox> + +#ifndef PRIVILEGES_HPP +#define PRIVILEGES_HPP + +class Privileges { + +public: + static void checkPrivileges(QWidget*, const QString, const QString); + + static bool isRoot(); +}; + +#endif // PRIVILEGES_HPP diff --git a/main.cpp b/main.cpp index b48f94ec827033ef073fb3c7f060837e90b935ec..3706401bc75855c16695e08f182fb17650acdb63 100644 --- a/main.cpp +++ b/main.cpp @@ -1,11 +1,11 @@ -#include "mainwindow.h" #include <QApplication> +#include <include/NetCheckerWindow.hpp> + int main(int argc, char *argv[]) { - QApplication a(argc, argv); - MainWindow w; - w.show(); - - return a.exec(); + QApplication app(argc, argv); + NetCheckerWindow ncw; + ncw.show(); + return app.exec(); } diff --git a/netchecker.pro b/netchecker.pro new file mode 100644 index 0000000000000000000000000000000000000000..75b16f16329503f4ee36e2fa8ac03c7e5d168753 --- /dev/null +++ b/netchecker.pro @@ -0,0 +1,31 @@ +QT += widgets network svg + +win32:RC_ICONS += res/app.ico +macx:ICON = res/app.hqx + +HEADERS = \ + include/NetCheckerWindow.hpp \ + include/Diagnostic.hpp \ + include/Globals.hpp \ + include/Translation.hpp \ + include/ProcessHandler.hpp \ + include/Privileges.hpp +SOURCES = \ + main.cpp \ + src/Diagnostic.cpp \ + src/Globals.cpp \ + src/NetCheckerWindow.cpp \ + src/Privileges.cpp \ + src/ProcessHandler.cpp + +# install +target.path = bin +INSTALLS += target + +RESOURCES += \ + resource.qrc + +CONFIG += c++11 + +QMAKE_CFLAGS_WARN_ON +QMAKE_CXXFLAGS_WARN_ON diff --git a/netchecker.pro.user b/netchecker.pro.user new file mode 100644 index 0000000000000000000000000000000000000000..7e03c0d70a16a57299434754579feb856ec688d9 --- /dev/null +++ b/netchecker.pro.user @@ -0,0 +1,259 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE QtCreatorProject> +<!-- Written by QtCreator 3.4.2, 2015-08-12T14:16:22. --> +<qtcreator> + <data> + <variable>EnvironmentId</variable> + <value type="QByteArray">{8a982672-9a47-4b9c-b231-1954ba5d7e5c}</value> + </data> + <data> + <variable>ProjectExplorer.Project.ActiveTarget</variable> + <value type="int">0</value> + </data> + <data> + <variable>ProjectExplorer.Project.EditorSettings</variable> + <valuemap type="QVariantMap"> + <value type="bool" key="EditorConfiguration.AutoIndent">true</value> + <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value> + <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value> + <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0"> + <value type="QString" key="language">Cpp</value> + <valuemap type="QVariantMap" key="value"> + <value type="QByteArray" key="CurrentPreferences">CppGlobal</value> + </valuemap> + </valuemap> + <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1"> + <value type="QString" key="language">QmlJS</value> + <valuemap type="QVariantMap" key="value"> + <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value> + </valuemap> + </valuemap> + <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value> + <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value> + <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value> + <value type="int" key="EditorConfiguration.IndentSize">4</value> + <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value> + <value type="int" key="EditorConfiguration.MarginColumn">80</value> + <value type="bool" key="EditorConfiguration.MouseHiding">true</value> + <value type="bool" key="EditorConfiguration.MouseNavigation">true</value> + <value type="int" key="EditorConfiguration.PaddingMode">1</value> + <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value> + <value type="bool" key="EditorConfiguration.ShowMargin">false</value> + <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value> + <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value> + <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value> + <value type="int" key="EditorConfiguration.TabSize">8</value> + <value type="bool" key="EditorConfiguration.UseGlobal">true</value> + <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value> + <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value> + <value type="bool" key="EditorConfiguration.cleanIndentation">true</value> + <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value> + <value type="bool" key="EditorConfiguration.inEntireDocument">false</value> + </valuemap> + </data> + <data> + <variable>ProjectExplorer.Project.PluginSettings</variable> + <valuemap type="QVariantMap"/> + </data> + <data> + <variable>ProjectExplorer.Project.Target.0</variable> + <valuemap type="QVariantMap"> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.5.0 MinGW 32bit</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.5.0 MinGW 32bit</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.55.win32_mingw492_kit</value> + <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value> + <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value> + <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value> + <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0"> + <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">bin</value> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> + <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value> + <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value> + </valuemap> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> + <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> + <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/> + <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> + </valuemap> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1"> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> + <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> + <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/> + <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> + <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> + <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> + <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value> + <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value> + </valuemap> + <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1"> + <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">bin</value> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> + <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value> + <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value> + <value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value> + </valuemap> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1"> + <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> + <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/> + <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value> + </valuemap> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1"> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> + <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value> + <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments"/> + <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value> + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value> + <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value> + <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value> + <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value> + <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value> + </valuemap> + <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value> + <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0"> + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value> + </valuemap> + <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy locally</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value> + </valuemap> + <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value> + <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/> + <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0"> + <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/> + <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value> + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value> + <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value> + <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value> + <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value> + <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value> + <value type="int" key="Analyzer.Valgrind.NumCallers">25</value> + <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/> + <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value> + <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value> + <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value> + <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value> + <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value> + <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds"> + <value type="int">0</value> + <value type="int">1</value> + <value type="int">2</value> + <value type="int">3</value> + <value type="int">4</value> + <value type="int">5</value> + <value type="int">6</value> + <value type="int">7</value> + <value type="int">8</value> + <value type="int">9</value> + <value type="int">10</value> + <value type="int">11</value> + <value type="int">12</value> + <value type="int">13</value> + <value type="int">14</value> + </valuelist> + <value type="int" key="PE.EnvironmentAspect.Base">2</value> + <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">netchecker</value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value> + <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:C:/Users/bebe/Documents/QtProjects/NetChecker/netchecker.pro</value> + <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value> + <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">netchecker.pro</value> + <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value> + <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">false</value> + <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value> + <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value> + <value type="bool" key="RunConfiguration.UseCppDebugger">false</value> + <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value> + <value type="bool" key="RunConfiguration.UseMultiProcess">false</value> + <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value> + <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value> + </valuemap> + <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value> + </valuemap> + </data> + <data> + <variable>ProjectExplorer.Project.TargetCount</variable> + <value type="int">1</value> + </data> + <data> + <variable>ProjectExplorer.Project.Updater.FileVersion</variable> + <value type="int">18</value> + </data> + <data> + <variable>Version</variable> + <value type="int">18</value> + </data> +</qtcreator> diff --git a/res/app.hqx b/res/app.hqx new file mode 100644 index 0000000000000000000000000000000000000000..31de1bd972262042e606e215223a13305d5ebf35 --- /dev/null +++ b/res/app.hqx @@ -0,0 +1,1579 @@ +(This file must be converted with BinHex 4.0) +:%'%jBcCLB6"M1'BfB@0Q0'B%9%9B9(4dH(3%!!!!!Y!!!53CM#G)EhFJG'mJGA0 +P)(4SDA-JD@0[EMS+#P0dCA!J-6SJ3fp`H5"dD'8JD@0[EL"dEb"dD'8JBfaTF'* +[BA*N#Q%T)%0XD@0V)'pZ)(4SDA-JCQPXC5"QFQpY)(4SC5"'D@jNCA)+BLNJ3fK +[Eh0P)#G(CA3J5@jQEbFJCR*[E5"dD'8J*dCTE'8R)'ePER8Z#Q-T)%PZ)(4SC5" +TEQC[)(GTEQ4[Gb"dD'&d)("[F(-JGA!X)'0XD@0V)'pZ)(4SC5"TBfpZ#Q3T)%0 +SEfpcC5!R3fp`H5FJCR*[E5"dD'8J*d9NDA3R)'ePER8Z#Q8T)%0XEh0P)(4SC5" +TEQC[)(GTEQ4[G`S+8h4PF#!b1L"3BA0dC5"dD'8JD@0[EL"dEb"dD'8JC'9cDA* +PC#"TG'9Y#Q%T)%G[)(4[)(4SC5"TG'9Y)'PZ)(4SC5"'D@jNCA)JG'KKG#"jEh8 +JGf&ZG#"K)'0eFh4[E5"TBfpZ#Q)T)%0XD@0V)(4SC5"TG'9Y)#KQD@aP,#"QEfa +NCA)X)'4TFfXX)'9dBbNJ#Q)T)%0SEfpcC5!R4f9d)%PZCQmR)'CbEfdJG'KP)#G +'D@aP*b"YC@je,JTM+5"*EL"dD'8JD@jQEb"hD@jNEhFJG'KKG#"`Eh"c)(9`,#" +ME'PMDb"[EL"dD'8JD@0[EJTN+5"$D'p[Ff8J*e"KFh4P*b"QFQpY)(4SC5!R4@4 +TG#FJE@9ZG5i+C5NJ3fa[Ff8JG'KP)'PZCQmJGfPZC'ph#JT6G'9`)$-k)!T&EQT +[H5"jEh9b)'jPGfaj)'0eFh4[E@PkC@3JD@0[EL%+#NC[FL"YEh*P)(4SEh*[G@G +S)'4TFQ9MG'P[ER-X)(0PC5""F("XC5Gc)(GPBR0TG'8JBA3k#QKdG(!k,bphGhF +ZBA"`E'8ZBfpY,h0eF("[FR3[E@&M-6!a,f0eFh4[E@PkC5mf,`V6V!!!!3!!!52 +R!!%Lj`!!!$)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!5,MD@0ZF`!")Z0TFc-b!!!#lB!!#@KN9N!b-8"@CfZ$!!PC988 +f+5`l4PGFJ`!+C'&AB@*QDfU%rmD"!(qMXi4eB%K"8QYmM2r%!!#meSCk@MFQ*MC +(IB56JIrrJC'!QR8h*LFf6)U6L2rRlJ#&L*9M4$JT2Pq1R)I%eYI@JT51FA&19AH +)TU''h0[5b)'AJR"m5&peKTb1LcEdirq$P**jKR4jEAH*Kk#E!2eTLiQ+APK&2dj +6IU0Vp3!!V3ZeKAa60L8P0Nk&Y++!!!crND&`F@C99'9aGUHBJ3!,8&Sa4P016PC +)-PT5J3!,5&-X1MBP*6Bj,&4+J3!08Pdh48Bf0NC%0ee8!!#!!!PE9dJ`)#!`5&T +HJ`!*5dFe*4FD+MC)6S-!#PK86@"QDh&XL2r0J3"rVlq5If&"0dYZLj[rc!!!aGZ +AKP!Q%a-N0Rf9SC,rrj'IND&a*K39*6k-STMrk[%!PCLHA$BT'#pAPkQ@c0[Ffj+ +MPQja4djqMV'YPZ$Jf-q5TC&YJ6pGH*+TRCT3pZIrNk+HISpiJQapPTHYU!$pICU +CLPC31c0$5)+bI[F!!,J,[T@(5#84%59"LX#ZJ!!-rjHRG(GR89"PGRUZS)%!#d& +,(cK,5%P22#&,3i%!#cP&'LSN%K)P+4T'1i%!$842*M8f*58h05C243!!J!!*QTL +1Ih9eIikCR)-!#C!!MB*iF(*mJik4J`!+Q*D5Rk1RUkHjrq+"!(r4fm#dS)Z%NDL +ma[rL!!$Hkm5jP(PYEAL$XF,+`Irr`-M!b+PjEQjiL,V+a2rcp`$#a-DFJhY`ITM +#cX2Lkq[U`F["TkQ2Nl1mdY$$lZhTj-(-[kHdLCf[`-l(aC[kmIr"bXHb[DqfTV, +$a0$0!2keaX@iPj5(JSb2YG5eqJ!!eJ[D`lQ2H'aXH)Ukh0'!!!cr`XZXVU59PD1 +ZX0$(J3!,LT!!GB@4Mj!!P)GfN!#,J3!,KBaaHhKYEAKlFBf'J3!0Lj*jJS0iH)1 +#HC+-!!"c1'eV!!!"#!!!!!!MXZrrrqka)J!!!!!!!!!!,YcdrrrcfL`!!!!!!!! +!!#lKq2rrqqa3!3!!!!!!!!k,p[crrrIae@J$!!!!!!D,cHAdrrrbfQ#h3`!!!!" +)Ze$Fp2rrmZKiAC)"!!!!NR&ClI2rrr2`DbkS#3!!"l")Q[Vjrrrml(CKSJB!!!Q +b@Y,cp2rrq2+#LAJ!!!!#RU+bm[[rrrrmXkJI!!!!!&l+8pcerrrik(JI!!!!!!! +1QVVMp2rrmYje)J!!!!!!!"R#r2[rrrVkab!!!!!!!!!ekr2errrep1Sc!!!!!!! +!3[M[m[rrmHrh3!!!!!!!!%,hkpIKiGIVpN!!!!"TE$-b!!!*@B8!"CQKE)G92S% +r"6jAKQfNRSd!"A4r1&P$*B%R"59&9cQ%Hid!"A&m-e9%*i%S"5G'8c5"H)d!$h& +m-eC$*5BR+#NQ4&%dJAL0!!paI$*968*8Af9QBh0Y4S9qM3!%GRp+GAq#G!GbFA* +kRp)!rSS!%pMhTRY[FR0VAeGAAA5"F@k'Y[rcK`!@rm,BQ(*aL')f+bFQ*L9(BPL +0FAbb!2L'!!M1hj4ZJ&TI3LD"+!SR4P)cP+PhJ-1`ri3!#HcrRQq(R$094#H"+!S +R4P-eJ!#RG*ArlS-!#[qMZRKm`D&hId)RJ5J+*dC60U$+riamaX'$!!Vbrj4[SNb +rLAY#*i%S#bG'8cb0Vh1RGkL$ri)!#mV0IAl3Bk4cAN-Q*i!S#bC&8Nk0blbkH*S +!ri)!'TQ`FT(rmTCA9%02AM!Q*bY2@'UHrm#rHCB!ri%!'rp'S(#KJEk+4@pTFRN +f3'*YHhf"XG$1ZRHD!2q"!"[r!*KaUR@NPRZ4E(TJ*eprKh@6N!$#QVLUGDCkri% +!'[m!PA'Xrj!!KRehF(P4*6&TI)ZHKj1Lrj!!HX'kJJ!Dr`#CF+IBJ(*B@*9pA5e +MH@PDL'bIrlKjMrrRJJ!Drf'MEjb`MC&TET+'FQCmL99BJB'@cS9mZCRrJ`!BUEG +dLkDEY)1&KRq&JRD"JB"hEB+"HkRrm)3!&pRLKADkb*4SK(4aAe0F8$piCMk4N!# +crqZ&!![m!+C`M2*j-e9$,LU!*J3P5e3dKi$rK`!*dZ'2ETDA-99$*S%S"bG&8c5 +!pqAJK`!*rkR)LR#(9&j#*B%R##9%9%+EMUhrrBF!&IqEcCKhG)CR3cFa-MBrC)0 +dI)flrrk)!![-rhPHEhKkHACdG(D!H!4dCi,rf)N!%e*k1LBZD@pME("`EQKeEM8 +R1ReDL3!6*@BY+#C93LFV,5dX+%96*LJYD$'*!!FPCLdS*eG%*i%S"bC'9#FS,QF +aL3!(*@BY+#GA4#H"+!FR4P3R+#jR-BN!"b4P,#FQ9N3RJ5N(*dC8*5FYCM#*!!F +mGN3r2QGU8B&5"e&XC6ir4(G(J`#&!!@3!*PII8BZJ5m&,NKlB*b9M3!&D(3R5c- +6J48&%c9)+AP`M3!&CA%L4c38J4B&&$C%)hCXM3!2CA%L4c-6&"3@&K3d3b*fE)d +!$f9a)8Bq0%YDBfCKF'3hHh10!"&UG$YaKi+'KiH'KS5$K+MC!2k+!"2Gqkf'JS0 +pE&Y26eKfM)+"PErrpBF!#Ir+hDD&JBpC*KL!&!N60e92Q)50[!$jKJ!)eH5LJBe +586%6J4B+&$C%)BZeLC(,Zrq%!!RZrkZ#PjNK4c38J4B+&$C&*(8!XiDMrr'$!!V +rVm1+MFZDG(Fb&)%@#K3f455IdrqEMFl*J`!+p2qLJUpLaj4d-K5"&JX80N3YPVU +&XSLdNrq#!![4e)k2eRLaGP!c%a@!&JX8080%QY,&`iUR'Iq#!"UQZS5Jrr@M8%3 +c4&JH&"8C3%PTUrr)b)ZM!2q"!"[rAUb$VC,)P$GSAhQ#*6*IF)4lLEh@e-1*Ta( +rJ3!Er`#PJl@(XCplQQ5&A"9BKT1)Q*c)Tm'eKl+-ri%!'[m!Si5hrjq@K'pUL%J +5)'5+Mk@9S+lrRS[*`i)!'[m!TS1bhC'%8%QCMPJEB)KU6C@!V2r"LjlrkS)!'[p +eVi+TZTbJD'QDMACLM)p+6iq2T059MF+Qri-!',A!KTZbU,f4NT5-MBb)MiD$IQQ +5NBbdrr+%!"IHjT@)`p+,Bi&[GeP+9NB`GPmZQCqprqk&!![m!,'$QrPY)8Bc("L +!&!362%BMIB$rK`!*f1@HJD53!#"(0"5"&JF80N3MGIlSj)F!#IqdcjU$NdT3-K+ +"&3J60%BcRjfirrk(!"ArU01QLB50BM8R)#!Q-&b%ISfFa2rqL!!6`rpZ9R1(LiH +"HhZ!KBQ)I'*jrp1*!"0%EbN8(&jTBQpdGA&SFfBP&5Tb6)N!%a*C'aB84c)8'4X +E'KBe4"-@(&XIL3!(%eNF&K9*0"5"&JF80NB8&KaD(iN!"a0C("B95638J4B(&$C +'&"BF@Kq*!!F4@"S9%dJd&B%A"a8h44-9'eNHL3!(,'Sd,bjEAN1"4!G$B&JZ,c4 +X0i-!K3!%ZX#GVSf$IJ51VTh#[Sd!"D+THT!!J@f"EJ9YJSjlV+H0!!@JThD0J@k +"E`9ZJiahUU@0!!qJThH1J@eYEQp[ES+,GkUNM3!2S+GfMBL#NCZKSTqSS)1YU)d +!"D1TKUQiYi+k"VQiYmhTC[q+!"2XrXqjZ,LcTjZ8NjQY[,Hh`p[rqBF!#[rKkmb +jYlfCHA"ZJ'd)JjD6`lQqf3$mKJ!)jqr+Ylf9P)"YJ@m+ES1,GVI9Zm$Kf2q%!!R +ermqha-&fMB&ZJ@m+ES1-GkS!dlV+rrH$!!VrdYfm[Z("Ukb!ES&[#Qk$M(M&j[r +'[Z2JJ`!+qIr+Yp'Phm'UJ'k"E`YZJiap`GLjdl[8`Iq#!![PjVkrjl,6VC1"E@k +!E`YZJiZ-aHEHhEc0I2q#!"V-f,R)rrV+P)b"M*PdEQj`LBqPd2rJhlc,"[q"!"[ +rSp#id-(J`B1MRDqeH)#HUVH[ZYVSjYfmcAIrJ3!Erb2-Z0@ldXH[a+#iR'kCYm' +l`XEIcGc9Zp1pri%!'[m!bVR@rmM$YUHNZipYGD'm[-V#b0(rb,hJhB)!'[p+c,M +6l-#jP)l$[TTbRlUPNF+fd2rF[FIrmi)!'[q`dEM1emE*T+2%ZkfI[Ef3!*1q[X[ +R`VlFc2q$!"M8flV'dmhC[m$"[EbmZlqhYE1N`-#pe2rhK!!Al2(#ZphQYk#bTkk +DN!#BMAqXRRl$bGRrpB8!%rjVdlM'rD9fMB&cF'jZE@f(MAH[J2q(!!RSm-HhblY +eMB&ZJ@m(ES1-GkVrm[#(!"Ere16&Z-#3!*1!E@j[EfjYJBb"aXIArrk(!"ArcHE +-[,LmRi0jGA9jJ*ZfXll(hIrqL!!6fIqPPkZj[,UeXE'eZ,ZlXU#Xrq1*!"1,TRY +YFjbNS+QXVDUNUk&iERZSNBN!%ffBFQpZMB"ZFA*bF@q#Lfe[FjTeL3!(ECKbEfk +1J@k"E`GZJieZEh1CGBN!"ffBFQpZMS&ZJ@m(ES10EQpcQA@*!!GXPh*ZEBk#ES& +["fk$M'eZFTPdL3!'I+1"IRkCQi+,"iUGQ(jqJU5%J`"X1'eV!!!%#!!!!!!!!!! +!!"pkIZArr[lqr[rKI(NG!!!!!!!!!!!!!!!!!!!!!!!!2[EFk[rrrrrrrqIFp6S +!!!!!!!!!!!!!!!!!!!!!!!!qpYcUrrrrrrrrjpce1J!!!!!!!!!!!!!!!!!!!!! +!!$lfh1VrrrrrrrrQh28k!!!!!!!!!!!!!!!!!!!!!!!!2[EFk[rrrrrrrqrSp$S +!!!!!!!!!!!!!!!!!!!!!!!!qpI$frrrrrrrrrrrlN!!I!!!!!!!!!!!!!!!!!!! +!!!Tmqrrrrrrrrrrrq2Arrp*0!J!!!!!!!!!!!!!!!!!BR[Rrl[ArrrrrrrrRhI[ +4q1T@!!!!!!!!!!!!!!!!&+Vqm2lFkIrrrrrrrqIFp%C`mGmb!!!!!!!!!!!!!!5 ++rmTapGcUrrrrrrrrjpce1J"cr+%&!!!!!!!!!!!!3ZrP1McfhHVrrrrrrrrRh2C +j-Jklkbm!!!!!!!!!!!@Nrhd!4rRFk[rrrrrrrqIFrrGU!'RqC!!!!!!!!!!!*qA +K*3#!rpcUrrrrrrrrjpcrhL3!32Q+!!!!!!!!!!"@rkJ$$X,rfqRrrrrrrrrShIq +F!J!hpT8!!!!!!!!!!(hrHJ!fl[rZpIrrrrrrrrRhqe3D,NElL`!!!!!!!!!!Nrp +K!(2fr2Airrrrrrrrr2[cH-&[DIpU!!!!!!!!!!#CreS$X[lrhHVrrrrrrrrUi2r +XK"'VmMF!!!!!!!!!!*!!rf8Ki[rrhHVrrrrrrrrcl[q4!dIbX`S!!!!!!!!!!(6 +rKeMTi[reqIrrrrrrrrrrrjdkdHe%!!!!!!!!!!!!4rV#TU"XrIcprrrrrrrrrrr +rmZV`D`)!!!!!!!!!!!!AcrQY+$cfiHcrrrrrrrrjp[R!VNi%!!!!!!!!!!!!!!" +drm%92IEFk[rrrrrrrqMHp6i"!!!!!!!!!!!!!!!!!"@irk0ApGcUrrrrrrrrjpc +e1K)0!!!!!!!!!!!!!!!!!#['rGrmh1VrrrrrrrrQh2H5c(m"!!!!!!!!!!!!!!! +!!#+Mq[r[pIrrrrrrrr(Urrc$4`%!!!!!!!!!!!!!!!!!!@Mfrrlqrrrrrrrrrrr +rq@i"!!!!!!!!!!!!!!!!!!"+lIrrj1rrrrrrrrr[k2rrkdB!!!!!!!!!!!!!!!! +!!'rrrrrEkIrrrrrrrqEErrrrDJ!!!!!!!!!!!!!!!!!!ErrrrpcUrrrrrrrrjpc +rrrpU!!!!!!!!!!!!!!!!!!"[rrrrh1VrrrrrrrrRh2rrrfS!!!!!!!!!!!!!!!! +!!'rrrrrFk[rrrrrrrqIFrrrrDJ!!!!!!!!!!!!!!!!!!Errqrp+YZlUkZVUlUp2 +rr[pT!!!!!!!!!'PS-c)!!"4!L3!)cmc8VD(2DdY3Jdm)8%a[dk#[f0(5P3!)QT@ +N8d#064mPJb3)*4j4LMp9V*ZJP3!)L)'80"jk8b-UJbN)+L0AG"dhR)L2P3!)Li@ +A1L4q8L)TJbJ)+5*@H5-pRib5P3!)Li5@150p8L)UJ5N++#JU)eGi)cbIM*'9!!b +,K*Bj)he8*#BM)L)MJ#3((&&d)6kJMT19!"Q,K*Bj*Aa+(5mm594FB'"G6hD'*65 +@HjIre*)!(0H&IjBf(B*kCAZ"Ji"qHhYqJ)U4G(("VE5UrrraMJ!Ip`*ZU(564Pq +BLR9XCfCTE@jYDQCKB@prRFlrrjrrrqk0!"hHhZP%!-'1I@9LEhZ"J(YdFA0jJ)H +$F@&KI+V[p1'!jBX!)@CDTrrr[)KQBAQ'GPj&-LFN)L-R+QUJFBGfAQQDfkHGrlb +-!!kVrrqUG9acKDaM*L%K*LL!+3mU)&*a)e+hNQKKPHDmT1[dLJ!1h[rrTQaIK)! +rHddK+bSTJ5J1+50AH5)hRIqREQ+JrrrNL3!1@YhrrkeYBBki14pm8b-TJbJ2+5* +@H#-pRl(rV'YZZ!!eriF!$qQ5*"fqGek0iiid)(T5)LQ$+"!T)PCi)MbGJ2rrR'1 +*lr21riF!$YELl)aGJFZDQfaLM8mM+B-S%#NL9RJL1Uhre-,6I@ff!!$iKJ!2r`! +!VQTYX[rchTk+S8XN+B-S%#NL9RJL2DfLf0ErRQDCrrr1KJ!3d2IaL9k2lI(!c)K +UI9%M+LQ#+"%T)PCi)%5-L[2rS,eVKq$5SIq%!!Ep4&LkFQZ[J!!(TSC5F93M+#D +#+"%T)PCj(Pb&UJ!J[p9eHmq5Brf%!"6ErrqJC(rBdrrrPB!`H93K,#iN+#L!+4! +K9ABPH)c@f-M,iAYdaQXam)-!+IbiprD2B*,rrl$$M@`JI%SUGiC6*#JM)LFQBA! +mK*[rrpr0hhTc`f-Ql)-!+Iq,Z0D$Bk6r!!#PLdJJNQK1JAj`)LK"@@PhPS0PKV+ +3!,hfTGCfGmPj4I@$!#Rj8S2+HQLa6[rrP)j$CTD$D(Pr4ae@N!#&J(&MLj')frq +bY2r"Ehr6UAcrJ`!Tl#0J`R9VZ+D5ciLaM)@U@QZ"G#BN8SCeRR9eTB#9pCk,Y3# +XCi[[kl(qJ`!Sk!j6[h4X[,`!XAkHL(b@AhGmCL%U*#e`JR'T`RHLQi+h)Iq6CTl +rrpL%!#MU(9h!G@ZiY2qHBh#!0Qb$Gfpa*#FTF(pdI'ZlEAD$a2r!bAGb[h&Fri3 +!*r9-IFKjCl#4kBPNHA%EJDU0HR`V+RCmES%b@TjFDE!!rrqEBT,rrpb&!#IrJDh +6J@+M!,jkShjp,iUGMhjr4Qb"HC*,('9rKAH9rrqZDRI'QCrrK3!QrV6`mSjJMrq +FIHH6HApjHj!!K(L-HQHDL(eZHAD9JRcGTfjXVrrri)F!*GVrrk"PGq@1Q[r(KhD +0MRadHU&fER9lLSZ!J94XHhYUFD[rrm$rK`!Preaa[A9MXll$Vkk"I,+0I)'!6h9 +lFQBr6j1(+85LIBZprrr`p25)!#(Crrq3!&k%i)+$N6NZI%`kAN!K*LJM)5)UJ)% +I1EIllfErj)$LL!!LrhpY[(0MQIqhQ6NJI&-G(b3U+#JT+5SK6hBM2*b)I@Vprpq +,!!rLrrqKC'bTriBl*Ae5*#XTJLJ*+50AH#)pS*@EESd!$q[GTF(QP@&YTl`c(ha +6*#Q$+!XT)eGi)6Q6rmE5c0@-!!rYrkLKfT9QCC!!GMPp64iS+B%U$5NT(e&c)Nq +lPR5LrrrSL`#!halFkZLMG'&eK+TX-bNK)#!I)#%R+fLFFSCcDSLqrrrZM!!Ie06 +9h[rrY)GeCR+#IR*RA9GBA@9[H)D&F'YrU[lrPrq2!!bd!#'C58CaKRjaFACkJA` +0HAGbDfq#J9P8QcaLrq'0!!hrG(QF6#8L*MD@MhCqI)"p$RapIRU8Q8S[)L02SBU +"rid!(rm!!'dT*bNS)hK0*6K"5Ne05dG!,PPc(bFT*bT`!"6rM3!Ir`!!D#XR+#J +RI9-L*5)K)#!K)5-I9RFQ+5JR,'`!#Iq0!![r!!"T+bFS+#Cm8L1&+JXM9RFP+5J +R,'d!#rq0!!cr!!"T+bFS+#Cm8L)TJbJ-+5*@Gb8T+#FXE3!,rid!$2m!!'NV*bJ +S*Ra5*#U$+3`U)eCh*5NS*baY!![rM3!-r`!!DL`S+5NRI&!J*i-Q$#FJ9AFQ+LN +S,@i!$Iq0!!cr!!"Q*b-N*5*k@#XaJc!--5TGG#%P*#-SDJ!'rid!$2m$!)956Np +26SkGH(f$I!apH+#*68p26P+(($ErK3#*!!M,b0'QQ-TI2%'$3!K"2'22Q+M8c-k +9!!L5Lje%-)3q#a+$%3J5#d+",dHNNTL9!!KqGiXN#fp%%4L$&`JB%8PT#5D8Ii@ +9!!L#HimU%R*$%"H$&JJA%%KY%#bAJiQ9!!L"HSiT%A&$%"L$&`JB%8PZ%#Z@JBL +9!"H"HSiT%A*&%484$a!2%"!4#8*S$5fCK)U9!"Q"HSdT%R!k#4`V1NG49PG63@Y +l%511DihrfT)!$YalGBmQ#ACZA(b)MSq1MB#1#THDFQHjSkfdrrrcMJ!Iq#"rT@# +)0&@GPiH#IRf!JB1#IhahGi52UYArrk(rrr#0!"hLiZY)!-'5MAPiK)Z,KAT`Dfp +iJj'6K(GhMVAapH@!kBX!)AY`Xrrra*KlGib2G&-e(a33$a!8&ebEEC!!L(0pTq# +dU[r&M!!KVIrrYBGaKifX9K%0$a3@&aJA'!p$C3p#ZU*mGU2T`l$[pSS!$Z2rrl+ +!G*0p,Qiq$aNB&i%@$KF45@i1*j2rXi*hV2rrk)N!$R$KrrqiJ(@IYbF-FN34&i- +@$aF35'`3,*DSrlGrJF%J82q(!!rXScdeaiKcR1U#)`aZ4"!AJaB3&a")E!mVPA( +rrkPhQI,feIq(!!lEjHkEFT,5QT*M@B0!%4H$&K!A%%KX$bUPrpI)f)k![`d!qBB +!$rm!!,PpIlcrl0QUNjFm%4H$&K!A%%KX$bZ`VpcErkYkT[rreBB!%0EimTKcRqr +cbG'DD("$%4JAJKB4&a")E3icPTVdrkc&ITEPfDlrK!!'r9j`a)9rZi!!#,+84'9 +'%4B9&i%@%4F35'i,8C5f!$h(fSH-eD"hrB3!&0rrrkaiN!$Hf[rrT)8GE8B1'4X +5&KD!&a!24f`4H*cCh-r5jBb'c(e-mB-!+Ic"prHHGD$rrlh-R@8-F6XAGBT(%4B +3$a368f-UMDVrrq66j)b'bhG#lS-!+IqD`0U6Gkrr!!#bPcN,LPirMj0T$KBa6@4 +iRApDPEfNarLah)L)d)TGpi-!+ITTP0+-HlYPrrqNP$&HSi"HMBSh#NZEPj1'HC5 +6QH$r[ElrbB'3!0LcMIq$!#R[2hA+Khl"XTl8QE@,Pl9+DCC`%K&'LhDKL)LMLD, +aUjUr!,KlQr$XZrk$!#MV,@R(KRr%a!#lMkZDISe2IC&G$KN5''@1K+bqKkZPNm& +#rk&kUrrrhB3!+1dkFFQ(IX'qrkYiK)%MB(Q&K'S3&4CRMiTpA-1!Kj2-rmM3LB6 +)KA,rK!!Rpf+1ciYlZk(XQAQ-D`KeVTb0IKFBF)k%J5",Uh&mZJ$rrkKhS2rriB8 +!*rq6ZGQ5Gkm!aib`NB%CJkb-LSXdCT+-N!!j"eZ3!*D)SrrrZAf*cDHVri8!*[k +rmr5GGChrUBlUSiGkKBf+MBH'L(bQMS9RGiZ9LilKXS&rZIrrj)F!*GrrrkejLHQ +GTrr0Q)ZHRBk)L+#+K)L2Q)D*NN9QMBapJlErrmMrK`!Prh##aBGi[FE+VD4pJE# +'K*1#3(*mE&`[2k#*&65UMT['rrrbpI@)!#(GrrqHFj6PT'Z(*KY`1bK5-!i8&"! +2%"KhGJdSVrr`GrrRJ1@)!#,rMhr%KAHQrl#4+3jb4!X0%4J@&KJB'3p!Da!VNhj +hIIhriiX!$qErrkeiIlArI5X5F8-5'4H#&JNA%%TY$bbBKBb#M3!2lH#`bHQLGB' +fYL%-F834')-@#aF45@d2+)MrcYM5fS`!$r$rYE(JShPjRA!QEcd,&aH$'!X04'F +12lbNKklrrqZ,!)$N$1(Xkkq(GiL+UQ!J&Jk!$3i-$K-@@TGZMiCqQ-Errr#-!)$ +D(12rrlH4L(f'MS0`Ae*+5e0GDRQ2PB5"Ml2rrkIrM`!HX!!*N6NfDib1KBL0MSf +0M)k1MBQ"JSq#6N55*eErjBd!$[pSEC-p%`m5*)k-GS5(LB#+$BL(ITD92"`2%8# +CJ(IrM3!Ir`!!B"F9&aB4E$d3*6%k2Mmm0biE5@B-&4F9'@8!![q0!!hr!!"F'K8 +@&a4b4!m6%)!1$Jd2%3e)E43A&K8DA`!!rid!#rm!!&dD&4BA&(&$%B3B$"N45@X +6&aB9'Q!!!2q0!!cr!!"G'K8@&a4a3a!AJaB-&a")Da-A&K8DB!!!rid!$2m!!&d +D&4BA&(&%%4L$&``B%8PV%aF@&4TJ!!$rM3!-r`!!AKX@&aJ9F8%1&B-8$"814Q` +8'"F@'f%!!2q0!!cr!!"C&4!4%JjZ5KNJJam-)"P3D3d5%4!9A3!!rid!"Im!!(T +$2i"!!i@9E(+$F3abE*L!2d"!2d0p#5ArK3#*!!IIhH,*`0qFKi5*#)U(RZ,!bZA +JiC8!#,bj`iarXiGTEB0X#'eSLV&qMFHm[j8!#+qVYhGSTBaXFB0`#(&XMk*SHEf +`Y*8!#,+YZAYYU)YXF)0[#("VMU9XIEkbYC8!"l'YZATXU)YVJh!*Eh"XMk9VI,k +bYC8!#E'YZATXU)aXEQb#D`KXCiULDRfrXlD9!"QaVEPkEDL&Ch0lKBf8Q*L@LU5 +YDhHjSlMrkT)!(1ZZUVTiCkUQR,#j[Eqr[Vkr[X6$UU,6aXh9rrriMJ!Iqi+hbCb +fJTE%`lUiYV@fYlLiYl@aXEQqcZIrrkrrrrD0!"h[lr54@pQq[V1bZEblYUqSTDD +YYEr#ZE+a[YAiq[#!mSX!)E+Xe2rrhX5dXVfqUj@#G'eVDQYZEjV"TlklVl60l0( +1rpk+!!pD@X[rrp5kVVUmcCCXD@YZJA!2F@U,RfU+eXUdX-[chY,fqSS!$Zrrrp+ +fVm'aIU@)Dh&`F)&[$R"XMkCUHV[rdlHad2rrmSN!$UcYrrr@Yl$*e(PTU)aXF)0 +[$h"VMU4VIEr+rpDeYparQrq(!!rdb*+1hlZ[a[5aGfQQLfY`Jfm3F'Z1T'Ym[DM +rrmfaaIIjj[q(!!lUm2A&Vm$P`VbIQV1*E(#$Ea"`DikNDhc(rqMJkEkhfR*Tr)B +!$rmN!0HdYYRrmHI1`,q(E(#$Ea"`DikPDhc3dH[UrmkccIrrjiB!%1Mlq-@[b2A +hiHA&SkD,E("`JQm4F'Z1T@U"`XEjrmrHYX2`kG(rK!!5rU+YhELef!"9!06"M+# +0E'pZF)&[%A"VMU9SPF,9!)lIkVZpjmLarS3!&1crrmqb`1cTrrr-Yh5QM@TaFQe +[Ei"`%'Z0T'bYb1RViqA`[EVLYTVhJ`!TrG[kqXH`b[rrfH,(S@LRKQqXZBpXEfa +VE@f8RRZmcrrrm1E`[EVLXT2fJ`!TrmAEkX+adIm!!06$K@LhR)Qq`k0UF)#5S+h +'XCV#fFVHqp$UZV[N[D2kJ`!Tr+R"jEfdf+Mrrmc"Ijc+XTfqZi4RN!$&a-+kXm# +qaZhrf0Vri,HrkY@qri-!+I@6XH#lYYc6aZE%dlR%e*!!T-5SE@b0ZUh)Zl[)ZXV +ed-ED!0DdaIEef2k$!#McKkRIZVEHhJ$B[ml(XVL5XX'FDR&XF+'qZFhAZXl,`GZ +4rmUdcrrrl)3!+2@1VH#kYGcCrmqaZE0iRDbiZU4VEfqM[VbaQYbfZm,Lrq(P[,R +IZ+lrK!!RqU@qilbdf-Rda,+qT@DTcmDqXR"`U,kjXhD3!-k[Y0J!rrr0XXRrrqk +&!#Ir`0ES`E,5BGqpdF'dF,24ZEZmJU("[Eb%CTV!`l[+rrrAYE[Lc-rrK3!QrpR +iq-D`b2r1[r,,ZDfh[VLmZl@kYFZmYk'Y[Eqm`1h6YlEArrr`K`!PlIrrd,+mmXE +-rq2%[XM([lZlaVbj[,r%YER!Lk+r[E5ieIrrhrq(!#ArVVRIZV,Dhq$0aV#dcl@ +h`E@*UE#RQhk)b,KZJXfraGrrrrMkqSJ!)HcrrmLZ`[$4SE9jFDH'HT9rDQjZDfT +VF+bVDA[1rrDarr'!m)J!)[qrYYkjXFhrdEalDkL-D@PXF'p[F("aDSQMDhbmX+b +fr[r[L`!2mIrrdE+fe2q[HffSLfeaF)*[#A"XMk9VI,qaYVL0!!relY,KmmU`YYA +5G@QSM'e`Jfm,F'b2T@TkY[rMkHEUM!!5p[r8dHh,Xl,(U(QQKfP[F("aFB"`#fU +,S@U)emZkdIrrp)X!J1m-l[AddEZaZlV-RA9[DS&T$@TYEjUrTVkkYF6HrrrfM!# +!kKc[rrr8[lbfZVkeU*k9Mj!!PCbNVlh#ZVLqd[rrc[q2!!l21'DlKB1PZlfk[,l +![Vf"[JZpZ,LqYC',[(H9rr#0!!lrSkDpKfeVEAHjZDffZEU![!fjZ,,"`)CcDfb +*`,'Vrid!(rml&Te`Eh"[E+@(DhKrKBL)KS*qFSqKD@j[Eh'I6Q,rM3!0rc!*QR& +ZEfpZU)aVEQZ"DJeVE@U1T'e[EfjaR%9Drid!#rmb$*YaEQp[EUH,Di4`$(&XMU4 +YEfpZFTe(@rq0!!cr-JbEF@j[EfkRLfa`Jfm-F'Z1T'e[EfjbR8GErid!$2mb$*Y +aEQp[EUH,E(#$E`a`DikNE@p[ER+G4e[rM3!-rc-0Qh*[F("[U)TVEi0Z$'pUMD4 +ZF("[FTe(A2q0!!cr,JLCEQYXE'ZQMh&eJh3-GA#6SQTYE'Y[Qd0Brid!"Ip90Uf +,L)#*!V5pT)@R#k6!X)L*LBL,VfKjri8!D$KYD`!!#3J!!!!!!!!!!!!!!!!!!") +k0N6MrrcprIhprIhmrp`r1$N4!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#!%h +ZpEMMrrlrrrrrrrrqrpbhpHa)!!)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#!&2 +qrm2Lrrlrrrrrrrrqrpc$rrj0!!)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#!&, +prm(Lrrlrrrrrrrrqrpc"rrY-!!)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#!&2 +qrm,Lrrlrrrrrrrrqrpc#rra-!!)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#!&2 +qrm,Lrrlrrrrrrrrqrp[!rra0!!)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#!&2 +qrm(Lrrlrrrrrrrrqrq$)rra-!!)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#!&6 +qrmANrrlrrrrrrrrrrrRdrrj5!!)#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%!%r +rrr,jrrrrrrrrrrrrrrrrrrr5C!S!!J!!!!!!!!!!!!!!!!!!!!!!!!!!!!%"!(6 +rrrrrrrrrrrrrrrrrrrckrrrrrVBZ!!)!!!!!!!!!!!!!!!!!!!!!!!!!!3!3MIA +rr[lqrrrrrrrrrrrqrq21rrlrr[rI4!!#!!!!!!!!!!!!!!!!!!!!!!!"!#'irrl +qrpAVrrrrrrrrrrrqrpZrrrUYh[rrj6d!!J!!!!!!!!!!!!!!!!!!!!)!(m2rr[r +qrm$Krrlrrrrrrrrqrpc#rre'*F,rrmiH!!%!!!!!!!!!!!!!!!!!!3!-XrrriDR +krm,Lrrlrrrrrrrrqrpc#rra1!"Qcrrq6!!%!!!!!!!!!!!!!!!!!!3#$rrrb4NM +rrm,Lrrlrrrrrrrrqrpc#rra-!!!HcrrU0`!$!!!!!!!!!!!!!!!"!$VZrreT!&E +qrm,Lrrlrrrrrrrrqrpc#rrTA'a-!9rMrLJ!#!3!!!!!!!!!!!!%"!+Arrk!$!&, +qrm,Lrrlrrrrrrrrqrpc#rrM*jP!!$X(rb"-!!J!!!!!!!!!!!!-!0H[rjLi!!'6 +rrm,Lrrlrrrrrrrrqrpc#rrcriLN!!),rlc-!!J!!!!!!!!!!!!)!IIrrP`!#!+A +rrm,Lrrlrrrrrrrrqrpc#rr[rP!!$!&Rrre%!!J!!!!!!!!!!!3!+Z2rd6!!!)Yl +rrm2Lrrlrrrrrrrrqrpc#rrrf5!!'!%Ekrf-!!3!!!!!!!!!!!J!Mhrr@'`!!@[l +qrm$Krrlrrrrrrrrqrpc#rrr)$`!$!%IkrfB!!3!!!!!!!!!!!J"!prqe!`%!QIr +lrp2Urrrrrrrrrrrrrr6Vrrq&!!-4!&6qred!!J!!!!!!!!!!!J"BrrqA!!!Cdrr +mrrrrrrrrrrrrrrrrrrrrrrp-"Br!&@[rr%F!!J!!!!!!!!!!!3"Srrq&!!"(rHA +jrq6brrrrrrrrrrrrrrVfrrT[VIq5!*lrj#J!!J!!!!!!!!!!!3"Yrrpr!!#&rr, +mrm$Krrlrrrrrrrrqrq$(rr[driX!'p2rZJX!!3!!!!!!!!!!!3"Urrq'!!c%rrh +qrm,Lrrlrrrrrrrrqrph&rrreG!8!C[lrGJ!$!!!!!!!!!!!!!J"ErrqD!$6arrl +qrm(Lrrlrrrrrrrrrrr6[rrqQ!!!Kd[rG*3!#!!!!!!!!!!!!!J"%qIqk!'crm2V +rrqAdrrrrrrrrrrrrrrrrrIr(#a+`rrpf!!)!!!!!!!!!!!!!!J!Qi[rG'UArG-V +rrIrrrrrrrrrrrrrrrrrqr[rdHDlrrkm,!!!!!!!!!!!!!!!!!3!+ZIrcGGcB"($ +rrrMlrrrrrrrrrrrrrrrrrrrrrrlrZ"S!!3!!!!!!!!!!!!!!!!-!H2rrcm09!&, +qrmVQrrrrrrrrrrrrrrhmrrcKmH5+%`!#!!!!!!!!!!!!!!!!!!)!+Z6rqQ-!!&2 +qrm$KrrlrrrrrrrrqrqA3rrTJ0bS!!!%!!!!!!!!!!!!!!!!!!!!#!)IrrmmQ!&A +qrm,LrrlrrrrrrrrqrpUqrra,!!)$!3!!!!!!!!!!!!!!!!!!!!!"!"R+rrqp%8V +rrm,Lrrlrrrrrrrrqrph#rra3!!%!!!!!!!!!!!!!!!!!!!!!!!!!!J!ljIrrYi$ +lrm,Lrrlrrrrrrrrqrpc#rre#$i4)!!)!!!!!!!!!!!!!!!!!!!!!!!)!4q6rrrI +mrm$KrrlrrrrrrrrqrpZrrrUNbIrG)J!#!!!!!!!!!!!!!!!!!!!!!!!$!$E%rIl +qrpMXrrrrrrrrrrrqrq20rrlqrqL#%J!"!!!!!!!!!!!!!!!!!!!!!!!!!J!1X2r +prrrrrrrrrrrrrrrrrrckrrhrb6%!!3!!!!!!!!!!!!!!!!!!!!!!!!!!!3"0i2r +qrrrrrrrrrrrrrrrrrrrrrrlri%-!!J!!!!!!!!!!!!!!!!!!!!!!!!!"!%rYrrl +qrpAVrrrrrrrrrrrrrqhIrrlqrqT*!!%!!!!!!!!!!!!!!!!!!!!!!!!#!+6rrIr +qrm$Krrlrrrrrrrrqrp[!rrlrrIqF!!)!!!!!!!!!!!!!!!!!!!!!!!!#!*rrr[r +qrm2Lrrlrrrrrrrrqrpc$rrlrr[qA!!)!!!!!!!!!!!!!!!!!!!!!!!!#!+$rrIr +qrm,Lrrlrrrrrrrrqrpc#rrlrr[qB!!)!!!!!!!!!!!!!!!!!!!!!!!!#!+$rrIr +qrm,Lrrlrrrrrrrrqrpc#rrlrr[qB!!)!!!!!!!!!!!!!!!!!!!!!!!!#!+$rrIr +qrm,Lrrlrrrrrrrrqrpc#rrlrr[qB!!)!!!!!!!!!!!!!!!!!!!!!!!!#!+$rrIr +qrm,JrrcprIhprIhmrpV#rrlrr[qB!!)!!!!!!!!!!!!!!!!!!!!!!!!#!+$rrIr +qrm2Qrrrrrrrrrrrqrq($rrlrr[qB!!)!!!!!!!!!!!!!!!!!!!!!!!!#!*lrqrh +lrl0jM)U+LSU+LSU+MAHfrr[pr2qA!!)!!!!!!!!!!!"TG$-b!!"8R3!!!!#V!!, +hrmQCR!5ERY(rrY!!L2m"M#fC,!%bRSMra`!%rrrP[EH!Z!@he[q*+#HA+!8R,C[ +rdEH!Z!5h[qVrrmF!$2rrZ%Nl2$`l1j(rL5QC+!`YQrq$1MXm2$T4aIrra`!%rrq +`0bD"*`1&riNTQ5J%,C[qGL@!*`3P2lrrrmF!"2rrX6JRJ5J$KIq*+CNS"#fErRF +QJ#J%*d#rrrr(!!6rrl%i*i%S!iArL5QC+!3YQrjh*S!S"#G![rrra`!%rrqa1#H +"+!1&riNTQ5J%,C[qGbD!+!3R3,rrrmF!"2rrX6JRJ5J$KIq*+CNS"#fErRFQJ#J +%*d#rrrr(!!6rrl%i*i%S!iArL5QC+!3YQrjh*S!S"#G![rrra`!%rrqa1#H"+!1 +&riNTQ5J%,C[qGbD!+!3R3,rrrmF!"2rrX6JRJ5J$KIq*+CNS"#fErRFQJ#J%*d# +rrrr(!!6rrl%i*i%S!iArL5QC+!3YQrjh*S!S"#G![rrra`!%rrqa1#H"+!1&riN +TQ5J%,C[qGbD!+!3R3,rrrmF!"2rrX6JRJ5J$KIq*+CNS"#fErRFQJ#J%*d#rrrr +(!!6rrl%i*i%S!iArL5QC+!3YQrjh*S!S"#G![rrra`!%rrqa1#H"+!1&riNTL#J +$*bFQ*SBP##BQ*bFYQrjh*S!S"#G![rrra`!%rrqa1#H"+!1&riNTJLJE*bFQ*5B +T,cG!590EB@9RCf4I9Na"0biZQ[jf*S!S"#G![rrra`!%rrqa1#H"+#b&riNT+#J +R*5BY1e&XKTbYZEr"`EqpZlUl[,l!`F#jUj[0rBBZ*b8R*N#rrrr(!!6rrl%i*i% +S&BArL5FP,$pJKkLp`EUYRSq$HR0[E'Z!D40UDfjbHB13!+'ebmUYL&Xi*Mkrrrr +(!!6rrl%i*i%S$BArMdPeSlkrVT@!F@PPJ'5"CB0QJ'@!C!YQE(U5VX+jM@c'rrr +(!"6rrl%i*bJS*LL2rpM#ZCYqE@9NC@@8CJGPC'C`L+c*lB(ra3!3rrqa1#FQ,%q +1bX5DHQPNC@@ECJCPC'CcPmIZJIr$!!crrl%e+eHGa+q$DQ4PKfB!CB"N"f9QD'P +TD'GQJ'3"C@@(CJ9PC'f4b2+!rm)!#IrrY'#Fa+CkCQ5&CJYPC'4QE(H&P+'VXVH +!Z3UeX+HFMRpbD@9NCB9Q"@9NETV@qS$r[`#!r`ASbDKiC@@%CKpPC'C`Jjbb[m' +iUCH(HR&VD@edIifHVlh#ZUL0GQKNCB4Q"'9PH,6YJ2qp!)$r"1ZhIQCPJfB2C@4 +RGT+``EZJIej&0LdS*S3P$LFU-$a3EC,5hVkFHfPNCB0Q"Q9TPYcqrrqk!)$r"2R +4N!"TCB0Q$f9PEifb`kq%@$SV*L8Q*bH)+!iR*bBP,CrrXD,"Z*0aC@@$CJ9PJXc +krrqi!)$r!qfcGQ5$CJYPCRHI`E@$6c%Q*5H5+!`YQrje+NCkXF+JG'9PJQB&C(E +!q2rrYJ#!r`2IQ'PPJQB+C@CkUYc"BcBQ*LH9+!-YQrjhJ#B'-f'TcjpaC)*Q"@9 +aZrIrrl3!"Irrr0'&CB0Q#'4eTX29riSQ*jJS$bfErRFQ+#JR*%22pmb1D'@"CJ9 +PF,hjrrqb!!ArrrR&HQ5#CJPPDjE%S91*riNTQ5J%,C[qGbD!+!JR2llrrqUbG@@ +"CJ9PFmEprrq`!!ArrrLrG'5#CJTPI,LfC5iPKIq*+CNS"#fErRFQJ#J#*d#rJ2m +#qFq(JQB&C([8r`$rVJ!&rrrj[R&PJ@B-C@L6aB`l*LFSKIq*+CNS"#fErRFQJ#J +#*d#rJ[m$iCGRCB"Q!Q@,jS$rV!!&rrrm`h*PJ@B'C@kXdfFU*S!S!iArL5QC+!3 +YQrjh*S!S"5G![rrr!)$r!qUJD'@"CJ1Rp[rrU`#!r`,0H'@"CJCPG,[jZM8RJ5J +$KIq*+CNS"#fErRFQJ#J-*d#rrrm!!2rqrqfJCi"Q"@9`bIrGrkN!"IrfrpZ"C)& +Q"f9ia[VrX$JRJ5J$KIq*+CNS"#fErRFQJ#J%*d#rrrq!!!6rr[rUQ)&Q"'5,k2r +rU!#!r`,UNf@"CJKPHFVmrrqa1#H"+!1&riNTQ5J%,C[qGbD!+!3R3,rrri%!"Ir +lrq+)CB"Q"'QhrIrrT`!%rrriV@L"CJ0PGXRpJ2m#X6JRJ5J$KIq*+CNS"#fErRF +QJ#J%*d#rrrq#!)$r#FpeC@CQC),NrrqQ!!ArfIr,FQ@!CJ0PF-$lJIm#X6JRJ5J +$KIq*+CNS"#fErRFQJ#J%*d#rrrq$!!6rrrU`D)"Q"'LhrVrrT3!%rrrRLf5"CK* +TX2Irr`$rrl%h*5JS*5D&riNTQ5J%,C[qGbD!+!3R3,rrri3!#rrrjSKNCQCNLHV +rrk3!"2rrql*SJ@B#CCRZJ2m0!2rrX%CdPC4i3)ArL5QC+!3YQrjh*S!S"#G![rr +rK!!-rkAr[fYQCQ9YbIrmrk)!J2m#h(YPJ'B8CB$Grrcr!!$rrl'@a+1MaCf*riN +TQ5J%,C[qGbD!+!BR3,rrr[VmJIm0!!$rrqU*C'CQC+,irrqL!!2rrrQRJ@B&C@c +!r[rrJ!!-rrr+b)CLC+k2K[q*+CNS"#fErRFQJ#JB*cr$q-#NUGIrmrm!!2r'rV9 +RCQCNJ1Arrk)!"2rrfRKPJ'B%CCI`rrq"!!crrrE+E@4h`e+$riNTQ5J%,C[qGbD +!+!SR2XrEG@0UaIrjri!!#[rrfhGPCQ9Yb[rqS3!$rrrlV)&Q"@9dd[rlri%!$2r +rqkGPC*fQ,SArL5QC+!3YQrjh*S!S#5FpeEGQC)ESrrq"!![rrr+8C'CQCDlqirq +J!!6rrq1!C)"Q"'@KprrrJJ!-rrrSJf4Y[fSPKIq*+CNS"#fErRFQJ#J**Ml-N!" +NCV(prrq"!!2rlIqbJ'B%C*AcrrqI!!6rp2qqDB"Q"@9de2rqri%!$IrprmPYC)Q +k15H&riNTQ5J%,C[qGbD!+!JQ9F0cC(MDrrq$!!VrrmYYC@CNJHIrrjm!"2rrmT4 +NJ'B%C*[errq#!!hrrrUPC@DaL#FSKIq*+CNS"#fErRFQJ#J)*iL[CQ5Fp[rrJ`! ++rrrGGf9QCA6CrrqI!!crrpPfC@CQC@h)rr[rJJ!0rrrRJf0h`dmQ+)ArL5QC+"! +YQrjh*LJS*c@eM'4Yarrlri-!#[rrkB0NCQ9YbrrrRJ!%rr6rZ'H!CJ4NKZRrri) +!$[rqrmYYC*UR,LFSKIq*+CNS$bfErRFQ+#JP@X*aC)ITrrq%!!Vrrr'1C'CQDF$ +rrCi!"2rrp*KNJ'B%CD[mrrq#!!lrrrZSC@ZmEb8S+)ArL5QC+!mYQrjh*LJS*if +XC@D`r3$rK!!%rrrdPQ5!CJ1hrrRrR3!,rrrMI@9QCQ9ZcIrqJ`!1rrrUKQ1"[d! +Q+#L&riNTJ5J%*bBP*LH3!#J1,C[qGbBS*cHiL@0derrrK3!%rrrfQQ5!CJ1arr6 +rR3!,rrr0EQ9QCQ5#jrrrJ`!(r[r1Ef5PQ#Q!+!1&riNTJ#J'*c019NJ`*imS$Lf +ErRFQ+#9H`@pMP2,rri8!#rrrpCPNCQCPV[l[rj`!!rrerl@"CJ4NR2Erri)!#2p +#r+aPEF"M*B!S$BArL5NS+#G$UF2"`UaDMbJ1,C[qGbBS+*+TC@Llrr6rK3!,rrr +dPf4QCQ@YrZlrR!!%rrrhRQ5!CJ4RY[reri)!#2rrlBTLKEXl*i!S$iArL5NS+#H +'ZA0ZGU#p3#D*+"%R*L8P+jVqGbBR1VZ(BhRGrrq'!!6rrr16C)"Q!l(rp2qF!![ +rrqk,C'CQC@h-rrq$!!Irrp4bC+@@+B%S$iArL#JS*c'`Mf0PC($$6bD%+"BR*L8 +Q+M9*BAD&brej*59K`@jNQ26rriB!"2rrm)aNJ'B$Y[rjrj`!#rrriRaPCQCPGph +rri)!#2rTrl0QDljS*B!S%#D(rk!m+5C)`AGPCQ5*Z6NRJ5JC*b8S-d9IITkh`Vk +eVE(4X$NRP+GPD,[rp[q'!!VrrqQ$C'CQD,rrrCd!#rrreA*PCQCNK1Vrri)!'rr +rmC*MI-&$*LJS*NLlhFbp9b0VZfTQCQQhJbH"+"XR,eb5Xm'rXTf'G@YRC@9bZSJ +lZi9MGYRrr`!!Krm)i(PPCQCXbIrrR3!$rrr+E)"Q"'55m[rrJJ!ErrrEGf1@`6B +R*bPK[UPdIXeP*C!!U'9QC)Lq35D!+!XR0CE%U)YiE@CNC'@"CJYML,4[[feMM[$ +rr`#!r`2afGVdJIm)dh&PCQ9beIrrR3!$rIqrD)"Q"'5GprrrJ3!ErrMr['KPYFF +e*6"raT9RDE'F,bq[N!"NCQUjIbH"+!FPE-*hC@4NCB"N!'@"CJKNP,'HT@9PV[f +#ra(LRR+1k2rrrIr$DQCQCAcLrrqF!!6rqIqfCi"Q"'5Rqp,rJ3!ErrrfQf4YdF8 +c2Tl"JQ4SUE`r*8,!Hf9NKEj!*S%S#b9lY@CNCQYeJBZ-HB"Q#'9i`RfkK'4Vc)( +r%r[4L'4`a2hrrq,pV@9QCQ5-lrrrR!!%rr(rVf@!CJ4PVrrari%!'IrriReMHqD +pBl@cFf4UTI+6*b9I[fePCUZ3!)-S)5C0[l@UXll#ZFrNN@9QC@frR'HrE@4jeHI +rrr1pH'0YY[L"r`RcP'4QCQ5LqIrrR!!%rqApUQ@"CJ1drrMrJ!!ErrhrafYMN!$ +djmZHDQ4YUqMrL5NQK,"QC@brB5@$+#iT6Aq)HQ*)B-+KD'CQD+RcI*1QC@52`m[ +rk+CYC'fbp2rr!2rriAYPCQCS[2rjrj`!"2r5qkGNJ'B%ClIrq[q!!"[rrrUQC@@ +Tqp1+CQ4bYDbNriNS,DHAC'9d`8JQK#JG*L8Q*506[+"SC@CQRHlfLlQ%C'@RUY6 +FN@GNF,AdJIm+r2r&DfCQCA2@rrqG!!6r[[UPC)"Q!fHirrU"!"[rrqU'C'Qm`AK +NC(ZqR6Z$riNR3,ppC@9h`%3QKbJC*ec!R@GPCQ@6aFVbYVeYC@R"fF"rC@4e[[H +!r``!rrriS'4QCQ5-l[rrR3!%rm(lT@5"CJ1frrRrJ!!Errr4F'9VL'pNCB6&Lc) +QKIq**Q@qE'CPFX"0*S8S(#FSCX1ACfCQCBh%CTVrjk4PCA,1Y(&NC(c)q[rrJ!! +%rrrII'@!CJ1[rE2rR3!%rphmU'5"CJQbrrEr!!$rkIqbJ'B9C@9QLmCj,#FSKIq +*+TLPC@CPEEpE*B3S"#FUFF@3!)"Q&'@+aQNYQ[rXJf4PFBTUC@@&drhrri!!#rm +!rVCSCQCPFpArrji!"2rZrUePJ'B,CDhqlIm!!2rrmC*NJ'B8CAV*F#NR+#L&riG +#[i&NCQCSYh-PJbJC*bamaSPPCQCPLXCZ+#fDrmeYC@CQC@9QM0Z!ri%!#rrrjSC +NCQCNP[,rrji!!rrhrl1"CJYNT2Tjr`!!rrrGH'@!CJ4PHX*%*S!S#iArKhZjD@4 +PCQ5NPS-S%LFZKX@#C@CQCB['EbNR,CcrTf@"CJ*PM1#!ri%!$2rrrECSCQCPE-E +rq2qH!!6rr2qpD)"Q#Q5CpIrr!2rlrm&TJQB$DleP*B!S$BAqSEU-DTKmC@5)YcB +RJ#J6*c'0`RePCQCPMX9Y+#FS,+A[K@5"CJ4PU2[rri%!$2rqrpapC@CQC)rYrrq +J!!2rrmKVJ'B6C)[[rrm!rrriS'4PFS"QCQ@TMLH!+"@&rH@hD)rQVQCPFF*A*LJ +S*c'5`(PNJ'B8P-9S+#FS+#ZZe'jPCQ9QCQ50l[rrJ3!-rrr`R'9QCQ9Za[rark! +!1Irre(&PCQCPIH6rr`$rrqH$C'59a'jPC)kb-LFS+)Ari(pTZD@rF'9QX)8Q+#F +`N!#rGf4QC@LE`Q!RJ5J0,+f[C@CSGfKQCA6Brrq!!!crrrQfDf9QCQ@EmIrrS3" +ErrrKHf9QCQ9ae2rr!2rrcfpPClVcN!"NCAA#6LBS*ShaQ'5$[9#hK@4NNUd`*bb +(`RKNCQ9USla9*5BR+#JR0VL+C'9faB&PCQHhrqhr!2rrr-4cC@CQCA[CrrhrS3! +%rrrZLf5!CN*T[rrlrq(qX'CPGpVra'aPCl9q*LBdVl9TCDb2+TfGC'9j`%-QFX9 +mC'CPEDh!B8&&3$3S*b9B`R&PC*,QY@KQC*!!li(r#rV(Gf9QCQ9X[2hrrk)!"2r +rq+"NJ'B#C+6kJ2p$mC&NC*Mdrqf2C'54Y$FkQEYbC)$BHbH#VQ9PEF"C6-+*C'C +QG,V[cE[!`EqfL$SQL+jQCQLfPVf'C'9adIrqrr@qG@@!CJ4RT2,rrk-!"2rhrlK +RJ'B#C)MXJ2mIh(GPDX,rpIr'E@9ZZUkiYR9PCif[`ik+Y@GQD,PaQUL!CKpTNDZ +AKRahGRQ*[T%eXijNCAV"5)@dD'CPS[Mrk+T[CB"Q!Q@9kB$rT!!4rrr5F'9QCQ9 +bdrrprm"TC)6QJ2mIm*KPCADCM'aPCQGRCAUcel&QCQHdMVelC@CQCfPQC'5!C4C +NBCHV@F0cC@5IS5T'`B&NCAE9d)eSCB"Q"@@4irrerk8!"2rrkB9NJ@BNX2hrq+" +NCl6prrrmrpGkC'9NC'9QNjPRC@9UKRPQCQQiLVjdCB0Q''9PC'9aPmCZJV0RC@l +!Cb8TMV&RCQGrG'@!CJ0PCjALJ2qQ!!6rrrQNCB"Q*'5*krrRJf+'jIrr!2rrplj +[C'CPCC!!jqUBCf9QC'9QCAA#@V19JQ3CCQP`I*+Y`V*P0+k6C'52YMFR*NI"KQ4 +QC@@!CJ0NEDASJ2qR!!rrrIr*E@9QCQ9Yb2rKHA2*J2m[!2rraE+hHQTYPH,r[,f +TFQ4PCQCNR+X[CX@QM)Z@SUqk`EqYLeXd*%V"GQ4X[AFQJ#J,IF*dC'9QC@4RJX( +cJ2qT!!6rrqL&C)"Q4f5CpI5Y`[Rrr`!!rrq[5C2%[-'j[2q)5D6#Q(0RCSA'B#B +U@CU`X+@9JQa82bmR*5FP9F4`C*Ze15FS+#C"e-H$E'PZK,(LrB$rUJ!$rrrmX)& +Q"f9acrrfq[rrJ!!Lrrqa0LY-B9XmKIq**c"TVX1hYF4j+bJS*LN`-5`S*L8Q*bH +!+!FR0kfhV1@%*S!S#5Fra2rPbX(2k2Z!rkd!"2rrfhPPJ'B#CCI`J2q"!"Arrl% +i*bBP*5D&riNT*bBa8h4i8#SRJ5J"*bH)+!BR4)[6qhFQJ#J#*d#rKIq[!!6rrrL +QCB"Q!Q9Y`i$rJ3!%rrqa1#H"+!U&riNT+#JR*L8P*T%S"5BXQrjh*S!S"#G![rr +rY3!&rrlrfAPPJ'B&C)6LrrlrJ!!%rrqa1#H"+!1&riNTQ5J%,C[qGbD!+!3R3,r +rrlB!"2rrqUjRJQB$SI,rri!!"2rrX6JRJ5J$KIq*+CNS"#fErRFQJ#J%*d#rrrq +h!!6rrq@(C)"Q$'9XZIVrr`!!rrqa1#H"+!1&riNTQ5J%,C[qGbD!+!3R3,rrrlF +!J2m#b("PJ'B,CAA*r[rr!2rrX6JRJ5J$KIq*+CNS"#fErRFQJ#J%*d#rrrqi!!6 +rrrDUCi&Q!f9md2k"r`+a1#H"+!1&riNTQ5J%,C[qGbD!+!3R3,rrrlJ!J2m#kT4 +PJ@B$CAl3rB$r!V%i*i%S!iArL5QC+!3YQrjh*S!S"#G![rrrJ!#"rl)!"Irfrpk +'CB&Q#'9mbIVrrl%i*i%S!iArL5QC+!3YQrjh*S!S"5G![rrr!),r!IVrXJ#!r`, +9J'5"CJGPGE[crl%h*i%S!iArL5QC+!3YQrjh*S!S!LG![i(r!rlN`HH!rl)!"Ir +rrY+!CB&Q"Q9YT1M)25@"+!1&riNTQ5J%,C[qGbD!+!)R3,q!r`I``iCTSr(rrl- +!"IrrrY@&CB&Q$@9QL-5T95SQ+#L&riNTQ5J%,C[qGbD!+!iP2F(rp-q@E@4PDlA +hrrqc!)$r!pb4Cf@"CJYNFD2%P%ST*BArL5QC+"3YQrjh*LJQ*M9bhY+GF@4PCQC +MJ11!rl-!J2m$jkCZC)&Q#@9PI+l#P&+-riLD+"3YQrje)ba)IlA!QA*PC@CQC@Q +3!-rhJ2qd!)$r"26"If9PJ@B,C@GqV-,Brj-U*5BRP5J6*LZCrijVSF+fMQjNC@C +QC@9mZ1b!rlF!J2m&rGfJEf4PJ@B1C@ChR-E-QQT$,bBP*LFRLLJ3*bFQ*5BV1&E +!qGDlRRYSC'@!CJ4NF+(Fqi$rZJ#!r`Adbj*XC'@"CJjPC'Z"Slc!UiKP5MJY+#D +&*4!Q*bXa1daPJU'j`VDCI'TNCB&Q"'4UMm[dJ2qp!!Rrq[rD`,b2E@4PJQBKC'4 +VHj5X[F'kUCH%G'GIA&aME(H%NU+a[F+pVjZ%F@GNCB*Q"'4TKlVNJIqp!!hrmrr +'AcYiYlqCG@CNCB*Q'f9NC@YeJj1LVVDl[Eqq[,QdVD5CM(jcDfCNC'@#CJTPC'Z +)YVk!GFhrqEd!%Ir[rm0G+#BQ1'fVa+q+F'CNCB0Q!'@!C!PPCfPVE'aUD'CPJ'3 +"C@@%CJpPC'CdPVbpJd%R+'I-rrIrZJ!&rq[r`&SRJ#J1*bB`9)Zh`Uk2GfTPC'4 +PNfB0C@9NC'PfNE($VA-p*bD!+!4MbIrerlJ!"IrQrleA*i-S$bFQ*cCCY[2@[+Z +8JA0VCf@#C)*PJf31C@GVFRk3!+I"bE#&8M!Q*i-S"'$'rr,rYJ!&rprqZP3RKbJ +T*b@%rk&TM+Qm`VkdUCf6Li@!IRamIAq"KBQ2Pk#UYEh#[Dr@rBN`*LBRK5J&*eh +$rqlrY3!%rrr3@5D++!q&riJQ*bik6'*iM*ZSXEDkJ,`4[EZkYl+XT*L*H'422$@ +FrRBQL5J%*f6Drrqe!!6rrlXm*iSS*)ArL5NS*bFQ*58Q+5da06Jl2$`l1MJe-Li +V+#BP*5BQ,C[qGbD*+!3Q4FIrrl8!"2rr[$iRLLJ$KIq*+B8SLLH%+!3YQrjh*SN +S"#C'arrrY3!%rrqm2LH++!1&riNTQ5J%,C[qGbD*+!3Q4XIrrl8!"2rr[$iRLLJ +$KIq*+CNS"#fErRFQL5J%*NE(rrqe!!6rrl`q*iSS!iArL5QC+!3YQrjh*SNS"#C +'arrrY3!%rrqm2LH++!1&riNTQ5J%,C[qGbD*+!3Q4XIrrl8!"2rr[$iRLLJ$KIq +*+CNS"#fErRFQL5J%*NE(rrqe!!6rrl`q*iSS!iArL5QC+!3YQrjh*SNS"#C'arr +rY3!%rrqm2LH++!1&riNTQ5J%,C[qGbD*+!3Q4XIrrl8!"2rr[$iRLLJ$KIq*+CN +S"#fErRFQL5J%*NE(rrqe!!6rrl`q*iSS!iArL5QC+!3YQrjh*SNS"#C'arrrY3! +%rrqm2LH++!1&riNTQ5J%,C[qGbD*+!3Q4XIrrl8!"2rr[$iRLLJ$KIq*+CNS"#f +ErRFQL5J%*NE(rrqe!!6rrl`q*iSS!iArL5QC+!3YQrjh*SNS"#C'arrrY3!%rrq +m2LH++!1&riNTQ5J%,C[qGbD*+!3Q4XIrrl8!"2rr[$iRLLJ$KIq*+CNS"#fErRF +QL5J%*NE(rrqe!!6rrl`q*iSS!iArL5QC+!3YQrjh*SNS"#C'arrrY3!%rrqm2LH +++!1&riJRQ5B%,*VqGbD*+!3Q4XIrrl8!"2rr[$dQL#J'*bH&rjK#3CG#"8&'Tre +f*SNS"#C&arrrY3!%rrqp35Z+,!+)rpfD`36$irGk+SNX"#Y*b2rrY3!%rrrJTCZ ++R!$(R[m#qF#ELC`%QkRPrrqC!+X!![Era*U6!jE0rrh3!)Mr!B-EQ4S")*D)rmF +!!rrrilH#X366rhm@&CF@""8FN[r1JV%$ZZMrrmF!"2rrXMSUJ5X$L2pr&jJ@"48 +FN[pj+B!V"#T#`2rra`!%rrqU*K5"&30krhmAQ"B&&4b5rQX6J"8%%bkjrrr(!!6 +rrkSR&B%@!h[rIaHB&J89(*,qDa5!&J38-,VrrmF!"2rrULF9J4B$Hrpr&jJ@"48 +FN[jV&)!@""3`Z[rra`!%rrqU*a@"&J0lrhmAQ"B&&4b5rQX8J"B%&$#krrr(!!6 +rrkSR&B%@!h[rIaHB&J89(*,qDa5!&J38-,VrrmF!"2rrULF9J4B$Hrpr&jJ@"48 +FN[jV&)!@""3`Z[rra`!%rrqU*a@"&J0lrhmAQ"B&&4b5rQX8J"B%&$#krrr(!!6 +rrkSR&B%@!h[rIaHB&J89(*,qDa5!&J38-,VrrmF!"2rrULF9J4B$Hrpr&jJ@"48 +FN[jV&)!@""3`Z[rra`!%rrqU*a@"&J0lrhmAQ"B&&4b5rQX8J"B%&$#krrr(!!6 +rrkSR&B%@!h[rIaHB&J89(*,qDa5!&J38-,VrrmF!"2rrULF9J4B$Hrpr&jJ@"48 +FN[jV&)!@""3`Z[rra`!%rrqU*a@"&J0lrhmAL"B$&488&)B6#"38&48FN[jV&)! +@""3`Z[rra`!%rrqU*a@"&J0lrhmAJKBE&486%a3A(5B[1N408eKD@PC44c`a*K` +GNIjV&)!@""3`Z[rra`!%rrqU*a@"&LalrhmA&KB8%a3F+d*II*@SYlr$a-6$`F( +#`X2%a-#hTT2*rAXF&"-9&$#krrr(!!6rrkSR&B%@&A[rIK86'Lp5ID1maF'hUjq +8M)D#J(k!I40qIi'&Lj1IVVl5bkKq65F8,ERrrmF!"2rrULF9J4B2H[q&1@QF[X@ +iT*'%IAPiH)&jK(U"H3eiH(TrLk'jaVD%Am(rrmF!&2rrULF9&KB6&SAreX,!UBq +!HRKjHC4k"hPiHS1BYmcYJIr&!!rrrkSR&"-D3)A+c+L,I(KjR(S'HAKkKU62m)( +r``!-rrqU*4P)PX@jP(jiHBGk%(PjH(KjHRYmIAalHRPiH(PjKhS&HAL!RmrcJ2r +#!!Rrrkj5PFDbM(TjKAS,HAPiHS#*PD+YYVbrJ-!+[VUcUTf3!)9pHAKjKAS&HAL +"TpckJ2qr!)$r"HI,XiTjHB4k(hPiHS18UE[%`V@MMhe[C9jFB'KdK*HV[-A"Xjb +)I(KjK(S%HAQ+[Zq!rld!J2m%lF'2HRQ$HJpjH(Z)SEV&ZCTd8$BP'aB8J4-4%K- +6&"JI+d&JLG(LaUQ0I(KjJhS'HAfNiIlrrlS!J2m%qYHHI(Q$HJpjHB+G[-@UHNN +T'4-6&"89L"B1&486%KZ@rkUE`X#KK(PjJhS&HC,6qrrrZ!#!r`2[[BKjJhS,HAU +)V-DbH%!I&"-9N4B0&4b5rQSB0QkYakb(HAQ#HJ9jL-Rjrrqf!)$r!q1QIAQ#HJT +jHSbfiEe@*438&C3@""8FN[jVJ"3')P5MdkZ$HB*k"AQ%a2Mrrl3!"Irrr0H9HB0 +k#(Q(XXA6ri!8&CF@%"8FN[jV&"B@&4)cbrR5RAajJAS&HB2'q[rrXJ!&rrrkcBY +jJRS*HAkNb*T&J2pr&jJ@"48FN[jV&)!@#"3[ZIrrlEf(HB&k"AQ'cIhrrl!!"Ir +rqFL'HB*k#RQ1`,0B("0krhmAQ"B&&4b5rQX8J"B#&$#kJ2m#qY@AJRS&HBcCraV +rVJ!&rrrkai4jJAS-HAbKb)-V%a8@Hrpr&jJ@"48FN[jV&)!@!K3`ZS,r!Z@NHi& +k!RQEkB$rV!!&rrrmbi9jJAS'HB'hdeSB&)!@!h[rIaHB&J89(*,qDa5!&J88-,V +rr`#!r`,YV(b#HJ1bprrrU`#!r`,8LAQ"HJCjKXAlY538J4B$Hrpr&jJ@"48FN[j +V&)!@$"3`Z[rr!!$rr[r[VAZ!HJ9jJp$riIqT!!ArprrJNRQ"HJGjLXlkrkNR&B% +@!h[rIaHB&J89(*,qDa5!&J38-,Vrri!!J2m"lDD"HJ4iQZ[rrkJ!J2m#lD&jJAS +)HB[4r2rrULF9J4B$Hrpr&jJ@"48FN[jV&)!@""3`Z[rrJ3!&rrcrjTKjJ(S%I-( +prrqR!!6rrrQhHi&k!hQ)d2f!r`+U*a@"&J0lrhmAQ"B&&4b5rQX8J"B%&$#krrq +#!)$r#G@(HATkHC,RrrqQ!!Arh[r5K(Q!HJ0jJmMmJIm#ULF9J4B$Hrpr&jJ@"48 +FN[jV&)!@""3`Z[rrJ`!%rrrkZRb!HJ4m`Ir*rk8!"2rrkTTjJAS5IEVirrm!rrq +U*K)@&K-8Hrpr&jJ@"48FN[jV&)!@""3`Z[rrK!!,rrrTPhPkHRLBlIrrT!!%rrr +m[(b"HJ*jT[#!r`d!rrqT0fL-M'd[H[pr&jJ@"48FN[jV&)!@""3`Z[rrK!!%rl( +rb(k!HJ5!d2rprk)!J2m#iBajJ(S8HC!!iIrpr`!!rrqUMXU[Vmb@Irpr&jJ@"48 +FN[jV&)!@"K3`ZIrqqrb"r`d!!2rrl*KiHRTjV[Rrrk)!!rrrqV1#HJ4rb2lrri! +!$2rraXH@GhLjKR[rIaHB&J89(*,qDa5!&KJ8,lhkb,#dh2rer`!!rmhq[hYkHRQ +4k2rrSJ!%rrrILRQ!HJ4jTI,rri%!$2rrpG#!HBR'3hMrIaHB&J89(*,qDa5!&JS +8,FVKKhGqc2rkri!!#[rri)PjHRU!dIrqS3!$rrrlYi&k"AQ'f2rmri%!$2rrr,0 +jHDUJ((VrIaHB&J89(*,qDa5!&JN8,G("HRL@krrrJ3!%rrrdSRL!HJ1jrZIrS!! +%rrrRNAQ!HJ4jV[Mrri)!$2rrkj0iJ-9G%h[rIaHB&J89(*,qDa5!&JN8,XZIH(Z +lrIrrJ3!$rqrr[)"k"(LMpIrrR`!%rrEraRf!HJ9jKYVrr[q"!!hrrIr3J(LCYbN +9Hrpr&jJ@"48FN[jV&)!@#"0'ai9iLGrrri-!#[rrdS"kHRQ4k[rrR`!%rrrdSRL +!HJ4jU2Erri)!$IrrqV&jHlYq&4ClrhmAQ"B&&4b5rQX8J"B)&AkjHRLTprrrJ`! ++rrrKLAPkHBEHrrqI!!6rrpk)HB"k")$2rrcrJJ!0rrrVP(L*a8!6&R[rIaHB&K% +9(*,qDa3@&K8NXTaiJ-rrr2q$!!Vrrqb6HATkJ0,rrji!"2rerm*lJ(S%HCEXrrq +#!!lrr[r5J(LSS4`9&R[rIaHB&K!9(*,qDa3@&K0,aB0iPqcrri3!#[rrmjeiHRT +mb2rpRJ!%rrrfTAL"HJ1fr2rrJJ!1rrrlXhPq`f-6&KClrhmAQ"B3&4b5rQX8&KB +9K,CkHVVp!2q%!!6rrrDNH)"k!m$rq[qG!![rrqD1HATkHB(8rrk$!!lrrqb@Gj+ +q,a3@&R[rIaH"&J39&"-8&Bm@$a8FN[jV&"B9*V@BH)EFrrq&!!6rrrHRH)"k!l[ +rpIqG!![rrp1"HATkHC,Urrq$!!Irrp5#H,'3!"H!&J0lrhmAJ"B'&5)r4cJI&)i +@$a8FN[jV&"B68-@#H+,crrq&!![rrrHRH(TkHEMqmIqF!!2rp[qqJAS%H+Rhrrq +#!!MrA2fhHB(&941!&JelrhmA&KB8-k6'aF5Q6)i@$a8FN[jV&"B@LE4jI-6rpIq +&!![rrrDPH(TkHEMqmIqF!!6rrrLUH)"k"([!rrIrJJ!)rrr[QAH9ZLS9J"B2Hrp +r&aB@&Ac#KS'*VEX`&)N@%488%a)CNIjV&"8TZ*GhLq(rriB!"2rrp+&iJ(S$Zrr +erj`!"2rrm*TiJ(S$J02rri-!"rrrfB4iXBiAJ4B2Hrpp&4B9)+bHH(TiJmC!&)3 +@&K88%a-B*$P6Dh['r'i6%e2'JALQp[rrKJ!%rrrbQhL!HJ2!rrVrR!!,rrrQMAP +kHRQ*i[rrJJ!)rqcr[ATra&X6J"B3&(hrPbXA&$R$LAPkH*Qh+"@"&KN9%aBK09" +cPl6$a,fi[0HU+4@-XhPma2ririB!#[rrl*0jHRTmarrpR3!,rrrEK(PkHRL8lIr +rJJ!ErrrcS(H1`6-8&KB81EELd,T*%9l#IATkI,pj&B%@'a8G6SQ[`X5lUTH)IhY +jHB6#IbUiPAL(h[rr!!#(r`MNLhPkHRr3rrqG!!2rrp&rJ(S%H+$drrq#!"[rrpq +)Gk@p*489&e5lY)D3!0&B%SHcHATjQ,`a&)!@#a8MMXLdQiU!HRKiHB&k#hLCX@, +%JALGm[rr!)$r!r2Hhr@"r`MCJhPkHB6DrrqG!!2prmKmJ(S%H+Virrq"!"[rqIr +&I(Qr`b36(h6)ShYpZj8H(UUIH(Tp`(89J4B&%f$)LAPiJ(N#H(KjJAS)H+1XPl& +jHEMpJ[m4jUZ&RH[rrrlrbhekHRQ0j[rrR!!$rrRr`)&k"(Qcr0MrJ3!ErrrhU(L +!em!L,CE(NhKmY,J[%M,!M(PjPE`[&)%@#a0`[RTjHRq(NTZELi"k#(Q+aR+iP(K +qdS(r%r[AQ(Q$c2hrrqAqZ(PkHRLEmIrrR!!%rr2rZAQ!HJ4jZ[rcri%!'IrrjSj +iMHUh9V'mKRKpXI5+&404a)"jHVD(JaBK&$kq[V@m`m1hcHLIHRTjJ-H8@X5!H)[ +AjIrrpF@+H)$!qB(r#I5LH(TkHDlkrrqF!!6rk2feHB&k!llrqIq!!"[rrIr1IhL +HpH6-UhjiJ,ATrhmA&(QkHRQ!a&-6JaBZ&cjdIQj81&+rVRakHRbemh'+XRPiRX$ +(rqZbJ(L![2Arr`$rrq@0HATkI-Arq[qF!!6rf2bbHB&k!m(rq[q!!"[rrrZaHAQ +dqpQCHRL&[UDFrhm@'k+PH(Q(`cN8K"B)&"-8%a&%ZUemJ(S4UI$eJEL9H(QbSp( +KRhYiJVreJIm+r2r-IRTkHBAFrrqG!!6rarZaHB&k!X(rqi%!'rrrlCCiIFA*LRP +jM-@@+RRrIa8`[ipjHBR"0"5'&KS9&8krUAYkHRQLa-EaVm1!HAc)eXD3!(PiKmI +iJ2m-!2rrqDajHRTiQr$rrjd!"2r+ql&jJAS$`2rkri!!'rrrei0jITL"HAQ9bB% +K&([rIa4Ba(pkHBA$245&&J39&PM$TB"k&(QGa9Q4rqD`HAQ&eEk%HAQ0crVrri! +!"2rriiejJ(S$Z[fqrjd!"2rKr,4jJAS*[Irhr`!!rqhr[)"k&APjHT[)EKX8&R[ +rIKL3!,&jHRU!a%`6K"B%&4KPajq!HK4jQXGF'j(rlj0jHB5DIAPjPGMprrq!!![ +r!2l!HhTkHBADrrqH!!6rm2kiHB"k#hQhrZrr!!$rrr1JH)"k&(Q,c'-A&4B@Hrp +p-Vk5HATkI,pR%i-@'48EFFQCHATkHCR)BKBFN[r6J(PkHRPkHT[JJ2q"!![rrqU +9HATkH+6drrqH!!2rq2qpJAS,H,$lL[m!!2rriBTjJ(S%HBc$0"5!&JYlrhe``Ae +iHATjX)f$&K)9(Ac*NhPkHRQDb'-A&4b8rl0jJAS#HC[NJ2q"!!6rrrh!I)"k"(r +0rrRrRJ!%rrcraAb!HJTiT[Err`$rqrr*IB*k!hr$@"1!&JelrTQiR(fQMAPiQ,3 +P&B!@"48IK-H1HB"k#Th'B"B9&KZGmT9jJAS%HE2mrrq"!!crr[rKMRPkHRLHlrr +rS!!$rrr2Ii"k%hLEmIrr!2rrqDejHB53!(TkHE5%&B!@&A[pilpmRZHiHRQ%a8J +6&KB9))R'LhQ!HK5La9X@&4B9'UIDJAPkHATkH*carrq"!!crrr+THATkHB(1rr2 +rS!!jrrrCJhPkHRQ1k2rr!2rrkT0jH+,-JAPiRDiK&4B@HrrNN!"p`*c$JhPkZRS +8&K8HKmD*HATjHkM"8a@!&Ji9'UDkHATmLAakHBEGrrq!!!6rrrV!IS"k"(QSmrr +rS3"ErrrPM(PkHRQ%fIrr!2rreB*jHm2eRRKjL-8r&"B8Jr1PH*1m3,@9HALKU"i +9'Rh(LRPkHAf[ZNF5&"8@&K8PYCTiHBM0NRPkHm$rm2m!rrrmc)9jHRTjM0lrrIq +K!!6rrr#DH)"k3Rc(rrcrj2kkHRQ*hrr,IhPl[R-6&#+T[hejYSBBPUTiHB["-a4 +QbBjjHRQ!Z,e8-68`)aB9%dV&K(PiS1DqI(TiRr'"r`[lcSPjHRTjImAprrqL!!6 +rrrQXH)"k!RQ`qS$r3r1IH(LPpIr[RAKiS,!Q+T($K(L3!0Y[&ALiHAQ!a%Xp`jP +jHRU'`r(-Zm(#[l0q+K4qZ(TkI,k-ZjCjHB6ArrlrpmH(HB"k"(Z`p2rrS`!%rrM +r`AZ!HJ*iQ1k!rarJLAPqb[rfrmf!HB("U,@rKhPlR,R'KAqqHhTm`'@6Y)"k(hb +IYD5AMSQ)LjV'L#5ZRAKjM-)iHlemHRQZqIrVYB&jJAS"Sqb!rk3!%Irrei0jHRT +jK0RrrIr)IAL8kS$r(r+QHAQ)TjarHATlHhQ-[0HkHRTl[)5pMAPkHRYpHRKiJ(N +@H(DQT8[&KRPjV*SB0X'5HAQ)fYDFHhQ!HJ9jRqIrp[qP!!6rrqb8HB&k*,[qrrQ +YH(ZqrIrrr2rFLhPjH(KjHU'QHRPjITH+HRTp[i$!KRQ$HKKjHAKkJkA*BRHmHhQ +"aPS6&i@lHhTlN!#'HB"k!hPlSqD!rkB!"2rrqV"jJ(SNH*RZrqU6GjESrrm!rrr +haS*iHRPjRqVXTRYjHRKjHRQ(a%b[T)*i'ATpJikKZ-DY@#1TSRKiRV)Q&43i`*C +iHRPjJ(S$HB#aki$rT`!%rrhrd)#"HJD!crrPLSA3J2m[!2rr`+c!M(k!SqErYVZ +eK(KjHRTiUD8H@FHbR*ZNVlR"aEkSJ8dM%M[$L(Pra'`8J"B,FXL'H(TkHAPlNXR +eJ2qT!!6rrqZ9HB"k4hQQp[@hb[Vrr`!!rrqS1SV&`XDfY[pp1Th(TSClHTE)8K- +B5j+XV*q0Gep&,Ki9%a864mH$H+Qb+"8@&K3adFk6Ihf"P,[QrB$rUJ!$rrrpZS& +k"hQ%eIriqrrrJ!!GrrqU*KNp9%dXH[pr&4pGUFDr[X9Y'4B@&"FI(aS@J"-"&"@ +!&JF9*UM!YqGk%i!@#43[[rrSdFV9krZ!rkd!"2rri)TjJ(S#HD6bJ2q"!"ArrkS +R&"36%a4lrhmA&43J4'KX34J9J4B"&4@)&JB90)(3qf`8J"B#&$#jKIq[!!2rrrQ +aJAS#HB$+J2q"!!6rrkSR&B%@"R[rIaF@&K@!%`!8N4B&&"Z5rQX8J"B%&$#krrq +e!)$r!Yk+HB"k!RQ8jS$rJ!!%rrqU*a@"&J0lrhmAQ"B&&4b5rQX8J"B%&$#krrq +f!!6rrrZiHi*k!khdrrq!!!6rrkSR&B%@!h[rIaHB&J89(*,qDa5!&J38-,VrrlF +!"2rrk*GiJ(S-HAr#qrrr!!$rrkSR&B%@!h[rIaHB&J89(*,qDa5!&J38-,VrrlF +!J2m#ci0jJ(S,HBI3r[rr!2rrULF9J4B$Hrpr&jJ@"48FN[jV&)!@""3`Z[rrZ!! +%rrriYAZ"HJ0jMGEqJIm#ULF9J4B$Hrpr&jJ@"48FN[jV&)!@""3`Z[rrZ!#!r`, +XSRQ"HJ0jMpEqJ2m#ULF9J4B$Hrpr&jJ@"48FN[jV&)!@""3`Z[rrJ!#"rl)!"Ir +hrq+@HB&k#(Q0d2[rrkSR&B%@!h[rIaHB&J89(*,qDa5!&J88-,Vrr`##r`(lrl) +!J2m#fj&jJAS(HBI%pIqU*K@"&J0lrhmAQ"B&&4b5rQX8J"B#&$#kJ[m#k-RVJ2q +b!!ArrrlBNAQ"HJCjJ,$Va#d6J4B$Hrpr&jJ@"48FN[jV&)!@!K3`ZB$r"r,,PRf +[mrrrX`!&rrrqfT9jJAS0HAUBbU0''"39&R[rIaHB&J89(*,qDa5!&Ji6,EcrpG@ +NJ(PjIVlirrqc!)$r!q'IHhQ"HJYjJl$'LcXA%hVrIaHB&K89(*,qDa39&"3NCYh +BUS4jHATkH*(QJ2qc!)$r!qUaJAQ"HJPjHSkj`iY$J[pqQ4B9&4b5rQS4'MKdXX@ +RK(PjHRTjICr9q)$rY!#!r`6ebC!!HAQ"HJYjHj!!YmA@riSB%a39P4B6&"Q4rS4 +IQm+rRS&jHATkHAQ0`Hk!rlF!J2m%rH+XJRL#HJjjHSQTcXb5A6-G&"-8&4@+&K! +9&436%aNR4lVkf-+VMAaiHB"k"(Q$VH$mJ2qk!)$r"2A5S(piJRS0HAPqNDr$`DC +r@$SR("D'%a!8&4NJ+ceAH*UhaEqQMAjjHB&k"(PqRY(fJ2qp!!RrqIrA[F1HJ(K +jJRSKHAPqM++h`m1iT)jjD&T56Nj9B'akLTZYZm6$ZDL9K(YiHB*k"(KmPm,QJIq +p!!hrm[r"8LYXXm@RKhTiHB*k'hPiHAk(P++[Z,l#`m6%`X#pYl#QR*!!KRjkH(P +jJRS+HAKqQ,qpG@R)rrLp!"(rl[qq8"B8&#GKTFDjQS0kH(Q$HJejHAKiHAYpIi" +rIRalHB"i!APjK(S2HAKkKk6$ZhNa&4CDarrhrlS!"IrTrlY-&B!@$K86(N@"Y-D +iRSPqHAKjHC0k&APjH(PmL*qlaUGR,488&K8@9XArp2qi!!Arirqi54@$&Jm9%a8 +P5l(efF1fSj+'IhYjJAL%HB*i$RPlIS52Rl,*bkYl4"m6&)-@"&2#rr(rYJ!&rpc +qY%89KaBT&40krjPFJk5ka-1pY+ULQjD5Mik1Mj!!NT@CRk@YYEh$a,bVdrer(K3 +6&B8@"492[[rYrl8!"2rrc%X8LKB3Hrpp&"3F+6a8E)+8SUbdZ,Z!["#kZ,5ZTjf +3!)"X9MmV**2qDK1*&J389pIrrl8!"2rrYL`9LKBNHrpr&aB9&436%a3A'amM*bS +V,#XT*b3J(4N@&"-6&"3EN[jV&)N@""3e`[rrY3!%rrqf,4@+&J0lrhmAK4D+&B- +@"48FN[jV&)N@""3f`[rrY3!%rrqf,4@+&J0lrhmAQ"B&&4b5rQX8L4B%&$E#rrq +e!!6rrlBY&BS@!h[rIaHB&J89(*,qDa5*&J380X,rrl8!"2rrYLd9LKB$Hrpr&jJ +@"48FN[jV&)N@""3f`[rrY3!%rrqf,4@+&J0lrhmAQ"B&&4b5rQX8L4B%&$E#rrq +e!!6rrlBY&BS@!h[rIaHB&J89(*,qDa5*&J380X,rrl8!"2rrYLd9LKB$Hrpr&jJ +@"48FN[jV&)N@""3f`[rrY3!%rrqf,4@+&J0lrhmAQ"B&&4b5rQX8L4B%&$E#rrq +e!!6rrlBY&BS@!h[rIaHB&J89(*,qDa5*&J380X,rrl8!"2rrYLd9LKB$Hrpr&jJ +@"48FN[jV&)N@""3f`[rrY3!%rrqf,4@+&J0lrhmAQ"B&&4b5rQX8L4B%&$E#rrq +e!!6rrlBY&BS@!h[rIaHB&J89(*,qDa5*&J380X,rrl8!"2rrYLd9LKB$Hrpr&jJ +@"48FN[jV&)N@""3f`[rrY3!%rrqf,4@+&J0lrhmAQ"B&&4b5rQX8L4B%&$E#rrq +e!!6rrlBY&BS@!h[rIaHB&J89(*,qDa5*&J380X,rrl8!"2rrYLd9LKB$Hrpr&jJ +@"48FN[jV&)N@""3f`[rrY3!%rrqf,4@+&J0lrhi9Q43%'T,qDa5*&J380X,rrl8 +!"2rrYLd8L"B%&49lriqC-J8a0k$pDa5*&J380X,rrl8!"2rrYc%CLKS#I[rDQV` +%[Z$fEaQ*'J3B1X6rrl8!"2rrhCk5LT-!`Tlr![QlNSQ6"*+LirrrQ3#V!!2jrpZ +pQE`$[Z$rrY!!L2m!XTTb!ADqL2r(!!2rrql6JXm#j2q`Q@m%ER1mrq'#c`28mIr +ra`!$rrr2KS*m!lArX(#CE`4c[2qXHi"m"(Z,f2rra`!$rrr+HB*Z!khrX(#CE`4 +c[2qMEB"Z"'eqe2rra`!%rrr,HQk"E`1Yrl"`Q@m%FlcrT'k!E`4ZIp6rrmF!"2r +rbhTZJ@m$VIq`F*P["(1mrk4ZJ'm%ERr8rrr(!!6rrmYkES&[!khrX(#CE`4c[2q +NES"["'jre2rra`!%rrr,HQk"E`1Yrl"`Q@m%FlcrT'k!E`4ZIp6rrmF!"2rrbhT +ZJ@m$VIq`F*P["(1mrk4ZJ'm%ERr8rrr(!!6rrmYkES&[!khrX(#CE`4c[2qNES" +["'jre2rra`!%rrr,HQk"E`1Yrl"`Q@m%FlcrT'k!E`4ZIp6rrmF!"2rrbhTZJ@m +$VIq`F*P["(1mrk4ZJ'm%ERr8rrr(!!6rrmYkES&[!khrX(#CE`4c[2qNES"["'j +re2rra`!%rrr,HQk"E`1Yrl"`Q@m%FlcrT'k!E`4ZIp6rrmF!"2rrbhTZJ@m$VIq +`F*P["(1mrk4ZJ'm%ERr8rrr(!!6rrmYkES&[!khrX(#*Ei"ZKQf"EJ4c[2qNES" +["'jre2rra`!%rrr,HQk"E`1Yrl"`JfmDEQeYER"dHAq&Lj'9Q*QCPj11Ki"jFh1 +lrk0YJ'm%ERr8rrr(!!6rrmYkES&[&DhrX("[EfjYER*mLTbZ[FV6f0[GhGb!fa2 +Fh0hFfG2*[0hqVA0ZE@jZIp6rrmF!"2rrbhTZJ@m9VIq`EQeaIT5[aYEFfpE2b-+ +pZVLfYS'e%VDhZEh#bG$DjH$*Vj&jERl8rrr(!!6rrmYkES&[$DhrY)@L`YMGeX[ +!ZE@cJE+)Xi'b#l1f[FRAhG1cR0RrrmF!%rrrbhTZEfpYEl6rjY[EcX#hXl+bPE- +(XV+cZ-6@iI5"rm8!$rrrbhTZEA'*XprLcEfdXV+GX`@bXlV-irH"rm-!$2rrbhK +aMVlGem+eXV+)Xi#b"l1cY,5eY,5cJE+*X`5bYmMNq)$r`J!*rrr0P,hGdlfcXSD +c&l+bXlDm`mV4eGMDfpVEfYI8cXI!ZE@bXSHc",+hcH[mJ2qr!)$r"I$Ie,bcXS@ +c(V+cZ-,1f0hEdXHkVkDIQjUGSUQc[mc@h0[8aVZdXV+&X`1b[0VfJ2qp!)$r"2A +F[l1bK,-1XV5lbGMGe-#TNi0iFQpZK'd0ER"dI)QGYZ2[hXkqY,+%X`1bY-[ZJ2q +k!)$r"2cSb,5bJl-1XV+iapMGbkb2Hh&YE@jZLQm0EQeYFVrrbX(DfmQiXV+$X`@ +b`HEprrqi!)$r!rECZl+$X`ZbXl[2hG#XLA9ZE@k5E`Yc[2kMF)1QcGl3ZV+$X`@ +bZq$mrrqf!)$r!qr-YE+#X`QbXlh9lYD@H'jYPQm0FlcrT'jZEAD9aZA2Z,+#X`@ +bZGhlrrqd!!6rrrhS`i5c#,+kdpcNrl&ZETK[$h1mrk4ZEfpZE)(Ir1A(Y,+"X`@ +bZ0lmrrqb!!ArrrcL[E+#X`QbYF[H`Bb`rl"`Q@m%FlcrT'k!E`KZIp2rrrACZl+ +"X`@bZZ,qrrq`!!ArrrcIZV+#X`Ub[Y[3Q(0YVIq`F*P["(1mrk4ZJ'm#ERr8J2m +#r1I$JV-&XVhTrhRrVJ!&rrrmhlQbJV-,Y-VHXRaYEQqYrl"`Q@m%FlcrT'k!E`* +ZIp5#r`,`bl5"X`+baI1!rk`!"IrrrH'jXS'c"V+heZ5CF'k!E`1Yrl"`Q@m%Flc +rT'k!E`9ZIp6rr`#!r`,dd,5#X`26q[rrU`#!r`,Q[,+"X`DbZYlpdAKZJ@m$VIq +`F*P["(1mrk4ZJ'm-ERr8rrm!!2rqrrE3Y)'c",MNrqlrU3!&rrVrlF'bJE-(XVc +Mr2r+H@k"E`1Yrl"`Q@m%FlcrT'k!E`4ZIp6rri!!J2m"pFb"X`5baI6rrkJ!J2m +#p-QbJE-)XVhPr[rrbhTZJ@m$VIq`F*P["(1mrk4ZJ'm%ERr8rrq"!!ArrIraa,+ +!X`5dh2lrrkF!"2rrqpDdJE-$XV[NrS$r!XYkES&[!khrX(#CE`4c[2qNES"["'j +re2rrJJ#!r`RRZV+cXl,"mIrrTJ!&rqcrjEQbJE-#Z1$pJIm#bhTZJ@m$VIq`F*P +["(1mrk4ZJ'm%ERr8rrq$!!6rrrcBY)#c",6Erq$rT3!%rrrcaE+"Xa+ef2[rr`$ +rrmYjE@p[E@kYrl"`Q@m%FlcrT'k!E`4ZIp6rri3!#rrrmm5bXl1ba2Arrk3!"2r +rrGQdJV-"c2D!r`d!rrr+Jk+iZ+9rVIq`F*P["(1mrk4ZJ'm%ERr8rrq%!!6rdrr +JYB#c",INrrlrSJ#!r`,Z[V+!Xa5b`1lrr[m!!2rrblRJdG(L[V$rX(#CE`4c[2q +NES"["Qjre2rrrIf"r`d!!2rrp-5bXl1bdIcrrk)!!rrrr05#X`5fhrlrri!!$2r +rh0h$XE,AY+lrX(#CE`4c[2qNES"[''jre[cJdY6VrrRr!!$rirrDY,1cXX$brrq +L!!6rrqfmXS#c",,-prrrJ3!-rrrij,Hb[0f,V2q`F*P["(1mrk4ZJ'm+ERlHlVU +aYH,rr2q!!!VrrqfmXV1cYZArrU%!!rrrrGD"X`@bZZRrrIq"!!crrrh8XV,1aA1 +Yrl"`Q@m%FlcrT'k!E`PZIH2FXl,$p2rrJ3!%rrrjbV+!X`2Ar[(rS!!%rrra`,+ +!X`5bd2[rri)!$2rrmm'bYpfEEDhrX(#CE`4c[2qNES"[#@jqhmLbXpMqrrq"!!2 +rpIrCJ,-%XXVjrrqI!!6rq[rIY)#c!V+kkS$rJ3!0rrlrj,DbaG0kEUhrX(#CE`4 +c[2qNES"[#'f0hVUb[1hrri-!#[rrjEDcXl,!mrrrR`!%rrrjbV+!X`5bcIVrri) +!$Irrr0+bXpL`EQqYrl"`Q@m%FlcrT'k!E`KZVpHcXXlkrrq$!!VrrqkmXV1cZZc +rrjm!"2rrl,ZbJ,-%YZ6rrIq#!!hrrr2#XVcFL@e[VIq`F*P[%(1mrk4ZEfpZH0$ +'XVEMrrhrJ`!+rrrd`V+cXlEPrrqH!!6rqIrFY)#c",,$p2rrJJ!1rrlrjEHbcF9 +cEfqYrl"`Q@m2FlcrT'j[Eff3!0fjXX2drrq%!!VrrrM(XV1cY1$rrTi!"2rrqXb +bJE-$eIhrri)!$[rrrG5bYGbIE@p[VIq`F*P["(1mrk4ZJ'm(Xp@cXpMq"[q%!!6 +rrrV,XS#c!p[rr2qG!!6rrr'rXS#c!lIQrrq$!!lrrr6$XF(AIQj[EkhrX(#"E`0 +ZEQeZN@m1FlcrT'j[ERR5a,+kkrrrK3!%rrrkcE+!X`2BrrVrR3!$rrrQYi#c",, +"mrrrJ`!(rrrRYl,6ZR#!E`1Yrl"`J'm'ERD)MB4dESp[$R1mrk4ZEff6hELbb[M +rri8!"2rrqXfbJ,-$errhrj`!!rrkrpU"X`5bc[[rri)!#2qMrYDbYpf@EB"[$Dh +rX("[Efk"aphGfmL3!)p[$R1mrk4ZEfqfe,+dhIrjri8!"2rrqXZbJ,-$e[rhrj` +!"2rrqmqbJE-$frrkri)!#2rrpX@a`p9lES"[$khrX("[EfkZh,Uh[0(@Ifk*Ea& +ZEQeYFE[rT'jZHp6%XVhZrrq'!!6rrrR*XS#c!pMrq[qF!!6rrrI&XS#c!lIQrrq +$!!ErrqQjXY+jJQm2VIq[EfpZGFc)XV1bZGf*EB4[&QjZE@e`H)@9SklFrD9YECA +GYl,-q[rrKJ!%rrrhaV+!X`2ErrcrR!!,rrra[V+cXl+ml[rrJJ!)rr6rfV1fhCT +YJ'm3EUrr[ha[ES6E[,1cXXA6HQk#EaKYEhD#NkLrdG[FfGEBk-YlElM6XV6Grr[ +rKJ!+rrrd`E+cXl6IrrkG!!2rrqUjJ,-%XX,errq#!"VrrrM*XElDJ@j[Efk%dZr +MeBjXR0beXl1efUb#E`YZFj+fcYVGf-r%ZlD!X`bjh,"me-1bZqcrr`!!Krm)llf +bXl1fj2rrR3!$rrrPYS#c",,*qIrrJJ!ErrrYZl(,ehKZER#9eY5k[q5AEEA8XV1 +ba0D!ES"[#QjhZGr8aVbfXl+bJV-,XXA2RYbhXXIhrrm!J2m$q1cXqB(r!HQiJ,- +$ZHVrrjd!!rlrhl5!X`5bcr[rri%!'rrlrpkdXp[DH'eeUGl,Y,AB[R4dbmLbXlA +EU@k"E`0YRGqmK,+#X`LbbmbrdV+berk#ra(aclR(p2rrr[rKYE1cXVlarrqF!!2 +rr2rEJE-%XY6pk2q"!"[rrrV0XVETf(Cp[Yl"XV69e(pYJ0QqXV,$eRpZJ@m,EDI +DXl+cYVV"aXDpJ,-)XVcGU06#XVEPJIm,rHM%XVMLr[rrm2l@J,-%XXEhrrqF!!2 +rq2rAJV-$erriri%!'IrrmEkb[I25PXrCZV+ed[QfEff8hEHcXp@eJfm,ESMBfYA +Ch0c6iI()J,-5YpqpQGbhXVhRlrrrqGkmXVEEr)(r#IR+XV1cXY(mrrqF!!6rm[l +9XS'c!pVrr2q!!"[rr[rMYV,)qHlJcl@bYpAbrl"`EDcAXl1fhC9YK'mYKkQ[TC@ +%P0M4Y,1cY0AiTlI6XV,)f0crp01hXVECq[rr!2rrm,kbXl1dh[rmrj`!"2rTrG1 +bJE-$frrmri!!'rrrr01bXY6pkF@cXVRDb-,rX'pbaXbbXl[EK'k%E`"ZJ'd%E)[ +9d,5!Xa(1p[Qae-+bXY2'iZl)Y,+if[Q"r`2qrq+eJ,-$ZZ[rrjd!"2rIrG+bJE- +#h2rmJ3!Errrd`l+ehZ#mXV+qhEjlV2q`EhrB[l+c[0U"ESG["'k4f-kdJ,-4bGc +FpXlFYl1di1EH[l+bZYrlJ2m-!2rrqp#bXl1ba[Irrjd!"2rJrG+bJE-$frrmri! +!'rrrk,LbYF5hXV,#hl&fEUhrX'kBhEDcXlREKfk(E`+BfmZ"Xa2(h*Llrr$5XV1 +jjpUiXV+qj2crri!!"2rrllkbJ,-$erlDrjd!"2rZrG5bJE-*fIrlr`!!rr6rfB1 +c%XEHTA*ZEkhrX(#kdV+cXlIGN@f%E`4ZF*rGb)#c&,,&hTTc[2rf`V+cZF@eXV2 +#kIlrri!!"2mZrpZdJ,-$ZZVrrji!!rrfrpD#X`V@r[Er!!$rrrM*XS#c&,+piCp +[EQp[VIq[J0M"XV1cY0UKEB0["@jbTpr&XS#c#-AHRQpc[2rQYi1c!FEZJ2q"!![ +rrr2$XV1cXX[jrrqH!!2rqrrDJE-,XY,p[[m!!2rrlVbbJ,-%XVhEJ@k!E`ZYrkk +Rfl@bXl1bdVQ$Ea*ZFklI`V+cXl,'hTp[ER1prp1bJV-"a[#!ri%!"2rrrYZdJ,- +%YZ2rr2qH!!6rrIrHY)#c#V,-q[rr!2rprq#eJV-$YYbBEB"[$Dhq`06'YFbqXl, +&dAKZJ'm&ER@chlqbJ,-#apfGJ'm%FX2i`V+"X`5be2hrri%!$2rqrqkrXV1cXXI +frrqJ!!2rrq5fJ,-6XXEhrrm!rrrld,+cZF#cXl,9Xfk!Ea@YrZlDY-IaeV1cZGf +1E@p[ER@fhVfbJ,-#bYbDJ@m$FFMUYi+c",,'prrrJ3!$rrricS'c",IMrrMrS!! +$rrrUZB#c-E+rm[rr!2rrmm'bXXVLYl1bamefEQp[V[r`[l6E`YbiXl2AV@j[ER5 +ehVbbXl1dcYQ8JQm0FXMBXl1d[,5cXlVVrrq!!!6rrrcEYB#c",,0q2rrS3!%rrr +`[E+!Xe1ikIrr!2rrjlHcY0hjb,+cZpb)E@pZX[M-XX,ALG,$XV,*bR4ZFDrI[,+ +cXlA4eBeYEQj[EfjjdX@bXV[L`E+cY0[rp[m!rrrpiVQbXl1b[Zcrr[qK!!6rrrI +&XS#c3V6Irrhrm2rBXl+llIrKYV1dfDKYERI+fl@ceE4`[XqbXVhDJ@kJhlkbXl+ +fepH9J)*rGfpZEBrGZ,1bbI$CY,1bb2H"r`2pilbbJ,-%YYlqrrqL!!6rrr[3XS# +c!V,5r)$r22M)XV,-qIrfal+bbFpjHl[FZE,!kUC[UpDcXlIGN!#(fm@bXl1khII +JeYVDfG#`Hfk`el1cY0QieX1bXlRSJ2m$qYqlXS'c!p,jrrqM!!2rqrrFJE-#XX6 +eJ2mIlEZbYH(rq[rMYl+hfmV5fVUbXmIAhE1`fV5cY0ZJ[05!Xaqdb0A,a,qmZlh +&hVCicXHbXVhDK+hCY,1bdIcrp0@hXS'c!FVdJ2qN!!2rrqQiJE-*ZHRrr[rJYE, +#mi$r'2M-XV1lcFDfXV1cY,1pf1IBXl1df,2A[V+!X`'dXi#b&l1bXV(-b)rGZV1 +bd-&`JpV"XV+lkZM'Y)+c"-MarrVrT3!%rrrd`V+"Xb2Br[rmd,+df[lrrrhrklf +bXl+bXl2*c,1cXVA$[,1cYGU`fEU&XaHbXV1jc0qHUpQcXlIHQ@e[Y0LdXl2!ZV+ +#X`(+mB$rTJ!%rrrmdV+!Xa'ba2Armm+a`r,rr`$rrrVHYl+!X`r)mr6-Y,1cXV+ +cXV[FN!$1bi+b',1eZ,r*eYl0Q(I,bV+bb0"jEQk%fF1bXl+"X`1bYp2dJ2qR!!6 +rr[rNYS'c"VINrr#mZH5!ra!!rrrBc0ZqYEI,mIr5eY@jXS#c'l,1b(5ChG2(aX[ +4ep[Gf-QaNAGXKYZlXVEGT'k!E`1ShlUbJ,-%XV2"i2Q!rkN!"2rrp-1bJ,0(XXc +kqGEKr2rr!!$rrmQ&YphFhY25rkq&`pl-ZV5c`pk8EA#3!,c-c-5jUjb-IR4ZE@j +YMGkiXXl2HQj[Efk!iq2#YV@h`YMarS$rUJ!$rrrqf)+c"VRRrr[prrq!!"hrrmY +jFBH9NAfYrl"ZGC[+hGVDh+9aEfpZF(4eFQq!E3"ZJ@m(ERR+fpEaV@k!E`PZIYI +rmZAKjr6pJ2qY!!6rrqfmXS#c!V,,q)$rJ3!8rrr,HQjZE@eZVIq`F'jZGBZLT)P +`Mfm'ES+ai[fNES"[!Qjre)ArV`!$rrrmdi+c!EEKJ2q"!!6rrmYkES&["UhrX(" +[Efk!E3"ZN@m&ER+mrk4ZJ'm%ERr8rrqe!)$r!ZbmXS#c!V,#mB$rJ!!%rrr,HQk +"E`1Yrl"`Q@m%FlcrT'k!E`4ZIp6rrlB!!rrrrGH$X`23qIrrJ!!%rrr,HQk"E`1 +Yrl"`Q@m%FlcrT'k!E`4ZIp6rrlF!"2rrmX1bJE-,YYcprrm!!2rrbhTZJ@m$VIq +`F*P["(1mrk4ZJ'm%ERr8rrqh!)$r!H1iJE-,XVVNr[rr!2rrbhTZJ@m$VIq`F*P +["(1mrk4ZJ'm%ERr8rrqi!!6rrr[9Y)'c!V+qk),r!XYkES&[!khrX(#CE`4c[2q +NES"["'jre2rrZ!#!r`,dbV+"X`1b[qMqJ2m#bhTZJ@m$VIq`F*P["(1mrk4ZJ'm +%ERr8rrq!!)(rXJ!&rr[rlm1bJE-)XVlNr2rrbhTZJ@m$VIq`F*P["(1mrk4ZJ'm +&ERr8rrm!J[m"r2qb!)$r!ZV!XS'c"l+khIRrbhPZJ@m$VIq`F*P["(1mrk4ZJ'm +#ERr8J[m#mZ$cJ2qb!)$r!ZR!XS'c"V+fd[6DI@f"E`1Yrl"`Q@m%FlcrT'k!E`* +ZIp5!r`IiiF1edIMrrl-!J2m#kX1bJl-,a1$'MA"ZEfqYrl"`Q@m%FlcrT'k!E`j +YIGErqZI,YV+cYYVlrrqc!)$r!Hl)Jl-,XVM5hEH'F'fYrl"`Q@m1FlcrT'j[EQj +iSHVTcVQbJ,-#XX$aJ2qc!)$r!r26Yl+$X`HqepZiLl,rVjT[$(1mrk0XFB5Td0h +-ZE+!X`5bYFMRqi$rY!#!r`,ji,q$X`UbXlr@h1ErYR&YETC[#fjaZrqcR-(EfXL +hXS+c!VlFpB$rY`#!r`6qlY#iXS+c$E+c[-lMi,bEJA0ZE@jZM'm1EQjYEA&jMGA +mk0c2[V5bJE-%XVM3lIf!rlS!J2m%qHE*YV+#X`fbXVA"dGcCb,#BKAPcEiGY$fp +aGAb(Pk[!dphDc,keXV+"X`5bYFIPqS$r[3!)rr[rjYIFb,DbJl-KXV+e[XV@h0[ +8alQXSCQ8NC+@RD5YYm,0eYcFeml#ZE5bXS+c",+ea0c`JIqp!!crprrCP(bNdGh +0Zl1bJl-DXV+cYE[#bY(@fY[FhGcFfpR@dXh'`,UfXl+bK,-*XVA%fYHUSYhrqld +!%IrerpH6EfjZHTh)hYI'Z,1bXS5cJ,)#Xl5eJ,B$YE5cXi'bKV-1XV1kbpc9V)" +ZEjRGrrVrZJ!&rr,reC!!ES"[#QjYG)badGh@alZeJ,+9Xi#b#E5lb0MGbD&pEQk +!E`5AfrrirlJ!"IrZrp11ES4[$@eZH*!!c[RTh0A,`EUfXikb$V1cYVQrbG2Ki-Z +YLh4YES0["*ACrrIrYJ!&rqVrdBaZKfmSEQfYrlqDXXI9h0cCe-r+aX2"[lkq[m$ +"`mA)c0$9fGcFem[NrV"dEQf(E`56errdrl8!"2rri*!!EST[*+hrVfjZFhZ(PD5 +b[FE-dG6@eYI@eG64cXR$Zl#NPiPmGlcqSff*E`4ZPqErrl8!"2rrdRaZLQm3VIq +`F'p[EQjYE@j`FR9hHRZ!I!GlHAGeFh&[ES"Y"@jc[2qNESP["'k#f[rrY3!%rrr +5I@k+E`1Yrl"`Kfq(ES9["(1mrk4ZL@m%ES2Drrqe!!6rrp*pEST[!khrX(#CE`4 +c[2qNESP["'k$f[rrY3!%rrr5I@k+E`1Yrl"`Q@m%FlcrT'k*E`4ZJpVrrl8!"2r +rdReZLQm$VIq`F*P["(1mrk4ZL@m%ES2Drrqe!!6rrp*pEST[!khrX(#CE`4c[2q +NESP["'k$f[rrY3!%rrr5I@k+E`1Yrl"`Q@m%FlcrT'k*E`4ZJpVrrl8!"2rrdRe +ZLQm$VIq`F*P["(1mrk4ZL@m%ES2Drrqe!!6rrp*pEST[!khrX(#CE`4c[2qNESP +["'k$f[rrY3!%rrr5I@k+E`1Yrl"`Q@m%FlcrT'k*E`4ZJpVrrl8!"2rrdReZLQm +$VIq`F*P["(1mrk4ZL@m%ES2Drrqe!!6rrp*pEST[!khrX(#CE`4c[2qNESP["'k +$f[rrY3!%rrr5I@k+E`1Yrl"`Q@m%FlcrT'k*E`4ZJpVrrl8!"2rrdReZLQm$VIq +`F*P["(1mrk4ZL@m%ES2Drrqe!!6rrp*pEST[!khrX(#CE`4c[2qNESP["'k$f[r +rY3!%rrr5I@k+E`1Yrl"`Q@m%FlcrT'k*E`4ZJpVrrl8!"2rrdReZLQm$VIq`F*P +["(1mrk4ZL@m%ES2Drrqe!!6rrp*pEST[!khrVfqCEJ4b[2qNESP["'k$f[rrY3! +%rrr4I@k+E`+YrlUDJ!5$a2kNESP["'k$f[rrY3!%rrr6J('+FJ+[rqLCeJA9eqc +kTR'*FJ4aKGVrrl8!!rrrkX1,[!$DR[m"qp@,[!2'l[rrQ3"d1'eV!!"!#!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!,Grlq[V +kq[Vkq[Vkq[Vkq[Vkq[Vkq[Vkq[Vkq[Vkq[c0'`!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!"`S*#3N*#3B[irrrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrp%H"`N*#3N*#JB!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!KjVUZVUkZXQ8lKrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcdLJV+Z +VUkZZEJ8!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$EArrrrrrrrRB1$rrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr1AZrrrrrrrrqP"`!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!-Y2rrrrrrrq9Ii2rrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrmjGlrrrrrrrrk3(!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!bdrrrrrrrrj9rJrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcPh[rrr +rrrrrT!F!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$,6rrrrrrrrPAq$rrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr1AHrrrrrrrrqN"`!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!-Y2rrrrrrrq9Ii2rrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrmjGlrrrrrrrrk3(!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!bdrrrrrrrrj9rJrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcPh[rrr +rrrrrT!F!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$,6rrrrrrrrPAq$rrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr1AHrrrrrrrrqN"`!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!-Y2rrrrrrrq9Ii2rrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrmjGlrrrrrrrrk3(!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!bdrrrrrrrrj9rJrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcPh[rrr +rrrrrT!F!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$,6rrrrrrrrPAq$rrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr1AHrrrrrrrrqN"`!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!-Y2rrrrrrrq9Ii2rrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrmjGlrrrrrrrrk3(!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!bdrrrrrrrrj9rJrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcPh[rrr +rrrrrT!F!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$,6rrrrrrrrPAq$rrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr1AHrrrrrrrrqN"`!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!-Y2rrrrrrrq9Ii2rrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrmjGlrrrrrrrrk3(!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!bdrrrrrrrrj9rJrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrc9[Zrrr +rrrrrT!F!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$,6rrrrrrrrPAq$rrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrFL2,rrrrrrrqN"`!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!-Y2rrrrrrrq9Ii2rrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrher[rrrrrrrk3(!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!bdrrrrrrrrj9hJrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrT!F!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$,6rrrrrrrrXP1hrrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr58a)!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!-Y2rrrrrrrrhjr[rrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrraY&82!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!bdrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrmDT!"J!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$,2rrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrq5#(!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!Na[rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrUl3!-!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +)6VrkrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrpHAprrr +rrrrrrrrrrrrrrrrHC3N!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(BRUrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr5F[(rrrrrrrrrrrrrrrrrrrr[J4! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!Mbkqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrmeFl[rrrrrrrrrrrrrrrrrrrrrfN43!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!GFf[r +rrrrrrrrrrrrrrHckrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcPh[rrr +rrrrrrIlrrrrrrrrrrrrjP"-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!0Gq[rrrrrrrrrrrrrrrrXI16rrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr1AHrrrrrrrrr)THhrrrrrrrrrrrr +iL`d!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!%BMcrrrrrrrrrrrrrrrrrq9Hi2rrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrmjGlrrrrrrrrk-58F(lrrrrrrrrrrrcG!8!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"'2prrrrrr +rrrrrrrrrrrrrj9rJrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcPh[rrr +rrrrrT!F!(SRXrrrrrrrrrrrS8J!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1L[IrrrrrrrrrrrrrrrrrrrrPAq$rrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr1AHrrrrrrrrqN"`!!#&VArrrrrrr +rrrr0+`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!#(cerrrrrrrrrrrpr2rrrrrrrq9Ii2rrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrmjGlrrrrrrrrk3(!!!!!6c&rrrrrrrrrrkF$3!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*Nl[rrrrrrrrr +rpkV0rrrrrrrrj9rJrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcPh[rrr +rrrrrT!F!!!!!!#kprrrrrrrrrr&E!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!4H$rrrrrrrrrrr+'(l,rrrrrrrrPAq$rrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr1AHrrrrrrrrqN"`!!!!!!!#l$rrr +rrrrrrm3G!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!#2$rrrrrrrrrrr`H3X-Y2rrrrrrrq9Ii2rrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrmjGlrrrrrrrrk3(!!!!!!!!!$V9rrrrrrrrqR)"!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!,PIhrrrrrrrrrmAF +*!!bdrrrrrrrrj9rJrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcPh[rrr +rrrrrT!F!!!!!!!!!!&IVrrrrrrrrc5%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!&M[rrrrrrrrrrD##`!!$,6rrrrrrrrPAq$rrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr1AHrrrrrrrrqN"`!!!!!!!!!!"i[ +mrrrrrrrkE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!KarrrrrrrrrrpQ4%!!!!-Y2rrrrrrrq9Ii2rrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrmjGlrrrrrrrrk3(!!!!!!!!!!!!)XRrrrrrrrqp&!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!hrmrrrrrrrrrlNI!!! +!!!bdrrrrrrrrj9rJrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcPh[rrr +rrrrrT!F!!!!!!!!!!!!!CIErrrrrrqp)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!afrrrrrrrrrrG2!!!!!!!$,6rrrrrrrrPAq$rrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr1AHrrrrrrrrqM)f"qGNX2!!!!!!! +B`2rrrrrrrid$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!"Bcqrrrrrrrrpfm#!!!!!!!-Y2rrrrrrrq9Ii2rrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrmjGlrrrrrrrrkbGq[rqlf-!!!!!!!"Yq[rrrrrraaJ!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`h2rrrrrrrrq`&!!!!!! +!!!bdrrrrrrrrj9rJrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcPh[rrr +rrrrrd12rrrrc8`!!!!!!!#VErrrrrrrX3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!S$prrrrrrrrk%8!!!!!!!!!$,6rrrrrrrrPAq$rrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr1AHrrrrrrrrrjrIrrrm)A!!!!!!! +!#+6rrrrrrra[!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +IcIrrrrrrrrqB#!!!!!!!!!!Bb2rrrrrrrq9Ii2rrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrmjGlrrrrrrrrrrrrrrmG!!!!!!!!!!!D[[rrrrrrji'!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&hhrrrrrrrrj6X!!!!!!!! +!!%6Zrrrrrrrrj9rJrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcPh[rrr +rrrrrrrrrrp`Y!!!!!!!!!!!ql2rrrrrr`4)!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!*T[rrrrrrrrqH#!!!!!!!!!!#K2rrrrrrrrrPAq$rrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr1AHrrrrrrrrrrrrrrQJB!!!!!!!! +!!"r9rrrrrrrE*3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#[ +Grrrrrrrrm%`!!!!!!!!!!"A#rrrrrrrrrq9Ii2rrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrmjGlrrrrrrrrrrrrr"-!!!!!!!!!!!!$l[rrrrrrq`l!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!BIMrrrrrrrqr&3!!!!!!!!! +!3Zhrrrrrrrrrj9rJrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcPh[rrr +rrrrrrrrr[a8!!!!!!!!!!!!)Trrrrrrrmdd!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!DErrrrrrrrrAX!!!!!!!!!!!'!r[rrrrrrrrrPAq$rrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr1AHrrrrrrrrrrrrae!!!!!!!!!!! +!!!5CrrrrrrriA!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'FV +rrrrrrrrU23!!!!!!!!!!%llrrrrrrrrrrq9Ii2rrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrmjGlrrrrrrrrrrri$%!!!!!!!!!!!!!!T!!rrrrrrrlCJ!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1qVrrrrrrrr$&3!!!!!!!!! +!21Vrrrrrrrrrrq9Ii2rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmjGlrr +rrrrrrrrrTJN!!!!!!!!!!!!!!SrrrrrrrraV!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!"MqIrrrrrrrj-%!!!!!!!!!!"irIrrrrrrrrrrj9rJrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcPh[rrrrrrrrrrGI!!!!!!!!!!! +!!!!%P[rrrrrrr'S!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Sc +rrrrrrrrjBJ!!!!!!!!!!$VErrrrrrrrrrrrPAq$rrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrr0@qlrrrrrrrrreL8!!!!!!!!!!!!!!!DHrrrrrrrkC3!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!,VrrrrrrrrqXl!!!!!!!!!!! +cj2rrrrrrrrrrrq9Hi2rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrpk+m[r +rrrrrrrqH"`!!!!!!!!!!!!!!#D[rrrrrrrKF!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!"I+rrrrrrrre4m!!!!!!!!!!'[lrrrrrrrrrrrrkAMQrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrIEqrrrrrrrrpe`!!!!!!!!!!!! +!!!!2Zrrrrrrrp%m!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!+Gr +rrrrrrrqk$`!!!!!!!!!*U2rrrrrrrrrrrrrlkrcrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrE+!!!!!!!$58P$3!!!"V2rrrrrrrZ2J!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!ml2rrrrrrrk%(!!!!!!!!!#I +Drrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrl)-!!!!!65ShGbM(!!!,Z2rrrrrrq%V!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!%ldrrrrrrrrLJ%!!!!!!!!!@[Errrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrT!F!!!G@e2rrrpF +S!!",m[rrrrrrbaJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!A2M +rrrrrrrji!!!!!!!!!!@ArrrrpZrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrqN"`!6IHVrrrrdE3-!!((prrrrrrqZ#J!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"TqrrrrrrrqfN!!!!!!!!!(-h +rrrrBc[rrrrrrrrhBmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrk3(*k6hrrrrqj)1!!!(SIrrrrrrriB"!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!(,prrrrrrrjA`!!!!!!!!")m2rrrlE"rrrrrrrrkh$Krrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqYIhrrrrrrrrU%h'r[rrrrbL'!! +!!"h2rrrrrrrf9`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!H2l +rrrrrrrGD!!!!!!!!!B,rrrrrhZhrrrrrrrrPAZ$rrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrrEFZlrrrrrrrrLirrrrrrkSKX!!!!!62(rrrrrrpmX!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"lrrrrrrrrpeJ!!!!!!!!4Zrr +rrrrrrrrrrrrrrq9Ii2rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmeFl[r +rrrrrrrrrrrrrpjJB!!!!!!54rrrrrrrrX`d!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!([rrrrrrrri@`!!!!!!!$AQrrrrrrrrrrrrrrrrj9rJrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcPh[rrrrrrrrrrrrrr''%J!!!!! +!*02rrrrrrrac!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!G[l +rrrrrrrTL!!!!!!!!D[[rrrrrrrrrrrrrrrrPAq$rrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrr1AHlrrrrrrrrrrrrTF!X!!!!!!!"Zq[rrrrrriM-!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"Yr2rrrrrrr'd!!!!!!!QPrrr +rrrrrrrrrrrrrrq9Ii2rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmjRmIr +rrrrrrrrrhe`&!!!!!!!!(mMrrrrrrrqP#J!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!'(jrrrrrrrrIJ!!!!!!*0Errrrrrrrrrrrrrrrrj9rJrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrdC[mrrrrrrrrrpK0!J!!!!!!!!* +hq[rrrrrrmP-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!8IA +rrrrrrrq9"!!!!!"5p2rrrrrrrrrrrrrrrrrPAq$rrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrrNfIrrrrrrrrrrL`)!!!!!!!!!10crrrrrrrqh%`!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!l[rrrrrrrkd+!!!!!icrrrr +rrrrrrrrrrrrrrq9Hi2rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcmrrr +rrrrrrrq[$!!!!!!!!"QarrrrrrrrmPJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!#cKrrrrrrrrb"B!!!!8`IrrrrrrrrrrrrrrrrrrjR[Vrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrpmY!!!!!!!0M[V +rrrrrrrqU%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'Fc +rrrrrrrrM,`!!!$VTrrrrqZlqrrrrrrrrrrreh[hrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrq@B!!!!!#hhdrrrrrrrri6i!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!,X2rrrrrrrr95!!!!Ercrrrr +BJ2(rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrVJd!!"'$m[rrrrrrrrPj!`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!++rrrrrrrrri)"!!UTrrrrrjiFZIrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrS23!PR[Irrrr +rrrrrU48!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&l +irrrrrrrrZ!m!*GRrrrrd9J"Cm[rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqB@-IprrrrrrrrrmFV!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!01ArrrrrrrrN03"6pIrrrmF +D!"'Yrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrr6arrrrrrrrrrr82`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!5[[rrrrrrrrab!ScrrrrlG!%!!%,Prrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr +re%B"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!+ +'rrrrrrrrrlSN[[rrrm`M!!!!$VMrrrrrrrrqk[Irrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrXFr!3!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%I[rrrrrrrrlQA,rrraB3! +!!!!-Y2rrrrrrrqq#irrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrrrrrDQ+J!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!&X,rrrrrrrrrVD[rpSJ,!!!!!!bdrrrrrrrrj9lJrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmIArrrrrrr[5E") +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!H2crrrrrrrrTI*pb%!!!!!!!$,6rrrrrrrrPAq$rrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrrplrcrrrrrrrqbFXRYmZR$H5F#!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Yfrrrrrrrrrq['3)!!!! +!!!!-Y2rrrrrrrq9Ii2rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrpk#m2r +rrrrrrk3*'Mj+0aB#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!@2rrrrrrrrrr9Q!3!!!!!!!!bdrrrrrrrrj9rJrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrc9[ZrrrrrrrrT!F!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!$AIrrrrrrrrrp8a!!!!!!!!$,6rrrrrrrrPAq$rrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrr1AHrrrrrrrrqN"`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")IprrrrrrrrrkX@!!! +!!!!-Y2rrrrrrrq9Ii2rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmjGlrr +rrrrrrk3(!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!*XlrrrrrrrrrqBJ,!!!!!!bdrrrrrrrrj9rJrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcPh[rrrrrrrrT!F!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!B2(rrrrrrrrrmA%'!!!!$,6rrrrrrrrPAq$rrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrr1AHrrrrrrrrqN"`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!0Q[lrrrrrrrrrkfN +'!!!-Y2rrrrrrrq9Ii2rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmjGlrr +rrrrrrk3(!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!P`rrrrrrrrrrrkh!+!!bdrrrrrrrrj9rJrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcPh[rrrrrrrrT!F!!!!!!!-"!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!"#h2rrrrrrrrrrmB86$,6rrrrrrrrPAq$rrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrr1AHrrrrrrrrqN"`!!!!%RJ83!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!&Cjrrrrrrrrrr +rq+FjYIrrrrrrrq9Ii2rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmjGlrr +rrrrrrk3(!!!5Bmlqb5`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!4Qk[rrrrrrrrrrrYALrrrrrrrrj9rJrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcPh[rrrrrrrrT!F+5E$drrrrVKN +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!CQjrrrrrrrrrrrrrrrrrrrrrrPAq$rrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrr1AHrrrrrrrrqX5+$VrrrrrrrlM`d!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!9DhIrrrrr +rrrrrrrrrrrrrrq9Ii2rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmjGlrr +rrrrrrqcUr[rrrrrrrrr[@!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*&bIlrrrrrrrrrrrrrrrrrj9hJrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcPhZrrrrrrrrrrrrrrrrrrrrkj3 +R!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!USrErrrrrrrrrrrrrrrr[MqMrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrr1AqrrrrrrrrrrrrrrrrrrqEe1#3!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!4Ep[ +rrrrrrrrrrrrrrrlhrIrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqLmqIr +rrrrrrrrrrrrrrpej'J!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$0U,`rrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqkK0J3!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!*mMrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrXCJX!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"b +KqIrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrL5&!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!ITrcrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrQC&`!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!)Ucmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrUH'J!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#@arIr +rrrrrrrrrrrrrrrE-prrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrljr[r +rrrrrrrrrrrrrrrZM(3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!SYIlrrrrrrrrrrrrrrrrrjQALrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrri*2crrrrrrrrrrrrrrrrrrbS(`! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!"C6rrrrrrrrrrrrrrrrrrrrPAZ$rrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrr0@qlrrrrrrrrrrrrrrrrrrrf"!J!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*UIrrrrr +rrrrrrrrrrrrrrq9Ii2rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmjGlrr +rrrrrrrrrrrrrrrrrrjB%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!QTrrrrrrrrrrrrrrrrrrrrj9rJrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcPh[rrrrrrrrrrrrrrrrrrrrP3- +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!#DRrrrrrrrrrrrrrrrrrrrrPAq$rrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrr1AHrrrrrrrrrrrrrrrrrrrrq9!`!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*UIrrrrr +rrrrrrrrrrrrrrq9Ii2rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmjGlrr +rrrrrrrrrrrrrrrrrrj8$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!QTrrrrrrrrrrrrrrrrrrrrj9rJrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcPh[rrrrrrrrrrrrrrrrrrrrP3- +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!#DRrrrrrrrrrrrrrrrrrrrrPAq$rrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrr1AHrrrrrrrrrrrrrrrrrrrrq9!`!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*UIrrrrr +rrrrrrrrrrrrrrq9Ii2rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmjGlrr +rrrrrrrrrrrrrrrrrrj8$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!QTrrrrrrrrrrrrrrrrrrrrj9rJrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcPh[rrrrrrrrrrrrrrrrrrrrP3- +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!#DRrrrrrrrrrrrrrrrrrrrrPAq$rrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrr1AHrrrrrrrrrrrrrrrrrrrrq9!`!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*UIrrrrr +rrrrrrrrrrrrrrq9Ii2rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmjGlrr +rrrrrrrrrrrrrrrrrrj8$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!QTrrrrrrrrrrrrrrrrrrrrj9rJrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcPh[rrrrrrrrrrrrrrrrrrrrP3- +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!#DRrrrrrrrrrrrrrrrrrrrrPAq$rrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrr1AHrrrrrrrrrrrrrrrrrrrrq9!`!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*UIrrrrr +rrrrrrrrrrrrrrq9Ii2rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmjGlrr +rrrrrrrrrrrrrrrrrrj8$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!QTrrrrrrrrrrrrrrrrrrrrj9rJrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcPh[rrrrrrrrrrrrrrrrrrrrP3- +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!#DRrrrrrrrrrrrrrrrrrrrrPAq$rrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrr1AHrrrrrrrrrrrrrrrrrrrrq9!`!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*UIrrrrr +rrrrrrrrrrrrrrq9Ii2rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmjGlrr +rrrrrrrrrrrrrrrrrrj8$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!QTrrrrrrrrrrrrrrrrrrrrj9rJrrr +rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrcPh[rrrrrrrrrrrrrrrrrrrrP3- +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!#DRrrrrrrrrrrrrrrrrrrrrPAq$rrrrrrrrrrrrrrrrrrrrrrrr +rrrrrrrrrrrrrrrr1AHrrrrrrrrrrrrrrrrrrrrq9!`!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*UIrrrrr +rrrrrrrrrrrrrrq9Ji[rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmpHl[r +rrrrrrrrrrrrrrrrrrj8$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!QTrrrrrrrrrrrrrrrrrrrrjNk*RTf +GRCfGRCfGRCfGRCfGRCfGRCfGRCfGRCfGRCfIIP2[rrrrrrrrrrrrrrrrrrrrP3- +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!#+Apq[Vkq[Vkq[Vkq[Vkq[[M0!-'"JB'"JB'"JB'"JB'"JB'"JB +'"JB'"JB'"JB'"JB#3q[lq[Vkq[Vkq[Vkq[Vkq[f5!`!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!D@-`1!!!AjL*8%j($3SD#J!!!!e*5%45!!!"!!!!!3!)"J! +!!&abU'B!!#!!584"9(LFlEd(H&c9YIGpbrHpppl[IMFp0`N*D@!),B41k#5%&!J +TT*%'!8`!flL"#mBflMDiiiCa`q!#YM(Z[IIHHfpbPf4,XYAAZhrVl#-GMfG'CdD +MBQZ[jpN)UmbF1@H[rele[rlPAja8LBJ)k`I&aF@(mR),XR22jfI9T*@IAhM1I2k +&CRf@Hq(%5Bd5#`#hTCr1cQM4B*3mpiIq8[Y2!fV%H[Ehr@4!MjP59&LdfYb$ccN +!F&,Ma!,!V8H2C'3mFRYEZHTcGD6@&qV9L2@Gcl`XpIia@!S,(!!iUD(L!m#aY)b +-Rpl9AUljdL[b[IqYAb2@e3B%kMmhe!'!NdY2V1+blM@VN9N0NPKecIUD@EFi!*! +!cjKeSeN0NlbAV1XGL$LT&!N!3%GM[X[F'CYPAXJeGmBQ@ETJKjc,b5-!pS"C0cX +!N!$rhkcDkDHbCIkX,D([*lqhF2C@bFc)-AmZIhF!i+45*!J!idH[P"Z[D'K@Se$ +VqUmeP%GZEb-(pTed!"!"!-X@lT!!@lr6*26p[-(mhTfeQXZk9IXF!$LT2!N#`#H +MPXZeA`krm9(bKhl3@JlXG3!3#3"B4YqrXR(SqhRYPep4`&LlFUm$!#H9*aF#`)U +%0Vi$J,)")1aV!"5h13"`8YRL!-!"J*-D,!i!(!!iUF(L!-!"J*-D,!i!(!!iUF( +L!-!"J*-D,!i!(!!iUF(L!-!"J*-D,!i!(!!iUF(L!-!"J*-D,!i!(!!iUF(L!-! +"J*-D,!i!(!!iUF(L!-!"J*-D,!i!(!!iUF(L!-!"J*-D,!i!(!!iUF(L!-!"J*- +D,!i!(!!iUF(L!-!"J*-D,!i!(!!iUF(L!-!"J*-D,!i!(!!iUF(L!-!"J*-D,!i +!(!!iUF(L!-!"J*-D,*F,!+"!M0ILIDrj8MfTp89[SCb4UeD8&I9hl'[`QVafV$& +I$J#FA,*b+3'!Tq#PLXeA[RI$eaV+,Gpq6HkqYVNmI-ZEmYKpRH322qdZcrbfMlc +mYrHNd3[[5r0A4NMV9cq5$Uq2NlIHR'$@Tp+Yr54Gr,Y$Lh(5TXNBDG&JT2lq2rr +bV[ceLGlbQaqp*BrHf8lZZr%0ZHflhV"2hM0i$9GpVSl8IhD)!`!RPjj84`$`6h, +rG1EIhrp'BlRhqKEbq2fG9,'E[2b"G1m`58B-AL3c*fq3!0A,pmM1V@Q5GLKG-Nj +RblRXA-R2+j!!SX)LN@+j52,c#brqTLrQp`[0hqAPjN[@QA0bmYJCfErRK+aI[9r +Q60XS)iFXNUjY*aUJ'#C22GC6ld'cHL0m!2K[$`#f1`"`8[fP1J#!+VXeYkrl5J1 +jrHUQm[0l1NMYT`C)acFqNC&$&mRLHGYNcmjMNT'HVBVY+h9K8E(NR-qANqRRj-# +460Qkqk5XhT3Q#eFHN!!C#hI,a0Nlj+-T@q6$6cI+d,(VjEh4Df6!b0A5lm09Z[U +2@#A[QRrcr5&MeXN(icHBhpqXIcGlb9jCZ[D3!'cFIPcf(-b3!11RXL8V*dm+!"9 +`SVKBcTr,Nk1(dqA3J92mqkMjGM1cqUpFXN[ZZ,UCA20&$m6+ZKm1!*a8L93&!&` +E82LE[Y&)(Vle6ARQbEl5ZG9iQI$a5YQdlS#F1R&@#JUm8lUJX&JbXh*P[e(`YCZ +2bXa&Hf68T%fU['qpZd4DpCJRVh@D+DqdQ5B[YjSLrf`a@@ShRb620jmSccIceR- +4+pVhJMpMe6Crrm,VNq5P0bC,[6HR5Z-1-q50ER1PFrr&#L*MTQk9"5[fbcB$1XG +2jFLjm`8+#ND+FS`&XQcK$RQhebbTqr3JqFNGEH@QVcFUqGb4m33(!%kU4#S$!0M +FrNQ)[rl!pe[*Xlr[*ldk6j&j-cI,NB1R*Bp6h8KH3C%F-bIYKQh(C0U#hHE8AUG ++r[VEFe6"AhaMXLVQ"FVDI+)UI'fMV#p8i0,hD&i+(RcPqh8-k!"!(IXY8LX#J!) +8!+eLkdiF1j)KFkG[8T!!qpe2ZXUY4YQ[#B#"!`!R95)9"3$q5FIk`EGHNempe%A +HE2+a62edVIV6[X*RRmZAh3I5CHl5I6,-Q1JS8H11-rA8IEjjUD+KH"@Yi18&"am +BZ0BkVDG+LkjcT-r`P6*ehLlCZIqdR-[e2[2C-qGNeG,GdV26&2RpSphdrK"3[-9 +mG3$JT&)Pe3"`p%K'"ZBZQrQ22qmK26T19P-Bhafr26Hr8%hjZF[fUGrGZZFmBej +28`8U9IDU9qM8J%)TH1&#Y1Qp3'-4klBFP60CH59JX'6qGXe322&J&eQrHTm$!#H +9*bN'J0Xb-h)b2abd8!L#C@HGpcCjGTkDp+-REjD1I4G*rEE6p66hcIHU9Y6+@Rj +-iU@@Nk9PplNbr*-0HPm)BKBA&@X`-HZXhV2QC[dIrpNiF9*KNM3!'*rekXrAP3G +[EL8(pjh-0ArIekcT"1EC`@H-rlYQ8jUm2fkpE[DA@di*"0HUAKQVH[R@!IHPh6X +,C-+XlA)`lB`8&QS3mBaCRjVe@l-qki$!5B9*SJ$J&m(FI'9MHHVaRM*bk')jEra +iXQ,imjYf(&Fc&k9A2ci36AFVq[)YS8EYCmM!8@YNrGCMQP%`JMN`ek`rQr8j"`4 +18LjK!F"2hGeeEA0T@(ZB4V3a9iZ+LrANQM4RK`E`#(ijT8pZqB&%XJTGheXU5pB +Fe,S$)lN@#(jR#idF%$K*MC3&!&TEEa6rJCYD5YYQBf6$Q[fDRbHBKrp+))rmZ'r +59V85A5k,HdR+Xe2raE*ip8(0PKJKeM,"V)I-qRmF#$JTYm3#J'YY8mf$0lI@h2@ +1V8Fd8(8Q1dqVl0iHZ%42UZVQdpGq2C!!V`m8!T@eD[Ze"0ASX`5"J2Y0K@0HRSC +B6T[eMPQeR$AJT&`5#3#qMhrIM5fe$(IAYM5YEMZGH9kQ,GJPErDD,rpX-DP+6rY +JP9q`))H!'X9#VhDF+5fkcT8f[HG,*q1@B%lh(,TFHJpE)Hqmlbhqh@h38ZNmB,' +dlEe!+rbDG*iP$GT1Yp@%NbkS3r#,MDS5#!$FrKqZNThl6NY4N3B,Yj[e[(-,R#3 +Y33!B1f+jh(j98qf)fl,KN!#Hq#MqP,Nl0DLR'l'5II[)!TZAM*)h-Li(p3-pKLc +A90TNFhe,M*QmCHF*l3FiNCiMCih[I0kFP[Q&44UR3&hi@PK5aqrpQc,MA20l@6R +jFLVMR"`kHNEl#CD[2bc6&qb@%4-f+A#d-F!(X!!bY5mS8+Tm)'MBISD-REC9dM2 +2qI'"d@EGj%$!5F)5")"0k`pU88UKmI&*ip&-dl,l["+6ZR)8[Y3X*iZ!dR'+$af +c6Uq(aTbM*l-Pjhb"&2N038DTXmqHPf0T'E*Vqe&CXf+["LNRMPNPSiBYPX&pjdL +rlM1N9qHTdU2$C2hDVpX-'G4RMR`iH+&mqY&+Q6eYSpBZE0pm4$X+caVPmRX4!)[ +cZ39DllpPe`PY%L+pLArqUPqe@)Q!i,XUlISXP08EdrcQT0eQ2@[@IcS3F"*+!XT +r[9Pc01q89k$4CcCACCcirJR[+hc6,V2922pdjRCCYr@SGZ$P&hLRGN&qS6B*E6C +!0@25HKPX&*JHrKIr-P#Hr%PAHH6f0[,$llfZh!!hAY&)1`Y,@SX$TFNP4"q@6i# +Ba`eA0*3II1Y9ZHXDMe2Je`qr*FrrXEqmdA#d$1Ja8kD-Ab-EeqkA%mI1H0f)4VJ +ZVSr+[R(6YkT,m9UR@I*LLmQ98Z6%Hp4Y2G9B+4[PG-Bj2dJi`+a[1'[!58`*+$k +jjATQlD%!"G1hPe%qrd5VD+AR+cihhA8I6pfL#SmCMRq,qd(j-*f"a#D)4k#3!$r +lB3GYXk@T#-81X[H8aG`6TVLTK&ASLk9-3Icrp9pYS1l4ShHeNhmmf9ID0amVidB +Y9c$+0#i(ejYR!1VSL5aCBGb(iH-hb*XpjjF%5LX+$(cVM"6XePdRr@l%a@Epd)' +!Ni[%ESTr-qXHXkCbN!#G-+IBb)QEY%5hSK6I9hVq(l-C[jUZ1IS#m[+,G10QCZ6 +)ZTA'[(jh[M6qjr[bb`FlUl*IpjAk*H3J[T)RTH$PA"GB%eqSTpI&pIhbJFlU6TM +2N!"KlZFkXmkLKD6Z0Zmm)4p2f5*YheQJ`F@+UT(JGBQ0F%pYTQ#r@8qCpHm1"*a +%R[T0c%VMa&UkjT!!Y1iaVb309K%ENpGZf'kk@KFd!H($FmS6DcL`lk6kkQmd(+9 +Q0l4E+*TrmPD9XLF##YrpE"fTpmaJ')(@Q2[k6E0D(cf5SI'8p&0CkLi3Xb"q!H( +)kehR9%JQ4B1NaRSM-*VKp44NQYA8V2pb)&#$*D$mYjJe%AFD8hA`afZp'[d8RdM +qDFpVYqql8#E1f5%(U(-h5SmI6k!1+Umk6`r5CL,-keSP#Pre5ThSLNB+L[,I8DZ +C2''XQ(E0aXU#f9[NM,&`N!$d-qH95+6li'AD*CMUi#'[eAh3-XeSf#a"6`[m9Ed +9R95f@-@RXqa[q2S&"8@bE1dK6HY9a!QN0Hh'&"diHSd'aj3PabMqSIfRj+2K5q5 +P[`k8Hfpi3a8R$&A@TE"LXJ*rSh&*`2(Q+ep9)T!!hPfQbUCe"c@3!%J3%H)3-Ka +88kE52H#eL%&Xhh0+%b9Q$62VIeeFS)C)i06rXPRGF%R6-mpVSdkG9P06HZVl3%) +a$G&`HJ2)XG-1['M19MA[Ih4VQa*I[VUEp5N$J#!TU,&Xr%!Pr44erMj)b9')Ha# +hiji4+b!,iVPMjAmq2*GQEmh@i'Uaak,iX9PIFb"`Q8Y!q@q`JEiLUXHk$&LF8QB +G0KMmHl5c%R`k466Fl1E$"dr,m)%,j-qrl+@T0ArM9l@L9LN!"*C@@jUrZI(VMH6 +h2qfQ38mS``##011DMCQk4G1*UA!0!2V'(@CUCX*,%-Ji"`+AXGJ(qkpQrG5X645 +*,&TeS'4$T86aQdr8)&El2JYP[[&P+4Sb3Y[Dr[46@IPr-BV[Pa4ILMjp430!F(' +2q2U,Hc[+`0kcP5%)2F8L)'$BS&hj-c-DK'drA4Q1ECT`M(-(,N1a$j3ZXAqBGC3 +d&#@MY1LQ`U6dAi0qJ$P,pfQV+[kpf948aV3!G+!%Bj!!aZ9miUF5!)*!F1ZhAj0 +eUrDKS8[-1N$3G0ZHNjSbp6N5b`8#"N`SF4E2(AMI"3B[)l(+6lVRGI,3Q1039hX +2[lb+AqT28RG2LSQ"'fDc5[IfNm3SIC@2"V[8!3",k9D2&4MPI-DkE`20bU!-Q3j +-bV+I,iF,"`K!Z%T`&VI3V"iZ4AJCL&AqcjM9PE32jL08fUN)p+(iN!"f8[Yqj2K +C05&hE%f60NdqeQ$@r6HeP2el6cJ!U)$CJ'Ep[fBpBYBX8VI(6QE,qjqXpdKANRb +fr"e![Q2[+6p&q*UiBU&,8`,"[LqBp5kEK!H,LCi+[j'[AGjGV-3I&1j3"pqhkh6 +0hI[TVHSb(23b"3"rIGkXKX4B5"d5d&0V)-PRc0r4hAMBUa1JH[%T&`qia#5`1Ej +NFla&m2%a3+1mbXrIBbTLlZ2RRcqI,a2(VTEI2[+fEPCIZD[6G1$,%3!LRM@"A3U +jaTZ9Mc8'0`$"f'4F2*iaa8)CCl4LF*pCGcX3Z%3NS2aIY-'FB[bkTTeRP603j(f +P3QhArR3eplGZ1L`0DJmV+@S*EPS(!*8$!"(2(&H28Zi6d)Nc`a!5P'5#[2`0,N@ +H0bKe[PPA1!#i"%4+DrS(FI+[fC`QVhDD@5lPjd5J'3KkDV)(f9QjQTqQ06C@1Xm +"318"3-5crcFE'eL0DiC,3!&4-TBIfB9CLrH)P9jLja%iUDCL0`!88,h0+U6+kl8 +8+$mq)EiqTrlf,8Hd6[pkfh)EDp-k!+Km!!MX!GC9CSeP(qcFGdUTc4)&!6mcB)1 +#fH*4N!!l9k!kLT6@pEI$$i3#UdNjc(j-IRa)I%NLc2PjKFU1`fL[5(2I!8$e!B$ +!A[!$K*4kRcpml+bm06$al!qJ3GBSdqXJh',@Y3i!UTN%6,pAc-VCFb"GDqq6$IL +"r,$*I$*pQq6B`4l3BM(6,kcb1J#S1J#)f"IrDH-#Cf!S)SD6D%b!`i#L-8Xf1PJ +FY9MeN3$DrpkXdl6b8SDEG"V)QRd8PeJq1IVBji`GX5bK4Kd(!&82!)(p33AS#q` +2LX"k$PQHN!!P!!$8EcY00Qdrc[[6Yr`Rj`T8!`NSrleQlFdmQkZFHHA*!81C$6Q +&l4#E)KkrI)G8MJGh!&"j!"$B*eL)P)'I2R%k4qR3%`%"ha8ikr9fm&QqlJ#J#L@ +Jr0maDcRde96N*9[Db`1'QQUhF4q))BKADZShKD4N2,J$J+S"J-"q!34UQj@CGMa +,1[40h&+F1RqA@'RTV)!U&([cf9$$kDqI-QqR6SP*9[NKhl3X-5KXHr[Drq)!i2) +!J-#HSE5hJFD+$UBV"9PB5k#f,48QS'MNJ,Kj!e8M8PVpp5URpGV04p9(5kVUbca +8SX2%$X3MV+6qqcm#bZm!i$)"J-$H)9[8dDa#kN4JA`klGcJX))ka!F'qiRS&+PF +#5[N6Xdj3pYQUalbNdRhm$A2P521*0hHqRJ3'5cS!Z2`!)2"F2f[@L'+e(RIT[)+ +`!8&DKb'4BIq*+a1ZA,%hQq%15q(8)dqI60#2[f'UMMhj8IikN@MZ!1$b")$!Xrf +f@FYS+Ajhj1V3qiMI'r64@Mp,0&MF01,+%5PY!qh1R@Fqh6p$)RIN!k5klq!4Q+' +e`UYqY)IS!1#b"`$@`fBG2@,mHUdG#@&*qQP"@b&)E[!1C`98X!3Hf+miX6("'++ +4D&%($lMj@l0PCfR2G`X,+[(Hd`(!C3B!JHG,,)P#S8,'[M'J*1`K-R6X1U9c&ip +Dr&mG!&5Jf)G&4pEbl*`mk6&i@9+ehI$)%IJ4M`iDNT!!Q+`[$J!ZE`!)2'0+KUI +3q6G`e*T3q`SV!)VhIBHK$0#@i@XF!&53!!53!,UY@FA6e24221,2q'bkZbcji`J +TJrI0!8#0!3$@I@BGfhFS3a[)`PL@!!8Xa9CHG@j!"8MJ!4&Y2EVrF+Bfq546cdh +k*YrVleiShTLUX1pp%3#`+A93jTIUfAAKi%d(!*F'!!5H-d9#A6JE2TQa,94DN!! +pb"!C1heiUE8N8RTY09lX`rRrc2S)bUIh4SFcd5+4QY*21a11"Zml`k"e0!#ieJl +J[1fl6H@4fp[+i`pdNXI[lb3rZ[901lZ[[SlaFJ"`k3"!i&R63Vb08Q%81m`K3a" +kmHU$A"Fp!Vp`!*!!3JNSi1qi`IMZG1NPk[GM-GJ5Ap*pS6RH)J%!aAh`jPE5jqh +TXRl92MQHPLQCkGQ5F6TEMKj1Pr@VpbP4#!-Y!!N(!*FF!,!DifC1REFVp1(bc[# +91XV-5(pa`F$8LAdJ8(XYJ(p2fA`622eIDMPCTqk+epc644,)f3B"B0c)j6V*CmV +i0IT#Tc22kFcj94Z2Q*@QFqa1TTm6JX*T"Jcqr(J[HH#Q9Ji!+TB8&,-G'M!DFqJ +*S6k%!Tpr6mBIPp)DN`eB!D3&bl)#r'#J65R[-1Y+"`!TN!$!3kCjSf$qm[d*jr` +"#eb'A'mQr&bc[T,)``N#`*J2PmQIIY&$XXkFdfl"jQr2eJQr"#0CT)m)(XeCUTY +81V6i41krXD8$J)S$!'*#rFaDEYCZX`jDpfkP@F2&Bqrj6#*!%(MHT!9ePQ2BZS! +C#lN%E5,lR31!&)Kp%#MX5YKCkG4,j23(Z@%"Y[61ak`5*R3U"!%!2J"-If6)aq[ +NZDB6,YS%!-+kVFFNkqajHHUaRMSA`!&!bJ(JVfEGDYCHc'iU1CN3"#KMKG'S3i8 +SKiCC!b4"mJll['N"hdY'S'(l'@8'"0QA2BBXp`P%hh9Z3$NPS(Mr0+Z3!1'DLCc +m,$S$jhQQ2mjCbf3H5K!!CNhG+"Y@lcHQrhPcqXqjb$4N%c"J&'YMrU`YZX%IZYR +&!#V)!ZL-mRmdCE15Yp3aeKFTAVif-JS,kirYlf!$I#X*!'#[p'9FI,m3THB!"#2 +-E6ITTN3Y65F4BKm#R2l,'0ZY`c`5*'rS0A5j13Q8cQZqH'2!Nld1"B"$"dl*qA0 +j1N3bPLXbDr&Hl4*Vm[)(FYARklSJB1S"!$#R@h-e6@"8JNBUjh2Qhr6j%c-b-P' +5'1mPTFeQfI'HGq4DX')rl`Rbr-J"3*)58,Uri920@E)h`DMr*+A`hQV-350%CKj +,e252FLdG+4iU,#b+@LQ'08"-J#$JMUe(j$lMql[*3+N(J$8VpQ,@`r5E4D`PeKk +`rRL"h82*"J2*k5mlQCkMVQ4C`8#r3DM)+c*VRZbHUr&LEpcrQ$8V+cY21[CEP*! +!liqP3-'2VG&q6f,8q5G`,3S!["KQ*4ccdFcr%4-fDRbJcp[6E)'3!%X$TK)!ELf +e!0+0VehF+`VeQdrBBFhr$@CpVCc!hak,$X8ZD`qbleVhR1H2Jrp8h!b"a#9`ihq +1+F93KjF5B2PK!c6Y-X[haBJ+hebHKa!*!)YA(EbS"*PTY%bIS62Xp+NXqI@2hR+ +&3"8(!!Ub"ijNUUmI'Cccb6TXUIHEj6Q&lGrqQ(d)3@bBrFFqf,9IH3*fLTG16(V +[e8La0jdmr6!LUVhIAj&`j*r8MCAfj6A$!J$3Vl#`@%H+4ek2&`&HTVhKNcpC)cG +Hd8JhV31!LJ1!D3YfAD6m!$'6QVGjVKmc[Rq3!)*R6c"[%cRq-0N!&ZPU'`Gi`!& +!JQ*[qSeQ(D(G0a'D,prmJqa4[)+-UmVl!+3d',RQf-NXR5mBDIjM%5L&Z!%X*JE +j3d-F!+3@!#LcTY)bh`#Y-[T'!@+LrlPjQJ)F84lA,r$X+63D6M!jM#Y+!(,iq!h +q!I55L`-N))(6YLPhEr6Nc3QIrJa[X0)k&6II[XDMCZ83iBhfRP5,8DH`FHd"ZH[ +DjL@c!a`!T!i!Z&p-C+,#FZqK$!hb4Ki-!,'0`Y2`mHX8@Rq3!-A)m%mfP"d(D1C +4c0R#Xci1!")3+Bfm,U@l+Q`cKUq)Vh@Dj4Ip%!+ZP5,PClf0HGr[Ji[c`Ialp+6 +0LMMGfdp5hcqiD4d!T!B!DTRAD&C[K2Vf62b06!Rl3(c+kmUM-[#,U9!mqraK$-U +CZh4IQGCSE8XfBkq$UM%h35LXf*[090H%FUqq)RjJ6#qEJZQ8`Y-Imhmee@C01Pe +Sr[["2eb9NmI2bLmIk+aY`3i!8Jm!a&@Q69LRPADG"bb1$X560r[@Ap08REcfGEj +YeRlk2ZU%B!YL6qca'Xm`4lrU!##%"%lEEZ6D"i`)6p!)+[Y4H%P"m#ILQK53!+* +&JAfI%qYJiYM9FX2A'Pk`D4d!T!B!Z&Fr[kH$($qD+6X-f",SL`cq+4"lcrq)@6H +N5ZQN0#@pQ%2!Sk#,[amjZ&CYi$+%D140$J"#L,h461&CVkGY!S3IIY@IVF2q3&, +!d"S!T#kaS[mX5Sd*rY9pCV#DU3i!8Jm!"&9E[rU4(ZhDR"2Pp'I@Rr@lKkILq8I +X!`+"SkK*#914bVkeK8M%)RlL!##%f"[p8l2143Zfa8IF5E*Sj3(rKMq43[2r#fD +YC+*XC2'2Rh'JmQrVaN2b`qYDA$3ie!&!DJ$JqppS,(1REj*cZ394Klj'"2pqP5V +c2l!2@'r4Ha#'Kj+IMjT%1i"fM6rY!+!-#GjNc2p%H2j4a"CGj`MPQND@@D90e68 +4r-Q#+6Bb(X(e-BF3m5[r)MHZ!i$b!`""e5FHl#,TTl*Nmmi6aJHI'ZrjVj!!&!A +r)[D"CJ))3,ihHUfQqZ,Y5Al1M!%EMhSYPB"d@BUp3C!!1#b0GYU@KEDNCfcPeaX +T22e,bN#M8C!!X4%hl6JZQ@EM2IQ6VL@jI`F!U38!lQ[(0cj4S198M@Eq8i,Y2Aj +j[5+8cEiQ,FM&SbCY,K-!r0L3!'8)kZ)!S!ba0`L1[[59k`mR01#6&Y#e@iMl#4' +J1e*iqX-@[26NkCb,@Rpj`"5&R$Fq*kCTV)hX!+"m!%$a$`a-LqGYNkbFI(QcjmA +qGldhTbSVNhM"hh+9ICHa(hjT9VkQ)%-!3)HqLha1JN%1!1*)i,5Ybpd#c812Cl, +0&jNHdHF-mBK$8h908%5I@4%&N!!!JdPcGUM9mAVpN4F&ra`!T!B!12erqmMEFLB +M4pC[2DCN+j'+"N@F965LK1@Ur#YM2q!1RTZqF(HC38$GPchQbGRX22qkh2$3@'* +[,MIS`jacqBUFLFaRmmar5CQ[&3#N9LMiN!!akbki(Kd-fAk'0U-F2R"+(VQp68a +PGJ"3IJ$SfRDL2PaU2#lZr*XNdd[EI[p585HYIGdILQe"$P--42Y`HUB@!dfT+'# +k,%4+dhqEi2YRDNrBfRp1jT9H[T@ULlY5H2U6pje20@)N+55EX2H`&4VJqIL$TA, +G9aV%h-!1!*)(!,rjCmALAGTH'eN9bKiK*fql2LQiUE$1Zi#,HTCX3qd3J@Pk4L! +906*,A$9JE,%hpal-l8@V`V9FPYcN,V1%S+&idIr2TK!!L#@FAV-T,@SVXTrlIqQ +[!f1DrkN'!(kI%j(hib[4mFLdBh9Gb3!!Rr%22qXZ@@I1bqSSc`%J*PYNTr2fU%J +r1l!RdX19!h[JC$N*jUA+0EhX*'"Z[jb`rfq,IfbN058E)(!pVaC(-6[pq3+!c[E +04q5Hkbr1rDFD!&"dmZ!r[DZGr1eA[H@&T`E)-drfN9mrr*Emm(Z[brHq8MpU"U) +kV@3!J-rGUr-80Iq(M9dI*IFr@8M2BTD,el0Id3#!#h"QpT+pS@M#!3!lGTi*92r +Y!##+""4Z%#fFLA$qmhY%C+hrpiF8R[l`adh,2*XVV51LcRVUM&LYe4f$qm`Tm`4 +1"3!mrCXq-Q[+"MPal)cNjHDM4**[lYAC6)pkE26l5q3I6rD9QllH5#F@9E@bT`) +!Z+qhAp98eUcB)aRQ1E6S'QRq'aql02GIiH1il,lJqH9!6PYf*D"(%(Vik&QZEki +$J"J5m,FABbkpTXdfi9`!)X,33"YKc1pe+33!DVH2mGU4Bk+eiVZFQ9!!!#!!584 +"90#i+ERRmmdTh,I-NlFm!-!*q1c[qkRLBq9Xhh0+1(dQcGQTCDB-)dNc*`bdCcR +CZ6*Uk1)b,C*,"3#iVhrjC5rpA-4i)V-`!$&@JDhpD&@4ThpJAe$5Hhl+[&fK')+ +G#a"#l)f&Y113!#TFbh"cfE8-YmYX2mLbd'kU9&`,#a)(q5L#Lm#,1Fc@8fIcKS- +Ap2eA"!$Fq2A5lMGQd0GT29@[J@[L"-)%jT5K44P`3"H`"V!%UPVKb`X!h*Yqh@D +SqFrmK8L&SrD$q)ai`Gql+eUj*&!(m1R-l5%!i))Ji%bcrX-"3"5a0aEkj(1-l%k +NqJp''0[mdcH&rMrTQV(C1ANAeCccrh3S)S0#Q2rP!3"qpUMaqBmGbG!14drjSjm +d9+9af["l*ikINFIZke6Y-JaAIlkZ!B!KS3#!qhTRV@DbBFeq56pcrL)fAX#[9Bp +j5X"LcHYbJhr)[I&(XiSqQV)P&!!%dS!6aD8",jE!LF[J$`fiP99L'96'N41ef3* +j)BAQrp9Ql8HC)PY1@E3%iiGMQSF*[#8,!%6k'lmiA)U,ST0I4,XIc#2!0IR,%lf +U*#L)i[+qR2CF2rqqiBU'F[-hAe9&Cdj#'!$J0IlqkhGdrX,bGBIPa5Jp'1`9@r[ +4V+,0rm$HB*pTrdHCTF!@T-jkl-#MaHXQV0"V[13N!!$GmXe*hRe3f9e@`C22$[Y +-#I&Li&SS*LQNbZrj+$PRSVVEYab*f[QA5J"JBFlMhhF,F9r`NCQDR*Q4)lpkU-X +&V%39THbDPV3T545Gq-0[Irbfe2[(B(RVc8pPa*!!46*lkNCCX@5AV&Zj9rEY2S( +58UlG`Dcq5qC[PjZqFE'l`ZZqfh1QDRHd(J`'[I*CM8#pHfFP+6qV+AdKr8HX#Y8 +,J!9*BCZi8Z$SBQm+IG[MLEJR3[m&+mZ@A5HiZI[&BfY*aE@!dN2S+BmNR26lc5R +q)GJ@9P'L!-$hMal*b)$E,YBTMA,GG8ecfE,KN!!'NFSLS2$06FD9B6EIFA@cP!B +#+FJT8ADcV[Y+IBh3rq,HMP,hk8(bcP[60%ZaHmG4(CTDj-eLN!##`Q,*-JS!0GD +a8pQk-XkH&`2fr%,KcQeTQYS-!U(rf6HY1k"r4lYeC25I`Uc6RQNpVa,0IpEEZ*c +4b%M,F&'l13#))P,DF,1+DUk`P-[m$K0iEB59&0$rT!J!'#qpl8!8qQFfhT4j1h9 +c0k`p,'la6b3!2(Kc+pQrpq4jkd2qiI6*V,-[rQ@Jh'1X#*3T-R8(-0"GL$,4Ke! +@,CVfRPYhU(HAUHAfrhe6h[q-+2Y2lfi[crqa[h4Z09iBN!!+d*M2)8@&4CS5c6P +I)!I6cXL+$8GN`UcY-Y#Fh-a)"05TQb"BbI`qP"GL&F!E-+A+lmHhPCC5mlj2rlD +2-IrcCFRULqF[m&N(Ie`bHDGP*CVrc!RmJ&&ME8)3JQ!K%*beJfPD1!#))[DQF(V +[TkdfE!D!6F#8i1`F0Dp'TX+rXYIbZ&QjdFC0dA%'lap"Z8I[E"GDb9#L2rkX1hb +"9#Z4Xca6E)6*`AYf(T0K!qDTK4!mXIQEPSe'Ud*$0KV[Y2(ccB$@XE4-HIcqj!1 +!rL#61md*c!MdYXh'b,L4beAC6airSj@2#"B5TrQ'EFFd*8Ne([85X23#9P`[#X" +AJ00ENqcbIYE!r#iT6G6MNp%VY0!*5`-`I+rhE2eq0!BQ!!&J-%+#rIl+8#Ul0bM +PR88'U&Q)9[ARE*c#5QfRr&(%hYMEc-TBE"jU'1Ah!B!+`!+[!V"MHG%e')ZJV,4 +["2-[D!m09-ljI&R!a0p[P0h$lL[d2rrmVQ$UFUel$fB)Rj058Nlf)mI1HNTZI2h +V[hTK2m'B$jHT#9e@B94`(0R3r[28SNMQa1I[I[e`&dfpBAkIbpEJPGBI($qGSl` +(&-#3!([[h(qa@Q$iiXmh+de,KUhIm#dUjMeXhR&#FrfFqPGrSDkQ9MH[2kMTXmM +j#hiF*ZfihMH#LD'*A`,2Q(6FPH*a"Pj[VElrL,H(l-mJ'GQ`ll#P)`qa4bGi4@U +F8Nmi!)JLpXEqM%0PbYbGS31!cpN13#[r60(T6bACLZ-kpqr#MHFAR5#FL'(-IRV +B#B4PT'GVUqSR-lCTNj1rNAPpCXeK)NlpG+d'dAaP[+0@-e8#bShMqImq$6VZdl' +dM)XBL8-TrjFmRlYIpaR+DXc*Lqp0p*ha@LJled$Hh6qp[C-p[,,(Hii$E&AP`&k +cG*)b&BeN-LLfLQEq3mGPrHVHBB&I5VY0SCYMAYmHXdjBLia@`[(@qS[DXQ[r(SV +j)qZf(JdpTXj5P)&@&9kRF%Q+[E&2Qe8m`Qbf4&+!41NYZMkH)J#i&r0m@3`UFMB +N-VB-!2#R!AmbDS@Dc'30qRk`XN6aIFA&,pjc-&h1'MmIhpU2f[19+$l4r,@EMmB +P4Z&eaNcGSYH&!L9cmK-`R$4ZYFBfm1&4HJ*[[LQI+Q@2qKbaV)cV!-rIP%r@k$9 +4A`%Jp)r##"dSr8DH6d$j#44#%hibqebq-JG6A8JPj5lMeYP)2@"`6a`!H-LXR$" +p!#cFf8eHPHTKm9,,jGUMPjd%6,)QE$j1JV!!`)DdXpIS!beA#h$J1TT69MSd5Zm +r*cGYb[%!`)q82r9B6jeGafY4fDJ-XK'[4hRaI(-k%-I#h`fDrq63'rrcIIelV)C +B9T%rI)*!k-&p*c9)Ph"hS3'E0erlf#KrNDE9X(am[ldL&$iDN!!6+'6-&bl2hGH +qVTN2A)jSM0!83fhCHF)(J,r(Hqk"jrSYm9L#ml'8Q$0Cel`1eJ@,CmZTMK8UPN` +daQXpabq0R(!a*9Qdr8N3fEBTVj88F94H9K*i3'rP&a5'bRAl5h2HAKNSrlNf"3" +!RIB-+XYDGTphNIRIS@p*2MFU!'"'hfK-H*L"MKl*8,mCIjP0%1dcF@TMqLqDZmf +V*`JS,NUXTk!""cJ(iJ'!2`+Y9qHT568"8@SmCpSQMH!69!d,`+PDa"!!FNKJQpE +p82lqQhI8r)mfIi(25dE"9[r&"3!TMGS6*&c1!30P((pr8@ARb09b2PICK'C,&$, +4`$lYbR-P&4bQ#T!!I84U@cbA`e8"4NVJaJjLk#*+&KB!1!Qfle%112bhVkF!!') +frbMcVaG[)1+B1AE%mSY188kZ)IhQDZ8DTD[%#`#Tb"1-Nf(`aqYd`qhHF8bHL&+ +`Fr19V`S&-QHbmT6T0YTTV-'`6M2Pm,'cbNMdk&hKXa)P#kkpEliU911&U6@)h1# +qHr"FB#AL,Q$q`l5%8J'%GpCU,S2HmD,rd4LKr6*XQeD,#3"5'ZM$46M-[5Cp5q! +ZXUZ6c-84,k#)VIiMIdr'H,fTJ%mN18`XbkE(N!#50[@hSleZM4FT$Fb-6D3)L!h +'`l3QqEVbQ&F"%#+3!&M-b4`0K"Ckm`Ci`mA")#$q2S'h"E1hD-RZlJ2TDY*'9eS +[,`bccEQF2(RjEqpG9!L%%T-66cZ8VY0[-&9ME6"bi3M!NqM*lbqQ'"'!K0J8'VC +RQdl`!T5[P`BUJbNp6'DQlq"k3)K+E!1`)b",3*2-M!**@FT[V5SY%%V,N!!rrVb +laL,8r$q9(GAmjpq@qNXYKNJ!#$a,Q+AJKXL"c"8+EdU*)fXk5*hD6P*)qaTELb( +@(S&TD0HZ+"1*BRdq1a0!V1Z3!,5HA,B530ETTd,Q9NY1[a34,8KT*H*S8RbGqPr +)4FK'*P9&qXi)3qH'!3"qfUc1h`I*RPh(p&3L0qhld0'8(f9*ce6c0IIidF`L+J% +M6fhbrmrpSCrfqR["TZMhJ!$61Q258NY![MlCZRrq$VF&IJ'8SC04DY`@P*b[[U, +$Edm(h2,eKfAIS3`eE6RG1)YY1ki@jR#IbJ*bIXEcflElT15CdlP9ip&Hp2phI@1 +DrkbkD[@GdZ!Sim'#!""3IKL"TjY,+H*heDU-BS94dm(l@&YLB,`pC&mA-Y$XHF[ +hKE*Z!SF'jX@p$J#LL,fah2L&BHHYq4ZS@HRNeDPQrCpb!J#&5(XBj)Lb"dm[2rp +reXZ*Mm'FS`VZPQqrTP1!cf5H%k,+@!jeEDYZY'Y'JDc[5XbL5kaHJ#!"*LGm0*q +mYYpNBUb)jBYfkV83J%`'!(c5MA'MPLX)B!R`,!kNR9'H!9r4%5`F!'IrlK2'EGJ +Z(`eIULA!UjI[dCmI1jN9drS*+KmPh$Bp*QYAl*AE[YY%lm2J[Pld[em8mpm[rm9 +k)X#kf9J+2J!%,-RIQV@$kb@ZJ)X8M8!8&frkJYfq+`(Gd0I+8(l@Dq!F,GPPq[q +[Ac!BG,YC9cJ!L#,faX,KYiVd8eJL80d-jT5a!CDaNL6GFZ$KXR(bf454QrGjIlU +,YeNB10%1I[S*BeDT`Z!r%UMc0eINCX0N(MCZ[@4je0!NVh%eESd&!*MNp2qML1h +H@4"eXr%pc'fNCkFTjHlk!`43`ZD[M*!!k42AD4(3MLe(Y!k"ccVQJkA5VGdNlH@ +(R[Zq'eZ@G2!4Z-XiRDhm#"V%$@("!CB&R[CP,jQr[4MZ!Q)SM&D,CIlcQIX-AkQ +"d3m',I4"a`H!ciJh$#B$J+"$&#@2&RqKPS%dSLdJ@b3f29F'!"$!q`4klcDpbbi +"pP1ECl*F!$#Zf*Z,rliHXl*qQfPPqSlq$5CiBrR@+311kVZ&I(p@Edk0D"&hhQ[ +bh*fm$fm''84Ar%m!!Bjk6Z,S*VqhfGMX"+%S"MTr,LpZ0b#+H0q0EmMHRFFN(L$ +k3bHT-DMpT`'KHa,+!J(Yk$-!K%9!04jIrBV(NKCI@bS-#c+$1V'!6U@INaj$bPC +qINl%2G[,TP"9e3F!S!#+eQTDV'1CrhlqRlk$j[9'b+UP'J[iQeRI0'Z8@3@83M1 +*aipK4$[jU4fa&JhM`fk-Trb"2I*GXrEY6-$rTi1ab28!a"GlBljXeQD#Cf&ZVRq +$frDQ$d!"B&Jj!3!!@ShC'if+$#9'dF8Em8a(ef&i#kI1hk@el0%f23U+#DK+DMB +XCF"0khaBCMX`b[AAArA@*TK&Uf+A4C0Gi*TSa'&FGUU*2`!$IdAl'5$"Q+jXFm* +4VS[5KH%US+6jP-II4`[[SfBp6`EL*J-b"$*M4Iqpjf!qmcE[-rrqTpeNeE,GD$' +qqc)8MB)H-LDaiLqiCp-@l2*2IT6rjT!!bXqLJDYJkVaGS@08p*)BiAQlUF#aa0l +FVjUeMFUX@"([D*Y*qkc2kdRbAV))Drp1*rpiJcm[IT!!e,[EB#2QHakQlQ"MIRX +T[ZMAaYmX@hG)Jf)3@X,Fqm"0,8-"31G@RkTT6e3pPUr*I3)`pqmjS4C$CI(rm6k +Bkpdl60*d*rIPlB&,3bNr*[("0+q3!-V)'V'%)+3l(lbjY@cGG$KQmBrr(!#EpD[ +hDCB%0`@P*(f-C3$JaJ*M,#NSh'hQ!,2rqM"la[i16@D$D(i+8kHL4@2QB0Kl5)2 +'q2rP5P&IeQ*[-!'BlG[fR06J8%)!i*Q5laSp5aJ!!ZMH20VN(rpp#'VC)K'Pfb) +L(ZX8i2Ga#E60eCa+-bG[d-e+JdXB3K"-iHN6eh[qIj6aerjLXj-#hEApU2V1P3% +!&"P4-p#rq`b0h"mb,JVhSXbHH"Z`jGjKfDaCX4FZJ"*')2,rc&8SUIf2F9pj$RN +%pfCYNC&$&fZ@K(J",JA!(4@-QhYJ6019c94!-&JVl)%KT9@%Zh"4`m5Sr'ZeBmT +'L"X(&P[X$5C#ZT188#)!d1kG%J"icbKEXJ#Je0r4U[pBIMXR2L1q+5j#[+Sm6N- +8!fBMQ($Z0Rid#RjY#%BJ[Mjm5fXjY2q8l$QBS8SH+ajbS3A3XX)"J'XM(M"mi!* +M3KGUr`)Z@*KU1(,YT#X"a-&pjdS6i`S9"!!!#q#$paE%E2heRm0`feC,r33R1B0 +!08JD"ic*'QcHSAPqMRib1&FQU2bXCl$qD&3,Brlc[T4['q%M2CqXG9SMj!)!50! +#d"L!"`"$NlR*pQqJ%8rE&+AkcerMCfj6CZ!k8D,+ZXRYei'MeQJ&B(E@HHR@IT* +bi!@9Zb`!)*!!pp,IhP-&)hB3El2KIY!NG1*ST[cXKkQ2!83U2i0(U(dJ!!G34jE +6aP*qLV9`K6KpaipH)6rieQ[bbV-ANS*ZfAK),CN6aV@+03kHHcc2Shj6--Dr"PK +LAB0IC,6hS+EKf#6%#Vk8b$ka[d[rr`31'MSL`e5T!XlF)r%DJ,lRP$q1"&b!(6l +VE5J!X,PjQeVl8*))!JE3[@MFp+e4(blGF155eF5-ZXNRD9XSK"fBI""Q0+Xh3Ul +lDS-,6Z8`!%!Hrrf"miA!m6[[aklrpaF@#6Pj@)-UL[cc'Y[91(1bale2i*&LV6" +q-)8fj1+a[+%+JrRSUXr9ZBJ@("k!3J0kd@)`3D9LIj!!9X-LmpZ5Bldhf4c,&-9 +rfNS5P'&fIc!&k$5N*f%1*qi,ET%pQ%K2*efI8L0%5XXfYqcDIeSh64J!m*Y#E"h +!Q%6p,#N0lJbP$4@I,ECT(rXDf*LN#$Q9pZdqVLNj9I`[Ahb+aJ-!rJBb6BK'[F% +Sm3ZL!%"U&[#$G6"*#Y+!N3Y3`ETBXQ#l+MmYdSdlc!`e$BIl!Vdl39$U#2MXI-j +SF`&iJ*3%B%(&LZ!hIhZ14[RKei[p2,bD#f)jGPp`$,q8M"*+D504,p`0DLl#R2j +FUfe9aZ9ieTRrCBLp3C!!F+cE(j*P*EJT,#RN*%Q`d#*JH@b&h5@45F6qqq1MBiV +LffjDGe"68l&1iV)!!!9qmDm$M8)AUUNEjU6"kN"),ekGBJ$JFe$`!`dBR`rf)Uf +3!!bKr*b8e1[cGh$p28+jXld[X3$Ja+RXLiJr5elcGDm8QbV4@1#M1AkYZGJUjlc +-%'@'6dU50(&fIm!@G)$JAk-32*AmR0qcr5Ql*!8NYCHp5'N9eh,QTb9'#&Sb%CL +K%2q9"!$!$(01jlb(9(cr[3'U"GV,Abc,&qq8Apc6)DiCAKB!`!9!Kb%R)FddBGK +Qk5Y!qV`p,D8Z!0IcYeqr)lZ0Adi0!aC1[",R51@I0RqA+MrTcjrpX2d&eaB&!*4 +MIfN-!TD`PKL@SeT%ASiIEV3(Ncep!kIr@caIL&E$R2jqTk+G8[a1-QjTM40lXqR +$RhFmK1NEh!`0cDP0a0h)+NPJ*,Lr-FcU8&KB(*9eTU`(M5P+ATKFp#0aU,h$!!! +T3STjk)ME'cE9C$BpV,5i,j6Z8TL6#ZA(&B'Tq2$"drVjU'+N!#I-k9HRe949IN" +XhDTpmYLp(5qk,a%!!2"h"#c#QYM4P*rl"4MEZ[l&C[fJR-V[0a3GSV)`l*iNL%a +J9Mb#QSHGmSF3+DfcRS`j(cRq+GlL9+)d8laLLkmQ#!"3L#qJ+Lf4pr3h(Hi(%Am +DFFL0Pp@)%aF!2PpAZVEcQRm`BF2jQKk,$HA#R06hPR-BU(rpX"!4b#5)45%5Th* +CeT([mmq`CVmUrhfGSS*L!!"@@40j#B99c40m"[jc)"-!Ek(0mG28Fe9jr'iTl3c +Y$k"%MS@2GbKdHAH*RjDH*Qi+F$L4dQ$F51Vk)mG`aeX[fA*B5C!!EmfqjbeQRB3 +KKK-ZdC-(Y0qmmi5F1R%f9#PZ,!$ibChYj,iEhY$J(`!B5644eXP$ZI$jR$bGS*Z +X'i$b8pF2"6PYYJ63#-L&98+8(qBMhqcr4C562`S!,"H2ac'6pZ*iR)Fa!G#iB9k +"6dQ1rqXT8(lI08bRP6KXE)MJSk@R)bhejr*F4if5`%h[3l9Gf&bV[aD[8QjiSLj +hK,RKJII6bEqM*mIRfiq(q0UBBMBp'lUX+(a-!$$Z3r[AafR*#$jXm$e3#Q)LXAc +M)%[affdQ*!8!IPerKaEM*2[XH@hU)B8@VYlp`N$SbL@l0'X3lcS#!%!YI[HL'"@ +BBGiERS+6hY4G10'q8ekPXhp2VF!F8VUp3k4LrHG!8CV02&"Ql,Mr`NT!)9X42)R +(IaIYaJHkp"j,!!!mmJpMVX8VCBfEKQ-QJEP@h-iKIHFQC3'N(8l2J2jkjpBd2If +eUp!U(Z`eikCY9ES[1!'L+D6IFSUj6RPXV"(EmC5IZRk+PULZSkjIaef&9(j14dT +h-EpTk-'D+3Z%2!!B3L8IZE)0Tc215BX3p&V4&P&rm[2Lm5YFR`,Paa*YC9B4@Bq +`9JN!$8Q)H!9(rh#RIi*LEpL,h%(BH-158NC-A3Ne'GLq&q@JZk+4IrJ,pi+d8c` +&)'h&(,l9brE)VGpT%MF1%!d!MKr0c+$[Rp2cdeRE5`!(F(Pli",*mMSGY3!Q9PN +`K918a1++%(3,@a')mY2Q#jQ(e[8I$9IAl`-2pmD[VjmrFi[mk0Bh3`dL"3"HqBF +#!-`SHDXhTSAQeim'`VEN&KIJk@39,h!)-C[L*('9X$%*VU'6X9TY@cURrd@%SNl ++%([cIf0@!@@hL9J!@!`flG)qc!D`[d02IfkXFPZq4eXT8iG4[&M[Vfh#jJ4+2j9 +9jM#1D!"JP##$XPmLcF%11%iHLQjSMM&@JRBmaP*1[NF9)r*'`e'K#S,dj$I+hlI +VG#dNfQrH2aEa5,6h!rL)[D$mdbHYP`HqhbVd&')!J+R"&0F3Yi[Am4MQ@VaXM$E +G$*ENUd&Ca*!!9Q-9pKfq-[3eBB83K"526[`[l[423Za0BaM$@8bT4"KPfr4Hi*q +8CFi'$$cXYqJ*la2M3IYN$TM@mA,bR[*Y8d@!&5HHmN8"!%DKR5(9&Ub!ic1eeFq +8,mX@lT!!YpkFS+mILkM8,ch0c5r8S4TPT304IQM!'4kDCa5()UJf)CTkr2I#6D& +RJji!+-6S%8LN$m%(!+`H'V"i[@6R$fMK6BFCQJNa`Q58Q,4HCH`*#Y%qjTU)km3 +U4ijf2kM&X!"%-9UjKp2@5,%2J4E0`j`XB8h#NKPaAUrq-[(bbQ@p$lqcQ-Uc@)d +Rq(4fm+41MRNTaV"5r`4LGKmFJI(Qm88!!%3BRAPpV)cJk`-!Z!0)kpFqdJ)M#$# +8UMc+GIMFFa"adNAim#e[aP4)A"3!SPZlLC+EQkm9DfdL"TE%fq`der!hX"!0(cK +IZ`-6E8*5&q$C)E#)kL#1@)0JZ3qG"bb@pP%)251AE4,#TAJXN40B5VY"B3mZ`U9 +49bXN*4elErGqE6Bk*6E[l`!J#E%h$YpT(4Z-p%jB+i"dh#D[hI13!*54#V6[`mP +lH[A')e'$2$aBJ-%fNUJ9%'X`Thm#`3P)0pZp0m3QjJJ!!#rm,ViQp0*"dpm[*F8 +P1(cJY"BBhAaPBkdeb-c+M6-I`+2+KTq`cY1$BPSL!&5ljQ-ei%G`NFKef2Tf'(m +)%Z+@i$V3kCM-%"+#K&eDHi3RC8hASEL(`TTi*$(m266VeJhX'9B*lHr4)m"Sm9a +5IV%1K&J,DM&,KJb!Z*lrC#A`-#CK&LB5&HEhD$Ua*m#MX4j#`2b[bbr(+ZrdTm3 +8HQ9Pj0KbL(6(L`M2@ljII@PQqm@+JU-XX0iFf(H5RAUHcaN*,2`rG&LmmkLKLe9 +KL5Y!`-(&4%iV$[iGhB0X4QLeSLNQ!%54cpR-FeSqh6P1me2NSP)5+R-k$cZe(#m +hAY%SkD)M"TiXR,e9J9@YMaL!"M!#V*6f$K`G[8R)"ddUpHaJ$dU!bb`)#qbhCMa +I!*GX5L+a*b`r'rL$QGA9r*G(!XVCNiQ[h3BY6HKK300XNEK4V"0!5Y0r(a2SL6@ +"#2p[FHRFHCL#jd)(cX#-@-S(K69[VmSA3c%!"UVq+2I&ei4Ii#,Z33-bG,a"Y89 +kN!#rm6N#10e*HFC5'!*c9#C#P"P*%FlVr1eA[A9F'ERU(U('@RQZ%%%kP*8X!fh +12TM`1AfL%imlX'cP"m`)PZ,58%39Ule@JA$%+Tqq5qJ5,DY(K2N*iJALIK[2#JL +BrD6lFXKq*$+05UX2MHP2CXEZNGmjdlqF%J!!k,)eYCI)K1$!c$k'2dB0"0VArjC +CZcAp&b@YjKHAR2#+5kK8)el`M&N&q1V4JN2qDAA-R+V3D0plrF9Z!2q'#'28X-8 +Dd-1LU+200C'IBj(1ji0[hdmVSQ3recM!@BNA(r%V%dmFblaJ4"KIbFmcEBH!)b2 +*bQlUQDM+58D'[pQhji6f"c$hN!$VZ[YlVm[p0l98LiB-!(hqI*q'*J@Y'&B3B-B +38Z6M+G'$QMi)Di@M!8+k,!'#iA&+F[Nq,SS0aJfh3"pVMhh"ZJUjZ*[Yip#Z49Y +BJP3p@ZNPMZil0@)IcN1JXRERKCj2jrR0YLQ)%@&4ml$fpCRkQKFVrHGAeK9jjN3 +EqcF`&Lr201C[[&3Cem`T(9N9H)hPd@23*jN(TYTkc58A[JkR,6i[dI8Q,hqJ8h* +mm,MVQZDbEI0KpG[MdB5c-A&&S0IQ'UkeFrmqrALP@LKHK,ZXMMZ[`)I2Jer0Cf, +Nf8I$PmL#@9Z8N!#6H-H"[5Ge(L%6LIIX1#EV9Zk9UH2A5Sm1Nh9+%@R'b!!Kf3F +i%XqEDibPH-'",a[Al0G"S9K0+#Yere%rqqYH)05HbNI%Qr%BqHcp90miXh4L81X +%c(lrfUK6!46&QdEPb$j6*IB"i8[YCq"R@(CJrm4BZNDRa&!5r--ik0q064dVr8G +%QYi!)i4fl`lm(6hV"I28#VKBJAbI%2GPlSc0'L"$!9QFP*cmj2XaCDReMc6MrB% +A@$&`#3iE-%mHZEeYLDP0Y4l+GmEiR+r(#!4L-Ahik8BpPPSf(Uh4G[kq4If4qTT +%h1ZA%H(@((qAfHU'&*81he4!a"IRr3Q18MH`dh`@P)KQ,&+*X2QHpa4$B`862Pi +PMpjjS5A#k2,MDCQUU,')AlL')4q[dpFKpS',`Ih`,F0i9J$$3+`Vf#V`l&J%k+M +[AdYSKpk$@12EiYdEQRe1Hj1SS#1qejRq+43TE3ZH`de1T%2[q3XV!KY%2KMlEpU +&Pm9+rfNpYcQ9E'"RKVd@rfqa!TC#4a@V)!H6HI@Q0+fU)hIrUiHlk*3G#$8`qcR +jP8F[bV",FZ'U5)FbUBA-03!!(cp*4%&8*1eiPLVFRTh(T&RG$l9D$qAjC03+cIA +(LYcl))+3!12(JL$V3*NaIRmB8jHJ("N9!RiS+Di+TMT4GMihi%2@Jp-@&iE26!X +`Xaa)L9'r-04B8$!LSiL3!(hL(ZM!%30)$22JAM"I-0De['4([X1Vq04M2C9#l$F +rHNYM%"#40SaM!@%j@2TfQ&+Z$$`lV,P6!#`T9UihN@JremUcJl"'2,rrDDIm+CE +J+FeT%iB8i`,PIDHN)'Lm4&"!fGHP@5Kp9CcdAi$+kF@)%i6&"*Sm,)eSIML+65b +#$8LHR-DDSU)L2G8acH1af3!!q2q3!)`36rKNqMC9@R,e%('5$S3ePhU$@0&l[NG +@J42ZrAIR+mF!JcX3dP9PZ968)[3`IM59P5fkcLdjSARGdT(IhYM[@0b)rZm#%)! +(9X4V,`eADi6kJmRM9LZYGbck0EqhJAQ(&%(GUX&-MbcPSrHAU"[cAKcH!+k"cfU +Ii@[LMIV'I#LN@!L!M%8I(R0[f4J2!#jHVApVL4*MF*)#XBVf&!mXhLN4EE&KV3q +)H9E,Id!""Dl($dG'5Irj"89%K-@MF[T1&!!K)$L0,V&H-4U@H*ff"SM)b5pEGeJ +"KC06HqV,'*ET+GLN%LAMlcL016'C+V4Ydf(e2@0e5rS9JB!RbN)QB-ALRA)Q+qq +#*U0ibam$RQaPRVqHDcT"dj,%2*KEL$Abip[E+-Q)MRq,8HHKPCA6[,*QkKAmB#* +IX3BB33EEEUbq#)mRFTl1+"5[11Fd(DC8Pe,ERdc()A'(0C[6I&$T*kl2[q,%+KT +GA@Qa+YrL)AAJ"(mQi[6@p&pfM25IqTeMe[PqElFB,X5r@$mbNddB,aMR+p$c9U& +L+Adm4H2[+)JDDa6#6K6@eYG)[S$Jlr2Cf2$%(-J%R$af4N%N9L9M45c[Fdh5P#A +JeD,"52R1Cer@'J3Q#m-B&,fBb5-iJ4(Tk1&dM4F%JiJ%%#H0ADd@6Uak#(dGXr` +fEDSM+GAe*MJPT[c2@q@R%V6BirH(HGUeq9DN@#AlEcm1%+[b,CE#%+5adeJq%TZ +HXB[KNEZMGIqam6K4,)rlFBR"+f"IKpFF`1C#-4-a*51[YE8jP4QQ'HmeI(1E@Re +k!I$&Ba8NH4f%APNb)lCKj'&L,ealPDAmA!2Tb"%60LT9'@R4(ph@4K8B9`EPaFf +)9mc%le"@MGNI@8Iac*0p*#FV9eZ!Bp((ql'!X91h*KcS#ei,I*2%G+cbNl[mL[2 +l+eJ##YZ@MI"ZM#NaXC!!2j!!#L)PF&hJpCi`+aGI2&,KH(fDF5bCj0"irTepV@[ +-fXUT()p+20l*`JDPSBD+[$$"1Gq5L2GlceNV"S&JK2cm%@0blpKl1U'-5X,+BUm +0KD5!LaJ,Q4Ek%Tll3cp9h!G[EU86M%KM0SU4bJ2Bk+UMe&LR(8I@%Rbj[JC%i6q +-PmQj!$b6!'KH%bYV8qNdS3qGmPHLf"[0008FmZ+*2Ma15LX0!J$`&TXQdR6dL89 +hlM[Pqichah[3JGIVcKq3!+iNGT!!50Nb3dBXLB8+UF&B%fd6@Iid@Vm1J"Q$#qG +Xe9ELX+fqBGkM")bDHdT2,ThdiqBG*c305KCNcV401UcN@NYhr[,I"qRJ$ki[eR- +$#((4S"'rlEY0SeC8UKA`fckDCS3$`D-T6afBqD2G,+dh!Erq[YR[P,q5a0jX"S9 +XS,lleC!!M+cqD8381H1XqX`,E1#1XXrCR,E0)hMRqAp+FUh[hcrHk4qi0PC(6LS +Ue#JE$T0@iZF8,(&#'X&2@5VHe"Ue@K+T4BqQQ*bXR,!-*q(d*`[3qY@2e1pQJY$ +,F5ET4$mp*ek3!!%JN!"*m!lAKG,R+I0f'L[QP$m"4mjNj-MXD4ZPlM1$03!Cj!I +iF0"#63Zq%qI8aMVM@PXd'"@A9BJq"0`*RKLZ4PMqb,+H$IH(XZGd,pj#USpDJS5 +R#6NTT`58l*ei2IZa&UBNILm@K&Qr%#rr[jlSFc"kV%`Zr4EjJd9fq#j$b'[V#![ +1[*QE0G$&bDDMUH-8UD#JPX!5JE[JdI46@DFCQF@Tb8b%RN1@PbKJ)KZBemGGiV9 +($PQN685FS%`0*KH21d9Q`Up!p*8kU1#q)T(E"kJ`JdNV3YG08)eJf)%dMbfBMd$ +&)Zc"62hTfRDL22P)9k8N3hRp[J#GGR4Gr'P(['rVR[-dd%QjFVb1bQ!r!5i'eB+ +*P[*HS2MfhP&c!NK5-'9NRhM%(Ll99e9LP3cP2CH-'d!0J5hA40%JHjK2I6p")Ip +N``qhP1)!45JHYb!!%+LL@JmZ2%!!DLYQ&A)0ceR&HXiU&XT%KD&9ISkB(jYemp% +M'4P220K&+F(2RMQRG3a3A1'@K'p1mBD8%&2J0B,X`%6484CSZRP[,!5)4q%Bj"k +ak(aN`K$IKi@)8aeq"A,a"EBD%'@RLj!!iU4j-cC,[qicP05$S4pDp4LMrTr[rI9 +A[58l+eF@'!@,G[hNj@RNi4k5qJ[$,-6RDY9iY,SlfXEE1I&J(lp2E)6H#-$A#"Z +'!V!lRFPIa5+P&9aVMXFC'48,e6(*m4'YAdpTF$HX#9TYrp&NJL+q$I,`d,ZDp4p +K(RJ3!+M-Bi2$K3H[(qi!jL1Y`HmE8j+0pF(iMDTBR(km2kIab40R,f!&TPb@%j- +qI[,p+#SZ!CB2Tl&I(a$[-d-*TU(U$jDUL4bT,*!!K,chcQ`p0Id1Zf+l2'UZBLe +H!N$5$UAV56ahqLBeh6Zh'LpeM!rrkiIIdNBRbT+[X9f+QUD,d`AS-`!Afka*C)1 +AAd*0!a3p"[H%R'h!lpaCUlPXhZ#4YK"6mH-SmE-U0Q"TlQY2!hl3ZGRJ,iRqemA +fN6MPVf)*+&TlbQ*Td%QdETY6cQlf[QBpBPE'l[fReD5e*cr+cmMSci9pi*%!i#X +B3DYfcFE+pXf(9C')+IL+9Q3MiTM*MprIL@KiP0&JhJN+')`HYPL$A'a-Z[rJTb- +r(Jbqq4ZCdj0@D&+IJ-I2Bi`*plp(5Sl@iNiY2j&qhDBVX3IN($3I%6K%b3',1kj +Z9Y,clrFdA+1QI@)F!,i&3&HI0rVV`QG%UJf`iqIeRad5QYBF`+6lF-f+[GaN@[0 +b$kCP+SfE4bBcm8)Vc0iV+[VH'le@lb[e%NDS'ajY6rfNCJJkU5#aLXD$1F9TR8J +UbbmUfH8T1NFpdIf1CZAEm9'%H6[Cq%"Sa)m'!2k*K**a3N)+dUVa4aU!Sa'(JCm +r0SThM4+#Y)Sl(Tb[P-`blAI@e)h+h-2e%T@QX)B+42aP,"JU!ZFBdaPAKe-E"3j +$6HiVY'qfmrpA"llR0b!PSZMa6qTQXQVCEP8i&*3bDT34YiLDIf6emV*CP5-"i$E +cqfYAlZ9KeV1Rp`P!Nhi"V#j5SPK4m!S`q`(h"NZ-8A!F"QCpBYh-rh+RIM88qe! +`cFGa`T'H5G3+i,5h9&&$a8[Rr0N#!GaabBk-[JJ!JKXH*EVk#kA,0jA,'JiDHA, +L@k28[!m+MP8"GQ%ZDjp!RQGT'#@3!,rrqTf8+@fU&jrYKDF'D$-2hB*8H")-Y80 +GDGiiBPbMiN4Q'J3!J0IiZhdQN!$+`Jc-0h0aT3ai&YX-6j%&r6A@jE[2V2pdLPq +0*D"X-+lN-RBT,&ZVE`83QGrX0A&3j2rcmMl`XJ#J,%8)#`$q*JF)U)KMHP#M&iE +T!",kkHI2h+c9FR6Ai6I(Sb1[,J[,L"J)&1VR[+BY6Z%QCM8PN!#D!J$`5lkrE8r +f1QBe&irfLdDZZm6cmGh%hNY&l%2PS5dP6I4Q$!kjH&B!h@h@hjXPANDJ[0G6+3! +3qEHq*B',3##1lpG+`Lq[UJ9)84r!jk9GZV#`C$ail93!J*2,8!)+pc*Q()dNLHC +k'IaTj`H#!Uq8a`US+J#iA"D+qph2eC&k6!BUF!$J*)4BKE[#V(8-VJcEfPTL"GM +U3-[c4m6iqmQ#J!1!mUr!F&!(!%l+PS$5FASA8G'@U"9!@JJDF*X"'#9*pR3l!(! +!i+3+a#SGBjp@%`Y)Y,R&$`KD[Vmm'b"+f!T`!1!!`%N95%$aRM-V(lUT4#I+!KK +`eYRd%md##C-k1J"`!1#NLX3U(P9l-kN,k"f$PUZXH!!9JVC2J&(19bB#!Ji!(!! +iU5)*+"rjr%bD3"Uf$cp$d&pd#a*(X)dj3b@"LDi1!"`!1+P#N5!YPp&JQQ!5"3# +I")4kF2&5JfdNj(3A"`!1!*a8X8JT,GF@!S+GqNIRk5r,&D!@h6+r%"5!"Vc-#M% +(!!i!R&5a"*53!2,1("U&BM(dPK88K022eJI30[bRXZ)"$J!F!$LT"Q+9N!"QMX( +dXX0BNfKYJ'm*%%bdY0ZdT[dk(JJi!(!!i+5DL&A%UmaDQjf6Vj65b9"$853%+`j +M[i`F&Qq!D&33F!$J!-"*0C')V-!*k+iJV%`1"#BT0EJ&!9Jlrb"4##)F!$J!F&+ +0a#SM`6[Q`19$$3@KC6+MV3!",!(V$X!RpN*NGX!"`18"!)(Rk2J!,R@a$r'r[AL +!##1miAa,KLqH[b%QF1+d9JY#&r@'"2S'(!"FfJ!3H(i-qQ$NqhFF#&cL%RLSG!c +1K!%)CPeil*-0$$+"pm!464(50`"[i0FL6Jd(!*FB!%KT$3NZid,a@)*'L+@&Fh) +*5d!aEc"V(33J6+Y*"J$m&#&6CU'[-PB&0B0ccEVG!F#P"`#"CmE%k$jQC6#bR6( +ZjYP5%piZdY9cFJP+i%(6j,1,K``aC,3adQ%Y!BCjc&fkcamB`@jl4McD+3F!e4` +!![X"&LLk2hG323SM02-3i*9J%V&epCjaVX"P))'(rM1c$Tl0cP-Dk'4"`"mCpF( +i$C+HUF("((Z+$'Fm99J@@`F!P3F!J6e!R3MNVl20bQH+%+AMJ,Sr&BR*4dbK&Um +lp'%(!TH""$E!icaB3)!1`'6G!6mif+RrBKdf!Y'XHGeFKS(SN!#-N!#%R!i!+Ki +!l(2(3Q-B$&1KcY)j5[XiI*+4%i-"H*LMchQFN6!'AqY!i$+3!!!)r"*,)$XR6iD +E8jc!B,,6C$Na'VDI)C2Ql""H$fCE*[(miYk1SEMd(3"8,!#BpHpQh@*@2l%c!MC +Y2ki6J1#1L%8MajkB-'ZlcaEeU9PIFJ"`'8J!")MklL%`b(LUPeSQPb,d,3'qGKZ +d9,EY2UNMY3lZ2b8GhrK%"h%'"f-k!+KB!,LeG$!)Fae[0+ZA@@N-rQ!J$)9GpGk +F@QCK'-q8heZk4JI+BYheX1j$9@pK*q@9!!J`'@J$Tm+-KEYeVRajaNUcU@K!qRM ++&Te3brL[eF[fb#[2$P(UkfK!i!!J03$!IH8e'&qfBFeq!'#9@BFj`CN!cBK[IlK +Uf0J2VJ#6LaQ`DZ5F$4Ukq3'AJ`4!i#DcjM%TCYA')p,mVGP*MjAf6`if$Y(Nq5[ +fUar*Q'p'KYGqDN$*e&`I#"`!P!m!G$E#&lhC!Na-QM4fYFi842(h(%KAa@pX!hc +*G)B#!-ZmXI,),QY992AfGC)+#B!!&'!8Ia6X2CJKE`pFiLPb13+%@"+`$2&DUcH +P59jqSFB(Q+llmYrI8e29Rm2R!#!a!2#R)a&IBDlLkr9(kR3K&*q#,djX!V`P*hk +LLQqc21q1A+hF%,EQ!iZ#AT!!rh)!F"P*!!5Sr+,iibaerb-QE,5P`mPE!riTmM* +MTiFXPc@E25$)cFdA0RI6ZKr+2GHeN!!([pp+pZq00KhB!8!3!2c6rJIIHPAqp)X +H-ZLGfE*heh'GKCKc2Pp@EMLLhCm`25HMq,leeUEAI*eDR1Ga4$*$VS0CAhHCJ-Y +BT,3Np#P-[B+#)PQbjU"1h#f25a!*"$d',p10LQ[!U2"YQ`r,Ki-@bXRMC`'!"mh +k[J1!8J#imHZ0c-rUbJeA0*5IrE#pY'Nb4KE2fkDMdMQ@Mjh+PQN,GNZ([JZpU(i +#2Rl-q%fkNX&3lMeC[)'Krqi8[`C)`"UifDa*CK8H5MZMSk3ajmYV$IJEMBa$Thk +,C0EL2A)brCc[AaECpfacr'MQf8I[DLGAIDkZA&Y$3#!#!'LdUVeLm5jjiX%ZDZ* +6Af(ZLfCB11hKEKcbm6TTdRQ@RYc*JM62P*4IMb(,0)0MT`E[%)m1lM2Ze+pK%J! +"aSE6pAHF9#&6L&YdRC18D4N,#2MDh&JB)bGXdXe(F3T!N!#A@e!mI[3+M48mB0b +$kll5S'3)D&8VDXVAPch6rMZIH9RUr@-`!,$"@N+$XV21bmPMCe6TFihVY'[rDDh +DBii$2VVh,**9I-rAjjR1@E*A+"%AEeVd!2'i*ChLef5a'q$IV&mq"fXJlAL@$"Z +hAZUp15dPES&r![&Dj*`T3CffB*FF0&B(HHZ#JN,CYrZiM"faA&jpFEMmp1lfkK0 +I3r$`%J8%!RGFrpAfqRr`c9Ge-R#GT`I*e%rA%R#$I5@$`"Y+5BhqTl1f5qIqLd[ +ZHhP5Y6liN[+P-BcQ(jkYH2-JU",p2dlaRDJ%V!'U`*JRIiMB!0f!h3BY8lFJ98$ +JEda1*XK,D%c"46Kdp)a'YM&06ac,P%9cYdQIYkG*l6m0N!!IhIUQ"`K'N9#SkM3 +@r0S[P`EY90R09dDBhheYFrR93efNi3[$C&#I1E*Xi8lpA04-N!#k1fRmll@EMmV +SbC[9VrH,GP)5Kl'CQ4j$PXZ@R5Fd"Q2NJ(ffrqY1I5G448SCKQkakF)X6LGUbG[ +h@9LbZ9)&",j2Ul-+$"KdI@qTRS*EMCZ3!*@6T`%$1K'2($bYJ$#`pbaTp-,lmYX +I[bhhh[#'I2mEM48)X"*U@@!)8jDFk%P1I#+Sj2kTI[eA'fK*lX1h[#Prq&PhDIc +2pk9IYaNbBp*kfElPL*c*b*&LSqadi@@FcC8YZdl+j,Nl0B*2(3DMfe1Pp,k94@# +`6HrjXR$P!H0UUEPreU`KiNf&GX8p6XS@#`5BL!d`9I&0cf6Rk8R0U2&8!d%3$&L +N*H%MS*b9pm3mTUN*aL-8+Z[-1GQlmjJXQV092KLd80Ur2NjHr1Y!HI+4VQSYh&Q +VQB,$G9qTIj(L%QN[rIr5G5'!e0G6R')Q+Zk)6rcmRJlbe'-peAp[ehbXRZT6akq +9pD[fbC&$Tq9FGUlkm)6@b(c!d8KGa2JCfj4PL5`,RqYjk`UP)Y"k`EdcVpI-J!U +p'ZNHV4X)1YHDqrrK&0p*+!Qi!pHD$6eRjZ30ZZ%hVcqSjRQQ1FPQ,YUM!DTrYNJ +q+KhQ02-9T@lVU6V)K*0ch24YXRcpB5eF!C4X%iZDZGPRcm[4`qQbGH-K6D&0q(L +9[2rZI1RGHDU#4)X'Sq5ePiC,JqH'5[hRKZKU@(ZBITpqKYjGTXU3!,jcYFQ*8hc +jSTfbaEc@`AdR*Ie8PKEJf1Ljm!9&2hik4lE[25@,9ar8`&hI$eCUjah&15qf+$h +K8kR`ND$CZ10-'69TXrVjA"p"4I2XYTM,[0kCqdj#5d$jEc!ED$("URZ[Id0268a +ZJ!$P`SrP4&jJc%`U!29N5e(@S#a!B!%m&-%3fAjli&)C1QDGRRc,eKd5CLBH1Ci +PQ9Qj1J69"iLJk%PY&jqPZ,MdGc$Am`S-Q"MAjh6QHAdY,"#+Qq"Er(6QGKNkGVf +Qde$d9ihbe@NeeE1+l29a'PI'[@MFBDB'q+"[ib1N'I!$a*lq64pCY@`hM[mSXll +U3-"*Q4+X$6#Rb2)*BeE*$lrhHNN%hSpU!`JY'ih@9Y3#U[h-fV$pZ2D9S`cqjUb +Sc9qL"!&&H#lJ4`0'$%eYr[CXDI[1!J@S2X0Ak[94,cpUiLBC-h@,@K+Ff!6Kq2j +lSpFB#f1PaL%kp&fN,JLjGdlb1XB#HG'f8JIIVk)92A*jlcG4QRDC,D20L8m@"F@ +REQ#`X9`HZkqM2LF!qfGhYjF9LhH"E12%9IFjL5F"jEr0Q0*VB2ZjkjVQ8G0['R3 +c3(#RqAQ$jiGUc6qQ0aZ4dh,Ur&e+(S,CRST89V+QFG"Lm*AfZD$b4[RC"GqhbPD +C#KlVXh!p42AE',H,)1,a8mVD,-I5-Q9)[lRbb`Fkkl-*2LqHd8rZD+Zp!lE`kTX +1"*aF*!(P[kZJS'M$k2HAb"eA0bdcpqi$`FeA0TBr2pj,I@emCB*dQ0j%mMQP-*2 +pBTE+X!`ZKe@D(I&i'BNV,&ph@$-Mh&pU*[TeRb'2hpr*+Rjd9LBX0S+L#fC["35 +QQr9G"`*15L5Jr2FDFhicYIUhIEG*BS8hYQ10rfHc8FikCpT'$CSKq0)-,-(dEYI +(jVXV)"*qUDqJdYG[1ef,TDE1fb@(MTl9`"i"b*9,GXQEVhfXD8Geb8)m*d$J`CY +EbaaMUGP#VeS1"*`%PIqK[,b#l82lcp0Hmr,8j'[+l3[ej+C[0*BR(ZSLR9Z09a- +d-pdc@BQDlpKl5UBB-lEAX"A'Pje98Q48d`!KQ2BNU%RmK!DU+I0f+V%(j#e&489 +U9BdFXNLHHE+[JV1IUNcdZGar8d[0E"3A&bm`Mq)k"`)e@!,+rj2Fh),G!h[2eTa +h+JYSVV%F!,5dr[VKYc5$X'$f&M&JSi&i0MLq,0&eU-UkQme2(YY[6AlZ-J)&2dr +[+c`"48alBL9%m5(LS0Z2M!9C#HS+*SjG,Dqq0&`H0PD9lp1AjrN!![GHhd+QM&m +$##`9Mb$'J8"0Ni$brq,mZIapIEY0ec,ELLUYe9*CXhQ[qRaGqI&YEH63rP28`(F +bDjMCl2Nj@9i"$CZI!KCL"p3C-0-!"5%56d!443T'i+Y$J#j5b51c%Rb2MNK+RLQ +J`TFI2h1l-M)G2RV'EiU5I!1+fcBGPP($&NZM&iE*Mfp[)pGrV@(+qb"iVEZrplV +@4aLhBU@Yq(3J8&-NS2br1TH6Gl"ATbP+l9dCGIA4+-&1(Mq63A0-NjFrN!!2"bq +80F[hD&GFJ6H)4-eJ1!Ghl$ZYK6DI60qQl$@-,U-'J2*K,!C-k+$baBlS4kj*-Ei +rmB)61fUf`&SQp1B6ek!BTfAhZATY!dDXeRjlKUTXfR&FdNjN5Bj4GR*bq22@#U) +MElKCipHZf+XQZTld&Gcma'[I@DZj0Pi9&KDY-qprK`1"'L"5@ZIrZqbXh#0Gfdk +8'kpS@'P00E%i!8P9AI@j1RSGd)I4#3LRB*I@R`VT5%#"AS!F5QeY88q",84#XDM +#JhKNpT+p@REl`IL0@N*-q5de!23`Y$DR,j@%P1153mHUL&c0c2GT@@jKISmD!%j +XrVD,8@MF%lq@!*1G'S,T#hBV+"(Jh(-``lJc1C*e,YpF@h&*X9(ZqA`&0)URTNp +F*hfl6YIU`aiG*U0mm2$rMeR2%bHKG2Pl#3aD+HqcZ2fUTN,'Tk#JL1MJ23i%,R1 +a$rKKSra(1l8FVlAZPGP4&iB8Y+5ccYEQmcd#N`rGdPUEEDJl!,K'$PdNmfCXe[* +N`)%J)mT@&+Mkirp`+kMU)rLBPC-[Cibl!3dD&Ai3P*`iRD2rMqZ4FIDm9JqHcFR +6c)@5R1BAU8*(&K-#4*MYZ#qR6Tb9rAY1b)E9qcA52RVB%ZRCFE+mCUbD[cl4@b! +mS6H"qidI(q!$5*S@2&A2JdBQ,#pc,4[pl)#6be3X!,bdDYNHqF'hAU[dGYTN@B% +MffhpB"J8@M6Um*UrI+#6r1@A[D5ZF5HSkbIl`'P,EF+B$jI*j%r@b+`T'f6qV#h +D)l"Xi3jG+"lerRcPq`[-cdPKFPV$ZMYfa$+P-4[BDjEd01j5KaEMT2NV)e5"rr& +NArRG6lUUaA,IM@pSK0kcU1TIF+f4hBQTQ!Z3!,*R3Td!FCN$ThJQ$cN!Z)c&"`! +fIT9XYJUJ"IGciAl')9TR(lphh9FEk!Pmia@0e05qqFTA0HX"53GIZ4qN,J%9ISm +fApL*r1Z1I2f,Z`GI#6dRX6S"!#PI1Khhl6lZ!1"bPb!!h(bC!%#j9bAjh08I!%i +i!,MFa3&!p9J1!*a8L6J!U"l,!B#6+K%(!09M13"`8LAL!+"k,!F!6UT%(!"8Mq8 +!`%Q9L!1!kV%F!$LT%R%!8$f@!`!R95)1!+V(FJ$JT%V%!8$e@!i!R&5*1!#S(XX +"J*-U%3F!e@-j!("5*H)!S(SX"`"1UN3F!&52j3$!5C@)!i$UX4`!1+N5F3"32CB +$!#G9)Ji!UXGb!1#N5X3"329B$J#F9)Ni!+JHb`'!NbS4"`$9BcN!F&)PiJ#JHL` +(!%kU4"`!9)rP!-"*PBJ$J1Ua(!!iU4*a!&!pPJ-!*e8L$J#Uah)!i+4+a!&!p9J +1!*a8L6J!U"l,!B#6+K%(!09M13"`8LAL!+"k,!F!6UT%(!"8Mq8!`%Q9L!1!kV% +F!$LT%R%!8$f@!`!R95)1!+V(FJ$JT%V%!8$e@!i!R&5*1!#S(XX"J*-UNHS+!)r +He8jUIE'HA2[P9fV%ZZVcGDAqXd-F!$LTA+Q1!($mD'E'NipdPGZ[DLTheQT@)pD +YhfNLcHU0N!$#3JF!6LT4UL%!I$mr[r$8cUeT4C[@(5MFY2jJc9MQXalFGe++Lf@ +&Z3Irl3$!5D@)$`"XYKZZD'KmdET5brLMPE8`IHqrUDAXheZbf6MpIQR@Ef[JHY+ +X(jReVfDpX'6qGVRKDeAc61kpi3d$!-FG!&cZiJ2!YNf(jD@r[5I2rl're2l6J%T +E[&q6Pcq3!10(cl$C(RDEVH5C[,"eik%UHbD[[64FMU9P1J#ih-9ZYZH,LSUcFh2 +cXh,29rl+bbh)+LiZ2Q&GJ+Uq*98ZpTRmSjSmNrYUfM2j[h5@)rq&*Hc1!!!!!%P +&6N5Z3Q##!!!"!!!")qF!!5,R!!!!-J!!!!!!!!!!!"`!-J!!D@0ZF`!!!!UrZIr +r!!!!!!!!!!$iL!!!: diff --git a/res/app.ico b/res/app.ico new file mode 100644 index 0000000000000000000000000000000000000000..ac658228517137fde20fbde13ca9d3a7c742de2c Binary files /dev/null and b/res/app.ico differ diff --git a/res/flag_eng.gif b/res/flag_eng.gif new file mode 100644 index 0000000000000000000000000000000000000000..a36e45d8f76113d5e0eaa529131022132b586bc8 Binary files /dev/null and b/res/flag_eng.gif differ diff --git a/res/flag_hun.gif b/res/flag_hun.gif new file mode 100644 index 0000000000000000000000000000000000000000..f382da11c3d551cef5ebaebf9ad01f86630386ba Binary files /dev/null and b/res/flag_hun.gif differ diff --git a/res/logo.svg b/res/logo.svg new file mode 100644 index 0000000000000000000000000000000000000000..3356d0eec89690d3f728e3c4bf303787eb882e89 --- /dev/null +++ b/res/logo.svg @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg width="662pt" height="912pt" viewBox="0 0 662 912" version="1.1" xmlns="http://www.w3.org/2000/svg"> +<g id="#fbfcfdfe"> +<path fill="#fbfcfd" opacity="1.00" d=" M 216.88 0.00 L 444.61 0.00 C 444.91 44.40 444.62 88.81 444.75 133.22 C 446.80 133.68 448.85 134.10 450.92 134.49 C 450.98 95.08 450.86 55.68 450.98 16.28 C 469.64 16.24 488.30 16.26 506.97 16.27 C 507.10 61.63 506.82 106.99 507.10 152.35 C 564.60 176.42 613.50 221.67 639.19 278.76 C 653.14 308.66 659.82 341.43 662.00 374.18 L 662.00 392.42 C 659.75 462.51 632.33 536.64 572.80 577.71 C 554.31 591.19 525.62 600.82 507.00 582.38 C 507.00 614.29 506.96 646.21 507.01 678.13 C 524.79 669.76 541.82 659.90 558.31 649.24 C 567.33 660.40 576.42 671.52 585.46 682.66 C 566.78 694.23 548.20 705.98 529.17 716.97 C 542.80 730.56 557.24 743.51 570.47 757.42 C 570.52 808.94 570.65 860.48 570.41 912.00 L 451.49 912.00 C 450.19 857.82 451.31 803.41 450.93 749.14 C 448.81 749.57 446.66 749.95 444.68 750.86 C 444.79 801.18 444.71 851.51 444.72 901.84 C 368.77 901.89 292.83 901.87 216.89 901.85 C 216.80 850.11 216.94 798.37 216.82 746.63 C 214.87 746.06 212.92 745.52 210.96 745.00 C 210.90 800.50 210.97 855.99 210.93 911.49 C 171.05 911.52 131.17 911.52 91.29 911.49 C 91.26 860.01 91.22 808.52 91.31 757.04 C 106.05 742.74 120.83 728.48 135.56 714.18 C 69.99 678.77 21.57 613.92 7.46 540.61 C -6.83 467.46 -0.47 389.25 29.96 320.85 C 55.60 263.06 100.69 214.94 154.89 182.83 C 154.92 127.31 154.85 71.79 154.92 16.28 C 173.59 16.24 192.26 16.26 210.92 16.27 C 210.97 62.74 210.90 109.21 210.96 155.67 C 212.92 154.98 214.87 154.26 216.82 153.53 C 216.93 102.35 216.81 51.18 216.88 0.00 M 221.05 4.40 C 220.95 53.59 221.02 102.77 221.01 151.96 C 291.06 127.67 367.33 119.98 440.57 132.36 C 440.57 89.72 440.60 47.07 440.55 4.43 C 367.38 4.36 294.22 4.41 221.05 4.40 M 159.06 20.42 C 158.98 73.76 159.02 127.10 159.05 180.44 C 174.36 171.69 190.27 163.99 206.65 157.43 C 206.78 111.77 206.71 66.10 206.68 20.44 C 190.81 20.39 174.94 20.42 159.06 20.42 M 455.08 20.43 C 455.03 58.77 454.98 97.12 455.11 135.47 C 471.34 139.22 487.30 144.18 502.74 150.44 C 502.75 107.11 502.79 63.77 502.72 20.43 C 486.84 20.40 470.96 20.41 455.08 20.43 M 183.57 174.49 C 128.48 201.20 80.19 243.16 49.48 296.45 C 12.25 360.43 1.03 437.08 8.82 510.02 C 15.10 569.84 40.74 628.52 85.24 669.73 C 137.07 718.63 207.36 743.25 277.08 751.76 C 346.65 758.15 419.42 756.71 485.41 731.41 C 517.58 718.42 546.72 699.32 576.07 681.08 C 569.75 673.22 563.46 665.32 556.93 657.64 C 498.64 695.15 431.01 717.60 361.89 722.67 C 323.39 727.02 284.40 722.64 246.99 713.08 C 186.51 697.65 128.03 665.26 91.82 613.20 C 52.21 557.03 43.74 484.62 52.73 417.90 C 61.08 351.50 95.40 288.58 148.29 247.26 C 232.47 182.07 348.50 156.06 451.39 186.57 C 506.27 202.31 560.02 232.46 591.35 281.63 C 611.32 312.71 619.86 350.30 618.02 387.01 C 616.87 436.94 603.61 489.41 568.46 526.55 C 556.79 539.28 542.34 548.87 527.89 558.13 C 516.97 539.65 510.40 518.95 505.23 498.23 C 527.71 474.19 558.82 456.43 574.76 427.38 C 568.49 425.60 560.69 424.76 555.44 429.42 C 532.74 446.85 510.39 464.78 487.40 481.81 C 497.39 422.60 519.35 366.48 542.06 311.25 C 534.44 308.45 524.69 307.23 517.52 311.43 C 486.55 399.47 456.87 488.01 429.08 577.10 C 426.97 587.53 441.60 593.05 447.40 584.42 C 462.23 564.56 468.12 539.77 476.76 516.90 C 489.90 535.47 495.10 558.71 509.80 576.24 C 520.15 588.47 538.49 588.80 552.03 582.07 C 585.93 566.59 611.00 536.45 628.08 504.04 C 675.05 411.60 662.13 288.87 587.63 214.37 C 538.42 163.53 468.01 137.61 398.26 133.59 C 324.89 129.51 249.90 142.31 183.57 174.49 M 221.32 210.55 C 220.60 277.78 221.18 345.14 221.03 412.42 C 226.24 412.89 234.38 414.31 234.39 421.00 C 231.69 428.40 225.88 434.22 221.04 440.31 C 220.99 463.47 220.98 486.63 221.04 509.79 C 242.71 475.14 244.85 433.15 256.98 394.98 C 262.13 379.39 284.00 382.22 295.70 388.29 C 307.13 393.55 303.66 407.93 298.56 416.60 C 289.79 433.85 278.22 451.99 281.63 472.26 C 282.51 501.84 300.84 528.51 297.53 558.53 C 295.53 574.11 285.96 593.54 268.00 593.75 C 250.12 592.28 233.94 582.22 221.01 570.29 C 221.03 613.09 220.95 655.89 221.05 698.70 C 291.38 724.52 369.00 722.28 440.57 702.78 C 440.59 666.89 440.55 631.00 440.59 595.11 C 429.87 596.51 420.52 585.50 423.07 575.18 C 428.57 556.59 435.07 538.29 440.49 519.70 C 440.69 501.07 440.50 482.43 440.58 463.80 C 417.80 489.67 392.63 513.32 366.77 536.07 C 383.28 534.45 401.96 530.98 416.93 540.07 C 426.66 547.05 420.99 561.38 411.31 565.29 C 385.89 577.73 356.77 580.02 328.96 582.17 C 308.40 583.84 294.75 558.41 307.02 542.04 C 332.37 504.67 370.72 478.94 401.56 446.48 C 385.63 447.04 369.99 453.85 353.99 451.07 C 342.98 449.12 339.06 434.02 345.97 425.96 C 354.46 417.01 367.50 415.49 378.95 412.94 C 399.45 409.43 419.59 402.66 440.58 402.92 C 440.57 332.00 440.58 261.08 440.57 190.16 C 367.94 170.11 289.77 180.98 221.32 210.55 M 444.73 191.19 C 444.72 261.90 444.75 332.61 444.72 403.31 C 446.78 403.97 448.86 404.61 450.93 405.27 C 450.92 334.50 450.95 263.73 450.92 192.97 C 448.87 192.32 446.80 191.73 444.73 191.19 M 455.07 194.19 C 455.04 265.33 455.00 336.47 455.09 407.61 C 464.89 414.25 469.52 429.34 460.65 438.63 C 450.64 448.12 456.62 462.95 455.12 475.16 C 470.62 428.24 486.62 381.46 502.60 334.70 C 502.95 294.22 502.65 253.71 502.75 213.22 C 487.55 205.30 471.44 199.23 455.07 194.19 M 211.02 215.38 C 210.86 281.33 210.94 347.28 210.97 413.23 C 212.92 412.91 214.88 412.62 216.84 412.38 C 216.88 345.82 216.87 279.26 216.85 212.71 C 214.88 213.55 212.94 214.45 211.02 215.38 M 507.01 215.32 C 507.00 250.95 506.93 286.58 507.04 322.21 C 510.09 314.84 510.94 303.66 521.20 303.24 C 530.10 302.42 545.88 300.84 548.63 311.87 C 533.93 348.96 517.93 385.76 507.16 424.29 C 506.77 435.87 507.08 447.49 507.01 459.08 C 523.55 446.67 539.44 433.30 556.32 421.42 C 564.23 418.52 582.86 418.08 581.24 430.21 C 564.00 458.63 535.28 476.99 512.12 500.07 C 516.53 516.92 521.84 533.68 529.97 549.15 C 556.32 533.78 577.87 510.44 590.82 482.80 C 608.54 445.33 613.68 402.89 611.36 361.83 C 607.86 297.87 563.09 242.89 507.01 215.32 M 159.08 247.14 C 158.97 270.22 159.00 293.30 159.08 316.38 C 162.68 309.77 162.00 299.03 170.67 296.66 C 180.39 294.61 196.96 292.82 201.28 304.00 C 186.66 342.37 169.41 380.11 159.10 420.04 C 158.93 430.71 159.04 441.39 159.05 452.07 C 174.89 439.86 190.69 427.60 206.49 415.33 C 207.00 349.45 206.58 283.48 206.69 217.57 C 190.06 226.00 173.50 235.41 159.08 247.14 M 66.77 380.85 C 54.95 423.94 52.82 469.56 59.36 513.70 C 67.99 574.94 102.83 632.14 154.90 665.95 C 154.84 631.75 155.00 597.54 154.81 563.35 C 146.82 551.04 140.25 537.88 134.01 524.61 C 125.83 546.69 119.37 571.81 100.10 587.10 C 88.49 595.59 80.01 577.37 82.72 567.71 C 105.17 487.89 128.41 408.24 154.66 329.57 C 155.19 303.08 154.76 276.52 154.88 250.00 C 112.43 282.64 80.89 329.16 66.77 380.85 M 170.48 303.45 C 139.57 390.78 114.08 479.94 88.82 569.04 C 87.46 574.12 91.24 587.69 97.90 580.90 C 118.25 561.95 123.42 533.05 133.02 508.09 C 146.03 531.97 154.04 561.53 177.67 577.37 C 195.48 585.89 207.46 567.88 218.03 556.78 C 226.39 569.00 238.92 577.80 252.41 583.56 C 260.58 586.84 271.24 590.28 278.70 583.67 C 291.23 572.50 293.42 554.08 290.53 538.37 C 285.31 511.65 272.48 485.99 275.19 458.10 C 276.69 436.38 294.44 420.02 297.18 399.01 C 291.28 388.78 272.94 386.70 264.01 394.00 C 250.40 434.31 248.88 479.39 224.70 515.69 C 215.48 527.82 207.49 542.31 193.26 549.21 C 186.98 552.59 178.37 550.24 175.76 543.31 C 167.73 525.90 163.90 506.92 159.29 488.40 C 181.64 465.21 210.98 448.26 227.99 420.27 C 221.61 418.24 213.48 417.21 208.07 422.02 C 185.37 439.53 162.89 457.36 139.96 474.57 C 150.18 415.42 171.59 359.14 194.84 304.07 C 187.33 300.72 178.15 300.44 170.48 303.45 M 360.13 424.13 C 350.31 425.23 343.54 440.06 354.37 444.67 C 374.62 448.17 394.63 436.55 415.04 441.14 C 385.44 474.17 348.83 500.23 320.14 534.14 C 313.28 542.69 304.80 554.02 310.61 565.35 C 315.75 576.81 330.38 577.01 341.02 575.21 C 364.28 572.03 388.93 570.47 409.84 558.86 C 416.36 556.10 418.41 545.91 410.53 543.48 C 389.30 536.49 366.63 542.69 345.37 546.63 C 385.51 511.17 426.54 475.61 457.82 431.75 C 463.71 418.82 448.21 406.90 436.00 409.15 C 410.37 411.69 385.02 417.73 360.13 424.13 M 149.46 459.51 C 151.24 458.18 152.98 456.81 154.76 455.49 C 154.94 449.44 155.06 443.31 154.69 437.30 C 152.47 444.05 151.15 452.18 149.46 459.51 M 496.84 466.94 C 498.80 465.49 500.73 463.99 502.66 462.48 C 502.85 455.53 502.75 448.56 502.70 441.61 C 500.41 449.97 498.62 458.46 496.84 466.94 M 211.05 450.45 C 210.81 474.94 210.97 499.44 210.97 523.93 C 212.86 521.17 215.13 518.66 216.81 515.76 C 216.93 492.07 216.83 468.37 216.86 444.68 C 214.93 446.61 213.03 448.57 211.05 450.45 M 444.79 459.09 C 444.68 474.96 444.70 490.83 444.79 506.70 C 453.33 489.34 450.61 470.09 450.92 451.43 C 448.92 454.02 446.54 456.33 444.79 459.09 M 166.12 490.37 C 171.18 508.23 173.71 527.59 183.52 543.57 C 193.25 546.45 200.87 536.15 206.59 529.59 C 206.88 504.60 206.62 479.58 206.71 454.58 C 193.37 466.72 179.06 477.79 166.12 490.37 M 478.33 531.65 C 471.65 549.89 465.53 568.61 455.11 585.13 C 454.97 622.93 455.05 660.73 455.07 698.53 C 471.27 693.29 487.69 687.62 502.70 679.78 C 502.67 645.70 503.02 611.55 502.52 577.51 C 492.19 563.50 486.63 546.81 478.33 531.65 M 210.99 573.32 C 210.88 613.88 210.95 654.43 210.95 694.99 C 212.90 695.76 214.87 696.49 216.86 697.16 C 216.87 653.81 216.85 610.45 216.87 567.09 C 214.94 569.20 212.99 571.28 210.99 573.32 M 159.02 569.03 C 159.05 602.26 158.98 635.50 159.05 668.73 C 174.08 678.43 190.05 686.68 206.69 693.24 C 206.75 654.74 206.68 616.23 206.72 577.72 C 192.88 592.38 168.65 584.82 159.02 569.03 M 444.75 594.01 C 444.72 629.89 444.72 665.76 444.74 701.64 C 446.81 701.06 448.88 700.46 450.93 699.82 C 450.96 663.16 450.88 626.50 450.97 589.85 C 449.04 591.44 446.93 592.80 444.75 594.01 M 139.39 716.34 C 124.73 730.39 110.19 744.58 95.58 758.70 C 95.37 808.13 95.52 857.57 95.51 907.01 C 132.56 907.15 169.63 907.14 206.69 907.02 C 206.66 852.58 206.87 798.13 206.58 743.70 C 183.32 736.90 160.78 727.71 139.39 716.34 M 455.06 748.09 C 455.04 801.08 455.01 854.07 455.07 907.06 C 492.16 907.10 529.25 907.15 566.34 907.04 C 566.41 857.69 566.37 808.34 566.36 758.99 C 552.82 745.54 539.01 732.34 525.29 719.08 C 503.14 731.50 479.60 741.51 455.06 748.09 M 221.04 747.71 C 220.98 797.71 220.98 847.71 221.04 897.71 C 294.21 897.70 367.38 897.75 440.55 897.68 C 440.59 848.99 440.58 800.30 440.56 751.61 C 368.25 764.97 292.66 765.54 221.04 747.71 Z" /> +<path fill="#fbfcfd" opacity="1.00" d=" M 246.79 504.76 C 248.88 500.62 254.95 501.91 255.56 506.38 C 260.06 522.25 266.90 539.43 262.86 555.85 C 249.58 560.42 240.22 536.98 225.74 546.18 C 236.48 534.43 238.83 518.08 246.79 504.76 M 238.72 538.33 C 245.56 541.66 251.42 546.59 257.97 550.38 C 258.34 536.81 254.47 523.63 250.41 510.82 C 246.08 519.80 243.22 529.42 238.72 538.33 Z" /> +</g> +<g id="#28166fff"> +<path fill="#28166f" opacity="1.00" d=" M 221.05 4.40 C 294.22 4.41 367.38 4.36 440.55 4.43 C 440.60 47.07 440.57 89.72 440.57 132.36 C 367.33 119.98 291.06 127.67 221.01 151.96 C 221.02 102.77 220.95 53.59 221.05 4.40 Z" /> +<path fill="#28166f" opacity="1.00" d=" M 159.06 20.42 C 174.94 20.42 190.81 20.39 206.68 20.44 C 206.71 66.10 206.78 111.77 206.65 157.43 C 190.27 163.99 174.36 171.69 159.05 180.44 C 159.02 127.10 158.98 73.76 159.06 20.42 Z" /> +<path fill="#28166f" opacity="1.00" d=" M 455.08 20.43 C 470.96 20.41 486.84 20.40 502.72 20.43 C 502.79 63.77 502.75 107.11 502.74 150.44 C 487.30 144.18 471.34 139.22 455.11 135.47 C 454.98 97.12 455.03 58.77 455.08 20.43 Z" /> +<path fill="#28166f" opacity="1.00" d=" M 221.32 210.55 C 289.77 180.98 367.94 170.11 440.57 190.16 C 440.58 261.08 440.57 332.00 440.58 402.92 C 419.59 402.66 399.45 409.43 378.95 412.94 C 367.50 415.49 354.46 417.01 345.97 425.96 C 339.06 434.02 342.98 449.12 353.99 451.07 C 369.99 453.85 385.63 447.04 401.56 446.48 C 370.72 478.94 332.37 504.67 307.02 542.04 C 294.75 558.41 308.40 583.84 328.96 582.17 C 356.77 580.02 385.89 577.73 411.31 565.29 C 420.99 561.38 426.66 547.05 416.93 540.07 C 401.96 530.98 383.28 534.45 366.77 536.07 C 392.63 513.32 417.80 489.67 440.58 463.80 C 440.50 482.43 440.69 501.07 440.49 519.70 C 435.07 538.29 428.57 556.59 423.07 575.18 C 420.52 585.50 429.87 596.51 440.59 595.11 C 440.55 631.00 440.59 666.89 440.57 702.78 C 369.00 722.28 291.38 724.52 221.05 698.70 C 220.95 655.89 221.03 613.09 221.01 570.29 C 233.94 582.22 250.12 592.28 268.00 593.75 C 285.96 593.54 295.53 574.11 297.53 558.53 C 300.84 528.51 282.51 501.84 281.63 472.26 C 278.22 451.99 289.79 433.85 298.56 416.60 C 303.66 407.93 307.13 393.55 295.70 388.29 C 284.00 382.22 262.13 379.39 256.98 394.98 C 244.85 433.15 242.71 475.14 221.04 509.79 C 220.98 486.63 220.99 463.47 221.04 440.31 C 225.88 434.22 231.69 428.40 234.39 421.00 C 234.38 414.31 226.24 412.89 221.03 412.42 C 221.18 345.14 220.60 277.78 221.32 210.55 Z" /> +<path fill="#28166f" opacity="1.00" d=" M 455.07 194.19 C 471.44 199.23 487.55 205.30 502.75 213.22 C 502.65 253.71 502.95 294.22 502.60 334.70 C 486.62 381.46 470.62 428.24 455.12 475.16 C 456.62 462.95 450.64 448.12 460.65 438.63 C 469.52 429.34 464.89 414.25 455.09 407.61 C 455.00 336.47 455.04 265.33 455.07 194.19 Z" /> +<path fill="#28166f" opacity="1.00" d=" M 159.08 247.14 C 173.50 235.41 190.06 226.00 206.69 217.57 C 206.58 283.48 207.00 349.45 206.49 415.33 C 190.69 427.60 174.89 439.86 159.05 452.07 C 159.04 441.39 158.93 430.71 159.10 420.04 C 169.41 380.11 186.66 342.37 201.28 304.00 C 196.96 292.82 180.39 294.61 170.67 296.66 C 162.00 299.03 162.68 309.77 159.08 316.38 C 159.00 293.30 158.97 270.22 159.08 247.14 Z" /> +<path fill="#28166f" opacity="1.00" d=" M 496.84 466.94 C 498.62 458.46 500.41 449.97 502.70 441.61 C 502.75 448.56 502.85 455.53 502.66 462.48 C 500.73 463.99 498.80 465.49 496.84 466.94 Z" /> +<path fill="#28166f" opacity="1.00" d=" M 166.12 490.37 C 179.06 477.79 193.37 466.72 206.71 454.58 C 206.62 479.58 206.88 504.60 206.59 529.59 C 200.87 536.15 193.25 546.45 183.52 543.57 C 173.71 527.59 171.18 508.23 166.12 490.37 Z" /> +<path fill="#28166f" opacity="1.00" d=" M 238.72 538.33 C 243.22 529.42 246.08 519.80 250.41 510.82 C 254.47 523.63 258.34 536.81 257.97 550.38 C 251.42 546.59 245.56 541.66 238.72 538.33 Z" /> +<path fill="#28166f" opacity="1.00" d=" M 478.33 531.65 C 486.63 546.81 492.19 563.50 502.52 577.51 C 503.02 611.55 502.67 645.70 502.70 679.78 C 487.69 687.62 471.27 693.29 455.07 698.53 C 455.05 660.73 454.97 622.93 455.11 585.13 C 465.53 568.61 471.65 549.89 478.33 531.65 Z" /> +<path fill="#28166f" opacity="1.00" d=" M 159.02 569.03 C 168.65 584.82 192.88 592.38 206.72 577.72 C 206.68 616.23 206.75 654.74 206.69 693.24 C 190.05 686.68 174.08 678.43 159.05 668.73 C 158.98 635.50 159.05 602.26 159.02 569.03 Z" /> +<path fill="#28166f" opacity="1.00" d=" M 139.39 716.34 C 160.78 727.71 183.32 736.90 206.58 743.70 C 206.87 798.13 206.66 852.58 206.69 907.02 C 169.63 907.14 132.56 907.15 95.51 907.01 C 95.52 857.57 95.37 808.13 95.58 758.70 C 110.19 744.58 124.73 730.39 139.39 716.34 Z" /> +<path fill="#28166f" opacity="1.00" d=" M 455.06 748.09 C 479.60 741.51 503.14 731.50 525.29 719.08 C 539.01 732.34 552.82 745.54 566.36 758.99 C 566.37 808.34 566.41 857.69 566.34 907.04 C 529.25 907.15 492.16 907.10 455.07 907.06 C 455.01 854.07 455.04 801.08 455.06 748.09 Z" /> +<path fill="#28166f" opacity="1.00" d=" M 221.04 747.71 C 292.66 765.54 368.25 764.97 440.56 751.61 C 440.58 800.30 440.59 848.99 440.55 897.68 C 367.38 897.75 294.21 897.70 221.04 897.71 C 220.98 847.71 220.98 797.71 221.04 747.71 Z" /> +</g> +<g id="#6a7cb3fd"> +<path fill="#6a7cb3" opacity="1.00" d=" M 183.57 174.49 C 249.90 142.31 324.89 129.51 398.26 133.59 C 468.01 137.61 538.42 163.53 587.63 214.37 C 662.13 288.87 675.05 411.60 628.08 504.04 C 611.00 536.45 585.93 566.59 552.03 582.07 C 538.49 588.80 520.15 588.47 509.80 576.24 C 495.10 558.71 489.90 535.47 476.76 516.90 C 468.12 539.77 462.23 564.56 447.40 584.42 C 441.60 593.05 426.97 587.53 429.08 577.10 C 456.87 488.01 486.55 399.47 517.52 311.43 C 524.69 307.23 534.44 308.45 542.06 311.25 C 519.35 366.48 497.39 422.60 487.40 481.81 C 510.39 464.78 532.74 446.85 555.44 429.42 C 560.69 424.76 568.49 425.60 574.76 427.38 C 558.82 456.43 527.71 474.19 505.23 498.23 C 510.40 518.95 516.97 539.65 527.89 558.13 C 542.34 548.87 556.79 539.28 568.46 526.55 C 603.61 489.41 616.87 436.94 618.02 387.01 C 619.86 350.30 611.32 312.71 591.35 281.63 C 560.02 232.46 506.27 202.31 451.39 186.57 C 348.50 156.06 232.47 182.07 148.29 247.26 C 95.40 288.58 61.08 351.50 52.73 417.90 C 43.74 484.62 52.21 557.03 91.82 613.20 C 128.03 665.26 186.51 697.65 246.99 713.08 C 284.40 722.64 323.39 727.02 361.89 722.67 C 431.01 717.60 498.64 695.15 556.93 657.64 C 563.46 665.32 569.75 673.22 576.07 681.08 C 546.72 699.32 517.58 718.42 485.41 731.41 C 419.42 756.71 346.65 758.15 277.08 751.76 C 207.36 743.25 137.07 718.63 85.24 669.73 C 40.74 628.52 15.10 569.84 8.82 510.02 C 1.03 437.08 12.25 360.43 49.48 296.45 C 80.19 243.16 128.48 201.20 183.57 174.49 Z" /> +<path fill="#6a7cb3" opacity="1.00" d=" M 170.48 303.45 C 178.15 300.44 187.33 300.72 194.84 304.07 C 171.59 359.14 150.18 415.42 139.96 474.57 C 162.89 457.36 185.37 439.53 208.07 422.02 C 213.48 417.21 221.61 418.24 227.99 420.27 C 210.98 448.26 181.64 465.21 159.29 488.40 C 163.90 506.92 167.73 525.90 175.76 543.31 C 178.37 550.24 186.98 552.59 193.26 549.21 C 207.49 542.31 215.48 527.82 224.70 515.69 C 248.88 479.39 250.40 434.31 264.01 394.00 C 272.94 386.70 291.28 388.78 297.18 399.01 C 294.44 420.02 276.69 436.38 275.19 458.10 C 272.48 485.99 285.31 511.65 290.53 538.37 C 293.42 554.08 291.23 572.50 278.70 583.67 C 271.24 590.28 260.58 586.84 252.41 583.56 C 238.92 577.80 226.39 569.00 218.03 556.78 C 207.46 567.88 195.48 585.89 177.67 577.37 C 154.04 561.53 146.03 531.97 133.02 508.09 C 123.42 533.05 118.25 561.95 97.90 580.90 C 91.24 587.69 87.46 574.12 88.82 569.04 C 114.08 479.94 139.57 390.78 170.48 303.45 M 246.79 504.76 C 238.83 518.08 236.48 534.43 225.74 546.18 C 240.22 536.98 249.58 560.42 262.86 555.85 C 266.90 539.43 260.06 522.25 255.56 506.38 C 254.95 501.91 248.88 500.62 246.79 504.76 Z" /> +<path fill="#6a7cb3" opacity="1.00" d=" M 360.13 424.13 C 385.02 417.73 410.37 411.69 436.00 409.15 C 448.21 406.90 463.71 418.82 457.82 431.75 C 426.54 475.61 385.51 511.17 345.37 546.63 C 366.63 542.69 389.30 536.49 410.53 543.48 C 418.41 545.91 416.36 556.10 409.84 558.86 C 388.93 570.47 364.28 572.03 341.02 575.21 C 330.38 577.01 315.75 576.81 310.61 565.35 C 304.80 554.02 313.28 542.69 320.14 534.14 C 348.83 500.23 385.44 474.17 415.04 441.14 C 394.63 436.55 374.62 448.17 354.37 444.67 C 343.54 440.06 350.31 425.23 360.13 424.13 Z" /> +</g> +</svg> diff --git a/res/readme_en.html b/res/readme_en.html new file mode 100644 index 0000000000000000000000000000000000000000..0c8c760bfdfcf4bae81fd47581cec7fa34bc68f5 --- /dev/null +++ b/res/readme_en.html @@ -0,0 +1,5 @@ +<h3 align="center">Very English</h3> +<p> + Big localization. <u>Bilingual as hell.</u><br/> + <b>Easy to youze.</b> +</p> diff --git a/res/readme_hu.html b/res/readme_hu.html new file mode 100644 index 0000000000000000000000000000000000000000..9e57c901d92b1c0706a92b6ff3b35ab91eb7007a --- /dev/null +++ b/res/readme_hu.html @@ -0,0 +1,5 @@ +<h3 align="center">Magyar leírás</h3> +<p> + Unicode, ékezetek, HTML. <u>Kezelhetőség.</u><br/> + <b>Na még mit mondjak...</b> +</p> diff --git a/resource.qrc b/resource.qrc new file mode 100644 index 0000000000000000000000000000000000000000..d9f80107a3242d9777724bdb4e0fad096ace3889 --- /dev/null +++ b/resource.qrc @@ -0,0 +1,11 @@ +<RCC> + <qresource prefix="/"> + <file>res/app.hqx</file> + <file>res/app.ico</file> + <file>res/flag_eng.gif</file> + <file>res/flag_hun.gif</file> + <file>res/logo.svg</file> + <file>res/readme_en.html</file> + <file>res/readme_hu.html</file> + </qresource> +</RCC> diff --git a/src/Diagnostic.cpp b/src/Diagnostic.cpp new file mode 100644 index 0000000000000000000000000000000000000000..fbf4a564f116bfecc57058ee45cb1634168c528c --- /dev/null +++ b/src/Diagnostic.cpp @@ -0,0 +1,204 @@ +#include <QtWidgets> +#include <QVector> +#include <QCoreApplication> +#include <QStringList> +#include <QSysInfo> +#include <QRegExp> +#include <QtNetwork/QNetworkInterface> +#include <QtNetwork/QHostInfo> +#include <QtNetwork/QDnsLookup> + +#include <include/Diagnostic.hpp> +#include <include/Globals.hpp> +#include <include/ProcessHandler.hpp> + +void Diagnostic::onStarted(){ + double step = 100.0/func_vec.size(); + double i = 1.0; + foreach (function_t fn, func_vec) { + emit Update(static_cast<int>(ceil(step*i)), (this->*fn)()); + i += 1.0; + } + emit Quit(); +} + +Diagnostic::Diagnostic() + : func_vec({ + &Diagnostic::getOsInfo, + &Diagnostic::getInterfaceInfo, + &Diagnostic::getRoutingInfo, + &Diagnostic::getDGPingOutput, + &Diagnostic::getODPingOutput, + &Diagnostic::getDNSLookup + }), tab(2, ' ') +{ + INIT_GLOBALS(); +} + + +QString Diagnostic::getRoutingInfo(){ + ProcessHandler proc(QIODevice::ReadOnly); + QStringList out; + + out << "- - - Routing - - - \n"; + + switch (CURRENT_OS){ + case OS_WINDOWS: + out << proc.exec("netsh interface ipv4 show route"); + //out << proc.exec("netsh interface ipv6 show route"); + break; + case OS_LINUX: + out << proc.exec("netstat -A inet -rn"); + //out << proc.exec("netstat -A inet6 -rn"); + break; + case OS_OSX: + out << proc.exec("/usr/sbin/netstat -f inet -rn"); + //out << proc.exec("/usr/sbin/netstat -f inet6 -rn"); + break; + default: + static_assert(true, "This OS is not supported"); + break; + } + return out.join(separator); +} + + +QString Diagnostic::getInterfaceInfo(){ + QList<QNetworkInterface> ifList = QNetworkInterface::allInterfaces(); + QStringList out; + + out << "- - - Interface Info - - - \n"; + out << "\n"; + foreach (QNetworkInterface iface, ifList){ + out << QString("%1\n").arg(iface.humanReadableName()); + out << QString("%1Address entries:\n").arg(tab); + { + int address_cntr = 0; + foreach (QNetworkAddressEntry netAddr, iface.addressEntries()){ + out << QString("%1%1entry #%2\n").arg(tab).arg(address_cntr++); + out << QString("%1%1%1- broadcast addr: %2\n").arg(tab).arg(netAddr.broadcast().toString()); + out << QString("%1%1%1- ip addr: %2\n").arg(tab).arg(netAddr.ip().toString()); + out << QString("%1%1%1- subnetmask: %2\n").arg(tab).arg(netAddr.netmask().toString()); + } + } + out << QString("%1- can broadcast? %2\n").arg(tab).arg(iface.flags().testFlag(QNetworkInterface::CanBroadcast)? "yes" : "no"); + out << QString("%1- can multicast? %2\n").arg(tab).arg(iface.flags().testFlag(QNetworkInterface::CanMulticast)? "yes" : "no"); + out << QString("%1- HW address: %2\n").arg(tab).arg(iface.hardwareAddress()); + out << QString("%1- is loopback? %2\n").arg(tab).arg(iface.flags().testFlag(QNetworkInterface::IsLoopBack)? "yes" : "no"); + out << QString("%1- is point-to-point? %2\n").arg(tab).arg(iface.flags().testFlag(QNetworkInterface::IsPointToPoint)? "yes" : "no"); + out << QString("%1- is running? %2\n").arg(tab).arg(iface.flags().testFlag(QNetworkInterface::IsRunning)? "yes" : "no"); + out << QString("%1- is up? %2\n").arg(tab).arg(iface.flags().testFlag(QNetworkInterface::IsUp)? "yes" : "no"); + out << QString("%1- is valid? %2\n").arg(tab).arg(iface.isValid()? "yes" : "no"); + out << QString("%1- internal name: %2\n").arg(tab).arg(iface.name()); + } + out << QString("Local addresses:\n"); + foreach (QHostAddress hostAddr, QNetworkInterface::allAddresses()){ + out << QString("%1- %2\n").arg(tab).arg(hostAddr.toString()); + } + return out.join(separator); +} + + +QString Diagnostic::getDGPingOutput(){ + ProcessHandler proc(QIODevice::ReadOnly); + QStringList out; + + out << "- - - Pinging Default Gateways - - -\n"; + + foreach (QString ip, DEF_GATEWAYS) { + switch (CURRENT_OS){ + case OS_WINDOWS: + out << proc.exec(QString("ping -n 4 -w 1 %1").arg(ip)); + break; + case OS_LINUX: + out << proc.exec(QString("ping -n -c 4 -W 1 %1").arg(ip)); + break; + case OS_OSX: + default: + static_assert(true, "This OS is not supported"); + break; + } + } + return out.join(separator); +} + + +QString Diagnostic::getODPingOutput(){ + ProcessHandler proc(QIODevice::ReadOnly); + QStringList out; + + out << "- - - Pinging Outer Destinations - - -\n"; + + foreach (QString ip, OUTER_DEST) { + switch (CURRENT_OS){ + case OS_WINDOWS: + out << proc.exec(QString("ping -n 4 -w 1 %1").arg(ip)); + break; + case OS_LINUX: + out << proc.exec(QString("ping -c 4 -W 1 %1").arg(ip)); + break; + case OS_OSX: + out << proc.exec(QString("ping -c 4 -W 1 %1").arg(ip)); + break; + default: + static_assert(true, "This OS is not supported"); + break; + } + } + return out.join(separator); +} + + +QString Diagnostic::getOsInfo(){ + ProcessHandler proc(QIODevice::ReadOnly); + QStringList out; + out << "- - - OS Version - - -\n"; + + switch (CURRENT_OS) { + case OS_WINDOWS: + { + /* this pattern removes leading/trailing/middle empty lines + * it is tested to work without escaping the backslashes. + * if the output is malformed feel free to escape them! */ + QRegExp e("(?:^[\r\n]+)|(?:[\r\n]{2}(?=[\r\n]))|(?:[\r\n]+$)"); + out << proc.exec("wmic os get Caption,CSDVersion /value").replace(e, ""); + } + break; + case OS_LINUX: + out << proc.exec("lsb_release -a"); + break; + case OS_OSX: + out << proc.exec("sw_vers"); + break; + default: + static_assert(true, "This OS is not supported"); + break; + } + return out.join(separator); +} + + +QString Diagnostic::getDNSLookup(){ + QStringList out; + out << "- - - DNS Lookup for sch.bme.hu - - -\n"; + QEventLoop dns_event; + QDnsLookup dns_handle(QDnsLookup::ANY, DNS_ADDR); + + dns_event.connect(&dns_handle, SIGNAL(finished()), &dns_event, SLOT(quit())); + + foreach (QString nameserver, NS_ADDRS) { + dns_handle.setNameserver(QHostAddress(nameserver)); + dns_handle.lookup(); + dns_event.exec(); + if (dns_handle.error() == QDnsLookup::NoError) { + out << QString("nameserver: %1\n").arg(nameserver); + foreach (const QDnsHostAddressRecord &record, dns_handle.hostAddressRecords()) { + out << QString("%1- %2\n").arg(tab).arg(record.value().toString()); + } + } + else { + out << QString("nameserver: %1 - failed\n").arg(nameserver); + } + } + return out.join(separator); +} diff --git a/src/Globals.cpp b/src/Globals.cpp new file mode 100644 index 0000000000000000000000000000000000000000..b4e1a55a3c983f43b0c9841255f8f422f680974a --- /dev/null +++ b/src/Globals.cpp @@ -0,0 +1,36 @@ +#include <include/Globals.hpp> + +#ifndef GLOBALS_CPP +#define GLOBALS_CPP + +QStringList DEF_GATEWAYS; +QStringList OUTER_DEST; +QStringList NS_ADDRS; +QString DNS_ADDR; + +void INIT_GLOBALS(){ + DEF_GATEWAYS << "152.66.176.254"; + DEF_GATEWAYS << "152.66.178.254"; + DEF_GATEWAYS << "152.66.179.254"; + DEF_GATEWAYS << "152.66.180.254"; + DEF_GATEWAYS << "152.66.181.254"; + DEF_GATEWAYS << "152.66.182.254"; + DEF_GATEWAYS << "152.66.183.254"; + DEF_GATEWAYS << "152.66.210.254"; + DEF_GATEWAYS << "10.66.255.254"; + + OUTER_DEST << "152.66.0.1"; + OUTER_DEST << "152.66.0.15"; + OUTER_DEST << "8.8.8.8"; + OUTER_DEST << "8.8.4.4"; + + NS_ADDRS << "152.66.208.1"; + NS_ADDRS << "152.66.208.7"; + NS_ADDRS << "8.8.8.8"; + NS_ADDRS << "8.8.4.4"; + + DNS_ADDR = "sch.bme.hu"; +} + +#endif // GLOBALS_CPP + diff --git a/src/NetCheckerWindow.cpp b/src/NetCheckerWindow.cpp new file mode 100644 index 0000000000000000000000000000000000000000..578325cd6b8e96069fd4e29a7d94460b6308c371 --- /dev/null +++ b/src/NetCheckerWindow.cpp @@ -0,0 +1,333 @@ +#include <QSvgRenderer> +#include <QPainter> +#include <QImage> + +#include <include/NetCheckerWindow.hpp> +#include <include/Privileges.hpp> +#include <include/Translation.hpp> + +NetCheckerWindow::NetCheckerWindow(){ + /* default language is hungarian */ + lang = LANG::HUN; + setWindowFlags(Qt::WindowCloseButtonHint); + this->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + this->setFixedSize(WINDOW_WIDTH, WINDOW_HEIGHT); + /* initialize stacked window structure */ + initStackedWindow(); + /* localization for texts in program */ + initText(); +} + +void NetCheckerWindow::initStackedWindow(){ + global_l = new QVBoxLayout; + global_w = new QStackedWidget; + global_l->addWidget(global_w); + + /* remove margins and spacing from global layout */ + global_l->setMargin(0); + global_l->setSpacing(0); + + initWelcomePage(); + initDiagnosticPage(); + + setLayout(global_l); +} + +void NetCheckerWindow::initWelcomePage(){ + /* initialization */ + welcome_page_l = new QHBoxLayout; + welcome_page_w = new QWidget; + + /* remove margins and spacing from welcome page layout */ + welcome_page_l->setMargin(0); + welcome_page_l->setSpacing(0); + + /* init the two sides: logo and readme */ + initLogoSide(); + initReadmeSide(); + + welcome_page_w->setLayout(welcome_page_l); + global_w->addWidget(welcome_page_w); +} + +void NetCheckerWindow::initLogoSide(){ + logo_side_w = new QWidget; + logo_side_l = new QVBoxLayout; + + logo_side_l->setContentsMargins(9, 9, 0, 0); + logo_side_w->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding); + logo_side_w->setFixedWidth(LOGO_WIDTH); + + /* logo image at the left */ + logo_image_w = new QLabel; + QSvgRenderer renderer(tr(":/res/logo.svg")); + int image_width = LOGO_WIDTH - 9; + QImage image(image_width, static_cast<int>(1.376888*image_width), QImage::Format_ARGB32); + image.fill(Qt::transparent); + QPainter painter(&image); + renderer.render(&painter); + QPixmap pix_logo = QPixmap::fromImage(image); + logo_image_w->setPixmap(pix_logo); + logo_image_w->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + + /* flags for choosing language */ + QWidget *flag_holder_w = new QWidget; + QHBoxLayout *flag_holder_l = new QHBoxLayout; + QPushButton *flag_eng_w = new QPushButton; + QPushButton *flag_hun_w = new QPushButton; + QPixmap pix_flag_eng(":/res/flag_eng.gif"); + QPixmap pix_flag_hun(":/res/flag_hun.gif"); + QIcon icon_eng(pix_flag_eng); + QIcon icon_hun(pix_flag_hun); + QSize icon_size(pix_flag_eng.width(), pix_flag_eng.height()); + + flag_eng_w->setIconSize(icon_size); + flag_eng_w->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + flag_eng_w->setFixedSize(icon_size.width()+6, icon_size.height()+6); + flag_eng_w->setIcon(icon_eng); + + flag_hun_w->setIconSize(icon_size); + flag_hun_w->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + flag_hun_w->setFixedSize(icon_size.width()+6, icon_size.height()+6); + flag_hun_w->setIcon(icon_hun); + + connect(flag_eng_w, SIGNAL(released()), this, SLOT(changeToEng())); + connect(flag_hun_w, SIGNAL(released()), this, SLOT(changeToHun())); + + flag_holder_l->addWidget(flag_hun_w); + flag_holder_l->addWidget(flag_eng_w); + flag_holder_w->setLayout(flag_holder_l); + + logo_side_l->addWidget(logo_image_w); + logo_side_l->addWidget(flag_holder_w); + logo_side_w->setLayout(logo_side_l); + + welcome_page_l->addWidget(logo_side_w); +} + +void NetCheckerWindow::initReadmeSide(){ + readme_side_w = new QWidget; + readme_side_l = new QVBoxLayout; + + readme_side_w->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + + /* textbox at the right */ + text_w = new QTextEdit; + text_w->setReadOnly(true); + + /* next button */ + next_button_w = new QPushButton; + next_button_w->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + connect(next_button_w, SIGNAL(released()), this, SLOT(nextPage())); + + readme_side_l->addWidget(text_w); + readme_side_l->addWidget(next_button_w, 0, Qt::AlignRight); + readme_side_w->setLayout(readme_side_l); + + welcome_page_l->addWidget(readme_side_w); +} + +void NetCheckerWindow::initDiagnosticPage(){ + diagnostic_page_w = new QWidget; + diagnostic_page_l = new QVBoxLayout; + + /* progress bar */ + progressbar_holder_w = new QGroupBox; + progressbar_holder_l = new QVBoxLayout; + progressbar_w = new QProgressBar; + progressbar_w->setRange(0, 100); + progressbar_w->setAlignment(Qt::AlignHCenter); + + /* progress bar info */ + QWidget *progress_info_holder_w = new QWidget; + QHBoxLayout *progress_info_holder_l = new QHBoxLayout; + progress_info = new QLabel; + progress_info_time = new QLabel; + progress_info->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + progress_info_time->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding); + progress_info_time->setFixedWidth(20); + progress_info_time->setAlignment(Qt::AlignRight); + progress_info->setAlignment(Qt::AlignRight); + + progress_info_holder_l->addWidget(progress_info); + progress_info_holder_l->addWidget(progress_info_time, 0, Qt::AlignRight); + progress_info_holder_l->setContentsMargins(0, 3, 3, 3); + + progress_info_holder_w->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); + progress_info_holder_w->setLayout(progress_info_holder_l); + + progressbar_holder_w->setLayout(progressbar_holder_l); + progressbar_holder_l->addWidget(progressbar_w); + progressbar_holder_l->addWidget(progress_info_holder_w); + progressbar_holder_w->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); + + /* log */ + log_holder_w = new QGroupBox; + log_holder_l = new QVBoxLayout; + log_w = new QTextEdit; + log_w->setReadOnly(true); + log_w->setLineWrapMode(QTextEdit::NoWrap); + log_w->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + log_w->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); + log_holder_w->setLayout(log_holder_l); + log_holder_l->addWidget(log_w); + + /* buttons */ + button_holder_w = new QWidget; + button_holder_l = new QHBoxLayout; + clipboard_button_w = new QPushButton; + save_button_w = new QPushButton; + clipboard_button_w->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + save_button_w->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + clipboard_button_w->setEnabled(false); + save_button_w->setEnabled(false); + + connect(clipboard_button_w, SIGNAL(released()), this, SLOT(copyClipboard())); + connect(save_button_w, SIGNAL(released()), this, SLOT(saveToFile())); + + button_holder_l->addWidget(clipboard_button_w); + button_holder_l->addWidget(save_button_w); + button_holder_w->setLayout(button_holder_l); + + /* trying to align buttons */ + button_holder_w->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + button_holder_l->setContentsMargins(12, 0, 12, 0); + + diagnostic_page_l->addWidget(progressbar_holder_w); + diagnostic_page_l->addWidget(log_holder_w); + diagnostic_page_l->addWidget(button_holder_w, 0, Qt::AlignRight); + diagnostic_page_w->setLayout(diagnostic_page_l); + + global_w->addWidget(diagnostic_page_w); +} + +void NetCheckerWindow::initText(){ + /* set program title */ + setWindowTitle(TXT_APP_TITLE[lang]); + + /* set next button label */ + next_button_w->setText(TXT_NEXT_BTN[lang]); + + /* change the readme text but also cache it */ + static QString readme_txt[2] = {QString(), QString()}; + if (readme_txt[0].isEmpty()){ + QFile readme_file_hun(README_URL[LANG::HUN]); + QFile readme_file_eng(README_URL[LANG::ENG]); + readme_file_hun.open(QIODevice::ReadOnly); + readme_file_eng.open(QIODevice::ReadOnly); + QTextStream readme_file_str_hun(&readme_file_hun); + QTextStream readme_file_str_eng(&readme_file_eng); + readme_file_str_hun.setCodec("UTF-8"); + readme_file_str_eng.setCodec("UTF-8"); + readme_txt[LANG::ENG] = readme_file_eng.readAll(); + readme_txt[LANG::HUN] = readme_file_str_hun.readAll(); + readme_file_hun.close(); + readme_file_eng.close(); + } + text_w->setHtml(readme_txt[lang]); + + /* progress bar and buttons region */ + progress_info->setText(TXT_EST_TIME[lang].append(":")); + progressbar_holder_w->setTitle(TXT_DIAG_GROUP[lang]); + log_holder_w->setTitle(TXT_LOG_GROUP[lang]); + clipboard_button_w->setText(TXT_CLIPB_BTN[lang]); + save_button_w->setText(TXT_SAVE_BTN[lang]); +} + +void NetCheckerWindow::nextPage(){ + /* check for root privileges */ + Privileges::checkPrivileges(this, TXT_ROOT_MSG_TITLE_WIN[lang], TXT_ROOT_MSG_WIN[lang]); + + /* turns page */ + global_w->setCurrentIndex(1); + + /* set up diagnostic + wiring some shit */ + Diagnostic *diag_obj = new Diagnostic; + QThread *diag_thread = new QThread(); + diag_obj->moveToThread(diag_thread); + + /* thread start -> diagnostic start */ + QObject::connect(diag_thread, SIGNAL(started()), diag_obj, SLOT(onStarted())); + /* update -> window */ + QObject::connect(diag_obj, SIGNAL(Update(int,QString)), this, SLOT(updateInfos(int,QString))); + /* quit diagnostic -> quit thread */ + QObject::connect(diag_obj, SIGNAL(Quit()), diag_thread, SLOT(quit())); + /* thread finished -> window's finish action */ + QObject::connect(diag_thread, SIGNAL(finished()), this, SLOT(finishAction())); + diag_thread->start(); + + /* set up timer */ + progress_timer = new QTimer(this); + connect(progress_timer, SIGNAL(timeout()), this, SLOT(incrementTime())); + progress_timer->setSingleShot(true); + progress_timer->start(); +} + +void NetCheckerWindow::updateInfos(int progress_value, const QString info){ + progressbar_w->setValue(progress_value); + log_w->append(info); +} + +void NetCheckerWindow::finishAction(){ + /* if diagnostic is over, stop the timer and change text to finished */ + progress_timer->stop(); + if (!progress_info_time->isHidden()){ + progress_info_time->hide(); + } + progress_info->setText(TXT_FINISHED[lang]); + + /* enable save buttons */ + clipboard_button_w->setEnabled(true); + save_button_w->setEnabled(true); +} + +void NetCheckerWindow::copyClipboard(){ + QClipboard *clipboard = QApplication::clipboard(); + clipboard->setText(log_w->toPlainText()); +} + +void NetCheckerWindow::saveToFile(){ + QString username = qgetenv("USER"); + if (username.isEmpty()) + username = qgetenv("USERNAME"); + QString filename = QFileDialog::getExistingDirectory(0, TXT_SAVE_DIALOG[lang]); + filename.append(tr("/%1_%2.txt").arg(username).arg(QDateTime::currentDateTime().toString("yyyy-MM-dd_h-m-s"))); + if (!filename.isEmpty()){ + QFile file(filename); + if (file.open(QIODevice::WriteOnly | QIODevice::Text)){ + QTextStream stream(&file); + stream.setCodec("UTF-8"); + stream << log_w->toPlainText(); + stream.flush(); + file.close(); + } + } +} + +void NetCheckerWindow::changeToHun(){ + if (lang != LANG::HUN){ + lang = LANG::HUN; + initText(); + } +} + +void NetCheckerWindow::changeToEng(){ + if (lang != LANG::ENG){ + lang = LANG::ENG; + initText(); + } +} + +void NetCheckerWindow::incrementTime(){ + static int count = 53; + if (count >= 0){ + progress_info_time->setText(QString("%1s").arg(count--)); + progress_timer->start(1000); + } + else { + progress_info->setText(TXT_ALMOST_END[lang]); + if (!progress_info_time->isHidden()){ + progress_info_time->hide(); + } + } +} diff --git a/src/Privileges.cpp b/src/Privileges.cpp new file mode 100644 index 0000000000000000000000000000000000000000..b00e4d8b169f911270aab77865e13822fe5dc122 --- /dev/null +++ b/src/Privileges.cpp @@ -0,0 +1,47 @@ +#include <QString> +#include <QMessageBox> + +#include <include/Globals.hpp> +#include <include/ProcessHandler.hpp> +#include <include/Privileges.hpp> + +#ifndef PRIVILEGES_CPP +#define PRIVILEGES_CPP + +void Privileges::checkPrivileges(QWidget *parent, const QString title, const QString message){ + if (!isRoot()){ + QMessageBox::warning(parent, title, message, QMessageBox::Ok, QMessageBox::NoButton); + parent->close(); + } +} + +#if defined(Q_OS_WIN) + #include <windows.h> + bool Privileges::isRoot(){ + BOOL fRet = FALSE; + HANDLE hToken = NULL; + if( OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hToken)){ + TOKEN_ELEVATION Elevation; + DWORD cbSize = sizeof(TOKEN_ELEVATION); + if(GetTokenInformation(hToken, TokenElevation, &Elevation, sizeof(Elevation),&cbSize)){ + fRet = Elevation.TokenIsElevated; + } + } + if(hToken){ + CloseHandle(hToken); + } + return fRet; + } +#elif defined(Q_OS_LINUX) + #include <unistd.h> + bool Privileges::isRoot(){ + return !(getuid() && geteuid()); + } +#elif defined(Q_OS_OSX) + #error "OSX is not supported yet!" +#else + #error "This IS is not supported yet!" +#endif + +#endif // PRIVILEGES_CPP + diff --git a/src/ProcessHandler.cpp b/src/ProcessHandler.cpp new file mode 100644 index 0000000000000000000000000000000000000000..f0b210db826701a7fcad689c5a63c64a65fcfdc4 --- /dev/null +++ b/src/ProcessHandler.cpp @@ -0,0 +1,23 @@ +#include <QObject> +#include <QProcess> +#include <QStringList> + +#include <include/ProcessHandler.hpp> + +#ifndef PROCESSHANDLER_CPP +#define PROCESSHANDLER_CPP + +ProcessHandler::ProcessHandler(QProcess::OpenMode mode): QProcess() { + setOpenMode(mode); +} +QString ProcessHandler::exec(QString commands){ + start(commands); + if (!waitForFinished()){ + return tr("Error occured. Command was: %1\n").arg(commands); + } + QByteArray ba = readAllStandardOutput(); + return ba; +} + +#endif +