Skip to content

Instantly share code, notes, and snippets.

@mdouze
Created November 2, 2022 08:55
Show Gist options
  • Save mdouze/eedf3d9afe78d09e5ee42e1931052b05 to your computer and use it in GitHub Desktop.
Save mdouze/eedf3d9afe78d09e5ee42e1931052b05 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"dataExplorerConfig": {},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3"
},
"outputWidgetContext": {}
},
"nbformat": 4,
"nbformat_minor": 2,
"cells": [
{
"cell_type": "markdown",
"metadata": {
"originalKey": "7e40ea9f-94c0-4a26-bc96-10f5c75c303d",
"showInput": false,
"customInput": null
},
"source": [
"This script demonstates how to speed up a recommendation system. \n",
"\n",
"Conceptually, the queries vectors are users and the database vectors are items to recommend.\n",
"The metric to \"compare\" them is maximum inner product, ie. which item is the most relevant for each user.\n",
"\n",
"There is a real-time constraint for this use case (should be returned in < 5 ms) and the accuracy should be as high as possible."
],
"attachments": {}
},
{
"cell_type": "code",
"metadata": {
"collapsed": false,
"originalKey": "380eef4d-f5fb-4e78-8c25-774200f5af88",
"requestMsgId": "380eef4d-f5fb-4e78-8c25-774200f5af88",
"customOutput": null,
"executionStartTime": 1665439856859,
"executionStopTime": 1665439953624
},
"source": [
"import time\n",
"import numpy as np\n",
"from collections import defaultdict\n",
"import faiss\n",
"from matplotlib import pyplot\n",
"from faiss.contrib.evaluation import knn_intersection_measure\n",
"\n",
"import matplotlib\n",
"matplotlib.style.use('default')"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"originalKey": "e2bd1c89-0ee0-427b-a0e4-ba16550064b6",
"showInput": false,
"customInput": null
},
"source": [
"## Load data from disk\n",
"The data is a set of query vectors and database vectors, can be as large as needed.\n",
"The data (in 64D) is proprietary but typical for recommender use cases. "
],
"attachments": {}
},
{
"cell_type": "code",
"metadata": {
"originalKey": "31b82650-fb77-4d2d-9ff5-07f07e64f95d",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "31b82650-fb77-4d2d-9ff5-07f07e64f95d",
"customOutput": null,
"executionStartTime": 1665436515024,
"executionStopTime": 1665439952288
},
"source": [
"# load the data \n",
"xq_all = np.load(\"/data/users/matthijs/recommender/xq.npy\").astype(\"float32\")\n",
"xb_all = np.load(\"/data/users/matthijs/recommender/xb.npy\").astype(\"float32\")"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"originalKey": "1bd80e27-a5bb-423a-9370-d7aad68f05d5",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "1bd80e27-a5bb-423a-9370-d7aad68f05d5",
"customOutput": null,
"executionStartTime": 1665436546018,
"executionStopTime": 1665439952301
},
"source": [
"# prepare a reasonably sized subset \n",
"\n",
"xq = xq_all[:10000]\n",
"nb = 2_000_000\n",
"xb = xb_all[:nb]"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"originalKey": "90b64338-ccc7-435e-9149-8e3facaaf8fd",
"showInput": false,
"customInput": null
},
"source": [
"# Distribution"
],
"attachments": {}
},
{
"cell_type": "markdown",
"metadata": {
"originalKey": "c1e7802e-acbe-476d-9b69-ddd7890d8f7a",
"showInput": false,
"customInput": null
},
"source": [
"We start by extracting some stats about the data distribution and the ground truth. "
],
"attachments": {}
},
{
"cell_type": "code",
"metadata": {
"originalKey": "4b7c49cf-880e-4834-ac71-38abfad0103f",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "4b7c49cf-880e-4834-ac71-38abfad0103f",
"customOutput": null,
"executionStartTime": 1665440066267,
"executionStopTime": 1665440070115
},
"source": [
"print(faiss.MatrixStats(xb).comments)"
],
"execution_count": 240,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"analyzing 2000000 vectors of size 64\nno NaN or Infs in data\nall vectors are distinct\nrange of L2 norms=[0.115427, 40.9046] (0 null vectors)\nvectors have very large differences in norms, is this normal?\nmatrix contains no 0s\nno constant dimensions\nno dimension has a too large mean\nstddevs per dimension are in [0.353802 0.55366]\n\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"originalKey": "78da83f3-308f-42b4-ba9a-f41352cb3541",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "78da83f3-308f-42b4-ba9a-f41352cb3541",
"customOutput": null,
"executionStartTime": 1665440036756,
"executionStopTime": 1665440054446
},
"source": [
"# compute the ground truth, we need the 100 stongest responses\n",
"Dref, Iref = faiss.knn(xq, xb, k=100, metric=faiss.METRIC_INNER_PRODUCT)"
],
"execution_count": 236,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"originalKey": "ab1238f2-029b-403d-ba6d-00988ddeeffe",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "ab1238f2-029b-403d-ba6d-00988ddeeffe",
"customOutput": null,
"executionStartTime": 1665440054543,
"executionStopTime": 1665440059520
},
"source": [
"bc = np.bincount(Iref.ravel(), minlength=len(xb))\n",
"bc.sort()\n",
"pyplot.loglog(bc[::-1])\n",
"pyplot.xlabel(\"sorted database vector\")\n",
"pyplot.ylabel(\"nb occurrences in results\")\n",
"pyplot.grid()"
],
"execution_count": 237,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 640x480 with 1 Axes>",
"image/png": "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\n"
},
"metadata": {
"bento_obj_id": "139715821678352"
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"originalKey": "686c15f0-dbdf-4b6b-9f66-8f2232f8cd76",
"showInput": false,
"customInput": null
},
"source": [
"Less than 10k vectors are actually returned (out of a total of 100 * 10k = 1M resutls)"
],
"attachments": {}
},
{
"cell_type": "markdown",
"metadata": {
"originalKey": "b35e6805-25e2-4a24-9885-f8e03bcb1351",
"showInput": false,
"customInput": null
},
"source": [
"### Histogram of database vector norms"
],
"attachments": {}
},
{
"cell_type": "code",
"metadata": {
"originalKey": "05a12825-2c17-40ee-9c2e-478ab3f3b6e0",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "05a12825-2c17-40ee-9c2e-478ab3f3b6e0",
"customOutput": null,
"executionStartTime": 1665440059584,
"executionStopTime": 1665440062140
},
"source": [
"pyplot.hist(np.sqrt((xb ** 2).sum(1)), 100, log=True) \n",
"pyplot.grid()\n",
""
],
"execution_count": 238,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 640x480 with 1 Axes>",
"image/png": "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RXd3t3p6ekZcx/T0dJWWlsbFdZSk48ePa/HixVqxYoUef/xx/epXvzK7SdMyMDAgScrIyJAknT59WsFgcMS1+/KXv6zc3FzbXbvRtQ370Y9+pMzMTK1cuVINDQ0aGhr7eHorC4VCevnll+X3+1VWVhZX10zj1DfMztfN7Xbr/vvvH3GNZLPfN2svETfLrly5olAopKysrBH7s7KydP78edPaFQulpaVqbm7WihUr9PHHH2vnzp266667dPbsWS1cuNDs5sVUT0+P9Pl1u15WVlbkNTu79957tXnzZt1222368MMP9Zd/+ZeqqqrSyZMnlZycbHbzpiwcDuupp57S7/3e72nlypXS59cuJSVFixYtGvFeu1278WqTpOrqai1fvlzZ2dl677339Bd/8Re6cOGC/uVf/sXU9k7F+++/r7KyMn366adasGCBWlpalJ+fr87Ozri4ZjeqTza/bi+//LLOnDmj9vb2Ma/Z6fctocPJjRiGIYfDYXYzZqSqqiry79WrV6u0tFTLly/XP/3TP+mP/uiPTG3bXDEMY9LHctvBH/7hH0b+vWrVKq1evVpf/OIXdfz4ca1bt87UtkXD7Xbr7NmzUxr7ZLffwRvV9thjj0X+vWrVKi1dulTr1q3Thx9+qC9+8YsmtHTqVqxYoc7OTvX39+uf//mfVVNToxMnTtzw/Xa7ZjeqLz8/37bX7eLFi3ryySf12muvaf78+VP+OiteO/v/l3sGMjMzlZycPGakcl9f35j/C7e7RYsW6c4771RXV5fZTYm5JUuWSFJCXEdJuv3225WZmWmra1lXV6dXXnlFb7zxhpYtWxbZv2TJEl27dk39/f0j3m+na3ej2sZTWloqSba4dikpKfrSl76koqIi7dq1SwUFBfrbv/3buLhmmqC+8djlup0+fVp9fX0qLCzUvHnzNG/ePJ04cULf+973NG/ePGVlZdnm2iV0OElJSVFhYaFaW1sj+8LhsFpbW0f0PcaDwcFBffjhh1q6dKnZTYm52267TUuWLBlxHX0+n372s5/F3XWUpF/+8pf61a9+ZYtraRiG6urq1NLSotdff1233XbbiNcLCwvldDpHXLv/+q//0kcffWT5azdZbePp7OyUJFtcu9HC4bACgYCtr9lEhusbj12u27p16/T++++rs7Mz8qeoqEhf//rXI/+2zbUze0Su2V5++WUjJSXFaG5uNs6dO2c89thjxqJFi4yenh6zmzYjf/Znf2YcP37c6O7uNt58801j/fr1RmZmptHX12d206bl6tWrxjvvvGO88847hiRj9+7dxjvvvGP893//t2EYhvH8888bixYtMg4fPmy89957xoMPPmjcdtttxq9//Wuzmz6piWq7evWq8fTTTxsnT540uru7jZ/85CfGV7/6VeOOO+4wPv30U7ObPqnHH3/cSE9PN44fP258/PHHkT9DQ0OR93zzm980cnNzjddff93o6OgwysrKjLKyMlPbPRWT1dbV1WX81V/9ldHR0WF0d3cbhw8fNm6//Xbj7rvvNrvpk2poaDDa2tqM7u5u47333jPq6+sNh8NhvPbaa4Zh42s2bKL67HzdxjN65pFdrl3ChxPDMIy/+7u/M3Jzc42UlBSjpKTEePvtt81u0oxt2bLFWLp0qZGSkmLceuutxpYtW4yuri6zmzVtb7zxhiFpzJ+amhrD+Hw68bPPPmtkZWUZLpfLWLdunXHhwgWzmz0lE9U2NDRkVFRUGF/4whcMp9NpLF++3Ni2bZttwvN4dUky/v7v/z7ynl//+tfGt771LePmm282UlNTjYceesj4+OOPTW33VExW20cffWTcfffdRkZGhuFyuYwvfelLxjPPPGMMDAyY3fRJfeMb3zCWL19upKSkGF/4wheMdevWRYKJYeNrNmyi+ux83cYzOpzY5do5jN/8kgEAAFhCQo85AQAA1kM4AQAAlkI4AQAAlkI4AQAAlkI4AQAAlkI4AQAAlkI4AQAAlkI4AQAAlkI4AQAAlkI4AQAAlkI4AQAAlkI4AQAAlvL/Ae13bWQiWQQNAAAAAElFTkSuQmCC\n"
},
"metadata": {
"bento_obj_id": "139711132610768"
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"originalKey": "e2057a55-924c-4f43-b22b-33f5337bcf2f",
"showInput": false,
"customInput": null
},
"source": [
"### Correlation between norms and likelihood to be returned"
],
"attachments": {}
},
{
"cell_type": "code",
"metadata": {
"originalKey": "318cf31b-5371-4ef4-a51a-e8867188221a",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "318cf31b-5371-4ef4-a51a-e8867188221a",
"customOutput": null,
"executionStartTime": 1665471933421,
"executionStopTime": 1665471943162
},
"source": [
"norms = np.sqrt((xb ** 2).sum(1))\n",
"bc = np.bincount(Iref.ravel(), minlength=len(xb))\n",
"pyplot.semilogy(norms, bc, '+')\n",
"pyplot.xlabel(\"vector norm\")\n",
"pyplot.ylabel(\"numer of times returned\")\n",
"pyplot.grid()"
],
"execution_count": 254,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 640x480 with 1 Axes>",
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjoAAAGwCAYAAACgi8/jAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOy9eVhb953v/2ZfBAIEiFXsxpjFxjaLTRgntkOI09Rx3cwljpvk1uNJ07rESdy5T5qZpk3n1/xyb5qxE8bTtJPxbdO6DvdmPI6b2LEpxiGON7yAWYyxWMUqQCAJAWK9fxx9j86RjjYWs31fz5MHEOLoe44Uf9/ns7w/TtPT09OgUCgUCoVCWYY4L/QCKBQKhUKhUOYLKnQoFAqFQqEsW6jQoVAoFAqFsmyhQodCoVAoFMqyhQodCoVCoVAoyxYqdCgUCoVCoSxbqNChUCgUCoWybHFd6AUsNFNTU+js7ISvry+cnJwWejkUCoVCoVDsYHp6GlqtFuHh4XB2thy3WbFC5+jRozh69CjGxsbQ2Ni40MuhUCgUCoUyAxQKBSIjIy3+3mmlOyOr1Wr4+/tDoVBALBbPyTHHx8dx/vx5PPbYY3Bzc5uTYy4W6LktXZbz+dFzW5os53PDMj+/xXBuGo0GMpkMg4OD8PPzs/i8FRvRIZB0lVgsnlOh4+3tDbFYvCw/3PTclibL+fzouS1NlvO5YZmf32I6N1tlJ7QYmUKhUCgUyrKFCh0KhUKhUCjLlhUrdI4ePYrk5GRkZmYu9FIoFAqFQqHMEytW6Bw4cAB1dXWoqKhY6KVQKBQKhUKZJ1as0KFQKBQKhbL8oUKHQqFQKBTKsoUKHQqFQqFQKMuWFSt0aDEyhUKhUCjLnxUrdGgxMoVCoVAoy58VK3QoFAqFQqEsf6jQoVAoFMqsUGpGcbikAUrN6EIvhUIxgwodCoVCocwKpVaP90vvQ6nVL/RSKBQzqNChUCgUCoWybFmx08uPHj2Ko0ePYnJycqGXQqFQKEsOpWaUjeDUdKh5XwFA6usBqdhzwdZHoRBWrNA5cOAADhw4AI1GAz8/v4VeDoVCoSwpjl9rw/ul93mPvX6ymv3+4PZVeDUvcQFWRqHwWbFCh0KhUCgzZ292FPKSQwBDJOf1k9V4Z3caUiOYG0epr8cCr5BCYaBCh0KhUCgOIxV7mqWmUiP8WKFDoSwWaDEyhUKhUCiUZQsVOhQKhUKZFVJfDxzcvoqmqyiLEip0KBQKhWKGIyaAUrEnXs1LpF1WlEXJihU6dKgnhUKhWMaSCSB1QaYsNVas0KFDPSkUynLiQQmQle6CTIXe0oN2XVEoFMoygAiQvOSQGaeQ7DEBXOnMxXWmPFio0KFQKBQKYIcJ4K514dgUHwhYcEFWakZx/Fob9mZHPVARMN+vyz3+UmOh3pPFBBU6FAqFskSZ6zEMlkwAy+4pca62B6eqOnGqqhOw4IK8UNGO+X7d+m4N3i+9j9ggEUbHmbFBS2XcxUyuzXITR1ToUCgUyhJlrscwWDIBDPf3xLnaHhzKS8R7JQ0A8EBckBfLhnu2uhsA8EpxJfvYch53sdzSc1ToUCgUyhJlPscwqHRjAAC5coiNYoxNTrG/93Z3RkldD/JTQqDU6qHU6ud8uKfphmuaQprPoaLcaFlssAgAULgtAZgGisrkeGNHEnISgtjXWkzQgat8qNChUCiUJcp8jmEob+gFTKIYRRfk7PcnritwpUmF1n4dTlV28v52vqIdXOFTUtczb0NFlZpRFJ64jWvNKt7j3PNv7tfhxYfjZ3T8+WYmkb7lLI6o0KFQKBSKGS9uicOu9RE4frUVJyoUZr+/0mQUAZ8X5gJzFFWytuHKlUPs8+YzmqXU6nGtWYUjBelIkPrwju/p5oJXiiuxIzVsxsefb2ZybZbzNPoVK3SOHj2Ko0ePYnJycqGXQqFQKLNmrscwkGjRq3mJyI4LxCvFldiXE4Njl1tQuDUBcGIiHMnhYvZvwv29gFlGlWxtuDBs3txNm3w/10NFE6Q+vOOlRvix1zkp1HfOXmeumUmkbzlPo1+xQufAgQM4cOAANBoN/PzotF0KhbK0IaJkPo6bIPUBAHSoRwAwNSqEt8/Us9/vyZLZPB63zibAy8Xs99wN97K8D2+frTd7jmmkgTx/NtgbSbJ2nRdL8fRMWM7T6Fes0KFQKBSKfZAoRnywCOdqe3CkIB2j45Nmd/3OToDU19Pq3T+3zibAy9v8tTgbLhEYh/ISsTVJajXSMNtolq1IUnasxObxF2O3Eh24SoUOhUKhUGxAohhKzSgObl+FnPhANvphetefHD73EQCZxNsshWQaaZhtNEsokvTGjiQkhYlxtqYLz22KXjTixRFmEulbbuKICh0KhUKh2AV307Q268o0hWMpLTQxMQHFEHOsCIkb+7fkuUrtKPu1pkPNSyE5gj0pJaFIklTsCYnIHSeuK7A3O9risS2lvCYmJqAem9GSF5T5SoMuFFToUCgUCsVhrN3113dr8X7pfWyMDoBU7GkjLeQKfZACh/LXABZSSNw6IJJCcqQexpGUklIzirPVXTbPn2Ar5fV4pDP22H00ynxAhQ6FQqE8QJZKwaqtdVq76ydmg+SrpY6epBARLl26hO9kGouYeSmkxj68faYebzyRhJx4ozmfVOyJmg71nNbDkMiMXDmEc3U9AIA77YNoNER3Lsv7jOfO8ZSx1q00MTGBO9cvzXptlNlBhQ6FQqE8QBZjwaoQttZpLT1FxEGjcohN45gazqVG+GG11ButPvzWZcEUkq+nw90/3PVcbuzjfRVaj1Bk5tg3Lez33O4vrqeMtW6l8fFxtLo7tGzKPECFDoVCoVAcxlQI/a68CR9dauY9p6hMzrai78+NxT89mTy713TAvddWCowrVpSaUWyMDsCRgnQ0KofYNRdkyACnaRRXtDs88kGpGcUfrzQjeAnW6Cw3qNChUCiUeWY29vpKrR5nFc7I4BTsLsZ12outjh5eMbJmlP1a06HG8WutOHGd79Jsyb13b3YUXJ2d8F5JA/LWhKDkbg8KtyUgPyWUXQdBSBQBQPEN42vlJATZjCpxz02p1aOorAk/SbPrslDmESp0KBQKZZ6Zqb2+UjOKDy7I8WW7M17S6hEh8VnQde7PjcWu9REARwAdLmnAU+nh6BvS44Nn0hEX7INztd0ouiAXFBbc2p7x8XG71sBNG+3JlGHvpmirnjpKzSh+V94EF2cnw19N874AQN+Qnk29CdXZAMCRgnTAZN6XNci51XWq8fp/3rHrb+xhqdR1LVZWrNChIyAoFMqDYqb2+kqtHsU3OhbNOk/d7sCTRfzi2tJ6JUrrlQAAL3cX7EyPYGtr4oN9HK6tsedamdb6cF+jrlON0rtKXhqt5C6zPm4qbU+mDCcqFMhLDmFGO5gIiD1ZMuTEBwIOmBGSaFRZvRI1nRoAQLvOCbWdGri6us44IrZU6roWKytW6NAREBQK5UFhy15fqRnF4ZIGs8Jerm8M2Swxj5Okba1T6uuBXesjoNKN4Xfljbgk7wcMzsXvlTSwgy4lIibF5uw0zTuvuViDLd76S53Z1HHescLFeOe7a6HS6QWHlRL2ZhsNAu31lBGKRn3S5IJPfnMVWOKDMZdyVGnFCh0KhUJZLHDv2AHg8F8bzGpR/vGzOvb7hdowud1QROQAQHOfDgBQ0aJi80P7c2Ph7+2O90ur5iUSYVrrQ8Th3mwZYoK8UVzRjlCxB7o1emTEBOBGywB+sCUOKeHMMM7OQab+p6ZDDZVOj7PV3Xhuc/SMXYHrOtUIFLnhUF4ibisGcKG+FwCwKXgSm9euRmywDzbFBVo9BldMgGPKOF/1Uo6wlKNKVOhQKBTKA8TWRnr8WpuZyOGyJ1PGboQzwd47c0vrFIpanLzNpNeKLhiHfR7cvgoS0exGCFi7VqY+PkLr6tYwQuFGywAAQDM6jpc/qeI9h1uDNDI+iSPPrJ+RiLQUSbra64KrpXJkx0qwMz3C6jG4YqKkrmdGdV0Uc6jQoVAolAcId26U6Z16TYeabXPWjIzjzdO17N+993QaVof5zfpO3t47c1MhodSMor5bg0CRGwoyZLyOpIxof9xoHcS+h2KQLvPD1LQTJCK3WUciHBlFYKmgGACe3yRDdYcW30oLY0c5cOt/erV6vFfSgEHdGOo61ThX28NLI9ojDH/+7WQ09DCpxvKGXlb8PRE5ge2b1mONgzPAZlrXNZcsl/EWVOhQKBTKAmCrw2l7ktTsbx50uoKLpRZsALjROggYIiKNvcOzjkTMpB6EPE+p1cPTzYV9PDbQGyFiT3x8VYGp6WlWKKh0zAbu6eaCsYkpAMDF+33YGKM0jK/wZ4SOSVrRdF3ctXIHmp683YG8NcHY5N2FnevC4OYmbA1gSUxwBQ353pFapblguYy3oEKHQqFQFgChO/btSVK2g4l8JRz6tHrG6Yq58MfZmx2FjdH+UOnG0dg7xEtTfS87Cn+61oYdqWFICvWddSRipvUgQhtzc/8w3j3PPHa2uhtbEhkBefImE3ExbR1/r6QBAPDna23scwmmM7xsrfXxlFC4dlifm2WP9QC5ng+a5TLeggodCoVCmSMciUQIdRe9kBPNChmysTwUL8HoYB8OfCsDqZEBM1rXTH18LK23pkPNCp09mTI8mx2FQB8PJIX6zrprajaQjVml0+N35U24JO9H4dYEwImpH4oNFrECT2/DWqSuS4OPL7eglyMQyfctfTpsSQy2+LeJIT7IjpUgQSpCiw13AHtTVDMpkJ4ty2W8BRU6FAqFMkfMtjNFIvIwEwS710fg0KcqSETuM05bzWe9x95N0UgO9+OlbWbCrNyjOQKTnNPJW4YC6TJj5Ik7AmJXerjV9bSpRng1Ulxh+J+32iH2YlJRSq2xe4u71uIfbMb4+Dhabguvk5wLV0yQdFq4v/lsL1p4PHOo0KFQKJQFxtkJyI6VgDXytcJM61fmMsoi9fXA/txY9ntrz7MUiajrVOMXp2vwsJj5eTZRJyGBuT4qAKcqO3EoLxHBvh5m4k6lG8Opyk4cKUjHzVYV/ni1jfk7mT9uKwaRER2AjOgAXKhXooHjZwQAVe1qs5SXXU7XNoSwSjfO+7qYmGnb/WKACh0KhbJimQsTtLmof5maBq41qzA1bTymSqfHnkwZe2xiGChXDtkdNZovkzep2BMvbonD8WttNp9n2rlF1tPQM4TrLYNYncD8bq6jTrFBIgDAOpk/JCImxxLub7wGnYMjAIDR8UkoVMPs47cVTGH1jdYB3GgdsPk6uQlBuCTvm5MIGVkn+bqYcKQDbrFBhQ6FQlmxzIUJ2lzUv9hzTK5hoL0InZ89d+b2CKSZXDvTDiYujkadhATmZXkf6yZNUkqdgyNQ6Zg+6JO3OnCqspN3HO57BQAFmZEormhH4dYE5KeG4lbrAN48XctMNjcUYXNneKl0elyS91lcq3rMKFKFhLCzE1iBS8RX5+AI+5yF7LRbLlChQ6FQKLNgxnOsrESCNkb74+N9WZCI3FHVpsI/flaHHz0ci8RQP3aztRQ1MnXXNcWeO/O5dsElawryYepayuqVrJty/aAzTld1wcXFBYkhPgjy8cDxa602j2lr+CeBK2S83V3weWEuIPBeqXR6lDf0YW2kGMUV7ciMlSA1wo9NKyaGGAeqcmd4cd8HIS73OONNwwgIoTVlx0rMjAbn0xhwKY9ymClU6FAolBWFJYGh0o3hbE0XnjMU19rLTOtf7I0ETUxMAAD+7atmm88FgPpuDd4vvY/YIBFGxyd55wkrEQJbAgkzSNORKeJREi+8X3of4X7M70gLNwBU9Dmj4lPmXLJjJfjZk8k4cV2BPZkyq1EnY4fVGP5wuYVtxz+UlwiZxBtK7SjePlNvcSCoUOHvlkQpez4kfcRNK5IZXuQr7IiQ5YRM4aVv57ARHVMhzI3oPAhjwKU8ymGmUKFDoVBWFLYEBqaB//+7a+d9HY5Ggogzsq3nnq3uBkz8YeyJEBCPGK5Auizvw/Frraw/jqNpOqVWz5si3qkeNXvdcK8pHPrWOjaiQzb9HWlhViMPRGDWdKh5nkPrZH48wWJJdFoq/LUmXJJCxTi4fRWSQsW8dViLuPi5AynhYp5hoC0h/KCNAZc7K1boHD16FEePHsWkDS8FCoWyvLAkMDzdXPBKcSV2pIXO+NiOdKbYGwkK9vXA45FT2BQnQYTER/C53HESscFMEW7htgRgmmmvfmNHEnISgtg1CnG2hjG24wokkgo6cV2Bg9tX8a7dudpus3oV7rHrOtUousCIIjIyIinUF/XdWhRuTcDY5BR+W96EzSHMuQ2MTGJq2hghqmhWoahMjtggEXLimWGYQq7EcpOOqIqWAUhEHmaPm2Kp8Fcq9sTe7CgotXootXozt+K5MO9T6cYcnuo+G+aiYH4ps2KFzoEDB3DgwAFoNBr4+VHlTKGsFPi+JUyRqqebCxvF6BwctVkIaqnOYT46U6S+Htghm7IqnoQiLVzn4uZ+HV58ON7s77gbYGygQSBxDPb2PRSDY9+04EhBOnLiA3nXjggJbr0K95hFF+7jXG0PALBzseq7tczayuTIT2EEg7cr8EmFAkVlTfz1G/xvXimuZN2BuYXM9d0a/K8v76GmU2N23uTcs2MlvOvGzOvS4mxNF3u+QoW/81FgTo6/PzcWJ2+141Rlp1n6iCuU57KWZr7OZ6mwYoUOhUKhCEUx5sIPxVEcigQJPNdmlCo1TPBYggKJY7BHBMDo+CSUWr1BqExDIvJAo0HoNCqHeELB2kwswpGCdAT5uGNAp0eodx92ZcqQnxoOlW6MjeTsXh+Bk7c7ULgtARuj/XGrlSnYVen0gpO9ueQnh2BHWhgSQ3x474+9G/58GSxKxZ7YtT4CTxYJj07gCuWaDvWcfcYWw4DQhYQKHQqFsmJ5blM0MA3sSAtF5+Dogm0AjkSChJ5rKQ1GRFFSqK/gscgGKFcOsWKPO2/regvjI2Pags2lqEzOiqP9ubHYkhjEa8UGgLw1UpTcZY4pC/CCsxPg7+2Ow/9tHW58XQqprwciJG44XNLAHotM/+ZGpmBITWXGBOBQXiKvqJnLuboenKvrwcHtqwxdXExkZG92FGKDRHiluBKFWxNQVCYXfL/tSSs6GnEhkS5uSu1BpY8WcizHYoAKHQqFsmJJDvdjC49tFa8u9jqHuk413vpLncWuKVvjBwgv5MTghZxonK3uRmywiNe5xKT6mIiOUGTg1O0OPH+swuy1icgBAMXACF7+hBFVhVvjkMBZn04/gV/uTMabp+tQuC3BTORAQPgUZESi+EY78taEoORuD+t/A8N7QqJvsUEiJEh92BQlDC7UYxNTOHW7Ay9uiXPo/SPdbWTKuTWUWj3+tawJJyoUvMdNo0mkNgiL9DO2VKFCh0KhUEwQEgWLvc6hoWcI15pVeCItzFjnYWLQx02FCAk3GOqWEqQ+eDUvkf29tbt/7u+kvh7YtT4C4BQrA8BLW+Jws20AFYYI0ZGCdEhE7rhY3wM1UybFdmh9vC8LB7evwsZof4DTLl7e0MtGebgU32gHAJTcZeqBiP8NyPt4lfHkMR3ZQNZG5lntWh8h3N1lIa3oyLiGTyoUZiKHy54sGfZmRz2Qz9hSHuUwU6jQoVAoFNNCUIEaHHvrHObLkE2p1eP/3Gy2eVw/Lze8kBPD/o0lLNXSEEFACoAB4PjVVryal+jQRHaSonkkMQg5CYFIChOzQmd0fBIq3RiOXW7FS2v4x5CI3PFqXiIrviylpwhv7EhCc78Okf5eePd8A4BpXpqICIzCrQmIl/qwKbWXtyXgQr0SO1JD8e75Bqh0esFOKG6qkCsOG3uH2K+2itefMdQggfPZgUHwJUh92L/jTl//w+VWlNYr5zyVupRHOcwUKnQoFArFdEMTEAj21jnMlyFbr8Bx6zrVaOhhNtzyhl7AEEkhs5sGR8bYx2Dwp7ks7wNM3JetCbc9WTKcuK7A3k3RFjuE2HPnCgGD0NGNTZqls7hRim+6nfF4pwbXWwZ561PpxvBslgyPp4ZBInLHuZpuFJXJ2dQUqSvKSQjCiw/Hs+cPONkssgYANxdn1HRqsDVJChhqf4ouGNvZhd6735U38XyBYNLltT83Fv/0ZLLZ35EaJFMSpPyONSFvoJVUSzNfUKFDoVAoS6AGh8D1YHnrL3Vm4wPO1nTjbE037zFuXQt3TIJpKoRsqtyo1N7saJy4bp52EYoMCAkMEsWBoRBZMTCCnevCcLqK6XirHnDGLs6IBNP1bUkMZs8bZfzUFBeuH87G6ACmIFo5xAqcwm0JiA/2gWZkDG+ermMjReTakK+knX2+ox62nJ8pcwcVOhQKheJgDY5pNGM+RBIZn5ATFwDFEDBk8IvhGukVbkvAniEmakNqWHakhiI5jHHuHRwZw39canHYPHCmYySE0nvgpGg++roJioERVuQIYVpMTDA1+COeNCodY+pH1ve78kZckvebHZcImV3p4diVHo6pqWmcvmNcx7akYFyo70Xh1gRsjA5ATYeaPU8i/HZviMCWxGCcremCl6sLjl1usbheS5DPjmmKTOgztD1JCpVujLcWiuNQoUOhUFYUlmpoHPEaMY1mCKU0ZltESopzmeO6AtXM9HJTIz3ucU/e7kB+SihbEFzTocZ/XGphnYuLyuRIChOjpK6H331lItxmOkZCKL0HQ4pG6uuBDVEBjFGeoUMKADYFT2Lz2tVo7NMxAshJ+HqYrlEq9oTIw9UsLcYVOdxW+SMF6bjW1G+xKPhCfa/x+pbxz5ObjpSI3HHiugKHDOcfb5J+soWlGhkhoV1ar2TXv9DF7ksZKnQoFMqKwlINzWy8RrYkBuOjS804UpCO0fHJOfXjeXhVIAb6erE+KRp/uKIwM9Ijd/v2otKNmZ2/6dgD7hgJ3egEjl1uwctbE/CYHZELS34xV5v6caqyE+B0SAHA1V4XXC01pta4NS+8KJqAQBASp8Qfh+nsckNpvRKp4WIkhvggMcQHa8J8oR6ZwNWmfnzTaBRF2TESXGtR4Y0nkpATbz3iBUPRNwRGSFi7LtaK1OfK1G8lTie3BRU6FAplyaPU6nFW4YwMrV6w6HO+IZtdglR4FpW9CKUvvrrfD8AZd64wkQghI72D21chPyUE2bESJIb4sJtdfkoILwpycPsq3uRtLrbGSNxTavFaxGqbG6nNoakWyIqR4LqJ0HB2gtWZUEScKjWj0E9MAQB0Y8y0d6azi3leTacGU9Ow6qh8rYWpdWru1eHFLfHse6HU6nG5kSmQ/uVfatn3tG9Ijz2ZMrbLyx4vHWtF6nNl6rcSp5PbggodCoWy5OnV6vFluzNe0up5gy8JjtbQ2OM1YumYnm4ugGFUgaPYMz6BGOmZ3u1LxZ4o/sFmdh1ks3s1L5Fda15yiMXztxRR6NXq8V5JAx4yiA9bG6ml44T7e0KlG4dE5I4v7nSi+EY71oT64GH/QTy+NRca/SSeP6ZCUqgxtWbttbiCi3vdjn3TAlgQV3uzo7Ax2h8q3Ti+uNPFRpYKtybA3dUZ75U0sENdhd6L6y0DrFv0BwYReKJCYVdaiXweuJ+LuY6+cH2DKEao0KFQKMseR43Y7PEasXXM8oY+bEmUOrROZiMOQEufDrWdatYMDwC+nRYKrX4Cnq5MEYu1kQSOrpWcv9CwUw83ZwDA6MQkajrUVqeCW9q4TddapWBayR9PCUXM8CBSwsW4pxxmX5trcmjp2FwRtDc7CoEiN7x5uo4dRFq4LQHuLs5sd1VNhxrh/l4GseUGmcSLPXa81AcSkRv258YiKVTMvhdkDZcb+/D2GaYbrCAzEsUV7XYVdSu1eiiGgNpODdt9Rqarm56ro0Lb9NqY+gYtxo7BhYIKHQqFsiThRlRqDR1JtZ0auLoy/6xx/3Gfj6GGvI1Q3oe3z9Zb3fzsuXu3NDkbAP5iKBC+2NAn+Lf13VqzTqnLjX04frUVm+MD7fLMIQgNOyUbPYFspCqdHuUNfXhxS5zNCAx5vwaGGSE1oBuDi45539zdXHFw+yo4OzGGP3LlEK/jy9PNhR25AIOJITjGhO6uTCRN5MG8/6ajIqylz8h5ZsdK2MfI+pVaPaS+HBHiwxmfYUNAfFKhQFG1K35dbWyf59Yg7cmSCf6do6Z+i921e6GhQodCoSxJhP5x/8fP6tjvTQtZ53qooZALsFTsafGY9tZOkPRKlULNcwX+0cOxSAz1g7MTcKfdvADZmjgRSq9YO3+hYaemmD5GOr0A4Pi1Vrz6aCIvMiH0fv3+ahsARgjsyZRh76ZoHDacs6WOr7dO1+GFnGg2cmFptAMApIT7orZTCxjSU0G+HnACEBPkjfouLd4+Ww+ZxAv/8NhqTE0zx1Jq9VbHfljqejOLOGlG0avV47sxE8jJWI9vGlU4ebsDT6SFYo0hajRuqCuaTfRFqRm16hskEbmxUaqVChU6FAplScEttCURlao2Ff7xszr86qlkrIti7sqXqhkbEVBJoWJ0Do6wG/pjySFIjw4EAOxMZ0QFN0oSG8h0SpHUCgA2jXOkIB058YF2r4EMO1VqRtlWc+KFYxoRutU6gDdP1/IiMCeuK5AdG4gEqQ+78Vvy2HkuYQJj/oxwsdT6nRkTgE1xgSi6IEdjnw5vnq4TfB4A5CYE4ZLBXZmIHHAEyv7cWDyfE8OmjxSqEcQFm9d1gRO1u9k6gJ8bZmLteygGI+OT2JEaxpsKbypklVo9PrnRAcAV/9liFGpnqrtxpppv6Dib6IulCCC3c83RFOpygwodCoWypOBuKCQiMTHBdNqkhIttRmnsrX+wlWriigyldpT9yp17BENK6WxNFytE7L17l4o9sXdTtNVhkEKbHBE5AFBteK3R8Um2g8jZCXaf/+G/NrCvbzqugBRdf2UYvWAaWSE/78+NhcjDFXuzowTfmxAv4DvbEvDc5liodGP4w+UWdsbTlzXduNjQi4qWAZ7DMhcSuegYGMa75xvwWLIU66P8UXRBjidSQ3HG4BL9gy1x+G15E7YkBpkdwzRNRpD6epiteW2kP3LiA3H8WhtP6FjiuYQJfDcvF6X1fSgqk2PfQzFYG0xkRHkAACAASURBVOnPXuO3z9bPKo1qy6RxqQr+uYQKHQqFsqKwt/7BVqpJSGRw61gObl8FGCaGc3Hk7t3ZCUiP9IPX2ACCBTYs7hBIMqspKdQX9d1MJIOIg5lEDJRaPTv6YU+W+bgCU2FjinHkwjjePF3LbsamHjv31U64163F6apujE5M8mY89Q+N4mJDL55IDUGlQo1O9ajZ65DIRWo4k57hRnvOcEZh9GiMf1vToYZKN4bYQG809w9bTJPtSg/HI6ul7NwuALjS1AeFahjvl95HfLCIjQYRgXSuthty5RD7N+NTTPF4kOH6pcv80NirY7vKMMs0qlBadk+WzOK8rpUIFToUCmVRYC2CYqs93MkJeDxySlAMzBf2FjjHBonwSnEla2TnyN371DRQ2a7GT9KmLE5Hl4o9cbikgd3wicjhsj1JyhtfIQQ3JTg1DZ4YWRfpz4sI7c+NxZbEYF5xsymmxcCwIA4/a3PBZx/fElyTjyfjT3Smpkfw9wCQnxyCwu2rMDg8hi+qu7AjNQydgyO8NX0vOwpRgd44VdnJTgW3RFZMAOKlPhjRT+JUZSdrckjgRsz++fM69BpGcFg670+aXPAJZ5bX1LSTYFfZXLI3O5qKHA5U6FAolEWBtQiKra6Swq1x2CGbmnWY3hG/HWsFztzjkJQIGW3g6eYyq3Zfoeu0NztKUFB5urngleJKvJATbTNiQI5b363BuVq+sDCNCAlN6AaAQ3mJbAE1ieiQAtmaDjVbNCsRuaGieQBFZXI8HDqJDSmrcZjjjrwu0g+/PlcPD1emtX2DzB+3DC3pALB1dTDK7vVic5wEz202nlvuqmAoNaNsezzhT9fa2O+5IiczJoCNen0vOwp/utaG9VEB+G15Ez7el4ndGyOh0o3xinwLMhiTwOIb7egdGsOhvETIJN5Qakfx9pl6s/N+Jm4Sz+Q/BI1+CuUNvTwnZUfbyG0x18dbLix5oTM4OIhHH30UExMTmJiYwMGDB/H3f//3C70sCoUyh9iKngR4ueDG1w02jmKbuWrTFZp9Ze90bCGx1a5zYlvnTTdxGERXTnwgDm5fhY3RAUAZeMKGFN6S4/+uvAkA8OKWODPBZSpyuOzJkrE+PUKjHjzcnJGfHIJzdT1W27v3ZMrg5c7U+NQNOuGrUv5zq9rVvJ+5IgcAyu4xdUFXmlTIih1A7qpgdk2HSxqs1jVtT5LihZwYqHRjqO8y+tuMTzJt7Tr9BHvNyDWs6VCzQqf4Bv/YRNgxLslAfkooUiP82L+JFE0j2NcDrq6T2LU+giegUyP85jSy42hb+koZF7HkhY6vry/Ky8vh7e0NnU6H1NRU7N69G4GB9ncYUCiUhcHeCIqt9vDx8fE5WQ8RVHLlEFu3wRVUlkYSmN5JC82+euOJJDT36rAjLdRqu6+Q2OKmP7YnMR00Qtfp1bxEs8fJusimtjE6gBVhayP9cKWxHzvSQlHfxaS89uXEYK3MH429QzyxQjq3rLVec2uU8lNCULhtFU+YVrUP4sR1fndV76izXe+NKanhYvyPx5N4BcHHr7VZFTkA8FR6GM5Wd5k9jwgYEv05V9sNlU4PiciDJy4P5SVibGLKrI1bM2IuQAmfVChQVNbEe8xeAT2fYmSljItY8kLHxcUF3t7eAAC9Xo/p6WlMT08v9LIoFIodLDajM1uCijtawXQgKHedQrOvcuKD8OKWeJtrEIpexflOoUnLCAKSerF0nbjihrsusvYjBens331R3YVztT28Tf/Y5RbBdXE7t6yNjAj398LZmi48tykayeHGqFJqhB+2JUmxNzsaAHC+tpsdo2AJXw9XaPUTiJZ4oVU1gk1xElxtUuEfHkvE32bIWL8aIj6tdSDBEE270qSyKYZgUmuzPzcW+3NjcbN1gOdtZPq87FiJcbq6rwcKt8ZBrGnA9kwZ8lPDza6VPbVaK0WMzCcLLnTKy8vx7rvv4ubNm+jq6sJ//dd/YdeuXbznHD16FO+++y66u7uxbt06FBUVISsri/394OAgHn74Ydy/fx/vvvsugoLM2wcpFMriYyaOxfNVhyAUXQLXDNCOduy5mH0lJLbWBzJCx57p6ELpC6VmFDdbmRTNlUajs7KHwU34pS1xGJuYwrHLLTwfHi7WRkYQwv09cbN1AM9tisa52h4E+ZhfMzLH6rGUUHxwQY7nEiaQnr4ehz41L2jWGtJIraoRAMDVJmbwZkSAN8+5mHFMDsDN1gHByAdpsybDT4nYKiptwLk64cLkwm0JyIwJgETkwYpGbrpOKOJnWsP18rYEnDnTAKmvh9mw2dkaVs4UR+e+LQcWXOjodDqsW7cO3//+9/Hd737X7PfFxcV47bXX8OGHHyI7OxtHjhxBfn4+7t27B6mUCeH6+/ujqqoKPT092L17N55++mmEhAjnPfV6PfR64z84Gg1jHT8+Pj5n4W9ynLk63mKCntvSZTGeX4CXCwK8mIgs8cJJChFhtdSbfY7pegO8XPDjR2J5v5uLc/vjlWaz9AI4bdQFGRFYa9iYqtpU7HqDfZmNUOjvueLgYn0PNscG2L0epVaPe13MBqQdZyqZdaNjrHCS+rhZvU7kGL1aPU5UKFB8g5l6zp2fdbqK6Sj6sLwJyWFMCmh4lDmv9ZFiBPt6YH1UAP7nuQb86qlkpBhauIN9PXivR67Fn6604vxdJaICPPF+6X10q4fxeEoI0iPF+NOVZjyWHIL3S+9ja6KxtCDEC4gOMAqi9ZF+WCfzw++vGAuICXszI3G8oh1n7nQiM9oPUl8P9rV7NSPssQO8XKBUM7Ozdq4NNXzOmM8NuSYAMDk1ZfH6uzoBvZpR+Hkyn9Hx8XH28xrg5YKCjAgU3+iw+nkV+lyS9U5MTFj8vHLXSMabCH3mZoKtz2nh1ji8vC3B5nEWw78n9r620/QiyvM4OTmZRXSys7ORmZmJf/3XfwUATE1NQSaTobCwEK+//rrZMX74wx9i+/btePrppwVf4xe/+AXeeusts8f//Oc/sykwCoXy4FEMAb+udsVP0iYgEzaqnVfUY4DGUGZxR+WE8x0ueCxiEtpxJ1xRWq4jeTxyCjtkU7y/b9c54ZMmFzwTN4lIEfNPrNjQbHO5xxk5IVPwc7d4SADAWYUzvmy3/LqbpVN4Jt58o1aPGV/jco/1Y9hijd8UMoKn8Ee59fdFPcasl1yn5xIm8Ee5q8Xvf5I2AScn4GSzC3bHTsLXDfisxRk3+53xUtIEfNyYz4LpWqRe0/iqmxF6T0ROINAT0Iw74bNW5r063+GC5xImsMoP6NQBH9a7YmPgFLZFTKFaxVyTC53OuNhl/zWJ953Gy6mTZo/P9PPKfX8sfQZsvffkMzcT7Pmc2vpsLhaGh4fx7LPPQq1WQyy2XPe24BEda4yNjeHmzZv46U9/yj7m7OyMRx99FFeuXAEAdHd3QyQSwdfXF2q1Gl9//TV+9KMfWTzmT3/6U7z22mvszxqNBjKZDI899pjVC+UI4+PjKCkpQV5eHtzc3Oz4i6UDPbely2I/P6VWD32QAt/JNDens4XpuSm1evzHpWYATngqPQx/vavEMw4c93RVF85/Wo38zenYFCfh3V2TURPc6IbpcWs7NfjkN1fxTP5D7PPI42/+5ipe+nYO73EhMrR6vKTVY2JiAp+WXsMnTS741VPJCPPzxLm6HjybJUNymPkxuK+x3dcDL5ms/b9vjmKjJY8mBeGv9X1IDvVBXbf5VPK7amfcVTMbbm5uruCaSfRhMnQQV75gipGva/0BMMebCogBwESRfCNWAfJmBMSthaebCxrvVKN7GNCFJ+DNglB8VtmJrIQgtPYPA9X1Amsx/nymnb99ne9gBNAf5a4oyIhAUrwvUF+Pm/3OeHbrOrz7aTVe+nYO6ioUQFeH1WsPAFsSJHgqPQIJUpHgdbbn8zo+Po5PvyhBtygBezdFs8/bY+O1yXsPBz5zM8HS59QeFsO/JyQjY4tFLXT6+vowOTlploYKCQlBfT3zP0FbWxtefPFFtgi5sLAQaWlpFo/p4eEBDw/zD4ibm9ucv1nzcczFAj23pctiPb8IiRsO5a+Z1THIuQ2MDOPYZWYzXysLQFFZE/JTw83qJLhwaxda+kfYr6vDJuHq6gqprwc7GX1dlMRqfQV5nqurK+9acx8fGJm02k0TIXFDhMQH4+PjuGq42yavuy05THD9TFeVP/saERIfuLm68h6PCzZ2KQUapnJvig/ClkQpPixvws61YTh9hxkQ+liyFPe6tYgLFsHdzdXsc1PXqcb/+PQOajr5G869HqNoOs6p9/m3r5huL+7w1Ru9zrgrb8GmhGD4enlgnwXzQFPy1oSgWzOC6g7zzY6k6QgNSh0AoG1glDUhtMahvEQUZMqs1qrY+3nVjAH/drMFT6yLtPr5Mz12hIQJE9n7mZsJlj6njrCQ/57Y+7qLWuhYYnp6Gk5OTM46KysLlZXWrcgpFAqFYKld19KkatJGfHD7Krs9T0zbui0VKZMi2tkWfyo1o7jc2I/3S++j0FBfcbikAS/kREOlG+d1W91qM86MIkXHx74xdloRkQMA5w2Fuq2qEcQHd/C6qADgj1dbzUSOvWTFBOB6ywC8XBkRV6VQIzOGMRTsGBjGxXtKVLQOQuzpCo2hbohLyV2+309BhszM44bwW4Nv0IdfNWJPVhQO5SXCz8sVf6nqREXrINaE+uJutxY7UkNxtqYbMom32XuyHD1nVorB4KIWOkFBQXBxcUFPD/8DrVQqLRYb28vRo0dx9OhRTE6a514pFMqDZS42EfUY8PX9Pmj0U7jDMZg7XcXc3Z+81Q6Vbgwq3Zhgu66tdun8lBAE+di3MXA7nw6XNFhtoT95q91itxBB7M4UiVp6Xa5II+3OpfVKnguwROTOdh3t/5s4AMDlxj68faYeuQmBcHV2wsWGPsHjm0Ler81xgew8LGtCQ4jrBqO+W/1Myum9kgakhovNhJOQyIHALK3IAC8AgNTHHcohYU+bui4tfvZZrdnjdw1jM87WdCPC3xOJIeZFN460eRNxq1QP46yCSf3NtLNpPsWIowaDS5VFLXTc3d2xceNGlJaWsgXKU1NTKC0txY9//ONZHfvAgQM4cOAANBoN/PwefIsfhUIxMhdeIZd7nPHlTfO0x4V6xkX32DctvMiFKZY8dADgxHUFOz/I0Y1ByISwcFsCMM1EjCQid7xfeh+xQSLBQYxKrR4XOp0R52F+U0Y21I3RAezoh93rI3DyNiPufrAlDu4uzigqk6NzcAR5ycwcK9ON9pK8Hx/vy8RP8pNwu20A//ubZjT1DSNQ5I5+3Ri2rg6GTOKNU7c7EOTjjr4hRiwWbjV25zgich5JDMZFw9RzLkTkPJ4SAncXZ150qSAzEhJvd/zmKyY6k58SCqmvB+q7NdiTKcPAMCNuLIkcAAjz80SXehTfy47C6lBffHqzHVXtajyTEQknZyfsSA1DkI872xo/088iPzrICJ2Z+kOtFDEynyy40BkaGoJcbjRcam5uRmVlJSQSCaKiovDaa6/h+eefR0ZGBrKysnDkyBHodDp8//vfX9B1UygrjcUWuueuJ8DLBTkhU/hv2zLYiA4xvtuWFIwL9b3YuS4MGdES9A7pUXRBzrvDdnZiRh/Mx7kJCSiuyRwRX5ZGQ/Rq9bjY5YyLXa0YGZ/i+dcIpduIyAEnZQM7Nloy8uCfP69DUx/Tmt1vcAQuu9fLjl2I8PdExyAzCZyk9YSIC/Jmj8MlPdIPnm7Wu54iA7whk3jzhM630sLNxl8Inb81ugzTz/90rQ17MmXsqIkn1oZjSyIzRoJrCgmD0ISDnjNE3N7rUrP+QPY6Y1PmngUXOjdu3MDWrVvZn0lH1AsvvIDf//73KCgoQG9vL9588010d3cjPT0dX3755axTVxQKxTHm2qF1tsZl3PUEeHnDzx34m1VBcHNzQ4LUhxU6O9dF4EJ9L05XdeF0lXHj5M1eypLhxHUFe27OTszsIpVOj07Dpj6T1IMlE8IdqaFo6x9GbZeGjcAUbk3AxugA1HSoecfnbu4nKhRM9w5nmCfZkA+XNFidys2dYO7sxKxHpdMjNyEIl+R9uGwwEtybHYVEqQh/vGaM0OxeH4F0mT/UI+Pw93bDX6o62dSTJYREDsBMYwdnltWm4Elc7XVB4dYE5KeGGowVnVBlMt9KpRuDeoTxTdmVHs66M2+M9odKN84bWZG3JsSshgcAMmP8UdEyiMJtCQj2MRYln63uQlKor8PDZIUEo+BAVwDnarpxs20QyeFi3GwdXDQ3DCuBBRc6jzzyiM2RDT/+8Y9nnaqiUCiLiwc9/uFIQToSpD6CDswq3RhOXFfg+LVWvPpoIjsWgTsqYCZrsxRxOFvTzX5PIjBFZXKgjHlsf24stiQGQ6Ubw+X7/BRPWb0SKp0eSaFiXrTohZxolNYr8dbOFJQ39KK0XmkywTwGUl8PHL/WBp1+wmzoKHdO1a70cGxPkrLCqUs9gqnpaZyq7LR6vnnJUpQYCpg3x0rQox21KHgAID1SjAhXFdDLtEyfut2BPq0ep6rMX4ek/QBAOzqB+m4NJCIPlDf0mZ2LkMgBgIoWRjxxI2o+Hi44UaFAuL8X1sn80TnIdNwx09b9DdPW3dE5OGLRkZobXbT0nt9sY1771O0O3GwbxMZofyp0HhALLnQWClqMTKHYZj7t4mcy/sHSeiYmJqAYYqI8ERI3SH09sD+XcU9ODPHBwe2rzOpfwv2N35PN7cR1BbJjA7ExOgAf78uEROTh8Gwi7lp1+gl88Ew6pqaBRuWQYKpn30MxOPZNC+/4p2534Plj1wWPy07LzpLh1UeNaSwyoXxjdAA2RgegtF5pMsHcnY2CffDMOuzJlGFHWigqWgZQdEGOwm0J6DO4KJsKmiuG0QvMIM3V6Bwcxesnq1G4LYEnGuKDfFACJRKCRbjSrEJ+cgia+oZRkCEDMI3iG+3YsioQ5ff7sTlOgtcfT8TZC5cAANOAmWCxBLfQen9uLD4vzMWtVhXePM20rT8UH4hvGvvZmhyCUDptSD/Ju64EU2FLPqtCoxu40UXu5/rrBiX+57kGrAn1wV2DT5HIndl2qxRqVqyastjSxEudFSt0aDEyhWKb+Yy62Bqg6fh6XKEPUuBQ/hpIxZ74pyeT2eeYtkUDwNnqbsHhjiRyYHpupmuztRkptXp8dKkZezJlVodINhlmaYX7e/GmpMsk3viyugtXmlWCf3fiugJSX0/BYZ5EDFp6fHB4AicqFMiOC2QUBhilsSMtDOH+XnivpIEVMSG+HujR6vGDLXH4bXkTJCIPVlQF+7jjkcQgtlvrSmM/AEDey/jWnKtjIivcQmUyO+xKkwoX7/WhdxR4JiMCsUGMMz13ACeXQ3mJ8HB1xttnjZEn7kT1U5zapG8M6+CKHHDSaY8kBiEt0p8n0goyI5Ec5oc+rR5FZXIzYcu9ptYgn2ulZpS9Hnc5ZozlcuZavVfSgMbeIez/mzizGwY6yHNuWbFCh0Kh2GYmUZeFWE9SiAiXLl3CdzJlNo9BNv7MmACMjE9iQ1QAeg2bGzhtyxKRG5SaUYvHsXcz2pEWih1pYfjNRTkbGeFy8T6z8Z2t6WILYs/V9tgssiWbPHteJt053JbkvOQQKLV6Ngr2+R0mYsMVE9zUGQC4uzAFw4+sDkbxjXYMGrqabrUOsF48JIJCqOJE+7gQsQQAnWqjYDhcKgfgihS9GulREsBQ1zI2YT7eYGB4DAHe5mZ/RIC8uCUOqRF+eKW4EvtyYswGlL7xRBKkvp7sOReZTE5nnmc0NxQS3dxraivaeep2B8rl/YLXg31OZSdOVXZif24s/unJZI7po/0z0Si2oUKHQqFYZCZRlxm9jp1eIZbWs1rqjVYf+4QXEQQ1HWp2o+HC3QAPbl+FvdlRdvuYCG1+nYOjqFIMCooc9hzCxXhuUzT7M1fQnbnTwToKwxDZeK+kARfvKVHTocaLW+LMroktHx9uIXF6pB8q29V4JjMSrs7O+NM1xlGapHLIEFDy9c3TjA/NI4nB2L0hAgDwjbzfant5j1aPtRFiqHRjCPPzREUrU6+SHOqLum4taruG2MgcN2LIRcgagIiWPVkyfCstDH+43IJns2R4JEmKY5db8K20MOjHp3CqshNJob5IChUjO1Zi1S8oPyUE52p72HotGCKJe7OjeELSVrRzf24s/uXpNPy+tAoTHmLBERtceKaPhrb95T5V/EFBhQ6FQllwFtIrxDRVYhqx4q5NqRlFfbcGZ6u7ERssAgAU/vkWXs1LRFywD07d7jCrM+FufqY1InFB3ti9IRJrI/0Q5GMUUlxBx0zhNh5zbJKJdhCBlhrhJ+i/Q9ibHYXYIJFZKohQaeiA+oQzqsEeLjb0YmR8EvHBIrs8dHRjk2gfHEX7oDFKVmcw6oNJ1MdRTlxXQDU0htuKQbyQEwOJiIn8SEQeeGS1FKcqO6HSjUMq9sTPv52MP15txea4QHxW2cnW+pBidWcnQOLtznonATCL3JH6K0t1XCqdHuUNfciOk8ClYwq+qxLZ0RakYJt0mcHwOeOZPhqii/NZnL+SmPlY2yXO0aNHkZycjMzMzIVeCoWyJFhsdvEzWY9SM4qaDjX7HwypEonIDfkmxaapEX6C7cbPH6vAiQoF26XU3D+Mlz+pxJNFTFHt54W5+LwwF+/sNp+5Z1oI29Q3jF+fb8Dzxypw3BBJ4a71sEmBLARSLq8UV+J3HL8cU6RiTyRIGaffQyYb5Tu70/APj60CDC3k25KCLR7HlILMSFxrVrGF3JZYHeKDj/dlYff6cLPf/eqpZDwRyTgfP5YsBQwmh+mRxohhRowxjfODLXG8c3hndxp7vR9KYNJ4HQPD+NmpGjybJYOzE3DRIGSI+JmaZoRRXLAPTzgkSH2QGuGH5HA/7OVE1wjHr7WyqUxSf0W8h4gwNn7vhI8uNeOeQciR1waA+CBGIMcbXo/U/2yM9mfHd+xez0TKCrcm4ON9Wfi8MBd7s6OsXmeKZVZsRIcWI1MojrHYHFq56xkfH7frb2ylG2zBjY5wO44O5SVia5LUYnrhSEE6NCNjZjUtAPDWzhRm3pWJYKvv1uL90vt4bXsCAj2m0a93wlPrwjA8Psm2cBNcnZ1Q3tDL84LhptEuGwpg2wf4QsvTzYX1FuIaDdoDqX252NCH1SE+CPPzZFNCW1YFofx+HzZG+bMRltFxo41IqNgD3Ro9xiamMDHNzC28ZfDN+a2JaLvBSbOZ/s7b3YUtbq5UMML1T9da0aXWI9TPE2X1PWyrOtOO7o5brczxVLoxVoDsMYgiIn6Jp9C52m62WJt05CVIfcyMC01p7mOKsWs6NKhTOOOH68F2AZLCePLa1kwfi8rkOOi8ihdRpN1YjrNihQ6FQlk4FuofbGvF1SrdGMobem22tZMuqfou40ymzyo74OflBmAat9sG8Z0NEVDpjOJrdHwSYi/jXf3mWAnbTeXhygTWyfHJ9ThbwwiQfymVA2DEwGccw0MuH5Y34cPyJl56Q2gDJXU2BJLOyk8JwY7UMJQ39NoUPClhvqjt0rJGhwUZkSi+0Y4n14azQic60Bu4z3jH3GwzT5l1a5hzfeuLegDMrKvaTq3Z82xxtEzOm5QOAF2GYuezNd08vyKuTxAAVDSrkBkbgD2ZMjy3KVqwAFwoegaD+SI4NTQq3RiezZKhqXcIx6+1QmeYz3WnYxB/bXdGnlLH1lIpNaM4uH0VkkKZKfJCn0kiorkF5yTCd6JCQbuxHMQuofPBBx/YfcCXX355NuuhUCgrgIVqn7VVXE26nkwREg0ld41RFXmvji3SBYD/MilwNo0acVvGTQtYdxnSFrGBTIrjbzeE4//eYo73TGYkejR6dhwDoSBDhpRwMWKCvNn0Sq92FLvSw7F7QyTquzR4+2w9U+TqxGzguQlBeHFLLCQiD14k6uTtDkh93PFCTjRqOrU8sRDp74naLi37PHDEE9eHZnraWNQ7U0jNzveyo9gCaQD45c4UANN483QdvrcpGr6ebugYGEbZvV7caDVGf8L8PBEm9sAthXAnGLfLTCr25AmO87Xd+OCCHDvXhcPLzdlMIJK6Hu57lxouxp+v82uV/lrPCL9Dn1aznVWmkVGhz2RmTICZ95PS4HFEcRy7hM7hw4d5P/f29mJ4eBj+/v4AgMHBQXh7e0MqlVKhQ6FQFpT5iBbxNsGabnxQJsfOtWG406FGSz+TDiK1I++VNLCdUVkxATZHJWxPkrLpnVO3O9haHwIROQBQ0TwAqdg84sQtBs6OleDA1nh2093/N3HISQgCALb4teiCHK/vSLLYPaccGsO7583b29sHR7E5ToIrTSpkxwbgWrPwuXGFyb6HYhDg7Y5L8j5cMwg8ibcbVMPj2J0ehjvydsiHXMyOQQqT/2RSu6QeGYdMwnjurI9iUn77ft9kNvW8Sz1q5qMDADGB3mjpH8bu9RGssE0M8eEJDpIOOy3g0MyFO92+xZCuskT7wLDZeA9LSEQevHSVUqtn1wTajeUwdhUjNzc3s//96le/Qnp6Ou7evQuVSgWVSoW7d+9iw4YN+Od//uf5XzGFQlmSCBUCc3+25lnj0OsYokW2DN4sFTOTFAF3PVKxJxv5ecwgFratCcF3N0SyzxmbnGL9XwYMNRzro5hC2iMF6XjjiSTAsPGDI4xK65WQiNzZdXy8Lwt7soT9gBr7dBbb1I8UpONIQTquNat4m+7xq62G+VG2SQzxweoQH/bn7Fhm/aQgOCsmAOky5gbXksgx5dg3LXivpIEVOQCgGmbSeicruwRFjjXeK2lgU0iX5X04XNJgJnKsQYTpydsdeKW4Eq8UV1qMPB3KS2S78sApfiaPMUJxGieuKwS9f7h8WduDJ4sumRWdczH9TCo1ozj81wY8WXSJ1zX3+slqPFl0yebxKAwO1+j8LRmHwAAAIABJREFU7Gc/w6efforVq1ezj61evRqHDx/G008/jb179871GucFOgKCQnmwPOjZVrawVFxtb1rNtF2bN5HcMFCUWzzraajFIaZ3JCrBfd2PLjVj1/oIvPpoIrJjA/FKcSX+dmME/u9N24XCEpE7WvqYu/6v7xuN6k5UKODn5YZd68IxODyGi/d6sT83lun2MUS/8lNCMGUouv3uhkjWfZiIGVIQfL1lgI1QkfEK4X4ePBPABwnXJdlRsmIC8Oa3UwDifMypwyIi18PVme3IO1fXY+YhpdKN4ZjBToDMshLiRw/HYlN8ME/QCmH6mTx+rQ0nrltOV+3JlNFuLDtwWOh0dXVhYmLC7PHJyUn09Mw8H/ugoV1XFMqDZT5dlpVaPRRDQG2nBvU9pONlfsL7ZI7WlsQgtPYP491z96AZnbCapnqluBKbYxnn3/tKpsbljmKQ/Zvztd1sK7JKN8a7FoOG6BCZl5QRE4AbLQMoyIxEgJcbPixnNtp/vXCffX3ToZYfGgSXlzszwPLzwlxIxZ6o6VAz0S/NqMP1HyQtZEvkkNER8YHeaOwfhrsLMGa4v1wv80O7cgC9+pk5naRH+uH/+04avrrXg3fP38eO1FBeTZE1vrcpiidahIwVhYSUUjOKP19rxa70cJy81W7VfHC11Af3lEN4LDkE6dGBZsexlWIV+n8GHM8fmrayD4eFzvbt2/GDH/wAH330ETZs2AAAuHnzJn74wx/i0UcfnY81UiiUZcB8uix/UqFAUbUrfl19lX3MkWiRI8NLuXO0ajrU0Bg6bH68LQEq3Tiv9fyNHUmQij1xtqaLTY+Qdm4S9QGADzjRoD9cboHU14MVHiX1TOExmZdEoivFJgZ/1mqB8pKlSAj2QaUh6mCaytqRFgo4wWr0wBQyOJOMWfjlzmRclvfjyzq+yIrw9wIANBpSRmOcIPpthVqwgiLYxx29Q8It3AWZkYj098Z7JQ3IjguESjfGig1bImfn2jCcvsNc/y+qu+Hv7cG25FvvyGMMAInnjWnRsSkbo/xxs20Q30oLxb1S80GusBI5NBVAQkKGeP5Q7MNhoXPs2DG88MILyMjIgJubGwBgYmIC+fn5+Oijj+ZjjRQKhWKVZzJl8OhrQG5uLup7dA5Hi2yl1bJjJSjas97q3TN32GV8MFPn0tyvs5peCffzRKdJwSzp6AGAx1NC4OrihM/vdLOuyiSys3t9BIbHJpAY4osPLsiRGROACgtip6ROiRIYj/vFnW6odONoNBS4/uFyK55KD0ekvyf+z412tKqsmwCCMzjzW2nh8PVwg7+3O4IErvPxq602jwUA/l6uGBxhRKMlkQMA15pUcIpjvv9teZOZt441iMiBYZ7YudoeVgTb7shjWsqJIH5pSyxEHm64rRjAhXp+F1xmrATrowLw8Oog1N1rQLAjppY2Uqd7smSLxrRzqeCw0AkODsaZM2fQ0NCA+vp6TE9PY82aNUhMXDxGYhQKZXEz1y7LUl8PyHyAlHAxXF2Zf9YciRZZu5uXK4fwSnEllFo964NiGv3ZniSFSjeGweExrJf5w9mJKXjZbIg4nKvtQeHWBBSVydmvv9yZgi71MH7zVTMv0sAdKlre0MeOlCCuyiSyQ9q7H08NY/+ORJRsUXxDwevUKq1X8gSWKU+khqKiRWVBgExD5OGKlz8Rft17SusznghE5ABAkI87+iyInZb+Ybag2Brhfh7wdHNBU98wNsVIcLVFxV5n8vW57Cjo9BNQakatilih95ykDIX48KsmrJf5Y2pqEjkhU3YPArVav2P4f4aaBTrOjA0DY2JiMD09jfj4ePYfFgqFQrGn9mAxuCzbShFYEkpC0R9TofB9xODg9lXw93ZjU1bxhjEM5OvdLg2bnuJGGkhR88Htq7B7QwR8PVxwuFSOjVF+uNmmxrbVwdiZHgGFapjnXcONKBHWRohxp0ODrauDodSMsh44AJAQLIK819iddaQgHcUVbYJdXWespISOfd2M7clSPJIYBHdXZ5w3cW2W+XtCMTiKCH9PdAyOWhUxBFu/J6RH+uG/PxSLu10as8gOt3boagtzTuQ69xgMC7u1oyipU5rNCzMV4kLvuRCZMQH49tpwTAP4+ela3FYM4iecSSC2Iod7smRYF8l0tQmlThf6/5mlisMVYMPDw/i7v/s7eHt7IyUlBW1tTGtbYWEh3nnnnflYI4VCWULY2949X9gbLbK1TrlySLAVfmO0Pzt/iMyzIm3HpGV8cHgceckhPHfkxl4msqEeGcezWTI4OQE/fJgZC/BMhrFN/Zc7k9nZRudqe3DYUONxs41Zx4V7vXiluJIVOUrNKB5PCcGvz9XjdpsKuQnGotchPRMlKbvXyxM5MJgccrnS1AdnJyf25ygJU1vDnTslxMX7ffjZZ3W42NBnJnIAQGEY4tlh+Orv6cb+7sXcGCT4Ot75mhouBgBMTU/jleJKh9JXAHDNIHzIKA3TeWFEVBDhszc7im0pJ/OoYBCHb+1MYX8u3LYK/boxxAbxO+oIe7OjzGahvbM7DXsyGTuBE9cVvCnupi3kQtYHFNs4HIr56U9/iqqqKly8eBGPP/44+/ijjz6KX/ziF3j99dfneo3zAm0vp1CWJ7O985X6eiA7VmKWArJW3OzpxnjBkMnif7rawnNKBidS8/PTtaxrcEEmI3CmjfoC/t7ubCRpb3YUtiYG4tKlSxiRJOLoV+YbOrcGyLQDyHSIqDVMi5vbDHU6cuUQnloXZnH8hC12rg3H6TtG4z05x+Pnd5da2BEQjkB8c+50aJCfEoI+rd5qe3eAtxsGhq3PQyurV2JLYhCSQsVm0T2p2BMSESPQ3F2M8YHR8UnD6A+Gy/I+fFjehIIMow/SHZUTTld1IVjshaRQX7MoYWqEH7YlSdlBotY6EhfKUXyp47DQOXXqFIqLi7Fp0yY4cdR/SkoKGhsb53p98wZtL6dQ5g5Se6DSjeEPhm6imbR3z5WrsVIzyt6hkxlDcKC7qmjPet7zbBU3m4qiBqVll1wJJ51FxAVXZFxp6sfOdGYMhFTsiQAvF7T6AL7RTErjlzuTERMkwu/Km3BJ3o90mR870PKXO5MxOjGFt8/UY99DMdDpJ1B8ox2ers4YtWFoZ4mhsUmLIqcgIxIp4X7oHdLzfIQeSQyGp5szvqztQUZMACt0Iv090T44yq7522mhuNvSAbnWXOyskvrgPqe+hwwCNcWeMRO2RA4MZozPH6vgiVju5/rnnzHClZsu5IrfULEH28bPrX863+GC858yz7PU/TefHYmUGQid3t5eSKVSs8d1Oh1P+FAolJXDXJkBztUdKzHfA4Bd6yPYY9m7Tns3HqmvB9bL/HFbYTmaQHjEEC34kJMiSQsXo7pTg3WRfhgZm0SDcgjBIg9WfEl9PRDgxYgAMu16QzTjx3NJznQ9VXJmObm7urDDQ1W6MZwyzNyyV+T4eblCbSgKTg7zRV2X9UGbzAyodrPHLzb0Yo1haOWNFmPNT7shfUXW/JfqbosRHa7IifD3xM514fiNIaK1dXUwyu71sq3tZOQGAOQmSHBJzq8z2hQbgKsG88PvZUehRzOKkrtKrIv0Q1W7mo1Y5aeEID8lhBXcOv0E+zmyxFs7U+Dn5QZnp2n89a4Sp6u6WK8jAHg4dBI7c9PZiA7B7hSrgDg/XNKAF3KizeaUUYRxWOhkZGTgiy++QGFhIQCw4uajjz7C5s2b536FFApl0UO6lkiHEgy1B3NhBjiXOGJaSDa7+GBmuKbQGAWp2BO/fW4jlFo9brYO4OeGdNW21cG4cK8XT60Lx2eGeUkXG/rMUkvVhhRMVbtRrHxQJscHZcaC5B8/wtTxBHM2xvpuYQHCFW2j45M4UpBuVxcWQc3pfBISOSQNlR7ph8p2NQJFbujXCUdL7hrWyC20nikdg6OsyIGh5gicSBhJGQJATKCPmdBJlxmFToDIHSIPV+CuEj6ezBbo6c6IrXO1PdiRGoaGniG8X3ofH+/Lwq71EbzP9Rs7knCzbYCNJNV3a8z8h25w2vzHppywc10Ya8dCsJRitacQmlv8/qAdxZciDgudt99+Gzt27EBdXR0mJibw/vvvo7a2FleuXMFXX301P6ukUCiLFu4d5+i4seaN1K3YuuO0lU5ydmI2IFvpLPUY8PX9Pmj0U2zhLwCcq+mGXDkEicjdYo2EUIqARJeMxabCEWsS/Tl+zegXc8GwEX9mMhQyb00Iz7U4NtAbzf3DyI6RICVCjGPftOCNHUlIChPjbA0TYeCyMToAZ2u6UVxhe75RWoQfJCI3yAK8oBiw7YtjDyQFtS83BsevKeDsBIuztwhbEoJQLucLvJ3rwnC6qgsv5sYY6nSMkIGfD68KgnpkHJXtauzLiUF0kAj/dasdle1qs7ofbtrMdAgoOM7Qps/9xhAV46YOucJQpRuDROTO+1y3qYZ56bJgkQdbhH63W4Mz1d1sxAkAEsSOpQxNBZA97sgU6zgsdHJzc1FZWYl33nkHaWlpOH/+PDZs2IArV64gLS3NjiNQKJTlhKXWW7Jh2LrjtKfl9sR1hc101uUeZ3x585bZ40Vlxo1tJne/pNiUpI64cEVabKCIffzhVUH46n4ffD1coNUbN0nT0QzNBj8YF2dg94ZIHPumhZ00fuK6Anuzo9nnflKhQFGZ/d1F755vsPg7ZwAzq9hhqOvU4lqzCvtyYnClScXzAUoM8cE/fWsNWvp0ePN0HaICvQETc2CxofPK1cVcPJKBn1/dN4ojros0OIJLiPRIf2THSfDb8iarDssAEBfohab+EeTES3C5kRFsT60Lg6ebC4pvtAtGw0yF1Adl5s7HROQAgEI3s/EWBLa+TKtnbx7Auakgnz+avrLMjAxw4uPj8e///u9zvxoKhbLkELrj3J4k5dUQOPr33HSSSjdmczSBUqvH6CTwL3+bBmdnFzT2DrF37oVbExAv9WEjOgShGglj8amedRkub2A2rXM13ewdPolSWRJ5ZJPmihwhMqP9UdE6iDSDdwoMKbKz1ea+Nc9kypAZG4Tq9gH8560Omx1VBRkyRAZ44b5Si9NVXUgJ90VtJ5NOemR1EC7cszyjyRYkQkIECDc91dAzhOa+YZy8xRgaCkVYyGP/9pXl+pfnN0UhMsAbb5+tNzNvPFKQDonIHa//5x0zZ+nK9kFUtjM1U9ZEDgA09TORLiJyAFjtLkuP9Ieflyu+ut/HjsAg0SY/LzfcaR/EsW9aULgtAfkpoZiYmMCd65esrsEeFttA3KXGjITO1NQU5HI5lEolpqb49wVbtmyZq7VRKJQlgFDh7qt5iXZ3jAj9fbi/8efOQWYzEuqOInU06yJ8cbHLGa8EiZAeHYiaDjUrdPJTQwXXIlQjIbShEAfiojI5UMY8RjYWrki7LO9zeJo2Mfgbn5xCU+8Q8pNDUN2uZo0EazrUmJiYgGIIyACwJTEYN1sH7Gob53b+AICOI7pITUtSqA/qu+1zLoZhzlSAlxu61Hp8VtWJ3esjcPJ2BwoyIg2FyQw/N2mtnwkfX21jU3fh/l4oqetBfkoIDm5fhcT/x96bh7V1n1nAh00IJIQkhAQCsQiBMZvxgjE2JV5qEyep43HasR03yVePp02bEGdp5su0k7TOtGlm2kycejLJtKm/SdLUZiZ1HDeOjak3ahvbeME2YIzZdwkQICRArN8f9/6urqSrDePEyz3PkydG272Sru7v3Pc97zkqMer0ZieS4w0WxknxaHYMEhQinKg1OFWLti5LgEgQiF3HqayypToFdh27iZJqPUOgwIrA2H2mGdtXJeOppQmQi4Kw+3QzchJkyIgJx/j4OFqcC4E+gxxnZKrxaK3hjtTA3anwmeicPXsWjz/+OFpaWjA9PW13n5+fH+9Lw4PHfQwjnbRN/j9THLrW7ZSmzXUFS3Q0b33bddu8sceMf/2iBj/7VhrS1O7Jl21BoSo6u47VM4t50QodchLlTEUHDiSNrdHxFiV0AObu081Ot9m/50CUDV3Bfz6+EIXpKtR2mzjHqlfPVaL0OneUAzs2gYh1JUIBE0DpDRy9dggJJCSHuC2vy4rGxdZ+xiRwpiDv0WgZY6bxtuTG4e3SOq/S1n/yUCqWJinsxMQXWwew49EMOqzT+TjdsIDyNtp1vB5LdQpkxIQjX6dg9oUIzQleWp2CVXOpSWRCXB0dqtmYiYUC+ziTiwQ4Wmvgx899gM9E5+mnn2Ymr6Kjo+/akXLeMJAHj9uBaYf/+wbSTipMV3k0UDOYRlFPjyAT8XF1pwmBgYEwWsbw+GINQgWB6B8ex7kmI+r0ZijEwU6LDNfCU1qjR04CNcZdkBKJfZc7nCpD5HmF6SpMTQOpUZIZf2pskJFn0C68CfIQnLlwGX9uHmD0GCXVeqzPVmN0fBKHWYTn4Sw1Q3QK01XIipHg10dcRxecb3YvJObS8uRp5YiPCMXeCuexcuK27GnS6qXVKYiPCEXf0Ch2HKxFgS4CZbQwGABSlGI8mh2NXx+5iQhREDoHqNdt7DHjk7MtXpEcALjY3I+lSQrG7K8wTYWSGj0utfSj3mBGeUOf83Na+pGoEDndRsAmOaB9dSamppGmDvdqZJw3/fvq4TPRuXnzJj799FPodDovHn3ngjcM5MFj9uHNFa07uHM1JlewREfDXvCI1uOnn9cwjydVn/101QEuFhnH28jfxPLfFWwREqMeNUS+gD1qTtpveUpnQeuGBTEwWsZxuFqPxQkynG/ux1VWa6WkWo8MDxUsT+ASLJc3GrE0iRJMP12QiG6TFXKRALtPN2NtRhQO0blY8fIQlyno45NT0EaKIRb4Y3n0FFKiwuyITp3BjDBasNxnGcdlOv7ij2dbcN5FQjsXSmr0KKmhSOHmxRokRohQUqN3cq1m42cHqvFgugrb8hPh70cR7flxMsaTKCdBiopm6nPeuiwBWbFSyEVBTDDo7dbK+PsBuYly+N+dNYavBT4TndzcXNTX19/1RIcHDx6zA2/dhglqOgex4y/etZK44ClgMUMtwcYcDaanp7H/cgcjJi6r60GbkWrfNPaYPZb95aIgRg/i7ip9bUY0Mx1Fqk+EeICugPxwuQ7NvWa8doAiYqQdRlpNj81X48+XO7FzYzZGxyeZltVLq1OgDg/GkXKq7VJS1c1Muf/nsXpmG+T/7BYYHFx8Xb5PepzbF+jprKXa7iH8+7fnwTBkxe7TzZhiyRlckRwA+O2xevyWJnHLo223hwb5Y3icxGjYWoGkSsUmOatSlXZBqsQ5mYiEFyfI8N0l8Shv6PO6AkRwuFqPbfmJ+LjcuXpESA4cPu8YqRC/f3IR5zFtGLKif4Q69rz5jbjD1DRwrsmIqZkVTe9L+Ex0ioqK8NJLL6G7uxuZmZlOJkhZWVmzuX88ePC4w+HrREid3sy0ktLU4R41C47tAK4prWce0OLdk414YZWOCsGsaGPykAj2sSo7vy65wSwUJCCxpJry22mg22GdA6NYnUa1pci+cZG6zoERZvSciKjPN/cjTytHeaMRG3PiUJASaTeeTtph+cmRlEOvRoY/X+6Ejk42B03YbESFGitmj8pzLfrEKdgX+EpywJqaOlHXi8NVXYzHUAJrxD5FKUadwb3QefXcSOi79YyXDiE5cBGjoQoLhjZShLUZ0ZCGBtkRHRIPQUTC55v7kZekoETjDm1QAHh9XToGR8Y5yWBhugrDYxMeCdJzK3VYkx6F47UGvFVaxxzTjuCyBuCnpr46+Ex0HnvsMQDA1q1bmdv8/PwwPT3Ni5F58LgP4YvbMBc8aRYc2wFcU1pa2r04VkYlbn+/QMsQmfdPNjg5Cbf1jzh5pLCN5OBiIfLo+ZNjC3PcvDgOU9OUrwz5HDbnaLCnog2mEYpcmEfHsTlHg9EJ6rxZ1TEIKx3XsDFHg3+KCMXBq50Y6GpFSUcAilboAD9qX7cuS8Du0814fV0apuGHo7UGjyRHHR6MzkFnh+fgQD9YJ2ZWIiBVKgB2KeKOJIdNwgrTVAgRBNDtIO99ZvRDVuiHrChvNDKftaMWiZgR7tyYjaVJEcyxUts9hOM3bMRIEOiPniFusXRJtR4b5sfg5TUpyIwNR+fAKPM971iXjsNVXShvNEIbKWbG3t1hU44GhRlqGC1WfHimxeepKV+rpjzs4TPRaWpyn/vBgweP+wve5ELVdA6iTk8tBuxWEgCmnXQrMI2MI085xSwGw2OTzPYfyYpGbfcQXlqdgsiwYLyy7xp+8lAqlGE2MfIbh2pRtFKHpEgxGgxm7Dpez7kQuSJ1amkImnstONPQi3ydAqfqe/F5ZSe25Mbh4/IWPJEXjzR1OJOjJQ2lTr2Opn5s0nSxpR/z42QovtCBJ3QUCclJlMFIRy6IBNRrnKzrtatsuAMXyQHAkByFKAi9LiId2GALptekKTE2MYVFCXJkxUpR0WzErmP10CpEaGQllctYKd8lNXp8tHUx1mVF4WDZebQjEufcaG9Iey1DLUFVpwk7N2ZDIRagf3gMgyPjTt43hekq+PsBvWary8wq9mfNBVIB3L4qmfnOQbtTh4cEobzRyOR4OR7ToE0gPy5vxgMS4KGwYMTIg1DVMch8V75MTfE+OrcGn4jO+Pg4duzYgVdffRWJiYm3b6948OBxT2HHX2pwrsl+wmff5Q67dtJMrlCVYcHITZRjx8FaAP4oL6GIA3sRIF4sGnko0xpamqRgFhmy3cJ0aqqqqmMQu47Xc4d4uiB1pTV6t3lE8AN+tSGLqU6RbZIwyqKVOuw6RpErYVAAni+upMXG1PjzMB1BxR67J20sNskhGVSO0CpCvfLecUVyHAkQWzB9pIba/om6Xjy+WIPocKqqxiY5AGB2ME9s6bPAYBrBn5sDAbgXGJP2GmlHjo5P4uC1LruJM4IDNOkpqdYzrtofbc1BRkw4ni+uRE6CDBXN/XhzQyZqOgfx0dlWLE6Qoq1/FF0sX57Vc1XI1oQjM9Y2hl6YTnnZkHbnH8+12hkiso/ppEgRGnosmDMLctZbrZre7/CJ6AQFBWHfvn149dVXb98e8eDB466Fq/Han30rza6iwyY4BDO5QlVKhNi1eT46+y04deoUZNos/PTzGrtFYGB4DAPD40hRiW+bgJPtbUNIC1hEZm1GNGf7gRj3jdHtKmFQAAx0O6WiuZ9ZUM/q/bEuKwp5SRHIS6K0P4kRIsagkGxnctr5DRamq+AHeEV02IiRChkfHG+qPABwsq7HpXfOH8+1QhYahH6atJRWU5lQD8VO4EyfEAOsQFFPcFeNWZOmQmZMOOIjQgD4Yc/5Nhgt48znOki3Das6BtFHExjT6KQdyQEd10EiO7blJyI3UY6Saj2nfxHB2owoFKZHAQDa+4fxmyN1GJ6w2R6Q731VqhJGyxiqOga9IvXeVE15uIbPratHH30U+/fvxwsvvHB79ogHDx63HTMxLfMGrsZr09ThdiLNfZc78NLqFKxIVd7yFapSIoQsJAAtYiBeTXnZOC4C+cmRAP2+HYmYIznzxguFPG5bfiKMFiuMlnFmAWzps1UyLrdRlYoTNwzYd6mdGVEmIISIaFvYuiG2ZqhjxB8dV7tx4Go3tuUnQiQIxKVWWxXkIt1CudZhE2CLBAGwjE1ifGIKsTLqO344MwoHOeIluEBaY77Ak0FgP0v4XFbfR4+UBwLwjuSQDLHsWCkC/MFpdHikRo8jNXpsztEwxJL9uRLCza7EcKXBcx2PbKLKPmb3nqcqO5FiSnA+ODKOL2gvoXJ9AP783lm71+bTx79a+HwkJycn4/XXX8fp06excOFCiET2xkrPPffcbO4fDx48bgPuBNMyjTzUjozczitUg2kUv6PJxPcLtHbvmUvs7G01CQCe3F1hd/sBll7kWC2l2WCPIROdiSvM14TjctsgHp0XDdPoBBMQ+cIqHaSiYJy4ocdxh5yqEzedc6ssY1SriG1wd5lFDBwDR0HraPrpioenianZQljgFJYkq1B6vcfjY7voChc7isEVPE1MzY0SIyo8BMdv9GDD/BgkRYbify+0I0YagjONRpetSzbIY1T07cdqDfjorH22V+eIzfAmURGKpt7hW2o7eUvEedjgM9H5wx/+AKlUiosXL+LixYt29/n5+fFEhwcPHm6RohIjN1HOTCPNJiJdLAKGISsjRl0/P8Yrcuep6mUwjSJOTulRNi7SMNlSa9KUqDeY0dg7jGU6OU7XG7FxkQYPZ0VBLgqGvx9VVXi+uBJFK3TYdbye8d3ZuTEb+y9Tk0mOAtu3jzqnZHsDiTAQplGqYsLOhuIKHO0fGccPCrQ4XNXl1gdnNjE04e8VyQGrGgM6s2qeRurkHfTovGgsjJc7jY7Pj5XiMosgXe82Iy2aIhsFKZFYPz8Gz6yk9FOP7KKCOLmOAYNpFJ/QHj9k2mqcbkF+IyUS6vAQ6E2jTMUoRzGFTcvnISAgAP5+wHN7KzlJlLdV1q/ClPBew307dcVHQPC432AYsqLNTOkFavVUe+XrGFFNU4ej+Ad5dtudrStUZVjwrC0Ctd1DeOfoTSyMlwH05At7EWJPwrADNIk4FwAiQqn3JBIEMG7RCnEwoxWqM1AtE+KJo1OKsTJVhRN1M08Wd0RCRCiipSFutSWgtTwl1Xp8a54ay3QKPLn7PABAGhLok37GV+jCJpGli8W+y+5jIxwRIghAx4AzGfv8ShdnAvlljirQn2mtGBn3h8Px6MpJe09FGzLUEieLAi6H7EjhFJIiRVDLREzriwvsbYHjeOMxc8wovfxeAB8BweN+w96KNuy6FojfXLPpBe6EEdXbdYVqMI2ittsEo2WcycICgH0X27Hr2E08nBmNJdoIwMWiQiZtmnstOFTVhT3n25hFyDBkxcJ4GVORIU7HALBQI8XFNmpRJZlPu880MynZ21clY0tuHNZnq500OyXV3bDQ1ZdNi2IhDRXN1iOYAAAgAElEQVTg/TJ7ozlfcbXDhKsdJsxRiZGuDrcTgmfHUpWF9v4RyEOp8e/PLrajfdBGINgkRywIgHlsZheHria/6ocCUM8iOU8uiYNKIsSuY/UYpUXaqjAB9EP2AZyn6u1zqsjEWdFKHRTiYNR0DtolqrvDmYZePJgR5ROp+KcHUxkTSLYRoSO+bA/El++dZb53b0g9m2TzROfW4TPRYRsFcmH37t23sj88ePC4TdiUo0Fwbx3y8/NRq7fc8yOqrqIiCOEoqdYzHinsK2ly1U0ckqtZC6bRMob9lzucPFnY5GFgZBy/3TQPx2p7cFM/hOquIWTHhuPFNXPsks9HOAgDW4C818tFmgvElVgdLkTn4Ci+mxuHP55rxQ29ve6msn3QaRz9D2ea4QquSI43/juE5MRKhWgfGEVuohznmozYpJ3EpsJl+PRSJ/54rhVT00CMLJQhOQCQrpZAf6MXC+OkKEyPwhuHavHmhkxYJ6bwMzq3asOCGFS2DzoZP3qDw9V6zImS4IXVKQzJSFSIMDpOvd8zDb2oN5hhGhnDETpdnssRe+fGbOiUYob4hIcEYrVqFN9dmw+1TORE6l0ZAfbQtzX3WlCQEunz++FhD5+JTn+/vd/B+Pg4qqqqMDAwgJUrV87mvvHgwWMWoQwLhkZMLRqBgdRP/14eUd2SG4eF8VKmokMWwI2LYlF8oR2vr0vHgxlRdu2E35U1OpEYdlXgd2UNWJNGjQ+/vi4No+NTeONQLfOaANDQa0FL3wiSIsVMxaayfRBGyxgGhsfwQVkjRicmUVLjvpXEzstyB5LxJA4OYLxqVqQqUWcw4+kHkvDagWq7CSNH5Gnl2JgTh/86Xu9RgOyqjeWO5GhkIUiKFGFOlAT/XdaIlamR+OhsG+ZEiXCuyYhY0TTS1RJc6aDaeI7eNABwjBZfX2wdwLrsGIA+dtk4zarw7FiXjpZeC0NqXSFfF4FX1s4F6LDMt0vrmKk5dlvqjS9rnZ7L5YitU4rt9mtwZAIKIfWbc4xLghdGgH+52okFdOuUdz+eOXwmOp999pnTbVNTU/jhD3+IpKSk2dovHjx48HCCO8Hm4BgVFvlEXiLjO0Iew3asJbf1mK0409DHVG6qOgbRa3atoQDdLiEtk+tdQ0zApmOLhCs/yVHP4QmPZEXjkSw1XjtQjYjgKfRZuaMSSMYT25CPjKsXV1CEgQRd5sTLUNHSb+eR02cew6WWPnhjMTQTrU5qlASl1/VIjZJgfbYagf5Ubpd1nNpiuR4QnW1FRYvnSSoAKKmi2ly/PFiD+IhQ2+01emTGSHCtw4REhQiXWz2TRHFwIP50rgVX2wexNoOq7G1dmgAAdnEbz63UQRspRptxmPlui1boUJhBkV5/P9rrhqMqapmgqoT/e7GJ0UGR45dtBPjmoetO7biK5n5GGL0tPxH/8kiaV58RD3vMikbH398fL774IpYvX45/+qd/mo2X5MGDx23E3Tqi6m4s3jQG7DreiMIMtdN9h6psGhBS2XGXbeVpBBwAEiNFEAZSi/YPCrQQBPozr1mgU8A6OYlzTbbFdt28aDT1WnCtw4S1GVE4VOXsZ/N0gRbDYxP46GwrBkcmUElrfVyRHC6wKzvVXVSVhARdVrRQ+8P2u6kzmG/rKDkx3XPUGhFyeNoQiNMHnSsmrtDQQ1VcyhuNKG+0d9smPkIfnmlGdDh1DCyKl+ICi0QVJCvQPzyGax0m5CUpmNYX+b5JFYgdoHpDP4Q16VFMKwt0VhZYlRaFOBi/K2tEQYoCABgHZv2IH842GvHO0ZuIEAnsjl82GVeI767f4t2EWRMjNzQ0YGLi9inzefDgMXv4qkdUb5dBobd4Ykk8o4lJU0vwxpfc2VZqqRCHrnXj4axoXG4d4KzMELDbGf/tsIiX1TtPTbH9dbhIDmgyoKGDSd1tm0ucS2C2TkIpFqBolQ4G0xh2Ha/HyjmRdn46XGATpNlEeEggBkcmoFWEYllSBNoHRnH8Rg9TZdKETqBtOBCqsGDo6TZiYkQImvq4x9v1rFYjuzLFBjsW44JDpaiM9hyar5GivMH2Pa2eq0LpdT0jLC9aoUNkWDBeO1DN6Yj8Vmkd3iqtQ4Zagn//dhampoEPTjU5tT6PdATgyKcUiT5W67pduWFBLPZXdmLnxmym1Vq0Usc4Ld9tFyV3EnwmOi+++KLd39PT0+jq6sLBgwfx1FNPzea+8eDB4x7BrRgUuktupiajpiEJDkC7xc/uPrCuttPU4di5ab7d/VzZVqCN5nK1EfD3c27mrJ6rhEYeit2nm/GTh1KRGhWGfZc6sDJVialpW3tq69IEWMYnPKaJc6Gt37N/jSuSQ2Awj+Fi8wCWpyqpx5tsZGBulBjXu50rOLeD5IDWqYAWI7OnrkiVqW2YWobYBMYVyXGEOydmEjy6dWkCLGOTjAXAtxfEIFERioaeYTsROak8kdt2Ha/HtvxEbMtPRK/Z6jQhR1DVacLHZ1uwJTfe4/62099tSXU3jBYr5KJg5hhNjQrD9lXJWJoUwTw+KVI86xq6r/ui4+uAz0Tn8uXLdn/7+/sjMjISb731lseJLB48ePDwBQbTKIr2XHYKBOUe5Q1wum+mI/Ou9DSl122VgqYeC5YmKbC/shPbvqGFMiyYCZHcsDAWRssYiivaoQwTwOCBmBC8vi4NgsAAvLLvGjMxNVO09Q8z74O0sEAb5fkCtgB5bnQYpU3iwEKNFDmJMrxfRlU0flCgxX+XNTIj+KBbcw09FpRe12NuVBiudw8hKmQK3SP2rbkCXQTK6vuQIA9Bs3EECREhaPaS/BCQ4FFHQXLHwAg+veScteaIwjQVNiyIQZo6HAbTKLZ9Q4vjtQabRoeVaZYaJWEIdNEKHQSB/pwVuXq67cZum5JjlF1llYuCmP97S0y8ftwd4Ir+VcNnonP8+PHbsyc8ePC4p0D52AzhUFUXEiOoqBhfDQoNQ1acazI6je2SsXh2RWdvyWnsbQzwODLvqE/y9wM2L9bAaBlDJ21AV7RSB2GgHz6/0oU6vRm6SBHqeyx27Yy1mVH2rysRYktuPPacb8Mn51oQKyUGc96RHABYEC9n/s0mOanhk6gdDPD6dQDuHKiZgC1AdkVyAEAuDkar0VaxGRwZQ2G6igkuBYCqzkGbmJvOl3IkOaArUuuz1bhKkxVfSQ4bm3Ji0dI3zOh5gvyp7c1Rie3G7RMiQtHcN4wnl8TBMGTF4Wo9ilYl2x3HIUG276DfYvteic4HDtoeAMiJmEBCfBz+71KnrS22UoecBBlT0XFEapQE21clIzVK4pKYOBKb+5HAeAufic7KlSuxb98+SKVSu9tNJhPWr1+PY8eOzeb+8eDB4y6Fp9FZX6otclEQSmv0WBhPnXccx+LHx8cRK5rmvM8Rjvqkkmo99pxvs3O1dRQqP5odg7dK61CYEcUQI8CPIW5nGnrxydkW5CVFYP08Nfacb8NyL/1P2K2kI9XdCApwXvh9JTlfB0jrh2AvR9vOcarIFWq7hziDNmcCx/0g+ilHT6HmPoqkLYiXw9+P8tYxWsZQWqPn9GNyN7LPRkVfICr6qLZXQUok9l3uYNqmrsA+Rl25KftCbNy1f3EfjK77THROnDiBsTHnK5TR0VH87W9/m6394sGDxx0OT6XyLblxSFSI7DKdvDEo5DopVzT3Y9exerw0iwJqsv+F6SpmxJddMRIGBTi1sIyWMbx7vB7nmox2xIgIk/dUtCFPS1VlJCHenV7ZraTfzsDsjiBCFIQ+D6Z9M4E6PBidg67H7onYePVcFSTCAPz5MrWoP5QZBWFggJMTs6NBoTdIiw5Dz5AVPWbu6hhbyAyAaYvNBM8XV2JxAuVds+vYTTyxJB4vrU7BW6V1zCSVO7y+Lh2CQH+8su8aVs5RIMW/G8np8/HSp9zOyVzwhpgQ1LPsEbgep5QIZ/Wi426E10Tn6tWrzL9ramrQ3W2bGpicnMThw4cRExMz+3vIgwePOxLuSurkJM2M49J+M8KgAI9Xj1wnZVJheau0DrmJck6SJBEAW5fGY//lDo/bMJhG8fZf65hYB0K+SOxDz5DVruXSMTCMwjQVyht6ca7JiKcLtHi/rBEbc2JRXNGOFJWYCZwkLZIDHHlLBOyYCF8RFSZAN0c7TBZqT3ReWp2C+IhQfF7ZiaO1BmYfV8yJZBLRvQEXyYmRChErDcW5ZiNyE+U4UmNwquh8ec15soyL5Aj9pzE65ed0Oxs1blpmcBAyg9UW8wXp0RJUd1Ej5sSosaK5347YZMaEo6K5H3laOXLi5fgt3abauTEboEkSMfgDgOdW6tBS2Y1FWjm2r0pGikrs0dbBG13a5sUazIuVMtt09ThCYNh+PWwyr5aG4FBVFwrTVT5/XncTvCY62dnZ8PPzg5+fH6cDckhICHbt2jXb+8eDB4+7DO6IyvPFlR6vHslJ2WixMpUc9shvTqKcIVJsMhMuoLxq1r931mNCeW23ySmA0WAaxb8fpiozjkJSx/aHKJg6dRK9R53evcDXcXR7piQHACfJAYD6HvscqbdK67A+W82MWocKqPaXLyTHFToGRpmJJ3aI6UzARXLytHIsTVK4HbF3B61ChMZei0/Pqe4yIU8rx9qMKFS2DdpVoghIUnp5o9GupaRTip3CQEFX+NKn7cNm09Tup6jc6dKutA1gT0WbU6uVDa6qKduvh4CZMjzf5tXE2N0Mr4lOU1MTpqenodVqcf78eURG2vrPAoEASqUSAQF3fh+ZBw8eM4c3JXWuq8etyxKw+3QzXl+Xhgczot1ug5yU3y6tYwgSe+QX9DzEtvxEiIIDsSU3DrIQ+3PPJ+da8MI3U5wqTTv/WgejZQw9JtsiRfa/3mBGVacJy1MUWJmqQo/ZaouNyImFNESA612DKLvZh5O007K3Oo1bGd1ma3hkIUHoH3HfniKRCytTVTjD8ompbHOupixOkEEUHOhEfrhaPwqxAL106yg3UYbgwACU3ezF5pxYGIfHsTRJAevEJGdcgq9wNANcGCf1Wly9OUeDvCQ5ntt7Ba+vS0OPeQy7jtVjmS4Cp+v7EBUWjG4XuhcuE0I2nlupw43uIZTU6Bnjws2LNUwFkU3gN+dosKeiDT/O9OGNs+AYJ3GlbQBP5MVjyxKKlDgK8+sNZjxfXHlPx7rMFF4Tnfh46sOdmpry+FgePHjcm/C21+949ZhFl9kXxMupCREvRmE9aXyMFiue3F2BhfFSTExMYm+DPwok1CK153wbchMjmCttpUSI2u4h/InjKthxVP3Hhak2fx2a6Dj64Vxo8Rwv4C3Yqd7PrdBhTUYUfnmwhllw2RoeTyQHtA9PW/8ITtT1Il9HufRmx4YjLiLUqZ3mKkuLq/XTy9LHsB2fR8anECESYP/lDnxv2cwrA67M/+AwQUaM/QjWzYu2e1+5WpsPzaWWAey/QmmGSBaWK5Lzwwe0OMIiMFy40T2EFalKJqesME2FtRlRTo9TSoTYsiQeeyracFrvj78bsiJG7px1ReDuAoJocPZUtGHLkngnEuMrsfH3o0iY0WJFJ/153+vC5Bk5I3/88cd4//330dTUhPLycsTHx+Ptt9+GVqvFo48+Ovt7eRvw7rvv4t1338Xk5O0xyeLB416Eq14/l8DYYBplTtINDoLJeoPZ48SIUiLE0qQIbF+VjIXxMuC4/UmdvNaha93YU9EGwB/lJbZWB9EuEPK175J78z4ilHVcYGYLOfFSJs+Jrel5bEEsrrUP4nCNHjoVdRX/UGYUQ3TmxUpwpd19HAXoaIOym73I1oQz1ZtT9IQRV0r5rYCdHJ6sFOPXR6jPXXaZWlIcxcHegJAc0j567UANQFedFsTJmAiJpEgRSq/bnudI3p4vrsT6bDUAYOVcJZanKvF8cSUjJN66NIEz7HNOlATvnWzEzo3ZMI2MMdv/ydpUFF9oQ0OPBSU1erswVvL35hyN05QUOY7KDf4422hEZO8Iyup68P0CrdMx7+kCwptIEm9jXUqq9VT7q8JG+u91YbLPROe9997Da6+9hueffx6//OUvGaIgk8mwc+fOu4boPPPMM3jmmWdgMpkQHs6X+Xjw8Aauev1cV5TskzfxFuE2+nO/vRdWp9g5ITte8SZGivD9/AT87lQzvpUZhb/QItjFCTI8kKIA4Id3j91ETaf7hZ4QAfY+ztdIoZIE43C1Hq+vS8NfrnahornfqYrgDdihlWxNT2ZsOKamgcM1erTQI87xEWIAwPpsNYat3k1SkWiD0KAArM9WY2B4DCfqnKMovIHjwpoWHYZHsqLx54sdaOi10B5G1IJe0Wxr9ZCUcV9JDhvljUYMj9kuQMNDBGhh+fOMTVBdhVipED94IAmGIVuLkehaGnvM2F/ZCWloEFKjJIyRIwA7kTkbn12miPD+y+3YsCCWuV0pEaKhx4KkSJHLas+eijZGt+UYAQHAbuKKSz/GdQHxk7WpzOMMQ6Oo6jTZVV78/WBHbLyNdfHlYuVegc9EZ9euXfj973+P9evX480332RuX7RoEX784x/P9v7x4MHjLgXXCbVohQ5JSjGT5eNtyZxcrZbV9TgtJGxNyF9Ykz7nm/tdtmYcUZiuwsI4Gd44VMtMoxgtY/D3m8bnlRSh6TGPMRM44ULq1Pnd3DivdTpcyNdFAPCDhSYz4SGBMJhGmRDSbd/QwjA4jCPXe/CP+Qn4/Sn7SkSKUow6gxnLdBFIjBDhj+dakRQpxscO+7RQI0V6jAQfnbXdvm5eNKzjU3YVCgLH6kFN1xC+X5CE7d/U4bm9V/Cfx24iUUElh7PJFNtFGYBbPYwjJMIAmEYpgnOFVX1ynOYi1Zj2gVF8ebULcawE818erMHaDBWzD/95rB7PrtRhblQY8xhX39dJ+n2Q90OSxgl+9q10yEUCO3dktg1BAe2b9MGpJuQlyjFXLWHEyz96IBEhgiC8VVrHEEQ2uC4gmvoseOOQvd5pNiovvlys3Cvwmeg0NTVh/vz5TrcHBwfDYvFN5c6DB4+7F55K5VwnVEfXWG9P3ORqtaZzEBbrBOZGhzGtBXd4fV0apuEH8+g4Wo3DTGI2Gz9ek4K/X6RhWg4ZMeGcJnFsE8GSGj3Wz1NDLhJ43Ad3OFXfZ2eid6KuB3V6M1N9qOoYhFIchDzlFMKEzqdrkjp+ur6P0aDUdDm3OC622XKvCCTCIKxZqEJKVJiTQSIXni+uZDyCDldzh1OySQ7c6GG4QEgOAGxcFMv5XTmivMmIctYYdo95DB+dtbVkzjf348ndFV7vAwEhO3NUYhiGqJZaRZMRSUoxk1cF2i6BgH0sOO7Xf520kfMPz7RALqKrMG7I/dqMaGYa6n6pvNwu+Ex0EhMTUVlZyYiTCQ4fPoy5c+fO5r7x4MHjDsZMEtBdRTnAyxN3r3kMeyrasGNdut3tP3ogEf91sglP5WlQp7cw+hZBYICdRw7X4pkVG45PzrVSOiAapBp1qcXIECoy4g461oGIXGcTx2rtp59sRNAfAw6J56vnKtHQY0Zj7zC0ilDESkNRVt/rcjrJcVT7j+dafa5GuZtI8gWx0mC0D1AkSOA3hbFpf2Sow1DVSUTQ9iPn7PT1uVFiaOShOFJjwOq5Srv8MQBYmhQBP1ZoqCdIggNhsk5AIQ5Cr5mqrMXJQ9BqHMENvZmpGDqSdDh42JRUddvt9tqMKM6U+qO1Bmbkn4vckwuI1Kiw21558VbXc7djRunlzzzzDEZHRzE9PY3z589jz549+NWvfoUPPvjg9uwlDx487jj4koJMTqhLkyLsHuvLidtgGsUV2n/mVL09ISCOuR+W209VsStGjqZo6dFhqO4awokbPczo+7b8RPj72QSlJ1ltGS5flcUJMo/tMbEgAOYx10MPmTESXOugqjCL4mWQiYJQSnvTsJ2EHcM42Qu8YzK4t1ieooAqXIjiinYkK8W4aTAjVirExNQ0uk0z19l4AiE5ADA2TXkR2UgOmKRxghRVGEN0rnebmc/CkeQAwBk3BCddHYbqTvuJMpOVqkIRkgMArUZb1WZVqhJHaw1ObVdHOBIhNsn52cOpCAkOcshps6KsrhcG06jdb2ImFxAzxVe5ra8TzqEqHrBt2zb827/9G/7lX/4Fw8PDePzxx/H+++/jnXfewaZNm27PXvLgweOOA3FGdpXFwwY5oc5kbNVgGkVVxyDe/msdU5UodTCp+7+LNhLyYLoKq+g2zZsbMulcKtjpLcBK9CY6itcO1EAUHIiSaj0e2XUKj+w6xVx5uwKb5OTr5E73x0iFDMl5eU0y3txgb6qyc2M2Xi6cw/x9oaXf7r15mpSKoFOuM2MkmK+hRvjV4d5/xifqepnR+Zt0G6x9YPS2khxHiAMpcXCCwqa1ydPKkRARwvxd46AZWpNm34bzFo4kxxWyYynyvXVZAi1oB5JVIjT1WpBDx0Ps3JiNL4ry8dwKncfXO9PYx7S5CLmXi4Lxwakm734/t7nyYjCN4u3SOhhM3OP9dzt8IjrT09NobW3FY489hps3b8JsNqO7uxttbW34h3/4h9u3lzx48LinoAwLxrb8ROy/3OHx5Pq7skY8suuUSydYAPh/8uIwV0otmI/nxjNXqRkx4Xjhmyn4oigfXxTl4ycPpQL0ArYxh5qsIT4oRSt0WBgvw8J4GT7amsPY+sNL8nCq3rmtw/aFudZhsqteKcUC+PuB8TIhIPsFADvWpeOtb2fi6bkT+M5CKmInN9FGqFQ0cZQIgxBF76O/l2f1rcsSIPUyjwsAoiT2i+z8WKnL+3yBeYLa4WZWRaq80WiXWE6COAl8cWPeuiyB+ffLa5Lx4zUpCA1y/yERgrn7dDPTujx4rRvvHL0JIx2zQQz9tEox8zyiYXJE6fUep6gGX3ArFwrewJeLlrsRPrWupqenodPpUF1djeTkZISGhiI0NNSLZ/LgweNewGylICslQqyfH4NHdp3yGNfgDdZnq6EwN+L6gL+TQJhLFD0yNslUMkiLge26vH1VMjMxBgBvPpaJ5t5hvHagmrmtaIUOF1rcO+nGSoVop4lMqCAQx1kVIoN5DM/tdV78yH6tz1YjKVKEv1zpgGwawDSVzn6dJTYmGVBsPUovKyIiOMAP1slpzn0jlawncjUwmMdgHh3H6QYjVs6JxPw4mZOmx7HKc7l9wOV9t4q5UWIE+Pt79I5hI14Wgpb+EWTFSnCV5TtExtHXZ6vxnUVxMAxZ8ZsjtvdGdD7rsqJx4Co17VaYpkRJjYGewBPi0LVu5CVFoKRaD7lIgO2rkuHvRx37bazR97nREuZ4IG7gm7ST2FS4DCbrFA5XdTEWCfdjivjXBZ+Ijr+/P5KTk9HX14fk5OTbt1c8ePC4IzGbKchkzJZr3JaN7xdosX4+Vc3Yd6kdu083O7nj/upQLYSjlBK0qmMQamkI1mer8adzLXj+m85Xwmszo5CrjXByXVZLhWjqHcbl1n6cYVURjByp4FziVEe0s6o1XBofNojYeUmiDGeb+hHoD/zrFzW4oTfTp2pK/GwatU02BfoDEw62MKOsG1yRHDZ0Kgn+9e8SsOvoTZxuMEItDYFG7tsFLNE7zRYc9UjeoIWehrrqYK5IBNe95jGcaeizIyYAECak2n8xshDGbDGYbjONTUwC8MOWJfEMIekcGMHCeCn+/fANnKiz14oR8ggAHQPU/sSKppGuliAoKAgXW/rx5O7zds/5usz6Zuui5W6Az2LkN998Ey+//DLee+89ZGRk3J694sGDxx0JtjdOSVU3dh2vR9EKHQrp9o8nDQH75FrBSoh2N25L/v7kXCsae4gI1V5vc655AAC1ODmaEj6eG8+8hm2iRQLQCwvbdZk9Vr6/0jZVxW47FKapOL1n2AgXBmJwdMLtYxxBiNBZOl7h00u27T+hm0DjtBKnG+yrR44kZyb4dUkt/P2AEzeoapMv01hZMRJc7TDhocwoVHcNYX22GhJhAD4628Z46ESKBOixcAeRfpU4Vd/LOEWzQT739042MrcRM0guCwNvTC8z1BI8nBnlpAu7k8z6ZvOi5U6Hz0TnySefxPDwMObNmweBQICQkBC7+43G2Rk/5MGDx50HdhuIRCQkOYQPuoOrZHMyxeLq5Eo0BC+vScaJul68vi4NgsAAvLLvGjYu0qD4QhuWRE7ibE+AU8ih4/6zX5/tugyHfC3S0lg9V4mHs9TMtM0cVRjqe8yYFyuFMiwYZXUG1LAqEBqZEMO3EOJJIh/mqMR0NQcwjPghQR2K0w1Gpq0CAHGyELT2j+DbC9So05txtcP7Vg+B2TqJVz+nWnJhwQEYsk7i5TXJKL1uQGXbIKLDg9E16Fx1K0iOgDQkGFc7TLihpzzUFsRJmVagHy2DmSnJCQoAxn34GEOD/DE8PjPmFysVYvPiODT0WLDvcgeW6eQ4XW/EtxfEoNdshTREgLiIUPz2WD1+sjYVqdFhuNI2iLdK65iKIFj2CYSwFK3QQmKytcnI74c9Qfh1mfXdSaTrdsNnorNz587bsyc8ePC448GuyDTQ1ZWGHjNDFjyVuwvTVUhUiAAAZXU92He5AxvmxzCusikqscvnAsBNvQXb8hOxKEHOxCiQE7KElub0DFlhtFgxSq+SnsrxRBhNWmjkeQ09thFm9hjzb+lFzVUcQFu/rV310uoUJ62LJ5BcqxusmIiSjgCgg9LulLCEuK10u6bXPIagAJ+HaJ2wMF6GE3W92HepEw291PvjIjkAUHbTpgs6QHsKsSsgrp7nDZRhAkxPTaOHo2XoCp5ITp5Wjh8uT0LnwKhd5SJeHoIW4wiT1wUAp2lh+aeXbO3Gl2iCbKXLaJU0UWF758hFQXak5bmVOnz5pfP3bxiy2mVNfR24nxySfSY6Tz311O3ZEx48eNzxmGlFhqCk2tlxeN/lDqZ9sH1VMtLU1ImWS0Ow/0ondm7MxsflLcxCQa6mj3RQrStHYu3CIXgAACAASURBVOGpHK+UCCEKDnRy0GX70uRp5YiLCEVxRTtzBb9hfgyUYcE409BrV0lZFC/FBTrXanxyyk6QDAdvHACYoxTjhg8BoptyNNjrsEhKQwRuc63koUEwDo8jVBCA4bFJREmCOQXE/cMUsSAkhwsRoiD0WcaxJk2Jiclpxt9mNmEYcl8Fyk2U4VxTv1ctwh8UaPHfZY344fIkFKQo7YgvALTQnjmvr0tDdZcJxRXtWDEnEsdv9GB1mpIZ9ycxHY7HF9tT53BVNy62DHjlLQUAmxdr7qnKyZ2KGaWX8+DB4/7ErZa7fdH4cJEqsPQyD6arcFNvZhblwphJNI1LsEQbgY/OttqJjB33z9HskOzX9j2XORf58kbWdBV9Be9KXHyBFd75Ww5juQB/e9dfb0kOaVOdb6IqKRJhICNMlosF+EGBFheajXbOyCSL6+8XafB+WSPydRE4UmNwOSV1xYuE84QIEfosAz6NeBMQokXgDVGJFAsYQ0jb8ygBsSjY8/NvdJuwLT8RqVESGEyjTMuVpJkTfHimhfnuj9Pkje1pdJDOUStMUyFREYr3y6hYh+dW6tAzZMXazCgAfnhy93msTlM5ER0u4j4vVgrDkBWGIevXKv691x2SeaLDgwcPr3Gr5W72842WMeA4kJMo53z+ltw4LIyXwmgZt3OjJQ61gyPjdplLypBplHRY8KMVyfjobCuudVALvloqdHp9ovkhCxLZpw0L1Pj1EXtytSxJjqlpW/yBN7lQjhAJAmChF3hXEQ2eQNpUpNLEnr5iT/uwQbx13i+jhLYzISeOIFNLpOrhLfK0cvQMjaK+x1Yp80awHUJ73qjCgplU9CN0K7Fz0LPB3Ym6XmzNT4RSIsTbpXUMea5wcLRu6LUgQR6CZpYrMhtt9OfvKEQPCvDHliXxUIYFu/WhuZPFv/e6QzJPdHjw4PG1gPjdyEUCzjgJpUTI3SpzMdZ9vJNaEK/S/i6klXOlbRCpURLOq2WjZQy/+KIGBSkKHLrWzambIJNOD6arIAsVIDFShDe+rOWME3AFi5sIiJlAIQpCL0u/sm5eNDM+TSANCcQp+jNYk6ZETafJroXmC4SB/szYuoGurngiOfM1UlxuG8AyXQRO1/chK1aK/6YJF9dYvCu00ponPYtExMmFaDWOYn6s1M7PxxU+OdsKuSgYhekq1HabnKahCFyRHHd4q5Ry7N68WIN5tIkiqdgYBofxWbM/Fg1ZaeIuwyfnWpjt36vi3zsNt65e48GDx32JWy13s5/vypl1S24cvijKt3MpXpwg43g1oH2YOp05VjfeKq3DJ+damSgJtllbRZMRH5xqwpO7K1yKQ3WRlHj68dw4/OqxLCxNoiIB8nWRnI9PjQrz4VOYGUYchLcHrnQ5ZTwNjEzgbDNF0o7UGLwiOTqlvRicOAiPzmCOPSmS8uIxjVCEjJAc3MJY/AbaTykpkvqM02MkXj2vpIaK9fi4vAUPZ0a5fNzquVS0BInWSI+2fZc/KNACAJ4uSETRSlvswzw6LmLP+TamQvPKvmt4ZNcpbP3oEk50+aNnyAqlRAi5SGBHskg1NCMm3GPbypuYhns9ymGmuOWKjslkwrFjxzBnzhw+vZwHj/sIt1ruJs83mEbxydkWl49RSoRQhgVj82IN9pxv8xii6YjVaUrIRQK89nmVXasLDtWhzTkaplrDRro6HPU9FnxythX+fn7MtBV74WajtttW5dHIQpiWx2zC2woRqZw8lBkFhUiAj85S/jhp0WLUdDlrg+od9EIzHdcGwEQ4BNFz5o6ibG9AqkIE3fQC3kNrjGq7ncfpibcPF/ZUtNk5SzuCTNf1WcahFAvsTBDnRlOkimhzCNi6JqL7IZWaG12DeOnTa4wbsuPnS/72Rp/j2G6d6WPuR/hMdP7+7/8eBQUFePbZZzEyMoJFixahubkZ09PT2Lt3Lx577LHbs6c8ePC4p0DEmfUGM1NNcRwFB61t2JIbhy258Uze1c6N2TAMjTKk5JupCvy1lnvqqLTGYCcq3bEuHb1DVmZyat/lDmxdloCEiFC7xGmCz+nR6ZIaPeoNZrcTSY5wRXLe3JCJsYkpu0iJ2wFSOfnymv374iI5mTESTE1Nz5rD8YUWipBeoltLM2mbsUkOWMnkVTRZYQu/Cfz8KLE3EWKDlUAOL4JSCQwsAfSD6SqkqMTYlp+IgpRIGC1jjCj+zQ2ZEAYF4PniSixPiURFcz/tqGyzKvivk42c+0pe43boc7jawfcrfCY6ZWVl+OlPfwoA+OyzzzA9PY2BgQF8+OGH+MUvfsETHR48eHgFb8SZq9NUtivUsGBsztFgT0UbdEoxzjXaWjWuSA4ArEyNxHyNDBbrON4va0Jtt4khTGRyypWY1xG+kBywPFoy1BJUdZqwME6Ki60DOH7DAK3CPmZBGhKIgRHv3JQdNS7i4ACYZ2hSqBQLYDCP4ZqPZoNKSTAMJiuEgX4YnfAcNeELBAF+GPMivoILpMLCdnd+amk8ClIi8TMfiCXbsLFnyIpesxXfL9Ayhn/rs9XYX9kJYVAAQ2haaY2Po6MyF8kh2LxYgy25cZz3eRPTALqS4/gYYVAA3jl6EwvjZTzR8fUJg4ODkMuphNbDhw/jscceQ2hoKB5++GG8/PLLt2Mf3aKtrQ1PPPEEDAYDAgMD8eqrr+I73/nOV74fPHjw8B4G0ygWxsuwc2M2GgxmpoVUtFKHpEgx5KIgahyYPoGTEv88jRR7KtpQ1TGIubR+YnmKArmJMvxbifMoOgAcq+3BsVqbcDYxQsQY+ZHgxZ88lAplmBCDI+MorenGqfo+rJsXjQNXuhAnD2EWsNVzlbBOTKHspmtixQbxaKnqNCE3UY5nViThyd0VnGJYQnIEAYCnzpSjxsUbkpOiEjMmi2yQysXyFIVbLx6n59Hto9kmOQBmTHIINudosDYzGn8614LD1XoYLeOwctgsP12gRVCgP+ckHduw8WLrAJ7cXcFUXpQSIUIElG8T2327+IJN55WnlTOTes88oEVylMTuWGe7KLsiIt5cDABw+5hDVV2MIef9Cp+JjkajQXl5OeRyOQ4fPoy9e/cCAPr7+yEUfvWsMTAwEDt37kR2dja6u7uxcOFCPPTQQxCJRF/5vvDgcb9hpuVxVx45ZMHZnKOBXBTMXKE6RjmwT+Q6ZRjytBEAbmLN3EiEBgdhQZyUM6cIAN44ZNPgGOl4gqYeC9ZnU0JXSvfRByutT2llTeKwHZJ9wY516VibEYVes9VuAeTCLA9oMSAk57u5cWg1DjNkjVSbJLQ3jbcg4aNE70NM/OBQDbkV5CbIca7ZyIS4Ooa5rs2Icmo3/qBAi8mpafj72dyLHY8fgpN1BoQKuJfBpEiRnfv1S6tTME8jhcE0CqVEiCeWxAPTQF5SBG4aKPsD0gotWqHD2OQU8z2vTlMiOz4CVR2DDNHReRGd4q3vFHnMmYZevPFlLSWWnqY0aIkRIq+dy+9V+Ex0nn/+eWzZsgVisRhxcXFYvnw5QLe0MjMzb8c+ukV0dDSio6MBAFFRUVAoFDAajTzR4cHDAYYhKw61UaOuMXLfFjV3rzkT8SOX8SDoq9xzTX3Yc77NrUU+eyzX3w/48AwlEC1Mj8JLn17DhgWxTGvh5TXJuNZhQnWnCW39I3bPNVqs2F/ZiT0VbdiyJB6gp2cA4OGsKMAPdtWXjYtiAfgxV+6JilA09Q477R8bGWoJchJkMAxZ8cHfGt2SHAJZSCDSYyQ4Ve/+sTNpGzkGdlZ1Ui2rA1e73D6PtJNSlGKopUIEB1IVDQtdTTKNTDA+NMJA20CvLDSIcVz2FeeajZivkWJ8ktrGlTZ7IfpNvbOeqLHXjNIaA4yWMXSbrMhLlKO8iftzdJeS7hjxQRyRN+do8MLqFKSpw/Grx7LwdmkdQ9BJK9TRAuFkXS+ajaMgXpGbc5wdkV1ZLHiTLccE39KifnaFik3s76WgTl/g83j5j370I5SXl2P37t04ffo0/P2pl9BqtfjFL37h8w6UlZXhW9/6FtRqNfz8/LB//36nx7z77rtISEiAUChEbm4uzp8/z/laFy9exOTkJDQajc/7wYPHvY6eISsOt1Ojrlz4KkdTlRKh3WgtaEKQohLjhW+m4IuifHxRlI83N1AXT29uyLQbM2c/d2oaKL7QgTzlFGShFIGTiwTYsCAWACAWCnC4Ws8Ig9nPTY2SYPNi5/PF8hQFBoYnkKKyHxWPlYUiXW0bad6xLgPLUxTM3/M4rtBXpirxcXkLHtl1yi4R3R36RybQ7IFA4Ta1jdKjw7A2w3kEm7ST6gxmnKjrZYzzSHvuevcQ40NzhaX3mSnJAe1C/MLqFKalZjCPQR5qI+n1HHljRHhOSIdOKcLOjdlIV8/O2P+eijZ8wiKLW3LjmONSHc5N9t8+Wo/niyvx/51utmt/scFlscC2RHDMlqvqGHT6ra6lR+d3bsx2+u18UZTvUgt0r2NG4+WLFi1CVlYWmpqakJSUhMDAQDz88MMz2gGLxYJ58+bhe9/7HqeQubi4GC+++CLef/995ObmYufOnSgsLMSNGzegVCqZxxmNRjz55JP4/e9/P6P94MHjfoe31RlvBJJcz/fU5qrqNGFq2nf3ZRLGqZNMoYt2yq3qGMQYLWQxjzovtOQ9GC1jjNNvSVU3E+9woq6XU6/imHMkFwmY7QDAlQ7niR52DMSD6SoYLWM439yPZUkROO3gfUNAWjazCYUoCNHSEI+i4+quIY+TVws1Ulxscy2wTYgIRXPfMKLDhYiTh+Kci4qKO2SoJdj+zWRMOXA5o5fEiSSxf3yuDR+fc+2RVN9jYdp3bKyYEwnTyDjjZO3K3E8pEWJpUgS2r0qGQhyEVz+vwUurU9DUSyWh5yimsGn5PAQEBCBFJWay3LyBr9lyqVESbF+VjKVJEcxv9F4N6vQFPhOd4eFhFBUV4cMPPwQA1NXVQavVoqioCDExMXjllVd8er21a9di7dq1Lu//j//4D/zjP/4jvve97wEA3n//fRw8eBC7d+9mtmW1WrF+/Xq88sorWLp0qdvtWa1WWK02xmwyUQf3+Pg4xsdnfuXBBnmd2Xq9Own8e7u7YBiyMhWcq3TZ/yqr/B8ZFsyctCcmJpj/u/sMPi5vwq7j9h4ybM1M0QotnmMZqhF09lvwztGbWJESAVlIAHO7LCQAGxfFoPhCh9O2HfdJFhKAohVaTE5OoLKFIgn/c5pqW31cHwjU1zjtz/9dtC1ysVIhXv3sGvz8gEtt9qTEleMyF+YoRZgTFYa67kFOLxc2cuKl+OlDqQCtCdr60SWANj50RXRmm+QAQK+FCvX87uJY/PF8O3P7wrhwXGwdRG6CFOeaBzA3SoxGgxlWNxY6lrEJ5CbIcM7B02h1aiSsE1PQ05WGrsFRhnz6Ao1MiDVzlfhrdTfq6JZNjFSIjoFRyEIC0e8wnRYeEohBh9uGvBBok4qQI8kBh/NzqkqEOUrbpBz7OB2fmMDQiBVNPRRB/IZODnV4MPZd7kCqdApr0xQICgpyeh7791lN78OVViNz3K+cE4EVKRHM/T/9vAa/fDSNqSpGhgXbvZ4sJADPLk8EAHT2e/d7ninuhPOlt9v2m56e9qn2uX37dpw+fRo7d+7Egw8+iKtXr0Kr1eLzzz/Hz3/+c1y+fHmm+ww/Pz989tlnWL9+PQBgbGwMoaGh+PTTT5nbQCeoDwwM4PPPP8f09DQef/xxzJkzBz//+c89buPnP/85duzY4XT7n/70J4SGhnI+hwePuxWH2vxxuN11h3p59BQWKagVrd3ih72NAdiknUSsiDotSARAuMD+OYNjgIm2GCHPeTR+EoYRP8yLmII61Pk5ANBmBn5zLRA/zpyARgy0W4BT3f6YJ5/CwBj3tgHgjN4fS1VTdq/p6X1Jg6YxMO7n8n6Ch2In8GU7db33QNQkggOoFPQlkZM42xOAebIJXOmn7l8TM4ks+TSzT2cM3nX+lyknMAV/5EdNYWgceP869XoroydwrIv6d1jgFIYmvhqj+piQKXSM2LaVKJ5AkzkQkqBpmLz4zO506MImUT8UgIjgKfRZ/REdMoW50ilYJ4HThkAsjJhCQtgU/tzs23U+OW65QI5tAMhTTmGtZgo3BynynSmbwne0U5y/CU/H8YOx1GuB4/fjCYNj3L+dewnDw8N4/PHHMTg4CInEtUu2zxWd/fv3o7i4GEuWLGGMmQAgPT0dDQ0NM99jDvT29mJychIqlcrudpVKhdpaSmB1+vRpFBcXIysri9H3fPzxxy6F0f/8z/+MF198kfnbZDJBo9FgzZo1bj8oXzA+Po7S0lKsXr2aYfH3Cvj3dndh0ZAVT7MqOq99cQOvPzIHWRoqRuHAlU785oy9OHVvo63aUrRCi80O1RnDkBV7K9qwKUeDniEr9r53FgU52Xjp02v4fx9baqdhYV+xmjtNwLUayLRZiFdL8MWJBpQbelDOIgyO235upQ6bPbwvcqW7STuJXoEKf63tdUlyoiXB6DJZsSJFgeN1vUhMSgHaqerUHF0SRMGBONJRjwVpOpw92YQ5ifG40k9pPfKy0/HdJXGUqPvjiwC8myo6baBOs+IIFVKUYcB1anuE5AD4ykgOADuSAwBNZmo/ZoPkfCszCn+51o216UocqjZgy+JYTE8Df6qwVZBEAn9YxqYgDwmE0aEKIxUGYGB0Ek/laZAgF6FrcBTXu4fwt/o+hAr8MTw2xekZNFclxnW9GVpFKOppbVOflXqfXSP+6GK952ceXoRT9X3YpJjAHFUYdhysxVN5cfiwvBVzo8SMQPmpJRp8eLYNP3s4FW39w/i7/ESXcSfVnSb85tpZAMA/PrgI30hWoKbLhIvmKlzrNuNnCxZjXpzc6XlcxzEAvPXtTCRFiuwqrmQb+fn5dr8xd+D67cwW7oTzJenIeILPRKenp8dOG0NgsVjsiM/txPT0NLOt/Px8TE15b1MeHByM4GDngzUoKGjWv6zb8Zp3Cvj3dncgRh6EGLn95V+WRobseKocrpaJsGEhJVAk00+OWgTHz6J/ZBi7jjeiMEONwEDqFBIQQBGUwMBAu8f/78UmJ40BOZkT7NyYjdHxSa+2zfW+yD7EiqaxZn4c/lrba/eaxCsHAJJVYegyWXGc1t+8e9LWgvvdKZtp4H+dpNph/3upg7ntyHUDcrQKNPaYUc3hLOwJpdd7UHrd+7RvX+FLUCZBTLgQCYpQDFknkKgQ4fNK95NXbBSmqRhBMplsaqQNFYlIesg6iTqHyai50RJcaBmAKlwI44j95zg/Xo7jN3qwam40ClIi8YsvavC3eqq9NzxGa644WlLX9WZkqCX4foEWA8PjeO1AtdNI+uvr0tBqHEFgYAB2n2nBF0X5tu3GyfFheSs2LY5nTAXnx0fgw7NtyNEq8D0OjYvBNIra7iEYLWNoYEU7lFw3wGSdglwUhB+vScHWjy45/S6Yz591HJtYvcI50c66GrVMhO2rkqGWie6o89PXeb70drs+E51Fixbh4MGDKCoqAlh22x988AHy8vJ8fTm3UCgUCAgIgF5vb65lMBicqjw8ePDwHd4Kf9lCYoLGHjOO1RqwPlvNTH84ipJdjZG/tDoFYxNT2HW8HoahUVyktR5qaQincNJbv545UWGMGJNoZxp7bIuQO6O/OSoxls9R4nBVFzNJxEZ5oxGP7DqFOSov+gYeMC8mnFO4fCuYSVBmx+AoOmgNzdV2z1fHxHRw58ZsyEVBDNEh49tExEz0LQeuOBOnRloXwzXaTZ73xpc1+PfD/tiY4zwRRypCjqjqNOG5vZV4fLGGFgYLUHpdj2xNOEqv63G9a4jKVqMrKJ+cbcETefHYvioZ/n4UMesetH3vZMrJldDelRdUcUU7iukK1so51ERedaeJIeSOYn0ijL/CEndzbfNWs+XuZ/hMdN544w2sXbsWNTU1mJiYwDvvvIPq6mqUl5fj5MmTs7pzAoEACxcuxNGjRxmNztTUFI4ePYpnn332ll773XffxbvvvovJydvkzsWDxx2GyLBgPBg7hcgZpI3XdpvwztGbSFSIGLv7j8+2oIImKGRs2tG1lWuMFg7TS+wQTVcuru4mwpRhwShaoYXEZD8RZbRQQsWcBDmEQQG4qR9CRkw4Pr/SxUzbsHFDb2ZM7ty5BKdGh+GG3owHkhU4ySJO8bIQtHgZ4DnbJGem2LQoFv0j4zCNjHvl7/PovGj8+shNxtF3W34i+sxWjIxP4lJrPwxDYx5fw5upqVqaBGXTAamqsGDoaYLCRXLYCBUEYktuHJOLRZLX91S0obnXgrl022dPRRtytRFYnaZiyHAli2yQySauYxr0WHlSpAgtfcNo7x9G8QWK3JCJMwA4doM6PthVzO2rkrElN44h7t64H/ME59bgM9HJz89HZWUl3nzzTWRmZuLIkSNYsGABysvLZ2QYaDabUV9vm3ZoampCZWUl5HI54uLi8OKLL+LJJ5/EokWLsHjxYuzcuRMWi4WZwpopnnnmGTzzzDMwmUwID7+/R+943B9QhgVjrWbKpc5AGRaM7auSOe8/RIdCsh1mK1gTNyQ0kWsElx3eSVC0Qgf4UYsJaS0Vpqsot1lf35dEiOdW6vDll3XoYbxIRmm3ZOCmwYzXH82AUiLER2ea8fmVLsyLlToRnY2LYvFwlhpykQAnb+hdEh3S3jnpUB1yRXIIIVKHC9FJV0+IiZ5WEYrG3mHGaA8zNAEEAIVIgF6LZ6LBxpIkBZ4vrsTr69JR3mhEYboKMdIQu+wvNinUyEXITZTD34/63L9foMWZhj48X1yJZKWIITrEVdiX/C7QJKEgWYG2/hEcv9HDmBvqXXg/EaxJU+KhTDUTHcImD2zzvPImo515IDmel9PkOox2h96YEwulWIhdx+vxk7WpWKqjKjOOY+UNPRYnkkJIDuiKzrEbvfjlo2mMRkcZFswQ94XxUiyMl1JRKD1mZl+LVuiQpBRDLhIgNWp2/H/uZ8zIRycpKWnW/GouXLiAFStWMH8TofBTTz2F//mf/8HGjRvR09OD1157Dd3d3cjOzsbhw4f51hUPHrMMx9I42y8nMZJyGt+6LAEW6wSKL7Rj5ZxIHLvRwyR/H601cLaeOL1AWKPc1+jqxoo5SkxNU2V7d2GFzP5y+PWQSIc959ugEFGvsb+yEwviZFgQL8OxWqrV8ufLHXBE8YV2DI6M48GMaJyq5x77ZkMXKUZ9j2etDiFEnawxa2Ki10gLZ5tZrTJXJCc4wA9WNxlQKSoxer2oynBBEkIt8CFBAQgKsBcrE5KzOEGGNuMwzjUZ0WumvpfflTXig1OUnummwUYciauwLyQHNEmIDjd7VV1iww9+WD8/hvl7S24cFsZLcaVt0Mn7iIypA8C6edG41NKPE3VUy+wI3YorZomnm/osWD8/xql1C5bDd73BzJCmopU6FKZTxn2GwWEcu9GLdLUEyrBgp9c4dK2b0wGc/D62r0q+73OqZgMzIjqgdTIGg8FJCJyVleXT6yxfvhyeJtyfffbZW25V8eDBwzdwERT2lf4xWk/Bvo2r9cSl0yEVILAqQ76GFZKSvsE0is5+C9rMwCWWYy2bTL1GC0wzaHdcV5WGw9V6HOYI3OSCNyQHgN0kjyNIRUcjE6Kt373fjHVyGnlaOdZmRDE5XuT5AJAZK8UZFkEglZgCnQJl9fbVp6VaOQSB/vgf+rsroxd6d87N55v7cZ7+rnYcqEayqpUzgsEXfDNVgeYOPeqHbNN2nkiOPDQIxuFxZMZIGPPDh7NsTs5Ez2WxTjAkjA1CcuBCQ0RABNZ52giXrVOinVGGBTORIzkJMobsV07YjrHa7iGn9m9iJCtgdmkCdp+hvg924CePW4fPROfixYt46qmncP36dSeC4ufnd9doXniNDg8e7sFFUH6yNhXWiSm8VVqHdfPUOHClE0UrdchJkOHQtW7O1hOX4PmppfF4amkCDlV1ITFChDcO1XK2vRy3Tx5jtIyhrK4HNZ2D2PGXGtp5NxCA+/Ttqk5qYfa10jBTPJGrQa9l3CXRISTFE8khKG802oVvLoyXIUUVhsPVekiEAQyBXJWqRHhIEOp7LGjsdd72GQcysY+jwsUmUQCgkYUgKMAPjb3DaKD/u1X8tbYXQIDT7WydiyOIxoeQnPXZaizRUq0lg2kUb3x5nc44S0F6dJhHl2dXIC2uq+2D0Ea6F6ArJUJs+4YW+ys7IRfZyAlbF1d8kZrwY7d/2fq0DloIvTlHg6VJEfdl+Obtgs9EZ+vWrUhJScEf/vAHqFSqr2ykfLbBa3R48HAPLoKSGk1VRDbnaBAioBeoaUAuCsaWJfFQiL27ApWLgpERE46ClEimHaWWhqC0Ru8UasgGmQir6hjEB6eakBETjnNNRqyeG+nz6HamOgzXOoeQES1BVRe1aC6Ik+JS6wByE+UuYwueWBKHialpWEYn7IIw83URTi0vV9EDjvBFX1NSo2fiDfrMVmbc+tdHbNUvUi0DgPYBzyRqZWokjtVSnx8hOI0ORKbNS6E1QZ5WDrN1wi5ywrGSlhYlRg0HCSQkhxCetOgw1LggLAvipMy/DUNWpir16yN1nI/3Fuuz1Vg+Rwm5SOBV69SVxi1DNoWeISsSI6j2b9EKHSxjE9h9uhlblyVAJPj/2Xvz8KbuM2341i5Zq2Ut3ncbYxswAUNYxmEpISSpk9DOEJql19Bl8l6ULKWd6aTvJJM0zddv5sskKdO36TSlM0nzAtMkkzAplDDBwWE3YLPYGFt4wbtsy7Ys2Za8fX+c8zs65+hoMzZLcu7r4jKW5KOjoyP97vM893PfcuyqcCDFpAEALKe1ZSJmDzETnaamJnzwwQfIzQ22eBchQsSXG0Kagl0VDo6mgK/zYY+FhxM8u7x+RqAZapTc5fXh9cMNWJJh4ty+tTQNi+RdmLQV4PXPbIVMzwAAIABJREFUootyaKYXU0JyAOA8nWsULpvpZGMfhnwTMGq4Hh7R6HpCYXwyttlwEm9ApnpuFITkgFVlihaL00yo5uVe7dyQj0VpRjy5uwq51jg4eqltmrUqDtH5yyWpOHD6Mqr6AkvRLzYvQO+wD68dbmAITyiSAwAv7K/D+euDWDPPBvdogCxuW5mJPq8vbHsqFF4uL8J11win+oII01BC4997q9qw65KcMRMEr6XKbvuS/z+7r0actJplxEx01q9fjwsXLohER4SIrxAIQdlYZMdjdHvqhKMPrx6sDzmVAoGxcKHFgGzbrKWIg8s7HqSHIKPMLX0jePOzRmwppZLJibbkYG0PpoYBmSJQdViSbmICGYUgZDwXDRz04tvriW3CKRyGxmbWSsswaxjPn3vyEuCfnI5ZyHujYJOcVJMa7YNjMGoUzHg/+zgTQ0GCl/5UD6WE27pSK2RYnG7C4jQT/npVBk5ecwkKdtn4qKYzSF9E9C4zwV0Z8bivOJEROLNbp8kmDQ5e7sLGosgDMY+WpkHV14DVq1ejvsfLbMM/MYUX9tfi5fJCKOUyQbNMEbOHmInO22+/jW9/+9u4fPkyiouLg5wJy8vLZ3P/RIgQcYvAr8aEusIkUykz0RSQya4NhXamLUCM2hxOD8csTauSM6JiMhVDtCV/PNdBfZ21BLQmbJIjFAR5oxCKIphNJBpUSDZpmCqTENjGhqeaXfjrlVkxE50bfR0Lkg24RAdSLsmIR/tgF9473cp4EnW7w4+G+6e58odn99Xg4ZJk/PyRYhyq7cEDC5MwODqOg5e7Z7yPfGRbtBzStTTDhLOt1HHOtWpxrnUARo0iKG2cEJE9Z9rw2PLIVgg2vQppOqAo2cAYBhanGGHTq9Dv9eO+4iQxZfwmIGaic/LkSRw/fhwHDx4Muk8UI4sQ8eVBOJM+NsiXPnkMeyw9nLbB6R7Djj3VQW0i4iXy7L4abF2Whk3FiQAkyLFqUZoZj6qWAaydZ0XF1V5GW/KXS1Iw1d8KqTkdfzzfGSRCnSnJIRUKIQiRA7J/N4rlmWacbnHBPUZVRVSSKfimpYhTyjDiF/7O8k1M461KSvCaYdYg26pjnIZtOiWcISpQ0ZAcpUwCf4jR9kus5O+P6TYRITkzxUc1nRgaHUfF1d6w5o18GNRyuOnq2IIUA+4rsuNoQx/OtAzAblChhyZd/MoSITmgx+lJDMTyLDP2/c0KxrbA5fXDrL3xhEybQc2YBfLbsCJmHzEnye3YsQOPP/44urq6MDU1xfl3J5GG7du3o66uDlVVVbd6V0SIuCNh06uwVcCi/73T1/HgrmN4cNcxRtPwkw8vMbe9R4+AO4d9ON3swhtbSgS3A5pEPbm7Ck/uPoOn99YwJIIs4ERb8tiyNJQlAXfTQs77ipMAAH9Tlg0AuHd+bL5bS+nFJxohLxuxkpxc2p+Ij9MtFPkj+U6+aSn9e+Tv2ByLFq2uUeYYAQhJckCPa0dCKJIDAPfOD2Qfli9KiritcJifqMf9xdSoeD/t1RMtyQHAkBzQU1n3zLPjW3Tl5eGSgM/OtlWZnL/bvDgFK3Ooc2ftPCve2FKCN7aU4MWvFwIABkeofWnp83DIO/lHIlDCga9PIxcSgCSkbk3E7CDmik5/fz+ee+450bBPhIgvIaKpxoBl5LcozYQ9VW2cx2wssmNJhgkHL3Ujy6rFqweER8cJcm06rMxJwPwkA17YX8v4iQRGyX0AJHB5/Yw4dFlmPM60DGBFthknm1y41utF4yDQ76cIwsHLVGXhfCv1u1pJEYUnlqfhZJOLMcFLNKg4rRXieTPiCyyYmWYN+jx+eGiSEcm4Lxbw3ZljBb/i9MaWElh0SvR5/OgYGMG/VjgwOh5e6BxNJEM4fHolMOE1E+EvG1e6h3GFjn3w0pWm8kXJ6B4aZTx8YsF7p1sxP5GKfEgxqbG1NA17qtoQH0dVZUpSjahpH0KKSYNhmiTp1Qrk2qhxcjJFSNqBxL8IM4hpCNX+NWuVovB4jhEz0dm8eTMqKiqQk5MzN3skQoSIW4ZocncQhZHfhkI79lS14Y0tJQBLf0CIlHPYxyFSxSlGDI1SC2483RogWgaCzsGAHoVNcoqTDdj5/iX664zS6JApnSq6JUEWYP64N18/Qvxu2CPPLbyAz0gkh+28SzA/UYd78q14qzLYwO5GwK84/feFTihkkrCmh3FKGTYU2PDxRS4pIeP20WJlTgJMGjkOXI7OYDFWXKPbS/svBETGbJNAvraIxGooZQApfO0508aYRJ5rHUAX7U5N3JJr2qlzkD0Jtf9CJ/OcW5el4bHlGZzRcBJd8vz9BViZIyzCD4Vo27oiZhcxE538/Hz8/d//PY4dO4YFCxYEiZGffvrp2dw/ESJE3EQImQRGY+S3vsCGb6/MgFmrYrJ82HjvdCue+1p+RCIFVhzBe6daoVXJBd1twbrK/tv7CmBQSfHnz49hzJSNfz8ZcEeen6jHle5hlKQaIZNKGIFyOO0NH9mWOIz4JyOKagn4JAc0gUo0apBjicO1vhGsnWdF77APqfGaqJ2YowHbPycURvyTyEvUAxe7OMRBLg027gsHEpp5MzHCIjZ8bRGJ1eB394hJ5Mdhqk071uai1+PD3qo2fGd1Jh5ZnIr3TrViz5k27DkTIMdsQtTc68X3y2K74BcDPG8NZjR1pdPpcPTo0aC0colEIhIdESLuIAT53AiYBApNg/Af81m9E99eSWkh2NUap3sMG4vs2HOmDZuKEwWJ1I51ucix6nDN6cGuCgd8E5NYk2/Bnqo2/OyhInyyYzVcXj+qml3YVeEIcs2tanYhK0GDo51SjPdy9Rw6NbV417QP4YEFgZiAwmQjjHEK1HYOcyoD/FYWZuArEwpszcxDJSl4dl8N/va+AtxXnMTxa+ELiaMBOz7g5fIidAyO4jeVTSjLs6CSztrKt+vQQIuEf0eTR7aZX3U7d7pLJZfAFyZctDTDxFTM2Jhn0+Gqc2Zi5AcW2OEZm8DRxn6GjBYm6vDAwmRc7BjCgwuTMOD144X9dShflMRplZFoiDillNE2AUBqvAbtA6OcYwG6zQda9L6R1gXtrWrDI4tTYdOroFXJ8c62Upi1Kg7pVytkeHZfDTaxzqdoEe2FhIjZRcxEp7l5dkuvtwri1JUIEdFPVkUDITPBVw/Wc+4vy7cFPQ87XRo8W/xjjj48sSITrx9uYK6m+dEAgatsKQDufVUtgYX4T5cC48kkvBG8ykC0VZsbQapJDSk9UX3wchc2FXMFvDvvnYeTUVZLErQK9HvHoZQHRrR7PT6cv07pWdgLewNrEmogCl1OOJIDVluQj5mSHAD406XA+0IqbnXdHtR1U62mgkQDSjPjMc+uQy/rvWInw7NJDgC0047Olby0+Wu9HlhpDQ5/mso57MPbx5rx8OIUDslPNqlR2dCH767OQgGt/WH+hnfRIIRoLyREzC5inrr6skCcuhIhIjzCuRg73WO43DEEl9eP9QXU1E2WVctMqzy9ljIU3bE2FzvW5TL3C02pvFxehK3L0vAdehJm26pMbFlKGQKmGDW43DGEJRnx+PG9eYL7Wb4oCQX28FlE4WBQBa73UuODF6isBE1M21uRHY8FKYaQ97cPjuEf6fHlPWfa8KdLlB6kJJVa7M40UwZ5KabAvsghTDr6aVM+tvZn1xHHrIy4A4AsTMKPSRP9dbJOJYu4PYJM3vFelZPAnFelmfH4xcF6XO3xMFlU4CXDW3XRjX/vOuJgfJkqG3rDnu8ELu84Q4D4hIVcNPDbtiJuPaI6U3/4wx/iZz/7GbRaLX74wx+Gfey//Mu/zNa+iRAhYg7gHPZhYJSOPwgjiAxnEiikNWBXYoqTqYWerWlg3//M+jw8tjwdz6zPQ6ZFixf212IJnVnEscU/0cK0ZMg2+bjRSR83a8KqXSBcs7k/toynk00DSDKEb0GwJ52I+SERxv6BHr9na30mEH2m4LLMeCQa1Td8XAAgnO46VDAqaSGxQapm0QyrtfCO9/Fr/ThOV7i2LkvDZZZvj1lLOTBvW5WJkjQTflXhgF4l57hWv1xeiPOtg5jCNPZf6GJaYttWZWLNPCujKwOtPeML5UFXfL67OmtWPHQIoiFWImYHURGd6upqjI+PM/8XIULEnYu9VW3YVdHEuS1WQWQkrUFTrwdP763BG1tKMDY+GUGLEN2odmq8Bmvn2TjkKRLiNQpolDLOFT9CaHEAQKeSwuOLLXdKCF0xtMBW5STg+LV+3JNvgcPpQa5Vh6ONfViVa8ZxR3Qux+WLkqCUSfD++U5MTk2jI8YATrBMBS1aBfq8Mx85901QpEarlMLrj+5Y5lri4AijhUoxqZFkUEMh5RI+EjOhkElxd3YCsq06PLjrGOcxBo0S3y3LxqFaqnU5P8mI9sExxMcpmfbTe6evw+ubCBK+sz8XW5elMZN/rx9uwLdXEi+eaUbHw77PrFUiXkNVspzDPvznueagwFpReHxzEBXRqaioEPy/CBEi7jw8WpqGjcXJQIyCSCENAtvZla01IFerK3MSgizune4x/FtlE9LMcZzcKiNtXPfQomQMjPhR2diH8kVJ0Krk2HOmDX+u7RGcUFqTb4FVp8Qfz3cG3TcwOo6B0eBFO5QWZ2IOJHtCFQ42SLXiKG2MRyo5fJKjV8swPCa8g+zqTbh8r3AgpoI3QnIAMOSGTXKMannYPK9wJAf0MekYHMPZEK/tN5VN6HGPIcfKbWEmG9VBwZyHr1Dn0GuHGzAxNY0NhXa8+Vkj3tlWKphtdaFtEHuq2jgTWJ/VO0NOuLHv27E2G7kAemdRCycidsQsRt62bRvefPNN6PV6zu1erxc7duzA7t27Z3P/RIgQMcuw6VVIMXNtIaIRRPKFy+R3Mr3CeQ7W1Spfs0CEngSkdUNcjj9m+ab0Dvvwvx8oZHKFyAK0bVUmdh9vwY/vzcOCVBOqW7malKIkA2q73ChflMzxYSEwa+RwCbReMs1xqKfFtLOVj3WjhnwEoUjOrUZxsoHTThJCpNDSJIMSXW6KaPGnqaIFP9QTPO1OSZoRNW1DTGzItpWZWJIRDwf9fpu1qqDPQHGKEesKbEyQLTn/QE9tUa2sac5kFrkv16ZDvEaGs180xPxaRMwuYhYj/8d//AdGR4PLoqOjo3jnnXdma79EiBBxh8CsVeKZ9XmQSqiyPd8On61FcLrHmIWFCI7XzrMCdAuHuj0N9xZSAueMhDiGKNn0gYUogzZwq2oZwJO7q/D6Z9x2Vm0XtfB2DQm3cIRIDgCG5OAG8rH4yLTECd5OxLwJ2sgRDLEi1xqdODueJSjONFMi4AI7N5aCiLXVcuHlIhLJiQaE5ACAQhp4Hr4wmd+6igapJjVWZJtR00a1lgih3n2iBU/uPsNUfNiRDiTbCmRSiq5yqhUBr6Gx8UlGs+Py+oPuc3l9ONXkwpUBoJY+RrHGRoiYHURd0XG73Ziensb09DSGh4ehVgfKb5OTkzhw4ABsNlvYbdxOEMfLRYiILIgUcnI9dLkbDqeHSRnvHBzFhkI7Gno8TMUHdFuLtLkeW56O+m43/unPV5mFcd9ZqpJD/GJIC2ff2cCI+t6qduylKz7fXZ0FLy0cNtKmgpFykG5k+ihckGUsaAnRliFi3v4bbBUJwdEb3Yg3m8wRB+j6Hm4sBRFrj03MXLuUY9VCq5ThYocbJo08pJAZAD6oDiTQ84XJ41Oxvx/tg2NoH6T8nA6FMWdk63ESDSp8a1ka87n4t8qmsPqdcNsC5EB9XdDtojngzUPURMdkMkEikUAikSA/P/jNkUgkeOmll2Z7/+YM27dvx/bt2+F2u2E0ih4GIr6aiCSIFJqu4ouBhb7wA6O2Y3jua/mCCwUfT5Vl463KppACZiJwzrFo0UQv5DvW5iLHpkNjtxu/OtpEbycLF9qHGOfkWJCZoGEW19kgObcKVp2SM3nEh0Yhxej4FPKsOjTSx7IwUYe6bg/W5FnweWMfcq1xcPSOYJ5dN6M0cpIkvr7ACrtBjf9L61vCkZxokWKkLrQ76NbUknQT1hXY0NTrwQfVgRbWPXkWHG3sw8vlhViaaYZZq2R0NqS9xNepVdQ78drhBizLSmD0NGX5Vrx9rBkvlxfiaEMfPqt3BmWxAdP4jxOtzH3JJjV63WNovFyNtHkL8dOP60RzwFuEqIlORUUFpqensW7dOnzwwQcwm83MfUqlEhkZGUhOTp6r/RQhQsQtgKCTMU0urvV6sOuII+j3yx1DTBl/z5k2YBpYQbelAGDHulzq7+ifL5cX4bprBOUlyVApZIICZgB4+wuKyFzr8+KXtMmg0ARWQZIRE1OYEdHhVxDYWJmTwIk9KMu1oNIRfbL2zUQ4kgOACfps7A02EeylU8PL8mwYGu2cEckBK0lcIZPi2a/lI8WkwT9/2oCCRB3qu6Pbpl4lx7AvmBh18Kbozl0fxBMrMsEv+JhogXuvx4+GHg8s2mBykUz7FZFzzSFgeEhaVHdlmHFXhhmf1TsFdW1mrYpz3/j4OA50VCODtkYQzQFvDaImOvfccw9AOyOnp6dDIom9VypChIg7C0JOrn0eH55YkYFcmw67jjgiVnj2VLVBxtZW0IuRUkZpMe7KiMeT9KhuYTK1CBCi4/IGPE3McQEPky1L05gW184N+ZiammJ0OhfbB5GZoEX5wiTsZwVXLs8yY55di3dOcd2bo0VrP7elc7uSHABIMqrQNUQdQ374ZSiQkfhaOhCV+BfNFKtzzThGT471eXzQqynSES3JASBIckKBP10FVr4V332b/fitpWkAgIp6JxxODyobqFbqvx5pxJUuN3QqOQZHKOJ4wtHHfB6oSo6IOwExT11lZGTMzZ6IECHijsCeqjZmCgWsFsDrhxtCjtwSEzywqjCvHW7A8iyzYAmfaIcqG/oEW15sHQ9JoiZgGw6ycbrZhdPNsVd5CITCOm8V4jVyuormFYxzsOgCRCcakiOEXKsWjl5vyPslERyQCMn5c20P3KPjODGDChuBTimDh5/WGQOKkvTYUpqO3mEfdlU4OC0kqQSobOwNOo8cvV44erl+U+xIkz9f7sa51kGuN04IzZuVd3s0cREiZg9f2QgIESJExAabXoWty9I4vxOvnOIUI8tALTo8vCgZu7YuFvyiJ9qhzXelYCPdOguF0sx4vPbNBbgrgVoI828gDuJG8Pz9BViTb7mhbZjpKSidMnyS+MDoBPJs+tCZVTHKi5KMwe9BOJIT61PcCMkBEERyskNMsoVCbdcw+r1+JryTtJCKU4woTDbit08uZWImNtNeOgDw+PJ07NyQj0dpr6cda3PxyY7V+GTHatxXnBgU+UDOW/45bdOrOLeLcRE3FyLRESFCRFiQXCvnsA+LUilzQPL7BhYJidYef2ORHZ/sWI3nH5gvSHKc7jFmTP1QbQ8O1YWelAE9WbXz/Us430+Rg6mpaSZOYjaxqZibVr04jXqOJ++myF9BogHbVmfj4ZJk3J1tFtxGqBFtAjL2PhKiepFG60k2zLcxk2dCuBTjyHfX0O1TrYoGoRLlcyxawdt3bsjHxqLQhLkw2YiVOQnItemQxdpGvFaJNHNcgNRxFBuifONOQVStq/3792PTpk1QKGbf70GECBG3N4Qmr9g6nO+uzsLDi1Pg8vqwvsAm2L4iwmMAeGx5BtM2IC7JAPD9smyOEeGSjHjkWOOwsdCOlHhNUEuqLM/CJFJ/qzQV/5ceQ49UiZgpDl7u5vxe3Ua59NZ2UpqWf/pzfURPmWhHtEM9qo1unx2+4sThK8JtwtsdFp0CfZ7ZH6kHLVQXwmuHG9A5NIon7s4IaacgOGHI0/bsOuJgbiNhtkI5cXw4h334/YlGlOVbYdYqeXERGUzeltjGmhtERXQeeeQRdHd3w2q1QiaToaur647yzBEhQsTMESnX6qPqjqB8IT5UdCVj67I0FCQGXNXZLsll+RZOpEQk4nClK3AfITnhUGDXods9NivjzWycuz7IuAMvSTfNOILhq4JYSY5JLccgz1mZBHPGgj1n2mDTU60lUjVka2TIeV59fQCvfXoVg6MT2LEuFzlWHS62D2L38RaszrXgGC1CJ4Q+Gm+cXvo85+vN2HERoq/O3CEqomO1WnHq1Cl8/etfx/T09Jdi4ko0DBQhIjoITV7xc636PD5BC36C444+JrE81FXrhbYhvPlZI3asywVox93Hl6fjD6evM/b9bEQaoeajPsSYtFwKxMeF950Jh0dLU9FNt35EkhMZq3MT0NTr5cQzLMs04UyL8LHjkxzQJoDRgu13U9nQx5hg8rOn2Oc5IcMbixJRnGJErk2H3cdb8P2yLPxkUwFcXh/HMydabxy+dw/7NtFXZ+4QlUbnqaeewkMPPQSZTAaJRILExETIZDLBf3cKtm/fjrq6OlRVVd3qXREh4paDrYuJFTaDGpvvogScO1lXpL/YvABPlWUBAFbnWhgxptM9hsoGJz6q7sCH5wOVGDL1wm4XMNNa09TFVapp9kv7E1OhSVOaSYMMs0bwPoK9Ve0RHZpnG6o756s2CMcc/UFp8kIkhwiysxLCH38hPL48nfk/IeVmrQpvH2uOSQD83qlW1HUO4b3TrQArD4v45YAnbGaTeKd7DLWdbrR5AhEQzmEqAqWXtQ9j45P0fT4xFmKOEFVF5x//8R/x6KOPwuFwoLy8HL///e9hMs2+2E+ECBG3BkJXuELg51aREVkzbcSWZg5Mw6gVMijoi5+x8SlGl/BRdUdEl2Q+atqphbB9cCzm9hBxCWZreqJF22DAQFAll8A3cXu4Jc9wYhwKKTA+8ySHmwoyadUsYOKYZYlDc98I7HoVelikYZ5Nh6tODyYnp5Bh1qDVNYqmXg/LwRhwOD0MuSDnJJVtFQjnBIBlmfHYU9WGZJMGe860YWtpWkxVl4DmRw5coiIgXj1QH/Q4MRZi7hG1j05BQQEKCgrw4osv4i//8i8RFxfbeJ8IESLufLAjIyobevHmZ43IsmgDV6XuMWaBYRu47aoIGAt+a1ka3tlWCpd3HL+tvMYY1EUCISyxtodItSYcyTGq5RETtm8XknMjmCnJUcgkGKcjMXQqOTwxGPkJIUGrRD8rODPdrMGIfxJ9Hj/i4xQYGBlHslEdVPkhaKanrnp41ZmrtKvxnrOBSuGH59thilPixY9rAZ6xYLi8qjN0ThqpNG5akEhVXYYDJpbrC2xwef243DEUJCZ+bHk61uYn4NixY4jPpiIgnr+/ADa9Gu7RcXxa141jjn4xFuImIGbDwBdffBEA0Nvbi6tXrzLZV1ardS72T4QIEXMEocDOaCZICA5eplxn2QsH21AtHMxaFcxaFZZnJzBEhzgZsx2Nt63KxO7jLXhjSwny7Tq8e7IVe6picza26ZRwRtDfRCI5X3WMs3K/bpTkAOCQHAC47gpUbYg3EJvkrMgyQ62UweX140L7EBalGnGhfYip7ABAvk2HgiQ99l/o4mz784a+kK3F9QU2PLchn6noABJUNbuwq8KBtfOsqLjai3UFVhyp78W/HnEw5IcgnJjYZlAjXiNDqw5MBMTKHAtDau7KiMeDu46JsRA3ATETnZGREfzgBz/Au+++ywh5ZTIZnnzySezatUus9IgQcYcg0ti4UBm9rnMI755qxabiJGQlUH4jO9bmAhJKW/P8/QUoSDTA5fXDrFWgqmWAybXaWET50ISa0iLkxj85xQRJZiZQ3yefX3XicscQnliRgYIkA17cX8v8XbJRjbsz4/Eha4ErX5SMdQU2PLuvBooI3jWRkBCnQD/PmE+rlME7A6deKT06LpcAd2qBaEm6EXWdwxgVGJXXq2Sw6JSC7SY2Uk1qeHwTUU/AneQ5Wl9opwh5M8tP5wfrcjAwMhFEdLYsTYNCJmH0Xs/fX4BzLQM4VNeDb6/M5JCM1w83MJXHiqtUFMSReuonm+QQGwWxGnNnIGai89xzz+Ho0aPYv38/Vq1aBQA4duwYnn76aezcuRO//vWv52I/RYgQEQGx2spvLLLDOTyGTcVJ6BwcDRobF/riJhUVkgANXrBmc68X3y/LYX53eSmCkGPVcbb7MO0+++H5duw+3oJ8uw4N9FTUihwL/lxLmQROQ4KHS5KZia7iFCP6eO2KzqExWHj7KpdKUE+Pn6fHx91QfAOf5ACYEckByx9nNkmOXa9Ez/DMJsZmgsud7pBtvGHfJIZ9wiTHolPCHKdAg9OLHJsOR+kqS4JyCnnJCTjFq5aEw5bSVOyrasem4kTG32jPmTbBIFd2XAgA+ManGBNKYnJJPjsbi+yQSyV47XADNsy34/CVHmxenIIPqzuwY10u8mxanGxyYUV2QshgTyHwIyAQJi5CxOwj5kudDz74AL/73e+wadMmGAwGGAwG3H///fjtb3+L999/f272UoQIERERq6381DS1OJi1SubLOtQECcGmBVRV5o0tJXh+UwEA4PlNBXhjSwnnfgKzVsH5CbqkT55jIe20/PWFyQAdsJjFsvevvj6Au9Ljmd+f3VcjmFj+b8e4ZoIfVnfgLdqIkF8NuJOhEahOxUJybrC4BdyAVqnP40eDkzL0O8pqJfX7pYIkZ35SwG+pfFEy3thSgpfLiwAAhUnU+VpEt4SA6NPqieamONkQyJ6iPztT00AGXUUsSaOeoyyfkmVsLEpEtlWPPWfaglLSI4EfAYEwcREiZh8xn/YjIyOw24OttG02G0ZGhG25RYgQceeCREBc7hhCJ10ZGRufhI9uXagUMqzMScAz6/NQkGjg/G1BoiHodrK9yoZenLxGLXgnm/oBAKeb+/GHU4EA0I9qOvGfLE3OhkIbFtKkrCTVCHMcRaA2FAQ0gqtzE/DUPdkAgG8sTsY61n0JcQHC9Y3FFLkiCxoALEgOLK5WXfhICy09/hyvCV8YV7C+ZUvSjPjxvXlYkhZ6alUnMDs4olmqAAAgAElEQVS+yjaB1765QLBdBHoKiQ32vhvUgf0T+nMTvf8WXWTne6tOiVwr1bJMNKiE9zU3EH+RFh9YxDcvTsHGwmCj2QXxVHWsNJN7TOazzpl1BTaszEmAgY69ONfqon8GCFL5omTOWDnBimwzti5LDbq9fFEyIyxu6qV0Yg6nB410ZfG6i1rP2uif751qZSa3zFqFWI25gxBz62rFihV48cUX8c4770Ctpk7i0dFRvPTSS1ixYsVc7KMIESJCIFZB8ZCf8vSQy+Wcxyeb1NhamgapgBdoJC3PiWt9+PbKTMGxWPaUVrjtnbhGEZ2mvpGgHKPLLAfkw3WB2IOa9sDrPEzrKECPuA+NUu2mD6q5JobsNpRWRX392Q1qANS2LnUGJsAiGQiS9tVABJ0Je9Kppm0Imxen4lwbd3KMPfYtlDbeMyrF8Ghg3/lj1c28Y2bUKJj9d0cQWhOdTDSOxb0eP7Pdbrdw5fC4I1BZMcUp0TZAkWOX1ycoCr40QJGlLl57sZZ1Hp9s6sPBy104RLc0iQ6H6Gio24QNK082uQQTSNnC+Sy6isMW1u+jJ7deO9yAHIsWe6ramBZp5+AYNhTamc+eWJW5vREz0XnzzTdx3333ITU1FYsWLYJEIkFNTQ3UajUOHTo0N3spQoQIQcQqKD7RI8ULvz4V8vE2gxqFyVzNATsC4sS1Prx6oB471uXC65vA7uMtmGfXM6Qpmrwesj2X189MuORatUxG1YJkPYdwhEKKSc1ob9bmW1BBL6IGtQLjk5HnqN+nzQoHvYEFPtsSFzIwcrbw/rngqbFIY9+OYSn+308bmN/5Y9VBj5+jvK9kkwoD3nGMhtnhBK0C/d5xaBRSDLCO7aWOoZB/AwG3YzIqDgD7WBEf9xXZkWyiss/IZFQkaJTBzQuLTok+mrQ19we/57lWHXKsWvgmJhmCRsws+Vlv//vBwoj7IOLWIWaiU1xcjMbGRvzhD39AfX09pqen8eijj+Kxxx6DRhO7g+WtghgBIeLLgEg5VPzS+kr7FJ76+kqmohONAJltjf/eKcohlu1e/MsjDvyS/j1aw7OPqjsAAAtTqfYEe2EOR3LW5FuQbo7DO6eucwTGFaxKwW9obU4kjPipxfp0S6ACMZckx6SRY3B0Ahc7YksWJwhHLviIU8pgiVPgehQibLVcgrEodTedg5H1X/00uRkdn0I7y3Cx3zvzIM+yXAsq6Yypb9EGlbuPt+ChkhQO0Xl0aSr2nm1HaWY81uRb8HFNFxqcHhy5GlxJ6mNV7JZlxgeNjjt6PXD0UmSrNDMeVS0DHGGyVafEC/vrGA0PG0Tc/FdLkmf8mkXMHmImOgCg0Wjwve99b/b35iZi+/bt2L59O9xuN4xG0cNAxJ2JSDlUfBiVlIBToVBE9Xg+Ni1IxJ6qNryxpQRj45NRESU+2EGeG4uC9X7hYIpT4h2WhoePwkQdNi1IZgSn4ZBkUKErRPtlLhBulFojl2CUJhsahTQmUiOEEf8krkc5GRYtybmVGJ8KHA/iwi0EuYyq3FS1DKAqiimuvynLxm8qm/DAwmSG6GxZmoZ9Z9tQlKRnPJ7Itj6kCfquIw5sLU2j9ydYy0XEzWvzE2J8pSLmArOgwRchQsRXBURcvDInAckmqoKbbNKEndRiw+keY6pCAJBt0SLZSP1Najy1vaV0enk6L2NKr5Ij364VFJyW0JWhVbkWZmoGAF4qL8IvH13ECG6XZwYmuP7Xmtyg7WhYymG9KvJ1IPsLVBYh6ziVFubGxwWLfjXKwHOpQ4xGsfdNCKUZJixKDRBWtTy28OUn7g4+rkH7EOKQKOkXr1PJsDg1ICrmC7rZxx8Acq1xKDRRBDCZl2O2mCXYHmGZFH54vh3nW124r8iO4bFxPFySjHy7DgDQQxPXnRvy8ctHS7CllBIhl2Zwhc4Wer8ud1BaKSJuBgAlfdwW0Mdyx7pcbFuZCQB4aGESs/0sWpRNhPqVDb145ZM6Ma/qNsSMKjoiRIi4/RCrL8dMfDzY4mIiIHbxXG6F/Hyc7jHUd7txoW2I42z866OBNlP7ANXmONtKLT5st1wAGPZN4J8OcfVIBDXtVDvot8daUMQaS+4cHIVRY2CqKfMS9ThNX53/y+GrQdthV1KGo3AAZtddJiMURtppUe6AgC+Pi3VbKHFzpCpPVStX4BxNpSbTHIcW1wiyLXGoanFFzPMKVZTy0y/e45tEdXtgP/iC7tNB7aERZhnq5LXZqlmC7Qusdt/u4wErAeK3RHD4CvX7a4cbcF+RHXl26lzgHxvStjp+jSI4bJPBd+mK4V5aF8Ru05LMNXbFkB8jUZxiZCJRajvdGKBDPZPjtaJo+RZBJDoiRHxJIDThNJuP50PIIwchAkKFRNN8zJYQmJ2dxdfrLM0041KHG9Vtg1G78n6Z0UKPTs+1ADsaFNh1qO/xMD+/sTgFCrmEIRxs7NyQj31V14MEzGz8ubYniAgRrMpJwPFr/bDoFBGnzX6xeQF6h3147XAD/mppGu6ZR43I8zVuu4404lBtD2dy66cf1wGQ4/+7dEoM7LyFiKl1NTk5icrKSgwOxhaqJ0KEiDsLTvcYXj/cEFSGF/LU6RwM3OZ0jzEVHvLT6R7Dkox4vFxeyLQSCNitllwbdfV9T54FoA3d+LBHqD59bb6VaX0BwPJMMzbQ3i2rcxNgilPiuQ35eGJ5WtjtaOQSzE/ScW5LM8c+bJFkDFzBG9XRXVeGajip6JYKv4VVviiJ+X92QmwRPMRjh91uAj3RlmiI3SNmUaoB37wrhfE3AoCNhXYkGqhW0fIsM6fiBgDrkijCqaRbdkszKR+eyalp3L8gCUJYW2DD395HGVYuSAmcJytzzFiRbcaSdBN+9lARnl5HtScfLU3jPG+WhWo75dHn3Ib5dirKBGDaVH9TRnkxVVx1MlN87DgR0rpVK6jx+CUZVFtux7pcZlt/tzEPTxVMYMvSlJj1aCJmDzFVdGQyGe69915cuXIFJlNowysRIkTc2RCqyiCKcfaty9JgocWiVc0umLVKvHcqdBDnBZYXzqe0Lf9ROmX8cmfwdFKkser/ucIdNWZPVB1z9OOYg2q3WSKYAY5OTONKl4dzW5srfH6TELpYwZTRBoeGahyRlhK/hWVQB0hFk8CYdDgQj53GXu6k20wjMy60u3Ghnfu+kbgFALjW60GOhUsg6wcp8kCm0eq7qX356EInZCEuxX9beQ1qBbV8XWK1tVRyGTOF9czX8vEHWg+2l3f+kdwr4qZ8+EoP0/Y630a116qvUz8P1fYw/j2vHgh472xdRpFldgUHvFZXS/8I0hTAW2c78MSKLOEXI2LOMaPx8qamJmRliW+aCBFfNQiNs+9Yl8t8ufMzsEhcw9ZlaXhseQbzNwTli5Kx/0InZ8Ll6XW5OFLvFCQ6NwJ2EGdfBDPAOwlk0b4RCJkUzgX6PH70ebhRDZ2jXDZzluV2zDd8JPiYF9xJwB41d3n9uNrjEXxcONS0UeSbPW5OxsvZE4ZSCaBVylGWb4FZq+K0stQKGZ7dV4ONhXbUVbeGfC4RNwcxT1298sor+NGPfoRPPvkEXV1dcLvdnH8iRIi4/eB0j+GXRxwY8gffTlpU7LYU2zWZ3ZZi51SRL/wcK3WFviLbjJfLi7CZDuzcvDgFb2wpwRtbSvDAgiQcruthyv0PlyTju6uz8M0l1GO/xwoCXZppxpbSNCQZVDCquREDpNWSYlLj7izuBE+Ckqp03M/K21qWGY9v3EU9R5JRxcQXZEVo8Uh5U1QWrRJr5wX7pQhBp5JhGR1nEClGAlF8CfOHrRYkG5iJMJmEik6w6QJtplinrSBQ4SrLTWA8jlJNasGJr1CduFw6jiI+jnpAJiuewqpTYp6dW9HRyrkVKvZ7U74oidOaK6PbmiuyzNgwn9sK0qlkWJIe6DSQeJEkgwo/e6iI05oi5+W2VVSbatuqTLxcXoiNhXZ8h9y2MhPL6Ckxco73e3z4qLoDUglV6fl+WTbK8m2cz0NxihH5dh0zft7upd4P/mdJxM1DzBWd+++/HwBQXl4OiSTwgZqenoZEIhEN+ESIuA3hHPZhV0UTfrQg+HbSojpc1xO1y7LTPQYH7Vx7jf55ssnFCVb8sLqD8R3ZuiwNe860MeGf3/2LbNj0KmZy6xrLBfe9061Mq4AP0mr5zRNLAQAP7jrG3LfEOo1POwKLEuircjKaTE34UJCH6onQmAK3h9Tn9UflwAu6OkLaS5FiJMCb3BICf9jqEqvSNTkNVLXEPm3FB7/ClZ6gxfka6r0LJfgN1Ylz0MLmgRHqAS0soTM7QoLAO8F9L9guxft5lRs5nVEiFNTq8U3i3PXAsSARDl1uH445+lBMO34vTDPhYZqMEyxMpW57cmUW/v7DiwCA3ScC012k9fXPtDt1cYpRsLVLcKi2B3uq2uiWLUXWwzmWi5hbxEx0Kioq5mZPRIgQcUsh1JZaX2DDt1dmwKxVccbQ2VodoTRx0NWUH9Bi0A/PU4smOwzx3yqbGONA9jZCkRw2XF4/Bke4ep1PO6gFha2RAIDLXcFOy43O2FsaseDSDN2PbxfMRjtsLnAkSrLJB1tn8/lVJ/LtOhyq7UEOXeFjm/5tKk7CnjNt2Lkhnxkj37YqE7uPtzAGg3w43WP4qLoD312dBZtexXyWJiYmsPfQcextksVsrCli9hAz0bnnnnvmZk9EiBAxqxAK/Gz3SvBFYx/cvimYtQpmcupyxxDnS5j8/7N6J57bkB/knPzY8nQsyTDB5R3HtV4PQy62LE1FfJwCb1U240zLAFy07f9HNZTWgh2GuJCeuGK7LJcvSoJBrcC51gFc6Q4QlCSjCnqVHA1OKirihKOPeW1CWJ1rhsPpDRk8mahXwuObhMc/iQyzBhkJWlQ2BmIC1s2zwOub4oiZY0GqSQ2VQoZrAplTUlYVR6+SYZjWxyhlQCQzY5NGDotWBUffjWdZrcg242STCyuyzFidZ8F7p6+jc2gMFp0S9+RZOPoYoX2TSYS9gzbMt+PwlR48eXca3jnVhseXpzPEKdcaB0fvCCfbLFc3CYeHIqn5Nh0aWCT0jS0lkEqA31ReQ23nMBalGHGBPpcfX56O6rYB1HYOozQzHjvW5aGlz4sX9tcCLIdjANixNhdWvRJHrjjxUU0n1syz4c3PGvHOtlI8sz4PBYnU9BXVUprG1tI0Tl5a2wBVZSJ5Xfvpateh2m64vD64vON4+1gzPtmxmqnw2AxqjI+PI1VLHaRYHMhFzC5m5KPzxRdf4De/+Q2amprwxz/+ESkpKXj33XeRlZWF1atXz/5eihAhImYITUjtbZJhb9P5oMeyy+rLs8zYvjYn6DFs2Axqwe2TdgEBfyKFM6FFaxhybTq4vBQh4bcqCLqGfOhCgLS8FSHP6pgjPEHpHg60T1pdo2jlTVQJZSPFgnD+LuxO1DBLBBxNYsPg6MSs+f/k2nQ42eTC1uXpKC9JwdQ0ZYT3zbtSmfT3cPsWyiAx26oFrgRSzNnVIdI+ZGebEZIDACqeFsisVaAg0YA/XepCbecwcmw6hujcW5SIpZlmPLuvBl9fmIxzrQNMhQYAQ3IgUHU8eKmL3r6K00IK5fd0uM4JsEwySWWJXz2MBsRQc2ORHYdqezjGmiLmBjETnQ8++ABPPPEEHnvsMZw/fx4+H/XlMzQ0hFdffRUHDhyYi/0UIUJEjBBqRT2aPYl7V5dyKjps07NzrQN4cX8t7l+QhPUFNnxW72SqQeClk28ssiPLokWba4Qp8a8rsCLPpkdFvRMNTg/lmzMtYRadbSszEa9VwqBRwDcxyexbL12dWZmTgCSDGudaXWhhkY8MswYWrRLn6ImYxakm9Hl9aBsIPfJtVMtDjnRnWTRYkh6P9893YueGfFxsH2LGi9fkJWDd/ET894WOIEfd2YZaLsXYBEV9SHUnVKUEAApsWoxPAddmoaLzBb1YH6rthilOgUYnVUE77ugNClbVqWRBk1l8F2W5FJiYAuq73FiTb8HnDX1Ykm5CliUO75+nqkM5Vi1T5bLqlOj1+JGomUI3PXk1ymNUH1V3Ik4ZaDuR0W/QKfBJRkrc7h4bx5ufNeKl8iKADn9dV2Bnqjs71ubColehrmsI+6ramZF3UpEhrVn2Z+bEtT68eqAeJWlGpJvjsP9CF1bmJODEtX4szYzH2ZYBbJhvx1/kJaB32I9dFY6gz0q8RgaDEtixNptpVxFdXJZFG1bnI2L2EDPReeWVV/DWW2/hySefxN69e5nbV61ahVdeeWW290+ECBEzhFDgZ6tHgnmJeqSYKcEu+WImZfW3v6AqJS/SCwTCiCgP1QaLl4/U9+JIfUBHsY/nassWeAptn1wx88GvurBjBkIhnG9Nc98omvuo7fEDQD9v7MfnjcL7MdsgJAes6k64KIl6540THIIWmiT+6VI3/nSpm7ldKD1eaPycHxVBXspRVgvw3PVBjkCY3cojouRu1ni5g9fqI2J2Zp/7hIXKRBhv1FCeQj/aWACbXoUr3W7sOdMWUkfGrsiQc5v/mXnl4QXM8/3V0jScuNaPe/KsONsywPHfgcBn5QdrsmBUAlvX5XKCdENBKD5FxI0jZqJz9epVlJWVBd1uNBpFx2QRIm5znHRK0TvsY4gOAVkozHGUKHPL0lTYDGrsOuLA8/cXYGUONdbLFlGSq1+H08O0qLYsTcOKnARcbBtkSA1bK/FyeREMGgWGRsc5ZGpLaSr2VbVj28pMZFq0+M+qNlzuCgh6N8y34fAVJ/P7vYU2NPd60chbGElVAVFoXh5YYIdaLgvp1ZIer8H1gdFZSRMHq2KjVUrh9VPbY287xaiGQSNH5+BYSJJ273wbFHIph5jcKLIscShM0uNPl4JF4EJVseyEuLDGhGnxGli1SpxvH8LyTDNUcikqHcGtwES9Et3DfmikUxidoshOfJycmdYCHQI6PjGN8wLEtjBJj4wELeKUMijoaazKhkCVqjQzHsuzErDnTBteLi/CNMBUdAi2LE1DUbIBmZY4FCQGO3Hz0UZHZrTTmp0tS1OxIsfC6NRCCY6dwz4MjI7A5fWjip4YY+8rqSq5vH6xyjMHiJnoJCYmwuFwIDMzk3P7sWPHkJ2dPZv7Nqf41a9+hV/96lfiOLyIrwRsehW2LE3BvrMdQbcvzzIHaWnYWpvmXi++Xxas2RGqGK3KTcC1Xi/WFNgYolOUTAk9Hy5Jxn3FibAZ1JwSP1iVH37FZ0GKAZc63PiLPCsOX3EyLZEErQqf1jnBB6tAElHzIrSws3GdrnjMBskBq2Izxtoee9sdQ2PgHZYgfHol+DWHwvxEHa50R54ua+4bQXOIrCshwhXJfbltYJRpKYYTcxOdFCE5YI2kE/BDQNmo6xpGHW+ijlSA2JWa5VlmXHeNMBN+bBAC/sz6PJTlU1EhbA0NO/R2eZaZqf6Rz8e+s+2czwpfcDw+Tmmd9la1YVcFV1cmtK/EbVnE7CJmovO9730PzzzzDHbv3g2JRILOzk6cPHkSP/rRj/DCCy/MzV7OAbZv347t27fD7XbDaBSV8CK+nGBPXi1MMWLf2Q7Udrohl1MffZtehRe/XogG2kG2sqEXH1Z3YPPiFGRZtHjtcANW5CSE3S6btNR2uvGbyiY8VRa46KmlKzN2gxqnmvowODLO3EawNMOEs62DKMuzoLKxj5ncSTRocKnDjS/odojdQGky5ifpmVHfu9JMOE8nXStkAB0cDYNazvjuzAQ6pQwe/2RU01AquRS+iSmoZBL4QvSelmbE42zrQMjWlF2vgkYpw4hvAk6e10ymbhItHhk2L04JaueEgnsW3I7ZFZ3SDFNUmiWjWgaZVMpJZBdCliUuiGDl2bRo5LXnFqcZUd0WzADvSjPifNsQHl+eDqVMit0nWpjjs2NdLkoz4zm2CA8vTuFUHwne2FKClaxznO0txRYq79q6mHPOs7VtQttl49HSNGwsTmYqOrsqHMy+bluVicwELQwaBWMkGEoXJ2JmiJno/OQnP8HU1BTWr1+PkZERlJWVQaVS4Uc/+hF+8IMfzM1eihAhYkYQmiKhEpUpPLM+DwCCHsNeTE819aO8hGuwFmo6hXiMsKeiSLVGyH+E4Cy9gJIRb6J74P8kV+Av7K/DI4uTkWJSg+VbypAcsMwFZwoPzW6imYby0aWkUCSH2rfwGwqX4zXkl8KiVWBghEuApBJgKsRTdoQRakcLdkUnWmH20NgkgMgHTaiKlGLSoDTTjM7BUXzeQJ0LQiQHAM7Ttz+6LB2gq4Fl+VZ8WN2BjUWJgqPcH1V34OGSZHxU08lMPeXadBGJRCjtDKng2PQqTvWHD5tehRQzRWQOXqa0RWRfR/2TjGiaQDQXnF3ETHQkEgl++tOf4sc//jEcDgc8Hg8KCwuh0+mi+GsRIkTcTLCnSA5e7MSvjjZh+z3Z2LQwGWDpCMhjDtV2Y9cRB3asy0WOVYdn99XgvuLgBGnOdIqjD68erMeOtbnw+iew+3gLHi1NxTQ9bbUqNwHHHf0oX5iEeYl6DI+No65rmONbszwzHqdbBlCWawnSc6ybZ+UYxe3ckI80cxykEuC/qjtRkjY3FVm2liYSEg0qdLt9SIvXhJwEa49APBanmZBl0QpWbAb8EsA/HuTOzCY5GrkUoxPC+5uZEIeW/hHo1TIMj02G1B1JeePvVr2KmYgrTjYE5Y/JpRJMCDAtoSktUiGzaJXo8/qRalIHjeF/3tCHzYtToJDJwEdZXgIqWSJxouu63DHEJIi7R0NXkZzDPrx9rBk7adKQb9fjUG0PLncMMV44Zq0SnYPU+8Suqri8wiG3BDaDOioy4hz2cfLgAGDTgkQ8dncG85zsShFEc8FZwYx8dABAqVSisLBwdvdGhAgRswq2juZqF/XFnW3VBl3tkscQPxtS9gfPNVZou++dpkIL2ZMte1mCz+N0Yvj+i13ARepqdmMRN6eIaDGERKt8N1yikyB6hmNzNCEVLckBwBgThht37/eGb+VUtw0yxnUESzJMOBdlJSUUyQGdog0Aw2MU+QilO+Lf2suqMgmFrAqRHISY0iIVsj4vVZUK5TUUqjVXyXufSaWQXf2o73aHrayAdf4QbQz779kQ8nwiiFTBiYStpWnIt+tos0JDEHkSzQVnFzETnbGxMezatQsVFRVwOp2YmuJ+NM6fDzYjEyFCxM0FW1BJ1qJrvR7mJ7laDdX/d3nHOa7JBEKPJ5b5bIfjraWp+OyKE06PH6tyEnD8Wj9ybVqsyKIci9VyrjHcU2VZ0KkVaOgZDjINTDapmX0BgA2FNiTqVUyrR2ipZU9fzRRyCRBNbFSSQQWZFGgf9CHXGofBkQn0ef1BfjiSEPtKkG/T4tM6rkD6qkB8RSiE89/JMGvQ6hpFglaJfq8/5PHh72N6vBrXB6hjX5ikg3PYz8nFIlUaPsxxiiCNTopJjY7BMaSbNci1anGxw81sKytBg/g4Jc63DUEjl0CnVnAysVZkmTEw6kd9twcvlRchy6LFf5xowWf1TjqmJBNmrZIhHqTNBLqKAtZ5TKqVF9sHsft4C56/vwAFiXq4vOOQSoCPazrxWb0Tz28qYM5153DwZyHaEfAhPxhdHPn7RWkmTE0HKqki5hYxE53vfOc7+PTTT/HNb34Ty5Yt4wR7ihAh4vYAEVQ63WN0sGAA/+doM/7PUWoChd//r6R1EWxhZSS9QEGiHs+sz8PKnARmUWnpH2EEtcdpbxyH0wtHCB+YtyqDJ2IIOnlX/od501ZCWpwbJTlAdCQHdGgkATs4lE86Im2uQeDYCJGIUAjnv0M8iPrpakqo48PfBCE5AFDXFTzBFWr/+CRna2kaFDLgnVNtuO4axXWeE3Vz/yia++kpt4lpjPLE2OwQzzbXCJZkxOOzeuo84MeUXO4YChtUy3cztunVzMTV5Y4hZrvN/V68erCe89iZaGdO9Ejxwq9PRbWdG60UiRBGzETnk08+wYEDB7Bq1aq52SMRIkTMGtj9/wvXXfjpx3X4+UOFSEvQ4eDlLpRmxuP1ww2MMHPNPCv6PNTCXZhkwKsH6yPqBdj6BEJ0/PRKunNDPvyTU8ziQnKP7HRFhmzb5fVR01j01BYbqWYN2lkLY/miJHQMjKLXM4brLuH2R0KcAv0Rpn6EUJSkQ63Agh4OUgCZCRo09Y/igQWJ6Pf4cUogXTsUbDolnB4/ko0qdA5xBclquSTqNPI4pQwjAsSjNMOEJRlmvFXZxLgRq2SA0FAWcWomFRmLTslUXR5YYOeM5G8stEOnEvYhWpxmQnVboOW2aUESfv154BxIMqrwz59yCciGQlsQiSV4aFESPr7QhY2FdqyZZ8XbvHPE5fXhlU8okX1ZvoW5XcjpmPhCVdQ7mTYWqYAuyYhn/nbUN4l3tpXCrFUxOrTVuQm01cI0Khv64HSPRazqrLRP4amvr2QqOuE0ONFqfUTEhpiJTkpKCvR6fRSPFCFCxM2E0Mh35+AYo7VJMlJfyEXJBsjlcuw504blWQkcO/o3tpQwAZxr5lFXudHqBeo6h3C+dYAJiwSA89cHEKcMCEvJQkzaTmqFjBMimmvToaXfy0kwn5+oR7trlPHUWZphxv4LtQgHiXRmlWYhbUkkTLE8crqHxmCKi+yAywapfLm8/qD77AZ1UA6XTa+Ec5j7WI1cghH/pKCAesQ/CY9vgjl+gDDJAe3UHKeQMBUZdpuKeNaoFVKMjU9BpZDinnlWTE4DTb0eXGQlti/LMjNEpyTViBOOXuacmJiawunmgD+OTj4Fz4Q0qE2XoFVgeGwc/kmgpZ+qdh2q64FUKsHBy5RhIhFZf3CuHR/TLc+paYoY8oNqbXrq/PfR+iQV3T5tcnrQ5hrBm581Ytsqyh9uWWY8PrrQiTUFNo6G5pijHz/ZNB8A8PaxZjy8OCUi0TEqqc8c2xlZ1ODcXMRMdM7v0QgAACAASURBVF577TX83d/9Hd566y1kZGTMzV6JECEiZgiNfLNL5FuWpgj81ezhpf+uw2leJYM/JcQXmj67ryYoVoJNcsBqVZFF+vi1yIGbfZ5g0hAN+KQiWhA9CTvuIFYIVW6E9odPckC3exBCQF3bNYzaGLQ+I+PCFSQyDk4MD/df6GL0VCuyzZzHsqtyNe1DqGkPaFv28mJBPBMU4bjOE3KzxdsX2gMkipAcsETWH7N0XbuPU6aT/PZQloUK/HztcAMn9uOXLBE9+dsztDienJ/kb0XcmYiZ6CxduhRjY2PIzs5GXFxcUH6HyxV9yVaECBGzB6EQT3aJvLF7CMfr2lHdNggX7UD7cQ1FPH5Pu8b+gZ6gAoBTTX3YWGhHU6+HI0JmC50/PN+BET+1rQcXJmJ1rgXtgyPMRExphgkWvRrV1wfQ7fZhUYqRSZ9Ojddg3TwrLrQN4FhjL/Ltenh9E/jlo4tw4GI3mvq8aHB6sCwzHmdaBqBVyiCXAudbQ7vlkvFoO0usbNLIQyZ+S2gvmjglFc+gU0rhiWHaig+VXIKpyWkQrsAO7YwVMgkwPU29HimmMQWqSqWWAWO8igxpSbHFwSR0M82sQa5Vh0GvH9XtEayXAZjUcgwK6J6IgDkrQYPm/lGsyUsAJFKsLbDher8XJ5tcMKhlUMqk0GsUDDHaMJ86J4kXklwCaOjjDQBK6TT8U5IgAfM8uw5Do+PodvuY8X0AnPeIvM/pZg2j+0mN16B9YBTbVmWiJM2IqWkJzFoF6mmyt21VJhammpiYkm0rM+H1T1JWCLRwnlSKyhcmweX14b8vBAj6uydbGTXTCdaUYDTGfl9FDc7tkN8VM9HZunUrOjo68Oqrr8Jut4tiZBEibhMIRTKwS+TvnmxG+4gEL30SEFiSigshH2dZlvvkyvtQXQ+n6sJOXxay1WeDmMxZdUrO84D2lXnn1HWArsD84hsL8faxZnyyYzXmJY3gz/QEErm69jL6k9DtJUIp2OZ7oUgO6OVqcjrQeroRkgOBoMuZkhzwxMWE5ADBJAesihJbHEz2pc01irYYKlVCJAcsATMRDfePjONShxufNwSqdm7aLLCPVY1hh16CFnkPs3pn/inqtfEFzFd7Alqpbpbgm/0ekfeZLW4mfkW7j7dgeZY5qMpIqjbM76zYESKcJ5Wi/Re5E4BgmVYC4IiVoxEnfxU1OGyn6TuG6Jw4cQInT57EokWL5maPRIgQMSfYWGjHvrMdePGBArhGJ7DriANr51lRcbWXqbQszYxnyA658jVrFVEFHr6xpQS5Nh1TTQItRl5bYEP19QH8w8e12FScyLQe2DET3y/j5uQ9tjwdcqkErx1uYOIgokG+TYsGp5cRPQNgoiLCISNeg9aBUUFBcCzgG+UtTjVFlbSOCCPxWtkUvJNUiydOKcUIj5AVJelR2zXMEQETg73Hl6djWZYZNdcHBdPj+SBRFaFA3sN8mx6XOtwcWwEh8AXpABCvkWOAR0DvL7bjwOXA+/zGlhJmBJwvbibItcbB0TvCiQEheKm8CKWZ8Yy9Ar/Kea51AC/ur+XsPzuAFgC2rcyEf3KKOZdAB4EC09h3th3PbyrAytzgwFsRtxdiJjoFBQUYHb1xa3ERIkSEBrs9dKi2J+ayLymRSyUBYXLXEDWh9IWjD2vmUe0EQnT+enUWnt1Xg8eXZzBEZ/NdqbDpVXjv9HVYdCo4h31weX04cIm6yt19nEsejtQ78VF1O0ozKb2GVafE4nQTbHoVMhK0eLgkmTMq3tgzDKWcuppvdHrQSF/Bf3iuHQk6Jf54jlpwzrVGNgQkLSvyGs80u5Bh1iDZqMFnV7qxMMWAix3ukG2sLjpjaIi+L1oPHT5GWSRHLZeiYzAwbk5ExKHaY+GKP1JJYGfkUr5/MdBPV3S+Nt8K9+g4rvV5cXe2Gdd6vbivOBH5dj2O0GPTSpkEfrpclGHWQC6V4lqfFzlWLa71enFPvhVnWweYjC/2BJtFp0Q9nVN2oY06T/7rfDvkMuHK/vxEPQ5c6oROzV1qxniGhWq5BLW0IaFFq4QxjhIiE6fjiSnhg2PRquHoHYGjl6tBWl9gQ5ZFi6np4JYSO7bB5fVjZU4C6rup5y5KNmB9gY0ZMR8cHcfVbq5RYmq8BkaNAkA7VuZaRFGxAIQGI25lflfMROcXv/gFdu7ciZ///OdYsGBBkEbHYIh85SdChIjwYLeHZlL2JSXy1w83BAmUj1ztw5GrlLaAuBZH2g/n8FiQdf3Fdu4CsP8CNa1FMop6PX6Y4pQhc7EudbpxiV7c2Ff7/KqDayRyZhVZBklLpMFJkSa+mDdUG4ss/KQ9NhOSA15TbWxiCmMsUTQREc+kPTY8EZhcE/IN6qYXlX/+tBFbl6XhWp8XySYtOgbHYIpTwjnsY6bp/Kye2DeXpDHC3B3r8vDsvhrmd9IFY4/p93kChoEOWoNztDG0OPxKt7AImu/iPDYxzbxXfV4/+rx+/MPHgcm6Sx3BrswAcIpOR3fz+nmf1TsZshKqpcRuI71Ov2Z+5pSQSzNbyCxCGJEGI252flfMROe+++4DAKxfv55z+/T0NCQSCSYjBNeJECHi5oEtUCY+OqDL+vXdbjywIAkFSQbGjj7frsN3V2cB9FUXuSrbVJyEx5ZnwOX14f1z7dh/oQvzE3W40h3QUZAW04/vzUdjjwcf0cSH7AM74ZmIZ8sXJWH/hS7sWJcLTFMxEttWZkIplzLBoEJVGJVMgmlMM4txqEoNaWE9sCARf7rUjUyzBi1h9Cok8dyglgUtnjeKeXYdrvZ4Iu6DECyqSUxJVXCNTsAcJxckf2vyLdi2OhsWnRI2vRpmbegx94JEHeq7PTBoqMdsXZbGvPcLU43406UuZvqNnXFVmKQHpqdR1+1BgV2H+h4P7smzQKeW40qXG02soM4sSxyWpMfj/fMdWJRq4ExOhcsR27YyE7tPtODl8kJcaBvEB9Wdgq2ptHgN5ifq8emVgPdOvk2HBqdH0KcmnBD4iRUZgIQ6zzsHR/GTDy9hUaoRuVYtxydonl2Hby3PQHycAhfbh8R2VQhEGoy42cctZqJTUVExN3siQsRXHKTc6/L6UUULKCtpoeeh2m64vD6YtaqIZV+hKQfnsI8JPgQAHx3zPTUNZnoKACw6Fb5flg3nsA/OYR8zVfKvRxrx4MJkGDQKWHTUl5SU51UzPkFts21gBGkJcQCAT2u7kW2lAn8vsbQqi9NN+LTOyUhsVXIpztG6kEyLFq19AZdgfpsDALRqOUZ8E8z0i0WnEiQ6n1+lFsE/07qgYV/46lCGWYNLncOCxnt8DY1eJeOIaiOBhEXGxyljJzpq4O7CZPz7yevITNDBNRKsV0k0qrH7GEUON9+VioN0i/Gvf38GWhU3JJMkm79++CoA4MgVJ2o7huDy+qGQSZBi1DCPJR42APAXeVboVHLUdTfAQx/Lfq8f31yaionJaQ7RWZhignuMqgb5J7nvYbiCWVUrde6fbR1kzCsvdwZPi/nGJ1HDIz/xcZTova5zEPuq2vDzR4rp19mAx5anBwT1Aq3h/2fzQoD1mdt8VyrnPASAknQTsixxMGtVuDs7IeTnkGz/r5Ykh3mlX15EGoy42ZBMT0/PsEj75YDb7YbRaMTQ0NCstd3Gx8dx4MAB3H///UGtvTsd4mubOwi1mYQQqex7uWMID+46hk92rEZxijHidreWpjExEZ/sWC1omy9CRDiwTSJvJxCBPPvzANZn5I0tJXh2Xw3nvr//8GJQm1YI4T6HZPsf/a+70Vpz7Cv9fcn/PppNRLt+x1zRqaysDHt/WVlZrJsUIUIEq9xLKjq7KhzYvDgFH1Z3YMe6XCZRPNayL9muc2gEr/33WdQOSLFjbS52VTjwxpYSmLUKTh4Wu+x86HI3k0q+c0M+0sxxaOr14Je0pmZFlhm9njE4ekdQnGTA5S43Nsy3oyBJj11HHHh6XS5T0TnV1MeMrJOJoHsLbfi0zomnyrKZVtVL5UW43ufF72itjpAXDZnakUqoqtTCFAM6egfR75cywZUAkGpSc1Ky2e04PoqSDNCrZTjVHHriiI0ErRz93sj6IQKNXILRiWksSNLjEu3pYtLIMDjKrQqR9hkAqBXA2DiwIH4SSwqy8O8nr2NjoR1fNPZihK50JRlV6BrycabTXi4vwv/U9TBp8Fa9ipNEzp8OY+Mbi1Ng1CiCtFJ2vQo/WJcDo0aB1z5tQCvLrXpRqgknm1xYk2/F4IgfNe1DeLQ0Dc19HpxuHmC8bYQQJ5vGyCRV20s3a2DVqXDu+iDKFyWjz+PDCXrkmx8gaqMtC5wsHdQ9eRZ4xiaQZdXi/fPCKeiR8MTdGcA0sCLHjOOOfuw7287x5lkzzzqjz+FXFbeDd1DMRGfNmjVBt7G9dESNjggRMwO73GvWKrGrwoGyfCs+rO7AxqLEsFdD0Uw5xGtkuCthCrUDUnhpk7+T1/oxOh5YrD88346MBC08Y9TiceRqYNx3gCYPvgm2j8kYpPTnv6mP0uu0D3iRaKS+1Kx6FcxaBVzecYyyFikyHdVIa3xONQVE0e+dbkUOTY4AwKhRYIxHTnRqBQZGJ5BhjkNz/wj8E1NYkzyFD1qkyLfrmOrCglQT2ge7WduShyQ6Lq8PvcPRF7jXzrPHtJiO0yLgKz0Bga5QW87Hej+kEmrCSiqZhllLLew2vRJ6jQIj49TrGKbbQyebAqLg3x1rQvdQgOCNj3O/l8fDfE9XtbqY1iYbZq0C75xsxfjEFOPb46BF3++doYwm7QYV0swa1LQP4ciVHihk1Ei8Zyx07phdM4lmD7UUKWRSWOnWaLJRhbqOQGtqUZqJ8bkB3Ua71DnEITrjU1NYmmVGo5M6xh/XdDDRD/91vh0OpwfuUT/jk/PW0WsATehdXj/MWiWkEjD5cI100Oqq3ATsq2rHwlQTJxKCDaHPYG2nGwMe6mdyvPaW+cjcStwO3kExt66Ghri90vHxcVRXV+Mf/uEf8POf/zxIpHy7Q2xdxQbxtd0chCutCyFSe+qZ9XmYmprErorwfjKzDSI6vhmwqafhHPvyGphqFFKMChAjEbMLIZNBNkK1rKL5DN7qBX82cTt8X85Z68poDP6y3bBhA5RKJX74wx/i3Llzse/tDeKRRx7B559/jvXr1+P999+/6c8vQsRsg5R7yTRUpLJvNFMO4xMTGO9uwIA2A3aDBr884sCWpWlwef1My2NLaSoKk4zwjPnhHpvkGO1tW5mJeK0SEgnwP3U9TH4RscsnWJhqxMqcBDT3efHgwiQYNVRF51RTP/bSLbI8mw6NTg/yrFo09noxP1HPGUW+v9iOyx1DuD4whjSTBm2Do5CwRKxJBhW63D5kW+IYAWxZ4iRklgzsO0tVWeYn6nDPPBv+eLadaWUtSjH8/+ydd3gU17n/v9uLVrurlbSr3nsBiSYQvRgMsTHGSTDgkhDHuTcY23FyEyc3zU65ce7Pjh1M4uvrcJM4LsQJxiXGGAM2Nr0JEEII9a6VtCrb+++PKTuzRQVkijif5+FhNXPmzJnZc2bPvOd9vy8a+6xwe/0hy2EpWjkcbr6qL+hUDExENhPdlRWnxO0lCfjgfDfv2hkEACSiQIg2AEhEAtaqw8DVtBmJshgP1swtQVX7MIQCQdiwZy7clAkAEC0Tw+z0IFSBh2on14CTrJWjY9DBZlVHmO84EutmpCBWJcVHF3pQ32tllxi5UWzcZbMUrRxqvwU1Q/yfotuLDUiPjeL1PyY9Q64+CjaXF4vz9TwhPwCYQWdqv2w0Y39tLxbnx0MfLceOk234xtwMlKZoWYsOVyF5y+IczMzUsRYdRmSQyXj+6JIc9FqcWFmSiIKE8Emtw43BX91VhIHGc5g3bx6SYki+rOvFuCc6kTAYDLh06dJEVTcuHn30UWzatAl/+ctfrsv5CYSJhmvuLUoa3YFvLFEObrcbhVpg1apiHKH9UFJiFABHjM7u9GLY7oZGIYVEzF++mJKqRZ5BBZ8fSIlRsqHiufpo3o/gbYUGLC7Qs9FhXJM+M9GZlhaDy0YLKrJicbnXipQYBW+iEy2XoiwtBq0DXdAoJWgbtEPPyV/FZKh2ciwcJ3sF0CMQJaOLksHi8GBKioZNdWFQy5EUo8TZ9kGeeCEAxKqkcHv8IROdXD0VRg0ASVo5Bu0WGKJlaOm3sRmwg4mWiZGfqMKJ5sDSS5ImNBO5ViHhLb1EQigUoK7HggS1HHXG0RN0SoIi4pi/5VJRSESZVsG3uqXEKNEx6EBJigb7a6n7NlbDv9HshMXpYd0ZmKU5rt7f9PQYfEprLeXqo9DVYw2p52LXMJp6+duHaD2fokQNcvQqXhQfg0wsQrJWDisdEXZXWTJy9CrsONmGu2kBTKPZCbVCyjsuW6+CLkoaMaJx+ShLx4gwBouT1GgxhmYvJ1xbxj3ROXfuHO9vv9+Prq4uPPPMM9ctLcTixYvxySefXJdzEwjXiytJljfkAn6/vx5tA9SPfLD4GZXbJzS/D+hMzuGk+IPTMzDZoR9bmosVxQZ8868n0RE0qWBk9pk38r0cLRQE5RNiNFy4+at6aPG9Do4fSrNVhGZroG2HGvp5Ph0AeJorwZxtDy9KV8vJuVTTRX0+MorD8rDTw5vkIFIm8jEu653uF+F0f/sYSlK0Bd1vE60wHC5sPnhpkVm2YSY5GEdW9+Bs9YwwINeJmJnkAMCBun4A/ND3SOerphWZ3znbGbKPIdx3zvDKZ41o6beFTSXBTNrHsrw02rij9reEPfaL4EZImnmjE/51ZATKyspQXl6OsrIy9vOqVavgdDrxpz/9adwNOHjwIO68804kJSVBIBBg165dIWW2bduGjIwMyOVyVFRU4Pjx4+M+D4Ew2QioFvOda0eKchh2AVsPNGJJQTzWlCXhqdXF2DQ3g1fmvoo0PL26GD9aVQAAmJcTizVlSfjrpln4+lzKSfPp1UUoS6XecJcXGZCkCTxg/2N5Ht7fMg8bK9JQ12NBx6AD91WkhbRlUV4c7qe3Ly/UA/QSCeh8QsuL9Lzy8VHSkDqy4pS8v5O1gXbk6SmH5pkZWrZ9FZlUeoo4VaAuKZ2+ICtOgXDEcYT34oLaEDuCKF9CtJTXnkgopWN7DJcmhS6ZqKShkwTQjrzhUISxQHGvIVomYu8RQ5RUhER1aH1jabWMvrdKiRAJnDoKE6KRrJVjbVkiCjShk690nQL5+oBDukIiRGkS5YOxKDcO370tj+0zXMpSNHh6dRH+Y3keSpIoIUx9tAzrZ6ViV1UnzrQN4vl1ZfjrpllYWhA4/unVxWyf5RJuLEUad9z9bxxvw/qZqYi/BpFGo7WHcAUTnaamJjQ2NqKpqQlNTU1oaWmBzWbD4cOHUVBQMO4GWK1WTJ06FS+++GLY/Tt27MATTzyBn/3sZzh9+jSmTp2KFStWwGiM/GZGINzKMMteI73dZcVH4/l7y/FgZQbWTkvh7bt3VhoeqMxAZTaVrPDJlYV4/t5yLMiLR1Y89WM7LV2Hr1VSCsqrShPx8gMz2OMX5uupXEKc8xvCtOV7Kwqwbhb1w7JqCiWs9vgy6m36/jnpWFXKF1tbUZIQUsejS/lv3wtz49jPs+gf7I0VGWz71tPnu704UNcMOjfXo0vzw96rmZmx7Oe8IP+MlSWJYY8BgGVFCfiPFaM/E9eWp4xaBgCWFRpCtn1rYXbYsutnpYfdXp4eE7KNew2/WFPK3iOGX91dig0VofVtCDN5DSY/kZqcLMzX45UHZ/LafejJpXjmnlLckRa6LLZt43Q8u66M/fvbi3LwjflU4tc101KwZWkuHl0WanlZWmjAA5WZ2LwkF+8/Oh9FSVQ/3Mhpf45ehQV58TzLzbT0mJA+izGOpUhsnJ1OQtBvEMa9dJWeHn4AXSkrV67EypUrI+5/7rnn8M1vfhNf//rXAQAvvfQS/vWvf2H79u148sknx30+p9MJpzMw8x0epsyhbrcbbnfkEMjxwNQzUfXdSJBru74YzU5WD4VJgni21QSPh/JJiI8O1fdgjvF4PGi3CthjjEM2tPTb2FBvhg/OdeBS1xCbUNE4ZEMVXT8Ttr37XCeMZuq4fTXdaOkLvH3vPt+BfTXdsDg9ONNKLRO8eiQ0a/aP3z6HaDrZYxWthnuBDid+90w7GoNUad8/F7pk8begeg/VB5ZFGFXkv59oZS1Ff6ETke6tCYScn2mllqF+u/tiSP0A8PHFQNkTTfxlkffORnYK3nGyFe9UjR5+/hGnLSPxxvHWkG3/PBVe2C7S0gmTiJPL/trA0uMrB+vhB9+/57/31MLjDY322n0+8hISQx2dEPNEkwkv+gLLpJ9c6oHX68WA1Y6aMKuA+4Luydm2AbT2U8uGZ1r64fN68Xl9aI6tzy4b4fP5kBqjQLY+Cv0WFwZsbjT0BpYf/3GyFftqpKwfD8YxhhBh3AkEAOPGxN3vcDjQZgE6TRYk6VSYKK7kOTDR3AjPy7Ge+4qUkfft24d9+/bBaKQ6FZft27ePt7pAYwQCvP3221izZg0AwOVyQalU4h//+Ae7DQAefPBBDA4O4p133mG3ffLJJ3jxxRdHjbr6+c9/jqeeeipk++uvvw6lUhn2GALhRmDIBfylToQGc+QQ6ttTfFiZyh+TbzcL8UnXuI23AIDsaD8MCj8OG6/seALhepEd7R9xrERijt4HjRSoNFDj6HCPEA4vRhxDo50r3Li8Gna3CfFhe+T2TPT5blRsNhs2bNgw8eHlTz31FJ5++mnMmDEDiYmJPLHAiaavrw9erxcGA99kazAYUFtby/69bNkynD17FlarFSkpKXjrrbcwZ86csHX+8Ic/xBNPPMH+PTw8jNTUVCxfvnxCdXT27t2L2267bdJ52pNru35c6BxGw6mjePbLpciOj8KFzmE2SSezLdybXPTlPnzy19P47d2FOH22Gm82ivCru4qQqJGjhY6W6rO4sO1Tytrx7YWZyI5XIUYpQX5CNC51m3H4r6fx7JdLYTQ78cyeOmxemAU//PjDp024szQB753vxlemJeGt053YvCgTA1Y3Xj8RcJ6NUYoxMEIW8q/NTsOfj1IWi40zU/DaibE73q4s1sNsd+PzxgHEKsXot3l4IcxTktU4FyH7NQBI6TDwuCgp+qwuZMQq0Nw/vlxUY0WnlMBk47+F6qOlbGZzANDIxRgKk6E8HEyYPehw+ovdFt42Llq5GINjqLc4MRoXugKRXVlxSlicHl4bx3KPuNeaoVMgUSNnnbjXlCVifk4cBqx2HDhVi0PGwE/RD1bkwuXx43f76vHV6cn4+6kOXn/7wYpcGKLlqKWj9E63DuIkbTn8yrQkpMQow1p0/vBpEwDgztIE5OhVUMvFcHi8eGYPpX3znaU5+N2+eiyfWYSn/lWLf7uzEgDw0z8exfYHpuFx2j+LGXe/uqsIxbTfULBFh9mfr1fi6NGjuHPZggm16MwwO/FvHItOcHuulUXnej8vmRWZ0Rj3ROell17Cn//8Z9x///1X0q4JgcmUzvDxxx+P+ViZTAaZLLQDSCSSCf+yvog6bxTItV17xGJquOYnUmHjzN/cbeHQayhLZV6CBsZ66mk8NU3HK1/dMcROdFZNSebtG6BTFOQnapCfCDyzpw4raZ+aP3zahKVF1ERnbq4eb53uxMrSZADgTXS+VJoUonnCpSxdB9ATnZlZceOa6GxekodLXUP4vHEAeYZoHGkaQFa8CudonZ/bihJGnOikxapQb7TgwcoMPLu3Do8vy2ejcCaar8/NDIl0W16UwLs3d04d+V5xWVpoYMuuKk3Cxe46bKhIDzkHANwxxnq/uSCbd/2/Xz8NB2qNvDrHco+413rP9FSk6pTsRGdRvgFrypPhdrvRcrkWhzgul/PzqBfb3+2rR2VOPP5+qoPX3+bnGXj9c+u+y+xE58G5WWHHQXXHEDvRWVqUgDXlyex2ZqKTHkdNRGJUlD8Od3zpNUq2XmZ78Bhi4O7P1yvRUQ0k6VQT+kxJ1kmQTE+cRmvPF831fF6O9bzjnui4XC5UVlZeSZvGTVxcHEQiEXp6+OGrRqMxxMpDIExGwsnKH27oQ73RgjZTQLsmON0D6HV8BMnR99Av4SbryGHNkVJKMBnQG3strKga4/9wjtY1efN4K6Qivlmd8ZeJxF8ONbGf/4/zeSz88r0LGKAtB0yI+CWOJs9Ln9SPeHwrnZ37fTpsefuhL049+pXPQut+t4rv67IvKFx/JD68EPBlYfx1/u9w+Pv39igigwwfBPnevH+2A2da+Yr4//VBeH8mLuc46Rv2VHdDzokQ21vTjYN1vVBKBDjdx+8r2w7UQ6Ogfpoa6BQT9UYLdJzoMG7/bB8MjAMmJUWwhhOzHXR/PVhnhMnqRvtA4Nh3aX+rt2hpg1ePNCNKRrXjcEPAH2i0sUO48Ri3j84PfvADqFQq/OQnP5n4xgT56ABARUUFZs2aha1btwIAfD4f0tLS8Mgjj1yRMzLDtm3bsG3bNni9XtTV1ZEUEGOEXNu1ZawZzbk8tjQXAEY8bsOsVPx67RT2b+OwAy/TKrQPL8jCa8daRzw+36DCJY6+DIHwRVOeqkVhIhX1drHLHFYPh+GheZmIkolhdXrwyufjmziPBlP3yDo6lK5NjEL0hT9TJlJHZzx13QjPyy8sBYTD4cDLL7+Mjz/+GFOmTAm5wOeee25c9VksFtTXB964mpqaUFVVBZ1Oh7S0NDzxxBN44IEHMGPGDMyaNQvPP/88rFYrG4V1pWzevBmbN29mbxSBcCMSTlb+R6sKoI+Wo81kY5cGgtM9AAgrR1974RxerRfj9qBQbb1ajh/fURT2vK8eacaOk+2oyIzBMXrpYfXUJPz3R3X47m15IcskldmxbMbpSDD+JOEwcBSQk7TyEAXjKKkIVo4AHZOWIRLSoFQMIzErQwuXx4eqJ3zK8gAAIABJREFUCOKBV4NWIcGgne+fo5SIYKPzLwSnbRgNtUwMnUoakppBoxBhyD7+5MrB95GbUZ6bGR0RfI0YcuKVSNNFYT9HPJDJbM/wwOw0WJxeKCUCHKppRZMlYNVZWZIAjUKMN0+0Y8viHGw9UM/2swcrM9gls+fXlSFHrwqb8sRkdeGB7cfx102zsKY8GfVGC3vcb9aWIkkrh8nqhlAAXO6xYOuB8Fa/1VOS8O65TvxoVQErtxBJPZmBq2p+LSKSJjJpJqPJc1uRYVKJD447lOLcuXMoKyuDUChEdXU1zpw5w/6rqhr/uvbJkydRXl6O8vJyAMATTzyB8vJy/PSnPwUArFu3Ds8++yx++tOfoqysDFVVVfjwww/J0hXhlkCvlrOpHJiHeGV2HNaUJ2MxR/CMW4aRog8+rjhJDQOtiaeLGtlRkXt8Sowy5JhkeluqLjRScU5WbMi2YL61MCfivmkcrZf1M0O1Wqamanl/j5YiY2lhqP5OJObn6vG1uVljLj8evjEvM2Tbwvx49nM4nZyRmJsbx+oOcblzSvIVte+OKXzdooLEwBvyl6bw9YK+Pjf0WhjuKkvB6jJ+G4I1kL46Mw3PrSvDz+4sQqGWHx20eXEO7ptNiVhm06KB4fpZjl7F69/c/s5ketdFSVGSTKWMYChJ1mBBnh5rypOxuiw5rD4TwxJalLAyO443vgg3F+O26Bw4cGBCG7Bo0aJR86g88sgjeOSRRyb0vATCzQrjb8D1ywn2TeDC+BQ09FpZHZ1gn57gY2o6hyhV4wEb3qN9V45wrDQv7KOsOH8I4/8yFh+bk82Rs0N/fjngD/F6GD2YE0HHHm8a2Xr0YfXYdGoA4OXPGiHAuBU3xsS2A6FLgdz7sOfC2NsJWv/mSEOolsybJ8bmyBzMriq+A/j/fNrAft55ir9vf21kn6ttB+ohFfOjcXee4R+/83Q7TrUMwOf1onFYELKP8fHaT6fseOsUkzIk0B92nmpHvdGCIdpKZrI6ef5koH2D6o0Wno4OM1aY5J2nWyL3Reb+1hsto1pyblYi+eMxTIbrviIdnckA8dG5Msi1XT+Mww5seeMMm4soHOFy9fzy/ZoR/RTCHbPuf46MeB4C4UaiIlOH0mTNuPxxKjJ14+rjY8mDFcyN/kzBGPwAI133jXBtX5iPzmSB+OgQbjb0ajm2ri/nvX0F+yaE0854eEEW1pQnw+Px4M09h/Bmo2jUY352ZxFr0dlb04Oq9iHEqwJZrjPjlGjqsyHPoEJdjwWFCdFs9nGu/wZXz2ZFERUWrFVKoFFQujo1XUPYwQklz46PgtnugdFCXWOBQQWPH4Dfj3o6m7VCLGSTRQKATCyA0+OHCD54w6zGCwFEkk5TSUW8hJPRcjEE8GPYMX4fFy5KqRAujw+cZkIpFcLm8vF8cRjNmgKDCmKhkOfHEu5aeW2XiaBWiOH2+HmJOaUiAVzekd9fud8L8zlOJUGfJeBTwv1OV09JBATAu2e7sGluBvotTrxztgspWjkG7W62LgCQi4WQigUYdniRopWjfdCBwsRoXOwyY0lBPPbX9mLT3Aykx0bB5/Xik1MX8Gm3CGvLk7HzTAc2zc1glayb+23YfqgZc3Nicai+HzMyYnCymfIT21SZgSmpWuiipCigU3Nww8af3HkeWxbnIFuvQkOvBVv31/P6PWPRMVmdONE8gK3769n2Lc6Px4FLvdiyOAczM3VsZvPJSDg/wNGeDzcbRO6UQLhBMA478Lu9dTAOOyKW4frOJGkph5skrYLnP8Cth4mm2nWmA/HRMmilft4x+mgZXj7YiB/tPIdfvl+Dms4h/G5vHeJUMqwpT8bmJblYO4368VjAySP1ZXobkyxz/axUdl++IZAPSsYJM5+XG4euITt2nGjD0UYTdFESdmmC4Wd3FiGBk5By4+x0yMVC2N2BH9LkGL4ZPV5FlV+YGH5CIBFHFjUtTeG/5Lg9XsjF4RNljoeX7puB+bnxvG06JeU3sobjv7Igjypjd3uRogtNKppriCwytzAvDj4fQrRT7p2ZGvEYBm6uLyUd9s3cR4YBW2DyJBQK4HJT97csVQMnPfn61sIslAb5SCVqZLDSE58v0X4/BrpuCd0f1k5LwYOVGbhvdhoKtVSf7BqitA8O1fdhRoYOD1RmsnnYvjKduqZYZSCp6qKCeFR3DOFgHeX0rFfLoY+W4fVjLezy6cxMHZr6rJhJ5zNj+vzemh6YrC78ZFc1PqzuRi7tw8OEs99Ff0crShKwIC8+om/OWMbsjU44f75gn7+bnVvWokMg3GiMN+KB8b0J1vXg1gOANeffUWqA1cM/1mh28sz9JcmakDYM0ZE4NndgItE1RFkkPqnr45UBgCOc5YB+TmTOpW4zXj9O+VpUdw5DKBDwLBFUu9w8cb9L3WZUd/KtHPW9/CijdjoqyxnBCOP0RLZuMLm7GBwePxyWq9dJMVld7GQguJ0WTo4lJmKqxWRHiylUaXgkocO2AQe6h53oHu7lbQ++p+Ho5OQ3YxSPg6PguBFguzhaPy39dnx4gYrAutRt4X3fANDEUUxm8kl9Qvtd7bkQqhHE9Enmu7jUY0FdjyWsk/memsDxJqub7btrypOpSb7ZyfYx0N/DC/su43lOglBmfHz3tjycaRvEmbZBJGqoSWa472AkJmuU0mSDWHQIhJsURkCNK6Q2GkzR8RyTTi8jlCarkU9bGBI1gYf6+lmpbJlFeZTVJ0Ub2B+rpM7FiK8FMz1Niw2zUvHQvEw2WoZtb4RjACAnPor9XJwYjUROYE60LLxVJiM2YDWZkhxY08+Ji5znjnstyZzPi/PjeX9z0UVJUJYafkk8P0HF3sfYoOu9vdiAkiQ1pqcFIsvy9FHIjQ61VsVxjr292IB8gwolSWr2GqNlIhQmqEKuG0Hf32hMD4py0ygCfUdFfz8xSglStHJoFYHvK0YhRj4n2/uKYmrivX5mKm85ZKSuqI+W4bGlucgzqFir4ZqypLB9JZgVxQbeGHlsaW7EZRg155pWFBmQZ1CNWH6ywtzvyXbdxKJDIFxHxhvxwC3P6Mt0DjpYpVddlBS1dMboV4+0AJwIotePtaG1j1rG+eB8Nw7X96Ohl58h/LVjVDbwvx1tRmGiBhqFBI20Ob/P7EJ+ghqXeiw8nZx+ixPvne0COMsdXGVkFy2h/EZQBNW7dDSX0eyEVinGkN2D00ERVX+JoPILAIOcpRWpWIhD3YElKleYbNsA0MOxUrRy9GfaByO/yQs56WbiVDJ00Pe9d9gJTwRfmB/uPA+fL/y+14+1wkkvxQVnLr/YNQytUgq7O2D1UUrF6DGH1nWcc6+Mw07EqmRI0shwju4/aTolhh2URW3Aytdz+dfZ0TOPM9T2mHl//y9H3Xkvndk9VikBBALIxCJWi8fu9mHb/kBUnpu2cCmkIhxt7MOgzY1Bq4v3vTFs/7wRF7uGoZaLkB0fBZ8fmJqixRvH26CLkkKjkOBfnGz2W/ddhlAogI1jLeu3OPHqESoC7dO6XpQma/HWyVacpVOD7OJklv/fg4EIM4vTg30XjYiNkqDP4gyx1EzmKKWJ1OS5kSBRVyTqalyQa5tYxhvxcCVKyQQC4cqoyNRhx7f4CaLHM2bJ8/KLhURdjQKJuiLcCIw34iFSeUbplbHo/PqDWqybkQrAjx0nqaimr05LRmtbK472inDvzFRoFRI09Fp5irczM7Q40TyIe2em8Cw6vz9Qj02VGeizuvDu2U7MzY7FIdqqs7xID79fgL0XezA1RY2z7cPIilWikbaYRMvFMDs8UMtEGOY40qjlYgw7PEiNUSDPEIUhuwc+rx+n2wNvx3KxAI4IPjZxURL00ZaK8lQNuntN6HJQS1ZMJFYwCokQdtrXiJvNe6TzpMUo0DpAWXympmhYi0BJohq9Fier4swlWSuHz+cPm0W8MEEFu8uLZpM9JHN5uk4BrVIKt9eLmi7KklaWokFPvwlddv5yHDdyalqqFnKpCEkaGbqGHThUb0JxYjSGHW60DThCMqLLRQI4RonMYghWok6NUaCNvh/Z8Uo09NqopT+BAH4/0NBnpe+pEFqFBN30/VmSH4/9l6iIq7JUDWvR2Xv6Es4P8K9tSrIac7LjoJaLkKqLQlZ8QAF509wMxCilaB+wsX17RZGBteh8SvsDzUjXIkYpw96LPfjGvAyUJmvRMWDF2fYhfFRjRHZ8FGvRZKLDAGBudixmZ8VCoxBjBu3EzOVWiFKabBAfHQLhGhEuQmO8EQ+RyjNKrwUJ0WiiH973z0nH/XMy2GM3VKRiXgL147aqNAEyiQj3z+ErD2+soMrfNzsDK0sSUN0xhFY68eGiAj2E9CrDCk7Uzh1TktBqos55zzTKj8LLMRQvp9Vlk2P4fiICAVUmRavAd5cXIDVGiZYBvqPx1yojK/BWZAV+hM53DMHiCTzO7ihNCntMtDzwbpfI8a+ZkhL5ZYeJBgLAEzdN0SkQLQ/vC9Q15MDy4vBKxzFKKVvncFBKiPLUGDw0PxPNfYH78MCcNMTLQ5d3uD46RrMDFzuHcLRpAGfoTN5qhYRVteaqTQPA9MzQH/BI3Dc7nfc39x7cRqtOP7osD1+akoR7pgciynx+H+87Z9SSTRYXjjaacKShH68db4VeHjrhStQo8I15mdi8JA+zs2Kx60wHjtIT60X5egzZ3Txn7y1Lc/HU6mIkcc533+wMPLaMyvtmc3pRmR2Lr8xIg1JC9QGuEvX3VhSwnyuzY+Hx+XF7SWJYh+hIY5CJ5gqH0ey86aOzbmZuWYsOgXCtuRYRGkazE2+caBu1nMnqDolGCVcXNyLLZHWx0TdDnB/oln4bm+CT2c6NXmGitYKjeph8TEeaTKjrseDtqlC/EW6EUjBtA4EfDY8PMPsCkwGbO3wIFtd6wm1Pc39kHx1OsBkvCurDMBFEDD4/cKZtKOy+w5xIr2Ar0q6znVDJxbwItzaTHecGQt9Jmzn3mLFGDHCj3zjn6Q+KzGsJyo81Etag76Cdk3uM+X5a+m14Yd9lrOSkU3B5gVOtoYk3dwX5B4VbcNhT04MtS3PZSKrgfhhOGNBoduKN4+H7/hsn2rCRnrAx5w++LoauIQf+dqx13ON0pPHdS6KzrivEokMg3CCMN+JhpPLrZ1GRLfpoGR6al4mH5mUiPloGtRTYsjiLlwuIiZRalBcXMdpk/cxUXqRWeqyCrZcbsZIeq8CKosCbcr5BhdLkyGvn4aKjpiSrUZKkxoZZqchPCNWRmZJE1RcXIepmUV4cSpMD0T4qmQiV2SNbMKJk1KNwIh+IUlGoFWakexEJNccKNSdLhzlZY7fGMKQGWdM0dJ2xSgly4imrTwat46OQ8NudnxCNh+Zl4vYgC1W+QcV+Pxo62kohCW/hWpQbx4uc4iLh3PTChGg2Ii0c62fx++GaqVQEFre/3l5sQHmqFnkGFfTRsrDnZK6rPJWK+MszqNjrS9SMfelpskYpTTaIRYdA+AIZT4TGeCMemPLGYUdI3VNTtOx5H16QBb1ajg6TBcMuYGmBHvtrKT+Gf53rhJBej1LKxDjZbILT7cXfT7bBybEq9FkDESwAcLihHy6PHwI6Uojh5U+bYOVEDEmEQuwYwcLkpqOjnn63mt027PAgTiXFJ3VG7D7fFXLMBfp83OzYXI409KOGo72jVUjRMTCyPkpTH7U/koLylXCyJdSacbFr9Kzobxzn56r67UeB7PAt/TZ4x+hbw+XjkOguKpLK5vZC4qBmGmZaDVopFcPOybq940QbFFIhPEHWJ6VUjJ2nKevI/x2movX+Feb7AoALncP44c5zsDpCrSi1Q4GZTveQA8m0EObWfXUoSdainfPd9Zn5/VCnoiKwPqzugoNeylqUr0eSVo66Hgv6LC5kxlIyBK8eaQY4czij2Ym7y5MACFBvtCBXH40PL/SggdZp2nOhGyarE7oo2YiRVLcVGWA0h+bZMlld8Hg8aLMAFro/TpborJsNEnVFoq7GBbm28XGleWS+iHM8u+cith5ojFiOQCCEJ9I4vZooyIkY+9eTG+G3gERdjQKJuiJcC65FhMZYz3HvzFTI+uowb9487K/tw+8P1GPdjBT0WpzYX9uLVaUJmJ2pQ+egAyq5GE63D1sPUDootxXpATqyiqorhbXodA872AiskkQ1rG4Pmmhn2pJENcxOd0TFWSbaSacQw0T7l2TEKhGnkqJzyA6708vzOwEAkQAYyaghEwmgUUhgpBWCU7QKiITjV739IhALgQipq1iCr48bKZakkcPr9aPHEhrNNRIyEV85msn/pZAIoZFTkVGxSin6bS7ERknQz9HdKUlSsxadM5yIuHJaSPBM2yCb+0wmFoYoQgNAfJQUSTFyWB0e1Pfx/YOE8MFHLxrGKCRI1ipQ3TWMFUV61qKz4yRlFbytUA8g0A+ZCCyNQgyHx4dff1AbGoXYNYxf767FuhkpgABsbrUtS3IQr5ICEECrlOByjwVbD9SzObe2LMnBzIwY1qITjpHGHmPRqTlzHDFZU/Cf79SQ6KzrBPHRIRC+QK5FHpmxnkMfLUOqCihOUmM57TR6/5wMrJ5KRcMsL0rAA5WZeHJVIR5ZkosVHMfSx5bmsREsoCNanltXhmfXleErMwI+EL/58hQ8tjSP9/e2jdMjtn3zYqrOn64uYbfdMy0F//j3uTj85DK8+tDskGMeX0bVf19FWsg+AHjmy1Ox/euz2L+/tyJ/xDaAE3U1UvTVeKnMjg3Zxr03kVg/i39dv7yrmP38/dsL8MMvFY67LY8s4Z93Nt22by/KwZOrqPq+NpeKuAuOdPvNPVPw1r/NxS/uLuVt/8WaEvxiDfW9Mdf1lekpYc//n3cU4Z1H5uP59dNC9pXGBCZGm+Zl4jdfngIA2LI0D1uW5uL+OYGor8eW8fvh2mkp2LI0Fw9UZqIym/I140YhLsiLR2UOtf3+ORm4f3YgCnFFMdXfH6jMwOqyZLa/M/nHVhQnYEGefsRxOtLYW5AXj/m5ceyYwyTMIXWzcMtadAiEmwXjsAOvHWvFxoq0ER+OVLmWsNtfPtgIn8+HWCvw+/31mJlJPfxfO9aCQlqmf/f5LuQZVNhzoQcbgyYRL+7nm+df+awRcSoZHl6QFbJ9kBPh8+Q/z+HhBZFDxHecoPwtfvz2eXbbS5/WQywC/nK4hfXX4MIkbHyHo2zL5cdvn4dMHHiHe+nTenQNjhzW20OHe9d2h4+UuhIGrKFWl63768KW5fLeOf51/Zn2fwGA3+29hIV58WGOGpl/ng7vJ/X7fZeRrad8WBiV5uZ+vlr2i/suQyET4Vwb3+fo/31Yiya67A7ar+hoYz/C8bu9l5AXwcnYxjHY7a3pxq4zlMXllc8a8fCCLLx2NLRPM7x2rAXfWZYHvVoOE32/X9x/mXW2V0rF7MQlEsz46BvFSjbSOIw09gg3BmSiQyBcI640QmOsYelMeG1wLiFueO79OcCr5xrx18xYrJ+ZijeOt+H395ahJEmNPTU9WFmaGDhXtAxrypKwq6qTF0q9KC+ODTNfU56MPIMK5alaGNQydnu+QQVdlBRHGk0YtHlQaFDhYo8FUVIhrK7AGzyb6JIjSGd1+fDZ5X46YWXoj4+JThRqDsriqRT6YfMJYHF5efXVBoW1h0MooCZGriBfWe6Sz+3FBnQO2iMm2pyTpeOFdMeqpChMUPHC2F0REo9yYcLuGc53BlIwtJjsIT/IGToFG2rOFT4sTVbjPN1Wbvi8RCTA/NxYVLUOwOb2sfeHKRscK/ZhBG0YJlEnaImAFcUGNmknsxSZqJaha9iJFpMddT0WVGbH4qF5mWgfsLF9KoYOnouWiXj3dldVJxbl6/HGiTasKUtCnCqwhPTQvEz0Waj+vrEinR4XVMuDw/4X5MXxxt1D86iJN/M3d3ysn5kaMfJwpHEYaewxxJPorOsKWboiEK4RTJTUF22y3jg7fdRz6KJkrK5IVrwKv7lnSkgZvVqOh+ZnhWxfU85fnihK0uDtzXPxyJLAksKzXy3DupmUVUitkGA6rTA7NTUGXxT3ZI1hFhGBTE6CUC5LCgPLd48sycWmeaH3g4G5XoaKzDhMTx9/KPho6KL4P5bzcgMWi8UFgRDw5UUJCMeyQgP+fVEu1k4Lv8yUHhv+XozGypJE9nMFvYy0tJAfkq5Xy/HjO4p4fSWf7hK/WMNfGuPy0Pws/PiOIujVcraO4L4ZKcmnLkrGjjvmWKauYDbOTkdRkuaKx2mksaePll2TsU8ID7HoEAg3IGMNS49UzmR1oqnPBgGA5r7AUsQxI/Vu878HG6GQUp//drQZTOzlRxeo5YuXDzZAIxejJYyQ3h8OBBI1/u1oM7QKCfwQsKHiAPDCvjo0dFOWiP/610UMOag2cpOBjsRYy3F5vf7K39sine/D6kBY9ldfOgy3L7In8ff+XsX7+4V9dRih+BXDOOYyvH4sEG69lxNGvu1A+GWy3dXdyPvPf8ETYV74h0/qw+8YhZ/sCiw/7qedhf95up3d9r+fNeBgXS8E8MPDSXi6v4P63p75sDakzm10X9t5qh0mdknUD12UjO3vO0+34/2znaiJELr/8sFGzEiPQUacEgUJanbc1HabYbK60GAMWNz2XOhGvdECXZQEBQmUX02kcUi1h9+W4DEaowivK0S4tpDwchJePi7ItV0bxhoyTpJ8EghjZzzj5rGllNXpasLHH1mUecM8UyaaG+F5ScLLR4GElxNuZMYaMj5Skk+uRWc77dCap/ahbliIu6YmQSEV4s0T7bh3Zgr8fmDHyXasKknAB9XdWD01kbXoHKzv47UtT69CHf0WfO/MFJ5FZ/sh6jy3FenR0G1Go8kOg0qGIYcTYbTiJhQRfPBO8Gq8AADzJqiUCOH2+RAhuwTEAoCrqScWAj7fxIoQgvaxcXPiz4UcoUNu+LpcjIj3XCoCPN7wbeOGs4+HaJmI9ZuSiQRwev28uoqTopFvULMWnXfOUuKCyQofOuxCJGrk6BriO43n6lW4bLRgU2UGFhXo6a0BKwqT5FMqEqKmaxgHL/chmNVTk3gWHdDjZnp6DGvRYWQUtizJQXa8imfRGSl8PLgtJHz8xoT46BAINyBjDhkfIcnng5UZeKAyA2s5Ib8VeupH55sLsnDf7EACTyb553I6WefDC7Lxi7un4PsrCxDMtxfnsJ/vm52BJ1cV4YerCnk+H48tzcOjt+UDAH74pUJ8eTrlvxIu5DocYy3HZUPOlU8pIp3vdk6I/d//rRL//eXIucH+31f5+x5bmocNEULgr4Z1M/gpDbjnuI3jl7N5cfhQ9pUlCaj71Zcitu3bi3LCbh8Nro/NEto35x5On/jm/GxakqAc31yQHSibTH1vP7g9tK9tpvva2ukpWJAXT//T8/r72mkpeHJVIb4f5njQyuAPVGZgQZ6eN24W5MVjTXkyT0ZhRXECHZauZ316RgofD24LCR+/MSETHQKBQCAQCJOWW3bpikD4IuFqbgAYkw5OuGP1ajmEAqAiU4dBmwu/fL8G4OSv4pZlygk58cGfX+7Fd3ZUISc+CilaOXY19WFFkR5/+qwR59oHERslwZ8+a8Q901NQnqrFnuouFCSo8OQ/z+HJlQX44HwXCgwq+AEUJamhkIhwvKkfd5cl4bLRgtePtWBVaSJ+/u4FdAzYsDg/Dtnx0RAKgONN/ShJUuN4Uz+KktSIkgoxaHVCKKCyewvoZRI/fHB5gPI0LbqHHOgacqC2axhysQBqhQRDdjfEQgHEQiHEIgFPtRf0Ek2sSo63GuwjqiaL6NxIQ3YXvL5AOZmQ74wsACAUUP9/XN0NjVyM9FglVm/9HAIBf6lIIxfB6fEhSirGd/9eBb1KCrPTDYfbjw/Od6LVZGPr1CjEGKRVnhUSwO4G4lVSxKmkuNhtgUQAuP3UEpkuSoo+ixMOjx8auQgutwcisQgSkRDn2gchBCAUUvfvw+pAfikxvU0oBP5wgPItSVTLoJAI0Ug7ln9+2YiaziE2EadeJUWOQYXTLYNI0cqpJR6DCj3DDsRGSVGaosWg3YXDDf0QCgCP1w+/H/D7qTbIpSLolFK8uK8OGToFrC4vsuKUiJaJkBwjR75BBZPVhTiVlO2vMzNiUJKkht/vh0oygE2Vafi0zoiceCX6LC5WmdvidKM8VYs/fdaIWFq3iSuA+djSXAzaXLh72yEkqGUoMKjg8fkgEgpRlKhGrIqvasycnwmFZ8ZNeaoWhYnR0EfLwpbRq+UjykOMtG/IRWlX3T8nM+L4H6tWFuHKIBYdAuELgNHcMJqdvM/jPRagJgXHmkzos7jwyudNeOXzJnYftyxTjhPQgjOtg+i1uFDfa0WSVgGzR4DYKCnerupEQ58N/VY33q7qRJ/FhTNtg9h9oQe13RZUdw7jTOsgXj/ehtoeCy71WPCNeVnYUJGO14+3YWG+HtWdw3j9eBvOtA6ivtcKu8ePZK0SP76jCD4/8PrxNjw0PwuvH29DWWoMdnyrEjXdFrZ9fgA2tw92NzXpWJinR/ugA14/pZXj8PhhNLvg9Phxd3kKhhwe5CeEOhw6PEDHoAMOv2DE1BBeAL0WF1xe/mTIGbTi5Qe13+MH3ACGHB6o5BL46O3c4ndOTcY//n0u+m1ueP2A0eKC3e2HH8DFbgurGeQH2EkOQE1yQLfnWwup5Rk33Sab24f2QQem0aHpQw4v7F4BLE4fBmwenOsYhg+UL47Z6UMfZ+Ln8QF2tw9Wpw922mGoa9iJBK2SLWN2+lDXY4FcQk10jBYXsuJUcHh8qO+zITNOhQ+/sxCvPjQb9X02fGN+Fu4qS4HT44fd7YfbR90bLwC3j0oG2mKyo77PhmaTHb0WF3INapidXiRqlLjUY0GvxQWtUsr21z6LC9Wdw7jQZUaUmPKjeftMJ+p7bRi0e9A+4ECvxYUBqxtn2gbxdlUttxXaAAAgAElEQVQnr9+DI9fA67s9FtT32qj+yglJDx5bdT0W3rg50zaIDbQeT7gyGEUeYqR9wy5g64HGEcf/eJ8RhPFBJjoEAoFAIBAmLWTpikCYILiaNofpSKU91d2s1OzhhkBECKODE+5YRotjz4VunGoZwKkWSm333bOB1AAvf9qAXEM0OgZtbFkmPOi1o83027cXZ1oH2GPeplWL3zoV0DZh+Ok71SHbttNqsQy/3V3LauX8+VBg38ufNbCfd1V14FSLCW469GcPrcvz+Bun4Rglm+WLI6RHeJ1OMXAl+joTQaTz/u1YK0/H5kp4YkdV2O1Xcq27Obo/I9X1eNA53z4T6Fs/ebsaCVo57E7KUvS9v1ehc5QUGsH8ltbE4faT3++rg4OOwHrrVOCe7WoS4OOBi2Hr2X6I3wdfPdqMokQNhAJg2O7GsMODo42hkVagtaCmp+sQoxRDq6SWlE40UWOJ0Yt69UgLomSU1s3OU+041TKAmi5q/B2s6wXoPmyyOtnknmNdfjaanfB4PGi3Ug+AYI0djKDRgzDPCMKVQ3R0iI7OuCDXFpnxaNoweh5XciyBQLg+BI/bSIxFBwujaPSM9VzXixvht4Do6IwC0dEhTDRcTZvD9X349e5abFmcAwiArfvr8aNVBWyG5WCnxXB6OFuW5CBOJcOpFhPePduFJQXx2F9LvWWunpLIWnTePNGOLUtyAD+w9UA91s9M4Vl0mHxRjKaJREj5VnBRy8UYDhJdiVFIMGAP+H8syImD2+vDkSYTylI0qGqn3j6j5SKYHZR+ikomQmqMAm7a32NlSQJ2V3cjJ04Jh8fH5rYKBzevVDCMA/ONCNc5+XocPxFESUWw0om4ylO0rEXnk8v9KDCo0DnowLBz7EJISRo5OoccvH6yvEgPh9uHg5f7MDdHh0P1lHUlR+WFSqtjy3GJUUowYAv0wXUzU8JadM62h6oir56aGNais/VAPasXtW5GKqJkImw/1IxNlRlIj4tCTdcQdpxox9ryZOw804EtS3IwMyOGteiMBWY8ezwevLnnEN5sFIXV2BmLVhbh6iE+OgTCBMHV3KjMoSY0K0oSsILWpqnMjouosRFOr2NFcQIerMzAw7TmyOqpyWz5hxdmY8vSXFYLZ0VxAqsHsnF2Bp5bV4Y/3jcdGyvS2WPuLksCAHxlemiOo6fvKgnZtmkeP+v491cW4D/vKAIAfG1uYN/D8wOaKGvKkrH78YV4fv00tl0A8Pz6aXjp/hkj3r9HlkR+e90wa3w6PBNNpPPeV5GGd7fMu6q6n1sXXpvnSq51ZUn4/FbBdT2/rgzf5VgL7i4P9K1f3F2CP943Hd+7vRCg9YGeXhPaP0aC0bTh9pNHl+ax278yPaDhsybTj5/fWRi2nk1z+X3w/tkZeLCS0n3avCQXP1xViK/PDZ9/7OEF2XiwMgOrywIaPMwYYfSi7p+Tzuo/rZ2eQtVNjykm6/mK4gRWL2esS0nMeC5OUiMlipqhB2vsjFUri3D1kIkOgUAgEAiEScstu3RFIHyRBOtqRNLYGMuxzN95BhUeoq0swfsinac8TYsEtQxzsmMxMyMGu8+2YWZGDCAQ4FTLAAQCYFpaDFu3zeWB3e1Fc58N5WladptSKuadg9uW8jQtcuKj0DFoR0WWLqTN3DbdXZaEg5d7oVVIkJcQjTaTHakxCnQPO1GepsWGWak43ToAvx8oSqTW3Jv7bajI0uGy0YL5ubE41WyC0+uHiA7bTtLKkR0fheMNfZBKxRAJBDDZPcjVK9Ex6IDN5YNIAKTGKJAZF4UzbYPw+PxwurwQCAVQy8Xot7rhBxAlFWJBbjxioqToGrLjaGM/FuXrMSVFg2MN/RAKqSzZAxYXhCIBKrJ00EfLsDgvDp/V92FWpg4auQQnWwaQa1DhUrcZCokINpcXU1M06BxyQCAAVFIxqtoHMT8nDnkGFTbMSsXh+j70DDswOzsO2fEqxKokONFkwpRkNTr6BqGJVqEoSQOH24uTLQMoSVKjc8gBp8eLAasLIqEQc3Ni0T3kgFYpxsnmAdhcXizIjcOsLB2ONPTDT+vq5BlUiFNJqb6RFYuKLB0+vtiDOVmxYfuWUACUJKlhcbhhsrng9wMCAaCPlqOUtkZcNlqQq1chViVjv/dwfZa73efzQu1sRHy0jO1rAGB3edHcH7kPcskzqFCeqkVGrBIKKeVYHKlspH4ZabyNZ9xGQi0FtizOGrGekXR4CFfPLeuMzDBWZ6bxcCM4aX1RkGu7eZnM10eu7eZkMl8bJvn13QjXNtbfb7J0RSAQCAQCYdJClq4IhJuAYIl447ADz39ch4tdZvzq7hIUJWlGLf/qkSbEuyjtjv87fBn9VifOtQ1i0O5GviEal3rMUEhFsDg80ColkIlFmJ4eg/tmp+NvR1twscuMTfMysP3zZmTEUkq7zf02/OruEpisLnxnRxXEQgEGbC7MyY6DViHBZaMFqToF2kx2qOViVLUNoihRjctGMxUBJhJAIAAEdJ5wsUiEwgS6LRIRzA433D4/7C4fZGIBHJz04AIAKpkQpSlanG4xweER4bEjH7EZx2OVEnh8PggFAhQmqlHbbYZaTj3yBmwu+PyAx0spCMtFgB8C6KKkcLi9EAqpVBMKCRAbJYfZ4YbPDwgFAkTLxTBZXbC5fYiWC2F2+CAWAjFKKcwODxXBZnchTi2HWCDAoN0NrVIKt9eHfosTcdEy+P2AyerC7Ewd5BIRDjf0weL0wuun3j6jFWJMS9WizWRD17ADNpcI/1X9CeQSEQbtbkTLxTA7PIhTyaBVSnC2bQgPL8jEO2e70DFgx4Nz0nC0yYTOQTtEAgHK0rSo7TKja9iJosRodA85EKOUoCIrFqtKE7F1fz0W5cfhxf0NKEyMRkOvFX6/H2k6Jao7h+H3A4kaGQQCAdturVKKi93DcHt88Pj8GLa7YVDLWefq7//jHADgt1+ewvbPms4hPLGjCv1WF363rgyZsQrsbhNihtkJidjL67M1nUN46r0abFmSg08uUdGGa6clY8+FHl56BtApVoJTNoQbB9zx8fLBRl6dwef92Z1FIeNqpDqvdnwz7eGmuSBMDGSiQyDcBDAS8bcVGViZ+tePtwEA6nosoROdMOW3HmjE90qBXrMTrwSJAR5upEJ9QacTYNIVXOqxYFZmLHuuY40mnGkbxJm2QfbYuh4L2kw29Fpc7LYD9A8TAFR38kN/T7YGjnWF5GzwBdoCfk4r7iQH9GTG7PThcANTXsBuB4B+TlgyU6fJxq+TrdtLHdk1zJfgt7sREhI/xAnDNzuowHCPD+z1O+j/2wcCx3HTP3C3H6gLFbvzARiye4L2CdBtDtxfpj5uvZ/V96N9gM5n1WBCvdESOM+lQF01XWb2XjT02ZCoUeBYkwkioQBWlxcnWwLfz2BH4LvrHArcm3DtBoABuwV1PdR5me+d2z/reiyopfefaR2ESirEh+1C/JvZCbHYy+uzdT0WHGsyYV7rINtfS5I1eGHfZWTGRbFlQevRcLexE52gccBg5IwBps7g84YbVyPVeTVw27OmPJlMdCYYsnRFIBAIBAJh0kIsOgTCDUq4tBB/O9IMsUiIHo7l4Z2qDrSZbBAK/EjVRSErXhVII1HdjXqjBefaqbf0PW0CvPfP0HQPI/Hjt8+zn3eeDk0f8YN/VsEbQeiPcO04xxHc41pzRuOFj6nUG0cmKL3GD/55FhJR4B365YMNePlgPVweP7wc1cfXjrXgPTqtyZ8+b0ZGvIou34gkjQxHaCvcrqpAeor/+ZRKN/La0Raq7KcNbIqVj2qotA47T7fjdIsJaoUURjNlPavuGILJ6kJznwWAAM39VrbOd+j6f/thLYoSo1FH3zsmBQQAxKmk0CqlbF2YgHQNxmEHarvNMFldaOB8X3suUGNWFyVBQYKaWHcmgFs26oqkgLgyyLVdO0haCALhxiBZK0fHCKrekdI1jPRMGcv4vpHTQNwIz0uSAmIUSAoIwo1OuLQQ985IYS06ey/2AAAW58djWlpMiEXnyZ3nsWVxDrL1KpxrH8T2Q80o1XrhkmpwaRxv/CqpCBY6PYBSIoQtKH+ETAx4vYDnlnxluvkRC6jvTsDxb7oaZGIBJCIhLHQ+j6LEaAB+1qLT1E8lok1Qy6CWi1FntOLO0gRkxKuwdX89Vk9NYi06Z9uHkB0fhYZeygJTmBCNi91mzEyPwYmWAayekggIgHfPdmFVaQI+ON+NTXMzkBGrZC06v/6gFr9ZW4okrYJn0dl+qBmgx8+BS71YkBvHWnT21/ZibXkyq44cbNGZiHQNGyvSMD09hrXobD1QDwDYsiQH2fEq1qJDuHpu2YkOgXCjw8jEc7lvTgZKkjWo7hhiJzp3lSVjDUfCn8uKkgSUJGuQo1dh+6FmrEj1Y968Eqz549Ext+OXd5ey2a7XTkvB34KydT9zTxnaTDY8uzdy9nHCF8+UFA27fJWjV415+eqxZXl4dm8d5mTHTkh2+GfumQpwMqQ/vCCb7Z+7znSw2zdWpGN+jg5r/ngU35iXAbFYjK376/HwgiyUJGvYsmvKktm+9a2F2Xh8RxU2zk7HiZYBPLyQSj/y7tkuLC+iJjprp6WwExBmeYlJq8BMXKo7htiJzl1lyThwqRffv72APe/+2l4syIuPOK64dV4p3PFd3THETnRWFCdcVb2EUIgzMoFAIBAIhEkLsegQCDcB4dJCbJiViotdZuQZVGMqv2VxFtTDdazc/lh1dJgUBRe7zKjI0uFC5zBPR4dJJxCvkl5nHR0/AjVNNh0dLwzRshF1dObnxMJkdaFjwI552TqIhRiTjk55mhYVmTrMz43F2bbBq9bRYfpjSRK17MLtn3kGFQoMKvRbXShP0yI+WobbU3yIj5ZBIhbz+myeQYWKTB2bBoLZFimFQ7iUDZFSK+jpMcCtM/i84cbVSHVeDdz2kDQQE88t64zMQFJAjA9ybTcvk/n6yLXdnEzma8Mkv74b4dpICggCgUAgEAi3PGSiQyAQCAQCYdJCJjoEAoFAIBAmLWSiQyAQCAQCYdJCJjoEAoFAIBAmLWSiQyAQCAQCYdJCdHQIhHFiHHbgtWOt2FiRNiEJ98LVZxx24OWDjei3OtHcZ8PyYj1e3F+PBXnx2LIkFztPd8Dm8gAAlFIx1k5Lxs7THegYsOF4swlahQQGjRxVrYMoSlKjpd+Gyiwd+ruBx37yEaYkq6GSi3G0wQSZRAiv1we9Rg6ZSAiz0wOj2YVkrRxrypLwx08aIRAAfj9gUMsgFQsxaHMBAgFiFBL0mO2wu6lriZaJECUTY9DmQpxKBrFQAJPNBbfXB7s7oFeTqJEjKUaBE40muP2ASAB4/YBUCLh84e+TEIBcIoTX50darBKXjdagEiI8fuQjCOm6AEAiApQSEYYcVDoCmQhwe4FoeWBbOCQCwO2nyju9geN8AKKkAlhd1AnEAiBaLsaA3QMRAJlECKfHx16LxwfIpUL4/T72HmXoFOgacsAHP5I1CmTGR+Fk8wCsTi+StHIkqOWoah9EvEoGpVSEYbsbvVYRnjyxF3KJCNnxKlzoGoY+Wsam+1BJRWgy2QFaX2h6mhZmpwdenx9+vx9ikRBZ8VG43GOG0eyE3w94fX7Y3T4oJEIIhYBIKESiWo7NS3Lw4v569JqdqMjSAX7gcEM/XB4vNs3LxK6qTvz7omy8d7YLW5bk4J+n2nGksR/3TEvGX4+04NuLs/HRBSMKE6Px+LI89FmceOLvVaymT2GiGpd6zIhTybB+ZgpeOCWCOq8PBo0ST71Xgy1LcvDa0RZ8cskIrVIKp8eHqalaDNrc+O7yPHxwvgvn2oeQqlOge8iJ7y7PwyeXqAScDy/IAgA8/3EdTrUMwOvzQyQUYHp6DB5flscbr8wY4x7HjEPm84piA/Zc6Im4Ta+WT/jzYDSu9fkmA2SiQyCME6PZiRf2XcZtRYaJmeiEqc9oduKVz5vYMgqpCFaXD7ure7CiOJG3D7QcPXdbv9WNhj4qp9DJFipz+TvnumGgm3uuY5gta6dzV7UP8JMWdgw68Fl9P3wIJEHq4mRNB4Ahu4f3t9nphZnOcdQeJgkiNbfwo9lkRzP9wwwEJiaRJjkANclg8myFTnIAQAA/py6AmpwMcVKr000bcZIDUJMcbnknpzgzyQGoHFED9D3wctrHvRZb0EVxrzv4PrQPOtj7xr/XAtg9ftg9Hpxspb7PFpMdLfSxvZySfoAtw+VST/iUEIE2+zBkt+BYo4ktu7u6h1f2s/p+dAw6cKi+H8eaTJjXOoi3qzrZfWanF59d7seZtkGcaRvEhop01BstqO0OnPswnZW83+rG0UYTBlwCnGsfRrrDx9a5+wJ1Xjt9Dw7QE5kzrYN4/XgbAKC6c5jdxvR9JmUDU4Z77Rsq0vkTHc4YY45jxiHzOTMuasRterV8wp8Ho3GtzzcZIEtXBAKBQCAQJi3EokMgjAHjsANGM/V2ySQKZP4HLds+nrercPUdru/DqZYBNBjNaKYzPDMcbwokW/zpO9Uh9f0szLZw9DjG927DJIkk3DoEJ23lwvSH3dXdAICtBy6z+87T+441Bvrqvf9zGN4RrHR7a4wAgJc/a4RURPXNF/ZFTg77+zD7th9qZD8//vppOCKc8Ml/nENeQjQMahkSNXL0WlzsvlePNMPupsx2fzvaDL9fAAB4t6qDat+nDfSiIPBRTTd7THGSBr0W/jjGFTwPRmOinz+3GrfsRGfbtm3Ytm0bvN6RTdgEAui1+Rf2XeZte3LnefbzY0tz8Z3b8q6qvl/vro1Y3sN5dg87PCH7h8JsCw8x4hImDhcn9xjzibt0aBlpLZJe7gMAq8sHK7VIyuvrwbjD7BuwBfp+fdALApfqrmFUdw2H3bfjZDv7+c0Tgc/76SWzd891sds+ON/NOSZQ9mqeB6Mx0c+fW41bdqKzefNmbN68mc2VQSCMxMaKNHadvrpjCE/uPI/frC1FSTLVd8abiC9cfT9aWQCZRMRadA5e7mPLi4WBHwC1XBwy2dHIxWOc7PjIZIcwYUjFAnaywyRTFXGcwVVSIbw+wB5h9iKiJztRUiGkIiEG7B5eXw9GIgyd7MQoxexkJydWCYfXF9Y/rCRRHWLR2bq/HgCwbkYK7G4v3j3bhXtnpsDvF2DHyTYsyY/H/ku9WD0lEYAA757rxKrSBHxwvhvrZqSwFp2t++uv6nkwGhP9/LnVIE88AmEM6NVylCRr2H+gHYCZf+M1G4errzInDg9WZuDpNaX4/u0FvPKzMmPZz0/fVRJS31NhtoXDIB/5DTuYKSnkJeBW4z46wigcTH9YWZIAANiyOJfdV0rvq8gK9NU3v1WJ/7pnSsT6bivSAwAenp+Fn62m+vBjSyNbJh4Ns2/T3Cz28/MbpuGl+2eEPfY3X56C59aV4QcrC/FAZSZWFCew++6fk4GHF2QDAO6bnYH756QDAFaXUU7KDy/MxsMLqfMsL0pgj3mgMoOt52qeB6Mx0c+fWw0y0SEQCAQCgTBpuWWXrgiEK0UfLcNjS3MnzFwcrj59tAwPzctkdXTm58bibNsAFuTFI8+gwkPzMnk6Osy20XV02tHjwJh1dObnxKK6fegm0dHxQwDBJNXRcUEhFl4THZ2KLB1ONJvC6ujMz4lFv8WJuTmxMFldKE/T4u6yJBxp7Mf8nFg09VowPzcWdpcXhYnR0EfLIBQABQmqsDo6s7N0OFbfgykpahg0SlRk6lCepsXKYkNYHZ3yNC02zErl6eiUp2nx0LxMdtwAwIZZqSE6OsHjlRlj3OO44/CxpbnIM6hG3TbRz4PRuNbnmwwI/H6/fwzlJi2Mj87Q0BDUavWE1Ol2u/HBBx9g1apVkEgkE1LnjQK5tpuXyXx95NpuTibztWGSX9+NcG1j/f0mS1cEAoFAIBAmLWSiQyAQCAQCYdJCJjoEAoFAIBAmLWSiQyAQCAQCYdJCJjoEAoFAIBAmLWSiQyAQCAQCYdJCJjoEAoFAIBAmLWSiQyAQCAQCYdJCJjoEAoFAIBAmLWSiQyAQCAQCYdJCJjoEAoFAIBAmLWSiQyAQCAQCYdJCJjoEAoFAIBAmLWSiQyAQCAQCYdJCJjoEAoFAIBAmLWSiQyAQCAQCYdIyKSY677//PvLz85Gbm4tXXnnlejeHQCAQCATCDYL4ejfgavF4PHjiiSdw4MABaDQaTJ8+HWvXroVOp7veTSNMEozDDrx2rBUrig3Yc6EHGyvSoFfLr+j4nac7YHN5YHd70dxnw6Z5GXhxfz2MZifkYiEGbC4Y1HIUJalR121Gn9UF+IF4lRSpOiXOdQxBJRNDIREhMy4KbQN2qOVinG4dgC5KCqvTA7fXD7vbB7lYAK8fUElFMNk9kIsB+ET4/rGP4PQF2icAsKwwHh9f7IVECLh8ka9FJgKc3qu8oV8YIjx25KPr3QiIAIx0i6JlQpidkW+yXAyIhEI4PT542GIiPH7kI/iDyspEAni9fvZ8/qD6YxRi+Px+uH1+2F0+CAEoZCKIhQLMyY6FXCzCkcZ+dA87IRUC31yQhb8eaYHZ6YVMBLh9gFIigMXlh0IqwKNLcvHKZ01we32IV8mQplOiunMY83LisKRQj1/96yIKE6PR1m+DyebG1FQtes1OpMYo0D3sZPt7n8WJWRk6aBRiXG4S4uXmw8hLUEMhEUEpFWPttGR2rACA3eVFTdcwJCIhnlxZgBPNA5iZEYNfvl8Do9mJikwdkmOUeHhBFjs2azqH8NR7Nbhvdhpe3F8Pk9WFx5bl4r2zXfjZnUUoStIA9Ph8+WAj+i1OXDZaMCVFg8eX5YWMcWYcc8d/uG1j4UqPI1wZN/1E5/jx4yguLkZycjIAYOXKldizZw/Wr19/vZtGmCQYzU68sO8yMuOi8MK+y7ityDC+hxrn+Fc+b+LtO9ZowqUeC29bi8mOFpOdt23I4UF9nw0A0G91AwBqg47rHHLy/rZ7qJ9Fk536sXB4QE9r+PgBnGwZhB8jT3KAG3mSg7DXdj34/+3deVAUd9oH8O9wDIdcAjJyCIIgggaiAiO4nhjRjYLR3XWDtbomSzSBLV1zmWytwVQSXH3NahLWdWtroSqvUZNVdDUxoijgHVEnBo9BKF7RCE7EcMvhzPP+gXQYZpAjo023z6eKKqaPXz8Pz/TMM909TU9/ooc1ORDq1HUZhUmTAwAtetOpncf/8UHtO8fW8KCIB4pvG81rNQDHSqtR/2B+R60bWtu3ca+VcOxatfD8q2tuQtmD52SO5hYG2dmgqq4FVXU/PQ+Pan8AABTfqgO6PN8PXOrYvhWABlyq/On5PMbX1WRf6XChogab867h1WdGCvtAx1jzxvoK+2bJ7QacKb+LEC8nYZsnSqtxpvwuSm43/NTo1LcYbav4Vh2S1QGmjc6D/bjz/m9uWm/0dz3WP6KfuiosLMTcuXPh4+MDhUKBPXv2mCyTmZmJ4cOHw97eHmq1Gt98840w79atW0KTAwC+vr74/vvvH1v8jDHGGBu4RD+i09jYiMjISCxduhQLFiwwmb9z506sWrUK//jHP6BWq7Fp0yYkJCRAq9XCy8sLRKafaBSK7j/ZtbS0oKXlp08cdXXtnzTa2trQ1tZmkZw6xrHUeAPJk5Kbrr4FP9S34G5jK4qu/wgAyNe2f2o8cPEWdLVNcB+kxBBnO3g525mM1Xn9wpI7AICtBaUmy312puIRZ9U7PzbJr56s7y7erH3o/JNl1d3O++ybnp/L23uxDAB88OXlbuf9/Wj7fpR59JrJvBWfnYO/xyAMdrTFhRs1AICcCz998D16tX0f/p+DV3Hwu1uAAqiqbTYZ568HriBsqDN8XO3h7+EI90FKXHpwVOpYiQ7ayva/k66+fd1vK+7i/v32o2edXxPMvaYAEMbqbj0pGAjvBb3dtoLMdQoiUSgUyMnJwbx584RparUa0dHR+OSTTwAABoMBw4YNwx//+EesXr0aJ0+exIYNG5CTkwMAWLlyJWJiYpCcnGx2G+np6Vi7dq3J9M8++wyOjo6PLDcmLQduWOHrmz0f8JzlZ8DsYaanInq7PmNMXvr7mtDdeqx7TU1NSE5ORm1tLVxcXLpdbkA3Oq2trXB0dMR//vMfo+ZnyZIlqKmpwd69e3H//n2EhYUhPz9fuBj55MmT8PDwMLsNc0d0hg0bhjt37jz0D9UXbW1tOHToEJ555hnY2tpaZMyB4knJ7cdmg9ERnb8XlGPe097Yo6lE6pQgjA9w69MRnezTFQgb6oQrVcbX1ViZuRqDMSmyUgCGHt5NrBWAmcuKTHg5KaFraDU7z8HGCvfut19s33zfeLARHg5GR3TKq+9hkNIaja3tFxx1rOPnZo+nfFyEIzoXbtYZjTMp2MPsEZ0/772MNxNGCvu8rr4Zfz14De8nhWO0T/v7R9cjOl1fU/DgiM6f917udj0pGAjvBXV1dfD09Oyx0RH91NXD3LlzB3q9HiqVymi6SqXC1atXAQA2NjbYuHEjpk2bBoPBgDfeeKPbJgcA7OzsYGdn+mSytbW1eLEexZgDhdxz83W0ha+7EwDAy9URfy8ox9RQFfZoKjE7wgdjfF0fOoavu/H62acrsGxKMFbu1Bgtl6z2x/8OgNNXgx1t+fQVQ4Sf60NPX8WN8Oj29FVyTM/P5ed7sQwAvP1suMm+0uGVacHYeKgEqdNCsPFQidG8zcnjhX1zz4XvsXKnBs+N9RW2OW2UCgeKq/BawijMG9t+bWfx97WY8/Fxo3HenB1mso/b2LS/XU4a6SXMK/6+Fn89eA2R/u4PfU3o+prSMVZP60mBmO8Fvd3ugG50ukNERtfhJCYmIjExUdSYGGOMMTbwDOhGx9PTE9bW1rh92/hrkDqdzuQoT19lZmYiMzMTev2A/r4sGwC8nO2wIj4EI1VOWBEf0ufDy53X/8MvAo3uo9+UikIAABDdSURBVKMOcsfZ/7v7GO+jQyAoTO6jExXgJoP76NCA+Ir5o7mPDkFh5ivmlr6PzqRgD5T/0NDtfXQmhXhAW1Vn9j466iB3HL5y+6H30el4vhvfR+cGmpUuRvfR6byvoMt9dMb6u2FFfAjG+rthlMrJ6D46nffNkSonqAPdhW3ebWzFxGAP3G1sxUiVk7Ccl7Md/vCLQKP76Jjbxzv2487zzE3rjf6ux/qJBhAAlJOTYzQtJiaG0tLShMd6vZ58fX0pIyPDItusra0lAFRbW2uR8YiIWltbac+ePdTa2mqxMQcKzk265Jwf5yZNcs6NZJ7fQMitt+/foh/RaWhoQGnpT1+7LS8vh0ajgbu7O/z9/bFq1SosXrwYUVFRiImJwaZNm9DY2IilS5eKGjdjjDHGBj7RG52ioiJMmzZNeLxq1SrgwTersrOzsXDhQvzwww9Ys2YNqqqq8PTTT+Prr7/+2aeuGGOMMSZ/ojc6U6dONXvTv87S0tKQlpb22GJijDHGmDw8sXc0y8zMRHh4OKKjo8UOhTHGGGOPyBPb6KSmpuLy5cs4e/as2KEwxhhj7BF5YhsdxhhjjMkfNzqMMcYYky1udBhjjDEmW09so8MXIzPGGGPy98Q2OnwxMmOMMSZ/ot9HR2wd9/Cpq6uz2JhtbW1oampCXV2d7P7DN+cmXXLOj3OTJjnnBpnnNxBy63jf7ulefE98o1NfXw8AGDZsmNihMMYYY6yP6uvr4erq2u18BfXUCsmcwWDArVu34OzsDIXCMv/5uK6uDsOGDcONGzfg4uJikTEHCs5NuuScH+cmTXLODTLPbyDkRkSor6+Hj48PrKy6vxLniT+iY2VlBT8/v0cytouLi+ye3B04N+mSc36cmzTJOTfIPD+xc3vYkZwOT+zFyIwxxhiTP250GGOMMSZb1unp6eliByFH1tbWmDp1Kmxs5Hd2kHOTLjnnx7lJk5xzg8zzk0puT/zFyIwxxhiTLz51xRhjjDHZ4kaHMcYYY7LFjQ5jjDHGZIsbHcYYY4zJFjc6FpaZmYnhw4fD3t4earUa33zzjdghWUR6ejoUCoXRz6hRo8QOq18KCwsxd+5c+Pj4QKFQYM+ePUbziQhr1qyBt7c3HBwcMGPGDFy7dk20ePuip9x+//vfm9Rx1qxZosXbFxkZGYiOjoazszO8vLwwb948aLVao2Wam5uRmpoKDw8PODk5YcGCBbh9+7ZoMfdWb3KbOnWqSe2WL18uWsx9sWXLFkRERAg3l4uNjcWBAweE+VKtG3qRm5Tr1lVGRgYUCgVWrlwpTJNC7bjRsaCdO3di1apVeOedd3D+/HlERkYiISEBOp1O7NAsYvTo0aisrBR+jh8/LnZI/dLY2IjIyEh88sknZuevX78eH330EbZs2YIzZ85g0KBBSEhIQHNz82OPta96yg0AZs2aZVTH7du3P9YY+6ugoACpqak4ffo0Dh06hLa2NsycORONjY3CMn/605+wb98+fPHFFygoKMCtW7cwf/58UePujd7kBgApKSlGtVu/fr1oMfeFn58f1q1bh6KiIhQVFWH69OlISkrCpUuXAAnXDb3IDRKuW2dnz57FP//5T0RERBhNl0TtiFlMTEwMpaamCo/1ej35+PhQRkaGqHFZwjvvvEORkZFih2FxACgnJ0d4bDAYaOjQobRhwwZhWk1NDdnZ2dH27dtFirJ/uuZGRLRkyRJKSkoSLSZL0ul0BIAKCgqIHtTJ1taWvvjiC2GZK1euEAA6deqUiJH2XdfciIimTJlCK1asEDUuSxo8eDD961//klXdOnTkRjKpW319PYWEhNChQ4eM8pFK7fiIjoW0trbi3LlzmDFjhjDNysoKM2bMwKlTp0SNzVKuXbsGHx8fBAUFYdGiRaioqBA7JIsrLy9HVVWVUR1dXV2hVqtlU8f8/Hx4eXkhNDQUL7/8Mqqrq8UOqV9qa2sBAO7u7gCAc+fOoa2tzah2o0aNgr+/v+Rq1zW3Dtu2bYOnpyfGjBmDt956C01NTSJF2H96vR47duxAY2MjYmNjZVW3rrl1kHrdUlNT8eyzzxrVCBLa5wb27Qwl5M6dO9Dr9VCpVEbTVSoVrl69KlpclqJWq5GdnY3Q0FBUVlZi7dq1mDRpEoqLi+Hs7Cx2eBZTVVUFPKhbZyqVSpgnZbNmzcL8+fMRGBiIsrIyvP3225g9ezZOnToFa2trscPrNYPBgJUrV2LixIkYM2YM8KB2SqUSbm5uRstKrXbmcgOA5ORkBAQEwMfHBxcvXsSbb74JrVaL3bt3ixpvb3333XeIjY1Fc3MznJyckJOTg/DwcGg0GsnXrbvcIIO67dixA+fPn8fZs2dN5klln+NG5xEjIigUCrHD+Nlmz54t/B4REQG1Wo2AgAB8/vnnePHFF0WN7XEgIlhZSf8A6G9/+1vh96eeegoREREYMWIE8vPzER8fL2psfZGamori4uJeXScmtX2wu9xeeukl4fennnoK3t7eiI+PR1lZGUaMGCFCpH0TGhoKjUaDmpoa7Nq1C0uWLEFBQUG3y0upbt3lFh4eLum63bhxAytWrEBubi7s7e17vd5Aq530X7kHCE9PT1hbW5tcba7T6UyODsiBm5sbRo4cidLSUrFDsaihQ4cCwBNTx6CgIHh6ekqqjmlpadi/fz+OHj0KPz8/YfrQoUPR2tqKmpoao+WlVLvucjNHrVYDgGRqp1QqERwcjKioKGRkZCAyMhKbN2+WRd26y80cKdXt3Llz0Ol0GD9+PGxsbGBjY4OCggJ89NFHsLGxgUqlkkTtuNGxEKVSifHjxyMvL0+YZjAYkJeXZ3SuVi4aGhpQVlYGb29vsUOxqMDAQAwdOtSojnV1dThz5ows63jz5k1UV1dLoo5EhLS0NOTk5ODIkSMIDAw0mj9+/HjY2toa1a6kpAQVFRUDvnY95WaORqMBAEnUzhyDwYCWlhZJ1607HbmZI6W6xcfH47vvvoNGoxF+oqKisGjRIuF3SdRO7Kuh5WTHjh2kVCopOzubLl++TC+99BK5ublRVVWV2KH9bK+++irl5+dTeXk5nThxgmbMmEGenp6k0+nEDq3P6uvr6cKFC3ThwgUCQB9++CFduHCBrl+/TkRE69atIzc3N9q7dy9dvHiRkpKSKDAwkO7duyd26D16WG719fX02muv0alTp6i8vJwOHz5M48aNo5CQEGpubhY79B69/PLL5OrqSvn5+VRZWSn8NDU1CcssX76c/P396ciRI1RUVESxsbEUGxsraty90VNupaWl9O6771JRURGVl5fT3r17KSgoiCZPnix26L3y1ltvUWFhIZWXl9PFixdp9erVpFAoKDc3l0jCdaMecpN63czp+i0yKdSOGx0L+/jjj8nf35+USiXFxMTQ6dOnxQ7JIhYuXEje3t6kVCrJ19eXFi5cSKWlpWKH1S9Hjx4lACY/S5YsIXrwFfO//OUvpFKpyM7OjuLj40mr1Yoddq88LLempiaaOXMmDRkyhGxtbSkgIIBSUlIk04ibywsAZWVlCcvcu3ePXnnlFRo8eDA5OjrSc889R5WVlaLG3Rs95VZRUUGTJ08md3d3srOzo+DgYHr99deptrZW7NB75YUXXqCAgABSKpU0ZMgQio+PF5ocknDdqIfcpF43c7o2OlKonYLadzLGGGOMMdnha3QYY4wxJlvc6DDGGGNMtrjRYYwxxphscaPDGGOMMdniRocxxhhjssWNDmOMMcZkixsdxhhjjMkWNzqMMcYYky1udBhjjDEmW9zoMMYGpOzsbLi5uYkdBmNM4rjRYYzJml6vh8FgeGzba2tre2zbYoz1jBsdxlifbd26Fb6+viYNRGJiIl588UXh8d69ezFu3DjY29sjKCgIa9euxf3794X5NTU1WLZsGVQqFezt7TFmzBjs378f+fn5WLp0KWpra6FQKKBQKJCeng4A+PHHH7F48WIMHjwYjo6OmD17Nq5duyaM2XEk6L///S/Cw8NhZ2eHiooKkxzy8/OhUCiQl5eHqKgoODo6Ii4uDlqt1mi5LVu2YMSIEVAqlQgNDcWnn35qNF+hUGDLli1ITEzEoEGD8P777wtjHzx4EGPHjoWDgwOmT58OnU6HAwcOICwsDC4uLkhOTkZTU5MFKsIY65bY/1WUMSY91dXVpFQq6fDhw8K0u3fvklKppLy8PCIiOnbsGLm4uFB2djaVlZVRbm4uDR8+nNLT04mISK/X04QJE2j06NGUm5tLZWVltG/fPvrqq6+opaWFNm3aRC4uLlRZWUmVlZVUX19PRESJiYkUFhZGhYWFpNFoKCEhgYKDg6m1tZWIiLKyssjW1pbi4uLoxIkTdPXqVWpsbDTJoeM/vavVasrPz6dLly7RpEmTKC4uTlhm9+7dZGtrS5mZmaTVamnjxo1kbW1NR44cEZYBQF5eXvTvf/+bysrK6Pr168LYEyZMoOPHj9P58+cpODiYpkyZQjNnzqTz589TYWEheXh40Lp16x5hpRhj3OgwxvolMTGRXnjhBeHx1q1bycfHh/R6PRERxcfH0wcffGC0zqeffkre3t5ERHTw4EGysrIirVZrdvysrCxydXU1mlZSUkIA6MSJE8K0O3fukIODA33++efCegBIo9E8NP6OZqRzs/bll18SALp37x4REcXFxVFKSorRer/+9a/pl7/8pfAYAK1cubLHsTMyMggAlZWVCdOWLVtGCQkJD42TMfbz8Kkrxli/LFq0CLt27UJLSwsAYNu2bXj++edhZdX+svLtt9/i3XffhZOTk/CTkpKCyspKNDU1QaPRwM/PDyNHjuz1Nq9cuQIbGxuo1WphmoeHB0JDQ3HlyhVhmlKpRERERK/G7Lyct7c3AECn0wnbmzhxotHyEydONNoWAERFRfU4tkqlgqOjI4KCgoymdWyLMfZo2IgdAGNMmubOnQuDwYAvv/wS0dHROHbsGDZt2iTMb2howNq1azF//nyTde3t7eHg4NDnbbYfQDE/XaFQCI8dHByMHj+Mra2t8HvHOp2vPeo6TtdtAcCgQYN6NXbnxx3THueF0ow9ibjRYYz1i4ODA+bPn49t27ahtLQUoaGhGDt2rDB/3Lhx0Gq1CA4ONrt+REQEbt68iZKSErNHdZRKJfR6vdG08PBw3L9/H2fOnEFcXBwAoLq6GiUlJQgLC7N4jmFhYTh+/DgWL14sTDt58uQj2RZj7NHgRocx1m+LFi3C3LlzcenSJfzud78zmrdmzRrMmTMH/v7++NWvfgUrKyt8++23KC4uxnvvvYcpU6Zg8uTJWLBgAT788EMEBwfj6tWrUCgUmDVrFoYPH46Ghgbk5eUhMjISjo6OCAkJQVJSElJSUrB161Y4Oztj9erV8PX1RVJSksXze/311/Gb3/wG48aNQ3x8PPbt24fdu3fj8OHDFt8WY+zR4Gt0GGP9Nn36dLi7u0Or1SI5OdloXkJCAvbv34/c3FxER0djwoQJ+Nvf/oaAgABhmV27diE6OhrPP/88wsPD8cYbbwhHceLi4rB8+XIsXLgQQ4YMwfr16wEAWVlZGD9+PObMmYPY2FgQEb766iuT00KWMG/ePGzevBkbNmzA6NGjsXXrVmRlZWHq1KkW3xZj7NFQUHcnvRljjDHGJI6P6DDGGGNMtrjRYYwxxphscaPDGGOMMdniRocxxhhjssWNDmOMMcZkixsdxhhjjMkWNzqMMcYYky1udBhjjDEmW9zoMMYYY0y2uNFhjDHGmGxxo8MYY4wx2fp/KeOA0kO7e8EAAAAASUVORK5CYII=\n"
},
"metadata": {
"bento_obj_id": "139715818471088"
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"originalKey": "b03fa276-5989-4ca8-ac93-7c2874f412af",
"showInput": false,
"customInput": null
},
"source": [
"--> longer vectors are much more likely to appear in results. We can use this property in the \"differential indexing\" below."
]
},
{
"cell_type": "markdown",
"metadata": {
"originalKey": "c5a13716-2164-4955-9fa8-9d1e83f18907",
"showInput": false,
"customInput": null
},
"source": [
"### dimension distribution\n",
"\n",
"See if some dimensions contain more energy than others"
],
"attachments": {}
},
{
"cell_type": "code",
"metadata": {
"originalKey": "a3b783f5-8c3f-42f5-ba27-2e5f393880ea",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "a3b783f5-8c3f-42f5-ba27-2e5f393880ea",
"customOutput": null,
"executionStartTime": 1665440070194,
"executionStopTime": 1665440071478
},
"source": [
"pyplot.plot((xb ** 2).sum(0))\n",
"pyplot.grid()"
],
"execution_count": 241,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 640x480 with 1 Axes>",
"image/png": "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\n"
},
"metadata": {
"bento_obj_id": "139692953835600"
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"originalKey": "1afa5241-236e-4670-a10b-35bc91427eb3",
"showInput": false,
"customInput": null
},
"source": [
"--> There is one dimension that is much stonger than others. We should be careful about this when using product quantizer or scalar quantizer"
],
"attachments": {}
},
{
"cell_type": "markdown",
"metadata": {
"originalKey": "e1dfdf6e-8f03-4f3c-a46a-d3829eb452b2",
"showInput": false,
"customInput": null
},
"source": [
"# Benchmarking knn function\n",
"\n",
"What is the performance of the brute-force knn function? Single thread, for 1 query at a time."
],
"attachments": {}
},
{
"cell_type": "code",
"metadata": {
"originalKey": "879d9df2-e346-4960-aa14-a19c6ee92c36",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "879d9df2-e346-4960-aa14-a19c6ee92c36",
"customOutput": null,
"executionStartTime": 1665440105157,
"executionStopTime": 1665440111245
},
"source": [
"faiss.omp_set_num_threads(1)\n",
"%timeit D, I = faiss.knn(xq[:1], xb, k=1, metric=faiss.METRIC_INNER_PRODUCT)"
],
"execution_count": 242,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"66 ms ± 664 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"originalKey": "d547d9d8-f067-452a-aff5-e3411246ce95",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "d547d9d8-f067-452a-aff5-e3411246ce95",
"customOutput": null,
"executionStartTime": 1665440111287,
"executionStopTime": 1665440117248
},
"source": [
"%timeit D, I = faiss.knn(xq[:1], xb, k=100, metric=faiss.METRIC_INNER_PRODUCT)"
],
"execution_count": 243,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"66.9 ms ± 1.51 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"originalKey": "57c5c16c-c8b2-4748-83ba-2873fa6e02c3",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "57c5c16c-c8b2-4748-83ba-2873fa6e02c3",
"customOutput": null,
"executionStartTime": 1665440117307,
"executionStopTime": 1665440125009
},
"source": [
"%timeit scores = xq[0] @ xb.T"
],
"execution_count": 244,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"86.9 ms ± 2.51 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)\n"
]
}
]
},
{
"cell_type": "markdown",
"metadata": {
"originalKey": "2dd2ad70-6421-4253-9b3c-b6e9e00ff70d",
"showInput": false,
"customInput": null
},
"source": [
"Weird that the matrix mulitplication is slower than the knn function (that uses a matmul internally). The number of nearest neighbors returned does not impact search time too much. We are far from the required search speed (~5 ms)."
],
"attachments": {}
},
{
"cell_type": "markdown",
"metadata": {
"originalKey": "547ccc1f-f66c-419f-91de-dd2841417345",
"showInput": false,
"customInput": null
},
"source": [
"## Weak compression (8-bit scalar quantizer)"
],
"attachments": {}
},
{
"cell_type": "markdown",
"metadata": {
"originalKey": "a7906047-6779-40e4-8da3-a1fbaaabf063",
"showInput": false,
"customInput": null
},
"source": [
"First approach is to use a 8-bit scalar quantizer that usually looses no accuracy and is faster than brute force."
],
"attachments": {}
},
{
"cell_type": "code",
"metadata": {
"originalKey": "30d45f17-dd2a-4e33-a9c6-c71207826d4d",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "30d45f17-dd2a-4e33-a9c6-c71207826d4d",
"customOutput": null,
"executionStartTime": 1665440147936,
"executionStopTime": 1665440149263
},
"source": [
"index_sq = faiss.index_factory(64, \"SQ8\", faiss.METRIC_INNER_PRODUCT)\n",
"index_sq.train(xb)\n",
"index_sq.add(xb)"
],
"execution_count": 246,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"originalKey": "fc4f209c-b5b7-493e-9970-9a45fd778293",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "fc4f209c-b5b7-493e-9970-9a45fd778293",
"customOutput": null,
"executionStartTime": 1665440149340,
"executionStopTime": 1665440156849
},
"source": [
"%timeit index_sq.search(xq[:1], 1)"
],
"execution_count": 247,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"85 ms ± 862 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n"
]
}
]
},
{
"cell_type": "markdown",
"metadata": {
"originalKey": "92940c6e-cd0c-4501-9fc9-2e61690b3df9",
"showInput": false,
"customInput": null
},
"source": [
"the SQ actually *slower* than brute force knn -- need stronger compression or non-exhaustive search"
]
},
{
"cell_type": "markdown",
"metadata": {
"originalKey": "f0354966-8f78-4705-8b94-ee5cd6beead4",
"showInput": false,
"customInput": null
},
"source": [
"## Strong compression + refinement \n",
"\n",
"Here we use a [fast-scan index](https://github.com/facebookresearch/faiss/wiki/Fast-accumulation-of-PQ-and-AQ-codes-(FastScan)) followed by an exact refinement stage. \n",
"\n",
"There is no non-exhaustive search. This is convenient to combine it with subset search, ie. when we dynamically exclude a fraction of the index at search time."
],
"attachments": {}
},
{
"cell_type": "code",
"metadata": {
"originalKey": "b22e6cb9-2523-42cb-9afd-c7f519dd5ff0",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "b22e6cb9-2523-42cb-9afd-c7f519dd5ff0",
"executionStopTime": 1665439953395,
"customOutput": null,
"executionStartTime": 1665436728404
},
"source": [
"index_fs = faiss.index_factory(64, \"OPQ32,PQ32x4fs,RFlat\", faiss.METRIC_INNER_PRODUCT)\n",
"faiss.omp_set_num_threads(32)\n",
"index_fs.train(xb)\n",
"index_fs.add(xb)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"originalKey": "cae76972-e6b8-4500-9c30-f1a206b6d440",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "cae76972-e6b8-4500-9c30-f1a206b6d440",
"customOutput": null,
"executionStartTime": 1665439834573,
"executionStopTime": 1665439953421
},
"source": [
"# k * k_factor = 100 * k_factor = number of results for which to compute the exact nearest neighbors\n",
"index_fs.k_factor = 10 "
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"originalKey": "0d1390d2-2c6e-458c-bdc3-516dc1dc07ef",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "0d1390d2-2c6e-458c-bdc3-516dc1dc07ef",
"customOutput": null,
"executionStartTime": 1665440179586,
"executionStopTime": 1665440184791
},
"source": [
"faiss.omp_set_num_threads(1)\n",
"%timeit index_fs.search(xq[:1], 100)"
],
"execution_count": 248,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"5.41 ms ± 108 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"originalKey": "f4da0492-3131-4ee3-8dc1-92c2f403d668",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "f4da0492-3131-4ee3-8dc1-92c2f403d668",
"customOutput": null,
"executionStartTime": 1665440184879,
"executionStopTime": 1665440188001
},
"source": [
"faiss.omp_set_num_threads(32)\n",
"Dnew, Inew = index_fs.search(xq, 100)"
],
"execution_count": 249,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"originalKey": "0dcce069-2571-4a41-acc9-42d223618e0f",
"showInput": false,
"customInput": null
},
"source": [
"As an accuracy measure, we use the intersection, ie. the number of true k-nearest neighbors found in the k search results (whith k=1, 10, 100). "
],
"attachments": {}
},
{
"cell_type": "code",
"metadata": {
"originalKey": "5b5d9ef0-fc88-4278-993f-966a8bc5b714",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "5b5d9ef0-fc88-4278-993f-966a8bc5b714",
"customOutput": null,
"executionStartTime": 1665440188214,
"executionStopTime": 1665440189763
},
"source": [
"{rank: knn_intersection_measure(Inew[:, :rank], Iref[:, :rank]) for rank in [1, 10, 100]}"
],
"execution_count": 250,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "{1: 0.9903, 10: 0.96079, 100: 0.829045}"
},
"metadata": {
"bento_obj_id": "139692953387584"
},
"execution_count": 250
}
]
},
{
"cell_type": "markdown",
"metadata": {
"originalKey": "2f169002-a9bb-4e05-9d11-e937fc2f27bd",
"showInput": false,
"customInput": null,
"collapsed": false,
"requestMsgId": "2f169002-a9bb-4e05-9d11-e937fc2f27bd",
"customOutput": null,
"executionStartTime": 1665389574957,
"executionStopTime": 1665389575102
},
"source": [
"So the search time fits the bill. The nearest neighbor accuracy is almost perfect. "
],
"attachments": {}
},
{
"cell_type": "markdown",
"metadata": {
"originalKey": "b9bd21b4-5a89-4b38-a16a-e39dcbb86ec2",
"showInput": false,
"customInput": null
},
"source": [
"## Non-exhaustive search (HNSW)"
],
"attachments": {}
},
{
"cell_type": "code",
"metadata": {
"originalKey": "1ee2c18a-f047-494a-93e1-8c805f4116a2",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "1ee2c18a-f047-494a-93e1-8c805f4116a2",
"customOutput": null,
"executionStartTime": 1665439284735,
"executionStopTime": 1665439704033
},
"source": [
"index_hnsw = faiss.index_factory(64, \"HNSW32\", faiss.METRIC_INNER_PRODUCT)\n",
"# index.train(xb[:nb])\n",
"faiss.omp_set_num_threads(32)\n",
"index_hnsw.add(xb)"
],
"execution_count": 218,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"originalKey": "25ede309-fb78-467b-b1f7-99ff73a6b8f0",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "25ede309-fb78-467b-b1f7-99ff73a6b8f0",
"customOutput": null,
"executionStartTime": 1665440223958,
"executionStopTime": 1665440227239
},
"source": [
"faiss.omp_set_num_threads(1)\n",
"index_hnsw.hnsw.efSearch\n",
"index_hnsw.hnsw.efSearch = 400\n",
"%timeit index_hnsw.search(xq[:1], 100)"
],
"execution_count": 251,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"3.18 ms ± 218 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"originalKey": "dda81929-dac6-4e32-ba9c-69437e1fa3e3",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "dda81929-dac6-4e32-ba9c-69437e1fa3e3",
"customOutput": null,
"executionStartTime": 1665440228591,
"executionStopTime": 1665440232459
},
"source": [
"faiss.omp_set_num_threads(32)\n",
"Dnew, Inew = index_hnsw.search(xq, 100)"
],
"execution_count": 252,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"originalKey": "5b4da93c-051e-43fb-8c8d-79b73f048488",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "5b4da93c-051e-43fb-8c8d-79b73f048488",
"customOutput": null,
"executionStartTime": 1665440233619,
"executionStopTime": 1665440235169
},
"source": [
"{rank: knn_intersection_measure(Inew[:, :rank], Iref[:, :rank]) for rank in [1, 10, 100]}"
],
"execution_count": 253,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "{1: 0.9996, 10: 0.99691, 100: 0.965}"
},
"metadata": {
"bento_obj_id": "139692952757696"
},
"execution_count": 253
}
]
},
{
"cell_type": "markdown",
"metadata": {
"originalKey": "a49266ba-dfb0-4fe7-8380-1c98ba0d866d",
"showInput": false,
"customInput": null
},
"source": [
"Accuracy and speed are even better. However it is less efficient to do subset search (as for all non-exhaustive indexes)."
],
"attachments": {}
},
{
"cell_type": "markdown",
"metadata": {
"originalKey": "8bccd713-615e-4d7b-8e99-b45fc1406696",
"showInput": false,
"customInput": null
},
"source": [
"## Non-exhaustive search (IVFFlat)"
],
"attachments": {}
},
{
"cell_type": "code",
"metadata": {
"originalKey": "4e20439b-f618-4707-b56a-d02ecb3b13fc",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "4e20439b-f618-4707-b56a-d02ecb3b13fc",
"customOutput": null,
"executionStartTime": 1665439090701,
"executionStopTime": 1665439104747
},
"source": [
"index_ivfflat = faiss.index_factory(64, \"IVF2048,Flat\", faiss.METRIC_INNER_PRODUCT)\n",
"faiss.omp_set_num_threads(32)\n",
"index_ivfflat.train(xb)\n",
"index_ivfflat.add(xb)"
],
"execution_count": 205,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"originalKey": "6efa7791-5145-449e-b34e-ca27f1f71b29",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "6efa7791-5145-449e-b34e-ca27f1f71b29",
"customOutput": null,
"executionStartTime": 1665439249124,
"executionStopTime": 1665439256197
},
"source": [
"faiss.omp_set_num_threads(1)\n",
"index_ivfflat.nprobe = 256\n",
"%timeit index_ivfflat.search(xq[:1], 100)"
],
"execution_count": 215,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"8.32 ms ± 138 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"originalKey": "ce84d817-97f3-4aaa-9187-3ba56484c290",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "ce84d817-97f3-4aaa-9187-3ba56484c290",
"customOutput": null,
"executionStartTime": 1665439258066,
"executionStopTime": 1665439267176
},
"source": [
"faiss.omp_set_num_threads(32)\n",
"Dnew, Inew = index_ivfflat.search(xq, 100)"
],
"execution_count": 216,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"originalKey": "1cff3853-aff1-42f1-8e67-902a8ef49092",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "1cff3853-aff1-42f1-8e67-902a8ef49092",
"customOutput": null,
"executionStartTime": 1665439268822,
"executionStopTime": 1665439270079
},
"source": [
"{rank: knn_intersection_measure(Inew[:, :rank], Iref[:, :rank]) for rank in [1, 10, 100]}"
],
"execution_count": 217,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "{1: 0.68, 10: 0.62368, 100: 0.513452}"
},
"metadata": {
"bento_obj_id": "139732681910720"
},
"execution_count": 217
}
]
},
{
"cell_type": "markdown",
"metadata": {
"originalKey": "1df881bd-ba4a-4473-b09d-ad1a732a1c73",
"showInput": false,
"customInput": null
},
"source": [
"Not competitive with HNSW "
],
"attachments": {}
},
{
"cell_type": "markdown",
"metadata": {
"originalKey": "84e58974-9ae5-4f34-ab7e-db6691a2cc92",
"showInput": false,
"customInput": null
},
"source": [
"## Differential indexing\n",
"\n",
"Here the idea is to index the largest norm vectors exactly and the remaining ones with an approximate index. \n",
"The approximation should have little impact on the intersection measure because it is applied only on the vectors that are least likely to be returned."
],
"attachments": {}
},
{
"cell_type": "code",
"metadata": {
"originalKey": "b5c8e95f-41af-40ab-ba92-26af4b436213",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "b5c8e95f-41af-40ab-ba92-26af4b436213",
"customOutput": null,
"executionStartTime": 1665472078015,
"executionStopTime": 1665472079811
},
"source": [
"norms = (xb ** 2).sum(1)\n",
"order = norms.argsort()[::-1]\n",
"faiss.omp_set_num_threads(32)"
],
"execution_count": 255,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"originalKey": "8c7630dc-4f02-45df-8383-ae57d94f84e8",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "8c7630dc-4f02-45df-8383-ae57d94f84e8",
"customOutput": null,
"executionStartTime": 1665472589964,
"executionStopTime": 1665472590529
},
"source": [
"n1 = 10000 # search n1 vectors exactly\n",
"index1 = faiss.IndexIDMap(faiss.IndexFlatIP(64))\n",
"index1.add_with_ids(xb[order[:n1]], order[:n1])"
],
"execution_count": 269,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"originalKey": "8bae9f9a-adcf-4e68-87c5-62ef572ec260",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "8bae9f9a-adcf-4e68-87c5-62ef572ec260",
"customOutput": null,
"executionStartTime": 1665472604582,
"executionStopTime": 1665472613524
},
"source": [
"# encode the rest with an approximate index\n",
"index2 = faiss.index_factory(64, \"IVF1024,Flat\", faiss.METRIC_INNER_PRODUCT)\n",
"index2.train(xb[order[n1:]])\n",
"index2.add_with_ids(xb[order[n1:]], order[n1:])"
],
"execution_count": 270,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"originalKey": "b0aa6d62-0269-438f-a517-f7f6d41e6244",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "b0aa6d62-0269-438f-a517-f7f6d41e6244",
"customOutput": null,
"executionStartTime": 1665472615948,
"executionStopTime": 1665472616526
},
"source": [
"# concatenate search results from the two indexes\n",
"index_diff = faiss.IndexShards(64)\n",
"index_diff.add_shard(index1)\n",
"index_diff.add_shard(index2)"
],
"execution_count": 271,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"originalKey": "ad7a2259-1ae3-4591-a2fd-a78eab6aa01f",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "ad7a2259-1ae3-4591-a2fd-a78eab6aa01f",
"customOutput": null,
"executionStartTime": 1665472620666,
"executionStopTime": 1665472621225
},
"source": [
"index2.nprobe = 16 # gives slightly higher recalls than the default 1"
],
"execution_count": 272,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"originalKey": "57b017d9-3ae4-4223-9ad3-be11d568fedc",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "57b017d9-3ae4-4223-9ad3-be11d568fedc",
"customOutput": null,
"executionStartTime": 1665472629200,
"executionStopTime": 1665472639275
},
"source": [
"faiss.omp_set_num_threads(1)\n",
"%timeit index_diff.search(xq[:1], 100)"
],
"execution_count": 273,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"1.16 ms ± 37.6 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)\n"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"originalKey": "1102f3fd-46aa-423d-8887-75451d02c0cf",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "1102f3fd-46aa-423d-8887-75451d02c0cf",
"customOutput": null,
"executionStartTime": 1665472642037,
"executionStopTime": 1665472643967
},
"source": [
"faiss.omp_set_num_threads(32)\n",
"Dnew, Inew = index_diff.search(xq, 100)"
],
"execution_count": 274,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"originalKey": "06dc92b8-5ab6-41b4-a276-dcc0f95ff294",
"showInput": true,
"customInput": null,
"collapsed": false,
"requestMsgId": "06dc92b8-5ab6-41b4-a276-dcc0f95ff294",
"customOutput": null,
"executionStartTime": 1665472646033,
"executionStopTime": 1665472647523
},
"source": [
"{rank: knn_intersection_measure(Inew[:, :rank], Iref[:, :rank]) for rank in [1, 10, 100]}"
],
"execution_count": 275,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "{1: 1.0, 10: 0.99937, 100: 0.981264}"
},
"metadata": {
"bento_obj_id": "139679367410048"
},
"execution_count": 275
}
]
},
{
"cell_type": "markdown",
"metadata": {
"originalKey": "46e9a60e-6555-47b6-85e9-cbbccb50f4d0",
"showInput": false,
"customInput": null
},
"source": [
"This is very fast and accurate, but a bit more complicated to process"
],
"attachments": {}
},
{
"cell_type": "code",
"metadata": {
"originalKey": "9e8d652e-6d9c-4c4b-9a06-e3cbee6979a1",
"showInput": true,
"customInput": null
},
"source": [
""
],
"execution_count": null,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment