{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## March 24 - Learning\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\n", "A module that was compiled using NumPy 1.x cannot be run in\n", "NumPy 2.2.4 as it may crash. To support both 1.x and 2.x\n", "versions of NumPy, modules must be compiled with NumPy 2.0.\n", "Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.\n", "\n", "If you are a user of the module, the easiest solution will be to\n", "downgrade to 'numpy<2' or try to upgrade the affected module.\n", "We expect that some modules will need time to support NumPy 2.\n", "\n", "Traceback (most recent call last): File \"/usr/lib/python3.10/runpy.py\", line 196, in _run_module_as_main\n", " return _run_code(code, main_globals, None,\n", " File \"/usr/lib/python3.10/runpy.py\", line 86, in _run_code\n", " exec(code, run_globals)\n", " File \"/usr/lib/python3/dist-packages/ipykernel_launcher.py\", line 16, in \n", " app.launch_new_instance()\n", " File \"/home/accts/sbs5/.local/lib/python3.10/site-packages/traitlets/config/application.py\", line 1043, in launch_instance\n", " app.start()\n", " File \"/usr/lib/python3/dist-packages/ipykernel/kernelapp.py\", line 677, in start\n", " self.io_loop.start()\n", " File \"/home/accts/sbs5/.local/lib/python3.10/site-packages/tornado/platform/asyncio.py\", line 205, in start\n", " self.asyncio_loop.run_forever()\n", " File \"/usr/lib/python3.10/asyncio/base_events.py\", line 603, in run_forever\n", " self._run_once()\n", " File \"/usr/lib/python3.10/asyncio/base_events.py\", line 1909, in _run_once\n", " handle._run()\n", " File \"/usr/lib/python3.10/asyncio/events.py\", line 80, in _run\n", " self._context.run(self._callback, *self._args)\n", " File \"/usr/lib/python3/dist-packages/ipykernel/kernelbase.py\", line 461, in dispatch_queue\n", " await self.process_one()\n", " File \"/usr/lib/python3/dist-packages/ipykernel/kernelbase.py\", line 450, in process_one\n", " await dispatch(*args)\n", " File \"/usr/lib/python3/dist-packages/ipykernel/kernelbase.py\", line 357, in dispatch_shell\n", " await result\n", " File \"/usr/lib/python3/dist-packages/ipykernel/kernelbase.py\", line 652, in execute_request\n", " reply_content = await reply_content\n", " File \"/usr/lib/python3/dist-packages/ipykernel/ipkernel.py\", line 353, in do_execute\n", " res = shell.run_cell(code, store_history=store_history, silent=silent)\n", " File \"/usr/lib/python3/dist-packages/ipykernel/zmqshell.py\", line 532, in run_cell\n", " return super().run_cell(*args, **kwargs)\n", " File \"/usr/lib/python3/dist-packages/IPython/core/interactiveshell.py\", line 2914, in run_cell\n", " result = self._run_cell(\n", " File \"/usr/lib/python3/dist-packages/IPython/core/interactiveshell.py\", line 2960, in _run_cell\n", " return runner(coro)\n", " File \"/usr/lib/python3/dist-packages/IPython/core/async_helpers.py\", line 78, in _pseudo_sync_runner\n", " coro.send(None)\n", " File \"/usr/lib/python3/dist-packages/IPython/core/interactiveshell.py\", line 3185, in run_cell_async\n", " has_raised = await self.run_ast_nodes(code_ast.body, cell_name,\n", " File \"/usr/lib/python3/dist-packages/IPython/core/interactiveshell.py\", line 3377, in run_ast_nodes\n", " if (await self.run_code(code, result, async_=asy)):\n", " File \"/usr/lib/python3/dist-packages/IPython/core/interactiveshell.py\", line 3457, in run_code\n", " exec(code_obj, self.user_global_ns, self.user_ns)\n", " File \"/tmp/ipykernel_846934/756361379.py\", line 2, in \n", " from notebook import *\n", " File \"/home/httpd/html/zoo/classes/cs370/aima/notebook.py\", line 10, in \n", " import matplotlib.pyplot as plt\n", " File \"/usr/lib/python3/dist-packages/matplotlib/__init__.py\", line 109, in \n", " from . import _api, _version, cbook, docstring, rcsetup\n", " File \"/usr/lib/python3/dist-packages/matplotlib/rcsetup.py\", line 27, in \n", " from matplotlib.colors import Colormap, is_color_like\n", " File \"/usr/lib/python3/dist-packages/matplotlib/colors.py\", line 56, in \n", " from matplotlib import _api, cbook, scale\n", " File \"/usr/lib/python3/dist-packages/matplotlib/scale.py\", line 23, in \n", " from matplotlib.ticker import (\n", " File \"/usr/lib/python3/dist-packages/matplotlib/ticker.py\", line 136, in \n", " from matplotlib import transforms as mtransforms\n", " File \"/usr/lib/python3/dist-packages/matplotlib/transforms.py\", line 46, in \n", " from matplotlib._path import (\n" ] }, { "ename": "AttributeError", "evalue": "_ARRAY_API not found", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", "\u001b[0;31mAttributeError\u001b[0m: _ARRAY_API not found" ] }, { "ename": "ImportError", "evalue": "numpy.core.multiarray failed to import", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m/tmp/ipykernel_846934/756361379.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mlearning4e\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mnotebook\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mlearning\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mPluralityLearner\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mCountingProbDist\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mNaiveBayesDiscrete\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mNaiveBayesContinuous\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mNaiveBayesLearner\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mNaiveBayesSimple\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mPerceptronLearner\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mAdaBoost\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/httpd/html/zoo/classes/cs370/aima/notebook.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mcollections\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mCounter\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdefaultdict\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 10\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpyplot\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 11\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mnumpy\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 12\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mPIL\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mImage\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/lib/python3/dist-packages/matplotlib/__init__.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 107\u001b[0m \u001b[0;31m# cbook must import matplotlib only within function\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 108\u001b[0m \u001b[0;31m# definitions, so it is safe to import from it here.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 109\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0;34m.\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0m_api\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0m_version\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcbook\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdocstring\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrcsetup\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 110\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcbook\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mMatplotlibDeprecationWarning\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msanitize_sequence\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 111\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcbook\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mmplDeprecation\u001b[0m \u001b[0;31m# deprecated\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/lib/python3/dist-packages/matplotlib/rcsetup.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 25\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mmatplotlib\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0m_api\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcbook\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 26\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcbook\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mls_mapper\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 27\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolors\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mColormap\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mis_color_like\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 28\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfontconfig_pattern\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mparse_fontconfig_pattern\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 29\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_enums\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mJoinStyle\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mCapStyle\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/lib/python3/dist-packages/matplotlib/colors.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 54\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mmatplotlib\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mmpl\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 55\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mnumpy\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 56\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mmatplotlib\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0m_api\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcbook\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mscale\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 57\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0;34m.\u001b[0m\u001b[0m_color_data\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mBASE_COLORS\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mTABLEAU_COLORS\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mCSS4_COLORS\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mXKCD_COLORS\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/lib/python3/dist-packages/matplotlib/scale.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 21\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mmatplotlib\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mmpl\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 22\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mmatplotlib\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0m_api\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdocstring\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 23\u001b[0;31m from matplotlib.ticker import (\n\u001b[0m\u001b[1;32m 24\u001b[0m \u001b[0mNullFormatter\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mScalarFormatter\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mLogFormatterSciNotation\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mLogitFormatter\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 25\u001b[0m \u001b[0mNullLocator\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mLogLocator\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mAutoLocator\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mAutoMinorLocator\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/lib/python3/dist-packages/matplotlib/ticker.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 134\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mmatplotlib\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mmpl\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 135\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mmatplotlib\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0m_api\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcbook\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 136\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mmatplotlib\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mtransforms\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mmtransforms\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 137\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 138\u001b[0m \u001b[0m_log\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlogging\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgetLogger\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0m__name__\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/lib/python3/dist-packages/matplotlib/transforms.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 44\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 45\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mmatplotlib\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0m_api\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 46\u001b[0;31m from matplotlib._path import (\n\u001b[0m\u001b[1;32m 47\u001b[0m affine_transform, count_bboxes_overlapping_bbox, update_path_extents)\n\u001b[1;32m 48\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0;34m.\u001b[0m\u001b[0mpath\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mPath\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mImportError\u001b[0m: numpy.core.multiarray failed to import" ] } ], "source": [ "from learning4e import *\n", "from notebook import *\n", "from learning import PluralityLearner, CountingProbDist, NaiveBayesDiscrete, NaiveBayesContinuous, NaiveBayesLearner, NaiveBayesSimple, PerceptronLearner, AdaBoost" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Iris in Wonderland\n", "\n", "\n", "\"setosa\"\n", "

\n", "Setosa\n", "

\n", "\"versicolor\"\n", "

\n", "Versicolor\n", "

\n", "\"viginia\"\n", "

\n", "Virginia\n", "

\n", "Fisher's Iris data set\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## MACHINE LEARNING OVERVIEW\n", "\n", "In this notebook, we learn about agents that can improve their behavior through diligent study of their own experiences.\n", "\n", "An agent is **learning** if it improves its performance on future tasks after making observations about the world.\n", "\n", "There are three types of feedback that determine the three main types of learning:\n", "\n", "* **Supervised Learning**:\n", "\n", "In Supervised Learning the agent observes some example input-output pairs and learns a function that maps from input to output.\n", "\n", "**Example**: Let's think of an agent to classify images containing cats or dogs. If we provide an image containing a cat or a dog, this agent should output a string \"cat\" or \"dog\" for that particular image. To teach this agent, we will give a lot of input-output pairs like {cat image-\"cat\"}, {dog image-\"dog\"} to the agent. The agent then learns a function that maps from an input image to one of those strings.\n", "\n", "* **Unsupervised Learning**:\n", "\n", "In Unsupervised Learning the agent learns patterns in the input even though no explicit feedback is supplied. The most common type is **clustering**: detecting potential useful clusters of input examples.\n", "\n", "**Example**: A taxi agent would develop a concept of *good traffic days* and *bad traffic days* without ever being given labeled examples.\n", "\n", "* **Reinforcement Learning**:\n", "\n", "In Reinforcement Learning the agent learns from a series of reinforcements—rewards or punishments.\n", "\n", "**Example**: Let's talk about an agent to play the popular Atari game—[Pong](http://www.ponggame.org). We will reward a point for every correct move and deduct a point for every wrong move from the agent. Eventually, the agent will figure out its actions prior to reinforcement were most responsible for it." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## DATASETS\n", "\n", "For the following tutorials we will use a range of datasets, to better showcase the strengths and weaknesses of the algorithms. The datasests are the following:\n", "\n", "* [Fisher's Iris](https://github.com/aimacode/aima-data/blob/a21fc108f52ad551344e947b0eb97df82f8d2b2b/iris.csv): Each item represents a flower, with four measurements: the length and the width of the sepals and petals. Each item/flower is categorized into one of three species: Setosa, Versicolor and Virginica.\n", "\n", "* [Zoo](https://github.com/aimacode/aima-data/blob/a21fc108f52ad551344e947b0eb97df82f8d2b2b/zoo.csv): The dataset holds different animals and their classification as \"mammal\", \"fish\", etc. The new animal we want to classify has the following measurements: 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1 (don't concern yourself with what the measurements mean)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To make using the datasets easier, we have written a class, `DataSet`, in `learning.py`. The tutorials found here make use of this class.\n", "\n", "Let's have a look at how it works before we get started with the algorithms.\n", "\n", "### Intro\n", "\n", "A lot of the datasets we will work with are .csv files (although other formats are supported too). We have a collection of sample datasets ready to use [on aima-data](https://github.com/aimacode/aima-data/tree/a21fc108f52ad551344e947b0eb97df82f8d2b2b). Two examples are the datasets mentioned above (*iris.csv* and *zoo.csv*). You can find plenty datasets online, and a good repository of such datasets is [UCI Machine Learning Repository]\n", "(https://archive.ics.uci.edu/). Another popular online source\n", "is (https://www.kaggle.com/datasets), which is the provenance of\n", "the hw6 Titanic database.\n", "\n", "In such files, each line corresponds to one item/measurement. Each individual value in a line represents a *feature* and usually there is a value denoting the *class* of the item.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Importing a Dataset\n", "\n", "#### Importing from aima-data\n", "\n", "Datasets uploaded on aima-data can be imported with the following line:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "iris = DataSet(name=\"iris\")" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "150" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(iris.examples)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "When importing a dataset, we can specify to exclude an attribute (for example, at index 1) by setting the parameter `exclude` to the attribute index or name." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['setosa', 'versicolor']\n" ] } ], "source": [ "iris2 = DataSet(name=\"iris\")\n", "\n", "iris2.remove_examples(\"virginica\")\n", "print(iris2.values[iris2.target])" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "100" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(iris2.examples)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## IRIS VISUALIZATION\n", "\n", "Since we will use the iris dataset extensively in this notebook, below we provide a visualization tool that helps in comprehending the dataset and thus how the algorithms work.\n", "\n", "We plot the dataset in a 3D space using `matplotlib` and the function `show_iris` from `notebook.py`. The function takes as input three parameters, i, j and k, which are indices to the iris features, \"Sepal Length\", \"Sepal Width\", \"Petal Length\" and \"Petal Width\" (0 to 3). By default we show the first three features." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "

\n", "\n", "
def show_iris(i=0, j=1, k=2):\n",
       "    """Plots the iris dataset in a 3D plot.\n",
       "    The three axes are given by i, j and k,\n",
       "    which correspond to three of the four iris features."""\n",
       "    from mpl_toolkits.mplot3d import Axes3D\n",
       "\n",
       "    plt.rcParams.update(plt.rcParamsDefault)\n",
       "\n",
       "    fig = plt.figure()\n",
       "    ax = fig.add_subplot(111, projection='3d')\n",
       "\n",
       "    iris = DataSet(name="iris")\n",
       "    buckets = iris.split_values_by_classes()\n",
       "\n",
       "    features = ["Sepal Length", "Sepal Width", "Petal Length", "Petal Width"]\n",
       "    f1, f2, f3 = features[i], features[j], features[k]\n",
       "\n",
       "    a_setosa = [v[i] for v in buckets["setosa"]]\n",
       "    b_setosa = [v[j] for v in buckets["setosa"]]\n",
       "    c_setosa = [v[k] for v in buckets["setosa"]]\n",
       "\n",
       "    a_virginica = [v[i] for v in buckets["virginica"]]\n",
       "    b_virginica = [v[j] for v in buckets["virginica"]]\n",
       "    c_virginica = [v[k] for v in buckets["virginica"]]\n",
       "\n",
       "    a_versicolor = [v[i] for v in buckets["versicolor"]]\n",
       "    b_versicolor = [v[j] for v in buckets["versicolor"]]\n",
       "    c_versicolor = [v[k] for v in buckets["versicolor"]]\n",
       "\n",
       "\n",
       "    for c, m, sl, sw, pl in [('b', 's', a_setosa, b_setosa, c_setosa),\n",
       "                             ('g', '^', a_virginica, b_virginica, c_virginica),\n",
       "                             ('r', 'o', a_versicolor, b_versicolor, c_versicolor)]:\n",
       "        ax.scatter(sl, sw, pl, c=c, marker=m)\n",
       "\n",
       "    ax.set_xlabel(f1)\n",
       "    ax.set_ylabel(f2)\n",
       "    ax.set_zlabel(f3)\n",
       "\n",
       "    plt.show()\n",
       "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psource(show_iris)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "(https://matplotlib.org/3.9.0/api/pyplot_summary.html \"matplotlib\")\n", "\n", "(https://matplotlib.org/3.9.0/api/markers_api.html#module-matplotlib.markers \"marker styles\")" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbIAAAGRCAYAAAAASzaEAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOz9eXwkd3Xuj7+reldr39cZafZ9H9ujAWNjY2MwFy5bWG4C5IZfCIQkcAmLEyAkvmBu8oWEkGvMGghczGbALDbG+zJjexbt0mjfRru6W+pu9V5Vvz96qqZb6pa6pW6NNNTzes3LY02rPtXV1Z+nzjnPeY6gKIqCDh06dOjQsUkhXusT0KFDhw4dOtYCnch06NChQ8emhk5kOnTo0KFjU0MnMh06dOjQsamhE5kOHTp06NjU0IlMhw4dOnRsauhEpkOHDh06NjV0ItOhQ4cOHZsaOpHp0KFDh45NDZ3IdOjQoUPHpoZOZDp06NChY1NDJzIdOnTo0LGpoROZDh06dOjY1NCJTIcOHTp0bGroRKZDhw4dOjY1dCLToUOHDh2bGjqR6dChQ4eOTQ2dyHTo0KFDx6aGTmQ6dOjQoWNTQycyHTp06NCxqaETmQ4dOnTo2NTQiUyHDh06dGxq6ESmQ4cOHTo2NXQi06FDhw4dmxo6kenQoUOHjk0Nnch06NChQ8emhk5kOnTo0KFjU0MnMh06dOjQsamhE5kOHTp06NjU0IlMhw4dOnRsauhEpkOHDh06NjV0ItOhQ4cOHZsaOpHp0KFDh45NDZ3IdOjQoUPHpoZOZDp06NChY1NDJzIdOnTo0LGpoROZjnWHoihIkoSiKNf6VHTo0HEdwHitT0DHHxZkWSYcDuP3+xEEAaPRiNFoxGAwYDAYEAThWp+iDh06NhkERX8s1rEOUKOwSCSCLMuEQiEgSmwqeYmiqBObDh060oZOZDqyDkVRmJubIxwOk5eXB0AoFEIURe3f1T+Lic1kMmEwGDAajYiiqBObDh06lkBPLerIKtToa2xsDL/fz6FDh+LICkAQBO3/DQZDHLEFAgHtNSqxqRGbTmw6dOgAnch0ZAlqKjEcDqMoCqIoxok71L8nIiKd2HTo0JEOdCLTkXEoikI4HEaSJCCaIlxMZOkgVWJTyc1qterEpkPHHxB0ItORUahRmCzLS4gkU+XYZMQ2OTnJxMQEhw4d0sgzVjyiE5sOHdcndCLTkREoikIkEiESiQAsIY3Yv8/PzzMyMkJ+fj5FRUXYbLY1EUxsNKZK+tXUpiRJBINB7d91YtOh4/qDTmQ61gy1N0yWZSA+YlIhCAKyLDM4OEhvby8VFRVMTU3R09OD2WymqKiIoqIiCgsLsdlsqz4XRVHiiE39WSJiU9WQ6n8TnbcOHTo2PnQi07FqqHL5ZKnEWEiSxPz8PF6vl5MnT2pRmCzLzM/P43K5GBsb49KlS1gsFo3YioqKsFgsazrPZMQWiUQIh8Pav6uEppKbTmw6dGwO6ESmY1VIJOhItuk7HA4GBgYQRZHGxkaMRqPWEG0wGCguLqa4uBiASCSiEdvo6CidnZ3k5OTERWxmsznhOqmSTjrEpvaxqalIHTp0bDzoRKYjbahRmCRJyxKYLMv09/czNDRERUUFgUAAk8m0rOjDaDRSUlJCSUkJAOFwmLm5OVwuF0NDQ3i9Xux2exyxmUwm7fdXIyhJldgWu47oxKZDx8aATmQ6UsZim6nlSCwQCNDS0kIoFOKmm27C7XYzNjaW9pomk4mysjLKysqAqCOISmz9/f34fD7y8vIoLCxck8Q/FsmIbXR0lJmZGQ4cOJDQTksnNh06rg10ItOREtJJJU5PT9PW1kZFRQXHjx/HaDTi8XgyQjJms5ny8nLKy8sBCAaDuFwuXC4XDoeDUCjE+fPntYitoKAAg8GwpjWTqSLD4TChUEiP2HTouMbQiUzHiliuNywWsizT3d3N2NgY+/bto7q6Ou7fs2HrabFYqKyspLKykunpaQYHB6mpqcHlctHV1UUoFNJk/iqxrZVgEkVsaro1HA5rr4klNlUVqUOHjsxDJzIdSRHbG6baTCXbjBcWFmhpaQGgsbGRnJycuH/PVNpvOajkUlVVRVVVFYqi4Pf7tVTk+Pg4kUiEgoICjdjy8vJSJrZk568KQ2JfpxKbGrGJophQFalDh461QycyHQkhyzKRSCSlVOL4+DgdHR3U1dWxa9eupMSw3oMWBEEgJyeHnJwcqqurURQFn8+npSJHR0eRZXkJsa2VYNIhtlhVpE5sOnSsDjqR6YhD7KYb21ycCJFIhM7OTmZmZjh8+LBWt0qE9dqklyNLQRCw2+3Y7XZqa2tRFIWFhQWN2IaHhwEoLCzUFJG5ubkZJTb1/BIRmz6LTYeO1UEnMh0aFEXB6/UyMTFBXV3dsiTmdrtpaWnBYrFw+vRprFbrsscWBGFdUovpvj43N5fc3Fzq6upQFAWPx4PL5cLpdGq9byqxhUKhNb+HWI9IiCc2j8dDW1sbJ06c0IlNh440oBOZDuBqhODz+ejt7WXr1q0JX6coCiMjI/T09NDQ0MD27dtT2mDXg8jU81stBEEgPz+f/Px8tm7dqpGLy+ViZmaGubk5ADo6OjRyy4RPJKCpHP1+PwaDQZvjpjaO68SmQ0dy6ET2B47FvWGqm3wihEIh2tvbmZ+f5/jx45obRypYLyLLJERRpKCggIKCAurr6xkdHWVychKbzZbQJ7KoqGjFyHQ5xM5oi43Y1D/BYDCO2PTp2Tp0RKET2R8w0pkb5nK5aGlpIS8vj9OnTye1iUqGxUSWDWLL9kaukse2bduAq/6RmfSJTGS2rA8Z1aFjeehE9gcKNXW1uDdMNfJVoSgKAwMDDAwMsHPnTrZu3bqqDXIzpBZTQex7z6RPZKrnrhObDh1LoRPZHxjUVKKqSkw2N0xRFEKhEK2trfj9fm644QYKCgpWve5GFHtkGsv5RA4ODrKwsLCsTySsTrCSCrEt7mHTiU3H9QSdyP6AkEpvmNoDNjMzQ3t7OyUlJRw9ehSjce23ymarka0VqfpEJiO11SAZscmyTCAQYGZmBlEUqaio0IlNx3UDncj+AJBOb5hKNi0tLZrNVCY2uI3QR3atsZxPZE9PjxZB9ff3Z9wnEqLE5vF4EEWR0tJSJEkiEAhotVGd2HRsVuhEdp0j1mYKEk9vVuHz+Whubgbg5MmTFBYWZuw8/hBSi+ki1icSYHZ2lvb2doLBYNZ8IuGqDyQkn569WBWpDxnVsZGhE9l1jNi5YbEmt4kwOTlJe3s7VVVVuN3uJV6Ja8X1IvbIJiwWCwaDgX379mk+kS6Xi7m5uTX7RKpQI3IVyUbWqC0Z+vRsHZsBOpFdh0hnbpgkSVy6dImJiQkOHDhAeXm55kGYSWzGPrLFyPb5L25PUH0ia2pqMuYTuZjIFkOfnq1jM0InsusM6cwN83q9NDc3YzQaOX36NDabTdtMs9HjFXvMcDiccXeK6yFCSPYe0vWJLCoqwm63LzneSkSWaF2d2HRsdOhEdh0hWW/YYiiKwtjYGF1dXWzdupUdO3ZoG4+6MWWLyBRFYXBwkN7eXgwGQ1zzcE5OzprJaDNHfemc+3I+kQ6HY4lPpHp90yWyROsuR2wQfUCy2Wzk5eXpxKZjXaAT2XWAlXrDYhEOh+no6MDpdHL06FFKS0uXvGZxU3QmoB7z4sWLeL1ejh07hqIozM3NMTMzQ19fH0ajkeLi4lXbPV3PEVkqv7ecT6R6fdXPwefzrdknUl13MbGNjIxQVFQUV0vTp2fryCZ0ItvkSCeVOD8/T3NzMzk5OZw+fTqpfVI2IjK3262d36lTp4BoBFlYWEh9fT2SJOF2u3E6nZrdk9Vq1YhtJVeM6wGZvOaLfSJlWWZ+fp7u7m48Hg8vvfRSRn0iVaj3jtFoxGQy6dOzdawLdCLbxFCjsFRSiUNDQ/T19bF9+3YaGhqW3TgyOc1ZXbu3txeAw4cPIwiCtqmpiE0zQtTuabErRm5uLkVFRRQXF1NQUJCwSXuzpxaztaGLoqilF4uKiqiurs64T6QKWZbjLM9WGjIaS2z69Gwdq4FOZJsQqv1QJBJZ0fk8FArR1taG1+tNuTcsUxGZurbH4+HIkSNcvHgx5d81Go2UlpZqqc9QKKQJG7q7uwkGg0t6rPTNb2WoZJnIJ3Jubo65ublV+UQmWiMRUiE2fXq2jnShE9kmg/ql7+zsxGQysWvXrqRfcofDQWtrK4WFhTQ2NqZsgZSJGtnc3BzNzc3k5+dz+vTpNR/PbDZTUVFBRUUFgNZj5XK5tB6r3NxcJEnC4/FkZLJzImRzQ81mRLbSGosfHFbjE6lCzRCkglSJTZ/FpmM56ES2SRD7BVc3imSbkizL9Pf3MzQ0xO7du7Vpz6liLanF2DRmrFu+OkcrU5u1zWbDZrNRXV2tSdEnJibweDxcvHgRQRAyrohcD1wrIluMdHwi1Yg41i1ktWKOWGKLnZ4dCoXiXEd0YtMRC53INgESCToMBoP2/7Hw+/20trYSCoW46aabyMvLS3u91UZk4XCYtrY23G73kjRmrKt+pqFK0SsrK5mcnOT06dN4vV6cTqem2DOZTBkXNmQa6+V8sppNfzmfSDXVqxJbJBLJyHuJ9YhUzx2ixNbX10ckEmHbtm06senQiWyjI9Zmarm5YQDT09O0tbVRUVHB8ePHV+1Yv5oamZpKzMvLo7GxcUk9JZbIsr3JiKKoSdFVReRiYYPNZosjtkw4z2cCGyUiWwmLfSL9fr8WsQWDQdrb2ykoKND62DLhExlLbLEPdYmmZ+vE9ocFncg2KFaymYpN/8myTHd3N2NjY5pj/VqQTmpRURSGh4fp7e1lx44d1NfXJ9w0Fkdk2dpYEp13MmGD0+lkcHCQ9vZ2cnNz46T+a3WdXw02ckS2EtRUb1VVFS6Xi+3btyNJUlwNc60+kbGQZTmuH23xLLZgMJjUAFl39r/+oBPZBkQqvWGiKCLLMgsLC7S0tADQ2NiYEbPfVFOLsanEEydOaNL5ZMeE7G7WqW5OyRSRTqdziSKyuLiY/Pz8dWvg3SwR2Upr2Gw2CgoKEvpEjoyMoCgKhYWFWsSWik9kLGRZTjiUNDZq06dn/+FAJ7INhlR7w0RRZGFhgTNnzlBXV8euXbsyttmmklpUm6tzc3MTphITHRM2Zp9XMkWk2pytmvOKoqjVf7Kx8W3miGzxGrH3YiKfSK/Xq6Uih4aGEARhRZ/IWKSijEyV2PTp2ZsfOpFtEMTODVvJZioSiWgKvWPHjmnKskxhudRiqqnEZFhPB/nVIpEiUk2R+Xw+nnvuOW3DLS4uzojVk4rrISKLbYhOBEEQyMvLIy8vLy2fyNhjrkYZmYzY1OnZgD5kdJNCJ7INAFmWiUQiKdlMud1ubfhlYWFhxkkMkqcWw+Ew7e3tzM/Pr5hKTHRMyG6NLFvHVM15AZxOJ/X19XEehrGKyOLi4lU7YlyvEdlKSNUnMraHTRU/rQXLEVswGMTv9zM+Pk5tbS0Wi0Untg0MnciuIWJ7w9QNZjmbqZGREXp6emhoaMBqtTI+Pp6V80qUWkw3lbjScTdiijEVCIIQ52G4WBHZ1dUV54iRriLyeojI1rrGYp9I1YfT5XIxMTFBd3e3ZnOmWptlyicy9rzD4TADAwOaMlOfnr1xoRPZNcJiQcdyX4ZQKKRFQsePH6e4uJiJiYmMO9SriE0txhJoKj6NyyEbZsSLsd4EmUgRqYoaVEVkbOPwcorI6yEiU6OaTIpjFvtwSpLE+fPnMZlMcQbTsanI1UbFsVA/D7PZrH0nYtXE6ndWn5597aET2TVAst6wRHC5XLS0tJCXl8fp06e1SEhVLWYDampRTSXOzc2lnUpMdtxsYiNsHkajMc4RI1HjcKwMfbEicqNHS6kcH7L7PtTesKqqKsrLy+MMptfqExmL2IdM9b9qRAbLDxldXGPTkV3oRLaOWKk3bPFrBwYGGBgYiLN6UpEJP8RkEAQBv9/PmTNnsNvtcQS61uNu9ogs3Q06UeOw0+nE5XJx+fJlbZRNUVERkiSty/XJJsmo9+R6CkpS8YnMzc3VrvNyPpGL11iumTodYtOnZ2cXOpGtE9KZGxYIBGhra8Pv93PDDTdQUFCw5DWZHLWy+Dz9fj/T09Ps3LlzTanExVgPItvosNls1NTUaP1VqiJSJTdFUWhra9OaszOpiIT1i8iyvVkvJ79fi09kLNIVlKxEbJDYdUQntrVDJ7J1gGp6ulIUBjAzM0NbWxslJSUcPXo0qc1UNlKL6vRor9dLTU0N27Zty+jxs01kGyG1mA5iFZF1dXWMj49z+fJl8vLymJqaoqenJ2745VoUkSqup4gsVQJIxydSJTaDwZDWGomQjNhUZ3/QiS1T0Iksi1BTiaoqcTkSk2WZ3t5eRkZGNJup5TaDTBOZKuvPycmhvLw8I8XyxbgeUovZhCAImEwm6uvrlygiL1++vGZFJFwfNTJIj8gWYzmfyK6uLkKhEAUFBZoScq2EpiIRscmyjMPhoK+vj2PHjiEI+vTs1UAnsixBHS0viqKmekp2Q/p8PlpaWpBlmVOnTmk9S8shU0SmKAqjo6N0d3ezbds2tm3bRmdnZ9Zc6tdro9uMWHzNYxWR27dvX1L7SUcRGYtsR2TrodrLpDIy1idSTa27XC4mJycJhUI8++yzGfWJVKHWz1RCU6PARNOzz549y44dO2hoaMjAO77+oBNZhhHbG9bR0UFFRQVbtmxJ+vrJyUna29uprq5m9+7dKZvVZkLsEYlEaG9vx+VyabL+TB07GVR7oLa2NsLhsLZRZ8LPcLOT40rR0uLaT7qKyFTWyMR7WI/UWKaipMUQBIGcnBxycnIwGo2Mjo6yd+/ehD6R6sNDuj6RixErKkk2ZPTv//7v+cu//EudyJJAJ7IMItZmCq66BSSCJElcunSJyclJDh48qPn8pYq1ij3UVKLNZqOxsTEulZitFKAgCFpjdUlJCaWlpVojsareU4ltLYMwN7MXYjrnHZsii40kEikii4qKyM3NXRciW48HimwRWSwkScJgMCT0iXS5XMzNzTE4OJi2T2SydRYjlth8Ph92uz1j7+16g05kGUJsb5iaB0+W/vN4PLS0tGA0GmlsbMRms6W9nnrsdDeORKnExb8vimLCoZ1rgUryvb297N27l6qqKiKRiKbeUzcHh8NBf38/RqNRU+6lKnK4HiKy1SI2kohVRKpqyMHBQe3hZ2pqivLy8owrImFln8VMIBtN14mQiCxjfSK3bNmCLMtx924qPpGLkYzIVKif5WqG5P6hQCeyNWK53rDFhKAoCpcvX+bSpUts3bqVHTt2rPrLGFswTnXjiEQidHR04HQ6OXbsGCUlJQlfl+nUYigUoq2tjUgkwp49e6irq4u7Lok2h/n5ec19vqurC7vdrpFaYWHhskND1ysqyAYy2eqgKiJjr2lTUxOzs7MMDg5qikj1gSFTbhjrQTCwPhL/lVL9sUNcVZ9I1U4rmU/k4geIVGT+ai+cjsTQiWwNWKk3TC3ewlVpu8vl4ujRo1rz5mqh3vipplg8Hg9NTU0JU4mLkcnUoppKzMvL0yKGlSCKYpwlUTgc1lJmvb29BAKBazYvLJvIZupS9S8EOHToEAaDQXtYiHXDiB0uupqp2esRka0Xka3GmFiNxgoLC7VjLPaJjG2pUBvhVyJMn8+nE9ky0IlslUilN0yNyNTN3G63r0giqUJdb6XNLzYKbGhoYPv27StuNJloto5NYaoejWfOnInzcEx1DZPJFNcHlGheWGFhIfn5+dqxNyvWSxq/2CMyVhG5uGm4uLhY661KZY31isjWgzDXOik8kU/k3Nwcc3Nzmk+kwWDAbDYzOTmZMDJWB+jqNbLk0IksTaTTGyYIglZ4X83sruUQG5Elg5pKdDgcy6YSE533WlKLkUiEzs5OZmdnl6ghszEvTK1RzM7OAnD27Nm062sbAevVY5foHlxOERnbW6Ve02QS9OspIsuGoMRgMFBSUqJ9F9XvaCgUYmRkZIlPpFo/VxQlqzWy+vp6hoeHl/z8gx/8IP/xH/+RtXUzBZ3I0kA6NlOhUIjp6WmCwSAnT57UUg2ZgrpuMsLxeDw0NzdjsVg4ffp0Wpv5WgjH6/XS3NyMyWSisbExbrxGNtSQsfW1yspKnn/+efbu3as98aZbX7vW2CjNyqtRRKqf72YkmESQJGlV6dV0YDQaMZlM5Ofn09DQsKRX8M/+7M80g+Snn36a17zmNRnfSwDOnTsXV7dub2/nNa95DW9729syvlY2sHG/0RsMahSWis2Uw+GgtbUVk8lEaWlpVm48VRm5mMgURdE28Pr6enbs2JH25rja1OLk5CRtbW1s2bKFnTt3Jtxs1sOiqrCwUHvizXR9bT2IJtvHT/c9JFJEqlFwrCKyqKgIo9GopY2zda3Wi8gykVpMd53FkfGjjz7KT3/6U/7lX/6FT3/607zjHe/g2LFjfPazn+Xuu+/O2DksHtB73333sX37dl71qldlbI1sQieyFbC4N2wlm6n+/n6GhobYvXu3lg/PFhanAGNTeumkEhMdN51NVZZluru7GRsb49ChQ0l74rJldLwYsWukWl/LRP9aJrBRIrLlkEhlqgoapqam8Pl8nDlzRkvvZkoRqWK9mq4zMYU61XWSEWZNTQ233nor//Iv/0JXVxcTExM89dRT1NbWZu18QqEQ3//+9/noRz+6adS/OpEtA7U3LLa4nOyD9fv9tLa2EgqFuOmmm8jLy2NkZCTj/VixiCWG2FTi4pReukinRhYIBGhubkaSJBobG1dUJV5r0+Bk9bW19K9lCpvVhzJWqWe1WpmYmGDr1q1x88HU9O5aFJEq1otg1jOFudw6Xq9XE3pUV1fz7ne/O6vn84tf/IK5uTne+973ZnWdTEInsgSItYZJJZU4PT1NW1sbFRUVnDhxQnu6ipXfZwOqKlI1lF1tKjHRcVPZ9GZnZ2lpaaGiooK9e/eumIbZaGNc0u1fy+ZnGXtO2YKa7su216IoinGCBrXu43Q64xSR6gNDqopIFetpg7UeqcWV5Pfr3UP2rW99i7vuuovq6up1W3Ot0IlsEdIRdMSm1Pbv309VVVXcv2dzijNEN72+vj48Hk9GetNij7sc4SiKQn9/P4ODg+zduzflNEfsddyItaaV+tf8fj8mk4mBgYGs9K9t9qGa6hqLr0kiRaTqOJKOIlLFRomUMrnOckTm8/nWLeU9PDzM448/zkMPPZT1tTIJnchiEGsztVIUtrCwQEtLC0DSlFo2iczj8RAMBjWbq7WkEhdjudRiKBSitbUVn8/HjTfeqPVupXrca51aTAeL62v9/f04nU58Pl/W6mub3QcxFfm9xWKhqqpqidu80+lcoogsLi5e4l14vYk9ViIyr9e7bhHZd77zHcrLy3n961+/LutlCjqRsbzNVCKMjY3R2dlJXV0du3btSvqlyoZnIaClEo1GIzt37swoiUHy1OLc3BzNzc0UFBRw6tSptOscGy21mC6MRiM2m40DBw5kpb52vUZkyyEdRWRsivd6q5GtlFpcj2ZoWZb5zne+w3ve854N3aKSCJvrbLOAdFKJqipwZmaGI0eOLJGsLkama2SRSISuri6mp6c5cuQIvb29GTt2LBZHZIqiMDIyQk9Pz5oau9drHtl6udRn0h8y9rjZwkaJyJbDSorInp4ebdhkMieMTGE9RSUboUb2+OOPMzIywp/+6Z9mfa1M4w+ayNLpDVPHnlitVk6fPp1SFJTJ1GJso7G6fn9/f1ZSl7GEE2s0HOvSsdbjZgPXUiqcqL6mChxS7V+7XiKyTK4Rq4hsaGhAkiT6+vpwOBwJFZFqL1smsB6pxdihmsmwXhHZHXfcsWkzJn+QRKb2hvX09GA2m6mrq0v65YuNRlL1KlSRKSJTU5mLHfOzVYNTU4ter5empiZN0r/WJ9/FRLZZelRWg8UCh+X619QZVrD5I7JsKwoNBgM2m428vDwOHjwYJ8jp7+/H7/fHTc1OVxEZi/WIyGIzQcmg+yyujD84IpNlmUgkgiRJBAKBZVMhoVCI9vZ23G73qqKRtdbIJEmis7NTSyUuTmVmi8gEQSAcDnP27Nk1j5tZjPVuiN4oSKV/zWg0YrFYCAaDWUmXrcd1WS+vRfV+XCzICQQCcR6R4XCY/Px87YFhJUWkCjVSWi8iWykiW6mM8YeOPxgii+0NU59MDQZDUqJxuVy0tLSQn59PY2MjZrM57TXVGtlqnoQTpRIXIxupOlmWGR4eJhwOc+zYMW2DyASu59RiOkhWX+vv78fr9fLCCy9kxR/yeojIYHkRhtVqXaKIVKX+IyMjKIoSl4ZMNs1ZvU+znVqMHcSbDAsLCzQ0NGT1PDY7/iCIbLGgQ20KNRgMhEKhJa8dGBhgYGCAnTt3snXr1lV/+Vcz/BJgfHycjo6OZT0L1eNnMiLz+/00NzcTiUS0J91MYrOrFrMFtb5WUFCgmcemW19LBetFMtne/FONlGIVkbW1tQkjYXXMihqxqW7zqaT8MoFUZ5HpqcXlcd0T2XK9YYtVhYFAgLa2Nvx+PzfccIM2iHC1SHf4pSRJdHV1MTU1lZIqMpNENjMzQ2trK5WVldTU1HDhwoWMHDcW60VkmznqEwRhVfW1VM7reonIVrtGMkWk0+nUhl5aLBYtBQkbYwr1evaRbVZct0SWSm9YbGpxZmaGtrY2SktLOXr0aEZSOeoNKknSisdTU4lqg7P6ZLgcMkFkiqLQ19fH0NAQ+/bto6amBo/Hk7XaG1yt/Tmdzrin4bWOzNgsqcVkSLZBZ8of8nqqkWXi+5lomrM6QuXy5ctAdLxJNhSRKlKNyLI5i+x6wHVJZKn2hhkMBiKRCN3d3YyMjGgbeaaw0swwFammEhMdfy2EEwqFaGlpwe/3a0bHkD2XekEQCIVCvPTSSwiCwLZt23C73QwODtLR0aH5763V/ul6Tl+upX/teonIsiXCiB16WVlZyfnz52loaMiKIlJFKkS2sLCwohn3HzquOyKTZZlQKJRSb1gkEmFubo5QKMSpU6cyHr6rRdxkgpLYVOLhw4fTrkmthXBcLhfNzc0UFhbS2NgY96SZrRRgIBDA4XBQW1vLrl27iEQi2sgX1X/P6XTS1taGLMvaZlxcXIzNZktpE97MjdarIZp0+tfWI2Jdr6br9SBLo9G4oiJS9YhMRxEZi5Uk/oqisLCwoEdkK+C6ITI1laiqElciscnJSXp7ezEajdx0001ZK1AnS/8tLCzQ3NyMwWBIOZWY6rGXg6IoDA8P09vbm1TMohJZpjYlVUAzOztLSUkJ+/btW3Lei/33vF4vTqeTmZkZent7sVgsGqllIg25EZEJolyuvuZwOJAkiZaWlrTra6liveX32UIiglmsiPT5fBqxpaOIXLxOKhGZXiNbHtcFkcX2hsHyNlOxUVB9fT3T09NZVVklsqmamJigvb097VTiYoiiSDgcTvn1kUiE9vZ2XC4XJ06c0J7iEx0XMvN0HQ6HaW1txev1UllZmVIbQ2z6bOvWrVrtwul0Mjg4SHt7e1xvUEFBQdw13MypxUyTQGx9bWJigtHRUYqKirI2f229oqX1IMvl9gVBELDb7djt9jhFpPrAoF7bWGJL9LCqqxYzg01NZIl6w5a7wT0eDy0tLZqgwu/3MzExkdVzjI2aJEni0qVLTE5OriqVuNyxV4I6eNNqta7o0qFew7USgsfjoampiZycHE6dOsXg4OCqGsRjaxcQn4ZUVXyx6bXNSmTrcd5Go5EtW7Zk1B8yFtdTajFd8+PYhy/12rpcriWKSPXBwWw2r0hkkiTh8/n0iGwFbFoiU22mIpEIsPz0ZkVRuHz5MpcuXYpzqlBradmEWiNTU4miKK46lbgYqYo9VDFJqoM3Y0Uqq41Wk62Zic06WRpydnYWRVFoamqipKRES0VupjTkelpUZcIfMtEaG41kVoO12lMtvraRSER7aBgeHqajowO73Y4oiphMJiKRSMKHhoWFBQC9RrYCNiWRxfaGrdQVHw6H6ejowOVycezYMe2pHrI3ZiUWBoMBh8NBS0uLJnLI1JdwJbFHbASYSl9a7HFhdaQTO2x0cdSZDRHJ4ifhp556ioaGBnw+n7ZhxKohF6chNxKutZgkE/1r10uNLNNrGI3GuKxCKBRibm6OwcFB3G43zz33nKaIVB8aDAYDPp8PIKsR2djYGJ/4xCd45JFH8Pv97Nq1i29961scP348K+sFAgHtfrJYLFgsFsxmMxaLZdXqzE1FZOnODZubm6OlpQW73Z4wnbacRVUmoPo5jo6OcujQIU2hlyksl1r0+Xw0NzcjCELaEWCqbQOLEQgEaGlpIRKJJBw2uh6qObU3SG2jiJ1G3NHRgSRJGR+GmUlsJNPg1fSvXU8RWTZr52azmfLychwOhyYiUYUjHR0dRCIRvvWtb1FWVkZ5eXnW3q/L5eL06dPceuutPPLII5SXl9Pf36/11mUaL7/8Ml/96leZmpoiEolgMBi0jElpaSnf/e53V3XcTUNk6cwNUxSFoaEh+vr6lp2fZTAYsmYOqk6QliSJHTt2ZJzEIDmRTU9P09bWRlVVFXv27En7va0mDajK+UtKSti/f3/CTeBaOHssTkMuLCzEFeRNJlOcGnI1nprZOO9sHX+1RJlK/1pOTg6hUAi3250xf8hEuF7IEq4S5mJF5MLCAufPn+fxxx/H6XRSVlbGq171Km677Tbe/OY3U1tbm5H1v/jFL1JXV8d3vvMd7Wf19fUZOfZiOBwO/vqv/5qFhQXe8IY3YDKZCAQCBINB3G635qS0mvt0UxBZOr1hoVCI1tZWFhYWOHny5LJPFrHOG5m8aScnJ2lvb6empgaTybRu0n5FUejt7WV4eJj9+/dTXV29quOq9cZUNtbYMTe7du1iy5YtST+fa+21KAgCubm55ObmsmXLFiRJWlK3uNZpyI0UkS2HZPW1zs5OJiYmGB4ezog/ZCIkIhlZkXl5/GX2le4j35KfkTWy7RkJifce9T792Mc+xk033cT73/9+fvGLX/Dkk0/ym9/8ht27d2eMyB5++GHuvPNO3va2t/HMM89QU1PDBz/4Qd7//vdn5PiAVv9T58eNjo6Sn5/8M1rNPbqhiSzd3jCHw0FraytFRUU0NjauWORXbyBJkjIiCJBlmUuXLjE+Ps7BgwepqKigqakpa4KSWGIIBoO0tLQQDAYz0tydipAkdujmcnL+ROebLaTzJTAYDBppQfQhSFVDqumd2KbsbCvyNnJEthLU+prRaGT//v1YLBYtVaY2uK/GHzIREhHZJcclftz1Y26tv5U37HjDmt/Pek2HXimFqdpTnThxghMnTvDxj388o+sPDAxw//3389GPfpR77rmHl19+mb/6q7/CYrHwJ3/yJxlZQ43MCwsLOXHiBD6fb1kiW9UaGT1aBpFOKlGWZfr7+xkaGmLPnj3U1tam9CVRj5kJollck1LrQ9maGRZ7bDWtV1RUxLFjxzKS0lmJdBYWFmhqasJkMqU8dHOjmwabzWYqKyuprKxMmIYUBAGz2czk5CTFxcVZSUNulohsuTVEUcyYP2QiLCYyWZF5euRpLnsv89zIczTWNFJiK1nmCKmtsV4R2UqzyLJpTyXLMidOnODzn/88AEePHqWjo4P7778/I0TmcDh47rnnKCkpIRAIsGvXLj796U/zsY99DIvFgtVqxWw2YzQatb+vBhuSyCRJYnp6mvHxcfbv37/sl8/v99Pa2ko4HI7zC0wVmRB8xKYSd+/eHfclyyaRCYJAIBDg/PnzK6b10sVyisjp6WlaW1sTvt+Vznez9HglSkP29PTgdrsZGRmhs7OT3NxcLVorLCxc8xP8Zo7Illsj1fpa7LVc7mFsMZFdclyibaaNvSV7GZkf4czYmTVHZakYfWcCKxFZtp3vq6qq2LdvX9zP9u7dy89+9rOMHL+zs5O/+Zu/obq6GovFovXynj17lvr6eo3AAoEAt9xyC3/zN3+zqvrkhiKy2N4wNee+3BdvamqK9vZ2Kioq2Lt376qeoNZCZLGpxAMHDlBZWbnkNdmS+IfDYQYHBwmFQtx4440ZVxklIp1Yp/zV1uA2UmoxHRgMBmw2G4qisG/fvrg0ZGdnJ5FIJE4NudrU2WaPyFKR36+lf00VZ2nK2ivRWESKkG/JpySnJCNR2XqLPZJhYWEhq64ep0+fpru7O+5nPT09bN26NSPH37FjB/feey+KohAMBpEkCa/Xy9zcHB6PB7/fr4k91L1hNXvEhiEytTdMjV6MRmNSAoglkP3791NVVbXqdVdLNGoqEUgoNY89fqYjMrfbrY18sVgsWZHKLk65qiIan8+3qshXPeZGTi2mc9zFaUifz6cR28DAgJY6U/+kkjK5XiKydAkgWf9aovqaeq+rm78ajdXmR8UPFfYKOmc61xyVrVdqcaV1sm1P9ZGPfITGxkY+//nP8/a3v52XX36Zr3/963z961/PyPGrqqr4H//jfwDR97KwsLBiP+tqrvs1J7JYm6lYVaLRaNRcO2KhytoX16JWi0ReiCtBTSVWV1evKG83GAxp+SGuhMuXL9PV1UVDQwPFxcW0trZm7NixiE0tut1umpqayMvL49SpU6sWxiwmso3Uv7UWxPru1dXVxaXOVKVWbBpyufEffwgR2UpYqb4G0aihuLiYJy4/wVxgDpvRxnxwHgBFUNYclW0UsUe2U4snT57k5z//OZ/61Kf4x3/8RxoaGvjXf/1X3v3ud2dsjUAggNVq5Utf+hKXL1/ma1/7GsFgUNtjzGYz//7v/04kEuEjH/nI5kstLifoSJTyGxsbo7Ozk7q6uow5ZKSTWox1rUiWSlyMTEVksWbHR48epbS0lPn5+awrItVrvm3bNrZt27amTWoxkal/z+TmuhHIMTZ1tn37dkKhkOaQoY7/SJSG3OwRmXr+mSSAxfW1QCDAmTNnsFqtjFweoX+gn3whH1mQsdls0QyFpRCLwcJCeGHVRLYeqUX1If5aphYB7r77bu6+++6sHd9qtQJRs/RAIACwRNzz3HPPaS5Amyq1GGszlUiRaDQakWVZk+B3dnYyMzOTltVSKkiVyHw+Hy0tLSiKklYkmIkaWTKXjmwKSQCGhoaYm5vL2DVfL5LZaIISs9lMRUUFFRUVy6Yh1RpCtpBtIlPvxfX4nLdv386OHTs4fvS4Vl9zOp3R+po9Wl/Ll/NXTUjrkVqMfYBPBp/Pl9ID80aEeu2//e1v8/zzz3PhwgXsdjv3338/RqORvLw8SkpKmJ2dpa+vj1tuuWXVa10TIouNxJab3gxRm6m2tjasViunT5/W2D1TSIVopqamaGtrSymVmOj4ayGb5RSC2SKyQCBAIBBAURROnTqVMfnvRusjuxZYLg05MzNDf38/U1NTmjS9sLAwYxtqth0xshGRLYaaulQ/53Tqa+n0r61HalHdd651RJYtqNfZ4/EwNDTEpUuXsFgsfOUrX8Hr9RIMBgmHw/j9ft7ylrdoUeFqrvs1ITLV6He5J0T1zZw7d47t27evOa2VDMvVyFaTSkzn+MtBlmV6e3sZGRnhwIEDCQUtmeqBi4XT6dQGfu7atSujPSybSX6/XohNQ7rdbkpKSrBYLDidTi5duqRNIS4pKaGoqIjc3NxVfw/WK7WY7TWW2+hS6V+7LFxmS+kWjtcfT9q/tl4R2Uqm55t5qKZ6H3zwgx/kr//6r/nCF77Ajh07eOMb34jH49FmSBYWFsbtM5vK2WO5sSuhUIj29nYADhw4sGqrpVSQLLWophJlWebUqVOrfipaTdQUDAZpbm4mHA4v69KRyQGYsf6Uu3fv5vLly2s6XiLEEpm6ydjt9oxvGJuZLI1GY9I05ODgIAaDIc5tJJ1G4ushtZhOqjBR/1r/ZD/ffem75Ezm4L3sJd+en7B/bb0ispXu/WyLPdYDqjjsU5/6lPaz2CkkmcA1Vy0uhsvloqWlhfz8fIxGY9Y/xEREppruVlZWsmfPnjVttOnWyJxOpzaK/vjx48s2ZapftLU+PcZOjlb9KScmJrIyckVNK7e0tDA7Oxu3MZeUlKx5TttGTy0uh8VEs1waUlWv2u32uI14ufvgeojI1iLCEEWRdm87AWMAxaCQtyuP7dbtCfvXsj3eCVL73l4PQzVVwv7MZz6Dy+WiqKgIo9GI3W6noKBAEzxt376drVu3rkoVfU0jslgoisLAwAADAwOaS8UzzzyT9RsqlmhkWaanp4fR0dGk6bx0kWpqUVEUBgcH6e/vZ/fu3dTV1aXUWKqe92qJzOv10tzcjNlsjrOaykbaUhAEIpEIZ8+exW6384pXvIJAIIDT6WR6epre3l6sVqtGaqt1UN/MEdlyn/liNWQ4HNbSZrFpSJXYFqch1yMiWy7Tkqk1VktkM74Znh99nnJ7OZ6gh+fGnuPEyRMJ62uSJNHU1BQ30Xkt/pCJkEpEtplrZCrUz8vr9fIf//Ef5OfnU15erql5PR4PJpOJcDjMjTfeyA9+8AO2bduW1hobIiILBAK0trYSCAS44YYbNDv/ZL1kmYTa5+X3+2lubkaWZRobGzN286SSWgyHw7S1teF2u+PefyrHhvTnhqlQRSx1dXXs3LkzboPIRj1rbm6OhYUFtm/frm3EJpOJ/Px86uvriUQimkxdfUJW60OJNuZrgY1kGmwymSgvL6e8vBxFUfD7/VoacmhoCFEU45qys0FksiITkSOYDeYNP17l+cvPM+Ob4UDZAQothfQ4e2iebuZk1Ungan2tqqqKqakpDh48yMLCQlx9bbVp3URYichUv8/NPh1aveduuOEG3vOe9/Ce97yHU6dOAdDX18cnPvEJ7rrrLo4dO8YHP/hBPvnJT/LNb34zLWPha05kMzMztLW1UVpausTwNtuDL9U15ubmOHPmTEZSiYuxUmpRbTbOzc2lsbExLdPM1cwNU1+vjns5ePBgUmutTBFZ7HpWq5WdO3cmPLbRaIxToMXWh4aGhuLc6pO5ZVxrogPwhX2MecfYWbQz7d9dy7ywnJwccnJyqK2tRZZl3G53nJ+hwWAgGAySm5ubMTXk40OPc9l9mfccfM+Gng6tRmNl9jIEQcBqtCIKIk8NP8WR8iOYDFfTWeqDYX5+PiUlJRnxh0yEVOpw2Xb2WA+oD1D/63/9L/7f//t/vOpVrwKi13n//v189atf5Y477uDFF1/kP//zP3njG9+YtkP+NSMyRVHo7u5mZGSEffv2aRN9Y5FtIpNlGYfDgcvl4uDBg1kRlSRLLarNxl1dXatuNlbTOOlEZKFQiJaWFgKBwLJCkkylFtV6mM/nY8+ePYyMjKT8u4s3ZnUjUU17k80Ou9apxbNjZzk/cZ73HHwPlbmpK10zed7qpOzCwkK2bdumfQ7q9y4YDMY1Za8m2nX4Hbxw+QU8IQ/dzm5qzbXrEpGthixfuPwCo+5Rim3FDIQHAIgoEbod3XFRmboGxMvAl/OH7Ovrw+/3pz1/LdXU4mavkamfVzAYZHh4WPu5en1if75t2zamp6fTjnavGZFNTk4yOzu77GZqMBiyllr0+/20tLTg9/spLCzMmjIyUWoxtsH72LFja1LwpKOKnJ+fp6mpiYKCAk6dOrXsE2QmUosej4empibsdjunTp1akxNJIrcMdcRKe3s7sixTVFREJBIhGAyu6bzXAqffycsTLzPqHuX85Hnu3pGeY0I254WZzWaKi4upqalJmoZUN+JU+jXPTZzD4XdgFIw8f/l53rr1rRs2IrMarLyi7hVLfi4gYDbER/apNCov7l9Ta73p9K+tRGSRSIRAILDpiUzF+9//fj7zmc8gSRL79+8nJyeHQCDA3/3d32kllYsXL1JeXp52FHrNiKyqqoqSkpJlb5bljIPXAlWVWFFRQU1NDRMTExlfQ8ViollYWND6tBobG9fc4J0qkakqt+3bt9PQ0LDihrNWIpucnKStrY36+np27NiRcRHAYtNer9eLw+HQ+q+GhobWLBpZjFSuR9NUE7O+WeoL6rk4eZETlSdSjsrWy6JquTTk+Pg43d3d5OTkxAkdFm+4Dr+Ds2NnKbWVkmvO5ZLjEj35PRuWyF67/bW8ltemtUY678VqtVJdXb1s/9ri+loqPovApq+Rqfj4xz/O9PQ0n/vc5yguLkYQBIaHh6mtreWHP/whBoOBnp4ePvShD6U9l+yaqhZXuiEznVqMbTJWx5BMTk5mNX2pEo2iKNrYmdra2ox5Ra5EZLEejelEf6utkcXWww4dOkRFRYX2b9lqiI7tF5qcnGTbtm2IoojD4YgTjajEli3RiBqNleaUUppTSsdMR9pR2XqoChcjURpSFd309PQQDAbj1JB5eXlaNLa3ZC+iEL1XXpx4kZPiyQQrZ/Y9rEd/11rWSHX+miiKmM1mIpFIwgctn88HcN1EZEVFRXzrW9+itbWV7u5uAoEAO3bs0IQfwKrNijeM/D4RMplaVFOJkUgkLp2Z7Tqc+sTV1dW17Nyy1WI5cvD7/TQ1NS3xaEz1uOmmAWPrYYlSxutlUWUwGCgpKaG0tBSIF40MDw9rvWuqGjJTk57VaGxv6V4AKnMr04rKNoppcKwaEq5eP5fLxfDwMB7Jw2/nfovNZkOWZESjSE1eDT0zPVTmZNcXcKMrIxMhWX1tYGAAt9vNc889l7C+trCwgNVqzZrDyD/8wz/wuc99Lu5nFRUVTE5OZmU9FQ0NDWzbtk3TD8zPz2vToleLa65aXA5GozEj9Y6ZmRlaW1sTDuDM1uBLFeoIF6fTuSaHkGRIFpE5HA6am5upqKhg3759aX8x043IFtfDEjU1XiuLqmSiEXXESjLRSDpQozGTwYTT79R+Pu2b5uzYWapzq9lftp9c8/JP19lOza3m+Iuv32M9jyG5JcZd4wxPRx8MLFYLBsHAAANZOOurWA/HjWzbU6n1tdnZWSwWC9XV1Uvqa9/85jeprKzMqEF6Iuzfv5/HH39c+/9svu+Wlha+8Y1vMDw8jCAImM1mbDYbRqOR2tpa/umf/mnVx97QRLbWaClRKjHRGtlykHc4HLS0tABw7NixjPoWqlhMZLGN1Xv37qW2tnZVx02HdBLVw9Z6zLVguTWSiUacTicdHR1IkhRXy0j1M3MFXFgM0REisnL186jNq6VjpoOBuQFEQeRkdfLU20aJyJaDKIqcajjF1tLoBOGIFMHtdjM/P4/L6cKiWLh48WJcGjKT5LweEdl6zyJbXF9zu93s2rWLJ598krGxMWpqarj99tu5/fbbecMb3kBxcXHGzsFoNK6Lu/7k5CQf+chHGBoa4rbbbtMiTrUJXb33VxsNb/jU4mqJLBAI0NLSsqJfYTZSi7EuJXv27KGjoyOjx49FLJFFIhHa2tqYn59Pq7E6EVJJLS5XD0t2zI3mfp9MNLLYaaS4uHjZ67G9aDsfPv5hFOLfXzAS5Oe9P2d4fpjm6WZ2l+wm35K8P2YzDNYssBRQYIm5t6587JOTk4yOjlJRUaG1SQBxvX9rFTetR41svaZDJxJ7CIJAQUEBn/70pzl58iSf/vSneeCBB/j973/P/fffz65du+JqSmtFb28v1dXVWCwWbrzxRj7/+c+n7aqxHNR7rre3l+bmZrq6upbdJ1b72W74iGw1NTI1lVheXs6+ffuWvSkzTWShUIi2tja8Xq9GJpcuXcrqAExZlvF6vTQ1NWG1WtNurE6ElVKuK9XDkp3r4gnR17rnKxaxRXrVaWRubg6Hw6H1CpnNZoaGhhKKRkwGE5IsMeoZpS6vDoNooNfZy6R3kt3FuxmYG6Db0Z00KtsMEdlykGUZo9FITU0NNTU1yLKMx+PB6XQyMTFBd3c3NpttTU3Em0Hskc46K41wycvL41WvehWvetWruPfeezO6/o033sj3vvc9du3axdTUFPfeey+NjY10dHRk3NQX4PDhw2t6uF4O15TIVtrI0pXfy7JMX18fw8PDSZusF0OtBWXiCzI/P09zczN5eXk0NjZqdaJsDsAURRGXy0V7eztbt25l586dGdmslvtsUqmHJcO1Ti2mA6PRSGlpqSYa6e7uxuPx4Ha7GR4e1nqvYkUjg/ODnLl8htO1p6nNq6VpuokcYw5mg5lia/GKUdlmiMiWO/7iJuKCggIKCgpoaGhIaEGWn5+vXcNU0pAqWWYT60GWsDKRZdv5/q677tL+fvDgQU6dOsX27dv57ne/y0c/+tGMrKF+nvX19ezatYvPf/7zfOADH8BkMml/VPXmWqLgDR+RpUpkqaYSE60Ba7t5FUVhdHSU7u7uhH1a2SIyWZbx+/3Mz89z+PDhFVN76SBZajHVeliyY2Yb2VzDZDJht9vZu3dvQtGIzW6jNdTKWGiMAnMBC+EFxj3jbCuMpmpKc0rpcfYkjco2e0S20vEXW5DFNmWPjo4CxNUnE6ls18sGaz1Siyuts972VHa7nYMHD9Lb25uxY6r76uDgID//+c+ZnZ3lySefpLa2FqvVSm5uLuFwmNtuu423v/3tq75HNzyRpZJanJ2dpbW1lbKyMvbu3ZvWE5t6I0mStKonvUgkQmdnJ7Ozs0n7tLKhjAwGgxpxNzQ0ZJTEYKlqMd16WCJsBLHHWqF+yRKJRi4OXWS0dxRr2MoTzU9gtVqRTBJKRMFkjkatYTlM83Qze0r3kGeOb3S91kSzVqRLMjabTUtDqiIHp9PJ5OQkPT09cfVJdfTHH1pqcT2JLBgM0tXVxStf+cqMHVO9jjk5Obzzne/EbrczOTnJwsICs7OzjI2NMTw8zNatUfHQah8iNnRqcaWILDaVuFqFntrBvxqiUUegmEymZV06Mq2MnJubixsxsZr5PSshNiILh8O0traysLCQVrSb6JgbqSaWSYhGkUkmqauuoy6vjs6pThxuB1sNWwk6gphMJvLy8tiav5Wi/CIEUt/w3QE3//zSP3Oq5hR3brsTg7i6aGG9U4vpQBU5xKYhVS/D/v5+zcswHA5jNpuzSmgbJbWYbZ/Fj33sY7zhDW9gy5YtTE9Pc++99+J2u3nPe96T8bVOnDjBiRMnVnzdaiPhDR2RLVcjU1OJoVCIm266aU02LqsRfKgpti1btiwZgbIYmUotxqYwd+7cydatWzUj2ExDJZ211MOSHTObuFbu90PzQ1x2X6YuPzpHbmfZTqxWK6/d9lq25m3VNmWHw0HAGaDH1bPEaSQZ0fyi9xf8ovcX/H7o95TmlHJD9Q2rOseNFpEth8X1SVWmPTAwwPj4OJOTkyumIVeL9VQtLrdvqBPUs4XLly/zzne+k9nZWcrKyrjpppt48cUXtego0xgfH+fJJ59kYGCAm2++mVtuuQWn00k4HKakpGRNtc8NTWRqJLP4C6imEktLS1ecopwK0iEaWZbp7u5mbGws5RRbJohMkiQ6OjqYnZ3l+PHjWi9JtupvgiDg9/t58cUXV1UPS3ZMWJ9a0HoiIkdon2knJIfwhDzaz4ORIB2zHWwt2LpkU1ZJLVY0IknSklS6O+Dmoe6HmAvOMeub5Xtt3+NY5TGM4uoGjq71M1QUBQUFUVi6AWezx0udFTY5OUllZSW5ubk4nU6mpqaSpiFXi1Rc6dcKVWC2Uo1MdQPJBh588MGsHXsxJicn+Yd/+AdefvllWltb+eAHP8gtt9zC008/zQ9+8AM++clPcvLkyc1ZI1vphBfXrxRFoa+vj6GhIfbu3UtNTU1GngBTjcgCgQDNzc1IkkRjY2PKzbJrrZH5fD6am5sRRXFJCjMbRKYoCrOzs3g8Hg4fPpyxhslYItsIc8PSRVIrsIgfBYUKe/xDTWVuJZIiEYgE4hw9YmtDsaIRSZJobW0lNzdXU0I+PPowva5eLAYLsizz3OXnuDh5cVVRWaLrLityQlJKhs89/zlkReYfb/7HJf+2nkKM/Pz8uIGsidKQsU3Z6RCsLMsZsy1LBnU/uJapxfWA+lDwjW98g46ODn71q1/xyU9+Usug3XrrrfzHf/wHPT09m5fIVoL6IUciESKRCK2trQSDwTWnEhOtsxLRzM7O0tLSktDmKpXjr5Zs1J64qqoq9uzZs+QLmWkiU+thbreb/Pz8jPtCQnaJ7FrU4fLMebxp55uWNENDdEzIcu81VjQyMTHB3r17CYfDOJ1OzrWc49u938Yb8GIUjeSac3H6nauOyhZf9xcuv8Bjg4/xqVOfwmpcuVG5a7aLX/T+AoB37HsH+0r3LTl+tmtLidZYnIZUR6okUkMWFRWt+AC6HmKPVIlsszvfq9/FZ555hrvvvpu6ujqmp6fZs2cPEP1c5ubm1iyG29BEJooioigyOztLT09PwinSmcByRKYoCv39/QwODq5JUJIu2cS6gyzXE5epAZgQ3x+2fft2pqamMnLcxVBHuHd2dmKxWCgtLV1zOuhaQxCEtAQciaAoCiaTiZKSEiorKzkvnWe6expRFDEJJohEH+qeHHySJy89yat3vTqtaxZLZCEpxE8v/ZRLjks8N/ocr2l4zYq//+3Wb+ML+7S//8ur/2XJ8TeCoe9iyye1KVtNQ1osFkpKSrQHiMV13/VSRq40AWS9VYvZgHq/CYKg+eaqQ10h6kHr8XjWbLu1oVOLKpt3dnZqm3k2nuSTpf5CoRCtra34fD5uvPHGtEZvp3L8ZFCjIq/Xu+K6mZL2L+4Pm5iYyHhko35pZ2dnaW9v1+qLajqooKCAkpISSkpKEg4i3MgYcY/w675f8ycH/mRFY+DloL7nQCTAQ90P4Q67kWSJiHildiaCK+jiWxe/hTgpIuaINFQ0UFpauuJ4mtjP84XLL9Dr6kUQBH7d92teWffKZaOyrtkufj/0e/LN0Xvx8aHH6ZztjIvK1kMkkS7JCIKQNA05MDCA3++PM43Oz89ft/ex0ho+n2/TpxbVz+p973sf//qv/8prXvMaXC4X4XCY+fl5PvOZz1BdXa1FaNedRZXaJ6UoCvv371+1+W0qSJT6m5ubo7m5WZumvBa1XjqpxdioKNYdJBlEUdQc9leD2P6wgwcPaqnETEZ6sWsBtLa2sn//fsrKyrSNye/3a4Mxh4aGtFEs6pNzqtf/WqQWFUXhN32/4YmhJ2gobOCubXet/EtJjhOLfWX7mPXPEpTiJ0AIgkBhSSH27XZ+0PYDbgzdyJaRLZpoRFVDLq7zqBFZSArxcO/DGAQDWwu20ufqWzEqU6OxmtxoZmDMO7YkKtsoEdlyWC4NOTY2ptX5zGYzhYWF2Gy2rDxQpSIoybZqcT2gXrt3vvOdnDlzhn/6p39icHCQH//4x/zsZz+jt7eX73//++zYsWNN62xIIlNd40tKSsjJycFisWR1vdjUoqIojIyM0NPTw44dO6ivr8+IY3gqpDA+Pk5HR0daKsG11MiW6w9b7WDNZJAkic7OTgCtcTyWgG02G7W1tdqoEPWpeXBwkI6ODvLz8zUBRKYd1dNBonXbZ9r5QccPsBlt/G7gd7yy9pXYTauLKNXfsRqtfP5Vn8cddBOWlz6oGEUjv+r9FcP+YcoLy3nbjW8jsBDA4XBo08Bzc3M1UisoKNCITI3GtuRvwWKwYDKYlo3KYqMx9fzyzflLorL1EntkkiwTTXZuaWnB4/Hw0ksvYbFY4tSQmerZXInI1PT7Zq+RqRAEga9+9av85Cc/4dChQ0xOTlJdXc1//dd/JZxKki42VGoxth61Z88eamtrefHFF7M6LwyuElkkEqGjowOn0xkncV8rViKbWEn/4cOHtYGGmTh2Mni9Xi5evJi0PyyTkU0gEKCpqUn7/5W+nLGRxY4dO7Sn5li5ukpqmRyMuRooisJ/tv0nUwtT7C7ezYh7hOcuPwdKlIxu3XprSseI/W8sknkyjnnGeOHyC1TnVtPt7KZpuolTNacoLCyMG09zZvAM+WP5mDBF+xDHR3mo7yEMgkEjrZq8mmWjsgeaH8AT9GAymPCGvdrPI3KEn176KZ95xWe081+PiCybQqG8vDxMJhM7duygsLAw7oGqvb09Tg2pDsBcDVIRlPh8vqyMfrqWeNvb3sbb3vY27f/n5+f5yEc+wn333bcmQ+ENE5EFg0FaW1vx+/1xdaFMTolOBjW1dfbsWSwWC42NjRmNAkVRJBQKJfw3tbE7EomkJelXsZoU4NTUFK2trcuaDGcqtai6kJSUlLBv3z4ef/zxtAky9qk5Vq4+MjJCZ2dnnPEsrG8fWftMO8+MPEOOKQdnwEmFvYKfd/+cCnsFOaYcDpUfosS2vJP4g50PIggCVVSlvEk/NfwUzoCT/aX76Xf18/vB33O88jhmQ5TUzWYzHouHL/d/mTfvejN/tvfPOHfuHGdHztJ2uY2QEsLtdWM0GTEZTYTkEI8NPraEyMY8Y/yy55fsLd3Lm3a9acl5HCk/ov19M0ZkiaCSTGx6G6J7lJqGVAdgLm7KTvX9p5JavJ4iMhVqXzBE98WZmRkeeOABvvCFL6zpuBuCyBwOB62trRQVFXH06NE4JVa6DvirQSAQTck0NDSwY8eOjH9RktXIXC4Xzc3NlJSUsH///lUVmNNJAcb24cXWw9Z63GQYGxujs7NTcyHJREP0Yo9DdXNRU2qSJGmKsER1opUw4Z2g1FaKybByCkmNxtwhNw0FDbiCLsJSmM7ZTlwBF1vzt9I01cTt9bcnPcaIe4RnRp8B4DbxtpTOUY3GKuwVCIJAbX4t3c5uLkxe4FTN1VlV32//PmOeMX7W/TPevuftANxx7A5K60rxer14PB68Xi/BUBB7jp2a/Brcbndc6vaBpgfwhr1cclzizoY72VqQ3PUh2xGZoijrFvUl+i5aLBaqqqqoqqrS0pBOp5OZmRl6e3uxWCwUFRWlVNddichCoRChUGjTE9ni77ogCNofiL5PURTXXAu85kTW39/PwMAAu3fvpq6ubskTTTYGX6qQZZlLly7hdDopKSlh165dWVkn0RTn4eFhent72bVrF1u2bFn1k2yqqcXYelgqfXhrSS2qqdLx8XGOHj2qFdbXetxEWLy5nD9/HrPZrNWJVEVaSUnJiqkgh9/Bv7z0L9xcdzNv3PXGFdfudnTz3OhzCAjM+meJyBF6XD3IiozZYOZI+RHOTZzjaMXRpFHZU8NP4Qq4AGiONPN64fUrrvvU8FPM+GbYU7KHkBQiIkeYXJjk0f5Htais19XLowOPUpZThjPg5EddP+IIRyjNKeXunXdrxxqeH2bYOcx283acTidNTU1aajdkDfH9ju9jMVjwR/zc33Q/991yX9LzynZEpt7nG8E0OHZ23datW5EkKWEaUo3YCgoK4o6Zis8isOlViyvdD2q2ba21x2tKZG63m/Hx8WUl5tkiMr/fT3NzM4qisGXLlqSpv0xg8RRntQ534sSJNVvQpEJkK9XDEmG1qcVwOExzczOBQICbbrppyZPWcp6Ca4UgCIjGaP2strZWqxM5HA7a2tpQIhGq/H5Kw2Hyy8ow7N0LMdf/mZFn6HZ2E5JC3LzlZoqsy382vXO9FFmL2Fuyl5AUYmphivnQPAICh8oOUZZTRo+zJ2lUNuIe4ezYWSrtlSgodIx1MOYdY2fOzqRr+sI+2mbasJvtjHqizb6j7lGG5ocotBQyMDfAnpI9fL/9+3hCHrbmb0VRFH7W/TO2VMQ/MCmKwrsffjc9zh4639/JwZqDyLKM2+3G4XDwr+f/FW/Qi91gR1EUHux4kD8//Oc0FDUkPLf18HKE7BPZatKXy6Uh29vbkWWZwsJCLQ0ZiURSIrLNrFqUJIlHHnkEu92OxWKJ+2M2m7FYLFrNe624pkRWUFDAK17ximVv/mzUyFS3jMrKSvbs2cPIyAh+vz+ja8RC7fVaWFigqalJc8vPRB1uJSJLpR6W7LjpRk6LCTNRs25sRJaNTe+5meeokWt4W+3bMJvNVFZWUllZiRIIEPnhD5FefpmQ240rHEYuLSV0993YT51CMks8MfwE5TnljHvHeXbk2atRmd+PcPkytt5eQhYLNDQQMkDbdBtVuVVYjVYuey8z5h3DZDBRaa+kNr8Wk8FEWU5Z0qhMjcb2l+4HoCPSwbOXn2VneXIisxltfPjEh/GHo/erJ+Ths899FpvRhtVopT6/XovGCiwFCIJAsa2Y4flhnnY+zZuEN2nH+t3g72idaUVA4Cvnv8I/3vyPiKJIYWEhC4YFnnQ9idloxmgwIkgC3rCXT//m0/ztwb/VxDaxdaH1SC1CdolMTV+utY8sWRpydnaW/v5+BEHAYrEwNTWVcILFwsICOTk56+LCny243W4+9rGPaaI5g8GA0WjEZDJhNBq196+KPNbyIHTNU4srnbjRaNQ6wteK2BpRrFtGpsesLIbBYCAQCHD27FlqamrYvXt3xm7QZISTTj0sEdJNAU5PT9Pa2qpNA0i1MTeTGHGP0OftY4YZXu1/dRxxGM+fx9rSgrxjB+TlIYXDhHp6WHjsMbpEkcf95+l197KvdB+SSeLxoce5ecvNFHsiGJ5+GmFiglyHA1lRMCwsYLz5ldxefzuvqH0FkwuTTHonsZvsyMiU2coY84wx7ZsGBRQUOmc7MQgGInKEm7fcHBeNqdeqyFTEi+MvcufOO6nNS9w3KQhC3L/9qOtHzAfnOVh2MFo7G3uBZ0efxRVwUWmvZCEcfbI3CAaecz3H5MIktQW1KIrCvS/ci0EwICkS9zfdz1+d+CtKc6Jp4K81fQ1vyEuuKRdFUBCNIiZMvOB+gQ+aPog8I2t1IZXU1NpktqB+R7O5hpr9ySSBJEpDdnR0EAwGGR4epqOjI64pOy8vT+shW482ky984Qvcc889/PVf/zX/+q//mrHj2mw2/uEf/gFJkvB6vfh8PhYWFvD7/fh8Pvx+P3a7nRtvvHHNa20o+X0iZCq1GAqFaGlpwe/3L6kRZbMOpygKU1NTLCwscPjwYaqqqjJ6/EQpwHTrYakeNxFirbQOHDiw4vvL5hfz/MR5AlIAJajQNNnE7Q1X03nihQsodjtcuRYGkwnb3r3Yu7uRCkx8OzJCSU4Jfp+fsC9Mp9TJj158kD8ZyydvdhZl+3YCdjtKKIQ4MIApN5cbXv1qAL7T+h2sJis3b7mZXmcvtzfcztGKo3HnlmPK4Zc9v0RSJPaV7uPl8ZdxBVyIgsiMfwYUmA/PI4QEXhp7ido9KxsAzAfn+XnPz8kx5ZBrzkXwCfyk6ycMuYfIN+cz7h0n15yLSTRhNVoJh8O0zbZRW1CrRWMqwnJYi8oAft33a4yikYAUiFtTUiQ6Qh28/+j7kSQJl8vFueFznBk5w1bDVgYHB/H5fFnp91NTfutBltl09jAYDJhMJnJzc9m2bZuWhnS5XLS2tvK+972P+vp6cnNz6erqYu/evVl7z+fOnePrX/86hw4dyvixrVYr73jHO1J+/Vre44aIyFYarrnW1KKqDiwsLKSxsXFJyitbRKZaXHk8HnJycjJOYrA0tbiaelgipBKRSZJEW1sbc3NzKVt4ZcMxBKLRWPtsO+XWcowWIxemLnC08ko6T1EQ/H5YrGC88tT97Ow5pkPTbC/ezoBrgAueC+wp2sOZ0Sd5RUcNptxSckZGkGU5OqW4ogJheBg8HoZkBy+OvUilvZISWwnz9nmGxzr4H/k3Y6neAlfSx6pAAwEuTF7geOVxLfoBGJwbZEKa4OShk+woTexy4A15GfOMsbtkNwCPDjzKuGecbYXbAKjOreaS8xIfOfkRPCEPX2v+GrdtuY0/O/JnBINBLly4wJ0Ndy6JxiDqgh8blf3iLb9gamGp16YgCBwuPwxEvzcFRQV889lvMh+c5+M1H6eoqAiPxxM3nkb9s9ZU+npJ7yH7c+1ixR6xaUhZlvnRj37Ed7/7XR5++GGOHz9OaWkpr3nNa/jMZz5DfX19xs7B6/Xy7ne/m2984xvce++9GTtuLBaL3FTEXt9YFeNqcc2JbCWshWRi1YGLJeCZWiMZ3G43TU1N5OXlsXfvXnp6ejJ6fBWxRLbaeliy4y5HZH6/n6amJgwGA6dOnUp5k1p8A2cK5yfO4w/7yTPmYbPYmPJPXY3KBAF5924MTz+NUlGhERjz82C1cl4ZI8+cx6R3kovTF/GEPVxeuMy20gr8NSZ2V+zCEwgwOzOD1+sl5HRSADAzwxPup5gPzVOTV4Pg9VI34GDAc5Gm5ye5ufAIkdtuw7F/Gy+Pv0xpTimiIGpEdsuWWwCY9E7yg/YfkB/O5+a6m5Ney4d7H+bF8Re559Q92Ew2ft7zc8JyGIffob1mIbzAb/p+Q0SJ4A/7OT95nvcp76Mmt4YR8wiiKPLowKNx0ZiKoBTUorKtBVuXldqr+N3g7+hx9iApEs86n+XkwZMUFRVpohGn07nEaaS4uJjCwsK0SWk9iGw9oj5IrloURZGTJ08yNDTEpUuXeOaZZ3j++ed57LHHkk6gXy0+9KEP8frXv57bb789a0S2XjW+DU9kq+0ji0QitLe343K5VlQHZnoUito/tW3bNrZt28bc3FzWanCqkKS3t3fV9bBEUCOyRAVYl8tFU1MT5eXl7Nu3L20T1+WcLFTIirziCBQVajRWk1uD2+9GEATKcsriojLpxhsRenoQu7pQioogFELw+5Fe8Qo+ctur8EYWeLj3YZ69/Cx2k52gFORN+97ODQE3Bq8Xa1UVkXAYSZIodruZs9s5O9jMw6MPs6As0OQ9j21iHNHnZz5H5JESJ6cmJzH95Ce0+PcxE5xhb+leBAQ6HZ1cmLzAndvuBKIGvMPuYYQFgRHPCDstS8Uek95Jnhl5hjHvGE8OP0ljbSM2o426/Lq41zUUNjCxMIEz4GR38W6G3cN8s/mbfOrEp7Rr+ezos0mv5VMjT614vVWEpTDfaf0OABaDhcemH+P9ofdTRJEmGiksLGTbtm2EQiFcLhcOh4POzk4kSdJUfCUlJSk1E6/nvLNsYyX5vVojs1qt3H777dx+e/JexNXgwQcf5OLFi5w7dy6jx71WuOZElkpqMV0i83g8NDc3Y7VaU1IHZioik2WZrq4uJicnOXLkCGVlZUD2pjira0YiESYmJjI6py3Z7LDR0VEuXbqUtO8vKUIhGB3FPjYGO3bAlTEOyfDTSz8lx5TD3Tvujvv5w70PsxBe4J373qn9rGu2C1/YRyAcYHZhFotkITc3F4NooNvRTWNtI0p1NZE/+RMML72E0NMDZWVIx44hnThBiclEgVzIL3t/iaIoVOVWMe4Z56HBX/G6Yx9FePZZGBjA6PVi9nqxb9uG9dWvprHUxlyxm3nPPK7uFqYme9lla8AWzKHInIu8ZStzA1283P4opYcPaQMsy3PKtagsIkd4YvgJquxV9Lv7+f3Q79lZupTInhx+EoffQW1uLc+MPMOrt76a77z+O0teF4wE+dBjH8Ib9mI1WjEKRr7Z8k0qrZUcEA4A8I+v/Ef+f0f+fwmve6mtNOHPE0GNxspsZRhEAwOOAX4z9Bs+WPHBJa81m81UVFRQUVGh+QiqKr6+vr440UiykT7rQTLrMYtMXWel6dDZkt6Pjo7y13/911mJ8q4VrjmRrYR0a2SrMd7NBJGpfoKKonDq1Kk4q6lsEZlqcKqumSlDU7iaElAfMtTm8YmJCc30N2UMDCA+8gjC2Bglw33Q14Vw13+Do0cTvnx4fpiXJ17GKBo5WXVSm7w865vlBx0/ICyHeUXtK7Ro5EjFEU3J19vbS15+HpUV0ai0MvdqdKpUVRF505sAGPeME5bDbL1yzX7c9WP6XH0UWgoRBIEcUw5PjzzNxWMf5OiddyL29SF3dRGorUV69atRqqooB9579L0A/GDqHibyzNxo38W+hSIW3D6Gw8NcksYZdTgwuMtx+V0gRKPNsBymbaaNMc8YM74Z9hbvxWFy8MLYC7xu5+uoL6jXzluNxspyyijLKaNjtoMnh5/kXfvfteTaPTXyFD2uHupy66KTvv2zBKQAD7Q+wJd3fBmIGg7HHn81iIvGjNEHRZNg4ie9P+Fdh99FobUw6e8KgkBubi65ubls2bJFE40snvC82CT6eorIVlonm9OhL1y4wPT0NMePH9d+JkkSzz77LF/96lcJBoNrvgbr5cKiYsMTWaqpRUmSuHTp0pJoKBWslchUt/6ysjL27du35CbI1MywWKj1sOrqakZHRzNKYnA1IpNlGUmSaG5uJhQKLSHpFTE3h/jznyPMziJt3cLPxBYqlU7e+xsRwW6PRmeL8MLlF3AH3QC8OPai1s/12/7fagKEX/f9mr849hcAVNgrNLKTJ2UK8gvYUrZFO16fqw+AHUXRtSJyhF/3/ZqQFOLPjvwZRtHIt1u/TUSOkGOOvrdCayHjnnH+78X/y9fv+jrS1q3Mbd0a9YpbJNoZcY9wNjyAWwzzvGGIxtLtlAllhMNh5K5xwoYahkM7MEgGCgoKyM/PJy8vD6vJyhPDT1BqK43OzTLkMx+c53cDv+PPj/65dnw1Gttfuh9BECjPKdeisliiDkthfnrpp3iCHiaECbwhL1MLUxgwMLEwwe8dv+d2MpOi+t3g7+h2dmMSTZoziYjImHeMh3oe4k8P/WnKxzIYDHGjVfx+v9ZMPDIyEu2FKy5el8Gr61GHg5Ujv2wS2W233UZbW1vcz973vvexZ88ePvGJT2SEyL/5zW/yhS98gR07dmCxRDMkaguC+nfV7eTUqVPs27dv5YMugw1PZKmQjM/no7m5GUEQaGxsxGazpbWGKmxI9yZWFIWhoSH6+vo0t/5kYpJk9aZ0sbg/rLCwkNHR0Yy7KqjXwePx0NbWRn5+/qqmcwu9vQiTkyh79tAjT9NndDGTm8eQc5ba9nbYsQNZlul0dHKg7AAjQ81cbH2EGtFGON/O2fGz3FRzEwbBwG/6f0OhtRCDaOD3Q7/n7h13L6kRLb4G/rCfxwYeA6DmUA02k40uRxf9c/1IikT7TDuugIsR9wgKCuOece13FRTOjJ1hzDNGTV7iCd0QdQRx54jss9fT4x7gorWOG431mCcn2VOwlR3//U+J7NzJ3Nwco9Oj/PjSjzliO0J3uJsBxwBbC7fi8DvwSB4sRgvPX36eO7fdSX1BvRaNWQwWjTCMopGh+aElUZmsyGwr3EaxrRhFUXhy+EkMogG7yY4v7OMpx1OEpJBmLLwWXPZcpsBSgMLVsoBRNJJvy2dkfmRNx7bZbNTU1FBTUxMnGpmcnCQQCPDyyy+vSTSyHDZKajGbRJaXl8eBAwfifma32ykpKVny89Vix44dvO51r0MURebn5/F4PMzOzuLxeLR+skgkwujoKP/8z//Mvn37UjJSToZrTmQrbb5qs3IykpmenqatrY2qqir27NmzqptQvXjpEJkqJpmbm+PkyZPa6O5EUI+51rRFov4w1Vor0ykR9XO5cOECDQ0NbN++fXVEecVqRxbgbKgfSVQIEOaMzcHbHVG13YNdD/JA0wN8ruTtTF94igWpj4ZQEYrVQmuNiRerzjIfcjO1MMWu4l2Igsglx6W4qCwZOh2dXPZeRkCgY7aDIxVHOHv5LEbRiEW0cHbsLG/d81b+6vhfEZKX2pQVmAsosyWP7kfcI7w0/hKVBbVYDm5D6PLxhKuDEx4TxvJKIrfdhrx7NyJQXFzMublz9NFHfWk97hk3JcYSnE6nlnI0ySYsooXL7svUF9Qz4h7BbDBjN9vxhD2EpBB2k52q3Cr65/rjzsVitHBP4z0AvDz+Mo8MPMKWvC3YzXb8IT/T3ml+0/8b/vuu/57OJ5gQf37kz3n/4ffH/ezJp57k1E2nsOdkrrYTKxqxWq1MTExQW1uriUYikYjmZ5iqaGQ5rGdEthKRxXqUbjbceuut3HrryiOMYpvo17J/XXMiWwlqBLD4SSl2svH+/fvXNJxNvYCSJKUUcXi9XpqamrBYLClJz9XzXssTh9oflpOTE1cPW1zLygTUuXAAu3fvZsuWLSv8xjIoLgZRpCc4Tqc0TpWcRw522sKj3FBupjQS4kedP2LINcD9o19jq1hAVW4dimhH8HqpujzHUy0PMWRwa9EYQElOSdKoTL0W/rCfl8ZeIs8UFcC8PP4yKNA/18/Wgq0YBAO9rl7GPGP85Ym/XNXbe2bkGdxBN3X5dShAzdFb6Jrq5qXtt3Jy3x1aHxlE7aQeG3qMiBzh3PQ5PnHTJ6jMrUSWZVxOF+3t7dhz7Sx4F7BMWhgID7CreBf33nwvgiDwYNeDdDu6+cgNHyHfnI/FkPi+UxSFb7R8A3/YT4G5gLAUjtaYFJlvtXyL129//ZqjMkEQMAhX72VFUTAIBkxGU9bqWIqiYDQak4pG+vv7MZvNGqklE40sh7V8R1OFmv25VhFZIjz99NNZO3bsw0EwGIzbZwVByEhZZMMTWSzJqG84GAzS0tJCMBhcMtl4NVAb8lKpY01NTdHW1kZdXR07d+5M6ektNiJbDZbrD4utZWUCkUiEtrY23O5ojWqtT4XKzp1I27fx4vAvkPL8FAdN5AU8zBaa+I1hHP8LX4sq3wQ7F8Up/GYjtRiZkr2QA7gX6JtqZ8IWoRgr7qkRMBlRcnLwSwEeHXiU9x+5GhnEXhs1GttVFJ1q0O3sZsw7hlE0akMlc0w5nB07y4GyAwmnIy+HUfcoL42/REgO0e3s1n7uEgI8EejgmOl1xG5VZy6f4bL7MvtK92nO+e899F4ALCUW+gx9vOKGVxCJROJG0wiCQNAW5MzoGbyKl/aZdl677bVJz2tqYYrW6VbMRjPOoBMAWZIxikYmFyZpmW7hZNXJtN7rSlgP+6jF0VIi0cjc3BwOhyNONKISWypOI+vZdL0SkW32ES5w1X/z+eef51e/+hXBYJBIJILJZKKiogKfz8d73/tetm3btqZ1rjmRrXRjCYIQJ5ZQXTqKiopWVbNJZY1EUBSFnp4eRkZG0u7VUhss0yWbVPwS10qSsfD5fFy8eBGz2cypU6d4+umn1x7p2Wx0336Ejt//jlInhCNevOXlRIpyOOvupneql1AoRFXAhkuJCkveZ75Be1+if4z2QgOzgwMUDYwjhEMoRmNUTv+GN7O3ZO+SJRVFiYvGjGL0HvGH/VxyXOJ45XEmvBO4g276Xf1U5VbRNtOW9uZuNpi5sfpGJHnRfTPnomDGj/jyS7BrDxQXa9FYHhZMrnkqjYWcGTvDrVtvjWs8Vs1kY50ePB4P37r4Labd05hkEz98+YdUhiqpr6xPOJqmwl7Bf77+P+OmObvdbkaGRzh25BgHyw6m9T5TwXoY+q5EMosd6GNFI6Ojo5poZDmnkfWS+KvnmwzXw3RotW7/9NNP8zd/8zcUFhby/PPPU1VVRW5uLt3d0Ye/17zmNWzbtm1NDxHXnMhSgcFgIBwOMzg4SF9f35pneCVbIxkZqD6NgUBg1RFguhL8VP0S1WhyrUTmcDhobm6OqzVmyk6qT57FsGsPc6EgE5fHiBhETCYDXnGeifkJthZvxeINUjEzx7DgpG9iiFuFHditVgocNm4aC2C84EAurYHcXPD7EdumkOYuEfjW3yZcs9PRybB7mBxTDsPzwwD4Ij5kRSbomKRsTqEl0MMFaZiGkh14Q9643+939fOFs1/gc6/8XFKhR4W9gj8+8MdXfyDLGH/5SwxPXUSYnwehB6WsjPBb38qZolnGW55jb988xlCYCqOB1m25PFX6CO89+YGkDwyiKDIvzNMX6mNP7R7yjHm0T7Xz8uTLeGY8KIqiDXMsKSnBYrEgCAJ7S+MJ3mF2YHfZNXupTONaRGQrIZloZGxsLKnTyHqIPdS60HLreL3eTR+RqQ8F/+f//B8OHTrE9773PU6dOsUnP/lJ3vjGN/KhD32Io0ePcupUdBjsWq77piAyURTp7u7G7/evKKxYLZKpI+fn52lqaqKgoCDpaJJUkI4EP1k9bLljr5ZwFEVhZGSEnp4e9uzZQ13d1XpTJqZEA9y69VaOVBxhfn6e5lDU83L3vt28/7fvxygYEQWRkN1CzkI+s+FZHsvt5S2zNYQHBxnLzaWqqYmw1YposWAEhJwc5PJyxNZWxI4O5BillVY4FgxXN+1wGMHtpqHkJIZxK4eeHMDuDfLM9lGk/AUc04NUWONTqN9u/TbPjDzD99q/x6dOfUq7VstBvHABw29/CwUFyPv2RT0eh4eJ/Oj7PFnZxsLMEJdyzJBnBClEaGqelx7/Nq/Z8wZKzaVx5x+LZ4aewj3Wx5YZASEiU1Fqoq+gi7e/6u2IIRGHw8H4+Djd3d3k5ORopBY7zDHbs8KyOZpHxVqe2Bc7jYTDYS1aixWNSJKE1WrN6vVaKepTFCWrDdHrjZ6eHj74wWiT/Pz8PF5v9KHxvvvu4+jRo9x0001rVktecyJb6WZxu92EQiEsFguNjY1pj65PFYmITHWx2L59Ow0NDWu6sVMdFaPW4FIZh6JitVOXZVmms7OT6enphDZemZrmnGPKwTXtYqxrjJr8GnZu38nAwgCeUFRuPu2bjr4wV8AazGcg4GWm1MjWV7+L3JISLOfPE7Ra8fv9SAsL0ZlGoog1EICZmSXrKYrCkYojHCk7hPGXv8T48O8RnM6oLdXcHNLePfzrvikGrBJW2cRcyM03HruXL/2PBxEEgV5nL4/0P4KCws+7f84fH/jjpGNVYmE4fx5BlpHLy9ULiFJfj7H5ArcNTtJoLUeJNVb2+TBe9mEfnUKpT2yhNjI3xEuPfZO80SE8gei9kD8KI1ODvFj9Cl578C3k5+fT0NCgbc4Oh4OOjg4kSdKitejpbO4RK5msX6k1msWikdHRUebm5pibm1uTaGQ5pBL1XQ81MvVeyMnJ0WruVVVV9PX1EQ6HcbvdTE1NZcRd5JoT2XJQzUbNZjMNDQ1ZIzGIj5gkSaKrq4upqan0XSyWOf5yRLaW+WGriciCwSDNzc1IksSpU6cS9t5lIrWo1hZHR0c5evQoAwMDKIpCY20j/37Hv7MQXEAQ4ze/XIOdmorDREQRPB6EoiJsc3NYy8qQRZFwJILicOATBJrm5rB3d2sbTiyMv/41pgceQDGbkYuLEXt6EEZH6S0XeXSXiwAShYKVOUniyZkX6XJ0sa90H//Z9p8shBeoy69jzDPGf7X/lxaVLQdhfh5lcd1FEDAHwvz3HgPy1i0QirnOHg9iTw/yh/+WSGUlW+rqEE6cgBiyG37pd1iHRglZLHiKr9z/kkTplIf+F34JB9+ivdYkilRNTFA9M4NcXo67vh6Hy8XU1BRzc3OIokhvb6+WSstkLUgt6mebyLJRv4oVjXi9XiwWC4WFhWsSjSyHVJSR6mDNzQyVrN/85jfjckV7IN/5znfyxS9+EVmWeeGFF9i1a1da5hXJsCGJLJZI1M0vW/PCVKgRk+rqvtrm6mRYjmxSrYf5wj6eGn6KUzWnKLYVp3TsRHC73Vy8eJHCwkIOHjyY9EuVbkTW7+rnhdEXePeBd2MQo9ZiLS0tLCwscOrUKex2O4ODg9qmd6LyOFJ/P6bOTohEkHfvRt6+HWFyEoaGUCorERYWkBsaMD72GILDgWC3YzCbESIRQm9+M1tvvhmHw0Fvby/BYBCj0UhuTg6+ggKKHn4YxWRC2bIFGQVPoZXCKTOPWIYZQkYEzBgokkxMKn4eaHqADx37EI/0P0KeOQ9RELGb7FpUthLkXbswdnaiyPJVh/1AAGw2FLsdYWEBRb2ffD7ES5cQgkEwGBBcLuq7ujALAqHPfU4bOXNLb4iTF4uQF6m6hMuXsfmBD1z5/6kpzF/8ImJ7O0IwiGK1YjpyhPyPf5z6+nomJiYYGhrSHHDC4bAWrRUXF69508x26hKiRJZpB5tka8SKRgKBAA6HI040Envt0h1PsxKRqRHiZo/IVHzqU5+ir68PRVF473vfS0dHBz/+8Y/Jz8/nm9/8pjYhei245kS2+OZP5NIxMjKyLkQ2Pz9PV1cXlZWV7N27N6NF32Q1snTqYW3TbTw38hwm0cQd2+6IO3aqRDYxMUF7e7vmzL/c5pNOjUxRFH7c+WMuTFxgT+keDhQe4OLFi1qvXez7UhQFFAXDL3+J6Sc/QZyfB7WNoLgYpa4OZBklNxfB4QC7HenUKcSODgSPB2w2wu96F+GPf5wSm03bcELPP4/ne98jt7ubCBBwuYhs24YpEOCpolle3O3grfPwaLWfORGsmHHhRxDDCAYTT41EnS8WwguawKPQWqhFZW8tfeuy10tqbES8cAGxsxOltBQkCcHpRDpxAnnfPow//SkYDJCfjzAyguDzIdfVoTQ0IMsyPkUh79w5DC+/jPSKV0Q/AwSKQwZkKT4bIURMKLJIIHpBMf3bv2E4dw55y5boAFGPB+OZM3D//YT+/u8RBAGz2cyePXviUmkzMzP09vZitVrjTHvTjXzWywdxPYQYi9ewWq1xohGPx4PD4dBEI6orRqpOIysRWSgUIhKJXDdEdvbsWW655RYg2hf85S9/mS9/Oer7qaYc14prTmSxmJ6eprW1lZqaGnbv3q3dENmc4AzRjVV96tq/fz+1tSvXQ9JFohpZOvUwX9jHi2MvEpJCXJi4wLHKY9pgxlSITG0gHxkZ4fDhw5SrdZxlkE5qsX2mnYuTF3GH3Py07afMGeaora5d4raiRnlCdzeGH/8YSRSjwohwGPH8eQwDA0ilpch79kRJobUV6Y47kA8cQHrVq6LpuJERpJMnISZaNpw5Q8G995Lf3o4gSYgAwSBhr5f+k4d4uKCPMXuAHZUGckMKRSEjiiiDooDZRr69ABGR3w/9HkmW4qyqQlKIX/T8glfnvZpiSzHJoFRWEv7ABzA88QSGjg4UiwXplluI3HorGI0QCmF8+mkYHUVwu1FKSpAPH46SuKIgWywQCCD292tEJp84AT/8YXR2mvrkGgohBAJEbr45ek0HBzG0tCBXV4MqEMjLQ66owPDyywjj4ygxwwsX919FIhGt/6qnp4dQKERBQYEWleTk5KxIUuthELue88iSQRRFCgoKKCgoWCIa6erq0iJdVQ2Z6Nql4uoBXBdij0AgwPve9z7Onz9PcXHUOk19/06nk3e961089thja15nQxCZLMvaJnvgwIElk5SzSWRqA7Df76e2tjYrJAbxZLOaeljbdNQpfW/JXnqcPVycvKhFZSulAGNTfDfddFPK7QOpphYVReHXvb8mEAlQba7mTP8ZXnnTKxMagWrHvHgR5ueR9+xBUBRElwtkGWw2xN5elLy86OgXSYp6NVZWgskExcUobjfC2FjsG8R0//2ITU0okoRiNEZTc5KE2eViIDKAM08mJyByviTAJ0b2MCVWYDGbEQ8cwHT6NEJ+Pu6gmxfGXohzrFBhM9qwGlYuSit1dUTe+14ioVA0vRgjEgj94z8SHhpCHBvD+M1vIl6+DLGF7iuRqhKT5pNOniTyutdh/PWvYXY2SnqyjHzkCOErTv7C/DxCIICyuNZgs4HbHSXN/PykZGQ0GjXTXkVR8Pv9OBwOHA4HAwMDKbllrEdEtl5kmU40mkw0sthpRP1jNBpXXMPr9UYnMGzyGhlEo9nh4eE4wZH6GU5PT/PEE09kZJ1rTmThcJhz584RDoeT9milO8olVahWU1arlfLy8qyLSWRZTrkeFgs1Gss352MymKLzrGKisuUisoWFBS5evIjVak171EuqqcX2mXYuTFwgV8ol6AuSl5/Hec95Xie/TrOUUqEN7PT5olHClTWUUAhFkhCubLyG+XkEnw/m5hAWKRMFvx9iHEfE7m7EF19EiESQrNboZi9JYDYzb4jwRM4keXO5dBUEGNhu5bb3f5ij9bczOzuLw+HANylRFDSzu2Q3jccbk6qoent7U752JLmXlPp6pPp6BIcD8d/+DVyu6Gw2WcY2PQ3V1Ug33XT1FwwGQp/4BNLJkxieey46DPTECSJ33aVFaMqWLSgFBQguV3QCtnqdXC6UwkLk6moUjydlBWxOTg45OTnU1dUldMuIjdbsdvvVKHsdpipfi9RiqkjmNOJ0OhkYGKCjo4P8Kw8U6ncr0TVbWFjAbrev2wiUbMDpdPL2t7+dgoICbDYbf/u3f6tNfigoKMBisfDEE09w4sQJYO011mtOZEajkZKSEurr65NKXI1GI8FgMKPrTk5O0tbWptk+Xbp0KavpS1EU8fl8vPjii9hstrRIRY3GdhfvBqA0p5TO2U4tKktGZLOzs7S0tFBTU8OuXbvS/mKkklpUFIWHux9mxjVDraWWiqoKSpQSWqdbuTB5gRuqb0h4TGnbNgxGI4ZQCMVqBatVIzFpyxbkqipYWMA0OYnQ3w+NjWA2I4yNoeTmIh06dPWYfX1R0YQoRv8IQvS/wSAv1BsYKbdiPnKYGe8lFJORX82dobHgDewt24uiKHi9XhwOB5OTk/T09CTtxcokIq99LUJvL8YnnoDJSQyyjGSzEfrAB6I1wlgYjUh33IF0xx0Jj6WUlESjth/8ACEcjtYW3W4IhYi8851RFWSKRLYYidwyVOHD4OAgJpOJ4uJizGbzH2REthxir93OnTsJBALaaBq/38/zzz+fUDSiTofO1vW8//77uf/++xkaGgJg//79fOYzn+Guu+7K2BqSJJGfn4/L5cLv9/Pss8/i8XgIBAKEQiGCwSBVVVV8/vOfB9betnHNiUwURXbu3JnxKdHJIMsyPT09XL58mUOHDlFx5QlWdQ/JFkKhEDMzM9TX16fcHwYQiAR4aewlFkILcX5+gUiAixMXOVF1YgmRKYrC8PAwvb297Nu3j5qa5CNIlkMqEdmFyxd4ousJQnIIt9mN1x1tdnQFXPym9zecrDoZN23aYDAwODjIQn4+2/fuJa+1FSEvDyQJ0e2ORjJlZQihEAQCSA0NUeVfezsUFiKXlyPdfjvK9u3aOQihEEpJCcLISDQSMxpBUfCIYR6vl7EWl9MlOjFYrISkEE2TTbw4/iK319+OIAjanKT6+vq4Xqz29vY454yMGsqazUh33IE4PIzY1oZiNjN78CA5sdFYGgi/970oeXkYf/3raBtARQWR//bftEGimYqYbDabloKXZVmL1iYnJwkGg1y4cEHbvHNzczO6GV8rsUemYLVaqa6u1hqCKyoqlohGHn74YUpLS7NqGFxbW8t9993HjiuzAL/73e/yxje+kaamJvbv35+RNcrKynjooYcYGBjg/vvv54tf/CKiKGr1WLPZTH5sT+Uacc2JLBVkKrWomg2rAyJji6kGg4FAILDmNRZDrYfNzc1RXl7Orl270vp9g2DgWNUxDpQv7XwXBRGzwRxHZJIk0dHRgcPhWLMLSsIamaIgXLqE0NTEgsfDmOLilXWvpKy8bMmmVWwrjjM1lmWZXbt2UVlZGbXEuv12cm02anp7sRkM2HfvRrDbERQlGmGVliJv3Qrj44Tf+EakXbuQqqrAZkMIh7W+JaW0FGnvXnC7MbhcKKIIBgPtlTLefCuXK3MY945jN0U/b2fAyZNDT3J7/dIhk4trHqpCbXx8HLfbjclk0p6082PqTsLAAIaXXwZJQj55EnnnTk2JmQhiZyfm++5DcDhQampQfD6qXngB85e/TOiee+JqaynBaCTyR39E5E1vitbECgri0pvZSP2Johhn8TQwMEBlZSVOp5Ph4WEMBoP27yUlJWuWzm8EsUcmIEkSFotliWhkamqK4eFhfvCDHzA/P8/rX/967rzzTu688052796dsc/vDW94Q9z//+///b+5//77efHFFzNGZCq2bdvGP//zP+N0Orlw4QLl5eUcPnxYmwqen5+fkYfDTUFkqU6JXg5zc3M0NTUlNRvOxhTn2HpYRUXFqnrSTAYTr6h7xbKvUQknEAjQ1NQEwKlTp9bcMb8ktagoiN/5Doaf/pSgw4ESCHB3URFvfvObkV77F1Fp+SKoA0XVa6umkktKSmDXLnyNjczOzjIwNUXpN75B7uwshi1byLFasRYVIczNIRQXY7zxRoTKSsQrhKhOrgaQ9u7FtmsXChC5dAnz7CwGReGYqRrjre/lS/ltKN686KgVRaHP1Ue5T8TwxBMoubnIhw7FKSBj339+fr7mnHHp0iUCgQB+v5+WlhYASoqLaXj8cYofegjxypM2ublEbr0VpaEBXC6ULVuI3HILxDTWG3/zG4TZWeS9e0EQkEIhPCGZnLPn8L3QQvjI1TH0RuNVMeKKsFiWij7Ifp+XmpKLlanPz89rqbTOzk7y8/O1NFr+MuKT5dbYTKnFZEgU2ZtMJmpra/n+97/Pgw8+yFe/+lVuv/12fvvb3/KJT3yC5uZm9uzZk5Vz+clPfqL1emYDjz76KP/xH/9BV1cXdXV1PPXUU4yNjfHDH/6QW2+9lRtuuGHlg6yADUFkK6nj1pJaVBSF0dFRuru72blzJ1u3bk06xTlTo1DgqpBErYdls6lbFEUWFhY4e/YsJSUl7N+/PyNfxsWpReH8ecQHH8SjKLjLyiguLcWysIDwy18iHzyIsmiQnjIzgzI6ipybC/X1iAnOKcdkYqvPx1azGfltb0N+8EECk5M4LRbo68MeiRC5/XYsRUXYRDHO7V+d6ySVlPB/boxwvKCEE+ZDGEIhcnfuJPLWtzKZP8PMuSepL6iPzu+SI9ROLtDa/iMmu86wJZyDXF9P+MMfRt69O/GF8HoRpqcx+f0YcnO1VLjb7cb/1FPkfO97eBUFqbQUs8mEdXIS89e/jlxZGWUgrxfT179O4P/8H5TDh6MPBO3tKEVFWtQWiQiMzxdj8EzQ8pPL9PbdqC2fm6tw991S6mSWANlWFS6uX4miSFFREUVFRWzfvp1gMKilbBc70ZeUlKQktFqP97BegpKVnO/Lysr46Ec/ykc/+lH8fn9GbJxi0dbWxqlTpwgEAuTm5vLzn/88ocp4tVAfnNra2rjvvvvYvXs3O3bs4MyZM0C0taCvr4+pqSluuOGGNaftNwSRrYTVEpmaZpudneX48eMUFyfvAcpkHS5Rf5goilmrwQUCAaampti1axf19fWr/7KHwzAxEY2sqqqWPGAoZ8+yMDuLd8sWyktKolGtxQIzM4hnziCpRBYOI/zwhxgeewzm5sBmQz5wgMj73w+xqrq+Pgz/9V+Ig4MQDqOUlKAcOoTF76dweppQZSWOffsY2rGDuRdewG63azLxgoICDAYDBoOBNkcbj86/zIvVBfxF3Zs5tGs/4s6dYDDw0rlfYxbNTPumERAQxscRpycwmW1c2FNArbsasb8f07/9G8F/+ReIlTyHw5i++U2MP/sZgsfDDoOBuVe/Gv7+7xGsVgoKCijr7sYISNu2EQqHCfv9yLOzyKEQksuFYWICMRKB4WFy/tt/I/ilLxF5y1tQiooQrhTbAWRZQQopiCKYi3MoLFSufLYCXq9AJkS72Y7Iljt+otE06ry1rq4u8vLyNFJLNJpGXSObJKPe69ciIouFqlpUkSl3oVjs3r2b5uZm5ubm+NnPfsZ73vMennnmmYyRmRrZPv/884RCIR544AG++93vcu7cOQCtlWNkZARY+2DgTUFkRqMx7RqZ6hAiiiKNjckl1SoyQWTL9YetxaF+ufW6u7uZn5+nsrKShoaGVR9LaGtD+O1vEcbHQRRRGhqwbt+OfMW/0OfzMdvdTYUgUF5WFr+hGAygptUA4Ve/QnzwQZTCQti2DXw+DGfPRlV0n/1s9PVuN8avfx1hZASlvj6qSJycRLhwgcgHPoB84ACC1Uqp2Uwp0TStw+HQlJiKokRTlIWFPPj4F5mf6MGjCDiPnab08Lu0p+v/eeh/8kb/G6NfFEnCfu+9CO5clKoqtkZywWxE3rYNcWgIQ3MzUmOj9j5M//f/Yv7a16LmvzYbhkCAsp/9DGw2Qn/3d9EXeTxw5UHFarFg8/kQFAXFaMQ0N4dsNBI2GhFFEdHrxXTPPUg7dyK9+tWY7r8fnE6UoiKUSIQy9yjBmjoW9p+I4VOFQGDtBLQe7vepkszipuJQKKRFa21tbQlH00D2iUz9fl7r9OV6TIc2m82a2OPEiROcO3eOf/u3f+OBBx7I6DpOp1OzoBodHY17X3NzcxkzY94QRLbSFyxdkpmZmaG1tTVuttZKWGuNbKX+sEwTWTgcpqWlBb/fT0VFxdpSD0NDiD/4AYLXi1JTA7KM2NlJWXc3C1VVOPLzozn6Q4ewt7dHG5XV9cJhCIVQjh4FQA4EMP7ud9GmXrWxvaAA2WhE7OxE6OpCOXAAsaUFYXgYZfduTdig1NYidHcjPv88cgyhQLSGUFlZSWVlpZbWc1y+zNBH/oiLtW00+AWcOQq/fegfeWO/gOXDH8VgMFBlrqIivwJJklA8HmxzRhBLUUL5hMMQUBQETJhCMt4JDwFX9HTy/NOY778/GlEaDIjz8xgNBqTcXEy//S3h970Ppboaef9+hN/+FiUcjjZsX2lqFsNhEEVEmw0BUCIRFED2eJj893/H9eEP03DzzRScO4c4NYUlKOHJKWXyjg8Tyl/bVO5EWI8a2WqPbzab4z7bWIFNd3c3drud4uLirNvUqce/1qlFr9ebdSJbDEVRMtripN4Le/fu5eGHH9aGaKrG3s8++yzd3d285S1viXv9arEhiGwlpEpkiqLQ39/P4OBg2rLztdTIFtfDEqmzMpm6VP0Z7XY7N910k2bIuVqIFy5ERQkxiiVl924sL7zA/MWLXHQ42Lt3LzU33ohy6RLi+fNRPz9BQPB4kA8eRLrtNhRZRpqbwzg/H+fgDkBODkIgEG3SJepGASxV5+XmIkxNLXu+giAgSQWUPvgA3xQ78JsEtiyYsCwo9OWHefzB/82+mnpyTp+m5EoKVBRFKCpCaGhAbG4mUFBK/4BIOASWwDw2v43fv7yV2RED+fnwPtePEJzOaI+bxRI954UFjG43gigiDg8jVVcTufNOjL/6FYaurqgbiSQhqNmDK5uVAAiShJKTgxGokGXcNhtNt9yCWFtLuduNZC7ih52HOLDtMNkwJtpIEdlyWCywiW2HUBSFCxcuaCnI4uLijKbdVDK+1hJ/n8+XVZ/Fe+65h7vuuou6ujo8Hg8PPvggTz/9NI8++mjG1lDf3x133MEzzzzDX/7lXzIyMkJOTg733Xcf3//+9zlw4AB/9Ed/BKw9nbtpiExVqiW7AdSIyOv1cuONN6bdo7BaolH9IVfyS8xURDYzM0NLS8uS+tuaSHJyMr42BMiiSCgSwTc2xvE3v1mrL0qf/SzKr36F8OyzCJKE9La3Id19N1JBAYokRd0mSkuj/n6xY1U8HpScHE1Rp5SVaU3LmM3RKO9KylFZYcie0wn33qtw5+Pf46VbFCrcJqSIiAEwygo/2R3mvmefoL+ykra2NgoLC7XaWt4b34jY24uxvx+zu5RcyU9OcI6h3bcS3rkbc1Bmbk5AbGm+2lytXhOLBcPCQlRirzqLFBcT/NKXMH3vexiefBIUhchrXoPhxRcRZmej70tRooR9pTHZdPgwO3fuZOfOnfiPHMHhcDDUN4OvN4fu7m7Ky3PJy8u78lSemU11I0dky0FthygrK2NycpKDBw/i8XiYmpqip6cH2xXTaLV5fS0b4noIPdR1VkotLrbpyySmpqb44z/+YyYmJigoKODQoUM8+uijvOY1r8nYGur9lpuby7/927/xla98hUcffZSpqSm+/e1vc9ddd3HPPfdobS5/EBGZmkdNdqN5PB6ampqw2+00Njauql8lXSJL1y9xrUSmKAqDg4P09/ezf/9+qqur4469JiFJZSVckZND9DqPjY5iCocpqK+PF8kUFiL/8R/DH/+xdl6SJGkPGYLZjHTXXRi/9rVo/aukBHw+hKkp5Fe+EuVKH518+DDy3r2IzzwT9Qr0+0GSUGprkVaQAU9MOOnvl3lq5yyzOQp+k8QkUlR+L0J/kUKrZYo7Ghvx+/3Mzs4yMzNDf38/FouFrW97G8VPnUE8P42cm8fAqTcyfONbKTCbMXgVQiEFIRJBLiyMNhcLAoLRiBCJIEhS1GH+Sn0BwG2vJPL+j8Of/i/1AyHnFz+m6B8+juj3odjtKFecS5SKCiJvuTpDTG0wlqRcjEY3JSXlBAIeZmenCIUuYzTmYjbn4/cbyc+3rvoLvx4R2XpMoFYl/PX19UQiES1aizXsXe1omvWQ90P6Yo9M41vf+lbWjg1X74Wenh5+85vfEAqFOH36NP/zf/5PzfEjFpm4bzYEkaVSI4PoDbCYpMbHx+no6KChoYHt27ev+qKkE9WEw2Ha2trwer0p+yWuJWqSJIn29nZcLhc33HDDkvk9ayVJ+dgxDOfOIfT2EigrY/LyZXKdTqSGBsJ79yb9vSUkJghE5AjfKR/hDX/8Jup+/2LUJ9FqRX7964m8+91X53RZrSg1NYjDw+B2g9EYTeO53RiefprI8eMJG4pHR0fp6hqhsPBG6uZO8KHzLxAxWgEBWQFkCZsQov5PTgNRoqirq9N8A51OJ7MlJbTl1vGknE9RVS4l1UXkCSbMgoAoChgMAtKhozDaHyWg2VkIBhEUBcluJ/CBDyBdiUAWFkR++lMT0WkUsffm/2DPn9Rzd9P/xtzfE02H3ngjob//+2gdchGivWISJlMuJlMuOTlVBINhFha8gJvm5gHy8w2UlpZSUlKS9mDMbNs7Zfv4iYQYRqOR8vJyysvLMzKaZj16yNSWkZXk9+tdI8sUVBLr6OjgL/7iL2hvbyc3N5fPfvaz3HPPPXzyk58EUhsumg42BJGtBDV9FqtclGWZ7u5uxsbGOHLkyJqnjBoMBu0mW+4LmUo9LNnxV0M2gUCAixcvIooip06dSjjEL90BmEvQ0ID8rncR+NnPcLa0kJ+XR+ErX0nvvn2Ek5C0muqNJTGAxwcf5+st32By53/j01/6EsLUVLR2VBovYBCGhjD+4AdgMKDs2QORSPSPzYbhueeQ3vCGqBDkCtRJ0xMTExw8eIzHH7ehWP6ZP/3lG7AG55FEE8gygqLAgcMop990VYBxBQaDgbKyMsrKyqioUGhtlzEa3czPzzM+Po7FYsFoLESS8vDdeTf21pcQxsaQy8vxXyEz8c47Cd9xRzSNCvj9AnNzBmw2IS476/cLXCp7BTd87xcUL1yOvs/q6qRuHzabTGPjDMeOxSpPBSAPozEPq7USl8uFw+Ggu7ubUCgUp+xbqVa0WVOLsceH5EKMVEbTFBYWavW1ZONV1qM+BsvXhLIdkWUT6n321a9+FUVR+NrXvsbu3bv5yU9+wle+8hXuvPNObrzxxoxf501BZBCf+gsEArS0tBCJRGhsbMzIuAP1xlqOyNR6WF1dHbt27Urri7uaqMnlctHU1ER5eTn79u1Lel6ZqL8NFxbSc9NNHHjd68ivqUGuribc0xOddhyDxU4dsSQWkSN8t+27OP1OHul/hHftfxfbG7YvWQtAPHMGZmaitTL185OkqJzd6byqaCR+1M4NN9zA/Hz09RNlB/n+O3/JK1/4ZxqGnyEsmJmwb2dLkQ3rxz6GUl2N9N//O/Ktty4hEEEQsFgsyHIpVmspZrPEwoKP6Wk/c3Mz/LbBxYl3v5vqZ5+Fpiaorib3TW9Cecc7MOfmxjz0RB8gzOYIFkv0uNEHC4FAIGpirGzZktJnYLPJJB+Wa4gbteLz+XA4HFr0EVsrSjTcca19OithPSIy9dqmgsWjaXw+n5aGVEfTxEZrqYxXydT7gJWJbLNGZCqee+45PvrRj/L2t78dgMOHD/Ptb3+b6elpIPMPVhuCyFJ5Q6pNlcvlorm5OaMOFhCfvlzc27Ca+WGLkS7ZqI2iu3btYsuWLStOcl4tkcmyzKVLl5iYmOD4TTdp8lj1uLHpUHXzVtdavLE8Pvg4XbNdbCvcxrh3nP/X8f/49Cs+nXBdYWoqSmDhMPj9UdGHKF4VfVyJBAOBAM3NzZhMJk6ePInJZEIVPPp8Ar32w/Te8X1EKcwdz36W+vGzYCpEKbAiDA1h+vd/J2yxIJ8+Hbe+0QgGg8Kjjxqu9GkZAQtQhMmkcPZsFQ3v6mP4Ljvcdht5hYWUVlRQCuRfyRAYDAbMZq40ZoMoKlfdRiSQJDX1urISLh2iEQQBu92O3W7Xog81Wuvq6iISicRFa1ardd0sqrJ5/LWMV1Gv1+LRNH19fQQCAQoKCjCbzdqDWraulSRJyxKymiLd7EQ2OzvLgUWirby8PM3B5Q82IhNFkYmJCcbHx1Pa3NOFeqzFdSy1HubxeFKuhyVCqjWyWGI5duyYNj5jpWOvhsjC4TDNzc0Eg0FOnTq1JLIVBAE5FEJ4+WUYHUUuKEA6fhwhN3fJjahGYwoKNpONImvR1aisaGlUppSXo1RWIjY1RSXrioISPSnkEyeQjxzRRDwlJSXs3btXW9NiiVojulzgckU/t23ONqommnAUbqOmwgZWUPLzoacHw69+Fe1Li7lf8vLg9a+XaGsTsVoVbLarRBIMCvh8AuPjsxw6VE9tba1WexkZGUEURe1pXxSLEQQjBoPhium+ciU6kTWvykhE0T4ndRNL9EVe7f1sNBq1lKm6Ec7OzmrKPvVzzcvLy5qgYb0iskxg8WgaNVobGxtjYWGBM2fOxA0SXavZcSzU2tBy7+V6IDK/389PfvITBgcHMRgMVFdXa/fjli1bMJvNmEwm6urqrh+xx0qIRCKEQiEmJiY4ceJEXNSQKQiCsKSOtbgetpbBm6nUyEKhEM3NzZo7f6op09UQ2eJetEQd9ia3m9KvfAXD6CiEQoiiiLGhgcgnPhFXv4Kr0ViFPWpBVWQtYmBuID4qC4UwPPoo4hNPIIyORqc8X1FbKkR7rTAYUPLymJ2cpHVwkIaGhiW2W4IQLX3Ffhzl4TGMhIlY7CDEXIuiIoTR0WjEt6hp3G6PkmJRkULs88nkpJfZWTcNDQ3s2BGVQVdXV1NdXa2NLlEnAE9PX2J0dBcLCzmUluZgsVgQBJFwWMRoFDCbzRiNUpw3ZPQ9CBqxpTrANBXE1orUsTQul4u+vj5mZmaYmZnRNulY14y1Yj1qZNkiSnWQKIDD4aCurg6Hw8Hg4KA2DDNTo2lSqcNtZiJT39vBgwd56qmneOGFF7R7Iycnh29/+9v88Ic/xGg04vP5ePLJJzMyzmVDENlKTydNTU0oisL27duzQmIqYutwa6mHJcJKZOPxeLh48SL5+fkJ3fmXQ7pij9nZWZqbm1d8b4U/+xn21lbkPXu0NKDY34/py18m9JWvaEyiRmPukBujePW8ZUW+GpUVNGD8//4/DL/7XTR1aDIhjo2hyHK0TiYIUXPh3bsJXb7M2MMPs/8d79DmxcUiFIqW0qKRVPRnoi9aF5L9IWQp5tp5vdFBlSk8hCgKV0hqnuLiSqqqlqbKYkeX7Nq1i+lpP319Yaam/IyPOzEajdjtdnJycqiszMFsFjGZ4o2OVaVnbISu/j3TG7bJZKK8vJzp6WnNz3B2djbONUPdpJN5HKaC9Uhdrpfjhvr5QjS1rQ4SzcRompXUetdLavGrX/2qNkjT7/cTCASIRCJ4vV78fj/BYBCPx5MRfQNsECJLBpVMampq8Pl8Wb+R1blnfX19DA4OrroelgjqU3eiL+TU1BStra3U19ezY8eOtDeEdCKy4eFhenp6VnQ+UVwucs6dI5CXB0YjFkAwm1G2bkXo78f1bAeeXccACEkyVqmUg4U3XjkfsF550DcbzYTlMEJLC4Ynn0QpL482TcsyyvBwtE+roABl/36U3Fxc8/OIPh+7qqqwJSAxgPl5aG0VEcWrosRW6Qa2hHewZbKHsHsLNqsVYWYGIRRCeu1rr8r+k71fJdpsvrDgpbKyhoUFC7Byb155uY0//3MbkUh+TO1lFofDgSQF6esr0NKQqrIwVlgkSRKSJDE7O6t5ii6O1jIBlWjUIaINDQ0JPQ5jo7V0MhDrkVq8FrPIrFZrRkfTrERkfr8fWZaz6uyxHjhy5Mi6rrchiSxWXHHgwAGqqqpoaWnJuteaKIqaVHct9bBkx4b4L0uspdZaSDMVIpNlma6uLqamplZMzyqKguL1YhEEwjk5zF2xlbJYLFhNJkxzCzz38d/hCT+Dx1RES9EtzOZ8Xfv93HyFL30pFGt0j/i7/xdN76myPFGM1rDcboS5OSJ5eThmZ1HcbsrKy5H27CFZjBkKRf/Y7UqM5N3G96s/xlsvf4WdU92IrhBKYSGRP/qjKJEtg4WF6MNEOByhsrKOUCi9p+yrt4mB0tISduwoWVKr6u7uJicnRyM1VVmoKAqdnZ14vV4OHz6spaBj73XxyviatWzkiSKmxR6Hbrc7zpE+Pz+f4uLiqCNKXt6ym/RmTi3GrrEcySQaTaNGa6mOpkllhAuwaeX31wobgshivwChUIjW1lZ8Pl8cmWRqSnQyqCGv3W5fcz0sEWKfwuGqpNztdq+ZNFciMrX2Fg6HOXXq1LI9R2rqSyktxVhbS8HgIHm1tYRDIQLBIJHBQQyXRzgW/hmy0YpRlHm16yF+tfMjtFTegd8PbrdAMChALBWptRhZ1qIjpbYWYWICxefD1dODKRymSFGQb711iU2V0xnlQYDZWa20BlzNGk7n7+C+yi9z8MNN7Kz2RadLL2P1YzZDbq7EwIADQTBQUlKO2x09t0UDltNGolqV0+lkdnaWtrY2ZFmmqKiIhYUFDAYDJ0+e1O652GnfajpSvfdXG62tlPoTBGGJI73D4YhO8m5uRhAELVIrLi5eklLb7A3XkH4fmcViiaudpjKaJhXDYFEUszK65XrGhiAyFW63m6amJvLy8pY0G2diSnQyqClMs9lMfX19xkkM4iMyn89HU1MTJpMpI6S5ZJJzDFRRR25u7oq1tzinDpMJ6Y/+CPFLX0Ls7cVcWBgdojk9TcRmY9C8H8EIAhGqApe5o+8rDJYfQrGWEwgs/aLKJ09CYSHC2BhKbW1UsWG1IhUX4yoqwiwI5NXUIN16K9Kb3hSXCnQ64b77rsruXS6YnhZwuQQsFoX6egWTKUpukmDEv+sQ8vJ2jQBYLAvcfHMbr31t4ZVR8hIQvcfMZoh15pqZ4Qo5JzqOwkr9+KpnoOotNzs7S0dHh0ZSTU1NWrSmpqhi75nYP6uJ1tKtYZnN5rj5YWq0Njw8HJdSUwUQ10tEttrvYiqjaZabh6hCbYbO5rW8HrFhiGxsbIzOzk62bdvGtm3blnyQBoMho2MGYGlq7/LlyxmfGaZClV07nU66urrSGjGzEpKp3hIZDCdDIrsp+bbbCJvNGH7xi2iDcmUlzM8TKqhA6LNgMSsYjWbmTPWUe/ooHT1Dr/U0gYCdyUkXFRWFmipO2bKFyJ/9GcZvfAPhykiHsKIwtm8f4Xvuoa6ujvAVp/nFCAajdTGbDWw2BUGIEo2iRMllYSH6/5FI9L+p7EUul4uWlhYqKuqorV16v8V+LDMz8KlPmTUiXYyCAvjCF0IrkpmKhYUFurq6KC8vZ8+ePXGz1hbL+9XoZ/FkbEmSNKl/KtHaWsQYoihSWFhIYWFhXEpNJTY1wvB6vUQikYzNmIrFeok9MrXGcqNpgsEgL7/8shatFRQUaOuqQo9sENkXvvAFHnroIS5duoTNZqOxsZEvfvGL7E42GX0TYUMQmSRJjI6OcvToUUoXWRmpyHRqMRKJ0NraGtcfNjExkdU6nCAItLe3s3fvXurq6jJ23MWpRUVRGB4epre3d4nBcNz5tLQgPPIIwuQk0q5dKK9/PWJNDYJ6LIMB+eabkV/5ymhRyu3G8qd/ihKJv21EowGjwUBpUT4lOSVMT0eYnJzE7W4jLy+P0tJSysrKyHvDG5D370d88UWcY2MMWixUvfnNbEnxWthsUZm8IEBNjYIkKUQiAsePS9jtavpRwO8XGB+/+ntmsxLnkDU1NUVHRwcVFbv5+c+3Mje3dNMoLFT4y7+MUFgYPaZKpDk58Q8MPl/035akUpNAbejfsmWL9sC2OEUVK+9f7N5vt9u1Zmy4Khi52oidOFrLpKpw8fnOz8/T0dHBzMwMY2NjFBQUaNFapqKLayX2yARiR9PIskwwGKSkpASHw0FHRweSJFFUVMS5c+fIzc3NmJJvMZ555hk+9KEPcfLkSSKRCH/3d3/HHXfcQWdn56avyW0IIjMYDNx0000rviaT87yampqwWq1xqb01j0NJAlVoIcsy+/fvzyiJQTyRybJMZ2cn09PTnDx5ksLCwsS/89BDGL7wheh4FUHA9MgjGH/0I6TTpxE7OiASQb7pJqR3vANl27ZopFRairx/P8YnnkdQiol6AUKhbwKvtYTRokMYJSM2m4kjR45QWRnUnOeHh4evzAWrwFN8GK95O/v37ycs5HP5cvScUknRQVS9b7eDxyMgSVESCYfhwgURRRG47z4h1mKRwkKFz3wmTElJlOAHBgY4ePAgilLG3JyAzabE+ST6fDA3JxAKxa+bk6OwVBWt4PentlFPTU3R3t7O7t27qa2tTfiaxfJ+1b1fJTaz2RwXrRkMhoTRWmwqMvbfMr1ZqwIIi8VCfX09ubm5WkptcHAQk8mkkZpqBbUabASxRyagGp/Hppm9Xi+Tk5P853/+J+3t7dhsNj72sY/x2te+9v/f3nWHN1m23/Om6d67dNCW1UJLN3uDMkWKop/jU3B9gqIgPwXB71McCG5cgDhQGaLSgiBDQCkbpJPS0kX3TneaNvv5/RGfl6RNm7TNKPCe6+LSpkneJ2nynve573Ofg8mTJxts1q9j3tiOHTvg5eWFlJQUTJ482SDHMBf6BZEBugULhuqRdTcf1pdwza4glUqRlpYGhUIBa2tro8yH0PdOb1FHQwMsPvkEkEigDApSbXGkUvDS08Hk5oIMHw5YWIB/4AB46emQffwx29eSP/445FmFCCjJgbTdBjaQQGxhhyM+j+GG0Ati8U0hhpWVlcaVe25uA1av5kMo5P3ze0tYWirAMFZgGAs4OhKsWycDNTOxsiLQZmxiawuMGaNAS4vK2WP5chmUSgb19Zaws1NCnbsbG4GqKgYlJQyys29AIBAgLGwUGMYRtBprZ4dOBNXe3us/h1aUlZUhPz8fI0eOhJeXl96P0+beX19fj5ycHEilUlZV2J28v66uDq2trbCysjK6vN/W1paVq9NxhIaGBty4cQPt7e1wcXFhiU2bcW9XMHYPDjCdabA6MamPRJw9exbfffcdtm3bhpaWFjz55JNoaGhAdnY2AgMDDb6W5n9q5fr07vo7+g2R6UJfd2Tq/TAq6Tf0MTqipaUFqampcHFxwciRI9kpd72gVIIpKABqagAHBxW5dHCmoKAD0RcvXtRroJr5+2+grg5Kf3/25MC0tKiOKZNB3tAMAh6UDk7g5RWhddfvaH58mapEN2IECl/8AD8v/hODxNch4HnhNO5CctlYoFz1XLa2gLBFCd6Fi+CdPQumrg7SQYNQaeEPsfguDPVSYmHxZozL/gWMQobfLe7BZzb/h2sWfnj9dcDFhQ+AQbgsFavaNiDo4ll8InNA6ohHcGnqK5BaO8LWVtUTE4tVxvqEqN4eF5ebcvj2diAzkwehkMGaNe3g873g4jIMiYkWcHYmePHFPmS46YHGRkAiUe0CKysrER4eB0KcUFOj6uP1dLZf3b0/JCREL3l/bW0tsrOzMXz4cHh4eGgdxlYXi/T2RK6NaNStoIYOHcoaHXc07qW7te52Q7fTjkzX6wwICMDXX3/NjmYM1NN0uicghGDVqlWYOHFiJ0/EWxG3FJH1tkemrR+mDR2jYvqC6upqZGZmaohX9CZKkQi8nTvBpKaqAif5fJCgICgWLwaCgjrdvbGxEQAwYMAAvUQdRCYDOvZM2tpUWyklgaywHAQ8EDCQ86yQvSMZn2VZwsWF4I03ZLAdHoSL0UuRbKnqW1kDmAAVQbe3q8p8fhcSwT/+EyCXQ87no/38eUS5+SOGBOKV88/AvzkbPKJ6zJPYhvni/Zjtfh5KJYP2diUGNxdg5YUHYIN2gAGcZa2YlvoJBlecxZf3/QGFhZXOkp5crhKKKBQS2NtL4e/vCh6Ph7Y2guZmBlJpz67w29o698FUt3VGYyOweTMfxcWNEIsd4Ok5HqdP36x3urgAK1bIekxmFPrI+21tbdHa2oqwsDD2wq3jbs1Q8n59iIZaQdHdJTU6prOb3YVi3so9MnX0JFSTYRiEhYUZZR3Lly/H1atXce7cOaM8v6nRb4hMV9mgt6XFrvph2mAIZSQd5i4pKUFkZKRGGUlfBw7e0aPgnT0LEhysyvKSSsHk58Ni1y4o1qxh7SzURR0AtKo91UF7JiQmBpaurmBqa0HozlQmA+RyECtriHjOYHgMLKCAvaQB7qiDrS35p2/E/PNaAAcHgo49YisrAou6WjicOAjY2aHOygV1dU1wHBwFh5IyPFr0JvybssBTIwQ+FPBU1GC55AukDHoX1tZiPJS4HFbydigseWAseJArGTBEicCaKwi6+juuBKpSlp2dVe07sbjz65XL5RCLCSwsGAwc6K5RPlS//z8zqF3+bG1N4OysUk5qI0/VGjQJTixWoqCgDny+DKGhnv/skAn7/Np6cH2Bet9F3Xjazs4O165dQ2lpqYa8X30XZg55v4VFz2JpbjXVYnfHMHeEywsvvICDBw/izJkzXfZqbzX0GyLThd6U/Xrql9jXHhnd+dHk6I4fSL2IrL0dzOXLIB4eN2tkVlYggweDKSwEk58PMmIEK+oQCASIjY3F33//3eVzd4pf8faGfOlSWH76KZiiIhUxNjcDPB6U1jaADOAxBHwiB2F4sGSUsLO72TdqaQHKyhhUVjJape7TLPLAkzai2s4P55IsAPjCwoIH+3Y5Yhr/1LpGPhSY0XYIqcxG2NjYIqz2omqtFioC4POJqqelYBDvdhATVk6Gs7MzbGwYuLmBVSnSNUqlEpSXN4JhvGBtzQfDdH5vLC1VQpCmJqZTT8zFhbCvzdNTJa/Xd45M1au8BiAYgwZ5wcmp84nL0D04ChpAWldXhzFjxsDBwQFSqZQVjFB5v7u7O5s2rU3ez1709EDeb4iYFW2xNDKZDFZWVrCzs0N7e7vRhoVNlUdmLiIjhOCFF17A/v37kZSUhODgYN0PukVwSxGZvmU/ffphXR2jtz2ytrY2pKamwtraGmPHjtW689NLFSkWq/513OpYW6tqZe3tGgIS9dRobUSmPnNE1wAAin//G2TwYFgcPgxUV4MRCsFLTQUkMtiJhWCUgNKCD5GtB1rsNKWEMhkgkzGwsiIabTsaLSaz5aNN3I6WxhYolS6wtGRUPsE8ORSwAEHnEh0BICFWqKlROXc0y+3hQVr/2bUwqn+EgA8l5DY2qK3NQHW1Eu7u7pBIPMHjecLFhY+mJgaNjWK0tDSDz3cBj2cJKyui1WrR2RlYvlyudWdkZQUN0YiKqHTL6+mwu62tGzw8PHVZPBoUSqUS165dg1AoxKhRo9gTfkfRTXNzM+rq6lBYWIhr164ZRN5vSDGGtlia7OxstLW14dKlS7Czs2N3a+ozWH2FqXZk3R1DJBIZzRj9+eefx549e/Dbb7/B0dER1dXVAABnZ+db3kmk3xCZPrslfeTD+vbDtKG38vu6ujpkZGTA19cXISEhXa5Prx2fszPg5wcmLw/ExUXFDBYWQEsLiJMThE5OSPlH1DFy5EgNUUfHoWj1K2t6Ja0O5bhxUI4bh+pqgLl8Bd6lq9FuYYfKIhksLZSQ2zrARVyDIn/t0lxCVI5T7PMpAZmMINMmEEInV3i2tqGpkQEYBtaMFO5yAf7CdDyGnZ2eSwkedsv/haNH+SAEiFM+gpXYDIYoAJ4FQAgsiAwEDGqn/Af+/hFobW1FfX0DSkurYGOThfnz3UGIFZqamhAaGgq5nI933lHCzo5AoQBaW1XHUi8ddjGd0CtQZxofHx84O9MKgHGTmSkUCgUyMjIglUo17K46Qt0vcOjQob2W93ccxqY/G7oESHuB9vb2cHBwgK+vL7tbozNYhoql6S89MkOP51Bs3boVADB16lSN23fs2IElS5YY5ZimQr8hMl2gJ+zurmh60g/Thp7uyNR7VMOHD9dZb9artMjjQTlzJngZGeDt26fanSmVgJMTGhctwqWSEgQGBnZyydd47pYWICcHpK0NSk9P8Lpx1K+uBpYutYKoZRyWNMzG+IYjkEsIJAwfNkIBygIjkDlkAaC2bCsrAmtrArlcZbhLIZMRiERSMH52sF7+EkSffoNh0muq94rhIRVR+JC8BBc0Yj5+hwI8MP+c6FMRjc1YAUbFe9jIrMNEcg6jyRUQOgtFGGyyeh2/fjEaVtsJVInO7nB0HIotW5rR0HANTU1VcHMDWlquw8LCGy4ugyEWW6OhQfP1OzsTWFkZjmTq6+uRkZGBQYMGITAwELW1quN17Ld1dVtfQMcueDwe4uLiejSr1VHe39jYiLq6OuTm5kIikcDV1RWenp5dyvvlcjlKSkrAMAzr3g8YxuhYHZRkaCyNl5cXO4NVX1+PqqqqPsXSUBI2t2pRXexhaBgq864/4pYhMvrHpwOFHWGI/LCe9MiUSiWysrJQV1fX7eCxOvQVexAXFzBisUpyZ2EBYmUFqUSC5suXER4fD58hQ7Q+d20tgW1xDhwO/wpeTaVqy2RtDUVUNOyeWARoKR+IxQyEQgY2tjwcDHsVhZWxCLhxBjakHan8URCHzQZP6a5x8vXwAKZOVcLR8eYgsVgsRlFRLZRKJ6xZYw+3sHE4UjkIP11IgwvTgkqLAFzGGDTJ7LGQJOIB/IpFTCLs+FLsl92D3cy/IWZs4e9JwOcDlZVOmKX4C/+LSERc21m0KB3waeWDSGNiMcJJyYorxGIGLS1AdnYRXF0lmDBhAqysrFgF38KFlyEWE3YX4ubmBmtr605uH31BVVUVK3GnLiq0NKmt/waofmcIS0+xWMwGpIaHh/fpRNxRgKFL3s8wDIqLi1FVVYXY2FjY2dlpHcam1YC+zK1p2y2pz2BR5SZ1o+9pLI36Wo0Jfdzvb3WXDXPgliEy+iXo2CfrbT9MG/TdkUkkEjbsc9y4cbDpYr6rI/QtXfL++guQSqGcMwdELkd9UxPEra3wEwpVnodaiEwotME7rxLMytoPF0kdKuxGgDAWsJULMfDCZYR5+8Lx/hmoqdE0v62sZCCR/GNxaGmJrKC5+Ln1HrS3q1ypRrUrYV+vuq9KAKESXdjZqcQSlpaqUNCamhp4enrCmu8Av+ZsMDkM2p2H4zdmISwsVNVRQlS7LQXhYy8eRqLlw/DwIKip+WeWDQCfD/D5Kj9FOc8K530fQJ7nIrS0AFdrLWAB6rmoWhMhSjQ0qEL7Ro8ezV7k0B5LaKjqql0gEKCurhQ3blyDo6Ojaq3Wnn32tSsuLkZhYSGioqLgrja97eqqktd3pUzszRxZR4hEIqSmpsLd3R3Dhw836MCwLnk/vaCUy+WIjo5mU367kvezQiMjyvstLS07+RvW1dVpuNGr79bU3y+6PmPuyPTZ9d0OoZrmQL8hMn2+hB0l+H3ph2mDPkTW3NzMnjzCwsJ69MHXd8fH5OUBDg5QKJUQ1NVBSQgGBASAn5sLZWWl1q6LXM6HQ1U+vGQVEHgMhR1Pta62NkfUtrsg8K9k5PhNw1sbbNDayoDHU5FXeztw4wYDPp+BjQ0QE6NEeLgSra1AczODNWvkCAhQHZHuYpqbVaW5piagpqYFTU1N8PDwRXjNZcSfXwPvHUVgeAzmuQ3CFPIRzpKpUCqB7iob9Hf/jLhBqVT9a2xUkVZbG6BQqEQjFAqFAi0treDxrBEWFsYmMWu8l2pX7YMGDWINbwUCAYqLi8Hn81kvSNoT0gdUHVhdXY3Y2Fg405w1NRgxzBzNzc1IS0uDn59fr8JYewp1eb9CoUB6ejqEQiFsbW2RnJzMemp2Je/vKhlb3xJkT8Uk6v6GHWNpysvL2ewwSmym2JHpQ5YckfUO/YbI9IE60fS1H6YNunZMlZWVyMrKwpAhQxAUFNSrJGe9enCenpBnZaGqshLW1tbw9vBQHeufXllH0No3EbfCgqcA39YSDFQ7qvJyHlolNmg5IsdXyXzkl1iAx1ORUmysElZWAI/HgBBVO66lRbXbUiiokIPA11eTgZydgaefliI7uwD19fUIDw+HW2U+vB95DBCJoLS1BQjgWJGLPcqHMc/2L5TYhgJQZZXJZB3Xf1M0UlPD/OOYpXpvr13jgWFUYg2FQrVbk0gAmUwBoVAIQmzA59vCwkIKfYQVHQ1vGxsbIRAI2J6Qm5sb2xPqaqdN1YEtLS0YNWqU0UxeuwLtxw0ePNgo1kXdQaFQ4OrVq5DJZBg/fjysrKw6yfsZhmFJjcr7gb4NY/e1f9VVLE1paSmuX7/OlvNaW1uN5j5Pv/tdvQ46T3erp0ObA7ckkRmiH9bV83clYc/Ly0NZWRmioqLgqW9eRwfweDzIOp7FtaA+PBzk99/hYmkJB19fQKFQzXt5e6tyvTqsTaFQICgoCImWzWiU8aAUlEJi7wml0hIKuSU8IUCF8zjYuViCXwHweARKJcMOEguFDLsjunJFRXR0B/V//2eFX36RapCZTCZDYeFV8HhSzJwZDRsbG1hu2QGmvQ0NSmcQkervoVRYwQ5CPCTagbWS92Fre/N56Z9M/f8BmrvJgM9X3e7vr3ITEQiAp5+2hlTK4No1AoWCAY/nCkJUJ7zaWmDQoJ7/PegVuXpPqKqqCjk5OXBwcGB3a7QUJZfLkZGRwZYyjZFd1x2o8bB6P85UkMvlSE9PByEEsbGxLEF1Je8vKirCtWvX4OzszL6PVN7f02FsQ8r7tcXSVFZWsqVadWstV1dXrT353kChULC9wq5gTLHH7Yx+Q2T6fEh5PB7Ky8tRV1fX536YNlAiU3cpkMlkyMjIQHt7u9Yh555A146MEIKioiLcsLDA6CVL4JiUBOTkqGw0/PygeOIJQO3kpX4C8PT0RLuHLyptpiOi9gTaWlvRLLVCiLwdAp4nrrqOgY2NEhYWPPB4qt0NoNKTqJf91I1NGEZFcupihfb2dnYnPGrUKFYhx8vKAgFAwKimvhiA4TNgFAQRFtdgZQV4ehLU1QEiEcOSl0KhKlO2tKhui41VsptOmUwV0+LrSyCVUrJVQqmUg8+3AI/HQCZTkTKNUamu1h6AaW1N4OPT9d9GW0+I7jJSU1NZ2XpzczPs7OwQGxtrlNyt7lBeXo68vDxERET0+mKqt6Czi5aWloiMjOxyV9GdvJ/6K+qS92sbxlZ38Td0+c/a2hpubm6oqKjA+PHj0dzczLr3Z2VlGSyWhiqudREZV1rsOfoNkemCXC5He3s7SyjG2H6rKyP5fD57hWZnZ4exY8f26sqMOX0aFnv3gikogJ+rK6qmTAEiIjS3IbhZrqqvr8foMWPg7OwM+bx5YPLzAUtLkBEjWIt2OrNDSZH9cjAMznksRLOdLwbXXQZPJMR5/jhcthwLW7hA3tAAudwVFhYMCFG9Vj5fxZN0OY6OhN2RyWSMxkBvc3Mz0tPT4e3tjWHDhmmcUEhgIJjkFJWHI48BwwMYQmBhAbR7D0SojxLvviuDWEzw/vtWaGvDPyVO1a7wxg2V6e+AATeHrFtbgaYm1f+rVIoKKJXkn78DA6VStW4eD7CxUZHYiy9aoaWl84nCyYngs8+k3ZKZOiwtLTVKUdXV1cjJyQFwM5STliCNXVokhKC4uBjFxcWIjo422sBsV5BIJOz3YOTIkT0iEn3k/XS31pV7f2VlJaRSKeveDxhP3q9OxEOGDIFYLGZ7a32NpdGlWKRVAY7Ieo5bgshoP4xhGAQFBRmthqxOZPRk1ZfyJe/gQVi8+SaYtjYQOzvYlpRgYEYGePb2UKoNIHapgvTyAukQ+dHRqYOWKm76AVriosVEXPSeiDYRQUYNH7a2BNHuSkilSjAMD3K5AgoFQUVFC5RKawAO7PyWpaVKYSgSqYxEmpuBgwd5sLFpRnl5NUJDwzBlSmfduvyxx2B54BDsxEJIGHswBLCRi6DgWeJM0GOwATBwIEFgIEFEhERj11RRwWDtWku4uhKtBv+q+JI8DBgwBJ6e1nBwuPnYtjagtZWBl5dqJ9bSonov1CcN2ttVvTl9wy87QigUIi8vDwEBARgyZAi7yxAIBMjLy4OdnR1LaoZ0mgA0RSVxcXEm75+0t7cjJSUFLi4uGDFiRJ9emzZ/xY7vY0f3/oqKCty4cQORkZFwcnIyqrxfG8nY2NiwsTQ09LS+vr5XsTT6SO8JIVyPrBfoN0TW1QdAvR/W3t5u1KE+uobi4mKUlpZ2m66sExIJLLZsASQSkH8c6+XOziCVlbD49lsoFywAXF3ZqBdXV9du54CqqlQ7F4VCCaWSsF9aa2uCAQNUFkrvvafpB1hWxmDVKgu4uiphbQ0QwoONDQ9isQWUSgKFwh6trXIolSpJPZ+vkrO3t/PYXY1YzOC//7UC4AlAZbnk5SXGrFmafwflhAmoWf0urN56G/aKFjAKoM3SGT9FvINc17FA4837ensD6oRCI1iUypvuG4CKgOhOlRAGzs52cHDo7N7VUeJua9s5X6y3XtACgQCZmZkYMmQIG6dhZ2eHgQMHsr6AVAWZkZEBQgi7w1AXOvQG1E+zqanJLKISkUiElJQUeHl5ISQkxODyfuqvGBgYyL6P6vJ+W1tbtLW1ISIigh1tMJa8Xx97KvXQUxpLQ/Ph9Iml0WcYGgDXI+sF+g2RdYS2+bBr164ZJcGZgjaUKyoqMHr0aK2San3B3LihYh+12SKGYSB1coJtQwOYrCxUDx2Kq1evakS9UFRU3HRor60FXnuNj9ZWgGEsYG19835OTgTbtklZMlMnCJlMVZJTKG46cAwdqkR7u2p38t57DKqqrLB0KQMLCyX4fCVkMiXEYgUAdREDYZWNhAB1dTwAnf8OzfcvwcpDD2JU+xlYWTPIdJuMdksnnQa51tYETk7kn13TzdtVJ6omODpaIiAgBDweg/Z2TQI1lvkuAFRUVCAnJwfh4eHwVrFvJ/D5fI20345CB+pj6Onp2aMgSaoOFIvFGDVqlMFSgvUFvcDy9/fH4MGDjS7v7/g+5uTkoLKyEra2tkhPT2fl/VR40xN5vz67td703mgsjb+/Pxsiqh5L03G3pg+R8fl8k/+tbwf0KyKjAZHq82Fjxoxhhy0NlRKtDWKxGGlpaQCAkSNH9onEAIBYW6u2OGrrZQDVzxYWKK+vR3Z7O0aOHAmfDo2bigrg0Uct2d2JVKraXalKfwRRUUrY2OgumdnYEDg6qgQbHXckHh4EgwYpYWnJwNIS/6j/eFqfR9VDIyBERWYNDdpfs7U1Ac/NGada7lXdoLa7cnIinaJOKHx8gM8+09xNtrS0IDs7GwEBnhg3LhTV1UyXr8XRUfVae5ov1hWo6KakpATR0dF6J+gyDMOq4dRLkNTH0Nrami1Burq6dnnilMlkbCk9Li7OYKo5fdHY2Ij09HQEBwcjSEv+nTFBL2Bra2sxevRoODo6asj7U1NTeyzv12e3potkdKGrENG6ujoUFBTAxsYGNjY27Nq0Hau1tZVVdXLoGfoVkQHdz4cZIi9MG5qampCWlgYPDw+IxWLDTPcPGgQSHg7m0iVVrYvPB5RKWNXXo2XQIBQ4OGDMqFEsSaujvFxFFlZWKnIgRCVJZ5ibsnlafdCWw0UxYACwfbsEYrHmCT4zU9VPys7moaaGwYABSlhYqPpKzs5AZaUCOTk333elUvPxH33EYOrUJri7O0Mi0fzSrVkjg1TKwMZGM9pEl2pQ9TsV0dXU1ODGjSyMG3eznDdgAPD1151fC6AisQEDgJIS1c8dd2k92bXR3YBAIOhzT6qj0KGhoQECgYCtLLi7u7PERj/n9ILKxsYGERERRvf+64i6ujpcvXoVw4YNM3lWFe0H1tTUIC4uji2x6Svv9/DwgIODQ6+GsQ2phuwqlqakpAQikQhnz55lQ0Td3d1ZkYuxpfdnzpzBBx98gJSUFFRVVWH//v2Ij4832vFMiX5FZLW1tazAYujQoZ0+WH1Jie4K1L5m2LBhGDhwIM6dO2eYXR/DQPHaa+CvWAEUFwMALORyiNzcUPz44xg7caLWEkJNDfDmm3yUl6tmqSwsVJs4FWGpdmUSSeceUFdQTSjc3AmlpDB46ikb0LeRELD/zzDAiBFSCIVSaJYWNSGVMjh7tgx79vAhldrC0tISfD5fo/zk5AR89ZUEPZ2QKC0tRUFBAcLDwzVCSbW9lo7oqkSpWk/XO0IKhUKBzMxMtLW1acSgGAIWFhYa0SRCoRACgQBlZWXIzs6Gk5MTnJ2dUV1dDTc3N4SFhZn8ypzOqI0YMcLgoy26QC8g6urqEBcX12U/UJu8n/You5L3A5ozotqGsWUymcEJjYLG0ohEItjY2CAoKAj19fWora1Ffn4+7OzscOjQIbi7uxtV6CESiRAZGYknnngC999/v9GOYw70GyKjEmP1WPaOMGRpUalUIjc3F5WVlYiJidFoJvclXFMdZNgwyH76CbzjxyHJz8eNtjZUR0Vh0n33dXml3d4OCIWqch6fr5KvU0UhoCKevrwFTU0M5HLV89MlWFqqyEyhIIiLKwCf74VvvumaKS0sLDBsWAQYxgK2tlIwTCs7smBlZQWl0hotLRb/7J70E+fQq3FqQNub0q62EiWFrh2hTCZjh31HjRpl1HKeun0SHcgtKytD8T8XPI2NjcjNze10MjYmKisrkZOTY5YZNUIIsrOz0djYiLi4uB5dQNja2sLf35/tU3Ul71cfk+g4jC2RSFBbWwt3d3ejyfuBm2M9dF6RilxqampQXFyMnTt3QigU4v7778fcuXMxZ84c+Pn5Gez4c+bMwZw5cwz2fP0J/YbIGIbB6NGju1Ul9iX4Uh1SqRQZGRmQSCQYN26cxtWfoY7BwsUFlZMnI9PVFX5+fpBXVuo8MancLlQkRsdUGFWuJGslJRL1Teig/txKpeq5CGFw7FgIGKb7L6+KXBlYWFjA1dUG9vY2UChUJwSJRIKWlja0t1ujqKgSLi7OrFN6V1AoFLh27RpaW1sxevToPqnz1EuU+oI6yNM5KVOX80QiEcrKyjBkyBAEBASwJ+OcnBxIpVI2zbk726y+gO6Co6Ki9O4HGgo0RUIoFCIuLq5Pr08feT8t51J5P+3HOzg4YPDgweyMpr7WWT2Btt4Yn8+Hn58fdu3ahd27d+Orr75CXFwcvv/+eyxduhSlpaUmd3C5FdFviAy4KfboCoYoLQqFQqSlpcHBwQFjx47tNNDY23BNbSCEoLCwEIWFhYiIiIC9vT0qKiq6vb9CoQRgAYBhd170v3SjSE1/Af1KZjpW+U+ZRfUFs7fnwdmZgM8nqKxUHcTHh2iQnjZOsrDgwc7OFnZ2tuDzCerqFKwrCgANSbr6e06ztAB0GwhpLLS2tiI1NRUeHh4IDQ01eTmvtrYW165dQ0hICHv1TU/GISEhEIlEEAgEGrZZtK/W0cG9p6CiltLS0l7vgvsCpVLJlnLj4uIM+rfXJu+nPUoq73d1dYVQKISjo2OnQW99k7F7AoVC0a0isa2tDV5eXli3bh3WrVuH5uZmk/9NblX0OyLrDn3dLdGZNG3BlIY6BgXdZTQ2NrLKy7a2NvbLoX5s9XRdpZKwXoMKxU0ys7VVERrDAK+/LkNkpIq86BxZ70CHq2/u+KytVcfy8FD16+iMFyVLlWFv938nHo+BpaUlhg0bhqCgIWhqaoJAIEBBQQEyMzNZY14HBwdkZWXB0dGxz1lavUFDQwMyMjIwcODATuMPpgCV948cObJTPxDQtM0KDg5mHdwFAgFKS0vB4/E0nPt74jJBCEF+fj6qqqoQFxdncjcJOl4gkUhMoszk8/kagZw0swxQCVz+/vtv9gKCDrV3JRjp7TC2LmUkNSym4EhMf/QrItOF3vbI1HdG2uTu6jBEj4wqzxiGwbhx49irMPohVicydW85AP8MOQPh4Up0/G5TEomKUjlk9AUKBbW4YsAwvE4RKxYWqj6aXK5yz1AnLzu7m3lg2sqb6rcxDMM254cNG8buMCoqKiAUCmFlZQV7e3uIRCI4OjqajExqamqQlZVlFnUeoBq6Lyoq6pG8v6ODO71AyM/PR3t7u4Zzf3d9JkIIrl+/jvr6erMMWtMYGIVCoWE+bCpIpVLk5uayUUzqQ+30e2toeT99HBfhYhzcUkTWm92SXC7HtWvX0NTUpDGTZshjqEM9ryw8PFzjA61+hcfj8TrZTfF4vH8k8ATNzZ3jTlSuGgQ2Nr0nMRcXAgsLApmMgGEs/innqn7HMCqBCaDamQ0ZokRLC4NPP5VqEKe9PWBhQeDkpJpj0zYC4OQEreukpNXW1oYhQ4bAxsYGAoEAycnJrLrL09NTqzOCoUB7QiNHjjSLsCE/Px+VlZWIjY3V+XnsCuouE7QEqZ7mbG9vz+7WnJ2d2QsE6pTS2tqKUaNGGaXn1h3kcjlLFjExMSY3XpZIJEhJSYGTkxPCwsLAMEynCwRDy/vp/+tyD+HSoXuPfkVk+pQWe9Ija29vR2pqKvh8PpudpAt96ZFVV1cjMzMTgwcPRnBwcKfX09WHX90R29tbpbzTNi8FqMihC5MJveDnV4V33qmAi0sgPD1V5ayKCgZvv20Ja2tVL4zuqAhRzbIFBxMMHdqZlL76SvtcF12ntpKnNnk9PYHQbLDr169DJpNpnbPqC+iwbXl5OWJiYuDi4tLn5+wJlEolrl+/joaGBowaNcqgJy31fpBMJmOHcWn/kSogq6qqIJPJDN6T0gd00JvP53froG8siMViDd9IbeebjvJ+sVjcyb2fim/c3d015P1A91lrcrm8WyJrbW2Fh0dnH1NDobW1FQUFBezPRUVFSE9Ph5ubGzuveauiXxGZLvD5fHYrr6se3dDQwDq1Dx8+XO/GbG8EJep2WpGRkVr7HcBNIpPL5eyXSFusQ0cvQkOANvaLi4uxaFHEP18YVUmkooLBtm0EIhGDlhbNx9nbE3RVedI119Xx+FRer41E1LPBQkJC0NraqjFn5ezszJJab6I0jEki+oDOqLW3txt9J2RpaQkfHx/4+Piwtlk1NTW4fv06lEolXFxcUFVVxb6XpoBUKkVqaiqsra0RGRlpclGNPiSmDTY2NhryflrOzcvL0yrv7yprTSQSob29HRYWFpBKpVoFIyKRCMHBwUZ5/QCQnJyMadOmsT+vWrUKALB48WJ8//33RjuuKXBLEZm6O313X4SysjLk5OQgJCSkx1ca9IOmL+gJqrm5Wa94GRquyefzdWYTGQrUfJaexDuu0c+P4NdfpWhr6/xYOzvV7/uCnsrrGYaBo6MjHB0dMWjQIPaqWCAQaFg9qcuodR2fjluYo5ymPqNmassphmFgZ2eHpqYmtk9Jd775+fmwtbVlS5D6vJe9QV9iYAwBsViM5ORkuLm5Yfjw4b3+zqnbUGmT99P3Ut2CjMfjoa2tDZmZmfD19YWbm1uX8n5jlxanTp1qVNN1c6JfEZk+pUVAdWLSdjJQKpXIyclhh2p7MxPTkx4ZnT+ysLDoZKfVEXQnaWtri+TkZHh4eMDLy0ujPGEMUAm8XC7HmDFjupT/9pWsuoIh5PUdr4ppYz4zMxNKpbJbt3kaCGlhYWEW30Ia0WNlZWWWchrtCdnb27Mk4uDggICAgE6SdKVSqTGzZojSI90JOTs79zkGpjegMTR9JbGO6EreX1dXh6ysLMjlcri7u8PJyQllZWVshp96r1L9Hy27Dh061CDru9PQr4hMF+gQrrbSHz1hymQyjB8/vtf2QvoSGRV1eHh46LQTUhd1jBkzBi0tLRrlCdoL8vT0NGjfoq2tDWlpabC3t0d0dLTJT6L0+A4ODgaT11tYWGjIqJubm1l7omvXrsHV1VXDCio1NRVOTk6dhDemQFtbG1JTU+Hs7GwWyyldWWIdJektLS2oq6tDaWkpW86lFwm9Kecai0R6enx3d3eEhoYa9fgd30uhUIjq6mrcuHEDhBA0Njbixo0bWuX9CoUCq1evhlwux/z58422xtsZDOlHe016ZdId/vrrr07Dm0KhkD1hhIeH90kJVV5ejsrKSowePbrL+1RVVeHatWsYMmQIgoKCuv2CqA9Udiwl0kRYgUCA2tpaCIVCODs7w8vLi4396C1oMKivry+GDh1q8pNIc3Mz0tLSMGDAgF4Hk/YU6qWexkZVAJqjoyNCQkI0lHumAP1Ment7GzzLSx/QQe/eZompixzq6+thZWWl4dyv66KEpqt7enqa5fW3t7ezlQ9jk5g20HKmu7s7Bg0axO7W6urqwDAMnJ2dkZycjPnz5+PDDz/E4cOHkZSUZNQe2e2MW2pHBnTeMVGloLZML0M8vzoIISgoKEBJSUm3og71+2tTJlJ0HHgVi8UQCARs/8Le3p7dXfTExaGqqgrZ2dkYNmwYAgIC9HvhBgR1q1APozQFaOClvb09mpqa2KvjtLQ08Hg89r00tn8hjUEJDAzUql41NgyRJdaxnNtRUao+s9axXN3a2oqUlBQMGDDALBdRlMTMRaLqPTlKoury/paWFqSnp+Pzzz/HqlWrYG1tjWXLlkEoFHYyS+CgH/oVkenzB6SlRUoqxcXFiIiI6DL4sKfoaiCaOhG0tLRgzJgxOkUd6vVvfUUdNjY2bOyHXC5ndxe0D6d+ItZWpqKD36WlpYiMjDSqlLcrdOdebwpQEld3cFcfHqZmsurSfkMGGdJ+09ChQ81yEWGMLLGOHoatra2oq6tDRUUFrl+/rhF6CQCpqakICAgwi1tKW1sbm2ptqkqAOmhP0tXVVWs5lcfjwcXFBVOmTMF9992Hffv2YcmSJUhNTcX48eMxcOBAZGVlcWTWQ/Sr0iIhRKdi8OLFiwgICIBAIEBLSwtiYmIMGn1QX1+PrKwsTJ48mb1NXdQRHR2tU9RBd2IAWPuavkB9xqq2tpbNsqJiEUtLS1aZ2NjYiKioKKPGQWiD+qBvVFSUyWe0CCEoKSlBYWEhIiMj2TQDbfej5Vz6GXJycmIvEnrTC6KorKzE9evXu02UNibMkSVGQy8FAgHq6uqgVCrh5OSE4OBgowuZOqKtrQ3JycmdhBWmglQqRXJyssawtTYQQrBx40Zs374df/31F8LDwwGoSPD69euIiooy4apvD9xyRHbp0iW0t7fDwcEBkZGRBh/qpFe0dN6Chm56enrqVF1pc+owNGgjuba2FgKBACKRCC4uLmwgaExMjMmj0hUKBbKystgLC1NbHtEZterqakRHR/fILUMikbAnYvVeEHUX0fdvWFJSghs3bnRLosaEObPEANX3JDU1FQMGDACPx4NAIGDnrPSxzeorRCIRUlJS4OPjY5ZyplQqRUpKCits6o7EPv74Y2zevBl//fUXIiMjTbrO2xX9isgAdJsAXV9fj+TkZLi4uGDUqFFGIYqWlhZcuXIFM2bMQGVlJbKysjB06FAEBgb2WtRhTNTX17Pmp3K5HI6OjvD09ISXl1efdhf6gkbiEEIQFRVlcrcIarlkCBJVT3EWCASsHJ2eiLVJ92mJu6KiAtHR0WYxeqVZYuaw3AJumg+ol1PpnBXdqTU1NbE9X6rcM9Rnk5LYgAEDujQDNyYoidnb23erjiWE4PPPP8f777+P48ePIy4uzqTrvJ3R74hMKpV2GtojhKC0tBR5eXlwcHCAl5cXBg8ebJTji0QinDt3DsHBwWyvSdfJQZeow1joqEyUyWQaZR46OOzl5cVKfg0JY8jrewI6I6dQKHSWfHsKKkenpEZ3vnS3Zmdnp2G+GxMTYxafPHNmiQE3y5mhoaHd5mZR2yz62aTGvNqifXoCkUiE5ORk+Pr6moXEZDIZUlJSYGtr2+2wNyEEX331Fd566y0cO3YMY8eONek6b3f0eyKjvZ/a2lpER0ejsrKSjQgxBkQiEc6ePQtbW1vExsbqdKPujajDEKCihpCQEK39ELq7oCVIAOxJ2BC9C3PI69VB3SKsra0RERFhdPPZ9vZ29iTc0NDAEplSqexxqrEhoJ4lZq6dYG1tLTIzMxEWFtZtokRHqBvzCgQCtLW1sVZPPRk7oepIPz+/Xqsz+wKZTKbxGeyOxHbs2IF169bh8OHDmDRpkknXeSegXxMZdUVQKpWIiYmBjY0NcnJyQAjB8OHDDX5sOkDZ2tqKyZMnd/uFMoaoQx+oKxMjIiL06sfQwWFKamKxuE9D2FReP3jwYAQGBvb2pfQadEbJ1dXVLG4RNKZHIpGwcmlDXiTognqWmD4XW8YA7cl1laXWE9D5P3qRYGtry5Ygu7LNMjeJyeVypKamwtLSslvvSEIIdu7ciVdeeQWHDh3C1KlTTbrOOwX9lsjoFb+rq6tG2So/Px9isRgjR4406HFps9rT0xMVFRWYPn16lyf4jqIOU5EYjYVvampCdHR0r05g2lR71JDXy8tL59VwWVkZ8vPzERYWZhZlXlNTE9LT0+Hn52e2fkjHExh1F6EXCeozVob2dVQvZ8bGxppcWAMYtydHs8Eosan3Kd3d3WFlZcWSGJ2TMzUoifH5fERFRXVLYr/88gteeOEFJCYmYubMmSZe6Z2DfkdkMpkMFRUVXTpnFBUVobm52aASVXVRx8CBA3H8+HFMmTJFa7nIXP0wKqpQKpWIiooymDKROjjU1tayJTPqLKI+hG1ueT1wc0bL1IPWFDQWiCZaazuBqV8kNDc3szNWXl5ecHBw6NPnRT1LjFYoTI3y8nLk5eWZRJ2p3qesq6tjE5RFIhF8fX3N4thB89R4PB6ioqK63X0nJiZi6dKl+PnnnzFv3jwTrvLOQ78jsmvXrrHOGdqu9kpLSyEQCBAbG9vnY1HZdllZGaKiotgB4hMnTmDcuHGddjzmIjGRSIS0tDT2BGqs0hW9Gq6trUVdXR07hO3u7o6qqioIhUJER0ebRdRQUVGBnJwcs81oUcsnT09PvU+g6jNW9fX1sLS07JW0H7g5kC+RSBATE2NydSig+u7duHEDUVFRcHV1Nfnx6+rqkJGRARsbG4jFYlhbW7N9tZ6+n72BQqFgQ0F1kdihQ4fw5JNPYvfu3YiPjzfqujj0M2cPALC1tcXYsWO7LJv1NcGZQi6X4+rVq2htbe10PG3hmtpEHQUFDITCzs/t6AgMGWKY64OGhgZkZGTA39/f6KU0Pp8Pb29veHt7s0PYNTU1uHr1Kggh8PT0REtLC6ysrEzmIk9FDSUlJYiOjjaLMo+WM3vqVmFlZQVfX1/4+vpq2Dypu6PrExwql8vZGJjY2FiTO/gDQHFxMYqKihATE2MWYYlQKMS1a9cwaNAgBAcHs2Kmjm7z1IHE0LOUCoWCTXHQRWJHjx7FU089he+//54jMROh3+3I5HJ5t0RVXV2NwsJCjB8/vtfHoCUiS0tLrbNPSUlJiIiI0MgO6ijqKChgEBnZtVItI6O9z2RGnSK6UiYaG+ru+UFBQexuTSQSwdXVlS1BGqvERftBdXV1iI6ONrlbCXBTXm7IciYdaqclyNbWVrZPSd1FKGgMDe3JmXrEgYqLysrKEBMT06Nhc0OBekcGBQVptd2itlm0BNnS0sLOU3p6eva5pEvz7OiYR3cK2T///BMPP/wwtm/fjocffpizmjIR+t2OTBf6uiNrbGxEWlpat8nR1G+Ryqup96K6qEPbTkwdun7fHWjiNC15msMporm5mU3YpsarLi4uGDx4MCtFr6mpQW5uLjvbZ4iTBgUNLG1ra8OoUaNMLm8HtPs2GgIMw8DJyQlOTk4YPHiwhll0QUEBq9pzcXFBfn4+HBwczBJISYe9KysrERcXZxZ1ZEtLC1JSUrr1juwYxErdWurq6lBcXAw+n8+WIHtqGK1UKnH16lXI5XLExMR0S2JnzpzBI488gi+++IIjMRPjliMyPp/fayKrqKhgXeG7k41TY2LaD6MJrqYAtXtqbm7GqFGjzHLyoKKKruT1tra2GDhwIAYOHKjRByoqKupxerM20ERlQBXGaY5SGh00NoX5ckez6IaGBlRVVaGkpAQ8Hg9OTk4QCAR9GhzuKWj/uKamBnFxcWbpi9LMv0GDBvVozMPa2hp+fn7w8/PT8CmlhtH6qkqVSiUyMjIglUp1ktj58+fx4IMP4qOPPsLixYs5EjMx+h2R6ZMS3VMiUxd1REdH6zwx8Xg8yOVysygT6Ql8zJgxZmno91Re37EPRIewMzMzQQjpcRJ2e3s70tLSYGdnh5EjR5qtlFZaWoqYmBiTqzP5fD7s7OzQ3NwMf39/+Pj4oK6uDjdu3EBmZiZ7EjZFSbe+vh5xcXFmkfj3lsQ6gsfjwd3dHe7u7uzoSV1dHaqqqpCTkwMHBwd2t6au0lUqlcjMzIREItHZl/z777+xaNEivPvuu3jmmWc4EjMD+h2R6UJXCdFdQS6XIyMjAyKRCOPGjdN5ZUkIgY2NDfLy8thMK1MooqgykTpnm+METj0De3sCV4+aUR/Czs/PZ0/CtASpjaSFQiHS0tLg4eFhlkRhQghycnIgEAjMthvWliXm6uqKoUOHsidh9ZIufb8dHR0N8n4RQthZxVGjRplF4k+NugcPHmzQMQv1/L+goCDW0q2urg6pqang8Xjw8PBgVbr6kFhqaioWLlyI9evX4/nnn+dIzEzod2IPhULRLVFJJBKcOnUKM2fO1EkuNGre2toaUVFR3X4g1UUd6vlVtbW1UCqV7MAw3VmkpTGYOLHrvs25c+2IjtbvraXKxICAALO4FKi71xtLXi8SiVhnEfUhbCpuoO+BucIo6YyWUChETEyMWXpyPckSU/fVrK+vZzPD+hIcqj6nFhsba/IUBeAmiQ0ZMsSkeW7q3/mKigooFApW0OTh4aF1V3r16lXMnTsXa9aswerVqzkSMyP6HZEplUrIZLIufy+Xy3Hy5EnMmDGjW2JqbGxkYyVCQ0N1xq90JepQ31nU1tZCIpHAw8MDIpEv7r6765KHvqpFqkwMDQ2Fn5+fzvsbGrQfZUr3eolEwl4kNDQ0wMrKChKJBEFBQWZx66C7dplMZrYZrb5kian3gQQCAaRSaY8tyKioob29HbGxsWZ5D8xFYhSEEPZiJiwsjHVsaWxshJ2dHTt+MnLkSBQUFGD27Nl48cUX8b///Y8jMTPjliMyQgj++OOPLp03AJX7AJWt6ypN9CRDjMp86c4iL4+Az3eFm5sb3NzcWGLVZ45MXZkYGRlplvkoOoZgb29vln4UoJpPunHjBpydnSEUCsHj8djdb1dJ2IYElbfz+XxERkaaTEyhDupb2FPzXW1Ql6ILBAIIhUKdwaFUXk6J3BziGqomNmUoqDpoSbWlpaXTblTdKOCBBx5AY2MjHBwcMHbsWHz77bcm++5u3LgR69atw4oVK7B582at90lKSmKzFNVBL5ZvV9xyPTKGYboUfBBCkJuby/Z5dMnWe+rUoS7zHTx4MCIj2//ZqZWgufkqnJyc2B4Q0HV5Tr2UN3r0aLMpwjrK600J9Z5cbGwsXFxcNHYW169fh0wmY8tlXeWB9QU0+ZvmSJmDyKlvYUREhEF8C7VJ0SmpFRYWdlKVEkKQnp4OhUJxR5NYdnY2mpubERcX16mkqm4UcODAASxZsgSOjo4oKiqCl5cXJkyYgC1btiAsLMxoa7xy5Qq2b9+OiIgIve6fm5urMfNnjpw6U6LfEZk+J1RtREbLQ21tbRg7dqxeoo6+2k3Z2toiMDAQgYGBkEqlbPmxoKCADRH08vLSaMSrKxNHjx5tlhKOurx+4MCBZulHZWdno7GxEaNGjWL/VuoKs5CQEHZouLi4GFlZWWzasJeXV59FCNRB393d3SzCEkDT8slYV/XW1tbw9/eHv78/FAoFa8ibmZnJjpZYWVmZjcRoKGdISIhZSutUodnY2KiVxNRRXFyM+Ph4xMfHY/PmzeDxeCgtLcWRI0f6nADQHVpbW/Hoo4/i66+/xjvvvKPXY7y8vMzih2ou9LvSIiEEUqm02/ucPn0a4eHh7I6rN6IOY2aIyeVy1oi3rq4OlpaWLKHRMpo5lImA+d3rqTWYRCJBdHS03oREh7Bra2vR1NTEKvZ6Y8ZLkxXUlYGmRH/IEpNKpbhy5QoIIeDxeGwmGN2tmULsQklMVyinsUArOHV1dYiLi+v2s1hWVoZZs2Zh9uzZ2LJli0mH0xcvXgw3Nzd88sknmDp1KqKionSWFoOCgiAWizFixAj897//1VpuvJ3Q73Zk+kB9R9bQ0IC0tDT4+voiJCSkR6IOY82I8fl8+Pj4wMfHh52tKisrQ2lpKXg8HiwsLNDQ0AB3d3eTfSEMIa/vK9T7UXFxcT3aAagPYctkMrZcVlJSwl4o6DOEXV9fj4yMDLNlqalniZnLLYNG0djb27OBkPRCQdX7zWMrCh3nqwwF+ncwJ4nl5eVBIBDoJLGqqirMmzcPM2bMwJdffmlSEtu7dy9SU1Nx5coVve4/YMAAbN++HbGxsZBIJNi5cydmzJiBpKQkTJ482cirNR9uyR3ZpUuXEBgYCLlcjpycHISGhupUOfVE1GFoUOf20NBQ2NrasjsL2gOiEl9jCQ2orNqY8npdoLtmJyenLiNQegN6oUBPwnQIm/bV1He9VFQxfPhws508zZ0lJpFIkJKSAgcHhy7/DjKZDPX19ax3IZ2vMlRwKCWx4cOHG9T6S1/Qi4mamhqdf4fq6mrMmTMHY8aMwY4dO0xaRSkrK0NcXByOHz+OyMhIANC5I9OG+fPng2EYHDx40EgrNT/6HZEBqi9bd/j777/BMAxaWlr08iI0V/wK3QWVl5d3UiZS41jaV2tvb9c5MNwbUHm9UqlEdHS0WXpyLS0tSEtLg4+PD4YNG2a095+OStALBfWQS7lcjsLCQqOEQeqD/pAlJhaLkZKSAmdnZ72TtdXnqwQCgYbFk6enZ49nzeiYgTlJrKCggN0Rd0diAoEAc+fOxciRI7Fr1y6TK1oPHDiAhQsXapCnQqFgLfMkEolexLphwwbs2rUL169fN+ZyzYp+SWQ0JVobZDIZzp49C0Bl46SvqING0puKxHo6ZKxtYNjLywteXl697leY2+4JuHn1Ta2GTNmPou9pWVkZJBIJ7O3t4evr28lh3tjoD1li7e3tSE5O7pO4RVu6eE9c5imJjRgxos9jBr0BHXmpqKjQ6R9ZX1+PefPmYciQIfj555/NIoQRCoUoKSnRuO2JJ55AaGgo1qxZg/DwcL2eZ9GiRWhoaMBff/1ljGX2C9xSPbK2tjakpKSAYRj4+fnpPBlpyxAzBSQSCTIyMsAwjN7KRHt7ewQHByM4OJh1Q6f2TtRd3svLS+sckDbQXZC55PWA8dzj9YWdnR0kEgkIIYiJiWH7QDdu3GAd5j09PeHs7Gy096c/ZImJRCKkpKTAy8urT58FdYun4OBgSKVStvxYVFQEKyurLoNDqVLWXCQGAIWFhXqRWFNTExYsWIDAwEDs3bvXLH8zAGyQrjrs7e3h7u7O3r527VpUVFTgxx9/BABs3rwZQUFBCAsLg1Qqxa5du5CQkICEhASTr9+UuGWIrL6+Hunp6aw5bXcwlahDG1pbW5GWlgYXFxeMGDGiV7sgdTd0Kmyora1FUVERbGxs2PJjVydgetIwxy4IUL3/JSUlKCwsNFsMjVKp1EgRoCUkf39/dsBVIBCwsfX0BNxbeydtMHeWGKD6PKakpMDX19fgrilWVlasy7x6rzIrKwsKhYJ1FwGA7Oxss6V7A2Az1XSRWEtLCxYuXAgvLy/8+uuvZtk99wRVVVUoLS1lf5ZKpXj55ZdRUVEBW1tbhIWF4fDhw5g7d64ZV2l89MvSokwmY0kIUDU9c3JyMHz4cPj7+yMnJweEEAwfPrzTY80p6qivr8fVq1cxcODAHiUJ6ws6B0RLkNSkV93YuLy8HHl5eWYt3+Tl5aG6uhrR0dFmCWKkpTyxWIyYmJhu+zi0B0TfU5lMBnd3d1aA09urcSqqoK4pps4SA1SlqZSUlB4nW/cV6sGhlZWVEIvFsLe3h5+fHzw9PU0ucqEJ47Gxsd2Gs7a2tmLhwoWwsbHB77//bha/TQ69Q78mMqVSiZycHFRVVWnE3Ofn50MsFmPkyJEaj6M7MYVCYdJdGKCyxcrNzTWZIo66YFCxiFKphLW1NcRiMSIiIoyeodXVmqg6MiYmxiyqPJlMhrS0NDAMo3OmsCM6WpC1trb2araqvb0dKSkpcHV17TK81digMShBQUEIDg42+fEBsHE+ISEhIIRAIBCgoaGB9S00dlkXAEpKSlBUVKSTxNra2nD//fcDAA4fPmyWsQgOvUe/JTKJRIL09HS2Qa5+UiwqKkJzczOioqLY28ypTMzPz0dlZSUiIyPh6upqkuOqQ6FQID09HS0tLeDz+axpLC1BmqLGL5PJNOLgzVGSEYvFSEtLg62trUHELeqzVdRfT9cQdmtrK1JTU/vcj+oLqIu+oWNQegI66jBy5EgN1wv1sm5dXR0AaJR1DakMpM4psbGx3VYG2tvb8a9//QttbW04duyYWaoIHPqGfklkTU1NSE5Ohp2dnVYj19LSUggEAsTGxgIwn6hDoVCwbtnmms9SJxDqXk/VerW1teyugpKaMWTflECsra0RERFhFuNdajnl5uZmlF0QjU2pra1FfX09LC0tWVKjQ9jassRMDeqWYS7fQuAmienyj1Qqley4hEAggFgs1tgB9+WzWlZWhoKCAsTExHTrnCKRSPDII4+gvr4ex48fv6NsnW4n9Esiu3LlCqysrLq8oq2oqEB5eTlGjx7N7sQAmFReT3eMPB4PkZGRZpNU0x1IRESE1h1Ie3s7S2rNzc0axsaGIF5KIK6urnrPJhkalEB8fX0xdOhQo38GOg5hK5VKODs7o7GxEcHBwRg0aJBRj98VqLzdXG4ZgGqAODs7u1fzeurS/ubm5l4Hh5aXlyM/Px/R0dHdEpNUKsVjjz2G8vJy/Pnnn2ZJoOBgGPRLIutujgxQfVkKCwtZIgNMS2JUmWjuk3daWhq8vLwQGhqq12unxsY0jNHOzo6V9fcmYbipqQnp6elm34FkZGToFUZpDBBCUFpaivz8fFhaWkIul/dpYLi3oP0oQ0TB9BaUxAzRo5VKpRrBoXw+X6ME2dV3rqKiArm5uTpt2GQyGZ588knk5eXh1KlTZukpczAc+iWRyeXybiX2VOJLZ7RMeQKlzuHGUibqu4arV6/2SV7flbExLZXpek4q8R86dKhZQhAB1cn72rVrZnNOBzpnidFdRW1tLVpaWtgsMDoDaAxUV1cjKyurUz/KlKiqqsL169eNIjTqGBxKlaXUhoxWQ2gkTnR0dLe9arlcjmeffRYZGRk4deqU2UYCOBgO/ZLIFAoF5HK51t8RQljfvvb2dpOKGsrKylhpuzkGfIGb6khDXnkrlUoNWT8AjXDLjiVLugZzzgVR/0pznrzpibOrMpp6FlhDQ4NeM4C9XYO5lKrATRKLjIw0+sygtuBQZ2dnWFtbQyAQaKibtUGhUOD555/HpUuXkJSUZLYSLAfD4pYiso6ijra2NtTU1LCiBupV6OXlZdCeVX9QJqonSkdFRRltDYQQdq6qo7Gxu7s7SktLUVpaatQ16FpfcXExiouLzZasDdxUxOm7BnW1nkAgMMgQNp0ZNGaemS5QIjUFiWmDWCzGjRs3UFlZCYZhOjm2qJcglUolVqxYgaSkJJw6dcpsik4OhsctQWQ0Q6w7UUdbWxt78m1paYGLiwtLan1RPykUCmRmZkIkEiE6Otoss1HUpaKpqQkxMTEmU0d2NDYWiUTg8XgICgpCQECAyQUu6hEo5hq2NkSWmLoRL71YoKUyfSsLlEh1CRqMCdqPMieR0tIuvcBUv1gAVPE/2dnZmD9/PjZu3IijR4/i1KlTZput42Ac9EsiUyqVkMlkADo7degj6hCLxezJt6mpiVXqeXt792haXyKRsPlZkZGRZvFc6yivN5V4QB2UzFtbW+Ht7Y3GxkaDGRvrC/VUaVOSuTrUiTQ2NtYgQ7PahrDpRVhXQ9hFRUUoLi7WKS03JvoDiVGBizaZP01CuHjxIv7v//4PFRUVsLS0xCuvvIInn3zSpFl0GzduxLp167BixYpu41dOnz6NVatWISsrC76+vli9ejWWLl1qsnXeyujXRGaIIWeq1KutrUVDQwMcHBzg7e2ts/kuFAqRnp5uVmWiPvJ6Y6Mrpwx1Y2M6LNxTY2N9oW451ZNUaUPCVFliXQ1hU3f5oqIilJWV6XSqMCZoSVOXqMKYEAgEuHr1qs4eKSEE69evR2JiIv71r3/h0qVLOHv2LCIiInDp0iWjX5xeuXIFDz74IJycnDBt2rQuiayoqAjh4eF45pln8Oyzz+L8+fN47rnn8NNPP7GOIxy6Rr8lMqlUanCnDmrAW1NTg4aGBtja2rKkpu7UQJWJgYGBCA4ONosyUV1eryv52ljQNwZGPbG5rq4O1tbWLKn1VdRA89QIIYiOjjbLrthcWWIdh7AB1Yk5NDQUAwYMMMtnoj+RmC6xESEEGzduxPbt23Hq1CmEhYUBUDmfXLlyBTNnzjTqOunnZcuWLXjnnXe6DcRcs2YNDh48qJEZtnTpUmRkZODixYtGXeftgH5JZBcuXICNjQ2GDBkCCwsLoxAJlZ/X1NSwJ19vb28QQlBWVmZWZaIh5PV9hVAoRFpaGjw9PfWeUwM6GxvzeDyW1DpGe+iCRCJBamoqbGxszLYj7Q9ZYoQQ5OTkoLq6Gu7u7mhsbIRSqdQQ4ZjCTYW6ZZizL0fz7cLCwnSS2EcffYTPPvsMf/75J5uwbEosXrwYbm5u+OSTT3QmO0+ePBnR0dH49NNP2dv279+PBx98EG1tbWaLkrlV0C9jXA4ePIjNmzdj0KBBWLBgARYuXGjw8h6fz4ePjw98fHygUChQV1eHgoICtLW1wcrKCi0tLbCxsdFrpsqQMIa8vqegQ8a92ZFaWFiwxKVubEyjPWiZzMPDo1tioiMWNA7HHLuP/pAlRkuaDQ0NGDt2LGxtbTWSsG/cuIHMzEwNsYgx+qj9icSGDx+uk8Q+++wzbN68GcePHzcLie3duxepqam4cuWKXvevrq7u9Jq8vb3ZC25zXVTfKuiXRLZp0ya8+uqrOHToEBITEzF16lT4+fkhPj4e8fHxiIyMNOiJjRCCqqoqAMC4ceNYWycajtnbHUVP10Dl9TExMWYr21AVWGhoaJ+HjHk8Htzd3eHu7o7Q0FC0tLSgtrYWBQUFuHbtWpczgEKhEKmpqfDx8cGwYcPMsiPtD1liVODS3NyMuLg4tqTJMAxcXFzg4uKCoUOHskPYVApv6CHs/qCQpBdXtKzaFQgh2LZtG9577z0cO3YMcXFxJlylCmVlZVixYgWOHz/eozJ0x8+5usCNQ/fol6XFjhAKhThy5AgSEhJw9OhReHh44N5770V8fDxGjRrVJ3IRi8VIT0/XqkykMmk6q0YIYU8Q7u7uBiM1dUVedHS02SIkSktLUVBQ0CufvJ6AENKlsbGVlRWys7MRFBSEoKAgs3yJ+0OWmHpfLjY2Vu9dlqGHsGlAqjkVko2NjUhLS9PpIUkIwXfffYfXXnsNR44cwcSJE024yps4cOAAFi5cqHHxo1AowDAMeDweJBJJpwsjrrTYN9wSRKYOGrWQkJCAw4cPw9HREffeey8WLFiAcePG9ejKmfaB3N3ddTqm03IOJTW5XM72KHSVyboDldfL5XJER0ebRV5PCEFBQQEqKioQFRVl8qtuqtQrLy+HSCSCjY0N/P39jWrr1N1azJ0lplQqNYJBe9uX6xiZwjBMj4aw+wOJNTU1ITU1VaebPyEEO3fuxCuvvIJDhw5h6tSppltkBwiFQpSUlGjc9sQTTyA0NBRr1qxBeHh4p8esWbMGhw4dQnZ2NnvbsmXLkJ6ezok99MAtR2TqEIvFOHHiBBISEnDw4EFYW1vjnnvuwcKFCzFhwoRur2KoVyA1m+3JlSohhC2T1dbWQiwWs6Tm6empd+NdXV4/cuRIs8Sf9If5LEDlEHH9+nWEhoYCAKvU66uxcU/QH7LEFAoFMjIyIJPJEBMTY7Ar8e6GsNX9CimKi4vZQEpz5XPRcNAhQ4Z06+dJCMHPP/+MF198EYmJiUZXI/YGHcUea9euRUVFBX788UcAN+X3zz77LJ555hlcvHgRS5cu5eT3euKWJjJ1SKVSnDp1Cvv27cNvv/0GQgjmzZuHhQsXYsqUKRpf1NzcXFRUVGDEiBF9FlSoD7TW1taira0Nbm5u8Pb27talgfaBqCrQXGIGdUWeOXaDgOrKn9o9qdscaTM2pqVdV1dXgxJNf8gSUxeXREdHG+3CRtcQdnV1NUpKShATE2N2EtMnHDQhIQHLli3DL7/8grlz55pohT1DRyJbsmQJiouLkZSUxN7n9OnTeOmll9iB6DVr1nAD0XritiEydcjlcpw5cwb79u3DgQMH0N7ejnnz5mH+/PlITExEUVERDhw4YJQSGu391NTUsL0fSmqUKKi8vje7QUOBihlob9Acu0H1kqYuuyelUomGhgb2ggHo3ti4J6CJyuaKggFuDp5bWFggKirKpOIS9SHshoYGAICfnx/8/f2NvgvWhpaWFqSkpLDjJ93h4MGDeOqpp7Bnzx4sWLDARCvk0N9wWxKZOhQKBc6fP4+ffvoJP/74I2xtbTFt2jTcd999uPvuu43qnUjVjzU1Naylk7W1NWpraxEWFmY2SS2Vtjs5OSE8PNxsfaCcnBzU19f3uKTZnbGxh4dHj0iZXlSYM1FZJpMhNTUVVlZWZpuXA4DCwkKUlJQgKCgIQqFQYxfs6elpVNUuhVAoREpKCiv26Q5HjhzB4sWL8cMPP2DRokVGXReH/o3bnsgA1WzWPffcAw8PD6xZswZ//PEH9u/fj5qaGsycORMLFizA7NmzjWr5IxaLkZ2djYaGBhBCNHwKTWlETB1DzCltVygUuHbtGkQiUZ+dMmiZrKamBgKBACKRiE1B0DVT1TFLzByQSqVISUlhbcjMcVEBgB39ULe+Ut8F0yRsYw5ht7a2Ijk5mZ1f7A4nT57EI488gq+//hoPP/ywQdfB4dbDHUFkb775JsrKyrB161a2Z6VUKpGWloZ9+/YhMTERpaWluOuuu7BgwQLMnTvXYHlR9Fjq8norKysNqyx1n0JjSu/pQOmgQYPMVkKjfSClUomoqCiDO2V0TEHoythYV5aYKSAWi5GamgoHBwez7YwJISgsLER5eXm3RsjqAieBQMD2gvW5YNAHlMRoYG13OHPmDB544AF88cUXePzxx7k5Kw53BpEplcpuXfMJIbh27Rp+/fVX7N+/H3l5eZg2bRri4+Mxb948uLm59frLIpPJcPXqVchkMq3yeuqnV1NTg/r6etja2hpFpVdVVYXs7GyzWm9JpVKNEpqx+3ISiYQ98dILBk9PTyiVSjbXzVzO7eoy/xEjRpjlZEyH8CsqKnrs5k+HsAUCAZqbm9khbE9Pzx6bRotEIiQnJ7NCm+5w/vx53H///fjoo4/w9NNPcyTGAcAdQmQ9AfW127dvH/bv34/MzExMnjwZ8fHxmD9/Pjw9PfX+8ojFYqSlpcHGxkYveT2d+6H+j1ZWVn023yWEoKSkBEVFRYiIiDBL+CGgOnGnpqbC0dHRLLsPamxcXFwMkUgEa2tr+Pj4GMTYuKdoa2tDSkoKPDw8euRjaUj0hcQ6QiKRsOpSOoRNhTi63ltKYn5+fjrVopcvX0Z8fDw2bNiA559/niMxDiw4IusG9MuekJCAxMREpKamYty4cYiPj8e9996LAQMGdPllosPW9GTV0xN3R/NddQ9DfaXnhBDk5eWhurrabEGUwM35rJ4aEBsS6lliUVFRGru1vhgb9xQikQgpKSnw9vY2W4+SqkUrKysRFxdn0NlB9c9tXV0dgK7VpW1tbUhOToaPjw+GDh3a7XuRmpqK+fPn4/XXX8fKlSs5EuOgAY7I9AQhBKWlpSypXbp0CaNHj8aCBQuwYMECBAQEsF+ugoIClJWVGcxmqaP0nDo0eHt7d3nipRZHQqHQbMnWgMqZIS0tje19mOvE3VWWGDU2poPCCoXCII4t2tDa2oqUlBT4+vpiyJAhZiUxGg5qzAF49SFsgUAAiUQCDw8PNlstIyMDXl5eOgk9IyMD8+bNw5o1a7B69WqOxDh0AkdkvQAhBJWVlUhMTERCQgLOnz+PqKgoLFiwACKRCFu2bEFSUhJCQkKMcmzqKE9PvJTU6BWveqo0FZeYA1TaPnTo0G6dGYyJnmSJaXNs6crYuKegA9cDBw40W8Yd3ZVWV1cbncS0Hbu1tZUVObW2tsLa2hqBgYHdJoxnZWVhzpw5WLFiBf773/9yJMZBKzgi6yMIIaipqcH+/fvxwQcfoLy8HKNHj8aMGTMQHx9v1PIR9X+ks2oymQxubm4QCoWws7Mz+WCtOqi4xJzS9r5miak7ttDhdlom68nIAN2VmnPgmpaZa2pqEBcXZ7YdulgsRnJyMpydneHs7MwmYdvb27PvrYODA3g8HnJycjBnzhw888wzePvttzkS49AlOCIzAKRSKZ5++mmcPn0aP/30E65fv47ExEScPHkSQ4YMYTPVjGlCSwhhc78YhtGY+fHw8DCpezZ10Y+IiICHh4fJjqsOdbunqKioPr9+6n5RW1uLpqYmODo6sn217nY21Ll9yJAhOq2WjAVKYrW1tZ1Kq6YEJTE3NzcMHz6cJSaq3BUIBEhLS8Mbb7yB8ePH48qVK3jooYfwwQcfGF0ctHXrVmzduhXFxcUAgLCwMLz++uuYM2eO1vsnJSVh2rRpnW5X9ws1JJRKpdlmDG8FcERmAKSnp+P555/Hvn37WGk73S0dPHgQiYmJOH78OPz9/bFgwQKjZKo1NTUhPT2dlTCrW2WJRCKNEpmxSo1UHFNeXm4WF30KY2eJSaVSltQaGhrYkQlPT084OTmxJ2g6t2dO1xBCCHJzcyEQCBAXF9dlCc/YkEgkSE5OZoNSu9pdicVi7Nq1C99++y1u3LgBPp+PuXPnIj4+HgsWLDCaH+ihQ4dgYWGBIUOGAAB++OEHfPDBB0hLS0NYWFin+1Miy83N1RBReXp6GuzzRsmL/lcoFCIrKwtWVlaIiYkxyDFuF3BEZiAQQrotfQiFQhw+fJjNVPP09MS9996LhQsXIi4urk+kVltbi2vXrnXZi6JDwjU1NRAKhWz2l5eXl8FODHRsQSAQICYmxmyZaqbOEqMjE1Slx+fz2YuFoqIis87t0b9JXV2dWUlMKpUiOTkZTk5OCAsL6/Z7UlpaitmzZ2POnDn4/PPPkZaWhgMHDuCPP/7AmTNnTLqbdHNzwwcffICnnnqq0+8okTU2Nhrlgi0tLQ2HDh3CsmXL4OnpiYaGBowaNQp8Ph/5+fl49tln8dJLL2HYsGEGP/atCI7IzACRSKSRqebs7Iz58+cjPj4eY8eO7dEVXXl5OfLy8hAWFtZt/DuFWCxmSa25ublL54ueQF0hGRMTY7YTprmzxKi6tKSkBA0NDbCwsIC3t7dBjI17CkpiVKlpThJLSUlh3Uu6I7HKykrMmjUL06ZNw/bt281WSlMoFPj111+xePFipKWlYcSIEZ3uQ4ksKCgIYrEYI0aMwH//+1+t5cbeYPfu3XjsscewZs0arFy5EqtWrYKlpSXWrl2LGzdu4PHHH8e0adPw+uuvY+TIkQY55q0MjsjMjPb2djZT7dChQ7C2tsb8+fPZTLWuhqiptVBpaSmioqLg6ura42PTWara2lo0Njbq3fdRh1wu18jPMpdCsj9kiQE3RS4jR46EpaUlO6smlUrZ8q6xe5Z03KChoaFfkJi9vb3OIfjq6mrMmTMHY8aMwY4dO8wiUsrMzMS4ceMgFovh4OCAPXv2dBkLk5ubizNnziA2NhYSiQQ7d+7Etm3bkJSUhMmTJxtkPXv27MG///1vvPbaa6irq8Pzzz/PhnImJydj/vz5GDt2LN58801EREQY5Ji3Kjgi60eQSqX466+/2Ew1hmHYTLXJkyezJCGVSnH16lW0tbUZrIyn3vepr6+Hvb09vLy84O3t3aXlUH+IggH6R5YYAFRUVCA3N7eTyKVjZl1PjI17CkII6+sZFxfXJ0PmvkAmk7FmyLpKvAKBAHPnzkVERAR27txpts+RVCpFaWkpmpqakJCQgG+++QanT5/WuiPThvnz54NhGBw8eLDHx1ZvTYjFYvbvtn//fjZY8/jx47jrrrvYnllmZibmz5+PYcOGYePGjYiNje3xcW8XcETWTyGXy3H69Gk2U00ikWDevHmYM2cOtmzZAhcXF/z4449GOVHJ5XKW1Orq6mBjY8OSGvV/pOnWpupFdYX+kCUGAGVlZcjPz9fLv1GbsTGVnvelB0RJrKmpCbGxsWYlsdTUVFhbW+t09K+vr8e8efMwdOhQ7N2716TqWl246667MHjwYHz11Vd63X/Dhg3YtWsXrl+/3utj1tTUwNvbG+3t7fj555+xZMkSnDx5EjNnzsS///1vbNq0Cb6+vizxZWVlYfLkydi3b5/Bypq3IjgiuwVAM9V27tyJ3bt3w83NDRMmTEB8fLzRM9UUCgXroycQCGBpaQlXV1fU1dXB09PTbIa3QP/IEgNUCdeFhYWIjo7uceNfIpFoKCDpTpjOU+n73hJCkJWVhebmZrOSmFwuR2pqKqsY7Y7EmpqacM8998DPzw8JCQlmK0t3hRkzZiAgIADff/+9XvdftGgRGhoa8Ndff/XqeJ9++im+++47JCQkYNasWYiJicHevXthYWGBo0ePYv78+XjyySexfv16DTITCoVGjaC6FWCePTyHHsHCwgKBgYE4d+4cZs2ahRUrVuDQoUN47bXX8Mwzz2DmzJmIj4/H7NmzDa4WpIIFb29vKJVKdkaMYRjU19cjNzcXXl5ecHFxMemurD9kiQFg+5QxMTHdJlx3BWtra/j7+8Pf35+dp6qtrUVxcTGsra31Mo1WJ7G4uDijSdR1gZIYn8/XuRNraWlBfHw8vLy88Ouvv5qdxNatW4c5c+YgICAAQqEQe/fuRVJSEo4dOwYAWLt2LSoqKvDjjz8CADZv3oygoCCEhYVBKpVi165dSEhIQEJCQo+Oq15GDAoKgo+PD0aNGoWwsDD8+uuvAFTv65w5c3Ds2DHMmTMHSqUS69evZy/e6Hdel3L6dga3I7tF8PLLL6OtrQ2ff/452whXKpVITU1lM9XKy8tZR5G5c+dqzDQZAnQuavDgwQgICEBjYyMbaEkI0bDKMiap9YcsMfWZOfUwSkOBmu9Sn0Lqr0kVkPT9VSqVyMrKglAoRGxsrNlITKFQIDU1FTweT6ejTGtrKxYuXAgbGxv8/vvvZhOjqOOpp57Cn3/+iaqqKjg7OyMiIgJr1qzB3XffDQBYsmQJiouLkZSUBAB4//33sX37dlRUVMDW1hZhYWFYu3Ztl+IQbRCLxRg3bhz+9a9/4dVXXwUA3H333Th79iyioqLw448/YtiwYZDL5WAYBhYWFjh79iymTJmC+fPnY/fu3WYbc+lv4IjsFoFCoQCPx+uSmKgEnmaq5efnY/r06ViwYAHuuecevR3zu0J1dTWysrIwfPhw+Pr6avyOEIKmpibU1NRo+D/SJGFDKtBKS0tx48YNREZGmi1LTN1Jv68RKPqAmu+q+2t6eHjAw8ODFY+Ym8TS0tIAANHR0d3+vdva2ljxwuHDh+/oE3FdXR02bdqEHTt24NVXX8Urr7yCU6dOobm5Gd9++y1qamrw1VdfITo6GlKplN21Xr58GZcvX8aLL75o5lfQf8AR2W0IKr+mmWq0IRwfH4977rmnR5lqwE0hgz47IHXj3ZqaGkilUg2rrN4q0gghKCoqQmlpKaKjo3tVxjME1IeMzWH3RN/fmpoalJeXQ6FQwN3dHT4+PvDw8DB5iU6hULCJ3zExMd2SWHt7Ox588EGIxWIcPXrUbLFC/QkNDQ3YsmULPv74Y7zxxhtYsWIFAODIkSPYunUrqqqq8NVXXyE2Nha5ubnYt28f1q5dy+7I7+Ryojo4IrvNQWM7aPxMWloaxo8fjwULFujMVKPkUVJS0ishA5Wd051ae3t7r9zkTb0D6m4dVNpuzvksuvsWiUQIDQ1ld2tCoRAuLi5sX83Ygg+FQqGRstDdRYpEIsHDDz+MhoYGHD9+3Gz2Zf0FMpmM/fwnJiZiz549SExMxHvvvYdXXnkFAPDHH39g+/btSE1NxbPPPouNGzfi6aefxkcffWTOpfdLcER2B4GmRVNSu3z5MsaMGYN77723U6aaQqFgPfpiYmIM0gMSiUQsqbW2trKzVF5eXl3uJLrLEjMlaC+qpaXFrKpApVKJzMxMtLW1ITY2VuN9o64tPTU27u061AfhuyMxqVSKxx57DBUVFTh58qTZSsL9Effddx+ampoQEBCAtLQ05Ofn4//+7//wzjvvAAAuXLiAvXv34u+//8a8efPwv//9DwC3E+sIjsjuUBBCUFFRoZGpFh0djfj4eMyZMwfr1q2Dj48PPvroI6PsPDrOUmnbSfQkS8yYUCePmJgYs/Wi6Dra29t1uqhoMzamfcu+ioAoiUmlUsTExHS7s5bJZHjiiSdQUFCAv/76y2xpCP0F6gT01Vdf4a233sL58+cRFBSEiooK/PDDD3jvvffw/PPP491332Uf19raylYiFAqF2eKZ+ituqVyAjRs3gmEYrFy5ssv7JCUlgWGYTv9ycnJMt9BbAAzDwN/fHy+++CKSkpJQXl6OJ598EidPnsSECROQlZUFHx8flJaWwhjXOnZ2dggKCsLo0aMxceJEeHl5oba2FufOncPff/+NoqIipKamoq2tzawOFbR81t7eblZBhVKpxNWrV9l16OqFWVlZwc/PD9HR0ZgyZQoGDx4MsViM1NRUnD17Fjk5OWhoaIBSqezxOjIzM9mMt+5ITC6X49lnn0VOTg5OnDhxR5PYs88+CwAaFxDl5eUYOHAgO8jv5+eHp556Co8//jg2bdqE9evXs/dVl9hzJNYZtwyRXblyBdu3b9fbUyw3NxdVVVXsv6FDhxp5hbcuGIaBj48P/vWvf7EnqNWrV+Pq1asYO3YsxowZgw0bNiA7O9sopGZjY4OBAwciLi4OkydPho+PD4qLi9HY2MjuHEUikcGPqwtUyCCTyfQiD2OB7oDEYjFiY2N77H7B5/Ph7e2NkSNHYsqUKRgxYgRLSGfOnEFWVharhtS1Droj1LUOhUKB5cuXIzU1FX/++adehta3KzIyMlBbW9vp9vDwcFRXV7OKTwDw9vbGnDlzYG9vj7feegs///yzxmO4cqJ23BJE1traikcffRRff/213ua4Xl5e8PHxYf9xVzG68dJLL8Hb2xt//vknXnjhBRw+fBjV1dVYvXo1rl27hkmTJiEmJgbr169nlWrGAJ3lmTRpEgIDA9HU1IRLly7hwoULKCgogFAoNAqhqoMO91I1nrmsk9TLeL0hsY7g8Xjw8PDAiBEjMHnyZDZ0NC8vD6dPn0ZGRgaqqqogk8k6rePatWtsebW7dSiVSqxcuRLnz5/HyZMnzRZj018QFhaG/fv3AwC2bNkCiUQCABg2bBjc3d3x3XffISsri72/g4MD4uPjcfHiRfzrX/8yy5pvNdwSPbLFixfDzc0Nn3zyCaZOnYqoqChs3rxZ632NHa9wO6OpqQkODg5dNu5bWlrYTLVjx47By8uLzVSLjY3t8xB0d1licrlcwyrL2tqajUgx9OC3TCZDWloaLCwsdA73GhO0rCmXyxEdHW10x/yujI09PDxQUFCAlpYWxMXFdbszVSqVeOWVV3D06FGcOnUKwcHBRlvzrYBff/0Vhw8fxvfff4/q6mqEhIQgJCQEZ86cgY2NDX788Ue8++67CA8Px4QJEzB06FCsXr0aM2fOZM9xXE9MN/o9ke3duxcbNmzAlStXYGNjo5PITBGvwEGlQDx69CgSEhJw5MgRODs7495770V8fDzGjBnT4y9eT7LEqOsFJTU+n88KRVxcXPpEalKpVMPw9k4gMW1QF+M0NzeDx+MhMDAQvr6+XSpHlUol1q1bh/379+PUqVNs2vKdjB9//BFPPfUUdu/ejQcffBDp6el49NFHYWVlhXPnzsHe3h779+/HwYMHcfDgQQQEBCA0NBR79+4FwKkT9UW/JrKysjLExcXh+PHjiIyMBACdRKYNfYlX4KAb7e3tOH78OBISEvD777/DxsaGzVQbP368ziHovmSJ0TBLapXFMAxLaq6urj3aJUokEqSmpsLOzs6sjv60N6dQKHRK240J9bk5f39/NDQ0dGlsTP3/du/ejaSkJISEhBh1bVu3bsXWrVtRXFwMQFW+e/311zFnzpwuH3P69GmsWrUKWVlZ8PX1xerVq7F06VKjrrOyshIrVqyAWCzGli1bEBAQgKtXr+LRRx8FAJw7dw7Ozs6QSCRobW2FWCyGn58fAG4n1hP0ayI7cOAAFi5cqPHHVCgUYBgGPB4PEolErz+0IeIVOOgHqVSKkydPIiEhAQcPHgTDMLjnnnuwcOFCTJo0qVNZypBZYtTKic6qUf9HapXVHTGJxWKkpKTAyckJYWFhZicxpVKpc8jYmFAP51RXjaobG9fX1+PTTz+Fj48PbGxs8Ntvv+HUqVMICwsz+voOHToECwsLdtf3ww8/4IMPPkBaWprW4xcVFSE8PBzPPPMMnn32WZw/fx7PPfccfvrpJ9Yyq6+gOWE0eV19rQ899BA++OADPPfcc1AoFLh+/Toee+wxSKVSnD17ttNsHX0uDvqhXxOZUChESUmJxm1PPPEEQkNDsWbNGjYtVRf6Gq/AoXeQyWQamWpSqRT33HMPFixYgOnTp+PUqVPYvXs33n77bYNniRFC0NzczJKaXC7XsMpSvwBSL2uaM5amP5FYbm4u6urquh19UCgU+PXXX/Hdd9/h77//hqOjIxYtWoSFCxdi+vTpJld5urm54YMPPsBTTz3V6Xdr1qzBwYMHNS5mly5dioyMDFy8eNFgazh+/DheeOEFrF27Fo8//jhLRmvXrsUXX3yB8+fPIyIigrU6W7JkCXJzc1FSUmI227XbAf2a8h0dHREeHq7xz97eHu7u7iyJ0Q8MxebNm3HgwAHk5+cjKysLa9euRUJCApYvX671GOvXr+80c6YrFuT06dOsu8OgQYOwbds2w73o2wiWlpa46667sG3bNlRUVGD//v1wdnbGypUrERQUhEceeYQlF0ODYRi4uLggJCQEEydOZAeqCwoKkJSUxKrzWlpakJycDHd3d7OTWFpaGgghZiexvLw8CAQCnQ4mPB4PNTU1yM7OxtmzZ7Fv3z5YW1vjmWeewccff2yyNSsUCuzduxcikQjjxo3Tep+LFy9i5syZGrfNmjULycnJnRSafcHly5eRn5+PpUuXYtWqVdi9ezcUCgXWrl2L2NhYbNiwAbW1tWAYBsOHD8eOHTuwZMkSjsT6iFs+j6yqqgqlpaXsz1KpFC+//LJGvMLhw4e7jVcICwvDyZMn2Z+7K1cWFRVh7ty5eOaZZ7Br1y62ROHp6WmwEsXtCAsLC0yZMgVTpkzBpEmTsHjxYtx99904ceIE9uzZw2aqzZo1y+BeigzDwNnZGc7OzhgyZAirzrtx4wba29thY2MDJycnyOVys8js5XI50tLSwDCMTvd4Y4J6WtbW1ur0kiSEYNu2bXj//fdx7NgxjBkzBgAwbdo0fPrpp5BKpUZfb2ZmJsaNGwexWAwHBwfs378fI0aM0Hrf6urqTrNs3t7erBq2LyMCtKjFMAyWLVuGxsZGyOVyyOVyHDhwAHv37sWPP/6IRYsWYcuWLbh8+TLmz58PABgxYgSnTjQAbjkio3lAFB3TW1evXo3Vq1f36Dn5fL7e4Yzbtm3DwIED2Q/f8OHDkZycjA8//JAjMj1w8OBBPPnkk9i3bx/mzZsHpVKJlJQU7Nu3D2+//TaeffZZ3HXXXaxVlqGvVBmGYX0jy8rK4O/vD2tra5SXl+P69etwdXVlhQymcPGgJKZPjpcxQc2lq6urERcX162nJSEE3377Ld566y0cPnyYJTEKhmFM8t6FhIQgPT0dTU1NSEhIwOLFi3H69OkuyazjbludgHoD2sdSf7y7uzsCAgKQnp7O+iL+3//9HyZNmoSXX34ZLS0t+OijjzB37txOf2uOxHqPfl1aNBXy8/Ph6+uL4OBgPPTQQygsLOzyvqYqUdyumDRpEo4fP4558+YBUJWnRo0ahffeew85OTm4cOECIiIi8NFHHyEoKAiLFi3Czp070dDQYLAh6JaWFqSkpGDgwIEYPnw4Bg0ahDFjxmDChAnw8PBAdXU1zp49iytXrqC0tBRisdggx+2I/kJiAHDjxg1UVlbqNGYmhGDnzp147bXX8Ntvv2HixIkmXKUmrKysMGTIEMTFxWHjxo2IjIzEp59+qvW+Pj4+qK6u1rittrYWfD4f7u7uvTo+j8dDTk4OJk6ciPT0dLS2toJhGKxYsQJ5eXlYs2YNhgwZgt9++w1PP/00Lly4AGdnZ5w5c6bLdXLoHe54IhszZgx+/PFH/PHHH/j6669RXV2N8ePHo76+Xuv9dZUoOHQPV1dXjB8/Xuvv6An9nXfewbVr15CWloaxY8di69atGDRoEOLj47Fjxw42kbo3aGpqQkpKCoKDgzFo0CCN39na2iIwMBCjRo3CpEmT4OPjA4FAgHPnzuHy5csoLi5GW1tbr47bEdQ5xNxD14CKxCoqKhAXF9etSz4hBHv37sXLL7+M/fv3Y+rUqaZbpB4ghLCuGR0xbtw4nDhxQuO248ePIy4urk/l5NLSUrS3t2P69Ol48803cfr0afB4PPz2228oKyvDJ598AgBYuXIlVq1ahTVr1mD69OlYtmxZr4/JoTP6tWrRHBCJRBg8eDBWr16NVatWdfr9sGHD8MQTT2Dt2rXsbefPn8fEiRNRVVWld4mSg/6gZa99+/YhMTER6enpmDBhApup5uPjo1d5qKGhAenp6Rg6dCgCAgL0Pj51kq+pqWHnqKirSG/6edQ5hM/nIzIy0qwkVlhYiNLSUsTFxel8LQkJCVi2bBl++eWXbnvOpsC6deswZ84cBAQEQCgUYu/evdi0aROOHTuGu+++G2vXrkVFRQV+/PFHADfl988++yyeeeYZXLx4EUuXLjWY/P79999HYmIiqqursXTpUvznP//BDz/8gLy8PKxcuVJjro4OOcvlcrOJem43cO9iB1B7pPz8fK2/N0aJgkP3YBgGQ4cOxdq1a/Hqq6+iuLgYCQkJ+PXXX/HKK69g7NixbKaav7+/VlKrr69HRkYGQkJC2IFTfUGd5P38/Ng5qpqaGhQVFcHW1pbtqTk6OuokVJlMhtTUVFhZWZnVOQQAiouLUVpaqldY6cGDB7F06VLs2bPH7CQGADU1NXjsscdYX86IiAiWxIDOIrDg4GAcOXIEL730Er788kv4+vris88+6zOJUVJavXo1ZsyYgcOHD2P9+vW4fPkyQkNDcfnyZZw9e1aDyOhnhCMxw4HbkXWARCLB4MGD8Z///Aevv/56p9+vWbMGhw4dQnZ2NnvbsmXLkJ6ebtB5FA66QQhBeXk5EhMTkZiYiPPnzyMmJgbx8fFYsGABgoKCwDAMDh06BIZhEBsba1ADW7lcjvr6etTU1KCurg5WVlYsqTk7O3ciNXUSi4yMNOvAa0lJCQoLCxEXF6czNPXIkSNYvHgxfvjhByxatMhEK+x/qKurg7u7e6e/a8fh5aysLLz44ovg8/k4deoU5HI51ehDFQAAI01JREFUrly5gtjYWFMv+Y7BHd8je/nll3H69GkUFRXh8uXLWLRoEVpaWrB48WIAnefUli5dipKSEqxatQrXr1/Hd999h2+//RYvv/xyl8fo6awal6mmHxiGQUBAAFasWIGkpCSUlZVhyZIl+PPPPxEVFYWJEyfiueeew+LFiyGVSg3uwk7jUSIiIjBlyhQMGzYMUqkUaWlpGplfhBDIZDKkpKT0CxIrLS1FYWEhYmNjdZLYyZMnsWTJEnzzzTd3NIn98ssvGDt2LJKTkzv1Z9X/lkqlEmFhYUhISMDjjz+OGTNmwMnJyeAD/xw0ccfvyB566CGcOXMGdXV18PT0xNixY/H222+zEt4lS5aguLhYQ/Z/+vRpvPTSS6xn25o1a7r1bFu/fj327dvXaVbN09NT6/2pg39ubi6cnJzY2z09PTmJrh4ghKCurg7r1q3Djh07EBwcDBsbGyxYsADx8fEYPny4UQefqf8jNd2lsLOzM6t3IqAaOSgoKEBMTIzO0YbTp0/jgQcewJYtW/DYY4/d0ea17e3tGDlyJBwdHfHVV19h1KhRXb4f6js0hUKB1tZWODs7c3NiRsQdT2SmwPr163HgwAGkp6frdX9KZI2NjXBxcTHq2m5XfPfdd1ixYgUSEhIwatQoHDx4EAkJCThx4gQCAwNZUjO2ObBEIsGVK1cAqE5wCoVCw//RlCe28vJy5OfnIzo6Wufn6ty5c7j//vvxySef4KmnnrqjSYyKMmQyGeLi4iCVSvHdd99hzJgxen92OBd74+KOLy2aCj2ZVaOIjo7GgAEDMGPGDJw6dcoEq7w9QAhBcnIyfv/9d8ycOROurq5YvHgxDh48iJqaGrz++usoKCjAXXfdhcjISLz22mtITk42eFAojYRxdHTE+PHjMWnSJERHR8PKygq5ubk4ffo0rl69ipqaGsjlcoMeuyMqKiqQl5eHqKgonSR2+fJlPPDAA9i0adMdT2KAqoRMXV/S09Nhb2+PxYsX48KFC3p/Zu7099DY4HZkJsDRo0fR1taGYcOGoaamBu+88w5ycnKQlZWlVenIZaqZBq2trRqZaq6urmym2ujRo/u0W5JKpWxIaHh4eKcrd0IIhEIhamtrUVNTA7FYDHd3d3h7e8PDw8OgVlmVlZXIyclBdHS0zoT1lJQU3HvvvXjjjTewYsWKO/4ErL6TUi8Njh07FrW1tdixYwcmTpzIlQzNDI7IzABds2rawGWqGRft7e34448/2Ew1Ozs7zJ8/H/Hx8XplqqlDF4lpA/V/rKmpYdOZvb294enp2ScX+aqqKly/fh1RUVGdokI6IiMjA/PmzcOrr76KV1555Y4nMUpcQqEQEokElpaWGn3FiRMnorS0FN9//z2mTJnCkZkZwRGZmXD33XdjyJAh2Lp1q1735zLVTAexWIw///wTiYmJ+O2338Dj8VhSmzx5cre7JYlEgpSUFDg6OvY614ymM9fU1EAoFPba/7G6uhrZ2dmIjIzUOeOYlZWFOXPmYOXKlXjttdc4EvuHxPLz87F48WK0tbWhqqoK69evx+zZsxEcHAxAZZJcVFSELVu2YObMmdxsmJnAEZkZoGtWTRu4TDXzQCaTISkpCQkJCThw4ABkMhmbqTZt2jQNYmlra0N6enqfSKwjxGIxS2o0sJGSWnfu9DU1Nbh27RoiIyPh4eHR7TFycnIwZ84c/Oc//8Fbb711x5MYRUlJCcaPH4/58+dj2bJlOHz4MN5//30sW7YMTzzxBIYNGwYAGD9+PMrKynDt2jUujsVM4IjMBHj55Zcxf/58DBw4ELW1tXjnnXdw+vRpZGZmIjAwsJOdzubNmxEUFISwsDBIpVLs2rULmzZtQkJCAu67774uj1NRUYE1a9bg6NGjaG9vx7Bhw/Dtt992O4hpjvj3WxVyuRznzp1jg0JbW1sxZ84cxMfHIyQkBPfffz/efPNNLFy40ChkIJFIWEl/Y2MjHBwcWKssdY/E2tpaZGZmIiIiossRD4r8/HzMmTMH//73v7Fp0yYulfgfSCQSPPPMM2AYBj/88AMAYObMmbhx4wYaGhrw73//G8uXL2cdO7Kzs7t03edgfHD7YBOgvLwcDz/8sMas2qVLlxAYGAjAMJlqjY2NmDBhAqZNm4ajR4/Cy8sLN27c6FahxmWr9Qx8Ph9Tp07F1KlT8emnn+LSpUvYt28fXn75ZTQ1NWH48OFQKpVoa2vr1ny3t7C2tkZAQAACAgJY/0eaq2Zvbw8vLy9YWloiLy9PLxIrKirCPffcgwcffJAjsQ5QKBSYMWMGG+A7Z84cyGQy3LhxAx9++CHWr18PhUKBZcuWYeTIkRgxYgQnsTcjuB3ZbYJXX30V58+fx9mzZ/V+jKni329nlJeXY9q0aRg+fDhCQkJw4MABVFZWamSqqQ+1GwNyuRwCgQBlZWVobm6GlZUVfH194eXlBScnJ60n19LSUsyaNQvz5s3DF198cceTWEebKUD1t/Xz80NCQgLee+897NmzB0OHDsUvv/yCl156CQzD4OTJkwgNDTXTqjlQ3Nmf3tsIBw8eRFxcHB544AF4eXkhOjoaX3/9dbeP4bLV+galUol77rkHU6dOxYEDB/DBBx8gNzcX586dQ3h4OD744AMEBQXhgQcewK5du9DY2GiwTDV18Pl8WFlZobW1FWFhYQgNDYVYLEZKSgrOnTuH3NxcNDU1sTNPlZWVmDdvHmbOnGkyEtu4cSNGjRoFR0dHeHl5IT4+Hrm5ud0+xlRWbXK5HDweDxKJBCUlJSgoKAAA1oC6oaEBSqWS7Uk2NTVh3bp1uHTpEkdi/QQckd0mKCwsxNatWzF06FD88ccfWLp0KV588UW276YNXLZa38Dj8bB371589dVXLBnweDxER0djw4YNyMrKQkpKCkaPHo0vv/wSwcHBWLhwYZ8z1TqCOvsPHz4cvr6+8Pb2xsiRIzF16lSEhoZCLpfj6NGjCAoKwqOPPop58+Zh/Pjx2LZtm8l2YqdPn8bzzz+PS5cu4cSJE5DL5Zg5cyZEIpHOx+bm5qKqqor9N3ToUIOtixACPp+P1tZWTJkyBVOmTMFdd92FWbNmsYTm7u6O/Px8bNq0CStXrsQLL7wAX19f+Pv7G2wdHPoGrrR4m8DKygpxcXG4cOECe9uLL76IK1eudFkm5LLVTAdCCPLz89lMtYyMDEycOJHNVPP29u5Vf4VmrIWGhsLX17fL+0kkEuzbtw9bt27F9evX4eDggAULFuC+++7DjBkzeiTrNwQEAgG8vLxw+vTpLof8jW3VRiX2hBDEx8eDx+Ph2WefhUwmw+uvv46WlhYkJiYiMjISmzZtwqFDh2BpaYn//Oc/eOSRRwy+Hg69B7cju00wYMCATqqp4cOHa4hIOoLLVjMdGIbBsGHDsG7dOly5cgW5ubmYO3cufv75ZwwbNgyzZs3Cl19+ifLycr13ao2NjUhPT0dISEi3JAaoBq4///xzBAcHo7GxEYmJiXBwcMDSpUuRl5dniJfYIzQ3NwOAziFtwHhWbRYWFlAqlfjyyy/h5uaG9957D7Nnz8b8+fORlpYGPz8/lrBeffVV/PHHHzh8+DB7G7cH6D/giKyPUCqV/eIDPWHChE49h7y8PFYZqQ3Gin/n0D0YhsGgQYPwyiuv4MKFCygsLMSiRYvw+++/Y8SIEZg+fTo+/fRTFBcXd/nZampqQlpaGoYNG6YzKLSxsZHNZ/vpp59gY2ODSZMmYfPmzSgpKWGVeaYCIQSrVq3CxIkTuz32gAEDsH37diQkJCAxMREhISGYMWMGzpw5Y7C1fPfdd3jzzTdx8OBBVmna3t4OANi9ezcaGxvx008/AQAcHBw01KicQrEfgXDoERQKBfnrr7/ImTNnzL0UDfz999+Ez+eTDRs2kPz8fLJ7925iZ2dHdu3axd7n1VdfJY899hj7c2FhIbGzsyMvvfQSyc7OJt9++y2xtLQk+/btM8dLuOOhVCpJRUUF+eKLL8j06dMJn88n0dHR5M033yTp6emktbWViEQicuzYMbJz506Sk5NDRCJRt/+qqqrIqFGjyOzZs4lYLDb3SySEEPLcc8+RwMBAUlZW1uPH3nPPPWT+/Pm9PrZSqdT4uaCggLz++uvE2tqavPjiixr3q6qqIoMHDyY//fRTr4/HwTTgiKwHyMnJIZMnTyaRkZEkJCSE2Nvbk4cffphcvHjR3EsjhBBy6NAhEh4eTqytrUloaCjZvn27xu8XL15MpkyZonFbUlISiY6OJlZWViQoKIhs3bq122OUl5eTRx99lLi5uRFbW1sSGRlJkpOTu7z/qVOnCIBO/65fv97r13knQKlUktraWvLVV1+RWbNmEUtLSzJy5EiybNkyYm9vTzZt2qSTxGpqasi4cePIjBkzSFtbm7lfEiGEkOXLlxN/f39SWFjYq8e/8847JDQ0tFePlcvlGj9TYm9oaCBvvPEGCQoKIi+99BIhhJD29nZy+fJl4uTkRA4fPtyr43EwHTixRw/w2GOPIT8/Hxs3bsTo0aNx9epVbNmyBWKxGBs3bsSQIUPMvUSjorGxEdHR0Zg2bRqWLVvGDl0HBQVh8ODBWh/DhYT2HYQQNDY24rPPPsO7776LwMBA8Pl83HvvvVi4cKFWY2KRSIT7778fDMPgyJEjRhnQ7gkIIXjhhRewf/9+JCUl9Vp52FurNnXn+mXLlqGqqgo5OTlYsWIF5s6dC1dXV3z66ad4//33ERAQgEGDBqGxsRETJ07Ee++916u1cjAdOGePHiArKwsxMTGYNm0aAFWPacCAAfj7779Zs1Dyz3Q/ndm5nQZN33vvPQQEBGDHjh3sbfpGuHt5eXEhob0EwzAoKyvD559/jg0bNuA///kPfv/9dyQkJGDGjBkYMGAAS2rR0dGQSCR46KGHoFAocOzYMbOTGAA8//zz2LNnD3777Tc4OjqyIiNnZ2d2Pksfq7aEhAQkJCT0+PiUxGbOnInGxkasWrUK5eXlePHFF1FWVoZ3330Xy5YtA5/Px/fffw+5XI6dO3di0KBBIKrK1W31Xb7tYMbd4C2Hb775htjb25NPPvmEtLS06P24jnX5WxXDhw8nK1euJIsWLSKenp4kKiqqU/myI2hpMSgoiPj4+JDp06eTv/76y0Qrvn2wYcMGsmHDhk63C4VC8vPPP5MHH3yQODo6koEDB5LAwEASExNDmpqazLBS7YCW8jIAsmPHDvY+HUvf7733Hhk8eDCxsbEhrq6uZOLEib0q89Hv3549e0hERAT73f3www+Jp6cnSUtLY+/b0NBANm3aRKKiosjKlSs7PQeH/gmOyHqIjz/+mISGhpLZs2eTY8eOdfp9dnY2eeONN8jy5cvJ6dOntT6HQqEw9jKNAmtra2JtbU3Wrl1LUlNTybZt24iNjQ354YcfunxMTk4O2b59O0lJSSEXLlwgy5YtIwzDdPnecOg9RCIR2b17NwkNDSVVVVXmXo5ZoE44UqlU43dff/01iY+PJ4QQ8vLLLxNvb2+2v52Xl0f++OMPQgghdXV15MMPPyQRERHk4YcfNtHKOfQFHJH1AmfOnCGPPPIICQoKIkeOHGFv//zzz0lQUBC57777yCOPPEIGDBhAnnjiiS6JS6FQdGpA92dYWlqScePGadz2wgsvkLFjx/boefqqPOPAQRvUSWz//v3k22+/Jfn5+extn332GQkLCyMbNmwg3t7eJCkpif3dtm3byCOPPEKqq6sJIYQ0NjaSt956i6xYscJk6+fQe3BEpgeqqqpIaWlpp9snTJhA7rvvPqJUKsnp06dJYGAg+eKLL9jf5+XlkREjRpDvv/+eEEJIdXU1+eabb0hmZqbJ1m5IDBw4kDz11FMat23ZsoX4+vr26Hn6ojzjwEEXPvzwQxIYGEj+7//+j+Tm5rK319XVkXHjxhGGYcjvv//O3l5QUEBCQkLIW2+9pfE8IpHIZGvm0DdwYg89QJOCv/jiC1ZtJZPJEBMTg2PHjoFhGJw4cQKNjY1YvXo1du3ahYULF2L16tXw9/dn3TUyMzPx/vvvIygoCHFxcUhOTsbLL7+Mu+++u1MEhDY3bnOjN0PX2pCWloYBAwYYcmkcOAAAtm7divXr1+PXX3/FmDFj4Orqyv7O1dUVL730EjZu3Ii1a9eisrIS1dXV2LlzJ0aNGoX//e9/AG5+9+zs7Mz1Mjj0EP3rTNlPERsbC0tLS8yePRtPPvkk9u/fj6VLlyIhIQEPPvggAJWicfLkySgvL8eCBQuQkJAAe3t7nDhxgnUKyM3NRVlZGVpbWxEaGopBgwZhyZIlOHv2bCeXAEpiCoWCVUCaGy+99BIuXbqEd999FwUFBdizZw+2b9+O559/nr3P2rVr8fjjj7M/b968GQcOHEB+fj6ysrKwdu1aJCQkYPny5V0eJygoSKvrufpxOuL06dOIjY2FjY0NBg0ahG3bthnmRXO4ZZCfn4/t27djx44dmD17NktibW1tuHDhArKysvDAAw/g22+/xfDhw/HBBx8gNTUVjz32GHbv3g1A9X3rbxeQHPSAubeEtxL+/PNP8tBDD5GIiAhy7733ki1btrA19ZkzZ2q4ZhCiKlns3LmTXL58mYhEIvLggw+SESNGsL8Xi8Vk6tSp5PHHHycymYwQQkhpaSn54osvyK+//kokEonG89F+2s6dO0loaCh7bFOip0PXvVGe1dbWkqqqKvbfiRMnCABy6tQprfenDiUrVqwg2dnZ5Ouvv+YcSu5AZGdnk2HDhmkYFHz22Wfk3nvvJQzDEC8vL/LII4+wv2tubtZ4/K3Ur+agCY7I9IA2sUbHL8HOnTvJoEGDyMmTJ7U+x/nz50lERATZtGkTIeSmomrjxo1sv0gikZAjR46Qp59+moSHhxNnZ2eyfPly1pWBftHmzZtH7r777n4lrzYmVqxYQQYPHtylBHr16tWdem7PPvtsj0UoHG5tpKWlEQcHB/Lhhx+S5ORkEh8fT2JjY8lzzz1HTp48Sb777jvi4+PDXnzRi0dCOHn9rQ6OyHqAjipD9Q+/XC4nzz//PPHx8SHx8fHk888/J5s2bSI3btwghKhEEVZWVqw1E7XHuffee8nChQvZ51H/ch09epSEh4eTvXv3aqzDysqKfP3113fEl08ikRB3d3etM1QUkyZN0vDJI4SQxMREwufzO0mwOdze+PjjjwnDMMTPz49ER0eTP//8kzQ2NhJCCCkpKSHBwcHkq6++Mu8iORgcXDG4B+DxeBq2Sup9LQsLC3zxxRf4/fff4e/vjwMHDqCtrQ2enp5oamrClStXAIANrLS2toZQKMSJEycwe/ZsACpH84MHD+LLL79EamoqZs+ejYiICPz222/scX777TdYWlpizJgxXbpvHz58GPn5+QZ//ebAgQMH0NTUhCVLlnR5Hy4glAPFSy+9hJycHBw7dgypqamYPn066yjD4/Hg4eHBRRTdhuBUiwYC+Ud1GBsbi9jYWAAqvzt7e3ucO3cOhYWFiIqKwt69exEREYHs7Gx88skncHV1xdNPP43GxkbMnTsXra2t8Pf3x/r16+Hi4gKBQIDnnnsOYrEYNjY2+PbbbzFp0iQMHDhQ6/ErKirw7rvvws/PD7/88os53gqD4ttvv8WcOXN05m11JHXyj4UoF7Vx52HYsGGdbquursYjjzwCNzc33H///WZYFQdjgtuRGQj0hKlUKqFQKACA9bjLzMxETU0NNm7ciNbWVri7u2PRokWor6/H1q1bwePx8MMPP6C6uhpffPEFEhMTUVRUhOXLl8PCwgLDhg2DjY0NAODEiROYP38+HB0dNY5PT9wpKSng8XjsLo+u5VZESUkJTp48iaeffrrb+3EBoRy6Qk1NDT755BM8/vjjYBgGx44dA3Brfy84dAa3IzMwOkp3GxoacOXKFfj7+2P69OmYPn06Xn/9dWRlZWHGjBnsrIpUKoWFhQV8fX1ZE9X6+no4OzsjNDQUgKpkyDAMxo8f3+k49OdLly6BYRhMmjRJ63ooFAoFGIbp11LjHTt2wMvLC/Pmzev2fuPGjcOhQ4c0buMCQjkAqpGXo0ePIjw8HB9//DEAQC6XsybfHG4TmLdFd/sjLy+PTJ48maxZs4YQQjpJ6inKy8tJREQEiY6OJh988AFZtGgRsbGxIU888QSpqakhhBCycOFCMmPGDLZ5TUFFH9XV1eTee+8lixcvNtrrMRUUCgUZOHAg+76pgwsINS7effddEhcXRxwcHIinpydZsGABycnJ0fm4pKQkEhMTQ6ytrUlwcLDObDtTQSAQsP/PSexvT/Tfy/HbBEOHDsXp06fx2muvAQAsLS21xtf7+fnhzz//xKJFi1BYWIiZM2dCLpcjKioKXl5eAIC//voL8+fP18j1Am6WFa9cuYLa2lqMGzcOADoNUotEIhw/fhxPPfUUXnnlFWRlZXVaB/knssLcOHnyJEpLS/Hkk092+l1VVRXrlgIAwcHBOHLkCJKSkhAVFYW3334bn332Wbe9kJ4OXSclJWm9f05OTt9fbD/D6dOn8fzzz+PSpUs4ceIE5HI5Zs6cCZFI1OVjioqKMHfuXEyaNAlpaWlYt24dXnzxxV5FrhgaHh4eAFSfbS4D7zaFWWmUA4uOUnqJREL2799Prl69SghRDSIzDNNtGvN///tfMnHiRJKdnc0+J52BKy4uJsuWLSOBgYHkpZdeIvPmzSMDBw4kn376aZfPJ5fLb1mnfl3o6dA1jaPJzc3VeNydcIVfW1tLAHSbWMDN8nEwJ7hCcT8BwzAghECpVMLCwgJWVlaIj49nf+/k5IRVq1YhODhY6+Pr6upw7do1BAUFYfjw4exzUmzfvh1nz57Fzz//jDFjxgAAvvnmG2zduhUzZsxAWFgYLl26hLS0NDz44INwd3e/ra9ePT09NX7etGkTBg8ejClTpnT7uDsxILS5uRkA4Obm1uV9Ll68iJkzZ2rcNmvWLHz77beQyWRcr5KDUcGVFvsRGIbRIA+iVuKbPHkyPvzww04nE1o+TE5OhkAgwMSJEzVuZxgGdXV1OHXqFGpqajBz5kzcfffd+PHHH/Hoo4+yxqmASkzy5ptv4q233sL999+Pf//737h+/brWtfYX/0dDgKYPP/nkkzrl+tHR0RgwYABmzJiBU6dOmWiF5gMhBKtWrcLEiRMRHh7e5f24WT4O5gRHZP0Y6ifVruTCVHWYkpKCCxcu4PDhw7hw4QKamprY+xQWFkIsFmP9+vW4fPkyYmJisGnTJri4uKCmpoY9AaWkpEAqlcLR0RGPPfYYGhoasHTpUtTW1gLQJFZ63K4I7VYiOn2GrgcMGIDt27cjISEBiYmJCAkJwYwZM3DmzBnTLdQMWL58Oa5evYqffvpJ5325WT4OZoNZC5scDAalUkkSEhLI9OnTCZ/PJ15eXuSxxx4jly5dIs3NzWTgwIHk22+/Ze+vUChIamoq+emnn4hYLCZXrlwhYWFh5PXXX2fvk5GRQRiGIefPn2dva2lpIbt27WLTdLXhVstxmjlzJrnnnnt6/LjbPSB0+fLlxN/fnxQWFuq8L2cTxsGc4HZktwkYhsF9992HP//8EzKZDF988QWamprw22+/wcnJCTNnzsSePXtQXFwMQLWjio6OxkMPPQRra2scOXIE7u7umDVrFvuczc3NGDlyJFsaysjIwPjx4/G///0PixcvRmRkJKqrq9kSG92FRURE4PPPP9cYDi8uLkZJSYkJ3xH9oO/QtTaMHTv2trECUwchBMuXL0diYiL++uuvLvuy6hg3bhxOnDihcRs3y8fBZDA3k3IwHORyeZcquuLiYjJ16lTi6+tLnnrqKfLRRx+R1157jf39rFmzyBNPPKHh6v/222+TiRMnkqtXr5L6+noyYcIEctddd5GsrCxCCCGffvopm7ibmZlJWltbycaNGwmPxyMFBQUax1+3bh0JCwsjGRkZRnjlvccbb7xBfHx8NMya9cX9999Ppk2bZoRVmRfLli0jzs7OJCkpSUOhSVMYCOFm+Tj0L3BEdptCXTqvLu3/448/yBNPPEHmz59PvvnmG0KIKmImLi6OfPbZZ+z9pFIpWbBgAXnkkUeITCYjP/30EwkICCCpqansfXJycoinpye5//77iUAgIFevXiUMwxAbGxsyZswYsmPHDkIIIUKhkDz66KNk0aJFLGH0B+f+ngxdf/LJJ2T//v0kLy+PXLt2jbz66qsEAElISDDlkk0CAFr/0b8nIZ1z5whRDURHR0cTKysrEhQU1G8Gojnc/uDk97cpOrr00/j2mTNnsjJpmUwGAPj7778hFosRFhbGPoaqIKdMmQI+n4/U1FR4enoiOjqaNSgeMmQIxGIxxowZAycnJ3h4eCA8PByxsbHw9fXFxx9/DHd3dwQEBKCsrAxz585lrYHouIE5hQA9GbqWSqV4+eWXUVFRAVtbW4SFheHw4cOYO3euzuPI5XKsX78eu3fvRnV1NQYMGIAlS5bgv//9b7cWYadPn8aqVauQlZUFX19frF69GkuXLu3di+0BiB4D8d9//32n26ZMmYLU1FQjrIgDBx0wM5FyMDE6ZqpRFBcXk/b2dvbntWvXktjYWJKUlEQIIeS+++4j999/PyHkZijon3/+SSwtLdlE3uvXrxMej6eR0EuIqgQ5atQosmHDBvLf//6XfPbZZxplqtsd77zzDnF3dye///47KSoqIr/++itxcHAgmzdv7vIxXOo1Bw76g9uR3WHoagcQGBio8XNYWBja2trYSJqAgACcOnUK1dXV8PHxQXNzMz777DPExcVh0KBBAIDExEQEBAQgLCyM3W2JxWJcvHgR2dnZCAsLw+DBg7F161acPHkSe/bsYRMCbmdcvHgRCxYsYM2Pg4KC8NNPPyE5ObnLx2zbtg0DBw7E5s2bAQDDhw9HcnIyPvzwQy6GhAOHjjA3k3K4NVBRUUFCQkLIlClTyJdffklmz55NGIYh7733HmuEHB0dTZYvX04IIWx/7uLFiyQmJoYsW7aMfa6TJ08SR0dHcvnyZdO/EDNg48aNJDAwkOTm5hJCCElPTydeXl5kz549XT6Gk7Nz4KA/OPk9B61QKBRsr6SpqQm+vr44evQooqKiUFRUhBkzZsDR0RHjxo2DlZUVhEIh0tPTsWDBAgA3+ywXLlyAtbU1HnroIfa5LSwsEBIS0i/l+MbAmjVr8PDDDyM0NBSWlpaIjo7GypUr8fDDD3f5GM4pgwMH/cGVFjlohbpY5Ny5c6ivr8fixYuxefNmNDU14fHHH0dcXBwiIyMBqNzP/fz8WEcRCwsLSCQSpKWlwdPTk/V3BFRBo4QQveaTbgf8/PPP2LVrF/bs2YOwsDCkp6dj5cqV8PX1xeLFi7t8HOeUwYGDfuCIjINOWFlZYcOGDXjjjTcwffp0pKSkoLy8HAcPHmQjZQYNGoSHHnoIDz30EKZMmYIff/wRVVVVqKysxNSpU2FtbQ0AaG1tRXp6Otzd3REXF2fOl2UyvPLKK3j11VfZXenIkSNRUlKCjRs3dklkXOo1Bw76gystctCJmTNnIjc3F++//z4sLS3xr3/9C+fPn8eECRPY+zg4OOCDDz5ASUkJ4uPjYW1tjdTUVBQWFmLs2LHs/bKzs3Hjxg2NHdrtjra2tk4iGwsLi279KDmnDA4cegDztug43MpQzypTzz6jEIlE5I8//iBisZi97aOPPiKRkZEa/o23OxYvXkz8/PxY+X1iYiLx8PAgq1evZu/DOWVw4NB7cKVFDr2G+i6DJiYTtSFnOzs7jYwqhUIBHo8HNzc3jV3a7Y7PP/8c//vf//Dcc8+htrYWvr6+ePbZZ/H666+z9+kq9fqll17Cl19+CV9fX52p1xw43KlgCOkHufYc7ijI5XLW4YMDBw4c+gqOyDiYDETl7dmtLRMHDhw49BQckXHgwIEDh1sa3KUxBw4cOHC4pcERGQcOHDhwuKXBERkHDhw4cLilwREZBw4cOHC4pcERGQcOHDhwuKXBERkHDhw4cLilwREZBw4cOHC4pcERGQcOHDhwuKXBERkHDhw4cLilwREZBw4cOHC4pfH/FzzfvnfRL+EAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "iris = DataSet(name=\"iris\")\n", "\n", "show_iris()\n", "show_iris(0, 1, 3)\n", "show_iris(1, 2, 3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Blue is setosa\n", "- Green is virginica\n", "- Red is versicolor\n", "\n", "\n", "You can play around with the values to get a good look at the dataset." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## DISTANCE FUNCTIONS\n", "\n", "In a lot of algorithms (like the *k-Nearest Neighbors* algorithm), there is a need to compare items, finding how *similar* or *close* they are. For that we have many different functions at our disposal. Below are the functions implemented in the learning.py module:\n", "\n", "### Manhattan Distance (`manhattan_distance`)\n", "\n", "One of the simplest distance functions. It calculates the difference between the coordinates/features of two items. To understand how it works, imagine a 2D grid with coordinates x and y. In that grid we have two items, at the squares positioned at `(1,2)` and `(3,4)`. The difference between their two coordinates is `3-1=2` and `4-2=2`. If we sum these up we get `4`. That means to get from `(1,2)` to `(3,4)` we need four moves; two to the right and two more up. The function works similarly for n-dimensional grids." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Manhattan Distance between (1,2) and (3,4) is 4\n", "[5.1, 3.5, 1.4, 0.2]\n", "[5.0, 2.0, 3.5, 1.0]\n", "Manhattan Distance between iris[0] and iris[60] is 4.5\n" ] } ], "source": [ "def manhattan_distance(X, Y):\n", " return sum([abs(x - y) for x, y in zip(X, Y)])\n", "\n", "\n", "distance = manhattan_distance([1,2], [3,4])\n", "print(\"Manhattan Distance between (1,2) and (3,4) is\", distance)\n", "\n", "print (iris.examples[0][0:4])\n", "print (iris.examples[60][0:4])\n", "\n", "irisdistance = manhattan_distance(iris.examples[0][0:4],iris.examples[60][0:4])\n", "print(\"Manhattan Distance between iris[0] and iris[60] is\", irisdistance)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Euclidean Distance (`euclidean_distance`)\n", "\n", "Probably the most popular distance function. It returns the square root of the sum of the squared differences between individual elements of two items." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Euclidean Distance between (1,2) and (3,4) is 2.8284271247461903\n", "[5.1, 3.5, 1.4, 0.2]\n", "[5.0, 2.0, 3.5, 1.0]\n", "Euclidean Distance between iris[0] and iris[60] is 2.703701166919155\n" ] } ], "source": [ "def euclidean_distance(X, Y):\n", " return math.sqrt(sum([(x - y)**2 for x, y in zip(X,Y)]))\n", "\n", "\n", "distance = euclidean_distance([1,2], [3,4])\n", "print(\"Euclidean Distance between (1,2) and (3,4) is\", distance)\n", "\n", "print (iris.examples[0][0:4])\n", "print (iris.examples[60][0:4])\n", "\n", "irisdistance = euclidean_distance(iris.examples[0][0:4],iris.examples[60][0:4])\n", "print(\"Euclidean Distance between iris[0] and iris[60] is\", irisdistance)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Hamming Distance (`hamming_distance`)\n", "\n", "This function counts the number of differences between single elements in two items. For example, if we have two binary strings \"111\" and \"011\" the function will return 1, since the two strings only differ at the first element. The function works the same way for non-binary strings too." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Hamming Distance between 'abc' and 'abb' is 1\n", "[5.1, 3.5, 1.4, 0.2]\n", "[5.0, 2.0, 3.5, 1.0]\n", "Hamming Distance between iris[0] and iris[60] is 4\n" ] } ], "source": [ "def hamming_distance(X, Y):\n", " return sum(x != y for x, y in zip(X, Y))\n", "\n", "\n", "distance = hamming_distance(['a','b','c'], ['a','b','b'])\n", "print(\"Hamming Distance between 'abc' and 'abb' is\", distance)\n", "\n", "print (iris.examples[0][0:4])\n", "print (iris.examples[60][0:4])\n", "\n", "irisdistance = hamming_distance(iris.examples[0][0:4],iris.examples[60][0:4])\n", "print(\"Hamming Distance between iris[0] and iris[60] is\", irisdistance)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Mean Boolean Error (`mean_boolean_error`)\n", "\n", "To calculate this distance, we find the ratio of different elements over all elements of two items. For example, if the two items are `(1,2,3)` and `(1,4,5)`, the ratio of different/all elements is 2/3, since they differ in two out of three elements.\n", "\n", "Note: this is the default distance metric for the DataSet class." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mean Boolean Error Distance between (1,2,3) and (1,4,5) is 0.6666666666666666\n", "[5.1, 3.5, 1.4, 0.2]\n", "[5.0, 2.0, 3.5, 1.0]\n", "Mean Boolean Error Distance between iris[0] and iris[60] is 1\n" ] } ], "source": [ "def mean_boolean_error(X, Y):\n", " return mean(int(x != y) for x, y in zip(X, Y))\n", "\n", "\n", "distance = mean_boolean_error([1,2,3], [1,4,5])\n", "print(\"Mean Boolean Error Distance between (1,2,3) and (1,4,5) is\", distance)\n", "\n", "print (iris.examples[0][0:4])\n", "print (iris.examples[60][0:4])\n", "\n", "irisdistance = mean_boolean_error(iris.examples[0][0:4],iris.examples[60][0:4])\n", "print(\"Mean Boolean Error Distance between iris[0] and iris[60] is\", irisdistance)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Mean Error (`mean_error`)\n", "\n", "This function finds the mean difference of single elements between two items. For example, if the two items are `(1,0,5)` and `(3,10,5)`, their error distance is `(3-1) + (10-0) + (5-5) = 2 + 10 + 0 = 12`. The mean error distance therefore is `12/3=4`." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mean Error Distance between (1,0,5) and (3,10,5) is 4\n", "[5.1, 3.5, 1.4, 0.2]\n", "[5.0, 2.0, 3.5, 1.0]\n", "Mean Error Distance between iris[0] and iris[60] is 1.125\n" ] } ], "source": [ "def mean_error(X, Y):\n", " return mean([abs(x - y) for x, y in zip(X, Y)])\n", "\n", "\n", "distance = mean_error([1,0,5], [3,10,5])\n", "print(\"Mean Error Distance between (1,0,5) and (3,10,5) is\", distance)\n", "\n", "print (iris.examples[0][0:4])\n", "print (iris.examples[60][0:4])\n", "\n", "irisdistance = mean_error(iris.examples[0][0:4],iris.examples[60][0:4])\n", "print(\"Mean Error Distance between iris[0] and iris[60] is\", irisdistance)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Mean Square Error (`ms_error`)\n", "\n", "This is very similar to the `Mean Error`, but instead of calculating the difference between elements, we are calculating the *square* of the differences." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mean Square Distance between (1,0,5) and (3,10,5) is 34.666666666666664\n", "[5.1, 3.5, 1.4, 0.2]\n", "[5.0, 2.0, 3.5, 1.0]\n", "Mean Square Distance between iris[0] and iris[60] is 1.8275000000000001\n" ] } ], "source": [ "def ms_error(X, Y):\n", " return mean([(x - y)**2 for x, y in zip(X, Y)])\n", "\n", "\n", "distance = ms_error([1,0,5], [3,10,5])\n", "print(\"Mean Square Distance between (1,0,5) and (3,10,5) is\", distance)\n", "\n", "print (iris.examples[0][0:4])\n", "print (iris.examples[60][0:4])\n", "\n", "irisdistance = ms_error(iris.examples[0][0:4],iris.examples[60][0:4])\n", "print(\"Mean Square Distance between iris[0] and iris[60] is\", irisdistance)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Root of Mean Square Error (`rms_error`)\n", "\n", "This is the square root of `Mean Square Error`." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Root of Mean Error Distance between (1,0,5) and (3,10,5) is 5.887840577551898\n", "[5.1, 3.5, 1.4, 0.2]\n", "[5.0, 2.0, 3.5, 1.0]\n", "Root of Mean Square Distance between iris[0] and iris[60] is 1.3518505834595775\n" ] } ], "source": [ "def rms_error(X, Y):\n", " return math.sqrt(ms_error(X, Y))\n", "\n", "\n", "distance = rms_error([1,0,5], [3,10,5])\n", "print(\"Root of Mean Error Distance between (1,0,5) and (3,10,5) is\", distance)\n", "\n", "print (iris.examples[0][0:4])\n", "print (iris.examples[60][0:4])\n", "\n", "irisdistance = rms_error(iris.examples[0][0:4],iris.examples[60][0:4])\n", "print(\"Root of Mean Square Distance between iris[0] and iris[60] is\", irisdistance)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PLURALITY LEARNER CLASSIFIER\n", "\n", "### Overview\n", "\n", "The Plurality Learner is a simple algorithm, used mainly as a baseline comparison for other algorithms. It finds the most popular class in the dataset and classifies any subsequent item to that class. Essentially, it classifies every new item to the same class. For that reason, it is not used very often, instead opting for more complicated algorithms when we want accurate classification.\n", "\n", "![pL plot](images/pluralityLearner_plot.png)\n", "\n", "Let's see how the classifier works with the plot above. There are three classes named **Class A** (orange-colored dots) and **Class B** (blue-colored dots) and **Class C** (green-colored dots). Every point in this plot has two **features** (i.e. X1, X2). Now, let's say we have a new point, a red star and we want to know which class this red star belongs to. Solving this problem by predicting the class of this new red star is our current classification problem.\n", "\n", "The Plurality Learner will find the class most represented in the plot. ***Class A*** has four items, ***Class B*** has three and ***Class C*** has seven. The most popular class is ***Class C***. Therefore, the item will get classified in ***Class C***, despite the fact that it is closer to the other two classes." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Implementation\n", "\n", "Below follows the implementation of the PluralityLearner algorithm:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "

\n", "\n", "
def PluralityLearner(dataset):\n",
       "    """A very dumb algorithm: always pick the result that was most popular\n",
       "    in the training data.  Makes a baseline for comparison."""\n",
       "    most_popular = mode([e[dataset.target] for e in dataset.examples])\n",
       "\n",
       "    def predict(example):\n",
       "        """Always return same result: the most popular from the training set."""\n",
       "        return most_popular\n",
       "    return predict\n",
       "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psource(PluralityLearner)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It takes as input a dataset and returns a function. We can later call this function with the item we want to classify as the argument and it returns the class it should be classified in.\n", "\n", "The function first finds the most popular class in the dataset and then each time we call its \"predict\" function, it returns it. Note that the input (\"example\") does not matter. The function always returns the same class.\n", "\n", "### Often used in predicting political preference.\n", "\n", "If Trump got 49% of the vote, given a new voter V, we predict that V would vote for Trump.\n", "\n", "### Example\n", "\n", "For this example, we will not use the Iris dataset, since each class is represented the same (33%). This will throw an error. Instead we will use the zoo dataset." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "mammal\n" ] } ], "source": [ "zoo = DataSet(name=\"zoo\")\n", "\n", "pL = PluralityLearner(zoo)\n", "print(pL([1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 4, 1, 0, 1]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The output for the above code is \"mammal\", since that is the most popular and common class in the dataset." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## K-NEAREST NEIGHBOURS CLASSIFIER\n", "\n", "### Overview\n", "The k-Nearest Neighbors algorithm is a non-parametric method used for classification and regression. We are going to use this to classify Iris flowers. More about kNN on [Scholarpedia](http://www.scholarpedia.org/article/K-nearest_neighbor).\n", "\n", "![kNN plot](images/knn_plot.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's see how kNN works with a simple plot shown in the above picture.\n", "\n", "We have co-ordinates (we call them **features** in Machine Learning) of this red star and we need to predict its class using the kNN algorithm. In this algorithm, the value of **k** is arbitrary. **k** is one of the **hyper parameters** for kNN algorithm. We choose this number based on our dataset and choosing a particular number is known as **hyper parameter tuning/optimising**. We learn more about this in coming topics.\n", "\n", "Let's put **k = 3**. It means you need to find 3-Nearest Neighbors of this red star and classify this new point into the majority class. Observe that smaller circle which contains three points other than **test point** (red star). As there are two violet points, which form the majority, we predict the class of red star as **violet- Class B**.\n", "\n", "Similarly if we put **k = 5**, you can observe that there are three yellow points, which form the majority. So, we classify our test point as **yellow- Class A**.\n", "\n", "In practical tasks, we iterate through a bunch of values for k (like [1, 3, 5, 10, 20, 50, 100]), see how it performs and select the best one. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Implementation\n", "\n", "Below follows the implementation of the kNN algorithm. Note that it uses one \n", "of my favorite data structures: a heap." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "

\n", "\n", "
def NearestNeighborLearner(dataset, k=1):\n",
       "    """k-NearestNeighbor: the k nearest neighbors vote."""\n",
       "    def predict(example):\n",
       "        """Find the k closest items, and have them vote for the best."""\n",
       "        best = heapq.nsmallest(k, ((dataset.distance(e, example), e)\n",
       "                                   for e in dataset.examples))\n",
       "        return mode(e[dataset.target] for (d, e) in best)\n",
       "    return predict\n",
       "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psource(NearestNeighborLearner)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It takes as input a dataset and k (default value is 1) and it returns a function, which we can later use to classify a new item.\n", "\n", "To accomplish that, the function uses a heap-queue, where the items of the dataset are sorted according to their distance from *example* (the item to classify). We then take the k smallest elements from the heap-queue and we find the majority class. We classify the item to this class.\n", "\n", "### Example\n", "\n", "We measured a new flower with the following values: 5.1, 3.0, 1.1, 0.1. We want to classify that item/flower in a class. To do that, we write the following:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "setosa\n" ] } ], "source": [ "iris = DataSet(name=\"iris\")\n", "\n", "kNN = NearestNeighborLearner(iris,k=5)\n", "print(kNN([5.1,3.0,1.1,0.1]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The output of the above code is \"setosa\", which means the flower with the above measurements is of the \"setosa\" species." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## DECISION TREE LEARNER\n", "\n", "### Overview\n", "\n", "#### Decision Trees\n", "A decision tree is a flowchart that uses a tree of decisions and their possible consequences for classification. At each non-leaf node of the tree an attribute of the input is tested, based on which corresponding branch leading to a child-node is selected. At the leaf node the input is classified based on the class label of this leaf node. The paths from root to leaves represent classification rules based on which leaf nodes are assigned class labels.\n", "![perceptron](images/decisiontree_fruit.jpg)\n", "#### Decision Tree Learning\n", "Decision tree learning is the construction of a decision tree from class-labeled training data. The data is expected to be a tuple in which each record of the tuple is an attribute used for classification. The decision tree is built top-down, by choosing a variable at each step that best splits the set of items. There are different metrics for measuring the \"best split\". These generally measure the homogeneity of the target variable within the subsets.\n", "\n", "#### Gini Impurity\n", "Gini impurity of a set is the probability of a randomly chosen element to be incorrectly labeled if it was randomly labeled according to the distribution of labels in the set.\n", "\n", "$$I_G(p) = \\sum{p_i(1 - p_i)} = 1 - \\sum{p_i^2}$$\n", "\n", "We select a split which minimizes the Gini impurity in child nodes.\n", "\n", "#### Information Gain\n", "Information gain is based on the concept of entropy from information theory. Entropy is defined as:\n", "\n", "$$H(p) = -\\sum{p_i \\log_2{p_i}}$$\n", "\n", "Information Gain is difference between entropy of the parent and weighted sum of entropy of children. The feature used for splitting is the one which provides the most information gain.\n", "\n", "#### Pseudocode\n", "\n", "You can view the pseudocode by running the cell below:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "### AIMA3e\n", "__function__ DECISION-TREE-LEARNING(_examples_, _attributes_, _parent\\_examples_) __returns__ a tree \n", " __if__ _examples_ is empty __then return__ PLURALITY\\-VALUE(_parent\\_examples_) \n", " __else if__ all _examples_ have the same classification __then return__ the classification \n", " __else if__ _attributes_ is empty __then return__ PLURALITY\\-VALUE(_examples_) \n", " __else__ \n", "   _A_ ← argmax_a_ ∈ _attributes_ IMPORTANCE(_a_, _examples_) \n", "   _tree_ ← a new decision tree with root test _A_ \n", "   __for each__ value _vk_ of _A_ __do__ \n", "     _exs_ ← \\{ _e_ : _e_ ∈ _examples_ __and__ _e_._A_ = _vk_ \\} \n", "     _subtree_ ← DECISION-TREE-LEARNING(_exs_, _attributes_ − _A_, _examples_) \n", "     add a branch to _tree_ with label \\(_A_ = _vk_\\) and subtree _subtree_ \n", "   __return__ _tree_ \n", "\n", "---\n", "__Figure ??__ The decision\\-tree learning algorithm. The function IMPORTANCE is described in Section __??__. The function PLURALITY\\-VALUE selects the most common output value among a set of examples, breaking ties randomly." ], "text/plain": [ "" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pseudocode(\"Decision Tree Learning\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Implementation\n", "The nodes of the tree constructed by our learning algorithm are stored using either `DecisionFork` or `DecisionLeaf` based on whether they are a parent node or a leaf node respectively." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "

\n", "\n", "
class DecisionFork:\n",
       "    """A fork of a decision tree holds an attribute to test, and a dict\n",
       "    of branches, one for each of the attribute's values."""\n",
       "\n",
       "    def __init__(self, attr, attrname=None, default_child=None, branches=None):\n",
       "        """Initialize by saying what attribute this node tests."""\n",
       "        self.attr = attr\n",
       "        self.attrname = attrname or attr\n",
       "        self.default_child = default_child\n",
       "        self.branches = branches or {}\n",
       "\n",
       "    def __call__(self, example):\n",
       "        """Given an example, classify it using the attribute and the branches."""\n",
       "        attrvalue = example[self.attr]\n",
       "        if attrvalue in self.branches:\n",
       "            return self.branches[attrvalue](example)\n",
       "        else:\n",
       "            # return default class when attribute is unknown\n",
       "            return self.default_child(example)\n",
       "\n",
       "    def add(self, val, subtree):\n",
       "        """Add a branch.  If self.attr = val, go to the given subtree."""\n",
       "        self.branches[val] = subtree\n",
       "\n",
       "    def display(self, indent=0):\n",
       "        name = self.attrname\n",
       "        print('Test', name)\n",
       "        for (val, subtree) in self.branches.items():\n",
       "            print(' ' * 4 * indent, name, '=', val, '==>', end=' ')\n",
       "            subtree.display(indent + 1)\n",
       "        print()   # newline\n",
       "\n",
       "    def __repr__(self):\n",
       "        return ('DecisionFork({0!r}, {1!r}, {2!r})'\n",
       "                .format(self.attr, self.attrname, self.branches))\n",
       "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psource(DecisionFork)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`DecisionFork` holds the attribute, which is tested at that node, and a dict of branches. The branches store the child nodes, one for each of the attribute's values. Calling an object of this class as a function with input tuple as an argument returns the next node in the classification path based on the result of the attribute test." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "

\n", "\n", "
class DecisionLeaf:\n",
       "    """A leaf of a decision tree holds just a result."""\n",
       "\n",
       "    def __init__(self, result):\n",
       "        self.result = result\n",
       "\n",
       "    def __call__(self, example):\n",
       "        return self.result\n",
       "\n",
       "    def display(self, indent=0):\n",
       "        print('RESULT =', self.result)\n",
       "\n",
       "    def __repr__(self):\n",
       "        return repr(self.result)\n",
       "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psource(DecisionLeaf)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The leaf node stores the class label in `result`. All input tuples' classification paths end on a `DecisionLeaf` whose `result` attribute decide their class." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "

\n", "\n", "
def DecisionTreeLearner(dataset):\n",
       "\n",
       "    target, values = dataset.target, dataset.values\n",
       "\n",
       "    def decision_tree_learning(examples, attrs, parent_examples=()):\n",
       "        if len(examples) == 0:\n",
       "            return plurality_value(parent_examples)\n",
       "        elif all_same_class(examples):\n",
       "            return DecisionLeaf(examples[0][target])\n",
       "        elif len(attrs) == 0:\n",
       "            return plurality_value(examples)\n",
       "        else:\n",
       "            A = choose_attribute(attrs, examples)\n",
       "            tree = DecisionFork(A, dataset.attrnames[A], plurality_value(examples))\n",
       "            for (v_k, exs) in split_by(A, examples):\n",
       "                subtree = decision_tree_learning(\n",
       "                    exs, removeall(A, attrs), examples)\n",
       "                tree.add(v_k, subtree)\n",
       "            return tree\n",
       "\n",
       "    def plurality_value(examples):\n",
       "        """Return the most popular target value for this set of examples.\n",
       "        (If target is binary, this is the majority; otherwise plurality.)"""\n",
       "        popular = argmax_random_tie(values[target],\n",
       "                                    key=lambda v: count(target, v, examples))\n",
       "        return DecisionLeaf(popular)\n",
       "\n",
       "    def count(attr, val, examples):\n",
       "        """Count the number of examples that have example[attr] = val."""\n",
       "        return sum(e[attr] == val for e in examples)\n",
       "\n",
       "    def all_same_class(examples):\n",
       "        """Are all these examples in the same target class?"""\n",
       "        class0 = examples[0][target]\n",
       "        return all(e[target] == class0 for e in examples)\n",
       "\n",
       "    def choose_attribute(attrs, examples):\n",
       "        """Choose the attribute with the highest information gain."""\n",
       "        return argmax_random_tie(attrs,\n",
       "                                 key=lambda a: information_gain(a, examples))\n",
       "\n",
       "    def information_gain(attr, examples):\n",
       "        """Return the expected reduction in entropy from splitting by attr."""\n",
       "        def I(examples):\n",
       "            return information_content([count(target, v, examples)\n",
       "                                        for v in values[target]])\n",
       "        N = len(examples)\n",
       "        remainder = sum((len(examples_i)/N) * I(examples_i)\n",
       "                        for (v, examples_i) in split_by(attr, examples))\n",
       "        return I(examples) - remainder\n",
       "\n",
       "    def split_by(attr, examples):\n",
       "        """Return a list of (val, examples) pairs for each val of attr."""\n",
       "        return [(v, [e for e in examples if e[attr] == v])\n",
       "                for v in values[attr]]\n",
       "\n",
       "    return decision_tree_learning(dataset.examples, dataset.inputs)\n",
       "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psource(DecisionTreeLearner)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The implementation of `DecisionTreeLearner` provided in [learning.py](https://github.com/aimacode/aima-python/blob/master/learning.py) uses information gain as the metric for selecting which attribute to test for splitting. The function builds the tree top-down in a recursive manner. Based on the input it makes one of the four choices:\n", "
    \n", "
  1. If the input at the current step has no training data we return the mode of classes of input data received in the parent step (previous level of recursion).
  2. \n", "
  3. If all values in training data belong to the same class it returns a `DecisionLeaf` whose class label is the class which all the data belongs to.
  4. \n", "
  5. If the data has no attributes that can be tested we return the class with highest plurality value in the training data.
  6. \n", "
  7. We choose the attribute which gives the highest amount of entropy gain and return a `DecisionFork` which splits based on this attribute. Each branch recursively calls `decision_tree_learning` to construct the sub-tree.
  8. \n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example\n", "\n", "We will now use the Decision Tree Learner to classify a sample with values: 5.1, 3.0, 1.1, 0.1." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "setosa\n" ] } ], "source": [ "iris = DataSet(name=\"iris\")\n", "\n", "DTL = DecisionTreeLearner(iris)\n", "print(DTL([5.1, 3.0, 1.1, 0.1]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As expected, the Decision Tree learner classifies the sample as \"setosa\" as seen in the previous section." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Restaurant Wait Example\n", "This is from the example in the book" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "rest = DataSet(name = \"restaurant\")" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "rdt = DecisionTreeLearner(rest)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Yes', 'No', 'No', 'Yes', 'Some', '$$$', 'No', 'Yes', 'French', '0-10']" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rest.examples[0][:-1]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here are the attributes\n", "\n", "- Alternate\n", "- Bar\n", "- Fri/Sat\n", "- Hungry\n", "- Patrons (None, Some, Full)\n", "- Price (\\\\$, \\\\$\\\\$, \\\\$\\\\$\\\\$)\n", "- Raining\n", "- Reservation\n", "- Type (French, Italian, Thai, burger)\n", "- WaitEstimate (0-10, 10-30, 30-60, >60)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'Yes'" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rdt(rest.examples[0][:-1])" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "rex = rest.examples[0][:-1]\n", "rex[0] = 'No'" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'Yes'" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rdt(rex)" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "rex[1] = 'Yes'" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'Yes'" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rdt(rex)" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "rex[2] = 'Yes'" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'Yes'" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rdt(rex)" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [], "source": [ "rex[3] = 'No'" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'Yes'" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rdt(rex)" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['None', 'Full', 'Some']" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rest.values[4]" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [], "source": [ "rex[4] = 'Full'" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'No'" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rdt(rex)" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [], "source": [ "rex[4] = 'None'" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'No'" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rdt(rex)" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['No', 'Yes', 'Yes', 'No', 'None', '$$$', 'No', 'Yes', 'French', '0-10']" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rex" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now lets use K-NearestNeighbors on the restaurant example." ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'No'" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rkNN = NearestNeighborLearner(rest,k=3)\n", "rkNN(rex)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## RANDOM FOREST LEARNER\n", "\n", "### Overview\n", "\n", "![random_forest.png](images/random_forest.png) \n", "Image via [src](https://cdn-images-1.medium.com/max/800/0*tG-IWcxL1jg7RkT0.png)\n", "\n", "#### Random Forest\n", "\n", "As the name of the algorithm and image above suggest, this algorithm creates the forest with a number of trees. The greater number of trees makes the forest robust. In the same way in random forest algorithm, the higher the number of trees in the forest, the higher is the accuracy result. The main difference between Random Forest and Decision trees is that, finding the root node and splitting the feature nodes will be random. \n", "\n", "Let's see how Random Forest Algorithm work : \n", "\n", "Random Forest Algorithm works in two steps, first is the creation of random forest and then the prediction. Let's first see the creation : \n", "\n", "The first step in creation is to randomly select 'm' features out of total 'n' features. From these 'm' features calculate the node d using the best split point and then split the node into further nodes using best split. Repeat these steps until 'i' number of nodes are reached. Repeat the entire whole process to build the forest. \n", "\n", "Now, let's see how the prediction works.\n", "Take the test features and predict the outcome for each randomly created decision tree. Calculate the votes for each prediction and the prediction which gets the highest votes would be the final prediction.\n", "\n", "\n", "### Implementation\n", "\n", "Below mentioned is the implementation of Random Forest Algorithm." ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "

\n", "\n", "
def RandomForest(dataset, n=5):\n",
       "    """An ensemble of Decision Trees trained using bagging and feature bagging."""\n",
       "\n",
       "    def data_bagging(dataset, m=0):\n",
       "        """Sample m examples with replacement"""\n",
       "        n = len(dataset.examples)\n",
       "        return weighted_sample_with_replacement(m or n, dataset.examples, [1]*n)\n",
       "\n",
       "    def feature_bagging(dataset, p=0.7):\n",
       "        """Feature bagging with probability p to retain an attribute"""\n",
       "        inputs = [i for i in dataset.inputs if probability(p)]\n",
       "        return inputs or dataset.inputs\n",
       "\n",
       "    def predict(example):\n",
       "        print([predictor(example) for predictor in predictors])\n",
       "        return mode(predictor(example) for predictor in predictors)\n",
       "\n",
       "    predictors = [DecisionTreeLearner(DataSet(examples=data_bagging(dataset),\n",
       "                                              attrs=dataset.attrs,\n",
       "                                              attrnames=dataset.attrnames,\n",
       "                                              target=dataset.target,\n",
       "                                              inputs=feature_bagging(dataset))) for _ in range(n)]\n",
       "\n",
       "    return predict\n",
       "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psource(RandomForest)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This algorithm creates an ensemble of decision trees using bagging and feature bagging. It takes 'm' examples randomly from the total number of examples and then perform feature bagging with probability p to retain an attribute. All the predictors are predicted from the DecisionTreeLearner and then a final prediction is made.\n", "\n", "\n", "### Example\n", "\n", "We will now use the Random Forest to classify a sample with values: 5.1, 3.0, 1.1, 0.1." ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['setosa', 'setosa', 'setosa', 'setosa', 'setosa']\n", "setosa\n" ] } ], "source": [ "iris = DataSet(name=\"iris\")\n", "\n", "RFL = RandomForest(iris, n=5)\n", "print(RFL([5.1, 3.0, 1.1, 0.1]))" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['setosa', 'setosa', 'setosa']\n", "setosa\n" ] } ], "source": [ "RFL = RandomForest(iris, n=3)\n", "print(RFL([5.1, 3.0, 1.1, 0.1]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As expected, the Random Forest classifies the sample as \"setosa\"." ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[[4.7, 3.2, 1.3, 0.2, 'setosa'],\n", " [4.7, 3.2, 1.3, 0.2, 'setosa'],\n", " [5.1, 3.5, 1.4, 0.2, 'setosa'],\n", " [5.1, 3.5, 1.4, 0.2, 'setosa'],\n", " [4.6, 3.1, 1.5, 0.2, 'setosa']]" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "weighted_sample_with_replacement(5, iris.examples, [1]*5)" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "

\n", "\n", "
def weighted_sample_with_replacement(n, seq, weights):\n",
       "    """Pick n samples from seq at random, with replacement, with the\n",
       "    probability of each element in proportion to its corresponding\n",
       "    weight."""\n",
       "    sample = weighted_sampler(seq, weights)\n",
       "\n",
       "    return [sample() for _ in range(n)]\n",
       "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psource(weighted_sample_with_replacement)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## NAIVE BAYES LEARNER\n", "\n", "### Overview\n", "\n", "#### Theory of Probabilities\n", "\n", "The Naive Bayes algorithm is a probabilistic classifier, making use of [Bayes' Theorem](https://en.wikipedia.org/wiki/Bayes%27_theorem). The theorem states that the conditional probability of A given B equals the conditional probability of B given A multiplied by the probability of A, divided by the probability of B.\n", "\n", "$$P(A|B) = \\dfrac{P(B|A)*P(A)}{P(B)}$$\n", "\n", "From the theory of Probabilities we have the Multiplication Rule, if the events *X* are independent the following is true:\n", "\n", "$$P(X_{1} \\cap X_{2} \\cap ... \\cap X_{n}) = P(X_{1})*P(X_{2})*...*P(X_{n})$$\n", "\n", "For conditional probabilities this becomes:\n", "\n", "$$P(X_{1}, X_{2}, ..., X_{n}|Y) = P(X_{1}|Y)*P(X_{2}|Y)*...*P(X_{n}|Y)$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Classifying an Item\n", "\n", "How can we use the above to classify an item though?\n", "\n", "We have a dataset with a set of classes (C) and we want to classify an item with a set of features (F). Essentially what we want to do is predict the class of an item given the features.\n", "\n", "For a specific class, Class, we will find the conditional probability given the item features:\n", "\n", "$$P(Class|F) = \\dfrac{P(F|Class)*P(Class)}{P(F)}$$\n", "\n", "We will do this for every class and we will pick the maximum. This will be the class the item is classified in.\n", "\n", "The features though are a vector with many elements. We need to break the probabilities up using the multiplication rule. Thus the above equation becomes:\n", "\n", "$$P(Class|F) = \\dfrac{P(Class)*P(F_{1}|Class)*P(F_{2}|Class)*...*P(F_{n}|Class)}{P(F_{1})*P(F_{2})*...*P(F_{n})}$$\n", "\n", "The calculation of the conditional probability then depends on the calculation of the following:\n", "\n", "*a)* The probability of Class in the dataset.\n", "\n", "*b)* The conditional probability of each feature occurring in an item classified in Class.\n", "\n", "*c)* The probabilities of each individual feature.\n", "\n", "For *a)*, we will count how many times Class occurs in the dataset (aka how many items are classified in a particular class).\n", "\n", "For *b)*, if the feature values are discrete ('Blue', '3', 'Tall', etc.), we will count how many times a feature value occurs in items of each class. If the feature values are not discrete, we will go a different route. We will use a distribution function to calculate the probability of values for a given class and feature. If we know the distribution function of the dataset, then great, we will use it to compute the probabilities. If we don't know the function, we can assume the dataset follows the normal (Gaussian) distribution without much loss of accuracy. In fact, it can be proven that any distribution tends to the Gaussian the larger the population gets (see [Central Limit Theorem](https://en.wikipedia.org/wiki/Central_limit_theorem)).\n", "\n", "*NOTE:* If the values are continuous but use the discrete approach, there might be issues if we are not lucky. For one, if we have two values, '5.0 and 5.1', with the discrete approach they will be two completely different values, despite being so close. Second, if we are trying to classify an item with a feature value of '5.15', if the value does not appear for the feature, its probability will be 0. This might lead to misclassification. Generally, the continuous approach is more accurate and more useful, despite the overhead of calculating the distribution function.\n", "\n", "The last one, *c)*, is tricky. If feature values are discrete, we can count how many times they occur in the dataset. But what if the feature values are continuous? Imagine a dataset with a height feature. Is it worth it to count how many times each value occurs? Most of the time it is not, since there can be miscellaneous differences in the values (for example, 1.7 meters and 1.700001 meters are practically equal, but they count as different values).\n", "\n", "So as we cannot calculate the feature value probabilities, what are we going to do?\n", "\n", "Let's take a step back and rethink exactly what we are doing. We are essentially comparing conditional probabilities of all the classes. For two classes, A and B, we want to know which one is greater:\n", "\n", "$$\\dfrac{P(F|A)*P(A)}{P(F)} vs. \\dfrac{P(F|B)*P(B)}{P(F)}$$\n", "\n", "Wait, P(F) is the same for both the classes! In fact, it is the same for every combination of classes. That is because P(F) does not depend on a class, thus being independent of the classes.\n", "\n", "So, for *c)*, we actually don't need to calculate it at all." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Wrapping It Up\n", "\n", "Classifying an item to a class then becomes a matter of calculating the conditional probabilities of feature values and the probabilities of classes. This is something very desirable and computationally delicious.\n", "\n", "Remember though that all the above are true because we made the assumption that the features are independent. In most real-world cases that is not true though. Is that an issue here? Fret not, for the the algorithm is very efficient even with that assumption. That is why the algorithm is called **Naive** Bayes Classifier. We (naively) assume that the features are independent to make computations easier." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Implementation\n", "\n", "The implementation of the Naive Bayes Classifier is split in two; *Learning* and *Simple*. The *learning* classifier takes as input a dataset and learns the needed distributions from that. It is itself split into two, for discrete and continuous features. The *simple* classifier takes as input not a dataset, but already calculated distributions (a dictionary of `CountingProbDist` objects)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Discrete\n", "\n", "The implementation for discrete values counts how many times each feature value occurs for each class, and how many times each class occurs. The results are stored in a `CountinProbDist` object." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With the below code you can see the probabilities of the class \"Setosa\" appearing in the dataset and the probability of the first feature (at index 0) of the same class having a value of 5. Notice that the second probability is relatively small, even though if we observe the dataset we will find that a lot of values are around 5. The issue arises because the features in the Iris dataset are continuous, and we are assuming they are discrete. If the features were discrete (for example, \"Tall\", \"3\", etc.) this probably wouldn't have been the case and we would see a much nicer probability distribution." ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "

\n", "\n", "
class CountingProbDist:\n",
       "    """A probability distribution formed by observing and counting examples.\n",
       "    If p is an instance of this class and o is an observed value, then\n",
       "    there are 3 main operations:\n",
       "    p.add(o) increments the count for observation o by 1.\n",
       "    p.sample() returns a random element from the distribution.\n",
       "    p[o] returns the probability for o (as in a regular ProbDist)."""\n",
       "\n",
       "    def __init__(self, observations=None, default=0):\n",
       "        """Create a distribution, and optionally add in some observations.\n",
       "        By default this is an unsmoothed distribution, but saying default=1,\n",
       "        for example, gives you add-one smoothing."""\n",
       "        if observations is None:\n",
       "            observations = []\n",
       "        self.dictionary = {}\n",
       "        self.n_obs = 0\n",
       "        self.default = default\n",
       "        self.sampler = None\n",
       "\n",
       "        for o in observations:\n",
       "            self.add(o)\n",
       "\n",
       "    def add(self, o):\n",
       "        """Add an observation o to the distribution."""\n",
       "        self.smooth_for(o)\n",
       "        self.dictionary[o] += 1\n",
       "        self.n_obs += 1\n",
       "        self.sampler = None\n",
       "\n",
       "    def smooth_for(self, o):\n",
       "        """Include o among the possible observations, whether or not\n",
       "        it's been observed yet."""\n",
       "        if o not in self.dictionary:\n",
       "            self.dictionary[o] = self.default\n",
       "            self.n_obs += self.default\n",
       "            self.sampler = None\n",
       "\n",
       "    def __getitem__(self, item):\n",
       "        """Return an estimate of the probability of item."""\n",
       "        self.smooth_for(item)\n",
       "        return self.dictionary[item] / self.n_obs\n",
       "\n",
       "    # (top() and sample() are not used in this module, but elsewhere.)\n",
       "\n",
       "    def top(self, n):\n",
       "        """Return (count, obs) tuples for the n most frequent observations."""\n",
       "        return heapq.nlargest(n, [(v, k) for (k, v) in self.dictionary.items()])\n",
       "\n",
       "    def sample(self):\n",
       "        """Return a random sample from the distribution."""\n",
       "        if self.sampler is None:\n",
       "            self.sampler = weighted_sampler(list(self.dictionary.keys()),\n",
       "                                            list(self.dictionary.values()))\n",
       "        return self.sampler()\n",
       "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psource(CountingProbDist)" ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.3333333333333333\n", "0.10588235294117647\n" ] } ], "source": [ "dataset = iris\n", "\n", "target_vals = dataset.values[dataset.target]\n", "target_dist = CountingProbDist(target_vals)\n", "attr_dists = {(gv, attr): CountingProbDist(dataset.values[attr])\n", " for gv in target_vals\n", " for attr in dataset.inputs}\n", "for example in dataset.examples:\n", " targetval = example[dataset.target]\n", " target_dist.add(targetval)\n", " for attr in dataset.inputs:\n", " attr_dists[targetval, attr].add(example[attr])\n", "\n", "\n", "print(target_dist['setosa'])\n", "print(attr_dists['setosa', 0][5.0])" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "target_dist" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First we found the different values for the classes (called targets here) and calculated their distribution. Next we initialized a dictionary of `CountingProbDist` objects, one for each class and feature. Finally, we iterated through the examples in the dataset and calculated the needed probabilites.\n", "\n", "Having calculated the different probabilities, we will move on to the predicting function. It will receive as input an item and output the most likely class. Using the above formula, it will multiply the probability of the class appearing, with the probability of each feature value appearing in the class. It will return the max result." ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "setosa\n" ] } ], "source": [ "def predict(example):\n", " def class_probability(targetval):\n", " return (target_dist[targetval] *\n", " product(attr_dists[targetval, attr][example[attr]]\n", " for attr in dataset.inputs))\n", " return argmax(target_vals, key=class_probability)\n", "\n", "\n", "print(predict([5, 3, 1, 0.1]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can view the complete code by executing the next line:" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "

\n", "\n", "
def NaiveBayesDiscrete(dataset):\n",
       "    """Just count how many times each value of each input attribute\n",
       "    occurs, conditional on the target value. Count the different\n",
       "    target values too."""\n",
       "\n",
       "    target_vals = dataset.values[dataset.target]\n",
       "    target_dist = CountingProbDist(target_vals)\n",
       "    attr_dists = {(gv, attr): CountingProbDist(dataset.values[attr])\n",
       "                  for gv in target_vals\n",
       "                  for attr in dataset.inputs}\n",
       "    for example in dataset.examples:\n",
       "        targetval = example[dataset.target]\n",
       "        target_dist.add(targetval)\n",
       "        for attr in dataset.inputs:\n",
       "            attr_dists[targetval, attr].add(example[attr])\n",
       "\n",
       "    def predict(example):\n",
       "        """Predict the target value for example. Consider each possible value,\n",
       "        and pick the most likely by looking at each attribute independently."""\n",
       "        def class_probability(targetval):\n",
       "            return (target_dist[targetval] *\n",
       "                    product(attr_dists[targetval, attr][example[attr]]\n",
       "                            for attr in dataset.inputs))\n",
       "        return argmax(target_vals, key=class_probability)\n",
       "\n",
       "    return predict\n",
       "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psource(NaiveBayesDiscrete)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Continuous\n", "\n", "In the implementation we use the Gaussian/Normal distribution function. To make it work, we need to find the means and standard deviations of features for each class. We make use of the `find_means_and_deviations` Dataset function. On top of that, we will also calculate the class probabilities as we did with the Discrete approach." ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[5.006, 3.418, 1.464, 0.244]\n", "[0.3524896872134513, 0.38102439795469095, 0.17351115943644546, 0.10720950308167838]\n", "[5.936, 2.77, 4.26, 1.326]\n", "[0.5161711470638634, 0.3137983233784114, 0.46991097723995795, 0.19775268000454405]\n" ] } ], "source": [ "means, deviations = dataset.find_means_and_deviations()\n", "\n", "target_vals = dataset.values[dataset.target]\n", "target_dist = CountingProbDist(target_vals)\n", "\n", "\n", "print(means[\"setosa\"])\n", "print(deviations[\"setosa\"])\n", "\n", "print(means[\"versicolor\"])\n", "print(deviations[\"versicolor\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can see the means of the features for the \"Setosa\" class and the deviations for \"Versicolor\".\n", "\n", "The prediction function will work similarly to the Discrete algorithm. It will multiply the probability of the class occurring with the conditional probabilities of the feature values for the class.\n", "\n", "Since we are using the Gaussian distribution, we will input the value for each feature into the Gaussian function, together with the mean and deviation of the feature. This will return the probability of the particular feature value for the given class. We will repeat for each class and pick the max value." ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "setosa\n" ] } ], "source": [ "def predict(example):\n", " def class_probability(targetval):\n", " prob = target_dist[targetval]\n", " for attr in dataset.inputs:\n", " prob *= gaussian(means[targetval][attr], deviations[targetval][attr], example[attr])\n", " return prob\n", "\n", " return argmax(target_vals, key=class_probability)\n", "\n", "\n", "print(predict([5, 3, 1, 0.1]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The complete code of the continuous algorithm:" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "

\n", "\n", "
def NaiveBayesContinuous(dataset):\n",
       "    """Count how many times each target value occurs.\n",
       "    Also, find the means and deviations of input attribute values for each target value."""\n",
       "    means, deviations = dataset.find_means_and_deviations()\n",
       "\n",
       "    target_vals = dataset.values[dataset.target]\n",
       "    target_dist = CountingProbDist(target_vals)\n",
       "\n",
       "    def predict(example):\n",
       "        """Predict the target value for example. Consider each possible value,\n",
       "        and pick the most likely by looking at each attribute independently."""\n",
       "        def class_probability(targetval):\n",
       "            prob = target_dist[targetval]\n",
       "            for attr in dataset.inputs:\n",
       "                prob *= gaussian(means[targetval][attr], deviations[targetval][attr], example[attr])\n",
       "            return prob\n",
       "\n",
       "        return argmax(target_vals, key=class_probability)\n",
       "\n",
       "    return predict\n",
       "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psource(NaiveBayesContinuous)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Simple\n", "\n", "The simple classifier (chosen with the argument `simple`) does not learn from a dataset, instead it takes as input a dictionary of already calculated `CountingProbDist` objects and returns a predictor function. The dictionary is in the following form: `(Class Name, Class Probability): CountingProbDist Object`.\n", "\n", "Each class has its own probability distribution. The classifier given a list of features calculates the probability of the input for each class and returns the max. The only pre-processing work is to create dictionaries for the distribution of classes (named `targets`) and attributes/features.\n", "\n", "The complete code for the simple classifier:" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "

\n", "\n", "
def NaiveBayesSimple(distribution):\n",
       "    """A simple naive bayes classifier that takes as input a dictionary of\n",
       "    CountingProbDist objects and classifies items according to these distributions.\n",
       "    The input dictionary is in the following form:\n",
       "        (ClassName, ClassProb): CountingProbDist"""\n",
       "    target_dist = {c_name: prob for c_name, prob in distribution.keys()}\n",
       "    attr_dists = {c_name: count_prob for (c_name, _), count_prob in distribution.items()}\n",
       "\n",
       "    def predict(example):\n",
       "        """Predict the target value for example. Calculate probabilities for each\n",
       "        class and pick the max."""\n",
       "        def class_probability(targetval):\n",
       "            attr_dist = attr_dists[targetval]\n",
       "            return target_dist[targetval] * product(attr_dist[a] for a in example)\n",
       "\n",
       "        return argmax(target_dist.keys(), key=class_probability)\n",
       "\n",
       "    return predict\n",
       "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psource(NaiveBayesSimple)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This classifier is useful when you already have calculated the distributions and you need to predict future items.\n", "\n", "### Examples\n", "\n", "We will now use the Naive Bayes Classifier (Discrete and Continuous) to classify items:" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Discrete Classifier\n", "setosa\n", "setosa\n", "setosa\n", "\n", "Continuous Classifier\n", "setosa\n", "versicolor\n", "virginica\n" ] } ], "source": [ "nBD = NaiveBayesLearner(iris, continuous=False)\n", "print(\"Discrete Classifier\")\n", "print(nBD([5, 3, 1, 0.1]))\n", "print(nBD([6, 5, 3, 1.5]))\n", "print(nBD([7, 3, 6.5, 2]))\n", "\n", "\n", "nBC = NaiveBayesLearner(iris, continuous=True)\n", "print(\"\\nContinuous Classifier\")\n", "print(nBC([5, 3, 1, 0.1]))\n", "print(nBC([6, 5, 3, 1.5]))\n", "print(nBC([7, 3, 6.5, 2]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice how the Discrete Classifier misclassified the second item, while the Continuous one had no problem.\n", "\n", "Let's now take a look at the simple classifier. First we will come up with a sample problem to solve. Say we are given three bags. Each bag contains three letters ('a', 'b' and 'c') of different quantities. We are given a string of letters and we are tasked with finding from which bag the string of letters came.\n", "\n", "Since we know the probability distribution of the letters for each bag, we can use the naive bayes classifier to make our prediction." ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [], "source": [ "bag1 = 'a'*50 + 'b'*30 + 'c'*15\n", "dist1 = CountingProbDist(bag1)\n", "bag2 = 'a'*30 + 'b'*45 + 'c'*20\n", "dist2 = CountingProbDist(bag2)\n", "bag3 = 'a'*20 + 'b'*20 + 'c'*35\n", "dist3 = CountingProbDist(bag3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we have the `CountingProbDist` objects for each bag/class, we will create the dictionary. We assume that it is equally probable that we will pick from any bag." ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [], "source": [ "dist = {('First', 0.5): dist1, ('Second', 0.3): dist2, ('Third', 0.2): dist3}\n", "nBS = NaiveBayesLearner(dist, simple=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can start making predictions:" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "First\n", "Second\n", "Third\n" ] } ], "source": [ "print(nBS('aab')) # We can handle strings\n", "print(nBS(['b', 'b'])) # And lists!\n", "print(nBS('ccbcc'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The results make intuitive sense. The first bag has a high amount of 'a's, the second has a high amount of 'b's and the third has a high amount of 'c's. The classifier seems to confirm this intuition.\n", "\n", "Note that the simple classifier doesn't distinguish between discrete and continuous values. It just takes whatever it is given. Also, the `simple` option on the `NaiveBayesLearner` overrides the `continuous` argument. `NaiveBayesLearner(d, simple=True, continuous=False)` just creates a simple classifier." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PERCEPTRON CLASSIFIER\n", "\n", "### Overview\n", "\n", "The Perceptron is a linear classifier. It works the same way as a neural network with no hidden layers (just input and output). First it trains its weights given a dataset and then it can classify a new item by running it through the network.\n", "\n", "Its input layer consists of the the item features, while the output layer consists of nodes (also called neurons). Each node in the output layer has *n* synapses (for every item feature), each with its own weight. Then, the nodes find the dot product of the item features and the synapse weights. These values then pass through an activation function (usually a sigmoid). Finally, we pick the largest of the values and we return its index.\n", "\n", "Note that in classification problems each node represents a class. The final classification is the class/node with the max output value.\n", "\n", "Below you can see a single node/neuron in the outer layer. With *f* we denote the item features, with *w* the synapse weights, then inside the node we have the dot product and the activation function, *g*." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![perceptron](images/perceptron.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Implementation\n", "\n", "First, we train (calculate) the weights given a dataset, using the `BackPropagationLearner` function of `learning.py`. We then return a function, `predict`, which we will use in the future to classify a new item. The function computes the (algebraic) dot product of the item with the calculated weights for each node in the outer layer. Then it picks the greatest value and classifies the item in the corresponding class." ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "

\n", "\n", "
def PerceptronLearner(dataset, learning_rate=0.01, epochs=100):\n",
       "    """Logistic Regression, NO hidden layer"""\n",
       "    i_units = len(dataset.inputs)\n",
       "    o_units = len(dataset.values[dataset.target])\n",
       "    hidden_layer_sizes = []\n",
       "    raw_net = network(i_units, hidden_layer_sizes, o_units)\n",
       "    learned_net = BackPropagationLearner(dataset, raw_net, learning_rate, epochs)\n",
       "\n",
       "    def predict(example):\n",
       "        o_nodes = learned_net[1]\n",
       "\n",
       "        # Forward pass\n",
       "        for node in o_nodes:\n",
       "            in_val = dotproduct(example, node.weights)\n",
       "            node.value = node.activation(in_val)\n",
       "\n",
       "        # Hypothesis\n",
       "        return find_max_node(o_nodes)\n",
       "\n",
       "    return predict\n",
       "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psource(PerceptronLearner)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the Perceptron is a one-layer neural network, without any hidden layers. So, in `BackPropagationLearner`, we will pass no hidden layers. From that function we get our network, which is just one layer, with the weights calculated.\n", "\n", "That function `predict` passes the input/example through the network, calculating the dot product of the input and the weights for each node and returns the class with the max dot product." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example\n", "\n", "We will train the Perceptron on the iris dataset. Because though the `BackPropagationLearner` works with integer indexes and not strings, we need to convert class names to integers. Then, we will try and classify the item/flower with measurements of 5, 3, 1, 0.1." ] }, { "cell_type": "code", "execution_count": 62, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0\n" ] } ], "source": [ "iris = DataSet(name=\"iris\")\n", "iris.classes_to_numbers()\n", "\n", "perceptron = PerceptronLearner(iris)\n", "print(perceptron([5, 3, 1, 0.1]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The correct output is 0, which means the item belongs in the first class, \"setosa\". Note that the Perceptron algorithm is not perfect and may produce false classifications." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## LINEAR LEARNER\n", "\n", "### Overview\n", "\n", "Linear Learner is a model that assumes a linear relationship between the input variables x and the single output variable y. More specifically, that y can be calculated from a linear combination of the input variables x. Linear learner is a quite simple model as the representation of this model is a linear equation. \n", "\n", "The linear equation assigns one scaler factor to each input value or column, called a coefficients or weights. One additional coefficient is also added, giving additional degree of freedom and is often called the intercept or the bias coefficient. \n", "For example : y = ax1 + bx2 + c . \n", "\n", "### Implementation\n", "\n", "Below mentioned is the implementation of Linear Learner." ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "

\n", "\n", "
def LinearLearner(dataset, learning_rate=0.01, epochs=100):\n",
       "    """Define with learner = LinearLearner(data); infer with learner(x)."""\n",
       "    idx_i = dataset.inputs\n",
       "    idx_t = dataset.target  # As of now, dataset.target gives only one index.\n",
       "    examples = dataset.examples\n",
       "    num_examples = len(examples)\n",
       "\n",
       "    # X transpose\n",
       "    X_col = [dataset.values[i] for i in idx_i]  # vertical columns of X\n",
       "\n",
       "    # Add dummy\n",
       "    ones = [1 for _ in range(len(examples))]\n",
       "    X_col = [ones] + X_col\n",
       "\n",
       "    # Initialize random weigts\n",
       "    num_weights = len(idx_i) + 1\n",
       "    w = random_weights(min_value=-0.5, max_value=0.5, num_weights=num_weights)\n",
       "\n",
       "    for epoch in range(epochs):\n",
       "        err = []\n",
       "        # Pass over all examples\n",
       "        for example in examples:\n",
       "            x = [1] + example\n",
       "            y = dotproduct(w, x)\n",
       "            t = example[idx_t]\n",
       "            err.append(t - y)\n",
       "\n",
       "        # update weights\n",
       "        for i in range(len(w)):\n",
       "            w[i] = w[i] + learning_rate * (dotproduct(err, X_col[i]) / num_examples)\n",
       "\n",
       "    def predict(example):\n",
       "        x = [1] + example\n",
       "        return dotproduct(w, x)\n",
       "    return predict\n",
       "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psource(LinearLearner)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This algorithm first assigns some random weights to the input variables and then based on the error calculated updates the weight for each variable. Finally the prediction is made with the updated weights. \n", "\n", "### Implementation\n", "\n", "We will now use the Linear Learner to classify a sample with values: 5.1, 3.0, 1.1, 0.1." ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-0.05486553693815468\n" ] } ], "source": [ "iris = DataSet(name=\"iris\")\n", "iris.classes_to_numbers()\n", "\n", "linear_learner = LinearLearner(iris)\n", "print(linear_learner([5, 3, 1, 0.1]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## ENSEMBLE LEARNER\n", "\n", "### Overview\n", "\n", "Ensemble Learning improves the performance of our model by combining several learners. It improves the stability and predictive power of the model. Ensemble methods are meta-algorithms that combine several machine learning techniques into one predictive model in order to decrease variance, bias, or improve predictions. \n", "\n", "\n", "\n", "![ensemble_learner.jpg](images/ensemble_learner.jpg)\n", "\n", "\n", "Some commonly used Ensemble Learning techniques are : \n", "\n", "1. Bagging : Bagging tries to implement similar learners on small sample populations and then takes a mean of all the predictions. It helps us to reduce variance error.\n", "\n", "2. Boosting : Boosting is an iterative technique which adjust the weight of an observation based on the last classification. If an observation was classified incorrectly, it tries to increase the weight of this observation and vice versa. It helps us to reduce bias error.\n", "\n", "3. Stacking : This is a very interesting way of combining models. Here we use a learner to combine output from different learners. It can either decrease bias or variance error depending on the learners we use.\n", "\n", "### Implementation\n", "\n", "Below is the implementation of Ensemble Learner." ] }, { "cell_type": "code", "execution_count": 65, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "

\n", "\n", "
def EnsembleLearner(learners):\n",
       "    """Given a list of learning algorithms, have them vote."""\n",
       "    def train(dataset):\n",
       "        predictors = [learner(dataset) for learner in learners]\n",
       "\n",
       "        def predict(example):\n",
       "            return mode(predictor(example) for predictor in predictors)\n",
       "        return predict\n",
       "    return train\n",
       "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psource(EnsembleLearner)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This algorithm takes input as a list of learning algorithms, have them vote and then finally returns the predicted result." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## LEARNER EVALUATION\n", "\n", "In this section we will evaluate and compare algorithm performance. The dataset we will use will again be the iris one." ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [], "source": [ "iris = DataSet(name=\"iris\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Naive Bayes\n", "\n", "First up we have the Naive Bayes algorithm. First we will test how well the Discrete Naive Bayes works, and then how the Continuous fares." ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Error ratio for Discrete: 0.040000000000000036\n", "Error ratio for Continuous: 0.040000000000000036\n" ] } ], "source": [ "nBD = NaiveBayesLearner(iris, continuous=False)\n", "print(\"Error ratio for Discrete:\", err_ratio(nBD, iris))\n", "\n", "nBC = NaiveBayesLearner(iris, continuous=True)\n", "print(\"Error ratio for Continuous:\", err_ratio(nBC, iris))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The error for the Naive Bayes algorithm is very, very low; close to 0. There is also very little difference between the discrete and continuous version of the algorithm." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## k-Nearest Neighbors\n", "\n", "Now we will take a look at kNN, for different values of k. Note that k should have odd values, to break any ties between two classes." ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Error ratio for k=1: 0.0\n", "Error ratio for k=3: 0.06000000000000005\n", "Error ratio for k=5: 0.1266666666666667\n", "Error ratio for k=7: 0.19999999999999996\n" ] } ], "source": [ "kNN_1 = NearestNeighborLearner(iris, k=1)\n", "kNN_3 = NearestNeighborLearner(iris, k=3)\n", "kNN_5 = NearestNeighborLearner(iris, k=5)\n", "kNN_7 = NearestNeighborLearner(iris, k=7)\n", "\n", "print(\"Error ratio for k=1:\", err_ratio(kNN_1, iris))\n", "print(\"Error ratio for k=3:\", err_ratio(kNN_3, iris))\n", "print(\"Error ratio for k=5:\", err_ratio(kNN_5, iris))\n", "print(\"Error ratio for k=7:\", err_ratio(kNN_7, iris))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice how the error became larger and larger as k increased. This is generally the case with datasets where classes are spaced out, as is the case with the iris dataset. If items from different classes were closer together, classification would be more difficult. Usually a value of 1, 3 or 5 for *k* suffices.\n", "\n", "Also note that since the training set is also the testing set, for *k* equal to 1 we get a perfect score, since the item we want to classify each time is already in the dataset and its closest neighbor is itself." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Perceptron\n", "\n", "For the Perceptron, we first need to convert class names to integers. Let's see how it performs in the dataset." ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Error ratio for Perceptron: 0.31333333333333335\n" ] } ], "source": [ "iris2 = DataSet(name=\"iris\")\n", "iris2.classes_to_numbers()\n", "\n", "perceptron = PerceptronLearner(iris2)\n", "print(\"Error ratio for Perceptron:\", err_ratio(perceptron, iris2))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Perceptron didn't fare very well mainly because the dataset is not linearly separated. On simpler datasets the algorithm performs much better, but unfortunately such datasets are rare in real life scenarios." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## AdaBoost\n", "\n", "### Overview\n", "\n", "**AdaBoost** is an algorithm which uses **ensemble learning**. In ensemble learning the hypotheses in the collection, or ensemble, vote for what the output should be and the output with the majority votes is selected as the final answer.\n", "\n", "AdaBoost algorithm, as mentioned in the book, works with a **weighted training set** and **weak learners** (classifiers that have about 50%+epsilon accuracy i.e slightly better than random guessing). It manipulates the weights attached to the the examples that are showed to it. Importance is given to the examples with higher weights.\n", "\n", "All the examples start with equal weights and a hypothesis is generated using these examples. Examples which are incorrectly classified, their weights are increased so that they can be classified correctly by the next hypothesis. The examples that are correctly classified, their weights are reduced. This process is repeated K times (here K is an input to the algorithm) and hence, K hypotheses are generated.\n", "\n", "These K hypotheses are also assigned weights according to their performance on the weighted training set. The final ensemble hypothesis is the weighted-majority combination of these K hypotheses.\n", "\n", "The speciality of AdaBoost is that by using weak learners and a sufficiently large *K*, a highly accurate classifier can be learned irrespective of the complexity of the function being learned or the dullness of the hypothesis space.\n", "\n", "### Implementation\n", "\n", "As seen in the previous section, the `PerceptronLearner` does not perform that well on the iris dataset. We'll use perceptron as the learner for the AdaBoost algorithm and try to increase the accuracy. \n", "\n", "Let's first see what AdaBoost is exactly:" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "

\n", "\n", "
def AdaBoost(L, K):\n",
       "    """[Figure 18.34]"""\n",
       "\n",
       "    def train(dataset):\n",
       "        examples, target = dataset.examples, dataset.target\n",
       "        N = len(examples)\n",
       "        epsilon = 1/(2*N)\n",
       "        w = [1/N]*N\n",
       "        h, z = [], []\n",
       "        for k in range(K):\n",
       "            h_k = L(dataset, w)\n",
       "            h.append(h_k)\n",
       "            error = sum(weight for example, weight in zip(examples, w)\n",
       "                        if example[target] != h_k(example))\n",
       "\n",
       "            # Avoid divide-by-0 from either 0% or 100% error rates:\n",
       "            error = clip(error, epsilon, 1 - epsilon)\n",
       "            for j, example in enumerate(examples):\n",
       "                if example[target] == h_k(example):\n",
       "                    w[j] *= error/(1 - error)\n",
       "            w = normalize(w)\n",
       "            z.append(math.log((1 - error)/error))\n",
       "        return WeightedMajority(h, z)\n",
       "    return train\n",
       "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psource(AdaBoost)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "AdaBoost takes as inputs: L and K where L is the learner and K is the number of hypotheses to be generated. The learner L takes in as inputs: a dataset and the weights associated with the examples in the dataset. But the `PerceptronLearner` doesnot handle weights and only takes a dataset as its input. \n", "To remedy that we will give as input to the PerceptronLearner a modified dataset in which the examples will be repeated according to the weights associated to them. Intuitively, what this will do is force the learner to repeatedly learn the same example again and again until it can classify it correctly. \n", "\n", "To convert `PerceptronLearner` so that it can take weights as input too, we will have to pass it through the **`WeightedLearner`** function." ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "

\n", "\n", "
def WeightedLearner(unweighted_learner):\n",
       "    """Given a learner that takes just an unweighted dataset, return\n",
       "    one that takes also a weight for each example. [p. 749 footnote 14]"""\n",
       "    def train(dataset, weights):\n",
       "        return unweighted_learner(replicated_dataset(dataset, weights))\n",
       "    return train\n",
       "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psource(WeightedLearner)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `WeightedLearner` function will then call the `PerceptronLearner`, during each iteration, with the modified dataset which contains the examples according to the weights associated with them.\n", "\n", "### Example\n", "\n", "We will pass the `PerceptronLearner` through `WeightedLearner` function. Then we will create an `AdaboostLearner` classifier with number of hypotheses or *K* equal to 5." ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [], "source": [ "WeightedPerceptron = WeightedLearner(PerceptronLearner)\n", "AdaboostLearner = AdaBoost(WeightedPerceptron, 5)" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 73, "metadata": {}, "output_type": "execute_result" } ], "source": [ "iris2 = DataSet(name=\"iris\")\n", "iris2.classes_to_numbers()\n", "\n", "adaboost = AdaboostLearner(iris2)\n", "\n", "adaboost([5, 3, 1, 0.1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That is the correct answer. Let's check the error rate of adaboost with perceptron." ] }, { "cell_type": "code", "execution_count": 74, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Error ratio for adaboost: 0.07333333333333336\n" ] } ], "source": [ "print(\"Error ratio for adaboost: \", err_ratio(adaboost, iris2))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It reduced the error rate considerably. Unlike the `PerceptronLearner`, `AdaBoost` was able to learn the complexity in the iris dataset." ] }, { "cell_type": "code", "execution_count": 75, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "

\n", "\n", "
def err_ratio(predict, dataset, examples=None, verbose=0):\n",
       "    """Return the proportion of the examples that are NOT correctly predicted.\n",
       "    verbose - 0: No output; 1: Output wrong; 2 (or greater): Output correct"""\n",
       "    examples = examples or dataset.examples\n",
       "    if len(examples) == 0:\n",
       "        return 0.0\n",
       "    right = 0\n",
       "    for example in examples:\n",
       "        desired = example[dataset.target]\n",
       "        output = predict(dataset.sanitize(example))\n",
       "        if output == desired:\n",
       "            right += 1\n",
       "            if verbose >= 2:\n",
       "                print('   OK: got {} for {}'.format(desired, example))\n",
       "        elif verbose:\n",
       "            print('WRONG: got {}, expected {} for {}'.format(\n",
       "                output, desired, example))\n",
       "    return 1 - (right/len(examples))\n",
       "
\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psource(err_ratio)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.12" } }, "nbformat": 4, "nbformat_minor": 2 }