{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Lineáris és homogén transzformációk\n", "\n", "_Tartalom_: lineáris és homgén transzformációk pyhonban\n", "\n", "_Szükséges előismereketek_: python, matplotlib, numpy, opencv, lineáris algebra \n", "\n", "\n", "Érdemes megnézni témában a következő videót:\n", "https://www.youtube.com/watch?v=kYB8IZa5AuE (3blue1brown Linear transformations and matrices | Essence of linear algebra, chapter 3) a lecke példáit követik a feldolgozást.\n", "\n", "\n", "A lineáris transzformációkat 2x2-es, míg a 2D-s geometriai transzformációkat 3x3-as mátrixok segítségével írhatjuk fel. Egy pont transzformáció utáni koordinátáit a pont homogén koordinátás vektora és a transzformációs mátrix szorzata adja. De nézzük ezt inkább példán.\n", "\n", "Kiindulásképp rajzoljunk ki pár koordinátát:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAW4AAAD8CAYAAABXe05zAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAGNlJREFUeJzt3X901fWd5/HnOz8gQCIIQkTTAtVC\np/4ASlBcLSYtUrBdtbNnOu106vTMnEO3OjNU5xzR0m7XrjPT6exxWnfcKmvd2R4VtjstTIvaqiNR\nqT+w/Kjys4BFiVjCDwUuhADhvX/khwFyk29yf3w/n/B6nJND7s033++LC3nlm/f95H7N3RERkXiU\npB1ARET6RsUtIhIZFbeISGRU3CIikVFxi4hERsUtIhIZFbeISGRU3CIikVFxi4hEpqwQOz3vvPN8\n/Pjxhdh1VocPH2bYsGFFPWZSIWeDsPOFnA3CzhdyNgg7XxrZVq9evdfdRyfa2N3z/jZt2jQvthUr\nVhT9mEmFnM097HwhZ3MPO1/I2dzDzpdGNuDXnrBjNSoREYmMiltEJDIqbhGRyBTkyUkRkUI6fvw4\njY2NHD16tCD7Hz58OJs2bSrIvisqKqipqaG8vLzf+1Bxi0h0GhsbqaqqYvz48ZhZ3vd/6NAhqqqq\n8r5fd2ffvn00NjYyYcKEfu+n11GJmU0ys3Vd3g6a2df6fUSRlGzcdYDLvvVLNr5zIO0okqOjR48y\natSogpR2IZkZo0aNyvknhV6L2923uPsUd58CTAOOAEtzOqpICuYvWcehlhPMX7wu7SiSB7GVdod8\n5O7rqOSTwHZ3fzPnI4sUyfg7Hz/l9tamTOd9O77z6TQiieTEvA/XnDSzh4E17v7P3XxsHjAPoLq6\netqSJUvyFjKJTCZDZWVlUY+ZVMjZIOx8+cj25oFW/m7VUVpa379vVAXM/1gFHzynNPV8hRJyNsgt\n3/Dhw7n44ovznOh9ra2tlJb27//G2rVr+epXv0pzczOzZ8/mu9/97hln2du2bePAgVNHdvX19avd\nvTbRQZL+pg4wCNgLVPe2rX5z8lQhZ3MPO18+sm3dfdDHLVh+ytsn/3vu+3Uf+I9dIeWSb+PGjX3+\nnN0Hmv2PHnjRdx9s7nXbgwcP9ieWu7tPnz7dX3zxRT958qTPmTPHn3jiiTO26S4/BfrNybm0nW3v\n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\nbhGRyPx/wLR0uP/AuJwAAAAASUVORK5CYII=\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "a0 = np.array([[0, 2], [0, 5], [3, 5], [3, 2], [0, 2], [0, 5], [1.5, 7],\n", " [0.45, 5.6], [0.45, 6.5], [0.6, 6.5], [0.6, 5.8], [1.5, 7], [3, 5]])\n", "plt.plot(a0[:, 0], a0[:, 1], \"*-\", label=\"a0\")\n", "plt.grid(True)\n", "plt.axis(\"equal\")\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vegyük a következő `t1` transzformációs mátrixot. \n", "\n", "$t_1 = \\left[ \\begin{array}{cccc}\n", "0 & -1 \\\\\n", "1 & 0 \\\\\\end{array} \\right]$\n", "\n", "Szorozzuk össze `a0`-val, , így `a1`-et kapjuk, figyeljük meg az ereményt." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "t1 = \n", " [[ 0 -1]\n", " [ 1 0]]\n" ] }, { "data": { "image/png": "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\n4AsAAAAASUVORK5CYII=\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "t1 = np.array([[0, 1], [-1, 0]])\n", "a1 = np.dot(a0, t1)\n", "\n", "plt.plot(a0[:, 0], a0[:, 1], \"*-\", label=\"a0\")\n", "plt.plot(a1[:, 0], a1[:, 1], \"*-\", label=\"a1\")\n", "plt.grid(True)\n", "plt.axis(\"equal\")\n", "plt.legend()\n", "print(\"t1 = \\n\", np.transpose(t1))\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vegyük a következő `t2` transzformációs mátrixot. \n", "\n", "$t_2 = \\left[ \\begin{array}{cccc}\n", "1 & 1 \\\\\n", "0 & 1 \\\\\\end{array} \\right]$" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "t2 = \n", " [[1 1]\n", " [0 1]]\n" ] }, { "data": { "image/png": "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\nJB4HDx7k8ssv5+233yY7O5sZM2Zw++23d7nuG2+8QXV1dYdl5eXlq621pV1eoZOonnEbY3KBPwMP\ndhXaANba+cB8gNLSUltWVhbNTbd64M3l7Kmtab187OACfnTVuTHdRtr6xW9h9y4sYID+Rcdx3lf+\nX2Dj3LJ4PX99eQt9ssNvH75s1HCmtnv7cFBCoRCTY3zcJcXfboQ1/4KcfLIb6ykePorij30y6KkI\nhULEul+6qqKiIvaPGtv/Liy6Ev7jfigs7vijBHx0WXZ2NjfddBPl5eXU19czbdo0nn/++S7fhJOf\nn8+kSZPivq9ojioxwD1AhbX2J3HfUw+qDx3mpOICrjmtDycVF1B96HCy7so/tdUwZCwbx30dhoyF\nQ3sDHSfRbx9OOwd2wpQr4epl4X9r3gt6IgFY/kPYsgKW/yAhN9f5tK79+vWjvLwcgD59+jB58uQO\n5y5JpB6rEmPMOcBzwHqgqXnxzdbaJyJdp7S01K5atSqugdLpWUGiadt0T9une+m0fSoqKjj55JPD\nF5bcBO+uj7zylhegq5wzBoafDUBDYwM52e0KiGMmwIzvdzvD+++/3+G0rsuXL6eoqAiAvXv3Mnny\nZJYtW8aJJ57Y/fyt45jEVSXW2ucJ/4UuIuKfYVPDh2Ue2gO2CUwW9CuCwfF/yjoceVrXyspKioqK\naGhoYNasWVx//fVdhnYi6FwlIuK3Hp4ZA82vO9wPOfnQWA8nXwwXtTW/hxJwWteWT26fPXs2o0eP\n5oYbboj1vyRqCm4RSX8trzuUXgmr7uv16w5dndYVYO7cuVRXV3P33XcnYuqIFNwikv4ufbDt+4t6\nf4xFV6d1raqq4rvf/S5jx45l8uTJAFx77bVcffXVvb6/zhTcIiIxinRa189//vMpuf/MfneLiIiH\nFNwiIp5RcIuIeEbBLSJeivY8S65JxNwKbhHxTn5+Pnv27PEuvK217Nmzp9cnQ9NRJSLinZKSEqqq\nqti1a1dCbi+VZ5bMz8+npKSkV7eh4BYR7+Tm5jJyZO/est5eKBTq1dn6Uk1ViYiIZxTcIiKeUXCL\niHgm6o8ui+lGjdkFvBPn1Y8GdidwnHSibdM9bZ/uaftE5sK2OcFaG9XnESYluHvDGLMq2pOJZxpt\nm+5p+3RP2ycy37aNqhIREc8ouEVEPONicM8PegCHadt0T9une9o+kXm1bZzruEVEpHsuPuMWEZFu\nOBPcxpjpxpjXjTFvGGNuCnoelxhjjjfGPGOMqTDGbDTGzAl6JtcYY7KNMa8aYx4LehbXGGMGGWMW\nGWM2NT+Gzgp6JpcYY25s3q82GGMeMsak5qQlveBEcBtjsoFfAjOAccAsY8y4YKdySgPwNWvtycCZ\nwFe0fY4wB6gIeghH3QkstdZVHmPrAAACD0lEQVSOBU5D26mVMeY44Hqg1Fp7CpANXBrsVD1zIriB\n04E3rLVvWWvrgYXAJQHP5Axr7Q5r7Zrm7/cT3vGOC3YqdxhjSoALgeR+tLaHjDEDgI8C9wBYa+ut\ntXuDnco5OUBfY0wO0A/YHvA8PXIluI8Dtra7XIWCqUvGmBHAJGBlsJM45WfAN4CmoAdx0InALuC+\n5irpbmNM/6CHcoW1dhvwY2ALsAOottY+GexUPXMluE0Xy3S4SyfGmALgz8AN1tp9Qc/jAmPMRcBO\na+3qoGdxVA4wGfiVtXYScADQa0jNjDGDCf91PxIYBvQ3xqTmo9p7wZXgrgKOb3e5BA/+XEklY0wu\n4dB+0Fr7SNDzOORs4GJjzGbCFdt5xpgHgh3JKVVAlbW25S+0RYSDXMLOB9621u6y1h4GHgE+HPBM\nPXIluF8BRhtjRhpj+hB+ceDRgGdyhjHGEO4oK6y1Pwl6HpdYa79lrS2x1o4g/Lh52lrr/DOmVLHW\nvgtsNcaMaV40DXgtwJFcswU40xjTr3k/m4YHL9468Qk41toGY8y1wN8Jv6p7r7V2Y8BjueRs4AvA\nemPM2uZlN1trnwhwJvHHdcCDzU+K3gKuDHgeZ1hrVxpjFgFrCB+99SoevItS75wUEfGMK1WJiIhE\nScEtIuIZBbeIiGcU3CIinlFwi4h4RsEtIuIZBbeIiGcU3CIinvn/FDc+dHoVhVIAAAAASUVORK5C\nYII=\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "t2 = np.array([[1, 0], [1, 1]])\n", "a2 = np.dot(a0, t2)\n", "plt.plot(a0[:, 0], a0[:, 1], \"*-\", label=\"a0\")\n", "plt.plot(a2[:, 0], a2[:, 1], \"*-\", label=\"a2\")\n", "plt.grid(True)\n", "plt.axis(\"equal\")\n", "plt.legend()\n", "print(\"t2 = \\n\", np.transpose(t2))\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A `t4` transzformációs mátrixot a vízszintes tengelyre tükröz: \n", "\n", "$t_4 = \\left[ \\begin{array}{cccc}\n", "1 & 0 \\\\\n", "0 & -1 \\\\\\end{array} \\right]$\n", "\n", "A `t5` transzformációs mátrixot 2xes méretűre nagyítja az alakzatot: \n", "\n", "$t_5 = \\left[ \\begin{array}{cccc}\n", "2 & 0 \\\\\n", "0 & 2 \\\\\\end{array} \\right]$" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "t3 = \n", " [[1 3]\n", " [2 1]]\n", "\n", "t4 = \n", " [[ 1 0]\n", " [ 0 -1]]\n", "\n", "t5 = \n", " [[2 0]\n", " [0 2]]\n" ] }, { "data": { "image/png": "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\nYII=\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "t3 = np.array([[1, 2], [3, 1]])\n", "t4 = np.array([[1, 0], [0, -1]])\n", "t5 = np.array([[2, 0], [0, 2]])\n", "\n", "a3 = np.dot(a0, t3)\n", "a4 = np.dot(a0, t4)\n", "a5 = np.dot(a0, t5)\n", "\n", "plt.plot(a0[:, 0], a0[:, 1], \"*-\", label=\"a0\")\n", "plt.plot(a3[:, 0], a3[:, 1], \"*-\", label=\"a3\")\n", "plt.plot(a4[:, 0], a4[:, 1], \"*-\", label=\"a4\")\n", "plt.plot(a5[:, 0], a5[:, 1], \"*-\", label=\"a5\")\n", "\n", "plt.grid(True)\n", "plt.axis(\"equal\")\n", "plt.legend()\n", "print(\"\\nt3 = \\n\", np.transpose(t3))\n", "print(\"\\nt4 = \\n\", np.transpose(t4))\n", "print(\"\\nt5 = \\n\", np.transpose(t5))\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Az origó körüli α szöggel történő forgatás mátrixa:\n", "\n", "$t_r = \\left[ \\begin{array}{cccc}\n", "cos(\\alpha) & -sin(\\alpha) \\\\\n", "sin(\\alpha) & cos(\\alpha) \\\\\\end{array} \\right]$" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXYAAAD8CAYAAABjAo9vAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzsnXdYU1cbwH83Ya+wBEFQVKqiIA5c\nrbtW696jddU96q6fta2rWq1Vq62jQ1tHq9a692yVugfuAYqLLYrMMENyvz8iKLIhQdT7e5483HHu\nOW9C8t5z3/MOQRRFJCQkJCTeHGSvWgAJCQkJCd0iKXYJCQmJNwxJsUtISEi8YUiKXUJCQuINQ1Ls\nEhISEm8YkmKXkJCQeMOQFLuEhITEG4ak2CUkJCTeMCTFLiEhIfGGYfAqBrW3txfd3Nz0Pk5iYiLm\n5uZ6H+d1Q/pcckb6XHJG+lxyp6Q/m4sXL0aJolgmv3avRLG7ubnh5+en93F8fX1p3ry53sd53ZA+\nl5yRPpeckT6X3Cnpz0YQhKCCtJNMMRISEhJvGJJil5CQkHjDkBS7hISExBvGK7GxS0hISOgalUpF\naGgoKSkpJTamQqHA399f5/2amJjg4uKCoaFhka6XFLuEhMQbQWhoKJaWlri5uSEIQomMmZCQgKWl\npU77FEWRp0+fEhoaSsWKFYvUh2SKkZDQE/eunSZhZlnu3jjzqkV5K0hJScHOzq7ElLq+EAQBOzu7\nYj15SIpdQkJPyHYMx4Jk5NuGvWpR3hped6WeQXHfh6TYJUolAU8DaLSxEXei77xqUQqNOFMBsxRU\nFEMQBKgohsAshfa4hEQJICl2iVLJ1BNTUaqUTDk+5VWLUmjudz9ABPaZ+6II4Thwr+fBVyiVxKvi\n4sWLeHl54e7uzrhx4yiJOtOSYpcoVXit88JrnRf34u4BcC/uXuax14XKNd/FiaiXjoq4ezZ6JfJI\n5M7j+BR6/XqGxwn686QZNWoUK1euJDAwkMDAQA4e1P8NXlLsEqWKLR22oDDKarKwNrZmU4dNr0ii\nwvNwtmfm9vlac0lDjqMYRdSj4FcolUROLP03kAsPo1n6T6BO+uvSpQt169alRo0arFy5koiICOLj\n42nUqBGCIDBgwAB27typk7HyQnJ3lChVVLOrRlJ6UpZjsamxjD86nv7V+9P9ne5YGFm8Iuny5/Lh\n9dTWhAAQOfQS9V0q86BKA8r+3Y5Ha/pj879/kRtIPzt98/Wem9wKj8/1/PmH0bxoEVl/Lpj154IR\nBKjvZpvjNdWdrZjZsUae465evRpbW1uSk5OpV68e3t7euLi4ZJ53cXEhLCyscG+mCEgzdolSh0qj\nAmCw52AqKyqjMFJQwaoCi/wW8cHWD1jst5jIxMgSkycqPIhbc9/j7rUz3Jr7Xq4z7yRlHLVPfwrA\nmYpjcHSpDEDF6vW44T0Nz9QrnP/jyxKTWyJ3arlYY2duhOyZ84lMADtzI2q5WBer36VLl+Lt7U3D\nhg0JCQkhLS0tW5uS8NyRpg4SpZbxdcYzse7EzP2bUTdZd3Md626t489bf9KuUjsG1hhIFZsqepXj\n3rYZ1Eu7SdCOYVTThHJhy3Tsx67L1s5sUfnM7UYD52Y559NlLBeCTtIgaCU3TjbGs3Envcr8tpPf\nzBrgqx3X2Xg+GGMDGWlqDW09y/JN16Kv5fj6+vLPP/9w5swZzMzMaN68OaGhoYSGhma2CQ0NxdnZ\nuchjFBRpxi5RapEJWb+eNexrsKDZAvZ320/var05EnSE7ru7M/LISM5GnNW5t0HKTHuYpaDB053I\nBJGKYggyQaTB050wS6E9/4wX7erMisvWlyCTUX3oKkLk5Sj7z1jJ3l4KiFKm0rdBBXaMfo++DSrw\nRJlarP7i4uKwsbHBzMyMgIAAzp49i5OTE5aWlpw9q/1+/vHHH3Tu3FlH7yB3JMUu8dpRzqIcU+tP\n5UiPI4yrPY6A6ACGHR5G77292Xd/X6Ypp7goR1zkktm72Y6niIb4WbVCOeoSoLWru71gV88Nc0tr\nND3WYi4m8WhNf9Tp6TqRU6Jo/Nrfh2+6eFLd2Ypvunjya3+fYvX34Ycfkp6eTs2aNZk+fToNGzYE\n4Oeff2bo0KG4u7tTuXJl2rZtqwvx80QyxUiUKpRpygK3VRgrGFZzGANqDGDf/X2svbmWqSem8uOl\nH+nn0Y/uVbpjblj06jb2zhV4IDcDQC2CXACNKGBEOmpDC+zLls9mV2/0zK6eGxWr1+OC9zTqXZvB\nmT++pNHgBUWWT6J0YWxszIEDB3I8d+PGjRKVRZqxS5Qqdt3bVehrjOXGdHunGzs772R5y+WUsyjH\nQr+FfLDlA5ZcXMLjpMdFlsc4LQaAUFk5ACKEMpy374JhstZPPS+7em74dBnLBUXrZ/b23UWWTUIi\nNyTFLlGqWH9rPQAtXFsU+lqZIKOZazPWfLiGje020si5EWtvrqXNtjZMOzmNuzF3C92n/Uc/AxBZ\nYygAwW7daTh2LXWm7MvXrp4bkr1dQt/oRLELgmAtCMJWQRACBEHwFwRBCrGTyJMnSU/45OAnRCVn\njdAMVWo9CPp59CtW/15lvPi++ffs7bqXnlV6cjjoMF13d2XUP6M4H3G+2AutBbWr54Zkb5fQJ7qa\nsf8IHBRFsRrgDeg+87zEG0GGQv/h0g9cirzEz1d/zrFdvbL1dDKeq6UrXzb4ksPdDzOm1hhuPb3F\nkMND6LOvDwceHCBdU3iFmpu/emGR/Nsl9EWxFbsgCFZAU+B3AFEU00RRjC1uvxJvJq22tuJi5EV2\n39uNiMjm25vxWudF3fV1s7TTdRCHtYk1I7xHcLjHYWY2mkmSKokpx6fQfnt71t9aT5IqKf9OnlEU\nu3puSPZ2CX0gFPeRVBCEWsBK4Bba2fpFYLwoiokvtRsODAdwdHSsu2mT/nN/KJVKLCxKb/j5q+JV\nfC4TgyeSLuY8O/Yx96GrTVes5FaMDRoLwLIKy/Qqj0bUcCP5Bv/G/8v91PuYycyob1yfVratUBgo\nCE0N5cfIHxlh2o+hN2ewu8wIOj35NUsfvs0Lv9CbE6rUJN458xkWYiIXfJZgammnk351xevyO1Io\nFLi7u5fomGq1Grlcrpe+7969S1xc1rWbFi1aXBRFMV+/TF24OxoAdYCxoiieEwThR2AqMP3FRqIo\nrkR7A8DHx0ds3ry5DobOG19fX0pinNeNV/G5HE46zCK/RRx6eAi1qM5yrpJLJTo17ERcahwEaY+V\nhHwtack4xnH1yVXW3VzHP0H/cCriFB0qdcDvqR8pYgo7OchQoKxjWXjy/NrHw67QvFzRypblxAPX\nMpj/3Q7XG0vxKGX5ZF6X35G/v7/Oy9Tlx8ul8Q4ePMj48eNRq9UMHTqUqVOnZmmfmprKgAEDuHjx\nInZ2dvz999+4ubnl2LeJiQm1a9cukly6sLGHAqGiKJ57tr8VraKXkMikjFkZzA3N0YiazGPWRtYY\ny40z875svbP1lcjmXcabxc0XM915OiqNih13dxCi1C6MBiWF4lWxPEOUq7Nc47CqVpbI0+Ii2dtf\nEQmPYE1bSCh+7iG1Ws2nn37KgQMHuHXrFn/99Re3bt3K0ub333/HxsaGu3fvMnHiRD7//PNij5sT\nxVbsoig+AkIEQaj67ND7aM0yEhJZiE6JplfVXrQs3xIBgXKW5UhVp1LdrjoAG/w3ANDWTf+ReS+T\npk7jRvKNHAOanFUqtoVFZO4ni0ZZIk91hWRvfwX8twCCz8J/3xW7q/Pnz+Pu7k6lSpUwMjKiT58+\n7NqV1Vy3a9cuBg4cCECPHj34999/9VJ4Q1fPe2OBDYIgGAH3gUE66lfiDeKHFj8AEJkYyemw05S3\nKk85i3KsvbmWnlV68iRZa+voW71vicmkETUceniIHy/9SJgyjIZODQlJCCFM+Ty1qqlGpIpKuz6Q\nIhpijCoz8lSXZPq3L3lP69/uXkvnY7w1HJgKj67nfj74FFny9vr9rn0JApR/L+drynpB2/m5dhkW\nFoarq2vmvouLC+fOncu1jYGBAQqFgqdPn2Jvr7unP9CRu6MoildEUfQRRbGmKIpdRFGM0UW/Em8m\njuaO9K/enwMPDtCqQitUalUWt0fvMt4lIseFRxf4eN/HTDk+BXNDc0Y7jGZV61WkqdOorKiMe4oK\nmSgSK3/+MzERVGggM/JU10j+7SWEcz0wKwMZieYEGZiXgXJFd7PNaeb9sndXQdrogtKzQiPxVjHY\nczBb72xly50t9Kzak823N2eei0qOwt5UtzOYFwmMCeSHSz9wPPQ4Zc3LMrfxXNpXbM+J4ycAONrr\nKAAnbx5m9IVJdFZqHbySRSNuKpri9vES6uhxJl2xej3O1/yK+tdnSvlkikoeM+tM9kyES2vBwATU\naeDRCTosLvKQLi4uhISEZO7nlKI3o42Liwvp6enExcVha5tzYY/iIKUUkHglWBhZMNJ7JBceXaCG\nXQ1MDEwyz+UWtFRcIhMjmXFqBj329OBy5GUm1p3Ini576FS5E3JZdpc1+en9dFAmsd7KiocyY72Z\nYHKiXtdx+Fl9INnb9UniY6g7CIb+o/2rLN4Car169QgMDOTBgwekpaWxadMmOnXKmne/U6dOrFun\nzeW/detWWrZsKc3YJd4ckm/5U2fAEuoPcmT6qemIPH9E3Xx7M5tvb8ZIbsTFfheLPVZCWgJrbqzh\nz1t/ohbV9PPoxzCvYVib5F4t55rvNhqErsXEsAwHLGQsrt2Fjx+mYZT8JNdrdIkgk+Ex7DdCl7wr\n2dv1RZ8Nz7eLMVPPwMDAgOXLl9OmTRvUajWDBw+mRo0azJgxAx8fHzp16sSQIUPo378/7u7u2Nra\noq94HkmxS7wSwqdMQVQqGbfLgn59RayNrIlN0wYsm8hNeL/8+0yuN7lYY6jUKjbf2cyvV38lJjWG\ndhXbMbb2WFwsXfK87nHYA1x9JxAkr4DHpFP0v7WStTfX8mnfLVS1rZrntbrE3NKax93XYLG5PXel\neqmvBe3ataNdu3ZZjs2ePTtz28TEhC1btuhdDskUI6EXRFFEHR9PWnAwydevozxxgrg9e/Cv5oF/\nNQ/S7mozLRoFP2Lzt+n8+rV2MVJAIFWdirmReZHt7KIocujhITrv6sz88/N5x+YdNnXYxHdNv8tX\nqaer0oha1x9jMRVZ73WYmFkwxGsIlkaWLLm0pEjyFIeKNRpwrabk3y5ROKTb/1tE8i1/ggYMQD5h\nfIGvEUURMTkZdVwc6thY7evF7dhcjsfHg1qdf/9AtAXM6yV7tq81yWy5vYXpDafncWXO+D3yY/HF\nxVyPuo67tTs/vf8Tjcs1zteOee/aaeoc64Pf1fdpmHYdv7rf4VO1FqAt6DG85nAW+S3iTPgZGjmX\nbPLSel3H4fesXurZLQ7UuLGIyJ47cPeUkqhK5Iyk2N8iwqf8D1GpxPqXX0mqWjV/Zf3smJhDpfUM\nBDMz5NYK5Apr5NYKjKtW1e5bWz87Zv3CeWvkCisCW74Pqdr6kgJgq4QGdyDCTsTA2LRIZph7sff4\n4eIP+Ib64mDmwJz35tCxUsccF0VzQrZjOJYk0yB6L+dtO1C/08gs5z+q9hF/BfzFkotLaODUIFs9\nVn3yor3d58Zc5GiI2jYMPEu2Ko/E64Ok2N8C/Kt5ZNk3iIoiqP+ALMcEQ8MsStiwQnlMrK0xsLZG\npnimqK2tkb+4bW2NzMioULLEbNoEqanIHRxw/GIqUUuXkRQaRK+TGhoFwK9tkzF3L7gZ5nHSY366\n8hM77u7AzMCM8XXG08+jXxYvm7wQZyoQBKgI2rsMUD9mL+JMBeeqTcnS9kO1K78rz7J0wwgayt0K\n/qZ1QIOABZgLz2WsKIbALAWiCMLXBS/yIfF2ICn2twC37dsJHTOG9PBwQGv+MLCzw/GrLzGrVQu5\nQoFgZqYXt6sXUUVG8njhIswaNaT86tUIgoCibVsmHJuA0vc/hh8WmbM+lRshJ1F7JiK3yL1eqTJN\nyZqbWk8XlUbFx9U+ZnjN4diY2BRKpvvdD2C2fQBlxSe8+PYFARrezuo/Xh847VyWA7KTjArbjLHu\nI8Fz56V/jShChOBAUs8/KNl8hhKvA5Jifwswre6BzNQ0c18A5DY2KF5avdcnoijy6OvZiGo1TrNn\nZ7mJfNvkW+oH16fhkuF0OBKH18aN3O/UEadZs7Bo2jRLPyqNiq13tvLL1V+ITommrVtbxtYZi6ul\n68tDFojKNd/l4Q4TMrwtRRGCZeWwHnMsx/Yjoi4x4ewU1rSdy0eVexZpzKISu7w55TXhmTegVMFY\nsrNL5Iik2N8S1PHxGLm7Z3qjqONK9vE94dAhlEeP4jBlCkauWZVwcLy25qeL4zuUnf4hVu3bEzF9\nOiHDR2DVoQOOX36B3MaGf4L/4cdLPxIUH4SPow8r3l+Bp71nTsMVCnNRSToyDNEQLDhjJiahsHPM\nse37dm15L2QXf977i4+8+6MwVhR7/IKSJiYTKdhRlqeECWWxEJUlNrZEwcgvbe/atWv53//+R7ly\n2uLoY8aMYejQoTqXQ3J3fEuocuI4lffuydy3eLfkZnrq2FgezfkGkxo1sB3QP9v54AStYi9vpQ3A\nMatTm4o7tmP/6afEHzrEnbZtmD+nLZOOTcRQZsiK91ewus1qnSh1gDKzHhIjaIOVTIbupcysh3m2\nn1hnIglpCfx+/XedjF9Qysx6SHgDraeQqtf6fOWUyJ/cau8WhYKk7QXo3bs3V65c4cqVK3pR6iAp\n9reOSnu04elxu0ouTD1ywULUsbE4fTMHIYcAm6B4bXWNClYVMo/JjIxIGNCOvz+vR6C5ki4bg1h9\nuBJ/1VlKU5emel8PyIuqtlXpWLkjG/w3EK4Mf2VySBSfX679kmft3cJQkLS9JYVkinnLMH7nnczt\n9OhoDPSQgOhFEk+fJm77duyGD8fEwyPHNsHxwdiZ2GXmQo9KjuLnKz+zLXAbJgYmlFs8gYZXjRB+\nXM7Dzl1wmDAem759EfRUkqwgjK09loMPDrL88nLmNZn3yuSQyJnvzn9HQHRArucvRl7MMY2FgEBd\nx7o5XlPNthqf18+9MEZB0vYCbNu2jePHj1OlShWWLFmS5RpdIc3Y30JUz+x7gU2a5tOyeGiSk4mY\nOQujChWwHz0q13b+T/2JSY3h6uOr/HTlJ9ptb8f2wO30rtqb/d32M6zWCBwHDqLy3j2Y+dQlct63\nPPz4Y1Lu3NGr/HlR1rws/ar3Y+/9vfg/9X9lckgUDS97L2yNbRGeuRsJCNia2FLTvmaR+yxISt6O\nHTvy8OFDrl27RqtWrTKLbugaacb+FhI99XMcx44rUGRocXiybDmqkBDK/7EOmUnufuV3Yu6gQcOA\nAwPQoKF1hdaMrzM+0+aegaGzM66//kr83n1EzpvHg27dsR8+DLuRIwvtT68LhngNYVvgNpZcXMLK\n1itLfHx98yTpCf87/j+6GXZ71aIUmrxm1hnMPjObrXe2YiQ3QqVW0apCqyJFO2dQkLS9dnbPC5UP\nGzas9JbGk3gNMTTM3FSePKWXIZJv3CR67Vqse/XCvH79HNt4rfPCa50XGrR1UDP+Hg46nE2pZyAI\nAoqOHai0fx9W7doS9dPPPOjSlaRLui1TVxCsjKwYUXMEZyLOcDrsdImPr28y7M8HYg+8alH0Qkap\nxo3tNtKrai+eJj8tVn8FSdsbEfG8xOLu3bvxyMU8WVwkxf6WUmbSJABC9LAqL6pUREybhoGdHQ6T\nP8u13ZYOW3Ayc8pyzNncmW0dt+U7hoGNDeUWLMB11Uo0KckEfdyXR7Nno1aWrAtg76q9KWdRjsUX\nF2cp1P06U3d9XbzWebH59mZERE4qT+K1zos6f75ZNep/aPED0xpOo6ptVaY1nJZZurGovJi218PD\ng169emWm7d29W+ussHTpUmrUqIG3tzdLly5l7dq1Ongn2ZEU+1uK/fBhmdu6Lqb7dM1aUgMCKDtz\nBnIrq1zbVbOrhqmhaZZjpgamVLGtUuCxLJo0ofKePdgM6E/MX5u436EjCcdyDi7SB0ZyI8bVHsft\nmNvsu7+vxMbVJwe7HaRxucbZjretWPJFxl832rVrx507d7h37x5fffUVoE3bmzFz//bbb7l58yZX\nr17l2LFjVKtWTS9y6EyxC4IgFwThsiAIe3XVp4TuUD1+zMN+/Ul/kr1QRORc3Xl1pD18SNTy5Vi2\nbo1lq1b5tk9IS6CyonLmfmxqbKHHlJmbU/bLL3Hb9BdyS0tCR40mbNJnpD8t3qN1Qfmw4odUt6vO\n0stLSVWnlsiY+iQmNYbzEeezHd99bzde67youz5nrxGJ0oMuZ+zjAck9oJQS9dPPJF+8yJMVP2Ue\nc3uW8D9m/XqdjCFqNERMn4FgYoLjtK8KdM3RXkfZ2WUnn9b6FIA0de6ZJPPD1Nubitu2Yj9uLAlH\njnC/XXtid+zU+RPJy8gEGZ/V/YxHiY/Y6L9Rr2Ppmzsxdxh6SGue83H0QS48dyk1kZvQvmJ7DnU/\n9KrEkyggOlHsgiC4AO2B33TRn4TuCPCuhX81D2I3bQJRJHbTJhxHjiLAuxamXs8jN9Xx8cUeK3br\nVpIuXMBxyv8wdHAo1LUjvbVpchNUCTyIe1BkGQQjI8qMHk3FHdsxqlSJiC++IGTIUNJCQ4vcZ0Go\n71SfJuWasOr6KuJSX89si4ExgQw9NBRDmSHzmswjMDYQY7kxAgJGcqNCF0AJeBpAo42NuBP96txS\n31YEXcxmBEHYCnwLWAKTRVHskEOb4cBwAEdHx7r6qvX3IkqlEgsLC72PU5qRxcVhs2AB8qfRCGhz\nXSVVqULSkMFoFArsv/gSeUwMGnNznny/qOjjxMZi9/Vs0su7EjNhAhQhMvRy4mVWR60GYFmFZUWW\nJRONBtPjJ7DYsQNBFFF26khSy5Ygyz6f8Tg2CEchmgO1V2GqKNxNKYPwtHDmR8ynhVULutp0La70\nORJ35wSdwxexp/oPWDpU1Fm/4WnhLItchkyQ0cOmB5uiN2EsGONo6IhCVNDctjmnEk4Rr45nmMOw\n/DsE5obN5VH6I8oalOWrcgV7gisOCoUCd/eSzXWpVquR6ylQ7u7du8S9lNOpRYsWF0VR9Mnv2mIr\ndkEQOgDtRFEcLQhCc3JR7C/i4+Mj+vn5FWvcguDr60vz5s31Pk5pJcC7FmJqdpuvCNj27UuZiRMR\nBLhdV/s98QgouiUtdOxYlMdPUGn3LowqVMj/glzwWucFwMoPVuqsUpEqIoJHs75G+d9/mHh54fTN\nHEyqZq1d+nhWRRyIJnLoJRxdKufSU/7MODWDvff3sqfrHspZlCuu6Nm4dGANdc5N4EGvf6hYvZ5O\n+rwbc5chh4cgF+R8Xv9z5pydg6mBKavbrMbV0jXP31Fcahxb72xlg/8GnhSg0Pf1gdd1InNO+Pv7\n6819MDcSEhKwtLTUS985vR9BEAqk2HVhinkP6CQIwkNgE9BSEATdGG0likXlI4ex6tA+y+xZbmuL\n2taGmI0bud+xI0kv3GDvd+ma4+JqfsQfPkzCkX8oM3ZMsZQ6wKYO2ie54UeGF6ufFzF0csLll59x\n/n4RqrAwHnTvweMlP6DJ4aZXXEbXGo1MkLHssg6eOPRIRvIrv0d+DDk8BABLI0tmn5mNidyE1a1X\nZ6ZCTtWksilgEx12dMiMPch4Nd7UmB8u/ZCvUi+oG6uEbii2YhdF8QtRFF1EUXQD+gBHRVHsV2zJ\nJIqNoYMDsmemKOFZUJI6Ohq1kxPOixYiMzcjZMTzEnCpAQFZFlcLgjoujkdz5mBc3QPbTz4ptsw1\n7Gpkbv8d8Hex+8tAEAQU7dtTad9eFB068PTXX3nQuQtJFy6gevyYuH+NSE8u/jynrHlZ+lfvz777\n+7j1NHtmv9JCRvDRyH9GIhNkVLGpwv24+8SnxROZFEm7He0ylffkkMnMPTc3M1lbTrR1a8v6duu5\nPvA61wdex87YLsv5wrqxvq4MHjwYBwcHPD1zzjwqiiLjxo3D3d2dmjVrcklPgXWSH/sbTnrUU6z7\n9MFty2as+/TGuEoVDO/eI2L6DKy7doWX7IOxmzbhX82DAO9aBer/8aJFqKNjcJqTc+bGovBPj38A\n+ObcNzr3aDGwscF5/re4/vYbokpFUP8BBA8eTPoTgSc3dbMeM9hzMNbG1iz2W6x3j5yXyWvBUhRF\n6v6ZNfgoVZ1KVHIUZyPO5tt3M5dmrPxgJdcGXMtU4BmvBc0W4F3GO7NtYnoiMmQsarqIyorKxKcV\nf3FeH+TlBlwUPvnkEw4ePJjr+QMHDhAYGEhgYCArV65k1KjccygVB53mihFF0Rfw1WWfEsXDdflz\nk4DTrFkAHN+2DbeDh3i8cBEm1asjmJiQnDFzMDTE6sM2OE6ZkkNvWUk8e47YLVuxGzoE0xo18m1f\nUBzNHamkqMT9uPvMPTeXaQ2n6azvDCwav5f5Y067ew8QiL1rAa06EGNsTLWrV4rct6WRJSO9RzL/\n/HxOhZ/KMdhHX0w9MRWlSsnYo2MZ6T2SoPggghOCCYoPIiQhhDRN3u6kMmTUdqjNd02/w9FcW2yk\nKGtVtRxqkahKpE3FNrSp2Kaob0fvvOgG7DRrZrH7a9q0KQ8fPsz1/K5duxgwYACCINCwYUNiY2OJ\niIjAyckp12uKgpQE7C1EY2eH68pfid+7l8i587JWU1KpSDybPdVotj5SUoiYOQPD8uWx//RTncu4\nqcMm6m+oz9+3/+bzep9jKDfM/6JCUvmfI0TOn0/CgYMgighyDYbNW1Jh1uxi992rSi/W31rP4ouL\naeTUCLlMvymGMxadMwhPDGfG6RkAuFm5UcGqAg2cGlDBsgLHQ49zIuwEhnJDVGoVFRUVeRD3IHO/\nsk3lTKVeVEISQrLM4EuaR/Pmkeqfe9reJD8/bR3EZ8Ru2qR1CRYEzHxyXps09qhG2S+/LJZcOaX2\nDQsL07lil0wxbymCIJBWqzm+Db4l2TWrPVD95Em+tvaoFStQBQXjNHt2lnqqusLUwDQzhH3wocE6\n7x+0axCqkBDtD1wQEdUCgpkpBmXKFL9vuSHj64wnMCaQvff1H4w997252Y45mDrwd4e/2dN1D8vf\nX86UelPoXa03hnLDLMmvEtJELncgAAAgAElEQVQSdJoMK02dRkRiRK6J3EoDpjVrIre1fe76KpMh\nt7XF1Fu/N6OCpPbVBdKM/S3m8O83UaVquNVwIt6PxyNPSSDjK5YxgxFyMEsk37zJ09VrUPTojnnD\nBnqTb36T+Rx4cIArT64QkxKDjYmNTvtPvX+flBs3MSxfHjOPQIR7KhJjCp/SIDdau7Vm3c11LLu8\njDZubTAxyD11cXG4/uQ6X53K7ieelJ5EVZuq2Y6/mOxqWsNpWUxdujB7hSnD0Igaylu+OsVekJl1\nxKxZxP69GcHYGDEtDcvWrXVijsmLgqT21QXSjP0t5OYmDStGHiX2URIAcY+TOd5wPseaL+fEu/M5\nW38GfnX/x833ZxI8cjUnNt/hwr4HXDsWyu0z4Vybswqlcw1MBo8jJVGFqNHPAqFMkDGhzgQA2mzT\nrZ02I/2BzMoKt40bMLARcfKJx3KW7gJpZIKMST6TiEyKZOW1lTqrrfkiN6Ju8PH+jwEwNzCnsqIy\ni5ouwsbYBqVKyYzTM1Br9Jt3/2VCErSKK8NdsrSS6Vjw9yas+/QhPUq3/5uc6NSpE3/88QeiKHL2\n7FkUCoXOzTAgzdjfOtJS0rFyhfiQrMeNzQwoqwkmPewuKkMzVAbmpAp2RIalkHI7gbSUF5SDdSew\nhvMLbmj3Be31JmaGGJsbYmJuiIm5gXbbzCDzmLGZASYWhpiYafeNzAyQyfJ+DB3iNYSVZ1fT6sZA\nbjW9Q3VX3bjMxf79N8kXL+I0bx4G9gULkS8K9crWo5lLM9bcWINaVPPz1Z+LVczhRW5G3eSjfR8B\nMNlnMgNrPK/G06ZiG365+gsrrqxAFEXmvDdH73b+DILjsxYnL61kcSyYOUMnfX700Uf4+voSFRWF\ni4sLX3/9NSqVCoCRI0fSrl079u/fj7u7O2ZmZqxZs0Yn476MpNjfIoJuPMV3YwDKaDAyMyAtKT3z\nnLnCCO8n56CSHOWhvzH18UGONa7faL/8arUG5Z2H3P1kBAY+jbAaMZbUpHRSE9NJSVSRmqgiJSld\n+1eZRmxkovb8C2PkhLGZgVbhZyj/l28G5gaMipmNMkFk2W+b+Pnr4v8AVY8e8XjR95i/2whF1y7F\n7i8v6v5ZN4snSkZtTSO5ERf7XSxyv3cTHzJpn3aR97O6n2VR6hmM9B6JgMDyK8sBSky5BycEY2Fo\ngY2xbk1nrwN//fVXnucFQWDFihV6l0NS7G8Byco0Tm4J5M65SGyczKnYKo3ICzI0xjJMzAwxMjUg\nJVGF6/JliKLIg06dQaXKMqORyQRi58/GQh1LpRmfYuhYsAVGjUYkLUmr/DNeqUlZbwYpShWpSSpS\nEtOJe5JMSpK2zfNawwICAp6RjVkx8ihyAxkjlzcv0mchiiKPvp6NqFZT9uuv9bJwBaDWqNl7fy9W\nxlZEJUchQ4YGDSZyE94v/z6T600uct+3jAyZdEur1CfVncQnnp/k2naE9wgEQWDZ5WWIiHzz3jd6\nV+7BCcG4Wrrq7bOVyB9Jsb/BiKJIoF8kJ/4OJC05nXrt3aj7oRsnTh1n0HeN2b7wIjIDgS4Tn1fG\nEQQBRZcuPF64kNT7DzCupE00Fbd9O0nnzlH2668xdCy4K5xMJmjNLxaFc1cUNSIxkUmc2X6XoJtP\nETWgkqXxwPYa8/43vlB9vUjCwYMojx3DYcoUjPRQHV4URU6Fn2LJxSXcibmDp50nnnae/Bf6X5Ey\nJL5MkOoxM8ppbbIT6kxgkOegfK8ZXnM4AgJLLy9FRGTue3P1qtxD4kPwsCvZnC0SWZEWT99QEqJT\n2PfTNY78fgtFGVN6fVmP+h0rITd8/i9PSVRhYpZd4Vp17AByOXE7dwLa6LzI7xZg5uODdc8eJSK/\nIBOwdTLH3NqYjIpzBhoD0uQp7AzfWqQ+02NiePTNXEw8PbEd0F+H0mq59fQWw44MY9Q/o0hSJbGw\n2UI2tt+IXCbXiTthQHQAM2K0aZgGuHRniNeQAl87rOYwxtcZz777+/jy5Jeka/I2kRUVlUZFuDL8\nlXrESEgz9jcOUSNy43gYZ3bcQxRFGvd8B68WLjkuUqYkpWNsnl2xGzo4YN74PeJ276bM+HFEzp2H\nmJJC2TmzEXJIeatPkhPSsLQzRiaXYf+OKQ9uWTL//Hw+rvZxoR/1Hy9YiDoujvK//6az9Aegde9b\ndnkZ++7vw9rYmqn1p9KrSq/MoKqX3QuLwu3o2/Tc0xOAcdGxtKrXvtB9DPUaioDAD5d+QBRF5jWZ\nh4FMtyrgkfIR6WJ6qfeIedORFPsbRMyjRI79GUDEvThcPWxo3rcaVvY5Bw+JokhqogoT85y/AtZd\nuhA2cRIBtWqDSkWZiRMxrqi7/N8Fpe3Imuz4/hKCAB/2r8Vvu7+BGPj6zNfMendWgftJPH2auB07\nsBsxAhMd1ZmMS41j1bVVbAzYiEyQMcxrGIM8B2FppNs0rrejb9Njj/ZJqZv5uwx7sImiliIZ4jUE\nQRBYcnEJgM6Ve3DC6+ER86YjKfY3ALVaw+VDwVzY/wBDIznvD/SgasOyec5oValqNGoxxxk7gEXL\nls8aqsDICLvB+dty9UVKogprRzMA1rdbT70N9dgWuI0vG3yJkdwo3+s1SUlEzJiJkZsb9qOLn3Qp\nVZ3KRv+NrLq+CmWaki7uXRhdazRlzcsWu++XuRNzJ1Opf1rrU+qHG6PNjl10BnsORkBg8cXFiIh8\n2+RbnSn3TMUumWJeKZJif815HBTP0T8CeBqmxL2uA016V8HMKn9ll+GGaJKDYvev9tLCV1oaAV41\ngeIV4ygq2rUA7VfVxMCEjpU6suf+HgYeGMhfHfJ2LwN4smw5qtBQKvz5BzJj4yLLoRE17Lu/j2WX\nlxGRGEGTck2YUHcCVWz0k442MCaQ7ru7AzDaezQjvUdyKVw3fs+DPAchIPD9xe8REZnfZL5OlHtw\nfDCmBqZFXhx+3Rk8eDB79+7FwcGBGzduZDvv6+tL586dqfjs6bdbt27MmKEbH/oXkRT7a4oqTc35\n3fe5+m8IZlZGtBvlRUXvguc4SUnUBk3ktHjqtn07oWPGkB4enuW4jQ7yrRcWrcko61rA3MZz2XN/\nDzee3uBp8lPsTO1yvT75+g2i163DundvzOoVveLQ6fDTLLm4hIDoAKrbVeeb976hvlP9IveXH3dj\n7tJtdzcARnmPYlQt3ad3/cTzEwRBYJHfIkRRZH7T+RjKipdsLSQh5LVydUyMS+XwbzdoPdQTc0XR\nb/oZfPLJJ4wZM4YBAwbk2qZJkybs3avf/EGSV8xrSEhANJtmn+PKPyFUb+zMR7MaFkqpw3PFbpyD\njd20ukeOib1i1q7Fv5oHqsjHRRO8CKSrNKjTNVmeLARB4LO6nwHQamurXK8VVSoipk3DwM4Oh8mf\nFWn8gOgAhh8ezogjI0hIS2BB0wX81f4vvSr1e7H36LpbWzN1RM0RjK41Wm9jDawxkMk+kzkcdJjP\nj3+OSqMqVn/BCcGvlRnGb98Dwu/G4bev6AXUX6Rp06bY2trqpK/iIM3YXyNSElWc3nYX/9MRKBxM\n6TKpNuWqFC26LzUxd1MMgDo+HiN3d+w/HU3Uip9Qx8Sgfqp107vbrBk2H39M2Rm6CY3PW85nNyCz\nrF/VTzw/4fuL35OuSScwJpB3bN7Jdu3T1WtIvX0bl+XLkBeyLmW4Mpzll5dnBhlNqTeF3lV7F8im\nXxzuxd6jyy5tNOzwmsMZU3uMXscDrXIXEFjotxCOw3dNvyvSzF2tUROaEEpz1+a6F7KQnNh8h6gQ\nZa7nw+/GvhAABzeOh3PjeDgI4OxuneM19q4WNOlVfLPbmTNn8Pb2xtnZmUWLFlFDh7UMMpAU+2vC\nvUuPOb7pDslKFXXaVKBeezcMjIoeZJI5Y8/BFANQ5cTxzG1F27aZ29Hr1hH57XxiNm4kZuNGKu3Z\njfE72ZWqrkjJuAHlEOC0vOVyxhwdQ7fd3bIVSU598ICoFSuwbNMGy1a5z+pfJkGlZIPfYjb4bwC0\ntughXkOwMrIqxrsoGPdj72cq9WFewxhbe6zex8xgQA2t6WCh30LE/0QWNFtQaOUemRSJSqN6LWbs\njm5WxD9JJjlRpVXwApiaG2JVRvcpqF+kTp06BAUFYWFhwf79++nSpQuBgYE6H0dS7KWcxLhUjv91\nh/tXnmDvakGHMd6UKV98d7rUpGc29lzcHXPDduBArHv04Hb9BqBWc79jJ8zffRfX33/Ti101r7WA\nZq7NMrePhx6nqUtTQJu58dH0GQgmJpSdVrBsjWkCrLO05NfTI1GmJ9KxckfG1BqDk4XuM+/lxP24\n+3Te1RnQ+puPqzOuRMZ9kQE1BiATZHx34Tv+99//WNh0YaEKnJQmj5iCzKx9NwRw82Q4ckMZ6nQN\nleuUodnHunGFzQ0rq+cThHbt2jF69GiioqKw13EiOsnGXkoRRZFbJ8PZOOscQTef0qhrZXpO9dGJ\nUgftTNjAUFakWb/M3ByPmzco9+OPgNZHPMCjOonnzutEthfJNMXkYjLa2lEbhfrpv8+rOMVu2UqS\nnx+On0/Jt2iGRtSw9/5ePilnxiI7G6opqrCl4xbmNp5bYkr9QdwDOu/UKvXBnoMZX6foKROKS7/q\n/Zhafyr/Bv/L5P8mo1IX3Ob+umR1zCA5IQ3PpuXo8XldPJuWIyk+77KBuuDRo0eZxTbOnz+PRqPB\nzi73xf+iUuwZuyAIrsAfQFlAA6wURfHH4vb7NhP7OAnfDQGE3Y7F+R1rWvSrlunHrStSE1W5KsuC\nYtWmNZY3rnO/cxfS7t0jeOBADJ2dqXzwAIKRbmzRmTP2XJ4sqtpWRS7IUYtq1t1cx8f2bXm8cCFm\nDRui6NYtz77PRpxlsd9i/KP9eUejYU7EE8zdOlHVNntxCn3xMO4hnXZ2ArRmn4l1J+bZXpUYA0Bi\ndKTeZOrr0ReA+efn89l/n9FJ6FSg60ISQjCSGeFg5qA32XRJ25E1M7ebfaSb/3l+aXu3bt3Kzz//\njIGBAaampmzatKnUVlBKBz4TRfGSIAiWwEVBEI6IonhLB32/NTwJSWDH95eo/p4TN4+HI5MLNO9b\nlervOSPkk7O8KKTkEXVaGAQDAyrv20vSpUsEfdwXVXg4ATW9cV64EEXHDsXuP8PfPq+b0D89/6HF\n5hYsurCQlhcuIKpUOH09K9cfzO3o2yy5tIRTYadwNnfm2ybf8sG6/hgLGoKPfQXNuhdb7oIQFB9E\nx50dARhYfSCT6k7K9xrTQK2bXMrZ36Bx8T/f3Ojr0RcBgW/Pf0uUaRTN1M3yNcsEx2uzOsqEt9cQ\nkF/a3jFjxjBmjP4XxIv9yxZFMQKIeLadIAiCP1AOkBR7ITjwyzVUKWqu/htKRW97mvapioVN8f1q\ncyMlUZXrwmlRMKtTh2r+twgdMxblv/8S/r//cf+Lqdzu+iEdP/sKc+uiee+kJKqQG8gwMMxdWdib\n2lPdrjqWp26g/PdfHP43GaMKFbK1e5T4iOWXl7P73m4sjSyZ7DOZ3lvGYXLjLBk1AcsTAbMUiCJc\nfnd5kWQuCJHpMUyJWgVAGzMfWkY7cunQn7m29zo9HkNBTcYc00d5DGYpSBENMflaP5V/PvbQ5uOZ\nd24ek/6bxOJmi/NU7sEJwbhaSTliSgNCTsVVi9yZILgBxwFPURTjXzo3HBgO4OjoWHfTpuKFRRcE\npVKJhYWF3scpDjc3aXI9V6OPfmY+SqWSRyfMMLKE8o11P4Y8MhL7mbO4Uc6eYDsrnKzscO5XtILU\nYec1KMOhape85UxXxmE2cyoxFmA4bTFGhs+9G5I0SRyJO8J/Cf8hiiLNrJrR2qo1ZnIz4iMCqXt7\nPs5iFCUVUxNiYEA7V22dy35x8XweXfg6qymiIReMGqCsORhTS93baF/kSNQRdifuxtPUk8FlBmMo\nZFfuGlHD5JDJNLZoTDfbvE1g+kKhUODu7l6iY6rVauRy/aRAvnv3LnFxcVmOtWjR4qIoij75Xasz\nrxhBECyAbcCEl5U6gCiKK4GVAD4+PmLz5s11NXSu+Pr6UhLjFIcalRPY//M1lNGpmceMzAzoMqk2\nZVx0m0wqA19fX+QY4FrBjubNdZ83+4d+XVF7V87cj0iIJuLnRcgNDJmwYUeh+joQcB1ZShLNm+dd\nNDt82jRikgW+7SUD5U9EJUexqvUqLj++zK/XfiU+NZ4OlTowpvYYnC1eLB7cnIdf/wgiZMxxwoSy\npHZfVyg5C0pE6mNG3dR66nQo8z496vThXgGvjT04j9rK46iQY0Q6Rlb2tO1YAmYjX6jpWZNvzn3D\nTs1OljRfks2fPzIxElWwiveqv0fzas31L1MO+Pv7Y1nIeIXikpCQoLcxTUxMqF27dpGu1YliFwTB\nEK1S3yCK4nZd9Pm2UMbVEsOXPFPSktI5u/0eHcfV0suYOYXp64qIwNuU9/TmwWW/zGOCRsQpVolH\nxFMips/Aac7sAvenXQvIW87Es2eJ27oN+6FDeVhmLcQ/BKD//v6ki+k0cmrExLoTcy3+YC4qeSgv\nz1XHHnhHbsVCk4CLV8MCy1hQQhJCGLV9GAAfV/uYLxp8UajrLx1Qc96+C2Waj+SJ7y8YJT/RuYy5\n0btabwRBYM7ZOUz0nZhNuWe4OkqmmNKBLrxiBOB3wF8UxcXFF+ntIzU5HVtnc3zau3FycyBJcWkE\n34pmxcijfPpLS52PJ6rJFqZfrP40Gu5f9uPC7m2EBdzE2MycMm6VeBL0AEQRUSZgWbs2xiGHiN2y\nhdgtW6i4axcmVfP3NU5NUuWaehhAk5xMxIyZGJYvT1vrNWQay4F0UbvweibiDCvtVubaR5lZDykD\nBPn6UnHEzAK/78IQmhBKu+3tAOhTtU+hlTpAnSn7Mrcr6+HGkx+9qvYCYM7ZOUw4NoElLZZgLNeu\nA4UkaKujlwYfdgnd+LG/B/QHWgqCcOXZq50O+n1rGPRdYz6a0YB36joy6LvG9PziuQltxcij6HId\nBED9zOrzcph+YUlXqbh+7DBrJ3/KzgWziX/ymOYDhjL8pzUoyjji/UFbGvX4CIAEEyOqXrqIYGIC\nwIPOnQnqPwBRk/saA2j97fO6AUWtWIEqOBin2bPZ2HUrzubOWc47mzuzreO2Yr3P4hKmDKPtdm30\nbu+qvfmqYcGCpkojvar2YkajGZwIO8GEYxNIffZlCo4PxkBmoJfUxRKFp9iKXRTFk6IoCqIo1hRF\nsdaz135dCPe24lDBisGLGmfu/zTqGGnJuitlpn4Wh1HUGXtKopJzO7fw29ghHP5lKXIDA9qN+Ywh\nS1dRt30XjEzN6Dz5K1oNGU39Lr0wt7bB0NgYmZkZ1a5cxmWF1tsk6cIFAqrXIPHMmVzHysvfPvnm\nTZ6uWYt1zx6YN2xANbtqmBiYZGljamBKFVv9pNUtCOHKcD7c9iEAvar0KnIFpdJEzyo9mdloJifD\nTjL+2HhS1anciLqBWqPmfuz9Vy3eKyUkJIQWLVrg4eFBjRo1+PHH7CE9oigybtw43N3dqVmzJpcu\nXdK5HG+vw2kpx9TCiFE/tcjcXzXxONHhiTrpO0OxF9bGHh/1BN8/fmPl6EGc/Gsddi7l6f7VHPp/\ntxSPJi2Q51BuzsDQkNptOxF07TKPH2p/9Jbvv0+1G9cxrqoNCgkeNJjAJk3RpGWN/EtPU5Ou0uTo\nby+mpxMxfTpyWxscJk/OPJ6QlkBlRWUWNV1EZUVl4tOyreOXCAFPA2iwoQFttrUBoEeVHkxvpP+k\naToj4hp86wqPsucUB+37mdVoFqfCTjH+2HguPb6EiMiU41Py7jfhEaxpCwn6C7AqDMqYaP6eNZXE\n2Bid9GdgYMD333+Pv78/Z8+eZcWKFdy6ldXz+8CBAwQGBhIYGMjKlSsZNUr3KZklxV6KkcmELDb2\nv2afI9Cv+D+Iws7YHz+8z/7l3/P7uKFcOrCbynXr02/+j/Sc9g1uNWvnGznn/UFbDE1M8dvzfF1d\nMDCg0q6duP2tdXtNf/KE2zW9iX1WQBueJwDLyd8+eu1aUm/5U3b6dOQKRebxo72OsrPLTtpUbMPO\nLjs52utogd6jrpn832SS0pMA6P5Od2Y20o/tXi+IImweAKnxsC33gtndq2g9ck6FncpM93sv7h5e\n67zwWueV80W+30HwWfjvO52LXRTObvuL0ICbnNm6USf9OTk5UadOHQAsLS3x8PAgLCwsS5tdu3Yx\nYMAABEGgYcOGxMbGEhERoZPxM5CSgL0GfPpLS7Z8e4HHQQkc/u0mEXfjaNqn6OaF9EzFnvu/XxRF\ngq9f5cKebQRdu4yhsQm12nSgbrvOWJUpXMi4ibkFNd9vzaUDe2j80QCs7J9fb+rtTTX/W4RNmEjC\noUNETP2CiKlfUOX8OVKTZM+uz6rY04KCeLJsOZYftMKqdetCyaJvclJo2wK3sS1wW7YMlKWKVCUc\nXwinfsh6/EkAzX07gy8wKy7bZVs6bKHv/r6kaZ4/bTmbO7Os5TLtjijCo+uwqgVoXjAn+v2ufRkY\nwzTd5/c/tnYlj4NyNwuF+t987t8KXD1ygKtHDoAg4OKRcxpdhwqVaPHJ8ALL8PDhQy5fvkyDBlld\ndcPCwnB1fe495OLiQlhYGE5OustNJM3YXxN6flGPum210ZTXfUP5c9rpIveVlylGo1bjf9KX9VMn\nsHXuNJ4EPaBxnwEM/2ktLQYOK7RSz6BOO22Sq0v7d2U7JwgCLj/+QOVDBzOP3anfgEcbtgBZb0Ci\nKBIxYyaCkRGO00qfaWNLhy3ZFnAdTB1e+QJujjy6AavbwiwFfFsuu1J/kbI14dIfkPKCaSvhEdd2\nD8ui1AFM5cZUeXIf9kyAJTXg1yZapW76QvSxIAevnjD+1dzsnNyrYGqlIDMqTRAwtVLg9I5u1mOU\nSiXdu3fnhx9+yJLREcjRGULX+WKkGftrRMPOlSlbScG+FdeIj0opsjukOlXMFqaflpLMjaOHubh/\nF/FPHmPj7MIHw8dSvUkLDHSQ0MvK3oFq7zbl2r+HadjtI0xyiAg2qlABjwB/Hn+/mKerVvF09yHw\nHI48KRawJfmWP0EffYSYmkrZ2V9j6Fj6kk3ltIAblRxVOvKnaDRw+U/YO1Hr8/oydQbC+zNgTTuI\nup15ONVQgbEqCXaPhf1TwKMDeH/E5su/MEcWixECrhaujDKrxM9h/xIffRf+6g1GFlC5BTSeCAen\nQvILdmxRDde3gP9uvczYCzKzPrJqBdf+PYjc0BB1ejpVGrxLq6Gf5ntdfqhUKrp3707fvn3plkMi\nOhcXF0JCQjL3Q0NDcXZ2ztauOEiKvZTzck1GNy97+s1pyPrpZwGtO+TIFc1JUaoKXLtRnaYtiScI\nAomxMVw+uIerh/eTkqikXLXqtPhkBJXr1EOQ6VYZ+XTshv9JX64e2U+Drr1ybefw2SRsBw8ivKu2\nnN2jQf0Q2zYj6coVxNRUMDHBukcPncqmSzIWcEd5j2LppaWEKEMYcngIv7f+HXebkg15R/kE/pkF\nV9ZnPyc3hg5LwPsjePF/nRIHVuUgPgwU5SE5Acb4QagfXN0IfqvZ8nA/c+ztaJaUzOLIJxgRBJyk\nDYBDDej8FaQp4d4xODz9BTOMAIjaGbtlWRh2TN+fQK4kxcXi/UFbar7/Idf+PUhiTPEXUEVRZMiQ\nIXh4eDBpUs5J3Tp16sTy5cvp06cP586dQ6FQ6NQMAzrOFVNQfHx8RD8/v/wbFpPXIaVAfhzb4M+t\nkxHUaOJM8xeKAKjS1Kwc91/mftUGZbl9/hGeTZzzLRbwxzdHEZKTcSx/j1snjqFOT+edeo3w6dgN\n5yr6LTSwde50ooIfMnT5agwM8168vXQ4iDPb79H0xCQM1Kk5tvEI8NeZbPr6vjyIe8CQQ0NQi2p+\na/1bjmX8dDvgcdg7CZ7mUJnHrQm0XQCO1fPuI1UJCypC/eH4Gn+Q5XPZevlXvr62nKZJySyJfEKe\nz3PW5aHKh1ClDdzarX1ikBtpZxd1B0EH3cU0+vv74+Gh+xQZefFySoGTJ0/SpEkTvLy8kD27Wc6b\nN4/gYG1k7siRIxFFkTFjxnDw4EHMzMxYs2YNPj7Z07/k9H4EQSjZXDESuuWXMb6o058H79w8Hs7N\n4+EAlK1khbG5oVaZn3sEkPk3o3aj3EDGyOXNs/UbFnCL2Pu7UCXe42mQITWavU/d9l2xdS6n/zcF\n1OvYna1zp+F/4hheLfNe+ExNVCGTC1T6czXBfftlWewyKFcO1xX6y76oSyoqKrK6zWqGHBrC0MND\nWdV6FVVsdOhbn54Kp5fB0Tk5n28yGZpMAiPzgvdpbAFujeHOIfD6IPPwtjvbtErd0J4lj69o0wqo\ncylQ8fEWeOeD53ZsvzVaZe4zSLutLB0uj7qkcePG+QYUCoLAihUr9CqHpNhLKf3nNuLU1rsEXnj2\n5RdAUcYUm7JmpKdpSIpLIzosEQNjGempz28AMrmAsakBHSc8zzMjajTc9TvLhT3bibgTgCAzwb5C\nC3p+NQQzRc6Fe/VFeS9vyrhVwm/Pdjybt8rT3JPyLJ+NeZ06GFWqRNq95+myZKammFTT79OFLnFT\nuLH6w9UMPjiYoYe0yr1YBT2i78PBL+DOweznrFy0M+EqbYreP2hn2gemYJqkdcXbHridWWdm0aRc\nE5Y8icHoRSV99wjEBme9fmNP7d93x0Lrb6DPhufndDhTl8iOpNhLKX9+dSbLjB0R4h4nE/ckmcq1\nHVCUMcXY3BATc0MeXHtCRKDWFU2jFklWqrh1PIz3elTi1vGj+O3dQUxEGFZlHGk5aATnDhjh6lm+\nxJU6aGcr9Tp2Y/+yRdy/fIHKdXPP2pj6QgIwdXw8Ru7u2H86mqgVP6GOy+56V9qpYFVBq9wPDWbo\n4aH81vq3git3UYSbO2DfpKyLkBnU6Aat54DCRXcCv9MaDkzBNtqPHYEmzDo9i/fKvceSFkswkr+w\njtNhMWzqC+4faBX9uX+S1bEAACAASURBVF/h2t/PZ/Knl2lfAAP3QMWmupNRIkckxV5K6T+3EVu+\n9SMx9rltWW4gYOtsQXS4kpREFamJ6Wg0Ipr0x6QlbMbIsjcygzKImmSuHNqO3+4rICbhWMmd9uOn\nUKXBe8jkcs7sOaqXzI4FpUrDxpz4ax0Xdm/PU7GnJD2v8lTlxPHM44q2bfUuo76oYFWBNW3WMOjQ\noPyVe0oc+M6Hsz/lfP7D76DeUJDr6WdsWxHsq3Iu4SQLTh/h3XLv8mOLHzMTf2Xhxdl45+XaF0DI\nefj9uSmHddqKUciNYZI/mOs3l/zbiqTYSylaDxg7bRV1A20VdY93nbIsjIqiiCpFzZ9fjCEtIQ1N\n2j40qgqkp1wH0jG2cKf18H68U79upp9sepoaUZ13cJK+kRsYULddF3z/WEX4nYBcF2xTEtOxtDXJ\n8dzrTHmr8qxpsybnmXvYJdg/GcIuZr/QqRa0/x5c8l070xk7XaqxIPYS75ZtmLtSzwvX+s8Dm3y/\nA9952m11KiyspN2u1Rc6r6DEKp28BUiKvRSTUUW9RhNnbp4IJykuq2fI4j4ds+ynp0YD0QAYWQ1A\nkNsTdsecyj4icrn2R5NXmH5J4vV+a85u+wu/Pdvp9NmXObZJTVRRxrV0V8AqEhHXKL+2PWt6r2Xw\nxfkM2d+P34IfUC1Nlb1t/RHQ4ouswT0lxK67u5gRd4VGySn8WK5t4ZX6yzT/XPtSJcOvzZ77yl/Z\noH0B9N6g9ZMHbb6ate1h0AEo61m8sd8yJMVeismvinq/75aya8EcEp4+L7hgaKLgw0+/IPyuAWG3\nY7h1KoKEmFQ+HOaJkakBqUla5aGrXOxFxcjEFO/W7Ti3cwsxEWHYOGX3yknJI7Pja83WwZAaj+sf\n3VhtIGewkyNDyzqw6tFjPAQzrc3as/srncHuuruL6aem09CpAYsu7MP47lGtTLrA0BTGnNduR96E\nn999fu7vvs+3bd2f56v59Jxuxn5LKAXhcBJFxdGtEulpWWfxVvZWVKnvSfOPq9H360a06F+N0IAY\nti+6iDImhZTE/7N33vFR1Okff8/uZtN7D2mEJNSQQEJRioCIgOBRFOzYxXKWO/VUFMvpz3J6KlZU\nBEUFFETpSO9FIKGEAAlJSO/Z9Gyd3x+TbLJkk2ySDSC3b195mZ35zndml+wz33nK52k07Jf/nj5o\n4lTkcjlH1//WYp9Oq0enMeBwmZ8srMpr7tJPs/zyEJ2eb/MLcXIJ4MGevUl5eDPE3HJZjfqa82t4\nZd8rDAscxoJxn1DrORhSN0uVq9bGv7/kqnmtQsqvb05ZmvT/4jNNn90VjiWyvTt37sTd3Z24uDji\n4uJ44w3LO4pZis2w/4WprVBRV1WJnb0D9k7OKOztqa+uNhnTb0QQU5+Ipaq0npXvHOHsYSnfvbba\nzGP/JcbZw5N+o8eRvHMbtRWmDZ3VtZLL6Eq4AVmNR/aA+0Wt4zxCCXlwN99O+h5nO2ce/ONBTpee\nNn/8JWDt+bW8vPdlhgYOZcG4BTgoHCj1ToCaYshL7N6TD3tEMvD3rG25zyMU5u6z+in1lRqKFh5H\nX9VKLn4HsUS2F2DUqFEkJSWRlJTE/PnzrXLu5tgM+1+YA6uWI8hk3Pn2hwyddis6tZrp/2opDxvS\nz4sZz8UjyARS9ko5yft/SaW6vB7RcOkrj5sTP2U6Oq2GxM3rTLY3PllcVa6YwIFg52S6zc4JAgYQ\n7BrMtzd+i4udCw/98RDJpcmX/PLWpa/j5X0vMzRgKJ+M+wRHhdSSsMxrMAgyadXe3Ygi/GmmjWHD\n52RtKrdlocmspHJrVvuDLcAS2d5LwVW0HPrforwgjxNbNxIzdgLePUJw8fTi0OoVHFm3mpuefK7F\n+OX/PmzyuqZCw3cvtq0QKZMLuPs54eHniLuvI+5+TtL/fR1x8XJAJhPQV2ooXZaC9x19kbt2XCzM\nu0cIvRKGkbR5PUNvvgW7htZ56prGFftVZNhBSmH07SMZqvwTUNf0pBLsGmwsYnroj4f4+oav6e9j\nXkLW2qxPX8+8vfMY4j+ET65vMuoAOjs3CB4qFUONNR/othqHv4aUtZKAmHswXPcvSbu9TtX+sc1Q\nrT2Ppo3GNJrMCmi2pqk5lE/NoXwQQBlu3uWjDHLGY2ovi6+hNdlegAMHDhAbG0tQUBDvv/8+/ftb\n99/ZZtj/ouxdvhSZQsE1t94BgL2TMzHXT+TYht8ZdfucFvK6s+YNYcMXJ6gua+aTb9Bjag2DXqQ8\nv4by/Na/IDGOMnoqZeybv5+TdZIPVpAJDTeChhuCb8PNwc8JVy97ZHLTB8UhU2dy/sghTu3cwqCJ\nUqZPYaYkD1t3BbiMrMqzDZkgx5bCmifgLlM53x4uPVg8UUqFfGjLpTHu69PX89Lel0jwT2hh1I1E\n3wjbXofKPHCzrhKhkbwk+GMeRN0Ity9vEiYb0FIhsavYBbuiK6tHrNVK3wEBBCc7FFZKr21Ltnfw\n4MFcuHABFxcXNmzYwLRp00hNNaPr0wWsYtgFQZgIfAzIgW9EUXzHGvPaME9+2lnOHdjD8Jm34eLp\nZdw+eNLNJG5cw9H1v7WQLfUNccVOKTfZ5hXgxO2vtt7tXlOvo7KknoriWmPVa0VRLaqiOsaKeuTN\nAnwR9nIi7OXoRZF1FTpUhbWoCmstfk+CPJAd3y3n5F4vPP2cyTkrpW0eWnOe6CH+Fs/zlyGqQSfn\n3KYWLoYglyC+vVGqUH3oj4f4asJXDPDpnnS/DekbeGnvS8T7x5u4X1oQPVEy7Kl/QPy91r+Q+kr4\n5V5w8oFpX5iqTXYCS1bW5atTqTlcAAoB9CJOA3zwnN519c32ZHubG/rJkyfz2GOPUVJSgo+PT5fP\n3UiXDbsgCHLgM+AGIAf4UxCENaIoXr4I0FWMKIrs/nExjm7uDJlq+kfj5uNLnxHXcWL7ZobfcjuO\nLq4m+9V1OryCnHEKq6H2grPRj90aSgcFPsEu+AS3zCXXVagp+iwJQ2VT0MmhjyeeM6N5xF7edEMo\nrkNVJN0QKorrqCqtN3suhUMC2pq1qPJOUFXSlNpZWSzpzgOd0p6/YnH1h6BBkqEc/WyL3UEuQcYK\n1Yf/eJiFNywkxreVdnOdZGPGRl7c+yKD/Qbz6bhPcbrY/98cv76ShO+5bjDsoghrn5K0Zu5df8mq\nUfXVWpyHBeI8NICawwVWCaBaIttbUFCAv78/giBw+PBhDAYD3t7Wfc/WWLEPBdJEUUwHEARhOfA3\nwGbYu4GMxCPknD7FuPseQenY8ouYMHUGp3dv5/gfGxg+Y7bJvvveHQlI6VZ/m9N6Kb8l1J0objLq\ncmnFU3+uHHWaCqdBfngFOeMVZLmaoMFwHYufOQokg6K/sZAKwNXbgUmPWteoXRFET5QkA2pKzRqz\nQJdAY4Xqw1se5qsbvrKacd+UsYkX9rzAIL9BfHb9Z20bdZDSL6MnQNJPoK0HOytWBB9dAsm/wrhX\nIOwa683bDj53N0kXK6dZRyd/3759LF26lJiYGOLiJCG+i2V7V65cyRdffIFCocDR0ZHly5dbvYOS\nNbJiegDZzV7nNGyzYWUMBj17flqCh38gA8dPNDvGNzSc8Lh4EjetRaexTgrXxaizKqnYmInM1Q7n\nYQH4PR6H42A/BHsFZSvOUr4qFVFrpkNPG8hkchKmTEdVkIlMlmeyz04pwzfYtZUj/8JE3wiIkjJi\nKwS6BLJ44mI87D14eMvDnCg+0eXTbsqUjHqcbxyfX/95+0bdeL0TQVsLmXu7fA1GCk5J3ZUixsJI\n8yvcvxKNsr0nTpwwpjNOnjyZuXPnMnfuXACeeOIJkpOTOX78OAcPHuTaa69tZ9aO0+VGG4Ig3Arc\nKIrigw2v7waGiqL494vGPQw8DODv7x+/fPnyLp3XEqqrq3Ex04Ltr0rJmZNc2LGZiAlT8ezVuipg\nZU4WqWt/JvS6Cfj2G9hif1c+F5kWQvbJQIDsaw0YmietGMArTcArXYbaRaQgzoC2A6cx6LScXPoV\nouiPc8AM/PpDUTIYNNB7Wvdn5l7yvxfRwDUH7qfCvT+n+7fMZGpOua6cBYULqNZX85j/Y/S079mp\nUybWJLKkZAk97XvyqN+j2Mvalwlo/Fxkeg0j9t1FfuB40qIsb+rcGnJdHfFH/4lcX8uRhI/QKrum\nNuru7k5k5KXtUKXX65HL5e0P7ARpaWlUXKRiOnbsWIsabSCKYpd+gGuAzc1evwi82NYx8fHx4qVg\nx44dl+Q8lwJNfZ345dx7xB9eekY0GAxtjjUYDOL3/3pSXPT0I6JBr2+xv7Ofi8FgEIu/SxazX9oj\nqrMqWx1Xd6ZUzH1jv5jzyl6x+mhBh85xYOUy8f1ZN4nFFzI6dY1d4bL8vfz2uCj+X4go6jTtDs2v\nzhcnrZokDvtxmJhYmNjhU23O2CzGfhcr3rPhHrFGU2PxcSafy0+3ieKHA0Sxnb9Bi/j1EVF81V0U\nz+/s+lyiKJ4+fdoq83SEysrWvwddxdz7AY6IFthlayyD/gSiBEHoKQiCErgNWGOFeW0049jGtVSX\nlTL6zvva9cc1ap6X5+Vw/ujhNsd2hOp9edSfLsV9Yk+UIa27Rhx6e+H/5GDserhQ/vM5yn45h0Fj\nmWsmdsJkFPb2HFm32lqXfUVyOq+CmFc3k+07GtQVkHWw3WMCnANYfONivB28mbt1LklFSRafb8uF\nLTy/+3kG+g7k8/EdcL9cTNQEKchZfKZzxzeS9BMcXyblqUdc17W5bLSgy4ZdFEUd8ASwGUgBfhZF\n8dKXzV3F1FVV8ufvK4kYPISQfpYFz6KHj8TN158/1/5qlWvQZFdRsTEDh75euIxsP49Z7m6P74MD\ncR0XQu2xQoo+TUJb2Ho+fCOOrm7EjJ1Ayt5dVJWVWOPSr0ieWp5ElVrHYwfcpB6g5johmcHf2Z9v\nb/wWH0cfHtnyiEXGfeuFrTy/63lifGL4YvwXONt1oEXexTR2ZbLwes1SdAbW/1Pqv3rd852fx0ar\nWMVxKYriBlEUo0VR7CWK4lvWmNNGE4dWr0BTV8eo2+dYfIxMLif+pmnknT1N7tmuNXw21Oko/SkF\nuasSr1ujLY7gC3IB9wnh+Nw/AEOtlqJPk6g50n6fy/ib/oZoMHBsw9X34Bf+wnrCX1hPapGk6XOy\nWM9uTW/S9ll+A/Z39mfRhEX4OvnyyJZHSCxqXcNl24VtPLfrOfr79O+6UQepOClgoJT22Bk0tbDy\nPqnydsbXIOse//T/OjatmCuciqICEjetp/+Y6/EJDe/QsTFjb8DBxZUja1e1P7gVRFGkfOU59BUa\nvG7vg6wTaosOUZ74PzkYZYgr5SvPUfbz2TZdM+5+AUQPH8GJrRtR17a/yv8rseHJkQS4mwYstxkG\nEynL462l6ziebVnpfOPK3c/Jj7lb5nKs8FiLMdsubOPZXc/S36c/X47/EhellQLD0RMh+yDUlnX8\n2E3/gqLTMGMhuAVa53pstMBm2K9w9i5fikwm49pb72x/8EXYOTgQN2EyaUcOUZbXOSGimgP51CWX\n4j4xHPswt/YPaAW5mxKfB2NwvT6U2sQiij5JRFvQutEecvNMNHV1nNjahUf+K5B+Qe4mFbsA2w1S\nvrPuzCb+9tk+46o+4c0tfLo9ldJqtbmp8HPyY9GNiyTjvlUy7sW1xdy76V5Wp67m2V3P0s+nn3WN\nOkjuGNEAads6dtyJX+DY91JaY+R4613PFUJ9fT1Dhw4lNjaW/v378+qrLQX51Go1s2fPJjIykmHD\nhpGZmdkt12Iz7FcwhelpnNm3i8GTb8bVu3PlxnE3TkGuUHC0E8FITU4VqvXpOPTxwmVk10sTBJmA\n+w1h+DwQg6FOR9FnSdT8WdCYTWWCf0QkoQMGcmzjGvS6q0svpqKh2cm7M2KI9ndB7RKK3juaB/1T\nCfFqKukvqdbw/h/niH9zq9HYz1p4gI0n89HpJV0ePyc/vr3xW/yd/Jm7dS7/PvhvjhUe49X9r9LP\nuxuMOkDQYKn0vyN+9pI0WPc0hAyHsfOsez1doKqqisWLF1NVVdXluezt7dm+fTvHjx8nKSmJTZs2\ncfCgaVB80aJFeHp6kpaWxjPPPMO//vWvLp/XHDbDfgWz+6clOLi6MXTarZ2ew9nDk/6jryd59zZq\nVGa627eCoV5H6U9nkLvY4XlrNILMepVxDpEe+D81GGWYG+WrUilfcRaDuqVrJmHqTKrLSjn020o+\nuXcWxRcyrHYNl5MRUT6Eezsxe2gofzxzHYfnjUfeeyI9VEfZ89QQMt+5icx3bmLLM6O5c1ioybGH\nM8p49MdjRM7baDT2/91UQG51LnW6OnZk70Bs+O9EyQnG/DzG+m9AJpNW7WlbQa9rf7y2HlbeC3I7\nuGVR9zXf7gS7du0iKyuLXbt2dXkuQRCMdRBarRatVtsiHvX7778zZ44UK7vlllvYtm2b2YVNV7ly\nPmEbJmQeP0bWySTG3PMQ9k5dC3jFT5nOie2bSdq8jhGz7253vCiKlK9KRa+qx/fhgci7QTpX7qrE\n5/4BVO3IpnLrBTQ51Xjd2RdlYNN7DY8djE9oOIdWr8Cg07F+wXvc+8EXVr+WS4koiiRmqbi210US\nAtETYf8COL8D+t0MQJS/K29Nj+Gt6VImlN4gsjWlkMX7MjiY3uTfXnY4C0HxHPb+v6NwTUYQQC4o\nGRdyPS8N76ask+gbpT6lOYchrJ3KyT/mQcFJuH2FJMV7Cdi4cSMFBQWt7s/KyjIxqEeOHOHIkSMI\ngkBoaKjZYwICApg0aVKb59Xr9cTHx5OWlsbjjz/eQrI3NzeXkBCp2YpCocDd3Z3S0lKrCoCBzbBf\nkYgGA7t/XIybrz+xEyZ3eT6voB5ENmieD/nbLe2OrzmUT93JEtwmhmPfija1NRBkAm7Xh6IMd6Ns\n+VmKPkvCY2oEzkMDEAShRbPu0pxsPpgtNTr+54p15qa84smvqKeoSk1cyEVVliHDwMEdzm02GvaL\nkcsEbuwfwI39A4zbymo0LDucxZL9mVTqXAAB0SBHJ2hZn1TGr5ulXqGjo325b0Q410X5IrPG01fE\nWJDZSe6Ytgx78m/w5zdwzRPQ27wMxuUgKCiI8vJy6urqEEURQRBwcnLC07NrTcPlcjlJSUmoVCqm\nT5/OqVOnGDCgSZnT3Orc2joxYDPsVyQpe3dSfCGDyX9/FoWddVbLQ26eSdqfBzm1Yws4th4E1eRV\no1qXjkNvT1xHX5rVlUMvD/yfGkTZirOoVqehTq+golel2bFuvn5Me+6VS3Jd3UFSQ9ZLXOhFBkSu\nkAKKqX9IvUUtlK31clby+NhIHh8bydM71uHjOItY94l8fvQHMhRNK9bd54rZfa6p6bkgwH3X9mTO\ntWGEeZt/IjydV8HshQd5Lt6MmXBwkwz6uT/ghlZ6dpZlwJq/Q494uL5lILE7aW9lDbB27VqOHTuG\nQqFAr9fTt29fpkyZYpXze3h4MGbMGDZt2mRi2IODg8nOziY4OBidTkdFRQVeXl5tzNQ5bIb9CkOn\n0bB3xVL8evaiz7WjrTZvUHRfgnr34+j634mcYT7DxlCvo+ynM8icrO9Xbw+5ixKf+wZwZuEfGJIK\nUR9R4aH0Q6UpMhlnZ2+Pb1jndFKuBJKyVSjlMvoGmqncjZ4Ip1ZBfqJkDDvIR2M/Mv4+tW+TnIhG\nZ2DDyXwW7880plOKIny7L4Nv9zXFLSL9XLhvRDjTB/XASakwFlF9eVzPPeYeIqInwuYXoTwTPMNN\n9+k0Ur46AtzyLSg63l2ru6mpqSE+Pp6EhASOHDlC9UX9gjtKcXExdnZ2eHh4UFdXx9atW1sER2++\n+Wa+++47rrnmGlauXMm4ceNsK/b/BZI2r6OqpJgb5z6F0MVmAxczZOoMfn//TcrPn4NxptrmoihS\nvjoNXWmd5Fd3uXRfRINez9ZvPuPkdqnoxdchmOG+N3Nj6H2crNxDoTKH4TNv5+CqZdRXdz174XKS\nlKWifw837BVmCnMix0u9Rc9t7pRhbw2lQsa0QT2YNqgps6mwsp4fDl5gyb5MqtRSADStqJp5q08x\nb/Upk+PzakTCX1gPQOY7NzXtiL5RMuzn/oBhF4mCbX1Van49a2lLo3+FcNtttxl/t8ZKPT8/nzlz\n5qDX6zEYDMyaNYspU6Ywf/58EhISuPnmm3nggQe4++67iYyMxMvLi+4SQ7QZ9iuI+upqDq3+mfDY\nwYTFxFl9/l7xQ/EMCqYw6U9E8RGTlULN4QLqjhfjdmMY9j27z6/eHHVtLav+7xXyU88at3n4BzLz\njbdxUDhT9vM5Ys6NYuhAHzwHR9Hn2lGX5Lq6C63ewIlcFbcPNR+cw8lL8rVfgt6i/m4O/HNCb/45\nQVIJFUWRoxfKWbwvk/Un81uMD/Zw5Ks5F91svHuBd6R0vc0N+5kNcPBzGPpwq/GCq5GBAweSmNiy\nCviNN5pcVQ4ODvzyyy/dfi22dMcriEO//Ux9bQ2j7ri3W+YXZDISpkyjtqSQ7OQmXW9Nfg2qtenY\nR3ngel1It5y7OarCAj6591Y+vW+W0aj3ShjGU0t/5YEFX+Ps4Sm5Zu7tj9vEcOpOlVD4SSKa3K49\nKl8OTlXVErX7BKerajlbUEW91tAycNqcqAmQfxwqWxrX7kQQBBLCvfjszsFkvnMT4d6mImFKhYx+\ngWZu+NETIXMPqBv+bVRZ8NujEBgLE968BFduwxw2w36FUFlSROKmtfQbNRa/8IhuO0+/UeNQODoZ\nxcEMah1lP6Ygc1TgNbt3t/rVc84k88HsKSx68kE0dXUADJs+i38sX8u0515BoTR1/wgyAbcxIfg+\nPBB0Boo+T6J6f1635P12F4+evkCV3sCjpy8YA6eDQtrIvIhuyBxJ7aQWi5Uor5GatNwaLwXQs8pq\nqTMnAxF9I+g1kLEL9FpY+QAY9HDLYlC0r/Vuo3uwuWKuEPb//CMAI2bf1a3nUSiV+MUMJvPwXooy\n01Ec1KArrcPnwZhu86uf2rmVzV98ZLJt0hP/pN+osRYdbx/ujt+Tgyn/5RyqNedRp6vwnBmNzPHK\n/fMN2GGquni2Vs0LJwuQK2Um1aUtMPYW3Qzxlou+WZvZQ0NZsi+TN6cPIMBQzKdJap5ekcjnd8Yj\nb37zD70G7N2knPZf7pWM/MxFkpvGxmXjyv1m/I9QmJnOivnPo1XXkzB1Bm4+ft1+Tt/+sRQfP0L6\nij0El0fgdkMYDr261r2mOVVVVaxcuZIego6TG3832XfbG/+hR+++HZ5T7myH9z39qN6bS8WmTDR5\niXjf0QflFdoyb9nAntx+wrRS1r5SS3yoZ9tZEMbeosus31u0AyRlqegXJAV54/0VvHJTL95Yd5q3\nN6Tw8pSmXqHI7aDXODj9m/Ta3h1i2q+VsNG92Az7ZWbjJ/9Bq64HQeiSdEBHUDg4Ej9iKgHnQ5CH\nO+E61np+da1GzeIP36dMD3nlxTgADi6u3PX2R7j7+XdpbkEm4Do6GGWYG2XLzlD0xXHcJ/XEZUQQ\n2vwaiheewHfuQJSBl7cdYrVOz1vpBQiA0WmkNaCv1nJNuAU5y9ETpaKeC3svi1iWTm/gZG4Fs4c0\n/V3cP7InWWW1fLM3gxAvJyYNCOCJn46xomASJrcpdQW81uCLf820rZuNS4fNsF8mGisojYginz9w\nO9D9VZWCDnpW9KFGLCfb8SSBsq6n1lWXl/H+Rx9J6XoIIIDWyw+tlx91CkWXjXpz7MPc8H9yEGW/\nnKNiXTrq9Aq0RTWIaj1ly84S8A/rpQp2FJ1B5JHkC6TU1OGukOGvtOPp8AAe3y0Fif9TXsYdai3+\n9m0UnoWPkvTKz22+LIb9bGEVdVo9g0JNn+JemdKPotIy9q7/nrB9KSyoPoDZhw+PULht2aW5WBtm\nsQVPLxN3vbsA11bcLh/MnsIHs6eQuGktosFg9XP7nhYwlGvI87tA0q71XdI8L8w4zwezp7Bw7j04\np51EXtlSaMzFxYUffviBjRs3cujQIVJTUyktLUWvt6xdnjlkTpJrBqD+dCn6knoAdEW15Lywh5wX\n9nR67s4iiiIvp+WyraySt6OCOTNqILuG9WW6vycveknaMAZ3JbH7kzlW0cZnbucAEWOkNMLLECi+\nOMjrUFcIh79G/tMtfJg5na/tPiC+egdHDVE8q32E84YA08u0c4KAAWZmvrqxRLZ3yZIl+Pr6EhcX\nR1xcHN988023XIttxX6Z8A+PwM6+7ayB7YsXsn3xQuNr3/AIJj3+D3w72HCjOTVHCnHLk+F6fSh9\nIoM4cmQtx7dsZKgFGjLNST28nzUf/J/JtvF338/p0kpSU1ORyWQYDAYCAgLw8vKirKyMrKwsNBqN\ncbxMJsPDwwMvLy+8vLzw9vY2/u7h4dFu93dBEPCZO5CSL0+YbJd72OM9p18rR3UfC7OLWZJbwmMh\nftzTw1TUKSlbRaSfCyN6+rMwp5jJx1JZ0DeUWQGtuGaiJsDZDVB8Fvz6XIKrb+L4hRLGOZ0n5Nhh\nOLeZ4cUNHbi8ItDH38+H+ZF8nuGPtsF8PCtfwQVFGCd7PczYgiU41pZz8b9cUWU9TyxL5NM7BuHn\nenniBuZQq4s4deopBgxYgL29b5fmapTtdXFxQavVMnLkSCZNmsTw4cNNxs2ePZtPP/20S+dqD5th\nv4yoa6rxDg41qaqcu3ApWo2aAyuX8efvK03GF2em8/1zT5hsi58ynRGz7sTOvunLUl1exvqP32PK\n0/9CFEXj70q1EtXvadR6ifS4PhR3mUDogFgSN64h/qa/IVe0rUsjiiKHf/uFvcu/N9k+88XXCY+T\n3B8Hv5DUF++8805SUlKorq5m1qxZxuOrq6spKysz/pSWlnbJ6F9s1AEEpbzb/OxVVac5euwO4gcv\nx9W1yeBuKFbx+vk8pvi683Iv085AoiiSlK1ibB8/Xo/qQYyrI0+kZPFkShbHK2t5K9qMJk/z3qKX\nwrDXlsH57XBuLZmUBAAAIABJREFUEy+nbMJNrIIDCgi7ljS3a4ic9Dj4ROIElKw+iS4jy3jocM3n\neCjsqDypxSC+DkDYf3YQF+Jh/Pn5SDZ/ZpaxYGsqb063rG/vpSAj41NUFX+SkfEJffq0onljIZbI\n9l4qumTYBUH4DzAV0ADngftEUbSst5cN5i5cavy9eVWlndKe0Xfcy+hmhUolWZls+uIjCtPTTOY4\num61SRMNeydngnr3JedMMgdW/gRI+eMHf15G/5phCPZyCgdqiW5IWRsydQar3n6VlL27GDDGvD9X\nr9Ox+YuPSNm702T7vR98gXewaeC1Z8+elJaWEhERQa9epilvgiDg6uqKq6srYWFhJvtEUaSmpsZo\n6Jsb/ouNviAIeHp64qqxx1khx010wsvdg6ARkQiHKjDUtd+YIz8/nyVLlnDfffcREBDQ7vhGkpP/\ngV5fRXLy0wwfLjWaOFZZw+OnLzDYzYlP+oYhu+jLnF1WR2mNxliYdEuAF72cHJh09ByLcks4VFHD\n1iG9TU9k7C26GUY+bfH1WYwoSk8D5zZJ58g+BKIeg6M3f+gG4dR/MpOn3QEO7uTs3EmkT6Tx0JJq\nNTJBQN/M/6JqaB6ikAk8e2NvkrJUHEwv5fekPJPT/nAoix8OZWGvkHH2zfaFujrLuXP/pqq69V6/\nKtVhmoW2yc37kdy8HwEBD4+hZo9xdelLdHTbAnTtyfYCrFq1it27dxMdHc2HH35olPG1Jl1dsW8B\nXhRFUScIwrvAi0D3tAT5H8cnNJy73m7KBRcNBo5v3cS2RZ+bjFPX1pCReASA41s2GrfbHRfRutSw\np2QVQSOnG7eHxQ7GNzScI2t/pf/ocSb6NHXVVfzyxksmDS58QsK4df7/4eRmXnagrKwMLy+vDq9U\nGlc7Li4urRr95iv8kuxCitLzyZPXohX0UAtsOYwgCHh4eOD9Q5pxhd+44m++0v/1119Rq9WsWrWK\nxx9/vN3r27bd9CZVU5vKtu29KMKPt5Rf46u0Y0lMTxzlLcNWidlS3KF5xekgNydOXNufgfuTOVVd\nR8COJHKui0XRPEc8+kbY819pNe1kBQVAbb2UaXNus/SjuiBtD4iBkc9A9ET214by7OIjLI0fKskI\nm2Hh3QkUVdbz5oYU1lxkuHUGka92pxMb7M6dw8JwUspZdyKPpGwpQ0YuwJTYIObd1PGUV2vi5hZH\nXV0WWm05YABk2Nl54ujYityDhbQn2zt16lRuv/127O3t+fLLL5kzZw7bt2/v2psxQ5cMuyiKzcvj\nDgK2BNZLhCCTETdhMnETJlOWl8ORdas5uW2z2bFhLv2JcB3I2Zo/8R4SQdm5FFR9++Du5y+Vkt88\nk42ffsCCe2/ljn+/j9xOyXfPPoahWXAz+ppRTH7iH+26a8rKyvD17ZqvssV7bWb0Q0NDMWj05M3f\nD4TgfV9/9D2ULVw75tw7giC0qFotLi7mtddeA2DMmDEm+0TRQHn5AfLzfwXsAdPeozr7KD6VvYtO\nJ/LjwAh8leY/m6RsFQ52MvoEmObc+9nbceG6gYTtktxJwbuOkzJyAJ52DV/L6Imw+z+Si6SzueGV\n+VIV67nNkL4TtDWgcISI66QngagJJs0vkranAjAwuO26Bj83B1ztFQiCaXz3rekDSMpSkZStYue5\n4haxX70IvyflselUQbeu2NtbWQOcOfMKuXnLkMnsMRg0+PlO7LI7ppHWZHu9vZsarDz00EPd1hrP\nmj72+4EVVpzPhhma+89VhQUcWbuKtCOHkCsUDBw/EVVBPlmnjhvHu9p5Ee89gaK6LNK0x1Hvr0Gr\nrmfRtvU4uroRGNUb/wjpMVunVvP98383Od+1s+5k+IzbLFqBGwwGysvL6d27d7tju4Jk1MExxgfH\n3tJKttHoN6f5Sr/xJycnh8zMTAzNso08PDy47bbbOHPmDAC1tZnkF/xKQf5q6tV5KBSu9AiaQUnp\nHtTqHAB0KHhf9xBZIqyI7UmUc+sBwaRsFQN7eKAws5q3l8nIHxNLwoHT5Kq19N17ip1De9PH2dG0\nt6ilht1gkGR/z22Wjstv+FtwC4bY26SbRc9RYGe++jUxS0UvX2fcHdvvA1BSrebOYWHcPiSEmz7Z\nC8C81aeMCpCV9Vp2nS3mxV9PUqPWISI1C/Fztef3J0ZY9n66EY2mhB497qBH0O3k5i1Doy5u/6A2\nsES2Nz8/n8BAKQazZs0a+vbtnicXoT3dDUEQtgLmnJDzRFH8vWHMPCABmCG2MqEgCA8DDwP4+/vH\nd5dcZXOqq6uNwYyrhQu7tlBy+jgKRyd0dbXI7R3wHRCHg5sHpWeTqcrLBpkMr6i+yPPrGOM1E4Nc\n5KByNzX1ZURMuJnS3GzEKhU1hfmUnjnV6rniH322Q9dWV1fHoUOHiI6OJigoqKtv1Sy+yQLu2ZKB\nTJvYuXTJw4cPU1tba3zt5OTEkCEx1NfvRWl/FEgFBKA/gnAtAoMQBCV6wz8AZ0TyWMgT7BHG8jg1\njBJa9+lrDSKPbqllfJgdt/VpW7LhM9GJPUhj/kkNQwQtvc98jE/JYfZf+z2izHyWkFxXi2f5cbxL\n/8S79ChKrQoRGZVu0ZR6D6HUO4Ea5zDMJ503IYoiT+6oZaCPgocGNmVsWfI9qtGKPL5N+kx7uct4\n5ZqmG8d3yWp2ZutQyEBngDEhCub0t76OjLu7O5GRke0PtCJ6vd7o3jt16hRz5841yvZOnz6dF154\ngTfffJPBgwczefJkXnvtNTZs2IBCocDT05MPP/yQ6Ohos3OnpaVRUWFa5DV27NijoigmmD2gGe0a\n9nYnEIQ5wFzgelEUa9sbD5CQkCAeOXKkS+e1hJ07d7Z4vP6r8tFd09FrWxoQmVyOV1AwJdkXcPHy\nJn7y34i5fiJ2CnvyXj8AehGZhz1BLzQFhJp/LoWZ6fz23htUl5YY9zd2KepoQ4vz58+zdOlS5syZ\nQ8+e1m+Gob5QSfEX0go06NVrOq0V8/777zc0VRAJC6vDxeUkPr5ZGAz1ODn1IjBwJgEBf8PB3nxQ\ndd6xVSyq6MU9Tkd4b9iDbZ4rKVvFtM/28fmdg5kcE9jmWIBFOcXMS80F4NnwAJ6tPQi/zAH/AXDX\nr+DaUOhVlt7kK8/cCwatVM4feb20Ko8cD87ebZypJdlltYx6bwf/njaAu4c3xTks/R6l5Fcy6WOp\nfuDp8VE8PV4yWI8sPYKvqwN3DA3lp8NZFFfVs/Dudm1Th0lJSem2FXBrVFVV4eraPbIW5t6PIAgW\nGfauZsVMRAqWXmepUbfROR78ZBG7li7i7IE9xqIlQSYz+sEnPvYMfUaMRq6wa1GcY1CpjduC3zHV\nNPcPj0DpYPpY3tkuRWVlUoPl5n5EayFq9Uaj7n1v/y4JgD322ExW/Pw0fn7pODjUolC44u8/g/y8\nngwfdl+bbqeVBWUsqujFKHEHE2o+Bdox7FktA6dt8UCwL72dHbgl6TzvZxZwyqUnSxCg8BSse6pB\n/3wzlJyTDvCJhuFzJWMeMkzSbukkicbCpM7pBvUNdOPj2+J4ankSH21NJTbEg7G9/UyM+JvT/vcK\nly4HXfWxf4oUVdrS8GU4KIri3C5flY0WuHh6cWb/bpNIVaOBLy/Io/911xu3+z05iJLFpzBUNa3w\nZS52+Dxg/ktlLp++M5SWlqJQKLrF/ZX7iuRXd+jnjWOfjmeI6HRVFBZtID9/FRUVRwkJESgvDyQh\n/m18fG5ALrenIH9nm0Z9f3k1z5zJZoSHCw+Wf4kAVFaewM1tYKvHJGWr8HO1J9Dd8qKckZ6uHBre\nF///BONgaAr+crYhy0mQwcR3JbEwL+tJPCdmlZsN8naEv8X14M/MMn44mMV9i/9kz/NjCfFyav9A\nG1alq1kxl9ah9T9OeOxgVAX5VBQXIur1CIKM3iNGM+buB0zGKYNcEBSmgTpDtRb1ORV2/i0bF7eW\nT99RGlMdZVZu6adac974u889lleUiqKe8vKD5Oevoqh4s9HV4up6L1u3VBESEoO/v2Ut0dJq67n/\nVAbhjkoWDQhHV7mQ48cfIOn4/Ywe1bpbMSlbxaBQjw6nf4Y52lP7ZBKrfnqSm4p34SBqEeVKhD43\nSUbd1XraO82vNaaHu9kgb0d4c1oM21OKyKuoZ9R7Ozjz74k42LVdRWzDuti0Yv5CzHzxdUIHxCIa\nDMjt7BARsXd0xNmjZeMGg1py0biMCkLu6wgKgYqNGZR+fxqZpsVwq9Bo2K2JOquS6v1SrnTQ/OHt\njJaorc3g/PkP2Lf/OhKT7qGkdAeBgTNJSPiV4cM2U1gQh0bjRFRUlEXzlWh03Hk8HYUg8MPACDzs\nFPh4jwFAqy1vtfFHWY2GzNJa4tpqrNEGTh49mBESgp2oo16mxKDXUmnn3i1GXaMzkJxXabHLqD32\nv9j0BNnnlU1/qeYoVwM2SYG/GLUVKmJvmMTA6ydyYtsmaspbim4B+D4YQ9GCROzD3PG4qZeU+ncw\nH9W6dEIyZaijK7APt15v0+5IdRS1Boo/b/Cr39MPmVPr/mOdrorCwvXkF6yiouIYIMPbexRRkS/i\n4zMeubwpCyM1VcrVtiSDok5vYM7JdAo1Wn6NiyTMsWkeN7c4KiuTyMldSkjwPS2OPd7gs+6KsRRq\nipEn3M9LbjfQ58wy/HLO415exUhP6wbsUvIr0egMDArt3E3IHJnv3GRsgt3zxQ2mjbBtdCs2w/4X\n42/PzjP+Pv6Bxyw+ThAEXK4JQhnqRs6iYxR/dQK3CeG4jg62Sju8iooK9Hq9VVfsua/sA8ChtyeO\n/VoGZEVRT1n5AfLzV1FcvBmDQY2TUySRvZ4nIGAa9vbmV7aVlZVA+0Fegyjy95QLHKus5ZsB4Qx2\nN3VjxQz4hH37R3Hu3OtmDXtitgqZAAODu3ADvU3qrPUu8N/QQbyYUQBJ53kzqgcPBluvECzJCjch\nc5x7cxLRL0uxgb6vbCLl3xOtOr8N89hcMVcrrfh0lT1cyL7WgOMAHyo3ZVKyJBl9ddd9M40ZMdYy\n7Kp16cbffe4zDfpKrpb32bd/NElJcygt3Ulg4K0MSVjN8GGbCAt7pFWj3pz2/N5vns9nXXEF83sF\ncZNvS4Pn4NCUq6/VVrbYn5StItrfFWd766yf/hEewHcxUrbSy6m5PHb6glXmBSlw2tEgryUoFTIO\nvSS5Zeq0ep5clmjV+a9E9Ho9gwYNYsqUlvEbtVrN7NmziYyMZNiwYWRmZnbLNdgM+1WOOdemqACv\n2/vgMT0SdbqKwgWJqNO71u3GmoZdk1NF9V4plzvwFcmvrtNVkZu7jCNHb+XAwfFkXliIi0sfBgz4\nhJEjDtKn9+u4uQ20mpre97klfJ5dxJwgb+aGtL4yDgt9BICUMy+abDcYRI43BE6tyY0+7uwaKqk9\n/lpYzsB9p6ziv07KVhEX0vEgryX4uzmw4mHp33HN8Tx+PGS9G1JXKVRrmXYslSJ1+8JxlvLxxx+3\nmk+/aNEiPD09SUtL45lnnuk2SQGbYb9Kae/7KQgCLsMC8XssDplSTvHXJ6jcnoVo6JyRKCsrQ6FQ\ndLlYQ9QZyPtqJ1kJ/4fL7d6o6g9yKvlp9uwdxpmzL6PTVRHZ61+MHLGPuNhF+PtNNvGft4darW53\nzPbSSl5MzeF6Lzfeigpu09hFRDwDQHHxJpPtGaU1VNRpre7aAOjt7MCZkdJTTJFGR+DO46i70JCl\nvDHIa+WbUHOGRXjzcoPw17zVp/j1WA4xr27mdP7lbZ/338wCDlXU8EFmgVXmy8nJYf369Tz4oPn6\nht9//505c6Qm5bfccgvbtm3rlsCyzcf+P44yyAW/v8dRvjqNyj8uoM6owGt2b+QubZe/X0xpaalV\nUh1zX95H0YDl1HmeI7F8FobSOhQKd4ICZxEYOANX15gurSozMiSlyoslhRtJrq7joeRM+jo7srB/\nmKnaohlksqaAbmXlSdzcJK3xpKxGn7X1gpHN8bBTkHNdLMG7pOBy2K4TJF3bn4C2Wu61QlKOacek\n7uLBUREcOF/KtjNF/ONn6bqfWpbEln9cZ/VzvZKaw6nqulb3H1TV0NycfpdXynd5pQjAcI+WKcEA\nA1wc+XeUGe38Zjz99NO89957VFWZrwXJzc01yvQqFArc3d0pLS3Fx8fH7PjOYluxX/W0vxqQ2Svw\nmt0bzxlRqDMqKfw4kfrzHZPVt0aq4/ZtfTk74V6qgg6CAAaD9MU0GOrp3fs1q7ha2sqIKRMF7jqR\njptCztKBPXFRWJZ7HTtQam+WdPx+47akbBXOSjmRft2nVaSQCRSMjWOgq1Q5HLc/mWOVHW9zmJRl\nhSCvhWw7U2TyOrWomvAX1huzZy4Vg90c8bGTGw2gDPCxkzPYzbw4miWsW7cOPz8/4uNb77lrbnXe\nHe4v24rdBiD9cTkPDUAZ6krpjymUfHMSt+tDcR0X2m7WTGOqY2tiRpagyasmYtd7FPVeTlXgYcCA\nTOaAr++NREW+2O7xlpKWJjUquTiHvVqn5z2cqdTpWTM4ikB7y59YfHzGAqDVliGKIoIgkJStIjbE\nA7kVMo7a44+E3sxPzeWrnGImH22n5Z4ZEq0c5DVHtVrH8sNZeDsrKa0xDdYHezjy1RzrNiBvb2UN\n8PzZbJbmlWIvE9AYRG7y9eDd3p1verFv3z7WrFnDhg0bqK+vp7KykrvuuosffvjBOCY4OJjs7GyC\ng4PR6XRUVFRYvfYDbCv2q5dGe9JB951dgDN+TwzCKc6Pyq1ZlCw6ib6q7ayZyspK9Hp9pzViRJ2B\nogWJKDQeOIUHGi/aYFCjkLt0uRdlcxrV8ppfq84g8kjyBbKQ83X/cPq7dHzV5uYqyQrk5v5IvVZP\nSr71in0s4Y2oHnzSV5ItfjIli3nncjhVVUvU7hOcrmpdxkkUpSBvd11rUWU97246wzVvb+PN9SlE\n+bsQdFHmjaNSTr/A7n9auJhijY45Qd5siI9mTpA3RRpdl+Z7++23jbLQy5cvZ9y4cSZGHeDmm2/m\nu+++A2DlypWMGzeuW1bsNsNuowUyezmes6LxvCUKTVYVhR8foz7NfCEUSP516HxGTGO+ujLcDYNr\nDUFBs5DJHHByikCj6ZpGdms0fplEUeTltFy2lVVyP3WM83br1HwxMZ8BcPbcq5zKrUBnEC+pYQe4\nNcCLjfHSU9Oi3BJuOnqOKr2BR9tIi8wo6Z4g7/nial5YdYKR7+5g4a7zjI7y5ffHR7D84WvQGUSi\n/V349PZBRPu7UGFBK8PuYHFMT97pHUJ/F0fe6R3C4hjrK5ICzJ8/nzVr1gDwwAMPUFpaSmRkJP/9\n73955513uuWcNleMDbMIgoBzQgDKkAbXzKJTuI4Lxe36lq6ZrqQ6VvyRaXyq8H1kIH6C1AxbFA0U\nFW1g6JDfuvQ+2mNhdjFLckt4LMSP0TnnOj1P85z2XWelVM1gr877azvLILcmwS11w+d6tlZNwI4k\nAArGxpmMbyxMslbF6dELZXy5K52tKYUo5TJmDQnmwZERhPs0BSQPz2vqrTsltnt0+y83Y8aMMUod\nv/FGU1cmBwcHfvnll24/v23FbqNN7PwbXDOD/analkXJNyfRV5qmDHY21VFbUEPV9mwAAucNM3kk\nDQyciV5fQ1GR+XZ/neHiVMd1RSpeP5/HFF93Xu7VvlZ6e4SGPgTAL39KTZR/OpjV5Tk7w9aEaHpc\nlB0TYm/H9oSWMRBrBHkNBpEtpwu55Yv9zPziAH9mlvH3cVHse2Ecb06LMTHqNi4NthX71UqjkbRC\niqxMKcfr1mjsI9xR/ZZG4ceJeM3ujUO0tMrrjKqjqDdQ+NExALxu643c1TRY6eGegKNDKPkFqwgM\nnG5uig7TWOUXERHBsYoanki5wGA3Jz7pG4bMCn7OKUtiUesWGF//cCiLHw5loZAJrP37SKL9XS9J\nMHWAqxO1etO8die5jH6uLeVzE7NUDAzuXJBXrdPzW2IuX+1O53xxDcGejrw2tR+zhoTgpLSZlsuJ\n7dO3YTHO8f5NrpnFp3AdE4Lb+LBO5eHmvirpq9uFuOIU59divyAIBAbOID3jI+rqcnF07NHl609N\nTaVGac/XoQMoOZGOn9KOJTE9ceyiTG0je54fy9+/fZejRbHoDHbIBKnHp1YvMunjPTgr5cQEuxMX\n4klciAeDQj3wd7NuCT/AD3mllOv0uMtlyAQBrSii0rVsI9gY5H1odMc03SvqtPx0KItv92VQXKWm\nf5AbC24fxOQBAV2W/LVhHWyG/arHulVtdn5O+D0eh2rNeap2ZFOXrupwqmPl1gugk67L77HYVscF\nBEwnPeMjCgp+pWfPv7c6zlLS0tI4HN6XVFGGUi+lNfoqO99x6GL83BwI9h/G4QItdjItOtGO2Qkh\nPDAqgqTscpKyVCRlq1i0Nx2tXnr/Qe4OxIV6EBfiQVyIJzE93HFUdl67fEdpJf86l81YL1eWxkTw\n6OkLJFXV8uc1LXXsk/M6FuTNr6jj270ZLDucTbVax6goHz6cFceISO9uyeyw0Xlsht1Gh5Ep5Xjd\nEo1DLw+yVp9AL9PjprVs5aktrKFyq+R7DnxpaJsGwdExGE+P4eQX/Ep4+BNdMh5hu46jjh1jfK0R\nYdThM9jLBC5c1/rNpaNU63wYE7yS60L2kWb4nOJqNT19nOnp48z0QVJudb1WT3JeJUnZqoafcjac\nlEra5TKBPgGuDYZeWtVH+Lggs8BVcrqharaPswNf9w9HIROId3NibbGKIrUWv4v87olZlrXCy6ky\n8M+fj/N7Ui4iMGVgIA+PjqB/0KVPUbRhGTbDfrXSyTz2juA0yA+Z2APWgGxfORXyDNxuCEeQmzdC\nol6k8EPJr+55azRyt/Y1XgIDZ3I65TkqKo7i4dH5BsiHh/dj5upNZPgGoZdJK+LrvVz5sE9op+c0\nx8K7Ezj855tUVeUxvvdJgnvc0WKMg52c+DBP4sOaMlFKqtXGFX1Stoo1SXn8eEi6Abo6KIyGvvHH\n28X0sytQa7nrRDoucjlLYyKMVbODG7JkjlXWMtHX1BAnZqvo4eGInxl3kCiKHMooY+Gu8+w4W4ej\nXT53XxPGAyN7Euxpa3V3pWMz7Da6RIW+GoCA2DCqduagzqjE6/Y+KDxaGu28Nw4AYBfojHO8ZV2A\n/Pwmcvbca+Tnr+qSYfe3t0Op06EXZCgFAY0osqusiuTquhYr2a4SM+Az9h8Yzdmzr5g17ObwcbFn\nfD9/xveTPheDQeR8cTWJjav6LBWf7zyPvkGkLdTLyWjk+/Rw45XCYip0en4fFEmQQ1MgOsbVCYUA\nRytrWhj2pKyWhUl6g8gfyQV8uTud49kqvJ2VzIiy45XbxuDp3DH9oP9V9Ho9CQkJ9OjRg3Xr1pns\nW7JkCc899xw9ekgxoyeeeKJVwbCuYBXDLgjCs8B/AF9RFEusMaeNvwaNqY7Btw6kvk8J5avSKFpw\nDM9ZvU2aTlfuyEZsaNfn9+Qgi+eXy53w85tEYdEGoqNfQS7v3GpRo9FQq7Snf14GC6ZN4susIjaV\nVHDXyXTeiQ7m7iDriTA1D/TqdFUoFB1XvJTJBKL8XYnyd2VWglTmXqvRcTKnwriq/zOzjDXHpbaB\nogARAa6sVGWQ1mDww7ydcJTL6O/iyNFK0+rTfakl5KrqmDQgAJDcQyuP5vDNnnQyS2sJ93birekD\nmDk4mIP79ly1Rr2osp4nliXy6R2D8HO1TiC7Uba3saHLxcyePZtPP/3UKudqjS4bdkEQQoAbgMuT\ntGvjslJWVoanpycymQynWD/serhS9mMKpUuScRndA8cYH0q+PomokdLvAl5s269ujsCAmeTnr6So\n+A8CA6Z16jozMjKYePowERER9Hdx5JN+YVTr9DyUnMlzZ3PIrNMwwopuq9CQB8jKXkTKmXnEDFjQ\n/gEW4KRUMCzCm2ERkhyCKIo8fTyTX84UMFZmj65czc9HslmyPxMATyc74kI8UDrJOCbXc5Nax+JB\nvfCzt+PZlZK64vqT+bg72rFkfyalNRpiQzz4clIfbugXcElSMy83C7al8mdmGQu2pvLm9Jguz9co\n2ztv3jz++9//WuEKO4c1VuwfAs8Dv1thLhvWwop57G1xsaqjnY8jfo/FoVqfTvXuXKkRdUMGjOeM\nKBTulmunN+Lh0ZDTnr+q04a9Ufyruaqji0LyR7+UmsNnWUUcxYlr9AarpD/26vUcWdmLKCpaD1jH\nsF/MVznFrCivYG5CKK9FSk8JOr2B1KJqkrJVJGaVk5StIvWs5C5LPlLC0N/Om8yRX1HPB1ukitsV\nDw9naE+vqyLD5fW1yZzOM79iBjicWWbShKax5kAQYGi4+QrqfkFuvDq1f5vnbU+2F2DVqlXs3r2b\n6OhoPvzwQ6OMrzXp0l+wIAg3A7miKB630vXY+AthMBgoKytrKf4lF6g5mC/9rmv69pT/mkrOC3s6\nfB5BkBEQOIPy8gPU1eV26lob5XovVnVUyATejQ5mfq8gDqLk1qQ0SrooBgWmOu1VVcldnu9iNhSr\neC0tj5t83Znfq6ksXyGX0TfQjduHhvLeLbGcHexB3fWBaBJ80Ea5ofdQtrjX+7vZs+GpkQyL+N9J\nW4wL9sDbWUnjQ4lMAG9nJXHBndfMsUS2d+rUqWRmZnLixAnGjx9vbLphbYT2uncIgrAVCDCzax7w\nEjBBFMUKQRAygYTWfOyCIDwMPAzg7+8fv3z58q5ct0VUV1fj4tJ9ethXMnY1ELZHTsFAA9VBpv/G\n1vhc5PXgmqjhN/V+oqOjCfYNwqlEwKkYnIsF5FoBscGECEi/6xwgf7ABTSd0tkSxBIP4LwRhGjJh\naoeP37lzJwDXXXddq8ZrZ52eRQ5eeGLgBWoIEjrflQhAFJMwiJ8AbshlH3ZpruakiXLewIUQ9Myn\nGvs2bHG5KLAUR/bT6CMXcd9bgLqm6b0FOQv836jWYxd/le+Ru7u7WZ391nhjYyorE/Oxk8vQ6g3c\nOiiQVyZP3jvHAAAfH0lEQVRFtX9gM/R6PXK5lIH02muvsXz5chQKBfX19VRVVTF16lS++eabVo8N\nCwsjJyfH7P60tDSjGmkjY8eOPSqKYrtZBO26YkRRHG9uuyAIMUBP4HjDFyUYOCYIwlBRFFv0mRJF\n8SvgK4CEhASxUSCnO9m5cyeX4jxXIrqSOgr2HKFv3744DzKt7Ozs56Kv1FC6LAXvO/pSufUC56pO\ngxL6FPvhd0oOBpA5KXAY4IVDH08qtlxAX1IPSMbd0c2Ja2/uvO72sWOrqVcncs3w9zu8smw07GPH\njm1rEFMHRXPPyQzeEJUsjunJNR5dMWhj2Lb9E6CyzRtKR8iqU/PE0VQC5DJ+i7eswOrA2Wz255U2\nvBJQ66CnrzP/HB/Ngu2pqGq1bf49/FW+RykpKR3SK6pUG7hzWBh3DA3lp8NZFFfVd1jvqKqqynjM\nBx98wAcffABIn9n777/PihUrTMbn5+cTGCjpEq1evZq+ffu2ek4HBwcGDbI80aA5nfaxi6J4EjBa\njPZW7DYuMcY8dus52Ss2Z6DJqCT/rUMAVMqlTAunfBFk4PtoLMoQV6P6o2pdOgp/J1zHhVC1PRtD\nbdfkWQMDZ3A65fku57S3Rby7Mxvio7jzRDqzk87zYZ8QZnagacXFuLr2p6oqmdy8ZRanPrZGhVbH\nnSfS0YoiPwyMsMioh+06jvqiPrb1YwJJAUIjPPgj1vpt6f4qLLy76W/ozWkDuu088+fPJyEhgZtv\nvpkFCxawZs0aFAoFXl5eLFmypFvOactjt9EmtSeKKfvpjNl9lUIdclGGT2wwnlN6tRDyCpo33Pi7\nc2xLPZiO4us7EXkncto1mrYbhVxMmKM9awdHcf+pDB5PySKrXsPTYf6dWnHHDPiiwznt5tAYDDxw\nKpPMOg3LYyOIdrYsNe/w8H68npbL6iKV0bc+zN2ZC3VqpiWm8WW/MCb42CpIrU1rsr1vv/02b7/9\ndref32qKPaIohttW61cgHVywi1o9Jd+fJueFPeS8sKdVow5QLKtEj4EysbqFUe8OFApn/HylnHa9\nvvVGxRfTqOrYs6fljRQ87RSsiO3FLf6evJtRwNNnstEYOu5zN81pr+7w8SClNT53Noe9qmo+6BPC\nCE/L3QX+9nYtercmVtbwamQPIp3sufdkBotyuqeZiY3Lh02KzQaanCqjIc99ZT/1p0tN9gsOLUWp\n5N4OFCkqQYBNGR3PdOkskk57NcXFf1h8TFsNrNtCKZPxSd9Qng0PYEVBGXccT6dC2/GMmZAQqcn1\nmbMvd/hYgI8uFLKioIx/hvt3qJdpI40t4BpRCjKeTMnijkBvbvBxY15qLvNTc8mr1zDtWCpF6svT\n0ciG9bC5Yq5W2nIbiFCxOZOqHdmtDvF7chDKIBfUFyopXngcmasdMic7dIW1fOOwDWqaxpZpK3nt\ntdcAmDdvHnZ21i3Rb46HxxAcHELIz19FQMDfLDqmtQbWliAIAs/2DCDUUck/z2Qz9VgaPwzsSaij\n5fn4kb2eIzv7WwoL11JSspP4wctxde1j0bG/FpbzbkYBt/h78my4ueS09mls+bakIYD657X9eDg5\nkxfO5fBMmD8hDkq+yilmY3EFOWoNH2QWdKmps43Lj82wX+WUr07FLsgZuZMdRV8cR69SE4mcKkyN\numOsL163RiMomh7iDLVayn46g9zDAbexIZSvSsVlZA8eiX+E5cuXt0jFAnjrrbdwd3fHy8vL+OPt\n7Y2Xlxeenp5dNvqCICMwcAYZGQuor88zaUnX6mdQLvVr9fXtfFPsWQFe9LC34/5Tmdx0LJXvYyJM\n2tC1hUzW5KbS66tITn6a4cM3tXvcQVU1T6dkcY2HMx/0CbFajvkvBWX8ODCC58/m8OGFQuNje7Za\nikV8l1fKd3mlVle+tHHpsBn2qx2dSNHHiWZ3ed/dF8f+5jVSRFGk7Jdz6Ks1eM3uTfmvqdiFuOI+\nMRwPhayFgfbw8GDcuHGUlZUZf06fPk1dnakv3M3NzWjoL/6x1OgHBkwnI+Nj8gtW0zP8cYuOAbps\nGEd4urJ2cBR3nUhnRmIqn/cLY5Jv+wUt27b3MnldU5tq3Hb9uPPmDiGttp77TmYQ6qhk8YCe2Heg\nO1VrPB3mz0cXCpmflsfDIX582CeEcEcl72QUoBQkKWMAR5nAJB93YzWrjb8eNsN+FdJWdWfgy8PY\nc2R/m3nJ+koNRV8moS9T4z6pJ1W7cwDh/9u797iqynzx459n37nJTe6gpKAISjigoFlJLzXHGjs6\n5XG6mdPpYseZZs7xN01Tp2nsMjWvM2eartbU1NSxcUot66RpqWCjiRJhmojgJQG5I4jEbbOf3x8b\nNmw3dzZs3D7v18sXi7X2XuvLcvHdi2c9z/ch8Cdxtjv6pqYmgoKCaG1t5fz585jNZhITEx321djY\naEv01dXVtuW8vDy+/96+MNWYMWMc7vK7S/oeHlH4+aVSWrqJ6PEPjOhoyUleJj5JjmXF4VP89Mhp\nfhcTzj2RQd3GIGUbNTX/xN9/DufO/dNum8kUSeK0V7s9RlWLmdsOnUQjBOsTJ+Cnd86v6S+jrYm9\ngxCCP7V/39LlIXujRbKlopaXE6Kdclxl5KnE7oaCfz6d6reP0lbbOXmz1s9I4Ip4tN599145t6WQ\ntppmNGMM1O8twXK+hcA7pqAL6Oxit2bNGgBOnjzJ22+/zaxZs7rdl4eHBxEREbYypV11TfpdE/+x\nY8d6TfoBAQF4eMymsfFPVFVnETQ2zWHfHYqKen6OMFhBBj0bk2L4Wd53PFZ4ltONLayNiUDX3n+/\noaGQ0tLNlJV9SHNLOTqdH0IYkLKz26VW49FtO3tjm4W7Dp+kvKWVTUkxjB9AW35furvr7+gO+WFF\nLRbAqBGEG/Vc4cTjXm6io6Px8fFBq9Wi0+nIzs622y6l5MEHH2Tr1q14enry1ltv8YMf/MCpMajE\n7oYM4d4Ig/0vsTBoMYT1Poqy+NF/2tV2sZzvTEQ9NdlMmDCB2NhY9uzZw/Tp0/H07H9Z3YEk/Y5/\nHUlfo2klbZaO7dt/S3nZAoc7/MDAQPz9/Xn//fcB0Omce6l7ajX8JSGaJ06c5ZWiSs5838BjgTnU\nlW/k/PlchNASGDiXSaG/ZezYuWTuSUHKFuImP0tR8eu0tjo+n7BIyc/zzvDV+e/5S0I0yb5eTo25\nq+KmFiJNBlt3SIk1qbdYJNf4+1w+D0/ry2DjSrj5LfDp3xwB/bF79+4e5wHetm0bBQUFFBQUkJWV\nxapVq8jKynLasUEldrdlaTQPeNRn2K9mUrv1JI25jv2ai3/9BegEkU/Ocdg2b9481q1bx549e1i4\ncKFT4u8t6Tc1NVFTU8Op0xWEhX2Jl2ckNTUXyM/Pp6GhoZu9gdlstvXc6fg6VAILq/0L0Z/7lhfO\npVFYY+QxDy1TY35DSOhNGA2dv9ienuPQ6cYQEXEzERE3d7u/p0+W8nFlLY9NDOfG4MEXo+pNiEFH\neYuZ/5dfxN+vtLbzd3SHvCNiLO+UVFHuhCJol4zMP8CZ/ZD5LNw4MmV2t2zZwp133okQgrS0NGpr\na+1KDTiDSuxuajCjPrVjDGiMWsdp9fQaPBIC8buh+9nsQ0JCSEpK4sCBA6SmpuLv79/t65zFZDIR\nHh6Oh8fd5Hy9i1mzPAgN/VegM+mfOHGCzMxMzObOJOXn58fy5cuHfPwLDQWUlW6mtOxDWloquErn\nR0SgYO25WTwqf8v6gAkYDR621zc1neXChWPETPxVj/v837PVvHimgjvDA1kVNfjeO315OX48P849\nwe6azrKyHd0hAZ5xlzv1bb+GssM9bz+z177cRvYb1n9CwLirun9P6DT44TN9HloIwYIFCxBCcN99\n93HvvffabS8pKbEr1RsZGUlJSYlTE7saoKTYabvQildqGKaE9gEtAjBb0Bh1vY4uTU9PR6PRsHPn\nzpEJFPDzm4nJFElp6Sbbuo6kHx0dbZfUAfR6PaGhg+sL3tpaR3Hxeg5mLyUrayFnit5gzJhpTJv6\nMlfP2ceKxFVs+cEkLBJ+lFNARk1nLfCq6gwAAgO7L0C2u/o8Dx0v4roAH56OjRzWh8EDGbXq1sJn\ngGcQiPYUKDTgFQQRM4a8671795KTk8O2bdt46aWX2LNnj9327irqOvv/XN2xK3bG3hEPQNU7R/FK\nC8NrZigNB8poq++93sqYMWOYPXs2e/bsYdasWd02oTibEBrCQpdy6vQLdn3ai4qKeOeddxBCEBAQ\nQHp6OpmZmQ5dL/tisZipqfmC0rLNVFZ+jpQteHtNJjbmEUJCF9s1tQBM9fFka3Isdxw+yW3fnOTZ\nSVHcHh5IdXUGJlMEXl6OA6SOXmjknm9PE+dl4rWEaNsD2JEgpXTf+uv9uLPm419CzlugM0FbC0xZ\n7JTmmPBw63UYHBzMkiVLOHDgANdcc41te2RkpN1D/eLiYtt7nEUldqVbHQkewPAv/RuKP3v2bLKz\ns9mxYwd33XXXiCSNsLAlnDr9PGVlHxId/YAtqXt7e7NixQp8fa0FrqZO7X/1vgsNBZSWbqKs7ENa\nWirR6/2JiPgJ4WE/xts7vtefK9xkYMv0WO759jRr8osoOF/FnKrdhIcucXhfWXMrt39zEm+tdSan\ni2u6DLePK+tYPExt+ZeEhgpIXgkpKyH7TbhQ3vd7+tplQwMWiwUfHx8aGhrYsWMHjz32mN1rFi9e\nzIsvvsjy5cvJysrC19fXqc0woBK74kQmk4m5c+eydetWjh8/zuTJk4f9mB4e4/DxSeZY/ps0NV3H\n5s2bHZJ6f7S21mKRuzh48M+cr/8GIXQEBs4lLGwpYwPT7UaP9qXrlHuvnq0ml1/wm2b7ScYazG3c\n8c1J6sxtbJkeQ7hp5CaLXhbqz3tl51h19DSLg5NG7LijzvL1nctOenBaXl7OkiVLAOsD+1tvvZWF\nCxeybt06AO6//34WLVrE1q1biYmJwdPTkzfffNMpx+5KJXbFqZKTk8nKyuKzzz4jJibGNrvMcKqu\nmozB+BXbtr2It/ekfif17ppaLDKO2NhHCQ35EQZD993V+uOLPQkssDRjZjHvihWsORfIf+yaTq0I\n4WntH0jwNvHthUbeTpzAVJ/+dxF1ht/FRPBe2Tnahnk+3MvRhAkTOHTIcabQ+++/37YshOCll14a\n1jhUYlecSqvVMm/ePP7xj3+Qm5vb6/yPQ/Xkk09iNpvRaCykzdIRFFxIYcFYXnjhBR59tOdKihcu\nHKe0bHOXppYAIiNupaRkPKkz73RKbLNnZVBQ8DQ3VHxEkKzgZfEgT2j/jEHnT31zG/vrvufZSZHM\nCxzEPIFD5O+kkazK6KX+hxWni4uLIyoqit27dzN16lSMRuePYqyvryc0NJSWlhYqKiqoqhxHUNBp\nPEx3sWDBDQ6vb22tpaz8Y0pLN1Fff9jW1BIe9mMCA+ei0Rg4ezbDafEZjcE0t1QAMJP9/Fmu4Wyb\nAdrabK956HgxDx0vZveMyfjptfjqdHhoxIg+0KxrNeOrEr3bUf+jitN19ON94403+PLLL4dlvszM\nzEy7SYArKmIICT2Jr9/jQBIQ19nUUrqJyqqd1l4t3lOc0tTSH7W1B23L/+PxPE813021dBz9m34w\n37Zs1Aj8dNYk76/Xtid8Lf46XeeyXmd9jb5z/RidFu0gPhCm7j3C9uRJxI9wc5AyvFRiV4ZFVFQU\nU6ZMYe/evSQnJw94kuCedDS/XKyuLgQpNUAr3xxeRXDwgvamliprU0vkbYSFLsXHJ95xp062OyMe\ni6XZbl1I4x5MYinQmdjHmwz8MS6Kc61t1JrN1La2UWtuo7bV3P61jeKmFo60r29o630GJ1+d1i7h\n++qt3/vrddZtei3+7R8aPx8XzPNnKmiVsOrod2SmThmOU6G4iErsyrCZN28e+fn5ZGZmcuONNzpl\nnw8++CCvv/66rRa8EIKr5rxtN69IU9MZzpx5HYDEaesIDLx2QL1ahmr2rAzy8h6muiajPUY9UrbS\nrA1lstHIf14Ryh9PlVFrbmPOAAYMtVgs1LUn/DpzG+faPwBsy7b11g+KkuYWzrW2UWc2dy0B5CD/\n+2ZCd+cCUJZ+GfeScSNDTuxCiJ8BqwEz8ImUsudx08plJTAwkJSUFA4ePEhqauqQJrrosH37drsJ\nPqSU5OQsIi0th9bWMtt6jcbE9KS38fMbvoe3PTEag21J3RpjKxqNB+t9X+PKK/8CwOLggZddMGg0\nBBk0BBkGNlmJlJKGNgvnzG3UtZr5+nwDvz9VRk1rZ3t/lFHP36b1f05YZXQbUkkBIUQ6cBOQKKVM\nAP7bKVEpbuPaa69Fr9fz+eefD3lfGzdu5MiRI7bvfXx8CA0N5fuGQPR6+7Zri6WJw0dWU1G5fcjH\nHQoPj2h0Ol+MxhCqazJpbhn5+d6FEHjrtESZDEz18eSOiCDGXvTA1FOrUe3sThIdHc20adNISkoi\nJSXFYXtGRga+vr4kJSWRlJTE2rVrnR7DUGvFrAKekVI2A0gpK4YekuJOvLy8mDNnDvn5+Xz33XeD\n3k/XpL5s2TLCw8MJDg62lek1m8/j5RXL1ITn8fKKRafzx2AI5PDhB/jm8AM0Nw99VGF/WSydlTTH\njbsbs7mOCVf8HCnbKC/bMmJx9KbO3MZkTyOvJYxnsqeRWnNb329yQ5XfV3LXp3dR1ejcD9zdu3eT\nm5vrUIu9w9VXX01ubi65ubkOI1OdYaiJfRJwtRAiSwiRKYQYegUdxe2kpaXh4+PDjh07ui2A1JeL\nk/qUKVOorq4mICCAmpoaAgICuHrOl6SlfkpIyA2kpX7KtddkMyPlAyZO/BXV1Rnsz7qekpK/I2Xv\nDyCd4dix39iWQ4JvRKMxUHf+a8aMSeJs6cZBnQNnO3TVVDJTp7A42J/M1Ckcuqr/JRfcybpv1pFT\nnsMrh15xdShOJfq6yIQQnwPdlcR7BHgK2AU8CMwA/gFMkN3sVAhxL3AvQEhISPKGDRuGFnk/XLhw\nAW/v3ieXuBy54ryUlpaSn59PfHw8wcH9KyMMcPToUSoqrH8IJiQkEBQUREtLC/v27WPixImcPn2a\n0NBQYmMdC2x1kLIci3wbOAZMQiNWIITjJe2s89JmuRsAjXgYIWKwWNYhOYoQP0LKDcA4NOIXCNH/\nkgeudKn8Hvn6+hITY61r9Nyh5yioK+jxtblVuUi6qbKIIGls9w+QY31j+cWVv7Bb19bW5jC6etq0\nafj5+SGEYOXKlaxcudJu+xdffMHtt99OREQEoaGhPPXUU0yZ4tgrqbCw0GHC+PT09K+klI7tOxfp\n8+GplHJeT9uEEKuAze2J/IAQwgKMBRxmapBSvga8BpCSkiKHo2/zxTIyMoalD/WlzhXnxWKxsG7d\nOkpLS1m6dGm/ZjTatGmTLakvW7aM+HhrV8WioiL27dtHfHw8J06cIDExkdTU1F73JeUySks3UlD4\nNBbL7xgfvZrx4+6x6y3jrPOyc5f1a3r6vwFQXS3IPfRTTKb9NDYK4AxhYV8RF+f8ttXhcKn8HuXl\n5dm61RoMhl7LWUwbO43i+mLONZ9DIhEI/E3+RHlH9fg+g8Hg0G23vr7eYd2+ffsIDw+noqKC+fPn\nk5SUZFfdcc6cOZw5cwZvb2+2bt3KbbfdRkGB44eQyWRi+vTp/f75uxpqr5gPgeuADCHEJMAAjPzT\nIWXU02g0zJ8/n/Xr15OdnU1aWs/zlII1qR8+bJ0ooWtSBzh79iyA7W7Gw8PDcQcXEUIQHn4LgYFz\nOV6wlpMn/4eK8k+Im/J7fMdcOdgfy0FH7fWuAgKss041Np62rSs5u56Ss+vRaIykzz3qtOMrVg/N\nfKjP16z9ci0bj2/EoDXQ2tbKvPHz+K+0/xrysfsq2ztmTGcZiUWLFvHAAw9QVVXV41R6gzHUNva/\nAhOEEEeADcCK7pphFAUgJiaGCRMm9FkbvWtSv+WWW+ySOkBurrXPdU5ODgDHjx/vdwxGYxDTpr5A\n4rRXaTXXkZ39Y44XPInZ3P2UegN16JC1GSYq6qeAdbDSrt2Tun1tSMhNzJ6V6ZTjKgNX01TDssnL\neHfRuyybvIzqxuoh77OhoYH6+nrb8o4dOxxKRpeVldmesxw4cACLxUJgYOCQj93VkO7YpXXa9dud\nFIvi5oQQzJ8/n1dffZW9e/cyb55jK9/FST0hIcG27eJRpxcuXADgyJEjHDlyBJ1O12vxr66Cgubh\n759K4Yn/pqjoLSordyDlLcDcwf+AXcTGPAy0FwMr/D2Vldu7jEbVABZ0Wm+MxuGbBk/p3XPpz9mW\nH03r33XTl/6U7d24cSOvvPIKOp0ODw8PNmzYoGZQUi5tYWFhJCYmsn//fmbMmGFXXre3pA7WUafb\nt28nLy+Pti7FtLRaLfHx8SxYsGBAseh0PsRN/h2hIT8i79gjWORzfPvtKWJjH8FgGPgdVGtr54Mu\n0T7lmtEYjE7rjcXSQkdCDw66Hr0hgJZmx0nDlUtbf8r2rl69mtWrVw9rHGrOU2XEXXfddUgp2bVr\nl21dX0kdrAOSjEYjFovFdocjhMBisWA0Ggddj8bPL4XUmR8hWEx5xVb2Z11PaekHA+6WmHvI2vyi\n19t/KLS0VBERcSszZ3xERMRtSNlG3OS1JCa6Vxc7ZfRQd+zKiPPz8yMtLY29e/cSExPDBx98gMVi\n7V/eU1Lv0NDQQHJyMlVVVTQ0NODl5cXYsWNtzTKDpdEY0WhuIiVlFceO/YajeWsoK99C3OQn8PCI\n6nsHwPnz1rb/GSmb7dZ3TeBxky+NnjDKpU0ldsUl5syZQ05ODps2bbKt6yupAyxfvnxY4/L2nkRy\n8nuUlLxL4Yk/sD/rh0yc8EsiI1eg0fTv18XDI3JYY1R65i4TdA+1D4pqilFc4tlnn3XoGfP+++/z\n+OOPuyagLoTQEBl5O2mpnxIQMJuCwqfJ/upm6uvzenxPUfE7Ixih0h2TyUR1dfWoGNk7FFJKqqur\nMZlMg96HumNXXOK+++5jw4YNdiPr/Pz8hv2OfCBMpnASp71KReU28vMf52D2TYwbdw9XRP8Mrdb+\nl+748ccBiJv8lAsiVQAiIyMpLi6msnLkHko3NTUNKQH3xGQyERk5+L/8VGJXXCIsLAy93r78rF6v\nJzS0u+oVriOEICR4EQH+sykofIbvvltHRcU24uKeIsB/lsPrIyJGzwfT5Uav13PFFSNbejgjI2PQ\no0OHk2qKUVymqamJoKAgbr75ZoKCgnodtORqer0f8VOeYXrSO4Dk669vJy/vYVpb66isHHpJYkVx\nJnXHrrjMmjVrbMsXj84brQICZpM6cxunTj3PmaLXqareRUt7jXWNxvl/kivKYKg7dkUZIK3WREzM\nr5CyzZbUwTq5x85dE9m5a6ILo1MUldgVZdBmzvgYozHcbp3JFMnMGZ+4KCJFsVKJXVEGyccnHq3W\nfjo5rcYDH584F0WkKFYqsSvKEFw8JV+rua7vNynKMFMPTxVlCK6e86VtOSTkBhdGoiid1B27oiiK\nm1GJXVEUxc2oxK4oiuJmVGJXFEVxMyqxK4qiuBmV2BVFUdyMcEXtYiFEJfDdCBxqLFDV56suP+q8\ndE+dl+6p89KzkT4346WUfc6A7pLEPlKEENlSyhRXxzHaqPPSPXVeuqfOS89G67lRTTGKoihuRiV2\nRVEUN+Puif01VwcwSqnz0j11XrqnzkvPRuW5ces2dkVRlMuRu9+xK4qiXHbcMrELIW4RQnwrhLAI\nIVIu2vawEKJQCJEvhLjeVTG6mhDicSFEiRAit/3fIlfH5EpCiIXt10ShEOLXro5ntBBCnBZCHG6/\nRrJdHY+rCCH+KoSoEEIc6bIuQAjxmRCioP2rvytj7MotEztwBFgK7Om6UggRDywHEoCFwMtCCO3I\nhzdq/ElKmdT+b6urg3GV9mvgJeCHQDzwk/ZrRbFKb79GRl23vhH0Ftac0dWvgZ1SylhgZ/v3o4Jb\nJnYpZZ6UMr+bTTcBG6SUzVLKU0AhMHNko1NGoZlAoZTypJSyBdiA9VpRFACklHuAmotW3wT8rX35\nb8C/jGhQvXDLxN6LCKCoy/fF7esuV6uFEN+0/5k5av6MdAF1XfRMAjuEEF8JIe51dTCjTIiUshSg\n/Wuwi+OxuWRnUBJCfA6EdrPpESnllp7e1s06t+0W1Ns5Al4BnsD68z8B/BH46chFN6pcVtfFAF0l\npTwrhAgGPhNCHGu/e1VGsUs2sUsp5w3ibcVAVJfvI4Gzzolo9OnvORJC/AX4v2EOZzS7rK6LgZBS\nnm3/WiGE+ABrs5VK7FblQogwKWWpECIMqHB1QB0ut6aYj4DlQgijEOIKIBY44OKYXKL9QuywBOsD\n58vVQSBWCHGFEMKA9QH7Ry6OyeWEEF5CCJ+OZWABl/d1crGPgBXtyyuAnloKRtwle8feGyHEEuAF\nIAj4RAiRK6W8Xkr5rRDiPeAoYAb+XUrZ5spYXegPQogkrE0Op4H7XBuO60gpzUKI1cB2QAv8VUr5\nrYvDGg1CgA+EEGDNFe9KKT91bUiuIYT4OzAXGCuEKAZ+CzwDvCeEuBs4A9ziugjtqZGniqIobuZy\na4pRFEVxeyqxK4qiuBmV2BVFUdyMSuyKoihuRiV2RVEUN6MSu6IoiptRiV1RFMXNqMSuKIriZv4/\nzv8tStMIxtYAAAAASUVORK5CYII=\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(a0[:, 0], a0[:, 1], \"*-\", label=\"a0\")\n", "for rot in range(12):\n", " rot /= 2\n", " t6 = np.array([[np.cos(rot), np.sin(rot)], [-np.sin(rot), np.cos(rot)]])\n", " a6 = np.dot(a0, t6)\n", " plt.plot(a6[:, 0], a6[:, 1], \"*-\", label=str(rot))\n", "plt.grid(True)\n", "plt.axis(\"equal\")\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "További olvasnivaló:\n", "- https://upload.wikimedia.org/wikipedia/commons/2/2c/2D_affine_transformation_matrix.svg \n", "- https://en.wikipedia.org/wiki/Transformation_matrix\n", "- https://en.wikipedia.org/wiki/Homogeneous_coordinates#Use_in_computer_graphics" ] } ], "metadata": { "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.6.5" } }, "nbformat": 4, "nbformat_minor": 2 }