{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Análise Multivariada e Aprendizado Não-Supervisionado\n", "\n", "por Cibele Russo.\n", "\n", "ICMC USP São Carlos.\n", "\n", "\n", "## Aula 12b: Análise de Correspondência\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#!pip install --user prince" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Fontes: \n", "\n", "- https://codefying.com/2018/12/21/introduction-to-correspondence-analysis/\n", "- https://pypi.org/project/prince/#correspondence-analysis-ca\n", "\n", "Análise textual onde trechos de alguns autores são analisados pela frequência das letras. Os cinco autores e as letras são mostrados abaixo:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "from scipy.stats import chi2_contingency\n", "import prince\n", "import pandas as pd\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "authors = [\"Charles Darwin\", \"Rene Descartes\",\"Thomas Hobbes\", \"Mary Shelley\", \"Mark Twain\"]\n", "initials=['CD1','CD2','CD3','RD1','RD2','RD3','TB1','TB2','TB3','MS1','MS2','MS3','MT1','MT2','MT3']\n", "chars=[\"B\", \"C\", \"D\", \"F\", \"G\", \"H\", \"I\", \"L\", \"M\", \"N\",\"P\", \"R\", \"S\", \"U\", \"W\", \"Y\"]" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "sampleCrosstab=[[34, 37, 44, 27, 19, 39, 74, 44, 27, 61, 12, 65, 69,22, 14, 21],\n", " [18, 33, 47, 24, 14, 38, 66, 41, 36,72, 15, 62, 63, 31, 12, 18],\n", " [32, 43, 36, 12, 21, 51, 75, 33, 23, 60, 24, 68, 85,18, 13, 14],\n", " [13, 31, 55, 29, 15, 62, 74, 43, 28,73, 8, 59, 54, 32, 19, 20],\n", " [8, 28, 34, 24, 17, 68, 75, 34, 25, 70, 16, 56, 72,31, 14, 11], \n", " [9, 34, 43, 25, 18, 68, 84, 25, 32, 76,14, 69, 64, 27, 11, 18],\n", " [15, 20, 28, 18, 19, 65, 82, 34, 29, 89, 11, 47, 74,18, 22, 17], \n", " [18, 14, 40, 25, 21, 60, 70, 15, 37,80, 15, 65, 68, 21, 25, 9],\n", " [19, 18, 41, 26, 19, 58, 64, 18, 38, 78, 15, 65, 72,20, 20, 11], \n", " [13, 29, 49, 31, 16, 61, 73, 36, 29,69, 13, 63, 58, 18, 20, 25],\n", " [17, 34, 43, 29, 14, 62, 64, 26, 26, 71, 26, 78, 64, 21, 18, 12],\n", " [13, 22, 43, 16, 11, 70, 68, 46, 35,57, 30, 71, 57, 19, 22, 20],\n", " [16, 18, 56, 13, 27, 67, 61, 43, 20, 63, 14, 43, 67,34, 41, 23], \n", " [15, 21, 66, 21, 19, 50, 62, 50, 24, 68, 14, 40, 58, 31, 36, 26],\n", " [19, 17, 70, 12, 28, 53, 72, 39, 22, 71, 11, 40, 67,25, 41, 17]]" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
BCDFGHILMNPRSUWY
CD134374427193974442761126569221421
CD218334724143866413672156263311218
CD332433612215175332360246885181314
RD11331552915627443287385954321920
RD28283424176875342570165672311411
RD39344325186884253276146964271118
TB115202818196582342989114774182217
TB21814402521607015378015656821259
TB319184126195864183878156572202011
MS113294931166173362969136358182025
MS217344329146264262671267864211812
MS313224316117068463557307157192220
MT116185613276761432063144367344123
MT215216621195062502468144058313626
MT319177012285372392271114067254117
\n", "
" ], "text/plain": [ " B C D F G H I L M N P R S U W Y\n", "CD1 34 37 44 27 19 39 74 44 27 61 12 65 69 22 14 21\n", "CD2 18 33 47 24 14 38 66 41 36 72 15 62 63 31 12 18\n", "CD3 32 43 36 12 21 51 75 33 23 60 24 68 85 18 13 14\n", "RD1 13 31 55 29 15 62 74 43 28 73 8 59 54 32 19 20\n", "RD2 8 28 34 24 17 68 75 34 25 70 16 56 72 31 14 11\n", "RD3 9 34 43 25 18 68 84 25 32 76 14 69 64 27 11 18\n", "TB1 15 20 28 18 19 65 82 34 29 89 11 47 74 18 22 17\n", "TB2 18 14 40 25 21 60 70 15 37 80 15 65 68 21 25 9\n", "TB3 19 18 41 26 19 58 64 18 38 78 15 65 72 20 20 11\n", "MS1 13 29 49 31 16 61 73 36 29 69 13 63 58 18 20 25\n", "MS2 17 34 43 29 14 62 64 26 26 71 26 78 64 21 18 12\n", "MS3 13 22 43 16 11 70 68 46 35 57 30 71 57 19 22 20\n", "MT1 16 18 56 13 27 67 61 43 20 63 14 43 67 34 41 23\n", "MT2 15 21 66 21 19 50 62 50 24 68 14 40 58 31 36 26\n", "MT3 19 17 70 12 28 53 72 39 22 71 11 40 67 25 41 17" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data = pd.DataFrame(sampleCrosstab)\n", "data.columns = chars\n", "data.index = initials\n", "data" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "448.49666422103445\n", "448.49666422103445\n", "0.0\n" ] } ], "source": [ "grandTotal = np.sum(sampleCrosstab)\n", "correspondenceMatrix = np.divide(sampleCrosstab,grandTotal)\n", "\n", "rowTotals = np.sum(correspondenceMatrix, axis=1)\n", "columnTotals = np.sum(correspondenceMatrix, axis=0)\n", " \n", "independenceModel = np.outer(rowTotals, columnTotals)\n", " \n", "#Calculate manually\n", "chiSquaredStatistic = grandTotal*np.sum(np.square(correspondenceMatrix-independenceModel)/independenceModel)\n", "print(chiSquaredStatistic)\n", " \n", "# Quick check - compare to scipy Chi-Squared test\n", "statistic, prob, dof, ex = chi2_contingency(data)\n", "print(statistic)\n", "print(np.round(prob, decimals=2))" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# pre-calculate normalised rows\n", "norm_correspondenceMatrix = np.divide(correspondenceMatrix,rowTotals[:, None])\n", " \n", "chiSquaredDistances = np.zeros((correspondenceMatrix.shape[0],correspondenceMatrix.shape[0]))\n", " \n", "norm_columnTotals = np.sum(norm_correspondenceMatrix, axis=0)\n", "for row in range(correspondenceMatrix.shape[0]):\n", " chiSquaredDistances[row]=np.sqrt(np.sum(np.square(norm_correspondenceMatrix\n", " -norm_correspondenceMatrix[row])/columnTotals, axis=1))\n", "# Save distances to the DataFrame\n", "dfchiSquaredDistances = pd.DataFrame(data=np.round(chiSquaredDistances*100).astype(int))\n", " \n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "standardizedResiduals = np.divide((correspondenceMatrix-independenceModel),np.sqrt(independenceModel))\n", " \n", "u,s,vh = np.linalg.svd(standardizedResiduals, full_matrices=False)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " X Y\n", "CD1 -0.070977 0.200620\n", "CD2 -0.062109 0.094512\n", "CD3 -0.148509 0.158889\n", "RD1 0.030697 0.019028\n", "RD2 -0.069552 -0.068382\n", "RD3 -0.115119 -0.063805\n", "TB1 -0.006890 -0.103594\n", "TB2 -0.053382 -0.170423\n", "TB3 -0.083822 -0.121758\n", "MS1 -0.016408 0.001383\n", "MS2 -0.143838 -0.010875\n", "MS3 -0.029819 0.005454\n", "MT1 0.256214 -0.009194\n", "MT2 0.243356 0.059730\n", "MT3 0.265072 -0.006179\n" ] } ], "source": [ "deltaR = np.diag(np.divide(1.0,np.sqrt(rowTotals)))\n", " \n", "rowScores=np.dot(np.dot(deltaR,u),np.diag(s))\n", " \n", "dfFirstTwoComponents = pd.DataFrame(data=[l[0:2] for l in rowScores], columns=['X', 'Y'], index=initials)\n", " \n", "print(dfFirstTwoComponents)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "ca = prince.CA(\n", " n_components=2,\n", " n_iter=3,\n", " copy=True,\n", " check_input=True,\n", " engine='auto',\n", " random_state=42)\n", "\n", "data.columns.rename('chars', inplace=True)\n", "data.index.rename('initials', inplace=True)\n", "\n", "ca = ca.fit(data)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAGDCAYAAAA1cVfYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzde1zUVf748debizIBiqJmiKVSGgkI3lIzlzKzNF11y9zK2zdr/VbaTddLm5q7W7Zu5rr6bbfV0txWayvpav5cFcu03UwQ0dCUJQUvKV7Bwbic3x8zjIAwDDrDwPB+Ph48mM/5fD7zeR9B3vM553zOEWMMSimlVFX8vB2AUkqpuk0ThVJKKac0USillHJKE4VSSimnNFEopZRyShOFUkoppzRRqHpBRPJEpMMVvsdMEVnqpniMiFzvjvdyFxFJFpEJ9tcPisj/83ZMyjdoolBeISJZImK1J4BjIrJcREKqOt4YE2KMybySaxpjXjTGTLiS96gvjDFvG2PudMd72X9Wd7jjvVT9pIlCedMQY0wI0BXoDvym4gEiElDrUdVxYqP/d1Wt0V825XXGmBxgLRADjmadx0Xke+D7MmXX218vF5ElIvKpiJwTkX+LSFTp+4lIZxFZLyIn7XcrM+3lc0Tk7/bX7ezv+aiIHBaRIyIypcx79BSRbSJy2r5vsYg0cqU+ItJcRN60v+8pEUkqs+8REdlvj+0jEYkos6+PiHwjImfs3/uU2ZcsIr8Xka+A80AHERkgIhn24xcDUub4cSKypcy2EZGJIvK9vU5LRETs+6JEZKOI5IrICRF5W0TC7PtWAtcCH9vv/n5tL+8lIlvt77VTRBIrXDvT/rP5r4g86Mq/m6rDjDH6pV+1/gVkAXfYX7cFdgO/tW8bYD3QHLCUKbve/no5kAv0BAKAt4HV9n2hwBHgWSDIvn2zfd8c4O/21+3s77kKCAZigeNlYuoG9LK/fzvgO+CpMvE74qmkbp8C7wDNgEDgZ/by24ET2O6gGgN/Br6w72sOnAJG26/5S/t2uH1/MnAQ6Gzf3xI4B9xrv8bTQBEwwX78OGBLhXg/AcKw/eE/Dtxl33c9MMAeU0vgC2BhZT8r+3Yb+7//IGwfNgfYt1va/y3PAp3sx14DdPb275t+XdmX3lEob0oSkdPAFmAz8GKZfS8ZY04aY6xVnLvGGPMfY0wRtkQRby+/BzhqjHnFGFNgjDlnjPm3kxheMMbkG2N2AW9i+wONMeZbY8zXxpgiY0wW8FfgZ9VVSESuAe4GJhpjThljCo0xm+27HwTeMMbsMMZcAGYAvUWkHTAY+N4Ys9J+zVVABjCkzNsvN8bsttf5bmC3MeY9Y0whsBA4Wk1484wxp40xB4FNpf9mxpj9xpj1xpgLxpjjwIJq6voQ8Jkx5jNjTIkxZj2wHVviACgBYkTEYow5YozZXd2/m6rbNFEobxpmjAkzxlxnjHmsQlI4VM25Zf8ongdKO8LbAgdqEEPZ6/wARACISEcR+UREjorIWWxJrIUL79cWOGmMOVXJvgj7NQAwxuRh+yTepuK+MvG0qSLWiLLbxhjDZf6bicjVIrJaRHLsdf07zut6HXCfvdnptD3Z9wWuMcbkA/cDE4Ej9ubBG6uJS9VxmihUXXW50xofAmoyjLZtmdfXAoftr1/D9on+BmNME2AmZfoAqrl+89I2/goOY/sjC4CIBAPhQE7FfWXiySmzXfbf5EjZ2O39DWXrUhMv2t871l7Xhyhf14o/i0PASnuSL/0KNsbMAzDGrDPGDMDW7JQB/O0y41J1hCYK5Ws+Aa4RkadEpLGIhIrIzU6Of15ErhKRzsB4bH0LYOvbOAvk2T8R/68rFzfGHMHWMf9/ItJMRAJFpJ999ypgvIjEi0hjbH+g/21v2voM6CgiD4hIgIjcD9xkr09lPgU6i8gI+8iwyUBrV2KsRCiQB5wRkTbA1Ar7j1E++f4dGCIiA0XEX0SCRCRRRCLtdyc/tyfBC/b3LbnMuFQdoYlC+RRjzDlsnatDsDW1fA/c5uSUzcB+YAPwR2NM6UNqU4AHsHUY/42LCcQVo4FCbJ+mfwSessf2L+B54H1sdwRRwCj7vlxs/SvPYmuO+jVwjzHmRBX1PAHcB8yzH38D8FUNYizrBWwd7GewJaAPKux/CfiNvZlpijHmEPBzbHdZx7HdYUzF9vfED3gG2x3SSWx9HS4lWVV3ia1pU6mGxd6B/F8g0N45rJSqgt5RKKWUckoThVJKKae06UkppZRTekehlFLKKU0USimlnPK5mTlbtGhh2rVr5/SY/Px8goODaycgD/OlupSUlHD48GEiIiLw86v/n2F86WcDvlUfX6oLuKc+33777QljTMtKd3p7sil3f3Xr1s1UZ9OmTdUeU1/4Ul3OnTtnnnnmGXPu3Dlvh+IWvvSzMca36uNLdTHGPfUBthudFFAppdTl0EShlFLKKU0USimlnPK5zmyllCqrsLCQ7OxsCgoKHGVNmzblu+++82JU7lWT+gQFBREZGUlgYKDL76+JQinl07KzswkNDaVdu3bYV3/l3LlzhIaGejky93G1PsYYcnNzyc7Opn379i6/vzY9KQD8/f2Jj4+nS5cudO3ala1bt3o7JKXcoqCggPDwcEeSaMhEhPDw8HJ3V67QOwoFgMViITU1FYB169YxY8YMNm/eXM1ZStUPmiQuupx/C72jUJc4e/YszZo183YYSvmMPn36VHvMhAkT2LNnDwAvvvhiuX2unB8SElLtMZdL7ygUAFarlfj4eAoKCjhy5AgbN270dkhK+QxXmnKXLl3qeP3iiy8yc+bMGp3vSXpH0ZClvQuvxsCcMCwBkPrWTDIyMvj8888ZM2YMRmcWVg1QUkoOt8zbSPvpn3LLvI0kpeRUf1I1Sj/tJycnk5iYyL333suNN97Igw8+6Ph/lpiYyPbt25k+fbrjg9uDDz5Y7vy8vDz69+9P165diY2N5cMPP7zkWkeOHKFfv37Ex8cTExPDl19+ecXx6x1FQ5X2Lnw8GQqttm1TYtsGevceyYkTJzh+/DitWrXyYpBK1a6klBxmfLALa2ExADmnrcz4YBcAwxLauOUaKSkp7N69m4iICG655Ra++uor+vbt69g/b948Fi9e7OgzLCsoKIg1a9bQpEkTTpw4Qa9evRg6dGi5Y/7xj38wcOBAnnvuOYqLizl//vwVx6x3FA3VhrkXk0SpQitsmEtGRgbFxcWEh4d7JzalvGT+ur2OJFHKWljM/HV73XaNnj17EhkZiZ+fH/Hx8WRlZbl8rjGGmTNnEhcXxx133EFOTg7Hjh0rd0yPHj148803mTNnDrt27XLLMGBNFA3Vmexym9YiiP9LHvEvf8f999/PihUr8Pf391JwSnnH4dPWGpVfjsaNGzte+/v7U1Tk+pLtb7/9NsePH+fbb78lNTWVq6+++pKhrv369eOLL76gTZs2jBs3jrfeeuuKY9amp4aqaSScOeTYLJ7VxF7eFp7e6aWglPKuiDALOZUkhYgwS63GERgYSGFh4SVPT585c4ZWrVoRGBjIpk2b+OGHHy4594cffiAyMpJHHnmECxcusGPHDsaMGXNF8egdRUPVfxYEVvjlD7TYypVqoKYO7IQlsPydtCXQn6kDO9VqHI8++ihxcXGOzuxSDz74INu3byc2Npa33nqLG2+88ZJzk5OT6dKlCwkJCbzzzjs8+eSTVxyP3lE0VHEjbd83zLU1QzWNtCWJ0nKlGqDSDuv56/Zy+LSViDALUwd2uuKO7Ly8PMA2sikxMdFRvnjxYsfr5ORkx+uXX36Zl19++ZLzW7RowbZt2y55/3PnzjmOGTt2LGPHjr2ieCvSRNGQxY3UxKBUBcMS2rhthJOv0KYnpZRSTmmiUEop5ZQmCqWUUk5polBKKeWUJgqllFJOaaJQSikvGDduHO+99563w3CJJgqllKpnjDGUlJTU2vU0USilVFllpt/n1Rjbthu89dZbxMXF0aVLF0aPHg3AF198QZ8+fejQoYPj7qKqqcSzsrLo1KkTY8aMISYmhkOHDjFu3DhiYmLo1asXr776qlvirIw+cKeUUqUqTr9/5pBj+v0reTh19+7d/O53v2Pr1q20aNGCkydP8swzz3DkyBG2bNlCRkYGQ4cO5d5773U6lfj333/PihUr6NWrF99++y05OTmkp6dz7tw5iouLq4ni8ukdhVJKlXIy/f6V2LhxI/fddx8tWrQAoHnz5gAMGzYMPz8/brrpJsd04c6mEr/uuuvo1asXAB06dCAzM5NJkyaxfv16mjRpckUxOqOJQimlSlWYfr/a8itUdsrx0pXunE0lHhwc7Di+WbNm7Ny5k8TERN544w0mTJjgkRhBE4VSSl3UNLJm5S66/fbb+ec//0lubi4AJ0+erPJYV6YSBzhx4gQlJSX84he/4Pnnn2fHjh1XFKMz2kehlFKl+s8q30cBbpl+v3Pnzjz33HP87Gc/w9/fn4SEhCqPffDBBxkyZAixsbF079690qnEAXJychg/fjwlJSWUlJSUm23W3TRRKKVUKQ9Ov1/d9N/VTSUOkJ6e7njdpUsXx13EuXPn3LLkaVU0USilVFk6/f4ltI9CKaWUU5oolFJKOaWJQinl80qHnqrL+7fQRKGU8mlBQUHk5uZqssCWJHJzcwkKCqrRedqZrZTyaZGRkWRnZ3P8+HFHWUFBQY3/WNZlNalPUFAQkZE1ey5EE0Uljh49ylNPPcU333xDWFgYV199NQsXLqRjx47eDk0pVUOBgYG0b9++XFlycrLTZxnqG0/XRxNFBcYYhg8fztixY1m9ejUAO3fu5NixY5oolFINkiaKCjZt2kRgYCATJ050lHXp0sWLESmllHdpZ3YF6enpdOvWzdthKKVUnaGJolTpYiVrp8GOt9y2WEl9cPToUUaNGkVUVBTdunVj0KBB7Nu3D4vFQkJCAtHR0fTs2ZPly5c7zsnIyKB37940btyYP/7xj94LXinlcdr0BOUWK+nc0o/3Np9xy2Il9YGzPpmoqChSUlIAyMzMZMSIERhjGD9+PM2bN2fRokUkJSV5M3ylVC3QOwoot1jJ7e39uVBseP3rM47FStLS0vjyyy+9GaHHVNUn07Zt23LHdejQgQULFrBo0SIAWrVqRY8ePQgMDKzVeJVStU8TBZRblEREWHP/Vfwrs4io335H586dmTFjBq1bt/ZigJ5Tkz6Zrl27kpGR4eGIlFJ1jVebnkTkLuBPgD+w1Bgzr8L+Z4AJQBFwHPgfY0zlq3hciaaRtrVx7SJC/Xj3vqugaVt4Ot3JifVTUkoO89ft5fBpK7J7HzFNLrh0nj7ZqlTD5LU7ChHxB5YAdwM3Ab8UkZsqHJYCdDfGxAHvAX/wSDD9Z9kWJynLDYuV1EVJKTnM+GAXOaetGCA/+Br+9eXXJKXkVHtuSkoK0dHRng9SKVWneLPpqSew3xiTaYz5CVgN/LzsAcaYTcaY8/bNr4ErW4+wKnEjYcgi2x0EYvs+ZJFPdmTPX7cXa2GxYzvoui4UF/3Es799xVGWlpbGoUOHyp2XlZXFlClTmDRpUq3FqpSqG7zZ9NQGKPvXKBu42cnxDwNrPRZNA1ms5PBpa7ltEaHl8Oc4uuFvREVFERQURLt27Vi4cCEHDhwgISGBgoICQkNDmTx5MuPGjQNsQ2q7d+/O2bNn8fPzY+HChezZs4cmTZp4oVZKKU8Sb7U7i8i9wF3GmAn27dHAzcaYJyo59iHgCeBnxhinDerR0dHmtddec3rtvLw8QkJCLjv2uqSmddl79Bw/FZdcUt7I349OrT23lKIrCgoKWLt2LXfffbdPTNjmS79n4Fv18aW6gHvqc9ttt31rjOle2T5v3lHkAGXHYEbay8oRkTuA53AhSQAEBweTmJjo9Jjk5ORqj6kvalqX0/Y+irLNT5ZAf14aEUtiQhsPROi6vLw81q9fT9++fX3iP7Ev/Z6Bb9XHl+oCnq+PNxPFN8ANItIeW4IYBTxQ9gARSQD+iu3O48faD9H3DLMng9JRTxFhFqYO7OQoV0qpiryWKIwxRSLyBLAO2/DYN4wxu0VkLrDdGPMRMB8IAf4pIgAHjTFDvRWzrxiW0EYTg1LKZV59jsIY8xnwWYWyWWVe31HrQSmllCpHn8xWSinllCYKpZRSTmmiUEop5ZQmCqWUUk5polBKKeWUJgqlfIAvPKCo6i5NFEoppZzSRKGUUsopTRRKKaWc0kShlFLKKU0UStVXae/CqzEwJwwKrbZtpTzAq3M9KaUuU9q78PFkW4IAMCW2bWgQC3Cp2qV3FErVRxvmXkwSwPlCiHz5RyL7PUhkZCQLFizwYnDK1+gdhVL10Znscpsls0uXoBWYk33p8UpdAb2jUKo+ahpZs3KlroAmCqXqo/6zINBSvizQYitXys00UdSCo0ePMmrUKKKioujWrRuDBg1i3759WCwWEhISiI6OpmfPnixfvtxxzocffkhcXBzx8fF0796dLVu2eK8Cqu6JGwlDFkHTtoDYvg9ZpB3ZyiO0j8LDjDEMHz6csWPHsnr1agB27tzJsWPHiIqKIiUlBYDMzExGjBiBMYbx48fTv39/hg4dioiQlpbGyJEjycjI8GZVVF0TN1ITg6oVekfhYZs2bSIwMJCJEyc6yrp06ULbtm3LHdehQwcWLFjAokWLANskb/Z1wsnPz3e8Vkqp2qaJwsPS09Pp1q2bS8d27dq13F3DmjVruPHGGxk8eDBvvPGGp0JUSimnNFHUIcaYctvDhw8nIyODpKQknn/+eS9FpZRq6LSPwgOSUnKYv24vh09buerET7Bjm0vnpaSkEB0dfUl5v379yMzM5MSJE7Ro0cLd4SqllFN6R+FmSSk5zPhgFzmnrRggL/xGMo+d5rHfvOw4Ji0tjUOHDpU7LysriylTpjBp0iQA9u/f77jD2LFjBxcuXCA8PLzW6qGUUqX0jsLN5q/bi7Ww2LEtIoQPm8m7H73BulWvExQURLt27Vi4cCEHDhwgISGBgoICQkNDmTx5MuPGjQPg/fff56233iIwMBCLxcI777yjHdpKKa/QROFmh09bLykLCA0ndNBUDswbXK7car302FLTpk1j2rRpbo9PKaVqSpue3CwizFKjcqWUqus0UbjZ1IGdsAT6lyuzBPozdWAnL0WklFJXRpue3GxYQhsAx6iniDALUwd2cpQrpVR9o4nCA4YltNHEoJTyGdr0pJRSyilNFEoppZzSRKGUUsopTRRKKaWcqrYzW0RaAbcAEYAVSAe2G2NKPBybUkqpOqDKRCEitwHTgeZACvAjEAQMA6JE5D3gFWPM2doIVCmllHc4u6MYBDxijDlYcYeIBAD3AAOA9z0Um1JKqTqgykRhjJnqZF8RkOSRiJRSStUpLj1wJyKDgc7Ymp4AMMbM9VRQSiml6o5qRz2JyF+A+4FJgAD3Add5OC6llFJ1hCvDY/sYY8YAp4wxLwC9gY6eDUspdTmMMfTt25e1a9c6yv75z39y1113eTEqVd+50vRUumjCeRGJAHKBazwXklLqcokIf/nLX7jvvvu47bbbKCoqYubMmXz++efeDk3VY64kik9EJAyYD+wADLDUo1EppS5bTEwMQ4YM4eWXXyY/P58xY8YQFRXl7bBUPVZtojDG/Nb+8n0R+QQIMsac8WxYSqkrMXv2bLp27UqjRo3Yvn27t8NR9ZyzB+5uN8ZsFJERlezDGPOBZ0NTSrks7V3YMBfOZEPTSIL7z+L+++8nJCSExo0bezs6Vc85u6P4GbARGFLJPgNoolCqLkh7Fz6eDIX27sQzh+DjyfgdvxW/Jjd7NzblE5w9cDfb/nKuMea/ZfeJSHuPRqWUct2GuReTRKlCK2RuhihNFOrKuTI8trIpOt5zdyBKqct0Jrvy8gs6DZtyD2d9FDdiexq7aYV+iiaUeUJbKeVlTSNtzU0VzPn59fD0FC8EpHyNsz6KTtgm/gujfD/FOeARTwallKqB/rPK91EABFps5Uq5gbM+ig/tw2GnGWNerMWYlFI1ETfS9r3MqCf6z7pYrtQVcvochTGmWESGAZoolKrL4kZqYlAe48qT2V+JyGLgHSC/tNAYs8NjUSmllKozXEkU8fbvZacVN8Dt7g9HKaVUXePKFB631UYgSiml6iZX1qO4WkSWicha+/ZNIvKw50NTSilVF7jywN1yYB0QYd/eBzzlqYCUUkrVLa4kihbGmHeBEnCsl13s0aiUUkrVGa4kinwRCcfWgY2I9AJ0mnGllGogXBn19AzwERAlIl8BLYF7PRqVUkqpOsOVUU87RORn2Kb0EGCvMabQ45EppZSqE1y5owDoCbSzH9/VvnDRWx6LSimlVJ1RbaIQkZVAFJDKxU5sA2iiUEqpBsCVzuzuwC3GmMeMMZPsX5PdcXERuUtE9orIfhGZXsn+fiKyQ0SKRET7RWrJ0aNHGTVqFFFRUXTr1o1Bgwaxb98+LBYLCQkJREdH07NnT5YvX+445+233yYuLo7Y2Fj69OnDzp07vVcBpZRbudL0lA60Bo6488Ii4g8sAQYA2cA3IvKRMWZPmcMOAuMAnVS/lhhjGD58OGPHjmX16tUA7Ny5k2PHjhEVFUVKSgoAmZmZjBgxAmMM48ePp3379mzevJlmzZqxdu1aHn30Uf797397sypKKTdx6TkKYI+IrBORj0q/3HDtnsB+Y0ymMeYnYDXw87IHGGOyjDFp2J/hUJ63adMmAgMDmThxoqOsS5cutG3bttxxHTp0YMGCBSxatAiAPn360KxZMwB69epFdnYVq64ppeodV+4o5njo2m2AsstyZQNXvMBvfn4+ycnJTo/Jy8ur9pj6wt11WbNmDVdfffUl73n06NFL/m3Pnz/Pnj17Ljn2nXfeIT4+vsZxFRQUUFRUxJYtWwgKqv+LKPrS7xn4Vn18qS7g+fq4Mjx2s8eu7gHBwcEkJiY6PSY5ObnaY+oLd9UlKSWH+ev2kvHdTzQuMDzY9AaGJbRx7M/Kyrrk3/bUqVP4+fmVK9u0aRPJycls2bKF8PDwGsWQl5fH+vXr6du3LyEhIVdaJa/zpd8z8K36+FJdwPP1cbZm9hZjTF8ROYf9qezSXYAxxjS5wmvnAGXbMyLtZaqWJaXkMOODXVgLiwlocS0nv/qKGR/sAiiXLCpKSUkhOjrasZ2WlsaECRNYu3ZtjZOEUqruqrKPwhjT1/491BjTpMxXqBuSBMA3wA0i0l5EGgGjsD0BrmrZ/HV7sRbaRj4HXdcFU1zIj998yvx1ewFbAjh06FC5c7KyspgyZQqTJk0C4ODBg4wYMYKVK1fSsWPH2q2AUsqjXH3gzu2MMUUi8gS2mWn9gTeMMbtFZC6w3RjzkYj0ANYAzYAhIvKCMaazt2L2VYdPWx2vRYSWw5/j1Ia/8Z+X36Pzyua0a9eOhQsXcuDAARISEigoKCA0NJTJkyczbtw4AObOnUtubi6PPfYYAAEBAWzfvt0b1VFKuZnXEgWAMeYz4LMKZbPKvP4GW5OU8qCIMAs5ZZJFQGg4LYdNp02Yha+mX1zI0Gq1VnY6AEuXLmXp0qUejVMp5R2uDI9VPm7qwE5YAv3LlVkC/Zk6sJOXIlJK1SU1uqMQkf7AVcDnOjGg7yjtsJ6/bi+HT1uJCLMwdWAnpx3ZSqmGw+VEISKvYFuHogT4X2CQp4JStW9YQhtNDEqpSjkbHvsK8FtjzGl70bXASPvrXZ4OTCmlVN3grI/iA2C1iEy2z8v0FrAJ2Ab8rTaCU0op5X3OnqP4yhhzF3AS2xBWMcYkGmN6GWP+VGsRKqWU8qoqE4WIBIjIYOBHYBjQxT4hYJdai04ppZTXOevMTsLWzHQV8KAxZqyIRABzRcQYYx6plQiVUkp5lbNEcZ0x5h779BpfAxhjDgMTRCS+VqJTSinldc4SxV9FZJv99YKyO4wxqZ4LSSmlVF1SZaIwxiwGFtdiLEoppeogZ89RBAAPY+vILn0SKwf4EFimT2YrpVTD4KzpaSVwGngB2+pzYJugbyzwd+B+z4amlFKqLnCWKLoZYyouLJANfC0i+zwYk1JKqTrE2ZPZJ0XkPhFxHCMifiJyP3DK86EppZSqC5wlilHAvcAxEdknIt8DR4ER9n1KKeUWIsJDDz3k2C4qKqJly5bcc889vPnmm8THxxMfH0+jRo2IjY0lPj6e6dOn8/bbbxMXF0dsbCx9+vRh586dXqyF73I26ikLez+EiITby3JrJyylVEMSHBxMeno6VqsVi8XC+vXradPGNoZm/PjxjB8/HoB27dqxadMmWrRoAcDWrVvZvHkzzZo1Y+3atTz66KP8+9//9lo9fJXThYtEJERE7gXGAA+KyF1lm6KUUspdBg0axKeffgrAqlWr+OUvf1ntOX369KFZs2YA9OrVi+zs7GrOUJfD2VxPI4GNwF3AE0APYDSQKiKxtROeUqqhGDVqFKtXr6agoIC0tDRuvvnmGp2/bNky7r77bg9F17A5G/X0G6CXMea8iLQA3jbGDBSROOCvQJ9aiVAp5ZOSUnIcqypaC4vJLA4nKyuLVatWMWhQzdZF27RpE8uWLWPLli0eirZhc5YoBLDaX+cDrQCMMWki0sTTgSmlfFdSSg4zPtiFtbAYAGNgxge7iO+RyJQpU0hOTiY317Uu0bS0NCZMmMDatWsJDw/3ZNgNlrP+hs+Az0XkOeD/Af8EEJHm2JKIUkpdlvnr9jqSRClrYTHfh/Vg9uzZxMa61rp98OBBRowYwcqVK+nYseJjX8pdnI16miYig4CbgLnGmPX2XaeBrrURnFLKNx0+ba20PNeEMHmy65M+zJ07l9zcXB577DEAAgIC2L59u1tiVBc5a3rCGPMZtjuLsmUlwAVPBqWU8m0RYRZyyiSLa595z1FeKjExkcTExHLnZWVlldteunQpS5cu9VicyuayhrqKyOvuDkQp1XBMHdgJS6B/uTJLoD9TB3byUkTKGad3FE781a1RKKXqFH9/f2JjYyksLCQgIIAxY8aQkJDgtvcflmB7mK501FNEmIWpAzs5ylXdclmJwhjzrbsDUUrVHRaLhdRU2/pkP/74Iw888ABpaWncfvvtbrvGsHMtoA4AACAASURBVIQ2mhjqCWcP3HUXkU0i8ncRaSsi60XkjIh8IyLu+2ihlKrTWrVqxeuvv05SUhLGGG+Ho7zAWR/F/wF/AD4FtgJ/NcY0Babb9ymlGogOHTpQXFzMjz/+6O1QlBc4SxSBxpi1xphVgDHGvIftxQYgqFaiU0rVnrR34dUYmBMGhVbbtlI476MoEJE7gaaAEZFhxpgkEfkZUOzkPKVUfZP2Lnw82ZYgAEyJbRsgbiSZmZn4+/vTqlUr78WovMZZopiIrempBBgI/K+ILMe2bvajng9NKVVrNsy9mCRKFVphw1yOX3MbEydOZNiwYYjopAwNkbMns3diSxClnrR/KReVDjEsKioiOjqaFStWcNVVV3k7LKUudab89NzWIoj/Sx6FJd8RsPwORo8eTdeuOiFDQ3W5D9yNd3cgvqh0iGF6ejqNGjXiL3/5i7dDUqpyTSPLbRbPakLqxBB2z4hm586dTJkyBT8/XYqmobrcn/wLbo2iAbj11lvZv3+/t8NQqnL9Z0GgpXxZoMVWrhq8KpueRCStql3A1Z4JxzcVFRWxdu1a7rrrLm+HolTl4kbavm+Ya2uGahppSxKl5apBc9aZfTW2PopTFcoF23MVqjJp7zr+s1nP5xN/YzsICuPWW2/l4Ycf9nZ0SlUtbqQmBlUpZ4niEyDEGJNacYeIJHssovqswhBDSwCkji6AITP1P6BSqt6qso/CGPOwMabSdQWNMQ94LqR6zMkQQ6WUqq+czfUUUt3JrhzToFQYYlhtuVJK1QPORj19KCKviEg/EQkuLRSRDiLysIisA7R3tqwKQwzzZjaptFwppeoTZ01P/YENwK+A3faZY3OBvwOtgbGl8z8pOx1iqJTyQTVeClU5oUMMlVI+6HJXuFNV0SGGSikfo8/kK5/j7+9PfHw8MTExDBkyhNOnTwOQlZWFxWIhISGB6OhoevbsyfLlyx3nZWRk0Lt3bxo3bswf//hHL0WvVN2jdxTK55RdxnPs2LEsWbKE5557DoCoqChSUlIAyMzMZMSIERhjGD9+PM2bN2fRokUkJSV5LXal6qLLnRRQh8WqeqF3797k5ORUuq9Dhw4sWLCARYsWAbYlP3v06EFgYGBthqhUnXe5TU973BqFUh5QXFzMhg0bGDp0aJXHdO3alYyMjFqMSqn6x9mkgM9UtQvQOwpVpySl5DB/3V4On7aSf95K+06dyTv5I9HR0QwYMKDK84wxtRilUvWTszuKF4FmQGiFr5BqzlOqViWl5DDjg13knLZiAAloRNDIV1j84TaMMSxZsqTKc1NSUoiOjq69YMvIysoiJiamXNmcOXO0I13VOc46s3cAScaYbyvuEJEJngtJqZqZv24v1sLyy7hbC4tZ9MVBFi9axLBhw3jssccuOS8rK4spU6YwadKk2gpVqXrJWaIYD+RWsa+7B2JR6rIcPm2tsjwh4Xbi4uJYtWoVt956KwcOHCAhIYGCggJCQ0OZPHky48aNA+Do0aN0796ds2fP4ufnx8KFC9mzZw9NmjSpxdooVfc4WzN7r5N9xzwTjlI1FxFmIadMsrj2mfcc5QAff/yxY5/VWnlSAWjdujXZ2TqBo1IVaV+D8ggR4aGHHnJsFxUV0bJlS+655x4Ajh07xj333EOXLl246aabGDRoEABnz56lb9++xMfH07lzZ5fWGZ86sBOWQP9yZZZAf6YO7OTGGrmfiNSoXClv0QfulEcEBweTnp6O1WrFYrGwfv162rRp49g/a9YsBgwYwJNPPglAWlqa47wNGzYQHh5OXl4eMTExDB06lIiIiCqvNSzB9r6lo54iwixMHdjJUV6nlFkBMTzoGk79WP7m/OTJk7Rv395LwSlVuWrvKETkFlfKlKpo0KBBfPrppwCsWrWKX/7yl459R44cITLy4vTrcXFxgG36jcaNGwNw4cIFSkpKXLrWsIQ2fDX9dv47bzBfTb+97iaJjyfDmUOAIaTgMNcEnmPj32yzC588eZLPP/+cvn37ejdOpSpwpenpzy6WNQhVzSOkLjVq1ChWr15NQUEBaWlp3HzzzXz66ac89NBDPP744zz88MMkJiYSHBzMHXfcAUB+fj6DBw/GYrHQsmVLQkNDHXcTd911F2FhYY7mq3qnkhUQ3xrWmN++/Arx8fHcfvvtzJ49m6ioKC8FqFTlnK1w11tEngVaisgzZb7mAP5VnefrSucRSk9Pp3nz5k7H6Dc0SSk53DJvI+2nf4q1sJjM4nCysrJYtWqVow/C39+f9PR0+vXrR2ZmJj179qRx48Z8+eWXHD9+nK1btzJ48GCsVivZ2dmICMeO2Zpnpk6dysqVK71ZxStTyUqHN7X0Z9NDgaSmppKamsqDDz7ohcCUcs7ZHUUjbA/XBVD+gbuzwL2eD63uczaPUENT8aE3Y2DGB7u4oUciU6ZMKdfsVNok1bx5c44ePcq0adMICwtj69at5OfnO/oyIiIi6NmzJ19++SUA/fv3JzQ01BvVc4+qVjrUFRBVHedshbvNxpgXgF7GmBfKfC0wxnxfizHWSa7MI9SQVPXQ2/dhPZg9ezaxsbGO8lGjRrFo0SJOnjxJWloasbGx5OfnExkZSceOHXnssce47bbb+M1vfkNycjKdOtXt0Usu0xUQVT3lyqinxiLyOtCu7PHGmNs9FVSdU2akivV8PvE3tiMnN7/aeYQakqoeess1IVx7a19umbeRA2n/prjEkFkcTmZmJjExMRQVFfH4449z7bXX0q1bN4KDg4mIiCAzM5PU1FSKi4tp3bp1LdfGQ3QFRFVPudKZ/U8gBfgNMLXM1xUTkbtEZK+I7BeR6ZXsbywi79j3/1tE2rnjujVSYaSKJQBSRxfwwycLqp1HqCEpSfmAw0sf4/AbT3D4zUlcPer3AIRdFehokgq6Ng4JaMSMD3Zx65BRXLhwgQ0bNvDmm2/SoUMHAK677jq++eYbfvjhB06dOkW/fv344osvvFk194obCU+nw5zTtu+aJGrM2TM6b775JvHx8cTHx9OoUSNiY2OJj49n+vTpfPjhh8TFxREfH8+vfvUrtmzZ4sVa1C+u3FEUGWNec/eFRcQfWAIMALKBb0TkI2NM2SnMHwZOGWOuF5FRwMvA/e6OxalKRqpQaOWqrS+zaNFKxzxCAQEN95GUbdu2EXQklfaP/JkLxp/i82cwxUVYAv0xBidNUtcSGxtLcnKyY9/Bgwc5f/48ISEhnDt3jgMHDnDttdfWco1UXebsGZ3x48czfvx4ANq1a8emTZto0aIFAHl5eQwdOhQRYdmyZUyYMEGnmHeRK3/dPhaRx4A1wIXSQmPMySu8dk9gvzEmE0BEVgM/p/xaFz8H5thfvwcsFhExTuaGLikpIS8vz+mFCwoKqj3GIfcIFQd55RX5Q+4RbrjhBm666SbefPPNcp21talGdfGQzMxMOrRpxbghN7Jow36OFjWmddMwJvfvwMwPdl1y2+pXVMApAvif//kf8vLysFqtFBUVkZeXx9GjR+nbty+NGjWipKSE0aNHEx0dTV5eHnfeeSf79u1zdHgvWbLEMay2LqoLPxt38lZ9QkNDuf/++1m6dKmjbN++ffTu3Ztf/epXzJw5k6CgINLS0ujcuTP+/v7ccccd/PTTTwwYMIA9e/Ywa9YsnnzySfLz8wHbDADGGJ/5+Xj6ZyPVzccvIv+tpNgYYzpc0YVF7gXuMsZMsG+PBm42xjxR5ph0+zHZ9u0D9mNOVPW+rVu3NtUNMSwqKnL9DqDgNJQUX1ru5w9BYa69hwfVqC4e8tNPP/HOO+9QWFjIddddR8eOHWnbti0AZ6yFFFfyO+YvQlNL+ZXkioqKyM7OJjIy0ut1coe68LNxJ2/V589//jNhYWGMGjWKwMBA/vSnP9GkSRMuXLjAhAkTWLVqFYmJiaxZs4ZHHnkEi8U2YOD111/nzjvvJDs7m6CgILp3787333/Pli1bOH/+PMOHD3f6xH994o6fzYIFC741xlQ64Wu1icJTPJUounbtaqpr096yZYvrT7+mr4HPp0FRwcWygCC462WIGe7ae9hV/GRUVFTE9ddfT/fu3Xnvvff48ccfeeyxx8jJyXH80X3//fdJS0vjqaee4ty5c/j7+zN16lR+8Ytf1Lwu7pS+Br74A5w9DE0iKL5lClvPtuKLL77gjTfe4IUXXuChhx7i07TDvPDxHgrKND8FBfoze8hNDI4r/580Ly+PefPmMX36dEJC6v/aWF772XiIt+rTunVrJk6cSHx8PMOGDaNZs2Y8//zzvPLKK8ybN48DBw7Qv39/RowYwXfffedoaurcuTObN2/m9ddfJzg42DFdDMBrr73GZ599Vm7CyPrMHT+b0NDQKhNFtSlIRK4CngGuNcY8KiI3AJ2MMZ9cUVSQA7Qtsx1pL6vsmGwRCQCaUvXU5wD4+flV+0cmKCjI9T9EvUbDVY3dMlIlODiYjIwM/P39sVgsrF271vHpOSQkhGeffZa777673PxHISEhtGjRgrfffpsbbriBw4cP061bN37+858TFhZWs7q4S9q7sGGqre8mADh/EJKncfeQRdz90kt069aNFStWMHHiRO7v05HGlmCX52Hy9/cnJCTEJxKFV342HuTN+kT2GMiTv/stz6UGU1RcjN810bRu3doxhDo3NxcRKfe7U7rdqFEjGjduXC72Hj168Nprr1FQUOBILPWZp382rtyrvAl8C/Sxb+dgGwl1pYniG+AGEWlvf89RwAMVjvkIGAtsw/aQ30Zn/RMeEzfSbaNTSh82u/feex3zH5U+UHbkyBHuvPPOi5e1z3/UsWNHR1lERAStWrXi+PHjhIV5qemrQgf/3hPF+EkeN2yYC3EjSU1N5brrrnPsH5bQpm7OvaTqheISw1/Ti8k7cQTZsxnEj9e/+C9hTVsy+/HHLxkQUZX9+/cTFRWFiLBv3z4uXLhAeHi45yvgA1wZHhtljPkDUAhgjDmPbd3sK2KMKQKeANYB3wHvGmN2i8hcESl9im0ZEC4i+7Hd1VwyhLa+qWz+o1Kl8x/ddttt/P73v+fw4cOXnP+f//yHn376ybvzAVWYiiLvJxibVMBNL35HXFwce/bsYc6cOd6JTfmEstPBXCgqwVpYjOX6mzm16Q3Ez5+fiovJPlvE5MmTXX7P999/n5iYGOLj4/nTn/7EO++8o1O6u8iVO4qfRMQCGAARiaLM6KcrYYz5DPisQtmsMq8LgPvccS1vSUrJcTS7VDX/UamBAweSmZnJ559/ztq1a0lISCA9PZ2WLVsCtjuO0aNHs2LFCvz8vLiUSNNI+3MlNt0i/Ek7Vkzey53h6TTvxaV8Qul0MBWHVYfEDsCvcTBNug+l4GAaBUUXZxZOTEykVatW5Y7Pysoqtz1t2jSmTZsGQHJysk/1H3maK39tZgOfA21F5G1gA/Brj0blI2oy/1Gp5s2b88ADD7By5Up69OjheNjs7NmzDB48mN///vf06tWrlmtSQWVTUYjoVBTKLSqbDgYgoEkLmnS/OGVOUIDzP19Hjx4lMjKSBQsW8Lvf/Y7IyEjOnj3r9ngbgmrvKIwx60VkB9ALW5PTk85GHamLnM9/dOnDZhs3bqRXr15cddVV5R42++mnnxg+fDhjxozh3nvrwHyMlU1F4b9fnzJWblFxOpjSpW3LahaVwEtTx5Qrq3gHoUvbuo+rA2+DgFP2428SEYwxPjSvgmc4m/9o8uRLHzD/9ttveeKJJwgICKCkpIQJEybQo0cP/v73v/PFF1+Qm5vL8uXLAVi+fDnx8fGeDN+5ih38z/vO6B7lXRXXQC/lL0KJMXV7BUMf5crw2NJpM3YDpY2CBtBEUY2Kv/Cln4wiwi422yQmJpKYmAjY1luYOvXSabQeeuihcnPbKOXLpg7sdEkfhSXQn5dGxGpy8BJX7iiGYXtuwi0d2A1JVb/wUwf6yLTZZWbVpdBq29bmJ3WF6tUa6A2EK4kiEwjETSOdGhKf/oUvnVW39HkKU2LbBk0W6orpszd1iyuJ4jyQKiIbKD8poOsDmBswn/2Fr2JWXewP3SmlfIcrieIj+5dSF1V86G5mk0rLleccO3aMp59+mq+//ppmzZrRqFEjfv3rXzN8eM3mIFOqOq4Mj10hIo2A0nkk9hpjCj0blqrzKjx0V65ceZwxhmHDhjF27Fj+8Y9/APDDDz/w0Uf6mU65X7UP3IlIIvA9tkWG/g/YJyL9PByXqut0/Wev2rhxI40aNWLixImOsuuuu45JkyZ5MSrlq1xpenoFuNMYsxdARDoCq4BungxM1XG6/rNX7d69m65du3o7DNVAuJIoAkuTBIAxZp+IBDo7QTUQbpxVV7mg7HDknRYIuZgoHn/8cbZs2UKjRo345ptvvBik8kWuzPW0XUSWikii/etvwHZPB6aUKqN0OPKZQ4Chc+hZdmxZbysHlixZwoYNGzh+/Lh341Q+yZVE8b/Y1rGebP/aYy9TStWWCsORb2/vT0FhMa/NfcpRdv78eW9EphoAV0Y9XRCRxdhmjS3BNurpJ49HppS6qMKwYxEh6f6reHrdCf7Qvj0tW7YkODiYl19+2UsBKl/mylxPg4G/AAewzR7bXkR+ZYxZ6+nglFJ2lQxHvibUj9UPd4Sn070UlGooXGl6egW4zRiTaIz5GXAb8Kpnw1JKlaPDkZUXuZIozhlj9pfZzgTOeSgepVRl4kbCkEXQtC0gtu9DFumoM1UrXBkeu11EPgPexTa9+H3ANyIyAsAY84EH41NKldLhyMpLXEkUQcAx4Gf27eOABRiCLXFoolBKKR/myqin8bURSEPl7+9PbGysYzspKYl27dp5LyCllKrAlVFP7YFJQLuyxxtjhlZ1jnKdxWIhNTXV22EopVSVXGl6SgKWAR9zcSlUpZRSDYQriaLAGLPI45E0UFarlfj4eADat2/PmjVrvByRUkqV50qi+JOIzAb+H+VXuNvhsah8XZnJ3SwBkPrWTB3NopSqs1xJFLHAaOB2LjY9Gfu2qilda1opVc+4kijuAzro/E5uomtNK6XqGVeezE4HwjwdSINR1ZrSuta0UqqOcuWOIgzIEJFvKN9HocNjL0eFyd3yZja5WK6UUnWQK4litsejaEj6zyrfRwE6uZtSqk5z5cnszSJyNdDDXvQfY8yPng3Lh+la00qpesaVJ7NHAvOBZGzrUfxZRKYaY97zcGy+Syd3U0rVI650Zj8H9DDGjDXGjAF6As97NixVkb+/P/Hx8cTExDBkyBBOnz4NwNGjR7FYLCQkJBAdHU3Pnj1Zvny547wPP/yQuLg44uPj6d69O1u2bPFSDZRS9ZUrfRR+FZqacnEtwSg3Kjsn1NixY1myZAnPPfccAFFRUaSkpACQmZnJiBEjMMYwfvx4+vfvz9ChQxER0tLSGDlyJBkZGV6rh1Kq/nHlD/7nIrJORMaJyDjgU0CXQfWi3r17k5OTU+m+Dh06sGDBAhYtss26EhISgogAkJ+f73itlFKuqjZRGGOmAn8F4uxfrxtjfu3pwFTliouL2bBhA0OHVj06uWvXruXuGtasWcONN97I4MGDeeONNy45vqpmraysLKfNWm+//TZxcXHExsbSp08fdu7c6b6KKqXqjCoThYhcLyK3gG0VO2PMM8aYZ4DjIhJVaxE2YEkpOdwybyPtp39K/nkr7Tt1pnXr1hw7dowBAwZUeZ4xptz28OHDycjIICkpieefv7R7qbRZKz09nebNm7NkyRLHvtJmre+++47Vq1ezcOFC3nzzTcA2ieHmzZvZtWsXzz//PI8++qibaq6Uqkuc3VEsBM5WUn7Gvk95UFJKDjM+2EXOaSsGkIBGBI18hcUfbsMYU+6PeUUpKSlER0dfUt6vXz8yMzM5ceJElefWpFmrT58+NGvWDIBevXqRna1Plyvli5wliquNMbsqFtrL2nksIgXA/HV7sRYWlyuzFhaz6IuDLFq0iFdeeYWioqJLzsvKymLKlClMmjQJgP379zvuMHbs2MGFCxcIDw+v9JqX06xVatmyZdx9990u108pVX84G/XkbH4ni7sDUeUdPm2tsjwh4Xbi4uJYtWoVgYGBHDhwgISEBAoKCggNDWXy5MmMGzcOgPfff5+33nqLwMBALBYL77zzDiJCUkoO89ft5fBpq6NZK+/kj0RHR9eoWQtg06ZNLFu2TIfeKuWjnCWK7SLyiDHmb2ULRWQC8K1nw1IRYRZyyiSLa595z1EO8PHHHwOQnJyM1Vp5UgGYNm0a06ZNK1dW2qxVesdS2qw17+7rWTxtPEuWLGHy5MmVvl/FZq20tDQmTJjA2rVrq7xTUUrVb86anp4CxotIsoi8Yv/aDDwMPFk74TVcUwd2whLoX67MEujP1IGdrvi93dWsdfDgQUaMGMHKlSvp2LHjFcellKqbqryjMMYcA/qIyG1AjL34U2PMxlqJrIEbltAGwNE8FBFmYerATo7yK+Fqs9att97qtFlr7ty55Obm8thjjwEQEBDA9u3brzg+pVTd4sqkgJuATbUQi6pgWEIbtySGilxt1gKcNmstXbqUpUuXuj0+pVTdolNxNECebNZSSvkeV+Z6Uj7Gk81aSinfo4migfJUs5ZSyvdo05NSSimnNFH4ABHhoYcecmwXFRXRsmVL7rnnHi9GpZSqbU8//TQLF16cYWngwIFMmDDBsf3ss8+yYMGCGr+vJgofEBwcTHp6umOE0vr162nTRpuVlGpobrnlFrZu3QpASUkJJ06cYPfu3Y79W7dupU+fPjV+X00UPmLQoEF8+umnAKxatYpf/vKXXo5IKVXb+vTpw7Zt2wDYvXs3MTExhIaGcurUKS5cuMB3331H165da/y+mih8xKhRo1i9ejUFBQWkpaVx8803ezskp0SEZ5991rH9xz/+kRdffNGLESlV/0VERBAQEMDBgwfZunUrvXv35uabb2bbtm1s376d2NhYGjVqVOP31URRX6W9C6/GwJFUKLQSRwZZWVmsWrWKQYMGeTu6ajVu3JgPPvjA6ZTnSqma69OnD1u3bnUkit69ezu2b7nllst6T00U9VHau/DxZDhzyLZtSuDjyQzt2YEpU6bUi2angIAAHn30UV599VVvh6JU/Wc9ZfvgOCeMWy5sYutHK9i1axcxMTH06tWLbdu2XXb/BGiiqJ82zIXCClNrFFr5n5Y7mT17NrGxsd6Jq4Yef/xx3n77bc6cOePtUJSqv9LetX1oPHMIMPRpcZZPPl9P80aF+Pv707x5c06fPs22bds0UTQoZypfSS5SjlU5PXidUNpcNicMCq00yfqcMWPGOFbMU0pdhg1zba0KdrGt/DiRX0yv0KMXy2Jjadq0KS1atLisS2iiqI+aRpbbzJvZ5JLyxMREPvnkk9qMyrlyzWXG0Vz21IB2LFu2jPz8fG9HqFT9VOGDo7+fcHZGE353S6GjbPny5ezdu/eyL6GJoj7qPwsCKywyGGixlddVVTSXNd++gJEjR7Js2TLvxKVUfVfhg2O15ZdBE0V9FDcShiyCpm1t203b2rbjRno3LmeqaC7jTDbPPvusjn5S6nL1nwVS4U+5mz84aqKor+JGwtPpcE287XtdThLgtLns6quv5vz588ycOdMLgSlVz8WNtH1YbNoWEI98cNTZY1Xt6D/L1kdRtvkp0EJut6fpHx8PwJEjR8jPz2f9+vX4+fmxc+dOunTpgjEGf39/Fi9e7Bi1cdddd/H111/Tt2/futUXo5Q3WJrZPjB6iFfuKESkuYisF5Hv7d+bVXHc5yJyWkT0L0F9V6657OKnnvB+D5OamkpqaioPP/ww3bp1Y+vWraSmphIcHExqaio7d+7kpZdeYsaMGY63mzp1KitXrvRefZRqQLx1RzEd2GCMmSci0+3b0yo5bj5wFfCr2gxOeUjcyMu+HT579izNml38PNG/f3+Sk5PdFJhSyhlvJYqfA4n21yuAZCpJFMaYDSKSWLFcNQxWq5X4+HgKCgo4cuQIGzdu9HZISjVI3koUVxtjjthfHwWu9lIcykuSUnIuWYq1IovFQmpqKgDbtm1jzJgxpKenIyK1Ha5SDZrHEoWI/AtoXcmu58puGGOMiBh3XTc/P7/aJom8vDyfabaoj3U5bS0k55SVUW0NtAU4R85337LvwH8pKSlhy5YtBAUFUVxcXK5uR44cISkpydEElZqaSm5ubp2tf3382TjjS/XxpbqA5+vjsURhjLmjqn0ickxErjHGHBGRa4Af3XXd4OBgEhMTnR6TnJxc7TH1RX2syy3zNpJz2v+S8uIf/ejg50ffvn0JCQnB39/fUbeMjAz8/PwYOnQo/v4Xz/3Xv/5VZ+tfH382zvhSfXypLuD5+nir6ekjYCwwz/79Qy/Fobzg8GlrpeV5Fwoh8OJ2aR8FgDGGFStWOJLErbfeSkZGBnl5eURGRrJs2TIGDhzo8diVaoi8lSjmAe+KyMPAD8BIABHpDkw0xkywb38J3AiEiEg28LAxZp2XYlZuEhFmIaeSZHHT3ePofnqDY7u4uLjK9/jyyy89EptS6lJeeY7CGJNrjOlvjLnBGHOHMeakvXx7aZKwb99qjGlpjLEYYyI1SfiGqQM7YQks3/RkCfRncv/rvRSRUsoZncJD1bphCW14aUQsbcIsCNAmzMJLI2IZHBfh7dCUUpXQKTyUVwxLaMOwhDblyvLy8rwUjVLKGU0UDUBubi79+/cH4OjRo/j7+9OyZUuAKudT+uGHHxg+fDglJSUUFhYyadIkJk6c6M1qKKW8RBNFAxAeHu54cG3OnDmEhIQwZcoUAEJCQhz71q1bx4wZM9i8eTPXXHMN27Zto3HjxuTl5RETE8PQoUOJiNDmIaUaGu2jUA5l51Nq1KgRjRs3BuDChQuUlJQ4O9UtWrcu/3zm8uXLeeKJJzx+XaWUc3pH0cA5m0/p0KFDDB48mP379zN//ny9m1CqgdI7PDwheAAADtdJREFUigaudD6ljIwMPv/8c8aMGYMxthlV2rZtS1paGvv372fFihUcO3bMy9EqpbxB7yh8mCsT75XVu3dvTpw4wfHjx2nVqpWjPCIigpiYGL788kvuvfdej8VrtVpZuXKlY+GikydPMnToUI9dTynlGr2j8FFJKTnM+GAXOaetGCDntJUZH+wi48jZKs/JyMiguLiY8PBwsrOzsVptT0+fOnWKLVu20KmT80RzWdLehVdjYE4YlgAY/cD9joWL5s6d6/7rKaVqTO8ofNT8dXuxFpafAsNaWMxXB3LpfsPFvoaq5lP67rvvePbZZxERjDFMmTKF2NhY9waZ9m755VFNCfyUB+lroNdo915LKXXZNFH4qKom3gvoPpIpUwY7tquaT2nAgAGkpaV5JDaHDXPLr6ENYAx88QdNFErVIdr05KMiwiw1KveKM9mVl589XLtxKKWc0kTho6qaeK+6Du1a1TSy3ObRX9vXxG5iaxobN24cixcvru2olFIVaKLwUVVNvFdxfiWv6j8LAivc4YhAv197Jx6lVKW0j8KHVTbxXp0SN9L2fcNcWzNUkzaQFwIxw70bl1KqHE0UyrviRl5MGHl5MHu2d+NRSl1Cm57U/2/v7oOsqu87jr8/LE9LMAVRQkArlUBSMbA8xIEaTVQa2mCMNLRqRbTTTsc2TdukmMrYOtQMkxrTJk1iQ9tMC2RapHGMMSaKDyhaRVFx5SEDIg5WYaNAi9h0KQS//eP3u3DZvXv2Lvtwd+Hzmrmz5+F3zv1+z+7e73m453fMzAq5UJiZWSEXCjMzK+RCYWZmhVwozMyskAuFmZkVcqEwM7NCLhRmZlbIhcLMzAq5UJiZWSEXCjMzK+RCYWZmhVwozMyskAuFmZkVcqEwM7NCLhRmZlbIhcLMzAq5UJiZWSEXCjMzK+RCYWZmhVwozMyskAuFFdq3bx8NDQ00NDQwatQoxowZc3RcEg0NDUyePJmpU6fy9NNPA9DY2MjMmTOZOHEikyZNYtWqVTXOwsw6o3+tA7DebcSIETQ2NgKwePFihg4dysKFCwEYOnTo0XmrV69m0aJFrF27liFDhrBixQrGjx/P7t27mTZtGrNnz2bYsGE1y8PMTpwLhXWJAwcOMHz4cAAmTJhwdPro0aMZOXIke/bscaEw66NcKOyENTc309DQwMGDB2lqamLNmjWt2qxfv55Dhw4xbty4GkRoZl3BhcIquvfFXdyxehu79zczelg9N83+YKs29fX1R089rVu3jgULFrB582YkAdDU1MR1113H8uXL6dfPl8PM+ir/91or9764i0X3bGLX/mYC2LW/mUX3bGJr04E2l5k5cyZ79+5lz549QDoVNWfOHJYsWcKMGTN6KHIz6w4uFNbKHau30Xz4yHHTmg8f4akd+9pcZuvWrRw5coQRI0Zw6NAh5s6dy4IFC5g3b153h2tm3cynnqyV3fubK05/5+Dh48ZL1ygAIoLly5dTV1fHypUreeKJJ9i3bx/Lli0DYNmyZUfbmlnf4kJhrYweVs+uCsVi4uW/x8KFlx4dP3LkSKs2APPnz2f+/PndFp+Z9SyferJWbpr9QeoH1B03rX5AXcUL2mZ28vMRhbVy5ZQxAK2+9VSabmanFhcKq+jKKWNcGMwM8KknMzNrhwuFmZkVcqEwM7NCLhRmZlbIhcLMzAq5UJiZWSEXCjMzK+RCYWZmhVwozMyskAuFmZkVUkTUOoYuJWkP8Fqt4zAz62POiYgzK8046QqFmZl1LZ96MjOzQi4UZmZWyIXCzMwKuVCYmVkhFwozMyt0ShQKSadLeljS9vxzeIU2DZLWSdoiaaOkq2oRa3uqySW3e1DSfkn393SM1ZD0a5K2SXpF0s0V5g+StCrPf1bS2J6PsjpV5HKxpA2Sfi5pXi1i7Igq8vmCpJ/k/5NHJZ1TizirUUUuN0raJKlR0n9IOq8WcVarvXzK2n1GUkia3iVvHBEn/Qv4CnBzHr4ZuL1CmwnA+Dw8GmgChtU69hPJJc+7DPgUcH+tY64QWx2wAzgXGAi8BJzXos0fAkvz8NXAqlrH3YlcxgKTgBXAvFrH3AX5XAIMycN/0Md/N+8tG74CeLDWcXcmn9zuNOAJ4Blgele89ylxRAF8Glieh5cDV7ZsEBEvR8T2PLwbeAuoePNJjbWbC0BEPAq801NBddAFwCsR8WpEHALuIuVVrjzPu4HLJKkHY6xWu7lExM6I2Ai8W4sAO6iafB6LiP/No88AZ/VwjNWqJpcDZaPvAXrzjWXV/N8AfAm4HTjYVW98qhSK90VEUx7+KfC+osaSLiBV7B3dHdgJ6FAuvdQY4PWy8TfytIptIuLnwNvAiB6JrmOqyaUv6Wg+vws80K0RnbiqcpH0WUk7SEfrf9xDsZ2IdvORNBU4OyJ+1JVv3L8rV1ZLkh4BRlWYdUv5SESEpDb3GiS9H/gucH1E1GQPsKtyMetOkuYD04GP1TqWzoiIO4E7Jf028BfA9TUO6YRI6gf8LXBDV6/7pCkUETGrrXmS3pT0/ohoyoXgrTbavRf4EXBLRDzTTaG2qyty6eV2AWeXjZ+Vp1Vq84ak/sAvAPt6JrwOqSaXvqSqfCTNIu24fCwi/q+HYuuojv5u7gK+3a0RdU57+ZwGnA88ns/SjgLuk3RFRDzfmTc+VU493cexvYTrgR+0bCBpIPB9YEVE3N2DsXVUu7n0Ac8B4yX9Ut7uV5PyKlee5zxgTeQrdb1MNbn0Je3mI2kK8A/AFRHRm3dUqsllfNnoHGB7D8bXUYX5RMTbEXFGRIyNiLGk60edLhKllZ/0L9K57UdJfwSPAKfn6dOB7+Th+cBhoLHs1VDr2E8klzz+JLAHaCady5xd69hb5PFJ4GXSdaBb8rTb8h82wGDge8ArwHrg3FrH3IlcPpJ/Bz8jHRVtqXXMncznEeDNsv+T+2odcydy+TtgS87jMWBirWPuTD4t2j5OF33ryb3HmplZoVPl1JOZmZ0gFwozMyvkQmFmZoVcKMzMrJALhZmZFXKhsE6TNErSXZJ2SHpB0o8lTah1XJ0h6eOSfqWNeZL0jdyD58bcbUKldvWS1kqqk3RO7kG2MfdQfGNuc1qeVnrtlfT1Cuv61bxtN+Wfl7a3vKTPSdqcfx8D87SPSvpaQd5Pd3xrtbmuK8t7Y5V0W75Rr2iZr5Zys16k1t8L9qtvvwAB64Aby6ZNBi6qdWydzGsxsLCNeZ8k9W8kYAbwbBvtPgv8SR4eCAzKw0OBncDoCsu8AFxcYfqUUnvS3be72njPo8uTbrjqR+qW4lM53tXke2+6efv1B5bRwd5ygXOAh2r9+/fr+JePKKyzLgEOR8TS0oSIeCkinsx73nfkvdpNys/4yHvrayX9QNKrkv5a0rWS1ud243K7ZZKWSnpe0suSLs/TB0v6l9z2RUmX5Ok3SLpH6Vkc2yV9pRSTpE8oPW9kg6TvSRqap++U9Fd5+iZJH1J69sWNwOfzXvpFLXL+NOkO/ojU1cuw3J1KS9eS75yPiENxrKuLQVQ4ms9HYSNJN0seJyJejNSrMaQbxOolDWpneQEDgCGkm0nnAw9ExH9ViLW0jv/JPz8u6XFJd0vaKulfpdQvhKRp+ff3gqTVpdxz+69Leh74c1K33XfkbTgu/z7n5ba3Snou/238Y2ndEfEaMEJSpb7OrEZcKKyzziftxVbyG0AD6QhjFulDo/SBOpn0YfzLwHXAhIi4APgO8LmydYwlda88B1gqaTBpTz0i4sPANcDyPJ38flcBHwauknS2pDNIe9WzImIq8DzwhbL32Junf5t0FLETWAp8LSIaIqLlB3c1vXgOJN1NvrNs2tmSNuZlby/74C8pPXejvbtgPwNsiNZ9LLVc/luko4pfBJ4Cfge4s511l5sC/ClwHukZCBdKGgB8k3SkMA34Z2BJ2TIDI2J6RCwhdS9xU96GLXti/lZEfCQizgfqgcvL5m0ALuxAnNbNTppOAa1X+iiwMiKOAG9KWkvqzuIA8Fzk7tKVunh+KC+ziXSUUvLvkXrx3S7pVeBDeb3fBIiIrZJeIz14CuDRiHg7r/cnpFMZw0gfdk/lHdeBpNNlJffkny+QiltXOAPYXz4hIl4HJkkaDdwr6e6IeLOsydWkotkmSRNJzxr4RIXZxy0fEd8l9YSMpFuBbwC/LmkBqVj9WRT3kLw+It7IyzeSivZ+0s7Bw3lb1pEe8lWyqij+MpdI+iLpaOd00lHSD/O8t0gPD7NewoXCOmsLqdO+jirfG363bPxdjv+7bLl33d7edvl6j+R1CXg4Iq5pZ5lS+/ZU0ytpM6m/qlYiYrekzcBFpIcyIWky0D8i2jo6Q9JZpI4rF7TcQy9aPhemCyLitlysLyUdYV0GPFyQZ1vbcktEzGxjmZ8VrK8Uz2Dg70n9EL0uaTHHb6vBpO1nvYRPPVlnrQEGSfr90gRJk/J5/SdJp3/qJJ0JXEzq4K8jflNSv3zd4lxgW17vtfm9JpBOrWwrWMczpNMmH8jLvEftfyvrHVK3zZXcByzI12BmAG/HsYdJARAR/w3UlU6JSTpLUn0eHk46KiqP+RpgZVvBSBpG6gL/5oh4qkKTouW/BNyah+tJxfZd0t58R20DzpQ0M8c1IB/lVNLWNiwVhb35WlHLHY0JwOYTiM26iQuFdUo+Hz4XmKX09dgtwJdJT9/7PrCR9GzfNcAXI+KnHXyL/yQVlwdI36w6SNob7SdpE+lUxw0VzteXx7iH9DCXlfkawTrSKawiPwTmtnEx+8fAq6Sebf+J9HzvSh4iFQRI12KelfQSsBb4akRsKmv7W7T4oJd0haTb8ugfAR8AbtWxr8KOLFo+r2MKQERsyJP+jXR670LgwTbiblOkR3DOA27PuTQCFb9GTHq+w035Cwfjytaxn7TdNpO+hfVcWbwDcp6d7xrbuox7j7VeS9Iy4P7o3c8HaZPS/RWfj4jC6w52jKS5wNSI+Mtax2LH+IjCrJvkvfjHJNXVOpY+pD/wN7UOwo7nIwozMyvkIwozMyvkQmFmZoVcKMzMrJALhZmZFXKhMDOzQi4UZmZW6P8BHywokK22LZMAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ca.plot_coordinates(data);" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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.7.6" } }, "nbformat": 4, "nbformat_minor": 4 }