317 lines (316 with data), 150.9 kB
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Notebook for running SCOT on scGEM Data\n",
"\n",
"Below, we replicate our results for the scGEM dataset reported in [\"Gromov-Wasserstein optimal transport to align single-cell multi-omics data\"](https://www.biorxiv.org/content/10.1101/2020.04.28.066787v2). \n",
"\n",
"If you have any questions, e-mail: ritambhara@brown.edu, pinar_demetci@brown.edu, rebecca_santorella@brown.edu \n",
"\n",
"**Access to the dataset:** The dataset was originally generated by Cheow et al, reported in the paper [\"Single-cell multimodal profiling reveals cellular epigenetic heterogeneity.\"](https://www.nature.com/articles/nmeth.3961). This dataset contains cells from BJ cell line (human fibroblast cells), differentiating into iPS cells (pluripotent stem cells). We access the pre-processed version stored in https://github.com/jw156605/MATCHER/tree/master/pymatcher/data. "
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import sys\n",
"sys.path.insert(1, '../src/')\n",
"from scot import *"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dimensions of input datasets are: X= (177, 34) y= (177, 27)\n"
]
}
],
"source": [
"X=np.genfromtxt(\"../data/scGEM_expression.csv\", delimiter=\",\")\n",
"y=np.genfromtxt(\"../data/scGEM_methylation.csv\", delimiter=\",\")\n",
"print(\"Dimensions of input datasets are: \", \"X= \", X.shape, \" y= \", y.shape)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"It. |Err \n",
"-------------------\n",
" 0|5.587079e-03|\n",
" 10|7.742085e-05|\n",
" 20|6.302987e-06|\n",
" 30|7.716979e-07|\n",
" 40|9.942365e-08|\n",
" 50|1.301199e-08|\n",
" 60|1.712421e-09|\n",
" 70|2.258149e-10|\n"
]
}
],
"source": [
"# initialize SCOT object\n",
"scot=SCOT(X, y)\n",
"# call the alignment with l2 normalization \n",
"# A hyperparameter combination that yields the best result we've obtained (FOSCTTM ~0.2) is below:\n",
"X_new, y_new = scot.align( k=35, e=5e-3, normalize=True, norm=\"l2\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Evaluating Alignment"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Average FOSCTTM score for this alignment with X onto Y is: 0.1918817411402157\n"
]
}
],
"source": [
"import evals \n",
"\n",
"# We will use the average FOSCTTM measure implemented in evals.py for evaluation (metric used in the publication Demetci et al 2021)\n",
"# This measure reports the fraction of samples closer to a sample than its true match (FOSCTTM), averaged over all samples. \n",
"fracs=evals.calc_domainAveraged_FOSCTTM(X_new, y_new)\n",
"print(\"Average FOSCTTM score for this alignment with X onto Y is: \", np.mean(fracs))"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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Lb/00kupUKECCQkJHD9+nOTkZAASEhLYtm0bGzduZO3atfTs2ROA48ePU69evQL3u23btoDeV5cuXfjkk0+K3M73fL366qusWbOG+fPnM3bsWD777DMmTZoU0PFO1rXXXsuUKVP45ptvctVdGBMU+/bB8uWQmAiF/H8Xl2AmhWVACxGJAXbgPvhvyLuRiFQHugKDghhL0EVFRdGtWze6detGQkICb7zxBtdffz0//fQTBw4coFq1arm2j4uL47vvviM7O5ty5dwFW3Z2NqtWraJVq1YBHXPRokXMnz+fJUuWUKVKFbp16+a3fbi7rVi4nFtcUVFRZGVl5SsvV64cFSpU8H4IlytXjqysLFSVuLi4fFceRe33ZMXGxpKSksIll1ziLVuxYgWxPt+eEhISSEhI4KabbiImJoZJkyYRFxeX73Wna8CAAd7bVzm/P2OCZv166NEDPv0UevcO6qGC9tesqlnAUGAu8D3wnqquE5E7ROQOn02vAeap6u/BiiXYNm7cyObNm73PV65cSZMmTahSpQq33nord999N0ePHgVc/cPbb79N8+bNadu2LWPGjPG+bsyYMbRr147mzZsHdNx9+/ZRs2ZNqlSpwoYNG1i6dKnf7S+66CI++OADsrOz2bVrF4sWLTr5N1uA8847j/T0dG9SOHbsWJG3wKpVq5arBU8ghg8fzogRI7y3yFauXMmkSZMYMmQImZmZud5Pzu8A4IEHHmD48OH88ssvABw5coQXXnjhpI6dV+PGjXn88ccZMmTIae3HmIDk/K/k+XIZDEGtHVPV2cDsPGUv53k+CZgUzDiCLTMzk2HDhrF3717Kly9P8+bNvZW+Y8aM4aGHHiI2NpbKlStTtWpVHnvsMQBee+01hg0bRvPmzVFVzj//fF577bWAj5ucnMzLL79M69atOe+88+jcubPf7fv27cuCBQuIj4/n3HPPpVOnTlSvXv3U37hHxYoVef/997n77rvZt28fWVlZ3HvvvcTFxRX6mu7du/Pkk0+SmJjIAw88UGC9Ql59+vRhx44dXHDBBYgI1apV4+2336ZevXocOHCAp59+mttvv50zzjiDqlWrem8dXXbZZezatYsePXp4bzf9+c9/Pu33ffvtt5/2PowJSGam++lpNBJMUtQthUiTlJSkeSfZ+f777wO+5VLWZWZmcuaZZ5KRkUHHjh356quvOOecc8Idlill7H+ymL35JgweDFu2QNOmp7QLEUlR1aSitrN2dGXMFVdcwd69ezl69CijRo2yhGBMSVBabh+FTbdu+cuuuALuu+/U1hfTvfdIUFz1CMaYEOrdGyZPhho1gn4oazZhTprvEBrF6Y033qBFixa0aNGCN954o8BtvvjiC9q1a0f58uW9He9yjBgxgvj4eOLj43N1iPv3v/9N8+bN8w1FsW/fPq688kratGlDXFwcr/sMIfDcc88RFxdHfHw8AwcO9LbqmjZtGnFxcZQrVy7XXOHvvPOOt19FYmIi5cqVY+XKlbni69OnD/Hx8QG9l+TkZGrUqMEVV1xR4HkYNmyYt1MiuJZld999N82bN6d169asWLECcM2Uu3fvTqtWrYiLi2PcuHHe1xT2XrZt25ZreI877nDtQg4cOJDrPdapU4d77723wPhMMWveHAYMgFDMURFIt+dIWiJxmItQyMrKCncIXsEYQiMjI0NjYmI0IyNDf/vtN42JidHffvst33Zbt27VVatW6U033ZRr+I9PPvlEe/TooceOHdPMzExt37697tu3T1VVV6xYoVu3bs0X9+OPP67Dhw9XVdXdu3drzZo19ciRI5qWlqbR0dF68OBBVVXt16+fvv7666rq/tY2bNigXbt21WXLlhX4XlavXq0xMTG5yj744AMdOHBgrmEzCnsvqqrz58/XmTNnFjjcx7Jly3TQoEFatWpVb9msWbM0OTlZs7OzdcmSJdqxY0dVVf355581JSVFVVX379+vLVq00HXr1vl9L4UN+5FXu3bt9PPPPy9wXVn4nwypNWtUv/jitHZBBAxzUWbdeeedJCUlERcXx8MPPwzAnDlzuP76673bLFq0iCuvvBKAefPmcf7559OuXTv69etHpqelQXR0NI899hgXXXQR06ZN45VXXqFDhw60adOGvn37cvDgQcD1OO7cuTMdOnRg9OjRub5BPvPMM3To0IHWrVt7Y/H10ksvMXz4cO/zSZMmMWzYMKDoITS2bduW65vv2LFjeeSRR7wxJScn0759e7p06eIdNqMwc+fOpWfPntSqVYuaNWvSs2dPPv3003zbRUdH07p163x9A9avX0/Xrl0pX748VatWpU2bNt7Xt23blujo6Hz7EhEOHDiAqpKZmUmtWrW8w1VkZWVx6NAhsrKyOHjwoHeIjFatWnmHzyjM5MmTGThwoPd5ZmYmzz77LA899FBA7wXgj3/8Y76+LeA6Bt5///08/fTTucpnzJjBzTffjIjQuXNn9u7dy86dO6lXr563E2W1atVo1aoVO3bsCPi9FGbz5s3s3r2bLl26nNLrzUl67jl3pRAClhSC4PHHH2f58uWsXr2azz//nNWrV9OzZ0+WLl3K77+77hhTp06lf//+/Prrr4wZM4b58+ezYsUKkpKSePbZZ737qly5Ml9++SUDBgzg2muvZdmyZd4ObjnNV++55x7uueceli1b5v3wApdsNm/ezLfffsvKlStJSUnhiy++yBXrddddl6v3ck5ccHJDaOR122238eKLL5KSksLYsWO97flnzpzJ6NGj822/Y8cOGjU60QG+YcOG3g+vQLRp04Y5c+Zw8OBBfv31VxYuXMj27dv9vmbo0KF8//331K9fn4SEBMaNG0e5cuVo0KAB9913H40bN6ZevXpUr16dXr16BRzL1KlTcyWFUaNG8fe//50qVaoEvI/C/Pvf/6ZPnz65eoxDYOdv27ZtfPfdd3Tq1KnI42zdupW2bdvStWtXFi9enG/95MmT6d+/v82dECqZmSGpZIbSWtEcZu+99x4TJkwgKyuLnTt3sn79elq3bk1ycjIff/wx1113HbNmzeLpp5/m888/Z/369Vx44YUAHD16lPPPP9+7L9/2+2vXruWhhx5i7969ZGZm0tvTs3HJkiV89NFHANxwww3c56kwnzdvHvPmzaNt27aA+8a6efNmLr74Yu8+69atS9OmTVm6dCktWrRg48aN3lhOZggNX5mZmXz99df069fPW3bkyBHA3Vfv06dPvtdoAU2jT+YDp1evXixbtowLLriAunXrcv755xc5SN3cuXNJTEzkf//7H1u2bKFnz5506dKF48ePM2PGDLZu3UqNGjXo168fb7/9NoMGFd3p/ptvvqFKlSreK6iVK1eSmprKc889F/AQH4X5+eefmTZtWoGNBYo6f5mZmfTt25fnn3++wLG4fNWrV4+ffvqJ2rVrk5KSwtVXX826detyvW7KlCm89dZbp/5mzMnJzAxJHwWwpFDstm7dytixY1m2bBk1a9bklltu8VZS9u/fn/Hjx1OrVi06dOhAtWrVUFV69uzJ5MkFD/1UtWpV7+NbbrmFjz76iDZt2jBp0qQiWxKpKg888ECRnaz69+/Pe++9R8uWLbnmmmsQkYCG0Chfvrx30DnAuz47O5saNWrkq2j1p2HDhrneT1paGt0KaiXmx4MPPugdiO+GG26gRYsWfrd//fXXGTlyJCJC8+bNiYmJYcOGDfz444/ExMRQt25dwI1z9PXXXweUFKZMmZLrKmHJkiWkpKQQHR1NVlYWu3fvplu3bqfUCuy7774jNTXV2+P94MGDNG/enNTUVBo2bJjryigtLc171Xjs2DH69u3LjTfe6B2Hyp9KlSp5hyZp3749zZo1Y9OmTSQluSbuq1atIisrq1gHGTRFOHAgZEnBbh8Vs/3791O1alWqV6/Orl27vBPqgBtGesWKFbzyyiveK4DOnTvz1VdfkZqaCrh/9E2bNhW47wMHDlCvXj2OHTvGO++84y3v3LkzH3zgRh2fMmWKt7x3795MnDjRW0exY8cOdu/enW+/1157LR999JH3lgAENoTG2Wefze7du8nIyODIkSPeAezOOussYmJimDZtGuCS06pVq/yet969ezNv3jz27NnDnj17mDdvnvdKKBDHjx/33t5avXo1q1evLvKWT+PGjVmwYAEAu3btYuPGjTRt2pTGjRuzdOlSDh48iKqyYMGCgDpiZWdnM23atFyjpt555538/PPPbNu2jS+//JJzzz33lJsFX3755fzyyy9s27aNbdu2UaVKFe/fTZ8+fXjzzTdRVZYuXUr16tWpV68eqsqtt95Kq1at+Nvf/hbQcdLT0zl+/DgAP/zwA5s3b6apT4epvHUmJgRCePso7K2JTnYpCa2PBg8erC1bttTLLrtMr7nmGm/LFVXVu+66S6tWraq///67t2zBggWalJSkCQkJmpCQoDNmzFDV/K18/vOf/2h0dLR27dpVhw4dqoMHD1ZV1U2bNmnHjh21Q4cO+sgjj2j9+vW9r3n++ec1Pj5e4+PjtXPnzpqamlpgzJdffnmuFjOHDx/W5ORkTUhI0Ouuu067du2qCxcuzBfXuHHjtFmzZtqjRw8dPHiwd9KgH374QXv37q2tW7fWVq1a6aOPPqqqqjNmzNBRo0YVGMNrr72mzZo102bNmunEiRO95aNGjfKek2+//VYbNGigVapU0Vq1amlsbKyquolzWrVqpa1atdJOnTrpd9995339uHHjtEGDBhoVFaX16tXTW2+9VVVVd+zYoT179tT4+HiNi4vzTpyj6iY8Ou+8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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1281ae190>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"legend_label=\"SCOT alignment FOSCTTM \\n average value: \"+str(np.mean(fracs))\n",
"plt.plot(np.arange(len(fracs)), np.sort(fracs), \"r--\", label=legend_label)\n",
"plt.legend()\n",
"plt.xlabel(\"Cells\")\n",
"plt.ylabel(\"Sorted FOSCTTM\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Visualizing Alignment"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x127325d60>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"from sklearn.decomposition import PCA\n",
"\n",
"#Reduce the dimensionality of the aligned domains to two (2D) via PCA for the sake of visualization:\n",
"\n",
"pca=PCA(n_components=2)\n",
"Xy_pca=pca.fit_transform(np.concatenate((X_new, y_new), axis=0))\n",
"X_pca=Xy_pca[0: 177,]\n",
"y_pca=Xy_pca[177:,]\n",
"\n",
"\n",
"#Plot aligned domains, samples colored by domain identity:\n",
"plt.scatter(X_pca[:,0], X_pca[:,1], c=\"k\", s=15, label=\"Gene Expression\")\n",
"plt.scatter(y_pca[:,0], y_pca[:,1], c=\"r\", s=15, label=\"DNA Methylation\")\n",
"plt.legend()\n",
"plt.title(\"Colored based on domains (Aligned Domains)\")\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x128246ac0>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"#Plot aligned domains, samples colored by cell types:\n",
"cellTypes_rna=np.loadtxt(\"../data/scGEM_typeExpression.txt\")\n",
"cellTypes_methyl=np.loadtxt(\"../data/scGEM_typeMethylation.txt\")\n",
"\n",
"colormap = plt.get_cmap('rainbow', 5) \n",
"plt.scatter(X_pca[:,0], X_pca[:,1], c=cellTypes_rna, s=15, cmap=colormap)\n",
"plt.scatter(y_pca[:,0], y_pca[:,1], c=cellTypes_methyl, s=15, cmap=colormap)\n",
"cbar=plt.colorbar()\n",
"\n",
"# approximately center the colors on the colorbar when adding cell type labels\n",
"tick_locs = (np.arange(0,6)+0.8) *4/5 \n",
"cbar.set_ticks(tick_locs)\n",
"cbar.set_ticklabels([\"BJ\", \"d8\", \"d16T+\", \"d24T+\", \"iPS\"]) #cell-type labels\n",
"plt.title(\"Colored based on cell type identity\")\n",
"plt.show()\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Compare alignment visualization with the original domains *before* the alignment"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x12a57ab50>"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x128246a30>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"originalX_pca=pca.fit_transform(X)\n",
"originaly_pca=pca.fit_transform(y)\n",
"\n",
"#Visualization of the global geometry\n",
"fig, (ax1, ax2)= plt.subplots(1,2)\n",
"ax1.scatter(originalX_pca[:,0], originalX_pca[:,1], c=\"k\", s=15)\n",
"ax1.set_title(\"DNA Methylation Domain \\n *before* Alignment\")\n",
"ax2.scatter(originaly_pca[:,0], originaly_pca[:,1], c=\"r\", s=15)\n",
"ax2.set_title(\"Gene Expression Domain \\n *before* Alignment\")"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAZUAAAEXCAYAAABlI9noAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXd4HNX1sN+zTatVl3vvuFdsjCumhV4ChNBr6KEk8INQvmAgIYSQAAFCC2Ag9BDACb3Y2MYG94KxsXGXLbnI6m3b/f64I2m1amt7pdWu7vs882hn5s7cM6OZObecIkopDAaDwWCIBrZYC2AwGAyGxMEoFYPBYDBEDaNUDAaDwRA1jFIxGAwGQ9QwSsVgMBgMUcMoFYPBYDBEDaNU4hwRmSEiOQd57EwR+dch1L1WRGYc7PGG9omIlIpI/1jL0ZKISG/rOu2xlqW1aXdKRUS2ikiFiJSISKGILBSRa0XEFlJmlogoETkiZNtAEann1GOV9YtI92bqrT7n6WHbH7O2Xxah/EpEBkZSNppY8v8hdJtSarhSam5ryxIrROQ8EflORMpEZI/1+3oRkVaW4zIRCVgfrdClyWewraCUSlVKbY72eSN5t1sLpdR26zoDrV13rGl3SsXiNKVUGtAHeAi4A3ghrMx+4A/hB4YiIinA2UARcGEE9W4ALg053gH8AtgUseSGmCAitwKPA38BugJdgGuBKYArBiItsj5aocuuaFZgPZ/xRiTvtqEFaa9KBQClVJFSajbwS+BSERkRsvtlYJSIHNXEKc4GCoH7CVEWTfBfYIqIZFnrJwKrgbzQQiJyhYisE5ECEflURPpY2+dZRVZZLdNfhhxzq9V6zhWRy61tE0Rkd+jHQUTOFpGVDQknIu+ISJ6IFInIPBEZbm2/Gq00b7fq/a+1fauIHGf9TrJ6Xbus5TERSbL2zRCRnIZkjAdEJAP9P75eKfVvpVSJ0qxQSl2olKqyyiWJyCMist2678+ISLK1r8l70NSxByjrABHZLyLjrPXuIrKvephSROaKyJ9EZLH1f/5ARLKtfX2tnvCVIrId+MrafqTV6i8UkVUSMuRp9Zo2W72DLSJyobV9oIh8bdWxT0TeCjmmprctIhki8oqI7BWRbSJyT3XPwjr3Auu+FFjnPymS+9DYux1Bfd+IyKPWtW4WkcnW9h3W/y20UXiKiKwQkWJr/8yQfdX30hFy3x+wzl8iIp+JSMcD++/GB+1aqVSjlFoM5ADTQjaXAw8Cf2zi0EuBN4A3gSHVL3ITVAKzgfOs9UuAV0ILiMiZwF3AWUAnYL5VB0qp6Vax0VbLtPpF7QpkAD2AK4GnRCRLKbUEyAeOD6niIuDVRuT7GBgEdAaWA69Z9T5n/X7Yqve0Bo69GzgSGAOMBo4A7gnZ36CMjcjR1pgEJAEfNFPuz8Bh6HswEH2tvw/Z39Q9aO7YiFBKbUK3zl8TEQ/wEjArbJjyEuAKoDvgB/4edpqjgKHACSLSA/gQ3WvPBm4D3hWRTqJ76n8HTrJ6B5OB6gbLA8BnQBbQE3iiEZGfQN+T/la9lwChDY6JwI9AR+Bh4AWRyIcbG3i3I6lvNdABeB39bk9A/08uAp4UkVSrbJl1fCZwCnCd9f42xgVWXZ3RvdvbIr2OuEIp1a4WYCtwXAPbvwXutn7PQr9EScB24CT0Q6VCyvcGgsAYa/1T4PEm6q0+51RgEfrB3g0kAwuAy6xyHwNXhhxnQyu4Pta6AgaG7J8BVACOkG17gCOt33cAr1m/s61zdbPWZwL/akTeTKuujFD5G7uX6CG8k0P2nQBsjUTGtr6gPyZ5YdsWonupFcB0QNAfmQEhZSYBW5q7B80d24A8l6GVQWHIsimszGxgDfoDmRSyfS7wUMj6MMAL2IG+1v+8f8j+O4BXw879KbpBlWLVfTaQHFbmFeA5oGcD8iv0+2QHqoBhIfuuAeaGXOdPIfs81rFdG7kvNc9j2PZv0Y2eSOrbGLJvpFVfl5Bt+VjvfAP1PAY8av2uvpeOkPt+T0jZ64FPYv1st8Rieiq19EDPo9Sg9LDGA9YS3jq6GFinlKpumb0GXCAizqYqUUotQPdA7gH+p5SqCCvSB3jc6n4XWjKJJV9j5Cul/CHr5UB1a+pfwGlW6+pcYL5SKjf8BCJiF5GHRGSTiBSjX1DQLcRI6A5sC1nfZm2LRMa2Tj7QUUKGEZVSk5VSmdY+G/p/6gGWhfzvPrG215ynkXsQybHhfKuUygxZBoTtfx4YATxhPceh7Aj5vQ1wUvf/HLq/D/CLarks2aaiGyZl6OGla4FcEflQRIZYx92Ofm4Xi7YSvKKBa+iIbrGHPzehz3rN0LBSqtz6eaDPTfW7HUl9u0N+V1j1hm9LBRCRiSIyxxpKK0Lfh6bel9Bh7nh6/g8Io1TQcw/oB2tBA7tfQvcqfh62/RKgv+g5iDzgb+gHKpIx338BtxI29GWxA7gm7IORrJRaGOHl1EEptRPdM/o5WhE2NvR1AXAGcBz6evta26uVaXPhrHehP0DV9La2JQKL0C3cM5oosw/9wRke8n/LUEpF8uE4lGPrYTUgHkNPUM+snjMJoVfI796Az5KhmtD/9Q50TyX0eUxRSj0EoJT6VCl1PNANWI9WZiil8pRSVymluqN7A/+Q+laL+6y6w5+bnQd+1Q0T9m5Hu77X0T3CXkqpDOAZ6jc+2x3tWqmISLqInIoeN/2XUmpNeBmrZTkTPQxQfdwkYAB63mCMtYxAP2SRTNj/HT3PMa+Bfc8Ad0rtJHmGiPwiZP9u9HjwgfAKuuU4EnivkTJp6A9nPrrV/GDY/ubqfQO4xxpr74ieDzhoH5i2hFKqELgP/WE8R0RSRcQmImPQQ0AopYLoD+qjItIZQER6iMgJEZz/oI9thMeBZUqpX6HnQ54J23+RiAyz5lzuB/6tGjd9re7pnmD1Zt2ijQ56ikgXETndmlupAkqBgCX/L0Skp3WOArSiqlOHVefbwB9FJE20QcpvicJz09C73QL1pQH7lVKVot0PLjhUuROB9qpU/isiJehW2N3oXkZT1khvAKFDRpcCH1gPal71gn6ZT22gZVgHpdR+pdSXyhpcDdv3HnrS9k1rGOp76vZ+ZgIvW0MR5zZ7pZr30K2z96whi4Z4BT0UsBP4AT0OHcoLwDCr3vcbOP4PwFL0GP4a9ER/kybZ8YRS6mH0B+h29FzIbuBZdGOjuhd5B/AT8K31v/sCGBxhFQd67CSp76cyQUTOQFsVXmuV+y0wTiyrLItX0XNkeYAbuKmJ696B7qHdBexFvzP/h/522NA97l3o4aWj0HMFoCe3vxORUnRr/mal1JYGqrgRPZ+0Gd2beB14sYnrbo7m3u1o1nc9cL9V3+/RCqvdIw181wwJiIhsQg+rfRFrWQyxQ0Tmolvu/4y1LIbEpL32VNoVInI2evjhq1jLYjAYEpt49Jg1HABWy3QYcLE1dm8wGAwthhn+MhgMBkPUMMNfBoPBYIga7VKphMflOYjjf27F+ikVkbHRli8aSFhIfDFh6uMG83wa4pl2oVRE5w3pG8VTPgL8Wuk4WCuieN4aRGRWhOUusz5ATZoXqzgMUy+HmO8lXjDPp3k+E4mEVioicpeIVAeSc4jI3SJyZBRO3QdYe5AyNZq0RzTPSG1U4g4i8pzlXNYYl6J9BCJxujS0IczzaUhIYh18rCUXtLfzH9HhI74Afq7qBnu7Gu24lQvcGnKcDfgdOkhiPtqpKRsdYLLUOrYMK4gfOqLrXHRwvbXA6SHnmgU8DXxkHXOcdZ5H0MEqd6M9npOt8n2sYzZZ9Y5q4vr6oINano0OMBga+G4GkBOyvpXa4I/J6ND+BcA6tENfeNnb0I6MRcBbgDv0vNQ6AeYCZwIno/PF7Afuau5ehv0fLrXuxT5qg3qeiA506LPu+apYP0/m+TTPZ3t6Pg92SeieioUK+RseiuJodKj3nwG/Eys3CNrD+Ey0h3B39MP9lFKqStXGYxqtlBogOoDkf9FhvjujPXZfE5FQb+gL0B+PNLQXb3NhzhU6hpBCv5SNcQmwVCn1LvrliyRRGMC96BemPzpczEUNlDkX/eL0A0ahI7hW0xXtiV0t9/PWOQ5Hhxj/vdSmi23wXobVNRXtPX6sdexQpdQn6FAxbyk9jDM6wmuLN8zzWR/zfMYzsdZqLbmgQ0tMR4c2GYiODHwktS2QISFlHwZesH6vA44N2dcN3SKpDmOtsMLPox/SPMAWUv4NYKb1exbwSsi+RsOcW/ueobY12BEdPtzTyPVtBG6xft9JSGuJpluCm4ETQvb9qoGyF4Xdm2dCzlsB2K31NOt+TAwpvww4s7l7GfJ/6BmyfzFwnvV7Jo2E5k+ExTyf5vlMxCWhnR+VUg8CiMgxgF8p9Qdrva9VJDwE+Ejrdx/gPREJbYUF0ClkwyOadgd2qLqOheHhtEPrCQ1zXr1N0C+BworZJCIopfahh0DqISJT0K20N61Nr6MD5Y1RteH4G6N7mEw7GigTHqY7PIx9dau6OnR/g+HBafpeNlZXQoYED8c8n41ins84pj0Mf6GUmqmU2trArvAQ4NWh2negs9mFhvt2Kx1GPpxdQC+xUpKGnCu0rAr5HVGYc6XUZc1c1qXol32l6ND731nbL2nmONDjzD1D1ns1VjAKHMi9DEc1XyT+Mc9nPczzGce0C6XSBP9PRDyiw8xfjp7wA93F/2OIlUsnK/prQ3yHHi64XUSclq39adS20OqgohDmXETc6DHlq6kNvT8GPV5+YQT+DW+jw+tniU4X++tI6z4IDuRehrMb6Bv2QWxPmOfTPJ9xR3u/GV+jw41/CTyilPrM2v44Olz3Z6LDWn+Lzl1dD6WUFzgdHZ5+H/AP4BKl1Pom6j2UEOmgJxYr0GPhoaH3X0CnTD2xmePvR1vIbLHq/jc6H0ZLEPG9bIB3rL/5IrK8JYRr45jn0zyfcYeJ/WVARK5DTz4eFWtZDIZwzPMZX7T3nkq7RES6icgU0dkLB6MTLTWWEdJgaFXM8xnfJLT1l6FRXOishf3QDnFvoodFDIa2gHk+4xgz/GUwGAyGqGGGvwwGg8EQNdrU8FfHjh1V3759Yy2GIYFZtmzZPqVUp9au1zzb7YOmnq8TRdS+SM8DnyqlmrOSa5O0KaXSt29fli5dGmsxDAmMiGyLRb3m2W4fNPV87QMifQJEh8CJS8zwl8FgMBiihlEqBoPBYIgaRqkYDAaDIWoYpWIwhCAiL4rIHhH5vpH9M0SkSERWWsvvGypnMLRX2tREvcHQBpgFPAm80kSZ+UqpU1tHHIMhvjA9lQQkiKKQcqrwx1qUuEMpNQ+dctZgMBwEpqeSYJRRxUssosjKTXQaoxhVJx+TIQpMEpFV6Fwltyml1jZUSESuxkpi1bt371YUrx0QDMD2r6E0FzqNgC4mm29bwfRUEowvWE8B5fgJ4ifIbFabHkt0WQ70UTon+RPA+40VVEo9p5Qar5Qa36lTq/tbJjYrnoV178C2r2D5M7BjQawlMlgYpZJgFFJBMCQhnQCV+GInUIKhlCpWSpVavz8CnCISt45qcUnAB3krIOjV60EvbPms6WMMrYZRKgnGKHrgxA6ADSGDZNJwx1iqxEFEuoqVvF1EjkC/Q/mxlaqdYbNDeLJFh+fQzxsIwKZNUFhYf59SsGEDrF6tyxkaxcypHASb2Mt68sjEw0T64rA+4m2BMfREoVjDLjJJ5niGYkNiLVbcICJvADOAjiKSA9wLOAGUUs8A5wDXiYgfnd3wPGVCfbcuYoPhF8APb4DNASi9fijs3QtTp0JOjlYaTz0FV16p9ykFV1wBb70FNhuMGAFz54LbNNYawiiVA2Q9efyHFfgI4sDGRvZwKUciTXy4S6niW7bgI8A4etGF9BaTTxDG0ZtxmInhg0EpdX4z+59EmxwbYkmfo6DjUKjIh/Se4Eo7tPPddRds2QI+a6j4hhvg7LMhMxO++QbeeQcqtPELq1fDiy/C9dcfWp0JilEqB8h3bMVHEAA/QXIopJSqRoeYqvDxLPMpx0sQxQp2cBVT6MQhvgQGQ3snpbNeosH27bUKBcBuh/37tVLZv1+vV1NVBfsijTfc/jBzKgdIMs6wPonC1cTw1zb24yVQM3nuJ8BacltURoPBcIBcfDF4rHkZpxN69oQ+ffT6tGngctUqFrcbzjorNnLGAaancoAcxxC2kk8QRYAgR3MYSXrIvUGScKJCrLHs2HA3Ud5gMMSAiy7Sf199FXr3hj/9qVaJZGXB8uXw4INQXg433aTnVQwNYpTKAZJNCjdxNHkUk4abDqQ0Wb43WRxGZzawBwEy8TCOXq0jrMFgiJyLLqpVLuH06gVPP9268jSBiCxUSk0Wkb7AOuBHwAXMA6onex4DjgEUUAmcq5Ta0tKyGaVyELhx0pcOEZUVhLMZy26K8RGkOxnYzaijwWA4BJRSk0NWNymlxoiIA/gKOBNIAroDo5RSQRHpCZS1hmxGqbQCgtCVjFiLYTAYEgQRKVVKpYZuU0r5RWQhMBDwA7lKqaC1L6e1ZDNNZoPBkPj4/ZCfr31O4oOOIrI0ZLm6uQNExAMcC6wB3gZOs9Iz/FVExra0wNWYnorBYEhs5s6F00/XpsB9++r1bt1iLFSz7FNKjY+w7AARWYmeO/lAKfUxgIgMRs+pHAN8KSK/UEp92TLi1mKUisFgSFyCQTjjDCgp0eubN2unxffei61c0WWTUmpM+EalVBXwMfCxiOxGz7UYpdISfLHPy/rSAJOynByeUXsLlhb6eSe3is4u4bq+yXjsJryJwRDXVFRAWcj8tN8PGzfGTp5WQkTGAXlKqV0iYgNGAatbo+52p1Tu21DOXzZXEFB6QunVMamc1S2Jhft9HP9dMeVBcNvg9V1eFk/NwC5GsRgMcUtKCowcCWvXao95j6e9OC52Bp4XkSRrfTGtFF6oXSkVpRQP/lSBN2Su7q4fyzmrWxJPbaukXEdfoTIIP5YFWFcaYERau7pFBkPi8cUX2mFx/Xo9t3LPPbGW6JCptvxSSm0F6nliKqU+AT5pZbGAdqZUAEQgxMG9JuRKukOwA9VBrQMKUszwl8EQ/3ToAK+9Fmsp2g3tyqRYRLh3UDIpdvDYwWODPw/VHvH3DEqmg0tId+h9Z3RxcsWqUsbPL+SNnZUxltxgMBjig3bXU7lzoIep2U7WlwY4MtPByHR9C3q47Wyckcm3hX7sAmctK6XYr7s0v1pdRkeXjeM7uWIpusFgMLR5DrmnIiK9RGSOiKwTkbUicrO1PVtEPheRjdbfrEMXNzpMy3ZyVW93jUKpJt1p42edXAQUdSIRlwfh070mJa/BYDA0RzSGv/zArUqpocCRwA0iMgz4HfClUmoQ2jb6d1Goq1XonWzHG6ydePHYYGBK28nuaDAYDG2VQ1YqSqlcpdRy63cJOmJmD+AM4GWr2Mtox5u4YEiqnT8N8eAUcAgckemga5KQ7w3GVK4KfHzKWt5mGT+yO6ayGAxxyVNPQXa2nrxvQ1GHE4moTtRbYZjHAt8BXZRSuaAVD9puuqFjrq6Ob7N3795oinNI3NwvmbITs7myp4slRX4uXVXKYXML2VweaP7gFiCI4iUWsoRtrCOPd1nOevJiIovBEJd88w3cfjsUFOhsjrfdBosWxVqqhCNqSkVEUoF3gVuUUsWRHqeUek4pNV4pNb5Tp07REicq7K4KMmunl7IAFPuh0Ke4b0N5TGQpoJxCKghY9tA+gixnR0xkMRjiklWr6gaUVEpvM0SVqFh/iYgTrVBeU0r9x9q8W0S6KaVyRaQbsCcadUWKL6i4b0MF8wt8TM5yMHOQh6QI/U4KfUH+tbOK3MogtpBnMAiUBWIT5TQZZ01KYgAbQhpJTRxhMBjqcPjhlqOahYjeZogqh6xURESAF4B1Sqm/heyaDVwKPGT9/eBQ6zoQrllTxpu7qqgIwpJCP9srgrw2Nq3Z40r8ijHzi9hdFUQp7QzpFqhSkGyDW/olt7zwDeDBxXEM5kt+xIbgwcXRDI6JLAZDXDJxIjz5JNx1l1Yof/oTTJgQa6kSjmj0VKYAFwNrrPDLAHehlcnbInIlsB34RRTqipj38rxUWPPqFUGYvdsb0XGf7PWS7w1SaR2bZIPTurgYmmLjjK5JjMuInWvPkfRnON0px0tHUk0GSYPhQLn8cr2AHv7yesFl/M+iySF/IZVSC6jr1hHKsYd6/oOlW5JQ6K8dLuqaFNkH2BkWQNIGHN3ByXV93NEU76BJw00abUMWg6FNsGSJnhsZMwbGR5iC5J134NJLdY6VE0+Ed98Ft3mvokHCNnVfH5tGtlPw2CHNDn4Fjg/zGTu/kJ2VjVtwndzZyeBUO6nWcd3dNi7sbloyBkOb5MUXYcYMuPlmOOoomDWr+WP27NEKpaJC51uZMwcefrilJW03JKxSGZPhIPe4LH6YnknvZDvbKoIEgDXFAS5YUdrocS6bsHByBq+PTePlMamsmpZJujNhb5MhDBF5UUT2iMj3jewXEfm7iPwkIqutvBWGWHHHHVBeXrv8LgIf65wccDpr1ysq4PsG/92GgyChv5Yum9DHY2dTeaDGbioA/FDStK+Jyyac1sXFz7smkeIwkYrbGbOAE5vYfxIwyFquBowHXSwJzzkfjMBB+bDDtFKpHur2eOCUU6IvWzsloZVKNRMyHDit5ydJYEp2u4ujaYgQpdQ8YH8TRc4AXlGab4FMy2TeEAvuu08rhaQk/ff++5s/JjUV5s+H6dNh6FB44AG45JK6ZcrLYfZs+PBDPZlviJh28XX9z/g0LltVyooiPxMy7Dw/MiXWIhnilx5Qx+s0x9qWG15QRK5G92bo3bt3qwjX7rjhBhg1ClauhHHjYMqUyI4bOhTmztU9mzvugM6ddeiWWbNg+HDtv5KXp3tCQ4fCggXGSixCErqnElDaA/7UJcV0cQmDU+x8tNdPzy8LeXprRazFM8QnDY2HNugR25ajRSQU06bBjTdGrlBC+cc/9LJvH/z4I/zsZ3ryf+dOKCmB0lJYt073WAwRkdA9lbvWl/PktkrKA7C0UM+rVI+43rqunJM6u+jriU704VKqqMJHFinYGrGwViiKqCAJJ8k4GyxjaPPkAL1C1nsCu2Iki+FQmTdPD3VVI6IVSvjcTDSGwAZ2gMfOiKzsqS8een0xIqF7Ku/meamO/xigVqGAnozPqYxO1OH5/MRjfMWzLOA55lOFv16ZKnw8xwKe4mv+yhd8y5ao1G1odWYDl1hWYEcCRdWBUw1xyMSJei6mmkAArrhCz7u4XHquJjsbTjopdjLGGQndU+mbbGNrRZDwcF0C2AVGph16L6WAcuaxkQDaZHkfZSxkU70QKvPZxF5KCViq7UvWM4xupBtHxjaFiLwBzAA6ikgOcC/obqVS6hngI+Bk4CegHLi8tWTzlcP+nyCtB3g6tFatCc4tt8D69fD665CZCa++CkOGwOrVepvdrn1a0tNjLWnckNBK5Z+jUjlqUTE5lUHC+yRzJqaTEQX/kzKqsGPDb9UQIEgRFeyhhCQcZKBjhRVSXqNQQAeELKPKKJU2hlLq/Gb2K+CGVhKnhn3r4aVp4K+CoB/Oeg2G/ry1pUhA7HZ4/nm9APh82oLsm29g6lS4805wJPRnMuok9N3q67Gz5ZhMDl9QxMriWt8Uh0AvT3RG/rqQjgs7XvwowI6wlf2sI48gisn052gGM5IebGAPPgIIkISTTqRGRQZD4vO/a6E8nxqTgPcugiGldYPuGqLANdfAm29qh8gFC2D79lqFY4iIhJ5TAbCJcGNfN9U6JEngyEwHmVFyanRi5yqmMoZeDKYzQ+hKKZV4CeAnyEI2s58yBtOFMxlFfzoykh78iik4MCmKDZFRtps6Nmb+Sgj6YiZO4vLuu1qhgJ7Af+ed2MoThyS8UgG4opebf4xIobNLqFLwQ2mABQX1J9MPljTcnM4ozmMCLuwE6uQ9sVGOthwZRncuZiI/Z4wZ9jIcEGOuAKflXuVwQ//jwW7cJqJPuOl35wYT1hqaIKGHv0JZVOinyIpanO9TnLqkhL3HZ+GyRXf8YBQ9WcMu/ASxISTjoAtmks9waEy+DZKzYeP/oPNImHZXrCVKUF5/XfuqBAJ6vuW112ItUdzRbpTKqmI/VSGz9d6gIt+r6OaOrlLpSwfOZwLL2Y4HF9MZhDNkmEuhyKGQIEF6kmVyohgiQgTGXakXQwtyxBGwaxfs2AG9etU1NzZERLtRKid2crG6uILyoB7z6+gSOie1zCxnfzrSn471tgdRvMZicigAIAsPVzKljtJJRJaznXn8hAMbJzKcgRjvckMbxuOBwSar6sHSbprJdw9M5ro+bvom25ie7WDepAzsrWw6s4m95FCAlwBeAuynjNXsjPj43RTzd+bwBz7iFb6lkrY/U7uZfXzCDxRRQT5lvM0yCihv/kDDAbG00M+rOVWsK4neXGG7Y88eOOYY7ex4zDF63XDAtBul4rAJjwxLYcsxWcyZlEG/KIRnyaGAH9ldMxHfHN4wT/sAqkHv+4ZQKP7FYgooJ4BiO/v5iLafA2IHBfioNecWhFyKYihR4vHU1gqO+raI678vZfyCoohTZxvCOPdcHb24oED/PffcWEsUlyTc8Ndbuyp5fEsVWS7h0aEpHJbaMkNLH7OWFezAhiAIVzGFbJqOftyfTjix4ydIEIUDO8Po2mxd+ZTxOosppapmWwAVFx/nzqTixF6jWBRBOhr/nKhyx/rymnBEALf+UMbpXZo3DSvdDSoAad1bULh4YsUK8FuNPL8fli+PrTxxSkL1VD7Z4+WKVWUsKvTz8R4fkxYWUeSLTnyvUEqoZBnb8RGgCj9V+JjLxmaPS8bJtUxjKgOYwgCuYSqZND8R+CZL2B82ZOTARh/afqyOIXRlAn2wY8OFnRMZTmfSYi1WQhEMC0PkbzBmci1KwexfwWN94PH+8PY5oKL/mrRtlIK//EWHZJkxQ4dqGTlSW3yB/jtyZExFjFcSqqfy/m4v5dbLoYCAglXFAaZ3iJ7uLKWKH6nriaYAX4TDWKm468UFa45whQIwlG6cwLADOk8sEITjGcrxDI21KAnL7QOSeWRzBb4ihNLDAAAgAElEQVQgOGxw76DkJstv/gLWvgUBq+P70yfww79heHsa7XnhBZg5Uzs4btigw+d/+y1cdJGO+zVqFPz733WP2boVCgt1vhWniTLeGAmlVAZ4bCTboMJSLN6gooe7aYVS4ld8uMeLU+DUzi6S7I1P3u+mmJdYBGhLLkFQKBzYmET/qF1HON1IJ5digijs2DiMzpzFmBarzxBfzDzMw8RMB/PyfXROsnFy56aHvkp21c3CG/RDSXuLs/zhh7Uh75WCqiooK4NFixouf8898Ne/6jhg3btrBZSV1XryxhEJNfx1U99kpmQ7cAm4BB4a4mFASuNzKoW+ICPnFXLV6lIuW1XKxIVFVIWHNA7hC9Zbw11+q5+imMIArmAyvcmO+vVUcx4T6EcHUkliMF04g9EtVpchPtnjDfL41kru21jBgDkFLC5s3DKw39F1Y4bZ7DDgZ60gZFtixAhIDunRBQLQo0fDZTdt0gqlslIn7dq6FR5+uFXEjBQRmSkit4nIX0RkvYisFpH3RCQzrFxvESkVkdus9e9EZKWIbBeRvdbvlSLS92BlSaieSpJd+HxiBvneIB67kNxErwPgtZ1e9lQFa3o2m8oCfLzXx5ldG27phVoxgY40PJn+eGjZeBmpJHERE1u0DkP8ULILKvZDh8Fgd4JSimvXlFEZhAprguWG78tYMjWzweMzesPlC2DuTFB+mHoXdEqU0cnKAljxHJTmQvZhMPoKHdcmnLvvhqVL4bPPwO3WnvMdGpmjzM/Xw12VlXrd64Xdu1vuGg6Nz4E7lVJ+EfkzcCdwR8j+R4GPq1eUUhMBROQyYLxS6tfhJ7QUzCyl1IxIBEgopVJNB1dkHbCAUvXywAZU4z2VKQxgJ4X4CeLERn86trhCMRhCWfBnrQzsDm21deUicGWBL+yxLQrfEEbX0XDeey0nZ8xY/BiU7AQU7FkFa16GsdfUL+d2w8cfawXhdDYd7nnUKOjYUSsVn0/3cC65pMUuIVJE5G7gEmAHsBdYppT6LKTIt8A5IeXPBDYDZS0pV0INfx0o53VPIt0huG3gsUHXJBsndmpcSQyiM5dwJNMZyIkM51wOb0VpDe2d4hyYey8EKmFvUoC/XVZE7zkFXLOmjPO6uah2vfLY4bf922HAUhWEkhxqjGiCfp3VrCmcTtj+NSx5HNa/C4EGfHzcbli8GG64AS64QM/HzJgRbenD6SgiS0OWq0N3isjhwHnAWOAsYEID57gCq1ciIinoHst9LSt2gvZUIqVzko3vp2fydq4Xpw3O755ESjMh8XuRRS9adoJuN8UsYztO7BxJP9JMROOEp8gXZFlRgG5JwtC0+q9l+T5459xai61X/1BMfvcgyg6v7azish4uHh2WwtqSAMd1dHJaBH4qCYfYwNMZyi1PeLFDeu+mj9n0Mfz0X61M9q2D4m1wxG/rl+vYER59NPoyN84+pdT4JvZPA95TSpUDiMjs0J1WL8YPVEfEvA94VClVKhFGEhGR94B+gAvoLSIrrV2PK6Veauy4dqFUPsjz8m5eFQM8dv5vQDKekLmWTkk2bujb+Ed7H6VsYz8ZuBlAJ3IpZieFdCaNPi0wOb+XEl5gIT4C2BBWsZNfcxRuDsGEMeCDzZ/oceYuY6D7EdET2HDI/Du3igtXlOokb6JDCt0zqK7/0r9/CbuW6t9eZ5B9PYI14wyVQZiz38/To4z/DxNuhqVPQvleyOwHo5vJ9vzgQ/DWt9oW+9pJMN2vezi2uPg0NjjGKSKXAqcCx1qZSgEmAueIyMNAJhAUkUql1JONnlypn1vn60t7n1MJ5bWdlVy9uozyILht8Pk+H/MnpROJtt5GPq+xBIXOa9+LTLZbwSAF4WgOi7op8Q/k4bcMAoIofPjZxn4G0+XgT7r0Cdi/QWd12r1CJzvvMyM6AjdCEEUpVXhwmmRkTTAv38svlpfWrPsUPLCxguv7uHHsseEthQ6HaYUS9OlwPR/cUqYfSAsHMDKt8Xu8ZQ58dbe2nD3mAeh/XAteUKxJ7Qoz/hBZ2dmz4bWF4LUMcB6bB4O66h5O22ceMEtEHkI/AqcBz4rIiehhrqOqezEASqlp1b9FZCZQ2pRCORQSXqk8va2qxiGyMghLi/zs9aqIIhR/wfo6Fl+bya+zfy4boq5U3Djq5LxX1raDoYRKiv2FdM9fh1S7TAe8sG1OiyqVQsp5iUWU48WGcD4T6BsH3v+x4J4f6zu2BoGPH1BseQRsNug0HDoO1Yplx0A/G47w1lEq3dzCsyMbDn2zbz28capuRwC8cTpctRg6j2iBi4k33n+/VqEA+ILgGxUXOZqVUstF5C1gJbANmG/tehJIAj63Gs7fKqWubU3ZEl6pdHIJNqA6CoVSkNrMvIlC8S4ryKGwxeULZyy9WMEOCihHAYfR+aB8YFaRw/9Yg8MGtwo4ajrKAq6WHSb5gNWUUFnTN3+LZdxBe3OEiAxnA0niethsbP2bjUAlBIA9a2DSrfrZ3YLCLtSJTz263EnO2zbcJ4EnTHdvm1d/jGTbPKNUAJ03JRQFdBwYE1EOBqXUH4E/hm1+JILjZjawbRYwq5HyW4EZkcqV8NZffxuWQkeXkO7Qw1+PD/fUmVNpiNXsZD117dDt2OhHBxzYcGDDiZ0ZHBZ1eV04uIqpXMxErmAyZzMWQVjLLt5hGV+wvl6043CCBPkva/ATpNIWZPbIcfhtdnAkg9MDIy6MutyhFFFR50NWiY8g7S24VGQ8OTylzkvoFvjAlo49pOHjr9Q9jau+gye/cZIU1in5xOvl3ZsVTw3VPiyhZPar2/AWm97Wrqksgu3zoTDM18Rm0+bDhkMi4Xsq/Tx2Nh+dxdpSP92TbPRMbnq8tBwvH7OWQMhH0I4wnt6cwDByKWaXNVHfUl70dmz0DLEwW8EOPuZ7fASxY2Mb+VzBZISGlaOfIKEeOGt69qa0Yz8uqRysx5wdTceGOlSG0Y3FbKmRtweZ2BK//XJQDE1zsPnoDB7fWkWGQ7hzoBtVauNzN3jLdBRhRzIMPQcKt4HNLvR0C0Wltf9fWxDyPQEceQ6WPgNH3197/v7Hwfhr4Lu/6/Vxv4KBJ7byRbYlKvJh/kw9Gf/Durr7HA6TnCsKJLxSAUhxCEdkRmY9tYId9XoCgnAk/RCE7mTQnYyWELNRlrMdn6XkAgTJpYgKfI06Xrpw0I8ObGO/5ahpZ5h7KLj7tIq8xzAYF3Z+Yi+dSTPBJJuhj8fB34aFvIrpcNVS+Po+KM2Doh0wa5oe/lp2cgXrr1bU2D4osAWEjL12VFB/K0MRgeP/qkh9aCs/2vLw2VOoZCjJh2JNGM9smwO+CkBBshNKatNJkN1yoZbaE1FpPorIiyKyR0S+D9mWLSKfi8hG629cRF8LEqzTAxDgOIZEFKK+pUglKaxXIriasag6j/FMZyAj6c4ZjGI8raNQQIevmc4grmAypzKSpPbRdokqGb3g9H9qQ6S9a63Q9AqWHldFIOxff9EjaXhESEqHw6+uf65FbGau80e22/ezihxe4Vvqx5Joh9w4BZIckJ6mUwj/85+xlighiNaYxCwgvFP9O+BLpdQg4Etrvc0zmp64LAssJ3Y6kMrhNONA1cKcwDBScOHCjgMbpzCiWTNdB3amMYizGMtwWiYLUzlelrCNZWynKg5SG0eKiJwoIj+KyE8iUu+5FZEZIlIUEnzv9y0lS94KPQRWTWqBDQlZT7LB1b92cPxf4LrvIbNv/XOsYVeNFWMAxR5KqIwwVUNcsu8H2Pwp5P9Yf1/vGeBMBpsLxveHt27VIe7Xr4dTTml1URORqDQhlVLzGohqeQa1FgMvA3OpG9isTZJOMtcznR/IxYGdkXSPuZ9FJh5u4mjyKSWVJFLbgId9OV6eZh6V+BBgAT9xHdNxxXmvRETswFPA8UAOsEREZiulfggrOl8pdWpLyPCf3Cpezqmih9vG+BkeSt+0EbR09knPpfDCI0WoNPCj+IMzhQmXNW14kkkyuymu6ZvYEJIS1Xdo82ew4T0IBnT45SHnQt+ja/d7OsL0B3RcMLsbuh0eL46OcUNL3s0uSqlcAKVUroh0bqiQFdPmaoDevWPbI6gmDTcTaVsmMk7sdG3luZymWEsulfhq/GnK8bKBPYxooV5RK3IE8JNSajOAiLyJbiCFK5VD4r15Pl763ktXl/Dnc5PJSteK4T+5VVy8qpTyADgFPr/Ux8ySTHZ8JWwe7WPhheX0zXcw/KUkei914vXZWPtS0wm2TmIEeRRTShUCnMXYxDWc2Pjf2vhdgQBsnF1XqQC4M6H3Ua0vWzsh5ipaKfUc8BzA+PHjE36gtxwv+yglC09cx/SyNWB71pg1WpzRAx31tZocaDDvwCQRWQXsAm5TSq0NL9BYg+nNL31cUlSMrw84vPDJW142XZ6B0yG8nFNVk2/ep+CnyiC/uno/v7zXxdu7vFQoIAgbr/Hx65WZ+Irg20ebVirpuLmRoymhEg8unInaS4H6jotyiMpTKZ2v3mR6jJiWbK7sFpFuANbfPS1YV1ywg/08zle8zhKeYI6Vljg+GU43UkjCiR0XdjJI5jAa7IzGGw1pxvDGznKgj1JqNPAE8H5DJ1JKPaeUGq+UGt+pU6ea7Y+tq8CXpH/7XZCXHWDxWq1JerhtOMMkqAzC67u8VNaOXwGwfagfRDe8m8OGkEFyYisUgKG/ALsL7El63mToIeRIXrgQOnWCpCQ48kgoKIienAlMSyqV2cCl1u9LgQ9asC4APt7jZejcAgbOKeC1nZUtXd0BM5s1eAlQhR8fQd5nZfMHtQI5FPAdW9gaFoamKdw4uZbpnM4oTmc0VzE1UT5YOUCvkPWe6N5IDUqpYqVUqfX7I8ApIh0jrSBDbEjIPLmyQXaa1iT3D/bQN9lGUtib6QuxIq4+pmOlDXcm/OxvkFMR4LzlJcxYVFTz7O+uCjIv30duZTtyPO01DSb9Tjv4TrkLehxkcrtAAE4+WSfoUgpWrIAbb4yurAlKVIa/ROQN9KR8RxHJAe4FHgLeFpErge3AL6JRV2OsLw1w9rKSmiyOV68uo1+yncnZUe62qiD89BHsXgmp3WD4eeBMiejQcAupSvwUU0l6DIfBVpHDh6yxgmYKMxjEZAZEdGwSjkSYQwlnCTBIRPoBO9E5Ky4ILSAiXYHdSiklIkegG2cRa+THT07miIVevC5F0A5n7XEztL9WGR1dNhb1z+T1j/38X49iqizl4rHDmDQHS4u0Nrqqq5tb/+yk61iQdMXYOUXkVSkCwJIiPxtKA/x1SyUOEXxK8Z/D0zihiVxBCUVGH71EglLalPiDD2DYMLj3XkhJgeLi2hz2oJN5ra03wmlogGhZf53fyK5jo3H+SFhS6Cc0+opPwcICf/SVyobZsOVTPRlYvANKd8HU/xfRoQPpxApy6mxbyjaOIXZevF/xY41jJcDXbIxYqSQiVhrWXwOfojsHLyql1orItdb+Z9DZ9K4TET9QAZwXEmK8WYb0s7M1O4vPlvrpni1MP6v2NSzYAs+PFfyVTs4fm8b/rivD2U1x24Bkfts/mX3eIK6KPaTvnq+Hd1Kms6rMTbFf1YQ+LQ/AXzZXWg0sLdalK0vIO94E9azHo4/C738PZWXw5Zc6GdfcuZCZCX36wJYtutfi8eiei6FZYj5RHy2GpNrrRJdy2WBoav3hmLn5Pj7d66Wfx84VPZNwNBDQr0nyltZalyg/FG3X6/bmW4Gj6MFqdhIIGaJva05oCTLZfkhYQ1ofhW17JuT3k+hosAdNdoZw3rH1GzwrXgBvie4Q9/3WxW/Xujh/NvTtr61ktz6Zz6h+D6CcVWCzIdvm0HXifXXSCSfZoCpsxGtvAwkNDcCsWVqhgE4XvGCB7qF4PDBnDvzqV7BpE5x+OtzX4kkTE4KEsSuckOngwcEekm3gEri5bzKnhGW/eze3ilMWF/PQpkp+s7aMc1eUHHhFnk7UuW0OF9gi6w31JpsupOO0nBjdOFvV070hjmcITuw1Syx7TQb9KNUxWFK1bhSzb1FsKPgGm92LiEJUAPzldCnbwGPDPCTZdNDUEal2wttTQSAQeWeq/dCtmw4kWY3LpdMHA/TsCZ98Ahs3wl//qmODGZoloe7Szf2Suamvm/KA4uKVpaR8kk/3JBvvjEtjTIaDv2yuqMmtUh6E/+72UewLku48AN068hJY9GeoLNAxNA7/dcT5F2zYuJxJ/EAuXgIMpkvMzYpH0IMOpJJLEZ1JqxPIsjWYz0bmofOIH8PgqOeniTfGXwNLnwaf1XjuPgF6TgJ/UHHzgCLO6QM/t9lwVPfLlQK7i2v6JHNhDz0M1i1JOHVJCZ/srR3Y7J4k2OMgT0hUWb0aHnkE7Ha44w4YMqR+mX/8A6ZM0b0Tvx/+9a+6SsZwwCSUUgEQEW5fX8bHe31UBuGn8iDHf1dM3vFZpNptEJJ0SwDXgQ5/ubNgxoPgLdVh5A/QG9eBnVH0PLA6W5huZNAtBo6Vm9nHfDbVOFDOYQM9yaRXC0V/jgdSu8IN62DTZ+BKgYEnacfwJQV+dvcK8LxrAtewiC6qBGcAPJ0GQQf9sUx1CKkOoXAbXPbfVNYNLWZreoCuScKHE9IBUErxTq6XNSV+JmU5Oblzgk7eb96slUX10NZ//qMn2nuGvXsDBsDWrXrupFs3PZdiOCQSTqkALC70E2pFWexXvLi9iuv6JLHEsp7xBxUzD/Pgbia3SoOIDZLSoyRt+2UvJfXmlPZS2q6VCkByFoz4Zd1tdhHsyVCi3IzmN0wPbuH4ZA+3TRhZZ7ysJBeeHQuVhTYuVZkEbIrUbKHfciADbl9fztPbKikLgMdeyUODPdzYr2VTIcSEjz7SPY/qIb9AAL74Ai67rH5ZtxuGmkja0SKu+3m+oGJRgY8VRX5CjW+mZTtJDrkyr4Lf/lDGxStLeWhwMm+MTeW7qRn834Cwl2n3Klj6FHz/mp4tNbQoPcmqYxigUPTAtBTD2VkZINMJU7IdpNrBLk6WJg3m3Gkj6nmMb/ifTupVravtQaEiH+ZYBopPbdUKBbSV2MOb254/V1To1EkPe1UjAh0s67dVq2DQIG06fMYZtb0ZQ1SI255KmV8xeWERm8u1LdWJnVy8My4VEeHBwR72eYN8uMdHsV/hV1Bq9Vzu3VjBnuMbaAnvXgXLn4GgFx92CnaupmLK/fRJTYpYpkp8zOFHCqhgJN0ZSY/oXGyC0oNMTmckX7EBgOMZShdMD7AapRQ3ri3jnzuqsAFHZjl4ZXQqZQE4oZOTTuEekkBSQ5miFVTs1z+dNqEiWNsA8ySEv2oDnHMOvPwyfP217q2M6wm8D18thF8+D/sst6LPPoObb4A/3AQpXSEt4fyuWp24VSov7qhkY1mgxtnx071e5u33c1QHJ2678MoY/XZ1/nw/e721L5GvMefiHQsgqO0unQRI9hfz82828cHRQ+joar5Dp1C8xEL2UoZCsYV9BFGMbmPzJ22NEfRghFG+DTI7z8vz26uofny/K/BzfnfFVb0bN+4YejYsfhJyFlk5WNDBeCfcoH8/MdzDdWvKcNjAr+CJ4ZE57sYddjt8+CFs2AArn4OUQj2JuicHCgtry1VWwtwPYVWKttkecRH0mtoiIu3KyOK+U86KsPSLLSJDaxC3w19FfoU3REGI6G3h3DkgmRS79mJLscPvBjTyQrozCYQEwnASZHcwma/2RZYnpIBy9lBaM0fgJ8hSttUr5ydAKVVtzj/F0LZYUeTnlytL6zzjFUHIC3dACcPuhMu+hos+g8OvgcOvhYs+gYEn6P2X9HSzfFomr4xOY+30TH6WyF72Ijo9cJavNqJbihPSk2otNl0OGNZJjxkGfbD2jcbP9/nnMG6czmM/e3aLix+vxG1P5RfdknhoUwVlAXAIpNiFo7LrX85v+iczPM3O0iI/Y9MdnNSYtcthZ1Cauwa7twgHQe7iBPIknWxXZBP5+dQfl/WGWJoB/EAu77ESBXQghcs4kuRGUgIb2g9f3Q3fPq4NCU94FMZeDneuL9cOjCGPn1IweJkLBtU/R/WUooi2Fut/rF4aYnCqncENOAYnLNmDYM/32lnZ7oCnroeHv4Tt22FMF7h8fG1Z1UjysvXr4cwza0O3nHeedpQcN67l5Y8z4lapDE61892UDJ7bXkWyDW7pl0xGI/4mP+vkar5F5krFPeMBrly0ifmlbvJI48QOTo7tEJljoxM7dqSOt3x/amMMevHzHitrzGf3UcrnrOd0RkV0/rZCOV7Wk4cDO8PoGvMEZvHO0mdh/oO167OvgM4joDLYQE82CBsut+M9TZsbg1YmX90NC/+q3Su6T9DKaeBJMPnWQ4/8nhCM/hWsmQUFmyC9Nxx3BZz3F71v6xxY/3ZtVAzHcO1JP2KEnuyvZuHCuv5owSDMn2+USgPEhVJRSvH+bi+LC/2My3BwTlcXIsLwNAePD2/4EnxBhUC9MCw5FTrQXkVAcUMfNyPTa493OBzkOLuxV/zYgW8K/OysDNIzufkPZ2+y6EZGTYY9J7Y6jnwVYcEkgyj2N9C7acuUUsXTzKtJTbuIzVzJZKNYDoEf3qm/be3bcOftySz4rkTfaQEJwODvnIgIpbmQPVCX3fgRfPd3GD1jHkedP5uA386nz5/P1zPHUFkIx/6xNa+mjeJMhnHXNbyv6yRYsx0C+2FLKdx+u/aqDwb1cNdEK8rxoEF6WzVVVZCX1/KyxyFx0Y7506YKbQ68qZLLV5Uyc2NFo2WVUty0thTPJ/tJ/mQ/f9hYG2m0wBdk3IIinthSyXPbq5i0sIgNpbVDVIsL/Swr8lMR1OPXhT7F09siM7m0YeMyJnEGozmZEdzAjDrRh9Nwk44bmzWe4cTOCLod6K2IKavIoRIfPgL4CLCfsgMKl2+oT3YDQ1ldRsMJnVx8MyWdkZucdNlsZ8q/3ZzzcBquVEgPCcy/bx30HLSeE69+g4xOBWR328fZtz9LenYua99sveuISwoKYORIuPBGuPAe+M39UFEBRUVQUgLXhSiiadPghBPqHv/449px0lCHuFAqj26uta0vC8DjWxr/0M/e7ePFHVX4lbZu+dOmChYV6F7CnH0+KoM6mqsCKgI6Hlg1gbARBwVhsyJNY8fGcLozll6kUNcU2YZwOZMYSld6kslxDObwGMf9OhjaWaCPFufkJyAzJHN1v+Ng9EX698QsJ6tuTOfVnEzO/jqFvuOFy+eBI+TR6jUZehy2Gbujdi5ABW10G7iNNGN42DRPPKHnVUpKasO0hFJUpPOojB4NXbvWVyAul44LZqhDXAx/JduF0DCs7iZU4cayQB2LGRvwU1mQSVmQ6bQRGlMvCLyys4pbByTjsglHZjoYlmpnbWmAgIIkm3BNb7ceuN63Vhv7dxgMKV0O6jpScXMO8TsGO5qeLGIzXvyAkE0K/Yg4N5WhAWwOuHkzlO4BhxvcYW46YoPj/6yXhug1Gbb/pycBnxO7o8o6Jkjx/u6c/u8WFj7eKSzUeVKqcTr1xFRVlY5SfO21cMwxtSbIBQW6jM8ayvb79dyLoQ5xoVSeHpHCuStKcAp4g/CPEY3b1h/VwYkjRAcFgUlZ+jKP7uBgapaTT0LMhLdWBHlqayW/6Z+MwybMm5TBW7leSvyKM7s66eG2w5pXYOe3WrkIMPFWCrO68yU/UoGPifRlUGKk0m2SVJK4nqP4kd04sDGUrtjjo7Pb5kk9hMdn9G2jWHz3iRxx8seooI35H/yS8+f3rqegDGFceik8+6zupTidOi7YLbdoS69jj9VJu+6/v7a816tNlEtLIS0NnnlGxwsz1CEulMopXVysnZ7J9yUBhqXZ6d+EG/CETAdvjE3j3g3lOG3w8JAUBqbo8iLCbf3dLCjwUT2VUhmELeW1XZsku3BJz5DxBV+5doxUtQNhwQ3v8/zE0VTgRQHbyOcCJrSLVrsHF2PrZNs1xJrUrjD2T6ez8p3Tcbhh+rO11mGGJhg9Gr75Bl56SQeSvPlmyA6JtlESFqopOVmbEs+c2apixhtxoVQA+nrs9G1EmeyuCnLvhnL2VAW5qrebM7q6OKNrwybE4zIdOG2CBLT7ocdGo2U19U07q5SPAMGaPX6C/EBeu1AqhtbjrV2V3LaugoBS3HeYp54nfdkenSOuw2BI6QxH3BAjQeOZMWP0hHtDpKXB//4H558P+/drP5W77mpd+eKQuFEqjVEZUEz8poidlUH8Cj7d6+O98WmN+qVkOW0smpzB/60ro8Cn+G1/N8d2bMIXxZkCPSZB7hId90IE72EnE2BXTREHNjJinBfFEN98kOflyW0VZDu1feAHu711Im3f8kMZQ1LtTLPSY//wLrx3sfag93oU0/8XYOwoW6O+WoaDZOpU7eSYlaUXQ7PEvVJZWxpgv08rFNDJt17dWdWks+PgVDuzJxzAgPOoy6DrWGuifggZad2Zhod5bEQQupLORPo1e5qGKKScdeThwsFoerRPnw+lYO3rsP1rPXM94mKdmaqd8NleL+evKKEiqKfsGgrgE1CwtNDPtGwnSsH7l4K/AnZ08/Pyg8U8uE1h3wP/nZDOMU01kgyRk5+vlcr27Tp0/hNPwFVXxVqqNk/cK5WOTqkTJNIl0L2B6K2HhAh0GVNn03QGMZ4+ePGTQfJB5XbPp4znWECAADZsLGMbVzKl/U1+71wEOda8VSAAa16GrP4HbWUXb7yd660JjNpYRDiHwCjLUVcFtEIBeO83JVSmWAYkQThpYTHrM7Lpd5Qx/j5k7rlH56evtva66SY4++y68y6GesT916uPx87/G5RMkk0HjByYYueugQeWdMgXVLycU8lfN1fUcYZsDg8uMvEclEIBWMY2vPgJoPARIJ8ydlLY/IGJRslOHSajGpsDynbHTp5Wpm+yrUkz+TQb3DvIUzNMW+nwwoLl7Mv9miHHbkekVhV5bXDX7T7m3mi6w8kAACAASURBVNfSUscBKgh7v4e85bVa+EDYtq1WoYCOfJxvnH2bI+57KgB3DfRweU83hb4gg1Ls9UKzNEVQKU5YXMziQj/e/9/eecfHUV39+znb1CXLktwt924MuAI2xlQbA3EgmN4Cob0QIIGE9gZ4CST8ICGVEkJPAEMAE7qpBoNx791y71ax1VbStvv74660u+pltUW6z+ez1u7M7MzZ9eycueee8z0+eHCLkwUnZnB8Rvt/NRZ/fX31JUFB5xulAHQdCru+CjgW5Q0tG+/g/HJgEh8ddrG6RNdHTc60sr7MR0KJMOPBVPputdNnOvje1f72Rd8iPBPLyLYqpmQ7sVgU8/P09yU+KO7m5dvfwrQHo/zBoonyweI/wtEdgOjW3yc/CI7U5u/jqqt0P5bqlOOePWFA68LcnYkO4VQAeiZa6Om/3dtf6WNBkZteiZaaic2G2FzmZfFRD07/AMXthSd3VPCv4+rrdhReJtGflezB46/bz6UrvaLQKz7qdD8Whv0EdnwG1gTd0yKx80yKJluFhSdlsK/SR6pN6GK3cGgNvPBjndHuA3Z8CStfhGNu8FAoZVgt+lbEYfMxomdRjVOxuqH/WntNL5VOS+EW7VC8fsUMnwc2vAlH8gAFQ8+H3pMa38cll2i9r1degb594fe/B1tsXjJF5CGgDNgFPASMACYqpZYFbTMG+AeQjj6tJgDfAAlAVyAJ2Off/MdKqZ2tsSU2v6E2sK7Uw0kLi0Hpb+3avgn8dVTDdyd2i4RU2QvgkMjEo9NI5FZOYRsFJGBjEDmtDqXFHErBgWVQuge6DNLLnIf1qCSjHnmaAWfoRydFREKES4v36FFJNW4nHN2pNeNsWGpuRLw+KCpPRHzQZ5OV0/6VQvddNnqOp3PjrQqpLUN5Yf/iwLI1L0Nyjp67a4zLLtOP+GEdcAHaedQgIjbg38CVSqnVIpIFuJVSk/zrrwHGK6Vurb1DEekPvKyUmtYcAzqcU3lgs5MyTyCk9I9dVfxmcHK9rVcBBiVbOL+Hg/cP6dCLTYR7Wzgn0xaScDCaDtjCdNPbgZCWWNBSuwJYYOxNenRSzbZtMGcOpKbCtdfq+oBOTu+J6Dscf3zUlgxDZoIgXCrjedm7FIXiaEUCH60fgLLAzCOJ9FpvR+xQsAG+fRSm3h/lDxIt9nyrRyfViAXEGuRofHB0W9NOJYYRkfuBq4A9QD6wXCm10b+u9uZnAWuUUqsBlFLtNjnU4ZxKpS80g0ZCZcPqICL8+7hUvihwU+BSnJZtp3u4s8c6Izu/qmnPXBOLqf5/2Dw34FS2boVx4wJx62eegVWrIDF6dT8iMgP4C7ph6PNKqcdqrRf/+pmAE7hGKbUinDak5MC138Hnv4aqUpj8a8j1d7kdSDZHN07h+f3lVLhtVMt8rkhz09OXiPLpJobfPART7g4d8XQKvG44tDp0mS0pcD6CHknvmq8rSEdcqMOusUW2iCwLev2cUuq56hciMg64BDgefR1fASxvZH9DASUi84AcYI5S6vHwmx0nTuVwlY8Cl56EtzcxCX/PoCS+KXTjUpBggdOz7PRMCLyn0qtYWuwhxSocn25FRBARzuzIbVWjgcUW+iMOJrhz1EsvQXm5jl17vbB/v26IdNppkbGztmkiVuAp4ExgL7BURN5XSm0I2uxsdP/FIcAk4Bn/37DSbTRc/nH962b3SuSpXYHvV4DMI6E3Q0oREtrtNFis1EnO9lTA8Av1DY3Prb+Y8oNQUagfE26LiqmNUKCUaiyIeTIwVynlBBCRpvob24Ap6HkUJ/CliCxXSn3Z0BtEZC4wAHAAuSKyyr/qL0qplxo7UEzzzK4KfrHBiU2gm8PCoskZdGtkJDE1y87CyRl8mu+mV4KFy3o7aoaCxW4fE74v5mClDy9wQQ8Hrx6bWt9Q0dBWRl8Ga17RzsXr0kNG8f/YR1wY2C45WadqVjdAUiqqoxRgIpCnlNoOICJzgFlAsFOZBbyqlFLAIhHpIiI9lVIHImXk5EwbZ2bbWFDkAX877fsmJ/Ld33XUx+rQbYmtnbEOUixa8tkT3CJDYOBZ+vH5HeDy63r53FqBPD5pyS3DXuAbpVQBgIh8DIwFGnQqSqnz/dv2p6PMqRS5fPxig+7VXQXsrfRx32Ynz49pPC3w2HQbx6bX/WhP7axkl9OHy/9fMfegi2X9vUzoEtNfQ3zS+0TIGKDvBtP66LtBZz5kDoLUIGXXm27SSrHFxdqxjBqlJcadTu1womA5OkZdzV7qjkLq26Y3EDGnYhHho4npzMt3U+JRnJltJ8thYfA3sOsb3Rly2KxIWROD5J4KO7/QTsNiJyRzIbFrwKkAJMRlxuW3wMsi8hj6On4etSbnazEP+LWIJAMu4BTgT+1hWExfTY+4FdagQYRbwb7K1udKFntUjUMBXflZ4umM8YEIkdpDPwCSs7XyYW2ys2HDBvjyS3jkEVi/Xgv45eTA8uVaPTay1DdsrX2SNGcbROQG4AaA3NzctltWC6sIM7uFhm17T9CPTs/wC3RaetEmfXMzMKhr4/HXw6IndEqd1Q5j/yd6drYSpdQKEXkTWIVOI14AICLnA39Dz5t8JCKrlFLTlVJHRORJYCn6XP1YKfVRe9gW006lf7KFfklWtpV7cSlItsJP+7R+Qu2K3gk8tUt3kbQLdHVYanqtGKJIWhpkZMDmzbpXBejeFS+8AHfeGWlr9kKItn8fCFIPbf42+CdWnwMYP3582+9evG59521v3QhufamHnU4f47vYOn4yilhgwOn6UZvUnnD6H3QGhCPVPwcTfyilHgUerWfV3Aa2/zc6rbi+dS8DLzewbicwrbl2xfQV1SrC9yel88BmJ3sqfVzRK4ELe7XeqRyTbmPhSRm8tLeKDKvw8wGJJFvNfEpMUFHhTzn24/HoEFjkWQoMEZEB6EKwS4DahQrvA7f651smAcXtPp+ya74W3QRd6zPh9nonTD4+7OK29eVU+RT3Dkrif/rr9Pg/ba/gfzc7sVsEH4pvToiMakTMIhZIjMuwV8wT82dVpt3C30ancrjKx7JiD2tLPBxTz3xJcxmTbuNPI2P+Y8ceSkHhxkBL5eQcXWBWuk/HpJOy2rb/adN0KMzl0g4lJQUuv7zp9xUX65BZbq7u3NdGlFIeEbkVHYO2Ai8qpdaLyE3+9c8CH6PTifPQmTQ/bfOBG6OiCO+GOVirayyO5MH2eTDk3JDN8sq9zF5eSnXPuV9tcjIkxcopWXbu3uTUqfU+PWD6xYZyPjsmgzWv6fnsUbMhrQOWSxkiT7tfXZvK+W8Oa0s8TPmhBACPT/GbIUncMzgqk7idl/Wvw97v/S8UHHcjrHtVOxafV8usDDwzsL2nEla9AIWb9HzK2JsaVx1OSoIPnoV/Pgs+O9zyAAxsojBt3To4+WQ9we926wn/K69s80dVSn2MdhzBy54Neq6AiLXE+mjXIab4LAEBH58byg9xBCf7KSaLFHqQzqoSDzYLWkoCqPTCoqMeTsq015nwKXUr/jkBju7SZUTfPgw3rdGOxSRDGtpCuwZWg3L+zwZGApeKyMiW7ueujU5KPIoSj8Lpgwe2VOD0mgn2iOF26l4n3ir/w6Xl6atKtPPwuWHz23q7ata/AflrwOOEkj2w+MmG9++pgPn3wc434cxMmJEOh96iSQGrW27RI5WSEh0+u/76QGpyB+KXezJwYcXrzw8ox86hHoN5hm/5gDW8wPcsYQcjUq14gj5+khWOSbORYhMu6OGgunFqshWuKk2iZJ/+6r1VUFkMb5wHjzjgsS6w8d0ofFBDh6C9Z+tqcv6VUi6gOue/RZTWk6FV5TNOJXLU8137PLWWS2hdwJG8IJkMpVOKvUEy4sFs/UDrgtUczqel7yuKGjersDC0us/j0eGzDobTksRJ3MKnDGUxfblTLuDdHoIbL1V48ODjMzYxMs3KU6NTyLAJDgEbwnVryrhrQzmOZYK3FBIq4Sf2BGbaHHX+Ww+v0/9lVcXw7hVQWif1IEZxV+iixtUvan0aQ1Rpb6fSUD5/i7h7UBLJfkuTrTCzm51M0zY1cthToNckLWVhsenKugFngMWfzmqxQVrvUGXhLgNC9UESMxuuxKuvd4rygb0JDbZbbgnUsiQlwTnnRLtwsl14fHgS+y05XGS9jtOsP2fMyJPxEDoiU34PcU3fRDad2AWpgmKvosit+EteJa91q6IqGaoS4V8VVdyaUkrOMQpHqk6AsiXoAWc1Vgcc2R7BD+nzwtYPtVz95rmhul2NoXzww2Ow/VMdnl36Nzi8tn1tNTRKe8+pNJnP35xc/lk9HHwyMZ1P8l0MSLZyUQ8Huyu89Em0YDEB4Mhw7LWBlsrZI7QTyegPB5ZCUjYMmhEajB99ObjLoXCzXj+ukVqAHuMgf33oVW34hdqZNcbNN+t6lr/+FZYsgU8/hV/+Ev74xw41MXBp70SGp9pYVuxhTJqVSZl21jCYD1mLBx82rIylb43C9dtPe2GggEP/1DxWCOlSLfB1sZs/fuTFvsCGp1JHMj+9PRDBVD793xwxNrwOexZqaZ+iPK3JNfbGpt9XfliPcqudkM8Fu+dDt2Oaf+w33oAPPoCRI+FXv9Kj3/feg6oqOO880+mxhbS3U2kyn7+5ufxTs+xMzbLz2r5Kun9xBAWk2eCVY1M5t3vMicF1PESgx9jQZd2PDVUbDsaWpNNem0NSNmQOhrKDOqtsxOzmq8eOGQPLlukLAMBzz8GECbqAsgNxfIYtJAV4DH1IJ4ndFJFNKiPoUbMuca0V3+DAT8nihsQkNz26lHPUmUiRMxE3sKnSy4U/8rcoVuAshGXPQGIXOO85SG5jQl+L2L8soBXnc8HhVY1vX409KXTuTSzgaIHK9dNPa0fidOpR7oIFkJ+vhU6VgnvugTVr9M2LoVm0dwypJudfRBzonP+mhM8apMTt47rV5biUrq4vcsOPl5fx8eE4iqNXFMG613Q/h+Ld0bYm+hRsgCV/0unKBfkwfw2s3Vu/EuLRHbBhDuR9FJi/2bxZqxtXU14OaztH+KM/WUxlCCPpGdKHZ+IMC1c+kU5agYUEp3DGNhd3nLqKi8Zu5eapaxjX9xAC7HIG+o2IaEXjO3bCTav80vuRJCE99LW9mR0aEzJgyHlaisWWCI50GPrj5h/32WcD9VCVlfDFF9qhlJXpc6moSDfpMjSbdh2pNJTz39r9FboVluD+u4BXwR+3V9SRq4hJXGXw3f+BqxxQumnQ5N907gKB7+bAL9+CfcXg8YHDCtb34KKL4cUXA9sVbdUZZD6XnqvZvwSmPKAdSElJYLvkZJgyJfKfI4Y45gq4qcTOhD9nktodnHMXcsDurQlGnz1qJyv2dGNnRQxlyh33M1j8Bz23IgLHNyP0Vc3gc/WcX1UppPdumYx9To4+XvVNjLWe6vpOKfXcetq9TqW+nP/WkptkoWeCsL0i8J8sQLotTuLnRVvAG5Q15XXDwRWdy6nsW6zbBtuSYNSl8Mt/wM6iwI1CpQfw6KZdv/lNoCf47vlB4RGPFqf89hN4NEilQgR++lOYOTOCHyj2EIEJt+gHwNOEZt1ZRGGxKD6JpRF+Rj84/UmoLNLxt5b2N0nO0Y+W8tRT+ibE7daPp5/Wc3I7dmhnkpqqe9Ubmk1clZZbRfhhchemLy5mTakPhwWSrMJjw5uY0I0V7CmEDLMsdnDEie3hIH8drH1Z17kAzPsN7Dhc/7YiOhxRjS1Zx8uVD7YXwiNfQkEtUVa7Xdep7N6tK+wNAAwmh3xVBqLbD288mInXZyHZFmMZlFZ7wwWyh9fC+tf0DcWgmdA/TP12hg+HnTth0yatyNCjB1x8MfznP/r8O/98M5/SQmLsrGqabgkWVk7NZPXUDN4bn0betC4MS225INz6Ug93bijnfzeXc7gqQmGArkOh+3E6FdeaoDOo+nSiUM2hNQGHAvCX+fVvl5wMY8fCsCBV48Hn6Hi5NQF+Mw8Ol2kHElzs6HLBq6/CiBH6otBRcebrzpr7lzZZIFpKJcvYXRP6Ugh7CzNJtsJfRsbJDU35YVj+tP7clUdg03/0DUprcLt1huCQIXDuuXDggL4ZmTcP7rhDnz+JiXp0csMNxqG0grgaqVRT5PKxt8JHr0QLXR0t94ubyrxM+r6Yci/YBF7aU8WmaZmktXcYTQSOux7KDug7rvQ+oV0QOzop3fTorDp1eGt+3W1uvhRye8HP/xcsQd9NYheY9ijsXQfl/2z4GOXl+u/118Ps2eGzPVYo2QsLf6ediVh0bcaE2xtMoS6kHEvQJL7Nojhn5B6eHdyLY5MCCQ5efBymlARsdCX6zkahWMM+CilnVMk+ulssNfIzeN1wdDvkjA55jxMX77CS/RTTjTRmczyp1Kpbuu8+PTlfUaFHKKdOhcFD4auv9bIPPoCCAu14DK0i7q5oW8u9DJ5/lItXlnHiwmIe2Nywkq1Sim3lXraUeXF6fKwq9pBX7uXHy0oo9ye+eBSUeuHbwgaqvcONiJ5DyciNT4dSvBO2farrU1o6gdlvGmSP1B0gxQrjjoXqIlYBemfAjzLg2HJY/DtdKR2MLRF6jYDePZuuQ4mOwnH7s32eX2/Nrf8Wbq6/eNRPFin4apXOe61uPktaggf9I6jEzbN8y8v8wDN8y2dEvyr9A9byEetYQB7/TS3AF1wMabXrxm+1eIeV7KSQStzsoYg362vZ/vHH2nmAVmDYui10mdMJ/2zkpsXQJHE3UrlvUznFblVz0/L/tlVw+4BEsmqNWHxKcenKMj445KJanNUhUOGD2gEDn1Kk2+Nksj+aHF6rwxDKqzOwDq+DY+sR6HWVajHJ4l3QpT8ce52/b4VN9wJ3V+jnUyrgkovgu+8htzvcOSkQHnOVwaFVkJIDeR9rJ5Q9Qoc+HjoF7poLheX125mc3DyF43hEqv9pnkNPI5GLGMccluENOvPdeCmmkixS+IHtHMGJ17/PpexiLLlk08y03jDjw8cq9taoBBxIS+Hr0RM5fcNKnR3W/0zofnyd9x2guMaBKuAgJXW2YdQonTLs9t9EJtuhygNu/3cjotWyDa0m7pxKqSfUKVgEKuoRl/w0383Hh10EZ026GvgdTs+2M8U062qarR8EMrC8Xti3UGdw2WqFGJY9DUe2Ako7osVP6jmR7BG6wVS1/Eq6HT7+VD/f/jV89RwUV0KGf39VxX4lZP8xD63Qf3Mc0DutrlNJSoILLtAy+tdeG+5PH1W2cIi9HCV34HgGHVyBKB8geuTXmPozeqJ+Ev1Zws4aeRcB0tAZVuW4ahwKgAULFUQvM0wQLIA3aNn2vsM4ve91jb6vO+nspggfCgG6UU8R5NNPw7Y8WLkS0hLggTMhvxz+vAASksFm0+ExQ6uJuyvpLwYmsqDIjdMHSRY4oYuN3ol1w0j5rqYn3wXonWjh7XFpSAeS9Wg36uuQV18I70gegTtpBSW7tNif1QEn3adHH8Hk58NZP4N9e3R60o0nwU9O1iMin7f23iGvANbXCvnY7boaety41nyymOYHtvM1W3DjxZ5mZerUq5lcUIXLkYij29hmnbunMpQCythKPknYuZDjcfh//mPozWr24sGHBSEJOz2IXgMrQTiLkXzORqxY8KGYQdPi5j/heN5iOQcpIYdULqaecyE7G5Yt11r/zv16bnOUAy68FcjVySFpLajIN9Qh7pzK9BwHn01K5/1DLvomWbghN7HeH9UZ2XYsIkjNIFqTYIFEi+DyKQanWHnHOJTmM/xCLfgHeqK41yQ98R6M10XdACPgrdSP+ffCmGugb1DW2/33w+49gZDEc4vggTfBvVuHybzVjsWindjCXbrqNZjp0zukQwFYyHbc/vt2N16+SSrkh742qiglia+5mhOaDFXZsHIpE1CokOp7gFy6cgWTWMlukrAzhcHYaUOLXa8b9izQI83ux2lx0RYykf4MIIsinPQkg/TaE+71kEoC13JS0zsXgcl3w9b39XxUj3HQ+8R214s7UJzCQx+d0K7HiAXizqkATO5qZ3LXBhRv/fROtLJ4cga/z3PiVTAmzcKyYh+DUyzcPziZlHgpmIwlMgfBiXfrcJbXBQeW6OVjrgn8IMWi5z9UPSMMABSs+7fWDKvWaNq7N+BQAGx2KC6HQRPgwDI4vEYv73WClvPoWwAJG6HKH6JJTIQHHgj3p40ZbLXyabz4cPrDU2VU8Q4ruZGTm7Wv2g6lmn50pR9hEE5UCpY8CUd36lDp9s9g4u2QNbzFu8ohjZz6QljhwJYIIy5qn313cuLSqTSX4alWXjnODGXDysEVurNTtdM4sETL4Kf7dUMtNhh5MWz014n46smqE4uW1Kh2KtdcA998ozNvHA7o21dX0q/fALe/AfmH4GfXwoxrtPN65Bz4bKLu/KiU3v6YFqjSxhkzGc1/WIEFwYsPhQqZAymmopF3R5iKAq3RVv3/Xu1YWuFUGqV4JxxYrm8yck/RoVVDTNChnYqhHXBX1BqFWEKbcwH0Px2yR8EP/w9ctZ2K6Mn6YEmNiy7SzuLVV3Ul/MMP63qTqVPh6FHtOB56BHr2hSuu0PpM+/cHUpr37tUhtD/+sT0+cdQZQjduZiqH/HMFn7OJbeT7Ze8tDKFbtE0MYHFQp3lb7USOtlKUp8Ow1UkjG9+C8be1TO7e0G7EYaGEIar0nVzrrlDVnVcBSO1RzyS+QM/xMPn+ug27Zs/WhWdPPQVZWVo2w+sNOA6nU9cTgJ7YD65DqaiAH35o6yeLaTJJZjg9yCKVCziOY+lDD9IZRy7nEUMX08QM6HeaPkdsiTrTb2iLm702zs4vAw4F9Pze8qd0Krsh6piRiqFlZPTTCrLV9SreKlj0OEx9GJKD8vsLNoK7LPS9vU4AfLD7Wxh0duMhi379Aj1SQM+bVIe4FiwInYNJSoLJk9v80eIFBzbOjSVHUpuRF0PvSbrxfeYgXaMUTuob+YgFnAUt66ViaBeMUzG0nMojfnFHfxhMKd0XJXdqYJvDa0NbwlpscHCpXmaxa8XmQTPh0ErdpKv/6aGjl7KyUJkWux1+/nMth3/TTboauppzz4VHHmmfzxplSqnkv6ymkHIGk8N0RmJrIDPLhYeDlJBCAlnRllrJ6E9LspKduPiANRykhP5kMZPRDWegDTlXt43wBt10iDRZr2OIDMapGFqOIy00tCVSt8lSSjcdX6+Rq/dSE2v3uaFwExzZpp9b7FCwDibeGcgie+GF0JFKWRl07wbOWpPSGRm60DGhY3b//BeLKaAMBaxiL4Iwk9F1tiumgn/yHR58ePFxMoOZypDIG9xK3mAp+/0V8evYjw/F+RxX/8ZJWXDaEzqLsGC9PvfGXKvn6gxRxzgVQ8vpMRb2LQooxXY7BrqNCd1mrw0e+gqqyuCKcTB+tFabDZ7ErckQckPhVi3NkuAPXzgceqRSrUKsVF2HAlqZuIPK3Hvw1jgU/drHdgrq3fYrNuPEVbPtt+Qxnn4kEx9ZUfsorqko8+BjRwOfswZHSvN62BsijnEqhpYjFhh3i04fRfSdY3Dh2NatMH1GQDF461FY8Gtw/0eHv3xePZF/eAcs26O1dib0C4S/nAVwcjpkJENhPfpNwdxzD4xsuto6HrFiIQlHTU2KBalfegSoCHIoeluowhM3TiWDRI76U6MFyIqS7pih7RinYmgdIg132vv661AFY6Vg0Rq44XEt+5/YBY4UwMXj4ahTj0a65UD/TTBqKHz3MFSVw03j4YlvwNVAIWViIvziF+H/bDGCIFzORN5gKWVU0YP0BifoJ9CfHRTWpBnnkEYXkiJsceu5jAm8xhKKqSSHNC5oKPRliHmMU6mHKq/i/cMuKr1wTjd7q3q2dGpyc0NHLhaLXmZL0KrFAB+9DcVuqPCHwPYchIkTISMdCgp1r/qmRA8cDli6FE4LTxdAEekKvAn0B3YCFymljtSz3U6gFK156FFKjQ+LAfXQiwzu5Ax8qJC+KLUZQjcuZQIbOEA6iWzY3YsuG4vwKPj1wCQeHNr8+Ybi3VB2EHJGRa4xaQ5p3MHpTX5OQ+xjnEotXD7FlB+K2VSma5bTbMLqk7vQLcE4lmYzfbouUnzxRf36kkvgnHNCt3G76/Zjcbu1Q4HQ0YnFAlNGQZLA1xsDBZUeT7g7890DfKmUekxE7vG/vruBbU9VSjUR+A8fzbnQDiSbgWSzstjDneuLcfqnoz5w7ibVVUBvRyLTGUkmDTuYJX+Dz38NFoeCq/cy5NEjDErrwnH0bVDiJZwYhxL/mCtlLb4udLO5zEuZF8q9UORSvLy3quk3GgKIaPnwQ4f04/nn64r1zZ4N6emhacMN4fPBgnUwb412KAkJOvR1yy3hlmeZBbzif/4K8ONw7jxSbCjzYvF/3cO6FzF99A7KHMVs4RDP8z0uPPW+r6oEPrtLCyS47tmM63frWZ+2h0/YwOdsiuAnMMQzxqnUwlfr5lnR3HZIhjpkZupHfWRnw9q1cPPNugYF6joei+j+FhA6qnG5dNjr8cfDbXF3pdQBfTh1ABrUP1HAZyKyXERuaGhnInKDiCwTkWX5+fW0Tm4nxqZbcfszuUf2KMJh00MWhRajzCdQlFpIOXs4ghsvrrKgTPEbd0NqQBl5BbvDY5zy6RqTrR9quRVDh8M4lVqclmWnX7KVFKvu15JhE67sHUM1ED6PLj701X+3GVfk5MDf/w5ffgkXXqg1vaqxWOCWW+svahQJZJa1nKEisq6eR0u0RCYrpcYCZwO3iMjU+jZSSj2nlBqvlBqfE94wXaOMSLNx5+I0Mg9YKM9PxFcV+JlX4fE36/LyJZt4lm95jSU8xXzoWUX3Y/0F6yWhkXFHuCLla1+BNS/Dlve0ftfBFeHZryFmMHMqtUiwCosnZ/DW/ioqfXB+DwfdY2U+pWQPLHpCy85bE+CEuwLqwPGE2w3z5um/Z50FO3bA38egnwAAHMlJREFUkiWBmhTQIa4RI/RI5vXXYc2awDqrVasYt44tDU2si8ghEemplDogIj2Bw/Vtp5Ta7/97WETmAhOBb1trUHtw9UkOUi5y4FbpMK8cJh/RiQ8CGziAD8UmDuLBhwcfbrwskK1c9eVoFj4Bu+eMYfddy7DZBB+KWYxp8phN4nXD3oV6tAK6MHbrB7ruKZx4vfDSS7B9uz6/pk0L7/5jEBF5CCgDvgCeBRIBD/A/SqklkbTFOJV6SLYK1/QNs7JqOFjxLLj9d+g+N6z4B0yLM3kStxumTIENG/xpyclQUqJFIYMR0V34ABYt0u9ZtUpv/8Yb0K1dlHnfB64GHvP//W/tDUQkBbAopUr9z88CHm4PY9rC0HNg1kuw5O9Wkv5yApunfFKTTefBxy4KQybFfSicuHCkwLSHALIp41QKKCObFFKb0SSrScTv1YKxtMMl6OKL4ZNPtOjoX/4CTz4J770H27bCiX3g6pNg8IxQWaGOw+PA/ymlPhGRmf7X0yJpgHEq8UTV0cZfxwPz5mmHUuaP65eXh45Qqh2NUvouc9gw+OILWL48EtY9BrwlItcBu4HZ2iTpBTyvlJoJdAfm+ruF2oDXlVKfRsK4ljLqIv0AC0+SQCk64aS6f3sJlRRRjheFDQvjCFUmSCWBVH8fe6Vg93e6mWPuyVqMuMVYbFqxOO9Dv3acghEXt+kz1qGsDP7734A2nNMJt92mRy9eL+zeCaoULjsCCRm6WVycIiL3A1cBe4B8YDl66qxaMykD2B9pu4xTiSe6Hatj0NV6WbWlUeIBl6vWAh9YLbo3PeiwV0ICFBXp11u2wPXXw4cftrtpSqlC4PR6lu8HZvqfbwfi5kpUhYcSKriQsfyHFZRRRQ5pzOJY7Fj5ge2UUcUYetOPrHr3oRS8cwls+Ug39XQkw40rtShCixl8ju61U5EPXQZqNYZwYrfXTfgITl+v8sKSPXDxcZC/PpadSraILAt6/ZxS6rnqFyIyDrgEOB59HV+Bdip3APNE5A/oOfNm9FcOL8apxBNjfqpvEYu2QdfBMPT8aFvUcs46S0/Qezw6xp5ghQFdYcMhfTF4/Pdw+y8D23s8sHlz9OyNY3ZRxOvocLogXMUJdCcNa1B+zqkMa3I/h9Zoh1IdefU44Ycn4czWJt916R8ogg03CQnw6KPw4IPawSilz6Hq8KrNArldtNhpWq/2sSE8FDRRVHsyMFcp5QQQkff9y28GfqGUekdELgJeAM5oX1NDMU4lnrDawxcu8FTpEETtZlntTWoqrFgB//oX5H0G41OhazI43eCwwzk3wiv/1hPzbrfulVK7cNLQLN5lJS4CRaRzWcWVTOItlpNPKT3JYDZjSaHx7EZPZejNv88DbmfD20edX/0KZszQYbDMTH0Tc/31OjQ2KAuumwQ9jusIcyr1VTtcDdzuf/4f4PnImaPpFE7FVQbz7tQtrftPg9N/14lbWisfrH4B9i8BRIcjwt2Zrym6dNG9UY6eA4v+oJelOSB3GtiS4NNPddbXhg364vDYY5G1r4NQQWgrZycu3mQZByhGAXvUEd5hJVfJCY3up+dYyBwIhVt04qEtCcbFukDwk0/C22/r5yKwcCEMHgwJDv0baI8EgcjyLfCyiDyGvo6fB/wDPYdyCjAfOA3YGmnD4v6bbQ5vzYadX+uePvkb9GTjef8MtPiI//OrBexfAgdXBtI6t3+q52a6tDpFt/V0Gag7RhZt0bH1LH8oJjsb/vOfyNvTwRhBDzZwAA8+7FgZTS9WsLvm9tYnio2uYtZVeRid1vCPwGqHaxfCyheg8iiMnA05IyLzGVrF3r0wZw5UVurXIvDb38Kbb/pfx0iJQBtQSq0QkTeBVcAuYIF/1fXAX0TEBlQCDRbnthed4nK648tA6w5PBWz+ANIfhm/8iaATb4Ppf6w7v9chqSjUt5vViEVL2EfDqYBuQRzchtgQNn7EGLJIYS9H6U9XTmAg+zjKHt9RLBbw+GBfcQoXrS9lw7QGlA/8OFJg0m0RMryteGupWlfPq3QwlFKPAo/Ws2pcpG0JJv5ddjNI6xn0wt/+Y8HvdDdc5YXFf4IVL0TNvMiSNUJnjlWjFHQZFD17DO2GFQtTGcJlTOAkBmFBuJhxHChOo9JtZXdROu+sHMyeSl/TO4sncnPhjDMgJUUrWaekwN0N6YIawk2HHqm4nbDlQxh3Myx8XL9OzoYxV8BX94Vuu/BxGPez6NgZUTIHwtibdK2AxQYjZkNS12hbZYgQaSRSsuN4/nXIRaUPEi1wdrcIJ2u0NyK62PHNN7Wg6dlnw/Dh0baq09AhnEqpR/HEtgr2Vfq4vHcCp2XbcTvhuXFQsldvk9oDrlwBGblweF1dp+KtXT7Rkel+bCzn5xvamZeOTeXXG8v5/oiHEzNtPDEiQk1TwkAVHhxYm5bht1rhsssiY5QhhDY5FRGZDTwEjAAmKqWWBa27F7gO3cjoNqXUvLYcqyG8SjFlYTGby71U+WDO/ireHZ9Gz88cFO8J5NaXHoCd8+G4a6D7GJ1ReHA1oLSM1tjr28M6gyH2SLIKfxsdX+16y6jkVRbTY99GZq5bhUOBpf8ZMOwnnWQyNH5o65zKOuACaonpichIdLXnKGAG8LSIWOu+ve1sLfexzakdCoDTB8/sqkTVmqvzVOiOdtX89Ds44Rcw8Cw48wk4udbIxWAwxA4fsg7KDnLumhUketxYvG7Uzi/h4LKm32yIKG1yKkqpjUqp+sqdZwFzlFJVSqkdQB5ayTXsdLEJnqASIJtAjsPCsFk6n77GVp+uAq7wN4d1pOiMryvnwaSfm5sdQ+fBjZfP2MDL/MA3bMVH7E/UF1JG17ISfJagH6rXFYhvG2KG9sr+6o0WOatmr39ZHdrayKhHooX7BieRZIF0G3R3CA8PTSYxA4adW3f7w2tbfAiDIaZxFsIbs+BPufD2pVBV2vj2b7OCpexiF0V8Tx7z2BgZQ9vAULpTmJ6JJahZm1gdkGkyF2ONJudUROQLoD7puPuVUnWkwavfVs+yehso+kXSngMYP358q5osPjAkmct7JZDv8jEm3UayVR++2xg9WvH4ZX+8rvhsP2IwNMZbP4E9C3Ut1qa5uk3JRe80vH0e+fj8P0c3PjZygLMZFSFrW8fpDEOShc/GuTll3RJSvIJl0NnxKarawWnSqSilWiNGthcIvnz3oZ0lmAelWBmUEjptM/EW2PEVbPsUsMD0P0NmlGr8DIb2Yu+iQHGvtwp2NdEuLBkHZX4ZfNBpxrGOBQtnMBxyhsOpl+qFVaWwa75Oje81QWfcGKJOe4W/3gcuEZEEERkADAEi2n0MtL7XZR/A3UfgF3ugdC98dAvsi7glBkP70XUwNbEBsUJ2ExIqsxlLAjbsWEnGwY+bUvKvKILFT8JXd8O612KjlXVlMXz7G9gwB9a/Bt89olWvDVGnrSnF5wN/A3KAj0RklVJqulJqvYi8BWxAt7S8Rana+ViRw2KHl6bA0V06NLD6ZbjqK+gzKVoWGQzh4+K58Po5cGQb5IyEn7ze+Pa5dOUuzqCMKtJIDJHCr5fFf4DyfMAHexaAxQojLwmb/a1i3w+6mrn6slJRCAUbTP1VDNAmp6KUmgvMbWBdQ7o0EefgKig7qB0K6HNx1YvGqRg6BllD4OdbtOJOc7MYbVjpQnLTG3oqwel3KKDjbPkbWm1r2KjdmtgHvP4ebH5Gt56+/HKT0hklOkRFfVMkpIeO2C12SDTKJIYORluuoV58fMAaNnKQFBK4gOPoQ6aep7AlBaqIxRqx5lZKKdwKHJZ6Plifk2D7PO30AJ5YAPM36NbUL70EeXnw0EMRsdMQStwLShbvht3f6xBrQ+SMgOOv1b8NRxqk94GT7oqcjQZDrLOAPNZzABdejuDk3yzBjVd7qol3gCMdEMjoB6OvaHd73jtYReq8IpI+KeLsJSVUemslhjrS4JTfalt6z4Kv1mmHArpl9Z//3O42GuonrkcqK1+Ej2/VE/Jigau/0tqIqT3qNuGa+XcYf5N2Pj3Hgj2p/n0aDJ2RPRzBE1QEqVCUUEkWKbrvzZl/0hXEEehFUujycfnKMpx+c+YXuvldXgUPD6sVrrOn6BHL+nna+alWVSQYwkzcOhWvGz66WdeeVNeh/HOCdia2JLjqS+hRa86u2+jI22kwxAO5ZLKbohrHYkFIr51qHKHmVvsqfViDIl6VPlhb2kjG2cCBuh+9K0gV9rrr2s9AQ6PEbfjL6wo0L6ymund2RSG8c2l07DIY4pGTGcwx9CYRO1mkcCUnYKcNcn3OfJ3m+9ltsOIZ8FQ1/R4/g1OsJFgCOsTJVjinWyP9v4cMgb/+VfdOsVjg7FPh1z+te4EwRIS4dSqOFC0GaWsgjFV2MLL2GAzxjAULP2IMd3MWtzKNXmS0bYeL/wjFO/UE/6HVsL6JPOcgkq3CgpMymNrVxvAUCw8OTuK6vk0UNt54IxQfho9ug9tGwMqnYelfjWOJAnEb/gK4ZC4s/AN8dX+tFQLDZkXFJIPB4HWDs4AaZSafG45sbdEuhqdamX9iCx3bnm/BVx6oXSnaAke2+6tDDZEirp2K1aEl61e/CkVb/TclAt2PgfP+EW3rDIZOitUOiV2g0i8JLjbI6K9fF23R+fxdh4T/uHVi4hLQr4kBeubZuPHcrGZt+1D7mtKuxG34K5jBZ/vviQRsiXDRu3WzvwyGphCR2SKyXkR8IjK+ke1miMhmEckTkXsiaWPcMPGXkNJDF4VlDYN+p8L8/4U1r8CSJ2H9G+E/Zt8pfv0vi78YrQtkmlFKpInrkQrojo7LniGk4Pf7x81IxdAqqpvONXj2+JvNPQWciRZOXSoi7yulYqDMvP1QqKZb+AaT1gumBQlqLP0reCsDr3d9DUPOA0cYO1CmdIeTH4QDS/VdZd8petRkiChx71SqirVIqdefXOLzwNEd8O0jOgOyZB9UHoWxP4MBp0bXVkNso5TaCCCNl6ZPBPKUUtv9285BN6XrkE6lgDJeYwlHqSCHVK5gIum0osirtgilCHXas4aDlG4w+Jzw79fQbOLeqXQdApkDoXCLdiy2RNi9ALZ/iY6J+ecKN78Hl35oHIuhzdTXgK5eFTkRuQG4ASA3N7f9LWsH5rCMo+hCsALKeIdV/JQTW76jwTP9E58efReYMxoS2phhZohJ4t6pWKxw7Xfw3WNaONJdoVss1MbthNWvGKdiYKiIrKtneWNN54KJaAO6SOPCwwFKSMZODmkcxVmzTqHb+raKrOFw0r1QsA4SMqG3UXPtqMS9UwGtcbfxXSjcCg2127Y6tHyLodOzRSnV4CR8M4h4A7pIUUol/+Q7XHjx4uMEBtCbTPZQVOM100hs+fxKNRm5+hEOyg/pXipVpdBvmp4/McQEHSL7a9XLemTdkEOxOKBLf5h8dwSNMnRUlgJDRGSAiDiAS9BN6eKeb9hKGVVU4cGDjx/YwVmMwBJ0mSikjJUh0b8o4KmChb+Dw2uheIdu0nVgWXRtMtQQ907l6E74+n+bKJxVcNMaSMqMlFWGeEREzheRvcCJ6KZz8/zLe4nIxwBKKQ9wKzAP2Ai8pZRaHy2bw0kFrpA4ngXhCOVI0FI3PjZxKPLGBVO23z/x77fL64KDK6JqkiFA3Ie/3vupzu5qDIvN1K0YmqahpnNKqf3AzKDXHwMfR9C0iDCefmzhMB58/m6QindYFbKNFQvZpETHwGoSu4AvKHPMYtfpxIaYIK5HKp5K2PN909ud+lvTBM5gaIpMkplIfwaTwwCycNcTT+5JOtMYGgXrgkjMhFGX67tFsWpp/kFnR9cmQw1xPVJZ8Xzd9PfaiBVO/GVk7DEY4pVDlPAiC2sm4ZOpO7QfQg6XMTFkWT6lvMsqSqlkGN2Zyeime96Hg9yTofcJuke4PcojJ0MIce1USg/QQDJngKHn6VGKzwvzH9RZYpkD4NznIL13RMw0GGKeBeThIhBS8vhrU4I5htAfjA8fr7CIcnQfkzXsIwUHpzG8bcbsW6znSFK760JGawMKxVa7qZiPQeI6/DXiArAmNrw+tTf86Hn9fMHvYNGfoGAj5M2Dl6caVWyDoZra92YWLExlEHas2LBwCkPqOJUyXFQRCBV48LGTorYZsms+rH0ZDi7TPeiXmLbA8UZcj1R6jYMrPoFXGihorDoCJXsgOQu2fKALIEGrQ5TsA2chpOREzl6DIVY5mUFs5XBN+GswOUxjGKc2MupIwYEVS023SBuWtvdh2f2NzuYCHds+kqcrmk3/77ghrkcqAN2P1fMm9eF2wlq/GGrOyNAMsGp1boPBAD3I4GamMp2RnM9xzGZskwWOVixcySQySMKKhUHkcHpbQ18JGYSIFojFhLjijLgeqQAcWqPn6VwldddZEyCpq34+/U+QvwEOLAdHGlzynjlXDYZgMklmPP1a9J7edOEOTgufEaMug4W/9/dG8cIxV+ssL0MIIuIF1qI9sBe4VSm1UET6Ax8qpUZHy7a4/9/q0q9WHx6L1gOzJUJGX5jwP3pxUiZcv0SnIVsTTIqxwRBOqnAjCI62XlJSusFpj0HZIR1KSEgPj4Edjwql1HEAIjId+D1wSnRN0sS/U+kPZ/8VPr5FZ3gNPQemPawVi3scX3c0YmtkYt9gMLQMheID1rKavQBMpD/TGdm2nVoTwqcR1jlIB45E24hq4t6pgO6Vctw1ujV2Q/N5Pi/sXwpKQe+JejRjMBjaxiYOsY79+Pz5Y8vZzVC6MYDsKFsW92SLSLCg2XN+1etqkkRkFZAI9IRwxiDbRodwKqDDrg2FXn0eePUMPZ8C0H0MXP21kW4xGNpKMRU1DiV4maHNFDShph0c/joReFVEojaPEkzcZ381h03vaYfiKtOPg6thw9vRtspgiH8GkFUnRyyXrlGxpbOilPoByAZiokCiw4xUGqOqVIe9qlE+qKonW8xgMLSM7qRzGROYz1YsCKcxlK7RFpzsZIjIcMAKFALJUTancziVITPh87t05pdSOuw17EfRtspg6BgMINvMoUSe6jkV0GnFVyulvCJiA6qiaFfncCqp3eHGlbDkKUDB+JshrVe0rTIYDIbWoZRqKNVoFLAtkrbUpkM6FeXThbjBZOTCmf8vOvYYDAZDeyMiDwOzgGuiaUeHmqjfuwj+0AMetsOLJzfdvMtgMMQAqgmpcUOzUEo9oJQ6Vim1Mpp2tMmpiMgTIrJJRNaIyFwR6RK07l4RyRORzf6Kz3bF54XXZkL5IcAH+5fARze391ENBkOr2b8M5t0Cn9wAq18ysuEdhLaOVD4HRiulxgBbgHsBRGQkcAk6vjcDeFqkIdnH8FBVAq7ywGuvC9bNgR+McrbB0GKq8JBPKS6a6ILXWiqKYPXz/uwZHxxYAru+aZ9jGSJKm+ZUlFKfBb1cBFzofz4LmKOUqgJ2iEgeMBH4oS3Ha4zELrrp1tGdhDSH+Oo+GD5LN+YyGAxNs4siXmcJAIJwFSe0XdK+Ns58Xa1cLdzndUHpnsD6o9th2ydagnzwueBI1cqxRgU25gnnnMq1wCf+572BoDOEvf5ldRCRG0RkmYgsy8/Pb/XBReCa+ZDaI3S5zxuQvzcYDE3zLitx4cWFlyo8zGVV029qKam9QsNdVgdkjdDPyw7Aoid098cDS2HBQ/D13fDZz+FgVKcLDM2gSaciIl+IyLp6HrOCtrkf8ACvVS+qZ1f1zsYppZ5TSo1XSo3PyWlbQWhGLsx6EexB5T8+F3z3KHxnMr8MhmZRgTvktdPfLjisJKTBpDshrQ8kZcGQWdDTr0pyeK2+G6xBaa0lnxtWPqdF/gwxS5PhL6XUGY2tF5GrgXOB05WqSePYC/QN2qwPsL+1RraEwTPgx6/A2xcHboTcTlj0Z5hydyQsMBjim5H0YD0H8ODDjpXRtFNRV+YgmPp/dZcnpOvQmNdbdx0+8DjBGuZwnCFstDX7awZwN/AjpZQzaNX7wCUikiAiA4Ah4A/SRoCRF0JiZugyR9TFCwyG+OA8xnAygxlCN6YxpO1S9i2l10TIGgYWOyCBojOxQnIOOEyPlVimrcWPfwcSgM9Fd71apJS6SSm1XkTeAjagw2K3KKXqu+1oN859FuZepUO1Pjec82wkj24wxC9WLExlSPQMEAuMvw0qCgGBQyvgwDLtUEZcbDrsxThtzf4a3Mi6R4FH27L/tjDyQug5Dgo2QbfRugukwdAYIjIbeAgYAUxUSi1rYLudQCm6jaunCYlyQ2sQgWS/ntiAM/XDEBd0SJmWajIHmFRiQ4tYB1wA/KMZ256qlCpoZ3sMhrijQzsVg6ElKKU2AogJrxgMraZDaX8ZDBFCAZ+JyHIRuaGhjcJVg2UwxBNmpGLobAwVkXX1LL9fKfXfZu5jslJqv4h0QyepbFJKfVt7I39P8ecAxo8fb1QTDZ0C41QMnY0tbZ1YV0rt9/89LCJz0RJEdZyKwdAZMeEvg6EFiEiKiKRVPwfOQk/wGwwGjFMxGGoQkfNFZC9wIvCRiMzzL+8lIh/7N+sOfCciq9EFvR8ppT6NjsUGQ+whKoYa5IhIPrAr2nYA2UAspYvGkj2xZAu03J5+Sqm2icy1gmac27H2vTYXY3coDZ5fIvKp/7jNoUApNSN8ZkWOmHIqsYKILIulgrZYsieWbIHYs6e1xOvnMHYbamPCXwaDwWAIG8apGAwGgyFsGKdSP89F24BaxJI9sWQLxJ49rSVeP4ex2xCCmVMxGAwGQ9gwIxWDwWAwhA3jVAwGg8EQNoxTCUJEnhCRTSKyRkTmikiXoHX3ikieiGwWkekRsmeG/3h5InJPJI5Z6/h9ReRrEdkoIutF5Hb/8q4i8rmIbPX/zWxqX2G0ySoiK0Xkw2jbEm4aO/9ijWifm62hofPZEF6MUwnlc2C0UmoMsAW4F0BERgKXAKOAGcDTImJtT0P8+38KOBsYCVzqtyOSeIA7lVIjgBOAW/w23AN8qZQaAnzpfx0pbgc2Br2Opi3hpt7zL9aIkXOzNTR0PhvCiHEqQSilPlNKefwvFwF9/M9nAXOUUlVKqR1AHlpEsD2ZCOQppbYrpVzAHL8dEUMpdUAptcL/vBR9Me/tt+MV/2avAD+OhD0i0gc4B3g+aHFUbGkPGjn/Yo2on5utoZHz2RBGjFNpmGuBT/zPewN7gtbtpf1Pxmgcs0FEpD9wPLAY6K6UOgD6hwp0i5AZfwZ+DfiClkXLlvYm+PyLNWLq3GwNtc5nQxjpdNL3IvIF0KOeVTX9NETkfvRQ+bXqt9WzfXvnYkfjmPUiIqnAO8AdSqmSaHRGFJFzgcNKqeUiMi3iBoSJVp5/sUbMnJutofb5HG17Ohqdzqkopc5obL2IXA2cC5yuAkU8e4G+QZv1Afa3j4U1ROOYdRARO/oH+JpS6l3/4kMi0lMpdUBEegKHI2DKZOBHIjITSATSReTfUbKl1bTy/Is1YuLcbA0NnM+GMGLCX0GIyAzgbuBHSiln0Kr3gUtEJEFEBgBD0LLn7clSYIiIDBARBzpR4P12PmYIoockLwAblVJPBq16H7ja//xqoLkdE1uNUupepVQfpVR/9HfxlVLqimjY0l40cv7FGlE/N1tDI+ezIYyYivogRCQPSAAK/YsWKaVu8q+7Hx3n9qCHze0e7/bflf8ZsAIvKqUebe9j1jr+FGABsJbAPMZ96Dj0W0AusBuYrZQqiqBd04C7lFLnikhWNG0JJ42df7FGtM/N1tDQ+ayU+rjhdxlainEqBoPBYAgbJvxlMBgMhrBhnIrBYDAYwoZxKgaDwWAIG8apGAwGgyFsGKdiMBgMhrBhnIrBYDAYwoZxKgaDwWAIG/8fdv5IDi2+k/0AAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x12a5d6220>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"#Visualization of the cell type clusters in original domains *before* alignment\n",
"fig, (ax1, ax2)= plt.subplots(1,2)\n",
"\n",
"fig1= ax1.scatter(originalX_pca[:,0], originalX_pca[:,1], c=cellTypes_rna, s=15, cmap=colormap)\n",
"ax1.set_title(\"DNA Methylation \\n *before* Alignment\")\n",
"\n",
"fig2= ax2.scatter(originaly_pca[:,0], originaly_pca[:,1], c=cellTypes_methyl, s=15, cmap=colormap)\n",
"ax2.set_title(\"Gene Expression Domain \\n *before* Alignment\")\n",
"\n",
"cbar=fig.colorbar(fig2)\n",
"cbar.set_ticks(tick_locs)\n",
"cbar.set_ticklabels([\"BJ\", \"d8\", \"d16T+\", \"d24T+\", \"iPS\"]) #cell-type labels"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.6"
}
},
"nbformat": 4,
"nbformat_minor": 4
}