{ "cells": [ { "cell_type": "markdown", "id": "d8590331-f210-4b7e-bd61-59e061a8345a", "metadata": {}, "source": [ "# Imports" ] }, { "cell_type": "code", "execution_count": 1, "id": "571e09fa-0904-4e53-98b4-e1a6d8254e1c", "metadata": {}, "outputs": [], "source": [ "import string\n", "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "from sklearn.model_selection import train_test_split\n", "from feature_engine.encoding import StringSimilarityEncoder" ] }, { "cell_type": "markdown", "id": "82585a20-a5b2-4f0b-b100-a0f22e7db3cd", "metadata": {}, "source": [ "# Load and preprocess data" ] }, { "cell_type": "code", "execution_count": 2, "id": "9cc83d4a-506c-4eca-b842-1570268d8b18", "metadata": {}, "outputs": [], "source": [ "# Helper function for loading and preprocessing data\n", "def load_titanic() -> pd.DataFrame:\n", " translate_table = str.maketrans('' , '', string.punctuation)\n", " data = pd.read_csv('https://www.openml.org/data/get_csv/16826755/phpMYEkMl')\n", " data = data.replace('?', np.nan)\n", " data['home.dest'] = (\n", " data['home.dest']\n", " .str.strip()\n", " .str.translate(translate_table)\n", " .str.replace(' ', ' ')\n", " .str.lower()\n", " )\n", " data['name'] = (\n", " data['name']\n", " .str.strip()\n", " .str.translate(translate_table)\n", " .str.replace(' ', ' ')\n", " .str.lower()\n", " )\n", " data['ticket'] = (\n", " data['ticket']\n", " .str.strip()\n", " .str.translate(translate_table)\n", " .str.replace(' ', ' ')\n", " .str.lower()\n", " )\n", " return data" ] }, { "cell_type": "code", "execution_count": 3, "id": "7f409c47-f08c-4693-9dd5-6a83a03e21f8", "metadata": {}, "outputs": [], "source": [ "# Load dataset\n", "data = load_titanic()" ] }, { "cell_type": "code", "execution_count": 4, "id": "8f9a5718-06e3-46af-b79b-99336aee8c0a", "metadata": {}, "outputs": [], "source": [ "# Separate into train and test sets\n", "X_train, X_test, y_train, y_test = train_test_split(\n", " data.drop(['survived', 'sex', 'cabin', 'embarked'], axis=1),\n", " data['survived'],\n", " test_size=0.3,\n", " random_state=0\n", ")" ] }, { "cell_type": "markdown", "id": "87c81076-49e4-413a-a7d5-21313597e6bf", "metadata": {}, "source": [ "# StringSimilarityEncoder" ] }, { "cell_type": "code", "execution_count": 5, "id": "f17bdc35-f8fc-47ae-9aa7-1eb2db620271", "metadata": {}, "outputs": [], "source": [ "# set up the encoder\n", "encoder = StringSimilarityEncoder(top_categories=2, variables=['name', 'home.dest', 'ticket'])" ] }, { "cell_type": "code", "execution_count": 6, "id": "ee36b4b0-92eb-44a9-b39a-85b6f0e66efb", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
StringSimilarityEncoder(top_categories=2,\n",
       "                        variables=['name', 'home.dest', 'ticket'])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "StringSimilarityEncoder(top_categories=2,\n", " variables=['name', 'home.dest', 'ticket'])" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# fit the encoder\n", "encoder.fit(X_train)" ] }, { "cell_type": "code", "execution_count": 7, "id": "2a0afbef-0f12-4db9-9e39-afb44b2f2639", "metadata": { "scrolled": true, "tags": [] }, "outputs": [ { "data": { "text/plain": [ "{'name': ['mellinger miss madeleine violet', 'barbara mrs catherine david'],\n", " 'home.dest': ['', 'new york ny'],\n", " 'ticket': ['ca 2343', 'ca 2144']}" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# lets see what categories we will be comparing to others\n", "encoder.encoder_dict_" ] }, { "cell_type": "code", "execution_count": 8, "id": "9117052c-a243-4d2d-92f6-4883b4062920", "metadata": {}, "outputs": [], "source": [ "# transform the data\n", "train_t = encoder.transform(X_train)\n", "test_t = encoder.transform(X_test)" ] }, { "cell_type": "code", "execution_count": 9, "id": "9a375a74-5eb2-4c8f-882e-126b7c343231", "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", "
pclassagesibspparchfareboatbodyname_mellinger miss madeleine violetname_barbara mrs catherine davidhome.dest_Nonehome.dest_new york nyticket_ca 2343ticket_ca 2144
5012130119.514NaN1.0000000.5172410.00.3750000.3076920.461538
58824112314NaN0.5217390.3809520.00.5714290.3333330.333333
4022301013.858312NaN0.6440680.6181820.00.3684210.5263160.631579
11933NaN007.725NaNNaN0.5106380.5116281.00.0000000.3333330.166667
686322007.72513NaN0.6666670.6792450.00.3448280.4615380.461538
\n", "
" ], "text/plain": [ " pclass age sibsp parch fare boat body \\\n", "501 2 13 0 1 19.5 14 NaN \n", "588 2 4 1 1 23 14 NaN \n", "402 2 30 1 0 13.8583 12 NaN \n", "1193 3 NaN 0 0 7.725 NaN NaN \n", "686 3 22 0 0 7.725 13 NaN \n", "\n", " name_mellinger miss madeleine violet name_barbara mrs catherine david \\\n", "501 1.000000 0.517241 \n", "588 0.521739 0.380952 \n", "402 0.644068 0.618182 \n", "1193 0.510638 0.511628 \n", "686 0.666667 0.679245 \n", "\n", " home.dest_None home.dest_new york ny ticket_ca 2343 ticket_ca 2144 \n", "501 0.0 0.375000 0.307692 0.461538 \n", "588 0.0 0.571429 0.333333 0.333333 \n", "402 0.0 0.368421 0.526316 0.631579 \n", "1193 1.0 0.000000 0.333333 0.166667 \n", "686 0.0 0.344828 0.461538 0.461538 " ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# check output\n", "train_t.head(5)" ] }, { "cell_type": "code", "execution_count": 10, "id": "365c4591-5f7e-45cc-9a5a-1ac19ad7c267", "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", "
pclassagesibspparchfareboatbodyname_mellinger miss madeleine violetname_barbara mrs catherine davidhome.dest_Nonehome.dest_new york nyticket_ca 2343ticket_ca 2144
1139338007.8958NaNNaN0.4545450.5500001.00.0000000.4615380.461538
533221012112NaN0.6153850.5245900.00.3703700.3076920.307692
4592421027NaNNaN0.5964910.6037740.00.3529410.4615380.461538
11503NaN0014.5NaNNaN0.6415090.6938781.00.0000000.3076920.307692
3932250031.5NaNNaN0.4081630.6666670.00.4375000.6666670.666667
\n", "
" ], "text/plain": [ " pclass age sibsp parch fare boat body \\\n", "1139 3 38 0 0 7.8958 NaN NaN \n", "533 2 21 0 1 21 12 NaN \n", "459 2 42 1 0 27 NaN NaN \n", "1150 3 NaN 0 0 14.5 NaN NaN \n", "393 2 25 0 0 31.5 NaN NaN \n", "\n", " name_mellinger miss madeleine violet name_barbara mrs catherine david \\\n", "1139 0.454545 0.550000 \n", "533 0.615385 0.524590 \n", "459 0.596491 0.603774 \n", "1150 0.641509 0.693878 \n", "393 0.408163 0.666667 \n", "\n", " home.dest_None home.dest_new york ny ticket_ca 2343 ticket_ca 2144 \n", "1139 1.0 0.000000 0.461538 0.461538 \n", "533 0.0 0.370370 0.307692 0.307692 \n", "459 0.0 0.352941 0.461538 0.461538 \n", "1150 1.0 0.000000 0.307692 0.307692 \n", "393 0.0 0.437500 0.666667 0.666667 " ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# check output\n", "test_t.head(5)" ] }, { "cell_type": "code", "execution_count": 11, "id": "a89e8fbb-c018-4e2e-83b8-958a28986f08", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot encoded column - ticket\n", "# OHE could produce only 0, but SSE produces values in [0,1] range\n", "fig, ax = plt.subplots(2, 1);\n", "train_t.plot(kind='scatter', x='ticket_ca 2343', y='ticket_ca 2144', sharex=True, title='Ticket encoding in train', ax=ax[0]);\n", "test_t.plot(kind='scatter', x='ticket_ca 2343', y='ticket_ca 2144', sharex=True, title='Ticket encoding in test', ax=ax[1]);" ] }, { "cell_type": "code", "execution_count": 12, "id": "89147ff1-dbb6-4540-847f-52c7ead7e24f", "metadata": {}, "outputs": [], "source": [ "# defining encoder that ignores NaNs\n", "encoder = StringSimilarityEncoder(\n", " top_categories=2,\n", " handle_missing='ignore',\n", " variables=['name', 'home.dest', 'ticket']\n", ")" ] }, { "cell_type": "code", "execution_count": 13, "id": "331a2fe1-a011-4edc-99eb-c3f20f30b540", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
StringSimilarityEncoder(handle_missing='ignore', top_categories=2,\n",
       "                        variables=['name', 'home.dest', 'ticket'])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "StringSimilarityEncoder(handle_missing='ignore', top_categories=2,\n", " variables=['name', 'home.dest', 'ticket'])" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# refiting the encoder\n", "encoder.fit(X_train)" ] }, { "cell_type": "code", "execution_count": 14, "id": "32c391c6-2592-43bf-b1aa-df38a365a726", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'name': ['mellinger miss madeleine violet', 'barbara mrs catherine david'],\n", " 'home.dest': ['new york ny', 'london'],\n", " 'ticket': ['ca 2343', 'ca 2144']}" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# lets see what categories we will be comparing to others\n", "# note - no empty strings with handle_missing='ignore'\n", "encoder.encoder_dict_" ] }, { "cell_type": "code", "execution_count": 15, "id": "f539dd05-6dc8-485d-a7fa-3b31ae416482", "metadata": {}, "outputs": [], "source": [ "# transform the data\n", "train_t = encoder.transform(X_train)\n", "test_t = encoder.transform(X_test)" ] }, { "cell_type": "code", "execution_count": 16, "id": "0abbba87-feb5-4782-b9d8-487db7d07331", "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", "
pclassagesibspparchfareboatbodyname_mellinger miss madeleine violetname_barbara mrs catherine davidhome.dest_new york nyhome.dest_londonticket_ca 2343ticket_ca 2144
5012130119.514NaN1.0000000.5172410.3750000.3703700.3076920.461538
58824112314NaN0.5217390.3809520.5714290.4347830.3333330.333333
4022301013.858312NaN0.6440680.6181820.3684210.2424240.5263160.631579
11933NaN007.725NaNNaN0.5106380.511628NaNNaN0.3333330.166667
686322007.72513NaN0.6666670.6792450.3448280.2264150.4615380.461538
\n", "
" ], "text/plain": [ " pclass age sibsp parch fare boat body \\\n", "501 2 13 0 1 19.5 14 NaN \n", "588 2 4 1 1 23 14 NaN \n", "402 2 30 1 0 13.8583 12 NaN \n", "1193 3 NaN 0 0 7.725 NaN NaN \n", "686 3 22 0 0 7.725 13 NaN \n", "\n", " name_mellinger miss madeleine violet name_barbara mrs catherine david \\\n", "501 1.000000 0.517241 \n", "588 0.521739 0.380952 \n", "402 0.644068 0.618182 \n", "1193 0.510638 0.511628 \n", "686 0.666667 0.679245 \n", "\n", " home.dest_new york ny home.dest_london ticket_ca 2343 ticket_ca 2144 \n", "501 0.375000 0.370370 0.307692 0.461538 \n", "588 0.571429 0.434783 0.333333 0.333333 \n", "402 0.368421 0.242424 0.526316 0.631579 \n", "1193 NaN NaN 0.333333 0.166667 \n", "686 0.344828 0.226415 0.461538 0.461538 " ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# check output\n", "train_t.head(5)" ] }, { "cell_type": "code", "execution_count": 17, "id": "4a1950da-6c10-48ff-b5f2-b40f42c1d0b3", "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", "
pclassagesibspparchfareboatbodyname_mellinger miss madeleine violetname_barbara mrs catherine davidhome.dest_new york nyhome.dest_londonticket_ca 2343ticket_ca 2144
1139338007.8958NaNNaN0.4545450.550000NaNNaN0.4615380.461538
533221012112NaN0.6153850.5245900.3703700.4545450.3076920.307692
4592421027NaNNaN0.5964910.6037740.3529411.0000000.4615380.461538
11503NaN0014.5NaNNaN0.6415090.693878NaNNaN0.3076920.307692
3932250031.5NaNNaN0.4081630.6666670.4375000.2222220.6666670.666667
\n", "
" ], "text/plain": [ " pclass age sibsp parch fare boat body \\\n", "1139 3 38 0 0 7.8958 NaN NaN \n", "533 2 21 0 1 21 12 NaN \n", "459 2 42 1 0 27 NaN NaN \n", "1150 3 NaN 0 0 14.5 NaN NaN \n", "393 2 25 0 0 31.5 NaN NaN \n", "\n", " name_mellinger miss madeleine violet name_barbara mrs catherine david \\\n", "1139 0.454545 0.550000 \n", "533 0.615385 0.524590 \n", "459 0.596491 0.603774 \n", "1150 0.641509 0.693878 \n", "393 0.408163 0.666667 \n", "\n", " home.dest_new york ny home.dest_london ticket_ca 2343 ticket_ca 2144 \n", "1139 NaN NaN 0.461538 0.461538 \n", "533 0.370370 0.454545 0.307692 0.307692 \n", "459 0.352941 1.000000 0.461538 0.461538 \n", "1150 NaN NaN 0.307692 0.307692 \n", "393 0.437500 0.222222 0.666667 0.666667 " ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# check output\n", "test_t.head(5)" ] }, { "cell_type": "code", "execution_count": 18, "id": "cd176a8f-63a2-45fd-9f06-51505abb660e", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAACo5klEQVR4nOzdeVhUZfsH8O+ArMoqmyKKCC6IuIAQggtK0qtpapZpKZpa5lI/0VLL3DJxSV83knK3TdPMLM0lxJ1CBTM3BBFwY1VAAUGY8/uDdyZm5szMmcOZlftzXVzFmTPnPDNn8NzzPPdzPyKGYRgQQgghhJgIM303gBBCCCFESBTcEEIIIcSkUHBDCCGEEJNCwQ0hhBBCTAoFN4QQQggxKRTcEEIIIcSkUHBDCCGEEJNCwQ0hhBBCTAoFN4QQQggxKRTcEKJH2dnZEIlE2LFjh87PLRKJsGjRIp2fFwBOnjwJkUiEkydP6uX8xsjb2xvjx4+X/q7P93DHjh0QiUTIzs7W+bn5WLRoEUQikb6bQXSIghtiUCT/aF68eJH18X79+iEgIEDHrTJehw8f1lsAAwBffvmlXgI3YlwqKiqwaNEiCnaJYCi4IcSEHT58GIsXL2Z9rLKyEvPnz9fq+ZUFN3369EFlZSX69Omj1fObMn2+h2PHjkVlZSXatGkjyPEqKiqwePFirQU38+fPR2VlpVaOTQxTE303gBCiH9bW1no7t5mZmV7Pbwr0+R6am5vD3NxcL+cGgPLycjRt2pTz/k2aNEGTJnS7a0yo54YYvZqaGnz22Wdo164drKys4O3tjY8//hhVVVUy+3l7e+Pll1/GyZMnERwcDBsbG3Tp0kX6bXH//v3o0qULrK2tERQUhLS0NIVz3bx5EyNHjoSzszOsra0RHByMgwcPcmpnSUkJxo8fDwcHBzg6OiImJgYlJSWs+3I5z/Pnz7F48WL4+fnB2toazZs3R0REBI4fPw4AGD9+POLj4wHU5ddIfiTkc24keQmZmZkYP348HB0d4eDggAkTJqCiokLm3Nu3b0f//v3h5uYGKysr+Pv7Y9OmTQrv97Vr13Dq1Cnpufv16wdAeb7I3r17ERQUBBsbG7i4uOCtt97C/fv3ZfYZP348mjVrhvv372PYsGFo1qwZXF1dMXv2bNTW1qq8BhK///47evfujaZNm8LOzg6DBw/GtWvXeJ9HLBZj3bp10s+Pq6srXnrpJZnhVa6fU4ZhsHTpUrRq1Qq2traIjIxUaJuy91AybHv9+nVERkbC1tYWnp6eWLlypcLzc3JyMHToUDRt2hRubm6YOXMmjh49yimPhy3nRvL3dfbsWYSEhMDa2ho+Pj7YtWuXymNlZ2fD1dUVALB48WLpZ0Xy2ZRch9u3b2PQoEGws7PDm2++CQA4c+YMXnvtNbRu3RpWVlbw8vLCzJkzFXpp2HJuRCIRpk+fjgMHDiAgIABWVlbo3Lkzjhw5orK9xDhQKEsMUmlpKYqKihS2P3/+XGHbpEmTsHPnTowcORKzZs3CX3/9hbi4ONy4cQM///yzzL6ZmZkYM2YM3n33Xbz11lv44osvMGTIECQkJODjjz/G1KlTAQBxcXF4/fXXkZ6eDjOzuu8A165dQ3h4ODw9PTF37lw0bdoUP/74I4YNG4affvoJw4cPV/p6GIbBK6+8grNnz2LKlCno1KkTfv75Z8TExCjsy/U8ixYtQlxcHCZNmoSQkBCUlZXh4sWLSE1NxYsvvoh3330XDx48wPHjx/HNN99wfu9ff/11tG3bFnFxcUhNTcWWLVvg5uaGFStWSPfZtGkTOnfujKFDh6JJkyb49ddfMXXqVIjFYkybNg0AsHbtWsyYMQPNmjXDJ598AgBwd3dXet4dO3ZgwoQJ6NmzJ+Li4pCfn49169bh3LlzSEtLg6Ojo3Tf2tpaREdHIzQ0FF988QX++OMPrF69Gu3atcN7772n8vV98803iImJQXR0NFasWIGKigps2rQJERERSEtLg7e3t8bnmThxInbs2IH//Oc/mDRpEmpqanDmzBn8+eefCA4OBsD9c7pgwQIsXboUgwYNwqBBg5CamoqBAweiurpa/cUD8PjxY7z00ksYMWIEXn/9dezbtw9z5sxBly5d8J///AdAXc9H//798fDhQ3zwwQfw8PDA999/j6SkJE7nUCYzMxMjR47ExIkTERMTg23btmH8+PEICgpC586dWZ/j6uqKTZs24b333sPw4cMxYsQIAEBgYKB0n5qaGkRHRyMiIgJffPEFbG1tAdQFwxUVFXjvvffQvHlzpKSkYMOGDbh37x727t2rtr1nz57F/v37MXXqVNjZ2WH9+vV49dVXkZubi+bNmzfovSB6xhBiQLZv384AUPnTuXNn6f6XL19mADCTJk2SOc7s2bMZAMyJEyek29q0acMAYM6fPy/ddvToUQYAY2Njw+Tk5Ei3f/XVVwwAJikpSbptwIABTJcuXZhnz55Jt4nFYqZXr16Mn5+fytd14MABBgCzcuVK6baamhqmd+/eDABm+/btGp+na9euzODBg1Wed9q0aYyyP3MAzMKFC6W/L1y4kAHAvP322zL7DR8+nGnevLnMtoqKCoXjRUdHMz4+PjLbOnfuzPTt21dh36SkJJn3t7q6mnFzc2MCAgKYyspK6X6//fYbA4BZsGCBdFtMTAwDgFmyZInMMbt3784EBQWxvlaJJ0+eMI6OjszkyZNltufl5TEODg4y27me58SJEwwA5v3331c4n1gsZhiG++e0oKCAsbS0ZAYPHix9LsMwzMcff8wAYGJiYqTb5N9DhmGYvn37MgCYXbt2SbdVVVUxHh4ezKuvvirdtnr1agYAc+DAAem2yspKpmPHjgrHZCP5O71z5450m+Tv6/Tp09JtBQUFjJWVFTNr1iyVxyssLFT4PEpIrsPcuXMVHmP7HMbFxTEikUjm71ny2a4PAGNpaclkZmZKt/39998MAGbDhg0q20sMHw1LEYMUHx+P48ePK/zU/zYH1CXMAkBsbKzM9lmzZgEADh06JLPd398fYWFh0t9DQ0MBAP3790fr1q0VtmdlZQEAHj16hBMnTuD111/HkydPUFRUhKKiIhQXFyM6OhoZGRkKwyfy7WzSpInMt31zc3PMmDFDZj9NzuPo6Ihr164hIyND6Xn5mDJliszvvXv3RnFxMcrKyqTbbGxspP8v6WXr27cvsrKyUFpaqvE5L168iIKCAkydOlUmj2Tw4MHo2LGjwnVU1k7J9VLm+PHjKCkpwejRo6XvbVFREczNzREaGsrac6HuPD/99BNEIhEWLlyo8FzJUAjXz+kff/yB6upqzJgxQ2YY5f/+7/9Uvq76mjVrhrfeekv6u6WlJUJCQmTafOTIEXh6emLo0KHSbdbW1pg8eTLn87Dx9/dH7969pb+7urqiQ4cOaq8LF2w9cvU/h+Xl5SgqKkKvXr3AMAzrsLK8qKgotGvXTvp7YGAg7O3tBWkv0S8aliIGKSQkRNqdX5+Tk5PMcFVOTg7MzMzg6+srs5+HhwccHR2Rk5Mjs71+AAMADg4OAAAvLy/W7Y8fPwZQ193OMAw+/fRTfPrpp6xtLigogKenJ+tjOTk5aNGiBZo1ayazvUOHDjK/a3KeJUuW4JVXXkH79u0REBCAl156CWPHjlUIADUl/x45OTkBqHsv7O3tAQDnzp3DwoULkZycrJCPU1paKn3/uJJcJ/n3AwA6duyIs2fPymyT5LXIt1NyvZSRBIL9+/dnfVzy+jQ5z+3bt9GyZUs4OzsrPS/Xz6nkv35+fjL7ubq6Sq+DOq1atVLIL3FycsKVK1dk2tOuXTuF/eTbpyn5z47k3OquizpNmjRBq1atFLbn5uZiwYIFOHjwoMI5uATZ2mov0T8KbohJ4FqgS9kMD2XbGYYBUJcwCgCzZ89GdHQ0674NvTFoep4+ffrg9u3b+OWXX3Ds2DFs2bIF//3vf5GQkIBJkybxboO69+L27dsYMGAAOnbsiDVr1sDLywuWlpY4fPgw/vvf/0pfgzbxnakjads333wDDw8PhcflZ9QIPSNIF4Xk1F0/Yzy3lZWVNPdNora2Fi+++CIePXqEOXPmoGPHjmjatCnu37+P8ePHc/oc6vO9ItpFwQ0xam3atIFYLEZGRgY6deok3Z6fn4+SkhLB6nD4+PgAACwsLBAVFcWrnYmJiXj69KlM7016enqDzuPs7IwJEyZgwoQJePr0Kfr06YNFixZJgxtt3Ex//fVXVFVV4eDBgzLffNmGdLieX3Kd0tPTFXpV0tPTBbuOkiEINzc3XtdR2TGPHj2KR48eKe294fo5lfw3IyND+lkAgMLCQkF7E9q0aYPr16+DYRiZa5SZmSnYOTTB53P6zz//4NatW9i5cyfGjRsn3S6ZLUgaN8q5IUZt0KBBAOpm5tS3Zs0aAHU5G0Jwc3NDv3798NVXX+Hhw4cKjxcWFqptZ01Njcx06draWmzYsIH3eYqLi2Uea9asGXx9fWWmFktqgSibcs6H5Ntu/W+3paWl2L59u8K+TZs25XTu4OBguLm5ISEhQab9v//+O27cuCHYdYyOjoa9vT2WLVvGOvNO3XVk8+qrr4JhGNZiiZL3iOvnNCoqChYWFtiwYYPM+yv/vIaKjo7G/fv3ZcoLPHv2DJs3bxb0PFxJZj9p8jll+xwyDIN169YJ2jZinKjnhhi1rl27IiYmBl9//TVKSkrQt29fpKSkYOfOnRg2bBgiIyMFO1d8fDwiIiLQpUsXTJ48GT4+PsjPz0dycjLu3buHv//+W+lzhwwZgvDwcMydOxfZ2dnw9/fH/v37WfMCuJ7H398f/fr1Q1BQEJydnXHx4kXs27cP06dPlx4rKCgIAPD+++8jOjoa5ubmeOONNxr0PgwcOBCWlpYYMmQI3n33XTx9+hSbN2+Gm5ubQkAWFBSETZs2YenSpfD19YWbmxtrvouFhQVWrFiBCRMmoG/fvhg9erR0Kri3tzdmzpzZoDZL2NvbY9OmTRg7dix69OiBN954A66ursjNzcWhQ4cQHh6OjRs3anTMyMhIjB07FuvXr0dGRgZeeukliMVinDlzBpGRkZg+fTrnz6mkjk5cXBxefvllDBo0CGlpafj999/h4uIiyHsAAO+++y42btyI0aNH44MPPkCLFi3w3XffSZO5db0Ok42NDfz9/bFnzx60b98ezs7OCAgIULnUSseOHdGuXTvMnj0b9+/fh729PX766SfKlyEAKLghJmDLli3w8fHBjh078PPPP8PDwwPz5s1jnb3SEP7+/rh48SIWL16MHTt2oLi4GG5ubujevTsWLFig8rlmZmY4ePAg/u///g/ffvstRCIRhg4ditWrV6N79+68zvP+++/j4MGDOHbsGKqqqtCmTRssXboUH374oXSfESNGYMaMGdi9eze+/fZbMAzT4OCmQ4cO2LdvH+bPn4/Zs2fDw8MD7733HlxdXfH222/L7LtgwQLk5ORg5cqVePLkCfr27as0mXf8+PGwtbXF8uXLMWfOHDRt2hTDhw/HihUrZGrcNNSYMWPQsmVLLF++HKtWrUJVVRU8PT3Ru3dvTJgwgdcxt2/fjsDAQGzduhUffvghHBwcEBwcjF69ekn34fo5Xbp0KaytrZGQkICkpCSEhobi2LFjgvVeAXW9fCdOnMCMGTOwbt06NGvWDOPGjUOvXr3w6quv6qXy8ZYtWzBjxgzMnDkT1dXVWLhwocrgxsLCAr/++ivef/99xMXFwdraGsOHD5cGk6RxEzGUOUUIIQR1w18zZ87EvXv3lM78I8QYUHBDCCGNUGVlpUydmGfPnqF79+6ora3FrVu39NgyQhqOhqUIIaQRGjFiBFq3bo1u3bqhtLQU3377LW7evInvvvtO300jpMEouCGEkEYoOjoaW7ZswXfffYfa2lr4+/tj9+7dGDVqlL6bRkiD0bAUIYQQQkwK1bkhhBBCiEmh4IYQQgghJqXR5dyIxWI8ePAAdnZ2Oi9URQghhBB+GIbBkydP0LJlS4W1xuQ1uuDmwYMHCitAE0IIIcQ43L17l3WV+PoaXXBjZ2cHoO7Nsbe313NrCCGEEMJFWVkZvLy8pPdxVRpdcCMZirK3t6fghhBCCDEyXFJK9JpQfPr0aQwZMgQtW7aESCTCgQMH1D7n5MmT6NGjB6ysrODr64sdO3ZovZ2EEEIIMR56DW7Ky8vRtWtXxMfHc9r/zp07GDx4MCIjI3H58mX83//9HyZNmoSjR49quaWEyOq9PBE+8w6h74oT+m4KIYQQOQZTxE8kEuHnn3/GsGHDlO4zZ84cHDp0CFevXpVue+ONN1BSUoIjR45wOk9ZWRkcHBxQWlpKw1JEYx/vu4zvL95X2D7uBS8sGRaohxYRQkjjoMn926jq3CQnJyMqKkpmW3R0NJKTk/XUItLYsAU2ALDrz7s6bgkhhBBljCq4ycvLg7u7u8w2d3d3lJWVobKykvU5VVVVKCsrk/khhI/eyxNVPk5DVIQQYhiMKrjhIy4uDg4ODtIfqnFD+Lpf+kzl43dL2ANsQgghumVUwY2Hhwfy8/NltuXn58Pe3h42Njasz5k3bx5KS0ulP3fv0vAB4cfTwVrl416O7J9BQgghumVUwU1YWBgSE2WHBo4fP46wsDClz7GyspLWtKHaNqQhzswdoPLxU3P666glhBBCVNFrcPP06VNcvnwZly9fBlA31fvy5cvIzc0FUNfrMm7cOOn+U6ZMQVZWFj766CPcvHkTX375JX788UfMnDlTH80njdC4F9iHNZVtJ4QQont6nQp+8uRJREZGKmyPiYnBjh07MH78eGRnZ+PkyZMyz5k5cyauX7+OVq1a4dNPP8X48eM5n5OmghMh9F1xAndLKuHlaEM9NoQQogOa3L8Nps6NrlBwQwghhBgfk61zQwghhBCiDgU3hBBCCDEpFNwQQgghxKRQcEMIIYQQk0LBDSGEEEJMCgU3hBBCCDEpFNwQQgghxKRQcEMIIYQQk0LBDSGEEEJMCgU3hBBCCDEpTfg8qba2Fjt27EBiYiIKCgogFotlHj9x4oQgjSOEEEII0RSv4OaDDz7Ajh07MHjwYAQEBEAkEgndLkIIIYQQXngFN7t378aPP/6IQYMGCd0eQgghhJAG4ZVzY2lpCV9fX6HbQgghhBDSYLyCm1mzZmHdunVgGEbo9hBCCCGENAivYamzZ88iKSkJv//+Ozp37gwLCwuZx/fv3y9I4wghhBBCNMUruHF0dMTw4cOFbgshhBBCSIPxCm62b98udDsIIYQQQgTBK7iRKCwsRHp6OgCgQ4cOcHV1FaRRhBBCCCF88UooLi8vx9tvv40WLVqgT58+6NOnD1q2bImJEyeioqJC6DYSQgghhHDGK7iJjY3FqVOn8Ouvv6KkpAQlJSX45ZdfcOrUKcyaNUvj48XHx8Pb2xvW1tYIDQ1FSkqKyv3Xrl2LDh06wMbGBl5eXpg5cyaePXvG56UQQgghxMTwGpb66aefsG/fPvTr10+6bdCgQbCxscHrr7+OTZs2cT7Wnj17EBsbi4SEBISGhmLt2rWIjo5Geno63NzcFPb//vvvMXfuXGzbtg29evXCrVu3MH78eIhEIqxZs4bPyyGEEEKICeHVc1NRUQF3d3eF7W5ubhoPS61ZswaTJ0/GhAkT4O/vj4SEBNja2mLbtm2s+58/fx7h4eEYM2YMvL29MXDgQIwePVptbw8hhBBCGgdewU1YWBgWLlwoMxRUWVmJxYsXIywsjPNxqqurcenSJURFRf3bIDMzREVFITk5mfU5vXr1wqVLl6TBTFZWFg4fPqx0KYiqqiqUlZXJ/BBCCCHEdPEallq3bh2io6PRqlUrdO3aFQDw999/w9raGkePHuV8nKKiItTW1ir0Arm7u+PmzZuszxkzZgyKiooQEREBhmFQU1ODKVOm4OOPP2bdPy4uDosXL+bcJkIIIYQYN149NwEBAcjIyEBcXBy6deuGbt26Yfny5cjIyEDnzp2FbqOMkydPYtmyZfjyyy+RmpqK/fv349ChQ/jss89Y9583bx5KS0ulP3fv3tVq+wghhBCiX7zr3Nja2mLy5MkNOrmLiwvMzc2Rn58vsz0/Px8eHh6sz/n0008xduxYTJo0CQDQpUsXlJeX45133sEnn3wCMzPZeM3KygpWVlYNaichhBBCjAfn4ObgwYOcDzp06FBO+1laWiIoKAiJiYkYNmwYAEAsFiMxMRHTp09nfU5FRYVCAGNubg4AtJAnIYQQQrgHN5LgQ0IkEikEEyKRCABQW1vLuQGxsbGIiYlBcHAwQkJCsHbtWpSXl2PChAkAgHHjxsHT0xNxcXEAgCFDhmDNmjXo3r07QkNDkZmZiU8//RRDhgyRBjmEEEIIabw4BzdisVj6/3/88QfmzJmDZcuWSWdHJScnY/78+Vi2bJlGDRg1ahQKCwuxYMEC5OXloVu3bjhy5Ig0yTg3N1emp2b+/PkQiUSYP38+7t+/D1dXVwwZMgSff/65RuclhBBCiGkSMTzGcgICApCQkICIiAiZ7WfOnME777yDGzduCNZAoZWVlcHBwQGlpaWwt7fXd3MIIYQQwoEm929es6Vu374NR0dHhe0ODg7Izs7mc0hCCCGEEEHwCm569uyJ2NhYmVlO+fn5+PDDDxESEiJY4wghhBBCNMUruNm2bRsePnyI1q1bw9fXF76+vmjdujXu37+PrVu3Ct1GQgghhBDOeNW58fX1xZUrV3D8+HFpJeFOnTohKipKOmOKEEIIIUQfeCUUGzNKKCaEEEKMjyb3b94VihMTE5GYmIiCggKZaeIAlK7oTQghhBCibbyCm8WLF2PJkiUIDg5GixYtaCiKEEIIIQaDV3CTkJCAHTt2YOzYsUK3hxBCCCGkQXjNlqqurkavXr2EbgshhBBCSIPxCm4mTZqE77//Xui2EEIIIYQ0GK9hqWfPnuHrr7/GH3/8gcDAQFhYWMg8vmbNGkEaRwjh71R6AS7fK0GP1k7o7eeq7+YQQojO8Apurly5gm7dugEArl69KvMYJRcTol85xeUYFn8OjyueS7c52Vrg4LQIeDW31WPLCCFEN6jODSEmpvuSYzKBjYSTrQXSFgzUQ4sIIaThtL5wZn337t3DvXv3GnoYQogATqUXsAY2APC44jnOZBTquEWEEKJ7vIIbsViMJUuWwMHBAW3atEGbNm3g6OiIzz77TKGgHyFEdy7fK1H5eGruY900hBBC9IhXzs0nn3yCrVu3Yvny5QgPDwcAnD17FosWLcKzZ8/w+eefC9pIQgg33Vo5qny8R2sn3TSEEEL0iFdws3PnTmzZsgVDhw6VbgsMDISnpyemTp1KwQ0hetK3gxucbC2U5tzQrClCSGPAa1jq0aNH6Nixo8L2jh074tGjRw1uFCH6klX4FEnpBbhTVK7vpvB2cFoEnGxlyzNIZksRQkhjwKvnpmvXrti4cSPWr18vs33jxo3o2rWrIA0jRJdKKqrx/g+Xcbpewm0fP1dsGN0dDnKBgqHzam6LtAUDcSajEKm5j6nODSGk0eE1FfzUqVMYPHgwWrdujbCwMABAcnIy7t69i8OHD6N3796CN1QoNBWcsBm3NQXnMotQW+/PwVwkQrivC3ZNDNFjywghhAA6mAret29f3Lp1C8OHD0dJSQlKSkowYsQIpKen8wps4uPj4e3tDWtra4SGhiIlJUXl/iUlJZg2bRpatGgBKysrtG/fHocPH+bzUghBVuFTnM4olAlsAKCWYXA6o1AvQ1R7UnLxf3vSsPfiXZ2fmxBCjB2vYSkAaNmypSCJw3v27EFsbCwSEhIQGhqKtWvXIjo6Gunp6XBzc1PYv7q6Gi+++CLc3Nywb98+eHp6IicnB46Ojg1uC2mcch5VqHw8u7gcbV2a6qQt/9wrwfAvz6NGXBdoHUh7gHn7/8HBaeHw93TQSRsIIcTYcQ5urly5wvmggYGBnPdds2YNJk+ejAkTJgAAEhIScOjQIWzbtg1z585V2H/btm149OgRzp8/L13Tytvbm/P5CJHXxln1kgTezbkFNntScpF8pxjh7VzwWrAXr7bUD2wkasQMhsafQ+ayQbyOaapo7Szde2fnBVy6+xg92zgjYWywvptDiFKcc27MzMwgEomgbneRSITa2lpOJ6+uroatrS327duHYcOGSbfHxMSgpKQEv/zyi8JzBg0aBGdnZ9ja2uKXX36Bq6srxowZgzlz5sDc3Fxh/6qqKlRVVUl/Lysrg5eXF+XcEBkNybmR720BgCZmIo17W/ak5GLO/n+UPr5qZCDvoMmU0NpZuvdt8h3M/+W6wvblwwPwRmgbPbSINEZaybm5c+cOsrKycOfOHZU/WVlZnBtaVFSE2tpauLu7y2x3d3dHXl4e63OysrKwb98+1NbW4vDhw/j000+xevVqLF26lHX/uLg4ODg4SH+8vOjmQBRtGN0d4b4uMtvCfV2wYXR3tc9V1duiieQ7xSofP3e7SKPjmSr5wAaoW1piaPxZPbXI9LEFNgAw9+errNsJ0TfOw1Jt2mgenQ8ePBhbtmxBixYtNH6uMmKxGG5ubvj6669hbm6OoKAg3L9/H6tWrcLChQsV9p83bx5iY2Olv0t6bgipz8HWArsmhuBOUTmyi8vh3bwppzybPSm5CoGNRI2Ywd6Ldzn3toS1bY4DaQ+UPh7ezkXpY40Fl7WzaIhKWO/svKDy8SnfXKQhKmJwGrxwpiqnT59GZWWl0sddXFxgbm6O/Px8me35+fnw8PBgfU6LFi3Qvn17mSGoTp06IS8vD9XV1Qr7W1lZwd7eXuaHEGXaujRFZAc3zgnEQva2jAppjSZmItbHmpiJaEgKtHaWPly6q/o9vZBDhVuJ4dFqcKOOpaUlgoKCkJiYKN0mFouRmJgorZ8jLzw8HJmZmTILdN66dQstWrSApaWl1ttMSH1hbZurfFzT3paD08IVAhxJ/g6htbP0IchL9Xvas42zjlpCCHd6DW4AIDY2Fps3b8bOnTtx48YNvPfeeygvL5fOnho3bhzmzZsn3f+9997Do0eP8MEHH+DWrVs4dOgQli1bhmnTpunrJZBGTOjeFn9PB2QuG4RVIwMxrHtLrBoZiMxlg2ga+P9I1s5iQ2tnacfXMT1VPk5DUsQQ8a5zI5RRo0ahsLAQCxYsQF5eHrp164YjR45Ik4xzc3NhZvZvDObl5YWjR49i5syZ0sU6P/jgA8yZM0dfL4E0cgenhWNo/DnW2VJ8vRbsRcNQShycFoGh8WdZZ0sR7Vg+PIA1eXj58AA9tIYQ9Xgtv8CVnZ0d/v77b/j4+GjrFBqj5ReItuy9eBfnbhc1qM6NqdFmLRpaO0v3pnxzERdyHlGdG6IXmty/KbghhAiOatEQQoSm9bWlTp8+jZqaGoXtNTU1OH36tPT3jz/+GM7OlGxGTFdW4VMkpRfoZf0pNobSHqpFQwjRJ149N+bm5nj48KHC2k/FxcVwc3PjXKFYH6jnhgihpKIa7/9wGaczCqXb+vi5YsPo7nBQkvDaWNpzKr0AMduV10b5ZmIIDSMRQjSm9Z4bhmEgEinOECkuLkbTprpZYJAQfXr/h8s4lylbw+ZcZhFm/JDW6NtDtWgIIfqm0WypESNGAKhbP2r8+PGwsrKSPlZbW4srV66gV69ewraQEAOTVfhUpodEopZhcDqjEHeKlK8inlX4FDmPKjhXQGYjv0BnQ9qjDY29Fo0Q19gU0UKnRJc0Cm4cHOpqbTAMAzs7O9jY2Egfs7S0xAsvvIDJkycL20JCDEzOowqVj2cXKwYTQgwbyS/QeSDtAebt/wefDu6kcXu0SVKLhm2ZBFOuRWNIQ4OGhJLLiT7wyrlZvHgxZs+ebZRDUJRzQxoqq/Ap+q8+pfTxpNn9FIKJhqw6LuH78WHWdazMRUCtir9itvZo293iCqW1aEz1hibENTZF3ZccUxropi0YqIcWEWOlyf2bVxG/jz76CPVjopycHPz888/w9/fHwIH0YSWmzce1Gfr4uSq9kckHEkIMG6laoLOWAdq7N8PtgnJO7eGqIcMrXs1tkbZgYKOpRaPLoUH5YUlDRgudEn3hFdy88sorGDFiBKZMmYKSkhKEhITA0tISRUVFWLNmDd577z2h20mIxrQ5xr9hdHfM+CFN5oYW7uuCDaO7K+zLZxhLnroFOn3dmsHD3oZTe9Q5dOUBVh69iZzifxe95Tu80tvPVdD33lDzNoS4xuooG5Y8OC3cYJfn4JJcbkjXkZgOXsFNamoq/vvf/wIA9u3bBw8PD6SlpeGnn37CggULKLgheqWLMX4HWwvsmhiCO0XlyC4uV9m70cZZ9Tm9m6u/6YW1bY4DaQ+UPh7ZwQ2vBXtxao8ybO+bhGTmlb6GVww9b0OIa6xO/cBGokbMYGj8OWQuG9Tg42tDY08uJ/rDayp4RUUF7OzsAADHjh3DiBEjYGZmhhdeeAE5OTmCNpAQTTWkgJymRfDaujRFZAc3lYGEZBjLXK58grlIhD5+rpyCEK4LdHJpT32n0guwLvEWzmQUKg1sANnhFSHVP78qhl4UUIhrrIqqYckaMYO9F+826PjaQgudEn3h1XPj6+uLAwcOYPjw4dJFLAGgoKCAknSJXvEd49f2TBdNhrGUEWKBTkkejaW5CNO/T1P6Xikj1MwrTXpijCVvQ4hrrIy6Yclzt4sMNv+GFjol+sAruFmwYAHGjBmDmTNnon///ggLCwNQ14vTvXvD/5AJ4YvvGL+qInhCDMVoMoyljL+nAzKXDeK8QGf9/JQung4KwRsfQgyvAMp7Yv6z/jR+ndFb5r0xlrwNIa6xMuqGJcPbuQhyHm1obMnlxDDwCm5GjhyJiIgIPHz4EF27dpVuHzBgAIYPHy5Y4wjRFJ8xfl3OdGnr0vAb3mvBXiqDGrZekSZmIoiVDGtwIUJdcrAQ74OqnpinVbWI/OKkTK+ZseVtCHGN5Y0KaY1PDlxlHZqqPyxpyIROLidEFV45NwDg4eEBOzs7HD9+HJWVdbMqevbsiY4dOwrWOEI0xWeMn8tMF2PC1itSI2YgbsAxe/8v2NDUxsQMjP46GV8mZUq3qeuJAWSXjhAyb2PJwWt4ae0pLP3tOufnGIqD08IV8q40HZYkpLHg1XNTXFyM119/HUlJSRCJRMjIyICPjw8mTpwIJycnrF69Wuh2EsKZpmP8upjpoi2SHJqC0mfIe/IMTUQijfNoVGlmZY6v3wpGLz/lwx5s9XDOZxZizJYU6T7JWY+w8mg69kx+QW1PDKDYa9bQvI1jVx/inW9Tpb/fzHuKLWfvYOu4YAzwd+d0jIZq6LIMmg5LEtKY8apQPG7cOBQUFGDLli3o1KkT/v77b/j4+ODo0aOIjY3FtWvXtNFWQVCF4sZDkzF+Y6suu+1sFhJO3UbBk2pBj+tka4H1o7tzet9UJWF3XXJM6fOylw9WWrVW3vYJPRHZwU36O9+8De+5h1S2R5toWQZChKHJ/ZtXcOPh4YGjR4+ia9eusLOzkwY3WVlZCAwMxNOnT3k3XtsouCFsSiueK8x0UXUD0sfiiFmFT3HqViGW/nZd5XILfGlaN6bfyhPIflQps81cJIKXk7XC9vo+iu6AIYEtFXpi2HBdOkJVcb8lB69h2/lspc+dFNEW81/2V3sOvowtcCbEUGl9+YXy8nLY2ir+A/jo0SOZlcIJMRZcZ7ro41s42zn5aGImkklI7ePnijGhXkjPf6JRT4j8kFN9tQyjMrAB6npfpkb6SmfQzD/wD3KLK1E/XuO6dASXKeXns4qUPR0AcDazYe+rKoa2YjshjQWvhOLevXtj165d0t9FIhHEYjFWrlyJyMhIjY8XHx8Pb29vWFtbIzQ0FCkp7P9wytu9ezdEIhGGDRum8TlJHa5F1IwBW/IqG1WF+tQVwVM1ZVxIvZcnwmfeIfRdcYL1nJpysrVA0qx+SJrdD9sn9ETS7H7YNTEELwW0wAcD2rMGNsreJ2WBDVetnP79YtTbzxUHp/VWOH/9+jCqPqNcivv18lE9TTrCl1tQx+dvRV2y+sG/7wteGFFXuP69EaIPvIalrl69igEDBqBHjx44ceIEhg4dimvXruHRo0c4d+4c2rVrx/lYe/bswbhx45CQkIDQ0FCsXbsWe/fuRXp6Otzc3JQ+Lzs7GxEREfDx8YGzszMOHDjA6Xw0LFXH0MvZa0JZT8KeyS8gtF1z6e8N7XXhsxq4pj7edxnfX7zfoGNIfBTdAc/FYo3zU1S9T98kZ+OL47ca1K6ZL/rhgwHtFbbL95qp+4yeSi9AzPYLSs/zzcQQ6etuSM5NQ/5W1H1mJIwpB4fr3xshQtPk/s2r5yYgIAC3bt1CREQEXnnlFZSXl2PEiBFIS0vTKLABgDVr1mDy5MmYMGEC/P39kZCQAFtbW2zbtk3pc2pra/Hmm29i8eLF8PHx4fMSGj1DL2evCWU9CaM2/ynze0N7XXQxZVyowMbJ1gJTI30VemW49D6oep/O3VbfgxTQUvU/Osrq0sj3mqn7jHIp7iexdVww6z7KttfXkL8VZcsyyNNG75+2cP17I0SfeNe5cXBwwCeffIIff/wRhw8fxtKlS9GiRQuNjlFdXY1Lly4hKirq3waZmSEqKgrJyclKn7dkyRK4ublh4sSJas9RVVWFsrIymZ/Gjks5e2OxMTFD5eOSLnNJ7kOtXEelJmsmaXvKeO/liQ16vgTbFOmc4nJ0X3IMMdsv4L/HMzB2awq6LzmGu8WyAZu696mTh+rAxbu5DaZG+jb4Naj7jO69eFftlPI/ruej9H/HGODvjuzlgzEpoi06ejTDpIi2yF4+WO00cCH+VjaM7o5wX9VDY9pau0toXP/eCNE3zgnFV65c4XzQwMBATvsVFRWhtrYW7u6y/8C4u7vj5s2brM85e/Ystm7disuXL3M6R1xcHBYvXsxp38bCWMrZc6GuJ0GSvMql10XdkJLkW7iymS9chqQ2Jmbg3O0i9PZzVQgC7pc+U/t8NuYiYEZ/X4jMREqHoFT1PqQtGCjdpu596t3BVeXMo5Mf9se6RNXDVlw+X+o+ox/uu4I+fq5wsGmC0soa1n2uP3iisHxGbz8X2Nk04VzVWIi/lfrJ6gf/vo//HlceIAi1dpe2cP17I0TfOAc33bp1g0gkAsMwENXrYpWk7NTfVltbK2AT//XkyROMHTsWmzdvhosLt7VU5s2bh9jYWOnvZWVl8PJq3IWvjK2cvSrh7VyQnPVI6eOSG49QvS58FkfcmJiBQ1cf4sbDJ9Jt9YvaSfIUPB2scbeEW4DT3r0ZfN2aIbKDm9pCbhsTMzgvPMnlfdoz+QXWIYg9k18AIMzni0uhv3OZRQhq44SbeWUoe6YY4Eh6Q35IyUVrZxuFhUK55M0I+bfS1qUphgS2VBncGHLBSID73xsh+sY5uLlz5470/9PS0jB79mx8+OGH0kUzk5OTsXr1aqxcuZLzyV1cXGBubo78/HyZ7fn5+fDw8FDY//bt28jOzsaQIUOk28TiuqLyTZo0QXp6ukLOj5WVFU1PlyMpZ892w9O0nL2+TR/gpzLBVfItUoheF4D7lPGswqc48s9DrDymuhdj1OY/pQmtZ+YOUJn4mjS7n0YLMrIlwrKp3/vA5X1q69IU2csH48ukTGlgVP/bOp/Pl3zdIC9nWzSzMsfTKuVflGoZBinZjxA3ogvm7f9H6X7KHntc8RyDN5zButHdlb6nQv+tCPU51Beuf2+E6Buv2VIhISFYtGgRBg0aJLP98OHD+PTTT3Hp0iXOxwoNDUVISAg2bNgAoC5Yad26NaZPn465c+fK7Pvs2TNkZsqO6c6fPx9PnjzBunXr0L59e1haWqo8X2OaLaVqCORucYXScvb6ni2lqt1s/rpdrLQnof7sDU0L9XG1JyUXyXeK4dLUEhbmZjibUYR/HnDP7foouoP0dS44cAW7/ryrsM+4F7wwPtxHo8KBXKsAt2tuiwdlz9C5hT32TQ3H33dL8MnP/+Bqvdeg6fvE9fPFNjNLWTChzKwX22N1A2dwAcpfI9trsbdugvkvd0JP7+YaByTa+hzqCte/N9J41f+SJmQFcK1XKLaxsUFqaio6deoks/3GjRvo0aOHdCFNLvbs2YOYmBh89dVXCAkJwdq1a/Hjjz/i5s2bcHd3x7hx4+Dp6Ym4uDjW548fPx4lJSU0FbweTaZq8i1nrw0NnWKqrCdBnrpeF67+uVeC4V+eZ12pWRNhPs744Z0wmW19V5zA3ZJKeDna4JcZEZynsNdfa2qOit4MrgI87bFseBcEchgmYqPu88VWvZcPJ1sLlFU+b1DlZnVVg89kFOJ8ZpFC8Mo3MJF8Ds1FItQyjE6rXQuB698baTx85h5iXaDXAkCGAEGO1oObHj16ICAgAFu2bJH2lFRXV2PSpEm4evUqUlNT1RxB1saNG7Fq1Srk5eWhW7duWL9+PUJDQwEA/fr1g7e3N3bs2MH6XApuFOlzHZ2GMIZ2S3ppwtu5YN7+fxoc2ACyPTcS9YdpFv5yTW35fqGqGMvT5jIBXGvASJiJAGVvtxnqhgyFWDRUVb0iIZdSoDWniKnR9r/hWg9uUlJSMGTIEDAMI50ZdeXKFYhEIvz6668ICTHc9VJMPbjZmJihckyc7UaqL/Vv4If+fmCQ7T6VXoCk9AI8rxFj94W7WlnT6e1e3jifVYQIX1dM7++rUZAiuREL1QOi7jzK8FlrKym9ABNUFOGT16a5LXKKVc/m+mZiCO49rsC8/Vc5H1ee/GKdEnyLOCpb94rWnCKmRFVgI9HQAEfra0uFhIQgKysL3333nXTK9qhRozBmzBg0bWo83aqmyBimarJ9Y3WwUf1R1HW7c4rL8crGcyipbHhPgDqSqdU3855iy9k7qneWE/nFSfz3ta6C99jIUzZFuSG9D+pmZslTF9gAQI2YweiQNvj9n3zewZ6yGUvqpslfyC6WeY9UVTZ+LhbTmlOEaBGv4AYAmjZtinfeeUfIthABGMNUTbYKuMpqlUjoqt2SYadjV/NQ8Zxt9LjhXJpZILKDO/ZeuifI8Wbu/VuQ46ii7IavqprxrokhKnt0lM0cEqKdbFP21VE3Y0ldxdOlv93A68Gtpb+rqi20ZlQ3lccy9Ho3gOwQrbpyBIToGu/ghs3Dhw/x/PlztG7dWv3ORCsMfaqmslWS1dFWuyU33+rntZj2fZogOTTymje1QEtHG2QUPMGz5wyKnj4XLLDRNlU3fHUrXr+WcB4Xsv9dAoGtR4dPEMKlnfWn7P+ZVcRpmEpZvSKu+Uxlz2qkCbbqKhsXPlFdz0hVvRt9BxXyifQH0h5g3v5/cHBaOPw9HaT7KRuOI6Ype/lgg8qbFDS46d+/P27duqW1In6EG3VF1vjik1chT13XPpuGtpvN5dzHmP/LVVy9r/3lOIrLn6O4XLvDW2YiQAQInhOkqkChumt5KeexzO/1e3QkJEHIa5vO41LOY9aZFg1pZ1uXpmrX/Jr5oh+GdvVUGsC9vzsN1zlO7ZfUDFJX2fhh6TON691wDSq0jW2GYI2YwdD4c8hcNsikFuUlmrEAwPYvnT7S4wUNbnbt2oWKCs1vXkRYoe2aqyyypikhZ3Woy7NImt0Pv//zUGtTTIWeVWRuBiwfEYhzt4vg0tQKdjZNVFag1RYxo3l9GHVeC2qFVa91lf4uX3+oieq1IBVmNinLJ8kqfIoLcoEQV7MGtsfLgS1VBtvqPnNsgQ3fz4mkYjGXysbjw9pqVO1aXVChC3tScpX2btaIGey9eBfLDt/gtNQHMT2S6d7aqnOjCUGDm549ewp5ONJAUyN9BQkO1OVVaIJLhVah2p1V+BR/3SkGIMILPnXF1t7/4bKgC4P+Oi0C/p4OeC3YC8euPsQ732pWBkFIjyuew9bCTGWukLlIhKA2jsgoeKo2EJIENvL1hyRLR9hZmvNqp3w+CZ/ePKAumJvR30/p4/V7GjXtJWH7zHNpj2T4hUtl4z0puXBuZoGPojugU0t7lT2iXIIK+SEqbQwLJd8pVvn4/tT7nJf6IKbLEEp38A5uSkpKsG/fPty+fRsffvghnJ2dkZqaCnd3d3h6egrZRqJH6vIq+Mzq4LM+kyZKKqox9btUnL8t+w9xQEt7maq7DdHerSn2TgmX6bnSZ2AjoS4JWvI+O9ha4ExGIfZduItfrjxU2G/ruGDp/7MVVgSAJ9X8hp9vPCiTmWqt6awpoK5CsPzK5xJsvS5hPs0R6uMs85lQ9pnjkxfGthL7wWkRrFWaV40IhO/Hh2WClSZmIhycFq70+OqCinO3i6TBjTaHhcLaNseBtAdKH7ezUn1LMaZFeYlx4xXcXLlyBVFRUXBwcEB2djYmT54MZ2dn7N+/H7m5udi1a5fQ7SQ6VP8bn7oEWz6zOriuz8TX+z9cVghsAPAObEZ090Rb16bo5uWIGjF7JdklB6/xOrYuje/VBouGBkh/7+3nit5+rlg3Blj623WczSxEhK8r5r/sL91nY6LwQ2y3Cp7I/K7prCm3ZlZYPaqr0hs1W69Lyp1HCPd14bQ+F5eeJHORCP4t7RDl7660Z8SruS3SFgxUqNIsH9gA6oeX1AUV4e3+XUiY6wrwfIwKaY1PDlxl/XehiZkIb77QGsdu5LM8s44xLcpLjBuv4CY2Nhbjx4/HypUrYWdnJ90+aNAgjBkzRrDGEd1i+8Znb636I9KQVYwlizAKie9sLGW8nGwgBgMPe2uV3zjPZ2k2hKEPAzq5K32sfkBTn7q6SXzUvxFLsPXm9WrXHAwDJGfJBqoFT6swdmsKa2+Eup5GAKwF+urj0pNUvwdMHUkQCagfXpq86wLGhXkrfNbUBRWSXht1s7SEGBY6OC0cQ+PPsfY8+Xs6mMyivMS48QpuLly4gK+++kphu6enJ/Ly8hrcKKIfbN/4yp7VoImZCAwDg1jFWN2imnzzNwD2hNy7jytx93Gl2pkpvXxccDPvKe9za5vkxrLk4DVpNWRlAY1ETnE50u7yS/RtYiZSeyOuT1Vv3p2icgzZcEZhhXC23gh1159LT6OyniQzAP4t7bFhTA/en3t1w0vHrxfg+PUC1sBNVVAhoW6WlhDDQv6eDshcNgh7L97FudtFClPSlQ3HKRtGJEQbeAU3VlZWKCtT7OK/desWXF0pMjdGqr7x1YgZdPG0xz/1pk0LmSPDhbKkVvlFNfnkbwBAwls98FJAC+nNddLOC6iVS19RNXSwYGhnaaVhNn38XLVeRbguWdgJGQVPFG4s48PayMxgkFRD3jouGAP82Xt0hsWfw7Pn/OaWL3y5Exb/dkOjvBKAvTcvt7hcIbCRkO+NUHf9ufY0svUkRQiw7pO64SUJtsBNXVABcJulBQiTbPxasBdroKpsOI4QXeIV3AwdOhRLlizBjz/+CAAQiUTIzc3FnDlz8OqrrwraQKIb6r7xRfm7Y/3oHlrJkeFCWVLrqM1/ymTmS751cw0kzFB303opoAWAuptrSlaxQmAjIT8zpf5NYuu4YEzcdVHhOZIAYndKLuYKsFK3hHzvSLivCwI97WFuBrRyskUrZxu0d7fDD3/dxX8TM1mPMXHXRdaZDaqCXS4eVT5XeyPmSpPeCC6z8bjQVl6YquElecqGkZQFFYD6WVqtnW3RfckxndSgqT8c1xD6LlpIjBOv4Gb16tUYOXIk3NzcUFlZib59+yIvLw9hYWH4/PPPhW4jEYiqIR0u3/i0kSMjj61QoLqk1i+TMmVez4bR3fHed5cUkortrc1R9ky2B+CFds0VeqC4zEwJaevMOiPlzIeR2JmcrZCcm1X4FAVPqlQeV1PdvRyx8rWuyC4ux+OnVYjde6VeUFe3BEcH92ZIz1c9XLb0t+sKQ1TqAorh3T3xc9p9pY9LeghU3Yi54tobIaFqNp6mhSi18ZlnG15Shs8wkqphIfntgO5q0GgapBhK0UJinHitCi5x9uxZXLlyBU+fPkWPHj0QFRUlZNu0wtRXBWcjP6QjIT+kI/+NTsLJ1kLr//CpKhQ45duLKtfLCvNxxg/vhClsv1NUjr+yisEA2J96D6k5JQo5FBF+rgq1evak5GKOih4WdzsrPKupZV0Py8nWAnNf6ij9R/xFf3e8922qQlKskEb39MIPF+7yfn5Hj2Y48n99ZbadSi9AjIoVu7+ZGIL3f0jT2eeFz2ezfq+Lk62FYIUohbL34l3sT72n8rP9zcQQ3r0f8sNCXK6pNoaP5IMUQDYBWRm2WWWS5+qqaCExLJrcvxsU3BijxhjccF3v425xhdJvfNoumz5ua4piAqcIiPB1RYi3k8r1sj6K7qCy6F9W4VP0X31K6eNJs/spfDtX9g+rKbK3MkfF81q0bd4Ux2f1k/ZuTN5xATUsb4EkoNDV5yWr8CkuZT/CZ4duoOzZvwGlJudi+3xJhqo0LUQpNF19qViXeEtl9eyZL/rhgwHtBTufBJ8gRd0XjFUjA2mIqhHS5P7Nu4jfhQsXkJSUhIKCAojFsgkKa9as4XtYIjBNhnT0lQiobPqumAFOZxTila4tVT7/P11aqHxc3QyaGT+k4ruJL8h8gz84LRxDNp4VfK0mQ1T2v2TdjMJylYEwIDvrRdufF7bevC6e9ojwc0Gvdi6cz6WNQpRC0tXsIk2H94TAp7IyoFnRQkLY8Apuli1bhvnz56NDhw5wd3eHSPTvIjP1/5/on7o6JWcyChV6PYRKBFRHkgPk6Wijcr9PDqhOwlU3vddMTTuu3i/De99dwvf1Fuj093TAlvE9MUFFN75Qlo/oAncHa3g3b4rIL05q/XwNwdaToK3EUbZifNcfPIGTrRXmvNSJ83GFmB6uTdoKEuXzi7gsCSE0vkGKJkULCWHDK7hZt24dtm3bhvHjxwvcHCK08HYuKsf09TFFU1kOkDLPalQvKaBseq8mix+ev12s8A2e77RyTYX+b92rU+kFOjmfdRMRLMxFeFKl+RrcH+79W2YxTSGwJY7O3X+FdcYan94WoaaHa5tQQaKq/DVd16DhG6RwLVpIiDLqvtSyP8nMDOHhqutVEMMwfYDyhQUBCL7qNheaBDYSbZrbwFyuV9BcJEIfP1elNzlNFz/8K6sYWYVPkZRegDtF5fBxbQZbC15/IpzVb7+6GUpCqREDlWrWoFImWQuVmNlWu1Y2FV8iu7ic8/El08M1/fwYK1UL3Up6ib6ZGIKZL/rhm4khSFswUGs5daNCWqOJGXtvvrog5eC0cIXncqmVRAjAM7iZOXMm4uPjhW4L0ZI99YZbuGzXJr5rFc37TyeE+8p+y1NVSFCSZ8FlrSKJreey0H/1KUzYfgGRX5zEawnn1S5E+VpQK87HlxfmIzsNXV1OhDrmIhHcmqmf+VMjZuBkw2+GUJiPsMMBqnIyVNG0t2XD6O4afX6MlbLPff0eL6Cul+iDAe110nPLN0iRFC1cNTIQw7q3xKqRgchcNoimgRNOeA1LzZ49G4MHD0a7du3g7+8PCwvZfyj379+v0fHi4+OxatUq5OXloWvXrtiwYQNCQthnMGzevBm7du3C1atXAQBBQUFYtmyZ0v0JENquObKXD8aXSZnSomD66LEB+K1V5GRrgZcCWshUEFZXp4TPMgy3C2R7Ay7lqF964JfLymu9AP/+I25j1QR/ZhWj+GkVmjezwgv/G4qqT1VOhEQfP1dU19Tg6oNSNDEzR0nlv/uG+7qgs6cdNp3MUtvu8PaunCrlypMMSQlR4RZQn5MhT5NifPI5J9pcrFUVdUuGCMkQ84u4VFZWRYhaSaTx4RXcvP/++0hKSkJkZCSaN2/eoCTiPXv2IDY2FgkJCQgNDcXatWsRHR2N9PR0uLkpLnB38uRJjB49Gr169YK1tTVWrFiBgQMH4tq1a/D09OTdDkP2zs4LuHT3MXq2cUbC2GDex5ka6dugf1w1LYDGRl0OkLWFSKbkv3w+ANeianzyZeQ7ELh0KFSrmU61fUJP6TfN+u2WDH/Jv5dsORH21k3w6WB/BLd1Vnjt8jfrU+kF3IKbdi5wbWqJzWez1b/I/1k/qhvr4qoNmf6tLiejvXtT3Mr/N+jk0tuiKudEF4UoJbguGSIkQ84voiCF6BKvOjd2dnbYvXs3Bg9WLNuuqdDQUPTs2RMbN24EAIjFYnh5eWHGjBmYO3eu2ufX1tbCyckJGzduxLhx49Tub0x1br5NvoP5v1xX2L58eADeCG2js3aoulnwKYCmru6OULNG2GqbsLFqYoYqNUnLfMnXDuH6XjbkPVBWN0VCvr7Ii6tP4k5xubTOjSRg2pOSi6sPShHm4yLtsdFGTRZ1dVA07W0xlJo2XOtLCc1QXj8hQtPk/s0r58bZ2Rnt2rXj1bj6qqurcenSJZnKxmZmZoiKikJycjKnY1RUVOD58+dwdnZmfbyqqgplZWUyP/pQP1GVK7bABgDm/nxVqGZxoipBkQ91OUBC5QO8EeKFVk7WavfTVmADKNYO4fpesr0HXD9DB6dFwElJ0MmW63B8Vj9kLhuM47P6AajrYYrs4IaEscE4O2eAzFCUsqBJsg4SH+pyMiTt4ToUxSXnRNu41JfSlsaSX0SIKryGpRYtWoSFCxdi+/btsLXln2VfVFSE2tpauLvLrkrs7u6OmzdvcjrGnDlz0LJlS6VLP8TFxWHx4sW829hQfHs93tmpur7KlG8uNmiIiittFEBrSA4Ql6ExtqETdQI87XHjwRONEpC52Hz6DgI9HeFga8H7vdT0MyRfN+VJZQ2KyqsavPCgJgtYaqKhORn1GUrOCZ/6UkLR1qKfhBgTXsHN+vXrcfv2bbi7u8Pb21shoTg1NVWQxqmzfPly7N69GydPnoS1Nfs39Hnz5iE2Nlb6e1lZGby8dDfuq+qbuqou4kt3VSezXshRnrciJG3eLDTJAdLkBq9pYAMAy4Z3wRdHb3FeTZyr+tea73vJ9zMkdDFGbVe4FSInw1ByTgyhvpQu84sIMTS8gpthw4YJcnIXFxeYm5sjPz9fZnt+fj48PDxUPveLL77A8uXL8ccffyAwMFDpflZWVrCyshKkvZpqSK9HkJcTjt1QXtStZxv2YTih6epmMWvPZfyVXSyT31Ef1xu8qqETNiLU3WgCWzli18QQnL5VgLS7dbOAJmy/0OD1pepfaz7vpSEtHaCPCreaktS0UZZzoqv3avoAP5XroelrtiIhjQWv4GbhwoWCnNzS0hJBQUFITEyUBkxisRiJiYmYPn260uetXLkSn3/+OY4ePYrgYO0PzXAlf4NuSK/H1zE9VSYk6mJICtD+zeLnS3cxc+8V6e97L93D3kv3sH5UNwztXjf7TZMbvLqhE7dmlih4Wi39vff/en/YeoZ6eDngyv0yhdWM3+vrgw1JtzV6ndnF5Yjs4Kbxe2kowywSuq5wy8eG0d0x44c0mWupj5yTPZNfwKjNf7JuJ4RoF++FMwHg0qVLuHHjBgCgc+fO6N5d8388YmNjERMTg+DgYISEhGDt2rUoLy/HhAkTAADjxo2Dp6cn4uLiAAArVqzAggUL8P3338Pb2xt5eXkAgGbNmqFZs2YNeTm8KbtBz/9PR5XPU9frsXx4AGvy8PLhAfwaytPSYZ3xitxQj71NE3w+rOHtqP++1ff+nsvS4EaTG7y6oZPVo7qhlZOtQi6CZIZJfX/fK0O4rwuGdG2hkAsyK7ojpnxzERdyHqFnG2d89FJHlSuPS661pjdeQxlmkdDX4qqaMJScE0OqL0VIY8MruCkoKMAbb7yBkydPwtHREQBQUlKCyMhI7N69G66u3P+xGzVqFAoLC7FgwQLk5eWhW7duOHLkiDTJODc3F2Zm/07q2rRpE6qrqzFy5EiZ4yxcuBCLFi3i83IaTNkNeunvNxvU6/FGaBu8EdpG5iaqqx6b+uYfuIayyhqZbWWVNfjkwNUGTS2dteeyyscl6xipu8Hnlz6T9t5wHTqRrzmjqmdo8SudWXNB5K8Fl2vtYGuBRUP98dedRxDh33WllFHXc8YwDGu9HG3T1eKqDWEoOScNrS9FCNEcrzo3o0aNQlZWFnbt2oVOnepW571+/TpiYmLg6+uLH374QfCGCkXoOjez9lzGT2nKq9QO6+qBRxW1gtWI0bWswqcqeySSZvfjfQOJWJGIe4+fKX28lZM1zs4ZAIBbzZrgNk6Y0MsbTraWmPZDKudCc0npBSpX/94+oSciOygWlJRXWvFcoVem/rXmO3OO7bi92jUHwwDJWf9W+DWmzxUhhGhKk/s3r56bI0eO4I8//pAGNgDg7++P+Ph4DBzIr5CXsforW3X5+Iu5JTg7Z4Deu8gBfhWGtZnzEerdHPceKw8M669jtHRYAF6Ry/WQdzHnMS7+b8mEPn6uGBPqhfT8J2qHToQa+lE3HPL+D5dxNlO2h4jLrCe24y785RqvGVSEENIY8ApuxGKxwvRvALCwsIBYrL2CaIaI6w1aH13kkmDG2dYSq4/d4tV7pM2cj9Wjuqns9ao/a2rOT1c0mgUlufFzudELnTTNdq3/vvu4wbOeJMc1pBlUhBBiiHhVKO7fvz8++OADPHjw75ow9+/fx8yZMzFgwADBGmcMVo/qpvJxtmnN2lZSUY1xW1OkK1y/En9O4WbItcKw5MZvLrd+mLlIhD5+rg2+ia5X8v7V355V+FRm+IULTSvScqnq+s7OCwhaegxTvrmoUVsA4BM1VaWzi7lXzuXSmwbUVckd/XWyVqvhCmnJwWt4ae0pLP2NvTK3oeFTdZwQohu8em42btyIoUOHwtvbW1oQLzc3F126dMG3334raAONwfpR3fA+S3Ksshu3trHVhJGnybd8rjN8+Ax7De3uiaHdPfHh3r+RnFXEWufmrzv8CxZyHTaTDP2cvlWItLuys4Dk1/g6ci0f3nMPcV7jK6vwKa4+UL3shyY9YOp60x49rZIpI6CLBRsb4tjVh3jn238Lf97Me4otZ+9g67hgDPB3V/FM/RB6rTVCiPB4JRQDAMMwSExMlE4F79Spk9IlEAyJNhfOVHWD1hV1CcDyuCbLAoorUEto+x/7H1JyMG8/v/W0uCY8q3oNXZccU/o8LgsgqktYDvC0x28zeqs9jrJ2SkiG0VRVWdbmgo186WuBSb5oYUpC9EPrCcUAcOLECZw4cQIFBQUQi8VIS0vD999/DwDYtm0b38MaNX0FNPWpG7KQp0mPgbK8Ib7LA3AV2lbz3gZN82WUvYb+q5NUPo/LGl/qelqWDe/CqY2A6l65cF8XBLayVxncLP31GsLbuxrMekNLDl5T+fjS365j/sv+OmqNepTvRIhx4JVzs3jxYgwcOBCJiYkoKirC48ePZX6I/qi7kUoIlTOji1WYfVyboZeS4ZTuXo7YOKY7enrLrmukSUVaVa+huFx1EjOXNb6U5S2Zoa53KFBN4UF17ZRY/EpnXMpR/fe35Vw2Jmy/gMgvTmLc1hSUargGl9DOZ6kePpWfXaZvXPOdCCH6xavnJiEhATt27MDYsWOFbg9pIGUzf+QJVY5eV8sDbHozSGUNmZcDW/Kebq9pb1d9XNf4Ystbivhf+7ni8l6rW7CxPkOYOt7LxwU3854qfTzC17AKBRpaxWhCCDtewU11dTV69eoldFuIQNhupH38XDF7YHsUV1QLOiShq3/suZTU5zvdnmtvFxuuFaOFWBKAy3sd2cFN5YKN9RnCUMqCoZ2x7Xy20scNaUgKMJyFOQkhqvEalpo0aZI0v4YYHsmNNGl2P2yf0BNJs/th18QQBHo5IrKDm6D/AGt7qri8ti5NtfIanJQkPjvZWihdy4vPGl8NaT/X91rThRn1PZSydRx7gKhsu75xKRtACNEvzrOlYmNjpf8vFouxc+dOBAYGIjAwUKGg35o1a4RtpYC0OVuqsVK37ICh47rEhL7X+AI0e68lCzZ2bmGPLeeylR6zIUtoCGnpb9dxNrMQEb6uBtdjw8YQqo4T0phocv/mHNxERkZyOrlIJMKJEyc47asPFNxoj7H+Yy/U2lK6pOl7TdOXCSHGTitTwZOSVE+JJcRQVmHWlDEmiWr6XnMtxEgIIaaAd50bQkxFY0gSFSKhmRBCjAWvhGJCTE1jSRLVRkI2IYQYGuq5IQTUs0EIIaaEghtC6jHWvCFCCCH/omEpQgghhJgUCm4IIYQQYlIMIriJj4+Ht7c3rK2tERoaipSUFJX77927Fx07doS1tTW6dOmCw4cP66ilqm1MzMDor5PxZVKmwmNZhU+RlF4gyEKSXI+pqj1CU9WWU+kFWJd4C2dUrFZNCCGECIVzET9t2bNnD8aNG4eEhASEhoZi7dq12Lt3L9LT0+Hmplg47fz58+jTpw/i4uLw8ssv4/vvv8eKFSuQmpqKgAD15fC1UcTvfGYhxmxRDMj2TH4BHVrY4f0fLgtavbekolrlMVW1J1TJ6tp8qWpLSWU1hsWfw+N6K0872Vrg4LQIeDXnv54TIYSQxkcrFYq1JTQ0FD179sTGjRsB1C3t4OXlhRkzZmDu3LkK+48aNQrl5eX47bffpNteeOEFdOvWDQkJCWrPp43gxnvuIaWPqaqfwrcyrLpqs6rak718MK9z8mnLP/dLZAIbCSdbC6QtGChoOwghhJg2Te7feh2Wqq6uxqVLlxAVFSXdZmZmhqioKCQnJ7M+Jzk5WWZ/AIiOjla6f1VVFcrKymR+hLQxMUPl46czCmVu/IDsasyayip8qvKYnx28pvL5Qg5RqWsLW2ADAI8rntMQFSGEEK3Ra3BTVFSE2tpauLu7y2x3d3dHXl4e63Py8vI02j8uLg4ODg7SHy8vL2Ea/z/nbhfxfi6f1ZhzHlWofPxclur2CBlUqGuLKqm5jwVrByGEEFKfQSQUa9O8efNQWloq/bl7966gxw9v56J+JyX4rFmkbh2kcB/V7ent56rxOfm2RZUerZ0EawchhBBSn16DGxcXF5ibmyM/P19me35+Pjw8PFif4+HhodH+VlZWsLe3l/kR0vQBfiof7+PnCnORSGabuUiEPn6uvIrFSdZBUnbMT4d2Vvn8qZG+Gp+Tb1uclCRMO9laCBpkEUIIIfXpNbixtLREUFAQEhMTpdvEYjESExMRFhbG+pywsDCZ/QHg+PHjSvfXhT2TX1C6XRtrFqk7pqr2CE1VWw5Oi1AIcCSzpQghhBBt0ftsqT179iAmJgZfffUVQkJCsHbtWvz444+4efMm3N3dMW7cOHh6eiIuLg5A3VTwvn37Yvny5Rg8eDB2796NZcuW6XUquMSXSZk4k1GI3n6uCj0k2lizSN0xVbVHaKraciajEKm5j9GjtRP12BBCCOHFqKaCA8DGjRuxatUq5OXloVu3bli/fj1CQ0MBAP369YO3tzd27Ngh3X/v3r2YP38+srOz4efnh5UrV2LQoEGczqXN4IYQQggh2mF0wY0uUXBDCCGEGB9N7t+NblVwSSwndL0bQgghhGiP5L7NpU+m0QU3T548AQDB690QQgghRPuePHkCBwcHlfs0umEpsViMBw8ewM7ODiK5KcyNUVlZGby8vHD37l0apjMgdF0MD10Tw0PXxDBp67owDIMnT56gZcuWMDNTPdm70fXcmJmZoVWrVvpuhsHRRg0g0nB0XQwPXRPDQ9fEMGnjuqjrsZEw+QrFhBBCCGlcKLghhBBCiEmh4KaRs7KywsKFC2FlZaXvppB66LoYHromhoeuiWEyhOvS6BKKCSGEEGLaqOeGEEIIISaFghtCCCGEmBQKbgghhBBiUii4IYQQQohJoeCGEEIIISaFghtCDER2djZEIhF27Nih83OLRCIsWrRI5+cFgJMnT0IkEuHkyZN6Ob8x8vb2xvjx46W/6/M93LFjB0QiEbKzs3V+bkKUoeCGGCzJP5oXL15kfbxfv34ICAjQcauM1+HDh/UWwADAl19+qZfAjRiXiooKLFq0SOuBmr7/Hoh2UXBDSCNx+PBhLF68mPWxyspKzJ8/X6vnVxbc9OnTB5WVlejTp49Wz2/K9Pkejh07FpWVlWjTpo0gx6uoqMDixYt1Etwo+3sgxq/RLZxJCFFkbW2tt3ObmZnp9fymQJ/vobm5OczNzfVybkKUoZ4bYlJqamrw2WefoV27drCysoK3tzc+/vhjVFVVyezn7e2Nl19+GSdPnkRwcDBsbGzQpUsX6bfF/fv3o0uXLrC2tkZQUBDS0tIUznXz5k2MHDkSzs7OsLa2RnBwMA4ePMipnSUlJRg/fjwcHBzg6OiImJgYlJSUsO7L5TzPnz/H4sWL4efnB2trazRv3hwRERE4fvw4AGD8+PGIj48HUJdfI/mRkM+5WbRoEUQiETIzMzF+/Hg4OjrCwcEBEyZMQEVFhcy5t2/fjv79+8PNzQ1WVlbw9/fHpk2bFN7va9eu4dSpU9Jz9+vXD4DyfJG9e/ciKCgINjY2cHFxwVtvvYX79+/L7DN+/Hg0a9YM9+/fx7Bhw9CsWTO4urpi9uzZqK2tVXkNJH7//Xf07t0bTZs2hZ2dHQYPHoxr167xPo9YLMa6deuknx9XV1e89NJLMsOrXD+nDMNg6dKlaNWqFWxtbREZGanQNmXvoWTY9vr164iMjIStrS08PT2xcuVKhefn5ORg6NChaNq0Kdzc3DBz5kwcPXqUUx4PW86N5O/r7NmzCAkJgbW1NXx8fLBr1y6Vx8rOzoarqysAYPHixdLPSv3Ppi7+Hojxo54bYvBKS0tRVFSksP358+cK2yZNmoSdO3di5MiRmDVrFv766y/ExcXhxo0b+Pnnn2X2zczMxJgxY/Duu+/irbfewhdffIEhQ4YgISEBH3/8MaZOnQoAiIuLw+uvv4709HSYmdV9H7h27RrCw8Ph6emJuXPnomnTpvjxxx8xbNgw/PTTTxg+fLjS18MwDF555RWcPXsWU6ZMQadOnfDzzz8jJiZGYV+u51m0aBHi4uIwadIkhISEoKysDBcvXkRqaipefPFFvPvuu3jw4AGOHz+Ob775hvN7//rrr6Nt27aIi4tDamoqtmzZAjc3N6xYsUK6z6ZNm9C5c2cMHToUTZo0wa+//oqpU6dCLBZj2rRpAIC1a9dixowZaNasGT755BMAgLu7u9Lz7tixAxMmTEDPnj0RFxeH/Px8rFu3DufOnUNaWhocHR2l+9bW1iI6OhqhoaH44osv8Mcff2D16tVo164d3nvvPZWv75tvvkFMTAyio6OxYsUKVFRUYNOmTYiIiEBaWhq8vb01Ps/EiROxY8cO/Oc//8GkSZNQU1ODM2fO4M8//0RwcDAA7p/TBQsWYOnSpRg0aBAGDRqE1NRUDBw4ENXV1eovHoDHjx/jpZdewogRI/D6669j3759mDNnDrp06YL//Oc/AIDy8nL0798fDx8+xAcffAAPDw98//33SEpK4nQOZTIzMzFy5EhMnDgRMTEx2LZtG8aPH4+goCB07tyZ9Tmurq7YtGkT3nvvPQwfPhwjRowAAAQGBgLQ/98DMSIMIQZq+/btDACVP507d5buf/nyZQYAM2nSJJnjzJ49mwHAnDhxQrqtTZs2DADm/Pnz0m1Hjx5lADA2NjZMTk6OdPtXX33FAGCSkpKk2wYMGMB06dKFefbsmXSbWCxmevXqxfj5+al8XQcOHGAAMCtXrpRuq6mpYXr37s0AYLZv367xebp27coMHjxY5XmnTZvGKPuTB8AsXLhQ+vvChQsZAMzbb78ts9/w4cOZ5s2by2yrqKhQOF50dDTj4+Mjs61z585M3759FfZNSkqSeX+rq6sZNzc3JiAggKmsrJTu99tvvzEAmAULFki3xcTEMACYJUuWyByze/fuTFBQEOtrlXjy5Anj6OjITJ48WWZ7Xl4e4+DgILOd63lOnDjBAGDef/99hfOJxWKGYbh/TgsKChhLS0tm8ODB0ucyDMN8/PHHDAAmJiZGuk3+PWQYhunbty8DgNm1a5d0W1VVFePh4cG8+uqr0m2rV69mADAHDhyQbqusrGQ6duyocEw2kr/TO3fuSLdJ/r5Onz4t3VZQUMBYWVkxs2bNUnm8wsJChc+jhK7+Hojxo2EpYvDi4+Nx/PhxhR/JtzmJw4cPAwBiY2Nlts+aNQsAcOjQIZnt/v7+CAsLk/4eGhoKAOjfvz9at26tsD0rKwsA8OjRI5w4cQKvv/46njx5gqKiIhQVFaG4uBjR0dHIyMhQGD6Rb2eTJk1kvu2bm5tjxowZMvtpch5HR0dcu3YNGRkZSs/Lx5QpU2R+7927N4qLi1FWVibdZmNjI/1/SS9b3759kZWVhdLSUo3PefHiRRQUFGDq1KkyeSSDBw9Gx44dFa6jsnZKrpcyx48fR0lJCUaPHi19b4uKimBubo7Q0FDWngt15/npp58gEomwcOFChedKhj24fk7/+OMPVFdXY8aMGTJDJv/3f/+n8nXV16xZM7z11lvS3y0tLRESEiLT5iNHjsDT0xNDhw6VbrO2tsbkyZM5n4eNv78/evfuLf3d1dUVHTp0UHtdlDGEvwdiPGhYihi8kJAQaXd+fU5OTjLDVTk5OTAzM4Ovr6/Mfh4eHnB0dEROTo7M9voBDAA4ODgAALy8vFi3P378GEBddzvDMPj000/x6aefsra5oKAAnp6erI/l5OSgRYsWaNasmcz2Dh06yPyuyXmWLFmCV155Be3bt0dAQABeeukljB07ViEA1JT8e+Tk5ASg7r2wt7cHAJw7dw4LFy5EcnKyQj5OaWmp9P3jSnKd5N8PAOjYsSPOnj0rs02S1yLfTsn1UkZy4+vfvz/r45LXp8l5bt++jZYtW8LZ2Vnpebl+TiX/9fPzk9nP1dVVeh3UadWqlUIuiZOTE65cuSLTnnbt2insJ98+Tcl/diTnVnddlDGEvwdiPCi4ISaHa2KgshkeyrYzDAOgLmEUAGbPno3o6GjWfRt6Y9D0PH369MHt27fxyy+/4NixY9iyZQv++9//IiEhAZMmTeLdBnXvxe3btzFgwAB07NgRa9asgZeXFywtLXH48GH897//lb4GbeI7U0fStm+++QYeHh4KjzdpIvvPo9AzgnSRwKru+hnTuQ3h74EYDwpuiMlo06YNxGIxMjIy0KlTJ+n2/Px8lJSUCFaHw8fHBwBgYWGBqKgoXu1MTEzE06dPZXpv0tPTG3QeZ2dnTJgwARMmTMDTp0/Rp08fLFq0SPqPuTZupr/++iuqqqpw8OBBmW/qbEM6XM8vuU7p6ekKvSrp6emCXcd27doBANzc3HhdR2XHPHr0KB49eqS094br51Ty34yMDOlnAQAKCwt5934oa8/169fBMIzMNcrMzBTsHJpQ9jkxhr8HYjgo54aYjEGDBgGom5lT35o1awDU5WwIwc3NDf369cNXX32Fhw8fKjxeWFiotp01NTUy06Vra2uxYcMG3ucpLi6WeaxZs2bw9fWVmVrctGlTAFA65ZwPybfz+t/GS0tLsX37doV9mzZtyuncwcHBcHNzQ0JCgkz7f//9d9y4cUOw6xgdHQ17e3ssW7aMdeaduuvI5tVXXwXDMKzF4STvEdfPaVRUFCwsLLBhwwaZ91f+eQ0VHR2N+/fvy0ynfvbsGTZv3izoebiytbUFoPg5NYa/B2I4qOeGmIyuXbsiJiYGX3/9NUpKStC3b1+kpKRg586dGDZsGCIjIwU7V3x8PCIiItClSxdMnjwZPj4+yM/PR3JyMu7du4e///5b6XOHDBmC8PBwzJ07F9nZ2fD398f+/ftZk2+5nsff3x/9+vVDUFAQnJ2dcfHiRezbtw/Tp0+XHisoKAgA8P777yM6Ohrm5uZ44403GvQ+DBw4EJaWlhgyZAjeffddPH36FJs3b4abm5vCDSgoKAibNm3C0qVL4evrCzc3N9Z8FwsLC6xYsQITJkxA3759MXr0aOlUcG9vb8ycObNBbZawt7fHpk2bMHbsWPTo0QNvvPEGXF1dkZubi0OHDiE8PBwbN27U6JiRkZEYO3Ys1q9fj4yMDLz00ksQi8U4c+YMIiMjMX36dM6fU0kdnbi4OLz88ssYNGgQ0tLS8Pvvv8PFxUWQ9wAA3n33XWzcuBGjR4/GBx98gBYtWuC7776TJnPruofDxsYG/v7+2LNnD9q3bw9nZ2cEBAQgICDA4P8eiAHRzyQtQtSTTDG9cOEC6+N9+/aVmQrOMAzz/PlzZvHixUzbtm0ZCwsLxsvLi5k3b57M1FGGqZuqyjZVFAAzbdo0mW137txhADCrVq2S2X779m1m3LhxjIeHB2NhYcF4enoyL7/8MrNv3z61r624uJgZO3YsY29vzzg4ODBjx45l0tLSFKaCcz3P0qVLmZCQEMbR0ZGxsbFhOnbsyHz++edMdXW1dJ+amhpmxowZjKurKyMSiWSmwULJVPDCwkKZtrBN+z148CATGBjIWFtbM97e3syKFSuYbdu2KeyXl5fHDB48mLGzs2MASKeFs01jZhiG2bNnD9O9e3fGysqKcXZ2Zt58803m3r17MvvExMQwTZs2VXh/Je3nIikpiYmOjmYcHBwYa2trpl27dsz48eOZixcv8jpPTU0Ns2rVKqZjx46MpaUl4+rqyvznP/9hLl26JN2H6+e0traWWbx4MdOiRQvGxsaG6devH3P16lWmTZs2nKaCy/99SF5LmzZtZLZlZWUxgwcPZmxsbBhXV1dm1qxZzE8//cQAYP7880+V75+yqeBsf199+/ZlLQcg7/z580xQUBBjaWmp8NnUxd8DMX4ihtFBZhkhhBCjsnbtWsycORP37t1TOvOPEENFwQ0hhDRylZWVMvWKnj17hu7du6O2tha3bt3SY8sI4YdybgghpJEbMWIEWrdujW7duqG0tBTffvstbt68ie+++07fTSOEFwpuCCGkkYuOjsaWLVvw3Xffoba2Fv7+/ti9ezdGjRql76YRwgsNSxFCCCHEpFCdG0IIIYSYFApuCCGEEGJSGl3OjVgsxoMHD2BnZ0fltwkhhBAjwTAMnjx5gpYtW8LMTHXfTKMLbh48eKCw6jMhhBBCjMPdu3fRqlUrlfs0uuDGzs4OQN2bY29vr+fWEEIIIYSLsrIyeHl5Se/jqjS64EYyFGVvb0/BDSGEEGJkuKSU6DWh+PTp0xgyZAhatmwJkUiEAwcOqH3OyZMn0aNHD1hZWcHX1xc7duzQejsJkXcqvQDrEm/hTIbmK0cTQgjRLr323JSXl6Nr1654++23MWLECLX737lzB4MHD8aUKVPw3XffITExEZMmTUKLFi0QHR2tgxaTxi6nuBzD4s/hccVz6TYnWwscnBYBr+a2emwZIYQQCYMp4icSifDzzz9j2LBhSveZM2cODh06hKtXr0q3vfHGGygpKcGRI0c4naesrAwODg4oLS2lYSmise5LjskENhJOthZIWzBQDy0ihJDGQZP7t1HVuUlOTkZUVJTMtujoaCQnJyt9TlVVFcrKymR+COHjVHoBa2ADAI8rntMQFSGEGAijCm7y8vLg7u4us83d3R1lZWWorKxkfU5cXBwcHBykPzQNnPB1+V6JysdTcx/rpiGEEEJUMqrgho958+ahtLRU+nP37l19N4kYqW6tHFU+3qO1k24aQgghRCWjmgru4eGB/Px8mW35+fmwt7eHjY0N63OsrKxgZWWli+YRE9e3gxucbC2U5tz09nPVQ6sIIYTIM6qem7CwMCQmJspsO378OMLCwvTUItLYHJwWASdbC5ltktlShBBCDINee26ePn2KzMxM6e937tzB5cuX4ezsjNatW2PevHm4f/8+du3aBQCYMmUKNm7ciI8++ghvv/02Tpw4gR9//BGHDh3S10sgjYxXc1ukLRiIMxmFSM19jB6tnajHhhBCDIxeg5uLFy8iMjJS+ntsbCwAICYmBjt27MDDhw+Rm5srfbxt27Y4dOgQZs6ciXXr1qFVq1bYsmUL1bghOtfbz5WCGkIIMVAGU+dGV6jODSGEEGJ8TLbODSGEEEKIOhTcEEIIIcSkUHBDCCGEEJNCwQ0hhBBCTAoFN4QQQggxKRTcEEIIIcSkUHBDCCGEEJNCwQ0hhBBCTAoFN4QQQggxKRTcEEIIIcSk8Fpbqra2Fjt27EBiYiIKCgogFotlHj9x4oQgjSOEEEII0RSv4OaDDz7Ajh07MHjwYAQEBEAkEgndLkIIIYQQXngFN7t378aPP/6IQYMGCd0eQgghhJAG4ZVzY2lpCV9fX6HbQgghhBDSYLyCm1mzZmHdunVgGEbo9hBCCCGENAivYamzZ88iKSkJv//+Ozp37gwLCwuZx/fv3y9I4wghhBBCNMUruHF0dMTw4cOFbgshhBBCSIPxCm62b98udDsIIYQQQgTBK7iRKCwsRHp6OgCgQ4cOcHV1FaRRhBBCCCF88UooLi8vx9tvv40WLVqgT58+6NOnD1q2bImJEyeioqJC6DYSQgghhHDGK7iJjY3FqVOn8Ouvv6KkpAQlJSX45ZdfcOrUKcyaNUvj48XHx8Pb2xvW1tYIDQ1FSkqKyv3Xrl2LDh06wMbGBl5eXpg5cyaePXvG56UQQgghxMTwGpb66aefsG/fPvTr10+6bdCgQbCxscHrr7+OTZs2cT7Wnj17EBsbi4SEBISGhmLt2rWIjo5Geno63NzcFPb//vvvMXfuXGzbtg29evXCrVu3MH78eIhEIqxZs4bPyyGEEEKICeHVc1NRUQF3d3eF7W5ubhoPS61ZswaTJ0/GhAkT4O/vj4SEBNja2mLbtm2s+58/fx7h4eEYM2YMvL29MXDgQIwePVptbw8hhBBCGgdewU1YWBgWLlwoMxRUWVmJxYsXIywsjPNxqqurcenSJURFRf3bIDMzREVFITk5mfU5vXr1wqVLl6TBTFZWFg4fPqx0KYiqqiqUlZXJ/BBCCCHEdPEallq3bh2io6PRqlUrdO3aFQDw999/w9raGkePHuV8nKKiItTW1ir0Arm7u+PmzZuszxkzZgyKiooQEREBhmFQU1ODKVOm4OOPP2bdPy4uDosXL+bcJkIIIYQYN149NwEBAcjIyEBcXBy6deuGbt26Yfny5cjIyEDnzp2FbqOMkydPYtmyZfjyyy+RmpqK/fv349ChQ/jss89Y9583bx5KS0ulP3fv3tVq+wghhBCiX7zr3Nja2mLy5MkNOrmLiwvMzc2Rn58vsz0/Px8eHh6sz/n0008xduxYTJo0CQDQpUsXlJeX45133sEnn3wCMzPZeM3KygpWVlYNaichhBBCjAfn4ObgwYOcDzp06FBO+1laWiIoKAiJiYkYNmwYAEAsFiMxMRHTp09nfU5FRYVCAGNubg4AtJAnIYQQQrgHN5LgQ0IkEikEEyKRCABQW1vLuQGxsbGIiYlBcHAwQkJCsHbtWpSXl2PChAkAgHHjxsHT0xNxcXEAgCFDhmDNmjXo3r07QkNDkZmZiU8//RRDhgyRBjmEEEIIabw4BzdisVj6/3/88QfmzJmDZcuWSWdHJScnY/78+Vi2bJlGDRg1ahQKCwuxYMEC5OXloVu3bjhy5Ig0yTg3N1emp2b+/PkQiUSYP38+7t+/D1dXVwwZMgSff/65RuclhBBCiGkSMTzGcgICApCQkICIiAiZ7WfOnME777yDGzduCNZAoZWVlcHBwQGlpaWwt7fXd3MIIYQQwoEm929es6Vu374NR0dHhe0ODg7Izs7mc0hCCCGEEEHwCm569uyJ2NhYmVlO+fn5+PDDDxESEiJY4wghhBBCNMUruNm2bRsePnyI1q1bw9fXF76+vmjdujXu37+PrVu3Ct1GQgghhBDOeNW58fX1xZUrV3D8+HFpJeFOnTohKipKOmOKEEIIIUQfeCUUGzNKKCaEEEKMjyb3b94VihMTE5GYmIiCggKZaeIAlK7oTQghhBCibbyCm8WLF2PJkiUIDg5GixYtaCiKEEIIIQaDV3CTkJCAHTt2YOzYsUK3hxBCCCGkQXjNlqqurkavXr2EbgshhBBCSIPxCm4mTZqE77//Xui2EEIIIYQ0GK9hqWfPnuHrr7/GH3/8gcDAQFhYWMg8vmbNGkEaRwghhBCiKV7BzZUrV9CtWzcAwNWrV2Ueo+RiQgghhOgTr+AmKSlJ6HYQQgghhAiCV85Nfffu3cO9e/eEaAshhBBCSIPxCm7EYjGWLFkCBwcHtGnTBm3atIGjoyM+++wzhYJ+hBBCCCG6xGtY6pNPPsHWrVuxfPlyhIeHAwDOnj2LRYsW4dmzZ/j8888FbSQhhBBCCFe81pZq2bIlEhISMHToUJntv/zyC6ZOnYr79+8L1kCh0dpShBBCiPHR+tpSjx49QseOHRW2d+zYEY8ePeJzSEIMQlbhU+Q8qoB386Zo69JU380hhBDCA6/gpmvXrti4cSPWr18vs33jxo3o2rWrIA0jRJdKKqrx/g+XcTqjULqtj58rNozuDgdbCxXPJIQQYmh4JRSvXLkS27Ztg7+/PyZOnIiJEyfC398fO3bswKpVqzQ+Xnx8PLy9vWFtbY3Q0FCkpKSo3L+kpATTpk1DixYtYGVlhfbt2+Pw4cN8XgohAID3f7iMc5lFMtvOZRZhxg9pemnPqfQCrEu8hTP1gi1CCCHc8Oq56du3L27duoX4+HjcvHkTADBixAhMnToVLVu21OhYe/bsQWxsLBISEhAaGoq1a9ciOjoa6enpcHNzU9i/uroaL774Itzc3LBv3z54enoiJycHjo6OfF4KIcgqfCrTYyNRyzA4nVGIO0XlOhuiyikux7D4c3hc8Vy6zcnWAgenRcCrua1O2kAIIcaOV0KxkEJDQ9GzZ09s3LgRQN00cy8vL8yYMQNz585V2D8hIQGrVq3CzZs3FZZ94IISiom8pPQCTNh+Qenj2yf0RGQHxUBbnhD5Ot2XHJMJbCScbC2QtmAgr2OaKsqPIqRx0UpC8ZUrVzg3IDAwkNN+1dXVuHTpEubNmyfdZmZmhqioKCQnJ7M+5+DBgwgLC8O0adPwyy+/wNXVFWPGjMGcOXNgbm6usH9VVRWqqqqkv5eVlXF+HaRxaOOsukfEu7nqG6dQ+Tqn0gtYAxsAeFzxHGcyCtHbz5Xz8UwV5UcRQtThHNx069YNIpEI6jp6RCIRamtrOR2zqKgItbW1cHd3l9nu7u4uHe6Sl5WVhRMnTuDNN9/E4cOHkZmZialTp+L58+dYuHChwv5xcXFYvHgxp/aQxsnHtRn6+LniXGYRaut9vs1FIoT7uqjtFVCVr7NrYgjndly+V6Ly8dTcxxTcQLj3mxBiujgHN3fu3NFmOzgTi8Vwc3PD119/DXNzcwQFBeH+/ftYtWoVa3Azb948xMbGSn8vKyuDl5eXLptMjMCG0d0x44c0md6AcF8XbBjdXeXzhMzX6dbKUeXjPVo7cTqOKTOk/ChCiOHiHNy0adNG44MPHjwYW7ZsQYsWLVgfd3Fxgbm5OfLz82W25+fnw8PDg/U5LVq0gIWFhcwQVKdOnZCXl4fq6mpYWlrK7G9lZQUrKyuN204aFwdbC+yaGII7ReXILi7nnMeR86hC5ePZxdxvtn07uMHJ1kJpzg312gj7fhNCTFeDF85U5fTp06isrFT6uKWlJYKCgpCYmCjdJhaLkZiYiLCwMNbnhIeHIzMzU2YNq1u3bqFFixYKgQ0hmmrr0hSRHdw43yAbmq8j7+C0CDjJ5Y1IZksR4d9vQohp0mpww0VsbCw2b96MnTt34saNG3jvvfdQXl6OCRMmAADGjRsnk3D83nvv4dGjR/jggw9w69YtHDp0CMuWLcO0adP09RJIIybJ1zEXiWS2m4tE6OPnqnEvgldzW6QtGIhvJoZg5ot++GZiCNIWDKRp4P8j9PtNCDFNvOrcCGnUqFEoLCzEggULkJeXh27duuHIkSPSJOPc3FyYmf0bg3l5eeHo0aOYOXMmAgMD4enpiQ8++ABz5szR10sgjRxbvk731o4YFdyKdw5Ibz9XGoZSgm9+FCGk8dBqnRs7Ozv8/fff8PHx0dYpNEZ1boi23Ckqx9UHpdh1PhsXsh9LtzfmacrarEWjaX4UIcS4aX3hTEKIorYuTbHwl2tIzSmR2d4YpynrohZNWxcKaggh7PSec0OIMcsqfIqk9ALcKSqXTlOulesMrT9NubEwtLW6CCGNC6+em9OnT6NXr15o0kT26TU1NTh//jz69OkDAPj444/h7Ozc8FYSYmDYeiYCPFV3kzaWacpUi4YQom+8em4iIyPx6NEjhe2lpaWIjIyU/j5v3jxa0JKYJLaeiesPVC/t0VimKXOpRUMIIdrEq+eGYRiI5KZiAkBxcTGaNm0c/4CTxktZz4T4f6NRZgDE9bZzXcbBVFAtGkKIvmkU3IwYMQJA3fpR48ePl6n8W1tbiytXrqBXr17CtpAQA6OuZ8K/pT2u1uvFEXqasj5Xw65/7tzicly+V4IerZ1kpq03dK0ubbS1sQSWhoyuB9EljYIbBwcHAHU9N3Z2drCxsZE+ZmlpiRdeeAGTJ08WtoWEGBh1PRMbxvQAAMGnKetzNWy2c9cnqaIsKTaoz1o0tGq4YaHrQfSBV52bxYsXY/bs2UY5BEV1bogQxm1NUdozoa0p3/o4p6pzy3OytUDagoEy2/RRi0af7xNRRNeDCEWT+zevhOKPPvpIJucmJycHa9euxbFjx/gcjhCjs2F0d4T7ushsE7Jnov4Uc8nv+ppmruzc8h5XPMcZuZ4dTdfqaqjGMB1f/rNhyBrD9SCGiVdC8SuvvIIRI0ZgypQpKCkpQUhICCwtLVFUVIQ1a9bgvffeE7qdhBgUvquIq6OsC39UcCuVz9PmNHN1OUb1peY+1uuyEaa8argxDu+Y8vUgho1Xz01qaip69+4NANi3bx88PDyQk5ODXbt2Yf369YI2kBBdOpVegHWJtxR6IJQRumdCWfG77eezVT5PmzOQ1OUY1dejtZPW2sGFKc/UMsbCiKZ8PYhh49VzU1FRATs7OwDAsWPHMGLECJiZmeGFF15ATk6OoA0kRBdyissxLP4cHlc8l26TT5LVNlXF7y7mPEZPbyek5pTofAaSstlP8pxsLfS+2KehzNQSmrEWRjTV60EMH6+eG19fXxw4cAB3797F0aNHMXBgXRJhQUEBJekSoyQf2AB1OSRD48/yOt6elFz835407L14l/Nz1HXhx/TybnCeD592Aew5RvVJAkFDoO18KH0w5sKIpng9iOHjNVtq3759GDNmDGpra9G/f38cP34cABAXF4fTp0/j999/F7yhQqHZUkTeqfQCxGy/oPTxbyaGcO6R+OdeCYZ/eR414n//rJqYiXBwWjj8PR1UPjer8Cn6rz6l9PGk2f3Q1qUp5zyfU+kF0jo0jjYWvNtVX/1z33tcgdTcxwp1bgyFKa0azvWzYchM6XoQ/dDk/s0ruAGAvLw8PHz4EF27doWZWV0HUEpKCuzt7dGxY0c+h9QJCm6IvHWJt/Df4xlKH5/5oh8+GNCe07F8Pz4sE0BINDETIXPZILXPF2LaLNsQmzJc20X0j6ZUk8ZO61PBAcDDwwN2dnY4fvw4KisrAQA9e/Y06MCGEDbdWjmqfJxrkuyelFzWwAYAasQMp6EgTbvwJdOCT98qkE4P5hrYaNIuvgxt2vLGxAyM/joZXyZl6vzcDX0vaHiHEO54JRQXFxfj9ddfR1JSEkQiETIyMuDj44OJEyfCyckJq1evFrqdhGhN3w5ucLK1YA0INEmSTb5TrPLxc7eL8Fqwl8p9uE4xV1cxWBNc2qUpQ5u2fD6zEGO2pEh/T856hJVH07Fn8gsIbddcq+cW6r3QVvkBQkwRr56bmTNnwsLCArm5ubC1/XcmyahRo3DkyBHBGkeIrhycFgEnuRuNpkmyYW1V3yTD2ylPyJWnbor5W1v/4jxdXR1N2sWVrqctq5vCXz+wqW/U5j+10p76hH4vdF0YkRBjxKvn5tixYzh69ChatZItLObn50dTwYlR8mpui7QFA3Emo5B3kuyokNb45MBVpTk3QvSO5BSXY8iGsyh7VtPgYwHCtas+XU5b5jKFf2Oi8nwqAPgyKRNTI30FaY88Y53CTYix49VzU15eLtNjI/Ho0SOZlcIJMTa9/VzxwYD2vGf/HJwWjiZmIpltkllJQhgWf07QwEaodtWny2nLXKbwn7tdJP80GUL1gLEx5inchBgzXsFN7969sWvXLunvIpEIYrEYK1euRGRkpMbHi4+Ph7e3N6ytrREaGoqUFPYuZHm7d++GSCTCsGHDND4nqWNoCZ8NYQivxd/TAZnLBmHVyEAM694Sq0YGInPZII2mWwPswyyn0gs4JwrLc7K1wJkPIxvcLi6u3StV+fiNB2UaHU/ZdVX1ftRf50rdsBvXQJbP58uUK/Qawt8bIcrwGpZauXIlBgwYgIsXL6K6uhofffQRrl27hkePHuHcuXMaHWvPnj2IjY1FQkICQkNDsXbtWkRHRyM9PR1ubm5Kn5ednY3Zs2dLl4EgmjG0hM+GMMTX8lqwF6/hHlXDLJfvlXA6hmR68OQ+bRWG2Lya2wo+DCUvs+ipysdvFTzhdBx111Xd+yFZ52r6AD98cfyW0v3UDUk15PNlihV6DfHvjRB5vHpuAgICcOvWLUREROCVV15BeXk5RowYgbS0NLRr106jY61ZswaTJ0/GhAkT4O/vj4SEBNja2mLbtm1Kn1NbW4s333wTixcvho+PD5+X0OgZ4zo1yhjza5H/9qtqmEXdlHUJyfRgtiE2+fNpupYWF0IlVqu7rppM4d8z+QXWfZRt16Qd6nowTG0KtzH/vZHGg1fPDQA4ODjgk08+adDJq6urcenSJcybN0+6zczMDFFRUUhOTlb6vCVLlsDNzQ0TJ07EmTNnVJ6jqqoKVVVV0t/LyjTrEjdFppTkaKyvhe3bbxdPe5XDLGZmIqVT1ptammPjmz00mjrexEwkk/ws1FpaPds6q3w82Fv144D663omo1CjKfyh7Zoje/lgfJmUiTMZhejt58opiVhdO15LOI8L2Y+l293srDAtsh1ierWVbjOlKdzG+vdGGh/Owc2VK1c4HzQwMJDTfkVFRaitrYW7u7vMdnd3d9y8eZP1OWfPnsXWrVtx+fJlTueIi4vD4sWLOe3bWHBJcjSWf6CM7bVkFT5FzqMKfHkiE6m5JTKPXb2vOvBOzX2Mg9MiMDT+rEYLfGYVPsX7P6Thulyui/ysLkkPUdqCgRq8on9fk+SmLcQ1UXeMsVtT0MfPFd9NDMWbW/9ifT/YTI301WhmlLp2XMp5LPN7wZMqLDx4HZ/9dkNhaYu2LsYb1EgY298babw4BzfdunWDSCQCwzAQif6dDSJZvaH+ttraWgGb+K8nT55g7Nix2Lx5M1xcuHVtz5s3D7GxsdLfy8rK4OWl3ZwDQ2dKSY6G+lrkb/hciu6pWwelR2snjaas8yn0J0nE5ZJkqyz3YtZAP5XP43JN1F1XoG4oZPkRNHgKvzJZhU+RV1qpch8lBalRI2YwNP6cyS1tYah/b4TI4xzc3LlzR/r/aWlpmD17Nj788EOEhYUBAJKTk7F69WqsXLmS88ldXFxgbm6O/Px8me35+fnw8PBQ2P/27dvIzs7GkCFDpNvEYnHdC2nSBOnp6Qo5P1ZWVjQ9XY4pJTka2mtRdsOvEYvxV9Yj3seVH2bp7eeq9ibOlhvBhSQRVx1luRcAGnxNlF3X+iRDIXsv3sVrwV6CBTVcgkIzAGI1x5EsbaHtBG5dMrS/N0KU4ZxQ3KZNG+nPsmXLsH79erz77rsIDAxEYGAg3n33XaxduxafffYZ55NbWloiKCgIiYmJ0m1isRiJiYnSoKm+jh074p9//sHly5elP0OHDkVkZCQuX77c6HtkNGFKSY6G9FrYbvhnMwpx/nax0pu0PHtr2e8cmlZKBv7NjeB6zvq4rKWl7PiSgGP2wPYNviZs15XNh/uuoPuSY7hbzD5koumUZS5BYY823NYbU1djxxgZ0t8bMUx+Hx+C99xDaP/xIb21gVdC8T///IO2bdsqbG/bti2uX7+u0bFiY2MRExOD4OBghISEYO3atSgvL8eECRMAAOPGjYOnpyfi4uJgbW2NgIAAmec7OjoCgMJ2opqpJDlKhn8Wv9IZAPT6WpQlW6r7hi9Rf4VntmEW+aEuZW3IeVSB/NJnfF8Gmttaqt1HXe5FcUU1dk0MwelbhUi7y2+4SPIZPX2rEOO2qa59xZYvxGfKsrJrKBE3ogte8GmOti5NMW5rCs5kFKocTtTG0hb6Zir/dhDhvbL+FP5+8G8piGox4D33EIK97LFvmm7LtvAKbjp16oS4uDhs2bIFlpZ1/xBWV1cjLi4OnTp10uhYo0aNQmFhIRYsWIC8vDx069YNR44ckSYZ5+bmwsyM9+LlRA1jTXI0xFob6m746tT/9iuul8zB5bUKuZAml1wRdbkXzrYWGLc1RZDr06e9q9ohKkAxX0jVlOVdE0NYj6HuGno4WEv/XjaM7o4ZP6Qpfc+1sbSFITHWfzuI9tQPbOq7eFf3s5RFDKN5v3VKSgqGDBkChmGkM6OuXLkCkUiEX3/9FSEh7P9wGIKysjI4ODigtLQU9vb2+m5Oo8alJ0KZcVtTlI77K7txNQTXXpP+q08pPYaZSDYB1VwkQo82jhjRwxOACC/4NIeZSLHWTRMzEcQMI/NcEQA/92Y4NrMvAPb3Q1kb/Fva46XOHvjimPLCdqtGBqq9Mb+WcB6Xch4rvCbJkIWQ16e04rnKQEJi5ot++GBAe7XXIml2P9brqMnzJJ+Je48qsOjgNdTKvA/ApreCMLCzYu4gIabI7+NDeK6im9rSDLi1bHCDzqHJ/ZtXz01ISAiysrLw3XffSadsjxo1CmPGjEHTphTJE9Ua2uuiy1obmrRVVbJlSFtnWJibyRwn1McZDAPM239Vuk2+9gygOGUbqJtZdSv/KdrNO4RNbwZx7rGJ8K1r+8Jfr6rc75fL95UGN5L3pH59F4lwXxfMGuiHV+LPKzzG5fooCyIlQyF7LuRizk//KG23JF+I75RlLgmzyj4Tvdo5Y9u5bBQ8qUItA7zzzSW99yYSoiuqAhugbohKl3gX8WvatCneeecdIdtCGgk+wwX1abPWhvzNVdO2sg1VSIabHGwtZPIUFv5yTSEoYQtkVKllgPe+u6Ryn7gRXeDhYC0TMIS1bY4DaQ+UPudsZrHSx9jeEzMAQW2csGtiCJLSC1S2h+36cA0iR/VsjeW/31RbuK8hU5ZVXUNASdJ4ZiEu332M8irZMhiafK4JMWYWZqoDHEsdZ5fwDm7YPHz4EM+fP0fr1q2FPCwxIUL0ughZa+NUegEu3ytBe3c7/PDXXZm29fR2Yu2dUNVWdcmWkjyFfRdzBcmPqWuP6sclCbD1jQppjXk//6O0TgsAfJmUqVDwTlXS9IWcx7hTVM7r+mgSRKoqZCjRkCnLqq6h0tfPgHW19sZcubchw87E+GQsGwzvucpnRzV0SEpTggY3/fv3x61bt7RWxI8YPyF6XYSotcG2QKU8+eqzmrRVXbLl7H3Kh1b4cLJpgrJntaw5Nwt/ucY6NNK5hR3+eaB8EcszGYUKwQ2X6xfZwU2j66NpwMu1kKG6Hhh12K4h36TxxlS51xCT/YluBHvZsyYPB3vpPr9V0OBm165dqKho2IwRYtqE6nVp6I1LXWADKK8+K6Gsreq+sa46wr60iCryycjyHlfWoI+fK2uQoKwHJLpzC5XBjXzAsCclF8dv5CvZu05+6TPcKSrH0mGd8Yrce2xv0wSfD1Ms2cA34FVXyFAbU5a5VE5m05gq9zZ02JkYL8l07/YfH0K1WJgkYr4EDW569uwp5OGICRKqwmlDblyn0gvUBjb1yVejVdZWZd9Y3wjxQkbBE2kPw7d/5XA+N/DvkEvvVUkq97v7iL1InbIekOkD/PDFceUzpiS9Nv/cK8HwL89zygeau/8faZtL5d7jssoafHLgqsINTtsl/YWcsiz5/J7NLFQb/AL6rdyrj2EhWliTAPoLaOrjHdyUlJRg3759uH37Nj788EM4OzsjNTUV7u7u8PT0FLKNxMQ0tNelPk1uXJJ/7E+la5brEtTGCRfqDVEpa+tbW/7CNbnFKU9nFMq8TnvrJqy5GfW9H9kOPX2aS4dcWjvbYmj8WbXtvKOkQq8EWw/InskvYNTmPxX23TP5Ben/cw1s6mMLHpXd4DQJeA0hj2PD6O6YtOsCaz6WPH1U7tXnsBAtrEkMBa/g5sqVK4iKioKDgwOys7MxefJkODs7Y//+/cjNzcWuXbuEbicxIbqucMq3wF39uiyq2ppTXI4hG86qDVoA9qRTebHRHQH8OyzUfckxjXqalGHrAQlt1xzZywfjy6RMaQG8+nk2e1JyVQY2r3b3xE9p9zVqB9sNTl3Aa0h5HA62Ftg7pRde2/S/Oj8s+wS0tMey4V0Q6OWo07YB+h0WooU1iaHgNTkrNjYW48ePR0ZGBqytraXbBw0ahNOnTwvWOGLa2ro0RWQHN40CG/l1grisG8R3AUlJzRbJ1GZlbR0Wf45T0MLF2te7yvyu6RAaoPhHbS4SoY+fq8r3eWqkL354J0whgTj5jvIp4QDwQM2q2WzYbnCSgDdpdj9sn9ATSbP7YdfEEGngouqGrS9bYnoiQknOz42HT1QWSdQWdWt+cV1fiy9JL5y5SCSznctnkBAh8eq5uXDhAr766iuF7Z6ensjLy2twowiRx/bN3cnWQubGz/ZNXt1aQfU52VogfkwPVNWK4WxrgdXHMmSK0bEdn0/wAdRVGGbrD9mf9gCRHd2l57h8r0TjY3f2tMc/9/8dHmvI0Ii6ejgRvq5I5rjaOZf8E7aC6Yaax+Fga4FFQ/1ZKxrXbxvDMDobSuM6LKTN4T0hh50J4YtXcGNlZYWyMsXpXrdu3YKrq2aL4xHCBds3d/mggq3rXd0/9t7NbfGfLh7o1c5FZuaNZDkDdcfnE3wAQIBcAKLsHN1aOWp87Ch/d3z0UkfUiJkG37xGhbTGJweusg5NNTETYVp/X/x155FCvowZADO5asvKZksBqoedDDmPQ13bZvyQiqv1rrO2h9J0ueaXMkIPOxtCnhUxPryGpYYOHYolS5bg+fO6m4tIJEJubi7mzJmDV199VdAGEqKsq10eW9e7un/scx9V4Nr9JzKBjSZd+3yCDydbC6x7g/1brPw5vHhMPf7v8QyM3ZqC7Wez4cxhhW91Dk4LRxMz2WGGJmYiHJwWDqDum7pkPSkJexsLhYDoccVzzNl/hfUcqoadDDmPQ13brsslmGt7KE3dsNDqYxk6G97jM+xcX0lFNcZtTUH/1acwYfsFRH5xEuO2pijMwiOEDa/gZvXq1Xj69Cnc3NxQWVmJvn37wtfXF3Z2dvj888+FbiMRyKn0AqxLvIUzAlXG1RVNC6dlF/8bfEj+sVf2QRczUAhYuPQUSPTt4AYnDb7x2ls3wbxBHZFyR/VQjuQcDVlpXKiblr+nAzKXDcKqkYEY1r0lVo0MROayQfD3dACgmC+z6+0QlFSy34DO3y5WyPtQF0yK/ndjNsQ8DmXBhOTzJt/hpYvcF7ZgU5I/ps98HE0ZYp4VMR68hqUcHBxw/PhxnD17FleuXMHTp0/Ro0cPREVFCd0+IgC2aryS2ilezfkVJdMlTQunyX+T3zC6O97c8ieuPlAcBpKoP7Sh7nyTdl7Ar9MipDd3tuUAlCl7VoOPOFQnNhcBSekFCjdNTTQ0J2VPSi6S7xQjvJ0LXgv2kv4oI5mW/0OK6jo+f2UVy7SHSzBpyHkcbG3zb2nP+fMmNGXDQnzW/NIXQ82zIsajQUX8IiIiEBERoX5Holds1XgfVzzH0PizSFswUE+tUk5+jF1ZHRR5yhJWGTCwsTRXec76AZG689WKgaHx55C5bBAA2eUAfkq9pzIBVx1zUd2QzrhtF6TbnGwtUFb5XO0aUsqou2nJv9/yRfsOpD3AvP3/4OC0cGlAp5rqgEz+ZXAZdtJ1+QBNsLWNYRjWRGMJXQylydeAMuThPXmGnGdFjAPv4ObChQtISkpCQUEBxGLZSg9r1qxpcMOIMFTN5nlc8Vxa28QQsCWVBnjW1Qth+3YsP1tK2Tf593+4jNScEtZzKguINozujpEJ55BRwN5VXyNmsPfiXZmejN5+rvB0tGlQcGNvo1jZt7TiOWytzPG0it+abcpuWiUV1Zi866JMMbq6oK5QIZCqETMyAZ0qoW2dVT7+gk9zmd81KeInZLVhocm3TYhK3EISqjq4LhhTIEYME6/gZtmyZZg/fz46dOgAd3d3iOp1nYsa0I1OhKduNk9q7mODCW7Yxtiv3i/D0I3npDM6HlVUy3xzV/dNXt1U8B6tHVkDIgdbC3T2dFAa3ADAudtFCsM0XHuZ6osb0QUeDtYwF0Gmx0ZCDPAKbCQ3LYZhkJReIPMelVRUI/KLkwqB75nMQihrNltAx8bHtRnCfJojOUuxRk4YywrlwP+GDrf+KTOzyFCGnfjS91Aa2ywjfbeJK2MKxIhh4hXcrFu3Dtu2bcP48eMFbg4RmrrZPD1aO+mmIWqoC0LOZhRKp0hr8k1eXff21P6+SqfAqqvx0l1J9Vm2G4gqL/zvhq8uJ0JToT7OeF4rlhkekQSJk3ZeZO3RUxePsQV0bBLeClJ4DyTnlseWE2ZvXTdt3JhXkdbXUJq6as6GOrwnz1gCMWKYeAU3ZmZmCA8PF7otRAsks3nYbmROthYG02ujLggRA6yJhOpqYDSke7uuxss/qGGrrw8g8UYhYnq1VdjOdgNZ+Ms1td9C1bWVy7pU9d14WKYwxHUuswgTd17AxXprZWkivJ2L+p2g2Y2dLSes7FmNweaEaUrXQ2lcll8w5OE9CWMKxIjh4TUVfObMmYiPjxesEfHx8fD29oa1tTVCQ0ORkpKidN/Nmzejd+/ecHJygpOTE6KiolTuT+pm88hPV5bMljIUXGdESaZIc62BoWqqLpdpxO3d7ZU+djqjELtTcpUuBVG/zoey6bn1v4Wqq1FyaEZvjaadP654rrDuUS3D8A5smpiJpL02XJa9ANTXOuGSE0a40/fyC9rQ0Ho5pHHi1XMze/ZsDB48GO3atYO/vz8sLGT/wd2/fz/nY+3ZswexsbFISEhAaGgo1q5di+joaKSnp8PNzU1h/5MnT2L06NHo1asXrK2tsWLFCgwcOBDXrl2j1ciVqD+bR7LStKH02EhIbuxnMwsVaoPUJ+lp0WRxwA2ju2PKt5dkckDEAGrEYpRWPFc69JFV+BTXHyqfzgsAc/fXTetWtxQE12+hqrriHWwtpNfx/O0inM0oYq1y3FD+LexxK/+JTBE+SdE+oRewNKacMGNAs4wIqSNi2BZzUWP69OnYsmULIiMjFRKKAWD79u2cjxUaGoqePXti48aNAACxWAwvLy/MmDEDc+fOVfv82tpaODk5YePGjRg3bpza/cvKyuDg4IDS0lLY2yv/Vm5IGkv58dKK50pzVeqv0J1V+FTlNNuk2f0U3qdxW1MUAqf6x2Q9TnoBJmxXTPDlQt2x1eHaFX+nqBwH/76P/x7P0Oj4Pb2dcClbcUVrJ1sLnJwdWbfy9cW7OHe7SFrnBvh3WQq24TU+r/VUegFiVLzH30wMoeBGA3z+NggxFprcv3n13OzcuRM//fQTBg8ezKuBEtXV1bh06RLmzZsn3WZmZoaoqCgkJydzOkZFRQWeP38OZ2f26adVVVWoqqqS/s62JpahEvpbsqGT9G5cuVuCj3/+R6YIWv0hHE2/nfItCKZp8UBNjq0O15yIti5NMSSwJefgRhKIsPUQ9WzjhC0xPaWfLfmifdoorGYsOWHGgmYZEVKHV86Ns7Mz2rVr1+CTFxUVoba2Fu7u7jLb3d3dOa8uPmfOHLRs2VJpdeS4uDg4ODhIf7y81M/0MBSNtfx4oJcjfnu/t7Scf9Lsftg1MQQOthbIKnyKvNJKlc+XTxLWZDmF+v7NgdGs/fXN+CFVsLVwlOW5KM/VgUKOTv0hrvpLJiTN7oe97/VSGTTzfR/VMYacMGPCJb+LEFPHq+dm0aJFWLhwIbZv3w5bW/2V71++fDl2796NkydPwtramnWfefPmITY2Vvp7WVmZUQQ4VH5ctveCrRdLnrJvpw2ZMaXptG551x+UseYBaYJLDx57rg57baD6NJk1o63CasaQE2ZMaJYRITyDm/Xr1+P27dtwd3eHt7e3QkJxamoqp+O4uLjA3Nwc+fn5Mtvz8/Ph4eGh8rlffPEFli9fjj/++AOBgYFK97OysoKVlRWn9hgSSgyUxdaLJU/Zt9OGdNUzCosFaLYcQv2FOfleLy7J06puaA62FoJ8VrQ95NHbz5WCGgEZw3RvQrSFV3AzbNgwQU5uaWmJoKAgJCYmSo8pFouRmJiI6dOnK33eypUr8fnnn+Po0aMIDg4WpC1CEDLxl8qP/0tdgb+4EV2khfCU4VsQjC2wkMywqp8n0kzN8gh8g1FNe/C0fUOjwmqEEGPAK7hZuHChYA2IjY1FTEwMgoODERISgrVr16K8vBwTJkwAAIwbNw6enp6Ii4sDAKxYsQILFizA999/D29vb2luTrNmzdCsWTPB2qUJbST+mlJiYEODPnW9WB4O1mqPy6erXllgIUZdDZZvJoagRsxodaFEQ+vBoyEPQogxaNCq4JcuXcKNGzcAAJ07d0b37pp/exs1ahQKCwuxYMEC5OXloVu3bjhy5Ig0yTg3NxdmZv/mPW/atAnV1dUYOXKkzHEWLlyIRYsW8X8xDaBJzRVNGPu3ZKGCPiF7sTTp2VAXWNSIGUR2+LcWkzaCUXWv3VwEhXWjdIGGPAghhoxXnZuCggK88cYbOHnyJBwdHQEAJSUliIyMxO7du+Hqarjj5kLXudFFXQlj/ZYsZE0UZcfq0cYRUyN9tfLeaHpt2er0CDF1n/21160grqpwICGEmBJN7t+8poLPmDEDT548wbVr1/Do0SM8evQIV69eRVlZGd5//31ejTZW2poeW58xlh8Xugw82/RWe5smuJD9WOXyCw2hbjkE+evBNr1aMoW9IdhfuwXrulGmXiaAEEK44NVz4+DggD/++AM9e/aU2Z6SkoKBAweipKREqPYJzhh7boSiy0rH6qr7bp/QU2ZIh6s9KblIvlOM6/dLcbuwQrBKucpoqzeGD0kPnrkIGLdN+XtrSJ85QggRitYrFIvFYoXp3wBgYWEBsVjJEsomyhgSf/VR6bgheTJsQVhOcTnr6tH1aaMGkCEl0EryXJLSC1Tu19jKBBBCiDxew1L9+/fHBx98gAcPHki33b9/HzNnzsSAAQMEa5yxMPSKoPqodMxlSEe+4q6qlb7VBTb1CTEUKK+tS1OcSS/Ee99exNLfrgt+fE2YapkAriuNE0KIOryGpe7evYuhQ4fi2rVr0mq/ubm56NKlCw4ePIhWrVoJ3lChaHPhTEP4di9Pn8NmyoZ0lg7rjPkHrilsrxGL8VfWI4UesE4t7XBVg9WvhX5Nx64+xDvfKham3DouGAP83VmeoX0jN51Hao7swpfaGJbThca2hhohhB9N7t+8ghsAYBgGiYmJ0qngnTp1Urq+kyExxlXBG0JbuS/KsA0pyQd9bLN/zACFFao1pa2bu/fcQ0ofy17esMVjNaVqGQpjDQiEXmmcEGKatJ5zAwAnTpzAiRMnUFBQALFYjLS0NHz//fcAgG3btvE9LBGYroYwVH37rl8TRVVhvIbSxlDgkoPXVD6+9LfrmP+yv6DnVIVtiNFMBAS1cTLKQIDWUCOEaAOvnJvFixdj4MCBSExMRFFRER4/fizzQwyHptOZ+eKa16Nu6rwy9tbscbi9dRNBp13LO5+lej2rs5n8FtTkQ9n0ejEDXMh+bJS5KroopUAIaXx49dwkJCRgx44dGDt2rNDtIVqg7UrHmnz7VteTZCaqu1lLSIYnPh8WgKHxZ2WSip1sLXBwWgS8mmtvZfpePi64mfdU6eMRvrorWGloSzEIwVSTowkh+sUruKmurkavXr2EbgvREm1PZ9bkpqtq6nxIW2dYmJuxBmEOthZIWzAQZzIKkZr7GD1aO+lkBekFQztj2/lspY+/+UIbrbdBwhQDAWMopUAIMT68EornzJmDZs2a4dNPP9VGm7SqsSUU64LQyxQY2qyzxOv5mLjrotLHdZnIa4rJt4ZUKJEQYri0MlsqNjZW+v9isRg7d+5EYGAgAgMDFQr6rVmzhkezdYOCG+3gc9M1tCBGnaW/Xcf3KTmoqJZNf9ZlcGHKgYCxfR4IIbqlleAmMjKS08lFIhFOnDjBaV99oOBGO0z5pithSEttUCBACGlstDIVPCkpqcENI6bLkJYp0BZDSuitP72eEEKILN51bghhY8o3XVNM6CWEEFPEq84NIY2RrmoGEUIIaRgKbgjRgKEvkkoIIYSGpQjRSGPILSKEEGNHwQ0hPJhybhEhhBg7GpYihBBCiEkxiOAmPj4e3t7esLa2RmhoKFJSUlTuv3fvXnTs2BHW1tbo0qULDh8+rKOWcpdV+BRJ6QXSxQxPpRdgXeItnGFZg0lbdHlO+dfL9TFtn5sQQkjjo/dhqT179iA2NhYJCQkIDQ3F2rVrER0djfT0dLi5uSnsf/78eYwePRpxcXF4+eWX8f3332PYsGFITU1FQECAHl6BrJKKarz/w2WZYnZNzESoqbcapLYXfMwpLsew+HM6WWSS7fVKivcxYJQ+JkRhP1XnNpXCgYQQQjTHa20pIYWGhqJnz57YuHEjgLqlHby8vDBjxgzMnTtXYf9Ro0ahvLwcv/32m3TbCy+8gG7duiEhIUHt+bRdoZhtGQI2Tv9bCFIbui85JhPYaPOcqpZdAKDVdZBMcZ0lQggh7DS5f+t1WKq6uhqXLl1CVFSUdJuZmRmioqKQnJzM+pzk5GSZ/QEgOjpa6f5VVVUoKyuT+dGWrMKnOJ1RqDawAYDHFc+1Mlx0Kr2ANbDRxjmVvd5ahsHpjEKVjzV0CEnduWmIihBCGi+9BjdFRUWora2Fu7u7zHZ3d3fk5eWxPicvL0+j/ePi4uDg4CD98fLyEqbxLNSV55eXmvtY8DZcvleis3Nq+nrryy5uWPDBZSkEQgghjZNBJBRr07x581BaWir9uXv3rtbOpa48v7werZ0Eb0O3Vo46O6emr7e+hi5VQEshEEIIUUavwY2LiwvMzc2Rn58vsz0/Px8eHh6sz/Hw8NBofysrK9jb28v8aIuy8vxsnGwt0NvPVfA29O3gBiclybRCn1PdcgTaXKqAlkIghBCijF6DG0tLSwQFBSExMVG6TSwWIzExEWFhYazPCQsLk9kfAI4fP650f11jK8/fxEz2BiyZuaQtB6dFKAQ42jqnquUItL1UAS2FQAghhI3eZ0vt2bMHMTEx+OqrrxASEoK1a9fixx9/xM2bN+Hu7o5x48bB09MTcXFxAOqmgvft2xfLly/H4MGDsXv3bixbtozzVHBtz5aSkC/PfyajEKm5j9GjtZNWemzY6PKcqpYj0PZSBbQUAiGEmD5N7t96D24AYOPGjVi1ahXy8vLQrVs3rF+/HqGhoQCAfv36wdvbGzt27JDuv3fvXsyfPx/Z2dnw8/PDypUrMWjQIE7n0lVwQwghhBDhGF1wo0sU3BBCCCHGR5P7t94rFOuaJJbTZr0bQgghhAhLct/m0ifT6IKbJ0+eAIBW690QQgghRDuePHkCBwcHlfs0umEpsViMBw8ewM7ODiIOU7ZNXVlZGby8vHD37l0apjMgdF0MD10Tw0PXxDBp67owDIMnT56gZcuWMDNTPdm70fXcmJmZoVWrVvpuhsHRdg0gwg9dF8ND18Tw0DUxTNq4Lup6bCRMvkIxIYQQQhoXCm4IIYQQYlIouGnkrKyssHDhQlhZWem7KaQeui6Gh66J4aFrYpgM4bo0uoRiQgghhJg26rkhhBBCiEmh4IYQQgghJoWCG0IIIYSYFApuCCGEEGJSKLhpBOLj4+Ht7Q1ra2uEhoYiJSVF6b6bN29G79694eTkBCcnJ0RFRancn/CjyTWpb/fu3RCJRBg2bJh2G9hIaXpdSkpKMG3aNLRo0QJWVlZo3749Dh8+rKPWNg6aXpO1a9eiQ4cOsLGxgZeXF2bOnIlnz57pqLWm7/Tp0xgyZAhatmwJkUiEAwcOqH3OyZMn0aNHD1hZWcHX1xc7duzQejvBEJO2e/duxtLSktm2bRtz7do1ZvLkyYyjoyOTn5/Puv+YMWOY+Ph4Ji0tjblx4wYzfvx4xsHBgbl3756OW266NL0mEnfu3GE8PT2Z3r17M6+88opuGtuIaHpdqqqqmODgYGbQoEHM2bNnmTt37jAnT55kLl++rOOWmy5Nr8l3333HWFlZMd999x1z584d5ujRo0yLFi2YmTNn6rjlpuvw4cPMJ598wuzfv58BwPz8888q98/KymJsbW2Z2NhY5vr168yGDRsYc3Nz5siRI1ptJwU3Ji4kJISZNm2a9Pfa2lqmZcuWTFxcHKfn19TUMHZ2dszOnTu11cRGh881qampYXr16sVs2bKFiYmJoeBGCzS9Lps2bWJ8fHyY6upqXTWx0dH0mkybNo3p37+/zLbY2FgmPDxcq+1srLgENx999BHTuXNnmW2jRo1ioqOjtdgyhqFhKRNWXV2NS5cuISoqSrrNzMwMUVFRSE5O5nSMiooKPH/+HM7OztpqZqPC95osWbIEbm5umDhxoi6a2ejwuS4HDx5EWFgYpk2bBnd3dwQEBGDZsmWora3VVbNNGp9r0qtXL1y6dEk6dJWVlYXDhw9j0KBBOmkzUZScnCxzDQEgOjqa8z2Ir0a3cGZjUlRUhNraWri7u8tsd3d3x82bNzkdY86cOWjZsqXCh5Pww+eanD17Flu3bsXly5d10MLGic91ycrKwokTJ/Dmm2/i8OHDyMzMxNSpU/H8+XMsXLhQF802aXyuyZgxY1BUVISIiAgwDIOamhpMmTIFH3/8sS6aTFjk5eWxXsOysjJUVlbCxsZGK+elnhui1PLly7F79278/PPPsLa21ndzGqUnT55g7Nix2Lx5M1xcXPTdHFKPWCyGm5sbvv76awQFBWHUqFH45JNPkJCQoO+mNVonT57EsmXL8OWXXyI1NRX79+/HoUOH8Nlnn+m7aUTHqOfGhLm4uMDc3Bz5+fky2/Pz8+Hh4aHyuV988QWWL1+OP/74A4GBgdpsZqOi6TW5ffs2srOzMWTIEOk2sVgMAGjSpAnS09PRrl077Ta6EeDzt9KiRQtYWFjA3Nxcuq1Tp07Iy8tDdXU1LC0ttdpmU8fnmnz66acYO3YsJk2aBADo0qULysvL8c477+CTTz6BmRl9n9c1Dw8P1mtob2+vtV4bgHpuTJqlpSWCgoKQmJgo3SYWi5GYmIiwsDClz1u5ciU+++wzHDlyBMHBwbpoaqOh6TXp2LEj/vnnH1y+fFn6M3ToUERGRuLy5cvw8vLSZfNNFp+/lfDwcGRmZkqDTQC4desWWrRoQYGNAPhck4qKCoUARhJ8MrSMol6EhYXJXEMAOH78uMp7kCC0mq5M9G737t2MlZUVs2PHDub69evMO++8wzg6OjJ5eXkMwzDM2LFjmblz50r3X758OWNpacns27ePefjwofTnyZMn+noJJkfTayKPZktph6bXJTc3l7Gzs2OmT5/OpKenM7/99hvj5ubGLF26VF8vweRoek0WLlzI2NnZMT/88AOTlZXFHDt2jGnXrh3z+uuv6+slmJwnT54waWlpTFpaGgOAWbNmDZOWlsbk5OQwDMMwc+fOZcaOHSvdXzIV/MMPP2Ru3LjBxMfH01RwIowNGzYwrVu3ZiwtLZmQkBDmzz//lD7Wt29fJiYmRvp7mzZtGAAKPwsXLtR9w02YJtdEHgU32qPpdTl//jwTGhrKWFlZMT4+Psznn3/O1NTU6LjVpk2Ta/L8+XNm0aJFTLt27Rhra2vG6//bu/ugqKo3DuDfy8sGy7axLQhoCAHJS4GgWJHAKhGEpVijGL4gJOQMmUPTlDkwRdOk5pTNVE6ZDchYTqZDoA0zYSEIS/ISb8LyogwIRam8TYAIuPv8/mC4442NVOoH7Dyfmf1jz7n33OecZeY+c8+5HGdnSk5Opr6+vv9/4Cbq7NmzRu8RE7/D1q1bSaPRTDrH39+fZDIZubm5UWZm5n8ep0DEz+oYY4wxZjp4zQ1jjDHGTAonN4wxxhgzKZzcMMYYY8ykcHLDGGOMMZPCyQ1jjDHGTAonN4wxxhgzKZzcMMYYY8ykcHLD2CyyYsUKpKSkzHQYd629vR2CIPAO5v+R+Ph4rF27dqbDYGzW4+SGMTZr8c2cMXY3eFdwxhib5fR6PQRBmOkwGJsz+MkNY7OMwWDAG2+8gfvvvx+Ojo5IT0+X1Hd0dCA6OhoKhQJKpRIxMTG4cuWKWJ+eng5/f39kZGRg4cKFUCgUSE5Ohl6vx/79++Ho6Ih58+bhvffek7Tb39+PxMRE2NvbQ6lUIiwsDLW1tVPGWl5ejoCAAFhZWSEwMBDV1dWTjqmvr0dUVBQUCgUcHBywZcsWdHd3i/UnT56Er68vrK2toVarER4ejqGhIaSnpyMrKwu5ubkQBAGCIKCwsHDKeCamxbKzs7Fy5UrI5XIsXrwYP//8s+S4kpIShISEwNraGs7Ozti5cyeGhoYAAJ9++ikeeeQR8dicnBwIgoDPP/9cLAsPD0daWprRGMLCwrBjxw5J2bVr1yCTycTdkfv6+hAXFweVSgW5XI6oqChcvHhRPP7IkSOwtbXFqVOn4OPjg3vuuQcdHR2TrlVRUQF7e3u8//77dzUeQ0NDUCqVOHnypOS8nJwc2NjYYGBgwGi7jM16//nuVYyx26bRaEipVFJ6ejq1tLRQVlYWCYJA+fn5RESk1+vJ39+fgoODqbKyks6fP09Lly6VbFT39ttvk0KhoHXr1lFDQwOdOnWKZDIZRUZG0iuvvEJNTU2UkZFBACSbEIaHh9Pq1aupoqKCWlpa6LXXXiO1Wk09PT1GYx0YGCB7e3vauHEj1dfX0+nTp8nNzY0AUHV1NRER9fX1kb29Pe3evZsaGxupqqqKnnrqKVq5ciUREXV1dZGFhQUdOHCA2traqK6ujg4ePEgDAwM0MDBAMTEx9PTTT4u704+MjEw5fm1tbQSAvLy86Pvvv6fm5mZat24dubi40NjYGBERXbp0iWxsbOijjz6ilpYW0mq1FBAQQPHx8UREVFdXR4Ig0NWrV4mIKCUlhezs7GjDhg1ERDQ6OkpyuZzOnDljNIavv/6aVCoV3bhxQyw7cOAAubq6ksFgICKiNWvWkLe3N507d45qamooMjKSPDw8aHR0lIiIMjMzydLSkp544gnSarXU1NREQ0NDkk1Tf/rpJ7rvvvvo0KFD0xqPpKQkWrVqleS8NWvWUFxc3JRjzdhsxskNY7OIRqOh4OBgSdmyZcto165dRESUn59P5ubm1NHRIdY3NDQQACovLyei8eRGLpfTn3/+KR4TGRlJrq6upNfrxTJPT0/au3cvEREVFxeTUqmU3JCJiNzd3f/25nno0CFSq9U0PDwsln322WeS5Obdd9+liIgIyXmdnZ0EgJqbm+mXX34hANTe3m70Gne6A/rEzfzLL78UyybGp7GxkYiItm3bRi+99JLkvOLiYjIzM6Ph4WEyGAykVqvpxIkTRETk7+9Pe/fuJUdHRyIiKikpIUtLSxoaGjIaw/DwMKlUKjp+/LhY5ufnR+np6URE1NLSQgBIq9WK9d3d3WRtbU3ffvstEY0nNwCopqbG6HhkZ2eTQqGgb775ZtrjUVZWRubm5tTV1UVERFeuXCELCwsqLCycsm3GZjOelmJslvHz85N8d3JywtWrVwEAjY2NcHZ2hrOzs1jv4+MDW1tbNDY2imWurq649957xe8ODg7w8fGBmZmZpGyi3draWgwODkKtVkOhUIiftrY2tLa2Go2zsbERfn5+sLKyEsuCgoIkx9TW1uLs2bOSNr28vAAAra2tWLx4MZ588kn4+vpi/fr1OHz4MPr6+u5ovIy5dQydnJwAQNLXI0eOSGKKjIyEwWBAW1sbBEFAaGgoCgsL0d/fD51Oh+TkZIyMjKCpqQlFRUVYtmwZ5HK50WtbWVlhy5YtyMjIAABUVVWhvr4e8fHx4rhZWFjgscceE89Rq9Xw9PSU/IYymWzS3wIAlJWVYf369Th69Cg2bNgw7fF49NFH8fDDDyMrKwsA8NVXX8HFxQWhoaG31TZjsxEvKGZslrG0tJR8FwQBBoNh2m1M1e7g4CCcnJyMrmmxtbW9o2vfanBwEKtXrza6JsTJyQnm5uY4c+YMSktLkZ+fj08++QSpqakoKyvDgw8+eNfXvbWvEwtxb+3r9u3bsXPnzknnLVy4EMD4K/lffPEFiouLERAQAKVSKSY8RUVF0Gg0U14/MTER/v7++PXXX5GZmYmwsDC4uLjcUR+sra2NLiJ2d3eHWq1GRkYGnnnmmUm/qzFTjcdEvAcPHsSbb76JzMxMJCQk8AJmNqfxkxvG5hBvb290dnais7NTLNPpdOjv74ePj89dt7tkyRL88ccfsLCwgIeHh+RjZ2f3t7HU1dXhxo0bYtn58+cntdvQ0ABXV9dJ7drY2AAYv9kuX74c77zzDqqrqyGTyfDdd98BGH96odfr77pff9dXnU43KR4PDw/IZDIAgEajgU6nw4kTJ7BixQoA4wnPjz/+CK1WK5b9HV9fXwQGBuLw4cM4duwYXnzxRbHO29sbN2/eRFlZmVjW09OD5ubm2/oN7ezsUFBQgEuXLiEmJgZjY2N3Pgh/sXnzZly+fBkff/wxdDodtm7dOu02GZtJnNwwNoeEh4fD19cXmzZtQlVVFcrLyxEXFweNRoPAwMBptRsUFIS1a9ciPz8f7e3tKC0tRWpqKiorKwGMvxnl5eWF3377DQCwceNGCIKApKQk6HQ65OXl4YMPPpC0+/LLL6O3txexsbGoqKhAa2srfvjhByQkJECv16OsrAx79uxBZWUlOjo6kJ2djWvXrsHb2xvA+PRaXV0dmpub0d3d/a/cyHft2oXS0lLs2LEDNTU1uHjxInJzcyVvOPn5+UGlUuHYsWOS5CYnJwcjIyNYvnz5P14nMTER+/btAxHhueeeE8sfeughREdHIykpCSUlJaitrcXmzZuxYMECREdH31Yf5s2bh4KCAjQ1NSE2NhY3b968s0H4C5VKheeffx6vv/46IiIi8MADD0yrPcZmGic3jM0hgiAgNzcXKpUKoaGhCA8Ph5ubG44fPz7tdvPy8hAaGoqEhAQsWrQIL7zwAi5fvgwHBwcAwPXr19Hc3CwmGAqFAqdPn8aFCxcQEBCA1NTUSdNP8+fPh1arhV6vR0REBHx9fZGSkgJbW1uYmZlBqVTi3LlzWLVqFRYtWoS0tDR8+OGHiIqKAgAkJSXB09MTgYGBsLe3h1arnVY/gfHEpaioCC0tLQgJCUFAQADeeustzJ8/XzIeISEhEAQBwcHB4nlKpRKBgYHiU6epxMbGwsLCArGxsZJ1SQCQmZmJpUuX4tlnn0VQUBCICHl5ebc1xTTB0dERBQUFuHDhAjZt2jTtJ1zbtm3D6Oio5CkTY3OVQEQ000EwxpipaW9vh7u7OyoqKrBkyZKZDucfHT16FK+++iq6urrE6TnG5ipeUMwYY/+isbEx9PT0IC0tDY8//visT2yuX7+O33//Hfv27cP27ds5sWEmgaelGGNzxp49eySvcN/6mZjKmmlarRZOTk6oqKiQ/Ffj2Wr//v3w8vKCo6Mjdu/ePdPhMPav4Gkpxtic0dvbi97eXqN11tbWWLBgwf85IsbYbMTJDWOMMcZMCk9LMcYYY8ykcHLDGGOMMZPCyQ1jjDHGTAonN4wxxhgzKZzcMMYYY8ykcHLDGGOMMZPCyQ1jjDHGTAonN4wxxhgzKf8Do7j3Axp+x9QAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot encoded column - home.dest\n", "fig, ax = plt.subplots(2, 1);\n", "train_t.plot(\n", " kind='scatter',\n", " x='home.dest_new york ny',\n", " y='home.dest_london',\n", " sharex=True,\n", " title='Home destination encoding in train',\n", " ax=ax[0]\n", ");\n", "test_t.plot(\n", " kind='scatter',\n", " x='home.dest_new york ny',\n", " y='home.dest_london',\n", " sharex=True,\n", " title='Home destination encoding in test',\n", " ax=ax[1]\n", ");" ] }, { "cell_type": "markdown", "id": "ec0eb139-1148-478c-9cec-a04000505be7", "metadata": {}, "source": [ "# Note on dimensionality reduction" ] }, { "cell_type": "code", "execution_count": 19, "id": "2d2077be-4c12-4fc7-ab09-11b37040d89e", "metadata": {}, "outputs": [], "source": [ "# These encoded columns could also be compressed further to reduce dimensions\n", "# since they are not boolean, but real numbers\n", "from sklearn.decomposition import PCA" ] }, { "cell_type": "code", "execution_count": 20, "id": "2ee816f1-1d64-44ee-b2d8-fd25155afa30", "metadata": {}, "outputs": [], "source": [ "# defining encoder for home destination\n", "encoder = StringSimilarityEncoder(\n", " top_categories=None,\n", " handle_missing='impute',\n", " variables=['home.dest']\n", ")" ] }, { "cell_type": "code", "execution_count": 21, "id": "b9045a39-d35e-4ccd-886f-1480cf68a69a", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
StringSimilarityEncoder(variables=['home.dest'])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "StringSimilarityEncoder(variables=['home.dest'])" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# refiting the encoder\n", "encoder.fit(X_train)" ] }, { "cell_type": "code", "execution_count": 22, "id": "2bd5106b-0789-49f8-9307-3e1533f31fbd", "metadata": {}, "outputs": [], "source": [ "# transform the data\n", "train_t = encoder.transform(X_train)" ] }, { "cell_type": "code", "execution_count": 23, "id": "ba89c8a9-197b-4c01-85ef-8266d0481d73", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(916, 295)" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# check the shape (should be pretty big)\n", "train_t.shape" ] }, { "cell_type": "code", "execution_count": 24, "id": "a15b4b54-b639-486e-949b-12f4478b2cf5", "metadata": {}, "outputs": [], "source": [ "# take home.dest encoded columns\n", "home_encoded = train_t.filter(like='home.dest')" ] }, { "cell_type": "code", "execution_count": 25, "id": "a79c2290-af43-4c56-b9b5-9816c122a369", "metadata": {}, "outputs": [], "source": [ "# defining PCA for compression\n", "pca = PCA(n_components=0.9)" ] }, { "cell_type": "code", "execution_count": 26, "id": "b4088787-6492-4850-84d2-5eef2049c4ba", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
PCA(n_components=0.9)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "PCA(n_components=0.9)" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# train PCA\n", "pca.fit(home_encoded)" ] }, { "cell_type": "code", "execution_count": 27, "id": "b4e1b8fd-e2fc-4779-8f8f-06ad4e3699f1", "metadata": {}, "outputs": [], "source": [ "# transform train and test datasets\n", "train_compressed = pca.transform(home_encoded)" ] }, { "cell_type": "code", "execution_count": 28, "id": "dc2e2442-b1a5-4a4f-9711-149f94262ede", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(916, 1)" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# check compressed shape (should be way smaller)\n", "train_compressed.shape" ] }, { "cell_type": "code", "execution_count": null, "id": "07ad2203-483b-474d-89cd-5332f2ebb92c", "metadata": {}, "outputs": [], "source": [] } ], "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.10.6" } }, "nbformat": 4, "nbformat_minor": 5 }