2021-04-03 18:39:29 +02:00

174 lines
36 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 10,
"outputs": [],
"source": [
"import pickle\n",
"\n",
"from pathlib import Path\n",
"from matplotlib import pyplot as plt\n",
"\n",
"import variables as v\n",
"import optuna"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% Imports\n"
}
}
},
{
"cell_type": "code",
"execution_count": 15,
"outputs": [],
"source": [
"_ROOT = Path('..') / 'output' / 'study'\n",
"sr = 16000\n",
"roots = [v.CCS_Root, v.PRIMATES_Root]\n",
"ext = 'png'\n",
"study_ext = '.pkl'\n",
"study_name = 'study_vit'"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% Variables\n"
}
}
},
{
"cell_type": "code",
"execution_count": 16,
"outputs": [],
"source": [
"with (_ROOT / (study_name + study_ext)).open('rb') as f:\n",
" study = pickle.load(f)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 17,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'scheduler': None, 'batch_size': 45, 'target_mel_length_in_seconds': 1.4000000000000001, 'random_apply_chance': 0.1, 'loudness_ratio': 0.5, 'shift_ratio': 0.5, 'noise_ratio': 0.2, 'mask_ratio': 0.4, 'lr': 0.00017173239257248755, 'dropout': 0.05, 'lat_dim': 5, 'sampler': 'WeightedRandomSampler', 'mlp_dim': 4, 'head_dim': 5, 'patch_size': 9, 'attn_depth': 6, 'heads': 4, 'embedding_size': 48}\n"
]
}
],
"source": [
"print(study.best_params)\n",
"best_params = list(study.best_params.keys())"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 18,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['Solarize_Light2', '_classic_test_patch', 'bmh', 'classic', 'dark_background', 'fast', 'fivethirtyeight', 'ggplot', 'grayscale', 'seaborn', 'seaborn-bright', 'seaborn-colorblind', 'seaborn-dark', 'seaborn-dark-palette', 'seaborn-darkgrid', 'seaborn-deep', 'seaborn-muted', 'seaborn-notebook', 'seaborn-paper', 'seaborn-pastel', 'seaborn-poster', 'seaborn-talk', 'seaborn-ticks', 'seaborn-white', 'seaborn-whitegrid', 'tableau-colorblind10']\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"<ipython-input-18-9bb0110acc62>:23: ExperimentalWarning: plot_param_importances is experimental (supported from v2.2.0). The interface can change in the future.\n",
" ax = optuna.visualization.matplotlib.plot_param_importances(study, params=[x for x in best_params if x not in ['sampler', '']], target_name='UAR') # [best_params[-2], best_params[17]])\n"
]
},
{
"data": {
"text/plain": "<Figure size 640x480 with 1 Axes>",
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAnkAAAGrCAYAAAC8F4EYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAA9hAAAPYQGoP6dpAABd8klEQVR4nO3dX2wj150n+q+CyRV2klYVyYtFJpm+TRfHjyu5SWqAwS6kRbo4ebk97mtT3S935L1om9zgoi1seiCOFrAHrX6QqbgbaGgWG1bSD+a9LxTLhhTNyyzLhtnYvETNisW9L4HDanIbMfJgUUX1BjfC3Jj3QakzLP4TRVH/qO8HIEDWn3N+VTStX59z6pyRer1eBxERERENla+ddgBERERENHhM8oiIiIiGEJM8IiIioiHEJI+IiIhoCDHJIyIiIhpCTPKIiIiIhhCTPCIiIqIhxCSPiIiIaAj90WkHQKfjq6++whdffIFLly5hZGTktMMhIiKiHtTrdbx48QLf/va38bWvdW+rY5J3QX3xxRe4fPnyaYdBREREfXj+/Dn+9E//tOsxTPIuqEuXLgHY/49kbGzslKMhIiKiXuzu7uLy5cvi73g3TPIuKKeLdmxsjEkeERHROdPLUCs+eEFEREQ0hJjkEREREQ0hJnlEREREQ4hJHhEREdEQYpJHRERENISY5BERERENISZ5REREREOISR4RERHREGKSR0RERDSEmOQRERERDSEmeURERERDiEkeERER0RBikkdEREQ0hJjkEREREQ2hPzrtAOh0/bxk4xuXvjrtMIiIiIbGX/yZfNohAGBLHhEREdFQYpJHRERENISY5HVgmiYCgQBs2z5yOR6P58jlEBERER0Gk7wOgsEgFEUZSDnhcHgAERERERH1jkkeERER0RA6lSQvkUjAMAwkEglYlgXA3T1qWRYikQh0XXedo2kaEokEdF2Hpmk9lWsYBjweDzRNg67riMfjPe1rpOs6PB4PDMMAAMzMzCCRSLS9Nic2p0yHYRjQdR0zMzM93QunvnbntKvDuS/Ly8swTbPL3SciIqKL4FSmUPH5fFBVFQCQTCaRSqVc3aOKoiASiYjjTdOEZVlIJpPQNA3VahWxWKynclVVhaIouHnzJmRZRjAYRCQSQalU6rqvUTQaRS6XE58jkUjb+k3TRCaTQTabhWVZSCQSiEajAABZlqGqKizLgq7rYnunexEOh+H1elvOaVdHtVqFz+cTZUYiEVe8ALC3t4e9vT3xeXd3t5evioiIiM6pU+uu1TQNpmmiWq0eeKyiKLBtG7Zto1AodB3j1qlcWZZFWdVq1fUgRLd9jng8jlQqBQDwer1t685kMiI5VRQF2WzWdQ39xnxQHYVCAdvb2zAMA4ZhIJlMtpy3tLQESZLE6/Llyx3jISIiovPvxJM8TdOwvb2NWCwmWrCc7kVZlkWiUyqVxHtZlkV3ptPSdZhyAYjEzbZteL1eVwLVbZ8jGAzCsixomibKb+bz+VytgI3JYrvE8KCY253Tro5QKAQAUFW1Y2wLCwuo1Wri9fz587bHERER0XA48SQvHA7Dtm0YhiGSOGcsWjweh67rYl8ulxOJUi6Xa0nuRkZGxCsej3csFwBWV1eh6zqWlpZaujLb7XO6iBvH/t26dQuFQkEkgY31j4yMYH5+HgCwvLwMXddhWZarHNu2kcvlkMlkYNt2x3vR7Zx2dcRiMfh8vpZxgI1GR0cxNjbmehEREdHwGqnX6/XTDqIXoVDI1bKVzWbbtrh1OrdQKBx6XzOnS7VTa9l5sru7C0mSkDMr+MYlJnxERESDcpzLmjl/v2u12oENNudiCpVEIoGPP/4YuVwOuVxOPIBxGN0mIz5oomKndezp06dDkeARERHR8DsXSV48Hhddqk53brunW9tp1+3ay75GztOtnNSYiIiIzotz011Lg8XuWiIiouPB7loiIiIiOjanMhkynR1/HpD5pC0REdEQYkseERER0RBikkdEREQ0hJjkEREREQ0hjsm74P7vwnP8i29eOu0wiIjoFPwfk//LaYdAx4gteURERERDiEkeERER0RAauiTPNE0EAoEDlyobhEAgcOx1EBEREfVj6JK8YDAIRVFOpK5cLnci9TQ77Lq9REREdPEMXZJ3kk4qmWyWSqVOpV4iIiI6P4Y+yUskEtB1HcvLyzBNU2wzDAOJRAKWZQEADMNAIBCAYRiIRCKwbRumacLj8cAwDOi6jpmZGVFuY7dwt+Oc+jRNE7E0t8S1q7tbnLZtQ9M0GIbR9TqJiIjo4hrqKVQ0TYPP50M0GgUARCIR5HI5+Hw+qKoKAEgmk0ilUlBVFbIsw+v1IpvNQpZlBINBhMNheL1eqKoKy7Kg6zqi0airW7jbcaZpwrIsJJNJaJqGarWKWCzmirNd3QC6xtlYRqfrbLS3t4e9vT3xeXd3d4B3moiIiM6aoU7yCoUCZFkWLV7JZFLs0zQNtm2jWq26zgkGgy3lOEnXQdodpygKbNuGbdsoFAqIx+Mdz29Xd6c4G3W7TsfS0hLu3bvXw1UQERHRMBjq7tpQKARgv6XMaRHTNA3b29uIxWJi20Hdm16vt6f62h0ny7Lobk2lUm0TuXYOitO2bei6DqD9dTZbWFhArVYTr+fPn/cUBxEREZ1PQ5fkOd2jmqYhFovB5/NB0zSREIXDYdi2DcMwROuYZVmu89qVZds2crkcMpmMGIdnWRZWV1e7HgfsP4XbnNyNjIy4Xs11d4oTAOLxODRNEy2H7a6z2ejoKMbGxlwvIiIiGl4j9Xq9ftpBDLtQKORq5Wscd3dadnd3IUkS/tMn/w+XNSMiuqC4rNn54/z9rtVqBzbYDPWYvLMgkUjg448/FkmdaZrQNA3z8/OnGxgRERENNSZ5xywej2N1dVW05FmW1fJ0LREREdGgMck7ZoqiMKkjIiKiEzd0D14QEREREVvyLrz/PXSZT9oSERENIbbkEREREQ0hJnlEREREQ4hJHhEREdEQ4pi8C+43b3wHv/36yGmHQURD4k9Wd087BCL6A7bkEREREQ0hJnlEREREQ4hJ3oCZpolAIADbtvsuw7IshEIhGIYhtgUCgQFER0RERBcFk7wBCwaDUBTlSGUoigJVVV3bcrnckcokIiKii4VJ3jlx1MSRiIiILhYmeT0yTRMejweGYUDXdczMzMA0TRiGgXg8DtM0W84xDAMejweapkHXdcTjcViW1bGO5eVlcWxjeY1dwP3EQURERBcPp1DpUTAYRDgchtfrhaqqsCwLhmFgfn4eXq8XqVQKqVTKdY6qqlAUBTdv3oQsywgGg4hEIiiVSi3l67qOUqkkymjsnm3sAu4nDgDY29vD3t6e+Ly7y2kOiIiIhhlb8g5JluW273s5R1EUVKvVtg9l5HI5hEKhnss+bBxLS0uQJEm8Ll++3EPkREREdF4xyTskr9fb9n03TlJn2za8Xm/bpKy5he+gp3MPG8fCwgJqtZp4PX/+vKfYiYiI6Hxid22PTNOEZVnQNA2xWAy5XA6yLENVVWQyGTx9+hSWZcG2bXHc/Pw8AGB1dRVerxebm5uiG3ZkxL3KRL1eh2VZ0HUdwP40KqlUCqqqirpXV1cRDod7iqP5QY3R0VGMjo6ewJ0iIiKis2CkXq/XTzuIYRYKhVAoFE47jBa7u7uQJAm/vPFNXOKyZkQ0IFzWjOh4OX+/a7UaxsbGuh7L7toTcJSJkYmIiIj6wSTvGDV28RIRERGdJI7JO0bBYBA7OzunHQYRERFdQGzJIyIiIhpCbMm74L71wa8PHLhJRERE5w9b8oiIiIiGEJM8IiIioiHEJI+IiIhoCHFM3gX3mze+g99yMmSivnDiXyI6y9iSR0RERDSEmOQRERERDSEmeURERERDiEneHxiGAY/HM/ByTdOEx+Ppe/3aQCAw2ICIiIjoQmCS9weqqkJRlEOfd9C6tMFgEOFwuN+wkMvl+j6XiIiILi4meUeUSqWOtfx+Ek8iIiIiTqHSRNM0KIqCXC6HeDwukqxEIoFIJOLabhgGbNsW56iqCgDQdR3VahUA4PV6Aex3BwNAJpNBNpttqdc0TViWBVmWkc1mkUqlYJomZmZmUCgUsLq6ilKphMnJSaRSKUQiEczPzyORSGBychKWZUFVVQSDwbbXtbe3h729PfF5d5dTPxAREQ0zJnlNbt68CVmWoaoqAoEASqUSAMDn84kkLplMIpVKQVVVyLKMWCwmzjdNUyRylmUhkUgAgCjTsizouo5oNOqqN5PJIBAIQFVVkRgGg0GRZHq9XsRiMZEszs/PQ9M0+Hw+UZaThLaztLSEe/fuDeo2ERER0RnH7tomsiyL99Vq1fXAhKZpME1TtNK1k8lkEIlEAOx3tTqtdgd1uy4sLKBQKCAUCmFpaallfzQahW3biMfjyGazsG0bhUIB29vbMAwDhmEgmUx2Lb9Wq4nX8+fPu8ZDRERE5xuTvCZOUmfbNrxeL2RZhqZp2N7eRiwWE615pmm6ztF1HcB+i5/T+tdYntM618nq6ipSqRRKpRK8Xi8sy2o5ZmZmBqlUCrIsY3V1FaFQCMD+QyNOXJ2Mjo5ibGzM9SIiIqLhxe7aBqqqwjAMyLKMXC4nuj7D4TAKhYLoKgUAy7IQDAYRj8ehaZoYC+eMk1teXoaiKPjd734Hy7KgaRpisRhyuZzoum2essVJBAOBABRFEeP0VldXXcnn8vIytre3kUwmsby8DE3T4PV6+ZAGERERCSP1er1+2kHQydvd3YUkSfjljW/iEteuJeoL164lopPm/P2u1WoH9sqxu5aIiIhoCDHJIyIiIhpCTPKIiIiIhhAfvLjgvvXBr/mkLRER0RBiSx4RERHREGKSR0RERDSEmOQRERERDSGOybvgfvPGd/BbzpNHQ47z2RHRRcSWPCIiIqIhxCSPiIiIaAgxyTtBlmUhFAq51sA9CtM04fF4xLq2RERERA4meW1omtbTtsNSFAWqqh6pjMY4gsEgwuHwUcMiIiKiIcQkr41UKtXTttNwVuIgIiKis+1CJ3mJRAKGYSCRSMCyLACAYRiwbRuapolu1XbbnK5SwzCg6zpmZmY61rO8vAxN06DrOkzTbIlB13UsLy/DNE0YhgGPxyOOj8fjXWNzth8UAxEREV0sF3oKFZ/PJ7pPk8kkUqkUVFWFLMuIxWLiuHbbnK5Sr9cLVVVhWRZ0XUc0GnXVoes6SqWSaIHL5XJin6Zp8Pl84pxIJIJcLgdFUXDz5k3IsoxgMIhIJIJSqdQ2DgCQZblrDACwt7eHvb098Xl3l1NKEBERDbMLneQB+4mWbduoVqt9nS/Lctf9uVwOoVCo7fGFQgGyLItWuWQy2XKcoiioVquwbbtjXYqiHBjn0tIS7t27d+BxRERENBwubHetpmnY3t5GLBYTrXmNXam2bUPXddc57bZ5vd6u9TitcI1lOJzkT1XVlgcynONs24bX63UleM1xHBQDACwsLKBWq4nX8+fPDzyHiIiIzq8Lm+SFw2HYtg3DMEQrnjP2LR6PQ9M0V2LVvM00TViWJVoCc7kcMpkMRkZGXK9oNAqfzwdd16HrOizLEl23sVgMPp9PjL9rtLq6Cl3XsbS05OribYyjUwztplQZHR3F2NiY60VERETDa6Rer9dPOwhyC4VCKBQKx1rH7u4uJEnCL298E5e4rBkNOS5rRkTDwvn7XavVDmywubAteWcdJzgmIiKio2CSd8Y0dsESERER9evCP1171gSDQezs7Jx2GERERHTOsSWPiIiIaAixJe+C+9YHv+aTtkREREOILXlEREREQ4hJHhEREdEQYpJHRERENIQ4Ju+C+80b38FvORkynQOc0JiI6HDYkkdEREQ0hJjkEREREQ0hJnnHzDRNeDyevpcpCwQCgw2IiIiILgQmeUd00PJjwWAQ4XC47/JzuVzf5xIREdHFxSTviFKp1LGWryjKsZZPREREw4lP1/6BYRiYmZlBMpmE1+tFLpdDIpEQSVYikUAkEkEul0M8HoeiKDAMA7ZtQ9M0KIoCVVUBALquo1qtAgC8Xq8oHwAymQyy2WxL/aZpwrIsyLKMbDaLVCoF0zQxMzODQqGA1dVVlEolTE5OIpVKIRKJYH5+HolEApOTk7AsC6qqIhgMnsTtIiIiojOOSd4fqKoKRVFw8+ZNyLKMYDCISCSCUqkEAPD5fCKJSyaTSKVSUFUVsiwjFouJckzTFImcZVlIJBIAAFmWoaoqLMuCruuIRqOu+jOZDAKBAFRVFYlhMBgUSabX60UsFhPJ4vz8PDRNg8/nE2U5SWg7e3t72NvbE593dzkdBRER0TBjd20TWZYB7HeTVqtV1wMTmqbBNE3RStdOJpNBJBIRZTitdgd1uy4sLKBQKCAUCmFpaallfzQahW3biMfjyGazsG0bhUIB29vbMAwDhmEgmUx2LH9paQmSJInX5cuXu8ZDRERE5xuTvCZOUmfbNrxeL2RZhqZp2N7eRiwWE615pmm6ztF1HcB+i5/T+tdYntM618nq6ipSqRRKpRK8Xi8sy2o5ZmZmBqlUCrIsY3V1FaFQCMB+K6QTVycLCwuo1Wri9fz58+43goiIiM41dtc2WV1dhdfrxebmpuj6DIfDKBQKoqsUACzLQjAYRDweh6ZpYiycM05ueXkZiqLgd7/7HSzLgqZpiMViyOVyouvW4/G46nYSwUAgAEVRxDi91dVVV/K5vLyM7e1tJJNJLC8vQ9M0eL3erq2Fo6OjGB0dHeStIiIiojNspF6v1087iLMiFAqhUCicdhgnYnd3F5Ik4Zc3volLXNaMzgEua0ZE9M9/v2u1GsbGxroey+7aJv1OWkxERER0ljDJ+wOna/SgyY2JiIiIzgOOyfuDYDCInZ2d0w6DiIiIaCDYkkdEREQ0hNiSd8F964NfHzhwk4iIiM4ftuQRERERDSEmeURERERDqK8kb3JyEh999NGgYyEiIiKiAelrTF4sFsNrr73m2vbJJ5/gu9/97kCCopPzmze+g99yMmRqwEmHiYiGQ19J3sjICL7//e+L5beq1Sqy2SyTPCIiIqIzoq8k77333oOqqvjyyy/x5ZdfAgCq1epAAyMiIiKi/vWV5KVSKVy7ds217eOPPx5IQERERER0dH09eHHt2jX88Ic/xK1btwDsJ3iTk5MDDey8ME0TgUBgoGveWpaFUCgEwzDEtkAgMLDyiYiIaPj1leQtLCxAlmWoqgpgP+lrTEgukmAwCEVRDjzuMGviKooi7q0jl8sdOjYiIiK6uPpK8sLhMN56662ekhval0qljnQ+7zUREREdRl9J3rNnzwDsP2Xr2NzcHExE51wikYBhGEgkErAsCwBgGAZs24amaV1bPJeXl6FpGnRdh2maYntjl7BpmvB4PDAMA7quY2ZmBqZpwjAMxONx13mN9vb2sLu763oRERHR8OrrwYurV68iHA7D5/Mhl8vBMAwkk8lBx3Yu+Xw+0dWaTCaRSqWgqipkWUYsFut4nq7rKJVKosWvsXu2sUs4GAwiHA7D6/VCVVVYlgXDMDA/Pw+v14tUKtW21XBpaQn37t0b5KUSERHRGdb3gxfZbBZXr15FvV6HpmmcI6+BpmkwTfNQ08rkcjmEQiHxWZblrsc37j/oWGB/HGWtVhOv58+f9xwbERERnT99JXnlchkvvfQS3nvvPSwsLMCyLJTL5QGHdv5omobt7W3EYjHRmtfYfWrbNnRdb3tuJBJBqVRyHduN1+tt+76T0dFRjI2NuV5EREQ0vPpK8hrHlUmShNdff/3CPl1rmiYsy4KmaQiHw7BtG4ZhiFY8Z1xePB6Hpmmi1W1kZMT1ikaj8Pl80HUduq7DsizR7erUsbq66qrPtm3kcjlkMhnYto1MJoOnT5+KOomIiOjiGqnX6/VeDqzValhdXcXIyAhyuRwikYhrf6FQwH/+z//5WIKkwdvd3YUkSfjljW/iEteupQZcu5aI6Oxy/n7XarUDe+V6fvBCkiSoqopkMolSqYSXXnrJtX9+fr6/aImIiIho4A71dO1LL72EH/3oR/j4449bljUjIiIiorNjYMuacd41IiIiorOjr3nyFhYWXEtvXbt2DR999BFee+21gQZHx+9bH/yaT9oSERENIS5rRkRERDSEuKwZERER0RDismZEREREQ6jnefKaPXv2TEzWe+vWLVy9enWggdHxcubZyZkVfOMSx+SdZ3/xZ/Jph0BERCfkWObJa+Ysa9ZYKQfwExEREZ0NfY3JA/aTunK5LF6JRGKQcRERERHREfSV5P37f//vEQwGEY1GxWt1dXXQsR2ZaZoIBAKwbftQ+wYdg8fj6bmeQCBwrPEQERHRxdBXd20gEMCPfvQj17Yf//jHAwlokILBYMdpXrrtOwpN0xCLxVz1hMPhns/P5XIDj4mIiIgunr5a8pxJkBtFIpEjBzMMnIdR+sW5B4mIiGgQ+mrJ83g8eP/996EoCmRZhm3byGQyyGQyg44Ppmni2rVryGazop6FhQVUq1Vks1nE43EEg0EAQCKRwOTkJCzLgqqqYnsvms8F0FJvNpt1HR8IBFAqlTA5OYlqtQpFUWDbNjRNc60IAgCGYQBASznN1zozM4NCoQDLsrrW33yeZVmQZRnZbPbIiSYRERGdf30lefPz87BtG7Isi22/+MUvBhWTi9Pd6fV6oaoqLMuCYRiYn5+H1+tFKpVCKpWCpmnw+XyIRqMA9lsWe+367HRuc726riMajYqkKplMQtM0VKtV0UUry7Kru9Yhy3JLOe2u1WnJa3fdnc7LZDIIBAJQVRVer7ftNe7t7WFvb0985lrDREREw62vJC8SieCtt95ybfvwww8HElAnjQll43tHoVCALMuixewwkzN3O7ddXU6LnW3bKBQKiMfjB9bRbzdsu/qbLSwsIJFIIJlMIhgMtm3xW1pawr179/qKgYiIiM6fvsbktXsC9LifCm1soWrXWhUKhQDsjxdsN2awm27ntqtLlmUkEglYloVUKtXSLWzbNnRdP7CcXvRy3urqKlKpFEqlErxeLyzLajlmYWEBtVpNvJ4/f95XPERERHQ+9JXklUol3Lp1C++//z7ef/99/PCHP2xp2RsUp2tU0zTYto1cLodMJiPGqT19+hSWZSEWi8Hn80HTNJFgNZ4L7K+12/hy9h10bnO9wP5TsO3G/MXjcWiaJlrgupXTHI9z7Orq6qHOK5VK0HUduq4jEAi0bTUcHR3F2NiY60VERETDq69lzcLhMFRVhc/nE9uchOuiCIVCrla2bDbbU9fqWcFlzYYHlzUjIro4jn1Zs2QyiWvXrrm2HbaL9DxLJBL4+OOPXa11mqZhfn7+dAMjIiIi+oO+krzmBO+TTz6Bbdu4evXqQII66+LxOFZXV0VLntNdTERERHRW9JXkAcBHH30kBvjX63U8ffoUr7322sACO8sURWFSR0RERGdaX0ne3/7t38K2bdcEwL1MI0JEREREJ6PvtWvfeustPHv2DCMjI/D7/fjkk08GHRudgD8PyHzSloiIaAj1NYWKoiioVCp46aWXWuaDIyIiIqLT11dL3s7ODhRFwc7ODr788kt873vfgyzL+O53vzvo+IiIiIioD33Nk9fs448/RjgchiRJg4iJTsBh5tkhIiKis+HY58mbnJzEwsKCeJq2eUoVOj9+XrLxjUtfnXYYdAScDJmIiNrpa0xeLBZrmS6FD14QERERnR19teSNjIzg+9//vlgndXt7G7quc0weERER0RnRV5L33nvvQVVVfPnll/jyyy8BANvb2wMNjIiIiIj611eSl0qlWsbhffzxxwMJqFemaWJmZgaFQkGsIdsvy7IwMzODZDJ5btbgDQQCKJVKpx0GERERnVF9jclrt3ZtrVYbSEC9CgaDUBRlIGUpinKmkztN01q25XK5U4iEiIiIzguuXXsOpFKplrVyB5XgEhER0XDqqyXvb//2b/Ff/st/wc9//nN8+eWXKJVKp7527fLyMnRdFy9gv0s3EAjAtm1YloVIJOJaoWN5eRmapkHXdZimKbabpgmPxwPDMKDrOmZmZlx1JRIJ6LqO5eVlmKYJ0zSh6zoMw0A8Hm/53MwwDAQCARiGgUgkAtu2RbmGYSCRSIgE2jAM2LYNTdNgGEbLdXW69mZ7e3vY3d11vYiIiGh4DcXatU53ZjQaBQDE43EoiuLq0lUUBZFIRJyj6zpKpRJSqRQAd/dnMBhEOByG1+uFqqqwLAu6riMajULTNPh8PlFXJBJBMBhEIBCAqqrwer3IZDKuz81UVYUsy/B6vchms2JMoc/nE93GyWQSqVRKHNvYktd4Xd2uvdHS0hLu3bvXz+0lIiKic2go1q4tFAqu7kunlaybXC6HUCgkPrd7eKPdtkKhgO3tbRiGAcMwkEwmsbCwgEKhgFAohKWlpZbPnQSDwZY6NE2DaZqoVqtd42+Mp5drX1hYQK1WE6/nz5/3VD4RERGdT30lebZtQ1EU7O7uirVrnRax0xAKhUT3JgCUSiXRkiXLskiYSqWSeB+JRFxPpzpdn43atcI5iaGqqqLVbXV1FalUCqVSCV6vF3//93/v+twYWyeapmF7exuxWEyU29iFbNt224S627U3Gh0dxdjYmOtFREREw6uvJO/111/H73//e4yNjeG9997D/Px82ydAj5NpmrAsC5qmia5MXdehaRpCoZBIlOLxuBgfV61WkcvlYNs2otEofD6fGMdmWZZIVBvLtm0buVwOmUwGtm0jFovB5/OJsXzAfmLllBMIBPDixQvXZ0VRMDIy4no55TvC4TBs2xZxAhDJWzweh6ZpotXPiW91dbXrtRMREdHFNVKv1+v9nuwM3mer0PnjLHCcMyv4xiV+f+cZ164lIro4nL/ftVrtwPyrr5a8Wq2Gv/zLv4Qsy/B4PPje977HpzWJiIiIzpC+krxEIoF4PI6vvvoKv//97/HWW291fcCAiIiIiE5WX1OohEIhvP766+JzNBrFyMjIwIIiIiIioqPpK8nz+Xwt2zwej3j/2Wef4ZVXXuk7KDo5fx6QOaaSiIhoCPWV5OVyOViWJZ72tG0bpVJJPA2azWbxj//4jwMLkoiIiIgOp+8kT5IkfPnll2KbJEn41a9+BQA9T+RLRERERMejryQvlUrh2rVrHfd//PHHfQdEREREREfX1zx54XAY//E//ke89tprxxETnQDOk3dyOI8dERENyrHPkxePx1sSvE8++aSfooiIiIjoGPTVXTsyMoLvf//7YsmuarWKbDaL7373u4OOj4iIiIj60FdL3nvvvYd6vY4vv/wSP//5z/GrX/3qQj5sYVkWQqEQDMM47VCIiIiIXAb24MVFfNhCURSoqnraYQAANE1DLBY77TCIiIjojOirJe/atWv44Q9/iFu3bgHYT/AmJycHGhgdTiqVOu0QiIiI6AzpK8lbWFiALMuiFevatWsXqstyeXkZmqZB13WYpim2G4aBQCAAwzAQiURg27Y4Xtd18XKO9Xg8opx4PC4mk253vGmaCAQCsG0blmUhEom4yrJtG5qmXajvgYiIiDrrq7s2HA7j9ddfv5BdtLquo1QqiZazXC4n9qmqClmW4fV6kc1mIcsyNE0DsL++L7D/ZLLTzasoCm7evAlZlhEMBhGJRJBIJNoeHwwGoSgKgP1u4kgk0lJvt+7avb097O3tic+7u7uDuB1ERER0RvXVkvfs2TMA+0/ZOjY3NwcT0RmXy+UQCoXEZ2dpt0bBYFBsLxQKIjkDIFr6ms93nlL+2c9+1vX4fi0tLUGSJPG6fPnykcskIiKis6uvJO/q1asIh8NIJpNYWFjA5OSkq2VpmEUiEZRKJfHZ6ZLtJBQKiW5YACiVSggGgy3n27YNr9eLf/2v/3XH42VZFk8xl0qllieabdsWXbjNFhYWUKvVxOv58+cHXywRERGdW32teAHst+Y5XZa3bt3C1atXBxrYWba8vCxa21KpFGRZRjabhWmauHbtGpLJpKvr1DneScqcfaFQCPF4HF6vF5ubm6JrttPxhmHANE0Eg0Fx73/84x+LbmHbthEMBnt64pcrXpwcrnhBRESDcpgVL/pO8ujoQqEQCoXCqdTNJO/kMMkjIqJBOfZlzRor4gD+ozmou5eIiIioH30lebVaDX/5l38JWZbh8Xjwve99j8neIZmmCcuyxNO3RERERIPUV5KXSCQQj8fx1Vdf4fe//z3eeustLC0tDTq2oRYMBrGzs4P5+fnTDoWIiIiGUF/z5IVCIbz++uviczQadU2nQkRERESnq68kz+fztWzzeDzi/WeffYZXXnml76Do5Px5QD5w4CYRERGdP30leblcDpZliYl8bdtGqVQS87tls1n84z/+48CCJCIiIqLD6TvJkyQJX375pdgmSRJ+9atfAUDLJL1EREREdLL6SvJSqRSuXbvWcf9FXNOWiIiI6CzpK8kzDKNrktdtH50tPy/Z+Malr047jKHCyY+JiOgs6CvJy2azCAQCCIfDfMCCiIiI6AzqK8krFAqQJAnPnj3DRx99BAB47bXXBhoYEREREfWvr8mQJUkCALz00kvY3t7G/Pw8bt26hY8++gjlcnmQ8RERERFRH/pK8m7duoXvf//78Pl8sCwLuVwOmUwGr732GnZ2dvDJJ58MOs4zJRAInHYIZyIGIiIiOrv6SvIKhQJCoRC2t7extLSEl156Sezb2dmBbduDiu9MyuVyJ1pfu/VtTzoGIiIiOl/6SvKSySTefPPNtvtWV1fFJMnDSlGUE60vlUqdegxERER0vvSU5P3kJz9xfW5ct9bhPIDxox/9CN/97ncHENrxM00THo8HhmFA13XMzMy49i8vL0PXdfFyzgkEArBtG6ZpQtd1GIaBeDwuzkskEtB1HcvLyzBNs6VewzAQCARgGAYikYho+UwkEjAMA4lEQqweYhgGbNuGpmkwDKMlhk5xNtvb28Pu7q7rRURERMOrp6drs9nsgV2wzpi88yQYDCIcDsPr9UJVVViWBV3XEY1GRRdpNBoFAMTjcSiKgmAwKFrRMpkMAoEAVFWF1+sFsN+16vP5xHmRSKSla1VVVciyDK/Xi2w2K1o+fT4fVFUFsN9amkqlxLGxWMwVtxNDtzgbLS0t4d69e4O5cURERHTm9ZTkbW5uYnt7W3y2bbulS/bZs2cDDewkteteLhQKiEQi4rPT8taYPC0sLCCRSCCZTCIYDCKbzaJQKECWZdHqlkwmO9bbnIgB+0mbbds9Lw3XS5xOrD/4wQ/E593dXVy+fLmnOoiIiOj86am7NplM4unTp+KVSCRcn58+fYr33nvvuGM9Nk4rXKNQKCS6TAGgVCq1JE6rq6tIpVIolUrwer2wLAuhUAjAfmud0yrXC03TsL29jVgsJs5r7Oq1bbttV2wvcQLA6OgoxsbGXC8iIiIaXj0leTdv3nR9HhkZOfCY88A0TViWJVrPnKlgbNsW3aO6rkPTNIRCIaiqKs5ZXV1FqVQS4+ACgQAURUEsFoPP54OmaSIpGxkZcb0a63WEw2HYtg3DMEQrnpO8xeNxaJomWhwbY+gUJxEREV1sI/V6vX7QQZ999plr+bIf//jHeOutt7oeQ2fb7u4uJElCzqzgG5fYqjdIXLuWiIiOi/P3u1arHdgr11NLXiaTwYsXL8RTmbVazfV5d3cXmUxmIMETERER0dH11JL3ta99zdVFW6/X237+/e9/fzxR0sCxJe/4sCWPiIiOy2Fa8np6ujYWiyGRSLR9QAEAtre3sby8fPhIiYiIiOhY9JTkxeNx19JlzSRJck0GTOfHnwdkPmlLREQ0hHoak3f16tWBHENEREREJ6OvtWuJiIiI6GxjkkdEREQ0hHoak0fD6zdvfAe//Xrr5Nbk9ieru6cdAhER0aGwJY+IiIhoCDHJIyIiIhpCTPKIiIiIhhCTvBNgmiY8Hg9s2x5YmZZlIRQKwTCMgZVJREREw4NJ3gkIBoMIh8MDLVNRFKiqOtAyiYiIaHgwySMiIiIaQpxC5QQ5XauZTAbZbFZsTyQSmJychGVZUFUVwWAQiUQCkUgEuVwO8XgciqIAAJaXlyHLMrxeL0zTRCQSAbDfJWxZFmRZRjabRSqVctW9t7eHvb098Xl3l1OCEBERDTMmeSdIlmWoqgrLsqDrOqLRKDRNg8/nQzQaBQCR2Pl8PtEdm0wmkUqloOs6SqWSSOByuZwoO5PJIBAIQFVVeL3elrqXlpZw7969E7hKIiIiOgvYXXuCnNa4RoVCAdvb2zAMA4ZhIJlMin2apsE0TVSrVQD7SV0oFBL7ZVkW7xcWFlAoFBAKhbC0tNRSz8LCAmq1mng9f/58gFdGREREZw1b8k5Quxa2UCiEUqkkWu1M04Smadje3sb8/DxM08Tm5qbomt3c3BTnNj6tu7q6Klr44vE4LMtyJZWjo6MYHR09pisjIhqsr776Cl988QX+6Z/+CfV6/bTDITpxIyMj8Hg8rgadw2KSdwKc8XKapiEWiyGXy4mu21gshuXlZWiaBq/XC0VREA6HUSgUXNOjWJaFaDQqunqdbalUCqqqolQqie2BQKBtqyER0XnxxRdfAAC++c1vnnIkRKejXq/Dtm387ne/w7e+9a2+yhip859IF9Lu7i4kScIvb3wTl7h27YG4di3RyXr27BkTPCIAL168cDXcOH+/a7UaxsbGup7LMXlERHTmsP2B6OiY5BERERENISZ5REREp6RYLOLu3bv4l//yX2JxcRHpdBorKyu4e/cuNjY2Wo5XVbXt9n40lpXP5zE5OTmwstvVQSePY/IuqMP06RMRnTTLsnDp0qXTDuNE1Go1vPzyy/j8888hSZLYfvv2bbzyyiu4c+eO2JbP5/HKK6+4jutU5kHHNJd19+5d/Nt/+29x/fr1I11LY729xkudcUweERHRkHn48CHu37+PWq0mtk1PTx+YMJXLZayvrx9YfnNZR03E2tXbS7x0fJjkERERnUGSJGF8fBzpdPpQ562srBxTRGezXuqMSR4REdEZdeXKFXz22WcA9sfvqaoqkr5arYZ0Oo18Po+NjQ0sLi4in89ja2sL+Xwe6XQa5XJZjLdLp9NIp9NQVbWlLMenn37qKs9pRczn81BVVSRyGxsbmJycRD6fF/ub621XR7FYxMrKCjY2NrCysoJyuewq37medDqN27dvi/PaXSsdjJMhX3A/L9n4xqWvTjuME/cXfyafdghERD1xEq3x8XG8+uqrYns6ncb4+Dimp6cBADs7O5ienkY+n4ff78fs7CwAwO/3Y2pqCltbW3jw4AE8Hk9LWQ6/3y/KGxsbw+3bt6HrOqanp1EsFsVx169fx9ramvjcrl4ArjrK5TIWFxfFxP3A/oMZH374oTg/n8/j8ePHAICf/vSnKBaLojWz+VrpYEzyiIiIzqhKpYKpqam2+65fv45IJIIrV67g1VdfdSVXzSRJgsfjEed1O84xPT2NmZmZnh7i6IWTqDW6cuUK1tfXMTs7C4/HI2J0YnGSucNcK/0zdtcSERGdUZVKpWNC4/F48Pnnn+Phw4fY2dlxdW86Gh/a8Pv9xxVm13oHoZdrpVZM8oiIiM6gu3fv4q//+q9bkjMngXr06BHK5TLGx8fx7rvvtm1te/LkiXjfrouzORlr/FwsFjE1NSXKbWxZc8re3W2/5GNjvU6ZN27ccG136mjXbdysl2ulVuyu7cI0TVy7dg3Pnj2DLMst+wOBAEqlEoD9OZ10Xcfm5iay2eyxx9ZYNxERnU/FYhEffPABgP1Exu/3o1aroVwut8xZVywWsb6+DlmWcf36dXg8Hjx58gT/7b/9N+zs7ODGjRsAgNnZWaysrCCdTmNqagr5fB5PnjxBsVjElStXxPi6xrKcRNLv96NcLmN3dxefffaZGB8H7I+vcx7uAICpqSl88MEH+Ff/6l+JsXiN9TbXMT4+jnfeeQcrKyvw+/34xS9+gcePH0OSJHEssN9NXKlUUCwWkU6nceXKlY7XSt1xMuQDRCIRZLPZtkmeZVligsKZmRkkk0l4vV7IsgxN0xCLxQYSQ7uyGuvuhzOZYs6s4BuXLt5kyHzwguhsu0iTIRN1w8mQT0njTbdtWyR4AJBKpQZWT7uyjpLgERER0fBjkvcHpmlC13UYhoF4PO7aZxgGdF3HzMyM6/hAIADbtmGaJizLgqZpsCwLhmHAtm1omgbDMFrqMgwDgUAAhmEgEonAtm0AQCKRgGEYSCQSsCxLHNtcVmPdALC8vAxd18Wrnb29Pezu7rpeRERENLw4Ju8PMpkMAoEAVFWF1+t17ZNlGaqqinF30WgUwWBQtKY572OxGGRZhqIokGW5Y3etqqqQZRler9fVFezz+aCqKgAgmUwilUqJYxvLaqxb0zQAQDQaBQDE43EoioJgMOiqc2lpCffu3TviXSIiIqLzgi15f7CwsIBCoYBQKISlpSXXvuPqGg0Ggy1j/TRNg2maqFarPZVRKBRc8TkthM0WFhZQq9XE6/nz50eKnYiIiM42Jnl/sLq6ilQqhVKpBK/XK7pLAbS07PXKtu2O3afNNE3D9vY2YrGYaM0zTfPAskKhkCvWUqnU0ooHAKOjoxgbG3O9iIiIaHgxyfuDUqkkxrQFAgEoiuIaa2fbNnK5HDKZjGsc3urqqus4Rzweh6ZpkGUZIyMjrle748PhMGzbhmEYohXPSd4aywLgqtvpxtV1HZqmIRQKiSSRiIiILi5OoXJBcQoV+bRDIKIuOIUK0T5OoUJERERELny6loiIzrx7//XLYyv77/7N/9x1f7FYxKNHj1CpVPDOO+9genoatVoNP/jBDwAADx8+PHCZrcnJSWxubgIAyuUyNjY2WlaUGLTGuJ31b2u1Gvx+v2sljcbYjsIpJ5/P480338Tnn38+sDKpP2zJIyIi6mJ8fBzT09OYmJjA9PQ0gP11XOfm5jA3N9fTOqqNy13ev38f169fx8OHD48tZmA/7hs3bmBiYgKzs7OYnZ3FnTt38Itf/ALpdLptbO00HtuNU8709DSuXLnSV8zNdZ3EMqHDjC15F9yfB2Q+aUtE1IfD/L/TWRsW2G9N83g8PSWHx2Fubg7hcFi07jXG1k46nRbHdnNQOb1ormsQZV5kbMkjIiI6omKxiJdffhn5fB4bGxu4ffu2a9/k5CRqtRqKxSIqlQrS6TTK5TIAYGVlBRsbG+IFAPl8HpOTk8jn84hGo/jZz37WUn6xWEQ+n8fdu3dRLBZ7jlWSJMiyjGKx2BLbxsaGKNOJo1arIZ1OI5/Pt43NOdcpx+Gcs7i4KK618bhyuYxoNOq65sa6mstsd5+63XdiSx4REdGRjY+PY2JiAh6PB9PT02Lc3fXr1zE+Pi66L533s7OzkCRJdE86Y+Tu3r2LK1euYHp6GpIkwePx4PHjx5AkqaX8fD6PO3fuwOPx4IMPPsCDBw/6ituJbW1tDX6/H1NTU/B4PAAg4mhsXWsXW2M5jldffRWSJGF6elqMrWs8zu/3i+7vTnU5x3a6T93uO7Elj4iI6EAej0esF+6oVCoiGXIcdvjL1taWq0vS7/eLFjNgPwlr7NZtLP8o3b22bWN8fNy1bW5uDltbW1BVFY8ePTqwjObYmjXus23b1cp3WAfdJw47ao8teRfcb974Dn779ZHTDqMvf7K6e9ohENEFMTU11ZL4VCoVV0sUgJak7yATExOiKxPYf/L2r/7qrzoe31j+YetyrKys4O23327Zvr6+LloD7969i3K5LBKrWq2GJ0+eHKqFrFarifncZFkWSZ8kSdjZ2YEkSSiXyy2JYru6DrpP/d6LYceWPCIiogNIkoSHDx9icXERGxsbSKfTmJqaEvsbx9rVajXk83msra25xuGtr6+7jgMguiadMp0neJuP61b+2toatra2XEkQsJ8IOfuc8ldWViBJEu7cueMqd319XXR1bmxswO/3iwRvdnYW6XRatJY1x9ZcDrCfFD958gT5fB6PHj1yPSU7Ozsrxv7Zti3G4jXX1VhmL/ep+b4QV7y4sJwZs39545u4xJY8IjpjuOIF0T6ueEFERERELkzy2jBNs+0g26OwLAuhUAiGYRz6uEAgMLA4iIiI6GJgktdGMBhEOBweaJmKokBV1b6Oy+VyA42FiIiIhh+TvHOgsS+eiIiIqBecQqULp8s0k8m4ngxKJBKYnJyEZVlQVRXBYBCJRAKRSAS5XA7xeFwkZsvLy5BlGV6vF6ZpIhKJtK2r03GmaWJmZgaFQgGWZeHatWvIZrOwbRuZTAYLCwuoVqvIZrOIx+MIBoNty9/b28Pe3p74vLvLhxaIiIiGGZO8LmRZhqqqsCwLuq4jGo1C0zT4fD5Eo1EAEImdz+cT3azJZBKpVAq6rqNUKiGVSgHo3O3a7bhgMCgSRqcb2ev1irgMw8D8/Dy8Xi9SqZQoo9nS0hLu3bs3mBtDREREZx67a7to101aKBSwvb0NwzBgGAaSyaTYp2kaTNNEtVoFsJ+shUIhsV+W5bb19Hpcu/0HHetYWFhArVYTr+fPn/d0HhHRRVcsFnH79m2oqirWTD2Osp0VHGq1Gm7fvo3bt2/3NN/b5OSkeF8ul7GysnLsa7g2xp1Op8UcfM33pzG2o3DKyefzePnllwda5jBjS14XXq+3ZVsoFEKpVBKtdqZpQtM0bG9vY35+HqZpYnNzU3S5bm5uinM7Pa3b63Ht4moXYzujo6MYHR3t6VgiorPmH8r/77GV/b/6/0XX/ePj45iensbW1tbA10RtLNtZPUOSJMzNzYn3B2kcTnT//n288847rvVfj8P4+Dhu3LiBTz/91FXX4uIidnZ2xLbG2NpJp9M9xeqUMz093bJGbq+a6zootmHAlrw2TNOEZVnQNA22bSOXyyGTycC2bcRiMfh8PmiaBl3XAQDhcBi2bcMwDNGKZ1kWotEofD4fdF2HruuwLEt0p46MjIjXzMxMx+OcWFZXV7vGlclk8PTpU1iWdTo3jYiIBmZsbKzn9Vgb13St1WrweDxHWtf2KObm5nD//n3xuTG2dhpXzejmoHJ60VzXIMo869iS10YwGESpVBKfm8fSzc/Pt5zTOBaucQqUxmOdcXwA0G2hkcbjmmPpFFdjtzEREZ2clZUVV8LgtPYtLi7C7/ejXC7j6tWrrhauwygWi3j99dfxk5/8BLu7u1hbW8Pjx4/Fvtu3b8MwDFQqFbHE1/Xr1+H3+9vGls/n8Td/8zd4//33sbKygv/wH/4D/t2/+3eu8ufm5rCzs4Of/vSneOONNzA+Pt5TrJIkQZZlFItFAGiJbWxsDD/96U/x4MEDsZxZOp3GlStXMD093RLb48ePUalURDlO8uqck8/nMTs7C7/f77oXOzs7+Ju/+Ru88cYb4pob6/J4PK4y292nbvf9vGCSR0RE1CendchJ7O7evSu6EyuVCt59912k0+m+Ezxgv2t0YmICHo8H09PTYo3Z69evY3x8XNTnvJ+dnYUkSR1jm56ehiRJ8Hg8ePz4MSRJaik/n8/jzp078Hg8+OCDD/DgwYO+4nZiW1tbg9/vx9TUFDweDwCIOBrvS7vYGstxvPrqq5AkCdPT05icnMTm5qbrOL/fL7q/O9XlHNvpPnW77+cFu2uJiIj6kE6nsbW15WoB8vv9yOfzuHLlinjQbWtrC6+88krHctqtsFSpVEQy5Oi1+9bRKTbH+Pi4q1u3sfyjdPfatt3S8jc3N4etrS2oqopHjx4dWEZzbM0a99m23dMDKp0cdJ8Oe9/PEiZ5REREfdja2sLExATK5bLYVi6XRYJy584dVCoVPHjwoGt359TUFCqVimtbpVJpSXKak76DdIqtk8byD1uXY2VlBW+//XbL9vX1dTx48ACbm5uQZdkVV61WO/RTy05SV6vVIMuyuFeSJGFnZwfA/vU677vVddB96vdenAXsrr3gvvXBr8/1v1KIiI6b031ZqVSwsbGBnZ0dpNNpTExMYHZ2VkwdsrOzg4mJCdFNmM/n8e677x5YviRJePjwIRYXF8XYvampKbG/WCyKsXazs7PI5/P47LPPRHJYqVSwvr6OV155RRx3586djrE1l9et/LW1NWxtbaFcLrtau8rlMtbW1lz3pFarubpEnXLX19dFVyew31LmlDU7O4t0Oi2SquZYmsuZnZ3F1NQUnjx5grGxMeTzeddTsrOzs9jY2MD4+Dhs20Y+nxddu411NZfZy31qvC+n9WDLYY3Uuz0BQENrd3cXkiShVqsxySOiM8eyLFy6dEl8Ps0pVPqlqqprLlNnjBnRYbx48cI1b+9h/n6zJY+IiM6840rEjsvi4iI+/PBDkdQVi0XRwkZ0UpjkERERDdjs7CzW19fFeK5yuXzsExQTNWOSd8H9vGTjG5e+Ou0wevYXfyafdghERAdqHHdGdFr4dC0RERHREGKSR0RERDSEmOQRERERDSEmeQNkGMaJTZoYCAROpB4iIiI6n5jkDZCqqq65bAZF07SWbblcbuD1EBFRK2fhe1VVkU6nkU6nxeS5jSYnJ08pwlaNMTtLdNVqNdy+fRu3b9/uaRmwxuspl8tYWVnB7du3jy1mx0nfb6ecfD6Pl19+eaBlnjY+XXsOpFIpxGIx17bjSCaJiM6qX9W+fmxl/5n0T133j4+P48aNG/j0009d06AsLi5iZ2dHbGtceWHQGleA6MX4+Dimp6extbUlVuCQJAlzc3Pi/UEar+f+/ft45513TmQamEHd717vmVPO9PQ0rly5cuh429VznP8tHMaFbckzTRMejweGYUDXdczMzMA0TRiGgXg8DtM0xbGJRAKGYSCRSMCyLHG+ruvi+HblBwIB6Lress8wDAQCARiGgUgkIhamblePYRiwbRuapsEwDFfZznnLy8vQdV282tnb28Pu7q7rRURE/Zubm8P9+/fF5+OcMiWdTg+knLGxsZ5XOWq8nlqtBo/Hc6ordhz2fvd6z476vbWr56xMn3Nhk7xgMIhwOAyv14toNIrJyUkYhgFVVRGPx5FKpcSxPp8PqqoiEokgmUwCADKZDKrVKsLhcEuSZ9s2DMNAqVRCNBptqdtZ6sbr9SKbzYplb9rV4xwbi8WgqqqI3WnJc7pyo9EootEocrmcK0F1LC0tQZIk8bp8+fIR7yAR0cUmSRJkWUaxWESxWMTk5CRqtRqKxSI2NjaQz+dx9+5dcfzGxobofnT2T05OIp/PIxqNii7UxcVFbGxsYGVlBcViEfl8HrVaDel0WnS9tjvusIrFIl5++WXk83lsbGy4umKbr8dZw7VcLgOA6D51XgDaXk+7Opxrunv37qHiPsz9bnfPOsXnlONwzllcXBTX23hcuVxGNBoVdTbX01xmu3vV7d4P0oXvrm1cV7DxfTNN02DbNqrVKgBgYWEBiUQCyWQSwWDQ1TSraRpyuRzm5+e71h0MBg+s5yCFQgGRSER8dloIm8teWFjAD37wA/F5d3eXiR4R0YCMj4+Lrr61tTX4/X5MTU2Jh/GKxSLW1tbw+PFjlMtl3L9/X6xl6/F4xPt0Og2Px4Pr168D2P8HvK7rkCTJ1SXY6bjDxjwxMQGPx4Pp6WmUy2VsbGzg+vXrrutx3s/OzooYAYi67969iytXrmB6errletrVkc/ncefOHXg8HnzwwQd48ODBwO+3E0vjPesUX3MX7auvvgpJkjA9PY3JyUlsbm66jvP7/aILvF09jcd2ulfd7v0gXdiWPIfX62373qFpGra3t10taaZpYnV1FalUCqVSCV6vV3SvAsD8/DxmZmaQSCR6jqNTPQ7bttv+gEOhkKvuUqnUNnkcHR0VzfSHaa4nIqLObNvG+Pi4a9vc3By2tragqioePXoEYD8RcRIDv9+Px48fi+PHx8dFN+jW1hZ2dnaQz+eRz+fx7rvvtq23l+M8Ho8Y1uOoVCots0Ac9u/B1taWqzvS7/e7Whgbr6ddHUfp8u31fnfTLr5Gjfts2+7pIZVODrpXx/23+MImeaZpwrIs0XKWy+WQyWRg2zYymQyePn0Ky7IQDodF96vTumZZFkqlkhgDFwgEoCiKKFPXddy8eRPLy8tYXl7GyMiI69VYt6NTPQAQj8ehaZpoaXTOX11dFQ9k6LoOTdMQCoVEkkhERMdnZWUFb7/9dsv29fV1PHjwAJubm5BlGeVyGR6PR3T9AeiYOExMTADYbyFyksLGc5zuvm7HOaamplCpVFzbKpVKS4Jz2Km/JiYmXNdSLpdbEq9mjXX0O9XYYe63o/Ge9cr5bmq1GmRZFvdLkiTs7OwA2L9m5323eg66V8c97dpIvV6vH2sNdCbt7u5CkiTkzAq+cen8tOpx7Vqii8GyLFy6dEl8Ps2na53u1Uqlgrm5Oezs7KBWq7m66ZxpP+7cuYNyuYyrV6+Kc+/cuQNgfwydx+OB3+8X3Xmvv/56y1OrKysrolvR6dpLp9Oo1WriqdlOxzVzuomvXr2KnZ0dTE1NiZYlJ+bZ2VnMzs7i9u3bkCQJDx8+RKVSEdfzyiuviOOca1lZWYHf7xeJzuzsLIrFYsv1dKvj0aNHePLkCX7yk5+4WrsGdb+b71m3+O7cuYPZ2VksLi7i6tWrGBsbQz6fx+zsrIgtn8+jWCyK7wMAHj58iPX19ZZ6GsvsdK863ZfmJPzFixeuGTWcv9+1Wu3AlkAmeRcUkzwiOsuakzyii+ooSd6F7a4lIiIiGmZM8oiIiIiG0IWfQuWi+/OAzCdtiYiIhhBb8oiIiIiGEJM8IiIioiHEJI+IiIhoCHFM3gX3mze+g99+feS0wzjQn6zunnYIRERE5wqTPCIiOvP+v/8zcGxl/9F/KnXdXywW8ejRI1QqFbzzzjsdV5joRbuyarWaWFu83WS4zZz1VAGINU8/++wz11Jpg9YYtzORcK1Wg9/vd6232hjbUTjl5PN5vPnmm/j8888HVuZFwu5aIiKiLpyVDCYmJg5M8JyVEA5TliRJmJubw9zcXE/rumazWfH+/v37uH79Oh4+fNjDlfRvfHwcN27cwMTEhFil4c6dO/jFL37huubG2No56P40lzM9PS1WBzmMdvUcFNswGsokzzCMvteDsywLoVAIhmH0tC8QOL5/XZ5kHUREdHS9JjHNxsbGep7OqnEJsFqtBo/H01NyeBzm5uZw//598bkxtnZ6vT8HlXOQdvUctczzaCiTPFVVXUuAHIaiKFBVted9uVyur3oO4yTqICKi3hSLRbz88svI5/PY2NjA7du3AeyvbVqr1ZBOp5HP5wdevrNvcnIStVoNxWIRlUoF6XQa5XIZwP6ashsbG+LlxDU5OYl8Po9oNIqf/exnLeUXi0Xk83ncvXsXxWKx51glSYIsyygWiy2xbWxsiDI73Z/m2JxznXIczjmLi4viWhuPK5fLiEajos7meprLbHefut3384pj8o6o32TyrNVBRES9GR8fx8TEBDweD6anp8W4uOvXr0OSJDFm7TjKHx8fF92XzvvZ2VlIkiRar5wxcnfv3sWVK1cwPT0NSZLg8Xjw+PFjSJLUUn4+n8edO3fg8XjwwQcf4MGDB33F7cS2trYGv9+Pqakp0bPmxNF4f9rF1liO49VXX4UkSZienhZj6xqP8/v9ovu7XT2Nx3a6T93u+3l15lvyEokEdF3H8vIyTNOEaZrweDwwDAO6rmNmZgamacIwDMTjcZimKc7VNA2GYSCRSMCyrI5lAsDy8jI0TYOu664yuu0zTROBQAC2bbeNq/k6NE0TdWua1nKtpmlC13VxLc11NJ4fiUSwvLzc8XqIiOh49btakMfjgW3brm2VSqVlmNFhy9/a2nJ1Sfr9fleL4vj4uKtbt7H8o3T32raN8fFx17a5uTlsbW1BVVU8evTowDKaY2vWuM+2bVcr32EddJ+GaRWoM53kaZoGn8+HaDSK+fl5JBIJBINBhMNheL1eRKNRTE5OwjAMqKqKeDyOVColzr958yZUVUUymUQkEulYpq7rKJVKiMViiEajrpazbvuCwaD43C4uXdcB7CdqlmUhFoshEAigWq0iFou1XG8mk0G1WkU4HBZJXmMdXq8XyWQSsiwDAObn59teTzt7e3vY3d11vYiIqH+dxn7XajXRBdjO1NQUKpWKa1ulUmlJcg47tnxiYkJ0ZQL7T942J1+dyu93HPvKygrefvvtlu3r6+t48OABNjc3IcuyK66D7k87TlJXq9Ugy7K4V5IkYWdnB8D+9Trvu9Vz0H3q916cRWc6ySsUCtje3oZhGDAMA8lkUuxzEp3m940at1erVdi23bbMXC6HUCjU9rxu+w6q06EoCmzbFvWHw+G25y4sLKBQKCAUCmFpaallfzQahW3biMfjyGazHa+nnaWlJUiSJF6XL1/ueh1ERLTPGa+2tbWFfD7vGgtXq9WQz+extraGWq2G2dlZpNPprq1BkiTh4cOHWFxcxMbGBtLpNKamplz1dSrf2be+vu46DoDonnTKdJ7gbT6uW/lra2vY2tpyJUHAfiLk7HPKX1lZgSRJuHPnjqvc9fV10dW5sbEBv98vWs6a709zbM3lAPtJ8ZMnT5DP5/Ho0SPXU7Kzs7NiHJ5t22I8Xqd61tfXe7pPzfflvBqp1+v10w6iE03TUCqVROJimiaCwSAikQiy2SxkWcby8jIURUE0GoVpmkilUkilUgiFQvj4448hyzJs20YoFEKpVGpbpmVZ2NzcFNvi8ThmZmagqip0Xe+4D4Arlk5xAftP/Hq9XgSDwa7X67TwxeNxJBIJKIrSUkcikYCqqqLLt909ara3t4e9vT3xeXd3F5cvX8Yvb3wTlzgZMhGdMZZl4dKlS6cdBtGpe/HihasXcXd3F5IkoVarHdi1fKZb8mKxGHw+nxgPB/xzUqZpGmzbRi6XQyaTgW3byGQyePr0KSzLgqqqonVraWlJPKHarsxoNAqfzwdd16HrOizLEt2+3fY5sayurnaNC9hvEWxOvkZGRlyvUqkk6gkEAlAUxVWHMwbPtm0sLy+LbuTm62lndHRUPKJ/mEf1iYiI6Hw60y15wyQUCsHr9YrPTsvcaXH+JcCWPCI6i9iSR7TvKC15nELlBCQSCdF1DOy3AGqahvn5+dMNjIiIiIYWk7wTEI/Hsbq6KlrynCdtiYiIiI4Lk7wToCgKkzoiIiI6UWf6wQsiIiIi6g9b8i64b33waz5pS0TURbFYxKNHj1CpVPDOO++I5bOOWtbc3NxAl8xqF2etVsMPfvADAMDDhw8PXNnCWTIMgJjr7rPPPsPjx48HFme3uJ057Gq1Gvx+v+v+NMZ2FE45+Xweb775Jj7//POBlXnWMMkjIqIzz/d/vXZsZW//9Udd94+Pj2N6ehpbW1sHJnjpdLrr2rWNZQ16TdR2cUqShLm5OfH+II0TDd+/fx/vvPPOkdfiPcj4+Dhu3LiBTz/91FXX4uIidnZ2xLbG2No56N47nHKmp6db1sjtRbt6DorttLC7loiIaEAaV244Kw4zN2rjmq61Wg0ej+dI69oexdzcHO7fvy8+N8bWTq/3/qByDtKunqOWeVyY5BERER1CsVjEyy+/jHw+j42NDdy+fRsAxJJa6XTateD9YaysrIjlwBrXXV1cXEQ6nXYthTbI2J19k5OTruXT0um0WOKsXWz5fB6Tk5PI5/OIRqP42c9+1lK+syzc3bt3USwWe45VkiTIsoxisdgSm7OU2d27d0Uczfe+OTbnXKcch3PO4uKiuNbG48rlMqLRqKizuZ7mMtvdp273/Tixu/aC+2rjb/DVH/9P+Nr/9venHQoR0bkwPj6OiYkJeDweTE9Pi7Fr169fhyRJfXdvOomb04179+5d0Z1YqVTw7rvvIp1Ou7owBxn7+Pi4qM95Pzs7C0mSOsY2PT0NSZLg8Xjw+PFjSJLUUn4+n8edO3fg8XjwwQcf4MGDB33F7cS2trYGv9+PqakpeDweABBxNN6XdrE1luN49dVXIUkSpqenxdi6xuP8fr/o/m5XT+Oxne5Tt/t+nNiSR0RE1IdBPrSWTqextbXl6vbz+/3I5/O4cuUKarUaarUatra28Morr3Qsx+PxiOU0HZVKRSRD/cbeKTbH+Pi4q1u3sfyjdPfato3x8XHXtrm5OWxtbUFVVTx69OjAMppja9a4z7ZtVyvfYR10n076QUcmeURERH1oTpwctVrN1dXai62tLUxMTIjuQmD/6VYnQblz5w4qlQoePHjQkvQ0mpqaQqVScW2rVCotSU6n2DvpFFsnjeUfti7HysoK3n777Zbt6+vrePDgATY3NyHLsiuufu69k9TVajXIsizulSRJ2NnZAbB/vc77bvUcdJ/6vRf9YpJHRETUhTOmbGtrC/l83jVerVarIZ/PY21tDbVaDbOzs0in0x1bbJzuy62tLTG2TlVVABBdgM72iYkJ0U2Yz+e7JlUOSZLw8OFD19i9qakp17V0it3Zt76+7jquW2zNx3Urf21tDVtbW64kyLknzj6n/JWVFZHcNpa7vr4uujo3Njbg9/tFy1nzvW+OrbkcYD8pfvLkCfL5PB49euR6SnZ2dlaMw7NtW4zH61TP+vp6T/ep+b4cp5F6vV4/1hqGmGmauHbtGp49eybWpe2VZVmYmZlBMpkUP/Bu9czMzKBQKBy6nk6cBY53/u+3MMYxeUR0xliWhUuXLonPpzmFylmgqqrr///OGDMafi9evICiKOKz8/e7Vqsd2P3LBy+OIBgMIhwO93WuoigHJneN9TR+wUREF815SMSOy+LiIj788EOR1BWLRaTTadHKRdQJkzwiIqIzbHZ2Fuvr62I8V7lcPvYJimk4MMnrwDRNWJYFWZaRzWaRSqUAALquo1qtAgC8Xi8AwDAMAEAmk3H15ycSCUxOTsKyLKiqimAwiOXlZciyDK/XC9M0EYlERH1Ol2y1WkU8Hkc8Hkc0Gm2Jrblc5/hUKoVkMolsNtvSrbu3t4e9vT3xeXd3d3A3i4iIjk3juDOiw2CS10Emk0EgEICqqiKZM01TJHKWZSGRSAAAZFmGqqqwLAu6riMajULTNPh8PpGkRSIRxONxlEolkTDmcjlRX2OXrKIoIvlr1q7cXC4nEsd2CR4ALC0t4d69e4O5OURERHTm8enaDhYWFlAoFBAKhbC0tARgP/Fzki9FUUSrXbvxcoVCAdvb2zAMA4ZhIJlMIpfLIRQKiWP6eYiiXbmOYDDYscyFhQUxz1KtVsPz588PXTcRERGdH0zyOlhdXUUqlUKpVILX64VlWfD5fCiVSuIYZ8JJp6WvkZPMqaoqHrCIRCJtz3fIsiy6gkulknh/ULm9GB0dFesXHmYdQyIiIjqfmOR1UCqVoOs6dF1HIBCAoiiYn58HACwvL0PXdfzDP/wDLMuCpmmwbRu5XA6ZTAa2bSMWi8Hn80HTNOi6DgCIRqPw+XyiXMuyRNctAMTjcei6DsMwUK1WkcvlYNu2GB+oaVrbchv3ExEREQGcJ+/C4jx5RHSWNc+Tdxbk83nk83lcvXoVwP4SVfl8Hu++++4pR7bPWXf1MIrFIm7fvg3DMFrm3SsWi3j06BEqlYp4mrdWq8Hv97vWXO2n3m7x5/N5vPnmm/j8888HVuZ5xnnyiIhoqPn+6/E9OLb9b/7uwGM2Njbw6aef4sGDB2JbsVjEkydPup6XTqdPbLqTxtkdejU+Po4rV6503Hfjxg18+umnrmtYXFzEzs6O2HZQvb3eA6ec6enpjjEdtp5+7skwYXctERHRAW7fvt3SYjc+Pu5aMqydxiW1jttJTbMyNzeH+/fv91xvr/fgqPG3q+eiTz3DJI+IiKiLfD4PSZLaLiPmJH6Li4vI5/NYXFwUa7M6a52m02nk83lxjrOu7MrKCorFotiWTqdda84CwMrKilindWNjQ5Q7OTmJfD6PaDQq1p2dnJwUa6E6ZaTTaXFeuxj7IUkSZFlGsVh01VssFsVar3fv3u14D3qJH4A4pzHexuPK5TKi0aios7me5jLb3ctisYiXX34Z+XweGxsbuH37dt/35Sxid+0F97Xr7+NrfNKWiOhIPB4PpqenAewnEw8ePMD09DQkSXJ1IabTaXg8HjGmLRqN4t1330WlUsG7776LdDotukKdRM859u7du7hy5Yoo1+PxiDVsG7tdi8Ui1tbW8PjxY5TLZdy/fx/Xr19vG+NRNda7trYGv9+PqakpsTpHu3twUPyOV199FZIkYXp6WoytazzO7/eL62lXT+Oxne7l+Pg4JiYmxL0pl8vY2NhwjTk8z9iSR0RE1MX09LSYY7SZ0yIE7CcSxWKxZXqsRltbW9jZ2REPcbz77ru4cuWKKH9rawuvvPKKOLaxu9Hv97taBMfHx9u2Lq6trYnkx+/34/Hjx4eKsRe2bWN8fNy1bW5uDltbW1BVFY8ePTqwjE7xOxr32bbd9v736qB7OazTijHJIyIiOsD777+PxcVF1zbn6cbG1jcnuXK6YZ3jnGRwYmICwH7i6BwrSRLu3LmDSqWCBw8eiORpYmLC1a1aLpdbEqt2PB6P6zynG7NbjIexsrKCt99+u2X7+vo6Hjx4gM3NTciy3BJDY0LcCyepq9VqkGVZJH2SJGFnZwfA/j1x3ner56B76bQ8DhsmeURERAeYnZ3FX/3VX7nGdT158gTT09N45ZVXUKvVkM/nRcJRqVTEeel0WrQUzc7OwuPxuMbKAfvj1JoTOKfr0RlfNzExgenpaRSLRVQqFdeDBs629fV13LlzB8A/j0GrVCodY2xXlqNcLmNtbQ1bW1sihpWVFZGUNtfrdHVubGy41tttvgcHxQ8AU1NTePLkCfL5PB49euR6SnZ2dlaMw7NtW4zH61TP+vp6T/fSuT9ra2tHajU8SzhP3gV1mHl2iIhO2lmcJ+84qarqWpbSGatGxHnyiIiIzqnFxUV8+OGHIqkrFotIp9OitYyoX0zyiIiITtHs7CzW19fFuLByuXxiEyjTcGOSR0REdIoax68RDRIfvCAiIiIaQkzyiIjozBkZGTntEIjOPSZ5RER05nz961/H3t7eaYdBdGrq9Tp++9vf4o//+I/7LoNj8oiI6Mz59re/jS+++AL/43/8D3CmL7qIRkZG4PF4XFPrHBaTPCIiOnO+9rWv4U//9E9POwyic43dtURERERDiEkeERER0RBikkdEREQ0hDgm74JyBjLv7u6eciRERETUK+fvdi8PJDHJu6C2t7cBAJcvXz7lSIiIiOiwXrx4IdY77oRJ3gXl9XoBAP/9v//3A/8jGTa7u7u4fPkynj9/jrGxsdMO50Tx2nntvPaLg9c+nNder9fx4sULfPvb3z7wWCZ5F9TXvrY/HFOSpKH7AfRqbGyM134B8dp57RcNr334rr3Xxhk+eEFEREQ0hJjkEREREQ0hJnkX1OjoKP7u7/4Oo6Ojpx3KieO189ovGl47r/2iucjX3mikzkUBiYiIiIYOW/KIiIiIhhCTPCIiIqIhxClUhoiu6wCAarUKRVGgqmrPxxx2+1lz1GuvVqsoFAqYmZkR22dmZrCwsAAAyGQySCaTJ3Eph3aUa+90jRfhe5+ZmcGPf/xjyLLsOn6YvnfbtqFpGgBgfn7+wHOH6Xvvdu3n9fd+lOu+CL/1btd+nn/rR1KnoVAqleqxWEx8VlW152MOu/2sOcq1FwqFejabrdfr9frOzk5dlmVxTDAYrMuyXFdVtb6zs3NM0R/NUa69Xm9/jRfhey+VSnUAdVmW67Is1wHUk8lkvV4fnu+9Xq/Xs9lsfX5+Xlxbt3OH6Xuv19tf+3n+vR/luuv14f+t1+ud/3s/z7/1o2J37ZAwDMP1rxRZlmEYRk/HHHb7WXOUa69Wq8jlcmKb1+uFaZoAgIWFBezs7CCXy7X8C/CsOMq1A+2v8SJ875ZlYWdnR7xSqZT4l/+wfO8AEI1GEQgEejp3mL53oP21n+ff+1GuGxj+3zrQ/trP+2/9qNhdOyRKpRJ8Pp/47PV6Ydt2T8ccdvtZc5Rrj0ajrmb/arWKYDAIANjc3BTbACAWix3XJfTtKNcOtL/Gi/K9OzRNw82bN8XnYfneD3vuMH3vnaiqem5/70f9fob9t95J4/d9Hn/rR8Ukb4g5/+H2c8xht581/Vx7PB7Hj3/8Y/G5cXxGIBDAzZs3z8W/9g5z7e2usd8yz4LDfu+WZcG2bdf3Oszf+2HPHabvvdkw/N4Pc90X8bfeaJh+64fB7toh0a5bQlGUno457Paz5ijX7tB1HZFIRLTw6LqORCIh9suyDMuyBh36kR3l2jtd40X63lOplGjJAYbrez/sucP0vR/kPP7ej3LdF+G3fpDz+ls/KiZ5Q0JVVdH0DOz/q8VppnaatTsdc9jtZ81Rrh345/Ee0WgUpmnCsiwoioJIJCKOt23b9T+Is+Io197pGi/K9w7s/4++8Y/FMH3vhz13mL73bs7r7/0o130RfusHOa+/9aPiihdDpPERc6/XK/6VGggEUCgUIMtyx2MOu/2s6ffaLctCKBQS5di2Decn4Ry/ubmJeDx+Jv+FCwzme2++xmH/3h2hUAgff/yxq4tmmL53wzCQSqVg2zbi8fiF+r23u/bz/nsfxHc+zL/1TtcOnO/f+lEwySMiIiIaQuyuJSIiIhpCTPKIiIiIhhCTPCIiIqIhxCSPiIiIaAgxySMiIiIaQkzyiIgIwP6UIoZhnMmlrYjo8JjkEdHQMgwD8XgcIyMjSCQSZ3Lx9bPCtm289dZbUBQF165dO3J5pmm67r1pmgD2J7KdmZlBIBCApmltz2tciaBTecvLy1heXkY8Hh/KlQqIBoHz5BHRUHOWb9rZ2Tkz61I2r6F5Fui6DsuyMD8/P7D4ut375eVlzM/Pt5wTj8exurqKnZ2dln22bcPj8bjKMwwDMzMzePbs2Zm7p0SnjS15RDTUvF7vaYfgYlkWVldXTzuMFpZliSRpUMlSt3vfqQ5ZlkW3cS9UVT3U8UQXCZM8IqITlEwmTzuEM8swDNy6dQuqqiKbzfZ0jtMNPIzrjhId1R+ddgBERCfJMAwkEgmxVqVlWcjlckgmk6JFqFQqIZVKiePj8ThUVUUkEkG1WkWhUEAymYQsyzBNE4ZhiLKi0SgURRHnOePLUqkUkskknj59imq1CmC/FUpRFOi6DlmWYVkWSqWSSAQ7xdqYAFmWhVQqhcnJSVSrVdy8eVOs42maJhRFwebmZtfk0jRN5HI58TkWix3qugqFwkC+G9M0MT8/j3g8jrfeekt8B80MwxD3fnt7G6VSaSjXHSU6sjoR0RDb2dmpA6jv7OyIbfPz8/VoNCo+q6paTyaT4rOiKC3HN+7PZrN1VVXrpVKprqqqq75gMCjOjcVi9VgsJs5xykqlUq5zANRLpZI4xzm2U6yFQkFcW2OsTpylUqkeDAbFOalUyhV/O8lkUhzTz3W10+7eN8bULgYHgHoul+taXqFQcMVFRG7sriWiC8fn82FyclJ8lmXZ1RIky7JobWvc5ohGozAMA48ePWrpJlQURYy5k2UZgUBAnNPJzs6OaDGrVquup0XbxerEtrq6CkVRRGwLCwuIxWJIpVLwer0wDEOMVdvc3DzwvjhSqdRArsvRfC8BtEzT4rSgapoGTdOgKMqBXbbBYBDhcLjt07hExO5aIiIAg3vYoFm3bkTnKdalpSX4fD7RJdqr5qdgG98Hg0Goqio+x2KxQ8V9kF7ilGVZdEM3Hm9ZVksSaZqmq3vW6/V27bJtrEPX9UNGT3QxsCWPiIZau1akdg6aALhxv67rUFUVb7zxRstTnaZp4ubNmz3V77S0OWPRFEUR9fTytGg0GhUPHjSWeevWrZbzD/P0abvzD3NdjZLJZEuLnHP/uolGoz09NRsIBETLZ/O9ILro2JJHREPLMAyRYCwtLeHWrVsAgEwmA2D/wQfLslxPaBqGAcuykEwmxcMVAFAqlcRqEJubm8hms5BlGclkEsvLy+IBB2d7YwKnKIpIauLxOJLJJDRNg6qq8Hq94ngAmJmZQSqVgqIoME2zbazOfkVRkEqlkEgkRJeuqqoirubtnTj1eL1eKIqCaDR66OvqJBaLQdM0JBIJBAIB2LbtalU0DAPJZBLVahWqqooWPk3TIMuyePAkHA4jk8kgGo2KexcMBhGLxZDL5bC8vAxZlvmULVEDToZMRHQAJ0EZdJcnEdFxYnctERER0RBikkdE1IXTPZnNZjnmi4jOFXbXEhEREQ0htuQRERERDSEmeURERERDiEkeERER0RBikkdEREQ0hJjkEREREQ0hJnlEREREQ4hJHhEREdEQYpJHRERENISY5BERERENof8f3hqmhFmaSh8AAAAASUVORK5CYII=\n"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"print(plt.style.available)\n",
"plt.style.use('default')\n",
"\n",
"# print(plt.rcParams.keys())\n",
"\n",
"tex_fonts = {\n",
" # Use LaTeX to write all text\n",
" \"text.usetex\": True,\n",
" \"font.family\": \"serif\",\n",
" # Use 10pt font in plots, to match 10pt font in document\n",
" \"axes.labelsize\": 10,\n",
" \"font.size\": 10,\n",
" # Make the legend/label fonts a little smaller\n",
" \"legend.fontsize\": 8,\n",
" \"xtick.labelsize\": 8,\n",
" \"ytick.labelsize\": 8\n",
"}\n",
"\n",
"plt.rcParams.update(tex_fonts)\n",
"\n",
"Path('figures').mkdir(exist_ok=True)\n",
"\n",
"ax = optuna.visualization.matplotlib.plot_param_importances(study, params=[x for x in best_params if x not in ['sampler', '']], target_name='UAR') # [best_params[-2], best_params[17]])\n",
"ax.set_title(\"\")\n",
"\n",
"labels = [item.get_text() if item.get_text() != 'target_mel_length_in_seconds' else 'mel_length_in_s' for item in ax.get_yticklabels()]\n",
"labels = [item if item != 'random_apply_chance' else 'aug_apply_chance' for item in labels]\n",
"labels = [item if item != 'lr' else 'learning_rate' for item in labels]\n",
"\n",
"labels = [item.replace('_', '\\_') for item in labels]\n",
"\n",
"ax.set_yticklabels(labels)\n",
"\n",
"plt.savefig('figures/parameter_importance_vit.png')\n",
"plt.show()\n"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% Seaborn Settings\n"
}
}
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 0
}