ipynb • Lines: 1192{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "EAt-K2qgcIou"
},
"source": [
"# Classification with Perceptron"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "FZYK-0rin5x7"
},
"source": [
"In this lab, you will use a single perceptron neural network model to solve a simple classification problem. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Table of Contents\n",
"\n",
"- [ 1 - Simple Classification Problem](#1)\n",
"- [ 2 - Single Perceptron Neural Network with Activation Function](#2)\n",
" - [ 2.1 - Neural Network Structure](#2.1)\n",
" - [ 2.2 - Dataset](#2.2)\n",
" - [ 2.3 - Define Activation Function](#2.3)\n",
"- [ 3 - Implementation of the Neural Network Model](#3)\n",
" - [ 3.1 - Defining the Neural Network Structure](#3.1)\n",
" - [ 3.2 - Initialize the Model's Parameters](#3.2)\n",
" - [ 3.3 - The Loop](#3.3)\n",
" - [ 3.4 - Integrate parts 3.1, 3.2 and 3.3 in nn_model() and make predictions](#3.4)\n",
"- [ 4 - Performance on a Larger Dataset](#4)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "XI8PBrk_2Z4V"
},
"source": [
"## Packages\n",
"\n",
"Let's first import all the packages that you will need during this lab."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"tags": [
"graded"
]
},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from matplotlib import colors\n",
"# A function to create a dataset.\n",
"from sklearn.datasets import make_blobs \n",
"\n",
"# Output of plotting commands is displayed inline within the Jupyter notebook.\n",
"%matplotlib inline \n",
"\n",
"# Set a seed so that the results are consistent.\n",
"np.random.seed(3)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a name='1'></a>\n",
"## 1 - Simple Classification Problem\n",
"\n",
"**Classification** is the problem of identifying which of a set of categories an observation belongs to. In case of only two categories it is called a **binary classification problem**. Let's see a simple example of it.\n",
"\n",
"Imagine that you have a set of sentences which you want to classify as \"happy\" and \"angry\". And you identified that the sentences contain only two words: *aack* and *beep*. For each of the sentences (data point in the given dataset) you count the number of those two words ($x_1$ and $x_2$) and compare them with each other. If there are more \"beep\" ($x_2 > x_1$), the sentence should be classified as \"angry\", if not ($x_2 <= x_1$), it is a \"happy\" sentence. Which means that there will be some straight line separating those two classes.\n",
"\n",
"Let's take a very simple set of $4$ sentenses: \n",
"- \"Beep!\" \n",
"- \"Aack?\" \n",
"- \"Beep aack...\" \n",
"- \"!?\"\n",
"\n",
"Here both $x_1$ and $x_2$ will be either $0$ or $1$. You can plot those points in a plane, and see the points (observations) belong to two classes, \"angry\" (red) and \"happy\" (blue), and a straight line can be used as a decision boundary to separate those two classes. An example of such a line is plotted. "
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"tags": [
"graded"
]
},
"outputs": [
{
"data": {
"text/plain": [
"[]"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAkIAAAGxCAYAAACOSdkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/av/WaAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA6u0lEQVR4nO3dfXzO9eLH8fdubNPJhrAN05KQiJCdkWNjTG5CYW5C4uhGjuz0K1JGd1ROR6eUk9ydcn9XCsNurm4XDlZyk0QZ2dxl09xsruv7+8PZdc4y2ubavte17+v5eFwPfPb5Xnt/rL7X2+d73XgZhmEIAADAgrzNDgAAAGAWihAAALAsihAAALAsihAAALAsihAAALAsihAAALAsihAAALAsihAAALAsX7MDmMHhcOjnn39WlSpV5OXlZXYcAABQDIZh6MyZM6pdu7a8vV2zl2PJIvTzzz8rLCzM7BgAAKAUMjIyVLduXZfclyWLUJUqVSRd+osMDAw0OQ2Aa+FwOPTEE09ozpw5kqSZM2fq/vvvNzkVgLKQk5OjsLAw5+O4K1iyCBVcDgsMDKQIAR7M4XDo0Ucf1Zw5c+Tl5aV58+Zp2LBhZscCUMZc+bQWSxYhAJ7P4XDokUce0TvvvCMvLy8tWLBAQ4YMMTsWAA9DEQLgcRwOhx566CG9++678vb21oIFC7gcBqBUKEIAPIrD4dCoUaM0Z84ceXt761//+pcGDx5sdiwAHooiBMBjOBwOjRw5UvPmzZO3t7fef/99DRw40OxYADwYRQiAR7Db7Ro5cqTmz58vb29vLVy4UAMGDDA7FgAPRxEC4PbsdrsefPBB/etf/5KPj48WLlyouLg4s2MBqAAoQgDcmt1u1/Dhw/Xee+/Jx8dHixcvVr9+/cyOBaCCoAgBcFt2u13Dhg3TwoUL5ePjoyVLlqhv375mxwJQgfChqwDc0sWLFzV06FAtXLhQvr6+Wrp0KSUIgMuxIwTA7RSUoMWLF8vX11fLli1Tnz59zI4FoAKiCAFwKxcvXtT999+vpUuXytfXV8uXL1fv3r3NjgWggqIIAXAbFy9e1ODBg7Vs2TJVqlRJy5cvV69evcyOBaACowgBcAv5+fkaPHiwli9frkqVKmnlypXq2bOn2bEAVHAUIQCmy8/P18CBA7Vy5Ur5+flp5cqV6tGjh9mxAFgARQiAqfLz8zVgwACtWrVKfn5+Wr16tbp162Z2LAAWwcvnAZgmLy9PcXFxWrVqlfz9/fXBBx9QggCUK3aEAJgiLy9P/fv314cffugsQV27djU7FgCLoQgBKHd5eXnq16+f1qxZI39/f3344YeKjY01OxYAC+LSGIBydeHCBfXt21dr1qxRQECA1qxZQwkCYBp2hACUmwsXLui+++7T2rVrFRAQoI8++kgxMTFmxwJgYewIASgX58+f17333qu1a9eqcuXK+vjjjylBAEzHjhCAMldQgtavX+8sQR07djQ7FgBQhACUrfPnz6tPnz5KTEzUddddp7Vr1yoqKsrsWAAgyQ0ujX366afq2bOnateuLS8vL33wwQe/e4zNZlPLli3l7++vBg0aaP78+WWe0+PZ7ZLNJi1efOlXu93sRLCAc+fOqVevXs4StG7dOkoQXIbTGlzB9CKUm5ur5s2ba+bMmcWaf/DgQXXv3l3R0dFKT0/X448/rpEjR2rDhg1lnNSDrVolhYdL0dHSoEGXfg0PvzQOlJGCErRx40b94Q9/0Pr169WhQwezY6GC4LQGV/EyDMMwO0QBLy8vrV69Wr17977inKeeekpr167Vt99+6xwbMGCATp8+rcTExGJ9n5ycHAUFBSk7O1uBgYHXGtu9rVol9e0r/fbH7OV16dcVK6R77y3/XKjQzp49q169eikpKclZgtq3b292LFQQnNasqywev03fESqptLS0y15pEhsbq7S0NJMSuTG7XRo79vKzhfTfsccfZz8ZLnX27Fndc889SkpK0vXXX6/ExERKEFyG0xpczeOKUGZmpoKDgwuNBQcHKycnR+fOnSvymAsXLignJ6fQzRI++0w6fPjKXzcMKSPj0jzABXJzc9WjRw8lJyc7S9Bdd91ldixUIJzW4GoeV4RKY+rUqQoKCnLewsLCzI5UPo4ede084CoKSlBqaqqqVKmiDRs2qF27dmbHQgXDaQ2u5nFFKCQkRFlZWYXGsrKyFBgYqMqVKxd5zIQJE5Sdne28ZWRklEdU84WGunYecAW5ubnq3r27bDabswS1bdvW7FiogDitwdU87n2EIiMjtW7dukJjmzZtUmRk5BWP8ff3l7+/f1lHcz/t20t160pHjhR9Qd3L69LXef4GrsGvv/6q7t2769NPP1VgYKA2bNigP/7xj2bHQgXFaQ2uZvqO0K+//qr09HSlp6dLuvTy+PT0dB06dEjSpd2coUOHOuc//PDDOnDggJ588knt3btXb731lpYtW6Zx48aZEd+9+fhIr79+6fcFL6coUPDnGTMuzQNK4ddff1W3bt306aefKigoSJs2baIEoUxxWoPLGSZLTU01JF12GzZsmGEYhjFs2DCjQ4cOlx3TokULw8/Pz6hfv74xb968En3P7OxsQ5KRnZ3tmkW4u5UrDaNuXcO49A+oS7ewsEvjQCnl5OQYd911lyHJCAoKMrZs2WJ2JFgIpzVrKovHb7d6H6HyYqn3ESpgt196GcXRo5cunrdvzz+ZUGo5OTm6++679eWXX6pq1aratGmTWrdubXYsWAynNespi8dvj3uOEErJx0fiow3gAjk5OeratavS0tJUrVo1bdq0Sa1atTI7FiyI0xpcgSIEoNiys7PVtWtXffXVV6pWrZqSkpLUsmVLs2MBQKlRhAAUS3Z2tmJjY7V582ZVr15dSUlJuuOOO8yOBQDXhCIE4HedPn1asbGx2rJli6pXr67k5GS1aNHC7FgAcM0oQgCu6vTp0+rSpYu2bt2qG264QcnJyWrevLnZsQDAJUx/HyEA7uuXX35R586dtXXrVtWoUUMpKSmUIAAVCjtCAIp06tQpde7cWdu3b3eWoGbNmpkdCwBciiIE4DKnTp1STEyMduzYoZo1ayolJUVNmzY1OxYAuByXxgAUcvLkSXXq1Ek7duxQrVq1lJqaSgkCUGFRhAA4nThxQp06dVJ6erqCg4OVmpqq2267zexYAFBmuDQGQNJ/S9A333zjLEG33nqr2bEAoEyxIwRAx48fV8eOHfXNN98oJCRENpuNEgTAEihCgMUdO3ZMHTt21M6dOxUaGiqbzabGjRubHQsAygWXxgALKyhBu3btUmhoqFJTU9WoUSOzYwFAuWFHCLCorKwsRUdHa9euXapdu7ZsNhslCIDlUIQAC8rMzFR0dLR2796tOnXqyGazqWHDhmbHAoByx6UxwGIKStDevXtVt25dpaamqkGDBmbHAgBTsCMEWMjRo0edJSgsLEw2m40SBMDS2BECLOLnn39WdHS09u3b5yxB9evXNzsWAJiKHSHAAv63BNWrV48SBAD/QRECKrgjR44oKipK+/bt04033kgJAoD/QRECKrDDhw8rKipK33//vcLDw2Wz2XTTTTeZHQsA3AbPEQIqqIyMDEVHR+uHH35wlqAbb7zR7FgA4FYoQkAFlJGRoaioKB04cEA33XSTbDab6tWrZ3YsAHA7XBoDKpiffvpJHTp00IEDB1S/fn198sknlCAAuAKKEFCB/Pjjj4qKitLBgwd18803y2azKSwszOxYAOC2uDQGVBAFJeinn35SgwYNlJqaqrp165odCwDcGjtCQAVw8OBBZwm65ZZbZLPZKEEAUAwUIcDDHThwwFmCGjZsqNTUVNWpU8fsWADgEbg0BniwghKUkZGhRo0aKSUlRbVr1zY7FgB4DHaEAA/1ww8/qEOHDsrIyFDjxo2VmppKCQKAEqIIAR5o//796tChgw4fPqxbb71VqampCg0NNTsWAHgcihDgYb7//ntFRUXpyJEjatKkiVJTUxUSEmJ2LADwSBQhwIPs27fPWYJuu+02paSkKDg42OxYAOCxKEKAh/juu+8UFRWln3/+WU2bNqUEAYALUIQAD7B3715FR0fr6NGjatasmVJSUlSrVi2zYwGAx6MIAW5uz549zhJ0++23Kzk5WTVr1jQ7FgBUCBQhwI3t3r1b0dHRyszMVPPmzSlBAOBivKEi4KYKStCxY8fUokULJSUl6YYbbjA7FgBUKOwIAW7o22+/VVRUlI4dO6Y77riDEgQAZYQiBLiZb7/9Vh07dtTx48fVsmVLShAAlCGKEOBGdu7cqejoaB0/flytWrXSpk2bVL16dbNjAUCFRREC3MTXX3+t6OhonThxQq1bt6YEAUA5oAgBbuDrr79Wp06ddPLkSd15553atGmTqlWrZnYsAKjwKEKAydLT09WxY0edPHlSbdq00caNG1W1alWzYwGAJVCEABNt375dHTt21KlTpxQREUEJAoByRhECTLJ9+3bFxMTol19+UWRkpDZu3KigoCCzYwGApVCEABNs27ZNnTp10i+//KK2bdsqMTFRgYGBZscCAMuhCAHlbOvWrYqJidHp06fVrl07ShAAmIgiBJSjLVu2qHPnzjp9+rTuuusurV+/XlWqVDE7FgBYFkUIKCebN29W586dlZ2drfbt21OCAMANuEURmjlzpsLDwxUQEKCIiAht2bLlqvNnzJihRo0aqXLlygoLC9O4ceN0/vz5ckoLlNxXX32lLl26KCcnR3/605+0bt06XX/99WbHAgDLM70ILV26VPHx8UpISND27dvVvHlzxcbG6tix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\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots()\n",
"xmin, xmax = -0.2, 1.4\n",
"x_line = np.arange(xmin, xmax, 0.1)\n",
"# Data points (observations) from two classes.\n",
"ax.scatter(0, 0, color=\"b\")\n",
"ax.scatter(0, 1, color=\"r\")\n",
"ax.scatter(1, 0, color=\"b\")\n",
"ax.scatter(1, 1, color=\"b\")\n",
"ax.set_xlim([xmin, xmax])\n",
"ax.set_ylim([-0.1, 1.1])\n",
"ax.set_xlabel('$x_1$')\n",
"ax.set_ylabel('$x_2$')\n",
"# One of the lines which can be used as a decision boundary to separate two classes.\n",
"ax.plot(x_line, x_line + 0.5, color=\"black\")\n",
"plt.plot()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This particular line is chosen using common sense, just looking at the visual representation of the observations. Such classification problem is called a problem with **two linearly separable classes**.\n",
"\n",
"The line $x_1-x_2+0.5 = 0$ (or $x_2 = x_1 + 0.5$) can be used as a separating line for the problem. All of the points $(x_1, x_2)$ above this line, such that $x_1-x_2+0.5 < 0$ (or $x_2 > x_1 + 0.5$), will be considered belonging to the red class, and below this line $x_1-x_2+0.5 > 0$ ($x_2 < x_1 + 0.5$) - belonging to the blue class. So the problem can be rephrased: in the expression $w_1x_1+w_2x_2+b=0$ find the values for the parameters $w_1$, $w_2$ and the threshold $b$, so that the line can serve as a decision boundary.\n",
"\n",
"In this simple example you could solve the problem of finding the decision boundary just looking at the plot: $w_1 = 1$, $w_2 = -1$, $b = 0.5$. But what if the problem is more complicated? You can use a simple neural network model to do that! Let's implement it for this example and then try it for more complicated problem."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a name='2'></a>\n",
"## 2 - Single Perceptron Neural Network with Activation Function\n",
"\n",
"You already have constructed and trained a neural network model with one **perceptron**. Here a similar model can be used, but with an activation function. Then a single perceptron basically works as a threshold function."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a name='2.1'></a>\n",
"### 2.1 - Neural Network Structure"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The neural network components are shown in the following scheme:\n",
"\n",
"<img src=\"images/nn_model_classification_1_layer.png\" style=\"width:600px;\">\n",
"\n",
"Similarly to the previous lab, the input layer contains two nodes $x_1$ and $x_2$. Weight vector $W = \\begin{bmatrix} w_1 & w_2\\end{bmatrix}$ and bias ($b$) are the parameters to be updated during the model training. First step in the forward propagation is the same as in the previous lab. For every training example $x^{(i)} = \\begin{bmatrix} x_1^{(i)} & x_2^{(i)}\\end{bmatrix}$:\n",
"\n",
"$$z^{(i)} = w_1x_1^{(i)} + w_2x_2^{(i)} + b = Wx^{(i)} + b.\\tag{1}$$\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"But now you cannot take a real number $z^{(i)}$ into the output as you need to perform classification. It could be done with a discrete approach: compare the result with zero, and classify as $0$ (blue) if it is below zero and $1$ (red) if it is above zero. Then define cost function as a percentage of incorrectly identified classes and perform backward propagation.\n",
"\n",
"This extra step in the forward propagation is actually an application of an **activation function**. It would be possible to implement the discrete approach described above (with unit step function) for this problem, but it turns out that there is a continuous approach that works better and is commonly used in more complicated neural networks. So you will implement it here: single perceptron with sigmoid activation function."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Sigmoid activation function is defined as\n",
"\n",
"$$a = \\sigma\\left(z\\right) = \\frac{1}{1+e^{-z}}.\\tag{2}$$\n",
"\n",
"Then a threshold value of $0.5$ can be used for predictions: $1$ (red) if $a > 0.5$ and $0$ (blue) otherwise. Putting it all together, mathematically the single perceptron neural network with sigmoid activation function can be expressed as:\n",
"\n",
"\\begin{align}\n",
"z^{(i)} &= W x^{(i)} + b,\\\\\n",
"a^{(i)} &= \\sigma\\left(z^{(i)}\\right).\\\\\\tag{3}\n",
"\\end{align}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If you have $m$ training examples organised in the columns of ($2 \\times m$) matrix $X$, you can apply the activation function element-wise. So the model can be written as:\n",
"\n",
"\\begin{align}\n",
"Z &= W X + b,\\\\\n",
"A &= \\sigma\\left(Z\\right),\\\\\\tag{4}\n",
"\\end{align}\n",
"\n",
"where $b$ is broadcasted to the vector of a size ($1 \\times m$). \n",
"\n",
"When dealing with classification problems, the most commonly used cost function is the **log loss**, which is described by the following equation:\n",
"\n",
"$$\\mathcal{L}\\left(W, b\\right) = \\frac{1}{m}\\sum_{i=1}^{m} L\\left(W, b\\right) = \\frac{1}{m}\\sum_{i=1}^{m} \\large\\left(\\small -y^{(i)}\\log\\left(a^{(i)}\\right) - (1-y^{(i)})\\log\\left(1- a^{(i)}\\right) \\large \\right) \\small,\\tag{5}$$\n",
"\n",
"where $y^{(i)} \\in \\{0,1\\}$ are the original labels and $a^{(i)}$ are the continuous output values of the forward propagation step (elements of array $A$)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You want to minimize the cost function during the training. To implement gradient descent, calculate partial derivatives using chain rule:\n",
"\n",
"\\begin{align}\n",
"\\frac{\\partial \\mathcal{L} }{ \\partial w_1 } &= \n",
"\\frac{1}{m}\\sum_{i=1}^{m} \\frac{\\partial L }{ \\partial a^{(i)}}\n",
"\\frac{\\partial a^{(i)} }{ \\partial z^{(i)}}\\frac{\\partial z^{(i)} }{ \\partial w_1},\\\\\n",
"\\frac{\\partial \\mathcal{L} }{ \\partial w_2 } &= \n",
"\\frac{1}{m}\\sum_{i=1}^{m} \\frac{\\partial L }{ \\partial a^{(i)}}\n",
"\\frac{\\partial a^{(i)} }{ \\partial z^{(i)}}\\frac{\\partial z^{(i)} }{ \\partial w_2},\\tag{6}\\\\\n",
"\\frac{\\partial \\mathcal{L} }{ \\partial b } &= \n",
"\\frac{1}{m}\\sum_{i=1}^{m} \\frac{\\partial L }{ \\partial a^{(i)}}\n",
"\\frac{\\partial a^{(i)} }{ \\partial z^{(i)}}\\frac{\\partial z^{(i)} }{ \\partial b}.\n",
"\\end{align}\n",
"\n",
"As discussed in the videos, $\\frac{\\partial L }{ \\partial a^{(i)}}\n",
"\\frac{\\partial a^{(i)} }{ \\partial z^{(i)}} = \\left(a^{(i)} - y^{(i)}\\right)$, $\\frac{\\partial z^{(i)}}{ \\partial w_1} = x_1^{(i)}$, $\\frac{\\partial z^{(i)}}{ \\partial w_2} = x_2^{(i)}$ and $\\frac{\\partial z^{(i)}}{ \\partial b} = 1$. Then $(6)$ can be rewritten as:\n",
"\n",
"\\begin{align}\n",
"\\frac{\\partial \\mathcal{L} }{ \\partial w_1 } &= \n",
"\\frac{1}{m}\\sum_{i=1}^{m} \\left(a^{(i)} - y^{(i)}\\right)x_1^{(i)},\\\\\n",
"\\frac{\\partial \\mathcal{L} }{ \\partial w_2 } &= \n",
"\\frac{1}{m}\\sum_{i=1}^{m} \\left(a^{(i)} - y^{(i)}\\right)x_2^{(i)},\\tag{7}\\\\\n",
"\\frac{\\partial \\mathcal{L} }{ \\partial b } &= \n",
"\\frac{1}{m}\\sum_{i=1}^{m} \\left(a^{(i)} - y^{(i)}\\right).\n",
"\\end{align}\n",
"\n",
"Note that the obtained expressions $(7)$ are exactly the same as in the section $3.2$ of the previous lab, when multiple linear regression model was discussed. Thus, they can be rewritten in a matrix form:\n",
"\n",
"\\begin{align}\n",
"\\frac{\\partial \\mathcal{L} }{ \\partial W } &= \n",
"\\begin{bmatrix} \\frac{\\partial \\mathcal{L} }{ \\partial w_1 } & \n",
"\\frac{\\partial \\mathcal{L} }{ \\partial w_2 }\\end{bmatrix} = \\frac{1}{m}\\left(A - Y\\right)X^T,\\\\\n",
"\\frac{\\partial \\mathcal{L} }{ \\partial b } &= \\frac{1}{m}\\left(A - Y\\right)\\mathbf{1}.\n",
"\\tag{8}\n",
"\\end{align}\n",
"\n",
"where $\\left(A - Y\\right)$ is an array of a shape ($1 \\times m$), $X^T$ is an array of a shape ($m \\times 2$) and $\\mathbf{1}$ is just a ($m \\times 1$) vector of ones.\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Then you can update the parameters:\n",
"\n",
"\\begin{align}\n",
"W &= W - \\alpha \\frac{\\partial \\mathcal{L} }{ \\partial W },\\\\\n",
"b &= b - \\alpha \\frac{\\partial \\mathcal{L} }{ \\partial b },\n",
"\\tag{9}\\end{align}\n",
"\n",
"where $\\alpha$ is the learning rate. Repeat the process in a loop until the cost function stops decreasing."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Finally, the predictions for some example $x$ can be made taking the output $a$ and calculating $\\hat{y}$ as"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\\hat{y} = \\begin{cases} 1 & \\mbox{if } a > 0.5 \\\\ 0 & \\mbox{otherwise } \\end{cases}\\tag{10}$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a name='2.2'></a>\n",
"### 2.2 - Dataset\n",
"\n",
"Let's get the dataset you will work on. The following code will create $m=30$ data points $(x_1, x_2)$, where $x_1, x_2 \\in \\{0,1\\}$ and save them in the `NumPy` array `X` of a shape $(2 \\times m)$ (in the columns of the array). The labels ($0$: blue, $1$: red) will be calculated so that $y = 1$ if $x_1 = 0$ and $x_2 = 1$, in the rest of the cases $y=0$. The labels will be saved in the array `Y` of a shape $(1 \\times m)$."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"tags": [
"graded"
]
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Training dataset X containing (x1, x2) coordinates in the columns:\n",
"[[0 0 1 1 0 0 0 1 1 1 0 1 1 1 0 1 1 0 0 0 0 1 1 0 0 0 1 0 0 0]\n",
" [0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 0 1 1 1 1 0 1 0 0 1 1 1 0 0]]\n",
"Training dataset Y containing labels of two classes (0: blue, 1: red)\n",
"[[0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 0 1 0 0]]\n",
"The shape of X is: (2, 30)\n",
"The shape of Y is: (1, 30)\n",
"I have m = 30 training examples!\n"
]
}
],
"source": [
"m = 30\n",
"\n",
"X = np.random.randint(0, 2, (2, m))\n",
"Y = np.logical_and(X[0] == 0, X[1] == 1).astype(int).reshape((1, m))\n",
"\n",
"print('Training dataset X containing (x1, x2) coordinates in the columns:')\n",
"print(X)\n",
"print('Training dataset Y containing labels of two classes (0: blue, 1: red)')\n",
"print(Y)\n",
"\n",
"print ('The shape of X is: ' + str(X.shape))\n",
"print ('The shape of Y is: ' + str(Y.shape))\n",
"print ('I have m = %d training examples!' % (X.shape[1]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a name='2.3'></a>\n",
"### 2.3 - Define Activation Function\n",
"\n",
"The sigmoid function $(2)$ for a variable $z$ can be defined with the following code:"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"tags": [
"graded"
]
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"sigmoid(-2) = 0.11920292202211755\n",
"sigmoid(0) = 0.5\n",
"sigmoid(3.5) = 0.9706877692486436\n"
]
}
],
"source": [
"def sigmoid(z):\n",
" return 1/(1 + np.exp(-z))\n",
" \n",
"print(\"sigmoid(-2) = \" + str(sigmoid(-2)))\n",
"print(\"sigmoid(0) = \" + str(sigmoid(0)))\n",
"print(\"sigmoid(3.5) = \" + str(sigmoid(3.5)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It can be applied to a `NumPy` array element by element:"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"tags": [
"graded"
]
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[0.11920292 0.5 0.97068777]\n"
]
}
],
"source": [
"print(sigmoid(np.array([-2, 0, 3.5])))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a name='3'></a>\n",
"## 3 - Implementation of the Neural Network Model\n",
"\n",
"Implementation of the described neural network will be very similar to the previous lab. The differences will be only in the functions `forward_propagation` and `compute_cost`!"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a name='3.1'></a>\n",
"### 3.1 - Defining the Neural Network Structure"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Define two variables:\n",
"- `n_x`: the size of the input layer\n",
"- `n_y`: the size of the output layer\n",
"\n",
"using shapes of arrays `X` and `Y`."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"tags": [
"graded"
]
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The size of the input layer is: n_x = 2\n",
"The size of the output layer is: n_y = 1\n"
]
}
],
"source": [
"def layer_sizes(X, Y):\n",
" \"\"\"\n",
" Arguments:\n",
" X -- input dataset of shape (input size, number of examples)\n",
" Y -- labels of shape (output size, number of examples)\n",
" \n",
" Returns:\n",
" n_x -- the size of the input layer\n",
" n_y -- the size of the output layer\n",
" \"\"\"\n",
" n_x = X.shape[0]\n",
" n_y = Y.shape[0]\n",
" \n",
" return (n_x, n_y)\n",
"\n",
"(n_x, n_y) = layer_sizes(X, Y)\n",
"print(\"The size of the input layer is: n_x = \" + str(n_x))\n",
"print(\"The size of the output layer is: n_y = \" + str(n_y))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a name='3.2'></a>\n",
"### 3.2 - Initialize the Model's Parameters"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Implement the function `initialize_parameters()`, initializing the weights array of shape $(n_y \\times n_x) = (1 \\times 1)$ with random values and the bias vector of shape $(n_y \\times 1) = (1 \\times 1)$ with zeros."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"tags": [
"graded"
]
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"W = [[-0.00768836 -0.00230031]]\n",
"b = [[0.]]\n"
]
}
],
"source": [
"def initialize_parameters(n_x, n_y):\n",
" \"\"\"\n",
" Returns:\n",
" params -- python dictionary containing your parameters:\n",
" W -- weight matrix of shape (n_y, n_x)\n",
" b -- bias value set as a vector of shape (n_y, 1)\n",
" \"\"\"\n",
" \n",
" W = np.random.randn(n_y, n_x) * 0.01\n",
" b = np.zeros((n_y, 1))\n",
"\n",
" parameters = {\"W\": W,\n",
" \"b\": b}\n",
" \n",
" return parameters\n",
"\n",
"parameters = initialize_parameters(n_x, n_y)\n",
"print(\"W = \" + str(parameters[\"W\"]))\n",
"print(\"b = \" + str(parameters[\"b\"]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a name='3.3'></a>\n",
"### 3.3 - The Loop"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Implement `forward_propagation()` following the equation $(4)$ in the section [2.1](#2.1):\n",
"\\begin{align}\n",
"Z &= W X + b,\\\\\n",
"A &= \\sigma\\left(Z\\right).\n",
"\\end{align}"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"tags": [
"graded"
]
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Output vector A: [[0.5 0.49942492 0.49807792 0.49750285 0.49942492 0.5\n",
" 0.49942492 0.49807792 0.49807792 0.49750285 0.49942492 0.49807792\n",
" 0.49807792 0.49750285 0.5 0.49750285 0.49807792 0.49942492\n",
" 0.49942492 0.49942492 0.49942492 0.49807792 0.49750285 0.5\n",
" 0.5 0.49942492 0.49750285 0.49942492 0.5 0.5 ]]\n"
]
}
],
"source": [
"def forward_propagation(X, parameters):\n",
" \"\"\"\n",
" Argument:\n",
" X -- input data of size (n_x, m)\n",
" parameters -- python dictionary containing your parameters (output of initialization function)\n",
" \n",
" Returns:\n",
" A -- The output\n",
" \"\"\"\n",
" W = parameters[\"W\"]\n",
" b = parameters[\"b\"]\n",
" \n",
" # Forward Propagation to calculate Z.\n",
" Z = np.matmul(W, X) + b\n",
" A = sigmoid(Z)\n",
"\n",
" return A\n",
"\n",
"A = forward_propagation(X, parameters)\n",
"\n",
"print(\"Output vector A:\", A)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Your weights were just initialized with some random values, so the model has not been trained yet. \n",
"\n",
"Define a cost function $(5)$ which will be used to train the model:\n",
"\n",
"$$\\mathcal{L}\\left(W, b\\right) = \\frac{1}{m}\\sum_{i=1}^{m} \\large\\left(\\small -y^{(i)}\\log\\left(a^{(i)}\\right) - (1-y^{(i)})\\log\\left(1- a^{(i)}\\right) \\large \\right) \\small.$$"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"tags": [
"graded"
]
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"cost = 0.6916391611507907\n"
]
}
],
"source": [
"def compute_cost(A, Y):\n",
" \"\"\"\n",
" Computes the log loss cost function\n",
" \n",
" Arguments:\n",
" A -- The output of the neural network of shape (n_y, number of examples)\n",
" Y -- \"true\" labels vector of shape (n_y, number of examples)\n",
" \n",
" Returns:\n",
" cost -- log loss\n",
" \n",
" \"\"\"\n",
" # Number of examples.\n",
" m = Y.shape[1]\n",
"\n",
" # Compute the cost function.\n",
" logprobs = - np.multiply(np.log(A),Y) - np.multiply(np.log(1 - A),1 - Y)\n",
" cost = 1/m * np.sum(logprobs)\n",
" \n",
" return cost\n",
"\n",
"print(\"cost = \" + str(compute_cost(A, Y)))"
]
},
{
"cell_type": "markdown",
"metadata": {
"tags": [
"graded"
]
},
"source": [
"Calculate partial derivatives as shown in $(8)$:\n",
"\n",
"\\begin{align}\n",
"\\frac{\\partial \\mathcal{L} }{ \\partial W } &= \\frac{1}{m}\\left(A - Y\\right)X^T,\\\\\n",
"\\frac{\\partial \\mathcal{L} }{ \\partial b } &= \\frac{1}{m}\\left(A - Y\\right)\\mathbf{1}.\n",
"\\end{align}"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"dW = [[ 0.21571875 -0.06735779]]\n",
"db = [[0.16552706]]\n"
]
}
],
"source": [
"def backward_propagation(A, X, Y):\n",
" \"\"\"\n",
" Implements the backward propagation, calculating gradients\n",
" \n",
" Arguments:\n",
" A -- the output of the neural network of shape (n_y, number of examples)\n",
" X -- input data of shape (n_x, number of examples)\n",
" Y -- \"true\" labels vector of shape (n_y, number of examples)\n",
" \n",
" Returns:\n",
" grads -- python dictionary containing gradients with respect to different parameters\n",
" \"\"\"\n",
" m = X.shape[1]\n",
" \n",
" # Backward propagation: calculate partial derivatives denoted as dW, db for simplicity. \n",
" dZ = A - Y\n",
" dW = 1/m * np.dot(dZ, X.T)\n",
" db = 1/m * np.sum(dZ, axis = 1, keepdims = True)\n",
" \n",
" grads = {\"dW\": dW,\n",
" \"db\": db}\n",
" \n",
" return grads\n",
"\n",
"grads = backward_propagation(A, X, Y)\n",
"\n",
"print(\"dW = \" + str(grads[\"dW\"]))\n",
"print(\"db = \" + str(grads[\"db\"]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Update parameters as shown in $(9)$:\n",
"\n",
"\\begin{align}\n",
"W &= W - \\alpha \\frac{\\partial \\mathcal{L} }{ \\partial W },\\\\\n",
"b &= b - \\alpha \\frac{\\partial \\mathcal{L} }{ \\partial b }.\\end{align}"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"W updated = [[-0.26655087 0.07852904]]\n",
"b updated = [[-0.19863247]]\n"
]
}
],
"source": [
"def update_parameters(parameters, grads, learning_rate=1.2):\n",
" \"\"\"\n",
" Updates parameters using the gradient descent update rule\n",
" \n",
" Arguments:\n",
" parameters -- python dictionary containing parameters \n",
" grads -- python dictionary containing gradients \n",
" learning_rate -- learning rate parameter for gradient descent\n",
" \n",
" Returns:\n",
" parameters -- python dictionary containing updated parameters \n",
" \"\"\"\n",
" # Retrieve each parameter from the dictionary \"parameters\".\n",
" W = parameters[\"W\"]\n",
" b = parameters[\"b\"]\n",
" \n",
" # Retrieve each gradient from the dictionary \"grads\".\n",
" dW = grads[\"dW\"]\n",
" db = grads[\"db\"]\n",
" \n",
" # Update rule for each parameter.\n",
" W = W - learning_rate * dW\n",
" b = b - learning_rate * db\n",
" \n",
" parameters = {\"W\": W,\n",
" \"b\": b}\n",
" \n",
" return parameters\n",
"\n",
"parameters_updated = update_parameters(parameters, grads)\n",
"\n",
"print(\"W updated = \" + str(parameters_updated[\"W\"]))\n",
"print(\"b updated = \" + str(parameters_updated[\"b\"]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a name='3.4'></a>\n",
"### 3.4 - Integrate parts 3.1, 3.2 and 3.3 in nn_model() and make predictions"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Build your neural network model in `nn_model()`."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"tags": [
"graded"
]
},
"outputs": [],
"source": [
"def nn_model(X, Y, num_iterations=10, learning_rate=1.2, print_cost=False):\n",
" \"\"\"\n",
" Arguments:\n",
" X -- dataset of shape (n_x, number of examples)\n",
" Y -- labels of shape (n_y, number of examples)\n",
" num_iterations -- number of iterations in the loop\n",
" learning_rate -- learning rate parameter for gradient descent\n",
" print_cost -- if True, print the cost every iteration\n",
" \n",
" Returns:\n",
" parameters -- parameters learnt by the model. They can then be used to make predictions.\n",
" \"\"\"\n",
" \n",
" n_x = layer_sizes(X, Y)[0]\n",
" n_y = layer_sizes(X, Y)[1]\n",
" \n",
" parameters = initialize_parameters(n_x, n_y)\n",
" \n",
" # Loop\n",
" for i in range(0, num_iterations):\n",
" \n",
" # Forward propagation. Inputs: \"X, parameters\". Outputs: \"A\".\n",
" A = forward_propagation(X, parameters)\n",
" \n",
" # Cost function. Inputs: \"A, Y\". Outputs: \"cost\".\n",
" cost = compute_cost(A, Y)\n",
" \n",
" # Backpropagation. Inputs: \"A, X, Y\". Outputs: \"grads\".\n",
" grads = backward_propagation(A, X, Y)\n",
" \n",
" # Gradient descent parameter update. Inputs: \"parameters, grads, learning_rate\". Outputs: \"parameters\".\n",
" parameters = update_parameters(parameters, grads, learning_rate)\n",
" \n",
" # Print the cost every iteration.\n",
" if print_cost:\n",
" print (\"Cost after iteration %i: %f\" %(i, cost))\n",
"\n",
" return parameters"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"tags": [
"graded"
]
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Cost after iteration 0: 0.693480\n",
"Cost after iteration 1: 0.608586\n",
"Cost after iteration 2: 0.554475\n",
"Cost after iteration 3: 0.513124\n",
"Cost after iteration 4: 0.478828\n",
"Cost after iteration 5: 0.449395\n",
"Cost after iteration 6: 0.423719\n",
"Cost after iteration 7: 0.401089\n",
"Cost after iteration 8: 0.380986\n",
"Cost after iteration 9: 0.363002\n",
"Cost after iteration 10: 0.346813\n",
"Cost after iteration 11: 0.332152\n",
"Cost after iteration 12: 0.318805\n",
"Cost after iteration 13: 0.306594\n",
"Cost after iteration 14: 0.295369\n",
"Cost after iteration 15: 0.285010\n",
"Cost after iteration 16: 0.275412\n",
"Cost after iteration 17: 0.266489\n",
"Cost after iteration 18: 0.258167\n",
"Cost after iteration 19: 0.250382\n",
"Cost after iteration 20: 0.243080\n",
"Cost after iteration 21: 0.236215\n",
"Cost after iteration 22: 0.229745\n",
"Cost after iteration 23: 0.223634\n",
"Cost after iteration 24: 0.217853\n",
"Cost after iteration 25: 0.212372\n",
"Cost after iteration 26: 0.207168\n",
"Cost after iteration 27: 0.202219\n",
"Cost after iteration 28: 0.197505\n",
"Cost after iteration 29: 0.193009\n",
"Cost after iteration 30: 0.188716\n",
"Cost after iteration 31: 0.184611\n",
"Cost after iteration 32: 0.180682\n",
"Cost after iteration 33: 0.176917\n",
"Cost after iteration 34: 0.173306\n",
"Cost after iteration 35: 0.169839\n",
"Cost after iteration 36: 0.166507\n",
"Cost after iteration 37: 0.163303\n",
"Cost after iteration 38: 0.160218\n",
"Cost after iteration 39: 0.157246\n",
"Cost after iteration 40: 0.154382\n",
"Cost after iteration 41: 0.151618\n",
"Cost after iteration 42: 0.148950\n",
"Cost after iteration 43: 0.146373\n",
"Cost after iteration 44: 0.143881\n",
"Cost after iteration 45: 0.141471\n",
"Cost after iteration 46: 0.139139\n",
"Cost after iteration 47: 0.136881\n",
"Cost after iteration 48: 0.134694\n",
"Cost after iteration 49: 0.132574\n",
"W = [[-3.57177421 3.24255633]]\n",
"b = [[-1.58411051]]\n"
]
}
],
"source": [
"parameters = nn_model(X, Y, num_iterations=50, learning_rate=1.2, print_cost=True)\n",
"print(\"W = \" + str(parameters[\"W\"]))\n",
"print(\"b = \" + str(parameters[\"b\"]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can see that after about $40$ iterations the cost function does keep decreasing, but not as much. It is a sign that it might be reasonable to stop training there. The final model parameters can be used to find the boundary line and for making predictions. Let's visualize the boundary line."
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"tags": [
"graded"
]
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGdCAYAAADAAnMpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/av/WaAAAACXBIWXMAAA9hAAAPYQGoP6dpAABB4ElEQVR4nO3dfXzO9eLH8de12Y27DWFumtyE3OQmslapaOXQWYfOKVEskUKFERvXzXbtYkIoNzmE6sQhDtUPR2onSajjZh3lLkYTNhY2Rpvt+v7+cNo5TtSutV3f3byfj8f3D999Ptf3fX1tu977Xt/r+7UYhmEgIiIiYhIfswOIiIhIxaYyIiIiIqZSGRERERFTqYyIiIiIqVRGRERExFQqIyIiImIqlRERERExlcqIiIiImKqS2QEKw+12c+LECapXr47FYjE7joiIiBSCYRicP3+eBg0a4ONz/eMfZaKMnDhxgtDQULNjiIiISBEcO3aMG2+88bpfLxNlpHr16sCVJxMUFGRyGhERESmMrKwsQkNDC17Hr6dMlJGf3poJCgpSGRERESljfu0UC53AKiIiIqZSGRERERFTqYyIiIiIqVRGRERExFQqIyIiImIqlRERERExlcqIiIiImMrjMrJ582YiIyNp0KABFouF995771fn5OTkMHHiRG666SYCAgJo3LgxixcvLkpeERERKWc8vuhZdnY27du35+mnn+aRRx4p1JzHHnuM9PR0Fi1axM0338zJkydxu90ehxUREZHyx+My0rNnT3r27Fno8Rs2bODTTz8lJSWFWrVqAdC4cWNPNysiIiLlVImfM/LBBx/QuXNnpk6dSsOGDWnRogVjx47l0qVL152Tk5NDVlbWVYuIiIiUTyV+b5qUlBS2bNlCYGAga9asISMjg+HDh/PDDz+wZMmSa85JTEwkPj6+pKOJiIhIKVDiR0bcbjcWi4WlS5fSpUsXevXqxYwZM3jrrbeue3QkNjaWzMzMguXYsWMlHVNERKTCMQyDv//97/To0YPz58+blqPEy0j9+vVp2LAhwcHBBetatWqFYRh8//3315wTEBBQcIde3alXRESk+H3yySfcfffd9OrVi40bN/Laa6+ZlqXEy8hdd93FiRMnuHDhQsG6gwcP4uPjw4033ljSmxcREZH/sn37diIiIujevTtbt24lMDCQMWPGMHToUNMy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iHhTJU8G165dG19fX9LT069an56eTr169X5x7vTp05kyZQoff/wx7dq1+8WxAQEBBAQEeBJNREREyiiPjoz4+/vTqVMnkpKSCta53W6SkpIIDw+/7rypU6eSkJDAhg0b6Ny5c9HTioiISLnj0ZERgOjoaKKioujcuTNdunRh1qxZZGdnM2jQIAAGDhxIw4YNSUxMBODll1/GbrezbNkyGjduXHBuSbVq1ahWrVoxPhUREREpizwuI3379uX06dPY7XbS0tLo0KEDGzZsKDipNTU1FR+f/xxwef3118nNzeVPf/rTVY/jcDiIi4v7belFRESkzPP4OiNm0HVGREREyp4Suc6IiIiISHFTGRERERFTqYyIiIiIqVRGRERExFQqIyIiImIqlRERERExlcqIiIiImEplREREREylMiIiIiKmUhkRERERU6mMiIiIiKlURkRERMRUKiMiIiJiKpURERERMZXKiIiIiJhKZURERERMpTIiIiIiplIZEREREVOpjIiIiIipVEZERETEVCojIiIiYiqVERERETGVyoiIiIiYSmVERERETKUyIiIiIqZSGRERERFTqYyIiIiIqVRGRERExFQqIyIiImIqlRERERExVYUtI//8J9SpA5UrQ9OmkJVldiIRERHvWrcOataEKlWgbVvIyTEnR5HKyNy5c2ncuDGBgYGEhYXx5Zdf/uL4lStXcssttxAYGMitt97K+vXrixS2OOTkgL8/dOkCGRnw449w5AgEB0PDhqbFEhER8ZqcHPD1hd//Hs6dg0uX4JtvIDAQ2rXzfh6Py8iKFSuIjo7G4XCwa9cu2rdvT48ePTh16tQ1x2/dupV+/foxePBgdu/eTe/evenduzdff/31bw5fFFWrwuXL1/7aiRNXjpKIiIiUZ4GB4HZf+2t79sC993o3j8UwDMOTCWFhYdx+++3MmTMHALfbTWhoKC+88AIxMTE/G9+3b1+ys7NZu3Ztwbo77riDDh06MH/+/EJtMysri+DgYDIzMwkKCvIk7lXWrIFHHvn1cZ7tERERkbIjOhpmzvz1ccXxWljY12+Pjozk5uayc+dOIiIi/vMAPj5ERESwbdu2a87Ztm3bVeMBevTocd3xADk5OWRlZV21FIcnnyzcuD59imVzIiIipc5rrxVu3Ouvl2yO/+ZRGcnIyCA/P5+QkJCr1oeEhJCWlnbNOWlpaR6NB0hMTCQ4OLhgCQ0N9STmdf34Y+HG/etfxbI5ERGRUic/v3DjNm4s2Rz/rVR+miY2NpbMzMyC5dixY8XyuJUrF25cly7FsjkREZFSx9e3cOP+8IeSzfHfPCojtWvXxtfXl/T09KvWp6enU69evWvOqVevnkfjAQICAggKCrpqKQ5/+1vhxv31r8WyORERkVJnwoTCjXvqqRKNcRWPyoi/vz+dOnUiKSmpYJ3b7SYpKYnw8PBrzgkPD79qPMBHH3103fElqUcP8PP75TGtWnkni4iIiBmcTvD5lVf/nj29k+UnlTydEB0dTVRUFJ07d6ZLly7MmjWL7OxsBg0aBMDAgQNp2LAhiYmJAIwcOZJ7772XV155hYceeojly5ezY8cOFixYULzPpJByc6+8XXOt80eaN4e9e72fSURExJsuXrxyqYtrnT9yzz3g7cuBeVxG+vbty+nTp7Hb7aSlpdGhQwc2bNhQcJJqamoqPv9Vue68806WLVuG1WplwoQJNG/enPfee4+2bdsW37Pw0KVL8P330LUrnD0LLVrAZ59BQIBpkURERLwmIADy8iA5+cqFzy5cgE6d4H/eyPAaj68zYobius6IiIiIeE+JXGdEREREpLipjIiIiIipVEZERETEVCojIiIiYiqVERERETGVyoiIiIiYSmVERERETKUyIiIiIqZSGRERERFTeXw5eDP8dJHYrKwsk5OIiIhIYf30uv1rF3svE2Xk/PnzAISGhpqcRERERDx1/vx5goODr/v1MnFvGrfbzYkTJ6hevToWi6XYHjcrK4vQ0FCOHTume96UMO1r79B+9g7tZ+/QfvaOktzPhmFw/vx5GjRocNVNdP9XmTgy4uPjw4033lhijx8UFKRvdC/RvvYO7Wfv0H72Du1n7yip/fxLR0R+ohNYRURExFQqIyIiImKqCl1GAgICcDgcBAQEmB2l3NO+9g7tZ+/QfvYO7WfvKA37uUycwCoiIiLlV4U+MiIiIiLmUxkRERERU6mMiIiIiKlURkRERMRU5b6MzJ07l8aNGxMYGEhYWBhffvnlL45fuXIlt9xyC4GBgdx6662sX7/eS0nLPk/29cKFC+natSs1a9akZs2aRERE/Or/jVzh6ff0T5YvX47FYqF3794lG7Cc8HQ/nzt3jhEjRlC/fn0CAgJo0aKFfn8Ugqf7edasWbRs2ZLKlSsTGhrK6NGj+fHHH72UtmzavHkzkZGRNGjQAIvFwnvvvferczZt2sRtt91GQEAAN998M2+++WbJhjTKseXLlxv+/v7G4sWLjW+++cZ45plnjBo1ahjp6enXHP/5558bvr6+xtSpU429e/caVqvV8PPzM/bs2ePl5GWPp/u6f//+xty5c43du3cb+/btM5566ikjODjY+P77772cvGzxdD//5MiRI0bDhg2Nrl27Gn/4wx+8E7YM83Q/5+TkGJ07dzZ69eplbNmyxThy5IixadMmIzk52cvJyxZP9/PSpUuNgIAAY+nSpcaRI0eMDz/80Khfv74xevRoLycvW9avX29MnDjRWL16tQEYa9as+cXxKSkpRpUqVYzo6Ghj7969xuzZsw1fX19jw4YNJZaxXJeRLl26GCNGjCj4d35+vtGgQQMjMTHxmuMfe+wx46GHHrpqXVhYmPHss8+WaM7ywNN9/b/y8vKM6tWrG2+99VZJRSwXirKf8/LyjDvvvNN44403jKioKJWRQvB0P7/++utG06ZNjdzcXG9FLBc83c8jRowwunfvftW66Oho46677irRnOVJYcrIuHHjjDZt2ly1rm/fvkaPHj1KLFe5fZsmNzeXnTt3EhERUbDOx8eHiIgItm3bds0527Ztu2o8QI8ePa47Xq4oyr7+XxcvXuTy5cvUqlWrpGKWeUXdz06nk7p16zJ48GBvxCzzirKfP/jgA8LDwxkxYgQhISG0bduWyZMnk5+f763YZU5R9vOdd97Jzp07C97KSUlJYf369fTq1csrmSsKM14Ly8SN8ooiIyOD/Px8QkJCrlofEhLC/v37rzknLS3tmuPT0tJKLGd5UJR9/b/Gjx9PgwYNfvYDIP9RlP28ZcsWFi1aRHJyshcSlg9F2c8pKSn84x//4IknnmD9+vUcOnSI4cOHc/nyZRwOhzdilzlF2c/9+/cnIyODu+++G8MwyMvL47nnnmPChAneiFxhXO+1MCsri0uXLlG5cuVi32a5PTIiZceUKVNYvnw5a9asITAw0Ow45cb58+cZMGAACxcupHbt2mbHKdfcbjd169ZlwYIFdOrUib59+zJx4kTmz59vdrRyZdOmTUyePJl58+axa9cuVq9ezbp160hISDA7mvxG5fbISO3atfH19SU9Pf2q9enp6dSrV++ac+rVq+fReLmiKPv6J9OnT2fKlCl8/PHHtGvXriRjlnme7ufDhw9z9OhRIiMjC9a53W4AKlWqxIEDB2jWrFnJhi6DivL9XL9+ffz8/PD19S1Y16pVK9LS0sjNzcXf379EM5dFRdnPNpuNAQMGMGTIEABuvfVWsrOzGTp0KBMnTsTHR39fF4frvRYGBQWVyFERKMdHRvz9/enUqRNJSUkF69xuN0lJSYSHh19zTnh4+FXjAT766KPrjpcrirKvAaZOnUpCQgIbNmygc+fO3ohapnm6n2+55Rb27NlDcnJywfLwww/TrVs3kpOTCQ0N9Wb8MqMo38933XUXhw4dKih7AAcPHqR+/foqItdRlP188eLFnxWOnwqgodusFRtTXgtL7NTYUmD58uVGQECA8eabbxp79+41hg4datSoUcNIS0szDMMwBgwYYMTExBSM//zzz41KlSoZ06dPN/bt22c4HA59tLeQPN3XU6ZMMfz9/Y1Vq1YZJ0+eLFjOnz9v1lMoEzzdz/9Ln6YpHE/3c2pqqlG9enXj+eefNw4cOGCsXbvWqFu3ruFyucx6CmWCp/vZ4XAY1atXN/76178aKSkpxsaNG41mzZoZjz32mFlPoUw4f/68sXv3bmP37t0GYMyYMcPYvXu38d133xmGYRgxMTHGgAEDCsb/9NHel156ydi3b58xd+5cfbT3t5o9e7bRqFEjw9/f3+jSpYuxffv2gq/de++9RlRU1FXj3333XaNFixaGv7+/0aZNG2PdunVeTlx2ebKvb7rpJgP42eJwOLwfvIzx9Hv6v6mMFJ6n+3nr1q1GWFiYERAQYDRt2tSYNGmSkZeX5+XUZY8n+/ny5ctGXFyc0axZMyMwMNAIDQ01hg8fbpw9e9b7wcuQTz755Jq/b3/at1FRUca99977szkdOnQw/P39jaZNmxpLliwp0YwWw9CxLRERETFPuT1nRERERMoGlRERERExlcqIiIiImEplREREREylMiIiIiKmUhkRERERU6mMiIiIiKlURkRERMRUKiMiIiJiKpURERERMZXKiIiIiJhKZURERERM9f+hXahrXDIrygAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def plot_decision_boundary(X, Y, parameters):\n",
" W = parameters[\"W\"]\n",
" b = parameters[\"b\"]\n",
"\n",
" fig, ax = plt.subplots()\n",
" plt.scatter(X[0, :], X[1, :], c=Y, cmap=colors.ListedColormap(['blue', 'red']));\n",
" \n",
" x_line = np.arange(np.min(X[0,:]),np.max(X[0,:])*1.1, 0.1)\n",
" ax.plot(x_line, - W[0,0] / W[0,1] * x_line + -b[0,0] / W[0,1] , color=\"black\")\n",
" plt.plot()\n",
" plt.show()\n",
" \n",
"plot_decision_boundary(X, Y, parameters)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"And make some predictions:"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Coordinates (in the columns):\n",
"[[1 1 0 0]\n",
" [0 1 0 1]]\n",
"Predictions:\n",
"[[False False False True]]\n"
]
}
],
"source": [
"def predict(X, parameters):\n",
" \"\"\"\n",
" Using the learned parameters, predicts a class for each example in X\n",
" \n",
" Arguments:\n",
" parameters -- python dictionary containing your parameters \n",
" X -- input data of size (n_x, m)\n",
" \n",
" Returns\n",
" predictions -- vector of predictions of our model (blue: False / red: True)\n",
" \"\"\"\n",
" \n",
" # Computes probabilities using forward propagation, and classifies to 0/1 using 0.5 as the threshold.\n",
" A = forward_propagation(X, parameters)\n",
" predictions = A > 0.5\n",
" \n",
" return predictions\n",
"\n",
"X_pred = np.array([[1, 1, 0, 0],\n",
" [0, 1, 0, 1]])\n",
"Y_pred = predict(X_pred, parameters)\n",
"\n",
"print(f\"Coordinates (in the columns):\\n{X_pred}\")\n",
"print(f\"Predictions:\\n{Y_pred}\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Pretty good for such a simple neural network!"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a name='4'></a>\n",
"## 4 - Performance on a Larger Dataset\n",
"\n",
"Construct a larger and more complex dataset with the function `make_blobs` from the `sklearn.datasets` library:"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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xnpe+TAYpAi0KVq1AubPB86fBxYv9nwd7XZg+vSmvR4RUSAw+SDVHT/ueYVAUeS0xu2rIno3bZr3lY9nnvHPaxkMQHo6MGxY3W0Yx/vLlgFxcf55PSIif2LyQapr3dp74WRoqPfVEb155BEgJaX+mgyTCejbVxIUf7FYgH/+E1iwQIp2Hfr3B95/37m1RUSkN0w+SHVPPOF5hcBsls8JtuTDZJLTJc8+C4SEOB83GuXryc+XxMufwsKkSPfnn4GffgLKyqSI94kn/Ps6RET+ZFCU2/sfaquyshIRERGoqKhAm8Y0RCDds1rlt/MTJ5yzSRyMRrmJHzkCJCTU//cVBfjqKzm62rYt8MADchPWk8uXJUabTY4TN6RAlIgomPly/2aTMVKd2Sxj4B95ROaQmM2yynHzpjTC2rbNfeKRny9FlLUnsrZpA2RkALNn62e1JDISGDNG6yiIiPSJyQdpIjpatgfy8oCPP5a+HgMHApMmud+aOHRIVjlu37KprARefFGeY968wMdORERNw20XChojRji3MuoTEiJ9NNq2VTcuIiLy7f7NglMKCiUlwBdfeC5UvXkTeO899WIiIqLGYfJBQaGszPvnmM1N6yBKRETqYPJBQaFzZ++fY7UCXboEPhYiImoaJh8UFLp0kQZenpqTWSzAuHHqxURERI3D5IOCRlaWjJZ3N9V18WIgIkLdmIiIyHdMPihoDBwofT7i410f79ABWLtW+nwQEZH+sc8HBZWkJKCoSN7OnAF+8xtg+HBZESEiouDA5IOCUv/+8kZERMGH2y5ERESkKiYfREREpComH0RERKQqJh9ERESkKiYfREREpComH0RERKQqJh9ERESkKiYfREREpComH0RERKQq3XU4VRQFAFBZWalxJERERNRQjvu24z7uie6Sj6qqKgBATEyMxpEQERGRr6qqqhDhZcS4QWlIiqIiu92O0tJShIeHw2AwaB2OpiorKxETE4OSkhK0adNG63B0idfIO14j73iNvOM18q6lXyNFUVBVVYXo6GgYjZ6rOnS38mE0GtG1a1etw9CVNm3atMh/yL7gNfKO18g7XiPveI28a8nXyNuKhwMLTomIiEhVTD6IiIhIVUw+dMxisSAjIwMWi0XrUHSL18g7XiPveI284zXyjteo4XRXcEpERETNG1c+iIiISFVMPoiIiEhVTD6IiIhI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\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Dataset\n",
"n_samples = 1000\n",
"samples, labels = make_blobs(n_samples=n_samples, \n",
" centers=([2.5, 3], [6.7, 7.9]), \n",
" cluster_std=1.4,\n",
" random_state=0)\n",
"\n",
"X_larger = np.transpose(samples)\n",
"Y_larger = labels.reshape((1,n_samples))\n",
"\n",
"plt.scatter(X_larger[0, :], X_larger[1, :], c=Y_larger, cmap=colors.ListedColormap(['blue', 'red']));"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"And train your neural network for $100$ iterations."
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"W = [[1.01643208 1.13651775]]\n",
"b = [[-10.65346577]]\n"
]
}
],
"source": [
"parameters_larger = nn_model(X_larger, Y_larger, num_iterations=100, learning_rate=1.2, print_cost=False)\n",
"print(\"W = \" + str(parameters_larger[\"W\"]))\n",
"print(\"b = \" + str(parameters_larger[\"b\"]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plot the decision boundary:"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAiIAAAGdCAYAAAAvwBgXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/av/WaAAAACXBIWXMAAA9hAAAPYQGoP6dpAADWbUlEQVR4nOydd3gUVReHfzOzSUgghRY6CNI7SBERpCkIUmyAAtJsqCBNlA8REBQUUVHpHVFUehcQEASkSC9K770mlCQku+f74zhuye7MbN8k932e+xB2Z+6cuTM798y5p0hERBAIBAKBQCAIAnKwBRAIBAKBQJB1EYqIQCAQCASCoCEUEYFAIBAIBEFDKCICgUAgEAiChlBEBAKBQCAQBA2hiAgEAoFAIAgaQhERCAQCgUAQNIQiIhAIBAKBIGiYgi2AFhaLBRcvXkR0dDQkSQq2OAKBQCAQCAxARLhz5w4KFiwIWda2eYS0InLx4kUUKVIk2GIIBAKBQCDwgHPnzqFw4cKa24S0IhIdHQ2ATyQmJibI0ggEAoFAIDBCYmIiihQp8t88roXHisimTZswevRo7Nq1C5cuXcKiRYvQpk0bAEBqaio+/PBDrFy5EidPnkRsbCyaNGmCUaNGoWDBgoaPoS7HxMTECEVEIBAIBIIMhhG3Co+dVe/du4cqVapg3Lhx6b67f/8+du/ejcGDB2P37t1YuHAhjhw5glatWnl6OIFAIBAIBJkQyRfVdyVJsrOIOGPnzp2oVasWzpw5g6JFixrqNzExEbGxsUhISBAWEYFAIBAIMgjuzN8B8xFJSEiAJEmIi4tzuU1KSgpSUlL++39iYmIAJBMIBAKBQBAsApJHJDk5Ge+//z5eeuklTc1o5MiRiI2N/a+JiBmBQCAQCDI3fldEUlNT0bZtWxARJkyYoLntwIEDkZCQ8F87d+6cv8UTCAQCgUAQRPy6NKMqIWfOnMH69et114kiIiIQERHhT5EEAoFAIBCEEH5TRFQl5NixY9iwYQNy587tr0MJBAKBQCDIoHisiNy9exfHjx//7/+nTp3C3r17kStXLhQoUAAvvPACdu/ejeXLl8NsNuPy5csAgFy5ciE8PNx7yQUCgUAgEGR4PA7f/f3339GwYcN0n3fu3BlDhw5F8eLFne63YcMGNGjQwNAxRPiuQJDJOHYM2L4dUBSgQQOgQIFgSyQQCPxAQMJ3GzRoAC0dxgfpSQQCQWbh4kWgSxdg7VrrZ4oCvPwyMH48kCNH0EQTCATBJaRrzQgEgkzA7dtAvXrA2bP2n5vNwI8/AmfOAOvXs2IiEAiyHAHJIyIQCLIwkyYBp08DaWnpvzObgU2bgBUrAi6WQCAIDYQiIhAI/Mu0aYDF4vp7RQFmzvTd8YiArVuBN98E2rQB3noL2LnTd/0LBAKfIpZmBAKBf7lyRft7sxm4cME3x0pJYb+ThQsBk4mtMCYTMGEC0LEjMGMG/18gEIQMwiIiEAj8i15kjKIABgth6tKvH7B4Mf+tLgWp//7wAzB4sG+OIxAIfIZQRAQCgX957TVAklx/bzYD3bp5f5zr14HJk10vAxEB33wD3Lnj/bEEAoHPEIqIQCDwL6+/DpQp4zwqRpaBpk25ecv69UBqqvY29+8Df/zh/bEEAoHPEIqIQCDwL9HRPPm3bm1vGQkPZ4fSxYtZIfGWlBTfbicQCAKC8NoSCAT+J08eYMEC4Px54K+/2GH0sceAXLl8d4xq1fS3kSSgalXfHVMgEHiNUEQEAkHgKFyYmz+oWBGoWxfYto39ThxRFODJJwEX5ScEAkFwEEszAoEg8zBrFpA7d3p/FEXh6J0pU4Ijl0AgcIlQRAQCQebh4YeBvXuB3r2BnDn5szx5gPfeA3bv9p81xlP27wfeeQdo3Bh44QXg55+BBw+CLZVAEFA8rr4bCET1XYHADxAB9+4B2bJl/uReFotvHGF9DREwcCDw2WfWxGuyzPKWLw+sWwfkzx9sKQUCj3Fn/g7BX6hAIPALd+4Aw4bxBBcdDURGAm3bAnv2BFsy/+GtEnLkCCsMr7zCVpV9+3wj17RprIQA1oRrav6To0c5wih03xEFAp8iLCICQVYgMZEr4B46ZO/IaTJxJMny5cBTTwVPvlDDYuHlnW+/ZWWGiP81m4FWrThVvKcRP0RAyZLAyZPa223ZwpFFely4AIwfz8s6d+8CFSpwfZ1nnw1Na5AgSyAsIgKBwJ6hQ9MrIQC/jZvNwEsvAcnJQREtJHnzTVZCAFZKiKxjt3QpEB8PdO8OXL7sft+nT+srISYT8Ouv+n3t2sWKx2efASdOcF2fjRvZ36RDB+fRQwJBiCEUEYEgs5OczNEiriYliwW4eZPzfAg4/FcvusZs5gid2rXdV0b0sr8CbKXS2+7BA6BlS7aC2F5b9e+ff7YqUwJBCCMUEYEgs3P2LE9WWoSFcQSHAOjb19h2atXgDz90r/+HHgLi4rS3SU0FatbU3mbxYuDSJdcKJhHw1Veua+8IBCGCUEQEgsxOZKT+NkQcRZPVSUxki4hRzGau6qun6NkSHs4+HK78N2SZc560aqXdz5YtrEBqcfYsL9cIBCGMUEQEgsxO4cKcdVSrAm5aGkdqZHVu3XI/WiU5Gbh40b19PvwQePxxvia218VkAqKigIUL9UOrjTqiCodVQYgj7lCBILMjScDgwa4nWEUBmjQBqlf37XGTk4GZM4GGDYFy5YBmzYB586zhqv5mxw7g7beB114DJk1ia4ceefOyxcJd3I3qi4wE1qwBvvuO84ZERHBG2B49OET40Uf1+2jUSNuPRJK46nF8vHuyCQQBRoTvCgRZhS+/5FwY6hu4JLFSULcusGyZNROpL7hxg7OF7ttnTdSlKLyU0bAhsGKFsSUjTzh/HqhfHzh1yv7z8HAOu335Ze39u3YFvv/eWMSJLLPSsGWL5/J6itkMlC4NnDnjWtapUzm6RyAIMO7M30IREQiyEufO8WR85Ai/xbdtCzRooL1s4wmtWgErVzqfIGUZeOMNzn3ha27fBooU0fbZWLOGi9+54swZoEYNXqbRUkbUMStZkhWvnDmBzp059DdvXo/Ed5sjR1ixUyN3iKyZWnv1Ar7+2vfXViAwgFBEBAKB9+zfD/z5J1syGjUCSpQwtt/Jkzw5az1aIiI44sOXVhiA3/6nT9fepmZNXrbR4sQJrgGzerX9ecgyj0daGk/wagp5NTJFlnkp5I8/eAxsSUvjkNvISN8qBwkJHEr8yy+8/FSpEitD9er57hgCgZsIRUQgEHjGgQM8qf38My9xqEgSO7POmKEfejpjBtCtm/6xfv0VaNrUK3HtMJuB7NmBlBT9ba9eNWa1OHuWU67nyMEWpMWLebLftQtYv955aKzJxH4fe/fyuP31FzBqFO9rNgMFC3LUTJ8+7JgqEGRC3Jm/M3nFK4FAYIjERM6uunKl8++J2I/kySeBrVu1w0aNvtv4+h3o1i1jSgjAdXeMKCJFi3JTKV+el33y5XOdnyMtzWpNunULaNOGP1eXeS5eBD76iMdz3TpWngSCLIyImhEIsjpEXJdk9Wrt7cxmfrtftEh7u7p19Y8ZFqafsMtdoqKMLXmYTJynwygWC1tA1q4Fjh/nVPn372vvoyjAhg2s3JnN6SOFLBYey08/NS6HQJBJEYqIQJDV2bKFlxmMRIkoCi/daFGmDFtOXOXBUBSgUycOV/UlUVHGCve1bm08YueXX4BSpdh59amn+O8339Tfj4itInfuuLb8mM3AhAnGUr4LBJkYoYgIBJmV5GT9N3eAJ1u95FkqZrOxTJ2zZ7Nzq23CLjWxVo0aHM2hcu8e+6YcPep9OvJhw7QTeEVG8uRvhJkzgXbt0heo27tXf181XFkv8+mtW54VznPk8mVeCjpyxPdLXgKBnxGKiECQ2Vi0iMvHR0ay/0HFisC0aa4nqIQE45OXogDFi+tvlz8/L2d88w1QtSo7aNauzREtGzcC0dHsl9KrF0eZVK7MlpSSJTn3haeTae3awJIlzv0uihXjZZW8eVlJGz+ej5sjB1CoEPDBB1w7BmDlqGdPz2QwmTiktkgRY+fhTWr9o0e58F3BgnzNy5blqJmlSz3vM6uQksL3vqjFE3wohElISCAAlJCQEGxRBIKMwfDhRACRLPO/AJEk8b/duhFZLM73URTr9nrt11+9l/PuXaKqVdMfV5V18GDv+r9/n2j2bKJ33iHq1Yto+3brd/fuET32GB9LPR7AsuTKRXTgANGcOcbHw7FVqEB05QrR5s3a28kyUc2anp/jsWNEOXO6HsPvv/duDDMrW7cSPfOM9TcSH080bBjfkwKf4c78nSUVkdu3b1PTpk1p586dPu1XIAgqu3frT5ILF6bf7/x5e8VFa+Js1YrIbPZe1k8/1T/mX395fxxn9OnjWvFSFKJSpYg++YTIZHJPAZEkoho1iJKS+DgWCys8WkreokWen0fr1tp9R0ez0iWwsnAhj5njuKlKoVBGfIY783eWXJr56KOPsHr1ajz66KMYMmQIUoWzmCAzMGGCtq+HonBtE0cKFQK++IL/dhV1EhUF9OvHtWJ8UURtwgR9k3jjxva5THzB/fvA5MmuHXPNZuDYMeD6dWPOu7YQ8T7qUosk8TKRWsPHZEo/vq+/zn4tSUnuHevqVQ7/1ZLxzh1gwQL3+s3M3LkDdOzIY+Y4bhYLsHu3iGIKEllWEWnbti3MZjM+/vhj1K5dGwcPHgy2WAKBd+zZo11Qzmx27WjZpw/w009cnE4lMpJTtS9Zwg6qn3/uXkG4tDRO4tWjB2c8nTiRJwOzmVPN65GYqF8Xxl2OHGH/Dy1MJj53ow68tuzdy+OokicPsG0bh0Y/9hgrK7bKyLVrwMcfc9FBd5SRc+f0FbmwsPSOtlmZHj20nbfVKKZAFWUU/EeWVERy586Nn3/+GT/99BNy5cqFPXv24JFHHsHnn38Os7tvQQJBqGAkS6dW2Gq7dsDBg1ws7vBhniSXLGFlJEcO92Q5eZKVmmefZefT2bM5m2jBgpyPw4isRJwqff9+946thRHlgoizqP7vf+73TwR06MBJ31RkmR12//zTuo0tFgsrK199Zfw4uXLpb2M2G9suKzBtGvDDD/rb3brF1iZBQMmSiohKu3btcPDgQbRo0QIPHjzA+++/j/r16+P48ePBFk0gcJ/nntNO6GUyAS++qN2HJAEPPcRKhKcZP5OSuDbN6dP8/7Q0bkT8Rtq6NdCsGS8V6SFJrIz4inLlOCuqFmYzp54fMoStFe5GtUgSW49smTlTexnFYuFlM6PRQsWL85KP1jKZJAEvvGCsv8zMgwfAgAHGt/cmikngEVlaEQGAAgUKYNmyZZg2bRqio6OxdetWVKlSBePGjYNFhHUJMhKdO/NSgLMJXpbZVP/OO/6X45dfuIKtMxO3xcJNkowvffiyQJzJBLz3nvb3DRqwBUOSgMGDOUfHnDkcijxrFocma2E2syVJ9W+5eROYP19fybh0SbtqsCMjR7ruU5I4/NidDLKZld9+42ughyTx8pmwIgWcLK+IAIAkSejWrRsOHDiAhg0b4v79+3jnnXfQtGlTnD17NtjiCQTGiIvj2iXx8fx/k4mVEknipZUVK4CHH/a/HIsWab+pp6Xx5LB8ub6SQcQ5OXzFiRO87OQon/r/cuW44J8tsbG8bJWUBAwcaDwBWaNGwNixrAzs3KmviMgyVyU2ylNPsdKnVjBWnWFNJqB3b6sDclbn2jVj2xEBgwb5VxaBU0T1XQcsFgvGjRuH999/H0lJSYiJicHYsWPRuXNnSL58MxMI/EVKCr+B//Ybv50/9hhHC7jr5+EpTz7Jx9YiIoKTir31lutMp6p1Yu1a38i1bx9Qvz4vDzlaa7JlA8aMAV59Nb1DrtnMy17Llvkva6mi8HLV8uXu75uSwhaYEydYKXn2Wf3lp6zE+vUcgaXHwIEiasaHuDN/C0XEBUePHkXnzp2xbds2AECrVq0wadIk5NczywoEGY2kJJ6kLRbOyhkd7V1//frxMoar6ANZBqpUYetNnTocyeKMQoU4pFK18HgDEWeYPXLEua+GyQQ0b84TuiPffw+88or3MrhCTYO/aZOxgoEC9zCb2e/pwgXXimTJkpylVrxs+gx35m+Pl2Y2bdqEli1bomDBgpAkCYsXL7b7nojw0UcfoUCBAoiMjESTJk1w7NgxTw8XcEqXLo3Nmzdj1KhRCA8Px9KlS1GxYkXMmzcv2KIJBL4hNZVN0fnzs0JQty6/Sffu7X5eC1veeEPfMbNnT2DoUK5m6wxJAm7fNhZdY4Q//+QlGVdypaWxxcNZ3pJx43yTO8UVERHA3LmeKyG7dgHffsty/v23b2VzJCUl49WyURSr1c1R0ZBlVkInThRKSDDxNGvaypUradCgQbRw4UICQIscMgSOGjWKYmNjafHixbRv3z5q1aoVFS9enJLUrIMGCJUU7/v376eqVasSAAJA7du3pxs3bgRVJoHALR48IJo5k6h2baLcuYlKliQqW9Z1BtX69YlSUjw/3hdfOE81L0lEbdpwBsvs2fUzlU6Z4pvzHz/ePp27q7Z6dfp9Y2I8T/eud34tWhDduuXZOZ06RVSrlv3YAkRPPUV07Zo3o2XPnTtEI0YQFSzI/YeHE3XowKnwMxIrV6a/5ytVIlq/PtiSZUoCnuLdURGxWCyUP39+Gj169H+f3b59myIiImju3LmG+w0VRYSIKCUlhQYPHkyKohAAyp8/Py1fvjzYYgkE+iQlETVqlF4x0GszZvD+qan8sJ43j2jnTuf1apyxeDFRnTrW/iIiiCpXJhozhmjZMv3jh4VxOnY9/v6bqHdvPseWLYmmT+daM7bMmGHsnDduTN9/gQL+UUQAovnzjY2lIzduEBUu7DwNvcnEE2xysmd925KYSFS9evr7xmTi65nRJnGLhUshrFxJtG+f8XtZ4DZBV0ROnDhBAGjPnj1229WvX5969erlsp/k5GRKSEj4r507dy5kFBGV7du3U9myZf+zjnTv3j2k5BNkUBITuf5K0aL80M+Zk+jdd4nOnPGuX4uFqH179ydIWWYlYsYMonz57L8rX55o0yb9Y9+/T/T009Y3dndlMJn0i9999pl1W9vjFC1KdPy4dbtLl/QL++XK5Xzy7tXLP9aQPHk8tzqNHKmvVPqi6J1WXR5Z9u4cBJmaoCsiW7ZsIQB08eJFu+1efPFFatu2rct+hgwZ8t8Eb9tCbaK/f/8+9e3blyRJIgBUrFgxWp/R3gwEocPNm1yx1dlbZ86cnpvAHzzgZRBPJ8voaNcTUFgY0ZYt2sd//XX3LDDOmsPLjB2LFrneT1F4+Sktzbg8jz1G1LkzK4S2z66XXvJe6XCUzWQi8saiWqaM9jFlmZdovOH+faIcOfTP76efvDuOIFOSYYveDRw4EAkJCf+1c0bqUQSByMhIjBkzBhs2bEDx4sVx5swZNGrUCO+++y7ua9UyEAic0bcv8M8/6WuHpKVxvZUXX+RHvrt8+CHXevEUV8m1LBZ2+uzXz/W+168D06fr10NxhaIATz/NicVc8dlnrp1IzWZ2hF2xwvrZN99waCtgzbFim/xtxw5OA/7hh0CRIpzp9PRp+9oxntC0qX1+kIYNgd9/B1q08LzP69e1v7dYuD6QN5w9q59gLSzMdf0igcAgflFE1BDXKw4/hCtXrmiGv0ZERCAmJsauhTJPPPEE9u3bhzfeeAMA8M0336BatWr/hfwKBLpcvszhoVrVYP/5x/0053fuOK+0axRJ0lZ+1PooriLhfv/d/eJhYWHWbKuNG6dPLGbL3bt8fC1Fx2QCVq2y/j8igvOr7NwJvP020LYtKxyqMqKmolcVrZ49Oc27N9EUksTX98YNVoyuXeO8KEYiZI4fZ+Xp8885L4vtuRYvrh3JYzJxSKo3GEmuRiRSogu8xi+KSPHixZE/f36sW7fuv88SExOxfft21KlTxx+HDBrR0dGYOHEiVq1ahUKFCuHo0aOoW7cu/ve//yElJSXY4glCmXv3ODumXqFFWQb++su9vrdt0640qoXJxEXfjNSCuXjR+efuKCFhYZxo7NVX2Tq0YwdXq9XKZ2K0/9TU9J/VqAF8/TXQvz9bPFyNvyyzHEbGwRVErJRlz85ZbfPk0d/nzh1OoFaqFFdF/t//OElcqVIcqgtwiLSWEpaWxhWPvaFYMaBsWW1FLC0NaNnSu+MIsjweKyJ3797F3r17sfdfs9ypU6ewd+9enD17FpIkoXfv3hgxYgSWLl2KAwcO4JVXXkHBggXRpk0bH4keWjRr1gwHDhxAp06dYLFYMHLkSNSqVQv79u0LtmiCUOW994BDh/S3I0qf7VMPd60Rsmx9w65eHfjoI30FCXBddyUuzvix09J4+9GjebmlZk39fWJjOUmVFmYzUKuW6++XLNGud6MubzhTZtzhwQPj2xJxteOlS60yqNfhzBle1jlxAujUiXO/OFOSJAlo04aXhLxBkniZypVlTFE4jX316t4dRyDw1BFlw4YNTh1LO3fuTEQcwjt48GDKly8fRUREUOPGjenIkSNuHSOUwnfdYcGCBZQ3b14CQGFhYTRixAhKTU0NtliCUOLWLaJs2Yw7PNpGgBjBSJQIQFSsGNFvvxGNHUv01VccnpuSQtSkib4zZI0aro8/ebL7Tp25cxPt2GH8HL/6ynU0jiyzs+2dO67379+fnW69cUQ10tx57v32m3ZfJhPRm2/ytnfuEL31lv19FB1NNHAgOyr7ik8/5XFWFB5XNULp0Uc5jFggcELAo2b8RUZVRIiIrly5Qs8+++x/ClrNmjXp77//DrZYglBh/XrjERfPPuvZMdq101ZGSpZMn2+DiJNX6UW7KArR77+7PvaUKe5P2IpCFBdnLBlXYiJRjx7O5VRzXDhLTmbLrFn+VUAUhXObWCx8vbt35yimd98l2r/fuUzdujnPDWLbsme3br9rF1HPnkTNmxO9+qp7So87nDxJNGgQ0Ysv8nmsXk1kNvvnWIJMgVBEQgSLxULff/89xcbGEgDKli0bffXVV2QWP2DBhg3GJrOSJYk8vf+vXeNMko6TtaJwlsxTp9Lvk5pKFB+vL9fAgdrHPnrUs8lblolGjdLu+949tsa4UrLKliU6dEh/fO7fJ4qN9SzHiZEWH8/J1urVsyqV6vgDRO+8kz6hVps2xuS5e5fo+eetipfJZLVYDB+uf+4CgZ/JsOG7mQ1JktCxY0ccPHgQTZs2RXJyMvr06YNGjRrh1KlTwRZP4MitWxyhUKEC11ypXZtDUN1Z4zfKI48Yq6OyZAk7jnpCnjzA9u3AqFEcQZEtG0eJDB7MIZfOfCwuXQKuXtXuNyxMvxZNqVJcTdZdR0+LRT/keMoULobnyofln3/Y1+T0ae1+IiM5XNdfNUaWLuXQazXiiYj/VeX+7juu+GtL8eL6Y1agAEf9LFrE/1ejfcxmHr/Bg4GpU313HgKBvwmAYuQxGd0iYovFYqFJkyZR9uzZCQDlyJGDJk+eTBaRYjg0OH2aqEgRe+uB+nfduvwGaoSjR4mGDWNz+RdfEF2+7HrbPn1cL4GYTN4npPKEixf138ZNJvav0OPaNU7UZjuWRlrlytr9li2rbzWQJPb/WLKELT/9+rE/THw8UbNmnGJe/e116WLcKqIobEXR2y4szFhG1jx5rP4cycnWTLFaFqM+ffTlLVJELJ0IgopYmglhTpw4QfXq1SOAfUeaNWtG58+fD7ZYglq1XK/NyzKb0bV48IDXztXJKizM6tjnaqkhKYknRVtzvTphV6hAdPWq789TD4uFqFw5/Ynut9+M9Xf/PtG0abw8Ubo0T7xaSonJxL4OWkREGFMaJMnqL2K7jKP+/frrfL5LlxpXkkwmVlx8WQhv2zaizZt5bIwobWrxOb2mlZVWIPAzQhEJccxmM3355ZcUERFBACguLo7mzJkjrCPB4q+/9B/q2bJp+2r07Kk9ebuqIpuWRrRwITsbli1L9MQTPHE7cyINFLNna0/ElSp5Xixs1Sr9sd69W7sPx9o33rQJE4i2b+c+jUQZAZya3VXlYk/aDz8QRUV5nw7fseml4BcI/IhQRDIIhw8fpho1apBqHXn++efpajDegrM633xjbBJwVejtyhX9SIfChe3rnoQyFgvRhx9aFQ/YvKWXLEl09qx3fatLFrZjrioBn36q30evXr5zMLXtR5L0+82WjSNVfBX2K8vGImXcbSaTbyxqe/cSvfEGUdWqHK776afBsdQJMhzCWTWDUK5cOfz5558YPnw4TCYTFixYgAoVKmCxN/VBBO4jy/z4NrKdM5Yv108gdv48O1hmBCQJGD4c2LePM3g+8QTXRZk9GzhwgB1eHTlxgtOnL1vG9XFs2bsX6NwZyJkTyJGDx+Hdd9lhVz1enTq878CBzmW6dw84fBjYvx9Ys8bY9TKCbT/qNB4W5nr7Bw84SZq3Sc5UGjVip1Z3E9Dp0aIFkDevd32MGcO1fqZN42u4bRsnOCtVip2gBQJfEQDFyGMyu0XElt27d1PFihX/s4506tSJbt26FWyxsgaHDum/YcbEcNioM8aONWZRWbcusOcVCM6cIXryyfRWg/792W9m/nxreKmj9aNyZXtfi6eeSm91unmTk3ZFRvrWYhAKzWRia5o/zq1qVc+Xz4iIfv1V24qTMyfnchEIXCCWZjIoycnJ9MEHH5AsywSAChUqRKv1kjIJfEOTJq7N45JE9MEHrvddvVp/YpAkonPnAnc+geDKFaJChZz7VqiJ2MLC3ItIkWVWXog4+2y5csZ9N3zVjCzR+Ko9/jhRiRK+9w8BOFfNtWscifPcc0Rt2xJNnepaobalSRPtcZckovHj/Xl3CTI4QhHJ4GzdupVKlSpFqnXkzTffpDtaqaoF3nPlSvpQU/VB3KoVpz13hdlMVLSo68lEUYhatAjcuQSK99/XVxLcndAliTOH3rnDyp8vlJBAKRWhJFtYGFHLlmydkmU+jnp/xsez74crLBZ9nxVZ5oRqAoELhI9IBqdOnTrYs2cPevbsCQCYOHEiqlSpgj/cLQUvsELEJesPHnRelTY+nivczpzJhcUqVQKeeYb9PxYt0i46J8tc6t1kSp+MymQCcuXicu6ZjWnTtAvjSRKPuzsQsT/InDnApEnGCu8Z6dOdpGWS5L8kZ464Oz5GsVj43k1J4b+JrNV6b9wAmjQBEhKc73vrlr7Pim1/AoGXCEUkRMmePTu++eYbrFu3DkWLFsXJkyfxxBNPoH///khOTg62eBkHImDGDHawK12aFYy8eYFevdI7VWbLxk6Vv/3GTpGLF7PTnysnVVvq1wf+/BNo3ty6fUQEV0n96y+gRAmfn1pQsViA69e1t/Fmku3XjydEXyBJnEX2sceAKlXYaVYL9b0/I2M2u1YEzWZWRr7/Pv13t28Djz+u378kAXXrei2mQAAAYmkmA3D79m3q1q0b4d+lmnLlytHOnTuDLVbGYMgQ18slVapoV2f1lNu3OVOrkbX4QPLgAdH333NysUKF+PzHjGF5PSFXLn3zfbCXPmzb7dtEo0frL5U8/HDwZXUlm7O/tbbT2ubJJ9Nf0/feM7YcFhVFdP26V7ejIHMjlmYyGbGxsZg2bRqWLVuG/Pnz4++//8ajjz6KIUOG4IE/6qBkFo4dA4YNc/6d2cyhqP5YMomNBYoVM1ZLxp+YzcCKFcDQocCQIRwi26kTsGULcOECW3369+cQzXPn3O+/WzftuigWC1sf3K034y/u3AFGj9behogtWkasYIFEltkCkTcv31vvvgtUq5ZeTkVha0W2bNr9EQGOltXUVGDyZP3lMEUBFiwAcud2/zwEAmcEQDHyGGERSc/169epXbt2/1lHqlWrRgcOHAi2WKHJgAHGEo1lRnbtYgdagMdA6y3ZZOJkVe5y6RJR/vzOx1iWOVJjzx5OXW4biRIMS0mePEQ7dwbfquGNNWTCBPvxv3ePaMQIvgbquLZoweni69fXtmyYTER9+6a/nnpyyDJR+/Ye35aCrIOwiGRicufOjZ9++gk//fQTcuXKhT179uCRRx7B559/DrMvHPsyE8eO6b/dnT/v+2RSwebMGXa4vXCB/5+WxtOIK9LSOFmVuwnX8ucHtm5l3wtbwsO5OuzcuWxtOXGCK802a8Zy9esHjByp7QBsi5pgLCzMc+tKcjJbgDIqspzepykqChg0CLh4kR1P798HZs1ia8WOHdr3vtnMyepsyZ5d30lXloHChd2T3WIBfv0V6NGDfbC++IIrI48fDzRtyv5VvXtz1WRB1iQAipHHCIuINpcuXaJnnnnmP+tInTp16OjRo8EWK3To2lXfIhIZ6V3ip1Ckd2/3w15lmejrrz0/5uHDXDNl/nyiGzeM7XP9OlF4uLZcJhPRK68Q/fgj0f/+RzR8OCc+88SqEMykaIrC4eFRUWzd8CQseeFC7fG8epX9W7T6Vr/77jvnfTRtqi/b9u3G74tLlzi5mnotHa1z6t/q5199ZbxvQUgj8ohkISwWC02fPp2io6MJAEVGRtK3335LZlECXDs7pPrw69o12FL6HrWKqztNkjhDbKB58019ZXHNGuv227d7rgwYXRKSZd8uH6lVgDdv5sKJ48fzecfGGt8/b152NtbCSM2axo21Kyf/8QcrIs6W8hSFHVyNKu5mMysh7tbRWbXKWP+CkEYoIlmQ06dPU6NGjUi1jjRu3JjOnDkTbLGCi9lMVKeO8zc8WeY35MOHgy2l7/F0Et2/P7ByXr/O2T9z5HB+jRSFfR1sleq33vJ9gThnzZ2MsHqKT0wM0Ucf2UdRXbtm9e3Q60NRuOKvFkePGrOy5M6tHyW1cCFfE3Uc1PFu1ky7ArUjei8CzpqiEDVqpN2vxcKVhX/5hWjjRvv7QxAyCEUki2I2m+nbb7+lyMhIAkAxMTE0ffp0smS2pQd3uHnTaspXFGvV1Pz5+e0vs3HzpvsTqMlE1KBB4GTcsIHoiSesx4+IIIqOtk686gTeqlX6ie/55/2fKVWWiXr2ZEdmT/to2JDPy/azyEgOH7ZY2JHaiOLwxBM82brCYuGQ7Kgo47K98IL+Nbp7l2jaNKJ+/YgGDybavdv1tnv3Er32GlH58lw/aOBArkHUo4dnSqMkua5UvWIFp8S33b5IEWtZAEHIIBSRLM7Ro0epTp06pFpHWrZsSZcuXQq2WMFl716iTz7hh+rChUSpqcGWyD8sXerehAsQlSnDa/mBYP5861u+4+SjKhgxMUS9ejl/c+/Vy3OLiCQZX7aaMoUnPX8oOh9/zEXjtLZRFKK339Yey82biUqV8kzRclawLjWVaPFiog4dWAns35/on3+0Zfj2W+vSk63s2bLxMo6nKfqdlVRYuVK7DtDPP2vLKggoQhERUFpaGo0aNYrCw8MJAOXKlYt+Fj/UjIXZzOvlL7/MFotXXiFav157jX7hQmMP+gIFuODa5MmBS7x27x5bPoxYNBSFqGzZ9I6vu3Z5pwSMHauvjISFseNnw4b+UUSMTs6FChG98QYrHI7XfOdOtrh4ah3atcu+v6tXrU6lqnyqcjFsmPPr+ccfrvtXlRN35ZNlokqV0h/LYiEqWVK7vwIFMu8LRgZEKCKC/9i/fz9VrVqVVOtI+/bt6brIiBj63LvHFVCdTQzPPuu6CN8HHxh74B85EtjzISKaMcP9CbtLl/T9dOni2QQsy7zE8PPP2hNo//5sefGHEqI2o1YddbvHHyd66SWiGjXY0lChgncFAVeutI6nxcL9a8k0e3b66/D889r7eBodNG1a+mNt22ZsX1GtPGQQiojAjpSUFBo8eDApikIAKH/+/LRcz/lNEFy6dHH9EJdlXrt35JdfjE3ujRuzI2H37kQvvkg0aBDRyZPO5di+ncvHR0byvlWrEk2f7pmDYP/+7jvShoez34staWksc/bs7vWlKGxdIiKaNInPSZLYAqL6prz7LtGtW4FxiHW3+dI3pn5963jqTfKSxMt3jlYZI1E/5coZU0jU+6JLF+f31oIFxs5r+nT370uBXxCKiMApO3bsoLJly5JqHenWrZsY21Dk4kX9B3dkZHpHzqpV9Sf6PHns8zqo/hqSRDRqlLWvM2f4Ddy2fLzthNG+vXvKiNnMSy2eTJpbtjjv884dro3iTl8mE1FyMu+fmEg0dSrRhx9y/orz5/nzn34KvtIRiKZaxQYPNqZ4nT5tP/4xMfr7qM62zZpZFamCBVnh696d78ccOdgi8/PPrpcdt2wxdk4i9DdkEIqIwCX379+nvn37kiRJBICKFi1K69atC7ZYAlvmzHH/oXv1qv72ssx+B1pKzpw5nPrbyPGnTDF2PgcOELVu7fmE+ddf1r6OHOGIk7ZtOSqjUiX3rSxXr2rLO2FC8JWEQDQ1Qdprrxnb3nE5r2VL/eRpQ4ZYt09KYuXZkyg+s5moeHFtq1B8vH6uFUHAEIqIQJeNGzdS8eLFSbWO9OzZk+6FWrXYrMrMmcYmhqVLrfucO6e/vd5br5o4y8ixZZmoYkXt87BYeDnGm8kyXz52QFRDXtXzkGXPl0/+/ltb7tWrg68kBKKtWsVKmRHLRng4R/pERrKfysyZRGvXat9L4eFWK5PtPXHwINHvvxOdOOHe72LkSG0Z58xxrz+BXxGKiMAQd+7coTfffJNUZaRUqVK0devWYIslOHRIf2KQJFY+VC5dMjah+LrgXN++nBvDVhaV777zvv8vv+S+xo71ncy//qo9/mlp+qnnM3qLjGSH6I8/NuZ74mybZ5/lkHjAXik0mdjvZskS+3FdtYqVV9s+Hn/c3uLlir/+0o4SatVKvw9BQBGKiMAtfv31VypUqBABIFmW6YMPPqBkdR1dEBzq13f9xm8y8SRAxJNJ9+761gFZ5ge5r50wVeuELLO/huo3kpbGy0Ce9glwzRyLhS0i+fL5TmZbZfvKFaJjx9KHMBcrFnxlwZ8tLIytGiVLetfPiBE8ni+/zNWeixfnVPPr1tmH0i5c6DwHiKKwUrRzp/bv4amn9KsJZ/VcSSGGUEQEbnPz5k3q1KkTqdaRSpUq0Z49e4ItVtbl9Gnn/hyyzJPHlSs82TdsqO/YajKxEvK///l/ghs6lOXfv9+9/SSJqGZN9iXp3Zv9SlR27vSdfAUL8ritX09Ur57182zZiF5/nejyZT5mzZrBVxYC0by1/EREsPJpsbBiU6aM9bs8efh+uHOH/TdcWTMUhUsxuOLKFX05ZFkUzAsxhCIi8JgFCxZQ3rx5CQCZTCYaPnw4pYokQcHh2jV29itcmB/4Dz1E9OmnHF5KxFkwjUw0XbrwunxyMtca8fXyjG2LiuJolL/+Mr6PLPM5OobpqmglznK3TZ1KNG+e85BSReG3+s2b7ZWUYDRVtthY/6e097YtXWpVch1llWVrlJZec5Xb5uBB/X3DwjiHjiBkEIqIwCuuXLlCzz77LKnWkZo1a9Lfeg5+gsDTqpW+NcTRoXTdOlZO/JknY948VkayZTO+T2Qkvz2vXEk0cSL3cfcuy3ztmufKk7p0FB5ONGaMfnZX9XNvkoX5qm3bZswaEOz2wgu+6cdVMrJr1/SVMUlinyRByODO/C1DIHAgPj4eCxYswPfff4/Y2Fjs3LkT1apVw1dffQWLxRJs8QQq584BZrP2Nhcu2P+/USNg506gXTsgLMz4sSQJkA0+LhITgehooGtXQFGM7ZOUBAwdCjRvDrz5JvDii0D+/MCYMcBffwGe3nctWwJjxwIXLwJ9+wLz5gF37vD05Qz1c71x9YTatYG4OOPbHzkCREX5Xg5fc/AgYDJ530/u3M4/z5OHr6PWvRQWBrRv770MgqAgFBGBUyRJQseOHXHw4EE0bdoUycnJ6Nu3Lxo2bIhTp04FWzwBABQurP1wliSgQIH0n1euDMyZw5O/ESQJaNsWWL7c2PalS/O/I0cCFSoYV2AcuXsX6N+fFRNJcn//sDCgbFngnXesk9yRI+4pYL5k+3bg9m3j22fPDuTIATRpYlyh8wbbMc6Vy/h+qalAWpp3x334YaB6ddfbjBwJREa6Hofhw10rMoKQRygiAk0KFy6MVatWYdKkSciePTs2bdqESpUqYfLkySBXb5WCwNC1q/6b+6uvuv5OUYCcObX3VxSgY0fgp5+ARx/VnxCLFAHq1uW/Y2OBLVuATz4BihXT3k+LM2dcWzC0IEr/ph4d7bl1JdCoE/OHH7ons6pQFC7M18woRMC2bcCBA0CfPsaUH5OJFU9PlU31uJ9/rq1sli8PbN4M1Khh/3nevMD48cCAAZ4fXxB0hCIi0EWSJLz++uvYv38/6tWrh3v37uGNN95A8+bNccHR9C8IHC1bAvXrO58wTCagVCltRQQAunTRnnDMZmsfM2fqKz6lStlPKDlyAB98AJw+DZw4ob2vr0lLY2uCLc8/759lF39w5oz1b08sQpcvs2KRI4ex/SWJlZ+KFYGUFGPKxZAhQIcOxhQlSbLea+q/cXHA998Dzz2nv3+VKnw+Bw8CixcD69fz0mOPHvr7hgoWC/D778D06cCiRcD9+8GWKDTwv8uK5whn1dDDbDbTl19+SREREQSA4uLiaM6cOWTxJG2zwHvu3OGoGFvnU0kieuYZdnRUSUjgPAuOEVDnz3OYpTPnTFkmat7cmpK7aVN9h8PoaNeyJiYGtphcRITzdOLt2/s3cshXbcsWlt+TNPaOTW/cFYWvr4qRAorh4Xz/JScTlSplTI769YlmzSL64gs+RlKS5/d+RmPtWo58c/y9fPGFZ2nvQxwRNSPwO4cPH6YaNWoQwJE1zz33HF3Vq+Eh8B+XL/ODfe5c+0q6GzYQNWpkffDFxRG9/759wbx//uG03Y4TU7duRPfvW7dr3Fh/oomK0pazbdvAKSMxMc5luH+f5VDPMxQiZBxbXBxP8Hv3BuZ4ksS5VVRSUjjUW2v7N9+0bn/unH5OEpOJ76msyKZN1gguZ2Pz6afBltDnCEVEEBBSU1Np+PDhZDKZCADlzZuXFi1aFGyxBCpz57rOl1G5cvrqvbt2EU2ezG+szrJUDh6sX+SsSRP7fRISOAx11y4uSPbPPxyqG4jJtXx57fE5dIhDhtu0Cb7i4dhkmVOkr1jhn/7Vistq9eVp09KPT/v22n1s326//ciR+mG2mzfr37eeYjZz+Pfzz3PukmbNiH78kZWqYPPoo9pWrYgIa36gTIJQRAQBZc+ePVSpUiVSrSOdOnWiW5nsR5XhuH2bJ3ytbJYDBrjX59mz+tYMtRBfQgKn/bbdPmdOtsaEhQVmMi9QwD6duyPbtxM991xoWkQAtjAsX+77ftUEcs8/TzRsWPrCdEREFy/q95M3L2f5zZ2bqFYtonHjiMqWdT6ekkTUoYP/liBSUjivjnpvq+cJEFWvTnTjhn+Oa4QTJ/THUpI42V4mQigigoCTnJxMAwcOJFmWCQAVKlSIVrtKUCTwP999p/92Ghvrftn0uXP5QW+rYKgP/Bdf5NT0d+/6tjaMNxNuRITzOiaLFoW+n4gk8QQfHe2fsdGqtt23r/v9AUR167Ilxfb+iIkh+vDD9P5JvmTAANfXU1HYZypY/Pmn/viZTFxAMBMREgnNzGYzBg8ejOLFiyMyMhIPP/wwhg8fDiLy1yEFQSQiIgKffvopNm/ejFKlSuHChQto2rQpevTogbt37wZbvKzH4cP6SaYSEoCrV433ee8e5/Zo3ZrzPkRHA9myWY8zbx5QvDhQogRw5YrnsvsKiwV48AB4+WVgwwZ+5AN83i++GLgw3uzZPduPCNixgxOw+RqLRbvfv/5yvz8A+PNPoFAhjmZZu5YjRC5d4jwfvkh65ox794Bx41xfT7OZc+AcO+af4+tRsKD+NmlpHG6dVfGXNvTJJ59Q7ty5afny5XTq1CmaN28e5ciRg8aOHWu4D2ERyZjcu3ePevXqRQAv1ZQoUYI2bdoUbLGyFu+9Z8wpVK/qqcpvv/Gbrfr2FsjoF1+1hx8m2rOHqGfP4MsS7JYjh7Y1rHlz7/rWsrY44+5d9/dR+f13Y3JNnOhZ/76gQQPtJcCoKI5AykSEhEVk69ataN26NVq0aIGHHnoIL7zwAp566ins2LHDX4cUhAhRUVEYO3Ys1q1bh6JFi+LkyZN44okn0L9/fyQnJwdbvKzBc88Zy3ZZsyYwalT6z48eBXr3BqpV47wSTZta36DT0rzLpBksTpzgBF8LFgRbEu/Jn9/550byhSgK0L278wyzN28CX33Fli9PuXuXLXJ6EHEOkapVOddJ9ux8v/3wA39nFCN5YSQpuPljvviCx9tVbpbRo3kMsir+0oY++eQTKlasGB35t6Li3r17KT4+nubMmeNyn+TkZEpISPivnTt3zrBGJQhNEhISqHv37gSwdaRcuXK00+hbuMBzLBaihg2NO2L+/LN131mzeL09I1o9jLRQr2ZrpH35JVGLFvy3rc9O9uxEvXpx1WZn52oycS4LZ6H2y5ZZHZy99Z/ZvVv//uzVi7e1PZb6d79+xu/1mzf1Q4cBDoUOJtu3s+OsrUwFChDNmBFcufxESDirms1mev/990mSJDKZTCRJEn2qEys9ZMgQUics2yYUkYzPsmXLKH/+/ASAFEWhjz76iFJCIawuM3PrFpuE9R7QskxUpQpPDnv2BMaJMzMoA8FsrVvzNT5wgKhePR5PSWJFQ1UkypXjZHXqPmFhnPzu8uX098qBA/y9L65L7tyuQ2YPHyZ66y1jzsy//55+/7Q0znfyww9cSTotjT9/9VXXSrfJRFSnjve/J1+xbx87S2/c6F8H3iATEorI3LlzqXDhwjR37lzav38/zZ49m3LlykUzZ850uY+wiGRurl+/Tu3btydVwaxWrRodOHAg2GJlbiwWopdeMjbBXL5M1LWr/y0h4eEcyunppJfZlBhFYZ+M4sXdi5D56iur5UNrrGSZx/v6def3yJ076RPaedokiWj4cOfHmT/fuH+RycRJ52xZuJDDjm23K1iQE/klJBDVrGlVyNTvZZmoaFGO5hIElJBQRAoXLkzfffed3WfDhw+nMmXKGO5DOKtmTn7++WfKnTs3AaDw8HD67LPPKE19sxH4jtRUorFjrU6meu3sWaJChfw/6a5bx/JVrer+/qEecutpy5WLU30bdbxUJ/2ICOPbP/000SuvEHXuTDR9OmeYvX2brWG+uK4A545x9ls+c8Z9i0vJktb9Fy1Kr2TYNjVd/MSJRNWq8XiWLk00ahQv3QgCTkgoIrly5aLx48fbffbpp59SqVKlDPchFJHMy6VLl+iZZ54h1TpSp04dOnr0aLDFyjg8eMBr3n/9xREHjqSmErVsafyhnzcv71OggH8mWkniDKb/+owREdEbb2i/Hcty+iys2bNnXmUE4PEoV85//dumtM+b17uEbqpSULAg55BZu9Z1wrL//c/941SuzPuazUTFimkrMQULOleABEEjJBSRzp07U6FChf4L3124cCHlyZOHBriRzVEoIpkbi8VCM2bMoJiYGAJAkZGR9O2335LZbA62aKGL2Uz0+edE8fHWh3BUFNG779orJBMnGn/7lGXOsElE1K6d8aUZdxSCkiXTT1J79ujv98svrGwtX07000/BVxQC1SpV8v8x3FEMJInTlNvWn3nkEV4uMZs5FX2rVqxEPf4433+29+Njj7kvX9eufM9s2mRs+99+0//9pKbqZ3dNTSVatYoznS5bFhop4jMgIaGIJCYm0rvvvktFixalbNmyUYkSJWjQoEFuOSgKRSRrcObMGWrUqBGp1pFGjRrRabGmmx6Lhei111xPKo8+aq1mWqGC8Qd+jRpcYI2IK74a3a9WrfTVRLXavn3WczlzhpWLzp2tE53tpAfwMoLtpPHJJ6Gbjt3XLVBp8N1p77zDk/S5c9aom9RUThWv3oPq9ZMkztuipo+vW9ezY1atSjR+vLFtv//e+e8mKYmXvYoX5+0iIthnxvZ+VPn5Z3slH+Blnkwa2eJPQkIR8QVCEck6mM1m+u677ygyMpIAUHR0NE2fPp0smbA8tsfoKQmSxPU+LBbj1hBJ4nV0W778kr+ztYyolUNnz+a6Hepv8o8/jE8qGzfyxNSypb585cunX3IaMsR7R9qMpMiULx9ajrnh4ekdXocOdS2jycTKsbqdJ0tqJhNRkSLGtnVmEbl/n5Ugx2ObTHw+a9ZYt12wQLt/jUALQXqEIiLIsBw9epTq1KlDqnXkmWeeoYsXLwZbrNCgSxftiViSiCpWZEXEqBOjLLNFpFMnom++sVYA3bqVo20KFuRIhW7dnL9BEvEko3ccSeLcEkWKGFMmJIn9F2xZtiz4k3EgmzuOqIFokmSfnTQ5mQsZ6u23YwfRyZN8Pp4qVrlze+Yj8uGHrhUgSSKKi2NlxWzm6BotGfLkcb82UxZGKCKCDE1aWhp99tlnFB4eTgAoV65c9LNtwq2syuOP6z+ws2fnbdu2Nf72rzowShL7myxb5p5cKSn8kNaq9PvUU1x5112LxPz51uOkpfGEozUhhZIFIbM1k8k+NHfXLv19ZJmoTBl7ZcD2GhlRSmXZeWiubZs3L/19+eABL6vo9T9zJtHmzcbGYOVK93+3WZSQSPEuEHiKoigYMGAAdu3ahWrVquHmzZto164d2rdvjxs3bgRbvOCRO7frFNEqsbH873vvGe/XbOZGBCQlcXr4/fuN7x8eDkydymm0nclnNgOpqcDEie6n2e7UCbh/n2UbPZqL6RG53l7rO4F3pKUBRYta/29krC0WLjZnW5COCIiKAsqVA157jQsn6vURGQksWgQUKWL/XeHCwPz5wAsvpN/v0iVOWa9FWBiwZ4/xIo2hUMwxEyIUEUHIUrFiRWzbtg0fffQRFEXBzz//jIoVK2L58uXBFi04vPSSdsVYRQFeeYX/rlED+OUXICLCvWOo735ffeXefq1bA2vWAPnyOf9+0yaueusuSUnATz8BkyYBAwcGt15IVicqipVUlfLlgZgY/f2c3bPJyVwBefx4oGxZbQXbZOJjtW4NnDoFbNwIzJ3LlX1Pnwaef975fkbufSLerlAh/W2BrF0h158EwELjMWJpRqCyc+dOKleuHAHsO9KtW7esd1+kpHDyKWfmbEVhM/SFC/b73LhB9NlnbNrOmZPX6bNl0zdBR0e7L9+JE75fGlEU9l8xmpQtlFuwl41sj++YodRIa98+/TV//33P87rkycPLbZMn62+rV7vGFVWr6su3aRP7VZUq5foaSZLIVeImwkdEkCm5f/8+9evXjyRJIgBUtGhRWqdm6cwqXL1K1KgRPxxl2epzUbo00cGDxvp46in9B394uPuyDR7s+6gU2wRcGbkFUwlRFFY+V69mx8ykJFZqn3xS2+/CsWXPTnTliv01T07mftT70V3Zjh5lX44mTdLvr8rlRu6pdMybpz0utWpZQ8TXrOHPnMkhSZwzRWAYoYgIMjWbNm2iEiVKkGod6dmzJ927dy/YYgWWvXs5sdmnn3LKdHfCnN97T3tylyQOHXWXzp2NOx8GWzHISq1aNc7b4siDB1wCoGRJ432VKmUN3VZJTSWaM4eofn22GlSsyCGzRu6FmjU5YiU5mcOzbYv0lSrFScW8DeEfPZrvadUhW5WrSpX0BQDXrGHnWlsZS5QgWrLEOxmyIEIREWR67ty5Q2+++SapykipUqVo69atwRYrY3D8uDFloHFjTl5llH799Ccfk4knRiOTXrCXMjJLkySijz7SvnZduhizPMkyL/XpsWGDcflWrbLu9+ABL/GdOeO9AmLLyZOcZv7ZZzlR3tKlrpdZLBainTuJFi8m2rbNt3JkIdyZvyUioiC4phgiMTERsbGxSEhIQIwRpyhBlmP16tXo3r07Lly4AFmWMWDAAAwdOhQR7jppZgUSEoC9e9kxcP584Jtv+G9XDrAmE1CwIEcV5Mpl/93du8CPPwJbt3IfjRoBpUoBjz7q+vgmEzvczp4N7NrFsmTLBuzbxxExisLOqJLE24fuoynjkSMHcPkykD278+8XLHAeeeKMkiU5EkYLIqBOHWD7du3tTCbg5ZeBWbOMHVuQYXBr/va7WuQFwiIiMMKtW7eoU6dOBLB1pGLFirTbU+e2zMjdu0RvvWXMSdXZ2/Rbb9n39/vvRLGxVnO3agXJn5+oaVPn1hZFYR+Dv/+272vzZnaCjI8nypGDKF8+ojp1uMR9sC0JRsYmFFOxu2rvv8+ZTsPCuJjgc89x4joitkSUKGGsn8hIY/fdlSvG+mvZ0ts7XBCCiKUZQZZk4cKFlDdvXgJAJpOJPv74Y0pNTQ22WMElOZkLjnnr8FmzJtGhQ2zijozUXtpxdqzSpdncbcuoUfydYyp5k4mdDPPnD/7kHYymjm3Bgv7rWx1rSbKmLj9+nBPa6fVRtKjze23fPvY5+fprTnZGpJ+t1GQi6t3bf/e/IGgIRUSQZbl69So999xzpFpHatasSYcPHw62WMFj6lTfTGCKwuG/rVq557uhbtu4MdGYMVwq3mwmWr9eex9Z9r6uTEZt2bNzBtMNGwLjJ6MoVmfWhQu1t7Wt1Kxy6RJRgwbW71Vlp04dY+G9RqO9BBkKoYgIsjQWi4XmzJlDcXFxBIAiIiJozJgxZDabgy2aa/wlW61aoRelUrw4p6vPLIqGJ0teRlqJEkR9+mgrI7JMVL06W6w8tXopCtGgQXy/pKURNWzovC+TifOP2Ba+u3ePo0ycXUuTiS0iFSq4lq1/f//c94KgI1K8C7I0kiShQ4cOOHjwIJo1a4aUlBT069cPDRs2xMmTJ4MtnpXbt4Fhw9ghVFE4S+U773C2SF9x+rR2NtZgcOYMsHkzpwzP6MTGcqbP6Gjf933yJGe47daNHYJVJ14VReH0+hMnsgNwbCx/5riNHmYzsGOHdftly9ip2HHfunWBLVu41IDKnDnAkSPOr2VaGnDuHDujvvGGfSr3woWB774DPv9cXz5B5icAipHHCIuIwFssFgtNmjSJsmfPTgAoe/bsNHHiRLIEOyTv2jX2m3B8UzSZuCKoq0q37lKhQvAtBpm5Va5MdOQIUWIi0bhxXMnY18eQJKIZM9jXx/bzunWJRo4kmjuX6NQpXl556y2rn0d0NNG77/JSj17/LVqkv3cuXCD6/ns+9qFDzu8vvfOVJM7XQcRj9NdfRAcOiAylWQCxNCMQOHDixAmqX78+Aew70rRpUzp//nzwBOrY0bW5WlGIypY1lr8gKYkni27diLp2ZZ8Q2+Run38eekszmakpCk/4e/bwePfu7Z9MsMWLc/8nTxL99htRmzb2x5Ekjj65coWX+e7etd4/7dtrL4NJEtH48bz9uXNEp08bUxTu3jW2vFaokFs/DUHmQCgiAoETzGYzffnllxQREUEAKC4ujr7//nuvrSMWCwenGO7m2jVjD/CNG7X72bOHw10Ba7QJwDVntmzhbW7dIipWTH9ylCSiZ54J/sRupIWHE73+eugoWIrClqcff/RvTZxduziL6eOPu/bhKFOGQ3KnTiWaNYvo/HmiHTtcj5WicDbTb76xz7BaoABn7b1507VSMnGivsySRFSvnsEfhiAzIRQRgUCDw4cPU82aNUm1jjz33HN0xbGGhgGuXycaOJDnfYAt4m++yS+tmmzcqP8Al2XOpeGKa9f4wM4mJFlmc/zZs2wx6dpV2+ExJobTa6elEfXoEbiMphERVnmN7mMyEb36Kp9XkybBVUAC3caP166d4uo+6tSJaPp0zh+i3i9q/ZS8eYleesn6mbM+oqJ4yefsWft7sH59YzLMmeP2byvgbN7M4/TIIxzhNXkyW3wEHiMUEYFAh9TUVBo+fDiZTCYCQHnz5qWFbhS1unSJreXOXDxiY3VcPP78U//hrZrLXTFqlH4ujwEDuCCZs+0kiWt5/PorF0JTSUtjpSRHjvTba012zoqF6U2Q777LoZtGLTGyzCHEp06pF5GtPcFWEALV+vb1LLeKonChxLNniYYOJWrenJd2Jk7kZR4jfZhMbDk5etR6r1SqpL9fWBhb7v7+OzT9QiwWorfftp6j7b3+0EO8TCXwCKGICAQG2bNnD1WqVIlU60jHjh3p5s2buvu9+KLr1RVFISpXTmOpJiXFvriXsyZJ1gnXGTVr6k8C8fH620ye7Lz/e/eIVq4kWrCAy6S3aOH6ZCtWJPrnH6KPP2aHSiPhrHFx1oJjZjMvC+gtHz36KC872Cap69Ej84QB+7v9+mv66/zKK8bHT1F4WUilbVv9a2arnBYqxAnPgu0obsv48a5lN5n43g4leTMQQhERCNwgOTmZBg4cSLIsEwAqVKgQ/ersof0vly4Z80f84w+Ng37+ufYDv107baGNRsNoCSrLHPWgxZIl7JPhrJ+oKH5Lv33bfp9hw/TlcszOefBg+qUmdRJ7+GFehlG/y5GDrSlXrhDt3x/8Cd7fzRdLZYpC9PLL6a/vI4+435eaINDdZSK19eihfc8FCrOZzZp647tuXbAlzZCIPCICgRtERETg008/xebNm1GqVClcuHABzZo1w5tvvom7d++m2/7wYU69oIUkcU03l/TrxzlDAC78Zftvw4bA1KnaB6hWzbq9FlqCWizA2bOuvz92jAuhpaY67yctDejZk/NX2KJX6Azg4yYnW/9foQJw8CDwwQdAsWJAXByf4/vvA+fPA7//bpXh7l3OQVGzJuemePxx/eP5G8ccH86+HzPGsz7Dwz2TyRazmYveORIbqy+7IwcO8L9Ll7q/LwBMmABs2+b+fr7m7Fng1ClWN1xhMgG//RY4mbIoQhERCP6lTp062Lt3L3r16gUAmDRpEipXroxNmzbZbWeksC+Rff6mdMgy8O23XHn27beB1q2Bzp2B9euBNWu4WqoWb73lfUIwSQLy5XP9/bhxrKy4elCbzZxMy5ZVq7gZObajIhUXBwwaxOffrx/wxBPA5MmsCDmeq9kMXLgAlCnDydGCSfny2pOZogBt2gDduxvvMzwcaNECmDYNSEnxWkSYTEDRouk/b9vW/b4iI4GbN4G5c7XPW0uWyZPd38/X6L1NAHyfGtlO4B0BsNB4jFiaEQSLdevWUdGiRQkASZJEffv2pfv/OnWmpFgjZVw1WebISb/y8svem/y//NJ1/7bhnK5ahQrW7S9d4oJ4Ro6t5sWwWDjstXr19LKFSniuXitThqhZM9cRTGFhnMiLiFPu6/XXvDknEyPiJGW+knPTJqKLF4n+9z9eGouNJapalf11jPYRFcWJyYw4XGu1xx7zy0/CLVJTjflRLV4cbEkzJGJpRiDwkkaNGuHAgQPo3r07iAhffvklHnnkEezcuRPh4byC4ApZBjp2BAoV8rOQr75qbDvZyc/cZAKKF9d+SzdicbHdZto0++UWLa5fB/74AyhShFOA795t/z2Rf1LTe7KUoMfRo8A33wCtWvH/FQUIC+O/c+YEli8HHnmE/583r35/zZtz2n+AU6F7eyNJEls+4uKAihWBzz7jZYmEBGD/fi41YLSf3r05nX1kpOfyyDLLEmxMJqBXL+e/D4CvY+HCbJkS+Bf/60WeIywiglBg2bJllD9/fgJAiqLQ4MGDKTk5hXr25BcmtZq6GnzQooV9RKzfuH3bWIRKgwbpHfIaNbK+dbuiY0ftiAo1p4dK48bBt05otRYt2Crgj74liahLFw5VHTWK6KOPiH7+mc1ntuhFSwEcHXTjhnWfL77w3GE1e3augJucbCwySat1724NwU1LSx/i7U4LldwiDx5Yw8dtLXCKwpai3buDLWGGRUTNCAQ+5vr169S+fXsCOMy3WrVqtH//fjp4kKhfP6IXXuBkZps3Bzja7623XC9hmEzWrJYnThBNm0Y0ZYo16kGP7dv1JxQ1tTlR6CcYGzGCzfF58/rvGFWrEt2543pMw8ON9aMoHB578iRP+u3apZ8s9dr331tlWb3au/P65BP785g927N+TCYuX5CcbPgW9zupqawY1anDa67FinGmwmCWgMgECEVEIPATP//8M+XOnZsAUHh4OI0aNYrSgpmo6e5dLn5mO0mpWTOLF/f+YfrFF9YJxHYyATgtuC0jRoS2X4ck8cT+8cf+lTMykmjmzPRjuWqV+5N27tysRJrNRAsXsnXL6P7XrnFY9Ouv6xe+02uO51OlinErja258NFH2U9FkOkRiohA4EcuXbpEzzzzDKnWkTp16tBR24yTgSYlhROTlSrFBdiKFOE3WG9+NxYL0d69RMuWcdKn1q3ZVJ0zJ5t/nCVJuXyZJ+FApYh3tykK0aBBPF7NmvFn/lRIHDP1uspyqyfzc8/Z9zN4sPY+sszK6eLF9jWIvGnHjlmPf/++8f2efJLoww9Z+du2TSQHy0IIRUSQobBYeEmjf39eaRg/3rs5NBBYLBaaMWMGxcTEEACKjIykb7/9lsxmc+CFmT2bIyDUiQtg35GRIz178G/cmD59d4kS6SdWZ/z6q/+UCG8LyskyV6IlYt+AadN4mcAf8kpS+grKRvx5XPXlWAupalXt7X/6iWv5eKsUKgorbbYkJRmT+Zln3L/3BJkGoYgIMgzXr3PWaIBf3MLC+BkWFcWJG73l3DmiCROIxozhZXJf6wlnzpyhxo0bk2odadSoEZ0OZH2KX37RnhA+/9y9/jZt4gvh+OauTmg//aS9/++/+0cJKVyYnUG9sWCYTERvvGGV1WLhpQ9/KCJqO3jQejyjoc3O2ooV9uN8+7bVOVhRrB7TERG8jPLJJ56NlePyXpky1lT8ttSood//jBnu3XuCTIVQRAQZAouF0wk4c+RX00hopknXICmJqFs37sM2JUWxYkRbtvj0NMhsNtN3331HUVFRBICio6Np+vTpZPG3GVpNUa01GWTPru08aYvFQlS5svYEkzcvWxOcceYMa5C+nszDw3lJyFOLgm1bvdoq75o1xvdTFKLSpd23MGzebD1e8+aeL5P06uX8em3bxqbEN9/kOi5qnSRXtYEcmypP585EkyZxnpMCBYiqVSP69lvX985PP2mPVd68AQodE4QqQhERZAj0Xp4VhZ/dnvDCC9rzaXg4UcOG7ALhK44ePUqPPfYYqdaRZ555hi760zFvxw5jk42eFUPFaN0WV4P2wQfehYcGqtWuTTR/Pk/eRraXJJ5Y//jDPUVEkuydhY1WunXWWrd2795o3VpfVkniEO1Nm9xfwktIsPrZ2B5HltmXSE3gJsiyiIRmggzBggXa5VLMZs4WnpTkXr979gDz52vnw3rwANi0CWjZEhg8GFxApnt3rr0REcF1TqZPdyuNeqlSpbBp0yZ8/vnnCA8Px/Lly1GxYkX88ssv7p2AUW7c0N9GkoxtB3BNFyOcO5f+MyJg0SLj6bCDmdBq506uofPXX8a2r1CBt338cWDUKGP7KArw9NP2ycgaNwa++ML6vVFk2b6uwM6dQN++QNeuwPDhzq9HkybafZpMnKjr+++BevXcS/S2eDEnXFu92v4HHBXFmf6OHLEmcBMIjBAAxchjhEUkc9O1qzFL9fXrxvu0WNhS7Y4FvAnWkDkswn4n1ZzSqpV92XmDHDhwgKpVq0b41zrSrl07uu7OiRjh77+NnaCjf4Er/vrLWH/z51v3uXaNE2blzGl8wCMiiOrXD75lxGg7cMB+nGbN0vePCA8nOnLEfj+zmUNX165lk507MsyaRXTvHlHLlvx/NRpGUViWTz+1P9bt23xNtOTcsMHtW47+/JOP6czaoijsOxIMh21ByCGWZgQZgtGj9Z/nefLoP9cuXyYaMMDqd+hOsEB23KEERJMZLgSRJPZ09YAHDx7QkCFDSFEUAkD58+enZW6uBR06RDRuHNF33xHt2+dkg9q1XS+HSBJR/vzGFSmLhUOAtQYvNta69n/pEtFDD7m3HFOoENE//+ivnQWiGTl+yZLpx2nuXP39wsK4JgsRj//o0exwq35fvjz7nOjJoCg8ZklJHPGjtf306fZybt/OyyS2+6hOrd99Z/QWtKdVK/3rvWaNZ30LMhVCERFkCK5e5ee11jP4o4+0+zh5kn3rPHVNeA2TyAzXE68FoIS4olSxgoXy5OGoyXHj+OXUKDt37qRy5cqRah3p1q2b7j195Yo1KEINYAA4wujcOZsNd+xgJ07HAVC9dPUKdl27RjR0KOceyZaNFRetARs3zrrviy+673y5dSvvO316cJUQIy021nnEyIcfat+4atu1i7OiPvdceuVO/b9q1XDVR6FCbPk6flxfuy5ePL3Wfv06R07Vq8eOqL16Gc+s60hKir7iZDKx740gyyMUEUGGYdo067zpqIRUr64f8FG/vnf5mibjVXoA/Q5y47qdUlClCtGtW8bPMykpifr370+SJBEAKlq0KK1bt87ptvfvE5Ur5/y8TCZO6WH3k/jrr/RLHZUrc04PLc6c4bd0Z6G6jpNjbCwneFG5fNm49qduN2SI/UkWKBB8q4hWq1+faP369OM2cqQxuYcPJ/rhB/3tHHOC5MjBGuesWWwJISL66itjx7QNF/Y1iYnGrnXHjv6TQZBhEIqIIEPx66/WXCIAL20PHKivhBw+7P1c8x3eMqSI5EBiuudthw7un+umTZuoRIkSpFpHevbsSfcczCtTpmiLI0lEX3/tpPMTJzgU6fBhY1EQ9eq5fsuWJM7OOWkSJzJTJ0SV9euNDbAk8YS+YAErTFu3WjW4Q4eMFYHTa1FRnB/E24Rnjk21Ks2aZX/uRn1zKlbkMdRSIEwmjjM/cYLHdP9+59fuk0+Madw7duhfd0+xWPQtZs78VQRZEqGICDIkN29yQVhXaSocMfKyqddaYqnmBqmQaSsedTmHXLrk/nneuXOHevTo8Z8yUqpUKdpik9ykXj39l9+qVd0/LlksHIL6449EU6caUyJc1arZutXYAE+YQPTll0T58lk/Cw9nT+Xz59n/xpsL+MQTXG+HiK0szzzjeytLWFj6zKa256OlZBhx4q1ZU//aLVliTE7bqr3+YPhwfcXKkx+FINMRMorI+fPnqUOHDpQrVy7Kli0bVaxYkXbu3Gl4f6GICLSYN8/YPPLll5ybKXv29CkPoiLS6E6h0ppvm62xyGXf3uQhWb16NRUqVIgAkCzL9P7771NycjKVKaN/ToUKuXmwX3/lNR13J+FFi5z3d+WKsf27dnX+uSzbZ/HU6iM8nGvo2H6WPTv7ajgWHNRz6PSkyTLRqFH2x2naVH+/6Gi+UFrbSBI7A+mRmqq9lKUoXBCvQweiNm24ps6pU/r9Wiy8RHf4sDHHp3v32NfEUQ71/xMn6vchyBKEhCJy8+ZNKlasGHXp0oW2b99OJ0+epNWrV9Px48cN95HZFJGbN/kl0Ogbv0CbGzf0q6pny2b1p7h5k5faW7QgevpptiBfuUJEJ09SWlHOUJr2b/TMA5jIDIn643PN/o1Gxrri1q1b9Morr5BqHalYsSKVL79bd457/HE3DrJ2reuQS7327bfO+/zxR99O9q4UALVuChGHw86fT7R8uet1u549fVPkzXGSV9fhtm41VgFXXXLp10/bl0aSjE/eGzdySJjj+SmK1XlWvc5qWO9XX7nub8EC9iVS+4mM5GJPelaVu3dZCbRNj1+3Lv8YUlP5DaFFC87O2qoVO0wHs0K1ICiEhCLy/vvv0+NuPS3Tk1kUkbVr7X0J4+I43DSDn1ZI8M47rl8SJYnnASOMGppEr0izaQGepV/xJH2BvlQa/2jONRER1oza3rJo0SKKj4//VyExEfAxAQ9cHnvoUIMdWywcKupp8TNXoZiTJ/tfEalYUd/h1hGj2WbdVURefZVo3Tr9KBdVgYqIYMfR06fZ+dTZPiYTOwsbTcFPxBWR27a19hcby1lftWRyFjk1bpz1R+J4rqVLG7uxU1N5LVVVXBITWSFR+7H9t0kTkfI9ixESiki5cuWod+/e9MILL1DevHmpatWqNHnyZM19kpOTKSEh4b927ty5DK+IzJ7tPAhBUfhlJAOfWkiQksLRkepz3fbf9u2NW5/Kl3dvbpIkoh49fHsuV69epWeeeY5U6whQg4BDTo/dv7/BTvfu9XwCliQO73XGH3/4XxEBiP73P+Ppx5OS+AcXH+97OSZN4kJFRpZ9YmP57UPlzz9ZWQDYcqFaL0qVIjp2zOCFdCA5mUNz9aodyzLnmrHlyhVtq5GiEL33nvsyvfyya4VIlkVYbxYjJBSRiIgIioiIoIEDB9Lu3btp0qRJlC1bNpo5c6bLfYYMGWLzELa2jKqI3LzJL0Zav/cPPvDPsS9eJPr4Yy4H0aIFR1m4E26akbBYuJDd669z4sk33uBaYO6Uz9Bbynds0dGc2sHXnDljIeAHAuL+vf8jCBhDQNp/xw4LY0uQIVat8nzybdvWdb8WC1dmDURtmSlTrMdNTOQb2fHiXrli1SaN+ohIEi8vGLEWGc0E+8knVudZW5KTeTnrnXeIevfmZQwjmfoGDeKbMzKSx3vMGPv+e/c2thRla+H4/HP9MYqNdS+j8IULxrLN+tuZVhAyhIQiEhYWRnXq1LH7rGfPnvToo4+63CezWUTGjtV/xsXFGfu9Wyz8wmdkcl24kH/zjhW94+L45UyQniZN3JtTTSbO9ZGS4ls5UlJ4DgDOE9CMrAp5PQJO/Hc9bVN6aOKJRUSW+e1fL/ph2zaeIP2pjEgSO9n++CMnllE/L1mSlxfUybxRI/d8Q2yzxPmyees0pHLsGEfm2I6tKnPlyta3ih49jCVXs72Wr75qbKwcI4W0MOoztHSpb8ZHEPKERNG7AgUKoHz58naflStXDmfPnnW5T0REBGJiYuxaRubwYe2ibgBw+zZw/brr769cAfr3B3LlAiIjgZgYoGdP53WuAODgQaBtWyA11Vr0TX0KJCYCzZqlPx4RF4Dr2BGoVYtrdc2eDSQnGz5VryEC9u8H1q4F/vkncMdV6dHDeL02gGvh/f0313nzJeHhwGuvAYpSCMBKAJMB5ADwB4DKACYhWzZChw4GO6xcmYu2aRU1Cwuz3qgxMUCfPlxYLX9+7b5r1wa2bwfatOHCbP6ACDh5Enj5ZWDvXuvnJ04Ab78NdO4M7NsHrF+vXaDQ8fyLFgVy5vS9vLGx3vdBBLRrx8UKbW9K9Yd86BBfI4CLM+oVZsyXD8ibl/tauZL316oICfD1zJ7duMxGfzzu/MgEWQd/aUMvvfRSOmfV3r17p7OSaJHRnVX79jX24uHq9M6cISpYMP0Lp8lElCsXl+xwpHt37WPKMtFnn1m3N5vZuV/tV90GICpb1lhKgIMHiQYP5oCFsWPdt76uWpXeR6NmTaLNm93rxxvMZueZuPUMB88/73tZbt9mP03rdT9JwBMEsHWkcuWn6JxdnncddKJmkidMp7v7jrGZv1IlNvV07060Z4/xYyQksLnN1xYGI61LF2PLMePGcZ2YTZuM50GxbXo3R8GCvokOMeJwGxbGPiJ37vA6oSvZZJlzf+zaxVYuQN+CpSicj8Udjh419oO5cMH78RFkCEJiaWbHjh1kMpnok08+oWPHjtEPP/xAUVFRNGfOHMN9ZHRFZMsW/d+7VgqBZs1cKxWK4jwPkpE8S/XqWbcfPdr1diYT0WOPuZYvKYndCNRtw8L4WRMebjwicckS51ZyWeb+/vjDWD++IDWVQ3qNjKHajKSA8ISEBC5qGxenHstMpUt/ReHh2QgAxcbG0uzZs8li1BHGSR6R+7H56MNis+lJrKb7yEZpUOwvPsCapTvUrx/YtO2KQvTww8aOqda5ISJavdr3skyb5t5YOePuXS6wZEQjVtPPr1zJPxbbh4X6o2rQgN9YYmKMLaFJEvfj7hruggX6fT/9tPfjI8gwhIQiQkS0bNkyqlixIkVERFDZsmV1o2YcyeiKiMXCiR+d/f7V54SzUhZEXMzNyLPI8aXVSCLHWrV429RUY5Ouqxx0HTpoP/9tq8U7Iy2NczRpZRkvUSLwKQhSU/kFT68QrcnkhtOoF7JcvGi1mv39999Uq1YtUq0jzz77LF0xupZvsbCZ6ccfaUq7taQglfJLl+keIilNo/AfbdxoXOCtW3lgAqmMOCY7c9aiouzDZE+edP84isJavHp+YWF8g2TL5iLnvhtcvcpRJdmyGZdn0ybr/nv28A9S9Y4vWZJlSk4mevddfdOs+pCKi7PP0vf330R9+hA9+STRs89yVJJjun8iftDpXXNfh5kJQpqQUUS8JaMrIkTsrK7mP1KtBpLEPn4//uh6PyMZnQGiGTPs93v6ae0XH0Xh5xIRl7Uw8ux1Vjri+HHt/SSJl1u0Xtj1Ig/VFh8fHB+3ceP0lcH9+wMvV2pqKo0YMYLCwsIIAOXJk4cWLFhgeP/Nm63y/w8j/kvi5rSZTJyp0x3Wr+dKsI43hD+cQwGOKqlaVdt82KtXejkbNXLP0TYsjKNYLl9mS9GgQRzWe+sWL31Mn84/alchz664epXHyx1ZYmOdKwQWS3rNXa+ejyTxOuz339v3OWqU9R4ArIpGiRKcH8WWHDn0ZS5QwL1IHEGGRigiIYbFwpbO997jl4LvvmM/AC2MTtJz59rvt3Kl/jPn77952z179Ps3mXiJ2ZHRo4299GqlSXAnJ5YkuZ/bypGEBPa7MZpXKSWFlUhnxWkBTnERTPbs2UOVKlUi1TrSsWNHumkgEdXLL1vnlt/QiCx6gx8T475wZjPRhg1c02b+fKJz59iJKHt2a79VqrAviiep522VjD59+EbLn9/+Yql/162bPn35gwesMBldslCbo8J3+LB9NI+qsLz9tvGQqjffdE8GSeLlG6MYiapxXGOcP1/7oVCunH34ca5cxmR/6y3jcgsyNEIRyQTcvav/khEWlv7ly2LhZFfqM9r22QFwDTKV+/eNFSz97bf08g0ZYuzZqeXvuHChe8/eihXdyw2isns3Z5pW56WICJ7/zp7V3zcpiR1xbZ+zZcqwJcoTWXxNcnIyDRw4kGRZJgBUsGBBWrVqleY+5cpZz2UdGuoPfnS07wS+d49Ttds621osRA0bur+cI8u85HLiBPdz8SKnnC1Vii9YjRqcgyQ5mT2o//mHL/r//me/hpkzp/6xZZnXMW0z5J0+zfs6+yHIMlG7dsbGw+hyjPojfvll9ywLZcrorzE6LpvUqKE/JitXWrfv2tWYZ74k2V97QaZFKCKZBC2fNVnmly5nWCyc1blBA550IyN5IrZdUlZ57z3tOlqlSjmfcOfONfbsXLfO9fndv6/mzDDeDhxwbww3beIxcBZ5FB+vXRds3z4uqfHuu2yJ37OH5zHb8bh8mcd6yRK2sAeLP//8k0qXLk2qdeSNN96gxMREp9s+8oh1HD7CUEqFhkZpMnGWOH+Smmp82cZksk54OXPyBV61ihUZtY8KFdjcZjbzDdO6tfakqn733ntspXHc1mTiH5FjGNdbb+lPvnpFPvXWONXJu1Ahos6d+Xzd1YC//lp/fHftsm5/65ax69Czp3Wf/fuNvZnIMlehFGR6hCKSSUhL4zd39Xcvy9bn3osv+iaZ1v377Gdm+zxWlZDcuTk01xl37hh7fqr+KK749lv3FBFn1hlX5zVrFlt8XD2DXUUp3rvHfnnquNv6JKqJgW/fJurY0X4eMpn4xdCd0iG+5N69e9SrV6//lJHixYvTxo0beTJ+/XWiokWJChWig5VfosekrQQQ5ccFWolm1AGz6QlsoJfwA61CUzLbOq9qaZO+IDnZ2M1Uty6nze3enf0x7t3jSVa9mLbbAuwwFRVlfNlDlnmJ57PPiB56iD+LiuLjOcbKm838nd5k3asXO8b27cvjnycPZ89bvJgVCiNVjBXFjeJCTrh/n9O8uxoHxx+pEZlMJr4Wtnz5pf5+YWFsYhRkeoQiksnYt49TPLzwAkdp7Njh2/5TUtiC/cgj7DRfrBhbAi5etG7z4AG/eM6YwZGP168be36qRUuTk9kZf+pU7sfWsjx2rHHrtLPcKY7Mn2/c0iJJXBFZxWLh3CBac9eiRby84UzBURSeL4NZYXn9+vVUrFgxAkCSJFEfSaL7Nidk+Vd76oWx1nnl3wJ7ClIJoP9Ceu2SzvgTVwNqqyR88YX9Pv/8o/+m725imI8/tvavlYL93j1j/TVsmD77rPp3t278tlGpkr6crt4IiPjHdOOG9pvJ3bvsS2O73lu4ML8JOFpYzGZjNQ+mTrXf78YNfaVPktJ72AsyJUIREbjk5EmikSO5+u/EifpOs0REc+ZYa3apLV8+/RdCReHAgq+/Tr9tvnxcLVzl+nXt/mTZed4UR9avt1aPNzr/LF7My2AFChibW/SCEADtiCinWCzs3NmjB/sADB1qzInFBQkJCdS9bVtSrSNlAdrhIOS7+IoAi/PzhJm6t7zs8fHdZuJE7TjuiAi+SWwxmjHQaFMUrpSoYrEQbd/Ok/WECVZfFPU7PW1XUVhurWWh/Pn1b7jnnrM/73Pn+Ab79ls2y6k/nPBwTu529Kjrcb53j99sDh/Wjov/7DPtdeHY2PQOwET2lYGdtRw5nNfiEWQ6hCIiSMeDB1xiQq0EbBtGbFtTzJEfftB/Tmp9ry5xuJpfFi2yHmvWLNfHCAszlmm1Xj33S584y17rTZNlNxOd3bplLaqmlplXFO5o9Gg3OnLgvfdouSxT/n+VEQWgDwFKAegWYikbkjTPw2Ryr9yIV6SlscnP8aZSfUKchSercfG+aiYT/0iIeDKvVs16o6rt2Wet2nvfvv4v+vf889YJ//Ztnui1fnQmE69H7t3r3fV48ICrZTq7HtmyuV4jPXmS13Qdx0VVambN8k4uQYZBKCKCdLz5praVwNlz/sED/YrqiuL6pVRLCVFb8eL2FvCffuKldNttKlc2lmH18mX3n/PZsvlnLild2o2L07SpthCOMdpGqVmTCKDrAL0EazXrqgB9i3qGzuOnnzw7tEekpbHZvlo1vqmionhtz9aR0pbmzX2fm2T1aq5rEB/v/JooClGdOizrpUusxTr7AUgSR6t4Y7FZs8Z6rikpnInQyM2qKJ6HmNmSmspvKVWqsLUlNpYVtcOHtfc7cYKtOLYKTMWK7NEtyDIIRURgx7lz2i9RrpKPGc2C7Zg9Nj6el2OMpodwzCZtNnN6/CVL+MXO6PP0yBH3n/X+yrHVoIHBi6OXzMVIZjhX1Kpl19cvAOUGKyMmSASMJCBN8/Dff+/+YQOG1nKOu01R2EnKbObwXr0JX51Uz5zhWgy2csTE8NJat26eKyKKQjRihPVc58xxv49t24JzXVSuXGGHtiNHQiPWXRBQQqL6riB0WLxY+3sirhR85Ij951euGOv/7beB8+eBDRuAbduACxeA55/noqlGWLLEvoCoLAOPPQa0agVUqaJdONaWggWBiAhj2wJAw4Z87v6ga1eDGy5dCiiK6+/Vi6NRtdolTz1l1/eLAA4CaAkgDQRgIIDHARx12UXNmu4fVpcHD7jU8r59QEqK5/106MCVZZ2NnyTpVwSWZWvV4Vq1gFWr+LOZM7WrxCoKMGcOn8OWLVy6+eBBvpZr1gCXLgFDhgBNmuhXxtWSzfYHOGOG+xWODx707Ni+Ij6eb6DSpY3/iAVZEqGIZAESEow9wxIT7f9fqJCx/gsV4orxDRpwZfh794Du3Y3LN2oUUKcOcPOm8X2uXwfGjQMGDQK+/Ra4dg3IkQPo2NE6t2ghSaw4uYOicJV3vWdqnjxcxd0QSUnGLk5SksEObXjjDR4MG4HzA1gCYAYAE6IAbANQFcC3AKyl4U0moFEjoEwZ9w/rkrQ04OOPgQIFWMOsWpVvnMGDWTlxlxw5gPXruT+AL5Ci8PlGRrKG+9FH/JksA2Fh/K+iAM88A7z1FtCnD7B5MysUefNyP3o3otnMfVepArz8MtC6NSsyu3cDjRsDUVG83XPPsXaspWhqHaNwYev/L1wALBbX2zsjMtL94woEwSAAFhqPEUszvuGXX4xZgh0TcqWlcRSfVjDDww/bW11TU4kefdT9JJmKwhZuPSwWrn2jOtuqFX9NJraGX7jAMhtN8mjUsh8VxQnkdu3i5XKtbW2LvOpiJDNc9uzOIxSMsGJF+oxu/yal+WvwWIqMbEyA6j/SiIDTJMtERYp4ngDz2jWiQ4ccsv6azex46WzAJYkdIz2tbpiczFEkr7zCEUdff80OwETsWzFmDIeqRkRwxtV+/bS9cEuX9nyJx7Gmzf79HGZle97qzal18ykK38wqTz7p3o8qPDx9lJFAEECEj4jAjuRkfv5qJfZ64QXn+y5c6HzCVj9bscJ++3nzPH+GA/p+cN98o73/6NH8/H7lFe+dUGWZ6KWXOPvqP/9w4s3y5VnRkWX7eUGNRnLbrzQ5maMMtNLb2maw9ITTp4kGDuTCcJUqcX//DvSNG2Zq2vQ7AqL+VUai6eGHp9G2be6v6e/bx/qEeq9IEvuT7t1LXLVQb8B/+cW783Tk3j0Oo1Ivpu2Yxsez74IzvvjC8+rBkmQf5kvElS+//JLo8cfZEbdbNw4Xi4tzfZMOGWLfx08/uSeDXiZBgcDPCEVEkI4lS6wRoY7znF6q8yVL0hdTLVnSvtSEyjPPeK4AyDLRV1+5lkNVqLT6iImxFrVzp6ieoxwAzxn9+7MyolpebMcNYMvBI4/wS/bx4x5enDVr+A3W0YwjyxxtYCTZi4ds387zoSQdJeAxslpHnqHPP7+o38G/7NyZPm+XOk6RkUTb6/bRLwvdqJFvT65vX20Fr0IF506Ud+6wwubJjexOFtTDh61h22rLnZstOo5yPXjAiozeGAJEnToFN6OeQEBCERG44PffrS+IAM97HTqw478eaiTLggUc5eLKCf7fiFGPmqIQff65axmMRvEsXcrbr1vnuSxqkVgjSzxGQot12bOHi6SZTHQTcfRV9kH0TKm/qflTD+iTTzg02dfcvu1Y7y2NgM8JCP9XGclFQ4fqx+9aLBzh6WqOlGWiiuH/6Ff5LVLEdyd39659pV9XzVkBJiJe2unc2VjlWseb2DH1uR5HjrC2v26ddnbUO3fSF5eTZTbTvfQSm+z273fv2ET8416xgutG1KnD/65cqZ1ZViDQQSgiAk0uXSL6+28ifwzriy96lzrh999d923E1wXgkNOkJM6tpJe40ttmMrle1vKERfNSKTKbhWwznsoy5ztZtsx3xyHiZS7ny3UHCKhGqnWkbdu2dM2xzLMNu3YZG6udqKG9QeXKvju5HTuMKQ2jRmn3c/06Z7z94ANjJynL3tWFMcLVq5wOeNEi+zoMnnD/Pte+UcfD9t+nnrKaF225eJFo2jSi775jLVyE5gqcIBQRQdD49VfPJnRFISpbVvuZppdyQ23PP6+fft6XLWdOz8bqwQP2sWzUiGusaS07qY65RmrtGMXWnyN9e0DAEAIUAkD58uWjpaqpyQGjlZh/xEtOv7AAZJG8zCLriBHtyJ3MtZs3GztJZz4iocxrr7levpJlLpaokpTECc1URUW9ecqVI9q9O3jnIAhJhCIiCBh377JvhOqgbzYTtWrlnq+fovAkrFXXS6VqVe0lALVKsePn/lRE4uLcH7d796xVj41G7igKFz30Fc2a6R8zLGwnlStXjlTrSNeuXem2g8/KypXG5F8eb11WSINMU9CdKmEfyUijcKTQ8y1TfJeDKyWF/S30hNqzx1h/FgtnStW7WL17++gEAsC1a/rmy7Aw64/bMVuq7Y0ZE8OViwWCfxGKiMAtHjzgaJdnn2Xfue7d02c7deT8eXb+j4iwPo8aN+YXx5QUdt50ZZVQFF4yyZaN/x0wwL4CrhZaTpFqc/VMjY7mUheLF/tOCTGZiNq00ZY5NZUrArdpw0vwHTu6r6ypLWdOnj+++ILdBd55hwv9eWIdHzZM3/exfn2ipKQk6t+/P0mSRACoaNGi9JtNrZGkJFbGtOSOjSVKOnKGqHp1SoNMz2M+ARaSbDK7qkqkz9LKjxjhWnEwmfjk3GHbNr75XF24d97JWH4V8+cbu+kWLtRf6jKZ+MEhEPyLUEQETrFYiNau5RebUqWIqlfnqrMVK1onHvWZArBV1tlz9dw5rlTr+DKl1p1Zvpy3S0zkZWS18rhtyGvBghzu6Ql799qXGZEkXt4w4puiTnKNGvmuxoyWX8utW9ZM645L8J42NfpJrQcHcO4WDTcOp1y4YM3HojUHqWzatIlKlChBqnXknXfeobv/VlIdM0Zb5v9WQCwWmvjecZJcVP0FWCafFNtLS2NvbNubWr0By5f3zAN4716i1q2t/cgyKzTeFpkLBkZDgn/+mfOj6P3AsmXLWIqYwK8IRUSQDouFnfltn8lG2hdfpO/LlYVWVQpy52aryPnzbLF1VTssd27vci5ducJBApcvG/MfCQuzpmfYvJnHwdtSJbKsbd1v2dL/BVrVa/rYY+5bRubNs1dobBWlPn3S93fnzh3q0aPHf8pIyZIlacuWLWSxsIVFtWrYJpobMsS+n/LltcddlolGjnTvPFxisXA0Svv2HGfdtCnR7NlsxvGGW7d4TTIx0SdiBoWTJ/V/AJLEsf0vvWTsRr5zJ9hnJQgRhCIiSMeECZ5NcPHxRDNnsuVkzBiiqVON7TdvHtGHH2o/u2TZdbju+vX84pknD1G+fERdumi/dB47pi+Totj7Jq5cSZQ3r/cKQIcOnsvk67ZmDY/T4cPGE5Xu28fLPHny8BLKk0+yVUtLqVm9ejUVLlyYAJAsy/T+++9TcnIyXblCNHYs0fvvczoMR8vGgwf65yDLHH0lCADNm7t+MzGZ2KOZiC+o3htMbKywiAj+QygiAjssFk7F7s3bv54J3/H5NXy4sUzZNWuml/fjj6392PYpyxxl4uoc9d60gfRJxx484OWH2rU9H5/ISOcyTZjgv+q+riZw2zErUoSXxvwVXXnr1i3q3LkzqdaRihUr0m6d6AmzWd83RlHYj0YQAC5e5IeDMw/vhx/mWH8iDtfSu2j9+gX3XAQhhai+K7DjyhXgxAl+YnhKaqrx/S0WIDqai9/p4bjN+vVcpwywL1yalsb9vvIKcOpU+n4kCRg2zLWMsgy89BLw8MP2n4eFAc8+ywXwGjXSl9cZycnOj+tp4VVPsVjsj3nuHPDOO0D//v45XlxcHGbOnIlFixYhPj4eBw8eRK1atTB8+HCkpqY63UeWgaef1q4DZzYDLVr4R2aBAwUKAH/9BXz6Kf84cuTgfz/9FNi1i4sSAlz9sE8f532YTFzcb8CAwMktyFwEQDHyGGER8Q0XLwburRxgK8CZM2z11VuaqVWLk6uptGypbQFWFLYSO5KczMs8ttEbkmR90Xv+eee5mWxJS2PrSA2dvFuO51q2rPP+jOTUClQzGqXqKVevXqXnn3/+P+tIjRo16NChQ0633bhRu+5RsWLaCUYFQcJi4bVN27BoWeZwMKNhb4Isg1iaEdhhsXCtmEAtEzz/PEcGDhtmfJ/atXmC0gsDBdgp05aEBF6GcDWx2UZ+GB0v1bHXiC/fuHGu+6le3bUypihcz8ZIGK83uVBMJqK33vLs3nFv3Cz0ww8/UFxcHAGgiIgIGjNmDKU5cVaZMcM+3Fr9t2hRoqNH/S+rwAtSUjij6tq19hWCBQIb3Jm/JSKiIBpkNElMTERsbCwSEhIQExMTbHEyNN99B/TsaWxbSeIpzBMUhU3rKmFhvKxjFCPHrlcP2LTJ+v8nnrD/vyPh4UC1akBUFNC6NdClCxAba7/NpUvAhAnAL7/wclGlSmyNXrsWOHTIeb+yDDRpAixfzufpjBMngMcfB65e5aUT9RwBoGpV4PJlXjpTv7NFkrhfWWb5X3sNGD8e2L3b+fZaPPkksGaNe/t4ysWLF/Hqq69i1apVAIB69eph5syZKFGihN12Fy4AU6cCe/YA2bIBLVsCL7wAREQERk6BQOA/3Jq//a4WeYGwiPgOs5lreNm+fapv2nFxHJWiJhkrXdr31pOcOX3XV5Mm1oiQS5eM7ydJ3PLksc9hsnMnO/zbjov6d/fuHKE5fz5R3brW7wsXJvrsM14S2rqVc1m1b8/LRo5p2K9c4RDWokU5p0r58hxZ8vPP+jLnyMFZWFXu3uW+3BlPReF6eoHEYrHQlClTKEeOHASAsmfPThMnTiSLqEsiEGQJxNKMwCkWC4dlNm/Ok2L58hyh4pjX6coVzv/hS0UE4CUVX6Vb79qVz2fWLPf3VTO7JiWxIhEfr+3LMnGidWwSEzn3idnMPictW/I2alSP2s9777mOVjlwgBU/o4VdDxyw3z8pieV3ZyzdXZ7yFSdPnqQnnniCAPYdeeqpp+jcuXPBEUYgEAQMoYgIvKJFC98n4VIUzgfiyz63bWMlwdP9Z80imjNHf7vcudnXo0wZtnps3Mjj9Mor2srAV1+lH9s1a4jCw91LKnfkiH0f33/v3rhXq8Zp5r3lxAm2+DRpQvTMMzz2RvJXmc1m+vrrrylbtmwEgGJjY2n27NnCOiIQZGKEj4hAk5Mn2ddg+XLg5k2OvouPBxo3Bpo3Z38CX98VigJERgJ37/qmP5MJ6NoVaNPGs1BPRQFefhnInp39FIyG2ppMvO3rrwOTJ2tvGx8PnD9v9R+5f5+jHBMTjY2vJAEPPQQcP85+IipduwJz5hiTuWFD9nvJk0d/Wy0mTQLeeotlMputfi7x8cC6dUCFCvp9/PPPP+jcuTN27NgBAHj22WcxceJExMfHeydcRuXWLWDJEuD6daBYMXaSyZaNvztwAJg2jX+suXNz7HmTJvY3gkAQwggfEYFLliyxpt92fHuW5cAm4PK2NW7M/hme7CvLnLW6Rw/3rBPutnnzuDaPxUI0bZr7+0+enP4adupkzGK1ZYtv7pn167UtLgUK6IdGq6SmptInn3xCYWFhBIDy5MlDCxYs0Nzn4EGuPp8nD/vMPP44l0nJsAYVi4XXRNWKkerFzJmT6IcfuIIvYL0x1X/r1eMQMYEgAyCWZgROOXuWlwWCrUD4oskyL5Pcvu2ZIiFJRN98Y8xh1BetfHle0jDiF6LOSwMHOp9s9TK2yjIXMvQVTz+tr/i89RZR375cSXndOn0lYe/evVS5cmUC2HekQ4cOdPPmzXTbrVjBY2Z7jVUlunPnDJpRfPhwz24iReG6BwJBBkAoIn4iJYVfSDLim9jt20Q9ewamAJu3TVGMRYUsWsQWnhIl3FdCIiOJTp9mH4dAp2HX2+aNN4hc5AIjInaYjYnR7mvaNN/cNxaL8XvGVmGoXJkVXy2Sk5Ppf//7H8myTACoYMGCtGrVqv++v3mTKCpK+/r46jwDxu3bHJrmzU0kEq0IMgBCEfExO3Zw8kD1wR8fTzR0aMYoNLl1KxccDdRkW7SoZ/uFhVknvKef5uyaRo/laSSOycQvmN6cry/HVZY5q6sR1q9nZcpZ1dxXX9VXlu/d40m8c2d2up061T5MWCUtzfOxLVnSWJHbbdu2UenSpUm1jrz++uuUmJhIX3+tb/mpVMnYeIUMs2d7f5N8/XWwz0Ig0EUoIj5k2TJ+qDq+FcoyR1KEchXw5cudy+6PCVeSeP3+7l02p7vTd9mynBtj5EgOVT19OnBKgLdjky2bb31MdNwl7Dh+nN0JChdm/4kmTYgWL9ZXQrZv5+3V81fHIHduoj//TL99lSqeK3vff2/sXO7du0fvvvsuqcrIQw89RI0b/27ouBkqHfxXX3kXw64onMBGIAhxhCLiI+7dYxO4Vl2M994Limia7NnDb8X+WIaxrd+iNtXJ9eef+fjnz7v3XP3f/+zlP3rUt/L6egxs25QpnPTMW2s7wPeav5f9Ll5khdHZXKgoRNHR6bN2z5jh2fnIMudZcYf169dTsWLFiBUSiSSpDwH3Na+vL0KTA8aiRd7fKL/9FuyzEAh0EYqIj5g+Xf+ZEBsbWm9kQ4daJwF/TLyyzM3W6bJuXS47oWKxcAVxI0pAWBgXyLMlJcVYzRm95m8lJDraGi1iNnM9MG/79KfVfckSqyXEVVMUoo8+st/PbOblG0/uq/r13ZczISGBXn31VVKtI0AZArY7lbVRI9+MTcBISbEvGudOUxRe78qITmqCLIc787cIStdg/37XNURUEhKAixcDI48ev/wCDB3Kf7tbi8QoFgvnkGjRAjhyhGu0bN7MKQ5UJAl47z1+emphMgFz5wJFi9p/Hh4O9OjhfcoEveM7k0eWrTky9Bg4kHOjALxfvnzuHc8Z48d734cz5s7lnCvXr2tvZzYD8+fbfybLwIwZwI8/ArVqcaqLmBggZ07tsTKZgIoV3Zc1JiYGU6ZMwaJFKyDLBQAcAfAYgMEAHtjJ+t577vcfVMLDOSmLJKUfPDXZTokS6W9+k4mT3vzyi/EbVCDIKARAMfKYYFtEBg40tv7vmCI9WFSv7j9LiLOXMy1HRIuF6O23eVvHMVQUopdfJjp82Pm+yclEn37qeaixJLFFxV3fjV27eAnfyH6FC6d/Mb150zfh0dev++yW+G883alN89BDxvqdMkW/r717vZN9y5YblC3bS/9aRkBAFVKUfSRJRF9+6V3fQWXFCo6xth2shg15wBISiEaM4JsM4DW7t98mOnky2FILBIYJyaWZkSNHEgB69913De8TbEVk2zbth6w7UQ7+JiEhMAqIbbt2TVsmi4VowwaiBg046VWpUqzc/fgjO1VevZp+n+RkNrd7o1BJElHNmu75yJQta5UhRw5jx2jThhNr2fpUfPih9+PquFTlLfPmGT+2yUT0/PPO+zl+nGjwYK7z8/77RLt3Ez31VPprpS6JOfr+eEpiItGrr/5CYWG5CQDJchj17TuSUjOUc4gTLBaO0964kejUKefbZMhEKQJBCCoiO3bsoIceeogqV64ckorI3bvskPfhh0RjxlgnAouF6IkntCe0xYv9Kpphbt4MrBISFaXvJLhmDRdnU5U2Z5Ne9+5cQXfXLs6gOWqU91adZs3YV8YdRaRLF6vc7tbaURRrcjWzmSdpTx2Fjfgc3b5NNH48Ua9ePNnv3q29/ejR7smzfr39/hYLUb9+1nM1maxWo06deKzj4637ly1LNHOm710ZLl++TK1atSLVOvLoo4/SEcdCPAKBICQIKUXkzp07VKpUKVq7di098cQTIaeIfP+99Q1YTX0uSURvvkn04AHRjRtcNVadOBXFWmX1u+/8JpbbuOMg6oumKET797uW588/rRVptfqRJHuZvY1sHD2ar9v588bHQpJ48ixRghNxdeni2bFr1GCLDhErV336uNeHLBP17699nefM4fwhkmSfQOzpp12Hks+YYXws+vZNr0CMGqU9dn36sFJ6+jSPuz99KS0WC82cOZNiYmIIAEVGRtLYsWPJLCwHAkFIEVKKyCuvvEK9e/cmItJVRJKTkykhIeG/du7cOZ8qIhYL0cqVbFIvX56b1gP2rbes+61fz//v1Inok084DDKYnDnDE0DevFyyolw5ohde0J5kwsM5J4Qv8l4oClGHDq7la9Ik8FlcHX0G2rRxTwmw/dvTcNyZM63H/+cf945fvjxbO1yxdq12KHnz5s73u3XLWtbEVcuWjZVyRyUiKUk/gik8nBX2QHL27Flq0qQJqdaRhg0b0unTpwMrhEAgcEnIKCJz586lihUrUtK/Xo16isiQIUPI6pRmbb5QRFJTidq2tT60jU4O5897fWifs3s3m/Btz0O1LKiRgbbfKQq/RW/cyFlifeXQGhbmfAn7+vXAKR/qeb7ySnpZvv028Onb69WzHn/uXPf2j41li8g33xBVrcrLX/HxvARz8iQXe9O7dq6WaYYNc72PJHHyO2f89psx2efO9eRO9g6z2Uzjxo2jqKgoAkDR0dE0depUsojwVoEg6ISEInL27FmKj4+nffv2/fdZMC0iH3/s/qQky0Rjx3p9aJ+SlsZRDa6UKUVhH4d69fhNtkABnsiOH7f28f339hk1vWmOVVfNZnb49+eE36ULT9TFi3PCrJUrnS8HHDwYOCVEbcWLW4+/YIFv+lQUouzZ9bczmYgGDXJ+36gFX1VLj3rt4+LYklK4MCuxjRtzzi11PJcuNSZjMGu+HDt2jOrWrUvqi0uLFi3oYrBNlgJBFickFJFFixYRAFIU5b8GgCRJIkVRKC0tTbcPX/mIpKQQ5crl/gRgMvHDO5RYuVJf7hw5nNcNseX0aXZ0bNSIa9F8/TXXpenRg+jRR1nZ0Xv7jo+3VwDS0ti511+TvMnEEY8Gbp3/COQSkaNF5MYN31U7Npocrlcv7fG4dYuXj8aM4Uq5zkoXAOxEbLEQnThhTL7t241fE3+QlpZGn3/+OYWHhxMAypkzJ80NhplGIBAQUYgoIomJiXTgwAG7VqNGDerYsSMdOHDAUB++UkT27vV8AvjxR68O7XOGDTPm42FjiPKIU6e0Jz9F4fowtgwY4N+JvkIF95fKVq0KXG4VwN5HhIjTPwTq+JJENGGC8XHR62/qVN5WS5lTFC48FyqrIQcPHqTq1auTah1p27YtXdOLMxcIBD4nJDKrRkdHo2LFinYte/bsyJ07Nyp6km7RCzzJMipJQGws8OyzvpfHKGlpwF9/AX/8YZ8R08j56GWE1eOhh4Dhw/lvZwkgy5YF+va1//y777w7phbffw/s2wcUKmT/ORFw/z5n2XQkLQ3o3t1/MtmiKMAjjwDt29t/PmYM0LIl/20y8b+eJsbUy/pKBNy8qd/P1aucZVWPr77ifydNAnLlssqvYjIBUVF8bUIl2WeFChWwbds2DBkyBIqi4JdffkHFihWxbNmyYIsmEAhckCVSvJcrx0qFUdTsylOmcDrrQEMEfPstUKQIULMmUL8+UKAA8Mwz/LmeImIyAV268LaJiZ7LMWgQMGsWULKk9bOoKO67QwdOr92vH7B1K3DyJCsE/iAqCmjViid7lbt3gY8/5nHJnp2vU7t2wN691m1WrOD0+/5Kd68iScDzz/O41KvHGbobN+aU6JIELFoEbNoEvPIK0KwZUKaM/bm4cxy9+3jQID6WFtOmASkp+sc7dAi4d4/PZ/du4LXXrCntw8KAjh2BXbuAKlWMyR8owsLCMHToUGzfvh3ly5fHlStX0KpVK3Tt2hUJCQnBFk8gEDgSAAuNx/gyj8jAga5N5I5LELVrczIuI1y/zqmuR47kZRxH501P+OAD35jpJYmoaFHXSRuNYrFwRdz9+4kmTWK/B1m2T2xVvbp/lxzGjLHKk5jIzqqO11N1wC1VihOpGcmQ6m1r3pwjkWwTetm2WrWItmwhevddDid+9VWiL77w/Hjt22svmWllRlWpU8f48RzT+D94wL5E333Hy0AHD7o+zr17RHfueHzb+YSkpCTq378/SZJEAKhIkSL0m6heKxD4nZDwEfEFvlREkpPZKRNInzOiQAGinTvZr8Joem2LhauUhoXxxKBOyDExRLNnO9/n5El2fu3Rg/91Vjri6FHfTpQmE+cO8cUa/q+/BjYc1raVKGGVo2/fwOcocdYeeogdUmNjjV0Hx/vE3XMoVoxDePW2i4tzfv04Vbrxa1i7tv3+V69ySnfH7Ro0sE9zP28ep9hXvy9XjpX1YOYc++OPP6hEiRIEsO/I22+/TXfv3g2eQAJBJkcoIi5ITSX64QcuTV6gACeQGjXKsyJjQ4dqP8QXLLBuazZz8jFJ4sknLIz/lSSeVG0f0B984B/nxk2bvB8/I3ks/NmeeYatO9HRwZPBtlWt6n72VNumKiK2CoqeklC5sn6/OXOmv3ZJSWydcUf5sb2H79/n34szR2mTiavTJyayAzNgf5+o59S1a3CdWu/cuUNvvfUWqcpIyZIlacuWLcETSCDIxAhFxM/oZaqUJKLSpa0P3Y8/1n7gjxhh7fvFF30/YZpMHG3jDTduBH/iVxSiIkWCL4evmzpRP/209nayzJYhLWVQlrnWjiOTJrkn0yuv2O8/dar+OfTvr9/vwoXe3Ye+YPXq1VS4cGECQLIs04ABA/5LuigQCHyDUET8zKxZxh7me/dyQT09X4XoaF5PX72aTfa+nuhMJrbgeMPx48GfsG0n7azcIiL0x+HZZ+3TxdeoYXzsXnst/fWvV097fzWrr1ZouaJwwrRQ4NatW9S5c2dSrSMVKlSgXbt2BVssgSDTEBLhu5mZmzetkTVa3LgBrF/PER5a3LkDvPEG0LSpd1EurkhL42gOgCNbpk8HOnfmKI5p0/SjXYiADz4wfrywMKBTJ2DVKqBRI8/ldiVLWJix8c+sTJ/OY6AVebN0KdCihTWs+cwZHjstcuQAVq8GJk9O/92VK9r7E/G9m5bmehuzmUOwQ4G4uDjMnDkTixYtQnx8PA4dOoTatWvj448/RmpqarDFEwiyFgFQjDwmVC0i771n7M3y5EmOpAnm27PJxGv7Fgtnv1Rr0aiVhAHOOrt1q+vz/fNP944pSZzq/M03/XNOvspWmhFbtmycWfbkSfb50NterSGjVeAR4CWdJ590fQ80bartXyLLxqx5RYr49rfoC65evUrPP/88AWwdqVGjBh06dCjYYgkEGRphEfEjI0YAo0drb6MoQIMGQPHiQPnyxvr1JK+EHpIE5M0LLF7Mb7RPPgncvs3fpaVZ35Zv32ZrzIULzvuZPTt9MistiIBTp5y/WfuCQoWAL75gq4iihE4yrUBQpAifc/HiwNmz2ttKEvDuu5xvpWRJ7XGyWNhK5opXX3WeNM52/2ee0T6GogAvvKAtczDImzcv5s2bhx9++AFxcXH466+/UL16dYwZMwZmrZMWCAS+IQCKkceEmkXkwAFj1oDs2e1TrD/yiPbbpCd+D7LM1VmzZeP9ZdnqxKgo7Cz72WfW8uzDhmk7OSoK0eDBzs/72WeDbwmwPe9PPmG5zpzhKI3atYMvV6Daiy9ar4uvLEOKwiHeycmu7/3UVE717uwekmWOqLpyhShvXuf3uixzBegTJ7z5BfqfCxcu0NNPP00AW0fq1atHx20rRgoEAkMIi4ifmDRJ3zIQHQ38+SdQubL1sxkzOPunq32J3JNDkvg469axFeOLL4C2bTnT5dy57PNx5AgwYACn5gaABQu0M4yazcD8+c6/K1AgdHwywsOBatV4zIoWBYYOBYYMCbZUgeP1161/u5MtWItmzfheioiwfpaYCHz2GfDww5y1tlgxTmHfvbs1uyrA373+OvDrr0B8PPtE5cvH35lM1ns+Joa3KVHCNzL7i4IFC2LFihWYMmUKcuTIgT/++ANVqlTBxIkTQe7+UAUCgSEkCuFfV2JiImJjY5GQkICYmJhgi4P69bnuixY5crDzKcDKwJIlnCY7Z05g+3bgl188TzmeLRtQuzbXCencmfs0SqlSwPHj2ts89BAvqTiycydQq5Y7kvqfFi2AhQtZMUlOBvLnB0I5e3ejRpzqfdgwruHiya8uf35OWS9JwJdfcnp9T5BlVgjeew9o2JDvDVuuX2fn5qNH7e9VReGlvl9/ZYdtIqB6dSAuzn7/Bw9Y8f3tN1Zw69YFXn6ZlfGMxKlTp9C1a1ds3LgRAPDUU09h2rRpKFy4cJAlEwhCH7fmb3+bZ7wh1JZmmjfXT+iVNy+H7L7wgtXsHRbGf+fOzY6h7prOJYmXTWzDMd2lfXvt0EqTiei551zvny9f8JclHNtrr3Girl9+IWrRIvjyuGqVKrFzqZ7DqFYzmTiEmogznKr3lDfNVSXj9u1dLyWaTOkzrmZmzGYzff3115QtWzYCQLGxsTR79myyhEq5YYEgRBF5RPyEXlInk4norbc4A6gzhcVdXxDVD2TdOm25kpO5rPtPPxHt2uU8e+WmTfrH0zrOsGHBn9CdtchI61j5um9JInriCe/7mTiRs7B6k5a+XDlrBMxXX/nmfPfuTX+dL182JueePQZ/NJmEv//+m2rVqkUA+460adOGrly5EmyxBIKQRfiI+ImXXrJGLTgiy7we3rAhsHy58+UXIv1jyDKvxz/1FPDpp5z/wVUuDiJg7Fj24Xj6aS5B/8gj7EOxc6f9tvXqsc+Iegzb4wFA794sOxGwbBlH2MTEsI9Jp04cVeOPyB5vSUrif/1RYffhh+39JjwhRw6gcGGuCuxNAMaRI0DLluwDdOaM99dCljn6yBGjcjreX5mdsmXLYsuWLfjkk08QFhaGxYsXo0KFCli4cGGwRRMIMj4BUIw8JlQsImlpRIsWsaWjTBnrW7iiWJc74uKINmwg6tdPewnESFu50phcn3zifH81QsHxjddiYatJjRrWbatX5/o7Fgs3tXaK7VuxycR99ujhX+tGqDVJ8j5iKDaWqFcv7+8JtcXEcKSQN9YVReFKwM747TdjfcyY4fHPKcOzd+9eqly5MgFsHenQoQPdvHkz2GIJBCGFWJrxIffvc9ii7eSsmsXj44m6dCGaNo1TtBMRde/u+aSjKFw8zEiV0mvXtP0EFIV9WlyRlJS+xPvixdrymUxEbdsGX0EIVJNl39T+Ue8fX7UxYzxPda8orBz984/z++LuXQ4/1xuXc+cM/XwyLSkpKTRo0CCSZZkAUMGCBWnVqlXBFksgCBnE0owP6dePQxIBq8laXQa4cYPTt3frBkRF8WclS+ovE6ghjbbmdVkG8uThZREjobI//aRtQjebOcX61asczjtjBvDOO0DfvhzNEBHBUTi2jB2rbfIn4miJrIIsc+Iwb5ZBZBnYutV3MplMHIX12mueJXJr0IDDy8uUcf599uxAr16u+1YUoF07Xm4ywoMHHBY+ciQwYQJw+bL29keOAMOH8306bhxw65ax4wSa8PBwjBgxAlu3bkXp0qVx8eJFPP3003jjjTdwRw2bEwgExgiAYuQxwbaI3LypXWUX4DfTM2es+1y8qG02VxRe/li6lKutFivGyaRGjSK6fl1fprt3iSZPJqpQwdhb8eTJvGwEsAVFtdZUqZI+akJdctJqcXH+cQwN1fb117y0Emw5bO+3zp2JEhOJ3n3X2BKNohC9+irRqVPG7vsHDzhyBrDeL+pxnniC6M4dY/0sWmSNEjOZWHZF4fFMTbXfNjmZqEMH67HCwnj7iAi+h71h3z6iCRO4H3/kJrt37x717t2bAF6qeeihh+j333/3/YEEggyEWJrxEStXGpscZs+23++rr6yThuOE8PDDxhQOZ2zZQpQzp/O+XbXwcOeKg8lEVLYsTzoq0dHBn2hDrWXLRtSqVfDlcGwxMURz5nCUlJHtO3bkMGej1e4tFo606tKFqGFDopdeIlqxgv2ljLBuHd93zu5TSSJ6+2377bt21VZwFywwdlxbzpwheuwx6zHVvlq25JcMX7NhwwYqVqwYASBJkqhPnz50//593x9IIMgACEXERyxfbuwhP3Nm+n3nzuWJXt0mIoL9R65edV+Of/6xvqEabYpCVKiQvr/KvHnW47Rt6zunStEC0xYvZiuFnmVEneRjY4mmT/f0F8Hs28cWvS1bXPsz1amjrVjY+pmcOqWtWEuStXCjUW7c4AJ7zu5nRWGH7ZQU78bBGYmJifTaa6+Rah0pU6YMbd++3fcHEghCHKGI+IjLl41NzEeOON/fYiE6dowf3J6ewvbt7DzoznKILPObvN5Si6KwgqPy55+eO0GK5rz5s1KwOkHv3MnX251Imh9+cP9e3LKF86HY9lO0KEdi2XL2rP7xZZnoyy95+y+/NHZ/Hz1qXNZPP9Xv01FuX7JixQoqUKAAASBFUejDDz+kFH9oPgJBiCKcVX1EvnzsmOfKWdFk4nwbpUs7/16S2Hm1cmXOyeEuFgsfPznZvTwZZcuyg21KivZ2ZjM726o8+igwfbq1qm2oIEnW8TOZQks2PZ580n91eoiAw4eBc+eAF19Mn2pdi/ffdy+vybZtnGdm/377z8+e5fw1s2ZZPzPi0Kwo7OwNcEkEI2Pkjg/ozJnavxlF4arS/qJ58+Y4ePAgXn75ZZjNZowYMQK1atXCfscBFAgEEIqIDt99x4qEJFkjCdS/H3rIvw+z334DTp82PmHkycP1bA4eBOrUYQVJryx7+fL2n3XpAhw7xtFCYWGeSu5bcuUC/v4b+P13rlvij+Rl/uLyZf/L+9xznOgsIcG40nP+PLBpE9eEad8eaN4c6NOHFRtn9OkDpKW5Ppe33gKmTOGoF1dJ/2xJS7MWwCtThv+vhcnEvzejXLum/b3ZDFy5Yrw/T8iVKxd++OEHzJs3D7lz58a+fftQo0YNjBo1Cml6JywQZCUCYKHxmGAvzajcv89e99Wrcy2ZSpXYnOxvsT7/3D1ze8uW9vt/+63+2vuxY66PX7Fi8Jc2AKI33uAU877Ox5HVW9Gi/K96j6nLkIMH2/tjHD3qXr9NmnDyP617NyrKGn2TnMzRNa7uVZOJ6OWX3fvtVKmife8rCteDChSXL1+mVq1aEcC+I48++igdcbWmKxBkAoSPSCbhm2/c89moUME+qiElhahRo/Rr5er/P/tM+/hffJG1QnWzWtNSFIoVI6pZk2jQIPalcLffokU5wsvxGOr9PG2a/b22dClv67i9yURUsKDrAn2uGDdO/7cT6PxjFouFZs2aRTExMQSAIiMjaezYsWQ2ksFQIMhgCEUkk3DihPvOo0uX2veRnEw0fLh99dzq1e2jZRIT+ViO1X1v3yYqXjzrRNJ4kzY9IzV37ilF8czhVpKI/vc/Dn22PV65cq5DcTdt4lBhdduICKJu3YguXHD/t3P/PtEjjzi/prLMcgVr/j979iw1adKEVOtIgwYN6JTRJC8CQQZBOKtmEkqUYCdEo86ZigL88IP9ZxERwIcfAhcucLt2Ddi1C3jhBfYFeekl9sF4+GEgZ04gNpaddOvX5+J969axX0ZWoGpV4KOPXBcZzIg48xEiMr6/2QykpnqWxXXxYvZVypfP+lnBgq6dauvVYyfra9eA48fZmXXaNN7HXSIj+d7t3Nne1yl7dvZ/mjfPf07EehQpUgRr1qzB+PHjERUVhd9//x2VK1fGtGnTQO5cHIEgs+B/vchzsrpFhIgzqT71lPE30YYNjfV76BDnlNCzdjRsyD4C/fuzuT7Yb/OBsBQ8/zz7BJUqFXyZvG22uWy8aeoSnTvWFLVYou1nisJ9OMu94y+uXydau5Zo/XrjWWEDxbFjx6hu3boEsHWkefPmdMETE5BAEGK4M39LRETBVYVck5iYiNjYWCQkJCDGk/jXTAIRsGUL0KIFkJjoejuTid8Ap07V77NePa45YjQiR317zEgRK54iSUDu3ED+/EChQsCGDVwzJSOhKECTJlw/qGxZ3/RZsiSQlMSWNW8JC+PInfh47/vK6JjNZnz11VcYNGgQHjx4gJw5c2L8+PFo164dJE9MUQJBCODO/C2WZjIAkgQ8/jgweLC2OTktDejeXb+/I0eAzZvdyyNhsWQNJQRgxe/6dQ6DXreOlZCHH/btMcLDfdufLSYTK1ITJnBeGF/lXYmJAc6cAdasAXr08K4vs5kLMfoSIr5e/foBPXtybpOkJN8ewx8oioL+/ftj9+7dqF69Om7duoWXXnoJ7dq1w/Xr14MtnkDgd4QikkEg0k5sJklsDXn0Uf2+jhzxrWyZGTXdw4kTwNdfu05e5y6pqemrH/uCbNmA118Hdu/mysEnTvhGgVQU4Ikn+N8nnwS+/ZYtLs4UYyOKjySxoucrLlwAqlVjmb75Bpg0iXPiFCrEyklGoEKFCti2bRuGDh0Kk8mEefPmoUKFCli6dGmwRRMI/IpQRDIIEyawRcQVTZuyY5+WJddiAVat4rLsAveQZU4a9s8/7IDprcVcVSzdlcGZJcVkYgfQTZt46W7cOJ6AAXZA9oVTJpG9FURRgKVLgTffZIdoW1natdMfH0lih1Jf8OABKyCHDvH/09JY0QM4yVuLFq4TtYUaYWFhGDJkCLZt24by5cvj6tWraN26Nbp27YqEhIRgiycQ+Ae/e6x4QVZyVt21i6hTJ6LcuYni4oiefpro11/5u5QU/lzLMTA2lkMWbdm7l50C584l+v13DsVVHQaD7USZUVtSkn4NH0+bJLl2BlWdPJ19V7kyF45zxtq1xo69eDHnjQHsHZhVh1PHCtO23LrFOTlWrCC6coU/a9FC/z5bscLLH82//Pyz9nFMJg4DzmgkJSXRe++9R5IkEQAqUqQIrV27NthiCQSGEHlEMhhz5vDD3nYCUB/igwYRrVljbDJRc4gcOUL06KPBn7QzY7t/nwvM+aNvSeJEYF9/bR+xI0ms/Ggll3NVUdds1lec1LwaRESbNxO1a0eUPz8nEuvShWjPHvfv6T/+4H6dKU8mE2cntk2+5w3t2ukrPTly+OZYwWDz5s308MMPE8CRNW+//TbdvXs32GIJBJqIPCIhyMWLwMcfA08/DTzzDK9j377NtWQ6d+ZlE9vyE6oj6SefcI0VIyQk8Fp53brAzp0+PoEQI9B1cGSZaw5FRvLSjD8K7xFxEbnNm+1rpUREsNOlln/Q6NG8vyNJSfoRPxaLNRKmbl3gp5+AS5f4sxkzOL+Kuzz+OPDjj7yUJEm8ZGMy8XflywOrV/tuDO/c0Xe8vn/fN8cKBnXr1sW+ffvw1ltvAQDGjRuHKlWqYMuWLUGWTCDwEQFQjDwms1hE5s8nCguzvrWpJvi4OKJXXtF+m1MUosceM/ZGvXUr0bvvZo2ll4ce8uw8ZdnztPVq7oulS4N//s7a1avp771u3fT3UxSi1q39c+/fuEH01VdEXbsS9ejBy42+zmjav792PhxJ4oyumYE1a9ZQ4cKFCQBJkkQDBgygpKSkYIslEKRDLM2EEPv28UPSmYlalo1NptHRXMTL1bayzImrzGaimJjgT4iBaFWqeKZQSBLR+++7v1+PHvaF4AYO5M9DKf296p+hcuWKcfmWLAnkr8K3HDmif82/+y7YUvqOW7duUefOnQngpZoKFSrQrl27gi2WQGCHWJoJIcaO5X+J0n9nsRjL5REWxiXWw8PTm7MVhb+fOpX70kp4lpnYtw/o25fPXysqRP1elnmcZswARo0CFi3iJQItZBl46ilgxQqORLGNBPn0U86nUa6cb87HW/Ln52io+fOtyxCbN9sv97miYkWOLMmolC4NjBzJfzveC7IMNGwIvPZa4OXyF3FxcZg5cyYWL16M+Ph4HDp0CLVr18awYcOQqoYLCQQZCJFZ1c/Ex9uv97uLyQS0bcs1ZPbuBQYO5PV19ao1acIP4Ro1+P+5cgG3bnktdoagSBHgt9+AyZM5dFWSOPtngwacfOuffzik02QCKlUCunWzr3tCxNvs2MG1R1atYuUwZ06gVy9gwAAgKsr18ZOTgQIF2NcnlIiJAUaM4HNt105/+1mzgFde8b9c/uaXX/i3sHcv/z8+HnjnHb6OtiHGmYnr16+jR48emP9vTP4jjzyC2bNno7yeli0Q+Bm35m+/22e8IDMszcTFeWdulySinTvt+7x0iSMZLl5Mf7y+fX1r7n/4YaK8ee0/a9KEKFeu4C9FAES//WY997Q0ol690keJNG1KdOyY/rUymzk8V4u0NPYR+egjog4djF/DYIzNkCH6x5YkotOn9ccmI3H1KtH5876Lygl1LBYL/fjjj5QzZ04CQBERETR69GhKyyoDIAhJhI9ICNGsmWdOlYrCbdYs48c6fpzDP30xiakho1euED14wCXaV64kOnmSj+XrEFZPJ+s33mD5bt1yfe6SxHlYvK20vmMHUZEi3Kezgm6umq+uibstOprzeWjlJlHDdgUZnwsXLtDTTz9NAPuOPP7443T8+PFgiyXIooSMj8jIkSNRs2ZNREdHIz4+Hm3atMGRLJZfvGdP92q6lC3LIZR9+wJHjxo3md+5w2vhvihIppIrFzBmDIce16vHocfFi/N3efP65hjh4XyuRYt6lq100iSgVCmgWTMOfXUGEZeUb94c2LiR/+8uJ08CjRvzWADse2E0dfrZs9bQ1UBy5w4v02md78cfB04egX8pWLAgVqxYgSlTpiBHjhzYvHkzKleujAkTJoA8uekFgkDhT42oadOmNGPGDDp48CDt3buXmjdvTkWLFjWcjCczWEQsFuPLJbJM1KiRZ8cZN853SwC2b/qKwpaRDRvsjzdkiHtRK6VKpZevWjWiM2c4c6w38rprcapTh+jaNffG9513QitCxhdNUfi8BJmPU6dOUYMGDf6zjjz55JN09uzZYIslyEK4M38H1Fn12rVriI+Px8aNG1G/fn3d7TODsyrAj/0lS9jpVM+pvXx5a80Md2jQgB02Pb2akuR6X1kGsmcHzp3jt+yZM4EDB4CVK4G7d431X748sH07R5qkpbFzbYkS/F1ysu/qjhhBUYCaNYGtW7WtMAcOcIHA2Fh2+nTHCVhrPAOJomhb5LJn50grX9SjEYQWFosF3377LT744AMkJycjNjYW33zzDTp16gTJ22JJAoEO7szfAX38qEWbcuXK5fT7lJQUJCYm2rXMgCQBbdpwdVC9UNOHHvLsGAkJnk186vMoLs51pkuLhRWOzp2BYsWAoUOBhQvdK7H+99/WqJW2ba1KCMDLJr5a6jGC2Qxs28bLNM7YuxeoVYszqb74IofwuhuJpC5hBZOICP174t69jJ11VOAaWZbx7rvvYu/evahduzYSEhLQuXNnPPfcc7hy5UqwxRMI/iNgiojFYkHv3r1Rt25dVKxY0ek2I0eORGxs7H+tSJEigRIvILz+urZfgdkMvPqqZ31XqOCZH0JYGE/It2/r+7IsWWLNfZKW5p7vCxHnuHj8cU5vr7JhA/t4XL/uvuzeYDKxMuXI4cMs4+7d7vfXvj2HVh86xLlKgoUkcWvSRN/SkT27doiyIONTpkwZbN68GZ988gnCwsKwePFiVKxYEQsWLAi2aAIB4/eFon958803qVixYnTu3DmX2yQnJ1NCQsJ/7dy5c4bXmDICSUlEtWo592mQZQ6L1Yq4u3WLw3aPH+dQ04MHidavJzp6lIuMeeorsHGj52nPPW07d3KYZfbsgT824Loia+vWnqfI37fP2s+xY4E5jxw5iAoUsP+sZEmiRYu4+rLeGAgfkazF3r17qXLlygSw78jLL79MN2/eDLZYgkxIyIXvvv3221S4cGE6qcZ+GiQzOKs6kpjIE6Ct42N4OFHPnq5zWFy4QNSxI9erUfeJiLCfVGrXJnrhBf7bXafVDRuI6tULXI0aReEaO6NGBUcJAfi4Y8bYj/ONG547/Pbvn/66NWniekxNJqJHHjHWd7Fi9nJVrkz02WesfCYn87EOHuTw6p072UH6xg0O3dW6BnnyEAn/xaxHSkoKDRo0iGRZJgBUsGBBWrlyZbDFEmQyQkYRsVgs9Pbbb1PBggXp6NGjbu+fGRURs5loxAh+k7WdGOrUITp0KP32ly4RFS6sH7Ehy6yovPceUYkSxifQ8HCetBYv1u7b14rAQw8RPflkcJQQ9byvX7cf608/db+fYsWIJkywr0OjcuYMUaFC6ZURRWErxty5xo4xahTRuXNc1NBIYraUFKLq1bUVy0cfNdaXIPOybds2Kl26NKnWkddee40SExODLZYgkxAyeUTefvttzJkzBz/++COio6Nx+fJlXL58GUnueDlmMgYMAD78MH20yY4dnD/kxAn7z4cM4ZLsejVDVN+NtWuB48c5d8Xp08Ajj7j2HVEUoGNHzhfSujU7oQL228sy+xCEh7tzlvooCk+J/sbRR0JR2H9iyhQgd27r53fuAMOHG+9XkoA+fYBBg4CbN4HZs7kPW4oWZV+TAQM43TjATrnvvQfs2WO8Tk2+fEDhwkCdOpzCXo8FC/i4rnx4VOdpI325gzu5VQTBp3bt2tizZw969+4NAJgyZQoqV66Mja68uAUCf+FPjQj/atqObcaMGYb2z2wWkZMntU3/JhNR587W7e/d8yyD6f791j6OHyfKn9/+7ViSuFWtSnT7tr2Mf/5J1KkTV/OtWpVo2DBOJf/GG75bupEk9k0YNsy/SzOFC3PmUNt09A0a2KeFV5k61b1lGbVysiRZrVVRUZzPxRWOVhOLhf05tI4bEUF08yZvu2MHW1F+/dW6JOOMZs30z6VMGdf7u4PZTDR9Oi8XqePy5JNEa9f6pn9BYNiwYQMVK1bsv2d079696f79+8EWS5CBCZmlGW8JdUXEbOZJbeJEop9/Zv8PLYYN05/Mw8KI1N//iROeTcBLl9of9+pVTkBWtCgvCZUvTzR2LCs6RrlxgycvXygjJhPRP/+wc6c/67CosubOzZO31vX54APfJSwzqGcTEdH8+dp9ffgh0ZYtRBUq2H+eMyeXtne2JFS1qr6MOXIYl9EVFgsrzqoC4jju337r/TEEgSMxMZFee+21/5SRMmXK0Pbt24MtliCDIhSRAPDbb+wfYPtwj4oiGj7c+eRAxFYFI5PdhQu8/fXrnk2EW7f655xv3uQJO2dO7ybqBQu4vzZtAuOsqihEsbHOiwSqfPaZ75SiAgWIUlOdHyctLf39MWOG1WfIZLJaWQYOJNq+na0irsbp88/TH6NlS30ZIyJc36dG0fNxkSSO6PKUtDSihISsU7wuVFixYgUVKFCAAJAsyzRo0CBKSUkJtliCDIZQRPzMli3aRc8+/ND5fkOGuGcRISJq2NA9K0TRomyp8SdmMy8TeDJJDx7MfZw7F9iqtIpCNHQoHzshgej774m+/JItEsnJPKH78ngbN9qP19SpRJUqWZWNFi3st7l7l2UaMYKdX69eNXb9TSai2bPtlaw+fYzJuHevd/dB3brasikKUb9+7vd74gRR9+7WZckcObiqspYiKfAtN27coJdffplU60iVKlVon218ukCgg1BE/Ez9+vqTw5Ur6fc7flzfR6RjR/t9Nm2y+iIYmVx++ikwY0BE1LSp8eUMReFIGdUnRStKx1+tQgW2fERGWmUCiOLiOJTVl8datIjP02wmeukl/sz2GqpK7LRprsf3/Hnjx1MUopdfZiVrzBhj+6xf7931j4rSP0aDBu71uX8/W68c7ys10uj0ae9kFrjHvHnzKHfu3ASAwsLC6NNPP6VUV+Y+gcAGoYj4kXPn9B++ksTr987o2dP1RBIT49yUvXixdTlENd07TmhxcUQzZ3p3bhcusN+G+jaux5Ur7NSqOr+6GguAE7mdOUN05w77ysTFBV4RsXVa9XdTXx5nzTK+rSN//eXeMRWFqGZNonnzjG1/6pR394veEp0kET39tPH+LBZ2enWl5CsKO+IKAsvly5epdevWpFpHateuTf/880+wxRKEOEIRMciDB2ya79CB/RUGDdJ/49q9W/8BHxZG9NFHzvc3m/k7x7fJ6tXto10cSUriNfmPPiL64gveds4cXl745RfXydCMsHUr0RNP2E8grVoRHT6sv+/du0Tjx6fP7mmrJKnm+cREPs9gJDFTo1wCcZxq1azjU726vjWrYEHny2lGlF5nbfp0tvC4Oq6ieF7l2ZYuXbQtYpLEy0xG2b5d/9wkyXsFSuA+FouFZs2aRbGxsQSAIiMjaezYsWT29zqwIMMiFBEDnDvHb/Pqg1mS+F9ZJvrmG9f7Xb6sP7FIEtGUKdrHT0xk8/2cOazcBIt163gycZZ0Kzqa6MAB/T5+/11/Atm3j5OtBSp7azCaLLNfg22ggdGlqx9+cD627voIyTIrlYsW8X3oqPQpCvtcGLmueuzbl95CZ3uc+Hj9SDJbpkwxdo7Ll3svu8Azzp49S08++SSp1pEGDRrQKaEZCpwgFBEdzGZ2HNSaJJYtc71/8+bak0O2bOnzcwSSa9eIRo9m34TOndli8uBB+u3MZnZudWWhUBRO/a7H889rj6WicOZYx7T0ma2VLs3LKba4kwfGMeU8ETsFa0XNOGslSvC+q1ezRUb9XJJ4aePgQbdvKZcsWcLnKMv2VqcCBdw/zpw5xs5v3TrfyS9wH4vFQuPHj6eoqCgCQNHR0TR16lSyeBuGJchUCEVEh19/1X7QyTJHBLjiwAEu1uZKGdGyqPibX36xTlyybFUQSpTgaARb1q419uDXC8EsWDD4SkAotEmT0o+NWv/HaPvxx/R9bN5MVK6csf0liZ2pbTl2jBPVnT/v3r1klOvXebmwbVt2mJ0927OlwmvX7OspOWuxsd4tQwp8x/Hjx+nxxx8n1TrSvHlzuqDmHhBkeYQiokPPnsZM5lqH3bOH6LHH7LcvWNC9ZFa+Zvt2Vj6cmcpNJo5asc3IOX68sclt1Sr745w+zTku6tRhhS02NvhKgG1TlbBAH9fWf09dOnc3zLlMGef5PSwWom3biF59Vb8PV47SGYF33tFe+vzkk2BLKLAlLS2NvvjiC4qIiCAAlDNnTpo7d66wjghCp9ZMqJKS4v12VasCW7YA//wDrFjBf589C3Tp4gsJrRw/zrVDli8HEhO1tx09mmurEKX/Li2Na88sXGj9LDbWmAy22y1YAJQqBXz+OfDnn3zeCQnG+gkU+fK5V/NEkrz7HgCeeorHacAArmGjKFxXZuFC4Nlnjcty5Ahfc2cy1K4NfPMNn58WS5caP16oMWYM0L49/60o6b///Xdg376AiiTQQFEU9OvXD7t27cIjjzyCW7du4aWXXkK7du1w/fr1YIsnyCgEQDHyGH9ZRCZM8DySIVCcPs1l5G1liowkGjDAedZOi4Urymqdk6IQtW9v3ef2bX0fhkKFrJkt//7btXNiKDRJIvrf/4gaN3ZPRiO+K1pjW7w4Wz4ca/qoY16ggLGcG2rTSjR27176ys3O2t9/+/Z+DDRTpji3aikK/w4cfXEEwefBgwc0bNgwMplMBIDi4+NpyZIlwRZLECSERUSHDh24oqyrN11ZBnr2TF+5NVBcuQI89hi//dmSlMRWD2dWFyIgNVW7X7MZWLOG+37/fa4a+/772vuMGGF9M/3uO+uxXGHEeuBrJAnIn5+tCSNGAGFh2jLKMvD668D69Wx9yJtX/xglSgAffADkyGH9LG9eYNgw4NAhoH9/4Pr19BVvzWaunqwljy0REUDx4q6/37MnfeVmRyQJWLfO2PF8xY4dPKYNGwIvvsiWIL2K0a4gAkaNcv6d2cyWyjfe8FxWgX8ICwvDRx99hG3btqFChQq4evUqWrduja5duyIh1MymgtAiAIqRx/gzfHf5cn67t/UVURNzNW5MFMzSCkbCXHfuTL9fhQrGLQGKwuc+Zw7Xj1FDl8PCuI9s2bgwni3Fi+v3my8fZ1x19J/xV8uZk+VXo5SMJBDLlYvo0iXreb34on4+jIcfZmvUoUOclM3WKnX4sG/ORZaJunXTvjc2btTvR5LSXzt/YTYTvf46H1cdQ/XerV6dHVndxcg5Ar4JQRb4h6SkJBowYABJkkQAqEiRIrRWlGTOUghnVYPs3s0hrqppvnRpjngJdn0nvYyVJhPR22+n32/iRPeXTRSFlwIuXSL6+mtO6jZxItGtW9Z+b93iyJlChfT7i4riCI9HH9VWpmSZQ4e9mbg//NC+IJrFwpWF9cbAcZLetMmYkqBOtL162S/bGQ071WslSnDkiBZGltOAwC1djB6tfW89+aT7fU6bZmy8Fi/2/fkIfMvmzZvp4YcfJoAja95++226e/dusMX6f3t3HhZl2f0B/PvMDJuoCC4IuZFrgpKCYG5ZomZWWqmVpoiJvYom2qtZpubPFM0l10itNCs1JY0yW8jQtFQUQgUVxT1NUFM2BceZ+/fHeYdhGWaBGZ4Bzue65kpmnpnnzAMxN/d9zrlZJeCBiIW0WnnzQYpSq837i3fwYMPPHTTIeMt1Q4OasDDDsZw8ST1Ciq7VWyM/RJJonf/QIerq6u9fvtdxdqbOrjo3bpj3fidNKv1e587Vf3iac+6oKP1zzW2prruVzElxcKCB5a1b5v2MvP562XGqVNTmvTLcv09Ny0y9X0v7iezYYd513LvXNu+LWVdubq6IiIgoHIy0bNlSHDhwQO6wmI3xQKSKM7UPi0olxPjxhp+rVlP5ZuvW5n8wenmVfp3kZEqKtFUn1B079Oe6e5faopfnXLrN5YSgrremjndwEGLCBMPX7scfhejXz7zk1Xr19KXQt26ZThQuev7XXxdi/346X1qa4eRjY3JyhAgOLj3gVCho1ur8ecter7z++sv0+1UoqMeIObRaWjItmaRt6Obpafl1Y/KKi4sTTZs2FQCEJEli2rRp4h43ham2OFm1ihszxnDpos6DB0BoqOHHVCogIgI4c4aSWwMCTJ/PUFJheDg9v2TypTWoVJR0qfPZZ0BycvnOdf26/t+NGgHNmxs/Xq0Gunc3/NhTTwE//wysW2f6vHfuUPkyAHh4UKKmuYm6Li5Ajx50vjZt6HpYonZtSmT++GOgUyc6f5s2wLx5VNqqS3YVghI7hbDs9c1lTjKqJJlOogYoxsmTgWeeAeLjTR///vuWXzcmr5CQEJw4cQKjR4+GEAKLFy9GQEAAEhMT5Q6NyYwHInbov/+lXhSGftEqFMCwYUBQkOnXcXYGevUyPqhRqehDsagTJ4AjR2wzCAHow+nWLf3Xa9eW/7WKVphIEjBlivFqqIYNgRdfNP6a9+6Zd+78fP2/ly41r1+IWk0DkIpydqbBT2IiXcu0NOCdd+jn5to1YOpUwN2djnN3p6+vXav4eYtq144GVcZoNOb9rG7bBqxapX+OIZJE7+fDD4GxYy2LldkHNzc3bNiwAbGxsfD09MTJkyfRtWtXzJ07F2pzRqyserL9BE351dSlGSGESE+nfV6KTkc7OlKipCXJtGfOmO4yWnKtPSbGNssxRafrFy/Wn69u3fK9joND6dyeBw+oVwpQfKlHt4nfoUOmr9nBg+adf8UKysdwcKAk3WHDhAgPL/t4lYoSeW2Zj3TuHOVtGOpn4ulZus1/RUVElL2kplRSArg5TTaDg03/nA4ZIu8eTsy6bty4IYYMGSIAyh3p3LmzSLHmRkhMVpwjUo2kplJVxvbtlIuQmko5Dm3aUB7I+PGmkwE3bKBcgqIlqrp/G2qZ/fPPth2IqFSUz6FjTlmwoVtkpOH3q9HQnjuPPy5E/fpUnTNtGpX2PvMM5VG0akVlv1eulH6+ViuEn5/xD9gmTfSDqqLvS6GgcuCSAyGAWuHbuoKxV6+yS5FVKiF697bu+bKzhQgMLJ2volRS9dfx46ZfQ6s1PQiRJCGef966sTP5abVasWXLFuHu7i4ACCcnJ7F48WLxoGg5HKuSeCBSTX3xRfEy0qIffps2GX/u0aNCvPqqEA0aUB+NQYOE+O03w8feu2c6YbYit6KzIUJQxYqle8OEhBQv3TVGq6UBW9EBmO7DsnZtqtwp6fhxGjiU/FDXfcAai83Bgb5XLi7F79e9x0WLzIvbUqdOmXftiu6JYw1371Lpd7t2VMnUuDEN/AwN8nRSU4X47jtK2lWrTScqKxQ0I8Kqp6tXr4qnn35a6GZHunfvLs6ePSt3WKwCeCBSDaWmGv+wViisu7370qW2GYTMnFn6XJmZVLlj6C95XZO1ol8/+2zxPiembNxo/Lp5eFDr9JLOnaNmXboBRd26QkydKkTHjqa/F6Z2kS1a7WMtW7ea9z3YutX65zbX0aNCBAUVj8fbm5rxGRuMSBL1t2HVl1arFZ988omoXbu2ACBq1aolPvroI95Ar4rigUg1NGGC8e6fxkp6y0OrpYZh1hyEjBtX9vnOnRMiIED/oVNymr/o6yiVQnToYHh35Lt3aSnr3Xdp5iE9nY41NePy6adlx6bRUMmsRmPeMoI5t86dhVi1Soj336dlpKK7IpfXzp3mnVuuRmB//UWDOkvLtJVKWmLLyZEnbla5Lly4IHr37i10syN9+/YVly9fljssZiEeiFRDbdua/oXdurV1z5mba50BiLu7EB9+aF6S5pEj1N126VKa5jfWQO2JJ2jgobNzp35JycHB/A88pVKI0aPNuybmbC5o7q1o3o6HR8UHCOZ0XXV2li/hMyTE+PdEN4tUdMCtUNDPj6EtDVj1pdFoxIoVK4Szs7MAIOrWrSs2btzIsyNVCPcRYVZRqxbQokXFXmPuXODGDSAy0rxNBAMDacNBZ2fTPTDi46k8OTcX2LePynJ1e2up1eaXH1tSpixJwNNPW6eHhRD6Xhy3bwMvvFB6o0NLuLkBEyeWXb4sSXRt3dzKf47y+vtv4NdfjV/rBw+oF8rrrwNdugA9ewIffEAbEwYGVl6sTH4KhQJvvPEGkpOTERwcjOzsbIwePRrPP/88MjIy5A6PWRkPRKqIPn2Mf/ipVHSMNek+uMq7o27duhSTsT4mZTl50rwP+6QkYOZMYM4citPYwMWYhx4y/9j//td4r4vy0MU9e3b5nq+zYAEwfDj9W6WieHTXccQIelwO5vQwKbrLc0IC8PvvwJtvUsM2VjO1bdsWBw4cwIIFC+Dg4IDY2Fj4+voiJiZG7tCYFfFApIqIiAC02rIf12qBsDBg927g22+By5etc95Jk4D+/ekDreiHrO5Dzsen7A/f3Fygd2/gxx8tP6+rq3mDCq0WWL+eZkQq0oAtL4+en5YGpKYWb1ZWUvfu1A1WqdR/eOquQUVmG7RaYP9+4J9/yv8aDg7Al18CR48C48fTLNH48fT1F1/I1420USPTx2g05h3HahaVSoW3334bR48ehb+/P27duoWhQ4dixIgR+Pfff+UOj1lDJSwVlRvniBRnrHz36aeLl4tKEvXMuHq14ue9f5+ad+n2r1GpqKfDwYOUo+HnZzwPwtOTXsMShw5ZJw/D3ByRXr2EaNpUf5+bmxDTpxfPQSnp8mVKin3qKdqEcP16yr9wc6tYPKmpFflu2a/HHjOe6OvoaP7Gf6xmKigoEDNnzhQKhUIAEF5eXuKHH36QOyxmgCWf35IQ5Z3Mtr3s7Gy4ubkhKysLdevWlTscu3DyJLBmDa23A8CTTwIXL9IeKSW/kyoV0KQJ/TVcv751zq9W0yyALt/j2jU6h6mfothY4LnnzD+PRgM0bWr+7ICjI3D/vvmvbw6FgmY/4uIAJ6fSj2dk0PvKyQHatqXW7SoVzQA9/XT5zqlSATdvypPHYWv799PPq1ZreHZv3jzg3XcrPy5W9Rw+fBihoaFIS0sDAIwdOxbLli1DnTp1ZI6M6Vj0+W3zYVEF8IyIaX/8Yfqv/TlzbHf+3383b8ahZBMzU1atMn8GwctLiLFjjZc3l/cmSUKsWVM8tvv3hZg4kc4nSfpKEC8vIX75hY759ltq+27JuVQqIYYPt873xV798gt1ui36vl1dhVi40LxW8Izp3L17V0RGRgqAynxbtGgh4uPj5Q6L/Q/PiNQg4eHAxo3Gd0L19gauXrXN+Y8fB/z9jR8jSbRT7LhxpR87exb4/nvaaK5jR2DAAJqJaNkSuHTJ9EwLQJugvfwyba72zz/Fr4VCYTy3xhRJAnx9aSNAnXHjgE8+KR2bQkG3AweA4GCKIyYG+OUXur9HD3qfEyaUTqxVKikp8+hRoFmz8sdbFWi1VB10/jxQrx59z11d5Y6KVVV79+5FWFgYLl68CACYPHkyoqKi4GJqR0ZmUzwjUoM89ZTpv7QVCtudX6sVomVL4/0+VCohMjKKPy83l1p26+LTzWZ4ewvxzTfmzyJEROj/kr52jfqBFO3z4e9Pm+BVZLbExUUfd3q68feqVArRv7/xa/bNN7T5XdHnvPiiEBcuWPM7w1jNkZ2dLcLDwwtnR9q2bSsOmbPDJbMZ7iNSg3h5ma6EaNjQdueXJOD998ueuZAkqvgpWg0hBFVz7NxJX2u1+lmM69f15afGKBR03OrV+ooVLy9gwwYgMxM4doz+4k5ONl7ZY46iy85btxrvh6LR0AzIrVtlH/PCC1SZc+oUcPgw5dnExFS8ZwtjNVWdOnWwbt067N69G15eXkhLS0O3bt0wc+ZM3Ld28hizOh6IVHGjRhlfllEqgTFj6N9nzgDLlwOLFlGya0WWLIoaMgRYuZKakEkSlZAqlfTv//wHWLKk+PEHD1JyraFyW92gpFYt4+fUaoGhQw0/5uZGyzw+PvR1ly6UZFseSiXw6qv6r2/dMt2YTQhqUGaMJAHt2tFyEpesMmYdAwYMQEpKCkaMGAGtVosFCxagS5cuOHbsmNyhMWMqYYam3HhpxjStVoiBAw2XRapUtBPq2bNCPPecfhlEl1z58MNCJCaW/9y7d9O28rqlikceEWLkSNp5ddEiIS5eNPw8XaKnqeWkspZAlEpKeFSrzYtTraZEUlObqhk6j5tb8fexYoXpvWYcHHhfFMbktn37dtGgQQMBQDg4OIj58+cLtbm/NFiF8dJMDSJJNK0/dmzpJZquXSlxcswY4Icf6D6tVj8TcekSNRw7f97y8374IZWo7t+vX5Y5fZqaZmVmAtOmAc2bG37u7dumk1CLzngU7cyqUFCC465d5jfnUqloGcjFpfhzdE3agoIouVR3Lt0xDz1EbeSLvo8RI4x3ilWpgFdeAWrXNi82xphtDBkyBCkpKRg0aBDUajVmzpyJHj16FJb8MvvBVTPVyI0bwJ491E8jIICqPX75hTqjlkWloiqQNWvMP8+pU/Taxn5ytm0re+lk9mxqNW6sE6q7O72f3buBjz6inIo6dehDfty48i1nnD9PS1NffUVdX1u2pAqW8HDqE3LkCPDTT7Q0FBREfUEMDTpWrKC9c0rSVb4cOVL2IKy8EhOpY2pGBvVtGT0aaN/euudgrDoSQuCLL77AG2+8gaysLDg7O2PhwoWYNGkSFOZsgMXKhatmWKHRo00vg9SpY9lrTp5sfJlDqRSiZ8+yn3/hgunKkxkzKvKubW/TJiFatCi+tPPss0KcP2/d8xQUUNWPbqlNqdR/P8ePN29H47LcuSPEsmVCBAZS5dMzzwixaxf382DV0+XLl0Xfvn0LK2t69+4tLnCpms1Y8vnNA5FqTpcbYupmyQdaz56mX692beOv8X//Zzg3Q6WiVvL//lux910ZNBoh/vqLmrpZo5W+IZMmGc9JmTevfK+bni7EQw8Vv/66weXLLwvx4IF13wdj9kCr1YqPPvpI1KpVSwAQtWvXFuvXrxdaHn1bHeeIsEI+PqZzKZo0MV0JUpSLi+lyWGdn44/PmkVNwYouYTg6UoXKn3/S0oy9UyiARx+l7eq9va3/+jdvUiM4Y9VNixdTkzRLCEHt9q9fL768plsq+/prYOlSy+NlzN5JkoTx48fj+PHj6NGjB3JzcxEeHo5nnnkG18zZIprZhM0HImvWrEGLFi3g7OyM4OBgJCQk2PqUrIjXXjNe3qtQUImtJQYNMv64SkW9MsyJ7dw5ICWF8ioyMqgPSIMGlsVTXcXFmS47zs6mhGRL/PYb7VlUVo6OEJSMbOznhrGqrGXLlti7dy+WLFkCJycn7N69G35+ftiyZQuE/aZNVls2HYh8/fXXmDp1KubMmYOkpCT4+/ujf//+yMzMtOVpWREdOgBTphh+TKkEHnkEmDTJstd89VVqkmYokVOSaHAzebJ5r6VQUOJrYCBVw6jVwJUrVHlT05k705Gfb9nr7ttnepbs+vXyVVMxVlUolUq8+eabSExMREBAAG7fvo3hw4dj2LBhuHHjhtzh1Sg2HYgsW7YM4eHhCAsLQ/v27fHxxx+jVq1a+Oyzz2x5WlbC0qVULeLlpb/PyQkIC6PyW0sLkurWpb+qPT3pa91uvJJEyzbffmu4okMIICEB2L6dnl/0L+5792i5pnFj2mvF05Mqf3bssPTdVh+m9vAB6Jr7+Vn2uub+wcd/GLKawNfXFwcPHsTcuXOhUqkQExMDPz8/fPfdd3KHVmPYrHz3/v37qFWrFmJiYjB48ODC+0NDQ3Hnzh3ExsaafA0u37WuBw9o87aCAurqWa9exV4vP1+/qduDB9SLIzTU8Ovu3QuMH0+9RnQ8PYGFC2nDupAQ6rhaNB9Ct2HdsmVlz+pUd50708aChpZRlEqgb1/gxx8te824OKBfP+PHNGpEGyWa26tFDpmZwJYtNIPWsCGVdlf3DQOZbSUmJiI0NBSpqakA6PNq+fLlqFfRX5Y1kF2U7169elUAEH/++Wex+6dNmyaCgoIMPic/P19kZWUV3q5cucJVM9XA779TNUxZ1R8vvGC8MkShKLtLa3WXmiqEu3vpEmylkrrFlue6aDRCtG1bdlm3JAmxYIH134u1aLVCLFyo/5lycKDrIUlCREZyxQ+rmHv37onp06cLSZIEANGkSRMRFxcnd1hVTpWtmomKioKbm1vhrWnTpnKHxKzgzTdpZqOs6o+dO41XhkgSVdjURO3bUzOz116jZS+AGrtNmkT3l6dxmkIBfPcdJQUXrZbS5fy88AJ1xrVX69YBM2bQLJxWS3lFGg0No1asoIZ5jJWXs7MzFi1ahP3796Nly5b4+++/0bdvX0RERCAvL0/u8Kolmw1EGjRoAKVSiYyMjGL3Z2RkoHHjxgaf8/bbbyMrK6vwduXKFVuFxypJWhpVxBgbaJjT7v3UKevGZUpeHpXOdu1KJdBPPAFs3lz+zfMqwseHYsnNBXJygDt3qKqlaM6Ppdq0oW61UVG0QWCzZkCfPpSTs22b/S7JPHgAzJlT9uNC0FLenTuVFhKrprp3745jx44hIiICAPDRRx/B398ff/zxh8yRVT82G4g4OjoiICAAe/bsKbxPq9Viz549eOyxxww+x8nJCXXr1i12Y1WbNUrzlcrK3bslI4MSZSdMoOTaixeB33+nfWb69gXu3q28WIpSKOg6WKsrtYcHMH06cOwY7Tv088/A889b7/Vt4dAh+v4Yk59ved4MY4a4urpi9erViIuLQ9OmTXHu3Dn07NkT06dPR76l5WqsTDb9lTN16lSsX78en3/+OU6dOoXx48cjLy8PYWFhtjwtsyPm/tVu7MPvwQNgyBDrxGOOkSOB9HR91gSgn9HZv58+vJk8cnLMOy4727ZxsJolJCQEJ06cQFhYGIQQWLx4MQICApCYmCh3aNWCTQciL730EpYsWYLZs2fj0UcfRXJyMn766Sd46uo+WbXXrh3QqZPxgYaLi74EuCSVirqXDhhgsxCLOX2aqkrKaval1QKffgpkZVVOPKy41q3NO65tW9vGwWoeNzc3fPbZZ4iNjYWnpydOnjyJrl27Yu7cuVDLsWZbjdh8EnbixIm4dOkSCgoKcPjwYQTr9ltnNcayZZRwWlZb+MWLge+/pyRMAHBw0OcodO5MSwaGmqfZwv79po/JzweOHrV9LKy0Vq2A3r3L/nlQKICHHwZ69arUsFgN8txzzyElJQVDhw7FgwcP8N5776Fr166FJb/Mcna8Gsyqi969ac3ex6f4/fXrUxJmRATQvz/lk2zYQP1Gpk6lvIxDh6inBWM60dE0aC05GFEqaRC7caN957mwqq9BgwbYtm0btm7dCg8PDyQlJSEgIABLliyBpqzpVFYmmzU0swZuaFa9CEH7oly6RIOQPn1oozt7cvo0tb03xtmZWqC7uVVOTKy0s2epE+8331AOkSTR8t28eTSLxlhl+eeffxAeHo4ffvgBAFXbbNy4Ea1atZI5MnlZ8vnNAxHGSujXj1rQG/rDRqGgGZvVqys/LlZaVhZV0dSvTzfG5CCEwIYNGxAZGYmcnBzUqlULS5YswX/+8x9IprYqr6Z4IMJYBWRk0HJSWhp9LQRN+2s0wOOPA7t3A7VqyRdfejpw5gwtT3TtSssRjDH5Xbx4EWPGjEF8fDwAoG/fvvj0009rZHNOSz6/eSWVsRI8PSkZNToaCAoCWrSg5MctW6iiRq5ByOnT1FitdWtg4ECKqUkTitN+/5xgrOZo0aIFfv31V6xcuRIuLi6Ii4uDn58fPv/8c9jx3/yy4xkRxqqAc+eAwEDqo2FoyWj+fOCddyo/LsaYYWfOnEFoaCgOHToEABg0aBDWrl1bY9pX8IwIY9XMrFnU4r2shPw5c0x3HGWMVZ42bdpg//79iIqKgoODA2JjY+Hr64uYmBi5Q7M7PBBhTGZqNbB1KxASQnvA9OpFTdPu3aPHc3KA7dupOqQsWi3w1VeVEy9jzDwqlQozZszA0aNH4e/vj1u3bmHo0KEYPnw4/v33X7nDsxs8EGFMRnl5tH/NK68A8fFUlvrHH8DYsUBwMHDzJpCZaXwQAlAyLe8RyZh96tixIxISEvDuu+9CqVRiy5Yt8PPzw+7du+UOzS7wQIQxGb35JvVWAfT72ej+e/IkEBZGm9OZqgDUarnxG2P2zNHREfPmzcOff/6Jdu3a4Z9//sHAgQMRHh6O7Bq+ORIPRBiTye3b1AW0rLwPjQbYtQsYNgzo0sV4t1CtFhg+3CZhMsasKCgoCElJSZgyZQokScInn3yCjh07Fpb81kQ8EGHMAteuUYXKyJHAhAnU+Ky8dWcJCUBBgenjfvuNjgUMz4xIEjBxItC8efniYIxVLhcXFyxbtgzx8fFo0aIFLl26hCeffBKRkZG4e/eu3OFVOh6IMGam1auBZs2oQmXLFmD9empT36MHYMu8M91SjRCAu3vxx5ydgRkzgA8/tN35GWO28fjjj+P48eMYN24cAGDFihXo1KlTYclvTcF9RFilOXWKNrKTJOpQWpW2av/2W+D55w0/plTSYCQ+3nQuR1H//gs0bkxVM+Zq2JAGQefOUWfVAQOAevXMfz5jzD799NNPeO2113Dt2jUoFArMmDEDs2fPhpOTk9yhlQu3eGd25fp14NVXgT17it/frx/wxRdVI8kyIABITtbPThhy+DB1YrXE2LHG80QMOXEC8POz7DyMMft3+/ZtTJo0CV/9rxa/Y8eO2LRpE/z9/WWOzHLc0IzZjdxcmv3Yt6/0Y3v20J4u9r4kev06kJRkfBCiUgGxsZa/9vLl+sGLubMp9vunA2OsItzd3fHll18iJiYGDRo0wPHjx9GlSxfMnz8fD0zV8FdhPBBhNrVpE/XGMPT/kEZDyzWbN1d+XJbQNRYzRpLMO66k2rWBvXuBzz8HfH1NH+/uTk3PGGPV14svvojU1FQMHjwYarUa7777Lrp3747Tp0/LHZpN8ECE2dSGDcYfVyhoacKePfQQ4OZm/Bi1GujQoXyv7+gIjBoFHD8OPPII5ZwYolBQdUwVXTJmjFmgUaNG2LFjBzZt2gQ3NzckJCSgU6dOWL58ObTGpmerIB6IMJvKzDS+lKDV0tKHPXN0BMaNK3uAIElA3brASy9V7DySREmxDRsW7xmiO++AAcC771bsHIyxqkOSJIwcORIpKSno168f8vPzMWXKFDz55JO4cOGC3OFZDQ9EmE21aGG8EZdSCfj4VFo45TZrFuDvX/q9qFT0HjZvBmrVqvh52rQBUlKoV4mvL+DtDfTsSXvRxMbSoIgxVrM0adIEP/30E6Kjo+Hq6op9+/ahY8eOWL9+Pey43sRsXDXDbOrLL6n5lzFff03dQ+1dbi6wbBmwZg3N9CgUwKBBwNtvU+dTxhiztXPnzmH06NE48L+9IQYMGIBPPvkE3t7eMkdWHJfvMruhVlPTrz/+KF11olBQRc0vv9DMQlH37tEsw+ef0/b2zZsD4eHUy6PksZVNCNoR19mZZygYY5VPo9Fg+fLlmDlzJgoKCuDu7o7Vq1fjlVdegWRJMyMb4oEIsyt37wL//S8lrubn033OzjSwWLQIcHEpfvyNG8ATTwCpqZQ3IQQtf2g0QEgI8P339HzGGKvJTp48iVGjRiExMREAVdtER0ejYcOGMkfGAxFmp+7cARITaXAREFB2JcpTTwG//mq4yZeucmTFCpuGyhhjVYJarUZUVBTmzZuHBw8eoFGjRli3bh0GDRoka1w8EGFVVloa0K6d8WOcnWm5hn8kGGOMJCUlYdSoUUhNTQUAjBo1CitWrEA9mfaA4M6qrMoy1IG1pPx84OhR28fCGGNVRefOnZGYmIjp06dDkiRs2rQJHTp0QFxcnNyhmcQDEWZXzJ2fs995PMYYk4eTkxMWLVqEAwcOoFWrVvj777/Rr18/TJgwAbm5uXKHVyYeiDC70rOn6WOcnCjHhDHGWGndunVDcnIyJk6cCACIjo7Go48+Wljya294IMLsSvv2wJNPGm9zHhYGyLTsyRhjVYKrqytWrVqFuLg4NG3aFOfOnUOvXr0wbdo05OvKF+0ED0SY3fnyS+q2Kkn6HWl1HU0fewxYskS+2BhjrCoJCQnBiRMnEBYWBiEElixZgoCAgMKSX3vAAxFmd7y8gKQkYOVKoFMnoEkToFs32sn3t98AV1e5I2SMsarDzc0Nn332GWJjY+Hp6YmTJ08iODgY7733HtRqtdzhcfkuY4wxVlPcvHkTEyZMwPbt2wFQtc2mTZvg6+tr1fNw+S5jjDHGSmnQoAG2bduGrVu3wsPDA0lJSZgwYYKsMfFAhDHGGKthXnrpJaSkpODFF1/E2rVrZY1F5u3DGGOMMSYHLy8vxMTEyB0Gz4gwxhhjTD48EGGMMcaYbHggwhhjjDHZ8ECEMcYYY7LhgQhjjDHGZMMDEcYYY4zJxiYDkYsXL+K1116Dj48PXFxc0LJlS8yZMwf379+3xekYY4wxVkXZpI/I6dOnodVqsXbtWrRq1QopKSkIDw9HXl4elvCOZYwxxhj7n0rba2bx4sWIjo7G+fPnzX4O7zXDGGOMVT2WfH5XWmfVrKwseHh4GD2moKAABQUFhV9nZ2fbOizGGGOMyahSklXT09OxatUqvP7660aPi4qKgpubW+GtadOmlREeY4wxxmRi0UBkxowZkCTJ6O306dPFnnP16lU89dRTGDp0KMLDw42+/ttvv42srKzC25UrVyx/R4wxxhirMizKEblx4wZu3bpl9JiHH34Yjo6OAIBr166hd+/e6Nq1KzZu3AiFwrIJGM4RYYwxxqoem+WINGzYEA0bNjTr2KtXr+KJJ55AQEAANmzYYPEgBAB0YyTOFWGMMcaqDt3ntjlzHTZJVr169Sp69+6N5s2bY8mSJbhx40bhY40bNzb7dXJycgCAc0UYY4yxKignJwdubm5Gj7HJQCQuLg7p6elIT09HkyZNij1mSbWwt7c3rly5gjp16kCSJGuHafeys7PRtGlTXLlypcYvTfG10ONrURxfDz2+Fnp8LYqr7OshhEBOTg68vb1NHltpfUSY5ThHRo+vhR5fi+L4eujxtdDja1GcPV8P3muGMcYYY7LhgQhjjDHGZMMDETvm5OSEOXPmwMnJSe5QZMfXQo+vRXF8PfT4WujxtSjOnq8H54gwxhhjTDY8I8IYY4wx2fBAhDHGGGOy4YEIY4wxxmTDAxHGGGOMyYYHInZqzZo1aNGiBZydnREcHIyEhAS5Q5JFVFQUunTpgjp16qBRo0YYPHgw0tLS5A7LLixcuBCSJCEyMlLuUGRx9epVvPrqq6hfvz5cXFzQoUMHHD16VO6wZKHRaDBr1iz4+PjAxcUFLVu2xLx58yzqZF1V/f7773j22Wfh7e0NSZLw7bffFntcCIHZs2fDy8sLLi4uCAkJwdmzZ+UJ1saMXQu1Wo233noLHTp0gKurK7y9vTFq1Chcu3ZNvoD/hwcidujrr7/G1KlTMWfOHCQlJcHf3x/9+/dHZmam3KFVun379iEiIgKHDh1CXFwc1Go1+vXrh7y8PLlDk9WRI0ewdu1adOzYUe5QZHH79m10794dDg4O+PHHH3Hy5EksXboU7u7ucocmi0WLFiE6OhqrV6/GqVOnsGjRInzwwQdYtWqV3KHZXF5eHvz9/bFmzRqDj3/wwQdYuXIlPv74Yxw+fBiurq7o378/8vPzKzlS2zN2Le7evYukpCTMmjULSUlJ2LFjB9LS0vDcc8/JEGkJgtmdoKAgERERUfi1RqMR3t7eIioqSsao7ENmZqYAIPbt2yd3KLLJyckRrVu3FnFxceLxxx8XkydPljukSvfWW2+JHj16yB2G3Rg4cKAYM2ZMsfteeOEFMWLECJkikgcAsXPnzsKvtVqtaNy4sVi8eHHhfXfu3BFOTk5iy5YtMkRYeUpeC0MSEhIEAHHp0qXKCaoMPCNiZ+7fv4/ExESEhIQU3qdQKBASEoKDBw/KGJl9yMrKAgB4eHjIHIl8IiIiMHDgwGI/IzXNd999h8DAQAwdOhSNGjVCp06dsH79ernDkk23bt2wZ88enDlzBgBw7NgxHDhwAAMGDJA5MnlduHAB169fL/b/ipubG4KDg/n3Kej3qSRJqFevnqxx2GT3XVZ+N2/ehEajgaenZ7H7PT09cfr0aZmisg9arRaRkZHo3r07/Pz85A5HFlu3bkVSUhKOHDkidyiyOn/+PKKjozF16lS88847OHLkCN544w04OjoiNDRU7vAq3YwZM5CdnY127dpBqVRCo9Fg/vz5GDFihNyhyer69esAYPD3qe6xmio/Px9vvfUWXnnlFdk3weOBCKsyIiIikJKSggMHDsgdiiyuXLmCyZMnIy4uDs7OznKHIyutVovAwEAsWLAAANCpUyekpKTg448/rpEDkW3btuGrr77C5s2b4evri+TkZERGRsLb27tGXg9mnFqtxrBhwyCEQHR0tNzhcLKqvWnQoAGUSiUyMjKK3Z+RkYHGjRvLFJX8Jk6ciF27diE+Ph5NmjSROxxZJCYmIjMzE507d4ZKpYJKpcK+ffuwcuVKqFQqaDQauUOsNF5eXmjfvn2x+x555BFcvnxZpojkNW3aNMyYMQMvv/wyOnTogJEjR2LKlCmIioqSOzRZ6X5n8u9TPd0g5NKlS4iLi5N9NgTggYjdcXR0REBAAPbs2VN4n1arxZ49e/DYY4/JGJk8hBCYOHEidu7cid9++w0+Pj5yhySbPn364MSJE0hOTi68BQYGYsSIEUhOToZSqZQ7xErTvXv3UmXcZ86cQfPmzWWKSF53796FQlH817lSqYRWq5UpIvvg4+ODxo0bF/t9mp2djcOHD9fI36e6QcjZs2fx66+/on79+nKHBICXZuzS1KlTERoaisDAQAQFBWH58uXIy8tDWFiY3KFVuoiICGzevBmxsbGoU6dO4bqum5sbXFxcZI6uctWpU6dUboyrqyvq169f43JmpkyZgm7dumHBggUYNmwYEhISsG7dOqxbt07u0GTx7LPPYv78+WjWrBl8fX3x119/YdmyZRgzZozcodlcbm4u0tPTC7++cOECkpOT4eHhgWbNmiEyMhLvv/8+WrduDR8fH8yaNQve3t4YPHiwfEHbiLFr4eXlhSFDhiApKQm7du2CRqMp/H3q4eEBR0dHucLm8l17tWrVKtGsWTPh6OgogoKCxKFDh+QOSRYADN42bNggd2h2oaaW7wohxPfffy/8/PyEk5OTaNeunVi3bp3cIckmOztbTJ48WTRr1kw4OzuLhx9+WMycOVMUFBTIHZrNxcfHG/wdERoaKoSgEt5Zs2YJT09P4eTkJPr06SPS0tLkDdpGjF2LCxculPn7ND4+Xta4JSFqQOs9xhhjjNklzhFhjDHGmGx4IMIYY4wx2fBAhDHGGGOy4YEIY4wxxmTDAxHGGGOMyYYHIowxxhiTDQ9EGGOMMSYbHogwxhhjTDY8EGGMMcaYbHggwhhjjDHZ8ECEMcYYY7LhgQhjjDHGZPP/96nZ6TinlgUAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_decision_boundary(X_larger, Y_larger, parameters_larger)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Try to change values of the parameters `num_iterations` and `learning_rate` and see if the results will be different."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Congrats on finishing the lab!"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"tags": [
"graded"
]
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"accelerator": "GPU",
"colab": {
"collapsed_sections": [],
"name": "C1_W1_Assignment_Solution.ipynb",
"provenance": []
},
"coursera": {
"schema_names": [
"AI4MC1-1"
]
},
"grader_version": "1",
"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.8.8"
},
"toc": {
"base_numbering": 1,
"nav_menu": {},
"number_sections": true,
"sideBar": true,
"skip_h1_title": false,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": true,
"toc_window_display": false
}
},
"nbformat": 4,
"nbformat_minor": 1
}