{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "name": "Untargeted HopSkipJumpAttack Using CIFAR10", "provenance": [], "collapsed_sections": [], "include_colab_link": true }, "kernelspec": { "name": "python3", "display_name": "Python 3" }, "accelerator": "GPU", "widgets": { "application/vnd.jupyter.widget-state+json": { "4dd687f4ae4143aa98bc49b7d785c4bd": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "state": { "_view_name": "HBoxView", "_dom_classes": [], "_model_name": "HBoxModel", "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.5.0", "box_style": "", "layout": "IPY_MODEL_0bf38487484a45c4aae22105fc9fc99a", "_model_module": "@jupyter-widgets/controls", "children": [ "IPY_MODEL_65f37636c715405bad82ef222d0c2b34", "IPY_MODEL_f3c6c2ea3af542778bdaaf68ea0ecbd3" ] } }, "0bf38487484a45c4aae22105fc9fc99a": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "65f37636c715405bad82ef222d0c2b34": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "state": { "_view_name": "ProgressView", "style": "IPY_MODEL_b6a3ceb66a6a454bb3873b619b745082", "_dom_classes": [], "description": "", "_model_name": "FloatProgressModel", "bar_style": "success", "max": 170498071, "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": 170498071, "_view_count": null, "_view_module_version": "1.5.0", "orientation": "horizontal", "min": 0, "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_c368666d4f5e4c8a8868c9a885a00d63" } }, "f3c6c2ea3af542778bdaaf68ea0ecbd3": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "state": { "_view_name": "HTMLView", "style": "IPY_MODEL_e3981453854c4c07b5172f36a6ef6f84", "_dom_classes": [], "description": "", "_model_name": "HTMLModel", "placeholder": "​", "_view_module": "@jupyter-widgets/controls", "_model_module_version": "1.5.0", "value": " 170499072/? [00:16<00:00, 10491354.72it/s]", "_view_count": null, "_view_module_version": "1.5.0", "description_tooltip": null, "_model_module": "@jupyter-widgets/controls", "layout": "IPY_MODEL_056e19bbfb2f472988a84db4eaa2d3c3" } }, "b6a3ceb66a6a454bb3873b619b745082": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "state": { "_view_name": "StyleView", "_model_name": "ProgressStyleModel", "description_width": "initial", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "bar_color": null, "_model_module": "@jupyter-widgets/controls" } }, "c368666d4f5e4c8a8868c9a885a00d63": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } }, "e3981453854c4c07b5172f36a6ef6f84": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "state": { "_view_name": "StyleView", "_model_name": "DescriptionStyleModel", "description_width": "", "_view_module": "@jupyter-widgets/base", "_model_module_version": "1.5.0", "_view_count": null, "_view_module_version": "1.2.0", "_model_module": "@jupyter-widgets/controls" } }, "056e19bbfb2f472988a84db4eaa2d3c3": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "state": { "_view_name": "LayoutView", "grid_template_rows": null, "right": null, "justify_content": null, "_view_module": "@jupyter-widgets/base", "overflow": null, "_model_module_version": "1.2.0", "_view_count": null, "flex_flow": null, "width": null, "min_width": null, "border": null, "align_items": null, "bottom": null, "_model_module": "@jupyter-widgets/base", "top": null, "grid_column": null, "overflow_y": null, "overflow_x": null, "grid_auto_flow": null, "grid_area": null, "grid_template_columns": null, "flex": null, "_model_name": "LayoutModel", "justify_items": null, "grid_row": null, "max_height": null, "align_content": null, "visibility": null, "align_self": null, "height": null, "min_height": null, "padding": null, "grid_auto_rows": null, "grid_gap": null, "max_width": null, "order": null, "_view_module_version": "1.2.0", "grid_template_areas": null, "object_position": null, "object_fit": null, "grid_auto_columns": null, "margin": null, "display": null, "left": null } } } } }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "view-in-github", "colab_type": "text" }, "source": [ "\"Open" ] }, { "cell_type": "markdown", "metadata": { "id": "fNO5NTvp7A51" }, "source": [ "#### Load Required Libraries" ] }, { "cell_type": "code", "metadata": { "id": "dEj-mAoV6y8p" }, "source": [ "# load required PyTorch libraries\n", "import torch\n", "import torch.nn as nn\n", "import torch.nn.functional as F\n", "\n", "import torchvision\n", "import torchvision.transforms as transforms" ], "execution_count": null, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "mQ23hJMr7CGt" }, "source": [ "use_cuda = True\n", "device = torch.device(\"cuda\" if use_cuda else \"cpu\")" ], "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "odJwpeAn7D4A" }, "source": [ "#### Image Visualization\n", "\n", "* Resize the displayed image to be large enough." ] }, { "cell_type": "code", "metadata": { "id": "Yb-N4li87DEE" }, "source": [ "# load an image visualization library\n", "import matplotlib.pyplot as plt\n", "import PIL\n", "\n", "plt.rcParams['figure.figsize'] = [12, 8]\n", "plt.rcParams['figure.dpi'] = 60\n", "plt.rcParams.update({'font.size': 20})" ], "execution_count": null, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "4z3JPKfY7Ejb" }, "source": [ "# show torch.Tensor image\n", "def imshow(tensor):\n", " image = tensor.cpu().clone()\n", " image = image.squeeze(0) # [3, H, W]\n", " image = transforms.ToPILImage()(image)\n", " # show an image whose values are between [0, 1]\n", " plt.imshow(image)\n", " plt.show()" ], "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "cdByU-R37GQ3" }, "source": [ "#### Load Pre-trained Classification Model\n", "\n", "* The attack target model: ResNet-18\n", "* Dataset: CIFAR-10" ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "53055YYa7FT0", "outputId": "e94f3e16-b7d8-483d-ff51-24d9f4b9a9fe" }, "source": [ "!wget https://postechackr-my.sharepoint.com/:u:/g/personal/dongbinna_postech_ac_kr/EcpGMF03mR9Ko1MM-kMSmloB4ceabuYCvnHaGZPgLNMzrA?download=1 -O cifar10_model.pth" ], "execution_count": null, "outputs": [ { "output_type": "stream", "text": [ "--2021-06-10 08:01:39-- https://postechackr-my.sharepoint.com/:u:/g/personal/dongbinna_postech_ac_kr/EcpGMF03mR9Ko1MM-kMSmloB4ceabuYCvnHaGZPgLNMzrA?download=1\n", "Resolving postechackr-my.sharepoint.com (postechackr-my.sharepoint.com)... 13.107.136.9\n", "Connecting to postechackr-my.sharepoint.com (postechackr-my.sharepoint.com)|13.107.136.9|:443... connected.\n", "HTTP request sent, awaiting response... 302 Found\n", "Location: /personal/dongbinna_postech_ac_kr/Documents/Research/Pytorch%20Adversarial%20Training%20on%20CIFAR-10/Pre-trained/basic_training?originalPath=aHR0cHM6Ly9wb3N0ZWNoYWNrci1teS5zaGFyZXBvaW50LmNvbS86dTovZy9wZXJzb25hbC9kb25nYmlubmFfcG9zdGVjaF9hY19rci9FY3BHTUYwM21SOUtvMU1NLWtNU21sb0I0Y2VhYnVZQ3ZuSGFHWlBnTE5NenJBP3J0aW1lPXZGSEctdVVyMlVn [following]\n", "--2021-06-10 08:01:40-- https://postechackr-my.sharepoint.com/personal/dongbinna_postech_ac_kr/Documents/Research/Pytorch%20Adversarial%20Training%20on%20CIFAR-10/Pre-trained/basic_training?originalPath=aHR0cHM6Ly9wb3N0ZWNoYWNrci1teS5zaGFyZXBvaW50LmNvbS86dTovZy9wZXJzb25hbC9kb25nYmlubmFfcG9zdGVjaF9hY19rci9FY3BHTUYwM21SOUtvMU1NLWtNU21sb0I0Y2VhYnVZQ3ZuSGFHWlBnTE5NenJBP3J0aW1lPXZGSEctdVVyMlVn\n", "Reusing existing connection to postechackr-my.sharepoint.com:443.\n", "HTTP request sent, awaiting response... 200 OK\n", "Length: 44755840 (43M) [application/octet-stream]\n", "Saving to: ‘cifar10_model.pth’\n", "\n", "cifar10_model.pth 100%[===================>] 42.68M 59.9MB/s in 0.7s \n", "\n", "2021-06-10 08:01:43 (59.9 MB/s) - ‘cifar10_model.pth’ saved [44755840/44755840]\n", "\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "DVTe-3Y57HAr" }, "source": [ "# Define a basic block for the ResNet architecture\n", "class BasicBlock(nn.Module):\n", " expansion = 1\n", "\n", " def __init__(self, in_planes, planes, stride=1):\n", " super(BasicBlock, self).__init__()\n", " self.conv1 = nn.Conv2d(in_planes, planes, kernel_size=3, stride=stride, padding=1, bias=False)\n", " self.bn1 = nn.BatchNorm2d(planes)\n", " self.conv2 = nn.Conv2d(planes, planes, kernel_size=3, stride=1, padding=1, bias=False)\n", " self.bn2 = nn.BatchNorm2d(planes)\n", "\n", " self.shortcut = nn.Sequential()\n", " if stride != 1 or in_planes != self.expansion * planes:\n", " self.shortcut = nn.Sequential(\n", " nn.Conv2d(in_planes, self.expansion * planes, kernel_size=1, stride=stride, bias=False),\n", " nn.BatchNorm2d(self.expansion * planes)\n", " )\n", "\n", " def forward(self, x):\n", " out = F.relu(self.bn1(self.conv1(x)))\n", " out = self.bn2(self.conv2(out))\n", " out += self.shortcut(x) # residual connection\n", " out = F.relu(out)\n", " return out\n", "\n", "\n", "class ResNet(nn.Module):\n", " def __init__(self, block, num_blocks, num_classes=10):\n", " super(ResNet, self).__init__()\n", " self.in_planes = 64\n", "\n", " self.conv1 = nn.Conv2d(3, 64, kernel_size=3, stride=1, padding=1, bias=False)\n", " self.bn1 = nn.BatchNorm2d(64)\n", " self.layer1 = self._make_layer(block, 64, num_blocks[0], stride=1)\n", " self.layer2 = self._make_layer(block, 128, num_blocks[1], stride=2)\n", " self.layer3 = self._make_layer(block, 256, num_blocks[2], stride=2)\n", " self.layer4 = self._make_layer(block, 512, num_blocks[3], stride=2)\n", " self.linear = nn.Linear(512 * block.expansion, num_classes)\n", "\n", " def _make_layer(self, block, planes, num_blocks, stride):\n", " strides = [stride] + [1] * (num_blocks - 1)\n", " layers = []\n", " for stride in strides:\n", " layers.append(block(self.in_planes, planes, stride))\n", " self.in_planes = planes * block.expansion\n", " return nn.Sequential(*layers)\n", "\n", " def forward(self, x):\n", " out = F.relu(self.bn1(self.conv1(x)))\n", " out = self.layer1(out)\n", " out = self.layer2(out)\n", " out = self.layer3(out)\n", " out = self.layer4(out)\n", " out = F.avg_pool2d(out, 4)\n", " out = out.view(out.size(0), -1)\n", " out = self.linear(out)\n", " return out\n", "\n", "\n", "# (The number of layers that contain trainable weights == 18)\n", "def ResNet18():\n", " return ResNet(BasicBlock, [2, 2, 2, 2])" ], "execution_count": null, "outputs": [] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "N1NW6vbz7Hxj", "outputId": "947b5f41-28b9-403c-e1d2-595107b1fc8f" }, "source": [ "model = ResNet18()\n", "model = model.to(device)\n", "model = torch.nn.DataParallel(model)\n", "checkpoint = torch.load('./cifar10_model.pth')\n", "model.load_state_dict(checkpoint['net'])" ], "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "" ] }, "metadata": { "tags": [] }, "execution_count": 7 } ] }, { "cell_type": "markdown", "metadata": { "id": "xBvLIuzy7Jlu" }, "source": [ "#### Load Test Dataset" ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 102, "referenced_widgets": [ "4dd687f4ae4143aa98bc49b7d785c4bd", "0bf38487484a45c4aae22105fc9fc99a", "65f37636c715405bad82ef222d0c2b34", "f3c6c2ea3af542778bdaaf68ea0ecbd3", "b6a3ceb66a6a454bb3873b619b745082", "c368666d4f5e4c8a8868c9a885a00d63", "e3981453854c4c07b5172f36a6ef6f84", "056e19bbfb2f472988a84db4eaa2d3c3" ] }, "id": "4vahIMZ_7Ig0", "outputId": "26bd0eb1-e4bb-4208-d3b3-24316291fcaf" }, "source": [ "class_names = ['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck']\n", "\n", "transform_test = transforms.Compose([\n", " transforms.ToTensor(),\n", "])\n", "\n", "test_dataset = torchvision.datasets.CIFAR10(root='./data', train=False, download=True, transform=transform_test)\n", "test_dataloader = torch.utils.data.DataLoader(test_dataset, batch_size=64, shuffle=True, num_workers=2)" ], "execution_count": null, "outputs": [ { "output_type": "stream", "text": [ "Downloading https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz to ./data/cifar-10-python.tar.gz\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "4dd687f4ae4143aa98bc49b7d785c4bd", "version_minor": 0, "version_major": 2 }, "text/plain": [ "HBox(children=(FloatProgress(value=0.0, max=170498071.0), HTML(value='')))" ] }, "metadata": { "tags": [] } }, { "output_type": "stream", "text": [ "\n", "Extracting ./data/cifar-10-python.tar.gz to ./data\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 306 }, "id": "dvRvW4SV7LEU", "outputId": "590e73b4-ce1e-4f03-8db2-7d33c852f6f0" }, "source": [ "import numpy as np\n", "\n", "\n", "# Display images in a batch\n", "def imshow_batch(input, title):\n", " # torch.Tensor => numpy\n", " input = input.numpy().transpose((1, 2, 0))\n", " # display images\n", " plt.imshow(input)\n", " plt.title(title)\n", " plt.show()\n", "\n", "# load a batch of validation image\n", "iterator = iter(test_dataloader)\n", "\n", "# visualize a batch of validation image (the first 4 images)\n", "inputs, classes = next(iterator)\n", "out = torchvision.utils.make_grid(inputs[:4])\n", "imshow_batch(out, title='original labels: ' + str([class_names[x] for x in classes[:4]]))\n", "\n", "print('Original labels >>>>>>>>>>>>>>>>>>>>>>>>>')\n", "for i, label in enumerate(classes[:4]):\n", " print(f'Image #{i + 1}: {class_names[label]} ({label})')" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Original labels >>>>>>>>>>>>>>>>>>>>>>>>>\n", "Image #1: frog (6)\n", "Image #2: airplane (0)\n", "Image #3: ship (8)\n", "Image #4: dog (5)\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "3QeGpQKo7MsE" }, "source": [ "#### Test Phase\n", "\n", "* Check the test accuracy of the pre-trained classification model." ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 850 }, "id": "DmQtvmN47Loz", "outputId": "39456c53-edaa-4b3c-b320-7044161746ef" }, "source": [ "import time\n", "\n", "criterion = nn.CrossEntropyLoss()\n", "model.eval()\n", "start_time = time.time()\n", "\n", "with torch.no_grad():\n", " running_loss = 0.\n", " running_corrects = 0\n", "\n", " for i, (inputs, labels) in enumerate(test_dataloader):\n", " inputs = inputs.to(device)\n", " labels = labels.to(device)\n", "\n", " outputs = model(inputs)\n", " _, preds = torch.max(outputs, 1)\n", " loss = criterion(outputs, labels)\n", "\n", " running_loss += loss.item()\n", " running_corrects += torch.sum(preds == labels.data)\n", "\n", " if i == 0:\n", " # Display the first 4 images in the first batch.\n", " print('[Prediction Result Examples]')\n", " images = torchvision.utils.make_grid(inputs[:4])\n", " imshow_batch(images.cpu(), title='original labels: ' + str([int(x) for x in labels[:4]]) +\n", " '\\npredicted labels: ' + str([int(x) for x in preds[:4]]))\n", " print('Original labels >>>>>>>>>>>>>>>>>>>>>>>>>')\n", " for j, label in enumerate(labels[:4]):\n", " print(f'Image #{j + 1}: {class_names[label]} ({label})')\n", " print('Predicted labels >>>>>>>>>>>>>>>>>>>>>>>>>')\n", " for j, label in enumerate(preds[:4]):\n", " print(f'Image #{j + 1}: {class_names[label]} ({label})')\n", "\n", " # Display the second 4 images in the first batch.\n", " images = torchvision.utils.make_grid(inputs[4:8])\n", " imshow_batch(images.cpu(), title='original labels: ' + str([int(x) for x in labels[4:8]]) +\n", " '\\npredicted labels: ' + str([int(x) for x in preds[4:8]]))\n", " print('Original labels >>>>>>>>>>>>>>>>>>>>>>>>>')\n", " for j, label in enumerate(labels[4:8]):\n", " print(f'Image #{j + 5}: {class_names[label]} ({label})')\n", " print('Predicted labels >>>>>>>>>>>>>>>>>>>>>>>>>')\n", " for j, label in enumerate(preds[4:8]):\n", " print(f'Image #{j + 5}: {class_names[label]} ({label})')\n", "\n", " epoch_loss = running_loss / len(test_dataset)\n", " epoch_acc = running_corrects / len(test_dataset) * 100.\n", " print('[Validation] Loss: {:.4f} Accuracy: {:.4f}% Time elapsed: {:.4f}s (total {} images)'.format(epoch_loss, epoch_acc, time.time() - start_time, len(test_dataset)))" ], "execution_count": null, "outputs": [ { "output_type": "stream", "text": [ "[Prediction Result Examples]\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Original labels >>>>>>>>>>>>>>>>>>>>>>>>>\n", "Image #1: deer (4)\n", "Image #2: horse (7)\n", "Image #3: truck (9)\n", "Image #4: horse (7)\n", "Predicted labels >>>>>>>>>>>>>>>>>>>>>>>>>\n", "Image #1: deer (4)\n", "Image #2: horse (7)\n", "Image #3: truck (9)\n", "Image #4: horse (7)\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Original labels >>>>>>>>>>>>>>>>>>>>>>>>>\n", "Image #1: ship (8)\n", "Image #2: automobile (1)\n", "Image #3: frog (6)\n", "Image #4: ship (8)\n", "Predicted labels >>>>>>>>>>>>>>>>>>>>>>>>>\n", "Image #1: ship (8)\n", "Image #2: automobile (1)\n", "Image #3: frog (6)\n", "Image #4: ship (8)\n", "[Validation] Loss: 0.0031 Accuracy: 95.2800% Time elapsed: 7.0879s (total 10000 images)\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "c_EVasbm7Pao" }, "source": [ "#### Prepare Adversarial Attack Libraries" ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "8Rwgci4t7OIz", "outputId": "5788a277-4f41-4f78-98b4-5e28577aa43b" }, "source": [ "!pip install foolbox\n", "!pip install advertorch" ], "execution_count": null, "outputs": [ { "output_type": "stream", "text": [ "Requirement already satisfied: foolbox in /usr/local/lib/python3.7/dist-packages (3.3.1)\n", "Requirement already satisfied: eagerpy==0.29.0 in /usr/local/lib/python3.7/dist-packages (from foolbox) (0.29.0)\n", "Requirement already satisfied: typing-extensions>=3.7.4.1 in /usr/local/lib/python3.7/dist-packages (from foolbox) (3.7.4.3)\n", "Requirement already satisfied: scipy in /usr/local/lib/python3.7/dist-packages (from foolbox) (1.4.1)\n", "Requirement already satisfied: numpy in /usr/local/lib/python3.7/dist-packages (from foolbox) (1.19.5)\n", "Requirement already satisfied: requests>=2.24.0 in /usr/local/lib/python3.7/dist-packages (from foolbox) (2.25.1)\n", "Requirement already satisfied: setuptools in /usr/local/lib/python3.7/dist-packages (from foolbox) (57.0.0)\n", "Requirement already satisfied: GitPython>=3.0.7 in /usr/local/lib/python3.7/dist-packages (from foolbox) (3.1.17)\n", "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests>=2.24.0->foolbox) (2020.12.5)\n", "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests>=2.24.0->foolbox) (3.0.4)\n", "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests>=2.24.0->foolbox) (1.24.3)\n", "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests>=2.24.0->foolbox) (2.10)\n", "Requirement already satisfied: gitdb<5,>=4.0.1 in /usr/local/lib/python3.7/dist-packages (from GitPython>=3.0.7->foolbox) (4.0.7)\n", "Requirement already satisfied: smmap<5,>=3.0.1 in /usr/local/lib/python3.7/dist-packages (from gitdb<5,>=4.0.1->GitPython>=3.0.7->foolbox) (4.0.0)\n", "Requirement already satisfied: advertorch in /usr/local/lib/python3.7/dist-packages (0.2.3)\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "a-bT17uz7QPU" }, "source": [ "def get_distance(a, b):\n", " l0 = torch.norm((a - b).view(a.shape[0], -1), p=0, dim=1)\n", " l2 = torch.norm((a - b).view(a.shape[0], -1), p=2, dim=1)\n", " mse = (a - b).view(a.shape[0], -1).pow(2).mean(1)\n", " linf = torch.norm((a - b).view(a.shape[0], -1), p=float('inf'), dim=1)\n", " return l0, l2, mse, linf" ], "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "yNO0lKnzeU2y" }, "source": [ "#### HopSkipJumpAttack\n", "\n", "* Foolbox documentation: https://foolbox.readthedocs.io/en/stable/\n", "* HopSkipJumpAttack implementation: [HopSkipJumpAttack](https://github.com/bethgelab/foolbox/blob/master/foolbox/attacks/hop_skip_jump.py)\n", "* init_attack: Attack to use to find starting points.\n", " * The targeted attack does not use this parameter.\n", " * The untargeted attack can use a random uniform noise.\n", "* steps: Number of optimization steps.\n", "* initial_gradient_eval_steps: Initial number of evaluations for gradient estimation.\n", "* max_gradient_eval_steps: Maximum number of evaluations for gradient estimation.\n", "* stepsize_search: \"geometric_progression\" or \"grid_search\".\n", "* gamma: It's for the binary search threshold.\n", "* constraint: Norm to minimize, either \"l2\" or \"linf\".\n", "\n", "
\n",
        "def __init__(\n",
        "    self,\n",
        "    init_attack: Optional[MinimizationAttack] = None,\n",
        "    steps: int = 64,\n",
        "    initial_gradient_eval_steps: int = 100,\n",
        "    max_gradient_eval_steps: int = 10000,\n",
        "    stepsize_search: Union[\n",
        "        Literal[\"geometric_progression\"], Literal[\"grid_search\"]\n",
        "    ] = \"geometric_progression\",\n",
        "    gamma: float = 1.0,\n",
        "    tensorboard: Union[Literal[False], None, str] = False,\n",
        "    constraint: Union[Literal[\"linf\"], Literal[\"l2\"]] = \"l2\",\n",
        "):\n",
        "
" ] }, { "cell_type": "markdown", "metadata": { "id": "2QWqjr-Y7R75" }, "source": [ "#### Adversarial Attack Example\n", "\n", "* Attack method: HopSkipJump Attack\n", "* Options: 10 iterations + start from a random target (untargeted attack)\n", " * Each iteration includes a binary search step, gradient approximation step, and geometric progression step.\n", "* Images: 1,000 test images" ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 991 }, "id": "wnQGScAe7Q_1", "outputId": "80a4b332-f27a-4049-9905-0aeab66d8278" }, "source": [ "import time\n", "import random\n", "import foolbox as fb\n", "\n", "criterion = nn.CrossEntropyLoss()\n", "model.eval()\n", "start_time = time.time()\n", "\n", "fmodel = fb.PyTorchModel(model, bounds=(0, 1))\n", "attack = fb.attacks.HopSkipJump(init_attack=None, steps=10,\n", " initial_gradient_eval_steps=100, max_gradient_eval_steps=100)\n", "\n", "running_loss = 0.\n", "running_corrects = 0\n", "running_success = 0\n", "running_length = 0\n", "\n", "running_l0 = 0\n", "running_l2 = 0\n", "running_mse = 0\n", "running_linf = 0\n", "\n", "num_images = 1000\n", "\n", "for i, (inputs, labels) in enumerate(test_dataloader):\n", " num_images -= labels.shape[0]\n", "\n", " inputs = inputs.to(device)\n", " labels = labels.to(device)\n", "\n", " # generate \"random target instances\" that are correctly classified.\n", " starting_points = torch.zeros(labels.shape[0], 3, 32, 32).to(device)\n", " target_labels = torch.zeros(labels.shape[0]).long().to(device)\n", " for k in range(labels.shape[0]):\n", " starting_points[k], target_labels[k] = test_dataset[random.randint(0, len(test_dataset) - 1)]\n", " outputs = model(starting_points)\n", " _, preds = torch.max(outputs, 1)\n", " while True:\n", " condition = 0\n", " idx = torch.tensor([], dtype=torch.long)\n", " if target_labels.ne(preds).sum() > 0: # to be correctly classified\n", " idx = torch.cat([idx, torch.arange(0, labels.shape[0]).long()[target_labels.ne(preds)]], dim=0)\n", " condition += 1\n", " if target_labels.eq(labels).sum() > 0: # to be different from the original labels\n", " idx = torch.cat([idx, torch.arange(0, labels.shape[0]).long()[target_labels.eq(labels)]], dim=0)\n", " condition += 1\n", " idx = torch.unique(idx)\n", " if condition == 0:\n", " break\n", " for k in list(idx):\n", " starting_points[k], target_labels[k] = test_dataset[random.randint(0, len(test_dataset) - 1)]\n", " outputs = model(starting_points[idx])\n", " _, preds[idx] = torch.max(outputs, 1)\n", "\n", " attack_criterion = fb.criteria.Misclassification(labels)\n", " _, adv_untargeted, _ = attack(fmodel, inputs, criterion=attack_criterion, starting_points=starting_points, epsilons=None) # adversarial attack\n", "\n", " outputs = model(adv_untargeted)\n", " _, preds = torch.max(outputs, 1)\n", " loss = criterion(outputs, labels)\n", "\n", " running_loss += loss.item()\n", " running_corrects += torch.sum(preds == labels.data)\n", " running_success += torch.sum(preds != labels.data)\n", " running_length += labels.shape[0]\n", "\n", " l0, l2, mse, linf = get_distance(adv_untargeted, inputs)\n", " running_l0 += l0.sum().item()\n", " running_l2 += l2.sum().item()\n", " running_mse += mse.sum().item()\n", " running_linf += linf.sum().item()\n", "\n", " if i == 0:\n", " # Display the first 4 images in the first batch.\n", " print('The dimension of an image tensor:', inputs.shape[1:])\n", " print('[Prediction Result Examples]')\n", " images = torchvision.utils.make_grid(adv_untargeted[:4])\n", " imshow_batch(images.cpu(), title='original labels: ' + str([int(x) for x in labels[:4]]) +\n", " '\\npredicted labels: ' + str([int(x) for x in preds[:4]]))\n", " print('Original labels >>>>>>>>>>>>>>>>>>>>>>>>>')\n", " for j, label in enumerate(labels[:4]):\n", " print(f'Image #{j + 1}: {class_names[label]} ({label})')\n", " print('Predicted labels >>>>>>>>>>>>>>>>>>>>>>>>>')\n", " for j, label in enumerate(preds[:4]):\n", " print(f'Image #{j + 1}: {class_names[label]} ({label})')\n", "\n", " # Display the second 4 images in the first batch.\n", " images = torchvision.utils.make_grid(adv_untargeted[4:8])\n", " imshow_batch(images.cpu(), title='original labels: ' + str([int(x) for x in labels[4:8]]) +\n", " '\\npredicted labels: ' + str([int(x) for x in preds[4:8]]))\n", " print('Original labels >>>>>>>>>>>>>>>>>>>>>>>>>')\n", " for j, label in enumerate(labels[4:8]):\n", " print(f'Image #{j + 5}: {class_names[label]} ({label})')\n", " print('Predicted labels >>>>>>>>>>>>>>>>>>>>>>>>>')\n", " for j, label in enumerate(preds[4:8]):\n", " print(f'Image #{j + 5}: {class_names[label]} ({label})')\n", "\n", " if i % 10 == 0:\n", " cur_running_loss = running_loss / running_length\n", " running_acc = running_corrects / running_length * 100.\n", " running_asr = running_success / running_length * 100.\n", " print('[Step #{}] Loss: {:.4f} Accuracy: {:.4f}% Attack success rate: {:.4f}% Time elapsed: {:.4f}s (total {} images)'.format(i, cur_running_loss, running_acc, running_asr, time.time() - start_time, running_length))\n", "\n", " if num_images <= 0:\n", " break\n", "\n", "epoch_loss = running_loss / running_length\n", "epoch_acc = running_corrects / running_length * 100.\n", "epoch_asr = running_success / running_length * 100.\n", "print('[Validation] Loss: {:.4f} Accuracy: {:.4f}% Attack success rate: {:.4f}% Time elapsed: {:.4f}s (total {} images)'.format(epoch_loss, epoch_acc, epoch_asr, time.time() - start_time, running_length))\n", "\n", "print('[Size of Perturbation]')\n", "print('Average L0 distance (the number of changed parameters):', running_l0 / running_length)\n", "print('Average L2 distance:', running_l2 / running_length)\n", "print('Average MSE:', running_mse / running_length)\n", "print('Average Linf distance (the maximum changed values):', running_linf / running_length)" ], "execution_count": null, "outputs": [ { "output_type": "stream", "text": [ "The dimension of an image tensor: torch.Size([3, 32, 32])\n", "[Prediction Result Examples]\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlQAAADfCAYAAAAwcE0bAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJOgAACToB8GSSSgAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOy9d9wtV1n2f90zuz/1PKe3nPQQQgstVAmidASV9qpoUHxtKCJi4UUNKsWGIKi/F18lKKBIk47SIoYWSEhIQnpyej9PL7vO+v0x8yT7uvZ+2tn7JDnh/n4+57PPmrLWmjVrZtYz65rrthACHMdxHMdxnJMnur8r4DiO4ziOc7rjAyrHcRzHcZwe8QGV4ziO4zhOj/iAynEcx3Ecp0d8QOU4juM4jtMjPqBynDViZpebWTCzS3vM59Isn8v7U7M1lX1FVvaZq9z+SjPr+ZNgM9ttZrt7zWeFMvpS1zWWuTtrz8V/T7gvy3cAM/u0nIPL7u86OT9Y+IDKcRynP0wBeFP2b3/7CjN7vZl9Nht4zZrZtJndYGZvN7Md/SjczB6VDfa/ZmaHzKxuZgfM7F/N7NH9KKOtrKeY2Sey46ma2d7s+J7dp/xP5lg+iLTtP9GPOjjOWjH3oXKctWFmGwBsALA3hDDfQz4VAGcAOB5CON6v+q2y7CsA/ByAs0IIu1ex/ZUAnhZCsB7L3Q0AIYQze8lnhTKuRB/qusYydwNLH5eZ3QFgFsD1AI4AyAO4GMDTAEwDuDSE8N0e6/BNAJcAuAbAt7LyHgXgmQCaAF4WQvhYL2Vk5fwKgL8DMAfg40gHjzsA/ASACoA3hhDe3GMZJ30s2Zup9wJ4ZQjhil7q4ThrIXd/V8BxTjeywU/PA6BsMHZL7zVyTgMeFkKo6kIz+0UA7wHwZgDP7bGMDwD4mRDCHVLGTwN4P4D3mNmnQwj1ky3AzPIA3gqgCuAxIYRb29a9BcB3AfwfM/vLEELtZMvBfXAsjtNvfMrP+YHAzF5qZl81sykzW8imW37fzIpdtt2d/RvOpmR2m1ljUeu0nIbKzH7azK7NyjhqZv9iZtu66XqW0lAtbmtmOTN7g5ndbmY1M9tnZn9mZoUu5b7IzN5vZreZ2Vz27xoz+w0zOyXXuZkVzOzV2VTPnqyO42b2RTN7zgr7jpjZu7NpnKqZfT+ra9e3SmZ2iZl9xMwOZ9M/+8zs/5rZtlXW1czs58zs62Z2LCtzn5n9p5m97GSOfy10G0xl/Hv2e14fyniXDkCy5R8AcDuA9QAe3mMxYwBGANzWPpjKyrkZwG0AygAGeynkPjoWx+kr/obKedCT/eX8+0jfKn0Q6fTBcwC8BcCzzOyZXf7SLQD4MtIHyH8hnZa5e4VyfgfAnwGYAPA+pJqaHwXwtez/a+WDAJ4K4HNZ+c8F8DsANgF4pWz7NgAJ0umRA0gfej8M4J0AHgfgFSdR/kqMZfl/HcAXABwDsBXACwB81sx+MYTw/7rsVwDwRQCjAP4tS/9kltcFAH6tfWMz+3mkb3FqAD4JYB/SAcirALzAzJ4QQti7Ql3fjLQP3I10EDOV1fVxAF4C4ENt5V2GdMrofSGEy1Zuhp54Qfb7vVNcTiP7bfaYz1Gk5/l8MzsvhHD74gozOx/pebkuhHCix3KWo1/H4jj9JYTg//zfg/YfgCcCCAD2AtjStjwH4FPZujfIPruz5V8EMNAlz8uz9Ze2LTsb6Y3+GICdbcsNwL9m2wfJ59Js+eWy/Mps+TUAxtqWDwC4A0Cr/Viyded0qWeEdGAXAFwi667Ilp+5yna8skv9iwB2dNl2BMCNAMYBlJdo26sAFNuWjwG4M1v3Q23LzwdQz457u+T1jKwtPr6Kup5AqvWpdKnvBklfltXjijX0s90Adq9iu1dl/ecvAfxnVv/dAM47hdfAE7Lj2Q8g7kN+L0E6uJ3O+tdbAfwzgBkA3wFw7v15LG3n77JTVQ//5/+6/fMpP+fBzs9nv38aQji8uDCE0ATwOqRvdV61xL6vCyHMrbKcn0I6SHtXCGFfWzkBwO8hfXCuld8NIYy35TWHVFsSAXhs+4YhhDt15xBCgvStDwA86yTKX5YQQi2EsL/L8ikA/wRgHdI3QN34/dCmscmO80+yZPvbt19BKuB+TQjhgJTzJaRvrF5gZkOrqHIDXc5D6Pwg4OMALkT6RqvfvArAHyHte89EOmj+kdD2pqefmNkY0sEOALw2hHAy/ZAIIXwY6dvPSQA/i7R/vwKpSP29AO7qtYxunIpjcZx+4lN+zoOdxU+sv6wrQgi3mdl+AGeZ2Ug2EFikirVNw1yc/V7VpZw9ZrYPwJlryA9I/9pXFgdr69oXmtl6AK9HOi14NtK3We1sX2PZq8LMLsrK/SGkU2ilVZTbRDpNqFyZ/V7ctuyJ2e/TzKzb4GwTgBjpm6xrlqnqBwD8OoDvm9m/A/hvAN+Qcw7gngHhyUzRrkgI4QnAPefr0UinIq8xs5eGEP6zn2WZ2QBSC4HzAPx5NhDqR74/A+AfAHwM6SB4D4BdAP4AwLuRfrn40n6U1VbmKTkWx+knPqByHuyMZL+Hllh/CKl1wSj4IXo0e7u01nKOLLH+CNY4oAohTHZZvKgbiRcXmNkogG8DOAvA1Uj/ih/Pth0F8Bqk03N9xVLzyi8jvY8svi2aRvrW71EAXrhEuceXeLuw+AZxpG3Z+uz39StUZyUR9GuRvjl5JdI3Kr8HoGlmn0X6JrJDAH0qCanG6Atm9m2kX3r+i5ntCiEs9CP/bADyGQBPAfD2EMLv9inf85G+ffwegFdkb0EB4BYzewVSDdxLzOzSEMKVfSrzlByL4/QbH1A5D3YWB0lbkGp0lK2y3SJrNWibzn43A7ipy/rNa8xvLbwK6WDqTSGEy9tXmNkTkQ6oTgVvRPpF19P14Wlmv490QNWNDWYWdxlUbcl+28/F4v9HQgjTOEmyst4B4B1mtgnpw/nlSPVAF5nZRaG3z/xPtl6TZvYNAC8CcBG6v5VcE9n052eQftDw530egDwT6RTsf7cNpgCkU8xm9lUAj8n+XdlrYaf4WBynr7iGynmws2iWeKmuMLNzkRoS3r3E26CTKecpXcrZBWBnj/kvx7nZ70e7rHvaKS53fIk3EcuVmwPwpC7LL81+2w0uv5n9PnWtlVuKEMLREMLHQggvRfqG7RwAD+tX/ifB4rRoz1+tmdkI0q9SnwrgzadgALL4xnHjEusXl/fsD3UfHIvj9BUfUDkPdv4p+32jmd3zEDCzGOmXVhGAf+xDOR9E+kD8dTO7Z/CU+Sq9FW1TdKeA3dnvpe0LzexinBphdXu5Y2b2CCn3F7CyCP6t1uYBlgmO35gl39u23buRisn/OptuIjIvrGUHW2ZWNLMnd1meR/p1IQDMty0fMbOHmNlW3edkMLMzzKzrG0oz+yWkwv19AG6QdYt+ZJeuspx1SL9MfQKAPwohvHGFXdq90K5cTRkA/if7fXGX8/4oAC9G+nb3y7LulB+L49zf+JSf86AmhPB1M/tzpP5NN5rZR5B+jfQcpG8lrgLwF30o504z+0Ok3lbXm9mHcK8P1RjSkCOPWCaLXvhnpBqjd5jZ05EaH54H4PlIhcOnyrjyHUgHTldlQu8ppF8fPgXAR5A+XLtxCOmbjhvN7JNIp5BejHT69e9CCF9d3DCEcEvmQ/VPAG4ys88jNY/MI9W+PRWpVcVDlqlnOavjHUiF63uQiud/FOnXfJ8MqSnlIj+OzIcK6Sf4vfJoAB/OpvbuQKqnW490sPBwpL5or+gyBbr4B+9q31x9DGn73wkgsu5Bt/8jhHDdyZYRQrjazN6LVIv2bTP7ONL2PBPptGUBwDtCCDrtfV8ci+Pcr/iAynnQE0L4XTP7LoBXI/3MO4/0Rv1GAH8V+hS+IoTw1uyrwd9C+sCZQeo19Du41xy074QQDmZvad6GdDDzLKRC519F+lf+KRlQhRA+b2YvQNqOL0NqSXA1gKcj/dJwqQFVHcCPIB18vhxpXMS7svq/q0s57zez65FaDTwdqY5nDsBBpAO3D+k+whyA3832fRLSB/8M0j7wK7j3Leap4lqk9hVPBfA8pAPsKtJj/isA72y32gDuebN5EdK3gN/E6jgr+z0HqTVDN3YDaB+ELLqN/9sqywCAXwDwVaSDzWcBGELat68C8A8hBMrrPjwWx7lf8eDIjnOKMbNhpG8lrgshPHGl7Z3TD+tz0OdsOu16AL8WQvi7fuS5RDkfQzrleE6//rDoUsZ9cixt5V0GD47s3A+4hspx+oSZbcx0Oe3LckjfQpSQGkY6D152ZTqhkFlK9MLTkA7CT9nbs+zN0VPRx7e0S3DKjwUAzOzTlsbLfO+KGzvOKcDfUDlOnzCzXwbwx0in2fYhndr5IaSmk9cBeFK/fIacBxZm9ptIPb8W+X/dXOSdU4eZ/RTSa20R11g59yk+oHKcPpF9VfcHAB6Pew0p70YqsP2zEMLM/VU3x3Ec59TiAyrHcRzHcZwecQ2V4ziO4zhOj/iAynEcx3Ecp0d8QOU4pwgz2734OX3bssuyr8Auu39qtTbWWl8zu3wtjtjL5HNFls+ZveSzQhl9qesay7yi7UvAYGa/d1+V7aSY2W/LObji/q6T8+DAB1SOc5rRbaDmnHa8E8CbkJphdmBmW8zsr83sVjNbMLMJM7vWzN52KipjZm9sG2D8SJ/y/Hkz+w8zu8PMps1szsxuNrN/MLML+lFGW1lPMrPPmtl41l7fM7PftDTElPJ1pG3/zn7WwXHcKd1x7ls+jtQt+tD9XRHnfuUdIYTd3VZkcQc/DaAC4LNI+0wZaTDqlwPo61stM3s0gD9EGgJnsI9Z/wzScELfAnAYQILUMf2VAH7WzF4UQvhcr4WY2QuRBgavInXNHwfwAgB/DeDJAF7Svn0I4esAvp69/XxNr+U7ziI+oHKc+5AQwhTSmHeO04GZbQHwCaR95JIQwm2yPt91x5MvrwTgXwB8G2konlf0MfvnhhCqXcr8UaShmP4KQE8DqiwKwT8gDXt0aQjhO9nyP0AaoPnFZvZyDYfjOKcCn/JzTkvM7MxF/YOZPSSbWhjPphWuMrNndtnnHj2QmT3bzK40s6nMXXlxm5yZ/aqZfTObppg3s++a2avNrON6sZRXm9lNZlY1swNm9m4zG1mi3ktqksxsh5n9jZndnk1bjJvZ1dnDAWZ2aVbXXWBX7g4dSNYmV5jZPjOrm9kRM/vgUlMtZnaumX04m1qaM7Ovm9nzlj8Lq8fMXmRm7zez27L858zsGjP7jW7t2kZkZr9lZrdk7bs/mwobXqKcHVn732VmNTM7YWafNLPHraGuTzWzT2Vl1czscNYfloop10/egNTD7Jd1MAUAIYRGn8t7K9K4eZchfYPUN7oNprLlXwAwifSNW6+8GMBGAP+2OJhqK/uNWfJX+lCO46yIv6FyTnfOAvANADcA+L9IpxheBuBzZvZTIYRugXNfDODZSP86/v+QDlAW//r/FNKAr7cC+CDSaYSnIw3aewk6/4J/B4DfQDqF9x4ADQAvzLYtIA0EvCJm9likgZTHkAae/RjSKZ+HArgcwJ8gDQb7JgC/2Vb2Ivc4QpvZs7P9F4/nDgA7APwEgOeZ2dNDCNe2bX8e0jZcn7XJdUgfdv+BHt8gtPE2pA/sbwE4AGAEwA8j1bE8Dku/GflrpG7z/470zc2zkB7/U83sKe0P7Wzq6r+QtuF/Im2DDUiDIV9lZj8eQvjscpXM2u4zSIP9fjKr6xiAC5EGm35T27ZnIjVu3dOvGH4A/heACQD/aWYPBfAMpP3gTgCfDyHM9qkcmNkPI53yem0I4XYz61fWK5X7FKSu8teutO0q+OHs9/Nd1n0VwDyAJ5lZMYRQ60N5jrM0IQT/5/9Ou38AzgQQsn9/Iesei3RgMwFguG35Zdn2CYBnd8nz8mz9uwDEbctjAP+YrXth2/InZcvuADDWtryEdIASAOyWMhbrcFnbsgLSB3MA8FNd6rVD0rs137Z167LjPg7gobLuYUh1MtfK8v/Kyn6NLH9hWxtf1q28ZdrwUll+TpdtIwDvy7a/RNZdkS0/DmCX7PPRbN0ftC3PZeehCuBpktc2pAOjQwCKy9W1Le9HdqnvhiX6YNdzsUT7LB7XmV3WnZWtuxrpYDnIv+NIp9H6cf2MANgL4L9xr8HzYt1+pB9ltJX14qyt/wypHqwG4ASAJ/Yh729ndX7MEutvzNZf2GXd4vm7op/H6/9+cP/5lJ9zujOFNH7ePYT01f8HkP4V/ONd9vlECIH+os2mnX4dqXj2tSGEVlt+LQCvQ3rz/em23V6Z/b45hDDetn0VwO+v4RhegPTm/skQwgd1ZVhbTLifRXrcfxRC+L7kcyNSvcnF2dsPmNkOAD+KdED3btn+E0gfuD0TQrizy7IE935p9awldn1nCGGP7PN6pIPin2/b7nkAzgHwrhAC1TmEcBDAnwPYgvSNz2roiLkYQjguiw4gfXO12jxXYlP2+2gA/xvAq7Nl2wD8DtJB0EfN7MI+lPUupG/eXhlCONXhMl4M4I+QHsOLAOwB8KwQwjf6kPfi1PpSusTF5aNLrHecvuFTfs7pzrWhe4y8KwH8HICLkb4FaefqLtufj/QBczuANy4x/bGA9AG6yKOz326DjquQCmVXwxOy335Mrz0x+32kmV3eZf1i8NgLAXwfafsAwFXtg8g2rgTwtF4rZWbrkQ6EngvgbAADssn2JXbtaNsQwl1mtg/AmWY2GkKYxL3HvWuJ4z4v+70Q6ZdzS/EBpFOj3zKzDwH4CoCvdRvUhlTPdMsyea2VxT9wYwB/HEL427Z1f5EJ1n8L6ZTnL51sIWb2k0inWH8thHDXyeazWkIILwfw8kz39jCkg6uvmdkvhRCuONXlO859hQ+onNOdI0ssP5z9dhOHH+6ybDGY8XlIb/hL0f5Z+WLeHXUIITTNTN9oLMXiX88HVrn9ciwexy+usN3icSx5DBnd2mpNmNko0qmZs5AOZv8Z6aftTaTH/hoAxSV2X65eu5DWfxL3HvdLlth+kWVtAUIIHzOz5yN9I/nzyAYuZnYNgN8PqaD6VDHZ9v+Pd1n/caQDqsefbAFmNoZUN/glAH9/svmcDCGEaaR2BS8A8B0Af29mX1zjG1hl8Q1U149A2pZPLrHecfqGT/k5pzubl1i+JfvtNhXQbYpjcbuPhxBsmX9nddmnow5mlkMqiF4Nizf7pd7SrIXFOj1yheN4n2y/Ujv2wquQDqbeFEK4JITwqyGEN4YQLkfqG7Qcqz2/i78vXOG439QlLyKE8JkQwg8j1aM9A6kw/iIAn16cKj1F3Il0kAl0HwBMZL/lHso4A2m/fAaApP1LUaRvdAHgC9my31wylx4IIdSRDuhKuPft7Mlya/Z7vq7IrsGzkLbpKX8T5zg+oHJOdx5tZkNdll+a/X53lfncgvQh9gRbvdfP4ldK3abEnoJ06mY1fDP7fc4qt28tk/diXk9dZV6L7fMU6+4qfekq81mOxc/jP9pl3UrTiR3rzexsADuRisEXBx5rPe4VCSHMhRC+HEL4LQBvQfrxwGrP0cmUVwfwP1nyYV02WVx2dw/FnED6gUW3f7dn23wuS9/YQzkrsfjHQ3PZrVbmy9nvs7us+yGkX0h+PfgXfs59gA+onNOdEaQuz/eQWRD8NNK3Ft2mTjoIITSRCnW3AvgbM+t4C2BmW+UNxRXZ7//JplIWtysh9fdZLZ9C+uXej5nZ/+pS7g5ZdALAxm51BPBepAPDPzKzjqkhM4usLXZdNt3yBaR/yb9atn0h+qCfQnpsgAzOzOxirCzef42Z7WrbJwLwF0jvXe9t2+4TSN/w/JqZPbdbRmb2RDOrLFeYmf1Q9mZDWXxTNt+2bT7z+zpnhWNYC+/Kfv/YzO7RmWXTpn+QJf9V6rwYk/DylTIPIewLIbyq2z+kIVkA4O3Zsi+2lbHo+7Z7NQdhZuuzgW+3dc9H+rHILEQjZ/fGOrxsNeUA+AjSrx9fnl33i/mUAPxplrxPpzadH1xcQ+Wc7nwVwKvM7BIAX8O9PlQRgF/KdBur5U8APBLALwN4gZl9GamuaRNSbdWTAfwfpGJuhBC+ZmbvQvp14I1m9hHc60M1gVWGlwkh1M3sJUjtCz5oZr+E9I1LCfd+RdZ+rX4JqXfT583sq0g/Q78+hPCpEMIJM3sxshA3ZvYlADchnebciVS8vT7Le5FfQ2rz8A5LDVGvR/pW6ceRDvZesJrjWIZ/RipIf4eZPR3pm5DzADwfqVfUy5bZ92sArssE4lNIvwZ8JIBrkH65ByAViJvZTyD1n/qMmX0dqZ/WPNLjfhxSMfxWtA2KuvA3ALab2deQDgTrAB6D1O9oD4B2x+3tAG7Olp+5QhusihDCx83svUi/IL3BzD6H9G3k87PyPgrg/bLb4h/Gvb7tWY61lrETwDVm9h2k03IHkOrlHoV0mq8B4FUhhAnZb03lhBCmzewXkQ6srjSzf0Oqz/sxABdky1eaVnac/nB/+zb4P/93Mv/Q5iGDdNDxCaSDmHmkD+FnddnnMqzgqQTAkH4B9SWkN+Y60ofBVUhdrHd22f7VSB+sNQAHAfwt0jdnu7EKH6q2dWcA+DukUzp1pG+ivgXgDbLdANK/uvcjffB0eOlk7fNupIOXKlKjyluQhhl5UZeyz0X68JkEMId0gPW81bSZ5HM5uvtQPRSpUebRLP9rkGqr7jmPsv0V2fKzkQrEb8mO4wBSj6bhJcrfhNRE9MasL8xmbfARpLHlcsvVFcBLkb4Buj3bdzrL680ANi7RB3evpm3kuM5coQ++CqmQfy47ju8gHfhGXbb/ONJp4PN7vKYW69bhQ4V7Pcn+dJV5rUP6huh/kP5hUc+O5WakovgOX6hsv+9mbb5ujXV/MtKvNyeQfo17A4DXos1Pbrl7SC/t5v/83+K/RUM3xzmtaHOpfl8I4bL7tTKOs0osDRH0cwDOCksER15jfgbgGIAvhxBe2mt+y5TzdqRfPO4KnX5c/SpjFOkfEX8VQvidU1GGlHcm/B7i9JG+aqjMrGhmf2ZmBy2NRfYtSwNhOo7jOPdyd6YV+r0e83kY0inctWj2ToanAfiHUzWYyngq0qnAt5/CMmBmv5191diLuN9xOui3huoKpK6470D6yvwyAJ/NYodd1eeyHMdxTjf+A/eK9IF0KvmkCSHcgHSK8JQSQnjMfVDGp8DavlPF19EWkxFtcTAdpxf6NuWXfVH0LQCvDyH8ZbashFR/cDSE8KS+FOQ48Nf1juM4zgOLfr6hejFSYeR7FheEEKpm9o8A3mJmO0MI+/pYnvMDTKY/OeV/mTuO4zjOaujngOpiALeFzs/UF+OmPQpA1wFVNp/tOI7jOI5zOnCtToX3U5S+Fd19dxaXbetjWY7jOI7jOPcXd+qCfr6hKiP14VGqbevvITMyXCmQqeM4juM4zgOefg6oFtA9Ynypbf09hBA+DODDgE/5OY7jOI5zetPPKb9DSKf9lMVlB/tYluM4juM4zgOGfg6orgNwvpkNy/JL2tY7juM4juM86OjngOojSIN4/u/FBWZWRBrk81tumeA4juM4zoOVvmmoQgjfMrMPA3irmW0CcAfSmFVnAviFXvK+/oufpfQ33/0xSl95412U3l/JU9owSulcrsJpcTNqJnVK11u83izpqGNc4KaMwDvFxukEXEfZHMhLGSZj38Drk4QNhq3Fwdoj44NsRg3ePnAFciHm4tTySarXaHF+LSnPmlKfBgeZP2uIy3vOs55M6Ze9+XKsxGv/9KmU3jgyRulawt9MFBNu05H16yhdr/FBVlu8vzW4zi1plLx4PluB9y9FLDmcWKhSuj7P0sJ8xOeoWOLjiwq8fWNhktLNPJ+T4ZjLb0Z8PAtVPqcAkC9wus6XCsoFLiOSMkYG+VqsLZC0Emo03JRjrkqdCtIPX/eqj3TUuZ2//ypHG0mach3JOTTpI2GFy9YgclBpU7VOi0U+GncxWs5Fcu1FXKdIJahB6pyTRko4HfRa1VtNkPWyfyuWcy7dJi9tODczTuny3BSlB4b4wmk1uQ3LFe73MwN8UqZz3KdG6tw+r7jkIViJp//Y8ykd5aWN63w/y0d8YTTk/hxJG8HUQo/ztxznl8txG+aqnE60X0Zy72hxT40kvxb4eMw4w6gpQ4WYL3zTPiL3tkQ6Ra7VxUJQ+p3JgzlpcpvEEd9Pg1xrrRZnmJdrO5HryJrcRv/+gX/trOMK9Dv0zM8C+BMAr0Aabfx7AJ4fQvhqn8txHMdxHMd5wNDXAVUIoQrg9dk/x3Ecx3GcHwj6qaFyHMdxHMf5gaTfU36nhOvf/yVKf+wmNmTfM3wGpWdL6yltxoeZL4veKc/zx3Mylxq3eG42anX6l+ZlTjwnmqpGJNoMqVNTPFFjPTXGdaiIQCdJZM66yXqcpmgzWqIDixJZL3PuQeebRaNVb8p8dU7WqxxnfgMl97eOUbryqS9irQwWuQ2iPKdbVW7j2SprLUqNQUpXF7gNCoN8jA3RKRRmefuazNmrPGa+yeU3G9yHSiXywkWxJHqcFp/jVsKNXJc/lwbAfaZWYJ3EwhRrWZpddA41aZN8zIXE+QFKlwf5GGZFM1VL5ihdEO1FU7QqIYhWTzRcK5HP8TE3TbR9onGyDmEHn0SVN6lGqkMqo/onySDXTUPVUQfNUzRMiWhP5FpPRFPVqeZRvY8WJ/0w1jrLMYpODXJvycnNoXbdrZReN8/7Vy55NG8/zPf7DXLvjAon8d4g4To263JvkTZIWtIvpIki0ZG15LqxRPp5XXRqoluLc/L84N1hDb7XNYpcobxc2y0RzhVbcu/KqQZK7q1l0e2J8NjkQgj5znuLau2a0q0slmtfhGM5OQetSHXAolOT+20zFoHoSeBvqBzHcRzHcXrEB1SO4ziO4zg94gMqx3Ecx3GcHjktNFT/852bKH39BvYLio29bcqiJ8Igp/NFmR9v8NxqUfQ+cV58rXKdzZbI/GxLhActqVOsEqnA+p0oz/O/cYeeRRxwRMeQz7FepqieSbH6WHG63hB9jmg7cuKzkstJ/g3RPZjMT4vPyvgAt8+3j6nDzxjNIOoAACAASURBVMpsHd1B6dLoRkrXDtxO6TnR48w35mU9t0F+mvvB8AC3caxeNXnRXEkbz4v3V5zvEF5Qsiz+aS2p/5ScI/VZaUoXqs2wzqIiXmBhuvPvrap4HFXyorWTfl0WL5ggbdKqqc6B85sWkdRoXjRZczMddVwOi1Q7qH5v3IZBtC0dm2sTdQiSRN8U1HdK9EboJJE2Ud1WkDxUH6nWWB0aKdkgqMlchzGV7C7aldBS/Q+3YUm0hxXxsJu56w5Kj/BlifyFrJkd3MX3/5HcCKXnoF5gK5N03O9Y+9eK+F5Q1fuh+pvJetM2kn4yOsD3x+ERPqZSxBdascTaRci95Ng4e9JNzbNeMi8irEKZn7E5ubdNT07z9jHfm5pyziM5/la1s6e3CqLPlEeAuj8mcloT8U6MREcM0a1BvMFi0VOeDP6GynEcx3Ecp0d8QOU4juM4jtMjPqByHMdxHMfpkdNCQ3WbxPCxiGM5xSWZw1dvF5HvNEV70tT5bYmjF0kcvkbU2Ww5qK+UxHqSPEw0TDnRmpQaPEffKopvibG2pNZiP59ckzVJhaLEhtKxtPhQ1URLIiHa0BBdhal+SLy7GuJjMij6oTL4nB4YPomxPssc0MrxPH8ivk1RgevYFJFRMbAuIRFvlbrEz5qc5PxH14k+qCK6srq0kXjf5GVOv9ngcz5dE08n0W3kxYcrlnNeT1hXUW6yPqnZabKEWOKqoczaCY1hVpN+EifcD8sV6Xc18eNZ4HNYU0+kcmdczeWIVA6kuopE7yWSDlqe+k6JZkoroJqqjjB9nW1uK5Wp8Qf1GNUDSPRBpjsk6iGkdZRrX72zJAabhhrU2Knj+/dTujrB+p56xP2yNXmC0sXadkrHOdZUxR1Ct5URK0K09Ew29BnB16Y+U5qic0sCb79BYlyevY31oOpDNT87S+m8XEfbt/D+WyVO6fgU36sW5vlesmUb1+f2u/ZQut7g+3mS4+dPQ+6VsZjiaWxZAMjNyb2jJDdY8amK5FpqSAzeSNq8KdvHomNrdInRu1b8DZXjOI7jOE6P+IDKcRzHcRynR3xA5TiO4ziO0yOnhYZqbojncxsFjt1UyLFRiQ1IjB7RJ6Eq2hXxr1DLpKb4rNS7zP9GsczfRuIdI3PuRRnLlgd4/1yej2l2SrQqsepjuI3CkPjdiCagKVoRaRI0xVBIfbWSknrdyHy2eH3lJL7Y/IDoheY53SoMY61MzB6l9EKT2/TEPOtxHrrh4ZTeMbSV0sWyaPfEgOfAIY4paSN7KV2PuPw4sCZAY0vFEuMskvhbicbqW+B0Q+JBWlV0HaKjKw8McfkSy2reOj2ecgXud6U895OqeHfNz3I/Hhni7Uux6MxK3E+GxEOuJfEPC7H476yELa836ghjp55Lkk5kh1hFWlqeZBBpbMAOj6hOHZd1BNeT9UHrIJpSjUOnMc40EN1KaGw/0XTFGmswsE7u6GG+jpKKeNRtYD85vtMBjUnuY7VYPKMS9otbDc06X0uhIdemCsF0f9FQReK1tWHzZko/8oKHUbogurTxieNcH/EmO7SH23Bikq/dwSF+fpRFX7llI99vC+Jrdewo69bmFjj/pKp9kpMljRVb6Iybl5N+kq9yP7FILz7VWEmGQY2sRA8p97K4dwmVv6FyHMdxHMfpFR9QOY7jOI7j9IgPqBzHcRzHcXrktNBQ1UvsQzIo8cBKEkfImjxnnohOoRGrT4roHIybJZ+wx8aukc6YPxtGJa6beAhZleecz9iyidI7NnMsv0PjrAdKGnyMe/ezPuaY+E7VWrx9TXyw4kFuk2HRic3yISNpse+JiSdIS+JlmWiqEvFpqYqmqhRze9VzJzGhLX5kRXCbPHEL6xQ2jp697PZHRJuxZeOZlD5vE7fx9IFxSs/nWffQnOb6DQ6zjiAUpA3mxEdLfFly0qYN0VhFIlOIc6yLaNZY7zRQYXVKosGyANTF/6Yh3lgtiQFpBfFTkyzjOrfJ0IBoPQZZy3JkjvMvrjVOm3ooqd5Hrn31ZGqJPinu8HTi3YP6tYkMRH2rusgzO7ypOqJ6qgZUtSayg8ap07+qO3yr5FJUnVckx9hx5YqOLDS5n1Y0VuoF5/P2O0XbGPPzwEQjOyHFF5oqhFuZptyvIbqy6sLybdwCXxeb1rEO7IXPfQ6lN4ywLviu2++i9PET7Bln4oU4vJ7vXZOicZo5xPcmkzY56xxu8+o437smxg9Qelo0wRrbFQU+Jwvio5VXEz8AsRyTSb/o2MNEOy16zI6LTT30qhpLdXld3GrwN1SO4ziO4zg94gMqx3Ecx3GcHvEBleM4juM4To+cFhqqIJ5LJdEDFSQeV4s3R2ue528L4k+UF83BuhI3y64xno8+d4D1TQBw1i7WQEE8fGrHOD7V+tIxSp+x9SxKz25irUgpYh+QPWNcx73TI5T+1jjPOB+f5TZrindMSFg/UxlgJcLCrMam4vwLoi1pFHl+u8qHg1h0bg3xdSlVO+fYV6LeEt+nea7Tzk2sIdo1yJXaW5NjmGXdQaPIwrLmOJ/jgTrnPx+xVuTIFJ9zROwDtWWEtSFHE/F6qXF+YhuFsuiRFkSrUs6xRqsi2sNGg895TjUJAFoS/3BBtBpRLJoo8WPLSbzBmYT7yWCT+3Wc4zYp5rifF9aoocqrPqhDtBSWXZ/riPel+qbldRhRvLxfT7fdLVbNkqxXOY9opBLROEV6jHJI6q0VFWR70d9E6vdTZd3bQuD0CLRfcv3mBuWcV/i6qsR8b2jk+UIoica2eBIGQ3XZxSQO6MIsH5PGzUSR2+iSRz+a0medyfrN3bffTemdZ7GmqVDke8VNN13HxYnH3Hq5LCZn+N6VF4+9uQV+Ph3Yd5jSE9N8nSYSuzWSOKiNBt9rohbf76uxPBAAFOS8FnMSO1V0tbkC3yuiKverlmiyQkvqlJdGqvP+J4O/oXIcx3Ecx+kRH1A5juM4juP0iA+oHMdxHMdxeuS00FCZzJ3mJTRTiFgLUhUtTT3hdFkC250/wnOnD9/JeqWHbpbYU7fu7qhjcy/PCccyP1sU3UP1EOtpqgN8jBt3rqN0rsLrKzs4/w0NLmB9lbfff5zn+A+N81j6+DH2PBoZ4vX7yuybtfuIxI0TXURB9EihxOUnNa5vKxLfruLaNVR50dLNyTz/Nw6zt4uVnkjpzbvOpfSmdex/05jiWH0nZrnOW0YlnmKddQq1wB5Oc+LhNDnHl+Og+LA0Ik7PS3wxlQQ0Rf8zscDlD6jWsCo+XgOdt4dKmevQlH00Nh9i0TlE3G/mFthfp8WrkS+zfibOcf7Da+wncbR8HLtEtICR6DXVo04lTxqrryM2oJTf4VOFTo87E9GUxsYLGqMsaBlyjOI5p/EM1Vsr0r+7pVu0tPw63wvVk6msbSxal6JoYzbXef/1I3IvGeH7/8CIxKVbuw0Vglyb9SafFzlkzC5w/MCyaEwrg9yPZye5398hvlP79l1F6aFBPsbR9XyvmT3O+UVy78uVNQYnP0RrEvtvYoI1VKo/qos/WzNRjzw+hw25v8dJp1hwXi7+WpPLKEvc0GZL/COlTrFoo1tyv1SvxGaz89pbKyu+oTKzQTN7k5l93szGzSyY2WVLbHthtt1stu2/mNnGbts6juM4juM8WFjNlN8GAH8I4EIA1y+1kZntAPBVAOcCeAOAvwTwPABfMLPO0NKO4ziO4zgPElYz5XcIwNYQwmEzeyyAby+x3RsADAB4TAhhLwCY2dUAvgDgMgDv6b26juM4juM4DzxWfEMVQqiFEA6vtB2AnwTw6cXBVLbvFwHcBuClJ19Fx3Ecx3GcBzZ9EaWb2XYAmwB8p8vqqwE8t5f886KarIkB2IKIy2p1Fp81cixOu1ACrv7ohSzou+gMFqU3JKhtM7AAEQAaTRZibt64hdIVCfDcEue4lnGe0zMsLN22cTOlJ4/v4wqIcdtjt59J6UdtHaP0eGDR+8EDLCovFlikeMPdEqT2ILfJDPh4oyKLHqXJUVXxrvTEqLZ2geBCgwsJEsDzuEw8X793D6Ufb2wauW07m+nNDrAQdN1OXo8qC1mbEQtB6zVeP1+9g9KTC9yHRkbFkLbIwtbcrAQFl34/UpADFpF6nndHS4ztkqZsAGCwxHmO1/hjhnn5GGJDWT5+mOLtIxFAzza53w1XuR80JchqLV5bP8mJiWSrqaaX4ugYVFUuAnENDCz1U8G3qtTjzlDCnWiecrF0BFjWa0uzE7Fu6NheAkCvcAx6kBp8WT/IKYkofuIoGyVPT3Ig3rO2b+Pa7eCPRSrr+YOZ8QURlLfWbthYlTw04HRVBcwiiK4uSL9akCDb8qHUtk0bKP2dq6+m9I0SrPjix1xM6R3bdnL5c2zSu3ETf3AzNXWI0uMz/PxZkCZryL20KQa+OQnMLqcYVWm/QtI59EhM7j9i6iux4NGUYPKFlnzoFHN+QT7miOZFtL5wH4jSV8liDz/UZd0hAGNmVuyyznEcx3Ec57SnX7YJi0PJWpd11bZt7llvZi8B8JI+le84juM4jnO/0a8B1eL7wm5voUqyDQAghPBhAB8GADONRuU4juM4jnP60K8B1eJU39Yu67YCGA8hdHt7tSpyxnqc6Trri+o5nlxNxNjzYWL89vxHSkDW6Ru4vCnWF+3dxxqrUJbJXAB1mUO2Ya7j6Bjrc75/J8+ODtfZdDEqsD7n2LyYlhXYvG7nOtbXTOzdT+nCRg70WynwbO+WMc4vN8tz6iMzrGt43Bif6hubPJaerHHXqlU5XVGTypboMMprC3oLAInMYC+IviYWw8HDCZ+DWvMhlK4Xud9EEVuqzRy9ldMTnN+xKda15cD6o0dtegKlj0xwG88tsJZvOuZ+VxHzvMoAaw7UTC+/TjRXYq5XF9PJKN+pFVSzvViCE9ckUO5cky/7khhxzojuTLolKuI+ujDF1+5CqzPI6nIUTA1leX1Lg+J2OndyUu6gOZVgddRAjT9FH6WRigFEUokI3MZBAp1rpTUYcku0JioTU80WEjXi5NVNCcIdS4Y5NTOd535VF1NKJBKkO3D+DTE/rW9m/VAysJ7Li9aujamK3rEuGiDxhgbkurAS1zkqyvOgyM+D9Rezhqoubfxfn/0spaemjlD6uc95DqVHRljvmYjx8579bCx9zfe+wuuPsr60JQGng+g1q+J0qkHL82oum2gDAolooyGGri3RQkM0UDUxM22JubTlZQiSSL8Mvb/X6YuGKoRwAMAxAI/tsvrxAK7rstxxHMdxHOdBQT9j+X0UwPPN7J4/F8zsGQDORza15ziO4ziO82BkVVN+ZvZqAKMAFr9ffUHmjA4A7wohTAF4C1KR+VfM7J0ABgG8HsANAN7b11o7juM4juM8gFithuq3AexqS/9E9g8A3g9gKoSwz8yeBuDtAN4GoA7gMwBe14t+Cuicb7VIgsKKV00FrLO45ALO7yGb2Atnzx6e7757RvwwCjyXW6x06ns2De/gbaRlqzWu84Zh1iwdPcCBd4sbucmGJdhmucw6gfFj7L2q3lzW5AqFAa7vttIZlN57mD2SwgLrhR5zBh/PQwPP6d9dH6T09XtZ43V0RjySCpxfobr24MiqT4kkMG8sApiWBL49Iv1o+uY7KT1kfE7uuuV2Sk/OiA+V1Of4NHssjU2yJmvjCOsqNpdYpzad8DmeB+sgToiP1dgo55fL8TloNlnLEsSTKekSVTYnvkm5EqcHRWvRCqwjy4P1idtG2V/NxN9m8wb2GFpo8XVSr3P+K2GRBlTVwMO8vbaA1i9eQWPV4fGkoizRP6n+COgyjaAaKfGBCqKBClKpnFS6Jdur4iinGiwJMhsF1cNwfrE2kgQeXpjh+/HcHN9LpkUT20xEQ3X2hZS2s+XeF639XtKSY7Kmtqk8A+R+v2UbX9s7dp1N6eGt2yldkrP8kAv4XnPiBOvMdu48Q9Kc32CRNbjqiVeosMaqIGZhk3JOZm/6HqdFLKi+Ui25kKKq9uLOZ2giOqu8tElDzntHmaINVI+7RDRVTemWGgj9ZFjVgCqEcOYqt7sJwLN6qZDjOI7jOM7pRj81VI7jOI7jOD+Q+IDKcRzHcRynR/rlQ3VKaYpXS9Jg7YeBNU9njPE4cdcw+5o0pjgu0uAI6zpqMre6TnxNSkmnJGxGNFJ1ESJUY54Db1Q5j1g8isa/z/GtcJS3L4iepznCXl359TynvuuCp1N67Gx2uJib4jbdd/u1lLbAbThqrHPYOcZz9rsq7Ik0XORz9JXreI5+vM46h6aJxmpV6D6sKcoXRd8j2pGiCN+GK6w7qB5mLy+N37WhwhqlIPqiRKQcjTlu82qFz2GOpYAYAuuJBoscn7HaZJ2bKoDKch1NN8VPTfRBpWbn7aEq+pea6GOShmiGArd5aQO36fb1HANy/9GDlJ6a43MYxNdK9UMrkRNth3XE0mNtR6ulcfREnyM6jSA6kKhDhsYLND/14QKApMX9TH2dItVEdfjpyDmSMiKN3Sf9OtHsxCtLFUotqa+eo4LEg2yKdmVa/IcaMW+fL/N1lpT4uqmpbG2F2IbdiFROI/04yuuJ4mvl4Rc+mtJbt3E8wgFtA7FTM/FkuuC8c7i0Al9HR4/w86U1In1Enhff/MY3KD28njVVL3rWiym9bRM/T665hp8PB4/y8yGuy3UgHlKtpFMrmJNGD4HbNJJrM4i2OZFnhmr7gtyAC1BvrM46rRV/Q+U4juM4jtMjPqByHMdxHMfpER9QOY7jOI7j9MhpoaGKwXPkDfEVicQj5KxRjos3MM9xiRZavL64hfOLazwfvXCC55+PHuzUUDXF1CKu8Pzs6Cb2nWpUedK8Jb5L03OsMRoa5LFvpcLbJ8Y6sNGdl1B680UPo/TsOMedmzrCnkpzNW6zYsT1LYgmamCAz1EUcRs+Ziu3Wa7KGqvP3sbHN97i9loNRYkTp0HKYvEnG1vHGqQNm9k7pnqA4yEuzHO/qZREy1FQDRafk9kGt/nIGG+fkxhtCTcRCnluk6JoU6YW2JPpwDR7Ni1sYmFfEO1htCB+a8Odsc47tIItbtO5Kl+LQ2Vug+Eh0X5MSDzEec5voj5F6Vnx8hocZL+zlYjV/iao8ZRonHKiuVLNlOiJElkfdfhSMRq7ryN2IDo1U6Y+VCvUQf9sjtSXStY3pI3Uz8day2u0qqJLMwn+15K4dg2RPk5KXLzdU3wvbM3zvWjDIOs3F+Sppu21GhpypmI5kc0aX0vrxsRfbSv7q+mDVu//UydY13twzz5KF+X+v2GQbw7HjrMn3cRxbjMrcJuffzZrukpyXQ6UWVP10h0/Qemdogl7/wc/QumZeb4XNZryjLXOmJWmHVV0ZKqFa0Uam5TPiRnvn9eYjolqC3sfDvkbKsdxHMdxnB7xAZXjOI7jOE6P+IDKcRzHcRynR04PDZXMgeclHZc4vavI+p2ZG2+m9OQQ63k2FFk7MyNalNo0z70ePcDz0wCwa9cuSpfHJPZTgfMYHOJ5/7tvYH1NaVi0J4M8XwzwMSy0WA90zkXPpvSRPd+m9K3f+QClC6JDs1lugw2jXJ+hEZ5jr9ZZj1OdYe1LUTyWLt7M9b3xMGsCJo93xnpaiUqe2ySvIcQk9lNNDMeSGfZSmZ6Q2HniFVMpcx1r89yGVbDeZ0jqMzfOmizkxQcqVl0a+1bN1/icVCJO1/exLuPWo3xONu5grcrAANf/WL3z9jA+w9dWucy6q3KJ4wdu3MQebrNVPuYTs9xGVuB+Xk/Ea0Yizc01xRtsBTRcV1F0GUF0bK2ONBOLBitRXyuRG8WiJ0pE/6SSLgAdwipVn7Q0VKrGURMjKY0XmM+plk80TuILpVqWSGo0K60UBxZJ1fNcXvkcjks3cOgApasNzr8xxvfreJC1jPmWaAU7hHMrE4smNpE2inNchvpWBbmW80XWKDUa3O+PH2ffwXqV+/U2id1XjqXAuROUXBCN13SLr/2W+MlFBT5HM1N8P9+wjvWbu+/iWK/q+ddq8vEXc9qHOuMrqvSvIc8UtcXLSROop1wicTtbYsAWSzzCuNF7LD9/Q+U4juM4jtMjPqByHMdxHMfpER9QOY7jOI7j9MhpoaFKWjy/m9R5fnvLMM+FDsY8f1zNy3x3k8eRjbp4zdR4fndgiLUspdHO2FBN8QyqbGI9y/Qs+4TM13gOvTTE2pFkgeu8ey/rYcZ2sIbpjAsfyXVezxqlE3t4Pnpmjk99Uebgo5i3tzy3yYH9rC+aEc3VvPiQbB7lmG1jEtOtrDHW8p1eXysRgdswllh1LdGGTB9jPdB10zdQWqQZmBU9jxn3C8icfV20eHNNPqejY3wOazU+Zqvy/trvc+KrkojW5iEbWWuy54hoWSbY82nLNvFKSzq9YuYi1nrUxE/mPPHjGZA63bR7N68XbZ36mxVEc9SosM5hQbQgK1ER763BgpoWcXKuxdvPi54nEX2OWt0osQT3y0l5rbjz3mLSxkF8oNRmyeS8RRJfUGMDtpoqRlEjKs4vp35AollS3dmA+Am1RMO1/exzKT14J/unbRtlHd7Y+Q+ldL7E131O/IiatvZYfvW8HLNq3aSMmTpfq4fuYk2sXcr9SOMtzkxxbNS5GdE/3sz3qhN7OeZlMWENU00EpOopNyvyzdtuYk3UvOiNIjnHE7N876g3OV0QTZaE8sNClTVdAFAs83mUboJcorH+RI8oXmFBdHCRibZOCgjx2v3KFH9D5TiO4ziO0yM+oHIcx3Ecx+kRH1A5juM4juP0yGmhoYrFPGawzLqLc0Z5fnruwF2cQeD55Vzgw46arBmYO85+P6WENQDDwyKYAjA3zXPcdfGuarVEeyGxnIaLLNjZd4TXz87xHH1pHddhrsGT1HWe0sbw1odQeuPOx1H6ru9dRemFOZ7Dnx5nX5Qo5jnyQkliqonXzP7DrLkyic8Yl2TOvsnnYDXkRCvRkDn1smieGgOsv5mdZ10bJIbaaMzHuF20HVN5PkdxkcsfbnE/2rlxK6VvuYvjJ95yx/cpHUQDsG0z69JOnGBdwnrpU+eewfqm6+/m+u6T+Iub13Xq2Hau5zz2TLCmanqSO15Tzqueo3zM2o6m+jaJliVu8jEV1WxsBUZi7ldF6Yd50USV8qKTa/J1OVfne1MU6y1V9E4aF0/iiRWSzuOJVohFp0o3lQwF0W3Fom9JgmiqJEOVhZmGP1SNlfTTdbH+3c7Ho7H7Wjm+TsY2bqL00DrxwJPyI9WpncRrg1i8u5JY9JgSmw5V7vcHD7IObGqKPe6GxZcqiE5ufp776eQR1rgG0VfGoqvLi0deo8bPi/27uX6Hj+u9j/txvcb9PpZGLUfcp6rSCWtyjot5CeAIoN4RglK0epJOpIw4Ua0fH0PSof2T8rrEF1wr/obKcRzHcRynR3xA5TiO4ziO0yM+oHIcx3Ecx+mR00JDpQG4Wi2ez95c4vnmDSpxym+m5MRh1gPNz/D+C1XO/8RRnl/edda2jipOnGBjj8nDvM/gMDf1xCyXUU14TrlhrF+JZOw7LRqsefE8agTWMUzVOP+xMx5P6doCzx9feyXH00parHtYv4XbNMeSAEwcFc+Pac7/yMF9lB4a4/ysQ7mxMvGgaKaqrCOoDLDP0nyDdQmzTdYgFRq8fb7M52CmJXqhIs/RVwa4IyY1Xn/XHayZyov9z9ZN7COVz3F5tSDxuMDnuCaxqsbEc+mRu7jN6wU+vsEce6cBQKsiWgrR6tUn+NpqlqXOItAZUhso0bXNzYv2osiapnXxho46Lkdtjq/1qsTETMSjLl/gjp0TX6yCeNdUyhqjjNc3mqz31Fh/puY7ABLx31G/Hb03qIgqGDdy6IjFJ348pnoXiZ0q+prWFMc2LYoHXb7A2jzVtC6ILq25jeNBxg/ZzvmfwdfFtFwHjVnOb6CocVBXRr28RKKKXKsm6/m8DojON59wP5qaljoOsW9gaZg1rPVxvhYHpR9O1vj5M5aw1nDuKGsd9+3j67Sunk3Sp/KRxCIUX6rZumiGG9wew3nePyp2xlesTXEeJiZtqnDSGJUQ/WE1p89QOcYGH2OXS2/N+Bsqx3Ecx3GcHvEBleM4juM4To/4gMpxHMdxHKdHTgsNVV70RInM6Tdm2eOosoO1JPkyz8kfOcCeIPu/v5/S60Z5jn7GeI5+fkECIQEYWy/xqmSKuDbDC2ZEUzQs+286ZyelRyus/cgX+RjL4Dn5RHycahL3qG6sDyoOnM35jbA2pTnNWpiJE6yLqDUkxpr4sjTF0igyrm+xxu1RaK59rN+Y5DpMJqzlaCVyUsQbZf3gEKXHj7M2pLrAbWpTfPmUGpz/5k3c79ZVJO5bSYUZrLnatp7PQazeLlw9DIpUZH5OztEM6zCGh7h+TeM+uDDNPlsAUKtxm46N8j7jEV9LJ05wmQPruJKNFl9Ls1N8TppNbuPyGOssBoY6PeGWo5Wo/4/EA5NTUpvh+jTqrI1stPheUs9xfVWWUa3yhVAeYK1LKInvFYDy4LAs4Uo2JXZeJBqnWNQnUUv0MdKvmlXu5/OT3I8mj7O+Z+J29v1rTnKbhGE+xuk51u/kR3l95aJdlE7OZh+qsIH94OrHWfuYTMu9r9kZN24lVGemsegS8b7Kyw1/fIr7yaHDrEndup11YSXRAo7McBuWdvN1NTHDmqhSQTz4RKO07yC3+cwEn8Ncib29TOLhzolGqjovvlwS+7UkgqdaXnyyGp0aqqbkUYwkdp9opIL0az0nOTkniV4nosVOos46rZVln1pm9jgze7eZ3WRmc2a218z+3czO77LthWb2eTObNbNxM/sXM9vYLV/HcRzHcZwHEyu9ofpdAE8G8GEA3wOwBcCrAVxrZk8IIdwIAGa2A8BXAUwBeAOAQQC/DeDhZvb4EMLaQsI7juM4juOcRqw0oHo7gJ9qHxCZ2YcA3ADg9wD8TLb4pcbFTwAAIABJREFUDQAGADwmhLA32+5qAF8AcBmA9/S32o7jOI7jOA8clh1QhRC+3mXZ7WZ2E4AL2xb/JIBPLw6msu2+aGa3AXgpehxQRYHnRstlie8VWJdw4gTPLzcj1nkUxSNkQjyjGodYnDKyleeXp0SbAwDrRnleP5agZGo/s/Och1H63Ec8lNIhkh1qrBNrVll7sjDLnkrH995N6aH1HPftyBE+5iOHeP/JQ0coPX2MdRKFAW6TrWezN9emCusgxo8fovTh2ziW1DHR0uROYj57TnyhIomdt3c/94uCzOOHUdFBiP4nHmS9zq4R1rltHdvB24vH0USTdRTDZY7lV22wbiKX8Iz8cJ7bfPN27nOtAmtRygPcx2oSD7IhGquJo6w1GR3uvD0MjrLWrjrP/fSmAa5Trcp+Y+vEm2toPV+Lc0e4DZoLfC1OH9PYgGuL+Xho925KDwyzPunuu3j97Akuf2b8IKUrRX75HouKIlfgPqieUtNzrCVct5OvGwC44KEXUnpwjPtBLLHyQo77cSHHbVyAaPnm+Lq56VvfpPQt3/k2pQ/ezveW0gzrazaLfqdRlPqJ1m/obD7m6QGu7/wmvk5GxIMvn0j5Gzje5OyBTj+1lTCJw1loisdbk897scLn+c69rHn63u23U/rsC86j9GDM+s2GaO1uzd9MadX6tUQje2yKr8uDJ/i6ahX4Oqw3+P4bt/h458XnKkjMy5zoPxviWxg3ZJKq2Kk2KkieQYYnebnWTZ4RQY2qYtFtiZdWvcBtFDXX7n2orFn5a2YGYDOA41l6O4BNAL7TZfOrAVzcSwUdx3Ecx3Ee6JzMV34/DWA7gD/M0ot/Phzqsu0hAGNmVgyBXyOZ2UsAvOQkynccx3Ecx3lAsaYBlZk9BMDfAvgGgPdlixff9dW67FJt24bWhxA+jFTsDjP5btdxHMdxHOc0YtUDKjPbAuAzSL/ke3EIYVEMsDixWeyyW0m2OSnmRBuyPs+6hrN38nxt/SjPrU4fZ61IXuZvh3fwHP269WdyehtrY+bnWUcBAFXRCE0fYM1TaYDn2Hdd+ChKR8M8h37s5qspXZ/l/AsS0+xYgzVJd9z+z5Q+65HPpnStKDHKShIvMeL55Nyw+PcMik7B2EelVOFzli+xtubQCR5/Hx/lOfuF3Nrns2fm+byuK/O8fmuWu+GsCNtsWOIPVjidmOh5Ard5foJ1AmODHJ+rIJP8A8PsA1WfZQ1TPgqynnUQx+Y5PSOxAq3F+qCBMp/DWDQFuTKLWw4dZx0IAASwfqcose4u2fRISs9uu4jSky3W5qkdzWSF26BlfI4aLdbPHDnE19lKXPuFz1G6LB5JBw/yOd2xnj2QbJq1hhu28frREe7nJroQC3yOvr9fYlqO8H0AACZvuonS84Nc52rC/S5X4X6fK8r2s6IdkVh8N3zhC5SeuYv1k+UFvi7KCd+Lzhjhfn2GeH2VIJ59+/i6PFFlzyQELr9RYDeeUOL89wbWTE3u5jZeDUMlPoZEYtcVJG5mrsDpRHRes3OsQSoWuM1GpM0S8Vwqyf36sGh082Uuf6bGurgF8eBrSZ9IJL+kzvUvFPhe0pTAd3FJYliKAVsukvaJNOYlkBNfwJiTaJp4zsn9NDZOB+ln6gkX5aQOtd7f66xqQGVmIwA+B2AUwFNDCO0jisUn/daOHdNl4zrd5ziO4ziO82BixQGVmZUAfArA+QB+JITw/fb1IYQDZnYMwGO77P54ANf1o6KO4ziO4zgPVFZySo8BfAjAEwG8JITwjSU2/SiA55vZzrZ9n4F0EPbhPtXVcRzHcRznAclKb6j+CsCPIX1DNWZmP9O+MoTw/uy/b0H6xd5XzOydSJ3SX4/UAPS9vVayJVObJZMYPU2e7y2JN8zW9Tz/vF9iTVUl5s+mreyLMrqdZzPrR9XwAhiTWEhTEc85R+KRNLyFdVkT+26l9PXfEg3VCdYZxAXWWhR28Bz9VJXjsJW3sJcNhljzVJFYS6Ux3n/iZvaeiWR+et0F7E80vcDHW024fo0Ka02qoudJIp3xXpmmeLdI6D0URc/SMJ6kL4jWY2yY67ggc/ytwLqKozXW1k2JximnAQNi1sXFZRENgM9BbiPrHkaKfA5mj9xG6euu5T41Nc3aksqg+BWNSmzDIscbA4BCg28ZNbAWZEue6xhJbL5cYB1EEvN53pV7DKWrFa7zbMz96NY9d3TUcTmO3Mx+PjU5J+eIn9ozH88asKlxrk+pwLqz8gCnqwt8b4rleI8PcfttLXfekosx1/HgXu5nd+xl3VdRgjoG4zynJkTPUxMN1gTrxCpNvt/Vpd/nRewyKjqxjXVOD0u/zYkead0CX8fT13E/npyU2H07Wcd2EHLvsbXfSyqiQwui18lLrL84JxpQ8R+LE97f5BwVxBux0eA6t8SWsCnnbFY0r1PzXL+C6ElV8xXEywst0fIlXIEg98KooB5SjOk5UP0SgEQ0rYnsMyD9DhLvVe/nqpoqyLihFYvmKt9NBr42VhpQLSqnX5D9U94PACGEfWb2NKTO6m8DUEcqYH+d66ccx3Ecx3mws5JT+qWrzSiEcBOAZ/VaIcdxHMdxnNONNTulO47jOI7jOMzJOKXf5wTxWanN8Pzr1ADPle6QWFFJxGKakQ08f1yZ5/niI7ffQumZKY7BhpZoYQBs2sl6k12PY81SRSY+C02u09w4a0FadY67NjfJc+BN0S0UYq5jYTO30eg6Tg9tYX2O2KYgP7iZ0rMF3v6c8x4h+Z9D6cMTHIlocoJ1D+UR1qo06uzD0krWPtafmBE/G+My14sXVjnPbRISaYQiz7EXK3y5DFVYN9eal34hhxBaXL+7J/ZwfYYkftYJ9ljatpW1fHnRfOXLnH7EIznW4G2HuH6tPGtprCI6tkqnF9jMMO+D6DglFwZYmzdf5DZdqPMxRuLvc+Q20fNI4LfKJu43m0e0jjdjOZrzfF3Nz0gMsx2S/xgfT964vJpopPKQNo55e/WhShpcnxBY/wMABfH4GRHt25b13K8T0fvU5vkYR0a4H7fEv+14g7Us9QYfw6xoU0x0aEHi3IWI80/ynK6C2zAn99fROT6exh7WczbG+TpZN8p6pMqjOE7qahgR/WSzJr5LouexilzsVT6Gyig/Y2LxcWrI/W5hju9dswucXpjnB0oQj6Zm4OusXOA2TBpSX5E41SUWX06HCqZ6I/H0y/H2kfhqNZNOXVsUc56NAj/jylXOsy4yrJx41iXSxkHKLEh5Id/5XF8r/obKcRzHcRynR3xA5TiO4ziO0yM+oHIcx3Ecx+mR00JDhRbPdU7NsxZlYoHnzKEyjyrrEkz8KmJjHchAjudiN+c5HcdSHoCJ/bdTOmELIowkrAXZfesNlD4xsZvSpQE+5vkR9f3gOfPNF7KGqbKJvbRCkfe3Kms3yjn2zdpy7uMpjQr7Zo1uOoPS43vZn2f3jRx/q1XnuHBzscRHbLEeKeQ7fUpWIqmxrmBshNt8THQMUYV1BUcnZzjDOYnlJ0KDZl1iSB7nfjY0yOdoaIzr02jxOTk+xf4/60Y5FqDluLw5iVmWn2PdRF2MuIbHuE81Y4mZJn5F1Rb3EQAotfiYTPQuUzXOc6LObToci0/VAF9LyRbZX7yzFma4n55zBuvEVmJsvfjriNfN2AbWDp4QjdThY0cpnRfdXXkTeyKVCqKVaajmi9PNoF46QIj4vJSH+Bi2xLw+SBkmWjutwuRhbuNaTTyHRHsSxCMuJ/4+UcI6sShojEnReE2Klq/ObVAUzVVO18/wdT8kGrKZ3Z2xV1cijkWfWOI8my1eH4tmKCfeYYWCaIog51lebcxO8wNk/Agfg54j7RNBPJpM0pE++UVv1PGEk+vE8pJBU7whI/FqFMlUvovPYJB+Ug5yDKJTy4m3V0POSVHiF6oXVshxec3W2p85ir+hchzHcRzH6REfUDmO4ziO4/SID6gcx3Ecx3F65LTQUDWbPOnfilkr8t39rOvYUuP55ME6779ps+qJ2ONj0zaeex2UOErHD4jWBkAkXjG1aS7z4CTP31YXeP720Nw0pfMSS2qiyHqY8x9xAaUf+gSODJQfZv3N3u+zhmm6uI/S27dyLL784FmU3nQu+/PsP8L1/ca1HHtwYTfnXynzfPeJEh9ftcTaGkvW7gmyUTRKo5EqASR2k/w5EcmCqML7Rw2JxyWapmhA/HZMtCESr3Be4mMdlhhqF25/CqWL0oYHDnOMs6jG+iIrcH0GcxrLinVrjVnxSOqIyAXUB/haqU1zGXXRN9aMdWXNYfHjMTknQ7z/ujHRkYlnUaM82VHH5di0jfO76NGPpfTDL+ZYglffcBOljx/huHkPP5+1hMerohcSDyZL+D4xuJn3b0Riogdgts55DJT5vO3cxDqyiROs80pUiyLX2vET3E/n69LPRQCTSBw39ftJ1LJIulEsnkvxgsTIrPN10RKNVk4yzMtjbEz0PM2ptd9LokjyUA2UxrKTNiiKx1Eikqlige8tReNn2vgMX2fHp8WfLEhcUsi1LQWaxDGN5Lpr5USfJMcTybsXCe+IWHRuGn83kfrFKqoCEGK5/4hGKup4/aOaKtFMRXq/5jY28ZQrqO7rJPA3VI7jOI7jOD3iAyrHcRzHcZwe8QGV4ziO4zhOj5wWGqqcxIqaN477diRifc/CNOss1ouGoCjeL2Ml9tup1ngu9Y67WC905G7x7wFw3oXsXzMnuq+oyrqFwijP984fYS1IfUL0PMPsb7NhxxMpnd/APlT1Js9RT85wrMCBBV5f28jHfOd+jg0YS6you27gmGm33Lmb0qUWawQCWOeR5NknKwniDxQkrt4q2LHhTM6iyf40E2BdQmOO1w+W+RwiZn+yXJH1LTnRw0xK7KmceHsl4u4yN8f+PxvXsb7n4An28kokHtf0HPehSp7rl9RYj5QTn5ZjEsMtiKfUuhGOZ5ZmKn+DtVjvMiDxBPO2kdKDRe5HKItWY1xipkn+SVPi0A2s7W/C0a2sDVwwbrNr7zhE6b0T3EdGNp1L6cMJn+Mjtx+h9L79rCUsFEU7I35rwxW+1wDASFn0MKIF3LF9C6VjsFbk0BGOdTeynttstsr51U37BdenLgsWRA9Tk3Qr4mPMyzHnA5/jSPIP4luVqD5IYgcOiUasmev0DVyJnOhtchK7LxFNVV40Qg3RV5r6MBVZY9VqcT+bPMZ6ymqN+8Wg9CPVg5YL3AaJXEemRlRyzlvik5WT7UWShVCVcyL+a60mn/PYuvitia6rIOdAtXomz3EV6yWRxA2V+LfNIP5toVMzulb8DZXjOI7jOE6P+IDKcRzHcRynR3xA5TiO4ziO0yOnhYYqaYqOQubYm7l1lJ5d9xBKL8xIvLBp1jXMFliTNSSxoWbFxyRo7EAAew7z/O/sDM/v5sUTaE48fw432FumOsVzzpZwHW/ew22yv8n+OPMLXP7MbtYk7djM+U3uYe3IV/7ne5Ru1rirHDomvlZN1srUy6IfqrB2pTTAmjB1JWlJPMXVMC/9Il8Rrcc0t3lBfJZqOW6DSGRcA6PcZgWZo69KbL68aFnUTydpcj8qFVhXcXyetS9W41bKR1yfIL4qKjFolUSvJMc302TdRnmA6w8A6yPRRK3na6VQ4X47GrFmqi46s+qs7B+4DeKGaKbE5Ki1sLZb2I0H2UNufJL1kFbgNsiJVuWOo7y+BdlfY5SFDbz9nPhuiddO4URn/MTBAp+oXTu3UrpxlH2kLjr/PEpHogO7/W7u5yeOcNy4prax6GdqonVZEO3JnHgSVYu8fzPHfUTVNBozU+PCqa9VU0yPZme5DW++mfWjqyEvdU4aog3Mi9ZPYvnlJS6cXtst6SeNKt/vZuqs9yyrxkk0SOU8a1Cbcum2AtcnEa+xqCS6OfHc03tJXjyfmiXVzckzMy/lJZ3P0KZcC7HEhIT0g6Z4hVlJYvNxtwfEh68g2YfQ6Y21VvwNleM4juM4To/4gMpxHMdxHKdHfEDlOI7jOI7TIz6gchzHcRzH6ZHTQpReE9FjqLNIMxKxmeVZEI0RFmkeqfL6uQUWDEIMF5szbJBYjjvFa4cOsehvvMpi3IUgQU/F4NBENNgUkWOzxdsf+KYYBpbZ+G1W4oHmRdC38ZAEIBVzvL1HOF0XJ7cQ2Ew1Xr+d0lGJ2zSfZ9NKNc5r1rmNk8baRemW4zoviAFgrimixZyI1I3rXKiIEFTM92qJBLyucvmlUTFxHOQ23LSO+8TMNB9zpcL9tCwqylxg48268XVRGZaAqTUOsDosovNmVQIXd7k7NAILoJO6BKotcJnVSEToInieneU6lYp8TJU8f3AyucD9ZD5aW+DbwzU2PKyK42IukQCqNT6+al0k1GJwqAaIiFX5yuUF6aMN+XABABoiEG4c5Gu9KG08MMpGnwsihG/MiXGmGBy2RDRej7mNG3Jvmm+xYnlSBNNTUr9hNXXMS5s1OD+T+23HR0nSxFUxPt0rwaJXQy7mfhDHYuwZSb8XgXQSizGznNZ8k9ePT/F11ZT731yDyxup8L2jIMGNY/C9LEh9GjHnL09AtKS+LRF8q7lsLPUryDmtNjjDYtz5LicvxsLyjU9HgOVcJObZkl+U1yUipBfD8EK+8yOcteJvqBzHcRzHcXrEB1SO4ziO4zg94gMqx3Ecx3GcHllWQ2VmFwG4HMBjAGwBMA/g+wD+IoTwKdn2QgB/DeApAOoAPgPgt0IILEg6GRLWrsxFrKtIJEhsIadzq2yA2CizjuJEIvnFbAxXK4qxXJ7NAQHA6jLnLYFqQ5HnZ0OO61CqSwBnCS4ZRTzLzTPuAFoy/ytz4NWEtSq1cW7TIBquaIjNAysmgSQj1ZL8/+2deZBsV13HP7/eZubNW5OQPUJJJZBCqhIILwmKigkgkgIpkihGMcoSQqEiBNCHxkIQQUuEEAUikbUgu0WAiIIYU6yRQIQXErKYVPbHS946S09vP/84d0yf7/S8mX5NXvdkfp+qrpl77+nuc3/33HNP3/O935/o2GR7R+bcG+QxLDVVo7UweeZS1EWHVZXEtw3Pv2Oikut1KjKH7m3VbuQ6gT3TeUxVVzCxRs3sREcgZnw727mRZ7mc12/joUdny8zk+zu1V7Q1oiXcO5cbOG4YF4PFtfl5YN5DxyZ6m6Yc591iFjpRzbV/bTmXW5KwuSH7VFufL5fJdQ+lqf7M+HbOiB5T9qfU1ETEefkFqgwxH9Tzoj2XL5c0cbC4VHpV1SyAGGlO1fMYzjTy4/7tb3wnf389788kfzUl2cdpMVLe22nI9nyfxkXsctfevHdqi05seymvwLjo1MZEq1iVNlKpiH5HmsCuUl7/RyRR/XJYI/pINSMtix1puaxGoPk+VCbFsNbz7fV6fpncvS03XxWbzQX9u2rxqmNqBCqar3J+/Smjppn550+qubZcE1uzYhxK3ubGpF3r9QCgJWVKknBZdWsq8uyIsXFNztaO9OcV+b6y6h/3g6U+4cnAOuCTwIPAGuAVwLVmdp67XwJgZkcDNwC7gS3AWuAC4Jlmttnd+1OOBkEQBEEQrCD2OaBy9+uA67rXmdnFwE3Am4FLitVbgEng2e5+b1HuRuArwLld5YIgCIIgCJ5w9K2h8jQXcx/QnXzuFcAX5wdTRbmvArcDZw9aySAIgiAIglFmWZOGZjYJTAAbgJcCLwYuL7YdBRwKfLfHW28Efm3QSm6cyvU2j67JfVY6OpcqOo3qeJ5oskTuD9Qq5wlMG2OHZcs+ls/NVmYXaqjac/mc8JqaaDOQOWbxv/GD8vnhZkOEATJnXXLRdbVlmVy70lI5TCWfP66IL8h0WzUDuZalJJP4HfHXabfzGJeq+TEpN0QFNpsnh9470UNLsgSNWfGZEv+c2nhep5m9ueBnfG0epI1r8zrsncl1AVPT+fsnxJ+nJLqyndvyRLozksR13WSua1i3QXysXDRToqSb6eT1L09JjEVLMv6kXDO1UY5ZZXKhzqHaluMix7VUz/d5rpTXoVHPY9aQ8wbRDu7YnevUWqL32bC2v3ZSkgSszr4Tr5ddE/XKeSm6DE2OrNrHkmw3TQBbzs9bgHHxsiqLZmnv7l1SpTzGk6IVaTY1QXXeDreJ5mqmk7ebpmgJm5I4eKvl592dkih+rWjANpgk1JYmoRepkuiD1ou+aa6Rv+PeTv8aqlJVtHMd8ZWSWpVboimS/n3jeK6XdGkHc3tEFyfHqK0apznRaNXyGCCaV7GpYqysfmiS/Fl0blS1fB6fcWm27Vau/zTRAXbUlxEouwow8+Pm4l/WlmtaR9pRVc7NpujI1pTz8s324MmRl6vC+jvgvOL/DnAN8MZieV69/JC+qVh3kJmNubvmfg6CIAiCIHhCsNwB1QeAq4AjSVN4ZWD+kaj5sWmvAVO9q0y23czOAs7qp7JBEARBEASjyLIGVO5+G3BbsfgpM/t34AtmdjL8/1xQr3vv83MIs7rB3a8ErgQwk3txQRAEQRAEK4j9NV64CvgocByPTfUd0aPcEcCOQaf7ntrKNVAPtnINk0keutnJfO61LvPJY5LDrWMyHy1571pSfassDNu4eFh0Kvl8b018qkySO9XF96QjGixkjt5lTtrEo6MhY9iK5Dt00QjUxftlwefL8wsLtCgyJLZW/v1NEXE1JWea2GBxyEyuvVmoWlvITDufg1dfqJrM+9fK4nMi+9CSPHV18Uiamcm/r7I210lM7ZJ2OS2apvE8BuvX5BqqybG8DVhH9q8s+1eSHGySf6s8nusWmhXRuYk2p1NfeNrWRc9Tm8v3oTMlfmNV0UzJuaY50Ey8wKomOdX03Ovl27QPXLWHosnCJWeb+EaVpS+R0xKTxHIVEa+ol1lHGl1JhSEs1I3NyXHZMyt1nstjXhUtYacuurFmXr5p6mGU18fl9++syG3q1fyYzoheZ0r8gnbLebqjrMdUvqCR7/9GCVlTPu8RPbGXQVtiYKKlM+nfOwtyMIrX1lh+7pVEz9iSZZHE0pQ8ob4uz40qqQapSB5S13y4UtuOamoXeNCJvrIsfVFTfAo196Hk8Cz38Lgzyf/XkmtqRfIFlqUdteS63ankx6zakr5DdG5j1n/+WGV/ndLnp/k2uPsDwHbgpB7lNgM37+d3BEEQBEEQrAj2OaAys0N7rKsCryJN4/2oWH01cIaZHdNV7jTSHawrf2q1DYIgCIIgGEGWmvL7qJmtJ7mgP0BKP3MO8HTgLe4+P4fxHpLA/D/N7IMkp/S3Aj8EPv54VDwIgiAIgmBUWGpAdTnwauB84GCSlOUm4O3ufu18IXe/z8x+CXg/8F4ey+X3lp+GXcLTDsl1FHfufCBbnprI/XSm67kHhpPnNKMpc63iCVIT/dCE6CjqPW7stcdk3l9S0TXH8hUV1RyJnqXcklxSC7QdMt8r/jkl0TmopktzqOkcujXyOXtNh9WUvHiIR4jOd4skgabMX1ea+TE9aXu+fDdLs/ORPKdZuZbHdP2mvM6TJdU15J+3o5lr9/bszGOySzRRE5P5923bnvtO1cQ/56A1IhyriTbm0bxC6zfkGisTrzKr5fWb6OT7V7P8PKiIBmG6ke8vY6oLgbmGeHe5aEXKeQw6kttuQvIH7pzJ61wVrcjEIbkurSTtam7PctR1Xe9XHyjRxric21ZSLY1onuQ8ay/I/Se+VupjJZ9nnR46DtEgmejGJg4+Mq9DU/Idio6rKjov6nkMdz5wV/5+0e4hvk6dkvYFvq/FBfusOrUGeozyz6+45lvM66O5/SrWv79Q1dTDSP3LxKdPOriy6Hdq45KLdSY/zrukHTem82M4Lp527bpcw8bUU0n691pefqyjx0yOaVu2ywXL51T7uM+PA9Euqi4wrRTNk54qcu6ozg3NESnbXXynWuLX1mks7O/6ZanUM5cBly3ng9z9FuBFA9coCIIgCIJghbG/ovQgCIIgCIKgIAZUQRAEQRAEA7K/PlQHlM0vPSVbfvjT38iW72jlc+rbdGpVvGy8JPnHZJJ/Ykzy4Ek+rio9ckNJjjL1Kq1LfikTwU7J8pxl4zIfXJcp52Y7f79MYeOi3VC/m6ZqQ+YkX5f6YomXTVlibjJnX3L13RJNgtTnabtzzdQpz8iP2ZX3sCTjohMbr+XLDdFA+WRep+MP/9ls+X933JEtd2qSR05y742L/83EmOSzktx4dfELGrdc8/ToXO57NTYnOjvxEivX8/2ZWCc+U9KG1o7n9Ws28u+rqrkYMFXOy8yJv9qmDXkezFo110DNit9Zubk9W7Za3g73TokOrbMhWy6p0GIJypqDUrxr1GdKpR6lsvpS7fs3qfYDCyIqMa6VF35etSr+YnLuVibyfapOiCeQ6F9Ug1TaKzoyyY1anhO9o1p3iT5GpHxskvqvk2M2qZ5NmsZUpC3rRUO2yfJlFz3qrbX887/C0syJN1dLfPdq0uN6Ke+vSnKky7V8J2anc83UzJ5c/1kRvWW9mb9/QvpXr8v1RPLgLTATk3y3Jv19S3L7WVuuXxUtn398STRabT3PerTzViNvly5lTLy+Svqd0o46UgeTa6I1ZR966br6JO5QBUEQBEEQDEgMqIIgCIIgCAYkBlRBEARBEAQDYprjZyiViOTIQRAEQRCsHK5097O7V8QdqiAIgiAIggGJAVUQBEEQBMGAxIAqCIIgCIJgQGJAFQRBEARBMCAxoAqCIAiCIBiQGFAFQRAEQRAMSAyogiAIgiAIBmRUcvl9D7gLOBq4f8h1WelEDAcnYjg4EcPBiPgNTsRwcCKGi/NUXTESxp7zmNkVapQV9EfEcHAihoMTMRyMiN/gRAwHJ2LYHzHlFwRBEARBMCCjNqC6ctgVeAIQMRyciOHgRAwHI+I3OBHDwYkY9sFITfkFQRAEQRCsREbtDlUQBEEQBMGKIwZUQRAEQRAEAzL0AZWZjZnZ+8zsQTN6nZKNAAAInUlEQVSbNbPvmNkLhl2vUcTMnmNmF5vZLWY2bWb3mtkVZnZcj7LHm9mXzWzKzHaY2afN7EnDqPcoY2bvMDM3s609tj3XzL5uZjNm9rCZXWRma4dRz1HDzJ5lZtcWbWvGzLaa2R9KmYjfIpjZsWZ2mZndX8TnNjO70MzWSLlVH0MzW2tm7yz6sx3F+XruImWX1e+ZWcnM3mZmd5tZ3cx+YGavfNx3ZkgsJ4ZFTM4tzuv7imvMVjP7MzMbX+RzX21mtxYxvMPM/uCA7NCIMgo+VJ8AzgQ+ANwBnAtcZ2bPd/evD7Feo8jbgZ8nCQV/ABwOvBH4npmd4u5bAczsaOAGYDewBVgLXAA808w2u3tjGJUfNYo4bQGme2w7AfgP4FbgzSQ/lguAY4EXH8Bqjhxm9kLgC8D3gXcBUyRPlqO7ykT8FsHMjgFuJJ2fFwM7gFOBdwLPBl5WlIsYJg4BLgTuBf4H+OVehfrs9/4K+BPgn4D/JsX8s2bm7n7Z47Qfw2Q5MVwDfBz4NvAR4Cc81i5PM7Nf8S7RtZmdV5S7Gng/8DzgIjNb4+7ve/x2ZYRx96G9gM2AAxd0rRsH7gS+Ocy6jeILeC5Qk3XHAnXgM13r/hGYAX6ma93pRaxfN+z9GJUXcBnpgnU9sFW2XQc8CKzvWveaIoYvHHbdhxiz9cDDwDVAaR/lIn6Lx2ZLEYdnyPpPFus3RQyzuIwBhxf/n1Ts/7k9yi2r3wOOAhrAxV3rjDQYuw8oD3ufhxFDoAY8t8d7LyzKn961bgJ4BPiilP0M6QfWpmHv8zBew57yOxNoA5fMr3D3OnApcGrxSy4ocPdvutxdcvc7gFuA47tWv4LU0O/tKvdV4HYgTNoAM/tFUvt7U49t64EXkAape7o2fYrUWazmGP4WcBjwDnfvmNmkmWX9SMRvSdYXf7fJ+oeADtCIGD6Gu8+5+8PLKLrcfu9lQJU0AJsv58CHSXcBT/1p1HuUWE4M3b3h7t/sselfir/d15jnAwfTFcOCfwAmgZfsb11XMsMeUJ0I3C4dBqTb4QAnHOD6rDjMzEgXuEeK5aOAQ4Hv9ih+IynmqxozKwMfAj7m7j/sUeSZpOnwLIbFYPZmVncMTwf2AEeZ2Y9JF/c9ZvbhLp1FxG/fXF/8vdTMTjCzY8zsN4DzgYvcfZqIYV/02e+dSJrmv7VHOYjYKocXfx/pWjcfI433TaQfBasyhsMeUB1B+lWmzK878gDWZaVyDukW9uXF8hHF38XiepCZjR2Iio0wrweeDPz5ItuXiuFqbpfHki70nwf+jXRX4J9JMf14USbitw/c/cuktvcCkg7tXtL084fc/Y+LYhHD/uin3zsC2FbcldJyELFV3kb6EfWvXeuOANru/pPugsWA/1FWaQyHLUqfAOZ6rK93bQ8WwcyeTrrF+i2S/gIei9lSce21/QmPmR0M/CXwLnffvkixpWK4mtvlWpJ49SPuPv9U3zVmVgPOM7MLifgth3tImp2rSReglwBbzOxhd7+YiGG/9NPvxXVnmZjZFtJd6Te4+66uTRMkHVovVm37HPaAapYkllPGu7YHPTCzw4EvkZ5oOdPd28Wm+ZhFXHvzbtJTVR/aR5mlYria4ze/75+T9Z8FziPpT2aKdRG/HpjZb5J0o8e5+/3F6msKLdr7zOxzRBvsl376vbjuLINiGvrdwKXu/mHZPEsSsfdi1bbPYU/5PcRjt2q7mV/34AGsy4rBzDaQbr9uBH7V3bvjNH/berG47nD31Xp36ljgdcBFwJFm9hQzewqpA6gWywexdAxXc7uc33cVVM/f+t9ExG8p3gB8v2swNc+1pLt/JxIx7Jd++r2HgMML/amWg4gtlrwgP0X60f76HkUeAspmdqi8r0YSq6/KGA57QHUzcFzxREs3J3dtD7oohL9fAI4DznD3H3Vvd/cHgO2kR2OVzazumB5FavMXAXd3vU4mxfNu0iPCW4EWEsOisziB1R3Dm4q/R8n6ec3EdiJ+S3EYUO6xvlr8rRAx7Is++72bSQPX46VcXHcAMzuZ9GTfd4Gz3b3Vo9h8jDTeJ5H62FUZw2EPqK4idSyvm19RCAd/D/iOu983rIqNIsXTaZeTplXOcvdvLVL0auCMbtsJMzuNNGhYzdnDtwIv7/G6hSQMfjnp9vZu4KvAb5vZuq73/w5JQ7SaY3hF8ffVsv41pAHA9RG/JbkdONEWZjh4JekJqR9EDPeL5fZ7nweapDuF8+WMdCfmAaCXdcCqwMyOJ92Vuof0g32xqbuvkaQT58v680lT/l96vOo4ytjCBx0OcAXMriBdyP6eZOj5u6RfFKe5+w3DrNuoYWYfAP6IdIfqCt3u7p8pyh1DenpoF/BBUgf8VuB+4DmrdcpvMczseuAQd/+5rnXPInWsPyLpXY4G3gLc4O4vGkY9RwUzuxT4fVIb/C+S6/JZwF+7+5aiTMRvEQoPtK+RxOgXF3/PILmff8zdX1uUixgWmNkbSRKHI0kX7WtIfRykpyN399PvmdnfFNsuITml/zrpwYBz3P2zB2SnDjBLxZA0mL+FdPd5C2lw2c1d3T/izewNpIeiriI98fs84FUkj7r3PH57MsIM21mUpF/5W9KcbJ3kBfKiYddrFF8k/xpf7CVln0Fq5NPATpKD7WHD3odRfNHDKb1Y/wvAN0gCy5+QLn7rhl3fYb9IU1N/QfoV2yCljHpTxK+vGG4mOaE/VMTwx6SLWCVi2DNe9+yj73tKV7ll9Xuk2Zk/LT53jnT3+pxh7+cwY1i8Fr2+AJ/o8ZmvBW4rYngnySjZhr2vw3oN/Q5VEARBEATBSmfYGqogCIIgCIIVTwyogiAIgiAIBiQGVEEQBEEQBAMSA6ogCIIgCIIBiQFVEARBEATBgMSAKgiCIAiCYEBiQBUEQRAEQTAgMaAKgiAIgiAYkBhQBUEQBEEQDMj/AcstBe+2dVSTAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Original labels >>>>>>>>>>>>>>>>>>>>>>>>>\n", "Image #1: cat (3)\n", "Image #2: bird (2)\n", "Image #3: ship (8)\n", "Image #4: bird (2)\n", "Predicted labels >>>>>>>>>>>>>>>>>>>>>>>>>\n", "Image #1: frog (6)\n", "Image #2: deer (4)\n", "Image #3: cat (3)\n", "Image #4: airplane (0)\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "stream", "text": [ "Original labels >>>>>>>>>>>>>>>>>>>>>>>>>\n", "Image #5: airplane (0)\n", "Image #6: dog (5)\n", "Image #7: truck (9)\n", "Image #8: bird (2)\n", "Predicted labels >>>>>>>>>>>>>>>>>>>>>>>>>\n", "Image #5: ship (8)\n", "Image #6: bird (2)\n", "Image #7: cat (3)\n", "Image #8: dog (5)\n", "[Step #0] Loss: 0.0133 Accuracy: 0.0000% Attack success rate: 100.0000% Time elapsed: 46.6765s (total 64 images)\n", "[Step #10] Loss: 0.0140 Accuracy: 0.0000% Attack success rate: 100.0000% Time elapsed: 508.1112s (total 704 images)\n", "[Validation] Loss: 0.0137 Accuracy: 0.0000% Attack success rate: 100.0000% Time elapsed: 738.7502s (total 1024 images)\n", "[Size of Perturbation]\n", "Average L0 distance (the number of changed parameters): 2954.9228515625\n", "Average L2 distance: 2.029694177210331\n", "Average MSE: 0.0015759490706841461\n", "Average Linf distance (the maximum changed values): 0.10391072370111942\n" ], "name": "stdout" } ] } ] }