Skip to content

Instantly share code, notes, and snippets.

@Ben-Karr
Created November 10, 2022 10:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Ben-Karr/c663d4ad8f12ca9ceba9769eeba34028 to your computer and use it in GitHub Desktop.
Save Ben-Karr/c663d4ad8f12ca9ceba9769eeba34028 to your computer and use it in GitHub Desktop.
coding/tmp_store/[fastai]-Captum-Callback.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {
"trusted": true
},
"id": "5f376a0d",
"cell_type": "code",
"source": "from fastai.vision.all import *\nfrom fastai.callback.captum import *\nfrom random import randint",
"execution_count": 1,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"id": "fa890213",
"cell_type": "code",
"source": "path = untar_data(URLs.PASCAL_2007)\ndf = pd.read_csv(path/'train.csv')\ndf.columns = ['image_id', 'labels', 'valid']\ndf['image_id'] = df.image_id.apply(lambda x: path/'train'/x)",
"execution_count": 2,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"id": "ef31b840",
"cell_type": "code",
"source": "def splitter(df):\n train = df.index[~df['valid']].to_list()\n valid = df.index[df['valid']].to_list()\n return train, valid\n\ndef get_x(r): return r['image_id']\ndef get_y(r): return r['labels'].split(' ')",
"execution_count": 3,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"id": "05143823",
"cell_type": "code",
"source": "def get_dblock(size):\n return DataBlock(\n blocks=(ImageBlock,MultiCategoryBlock()),\n get_x=get_x,\n get_y=get_y,\n splitter=splitter,\n item_tfms=Resize(size, method=ResizeMethod.Squish),\n batch_tfms=[*aug_transforms(size=size, min_scale=1), Normalize.from_stats(*imagenet_stats)]\n )\n\ndblock = get_dblock((90))\ndls = dblock.dataloaders(df, n_workers=8)",
"execution_count": 4,
"outputs": []
},
{
"metadata": {
"trusted": true,
"scrolled": true
},
"id": "cbaf4c6a",
"cell_type": "code",
"source": "learn = vision_learner(dls, 'convnext_small', metrics=partial(accuracy_multi, thresh=0.5))\nlearn.fit_one_cycle(1)",
"execution_count": 5,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<IPython.core.display.HTML object>",
"text/html": "\n<style>\n /* Turns off some styling */\n progress {\n /* gets rid of default border in Firefox and Opera. */\n border: none;\n /* Needs to be in here for Safari polyfill so background images work as expected. */\n background-size: auto;\n }\n progress:not([value]), progress:not([value])::-webkit-progress-bar {\n background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n }\n .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n background: #F44336;\n }\n</style>\n"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": "<IPython.core.display.HTML object>",
"text/html": "<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: left;\">\n <th>epoch</th>\n <th>train_loss</th>\n <th>valid_loss</th>\n <th>accuracy_multi</th>\n <th>time</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>0</td>\n <td>0.904057</td>\n <td>0.656957</td>\n <td>0.652889</td>\n <td>00:09</td>\n </tr>\n </tbody>\n</table>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Reproduce error"
},
{
"metadata": {
"trusted": true,
"scrolled": false
},
"cell_type": "code",
"source": "captum=CaptumInterpretation(learn)\nidx=randint(0,len(dls.valid.items))\nf = dls.valid.items.iloc[[idx]]\ncaptum.visualize(f)",
"execution_count": 6,
"outputs": [
{
"output_type": "error",
"ename": "RuntimeError",
"evalue": "grid_sampler(): expected grid to have size 1 in last dimension, but got grid with sizes [3, 90, 90, 2]",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mRuntimeError\u001b[0m Traceback (most recent call last)",
"Cell \u001b[0;32mIn [6], line 4\u001b[0m\n\u001b[1;32m 2\u001b[0m idx\u001b[38;5;241m=\u001b[39mrandint(\u001b[38;5;241m0\u001b[39m,\u001b[38;5;28mlen\u001b[39m(dls\u001b[38;5;241m.\u001b[39mvalid\u001b[38;5;241m.\u001b[39mitems))\n\u001b[1;32m 3\u001b[0m f \u001b[38;5;241m=\u001b[39m dls\u001b[38;5;241m.\u001b[39mvalid\u001b[38;5;241m.\u001b[39mitems\u001b[38;5;241m.\u001b[39miloc[[idx]]\n\u001b[0;32m----> 4\u001b[0m captum\u001b[38;5;241m.\u001b[39mvisualize(f)\n",
"File \u001b[0;32m~/mambaforge/lib/python3.9/site-packages/fastai/callback/captum.py:55\u001b[0m, in \u001b[0;36mCaptumInterpretation.visualize\u001b[0;34m(self, inp, metric, n_steps, baseline_type, nt_type, strides, sliding_window_shapes)\u001b[0m\n\u001b[1;32m 53\u001b[0m tls \u001b[38;5;241m=\u001b[39m L([TfmdLists(inp, t) \u001b[38;5;28;01mfor\u001b[39;00m t \u001b[38;5;129;01min\u001b[39;00m L(ifnone(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdls\u001b[38;5;241m.\u001b[39mtfms,[\u001b[38;5;28;01mNone\u001b[39;00m]))])\n\u001b[1;32m 54\u001b[0m inp_data\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mlist\u001b[39m(\u001b[38;5;28mzip\u001b[39m(\u001b[38;5;241m*\u001b[39m(tls[\u001b[38;5;241m0\u001b[39m],tls[\u001b[38;5;241m1\u001b[39m])))[\u001b[38;5;241m0\u001b[39m]\n\u001b[0;32m---> 55\u001b[0m enc_data,dec_data\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_get_enc_dec_data\u001b[49m\u001b[43m(\u001b[49m\u001b[43minp_data\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 56\u001b[0m attributions\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_attributions(enc_data,metric,n_steps,nt_type,baseline_type,strides,sliding_window_shapes)\n\u001b[1;32m 57\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_viz(attributions,dec_data,metric)\n",
"File \u001b[0;32m~/mambaforge/lib/python3.9/site-packages/fastai/callback/captum.py:73\u001b[0m, in \u001b[0;36mCaptumInterpretation._get_enc_dec_data\u001b[0;34m(self, inp_data)\u001b[0m\n\u001b[1;32m 71\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_get_enc_dec_data\u001b[39m(\u001b[38;5;28mself\u001b[39m,inp_data):\n\u001b[1;32m 72\u001b[0m dec_data\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdls\u001b[38;5;241m.\u001b[39mafter_item(inp_data)\n\u001b[0;32m---> 73\u001b[0m enc_data\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdls\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mafter_batch\u001b[49m\u001b[43m(\u001b[49m\u001b[43mto_device\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdls\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbefore_batch\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdec_data\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdls\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdevice\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 74\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m(enc_data,dec_data)\n",
"File \u001b[0;32m~/mambaforge/lib/python3.9/site-packages/fastcore/transform.py:208\u001b[0m, in \u001b[0;36mPipeline.__call__\u001b[0;34m(self, o)\u001b[0m\n\u001b[0;32m--> 208\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__call__\u001b[39m(\u001b[38;5;28mself\u001b[39m, o): \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mcompose_tfms\u001b[49m\u001b[43m(\u001b[49m\u001b[43mo\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtfms\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msplit_idx\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msplit_idx\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/mambaforge/lib/python3.9/site-packages/fastcore/transform.py:158\u001b[0m, in \u001b[0;36mcompose_tfms\u001b[0;34m(x, tfms, is_enc, reverse, **kwargs)\u001b[0m\n\u001b[1;32m 156\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m f \u001b[38;5;129;01min\u001b[39;00m tfms:\n\u001b[1;32m 157\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m is_enc: f \u001b[38;5;241m=\u001b[39m f\u001b[38;5;241m.\u001b[39mdecode\n\u001b[0;32m--> 158\u001b[0m x \u001b[38;5;241m=\u001b[39m \u001b[43mf\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 159\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m x\n",
"File \u001b[0;32m~/mambaforge/lib/python3.9/site-packages/fastai/vision/augment.py:49\u001b[0m, in \u001b[0;36mRandTransform.__call__\u001b[0;34m(self, b, split_idx, **kwargs)\u001b[0m\n\u001b[1;32m 43\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__call__\u001b[39m(\u001b[38;5;28mself\u001b[39m, \n\u001b[1;32m 44\u001b[0m b, \n\u001b[1;32m 45\u001b[0m split_idx:\u001b[38;5;28mint\u001b[39m\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, \u001b[38;5;66;03m# Index of the train/valid dataset\u001b[39;00m\n\u001b[1;32m 46\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs\n\u001b[1;32m 47\u001b[0m ):\n\u001b[1;32m 48\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mbefore_call(b, split_idx\u001b[38;5;241m=\u001b[39msplit_idx)\n\u001b[0;32m---> 49\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[38;5;21;43m__call__\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mb\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msplit_idx\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msplit_idx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdo \u001b[38;5;28;01melse\u001b[39;00m b\n",
"File \u001b[0;32m~/mambaforge/lib/python3.9/site-packages/fastcore/transform.py:81\u001b[0m, in \u001b[0;36mTransform.__call__\u001b[0;34m(self, x, **kwargs)\u001b[0m\n\u001b[0;32m---> 81\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__call__\u001b[39m(\u001b[38;5;28mself\u001b[39m, x, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs): \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_call\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mencodes\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/mambaforge/lib/python3.9/site-packages/fastcore/transform.py:91\u001b[0m, in \u001b[0;36mTransform._call\u001b[0;34m(self, fn, x, split_idx, **kwargs)\u001b[0m\n\u001b[1;32m 89\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_call\u001b[39m(\u001b[38;5;28mself\u001b[39m, fn, x, split_idx\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 90\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m split_idx\u001b[38;5;241m!=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msplit_idx \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msplit_idx \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m: \u001b[38;5;28;01mreturn\u001b[39;00m x\n\u001b[0;32m---> 91\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_do_call\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mgetattr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfn\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/mambaforge/lib/python3.9/site-packages/fastcore/transform.py:98\u001b[0m, in \u001b[0;36mTransform._do_call\u001b[0;34m(self, f, x, **kwargs)\u001b[0m\n\u001b[1;32m 96\u001b[0m ret \u001b[38;5;241m=\u001b[39m f\u001b[38;5;241m.\u001b[39mreturns(x) \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mhasattr\u001b[39m(f,\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mreturns\u001b[39m\u001b[38;5;124m'\u001b[39m) \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 97\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m retain_type(f(x, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs), x, ret)\n\u001b[0;32m---> 98\u001b[0m res \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mtuple\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_do_call\u001b[49m\u001b[43m(\u001b[49m\u001b[43mf\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mx_\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mx_\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mx\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 99\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m retain_type(res, x)\n",
"File \u001b[0;32m~/mambaforge/lib/python3.9/site-packages/fastcore/transform.py:98\u001b[0m, in \u001b[0;36m<genexpr>\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 96\u001b[0m ret \u001b[38;5;241m=\u001b[39m f\u001b[38;5;241m.\u001b[39mreturns(x) \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mhasattr\u001b[39m(f,\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mreturns\u001b[39m\u001b[38;5;124m'\u001b[39m) \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 97\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m retain_type(f(x, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs), x, ret)\n\u001b[0;32m---> 98\u001b[0m res \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mtuple\u001b[39m(\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_do_call\u001b[49m\u001b[43m(\u001b[49m\u001b[43mf\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mx_\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mfor\u001b[39;00m x_ \u001b[38;5;129;01min\u001b[39;00m x)\n\u001b[1;32m 99\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m retain_type(res, x)\n",
"File \u001b[0;32m~/mambaforge/lib/python3.9/site-packages/fastcore/transform.py:97\u001b[0m, in \u001b[0;36mTransform._do_call\u001b[0;34m(self, f, x, **kwargs)\u001b[0m\n\u001b[1;32m 95\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m f \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m: \u001b[38;5;28;01mreturn\u001b[39;00m x\n\u001b[1;32m 96\u001b[0m ret \u001b[38;5;241m=\u001b[39m f\u001b[38;5;241m.\u001b[39mreturns(x) \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mhasattr\u001b[39m(f,\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mreturns\u001b[39m\u001b[38;5;124m'\u001b[39m) \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m---> 97\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m retain_type(\u001b[43mf\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m, x, ret)\n\u001b[1;32m 98\u001b[0m res \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mtuple\u001b[39m(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_do_call(f, x_, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs) \u001b[38;5;28;01mfor\u001b[39;00m x_ \u001b[38;5;129;01min\u001b[39;00m x)\n\u001b[1;32m 99\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m retain_type(res, x)\n",
"File \u001b[0;32m~/mambaforge/lib/python3.9/site-packages/fastcore/dispatch.py:120\u001b[0m, in \u001b[0;36mTypeDispatch.__call__\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 118\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39minst \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m: f \u001b[38;5;241m=\u001b[39m MethodType(f, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39minst)\n\u001b[1;32m 119\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mowner \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m: f \u001b[38;5;241m=\u001b[39m MethodType(f, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mowner)\n\u001b[0;32m--> 120\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mf\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/mambaforge/lib/python3.9/site-packages/fastai/vision/augment.py:501\u001b[0m, in \u001b[0;36mAffineCoordTfm.encodes\u001b[0;34m(self, x)\u001b[0m\n\u001b[0;32m--> 501\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mencodes\u001b[39m(\u001b[38;5;28mself\u001b[39m, x:TensorImage): \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_encode\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmode\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/mambaforge/lib/python3.9/site-packages/fastai/vision/augment.py:499\u001b[0m, in \u001b[0;36mAffineCoordTfm._encode\u001b[0;34m(self, x, mode, reverse)\u001b[0m\n\u001b[1;32m 497\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_encode\u001b[39m(\u001b[38;5;28mself\u001b[39m, x, mode, reverse\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m):\n\u001b[1;32m 498\u001b[0m coord_func \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcoord_fs)\u001b[38;5;241m==\u001b[39m\u001b[38;5;241m0\u001b[39m \u001b[38;5;129;01mor\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msplit_idx \u001b[38;5;28;01melse\u001b[39;00m partial(compose_tfms, tfms\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcoord_fs, reverse\u001b[38;5;241m=\u001b[39mreverse)\n\u001b[0;32m--> 499\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mx\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43maffine_coord\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmat\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcoord_func\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msz\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msize\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmode\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmode\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpad_mode\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpad_mode\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43malign_corners\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43malign_corners\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/mambaforge/lib/python3.9/site-packages/fastai/vision/augment.py:391\u001b[0m, in \u001b[0;36maffine_coord\u001b[0;34m(x, mat, coord_tfm, sz, mode, pad_mode, align_corners)\u001b[0m\n\u001b[1;32m 389\u001b[0m coords \u001b[38;5;241m=\u001b[39m affine_grid(mat, x\u001b[38;5;241m.\u001b[39mshape[:\u001b[38;5;241m2\u001b[39m] \u001b[38;5;241m+\u001b[39m size, align_corners\u001b[38;5;241m=\u001b[39malign_corners)\n\u001b[1;32m 390\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m coord_tfm \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m: coords \u001b[38;5;241m=\u001b[39m coord_tfm(coords)\n\u001b[0;32m--> 391\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m TensorImage(\u001b[43m_grid_sample\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcoords\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmode\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmode\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpadding_mode\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mpad_mode\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43malign_corners\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43malign_corners\u001b[49m\u001b[43m)\u001b[49m)\n",
"File \u001b[0;32m~/mambaforge/lib/python3.9/site-packages/fastai/vision/augment.py:364\u001b[0m, in \u001b[0;36m_grid_sample\u001b[0;34m(x, coords, mode, padding_mode, align_corners)\u001b[0m\n\u001b[1;32m 362\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m d\u001b[38;5;241m>\u001b[39m\u001b[38;5;241m1\u001b[39m \u001b[38;5;129;01mand\u001b[39;00m d\u001b[38;5;241m>\u001b[39mz:\n\u001b[1;32m 363\u001b[0m x \u001b[38;5;241m=\u001b[39m F\u001b[38;5;241m.\u001b[39minterpolate(x, scale_factor\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m1\u001b[39m\u001b[38;5;241m/\u001b[39md, mode\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124marea\u001b[39m\u001b[38;5;124m'\u001b[39m, recompute_scale_factor\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n\u001b[0;32m--> 364\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mF\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgrid_sample\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcoords\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmode\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmode\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpadding_mode\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mpadding_mode\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43malign_corners\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43malign_corners\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/mambaforge/lib/python3.9/site-packages/torch/nn/functional.py:4185\u001b[0m, in \u001b[0;36mgrid_sample\u001b[0;34m(input, grid, mode, padding_mode, align_corners)\u001b[0m\n\u001b[1;32m 4085\u001b[0m \u001b[38;5;124mr\u001b[39m\u001b[38;5;124;03m\"\"\"Given an :attr:`input` and a flow-field :attr:`grid`, computes the\u001b[39;00m\n\u001b[1;32m 4086\u001b[0m \u001b[38;5;124;03m``output`` using :attr:`input` values and pixel locations from :attr:`grid`.\u001b[39;00m\n\u001b[1;32m 4087\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 4182\u001b[0m \u001b[38;5;124;03m.. _`OpenCV`: https://github.com/opencv/opencv/blob/f345ed564a06178670750bad59526cfa4033be55/modules/imgproc/src/resize.cpp#L908\u001b[39;00m\n\u001b[1;32m 4183\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 4184\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m has_torch_function_variadic(\u001b[38;5;28minput\u001b[39m, grid):\n\u001b[0;32m-> 4185\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mhandle_torch_function\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 4186\u001b[0m \u001b[43m \u001b[49m\u001b[43mgrid_sample\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43minput\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mgrid\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43minput\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mgrid\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmode\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmode\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpadding_mode\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mpadding_mode\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43malign_corners\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43malign_corners\u001b[49m\n\u001b[1;32m 4187\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 4188\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m mode \u001b[38;5;241m!=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mbilinear\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01mand\u001b[39;00m mode \u001b[38;5;241m!=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mnearest\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01mand\u001b[39;00m mode \u001b[38;5;241m!=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mbicubic\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[1;32m 4189\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[1;32m 4190\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mnn.functional.grid_sample(): expected mode to be \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 4191\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mbilinear\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m, \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mnearest\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m or \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mbicubic\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m, but got: \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{}\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;241m.\u001b[39mformat(mode)\n\u001b[1;32m 4192\u001b[0m )\n",
"File \u001b[0;32m~/mambaforge/lib/python3.9/site-packages/torch/overrides.py:1498\u001b[0m, in \u001b[0;36mhandle_torch_function\u001b[0;34m(public_api, relevant_args, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1492\u001b[0m warnings\u001b[38;5;241m.\u001b[39mwarn(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mDefining your `__torch_function__ as a plain method is deprecated and \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 1493\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mwill be an error in future, please define it as a classmethod.\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 1494\u001b[0m \u001b[38;5;167;01mDeprecationWarning\u001b[39;00m)\n\u001b[1;32m 1496\u001b[0m \u001b[38;5;66;03m# Use `public_api` instead of `implementation` so __torch_function__\u001b[39;00m\n\u001b[1;32m 1497\u001b[0m \u001b[38;5;66;03m# implementations can do equality/identity comparisons.\u001b[39;00m\n\u001b[0;32m-> 1498\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[43mtorch_func_method\u001b[49m\u001b[43m(\u001b[49m\u001b[43mpublic_api\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtypes\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1500\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m result \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28mNotImplemented\u001b[39m:\n\u001b[1;32m 1501\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m result\n",
"File \u001b[0;32m~/mambaforge/lib/python3.9/site-packages/fastai/torch_core.py:376\u001b[0m, in \u001b[0;36mTensorBase.__torch_function__\u001b[0;34m(cls, func, types, args, kwargs)\u001b[0m\n\u001b[1;32m 374\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39mdebug \u001b[38;5;129;01mand\u001b[39;00m func\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m (\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m__str__\u001b[39m\u001b[38;5;124m'\u001b[39m,\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m__repr__\u001b[39m\u001b[38;5;124m'\u001b[39m): \u001b[38;5;28mprint\u001b[39m(func, types, args, kwargs)\n\u001b[1;32m 375\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m _torch_handled(args, \u001b[38;5;28mcls\u001b[39m\u001b[38;5;241m.\u001b[39m_opt, func): types \u001b[38;5;241m=\u001b[39m (torch\u001b[38;5;241m.\u001b[39mTensor,)\n\u001b[0;32m--> 376\u001b[0m res \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m__torch_function__\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfunc\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtypes\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mifnone\u001b[49m\u001b[43m(\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m{\u001b[49m\u001b[43m}\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 377\u001b[0m dict_objs \u001b[38;5;241m=\u001b[39m _find_args(args) \u001b[38;5;28;01mif\u001b[39;00m args \u001b[38;5;28;01melse\u001b[39;00m _find_args(\u001b[38;5;28mlist\u001b[39m(kwargs\u001b[38;5;241m.\u001b[39mvalues()))\n\u001b[1;32m 378\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28missubclass\u001b[39m(\u001b[38;5;28mtype\u001b[39m(res),TensorBase) \u001b[38;5;129;01mand\u001b[39;00m dict_objs: res\u001b[38;5;241m.\u001b[39mset_meta(dict_objs[\u001b[38;5;241m0\u001b[39m],as_copy\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n",
"File \u001b[0;32m~/mambaforge/lib/python3.9/site-packages/torch/_tensor.py:1121\u001b[0m, in \u001b[0;36mTensor.__torch_function__\u001b[0;34m(cls, func, types, args, kwargs)\u001b[0m\n\u001b[1;32m 1118\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mNotImplemented\u001b[39m\n\u001b[1;32m 1120\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m _C\u001b[38;5;241m.\u001b[39mDisableTorchFunction():\n\u001b[0;32m-> 1121\u001b[0m ret \u001b[38;5;241m=\u001b[39m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1122\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m func \u001b[38;5;129;01min\u001b[39;00m get_default_nowrap_functions():\n\u001b[1;32m 1123\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m ret\n",
"File \u001b[0;32m~/mambaforge/lib/python3.9/site-packages/torch/nn/functional.py:4223\u001b[0m, in \u001b[0;36mgrid_sample\u001b[0;34m(input, grid, mode, padding_mode, align_corners)\u001b[0m\n\u001b[1;32m 4215\u001b[0m warnings\u001b[38;5;241m.\u001b[39mwarn(\n\u001b[1;32m 4216\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mDefault grid_sample and affine_grid behavior has changed \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 4217\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mto align_corners=False since 1.3.0. Please specify \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 4218\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124malign_corners=True if the old behavior is desired. \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 4219\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mSee the documentation of grid_sample for details.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 4220\u001b[0m )\n\u001b[1;32m 4221\u001b[0m align_corners \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m\n\u001b[0;32m-> 4223\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mtorch\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgrid_sampler\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43minput\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mgrid\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmode_enum\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpadding_mode_enum\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43malign_corners\u001b[49m\u001b[43m)\u001b[49m\n",
"\u001b[0;31mRuntimeError\u001b[0m: grid_sampler(): expected grid to have size 1 in last dimension, but got grid with sizes [3, 90, 90, 2]"
]
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Remove `Flip` from transforms"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "learn.dls.after_batch[1]",
"execution_count": 7,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 7,
"data": {
"text/plain": "Flip -- {'size': 90, 'mode': 'bilinear', 'pad_mode': 'reflection', 'mode_mask': 'nearest', 'align_corners': True, 'p': 0.5}:\nencodes: (TensorImage,object) -> encodes\n(TensorMask,object) -> encodes\n(TensorBBox,object) -> encodes\n(TensorPoint,object) -> encodes\ndecodes: "
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "learn.dls.after_batch = Pipeline(funcs=[t for i,t in enumerate(learn.dls.after_batch) if i!=1])",
"execution_count": 8,
"outputs": []
},
{
"metadata": {
"trusted": true,
"scrolled": true
},
"cell_type": "code",
"source": "captum=CaptumInterpretation(learn)\nidx=randint(0,len(dls.valid.items))\nf = dls.valid.items.iloc[[idx]]\ncaptum.visualize(f)",
"execution_count": 9,
"outputs": [
{
"output_type": "error",
"ename": "AssertionError",
"evalue": "Tensor target dimension torch.Size([4000]) is not valid. torch.Size([200, 20])",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mAssertionError\u001b[0m Traceback (most recent call last)",
"Cell \u001b[0;32mIn [9], line 4\u001b[0m\n\u001b[1;32m 2\u001b[0m idx\u001b[38;5;241m=\u001b[39mrandint(\u001b[38;5;241m0\u001b[39m,\u001b[38;5;28mlen\u001b[39m(dls\u001b[38;5;241m.\u001b[39mvalid\u001b[38;5;241m.\u001b[39mitems))\n\u001b[1;32m 3\u001b[0m f \u001b[38;5;241m=\u001b[39m dls\u001b[38;5;241m.\u001b[39mvalid\u001b[38;5;241m.\u001b[39mitems\u001b[38;5;241m.\u001b[39miloc[[idx]]\n\u001b[0;32m----> 4\u001b[0m captum\u001b[38;5;241m.\u001b[39mvisualize(f)\n",
"File \u001b[0;32m~/mambaforge/lib/python3.9/site-packages/fastai/callback/captum.py:56\u001b[0m, in \u001b[0;36mCaptumInterpretation.visualize\u001b[0;34m(self, inp, metric, n_steps, baseline_type, nt_type, strides, sliding_window_shapes)\u001b[0m\n\u001b[1;32m 54\u001b[0m inp_data\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mlist\u001b[39m(\u001b[38;5;28mzip\u001b[39m(\u001b[38;5;241m*\u001b[39m(tls[\u001b[38;5;241m0\u001b[39m],tls[\u001b[38;5;241m1\u001b[39m])))[\u001b[38;5;241m0\u001b[39m]\n\u001b[1;32m 55\u001b[0m enc_data,dec_data\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_enc_dec_data(inp_data)\n\u001b[0;32m---> 56\u001b[0m attributions\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_get_attributions\u001b[49m\u001b[43m(\u001b[49m\u001b[43menc_data\u001b[49m\u001b[43m,\u001b[49m\u001b[43mmetric\u001b[49m\u001b[43m,\u001b[49m\u001b[43mn_steps\u001b[49m\u001b[43m,\u001b[49m\u001b[43mnt_type\u001b[49m\u001b[43m,\u001b[49m\u001b[43mbaseline_type\u001b[49m\u001b[43m,\u001b[49m\u001b[43mstrides\u001b[49m\u001b[43m,\u001b[49m\u001b[43msliding_window_shapes\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 57\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_viz(attributions,dec_data,metric)\n",
"File \u001b[0;32m~/mambaforge/lib/python3.9/site-packages/fastai/callback/captum.py:82\u001b[0m, in \u001b[0;36mCaptumInterpretation._get_attributions\u001b[0;34m(self, enc_data, metric, n_steps, nt_type, baseline_type, strides, sliding_window_shapes)\u001b[0m\n\u001b[1;32m 80\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m metric \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mIG\u001b[39m\u001b[38;5;124m'\u001b[39m:\n\u001b[1;32m 81\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_int_grads \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_int_grads \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mhasattr\u001b[39m(\u001b[38;5;28mself\u001b[39m,\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m_int_grads\u001b[39m\u001b[38;5;124m'\u001b[39m) \u001b[38;5;28;01melse\u001b[39;00m IntegratedGradients(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmodel)\n\u001b[0;32m---> 82\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_int_grads\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mattribute\u001b[49m\u001b[43m(\u001b[49m\u001b[43menc_data\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43mbaseline\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtarget\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43menc_data\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mn_steps\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m200\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 83\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m metric \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mNT\u001b[39m\u001b[38;5;124m'\u001b[39m:\n\u001b[1;32m 84\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_int_grads \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_int_grads \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mhasattr\u001b[39m(\u001b[38;5;28mself\u001b[39m,\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m_int_grads\u001b[39m\u001b[38;5;124m'\u001b[39m) \u001b[38;5;28;01melse\u001b[39;00m IntegratedGradients(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmodel)\n",
"File \u001b[0;32m~/mambaforge/lib/python3.9/site-packages/captum/log/__init__.py:35\u001b[0m, in \u001b[0;36mlog_usage.<locals>._log_usage.<locals>.wrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 33\u001b[0m \u001b[38;5;129m@wraps\u001b[39m(func)\n\u001b[1;32m 34\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mwrapper\u001b[39m(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[0;32m---> 35\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/mambaforge/lib/python3.9/site-packages/captum/attr/_core/integrated_gradients.py:285\u001b[0m, in \u001b[0;36mIntegratedGradients.attribute\u001b[0;34m(self, inputs, baselines, target, additional_forward_args, n_steps, method, internal_batch_size, return_convergence_delta)\u001b[0m\n\u001b[1;32m 273\u001b[0m attributions \u001b[38;5;241m=\u001b[39m _batch_attribution(\n\u001b[1;32m 274\u001b[0m \u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m 275\u001b[0m num_examples,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 282\u001b[0m method\u001b[38;5;241m=\u001b[39mmethod,\n\u001b[1;32m 283\u001b[0m )\n\u001b[1;32m 284\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 285\u001b[0m attributions \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_attribute\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 286\u001b[0m \u001b[43m \u001b[49m\u001b[43minputs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43minputs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 287\u001b[0m \u001b[43m \u001b[49m\u001b[43mbaselines\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mbaselines\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 288\u001b[0m \u001b[43m \u001b[49m\u001b[43mtarget\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtarget\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 289\u001b[0m \u001b[43m \u001b[49m\u001b[43madditional_forward_args\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43madditional_forward_args\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 290\u001b[0m \u001b[43m \u001b[49m\u001b[43mn_steps\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mn_steps\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 291\u001b[0m \u001b[43m \u001b[49m\u001b[43mmethod\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmethod\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 292\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 294\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m return_convergence_delta:\n\u001b[1;32m 295\u001b[0m start_point, end_point \u001b[38;5;241m=\u001b[39m baselines, inputs\n",
"File \u001b[0;32m~/mambaforge/lib/python3.9/site-packages/captum/attr/_core/integrated_gradients.py:350\u001b[0m, in \u001b[0;36mIntegratedGradients._attribute\u001b[0;34m(self, inputs, baselines, target, additional_forward_args, n_steps, method, step_sizes_and_alphas)\u001b[0m\n\u001b[1;32m 347\u001b[0m expanded_target \u001b[38;5;241m=\u001b[39m _expand_target(target, n_steps)\n\u001b[1;32m 349\u001b[0m \u001b[38;5;66;03m# grads: dim -> (bsz * #steps x inputs[0].shape[1:], ...)\u001b[39;00m\n\u001b[0;32m--> 350\u001b[0m grads \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgradient_func\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 351\u001b[0m \u001b[43m \u001b[49m\u001b[43mforward_fn\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mforward_func\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 352\u001b[0m \u001b[43m \u001b[49m\u001b[43minputs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mscaled_features_tpl\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 353\u001b[0m \u001b[43m \u001b[49m\u001b[43mtarget_ind\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mexpanded_target\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 354\u001b[0m \u001b[43m \u001b[49m\u001b[43madditional_forward_args\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43minput_additional_args\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 355\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 357\u001b[0m \u001b[38;5;66;03m# flattening grads so that we can multilpy it with step-size\u001b[39;00m\n\u001b[1;32m 358\u001b[0m \u001b[38;5;66;03m# calling contiguous to avoid `memory whole` problems\u001b[39;00m\n\u001b[1;32m 359\u001b[0m scaled_grads \u001b[38;5;241m=\u001b[39m [\n\u001b[1;32m 360\u001b[0m grad\u001b[38;5;241m.\u001b[39mcontiguous()\u001b[38;5;241m.\u001b[39mview(n_steps, \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1\u001b[39m)\n\u001b[1;32m 361\u001b[0m \u001b[38;5;241m*\u001b[39m torch\u001b[38;5;241m.\u001b[39mtensor(step_sizes)\u001b[38;5;241m.\u001b[39mview(n_steps, \u001b[38;5;241m1\u001b[39m)\u001b[38;5;241m.\u001b[39mto(grad\u001b[38;5;241m.\u001b[39mdevice)\n\u001b[1;32m 362\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m grad \u001b[38;5;129;01min\u001b[39;00m grads\n\u001b[1;32m 363\u001b[0m ]\n",
"File \u001b[0;32m~/mambaforge/lib/python3.9/site-packages/captum/_utils/gradient.py:112\u001b[0m, in \u001b[0;36mcompute_gradients\u001b[0;34m(forward_fn, inputs, target_ind, additional_forward_args)\u001b[0m\n\u001b[1;32m 94\u001b[0m \u001b[38;5;124mr\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 95\u001b[0m \u001b[38;5;124;03mComputes gradients of the output with respect to inputs for an\u001b[39;00m\n\u001b[1;32m 96\u001b[0m \u001b[38;5;124;03marbitrary forward function.\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 108\u001b[0m \u001b[38;5;124;03m arguments) if no additional arguments are required\u001b[39;00m\n\u001b[1;32m 109\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 110\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m torch\u001b[38;5;241m.\u001b[39mautograd\u001b[38;5;241m.\u001b[39mset_grad_enabled(\u001b[38;5;28;01mTrue\u001b[39;00m):\n\u001b[1;32m 111\u001b[0m \u001b[38;5;66;03m# runs forward pass\u001b[39;00m\n\u001b[0;32m--> 112\u001b[0m outputs \u001b[38;5;241m=\u001b[39m \u001b[43m_run_forward\u001b[49m\u001b[43m(\u001b[49m\u001b[43mforward_fn\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43minputs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtarget_ind\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43madditional_forward_args\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 113\u001b[0m \u001b[38;5;28;01massert\u001b[39;00m outputs[\u001b[38;5;241m0\u001b[39m]\u001b[38;5;241m.\u001b[39mnumel() \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m1\u001b[39m, (\n\u001b[1;32m 114\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mTarget not provided when necessary, cannot\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 115\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m take gradient with respect to multiple outputs.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 116\u001b[0m )\n\u001b[1;32m 117\u001b[0m \u001b[38;5;66;03m# torch.unbind(forward_out) is a list of scalar tensor tuples and\u001b[39;00m\n\u001b[1;32m 118\u001b[0m \u001b[38;5;66;03m# contains batch_size * #steps elements\u001b[39;00m\n",
"File \u001b[0;32m~/mambaforge/lib/python3.9/site-packages/captum/_utils/common.py:461\u001b[0m, in \u001b[0;36m_run_forward\u001b[0;34m(forward_func, inputs, target, additional_forward_args)\u001b[0m\n\u001b[1;32m 454\u001b[0m additional_forward_args \u001b[38;5;241m=\u001b[39m _format_additional_forward_args(additional_forward_args)\n\u001b[1;32m 456\u001b[0m output \u001b[38;5;241m=\u001b[39m forward_func(\n\u001b[1;32m 457\u001b[0m \u001b[38;5;241m*\u001b[39m(\u001b[38;5;241m*\u001b[39minputs, \u001b[38;5;241m*\u001b[39madditional_forward_args)\n\u001b[1;32m 458\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m additional_forward_args \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 459\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m inputs\n\u001b[1;32m 460\u001b[0m )\n\u001b[0;32m--> 461\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_select_targets\u001b[49m\u001b[43m(\u001b[49m\u001b[43moutput\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtarget\u001b[49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/mambaforge/lib/python3.9/site-packages/captum/_utils/common.py:480\u001b[0m, in \u001b[0;36m_select_targets\u001b[0;34m(output, target)\u001b[0m\n\u001b[1;32m 478\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m torch\u001b[38;5;241m.\u001b[39mgather(output, \u001b[38;5;241m1\u001b[39m, target\u001b[38;5;241m.\u001b[39mreshape(\u001b[38;5;28mlen\u001b[39m(output), \u001b[38;5;241m1\u001b[39m))\n\u001b[1;32m 479\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 480\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mAssertionError\u001b[39;00m(\n\u001b[1;32m 481\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mTensor target dimension \u001b[39m\u001b[38;5;132;01m%r\u001b[39;00m\u001b[38;5;124m is not valid. \u001b[39m\u001b[38;5;132;01m%r\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 482\u001b[0m \u001b[38;5;241m%\u001b[39m (target\u001b[38;5;241m.\u001b[39mshape, output\u001b[38;5;241m.\u001b[39mshape)\n\u001b[1;32m 483\u001b[0m )\n\u001b[1;32m 484\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(target, \u001b[38;5;28mlist\u001b[39m):\n\u001b[1;32m 485\u001b[0m \u001b[38;5;28;01massert\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(target) \u001b[38;5;241m==\u001b[39m num_examples, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mTarget list length does not match output!\u001b[39m\u001b[38;5;124m\"\u001b[39m\n",
"\u001b[0;31mAssertionError\u001b[0m: Tensor target dimension torch.Size([4000]) is not valid. torch.Size([200, 20])"
]
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Adjust for MultiCategories"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "from captum.attr import IntegratedGradients,NoiseTunnel,GradientShap,Occlusion\nfrom matplotlib.colors import LinearSegmentedColormap\nfrom captum.attr import visualization as viz",
"execution_count": 10,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Hardcode particular target category"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "target_idx = 12\n\n@patch\ndef _get_attributions(self:CaptumInterpretation,enc_data,metric,n_steps,nt_type,baseline_type,strides,sliding_window_shapes):\n # Hardcode target category idx\n enc_data = (enc_data[0], target_idx)\n # Get Baseline\n baseline=self.get_baseline_img(enc_data[0],baseline_type)\n supported_metrics ={}\n if metric == 'IG':\n self._int_grads = self._int_grads if hasattr(self,'_int_grads') else IntegratedGradients(self.model)\n return self._int_grads.attribute(enc_data[0],baseline, target=enc_data[1], n_steps=200)\n elif metric == 'NT':\n self._int_grads = self._int_grads if hasattr(self,'_int_grads') else IntegratedGradients(self.model)\n self._noise_tunnel= self._noise_tunnel if hasattr(self,'_noise_tunnel') else NoiseTunnel(self._int_grads)\n return self._noise_tunnel.attribute(enc_data[0].to(self.dls.device), nt_samples=1, nt_type=nt_type, target=enc_data[1])\n elif metric == 'Occl':\n self._occlusion = self._occlusion if hasattr(self,'_occlusion') else Occlusion(self.model)\n return self._occlusion.attribute(enc_data[0].to(self.dls.device),\n strides = strides,\n target=enc_data[1],\n sliding_window_shapes=sliding_window_shapes,\n baselines=baseline)",
"execution_count": 11,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "captum=CaptumInterpretation(learn)",
"execution_count": 12,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "idx=randint(0,len(dls.valid.items))\nf = dls.valid.items.iloc[[idx]]\ncaptum.visualize(f)",
"execution_count": 13,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 800x600 with 4 Axes>",
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA8cAAAHcCAYAAAD7gdgrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAADFF0lEQVR4nOyde5xVZdn3r7337D0nZobDcBBQMFDxGAYZFhYqJiUWKSX20CMmFhYVJRYlb9EnSlIsMjRMSXwkpUQbCxULhBKDEhUTFQ0QFTkPMDPMaZ/u9w+cca7fvVj3XrP3DOj+fd9Pn/e59lrrPq81rr353lfIGGOEEEIIIYQQQgjJY8JHuwGEEEIIIYQQQsjRhi/HhBBCCCGEEELyHr4cE0IIIYQQQgjJe/hyTAghhBBCCCEk7+HLMSGEEEIIIYSQvIcvx4QQQgghhBBC8h6+HBNCCCGEEEIIyXv4ckwIIYQQQgghJO/hyzEhhBBCCCGEkLynXS/H69atk89//vNy3HHHSSwWkz59+sj48eNl7dq1gcqZNWuWhEKh9jRBVq9eLaFQSFavXt2u6zNl1KhRMmrUqIzOO+OMMzq0Le9FtmzZIoWFhbJ27drWOcvkf+9FRo0aJaFQSD7wgQ+IMcY6/o9//KO1f4sWLWpXHQMHDpRJkya1xjt27JBZs2bJhg0brHOPdH+l02m57777ZPTo0VJZWSnRaFR69eolY8eOlb/85S+STqcDt+tnP/uZVFVVBb7uvcKFF14oU6ZMaY1bxjYUCkmXLl3UuWvWrJHJkyfLsGHDpLCwUEKhkGzbtq1D2pVIJOTHP/6xDBw4UAoLC2XIkCHy61//ukPqeu6552T06NHSpUsX6dq1q1x22WWydevWnNfDPmUH+9R+2KfsYJ8IIe8LTEBuu+02Ew6HzYgRI8z//d//mb///e/mvvvuMyNGjDDhcNj8+te/zrist956y6xduzZoE4wxxtTU1Ji1a9eampqadl2fKZ/4xCfMJz7xiYzOO/300zu0Le9Fxo0bZy655BJjzLtz1vZ/ffr0MR/72Mesz9+LfOITnzBlZWVGRMyKFSus41dddZUpLy83ImLuueeedtUxYMAAc9VVV7XGzzzzzBHL87q/GhsbzcUXX2xCoZC58sorzR//+Efzj3/8wzz00EPm2muvNYWFhaaqqipwu0pLS1W73k9UVVWZwsJCs3379tbPfvSjHxkRMWvXrjX//ve/1fmzZs0yAwYMMOPGjTOjRo0yImJef/31Dmnb5MmTTWFhobn55pvNqlWrzIwZM0woFDI//elPc1rPK6+8YsrKysx5551nHn30UfPQQw+Z008/3fTt29fs2bMnp3WxT+2HfcoO9qn9sE+EkPcLgV6O16xZY8LhsBk7dqxJJBLqWCKRMGPHjjXhcNisWbPGt5z6+vrgLT1K8OW4/bz88stGRMzy5cuPeM6AAQNaX57fq7Ss55Y1MGLECPPFL35RnVNbW2tKSkrMtdde22kvx15cd911RkTMvffe63n8tddeMy+88ELgdr1XXo7b8+w555xzzIQJE9RnLS/HXqRSqdb/+5Zbbumwl+ONGzeaUChkfvazn6nPr732WlNcXGyqq6tzVtfnP/95U1lZqb6M3LZtm4lGo+a73/1uzuphn7KDfWo/7FN2sE+EkPcLgV6OL7nkEhOJRMxbb73lefzNN980kUjEjB07tvWzlv+IfPbZZ83ll19uunbtavr06aOOtaWpqcl85zvfMb179zbFxcXmvPPOM+vXr7deClatWmVExKxatar1s6uuusqUlpaa//73v+ZTn/qUKS0tNf379zff+c53TFNTk6pn1qxZ5pxzzjHdunUzZWVl5uyzzzZ33323SafT6rxsXo5FxHz96183v/vd78zJJ59sioqKzLBhw8zatWtNOp02N998sxk4cKApLS01559/vvnvf/+rrv/rX/9qPvOZz5h+/fqZwsJCM2jQIPOVr3zF7N2716q/qqrKnHnmmSYWi5kTTzzRzJs3z3N80+m0uf32280HP/hBU1RUZLp27Wouv/xys2XLFmcfg/KNb3zD9OnTR70sIF4vxzt37jRf+cpXTL9+/Uw0GjUDBw40s2bNUl/IvP7660ZEzC233GJuvfXW1nEcMWKE9Wvpli1bzBVXXGGOO+44E4vFTK9evcwFF1xgnn/++dZzUqmU+fnPf25OOeUUE4vFTM+ePc2XvvQla623zPPf//53c+6555ri4mJzxRVXqGO//e1vTVFRkTlw4EDrdb/97W9NSUmJWblypfUye9VVV5kBAwZYY+M1f23vg5Z7AP/3ox/9yPP6nTt3mmg0ai6++GLPuUAaGxvNd77zHfPBD37QlJeXm27dupkRI0ZYvyx7taHtPZPJfBpz+Jfuyy+/3HTp0sVUVFSYL37xi+bf//6358v/I488YkaMGGGKi4tNly5dzOjRo80///lPz/HDZ8///d//GRGxzjfGmB//+MemoKDAvP3228YYY5577jkjIubRRx/1LNtFR74cz54924iI2blzp/r8n//8pxER8/vf/z4n9SQSCVNcXGy++tWvWsc++clPmpNOOikn9RjDPmUD+5Qd7FP7YZ8IIe8nMnaOU6mUrFq1SoYPHy79+/f3POf444+XYcOGyZNPPimpVEodu+yyy2Tw4MHy4IMPyoIFC45Yz9VXXy3z5s2Tq6++Wh555BG5/PLL5XOf+5wcPHgwo3YmEgn5zGc+IxdeeKE88sgj8uUvf1l++ctfys9//nN13rZt2+SrX/2q/PGPf5SHH35YLrvsMvnGN74hP/nJTzKqJ1OWLVsmd999t8yZM0ceeOABqaurk0suuUSuv/56efrpp2X+/Pny29/+Vl5++WW5/PLLlau6ZcsWOffcc+U3v/mN/PWvf5Uf/vCH8q9//UtGjhwpiUSi9bzly5fLZZddJj169JA//OEPcvPNN8sDDzwg9957r9Wer371qzJt2jQZPXq0VFVVyR133CEvvfSSfPSjH5Xdu3fntO+PPvqofPzjH5dwOHO1fdeuXXLOOefIE088IT/84Q/l8ccfl2uuuUZuuukmufbaa63zb7/9dvnb3/4m8+bNk9///vdSX18vn/70p6Wmpqb1nE9/+tPy7LPPys033yx/+9vf5De/+Y2cffbZak1dd9118r3vfU8uuugi+fOf/yw/+clPZPny5fLRj35U9u3bp+rcuXOnTJw4Ub74xS/KY489Jl/72tfU8QkTJkgkEpEHHnig9bOFCxfK+PHjpby8POOxcPGhD31I7rnnHhERmTlzpqxdu1bWrl0rkydP9jx/1apVkkgkZNy4cRmV39zcLPv375fp06dLVVWVPPDAAzJy5Ei57LLL5P/+7/9az1u7dq0UFxfLpz/96dY23HHHHSKS+XzW19fL+eefL6tWrZKf//zn8sc//lF69+4tV1xxhdWu+++/Xz772c9KeXm5PPDAA7Jw4UI5cOCAjBo1StasWWOdj8+eK664Qvr06SO33367Oi+ZTMqdd94pn/vc56Rv374icvj+jUQi8vGPfzyjMetMNm7cKD179pQ+ffqoz88666zW47lgy5Yt0tjY2Fou1rV582ZpamrKSV3sU/thn7KDfWo/7BMh5P1EQaYn7tu3TxoaGuTEE0/0Pe/EE0+Uf//731JdXS29evVq/fyqq66SH//4x77Xvvzyy/LAAw/I9773PbnppptEROSiiy6S3r17y5VXXplRO+PxuPz4xz+Wz3/+8yJyeCOd9evXy/333y8//OEPW89reakQObxB0ahRo8QYI7/61a/k//2//5ezTaGam5vlr3/9q5SWloqISCgUknHjxsmqVavkueeea61n7969Mm3aNNm4caOceeaZIiJqAyBjjHz0ox+VUaNGyYABA+Txxx+Xz3zmMyIi8sMf/lD69esnTzzxhMRiMRERGTNmjAwcOFC1Zd26dXLXXXfJrbfeKt/5zndaPz/vvPPk5JNPll/84hfWlwjtZc+ePbJ161b5yle+Eui6WbNmyYEDB+Sll16SE044QUQOz2FxcbFMnz5dbrjhBjnttNNazy8rK2t9gRER6du3r5xzzjny+OOPy4QJE6S6ulpeffVVmTdvnkycOLH1ussuu6z1/960aZP89re/la997WtqU4+zzz5bPvKRj8gvf/lL+elPf9r6+f79++XBBx+UCy64wLMPZWVlMn78ePnd734n1113nbz88svyr3/9K2dj20J5eXnrJnCDBg2SESNG+J7/5ptviog47+EWKioq1H2SSqXkwgsvlAMHDsi8efPkf//3f0VEZMSIERIOh6Vnz55WGzKdz3vvvVc2b94sjz/+uIwZM0ZERD75yU9KQ0OD3Hnnna3lpdNpueGGG+TMM8+Uxx9/vPWLl09/+tMyaNAg+d73vidPP/20aoPXs+erX/2q3HTTTfKLX/yi9Tn18MMPy44dO2Tq1Kmt561du1ZOOukka9OtY4Hq6mrp3r279XlpaanEYjGprq7OWT0i4llX9+7dxRgjBw4ckOOOOy4ndbFP7a9HhH3Kpi72qf31iLBPhJD3BzlP5dTyyye+XF5++eXOa//+97+LiMgXvvAF9fn48eOloCCz9/hQKCSXXnqp+uyss86SN954Q3325JNPyujRo6WiokIikYhEo1H54Q9/KNXV1bJnz56M6sqE888/v/XFWETk1FNPFRGRT33qU2qMWj5v2849e/bIlClT5Pjjj5eCggKJRqMyYMAAERF55ZVXROTwL27r16+XcePGtb4Yi4h06dLFGodly5ZJKBSSiRMnSjKZbP1fnz595IMf/KBz5++21ySTSc8dmVvYsWOHiIj6giQTli1bJueff7707dtX1fWpT31KRN5dIy1ccsklrS/GIu9+e9wyjt27d5dBgwbJLbfcIr/4xS/k+eeft3ZjXrVqlYiI2gVaROScc86RU089VVauXKk+79at2xFfjFv48pe/LOvXr5cXX3xRFi5cKIMGDTomf3108eCDD8rHPvYx6dKlS+saXLhwYev6c5HpfP7973+XsrKy1hfjFvBLsVdffVV27NghX/rSl9S/SOjSpYtcfvnlsm7dOmloaFDXeD17rrvuOhERueuuu1o/mz9/vpx55plqnnbs2BF4DXcmfl/i5XrX986qi316b9TFPr036mKf3jt1EUKODTJ+Oa6srJSSkhJ5/fXXfc/btm2blJSUWN+2ZfLtWss3db1791afFxQUSI8ePTJqZ0lJiRQVFanPCgsL1T9/+fe//y2f/OQnReTwfxw//fTT8swzz8iNN94oIiKNjY0Z1ZUJOA4tL7BH+rylnel0Wj75yU/Kww8/LN/97ndl5cqV8u9//1vWrVun2njgwAExxlhjJmKP4+7du1vPjUaj6n/r1q2z/vlwW7Zt22Zdgy+qbWlpH86Fi927d8tf/vIXq67TTz9dRMRqI66LwsJCVX8oFJKVK1fKxRdfLDfffLN86EMfkp49e8o3v/lNqaurE5F3153XGu3bt6/1TXQma/njH/+4nHTSSXLnnXfKfffdJ1/+8peP+h/Sll9uXfdwCw8//LB84QtfkH79+snixYtl7dq18swzz8iXv/zljP85WabzWV1dndEads1VOp2WAwcOqM+9zm35J9t33nmnpFIp+c9//iNPPfWU+tVY5PA6CrqGO4sePXp4/kpSX18v8Xjc8xeP9tYjIp517d+/X0KhkHTt2jVndbFP7a9HhH3Kpi72qf31iLBPhJD3Bxn/s+pIJCLnn3++LF++XLZv3+7pHW/fvl2effZZ+dSnPqV+zRPJ7Bu2lofR7t27pV+/fq2fJ5PJnP1TGRGRJUuWSDQalWXLlqn/8D2W8rRu3LhRXnjhBVm0aJFcddVVrZ9v3rxZndetWzcJhUKevvCuXbtUXFlZKaFQSJ566qnWl8i2eH3WQt++feWZZ55Rn51yyilHPL+yslJEDv8RCUJlZaWcddZZ6p8xYzuCMmDAAFm4cKGIiLz22mvyxz/+UWbNmiXxeFwWLFjQuu527txpresdO3a09qWFTF9yr776apk5c6aEQiE1h0hRUZE0Nzdbn/t9WdEezj//fIlGo1JVVaX+yf6RWLx4sZx44onyhz/8QfXZq61HItP57NGjh/z73/+2juMabjtXyI4dOyQcDku3bt3U50ear29961ty3333ySOPPCLLly+Xrl27yv/8z/9Y7Q+6hjuLM888U5YsWSK7du1S/t2LL74oIpKzvOuDBg2S4uLi1nLb8uKLL8rgwYNz9gUC+9R+2KfsYJ/aD/tECHk/EeifVX//+98XY4x87WtfszbcSqVSct1114kxRr7//e+3qzEt/5zxD3/4g/p86dKlkkwm21WmF6FQSAoKCtQLfGNjo9x33305qyNbWv6DHl9Y2/qXIoc9m+HDh0tVVZXE4/HWzw8dOiTLli1T544dO1aMMfL222/L8OHDrf+1uM5exGIx6/yysrIjnj9gwAApLi6WLVu2ZNznljZu3LhRBg0a5NnG9rwct+Xkk0+WmTNnyplnninPPfeciEjrP5FevHixOveZZ56RV155RS688MJ21XXVVVfJpZdeKjfccIP6sgcZOHCg7NmzR33BEY/H5YknnnDWgb+U+9GnTx+ZPHmyPPHEE2pDrbZs2bJF/vOf/4jI4TUYi8XUy+WuXbvkkUce8WyHVxsync9PfOITUldXJ48//ri6fsmSJSo+5ZRTpF+/fnL//ferf9ZfX18vDz30kJx77rlSUlLiHAsRkWHDhslHP/pR+fnPfy6///3vZdKkSUqBEBEZMmSIbN26NaPyOpvPfvazEgqFrI33Fi1aJMXFxdY/UW8vBQUFcumll8rDDz/c+q8tRA477KtWrVL+frawT+2HfcoO9qn9sE+EkPcVQbe3vu2220w4HDYjRowwixcvNv/4xz/M4sWLzbnnnmvC4bC57bbb1PktKU+80g95pUO58sorTSQSMd///vfN3/72NzNv3jxz/PHHm4qKCnP11Ve3nueXyslVT0s6nfHjx5u//vWv5oEHHjDDhg0zJ510kpV2JRepnNrSNgVRW1r68+CDDxpjjInH42bQoEFmwIAB5v777zfLly83X//6183JJ5+s0vUYY8zjjz9uwuGwGTVqlPnTn/5kli5daj7ykY+YAQMGmFAopOr5yle+YkpKSswNN9xg/vKXv5gnn3zS/P73vzfXXXedueOOO5z9DMIFF1xgzj33XN9zMJXTjh07zIABA8yQIUPMHXfcYVauXGkeffRRc/vtt5tLLrmkNbXSkcbRGKPG54UXXjDnnXeeue2228zjjz9uVq5caW688UYTDofND37wg9ZrvvKVr5hQKGSmTZtmnnjiCXPnnXeaXr16meOPP97s27ev9Ty/fNaZ5Lr2yku8detWE41GzahRo8yjjz5qHnroIfOJT3zCnHjiib6pnIw5nLe3uLjYfOxjHzOrVq0yzzzzTGsaIq/7q7Gx0Vx88cUmFAqZL37xi+bBBx80//jHP8zDDz9srrvuOlNUVNSaqul3v/udERFz3XXXmZUrV5pFixaZQYMGtd4n2PdevXqZP//5z+aZZ54xmzZtMsZkPp+HDh0ygwcPNt27dzd33HGH+etf/2q+/e1vm4EDB1p5mX//+98bETGf/vSnzSOPPGL++Mc/mg9/+MMmFouZp556qvU8v2dPC3/4wx+MiJhQKGRee+0163hL2qdXX31Vfe6XymnPnj3mwQcfNA8++KD53//9XyMi5o477jAPPvigWb16tTo3EomYCy64wLPsts+2IzF58mRTWFhobrnlFrN69Wrzgx/8wIRCIfPTn/5UnffjH//YRCIRq36BtFtH4pVXXjFdunQxH//4x81jjz1mHn74YXPGGWeYvn37mj179rBP7BP7xD6xT1n0iRBy7BD45dgYY9auXWvGjx9vevfubQoKCkyvXr3MZZdd5pk3NOjLcUue4169epmioqLWvLUVFRXm29/+dut52bwcG3P4P/xPOeUUU1hYaD7wgQ+Ym266ySxcuPCYeTk2xpiXX37ZXHTRRaasrMx069bNfP7znzdvvvmm9XJsjDF/+tOfWvMcn3DCCWbOnDnmm9/8punWrZvV1t/97nfmIx/5iCktLTXFxcVm0KBB5n//93/N+vXrnf0MwsKFC00kEjE7duw44jleeY737t1rvvnNb5oTTzzRRKNR0717dzNs2DBz4403mkOHDhljMn853r17t5k0aZIZMmSIKS0tNV26dDFnnXWW+eUvf2mSyWTrNS15jk8++WQTjUZNZWWlmThx4hHzHHvR3pdjY4x57LHHzNChQ01xcbH5wAc+YObPn+/Mc9zCAw88YIYMGWKi0ahvnuMWksmkuffee80FF1xgunfvbgoKCkzPnj3Npz71KXP//fervNRz5swxAwcONIWFhebUU081d911l2e5GzZsMB/72MdMSUmJ9R8emcynMYfzpF922WWmS5cupqyszFx++eXmscceMyJiHnnkEVVfVVWV+chHPmKKiopMaWmpufDCC83TTz+tzsnk5bi5udkUFhaaMWPGeB6vqakxXbp0MTfffLNn2V4cKf+013+QeX12/fXXm1AoZF555ZUjtruFeDxufvSjH5kTTjjBxGIxc/LJJ1tfULZtb9vnZV1dnRERM2HCBGc9xhizfv16c+GFF5qSkhJTXl5uxo0bZzZv3mydxz6xT+wT+8Q+BesTIeTYoV0vx53N008/ndPk7vlAPB43p512mrnooouOWhsaGxtNz549zZw5c45aG8h7m5/+9KcmFApZX1Lkij//+c9GRMyjjz56xHOmTp1qTj31VJNOp1s/a/mPrkQiob5kyQUf/vCHzfjx43NaphePPvqoCYVC5j//+U+H18U+tR/2KTvYp/bDPmVHZ/WJEJJbQsb45OM5Cvztb3+TtWvXyrBhw6S4uFheeOEFmTNnjlRUVMh//vMfboBwBK655hq56KKL5LjjjpNdu3bJggUL5O9//7v89a9/ldGjRx+1dv3mN7+RWbNmydatWy2fk5C2zJ8/X0QOe76JREKefPJJue222+SKK644oiPdXl5++WV544035Fvf+paUlpaqnOPI7t275eSTT5aFCxfK+PHjReRw/uaW3MmlpaVy6NChnLSrtrZWevbsKRs2bGhN79ZR3HDDDfL222/L/fff36H1sE/ZwT61H/YpO9in9tOZfSKE5JZj7uX4X//6l1x//fXy8ssvS11dnVRWVsrFF18sN910E5Ot+/CFL3xB/vnPf8revXslGo3Khz70IfnBD36Qs80p2ksqlZKbb75Zxo4d67vhFyG/+93v5Je//KVs27ZNmpub5YQTTpAvfvGLMnPmTJXDOxeMGjVKnn76afnQhz4k9957rwwZMsT3/GXLlsmBAwfkS1/6kogc3hm7JZd3JBKRs88+O6ftI4QQQgghnc8x93JMCCGEEEIIIYR0NoFSORFCCCGEEEIIIe9H+HJMCCGEEELIe5hFixZJKBSS9evXq8/XrFkjV155pZxwwglSWFgopaWlcvrpp8v1118vmzZtOkqtJeTYhS/HhBByjPHrX/9ahgwZIoWFhXLiiSfKj3/8Y0kkEjmvZ+vWrXLZZZdJ165dpUuXLnLRRRfJc889l/N6RNintmzYsEFCoVDr/5YuXdp67Etf+pKMGzfOuua1116TWCzWYX0hhLz/mDlzppx33nnyxhtvyMyZM2X58uVSVVUlX/7yl+Vvf/ubnHrqqZJKpY52Mwk5tjiaW2UTQgjRzJ4924RCIfP973/frFq1ytx8880mFouZa6+9Nqf17Nmzx/Tt29ecfvrp5qGHHjKPPvqoGTlypCkrKzObNm3KaV3sk6a+vt6sXbvW3H777VZ++82bN5uCggKzcuVK67pJkyaZj3/84zntByHk/cE999xjRMQ888wzxhhj7r//fiMiZsqUKSoVYQvpdNrMnz8/5+kICXmvw5djQgg5Rti3b58pKioyX/nKV9TnLfmeX3rppZzVdcMNN5hoNGq2bdvW+llNTY2prKw0X/jCF3JWD/t0ZFatWmW9HBtjzNixYz1z1K9fv96IiHn66afb33hCyPsSfDk+7bTTTGVlpWlsbDzKLSPkvQX/WTUhhBwjLF++XJqamuTqq69Wn1999dVijJGqqqqc1fWnP/1JLrjgAhkwYEDrZ+Xl5XLZZZfJX/7yF0kmkzmph30Kzpe+9CVZsWKFbNmyRX0+bNgwOfXUU2XBggVZlU8IeX+zY8cOefnll+Wiiy6SoqKio90cQt5T8OWYEEKOETZu3CgiYuUEP+6446SysrL1eLY0NjbKli1b5KyzzrKOnXXWWdLY2Chbt27NSV3sU3BGjRolxhh57LHHPI89/vjjYpiFkRByBN566y0REfVFYQupVEqSyWTr//gsIUTDl2NCCDlGqK6ubt1NFOnevbtUV1fnpJ4DBw6IMUa6d+/uWU9LW3IB+xScXr16Sb9+/eTpp5+2jn3oQx+Sffv2yauvvppVHYSQ/KRHjx4SjUZb//fQQw8d7SYRckzBl2NCCDmGCIVC7Tp2LNfFPgWnV69e8vbbb3t+LiKexwghRETk+OOPFxGRN954wzq2evVqeeaZZ6hnEHIE+HJMCCHHCD169JCmpiZpaGiwju3fv9/zV9H20K1bNwmFQp6/cO7fv19EJGd1sU/to6ioSBobGz0/FxHPY4QQIiLSt29fOf300+Vvf/ubNDU1qWNDhw6V4cOHyymnnHKUWkfIsQ1fjgkh5BihxWF98cUX1ee7du2Sffv2yRlnnJGTeoqLi2Xw4MFWPS11FxcXywc+8IGc1MU+tY/9+/dLZWWl5+ci4nmMEEJauPHGG2Xfvn3yne98h14xIQHgyzEhhBwjjBkzRoqKimTRokXq80WLFkkoFJJx48blrK7Pfe5z8uSTT7Zu3CIiUldXJw8//LB85jOfkYKCgpzUwz4FJ5lMyltvvSWnnXaadWzr1q0SDof5qw8hxJcrr7xSbrzxRvnNb34jI0eOlLvuuktWr14tTz75pNx7770ye/ZsEREpKys7yi0l5BjjqCWRIoQQYjF79mwTCoXMD37wA7N69Wpzyy23mMLCQnPttdeq8+69914TiUTMvffeqz4fMGCAGTBggLOePXv2mOOOO86ceeaZ5k9/+pN57LHHzMc//nFTVlZmXnnlFXXuoEGDzKBBg9RnLTk177nnHvapHX0y5sh5jp999lkjIubPf/6zdc2ll15qPvShDznbRwjJLzDPcQv/+Mc/zBVXXGH69+9votGoKSkpMaeddpq57rrrzPr1649Sawk5dsnN1+iEEEJywo033ihlZWVy++23y9y5c6VPnz4yY8YMufHGG9V56XRaUqmUpNNp9Xl9fb0MHjzYWU/Pnj3lqaeekunTp8tVV10lyWRSzj33XFm9erUMGTJEneuVH/jQoUMicjh9EfsUvE9+VFVVSWVlpXzyk5+02rdy5Ur5yU9+knFZhJD8YNKkSTJp0iTr8/POO0/OO++8zm8QIe9RQsZQRCCEkPcDL7/8spx++umybNkyueSSSzq0ri984Qvy+uuvyzPPPNOh9bwf+yRy+OX873//u4wePVoefPBBGT9+vIgczkE6ePBg+eIXvyg//elP1TULFy6Ub33rW/LWW29Jt27dOryNhBBCSL7BX44JIeR9wqpVq+Tcc8/t8JdIY4ysXr1aFi9e3KH1iLw/+7RhwwY5++yzPY8tXrxYDh06JDfccIP6PJlMys9//nP5/ve/zxdjQgghpIPgL8eEEEJIJ9LY2CgvvfRSazxo0KDWF9577rlH+vXrZ/2T6tdff13uu+8++e53v9uazokQQgghuYUvx4QQQgghhBBC8h6mciKEEEIIIYQQkvfw5ZgQQgghhBBCSN7Dl2NCCCGEEEIIIXkPd6smeUM6nZYdO3ZIWVmZhEKho90cQgghDowxUldXJ3379pVwuOO+z+ffB0IIee/REX8j+HJM8oYdO3bI8ccff7SbQQghJCBvvfWW9O/fv8PK598HQgh575LLvxF8OSZ5Q1lZmYiIXPfT26WwqDija3LxC0K2Zbiuz/Z7Miw/sw3s01iKb5kixicSMSH9SRhOwCalIY7ACVEYFByjtNV+kUhIn2WNC7Q6BH1OG11mJKyPpxx9CKVTKi7APkQiKo5C+7xWSQrGpQm7bfRVBTDwBTAvEaikIamP10N5ONFh/ADaZ8+K3S+D444X4Lhah2Ees0zYgPcLti+zQnxDj08C3rOO4zgmFu16RjjaYC0F7zLjTY1y10+mtz6/O4qW8h966CEpLS0VEZFevXqpc/r166fi6upqFa9evVrF//M//6Pim2++2ar3u9/9roqXLVum4rFjx6r4ueee821T7969VTxw4EAVb9u2TcXLly9X8UknnaTidevWqRjzje/Zs0dcnHzyySpeunSpirGPu3fvVvEf/vAHFeOYZcuhQ4dU/Pvf/94656tf/WqgMpPJpIoLCvR/bt97770qvuqqq1S8cOFCFV9zzTUqfu2111TcsmZbwHVx6aWXWm188MEHVfzyyy+reM2aNSoeOXKkij/0oQ+p+Otf/7qKKyoqVPyzn/1Mxa61ngk/+clPVIz54z/84Q+rGNc7jruLpqYmFbvS6uH5GG/dutW6Bss87bTTfMtwXf9+p7a2Vo4//vic/o3gyzHJG1pedgqLiqWwuCTQNbmot6Ou58ux/XIc48vxO3VipXBCli/HaXg5Tr4nX469as2cY/Ll2LrB3rsvx+82oWP/qXNL+aWlpa0vGvgfW+Xl5SqOx+MqLi7WX7ri+V7/0YrnlJSU+B7v0qWLil1txHFz1YflufrU0NAgLoL2EcvEccPzswX/KSb2uT11ul6OXePqOo7rAGM8H+vPpEwcd1cdsVhMxYWFhb7nu9ZBJmAd2a5nF9hH14sono8xjqlXma5xdl2fL+TybwTzHJO8oba2VioqKmTarXf7vByHgoTWJ563puN+xZcsF66z7edDsPLxRTWU0RMC68A42AtIAfyXM75Y4lMLa4vCB/hS53wZ8MD/9cQ+HnF8QRDCl3F4SQvhFwZQHpaf9uwTvrzqF2wDb+io60Rg3sLQpkRaX1APE5WGidK12+3DLwy8rklCbL3v+1dhfYC/HNtfejjftv3x+BPrWBqSdD14DL6sOu4v673U/3xjMniuObCHHb5EyPA/PZqbGuX2G78uNTU1OX8pakvL34e29eAvil7/IeuH6wUpExYtWqTiSZMm+Z4fgS/RUin9pRv+uo2/JLvKbw/YB/w1u0+fPiret2+fivEXy47G65e5xYsXqxj7sHnzZhVPmTJFxfPnz1fx1KlTVYy/0I8YMSKjth6JoUOHqnjDhg3WOa5fhhFcO6NGjVLxvHnzVDxt2jTf8nLB9ddfr+Irr7xSxVVVVSoePny4ivGebM+v10HAMaysrLTOwecMrrWOxvXc27Vrl4pdX6J4geOezbPS69mdLdytmhBCCCGEEEJI3sOXY0IIIYQQQggheQ9fjgkhhBBCCCGE5D10jkne0OIlfOvWu1qdY9uUDejaZbApUrbkeiMayyG2BgEF3QweEc42unYc8vdAXfsLhdExhvNt/9cmqIdstwk3r9J14jeR6BBjH2znGI5DeejiejXS2hMJN9CCMBxK+x22HOF4Go8Hc45T2B6xx9Vyjl1KsGP9htHXRZfbf+85C7y/cB5F7LWAZyRww62gG3Bh+dYYBHOOOwLXvLQcb25qlDtmTj0qzvHRYMWKFSoePXq0ioO6eehQzp49W8VDhgxRMbqzmzZtUvH48eN968uEgwcP+h7v2rWr7/lz585V8RlnnKHiCRMmqBj7NHjwYBWj4+zlgSIuR9h1fM6cOSrGeUWPEx1lPB89UOwjzruIyJgxY1SMPu769etVjDs9z5w5U8XoNS9ZskTF2GcE/eBx48b5ni9i3y84zjgu6Njj/ZVrXP6ul98edEMtXL9YB64VrBPHCNc/PmPw/sTyMRax+9Se/ReOBJ1jQgghhBBCCCGkA+DLMSGEEEIIIYSQvIcvx4QQQgghhBBC8h46xyRvaM1zfMtvj+wcO91Uf8fYS9WzynQ5v64WZOkgZ5a3OMdYlTqcSSv3rP/peDxs5RR2u+GueUIn2eUcY3mWYwzXR8J4HHzdsH8+3rg7zbGHc6xjHIKQQ2bF/NN2fehN+49hwkOFTYETnLb8W98mZnICxP55jp33M4DzKGL747i2kjiOIYdzDNiH/XOX2wpz7p3jTB3jd9vwrnP8m5nf6DTn+Kmnnmp19tCtc+UbRXcPfV30QEVE+vfvH7yxPrhy0aJzuXHjRhWjC4heanvAcUEwz/H27dsDHUeHEnMSe/m2bUHXFedNRGTGjBm+56C7nWtmzZqlYvSqsX6cZ6+1iz4szhO63eibo6/r8mtda7MjcnBnm6s82/JcPm4mfrHLmcd5wzqwjXj/YBtwreAzAe+3oI50rqFzTAghhBBCCCGEdAB8OSaEEEIIIYQQkvfw5ZgQQgghhBBCSN6Tu0RThLwXcTiStt/r70x6+YfGJfmCqGwrxVZ2Wf/DAXOUuvrgpQqiO4ptsMt0jQEUZ+UxxnnRx9NWsttgjmYmbXLnQYa1Aaen0KlEvzftvw5S2Ees3WPe8RJXH8Ku/NKOPlo43FpsH/q9Xp/ZZwS8R4Nipf0OmA/bq0+Ocyzn1yojWN5w5+mAPaLuPuP6s56l1vkuh//wKBkr0XTHctZZZ7V6a/Pnz1fHMNcsgm4sun9efjE6v+gTBvX50ONEXPlFMWdqLkBncuTIkb7nf/azn1Xxs88+q2J0HtG3RccYHeSJEyeqGPPpejnK6GkuW7ZMxeiifvjDH1Yxrne8HvNRI/fdd5+K0UFGLrzwQhVv2bLFOqesrMy3jQsWLPCtA3H5t661ifOKjjGuIxFvj78tmGt58uTJKl60aJGKMU8ygmsNcz9jezDGtZiJR+3al8CVU/vuu+9W8fTp01WMzyBXLnWcB8wz7rXHAK4NjIPmWu5o+MsxIYQQQgghhJC8hy/HhBBCCCGEEELyHr4cE0IIIYQQQgjJe+gck/zDSKvgFtQfbFeOYWcVrqy93vk/3/3A5Un712ZA/MxkSEIOfxadSauHtoCIZ/he73LFnXiMkcuRdBLQ70WT0soZDMlwrdy0lv9r12d5yOhu21dYn/ifj/XpXjktbRgE7z44CrHuDxxZK5u5o/yOTwSO/Uw5jruuD5p72QXe3xh7WsCOvRUsxzjTe7jjp0Nx7733SnFxsYjYjvGUKVNUjL4genTozaHLJ2LnckV/L6ib6vIP8TjmMQ6am9aLQYMGqRh912uuuUbFLePdAjrG6M+uXLnSt368H1z3y0c+8hEV4xh5geN68OBB3zp79Oih4urqat/yXX3AMenZs6eKccy9/rugXXtxBMCVC3rOnDkqvuWWW1SMY+Tyi0VsNxwd42nTpqkY/fKgeZBdecDRSc7EMUZPGvNJb9iwQcX4DMF71OUs4zPHBZ6PzzX070Xs/RjQLz/ajjHCX44JIYQQQgghhOQ9fDkmhBBCCCGEEJL38OWYEEIIIYQQQkjeQ+eY5B3GvOvauB1K9OS0bWenJHZ/32Rf45/T1MPCdMTBsN1Y9A29zFR0V8GPddUR0CNNOXI346gHdTZFvNJF+/cJ8crRGwTLOwWx015ZGeTzdbYpt86Z7bP7H7dyP3vNi8MJdqf1Du7U+13g8rSxeC8/1/bHHU3w34Yge+yE2L4Veg25+57DTzLtVOdKx1dddVVrnuMVK1aoY/PmzVNx0BzEXrgcYjyOrh62AV1Y9AG7du2qYnQsMbcz5gTOhKefflrF69evV/Gdd96pYvQL586dq+JsHWPMCexaq8OGDbM+GzhwoIpvvfVWFePauOiiiwLV6XKWcS3ecMMNKkb31TUmIraLivlwsUx0SV1+LjrGmE+6qqpKxZk4xS7Qc8Y+4jwtXbpUxUOHDlUx5gDGPrjAMcQcwZn0Gb1/dH7xnsd73JVXPCiudeDVJ9c1XvsxHE34yzEhhBBCCCGEkLyHL8eEEEIIIYQQQvIevhwTQgghhBBCCMl7+HJMCCGEEEIIISTv4YZcJO8wkhJjWrY/cu3mg5syGb/D9g5EnvVjESHf49b1uLGGc0OiYA2yN4LyaBHUmcYNfeBrN3sDIsfmPVido4/WkLRjTHBDLWtqA1aC51sbpKRxIyccQ30+rixrEzLf1nifFIGJsfZscWwWZxUPh60Nt6zz3ZtluTaysW5JR5OtefAv3aNRrrWLffZaJ9jItO9h3BTPNY6O2tybZzk20PO6f+1+u1phlxDs847h6quvlmg0KiIiS5YsUcd27drlG+PGU5MnTw5c/7Zt21SMGzUhuCEXbnwzfPhwFeOGQ3j+1KlTVXzhhReqGDfHwuu9Ptu3b5+KN2zY4NvG6dOnq3jRokUqnjRpkoovu+wyFc+ePVvFuCGXi2effdb6DDc9wg26cK5xI7Nly5apGDdaw02UsA8zZ85UMW48hRu14T0+ZcoUQXCt4cZoyPLly1U8fvx43zbhPCUSCd/y27MpE26YhfcLlol9xD4gudgkzK88r/sH7+mgm4AhOM+4SZkLXFuuzbTwfK9rENfa62z4yzEhhBBCCCGEkLyHL8eEEEIIIYQQQvIevhwTQgghhBBCCMl7QsYpdBHy/qC2tlYqKirkG3PukMKiYhHxsOAsYVGHYUvew+vtel3Oo7MJ/vqf7SdajQBv2u40VKD9x7CXcmyVEewxYpvZVid0aGnW6PMGqr5duJRj+0kabEywPNfatOc5+KMcvx0NOozY5hQ6x2l/B99a217OccB+2X/S/AcWnWCsz7qbHH8y00731qvUYC63fYL/YZfzbz9jXM6xVxNcHrP/sxWfCi3z2NzUKHfO+o7U1NRIeXm5bx3Z0PL3oW09q1evVueMGjVKxXj8/PPPV7Fr3wGvcxDLkYfzN2/erOKTTjopUBtc9S9dulTFLkdTxPZAzzjjDBXPmzdPxStWrFDx3LlzVYzO8Zw5c1SMTjPWh244Op3oC8+fP18Q17hhn7FP06ZNC1Re0PqRIUOGqBh9YBGRkSNHqnjNmjVZtQGdZBx3dJA7AqyzT58+Kr777rtVjHOPPjy65eiGu8C1WVlZ2SHXtAW9a/R5Xf6vC3SYcYy8nGME70GXb+7nJHs9u7OFvxwTQgghhBBCCMl7+HJMCCGEEEIIISTv4csxIYQQQgghhJC859hKLEVIZ4P5Q11pjF0unqefG3aeE+g4lo9tcPjALjfW2WePRoSwEQ4wbysWaJmq6Nta8waedNBctuJ2Vd1+bLB8uHb9ULvV5+zzW6PyaOVODqgtu/IUu7w4TI+dSR1BwbWBrjb667g0XTmF3fawt6GbFbgUrPvJ//4IulLdOYw9rskgh7Xf+a21dPK2KD/4wQ+ksLBQRERuvfVWdQx9RHT7svV7M7kGXb0FCxbktA2YA3X79u2+53uBzi+C/i3G6B+iY4xtwnlA7zToGEyYMMH6zHVNVVWVijEvMfq92TrG6O+iR4qOcUf47ni8e/fuKq6urlZxUMcZPW7060Xs9Yo5s3Ftoe+OYB5wFy5XFn1hdNFHjx5tXYP3uMujduFyjLEPmK8dczO78iR7+cGuPMbMc0wIIYQQQgghhBxj8OWYEEIIIYQQQkjew5djQgghhBBCCCF5z7H1j7wJ6QyMaeOx+SerRSfTrdbm3i+03FNXCyzXz51r04+UR/sjgUoIjj3O/n2yp9GVc9UNepqdjd1HZ2Ll7Ou02hDsCteIBfdOc0+ux9XlILcHd5nOp4CrgkClWY6zxymY39lZiCN3eeeaxu/ys5/9rDVXJvq8U6ZMUTH6iS5HE/Mii4hcc801vteg3+fKIepqw7hx41SMDiS2Ef3hxYsXqxjHyOsazA/tcpLRP1y3bp2KR4wYoWIcIxyDZ555RsVjx45V8YwZM1S8ZMkSq01Y5vPPP69idIyxTPRrMVcs5t/N1h3P5HzMYY2Or6sNX/7yl1X8jW98I3Ab2oJra+LEiSpG91XEnivM74yOMZaJdQYF/Xdcuzjv6ER7gWWgY3zo0CHfOKiTjG1ERxlzO+PaxXnxekZlm1u5s+Evx4QQQgghhBBC8h6+HBNCCCGEEEIIyXv4ckwIIYQQQgghJO+hc0zyjrQxkn7HfQm5vFJnnj93fUE9yvbkxlTnuxsU6HqvPrpyArsJnFDXvzpHo125ajNrQufOo+WGo0seqDTPIjzyHuO4ufJ6B2tT0PMzKSNr3Amsc1r8YXABQx7iwE3Acc3Om24PuE+A6xZ1OpNHKLczQccYQVfP5Wg+9dRTVhmPPPKIitFBduUZdrmqw4YNU/Gzzz7rWx76veihIuh4iohMnTrV95qgoGOM5WOe471796oYx3DZsmW+9bUnJzCCuZlxniZPnqxizMfr+vuB62TLli2+58+aNctqI342fvx4FV9++eW+ZaLvi57166+/btXZluuvv17F/+///T/f8zH/r4jtyONaGThwoIq9xiEI+/btUzHmBMa8xV45s4PWgQ4xOsmYSzkouHcCOsboNLcnz/F7Df5yTAghhBBCCCEk7+HLMSGEEEIIIYSQvIcvx4QQQgghhBBC8p73/j8MJyQgIRPAY3P5uRm5t9nmI3TZe8HOdnU9E1fW5aJmi+18+Y+JdbaVr7pj2+tFth5nZ+T8xZFzuaquHNqu8u1pyD5HcEePU/bz2J6rXPcgzIP/MAfPa2xd3hGOfqbHO1c6XrhwoRQXF4uI7Ryjv/urX/0qUNkjR460PsNcs7/73e+s9rQl6F4Gzz33nO/xqqoqFX/uc5/zLX/SpEkqXrRokW/5Irabih7mrl27VIyOI+ZRRT8XXVR0MDHG+vD4n/70J0HQA8W8rV4+bFvQjUXnGK/Hccf6cIyQTNaJ65xzzz1Xxegg33nnnSp2+bWu+tANR/fVC9f6w3HHnNubN29WMa41zOmL+wygc59MJn3Lx7WGvryI7Ukj2Tq92EbsI9aPa9O11t8P8JdjQgghhBBCCCF5D1+OCSGEEEIIIYTkPXw5JoQQQgghhBCS99A5JnmHMWkxrfmN0b4LZuPZ6RC9/C//Ml25MV3OnSt3rFV7JsmZ257uUb31Ucg3tK939NmZTzoH+XJzTUD79pjAmXc4yxzbxpVH3HH94TKOtrsdzP91Xe9dhnWGfxVWmuRc52bOvWPcOQ599lxzzTVSXl4uIiLjxo1Tx1w5gl3PsQsvvNC6prm52feaoI6x63x0JF999VXf8zEXbSaOMfZz5cqVKka31OUMb9iwQcXYB5cDiblohw8f7ns+zruI7fhinegk4zgtXrxYxehNY58x5y/Oy5gxY1Q8duxY3/Pbk7sZcwK7PGfkjDPO8K0Pc2rjvG7atEnFOMYitiOM44iOMebtRicZvWn0bzHGnNnos+O8NDU1qbgj/F10itFRxrWJaylbx/j94CTzl2NCCCGEEEIIIXkPX44JIYQQQgghhOQ9fDkmhBBCCCGEEJL30DkmeYcxITGYGPTdo77X2j5XRjX6lmGdHTAnaQhznvrWbp9vN8ARi51XFb3kXNuF7nE+9hxkF0FN1c7oU7bOsV1g9vPS2a5qrh1nT48anwEB67TuN7zemffYv3ynP+x/uWcZQfchEEm/83kwbz1bPvjBD0o4fPh3gy1btqhj6MqiX5itL5zJNejzlZaW5rQNrvOvueYaFX/729+2ykDHGJ3G5cuX+7YBxxVzy7rysCLooWJeV8whjOeL2L6tKz/u9OnTVdy/f38V41pCZs6cqWLML+0aw0zmfc6cOSqeP3++ioM6xgj6vUHXIjrJ6NKKiPTp00fFOK447uhBY4zgWsT6Ro8erWL04115lrG8TOrE3MjoFGMb8DjejzhG6OijC47eNN4vXusG23Cse8n85ZgQQgghhBBCSN7Dl2NCCCGEEEIIIXkPX44JIYQQQgghhOQ9dI5J3mGMydgrtPzgdrh4IUsABCcxYALckCMHsMFWODxpV6pmT2fSEecel8d57FnG7fEN1fm5bEyO6rTTTQe7HzrCH+5oJ9l2XrPLjX64zOxyAoedznCw8lxYHnUmXXY9OuGDNN7j74Q5TuHs5IUXXmjNc4w5TEeOHKnirl27qth1z69YscKqr6qqyveaXDvDCPqMeP7UqVNVfOmll6rYy9mcMWOGil1+LILOJbYhKOhoDh06NHAZ6FVizl30lqdMmaJi9HkR9Guxja780ng9ziPm2xWx1zfOW7agnx70OYR+LuY9FrHXCvqw7fHL24JuLJaH/vuIESN825MJXh5yW/C5g44w+r3YJnTBsTx0hoP6wjjGmdAZ+Z+DwF+OCSGEEEIIIYTkPXw5JoQQQgghhBCS9/DlmBBCCCGEEEJI3kPnmOQ1TgfG4X9ZYp2Hi4eOsJX32L8FTlwOsSvfqCvvcmZtCJbL2XW9TbBcp86cqhlcg7lo7Xn0n/ugeV6DkoucqYHrdMWdkJM413UEdsFzUL+9lvAEqNNRXia5lf3Od2Gdn4MpcK6l3FUViClTpkgsFhMR2/OcMGGCitEjdeUEXrhwoVUf5klFCgsLfY+jN+oi6DOhsbFRxePGjXPW4eW3tgU9UZcTvHTpUhWPHz/e2Qa/8tAXduVBFrHdUvQ0kQULFqgY1w6OI5bvcmcx9yx6pT169FBxdXW11cZhw4ap+Fe/+pWK0bFHF9Xllp555pm+x10+L7q3mbjil19+uYqj0aiKlyxZ4izDD5wnFy531stJRicY+433y/Dhw33rQFcb1zvmj0bXG/MmB72fRI49p9gFfzkmhBBCCCGEEJL38OWYEEIIIYQQQkjew5djQgghhBBCCCF5D51jknekjZH0O55VUDcVc26G0R/20LcsU9WSW11XoE8ILmywVMweeY9zYfX5l2nnRfUft4LmOhVX79e+VFFUP7rKS7SXlwxFVFyb0HFBNIYNkrA+RaIFMTiuT7Dm1dIyg3mgHUFQFzWDAnWcc7c8e7LNE2uXh5/49zk3TrL/8aB7JRwNrDbCPOCz1G5xCP7/zmHBggWteY7vvvtudczlK6KHim7ghRdeaF1z0kknqRh9Wlee1DFjxqg42/Xv8qTRX/TKyYqu6pw5c1SM+XTRP3Sdj23o37+/b3k4hjgv6Fx6eaXon0+aNMk6py2YmxnXzubNm1U8ePBg3/JcjjOCjrHXPiCutYDrdeXKlSqeO3euiqdPn67iadOmqRjHGXMz41rCMcd8viK293/22Wer2OW2ohuO+amDjntQvO5vHAd0vV25mdERxrWF44jHsc/oGKMT7ZXrHMF5wHuwo8c5KPzlmBBCCCGEEEJI3sOXY0IIIYQQQggheQ9fjgkhhBBCCCGE5D10jkn+YUzGXqDla6FHaml1Xn6c/zUup86VMzioXphtTuLDhWDon9M37HBf0wffVnHJnmdU/Pyre1V8Sm/tGPfurnMZ7mrQ5W94A+oP24++LsW6jKEnn6DiVH/tMoXD/g5yZ5PJmrb99yz9c5zXDnBdXWUejTzFurycFndUKnGOcS7KyNgxbjk/nVG5uebTn/60FBQcfj6sXr1aHdu+fbuK0f1Djw59SHQ2va5B927QoEEqfumll1SMLp/rnp44caKKd+7c6dvGoK6tiJ2vFp1hBPOk4vmYFxlz/OL1mH8XY5ff64Ur7zB6yjj32Ac8H71SrA/XIuaixbWIeZW97iN0tzGfNK6FoH8v1qxZo2J00RF0WXGtea09nHs8B91uV52u8l2+b1C8XNuW508LrnzS2EZc33g9rh10wZHly5erGPc5yIRj3TFG+MsxIYQQQgghhJC8hy/HhBBCCCGEEELyHr4cE0IIIYQQQgjJe+gck7zD+DjHLqfGTlGcSZJhFJMxzNYpDubkZe2ZZtAGK1MzJG5NNmqfqv6/z6m4R+FBFafTaRV3LUjo8lMpFW8/oON4gz5fwnafe8S0c1xR0EvFNXC+PW7OBNYdildtLpscx7Wzac/awzbnxKHPqk25z3uc7T2Za083ncFaxn0HvM5QkdNRDr3z/zurzimPPfZYa55j9OQwny6yYsUKFWOuW/RKRUSqqqpUjA7xli1bVOxyT3FcMUcpeqDoG2IfMnGMEfRp0bf1yo3clmXLlqkY+4CgF435dpF58+apGPPxejF58mQVoxfqwtVnlyeN+a9dYF5lnHcR292eOXOmil3/rYAOMY77uHHjVIxurGteMef2rbfeap2DDnBQRx6de1f5eL+ge94enx3B+wXLxGcAthHzDl9//fUqvvbaa1WM6wBBxxh9eFcuaZFj3zFG+MsxIYQQQgghhJC8hy/HhBBCCCGEEELyHr4cE0IIIYQQQgjJe/hyTAghhBBCCCEk7+GGXIS0wbW5j7UFE+4W47EZEG55ZJ2R4x1nXPsR5XqznkzaEErpOrdt+a+Kux7ao+KmsP7eLhzSm2B0iUZUnIBNmnbV6fNTab1BVzRkj8GACv04TBV2U7G9FnQc6uwNuIz/JmhH+qwj29AZdbg3cnLcw1m3GdvTjhI6e5cpB861ZO072J5NxvDBdHQ3sMuE7du3q9i1qczo0aNVPHfuXBV7bRSFm93gxk2zZs3yjRHcRGzDhg2+5yO4SVJ7Nt9BsE/Ypo0bN6p44sSJgcrHDYgQrA83knKdL+LePAo3m8I+4cZpWAeWv3nzZhXjpkzLly/3vR7XqlefFy9erGIcd7zPJ0yYoGKvTb7aghtL4SZjLhYuXKhi3AzLixEjRvgex/V83XXXqRjnDTfRw/JxXvB8V5txjETc44RryYXXRmZBwDHLZB5c4HPqWNuwi78cE0IIIYQQQgjJe/hyTAghhBBCCCEk7+HLMSGEEEIIIYSQvIfOMck/jGkVBbO2DzMowFLt8BpHIehMutuUXa8yczRRKgZnEUTr+ro6FW979WUVf6KPLq8+oR3hoog+Hovq8g9oJUZqGrUT0xTXDerhofT0LNUec12kRMW2lwluK7qodhVZ0Z7yOttt7Ryf3X995toxxnm2S7N2IvA/nEmd2bY54PV4dho/6YA+2IetB2P7K8+CpUuXSknJ4XsfHUv0EdF1da099ERFbOcYfT50jJcsWaLiggL9n3Hjx49X8bZt21Q8cOBAqw1tcbmy6NZWVlb6lidiO4vocqMPO3PmTBXPnj3bt3x0X9EDRR930aJFKh4+fLiKcQxERIYMGaJi1zjguM2fP1/FU6dOtepoi8sxxja73HAvVx3biON43nnnqRjXM87j3Xff7VsnjuGmTZtUvG7dOhWj34tr3QusY+nSpSpG/x33CcgWnAdcF+iSe/nF/fv3D1QnrkV8hmAbcH27fHr0qDO555H2PDeOJvzlmBBCCCGEEEJI3sOXY0IIIYQQQggheQ9fjgkhhBBCCCGE5D0hc6wlXCSkg6itrZWKigr5yg9/IbGi4naVgU4Zpsv1soPTqOfC8bDnVe3HhNCF9a+/nbX4lwrS8Rsb/63iV/6zQcWXnRpT8b56cIaTur5zTtDnb96vHeW/b9XeT219QsXnHg/SsogMG1Cm4l39P6niRKl2lYK64CHBPMkOJzNQ6e3jaD/+c1F/x+c1Dla/jdc6CdbGXDvI+EzKBc4+BPWY33mGxJua5Hc3fV9qamqkvLw8ixb60/L3oW09mIMUfUUXmeQ5duHKd4usWLFCxdk6lUGd5UxYvXq1ioPmbUVcbUSX1pXn2CuPaya+a1tceYyzBdcFOsbLli1T8ZQpU6wy0GNGh3jy5MkqxmdrHewlEjSPcVDWr19vfYaessujxnlZsGBBTtp2JHLh2uJ6RK8ZcwbjWsAYxwz3Tgiac7g9uc9zkT+9Ba9nd7bwl2NCCCGEEEIIIXkPX44JIYQQQgghhOQ9fDkmhBBCCCGEEJL3MM8xyTuMMa1+XLY5hO2rPT5x6bk5zktsYeXnzR47dbMuNdxQreLGnVtVXFygneQSrRDLoWrtEFeW6RzEIch7fLBZl4djGgnr4/3K7TFLFYCHXhjMn3IqlI4zrDENmP/a6/yO9m+PhrPc0X5u9uXhmHuW2t7mZISVMThLxzgnY+oownpOvtPoULaND8jLL7/c6k6ii+di8eLFKkbHGF1bEdtFRd8PHWPMDYvH8fqgziO6gEFd20zA/LUIeqHoemOMeWHRwXQ5xpj3eNKkSdY5WCbG2IZcO8YuhxkdZHSMvXxdzLHtOn7PPfeouKqqSsUTJ05UMTrMuLZc/jzm18Xczl6foX+OdTzzzDO+dWaLK8dwe8B7EN1ujF1OMj4jcJxdz4CgeZi9yszGMe4M+MsxIYQQQgghhJC8hy/HhBBCCCGEEELyHr4cE0IIIYQQQgjJe+gck7zDyLv6m0lrF9Xl79oOp1fpGTTA54rgHnTa/3jQ/KKZ1BnS36tFUnEVR/e9quKG+oMqLo7pPhZopVgaEto5rij2f1TVNWrPpzGhO1kR1XG3InsQUhHtwKTChb51BvUw3U5yMDKpv7P93GORjnaQ7fu1PfXBvgABPds0Xt+OFuSaoOOOfXj3887ltNNOa82VGdTZ/9KXvqRidDDPP/9865ps9xZAFxUdzKVLl6p4/PjxvvWhf9gev9DlMKIjOWfOHBVjrlp0jF25n4P6jOiCjx071joH3VGsA71MzDOMZQbNX3322WerGNcBjjGCrrqIvVbQTX3iiSdUjHmRcW3ivOOYYN5kF+3Jm4w5rjFG3x0dZVzvQZ37jnD0XeC4I6787JjPHccMHWX0qrHPXmvxWHeMEf5yTAghhBBCCCEk7+HLMSGEEEIIIYSQvIcvx4QQQgghhBBC8h46xyTvaJvn2OOgCp3OWTvkPpdT7Hb14LhDeeyILKEho53gUP1uFRccfFPFh+K6UceV6VaFwZtOwRgUx7SUnIbjNY36+oamhIpP6aVCgeJERKRedLLlZBrXQufmps2FyZotuci1/H6nI7xue58AxzMj4E3eEfPkHAf7goyud+UHzzUVFRXv1g1twlyxmAfZ5aNnMu6ua6ZOnapidCjXrVunYsx36/IFXTlRM3EqsQ4sA33c0aNHq9grn21b0JF0+bro96KHjY6zV25aLAPdVMzpi47xvHnzVDxt2rQjNVdE3OtgyZIlKkZPFHM1Yy5nL3CecrGe2zJ37lwVYx5wJBe5cTdu3KhivGfROcb1jT4vetCu40hH5PvFNmNuc4xxnnG94zMAwevxfvTC5T0fa/CXY0IIIYQQQggheQ9fjgkhhBBCCCGE5D18OSaEEEIIIYQQkvfQOSZ5h69z7HBqXGqf8fCJw6gPomsHl4SglpDl3AXznq02OT1S/Z2Z8cg0Gko2q7ho/39VnIg3qrgxocuoKNKPnmRaO8yRsG5zcVTHyZTuw6FGfX0a8lcfV+5+1KWKu6vYhLWY7FoLLvvKWhkB/a1s82FnQuDczR18fkfQ0W3ISf5p6xPHXOMzxdkC//bkwiUP7mLjc63lHk5JZ1JTU9PuPMeu8zO5Z3M9F5jDF31elyPpcoy9cpq6/FxsAx5HjxNz9Lpy+qLHia445ut1xSIiY8aM8a0T+zB//nwVo2OMLiz2Ced53LhxKq6qqvJtD7ros2bNss7x+qwtrrWH+akx5zZ6pugc47ziPKFLji67iL2WcO5dPjo6yEEJ6gx3RL5fLDNobnJ0krE8dIxxrXaET+zaG6Gj4S/HhBBCCCGEEELyHr4cE0IIIYQQQgjJe/hyTAghhBBCCCEk76FzTEgWuHJ3ioiknZ4Z+oLal0VnOSju2tFJdjt+kTqd166icYeKX2/WeYaxxDKdUliScEJBRLcpBnFds76gHuLiiB60nsXocdujkoyVqzjXeYczWStBys8Hf/dotOFY6BOC/lVjvXYyoxHtx8ccHqlzLwU8nsE2B658xE5f9wgKcgenF7e47bbbWp07V5vRmcyFLzxs2DDfa9DrRP8PHWLM4YttxvNdjibi5f+iBxrUH3TlMXZ50thH9HUnTJjge322HqqInY8a24SeJo7JNddco2J0jNHLXrFihYoxf6/LLxaxxx3XHtY5Y8YMZ5l+bRoyZIhv7MpRnAmYszeoH4vrG8cgaHk4xkcj/y/2Ce8vHDNXLmc838sN98odfizDX44JIYQQQgghhOQ9fDkmhBBCCCGEEJL38OWYEEIIIYQQQkjeQ+eY5B1t8xznIp9nW7zyWLrLtPMIq+utvMfBcNePeZd1HE7onMYiIqUHXlFxJKQdlv0NuoxIWsflMd3neEo7k5jXuADE63hcOy3NIC2XgtNcWgjzHLYffYlomf7A8ixzuzaC5kztCI41v/ZotOdYcJbxmhTEr7z0ooq3vfqqik8/9WQVDzzjg7r8oMa8lZvd/3QRsR5MznHA41auZqP+/87izDPPlNLSUs9jmA8UHUnklltuCVz/s88+q2J0TdGfdTmM6Lq62uwCcxgPHDjQOmf79u0qxryrruOYVxV9XMyHizl9kbvvvlvFY8eO9a0/kzyx6M/iOOA44bij94m5ZRcuXOhbP44BeqCYV7lHjx5WGdXV1SrGPmGObHS10TnGvMeI11rxA11YdJBFbA/Z5RgH9ZjRn3X57i4ycYxd97Tr/nGB17v6hPW72oeOsoj7OZRtn3INfzkmhBBCCCGEEJL38OWYEEIIIYQQQkjew5djQgghhBBCCCF5D51jktfk2vtsj29o1+Fy8bIt33E+1Bet2WadU9qs3bsUVLG/UTvABWHtGJfE9AVNSV1ncQy/t9PHE5DXOAkN6AEKTWGBPp6OaL9LRCRRUOhXpeU+dsba6MzyckFntOlo99tVf7ucY1hbzQ0NKt7xxhv6ODhdhYVasrcdY6jvCH7vkduHeJTvTsytS3Ccn36njnTgXRay4/zzz5fy8sM5z5cvX66OjRkzJlBZ06dPVzF6qCK2Tztv3jzfGN089P1cbUbnEvOPupzIoDmLMykDceVEdTnGrvy5LtDzFrFzN7v8WfRl0Vd39dGVWxZBTzuTPS5mzpzpWwauX8yVjNcjOI7oA0+aNMn3ehyD9uQ5djn7rnFGFzxb5xjr87p/sA50fLP1cV25zHGeXD6wl2OM4D2IzjzeX0cb/nJMCCGEEEIIISTv4csxIYQQQgghhJC8hy/HhBBCCCGEEELyHjrHJO9om+cYcdlteFVm3qnLUYQ8xugKOa63W4CuEeZRxit0HI5rf6T0oIcnF9LOLzrDB8A5LoQnTTE4wHWQSrkI8hynU7o8zGucSuk+di/W3/uF0VkusJ1jE4rhJ9Y56mhAt9S1ViwPFB3NDsh73NEedK7ziOeCju6zyWCaLN8W4hpwvhrq6lQcCetKCotLsFG+FeC+AvbZwXKje56BA+GsMw2x8fy8o7nttttaPUOXM+xy95BMzkfHeMGCBSqePHmyitFZRMd43bp1Knb5ui43Fl1br9yzLsfX5etu2LDBtzz0QNFhRkdz9uzZKsYxxevRS80E9DLRw8Q+YBsRl/s9atQoFePaxOfSxIkTrTIWL17sW8fQoUNVjPOyZMkSFY8ePdr3+qB5jl1ethfoTeNc4ly7/He8v1z5rV1gebiWvcC5xbWB9yzek7hWXOCYoGOMY4DHvTxqXDvoGOP9gnnA27MWsoG/HBNCCCGEEEIIyXv4ckwIIYQQQgghJO/hyzEhhBBCCCGEkLyHzjHJO4w5snfociTb51BiGYFOdzqNYTg/FEK3D78D075uOK3PL9q/RcVlqQNWEyNQ6SHIO3yoSXuCfcsjug5wipvS+vqyoqiK08mEiuPgGKdS2pGpKIKcxUCyoNT6LBXWzrFlOmaZEztb1/Vo+LrHYpuPtrfszHMMsVc+XywjDTH6iMl4XMXFUX0/RYuLoTy9ekOWc2y3CS7QtCPXetBpOuL5nTzd//M//yNlZWUiIrJp0yZ1zJXj1JUz1SvPMbp1yJQpU1SMvh/Wgb6gyzHGtYZuH7qC6Fh65VxtT+7jtrhyzSLY5xUrVqgYHWME2+s1Jzh3mHMXxwE9UBxnrDNbpxLHAHMSe/nFuJZwvePco78+fvx4FWOfMF8u+vSuMcTygjr+IiJr1qxR8ciRI1Xsuv+CrkUXrvq8znHlEcbc5l5+eRCwzziP+AzIJM8x+ud4P6BHnW0+6WzhL8eEEEIIIYQQQvIevhwTQgghhBBCCMl7+HJMCCGEEEIIISTvoXNM8hpbrctWcLOvt0xUdIpD/j5g4Iyj1vX+eY5DjftVXHZIO8eY01jE9pr3Neg6MO9x12JdZ0FEfy/XnNC+VGUJOMVwPJWCPkCnu8RgTEWTjFYIksaznPmh4fQcu7C5yGvc2X7u0faBM6HD24jleznH8GFTs3bMqvfs0Rek9VosjGnvLRbVvjzmMUbSrtzpsPTtszP5xB/XNLTMU2evqR49ekh5ebmI2O7qhAkTVOzy5jLZowJdVqwTvcy5c+eqGJ1kzPOK3ii6f+hQoj+I56N/6JUnFs/BNiFYJ+YMRhcVnUysb9KkSb71ufDySnEeMJcsHg/qELtyx86cOVPFc+bMUTHmUcb2ZALmyMb17fLXEXSEsU3o/2Le5GzdWRH3POA969o3YP78+SqeNm2ab/muZwTOu1cbcNxWr16tYhynRYsWqTjo/YDrf+nSpb71ofOMLroX+FzCtYfPlWz3MQgKfzkmhBBCCCGEEJL38OWYEEIIIYQQQkjew5djQgghhBBCCCF5D1+OCSGEEEIIIYTkPdyQi+Qh5t3dYJybHgXeZsb6BDfYwn2dQibgxkuujWwwht11Iim9wVbJgVdVXGjqVey1MRRuVbWnDjbtgo1nupfABlpQJOy3JYURXQNuZJOCDYrC0OtYAX7vpytMxMoFce/7A5t85WDDLN/acrAREZbharOrzkw2GDrWCNrGbPuU0aqAKuoO1qi4vq5WxXi/FRXqDbgisCEXVmA9E1zNw73p2jUmnTvuueK2225r3ZBm+vTpvufixlG4KVImfcJNizDGjWtwYybc4Ac36xk1apSKcfMqxLV5Fm5Q1J6NcnATsQULFqgYNyTCDYKwj7hB18CBAwO3ycWyZctUPHbs2JyW72ozbsCFG7nhusFNkXDzKxGRNWvW+NaJa2vTpk0qxvXuYvTo0SrGjaKwzbnYlCloG3F94wZ4+EzAMcT7BzfTwvvPa9737dvnG1944YUqTsF/03nNdTbgBly4KdnUqVOdZeCmXjjX2MdcPGeygb8cE0IIIYQQQgjJe/hyTAghhBBCCCEk7+HLMSGEEEIIIYSQvIfOMck7jLSx4QzafBpUNNvjxeElIctK9PcDA9dnla/jcMMeFZc1vqXiKBiOxpKmReIJfc6+Q+AGwddu3Uv0owZHPQHzUBLT54dTusC0SagYe4z1m7AuLx7VPouIx7hBv3EYjhVHMgjZtvloXO+6Iqj5net5cxVnrNUuIml90d49+p5MNMd9yygq0Q6miUSgeEejOsIdN8GeY1ilOcKzuLPvs29+85tSXn54T4IlS5aoYyNGjFDx0KFDVYw+ITr6e/futeqrrKxU8caNG33r2LZtm4rRe0bHGHG5fOh5os+L13uBZWCf+vfvr+J169b51omMGTPG9ziWt2LFChVPmzZNxdheL1yOMfYRXVN0hJFdu3apGL1R7POMGTNUjK5r7969VYxeqheucUPfPagTjPO6aNGiQO1ZvHixdQ62AecWfXWX243loWO8fPlyFbvWIrq0eL97gf1G19s1l+ifY5+Czhs6xq77B9eyiO0Y414K+Jw72vCXY0IIIYQQQggheQ9fjgkhhBBCCCGE5D18OSaEEEIIIYQQkvfQOSZ5hzHpNn6bfx5Y2xd2lO1ZX6DmBcYqHl3ZlPYXu+x/TcXFBvzGMLq2tgtY36SdlwNN4ETG9EiVF+vv4ZLgXKYhNskEHNf1JVO6Ppy3CHztlw7rPLDJcLFY2BKkjrPMaxw053DQ673czFznYu5o/9Pz/snorMwPW6cH7pNjz4AMimuO63tu/97dKk6DUxaCOoqK9foNwzz776SQYSPV6e3Za+G95+SLiNxxxx2tniK6degPokOJHiiOgZeLh2Wiq4q4nEmsA3PVuvxCPN6e/KLYJ/QJMUZn0eVloguL+XPRDce4PWDuZXSvXfOGHiiCY4D1oevqcsPRS8Xc0CK2p+waN/Sm0R13+evo/yLYRlwnEyZMsK5Zv369b51BHWPsAzr9w4cP9z2O68LVZy9wPbtyjyOuZ0BQ8DnoKh/XhYg9Ti7HOBc5rrOBvxwTQgghhBBCCMl7+HJMCCGEEEIIISTv4csxIYQQQgghhJC8h84xIW1weXJ2jmI4noHi6azDUYjtnlonqDBWC05MfKe+Poz+LpSXttu7r0F/1pjUZRxXoh3fEnCQ45hWEp3jFJwQ0uXHk/r8cBidYx0nI4W+sYitqtrDmuv8uB2fM/hoe5+5qD9ba7rj5w3z+6K7bvegrrZGxcmGWhWj549VFpeU+rTAvqAzVoFznIPOQ8v5nbyGP/vZz0pZWZnnMXTt0DPFfKCYk9jLf8QyMVdyUN8wkzzEflRVVal43LhxgctAB9HlCAf1nF3+blAyGXN0JocMGRK4DD+wTzgGOIZYP9aHOYEnTpxo1Tlv3jwVuzzQk046ScV4z6P3PHfuXBVjnuQFCxaoeMqUKSpes2aNijH3s4jt9Lrcb8TlSaM/iy64y4/H+xvvT/TzvcrEXMrYBrxn8f7DecHjQfvUHocZxxFzN+N67mzHGOEvx4QQQgghhBBC8h6+HBNCCCGEEEIIyXv4ckwIIYQQQgghJO+hc0zyDmPMu64M6IBOv9Hp1Xl8FjDXbDrtcIAtpxGqSzaquPSgzk1YKDqHsJ2nFXxHj1HZUatzKKbhnO4lOi6K6Ov3NEIdkIs5bPDRpNtYH9fXRyE3cxS+9ksUaM8nGY4Kgq5oRzvHiCtvca5zFnvVcSzS2W0MWl/9oToVNzbUq7iiew/rmpp9e1UcMXBP4jMA8xyDc2wL8/65mJH25NB2gmVaacQd95v1f3QO/fr1k/LychERWbp0qTo2fvx432vXrVunYswTi+6fiNvfQx8Qc82ia4pec9Ccp+1xjBEcB/Q4sQ/Ypg0bNqgY++TKXevKSYzgvHjlBB41apSKcVyxDJdzjOe7vE90ktHHRWcTHWP0fUVEZs+e7dtG13NgyZIlKkbfF+tEpxnnGUHHGO9HETvvcLag64rzhGsJ1zaC12NeZq+cwBs3blSxa73jGOBawuvRc0Zv25VDuz37GmCfcK1gm7FNzHNMCCGEEEIIIYR0Mnw5JoQQQgghhBCS9/DlmBBCCCGEEEJI3kPnmOQhRlpFNn991+Pbo+DeZ3BfDx1gVwvAR6x5Q8UVCe2XhCLaZ7RkwJSOm1N2+3fXake4IKxHqrKLfrREoI66Ru1YFoh2mMMhLSljquVD4BwXRfWoRCM6bgLnOC0gQYtYAw2jlHW+XReuddIZ7m3QHNzHgrOc6zY7j1sPDR0n4vreaG5utsqoP6jvyYjR6x/vyUhI31+xomIVpx0PMqvNDnAMXH6wiNspDrxSjlKe42XLlklJSYmI2I4x5hNFXxAdY3QqXXlkRdz5crEMl9OYaycTwfpEDo9hW3bu3Knib3/72ypGBxK956lTp6p47NixKsY8sOhEXnPNNSq+7rrrVIxjin6xiO1htifXa1vQqcQY59WVCxo9b/SmvfxirAPbkO1eBK7z0ZvGPuE8upx/EXuesMygPjqOCY4zuuEuPxfP91pHeM+jr4t4ecttwZzCWD4+c7DNeL5r3XiBjnHQvRA6G/5yTAghhBBCCCEk7+HLMSGEEEIIIYSQvIcvx4QQQgghhBBC8h46xyTvMO/8v8NoJ8aZHbQD8oEmk9q/ra+rUXE5+B7hiPZlQ806z2pZ7VYVF4TRZ4QGONp8sCFlfXYA0nVGC3Shvbrg9266joOHtIdZCmmHDRi/qZSOa5t03KUQHGdwoNE59sJ2u7N0JoNiiZzwgdVA/7V7+JLctvpoOMbZ1unyZ7Otv/AdP7WFHjG9mGvrtOMmIpJo1J+FwbnHNMVR8OaixYX6fKMvQF/ewiHQO8fI43i2S+NY8NdFDvusLXmO0dUbPXq0itHNQ3cvE8cYcfl96DxiHRhv375dxS4/EcExwHy627Zts66ZNGmSirFPLn928eLFKkZf1pVDGEml9P2FfiPWj3mYRew8wwjOfVCnGF1ZVz5d7IPLx12xYoX1Ga5nBF1uvEdx7tEhxvNxHr1yLwcFfVxcn65xxj7gWsD7x7V2gubU9nL2b7rpJhU/9NBDvmUi2Ee8512+L/bJtQ+Cy/MWsV3vY80xRvjLMSGEEEIIIYSQvIcvx4QQQgghhBBC8h6+HBNCCCGEEEIIyXvoHJP8JmAuzpDkPs8r5kWtOaid49KycmyEovjANn1+ulafACl9XcoxHn+71naOE3BNRUxf1bUIxgmKOFivPeuB3dCv1WEcci3XNOnzT+kF9UEv6kPaA/KeNsz/3NGZjQFoVGNDg4qTSb1Oysor9OUZZWLGjgfr47HihQYh6zzj1lFHbk/w3esOVNs1JLR3ho59QRjyeMfA0Yxp59hukb91HMLE4bjWrU5nP+9B56Eld7OVw7mDqa6ulvg7z2T0F9GpRA8VXVXM7enlfY4cOVLF6OKhq+qVg9cP9AuDOsc4Bgg6lCK2d4leJbqsCLYxqGOMYH2uMXD5xV648hKjcxnUSR44cKCKXW5rLliwYIHvcezTxIkTfc/HHL9BwTzjIvb9g+OGMbYBnWO8Z/F87LPLaca1hvV5rcVzzz1XxejgY5twnwG8X3CtuGLsQy7yHLvyS2e7N0Ku4S/HhBBCCCGEEELyHr4cE0IIIYQQQgjJe/hyTAghhBBCCCEk76FzTPIOY8y7/pvDt7V9w9xTWKj9wd7gnEUgr3HjgX0q7npA5zUOFUEuZvAPjdFxCFxA9HvfPGg7xxLWbepWrL9n61KoRzIBuZwb47oN5ZAbNgRtrIO8xk1wfZ8yXX8CROt4gc5F6+WNBkz/3OGkU9r7SSZ03B7/F93WUI6/H8U25SIPeLZk6xy7vGy8f9DXqj9oO8eS1veDwHqPRnSdhYUxFYcj+n7Be1pCuk1NjY0qTjTrPOPor7v63BHzeMQyO3nJ9OjRozXPsctH3LdPP4vRf7z77rtVPGLECKs+LMOV/9OVTxfdPYyHDx/uW34mOUvb4uUPo5OI57jyrAb1ql1MmDBBxZgbF+c1E3AesE+ucXPVifO6dOlSFbvyGo8bN07FXr6uC/ScXfcDgg7+lClTfMtz+brYJxH7/sF5QH8c5x6PoxvrcsexjdgHHAOsb8aMGYLMmTPHt06sA9eKK08x3m+uPMau45mAdbrG5WjDX44JIYQQQgghhOQ9fDkmhBBCCCGEEJL38OWYEEIIIYQQQkjeQ+eY5B1tnWMD+T7RH0ylIP8o+L/hcC6+X9J+H+ZJTYB7umPLKyo+sUz7KFHMxSz+fUT2N+g+V9fb5xRAt3t10eMSA+expll7yyat6yiBPMnoSe+s0+VFIzruDSkfm4z2uJMR7eSEPcbAuIRzB+jXBgWrKyzVnnSsqBjOxzHLoFQMQ/7Hs8Xlproc5faUme356Os69yXA/NT1dSpO1EPecRExaX0/YJWJpD6OThk+dyyHHsJUSpeXAmfNdX0uCDoPLc8p1/OqI0HnEkGfd9OmTSqePHmyilevXm2V4cr9GtQvRHcvqMvncmWxj17tRw/z+uuvV/H3v/993zqWL1+uYnSQXXlV0Wd0ta89oHfpyg2L3ii6sjiOmBva5Rgj6BjjWhVxj4PLzUZnGF1zzJG9bt063+MulxXHRMR2WXGcXa42luly9HGesM+YvxefIdi+DRs2iAu8H4KuBddadI276/pMcm7juLpcb6Qz8nq3hb8cE0IIIYQQQgjJe/hyTAghhBBCCCEk7+HLMSGEEEIIIYSQvIfOMck7Gg81SDJx2MFLg3OcAtdv55vbVFxYpF3WPscdp+LSMswXKoKWYhiEPsw9i27eAcjbV7/nLRUXd4PvuMJpv9Ajd7P+5I39OgdrPG1/hxYr0Nf0LQMT0+hxPNSofazCAu0oR3UoybQu701oU59y/egqi+k2vp7QeWBT8Kgz4IeJiKTAg04ldJ3RmL/r55U7OSvSrvJgHXmcjm3CdLgikMM6hGsV/HWYZnduaJdDjHmQHad74PSaAxfokM8N3r+ag/sPqjje3CgW4AAnYO01J3RcVKJ9c5wnHIIQtKqoUK/dwqjOm+yeJ433kAdcr665fyd23gZHkaD5cduTv9flHCOzZ89W8cyZMwPX6Qe6gmvWrLHOQc8T8wzjsxPdVvRIXX1esWKFijEvKzqa6Mq2J2+rq80IjpurT+iqorOJDib2AV1aV35rL1zr2+XkYxuwPJwn9HdxTDPpA3rUQ4cOVbHLKcY60THGtety9LE+HDOvPOFIUMfYhcvfxXnBPrbH/8V5cbnaRxv+ckwIIYQQQgghJO/hyzEhhBBCCCGEkLyHL8eEEEIIIYQQQvIeOsck7ygtr5DYOw5eJKLd1AbItRZv0r7goZoDKj5YvVfFHxh8slVfrz7aS7ZcO/BrUwndhtdf1XmNu4XAhQ1rD9r2ByHHMBxtaNKfbD4AuWcjlqgqpTEtCfcs0THmUa1piKu4vFDXAcqx7G8C9/uQ7tN5g8ApBk/0zUP60VZUr+expAydS5HaWp2fdvu211Ucjeo6e/XureLulT1VHC7AXmWSl/hdLAUThOHmJj3GjY222xqN6bWRAoFzz84d0CZ9vHv3biouryhXcTiC3jX2yl47QUmA+41xAcxLMq7HpeGQzjNcUKDPLwHXqSAKfxYt51V/kIY85LX7df5Sk9TtFbE96aYklAnDhr57fX2DijH/egSdYkiknIY+WHm/O8L9RuEdczHjPgDhw2sJx7ejee2111r9N/TkOsKLw9yvI0aMULHLaUSef/55FWM+XXQg0S9EL9TlXKITLWI7xiNHjjxygz3KwDp3wb4bOA/oiY4ePdq3Ppcriz6kiO0IY17WoP451oHlo0Ocybi3JRM/F8twrTV0u13jjGOCfXTlhkZwHXiBZaBfjmslZO3foB9MeL/gGLnmDdcazjve7yL2PTllyhTfa/B8vP/wfnHlt3bNg2vtZkJ7rulM+MsxIYQQQgghhJC8hy/HhBBCCCGEEELyHr4cE0IIIYQQQgjJe+gck7yjKBaVWGGLkwceqNEOTDoFviDk722sq1fxay/9x6ovWqC/g+p3/An6hLA+Xr1be6A1+3aquH8PfXkkDPIeCItpg66r7sPWA+AHN0Ou24htx/Yq1XEXUBxTcT1uBxp1m3qUoquqj2/bD3la4Ul1Yld9vLpe9ylVqn3gPn21Y2NCdp9iMe2i7tz+porravaruL72oIprDujjg04+RcXo/9p5kcEDBZ83lcJ82LrP5eXaBxaRVre+BTSA66DNb27bquID+/aouKKrzuN9PPhURcV6YdgOsj/x5mbrs/oG7dcWFuqcv7GYjkPg5O8D56xmf7WKS8t0m9El79ZD+48h8HvR9U40aRfRpG03EPOrN4BjHw5BHvCiEhXv2q3npe6A7lNxqXbMuqE7jmsl4v+fApYj3WTPUwPME7p8pV10nc0w17vBf29uPuy1Yb7xjqZv376t44NOJLp2N954o4p/8Ytf+JZ90003WZ+hGxrU50Ofd+rUqSpGf3fTpk2+9Qf1qr38XSxjw4YNKsbcs9hGBD1RzK2MuWLRs8YxREcTHUuvMcd5wXzSy5Yts67xwzWv6Lai44xjjO3D6708aiyjqqpKxej4XnfddSp27TOAffRqQ1vQ78U+e7my2AdsM17jmqf58+erGO+nbMExQZ9YxL5flixZktM2BAXH1JXTOxfkwmvOBv5yTAghhBBCCCEk7+HLMSGEEEIIIYSQvIcvx4QQQgghhBBC8h6+HBNCCCGEEEIIyXu4IRfJO6JhI7F3NrFKpfRGOM31dSpOJeIqNml9fgI2lUkl7c1jNm54Tn8AGymdcFwvFe/ZApt6QZ3FUf2dVgg2cjIGt13S59dDE1/aixsG6Y10Ih6bVx1fAZt2iS4jkdJtqm/WbRpUqdvUnNDnb9qjG3lab73jV3FU1//M27r8oiHdVRwt0OenUzhGIgY2WsJ9yHDu0xC/ve11fT7M81lDz1ZxIW6WZW1uguOuYzzd3uBLJA2bs+EZXbvpDbZ2vKXrwPW8a8fbKm6o1xumnHHWUBWXVXS12qTR9ZUUFVtndLXKgLmE9V4Y02ulz3F685CD1btVfKjmgIpxc6s+/fSGLicOPknFDbBpTGO93qRPknodiNj3KG62FoPN2yp76WdEpKyril+GPhzct1fFuPFaeUWZigd8QPepqFRvAIbrKBK2v1fv1lVv+lUAfQhF9DUlpXojtAhsIPTfl18SEe9nakfy4osvSuk7bcONcXBznltvvdU3bg+4KRFuLoWbWeHmVC5wAy9k6dKlKh4/fryKt8EGd16b89x9990qnjZtWuYNzIAZM2aoeNKkSSrGzXtwTHGTJjyOm1mJ2JtDBd2Ay4Vr0yPXRmmuDYu8rsc+jR492rcM3JArKNhGXGtDhgxRMc7TokWLrDJxM7bBgwf7tgE32XvrrbdUfPzxx6t41apVKi4r089OrzYFAZ8xmYDrf86cOb7nX3PNNSr+/Oc/r2IcQwTXYmds0NXZG3Ah/OWYEEIIIYQQQkjew5djQgghhBBCCCF5D1+OCSGEEEIIIYTkPXSOSd4RDh3+n4hIWrRLd3C/9g1T4KeE4OskdDibm+OC4DktLl0LJbXbVBzfr32OMLQxFo36lo+E4PrNe3Vy9X2gSEYKwA2M2c5x33Lt56YSepya4uC6giBbVqjjN/fr65tBgz6ll66vDoZ5y0Hd5qEV2qUtCIEvrIsTEZFkXJ9jwAM14F2mwX1NpHSjd7z5hm5DWJ9/5gc/qOKiYu3booMcspxjaI/HQjAhdK11Hwsi/t+P4ryhq30AfMj/PK/9+uHnfFjFFV31vKStRtsTg04x9hvda/R3S4u1+4pdTsC84xhtf32rPh/u8aaGRhXH4XjY2gPA7iWujRj470XQh2ix9rFKwYNrrK1RcRLW5q4dem+Fpkb9TDj1LL02u3btquIuJdoXFrHnAacWHXyc+67l2onsXnl434Bkwn6mdiQnnHBCq1eIfi76v+hsos+I/mNVVZVVH7qgWMeECRPcjfYB24Tloy+IjjGC3rWXe4uOMXqV6E27WL16tYqXLFmiYnRTsY/oSeP5GHuxceNGFR88eFDFuBZwXrEPeNzl+wYFXXQvjxodX5dP/uUvfzlQG3CtTJw4UcXYZxxDrB/LywScJ+tZBvOAf/NcYJvmz5+vYpz3UaNGOcvEexbnzuUYIwsXLvQ9vn79ehWjg4/PwcrKShXjvHn5wl7r71iGvxwTQgghhBBCCMl7+HJMCCGEEEIIISTv4csxIYQQQgghhJC85731j8AJyQEFISMFocNeSXNC59CsO6jzhWIe5AhIxwY9UA/xMwk+biSufb+SWu1HJVN2XtS2FEd0HWFw+cToNlVDYuPntuv2pEM6LyykEJa+ZfZ3aOVRfxe1BvIalxRibmZdyUu7dZtO7q0fTRVF+vzn39Z9bkzrPlSUaY8IcxaHw7ZHnUzqnNWNDdqjQf9cQtoLjcfhOLimb7yu8yBjE84+e6iKY4W6TyL+OYtTadttRa8zBAORgvWfiGNeb/98vHE4Pwn5dZ975t8q/rDDQfb2vaDNaXSvoY8Q4zijAoxjhLdfHHKZb4e8mAYuSCV0XBix7+dQWNdZCDddYaF2jEtKdIzScnGRXivoZYfC+oIk5F6u3qP3OXjxOb0uhp9zjorLK8oFsZ6FlgsOx2FeEnB92Tt1JOJ6/Duafv36SXm53T8R27WbN2+eitGrmzVrlorHjRvnrB/zpqJ/iF7o4sWLfetEJxjb4PIbzzjjDBWje+sFepbDhw/3PY4e5qZNm1SMTqTL20QnualJO/WuXM9eoEeJ7ir2CcfZNffYZnTNg3rb2EevecM+YJno65555pm+dSLo32J+XnTTcYwXLFigYi//HnPuokeNfcTjrvzR69atUzH6uNhH5Pzzz1cx/r1asWKFdc3AgQNVjHsXzJ07V8XTp09Xsct/R/Ced63V5cuXqxjzJOP95lWH67lztOEvx4QQQgghhBBC8h6+HBNCCCGEEEIIyXv4ckwIIYQQQgghJO85tv6RNyGdgUmLvOPpHqo9qA4dOqR94ITlRWj3z9I8PfLGopN4Yqm+qCKq/b44lhnSHxSEwQOF2ziZ1vU9vU3nYT0Q120sAp0xBrlxT+ph9ymUBm8ZBuJAvT5eWabbeLBBt7GmSccjB+lGNSW1p/PiLj1mPbr2VHHXLiW6weB4euUEjjfpcULHGB0Z9HfR64yDa14AuWvfeH2bisu66Nyxp592iooj6OSA/x7GJNwikjTQZszNHNduUAhc1SQ4yQJrAx3kEBzfv0/nDX/xhRdVfM45w1RcXGznR8Q6wxAnsQ3g41r5qVMY67WHfUgk9fnRQl1BI/hVafB5SzyeCWi8o3NcVgr7AGBucygyBH3EPmON6CTj2j5YDfMG+avP+Yh2kEVEikp1nm6UijG3czIFNyHcTy353HFNHkugo+nKEewFOpOTJk3yPR8dRXSM0RNFfxB9XnSY0dFE1xVBB1PEHhd0HtFBRrBOdCpdYN5iHAMcc8yni/eDV5nocqObjYwYMcL3evQ477rrLhU/8cQTKkaH2FW/1zyhy4r9xnlDR3js2LEq9sp53RbMz4t5j/E4uuW4NkXsNuPcosuKfXaB84bjjPc8+reuvMlXXHGF9RnONa4NHDfE5RjjPKLj7PLZcUxwbeHeDF4ca44xwl+OCSGEEEIIIYTkPXw5JoQQQgghhBCS9/DlmBBCCCGEEEJI3nNs/6NvQjqAdDop6Xec2X27d6tjjQ31Ki4t0R4d6m/onUZEu4EiIr1i2okZXKFzw2Le1gS6eI68rSHIc/ziDl3+a3v19bEibf+hw1mp1Vc5rovtzKBjnIY+1DbqPh/fTY/LG/u1y3pcmT7evUh/b/fqPt3H3fW6/lGn6Xy5hTFdHg5pwiMncA3kuG4CBzkW0x4ozlMEnOIUZCJujus+o0P83/9uVXF5mZ6IQScOUHFI/NfF4ZP0OdjvQ3W1Ksa8xeEw5PW2Uj3rPqCjD0tLduzcqeJXX9H+49APniZINKrHPQ2FQhctlzXerOcxkdJtTCXBqw7rPkUKIN80uLQpcMuTMM9xD+cY5yoBHnTfUu3Mx6K4tqBJmGsZkzXDPgQhmFe8P8LwoNsN8/bSi3bO1LOHDVVxFO4XfM6g+I/ruWVfCME87kcR9HldeVnRrfVybdGnxbzFyJQpU3yPo5eJbirmQEVHE51JBNvn5Sein4ueM3qi6HGiA4yg4+hyjPft26dil5Pp5Vnj3GG+XHRZMT8uxgjmt0ZwL4S9e/ce4UxvvNYejgv2G51ixOUYu8C1hH2sq9N7wHi54DiXuL6XLl2qYtf94wLzWSPoC7vA/SRE7LnC54rrHsXnFD4TMD97ULC8zZs3q9h1/74X4C/HhBBCCCGEEELyHr4cE0IIIYQQQgjJe/hyTAghhBBCCCEk76FzTPKOeFNjq8e7b+8edQwdS/TgmsEvDINPiLk8RURO6qHLKC8Cd+gQ+ruQxxicY8yb98oezGvcrK8H1S8Sxryx+vgpvXQvYuKRZxQuamiGPKswEsUxPU7VkAd5cE/t7qXAefzPTn1+Ifi6A3qXqzgE7QuBVGl5piKyf/9+67O2hMEvN+CJRqO6TbCUJAE5gzF/K/ruW7doB7lH1zIVV/bQuQS9lGP0c5uS2ik+eEB71kgB+FDN4OsWFOjjWF8yBX2G42++9ZaKe/bQ8ygiMujEgVAGDGwY5xZyaNccVDHOA3qjccxrHAPfF65H3xdScsv+evv+CcNzJQS5zNGjixZAG+J6HurBs0uDz1tUpP3fVFo/IyIRPY8JWCdR8OkxN66ISPfueu5OPlk7mGFwuUMFei2kE3ocm9+5HxLgwR9NgjqZiJdX6srhi34tOpUIurDo86JviDlPMYcp+oOTJ0/2LT+TNrnA/LboTaMri84x5n7GMW6C3OSYc9XlJIu48+XiOAYFPU78u79mzRoVjxw50rc8r9yzmDMbn4XoigedR8Tliq9atUrFmN8XXXIRu80Yjx492rdN6DHjWsBnXVVVlYrx/rnqqqt860PQ+ffC5UljH3AMXCxZskTFeH+4cq+77icvvPzxoGV0JPzlmBBCCCGEEEJI3sOXY0IIIYQQQggheQ9fjgkhhBBCCCGE5D10jkneUXOwVmKxw85dI7gSBvxaK88rxJGQdvHKwzqnqojIwC7gtIT9c8+ib2sgh/Are7TzuKtGu3p1cX19SSHkG4X6e5bqPnygG/iNxvZzI2C47q/X53QrBb8Qc/LC9b3LdLyrTvfpjYO6Tyd0145kBeTdw3mE1LTS3GTPE3qbBuYF8xjHwEWNYBrXtG5jEuahqR7cQXBs9h/UOYg3b3ldxd266tzO4Yj9OA9DEuCmxgYVN8P6T2M+XOhTLKbrMAac47Re6wnURcHPbWjS7uurr2nPWkSkR7duKu7aXccp8GvRAW6AcS6AiQrhvBaA/w7lH2qsh+N6nVj5er1kcCtHtX6uVJRrfzcCE5Fq1vPWDG1ChzkMDn5hoZ63cAF423HwgdEPwxtKRLZu1nNX2U2vz17grlrpnyGfccOhwzlOk9Yi6jzQ9cOcvuhQYn5SzImKjuWRPmsLOo6YwxQdYBfo46LHiU5ytu5sJqD7ip4oes1eeYjbMnXqVBWj14m+IzrGXm7t7NmzVTxz5kzfNuDawFy16I6ju+rKm+zyfzPxhbEOHAf0lLHPmG8X899iG8aPH3/kBovI+eefr+LPfvazKl6/fr11zZw5c3zLxDbgvKDfjgwcOFDFOE/o96J/i8yYMUPFuAeGiEh1dbWKXTmw8ZmA8+ZyvbGPQe959N29fGJ0iDFuj7fckfCXY0IIIYQQQggheQ9fjgkhhBBCCCGE5D18OSaEEEIIIYQQkvfQOSZ5R/W+vRKNHvY/0T0tQs8BcgtGbbFUhb1jtstaUeifVxiqEEifi1XI1gP6g2QSPVFdAaSitVy/03vp80si2heJJ6CBImLAi951CPIWV2oPB3M3dysFBxKcx017IAcwKCwDuoHrGilUMTqcYfAZD9XZuULj4LwURiO+cSSM4wLuK8imUVRR07rNSchdm4aFsHfvXhXvBy+pZ6+egqD/2liv3VQDjnEReNFF4KZGwH83ll+L+XRLdAz5pXv21h6qdf+JSHWDviZcpue2qUnHSRjXviedpeLKAaepOFqAbdb1H4Rx3rdL+1t1+/XxxgbtisebtVctImIg/3MBOPJdykpVjI+dxmbt4abRYYabHOcVV24SHkLpYj3vh2rqVBzyyH2OuZW3bn1Txd16dFdxJKzvJwPPsUT88LglPZy8zgI90aCg24f5eUVsPxAdY/RnsQyv/LVtwVzMNTU1KkbfEONc57oVsXP4Yp3oH6LXif4tno/OpGuMMsGV1xjBOtFZDkrQ/LteOYERHFdsM/q8QfuQSQ7stmAu51zgykWOvq4rbzLicowRzBvulTPelQM4KOhq43Mpk1zLQUDHWcTut8tBPtrwl2NCCCGEEEIIIXkPX44JIYQQQgghhOQ9fDkmhBBCCCGEEJL3HFv/yJuQTuDAgQNS8I6IGwXPoRgcy3gafEejv09KQd7YEyttZ6YAJV/LOcZrIA8rng9uH6SWlSLLjdUFHFem+/yBHpC7NqUdyZCHBtSQAO9Z64JSUazjJLiqvbtoBxLL21wNLiw4yb266DF9faf28E7sofuQgty3Bw/uFwSnqbhUu6tFRZD/GeYB8yCj+23NW6l2mRobIec2eNMlJXpQd+3RDnLX7trpFBGBYRUDfm3fEwaqOFqk6ygu0c5wOKLvjxDEESg/FIY/MZAXPAxjZi12j2u2vr1bxdteeUHFzQ3a++8GXnPXnsepOBorglj3qcdx+vxuvbSXlwInNgH7GDQ26GeEiEi8UTvvqWZ9TTym8xzXQarfVErf9OUletxLo9pZ7tlL5xxOwP2QTmEeco3pra9/c/tuQUIh3aZDhw6ouHqfXq89e/bSbYL7I/zOszncAR6iHxdccEGr/7Zx40Z17IorrlBxM/jkc+fOVTHm68XyvHC5ougPYq5ZBP2/oF5nUKfSC3RXMU/xkiVLVIxeNXqf2CfXGLhwOc4iIldeeaWK0ZNevny5b5uwTMyZ7QJzaGPOYZcPjO0TsT1qdF1d44rj5sofHRTXmIq4c/i6wNzMHQ3mSc4FLqfe9UzBPMUuMEc3rgP0i0XstXGsOcYIfzkmhBBCCCGEEJL38OWYEEIIIYQQQkjew5djQgghhBBCCCF5T8h0RGIxQo5BamtrpaKiQk48fVir61gQA0cS8vc2xbXsh7k4uxdoV/Bzp2tHU0SkSwzFTx2/ukd7a4+9qh1G0HktdyMFuWrLirUrW1akvwO7+BR9/MRy/QhIJnSfQx6PiM17ISev0a7oyb11nVgE5m7+LzjGD70I+XBLdXnjPqidzOcatWd01rCzVYzu7frnXxbk4EGdyzUK7nYK5q0gpv3cCnB+u5Rq3wrPj8T0PKD7GoIE1VE4PwzHi4q1Zyrikc82CbmYYWIwLzLmasbz/TM9i0ga68N7wXHcA/Rt6w5ol/XNV19S8Z6db0Gduo7S8m4q7tazr4q7gxtbWqbXXgTnDSR9dM9FRAz0IQV5j9PgBIfh/komtONVvfN1FUdD+h7u1k2vjUQSxxlyckf1czFWoq8/UGvnbm5q1mUWFer1juuzSxc9bnWQe3zv3sPeaTKRkLWP/lFqamqkvFyPfS5p+fuQy3oyyRGM/h7mPQ2aKxbBHKZePmBbVqxYoWL0RjGHsBfoRaMvmy3YRsxVi2OWi9zMWEeuXVWcd5wnV77dYwFcay6vFNc+jinGeD+JZD+31t4gWb4SZeKv55ps1yauPfTpXWSSlxnPwXHK5n7qiGc3fzkmhBBCCCGEEJL38OWYEEIIIYQQQkjew5djQgghhBBCCCF5z7GdaIqQDiAZT0g4ctiPC4e1V9rYUK/iFLh5acgBPPhE7YGWFtp+YRi9TdvM9AdOT0FO0oKw/o4LVFkZ0ku7qQMq9PnpFCRRRT/Yo7k767Q/clY/8C6hkAgMSwq+ltuyFz1qfX0lOMdxELH3VNeo+I033tblgWe6d4/Ooylie9OHGnQlvU8YpOITTtJeW0m5zgWLOXxRp02D24QubSqlL4iDqJ1q1J5qQ5MeAxGRRLPDH4f1XgTeT7hQr2/LEXasZZejHLKcZK9CdJg2epwKi7UTOeAUPS/dwBne+cZmFR/cs1PHu7Wj/GYB5Lsu0fWVddOueXn3HjruZuefLirCvQl0J+Ow10Eyrv2s/Xt0nuEDu7Xrh7mYTb1+BhREdZ9CEf2fAo2QlzxRrZ97DXV63YiI1IMz3Nyk8zt3KdJtGH72qSretW+Hit/avE1EbP/6WGbx4sUqnjhxovMadHrRl7377rtVvHbtWhV//vOfV/Hq1atVjHlgMecw5oVF3xBz4SLomYq4HeOgXiY6lZg/GsEx27xZ3/Njx45VMeZV9sobi7mY0afFuXb1CXM947i/Fxxj9EhdPjvOI/YZHeQ1a9ao2Csfb9A8x+jXWvtuOBxkXAcTJkxQsWvesI9euaDx/sD1i88IzAeN+wLgOM+bN0/Fo0aNOlJzPXGNuVdudFwr6Bhn6z3nGv5yTAghhBBCCCEk7+HLMSGEEEIIIYSQvIcvx4QQQgghhBBC8h7mOSZ5Q0sutA+cMUzC7zh2SfDiGkBmxfyj3SFn8OUf1Lk7e9v6iITBtw2Jdkdf26V9vr+8on2NOOSmTSS0u1FcrF2+E7vr+NIhOmdpqQ6t8sToPu88aOee3bZPX/PRQdq/CmOn4Xu4Q5AT9b71us+763Wfzx+sPZ6+PfVAP/GG7lSfXr1V3LVCn19dfUCQGnB4+518lop7n6DduxD46s2NOuf1oUM6b3I6jf46OMTgHEeg/DC45VheNKrn/XCZej0Xgg9VCh4ouqegt0sCXNhIRLcJ24h5i/GvjZ3W2P5zZCDTt0mDmw15uRMQRwTyVcM9vfftN1S8fYvOpdncCH4tOtDYXnDWYpDvV8T2liu661zLZd20txwK63l5e6t20OJN2mPr3uc4fT3UH2+GZ0yzfgbFm3BMIa+5x0YEaZjMWIEe965l+ll51lnaOd66TTvHu/fuP1xuKilvvPxsp+U5/sUvfiHFxYfnbMqUKR1W35HIxEnMJegzomOMPuOYMWNU7OUXoncZtE/oRc+YMcP3/GXLlqkYnWIXU6dOVfH48eOtc4J6mYgr3zQ6l+jnDh06VMWdvU46ok50VxF0Wauqqqxzxo0b51vGokWLVDxp0qQMWvYuCxYsUDH2GR3k+fPnqzgX7iyOO9aBawXvHyQSwb+J+m+sK181OvnoE+MzRcSeS5x7dJBd/npbmOeYEEIIIYQQQgjpAPhyTAghhBBCCCEk7+HLMSGEEEIIIYSQvIcvx4QQQgghhBBC8h5uyEXyhtYNuU49o3VDAtzMp6Zeb9YTgo2lzu6rNzD65MmFKoY9aA7XYfSHJbBv0hvVejODqpf1xk7NuCsS3LLdIef8xUNKVHxCV7g8qfuYhs0UkrDR099f0+0RETm5t670+O56nCLQRgO7GL2+X28Acf9z0Aa4fvwHdX3hCr1ZwxObdXlNsKFQly6wcZrHZg89+n9AX9PzeBWnYB5wY6jGer1xUzNschSCjZoiXoulDTHYYCsCm2Lgozscsr/rDIUMxLpOvAQ30Eom9FpJwcZMeH/gJmG441Y6hRve+W9KJiKSSvpvwJWM+2/IlUjoecDymmFzqtq9ejOSQwerVRyCPhqIU7j9lce84BZZuLFZJAYPCSjD2mgNNlLDDb7wrzxusCKixyTcoMfsUES3NxTC60VCEd3mMtgYpUtZmYq7dtPHG6DOludQMhGXNY880GkbcvnVs2bNGhXfc889Kv7xj3+sYtyExot9+/apGDe7wQ2vcLMr3Ixn5syZKsbNe9avX6/i4cOHqxg3hsINhVzt7QxwAy3cgAg3UjvjjDNU7Nrga9iwYdZnzz77bJAmOsFxxnnGjZ8yWUttwXWBGx4dDVybMGGfcQMur823Nm3SGygOGTLEtw2uzdvwfsHyRo8e7Vv+ihUrfOvDDe+8NjVzbRqGm+TdddddKr7oootUjGvr29/+torxvyWWLl2qYtygbt26dSrGZwRu0OWFaz27nntt4YZchBBCCCGEEEJIB8CXY0IIIYQQQggheQ9fjgkhhBBCCCGE5D22OETI+5wPlBspKDjsWLy8UzuV6OaVRrRPeGov7dUVgHOZ1CqgiIjsrdN1nNBDlxGL6u+oCiBBexoUxqKo/uBjH9AuxomV+rYOgU8YimpPWow+/uY+7Rg3iXYBRUT6d9VtjoJTbMCvhS7Izlp9fjyt4+KYvqICdJOdaf1B/8EDVNzYpNvc2Kj9lVi57cl1rdQechO4qgZ82DT4srGonreCiG6j5aamYbGAn4t+byKux8h2cT18XWxz2t8pjoMn3dwMvjlcn4Y+mBT6uPp4Eh1ky3/XsVcbUxAnwE3CcUyCg4zjlja6jek0etpQvPjHIag/LOBhe9SRSoG7DWsvDD5v9+7dVdytdy8VF5Rq7ypapJ37gphem9Gwvp/D8AxCX9549Mla3zBPJqXjuppaFcfB/U7FD8dJjzXRkVRUVLT+36tWrVLHfv3rX6v4oYce8i0L3Tvb9Xa7oH6unYjIokWLVIzO5KFDh1SMjjGC/iDSGY7xxo0bVYx9crmqixcvVvHq1atVPG/ePBVPmzZNxbn2i71wjTO63TiPXq5qW9DZPBqg9xzUm/ZyjBGXY4xrYeLEiSpGXx392iVLlqjY5RzPnTtXxRMmTFDxiBEjVOx1/+Pco1eN7jY+h0aOHKlidJRdzwD0sHEtYR9wbXo5x9hP194FuHb6eOwT05Hwl2NCCCGEEEIIIXkPX44JIYQQQgghhOQ9fDkmhBBCCCGEEJL30DkmecfeZJFE3ln6oSLt1pUWaL9tcHd9vFe5vmVS4A42J+y04bsP6TL7dNVlFsJdiI5iOq2/wzqrj/YPT+2pj4fC6ANG4Th8JxaKqXBPUrdv+BDtK4qIlBRqFxVzJRvwmFNGO4u7a/1zw5bEdBuLY7pNb7ytc8++Ba5sAnLfxgqLVbwfJWgREcgBHCvW+aLj4D7GwWNuqKtTMfq+6GBa6W8tpxlcS1xasPa8fN0QXIQ+rIEycNwEnGFsc8rY7qkqH+uDPoTA90VvVUQknUSvGXLyoscMlUTS6ABjI6CNYTyuO43lp2HtYmx1WkRMyBoIFUZhvR5/8ukq7nOCzsmdhu+5E3Fwx5v0/VqzZ6eK6+u1/xuL6WdCabFuT1HUI88x7L+QwPUO56P7nYR9AlrGyHht5NCB+OXKdHmcrtyy6Nl5nYO4vGV0KHOd3xZ93VGjRvnWl4s6MS8xuqfombpyomKbMc5F7mZsA3rMCxYsUDF61Ji72eVgIph7FsewPcyaNcs3RtCFRccY1xKuk6FDh6oYx7QYnkMido5eBOca1w76vAjmDXfx3//+V8XoME+fPl3F6AeL2Pc0nuN1TVswHzviuh7vB9czBec5E9/ddY9lkiu5I+Evx4QQQgghhBBC8h6+HBNCCCGEEEIIyXv4ckwIIYQQQgghJO+hc0zyjo+PvUIKiw67Kwl0VSHXZpeIPh6NgteZhuMJOydwr+66zEi5dmS6gFtxWkL7gQVQx4ePAz8RcgLHovp4GPxfk9Ze6VsHdZ8aQtpRHnyc9g9FRIrAY649qJ3FdDO4rJDHdX+jPo4PogpIxRyBvKvxsHbKmhsbdH3NmNtWx40NBwV5a4t2j2KFuo7yHtqRKS7VLnY6CeOeBoe4vgbaqOcZ3UrMJYvOZhjcWOPlUVsfwjWWHwt+boGeZwP+bQhzNQN27dhHcKLR9xWxv8KFU8LgikfAfUWPGXMvG0gk7vKkw3B+CucJzveysgsiulOxqL7HevQ/QZcBuZr/+8IzKq6vr9dtgD6msA8wRmm4PwoLdXsOwTpAx1lEJAxrI4y5zjGXMiaQBv9d3plWdPc7mqeeekpK37m3Xa6qywfG45m4rK4yMadorvMOb9iwQcXYZyQT59jlBLsYM2ZMoDa4yse83a+//rqKv/rVr1rXfPvb31YxepuYz7aqqsq3DeiFonOMYL7dKVOmqBhzz+JxL18Yc8dijl6sE8vAv8u33367ijEX84oVK1SMjjHmn66DfTzaA/qwr776qoqXLl2qYszxG3Stbtmyxfc4uuftAX12HDcXkyZNUvFbb72l4j/84Q8qxnnEZ86yZctUjGPYHrLNkZ0t/OWYEEIIIYQQQkjew5djQgghhBBCCCF5D1+OCSGEEEIIIYTkPSHjShJGyPuE2tpaqaiokFm3/kaK3smXh3lgUWjEvLCoREZCaBTahmEojZ4n5PhN6TiBgiCcH4M6Y2HtFxYI5nWFXLXgwu6vB+8a6u9XZj8iomntkKXi2p/dD3lUaw5q3/avm7SjvK9Gt+GU7roPQ4/X3s+Te7qreNduXV4cXPLiLtoPruzbT5D6Q7qMugM6l3IzlIkxemzFJTpPclGXCjiu2xSFeQqnwD2P6DEpgPoimL9aPPxZuAadY1yLSVgLjeByJ8Gxt/NdQ05gzGOMf348/hylkpj3G+5R6x4E0AG2nGJoI2jUKTzuKA8JgRMtIhIBj7QAnN7iUu14hcHta4KcwPUNeq2EYS10L9RxPcxrEnx567kGjnJzwiMfNT4b4Zoo9DmVgvWO+aTfmbh0OiV73vivb/7hXNDy9yGX9ezatUvFXv4i+rnbtm1T8cCBA3PSlvaCfUBP1StPLDrG6Ja6QO/ZdT36veiRLl68OFD9eL2Ina82W9DfRecYfd9vfOMbKsbnFv79eeqpp1SMOYhFbE8616BjPHr06EDX471w4oknWucEfYVxOf2bN29WMc4L+rUXX3yxip988kkVf/3rX1cx5rf2AutElxv7fM0116j4yiuvVDGOO7riP//5z1WMuZg7A9xLAefFz/3uiGc3fzkmhBBCCCGEEJL38OWYEEIIIYQQQkjew5djQgghhBBCCCF5D/Mck7wjLEkJyzveCXo7Ln8F9MFwWN9C6M2JiBhMfGrQEdauUBGeDuWFHY5j2itXbNvrob5uWm+0PNU4tl9EElZuV31OabfTVFwI3uhnT9O5levj2lErTILTDG364PF6nPtW71fx7l27dXsh32/3PscLUnDwgIrj4Nc2g6tkpd8FX7fxkM69XF+rczZirtmiYu0ol4A7g05xSak+v6xcO80iIqVddBnRWLE+AdZrvFm3uQnyR0ebtNt6qFaPWRJcWMybnIactWkr57CHsx+BnL1YhhXr87EO9J7xlscmpOEE+xGh57GgQD8kSiBHpIj9nGiAcaur1XmLIe2wwFKTLkX6ORSBPMrdi2Gfgzp9/6UKdWLxaIGu0EqXHYoLgr46jlOsAMapSHvWcfCYWy5Pp7wSeB8d0FdEJ3Lw4MEqRj93+fLlVpno1mFO0aDOMbqlQfODokM8ZMgQ3/NxTESCO8boKGOd6D0jmAfZdT3OC+LVJ8xLjK44es8zZ870rQNz+C5atEjF6H2ih4qOscu9Xb9+ve9xL7J1hvft26di9HVnzJihYsxti/dLe7ZICjpOeA/Pnj1bxXi/rly5UsXYZtfaxfZ5cckll/geX7hwoYovv/xyFX/ve99TMeYxzrVPj/6wiO0M49rAa3AeOhv+ckwIIYQQQgghJO/hyzEhhBBCCCGEkLyHL8eEEEIIIYQQQvIeOsck70gkmyWSPPy9UDSs/cCwpX/oD9LgxUXAm4tEvHwWqAPFZbSKoQ1hOG7AVwwZKC8E+UOhQJfjgkcxL/Phc9Dj8b+mAI4Xl0FOUywA2piC+npBUtWUAXc2occgntRxY9Kep117dF7jVxLar01BTt969GWhD4WF2rFpqNceKbqxyYT2OA/u3aOPo/MMDnJREfjEItKlm84H3aNPXxWXgJNsMIdwge5DYbFe7wLOfR1428m4HrNwWLut4ZB/zuHDH+owktK+LDrHKRinZFKfLzDOaVgb6EmH0K+HtVlYpPuEeRYTKdtfLIzpa5rguZI0us0hgXGHQSkv1Tmzu3XR89avq35G7HtNe3DhiO5TlzLMswxOc4FeyyJ2/un6Bu2RlpWX6TZW6Die0H3esWuviIiEPPY86EjWrl0rpe+MJ3qmI0eOVDHek+jrjh07VsXDhw+36qusrFQx5lkNSlDHGEGX1uUgt8cNXLdunYqxzxMnTlQxOsIbN25UMXrW6C+6vGm8vj35f3EeXdx5550q9vI0/fjLX/6iYnRdMZ8u+r5e3H333SqePHlyoDbhvOA4oguL/i62+Vvf+paK0e8Vsb3lOXPmqBjzPbvWM7Zh7ty5KsZ9BpBRo0ap2C8/r4jITTfdZH2GfRo3bpyKXf8N96Mf/UjFDz30kO/5CM7jGWecoWK8X9GrxuekF3i/4Fo42vCXY0IIIYQQQggheQ9fjgkhhBBCCCGE5D18OSaEEEIIIYQQkveETHsShxHyHqS2tlYqKipk9q3zpKj4sJ9ZEtX5PNHlwLipWTuUsSi4eGH0iS191j4OMea/RQ/adcOGwOMMW31yfCcG9UUj9vkF0KgkOsAQY67ZCDiM2CmwQCVlJaP1TwZt0ImG8708UIG5a2rSDuTOPXtVvOGFDSr+L3g4sULtAGMe2ESzdpoNurNWfl4dJ2AtxpvBrRURCek+FUS1uxqD3MpdKrqquFtlL319gV4Llt8LfaqrqVFxGvOHwlr1SCLsMZfoemMuZX19GpzjVAp9XqxPU4C+LfjCEfCuY4V6jD13IYjoeSmC50g8Djm2m7EPupPoRXcv12uvT3ftJG/bofOC1yfgGQE+Oz6TolH7OdelrKuK0+Do79uv10L3bvr8ihL9LH5z1+E9AFKplGx96VmpqamxfO5c0vL3IZt60MXriFydmBMYncYNGzaoGHMOo+87YsSIQPWjZ42eqoidD3fJkiUqnjZtmooxvy3menblFEbPEx1IzPGLY4JOZWcQNP8ujmFQLxrHTMR2WRH0a4Pm3HaBY/DWW2+pGP15XLsitkM8adIk3zqxTHSxg+boxvzUeD/h/YhrbenSpVaZs2bNCtQGBPc6ePTRR1XsGmcXLm/bK0843uP43MJ7Pgi5eHYj/OWYEEIIIYQQQkjew5djQgghhBBCCCF5D1+OCSGEEEIIIYTkPXSOSd7Q4iX85JZbW53jMnAuXfnjMBcnnh2L2C6e7fxCLlk4jvlrURG2vGgrjzFcD/WBEinlXbRDGY3p6xPgDorYrnVDvT6nMa4dyFTaMquhjZBPGh1kl5oK3ikeTia0A1O9f78gmNsVZ7exSXugO/fqMv6+5p8qroO8lTgvRYXasSwt0Q5OxMP1Vu1pbFDxPsjTLCJyYL/OO4z5pCOQWzAa020qhzzJ0UK9VtIwMSnwe9NwvzQ1Qq5nY+fQtrBOgbzf4p8r2aQhTzEcR7+2qET7ueUV3VRcEPPPW4n3u+XLi0gCnOICyE1eUAB7IRSAxwxlJsFBjrieKXD/pWGtp8B/Rwc66fFMwHzqRVFdR0OzLjMCbSqBnPGp8OE4lUzK80+v7DTn+NJLL5XoO24+5gdFVxYdTDyOzzXM2ypi+3lr165V8e23365i9PvQx+1o5s2bp2Lsc3tAR3jFihUqxrzHmIcVfUZ0KIO6sl7eKub8Re8yaE5gxOWrd4bPvmDBAt8YvWX0Z9HfRRfcxYUXXqjiG264QcVjxowJVJ6I3WaXZ415jtHtnj59uorROUawPrzeK78v5vXOteuNzxC8n7BNs2fPVvHMmTNVvHr1ahV75XZGFxufe9nkOaZzTAghhBBCCCGEdAB8OSaEEEIIIYQQkvfw5ZgQQgghhBBCSN7T/n/kTch7lJC8a5Oiu4ffFqGCjPl9U+BMhmzl2CoDcyHbzjA6yeCJQh0R8BWLCnUvunUtU3F9XZ2Kq/fr/L379ml3Ff1hEZGiIu1EdgF3uxC8zALwD9FtxbzHmCc5FQd3tUHn+qyp0/l1a2prVXwQ8u3u9XCOa2q1D1sPdTQ26TrQP0evOYLzCq5sAq4/cFDXh2I15vNNgt+b9MjdHI3pcU0k9Fqxvh2FJMENtXrc0M9Ng+uaTnnkWm57PIl+MKwtD+ffoEEe8g0t4RzbHC2E/IrlXVVcAvkW7bzg/vsS2HeL7RxHIb86etE4kwbmOmw5+/qhkDbwnMJxDyUhhvrwuQg+mNe36gYcMnxshCHHdgr6XA/3TzhyuFGYS7ujufTSS6W4uNjzGHqm6N9iTtO9e/WztbKyMuv2YR3YpvHjx6sYfUB0+9ALRd/3gQceUPGtt96q4kOwt4JIdjlLRWzHGHHlJUafEdvoap/LIxWxvVB0r3/1q1+p+MUXX1Qx9gGdZXRf8Xxce3PnzlUx5kUeOXKkuHDlh3Z5oriW9u3bp2Jc/9dff72KMR8vuqvoxorY4+LyY3F94/2C/jqCa8OVNxznBfvg5Y67HGMctyg8W+fMmeN7PT4zMMa1jWOI+a8zcctxXHGvBCwTj3f23gr85ZgQQgghhBBCSN7Dl2NCCCGEEEIIIXkPX44JIYQQQgghhOQ9zHNM8oaWXGhz5v6iNc9xUZHO22rlQHXkhY2DY1kELu3hMsBLdkiSMXCKS4u1TxIB7xndVbQea+q0f7tzj/Zt4+DzRuD6hMcTIgrj0Nis86DGwW1FtTSZxDZq37emVjtimDO4vl7n+G2C+hPgwlpPubDtjYYEBt6RT9qaSJxnyzXV5xvMNQvXpyCHcGO9HoPmZu0oJ5O6zyIiERDUsc6wlTNYtxHXmvXnAr1oGBLM+YuedDrl71Uf/tDfU7b/guk6u3bvoeJoofZJQx5r4ciledRn+bq+xYmI17fSDq8ahx1OSOI8CO6lgOPs32e83lr7HuDeCLjWvGxy3Sbvw6lUUra8+O9Oy3PsVw+6sNu3b1cx+r3XXHONihcuXJh1OzFv6iOPPKLie+65R8WYGxZ9QhcuzzQT57ipST+rvPKgZgO6rdjGXPiKmPsYxxF9Xcyvi84l5sDGZyu6q+i2Dhs2TMXPPvusijPJI4s5fNFT7mxcOYm9XHCvnNRBQIcf1xLOA/q8w4cPV7Erj/LRYPny5SrGZwL2Ge+XoDmIce151eHy/oPsW8A8x4QQQgghhBBCSAfAl2NCCCGEEEIIIXkPX44JIYQQQgghhOQ9zHNM8o5IQVgKCg5/L4ReKKRElTDkODWCeV0hX2ja/r6pAFTWolgUYn1NMcRpyD2L+XcPNWqPsw7yGL+9a7eKG+Laz21q0nFdLeZB1rluRUTizc26DQ2QAzgO45SGcUIfEQY+DB4o5kEuiOjz0WErwLyx4ONiHliRI/iubdsAjlikAHLJopwd0m1OptHJhNNhTNAXjkLu6ERSz1t5SanV5uIS9HYc7ig69y6fFo6n0/5+/cGDB1Tc3KjXTSpte9MC/jg2AnNiF8I4FBZpxzgcwXvaEnoBzENuWchwusPT9igjqONr5V/HeYLzraeSwT75HnZ10fMk9KLRm3bzTp7j1LHzHf7ixYsDnZ+JY+zKk7pmzRrf4+hpBsXlA7t8Qy83cNmyZSoeO3ZsO1t3GPR50e3evHmzitEDRT8Y88iiY4kuuYid6xXz06JTfO+991pltAXzRyO4LpDnnntOxZhPd/r06Sr2csOznReXI4w+79ChQ1WMOYfRef7c5z6n4ptuusnZJlwrOPcuVxvXLt7zmEfZBa7VTHIC49yfe+65Ksa/Kbh+MUc23qN4fOrUqSrGecB5GzJkiN3oNng9M3AeguYe72yOnb86hBBCCCGEEELIUYIvx4QQQgghhBBC8h6+HBNCCCGEEEIIyXvoHJO8Ixx+1y02RruwKci7inmMGxu0j4uuR1mpfUvFIpjvE+S7tK6jSWuY0gT+biPkNW6E4/XNOn5l81sq3g4OcjM4yylwWU3ay8UFnzCCPq7uc0FUj0s4rGN0MDGOgPtdWKi9bQO5mZshzzJMq0Q8nMmSYu3adS0rhVi7q1jnq5vf1AWGdQ5tUM/FYH5dK88rfBDT5UHaY8/8ugUFepwsWdTK5ezKPesvjtp+rY5LS7VXlIzj2rPzI7raWFysx6V7pc5rHAPH3/au0f/1F269HOLc42iDdb7ruN/ZNmGHW+6lRGPuZDvPN+LvZpt3JOW0s5zcUl1dLfF39mUYP368Ooa+4ksvvaTiJ554QsWZrBX0+9AvvOCCC1S8cuVKZ5lByDbn8NKlS63P0Md1ge4pOsOYIxXztKI3vW3bNhWj3+jKe9y/f3/rM3SKEXRLr7rqKt/zMcdwUHBtTZs2zff8TNxwzOON/u7kyZNVjJ4z5tNFvxbnafTo0b7xH/7wBxV75WGeMWOGil15vG+//XYVb9q0ScVnnHGGinFtBgV93UxAp9f1HHGtTReYPxrrdznGeH9WVlZa57hccOwDrteguZazhb8cE0IIIYQQQgjJe/hyTAghhBBCCCEk7+HLMSGEEEIIIYSQvIcvx4QQQgghhBBC8h5uyEXyjpBJSuidjbjSKb2pUlGh3twnHIupuDiqNwmIRWFnmqTeYEhEpCmuN1NIw+YKyRRsHgVtcu3pgn1ohk2OQlG9FRRuUJRONqs4AhvghKytpESgSqsP8SZoE5YZ0pt+xWCcoxDjBkC4aVI5bPTUpUTXV1amj3fvViZIMWzylUrozaHe3r1Hxdu2600o4gY2trH2MXNswAUfNMKOW00NjXBcx02Neh5F7A3mysrLVRyBtYBrLWRw3vw3UQqH/b9vLS3V4x4J67W1a8fb1jXpNNQhWKduUyKux6G4pETFIdjczdoIyrVBV+D9oTwuCMFnBsfVY8crdTrMC84bNrlz97Q6XGfgE7w3FcM12NH06NFDyt+5T3CTJRczZ85UMd4vvXv3tq7ZvVtvkHjgwAEV4+ZRs2fP9q0zKEnYBC/o5lVex4NuQoSb8WCZ69atUzFuAIQbPyG44dDIkSODNM+zTZs3b1YxbuQ0bty4wHVkA26MNm/ePBWPGDHCusa1cdqaNWtUjBt4IbgRGm72hpuGYRuRyy67TMUPP/yw7/kiIlOmTFHxggULVOw1Dn7XYxvxmYBrL2gfvcBr1q9fr+KpU6eq+FOf+pSKP/GJT6gYNzrDza6wzfgMcG245bUBF4IbcGWyidfRhL8cE0IIIYQQQgjJe/hyTAghhBBCCCEk7+HLMSGEEEIIIYSQvIfOMck7YrECicUOL338dqggoj8JWWKcvmUam7TfCOqtiNg+bjLl7yAb9HPhODqYDU3aMa5v1A6ZMdrrLC8tVXHvcu0FxePaZT3UqP1gEZEketFpHR9q0G0y4HmWggdaCK53tEC3uSimx72iTF/fp3cPfX1Un58AD7up2e7Tm+AQv7VDx29s10nsw2FdR/ee2qlBVTKMnijUj+5rLXh4DXXaA0Kf0eurzgPVe1VcVKTHuahYzz2WGbJaGQzb50U5VofxhD0vBtY7LA1paGhScQI96zLtWYciOFDYRx1HwGkOh20H3+96nCbPz6zFEGzccZxtNxzrQ+fZv3xrrXn1CT909slZqYiIJD32cThaoO87adIkFW/cuFHFOC/tAX1DF7NmzVIx+ono9hUU6OfYkiVLVLx9+3YV4xigz+iFy9NExxEZM2aMs462oN84Y8aMQNd7gW62y9fNNTgvEyZMUDHOk2t/CC9wHrCP6H7j2sS1gfN89913qxidZnTBH3roIf8GezB+/Hjf4xs2bFAx+vHTp09XMY7rkCFDVIxj0tTU5HscfWJ8hojYc4v3NLJ27VoVu7xqBO8PdMexjf3791cx+vau+1nk2HOMEf5yTAghhBBCCCEk7+HLMSGEEEIIIYSQvIcvx4QQQgghhBBC8p6QyYUUQ8h7gNraWqmoqJBf/upmKS4u9jwnCv6VAbc2ndb+8KGGBhUXFUKuW/HyLP3zpuItiY5xY1x7mQ3N2oVqbNTOyxtvvqGrT2lPugukFD54sFbFO6vrBUkm9LgUF+tCIjCOBSCKlhTq44VRnW+3CPLvxmJYHrjhEX3+rr37Vbxvv+5TY9yWw6sPaE8mDp5yCpwzAXc1FoWBtEDn2N8Jq6upUXHS8qTBbfX4qjMNdZaVV6i4uATuA3SOsVD8c+F0WdGv1+smAWu55sBBQdDJDzt03BispZ6QWzaMa8fqM+Y5xn0I/IVhuzy7jS4/N4TfW+NxaxAcg+JokzXPXo1WtXkdd3vJirS/f95yOJVMyPNrVkhNTU1r/uGOoOXvQ9t6qqqq1DmYDxQdyl279L4EEydOzHk7c01n5Bu9/vrrVXzrrbeqGN3V4cOHqxgdRszTinmSMUYHGXMU33PPPb7tywXojWKMvi36uJb3D7TnP+XRt33hhRd8y8T1jePqAvMkX3rppb71ZcL8+fNVjI49+uroUeP1mzZtUjE6xrivAPq2LnAMvO43XL/oAGMu5oEDB/qe39GgZ435rb3AexqvQcffr0yvZ3e28JdjQgghhBBCCCF5D1+OCSGEEEIIIYTkPXw5JoQQQgghhBCS9zDPMck7GhsaW3Onos9YGNPeqMuBSSS0uxqNpj3Ocnk02iXCNjU1gWOc0C4G5lFGHbFnD+20pOLaIU4ldF7jwhLtdnRP2n0Kg6NYVqbd1ViB9j7T4G5HMFktjgGc3wRuanO97nNtgz6+e+9Bfbxeu+GJhD0nqEBiWtaw1WYN5mPFHNm4lOw8x7rPheBxRwv1mNq+r0ejjL/X3NSo597O663nGY9imy2vGvMcO5zk0lKdv/pwmyBGJxjiMNwAjU3QxzA6xzoOo5/r+ArZ5SxbPu/hT3WdeNM6/EJsozEBnWJsjZUz2+Fl+5bWco5/n6z7IYxtfOcZnQLXvxMZN26citF1RR8Rc/4uXrzY97iIOwcwlnHDDTeoeNWqVb7Xu8p3+YHo/qGHjc6yiO1Efu5zn/OtAx1jBMcdc89i3tWuXbuqeMGCBb4xurfXXHON1Ybf//73KkZXFPPrYj7bn/zkJyrGvMWYbzooOAY4Rl4MGjRIxZgD2OUId+/eXcXV1dUqRkcZPdMBAwaoeOnSpSp25SwWsR1jZPny5c4y2oL3NIL7DKArjvOA9w86zl7g+kWvecWKFSrGeUTwGYJOs2sMXWTiGCN4TyPYxvbUkQ385ZgQQgghhBBCSN7Dl2NCCCGEEEIIIXkPX44JIYQQQgghhOQ9dI5J3pFIJCQSOeyPokMZAe/N5RyjZ5pMet1S/mVgFQlwihvAOY6nteeZAj8X8/GGwfNMh7W7Ggrr40WFOi6oANdV7LzGBRHt4yaT2gmOC+QMToH7mtDHmyDHcF29jmvr9Zhg7mfUFAuixRCLhTXVBnIhO9RxSwF2eKNYobXWYN7CotsTycADNbBWnLkyca2Ay5qC2PK00X21jus+pNBZ9rrfHPegNW6OPOECjn4oBPePI10vOs52jmAIPcccnOPAjrArV3Ow8uzywR3PyKPGMvxd7MzMZY/84p0I+oLoF7o8OMw/6pUXdsKECb5lTJ8+XcXoLaMv6/Jx0RF2uX84Bug/uhxNEXvc0D3FPKmuXMs4juhVoxeK4PnoeHqxcOFC5zl+YO5k7DOOydixY1WMz7k5c+aoeMaMGSp2ueci9vpEXG3A/NUI5hhGMN90e7xrXAvoObtyYGM+6S996UsqRqcfXfKg4D4G6Od7MXfuXBXjM+CBBx7wvR7Pd+WnduUVd4FjLGLfY3iOa1+Bjsi/7gd/OSaEEEIIIYQQkvfw5ZgQQgghhBBCSN7Dl2NCCCGEEEIIIXkPnWOSdySSSYm84wqjB4d6Gzo2GCcSzSqOx22PzuV9YplJcIglDQ4xHE+DQ5mO6zYZdJDBjg3DUyAS0kJurND+Dg3rbABHuDmu62xqgjaBB1pTp3PRxiClcF0d5HqO+yf5tfLGWmTiO+LjMZPEwpnj8tnTacwhrGPMw5z2kKIN5h12uKp28lkYV1w72EJosp3LOQLH4d4QLxy5kx2uNq41zL+LY+RQmO3W2cmfnddjfuiUa21h6FzfGsxLjvNqe9V4fSa+sH+bXAr+ke6vFDxrOhN0ItExRp8XnUl0bTMBnWB07dAxRtAnRLcV+4BtdrmA2Gcv0FPGOrDMoE4jjgl62YWFhSpGX9iVT9erj5nkDW4L5lKeNm2aitF1da0VnBd0itEPxly469evt8rEvMboLaPXjH8vMM9xWVmZb/l4vcsxRj8Xc2yL2I4xgjmAMRfziSeeqGLX3+Wg4L2QiWOM4PpGPvWpT6kY83T/61//UjGub8wFHfR+RDJx+F3nuJ5zHQ1/OSaEEEIIIYQQkvfw5ZgQQgghhBBCSN7Dl2NCCCGEEEIIIXlPyOT6H9gTcoxSW1srFRUVMuP735HCosNOUiSivx8qKNBOJKZhRQ+0GX2uQp3/V8T2C+3j+hZMWXmMITcs5jWGpL6YJzmV1Ocn01BeGnIQJ/RxLE/EdorjcZS1dZ1hyB9d16DHbVd1PbQJ8+3q4i0dNwdY/q0VBvM87Uerw0W1BV3/8jP4xD4lO0/aTlzsqM7p38I68SgQ83RHrDaAg49lwOJBx9haWwb3BNBrNw3fKWN5mYyRa+5wrdnKL7bRWjx2pT7gPKWtB5+7DFcb0Xe3POYjdCGdSsm2VzZITU2NlJeXuxvSTlr+Przxxhut9aB7h46kK18vnr9p0yarXnSEXblng4LO47Zt23yPY/2uXM7twZVHdePGjSrG3Mr4rP7LX/6i4pkzZ6r4hRdeUHEu/rMXHWF0ftHrnDhxooovv/xyFT/88MO+9WGbXTnrr7rqKhXfe++9vud71YG46gyKq0/ojuP9JeLOc7xkyRIVY15x1x4w2eLK5eyVcxh9dMxTnC3Y59NPP13FkyZNUvFvfvMbFT/77LMqxn0SBg8ebNWJ9zzOk9c1mdLy7M7l3wj+ckwIIYQQQgghJO/hyzEhhBBCCCGEkLyHL8eEEEIIIYQQQvIeOsckb2jxEr4z/eutLksspnP6RiB/KPqISfBv0YEpLtKOjIjYeU/hMHrM6RQ6wkk4rp3gZBJidIbBKbNiyFEcj+vrG+M6x7CISArq7FKi+13boMvcX6Od4oZm6JO/nitHFBJbI/Q8/T2iTNQpWwn2n8fgJTrOduXzzQCXI+bO3OzIXev4ftWVRtndIo9+W6HLxfOfN2ebAnrVEspeiI9YeYbxODrK2AYdptPB1oGV+zkDBdneFwDXr25DBDt5BCf/sHP8Qqc5x371uHIQu/L7ZgK6eFgGOsDZ5iR1gX/jMHctOpUitl+b7bgsXrxYxTjukydPVnHv3r1VjI4k4soFnQnoIKM3erTxmqdsPE8R26EfMmSI7/k4j+iWY25obDPOu4jIsGHDVIxz7XKKsz3uIugYtQfMoT1v3ryclh80J7cXrn0EENe+BG2hc0wIIYQQQgghhHQAfDkmhBBCCCGEEJL38OWYEEIIIYQQQkjeE1yIIeQ9zubN2yQaPewaV/bsoY5h7k0DPnBDQ6OKm5t1fMLx/az6XO4oOseWQ2zlOUbHWDvBcfCiE+AgY47iZvB/G5r0+YeamgUx4BPu3q+drWbIvWyj80mjU2k5xBaQQ9VyLnObj9GLwB6z6wTHOnGNiZcL1QnDgK2AEHPdYm5bt78VCpib2SrRBPOig3rX9ulu59iZs9SRIzsdhutda9G59DDPMZanx9CrOLwHrXHFm9wqxDu3c9D5z5Y33nhDysrKRMTO+evlPLalPY4xgnlP0b1DfxfBPMYudw/7iM4z+objx4/3rU/EncMX19uiRYtUfPXVV6v4Ix/5iIrXrVun4rffflvF27dvVzH2ac6cOSr+1a9+5du+TBg6dKjv8WXLlqkY8yLjM+DBBx9UMY474nJvTzrpJOuau+66S8WY3xadZJzroP4suugIzotrzEREPv/5zwdqA/K9733P9/jrr7+uYsyhjX46Hse12BHOscsxztabHjFihO9x3IsBnzkitmPs2r8hl3mQ2wN/OSaEEEIIIYQQkvfw5ZgQQgghhBBCSN7Dl2NCCCGEEEIIIXkPnWOSdySTiVafbc/uPepYGL4usl1AHba4aS00NXv5udpBTGFsOcT6eAL8Xcy1jHmNmyFPcUOTdpJT6HmGtf8bB0ezoKBYkBQ4xynIxVwATrHBzKiOvMa2X+vyDrPLIdwZOL2fwGqld17YbMoMhTIo069FrgvQH7WcY4/rLRcbirDkVrxnYdxdi88aV/TbXfOI3zl7ueBBJxvr9O+TlRrame862Fr0nGeYy7C1kYDrpveutLO1+X79+rXmysS8q6NHj1Yx+rvonaI35wXm/+zfv7/vcXT30EFGZzlozt7ly5ereNSoUb7nT5gwwfkZtnH9+vUqrqqqUvGBAwdU3LVrV982oBeK4Jigo4kxtkdEZNy4cSrGnL2ufNOXXnqpirHNF198sYpxzA4ePKhi9HGvvfZa3/oLCwutz9AhRmfeyydvy913361izDeNz7nnn39exTgvOO641vFeELFdbLxnH3jgARVjn9BzRhcWx3327NkqXr16tdWmtuAzIxOwDbj+ce7xmYH+Lo4Bgnm+EdczBNdqJs8c1/4Mrv0dOhr+ckwIIYQQQgghJO/hyzEhhBBCCCGEkLyHL8eEEEIIIYQQQvKekDka8h0hR4Ha2lqpqKiQ6752tRQWxkQkgxzERvu7aXRtMSdx0s5xik6x5Rg7ykiAz4HXFxVqvyMW077vjh3aq65r1F70cf2OVzEoyp5+IeY5Ro86jXlZU3A8hZ50QsXosOC4GwPjjGKi5S9mkE83oAfa0Y9OV/nBvdVcEMxJdnnW1nFP5zi7NjhzKVu+u6t+1/n4DLDnKaj3bHnOQU1c51ryPz2TpebaJwD74LKJW27hVCopmzf8S2pqalpd4I6g5e9D23rwOYSenOv40cCV1xhBpxL9xqDlidiuNbqlCDqW6Ja6vOegYD5f9Ky9XHHXswy9Zcwfjc4yep44D+g04xgMHz5cxThmmF93zJgxcrTBNuH9g2N2NEAnGduEawXHFfuE8+LKh50JK1asUDG2EdcWutsu8Hp0iNGzxrWJ97OI+7mCx4M8W72e3dnCX44JIYQQQgghhOQ9fDkmhBBCCCGEEJL38OWYEEIIIYQQQkjec/QFGUI6mebm5lZfKI3pd41/DuI0XIBeRApyEouIJFN4DTjFkLcY/Vv8DuvEATqnXZfSUjgf8hwfqteHQ7r+Q7U1Kt5fq53kdAYJdG3b0F9iDGrr2v6tv5OJflgIcs96+bpWbljLHc0OlyPsdIwDnt8R2OPqf74z7bE15p5nOdvlRwi/A7b64N8nyyB2+reOPMgeWL6uI++31QRH7mc7F7N/J0LtkI5D0Iiwy+W2fHMs7wjXdSIu7w1jl6uXCzBHMOYDdfmHrjZt3rxZxdjHTJxjVx3YJnRR8Tj6txMnTlTxhg0bfOsfMmSIihctWuTbPq88x3gPobfsKnPGjBm+MXrZmL/X5ePivOD5mJNYxM7BO3XqVBWPHDlSxdjmdevWqXjTpk0qxrXpaiPm70UP1cs7HTFihPVZNrhyk6NjvGbNGhXjmKFjvHTpUhXjPHuBzyH0zV15wIPuG4DjjD68y5t25U0Wyc4x7gz4yzEhhBBCCCGEkLyHL8eEEEIIIYQQQvIevhwTQgghhBBCCMl76ByTvKOhMS7J1GF/yIBDbOXrTfnnGE4kwCdO2Z5qcxwcYMgzXBCNqjgCsl71nt0qPnPIABWXFev6XnjxdR2/vEXFZw89Vbc5rb8j23tA+yKeuWddOUrB1HTlt3Xhvt7fsbS0T4/qrY+gjnDANqOfbrUJtWxH/dZhiDNyMx0qqe3H4rg6CnRV73DH2+McO3MnO9ZC0HTR1tqzQvygHfmo0YO2nHp9ujWujvVujRnW73CevebEysUMCzyN9naGzjw+ozsTdFfRxx08eLCK0bXLJMcpunWYIxTdPMxZir6uq3zsA3qe6J2ir4h4HXc5xzgu6FCi44h9wD4HzR3rymWL3qhXnS4HeMmSJSqeM2eOitGbRq8a8yZPmDBBxejaYnswF+7kyZN92+vVBq98tX5tQJe1f3+9PwqWh23EcUdX3Atcz1gnuqzYRnSGce3iuOL5LrDP2CfcQ0DEvsexTa6cwXh+JvsEtAXvN6zP5WV7OdAuhxifnUHbnGv4yzEhhBBCCCGEkLyHL8eEEEIIIYQQQvIevhwTQgghhBBCCMl7+HJMCCGEEEIIISTvCRl7hxRC3pfU1tZKRUWFfHbcJRJ9ZxMse0Mu2HArmYZYH29sSug4rjd/EBE51KA34Kqvb1Bxt3K98UAsAm2Ix1V80kkDVVxaVKjil1/dpuL9B2tVXF7RXcXpkN4oIZnR/jf4vRpuigRHs3zKuB5Trj2PDG4WlMFGUv5bfnl/4tcm16ZgrhaF2nE99jNs7/qlz7c2r/KfV6u+o/DnxLXBVtBNxI7Kn0Tnpl3+G3LZ95///eksDzbTws3jMtmQy77IsXGaVcXhT1KppLz6/D+lpqZGysvLrXpzRcvfh+rq6tZ6cBMZ3PgGj+NGOLiJE24WlAs2bdqkYtcmRrgZFm44hBvhYB9wsyyvzXcQ1wZBWCYed42zC9yUCfuExzEWyWxzqLa4Nm9zgfOEmzQhQdem1zVI0E2RcKMmLB/Lq6ysVLFr0yYvgo6TC9wgy7U51rEAbmYVtI2u6/F+cM0T3s8i7udE0Dra0vLszuXfCP5yTAghhBBCCCEk7+HLMSGEEEIIIYSQvIcvx4QQQgghhBBC8p7g/8CfkPc49Q1NEo0e9huSKW26xRNauG0Gx7ihUfvDjU06TttynoRCERVHY9oRrqmtV3E4pNtQ8I4f3cLGV3eo2HZZdRuihdrzaU6Bb6ibJ6GwW2a1nUd/Q9dYwqyDNIrPLk/UVSD4jsFac4QWOC1hfTY2MuCQBFRnD58CHcVRdX07ivOMnijGVv0Oh9l1vnebAvq3ln7r3+ugznEu+iQmI9H/3dOd90MKPoATHPcv+sOZjYi/Y4yLMdO11NkOeEFBwRF9N3Tx0NVD0MH0co737dunYvQwsYw+ffqoOKgLiw4llo9eKLYZ40z8QvQ4hw8frmKX84htQs/U5QxjfehpjxkzRnINztPSpUtVPH78eN82BXVng/rB7b3GD+yzC5x3lzft1V5ca6614HLBsU6cF+wj3r/YHjw/E5cWxwWvCergu/YJcF0f1AXPZB8CVx3ZOMi5gL8cE0IIIYQQQgjJe/hyTAghhBBCCCEk7+HLMSGEEEIIIYSQvId5jkne0JILbdi5IyXyjr+AeYzjEKfT4ExC7M5P6pH/M6DHaV2PLp8zxy+err8Ts12/TLxPuMLDtfYt0VWl87FkXaAinLfOwKl1uq535XJ21eexFl2etL22/Nvkds39cTnKruNeWF6zY21YoXVLZ+dRZ3I3pdEJduQAdnQhgzqD3Q/uMfDK+h3sOeJ06EPv5jne8p/1nZbn2K8e9BXRv21PDlRXLlh0gtFJdvm6QV09l+OcSZ5j9AXRy8Q8w9jmbHPVIugou8YQcz+3h3Xr1qkY+4TznGvHctu2bSr26hOOC9aJPjuuf2yzy2F2rS1cBzhPXmCbEOx3Z7urLrz2LcBxxWcEjovrGYJ14D3syr/uKh/L8xpj19rANmLs5zEzzzEhhBBCCCGEENIB8OWYEEIIIYQQQkjew5djQgghhBBCCCF5D51jkje0eAknD/2IRCKHnQh79Qfz5mw3zyvPscuj9DcIgzrBtkNptchRvlWi9Yk7R2lQ/xDzqrrcWIc4imdn4JU6nV/XMDmbmFvvMxM/167S4bZa1+f2z0N7ynNdEw77f8frdPodY5CGnNt4Ph7H2Kv9aYPnOPIcB1vurb5ua2jtEeDwpl1ry7HHQCZtsr+b9x6Dw87xs53mHK9du7bVj8u1+4qurYjt+7m8zPci2G+X45iJ15wNLk87F2CfcV6xT5hvtzM42rlkjwauucfj6DS7cg6jWxs0p7CIO/d5Z6zftnT0/ehFkD7SOSaEEEIIIYQQQjoAvhwTQgghhBBCCMl7+HJMCCGEEEIIISTvoXNM8oZ3neMRrc6x05W1wna4dliD5TxaZ0Ds7wcGrc/lF7o8Va9r3P6rf5/tzLTQRnQcLYnY5TMGx+1lBisvFPYfZ1xbgcv3vCB4Dms/7LUX1Id3+fXB29DRf8KCr3WNlxONXrLrOMaplM6TbOd6xvKDjpnjfu2E/2xoqSOdSsnWjc8dE3mOCSGEHFvQOSaEEEIIIYQQQjoAvhwTQgghhBBCCMl7+HJMCCGEEEIIISTvef8nNSMECIVCbbxBf58QVVe3bZjBGS5NE/1Zl9+Hp2fplbodZNuBtL1KHEerkT5ne2A1Ah1KKM9ykDPxRP1dbGfqV4erjcctjdqR2zkUMJeziFebXb550LXjclmD5dD2UnGz9V2z9WNd1+Px/9/e3cVGUXdxHP9td/tCwW3iGxTaIBiwcmHVNlVKGqICRgxeGUg0ggYSG2MIGjWNGCuJiYlGLlDQm4o3BRtQjBeoEKOFqhfQLHkMNeoDVWmwmmKkC1hxd89zQbaP+2Kns+zOLp3vJ9lkdl7+e+Z0+t+ezn9mEul9RuqjRC/NS3uf/vuT/nMJBoMp752eR5p+zXEikXqNcvrzTTOv485oME22a6adnpmddjw7dALjOXB78T0AAJeBM8cAAAAAAN+jOAYAAAAA+B7DquEbyaGD8fg/hxS6G1btPEAzHwOv06U/pmXCxZnDcx2GJWY+niotB1n22ix1WKUlnIZVTxiCY04yRkk75MTxEV1ZXe5jihzaczi20rkdVp1tHzPzkO9h1WmtX/ajnjLnXfaw6su8zMCxfadh1dn2Kb2NxMTDqjO2d1juNKw6tQ90P6w681FRkuPvmPvDV9KlRzldismbn+Po6GhBPwcAkD/JPjuf3xEUx/CNaDQqSfrvf44UORIAgBvRaFQ1NTUFbV+S6uvrC/YZAIDCyOd3RMAK/e9YoEQkEgmdPn1aV111leOZFwBA8ZmZotGoZs+eneXGf/nD9wMAXHkK8R1BcQwAAAAA8D1uyAUAAAAA8D2KYwAAAACA71EcAwAAAAB8j+IYAAAAAOB7FMcAAAAAAN+jOAYAAAAA+F6o2AEAAAAU29jYmC5evFjsMAAALlRUVKiqqipv7VEcAwAAXxsbG9O8efM0PDxc7FAAAC7MmjVLg4ODeSuQA2ZmeWkJAADgCjQ6OqqamhqdOnVK1dXVisVikqRYLKZYLKZ4PJ7yPn06Ho9nLJtom39blj5/Mu0lP9tNe07bTLa9y4khkUi4/jkBQDZnz55VOBzOS1ucOQYAAJAUDoezFsf/VviVynrBYFCSFAwGU6aT65WVlY2/ktsFAgFJUiAQyDo9ETNT8txKcjrZ9j8/p6ysbLwITrY9mfYBoFi4IRcAAAAAwPcojgEAAAAAvkdxDAAAAADwPYpjAAAAAIDvURwDAAAAAHyP4hgAAAAA4HsUxwAAAAAA36M4BgAAAAD4HsUxAAAAAMD3KI4BAAAAAL5HcQwAAAAA8D2KYwAAAACA71EcAwAAAAB8j+IYAAAAAOB7oWIHAAAAUApGR0cVi8UUi8UkaXw6Ho+nvE+fjsfjGcsm2ubflqXPn0x7yc92057TNk7txePxlOlEIqFEIiFJGdNmJkkys/EXAJQqimMAAOBrZqYZM2aovr6+2KEAAFyYMWNGXv/pRnEMAAB8LRAI6Ny5czp16pTC4XCxwylZo6Ojqq+vJ08TIEfOyJEzcjQ5yTwFAoG8tUlxDAAAICkcDvOH6CSQJ2fkyBk5ckaOvMcNuQAAAAAAvkdxDAAAAADwPYpjAADga5WVlers7FRlZWWxQylp5MkZOXJGjpyRo8kpRJ4Cxj31AQAAAAA+x5ljAAAAAIDvURwDAAAAAHyP4hgAAAAA4HsUxwAAAAAA36M4BgAAU96OHTs0b948VVVVqampSYcPH55w/d7eXjU1Namqqkrz58/X22+/7VGkxeMmRx988IGWL1+u6667TuFwWIsXL9ann37qYbTF4/ZYSvryyy8VCoV06623FjbAEuA2R3/99Zc2b96suXPnqrKyUjfeeKPeeecdj6ItDrc56u7uVmNjo6qrq1VbW6vHHntMZ86c8Sha7x06dEirVq3S7NmzFQgE9OGHHzpuk49+m+IYAABMaT09Pdq0aZM2b96sSCSitrY23Xffffr555+zrj84OKiVK1eqra1NkUhEzz//vDZu3Kj333/f48i94zZHhw4d0vLly7V//3719/frrrvu0qpVqxSJRDyO3Ftu85R09uxZrV27Vvfcc49HkRZPLjlavXq1PvvsM3V1dem7777T7t271dDQ4GHU3nKbo76+Pq1du1br16/X8ePHtWfPHh05ckQbNmzwOHLvnD9/Xo2NjXrzzTcntX7e+m0DAACYwlpaWqy9vT1lXkNDg3V0dGRd/7nnnrOGhoaUeY8//rjdeeedBYux2NzmKJtFixbZli1b8h1aSck1T2vWrLEXXnjBOjs7rbGxsYARFp/bHH388cdWU1NjZ86c8SK8kuA2R6+99prNnz8/Zd62bdusrq6uYDGWEkm2b9++CdfJV7/NmWMAADBlXbx4Uf39/VqxYkXK/BUrVuirr77Kus3XX3+dsf69996ro0eP6u+//y5YrMWSS47SJRIJRaNRXX311YUIsSTkmqedO3fqxIkT6uzsLHSIRZdLjj766CM1Nzfr1Vdf1Zw5c7Rw4UI988wz+vPPP70I2XO55Ki1tVVDQ0Pav3+/zEy//vqr9u7dq/vvv9+LkK8I+eq3Q/kODAAAoFSMjIwoHo9r5syZKfNnzpyp4eHhrNsMDw9nXT8Wi2lkZES1tbUFi7cYcslRutdff13nz5/X6tWrCxFiScglTz/88IM6Ojp0+PBhhUJT/8/uXHJ08uRJ9fX1qaqqSvv27dPIyIieeOIJ/f7771PyuuNcctTa2qru7m6tWbNGY2NjisVieuCBB/TGG294EfIVIV/9NmeOAQDAlBcIBFLem1nGPKf1s82fStzmKGn37t166aWX1NPTo+uvv75Q4ZWMyeYpHo/roYce0pYtW7Rw4UKvwisJbo6lRCKhQCCg7u5utbS0aOXKldq6davefffdKXv2WHKXo4GBAW3cuFEvvvii+vv79cknn2hwcFDt7e1ehHrFyEe/PfX/hQUAAHzr2muvVTAYzDgj89tvv2WcZUiaNWtW1vVDoZCuueaagsVaLLnkKKmnp0fr16/Xnj17tGzZskKGWXRu8xSNRnX06FFFIhE9+eSTki4VgmamUCikAwcO6O677/Ykdq/kcizV1tZqzpw5qqmpGZ938803y8w0NDSkBQsWFDRmr+WSo1deeUVLlizRs88+K0m65ZZbNH36dLW1tenll1+ecqNZcpGvfpszxwAAYMqqqKhQU1OTDh48mDL/4MGDam1tzbrN4sWLM9Y/cOCAmpubVV5eXrBYiyWXHEmXzhg/+uij2rVrly+ufXSbp3A4rG+++UbHjh0bf7W3t+umm27SsWPHdMcdd3gVumdyOZaWLFmi06dP69y5c+Pzvv/+e5WVlamurq6g8RZDLjm6cOGCyspSy7ZgMCjp/2dH/S5v/bar23cBAABcYd577z0rLy+3rq4uGxgYsE2bNtn06dPtxx9/NDOzjo4Oe+SRR8bXP3nypFVXV9tTTz1lAwMD1tXVZeXl5bZ3795i7ULBuc3Rrl27LBQK2fbt2+2XX34Zf/3xxx/F2gVPuM1TOj/crdptjqLRqNXV1dmDDz5ox48ft97eXluwYIFt2LChWLtQcG5ztHPnTguFQrZjxw47ceKE9fX1WXNzs7W0tBRrFwouGo1aJBKxSCRikmzr1q0WiUTsp59+MrPC9dsUxwAAYMrbvn27zZ071yoqKuz222+33t7e8WXr1q2zpUuXpqz/xRdf2G233WYVFRV2ww032FtvveVxxN5zk6OlS5eapIzXunXrvA/cY26PpX/yQ3Fs5j5H3377rS1btsymTZtmdXV19vTTT9uFCxc8jtpbbnO0bds2W7RokU2bNs1qa2vt4YcftqGhIY+j9s7nn38+YR9TqH47YMa5eAAAAACAv3HNMQAAAADA9yiOAQAAAAC+R3EMAAAAAPA9imMAAAAAgO9RHAMAAAAAfI/iGAAAAADgexTHAAAAAADfozgGAAAAAPgexTEAAAAAwPcojgEAAAAAvkdxDAAAAADwPYpjAAAAAIDv/Q/PPzEWRYGRMgAAAABJRU5ErkJggg==\n"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Average multiple categories"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "@patch\ndef _get_attributions(self:CaptumInterpretation,enc_data,metric,n_steps,nt_type,baseline_type,strides,sliding_window_shapes):\n # Get Baseline\n baseline=self.get_baseline_img(enc_data[0],baseline_type)\n supported_metrics ={}\n if metric == 'IG':\n attribute = torch.zeros(enc_data[0].shape, device=self.dls.device)\n self._int_grads = self._int_grads if hasattr(self,'_int_grads') else IntegratedGradients(self.model)\n c = 0\n #for k in range(len(enc_data[1])): ## Average all classes\n for k in torch.argwhere(enc_data[1]==1).tolist(): ## Average predicted classes\n c+=1\n attribute += self._int_grads.attribute(enc_data[0],baseline, target=k, n_steps=200)\n return attribute/c\n elif metric == 'NT':\n self._int_grads = self._int_grads if hasattr(self,'_int_grads') else IntegratedGradients(self.model)\n self._noise_tunnel= self._noise_tunnel if hasattr(self,'_noise_tunnel') else NoiseTunnel(self._int_grads)\n return self._noise_tunnel.attribute(enc_data[0].to(self.dls.device), nt_samples=1, nt_type=nt_type, target=enc_data[1])\n elif metric == 'Occl':\n self._occlusion = self._occlusion if hasattr(self,'_occlusion') else Occlusion(self.model)\n return self._occlusion.attribute(enc_data[0].to(self.dls.device),\n strides = strides,\n target=enc_data[1],\n sliding_window_shapes=sliding_window_shapes,\n baselines=baseline)",
"execution_count": 14,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "captum=CaptumInterpretation(learn)",
"execution_count": 15,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "idx=randint(0,len(dls.valid.items))\nf = dls.valid.items.iloc[[idx]]\ncaptum.visualize(f)",
"execution_count": 16,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 800x600 with 4 Axes>",
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA8cAAAHcCAYAAAD7gdgrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAADV3klEQVR4nOy9eZgkVZm2/0bkvtRe3V290d10A80qKqOgoK3ijg4DqOiHAzpuzOeMjsqM28/Ba3BUdEY/x11RHFFUFFFBcEFQYRqlVRRks2l6X2vJqsp9O78/qruG58mkorKWXsjnvi4ufSsjI06ccyKqI7Pu83jOOWdCCCGEEEIIIUQb4x/qBgghhBBCCCGEEIcaPRwLIYQQQgghhGh79HAshBBCCCGEEKLt0cOxEEIIIYQQQoi2Rw/HQgghhBBCCCHaHj0cCyGEEEIIIYRoe/RwLIQQQgghhBCi7dHDsRBCCCGEEEKItkcPx0IIIYQQQggh2p4ZPRzfdddd9opXvMIWL15s0WjUBgYG7IILLrD169e3tJ/LL7/cPM+bSRPs9ttvN8/z7Pbbb5/R+6fLunXrbN26ddPa7qSTTprXthyJPPLIIxaLxWz9+vWTYzad/45E1q1bZ57n2dFHH23OuYbXf/WrX02e39VXXz2jY6xcudIuueSSyXrnzp12+eWX2z333NOw7eNdX/V63b7+9a/b2Wefbf39/RaJRGzhwoV2zjnn2I9+9COr1+stt+vf//3f7YYbbmj5fUcKz3ve8+wtb3nLZH2gbz3Ps3Q63bD973//ezv77LMtnU5bd3e3nXfeebZp06Y5b1elUrEPfvCDtnLlSovFYrZ27Vr7r//6rzk/jpnOaTbonGaHzmnmvP/977dzzjnHli5dap7nwe+PuUbjJIR4QuBa5FOf+pTzfd+dfvrp7r//+7/dL3/5S/f1r3/dnX766c73ffdf//Vf097Xtm3b3Pr161ttgnPOudHRUbd+/Xo3Ojo6o/dPl2c/+9nu2c9+9rS2O/HEE+e1LUci5557rnvpS1/qnPvfMXvsfwMDA+6Zz3xmw8+PRJ797Ge7jo4OZ2bu5z//ecPrF198sevs7HRm5r761a/O6BgrVqxwF1988WR99913P+7+ml1fhULBvfCFL3Se57lXv/rV7jvf+Y771a9+5b73ve+5N77xjS4Wi7kbbrih5XalUilo1xOJG264wcViMbd9+/bJn/3rv/6rMzO3fv1699vf/ha2f+CBB1xHR4c766yz3E033eS+973vuRNPPNEtWbLE7d27d07b9oY3vMHFYjF35ZVXuttuu829+93vdp7nuQ996ENzehyd0+zQOc0cndPsSCaT7vTTT3dvectbXDQanbf7tMZJCPFEoaWH4zvuuMP5vu/OOeccV6lU4LVKpeLOOecc5/u+u+OOO6bcTy6Xa72lhwg9HM+c+++/35mZu+WWWx53mxUrVkw+PB+pHJjPB+bA6aef7l7zmtfANmNjYy6ZTLo3vvGNB+3huBmXXnqpMzP3ta99renrDz/8sPvjH//YcruOlIfjmdx7nva0p7kLL7wQfnbg4bgZr3jFK1x/fz98cLd582YXiUTcP//zP7d8/Mfjvvvuc57nuX//93+Hn7/xjW90iUTCDQ0NzdmxdE4zR+c0O3ROs6NWq03+//m8T2uchBBPFFp6OH7pS1/qQqGQ27ZtW9PXt27d6kKhkDvnnHMmf3bgH5G/+93v3Pnnn++6u7vdwMAAvPZYisWie8c73uEWLVrkEomEO+uss9yGDRsaHgpuu+02Z2butttum/zZxRdf7FKplPvLX/7iXvziF7tUKuWWLVvm3vGOd7hisQjHufzyy93TnvY019PT4zo6OtyTn/xk9+Uvf9nV63XYbjYPx2bm/u///b/uK1/5ijv22GNdPB53T33qU9369etdvV53V155pVu5cqVLpVLuOc95jvvLX/4C7//pT3/qXv7yl7ulS5e6WCzmVq9e7d70pje5ffv2NRz/hhtucCeffLKLRqNu1apV7pOf/GTT/q3X6+4zn/mMe9KTnuTi8bjr7u52559/vnvkkUcCz7FV/uEf/sENDAzAL2em2cPxrl273Jve9Ca3dOlSF4lE3MqVK93ll18OH8g8+uijzszcxz72Mfcf//Efk/14+umnN3xb+sgjj7hXvepVbvHixS4ajbqFCxe65z73ue4Pf/jD5Da1Ws199KMfdccdd5yLRqNuwYIF7rWvfW3DXD8wzr/85S/dGWec4RKJhHvVq14Fr33xi1908XjcjYyMTL7vi1/8oksmk+7WW29teJi9+OKL3YoVKxr6ptn4PfY6OHAN8H//+q//2vT9u3btcpFIxL3whS9sOhZMoVBw73jHO9yTnvQk19nZ6Xp6etzpp5/e8M1yszY89pqZzng6N/FN9/nnn+/S6bTr6upyr3nNa9xvf/vbpg//P/jBD9zpp5/uEomES6fT7uyzz3b/8z//07T/+N7z3//9387MGrZ3zrkPfvCDLhwOux07djjnnPv973/vzMzddNNNTffNVCoVl0gk3Jvf/OaG117wghe4Y445prGjZ8gVV1zhzMzt2rULfv4///M/zszcN77xjTk5js5pduicZo7OaW6Zr4djjZMQ4onEtJ3jWq1mt912m5122mm2bNmyptssX77cnvrUp9ovfvELq9Vq8Np5551na9asseuuu84+//nPP+5xXve619knP/lJe93rXmc/+MEP7Pzzz7e/+Zu/sUwmM612VioVe/nLX27Pe97z7Ac/+IG9/vWvt0984hP20Y9+FLbbvHmzvfnNb7bvfOc7dv3119t5551n//AP/2D/9m//Nq3jTJcbb7zRvvzlL9tHPvIRu/baa218fNxe+tKX2jvf+U6788477dOf/rR98YtftPvvv9/OP/98cFUfeeQRO+OMM+xzn/uc/fSnP7UPfOAD9pvf/MbOPPNMq1Qqk9vdcsstdt5551lfX599+9vftiuvvNKuvfZa+9rXvtbQnje/+c329re/3c4++2y74YYb7LOf/az9+c9/tmc84xm2Z8+eOT33m266yZ71rGeZ709fbd+9e7c97WlPs5/85Cf2gQ98wG6++Wb7u7/7O/vwhz9sb3zjGxu2/8xnPmM/+9nP7JOf/KR94xvfsFwuZy95yUtsdHR0cpuXvOQl9rvf/c6uvPJK+9nPfmaf+9zn7MlPfjLMqUsvvdT+5V/+xZ7//OfbD3/4Q/u3f/s3u+WWW+wZz3iGDQ4OwjF37dplF110kb3mNa+xH//4x/b3f//38PqFF15ooVDIrr322smfXXXVVXbBBRdYZ2fntPsiiKc85Sn21a9+1cwmvLL169fb+vXr7Q1veEPT7W+77TarVCp27rnnTmv/pVLJhoeH7V3vepfdcMMNdu2119qZZ55p5513nv33f//35Hbr16+3RCJhL3nJSybb8NnPftbMpj+euVzOnvOc59htt91mH/3oR+073/mOLVq0yF71qlc1tOub3/ym/fVf/7V1dnbatddea1dddZWNjIzYunXr7I477mjYnu89r3rVq2xgYMA+85nPwHbVatW+8IUv2N/8zd/YkiVLzGzi+g2FQvasZz1rWn32yCOPWKFQsFNOOaXhtVNOOcU2btxoxWJxWvsK4r777rMFCxbYwMBAw3EOvD4X6Jxmh85p5uicjgw0TkKIJxLh6W44ODho+XzeVq1aNeV2q1atst/+9rc2NDRkCxcunPz5xRdfbB/84AenfO/9999v1157rf3Lv/yLffjDHzYzs+c///m2aNEie/WrXz2tdpbLZfvgBz9or3jFK8xsYiGdDRs22De/+U37wAc+MLndgYcKs4kFitatW2fOOft//+//2f/3//1/c7YoVKlUsp/+9KeWSqXMzMzzPDv33HPttttus9///veTx9m3b5+9/e1vt/vuu89OPvlkMzNYAMg5Z894xjNs3bp1tmLFCrv55pvt5S9/uZmZfeADH7ClS5faT37yE4tGo2Zm9qIXvchWrlwJbbnrrrvsS1/6kv3Hf/yHveMd75j8+VlnnWXHHnus/ed//mfDhwgzZe/evbZp0yZ705ve1NL7Lr/8chsZGbE///nPdtRRR5nZxBgmEgl717veZZdddpmdcMIJk9t3dHRMPsCYmS1ZssSe9rSn2c0332wXXnihDQ0N2UMPPWSf/OQn7aKLLpp833nnnTf5/x988EH74he/aH//938Pi3o8+clPtqc//en2iU98wj70oQ9N/nx4eNiuu+46e+5zn9v0HDo6OuyCCy6wr3zlK3bppZfa/fffb7/5zW/mrG8P0NnZObkI3OrVq+3000+fcvutW7eamQVewwfo6uqC66RWq9nznvc8GxkZsU9+8pP2t3/7t2Zmdvrpp5vv+7ZgwYKGNkx3PL/2ta/Zxo0b7eabb7YXvehFZmb2ghe8wPL5vH3hC1+Y3F+9XrfLLrvMTj75ZLv55psnP3h5yUteYqtXr7Z/+Zd/sTvvvBPa0Oze8+Y3v9k+/OEP23/+539O3qeuv/5627lzp731rW+d3G79+vV2zDHHNF10qxlDQ0NmZtbb29vwWm9vrznnbGRkxBYvXjyt/QUdq9lxUqmURaPRybbMxXHMdE6zOZbOaebHMdM5He5onIQQTyTmPMrpwDef/HB5/vnnB773l7/8pZmZvfKVr4SfX3DBBRYOT+853vM8e9nLXgY/O+WUU2zLli3ws1/84hd29tlnW1dXl4VCIYtEIvaBD3zAhoaGbO/evdM61nR4znOeM/lgbGZ2/PHHm5nZi1/8YuijAz9/bDv37t1rb3nLW2z58uUWDoctEonYihUrzMzsgQceMLOJb9w2bNhg55577uSDsZlZOp1u6Icbb7zRPM+ziy66yKrV6uR/AwMD9qQnPSlw5e/HvqdarTZdkfkAO3fuNDODD0imw4033mjPec5zbMmSJXCsF7/4xWb2v3PkAC996UsnH4zN/vfT4wP92Nvba6tXr7aPfexj9p//+Z/2hz/8oWE15ttuu83MrGEVz6c97Wl2/PHH26233go/7+npedwH4wO8/vWvtw0bNti9995rV111la1evXra3z4eTlx33XX2zGc+09Lp9OQcvOqqqybnXxDTHc9f/vKX1tHRMflgfAD+UOyhhx6ynTt32mtf+1r4i4R0Om3nn3++3XXXXZbP5+E9ze49l156qZmZfelLX5r82ac//Wk7+eSTYZx27tzZ8hw2a7z/Tfe1w/U4B/NYOqcj41g6pyPnWAcLjZMQ4onAtB+O+/v7LZlM2qOPPjrldps3b7ZkMtnwadt0Pl078EndokWL4OfhcNj6+vqm1c5kMmnxeBx+FovF4M9ffvvb39oLXvACM5v4x/Gdd95pd999t73vfe8zM7NCoTCtY00H7ocDD7CP9/MD7azX6/aCF7zArr/+evvnf/5nu/XWW+23v/2t3XXXXdDGkZERc8419JlZYz/u2bNncttIJAL/3XXXXQ1/PvxYNm/e3PAeflB9LAfax2MRxJ49e+xHP/pRw7FOPPFEM7OGNvK8iMVicHzP8+zWW2+1F77whXbllVfaU57yFFuwYIH94z/+o42Pj5vZ/867ZnN0yZIlDZ9ET2cuP+tZz7JjjjnGvvCFL9jXv/51e/3rX3/If5Ee+OY26Bo+wPXXX2+vfOUrbenSpXbNNdfY+vXr7e6777bXv/710/5zsumO59DQ0LTmcNBY1et1GxkZgZ832/bAn2x/4QtfsFqtZn/605/s17/+NXxrbDYxj1qZwwfmY7NvL4aHh83zPOvu7p72/oKO1ew4uVzOyuVy0288ZnocM53TbI6lc5r5ccx0Toc7GichxBOJaf9ZdSgUsuc85zl2yy232Pbt25t6x9u3b7ff/e539uIXvxi+zTOb3idsB25Ge/bssaVLl07+vFqtztmfypiZfetb37JIJGI33ngj/MP3cMppve++++yPf/yjXX311XbxxRdP/nzjxo2wXU9Pj3me19QX3r17N9T9/f3meZ79+te/nnyIfCzNfnaAJUuW2N133w0/O+644x53+/7+fjOb+CXSCv39/XbKKafAnzFzO1plxYoVdtVVV5mZ2cMPP2zf+c537PLLL7dyuWyf//znJ+fdrl27Gub1zp07J8/lANN9yH3d615n73//+83zPBhDJh6PW6lUavj5VB9WzITnPOc5FolE7IYbboA/2X88rrnmGlu1apV9+9vfhnNu1tbHY7rj2dfXZ7/97W8bXuc5/NixYnbu3Gm+71tPTw/8/PHG621ve5t9/etftx/84Ad2yy23WHd3t/2f//N/GtrfyhxevXq1JRIJu/feexteu/fee23NmjUtf2D0eJx88sn2rW99y3bv3g3+3YFjz1Xuus5pduicZo7O6chA4ySEeCLR0p9Vv+c97zHnnP393/99w4JbtVrNLr30UnPO2Xve854ZNebAnzN++9vfhp9/97vftWq1OqN9NsPzPAuHw/AAXygU7Otf//qcHWO2HPgHPT+wPta/NJvwbE477TS74YYbrFwuT/48m83ajTfeCNuec8455pyzHTt22Gmnndbw3wHXuRnRaLRh+46OjsfdfsWKFZZIJOyRRx6Z9jkfaON9991nq1evbtrGmTwcP5Zjjz3W3v/+99vJJ59sv//9783MJv9E+pprroFt7777bnvggQfsec973oyOdfHFF9vLXvYyu+yyy+DDHmblypW2d+9e+ICjXC7bT37yk8Bj8DflUzEwMGBveMMb7Cc/+QksqPVYHnnkEfvTn/5kZhNzMBqNwsPl7t277Qc/+EHTdjRrw3TH89nPfraNj4/bzTffDO//1re+BfVxxx1nS5cutW9+85vwZ/25XM6+973v2RlnnGHJZDKwL8zMnvrUp9oznvEM++hHP2rf+MY37JJLLgEFwsxs7dq1tmnTpmntz2zir1xe9rKX2fXXXz/5lwlmE773bbfdBq77bPnrv/5r8zyvYeG9q6++2hKJRMOfqM8UndPs0DnNHJ3TkYHGSQjxhKLV5a0/9alPOd/33emnn+6uueYa96tf/cpdc8017owzznC+77tPfepTsP2ByJNm8UPN4lBe/epXu1Ao5N7znve4n/3sZ+6Tn/ykW758uevq6nKve93rJrebKsop6DgH4nQuuOAC99Of/tRde+217qlPfao75phjnJm5Rx99dHLbuYhyeiyPjSB6LAfO57rrrnPOOVcul93q1avdihUr3De/+U13yy23uP/7f/+vO/bYYyGuxznnbr75Zuf7vlu3bp37/ve/77773e+6pz/96W7FihXO8zw4zpve9CaXTCbdZZdd5n70ox+5X/ziF+4b3/iGu/TSS91nP/vZwPNshec+97nujDPOmHIbjnLauXOnW7FihVu7dq377Gc/62699VZ30003uc985jPupS996WS00uP1o3MO+uePf/yjO+uss9ynPvUpd/PNN7tbb73Vve9973O+77v3vve9k+9505ve5DzPc29/+9vdT37yE/eFL3zBLVy40C1fvtwNDg5ObjdVnvV0sq6b5RJv2rTJRSIRt27dOnfTTTe5733ve+7Zz362W7Vq1ZRRTs5N5PYmEgn3zGc+0912223u7rvvnowhanZ9FQoF98IXvtB5nude85rXuOuuu8796le/ctdff7279NJLXTwen4xq+spXvuLMzF166aXu1ltvdVdffbVbvXr15HXC575w4UL3wx/+0N19993uwQcfdM5Nfzyz2axbs2aN6+3tdZ/97GfdT3/6U/dP//RPbuXKlQ25zN/4xjecmbmXvOQl7gc/+IH7zne+4/7qr/7KRaNR9+tf/3pyu6nuPQf49re/7czMeZ7nHn744YbXD8Q+PfTQQ/DzqXKOH3jgAZdOp92znvUs9+Mf/9hdf/317qSTTnJLlixxe/fuhW1DoZB77nOf23Tfj723PR5veMMbXCwWcx/72Mfc7bff7t773vc6z/Pchz70Idjugx/8oAuFQu7222+HnxvFbj0eOiedk87pyDyn22+/3V133XXuuuuuc/F43K1bt26yfuyxjqRzeiKOkxDi8KHlh2PnnFu/fr274IIL3KJFi1w4HHYLFy505513XtPc0FYfjg/kHC9cuNDF4/HJ3Nquri73T//0T5Pbzebh2LmJf/gfd9xxLhaLuaOPPtp9+MMfdlddddVh83DsnHP333+/e/7zn+86OjpcT0+Pe8UrXuG2bt3a8HDsnHPf//73J3OOjzrqKPeRj3zE/eM//qPr6elpaOtXvvIV9/SnP92lUimXSCTc6tWr3d/+7d+6DRs2BJ5nK1x11VUuFAq5nTt3Pu42zXKO9+3b5/7xH//RrVq1ykUiEdfb2+ue+tSnuve9730um80656b/cLxnzx53ySWXuLVr17pUKuXS6bQ75ZRT3Cc+8QlXrVYn33Mg5/jYY491kUjE9ff3u4suuuhxc46bMdOHY+ec+/GPf+xOPfVUl0gk3NFHH+0+/elPB+YcH+Daa691a9eudZFIZMqc4wNUq1X3ta99zT33uc91vb29LhwOuwULFrgXv/jF7pvf/CbkUn/kIx9xK1eudLFYzB1//PHuS1/6UtP93nPPPe6Zz3ymSyaTDf/wmM54OjeRk37eeee5dDrtOjo63Pnnn+9+/OMfOzNzP/jBD+B4N9xwg3v605/u4vG4S6VS7nnPe5678847YZvpPByXSiUXi8Xci170oqavj46OunQ67a688sqm+348NmzY4J73vOe5ZDLpOjs73bnnnus2btzYsF2zf6S9853vdJ7nuQceeOBx93+Acrns/vVf/9UdddRRLhqNumOPPbbhA8rHtvex98vx8XFnZu7CCy8MPI7OSeekczoyz+nZz3520yx6bv+RdE5PxHESQhw+zOjh+GBz5513zmm4eztQLpfdCSec4J7//OcfsjYUCgW3YMEC95GPfOSQtUEc2XzoQx9ynuc1fEgxV/zwhz90ZuZuuummx93mrW99qzv++ONdvV6f/NmBf3RVKhX4kGUu+Ku/+it3wQUXzOk+m3HTTTc5z/Pcn/70p3k/ls5p5uicZofOaebonGbHwTonIcTc4jk3RR7PIeBnP/uZrV+/3p761KdaIpGwP/7xj/aRj3zEurq67E9/+pMWQHgc/u7v/s6e//zn2+LFi2337t32+c9/3n75y1/aT3/6Uzv77LMPWbs+97nP2eWXX26bNm1q8DmFeCyf/vSnzWzC861UKvaLX/zCPvWpT9mrXvWqx3WkZ8r9999vW7Zssbe97W2WSqUgc5zZs2ePHXvssXbVVVfZBRdcYGYT+c0HspNTqZRls9k5adfY2JgtWLDA7rnnnsl4t/nisssusx07dtg3v/nNeT2Ozml26Jxmjs5pduicZs7BPCchxNxy2D0c/+Y3v7F3vvOddv/999v4+Lj19/fbC1/4Qvvwhz+ssPUpeOUrX2n/8z//Y/v27bNIJGJPecpT7L3vfe+cLU4xU2q1ml155ZV2zjnnTLnglxBf+cpX7BOf+IRt3rzZSqWSHXXUUfaa17zG3v/+90OG91ywbt06u/POO+0pT3mKfe1rX7O1a9dOuf2NN95oIyMj9trXvtbMJlbGPpDlHQqF7MlPfvKctk8IIYQQQhx8DruHYyGEEEIIIYQQ4mDTUpSTEEIIIYQQQgjxREQPx0IIIYQQQhzBXH311eZ5nm3YsAF+fscdd9irX/1qO+qooywWi1kqlbITTzzR3vnOd9qDDz54iForxOGLHo6FEOIw47/+679s7dq1FovFbNWqVfbBD37QKpXKnB9n06ZNdt5551l3d7el02l7/vOfb7///e/n/DhmOqfHcs8995jneZP/ffe735187bWvfa2de+65De95+OGHLRqNztu5CCGeeLz//e+3s846y7Zs2WLvf//77ZZbbrEbbrjBXv/619vPfvYzO/74461Wqx3qZgpxeHEol8oWQgiBXHHFFc7zPPee97zH3Xbbbe7KK6900WjUvfGNb5zT4+zdu9ctWbLEnXjiie573/ueu+mmm9yZZ57pOjo63IMPPjinx9I5Iblczq1fv9595jOfaci337hxowuHw+7WW29teN8ll1zinvWsZ83peQghnhh89atfdWbm7r77buecc9/85jedmbm3vOUtEEV4gHq97j796U/PeRyhEEc6ejgWQojDhMHBQRePx92b3vQm+PmBvOc///nPc3asyy67zEUiEbd58+bJn42Ojrr+/n73yle+cs6Oo3N6fG677baGh2PnnDvnnHOaZtRv2LDBmZm78847Z954IcQTEn44PuGEE1x/f78rFAqHuGVCHFnoz6qFEOIw4ZZbbrFisWive93r4Oeve93rzDlnN9xww5wd6/vf/74997nPtRUrVkz+rLOz08477zz70Y9+ZNVqdU6Oo3Nqnde+9rX285//3B555BH4+VOf+lQ7/vjj7fOf//ys9i+EeGKzc+dOu//+++35z3++xePxQ90cIY4o9HAshBCHCffdd5+ZWUMm+OLFi62/v3/y9dlSKBTskUcesVNOOaXhtVNOOcUKhYJt2rRpTo6lc2qddevWmXPOfvzjHzd97eabbzanFEYhxOOwbds2MzP4oPAAtVrNqtXq5H+6lwiB6OFYCCEOE4aGhiZXE2V6e3ttaGhoTo4zMjJizjnr7e1tepwDbZkLdE6ts3DhQlu6dKndeeedDa895SlPscHBQXvooYdmdQwhRHvS19dnkUhk8r/vfe97h7pJQhxW6OFYCCEOIzzPm9Frh/OxdE6ts3DhQtuxY0fTn5tZ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\n"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
}
],
"metadata": {
"kernelspec": {
"name": "python3",
"display_name": "Python 3 (ipykernel)",
"language": "python"
},
"toc": {
"nav_menu": {},
"number_sections": true,
"sideBar": true,
"skip_h1_title": false,
"base_numbering": 1,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": true,
"toc_window_display": true
},
"language_info": {
"name": "python",
"version": "3.9.13",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"gist": {
"id": "",
"data": {
"description": "coding/tmp_store/[fastai]-Captum-Callback.ipynb",
"public": true
}
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment