Created
November 24, 2020 01:53
-
-
Save izmailovpavel/9aeac713bf14037408e459a7be965ead to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Uncertainty Evaluation, Ensembles, Dropout and SWAG" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Source: https://github.com/wjmaddox/swa_gaussian" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import argparse\n", | |
"import os, sys\n", | |
"import time\n", | |
"import tabulate\n", | |
"import tqdm\n", | |
"\n", | |
"import torch\n", | |
"import torch.nn.functional as F\n", | |
"import torchvision\n", | |
"import numpy as np\n", | |
"from matplotlib import pyplot as plt\n", | |
"\n", | |
"from swag import data, models, utils, losses\n", | |
"from swag.posteriors import SWAG\n", | |
"\n", | |
"%matplotlib inline" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Loading the Model and Data" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Files already downloaded and verified\n", | |
"You are going to run models on the test set. Are you sure?\n", | |
"Files already downloaded and verified\n" | |
] | |
} | |
], | |
"source": [ | |
"model_cfg = models.PreResNet56\n", | |
"loaders, num_classes = data.loaders(\n", | |
" \"CIFAR100\",\n", | |
" \"/home/pavel_i/datasets/\",\n", | |
" 128,\n", | |
" 4,\n", | |
" model_cfg.transform_train,\n", | |
" model_cfg.transform_test,\n", | |
" use_validation=False,\n", | |
" split_classes=None,\n", | |
")\n", | |
"\n", | |
"model = model_cfg.base(*model_cfg.args, num_classes=num_classes, **model_cfg.kwargs)\n", | |
"model.cuda()\n", | |
"\n", | |
"criterion = losses.cross_entropy" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Let's load a pre-trained SGD checkpoint and compute predictions" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"checkpoint = torch.load(\"ckpts/c100/preresnet56/sgd1/checkpoint-300.pt\")\n", | |
"model.load_state_dict(checkpoint[\"state_dict\"])\n", | |
"model.eval()\n", | |
"probs, targets = utils.predictions(loaders[\"test\"], model)\n", | |
"preds = np.argmax(probs, axis=-1)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Uncertainty evaluation: accuracy, NLL and calibration\n", | |
"\n", | |
"### Accuracy" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"0.7379\n" | |
] | |
} | |
], | |
"source": [ | |
"acc = (preds == targets).mean()\n", | |
"print(acc)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### NLL" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Negative log likelihood: \n", | |
"$$-\\log p(y) = -\\sum_{i=1}^N \\log p(y_i), $$\n", | |
"where $p(y_i) = p(y_i \\vert x_i, w)$ is the predicted probability corresponding to the correct class $y_i$. The lower NLL, the better. NLL depends on both accuracy and uncertainty calibration." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def get_nll(probs, targets):\n", | |
" labels = targets.astype(int)\n", | |
" idx = (np.arange(targets.size), targets)\n", | |
" ps = probs[idx]\n", | |
" nll = -np.sum(np.log(ps))\n", | |
" return nll" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"11208.035" | |
] | |
}, | |
"execution_count": 10, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"get_nll(probs, targets)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Calibration\n", | |
"\n", | |
"We want $$\\text{model confidence} \\approx \\text{probability of accurate prediction}.$$\n", | |
"\n", | |
"We can measure calibration as follows.\n", | |
"- Bin all datapoints into $n$ bins according to model confidence (largest softmax output)\n", | |
"- Compute the accuracy within each bin\n", | |
"- Plot confidence vs accuracy to get calibration curve\n", | |
"- Average the $|\\text{confidence} - \\text{accuracy}|$ over bins to get ECE\n", | |
"\n", | |
"Paper on calibration of DNNs: https://arxiv.org/abs/1706.04599" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def calibration_curve(outputs, labels, num_bins=20):\n", | |
" \"\"\"Compute calibration curve and ECE.\"\"\"\n", | |
" confidences = np.max(outputs, 1)\n", | |
" num_inputs = confidences.shape[0]\n", | |
" step = (num_inputs + num_bins - 1) // num_bins\n", | |
" bins = np.sort(confidences)[::step]\n", | |
" if num_inputs % step != 1:\n", | |
" bins = np.concatenate((bins, [np.max(confidences)]))\n", | |
" predictions = np.argmax(outputs, 1)\n", | |
" bin_lowers = bins[:-1]\n", | |
" bin_uppers = bins[1:]\n", | |
"\n", | |
" accuracies = (predictions == labels)\n", | |
"\n", | |
" bin_confidences = []\n", | |
" bin_accuracies = []\n", | |
" bin_proportions = []\n", | |
"\n", | |
" ece = 0.0\n", | |
" for bin_lower, bin_upper in zip(bin_lowers, bin_uppers):\n", | |
" in_bin = (confidences > bin_lower) * (confidences < bin_upper)\n", | |
" prop_in_bin = in_bin.mean()\n", | |
" if prop_in_bin > 0:\n", | |
" accuracy_in_bin = accuracies[in_bin].mean()\n", | |
" avg_confidence_in_bin = confidences[in_bin].mean()\n", | |
" ece += np.abs(avg_confidence_in_bin - accuracy_in_bin) * prop_in_bin\n", | |
" bin_confidences.append(avg_confidence_in_bin)\n", | |
" bin_accuracies.append(accuracy_in_bin)\n", | |
" bin_proportions.append(prop_in_bin)\n", | |
"\n", | |
" bin_confidences, bin_accuracies, bin_proportions = map(\n", | |
" lambda lst: np.array(lst),\n", | |
" (bin_confidences, bin_accuracies, bin_proportions))\n", | |
"\n", | |
" return {\n", | |
" \"confidence\": bin_confidences,\n", | |
" \"accuracy\": bin_accuracies,\n", | |
" \"proportions\": bin_proportions,\n", | |
" \"ece\": ece}" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 12, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"0.12393937837779521\n" | |
] | |
} | |
], | |
"source": [ | |
"calibration_dict = calibration_curve(probs, targets)\n", | |
"print(calibration_dict[\"ece\"])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 14, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(array([-0.2, 0. , 0.2, 0.4, 0.6, 0.8, 1. , 1.2]),\n", | |
" <a list of 8 Text yticklabel objects>)" | |
] | |
}, | |
"execution_count": 14, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 720x360 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.figure(figsize=(10, 5))\n", | |
"plt.plot(calibration_dict[\"confidence\"], calibration_dict[\"accuracy\"], \"-o\", lw=3)\n", | |
"plt.ylabel(\"Accuracy\", fontsize=16)\n", | |
"plt.xlabel(\"Confidence\", fontsize=16)\n", | |
"plt.plot([0, 1], [0, 1], \"--k\")\n", | |
"plt.xticks(fontsize=14)\n", | |
"plt.yticks(fontsize=14)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Ensembling\n", | |
"\n", | |
"Paper: https://papers.nips.cc/paper/2017/file/9ef2ed4b7fd2c810847ffa5fa85bce38-Paper.pdf" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 15, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"all_probs = []\n", | |
"for run in range(1, 5):\n", | |
" checkpoint = torch.load(\"ckpts/c100/preresnet56/sgd{}/checkpoint-300.pt\".format(run))\n", | |
" model.load_state_dict(checkpoint[\"state_dict\"])\n", | |
" model.eval()\n", | |
" probs, targets = utils.predictions(loaders[\"test\"], model)\n", | |
" \n", | |
" all_probs.append(probs)\n", | |
" \n", | |
"all_probs = np.array(all_probs)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"First, let's look at individual models" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 17, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Accuracy: 0.7379\t NLL: 11208.03515625\t ECE: 0.12393937837779521\n", | |
"Accuracy: 0.7442\t NLL: 11180.4755859375\t ECE: 0.11498497921526434\n", | |
"Accuracy: 0.7517\t NLL: 10659.64453125\t ECE: 0.10826653873920439\n", | |
"Accuracy: 0.7425\t NLL: 11030.255859375\t ECE: 0.11501605789065363\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"(array([-0.2, 0. , 0.2, 0.4, 0.6, 0.8, 1. , 1.2]),\n", | |
" <a list of 8 Text yticklabel objects>)" | |
] | |
}, | |
"execution_count": 17, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 720x360 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.figure(figsize=(10, 5))\n", | |
"\n", | |
"for run, probs in enumerate(all_probs):\n", | |
" preds = np.argmax(probs, axis=-1)\n", | |
" acc = (preds == targets).mean()\n", | |
" nll = get_nll(probs, targets)\n", | |
" calibration_dict = calibration_curve(probs, targets)\n", | |
" print(\"Accuracy: {}\\t NLL: {}\\t ECE: {}\".format(acc, nll, calibration_dict[\"ece\"]))\n", | |
" plt.plot(calibration_dict[\"confidence\"], calibration_dict[\"accuracy\"], lw=3, \n", | |
" label=\"run {}\".format(run))\n", | |
" \n", | |
"plt.ylabel(\"Accuracy\", fontsize=16)\n", | |
"plt.xlabel(\"Confidence\", fontsize=16)\n", | |
"plt.legend(fontsize=16)\n", | |
"plt.plot([0, 1], [0, 1], \"--k\")\n", | |
"plt.xticks(fontsize=14)\n", | |
"plt.yticks(fontsize=14)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Now, let's try to ensemble the models" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 12, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"ens_probs = all_probs.mean(0)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 13, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Accuracy: 0.7379\t NLL: 11208.03515625\t ECE: 0.12393937837779521\n", | |
"Accuracy: 0.7442\t NLL: 11180.4755859375\t ECE: 0.11498497921526434\n", | |
"Accuracy: 0.7517\t NLL: 10659.64453125\t ECE: 0.10826653873920439\n", | |
"Accuracy: 0.7425\t NLL: 11030.255859375\t ECE: 0.11501605789065363\n", | |
"*Ensemble*\n", | |
"Accuracy: 0.7919\t NLL: 7680.935546875\t ECE: 0.021088018628954888\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"(array([-0.2, 0. , 0.2, 0.4, 0.6, 0.8, 1. , 1.2]),\n", | |
" <a list of 8 Text yticklabel objects>)" | |
] | |
}, | |
"execution_count": 13, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 720x360 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.figure(figsize=(10, 5))\n", | |
"\n", | |
"for run, probs in enumerate(all_probs):\n", | |
" preds = np.argmax(probs, axis=-1)\n", | |
" acc = (preds == targets).mean()\n", | |
" nll = get_nll(probs, targets)\n", | |
" calibration_dict = calibration_curve(probs, targets)\n", | |
" print(\"Accuracy: {}\\t NLL: {}\\t ECE: {}\".format(acc, nll, calibration_dict[\"ece\"]))\n", | |
" plt.plot(calibration_dict[\"confidence\"], calibration_dict[\"accuracy\"], lw=3, \n", | |
" label=\"run {}\".format(run))\n", | |
"\n", | |
"#Ensemble\n", | |
"preds = np.argmax(ens_probs, axis=-1)\n", | |
"acc = (preds == targets).mean()\n", | |
"nll = get_nll(ens_probs, targets)\n", | |
"calibration_dict = calibration_curve(ens_probs, targets)\n", | |
"print(\"*Ensemble*\")\n", | |
"print(\"Accuracy: {}\\t NLL: {}\\t ECE: {}\".format(acc, nll, calibration_dict[\"ece\"]))\n", | |
"plt.plot(calibration_dict[\"confidence\"], calibration_dict[\"accuracy\"], \"-*\", lw=3, \n", | |
" markersize=12, label=\"Ensemble\")\n", | |
" \n", | |
"plt.ylabel(\"Accuracy\", fontsize=16)\n", | |
"plt.xlabel(\"Confidence\", fontsize=16)\n", | |
"plt.legend(fontsize=16)\n", | |
"plt.plot([0, 1], [0, 1], \"--k\")\n", | |
"plt.xticks(fontsize=14)\n", | |
"plt.yticks(fontsize=14)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Ensemble of $k$ nets $\\rightarrow$ $k \\times$ compute at both train and test time" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## MC-Dropout\n", | |
"\n", | |
"- Paper: https://arxiv.org/pdf/1506.02142.pdf\n", | |
"- Blog: http://mlg.eng.cam.ac.uk/yarin/blog_3d801aa532c1ce.html" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 18, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"model_cfg = models.PreResNet56Drop\n", | |
"model = model_cfg.base(*model_cfg.args, num_classes=num_classes, **model_cfg.kwargs)\n", | |
"model.cuda()\n", | |
"model.eval();" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We need to turn dropout back on" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 19, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<All keys matched successfully>" | |
] | |
}, | |
"execution_count": 19, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"checkpoint = torch.load(\"ckpts/c100/preresnet56/dropout1/checkpoint-300.pt\")\n", | |
"model.load_state_dict(checkpoint[\"state_dict\"])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 20, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def train_dropout(m):\n", | |
" if type(m) == torch.nn.modules.dropout.Dropout:\n", | |
" m.train()\n", | |
" \n", | |
"model.apply(train_dropout);" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 22, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"all_probs = []\n", | |
"for run in range(20):\n", | |
" \n", | |
" probs, targets = utils.predictions(loaders[\"test\"], model)\n", | |
" all_probs.append(probs)\n", | |
" \n", | |
"all_probs = np.array(all_probs)\n", | |
"dropout_ens_probs = all_probs.mean(0)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 23, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Accuracy: 0.7555\t NLL: 10624.99609375\t ECE: 0.11405124507844448\n", | |
"Accuracy: 0.7578\t NLL: 10594.0576171875\t ECE: 0.1111037033230066\n", | |
"Accuracy: 0.7561\t NLL: 10588.7822265625\t ECE: 0.11521591415703299\n", | |
"Accuracy: 0.7553\t NLL: 10525.8544921875\t ECE: 0.11504367900490761\n", | |
"Accuracy: 0.7519\t NLL: 10785.279296875\t ECE: 0.11921191235482695\n", | |
"*Ensemble*\n", | |
"Accuracy: 0.7661\t NLL: 9430.8798828125\t ECE: 0.08339468157887461\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"(array([-0.2, 0. , 0.2, 0.4, 0.6, 0.8, 1. , 1.2]),\n", | |
" <a list of 8 Text yticklabel objects>)" | |
] | |
}, | |
"execution_count": 23, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAmwAAAFGCAYAAADXSsPoAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdeVhV1frA8e9mPIyCTE5wGBRMxZEQxVAkBqNB+6UlmalpdrOkHMvp6gUVMvWq5ZiZaWmWaXYRqUQpTTTNTEVSERFFEQWUQaZz9u+Po0ePgCNwENfneXh0773W5t0Q+bL2Wu+SZFlGEARBEARBqL8M9B2AIAiCIAiCcGciYRMEQRAEQajnRMImCIIgCIJQz4mETRAEQRAEoZ4TCZsgCIIgCEI9JxI2QRAEQRCEes5I3wHUJnt7e9nV1VXfYQiCIAiCINzVgQMHLsmy7FDVtQadsLm6urJ//359hyEIgiAIgnBXkiRlVHdNvBIVBEEQBEGo50TCJgiCIAiCUM+JhE0QBEEQBKGeEwmbIAiCIAhCPScSNkEQBEEQhDsoLykhbuEcyktL9BaDSNgEQRAEQRDu4MzRv0ndnUTm0b/1FkOdl/WQJCkAGAd0AZoBQ2VZ/uIufbyBTwBfIBdYBkTJsiw/bDwlJSXk5ORQUlJCRUXFw95OEBo0Y2NjHB0dsba21ncogiAIdebYbzsASPltB+6dffUSgz7qsFkCR4Avr3/ckSRJ1sDPwK/Ak4AX8AVQBMx9mECuXLlCdnY2Dg4ONGnSBCMjIyRJephbCkKDJcsy165d49y5cwAiaRME4bGRcfgvzZ9//6W3GOo8YZNleSuwFUCSpC/uocurgDnwuizL14AjkiQ9AYyRJGnew4yyXbp0iRYtWmBubv6gtxCEx4YkSZibm9O8eXOysrJEwiYIQoO0+aMo0g7srfJaSWEBc19+VuecR5eu9J0wtdbjehTmsHUDfruerN2QgOZ1quvD3LisrAwzM7OHuYUgPHbMzMwoLy/XdxiCIAi1ouxaca22f1CPQsLWBMi+7Vz2Ldd0SJL0piRJ+yVJ2p+Tk3PXm4tXoIJwf8TPjCAIDVnvYW9haWePDGRfLai2nSRJWNk50HvYW3US16OQsAHc/tpTquY8siwvl2XZR5ZlHweHKvdPFQRBEARBqNI3/5lE8t9HWPDzLub9tIsrxVWX8pBlmYLLOXwbNblO4noUNn+/QOWRNMfrf94+8iYIgiAIgnDfVCoVGzduZNbGOLLyrmBnac6LndtiYWpy5351NEXkURhh2wM8JUmS4pZzwUAWcFovEdVzmzdvJiAgAEdHR8zMzFAqlfTt25dt27bpO7RqDRkyBFdX1xq7n1qtZvbs2bi6uqJQKOjQoQMbN26ssfsLgiAIDcvp06cZOHAgikY2RPh1YkJYT7q6u2BkWH2qJBkYEPr2e3USX50nbJIkWUqS1FGSpI7XP7/L9WOX69dnS5K0/ZYuXwPFwBeSJLWTJOlF4APgoVaINlQLFy6kX79+tGrVipUrVxIXF8eUKVMASExM1HN0dWfq1KlMnz6dd955h/j4ePz8/Ojfvz9bt27Vd2iCIAhCPVBWVsbKlSsZPXo0AB4eHuzevZvjJ9NYsS0RE8WdFyUamZjy1tIvafVkt7oIVy+vRH2AHbccz7j+sRoYAjQFPG5clGX5iiRJwcCnwH4gD039tXl1FO8j5eOPP6Zv376sXLlSe653796MGDECtVqtx8jqzsWLF/n444/54IMPGDduHACBgYGcPHmSDz74gGeeeUbPEQqCIAj6UlJSwueff05sbCxnzpzBx8eHa9euYWZmhp+fHwDmjWywtrMn7/y5au9jZW+PeSObugq77kfYZFneKcuyVMXHkOvXh8iy7Hpbn8OyLAfIsqyQZbmpLMszxOha1XJzc2nSpNLiWQAMDG5+u3Nychg5ciSenp6Ym5vj7OxMRESEtijqDdOnT0eSJFJTUwkNDcXCwgIXFxdWrVoFwJo1a2jdujWWlpYEBgaSlpam09/V1ZVBgwaxYsUKWrZsiUKhoHPnzuzYsYO7KS4uZuLEibi5uWFiYoKbmxszZ868a+KZkJBAWVkZgwYN0jk/aNAgDh8+THp6+l0/tyAIgtDw/P7777i7uzNq1CiaN2/O1q1b2bdvX5UlvmybNa907tbEo3HTytdr06Ow6EC4D76+vqxevRp3d3deeOEFPD09q2yXm5uLQqFg9uzZODg4kJWVxdy5c/H39yc1NRWFQqHTvn///owYMYJx48axePFihg0bxokTJ9i5cycxMTGUl5cTGRlJREQEe/fqFhxMSkriwIEDzJw5E1NTU2JjY+nTpw+HDh3Cy8uryvgqKioIDQ0lJSWFqVOn4u3tTXJyMlFRUeTm5jJ3bvWbXBw9ehRTU1Natmypc75t27YApKSk4ObmdtevpSAIgvDoKygoICsrCy8vL7y8vOjYsSNr164lMDCwUpmiOxXNhZslKgDSDuxj80dRdVI0F0TCViXXD+L0HYLW6Zjw+2q/dOlSXnrpJSZMmMCECROws7MjODiYoUOHEhISom3n5eXFggULtMcqlQp/f39cXFyIj4+nX79+OvcdP348gwcPBsDHx4cff/yRZcuWkZ6erq14f/78eSIjI8nIyECpVGr7Zmdns3v3blxcXAAICgpCqVQSHR3NmjVrqnyOdevWsWvXLpKSkggICND2A5gxYwYTJ07E0dGxyr65ubnY2NhU+kFs3Lix9rogCILQsOXn57Nw4UL++9//4uHhwb59+7Czs7vjXOYeAwdzMeMUxVfy72n1Z4+Bg2sy5Dt6FFaJCvfB09OTgwcPkpSUxOTJk+nYsSObNm0iNDSU6OhonbZLliyhQ4cOWFpaYmRkpE2o/vnnn0r37dOnj/bvtra2ODo64ufnp7M9UevWrQHIzMzU6evn56e9N4CVlRXh4eHs2bOn2ufYtm0bSqWS7t27U1FRof0ICQmhvLyc5OTkavvKslxlcVfxFl0QBKHhu3TpElOmTEGpVPLvf/+bp556ik8//fSein7bOysZOncJHj5dq21jZGqKlb0j1g5O2Dsrq21X08QIWwNkaGhIQECAdmQqKyuLsLAwZsyYwahRo7C1tWXRokWMHj2aMWPGMGfOHGxtbVGr1fj5+VFSUrlIoK2trc6xiYlJleeASv2dnJwq3c/JyanSfLlbXbx4kYyMDIyNjau8fvny5Wr7Nm7cmLy8vEqJW15enva6IAiC0DB99913zJo1i//7v//TDlzcD2OFgufe+4A/3L/n168+17lmZGyMf/9X8XnuxZoM+Z6IhK0K9/sasr5r1qwZw4cPJzIykhMnTuDr68v69esJCgrSmQtWW5Pxs7Mr1zfOzs6mefPqJ2za2dnh5ubGhg0bqrx+p5ptbdu2pbS0lLS0NJ15bCkpKQC0adPmHiMXBEEQ6ruzZ88yZ84c2rdvzxtvvMHQoUMJCAh46P/X55y57d9EWfOmJv/ihYe674MSCVsDk5mZibOzc6XzqampANoVpMXFxTqvMwHtys+alpycrBNXQUEBcXFxhIdXnxiHhYWxceNGLC0tta9a71VYWBgmJiZ89dVX/Pvf/9aeX7t2Le3atRMLDgRBEBqA06dPExMTw6pVq1Cr1UyYMAEAU1PTB0rW7rbgAAlUFRUc+mkrh37aikeXrnW24ABEwtbgtGvXjsDAQPr164ebmxtXr15l69atLF26lAEDBmjnkoWFhREbG8usWbPw9fUlMTGR7777rlZicnJyIiQkhOnTp2tXiRYVFTF1avX/ob/66qusWrWKoKAgxo4dS4cOHSgrKyMtLY0tW7awefNmzM3Nq+zr6OjI+++/z+zZs7GysqJz58588803JCYm8sMPP9TKMwqCIAh1JyYmhqlTp2JgYMCwYcOYOHHiQ++Wcz8LDoxNFXW64ABEwtbgxMbGsnXrVqZNm0Z2djaGhoZ4enoSExPDe+/d3D5j2rRp5OfnM3/+fEpKSujZsycJCQm4u7vXeEw9e/akV69eTJo0ibNnz9KmTRvi4+OrLTkCYGxsTEJCAjExMSxfvpz09HQsLCzw8PAgPDxcO1+uOjNnzsTS0pIFCxZw4cIFvLy82LBhA88991xNP54gCIJQB1JSUnBycsLOzo727dszatQoxo0bR4sWLWrk/jcWHGxb+l9O7P0duYqan0amptg1d8G2afM6XXAAIDXklXM+Pj7y/v37q71+7NgxnnjiiTqM6PHj6upKjx49WLt2rb5DEWqQ+NkRBKGuHDx4kJkzZ7Jx40amTJlCVFRUrX/OvZs28Nv6L3XqrklAwKBhtbrgQJKkA7Is+1R1TZT1EARBEASh3tm3bx/PPfccnTt35ueff2bKlCk6b4pq0/mT/1C5CIiktwUHIBI2QRAEQRDqodmzZ/P7778TFRVFRkYGUVFR2NnZ1frnLczL5dSBfdpjAyMXkKyQDAw4vD2Bovy8Wo+hKiJhE2rV6dOnxetQQRAE4Y5kWWb79u0EBQVx/PhxABYtWsTp06eZMmUKNjZ1t8l68sZ1OoXWDUxaY2E5gJa+3VCrVOzZuK7OYrmVSNgEQRAEQdALWZbZunUr/v7+PP3006SmppKRkQFAixYtsLKyqvOYyktL4Zai6wZGzVAYq3ju/Q8IfStSc10PRMImCIIgCEKdU6vVPPXUU4SHh5OVlcWSJUs4deoUwcHBeo3L78WXQTvCJiEZ2GJpoymq0S4wmD5vv6+XuERZD0EQBEEQ6oRKpSIxMZHg4GAMDAwIDw9n2LBhvPbaa9VuRVjb7lwwV6Y0fz4Z+TD35c8A6rxg7g1ihE0QBEEQhFpVUVHBl19+Sdu2bQkJCWHPnj0AfPjhhwwbNkxvyRpoCuZa2TtgeJcYjIxNsLZ3rPOCuTeIhE0QBEEQhFpRXl7OZ599hpeXF6+//jqmpqZs2LABX19ffYemZe+sZNCs+Zhb22BgVPWLRwMjEzx8ujJk7uI6L5h7g3glKgiCIAhCrSgrK+PDDz/E1dWV+fPn8+yzz2JgUP/GinIyTlNwOQeqjM2IVl2f59nRQ+o6rNuiEARBEARBqAHFxcUsW7aMLVu28Msvv2BhYcEff/yBUqlEkiqXoq0vTh38Q/OXG9tRyTJIRoAKkJFV+foKTav+pbnCQ9u8eTMBAQE4OjpiZmaGUqmkb9++bNu2Td+hVWvIkCEPvXHvrebNm8dzzz1H06ZNkSSJ6dOn19i9BUEQBF0FBQXExMTg6urKmDFjkCSJS5cuAZotCutzsibLMkd2/qxzzqRCjbFFOEhWgMzJP3borWDuDWKErYFZuHAhkZGRDBs2jPHjx2NhYUFaWhpxcXEkJiYSFham7xDrxIoVK7C2tqZv374sXbpU3+EIgiA0WCkpKfTo0YO8vDzCwsKYMmUK/v7++g6rWndeFapRZmwIRVsAMDS2QlVewJ6N63j6jbfrIsQqiYStgfn444/p27cvK1eu1J7r3bs3I0aMQH1jqPcxcPToUQwMDKioqBAJmyAIQg27dOkSR44coVevXnh5efHKK68wdOhQnnzySX2Hdlc9Bg7mYsYpiq/koyovv0NLIzAwxzv4bZxcrpF57EidxVgV8Uq0gcnNzaVJkyZVXrt1omdOTg4jR47E09MTc3NznJ2diYiI4Ny5czp9pk+fjiRJpKamEhoaioWFBS4uLqxatQqANWvW0Lp1aywtLQkMDCQtLU2nv6urK4MGDWLFihW0bNkShUJB586d2bFjx12fpbi4mIkTJ+Lm5oaJiQlubm7MnDnznhLP+jipVRAE4VF34cIFxo0bh1KpZMCAAZSVlWFoaMjixYsfiWQNNKtCh85dgoOL2x1aGWJg7I6p9et4dGqt14K5N4gRtgbG19eX1atX4+7uzgsvvICnp2eV7XJzc1EoFMyePRsHBweysrKYO3cu/v7+pKamolAodNr379+fESNGMG7cOBYvXsywYcM4ceIEO3fuJCYmhvLyciIjI4mIiGDvXt2h5qSkJA4cOMDMmTMxNTUlNjaWPn36cOjQIby8vKqMr6KigtDQUFJSUpg6dSre3t4kJycTFRVFbm4uc+fOrZkvmCAIgnBXWVlZxMTEsGLFCsrKyoiIiGDSpEmYmJjoO7QHcvKPPVw4daLKawZqNQZmPTAy15QeaeLeqC5Dq5ZI2KoyvX58cwCYfuW+mi9dupSXXnqJCRMmMGHCBOzs7AgODmbo0KGEhIRo23l5ebFgwQLtsUqlwt/fHxcXF+Lj4+nXr5/OfcePH8/gwZpigT4+Pvz4448sW7aM9PR0rK2tATh//jyRkZFkZGSgVN6sU5Odnc3u3btxcXEBICgoCKVSSXR0NGvWrKnyOdatW8euXbtISkoiICBA2w9gxowZTJw4EUdHx/v62giCIAj3R5ZlJEni1KlTLFmyhMGDB/Phhx/SsmVLfYd2z8pLSvhp+SJCRr6LsamCY7uTiP90/i3bT2kYmZhSUVaKLBkgywUAmNpWoLDUX1HfW4n3Rg2Mp6cnBw8eJCkpicmTJ9OxY0c2bdpEaGgo0dHROm2XLFlChw4dsLS0xMjISJtQ/fPPP5Xu26dPH+3fbW1tcXR0xM/PT5usAbRu3RqAzMxMnb5+fn7aewNYWVkRHh6urXRdlW3btqFUKunevTsVFRXaj5CQEMrLy0lOTr6Pr4ogCIJwP44fP86QIUN4/33Na8AePXpw5swZVq5cqddkrbykhLiFcygvLbnnPlnHU0ndnUTW8VT+2fMb8YvmIss3p9YYGBlhbe/IM6PeR1FWgQyoyg4jq4tw9LCphad4MCJha4AMDQ0JCAggOjqaX375hVOnTuHt7c2MGTPIy9MsS160aBFvv/02Tz/9NN9//z379u3TJkElJZV/EGxtbXWOTUxMqjxXVX8nJ6dK93Nycqo0X+5WFy9eJCMjA2NjY52PG9WxL1++fLcvgyAIgnCfjhw5QkREBE888QQbNmzQmR7TtGlTPUamcWvyda8yDv8FwF8JccQtnKNN1kwtLAFo9WQ3hsxdjFRqjO/pQowNlYCaimvJuHlVPSdcH8Qr0arc52vI+q5Zs2YMHz6cyMhITpw4ga+vL+vXrycoKEhnLlh6enqtfP7s7OwqzzVv3rzaPnZ2dri5ubFhw4Yqr9dkzTZBEAQBFi9ezKhRo7C0tGT8+PGMGTOm3k09uZF8nTn8F0rvjvfUJ/16UdyTf9x8q9O4uTP2Lq64dehMu8BgAP74fhcFncZhaGKNXHIEleoMrm3rz/OLhK2ByczMxNnZudL51FTNbyM3VpAWFxfrvM4EtCs/a1pycrJOXAUFBcTFxREeHl5tn7CwMDZu3IilpaX2VasgCIJQs/bu3YuVlRVt2rQhODiYqVOnEhkZiZ2dnb5Dq9KN5OvUn3/wVMSQSterqrEmVVE1IPdcJrnnMlGVldEuMJjjB7LJu9YO2UQzX81A4UW2XxFWjRWV+uqLSNgamHbt2hEYGEi/fv1wc3Pj6tWrbN26laVLlzJgwADtXLKwsDBiY2OZNWsWvr6+JCYm8t1339VKTE5OToSEhDB9+nTtKtGioiKmTp1abZ9XX32VVatWERQUxNixY+nQoQNlZWWkpaWxZcsWNm/ejLm5ebX99+/fz+nTp7UlQFJSUrTP98wzz9yxryAIQkP366+/Eh0dzc8//0xERARfffUVrVq14j//+Y++Q9OqKvkyvL45e27WWea+/KzONYWlFUamlVetylWUgjIyNsG8kQ09Bg7mn70X+GVVChhokjWj8kJ+8VzJzBfm1NSj1AiRsDUwsbGxbN26lWnTppGdnY2hoSGenp7ExMTw3nvvadtNmzaN/Px85s+fT0lJCT179iQhIQF3d/caj6lnz5706tWLSZMmcfbsWdq0aUN8fHy1JUcAjI2NSUhIICYmhuXLl5Oeno6FhQUeHh6Eh4ffdSn5J598wurVq7XH3377Ld9++y2gefUrXqkKgvA42rlzJ//+97/59ddfcXR05KOPPuJf//qXvsOqUlUFblUVFQCoVapK7UsKC6Dw7vc1MjXFo7MvoW9FIhkas2XRzVelZsUXaXJmMU+NeAZP2+r/jdIHSb5tWWtD4uPjI+/fv7/a68eOHeOJJ56ow4geP66urvTo0YO1a9fqOxShBomfHUF4dNz4d16SJKZOncrnn3/OhAkTGDFiRL1/21BeUsK2pf/l1J9/UFFaes/9TC0sMDQy5trVK9ya5xiZmOA/YBA+z70IwLHfs0j8UjNlyLQ0jyf3z2Zf+zJeW70PhVHdvw6VJOmALMs+VV0TI2yCIAiC0ACp1Wp++OEHoqOjmTZtGi+88AITJ05kypQpmJqa6ju8e2KsUPDcex/w07KFHE78SeeaJEk4ebTCvfOTWDW2x8rOAUs7O6zs7DFRmPHLZ59yZMfPqCpUGJmYUFFWhqxWk3/xAqBJZP/65WYZqhZnd2JSXkTn3i/pJVm7G1HWQxAEQRAaEJVKxfr16+nQoQMvvvgiV65cwdDQEABLS8tHJlm7Qa1WcXzf79pjzSICCQNDQ5zcW9Lt/wbSLjAYZfuO2DV3xkRhRmFerjbBs7Z34JnR47Cyt0cGDm9PoCg/j8xjueRmFQFgoCql2fndqCXo+NI4PTzl3YmETahVp0+fFq9DBUEQ6lB4eDgDBw5EpVKxdu1aUlNTefbZZ+/esZ46uPVHSgtvTk4LfvPdSsnX7ZI3rkOtUtHyeo21Vk92Y+jcJbR80g+1SsWejes4dMvoWrPzv2NccQ1jt6YYNqpHux3dQiRsgiAIgvAIKysr44svvtAWLX/zzTf59ttvOXLkCK+++ipGRo/u7KfykhJ2fXNzC0PfvgPwDgyulHxV6ldWRuhbkTz73kSMrxf/vfF6NfStSApzCzmTkguALKtxPrsDAJvez9TBUz2YR/e7KAiCIAiPsZKSElauXElsbCyZmZmYmpoycOBAXnzxRX2HVmP2x22iokyz2MDCtjF+/QYAN5OvIx1+JvPYkUr9+rz9frX3bBcYTHZmC0g7D4DV1UOYlWh2z7Ho3r2mH6HGiIRNEARBEB4hFRUVLFy4kDlz5nDhwgX8/f1ZsWIFISEh+g6tRhXl5/HHDxu1x937v6odLbuhXWCwdqeCe1Wcf43U5LOAZl6fV9p2ACQTE8w6d364oGuRXl6JSpL0tiRJ6ZIklUiSdECSpKfu0j5CkqS/JEkqliTpgiRJayVJqj8bfAmCIAhCLau4XoPM0NCQ9evX06ZNG3bs2MFvv/1GaGgokiTpOcKa9fu3X2k3ebd3VtIu8OmHv2lxLvs/+S+oNcma6bV0rK9qtmVs1LcvBor6tzr0hjpP2CRJehlYAMwCOgG/A/GSJLlU094fWAOsBtoCfYE2wFd1ErAgCIIg6FFeXh4zZszAzc2NS5cuIUkS27dvZ/v27fTq1avBJWoAl8+e0SnjEfDqUAwMDB/upll/UbH0aQ6db6M91erUdiRAMjPD/p1RD3f/WqaPEbYxwBeyLK+QZfmYLMvvAueB6kotdwPOyrI8X5bldFmWk4FFQNc6ilcQBEEQ6lxOTg6TJk1CqVQyffp0unTpQuH11ZJWVlZ6jq52/frVKu2WUi7eHXHt2OXhbnhwLawMYWeOJwYqzdfOuPQy9pcOAdD49cEY17ON7m9Xp3PYJEkyAboAH9926Segupl+u4FZkiQ9B/wPsANeAbbWVpyCIAiCoE85OTm4ublRXFxM//79mTx5Mu3bt9d3WHXizJG/OfWnZpN3JImeg4Y9+ChiRSnET4ADX6CSJQ4WP8+NvR2UmTswkNUY2thg98YbNRJ7barrETZ7NLP8sm87nw1UOSdNluU9wEA0r0DLgBxAAl6vvTAfbZs3byYgIABHR0fMzMxQKpX07duXbdu26Tu0ag0ZMqTG9vc8fvw4kZGRtG/fHktLS5o2bcrzzz/PoUOHauT+giAItSEzM5MvvvgCAAcHB2bNmkVKSgrffPPNY5OsyWo1SWtXao/bBvTG0fUB97hWlcOaF+HAFwBsMOiOeakm1TCsuEaz85o9RO3/9RaGj8CIpb7qsN2+galUxTnNBUlqAywEotCMzoWhSe6WVdP+TUmS9kuStD8nJ6fmIn5ELFy4kH79+tGqVStWrlxJXFwcU6ZMASAxMVHP0dWNn376iR07dvD666/z448/snjxYnJycujatSsHDhzQd3iCIAg6Tp06xZtvvomHhwdvvfUWN/7tGj16NK1bt9ZzdHUrdXcSF9PTADAyNsH/5dce/GY7Z0PGLgCuGBhwrOgF7aVm53djpCrBuHlzbAYOfKiY60pdl/W4BKioPJrmSOVRtxs+BPbJsjzn+vHfkiQVAb9JkjRZluXMWxvLsrwcWA6azd9rLPJHxMcff0zfvn1ZufLmbyi9e/dmxIgRqK/PB2joXnnlFUaNGqUzhN67d29cXV1ZsGABX375pR6jEwRB0Dh37hyTJ09m7dq1GBoaMmLECCZOnIiDg4O+Q9OLirIyflt/8//PXZ7ti5Wd/YPd7PQu+G2e9vDTFi/htK+V5kBW4Xx2JwAO70ViYGLyoCHXqTodYZNluQw4ANxeNCUYzWrRqpijSfJudeO44S2NeUi5ubk0aVJ1xRMDg5vf7pycHEaOHImnpyfm5uY4OzsTERHBuXPndPpMnz4dSZJITU0lNDQUCwsLXFxcWLVqFQBr1qyhdevWWFpaEhgYSFpamk5/V1dXBg0axIoVK2jZsiUKhYLOnTuzY8eOuz5LcXExEydOxM3NDRMTE9zc3Jg5c+ZdE097e/tK8x0aNWqEp6dnpecTBEGoa6WlmkKwBgYGbNmyhXfffZf09HQ+/fRTXFyqLJjwWPgzfgsFlzSji2bWjXjy+Zce7EbFufD9m9x4cXfUrSvZp1pqLztePIiiNA/T1q2xDg9/2LDrjD4K584D1kiStA/NgoK3gGbAUgBJkr4EkGV58PX2PwIrJEn6F5AANAX+C/wpy/KZOo693vP19WX16tW4u7vzwgsv4OnpWWW73NxcFAoFs2fPxsHBgaysLObOnYu/vz+pqakobqtF079/f0aMGMG4ceNYvHgxw4YN48SJE+zcuZOYmBjKy8uJjIwkIkjbXCcAACAASURBVCKCvXv36vRNSkriwIEDzJw5E1NTU2JjY+nTpw+HDh3Cy8uryvgqKioIDQ0lJSWFqVOn4u3tTXJyMlFRUeTm5jJ37tz7+rrk5uZy5MgRhg4del/9BEEQasqff/5JdHQ0eXl57Nixg6ZNm3Lu3DnMzMz0HZreFV+9wt5NG7TH3V+KwNTc/A49qiHL8GMkXNX8cq42a8xHZk3ocvlmQVyXs5pCuY5jx17fSP7RUOcJmyzL30iSZAdMQZN8HQGekWU543oTl9vafyFJkhXwDjAXuALsACbUVozeq71r69b37fDrh++r/dKlS3nppZeYMGECEyZMwM7OjuDgYIYOHapTBdvLy4sFCxZoj1UqFf7+/ri4uBAfH0+/fv107jt+/HgGD9bk0D4+Pvz4448sW7aM9PR0rK2tATh//jyRkZFkZGSgVCq1fbOzs9m9e7f2N8egoCCUSiXR0dGsWbOGqqxbt45du3aRlJREQECAth/AjBkzmDhxIo73sQT73XffRZZl3nvvvXvuIwiCUBOSk5OJjo4mLi6ORo0aMXr0aCoqKjAyMhLJ2nXJ36+n7FoxALbNWuAdFPpgNzq4Bo5t0R5u7PYaJjtUGMqaGm6N8k9iXXAGcz8/LHr4P3TcdUkvqaUsy4tlWXaVZdlUluUusiz/esu1XrIs97qt/SJZltvKsmwuy3JTWZYjZFk+W+eBPwI8PT05ePAgSUlJTJ48mY4dO7Jp0yZCQ0OJjo7WabtkyRI6dOiApaUlRkZG2oTqn3/+qXTfPn36aP9ua2uLo6Mjfn5+2mQN0E6OzczUmVaIn5+fzjC/lZUV4eHh7Nmzp9rn2LZtG0qlku7du1NRUaH9CAkJoby8nOTk5Hv+msyePZuvv/6aTz75hJYtW969gyAIQg3ZsGED3bp10yZtGRkZ/Oc//3mkN2SvaXnnz3Hop5uVugIihmD4IF+fSycgfqL28EKnCD4/cQjvCz2153RG1x6xgsPiv5gGyNDQkICAAO3IVFZWFmFhYcyYMYNRo0Zha2vLokWLGD16NGPGjGHOnDnY2tqiVqvx8/OjpKSk0j1tbW11jk1MTKo8B1Tq7+TkVOl+Tk5Od5xPdvHiRTIyMjA2Nq7y+uXLl6vte6ulS5cyadIkoqOjGTZs2D31EQRBeFCyLLN9+3ZUKhWhoaGEh4czb948RowYgaWlpb7Dq5d++3o1apVmanqLJ9rh4fMAdfErymDjG1CuGaUrtvfkHTmbjv/0wVDWpDrWV05hf+kw1s/0wcy7XY3FX1dEwlaF+30NWd81a9aM4cOHExkZyYkTJ/D19WX9+vUEBQXpzAVLT0+vlc+fnV15AXB2djbNmzevto+dnR1ubm5s2LChyuv3UrNtzZo1vP3224wdO5bJkyffc7yCIAj3S5Zltm7dSlRUFHv37iUwMFC7UOv999/Xd3j11rnUFE7su7nm8IGL5CZGwXlNrU21oQkferRDdVSmxdXr87hlNV4nvkEyMsQhMrImQq9zImFrYDIzM3F2dq50PjU1FUC7grS4uFjndSagXflZ05KTk3XiKigoIC4ujvA7rM4JCwtj48aNWFpaPlAdok2bNjF06FCGDx/Oxx/fvrGGIAhCzdm+fTvjx4/n4MGDuLq6snTpUoYMGaLvsOo9WZZ1iuS29u9Jk5ZVL5S7o7Qd8PtC7eHCDn3YlXWUVzImac85n92BVeFZbCMiMLlljvWjRCRsDUy7du0IDAykX79+uLm5cfXqVbZu3crSpUsZMGCAdi5ZWFgYsbGxzJo1C19fXxITE/nuu+9qJSYnJydCQkKYPn26dpVoUVERU6dOrbbPq6++yqpVqwgKCmLs2LF06NCBsrIy0tLS2LJlC5s3b8a8mhVEv/76KwMHDqR9+/YMGTJEZ76bqakpnTp1qvFnFATh8aJSqSgvL0ehUJCTk0NhYSGrVq3i1VdfrXYqh6DrePJuzp/QzJk2NDKixyuD79KjMrnwEqp1b1F+2ZiyAiMOGytRHNnPO0b9KbbRDEqYlubhdjoOydwc+7er27a8/hMJWwMTGxvL1q1bmTZtGtnZ2RgaGuLp6UlMTIzOCslp06aRn5/P/PnzKSkpoWfPniQkJODu/oBbgNxBz5496dWrF5MmTeLs2bO0adOG+Pj4akuOABgbG5OQkEBMTAzLly8nPT0dCwsLPDw8CA8P186Xq0piYiKlpaUcPHgQf3/dVUBKpZLTp0/X1KMJgvCYKS8v5+uvv2bWrFkMHjyYyZMn079/f/r374+hoaG+w3tkVJSX89u6L7THnfo8TyPHyvOdb3XtyFFK/0ml7EwmZWcyKD+TSdnJY6hLDQBNsWE7rtLJyoX9nZ/S9mt1ciNGqlLsho7CyP4BC/HWA5IsN9zNAHx8fOT9+/dXe/3YsWM88cQTdRjR48fV1ZUePXqwdu1afYci1CDxsyM8bkpLS1m9ejUxMTGkp6fTsWNHoqOj7zi1Q6jegbgf2PnlCgAUlla8sWAFimoWZchqNec/nMSVH364631lJPZ3GU+Blea1Z+O8Yzx5NQ6Lrr44ffghBqamNfcQtUCSpAOyLPtUdU2MsAmCIAjCXbzxxht89dVX+Pr6snDhQsLDwx+5shD1RUlhIckb12mP/V58pfpkTZbJjom5Y7ImGanJamzEGVuZy3YBKEw0yZpkCH0WvI5Nk1E1+wB6IhI2QRAEQbhNYWEhy5Yt46WXXkKpVDJ27FgGDx5McHCwSNQe0t7NGygpKgTAxqkpHUOfqbZt7ueryPvyZoF1i+7dULRri0n6OkzUGRhaVvB+Kxd+M1ZjXmbNy389p9280jfcDZsmDaeUikjYhFol5osJgvAouXr1Kp988gnz5s3j8uXLGBoa8t5774nFSjXkysULHIy/uRNBj4GvY2hU9SKNKz/+yMU5c7THVqGhNJ83F+nnKXD1BABz7Oz5zVizv3S3030xVWl2jrBxMqdT8KO5GrQ6j84mWoIgCIJQi2bOnIlSqWTy5Ml07dqV33//XWxnV8N2rV+DqqICgKatvPD0q3p7qKLffydr0s36meY+PjT7KBbp1A5IXgzA95YWfGmtqRbQIt+LVpe7aNv3HOiJoXHDSnEa1tMIgiAIwn24cuWK9u+nTp2iV69e7N+/n7i4OLp166bHyBqe8yf/IXV3kva452vDq3y9XHLsGGffHQ3l5QCYtmpJi08/waD8Cmx+C4A/FKb8x94OAEO1Ef5pEdr+rZ50okXrxrX5KHohEjZBEAThsXP+/HnGjBlDs2bN+OOPPwBYvnw5mzZtokuXLnfpLdwvWZZJWvO59rhV1+4096q80rzs7DnOvPkm6qIiAIyaNMF5xQoMra1h89tQlEOmkRHvOTmiup7rtc/oi22ZDQAmZkb4v9Qw94wWc9gEQRCEx0ZmZiaxsbF89tlnVFRUEBERgZ3d9ZEaUUet1qTt38u51KMAGBga8lTEkEptKvLyyBwxAlXOJU07a2ucly/DuEkT2DUfTv5MgSQxysmBqwaabM2y0IUns3to7+H3gjsWjep36Y4HJRI2QRAE4bFQVlZGly5dyM/P5/XXX+eDDz7Aw8ND32E1eKqKCn796ubWhx1CnsG2STOdNupr1zj7r7cpu76ntWRsjPOnn6Bwd4X/vQ/7P6cCGO9oT7qJZpGCrDIi9PQ7GMia5M1RaUXbgOr3qH7UiYRNEARBaLD++ecfvvzyS6KiojAxMeHzzz+nffv22m36hNpTXlLCT8sX0cSjFXnnzwFgam6B34uv6LSTKyo4N3Yc1/76S3NCkmg2Zw7mXi1g9bOQuReAOY1t2W1upu3X/vy7OBSY3uhCzwgvDAwabskVkbAJgiAIDc7hw4eZOXMmGzZsQKFQEBERQdu2bXn22Wf1HdpjI+t4Kqm7kzh18OaOQ759+2Nu3Uh7LMsyF/4TRWFiovac06RJWLexgeU9oTAbgG+sLPm6kZW2jeWVcILyW1GCZmFCu54tcFRa1/Yj6ZVYdNAAbd68mYCAABwdHTEzM0OpVNK3b1+2bdum79CqNWTIEFxdXWvkXgUFBQwYMICWLVtiYWGBjY0NXbt2FdtjCcJjICcnhxdffJH27dsTFxfHxIkTOX36NG3bttV3aI+djMOaEbOyYs0CAit7Bzr3eV6nzaUlS8jfsEF7bDd8OI1bl8IX4VCYTbEkEdPYlmi7m6s+DYo7MNl6ECUFmmTN3NqEri/U/D7Y9Y1I2BqYhQsX0q9fP1q1asXKlSuJi4tjypQpgGZT9MdBWVkZRkZGfPjhh2zZsoWvv/6a1q1b89prrzF//nx9hycIQi24dEkzUd3Gxob09HSmTZtGRkYGs2fPxtHRUc/RPZ5O/rFH5/ipVwZjZGKiPc7/7jsuLVykPbZ+NhwHjzSIGwPqcnaZKXi+RXO+amQFN950lrZgUZdozuy9qO3Xo38rTM0a/gtDsfl7A9vA2sXFhS5durBp06ZK19RqNQYG9TNHHzJkCDt37qzVnRG6detGYWEhhw8frrXP8bhoiD87wqMpKSmJqKgoUlJSOHXqFAqFAlmWxfZRdWzzR1GkHdirc06SJKrLMZSuHrT933ZQafaRsvDtgnO3s0jZB8kzMCDWzpY4SwudPiZlTzCv12wubszj4umrALRobcvzkR0bzPf7Tpu/189/vYUHlpubS5MmTaq8dmuylpOTw8iRI/H09MTc3BxnZ2ciIiI4d+6cTp/p06cjSRKpqamEhoZiYWGBi4sLq1ZpVvysWbOG1q1bY2lpSWBgIGlpaTr9XV1dGTRoECtWrKBly5YoFAo6d+7Mjh077vosxcXFTJw4ETc3N0xMTHBzc2PmzJmo1er7/bIAYGdnh7Fx1VugCILw6JBlmZ9//pmAgAB69erFkSNHGDt2rPZ6Q/nH+1HSrX8E5o1skG75d6aqZM3I2ASrRjYod+7RJmumHi4090qG7IPEWZjzQoumOsmarDInyO49kgauxeiQWpusGRhJ9Bzo9dh8vxv+GOJjxtfXl9WrV+Pu7s4LL7yAp6dnle1yc3NRKBTMnj0bBwcHsrKymDt3Lv7+/qSmpqJQKHTa9+/fnxEjRjBu3DgWL17MsGHDOHHiBDt37iQmJoby8nIiIyOJiIhg717d37KSkpI4cOAAM2fOxNTUlNjYWPr06cOhQ4fw8vKqMr6KigpCQ0NJSUlh6tSpeHt7k5ycTFRUFLm5ucydO/euXwtZllGpVFy5coWNGzeSkJDAypUr7/ErKQhCffX7778TEhJC8+bNWbhwIcOHD8fMzOzuHYUao6qo4ELaCTKP/k3m0b/JOp5KRVnpHfsYmZri5tWWlnG/IF0pAMDY3hqX9n+SLauIcnJgl7nu99FO9mNh8DQ4CRv+s49rV8u01zqHKrFxMq/5h6unRMJWhWOt68+rnidSj91X+6VLl/LSSy8xYcIEJkyYgJ2dHcHBwQwdOpSQkBBtOy8vLxYsWKA9VqlU+Pv74+LiQnx8PP369dO57/jx4xk8eDAAPj4+/Pjjjyxbtoz09HSsrTUrc86fP09kZCQZGRkolTc33c3Ozmb37t3aZfRBQUEolUqio6NZs2ZNlc+xbt06du3aRVJSEgEBAdp+ADNmzGDixIl3nZfy6aef8u677wJgbGzMggULtM8gCMKjQ61Ws2nTJs6fP88777xD9+7d2bBhA88//zympg2zSGptuVFqI2TkuxibKu7e4Tq1SkV2+kkyjx4m8+jfnEtNoby05J77G5mY4PdMX+w++5Ly3DwADM2NaO57gm8czFhga8O1W0bnpAobhnmOI8TgSf5Ykk5hrm4y2MTdmi5hDWtz97sRCVsD4+npycGDB9m9ezc//fQTycnJbNq0ifXr1xMVFaVdgACwZMkSli5dSlpaGkXXtwEBTd2i2/Xp00f7d1tbWxwdHenUqZM2WQNo3bo1oKkkfmvC5ufnp1PzyMrKivDwcPbs0Z2Qeqtt27ahVCrp3r07Fdc3CgYICQlhypQpJCcn8/zzz1fbH+Dll1/Gz8+PS5cusWXLFt59910MDQ0ZOXLkHfsJglA/qFQqvvnmG2bOnElKSgqdOnXi7bffxsDAgP79++s7vEfSjVIb7QKDUXp3rLadWq0i53S6ZgQt5TBnjx2l7FrxHe9t06Qpzm3bc+ViNmdTjqBWqTAyMaGirAy1Ss25777F+uxZACQjICCH4V72/K24mXTLsoSXWRiTWrxN6k8X2JGdqvM5LGxMeTLcldbdm2Jo+HjN6hIJWwNkaGhIQECAdmQqKyuLsLAwZsyYwahRo7C1tWXRokWMHj2aMWPGMGfOHGxtbVGr1fj5+VFSUvm3JltbW51jExOTKs8Blfo7OTlVup+Tk1Ol+XK3unjxIhkZGdXOObt8+XK1fW9wcHDAwcEBgLCwMIqLixk3bhzDhg0Tc9kEoZ7buXMnb775JidOnKBt27Z8/fXXDBgwoN4unHpU3Ci1cebwXzoJm6xWc+nsGe0rzrMpRygpKrzjvawdHHFu0x7ntt44t22Ptb0DhXm5rBg1FEmSsLZ3oNeQEexYtZzCyzmclmTcjQwxVVVw6OlSYjraU3HL/DMTVVPGN52K9KcpyTtO6XwuhaUxPn1caRvQDCPjx3MLMZGwVeF+X0PWd82aNWP48OFERkZy4sQJfH19Wb9+PUFBQTpzwdKvbwlS07Kzs6s817x59VuI2NnZ4ebmxoZb6vPc6kFqtvn4+LB69Wqys7Np0aLFffcXBKF2lZaWcvXqVRwcHLCzs8PKyoqNGzfSt29fkajVkPSDmo3u0/78gzYBQdoELTPlMNcKrt6xr2VjO5zbahI0l7btaeRYeYFb8sZ1qFUqvLo9RehbkRiZmmK6YRO7TqZz3taSE062/NMmh286Wd7sJBsSZjicrtl+ZO+7CteL4QKYKAzpFOJC+97OmCge75Tl8X76BigzMxNnZ+dK51NTNcPKN1aQFhcX67zOBLQrP2tacnKyTlwFBQXExcURHh5ebZ+wsDA2btyIpaWl9lXrw0pKSsLS0lLUZBKEeubatWt89tlnfPTRRzz11FN8/fXXeHt7s3///sdmBWBtqLLUhoFmdOpyZgZfjP3XHfubN7LBuW17XK4naTZNmt31+1FeVkboW5G0CwwG4OK8+RT9+COdAPuCYv50N+Mbn5tvONyKuzOgcDBX0krJ5mbCaGRsQPveLegUokRhId6IgEjYGpx27doRGBhIv379cHNz4+rVq2zdupWlS5cyYMAA7VyysLAwYmNjmTVrFr6+viQmJvLdd9/VSkxOTk6EhIQwffp07SrRoqIipk6dWm2fV199lVWrVhEUFMTYsWPp0KEDZWVlpKWlsWXLFjZv3oy5edWrg5YtW0ZycjJPP/00LVq04PLly2zYsIHvvvuOmJgY7atbQRD0q7CwkKVLl/Lxxx+TnZ1Njx49GDp0qPa6SNYeTo+Bg7mYcYqi/DzU1+cCy2pVte1NzS1Qene8PorWnsbNW9z396DP2+9r/5679isuL1+uPf5HWchXwcWAROOiFvTL/xfGZyy5ws0FBQaGEm17NKPLM65YNBILSm4lErYGJjY2lq1btzJt2jSys7MxNDTE09OTmJgY3nvvPW27adOmkZ+fz/z58ykpKaFnz54kJCTg7l7z23v07NmTXr16MWnSJM6ePUubNm2Ij4+vtuQIaFZ1JiQkEBMTw/Lly0lPT8fCwgIPDw/Cw8PvmHR5e3vzww8/MG7cOHJzc7G3t+eJJ57gf//73x1H9QRBqFszZ84kJiaGoKAgvvnmG3r27KnvkBqMksJCMo/+jYnCjIKKnGrbSQYGOLi4EjRiFE3dW+nUUXsYVxN+4sLMaO0GBQdaSnwWaoBVqR09z79Ki+yWcEuZNkkCr65NePJZN6ztRYmWqoidDkS19lrl6upKjx49xD6eDYz42REeRG5uLgsXLqRXr1706tWLCxcukJ6eTrdu3fQdWoMgyzLnUo9yeHsCx5N3U1Fedsf2RiYm+A8YhM9zL9ZoHP8kJFE+5l8YqjT5xfFm8PFLtnTM7kPrnO6g1h218+jkgO9z7jRuZlHV7R4rd9rpQIywCYIgCLXq4sWLzJ8/n08//ZSCAk3B1F69etGkSZNqd2YR7l3x1Suk/JrI4e0J5GadrXTdyNQUq8b2XLl4AbVKrS21IavV5F+8UGNxHM85x+cb5tN/eRzm19+8Ztqbk+AfwoAjgRiodVMOlzaN6fqCO45K6yruJtxOJGyCIAhCrZk1axbR0dGUlJQwYMAAJk+ejLe3t77DeuTJajWZKYf5e3sCJ/f9juqWepU3OLi60z4oDJd27Vk9bpRuqY0vllOUn8fh7Ql0+7+BWNjYVvFZ7i7vWh6f/bmF+JPfY3cmjdFbVJiXQrmRGSdde5Lp8jRtc3RfcTb1aIRfX3eatXqwz/m4EgmbUKtqczN3QRDqpzNnztC0aVOMjY2xtLSkf//+TJo0qdqt6IR7V5Sfx9Gk7RxOTCD/wvlK140VZjzh3xPvoFCc3FsiSRK/fPapTqkNY4UCV+9ObFv6X47v2cWejet4+o237z2G8iK2nvyFNUc2c7roTxRlKiJ2qAk9KFNiasMJj96ca+aP2lCB0S1bP9s7W+L3ggcubRuLBSUPQCRsgiAIQo1IS0sjJiaG1atXs2LFCl5//XVGjx6t77AeebJaTcbfB/l7ewJpB/aiVlVe6dmkpSfevUNp7R+AiUJ3ROv2UhsAxgoFz733AUc6/EzmsSN3jaFUVcpvZ39j3dEt7M/ZjRrN/LhOaWpGbFOjUDcjpfXTZDv6IBvoFra1cTKn6/PueHRyQDIQidqDuqeETZIkSW7IqxMEQRCEB5aamsqsWbP4+uuvMTIyYuTIkfTu3VvfYT3yCnIvcWTHzxzZ8TNXcy5Wum5qbsETT/XCu3cojq7Vr/C/tdTG7doFBuskcrcqV5ez7/w+tpyMY/uZ7ZSqb25NZVUs8/rParyzWpLhGkyuXdtK/W2bWtA5xAVPXycMHrNtpGrDvY6wZUiStAJYKctyVm0GJAiCIDw6ZFnmlVde4cSJE0RGRjJu3DiaNm2q77AeWWqVivS/9vP39gTS/9yPLKsrtWnm1Yb2QaF4+vnf1wbu9/T5ZTUHLx4kPj2eracSKCjP120gy/gflej3Z3uymwRzsGPlDdibtbKhU4gLyrZ2YkStBt1rwpYIfABMlSTpf8BSWZZ/qr2wBEEQhPrqwIEDzJs3j8WLF9OoUSNWr15Ns2bNtHv3CrrKS0r4afkiQka+W22CdTXnIod3/MSRHT9TmFt5r2SFpRVte/bGu3codi1cajQ+WZZJuZxCfHo88ae3cbG48naCAB1y4P+Su5FrEczJVva6FyXw6OhAxxAXmrg1qtH4BI17SthkWR4iSVIk8DrwJrBNkqR0YDmwSpblymO1giAIQoOyZ88eoqKiiI+Px8bGhkOHDhEQEECHDh30HVq9lnU8ldTdSbQLDNbZcF1VUcGpA/v4OzGB04f+hCpmHjm3bY93UCitnuyGUQ3v0pKWn6ZJ0tLjOVNwpso2jhUVhOYb0iYlkCyCybK31LluYABP9GhOxyBnbJyq3n1GqBn3vOhAluUrwEJgoSRJT6FJ3KYDMyRJ2oxm1G1nbQQpCIIg6M+1a9d49tlnSUxMxN7enlmzZjFq1KhK+xELVcs4/BcAZw7/hdK7I/kXznM4MYEjO3+h+Ep+pfbmjWxo2zMI794h2DZtXqOxnC04y7bT24hPj+d43vEq29ioVIQUFdMr34ry7Of4p6w3Gca6yaKxVE77IFfah7hhbi22+6sLD7pKdDfgALQEugLPAv0lSToAvC7L8rEaik8QBEHQA1mWOXbsGG3atMHMzIwWLVowd+5cRo4ciYWFqEh/P9IP/gHAsV07uZB2nDNH/q7cSJJQenekfVAoHj5dMTSquQ3Pc4pz+CnjJ7amb+XvnCo+N6BQQ0hRIWFFxbhfbcHhwoEcLumGLBnALesFFBVX6PCUEx1e6YmxqWGV9xJqx30lbJIkOQMjgDcAJ+Bn4AUgDggC5gGrAd+73OdtYDzQFDgKvCfL8m93aG8CTAFeA5oB2cDHsiwvvJ/4HxebN29m3rx5pKamUlBQgKOjI506deKtt94iLCxM3+FVaciQIezcubNW6ratW7eOiIgImjdvztmzlauAC4JwkyzL/O9//yM6Opo///yTkydPolQqWb16tb5DeyRs/iiKtAN7dc7d2J+z4PIlCi5f0rlmaGyMz7Mv4t07mEaONbfrgyzL/HLmF75J/YY/sv9AXcXiBQO1Ab7FKl4uuoR/cQkXSztxsKgvf5ddL2x8y3oBy8JM2nqq6ThuIEbmNbvQQbg391rW4zlgJBAKXAFWAUtkWT51S7OfJUkagyZ5u9O9XgYWAG8Du67/GS9JUhtZlqt+iQ7rAGc0r2FPoEkWxe6wVVi4cCGRkZEMGzaM8ePHY2FhQVpaGnFxcSQmJtbbhK225Ofn8/7774vtbwThLtRqNd9//z3R0dEcOnQINzc3Fi9eLFZ83qceAweTfeokRVfykNWaJOnGn7eSJAmFlTUvTYnGUelWozGcLzxPVHIUv52rPA4iywY0K2rEa8Xn6Vecg5nakBMlPdhc1JfcisorPhvnptBSOkG7f4/ErE2bGo1TuD/3OsL2A/AHMBxYL8tyaTXt0oCv7nKvMcAXsiyvuH78riRJYcC/gA9vbyxJUgjwNOAhy/KNX01O32Pcj52PP/6Yvn37snLlSu253r17M2LECNRV/E+joZswYQIdOnSgadOm/PLLL/oORxDqrbNnzzJw4EDc3d354osviIiIwNi45l7LNXSlxUUcT97Nsd92UJhXeZXnrYxMTPDo0lW760BNUalVrP9nPQv+XMC1imva87IsYVjszFOFaiZcO4SLfJoytRlHrz3HoaLnKFLrrviUZBWOFw+gvPAr7sP/j8avuRatXgAAIABJREFUz0UyEnX29e1eK9n5yLLcVZbl1XdI1pBl+ZQsy0Oru3791WYX4PaSID8B3avp1hdNsjhGkqSzkiSdkCRpoSRJltW0f6zl5uZWO5pkYHDz252Tk8PIkSPx9PTE3NwcZ2dnIiIiOHfunE6f6dOnI0kSqamphIaGYmFhgYuLC6tWrQJgzZo1tG7dGktLSwIDA0lLS9Pp7+rqyqBBg1ixYgUt/5+9M4+P6dz/+PvMTCaTfV8RWQgilhDEVlTVVt3Q2+pC3W5Xb0t7Lb0tvRQtt9W9qrpwq7/SllKqpZSoIIhKULFFRPY9sme28/tjYoiZMNoswvN+vfKSPOd5nvM9R3Lmc57nu7Rrh0ajoUePHuzcufOa11JZWcmsWbMICQlBrVYTEhLCwoULbRaee/bs4auvvuKjjz6yqb9AcCuh0+lYsWIFU6aYShIFBQURFxfH8ePHmThxohBrNmDQ6ziTsJ9N7yzi46ce4ZdP3if9+NGrjlGp1fR/4BHumjarQcXa6eLTPPrzoyw6sMgs1mRZQlPcledTgziQG8+HlXvx0qvZV/Yo/8v/lL1lj9cRa0pDDW3SdxATP5dezsfptnopXn//uxBrNwi2/i+kS5IULsuyRUiJJEnhQNFlq19XwxtQYvJBu5xcTKto1ggFBgA1wFjAHfgAky/bOCv2PIVp65SgoIbNVdMS6N27N//73/8IDQ3lnnvuITw83Gq/oqIiNBoNb7zxBj4+PmRlZbFkyRL69+/PiRMn0FzxIBk/fjxPPvkk06dPZ+nSpUyePJnTp08TGxvLokWL0Ol0TJ06lQkTJrB/f13/jV27dnHo0CEWLlyIvb09ixcvZuTIkSQlJdVbW1Cv1zN8+HCOHz/OnDlz6NKlC/Hx8cyfP5+ioiKWLFly1fug0+l46qmnmDFjBu3atbuOOygQ3NzU1NSwYsUKFi1aRFpaGlFRUZSXl+Ps7EyfPn2a27wbHlmWyT59guO/7eTkvt1Ul5dZ9JEkBUFdumE0GMg8cRyjwYBKrUav1SIbjZTk5TSYPTWGGpYlfsIXx77AyKWSVXY17jyVL/GUdjMKSaZI35o9FfdwsmoQRuqKcTttKW0yYmmVtRt7jQLfl2fgPn6c2fdOcGNgq2BbChRh8mO7khcAL+CB6zjvlclmJCttF1HUHptQm1oESZL+CWyVJMlPluU64k+W5eWY8sMRHR39p8ppffTMjj8zrFF4dtn1lXdZtmwZ48aNY+bMmcycORMvLy+GDRvG448/zp133mnu16FDB9577z3zzwaDgf79+xMUFMTPP//MfffdV2feGTNm8NhjjwEQHR3Npk2b+OSTT0hNTTWH9mdnZzN16lTS0tJo2/aSL0Rubi579uwxC+ihQ4fStm1bFixYwKpVq6xex+rVq4mLi2PXrl3cdttt5nEA8+bNY9asWfj6+tZ7HxYvXkxNTQ3//rfFLrtAcMty4MAB7r//fjIzM+nTpw8fffQRo0aNEoW4baAoK5PkuFiS43ZyIde64PIJDiVi4BA69rsNJIlPn30cSZJw9fZh8KQn2blyORUlxRz9dSt9xz6Ek7vHX7Jpf9ZBZu16lULtpWAqSZa4p1jBnAtHsJMhW9eJwxX3cq7GMhbQsTKXNunb8c89gNKox3nIEPz/8yp2wuf3hsRWwTYAeLaeY78AH9o4TwFgAK78bfDFctXtItlA5kWxVsvFtCFBVxl3SxIeHs7hw4fZs2cPv/zyC/Hx8axfv541a9Ywf/58Zs+ebe778ccfs2zZMlJSUqioqDC3nzx50mLekSNHmr/38PAwR55enoepY8eOAKSnp9cRbDExMXVWO11cXBg9ejT79u2r9zq2bNlC27Zt6devH3q93tx+5513Mnv2bOLj47n77rutjj1z5gwLFy5k/fr1FiuFAsGtRnl5ORkZGXTs2JHw8HC6devGihUruOOOO4RQuwaVpRc4sec3kuN2knPGes4yFy8fOg0YRKcBg/EOCja3b//sI4wGAx36DjT7qgV3iWLLsnc5tS+OfetWc8ffp/wpu4qrSpi27XV+L/65Tnvnaj0LC/II0RpJqe5HUuXd5OosdzHcKtIISt2Kd8ERJGSUnp74z34Fl5Ejxe/EDYytgs0DU3SoNUoxrbBdE1mWtbW52oYB3112aBiwrp5hezDleHOWZbm8tu3iPl+aLee91VAqldx2223mlamsrCxGjBjBvHnzePbZZ/Hw8OCDDz7g+eef58UXX+TNN9/Ew8MDo9FITEwM1dXVFnN6eNR9E1Sr1VbbAIvxfn5+FvP5+flZ+MtdTl5eHmlpafX60RQW1u/U+/zzz3P77bcTExNDSYkpKaVWq0WWZUpKSrC3t8fBQQQZC25uLly4wIcffsg777xDYGAgSUlJuLu7s3nzVQP5b3l0NdWkJOwnOS6W1MRDViM87R2dCI/pT6eBQ2jdsbPVrUOdVsvwZ6bWKaxup9EwZtpLHOu2jfTkY9dvm8HIG7HfsTbtfWRlqbndyWjkhaIS7rlg4ETVSL6quIsyo+UOhL+cSeDhNbiXXkrw4HbP3fi+9BIqj7+22idofGwVbBmYEuT+auVYH0yrYLbyNrBKkqQDmMTYM5j80ZYBSJL0JYAsy4/V9v8amAOskCRpLiYftveAtY1VEut6tyFvdAIDA3niiSeYOnUqp0+fpnfv3qxZs4ahQ4fW8QVLTU1tlPPn5lougubm5tKqVf0ZvL28vAgJCeHbb7+1ejw4OLjescePHyctLc1CUIJJeE6dOpV333332oYLBC2QoqIi3n33Xd5//30uXLjA6NGjmT17tlg5uQpGo4H0Y0dJjtvJqf170VVXWfRRKFWEREUTMXAwoT16X7NM1MgpL9R7LHLIsDpC7lroDEb+tz+JpUffQqc5YvIEr2VwRSUv5CrJKhvHl1XD0Ml1y0MpVBLB3pX4bfsIh8JLz3hVQAAB8+biXPtiL7jxsVWwrQVeliQpSZZl8+uZJEmjMRWF/9jWE8qy/I0kSV6YEuEGAMeAUbIsX1wtC7qif7kkSXdgCjQ4CBQDG2rPK7iC9PR02rRpY9F+4sQJAHMEaWVlpUVZmYuRnw1NfHx8HbvKysrYvHkzo0ePrnfMiBEjWLduHc7OzuatVltZs2aNxSrfokWLOHToEN999x2tW7e+/osQCFoIP/zwA/Pnz+f+++9n9uzZREVFNbdJNySyLJOflkpyXCwn4mIpLy6y2i+wQwQRAwcTHjMAB5emLcWl1RtZe+g87+xfRbXzD6C5lKTBW2/ghUx37IvGsaW6HzJ1qw5onOzo1NUJr+1LMW7fc+mAJOExYQI+L7yA0llUrGhJ2CrYXgNuAzZKkpQDZAKtMPmixQPzrueksiwvxRTIYO3YYCttJ4E7LXsLriQyMpIhQ4Zw3333ERISQmlpKT/99BPLli3jgQceMPuSjRgxgsWLF/P666/Tu3dvduzYwdq1axvFJj8/P+68807mzp1rjhKtqKhgzpw59Y55+OGHWbFiBUOHDuVf//oX3bp1Q6vVkpKSwsaNG9mwYQOOjtYLDcfExFi0rVy5Ent7ewYPHtxQlyUQ3BBkZWXx5ptv0qFDB5555hkeeeQRevfuTefOnZvbtCZDV13NL8s/4M6nn8PO/up+q6UF+ZzYs4vk3TspSLfuVeMR0IpOAwfTacAQ3P2a3gHfJNQyeP+3Peidv6DG7VKQgyRLPJjVjnY5t5OutUxk6+7nSGQ3Db4pO7mwZCVGrdZ8TB0aSsCC+Tj26NEk1yFoWGwSbLIsV0qSNAhTaahhmHzWzmAKOPhKlmX91cYLmo7Fixfz008/8eqrr5Kbm4tSqSQ8PJxFixYxbdo0c79XX32VkpIS3nnnHaqrqxk0aBBbt24lNDS0wW0aNGgQgwcP5uWXXyYjI4OIiAh+/vnnelOOANjZ2bF161YWLVrE8uXLSU1NxcnJibCwMEaPHm32lxMIblXS0tJYvHgxn3/+OQaDgRdffBEw/e3cSmINIOvUCU7s2UXkkGG07dLd4nhNZQWn9u8heXesKU+abJlAwMHVjY79byNiwBD8wto3yxZyjd7AdwkZfLLzD9zsVlLjk4y+1gyVQU3fnGh6ZA2iRu9P/hVjA4MdCVOl4BS3Fu03J6hTUl6lwuuJv+P9j3+gsLdvmosRNDiSbOUX92YhOjpaTkhIqPd4cnIynTp1akKLbj2Cg4MZMGAAX331VXObImhAxN9O8/L2228za9YsJEni8ccfZ9asWY3ystVS+O3/VnJw41p63zOOgRMmAaaktqmJv5O8eycph/Zj0OksxqnU9rTrFUPEwCEEdemOspkSxNboDXybkMHqHYfobPiWE/5HOKc2bXE61bjRJWcg3XL6Ihnr5otXKCDIq5LWZ7egPmTNxRw0nTsTsHABmut0LRE0D5IkHZJlOdraMZG+WCAQCFoAycnJeHl54evrS7du3XjmmWeYOXOmVZ/VW43UwwcBSPn9IGHRfTi+O9aU1Las1KLvxaS2nQYMpn3vvqgdrLtWNAXVOgPfJqTz645t3FH9A/19jvONqyOypMSrohVdswbTvqAniiv809QqI0E1yfjFr8a+uthiXkmtxnnQIFxHj8bljqGiUsFNgs3/i5IkDccU0dkBuNJJQJZlOawhDRMIBAIBHDlyhAULFrB27VpmzJjB4sWLGTp0qDmR9K3Ghv/OJ+VQ3WoqCqXpo6wwPY3Vc2ZYHecbHEangYPp2O82nD1tykTVaFTrDHy7P5Xk2NXcq/2RYKdzzA/2JEfpTFBJBN2yBtOq1NJlxJFyWqdswT9rLyrDFVUilUqc+vY1izSli0sTXY2gqbBJsEmSNArYBGwHOgJbAEegP6ZcaLsby0BBy+bcuXPNbYJA0CJJSEhgwYIF/PDDD7i4uPDvf/+bF16oP1XErcKAhx4j71wKFRdKMNYm1TYarLtRSwoFnQcNpefoe/Fu09Zqn6akWmdgfVwSRXGfcZ/+Z0YrS1js58E2h1a0L+jFoKzBeFRb5q10Lz1Lm/Pb8C44inRFUSCH6J64jR6Ny/DhqDw9m+pSBM2ArStsc4CPMJWh0gGzZVn+vbaO6Fbg56sNFggEAsH18dZbb7Fr1y7mzp3L888/bzWv4K3EhbxcUg8nkJqYQGVpqVmsWUNSKGjdKZJ7p89GXU80eVNSrTOwZfs2pAPLuc/4G/aSjo0uTnzgHE6b/EE8nDsAB31d/zRJNuCTd5igjB24ltWNZtVEROA6ejSuo0ZiFxDQlJciaEZsFWwdgVcBI6a6nioAWZZP1SaznQNYz3AqEAgEgqsiyzKxsbEsXLiQd999l8jISN5++22cnZ0t8iXeKhj0OjJPHOfs4QRSDydQlJlu0ziVWk3/Bx4hesz9jWzhtamuqWHPj1/icewL7pWPA5Bup+K/Tt2gaAR3p0SjlOt+DCv1VQRm76F1xi4cai7lhlOHhJhE2uhR2IeENOl1CG4MbBVsRkAvy7IsSVI+puS2B2qPZQHCf00gEAiuE1mW+eWXX5g/fz579uzB39+f8+fPExkZSWBgYHOb1+SUFRaQmmgSaGlHk6xWHLiIR2BrlCoVRZnpGA1GVGo1eq0W2WikJM96cfamoqokn6Ob3ico5WuGUgCATob/2fXlbNkYOmZYRlhrqgtpk7GTgOx9qAymxN+qwADcRo3CdfRo7Dt2FNUqbnFsFWwngeDa7xOAaZIk7QH0wL+Acw1umUAgENzEyLLM7bffTmxsLG3atOHDDz9k8uTJt1SdW6PBQNapZNNW5+EE8s+fq7evyk5Nm85dCImKJqR7NCp7ez599nEkScLV24fBk55k58rlVJQUc/TXrfQd+xBO7k27jVyVkUTa5ncIzt5Mb0wJaw2yiljd7RyqvAen6kCuLMjnWppKUPqveBckoZCNKD09cR1xP653jcahe3erdUoFtya2Crb/Ay6+EvwHU/BBRu3PBmBCA9slEAgENx1Go5Ht27czbNgwJEli1KhRTJgwgYkTJ94yyaArSoo5l/Q7Zw8nkJb0OzWVFfX2dfP1IySqF6FR0bTu3AU79aWkr9s/+wijwUCHvgMZ/sxU7DQagrtEsWXZu5zaF8e+dau54+9TGv+CjAZq/thEwa8f0KokgYvZzqqMLiRWjuRQ5Sgkoxt1ikDJRnwKkghK/xW30lQUzs643HsPrqNH4xTTR6ThEFjF1koHH132/SFJkroAIzBFim6X5drNeYFAIBBYoNfr+eabb1i4cCHJycns3LmTwYMHM2OG9RQUNxNGo4GcM6drtzoPkXv2dL19FUoVrSMiCY2KJiQqGo+AVvVuA+q0WoY/M7VOEXU7jYYx017iWLdtpCcfa/BrMWM0QNFZqo5uQr9/OS7V2eaVs2J9KxLLxpBcPQRZUnO59UpDDQHZe2mTsRNHKnAeMhi30S/iNHCgqEAguCbXFGySJKmBfwC/yrJ8DECW5Qzgs0a2TSAQCFo0Op2Or776itdff50zZ84QGRnJmjVrGDhwYHOb1qhUlZVyLul301Zn0u9WE9hexNnLm9DuJoEWFNnV5kS2I6fUn+IkcsiwOkLuL1FVAnnHIecY5B5Fm3kUKT8ZO2M1FzevZRkyqrqQUHwvWcraOp2XKTX7mmJaZ8QSmBuPR9+euD49C+cht4vi64Lr4pqCTZZlrSRJi4DhTWDPTcH1FCJuaFauXMnjjz9u/tnR0REfHx+ioqJ46KGHGDduHIqbxCciNjaW2NhYXn31VZuuKTg4mLQ068We33nnnTq1VlsStpb/mjRpErGxsSI3XhOi1+t5+eWXCQgI4Pvvv+eee+5pMX9/1/Mck41G8s6dJfVwAmcTE8g5fQpZNlrtKykUtOoQYfJFi4rGu03bG8OZ3miE4lTIOQq5xyD3D5NIu3C+TreLG9eyASrKnThT1pejhjGU2gdxRUECXMrO0zr9V5z9imn/xKO43Pkaqls8PYvgz2PrRnkyEAr81oi23DRcqxBxU/Ddd9/RunVrampqOH/+PJs3b+ahhx5i+fLlbNq06aZwbI6NjWXevHnMnj3b5g/B4cOHM3fuXIv24ODghjVOcEtSWVnJp59+ytq1a9mxYwcODg7Ex8cTFBR0Y4iS6+Baz7HqinLSjiSSmpjAucRDVJRYlki6iKObOyFR0YRGRRPUpTsaJ+d6+zYJ1aUmQZZ7zPSVc8y0iqarrNPNaABduQptuRJtmQptuYqyKi8y7aLIdelOsUcHjCo7i09S74IjSJW/Ut5DTefXF+LXVtTxFPx1bBVsrwLv1RYlPdqYBt0MpB1NBOD80cRmE2zdu3enXbt25p8fffRRxo8fz/jx45k5cyYffPBBvWN1Oh0qlarFfcDYgre3NzExMc1thuAmo6ysjI8//pglS5aQl5fHoEGDyM/PJzAwkLZtmz/D/p/hyueYLMsUpKeZIzozTx5HNlpfRUOSCGjfwbzV6Rsc2jzRjhdXzS5fMcs9CiWXVs2MesksyHTlzmjLlGhrRZq+UomMRIVTIPneXSnw6kJZ62Crp1IYtDiXxHPWI5bdw+CZUXN5oM3gprlOwS2BrX9BswBn4LAkSWckSdotSdJvl33takQbWxwXCxGf/f1gM1tSl7Fjx3LPPffw6aefUllpepM8d+4ckiSxdOlSZs6cSWBgIPb29pSUlABw4MAB7rjjDpydnXFycmLo0KEcOHCgzryTJk2idevW7N27l169eqHRaAgODrYqCm2Zb/DgwQwePNhibHBwMJMmTQJg7ty5zJs3DwA7OzskSWowgRkcHMwjjzzCmjVr6NSpE05OTkRHRxMXF1en38GDBxk2bBheXl44OjoSGhrKlCl1o9JSU1N5+OGH8fHxwd7enu7du7N+/fo6febOnYskSZw4cYLhw4fj5OREUFAQK1asAGDVqlV07NgRZ2dnhgwZQkpKilW7P/30U9q1a4dGo6FHjx7s3LnzmtdaWVnJrFmzCAkJQa1WExISwsKFCzHW90EssOD06dMEBwcza9Ysunfvzm+//UZsbGyLz6N28TmWvGcX25Z/yPJnH+fLGf9k99cryUg+ZiHWNC6udBowmFHPTecfy79iwvy3iBn7IH6h7ZpGrNWUwfn9cPAz2DQNPhsGi9rABz0wfDWRqvVvU7rtVwr2FJG+351TO7w5/oMfJ9cGkLrFl8w9nuQluVJy1onyfAfy1J051W48+/rM40CvV0gNGUOZa7DFaZXaTKr0G9kS9ipv3vU9qsnD+OzxHxksxJqggbF1hc0AiEhQK1grRKysDckuzs5kyd/uqnMsrGcf7p05p8nsu5JRo0axYcMGEhISuO2228ztCxcupFevXixfvhyDwYBGo+HIkSMMGjSIiIgIVq5ciSRJLFq0iEGDBhEfH0+3bt3M40tLS/nb3/7GrFmzaNeuHWvWrOH555/HxcXFLLKuZ75r8cQTT5CRkcHnn39OXFwcSqXy2oMw5b7SWylpo7oijH737t2cPHmS+fPno9FomDNnDnfddRfnzp3D3d2d8vJyhg8fTu/evVm5ciUuLi6cO3eOvXv3mudIT0+nT58++Pr68s477+Dj48M333zD2LFj2bBhA3fffXedc44fP54nn3yS6dOns3TpUiZPnszp06eJjY1l0aJF6HQ6pk6dyoQJE9i/v+7v3K5duzh06BALFy7E3t6exYsXM3LkSJKSkujQoYPVe6HX6xk+fDjHjx9nzpw5dOnShfj4eObPn09RURFLliyx6Z7eihQWFpKUlMTtt99OWFgYEyZM4JFHHqFPnz7NbdqfwtpzjNoXoLKCfI78usXqOL/Qdua8aP7t2qNQ2PZ3+JcwGqEk7dJWZu4x5NyjlOWmU1ipprTCjupyFYYyJYoyJ+xLXdBUWX+Zu7xVp3KgyDOCAq8uFHp1Rq+yHvwgY6DA4Qwp3sdI8f6DMk0hAGFuYXzZby7dfZtnV0Vw82NrWo/BjWzHDcWVIut6MdQKAoMVYZByaP91zf+vb378S7ZcSVBQEADZ2dl12v38/Fi/fn2dVarXXnsNe3t7fv31V9zd3QEYNmwYwcHBzJs3j++//97ct6ysjOXLl/Pggw8CMGLECDIzM/nPf/7DxIkTkSTpuua7Fq1bt6Z169YA9OnTx0Jw1cfXX3/N119/bdF+8OBBoqOjzT+XlpaSmJhort/o7+9Pr169+Omnn5gwYQInTpyguLiY//73v3Tt2tU87qI4BdPKmSzL7Nq1Cy8vL8DkQ5eens6rr75qIdhmzJjBY489BkB0dDSbNm3ik08+ITU11VyeKDs7m6lTp5KWllZnqy03N5c9e/aY/3+HDh1K27ZtWbBgAatWrbJ6L1avXk1cXBy7du0yi/ehQ4cCMG/ePGbNmoWvr68Nd/XWITc3lyVLlrB06VLUajWZmZk4ODhc1cWgJdDrnrFknjxOdUW5KeQRLv17BSp7e/rc9wBdhtzZqIlpZVmmrDyHwsyDFOYmUph/ggvZqVRnF2C8YERRpsThgoTLBQVeJeBc7Q+YggJszWhXpfEkz7sr2X5dqHRuD5J1walTVlPsm051mwJUQTV4ursxVNOLBxxG4KXxwsfRhzD3MBRSywgoEbRMRHa+Wwy59iF85fbhvffea9H222+/cdddd5nFFYCrqyt33303mzZtqtNXqVQyduzYOm0PPvggTzzxBJmZmbRu3fq65mssRo4cyWuvvWbRHhERUefnvn371im23aVLFwDOnzf5vrRv3x53d3eefvppnn32WQYNGkSbNm3qzLFlyxZGjRqFm5tbnVW94cOHM2PGDEpLS+vUiRw5cqT5ew8PD3x9fYmKiqrTp2NHk/Nyenp6HcEWExNjFmsALi4ujB49mn379tV7L7Zs2ULbtm3p169fHfvuvPNOZs+eTXx8vIWovFXJzs5m8eLFLF++nJqaGh588EFefvnlFh28U11ezpmD+zgZH8f5o4kYDYar9lfa2REW3YcRz0zDTtPA0e+yDCVplGQcYOWh/+Nk+jk0RXp8SmT8i8Gv2PRvkBb+zMeWTgm57pDtoSDfqw2VTt2wl7riZKi/cLrGXUlQF086RAXQKtwTpUqIMUHzYtNvviRJt12rjyzLIoK0BZCebiqgHBBQ90F15c8ARUVFVtv9/f0pLq4bEebh4YGdnV2dNj8/PwCzYLue+RoLT0/POitpV+t3Ofa1SS2rq001/tzc3Ni5cyfz589nypQplJWV0blzZ+bNm2cWrnl5eXz55Zd8+eWXVs9RWFhYR4x5XBHur1arrbZdbsdFLt7rK9syMzPrvca8vDzS0tIs/t8ut+9WR5ZlJEkiPT2djz76iEcffZSXXnqJ8PDw5jbtT1FdUU5Kwn5O7ttN2pFEjAbLXQDAtB162QpboxRUl2U4vw9571JKf4vjdLIddgUqhuv/XA6pGhXke6rI89CQ4exAhpMLWc4e5Dj64iSHEVzlR2i1Ky5GFZp6XDR927oQ3NWbkG7eeLVyvikDrwQtF1tfVWIB6+vjl2gC54Wm4c9uQ27/7COO7dyGQW8wFyJWqpRE3n5n05RIsYHNmzej0Wjo2bNnnXZrDyZPT09yciyLKOfk5FgImuLiYnQ6XZ0P/9zcXABatWp1XfNpNBpKSy0TbRYVFV3t0pqc7t27s27dOvR6PQkJCbzxxhs88MADJCUlERkZiZeXFwMHDmTWrFlWxzekU/rFe31l28V7bw0vLy9CQkL49ttvrR6/lVOdnDlzhjfeeAO1Ws3HH39M7969SU9Px9/fv7lNu24uirRT8XGcSzpcr0jzbxdOh5gB5J1L5VT87jrPsQYtqK6vgT/WI+/9iNIDp8lMdkEqccCWFLI6eyXV/m4YWvmjaNMKqVUQafa+7K30ZGuWgkqd6WPKwQiheiXtdEoGFCioW2/gEgqVROsOnoR08ya4izfOHqLagODGxVbBNsRKmxdwFzAI+GeDWdRCKS8u4uiOX26oQsRZ87DKAAAgAElEQVRX8v3337Nx40amTp2Ko+O1s4kPGjSIzZs3U1ZWhouLC2DyVdu0aZNFFKfBYGDdunVmHzaANWvWEBQUZBYNts7Xtm1b1q1bh1arNa8o/fbbb5SVldU558VVr6qqKvN8zYFKpSImJob58+ezceNGkpOTiYyMZMSIEezbt4/OnTs3+tZZfHw86enp5m3ZsrIyNm/ezOjRo+sdM2LECNatW4ezs7N5q/VWJzk5mYULF7J69WrUajVTpkwxr7K1JLFWU1lx2UraYav+tAD+Ye0J7zuQ8D79cfP1o7y4iN2r/9c4z7HyfDi0Ajn+My4cKyMv2RlDuYeFlKrUgMrPA/fQDjiGd8EuJBR1UFvUbYNQenqSU1rNtuO5/PJHLvFnC9EbTSLNwwCddSra6RQEGhQo6hFpGic7grt4EdzNmzadPFFrhGeQoGVga9BBfWk7vpck6R1gDPBzg1nVAolft/rGKERcS2JiIgUFBWi1Ws6fP8+PP/7Id999x7Bhw3jjjTdsmmPOnDn8+OOPDB06lFmzZiFJEosXL6ayspJXX321Tl8XFxdmzpxJQUEB7du3Z/Xq1Wzfvt0cDXo98z344IMsX76cyZMnM2nSJFJTU3n77bdxc3Orc86LfmdLlixh5MiRKJXKa253FhQUEB8fb9Hu7+9/XStKP/74I8uXL+fee+8lJCSEiooK3n//fVxcXOjbty9gCtro3bs3t912G//85z8JDg6muLiYY8eOcfbsWb744gubz3ct/Pz8uPPOO5k7d645SrSiooI5c+qPSH744YdZsWIFQ4cO5V//+hfdunVDq9WSkpLCxo0b2bBhg03C/mbh008/5emnn8bBwYEXXniB6dOntzCRVsnZQ/s5GR/HucRD9Yo0v9D2hMf0p0PfAbj51r2+RnmO5RyD/R9j/P07Sk6rKDzhhL7SvU6XajvY3lOF2yMTeHTwNBxUl15wZFnmTF45W5Ny+OV4MkcyLgAgyRBoUNBOpyRMp8TLWL+PmZuvAyHdfAjp6o1/mBsKhdjqFLQ8GuLVYjOwBrgx9vyaiWYtRGyF8ePHA6btRV9fX3r06MGaNWsYN26czX4ZXbt2JTY2lldeeYWJEyciyzIxMTHs2rXLIgWHq6sra9asYerUqRw9ehQ/Pz/ee+89Jk6ceN3zDRkyhGXLlvHWW2+xbt06oqKi+OqrryyCGu666y6mTJnC0qVLee2115Bl2RxUUR9bt25l69atFu3PPvssH374oU33BUxBBw4ODsyfP5/s7GxcXFzo1asX27ZtM0evBgUFkZCQwNy5c3n55ZfJz8/Hy8uLyMjIOvelIRg0aBCDBw/m5ZdfJiMjg4iICH7++eer+lrZ2dmxdetWFi1axPLly0lNTcXJyYmwsDBGjx5tXt28mUlISMDe3p4uXbowbNgwXnrpJV544QV8fHya2zSb0FZVknLoACf3xXEu6RAGnc5qP7/QdoTHDCA8ZgDufvWL0AZ7jhmNcHorxC/FcGo3xWecKDrhjqGmrudMuQZ+7ilRMqY/026fQ5CrKXDGYJRJTC/mlz9y+eV4LqkFFSZbZGivUxCmN4k0R7meZ5kEAWFuJn+0rt54+IuanYKWj3StD7hrTiBJzwL/kWX5hov/j46OlhMSEuo9npycTKdOnZrQopuTSZMmsX37djIyMprbFEET0dL/dvbu3cv8+fPZsmUL48aN47vvvmtuk2xGW1VJyu8HObVvN6mJ9Ys03+AwwvsOoEPMANz964+GbFBqyiHxa9j/MYbsVIpOOVN0ygmjru7qV4kjbO6t4OjAVkwb+G8GtxlMjd7IvpRCfjmew7bjeRSU1wDgZIQwnckfra1egaqerU6VWkFQhBfBXb0J7uKFg8vN/8IhuPmorShldavI1ijRx6w0q4FI4O+A7Qm0BAKBoJnYvXs3//nPf9i5cyfe3t688cYbFtUpbkS01VWc/f0gp/bFkXo4Ab1Oa7WfT3AoHWIGEN53AB7+TVhpoTgNDiyH31ehLymj8KQzJWf8MOrrCrUCF9gYoyAuyp5HezzBC+0fIz6ljOfiDrPzRB4VWgPI4GOUiNGpaKdTEmCof6vT0U1tXkVr3dEDld1NE/smEFhg65boynraa4BvgKkNYo1AIBA0MJfnHty1axcnTpzg7bff5qmnnsLJqXm2ynTV1fyy/APufPo57Oyt5zTTVVdz9vBBTu7bTerhQ+i1NVb7+bQNMW93egbWHxXc4MgynI+H+KVw4kd05RKFJ5wpSfFDNtZdBcv2gA19FfwWKRHTZhBPujzO/qPw3trd1OiNSDK01ivoo7MjTK/A/Sr+aF6tnE1RnV298Q1yQRL+aIJbBFsFW4iVtmpZli1zCQhuOVauXNncJggEFsiyzMaNG1mwYAEzZ85k/Pjx5mACTUMnfr1Osk6d4MSeXUQOGUbbLpdKGZlEWgKn4uM4+/vBekWad1CweSXNM7B1U5ltQq+FP9abhFp2IjWlSgqTXblwzgGu8Ck77w3r+ynY10nCTRNIaM0D7IhtxRZDLkoZgvQKwnV2tLuKP5pCIREY7m5eSXP1brnJigWCv4KtUaJpjW2IQCAQNAQGg4Hvv/+eBQsWcOTIEUJDQ835AZtrRe1K0o4mAnD+aCKB4R1JTTzEyX1xnP39APqaekRam7aE9zWtpHm1amO1T6NSUQCHVsCBz6A8h+oSFYXHPShN11gItTP+sL6/goT2EmBPTcFgLhQOJNtoR4gO2uvsCNMpsa/HH02tUdI20pR6o21nL+wdrSd3FghuJWz1YbsLCJZl2SKMrjboIFWW5Z8a2jiBQCC4Xu69915+/PFHOnTowJdffslDDz1kc63ZpuLs7wcASPzlJw5v+RFdTbXVfl6tgwiPGUCHvgPwah1ktU+jk3sc9n8MR74FfTVVhXYU/OFJeZblKuXxNvB9PwVHQiSQJHSlnSHnLsKqvGmvUxKiU2BXj0hzcrcntJs3IVE+BLZzF6WgBIIrsPUpNof6Awscao+3SMF2MSmmQCCwjb8aWd7QaLVavv76a8aPH4+TkxNPPvkkjz76KGPHjkWpbH4n9A3/nU/Kof1Wj2mrKi3a7DQaou+6j/CYAXi3aWtlVBNgNMKZbaZtz7OxyDJU5qkpPO5FRa5lNYDDoRLf91Nwso3pWWpfHkTr9AcIKw+krV6Bsh6R5uqtISzKl9AePvi1dRX+aALBVbBVsHUEfq/nWCIwu2HMaVrUajVVVVW3VHJQgeCvUlVVVW/90aakurqaFStWsGjRIs6fP48kSUycOPGGK1g/4KHHyEs7S+WFknpTcABICgWObu6Me2V+8wm1mnJIWg3xH0NRCrIMFdn2FBx3oarAMk3G/nAl3/eD1AAJpxp3IrOiCM4dSGC1Z72VBjwDnQiN8iEsykfU6xQIrgNbBZsCcK7nmAvQ/E/vP4G3tzcZGRl4e3vj4uKCSqUSDw+BoB5kWaaqqorMzEyrxeabCqPRyPvvv8+bb75JVlYWffv2ZdmyZYwYMaLZbLoa3m3a8vDrb7Nq1vNUFBdb7aOytyesR29zdYEmpyQdDnwCh76EmgvIMpRlaCg47kxNcV2hZpQkdnfQ8MMALaXOPoQWdeO+o13xKw+ud3rfti61Is0Xdz/xgiwQ/BlsFWxJwMPAeivHHgaONJhFTYibmxv29vbk5+dTWFiIvp5SLgKBwISdnR1+fn64uro2+bn1er35pWrdunWEh4ezatUqhgwZckO/aJUW5LHhv/PrF2tqNf3HP0z0mPub1jBZhvQDpm3P5E0gG5CNcCHNgcJkZ7Sldd/DdZKCnZ082dVbg5u+O32zuuFVWU+ut9pKA2FRvoRG+eDi2bxRuQLBzYCtgm0JsE6SpO+AT4EMoBXwFHAfML5xzGt8NBqNuWC2QCC48SgpKeGDDz7gk08+ISEhAX9/f3766SdcXFya27Rrkn3mJBv+O5/KCyXmNklSIMsyKrUavVaLbDRSkpfTdEbptXD8B5NQyzJ5uhgNcCHVkcJkZ3QVdT8WqpR2/No5mrT2gQRWdGHoOetluxQKiVYdPQjt7kNodx8cXUWlAYGgIbE1rcd6SZKmAguBi6+BElAOPC/Lsqh0IBAIGpSCggLeffddPvjgA0pLSxkzZgyVlSYn/ZYg1k7u282Wj94xVyWQFEpARqFQ4OTuyeBJT7Jz5XIqSoo5+utW+o59CCd3j8YzqKLQlJbj4GdQlg2AUS9RnOJI0Qln9FWXAjRkJHI9O3Go3SCMrm1w0rvRqdBySqWdgqAIT0KjfAju4o3GqUV6xwgELQKbY91lWf5AkqSVQD/ACygA9sqyXN5ItgkEgluU4uJiwsLCKC0tZezYscyePZvu3btfe+ANgCzL7P/+G/Z8+5W5TePsQquOEaQk7Kddn/5mX7XgLlFsWfYup/bFsW/dau74eyOUycpLNgURHPkG9Kb0IQatRPFpJwpPOWOsMaXPMEpKij06kOnbk1zf7igVGhwArvAUUaghrKsvoVG+BHX2RK25sVKmCAQ3K9f1lybLchmwtZFsEQgEtzCZmZls2bKFv//973h4eLBw4UKGDBlC586dm9s0m9HrdPzyyfsk795pbvMIaMV9s14lfv23DH9mKpFDhpmP2Wk0jJn2Ese6bSM9+VjDGWI0QsqvsO8jOHvJFn21gqJTThSddkbWSRgUdhR5R5Dn3Z187y4YVaYqAlcmQ6lRVeLU3sjQwb0JjvARNTsFgmZAsiWnkiRJs4DWsiw/Z+XY+0C6LMtv2nxSSZoCzAACgD+AabIs77Zh3AAgFjghy3LktfpHR0fLCQkJtpolEAiagXPnzrFo0SJWrFiBLMukpaUREBDQ3GZdN5WlF/jhrYVknTxubguK7MqYF15G41xfkH0Do62oTcuxDApPm5t1VQqKTjhTeMYZAxoKvCLJ9+lOoWcERqVlXjWACrsLnPM8ik+khikjJuHn4ts01yAQ3MJIknRIluVoa8dsXWF7HFPggTUSgemATYJNkqS/Ae8BU4C42n9/liQpQpbl81cZ5wF8CfyKKeBBIBC0YLKzs3nllVdYtWoVkiQxefJkZs2a1SLFWmHGedYvnseFvEvllbsOHcHtk59B2RRVFkrS4eCncGglVF8wN2vLlRQkO5OX7kuhZ1fyI7pT5NEBWWHd16zUvpBUzyOc9UrEtY0dL/d5mWh/q58dAoGgibH1SRIEnK7n2FngerI8vgislGX509qfn5MkaQTwD+DfVxn3OfA/TMEO467jfAKB4AaipqYGe3t7VCoVGzduZMqUKcyYMYPWrZu4iHkDcS7xEJveXXypaoEkMfjRv9Nj1D2Nm25EWwlnY+Hot8jHNyLJBvOhmgsqUk+25XxNL/K9u1PStz1I1ks9lTjkkeJ5mFTPIxQ4ZeCsduafUf/kbx3+hkoh/NMEghsFW/8aK6l/Vas1YL1a8RVIkqQGegJvXXHoF0zBDPWNmwL4Y0ofMseWcwkEghuLpKQkFixYQGZmJnv27MHHx4f09HQcHBya27Q/zeGtP7JzxXJk2QiAnb2G0VNnENazT+OcsDwPTm2Bkz8jp+xE0lcBmGsKlBR5cDBzJDnqnpQGhdY7jcYfkpx3c9hpNyWOl1YF7w67mxd6voC3g3fj2C8QCP40tgq23cAMSZLWyrJsFmeSJNkD/6o9bgvemPxZc69ozwXusDZAkqQuwH+AGFmWDTdygkyBQGDJwYMHWbBgARs3bsTV1ZXnnnsOnU6HWq1usWLNaDCw83+fkrj1R3Obi5cP986cg29w/ULpupFlKDgFJzabRFrGQSRMfscXn4RGo8TpvGgSS0dS6NwF2cf6Y90/1BWvCDUbjf/HtuK6pZ87enbk5T4vE+Ub1XC2CwSCBsVWwTYX2AuckiTpKyAT04rbI5hSfEy6zvNeGekgWWm7KAjXANNlWU61ZWJJkp7ClNCXoKCg6zRLIBA0JBs2bOC+++7Dw8OD1157jeeeew53d/fmNusvUVNZwY/v/ZdziYfMbf5h7blnxhycPTz/+gkMekjfDyd/Mn0VnTUfuvx1tVTrxZ6ce8mQ+6G194Qrik9IGPFvpSb8tlACOrvyTcZXvH70c7RGrbmPi9qF56Ke44HwB1AqROSnQHAjY1OUKIAkSb0xbWX2w1Rb1IgpaGC6LMs2hWLWbolWAg/JsvzdZe0fAZGyLA+6on8wkAoYLmtWYHpuGYBRsiz/Ut/5RJSoQNC0yLLMzp07qaqqYvTo0VRXV/Pxxx/zxBNPtIhkt9fiQl4O6xe/RmHGpfio8JgBjHj2BezU1qMtbaKmDFJ2wImf4PRWqLJexkprtGNH+RjOlwxAZ9fWql+ah1RMxO3BdBzZFXsnFbHpsSw+uJjM8sw6/e5rdx9Te0zFy8Hrz9stEAgalKtFidos2C6bzAHwAIplWa6SJGkQMFGW5ck2jt8PJMmy/NRlbaeAdbIs//uKvnZAhyummAIMw1QS69zVEvcKwSYQNA2yLLNlyxYWLFjA3r176d+/P3Fxcc1tVoOSeTKZH95aQFXppSjMmPv/Rr/xDyMprDv0X5XSLDj5s2kVLfU3MGitdquQ7dmmHcKp0ttx1LZBUlrW5VTpKgj2uEC3h2Lw79kOgPOl51l0YBG7M+t6rHTy7MQrMa/Qzafb9dssEAgalYZI62GmVqS1Ap6RJOlRTBGilYBNgg14G1glSdIBYA/wDBAILKs19sva8zwmy7IOqJNNUpKkPKBGluUGzDIpEAj+LLt27WL69OkkJCQQFBTE0qVLefzxx5vbrAYlefdOti57D4PelPZfqVJx5zNTiRg4xPZJZBlyj10SaVmH6+2aI3uwTd+bxOo7cK8IxBNHnMAio61neQodOjsQ+eQoqlyUJOQksPLAWg7mHORU8ak6fV3VrkztMZWx7ceK7U+BoAVis2CTJMkN+BvwGNC3tjkJWASstnUeWZa/kSTJC5iNKXHuMUxbm2m1XYTjmUBwg2MwGNDpdGg0GoqLiykuLuazzz7j0UcfRa2+eYp+y0Yje9d+Tfy6NeY2BxdX7pk+m1YdI649gUEH5+JqRdrPcKHeVJMcN7Zlm6EHB7T9cdG2JVKrIFS2XLmzrymmdfVJwoYFc/62NmwrSuL1vU9xqvgUsqUrMBISY8PH8nzU83hoGrFWqUAgaFSuuiUqSZICGIFJpN0NaIAs4HvgWWCILMu/NYGdfwqxJSoQNCx6vZ7Vq1fz+uuv88ADDzBv3jyMRiNGoxFVUySIbUJ02hq2LH2XU/subSl6tQ7i3pmv4u7nX//AqhI4s920inZ6O9RcsNpNJyuJN3Ziu7Env+l74mMIoI/RDk2lFdFlNOBdeBRvzTnO3WZki38OJ0qsC7SLqCQVPf17Mq3HNCK9r1kYRiAQ3AD8qS1RSZLeAh4GfIFqYD2mxLXbMcUj/bPhTRUIBDciWq2WL7/8kjfeeIOzZ8/StWtXevbsCYBCoUDxZ3y4bmAqSorZ8OZ8cs5c2lYM7taDu6bNwt7RyXJAcdqlrc60PWDUW/YBSmVHdhq7s93Qg12Gbvgr3Bli58j4Yi2mVG51BZhDZS4BOfu44HWcr3vlkBJQGydaYjm3UlLS2bszvfx60cu/F1G+UTjaOf7JOyAQCG40rvZK/CKmp8dPwCRZlgsvHpAk6foiFQQCQYvmH//4B1988QU9e/Zkw4YNjBkz5qYTaRfJT0tl/eLXKCvMN7d1Hz6aIROfQqGs9f0yGiE7sTb1xs8m37R6yJC92WboyTZjTw4aO+KlduAuD1f+WaBHV6wFtHVkmsKgxTf/d7zy95EQmsJXoxXku0vUTephEmgRXhH08r8k0JzsrIhJgUBwU3A1wfYFphJQo4GTkiStAb6UZflAk1gmEAiajcrKSj755BPGjBlDu3btmDp1KuPGjWPEiBGNW26pmTn7+0F+fO+/6KprKwhICoZMepKoEWNAVw1nd1wSaWXZ9c6TZAxlm6En2409OSG3wcfJnjG+HowslSlLLUPOq0R3xRiXsvMEZO9FXZHAtqgato+QqHC4FBygkBREeNYVaM7qJioqLxAImp16BZssy09IkvRP4H5gIqZozn/UpuBYj5VEtwKBoGVTVlbG0qVLWbJkCfn5+eh0OmbOnEnXrl3p2rVrc5vXaMiyzO8/bWTXqs/NZabUDg7c9cwUQjQ58M2jpjxpWutZhGpkFXuNndlu7Ml2Qw9y8cTfVcOoEG+erFFSmlxCZWYppVeMU+kr8cs9SGD2Poo16fzQR8GeCAm9SoFCUtDZs5NZoPXw7SEEmkBwC3M9iXMDMAUfPApcDI+KB5YCa2VZrm4UC/8CIuhAILCdxYsXs3jxYoqLixk+fDizZ89mwIABzW1Wo2PQ69mxYhlHtm8xt7m6OnBflwq8i/dR61xmQbHszA5jFNsMPdlt7EIFDrTxdGBkJ396quwpP15MzukrJZoJ95JTBGbvxSc/kT+C9GzqLXEkVEEn7wizD1oPvx64qFt+smGBQGA7DZo4t3bCXphW3f6GqTTVBVmWb7h4cSHYBIKrc+HCBdzc3ACTn1pWVhavvPIKvXv3bmbLmobq8nI2vfM6548dMbcFOJRyb+vjOKqu3LSEVKMf24zRbDf04JAcjgEloT5OjIoMoLenmuwj58k/UoNUY7l5odaW4p8TT2D2Puyr89gbIXFsWBhtet5mFmiualeLcQKB4NahwQXbZRPbAWOAx2RZvvdPT9RICMEmEFgnJyeHJUuW8PHHH7N161b69++PwWBAqbxFEqrKMsWHt7D+4+UUl14SZh1d8xgecAqVwvRcNMoSh+V25qCBFDkQkOjo78IdER608ckj948sqo6pcS7xsXIeI16FfxCYsxevwmNo1ZBxeydcH36I7l3uwM3erYkuWCAQtAQatNLB5dRWIvi+9ksgENzgZGRk8Oabb7J8+XK0Wi0PPfQQfn5+ALeGWLuQCUmrydi1lh+S3ag22JkP9fM+R4x3OtWo2WHowjZjT3YaoijAJKoiWzswIawEB5dUss9lkx7njaqgG3bGVlzpWaapKiAwey8BOfHYay9g8HbHfdoU/Cc8RtRNUFNVIBA0PTdXpkuBQFAver2e3r17k5+fz2OPPcZLL71E+/btm9usxkdXBSc2Q+L/QcpOjpX4sC27PUZMaUlUkoG+ARmcdQrjM90D7DFGUo09kkJHx5AiuvmnUKE4SVpeGmmJUXTKi6FzVZTFaSSjDp/8JAKz9+JRcgoJGfsOHfCa/G9cR45EuokqQAgEgqZHCDaB4Cbm9OnTfP755yxcuBCVSsXnn39Op06dCA4Obm7TGhdZhowEk0g79j3UXECWIS4/mAOFbczdFEo47NeLd+2nIOsVKFVlhIUlo3Q5Sm7NKTINeqTUDnTM60u/4sdQypaPTKfyTAKz9+KfexA7fYWprX9/PCc/jlO/fjd1GhSBQNB0CMEmENyE/PHHH7z++uusWbMGtVrNgw8+SPfu3Rk5cmRzm9a4lGZB0hpI/BoKT5ubdUYFP2d14HSZt7mt0M6DTX6jKbO3IyDgDzz9/iCj6gjZGHEu8aBb3lA65MXgorWMp1IaamrTcezFpSzNlNJWpcLtnnvwnPw4mg4dmuBiBQLBrYQQbALBTURhYSFPP/0069atw8nJienTp/Piiy+a/dRuSnTVcHKzSaSl7LBIw1GmU/NtejdKajTmtlTHNuwMbYNv262oSKJc1lFZoSS4uAsdc/vS5kIHJCwrObiVpRKQuQff/N9RGWoAUDg74/Hg3/B45BHs/K9SY1QgEAj+AkKwCQQ3Afn5+fj4+ODm5kZaWhqzZ89m2rRpeHl5NbdpjYMsQ+bvtVuea6HassB6BRrWlfchM0uF2qA1tye3diSx6+8oiKNABrcqHzrl9aVDXm8c9JYBAWpq8EuPIzB7L06VOeZ2VUAAno89hvv4cSidRUJbgUDQuAjBJhC0YHbv3s2CBQs4fPgwqampODk5ceDAgZvXb6os59KWZ8FJq132Gjvznf42kst8GZz/G2rZJNaMksz+iCJOtk1DYVTSrqgHnXL70arUWuCFjLcuE/9TW/AuOIpCvlTM3T6iE16PT8Z1xHAkOzsrYwUCgaDhEYJNIGhhyLLMjh07mD9/Prt27cLX15fp06ebRdpNJ9b0Nab6nYlfw5ntVisPZEl+rNEO5HvjQDKM3vQsj+OOgh3mculalZGdPfKpcnKl77k7CM/vhYPeclXM0d5AQE48vie24FBTVOeY020D8Zo8Gcc+fW6+eywQCG54hGATCFoYBw8e5I477iAwMJB3332XJ598EkdHx+Y2q2GRZcg6bBJpR7+D6hKLLjWShk2GPqyt6Y9rfjY7/aNQuB1jeM4xwgsu5ZQrddBzJsyHXjn3EljWzmIeCRl/+0L8kn/C4/wBpMvLJNvZ4TZmDJ6TJqIJD2+USxUIBAJbEIJNILjBMRqNbNy4kXPnzjFt2jR69erFt99+y5gxY9BoNNeeoCVRlgtHvjEJtfxkq10SlZGsqhrAz8beVCoNBCv30qviDJlue4k454p/0aV7UuXgjKvjOPplelrM42Asw//8LgKz9mKvresDp3B1xePBB/F4+GHs/Hwb9hoFAoHgT/CXSlPd6IjSVIKWjMFgYO3atSxcuJCjR48SGRnJ4cOHUalusvcsfQ2c2mISaae3gWyw6FJk589X1QP4Vj+ADNxQuSRj55qI0vkU0SddiTzrilZlxF5/aWVNoY7AzvEOJOnS/ZJkA94FRwjM3otnUXLd1TTALjAQz0kTcbt/LEpnp8a7ZoFAILBCo5WmEggEjUNcXBxPPvkkJ06coGPHjqxatYoHH3zw5hFrsgzZSbVbnt9CVbFFF71Sw05lfz4v78v+6nYonFOw8/kVZ5fjSIpL9T+Dsx2RkOqINZXDAJT2vcy+ZqZSUXtqS0WVXjqJJKHp3Bmn/v1x6t8Pxx49kG6WeywQCIVfsKAAACAASURBVG4qxJNJILhB0Gq1lJSU4Ovri7e3Nw4ODnz77bfcf//9N0+dz/J8k0A7/H+Q94fVLqlO3fm8vC/rK3pS7ZCDyjcJJ5e1SKpKbk/wISgvsE5/a3sE+qo49FVxOBi96JZxAY/iU+bVNJWvr0mgDeiPU79+qDwsE+MKBALBjYYQbAJBM1NdXc0XX3zB4sWLiY6OZt26dXTs2JFDhw7dHNGIei2c3lq75fkLGPUWXSocAtgsDeaD4l5kygbs3JJQub6Ho90FkMGlUoV/tjPIYERGwaX7Yu0OSbKEvU5H9NnDuKLAsX8/nAYMwKl/P+zbt7857qtAILilEIJNIGgmKioqWL58OW+++SbZ2dn069ePp556yny8xYuK7COXtjwrCy0OG1UajrkN5oOi3vxa7oXK7cj/t3fn4VVVZ9/Hv3dmIEwBYkggAaQoIKIIKgIiFRBsrYo+WqwF+wqCWKR1fHCoWrSIWhQUH1/FVxDF2qK+aisVnBiUQUFkErDIECBEhlDIPK3nj32gx+SEhJCTc0h+n+vaV3L2Xnvve7M459xZa++1iGr/Oo1i9nkJ2t44kg60IOlgHI3yq/5RFVlSSpKLoF+v/jS982Ia9jyPiLr2cIaI1DtK2ERC5Mknn+SRRx5hwIABvP7661xyySWnfpKWsx/W/tVL1DLXBSxysMV5zCu5mOn70iiI3kJ04se0Ls3gtINxJO2OI+lACo0KKvtoigaLB3cI/07RyMhIel95HRfcMKLmrklEJAwoYROpJVlZWTz77LNceOGFDB48mNtuu41BgwbRp0+fUId2ckqKvK7ONXO9pz0DdHkWxyfzZdPLmJzZlY1HdtMyeg1nxC4gKSOWpA2xNCxIqeQkMUREpRAR3YbIiCROO5RBcdx69pZCqYOomFiKCwvBjCN52cG5ThGREFLCJhJk+/fv5+mnn+a5557j8OHDTJw4kcGDB9OqVStatWoV6vCqb+96L0lb+ybk7i+32UXFsTdlMLPzzuftvT+QcnAjbXPW0isrhoYFUUD5sdH+I4aI6BQiotoSEdUGi0ykcdEBTm95hDMHtCWm26W8fM9tWGQkTZolcMlNo/l01ovkHMpi3ccf0vua4TRqpocJRKTuUMImEkRPPPEEjzzyCHl5eVx77bXcf//9dO/ePdRhVV/OAW/mgTWvw961AYsUtO7FgpKLmLcjm0Zfbqf1kQ+4vvDoU66BZ2QworFoLzmLiGqLRbbCLIJIiklLKuasy9Joc+Glx7qMP5o5g9KSEs7o3Y/Lxk4gOi6Odt3O5Z8vPMOWZUtZ9tYbDLx5XDD+BUREQkIJm0gN27VrF61atSI2NpYmTZowbNgw7rvvPjp37hzq0KqnpMibw3PN67D5n1Ba9KPNzsH+qDTWRV3A0r2lRPxrHw2KVnP2sRLlhySJLIEYEihu2AWLSTuWoB3VPCGCsy7twBm9WxPbsPwE60WFhVw2dgJnDRh0bF10XBxX/O6/Wd99Ienfrq+JKxcRCRua6UCkhmzbto3HH3+cV155hWeffZYxY8aEOqSTk7nRS9LW/hVyfji22jk4UNCQ9PwW7LRObD3gcAVFxzkQRBeX0Cy3iMjIJHKbXkhB/Jk/StAAoqIj+Mn5p9G1bwqJ7Rqf+g9giIicIM10IBJEW7ZsYfLkycyZM4fIyEhGjRrFkCFDQh1W9eQehPVvwdevQcYawNeCVtCQ9Nxm7Mptyq78FuQVHU2mCgMeJrq4hIScPBKy84m2Vhxq2Z99bc/FRXitZf6pWMu28XTtl0KnXqcR00AfSSIigejTUeQk/frXv2bdunWMHz+eu+++m+Tk5Mp3CiclxbD1Y1+X53xccaEvQUsmPbcpu3Kbkl9SvlvSX3RxCQnZebTIySchO4/Ykhgyky5gT4c+5DY8rXz52Ehfa1oyiWlNgnVlIiJ1hhI2kRP09ddf8+STT/Lcc8+RkJDAzJkzSUxM5LTTyicmYe2HTbDmddw3b7LvQDa7cpuSnnM6u/IqT9BifAlaQnYeCTn5NM4vBIysZp1IP3MAPzTriiOi3H6JaY3p2i+Fjj0TiYnTx4+ISFXpE1OkilasWMGkSZP4xz/+QZMmTRg1ahQ//elP6datW6hDq7q8LErXzmPf0r+wa/se0nObsju3PfmllSRoRUe7OPNokZ1HfEHRsW7NwobNyejza3bFdyO7oPxxYuIi6XRBEl36JtOqbeMgXJSISN2nhE2kEgUFBVxxxRUsXLiQhIQEJk2axG9/+1uaNWtWq3EU5eez4MVnGTxmPNGxVZ9qqbSogH1fzCN96Xukb9vF7px4CkobAKdXuE9MUfGx7s2EMgkaAGmpFJz/C3bFdSZ9t1Fa6qDgx8dI6tCELn1T6HheItGxdWTyehGREFHCJhKAc46NGzfStWtXYmNjSU1NZcqUKdx66600bhyaVqI9Wzax6fNFnDVgEGndzqmwXGlpCfu2byN95cekf7WY3XsOUlByNGEKPJhsTHExLY543ZstsvNoVCZBy42LwfU4j9YDLmdXTCc2r83myL5839b/PGke2zCKThck0bVvMi1S4k/ugkVE5BglbCJ+nHPMnz+fSZMmsXLlSjZv3kzHjh2ZOXNmqENjxzrvqc2d69b8KGErLSnhh21bSf92PbvWrWbXt+spLPSfHqp861ZMSQktDufSIjufhJzyCVqJwdakZhT36EOfa66nQaM0Nn6xl5XLDuBKy89q0LpjU7r2Teb0HolExag1TUSkpilhEwFKS0t59913efTRR1m9ejVpaWnMmDGDtm3bhjq0Y7Z9/SUAW1etpOP5vUnfsI5d365n96YNFOblHXff2JJiEo7kea1o2fk0KizTxQlkNjXWpJzG4c4XM+CaEQxITWbT8r18+P4esrPKD0Qb2yiKMy9sTZe+ySS0blRTlykiIgFo4FwRYM+ePbRv357U1FTuu+8+brzxRqKjj38jfjD9/ycmsXXVih+ts4gIXGlplfZvUFpE8yN5JBzOp0V2Pg0DJGj50bA+NZLVrVP4LqUfA/sO4/qe7clPz2Hjkt3sWH+AQB8PKZ2a0aVfMh3OaUVUtFrTRERqigbOFSmjuLiYuXPnsmTJEl566SWSk5NZsmQJPXr0ICoq9G+LvsNH8MOO78n99yFKirxZBI6XrDWILKRdoyyaH8onejM0LCwul6ABbE2Cb9pHsjopjY0Ne9OrTX9GXNCJ81o2ZsvyvXz4+Cpy/l1+MNy4+Gg69/Za05qdFng+UBERCR61sEm9UlhYyOzZs5k8eTLbtm2je/fuLFq0iKZNm4Y6tHKK8vP55wvP8P3qLykuKCi33SIiSGzbhssi3qFl84ZY9+vJizuf7WMnHitzMB7WtjfWtI9gTWIaB4t70qSkB7/seQbX9WhDya48Nizdw86NB/yfHTimzZnN6dI3mQ7dWxEZXX5cNRERqTlh18JmZuOAu4HWwAbgd865JRWUHQaMBc4F4oCNwGPOufdqKVypI1avXs2VV17Jrl276NWrF9OmTePnP/952M5ZeXQy86/ef5ulb8451tIGEBUTQ5/rbqTnFcNg+6+g7fnklhgT//YNZyd3Y1ObIjZ0+47t8W0oOnIOxYfP5sImHXjwwlQuTGzKv5bv5ZMn15B7uHxrWoMmMb7WtNY0baXWNBGRcFDrCZuZXQ9MA8YBS30/55tZF+fczgC79Ac+AR4ADgK/At4xs0sqSvJEjsrJyWHHjh106dKFTp060b17d2bOnMngwYPDNlEr61BmhjehJ0ZUTAzFhYW40lIO/bDXK9CuDwANIhyb9+Xw7vkjschsOJJHk9xkhp/Xhut7tCEiI5+Nn+7mzW83lT+JQWrnBLr0S6bd2S2JjFRrmohIOKn1LlEzWwGsdc6N9lv3HTDPOTex4j1/dIyVwBLn3J3HK6cu0frr8OHDzJgxg6lTp9KyZUs2bNhARMSpl4RkZx3kpdt+g5nRqFkCl9w0mk9nvUjOoSxwjluen0WjZv8ZW23Osu08+O4Gzk1txo0XpNE3qSlbV2SyaVkGeUeKyh2/YdMYuvRJpvNFrWnSskEtXpmIiJQVNl2iZhYDnAc8VWbTAuCiEzhUYyCrpuKSuiMrK4vp06czbdo0srKyGDp0KA888MApmawBLH/rDUpLSjijdz8uGzuB6Lg42nU7l3++8Axbli1l2VtvMPDmccfKX3VuCuekNCUus5ANi/cwb/OW8gc1SDurBV36JNOuWwsi1JomIhL2artLtCXeKJ6ZZdZnAgOrcgAzuw1oA8ypYPstwC0Aqamp1Q5UTk3z58/n4Ycf5qqrruL++++nZ8+Af6icMooKC7ls7ATOGjDo2Lqj97at776Q9G//Mz5a1t4cNi7dw6Zle8nPKd+aFt88ls4XtaZzn2QaJ1R9aisREQm9Wu0SNbNkYDdwsf/9Z2b2EDDcOXdmJftfg5eo/bIqDx2oS7Tuy8jI4KmnniI1NZUJEyZQXFzMpk2bOOuss0IdWq1yzvHag8s4vD//R+vNIK1bS7r2TSa1a4Ja00REwljYdIkC+4ESIKnM+kTKt7r9iF+yNkJPiEp6ejpTpkxh5syZFBcXM378eACioqLqXbIGYGZ0viiZFe99D0B8Qixd+yZzZu9k4pvHhjg6ERE5WbWasDnnCs1sFTAI+JvfpkHAWxXtZ2bXAbOBkc65ecGNUsLd9OnTueuuu3DOMXLkSCZOnMjpp58e6rBCrvNFrdmXfoQufZNp2zmBiIhT4ylYERGpXCjGYZsKzPE96fk53hhrycALAGb2KoBzboTv9S/xWtbuAhab2dHWuULn3MFajl1CZPPmzTRp0oTWrVtzzjnnMGrUKO69917S0tJCHVrYaNQslqFjuoU6DBERCYJav6HFOfcm8Du8cdXWAH2By51zO3xFUn3LUWPxEstngAy/5e3aillCZ/369QwfPpzOnTszZcoUAC6++GKef/55JWsiIlJvhGSmA+fc88DzFWy75HivpX74+uuvmTRpEu+88w7x8fHcc8893HHHHaEOS0REJCRCP8u1SABPP/00n3zyCQ8++CATJkygRYsWoQ5JREQkZPSMv4SFxYsXM3jwYL7++msAnnjiCXbs2MEf//hHJWsiIlLvKWGTkHHO8dFHH9G/f3/69+/P2rVrSU9PByApKYmmTZuGOEIREZHwoC5RCQnnHEOGDGHBggWkpKQwbdo0Ro8eTYMGms9SRESkLCVsUmtKS0tZuHAhgwcPxsy4/PLLGTZsGDfddBOxsRrcVUREpCLqEpWgKykp4Y033uDss88+1qoGMGHCBMaMGaNkTUREpBJK2CRoiouLmT17Nl26dOGGG27AOcfrr7/OpZdeGurQRERETinqEpWgKS0t5cEHH6RFixbMmzePq6++mogI/Y0gIiJyopSwSY3Jy8vj5ZdfZu7cuXz66afExsaydOlS2rZti5nmtRQREakuNXfIScvOzubPf/4zHTp0YPz48URGRpKZmQlAamqqkjUREZGTpBY2OSnbtm2jV69eHDhwgJ/+9Kf85S9/oX///qEOS0REpE5RC5ucsIMHD7Jw4UIA2rVrx69+9Ss+//xzPv74YyVrIiIiQaAWNqmyffv2MXXqVGbMmAFARkYGjRo1Ytq0aSGOTEREpG5TC5tUKjMzkzvvvJN27doxZcoUhg4dytKlS2nUqFGoQxMREakX1MImFXLOYWZkZGQwffp0hg8fzn333ceZZ54Z6tBERETqFSVsUs7333/P5MmTKS0t5eWXX+acc84hPT2dpKSkUIcmIiJSL6lLVI7ZvHkzI0eOpFOnTsyZM4f4+HiccwBK1kREREJILWwCwOzZs/nNb35DXFwct99+O3fddRfJycmhDktERERQwlavrV69GjPj3HPPZeDAgdx77738/ve/JzExMdShiYiIiB91idZDy5cv52c/+xnnnXceDz30EAApKSlMnjxZyZqIiEgYUsJWj3zxxRcMHDiQ3r17s2LFCh577DHmzJkT6rBERESkEuoSreOcczjniIiIYOnSpaxfv56nnnqKMWPGEB8fH+rwREREpArUwlZHOef4+9//Tu/evZk7dy4A48ePZ9u2bdx5551K1kRERE4hStjqmNLSUt566y169OjBFVdcQWZmJg0aNACgQYMGx34XERGRU4cStjrmuuuu49prryU3N5dZs2axZcsWrrnmmlCHJSIiIidBCdsprqioiNmzZ3PkyBEAbr75ZubOncvGjRsZOXIk0dHRIY5QRERETpYeOjhFFRQUMGvWLB5//HG2b99OYWEho0ePZujQoaEOTURERGqYWthOMc45pk+fzumnn87YsWNJTEzk/fffZ9SoUaEOTURERIJELWyniOLiYqKiojAz3nvvPTp06MArr7zCwIEDMbNQhyciIiJBpIQtzB0+fJjnnnuOGTNmsHz5ctq2bcs777xD48aNQx2aiIiI1BIlbGHq4MGDTJs2jenT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\n", | |
"text/plain": [ | |
"<Figure size 720x360 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.figure(figsize=(10, 5))\n", | |
"\n", | |
"for run, probs in enumerate(all_probs[:5]):\n", | |
" preds = np.argmax(probs, axis=-1)\n", | |
" acc = (preds == targets).mean()\n", | |
" nll = get_nll(probs, targets)\n", | |
" calibration_dict = calibration_curve(probs, targets)\n", | |
" print(\"Accuracy: {}\\t NLL: {}\\t ECE: {}\".format(acc, nll, calibration_dict[\"ece\"]))\n", | |
" plt.plot(calibration_dict[\"confidence\"], calibration_dict[\"accuracy\"], lw=3, \n", | |
" label=\"Sample {}\".format(run))\n", | |
"\n", | |
"#Ensemble\n", | |
"preds = np.argmax(dropout_ens_probs, axis=-1)\n", | |
"acc = (preds == targets).mean()\n", | |
"nll = get_nll(dropout_ens_probs, targets)\n", | |
"calibration_dict = calibration_curve(dropout_ens_probs, targets)\n", | |
"print(\"*Ensemble*\")\n", | |
"print(\"Accuracy: {}\\t NLL: {}\\t ECE: {}\".format(acc, nll, calibration_dict[\"ece\"]))\n", | |
"plt.plot(calibration_dict[\"confidence\"], calibration_dict[\"accuracy\"], \"-*\", lw=3, \n", | |
" markersize=12, label=\"Dropout Ensemble\")\n", | |
" \n", | |
"plt.ylabel(\"Accuracy\", fontsize=16)\n", | |
"plt.xlabel(\"Confidence\", fontsize=16)\n", | |
"plt.legend(fontsize=16)\n", | |
"plt.plot([0, 1], [0, 1], \"--k\")\n", | |
"plt.xticks(fontsize=14)\n", | |
"plt.yticks(fontsize=14)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## SWAG" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"- Paper: https://papers.nips.cc/paper/2019/hash/118921efba23fc329e6560b27861f0c2-Abstract.html\n", | |
"- Slides: https://github.com/wjmaddox/swa_gaussian/blob/master/short_slides.pdf\n", | |
"- Video: https://www.youtube.com/watch?v=5WOj_ZZJ2wM&feature=youtu.be" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 21, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"model_cfg = models.PreResNet56\n", | |
"model = SWAG(\n", | |
" model_cfg.base,\n", | |
" no_cov_mat=False,\n", | |
" max_num_models=20,\n", | |
" *model_cfg.args,\n", | |
" num_classes=num_classes,\n", | |
" **model_cfg.kwargs\n", | |
" )\n", | |
"model.cuda()\n", | |
"model.eval();" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 22, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"checkpoint = torch.load(\"ckpts/c100/preresnet56/swag1/swag-300.pt\")\n", | |
"model.load_state_dict(checkpoint[\"state_dict\"])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 40, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"100%|██████████| 20/20 [02:21<00:00, 7.10s/it]\n" | |
] | |
} | |
], | |
"source": [ | |
"all_probs = []\n", | |
"for run in tqdm.tqdm(range(20)):\n", | |
" model.sample(scale=.3, cov=True)\n", | |
" utils.bn_update(loaders[\"train\"], model)\n", | |
" model.eval()\n", | |
" probs, targets = utils.predictions(loaders[\"test\"], model)\n", | |
" all_probs.append(probs)\n", | |
" \n", | |
"all_probs = np.array(all_probs)\n", | |
"swag_ens_probs = all_probs.mean(0)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 41, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Accuracy: 0.7051\t NLL: 10292.2568359375\t ECE: 0.06744039269685746\n", | |
"Accuracy: 0.722\t NLL: 9829.1796875\t ECE: 0.05447430955618621\n", | |
"Accuracy: 0.7123\t NLL: 10195.8515625\t ECE: 0.06207299118936062\n", | |
"Accuracy: 0.7384\t NLL: 9201.3427734375\t ECE: 0.056619151875376694\n", | |
"Accuracy: 0.7112\t NLL: 10079.552734375\t ECE: 0.07044035450369121\n", | |
"*Ensemble*\n", | |
"Accuracy: 0.7678\t NLL: 7818.3447265625\t ECE: 0.021547082453966124\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"(array([-0.2, 0. , 0.2, 0.4, 0.6, 0.8, 1. , 1.2]),\n", | |
" <a list of 8 Text yticklabel objects>)" | |
] | |
}, | |
"execution_count": 41, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAmwAAAFGCAYAAADXSsPoAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdd1yVZf/A8c/NYXNQNuJgKIJ7ErlCCUUMZ6klmamPNjQjt5X609w5ehwpamZmpVmmWc4UwfGIuTIVUUREBAWUIbIO55z79wd64Ag4EmR0vV8vXniucZ/rIoIv15RkWUYQBEEQBEGovAwqugGCIAiCIAjCo4mATRAEQRAEoZITAZsgCIIgCEIlJwI2QRAEQRCESk4EbIIgCIIgCJWcCNgEQRAEQRAqOcOKbkB5srOzk11dXSu6GYIgCIIgCI916tSp27Is25eUV60DNldXV06ePFnRzRAEQRAEQXgsSZLiSssTU6KCIAiCIAiVnAjYBEEQBEEQKjkRsAmCIAiCIFRyImATBEEQBEGo5ETAJgiCIAiC8Aj5ubnsXLaQ/LzcCmuDCNgEQRAEQRBKkZ+by9b5M4g6Gk78hb8rrB3P/VgPSZJ8gAlAW6A2MEyW5W8eU6c5sALwBlKB1cAsWZblZ21Pbm4uKSkp5Obmolarn/VxglCpGRkZ4eDgQI0aNSq6KYIgCJVafm4u+9Ysp1HHziRcPA9A5OGD1G/jXSHtqYhz2JTAeeDb+x+PJElSDeAP4BDwAuAJfANkAYufpSEZGRkkJSVhb29PrVq1MDQ0RJKkZ3mkIFRasiyTk5NDQkICgAjaBEEQHvIgSPN/dwyJl6OIOhqOLGt1+dfPna2wtkllMEj1z99cku4BHzxqhE2SpPeBBYCjLMs599OmAu8DdR81yubl5SU/6uDcmJgYnJycMDc3/4c9EISqJzs7m8TERNzd3Su6KYIgCBWmaHBmZGIKQNzff/HznKlP9ZwGbV+k76RpZdImSZJOybLsVVJeVVjD1h44/CBYu28vBdOprs/yYJVKhZmZ2bM8QhCqHDMzM/Lz8yu6GYIgCBXqwQha4uUoXdr+r7586ueocrLLslmlqgpXU9UCbjyUllQkL7ZohiRJ7wDvADg7Oz/24WIKVPi3Ed/zgiAIEHfuLwCun/uLM7t/I+bUcb18WZZJzryHYw3LUp9hbmXNy8PfK9d2PlAVRtgAHp72lEpJR5blNbIse8my7GVvX+L9qYIgCIIgVHOPO4rj7L6dAPz56896wZpWljmfcIul+4+yZN8RMrJLrt/wxQ6MWLoWu3ouZd/4ElSFEbZbFIykFeVw/3MSgiAIgiAID3kw5dnMt1uJI2iFYz8FtFqZvxNuciDyCjczMrFVmvNqm6ZYmBgXe3Ztj0b0HvdJOba+uKowwnYMeEmSJNMiad2AROBahbSoktu+fTs+Pj44ODhgZmaGi4sLffv2Zc+ePRXdtFINHToUV1fXMnueVqtl3rx5uLq6YmpqSsuWLdm6dWuZPV8QBEGo3IpOeXZ84y0srKyRDIqGPfqTdKnZ2XwfcQaNVsugF1syKaAzL9Z3xlBRPFRKjL5EVnpaeTa/mOcesEmSpJQkqZUkSa3uv7/z/dfO9/PnSZJ0oEiVH4Bs4BtJkppJkvQqMAVYUhbnsFU3y5Yto1+/fjRs2JB169axc+dOpk4t2PESGhpawa17fqZNm8aMGTP44IMP2L17N+3atWPAgAHs2rWropsmCIIgPAexZ04AcP7gH+xc+jlZ6WnI2sIjOtQaLcevXmf76QsA2Ckt+ODlDkzo3pm2LnVRFFvvWyRkkmUO//BNOfdAX0VMiXoBB4u8nnn/YwMwFHACGjzIlGU5Q5KkbsCXwEkgjYLz15Y8p/ZWKYsWLaJv376sW7dOl/byyy8zcuRItEW+Uauz5ORkFi1axJQpU5gwYQIAvr6+XLlyhSlTpvDKK69UcAsFQRCEsrT981klTHkWyL6bQfbdDN3rfI2GP2PjORh1lfTsHOpa10StlTEyVOBia32/lAy6gE0BaEECt5Ztif3rFACJ0VE8T899hE2W5TBZlqUSPobezx8qy7LrQ3XOybLsI8uyqSzLTrIszxSjayVLTU2lVq2Hl/wVMCgyFJySksK7776Lh4cH5ubm1KtXj6CgIN2hqg/MmDEDSZKIioqie/fuWFhY4OzszPr16wHYuHEjjRo1QqlU4uvrS0xMjF59V1dXBg8ezNq1a3F3d8fU1JQ2bdpw8OBBHic7O5vJkyfj5uaGsbExbm5uzJkz57GB5969e1GpVAwePFgvffDgwZw7d47Y2NhSagqCIAhVUadBQ7C0tcdAoXhkuWt30pm3K4xtpy9Q08yUd3w7ENy1I4YGEsgyChMTALSgmzE1rvE2pjUag6ylhoMj3d8LxsmjMU4NG5Vvpx5SFTYdCE/B29ubDRs2UL9+ffr06YOHh0eJ5VJTUzE1NWXevHnY29uTmJjI4sWL6dixI1FRUZiamuqVHzBgACNHjmTChAmsXLmS4cOHEx0dTVhYGPPnzyc/P5/g4GCCgoI4flz/r5zw8HBOnTrFnDlzMDExYcGCBfTo0YOzZ8/i6elZYvvUajXdu3cnMjKSadOm0bx5cyIiIpg1axapqaksXlz6JRcXLlzAxMSk2MGwTZs2BSAyMhI3N7fHfi0FQRCEyqGkQ24fUKtUxEeeQytr0Wo0xerm5qu5m5NLbTtbXuj4Evsjoxncvg0tPT3wHfYOu5cvJj8vF1mWibPO4Jr9PTyT3XBMdUKbfxlN7ile+79PSI0/QfzF8zTz7UYz327Pq+s6ImArgeuUnRXdBJ1r8wOfqnxISAj9+/dn0qRJTJo0CVtbW7p168awYcPw9/fXlfP09GTp0qW61xqNho4dO+Ls7Mzu3bvp16+f3nMnTpzIkCFDAPDy8uK3335j9erVxMbG6q44unnzJsHBwcTFxeHiUrjNOSkpiaNHj+rOxfPz88PFxYXZs2ezcePGEvuxadMmjhw5Qnh4OD4+Prp6ADNnzmTy5Mk4ODiUWDc1NRUrK6ti543Z2Njo8gVBEISqo+iOT5fmrQDIz8vl7/17OfHbVrLSiv9cz1Hlczj6GoejY7FTWrB1/VdkJN9ixEsv4Nn+JboHvojR8UVE10gn9Z5MUo4594xVXHfS4nd9IJKyJurc81gYXqW2uxW13SsmUHugKuwSFZ6Ch4cHZ86cITw8nE8//ZRWrVqxbds2unfvzuzZs/XKrlq1ipYtW6JUKjE0NNQFVJcuXSr23B49euj+bW1tjYODA+3atdO7j7JRo4Lh4fj4eL267dq10zvE2NLSksDAQI4dO1ZqP/bs2YOLiwsdOnRArVbrPvz9/cnPzyciIqLUurIsl3g4rJhFFwRBqJqK7vhU5eZwYsdWvhozgrBv1+oFa+Y1rVDWcWbPhWjm7Axl34XL1Lez4TWvFmSkJJGvUtH9vWB6vjMSo1+GwpX9vGJ3kl71TxPRLAVDtQLfK0FIBjULnifV47WhQRXR5WLECFs1pFAo8PHx0Y1MJSYmEhAQwMyZMxk9ejTW1tYsX76cDz/8kHHjxrFw4UKsra3RarW0a9eO3NzihwRaW1vrvTY2Ni4xDShW39HRsdjzHB0di62XKyo5OZm4uDiMjIxKzL9z506pdW1sbEhLSysWuKWlpenyBUEQhKpDt+MzbD9/h+4jN/OuXr6FtQ3evV+jfltvRvYM4MCFy7Ru4Mr0mTNI+l8YWelpnDuwl3dWfoOFlTX8PhZyCo/l+F1pQbRVPm5Zr+KS1lSX7hm7lZovrKMyEAFbCZ52GrKyq127NiNGjCA4OJjo6Gi8vb3ZvHkzfn5+emvBymsxflJS8fONk5KSqFOnTql1bG1tcXNzY8uWLSXmP+rMtqZNm5KXl0dMTIzeOrbIyEgAmjRp8oQtFwRBEJ63knZ8SlLBhGB2Rnqx8gbWdlwwVGJ08zapv/2Cl0ttfP38GDljLkampuS/9jp7Qv7L5WNHOLZ1E117dICT63X15d5fsi1mG6+c6Eadu4XrvuvFh1KvDhjc34hQ0cSUaDXz8HTkA1FRBduPH+wgzc7OLjZ69WDnZ1mLiIjQa1dmZiY7d+6kffv2pdYJCAggPj4epVKJl5dXsQ87O7tH1jU2Nub777/XS//uu+9o1qyZ2HAgCILwnD3umqiiXnz1dcwsa+iCNABZLn46QHpOHjvORzNl/SZCVq/m6tWr5KtUBI4ex6j5SzC6v3nOyNSUXh9Noft7weTn5sKuCei2gLp345RNY7zCe+gFay5xu3GP2YpV3z7P1vEyJEbYqplmzZrh6+tLv379cHNz4+7du+zatYuQkBAGDhyoW0sWEBDAggULmDt3Lt7e3oSGhvLzzz+XS5scHR3x9/dnxowZul2iWVlZTJs2rdQ6b775JuvXr8fPz4/x48fTsmVLVCoVMTEx7Nixg+3bt2Nubl5iXQcHB8aOHcu8efOwtLSkTZs2/Pjjj4SGhvLrr7+WSx8FQRCE0pW0aaCorPQ0Yk4dJ+bkceLO/YUmP/+RzwuLvsbusxdRGBoyfPhwJk+e/Njbcpr5dqOZVTL8WjC9isKYW5ZD+GvWZSyN6uvK1b/6K8qMv3BeHYKyc+en7mt5EQFbNbNgwQJ27drF9OnTSUpKQqFQ4OHhwfz58/noo4905aZPn056ejpffPEFubm5dO7cmb1791K/fv1HPP2f6dy5M126dOGTTz7hxo0bNGnShN27d5d65AiAkZERe/fuZf78+axZs4bY2FgsLCxo0KABgYGBuvVypZkzZw5KpZKlS5dy69YtPD092bJlC7169Srr7gmCIAiPUXTTwIOA7U5CPDEnj3PlZAQ3oy/BYzaG3crIxNLUhJqWSrr26kMDn65MmDCBunXrPlkjctLhj+kF/7xjxPnkvpyOM0BtVLjO2i3mZw5amtJ+1nqUL5b978NnIVXnnXNeXl7yyZMnS82/ePEijRs3fo4t+vdxdXWlU6dOfPfddxXdFKEI8b0vCMLztGHCaG7Hx1HToRYe7Tpy5eRx0hJvlFreztkVd68XuZNwg0N/7GXf+Uucu3GLro0bEti6Cc1e9qfrf0Y9XSN2T0Z7dDWJf1pxjr5cdesJ96ddJW0++dlb2WDbmTcDvRjvX/IZoeVNkqRTsix7lZQnRtgEQRAEQSgzJW4auH/TTkbyLU7s2FqsjiQZUKdxE9y92tHAqx1WjrUI2/8HH4+bSGRiEqbGRowaPpQG5CLn5nDuwF7avzaoYMfnk7h1Hvn4Gq6fqMWflu+QYl9kWlaTyv4G6zgntWVY8zaM61b67E9FEgGbIAiCIAhlptOgISTHXSUrPQ2tWg2gd+l6UYbGJrz46kBa+AVgXqOmXt7UiRO4djuVwT26seTrb7GvVYv83Fz9HZ9PMsomy7BrItcu1SfMYRzZFk66rNtm0fze9BtyFHkMsO7Nxz0alXiOZ2UgAjahXF27dq2imyAIgiA8Jxq1mpS4WMyUNci8nVJqOYWREfXbeNNj1FiMTE2RZZkDBw4wd+5cVq1ahYeHB+/274tHq894MbBwp+aDHZ/nW/5B/MXzT9aocz9xMUIm3OIzNIZmuuQzNhc50XANWgMt9Qx9mN37hUobrIEI2ARBEARBeEY59zL5e/8e/tr7O/dSSz/YHMDQ2JiOAwfj1etVZFlm165dzJ49m2PHjlG7dm3i4uLw8PDgrU9nlvqMJ77PM/cusd9vJFSaAIaF69X2Of7NlfqbkAwKRv7mdh2JgUHlDdZABGyCIAiCIPxDqYk3OL1rBxcOHUCdl6eXpzAyoqa9I+lJN9FqtBgaG6NWqZC1WtKTb6HVavHx8eHo0aO4uLiwatUqhg0bhkkZHlSbsuszDiYNAtOCYM0o7w6/NV3HNfsEHoRn7lbutHJoWWbvWV5EwCYIgiAIwhOTZZnr589yetevXD19oli+eU0rWnUPxP2F9nw3JRhJkqhhZ0+XoSM58HUIf12KRr6/aSAwMJDhw4fz1ltvlXoV4T8ReSeSGQcn0W2rO6qaBQfGK9Q57G/wX67ZF15rZSgZMqrVqEo9FfqACNgEQRAEQQAKbiTYt2Y5/u+OwcjEVC9PrVIRdTSc07t+JeX6tWJ17V3caBvYF88OPhgaGbH/qy/RajR4tn8JvxGj+emXX/giNILLly/zwcsdOLZ1Ex9//HGZ90GtVfPJ4U9ouycDtTJAl37D/Hcu1ruLJteRumZNGNPBnxdre+Ng7lDmbSgPImATBEEQBAEo+UaCrPQ0zv6xi7N/7C5+l6ckUb/NC7R9pS/1mjbXG6nKV6l4ecRoTsUl0KxlS65evUqLFi3YsmULHtaWJF6+WC592HZlGzYnovFIH8ltu4JD1mX1TTbXqY/6si+BTdxZ+kYrDBVV63ZOEbAJgiAIggDo30hgXtOKUzu3E3UkDM394zkeMDQxoVmXrrTp0RtrpzolPqvHqLFkZWXhH+SKq6srX3zxBT179sTg/plsLbsGlFjvWWTlZ7F11+eMPNKEqMYtdOmbatREnWVFYHOnKhmsgQjYBEEQBEG47+qZgjVpZ/b8zp+/Fr9fWmlrR+vuPWnhF4CpUlksPzs7m9WrV7Njxw7279+PhYUFJ06cwMXF5bmsE/t2+/uM2JLHtYYDdGlXFPdIMFZU6WANoGq2Wnik7du34+Pjg4ODA2ZmZri4uNC3b1/27NlT0U0r1dChQx97ce/TWLJkCb169cLJyQlJkpgxY0aZPVsQBKE62P75LBa/3lPv4058HAD5ebnFyju6NWDEsq/w7tO/WLCWmZnJ/PnzcXV1Zdy4cUiSxO3bt4GCKwrLPViTZRK+Dcb9vyfIq+FPrpldQT9Qs8ei6gdrIAK2amfZsmX069ePhg0bsm7dOnbu3MnUqVMBCA0NreDWPT9r164lOTmZvn37VnRTBEEQKqVOg4agtLHVXRtVGgNDQ2rYORAwehwKw+ITc5GRkbi4uPDxxx/Ttm1bjhw5QmhoKI6OjiU8rezJGg1p014ndcFebLLtiXMuPJ8t1EzLyy2rfrAGYkq02lm0aBF9+/Zl3bp1urSXX36ZkSNHoi3lapDq6MKFCxgYGKBWqwkJCano5giCIFQqaTcT+GvvTnIyM0u9NgoK1qo1aONN9/eCMTIt3DV6+/Ztzp8/T5cuXfD09OSNN95g2LBhvPDCC8+j+Tqa1DvcHNmHzAt3UCBxueFAZIOC40ESFVrqtbWvFsEaiBG2aic1NZVatWqVmGdQ5K+olJQU3n33XTw8PDA3N6devXoEBQWRkJCgV2fGjBlIkkRUVBTdu3fHwsICZ2dn1q9fD8DGjRtp1KgRSqUSX19fYmJi9Oq7uroyePBg1q5di7u7O6amprRp04aDBw8+ti/Z2dlMnjwZNzc3jI2NcXNzY86cOU8UeBo85i9GQRCEf6OESxf5ddEcvh77Hmf/2IUmX1VqWUNjYzoOeJOeH03WBWu3bt1iwoQJuLi4MHDgQFQqFQqFgpUrVz73YC37z2Nc7eFL5oWCmxVS7FqRatMEABkZ2lizdFDrahGsgRhhq3a8vb3ZsGED9evXp0+fPnh4eJRYLjU1FVNTU+bNm4e9vT2JiYksXryYjh07EhUVhamp/vk7AwYMYOTIkUyYMIGVK1cyfPhwoqOjCQsLY/78+eTn5xMcHExQUBDHjx/XqxseHs6pU6eYM2cOJiYmLFiwgB49enD27Fk8PT1LbJ9araZ79+5ERkYybdo0mjdvTkREBLNmzSI1NZXFixeXzRdMEAShmtNqNcScOM6J33/h5uWoYvkOrg0wtbTkxsXzaNWaYjcSACQmJjJ//nzWrl2LSqUiKCiITz75BGNj4+fdHWSNhjsrl5OycjXIBWlqhQnnmvTX3V6gra9k9vA2VeJA3CclAraSzKhZ0S0oNCPjqYqHhITQv39/Jk2axKRJk7C1taVbt24MGzYMf39/XTlPT0+WLl2qe63RaOjYsSPOzs7s3r2bfv366T134sSJDBkyBAAvLy9+++03Vq9eTWxsLDVq1ADg5s2bBAcHExcXh4uLi65uUlISR48exdnZGQA/Pz9cXFyYPXs2GzduLLEfmzZt4siRI4SHh+Pj46OrBzBz5kwmT56Mg0PVOOxQEAShIuTn5XIh7ACndm4nPelmsXy31l549XwV69p1+OqD4Xo3Ehz8Zg1Z6Wn8vX8P7V8bxNWrV1m1ahVDhgzh448/xt3dvQJ6BPlJySSO/4jsk2d0admmMtu79KBWrjUAkqmCd0ZXr2ANRMBW7Xh4eHDmzBmOHj3Kvn37iIiIYNu2bWzevJlZs2bpNiAArFq1ipCQEGJiYsjKytKlX7p0qdhze/Toofu3tbU1Dg4OtG7dWhesATRq1AiA+Ph4vYCtXbt2umANwNLSksDAQI4dO1ZqP/bs2YOLiwsdOnRAXeT8H39/f6ZOnUpERAS9e/d+0i+LIAjCv0ZWehp/7dvJX/t2kZt5Vy9PYWhI45d8aRvYF7t6BT+ni95I8GCtmspUyYf/GUp+eiottm6i639Gcf36dZycnCqgRwUyw8K4OWUKmvTCgYwsRzUze7rQ7erLurSXX/fA1KLsrrmqLETAVg0pFAp8fHx0I1OJiYkEBAQwc+ZMRo8ejbW1NcuXL+fDDz9k3LhxLFy4EGtra7RaLe3atSM3t/h2bmtra73XxsbGJaYBxeqXtFPI0dGx2Hq5opKTk4mLiyv1brk7d+6UWlcQBOHf6E5CPKd2bifyUCia/Hy9PFMLJS39X6FV954orW308vJVKrq/F0wz326cP3+euXPn8uOPP2JiYsKgPr3Jv3+pe0UFa1qVipTFS0jdsKFIqoyyaRZDutvjf2UACllR0Eb3mni2K3kdd1UnAraSPOU0ZGVXu3ZtRowYQXBwMNHR0Xh7e7N582b8/Pz01oLFxsaWy/snJSWVmFanTsmnYwPY2tri5ubGli1bSswvyzPbBEEQKrNH3e8pyzIJFy9w4vdfuHrqz2J1a9g70jawL818u2Jsalbi83uMGgvAypUrGT16NEqlkokTJzJu3LgKX3qiunaNhHHjyY2M1KUZmmmwf/Eub3h0ot5dJbXvNgRAMoDOgzyr3VToAyJgq2bi4+OpV69esfSoqIKFpg92kGZnZ+tNZwK6nZ9lLSIiQq9dmZmZ7Ny5k8DAwFLrBAQEsHXrVpRKpW6qVRAE4d+opPs9tRoN0X/+j5O//cKtmOhidWo1aIhXr9do6N0eA4Wi1GcfP34cS0tLmjRpQrdu3Zg2bRrBwcHY2tqWW3+e1N09e7j5yados7N1acraudTwzmG48bskW+5j0N+TdXktXq6HbZ3ity9UFyJgq2aaNWuGr68v/fr1w83Njbt377Jr1y5CQkIYOHCgbi1ZQEAACxYsYO7cuXh7exMaGsrPPxe/hqQsODo64u/vz4wZM3S7RLOyspg2bVqpdd58803Wr1+Pn58f48ePp2XLlqhUKmJiYtixYwfbt2/H3Ny81PonT57k2rVruiNAIiMjdf175ZVXHllXEAShMil6v6dTQ0/OH/yDUzt/5W5K8dmLBl4v4tWzH3UaNX3kSNOhQ4eYPXs2f/zxB0FBQXz//fc0bNiQzz77rNz68aRkjYaU//6XO2u/0qVJBjIOLe8iN5QYnP8p0bYn6ZLgj3l+wcCDRU1jvHu6VVSTnwsRsFUzCxYsYNeuXUyfPp2kpCQUCgUeHh7Mnz+fjz76SFdu+vTppKen88UXX5Cbm0vnzp3Zu3cv9evXL/M2de7cmS5duvDJJ59w48YNmjRpwu7du0s9cgTAyMiIvXv3Mn/+fNasWUNsbCwWFhY0aNCAwMDAx24lX7FiBRuKrHf46aef+Omnn4CCqV8xpSoIQlURe/9+z3Oh+zi7fzd5RTaJASiMjGjq40ebwD7Y1ik+w1JUWFgY//d//8ehQ4dwcHDg888/5/333y+3tj8tTXo6CeMnkHX0qC7NSKmmToc0Yqzq8EH+GK6baHE2SqLprbd0ZToOaIixafUOaSRZliu6DeXGy8tLPnnyZKn5Fy9epHHjxs+xRf8+rq6udOrUie+++66imyIUIb73BaFy2v75LGJO6Z9lKUkSpf2utnKqw6CZCzCvaVXqMx/UlSSJadOm8fXXXzNp0iRGjhxZqWYbcqOiuPHBB+TfKNyQZuGUS532aXxjEMDC/Dcw1xrR3Pkwrtca4ZBVMGNUt5E1vYNbVYu1a5IknZJl2aukvOodjgqCIAhCFdJp0BCS466SnZGu2+lZUrBmoFBgYW1Dn/GflBqsabVafv31V2bPns306dPp06cPkydPZurUqZiYmJRrP55Wxs6dBevV8vJQGdcg28wBA/eaJDg4sTHzRWSNFaO1EgZIcKHwTFFJAT5veFSLYO1xRMAmCIIgCJWEXT0XgmYv5oep48m8nVJimdLu93xAo9Hw008/MWfOHM6fP0+DBg1Q3N94oFRWjkX56nwNGck5pCVmcuOX/dy+mEB20w/JMXdAbVhk1C8HSh87hLbdXbGuZVHu7a0MRMAmlKtr165VdBMEQRCqjIRLF9m9YlHpwdr9+z29er1a6jMCAwPZu3cvjRs35rvvvuP111/H0LBy/LqXZZlzYTeI+PUq+bma+6l1oFbpxzwVlWmcRoZZMlkWabzdZSCtO1XvjQZFVY7/goIgCILwL6bVaIj45UciftmMfH93OwCSBLKMobFJsfs9H1CpVPzwww+88cYbmJqa8s477zBixAheffVVDAwqz8XneTlqDm68SMzpkoPRB9RouK2QSDXQUtPBnDf86lOzloKhx4K4rU4G4KM2H9G2ecVcj1VRRMAmCIIgCBUoI/kWu5YvJvHyRV2asZkZ+Xl5GBgYYGFlo3e/57kDe2n/2iAUpmasW7eOBQsWEB8fX3AzwaBBvPpq6aNvFSXleiZ71p7nbkqOLs04Lx3LewmYZydhbxXHbWdj5moCuCmZgyKH3t4y9RvEs+HONv4+/bcuWHOycGJwk8EV1ZUKIwI2QRAEQaggFw8fZP+6VahyCg+Hrdu4GZZ29lw8fBD3Fzvq1qq5Nm/NnpD/cvHoIca/O4JfD/2PW7du0bFjR9auXYu/v/8j3qliyDy/IR8AACAASURBVLLMhUMJHP4pGq26cPNEnYRw3GN+wchAhVXHe3zm3JV9RnYoTH/FwuwGBsZ3OJgBB08Xf2Zwm2BMFJVr08TzUCEBmyRJo4CJgBNwAfhIluXDjygfBEwCPIC7wH5ggizLt0qrIwiCIAiVVV52Fvu/WknU0XBdmoFCQYcBb/JCn9fYG7JMd7/nA5KhIb0+moJrizb0Hz6CJk2asGnTJjp37lwpd0mqctQc/D6KKyeTdWkKdQ6NLv2AY8pp0q21rO5rxClHG5BOU3z7hD4jAyN6N+hND7ce5dvwSuq5B2ySJL0OLAVGAUfuf94tSVITWZavl1C+I7ARmABsBxyBlcD3gN/zarcgCIIglIWEqEh2rVjE3ZTCQMbK0YlXPpyAk7snUHi/J0BaWhrLli3jq6++4syZMzR/2Z+T5y5gaWn53Nv+pG7fyGTPmvNkJBdOgSrv3aDZha8wz0nhREOJFb2MyDEpOdA0NDCkoVVDmto1paltwYe7lTtGCqPn1YVKpyJG2MYB38iyvPb+6zGSJAUA7wMfl1C+PXBDluUv7r+OlSRpObC8/JsqCIIgCGVDq9FwbOtmjv/yI7JcuLGgaZeuvDz0HYzN9A+xTUlJ4YsvvmDFihVkZmbSp08f7t27h52dXaUN1mRZJvJIIoe3RKPJL+xj7cQjNLzyMwptPj++ZMAvHSXk+6OCsmyAUqqDX/22tHRoTlPbpjS0boix4tE32vzbPNeATZIkY6AtsOihrH1Ah1KqHQXmSpLUC/gdsAXeAHaVVzsFQRAEoSylJ91i14pF3LwcpUszsbCg28gxeLbvVKx8SkoKbm5uZGdnM2DAAD799FNatGjxPJv81FS5asJ+uET0n4V3nCo0eXhe2kSt5BNkm8CKXgb85eKAKsMZTW5dNDl1ea9DJyZ0bYaBQeWb1q1Mnvd+XztAATx8Y20SUKukCrIsHwMGUTAFqgJSAAl4u/yaWbVt374dHx8fHBwcMDMzw8XFhb59+7Jnz56Kblqphg4dWmb3e16+fJng4GBatGiBUqnEycmJ3r17c/bs2TJ5viAIwpOSZZnIQ6FsnDxGL1ir26QZQz5foResxcfH88033wBgb2/P3LlziYyM5Mcff6z0wdrtG5l8O+uwXrBmcS8Br1MLqJV8ggxrLTeGNON/2hmkxUwg9+ZAFPc6sfzVvkzyby6CtSdQUbtEH75nQyohrSBDkpoAy4BZwF4KNiosBFYDQ0oo/w7wDoCzs3PZtbiKWLZsGcHBwQwfPpyJEydiYWFBTEwMO3fuJDQ0lICAgIpuYrnbt28fBw8e5O2336ZNmzakp6fz+eef8+KLL3L06FHatm1b0U0UBOFfIDfrHgfWrSq+sWDgYF7o/SoGBgW3D1y9epX58+fzzTffYGBgQGBgIPb29nz44YcV1fQnJssyv+06zLVduSg0hSGF083/4RG9BYU2H0M3AyL7BfPZ1cKL6Z1qmrJ2iBfN6tSsiGZXSc/18vf7U6LZwCBZln8qkv4l0EyW5c4l1NkIKGVZ7lckrRNwGHCWZTm+tPf7N17+7uzsTNu2bdm2bVuxPK1WW6kOUSxq6NChhIWFlcnNCLdv38bW1lZv11RGRgaurq706tWLb7/99pnfo6qrjt/7glCZ3Ii6wO4Vi/U3FtRyInDMRGq5ewCQkJDAp59+ynfffYdCoWDEiBFMnjy5Sgw2yLLModjDhP4QicMND126gUaF5+XNOCUdB2SsXmnOBPf3OXq9cPNBa2crVr/VFgfLx+0L/fd51OXvz/W3tyzLKuAU0O2hrG7A/0qpZg5oHkp78FqMoT4kNTWVWrVKnF3WC9ZSUlJ499138fDwwNzcnHr16hEUFERCQoJenRkzZiBJElFRUXTv3h0LCwucnZ1Zv349ABs3bqRRo0YolUp8fX2JiYnRq+/q6srgwYNZu3Yt7u7umJqa0qZNGw4ePPjYvmRnZzN58mTc3NwwNjbGzc2NOXPmoC16CngJ7Ozsim1xr1mzJh4eHsX6JwiCUJY0ajVHf9zIlhkf6wVrzXy78daCZdRy9yAvLw8o+Jm8Y8cOxowZQ2xsLF9++WWlD9ZkWebQjUP8Z/MoDi2P1wvWzLNu4nXqc5ySjmNgIqH4eCz9HfSDtVdb12HTyHYiWPsHKmJKdAmwUZKkPynYUPAeUBsIAZAk6VsAWZYfTHf+BqyVJOl9CqdE/wucLukYkH87b29vNmzYQP369enTpw8eHh4llktNTcXU1JR58+Zhb29PYmIiixcvpmPHjkRFRWH60IXCAwYMYOTIkUyYMIGVK1cyfPhwoqOjCQsLY/78+eTn5xMcHExQUBDHjx/XqxseHs6pU6eYM2cOJiYmLFiwgB49enD27Fk8PT1LbJ9araZ79+5ERkYybdo0mjdvTkREBLNmzSI1NZXFixc/1dclNTWV8+fPM2zYsKeqJwiC8KTSb91k1/JF3LxySZdmaqGk2zsf4NGuE6dPn2b27NmkpaVx8OBBnJycSEhIwMzMrAJb/WRkWSb8RjghZ0NQRZnhc3UgRtrCw2tr3TqO5+XNKLQqjGtZc/rD+Xx6OguVuiBYkySYEtCId3zqV8oz46qC5x6wybL8oyRJtsBUCoKv88ArsizH3S/i/FD5byRJsgQ+ABYDGcBBCg7SLRfNNzQvr0c/tXNvn3uq8iEhIfTv359JkyYxadIkbG1t6datG8OGDdM7BdvT05OlS5fqXms0Gjp27IizszO7d++mX79+es+dOHEiQ4YUxNBeXl789ttvrF69mtjYWGrUqAHAzZs3CQ4OJi4uDhcXF13dpKQkjh49qvvL0c/PDxcXF2bPns3GjRtL7MemTZs4cuQI4eHh+Pj46OoBzJw5k8mTJ+Pg4PDEX5cxY8YgyzIfffTRE9cRBEF4Eg82Fhz4OoT83MLRpHpNmhMwehyRV2Lo2bMnO3fupGbNmnz44Yeo1WoMDQ0rfbAmyzIH4w8ScjaEyylX6HTtNRont9flS1oVnpe34HTrGBJg4tWapT7v8eufmboyShNDlr7RCr/GjhXQg+qjQhY0ybK8UpZlV1mWTWRZbivL8qEieV1kWe7yUPnlsiw3lWXZXJZlJ1mWg2RZvvHcG14FeHh4cObMGcLDw/n0009p1aoV27Zto3v37syePVuv7KpVq2jZsiVKpRJDQ0NdQHXp0qViz+3Ro/BkaWtraxwcHGjXrp0uWANo1KgRULDTqah27drpDfNbWloSGBjIsWPHSu3Hnj17cHFxoUOHDqjVat2Hv78/+fn5REREPPHXZN68efzwww+sWLECd/d/12XBgiCUnfzcXHYuW0h+Xq4uLTfrHjuXfs6elV/ogjUDhYKXgobSf9ps9oQepH379kRERDB79mzi4uL47LPPMDSs3DdDyrLMgesHGPj7QIIPBpOYcIdXz4/TC9bMc27xwqmF1L4frKn7DuDtJsP49WphsNbYqQa/ftBRBGtloHJ/xwj/iEKhwMfHRzcylZiYSEBAADNnzmT06NFYW1uzfPlyPvzwQ8aNG8fChQuxtrZGq9XSrl07cnNziz3T2tpa77WxsXGJaUCx+o6Oxf9HdXR0fOR6suTkZOLi4jAyKvlU6zt37pRat6iQkBA++eQTZs+ezfDhw5+ojiAIQkkSL0cRdTScZr7dcGneihuR59n15WIyb6foyljVqk0Nr46kmVpiYKAgMDCQJUuWMHLkSJRKZQW2/sloZS2h10MJORvCpbSCP97db7fBJ+Z1jLWFS2Uck0/geWkThpo8MFRw+fX3GZ/jhvquSldmSHsXPnmlMaZGiufej+pIBGwleNppyMqudu3ajBgxguDgYKKjo/H29mbz5s34+fnprQWLjY0tl/dPSnr42L2CtDp16pRax9bWFjc3N7Zs2VJi/pOc2bZx40ZGjRrF+PHj+fTTT5+4vYIgVG75ubnsW7Mc/3fHYGTy/Bavx537C4BrZ08Tf+Ecf27/SXdjgSzL5DjUZcuxM/y5bC2+vr66jVpjx4591GMrjZO3TjL3z7lEp0UDoNAa0uFaP5omFZ4VZyCraHh5K7VvHkECpJo1+T7gfTZm2fHgdK4apoZ83r8FAc2cKqAX1ZcI2KqZ+Ph46tWrVyw9KqrgwMYHO0izs7P1pjMB3c7PshYREaHXrszMTHbu3ElgYGCpdQICAti6dStKpVI31fo0tm3bxrBhwxgxYgSLFj18sYYgCFXZwyNdz0vsmRMAnNn7OxpV4UhSXEYWB2ITiby8C1dXV0JCQhg6dOhza9ezkmWZ9RfWs/T0UrT3A1CTfHMCL72HQ2bhemQLVRJN/v4ay3sFK5I09VyY0vZtzucV/i5p7WzFsjdaU89G/5ot4dmJgK2aadasGb6+vvTr1w83Nzfu3r3Lrl27CAkJYeDAgbq1ZAEBASxYsIC5c+fi7e1NaGgoP//8c7m0ydHREX9/f2bMmKHbJZqVlcW0adNKrfPmm2+yfv16/Pz8GD9+PC1btkSlUhETE8OOHTvYvn075uYl/0A4dOgQgwYNokWLFgwdOlRvvZuJiQmtW7cu8z4KgvD8PBjpun7urzIJ2DRqNXlZ98jNukdeVha5Wfc4svlbkmP1jyni/u5GjUqFViujkbUYKRSkZmSQlnqH9evX8+abb5a6lKMyuqu6y9QjUzkYX3jUkq3agdci38Eg216XVivtJB7nN2GoKVjyktykDaPq9yOLwk0T73VuwHh/D4wUlfO8z6pOBGzVzIIFC9i1axfTp08nKSkJhUKBh4cH8+fP19shOX36dNLT0/niiy/Izc2lc+fO7N27l/r165d5mzp37kyXLl345JNPuHHjBk2aNGH37t2lHjkCYGRkxN69e5k/fz5r1qwhNjYWCwsLGjRoQGBgoG69XElCQ0PJy8vjzJkzdOzYUS/PxcWlTA7nFQSh4jwY6bp6+gQvBQ0FIF+VR949/aDrQRCWe+8eedlZ+q+z7pGbnUXevXt6mwgeSZbRaLWcvp5I6MUrtHWpQ0DLprzUqgWLN/2Mo2vZ//wsT5dSLzE2bCzxmYUbxdpJzehwph/Zarv7KVo8rm2lzrUw3cGn/2vjz5x6XdFKBYGZrYUxS15vRWcPe4Ty81xvOnje/o03HVQ2rq6udOrUie+++66imyIUIb73hapi++eziDmlf7ajZGCA/JgDtMuaWqPh5LUEQqOukJqVQ22rGgS2bkrv3n3o/l4wRqZV6yDY7Ve2MztiNnmaPF3a21me2JwPIkdrBYAkq2lyaSOOtwp+j8qGhqxpO4DtToXX+3VoYMt/X2+FQ42q1f/K6lE3HYgRNkEQBKHS6jRoCMlxV8nOSEeTnw9Q5sGaJBlgolRiam6BiYUSU6Wy4LNFwevb168xJ2Qdp+NuUM/Gir6tm9LcpS6dXn8Lr16vlmlbylueJo95x+exNXqrLs1cUvBxnA0piW+TI1sAoJBVND33FXapFwrqWdTg09aDuWBXMIpoIMHYrh6M8nVHIS5ufy5EwCYIgiBUWnb1XHjtk8/4adanZKWlPqKkhFmNGpgqLTG1sMDUQlkYfJnfD76USkwtlIV59z8bm5kVO33/3r17rF69mv7+vVBl/45v4wa0dalDk3q1CwJHWSY9+Vb5dr6M3ci8wbiwcVxMvahLa5CvZsq1Wvx1exwaCm4uMNTm0uLsSqwyCtbw3bKpw5S2Q0iysAWgVg1Tlg1qjbebzfPvxL+YCNiEciXWiwmC8E9p1GpO7dzOsa2bUOfllVhGYWRM+9fewLvvgDK58uju3busWLGCJUuWcOfOHdR5eRifP05dGyss6tvQZehIDn6zhqz0NM4d2Ev71wZhYWX9+AdXsEM3DvHx4Y+5q7qrS+txL4u34ptxJP0DtPfDAWPNPVqdXooyKxGAk7WbMrf1IHKMCqY8/Ro5sHBAS2wsSl9HLJQPEbAJgiAIlc6NyPPsX7eSOzceujJakkCWMTQ2Qa1SgawlM/V2mQRrc+bMYdGiRaSnp/PKK68wdepUsi6c5qxGg2f7l3Rr1Vybt2ZPyH+5fOwIx7Zuout/Rj3ze5cXjVbDyrMrWfP3Gl2aoSwz6U4aTW+9xKHMd3TpZnmptDyzFPPc2wBsaejLhiY90EoGGCkkJgc04j+d3MRdoBVEBGyCIAhCpZGdkc6h79dzIfyAXrpNnbqk3UzEwMAAC6uyG+nKyMigZs2aAFy9epUuXbowdepU2rYtWFi/+0wE3d8LpplvN10dI1NTen00hfMt/yD+4vln6G35Ss1NZXL4JCJuFW7acFSrWZx0m7zUvhy+N0iXbpGVSKuzKzBRZaA2MOS/rfpzwLlg7buzjTkrglrToq7Vc++DUEjsEhU75YR/IfG9L1Q2slbL3wf2cmTTBnKz7unSjUxM6TDwTVITEzh3YI/eSFd+bq5upKul/ytPNdJ18+ZNFi5cyOrVqwkLC+OFF15Ao9GgUFSPa5TOJv/F+AMfkKTK0KW1z8lhXlIqF7JHcy7DV5deI+MqLc+twkidTbqJkpkvDiXKxhWAni2cmPtqc2qYVp2z5aoysUtUEARBqLSSYmPY/9WX3LpyWS/d48WOdHl7JJa2duxe+UWZjHTFx8ezYMECvvrqK9RqNUFBQdjaFiymrw7BmizLbDryGQtjfkZdZObyvbQMRuYaEW76FZdvFo6U2aRG0vz8WhRaFTE1ajOz3TBSzK0xMTRgRu+mvPFCPTEFWkmIgE0QBEGoEHnZWRzd8h1/7dmpu5MToKZjLfyGvYdb68KBhh6jSr+Ps5lvN71ArjQqlYq2bduSnp7O22+/zZQpU2jQoMGzdaISyY49zIxDE9lNFg9Oua2h0TAvLZsOLUaxN6ob1y4Ujrg5JJ+iycUNGMgajjo1Y1HbQeQamtDQQcmKoDZ41rKsoJ4IJREBmyAIgvBcybLMpf8dImzjOr2jOhSGhrzQZwDefftjZGxSJu916dIlvv32W2bNmoWxsTFff/01LVq00F3TVy0kXeDqgWmMzYrkqnHh1GWTvHyW1OmBXe8p7PjmBjevFAZrtRMP43n5RyRkfvDoyneN/ZElA173qseM3k0xM676o43VjQjYBEEQhOcmNTGBA1+v4vr9+0AfcG7eCr/h72NTu06ZvM+5c+eYM2cOW7ZswdTUlKCgIJo2bUrPnj3L5PmVQupVODiPPVd/Z6aNNQqVIc7pMjWyZfzzrAl07k/uRUN+2h1BhrpwtMwlbg/1Y38j38CQJW1eJ7xuayyMFcx9tTl9WpXN118oeyJgq4a2b9/OkiVLiIqKIjMzEwcHB1q3bs17771HQEBARTevREOHDiUsLKxMzm3LzMzkP//5D6dPn+bmzZsYGRnh6enJmDFjGDx48LM3VhCEp5avyuPP7T9x4tef0ajVunQLaxu6DBmBZ/uXymStVEpKCu+++y7btm1DqVQyefJkxo4di4ODwzM/+3mSNRo06eloUlNR30lFk3b/c2oq6lvxaKL/JP9WPCn5htjkWvF1rgxoijzhDjdMf+KvFmPIMS8M1tyvbMX5RiipJpbMbDeMaBtnujV25NNXGuNqZ/Hc+yk8ORGwVTPLli0jODiY4cOHM3HiRCwsLIiJiWHnzp2EhoZW2oCtLKlUKgwNDfn4449xdXUlLy+PH3/8kbfeeouUlBTGji19LYwgCGUv9sxJDqwPISOp8GYASTKgdUBPOgwcjIm5+TO/x+3bt7Gzs8PKyorY2FimT59OcHAwNjaV8zT+vJgYsv/8834Qdgd1ahqaO3dQp6WiuZOKJj0dHnuKgzGlrTLLMq/FmZZjUJnc32Aga2l06Xtq34rgorULC9u9TZeXmrLqpfo0sFeWZdeEciKO9ahmRxs4OzvTtm1btm3bVixPq9ViYGBQAa16vLIcYStN+/btuXfvHufOnSu396gqquP3vlD53L2dQti3a4k+/j+9dCd3T/xGjMLR7dkX/IeHhzNr1iwiIyO5evUqpqamyLJcaXc2yhoNt1eFcPvLL58gIHuK50qgsLLC0NaWO1YNOWXuj9agYB2gVtZwOe8K1wzzUdWwpqu/F293dMPBUlzYXtk86liPyvnbW/jHUlNTqVWrVol5RYO1B9MGHh4emJubU69ePYKCgkhISNCrM2PGDCRJIioqiu7du2NhYYGzszPr168HYOPGjTRq1AilUomvry8xMTF69V1dXRk8eDBr167F3d0dU1NT2rRpw8GDBx/bl+zsbCZPnoybmxvGxsa4ubkxZ84ctP/w4mdbW1uMjMRZQoJQ3jRqNSd/+4Vvxr2vF6yZWijpNvIDBs1a+EzBmizL/PHHH/j4+NClSxfOnz/P+PHjdfmVNVhT375N/MiR3F6x4omCNUXNmhjXssLMUYtl3RxqumcR30bF+m4SX/QxYGaQARNHGHFy3WganTuH6qc9rOkxjaPKnrpgTYXMFqWa04086Tu0F1vnDWJiQGMRrFVBYkq0mvH29mbDhg3Ur1+fPn364OHhUWK51NRUTE1NmTdvHvb29iQmJrJ48WI6duxIVFQUpqb6/zMPGDCAkSNHMmHCBFauXMnw4cOJjo4mLCyM+fPnk5+fT3BwMEFBQRw/flyvbnh4OKdOnWLOnDmYmJiwYMECevTowdmzZ/H09CyxfWq1mu7duxMZGcm0adNo3rw5ERERzJo1i9TUVBYvXvzYr4Usy2g0GjIyMti6dSt79+5l3bp1T/iVFAThUfJzc9m3Zjn+747ByKTw50VCVCT7163k9vVreuWbdu6Kz5tDMa/57Kfl/+9//8Pf3586deqwbNkyRowYgZmZ2TM/tzxl/fknCePHo0m5rUsza90a8xe9MbSxQWFji6GtDQobm4LXNw8j7Z8Kdwv+iM4wkPjU3o5w88J+2prastBnIVl3XXjz65PciUqjZ7YxivtnemRLMqdcDJkQ0IhXmjthpBBjNFWZCNhKcLFR5Zkqahx18anKh4SE0L9/fyZNmsSkSZOwtbWlW7duDBs2DH9/f105T09Pli5dqnut0Wjo2LEjzs7O7N69m379+uk9d+LEiQwZMgQALy8vfvvtN1avXk1sbCw1atQACk4ODw4OJi4uDhcXF13dpKQkjh49qttG7+fnh4uLC7Nnz2bjxo0l9mPTpk0cOXKE8PBwfHx8dPUAZs6cyeTJkx+7iPjLL79kzJgxABgZGbF06VJdHwRBeDaJl6OIOhpOM99uuDRvRfbdjIIrpcL265WzretM1xGjqNu42T9+L61Wy7Zt27h58yYffPABHTp0YMuWLfTu3RsTk7I5/qO8yFotd9asJWXZMngwOyBJ2L3/HnajRyM9fFhv5i3Y+RFE/a5LumhsxNhaTiQUKdravg0v24xn2o/pRN06QYs8Bb1yjDG4H6zlGUm0erMhE16sW2lHHIWnIwK2asbDw4MzZ85w9OhR9u3bR0REBNu2bWPz5s3MmjWLqVOn6squWrWKkJAQYmJiyMrK0qVfunSp2HN79Oih+7e1tbVu5+mDYA2gUaNGQMFJ4kUDtnbt2umdeWRpaUlgYCDHjh0rtR979uzBxcWFDh06oC6yo8zf35+pU6cSERFB7969H/m1eP3112nXrh23b99mx44djBkzBoVCwbvvvvvIeoIgPF7c/WM54v4+Q0ZyEod/+Ibce5m6fEMTEzr0D6LNK31QGP6zXzUajYYff/yROXPmEBkZSevWrRk1ahQGBgYMGDCgTPpRntRpaSROmkzW4cO6NIWNDbU//xxlp476hWUZTn8L+6ZBXuF5ab/Y1mJOTTNUcuEO0DY1+xL110scuhsPgHeuIZ1zC5d7mNmaMGR8WyxtxLRndSICtmpIoVDg4+OjG5lKTEwkICCAmTNnMnr0aKytrVm+fDkffvgh48aNY+HChVhbW6PVamnXrh25ubnFnmltrX+psrGxcYlpQLH6jo6OxZ7n6OhYbL1cUcnJycTFxZW65uzOnTul1n3A3t4ee3t7AAICAsjOzmbChAkMHz5crGUThGcUe+YEAGf2/IZapdLLc3+hPb5DR1LD7p8fpREWFsY777xDdHQ0TZs25YcffmDgwIGVduPUw7JPnyZh7DjUSUm6NDOvttRZvBijh38mpl6F34Ih9hAA1w0NOWRuxkFHN/5Up8P9YM1QMkN9awDhF5sA+SBD51xDvPMKf57ZO1vSa0xLzCyNy72PwvMlArYSPO00ZGVXu3ZtRowYQXBwMNHR0Xh7e7N582b8/Pz01oLFxsaWy/snFfmBVTStTp3SD2i0tbXFzc2NLVu2lJjv6ur61O3w8vJiw4YNJCUlUbdu3aeuLwj/Vts/n0XMKf21qdL9wOnhYA0KpgH/SbCWl5fH3bt3sbe3x9bWFktLS7Zu3Urfvn2rTKAma7Wkrl9P8pIvQFM4KmY7ciT2wR8iFR1t1KghYiX5B+dyylDLIRsrDpuZce3BbQXqdF1RbV4t0m+8iawq+CNUkqF3vikeeYXTnXU8rHjl/RYYm4lf7dWR+K9azcTHx1OvXr1i6VFRUQC6HaTZ2dl605mAbudnWYuIiNBrV2ZmJjt37iQwMLDUOgEBAWzduhWlUqmban1W4eHhKJXKKneApiBUtE6DhpB87SpZ6WloNQVLFOQSdmsrjIywqGlNp0FPt1Y0JyeHr776is8//5yXXnqJH374gebNm3Py5Mkqtf5Kk55O4pSPuRcWpktT1KxJ7c8XoOzcWa9sStwhDv8xiUOqFI7VsSX7EQFpfnpbcm/1Ablg1Mzd1pyBanPy4wqXsri1tMN/RFMMjcSVUtWVCNiqmWbNmuHr60u/fv1wc3Pj7t277Nq1i5CQEAYOHKhbSxYQEMCCBQuYO3cu3t7ehIaG8vPPP5dLmxwdHfH392fGjBm6XaJZWVlMmzat1Dpvvvkm69evx8/Pj/Hjx9OyZUtUKhUxMTHs2LGD7du3Y17KYZurV68mIiKCrl27UrduXe7cucOWLVv4+eefmT9/VcfY2wAAIABJREFUvm7qVhCER5NlmeTYGM6H7UeVm6ML1kpiaGJCgzbedH8vGCPTJ1s7de/ePUJCQli0aBFJSUl06tSJYcOG6fKrUrCWc/YsN8aORZ14U5dm1qoVdZYsxqh2bTRaDefvnOfw9YMcuvQLF/PTwAgwKv5zTJKNyL/njvqeJ+p7jZDVBTtr27pYM7KdC7lhySTEpOnKN2pfC9/Bjf6fvfMOq7Lu//jrPudw2AIyRWWpiIq5ERfDidpQS0srS8v0p0+Z5Sgf9dHQxMo0SzN9etSstMzcM/cC90xwIrIEZe+z7t8fBw8cD8gxoRz367q4kO++j4z3+Xw/A5kUBfpEIwm2J4w5c+awdetWpk2bRlpaGnK5HH9/f6Kionj//fcN46ZNm0Z2djbz5s2juLiY0NBQduzYgZ+fX7WfKTQ0lLCwMCZPnkxSUhJNmzZl27ZtlaYcAX1U544dO4iKimLJkiXEx8dja2tLgwYN6Nu3731FV/PmzdmwYQPjx48nMzMTFxcXmjRpwubNm+9r1ZOQkNBTmJNN7KF9XNi3yyQ9R0UolEo6DXyVts8NeKB9Zs2aRVRUFN26deOXX34h9B4r1OOAKIpk/fADaV/MBbXa0F572DCs/vU2u9OPceDgNxxKPkRWSVal69gIrhRm+1OY44+20A9E/bWoIEDPpu4Ma1sfm1QVf25IJOtWoWFei2716fRiQwTZ4yNuJf4aUqUDKdt7jeLj40Pnzp358ccf/+mjSJRD+t6XuBetRsP108f5c99u4k8fR6fVmoyp5eqGlV0t7tyMR6fVoVAq0ahUyBVyArv2pPtbo++7R2ZmJgsWLCAsLIywsDBu3bpFfHw8HTp0qKnHqlG0ubmk/vvf5P1RLpWJvS2x/9eDjZ6pnEk/g1Y0fR0BFKJIM40Fd4o7czm9NTqVK1AmupQKGS+18KR3bUeyL2aTGJuJqDP+e93+BT/aRHg/VpZIiftzv0oHkoVNQkJC4inmdkI8f+7fxcWD+yjKzTHpVygtadS+I4Fh3XGqU5f/vvsWgiBQy8WVsDdHsHf5Egqyszi/ewcdXhyMraOTyRrp6enMmzePhQsXkpenT/0RFhaGh4dHpZVZHnWKLvxJ8vvvo05KMrQl1FXy2fPF3JZvBtNYK2prtXQpLCK4SMuh3Of5Rd0L8Z6CQ/WdrHmxnguNimUkH87gXLFpRLzcQkaXQY1o1qXywC2JJw9JsElISEg8ZRTl5RJ7aD9/7t9Fevy1Csd4Nm5Ks9BuNO7QxVCcfdd/F6LTamncoYvBV82neSu2L57P5ehDRK9dZWJl+/TTT5k5cybFxcUMGjSIf//73zRv3rzGn7GmEEWRG8u+pfDLRcg0ZdazbW0EVnbVolEYW7sCS0oIKSyiS2ExTVUq9mlbMkU9nBRcDGPsLBW84OtCa9GS/Ms55Mff4UYFe9dp6EDj9h40aO2Gla2UmuhpQxJsEjVKTRZzl5CQMB+dVsuNs6e4sO8Prp04VmEAgV1tZ5qFdqNpSDdqe5pab9QqFb1GjSUwvIehzcLKiufe/4gLLf4gMfYCADdv3qROnTpYWFhgZ2fHwIEDmTx5cqWl6B511Do1Z9LPEH15N+7f/M4z5/IMdrFCS/i2j4yjAfoWOws7OtjWp/ON04Tk3MGlNJo2Q7TnffUINuo6AgKCAOHeznS1tkWRWERGTA63Ktjbwc2axu09aNzeg1ouj3b5LYmaRRJsEhISEo8ZldXxrIiMpJtc2LeL2IN7Kcg2dXqXW1jQsF0HAsO649W8BTJZ5Wkheo8eV2lfYHgPrL38GDFiBCtWrGDp0qW88cYbvPfee+Y/2COEKIrsT9rPpmubiE6JpnZSLuPWafEs9xLGu8OX/eTY+jbgzXohtLVphO/e7/C6vMNorXXaTnyifp0satHI2YZ+rrVxz9KSfi6HHF0h92Jla0Gjtm74B3vg7lNL8lGTAMwUbIIgCOKTHJ0gISEh8Rhxbx3PeynOz+dS9AEu7NvFrauXK1yjTsPGNAvrRuOOIVjZ2j3UeeLi4vj000/5+eefUSgUjBw5kq5duz7Umv8k17OvM/vYbGJSY0AU6XZGZNgfOpTl4gfOda6D7t03+Z9POPG3lKTvXkjbtBHYCmWVXpJFZ/6tfovTyna86ONMQImc7Ms5qK9lmLi4yRQCvs1d8G/vgXegM3KFlKJDwhhzLWwJgiAsBb4XRTGlJg8kISEhIXF/7tbxvHn+jEGw6XRabp47w4X9u7l6PBptuRQTd7F1dKJpSFeahXbDuZ6XSf9fQRRFXnnlFa5cucLYsWMZP348derUqZa1/24K1AUsPruYHy/+iEbUYKkSeWebji4Xy+wVOmtL3Gb8h9btu/PbqSTWbd7NhJKFDJRdNgR56kSBH3U9OO0xhu4WToRdz6fgeA63K9hT8kuTMBdzBdse4CNgqiAIm4HFoijurLljSUhISEhUxt06ntdPHadZWA99lOeBPeRnVhBRqFDQoE17moV3x+eZ1sjkD58J/+TJk3z55ZcsWrQIBwcHVqxYgaenp6F27+OGKIpsjd/K3BNzuV2kl1X1b4t8sE5L3XIvqaJhI04Nm8hPN+HikT2MlG9mpeJ3LGVl/oBXxCYcc56KIseFhucLyMH0/0TyS5P4K5gl2ERRfFMQhLHAG8A7wHZBEOKBJcAyURTTa/CMEhISEk8tFdXxlJXWo7yTeJNl40ZWOM/dryHNQrsR0CkUa/taFY55UKKjo4mMjGTbtm04Ojpy9uxZQkJCaNGiRbWs/09wKfMSs4/N5mTaSUNb2DkdI3aCRTkj5YUWoUz3iaDgeA7NhetsUi6hiewmAGpRybWSYP60GEpahjNiGkCB0T6SX5rEw2J20IEoijnAAmCBIAhd0Au36cAMQRDWo7e67auJQ0pISEg8rXQePJT0hOsU5mQbrjl1mrsWHWPXYkEQaNIljLbPDsDV27fazlBUVMSzzz7Lnj17cHFx4dNPP2XMmDEm9YgfJ3JVuSw6s4jVcasNyW2VapExu5V0OF1kGFcsV/JNiwHs9mqLFSVMVvzEW/KtyICkkuZcKg7lWkln1DpLkz0kvzSJ6uSvRokeBlyBhkB74FlgoCAIJ4E3RFGMrabzSUhISDzVuNT3Ztjcb9n45afcOHcaKoj/EmQy6jQKoP/EaVjZPVwAwV1EUSQ2NpamTZtibW1NvXr1mDt3LiNHjsTW1rZa9vgn0Ik6NlzdwPxT88kszjS0e2XImLrFBofkbEPbTXs3ZrUbys1aHnSQ/UmUYiluFHM8fwiXisLI17lUtIXklyZRIzyQ3BcEob4gCJ8AicCvQDbwAlALiACsgRVmrDNaEIR4QRCKBUE4WWqxu994pSAIn5TOKREE4aYgCI9nrPjfwPr16wkJCcHNzQ1ra2u8vb3p168f27dv/6ePVilvvvkmPj4+NbL2qlWrEASBevXq1cj6EhI1iU6r5fSOzSRePF+hWJNbKAkZ8iaDP/msWsSaKIps2rSJ4OBgWrRoQUJCAgArVqzggw8+eKzF2p8Zf/L6tteZdmSakVjrd7kes5ZhJNYSvNzJ7ubAFy7fcdpqFCsUc0kvDGPl7W85WfCSiVhzcLMm6DlfXp/ZgQHj29CsS11JrElUK+am9XgOGAn0AnKAZcC3oiheLzfsD0EQPgC2VLHWy8BXwGjgUOnnbYIgNBVF8WYl01YB9dFfw14B3NGLQ4l7WLBgAWPHjmX48OFMmDABW1tbrl27xpYtW9izZw8RERH/9BH/VrKzsxk3btxjW/5G4unm9s0b7Ph2PmnXr5r0KZSWaFQqEHVkp1eUcvXB0Ol0/P7778ycOZOzZ8/i6+vLokWLHtuIz/JkF2ez4PQCfrv8G2K5a2THYmvGbZHR5PINQ5sgF/FonUOAXwqCAFpRwZ8FPThRMIginaPRupJfmsTfiblXohuA48DbwGpRFEsqGXcN+KmKtT4AlouiuLT063cFQYgA/g/4+N7BgiD0BLoDDURRvFPafMPMcz91fPHFF/Tr14/vv//e0Na1a1dGjBiBrjTj9tPExIkTadGiBXXq1GHXrl1VT5CQeATQatQcW/8bMb//YlKRQCaXY+fkbHYdT3NJSkpi8ODB+Pn5sXz5coYMGYKFxWNsIRJFtHkprD2/nAXx68nRluVHsxBFRifkEbatCHV22TMq7TXU7ZSJlaMGURS4XNSZo/lDyNUav+Fz8rAh6Dk/fFu4SH5pEn8b5n6ntRVFsb0oiivuI9YQRfG6KIrDKusXBEEJtAHuTQmyE+hYybR+6MXiB4IgJAmCcEUQhAWCIFSPo8YTRmZmZqXWJJms7L/79u3bjBw5En9/f2xsbKhfvz5DhgwhOTnZaM706dMRBIG4uDh69eqFra0tXl5eLFu2DICVK1cSEBCAnZ0d4eHhXLtmXJfQx8eH1157jaVLl9KwYUOsrKxo3bo1e/furfJZCgsLmTRpEr6+viiVSnx9fZk1a5bZwvPw4cP8+OOPLFy40KzxEhKPAmnXr/LTx+M4suYng1iTW1jg0VBf1qlRUEfenLuIRu06MGzutzRsF4xOqyV67aoH2ketVrNs2TJGj9bX/vTy8uLQoUNcvHiRN9544/ERaxoV3L4EsZvg4FxYNwqWduXMXF8Gr+5K5NXVRmKtc0ERaw5l0mWNlZFYq+VViE/P21jWdSbB8XV+LVrGHzkfGIk1OydLug4N4JVp7WnYxk0SaxJ/K+Za2BIFQfAXRdEkZbYgCP5AZjnr1/1wAeRgkuQ5Db0VrSL8gM5ACfAi4Ah8DXgCL1VwnnfQX53i5VU9iSEfJ4KCglixYgV+fn688MIL+Pv7VzguMzMTKysrZs+ejaurKykpKcydO5dOnToRFxeHlZVxuZuBAwcyYsQIxo8fz6JFixg+fDhXrlxh3759REVFoVarGTt2LEOGDOHoUeMUBPv37+fkyZPMmjULS0tL5syZQ+/evTl79myltQU1Gg29evXi4sWLTJ06lebNmxMTE0NkZCSZmZnMnTv3vq+DWq3mnXfeYcKECTRs2PABXkEJiX8GjUpF9NpVHN+4FrHcm5I6jRrTa9T7HNv4Gy26R1RZx7MqSkpKWLZsGVFRUSQkJNCqVSvy8/Oxs7Ojffv21f5c1UZJPqTHwp3LpR9X4M4lyIwHsawEQYZMxvzajmx1tKNOJnTI1OGZAQ3v6HgmXYNljhyVxqFsXbkMjzcjcHzlFdIKPInZmkZyXLbR1pa2CtpE+NA8rC4Ki4fPYych8VcwV7AtAjLR+7HdyzjAGRj0APve6zkrVNB2F1lp35DS1CIIgvAvYIcgCO6iKBqJP1EUl6DPD0fbtm3/UjmthaP2/JVpNcKYxQ9W3mXx4sW89NJLTJw4kYkTJ+Ls7EyPHj0YNmwYPXv2NIxr3LgxX331leFrrVZLp06d8PLyYtu2bfTv399o3QkTJjB06FAA2rZty6ZNm/juu++Ij483hPanpqYyduxYEhIS8Pb2NsxNS0vj8OHDBgHdrVs3vL29mTlzJitXrqzwOVatWsWhQ4fYv38/ISEhhnkAM2bMYNKkSbi5uVX6OsyZM4eSkhI+/tjkll1C4pEj5XIcOxZ/RWZyoqFNobSk8ytDadX7WWQyeZV1PMsLuco4duwYAwYMIDk5mfbt27Nw4UL69Onz6PpeiSIkHIZTK+HietAUm3RrimSo8pQU5Sr4s8Sa9HxLumfBkBxtBQsqKG+ft6hfn7rz51Hs7MP29de5fuaS8WgLGS261adVTy8sbR4Ti6PEE4u5gq0zMKaSvp3AN2aucwfQAvfe2blhanW7SyqQfFeslXI3bYjXfeY9lfj7+3P69GkOHz7Mzp07iYmJYd26daxevZrIyEimTJliGPvtt9+yePFirl27RkFBWZLHS5cumazbu3dvw7+dnJxwc3OjVatWRnmYAgICAEhMTDQSbMHBwUbWTnt7e/r27Ut0dHSlz7F9+3a8vb3p2LEjGk2ZD0/Pnj2ZMmUKMTExPP/88xXOvXr1KrNmzWLdunUmlkIJiUcJdUkxh3/5kZNbNxhFgNZrGkjPke/h5OH50Hvk5+eTlJREQEAA/v7+tGjRgmXLltG9e/dHV6jlpsLZn+H0j5B5HZ0GVPkKVLlWlOQqUOUpUJV+1mnKriXdSj+qQlarFvY9e2A7chzR+9KJO3LUKABXkAk07exJu74+2DqY5leTkPgnMFewOaGPDq2IXPQWtioRRVFVmqutB7CmXFcPYG0l0w6jz/FmJ4pifmnb3Xu+BHP2fdqQy+WEhIQYLFMpKSlEREQwY8YMxowZg5OTE19//TXvvfceH3zwAZ9//jlOTk7odDqCg4MpLi42WdPJydiZWalUVtgGmMx3d3c3Wc/d3d3EX6486enpJCQkVOpHk5FhWu7lLu+99x5du3YlODiY7Gz91YZKpUIURbKzs7G0tMTaWgoylvhnSbx4np2LF5Cdlmpos7CyJuTVYbToHoEgezj/qJycHL755hvmzZuHp6cnZ8+exdHRkS1b7hvI/48halRojq5Bte9nVLGnKcmVl4oyN9QFcgyFOs1dTxBQ1q+Ppa8vSj8/lL4+WPr5ofT1RW1pz+kdNzn32Xm0amOf2IZt3Gj/vB+O7jbV93ASEtWAuYItCX2C3N0V9LVHbwUzly+BlYIgHEMvxkah90dbDCAIwg8AoigOLR3/MzAVWCYIwnT0PmxfAb/VVEmsB72GfNTx9PTk7bffZuzYsVy5coWgoCBWr15Nt27djHzB4uPja2T/tDRTI2haWhp169atdI6zszO+vr78+uuvFfbfL2fbxYsXSUhIMBGUoBeeY8eOZf78+VUfXEKiBlAVFXJw1QrO7DAWTt7PtKLnO+9Sy9UcG1HlZGZmMn/+fBYsWEBOTg59+/ZlypQpj4w1TVdSgupGAqr4eFTx1ymJO4cq9iyq1Ex06rtndLjvGuXJt4KU2pDiLJDuYsEzbXrTo8sb2Pg2QFb6JvIuapWWs3sSOb3zT0oKjaNv6wU40aF/A9y8H9/qDRJPNuYKtt+AyYIgnBVF0fBbRhCEvuiLwn9r7oaiKP4iCIIzMAWoA1wA+oiieNda5nXP+HxBELqjDzQ4DmQB60v3lbiHxMRE6tevb9IeFxcHYIggLSwsNCkrczfys7qJiYkxOldeXh5btmyhb9++lc6JiIhg7dq12NnZGa5azWX16tUmVr6oqChOnjzJmjVrpAS6Ev8YN86d5o8lX5N7u+y9pqWNLWFD36ZZWPVcUW7YsIHIyEgGDBjAlClTaNWq1UOv+TCIokju5s3kbNqE6no86uTkChMA38+CpkUgzbY2iXZupDhZcKteArfc80lxhhwbQBCI8Ingw7Yf4mFrGiWv0+qIPZLK8c3xFOSojPpcvezp0L8B9ZvUfsgnlZCoWcwVbJ8AIcBGQRBuAclAXfS+aDHAjAfZVBTFRegDGSrqC6ug7RLQ03S0xL0EBgYSHh5O//798fX1JTc3l61bt7J48WIGDRpk8CWLiIhgzpw5fPrppwQFBbFnzx5+++23GjmTu7s7PXv2ZPr06YYo0YKCAqZOnVrpnFdffZVly5bRrVs3PvzwQ1q0aIFKpeLatWts3LiR9evXY2NT8ZVFcHCwSdvy5cuxtLQkLCysuh5LQsJsigvy2b/yf1zYa5zRyK91O7qPGIN97YpLHJlDSkoKn3/+OY0bN2bUqFG89tprBAUF0axZs4c99kOjycwkdeo08ndXdDljimAhkm1vx0Vbb+LsvUmycyPJzpVUWxd0Vvl4+O4kV37q7mgAGjg0YHL7yQTVCTJZTxRFrp26zdGN18lOKzTqc3CzJviFBjRo5YogezSsjxIS98MswSaKYqEgCKHA6+j9zZyBq+gDDn4URVFzv/kSfx9z5sxh69atTJs2jbS0NORyOf7+/kRFRfH+++8bxk2bNo3s7GzmzZtHcXExoaGh7NixAz8/v2o/U2hoKGFhYUyePJmkpCSaNm3Ktm3bKk05AmBhYcGOHTuIiopiyZIlxMfHY2trS4MGDejbt6/BX05C4lHn2slj7PrvQvIzy/wurezs6TpsJAGdQv+yVS0hIYE5c+bw/fffo9Vq+eCDDwD9z86jINbyDx4kZfJktLfvyfgkiFjYalHaa7CspUFhr+OcnR+/2YSw3SIIrVD2Z0kpl9GxkQMt3A4RnfkrudqyNKB2FnaMbjmaVwJewUJm6uuaFJdJ9LprpCfkGbXbOChp19eXJp3qIJdLedQkHh8EsULT9JNB27ZtxRMnTlTaHxsbS5MmTf7GEz19+Pj40LlzZ3788cd/+igS5ZC+92ueorxc9q5YSuxB4yTR/sGd6Tps5ENVJfjyyy+ZNGkSgiAwbNgwJk2aVCNvtv4KuuJi0j/7nKyffzZqd2pUgFPDAizsNMjkcFX05BdNGOu0XbhTzmfNRiknPMCNXs08sLS/xIIzX3Azz7hq4fMNnmdcm3G4WJtaJm/fzCN6/TUSL2YatSutFbTu5cUz4fWxsJRyqUk8mgiCcFIUxbYV9Zl7JSohISEhcQ/q4mJ2LvmaniPfxcKyLIXM5aOH2f39txTmlCVgtXFwpNtb/4d/+05/aa/Y2FicnZ1xc3OjRYsWjBo1iokTJ1bos/pPURyzi+SPpqC6VZZUQG6lxTMoGzvPEgqxZL2mM7+UhHFKbMTda00LuUC3AHeeb1mHVj4WZJaks/jsbPad2We0fkDtACa3n0wrN1O/vOz0Qo5tvM6VE8axaHKFjObh9WjTyxsrOymXmsTji9mCTRCEXugjOhsD9ya3EkVRbFCdB5OQkJB41Em5HEfc4f0EhvfAu3lLCrKz2PO/xVw+ethoXJMu4YS/MQJr+wePQDx37hwzZ87kt99+Y8KECcyZM4du3boZEkn/46iLEf/cSOZ3C0jffwd0ZVe8dnWLcG2XwyFrP9YIbTgk+FFiqUImT8VScQVnBxXOtVTILfK5pMpi8ukstKdME97aK+15r9V7DPQfiFxmbB0ryCnhxNYbXDyYgk5XdmMkCBDQoQ7tnvXFvraUj1Hi8ccswSYIQh9gE7ALCAC2AzZAJ/S50A7W1AElHm9u3LjxTx9BQqLGSDh/Rv/53BkKc7LZs3wJxXm5hn47p9p0H/EvGrQxdYivihMnTjBz5kw2bNiAvb09H3/8MePGVV7t4O+kSFNE5s0jZJxfTdbZPdjulWGbquCuxUylENkQLrCppQPFCntABUQjI5ryGRDzgLxC0/XvIiAwoNEA3mv9HrWtjKM4S4o0nPnjJmd23USjMs6l5tvCheAXGlDb07Y6HldC4pHAXAvbVGAh+jJUamCKKIqnSuuI7gC21dD5JCQkJB5Z4k8fB+DMzi2oi4uM+gLDexL6+nCsbO3+0tpffPEF+/fvZ/r06bz33nsV5hWsbkRRJDYzlqS8JDKLM8koziCjSP+Rn1VMSZaW7JIMikQVOkFHi+taBhz2hhIthdYigqjlhquO//WENCcRHTostDp06BAFLTpBBOH+ftP2SnucrZzxdfBlRPMRNHdtbtSvUWu5sD+Zk9sSKC5QG/V5NnKkQ/8GePiZn8dNQuJxwVzBFgBMA3To63oqAERRvFyazHYqUHGGUwkJCYkngPWfRXLt5FGjtrvVCO4VawBFuTlmizVRFNm3bx+zZs1i/vz5BAYG8uWXX2JnZ2eSL7GmiM+JJzImkuO3jhu1Oxa50SYxglYZrRAwjao839J0rd7XKt9HRASZiCADQRAQ5AJymYBcLkculyGTyRDkAjKZwIVDhfwpHEMmFxBk+ra8jCKTXGrOde0I7ueHd6DzI5MgWEKiujFXsOkAjSiKoiAIt9Entz1W2pcCSP5rEhISTzSdBw8lPeE6hTnZaNV6y46o05mMk1tYYOvgROfBQ0367kUURXbu3ElkZCSHDx/Gw8ODmzdvEhgYiKfnw9cRNQeVVsX3F75n6bmlqHVlFiuHIlfaJPWi4Z02yCoQan8VAUHv56bTv/sX1aBDRM2DZ4eyd7ai/fN++Ldzl3KpSTzxmCvYLgE+pf8+AbwvCMJhQAN8CNyo9pNJSEhIPEI41/Oi65sj2fHtVwbBdi8KS0satA6i16ixWFjd39FdFEW6du3Kvn37qF+/Pt988w3Dhw//W+vcnkw7ySfRn3A957qhzbHYmYiE7jhktkfA2MHfXn0DoVCHKMhAkCEKMvKUtuRbO2BraYGNUo4cAZ1ORNSK+s860ejr6sDa3oK2fXxo1rkucgspl5rE04G5gu0n4G7Spv+gDz5IKv1aCwyp5nNJSEhIPDLcvHCOI2t+JDnuYqVjFEolnQa+StvnBlQ6RqfTsWvXLnr06IEgCPTp04chQ4bwxhtv/K3JoHNKcpgX8ylrb2w1tNkX16bbzW7UyQhGvOdPg4fsLM5xe3FPuWJoy1PacLT/SNq83odgP2dkZli4RFFEFDERcTqtiCiWfi792kjslWsTBAGX+nZYKKVcahJPF+ZWOlhY7t8nBUFoDkSgjxTdJYpi5b/FJCQkJB5TkuL+5MivP5H45znjDkFAQC9AFEpLNCoVok5HdvqtCtfRaDT88ssvzJo1i9jYWPbu3UtYWBgTJkyo+Ye4i6oQMeEwO/78iaisU2TI9NYu2xJHgpJ60Dg9GFBQ3gYms0hEk3GWBmf+wFJXdmVZ0LwNAfM+I6jeg13bCoKAIACye213EhISVVGlYBMEQQn8H7BbFMULAKIoJgH/reGzSUhISPwjpFyO48ian0g4d9qoXSZXENCpC3GHDyAIAraOtQl7cwR7ly+hIDuL87t30OHFwYYqBmq1mh9//JFPP/2Uq1evEhgYyOrVq+nSpUvNP4ROB2kX4PpeuLaH5KSjzHSy45CNNcjAtsSBVsndaZreAZlonFD2lqKYE7JCBp9ZR7v0S2UdSiXu4z/E6bXXDAEXEhISfw9V/sSJoqgCooDaVY2V0KMuLmYy1S4xAAAgAElEQVTLgs9RlxT/I/uvX7+ekJAQ3NzcsLa2xtvbm379+rF9+3YAoqOjEQSBH374wWieVqvF3t4ehUJBXp5x/b0tW7YgCAKbN2822e/tt99GEARDLcPKiI6O5pVXXqFevXoolUpq1apFu3btmDp1KqmpqVU+l4+PT+k7dNOP+fPnVzn/UcXHx4fXXnutynFvvvkmPj4+NX+gp5hb167we9R0Vk0dbyTWBJmM5l17Mnz+d1hYWqHTamnYrgNvzl1Eo3YdGDb3Wxq2C0an1RK9dpVhnkajYfLkydjb2/P7779z9uxZXn75ZeTyGrIv5abCmZ9h7QiY6w/fdUHzxzSW3zlJ/zrOHLKxxlplT8f4/gw5PZXAtBAjsZYk17LatoQreeeZvn+OkVizbNwY39/WUHvoUEmsSUj8A5jrwxYL+AEHavAsTwz3Zj//O1mwYAFjx45l+PDhTJgwAVtbW65du8aWLVvYs2cPERERtG3bFhsbGw4cOMDQoWWRbKdOnaKgoAArKysOHz5MRESEoe/AgQPIZDI6d+5stF9RURFr1qwB4KeffuKzzz5DoTD9tpo7dy4TJkwgPDycmTNn4ufnR35+PkeOHGHJkiWcOHGCbduqTufXq1cvpk+fbtIuCRmJhyH9xnWOrPmJayfuSdshyGgaEk7wgFdw9KgDgFqloteosQSG9zCMs7Cy4rn3P+J4403893//Y8byVezZswdra2tiYmLw8vKqmXQTqkJIOALX9ug/bscadf+pVDLDpTaxlkqs1HZ0uNmdpmmdsNAZ+8ulyHUcslKTY1HCtJs7aXLKuP5p7eHDcX1/LLK/0c9OQkLCGHMF2zTgq9KipOdr8kBPAnezn988f+ZvF2xffPEF/fr14/vvvze0de3alREjRqArTUFgYWFBcHAwBw4Y6+8DBw7QrFkz3N3dOXDggIlge+aZZ3B0dDSas27dOnJzc+nTpw9bt25l+/btPPvss0Zj9u7dy4QJExg7dizz5s0z6uvTpw8ff/yxQfRVhYuLC8HBwWaNlZCoijs3b3Dkt5+5cvSIcYcgENAxhA4vDaG2Z12jrt6jTasN5OXl8e233zJ37lzS09MJDQ3l9u3beHp64u3tXX0H1ung1jnDNSc3Y0CrMhlWIAh84+TAz7XsUWrsaJ/QlcBbXbDQWRqNSy0VaoVOFrxfT6TtT9+iTSwrtK5wd8dzThS20s+chMQ/jrl27UmAHXBaEISrgiAcFAThQLmP/TV4xseOu9nPr586XsXI6iczMxMPD48K+2TlrjFCQ0O5cuUKt26VOUkfOHCALl260LlzZyMxV1hYyMmTJwkJCTFZc8WKFTg5ObF8+XKsra1NrlkB5syZg4uLC3PmzKnwXLa2trz55pvmPmKV3L1iXL16NU2aNMHW1pa2bdty6NAho3HHjx+nR48eODs7Y2Njg5+fH6NHjzYaEx8fz6uvvoqrqyuWlpa0bNmSdevWGY2ZPn06giAQFxdHr169sLW1xcvLi2XLlgGwcuVKAgICsLOzIzw8nGvXKs4qunTpUho2bIiVlRWtW7dm7969FY4rT2FhIZMmTcLX1xelUomvry+zZs0yiHOJislITmTzV5+xYuK7JmLNv0MX3vxiIX3fm2Ai1iriypUr+Pj4MGnSJFq2bMmBAwfYt29f9eVRy0mG0z/Cb2/BFw1hSSjsmg7xB0zFmlzJPp829GsQwBobD9omPsuQU9NoldLdSKzdkutYa1vCER85o14KYKNDHK0+n2gk1ux7R+C3Yb0k1iQkHhHMtbBpASkStAIqyn4uL70SzEpNZu7LxtamBm3a02/i1Bo7T1BQECtWrMDPz48XXngBf3//CsfdFV8HDhxg0KBBiKLIoUOH+Oabb3Bzc2P27NkUFxdjZWVFdHQ0arXaRLClpKSwa9cu3nnnHVxdXenXrx+///47WVlZhjI6Go2G/fv3M2DAgGpJWyCKIhqNaYLNe69hDx48yKVLl4iMjMTKyoqpU6fy7LPPcuPGDRwdHcnPz6dXr14EBQWxfPly7O3tuXHjBkeOlP3xTkxMpH379ri5uTFv3jxcXV355ZdfePHFF1m/fj3PP/+80Z4DBw5kxIgRjB8/nkWLFjF8+HCuXLnCvn37iIqKQq1WM3bsWIYMGcLRo8bfM/v37+fkyZPMmjULS0tL5syZQ+/evTl79iyNGzeu8LXQaDT06tWLixcvMnXqVJo3b05MTAyRkZFkZmYyd+7cv/oyP7Fk3Uoh5rdVxB7ajygai9qG7TrQceAQXL19q1wnIyODs2fP0rVrVxo0aMCQIUN47bXXaN++ffUcVKeDC7/BoXmQXsWvXtcAaNCV9PptiEo7wP74GJ5JCqNPahhKrXEuuHSZjsPWamx97JgQ1owwexVpH31E1pkzhjEyW1s8pk2l1vPPS1UDJCQeIcxN6xFWw+d4pLhXZD0o2lJBoa1AWFw7efSB1v/wF1Mn//uxePFiXnrpJSZOnMjEiRNxdnamR48eDBs2jJ49exrGBQcHo1QqDYLtwoULZGZm0qVLF5ycnNDpdMTExBAWFmawtt0r2FauXIlOpzP4wb3xxhusWrWKX375hVGjRgH6P2zFxcV4eXmZnPVe4VWR79u9/Pzzz/z8888m7cePH6dt27aGr3Nzczlz5oxBOHp4eNCuXTu2bt3KkCFDiIuLIysri88++4xnnnnGMK+8pW/69OmIosj+/ftxdnYG9D50iYmJTJs2zUSwTZgwwfBatG3blk2bNvHdd98RHx9vKC+UmprK2LFjSUhIMLoqS0tL4/Dhw4bXqVu3bnh7ezNz5kxWrlxZ4WuxatUqDh06xP79+w3/N926dQNgxowZTJo0CTc3typf0ycJdXExO5d8Tc+R72JhWSZWctJvEb12NRcP7DGpTuDXJoiOLw3B3a9hleunpaUxd+5cFi1ahFKpJDk5GWtra77++uvqe4iEaNgxGVJOVdxv4wJ+YdCgKzQIR2fvwZpLa1h47Bv8brbl1dRpWGptjKbcluk4YqXGvakTn4Q1JNivNrnr1nNz1ix0hWXV163btMFzzhyU9aq2LEpISPy9mGthk3hM8Pf35/Tp0xw+fJidO3cSExPDunXrWL16NZGRkUyZMgUAKysrgoKCDGLswIED+Pj4UK9ePQBatWrFgQMHDIKtSZMmuLq6Gu31ww8/0KhRIzp06ABA9+7d8fT05IcffjAINlGsOLP5rVu3qFOnjlGbWq2uUrT17t2bTz75xKS9adOmRl936NDBqFh28+b6AtI3b+qvfBo1aoSjoyMjR45kzJgxhIaGUr9+faM1tm/fTp8+fXBwcDASl7169WLChAnk5uYa1Xns3bu34d9OTk64ubnRqlUrozEBAQGA3npXXrAFBwcbiVp7e3v69u1LdHR0pa/F9u3b8fb2pmPHjkbn69mzJ1OmTCEmJsZEVD7p3Bvwk3snnaO//8qFfX+g02qNxvq0bEPHgUOo07BiC2Z5UlNTmTNnDkuWLKGkpIRXXnmFyZMnV29Vgszr+qvOixuM2+VK8OoADcL1Is29OZS6N1zJukLkpuFwvjYvpHyIldbWaGqGTEe0tYYGrV35MqwhgXUd0GRlkfL+OPJ27iwbqFDg+q9/4TzibYSaimCVkJB4KMwSbIIgmDov3YMoilIE6SOCXC4nJCTEYHVJSUkhIiKCGTNmMGbMGIOQCQkJYfbs2WRlZRn81+7SpUsXDhw4gEql4ujRo0bRpKC3aF28eJFJkyaRnZ1taB8wYADffPMNly9fxt/fHxcXF6ysrAxC6S4uLi4cP6738VuyZAlLly4169lq165tZEm737jyWFrq/XeKi/WpVhwcHNi7dy+RkZGMHj2avLw8mjVrxowZM3jxxRcBSE9P54cffqjQLw/01sPyYqy8QARQKpUVtpU/x13c3d1N1nd3dyc5ObnSZ0xPTychIQELC4sK+zMyMiqd+6RyN+DnyvForh6P5vzuHSaWbq/mLek48FXqNm5S0RJGiKI+s35iYiILFy7k9ddf56OPPqrU1eAvUZQNB7+Ao98Z+6TJLaHDGOj8Plg5GE0p1hSz5ORSTuyJ55nkAVhrjIvMZ8p0HLPR8kzHOiwObYC3s17I5R8+TOpHH6O5fdswVunjg+fnn2PdPLD6nklCQqLaMdfCtg+oqgjcE/O27EGvIe+y678LubD3D7QaLQqlEo1KhVwhJ7BrT7q/NbrqBWoIT09P3n77bcaOHcuVK1cICgoC9ILt008/5eDBgxw8eJAZM2YY5nTp0oXFixdz5MgRioqKCA0NNVpzxYoVgD6goKJggh9++IGZM2eiUCgICQnhjz/+QKVSGQSLQqEwCK+Kcrv9HbRs2ZK1a9ei0Wg4ceIEs2fPZtCgQZw9e5bAwECcnZ3p0qULkyZNqnB+dRbnTktLq7Ctbt3Kr6acnZ3x9fXl119/rbD/aUx1cvVEDABnd2wx6avXJJCOg16lftPmVa9z9SqzZ89GqVTy7bffEhQURGJiYqUBPX8JrRpOLoe9n0JRpnFf4EvQ/T/gaOpKcORmND+u2YZffBvaa5oZ9WXLdJyy19E+tD7/6+KHq73+jYqupITbX35J5grjNx+Or7yM+8SJyGyMr1AlJCQePcwVbOEVtDkDzwKhwL+q7USPKflZmZzfsxNBEKjl4nrf7Oc1SWJiosnVHkBcXByA0R+cTp06oVAo+P7770lNTTWysHXu3JnCwkJDGo7y/msqlYrVq1fTvn17oqKiTPYaN24cK1euJDIyEkEQmDhxIj169GDSpEkmaT0eBRQKBcHBwURGRrJx40ZiY2MJDAwkIiKC6OhomjVrVuMFuWNiYoz+7/Ly8tiyZQt9+/atdE5ERARr167Fzs7OcNX6NFFRwM/9UNrYVCnWYmNjmTVrFqtWrUKpVDJ69GiDla3axJoowpWdsHMK3Lls3FcvCHp9CvXbmUxLz73DNz/9gv3FujRThxn15cjUXHCQE9LTh+UdvLG3KrO6Fl+6RMr48ZRcuWpok9euTZ1ZM7EPr+hXu4SExKOIuUEHlaXt+F0QhHnAc0DVWU+fYGLWrkKn1dK4Qxd6jRqLhZUVPs1bsX3xfC5HHyJ67aq/xcoWGBhIeHg4/fv3x9fXl9zcXLZu3crixYsZNGiQkZ+UnZ0drVq1YtOmTbi6uhr90XdxcSEgIIBNmzbh5+dnZOnZvHkzGRkZzJ07l7CwMJMzjBw5kv/7v/9j3759hIeH061bN6Kiovjoo484d+4cQ4cOxdfXl+LiYi5fvszq1auxtbU1KyLtzp07xMTEmLR7eHg8kEVp8+bNLFmyhH79+uHr60tBQQELFizA3t7e4JP3ySefEBQUREhICP/617/w8fEhKyuLCxcucP36df73v/+ZvV9VuLu707NnT6ZPn26IEi0oKGDq1Mojil999VWWLVtGt27d+PDDD2nRogUqlYpr166xceNG1q9fj80TbDnpPHgot65foTAn2ySQoDwKCyU2Do50GfzGfddbunQpI0eOxNramnHjxjF+/PjqtagB3LoAO/8N1/cZtzt6QfcZ0Kw/3PNzoNFo+e6nzRScEHFXG1/j5sqLuVLbih59AviwXT0sFWUXHaJOR+aKH7j95ZeIarWh3S40lDqzZqJwcaneZ5OQkKhRqiPoYAuwGvjn7vweAe6X/fxCiz9IjL3wt5xjzpw5bN26lWnTppGWloZcLsff35+oqCjef/99k/GhoaEcP37cpIIB6K9F4+LiTKJDV6xYgb29PQMHDqzwDIMHD+aDDz5gxYoVhJe+g584cSKdOnXiq6++YvLkydy+fRsrKysaN27Myy+/zKhRo8wq17Njxw527Nhh0j5mzBi++eabKuffpVGjRlhbWxMZGUlqair29va0a9eOP/74wxB44eXlxYkTJ5g+fbrhzM7OzgQGBvLGG/f/4/+ghIaGEhYWxuTJk0lKSqJp06Zs27btvr5SFhYW7Nixg6ioKJYsWUJ8fDy2trY0aNCAvn37VksalUeV9BvXObZ+DQVZWdzPW0NhaUmD1kGGN1H3cuLECSwtLWnevDk9evTgo48+Yty4cSYBNg+COjmZ/CNHQKsDuQxBrkBQ58OljQgJBxEEEQRLBBkIFtbQchBCYH9QWyNcuKB3+pcrQC5j66mrXDqcTa0SN8qHExTI87npIqfPs4FMaFUPhcL4Z0d96xYpH31MYbk3N4KVFe4fTcLx5ZeldB0SEo8hQmVRfGYvIAhjgP+IovjI5Q9o27ateOLEiUr7Y2NjadKkasdjCYknjcf1ez857iLHNqypOCm1IOivG0tRKJV0GvQabZ8bYDL0yJEjREZGsn37dl566SWzK23cD11JCRnfLSFj6VIji9ZfQStTcMO7Nze9eiAKZWJMWZKD980deKYeRq67J22QQoEglyPI5ejUaih3BqtmzfD8/HMs/arOMSchIfHPUVpRqsLIOnOjRIdW0KwEAoG3gN//+vEkJCQkKkcURRLOnuLo+jUkVWCp9mnRGrmFBTfOnDQK+BF1OrLTbxmNPXjwIP/5z3/Yu3cvLi4uzJ4926S6xV8h/+AhbkVGor4nGvqvkFPLl9jGr1FoW3YdK9Oq8EnYSv2kfch1lYhBjQZRozG2NwoCzu+8g+uY0QhPsMVVQuJpwNwr0eWVtJcAvwBjq+U0EhISEqXodFquHovm6Po1pMffU85LEPAP6khQv4HYOtVm6ZhhlQb8BA94BVtHJwRBYP/+/cTFxfHll1/yzjvvYGtrW/HmZqJOSyNtdhR527cbtVu5K7Cyy9Eb/HSC/rPSAdG1GaK1s15c6XSg1aAqUZOeXUh6XhE57u3Jr90JhLIycrb5V2maugUnVRaioz2iVqufr9Xq/12JNU/p50edT2ZgY0YaHAkJiUcfcwVbRXb0YlEUTXMRSEhISDwEWo2a2IP7OLZxLVkpSUZ9MrmcJl3Caff8izjX1UfU7vrvwgoDfrZ9O491a9fSpnUrZn72BQMHDjQEE1hV4M/2IIgaDVk//cTtrxYYVQqQWclxC8zA0a+wTHPZukL4v6HV63rftFKu387n+0PxrD0bS13Febrdbo5DSVkggEpWgmXHfF57ZTgKxTv3P49OV07E6UCnRWZvL/mqSUg8QZgbJZpQ0weRkJB4ulGXFHN+zx+c2PQ7eRm3jfoUSkuad+1J2+f6U8vF2F323oAfrVbL+k2bmLl8NefOncPDxdmQXPhhLWoARWfOkDrjE0piY43aHXyLcWuRjcKqNGLVkPh2HFjpEyyLosix+EyWHoxn9+Ub2DocoavOmWZJxuk18tzSGPh2JxpUUNKtIgSZDJRKJHkmIfHkYq4P27OAjyiKJmF4pUEH8aIobq3uw0lISDz5FBfkc3bnVk5u3UBRbo5Rn9LahlYRz9K69/PYODhWOL/36HFGX/fr14/NmzfTuHFjfvjhBwYPHmxWndqq0GZnk/7lPLLXrDEKblA66PBonYmte7kqBfckvtVodWy7cIv/HrzO2eTbKGsfoYnzLUJv9MdOVfZcGosSGvVxoHfEK5J1TEJCwghzf4tNpfLAAuvS/sdSsN1Niikh8bTwsJHh1UVhTjYnt27gzI4tqIoKjfqsaznQpm8/Wvbsg6XN/a1iKpWKn3/+mYEDB2Jra8uIESN4/fXXefHFF81KFVMVoiiSs34D6Z99hjYry9AuKMClaS7OjfMxBHLek/g2v0TD6mM3WXb4Bsk5eVg4HqO2TzRdEiPwv9PbaB97fxgwPBw7x4e7rpWQkHgyMVewBQCnKuk7A0ypnuP8vSiVSoqKip7o5KISEvdSVFRUaf3Rv4Pc2+kc3/Q7F/bsRKNWGfXZO7vS7vkBBIb3wMLy/sKluLiYZcuWERUVxc2bNxEEgTfeeKNaC96XXLlC6owZFJ04adRu51mMe+sclHalBeXvSXybkl3E8iM3WHX0JnklKhQOp7D120XDPG86XxiLjdresJbMRqTbkGY0auMuvXmUkJCoFHMFmwywq6TPHvjnfvs/BC4uLiQlJeHi4oK9vT0KhUL6hSnxxCKKIkVFRSQnJ1dYbP5hUBcXs3PJ1/Qc+W6lQisjOZHjG34j9tA+dFqtUZ+TZz2CXniJJp1DkSvu/+tEp9OxYMECPv/8c1JSUujQoQOLFy8mIiKi2p5HV1jInUWLyFi+AsoVj1fYaPFonYN9vWJ9g2Ut6PIhtB8FFlZcSM7hvwevs/lcKhqdDoX9BWzq/oGdUESX+IH4ZbYw2qdhO1dCXm6MtZ2UckNCQuL+mCvYzgKvAusq6HsVOFdtJ/obcXBwwNLSktu3b5ORkYFGo6l6koTEY4yFhQXu7u7UqlWrWtdNuRxH3OH9BIb3wLt5S6O+tOtXObr+V64cizby/QJw821A+/6DaNguGJns/teXGo3G8KZq7dq1+Pv7s3LlSsLDw6v1jVbe7t3cmjULTUpqWaMg4tw4H5fAfGQKUZ92o80wCPsYnY0L+y6ns/TAGaKvZwAictsr2LjuQG6VjP/tdnS80R8rbdnVro2jkvAhAfg8I5WHkpCQMA9zBdtcYK0gCGuApUASUBd4B+gPVFyj6DHAysqqwmLpEhIS5pNw/gwAN8+fwbt5S0RRJCn2AkfX/UrCudMm4+s1DaR9v0F4P9OqSrGVnZ3N119/zXfffceJEyfw8PBg69at2Nvb33feg6JKSiZt1izy9+41ard2LcGjTQ5WjqVv6Br2gJ6RFDv5s/50Mv89dICr6fkAyK1voHTdgcI2HrsSJ0LiRuKV3dRovaadPen4YkMsraujMqCEhMTTgrlpPdYJgjAWmAXcrfMiAPnAe6IoSpUOJCSeYuJP60tFXTt1HM/GTTm2fg0pl2NNxvm1bkdQv0HUbVx1Waw7d+4wf/58vv76a3Jzc3nuuecoLM15Vp1iTVSpyFi+gjuLFiEWFxva5ZZa3Frk4uBbpK/H7toEes0ks04IK6MTWBmzhzv5eh88mWUKlq47UdjHgSjQ9FYnghOeR6krux6u5WJF2GsB1A+oXW1nl5CQeHp4oFqigiDYAx0BZ+AOcEQUxfwaOttDU1UtUQkJiQdn/WeRXDt51KhNrlCgvY9LQeOOIQS98BJuPn5m7ZGVlYWPjw+5ubm8+OKLTJkyhZYtW1Y98QEpOHaMWzM+QXXNuJKCo18Bri1yUViKYOkA3aZyzXsg3x9JZO3JJEo0+lxrgvI2li67sHA4C0CtIhfCrr+CZ26jssUEeCa8HsEvNMDC8uGjViUkJJ5cHrqW6F1EUcwDdlTLqSQkJB5LOg8eSnrCdQpzstGWlkWqTKxZWFnx7Psf4deq6vJIycnJbN++nbfeegsnJydmzZpFeHg4zZo1q9bzA2gyMkj/7HNyNmwward0VOPRNhsbF/1zic0HcjpgPItO5LN73WGDC56gyEbpshul40kQdAiiQPPUMNol9sFCVxZA4OhuQ9ehTajTwKHan0FCQuLpwiwLmyAIk4B6oii+W0HfAiBRFMXPzd5UEEYDE4A6wJ/A+6IoHjRjXmdgHxAnimJgVeMlC5uERPUj6nRcP3WCXd8vJD8zo8IxMrkcn5ZtePa9iVhUUQbqxo0bREVFsWzZMn2h94QE6tSpUxNH1xeE//VX0r+chy43t+y8Ch0uzfOo3agAQQZi7QZEN5lM1CUPziWVJfMV5PkonfehrB0Dgl6kOhV6EHZtMO75PmXjZAKtenrRrq8PCgvJqiYhIWEe1WFhG4Y+8KAizgDjAbMEmyAILwNfAaOBQ6WftwmC0FQUxZv3mecE/ADsRh/wICEh8TdSmJvDhb1/cH73DrLTUisdJ7dQ0vnl12j73IBKxwCkpqby73//m5UrVyIIAsOHD2fSpEk1JtaKL14kdfoMis8ZB7Xb1y/CvVUOFjY6RLmSK43fYfSNEK7s1gClYk1WjLL2AaxdDqMTSvRNOhktU7rTNikCmVgmypzr2dFtaBNcvao3KEJCQuLpxlzB5gVcqaTvOuD9AHt+ACwXRXFp6dfvCoIQAfwf8PF95n0PrEAf7PDSA+wnISHxFxFFkaSL5zm7aztXjh5Bp63cT02hVKJRqUHUkZ1+q9JxJSUlWFpaolAo2LhxI6NHj2bChAnUq1evJh4BbX4+t79aQNZPP4FOZ2i3sNPg0SYHuzp6AZbn2Zkp6jfZcMoGKH1OQYW1SwzWLvtRU8Dd2S759YhIGI5drrNhPZlCoF0fX1r18kIulyEhISFRnZgr2Aqp3KpVDygxZxFBEJRAG+CLe7p2og9mqGzeaMADffqQqebsJSEh8dcpysvlz/27Obd7B1kpSSb9lja2NArqyMUDexBkAraOtQl7cwR7ly+hIDuL87t30OHFwdg6OhnmnD17lpkzZ5KcnMzhw4dxdXUlMTERa2vrGnkGURTJ27aNtNlRaG6XFZMXZCLOTfJxbpKHTAFaG1d+dhrF1GsBYCifrqGW22msXPdQpMtCXdoq1ynofnswvvFtoZw3ibtvLbq+3oTang9fXF5CQkKiIswVbAeBCYIg/CaKokGcCYJgCXxY2m8OLoAcSLunPQ3oXtEEQRCaA/8BgkVR1EqVCCQkagZRFEm+dJFzu7ZzOeaQIaCgPHUaNeaZ7r1p3KEz+1d+j06npXH7LvQaNRYLKyt8mrdi++L5XI4+RPTaVXR/azTHjx9n5syZbNy4kVq1avHuu++iVqtRKpU1JtZUN25w65NICo4cMWq3dS/BvU02lrW0iAicrfMiI5L6kJ5Z6mcnqLB0PIuT5yEKdGkUlRnkeEYdTMj1l9FkllnPFBYy2r/gxzNd6yOTSb+bJCQkag5zBdt04AhwWRCEH4Fk9Ba319Cn+HjzAfe9N9JBqKDtriBcDYwXRTHenIUFQXgHfUJfvLy8HvBYEhJPH8X5+Vw8uIdzu7aTkWTqRqq0tqZJ53Ce6R5hlJZDrVLRa9RYAsN7GNosrKx47tGgxQgAACAASURBVP2PuNDiDxJjL7B+/Xr69++Pk5MTn3zyCe+++y6Ojo419iy6khIyvltCxtKliOUEp9xKi3urHGp5FSMIkF0rgA8Kh7EnXp80W2Z5CwvHo1jXPoOWIgrKCTUfGvH87RGorlpS/kK4rr8jYa8F4Ogm1SKWkJCoeczOwyYIQhD6q8yO6GuL6tAHDYwXRdGsUMzSK9FCYLAoimvKtS8EAkVRDL1nvA8QD5QvPChDL/C0QB9RFHdWtp8UJSohUTGiKJJ65RLndm3nUvRBNCpTrwZ3v0Y80z2CgE4hKK3Ms4SJosjevXv5//buOzyqMnvg+PdMZtILCSEJafQqvQdQUOkurqJiB3cFERVxFXVd8acuNuzYF8XG2rGvIiAICNKJ9CYk1BBKQgjpyby/P+6QZFKARFIg5/M882Dufd97z+Sayclbs7KyuOyyy8jOzubNN99kzJgxZ31nguL3zE1MJGPZMlI++IC83cWSTjEEN8+gQft0PDwNBXY/ZnjeyNSUCykQa69PR/AK7L6Jpa5b3yOMGzLvomB9PZz5RZ+TDm8Peo9ozgV9IxFtVVNKnUWnmiVaoYVzXRfzAYKBVGNMloj0A0YbY/5+hvVXAOuMMbcVO7Yd+NIY81CJsg6gVYlL3AEMxNoSK/FUC/dqwqaUu5zMTLb8+gvrf57N4T2Jpc47vLxp3bcfHQcMJbxp8zO+rjGGn376iSeeeILffvuNPn36sGTJkrMYubv8w4fJWL6cjN+WkbF8OflJpWeteofkEtEtDZ8Qq6Vtrd9FjD86kkMOJ57BK7AHrcFmzyxVr3FAE/6aNwpZHUZ2uvski5Y9wom7shn+wadeqkQppSrjrC2cC+BK0qKA20XkZqwZopnAGSVswIvATBFZCSwFbgcigbdcwX7ous8oY0wesLHEmzkE5Bhj3I4rpcp3cOcO1v88my1LF5GfU7o1rUGjJnQcOJTWffrj5VuxLr5FixYxadIkVq9eTWxsLG+88QZ/+9vfzlboABScyCBz1Uoyli0jc9lycnaUN2kdbA4nYR2PU69pJmKDY54NuS/zJhbl2nHEfoW/3x+l6tjFzqWNLmWIYwRH5ntwdH8GFOsADW8SSN+RLYhoogvgKqVqxhknbCISBFwLjALiXIfXAc8An5zpdYwxn4lIfWAy1sK5G7G6Nne7iujAM6XOQF52NnOnv8qgcRNweJVu8cnNzmLrkkWs+3k2hxJ2ljpv9/SiVe8L6ThgKBHNW552E/biCgoKyMvLw9vbm9TUVFJTU3nnnXe4+eab8fT0PP0FTsPk5pK1fr3VgrZsGVkbNsAptr6y+XjhG5aDX/00AmOzsHs7KRA70zwG8Y5XCBL+Iz729FL1ovyjuLrl1VwaNJQtPxxl27ojbuf9g72IG9GMFt3CK/T9UUqps+2UXaIiYgOGYCVplwPewAHgK+BO4GJjzOJqiLNStEtUnc92r/+dWU9O5urJT9CofdE+m4cSd1mtaUsWkpuVVapeaEwjOgwYQpsLL8bbz79C98zPz+eTTz7hqaeeYuTIkTz++OM4nU6cTid2e4Ub7AsZp5OcHTtcCdpvZK5eg8ks3V1ZyOHAt1Mn/Dq3xa9gOd7pvyCuyZsFwEz/lrzqE06O3x5E3D/jbGKjX3Q/rml5DV3r9SD+pz2s/2UfzoKicnZPG10GN6LTwFgcnrpTgVKqelSqS1REngduBMKAbOBrrIVrfwYCgbvOfqhKqTO1e8PvAOzZ8DuRLVqzddli1v/8Ewf/2F6qrIfDQatefekwcBiRLVtXuLUoNzeXDz/8kKeffppdu3bRoUMHunbtCoDNZsNmq/hCsXn795OxbJmVpK1YQcHRsre5OsmrTRv84uLwi4vDt1N7bBs+hF+ehrwMsMEhDw8+DQxhpl8w2Y5sYDfF32WYTxhXtbyKES1GEOYdxuYlB/jk+5Vkn3BfvqR1rwh6/rUZ/sFeFX5PSilVVU71J/G9WEtt/AjcYowp/DSVkn+yKqWqXUL8KgDWz5/DunmzycnMKFUmJDKaDgOG0rbfJfj4V36W5vjx43n33Xfp2rUr33zzDcOHD69wkpafmkrmCmscWsbyZe6zOcvgiI62ErTecfj27Ik9JMQ6sXcl/HcYJG/ECSz38eaLAH/m+/piBKy/L4v0atib61qPpF90P+w2O3s2H+WzWatIOeD+/WrYLIi+I1sQ1iiwQu9LKaWqw6kStnextoC6DNgmIp8CHxpjVlZLZEqpQt88O4Wda1aUOGq1H2WfKD02yz+4PpfdfT9RbS6o1NirzMxM/vOf/zB8+HCaN2/OxIkTufrqqxkyZMgZX8+ZnU3mmjVkulrRsrdsgVMMwfCoVw/fuF6FrWieMTElgkqB+Y/DmvdJsdn4JiiALwL82edwlLqWpwRyVYsR3NxuJDEB1nVSD2aw9MtN7N7g3pIXEOJN3IhmNO8apuPUlFK1VrkJmzFmjIjcBYwARmPN5hzvWoLja8pY6FYpVTX6Xj+KQ7t3kZl2rNgOBKV/BG02D3yDg7nqoccJjanIFr+W9PR03njjDV544QUOHz5MXl4eDzzwAB06dKBDhw6nrGsKCsjetKlookB8PCY3t9zy4u2Nb7duha1oXq1aIWW12hkD6z/DzHmYNc50Pm9Qn5/9fMkrI7nyd7ZiTKcbuLnDX/D0sCY/ZGfkseqHBDYu3I/TWWw9NS8Pug5tRMdLY7A7dJyaUqp2q8jCuQ2xJh/cDLR1HV4OvAHMMsZkl1e3puikA3U+2bFyGT+8+hwF5SRBdi8vmnXpUbhNVEVNnTqVqVOnkpqayuDBg5k8eTJ9+/Ytt7wxhtyERDKW/WYtt7FyFc7jx8u/gYcHPu3a4dvbakHz6dQJW/EZpfm5kH4Ajrteafvg+AHSDqzm++Pb+SLAn12epVvTTIE3vrm9uLfnaK7t1LWwlaygwMmmxftZ+b8EcjKKzTAVaNO7IT0vb4pfkI5TU0rVHmd14VzXBbtjtbpdi7U1VZoxJvjUtaqfJmzqfJB94gQLP3yHTYt+LreM3dOTPiNvotvwERW6dlpaGkFB1tpi48eP58CBAzz88MP06NGjzPJ5hw6ReXLB2mXLyE8uuS2wO89mzawWtJ7d8G0VhYczzZWQ7SuVmJFxqLCeATZ4efJ5gD8/+fmSU0bLW0FmLPbM3tzd82pGx7XA4VFUZvfGoyydtYPUg+4zTSNb1KPvNS1oEFs1uy4opdSfcVYXzgUwxqwCVonIP4DhWC1vSqmzbOeaFcx7+3UyUlMKj3k4HDgLnBinE7unJ/m5uRink2OHDp7xdQ8ePMgLL7zAm2++yZw5c+jTpw+vvfYaHh6luwZNbi4pH35I2rffkrOj9KKzxdmDA/BrHYFfY198GxbgMMlw/D1Y+qy1TPZpZIjwg78fXwT4s9Wr9HpupsCTvONdMGk9GdW1NxMuaUGQb1GrW8qBDJbO2sGezSlu9QJDvel9VXOadmqg49SUUuekyi+cBLh2IvjK9VJKnSVZ6cdZ8N5/2Lp0kdvxZl17kvD7amw2wS+kAf1vGcsv708n41gqG+bPIe6q6/GrV35j9759+3juueeYPn06ubm5XH/99YSHhwOUmaxlxa8hafJkcnYmlnk9m8PgG5aNX3gOfhG5eAYcQGSb1UR24Mzeaz7WTM/v/f1Z4OdDdhkJlS27AZmpfck73onBbWJ56KY2NA71K4rzRC6rvk9g468HME73fT+7DWtMx4tj8HBUfOkRpZSqLf5UwqaUOvu2r1jK/Blvkpl2rPCYb1A9Boy5g93r43EWFNAq7sLCsWqN23fmp7deZvuyJSz78hMG3HpHmdfNz8+nR48eHD58mFGjRvHPf/6TFk0bw75VsG41HN8Pafvh+AGcR/dyeOEhUjZ74ForAwCxGXxCc10JWg7ewXmFC9aektggoCEERrpe0Wzz8uL7nAP8kLqJI7lppaoYp4P84x3ITe2FMzuaCyKDmHxNW+Ka1S8sU5DvZMPCfaz+MZGczKJxaiLQpm8kPYc3xTfwz++8oJRSNU0TNqVqicy0Y8yf8SbbV7j3Hba98GL633IbPv4B/LF6BYNvn0i7iwcWnnd4ezP8nn+yseM89m5x32J3x44dzJgxgyeffBK73c6MGTNo06YNjWOiYN2n8OpVcGy3W52Mg54krapHXkbRx4N4OGnQPp3g5pnY7CXGvYpHUTIWFAWBUW6JGYGR4B8OHnYOZR7i6+3f8/WO79ifvKvM70NBdgR5x7qTl9YZnL6EBXhx/19acVWXaGw2K3k0xpC4wRqnlnbIfTeHqFbB9L2mBaHRFdvFQSmlarNKTTo4V+ikA3UuMMaw9bfFLHjvP2SnF82y9A8OYcDYu2jWtewJAKeyadMmnnrqKT799FM8PT1ZtmwZnTp1goJ8WP8pLH4OUhPd6hTkCsnxQaQluG/+7hcFEcMa4hnbyJWERbknZv7hYCt7WQyn07Dp4BE+3zybpQfncDh/A5Sx7rYzP4D8tE7kpXXGmROJCLQI8+ey9pGMvagJvp5FyePR/SdY8sUO9m1NdbtGUAMf+lzdnMYdQnWcmlLqnHTWJx0opc6OE6kp/PzOG+xcvdzteLuLB9Lv5lsrvNfn0aNHGTduHF9++SV+fn5MmjSJe++9l/DQ+vD7x7DoWUhNcK/kE8LxrPYcnLeHgvScwsO2wADCH3yQoBEjzjgBOpaZS/zeY6xNPMqv+1eyM3Mhxnc94uFaiqTYZYzTQX76BeSldcbftKFHTH06dwymS2wwHWKCCPR2X8IjPSWbNbMT2bzkgNv6u54+drpf1pj2/aPxsOs4NaXU+UkTNqVqgDGGzYsXsPCDt8nOOFF4PCC0AYNum0Djjl0qdL3Dhw/ToEEDgoKC2L17N5MnT+aee+6hfr0g2PAFfPYspJTogvQJJq/t30menUT6goVupwKGDCHi4X9hb9Cg3HvmFzjZlpxO/J5jrlcqiccTsAetxREUj82RBgFuORoABRlNCZU+xEX0o0eHKDrH1qNJqF+ppDAnM4/924+xb0sKe7emcizZfYkOEbjgoih6DG+Cj7+OU1NKnd80YVOqmqUfPcK8t18jId69u77jwKFceMPf8PL1Ladmab/++itPPPEE8fHxJCQk4Ofnx8qVKxHjhA2z4KOpkLLTvZJ3PUzcnRzb35BD/34VZ3rR1lb2sDAiHv0/Ai69tNS9jpzIIX7PMdbuSSV+Tyrr96WRmVuAeJzAHrgOR1A8fg32lRmnNxF0qHcpI1oMp3+zVvh5lf7oKchzcnBXGnu3prBvayqHEo+Xu5NVTNsQ+lzVnPpROk5NKVU3aMKmVDUxxrDxl3ks/PAdcrOKWouCwsIZNO5uYtt1POPrLFiwgClTprBo0SLCwsKYNGmS1ULlLEA2fgmLpsLREmumeQdB3ARyGw4j6cnnyFzxntvpeiNHEjbpPjwCA8nNd7Il6Tjxe1KtLs49qexNKTa4X/Kw+2/FJ2wtHv7bEHGWitPXI5BLYwZzfdsraRfarlQLmnEajuw/wb4tqezbmsKBHcfIzyt9nZM87DYiWwTR4ZIYGrWrr+PUlFJ1iiZsSlWD44cPMXf6q+xeH+92vPOQ4fS9fhSe3j5nfK1Vq1YxYMAAIiMjefnllxk7diy+3l6w6WsrUTuy3b2CVxDE3YnpNoaUz77h8N03YnKKxqo5GsXi9eAj/N6gGWt/3Uf8nmNs2J9GTn7J5Mng4bPb6vIMXI94lN6NzmFz0D+mP8ObDqdvVF8cHu7j0I4fyWLf1tTCVrTsE3mlrlFIICw2gOjWIUS3CaZh0yDsnrrnp1KqbtKETakqZJxO1v38E4s/eo+87KIWqnoRDRl8+0Si27Q77TWcTiffffcdiYmJ3HPPPXTv3p3PP/+c4cOH4+3pCZu+siYTHNnmXtErCOLugJ63k52YRNLocWRv2lQUm83G2p7DmN70EvbMTQPWlnl/cRzFEbQWz6B4xDOlzDKdGnRieLPhDG48mCCvoMLj2Sfy2LfNakHbuzWV44ezyqx/UlADH6LbhBDTOpioVsF4+5XeO1QppeoiXdZDqSpyLPkgc9+axt7NG4oOitD1sivoM/JGHF6n3qC9oKCAWbNm8eSTT7JhwwbatWtHfHw8drsdnE7Y/I3VonZ4q3tFr0DoNR563YHT5sOR19/g6IwZUFBQWGRnUCQvdR7JznrRZd/clkmDiK141Ysnzewos0iUfxSXN7ucvzT9C7GBsQDk5xaQtDPNStC2pHJ4b7q160E5fAIcRLcKJrpNCNGtggkMPfOWRqWUOt/osh5KVSPjdBI/53/8+skH5BfregyJjGbw+HuIbNn6tNdYsmQJY8eOZevWrbRu3ZqZM2dy3XXXYbfZYJMrUTu02b2SZ4CVqMXdAT7BZK5eTdLkR8hNTCwskmuz89/Wg/iqeT8Kiq2d5uPwoH20H2HhiaTalrElbTnZzjyySyRbAY4ABjcZzOXNLqdTg04YA0f2prPmt0T2bU0l6Y80Ckp1pRaxe9qIbBFMTJtgolsHUz/SH7HpWDSllDodTdiUOotSDuxnzlvTOLCtKJkSm43uw0cQd/UN2D3LX34iNzeXY8eOERYWRmhoKD4+Pnz++eeMGDECDxHY+j0snAqHNrlX9PSHnrdD3J3gG0LBiRMceuwxjn36mVuxDfWbMq3zNez3t5bq6NO8PoMviCAo6CAbjy9gTuJPbElzX4wWwC52+kb1ZXiz4VwUfRHZKU72bU1lztcb2bct1W1LqJLEJoQ3tsahxbQJJrxJkK6VppRSlaBdokqdBU5nAWt++JbfPvsv+Xm5hcdDYxoxePw9RDRrUW7d7Oxs3n33XaZOnUq3bt348ssvAWs2qBgD236Ahc9Asvu2U1aiNg7i7gLfEADSf/mFg4//m/yDBwuLZdq9mHHBZcxu3AsjNiKDvJkwOJQT9pV8v+t7EtJKLKTrckH9CxjebDgXhw4gIxFrosCWVNJTSk82KC44wrdwHFpky2C8fPTvQqWUOhPaJapUFTq6bw9z3pxG0h9Fg/5tHh70uGIkvUaMxMNe9sD5jIwMpk+fznPPPUdSUhK9e/fmtttus04ag2z9ARY9Awc3uFd0+EHP2yBuAvhZG6HnHz1K8pNPcfzHH92KLo9oy+sdR3DEpx4ORyb9Oh8kz2ctT29YgyljcFm4bzjDmwwnjgHkJXqy98tUvt63qVS54nyDPIlxzeSMbhWCf7DX6b5lSimlKkgTNqUqyVlQwKrvvmTZrI8pyC/qFmzQuClDxt9DWOOmp6z/3HPP8fjjj3PxxRfz0Ucf0b9/f2tXgK0/wsKn4eB69woOX+gxFnrfDX6hgNUKd/y770h+6mkK0tIKix7z9OPNDleyOKY19oAtRDXcTIbHZlakF0C6+2V97b4MbDSQAYGX4flHKNtnHWLVseRy43Z4exDV0hqDFtM6hOCGvrommlJKVTHtElWqEg7vTuCnN1/mUELRLgI2DztxV11H979ejYe99N9CqampvPrqq/Tq1YtBgwZx+PBhtm/fTp8+fcAY2P6TlaglrXOv6PCF7mOgz8TCRA0gb/9+kh59jIwlS9yK/xzTmXfjWpHVYBsO/61gK73WmU1sxDWMY2jkX4g+2JZdK49yaHd6qXIANpsQ3jSQmDYhRLcOIaxxAB4eOg5NKaXONu0SVeosKcjPY8XXX7Di689xFhS1qoU3bcGQ8RMJjW1cqs6RI0d46aWXeO211zh+/DgPPfQQgwYNokGDBjQIDYXtc6xE7YD7orrYfaD7rdDnHvAv2tPTFBSQ+tHHHHr5ZUxm0Y4JyX7+vNU/ko0XbEc8NlBWR2yHBh0YGjuMdpm9SFqbSeI3R9hXkFiqnE+Ag+bdwoltG0Jki3p4eutHhVJK1ST9FFbqDCXv+oM5b77M4T2Jhcc8HA56X3Mj3f5yJTaP0qvwP/vsszz++ONkZWVx9dVX8/DDD9OxY0erRW3HPFeiVmLBWrt3UYuaf5jbqZw//iDp4clkrStqhXMCP3b15LP+WeR47iq12XrL4JYMaTyUOEd/Utc72f5+MktP7C4Vq80uNOkQSuteDYm5IERb0ZRSqhbRhE2p08jPy2P5l5+y8tsvMM6iNcYatmzN4NsnUj8qxq38vn37aNCgAV5eXgQGBjJixAj+9a9/0aZNG1ei9rOVqO0v0V1v94Zuf7da1ALC3U6Z3FyOvP02R9/6DyavqItzbyi8NdSDHdFOKJaqxQTEMLTJUC6pP4jcrT5s/SaJRQf2lPn+wpsE0rpXBM27hevOAkopVUvpGDalTiHpj23MeXMaR/cVJTt2Ty/6XncznYcOx1Zs8dmEhASeeeYZ3nvvPV599VXGjRtXdCFjYOcCK1Hbt8r9Jh5eVqLW9x4IiCgVQ9a6dez+14OYnUWtYvk2+Lq38HWcjXy7lag18AljaJMhDI4egve+BmxbnszezUcp60fcP9iLlj0jaN0rguAIv0p+d5RSSp1NOoZNqQrKy83ht88/Ys3/vsGYola16DbtGHT73QRHRBYe2759O08//TQzZ87Ew8ODMWPGMGTIEOukMbDrF2sdtb0r3G/i4QVdb4G+/4DAhqVi2H94J1ufeZSIH9dgK5Z0bY+Et4Z5sK+B4GH8GBQzkGvbDCc6owXbViSz4uND5GYdLnU9u6eNpp0b0LpXQ6JaBWPTHQaUUuqcoQmbUiXs37aFOW++TGrS/sJjDi9vLrxhNJ0GXYbY3Md23XzzzWzYsIEJEyZw//33ExkZ6UrUFsIvT8Pe5e438PAslqhFup06knWEuYlz2fLTpwz4dAeRRSt1kO2AT/rZ+KmTF7bcjoxq8lf+3voSdq06yrY3DrLqcIlJCy5RLevRqldDmnVpoJMHlFLqHKWf3kq55GVns+Szmayd/R3F+xFj23Vg0Li7CQqzuivj4+N57rnneO211wgJCeGdd94hLCyM8PBwV6K2yGpR2/Ob+w08PKHLKOh7LwRFFR4+nnuc+bvn82PCj2xKWMHNP+dzwwb3fszfG9t448JWJEsPbqw/mMtDGrB79SE+/bjsLv/ABj607hVBq54RuqG6UkqdBzRhU3VKXnY2c6e/yqBxE3B4eRce37t5A3PfeoVjyUmFxzx9fOh30620v3QwIsKKFSuYMmUKP/zwA4GBgYwZM4ZLLrmE9u3bWxUSfrXGqO1e6n5TmwO63AwX3gdB0QBk5mWyaN8iZifMZsn+JeQV5NJrq+GFuU7qFa3UQbq3B29368680MsY5BXBPb4BHPklld9yS+/56entQfNu4bTuFUFEsyBdzFYppc4jmrCpOuXA9q1sXbqIdhcPpFH7TuRmZ7H4o/dZN/cHt3KNO3Zh4G13ERgaRk5ODsOHD2fevHmEhIQwZcoU7rrrLurVq2cVTlxitagl/up+M5sDOt8EF94L9WLJK8hj6d6F/JjwIwv3LiQrPwuA4HTDmDlOuu9wb1VbFH0Bn7S9llZeIfwz30HBH7kc5KhbGRGIaRtC614NadIxFLtn6aVFlFJKnfs0YVN1yu4NvwOwZ8PvYGDu9Fc4fvhQ4XkvXz/6jx5L24suYcuWLVwQGoaXlxexsbFMnTqV8ePHExAQ4LrYb/DLU2UkanbodCNcNImCwChWJa9i9uYZzNs9j/Tcot0ExBgu+d1w8y9OfHOKqh/0C+fbjqPx84lhZK4NcqGAfLdbhET60bpXQ1r2CMevnu7dqZRS5ztN2FSdkhBvLamx7uefWPntLLdzTbv2YMCtd/DripWM7dOHlStXsm3bNpo3b84777xTVHD3MqvrM2GR+8Vtduh0A6bvvawvOM7s7R8zJ3EOR7KOlIojIsVwz1xPmiZYrWxOsZES0pb4psPAL5YWCBS41/H2d9Cyezit4xoSGuOvXZ5KKVWHaMKmzlvfPDuFnWvcl9I4uRtBTsYJt+NOY1i+cQtPDBrM2rVradSoEa+//joxMcUWxd2zAhY+Zc3+LE48MB2vY3unq5l9dD0//TKe/Sf2U5YYn0jGbW5Ii6/ikdws0v2iOBjRkwMRPSlw+FOyQ9PmITRuH0qrXhE0alcfD7vuPqCUUnWRJmzqvNX3+lEc2r2LzLRjFLh2B3AWFJQq5+Fw4LR78fInXxEbG8u7777LTTfdhMPhWvV/70qrRW3nAveK4sGedlfwY1QLZh9czq5FE8uMo753fQY3HsywvNYEvDCT9D82sze8LwcjenLCP7rMOmGNAmjVqyEtuofh4+9Z+W+CUkqp84LudKDOa3nZ2fz01svsWruK/JyigWIFTifxew6QmJLGw3fezuDbJxK/fj1dunTBbnf9HbNvtTVGbed8t2setDuY07w3s7092JT2R5n3DfAMYGCjgQxtMpSuQe058vp/2P6/tSSFdSclpC1GSk8O8AvydO0+0JCQSN19QCml6ppT7XSgCZuqE1Z//xVLP/+I7KwsVifuY8HWP0jJyKJFk8asiv+doKAg9wpbf4BPbyj8MtVmY56/Hz+GNWJtQTqG0j83PnYf+sf0Z1iTYfSO7I3D5iDxh+Ws//g3Dvq0It/hWzowD6FFlzBax0UQ3TpEdx9QSqk6rNZtTSUidwD3Aw2BTcA9xphfyyk7Argd6Ax4A5uBJ40x31VTuOo8cCw5iT1HjjJj0QrSsrKJCQniyq4duPbmm0snawDNB0BAJCdOJHF/WCjLfX3Jx0DBcbdiDpuDvlF9GdpkKP2i++Hr8CU9JZt13yewed4OThT4QmDnUpfPDXZw0cDGtI9riKePjkxQSil1atX+m0JErgWmAXcAS1z/zhaRtsaYPWVU6QcsACYDKcCNwNci0r+8JE+pkzIyMtiyfh0bFswlLMCf2LBQ7rn3XvK2riMz7RgbF8yl99U34Fcv2L2i3Qv63Y9f4lL2sZ/8jKJJBDax0SOiB8OaDOOS2EsI8goiL6eAnWsOsXXZNvZvO7morXuLWm5BFvsie3fSugAAFwhJREFU/Lh2ZFt6tA+r4neulFLqfFLtXaIisgJYb4wZW+zYDmCWMeahM7zGSuBXY8x9pyqnXaJ11/Hjx3n99dd58cUX8bF7MOHCrrTpfRGDb5+Iw9u7cGzb9mVL6DhoGANuvaPca735+5u8se4NOjXoxNAmQxnUeBChPqEYp2H/jmNsW5bEH/GHyc8pY0JDfhacSGR+dCQjrunCtd1jtdtTKaVUmWpNl6iIeAJdgedLnJoL9K7ApQKA0nvzqDovNTWVV155hWnTppGamsrQoUO5tG1zBl82nHYXDyws5/D2Zvg9/2Rjx3ns3bLxlNcc2Woklze/nCh/a//PY8mZrJi3i23LD5Kekl26gnESkrqVgKPr+DyqGdEjhzF9cGuC/XS2p1JKqcqp7i7RUMADSC5xPBkYcCYXEJE7gWhgZjnnbwNuA4iNja10oOrcNHv2bB577DGuuOIKHn74Ybp1K/MPlULtLh7olsiVpb5PfQDSU7KZ+84mDu5KK7Ocb0YSDQ+uICJ5JYsiWvDN0Jv417U96RhTr3JvRimllHKpqdHOJfthpYxjpYjIVcBzwHXGmN1lXtiY6cB0sLpE/2ScqpZLSkri+eefJzY2lokTJzJy5Eg6dOhAu3btzvq9fAM9OXYo0+2YPS+D8EOraXhwOQHpe0j2DeaFPjcw9JYr+Lh7DB7a/amUUuosqO6E7QjWhjsRJY6HUbrVzY0rWZsJjNIZomrv3r1MnTqVd955h/z8fCZMmACA3W6vkmQNwMNuo2X3cDYu2k+QM4mojd8RenQTNpOPE+HrZheRffOtTBveiRDt/lRKKXUWVWvCZozJFZE1wEDgi2KnBgJflldPREYCHwCjjTGzyiun6oZXXnmFSZMmYYxh9OjRPPTQQzRr1qxa7h3RM4yPTxxj58o0XjyyHhuGhMAIvh94C7eNu5zOscGnv4hSSilVQTXRJfoiMNM103Mp1hprkcBbACLyIYAxZpTr6+uwWtYmAYtF5GTrXK4xJqWaY1c1ZNu2bQQGBtKwYUM6derEmDFjePDBB2nUqFG13D8nv4C3F+/itV/+IDvPCcGxzGpxMeLlSbN77uS13s20+1MppVSVqZGdDlwL5z6AtXDuRuAfxpjFrnMLAYwx/Yt93a+Myyw6WaY8uqzHuW/jxo08+eSTfPbZZ9x99928/PLL1R7Dou2HefTbjSQedR+/NrJbNA8OaU19f69qj0kppdT5p9Ys63GSMeYN4I1yzvU/1deqboiPj2fKlCl8/fXX+Pv788ADD3DvvfdWawyH03N45JuN/LTpoNvxtg0DmXJFO7o20u5PpZRS1UP3xFG10ksvvcSCBQt45JFHmDhxIvXr16/2GLwcNlbvLlruL8Dbzv2DW3Fjz0ba/amUUqpa2Wo6AKUAFi9ezKBBg4iPjwfg2WefZffu3fz73/+ukWQNINDbwcOXtQbgqi7RLLivP6PiGmuyppRSqtppC5uqMcYY5s+fz5QpU1i8eDHh4eHs3buXzp07ExFRcuWXmnFFpyhahAXQLqqMDeKVUkqpaqIJm6oRxhiGDBnC3LlziYqKYtq0aYwdOxYfH5+aDs2NiGiyppRSqsZpwqaqjdPpZN68eQwaNAgRYdiwYYwYMYJbbrkFLy+daamUUkqVR8ewqSpXUFDAJ598QocOHQpb1QAmTpzIuHHjNFlTSimlTkMTNlVl8vPz+eCDD2jbti033HADxhg++ugjLr300poOTSmllDqnaJeoqjJOp5NHHnmE+vXrM2vWLK688kpsNv0bQSmllKooTdjUWZOVlcWMGTP4+OOP+eWXX/Dy8mLJkiXExMQgokthKKWUUpWlzR3qTztx4gQvvPACTZs2ZcKECXh4eJCcnAxAbGysJmtKKaXUn6QtbOpPSUhIoHv37hw9epRLLrmETz/9lH79ytr6VSmllFKVpS1sqsJSUlKYN28eAI0bN+bGG29k6dKlzJ8/X5M1pZRSqgpoC5s6Y4cPH+bFF1/k9ddfByApKQk/Pz+mTZtWw5EppZRS5zdtYVOnlZyczH333Ufjxo2ZOnUqQ4cOZcmSJfj5+dV0aEoppVSdoC1sqlzGGESEpKQkXnnlFa6//nr+9a9/0bp165oOTSmllKpTNGFTpezatYunn34ap9PJjBkz6NSpE3v37q01G7IrpZRSdY12iapC27ZtY/To0bRs2ZKZM2fi7++PMQZAkzWllFKqBmkLmwLggw8+4G9/+xve3t7cfffdTJo0icjIyJoOSymllFJowlanrV27FhGhc+fODBgwgAcffJB//OMfhIWF1XRoSimllCpGu0TroOXLl3PZZZfRtWtXHn30UQCioqJ4+umnNVlTSimlaiFN2OqQ3377jQEDBhAXF8eKFSt48sknmTlzZk2HpZRSSqnT0C7R85wxBmMMNpuNJUuWsHHjRp5//nnGjRuHv79/TYenlFJKqTOgLWznKWMM//vf/4iLi+Pjjz8GYMKECSQkJHDfffdpsqaUUkqdQzRhO884nU6+/PJLunTpwvDhw0lOTsbHxwcAHx+fwv9WSiml1LlDE7bzzMiRI7n66qvJzMzk/fffZ/v27Vx11VU1HZZSSiml/gRN2M5xeXl5fPDBB6SnpwNw66238vHHH7N582ZGjx6Nw+Go4QiVUkop9WfppINzVE5ODu+//z7PPPMMiYmJ5ObmMnbsWIYOHVrToSmllFLqLNMWtnOMMYZXXnmFZs2acfvttxMWFsb333/PmDFjajo0pZRSSlURbWE7R+Tn52O32xERvvvuO5o2bcp7773HgAEDEJGaDk8ppZRSVUgTtlru+PHjvPbaa7z++ussX76cmJgYvv76awICAmo6NKWUUkpVE03YaqmUlBSmTZvGK6+8wrFjxxg2bBjZ2dkAmqwppZRSdYwmbLVQeno6zZs3JzU1lSuvvJLJkyfTpUuXmg5LKaWUUjVEJx3UEklJSbz99tuA1YL25JNPsn79er766itN1pRSSqk6ThO2GrZnzx7uvPNOmjRpwh133MGePXsAGD9+PO3bt6/h6JRSSilVG2jCVkOSk5MZO3YszZs35+2332bUqFFs27aN2NjYmg5NKaWUUrWMjmGrZjk5OXh5eeHp6cm3337LbbfdxgMPPKCJmlJKKaXKpQlbNdmwYQNPPPEEO3fuZNWqVQQHB7Nnzx68vb1rOjSllFJK1XLaJVrF1qxZwxVXXEGHDh2YPXs2gwYNIjc3F0CTNaWUUkqdkRpJ2ETkDhFJEJFsEVkjIheepnw/V7lsEdklIrdXV6x/xo8//ki3bt1YtGgRjz32GImJiTz11FN4eXnVdGhKKaWUOodUe5eoiFwLTAPuAJa4/p0tIm2NMXvKKN8E+BF4F7gJ6Au8ISKHjTFfVl/kp2eMYdGiRaSlpfHXv/6VAQMG8OKLL3LrrbcSGBhY0+EppZRS6hwlxpjqvaHICmC9MWZssWM7gFnGmIfKKD8VGGGMaVHs2DvABcaYuFPdq1u3bmb16tVnL/hyGGOYO3cuTzzxBEuWLKFbt26sXLlS9/hUSiml1BkTkTXGmG5lnavWLlER8QS6AnNLnJoL9C6nWlwZ5ecA3UTEcXYjrLhff/2Vnj17MmTIEBITE3n11VdZvHixJmtKKaWUOmuqu0s0FPAAkkscTwYGlFMnAvi5jPJ21/WSip8QkduA24BqWSojPT2dI0eOMH36dEaNGqXj05RSSil11tXUsh4l+2GljGOnK1/WcYwx04HpYHWJVjbAMzV06FC2bduGw1HjjX1KKaWUOk9V9yzRI0ABVqtZcWGUbnU76WA55fOBo2c1ukoQEU3WlFJKKVWlqjVhM8bkAmuAgSVODQR+K6faMkp3lw4EVhtj8s5uhEoppZRStU9NrMP2InCLiIwRkTYiMg2IBN4CEJEPReTDYuXfAqJF5GVX+THALcDz1R24UkoppVRNqPYxbMaYz0SkPjAZaAhsBIYZY3a7isSWKJ8gIsOAl4DxwAHg7tq2BptSSimlVFWpkUkHxpg3gDfKOde/jGOLgC5VHJZSSimlVK2ke4kqpZRSStVymrAppZRSStVymrAppZRSStVymrAppZRSStVymrAppZRSStVymrAppZRSStVyYkyVb7dZY0TkMLD7tAX/vFCsbbdU7aHPpHbS51L76DOpnfS51D7V8UwaGWMalHXivE7YqouIrDbGdKvpOFQRfSa1kz6X2kefSe2kz6X2qelnol2iSimllFK1nCZsSimllFK1nCZsZ8f0mg5AlaLPpHbS51L76DOpnfS51D41+kx0DJtSSimlVC2nLWxKKaWUUrWcJmxKKaWUUrWcJmxnQETuEJEEEckWkTUicuFpyvdzlcsWkV0icnt1xVpXVOSZiMgIEZkrIodFJF1EVojI5dUZb11Q0Z+TYvX6iki+iGys6hjrokp8fnmKyL9ddXJEZI+I3F1d8dYFlXgmN4jI7yKSKSIHReS/IhJRXfGe70TkIhH5TkT2i4gRkVvOoE57EVkkIlmuev8nIlKVcWrCdhoici0wDXgK6Az8BswWkdhyyjcBfnSV6ww8DbwqIldVT8Tnv4o+E6AfsAC4zFX+R+DrM00o1OlV4pmcrBcMfAjMr/Ig66BKPpdPgCHAbUAr4BpgfRWHWmdU4ndKH2Am8AFwAXAF0Bb4qFoCrhv8gY3ARCDrdIVFJBCYByQD3YG7gfuBe6swRp10cDoisgJYb4wZW+zYDmCWMeahMspPBUYYY1oUO/YOcIExJq46Yj7fVfSZlHONlcCvxpj7qijMOqWyz0REvgLWAQJcbYxpV+XB1iGV+PwaBHwBNDPG6Cr7VaASz2QSMMEY06jYsb8Brxpj/Ksj5rpERE4Adxlj3j9FmfHAVCDcGJPlOjYZGA9EmypKrLSF7RRExBPoCswtcWou0LucanFllJ8DdBMRx9mNsO6p5DMpSwCQerbiqssq+0xE5A4gAnii6qKruyr5XK4AVgH3isg+EdkhIq+IiCYGZ0Eln8lSoKGIDBdLKHAdVk+BqhlxWH/wF2+NmwNEAo2r6qaasJ1aKOCB1exZXDLWL5qyRJRT3u66nvpzKvNM3IjInUA0VjeD+vMq/ExEpD3wKHCjMaagasOrsyrzs9IU6At0BK4C7sLqHn2/akKscyr8TIwxy4DrsbpAc4HDWC3So6suTHUa5f2eP3muSmjCdmZKNm9KGcdOV76s46ryKvpMrELWWMLnsBKF3VURWB12Rs9ERLyAT4FJxpiE6gisjqvIz4rNde4GY8wKY8wcrKTtKhEJr8IY65ozfiYi0hZ4BZiC1To3BCsp+E9VBqhOq9p/z9ur6sLniSNAAaUz5jBKZ9cnHSynfD5w9KxGVzdV5pkAhcnaTGCUMea7qgmvTqroM2mINWj6PRF5z3XMBoiI5APDjDElu4xUxVXmZyUJ2G+MSSt2bIvr39hT1FNnpjLP5CFgpTHmOdfX60UkA/hVRB42xuytmlDVKZT3ex6q8GdEW9hOwRiTC6wBBpY4NRBrZk9ZlgEDyii/2hiTd3YjrHsq+UwQkZHAf4FbjDGzqi7CuqcSz2Q/0B7oVOz1FvCH67/LfY7qzFXyZ2UpEFlizFpL17/aIv0nVfKZ+GIlecWd/LpKl5FQ5VoGXCgi3sWODQQOAIlVdldjjL5O8QKuxRo3MAZogzUd+wTQyHX+Q+DDYuWbABnAy67yY1z1r6rp93K+vCrxTK4D8rCmbEcUe4XU9Hs5X14VfSZl1H8M2FjT7+N8e1XiZ8Uf2Is1U/QCoA/Wcgdf1PR7OV9elXgmt7g+v8ZjjTHsgzUxZE1Nv5fz5eX6//7kH4+ZwP+5/jvWdf5pYH6x8kFYrWyfAu2AEcBx4L4qjbOmv1Hnwgu4AytrzsH66+iiYucWAgtLlO8HrHWVTwBur+n3cL69KvJMXF+bMl4Lqzvu8/lV0Z+TEnU1YaslzwVr7bW5rl9c+4HXgYCafh/n06sSz2QCsMn1TJKAj7GWj6jx93I+vID+5fyOeN91/n0gsUSd9sBiINv1TB7FtVRaVb10HTallFJKqVpOx7AppZRSStVymrAppZRSStVymrAppZRSStVymrAppZRSStVymrAppZRSStVymrAppZRSStVymrAppWoVEYkTkc9F5ICI5IrIURGZJyKjRcSjiu45XEQ2iEi2iBgRqSciC0Vk4RnUfUxEdH0kpVSV0r1ElVK1hojcA7wILAAexNoOKRgYBLwJHAO+Pcv3tAMfYW0NdCfWKvTpWIubKqVUraAJm1KqVhCRi7CStdeMMXeXOP2tiLwI+FXBraOAAOBzY8ziYsc3V8G9lFKqUrRLVClVW/wTSAEeKOukMWanMWY9gIj0EJGfReSEiGSIyHwR6VG8vIi8LyL7RKSziPwqIpkiskNEbi9W5jGKNmue4eoOXeg6V6pLtNi1skVkv4g8QhkbcIuIXUQeEpGtIpLj6t59ofhm0SLS2HW/cSLybxFJEpFjIvK9iESXcc2xIrJWRLJEJFVEFolI72LnfUVkqogkuLqSE0TkYRHRz3mlzgP6g6yUqnGusWn9gbnGmOzTlO0ALMLqKr0FGAUEAotEpGOJ4oFY+y7+F/gr1qbZb4rIxa7z7wDXuP77CSCOcrpCRSQUq6s2FBiN1X06BPh7GcX/C0x23fsyrM2jb8Xqei3pIaC56zoTXTG4lROR54HpWHsUjwRuwtrHMNZ13g7MwdpQfBow1PXeHgGeK+v9KKXOLdolqpSqDUIBH6wxa6fzf1ibZl9qjDkGICLzsFrKHgVGFCsbANxhjPnFVW4x1ni464FfjDH7ROR3V9mdxpjlp7jvP7C6ZAcbY/YUu69bzCJyIXAtMNoY86Hr8M8ikgL8V0Q6GWN+L1ZltzHmhmL1GwDPiUikMeaAiDR33fslY8y9xer9UOy/rwf6Av2KdevOFxGAR0VkqjHm0Cnem1KqltMWNqXUueYi4H8nkzUAY8xx4DugX4mymSeTNVe5HGAHrpapCooDlp9M1lzXywC+L1FuCNbEhS9dXaN2VwvY3GLxF/dDia83uP49GeMArM/q6aeIbQhW4vhbGfd0AL1O++6UUrWatrAppWqDo0AW0OgMyoYASWUcP4jVTVpcahnlcgDvMo6fTkNgYxnHk0t8HQZ4AifKuU79El+nlPg6x/XvyRhPlt93itjCsL53eWd4T6XUOUYTNqVUjTPG5LsG+A8UES9XS1h5UoCIMo5HUDr5OZuSgPAyjpc8dhTIBi4s5zoHKnjfI65/o4Bt5ZQ5CiRgjW8rS2IF76mUqmW0S1QpVVs8g9USVOYgeRFpUmzCwWUiElDsXAAw3HWuqiwDeolITLH7+rnuW9xPWK1jQcaY1WW8Kpqw/Qw4gdtOUeYnIAY4Uc49j5yirlLqHKAtbEqpWsEYs1hE7gVeFJE2wPvAHqxuzkuxZkDeAEwB/oI1qH4qYLAW2fUF/l2FIb6ENYN0rms5kBzgfqyu3OLvY6GIfALMcq0dtxIr4WoMDAMeNMZsP9ObGmN2ishLwL2uxPQ7oADoAWw1xnyGNav0b1jfkxeAdVjdss2Ay4ErjDGZlX3jSqmapwmbUqrWMMa8LCIrsWZFPo81ezQdWA2MA743xjhFpD/wJPAB1jpoy7FmSK6rwtiOiMilWMtmfIDVDfkW1ufo/5UofhMwAWupjoexkrtErKU3So55O5N7TxKRP7ASxtFABrAe10QGY0yeiAzGWsvuNqCJq8xOrEkNuRW9p1KqdhFjdAs8pZRSSqnaTMewKaWUUkrVcpqwKaWUUkrVcpqwKaWUUkrVcpqwKaWUUkrVcpqwKaWUUkrVcpqwKaWUUkrVcpqwKaWUUkrVcpqwKaWUUkrVcpqwKaWUUkrVcv8PfXfCwJBsDHAAAAAASUVORK5CYII=\n", | |
"text/plain": [ | |
"<Figure size 720x360 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.figure(figsize=(10, 5))\n", | |
"\n", | |
"for run, probs in enumerate(all_probs[:5]):\n", | |
" preds = np.argmax(probs, axis=-1)\n", | |
" acc = (preds == targets).mean()\n", | |
" nll = get_nll(probs, targets)\n", | |
" calibration_dict = calibration_curve(probs, targets)\n", | |
" print(\"Accuracy: {}\\t NLL: {}\\t ECE: {}\".format(acc, nll, calibration_dict[\"ece\"]))\n", | |
" plt.plot(calibration_dict[\"confidence\"], calibration_dict[\"accuracy\"], lw=3, \n", | |
" label=\"Sample {}\".format(run))\n", | |
"\n", | |
"#Ensemble\n", | |
"preds = np.argmax(swag_ens_probs, axis=-1)\n", | |
"acc = (preds == targets).mean()\n", | |
"nll = get_nll(swag_ens_probs, targets)\n", | |
"calibration_dict = calibration_curve(swag_ens_probs, targets)\n", | |
"print(\"*Ensemble*\")\n", | |
"print(\"Accuracy: {}\\t NLL: {}\\t ECE: {}\".format(acc, nll, calibration_dict[\"ece\"]))\n", | |
"plt.plot(calibration_dict[\"confidence\"], calibration_dict[\"accuracy\"], \"-*\", lw=3, \n", | |
" markersize=12, label=\"SWAG Ensemble\")\n", | |
" \n", | |
"plt.ylabel(\"Accuracy\", fontsize=16)\n", | |
"plt.xlabel(\"Confidence\", fontsize=16)\n", | |
"plt.legend(fontsize=16)\n", | |
"plt.plot([0, 1], [0, 1], \"--k\")\n", | |
"plt.xticks(fontsize=14)\n", | |
"plt.yticks(fontsize=14)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "py38", | |
"language": "python", | |
"name": "py38" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.8.3" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 4 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment