{ "cells": [ { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "V0CqD2QfXd9R" }, "source": [ "# 线性回归\n", "NOTE: 本示例教程是基于2.0beta版本开发" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "6lPmRFntXYIp" }, "source": [ "# 简要介绍\n", "经典的线性回归模型主要用来预测一些存在着线性关系的数据集。回归模型可以理解为:存在一个点集,用一条曲线去拟合它分布的过程。如果拟合曲线是一条直线,则称为线性回归。如果是一条二次曲线,则被称为二次回归。线性回归是回归模型中最简单的一种。 \n", "本示例简要介绍如何用飞桨开源框架,实现波士顿房价预测。其思路是,假设uci-housing数据集中的房子属性和房价之间的关系可以被属性间的线性组合描述。在模型训练阶段,让假设的预测结果和真实值之间的误差越来越小。在模型预测阶段,预测器会读取训练好的模型,对从未遇见过的房子属性进行房价预测。" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "OEOMtGXCZaRR" }, "source": [ "# 数据集介绍\n", "本示例采用uci-housing数据集,这是经典线性回归的数据集。数据集共7084条数据,可以拆分成506行,每行14列。前13列用来描述房屋的各种信息,最后一列为该类房屋价格中位数。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "前13列用来描述房屋的各种信息\n", "\n", "![avatar](https://ai-studio-static-online.cdn.bcebos.com/c19602ce74284e3b9a50422f8dc37c0c1c79cf5cd8424994b6a6b073dcb7c057)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 训练方式一\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 环境设置" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'2.0.0-beta0'" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import paddle\n", "import numpy as np\n", "import os\n", "import matplotlib\n", "import matplotlib.pyplot as plt\n", "import pandas as pd\n", "import seaborn as sns\n", "\n", "paddle.disable_static()\n", "paddle.__version__" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 数据处理" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "#下载数据\n", "#!wget https://archive.ics.uci.edu/ml/machine-learning-databases/housing/housing.data -O housing.data " ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# 从文件导入数据\n", "datafile = './housing.data'\n", "housing_data = np.fromfile(datafile, sep=' ')\n", "\n", "feature_names = ['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE','DIS', 'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT', 'MEDV']\n", "feature_num = len(feature_names)\n", "# 将原始数据进行Reshape,变成[N, 14]这样的形状\n", "housing_data = housing_data.reshape([housing_data.shape[0] // feature_num, feature_num])" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAACcUAAACoCAYAAAArHxTxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOy9e5gU9Zn3/a2q7urp6RmYYZgBdPBEcHQ0Q2AQEZ41GDbGbFCXDOIVDsZDOIQYsz4GcTfh0n1InhXRdZcYHHSNCopBQVZfs1HzkJDkxSMDkfUZHXkRzAyn6RlmoKenu6vr8P7RU0UfqvpY1V3dfX+uqy+YPtTx/t2n36/um1EUBQRBEARBEARBEARBEARBEARBEARBEARBEARBEARRCrCFPgCCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCMAtaFEcQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEEQBEGUDLQojiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgigZaFEcQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEUTLQojiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiiZCiKRXE33HCDAoBe9DL7lTdIhull4SsvkAzTy8JXXiAZppeFr7xAMkwvC195g+SYXha98gbJML0seuUNkmF6WfTKGyTD9LLwlRdIhull4SsvkAzTy8JX3iA5ppdFr7xBMkwvi155g2SYXha9DCmKRXF9fX2FPgSCyAmSYaLYIRkmih2SYaLYIRkmSgGSY6LYIRkmih2SYaLYIRkmih2SYaLYIRkmSgGSY6LYIRkmih2SYSLfFMWiOIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIIgCIJIB1oURxAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQRAEQZQMtCiOIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCIAiCKBloURxBEARBEARBEARBEARBEARBEARBEARBEARBEARRMjis3DjDMEcB+ABIAERFUaYzDDMGwHYAFwE4CmChoigDmW5bEET0D4chSDI4loGTZeDgGAiigrEeHj5BRECQwLKAojDgGEBSAFlRwDKRv1mWRZ2HB8sy5p00QaRJMCiiPyBAlBU4WAZ1bh4VFdYMSVGU0TsUQliS4eRYNFS54HDQmthMkWUF/X4BgiiBd3Bp649kv8t2m3Yg/thr3U4MBMIJ5yLLCgYDAgKCBElRUOHkMNbj0s4zE/ks5uuVKaGQiL7hczpibCUPl+ucjhAEEV7/uc/rPTx43lKzXtLkUycT9qYUZSGZvmZy9IvTtQW5HnP8dpLpwPjPxlbyOCtIMdsCUDb2hMgcK/2NdLad6f4LsU3VvwuLMhQAoqxAlhU4OBYOlkFYkpP6val0D8UvqUn3nsqygj5/CMGwBI5h4OY51Ljzo/PMHEtWjUuj7erZt9MBIeE6AufsiZvnoECBKCoIj4yJCicHUVZsLcuyrKBvKIRAWNLyawwDiDLQUBWJ29RzZFkGLICQGMnFOVgGTgcbOUdRTnkNzfARjM4hnZjbzXO6x0oUN2bZOCPbY1Z8UE75DLuRKr9iF1Llz9Lxz/r9AhgoCIkyRFmxRZ6N8leJFItM5ko6Pn2uOrzaycXoaDtdy3T9zELag3KRRaK8SRUrqPGyg2XAMQyCogwHy8DlYDEsSHA5WEiKgrCkgGMZuJ0saitdtvPj4nVunduJ04HIOgrHSOwWkmQ4WRYVPAMhPBK36vgcKunosVxzywRBEOmSS2yeD+/mOkVR+qL+fgDAbkVRHmYY5oGRv9dkskFBEHGoz48VWzvQMxBAY60bGxa0YGy1C58eH8Rl59WgzxfCs3uP4LuzLsbz70T+XbPzoPb99W0teP6dI7j3601oGldNSprIK8GgiEP9fnz/hXMy/OSSVkyu85g+8S6KMj495cPKqH21L2nFZeOqbZeMtzOyrKDrlA/LtuzTruPTt01PqT+S/Q5AVtu0A/HndX1zA+6Ze2mMnD1923RMrq/CXweGcepsEKt3HEw4T1lW0pbPbO9BMRIKifisL1FHXDrWA5fLAUEQ0eVN/Lyp3lP2icVsyKdOJuxNKcqCnu5sX9KKjbs/w9udvTn5xenagkz1dCp9n0wHAtD97Kj3LH7464NorHVjy50zEBLlsrAnROZY6W+ks+1M91+IbcqygqP9fviCYQDAsCDF+HkbFrTgkTe74B0KJfV7jXQPxS+pSfee6n1vw4IWjBtVgYvqPJbqPDPHklXj0mi7k+urcMg7lNS+bVjQgsZaN4ZCEpZt2Yf6KhceuqkZwLkxUV/lwv03NMWMD7vJsiwr6Drpw7KtsTJSV8Vj575u3PiVRox2O/Cdp9/XHeNPLJqKsCjj3pc/SnoN9fyPfOhW4Jzu0bsfZP+LH7Ns3JfGetDVO5Rge75U5zElPiinfIbdSJVfsQuqf2WUPwOS5xBVGfvP/d341pTzserF/bbIs1H+KpFikclcScenz1WHX9/cgB/OvdSW1zJdP7OQ9qBcZJEobzKdn4uOdTYtnoY/ftqLmZPqYuKdDQtaMK5axEVjrY2pMyFe5z407zJMv3hsQgyrntuTi6dBVhT8YNuBjHNJenqM1lwQBGE1uc7dFSILdzOA50f+/zyAv890A16/oC2IA4CegUAkWDwdwNQL69BzOvJ3W+tErNl57t/o76vvL9uyD/1+waRTI4j06A8I2qAFIjL5/Rc60B8wXxZ7h0Ka46Pua+ULHegdCpm+r1Km3y9oTh4QuY7p6I9kv8t2m3Yg/tjbWicmyNmyLfvQOxTCF/3DWkIv+rN+v5CRfBbz9cqUvmF9HdE3HDlXr1//c28JXot8kE+dTNibUpQFPd258oUOtLVO1P7O1i9O1xZkqqdT6ftkOtDos6kX1ml/f9E/XDb2hMgcK/2NdLad6f4Lsc1+v4Av+odx2h/GaX84wc9bveMgVs6ZlNLvNdI9FL+kJt17qve91TsO4ov+Yct1npljyapxabTd3qFQSvu2esdBhERF+97KOZMSxsTKOZMSxofdZLnfL2gL4oBz53ZsIIgF0y/Ayhc6EBIVwzE+4A9rE0Tq53rXUM//yIdujf5M736Q/S9+zLJxRrbHrPignPIZdiNVfsUuqP6VkZ5Kxz9btmUfFky/QFsQp36vkHk2yl8lUiwymSvp+PS56vC21om2vZbp+pmFtAflIotEeZPp/Fx0rLPqxf24eVpjQryzesdBfHHa+pg6E+J17teaJ+jGsOq5ff/F/TjtD2eVS9LTY7TmgiAIq8k1Nrd6ub8C4G2GYRQAmxVFeQrAOEVRTgCAoignGIZp0PshwzDLASwHgAsuuCDmM1E+l5BT6RkIoJLnIMkKKnkOPQMB1LidMf/Gf199XxAlk06XIM6RjQyLsmL6cYQlWX9fkmz6vkoZQZR0r2Mq/ZHqd9lsM18kk+H48zLSs6Ikazo5/jNBlIzHgo58ZnsPipFUOiKfOqSYSSbD0dD1JFTsJgvpynAyjHRnjduZ8HemOjVdW5Cpnk6l71PdJ73PJFnB9uUzMRgIo6bSnOMk0sMMOc4nVvob6Ww70/0XYpuCKKGS52I+i/+uqmNS+b2TG6qwdl4zZPmc72e3+MWOMpzuPTX6XiXPWa7zzBxLVo1Lo+3Gy6CRfXNyDOqrXLp2Ndnv8i3LmcR1wDkZ4VgGPQMBxD/kr57v1Ik1mDjGbXiO6fgf+dCtqe4H2X/7k40MZ2rjkvmXZsQH5ZTPsBt2iPHS8SVU/yrbHKIqY6rujv9eofJsdrj+dqMYr0k2/nA6Pn2uOtzQ17LBtTS0NwbXpRD2oBhlMRfsGNcR1pPN/Fx0PkNWjNcj5HvcJpPheJ1rdNzR5xad15k6sQYr50zCsCDC6wPqPHza8XL0tsm/JZJBepjIlOhWzbn6LVZXiputKMo0AN8E8AOGYa5N94eKojylKMp0RVGm19fXx3zmZBk01rpj3musdWNYkMCxDIYFCY21bgwGwjH/xn9ffZ93cCAIs0kmww4DGXZYUFKW51jdfTk5e7RrKRZ4B6d7HVPpj2S/y3ab+SKZDMcfu5GedXCsppPjP+MdXEbyyTs4XN/cgM1LW7F9+UxsXtqK65sbbHO9zCSVjsinDilmkslwNHQ9CRW7yUK6MpwMI1szGAgn/J2pDdKzBWbo6VT2Mdl9MvqMYxnc+tR7WPdGJ0a7nba2v6WGGXKcT6z0z9LZdqb7L8Q2eQeHYUHCsCBBGfks/ruqjlF/53To+3yHeoew7o1O9PkFyCNJDKeBf+goUPxiRxlO954afa+uygU3b63OM3MsGW3L6WDh9YVwbGAYXl9Ik6Gctxsng0axzudeP+6/oQlTJ9ZgMBDWxoX63WQxUj7JJK4DzuXXJFlBY60b8Zc18p6CH3+jCd2nA4bnmI7/4ea5nO5hsnOIj7mN7gfZf/uTjQxnauOMfEijHLQzw/ignPIZdsMOMV46voTqX2WbQ4z+3E55Njtcf7tRjNckG384nZxvrjrc0NeywbU0Gl9GPlIh7EExymIu2DGuI6wnm/m56HwGyxivR8j3uE26biJOtxgdd/S5DQuRxWtTJ9bgx99owro3OvHVDXswf9NedJ3yGeZxjHI2tOaCSAXpYSJdIovhgug8cRbzN+3F7PV/yNlvsTQTpyjK8ZF/ewHsAjADwCmGYSYAwMi/vZlul3eweHzhlJhAb8OCFkwc48aBL/rROCby986ObqxvO/dv9PfV95++bTrqPLw5J0wQaVLn5vHkktYYmXxySSvq3ObLIu9ksGFBS8J44Z2lGdxYRZ2Hx9O3TY+5junoj2S/q3U70R4nB+1LWlEb9fS8XYk/r50d3Qnn8vRt09FQ5cKXGjzYtHia7nlmIp+1bifumXsp1r3RqS1suGfupUVxvTJlbKW+jhhbGZG3eo/+5/Vkz7LC42J1r6fHRYuHy4182ud8oWeHnlzSip0d3drfmxZPw/6j/Rn7xfHb3n+0Hz80QU+nsrnJdKDRZ+8c8gKIPD308G8/wealiTaLYgICyN7nM2vbme6/ENus8/C4sK4S59W4MMbj1PXl2vcc1n5X63ZiKCgmfG99W+R7PQMBrNjaobXYaKhy6frIDVWuTC95yZLuPdX73vq2Fjzy5ic4dTa7BUhmH2Mu2xoKilpyTE3cZ3JORtttqHKljHXWt7Vg4+5DWL3jIO6ZOxntew5jjMcZMyba9xxOkHu7yXKdh8fTS6cnjOHzayuwY99f0b6kFS4Hk/C5JCtYs/MgNu4+lJBv07uG6rlH+x9b7pyBU2dDOd1DAEnj6uh7rHc/yP4XP2bZOCMfknew+jkLR2axYjnlM+xGqvyKXVD9KyM9lSqHqMr2UCjR5ypkno3yV4kUi0zmSjo531x1+P6j/bbN4RiNr3oL481MKRdZJMqbZHpG77PofMamxdPw2v4e3fUIF46ptFUcEZ9H+X3niQS/IfrcHl84BefXVqCx1o2VcyZhzc7E9u0OlkkrXlbjY1pzQRCEGciygq5TPhzsPhvTBrp/KJiT38coijVJUIZhPABYRVF8I///HYD/BWAugH5FUR5mGOYBAGMURbk/2bamT5+u7Nu3T/v7i34//uHXf8F911+K8aMrwDEMTp4N4qK6SgAMxnp4+AQRAUECyzJQFIBjAEkBFEUBwzDgGIBlWdR5eLAl+uQDkZK83fh4Gfb6Qvjk+AAmNYyCKCtwsAwO957F5efVor7a3AT5sYFh3L3tAFbOmYQatxODgTDa9xzGE4um4vzaSlP3VepEl+nkHVza+sPod15fCD/ZdRBtrRO1e7Ozoxs/n9+SiRzkRY7jZRhIPK9atxMDgXDCefb6gvjprv/WPU9BlNKWT68vMmESXR61sdaNXatmmz5u7EAoJKJvWNB0xNhKHi7Xua7ngiDC6z/3eb2HB89b3RXdEgomwypf9Pvx+oFjuHlao+YnvLa/BzdPPR8X1HnycXiEjQgGRfQHzo2tOjePioqkY6vgMpyKaH3NMAye3/s5pl1UF6OTH7rpSowfVZGxXxy/7YWb3zVFT6eyucl0YPxnew95cf+rH8ds//1//BpYls3YppcoBfOJ7Uq2Pp9Z2850/4XYpiwrOHU2iFs2v4v6KpfmyykALq6rhCgr2u/6/QLmb9qrfW9yQxUO9Q6hfc9hHOge1La5d811mv8nijJ6h0IQJRkOjkVDlQsO4wUIZSnD6d5TWVZw8mwQxwcD6PcL2nXPhx9t5liK3xbHAjc9kXtsYHSMerHOKV8QPQMBLWZR5fdP918HjgHcPAcFCkRRQVhWIMsKKpwcRFlJJcsFlWFZVtA3FEIwHMmhOVkGDAOIcmRyhWUZ7VqwLAMWQFCU8dUNewCca7VTM1KJdcJot+E1jI4XFSj49qZ3cr6HqeLq6ONw85H7ERZlsv/mUnAZztXG9fsFXTn66bxm/Oilv+ScUyu3fIbdSJVfGaHgcZ0sKxgMCAgIEiQFqHCyGOtxpZ1DlGUFPYPDactsvuSyhPJXppGmTGZKwWU4mnTnJHLR4QzD4KHXP841t24JycaXanfskI+wSBazpSzjOsJ6kukZWVbQ54/EQg6WhSjLECUFvINF/1AIwbAMWVHg5FjUVDrhcnA4eSaISQ0ejPEk6JmCynB8HqXO7cTpQBhhSQbHMmBZBn1DAo4PBtC+5zDqq3k8eOMVEGVFi+2i2bvmOkwY7U4ZL9Oai5KC9DBRcFQf6rFbpuDWp96L+ez1H1yDuqqKZHN3hjJspXczDsAuhmHU/WxTFOVNhmE+BPAywzB3AfgrgFsy3TDHMvAOhbDkmQ+09xpr3fj18pna6sAxTg6geWzCpgiihNue7Uh4f++a60zfF+/g4B0KYcXWc/trrKUSttnAskxWAbXR7wRRwtudvXi7M7Zg5oM3SlkfYz7ROy+98wyLsuF5ZiKfgijp9gsXxOK4XpnicjlwfpIkBM87cH6ZJxHNgmMZbO/owWP/55D2XmOtG/NbGwt4VEShqKhw4Pzki+CKjmh9fWxgGJv/fBT489GY7zx4o5JV0iJ+22bp6VQ2N5kOjP7M6wth4x8Ox3zeWOsGy7IFT5IT9iVbn8+sbWe6/0Jsk2UZyIqCnoGAVulNJXpxG3DOh1O/t3lpK9a90ZkwQRTt/zkcLM6riS2JT8SS7j2NPCioYEH7uzHv58OPNnMsxW/LLJtjdIx67/MODve98lGC7LqdXFHbFJZl0DCqIul34s/P6wuhsdaNnoEADnQPYsXWDm2iV/UnUsWLZt3DVHG1lTqdsAdm2DhjObrClJxaueUz7Eaq/IpdYFkmMsGuM6eRTg6RZRm4nQ7b5dkof5VIschkLqSb881Fhx8bGLZtbj3Z+LKTb1IOskgQycYcyzJoqI7EQscGhnHtI3sAwDBvsXZeM1Zs7YjM5dpsDYJeHmWCy6HFXfGLS4CIr1vJO7TYTkXV15nEywRBEGag+lBqS+Zo3bRq21+wa9VsnJ/NWg0zDzIaRVE+VxRlysjrCkVRfj7yfr+iKHMVRZk88u/pTLfNcwal6zlqc0YUB8n62JuNlS2giNzIpxwUkmTnmYl8lsv1IvIP+RVEOWGlLrWjniY/iCDMQ5YVeH0hHBsYhtcXgptPb8zH6wZqYZic+OtsRotTO+rnXCnEOZFNOUcu10KVcfV30WRzD0tRvon8YyRHbp4zZdyTnBK5kq4MUZ6NsAv58JvsLMN2PjaCIPSJHrftew5jfVts3mJ927n2o8U0lnkHh2FBMmWOjiAIwmzi86BOB4vGWreuHt68tDVr3WRZ+1QziS+hGA5LOO4LIiwqYBlAVgCng8F51RVwOovHEBEFp2BlQEVRxqenfFov5MZaN9qXtOKycdXJ2gJljVo2NyzJcKZuP0TkCbUv9rIt+zQ5ePq26WgaV51JtR5blcbXI/48r29uwE+/1QyOZZK2XY0n3+OGyBsFl+FwWMLRgWH0nA6gkh8JEse4cVFtJfkVZUgWrd4KLsOZkMr25NLqzq562spWmCUClcYnUiKKMo6fCaDXF0K/X8DOjm7c+/UmuBwsbvvVB0l9WT29s+XOGaiqcJjVwrBkZNik+CBv243fRz51bT7OyWi/FpxnUcpwNtci+r7VV7lw/w1NWL3jYE73MH6b98ydjIvHelDp4rS2g4TlFKUMR5NMp8iyknNOza5+MhGDbeM6tbXbcEjCkT4/Nu4+BO9QyFBnpqufSS5LDtvJsNX+YaqccyFjfxpfWVH0/gRR3ITDEo6fDcI7kvfYf7Qfi2ZeBAD43Jva/sJmMhytgxUAw4KIO5/bp6uTKHdKjGArGSZKG6MYZ8udMxAKy1i29VyO58K6Sjg5FhNGVaTyowxluCgXxZ32h3C4dwj3vvyRprwfXzgFkxqq9Hp4E4QRBVPuXl8IP9l1EG2tE1HjdmIwEMbOjm78fH6L6SVnCzVZQKSHCc6m7RIeeqjnKcsy+vwCVmztyFge8zluiLxScBkm2SJUsrSZBZfhTDGyPbn6DDSWihZKeBBJkWUFn5w8G+O/rW9rwfPvHMHP5n8ZDJiUvqzFCdaSkWGvL4T5m/YmtC3ZtWp2znrUyntQYgvUCkHJyHAq4mV86sQa3DN3MiY1VMHtzP4eyrKCwYCAE4NBrHgh81iTyJmSkGE9nQLAFP1GfnJRYMu4Ts/Gbl7Sigk1Fahx52b3SC5LDlvKsNWYkXO2AhpfWVES/gRRnOjlPX65aBr+6+Ax3HXtpLTyHrCRDOv5D48vnAJRVsAyDOkkwgjbyDBR2ujpqPVtLXj0rS54h0J4/e7ZEGUFwbAMjgHcPJdu7GP4haJsFh8QJG1BHAD0DARw78sfYfvymbbr4U0QegiihLc7e/F2Z2/M+w/eKJm+r36/oCkVIDJelm3ZZ8rECpE7LMuUxX1Qz9PrC2mBBZCZPOZz3BDlhSBK8PqEmPe8vshkCFFelIvNNLI9uZ4/6WmCKE36oyaXgIhuWLPzIB7+9pcRFmUASLkgqVx83lwRRClmQRwQud5m+CRW3gMr7Gc6C95IroqPeBk/0D2IO577EHvXXJf2vTSSDUmGtiAOKF0/jrAOPZ3i9YVM0W/kJxPZomdjV7zQgV2rZue80IfkkigFzMg5WwGNL4IoLvTyHj/Yth/P3n4VAoKESt6BCaPdRfOwjZ7/cO/LH2HrnTPwWe8Q2vccxoHuQdJJBEEUhD5/Ypy9ZudBrJ3XjBVbOxAQJJxfW2nqPotyUZysKLqJYtn+Re8IAsC53vTxFQCs6ENv5cQKQWRKLvKYz3FDlBdunkto3bRhQQvcPMlWuVHuNjPX8yc9TRCliZFuOK/GjVufei+tSgwlVNHLUopVj5ptP62oPEcymH/0rnmuMp5MNsrdjyOswSy5Klb9ThQeK3UbySVRStjND6DxRRDFhZEOORMIY0H7uwWvPpkpRufT6wth3RudWvV/J7VzJggij6hV/v0hUVdH1bidlvlLRantOJZFY6075r3GWje4IjBEBAEAtW4n2pe0anKs9m+vdTtN3xfDMLrjhWFovBD5Jxd5zOe4IcoLUVK0BXFAxPlaveMgRIlW25cbatIymnJKWubqM5CeJojSxEg3ftE/nFCJod8vJPxeXcQyf9NezF7/B8zftBddp3yQ6am2BOo8PJ6+bXqMHn36tulaCz+7Yrb9NKo8pydf6UAymH+Mrnmt25mTjCeTjXL34whrMCunRn4ykS1W5nVJLolSwm5zIDS+CKK4MIol1Bg015g03xidz2AgrFVkeuCbl2MoKFJcTBBEXlDzRB91n8HRvmFdHTUsSJblQYtyURzDKFjf1hLjUK5vawGt8SGKhYFAGBt3f4a185qxfflMrJ3XjI27P8NAIGz6vjgGuuOFo/GSN2RZgdcXwrGBYXh9obJ2Mo3kkYGS8trkc9wQ5UXQ4Mmp4EhLOKJ8KNbFCEZkan9y9RlITxNEaRCvO/QWsbQvacXG3YdifmdUicHsBU6lDMsyaBpXjV2rZmPvmuuwa9Vs059EtyI2Mdt+ml3pg2Qw/xhd84FAOCcZTyYbucghxezlRSb326ycGvnJRLakksFc9BfJJVFK5KKvrfADaHwRRHGhF0usb2tB+57D2neKqQp1qvNRq+Dd9qsPKC4mCMJSVD+rZ3AYJ88EUVPpxMbdhxL8tvYlrZgycbRlFTmLsn2qIgPPv3MEa+c1o8btxGAgjOffOYKHbrqy0IdGEGkhiBLe7uzF2529Me9b0b+dZVnd8fLz+S2m74tIxIrWP8WKLCuQFH39vfobl+FMIIiAIOK80W44dMo253PcEOWFY+Rp0viWBo7yGqIEYhcjFHt7tWzsT64+g5l6mtrcEURhUHXH47/rQlvrRNR5eASqXfjSWE+MbuRYwDsUivmtUUUmu7Uysjssy6C+2mXJto1sw7hRLgSE7PWtnv2sdTuz1uNmt5siGcw/giihvsoV41O07zkMQZTAsgzqPLwmH/1+IW35SCYb2fpxFLOXLnr+JICM7rdZOTXKZxDZkkwGjfTX5PoqDATCEEQJTgcLB8vo2nmSS8Jq8hnXZ6uvrfID0h1flPsgCHsQHUsEBBFhWcH6336CA92D2ncaa91gWQayrNh+nLIsg8n1VXhp2UxIioIjXj8efatLO5/GWjd6fSGKiwmCsBRRlHH8TKR1c79fwM6ObjzwzcvhHQrh0be6NL9tWJBwXk0FxnisyYcCRboozsGxWPY3l+Delz/SHNUNC1owLIhFYYwIwulgdRO5VvRvr3U7cc/cS7HyhQ5tvFCp7vxh9IT8rlWzLZvssiPRE6zfnXUx1uw8qMnjk4unYcNbn+Ltzl401rqxeWkrLh8/KkGXmz05RhAqLieLJxdPw/df3B8jly5nURbUJXLEysUI+SQb+5Orz2CWnjY7KU1JZoJIn36/oOuvbV7SiqZx1XA4IvpDFGW0L2lNS1+QD2cfjGzDupuvxB3PfZiTvo22n7nqcfWp9vjfZ1t5zgwZJFsSS6rr4eY53H9DE1bvOBiTt3PzXE7ykUo2svHjKGYvTYzkrK6Kz+h+m5VTI1tIZEudh8e9X2/S1Xt6+uvx33XhR397KVZsPSezjy+cgqe0nDMAACAASURBVP/9X5/COxSK0bckl4SV5HvRebKxkgyr/IB0xhctzCcIe6HGEl4fcKrPjxVfnYTOE76YeMYXDCMgSLiozmP7cXo2FEbPwDCe3XsE3511sfZgo1o17tG3upLafYqBCYLIBVGU0XXKhxVRsfT6thZs/+AL/HLRNPxg236s2Nqh+T81bmu7NRXloriQKMHBMVh385Wo5DkMBsJ45M0ueIdCeHXVLDRUVxT6EAkiKQ6WwYYFLQkJYocFDsXpgKCV6lafktq4+zM8dOMVcJIjYzlUlSBCdILB6xOwdl4zJjdUQQGw/refaE/N9QwEsGJrR4Iul2UFChS8cNfVONLnx8bdh7RkXrG2NSTsQzAs4xe/PxSjJ3/x+0N48MYrCn1oBJE1mdgfNckRCIsICBIe/vaX4eRYzWf4+fyWtJLBZi1iMDMpTUlmgsgMQZTQ1jpRWxAHjPhnL3Rg2/euRmNtJViWiWkHFB1j6OmLOg+PLXfOwBf9w6jkOQwLEi6sqywLH85uSWQj21DJc9r/zZgEzFWPm125NVf7RLYklnSuhygrWr4DiMjA6h0H8eqqWTnJhxVVfQsds9tNT5QKRnK2bdnVGd1vo5zaz+Z/2TD/rHdPzV7sS5QPyfSenv667ZqLtAVxQES+7335Izz87S9jyTMfxOjbZHJJuonIlT5/SFcPWzV/l62PYJUfkI7eNyP3QWOVIMynzsNDECXIiqK7DuG5O2ZgMCBYWtHIDAKCpMVk6pxcnYfH+FEV+OFLB5LOr1EMTBBELoiijGNnAtqCOCDi56zZeRBr5zWDZYB1N1+Ji8d6UOniMNbjsly3FOWiOI5hUF3BY/6mdxM+C4blAhwRQWRGQJDwyJtdMUm1R97swhOLpgIec/cVDOuX6r7/hstw+1PvkSOTA+kEneX81GX09QGA+ioXegYCONA9iBVbO7B5aSsm1VclyGbPQCBGl+s54JuXtGJCTQVq3BToE7kjyoqunvzpt5oLdEQEkTvJ7E+0fnbzHE6dDcXo2PVtLXj4t59qJfXTbZ9j1kS1mUlpqv5CEJmhjlu9MdjrC8HBsRg/qiLjdlshUcba1z6OSaaWOpkmkfMxoWVkGwYDYe1vMyYBzdDjZlZuzdU+kS2JJZ3rERZlXRkIi7L2//jP0pUPs6v6GlXyz0fMTpNN1mHUwpdjmIzut1FO7afz9PPPye6p2Qs6ifLBSO/p2fXxo926Onb86Art/6q+NbKPgH6b4ei2rCTDRCqCYX1/0Oz5u1x9aKty9+n4n7n6zORHEIQ1sCwDhmFw6kwQdzz3YcLng8MCQqJk+7kpSVE0HaPOyQHAH1fPwf+6+QqM8fCYMNqtew4UAxMEkQ2yrGAwIMAXFOEdadEcTc9AAHUeHrUeHuNHu/MaTxRlXzAHx8I1krSKprHWDc6+9ocgNHgHB+9QCCu2duDWp97Diq0d8A6FLEm6qgm/aCJjhdEcmX6/YPp+Sx016Jy/aS9mr/8D5m/ai65TPsiyEvM99akw9R6Uy9PA8dfn1qfew/03NGHqxBrtOzs7utPS5XoO+IoXOiDJsHXQQRQPHKuvJ0m+iGLGyP7Uup0x+vmj7jMJOnbNzoNYOWeS9rtM/BN1wub82krUV2f3hI+alI4m26R0oau/EESxUefh0VDt0h2D/X4BxwcD6Drlg5tPf5waJVNLPQbJ5LzTjS1yRc82bFjQgvY9h7XvmDEJaKYeN4tc7BPZkljSuR7JZMBO8iHLCoaCIjYsaClIzF6u+jEfqC18173RiVufeg/r3ujE/Tc0wePiMsrRGOfU9Peb7J6a4ScTRDR6dr3CMM/GaP+P1rd6cmkkx8fPBCz3VYjSIVP9mQ1m+NBW5u5T6f1cfSLyIwjCOhQlsuDWKDeyYmsH+vyhAh1delQY6JgTZ4LoGxLAOzhDf5RiYIIgMkX1yz7qPgOvL2SoQ8d4eFTyXN5j4qJcFBcUJfQNBROSVhsWtMDNl371JaL4UVsIPXv7Vdi+fCaevf0qbLlzhiVJVzfP6Y6Vk2eDAMiRyZZ0g87op8L2rrkOu1bNLountfSuz+odB3HP3MkAInJ479ebUMmzKXW5kQMeCEuUfCNMQW1pHS+HVrS0Joh8YWR/BgLhGP1cyXO6OrbG7cwqGSzLCry+EI4NDMPrC2Wlp81MSttp4p0gigGWZXDe6EhV3ugxuL6tBTs7ujUfT5SVtMdpufpymSSR8zWhFW8bXl01C+NGVcA7FEnmmzUJWKgHg8ywQXqQLYklneuRTAaSLdy34v4lo98v4LZffaBV8t++fCbW3Xwlxo3KT3KWJpusw6iFryApGeVojHJqRvnnZPfUKh1FlC96MZ/bpZ9nO3k2qGuP9eTSSI57o6o90OIbIhWZ6s9sMMOHtjJ3n0rv5+ozkx9BENbhdLDY2dGN9W2xeuyXi6ahfc9hSypfmoWqeyRFRntcbuexW6Zg/W8/xcVjPUl1DcXABEFkgiwrOHk2CH9IxMQxkcXDejq0fUkrnByDGnf+CwcVbfvUJ/ccxqrrvqT18x4WJNRXu1DNF+UpEWVIKBzXQmipNS2Eatw8xo2qiBkrbp7DP7/eCYAcmWzJJOg0u71LMWB0fSY1VGHvmutiWjKMGyXGyOe4URUxBtGojP3h3iH4Q2JZLDLUIx8ttsoFFpGFQdFyWMlzxfnkAEFEoWd/4vXzYCCsq2Mba93YtWp2RrrFrNYd6bQZSVcHqknm+GMq9YqtBKGSjb/gcLBoGleNbd+7Gr0jT/Y9/84RfHfWxXj0rS6tBWK6beDK1ZfLpBVTPie04m3DWI9iejs/s9ppZ4KV7aMytSWl6KfHt15PdT1SyUD8Z7VuJw55h/Le/ksdez0DAa2dEADsXXMd4LFstxpWtWwjkrfwzSRHo5dTi89ZRGN0T50OllrcEZYQL8+yrCTk2eqrXah2ORLiOyPbWVfF68px/EKjdH2VUrSLRGoy1Z/ZYJYPbUXuPh3fNFefmfwIgsgNI/ukVpO+Y/bFeHbvEayd14w6D48xHh7tew7jQPegbTvXxeueV1Zco+nhwUAYD//205GuZSxOnAkY6h3KpxIEkS6iKKOr14cVWzvQMxDAs7dfhZ0d3fjurIvx/DvndGh9tQuj3Q6MqihMLFCUK8jcPIe7vzYZT/z+ENpaJ6KadeDCukps/+ALLJ55ERprKymwImxNnz+EZVvjnmLaug+vrpqFhuoKU/fFsgwuqvOgusIJQZQgyQp+9ptOzXEjRyY7KOhMjtH1cTu5hCRDtHzqOeF6Dvj6thY8+lYXvEMh7Fo1u+wWHVo56VeWMAbXzOh9gihi4vVz+57D2LCgRaukoeqTCaMzbyFs9JR2Nno6WVI6Ex1YiIUZBGEXcvEXHA4WjbWVcHCRJeJtrRPx6FtdWgyhttlIZ2yXqy+XSRK5kLGFVQ/w5PvBIDNtUDyZ2JJS9NP1zmnLnTPw6qpZCIuy4fVIJgPxn3l9IcvuXzIKHdfTZJN1FOreGt1TB8sURMaJ8iM+D5zMZhnZztfvnp0gx5uXtuLf/89nMb9PZ0yVol0k0iMTWcwW50i7YL2FyIUmXd80F5+Z/AiCyJ5k9kmtJl1f5cLKOZPQUO3CaLcTD//2E7zd2WvrznXxuud//9cnuP+GJtz3ykfaebYvacVDr3+snYueXaZ8KkEQ6SDLCo6fCWgL4gBg4+5DuP+GJjy79wjaWieizsOjodqF80a74Sigj2b5ojiGYTgA+wAcUxRlHsMwFwP4NYAxAPYDWKooSkZ1tmvcPAKChLbWiahxO9HvF/Dz33yCA92D+PoVE+DmHZRQIGxNMKz/FJNV5XajgytZVvDz+S148EZyZHKBgs7kZHJ9UgX/qgO+fflM9AwEMBgIa5OyAMqyJLyVk37lSEiU8NDrnVg5ZxIqwUGQZDz0eic2fmdqoQ+NIEwnXj97h0IYN6oi5cR2OuSr0lGmOrAcK7YSBJC7v8CyDMaPqsCZQBj/sP0vWfu85erLZZJEptgid6y2QenaklL00/XO6bZffYBdq2bj/NpKU/ZRqPZfhR57NNlkHWbdW3VSNH7BRTK/U++enjgToBZ3RN5I12YZtrgXJN2Knvd+vQmdJ3wZjalStItE+lgdiztYJuEhvw0LWuCwgR3Nh29DfgRBZE8y+6RXTXrqxBr8661TcNf/uMSSypdmEa97DnQP4pE3u7D1zhno9wuor3Zh23tH8XZnL4DkdpnyqQRBpKLfL6DXF9LVO/966xQwYFDp4jDW4yq4f5KPSnE/AvAJgFEjf68H8LiiKL9mGKYdwF0AnsxkgyzLwMmxWPdGp24Z7wmjza20RRBmwzGM7lNM+Si3S46MOVDQmZz468MwDDgmYiCzuU4sy4B3cNoTLSrlWp2vUJNGpQrLMPAOhWJaJjXWukHDmShFzLZf0a0GGAP/xmw9TTqQINLDjLGipzNqRx5My0SHlKsvl27sRbFF7uRSFcrMtm6laKMyPadsrmehqnrZYexRjsYakt3bTGQ0mzGtd08LXZWQKA7y3WY0mVzqyXE2+rIU7SJhHwKChEfe7MLaec2ocTsxGAjjkTe78MSiqXlpg56MZOPLzLFOfgRBZEcy+6Q3fr1DIfAciwmjK+DgWDRUFX6Bhx6Gx+5gcWGdB7IsY/Ofj8b8JpVdpjboBEFEE60TgEghKD2943JwGD+qwjb6wtIadQzDNAL4FoD/GPmbAfA1ADtGvvI8gL/PdLuyrGAoJGLDghY01roBRBzKx26Zgp0d3ZRQIGyPx8Vh0+JpMfK7afE0eFwku8WEGnSeX1uJ+mp7OsGFhGUZ1Hl4nA2KWLj5XVz9L7/H/E170XXKB1lWMt6e+qR39Lgp1woaanATDSXUs4d0MlFumGW/1FYD8zftxez1f8BDr3+M9iWtlutp0oEEkR5mjZVonVHn4XHIO6SN+0x8O/LlkkOxRW5kK1/xtiyXeAUoTRuVyTllez0LqR9o7JUuevc2Uxk1a0yTDSRSYbY9SodM5TIbfVmKdpGwD7yD0x5yvfWp97Bia8fI4o/Cy5fR+Kp1O/M+1gmCSCSZfdIbv+1LWvHP/8//xbUb9mDh5ndxyDtky3FrpHsmjHaP2G42I7tcCP+EIAj7Eq8Tbn3qPVRXOPDYLVNi9M7mpa22WhAHAIyiWKe4GIbZAeBfAFQD+DGA2wG8pyjKl0Y+nwjgt4qiXJlsO9OnT1f27dun/e31hTB/016tn3eN24lhQUKVy4GqCkdC72uCMCBvQhIvw72+IH6667+1FsCDgTB2dnTjZ/O/jIZqqnRIZERe5DhehtNF1dfpthpJBT2VEkF1POJbwRSp/Su4DJNOJnKk4DJcKPR0/PXNDXjopiuhKIplerrEdKAdKJhPTFiLFWMlV9/OIl+OZJgAkJ18WRGvZDHubC3DmZxTLteTYr2ixtYyHE2mMmqmLSUZtz0FjevMtkfpYrVcUuyWV8ouN2F3+dIbX/1+oSBjvUgoGn+CKH5S6Y/4zhgPvf6x1nIUMBy3tpDhZLY9U71ZKP+EKBi2kGHCvhjphMcXfgWnhyOd4hqqXThvtBsOh6W12YwwlGHL2qcyDDMPQK+iKB0Mw8xJciC6q/IYhlkOYDkAXHDBBTGf6fXzBoA/3X8dGmvctnB4CSKZDIdFGW939sY4UQDw4I1y3o6PIFKRTIbTxagMdSAsQZaVrNqokrNtjzY/xUC6Mkw6mbArZujhTMm1ndTbnb148EYF59dWWnaMpAOLi0LIMRHBirGSTgusZHqkGH05kuHiIV6+ZFmB1xdKKv9mt3Wzo43KVYYzOad0r6eRnig2/UDkh2xlWE/OMh3zZo5pkvHyJR0ZtqrNaKr4zmq5tKNdJDLHrv6w3eVLb3wZ5soFEV4fbHX8pYZd5ZgoDKn0R/T4PTYwnDBvUIhW4OnKcCrbPm6UC9uXz4SkABVOFmM9xtVfqQ06YSakh4uT6HhCUhRdnTBudAXOq6mwnS8WjZVL9GYDuIlhmKMAfo1I29R/A1DDMIy6GK8RwHG9HyuK8pSiKNMVRZleX18f85nToV/es8LJ2vIiE+VJNjLsLMyqWYLQJZkMp4tRGerDvUNUZjlHqM1PatKVYdLJhF0xQw9nQqHaSWUD6cDiId9yTMRi9lhJNe5LsbUGyXBxkq4sWmHL7GajzJDhdM8pnetZinqCsJZsZNhIzoxiv2Rj3m5jmig+0pFhK+yRXfQtjaHix87+cLHJl9FY/+Skj3wii7GzHBOFIV39YZe5g1xlWPULbnoi4hcsevo99A8JSX9DbdAJMyE9XHzExxOHe/26OsHt5Gzvi1lWKU5RlH8E8I8AMFIp7seKoixmGOYVAAsQWSj3XQCvZbptB8vgme+2gmM5sAwgK4AkS3DY9CITRDwkw0S5UOfhseXOGfiifxiVPIdhQUKtx4l/fr0T3qFQxmWWqd0IYQWkkwkiQr9f0MrnA5GnfJZt2Weoq/V0/JcaPFCg4NjAMOlpgrApufhTdR4eT982PaHVRp2HBwAMBgScPBPEY7dMwWAgjPY9h5PqEYKwinRtmp5Mb7lzRlJbRjGJMXq+wYV1lajz8Np1C4RFnDwTRH2VS+sCQXqCMBsjHfD63bMNZdRqSHcQyUimP7MlHVtIckkQ1qE3vpLlysknIgh7oY7hUFjCS8tm4mwwjJ6BAHZ2dOOO2RcXxdxBfBvYx3/XhZ6BAKZOrMHKOZPgD4k4eTaI8aMqdO1/qhwQQRCliSwr6POHEBAkVDhZbFjQgkfe7MLG3YewYUELVu84WHQ6wbJFcUlYA+DXDMP8DMABAM9kugFZVsAyDLpPn3McG2sr6AkKomiQZQWCqOD7L36gKY0nF08jGbY5lCjKjlBYxtrXPtZk/d9u/QqA5GWW9a41AHSd8iU44E3jquk+EDlBfgVRTiSzZdmUxI/W8dc3N+CeuZdi5dPvk54mCBsRPe7dPIfB4XDChOtFdZ60xmmyFiOyrODEYDDG71vf1oJH3+qi1hp5opjiFauPNV2bFi/Tbp7DqbMh3LbpHV1bpj4lSzGJMSExNv7bvLQVkiTj/+vzx1w3VT8c6B7MuQVPMck+kR+MdEBYlBNyFE8vnQ7AWjki3UGkg5FsJiOX+I7kkiCsw2h8Ta6vMsyVA9m1JSQ/iCDMJ34MX9/cgAe+eTnGj6rAT77VjPcP9+GCMZWAp9BHakz0OdRXuXDP3MlY883LsfzaSXBwDO7ediAmZmtqqIYjrvqd3dtUEwRhPuGwhONng/D6Quj3C9pC4AdvasY/v96JR97swvblMwGgqHRCXhbFKYqyB8Cekf9/DmBGLtuTZAV9Q0KM47hhQQtGVThzP1iCyAMhUcb3X9wf86Te91/crymRUqWYAzRKFGVHnz+EZVtjn0r9h+1/wS++8xUMDouQFAVeXyhGFoyu9bhRrowqGBFEupBfQZQLyWwZADAMgx0rr0G/X0D7nsM40D2YtCR+vI5va52IlS90kJ4mCBshijKOnwmgdySR0VjjxtlgOMHm1VQ6McaT3jhVW4zE0+8XsCJOB6zZeRDrbr6SWmuYQKpYqpjilXwcq9rmJXoxgJFNi5Zpry+UNObItKpquaF3fVZs7cCvl89MeH/NzoNYO68ZK7Z25NSCxyx5KuZ8BZGIkQ6QFSTkKJZt3YfX7p6F3rOCoZ+cq2yQ7iBSoZc/W7Z1H15dNQsN1RW6v0ml/1LZwnzIJelWopAUUv6MxtfLK67RzZU//O0vY8kzH2TsExVTDEAQxUC03lDH1dSJNfjurItx26/OFTlpX9IKj8veeQ5VD9VXufDjbzRhzc5zlZ02LGjBrEvqMLd5HGrcTvSeDWFMpRPjRrkTdIdRDoggiNIjHJbwWe+Qlt9VH2h8du8RfGfGhVg5ZxLWvdEJ3sEVnV7Ib8NrkwjLilaWD4g4jqt3HIRIFV2IIkGUFd0n9aySYVmOLDw6NjAMry9UkOpHsqzgaL8fHx87g56BAD4+dgZH+/1FU4nJKJDt9wsFPjJ7EwwnPpVaX+VC9chioxODQRzt8+PYYECTzz6//kRUQMi8ghFBpIORXxEuEv1EEOliZMv6/CEc7fej66QPkqyA51g8eFMzrm9uSFr+Ol7H17idttTTdvCDCKIQyLKCrl4fFv3H+1jQ/i7WvdGJqgqHrs0LCFLOY8OoGsnFYz1FUUbfzqiTXfM37cXs9X/A/E170XXKp90zWVZw8mywaOKVfMRWapuXxlo3AKTd0iFVVR1BlFBf5cLmpa3YvnwmNi9tRX2Vq+C2Lh+kY0+Nr5+s+36N25lzuw0z5KnY8xVEIkY6ICzry2JAkA395GODwzgTCCMkyjgTCOPY4HDGspFNRWaivNDLn/UMBBAMy4a/SRbfeX0hCKKEbd+7Gtc3NwBItIVWyyXpVqKQsXih5c+wYqmkb4fGj67IyieiOQuCMI/ouLtnIKDFff+6cIq2oAyIjLOVL3RgWDC20XZA1UMr50xKOP7VOw5qi1tufeo9rH3tY/QNCRgMGOsOyq8SROkiijKODwZwaiik+8BzW+tEVPKcFmcXY563EO1Tc0aSFdRXubB2XjNq3E4MBsJo33MYgqREWqDRExCEzXGwjO6Telb0oDfzaaFcnq4aDAg4dTaYU1WKQkIJzOxwcSyevf0qVPKcpqv/6e8uh9cXwtrXPkZ9lQv/9HeX4TtPv6fJxQt3Xa17rSUFaVd7IIhMkA38CgrsiFLDyJaFwrKujf7Z338ZYyr5mLaLoqwgLMrgHRxcHBujlwcDYdvpaXpqmigmzK5k0O8XsGJrbCLD6wvFjNGpE2uwcs4khEQZ3QPD8PAcFDBZ7duoGkmli6PxliPJKrnUeXh0nfLBHxJNi1fMlEW9bRnZI1mWtUn8XPebbZuXVFV13DyH+29o0haXqjbTzevbulKpkJOOPZVlBQyjn+uQZEX3/cZatybH0dvJ5JplE6vH74NllaLOVxCJGOmAE2cChjJq5CcPDoe1bg+NtW48uXgaqisE1FTqy4aeDGdSvZIoTzgD/cmNqD9RlNE7FEJYkuHkWDSMLMjWk9vhkIQlz7yvyezmpa1Yd/OVYFk2RqdaLZfFngsmcqPQsXih5c9ofBnNC1U4uRifKN6W1LqdGAiEE/wjmrMgCPOIjrsrnCz++eYrsOrF/Xhy8bSEeYMD3YMQJfsuipNlRYvBjB5iPu0XYnIMWjczT6w/63Sw4DkGxwaCMdWj1JbQerqJIIjiQRBEnPCFtK5u9VWuGJ3RMxBAnYeHLyiiaXw1xo+qKMpxXpSV4twOFvff0KStYF73Rifuv6EJfSMVhgjC7lRVsHhySWvME6tPLmlFVYX5Q7LPH8Ljv+vC2nnN2L58JtbOa8bjv+vKeKykqk6QioAgGValKAbUQDaadBNF5fIERfx5hsMS+vyRlpTRuvrCsZUIhmU8dssUPLpwCp7+8+cxcnGkz697rSucbFbVHggiFS4Dv8LlKEo3iSB0iZ6ojqax1g2WgWajp06swdp5zXByLMKSjL8ODGP+pr24e9sBdJ304dub3tH8gH6/gF/dfk4v7+zoTvBvCq2njaqPUsxA2I1cfW091AmSqRNrtKpWo0eqMgGRBXE//kbE/n3tsT9i8X+8j2ODQfxk18Gs9m1UlWcsTXrmTLLJLjVx3+8XsopX4n14UZRNk0UjuXY62IRjvb65AX1+wdQxoLZ5Ob+2EvXVrrSSdqkqzIkZdC6wYlwXilT2VD3Xh17/GOvbWmKu3/q2FuzY91dsXproI0wY7Y65N9lcM6NYnWEY3d/p7SMQkvOeryiXPEEh0dMBlS4WmxZPi5HFTYungdfRS6qf/IvfH4rJqf3i94cwHNKXDSMZrnU7KZ9BJMXj4nRl0+PiEA5L+PSUDws3v4uvbtiDhZvfxaenfKhw6svtkT5/jD5bsbUDzMh4iLaF2VZVTZdizwUTuVGIWDzatgYECc/uPVIw+TMaX1UVRmOd1caoni359JQPP9l1MME/ymXOgiCIWKJzKKMqnFj14n7UV7mgADHzBj/+RhOub26Ak7Pv3EG/X8DPftOJ9W0tGBYkXT1R5+GxeWkrpk6sAXCum1l8TuDbm97BX08H8O+7P0vQ6cfPBEoi3iWIckQUZfSeDeIzrx+LR7qMLP3VB7j/hiZNLwARfTHGw+PCusqiXRAHFGmlOFHRT0L+261fSVpSnCDswnBIwRt/6cGzt18FjmUgyQp27Psrbp99CUa7U/8+EyRZxvJrJ+Eftv9FW8H/b7d+BVKGjkmy6gTp9I2WFP2nbqUi8Y/UQDb+6bZUiaJCPxWXL/TO88XvXZ1QnWT1joN48XtXxzyl99gtU+D1CTjQPQgA2Lj7ENqXtGJl3FMnYz0ujPW4Yp70rnU7S6LyAlFYJAO/4uUVMwt8ZEQhKJWKLtGoOvrx33VhfVuLVjJf1a8sCy3p88A3L8N9r3ykff74wimYdUkdll17Ce547sOYcbJ8awcevWVKzNOSb/ylBy+vuAaKotji+mXThoggCkGuvnY0qh6TFAWvrLgGsqJo4/r65gY8uaQV33+hQ7eFxg+27cfaec26+06lH7OtzEWkRl1EFl9RwulgtcR9+57Dujq+zsMb3js9H37b967OWRbV/QXCIk6eCWpPmarbev3u2Qmx1U+/1YxF//G+KWMgF1LJcdigDWhYTLQrZo7rQpPKnkafq9cnYO28ZtR5eIx2O7HhrU9x79ebMLm+KqV+MLpmqi7T+51erL6+rQUPvf4x7v16U0LsrbePoMF9tSpfUS55AjsSFBT85qNjCfm4u/5mkm7Ox8kxuOt/XBLjHz92yxTA4DYlG/dkI4lkCJKCJ0YWYKqx1RO/P4R/afsyjp8Najky4FzbtpeWzUyQ2/YlrVj7nx/HbNso/rHadyv2XDCRG/mOxfVsa3zOOZ/yZzS++vwh3bG+dt4VGF0R6YKlZ0tWvtCBZSyrQgAAIABJREFUrXfOQFvrRLTvORxTNTqbOQuCIBJRF5munDMJ/SNV1P7t1q9g1UjFYOBcK8Gtd80Ax9nXjxNECW939sLrE3D/DU14cvG0mMrHGxa04H++/BG8QyH8ctE0vPjeF3jn836cOBMEz7EJOmjVi5Fc0dudvdo+egYC6I3qRlDM8S5BlBvhsITPeofQO9LVLX5udN3NV+KO5z6MVJ1e0opajwOjK9J72NSuFOWiuLCkH1DVeXjY2AYRhIYgydj856PY/OejMe8vnnmR6ftSFEZbEAdExso/bP8LXl5xTUbbybUUd4VTv2R4hdNeT1MYTRixLIPJ9VV4ecU1ECUZjpFWBakMQKqJkFJZfKGep7pwgmMZKAp0ZcYb5yjf98pHePjbX8aSZz4AAHiHQqiv4g2TcqpDTRMJhFkY+RUiZWrLjlLVK/1+Af+5vxurv3EZKpwsti2biaFgGDWVPBqqXPAOhdBY68Z911+qTfgBkXFw78sf4YW7rkbfUEh3nDAAVmztiHn/tlkX4/zaynydXlJStSEiCLtgVtubeD327O1XxSQ31ATmS8tmIizpLwJRW2tE7ztd/ahW5SEyQ5YV9PlDCIYlcAwDN8+hxn3O/3WwDDYsaElo2elgGTAjifsD3YN49K0ubTHSeTVujB9VAQCG904vVun16ev7dGVRT1bWt7Xg0be6cKB7ED0DAQQEKWGSMGSj1k/J5DiTVnOl1M4qlT2NPtcD3YOab/Cn1XPw8/ktWjyXSj8YXbNAWMJ9I5M2m5e2YqyH19oAAsC4US5sXz4TJ84E0e8XNHnrPOHDyyuuiXmaWW8fJw1aahrlK9JtaWZEKS2YtDN67SYVKPja5eO1hz3URROSLOsuXjh5JpDgH9/3ykd4ebn+A1TJxj3ZSCIZYVHG2529MZPNAPDQjXJMHk2lZyDS9mzC6ApsXz4TsgJwLAOWieTVokkW/xjJpRn5SjUXXF/lwso5k1DjdmJYkOBx2SsXTJhDvMzkOxbXq0wXn3O2ai4i2XxC/PgyGuvLr52ECmfkt4GwqDvme30hrHujU/OtVdtCi64JwhzURab+kIh+v4DrmxswttqlOx5ZhoFkw/apqj4CoOUJvvP0+5g6sQbrbr4Sk+o9OOz145E3u7QFwz/Yth9b7pyB5V+9BL89eALjRumfc/xi28Zat7av6O8VY7xLEOVEOCzh+NlIO+THbpmiO94vGFOJPavngAFw3qgKOJ3FX4G2KCMQjtVv/eR0sHDzxX9TiNLHyemXt3dYUG7XaLIr0373uZbiHuPm0R7XUq19SSvGuO3z1FKyVi2yrOCQdwgLN7+La0daFRzyDqUsBZwsIVpK7XQEUcKsS+qw5JoLccdzH+Jrj/3RsA2qnqM8YfQ5udiwoAVOB5uy1RG1xCPMwsivoARS+WE0QRmvt4oNBgq+NeV83PHch/ibR/Zg0dPvQZQV8ByDQ94hPLf3czy5eBrGj3br2ixpJKGiN06G41qP2K1Nh5vnsGFBbBu3DQtaKGYgbIdZbW/i9VglzyWM67c7eyEriraP+H0OBsIJ+y5V/WgH1Jjg25vewbWP7MGtT72HrpM+HO33a3FBQJDwyJtdMe37HnmzCwFBimnNdKB7EOve6ITH5dAWASW7d3qxSrZtWKN/H7+/NTsPYuWcSTHbim5rqFazK4bWT5m0miuldlap7KnRubp5R9qta5Nt54v+YaycMwk9A5E2gH/pOaPFz0f7/bjpib3oGQhgQfu7WLG1I6YizPHBQEycrbePLe8e1W3vqtf+OT6O/8mug/g0w7i+lBZM2hVRlHXbTTJgdBe5KWBi9JIqt2HZ4AEqg/tbSuOeyC9GshNOEotV8hz+enoYd287gJ6BYSzc/C6O9Plzjn/MyleOcfN47o6rcP8NTVrbubWvfYzeM0JR5j4JY/RkhmWQ11jcqDJddM7ZirmITMeL06Bdt+qbd53y4XCvfk59MBDWfOt75k7WbIue/SIIInPURabn1bixs6MbD3zzciiKfpwqKwoUo9LBBSJaH9297UCMDvYOhVBf7cJQSMQdz32oxUvAuYX2fUMCbvzK+TjaN6x7zmM8fIxO37y0FTs7uhO+R34vQdgXUZRx0hfSHrpRc8DRRNarMKjiOUysrSyJBXFAkS6KU5+SjneoHSyDGhstsCEIIyp5FpsWT4uR4U2Lp6GSN39ImrXYI5Pkvx4DgTA27v4sZiJn4+7PMBAIZ3QcVpJswijbicBkCdFSmlzkHRyWf3VSTCnpjbsPJejq9iX6jrLLyeL3930Vz90xA4217rR0ObXEI8wimV9BlBelOkEZEuWEUv+rXtyPkChj2ZZ9mHZRHX7x+0NwGSRnWQZaW77ocfL4wimYOMadtW+QD2rckYTNc3fMyNjOEEQ+ydXXVonXY0bJDUlWEJYkbI57aGV9Wwt2dnRj89LWmH2Xqn60A3oxweodB/FF/7AWF/AODt6hEFZs7cCtT72HFVs74B0KaYvL1OoQe9dcp7XoS1YVS713erHKzo5u/HLRtKxl0Wh/NW6n4bb6/QJ+9pvOBDsTL4dmI8sKvL4Qjg0Mw+sLpTVBn+p6R2PWuLYDNW4e40ZVYN3NV2LXqll47o4ZuGBMJcSRB8jMOtc6D6+rlzbuPoQatxNAbEXLZVv24Yv+4aTJXHWMqeNJ71jv/XoTmhrSu6/xY7atdWJCW8NUcT0tnLKe3qGQbrtJIcMHRzPNqZXSuCfyi5HsOFgGOzu6E2xk+5JWCJKMfr+AlXMmadVkH3mzC7UeZ07xj1n5yoFAGH1DgnZs2ra2FmfukzBGT2YefP3/4vw8xuJqZbpoIraVtXQuItPx4mCZhHkhNQZjGAbLtuzDxt2HEsb8+rYWtO85rO3j4rEesi0EYQEsy2D8qArc+/Um+IIiTp4J6s4bnDwTzLjwiNVE66MD3YN45M0urLv5Svzp/uvw8oprsHH3Z4YFW/r9AhgAoqzo6qAnF09D+57DWHfzldjz4zl4ddUsNDVU44FvXo5nb78K25fPxLO3X4Utd84g3UQQNkTLf52JLYCgN+fTvqQVbp6N6WBRChRl+1QGwJiR4I5lAFkBJJmS8UTx4A9J+OOnvdi2bCYURQHDMHhtfw++3dqIGpO7jfEcq9tqh8+wKl10+9Do1hPpKkS1h318afAHb7TP2E012ZfNRKCa1IpvV1Tn4XHiTKBkJhfrPDyGhdjS7ge6B7Fr/zFsXz4ToqzAwTJwcgzumH0xOk/4YuTxxGAQt2x+V7s+6UAt8QizMPIrSJTKj0xaohUTYpIKF+rE8tudvbhj9sW6PkPfkIAD3YN47cAxPHv7VeBYBg6OxRO7D+G+6y+1fZuOoZCUYIcJwm6Y1fYmXo+17zmcMK7Xt7VAkmX0DYXx/DtHtHabY6tcYBgFq79xGVwOFv1+QTuGUtWPdsAoBqnkOS0uSBZTANm1+wQAjkXCdr8762K8+N4XWDuvGZeNr0Yl74iRxVTt1Iz211jrxq5Vs3XlWo0VvT4Ba+c1o8btxGAgPNIiM/UYyKbFWy4t09NtgVhK7axYlsFFdR7UVDpxYjCI25/9IOG6GZ1rJveHZRlMqIksvqvkOQwGwnj0rS54h0IYHJnEViulAOfGCnBuAf+anbH67tG3umLi7OjchijJcIzkNhwj1cpTET9m1QV60aSK61ONaSJ3jLomqIvc4nWUkUzyBu2r+SQynEvujChfjGzGYEDAHbMvxp5PT2mxmJNjERIlsAyD9j2H8cA3L4uR6TPDIu57pSPr+MeshyEEMZJXKZXcJ2GMnsx4fQJ8QRErtmYvi5mgVrWN19c9A8P4ztPva98zey4i0/ESECS88O4X2HLnDJweeRD/+XeO4EdzLwXHRH7bMxDQ8i9OjoUoK3jqj4e1yk5qpUiyLQRhDapNPnk2iIdeP4T7rm/C4wu/grFVPCQlsrj1pfePYumsiwt9qDHE66MD3YO447kP8afVc6AoEb0syTJ+uWgafrBtf0zM9Pw7R9DWOhEN1S7UV/NQFAXP3XEVOIZB35CAhmoXfvS3kxPivJAoY+1rH1POlSBsjCCIODFSHa7fL2BMJa89dLNm50E8+lZkAe1FYyvh4li4nCxGV/BwOIqytpohRbkozulgEJaAu54/l4RrX9KKN//7OL41pTGtJBZBFBI3z+Hapnoc7h1CJc9hWJBwbVO9qeXD1cQzywB1VbyWVB4WJNRV8eAdmQVNavvQ6KTt5qWtaGqoTlCMoiijdygUkwAshom0ZMeoQNH9zJnCKCSbCOEdHK5vbkBb60Rt4mdnR7etrkm6sCNJuejzkZXIQrhbn3pPk5knF0/D+bXuGHms5Dk89HongHNP0+1aNTtBl6syHRpJqjEM8NKymXjh3SPY/OejWrKDWuIRmcKx+n4FR8mlsqPOw+OlZVcjJCraAkmXgyn6Ccp4/azaGwfL4NnbrwLviPxb4eRQW8nj8YVfgawoGBYk1Fe7wLHA9c0NuHlqpAVrdILZ6WAxRqe1mF0wempbz84QRKFJd6FNMuIXWkRaZPB4/s4ZYABIsoK9h3pxwZgJWLNzH+qrIvuTRp4YdDlZrbJk9GIXWsBhDbIceUBqx8pr0O8XtOoP98ydjLoqFxgmkmhOZ3GV0cIjvXu3YUEL7t52AN6hELbcOQPbl8/EiTNB9PsFPPpWFw50D+Kdz/vx8oprYmTSaCHZ5PoqDATCEEQJTgeLLXfOwG2/il00NWF04qIT9ZglRcGzt1+FjbsPoX3PYaycMwl1nsiEg3r+ya5hNovb8mUfzBjXdoFlGUgysEKnKpp63fRiuFQyEy/PNW4e40dXJMjsI292aZM2rx04hpeWXY3xoyvAgMELd83AY29/hkff6sJzd8zA4LCAsCRDkhU88M3LMCxIWpyol9tId0EkcK7tmXoNBgPhjOP6ZGM6m0WeRCI8x+rncFgGjy+cgntf/ki7/48vnAKeY3VzWWAYVPJcQg4DjP49yVW+iPJGz2aola+/NSU2Fmtf0ooj3rM40D2oVcqcdUkd7p47GaIk49nbr8LTf/ocL3f0YNmWfdi+fGbaOsXp0I8fU+VA4+EdkTFTKrlPwph42whE/Fl1QRxgfSweXdVWL+cMpDcXkakdTje/r9oYUVaw/KuT8JuPjuPSCaNw3ugK3H/D5XA5GEhKJPfi9Qm6+ZdDvUPwDoXw+MIpGAqJGJvCTyYIIjcqnCx+Oq8ZTo5FWFKwNCrGfXJJK9xOey0YMZrf/OSkD+ve6MQvF01FlcsBlpXw8oqZCImReKlvSMB91zfhmT8fwRXnVeOeuZdqFZcbayNdzngnA1ZiIYiS9gAl5VwJwv4EgyIO9/u1PE5jrRuP3TIFP5o7Gf+++5D2oPQYDw+OZTBeJ3dXKhTlojhBVLQ2jKqjuXH3Z7j7a5PpKSOiKFCg35bF6P1MiU48P3bLFOzs6MGyay8BxzKQZAVP/+lz/OhvJ2dUlS7ewamvcqH3bAhVLgfcPIexnsiTr6Io49NTvhinqX1JK5oaqmw/kZZssm8wIOg+bZZOe0WjiZBatzPBwWxf0orakbYwxYbHxWD1DZeh5/SIjFRX4JE3P4lxir//4n5sWjwNF9ZV4rRfwEV1lfifL3+kPemmfi9el+tNpqhPsPxw7qVYMH0iegaCGDeqglriERkTEmVdv+LBG68o9KEReUaWFZwJiAl6ecKo4k40elwsfjj3Unw/6ryeXNKKoVAYL33wBX74tcnaU33XNzfgJ99qhqwoECUFr3z4V8ybcj7+6e+aseSZ92N0+uodB/Hq92fB6wvZduKWWj4SpUqyyRqXg9Umg1iGQTCsYOULscnbs8Ew6qtcePCmZgz4IxWXaj18gu+2bMs+vLpqFhqqK0qm4pVd0PNvn1g0FWFRjlmsEb2YwiixnGphmHrvAmEJh3uH8MibXZr/fduvPsBrd89ChZPDujc6Y+xfQ1Xs/vSS3o//rgv333AZuk8HtAnIC+sq8frdsxEQjGVF75h/uWgqgmEZ972if/56ZJuIN9s+lMtCpnSvW/T10Ls/2753NRb9x/u69zl+wZjTwcLBMnhi0VRIsoIX3zuKRTMvQECQsPSZc7rtsVum4Jn/93OwDDDGw+PU2SAeePW/Y/ZR485u8ib6fFiGwS8XTcUPth1Az0AA+4/2J/hZ6cT1emM6lwqG5Yze+OMd+hXeXE4GNZ7YB0drPDwqeUY3lzV+lAsPvd6JlXMmoRIcBEn+/9n79vAo6nP/z8zszOwtyeYOmCiIXIwUJAsxwdMeW1paK+pRQCsXBSoEqfUcj7X6a0vVQz1HRY+/WrlEzikIiBKBttb+tFpbT3u8VA1UaqNAETARSELIhr3PzuX3x2aGmZ3vbDabBDZhPs/j85hld3b2O+/3/b7Xz4sHX2rG0/OnEu/lZDhOlC/1LLVhIx1IspwEpTUtAGfGAb+wvFYbe/Tft/kRFxXM33imMXXdgmoAQGNTK06FBZwMCRhT4oGbPxPHJYFjKNz5lXGGRol1C6rB9XE0Q7GHwyVlHtO1hnLs0wYZDgKr5oXF7rPqi6ustnlOVrMfQjERHaE4gDMjiQtdrGUMI5tzOJP4Pilfsn6hH16OhgIKj7zyMV5rbtc+G4qL+F6PPayu270792Hr0hoc6YyAddB45JWP8fANk+3CExs2BgGqLvjlnhZce3kFOoJxPP/eUUPu4GdvHMBD100617dqACm/aWTOVtAWjKPhfw7h2/9wseZ3z6oqww++WYU7vjwWsUSy/kKvf1Y+twfPL6vFLTobY+Ot05DvdNgxVxs2chSyrCAsxNEdlRFNSFg1uwob3kyyzt7z4od45MYv4IfXVCEhyWBoCryDRol7eMaxVAzJojhZUXDbjDGmkQglXg4sY3cZ2ch9iGKSfUVPK7tm7mSI4sAUxemDvIFoItnl39Sq/XtFoQv3Oib26Zr64PfUSh++9/UJhj2oOojtobjm4AFnAjWN9XXEESW5pGDTdWtHBQmPvbrfYPg+9ur+ZCDUk/66VgmSrmiCuFZDtZMiKig4GYwb5PrROZPRERS0pFtrVxQFLhaRuITyfCdYhtKCEypIXXukxMV9u/Zh1ewq3LGtCTuW12LSBQXDNvlkY3BBUSDaFbYonX9Id4aN8rnO8d1lj5gg42QwjifmTUEgmsCGNw/hjm1N2Lq0BnP8lbijJ0ExtdKH22aMwQJdkvrROZPxs98fxA++WUUMdEQESSuWy8XE7VBgqrVho69Ix7zUHoprDF0A0LDIj9WNzcYmhW1NeH5ZLX56y+Vo6471arvFEjKA4cV4lQsg2bdd4YT2PNTX1GIKCpRlwVVvRT4qY9zx7mTh2oqrxmrBsNauKGKCjInleQZfzc3RaAvG4OIYiLKChJiUg1Ivb9CpS64cg44UH2DN3MnwuVlcUGjdhUW651MWvz+df5RtcdtAng/nUyFTJuuW2qRHej7twbipuPLB6yZBURRwDkZLJDtoCqKUlD/19duuvBj7TwRNsnLPix+isb4OI/KdOBmO49af7yPKUl9lhvR8/+/Nl+O526+AJCtwMDR+8vLfBsSvt9kW+g6r/edzO4gxnJ/Nn4olm943yfCO5bVEP2DH8lp0hOKo39pkeL+VroglyPKlnqU2bFjBSpbL83m0nY4R5UqWFU2vAcC3n33XlMTetHg6AlEBsgLDWW01/QMAwnHJVIS38rk92LG8tk8N1jRNgXcwWPncnwdER9rIXZDi5scD0bPui6f6K0UuGY31daCgQFaSkyL2twdNI11Vmy2bcziT+D4p1nTHtiZsWjwdSza/Z/DBVmxrwnO3X2FpPy3Z/D4qCl1YNbvKLjyxYWOQoOqC5B59H+sXVBNzBwNFcjJQMDTECSI+D0QhyQp+fG2VRm7yrWfexarZVVpBnBoL1sd2SXGhU2HBoONV/82OudqwkXsQBBFd0QROhgQDQ5xaJLu3JQAny/SQ/tBgGRqlHg4sO7z3bm5xe2YIRYF2+ABniiMUBTnFOmXDhhUSsoI3P2nDpsXT8ft7/hGbFk/Hm5+0ISEPjBGlD/JuePMQHp0zGRWFyWR+tgxtavAbAFZcNda0B5dt+QCd4eSIEpLTlpBkHOwI4aaGd/ClNW/ipoZ3cLAjBHmAfvNAQXWeLyh0awkkIPn71UDozc+8i/qtTegIxTOiXN/fFsQN697ClY/+ATesewv724KQZaXXYLzcM8bq864IOoLxnFurVIiyonUEAmd084qrxmrvqSh04dOOMK5+6k+4ZeO7ONoZwdr5U3uVT6u18rlYtHYljXv987Jhoy+wsityfMvZGARYnWGiNHSTWLKsoCMkYNWvPsLNz7yL1S8343tfn4BSLw9JUTQ9CpDP9/t27cMcfyUYmtJ0tYqKQhcOnwwb3v/LPS043h3F0c4wjgWiEMVzu3Zql2R/7SAbNnIJVmxd+9uDOBaIGvSYfo+raO2K4lggikPtYY2RTH2dZLv1kRTERoYg2bdujiEXIMcloj+R7lqpfsX+tiBufuZdw1kwtdKnBa0dDhqjfC5UFLrRHU1g9s/ewp3b92L/iSBuXPc2rnz0D7j5mXfx/W8kP6diRIHT5APcu3MfokL6JF1ffn+6hJ/eT1WhD8Sn+lSiKPf4VjIaFvkH5HywSqB2hoU+XyvXkcm5mtqkR3o+BS5Wk6Ob/BW4/+pLcSwQxUfHTuO//vh3fNIWxA9/sQ9/7wjjpoZ3NNk/2BGCoiiWsqIoSXbfhEi26dTC0nQykwrS8/2XHX/Bpx1hfOWJ/8H8je/ithljDPsiVW4z9e1thtu+w4qZTZFBjOFIskK299O8vmGhUVekY7liKLLNzFBJpqBjgdyxk23kFqzOkqiQHFNGkisHQ2sxTCsZZhka9199Kb6z3VjkVr+1Cce6o0gkJJNcSgr5WlIfYySynGwKt/Xa8Acpbr7lnSMDZmtlA1GUsb89iAdf+gifnozg5mfexYet3cSRrqrNls05nO4zqt63ijU5GNrkg7V2ReGwiL8EogntPUlW1OGdvLZh42xClhWcCift9Ygg4pEbvwAHTaG1Kwony1jWJOQa1Pym15nkRLp/919xw7q3sWTz+4j3+EiZxIJT40L5TgdWv9ysxRNumzEGHEPZMVcbNnIMsZiI/R1hNB8PagVxgHFvVxS6UJrHY2SBCxcVezDK5xr2BXFAL0xxFEVNUxTlg7N1M5lCkhWUenlDVfKGNw9Bkof2aCsb5w84B9Uz7vHMiJm50yrBOQZGfvXd23tbAnj8t/ux+vpJGFvmhYvNbpRLsYdDwyI/6rc2WSbXBFHSnLbU7gAHTWXd8ZwLo2jSjVZNh3QdZum67Ica24AsK5bBZXWNVNaIx17dr/3bf//vp7jv6kuxeUkNnCwNN8fA5zI/X6u1UpMsTA6uiY2hg3R2hY3zC1Zn2FDWMZ1hwdSRfN+ufVh9/SSc6I4hLEjab7Y634s9HFjGPA5l85LpONEdw47ltQhEEzhw/DS+8YURONAW0uybSJGI0UUeIgPB2UA6FlgbNoYqBFEynVsejkH91iasml2VDG54eay4aiyKvRw2LZ6Op944qHX5qjZUuj2vvm/dgmp4+OEfGDkXINm3EZ1OVkEqQE4dxadeS33uPheLiCDBxSWfnRXr8urrJ2FEgdPg0+gLTFbNriIWvK2+fpLGUkFTVFaJ8778/nQJv0IXq/mpqX4ayafasNCPp944gNea2zGrqgzbb78CDE3163w4nwqZMjlXSU16elaFJ+ZNQSCSwOM3TcHpqACGpjWGy4pCF7YsrcGtP38Pq2ZXEZvxGuvrepWVdL62lW9vNU7N6vm6e/aXup9Wza7S2MRSCzMz9e1thtu+w4qZTZQV4vjUdDErq9d//ZdWbFo8HQxNQZIV7PzgM5R9aSxxHKqLY4jf62RpHDkVNoyaPtd2so3cgpWukRRgV1OLSZemjjm3kmGWodAeFIjXbg/GQVEU/t5u9N/ynSzxWk6WLKtWcdvOsIDDJ8O2XjsPQDpb7/7aBIwr9Z4TX1yWFRzrjmr+kbp30uU0gOzOYavPeHhG0/vjy72YVVWGOf5KzX/b1dQCtqf7SL039bMujrEcgai+pyyPtwtPbNgYIMiygiOdYbSdjhlsuJ0r6rBp8XQ4aMowehDoOaNzOHdAIrD4rDOCikIXZEXBpsXT4eYYlOXxJjZ4UlzoP1752BRPaKyvs2OuNmzkCNRGvJgo4WQwjhIvZxnzbVjox8jzkGSmt/GpGymK8gJ4HsALiqI0n4V76hW8g8b3vzHBFGDg7SCCjaEChcLJHtYWvQwXuAbGkUl1REvzOIwt9fSL5YGmKUwoy8P226+ApCiWDqKiyFi3oFqj2VeNJpYhJ0t6SxT0FkAe6II5q+tlm1RPlyAZWeCyLLQbamNTOsMCuno6V1PlosjDYcfyWpTnO3H3jr9ojoNKzXybLgHSsMiPfJ41rau+KFMfDHj27cOafNmwkS1su8KGCt5BE8+woSwLVufQRcVu3NP4IUrzOGxY6MeKbU1aoXGqHi/N40FTwIQRedi9cgYSogwXx+B4dwz37/7rGR2+0E8cD5/vZFGWb04a2rBhIzu4OMZ0bj27tAatXVFsePMQNi2ehpMhwXSuPfbqfnSE4lpCRe0OTN3z5flO/Oo7VyLP6cCO947i218am+ZubGSKVD+j0MWafIGLit2m1xoW+vGjX35kuFZrV5I9TvYo2mjULUtrTEH8jbdOg8/FWZ4FY8u8qPC5DLa3vsDEKnE4tsyLt+77co//R/YNrRLnKkjJU9LvT9eIJMsKDnaE8NPfHcCq2VUo9nAoy+MxqiD5mzqCZgapFduSydHXmtvxWnM7mo8H++1juThGSyqozRWZsIoPV5Ca9DYvqUEgIiCWkMCzNO7cvhetXVFsWjzdNAY1GBPTJq4ZCrio2G0qPNLLSrpiSb1vL8syJAWzaZP4AAAgAElEQVRgKFiOU0vXoKW/L33iSH8vffHts23GO5+hMrORmlrK851Yff0krdinPN8JJ0sTi9ZYhiL6AU6WxlcuHYElm983FHZaJUF9Lo74vQCIo6ZtO9mGCitd42Rp3P21CXjy9f3aWVeax2NUvtNQUGklwyxDgeq5Vuq1O8MCijycSS4L3WYbZeOt01DiMZ+V6eK2gijhqTcOmgr6Ghb6bb02zGAVNz9X6AwL2qh2vT1hFfNge/ZSNuew1WcEUdH0/u6VdfjuzPG4QzfCbP1Cv0aQoG/83njrNABAkZtFY30dFCXZiP6T3zRjb0tAi5+r9q4NGzb6j86wgKOdEYNfUurlcbw7Zjgj9aMHKwpzew+SmLOfeuMgNi2ehkAkYTr7H3t1v6GR0ufm8MY9/4iOYBw+N4vXmtsN12rtOsPSbeVL5wLZiQ0b5wNEUcaB9iCW6+IZa+dXY1ZVmWHvVhS6MKLAiRIXB47rrURs+CHtL1YUZSpFURMAfAvAToqiBJwpkDt6Nm6QBIlQ4Xzvzn1oXF4L2WaLszEEIEgyUYZfWF47INdPDfIG4yIOdYS1gNxFxW6MLvb0ea84HDQqCt0IRAU0LPQbZlGrDuKJ0zH85sPPTV20t84YQ+yI6i1RkC6AXOzhBpRNbTDY2dJ1mKUrtBtqbAOCKOGhXzfjqW9NxV0v7NXW75lFfgDAf//vp7j/6kvREYprnyFRM9dvbcLzy2pxQUpyTk32Pb+sFsFYAl4nCwoK7v36ROz84DPcduXFZ/cH2xhWSGdX2Di/oIAinmG3f+mSc31rWYN10GTWC4bC/VdPRCCaQJGHxePzpmCUz2k63zcs9OMPH5/ArEmjUJZ/JsjREYybxo7Ub2vC6usnDZp9kw3Ubs+jnZF+20E2bOQK0nX87m0JgKFpS1/jYFtIC+JuePOQqTDgiXlTsPrlv+G2GWOw9g8HMcdfiYQ93q3fsPIzSOwZAAyvMTQMNjRwhj3OzTMoy3OCpil4nQ7c+nMyq5b6GVKiPTVIrS8wsUoculhGC3zLspJx4lyPdMnTTBuR9L6iGuirKHRpxUZWPpVPN/ZQ72NlE7SXZQVtp82FLuX5zmGZ8M/kXE1NDneE4nDQFOZueAcNi/xaQT1AHpnr5hhDcjhV/miaxuhiJ3xuFjuW10JSACdLo8TDa41z6YolgTP+pbovV82uwuqXmy3jDqkyrmdAV+9rlM+lFYvqZacvvr3NcNt3ODlykZuTo1Ge54STZZCQZLAMrbFqlebxhqK10jweogzLWNY9LxpHjd/z4oeWviJNUxhd7EGekzU8w2Pd0UGNA9oY+rAqrCnx8Cjx8Hj4hsmWekGWFSQkhSjDC+vGoNDLmfw8tdH0lpqLiHI5rtSLxvo6iJIMR8/+Iemi3iZklOZxoClg69IaSIqCkyEBI31OW6+dB5BlBZ91Rc6JLy6IybHDs6rKUOThNHuCxGC7Zu5khGIiSnqaTfp6Dlt9Rq/3YwlFK4gDkvvkjm1N2L6sVityK/Fw2L1yBkIxEdc9/ZbJZ3j4hsl44FrbNrBho78g+XyCKJn8kntmjcd3n99r2LcqO/Tql5uxbkE1OCZ3m6hJecmOUBwMTePuxg9NZ7+eDX7DQj86gjGtUO4P3/tHol8GJOPDJJ2Uba7VLqSzYaNvSCQkdIQFrSAOSO7r72zfgy1La9B8PGhoTClxcXA6z7+COKB3pjgoirIfwEMAHqIoagqSBXK/pyjqhKIoV1p9jqIoJ4A/AuB7vmenoigPUBQ1BsALAIoA7AGwSFEUoS83LSrkMWcJWUEgKqCol+CrDRvnGlZjJgeSblet0D8VjqPjpDlI73OzWe0VmqZQ5OHhc3FEB7HMy+PayysMXbQbFvpR6uFw18zx2gg39fVCXUKChHQB5IFmUxuMAjyVtSE1AKAmSKw6KYba2BQt0EVDCy7TFIU8JwuKAh649jJsefuwIfBQ7CHTtyYkmajL46KMtb//OxbWXYT5G981dNbpR0bYsNFXSBZ2haTkLgW6jcFBsYfDP1VXGs6woc7O4aApPHnTFNzd+CFKvTzumjkOFxa7AQC7mlrx9qedWDt/Ktwcg/kb/4yb/RV47vYr0BGMozMs4Kk3DuCumeNNera3UWL6187lOIFAVEDb6diA2UE2bOQCSB2/r/z1uLZ3aYoijr84HU2Ac9BagVVHKA4Xx2DL0hqcCgvoDAt45JVPsLclgObjQa2YJFftz6GEvvot+tdkWdEYPVM71H96y1TtfSS5aO2K4lggiod/87GpaGTL0hrEEzLaTsfQGRawq6kFd39tAkYW8Np7SYWTqedif4p4rHyhTH05q7MompDweVcElAWDlJ7hS2UHyTZoT3q29+7ch90rZwwKs/m5Rlc03uu5qsrE7pUzEEvIYCiA7nkWqexvpMI3QZK1Yo3UxLWe7a3IwwMe8z32VixJel+6cWqpMs4yNE7HEpouVWMbZV6eOAazr759OraFc4Fcl2EKFNwcYyhyc3MMGIrCwY6QaU+X5/N47NVPMMdfCTcYCJKMx179BI/NnUyMZckWvqKYxlckPcOzEQe0MXSh7rN8pwON9XVJvUnThv2WTi90hgUEIglcM+UCgwyvW1CNbe8cxlUTyzFxhBfbb78C7T1+3rNvH8ZdM8djFYGNVuopLs7kTEwXty3PcxJjwfl8+liwjaEHkh31Yn3tOfPFOQeDPUc6cedXxmHNbz/R7Im9LQE8+/ZhbFlag+5oAu3BuMamrdoJvZ3DpHORBL3e744miPsEULS8g8pyrI6UV9+Ty5NjbNgYarDy+Yq9HCKCpNnsUyt9uKjYbbL/9rYEMK7Miy1La8AwlMb2mIsgFds/OmcygjGRaNtWFrnw+3v+EUc7IwjGEnjs1eR0gWIPBxfLmFi418ydjDu370VHKE60EbLJ3Q4GaYkNG8MVsqwgLAgIRiUkZIU44rk7msDq6ydhdIkbLENjRJ6TGLM4X5BxKSBFUTSAMgDlSIadOnr5SBzAVxRFCVEUxQL4X4qiXgHwrwCeVBTlBYqiNgD4NoD1fblpniGPOWs/new+lV25HbCxYYNjaDJr2iB0FkQFybIbVZLJVfyZwMpBdDhoTCzPM3UTdkUTWhBEvY8V25p6derSBZAHmk1tsArw4qJsCACoNOjpMNTGphR7OPzomirM/68/a47D974+AbfoitcenTMZv9r7uWZwF7hY4rM92hkB7/AaEhyyrMBBU7hpeiUURcGzS2tAAZAVoNDtGJYHea4nH4YTOIbGg9dV4VQ4Yfg7l7u9bAwOhiM7R1SQIMoKnrzpcjhZGnekjNOZX3shZEVBIJzAE/OmIBBN4KW9n+PqyaNQmsfjwesmEZO8VudzRDCewRWFLrA9RQGDsY696UorO2jH8lpiIt2GjXOJTM/+1P03tdKHG6ovwIIeOyx1/MXUSh/umjkOnIOGoig9Y+Jo+Nwc7n3xQ/zwmksxd8M7hu9QGxjK8victT9zGanPUpbJBWuZ+C00TaHUy2kFH4FoAo//Npm8Y3TiYaWXO8MC9rYE8Nir+7H6+kkYW+aFl0+OwFaTbqqt/uTr+/GTG75gGP1HUxSeX1YLmoKlXJ6tIh5ZVnAyHEcsIYGhKLAMmQ31UHsISza/j1lVZaaCwg0L/XjqjQPae1V2EABZ+XtWPmRClIddUF+WFUTjZNb7XSvq0BGMG8YDd4bO+NDqs+gIxg3PjFR46eUd+OnvDmCOvxL5Tgc2LZ6usXmVefle9WSmcQL9+6xY6SjqDLOcKgcdwTgee/UTQyLpqTcO4OEbJhNlpTffPpf9vqEgw1FBwoMvNWPFVWO1IrcHX2rG0/OnEvf0juW16Agae7M7ggLCcYkYy+oMx4kxaD6Nr0h6ppyFvrJ9zrODobbPGhb6MdKX+VhdQZTwo19+hP+YMwk7ltciLsqQZAUb//gpGpta8ZuP2vDC8lpUFLrh4hwYWeDEpSOqwDIUkY2WZWg8+XqzQc89+fp+op5LF7fNNhZ8PiCXZTIbkOLmcZE8leFs+OLFHg4LakdrceqOoKA1/IwocOK72/dqSWMVmdjlpP26ZWkN4qJMPOfVvXEsECXuE4bKzoZJvaf+yNJwk0UbNtLBKsf30p1X4qJiN9bOn4pT4QQuLHZDVoBdTS14rbndwLDKOWhIsgInQyOeyF1WfX2MO5ZQdYgCh0V9RVc4gVBcREkej5f/0orvfX2CoTlp7fypeOTGL8DJMijycIbiG5LfrOqzqZU+rLhqrGZPyHJyzUi6Z6BJUGzYGK6QZQXBeByBiKQRG+xqasH3vj7BMOK5NI9HWR4PF0fD5yKzPp9P6LUojqKoLwK4BcA/AfgISZa3uxVF6U73OUVRFAChnj/Znv8UAF8BML/n9WcBPIg+FsXJCogG9SM3fgE0hZwP2Niw4WQpfHfmeI02W2W7crIDL6OiRTeqKCn41jNvDcr+oOlkgkJRFLAM3a9xoOkCyCoNel9HslphMArwsjXkhlphBk1TYGhK+52k0aj37dqHTYun41RYQCCawO8/PmHNevGty7VrpwYcZlWV4f6rL0UwJsLnZuFgcnNN+oOhkHwYbogIkql71cb5iVxj5+gvOAcDN+fAidMx01iwlc/twdO3TIWDpg3y//T8qTjRHUVlkVs7x1NBOp+TtsyZhJ/6WlckAdbBDPi6ZqIrrewgm5XDRq4h07NflhUoioKt367BkZMRPPXGQdw1cxzRP159/SQ89cZBU8Dz0TmTk8xh8ybj/qsnYmSBk2gDl6aMG7SRGYjJ7UV+zKoq01irgN5ZoPVBYpah4eUZbcyJaqu4dOycVp3gj/92vxaITha5AfGEbBqBrY6CSYgycfTfuZYD0ro+edMUbF4yHYs3vW9YF3WspbrejfV1UBQFnIMBywC31FyEb//DxQhEExo7yPZlV2Tl76XzIYdbUL8zLCBGYCQs9fLoCAkGv65hkR8//d0B7b2vNbfjzq+Mg5d3YP2Caq1IvyMUR2kej90rZyAhylpB3f1XX4qjnRFEBAknQwIuKnajzMtnxFyUKTMb52C0eMKoAifWzq/Gd7bvMewfkqspiBJea2437GcAeOBasqyk8+1z3e8bCjKsstbrUZrHQVLINqCsgJgIdHEMMZZFGlmuFXUQYPVMR/l4rF/oN8UBXZxdFDfYGIr7rH5bE1ZfPwkjCpwZ3SfnYNARiuPnfzqCu746Dh3BOALRBA62h7Rrqk1KpXk8OoJx3LDuLaydP5Uol06Wwm0zxhiS4Y/OmawlsvVIF7c93h3NuilgOCPXZTIbkOLmAIjP/2z44jRNgdbFqfe2BFC/tQkA8NZ9X0ZpHoeGRf4+5xNI+/VoZ0SLp6ivLdvyAV5cUaftrw1vHtIY/PV2bCrLUl/ZZfsrS8NRFm3YSAdLpnFBwoWFbuxvDxrio4/OmYyOYLLJ7L5d+/Dc7VegKyzgZEjA2DIPHHRu23E0TZkmYL2wvJZo225fdgXQDVQU8rh1xhjc/My7Bka5U+EEnCyNuRveQUWhC6tmV6GxqVW7RurZrvpaqfZEwyI/ij1kvy7f6bDtBhs2eoEoyjgVEdARjKM+Jbf+7NuHseKqsVj9cjPWL6gGTQHFLg48f36OS01F2lWgKKoFwGdIFsI9pChKW18uTlEUA6AJwCUA1gI4BCCgKIrY85ZWABdYfHY5gOUAcOGFFxr+LSGRu6zznCxkJbvuXhs2BhrpZDgsyFrAAUjK6R3bmvDC8loUDnCnFEuTR8ZQ1ODsD0sKYl13lPE+0jtY6QLIhS42q5Gs6n2mdiL0VoDXF6dURX/Y7M51YUY6GSZB77hbjZ+JCBJufuZdjaGo2Ir1woJqeWqlD7fNGGNgtWhY6EfeyHObqBvorrqhkHwYCshUhhMWiY4XLBIdNoY3cqlLtq96mIRCF4uEJMHDkwMLhR5OY5cCkontqCDh/t1/NQQsSjycYYQPTVMoz+cNOhyKglf3Hcf2ZbVQFAUUReFXe1pRc3ExfBbnXn/WOxNdaWUHOewA71nDQMjx+YBM5FkUZexvDxpGVqxfUA23xf6uLHLhP2+agkUpI3ju27UPm5fUoCMYw7079+GlO6802cANi/y4oMA1LNl4+4q+yjAxub21CS/W1+KWmou08X4XFbstWfhIPtXmJdPx+LwpoJAs5i/Pd8LnMo8xbayvw7FAFAUuFmt++wkAmLq8n11aQ5QZdVzu2fBDrPS/1UiqE6djpnW9u/FDPD5vilb0BgB3pjB/vNbcjgeuVXBBYXJ0+OddESzZ/L7pfhiLUau9+XtDoRhgoPSwIEo40W1mOrlr5jgTE1D91iasml1lKBxzcwyue/otTK30ackVWVHgYhmtIE593iS29dPxREY+Uias67KsgGVgaFacVVWG526/AqdjIo4Fonj27cN4+AZzo0y6hLWVXFvtqVz3+waanT9bpJNhq7iQ0+I5MTRF9P1+decMYizLwzF9KuqweqY7ltfizY/bTHbyjf4K+NwDtlQ2CMiFfZZOhq32mZtjDPeZzm8q9nDYsrQGbadj+NYzxokN+jhbezCGEg+vfWcsIeO9TztMcnmDv4LY6NpYX6fdo/5+yvONxc3qvVmNMe8tFjzckQsy2Vf0ZkuQzkaKwlnzxYn7w0L+nCzd53yCev2IIJrGk7ktzomEKGt630En7Xf9qG+2x8/SP/90NsxgsCoNRVnsD+zYhA29rlIbx4o9HCiKwqmIYNk4pr4eiCRw/dq3tCLyMu/ZZdXPRoZT9zkFcsFyVJDAszQ6QwmwDI1SL2+KI2xY6Mev77wSx7pjGFVwhtF2VlUZKIrC510RQ65VP1lK/Z76rU1orK8j6p7G+rqsfHIbQwe2Hu4f4nERLd1RAJRWEAcY9dW4Mi9WXz8JxV4OJW4OHGcXxKnobSX+QVGUo9leXFEUCcDlFEX5APwCwKWkt1l89hkAzwDAtGnTDO9xWCS3SrwcJAs2CLuS2MbZRjoZli3kVB6ETiknxxA7kY4FzijLTPeHKMpoD8WRkGSwPaMkUhNlVs5U4/JaPDpnsqnLMBOSL6sAcrY0/Om6oKwK8NQA09HOSEaJLBV97fDKJaSTYRL0jrvV+JlCD4uplT7sbQlg5XN78NztV5hYL568aQp4B62N3wGSRRqtXVEiA139OR69oMrTk6/vxxx/JYo9HKKCiFH9SCTnSvJhqCNTGbayHQZDJ9vIbeRal2xf9TAJp+MJfN4VRSguEfUy29M9rQaDxpZ60HIqquldfWJ7z5FOLJoxBpKcZM/gGMpQWPD8siswbUwR5utGZ6+ZOxk0RRETH/1d70x0pZUd5ORy/xweLhgIOT4f0Js8y7KCY91RQ5C21MvjZEjAJW5y8wnnYCBbMOUEIgIcNIXNS6Yjn2fhK+eGDEPx2UZfZZj0LEu9PE6FE6YiHyuQfKrFm943MJ5ZPSNFUSDJCtpOx/Cvs8bDQTMIRARDAu+zzghRZs7WuNxEQkJbKA6hZ7zblrcP45+qKzGu1GvqGFdHUoXjIlGWS7wcEpIMN+cAQ4M4Bk7ve1n5Z06OJo5a7a3hKl0TV674ggOlhzkHgy3vHMET86bgnhfPnKujS9yWRZYqplb6wDsY7FxRlxx/S1PgHDQKXCwe+vXftLFEG2+dhmIvZ1lUZKUnUxPF40q9ljpNFGUc645CkBScDMY1m+e15nY0Hw9i1ewqrH652VRIp8IqYV3oYvts1+S63zcUZNgqLvSrO2cQ9zRNkROBMUHGL/e0YNPi6WBoCpKsYOcHn+G2K8eQbWiLsaeCKGHGxcVY9qWLtets/OOnkBUQ7WSXbZMOOnJhn6WTYat9FogmDDru80AEcVEBTQHRhIxYQsQFPRWVnWEBDoZCLCEb/Lj7diWZg708g89ORXDvzn3YsqQGTi6pj4s8HL40odQkl1b2o1qAnqkfx1DIOhY8nJELMtlX9GZLkM5GjqHOii9uJY+lXo4of/GEbJlPUAvNUpszUq+vFpzubQkgIljEWhha0/uqbZH6Hn2xTVQQ0QloNgwFBXFRhigrOHE6BkmWccvGPxt+o8qqZDWesDcMRVnsD+zYhA1VVz35+n4Dg9msqjL8n29eStwPvh5/UK1B+J97rwJDU/jd345j1qRRZ/X+s5FhQZQMjG9FFuQlTpbBax+dwF+PdePH116GNfOmoOVUBKVeHqVeHiuuGotYQkKBi9XGNG77dg3ynCx8bhYPvvSRwaebUJ5nmCylorUrCtGC+Iih0Gtzk42hDVsPZwdZVtARjCMmSuAdjCV5WLGHw9HOCMryeJR6eLCs7WvqkbYoTlGUoxRF3QbgnwFM6Hn5YwBPKYqyJdMvURQlQFHUmwBqAfgoinL0sMVVADjW15t2cTSR2tvN0UhI5A6UdBTDucIGYuP8gVVh52B0SvlcHIq9vKkT6d9fata+N7WKn7QHRFHGJ21BU0BxYnmeofDHypkSFeDZtw9rxlcgmrDsvM4UgzXSdCCLqzLpUh8u0CeEZFlGwyK/gclkzdzJiCUkPHhdFa5f+zZau6KgKSDfxRrkszSfRyCaQMupqPbag9dV4cGXmi0Z6PrrrPeXqSjVkVIZVi4dkZ/VmZIryYfzBRxDWwawbJxfGI5dslFBwt2NH6LUy5sCwusWVENUFNR/cTS+NKHcFCxWg7ytXVFcXOLGyAKngXlg/UI/Hpw9ESMLPfC5WJTm8RqTJ3CGeWPbt68gJj76u96Z6MpUO4imKIwocCIqSOiQ47btb2NQkI1d0Rvz0InTMcM44KmVPq1rt9TLY83cyYZRcOsX+vGTl/+GOf5K4nU7wwJWv9yMx+dNQYGLG3Ab+HwG6VneNXOcqYsznb6z8nMUJcl4ZsWmpk/Yzaoqw3e/Mg63P/eeSbc/9cZBwwhL1XY9G+NyRVHGJ+0hQzxn3YJq/HJPC2678mLLkVSrZlcRZbnlVBRLNr+v+VlbltYYWKVTfS8r/4wChafeOGDwV5964wAevmFyr3vDqokr28aqc4XedFexh8PdX5uAJ1/fj1Wzq1Ds4VCWx8PJkvVXWR6PikIXSr08vv+NCbglpeji337djI5Q3DCWaNmWD/Dc7eRRtpJCjve5OAZHOsOmdfa5zQWNsqyYGDdTbZ5LR+RpiXHSfrAqhMzGrsl1v28oxDOs9GUkLkOSZUOsQZJlyBZyxDIUZk+5AEs2nxnHvH5BNRw0ZTpj18y1Lurx8AwW1l1kuM66BdVwczSRoW73yhmDtjY2khiK+0zVS+p9no4J6IoksFJ3bq9bUI18l4DOUELTfwDwwHVVeOilZk2nXVjkRjCewL+/1IxSL4+2HqZgvTzrC+nu3bmvV6aWTPUdTdMDHgseDsh1mcwGpLOx0MUimjDq4WIvb2A6HghYNujX1xHl70ezq4jnhizLxOK68nzedH2VjWX1y80o9LCmGPjGW6eBY88wk1rFs/XFNh+fCGpF+ZeUeLC/PWTIw6xf6MemxdPw6clIchzr6/vxwLWXYVZVGVZ++RJ0hRMAkjHOYFxEac/I5HQYjrJow0Y6n4amKYwr9eLH116mxTcBYI6/EkdOkhvHVPKHdQuqDc08Gxb6wbO5H090cQy+/40Jmj6aVVVmahx5dM5kPPybZtxaNxrVo4sMsd+n509FPCEbmqKemDfFNGUk1af7xcorLXUMQ1OYVVVmYBWvKHSBpmnLhjMbNs5XJBISjp2OoSMYR2dYwK6mFtx/9aXEvVWax2N0iRtFbt7eNwT0Nj71VgD/AuBfAexBklmzGsAaiqKQrjCOoqhSAImegjgXgK8CeBTAHwDMRXIk620AftXXm44IMn6WEqz82RsH8MC1l2FkgSvjgA2pi2TL0hp4nQ4T3bcNGwMJ1kEu7GQHYTwRTVMYXexBnpOFIEqQZAU/+U0yOKIab6Qq/lS5bw/FiV1UjfV1GOVzae+z7Lxnadz9tQkDGkzN1nHLppguEBXQdjpmYHdYM3cyfG4WRR7rJEk65oDhiNSEkH6s3mOvJkc2PL8sOZKyotCF5uNB7GpqwQ++WQUFCkRJQUyQ0BVJmNb6B9+8FKcifRtjm0lSeiCYiub4K80MdluzZ7ArdLFZMVXYyA4sQxHXmz3f25fPQwzHLlmpp8u/tSuKx3+7X7Ofy/J4/McrH2PJlWNw64wxuFkXDNIHeeu3NqGi0AWedWDJZuN71NHvarBk54o64vp1RxNgGQ4dQWMRWjbrrdfrLo7p1e7X20GyLONkWDAk5fui7+1mmsHBcFvXbO2KTJiH9EVBevbc1q4oHnt1P1ZfPwmVRS4AFF58/yjm+CsxqsCJtfOr8Z3tZ5KoaqK1tSsKChjSOi4XQXqWY0o8fdJ3vRVJZpKwm+Ov1Ire1O/TJ/AUAC8srwXV831na++1h+KaH6ze18rn9mDT4unEbld1JNWGNw+ZirvXzJ2Mx17dr11n2ZYPsHvlDJPvBUBjoWYdNEYW8NixvBaSAjhZGiUeHse7k0xh+sD81EofBFHqtYFsOEAvV6VeHnfNHIcxJR7wDho0BW2E+oTyPDx8w2TT+pJGMLs5Bo31dZAVxZB0UosuVDsjdSyRrCiWMQWSnlSgEH31zpCAeQ3vGPRwZzj9WKRkkZ0jq0LIbOyaXC86GwrxDCt9SVPAd7bvNb2+c0UdkTlIlBSTzryjh93+sVf3G2LQj726H//3W5cT7yciyFrhknqdlc/tsWQ6TIiZsfnYyB65Hl9R99nulTMQiUs4fDKsjTzVj+O2kiuS/ksWIv8ZFYUuyIqiFck1LPITizNVHai+1htTSyYMx51hAbIs45+/Ot5ULJQrOu5cIddlMluQzkZ9TmKwzpB0zSSkXIRVMb+koE9MtePKvFg1uwrr/vB3PDJnsumsPN4d1T5nNVFFfV3vn6nfmZqHuWNbEzYtno7VLzfjiXlTwLM0Hvr137Cqp8gvVQ8Uebi0OQugb7I43Px2G9ZbIucAACAASURBVEkMt+eaSTzmdDyBhCTjiXlTEIgmsOHNQ/C5WDzyyicmG7FhoR/5Lgc2L6nBY69+rPmKam50x/JawHMuf3HvEGXFcPa/1tyOe2ZNMNi2aoPQfVdfitt0zc6lXh5enoUoGZnn73nxQ6y+fpLJp9q0eDpOhQWNsbI0z0ks/H/o13/DXTPHa/ejtw+sGs6ywXCTbxvnH2IxEW3huKEg7rYZY7DjvaNYt6Da0DDTsNCPcg8Pp9Mel2qF3lZmJYAbFEU5onvt9xRFzUGyqC0dW9xIAM9SFMUAoAE0KoryMkVRzQBeoCjqJwD2Avjvvt60KCumYCUA/PCaKkiSDN5BGzpQeItCo9QuklIvj7bTMdz6832WB6YNGwMBWVYgp3SsyrLc51F9mR7qekNClhU8fMNkPHCtBIqitII4IH0nsxUdpygZA3hWQd0SD48SDz+gwdRsA8jZFNNFBYkYOMrE8B1IQ24oISbKhrF6KqSeJMfa+dUo9rIYV3Yp/v3/NWsG8PPLanH7libTWr+wvBZunjEldhsW+bVnnlos0XY63mtSeiCYioo9nIGGWnWosk0yd8cFYld7d1xAscNp+q22Ud8/SLJCXG/JHp963oF1WLAGDkLR+tmCPuC7tyWgJXxXza7SxoQ9d/sVRB3mc7EaS4ZkYQcI4pnXYwny2JACF4s7t+9FRyiOhkV+TChLssz29TwmBbc2L5mOF3sS7la6UD2HO4JxUyI8U32fa6N1hwuG47pma1foE6KxhAwHBTgYGm3BmHY9fVFQWR5v2Dt7WwJYsvl97FheCzfHGNgfZ1WVYcvSGlAUhQNtQS3gWVHoQkSQbCaAAQapiEQBucjHau3T+TlWMpaasLNipCj2cFgzdzIK3Sz+7dd/y4gJLVNkYp9a+ZUMTYElsPeqI6n2tgS04u5iD4cRBU58d/te7G0JGK6TEGVcUOg23FOqnlGL6dSCgxIPbzqTplb68P1vTNCKxlP1kxVbn/41miYXa/XWWHUuoMpVqZfXWCj1iYtn3z6Mf545HiN9TuJz1cu82oin+nfbLJjfVHYU/f9XFLpwojtmSkiliykc744SffWtS2u0v1U9nDo+KNXm6U+xRjZxhqFQdJbr8QwrfUnT5DGpgigTmYN+eE0VUTYYmkJHKK4VDAHpWcUtY2cy+RwYyn7GUEEm8ZVzDZqmUJbnhOxR4OEdeHr+VIM+0LMFq1Dlykr/qXG3Nb/9RDsrfS7WUgeqqChMThRJp5v6Urw/q6oMzy+rhQIFDEXZI4MxNGRyoHA2zhCrOE5ynLoTjfV1ECUZDoZGmTfJnEIsslcU4v6wYqo92B7SmN18LvPZrb8vUnPH2vnVKPKwWDW7SvPPgDN728pebu2KagUprzW34wffrMo6Z5GpLA5Hv93G8Hyu6ZgjR+QnZfp4IKaxuKu+jqwo6AjFDc3EEUECKEBWgM5Q3FSPoO7VXEdCNNumNEURRzpzDG3wh7/39QlYvMnMPL+3JaAx1Kpo7Uo2Rd/8zLtazq40z4kJ5XlorK/DsUAUnWFB+3zz8SAa6+vwwLXW8dxsoC/MP6lriBoO8m3j/EIsJuLvnWETq+Ozbx/GHH8lKABbl9agMyxgZIETJW4OPG8XxKVDb6uTn1IQBwBQFOUIRVH56T6oKMo+AFMJr38KoKYvN5kKRw+15hx/pWag7mpqgYOm0BaKG8Y2AUllTkpCpHaRrLhqrMmAHOojs2zkJhKyQuxYfWF5bcbXyNZo1Tujn3dFiMYcqZCHlKCoKHTBkRIIVCmIG+vrkJBksDqHE8CA7qVsA8jZFNOpTDt6tHYlR7jYSCI1MeSy6Lxz0BRWza7C2j8cxBx/JXY1teBH11ThgWsvAwBLx1+WFZyOJrDprcNaMqzIwyHf6UBnWEChi8XBjpD2XDctno7n3ztqCGY8+fp+U+Kvv8xQxR4OoiQZaKjVhFe2wb6oIFvrCM/wdFrPJQZCJ9sYHmBokMcjDeFcVYmHtxzHAySbQhw0hcdvmoLPOiN45JVP0BGKY83cybjA58Tq6yeBZSjLRJ6+eJSxGi9FA/dfPRGBaAI//d0B/OiaKlQUuvt8HpOCW4s3vY/V10/CiAInJpSnH/vXH30/HEfr5gKG47r2167oDBnHsj8xb4p2PbUoSO38t2IbKPbyBrYbtQB2x/Ja7Gpq0Qri1sydjPJ853nP1tFfWBWC6WVYlpU+6bt0fo6VjKUm7KwYKUrzeLScikCUFMzxV0KWB4alKBP7VJYVOGjKInGZ9BtT1+miYrf22t6WgJZ85Bw0OkJxwz2QCkxIekbPiqPqnNQz6a6Z44jxod0rZ6DEwxN/K++gDaNbX1hWm3WS8mxDlatVs6tMDNgak9q2Jt2Za/Q79AXoN6x7C6VeHs8vuwIj8p1gKPIzD0QThv9XbRSV/U/14yoKXSjPcxr22UjdqF9rX10x/B1NSOAZiui3XVTs1p5ttv5UNnEGu9Gp/7CKQZ2KklnmnSyDVbOrEBcV0BRQ3FMAwTI0UTZ4i0kPHp78nCxjZxZ2ssN+3oOO3uIruQSrAqJ0cmVVONNYXwcHDdw1czyajwfR2hUFTZF1IE1R2jXXzJ0Mqcc2KM3jNT11vDuq6aneivfVMds+FwtZUXCiO4q7Gz80vPd8jl8NJZnMdciyglBMNOlXlXFbHyfWyx7Jzg5EBeL+8PBmptqGRX6UeLi049b1en9vSwDPvn0YW5bWgGUoKArwk980Y46/kliYYmUvq/GX1q6oVpAiyuRibDVnkc7WyFQWU/e1VYzdxtDC+RSPORZIFmwVezmtIE79t/t27cPj86Zo9p7aTPzonMk4HU1AkhUUe3nsXFGHzrCgsaWpezXXQSpkFyTZVKj79PypoClov9PDMZZ+4eqXm5NFgzpUFLrQGRa09+qnKCmKgrkb3jG8v7Uryeipb2jrL/QxCfU+h5N82zg/IAgiOiMJSIpiYo1V92Cxh8PJkICTIQGleTzKvDxY1m486Q29FcVFs/y3QYWbo/HdmeNNAQneQeF0LPMkROphYNVJbY+TsTHQkCyKfvrCSpSt0ap3hCiKPLud1Mlc5uVNdNrrF/pRmhLglWXF0uEcjGBHNh1n2RTTWVGrO9khXCkxgCAmwRZNw+Yl07F40/sGmflFUyt2NLVqAYTqCwsNgYpHbvwCea0dNEYWuPCDb1aBooBjgSjuafwQP762Ct99fi8aFvnx098d0D5X4uW0hLK+ECQ18ZftGF4VNE2BoWliwmv3yhlZraeVjlDZJIej03ouMRA62cbwQCQuEccjPXXLVBQP0eC0/syLJkQcag9rXXkkFpy186vx3LtHce/OZFDIydJgGBqlXpaYENz5wWfadzlZBv/262bT+j143WVap+CjcyYjGBfRGU46bX05j62CW26OyUgH9kffD8fRurmA4biu/ZEz9XzXF6WQCptK85wIxUUTe+7a+dVY+4eD+ME3q4jrerw7hrtmjsdD10+CLCtwcQyR1cBG5si0UaEv/ocsKwhEBUQFCZKiwMlmxs6SOlpyV1OLyX97ev5UnOiO4f7dfzUk9UrznP2Wg97sU3WtfrmnxTTmYf1CP8q9PBwOmrhOAIivpSYo18ydjFBMRIlH6XVUt56lTBAl0zOyKrQKxyVAiePJ1/ebfmvqCJkYoStfn6TMJahyZRUXU1/v7cxVmdgeuK4KUUHCop+/h1IvTywGeuzV/ago7BnT5WbRWF+HB1/6SGNKURNSu1fOSBtjsPLVg7EEGhb5NaaHtu4Y4qKkyb/62+7duQ8v1tehLK9/7Dz64qxURhoS7EangYFVDGpcqddyLPnRrgRaTkU1VpzKIpelT9+4vBYv/6UVmxZPB0NTkGQFOz/4DLfOGIMCl/l+SLGzDQv94B000c94ev5UuwhmkNFbfCWXYFW8QpKrdQuqEYyRC+ApisKIfCdkWYEoKxoLVLGXM5AJqHK+ZWkNdiyvNfhvLo6BICpoD8YN35uuqCjJpCobYnGbFk/XGFPV7zzf41dDSSZzHZ1hAbf22Bp6dqfyfB5d0URa2zRV/lTmxdRrAciqKT8qmONL9zR+iKfnT0VZHo8fX3sZEpKMbd++wjBBZeOt0yz3/MY/fgoguc/VewtEyHrAydK92hqZymLqvraKsdsYWjif4jGdYQH/suMv2L6MzGA9ssCJUflObZ9TFIVn3/oUt84Yg65IwsSWprJoD4XcIKmQPY934Ke/O2AoYE+IsiE+/OzSGuJaFXs4NCxK2rbqWqc2YKvvVWWptzjZQDUK6WMSdr2HjaGIeDzJDle/tQlb0uzBIg8Hn5tFvpNFkZuDw2Yfzwi9FcVdSlHUPsLrFICLB+F+MkJEkLWEHJAUgju2NeH5ZbWQLFgsSEmI1MNAHcuRbWGEDRuZgrXo9mH7cNBnY7SSHKENC/0AzLPbU+Fw0JhQ5sULy2shiLIWCHRUVxqCtkOlWKevxXQkph11hIsNi+e+9QPsvmOGSWauu7wCC+ouMiRhO4Jnxpw+8doBPDFvCu558UwX6eYl03H0VMTQWfrEvCkozePg5R1o7Up2n6jjAIFkcYaeJaW1K1lJ31hfZ7j3bMfw6mE1IiUhZhcc4Cy6gNURLcPRaT2XGAidbGN4gKbI45GGuiioZ54scwjHJY1Zh8SC853te7BlaQ0OtodQ4uVw74v70BGKo7G+Dpf2UN6rid4SNwvq8gr85qM2tHZFkedkieundjCrenjT4umavurLeWwVRAlEExnpwP7o+/4WUNsgYziua6GLJSbDC3Vjqaygnu/64J1+1E6pl8f3v3FmfIU6FrU7mkB7MI4iD4v7r74UgQiZHaczLGD1y81orK8b0G7c8xl98X0y0XeyrOBIZxhtp2MmtgvV57LSZaTRkoUuFrtXzkAkLuHwyTBCMdFUEKTv4O4PerNP9WvVFRG1AhPeQaM8z6kF8azWifRaeT6vJfrVRH5HKG74PenODvX/VZ2j/+6OYJz4uSMnwwCA22aMQUdQMIy6Sh0hc6I7OmQaq1S5OtEds1yvTM5czsHgrpnj0BVOaEUQrV1RPPbqfmxeUoNAREAskfzs/VdPRESQUJbHo8SbXPe7vzZBYzRSZdtBU2n3GclX37xkOrp6dJ7efyywSI4kpP4ndfvaIDhUYie5jnTrSCpiOBmKoyMYN401riikibIhKgoa/nQEDX86Yvi3BbWjLe8p3+XA5iU1oHtGbnEOChQFop1MUUPc0RgC6C2+kitIV7zicNCY2OOLJSQZCUnBM/9zCAfbQ6ZC8yfmTcHql8+MRy/zOtGVn0D91iYDA7GK1q4oOoJx3PzMuwBUVlkOLV0xnNTtFfW96YqKAEBSYGCWcXOMHb9KwVCRyaEA1f5UbVoVb933ZQBWY7TJspcQZeIY+YaFfhS6yPKeDpRFfImiKBzoCBlG+q2dX41//up4FLo5jMhPNqtUFDqxeUkNGApwMDS2vXMYjU2tmm7gHTRmVZXBwVB48qYpRjbGRUnfoDdbI1NZTN3XVjF2G0MLwzEeQ/KV1WKt1q6oJYO1i2PAsgxKe5iWApE4rplyAQ60hUzn4H279uHZpTVwOmiIudjtlAJSgx7LAEuuHKPFHEgF7J91RohrVejhIMsyHnv1E42xqjSPx/Z3j2i+sfpeVZbSxWMHslFIH5OwYs4fyvJtY3hDlhW060b+WtU7lebx8HAMvKwDTqc9LrUv6LUo7qzcRR9hNVpPUZIFFw2L/KY50aRkV+ph4OKYfhdG2LCRCTgHjfULqrWCnYpCF9YvqAbXh2rebIxWkiO0YltTxrPbAzER3+rpFlDxm4/aDEHb4Vqsk+2o1vMFVs89JsqYv5EsM/q1039+b0sAj7ySNKonjsgDy9D47FQE3+spklOvfc+LH2q08w2L/Njw5iGDvg7FRcuzQo+BeLYD7USWWnSXl3rTJ/dsoz47OBiKqJMdjL2/zzfQNEz08Y/OmTxsdH2mLDinwgLumjkOhzrCWkBDlGQ4HDRG+c5QYnQE43jqjTOdhZyDIq6fmvxWrx8RJPjcfbev0wW3MtGB/dH3A1FAbcOM4biuXdGEYV8Eev7OZLQM52Awq6rMMBpVHZm6+vpJGFfuNdji6lhUdSzEpsXT8f2dyZ62VFYmfSBYHIDiDxtJWNnAsiyjIxjvs67pDAs42hlJm4DuTZelyllZnhOyR4GHdyAikO3jgfDVerNP9WvV2NSKxqZWAMmkZbZdrVFBwpLN75te1/8ekp7Rs5RZ6ZxiD4eGhX5tvI5+H91/9UTc8+KH2ghW9bemjpDZ8s4RYnwqFxurVLkqz+eJv/vZtw9ndOYWeziMKfGg7XTMIAt7WwK498UP8W/XX4Z/2fEX43ro2NRIsn28O5pWbkl7QlEUjbFcff89L36I55fVEuXUMQCFCH0tchuusZOzjXTrSCqyFSTZcqwxSTaskqdWOr09FMf8jX82vX/H8lqinWy7nIOP3uIruYLedIjqi33eFcG/vPAXrLhqLOb4K+Bzswa785FXPsHelgAeuDapSxwOGpeOyMfulTMgiDJRntXzS2N/UoA7tlkX0aXTU0qKj2knpc0YKjI5FNCb/dkX2VML+1OLv+q3ZddAwlDk+BJFQbMN1e/4zvY9eOTGL8DnYrXzJRyX8NX//B8AwNRKH1ZcNRY7Lh2BikIXRvZQlT543STc1PCOmSmvIGlb9WZrZCqLqftavU5qjN3G0MJwjMeofkFjfR2OBaLoDAvatAy1+C0T4otwXMLK5/ZYnoNdYQFFHg7yEClmTrWJP++KaEyWl5R5oSjmIuKn3jho0g+PzpmMUyEBdzcm/TmVnKKi0IUtS2u0pmm1oFiVpXQxDD1ZBtC/RiH9maBvMB0u8m1jeELPlBjXTRvY+MdPTc0vSZZ9Bm7WZofLBr0VxbkURfkEACiK4hVFiav/QFFULYCjg3lzVmAsGF1omsItV4xGgZtBY30dKCiQFUBB0rEkBaJTDwOfi7OLXmwMOkRZQXkBjx3LayHKChw0BdZBQewDTXpfjFZVqUYEEY/c+AUwNAWaohCIJrDhzUMQJRkKAEqSIUkyOsMicQ9kErQdqGKdgaLMHcjrZzOq9XyB1XN3UDAE5za8eQh7WwKmAFrq5/e2BLCrqQUP9FDJl3p5ouwlJBmSnDwTnrplKhRFwabF0/HUGwct6eMHI/BmtR8LXWxWCVGHg8b4Uo9BR5R6zhg6xR4OW5bW4GhnRBv5clGx2zbqs4QgKThyMogXlicZZxmawt6jnSi01/O8A0PT+OP+NtN4pHHlY8/1rfULsqzgZDiOWEICQ1FwcQxGFiRZo6zYpMaXe/GvOz4EANR/cTQYmsLRzjDYnlFgDgcNQZTQERSQ73SgLI+HLAMejsFzt18BSVa09aseXQwgGci9a+Y4+NwsFCiQZaVPZ7saRNm9cgaigoSEpCAqiLhr5riMdWC2Z3m2BXWDbc8MdQzHpgNBlPBac7sWHFShJiatIMsKFEXBj6+tgigBO5bXIpqQEYwlEIgkMHGkF7IMbFlaA0lWsPGPn6KxqRWtXUnq/CfmTcH3d+7TCll/sedz7Fhei+PdMS0QDACbFk+HgmRR61Bf61wAyQaeVVWGk7ruzllVZfjRNVVgaKpXGZdlGZVFLqLdG01I+LwrAhfHQJST401I1yPpHRUOi1iK3j7Wf5510HDQFKJCcoQMQwE0TWvX1H9PoYtN658ORlNHJmNYAtHkOfXc7VeApSnwHA0KFJ6ePzXt86BpCiN9Tjw+bwpKvBwYisKJ0zGU5nEaW9qIfCcaFiWD/WV5PCjqTPK1otCFu782AeNKvUNGx9E0hSIPb4iLURQFRVFwS81FePy3SSY+fVe/KgNGuaRBEwqJOkJxhOIidq2ogygryfHADkYbF6zKEZCU1YQk43h3FBRFof6Lo1E9uljzK/cc6QRFUfi8K6Kta2qih7SPTobipqLhDQv9KLMoRLA6x0m2lSzLhqS06v9GExLR5rEbnQYGfV1HWVaIz4mmgI2L/FimL2Jd5Iebp7H129PhoBlIigKGoiDKElwcTZQPKxZ5UVaIfsb48ksGdX1s9B5fyRX0FnNV5U1WFDxx0xQ88srHeK25HS8sr9VYMVWoe0D7jCxDUgCOofDc7VegIxhHZ1jArqYWfPcr41Ds5fD7e/5Rk8v5taPR2hVNW9BmpR9T9+SGNw9h7fypOBVO2PGrHgwVmRwKUOOjnSEBJV4OkgLwDhqFPcVlfSn4UQv7e8t96GU/1T7Wn/W0RXxpdPEY4neM8rng4RktjkxRFGZVleG15naMK/Pi4hIPmJ7rq3aF2GN7rLhqrOFMU0dzsw4yE5x6RmYqi7bNMjwxWPGYcx0Ho+nkCPHuaMLUjONzcZY1ALKsoCsaR1RITjxaNbsKsnKGqUktTi32cBhZ4ARNJ+PIQwWpuqs0j0P91ibc5K/Ad75yCdF3K8/n8cKyWiRkGQydjAPzDsaUq2vtioKhKWxfVot4QkRrVwwjfc4UnUiOxw5ko5A+R7e3JYBn3z6M7bdfkVEsxoaNc4F4XERYFCGIMkRZgYulUf/F0Wj40xGtkXTzkiQxDENTKHFxNjtcP9Dbym0HUN3z/+/o/h8A1qX8fdbg5mhsXjIdLaeimjNVWeSCi6Nx++YmfP8bE7DprcOmOfeZUG7aRS82zgY8PIUTpxNo1clwRZELI/J7H6ukIlOjVR3BoxbPJCQFeU4HHnypGR2hOJ68aQraTscxr+EdzKoqw3dnjtfGE6fum0wcoIHoMBlIytyBvH46g/5cG/vnCvoAm4kFYdE0gErKhBps+97XJ+DZtw+bEm8KFGz79hU4fDKMp944iNI8Dnd+ZRxu7mFD2bR4ugW1tQNt3TH43A78vT2kjSxaM28ySryZFaoVulgcbA9h2dYPDPc+YUTm8kbaj4Uutk/jc/QQRRkHOsKmTr2JPWMzACAuyoaRLxtvndbXx2ejB3lOGhNH+XCwLaTp5ImjfMhzDh3H1sbAoMjF4drLK7Bk8/uGvVfkGroBe9KZt2ZukrHqQp/LxAazfkE1YgkZvIPG3pYA6r84GnOnX4gDuv0RKRIxusgDF8fg4RsnISHKOKIr0qUoaHbG+oV+NB0+iamVPnz/GxMsxwH29hv0Z2yRi8PBkFm/Djb66icMtj0zXDDc/K9MEwb6ggoHTQNQ0BVJQJQUrP3DQYMvW//F0SjJ4w02+oaFflQWuvDXY90oz3dClGXcM2s8nnjtAADghuoL8NCv/4bbZozB6pebtdGr2exBG9Yg+T4/uqYKP/lNM1bNrsKoAidkBZj/X382rTsAQ6JaVpLFxF1hcgL6UHsIT71xMO1zVPXOk6/vxxx/JYo9HCKCCIoC5m/8M0q9vKkgqGGhHwydlEkAJr21dv5UBGMinCyDIg+HHe99iptrLkJclA3va1jkR3kej8b6OiiKohXUHe+OEovmZlWVYdXsyxBNiPi8K1lU5XP1zYdKXX+1AFEQJZwKxxGIJCxH0RZ5ev+efJ6Fl3dojGMVhS6sW1CNbe8cRUWhCz43i+9s32O49kt3XqkVeKk+4VDTcan3LMtJVnl9ISFwRlZmXFyMFVeNxamwoPl9d80cj58vnoalm43srm9+0ob8yysMtofK3Feax+Heb0xEZ0hAaR6Pzzojmm+oj1OocYubGt6x3Ac0lSwCVkfrbnjzEDpCcfhcLE4kJDw+bwpGFTjh0BX7p8LqHB9X6jX5eWvmTsYFhS784JsTDePL1sydjLbuGERJhtfpMBSzDnRj1fmK3sYxpcZpnCyDB6+rwqlwcoQyx9B48Loq8CwNj9M89tRFO3BSTuDIyZAhfud1OAyxNrXQx8VZ2AEMjdkpfsb6hX747KTGoCOT+EouIJ0NmRrbjQgS7pk1Afd+fQJkxcwQrOoS1Sb456+ORzAmojyfhyQni4Y4hsY9syZgd1MLrppYro0gX7/QD7ZnpKIVy4p6bZKfo+5J1RYZke+Ez81i7R/+jtea2+34FYaOTA4liLKMRT9/zySPfSn4oWkKbr73hotU2X9i3hT8/uMTWFA72lB44XM6THp/w0I/PBbfcTqaQDQhGWLrGxb6MePiIlw5rhStXWfySNGEBN5Bo607jh98cyI2/ulTzfb/z5unwM0nC7fjCYnMMtPThJCpLA5HRjEbSQy0r5IrcbC+squr52yq7/jEvClYv6AaP/v9Qaz88iXoCicgyQoOtIVQUeRCZf7Q2AOk56Lqly9NKEcsIZniwz9fPA1tp+Mmprhn3z6M739jAh57db/WlFlR6MInJ4JY/XIz1i+oxtgyDxRFMTQwkZ6/LCugKAo7V9ShMyzgjeY2zKwqR7GHA0VRWTdTD5WmNBvnN2IxEadiCcRFCUdOJmMfqi0OAA1/OoK3P+3EDdUXYEyJB0UuFhxn+479AZWO4paiqL2KokxN/X/S34OJadOmKR988IH2d1c4hs8DcZOxdoGPx3tHAlj9crM2QibVuMyGctPGsMVZOwlTZbitO4pPT4YNBtaauZNxcYkH5QWuNFfKHPpiJdJ3AcAtG/+sBfave/otNCzyp903mRq1/S0Q6wjGccO6tzLav9l8V1+ur/8e0m8vz+cRFSRIsoKf/KbZEOA5S8b+WZHjVBkGzGuiJqF4Bw1JAQRR1orcOkJxzWj+0TVVqCh0GxJ3+nVdv6AaHt6BW3uCGQCIxRQNC/0QZRmCqECUZZOMTxiRB5+LMzFYpCYwGhb58dPfHTAwulQUurD7jhkoy3ea1iJTmctGzlQcC0S1JI/+s431dRjlc/Xr2jmIcybDKs6GTrYxNNAejOHGdW+b9tbulTNQlmfWBz045zKcDqn6QmVrqyxyw8XScHI0glEJsqLgaOcZB6xhUdIBK/JwOELYH2NLvQCAo50Rog4GztgZKjvPTSkj2DNYW+I5YaW3c00HDiFdfc5s4uGITOxlafmJ/wAAIABJREFUov2z0I8SL4eoIMHB0Ibx86/f/SUtmaKiotClMZzq2T5umzEGHENr4yzUbubx5V4s+u/3hoI8ZoNzKsOptiEFBaG4BFFWwDto3LKRrPs6QwKefH2/qZnviXlTwLM07ty+V3vtyZum4N//3ydYcdXYtP5aRzCOH/5in+ma6xZU44Ff/Q17WwKYWunDfVdPxIVFLkhycpRgRzCOC3xOMDRtsEFJNvja+dUQRFmTMf19qHGYjbdOA++gNXteX0zUFU1AlmUDm576GysKXT2FKGcKr1Jt+a5owsSCp/q9+mtuWjwdAAyjaFPXqzdY6fHV109CWT6f0VmUoe+Q03qY9Bs6wwJuWPcWSr08HrzuMkNxoOr3PXT9JAiibNBRP7ymCgv+yzxa8vlltXAwFE4G47jjOeO1aAqGcZe9xS06wzF82h42FacVeznct/Ovmm96SWnS1rd6RlbPv7G+juirbV5Sg8WbzHr2xRW16AgKhoR0anHsQDRWZfrsBilGcU5lWBRltIfiECVZK3SkaYpYtOblHTjUETLZruPKvPg8EDWwWRV5WFzgc+FgO/n9pNfHl3txoM38+thSL25cb/YzVB/fxuCht/iKDufUr0tnQwaiAvafCJrkapTPhQX/9WcDU1REkDClsgCSDNywLhnrPR1NGD6r6uklV44BkNSx6kjwpN6q03zAUi+vMXM7WQZOlkZUkLQmVhV6PSyK8v9n70sDoyiztZ9aekt3lk5I2BIVka2BhKQlBJyrKDO4oXxKACWJspgQ3OYqgt5RRp2MMywyjCiQwNUAYV90cHBQZ0D0juioIQODQciwTYJA9pDudHd1V9X3o7oqVV1VWTBAAjl/lKTTXV113vOe87znPA+OVTYq9nlRghsAnh03AP3jrLAY6OvysLodPtle69TYxOWwqkYfTlS58ML2Qy3me23dD1ur5bQwo/GOODx91wDVPh9loTG5QLsOqGr0KdbHkvRExNsteHSNej0P7xuhud/cEB2GGjeDd/aVqXL/gkwn+thN+OGcC4VfnpIa5qKtQr0ZF2FGbLipXb54hXKKTp0Td1vr1tlxMD0/rnX7UOv2a+byG58YBYIAztZ52nJ20Cl9WOu5jHfE4ZfjBmL2hmLE2kx49QEH7FYjOJ7H+QYvCILQjK1izZ83cRhmrP1WsceLMrXbctJwLDhczQO4MVpZ5+udC67MSME7+8quxhlrtzVbp/Tha8283gD+XeNWNZ2K7PxbctJwts4jkYLdaA+DwdDNztpG0/Xh1loKeZ3/1/r3FTMPw2H53uMKqvvle4/jtQeGYmCcDRV1HsSFa0vtXQrlZrd1W0ebn+NR+OUphQ8XfnkKv35gaIe8vzyhKJqZqgCQK4LJW9HMVOnfkcHpoCiLQbFupjjjkX37zWhiAvixnkOczdSmTvufOmESSpkrHuY1MQFUNaLFxKktidKlUPLWuBlNbfvQ5K+qkUFJef0l6953JQu9J+KB0C9/PlAT+HpxpwCyiVTvVY0+cByH8w1eLJ2cJE3w7z50VpJqEK2kvB6LPz6GopmpqGz0od7jR4zNiPT8r1A0M1WaBgSafXxrThqirUpfrGr0qZ7j7KJiLHx4uOJAq6LOI8nciN9VlJByeQOqAz6tAw2O05ZNacs+pCu5wnIABB8ec3MMsm+/WaLgX/PFye497hLtcsfkbus65vVr7w9eP3eVruinm3zPS06Iwgt3D1KApfmZTvhZFs9sVjY3zC4qxoZZo8CyvGYesSUnDSQB9Io048JFLxZMcEgS2aF5htsXgM1Ma95bD8OistGLHlaTZoO9xx/A+QavRM0vxu0/Th2BeXcP7tQxsCMlALqt85oWqNpSvsxxPM5f9KrykTkbivHm5CQ0ePwYEGdTrCmKJDR9yc9yUqNbvN2Cd6Ylw+vnEBdhwsKHh2Ppp8dRUl6P/P0n8IcpSYp8q6S8vtsfO8jktQ/H8Th6/qKUC+966jadfYVF9vrvsGCCQ4rJ4u/mbj+EP04dIUktmWgS1S4fAHW9Jv6N+ByZAItJzgTVez658aB02A0AZgOJMzVNClB/VUYKyBBfyx3bX7UHPLXpIIpmpmpeh3h9y/56DPPvGaLwuez13+HDp28DAPhYDpUXfYrY/ty2Q4raKrSxbrwjDs+OG6gADcUhJVECRrzvyQlRuCkmDHzwukKv0xNSV4rPTi0bG1D9fazNhAE9beA4HpOcCVL9J/6OCbDSRHxHNzhdDdOqudfPTIXVSKFoZioIgsCparfiWYp1n5/l0TfSgjAjjd6RZgzvOwz1TYxuPPMFgLf3lSn87cWdhyV/E3GBAUHcL/Q9mIBQv3l8nNQQJ/5OzO1funcw6j1+rDtwCq89OAyBAIcfGzyolDXuPfeLQRjUM1yVQ4kH1Hq1Gklo+1uAhXRQLv5Mjhe0Vq9eKrbQWZg6LrdxHI//1DUpmt+8MSwiw2jUuHwKdvVlU5JgpEnN3HZn7mg0Mazi9UvSE8Hq1IqvPjBUN0de/PExxesXf3wMbz0yQts/uK5bZ3QVaw1f6SzWEruJh2E1/W1zdhoq6jyIlUlAMywHf1CCqaLOgxirEZUXfYo9WYzT83YcxsYnRmHBBAcG9wrHjtzReOOjo2ACnMqP5247hD8+MgJTCr7C0slJLeK2PHhpTxav98Wdwvqob/Kr9vJrLS61Zl3FJ7uCcRzX6jlge/fDnhEmbM1JA8sLObMcq9DCjCY5EzT3+U1PjNJcJx6GRXSYEZuyRyHA8hKeMWVkAmJtJk3MhiZJRa4l7jcRFoNm7j97QzG25qRJcUPEvOPtFhTNTJXuTXt8kSQJaTCCCbCocTPXZVNrt6lNXkcB0JTW/Cm4Q0c1ZOrl/QNibThX74VHBxOuavShh83Upc8OtPDJSc6E5oa4Bx2oc/vhC3BoYljYrQbwvHZt0z/WilibCTfHWnHgpTvh8XO46PEjd2x/CWvyc7wqpxYZaQsynegdZUaA41V1j4hbfFpa+ZPqoM5s16viWLcJFghw8AUY1Hs4eP2sAvsV8/PZRcVgOR69I80wUML+380k3DHWWlNcPEEQyyF01Yn/j+C/+17WK2vJCGDWz27G3O3NU59LJyeBIACaIvHRsz+DzUS3SHUcat2BqNuupJE6Pkx1kMvJm5VYntdMXtggS2S83SI1KdV7mqV6pjjjkTX6RhXF9+Ce4Zc9CZFLBmgd4IuFq16jWmuJUltlreSmd7AtynUKByAclkxOxIkqN/L3n7jmDxl1k2kN4EvczGOsRpAEIUk4PHPXACzYdUSaPF06JQk0ReBCg0/1jKpcPhyvdEmTqxuD4AKnk6CznJqimQmwiLWZFAVM/v4T6Gu3IDkhSkH5TJME6j0MLlz0KYCTJemJCiAie/132P3MbThb71U0AxZkOTHeEadij2jJz0QzBqUqQn3UQAnJj9lAIjNkfa7MSIHZ0J0cXYpd7pjcbV3HKILQXHtd2RcMdHM8yR3bXwWW5m4olg5T5FZR50FdEwN7mFHzdxQB1Lr9Cmp9+WSgCKHG2y2wmQ2gCWjeWwD4/uxFJERbEG01IsqilGQT33vFtBSQBPBjgxf5+08gxmZUNAPJY2BH5PUd8R6Xkm9cql3LtUxn/m4tMQkzAUEOMsDxCvnIsioXmID24UPvSDM8DIu52w4JlPkZKXD5AqBIITaFsgZUNzY3l8TaTIoDU3Ev21lcgYnJfRVyQvLpw8vhj9ez1ciYypITohBu1sYlSAjNZ3pNbnarEY/LntmS9ET8ZuJQWFvBOSxGCkN6h6ty3ZLyegyIs6Egy4kIM406t1/BoFZR58GcjQdROH2k4v31ro/jtWN6vceP5IQoPD6mnzRlP94Rh6VTksDyPM7Ve3X3DXltJebYeROHSZ8x47Z+qGr0qRrtxEa6Hbmjpfv+0r2DkfXeN1gwwaF5nUeD0i4ie12th0GTj1WwXK+YlowIs0Hx9yJz3iNBdpxQ5pv59wySmHPEeuDbk9VSgyPL8djx3X/wxO23dHpgX96c3uDxY0l6IkiCAMfz8DAB1Lh8Cia20GcZb7eA5TicbfCAJgmYjSR4Dro+zHI8lnzyAx4f00/RaChiF+MdcZJkEQFt/zPQJGrcjOqAV/TJ0OdmpAicrnWjvFbwPSNF4sk7b8Gyvx7Daw8OA8vz2JKTBouBBEkQEoNd6DoRP19vXXA6mIxWc2ZHNtRfKl7S1Uyo2b2qgzer0apqjnxu2yEJR5BbRZ0Hfk5/ECSUgWfRJKFZTgtb4DgeVS6f1IQMBOM+qVdndI6c5lq21vCVzmR6Q8a62C7HY/Z/3YT7EvsqGDsLspyItZkw3hGHahejWB9ivJbv8UaKxPkGL5oYFm88PAwmmtT0Y4okEGszIdpqVEidTUzuq1gjG2aN0lwfXj8rNcSJ3+FajEutWVfyyc5uHC+w17eUH7d1P9RjqY+2NDMT0xqxPMaqjZnwaM4LtM43VkxLRqM3ALOBQu7Y/mjwMHh23ABNzGbtjFS8+qADr39YKuVaHMeDJoRGNa31JjbGal2XeG/a44vXS7N9V7OrjZdo+YXYACU/Z7lU3KGj/I7jeE0G0z8dLMdjY/ph9oZiqXYMxV0MFIEwI4mn7hygYsfuKnixFj4pxq4l6YnwaAyG9ImyaMaH8loP5t8zCLVuH7x+pXKIOKgJQDU8LZ4Pzt5QjLyJw9Av1qoZo0TcQvxbvTpIy/cBdFr8EOiOo9e7eb0BXPT5UeliNBniSsrrEWUxSGfTfe1hV/uSrzlrLdOeB6AYwHey/xf/Pf/yXloLxkM6uAaap6k5HpI0yRsflWLRpETpsE1MYrV07sVA9NDKL3Hbos/w0MovcexCo8QQ1G3d1vFGaPow305mUi4ol3S2rinIuiX4rBxIPd/gldaBaPF2i/TzJemJoElCYNUKMyI/04l4uwW5Y/tLoK94jbkbilEVZCm4lOtqq9ktBsV1hBaD2eu/k5KbSwGMY6xGrHnsVkV8WPPYrZrxQTSxqUBu8oOfF+4ehAW7juDnf/gCebtLMf+eQbAYr+1DRjGZFi05IQr9Y7Wn9sXNPDbcBIoAstd/h0nOBMzZeFCagluw6wjuWvo5pq35BwgCeG+68hmtzEjB3tILkt8agoU7RRIY74hDQZYTW3PSpGY0HlDFdIuRwvx7BiFvdymmrv5aelY0SeBX9w2RPmtJeiIokoCXYVXAybwdh5E7tr/0/WJtJjR6WVUz4Oyi4qBUbNv9TDQDTUjU+fJrMtDiZCKnmkJ8cuNBXTarn7omr33rmJjcbV3frCYKhdNvReH0kdiak4bC6SNROP1WWE1dM55zHA+XN4C3HhmBeLtFt7mB5XnsyB2NgiwnkhOiAASb2Uw0ql0+zf2PByE1Nojv8+LOw1icnojxjjipwXDRpEQQ4EGR2nHtx3oPFuw6gqpGH1y+AE7XuFHtVrOkPLXpIH5s8EpxW94MJI+BtW4fjp67qMrra91tj4EdVRtcSr5xKXYt1zKd/btpHbAs++sx1Lr9qHULPvrwygPN117ZiD8dLJcapeQWb7fgh/ONWLDrCH4zcShWTEuGm2HRO1IAQzZlj1LkMAt2HQHH89Ka1WL0mrv9ELJvv1mVS7+48zCeHTdAtz7utks3eX2SO7Y/Fu45qsIlVkxLwblgLSYOJckt3m7Bf2qaVPlntYtBjYtRvZ8YVziOR32TH/VNfkWu+8LdgzDeEYeyShfydpfCZqIRFaa9H7h8AcX7NzGs5vWZDSQKZ4xUXMeiSYnI339CUb+JzUiPvfcNTla5NfcNMa+W11YFWU4snZyEAXFWbJiVij8/8zP0ibJg8zdnFN8r1maSGulq3Azi7RbMHT9Qyuvy959Q3a+lk5OQv/+EtF6PVTbi4ZUHMPbN/Viw6whenzgUY26OQa3bj9+HPL9nxw1QrTNx7/vVfUNUv3vrb8dxa78emLH2W9y19HPMWPst7k/qC+LqCS+0yeSx9/bF+/HC9kMAgIV7fgBNkggz0apmI/mzHO+IA88DWe9+gzuW7MfU1V/j+HkXPH5WE6tbmZEiNcStO3BKUWvF2y2odjF47cGh0mHN89sOaeYUNEmA4zgYaVJRHy5OT9SMgwwr1EgLdh2R4qqHYTHjtn74sd4jffdws0GBjez51zmsCuIV8u9AkTxWZaSorovleM11dPR8I17+4DAq6pqkHMVipDRfeykHidcLY60eg5ZfpxlAbGiQm9iYqfV6juM1/cdEk5rYgtlAadfyJKHyfVEeuNsur7WGr3QFMxu0Y8NFrx/T0m6SDumB5v0nwPFYMGGoqglNzAOjrUaMd8SBJglFHGxo8oMEpHuWnBCFwukjsW5mKkiCwKsPOjBj7bdIz/8KebtLkZF2I9YdOKX4jKpGn/b6oEnduCTWa/+pdaOy0dtp8v3LYdeCT7bVLjceybAclu8tU8XX/EynlB8zARZLJycp8A6t/VCrtptdVIxzF704XePGkbMNMFIkVobs9bHhJs31Scnifuj5RqzNhCaGxUvv/wvp+V/hsfe+AU2S6NdDu0mkvomBh2Ex/55B0vvTFAmaItAzwqS73sY74rA5exQ+m3sH/vb87diSkwabSRjWAtrni1o4Tfb673CuwdONNV8l6wx4ida6mbdD2GeAn46D6TW11riZdr+PFpHD1NQbca7BK9WO70xLVuEuseEmePycaq99cedhdBW3D8Unxzvi0CvSjHi7Bb0izJq5NEUSWDYlSZW7Lt9bhnk7DiPSYlT8nTio+cL2Q/jvLf+EkSKxbOoIfPbCHViVkYKBcTYkJ0Shos6DHjYjeF67RhJxCxHHYDle5dN6vn+6xt1p8UOg4/y527qeiXKp359r1MzNc8f2R7zdgiaGxapMJ2Is3Vjt5bAWmeJ4nl93pS6kPaYHbPiCE/dRFgM+La1EVSOjmJAQJSJD7XqZnuy2zmMdQZPeUle5vPP/w3/+iFUZKRKIKxaGJppA3sRhiLEZUeNiMHX11xjviMO8uwchb+KwFmWaLvW62trtXufx48//rEDh9JEwtACYXCoDC0kSGBBrw7bZoxFgOdAUiTibqcXro4OH+fLJB3HqRatxb96Ow3j/yTFt+r5d1cRkOnv9d4i1CQV4ea32dF4TwwYl+jgYKAILHx6OeHsYKuo8mrJR/731n3jn0WQVq8Kcsf1x7/DeiLEZQZPAW4+MgNlA4Jm7Bih8fFVGCkzBAl4e03loT3+/OTkJfaMs2JqTJsmbvPHQMNhM2nJ/UbL95Ff3DQGjs6Z5AHkTh0kyLqY20tw2+VhdyRXYgIDOVHpAI8nvnkBp3bqlK7pNNB48vH5OMR23KiMFfCc/vNazGjeDx977BiumJWPDrFGgKW2GilNVboUU+LoDp/D4mH4wG0hwPIWNT4xClUxe4JfjBuqynjR4/HjmrgEIM1FYMMGBdQdOYcGEofCxagmexR8fw68fcEixeMOsUbhw0QsDZdGNveJr/zh1BAqynKoYeKi8QcV+FCp33loM7MjawGaisHZGKkhCmGI3XYaDjmu5luns3y204UDOkLVgggN5u0tVhypbctLwmz9/jxXTUlRTxm9+cgwVdR68va8MT981AC/IGEzzM50o/FJ54Pju309icXoiat0M4sJNmjIlRp1cOiHagnAT3Z0LdLARMsZRPVyCJIDf/eUoCjKdeGvvcSyalKhgjVg7YyTON3ilvHRv6QWMc/TEjTFhIAkCDR4GRTNTwfFAmJFCzwgzSJJAVaMPZ2qaVDFQlJ98PtjENGfjQaydkaq5H1Q2+pC//wQWTHDgllgbat0Mlk5OUrDpLpqUiNf//D2eGTcQG58YhYveAKxGCgv3HEVJeb2CLUNeJ+k1ZovDM0vSE/HBwbMSi4ZYX7z0/r8Un13VKADGAku3oBiQnBCFvaUXsH5mqqKOLSmvx5ufHJNk4cprm7Bwzw8oKa9HckIUXrx3iMTIJ17PkxsFeViXL6B6fjE2bSaQBo8fYSZKYlMT96VJzgQV4PnkxoPYmpN2Gbyv40zvcGvhw8NhNpBgOX0pnR25o9Er0ozf/Pl71d8XzUrVXBP2MAOqGhmJYVw8NBNjn4dh4ZfJuVfUebD442PImzgMN8da8cP5Riz++BjemZYMA0WCB4//uW8ITlcLz/vl+4fo5vpatWHRrFQcv+CSfiY2OYs2ztETu4N4hbxWzRzdDzYzFPt+gGOl5sxQprFdJWfx+Jh+mPa//1DUaetnpkqywT/lIPFKMtZeTdPLSblgM2Lo96dIAn+cOgL/vfWf0j3+49QRMOgwudE62FhAh1lu2+zRiLEZFThAjM0IiiSCeXGz7687IMiwdtvltdbwla5gPawmCX8T/XbZlCS4fQEwAU6BD3E8D5IgNGVOAcFXb4gJw6I9R/HMXQNAkVD58ZacNMTYjFg2ZQTMBlKBt4WqJzy1qVnqTDRfgJX2b/n7bs1J01xnPID6JmGoJFTK+lrMVa8Fn2yLXQk8kiIJVLl82FVyVtqXOR6ItAjHnqGf3xJjtl4zuZ/lJEbSLTlp+OjQWUUOcLi8FgWZTgUb8prHbgUti/uh0u9aA01zNh7EFp01UuNmkLe7FBtmjZL2LZ7nUeP2IzLMoLkfbZ89GvPuHoRqF6NgDS/IcoKmSETTpnb5opZ0rBgH5m4/1I01XwXrDHiJ3rrpH2fDly/e+ZPZuto75KHHnKf3PrVuBl6/MAhWUl4Plzeg2r9YTtijNPNNvmvgxXKJdo7jUO1i8Js/fy+wH+uoMPn8HCLDDNj0xCica/Ci3uOX2KzkrwOEenxxeiIaPH4sfHg4bGYaT28qUcTet/eV4YW7B+GLYxcQGWbEb3d/r1kjibjYizsPY/3MVPz2o1IsnJQIloP0XHmopVdDmeY7G34IXD9DS93WbKJcal1QLjUhWvvMI8YqEBbF2oyINBlgNrcm9Nltl2It3lWCID5s6fc8zz/YsZfTNqODrECTnAlSsrazuFwlAVlSXi/RfMfbLcibOAwmmlIFwO5A1G1X2lrz4bZYjZvBsr8qi5Zlfz2GNx5KVDQrjXP0xNv7yhSvW773OBZMGIqE6DCwHItX/nQEgCB9OWOtkEz83/w7dQBUElWNPl0K2o5IxjmOw+2DemLG2m91JW/Ezw4FhdoCGHMcj7IqV7uKcg/D4oODzUUvD8DPsqhy+XQPePyBa7uhRp5MMwEWU1d/jVibSZXMitJfy/cex/x7BqOuyY+X3v+X9Gz17l9kmAGnq5skIPkhZzyMtDA1R5LAu/93Eukjb0CAg8rHhX8PVbyfGNO1PosAwHI8pq7+GoDgYwGOl1joQteqWO7E2y3oHWlGWaVL009PBhtN5D9ry1oQQR0tqQoAMAen0kObNM0aTXcdXSBfbVr2y2EdEZO77dqwJh+nGU9efWAouhpjNcfx8AdYbMoehUZPAJnv/gOxNpNugzfQ3DyxJTsNv9n9PX49wQE/C8xa13xYu2JaCj78ZwUev+1mzbgXaTFgySc/YMGEodhZXI6X73fA5Q0gwkJrxjWbiZY+G4BwmJiTprkmxcb8ijoPoq1GxWHmkvREGGkSYUZKM86HSvK1FANbqg1+rPcEG7yFhnq6hWbneg8jAdLy67SaaERbOw6QuZZrmavx3dqzz4U2HLSlAYgJcPi0tBJRFiPWz0wFAJRVuhTg4iRngooRNjco5yEeOIoNeHIpdbGpaJyjpyT1Yaa1JXHKaz0Y1jeyY2/eZbCulndQBKRcWA+XWDDBgSqXD72jzHjjoURwHIdts0eD5wVW43MNXkUj2MqMFLyzrwyfllZKz/m1D0tR5fKhINOJnhFmAMJ60YuBPKCQowwzkqr9oCDTCRDA3PEDYaIp0BSB2iZBFm3dzFTUBQ+qRV8tPdeIvInDYKRJFB04jUnOBLx07xCYZD4nXwfi/Qj1xb52C7blpKHJz+Le4b2lNbRggkOTlW1JeiI4Hqp6AwAee+8bFM1UNvyVlNcjb3cptuSkSfdVZPquC2l2Ej+nxs0gKswoPT+RAS/GZkLh9JFYvrdMIQdU42aQt7VU0YC9aFKi7oAN24mm1bVML/YmRIfBz/KKZwwI8UhggyBQ42aw+osT2jKowSYlLawud2x/zC4qRozViF6RZnzw5BjUN/lht9KqXAEQnuuMtd/ib8/fjtlFxYi3W2AxUvix3quQIlmVkaIr2UrKmp1EadxeEWaQBIEhvcOxOXsUFn98TGIhFF/bJ9IMWxCvkB/gmGgCP1YziibSZVOSUFbpwroDp7DpiVEAgKPnG/HmJ9rDddnrv8P7c8Zg2+zRinzjUuLepeIlXc1oktTMG2mKRH6mU+EP+ZlOGCgC4Wbl0ALLsQABVRPw0mDjrZb/6MnSBVgO4WYat8TZwPI8KIIATQEkCZ1hvm65xMttreErncFay3dE/O3Dp2+Dh2HB8jwMpNAEfKamCa896ECt2w8AiA03SxLmfpbTXB8GisAkZ4IKOwOam0ojzAZYjbQkCy7+Ti6BJv4sNK6YDdr5SGWjT51/ZDnRxAQwc62ycUnEuDvLQXZHWlfwyY6wK9GwY6ZJvDf9VtS4GMW+XJDlBEUS0ucnJ0Qhd2x/mGgSSyYngSSg8luxtguVTrQYKRR+KTS3kQSkM4uKOg/GO+Lw9F0D8Nbe41Jjf1y4CX0iLeB5Hs+MG4g5MllG8V7o1YoNHn+LTSIEIUgSrv7iBH45biBe+dMRLJs6QrvuZDnUuP2qfHp2UbEwoGFtny/ShDZ2Kg4ad7bmk+vBOgMWpDeEYTGoz+E78v2NNKXaO+0Wg+6Zn/x9xHgQYzUi2moEw7LS3mSg1EOFFAlEWw0onD4SYUZKGoCqcvlAEl0nbosS7VWNPqmJt6qRwbKpI1T3eLwjDiCAi00BmCNovPv3k4rm93i7RartRBWoUGxK3kAvDj+tO3AKz44biMqLXsWw1IA4mwoXE2NiVSODc/Xs/HUYAAAgAElEQVReRePxhlmjWsR+5T/rTNjo9TK01G2Ceb0B1HoY+FgOp6ubsHxvGZ4dN0DTB3pHmhFlIWGkDDAYuv3hcllrrYajAZQD2AzgH0Dn0BEz0SSevmuAdFAgAsUWI4WtOWnwsxwKp98qNffIk8e3HhmBqkYoiku9DZEgCHAc36lB927rmqbnw+0BwziOw6yf3awC7DiOUzQrNTHChLs8aQEgHVg8u/mQlGjIC7IAK9B0zpElG4UzRqLWzSCnqFiVWIrrpCOScVZ2yKE1VZ2f6YTdYlA1ZbX1oOxSinKLkcJDKX0Vyd2yKUl4f84Y+Fnuuk1mxGT6bF2TlOSKbAxRFgPiIkx4fmuzjz2aeqPEXiE+W1GWKfT+8TwUbE0rM1Lw+qffSweCBZlOJERYUOdl8PiYfirAAOBVMV2PJamJYaWCX0rcw00wkITmWu0Tacbn88bCQJEIBKn635mWjDq3X2riS4i2YN72w4r71da1QBBQvZ/dapCkVVhefyo91DqyQOY4Hqdr3DhT09yseGNMGG6KsXbpvbIjYnK3XRtGENCMJ10I4wCgnMiWs1VV1DUzq9wQHQaTgcQzm0pUU34sz+Pl+4eAYXkVw43IBEAQQEGWU5IfEO+VKH9mogk8O24gMoLsJx89+zPNuOb1C7FIOJwWPsOgsyb54ARmvN2CM0FpQTHOGyhSoNTntVlBREk+EdxmAqxunq8HUgQ4Hhn/+7UiHxncM1y3MU5PzksEoDvKrmVQ5Up/t/ayGYQ2HMgZsvQagERZv7JKFy5c9OKG6DAFoxwAJNj1JwdF02qmKPzylGrtvPXICLwzLVkxpbskPRE9I8ydvjGiK7LdkiQpMUL0iTRrMgKuO3AKax67FVEWdd1S1ehTybo8ubGZgSX0MHr2hmKphjHSlG5eLf8UAcAGhvQOx9acNHA8wPM8fvtRKT4trcR4RxxeuncIat0MjBSJOXcKUpbp+V8prlUEneduPyTtNZueGIWe4WasyboV2UXfod7jlw7P4sJNWD8zFQv3HJXy+ZUZKWACHG6KEYKinNlQ77Cwd6QFme/+Q3GP5mw8KE2Fn7/o1WwAtxhJab2K60dgr1bfL6+fBUUCKzNS8NGhs7gvsa/iOYoN5VUuH1ZlpKDoqzOoqBMYGJMTolBSXi80meuwfdBU584x9WLvj/UeeP0cBvayYWVGCp7ceFBi9JPfb9HPxUY38e+rXYyqSUnE6l66d7BwqBJugokm4PWzMFAEPAyP8tomRIVpN7adD0oRF2Q54WVYVd4yZ+NBLJsyQrpeeSyxGEnpIOfVBx3wMKyCSWXZlCS8+qAD/zxTi1UZTszZKLy31UQr5FTFg56tOWkSPiP+/Llth7AlJw2mIFYhMr1U1Ok3TzcxrOTjPyXuXSpe0tXMQGnX7FrNbwYKAAHUuv2Yt6NYsaZtJgPe/ftJxXDMu38/idceHKbCxlZlOmGktJvOaZJAfVNAtXf1jjTBZqawOTtNYvIKcOw19zw6o7WGr1xtaw/OcuGiT+FbBVlOSQFExM925I6W/DLcTGuuj7pgLBKxM7nF2y0gCAKnqt2azQFi/JK/PtpqlNZDvN2CuKCcZOj6EBlp8yYOQ/9YKyxGGhzHYVL+V6qYumCCo1MdZHekdXaf7Ci7Eg07DMsFY7p245c4GGiT7d1iXA61GKsRm7JHob7Jr1gzBVlOPHnnLXh6UwkKp49U1GDyYSbx7CXe3jwQPTjOhq05aQJ+ImOT08vZjRSJXSVnsSUnDecbvIqBFGFtAnm7S7EkPRHRNqGWI0nt5m06iNlrPQNxPqM9vmgytIzTdLbmk+vBOgMWdLmHMPTe324xqLCCgiwn3vrbcc0zP/F9lv31mAr3FYcLC6ePVJwdiRgiRRA42+BRnFOJZ0ddDS8G1LG53sMo6ufxjjg8c9cAiVFdGORwAoBUx+dnOvHxv85h2ZQkuHyspopW4fSRmL/jMErK6xFrM2FgnA3z7xmM8loPzAYSs//rJqTfegMokgBNkdhZXK7Ap8W84dlxA6TYKb7/qWq37hmf3PTWw9Uavrxehpa6TWiIO1HrVp2b7Co5q8KrRLnUbna4y2+t3eFeAH4B4FEA0wB8BGAzz/PfX+4La8m8AU41Of/kxoNC0urxI8ZqhJGmUJDphMsXkGg9q1w+HD3fiLzdpQpQqaUNsbOD7t3WNU3Ph7e0Q0aF46ECXOduP4TtwaaY5s5/aE7xnKlpwoCeNlS5fNJ7yg/vOBB4OzjlJP5djYuRZJzEzwxtJuuIZJyXyV/IJW8GxtlwvNKF5XuPS9OC4vdsj11KUa4ljfHctkN4/8kx6B1pue6TGflzFyf/4+0CE4Y8mZWzV4jPdv49g1SHIwWZTmz95ozC/97ZV4ZJzgTpQHD2hmJszk4DSUCVeIuHUL+ZOFQBemzOHoXCGSNRUeuRiv34aAusRhI0RSrkU996ZARYktBcq5uzBXCiiWExsKcNseFG+EIkFwuynIgNV/pAW9eCgSJhCNl3DMECAQACrM5UOqdmJ+zIArnew0iSAfIiMCrM0KGsR1faOiImd9u1YTyvHU86u8xZqMmbv0MPXEVmFVG6Rp4HAEJ8ONfgRc9wExq9Ac1Y0yvCjB/ONWJQLxs2Z6fhwkWvij1oc3ZakJlWiOM2E43KkPixbEoSekSaUTh9JOLtZtBB2SqfzprcnJ0mvDbagjWfn5SYfuS5+9LJSZoNQHJJvtbyfC2QoiDTiTc+Ukph5m4oxrbZo9EnyqL5HFgdOS+2g+UV7BaDJhOKXXZY1VXtSgNG7R2cCG04kEtn5u8/oWKcWZKeiBqXD/PvGQwTTeJ8gw8BjlNIFJ+rcytYjeQN/j0jzBjviMOnpZWKBjzRtBjmfrnln1j48HCJuaB3pBkWI6XZkNXZrDPIwbTXYqxGPPeLQdJ1j3fEYf3MVLiDrH0My+G1B4cJbFQa91+vTpEfPsv/La9hYqxGJERbVADbsilJqHYJkqPxdgtWTEtGgONw0cvDYqBBkcCD73wp+dvjY/oppBtXZqTA59ceAqr3CDIyMVYjCjKd6BNpAU2TiIswYu2MVJgNBPpGDVTFpwUTHGA5oK7Jh1o3A7OBQq8IMyyGZt8Xa9NQtg6C0GZ+FqfCF398DK8+6FBIF8aGmxBpMqKBDiBv4jDcGBOGijoPKJLQbKCjSRJmmoI9msa0tJukBm/xs+btECRpj1e68Pa+MuTc3h8HTtagvNaDF+4eJO2HHj+rasbKz3QiztY5/Vc0rdj7zrRkRb0j+jZFEqr7oyWDuiQ9ERYDCXuYQXo2cqyuiWGRn+nEhyVn8WByH/SJsqCq0YcTVS7sLC5Hzu398d70WxVMQgWZQjOIWJtZdJiJOJ7HO/vKpGYkA0XCZCDgZThsemIULlz0oc7tV0kPP7ftEPImDsM4R2/k7f5eymnkEr3yz9FjDiMAKWbJ761e8/SpaneHxb1LwUu6mrVUy/1Y71Wt7/49rBLjj4g1FH55Cq9PHKo5HEMS0JTLzQ765Nk6rxRr+trNMNCk5t61ffZonG/wqa4n4hrI1zq7tYavXG1rK85S7fapFEPe+ttx/PqBoZi5o9nn5OyWEWaD1OwLNK+PopmpilpXZL8RGnXMMBlIqQm/pUNncZ2I0utDeoXDbKTAcpzm+vjfL05J9egX88ciNtyE/9S6NWOneL5zLVpn98mOsivRsBNgeRDQzg05Hph/zyB4/Rzm7TjYtr2Vh2pPmV1ULA1fuHxKjESfHVwYwvt3tVtRF4issfUevypHXDEtRRoypEhBArbRG8BL9w6W1qbFQKFw+kis+eIknrrrFsy/ZxA8TEC13uKjLTDRJI5f0FY2EQfD2+qLHMfDw2jvt0VB9vNrZTCvK1lnaLC53EMYeu+vhRXMLlKy64s/ZwKs9D6vPTgMUwqUjdjiflfrZrBwzw/SgM/jY/ph3YFTcPSOwHPbDqn+ZmtOGugu2BUnj825Y/vj6U0lChn2GJtJYpwFxEEj4RzupXuHgABgoAncm9gbVhMFt4/TjIMUSWDplCR8dOhH3NovWjF8tOYxJzJG90NlEE/eWVyOZ8YNBNDceLdiWgpWfFaG/7lviOr9l+8tw6qMFMW539LJSTAbmodW9NbD1Ry+vF6Glq5n8/tZeFg/Gj2cauBVxEkWf3wMRbNSARAw0SSizd1yqVfKWrzLPM+zAD4G8DFBECYIzXH7CYL4Dc/zb1+JC9QyVgdoAi9MSsTaTHh23ADc1CMMjb6ARGUqpxqWd4jXuBlEmGm8+sBQFSV4Zwfdu61rmp4Pc+2QUfFznCJZEWl7/SFNMXaLAc+OUx9ExNvN8Pk5BQvbzuJyqYiiSELFMLc1J0230BOtI5Lx0KJZlLyR0/O/+sClTx5dSlHuD3AYc3MMsm+/WQJC13xxEv4A153MQP3cxzvi8PL9DtQ3+VGQ5UT+/hMoKa9XTcKVlNdj3o7DWDZlhHRwEm01wmIkMSGpr3SAZ6RIPHPXAMVnVtQJUhB6TRtMgFNN8J9v8AHgVU0ZFoMZ/gCnkE8Vn7Pee09d/TXi7RZsyRmFl+4dIh0eiq+ZXSQUC4+m3qiY9m3LWuB1YoH4c4POVLqBVANoHVkgXynWoyttHRGTu+3aMD1f6OwyZ6Emb6oIPXAVJc5ibCYQAApnjMSMwmYW1KWTk7Bwzw94+f4hiLQYNGNNVJgBG78+g4E9B6DWzWiyBxHg8cxdA6Q4zvG8CkR6btshoVln1xEsm5KEMCMtyOLpPAdfgJVeO/nWBNQ2MaomxrnbhffMmzgM/XpYEWak4PIFFJJ84mv18nytfd3PsirW3Yo6QSJLzww6cl5asfqnWJ3Hr2hArA/++1qQG7rSOVZ7Bye05DrEPRcAekeZFc0fIrOUCH70tZtR5/ZLU69i/uT2BbB+Ziq2fnMGtw/qqTigXzEtBc/cNQAWo5o1SatRrqLOAwNFYnbRNwCAL1+8s8s0sncGOZj2WqjPslwzA5uYg+k1xAFQNFYC8phtlHLqKpcP9R5BIk1ew5AkgZuirbAaKRTNSgXL8ah2CQ1nLl8gyArHw+vn8NSmZkB67YyRWPjwcFhNNGJsJkxb04yJxNpMqHExuCE6TMXytiojBb/e9T3i7Rb0ijSjV7gZNE2C43ica/Ahd0MxFj48XJIsBZobirfmpOHHix5F0+iax25FXIQRG2aNwqlqN/b865wkhyVvIimalaq5N4kH9CXl9Xj9w1I8O24AeoSbcNHDIMxA4WyDcDi651/nMM7RE/F2C0iCwMI9Pyji5+KPj+EPU0cg1mbChUYvqhp9mn5Y2dgsNfWr+x3S1O+9w3tjyeRElNd6UN3owwcHz2LtjFQYKKJN0tudwUiSQM8Ik9RAWFbpgssbUDxLcU98+X6HbjND70gz9j5/B0gCuOj1o9EbAECgXw8rfveX5nWxdsZI0CSBuiY/fjG0J1xeViGPs2hSIlZ/cQIzf3azVDPGhpvgZzlwvMAS4/IFEOD0mzc/La3EnLG3IMZmxJkat8Kn8jOdMBtITXwlKswAjucV2Mhnc+/QZWRpDWeQxwiO41SsuwWZTqw7cBoFWU7FdbQ37nU16emfYi3Vclq1647c0ZqqCzwHfHHsgqr5rV+PfpiQ1BcVdc2DdROS+oLleDQ0+VXYQoRZu0HCz3LXZC3dFaw1fOVqW1twFo7j4Q9wivpKxMnIkGZxueJGa0M6FXWCxGKoH4cH/Xhv6QWsn5mK2qCEunho3cNmxI7c0YrBqAMna/DBk7cJ71vrhRb29lBKX2wrrlDgV2YdjDYu3HTNDht3dp/sKLsSDTsGitRlXaNIAvN2HMbSyUltqilq3AwqdfK+qDCDtDfLP0ufHZxSNe18WlqJ0nON2DZbGLp8Z1+ZIq/5sOSs9JoduaNRr7HHhBlpzFj7LZZNSYKZJtEr0ozqRgZa6y3cRGP53jKVAs+qjBRQwZSgrb5Y42bgDWg3vrBBtv7Wnu31lJtcKessZ1KXawgj1Gd6R1paVasK9cHQepnX2Rf7RJphNlB47cGhCDfT+M3EYfj1riN48s5bdHPNACcM23Q1k8dmsbFXPMsC9M+A/SyHx977Ruq/uCXOCo4T5AULp4/E8r1lEjlGvN2CskphuOnXDwzFI6uVGEN9kx/Z65troBXTUrD7nxX49QNDMf+ewTjf4EWPcCMmORNw4aJPFWerXD64fAEUTh+JBo8fNcGGRgAKNlqt9XC1hy+vh6Gl69W83gBqvX74AixYTrthP8piQJXLBwNFwt4tl3rFrdXWw2Az3P0QGuJuArAcwPuX97JaNr1mAJokJP3qUKnFRq8Absr1qJkAq+gIltOLi9bZQfdu65qm68PtSKJMFKmSKVmSnghTyHvUehiVhIh4EEEQBL44dkECfjmeR6M3gAW7jgRZW5TXqEvtrQPyXmoyrlU0i02tWp/ZXruUotxqopA5+kaFfOrKjBRYTc1J9fWczISC+9VuRmIMEJ/fugOnEG01qCbhlk5OAgAMiLPBRJN4/c/f49UHHHD5AqpJ2Xh7MxtPvF2Qz2N05Gu1JgV72IyqKdnnth1C0axU0DL51EWTEuELcDAbtME5iiQkVrkalx8cz2seorCcEpTQoufXMh7ARa/6+/cIskqQBFTsM0snJ2nS23dkgawPqLb7rTqVdURM7rZrw0idw8yuBtTJm7/lbFVaEmerMlKwbMoIcDyPeo8fC/f8gCqXD14/CxNNqmL2okmJeOOjUuTc3h8Aj3CztpwZTZGKOK6XZ4uSPM9tO4Qt2WlY/PExrMhI0T7UbvIrXiuX2ZO/5w3RYQrwowfHg6a0WV308vzQfb3yoldiUBBjfJXL12KcMFAEnrlrgGJycVVQzqsjjQmwqkEG4KcNEHQmu5I5VnsGJ7SmSwsynehrN2PX02Nwvt6Hyos+zFj7repveR54dM3XCnljkaFLnj/lZzqxfK9S/uOpTQex8OHhcPkCKobAWB2pKq0Gqq5gnUEO5lJM7rMcx+ONhxLx6gNty8EoAtLBlVbMXpKeiDAjhdc+LBV8LsupqGFomkTPCIt0eHBDdBhe+/CIFB8KspwKud5YmwlVjT6p2Ukeq7XYOMWmzGoXA5cvgCqXDwWZTvS0CQzeVY0+MAFBwjLWZkLvKG0pYJbjVazn2eu/Q97EYZix9lvJ/61GWsF+U1Hnwe//clTl+3+cOgIGmdRNlcuHGJsRJHjQJIkpq79WrNMwI4kV01JQ62ZQ5WpubgNE6SoCtR4fGJZTMO7IX+MPNkWLWNSukrOYmNxXxV5aVunCz//wOb588U5dZtHOaB6GxYy130o+8/ajyYp7IMask1Xa0jWinNC4P3wu+ZLoZ3Jfig034Wy9wGpZUedB4fSRKsY2caKaAKRnNfu/bsIDI+IxvfArxf0OZYsVcQQxj+hhM6maT3I3FGNLTprmeuthM4IilbWCnkSv1USpmWaznOA4DlWNPmn9y2NEbLhZUacZKOChlL4a8r9tj3tdUXr6p5iejKme7KNW/Jm7/RA+eHIM7k/qq8J8TCE5rfhM7Faj5sCHnmwyqcMw2NVr6a5greErV9vagrNUu33gwWv6YqhUaUl5PdYdOIVts0cD4HXrKvH/T1c3qf04Ow3jHXGYmNxXwR6bn+nE+gOnUe9h8PRdA6ScQo6rnmvw6GNvM1NV+BVNEVg2JUlaT+Lai7DQ12TMAjq/T3aUXYmGHZIQsN7Qfbkgywkq2DDaUuOa3JgAC69f++wj0mLAM5tLJDlW8bN2FpdrSrSLa0FrbQdYXlJDibIYUONmsPqLE5jkTGh+Dac9VLg5O036/605aSAJIacQZdflr92Sk4Yql09S4BFZl71+DmSwKbWtvsgEWNQ3aefEYUZaIh/Re7bXW25yJe1aPZMKBDgcq2xUDI/IfUYPK5DviVq5uNbfjXfEgQcUOWB+phNzxvaHh2Hh9Xs1P4vjeXAdrARxJUyMze8/OQaMBiO83hnwmZomqf9CZNILlaEVB0HFgbHHx/TD+Qav4r1yx/ZX1WNPbTqI9TNTwfM8phd+iyXpieA5HrOLijHFGa9QV9hZXI7Hx/TD4o+P4aV7B0skF6LNWPstvnzxTt110RWHL7ut85vXG0BZjRtzgjiVVn9FvN0iMeT36JZLvSrW4mkvQRDrABwAkALgdZ7nR/I8n8fz/NnW3pggiASCID4jCOIoQRDfEwTxy+DPowmC+CtBEGXB/9rbfdEEFM0RYsAlSAK5Y/urWCByNxTD6+dUetQEQUiJWHJClMSGIbeuALp3W9czPR9uTw3A8dCcJAwd8PH6tTd5j5/FlIKv8MCIeOwsLsfU1V/D6+ckMHrNFyexKngoLV5jQrQFa7JuVfxMq5lMTMb72sMkidP2mLxo/vLFO7HpiVFYd0Cg2G9LA1t73/+DJ29rtQhr0qEIb2L0GWKuNxOfO0mSmtSw8+8ZAh7A5z9UYnN2GvbNvQOF00diZ3EFJhd8hcfe+wYcDzwzbiA4ntD0b2H2BLKD4jLsLb2AlSG+ujIjBb4Aq4rpLK/doc9yQhGzNScNCyY4sO7AKZypaQIdlFQKXatVjT5MXf018naXItxMI8DymH/PIOTtLpV+Pv+eQQpmCfGwr8bNtHov/TpT7f7gAidJEu/+/SQWTHBI1/zu309KoIbes7nUNSmaOMErt3i7BWYdtguO41HV6MPZuiZUNfo6LfNaR8Tkbrs2zKCz5kPlJDq72S0GbHxiFHbkjkbu2P7Yd/Q8NswaheWPJqtiy5yNBxEXYcLc7Ycwu6gYVS4flqQnItxMw+ULIDbciMLpI6WYvSs4vdzDZkJ5nRdfHLuAVRlOVQz2s8o4JjYVyE3erFNRJ7AUVLl8urFXbECoqPOAA49eESYUTh+JrTlpKMhyIjkhSmrIk8c6kiRgMdAY74hDQZZTev14R1yb8nyO41HjYrBg1xEpxv/qvsFYO2NkixJ4DMurGEvnbDwIpoNPP406sbm7hmm/iYMTreW6gHA4qZLr2FCMkv80wB1kOdLz+zM1wuFjXLhJ+nu9OlY8HBGtos6D3lEWQeLjT0eQN3EY9s69A29OToLHH8DSyUmqtZO//0SH5NBX2trzPDqrtTcHI0kS6w6cQuH0kfjD1CTNfDDcbMDL9w/BpidGYVCcuoaRf2avCDNeuncIts8ejc/m3oFBPcNbBKTlPqvlk09tOohqFxN8fwvefnQEGn0BnG/0oqKuCS9/ILy+ok6QYvlPTZPmGiBJAgsmOJCcECX9vKKuWQJV9H+/xlT+p6WViLYasDk7DXufvwMLHx6Ov35/DlFhRmx8YhQ+e+EOLElPxDv7ykBTlCoOz95QjLP1Xqz4rAyDe4djVUYKxjvisCN3NPa/MBZbctJABlmiTlc3YWdxORZNSlTtczazsK8sm5IEluMxztFTk7107viBKJw+EizPd+p8ONTEvUVkHAo3N+NlyQlRWJwuNG+KDCTy+7NiWgosBhJNDIcduaOxbGqSri+5GVbCIAAgzKgtgRpjNUo5Q3JCFKam3qga/pu7/RBc3gAWPjwcn70wFnkTh0nyrEvSExFtNSDAabOcMAFtFq+z9V5UBw92xO9Y+OUpxNiMyJs4DFtz0pA3cRh6RpgRYTaqcIy3/nYco36/Dw+t/BLHLjSqnn9ojGCDbI5LJyehIMuJ2GATX6AdfqPHftCWOrQrGqWTN1LBYRe5xdstujK3vgAnsfaINfY7+8rg1fGNlhjqBHWG5uvJz3TCaiK1a2lD9yDW5bbW8JWrbW3BWbx+FrwOTubneKyfmYrC6SOleui5nw8CTRIgCP26Kt5uwapMJ/b865zisyvqPPBzHF66d4hmbjrO0ROfllbinX1l2DZ7tApXNdCkLvYm7v9y/Mof4BBuobF2Rir2zb0Da2ekwkgT8PmvXbz1Unyyq+BrodZReKT++5N4e18ZAKBoZir+9vzteHNyEnpHmkEGm9rFXKa1msJipBBuplVrpiDLiYV7jqKizoOS8nos/viYVIM9mnojeoQLTMefzxuLbbNHY0CsTdG0I7d4uzBo/fiYfgoM+fEx/dAn0ozkhCghb9TZY+SYSIDjYTFQAKG93sT9SBwAmbv9EGJsRvSKFFgYOY6XmK7EvFzPFw00CZ7Xxk4pAq0+2+stN+m2n2Ycx+PHBo/qfEnuM3pYQZ9ICz548jb843/uwpacNBAQGj8rG724cNEDkuBREJKnvXK/Q3Xul7uhGD1sZszbcRiL9vyg+ptFkxLx+78cbVeO3pmMJAnEhZvRK8Ks+m52qwHLpihxpVUZKVi+t0zCCCY5E1Q5wrwdh7H80WQsmODAm58ck+rjUFxMT3a60RsAQRB4+9ER6BVpBssDe+fegTl33oyTVW6YaBL9Y2341X0OWIO4gdj0LLd4uwWGFpjZW8JQu+pe221X17zeAGo9jNQQBwgSv6F75qqMFDh6h+OWGGt3Q9xVstbuehYAN4CBAJ4lmvWxCQA8z/MRLfxtAMBcnucPEgQRDqCYIIi/ApgOYC/P8wsJgngJwEsAXmzPRfsCHBZ/fEwtcTElSTeg3hATpugQX/PYrdK0iDi1uuSTH1R0wl0NdO+2rmF6PvzWIyPa/B6cziRh6HQCRWiz3lAEISV4W3PS8Mr9DvBoLqLKKl0AIEk+NTEsSILAgDirxAbG8gDPCzTGHT7p9RMYFtr7/m2xAKsNnrckm3a9mt60hZEisOfwj7hrSC88uqaZrUFkUBAbly0GskX/3jf3DnA8EGGhUeXyIXdsfwm8FtfTO/vK8Mr9DqzKSFEw9Bhp7fVQ7WKQEExQjBSJF+4eBIuBgp/VXqsv3TtYuqaFe45iwYSh0ncSfz5vx2EsfHi46ju0ZeqkNQnHGKsRCyY44AvwIAkgJshSp7dfdSRFvRYrgt5ndpUpwI6Iyd12bRgPAQiV730WI4WuVAJzHI+yKpdi7a2YlkmdPS8AACAASURBVIKVn/0bk5zxurE1b+Iw9LAZJZm9Wrcffe1m1Lr9isnMpZOTUO9hQJEE+kaZ0TeqN/J2f6+KwaFyanLGOvl7ifT2IjhckOlsNfYKh0QUqlw+1USzxUiBAK9gZAH05eTtFkOr97Ta7UN2kRLAfW7bIbw/Z0yLEnh6exnfwZOkMVYjNmePkvYEjgdMNNFdw1yCtZXNgON4NPlYqZbMHdtf8tX4aAvqgqyGe0svYFWmUwJGRBDk17u+VwxlVdR5dOtYLfmP/wSb6irqPBKrVuH0kZi/4zCAoFxEnA1mAwmaJPDOtOQuKVHTWeRgrqTFWI147heD0ODx6+aDNEmgT5QFPM+jzuOH3WJAnceveY+44OBHgOOQ9d43WDDBociFQ/1OLrmm55M3x1qxYt+/8VBKX9hMNJ7ZrmQTFQ/aoywGLNyjxlhWZaTgmU0l0gS5KLsmb5SWf1et3B0g4AsEUF4rsNE8MCIeb3xUiknOBMRYjegZYUaUxQifjsxTr0hzkD3vCF6fOBS/HDdQIde5JD0RPcJNOFJRj8fH9MO6A6ekXLuHzQQ/y6KizotXJjjgC3D47Oh5DOkTpflZfe1hyHq3mQGys+bDoSbfW0w0AYokJPbvx8f0Q4PHL8UhOQNJXLgJv99zFK9McKC8tglRYQZQpCBNKr8/FXUe3BgTBjejrB312Fxiw01446OjAISGzVo3o3m/I8OMsBgokAQwsKcNKzOT4WU4VLsYmAwkwEPz/bVYxivqBP/iAbh9ARTNTAXHA2EmChYDCauRBssDZgOJHtbmw+DYcIGB8aGVX6oO8lqS5eE4HufrlbmNuEb8gbbjDtcb+4HXz+rWclq1K6UTVygCKsaLRZMSQeg0G+jFJ5oiNWXtf/vQcKzJulXKKePtwtBpjy4iad6VrTV8pTNYazgLRRC6DZ0sx+OupZ9Le6zXz6FnpAkehkVtk19zfSydkoQFExx4e+9xZP9Xf4xz9JR+v7O4HAQI1Hu042xUsH76tLQSrz7Ao689TPEaAwVd7I0iCfSPteEVGX5FEATcPha/3CLLlzOdoDuYXbszWXt9sivha1fa5PiocPcEnCLKIviXyOD65idCI1u/HlaEmSjFvi1agOPx1KYShRJIE8Mi1mpUsLKXlNdjxtpvsW/uHbCZaDT5WJTXNktse2NY3BRj1VWqMVCklFuK627dgVN4+X6HxFq7YdYozTVEEs3D4gSE84rzDdosVlr70Tv7yvDb/ydg1aE+Jc/LQ33RQAE9wo14fushVTz54yMjVPhLqF1vuUm3tWytnVO0JGUs+kxLWEGM1Yij5y+qsMwAy0lrXIwHJpoEo3PuJ2J6FXUeRFhohe+La+WV+x2X/4ZdRqNpEj1sRsV3e/3DUgBCo3Flow/1Hr/EEi9iBHpYAcfzEous+Bo5xlBR59Flogs30/D4BTbLrHe/UeQEZ6obYaQjFed8S9IT8cHBs9o5FC/4mVZMslsM2PTEKFTKmOee+8Ug2C0GVVxcPzMVNjMNf4C7LvCobmuf+XwBBPgA6j2cKk8Xm+iLZqaixs0gKswIHjwiTYbuhriraC3eeZ7nL3lcjef5cwDOBf+/kSCIowD6ApgIYGzwZesA7Ec7m+IMFKktcUGTugG1zs1gwQQHBvcKh5Ei0TPCLHUoyyegqxoZCezsHWkGTRKXpeGn265v0/Ph9kj1tVVOyGKkNBOD8xe9AIRk5VyDF+n5XykoPXPH9ldM1YvvL9JhX8li/ErSQOsl5brAaXdcUBmh04hJUySm33YzJhd8pTgcmLv9EBY+PBwvvf8vkAQwvfBbbJg1CuMdcRKVvAjMAZDAvoIsJ1ZMS4af5TVl41653yE1eojABMtxmofTRpoAQQBTV3+NeLsFy6YkISbOCI4jNNeq/MDu09JKvBLS/CF+N3OIHrzWGtUyg46/GWQHnL4ApwBdEqItmsl+R4JnnhYOHEJNbwqwpYOgq2UdEZO77downkeweSwBYaDAsBxWfvZvvP7gsKt9aW02rbX31KaDWDDBoZsngxcmmF64e5ACYCjIdOKtEOnGudsPYcOsUTBSBGiaRENTQDMGv/bgMEUc53geNpOy4VBkxhBzEzNNwhphAg/92CsCIgYaqqnReTsO483JSTh89iLydpcqYl1d8EAy9IDyjYcSW41JPh3WXV8rB9Skzn4oGzTqEOM4Hg2egKrhr3eENgDUbS1bW/LOGjeDU9VujHfEqQ7Q8zOdiIswIt5uwThHT7y99zgWPjwcvSLNMNEUzjd4hYbOCQ4s3HNUAgdbagSRD3flZzqx4E9HFNdTUedBg8cvNRb1ijQjPkom/Wzt8Nt0xexalYPRMxHcP3/Ri2PnG3UawoApBV8pfGL53uP4tLRSkecBwI8NHpTXeqQmm9YAaVFyrXD6SNCUdgxzeQPIHdsfBAEJrAaa2aGXpCdi0aRENDGspmSTyxeQhmFEWcy83aVSw6j8s87Ve1UN1QVZTpgNJCiCxqBe4aAI4D+1HpVc9YppKQpJVfn7mmgKW3PS4Gc5BFhIDXHi95i34zDyJg7DhBF98PzWQ/jDlCTUe/yItBjwu7+USvd6VUYK3g4O5wAEduSORo2bQf7+E9J6PF3tVuXD7z85BnHh5o52nw610L2lcPpIbP7mDObdPRgz1n6raLAsKa/H7KJixNstyJs4DL/8+UABgwtpXF/88THp2cfbBYYsI00q7lv+/hMq/CI/0wmbSWiGB4QD8Bo3o1kvRphphQz1qkwnekYYQZImnGvw4r2/H1c1aq6YloLzF7UPlMtrPYgNN2H/DxdQ8H+npfxoUM9w+FnhkJeAeq+9lMPfGjej8sUXdwq+2B72164qPX2pRuvVciShWbuuykzRxMg4HirGixd3HsbWnDRNXzMbSNUQ3qqMFNAkdGTtOZgMpCIXNnWzxF0Raw1fudrWFpzFYqTgYVhNXxTnbSrqBFbqBRMc6MOYYaQpVDe6NNdHWaULs4uKkZwQJQyFbWuWQV2ZkYIwI4ljF3ya903Ew/Tiis/Pa2NvmU54mAAq6ryIl+FXAY5XMIZW1HkwZ0MxNmenwR6CcXXkwOfVtPb6ZFfC1660tYSP0jSJW3pYsTUnDQGOB00SiLOZYDBo74f+4DBFRZ1HsWY+nzdW83mVVboQF25EVaN6WC8yjEaM1azZtFPV6NVswqbJZjZII01o7lViw+mSdKFp28/xeL+4Qr0fZTpBU9r70a/uYzVZz+V5eagv+vw8CB2c5ofzjSr8JdSuhdzkWok/V9vack7BBFjp7L4ln9HDCuo9DCov+oJDvX7k7z+BudsPIW/iMGmNi8OFeROHgWHVEqLxdmEITfw5y0Fq9pK/xnANnB2QJKn53U7XNGHG2m8BCEzdS9ITJfxAD7+qavRhxbQUPLXpoPSakvJ6CROIsRqlml7etLhoUiIW7jmKVyYMxbwdhxXNydWNPtw9vA8m5yvPFOftOIwtOWngeR4bZgnDSyzHY80XJzFlZAJq3IwqJmkNkhdkOnFLDyvqPH5FXIy1mXDhohePvXdY11e77fo1rzcAhg/gP7U+5G4oVg2gAkCVy4fTNU2IDTchwkwjwkh3N8RdZbsiEZsgiJsAJAP4B4CewYY5sXEuTudvcgiC+I4giO+qqqoUvyMJqOg7l01JAgDYTLSK7nNJeiJoisDO4nKcrHKD43mpY1xkgpODwLOLipGe/xXONXhblDnotm5ryS7Fh9uzl0aZaawK8fVVmU5EhQTVKIswKS+X9rAYKSz++Jj0d5EWA7bmpMFsIKXr0uv2F5PSzkJ53ZGUtmJS/tDKL3Hbos8Ua58koaJaXzQp8ZpOgFry4ZbMSBFYMS1Fda8oAvDryNX0jhQOI+qDjANefwDz7h4EY7CwMFIk5t09CB4mIP3N7KJiRIUZERVm1JTEo0gCT20qwYy132Lq6q8xY+23OF3twdvBpghREuXtfWWoamTABHjpvZ/bdghehtOk4hZlyEQTmyPF18h/Hhc8yBb/3Vb2UbOR1FzfZqNwP2qbGAl0mbr6ayzYdQRVjT7UNqnXoBbQkb3+O1S7fa1eR6gZKBKx4crrjw03ajaPdYYpwLb6cEfE5G67NowkgBm3KWUsZtzW76r5wqXEYb21F2M1oq/djLceGaHw9ZUZKah2MXh23ADVQeBsHelGggBirCZ4GQ5napq0YzDBK+J4bLgZszccVMTkpzaV4A9BloLFHx+DJ8CBYXnEWI0q2akV01LQJ9IsMRq4vdr7SWy4Cfn7T6hiHcdxmhIlHNc684rY3Ca3eLulVb+gCO3coaNJDypdPpWEXO6GYlS62h/nL4ddaj7RmY0JsFi+twy/us+hKSvFccCKaSmICbIKZL77DX7+hy/w7OYSGIIHHOLvRHCwT6RZlT8tnZyEFfv+jbyJw/C352/HggkOeIKNRnKLt1vQJ8qikq/qto6xK+3DJEmgV4QZt8RZsTJD6RMFWU789qNSlc+JsVpel4kT9nI5Sjkg/fm8sbCZaJXk7uNj+mHJJz+A5XgUZClj8eosJ0wGEo+99w0qL2pP75MEgTc/OQabiVZJNhlpUqpDxdcP7hWOzdlpiLEZ8ey4AZL0W36mE7/7y1Es3PODIne3hxnw0s7DyN1wEGfrPKhyMXD5AiqZ1Kc2HYSRJlU53sqMFOTt/h5TV3+Nl97/ly4zgCDlSiA23IjjlS7UN/nx2HvfSAeLYvPBY6NvQn2TH4+u+Rrp+V8hb3cpXrh7EMY74iSZmdD39l5hSbhL8eHQvWX53jLMuK2ZIU5LikxoXqMRaabx1KYS1aHFs+MGSK8tyHLC5QvgkdXK+xYbboTNRGP9zFRJun39gdNw+1gJ04i0GHCuzo15dw9W1ov3DMamr0+rGivAE7AYKfSONGOSMwG7Ss4qfIqmhOYprT17+d4y5G4oRvqtN0jv+dbe4zjf6MWZGjeO/HgRL39wWIUZGmhtqcyWDn/1crh+PaztYn/VqmELMp2gSHRZXLMlH6YIbTk34aBUXbsSgEr+NsZm1GXh4nheE5tgArzUFCvHFvwsr/nsCYLAwj1HwQTVBhiWw8I9R7ul466AtYavXAlryYfbgrNEWYww0qSmL3r9Ael1Yt1HEMK5x40xYbp1VUGWEy/eO1hVRzy58SCYAI+dxeWqPGRlRgry959oEd8KcLw29rb3OE5WN2HzN2dAEQR+bPCgqtEHQHvtMQFOgVu1hNl2NWuvT3YlfO1KW0v4aCDA4VilC1NXf407luzH1NVf41ilCwGd4TY9Sb1zDV5VTrxokoANi/KKoTmPhxE+Q0s+ltVpwhb3oeSEKHAcYDZQKJw+En9++jYJM/GzzcPfBAHQJIF7h/dW70d7j8Mf4DWxmvMXvfDqDP7FWI2avhjgePzuL6WauZIW/hJqelKXV5rd/lL9uKPiT7c0Y9ukdI00hZ3F5Sp/K8hytuozHMfjXL1XiglSjWEzBeu7ZhNrvr2lF1T73apMJ/b/cEGqlWlS++ygg2deW7XLEYv11ueNQfU9QMhLekdacFNMGDY+MQoHT9do1oKrvziB1z78XsK4xPtaUl4vNNxSJOqbGNBBOXUxZr35yTF8WloJ9v+z9+aBUZTZ+vBTVd3Va/aFLQiIEQiYmDSEgHMdhDuOzKAMBnCEgCyyiMsdx3GZOx+jXuT+WOQybiwyI8gqCM7V0QFnxO2O6KgRZTSCyCZhSxOydbq7umv5/uiuSlfXW53uLKQ79POPkqSru6vOe95znvec54gicuwm/OangxT+dvHrX6PW5UOOXV0AWV0XiCOq6zyo+NOnGLvqA8ze9BlmjOqHnBQTVv/9iCbOJtnfgq2VONfohRh2brlwzECNf0+OfW4/4jWeiAVeL486zoc6t6DE0Xr8iDwuNTfVnCyIiwN0+hOgKMoOYA+AX0mS1BitMoIkSS8CeBEAhg8frooOOF7Eq59XY+OsEWBoSqn+vXfsNbjk9sHAsEpwKHdXOV0cNs8pxUO7vsIzdxYDUHdhk6qaZeeW7L5Joi1oiw3fN/aaqK/vbPYpBIPcIfjc/u/wxG3D0Du9JYGjaQr9s2wwG2j4BAkUBSx9q0rpXF9b4cDuz39Qup6fn1aMXfPLIIE8VoQ1MHGRjAMdLx8fqfNOFIEPj1xQPbPdn/+A/lkDOvprxQ0i2bAeRFHChSYOfz10RrlXRobG/qpzuLZHChhR0rErGrQPynNMtRhxqtat6bTrl9UylqG6zoNLzT7QFHD/uGs16m9GhtLYqZVl4GxSB67OJp9G0a26zgNB0kpx0xSFS82cchgtJ0A2E0OUxO+dZmnTyC+3TySu79/fOhSZtgCBTiJdXplfprmW1y9g9NVZmHfj1Sp/05bDuBwbq73XFQ7kEBLSeOgCjNaGO8InJ9E9wOmM7ZRjx8uNtvhhvbWXZjFi37/OYcL1vbFpdqkyZpOiJKRaDMgUWeLeThrdaKADKnGCJGHvv87hvrH5WBTWlSyCwkVXi0rM7oWjiNevaeIUdRlIgCCKAeLYzmLT7FIwNHCmzgO3j1dGhTibfOB4cienyUBj1dQija/TI553LRjV6j2VC+PDO7lDxxOSOoZpmjwWZekk8tjptsIf5yPe22LH8Q42OL5X0jvEEyS88N5R/PZnQxQ7lcesUqDQL9MKKlhQLzdlAcDNBbnYOGsELjX74PYJECUJuyqrsauyGjvnlymKHusqHCplwPUzHOiZak4WwnUSusqGXZyA54MHXPJIUBNDYe6Prka5o6+iRlZd1zLKDFDnZbXNPrAMrfKXMiH9/J3FYA00Xngv8B49U83IsrMw0hSWTipU/H9oLCuKIsqDHdp63eH1Hj+cLg52swH5OXbl9QDw5F++UZTC5L+X1SWWlxdix6ensOQXw+DxCUi3GOB0cUozjPz3W+aWYtFN14AL+ndnE4d+WVYsnlCg3BP5Ppyp8yDdasTTU4qChTAmrNj3raqw7YdaN/F7uH0CTl4MFF55/QLsZoNuc89dG7WKeRtnjcBFF4ecFBbrZzhUqj6XeyJcW2w4fG+Rx3+8MK1Y8V2hHf+5qWY89eY3+FtVDd759Y0qvyd/94G5AbWWeo8fWTYWk8O6/R/dcwg75pVhSfA6MvIyLPjVT65Flp3Fom1fYPTVWfjVT/KJ+eKYwT2w/v9OKq/NsZtQ08SpfGb42N6tc0cqqoZb5paippFTjUUCoCjEF/dNx12jB+CXL36iut7qvx9R1GdFUYLLy2sUXlo7/NWL4awmJib/TtMU8nPs2LVgFPyCCL8g4cUPjuHA8dqEVTeIyK/pxu/XE3NXoyFQuBuqDP3020fwxK1DifefoWlcdHk0tmYykLkFQZI0+/S6CgfMRoqoDBRNg0YS7UNr/MrlQCQbjoZnoWkKkiip8isST5aXYUGmjQVDtfDB5xs9gcPpdAtSzQYsfatF8XTL3FLi3iZIEn738wK89+15hSdhDTT8goDHxg9GXoYFvdIsRF8iiJIu95abYsJdowdg5kstY9HWVwQKdcL9voGhVLxVd1JLi9UmE4lfu9yIxI/qNY/tWjBKdXYiI8vGYn2FQ1Ftlf308r2Hsa6iBH9edAM8fgHHalxKjCCPVwxFdZ0nYrETr9MwzlCUokT+yw3qOGPd+8fgdHGgKQo+QcQTb1ThD7+8Hhk2Gv2zrcT1JkqSxresCU5LMeio2qdZjFj59mGNLQpiYEqLPGVrUM8UXGzikJNiIvIv4QiNTXhBhIGhkWvXjrDtbLTVjjvC/yTHIAcQzblilo3Fgz8ZhNV/D8k1UkzorbPvhCKS8rLbpz67lHPXcQU9lLw73CcDkqI2qVeTcDnRGb5YbxQtgOC5qIiLLh/++69VKHf0RZaNxZ0j+4M1ANvuHglncAzpX76sVtTbZZ53fUUJts8bibpmP843evHCe0fx6Pgh+L7GpVKnK+6bjo2zRoAChZVTirBi37ca371k4jBFuQ4IPD+7yYD7d6ibse7Z9gWWTBxGbITWs7+aJg690y0qvxhJNCaJtiNe44lo4fXyqPX4wIsSRElCjt2E6jqPih/Jz7XjVK0buSmmpDpcnKFTnwRFUUYECuK2SZL0WvDHFyiK6iVJ0jmKonoBqNG/AhkWI4NJJX0we9NnqiTQbAjIfK6aUqRyjjIaguSsgaZwocEDmqaRZWPRM9WsKWaQSTIZsrNzNnFJidwk2g2zgSbasMkQfZeiXxB1RkZqkw+apmA0MPihzoWX/nEc5Y6+mPujq5UAr9zRF/i/QEf1fdsPYteCUehFWBcyiRuNfPHlQEcTIpGCcpuJwc+L1M9szfQS2EyJI/N9OVDb7MMz73yHu0YPUN2rdRUOZFiMaORAHufb4MUld3BkToUDoggyqTGvpegrL8OCmqZAcVpoEC0Hvzvnl2nslKYoPHLLIM3790wz4fQltT3LY/1CpbhFUYLHL6hGnmTZTUg1s0g1s8QCuLbYokw2kEbCyr+PlnSxGhncfeMAVNe1jBK4+8YBsLZhVEu9l1fIFPk979laGVhzYYWFcpcRyYfEGzrCJyfRPWA2MsQufXMCjTYirb3l5YV4ZPchPHLLIJxv8Gp8oM1kgN1kIO7tmUFp+9C/twS7K81GBuOv66UUxAEtfuGV+WUqP64XO8hFFaunFsHZxKFXemCcHENTYGjgfIMXTMgYkZbPQCuS/KF7zbl6L0RJ0vg6SYeslqTW829Gp7jtqUnXRSQ2ZSKvs/2gMazgBUiOgI6Eto49CX2dhQ0UwwsiuYnk5MXmoAqtiNVTi7Dh/45rDsJXTSnC89OKcV9QTSkvI6DQ9cjuQ0oRxs5gsbu8VoCA/H6G1ajYY+90C3qmdNyBQnIsTHwgNM/5W1UNivuma2JYmbNwujjFPgB1Xran8jQW3XSNJv5ePbUIoIC/HjqDx28dCkGUlMMpQ1j8ExrL/nCpZRRo+ChW2Q9n2Yz486IbNLEwz4t4YNy1qDrXpPkO8mHF4gkFWLi1EhtnjQCgnzd4/SJ2fHoK94/Nx4O7vtZcTy52qm324Vc7v8TO+WUQJAmQoImvn91/VDNySt7rnnyjCk/cNhTnG70YakvVbe4h7S8UBfRMNeF3Py9QDgr2VJ7G/WPzEyKHtATVSeRm03XvH0NOCgu3X1Cei1xg+Yc7rgcgKff2fIOXOF76hWklWLb3MJwuDlvmkAsxLjX7cN/YfJWdrK1wgBdF5bDq2h52cDz5EHzL3FLVNR8Yl685EA8dD7a8vBB/+fIMNs8pxaVmH3hBUsb1ysjLsEAI5lkLxwwkFtkvnlCgKkad+dKnqrE/bp+AHqmRfbVe/pRtiy2fJI0FWl5eiKM1roQtIIkEs5EhjnMz0jQxd31lfhkx1/5/k67DmuklqkaPNdNLwDIU0db2LBxF5BZMDI1nw4pdnt3/HR6/dWibGzSSaB9a41e6GtHyLD5RitgcKfvZnZ+ewt03Bg7pAz6HwpI3q7B4QgHuCePOTl4kF4YbaQovHziBnxWqeZIXppXgT/84jqWT9CdnGGlKl3vLtLG4f8c/VZ9hwdZKbJ5TqvL78phII90Sk8RLg3ZHIFabTCR+7XIjEj8q6DQw6TWP0TSFXulmldiGHGvTNK0UvjdzvNIsLUrk5u9IIxVpnYI0A0Phdz8vUMbAy59XLuixmxhU17mVYhOGpuDySmjy8sT1xjLafXBRsFgks7dJlzc6eLpeY4vyyF+5oeuT396EVIsBx53NUXHNpNgkkQrC9PyPxy8oo6BbQ3cq7G0PoinylYu0lk4qjJmX0HtW/bKsaPK2NHXJ62TFviN4bPxgok/+3c8LcLbegzSLERwvEM8OLDrjmBMNemdYOSkmOJs4PLP/O01ut67CgWf3f6e6bydq3UqjZ26KCb/e9RWcLg6LJxQosfqdpf0UJcBH9wRGpZK4DmeTT9XwJivXhf6NnuplutWI+3cc1MTZevZX2+xDrzT1ebg8KrY9Z+Cdya8lubvLC54XUefx4UKjuuFO9iMHT9cr/MiSicMCI1OTBXFxh057GlRAEu5PAL6VJOl/Qn71BoC7ACwL/vf1WK/NCyI2fqQ+mNr40Qn87ucFWD21CC6O7Kzq3X6smlKEJ974GneNHoCXD5zAgz8ZhEE9UjCoRwpeWzQaXr8IhiJ3MAuihElrPkrIwC2J+IIgSkQbfuLWoVFfw8jQuLkgF+WOvqquc70D0Cwbi2afmRjg3TOmpaNBPiDW6xAIHT3c1cl4RxMikYJynyBpDv0XbfsCry0a3fYv0A3h4wWUO/oSR4nJh2PyOF85abayDCQA351rxIrJhWANNCgKGH11FnZVVivXrq4LdKsCUAXec390NdEOBFHbod0zzYwlb36jWXu/v3Uo3j98Qbm23uGD3GmbYjYSA86OSmJlskFDkATfx2Ik22q44h0Q8DcNbr+qm3j11CKkmY2av20Nsay5SD4k3tARPjmJ7oFMC4sHxl2rUXbItCQO2Ry+9gRRwlNBhdheaRZU/ElNsD68+xC2zCnFr3d9heXlhfjwyAVMHn6VovRJUZLKZ+ekmJAevB/ZNhMGZNt0fXDoz0nFE2uml4ACsGTiMKRZjZAkCcagj5BAocHtB0VReOkfxzXrc+ao/tj88UlsmVuKercf9W4/0q0G1bML9XXt6a7PMBuJ6g0ZZmNEYjPLxsJkoFX3rzOKbXOCI06iUfG80tHW7mzS6zbPKUWG1aC595tmj0C924/Vd1wPCRJYA43f/mwIZvxJrST10KtfYdnt12HxhAIMzLHh9CWPSpUotGhUJlnk/2/28YpawPN3FsNmYiB4+Xbvt8nu9fhBeMxFGt0hH5DlpJjw7P7vAGhHEckd9rNvGIAtc0tBU4GD6uo6Nza89z0eGz8ERgMN8CKMDN3qczaHxKByJ+zTU4rQK80MmqJQ5/bBZGSQbmE1BK3BQGNwjxRFverw+SaVzVfXeZRu7EvNPvzprCxsdgAAIABJREFUH8fxyC2DVT5ULlR7bPxglDv6akamvnzgBFZMLkSDx49MG6uMc5LX3Pa7R2r2AqeLg9cvYvOcUkhSYJT6+UYvnnyjCk4Xh3SrEfdu/wI5dpOmSG9dhQMGhhy3MzSFZk7Awq0tByfLywvx3LtH8dQvrusAK+k8+P2BMc3h+UOPNDOmbfinqthLApCbagIvSNi9cBRqm31448uzxEPde7cHDmLTrUZdZfoMmxE+XlQ/dyONp96sUriMnfMD43ZJ8UfoQXNehgX9s63EvxvcMwVLJg5TDrv/bVAOvH4BGVajRiVGVtcHArwK6XpZNlaJKXy8Vql7T+VxXNvDDkRQpeqo/IkUm8iFewu2VCZkAUkkZNu0B/sbZg4HTYFcKCFJWPBv/ZV4V54C4OFFjUrI8+8exe9vHUouqtDJIR+/dahusQvpOtE0aCTRPrTGr3Q1ouVZ9Ip/BLHF/77w3lE8+JNBKn7WbKSxrsJBPDh+dv9RorKhyUijpH+W0oAkv9e927/Arvll8PECTtU2w0goqLeaaF3u7Xc664CmKQ1PeMnlQ3bIqLR4UEvrKMRqk4nEr11uROJHeZ1pJZGax9ItLHqmmXXPPORn8dqi0XBzApo5XpMPrqtwaMb8hcJIU8TGDwqB5kDSGrkq0wpBEvHlqTq88+sfw8hQoAAYaKDR48fmj08S9yPStawsA78gYlCPFOycX4ZzDV7UNvtUjSXhtmg10SpfgSBfEy3XnOgFYXr+51iNC00eP3qlm5Fuibwmu1Nhb3sQ7bmifAYp55S1zT6N3yMVBek9K4am4PYJWHb7dTAyNCQAGVYjclJYVTNw6GuOO5uRaTPCZjKg0csT474nbxvW6fesqxHpvG/xhAJVzPu3qhrcPzYfbp8AQZKwcMxArHv/mErZfu+/zuGBcdcqTSTX9rBr+DI5r7/U7FPOvc0GWsnZf7jkxtNvH8HCMQOJzy7NYkSO3aSJs7NsARX3BVvUiqAvHziBkqsKMahHy9QnuRk23FYzLEaVeFKGxYg6j1+zP3cmv5bk7i4vvF4e1Y2Bvc/rF1RTCh7efUhRMZRjgNwUE9JMBphMyYK4eENnPpEbAMwA8C+Kor4M/uw/ESiG20VR1FwAPwCYEvOVKWDRTdegrjnQDc0yNBbddA0YGmANNOygNJ2+a6eXwMXxWLb3MA6erkfVuSZsmVOKk7Vu9EgNHO7VugLBmVyZHNqhtH6GA0+9VZWwgVsS8QWKJtswFcM5aSxjDIFAIBk+OgdokZkN/bdMKOh1CMSL5HVHEyKRgvJzDR5i4uLnk6MuQiEHfnpJnlxUZjcblCJkmgLe/vocfjw4V6PEB0ApjJOT8ncf+jFECUizGPDUL66DTyCP0ON4ESecjXhlfhkEUVIIb9Laa/D4MWPUAEwv6w8La4hILrVV/S0WhJMNckBlNQWcBGsg73OsQfuZeVHCg7u+Uu1fD+76SlGfiQVGA9mHGHWKPC7HveoIdIRPTqJ7oC6o5BCu7CCPw0oUhCtcLp1UiCUTRXh58pgOUQqMRTtzqRkTrs9T+eK100uQaTMqYzAyQ/wjTVOwmsh7cTjRf/B0PV4+cAI755fBL0g4cbEZj7/+jaoAaOvckRCDhEWWjUWDx4csA02O+ykKf6uqQdW5Jjx/ZzGyU0zYcuCkrq9rT0F/pJH1egp0Mmm3bO+3qvFcy/Z+2+H2VO/lUXniIrbPK4MoSaApCu9WnUPPVLNGxfNKR1vJeNLrZr70Kf686AYMzrUr4zTMBhoXg8pUoQccmTqxkdnIYNXfvsOj4wejf7YVD4zLx7P7j8Lp4vDCtBLQFLB5TilqXT48Nn6wMhLO6eKwZW4pGoPqYOfqvaoCjraSYYl+WNGdEJ7n6I3uGJhrR+9UM5ZOKsTjt7aQsvLhQJadxbLyQnh8asL2qkwrlpUX4kIjh5lrDkRtO+HFJzkpLGwmg1L8JBeMXmjkiAStwUCjd7oFziZOpfQMqAtB8zIsWDqpEBkWI6ysAWfrPfAJIp58I1Dk7fYJmpxDHmsZuoctLy9EvSdApFfXefDUW1XYNHsETl9qUVDum2lBXbMfzRwPUYJKgXR9hQNLgzxQdZ0HK/YdwZKJwzAwxwZelGBhaWz6x3GNutS6CgeMDKWrUOaN48MvUZRwPjjaPHxP3Xb3SOVeyJ3+O+aNxJk6DzZ+dEIZp7NwzEDdgqSBuTbwgoRle7/VFMu/MK0EtS4O9+/4UmMboQcu9R6/blEdy9ABZcCg+qFBp/DAwjIY2icVq++4HicuNuPJN6qQkxJojvjLl9WqcYEpJhozRw/A9FEDdK+Xm2JSYgqzkUbFqH6a3DYa5eGOyJ/0Dl3TLcaELSCJBD1+6pKHrFKcYmK08W6FI6JyE+k6lA43TVNk22R0bKe7PY94RGv8SlcjWp5Fj9M1MjSuyrSiV5oZJVcVavisdAsLzi+g2afN25wuDhSgGge3+/MfMHP0AF1ujxNE5fBavpeDg3s8APgFCqJE5t4onfXBhnxeeTSk08WpeKt4adDuCLTFJhOFX7vciMSPZrIs8T7nRihYi6YAkaYp5KaYIdoCBTkM3TJe0UBTROXlUAiSBAvLaBo/REmCSees43unC1+crMWE6/Mwa+Onqv2rV5qZvB/R5PXmDuYFNE3BZqJhNjJKXK5ni36BUnHsQoxcc6IXhOlNZJCbK5ZMHIaeaeaIeVR3KuxtD6It8m2t6If0+/UVDvTJ0E6/WjO9BD5ewMO7A6pkD4zLx1VZVjRzPB66eRBWvn1Yk5fIz/eBcfl44b3vsXhCAXGdSej+zQ2RzvvC9+CbC3IhAZpR7zLXO9WRh4pR/fBscHpZlo0NNu15UNw3HQvHDAwUFFmMWLb3W2Xc+9oKB4wGGlNf/AQ5dhN+89NBcLo4rHv/mKbIeHl5IZbt/Rb/+bMhAIAzdW7VSNhUs0FRCa9t9iniSaSpT+kW9WSoDItRpXp5c0GuprlettPO5NeS3N3lgzwulaIo/FDrVjjb0CkFfTMt2L1wFHJSTOhhMyXV4eIYnfZkJEn6BwA9Fn5ce67NUBQ8PkHjWCUJAVIzwwKGobEjeDBEUcB/7PhSpfxWXReYE7349a+xrsIBXpCw+u9HtGRnrh0WIwNRFDXESCIFbknEF2iQbZjWXTJaxDLGUAZDgRjg+YKy4dESCvEied3RhEikoDyZuESHLBsLj4+PeK9k8kCGKEr4ydBeuOPFT1T2vGjbF9g0uxS7KquVpHzzgRNY/38nlWC4R4oJRprSdHisnFyIDR8ex8TiPvhl8Lp5GYHghLT2MtJZRSY5HgLHBo+Ac/VuFalSdbYBKWYD0q2AmxPwXFgX+3PvHsUTtw5FulV9rUjdxLHCoNPNGC8d1m1FR/jkJLoHRFHUyMEvLy+EKCZuAbSc0DubOJxrII/HYWgKNxfkYtQ1Obhzg9oX37PtC2ycNQL3bv8MG2YOV1TiZJDUOdbPcCDbxmoKD/IyzHBxfrh9ImZv+kx1neo6Dxo8fvRKMyufO9vOgvOLxPXZO90CAMixm5CdYkKty4fJw6/CpyfrVapDsq9rT3d9pJH1ZlanKNBAXzZ7EkUR+T3TMG3DJ93GbjsLbSXjI73OaDShT0Zg83USCkke3n0Im2aXEu2kT4YFS34xTHNQ4/EJeOKNQNHozvlluOPFT5TXFfdNx+IJBaApCll2Eww0hcnrPlYpN51v8KJHqgmZMY7cS/TDiu6E8DxHb3SHxcjAYKBVhdCtdQzLf+ts4mImUsN9KUVRmLr+Y9U1TtW6FZ+td93Q7xd6MOFs4rB5Til6pVmUz9sz1YwGj19VbNonw6w5NNQba7l5Tike2vVV8Dv7wPGiak9ZV+HAf//1Wxw8Xa+sL3k0cehIUCBQ4D1702f44OExsJsYOIN7j9snYOOsERBEERbWgKVvVemqWcvEf7yitjlwj8I/e07Q34TbYe90C5a+VUUcp3NzQa7q/gVs1oCsdBZLJwX2qV0LRkEQJXxf48ITb3yDx8YPbvXAZd37x/DEbYFJEfKBbF6GBRtmDEePVLNGQYIUp2SYjaj38rAYaQztnYrnpxWDFyWca/BifGFvVcHU+hkODOmZqhzAka7XO8RmvX6RqDLflqaktkCPu3D7hIQtIIkEUZTwQ50bp2rdSszpzRKQaTMSc1e3TyRyabvml+kWHJGKKvS4aZqiiLybgaa6TUFPoqE1fqWrES3PkmM3kQupWBqp5lYaO+1mNF9q1rzPptkjUOvy4aGtX6nslaagq5xz8qJbtX4Wbq3ErgWjlPwsy8ZCEMk5HJtK44VpJaoC9HUVDtA0hWf3H1Wd3QBQ8VbdSS0t3m0ykRCZHzVhUEgDU6SCtbaMoZOVrGJV6zHQNNa8972qeW7Ne99jyS+ui1h8tWJyoRKfAC37156Fo5RzztD1xlC05lorJxeiR6pZ2XuitcUsG4urc1IVjv3Dh8fExDUn+rmK7H92zi9DdZ1HGa0r+ywry7SaR3Wnwt62INY11lrRj/z7UB6kpokLNE/ZWby2aDT8vAiKovDEG1/D2eTDysmFSDEbNaMPnU0BpcQtc0pR08Spnq+VZfC3qhosnlBA3NeYOM7rOgqRzvt6ppqxcdYIpVCIpBb+8O5DeHpKkVL0NvOlQGGvnCdunDUCNxfkEvlTeYTqPVsrsXN+mfKsRUlSVP+uyrIq/98n3YyTtW7cM+YaZNpYPPmXb5TCug0zh6NHqgl3BpXPF44ZiHSLEXeW9kOPVLLgS3iRXDiHUu7oq2mEk+00Er/W3tGnSe6u8yGKEuo9HM7Vc6omZHlPlhsel7xZBbORQa80BlkWNlkQF+dIyKfjFyXN6JCHdx/C1rkjsWLfEfzmp4NUznNthQOl/dM141DlbuGFWyuxZOIw3DV6gOJkZbLzo0dvUg4S2xO4Jec7JxEKPRt+JQaStC0bH03TePmAWub35QMBOe0PHh6jyN63ZpvxUoneGYSIXufdlZ64RAuaptAr1Uwk6jIsZAl1mqbA6xRuGRkKHzw8BjRFYevHgYI4+Xf3bK3ElrmluOnpD3BzQS623z0SEgKEotsv4MDxWhytcWHJxGHon22D2UBDiLB/ZFiNqtEMXQmLgYbdbFQKBeVEyyJ33kboYg+HXkc604Z14vEJWLHviMqHrNh3BM9PK444Cije0RE+OYnuAV6UiAfql+sQszPh4wUs33sYq6YU4aFXWw491s9wYMc/T+Lhnw6GXyArybEGGrsWjCLGCHp7MQD4eUlFGK2f4YDdbMDZ+maiXwr3w82coOu3d8wrw455I2GgKVXxc2inVriva2t3vZ4qA0NTYGjoHmJ5BbI97VowKubPEAmChMvyPt0B0ZLx4bmbzcRg46wRsLIM6j1+ZXRp+Ov04vMmr1+jYLByciEEUdIQaAu3VmLznFI4XRyK+6Yjy25SPnNx33Rtrju9BKOvzsLE4j6qn6+vcLQ6wqWt9yeJzke4b9Ub3RGei8SSp4Xaq0xQp1uMCkkbjWrymTq3xuatLNNqnip/vzfuu4GodBjpXhgNNFxeHts/Oak6WNfrXpcA5OfasXDMQOJoFpkPmr3pMxw8XY8FWyqRl2HBtrsD6qWkNXHc2Yy+mRZIElTFUy9MK8H//D0w5rPc0Zf42pwUE8ydMEq7o+DjBTBBJR/5sKB3mhkSgCf/8o3qnt9ckAtRknTH6WyeU6qawCDbbPh+LIoSXBwPp4uDX0cFPLQ4w+niAAAGhlLGAluMDLJ14pT8HDu23z0SNU0capt9eOad75SRPc4mHx65ZZBmH8+xm1Bd16KKt3N+mRLjtMZB6OW2fBuaktoCEnexvsIR1WivRES9x4cLjV7NIaWNZYi56x9+eT3x+YCCptBy9dQiUBTw3rcXsH1eGSRJAkVReP2Lakxy5OnmkCTebemkQkXRzi+IUfNvSbQfrfErXY1oeZbwMeR+QcKLHxzDgeO1rRfhGGj0z7Qh1WzEK/PLIIqSMl5y1qvqIhs5/9356SliAdvi//1ade3qOg94oaUZhw4qzulxb0+88Q2W3X4d+mRYcfJiMxb/79dwujisnFyIFfuOqJTEw3mr7qKWFu82mUiIxI+KooTvLza3WrDWnjF0bTkjybab8OC/X4t5Ic3dz91ZjGaOR47dhEHBdX623qMaa6o3WlWP09w5vyww6vWe0fD6BWWKUKa1JRaI1hZpmkKfDBO23T0SziYuZq65O5yryKIJMp8mI/ScOfK5XPQKafF6jtzWz9aWNdba2aePFxTFsHB+RJ7Q0CfDClGU8OBPBmHe5s+J/MvDuwOFLQu2VOK7GpdGzVxuThMlXLFnBzRNoXeahShKcf+Og3C6OKyvcKBnuglNXvJzuyrTguenFQca1EJGTwKBUe5/+OX1mmI6uehIfk+fIKlULZeXF+JP/ziOR8cPwaq/fYecFBb33pSPx177l+pv5JqPeZs/x875Zcixm5S8X8ZHj94U1dlWuF3qKfrLa0Svibq9o0+T3F3ngudFnLrUDIqiFK4K0Npllo0NnnvTMBnYiCqxScQHErIoTk/1hqKAB8bla8i4e7ZW4pX5ZXjr6wuaAzP5b6xsIKCRjRlQO5H2BG7J+c5JhEPPhsUYSFKKIicfVITuhCwbqwSBoYRGeMV8a7YZT5Xol4sQ6U4diZ2Nei8f8/hBo07BgY8XsfLtw/jtz4YoBXEyqutaOtDkEXpLJg4LBOVvH1a9///7axWeuG0YBJ0xdxQF9EyJH0Kal8iExq4FgURLb2wPiXygdRQi6TbEaKyBQU6Ket/LSWETPuDuCJ+cRPdARyorxhtYAwOni8OyvS3+0e0T0CfdjF+U9EWDx4+04Fgtki+e/sd/6sYIpL3Y2cRh3hY1ObxgSyWenlKE3ukmrK1waEbAh/thC8ugycsTnwnHC/D6RY0aUWinVlt9nfbekdUbmrx+CJJB/xAL5NFxktSx9iRJkqo7Vi7a6uj36Q6IJqcLz93kcQjhh+2hHfby6/Ti83q3H2YjrbGTVVOLiDZC0xRWT70eZiONFftaRgySlLDuCSrrymN05J8vkBWkY4iTu8NhRXdCa6M7SLlILHmaTKSSDhOi5StIZKyeql14vBg4NIeGZCQdJIbfi2ybhLtvvEZRGpMLVUjv+0OtGxWj+uH5d4/qqrf1z7Yqr5Vj5V+98iUAYO10B+7Zpu0MfmBcvmYPunf7F8qYz3XvHyOOB93+yUnMuuHqiPe1K8EaGJyt9+KFacVw+wTloEg+gLh/bL7iy3JSTDh50a1bkEhRwKsLRkGUpIj5c2iR5KVmn2bPXTWlCG99dRYbZ40Aa6Bx3NmMJ4KjdIHAc/7zoht07bXO48e0kEMWAKg614TFEwINRaS8K5QblIvjHnr1K2VtRPKtermtkbk8JPmVxl14gnZKOqQk5a56ubQkAek2VjXOLt3GgjVQ2FlZjVXvHFX9/W3Ffcg5pCRpeLcNM4drxi0lueHLh9b4la5GLDyLwUDDyNAqlVYArRbh6E38sJvIheyiJOG24jw8806A28uysci0sTAylFKYLCMvwwJDmH/T4954UcTB0/XwCxJm/Entlx/efUgpUm8Pb5UIiHebTCRE4kejLVhrT/N/20QLKPRIMyv7Tb3Hj//6S2BksPyeObbARJPQAhBWZ9SyLo8lab9f+N4Tiy26fRKWvlWFckdf9E43x8Q1d5fYJJKSXzQFKXrnWHKxmSiKuNjsUxUedUas0Jbits4oHg1tOgm/RmtFP6yBIdcCbAvkY/IaDM0zGoLFi6GorvMgPSjksO79Y5oGiUybEaumFEGSyPzelXJ2YDDQGNIzFX9edAM8fgHHalyqQnaZf7ISpmncXJALZ5NPVWQf2tDsdHEQdeIG+dnkZVhw8mKzhv/dPKcUy/Z+i0duGYReaRZU/ClyYd25Bi8euWWQpgg/2rOtcLus9/iJdgoADA0iv2agqXYLziS5u86D18ujnvPjh0sepJgNunaZl2FBzzQzspPqcAmFhHxSemoNLEPj6hwb0Uj9goiNs0aApgLJmyRJeGz8YNR7/NhTeVqp5pedRrgTaU/gFi+qWknED2IpaNGD3ihUJsIlSONunnjja6WbKlrbvFIr0btLR2Jnw8cLxC69x2/VJwRyCWMg1kwvwYYPj+NvVTVYNOYaos2db/Aq/66uCxQ4e3nymLvHbw10wpKuU9fsg5Gh0ZuNj23RL5ATAX+Q0bCyNNZML1HG8sj3y8oS2AeKInaqPzlxWMyfK8NixAPjro1aBTCeu9tC0RE+OYnuga4+xOxMhCbMsgrOhpnDkWpmkWpmcb7Ri5c/Oq7xLWunO7Dhw+Mxx6965DAFgKZoPLdfXbz83P7v8MRtw1R+mBcCY8z0/H+2ndUUgh08XY/8XDsWTyhos68D1P6LFyVi4dvKKYFRCZEOsS5HvGQ20kSVG7Mx8e22oxFNTheeu5HGITy8+xBeWzRaeR3Pizjb4EETx2vW0MrJgaYAjhfR6OWxbO9hRclQEMkqVBebOGTYWKXQzdnkw+IJBcjPtRPXlZEhqwbE2rDSXQ4ruiuiyUViydPkfeF8g1dzmBCtvyeRsf2yrFETtG1ttiLdC9JYS5lsd7o4LJ5QoEtaX2jkVIf+oZ3rvChgy9xS1DSqR+no7UGh35OmgK1zR0LuWztb78GnJ+sxvSx+x1tnWIxosBlhoGncu/2fCukrF19bTQYMzLHD4+NBU4Fxd6umFhHv65k6DwZk25QR05EgF0nO2viZqtDb7QsoJZb0z8TsTZ9h1ZQi4gj2SDajZ2fyIUuk38nfReYMo1kbpNx2XYUDuZdRlfxK4i70im9ESSLmrjYTOZc2GWhsPnACk4dfBSaodLX7sx8wc/QA4t/rcdNmI4O8dKtmL01yw12H1viVrkasPEtb9s5IBQkkO6YpCtm2wKjrUJXWrR+f1KwHkn/T497OB3O7/tlW4nfom2nBzvll7eKtEgFtsclE4dcuNyLxo25fdGulPc3/bT0j8fgETTwjfxYAcDb78FxYw/k735zTNhdOL4GRIXOaZiMdce/JsrEQJWDVlCJVLKtni6LUosr3/m/GxMw1d4fYRM6XX1s0Gm5OwImLzUqu0daClNBis9BGFKBzYoW2Frd1RvFodZ266ST0/Vsr+smysRiQTa4FyLJpC8u9fhEnL7qVpjBZJd3tE0AHkzWni0Oa1aiME5YbcQDguWnFV/zZgbyGz9S5dfOxXmkWzXN7bPwQZWSq/LehDc2R4mo5f187vQS/f/0bzXs2ePxwNvng9YugKGhU6MIL6+Ri49Ai/PUz9GOucITb5RcnazV+ec30EjzzzlEcOF6LzXNKlVG+8t59rsHTbv4uyd11PERRQqOXQzMnghcl9M+y4ky9h2iXbp+A9TMcyYK4BERCPi0jQxEJJtZAgRfJQaAoAayBhpsLdC3LVeF7Kk/jvrH52PrxKeRlWNA73YKPHr2J6ERomlKIDB8voLbZF5WjiSdVrWQCFR8wGWjNCKW1QRIuWtA0jQ+PXMDGWSNaCLvPf8C1Pa5p5XXqcTfhhUPR2GayEj2JSGgLIRA+BsLHi9jw4XHsqqwGADz5lyqNRPPqqUX4778eVr2HhIBs8c0FuSh39FUS8z2Vp0FRFLJtJqyvcKhGNK2aUoQn/1KFZ355fafdk1ihV6RlCPprr1/C8+8eVZEPz797FE/epiUfaADz/u1qzRiYtpRK1Hn8xDFvpAQ4kVRSO8InJ9E9oKcIxhriy2bbgtYS5p6pAcW4//3itBJbGBka//tFteKLY4lf9fYCCYHiQ/KIE3WRgFdn5OvaCge2HDiJ6WX9NNL5Lx84ERid/WZVq75OLy4O91/v/2YMnC5OJa0f8Mk0bCYGj9wyGKcvBb4ny9B45JbByLAYQdPUZYmXfDy5u/vV5PhUIloj46Mdh+DnA/YqihKO1DQpMcrNBbnYdvdICKIElqFB08DLH51ASf8sZNlYrJpahJ2fnsJt1+chzWIgxiVL3/oWj40frFEAPKtDyPgFcnFdLAWY4euhV5ol7vbrJFpHLHmavC/YdFRiovH3kUZoR0PQdmSzlfxZds4vQ3WdR1XABgTW8rK9hzWNZSsnF+K1ymqMK+gBQZRwqtaNSSV9sKuyGsV900FTFCQJqlFJxX3TIQHEPahXmhlvPfAj8IKk6YZ/+cAJPHLLILBxGmOKooQaFwebiYGfbzmwFyVJU3z9wrQSmIw0nC4O694/phmxJ3/fx28dCmcTFxN3Vl3nUe25Hz48Rsl9suwsNs4agWf3H426u1/Pzuo9fuX/SUS3/P/hkyZaWxuhuS0viDAEx2Qmx6l0DvSKb4w0Tcxddy0Yhbe+OqPh0u66YQBuHNRDNRJ5eXkhKArE3PupX1xH9LfZNhMx1ognbvhKQ2v8SlcjFp4FaNveqduwpNNwTVEB3pmk0kpBws75ZRBESde/ZdtMmvWxZnoJKAQOrC80csTvcPqSRzmkbitvlQiI1SYTiV+73IjEj7IGhsgPh6+V9sSjbT0jae09/QK54fvT/xyrxBcMTcFkoPGff/6XhjNZP8OBbJtJt/hCFEWNTYU2k5BskaYo5X6ajHSHcc3xhFDFNkEKqPKH5zI0TSE3xQzRJsFmMuD5acXtOmcNLTaLNIqxo9DW4rbOKB6t9/iRYzfhfIMXNhMDi9Gg3MdIeaaziYOPF2Ay0MQ1nptiUv5W9p/NHI9n9x/F89OKVSrD8hnAWw/8COkWI0RJwg+X3OiZalYVftW6OOLZQbzmdZ0JvedpYRnUNvuQajZg14JRoCDh0JlGXYW+/Fw7dswbiQuNHCgKGm7shWkloIOFbhJAVKr1+gWN6n2oCl2ALxNVP6+u8+DqHBt2LxyF2mYfnnnnOzz4k0FR7al6ojPhe1C5oy92VVZj5kuf4s+LblA1iXUUB9IdCo3jBaIooYnjcKaOC7PBYs1aY1qHAAAgAElEQVT+uq7CgUybEZnmZEFcIiIhn5iPF4mj+R4bPwRvfXWW2DHBCwLueqnloOKx8UPQM9WMx8YPwc5PT2H8db0w+0cD0DPVrOv42pqAxIuqVjKBih/4RQnPhSVsz717NKYOuAyLEbden6ci7CJ1EpLQVttMVqInEQltJQQMBhq90y1wNnGY/sePVHbpdHHolWZWbM5ooMH5BTwwLl8ZbdIv0woREgwM8JufDsKZuoCKHMvQ+M1PB8HAUEqwGCpRv2zv4UDCH0dKUDYTjY2zR6D6kkf5fnmZFthMgc/o0yFHwgtKAIATRLz6ebWK9N/w4XHcNy4/5s8VSwKcSJ3wHeGTk+geaPYJREWwZ+4sRlZXf7gOQKSEWd7b5944EJ5gp+SSN79R+ZlY4lfSXrB+hgM2EwNGZ8RduB9mggrP4SNfXV4/xhX0UA7fgZZOwx3zygBI2DhrRERfFykuDvdfVpYmjntNtTAQJAnOJk4zWjPTxiLTZros8ZJPEMlFW0L8KhHFM4xhY2n0lKXktXCxmVMK4oCWke6LJxTg6mwbVr59GHeNHqAi6dZVOJBpN+L2tR9j9NVZykhAHy9i37/OYeGYgchOMWHV1CIs2/st/lZVoxAy4UThysmF2HvoLFG1I9q8IJkndh/EmqfRNAWL0dAuvkJvb4km3uvoZiuapsAaGFUBG9By6HLwdD2efvsIlkwchoG5djAU8Mw7RzGxuI9qja6tcGDHvJHok2GBj5cgSJKqMfOBcfnKegPU41tcnB8WI4NLPp+qU13uhn949yHsmh9/49FkP7D670dw1+gB8PGiYheCKOGx1/6l+r73bv8CO+eX4eU5pfih1o1tn5zCkonD0C/LirP1Hrx84ARm3zAA920/qKhntOZT9Ebg0jSFx8YPUfnDlZMLsWJfdMocoXaWYzfhgXH56J9txYVGDq9VVmvGJK0OKt99+MgYHKtpVhVXRrs25Nw2ic4Hqfhmw8zhoCn9MfZ3lPbDqVq3kmvfUdoPkgSNauajew5h5/wyndxbiMnfxgs3fCWiNX6lqxFroUGWjcXmOaUqG+6XZY3oB3UbliQQ1Z4ev3WoJo6M5fA1NB5x+3gcPt+Ex1//RvGlxX3TNYIHf7jjeuSkmPDuQz9uF2+VCIjVJhOJX7vciMSPBvb81lUY2xOPtvWMpLV1rDfFgBehii9kwQNZWVxex9nBz6C39gUJGpt6dM8hbJpdCgkS0RZD+XYf33Fcc7wgPBYOzQ1IcWxHFKSIogQfLyhqfXLxTriSmYXtuFihrcVtHV08ury8EK8fPKMpaAq91+H3OJy3WPBv/XH/uGtVXN26Cgd6ppiUZyX7z8UTCuB0cXB5eU1eI49cDSiKUdj40Qk8/NPBStHUuvePocnLY/PHJzVnB08QBAq6O0jPc/OcUlxo5DQc8J7K0yh39CXaDgCcrfcqufvNBbnYMrcUDB1oSlv6VhWcTT7858+GwMoymib2VVOK4BdEzfMMV6HLTQkovIcWyh13NquKHqvONUW9p5JEZ8L3oLk/ulr5PKFrSxQlSJCwde5InLjYjGf3H0VOCov/7+eBkb/RNpPJ10oKILUfHMfDK/Bo4kSFawVkzuMgVk+9XpkqkJNigt3EINVkhNGYzOESEQlZFMeHSPWG4t6b8rHqnaOYMiIPrwQ7liiKgtfP4+m3AwecvdPMECUocp1yxXFuCoscu1lRhwh3JgBwvtHbpgQkXlS1kglU/MCvM96RVNCih1g7CUlob9KXtJskSGhv0aSeXaZbWq4hJ0GhRQjrZzjwzDvf4b8mDkOty6cpUEgzB0iPTGsggOnKcTatgfNLcHl51Xd47s5ipJoC2zaj01VKusc2lsGU4eoC2tVTi2AjjVptBbEkwInUCd8RPjmJ7gG5CCtcESzSaPLuBJoOKGoecbUQgVXnmtoUv8p7wa4Fo3C23oPaZh9yU0z4vsaF9w9fiGrsjs3EYOOs4aiu8ypEcd9MC1797AeMHdJTtxDsoV1fweniIvq6iy4Oq/+uLoBc/fcjWDqpEKIoqn7uEyTN6JLn9n+Hx28dCgBElbad88sA2+WJl2LZE7obOpoE4nkRnF/ElrmlOHnRjWf3H8WeytMae5XXgihKcHP6Y/lcHI9yR1/NIfvCrZXYMa8Ma6eXwMXxyh59c0GuhtRdXl4IZ5MPB0/X497tB7Fmegk2zymFKEkwGRhU17kxfECmRiHh2aCNRnNfknli90Ksfqcr+YrOaLYifZ91FQ48u/87AIFmm55pZuSlB8anjL+ul2aN3rO1EpvnlMIvSDh9ya2Q1ZvnlKLZJyDVbCCue4oKqHfOfflT1RqWCfjcFBOq6zzgxfgY2SdDFCWF71p2+3V4dM8h5NhNinqQzUT+vucavJi87mPlHmfZAzbTL8uKO0v7YcW+lmKyaHwKQ1AsWjm5EPcHC+tC/eHDuw/hlfllMEVhM7KdvXHfDThX71UVFq+vcKBnmrpp6r//GmiaeuO+G9AzzayoEnQVl5dEZOj5kdpmH1lBzkCjMSzX3jBzuO4ockEiq7GSDmsjIV644SsRrfErXY22FBpwvKix4UjQsz+bidbEnmsrHLCwNOo8/nbFgfL6qK4TVOMAgcBenG1nlXVLUxQuNXOY/sd/tpu3SgTEapOJxK9dbkTKhaM9O2lvPNrWnD/SOo52FLvsPw6erld4rLwMC/686AYA+mtf0hk9Xu/2gaEpoi1KIhS+ff0MR4dxzfGC0OKp8Nwgltw4Wo6C50WcbfCgpolTFM4W3XSNwhGEFv+En4u0B3p7jrEVxbOOKh71+AUcq3Hh6bePYOGYgTHd64vNnIq3KOmfpexf8usXbq3E9rtHIi+DAU1Tiv9c9/4xLC8vRLrVqOJN5Aam/Fw7KIqCgZZw39h8jXKw3WRInh0EQfKZEiTMXHNA9SwWbAk8i6feqiLmeBcavSo+VW4w3TS7FK9+dgq/+3kBmrw8XByPWRs/U01SkMfe6uWpg3qkYPGEAjz/7lH8/tahYINN2LKIEmkUq7ynhq5ho4GGgabg8ZHXs956EiUJ62c4kGVjQVGBmhMAmmbU9TMcMBloTAuJf6JpJgst4i139EWWjYXHx6N3miWiOnmykE4Nr5dHA+eH0+WD10+OtXJTTci0sTAaaORak+pwiY6EfHoGmiyLmmlj8dYDP8JFl18VML4yf6RS3U+ay37v9i+wY14Zfqhz46oMK446XZrN3WSgcanZ16YEJF5UtZIJVPyAoSmiDccyg74jnme82GYS3Q/tKQKIxi5Jh7cLtlRi8YQC8KKEjR+pO103fnQCvw8WLyTCOBtelHD/joOq73f/joOBIgsARpo84tFIWLs+QVKUD+RrPbjrK7y6MPaxerEkwNGOKYgHdIRPTqJ7wELoPFs5ubBDuzLjHaH+Ve42zrKx6J1uiaioTAJNU5AkCZPXfQwA+MejN2HjRydQ7ugLi5HG9nllEEQRLEOjR4pZ44clSPD61UTx2ukluOuGAeD8InHdnqp1Y+GYgViwpVLX1/G8CJ8gaLp/l5cXgoKEi80+1Ui8bXeP1CG/AhL+5APUqG9TuxHLntCd0NHqZuFjUGV7c3E8tn4cUEAamGODhW0Z6eFs4lDvJh+6+wUR9R4/smws0UbcPh7pViPsZgM2zR6BercfPVJNuHPDP1V7tpzDyp9LECU0c7xmbIezyacq6AWAe8Zcg/t3HGz1viTzxCsbXZ0TdnTxMOn7ZFiMWDqpEI/f2vJvmQy+OsdGtP9LzT6l4EsubJv50qdYMnEYUkxkdT1BhLI2ASDHboKPF7FySiFOX/Ig287i5oLcuMq3Q0cK5dhN6JUe+F7VdR6luTTbbiLuubXNPgAtB1Ay3xYoQmwZbyr/TSSfwvMieFFCutWI7fPKwAsiTtW6VYV14f6QQnSKhEDALgQRmu7vBVsrsXN+mUopQIbHF5sSWBJdB5If0ctdDTRFLATfOb+MaOcGqmPirK72tVcyWuNXuhqxFhq0pZlBz/7ONnhQeeIits8rgyQFxAXerTqHjKG90FGWqZerhPrwcw0eLNiqVmBtK2+VCIjVJhOJX7vciJQLx5LjXO7m/9bWcbTcdWv+I1LhuF5st+TNKqIt+kP49gyLUaWW3h3WrCiKWHb7dRiQbSMWTUWTG0fLUZC4h+XlhVjz3vf47c+GaPIJ0njRtoJkMysnF8Ll5ZFtkyIqjLcljgkvwumdakYzx8Pp4mIaF0tqSNR7fU0TBwtrQE6KSVU4+vrBM5g5ur+K71teXoiXD5zA0RoXlrxZhc1zSjWK4C8fCJwrhSrHyYpjhiulizoM4T7zTJ2b+CwYmsLSSYXgRRGbZpeiyetHM8cDAHqkmomvsZkYTLg+D8edzVj8+tfYNHuEkp+Gcl4fPDwGhghnOvJzeuSWwVj8+tdYV+FAutUAA00TR7GyBgaiKOFMvRscL4GmAI9fhCAKeGzP10T1c9J6emnWcDR6eJWdbZg5HFl2lnieuWTisJiLcGubfURVy/UzHBjSM5W4LpMTIlrg8/Hw8DzqPQL8QmACjNlIVmhlaAoGmkKWJVkQ1x2QkE/QyFC4f2y++iCgwgEjA6SajbhzwyeqoEGSKJgMNBZPKFA6c0MhE55uHw+7yUAMSJdMHAafIBIXhewsI1XYxoOqVlKqP35gZCjcNzZfpTixZnoJjDEEUcnZ40l0Z7Rml3rERpaNBU0B828ciF/t/FJZX3+443qV0lO8j7PhRXLHnhDsKqFooFe6GZtml4KmAFEKyNhThLo+H68zVo+PvZMplgQ4w2KMakxBPKAjfHIS3QOpJqNqxLLbJyAnxYRUU/zZbWch1L+Gdht/9OhNbUqSQ+MVPf/cJ11bEAcAbk4kjjZePGEo1r5/TKNqsGZ6CbZ+fAp3jrwKgL6vq3Fx8PolfHjkgmrcx+7Pf0D/LCueeUetCmfU6T430BSgM+rNfBkLrWPZE7oTOlrdrLbZpyH25TEaB47XYmJxH5gMNHJSTBDFAGni8fHokWYmHsQYaBqr/vYdVgXH8IXayM0FuWDogCJN6OvWVTiQY1fnq9V1nuAYj4BtZdtNqnxX/pxLJg5TFXXkZViQZjEix25q9b4k88QkultOSPo+8r/DyeCNs0YQ7T+04Cu0GOuqLCt8gqBRkFw5uRAeH69cp7hvumYc0OqpRVg8oSCuipZDVTEeGJePppCR0XIc8M6vbyTGyls/PqVcR/ZVcoEcySfp+RSeF3H4QpMqb1hf4YDZqN7Iwv0hRcV2H/VySEGCrg/sbmvjSoJe7nquwUO0A72c0MLS5DirDcs4aU9dg9b4la5GrIUGbW1mINkfTQHD8jIwLRhbyvkZTQFGpmPiwGhylY7krRIBsdpkIvFrlxuR7Iul4zfHiWYdR8NdR+M/SGufZFNybKdni6F8zra7R3arNSuKgebIzR+fxL035ROLpqKxm2g5ChL3IOcbNNWiXEvKJ9pbxELTFHqkqlWSV+w7AqeLa5VLaS2OCT8jz7AYiQI0+Tl2xWajXaO1zT40czze+fWPQVOAIEpw+3jdPK5XmhmAumhpXEEPjXrko3sOYfOcUjwUFBQIF8Yp7puOu0YPwC9f/ERjE7NvGACmLQFhN0QkTknm0I64m5SC8LyMwMhV0mskCbhnayVWTSkKFNbp8K6HzzdhYI6NGL9zvICFYwZiyZtVoCgqMJI42MT1xclabLt7JJxNHGqbfdhTeRoP/mQQsmwsGr0+1Ln9yvVuLsjF735egNV3FOHIBZcyYUReBzRNIT/Hju13j0RN8HqXmv34zatfafzA9nlkv2kNa8SPJqbz8QJxKsWCLfqT5JITIgLwennUcT5ccvlVCvKrphTh+WnFuG97i42ur3AgO1kM162QkEclHC+qquWr6wLjLb6qbsSFRi9y7Casn+HAX+67AU/cNhR3bvgEk9d9jCVvViHNYkRehjqYzMuw4HxQqtMnBMYlFfdNV34vOyZZYlV+vbyJZ1iMOHKhCZPWfIQblr+HSWs+wpELTYokZrxADgDCP39Sqv/ywy9Imo6DRdu+gD8GWZHk80ziSoYcaIciL8OC3BQTAEopuAAC6+tXO7+E1GF9rp0PQ7AAIxRyZwIAiEHJ+lkbP8XYVR9g1sZPUevyQSRwD4zOtdqTPOekmNAnw4qcFJPudfTGFNR5/G16385ER/jkJLoH6jx+rNh3GD4hsJh8gogV+w7Hpd12FvT8a1uJY3W8Ept/pijgrtEDsOTNKtzx4idY8mYV7ho9AAwNjCvooRmTsGjbFxh/XS/Yg6M+9HydXxDBUBJ+XtQHszd9hrGrPsDsTZ/h50V9QNPA/WPzFWl9lqFBB7vPQ2OulZMLQQe7xV6c6cDGWSOwc34ZNs4agRdnOi5rt2gse0J3Qkerm+ldLz/Xjo2zRuDlAydA07RSUDNpzUe4ceX7OFPnwYp9ATWlnfPLsHhCAVbsO4IsO4v/mVoEigK23T0SNxfkAgjYz29/NgSnL3k0o3cXbq3EA+PyVZ9BVp2T7a7eTVYv759tU9no8vJCLNv7LRaOGdjqfUnmFUlcSQgng5/df1Tj45eXF2Ld+8dQ3Dcd62c4sGpKEa7NtePmglw4mzhYjQY8/+5RLLv9Oux/6MfYMrcUK/YdwdkGr3Id0jigB3d9BYCCIMVPjBk6UmhwLzusJkZzP8xGhhgrjyvooVxH9lXy76/KsqquIY+PIcHp4jR5w4KtlaAoCr/56SCFnwv1h8vLC2Meb68X45iNdNIHdlOQclc9O9DLCT0+kRxnxc8yTqIVtMavxAOi5VmAjs7XyPkZQHWYD4wmV+lo3ireEatNJhK/drkRyb7iOcfpyHUci/+QQbIpObbTt8UWf0FT3WvNykVq5Y6+uHe7OhZ4dM8h/P7WoVEVoUbLUURq9vcLUsR8Yt7mz5XmnbbC4xMwe9NnuOPFT7BgSyUOnq5vF5cCQMWTyGfkZxs8xCIceTx3rzRL1GuUggRRkpS1PnvTZ6ApCtvnjdTkcaFKmqGFo4N7phDve4PHryhT1zb7VLZNegaP7jmEh386GCv2HYE3QQtBOxqt+dvQ5/DhIzdhycRhuvUW8njn+mCz1vlGr26+Lkkgxu+SBOTn2rF5Til2fXoKv/npIOTYTchNMWHskJ6Y/sd/KjUj943Nh93EoNHrQzMnwMcHakSmOvJw1+gBmP7Hf2LM0x8onLQYRrbWefyYFrzegi2VoECeKMLo+E23T9D8rLW9QC6AjoUTTU6ICBTE1XN++HhJoyD/0KtfBUbbTyjA7oWj8Mr8MgzMsiUL4roZEvJpCjrdNOkWI/yCiEduGYSHd5NHpS7b+y1emFaiBDdyZ83mAydRXefBmToPlrxZpYzHkGVQ3T4BB0/XK+MjQsdIJUqFbVKqP36gZ8OxdCkmn2cSVzL05OF7p1lwRqfzmxcSJ0kx6Mj/G5SiOAn/8YqauPyPV77ELoK8PcvQxGvJBR+dhUQKtDvCJyfRPeDjBeKYzMdvjT+77SzEOr6nNYTGK+4QBR0ZkfyzJIFIPu2cX6ZLZl2VZYWb4yP6OiNDQ6AoLNr2mYY4eW3hKIhhxQo+XlSKnmT1uBX7juCZX14PK8tAECTNiNfL2RwTy57QndDR6mZ61wOAlW8fVjpHw3O/2mYfnC5ONcZBPkiY/sd/qnLOxRMKcKbeCwCwsgzRhvsFC0lC9+wB2TYsmTgMK/YdwcIxA4mfk6agslE5l537o6tbvS/JvCKJKwnhMerB0/VYse8Idswrw9l6D7JTTFi+91sA0CgzrK1woG+GGY1eXokXivumY8XkQjhdHNa9f0zhm/TG+UiSBEmKn7UVOlKIF4A5mz5Hjt2EZbdfh6syraAoSjdWlmMD2VfJyMuw4Fy9R+WTsiOpHglkhaBsO4tZGz9TuL2VkwuRbWexcnIhNn50AksnFRKvpwe9GCfbZkK2zZT0gVcI9OxAz875KzTO6k5ojV9JNHRkvubX8b+8IHaYD4wmV+kq3qqrEKtNJhK/drkRyb7iOcfpaN4lVkQqytKzRbW/kLrVmpXvh178fr7BiyYv36pCW7Qchd7fZdpYrHv/mHJvYxkvGgs6QymedEZe08RF/PyxrFGiUM62L7BrfplKpevlAycU7kaGXDjqbCKrQ9c0tYzS/OJkLdZVOJSiUb3Co0tBHihRbb6jEYtqpShKaOZ4HDheGxhbO3EYBmTbYDUxyLaZlMJEuWhu40cn8Oubr8XmOaUAgKM1LoXvcnFkntntE3C+0avUerx84AQeGJePbLsJ39e4lAkNMhe8eur1KoU4Wclu5kufEjlpUWwZNRzuT+tDlNdl5GVYYGRoot83GWgVBxjNXpBlY+HRUUrUW8dX8oQIUZTQ6OVQXcfB2cQhxWwg2o2RobHkzX8lFeK6MRLyiRp15kTXe/ywsQwee+1fukHM36pq8B//3uJAAWDnp6dw2/W9ceB4LTJtLNZOL4GFNeDpqUX4odaNfllWAFCIQnm2uIGhcK6hZUxr6HvFa2KSlOqPD9A6NhxrUpZ8nklcqYgUaMsdpprD4jaSHq2Nx+4McLyIP39xRjXWb8OHx3Hf2GsAAIKkU8RFqMGQJAkWllGNg7SwDKROVqhIpEC7o3xyEomPRLLbzkJnEMdyvFJdRx6NQLq2XFS2akoR6j1+rHv/mNK9CgBW1kC8VpPHjzSLEUsmDiP6OlGUYKAp+IPq0PJ1gYAfFQG4fYKqyG3n/DLdoic9Ym7nZTwojWVP6E7IsrHYPKcUp2rdyv7WL8va5oME0sHE+goHUs0GLJ1UqKwDHy8gx25Sij38gqiR2F9X4cDSt9TNWQu3VmLLnFI0ePzwBDtB8zIsgTEOYwYi3WKE2yegwePTFGD+z9QiZQyhTAyGFuosLy/E2XqPqiFMvr7bJ2B9hb5Ck4xkXpFEIqItcTprYIhxn9cv4KFXv0KO3YTHxg+G2ydoCrPv2RoYR2I2tsQLB0/X45Hdh5TDK5oClt1+HXqnW3T3vFRL/MQVsu9b/fcjAAL7rl8QkZ3CotHLY+HWSt0Rsz1SzXjn1zfifIMXf/7iDO4ZMxC7F45SDvR2VVYrf/vnRTfofga9/I0Jjo/Kz7UrKpxOF4clE4dpDruiQWsxTtIHJi5i8QWRxqrqrdkrMc7qTmiNX0k0xJqvRVofHc2fkRBNrtJVvFVXIVabTPIU+mjNvuI1x+nqgj09m8pNNeP5/UeJtsiEcKe8KKFXmgWrp14PUZISfs3K90OvmKW22Ydf7fxSVwRF9rOiKGL9DIcyGlWvwIXEPbwwrUQVP++cXwYJ5CKu9q79zijKJBVaysVNkT5/tGtUb+w0L0rIy7DCwhrQK82MkqsKdddShsWoKqDbU3ka943Nx/PvHkVx33Q8On4weqSacLHJh2W3X4deaRbVMyjum46FYwYiy8Yi3crihWnFuJKODlqLt6N9lq35v3Cu75FbhsDK0pi6/hONEFJNE0e0sRSzAU+8cUwpZFs8oQD9sqx4YMdBOF2cShRJbsaaEVYARxqlu3DMQHC8iOo6N3qnWWAw0Bp/GlrYGsrZSZKE/Bw7di0YBV4QYWBo5NoD6p6x7gU0TaF3miUqfyOjq4uxuwocx6PJx4PjRVhZBtfk2nHR5SXaTe90C3YvHIUMsxEmU0KWTyXRChLyqVpNDO4fm68cQOVltMy8L3fkKYasF8SYDAxESYKzicOKfQHHd0dpP7w0azh2f/4DbhzUQ3Xt8DnnFpbBhUYOM9ccUHVCyNeS3yeZmCShBytL4/5x1ypjv+Sucyub7CxIIolooRdoG3U6Lo1tyFJk6e/wYLG1zrD2wmSgMakkMNYv9DuYDHTw92TyQv59KGiaxpr3vke5oy+sYOATRKx57/uYlRViRSIF2kmfnISMRLLbzkRnEcfR+meS75UJC6eLg9FAB57VjOGYt+Vz1bVsJgN4UST6ukjXldWheVHSjLSUIBGLkGga8PNdrzQZy57Q3cDxoqqAccPM4e26nslAaw7jMm3qETQWllGUyZU9Y3oJdi8cBbdPAAXA7Rc0ipOBwxkJWTYWS9/6FismX4cXphXD7RNU11o9tUhVrCnbZWgBztNvH8GSicNwdY4NkgT891+r4GzyadbX2ukl8PpF9Eo3Jwu9k+h2aGucnmEx4oFx1yrd/zKftO9f55Q1tGzvYaycUqSrbCCP+pHf2+niYGUZbLt7JBgKcHE8lrz5jWbvWDO9BLUuDixjQYq5s+9QdKBpCvk5dvzHv1+LOzd8ovqsz797FNV1Hnj9gua7rJxcqBwqPD+tGFOG5ykHCfLvj9a44HRxrcZSFpasEHS+MUBWH61xqQrTB+bakZfetqKNeD0cT6LtaIsvINmBkaawemoRHtz1lWpPZhn6io2zugta41cSEdH6stbWR0fyZ3qIJlfpKt6qqxCrTSZ5Cn0kci7clTEJyaaWlxfiqTe/wewbBhDvn9lA476x+SolpRemlYCmAuewibxmQ5tESNzP028f0RVBCfezNxfkYvvdI8EER7aTClxCi4I8fgHHalx44o1vcPB0PYr7pmNSSR/c8eInyLGbND66I9Z+ZxRlkgot91SejqloJxKMOvGYgaGjWkuiKOGo06UpRPzgcA1m3zAAdpNBVROwvLwQjV4//usvLUpjd40eoLKNVVOKICRoIWis6OgzstaeWTjXt2VuKarrPJom0T2Vp7F2eonq2ckFpqEN0Fk2FmfrPcrPHt1zCBtnjcAjuw/B6eIgSNqRp15/S2N3cd90jYr8+hkODOmZqvGnMjew7PbrYGRo1Hv8ePnACSwrL9TYoHwP27IXGAw0hvRMjXodd3UxdleA43icb+bQEKYCuHZ6icZu1lc4kGNNqsN1d1CJUL0/fPhw6fPPP1f+XdPkxe3BgjQZeRkWLJ5QAJahFWdJclRrpzuQbjXguf3fq7pWZTWJBo+f2EdExs0AACAASURBVGH/2qLRyA2yls4mDpPWfKT5myUTh2H2ps86tGiiKxSKriBcthsZbsNn6ty448VPNDa0c34Z+mRYL9fHSqJ74LLYcbgNxzPq3RxqmjicqfMqh9p9MszITTEh3RpbgKnn7zt7PPbZOjemEnzErvll6J1hxaVmDkfON2mIy0E9U5BpU3+urirsk987ij2sy2046ZOTCEUbYq8ut+FEQbT+OVKsbTbSiq+71Mzhq9MNsLKMoibndHFK52C4r9O77u6FZfALgCgFVOSeeeeokicAwLsP/RjL9n6rURV68rZhECWpy/1HLHuCDrosJm4POnqPjvZ60eSi4d2r8t88PaUIvdLMmP7Hf2Ll5EL0TDNjxp8+jZhXLi8vxOsHz2BSSR9Np+nLB05g8YShMNAUREmCmaXh5kRcaPQqnc8P/mTQZdnzuxgJacNJtA+x+gCeF1Hj4iBKEn5J8NtLJg5Dvywr7GYD/LwIiqIwdf3HutcXRQnnGjzw+kX8cMmNZ/cfxcIxA5FmMeI3r36lURPomWrGs/uP4sDxWrwyvwx56j2iS21Y714unlCABVsqsX6GA3sqT+Phnw4GTVHK95UPFTbOGqHwcKGv3zK3FP8/e+ceJ0V1Jf7v6Z7umWZmYAaYARUSlSBKDAYHFTWbxZgYTViN0fhExRcYk3XXGB/5Jey6S7Lrc924JoLvRzSCr+iaRE2MbhLfIKKIIlFMQFEGZGTePdN9f39UdVPdXTXTPdOP6p7z/Xz6M9PV1VXn3j517j3nnntvdVWQiaMHTsyNxw3vbetMWfmzsTbEz5/+C2ceukfGBNRC+2LKkCiZDuerP/BJdy+t7VE2ftyd1MPJYyOMiYT4y5aO4fSzlBIzWHzFQcX5dYM9H/mMn3mRja9SyrhVKchBJ5OUS3yt2OTBFx6xJPqymz+xfMdEEomXLm7+pJtvLcnsG3vFX4ZIyfoT8bjhwx09bO+KUl8TYsuOzHpZtmB2xvM33H5Iuv27b8HspC8B1upUFxw+lSnNdURC/h0f9rLjU5vq2N7dN+zx7f7+OG991J4ysWnJvBb2nlBPVRZJsAP5O86cAudnt88/gDPveJmmumquOn5GMpHZeY5L7K8iYxPFGiNLPIfpfrjT30z42BNH19BYG6a3rx+RAMEA9McMVz/xVsok1UmN1laoFy1fnfQpZ05u4L9O3A+wVsEEOOXmF1Puef/Cg+mPx7n4gdc8Y3zO2ECijQ5VBejo6U9uvZpMBq0Lu8YSfejbVoQOR6P9tHZG6e6LM//2zLjr3WcfyNsfdTCuNkxTfTUTaqs1Ia5y8NThsvyF+/rjKQoMVhbv1OY6PtrRw7Xf2o+L7rcM3J3PbeCecw4iFjcERAgFha6otV81kJLtf+0J+zG+zn2P8K7eGPFak9wyx9kpSWx3s1tjhBd/8CV6Y3Fqq4Ns7eylrz8+5MZ+pDmE+cTvyYQDLferKMrwGF0Tpr2nn8ljRxEQiBuorhJG1+Q+C8lt6W+vmWH5xNNG2Ins3dEYVz2+LmN7tRtOmQm1qdcq5SyQclmJQW2y4qRc9LYcydY+e9neyWMjXHz/a0lb1x2NJbeUdLLPRMvmpds6t+sesuc4Wjv6UleKPHV/gGRiXHdfjLO/sCcX3b9z5ZBrv7UfAYGAiOtM4qoi9jtzaRMqiaG20V5+QrbX8/JFGyKh5P9uW5zeeOr+BESoqQrwy3NnYzDEPNqfT40bxVMX/T1/29aVXCFxwd/vmTLTNLHC4bfnfIZ//OUqbj59FruMqacxAjWhYMrWIWAFMf3qGynKUMjFBjgHUa71WAEuffWxeNy4bqkcDFjX29HbhwBVQUnZ3viaE3Zef9XGtuQKZw+ff0iyXYn7rI/pVZeJGfB7jh/FJUdaCXGt7b0Zbe+ocND1+4IMmhAHVt9r93G11NeEiPbHEBGCAj8+9nN09PTT2tELoCvjKK7ky2evrw7TFY3xmeY64saKIVcFIdofH5H9rEpisPhKJTPY85HP+JkX2fgqI231kqHopMYp3BmpvnA+CNhb9x6/5PmU4166GPfQW6/4S7kRCAjGGL5+/Z+Ti60kkmASyZbfvXdVchXkxBjtcPshTvsXj8fp6ku93qqNbZx5x8s8e+lhKTbAb+Of6eWIGWtr7O3dfXmRraoqwN4T6jO2nswmIQ6828Opdr/P7bOevlhypb70rTQT58RHQF8CijNGlsiH6Oztz7jX9U+tZ8m8Fs77xUpWbWxj8WPWCn6JFRYB/njJYYwKCf/05b1Yu7k9JXly2Ut/TUmIu+TIackJqkdMb2bR3M8mt2y9/qn1tHb0Mr4+zPeWrWbR3OlMba7LuvyC8KnGURnPQl9/nKa66pTrFGOccaQRjfbT1mNtl2r5dJmrAG7a3k1AhL0m1BMJBRgbCREOl2W6lJIjBfuVReQ2YC6wxRizr31sLLAM2B14DzjBGLM912t77Xmf2FJh5uQGFh+zL59priMg8G//+0YyM3jm5AZ+evLnk9viJAYUWjt6Wb+lw3NZ/A1bOwkFrSVvQ1XWOU111Rkr0V19/AwefiVzJv9Qktm2dUaTAViwHtRz71rhx8xhX1EOyYRVAXFf7tcn8ilKORMICLs1jMqLY+jV3hR6e+ygh40IiiTlau3oTdlGaCC5NHg2MGqTFaU4ZGufvWyvMdBUH07aOq/zIuEqV5vndv55c6YkZ++B1d/+9j2vcNdZB7J85SYmNUYYFQ7y09+/nRJov/XP7/KTY2dgjLFX69r52Z3PbeDH3/hcXutuIHJtEyqFobTRA/kJkXCQ2+cfkLHyYPr1Er5g+n37YnE6o9b2CoktThfNnc642jC7jKmhuspKZnt3a2fST7RWi8q81t+27Vx16rKj9qYrGqO+uor5D72ece6W9t4MPzE9WO5330gZ2Qx1QCcXG7Cloze5qkBbd5972xEKptw3MbDz0PmH0NUbY8PWTn70qzW0dvRyx5kHsL0zyoXLrSB54nqrNraxua3b9fpb2ncmdoWC/trSy60uj5jejDGw+LG1XH38DMbXhUGErmgs41y3Y5MaI4yqDmZtZ7z8lfG1ZsQkSShDI18+eyAgTKiPZNijbZ3REdnPqiQGi69UMoM9H/mMnw0kQzbP0EiKW41kncw3I9UXzhe56GKu8ZdyJFFGpz//maY6/vZxV8rKxefetYLlCw9m4uiavPRDEvavtb2X97a2D3o9v/r4gYAwrjZcMNmqqgLs2hAZ0ne9fqeaUBBjjOtnWzuifKa5lnvPOYiYxzkyQux2McbIEvkQTv86QWtHL8311dy/8GD6YnHeae1MThRNyFITCtBcX0NTfQ0PnX8IPX1xggK11UG+sf9kfr3mIzZt7+aCw6cmY3IzJzdwxiF7cPLNL6RMaI0bA4Zk+7L0tBbP8g+0SmL6dqlXHz8jYxX0SDiok1jzRDTaz9/aumlt702u8Delqc5z3G9cRLdLHWkUMhJ3B3Bk2rHLgKeMMVOBp+z3OZPYo3lSo9UAJrJ9H1y5EbAM1cQxNexmN5DOpTJXbWzjn375KuPrwlx0/2oW3r2S1o5erjxuBkueeYfrn1rP1cfPSLn2td/aj+ufWs+m7d0c+/Nn6ejp5+bTZ3HB4VOTCXFgDaJd/MBrnPvFPZNGNXH83LtWsK0zmlM5S7VCUbnjlUyYa/0Xkkg4wI3zWlL07MZ5LUTC/gqOK0q5knAmd2scRVN99ZA7km7tTTFWJ6iuCvDzU/dPue/PT92fanv2U6nkqlTUJitK8cjGPrvZuCuPm8HVT7zFBYfvRaO9IleuttDt/GBAXPvbwYDw++99kbvPOpAd3X2c+3d7svixtZx40wssfmwtF35lWvI+Zx66R8pnZx66R34qK0tGapswlHJ7+Qlt3VE+2tHLokfWJH/Hy4+ezi/PnU20P0Zre29yZaeqgGT4i1cfP4NgQFjyzDvJzxKzVyPhILuMiRAHNn7cneInXvnbt1x9z8baUDL4dtH9qxlfFyYYkGQgznnukmfeSZbFzU8sB99IGbkkAsjH/vxZDr3yaY79+bOs+6g9q5XUcrEBfbGdKzwmVnLM5nuBgCAI8259kTPveJlVG9vYtL2bjR93c+Hy1SkrQyaud9fz77n245c884618tq8FsJV/gpyu9XlD47aJ5lIOHF0DZu293DFb9+ksTaUYbfG14W57oT9Mup0fB62LcuXX6dULvnsB7np20jtZ1USg8VXKpls9LfQdlafoUxGsk7mG9Wv4ZGLLo6EunaWMeHPBwOS9APAWnRl0dzp9PTF2LS9i4aaqrzVS7Q/xvVPrc/wVZbOa0m5np99fL/K5qW/E0fXsMuYSMZnN566P3tPrKO6Ksgpt7zI95atzvhdrjthP0IjxDcpxvOfyIdw89evPG4GP/rV67R19zE6UkVNKJBcTfyI6c3cddaB9PZZsTuA5voaPjV2FLs1jqJhVDXT7FUGHzjvYCaP3Zkgdd6cKRk5Ht++5xVqq0P852/fTMrhjPUlZFp6WgvxeJwPd/S46vyWjt6M4xc/8BoXHD41eY27zjqQj3b0DikeoqTS3x+ntTOaEndd8sw79MdjGe3cjfNaaKrVhLiRSMF+cWPMH0Vk97TDxwBz7P/vBJ4BLs312m5LajdGQvzk2Bn86z+kZtOmZzAn9mAfVxfmvgWzicUNb33YnpJVfNXj67j7rAPZ1hllbG2Y9p4+Wjt6aevuY9P2bk6/7SUe/e6h1Fa7bxHhNbiWazJbqVYoKnfKIZmwvSfGM29+xL3nzsYYg4jwyCubOHrmbozVpb0VxTeUaguHzmiMXzz/V26ffwBBezn7m//4Lt/50mcYX0K5KhW1yYriLxI2bvnCg/mgrZttndFkX33t5vbkali52kLn+V3Rft5t7SQowhHTmzmuZXJypbcHV24kGBBOveXl5Gy+2+bPYvnCgzHGpNynu899u5afnvT5otfXSGsThlJuLz+hOxpLCVY11VXTFY3xnXt3zhZNzG722qLnsqP2prWjl1HhIFd883PUhII011ez6xhrO8aevljGFoOrNrZx1ePrWLZgNgAiwuWPrqG1PZq8flc0RkCsvkB1VSC54nlXNEZ1aOdghZefWA6+kTJyGc7q+LnYgJBjR4DEyg+Lj9mXKU21RMJVA9oOt2fI+Sw7V5LYe2I9b33Yzi+e/2uKjWgcFeKHX9+HsbVhlr30V047pLjJ04PhbHf7YnHe+rCdODu3GYkZw6hwkCfXbqG1PcolR07j7rMOJGYMkVCQUJVQFQjw0PmH0NcfHzHtkOIPCt0PGqn9rEpisPhKJeMH/fWDDH5jJOtkvlH9Gh656OJIqGu3Mhp2rhCW2FbVuXPY0tNamNbsXi+5roidWPkw4Vsk4gG7NNSkfM/PPr5fZRtMfyeMrk7ZXe5fHnmD1o5e7j33IDZt72bT9u6U36V5dDV9sTgjZKG4ojz/bis1jqsNMyYS4pIHXkvGhJctmJ2Mye06poa4IbkDiNfKhIGAMHF0Ddu7rKSpxDPdEAm56msoKEnfN/Gbx41h+YLZGCAWN/z412t5cu0WHjjvYNdr9Dsm5jmPT2mu49lLD0val9N//pzuFjhM+vpirNvSkRF3XbWxjR88uIbLj57OsgWz6Y8bqgJCU21Yt0sdoRT7V59gjNkMYIzZLCLNXieKyAJgAcCnPvWpjM/dltR2MxKJDOZz71pBU101lxw5LWVb03vOOSi5N3yC1o5e+uOGWNzw121dTJ1Qy5XHzeCaJ9ZZ96mrpjsaIyjuywvH4u5LqeaazOaU3WnQK2X2RaH2vfdLMuFAOlwVEJat3MS1v1+fIuM3WyYVVUZFGYjB7PBIoRRbOFQFhOfe3cbylZuSxyY1RvinL08tqVzlRrY6rDZZ8Ssj2Q4HAoIxhuOXPJ9yPD2YlqstTJz/0SdxakIBevpj/OPhe/FtezWcxIwxa9bvzqDEWXessLe6HJVyvaqAuG7XEixyYNjPbUIh9dir3F5+hpefEDMm5dh5c6a4rvz98PmHem7RM6kxwkPnH0JVQOiOZvo3QY9tB1s7ehGxAnTxuOGHX59Oa3sv2zqj3Prnd/nOYZ8hbgxrN7ez6JE1GbIvmjudxY+t9fQT/eIblTMj2RYXmuEOmmRr+5rrqlkyryW58llrRy9NdtJq1SCrsrg9Q+nPcmIliTvOPDAZX0r04yc1Rli2YDbj66qJGcP2rv6iz/zORocT7W60P87ix9Zy91kHJsvY1tWXLPOqjW2cfPOLgFW2xcfsy14T6mhu9GcbpFQGQ4kR5xM/97OUwckmvlJoStmX8IP++kEGP+EHncwVP/eHVb+GTq66WO51nW2fuKm+2hFTiHPPOQfxk1+v5biWyRmrSi28e6VrAstQtjh1jgcvvHtl8jsNkVQ/388+fj5kK9S48UD62x2NceYdL2ccd+YArNrYlvxdEnGYxATHYlHJ/Qmn/if86yuPm5FMiAPrmYulbWvqzO8YLKmsqa6axlGhZGygrbvPVV8Tk+oSv3ni+L3nHERdTRVH3/Bs8jt9sTi3zz8gmVC55Jl3aO3opcoxMc957UgomJTt/e1dvkwiLST51OG+vhitnVH6YnFa23sJBYW+mMmI1Xzn3lXcc85BjK4JMiaiq8+PZHy7JrMx5iZjzCxjzKympqYhXycQEKY21bF84cH8zykzMwY3fvLrtRlLJy6Z10JbVx9X/PYtFj2yhraufl5572NWbWxj5uQGLjlyGife9ALfvXdVxpKZ152wH13Rfm5Mu+ZQktmc2dfPXnoYD59/aLLTFI8bWtt7eX97V8p2PuXCcLZJGQy/LOU8kA7XhNy36qsJ+faRVEYg+bLDSu6ojcgP2eqw1rfiV0a6HU4E05zkK9AXqgowKhwkFAwkE+LAXir/FysZFa7imYvn8MdLDuOiL0+1V4Mmo/+t2y8PTrH1eCA/w8tPqAml6prXbNFof8z1GkvntRAJBxkbCROLu8sUCgYY67Lt4NJ5LWzt6OX9ti7Wt3Zw6i0vcvyS51n82FouOHwvxtaG+fY9r2SsMpeQaZ+J9Sl+YuJ+CV01GO6yk1ucZa6UiVbFYKTb4kJSSDsPO5+Fj9p7mNRYw/KFB/PHi+ewfOHB7D2h3jUhzvn8fNzZizGGX5x9ELfPP4CZkxuY1BhhbG0oI+Zz5XEzuOn/3sk4fuO8Fv7tf99gzjXPcMZtLzHv4E9TW13cAatsdThcFeTZ9Vu4cV4LWzui/PSkz3PE9GbqaoJMHhvJsF83nro/v319M7HyCkcpZYjaYWU4+MHfVx1WnPhBJ3NFdbgyKUddHA7Z6nF/f5w3P9zBsT9/li9c+TSn3vIiFxy+F9N3qR8wgcXpR6RvqdhUV82Hn/Swqc17PHeg8WAnfhn/dGO4sg133Hio4+ZefmkkHGTpaanPyJJ5LTTXh2mqK36CaCXb4nT9X77wYO58bkMyIQ6s+q8JBZI6NlDsDqxn+YO2bj5o6+LNzTv45o3PccgVT3P9U29zzzkHMX2X+oz8kKXzWhgVDmT87lceN4Mf/3otPdGdE/tmTm4gIMKiR9Zw4k0vsPixtVxy5DTuOPMAqkMyaCwuVBVw1bvQABP3yj03JF863NPTzwc7evigrZu3Pmznly/9lbqaKsbXhV23ut2lvprG2hpNiBvhiDGFe2Ds7VMfM8bsa79fB8yxV4nbBXjGGDNtsOvMmjXLrFixIuVYttnizoz8a7+1Hyfe9ELGOX+6ZA7vt/UwYXQ1723t4vqn1tPa0ZtcHa61o5e7zjqQi5av5oLDp6bM0E9sxzqluY6aqgA7evqYf/vLNNVVc8HhU9ljfC2jqoOMr81f9ulQZhn4jdZ2a5/s9CzpfC0LmqV+FK2y0nX4o0+66errpyoQJGYMQRH64zFGhaqYMCYywJUUJYOi6LGbHVYKx0efdNPWHSUYCBIQiBuIxWM0RMJlZSP8ZIsH0mG1ycowKbkOVyqD9XmHM3s0Hje8t62TYED4+6ufyfj8Dxf9PV+69v+SQeH3WnewZ9NoFjpWlEsEM7Z39WbY68ZR1TSPrslzjRSMkvWJC8Fgfoab3gApunb7/AOSPt/MyQ2cN2cK42rD7NoQYaL9u27t7KWrN8aGrZ1c/9R6murDXHD4XsmVqBI6MrWpjvWtHVz3u3Wcf9hn6Os3NNVXIwKbP+nhyt++RWtHLz8/dX9u+MN6nly7JUXuu88+kMOu+b+MGbDp5Urg9dxMGF3tuoJdhVBROjySKGRsYyjXdn7HbaeBJfNa6I7G+I/fvMklR06jpy+eMSP86uNnsKOnn13H1DC2NszWjigf7uhhyTPvsGpjG5MaIyxfeDC7NqT0MX2hw/G4YdP2Ln7867VcdMReBAMBwlUBtndGaawNE4sbAiL2C+56bgOzpzTx2d1G01xfNm2eUhh8ocPDpVArkyilJYf4ivp1SlEYSsyvXOJrSvkQjxs+/KSbaCxOMBAADL39ptTx55L3JxL94VNueTHD9/7lubM5+eYXXH3ycbXhFN/jgfMOTu584Lbt6nB9Hj/3WYYjW67jxs57haoCdPT0D7qVppfMXr5jLBbnw/Ze+mJx/rptZ/7AdSfsx5TmOsbWpshVch2uFAb6TYDk737iTe7PZGMkxFsftXPeL1YmV/ZLP2/xMfty/VPrufSovZkwuob37Phea0cvyxbMZs0HO2iIhJL+/qqNbTz9/Tn852+srVO94nRXfPNzXPbQ666xOKfsARG2tPfwnXtXJct49fEzmDaxPl2vBq2TPD7/vtfhnp5+PursTe6y8eDKjZxxyB7c+dwGzjx0DwAmjqlBRAiKMKFOt0sdYXjqcLG14FHgDOAK++8jQ7lILg/+ts5o8jyvpTD/uq2LCaNrOO3Wl1I+u/TB11g0dzoL717Jx51RbjhlZsbWOqs2tnHmHS/z7KWHISLMv/3l5B7jZ97xctIA57ND4iwTlOc+04XeW97vSzkb4MNPelMC7FcfP4M9xqthVhQF+uKGs+9cmdFe3VfkJbmHQzklcKtNVhR/4pwlmB5MG66NCQSE3cfVsvmTbs+l8mHnynHLFsxOCbQk+t/3LZjtaq+LvYWCspPB/AwvP8Gpa5FwkJtPn8V1v1vHGYfs4Rq8FoR5t+4MlC89befWjIl7nnvXCpYvPDipp63tUa46fgYGw7xbUn3P8+95hUVzp6ckxW3a3p3crmPJM+9w5XEzMmRJn3G9tbPX01fcLW37X0UpNQPZ+eEylLiJ8zuL5k7P2GngvF+s5Pb5B3DZUXsTN4ZR4SAX3b86+UxeedwMrnp8HQCXHDmNb9/zSspn1zyxjlUb2+h3W1LSBwQCQjAgPLl2Cxd/dW/m3/4yd591INF+w/vbuzP6ynP2nsDEMRHGuwTsFaXcKCf/VcmNSoivKJVFrjqp9knJN2465VwgZCTbx22dUba097rGFNq6+/jZKfvznXtfyfDJ032PbZ3RZKzpvDlTMrZdHe54rp/HP4cjWy7jxm56fPXxM2iqq06O0WdbzwP5pds6+/nLlo6UxXIALly+mofOP2RI5VQGZ7BYQWLSa2LL1fRn8sMdPckYndeKclOa67jhlJmICCcsfT7lnLc/6nBNeHtvayeL5n6Wkw/8NJ8eN8r1uqFgwDUW56az135rP64+fgYBEdq6+7jq8XXccMpMqM2sk0rIDRkO8bihrTvK5raelEnrVx43gzuf28BxLZMJiHDR/atZOq+FpvpqGiMhQqHSby2t+IOCrYMrIr8EngemicgmETkbKxnuKyKyHviK/T5nvB78bZ3RjHOdjWhiICF9yctrn3ybjzujrsarIRJiUmOEbZ1R+uOGUCDAEdObk+fMnNzA7fMPIGYM3X39Rdn/eaCOQbksnVnobVL8Tn/cZATYL37gNfp9+nspilJcYnHjauf9atPdyKWtLjVqkxXFvySCabs1jqKpfufKy/mwMYGAEAjg6h8EA7BswWyWntZCU101/R522cte61ZypcPNzzhiejMiMqCP5NS1hkiYCaOr+dd/+Kxr8HprZ2/S95s5uYGlp7UwtbmORXOnM3NyQ/Kam7Z30x+LJ7+/amMbH3dG2bLDPcienuBmbQ1hbdfR2tHLNU+sY/Ex+/L09+dw/8KDmdpUlzIQFo8bunoLO/lIUfKNl50fLkOZiOf8jlfg/JPuPk686QUufuA1qkMBrvnWfvzx4jncddaBye1dLjh8akbf8tIHX+O8OVOY1BihKujfLanCVUGOmN5MqMoK5McNNI+udu0rTxxTQ3VVQAfklYqgnPxXJTcqIb6iVBa56qTaJyXfuOlUoq860u1jtD+WTGhzMqkxwgdt3fzs6fXcceaBGT55uu/hHIsebIvHchnTLQa5jBu76fHFD1h6nMDS53hW9evll0b7Y4wKB11/w75+f052qhQGixUMtOVwnyMWl1gwycmkxgiRUJDdGkdhTGa7fP1T67njzAO4ff4BLFswm9vnH8ANp8zk+qfWE4sbFj2yhvVbOlyv29bdB2Q+5+nbKm/a3s1F969mvGMr3qb6MJFw0FVnhxLjqBT70tPTz8btXXzS3ZdMiIOd7ddxLZMZVxumeXQ195xzEHs119E8ukYT4pQUChaJM8acbIzZxRgTMsZMMsbcaozZZow53Bgz1f778VCuncuD72xEV21s45on1nHHmQfywHkHc/v8A5JBSy+j2BWNceVxM3hw5Ube+rCdby19ngsO34sjpjczc3IDlxw5jUWPrOGLVz3DO1s6i5LoNdD+5sPZb72Y+Hnf+2IQ14CMoigDEAqIq52vKqMBp0KvCJpP1CYrSvmRNxtjhDuf28CiudNZtmA2i+ZO587nNtAXM5x40wssfmwtlxw5zdMuh4MB1+M1If8mPFQ66X7GEdObueDwvThh6fNZ+UiJmZtH3/Bscnaxk03bu+nqjfHOlk6OmN7M9786jcWPreVL1/4fix9bWrGvmgAAIABJREFUy/e/Oi2ZGJdIfnHqSFt3H13RmKveNNdXZ/hHHb39/PT3b3PFNz/HtSfsB8D3lr3Kt5Y+z/rWjpRybOuMsmFrcXxSRfE7Q5mI5/yOV4woMQC9aXs33713FbuOqaEmHOSK377JcS2TWbZgNp/ymDE+cXQNN85rYVwklI8iFoTGSIhLjtybqoBwxPRmakIB4i6DBJu2dxMQ0fZOqRjKyX9VcqMS4itKZZGrTqp9UvKNl04l/NGRbB/DVUEeXLkxY/Lkz07ZP7lF38X3r+a0W1/krQ/bkz55uu+xamMbdz63geULD2ZSY8TTL0nEH8phTLcY5DJu7KXHDQ5f64jpzWztjA6rfsNVQYwtixPnLhNK6fBKnAs5YnFuCyY59cotdtBUH6a3P86iR9Zw4k0vsOiRNfT2xWmqD7Nhayebtnd7LsS05Jl3ku+dz/kHbe4xxsTEOysGvTcffdLrqrO5xjgqxb709vbzl22dnHrLiwNOMm6qr2Z0TRWTG0dpMpziSllabBF3x0Eks7OW3oi2dvRSFRSOX/I8lzzwGmccskdyO5qrj081Xjeeuj81oQB3PreBMw7ZgyXPvGMtd/uLlVx+9L7ccMrMlNmy1z+1PuMahUj08uoY9MdN2cwaGiiDeyQQ9HB+gyOk/IqiDEx1KMCSeS0pdn7JvBaqy2jQKZe2utSoTVaU8iNvNkYMZ39hTxY/tjYZgDj7C3uSuExipqkEYGmaXb759Fk01VW79st1K7nSke5nXH70vq7bmnr5SM7Zxl5JMRu2dnL9U+u57Kh9MlaSc64GdfPps2hO05FX3tvG5LGRTL/xtFnsOiaS4h9NGF3N6be9xJNrt9AZjXH6bS9x5h0vs2pjm2s5ov0xrn9qfUZQbum8lhEz+UhRErjFTZbOayEYwDMI7PyOW4zIGeAGe4vjgDC+tpoLvzIt2ZYY4z5oMq4uzGOvbmJrl/9iNAm2d/ex8eNuOnr6+MHX9mHj9m7e29rl2VduiKhtUSqDcvJfldyohPiKUlnkqpNqn5R846VT9TWhEW8fx9WGufAr05KTJx8472DuOecgRoUDHNcymWueWJf0x0eFg0mf3M33uPAr05g4uoZdxkQ8E710JchUchk39koQ6orGkv//8OvTWXh39vEgN8bVhvmUSwzn6uNnYEx5JReNJJrrqpNtbSJJ9a6zDuTh8w9h8TH7MmH0zgQ6t+f3Ry66c9H9q/nh16dz/VPrgZ0LMS2aO50/XjyHe885KLkQk9tz7rUKZU9fLHmPjR93c+7d7jYh18WGKsG+xOOGrV3RZFzXK07bVF/NhNpqxtXVjJg8EyV3qkotwFAIirXNUWIAIhGcDLroefq+05FwkI6e/qQhTBiscbVhJjdGuOKbnyMUDNAXi9PR28+E0TUpnR2wDEeisXNmpK7a2MZVj69j2YLZABl7XOcLr720N3/inmXs11lDft73vtCIhw6rL6soCkB3X5wVG7Zy77mzMcYgIvxh7Wa+/NldSi1a1uTSVpcatcmKUn7ky8bE43Drn99l0dzpNERCtHX3ceuf3+UHR+2TPGfT9m56onHG1oYy+t9e/XJ1wEuL0894f3tXTj6Sc7ZxYtanU8+WzmvhR79aw6qNbXzS3ed67X0mWjqRriPxeJytnVGuevwtzjx0D+4++0ACIkRCQcbXVWf4R07ZB9tyBSz/M7HNakKnu6IxdmnQoJAy8kg8ew+dfwhdvTE2bO3kR79aQ2tHLzefPst1cMUtfvTQ+YfQE43R2x/n6ifeSsaFYOesbOe9evriVAXc26jtnVGW/uk9Tpm9e5FrI3ui/THG14UJVQVp6+pDIJls6yzPknkt1OjWqUoFUU7+q5IblRBfUSqLXHVS7ZOSb7x0alQ4wJ/f/mhE28dEv/4nx85IxniCATj6hhdT/PFJjdYWiQmffLDYkNdnuhJkJtmOGycShBJJP4kEoQmjq3n20sOIxQ3bu9xjNrnUr7UVp+Gqx9elxA6venwd/33S53Mun1IcqqoC7D2hnvsWzOZ9O5nqouWrk/78s5ceBrXWuW7Pr9ezGRChtaM3eWzVxjYWP7Y2GQP8ybEz+Nd/cH/O3WKMVx8/g0g4yMzJDaza2Oa5VW82diadcrcviZXunHXiFaedUFtNTU1ZpjwpRaQsNSQQCCQz9RMN0J3PbeAnx87wOH9nI9ra3suPf702+dAkDNbS01oIVQW47KHXU4zE7fMPYPFjazM6PInlKCc1RlI+a6oPIyIFzxB36xgkMuO9ZFV8hMFVhy//h8+WWjJFUXxAKCBM22UMp9z8QkoHOVRGg065ttUlRW2yopQd+bIxkXCQMw/dI7n6c8LefrijJ3nOpEZrC0yDe2BuJE/0KAdy9ZGc5ycmUS0+Zl+mNNcRCVkB8UQAbEt7r+u1I+GqFJ1I6Ehre29ypumTa7cwc3IDFxw+lSnNtclZn85gllOWxGzIgcrhDAovvHtlMiisKzkpI5VAQBCEebemDmKde9cKHj7/0KxtuhVHsnYaWLu5fWfw9bSdqzAGAkJzfQ0AH7R1u7ZRx7VM9v2WVOGqIJFwFX/b1pU85pZsOyZSpQlxSkVRVv6rkhOVEF9RKotcdVLtk5JvvHTq5AM/zbRdxox4+5juD8TjJiP56srjZnDNE+tSfPKBYkNen+mY7tAZKEGoNW5tP7lo7vS81G9VwEqEWnj3ypTr+NmvU6zEuOqqIBfdv3pQHUh/Rls94n3VoYBrMmYwAJs/6SZcFWSXMRHX2F76Qk1jIiEueeA1Wjt6WTTXWpmuKxobUGdziUGXs32Jxw0f7uihs7ef0TVVrnHaPZtqCQcDTBitE4GV7CjLpLjEErbpRiebLWGi/TGeXLuF1vZoSqdvfG2YhkhmZvnksRGuO2E/Lly+2vVezvOPmN7MBYfvxQlLn085d7jbgsbjhm2d0UEzf70y40uxVU62Mo9UamsCXHD4XsklPxMzrWtrRu7S1Iqi7KQ6JIyvr2bxMfsyKhykKxpjfH011aHysaPDaauLjdpkRSk/8mVjGiJhJoyuybC3Vz/+FrBzK5uaUIBGTSwqS3L1kdLPb+3oZeKYGiY1WEEtZ0A8sb2iM6ly6WktNEZCQKZPFI/Hk8GomZMb+P5Xp6XMbkz3HZ2yuN0rvRy6cqGiZJKP2dGJNue63+0MYDfXV7NrWrA7QXNddUbf8srjZnDncxu4cV4LTT7sDycYVxsmGotRX1PFxDHVdEVjyZhYItn256fuD6AJt0pFUU7+q5IblRBfUSqLXHVS7ZOSb9x06sZT96enL05DbUjtYxpuK1Bf88S65ArUw3kW/TSmW454JQgNtDJXtvXrjOdUBQPcfuYBnHn7yzufGZ/7dYpFLs+Y8zePhIOu3xtfW8342upk3C1UFaCjp5+jb3g2q9heYqGmK4+bwSUPvJZcuW5KUy1HTG/m0+NG5c0mlKN96e+P09rRS09/jPe2dnH9U+s569BPceO8Fr5tx1daO3ppqq+mriZIY6RaY55K1kg57Hk9a9Yss2LFipRjQ026am23MsTTM2MTs4TTr9sYCbGjt4/uaIyYgZpQgPG1Ox8y5/kikkyIc7v2UEgsD5lutLwS7fyQjJarzCWkaMKk6/CWHT309PcjBIgbQ0AEQ5yaqiqaR9cUSyylMiiKHrvZYaVwbNnRw46eKBAgIBA3AHFG14TLykZk2SaVXIfVJivDpOQ6PFLJV783vT/fFe1j48c9yQGK5vowTfU1lWwPStYnLha56spg5zs/r60OsqO7ny3tvWzrjPLgyo1c+JVpTG2qY31rR4pPtPS0Fn76+7d5cu0Wlp7W4roiebrvmB6U648b+vrjmvCWSsXrsDJ0BosBZUuudqS/P86Wjl6isThBEcDQ22+AOI21YcbVprQpvtHheNzw5oc7kqtaHjG9mcuP/ixxA7G4IRgQRoWDNETU/igp+EaHh4MfYqpK/skhvqJ+nVIUhhLzK5f4mlI+JFbhceurljD+7Pv+RCH6Ctr/yD9OH3Dm5AbOmzOFcbVhdm2IMDGLVaXcxrivO2E/+uPWuEFbdx8PrtzIj4/9XHK1cBvf6/BIJJtnzO03v+usA6mrqRowBpdtvCEhQ3dfjHe2dHD9U+uTCXGTGiMsPmZfmkdXM63ZyqPIl00Ygn0pmQ7398d566P2jMmF1zyxjrMO/RT7f3oc/XFDVUCojwSoC2tCnOKKp1KU5UpxMPRtigbLjHW77tiq6uTe0gPJ8f72rrzvz7ytM5qUNXG9XLf6KDa5yjwSicbinHLzSxkN5X0LZpdQKkVR/EI0Fmf+7SvK3kb4oU3KBrXJilKe5MvGOK+zaXtXRdhfJZVcdWWw852ft7b3csotqVszrt3czvKFB2f4RAvvXsm95xzE2s3tNERCWfmO5dKWKopfydfs6Fyfxaoqa7LFvDT7kGxTPGJMpWZbZzSZEAfw5NotrN3cntzO5dlLD2NsrdokpTLRNrcyqZT4ilI5DEUn1T4p+SYQkIH7qoorhXgW9fnOP24rc918+qysEuLAfYz7wuWrkz5Rgh/NjResDEr+yOYZc/vNT7/tJR4+/1B2axzl+b1sV6ZPyBCPGzp7+2nt6AVISfxq7ehN5lHkyyaUk33Z0tGbTIgDqx4vffC15HP3wHkHU1td5ccFmJQyoWyT4oZKIbeUKcT+zPnY6qPYlKPMxSYWN651FI/7f+VGRVEKj9qI4qL1rShKArUHSq54+T59sbjr8WBAkr5ovn1HRVEyKeW2wuXYpnjZtIZISG2UoihlSTnaYqWyUZ1U/ILqolKpDNcHHMgnSjCpMUJQ83IqhqHmNeSaF5LQzWULZrNpezdt3X1c88S65KpxIzmPwiuOmohFZLvSo6J4ESi1AKUgkRm7W+Momurzt7xiIvt8UmMEIC/7MycMqhO/ByLLUeZiEw4GXOsoFByRj6SiKGmojSguWt+KoiRQe6DkipfvE/LQpXBVkKb6anYZE8m776goijuFigENRjm2KV42rSsaY+lpLWqjFEUpO8rRFiuVjeqk4hdUF5VKZjg+4EA+UeL/q4+fQSSsY96VwlDzGoaSFxIICOGqIBfdv5qFd69M2UZ1JOdReMVRu6KxnFZ6VBQvtHeTR5zZ589eehgPn3/osJdxLESiXaEpR5mLTVNdNUvmtaTU0ZJ5LTTVlccypoqiFBa1EcVF61tRlARqD5Rc8fJ9muuqB/SJCuE7KoriL8qxTXGzaTeeuj97T6xjWrPaKEVRyo9ytMVKZaM6qfgF1UVFccfNJ1oyr4W66iqWLZjN4mP2ZcLoGhoiOuZdKQw1r2GosT3No8ik2aNNmjF5tMZLlbwgxvh/KdxZs2aZFStWlFqMkhGPG7Z1Rou+1cdwKBOZiyaQmw7398fZ0tFLfyxOVTBAc101VVWap6rkTFH0eKTb4VIwgmyEL3R4BNW3kn98ocNK/hiB9qCkfeJKwMv3KROfqBJQHVZ8S5Ztiq90OB43bO3spacvTlAgEg7SEFH7pQyIr3RYUdLxky1WHVagYD6n6rCSMz6Lf2h/QvEN6fGcxkiI7d19g8V3VIfLmGLH8HwaM9S8CaXc8dThqmJKoQyNxDKv5UQ5ylxsqqoC7NoQGfxERVFGJGojiovWt6IoCdQeKLni5fuoT6QoSjm2KYGA0FxfU2oxFEVR8kY52mKlslGdVPyC6qKiuOMWz9H4TmVT7Biexgwz0TZJKSSaXqkoiqIoiqIoiqIoiqIoiqIoiqIoiqIoiqIoiqJUDJoUpyiKoiiKoiiKoiiKoiiKoiiKoiiKoiiKoiiKolQMmhSnKIqiKIqiKIqiKIqiKIqiKIqiKIqiKIqiKIqiVAyaFKcoiqIoiqIoiqIoiqIoiqIoiqIoiqIoiqIoiqJUDGKMKbUMgyIircBfPT4eD2wtojilvq/eO39sNcYcmcfreeJTHU5H5UjFL3LAwLIURY89dNhPdTQctBylpZQ67IYf6lFlKP39c5HBbzo8EH6o13xRSWWB0pbHL33iXNDf398Uuzyl0mE//W4qizvlIks52mEvKilmpPfO/t7F1uFO/PNsFwM/2bJCU/F94jKLTeSbSiuT38pTah32W334TR7wn0x+k8cPfWI/1YlfZPGLHOAfWbzkKKYOtwPrinGvHPHLb5SOH+Xyo0x+sMPDRfOGKv++A93bU4fLIiluIERkhTFm1ki5r967NPcuJH4pl8rhTznAX7I48atcuaLlUJz4oR5VhtLf3y8y5JtKKlMllQUqrzyFptLqS8tTnvipnCqLOypL8RmpMSO998i4b6kYSeUdSWUdjEqsi0orU6WVZ7j4rT78Jg/4Tya/yeMH/FQnfpHFL3KAf2Txgxx+kMENlSt7/ChTJTASfVQtc3bo9qmKoiiKoiiKoiiKoiiKoiiKoiiKoiiKoiiKoihKxaBJcYqiKIqiKIqiKIqiKIqiKIqiKIqiKIqiKIqiKErFUAlJcTeNsPvqvSsPv5RL5UjFL3KAv2Rx4le5ckXLoTjxQz2qDKW/P/hDhnxTSWWqpLJA5ZWn0FRafWl5yhM/lVNlcUdlKT4jNWak9x4Z9y0VI6m8I6msg1GJdVFpZaq08gwXv9WH3+QB/8nkN3n8gJ/qxC+y+EUO8I8sfpDDDzK4oXJljx9lqgRGoo+qZc4CMcYUQhBFURRFURRFURRFURRFURRFURRFURRFURRFURRFKTqVsFKcoiiKoiiKoiiKoiiKoiiKoiiKoiiKoiiKoiiKogCaFKcoiqIoiqIoiqIoiqIoiqIoiqIoiqIoiqIoiqJUEGWbFCciR4rIOhH5i4hcVuB7TRaRp0XkTRF5Q0T+yT4+VkR+JyLr7b+NBbp/UERWichj9vs9RORF+77LRCRcoPs2iMgDIvKWXfaDi1jmC+26XiMivxSRmmKVu1gUU4fT7uulz5eLyPsi8qr9+lqR5HlPRF6377nCPlYUPXPIMM1R7ldFZIeI/HMx6kREbhORLSKyxnHMtfxicb2tM6+JyP75lidLmUuiu/kgl/r2K6Vuk8qZwXRXRKrt9uUvdnuzu+OzH9jH14nIVwt0/++JyFr7+X5KRD7t+CzmsEWPDuX+WcowX0RaHfc6x/HZGbZ+rReRMwoow3WO+78tIm2Oz4ZdD252IO1zT1ubrzooNNnaaRE5XkSMiMwqpny5kE1ZROQE+9l5Q0TuLbaMuZCF/n/KtvGrbP0rSn+s3JA0/6icERefq9QyDQdx8eNKLVO+KWVfeIB+4Ij15RyylMyns+9fdn7dUPHSw7Rz5ojIJ456/5c83j9D79I+L0j9eulY2jl5K3cuOuXy3WH1WT3ufbXdVr0mIg+LSIPHdwf8fYZLKW1woRnOb15uDNCeVWR53ci1Dsql7ZAsxzFkgPiLX5AcxkbK5fcZCn5rEzzkyaq/V6g2xEOmZQ553hORVz2+m9c6Gq59lTKJexWCYvYxcmnzC21f/NIeiTUG/JKIrLbl+Df7eEnaEfFxe1ZMXR1EDt/1XYdrAwsoV076rWRHqXSwVHpWaj3K1i4W4L75iT0aY8ruBQSBd4A9gTCwGphewPvtAuxv/18PvA1MB64CLrOPXwZcWaD7fw+4F3jMfr8cOMn+fwnw7QLd907gHPv/MNBQjDIDuwEbgIijvPOLVe5ivIqtw2n39tLny4Hvl6Au3gPGpx0ryrM1wG/zIfDpYtQJ8EVgf2DNYOUHvgb8FhBgNvBiCX6vkulusevbr69St0nl+spGd4HzgSX2/ycBy+z/p9vnVwN72NcJFuD+hwGj7P+/nbi//b6jSHUwH7jB5btjgXftv432/42FkCHt/H8EbstzPWTYgbTPXW1tvurAD7pun1cP/BF4AZhVarmHobNTgVWJ3wJoLrXcwyzPTdh9XNv2vFdquf34Is0/KucXLj5XqWUaRllc/bhSy5XnMpa0L4z6crn8TkXz6ex7lpVfN8yyuuph2jlzCmWj3fQu7fOC169TxwpV7lx0Ku17w+6zetz7CKDK/v9Kr2d7sN8nD/VetvGIQv3m5fgaoD2ryPLmow7Kpe0gy3EMPOIvfnqRw9hIufw+Q6wHX7UJHvJcziD9vUK2IW4ypX1+LfAvxaij4dhXyiTuVYhXIfUjW50plX3JVWcKJY99vTr7/xDwon39krQj+LQ9K7au5kuPiyiTL/uYueq3vvytg6XSs1LrUbZ2sQD3fY88xB7LdaW4A4G/GGPeNcZEgfuAYwp1M2PMZmPMK/b/7cCbWAH/Y7CcI+y/38j3vUVkEvB14Bb7vQBfAh4o8H1HYxmTWwGMMVFjTBtFKLNNFRARkSpgFLCZIpS7iBRVh50MoM9+olh65sbhwDvGmL8W42bGmD8CH6cd9ir/McBdxuIFoEFEdimGnA5Kprv5IMf69iWlbJPKnGx011mHDwCH2+3uMcB9xpheY8wG4C/29fJ6f2PM08aYLvvtC8CkHO8xbBkG4KvA74wxHxtjtgO/A44sggwnA78cwn088bADTrxsbb7qoNBkW8eLsZyHnmIKlyPZlOVc4Gf2b4IxZkuRZcyFbMpjgNH2/2OAD4ooX1mQ7h+VMwP4XOVMuh9XaTpc0r6w+nJZU1SfDsrSrxsyZaCHxajfguvYMHzXYfdZ3e5tjHnSGNNvvy2Er5INZR2PGIxKiFdki8Y1hlQHvm87chzH8Iq/+IIhjI34/vcZKn5rE7KI6XhRsDZkIJlsvT6BPMe2BpBlOPa1XOJehaDYY86+8R380h7Z1+uw34bsl6EE7YjP2zPf9If92Hf1ax9zCPqtZEGpdLBUelZKPSpVvtIA5FzX5ZoUtxuw0fF+E0UKwNlLn87Eyr6cYIzZDNYDADQX4Jb/DVwCxO3344A2h9NRqLLvCbQCt9tLId4iIrUUoczGmPeBa4C/YSXDfQKspDjlLhYl02EnafoM8F2xljy+rYjLxxrgSRFZKSIL7GPFeLa8OIlUJ7UUdeJVfj/ojR9kyDel1LdhUYI2qZzJRneT59jtzSdY7W4+9D7Xa5yNNesuQY2IrBCRF0RkqJ3LbGU4zrZ7D4jI5By/my8ZEGv72D2APzgO56Mehipjudi/QeUUkZnAZGOM37eezKbO9wL2EpFnbb3wc8A2m/JcDswTkU3Ab7BWS1RSSfePyhkvn6sscfPjjDFPllaqvOObtkB9uQHxg08H/vbr8oKLHjo52N7W47ci8tk83tZN75wUo37TdcxJocoN2T1fxSj/WaT6Kk4G+32GQ8U8OzngB5taUDSukXUdlIP+5zKO4RV/8Qu5jo2Uw+9TKErVJqQzWH+vVL/R3wEfGWPWe3xesDoagn0dyXrsh7KX3L6Uuj2yt+Z7FdiClZT5DqVpR/zcnvlBVwfCN305v/Uxc9RvZegU9bcutp6VUI9Kla8EeYo9lmtSnFuWtSn4TUXqgAeBfzbG7CjC/eYCW4wxK52HXU4tRNmrsJacvNEYMxPoxFp+sODYTssxWAPhuwK1wFEupxb8Ny8gJdHhFAEy9flGYArweaxBrGuLJMqhxpj9sX7j74jIF4t03wzs/a6PBu63D5WqTrwoud74RAaF4rdJFUA2uut1Tj70PutriMg8YBZwtePwp4wxs4BTgP8WkSk53j9bGf4X2N0YMwP4PTtnW+Tr2c/lOicBDxhjYo5j+aiHwSikHhSDAeUUkQBwHXBR0SQaOtnUeRXWFqpzsFYWvEVEGgos11DJpjwnA3cYYyZhbUlxt/2bKXj6R+VMyXyuQuDmx9ltWiXhi7ZAfTlvysCnA5/o0XAZxB95BWtr0f2A/wF+lcdbD6Z3Ba1fFx1zUshyZ0uhy/9DoB+4x+OUQtqFinh2lJ1oXCOnOvC1/g9hHMPX5SH3frrfy1MQStwmOMmmv1eq32iwHRAKUkdDtK8jUo9t/Fz2osjmh/bIGBMzxnwea/XJA4F9BrhXQeQog/bMz7rqG/zYx8xRv5UyoBR6Vgo9KnG+EuSpr1SuAyybgMmO95Mo8LYsIhLCUux7jDEP2Yc/SiwLa//N93ZNhwJHi8h7WEugfgkrE7NBrO1ooHBl3wRsMsYkZvs+gOUIFrrMAF8GNhhjWo0xfcBDwCEUp9zFoug67MRNn40xH9nGNA7cTO5bAw4JY8wH9t8twMP2fYuhZ24cBbxijPnIlqkkdYJ3+UuqNz6SId+USt+GTInapHInG91NnmO3N2Owll/Oh95ndQ0R+TLwQ+BoY0xv4rjDVr4LPIM1+yRXBpXBGLPNcd+bgZZc5M+HDA4yVuDIUz0MhpeM5WL/BpOzHtgXeMbuY84GHhWRWUWTMHuyfW4fMcb0GWt743VYSXJ+JJvynA0sBzDGPA/UAOOLIl15kOEficgvSivSsPDyucoVLz+ukih5W6C+3KD4xacDf/t1w8LDH0lijNlh7G09jDG/AUIikpf2zEPvnBS6flN0LE22gpXbJpvnq2DlF5EzgLnAqcYY14B3Fr/PcCj7Z2cIlNqmFgyNa+RcB37X/1zHMbziL34h17ERv/8+eccHbYLzPtn090oxplgFfBNY5nVOIepoGPZ1xOmxAz+UvWT2xW/tkbG2q34GK2ZZ7HbE7+2ZH3R1IErel/N7HzNL/VaGTlF+61LrWZH1qJT5SnmLPZZrUtzLwFQR2cOeoXkS8GihbiYiAtwKvGmM+S/HR48CZ9j/nwE8ks/7GmN+YIyZZIzZHauMfzDGnAo8DRxfqPva9/4Q2Cgi0+xDhwNrKXCZbf4GzBaRUXbdJ+5d8HIXkaLqsBMvfU4YD5tjgTVFkKVWROoT/wNH2Pcthp65kTJzqxR1YuNV/keB08ViNtaWVJuLJFOCkuluASmVvg2JUrVJFUA2uuusw+Ox2l1jHz9JRKpFZA+shJuX8n1/sba0XIqVELfFcbxRRKrt/8djdULX5nj/bGVw2r2jgTft/58AjrBlacSy108UQgZbjmlAI/C841i+6mG7CHDcAAARGUlEQVQwvGxtvuqg0AxYx8aYT4wx440xu9t9zBewdG5FacQdkGz05VfAYZDUi72Ad4sqZfZkU56/YfV9EZF9sJLiWosqpY/x8I/KdiWyAXyucsXNj3tzkO+UGyXtC6svlxV+8enA337dkBnAH3GeM9E+DxE5ECv+uC0P9/bSOyeFrl/PFV8KVW4H2TxfBemzirVF/aVY/cYuj3Oy+X2GQyXGIwaj1Da1IGhcY0h14Ou2YwjjGF7xF18whLERX/8++cYnbYLzXtn090rRhnwZeMsYs8ntw0LU0TDta7nEvQqBH/oYJbEvfmmPRKRJ7J0fRCSC9fy8SZHbkTJoz/ygqwNR0r6cX/uYQ9BvZegU/LculZ6VSo9Kma+U19ijMaYsX1jbCb2NtVfuDwt8ry9gLfn3GvCq/foa1n65TwHr7b9jCyjDHOAx+/89sQbj/4K1XUN1ge75eWCFXe5fYQ1OF6XMwL8Bb9mKfTdQXaxyF+tVTB1Ou6+XPt8NvG4ffxTYpQiy7Amstl9vJOqhmM+WQ5ZRWMHqMY5jBa8TrGD6ZqAPa5bH2V7lx1qO9Ge2zrwOzBpJulvs+vbryw9tUrm+3HQX+HesIB5YySf32+3MS8Ceju/+0P7eOuCoAt3/98BHjt/1Ufv4IfYzv9r+e3YB6+A/bXu8GqtTu7fju2fZdfMX4MxCyWC/vxy4Iu17eakHDztwHnCe/bmnrc1XHZRa19POfYYStSd50lkB/gtrgOJ14KRSyzzM8kwHnrX1/FXgiFLL7NcXDv+onF+4+FyllmmY5cnw40otUwHKWLK+MOrLDSZTSXw6+z5l59cVQA+d/anvsrNP+QJwSIH1Lqu+XIF0rCDlzlGnZgG3OL47rD6rx73/Amx0/OZL7HN3BX4z0O+TZ/0r23hEPn/zcn8NYEcqsrz5qINyajvIYhyDAeIvfnmRw9hIOf0+Q6gHX7UJHvK49vec8tjvC9KGuMlkH78Du4/gOLegdTQE25LXPkQ5vwqlHznocUnsyxB0piDyADOAVbYca4B/sY+XrB3Bp+1ZMXU1X3pcRJl82cfMVb/15W8dLJWe+UGPsrGLeb5f3mKPYn9RURRFURRFURRFURRFURRFURRFURRFURRFURRFUcqect0+VVEURVEURVEURVEURVEURVEURVEURVEURVEURVEy0KQ4RVEURVEURVEURVEURVEURVEURVEURVEURVEUpWLQpDhFURRFURRFURRFURRFURRFURRFURRFURRFURSlYtCkOEVRFEVRFEVRFEVRFEVRFEVRFEVRFEVRFEVRFKVi0KQ4RVEURVEURVEURVEURVEURVEURVEURVEURVEUpWLQpLgyQEQmish9IvKOiKwVkd+IyF4i0i0ir9rH7hKRkH3+HBF5zP5/vogYETnccb1j7WPHl6pMimLr4atpr7iIfNvWz390nHuDiMwvobjKCEREOuy/uw+kkyJyh4hsEJHVIvK2bY93S7+O4/18EbnB/n+aiDxj6/+bInJTUQqnjCgG6EesSTvvchH5vuN9lYhsFZH/TDtvroissnV+rYgsLFZZFMW2x9c63n9fRC53vF8gIm/Zr5dE5Av28aCIrBSRLzrOfVJEvlXUAiiKAxGJ2X2ANSLyvyLSYB9P9D0WO84dLyJ9iT6EopQaR1xhb8exqSLymN3nWCkiTyfsrt0Hbk3z/6aXrgSKkmKH37D7tt8TkYD9mTO2NsHW7UT/9zellVwZ6Xj1IRyfXygiPSIyxnFsjoh8Yvty60TkjyIyt/jSKwqIyDhHf+BDEXnf8T7s0c+YZet82H4/RUTeFZHRpSuJUkmk2db7RWS3QfQ0J1ssIl91fL/DtsWvihVLTvY77HO/ISKv2bGN10XkG8WuD2Xk4tDt1SLyiogcUmqZFEXSxtnsYxnjawPZWsf3fmrb9ITvd6bjO1Hb7r4qIlcUs4xKZWP3be92vK+y42TOnJ6MuJlYceJu2497U6wxjzPs7+wuIpsSuuy49qsicmBxS+hvNCnO54iIAA8DzxhjphhjpgP/D5gAvGOM+TzwOWAScILHZV4HTna8PwlYXTipFWVwjDEPG2M+n3gBPwf+BDwBbAH+KRHkUBQfMJhOXmyM2Q+YBqwCns5Sf68HrrOfg32A/8mPuIpiMUg/YjCOANYBJ9jXQawE/JuAf7B1fibwTCFkVxQPeoFvisj49A/sQb2FwBeMMXsD5wH3ishEY0wMOB/4mYiERORkwBhj7i+m8IqSRrfdB9gX+Bj4juOzdwHnQPW3gDeKKZyiDMLJwJ+x4guISA3wa+Amu8/RAvwjsKfjO8ucPqAxZm3RpVaUVBJ2+LPAV4CvAf/qct6/A78zxuxn96cvK6aQiuLCQH0IsGz0y8Cxacf/ZIyZaYyZBlwA3CCOidSKUiyMMdscMeEl7IyNfd4YEyWtn2F/ZwXwRyAxme9nwA+NMTuKLL5SuThtaxQ4cRA9zckWG2OecFxvBXCq/f5055dEZD/gGuAYO7ZxNHCNiMwoXNEVJYWEbu8H/AD4z8G+oCglImN8bTBbaycPHQtsBL4IYIy53fGdD4DD7Pfq9yn5pBPYV0Qi9vuvAO+nneMVN3vH9uP2weofXygiZxpj3sPS5b9LXMCeVFJvjHmpoKUpMzQpzv8cBvQZY5YkDhhjXsVS8MT7GPASsFvm1wEr0ehAewCwDvgM8GrhRFaU3BCRvYB/AU4D4kAr8BRwRinlUhQHWemksbgO+BA4Kovr7gJscnz/9eEIqSguDNqPGICTgZ8CfwNm28fqgSpgm32tXmPMurxKrCgD04+VmHmhy2eXYiUpbwUwxrwC3IkdmDbGvAg8B1wO/AeZAWtFKSXPk+rPdQNvisgs+/2JwPKiS6UoLthxhUOBs9k5WH0q8Lwx5tHEecaYNcaYO4ovoaLkjjFmC7AA+G5iQoiDdL/ttWLKpiiDkNKHEJEpQB3wI1InSadg+4X/Dny30AIqSi549DMS/D/gHBG5BAgZY35ZbPmUEcOfsMbRsmVIttiD7wP/YYzZAGD//U/g4hyvoyj5YDSwvdRCKIoHQxlfOwxYA9xI7vZZUYbLb4Gv2/+fDOTclzXGvAt8D2uSE/Y1nH3mk4Zy3UpHk+L8z77AyoFOsGdkHwQ87nGKAX4PfBU4BnjU4zxFKTr2qkP3At83xvzN8dEVwEUiEiyNZIqSQS46+Qqw96BnwXXAH0Tkt/aS+g2DfkNRcmOgfsQU51LMWKtqAWDPVjkceAyrA30ygDHmY6x+xF9F5Jcicmr60syKUgR+Bpwqju2gbD5Lpr6vsI8n+AHwz8C9xpi/FE5ERckeu29xOJl+2n3ASSIyCYhhzVZVFD/wDeBxY8zbwMcisj+WrX1lkO+dmLYNRGSQ8xWlqNjB5QDQnPbRz4BbxdoS+IcismvxpVOUTDz6EInBlT8B00QkXZ+dZBu7UJRi4tbPAMAY0wZciZUgdH6J5FMqHBGpwprsnNXk5TzY4nSyiW0oSiGJ2P7aW8AtwOJSC6QoHgxlfC1hnx8G5tpj1IpSLBKx3hpgBvBi2ufZxs2cftxy4Bt2/wWsidX35VvwckcHMcubKfYg9jbgb4PMVL0PKzNUs0MVv7EYeMMYk2Kg7RlQLwGnlEQqRUkjR51MX1kg43L2NW8H9gHuB+YAL4hI9TDEVJRceCdtG+sljs/mAk8bY7qAB4FjEwmhxphzsIJ9L2HNXr2tyHIrIxx7e5y72DkbaiAE2+bafBH4BCthVFFKTcThz40Ffpf2+eNYS+mfDCwrsmyKMhAnszPAdh8us6tF5GERWSMiDzkOp28D0V0MYRUlRzJ8OWPME1hbAd+MFXheJSJNxRZMURwM1Ic4CbjPGBMHHsLagt2LwWIXilIKButnHAV8BEwvplDKiCBhW1dg7Zpwa5bnD9cWp5Mex/A6piiFIrF96t7AkcBdLispK0rJyXV8TUTCwNeAX9nx5ReBI4ogqqIAyVXnd8fq3/7G5ZRs42ZJm2yM+RB4AzhcRD6PtXPUmjyLXvZoUpz/eQNo8fjsHXsQ+zPAbBE52usi9r7B+wLj7VlWilJyRGQOcBzeWzX8B9ZWaGqrFL+QrU7OBN60/++2O9sJxgJbE2+MMR8YY24zxhyDtS2gJmoo+WSgfsRAnAx8WUTew5qdOg5raXHAWorc3ir4K1h2XFGKzX9jbadT6zi2lkx9398+jojUAlcBXwKaRORrRZBTUQai2/bnPg2ESdvS1xgTxbLBF2ElKCtKyRGRcVh29Ba7n3Ax1izUN7BsLgDGmGOB+Vh9X0UpC0RkT6yVObekf2aM+dgYc68x5jTgZaxEe0UpFa59CBGZAUwFfmfb6JMYeFsoZ+xCUUqOVz8jkYwhInOBMVg74lwtIqNKJatSkXQ7BqH/0fbHBj2f4dvidN4AZqUdS8Y2FKWYGGOeB8YDOiFE8SU5jq8didWPeN22z19At1BVis+jwDUMbxGrdD8usYWqLo7lgSaa+J8/ANUicm7igIgcgNXRBsAYsxm4DGs7qIH4AfD/CiGkouSKiDQCtwOnG2Pa3c4xxryF5ezNLaZsiuLFYDopFhcAu7BzS+v/A+bZn0eAE4Cn7fdHJpZnFpGJWIlH7xeyDMqIY9B+RDoiMhrLIfyUMWZ3Y8zuWIG9k0Wkzk5oTvB54K+FEFxRBsLeync5VmJcgquAK+2BFOyZUfOBn9uf/wuw3Lbl5wPX2UuVK0pJMcZ8grXy4fddtm24FrjUGLOt+JIpiivHA3cZYz5t9xMmAxuAt4FD0ybr6UC1UjbYK78tAW4wxpi0z76USLwQkXpgCtYKMopSUlz6ECcDlyf8OGPMrsBuIpLh/9lJG4uwtgdWFL/g1c/4gh1Tuxb4jjHmdeAR4IcllFVRgOHZYg+uAX4gIrsD2H//H5b+K0pREZG9gSDWioiK4iuGML52MnCOY8xjD+AITbJXisxtwL/b/dmcsfsF1wD/4zj8INYqiLp1qgdVg5+ilBJjjBGRY4H/FpHLgB7gPeCf0079FXC5iPzdANf6bcEEVZTcOQ9oBm5MW3k5PYP5J8CqYgmlKFngppNXi8girIG/F4DDHLMJ/wlYaifLCVZw74/2Z0cAPxWRHvv9xfZSt4qSF3LoRzj5JvAHY0yv49gjWAlH3wMuEZGlQDfQiZV0pCil4Focq80aYx4Vkd2A50TEAO3APGPMZhGZDhwL7Gef+6qIPIG1+ue/FV90RUnFGLNKRFZjzej7k+P4G1grBSiKXzgZuCLt2IPAKVgTR/5LRP4ba1uzduDHjvNOFJEvON6fb4x5rpDCKsogJLY9C2GtKnA38F8u57UAN4hIP9YE41uMMS8XT0xF8SatD3ES1taSTh62j78I/J2IrMKKXWwBLjDGPFVMeRVlEAbqZxyFtd1ZYrWsy4FXReQOY8z64omoKJnkYIuvzOJar4rIpcD/2skefcAlxphX8yy2oniR6CODNZ5xhjEmVkqBFAUYJSKbHO//C5hEluNrduLbV4GFiWPGmE4R+TPwD8CywoitKKkYYzYBP/X4OCNuBnwATLH9uBqsWNv/2NsHJ67ZJiIvABOMMRsKJHpZI2mTHxVFURRFURRFURRFURRFURRFURRFURRFURRFURSlbNHtUxVFURRFURRFURRFURRFURRFURRFURRFURRFUZSKQZPiFEVRFEVRFEVRFEVRFEVRFEVRFEVRFEVRFEVRlIpBk+IURVEURVEURVEURVEURVEURVEURVEURVEU5f+3awcyAAAAAIP8re/xFUfAhhQHAAAAAAAAAADAhhQHAAAAAAAAAADAhhQHAAAAAAAAAADAhhQHAAAAAAAAAADARgaVkQcvGMwAAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# 画图看特征间的关系,主要是变量两两之间的关系(线性或非线性,有无明显较为相关关系)\n", "features_np = np.array([x[:13] for x in housing_data],np.float32)\n", "labels_np = np.array([x[-1] for x in housing_data],np.float32)\n", "data_np = np.c_[features_np,labels_np]\n", "df = pd.DataFrame(data_np,columns=feature_names)\n", "matplotlib.use('TkAgg')\n", "%matplotlib inline\n", "sns.pairplot(df.dropna(),y_vars=feature_names[-1],x_vars=feature_names[:])\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# 相关性分析\n", "fig, ax = plt.subplots(figsize=(15,1)) \n", "corr_data = df.corr().iloc[-1]\n", "corr_data = np.asarray(corr_data).reshape(1,14)\n", "ax = sns.heatmap(corr_data, cbar=True,annot=True)\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "IUhqen8LWAYM" }, "source": [ "***数据归一化处理***\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "下图为大家展示各属性的取值范围分布:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sns.boxplot(data=df.iloc[:,0:13])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "从上图看出,我们各属性的数值范围差异太大,甚至不能够在一个画布上充分的展示各属性具体的最大、最小值以及异常值等。下面我们进行归一化。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "做归一化(或 Feature scaling)至少有以下3个理由:\n", "\n", "* 过大或过小的数值范围会导致计算时的浮点上溢或下溢。\n", "* 不同的数值范围会导致不同属性对模型的重要性不同(至少在训练的初始阶段如此),而这个隐含的假设常常是不合理的。这会对优化的过程造成困难,使训练时间大大的加长.\n", "\n", "* 很多的机器学习技巧/模型(例如L1,L2正则项,向量空间模型-Vector Space Model)都基于这样的假设:所有的属性取值都差不多是以0为均值且取值范围相近的。\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "features_max = housing_data.max(axis=0)\n", "features_min = housing_data.min(axis=0)\n", "features_avg = housing_data.sum(axis=0) / 506" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "BATCH_SIZE = 20\n", "def feature_norm(input):\n", " f_size = input.shape\n", " output_features = np.zeros(f_size,np.float32)\n", " for batch_id in range(f_size[0]):\n", " for index in range(13):\n", " output_features[batch_id][index] = (input[batch_id][index] - features_avg[index]) / (features_max[index] - features_min[index])\n", " return output_features " ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "#只对属性进行归一化\n", "housing_features = feature_norm(housing_data[:,:13])\n", "# print(feature_trian.shape)\n", "housing_data = np.c_[housing_features,housing_data[:,-1]].astype(np.float32)\n", "# print(training_data[0])" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#归一化后的train_data,我们看下各属性的情况\n", "features_np = np.array([x[:13] for x in housing_data],np.float32)\n", "labels_np = np.array([x[-1] for x in housing_data],np.float32)\n", "data_np = np.c_[features_np,labels_np]\n", "df = pd.DataFrame(data_np,columns=feature_names)\n", "sns.boxplot(data=df.iloc[:,0:13])" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "#将训练数据集和测试数据集按照8:2的比例分开\n", "ratio = 0.8\n", "offset = int(housing_data.shape[0] * ratio)\n", "train_data = housing_data[:offset]\n", "test_data = housing_data[offset:]\n" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "JkEt541Cl0s8" }, "source": [ "# 模型配置\n", "线性回归就是一个从输入到输出的简单的全连接层。\n", "\n", "对于波士顿房价数据集,假设属性和房价之间的关系可以被属性间的线性组合描述。" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "colab": {}, "colab_type": "code", "id": "JW2IHEVbbCI3" }, "outputs": [], "source": [ "class Regressor(paddle.nn.Layer):\n", " def __init__(self):\n", " super(Regressor,self).__init__()\n", " self.fc = paddle.nn.Linear(13,1,None)\n", "\n", " def forward(self,inputs):\n", " pred = self.fc(inputs)\n", " return pred" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "定义绘制训练过程的损失值变化趋势的方法draw_train_process" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "iter = 0\n", "iters = []\n", "train_costs = []\n", "\n", "def draw_train_process(iters,train_costs):\n", " plt.title(\"training cost\" ,fontsize=24)\n", " plt.xlabel(\"iter\", fontsize=14)\n", " plt.ylabel(\"cost\", fontsize=14)\n", " plt.plot(iters, train_costs,color='red',label='training cost')\n", " plt.show()\n", " " ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "oxD989B_cBjF" }, "source": [ "# 模型训练\n", "下面为大家展示模型训练的代码。\n", "这里用到的是线性回归模型最常用的损失函数--均方误差(MSE),用来衡量模型预测的房价和真实房价的差异。\n", "对损失函数进行优化所采用的方法是梯度下降法" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 562 }, "colab_type": "code", "id": "m2as0xbvc6Ec", "outputId": "18c62056-d21b-4b7b-b622-4b4b28f4ff93" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "start training ... \n", "Pass:0,Cost:503.44180\n", "Pass:50,Cost:79.73357\n", "Pass:100,Cost:132.61421\n", "Pass:150,Cost:9.58433\n", "Pass:200,Cost:39.33120\n", "Pass:250,Cost:17.30551\n", "Pass:300,Cost:22.21836\n", "Pass:350,Cost:55.45938\n", "Pass:400,Cost:14.99360\n", "Pass:450,Cost:36.95673\n" ] } ], "source": [ "y_preds = []\n", "labels_list = []\n", "\n", "def train(model):\n", " print('start training ... ')\n", " # 开启模型训练模式\n", " model.train()\n", " EPOCH_NUM = 500\n", " iter = 0\n", " optimizer = paddle.optimizer.SGD(learning_rate = 0.001, parameters = model.parameters())\n", " for epoch_id in range(EPOCH_NUM):\n", " train_cost = 0\n", " # 在每轮迭代开始之前,将训练数据的顺序随机的打乱\n", " np.random.shuffle(train_data)\n", " # 将训练数据进行拆分,每个batch包含20条数据\n", " mini_batches = [train_data[k:k+BATCH_SIZE] for k in range(0, len(train_data), BATCH_SIZE)]\n", " for batch_id,data in enumerate(mini_batches):\n", " features_np = np.array(data[:,:13],np.float32)\n", " labels_np = np.array(data[:,-1:],np.float32)\n", " features = paddle.to_tensor(features_np)\n", " labels = paddle.to_tensor(labels_np)\n", " #前向计算\n", " y_pred = model(features)\n", " cost = paddle.nn.functional.mse_loss(y_pred,label=labels)\n", " train_cost = [cost.numpy()]\n", " #反向传播\n", " cost.backward()\n", " #最小化loss,更新参数\n", " optimizer.step()\n", " # 清除梯度\n", " optimizer.clear_grad()\n", " if batch_id%30 == 0 and epoch_id%50 == 0:\n", " print(\"Pass:%d,Cost:%0.5f\"%(epoch_id,train_cost[0][0]))\n", "\n", " iter = iter + BATCH_SIZE\n", " iters.append(iter)\n", " train_costs.append(train_cost[0][0])\n", " \n", " \n", " \n", "\n", "model = Regressor()\n", "train(model)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "matplotlib.use('TkAgg')\n", "%matplotlib inline\n", "draw_train_process(iters,train_costs)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "可以从上图看出,随着训练轮次的增加,损失在呈降低趋势。但由于每次仅基于少量样本更新参数和计算损失,所以损失下降曲线会出现震荡。" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "YC73FnkakWbY" }, "source": [ "# 模型预测\n" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "No.0: infer result is 11.88,ground truth is 8.50\n", "No.10: infer result is 5.40,ground truth is 7.00\n", "No.20: infer result is 14.77,ground truth is 11.70\n", "No.30: infer result is 16.40,ground truth is 11.70\n", "No.40: infer result is 13.51,ground truth is 10.80\n", "No.50: infer result is 15.88,ground truth is 14.90\n", "No.60: infer result is 18.62,ground truth is 21.40\n", "No.70: infer result is 15.36,ground truth is 13.80\n", "No.80: infer result is 18.03,ground truth is 20.60\n", "No.90: infer result is 21.45,ground truth is 24.50\n", "平均误差为: 12.579632779346012\n" ] } ], "source": [ "#获取预测数据\n", "INFER_BATCH_SIZE = 100\n", "\n", "infer_features_np = np.array([data[:13] for data in test_data]).astype(\"float32\")\n", "infer_labels_np = np.array([data[-1] for data in test_data]).astype(\"float32\")\n", "infer_features = paddle.to_tensor(infer_features_np)\n", "fetch_list = model(infer_features).numpy()\n", "\n", "sum_cost = 0\n", "for i in range(INFER_BATCH_SIZE):\n", " infer_result = fetch_list[i][0]\n", " ground_truth = infer_labels_np[i]\n", " if i % 10 == 0:\n", " print(\"No.%d: infer result is %.2f,ground truth is %.2f\" % (i, infer_result,ground_truth))\n", " cost = np.power(infer_result-ground_truth,2)\n", " sum_cost += cost\n", "print(\"平均误差为:\",sum_cost / INFER_BATCH_SIZE)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "def plot_pred_ground(pred, ground):\n", " plt.figure() \n", " plt.title(\"Predication v.s. Ground\", fontsize=24)\n", " plt.xlabel(\"ground truth price(unit:$1000)\", fontsize=14)\n", " plt.ylabel(\"predict price\", fontsize=14)\n", " plt.scatter(ground, pred, alpha=0.5) # scatter:散点图,alpha:\"透明度\"\n", " plt.plot(ground, ground, c='red')\n", " plt.show()" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_pred_ground(fetch_list, infer_labels_np)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "上图可以看出,我们训练出来的模型的预测结果与真实结果是较为接近的。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 训练方式二\n", "我们也可以用我们的高层API来做线性回归训练,高层API相较于底层API更加的简洁方便。" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/5\n", "step 10/51 - loss: 459.0659 - 2ms/step\n", "step 20/51 - loss: 529.2217 - 2ms/step\n", "step 30/51 - loss: 632.7692 - 2ms/step\n", "step 40/51 - loss: 611.4449 - 2ms/step\n", "step 50/51 - loss: 787.7990 - 2ms/step\n", "step 51/51 - loss: 616.6230 - 2ms/step\n", "Eval begin...\n", "step 10/13 - loss: 412.7979 - 845us/step\n", "step 13/13 - loss: 394.4999 - 962us/step\n", "Eval samples: 102\n", "Epoch 2/5\n", "step 10/51 - loss: 498.4369 - 2ms/step\n", "step 20/51 - loss: 872.9701 - 1ms/step\n", "step 30/51 - loss: 660.2790 - 2ms/step\n", "step 40/51 - loss: 1086.9590 - 2ms/step\n", "step 50/51 - loss: 569.2678 - 3ms/step\n", "step 51/51 - loss: 416.6243 - 3ms/step\n", "Eval begin...\n", "step 10/13 - loss: 413.6576 - 3ms/step\n", "step 13/13 - loss: 391.9444 - 3ms/step\n", "Eval samples: 102\n", "Epoch 3/5\n", "step 10/51 - loss: 639.1314 - 2ms/step\n", "step 20/51 - loss: 839.7043 - 1ms/step\n", "step 30/51 - loss: 658.3038 - 1ms/step\n", "step 40/51 - loss: 855.3226 - 1ms/step\n", "step 50/51 - loss: 863.4664 - 1ms/step\n", "step 51/51 - loss: 415.3571 - 1ms/step\n", "Eval begin...\n", "step 10/13 - loss: 414.4321 - 868us/step\n", "step 13/13 - loss: 389.4324 - 892us/step\n", "Eval samples: 102\n", "Epoch 4/5\n", "step 10/51 - loss: 660.5611 - 1ms/step\n", "step 20/51 - loss: 649.4131 - 1ms/step\n", "step 30/51 - loss: 578.6218 - 1ms/step\n", "step 40/51 - loss: 697.6048 - 1ms/step\n", "step 50/51 - loss: 784.4253 - 1ms/step\n", "step 51/51 - loss: 423.0613 - 1ms/step\n", "Eval begin...\n", "step 10/13 - loss: 415.2260 - 598us/step\n", "step 13/13 - loss: 386.9349 - 702us/step\n", "Eval samples: 102\n", "Epoch 5/5\n", "step 10/51 - loss: 1080.4787 - 2ms/step\n", "step 20/51 - loss: 726.1576 - 2ms/step\n", "step 30/51 - loss: 873.2540 - 1ms/step\n", "step 40/51 - loss: 566.3094 - 1ms/step\n", "step 50/51 - loss: 578.0419 - 1ms/step\n", "step 51/51 - loss: 459.7528 - 1ms/step\n", "Eval begin...\n", "step 10/13 - loss: 415.9169 - 707us/step\n", "step 13/13 - loss: 384.4219 - 805us/step\n", "Eval samples: 102\n" ] } ], "source": [ "import paddle\n", "paddle.disable_static()\n", "paddle.set_default_dtype(\"float64\")\n", "\n", "#step1:用高层API定义数据集,无需进行数据处理等,高层API为您一条龙搞定\n", "train_dataset = paddle.text.datasets.UCIHousing(mode='train')\n", "eval_dataset = paddle.text.datasets.UCIHousing(mode='test')\n", "\n", " \n", "#step2:定义模型\n", "class UCIHousing(paddle.nn.Layer):\n", " def __init__(self):\n", " super(UCIHousing, self).__init__()\n", " self.fc = paddle.nn.Linear(13, 1, None)\n", "\n", " def forward(self, input):\n", " return self.fc(input)\n", "\n", "#step3:训练模型\n", "model = paddle.Model(UCIHousing())\n", "model.prepare(paddle.optimizer.Adam(parameters=model.parameters()),\n", " paddle.nn.loss.MSELoss())\n", "model.fit(train_dataset, eval_dataset, epochs=5, batch_size=8)" ] } ], "metadata": { "accelerator": "GPU", "colab": { "collapsed_sections": [], "name": "线性回归(基于paddle2.0-alpha)", "provenance": [], "toc_visible": true }, "kernelspec": { "display_name": "Python 3", "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.7.4" } }, "nbformat": 4, "nbformat_minor": 4 }