{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Adversarial Robustness toolbox (ART) example \n", "\n", "The script demonstrates a simple example of using ART with TensorFlow v2.x. The example train a small model on the MNIST\n", "dataset and creates adversarial examples using the Fast Gradient Sign Method. Here we use the ART classifier to train\n", "the model, it would also be possible to provide a pretrained model to the ART classifier.\n", "The parameters are chosen for reduced computational requirements of the script and not optimised for accuracy.\n", "\n", "* reference: https://github.com/Trusted-AI/adversarial-robustness-toolbox/blob/main/examples/get_started_tensorflow_v2.py" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Image Classification\n", "\n", "* Date: 04/06/2024\n", "* Author: Pankaj Maurya\n", "* Type of attack: ART tool attack (FGSM)\n", "\n", "### Metadata\n", "* Dataset: MNIST\n", "* Size of training set:60,000\n", "* Size of testing set : 10,000\n", "* Number of class : 10\n", "* Original Model: CNN model trained with ART classifier " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'\\nDescription: Uncomment and run to install libraries. Needed for running first time only. \\n'" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\"\"\"\n", "Description: Uncomment and run to install libraries. Needed for running first time only. \n", "\"\"\"\n", "# !pip install adversarial-robustness-toolbox\n", "# !pip install tensorflow==2.10\n", "# !pip install matplotlib==3.8.2" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "\"\"\"\n", "Description: import library \n", "\"\"\"\n", "import numpy as np\n", "from art.attacks.evasion import FastGradientMethod\n", "from art.estimators.classification import TensorFlowV2Classifier\n", "from art.utils import load_mnist\n", "\n", "import random\n", "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Step 1: Load the MNIST dataset" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "\"\"\"\n", "Description: Load mnist data with art functionality. \n", "\"\"\"\n", "(x_train, y_train), (x_test, y_test), min_pixel_value, max_pixel_value = load_mnist()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "'''\n", "New Block: Additional block added for creating function for visualization of images\n", "Description: visualize sample images. \n", "'''\n", "def plot_images(x_train, y_train=None, rows=3):\n", " #visualize x_train and y_train\n", " ROWS=rows\n", " random_indices=random.sample(range(x_train.shape[0]),ROWS*ROWS)\n", " # print(\"the random indices are: \", random_indices)\n", "\n", " #taking sample image from x_train dataset\n", " sample_images=x_train[random_indices,: ]\n", " if y_train is not None:\n", " sample_label=y_train[random_indices]\n", " else:\n", " sample_label = [999999]*x_train.shape[0]\n", " \n", "\n", " fig,ax=plt.subplots(nrows=ROWS,ncols=ROWS,figsize=(12,9),sharex=True,sharey=True)\n", " for i in range(ROWS*ROWS):\n", " subplot_row=i // ROWS\n", " subplot_col=i % ROWS\n", " ax[subplot_row,subplot_col].imshow(sample_images[i,:]) #,cmap='gray_r'\n", " ax[subplot_row,subplot_col].set_title(\"No. %d\" % sample_label[i])\n", " plt.tight_layout()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "((60000, 28, 28, 1), (60000, 10), (10000, 28, 28, 1), (10000, 10))" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\"\"\"\n", "New Block: check shape of image and label after loading. label are one hot encoded\n", "Description: check shape of traing and label data\n", "\"\"\"\n", "x_train.shape, y_train.shape, x_test.shape, y_test.shape" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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s3//fr355pvKyMhQ06ZNAzImgPojnPVmzZo1Oumkk7Rq1Sq1b99e8fHxatWqlW6//XZVVlbWasyI56BeW7RokSPJ+fDDD528vDwnJibGue6666qODxkyxOnRo0fV15s3b3YkOVOmTKk2zk033eRIct56661areOmm25y0tLSnO+//95xHMfp2LGjc84559RqLAD1U32pNz931113OZKctWvXBmQ8AOFXH+vNo48+6khyVq1aVeexANQf9aHeNG/e3GnZsqXj9Xqd22+/3fnLX/7iXHbZZY4k59Zbb639xUUw7siwSKdOnXT55ZfrySefdH2C/6pVqyRJM2fOrJbfeOONkqTXXnvN73k///xzPfzww7r//vvl9Xr9Ph+AfcJVb35uw4YNmjNnji6++GKdffbZdR4PQP1TX+rNkiVL1KZNG+OzMwA0DOGqNwcPHtQ333yjOXPmaO7cuRo/frxeeOEFjR49Wg8//LDKysr8HjPS0ciwzOzZs1VeXu762a7du3crKipKXbp0qZYnJyerRYsW2r17t99zXn/99TrjjDM0fvz4Wq0ZgJ3CUW/+22effaYLLrhAPXv21NNPP12nsQDUb+GuN1988YU2btyoSy65RDExPAsfaMjCUW+aNGkiSbr00kur5Zdeeqm+++47ffzxx36PGeloZFimU6dOmjhxYo1dREnyeDwBme+tt97S6tWrdf3112vXrl1Vr/Lycn333XfatWuXSktLAzIXgPol1PXmv+Xn52vkyJFKSEjQqlWrFB8fH/A5ANQf4aw30g93Y0jsVgJEgnDUmx93SUlKSqqWt23bVpL0zTffBGyuSEEjw0I/dhHvvffeo4517NhRlZWV2r59e7W8qKhIxcXF6tixo19zffnll5KkCy+8UGlpaVWvvXv36q233lJaWpr+/Oc/1/5iANRroaw3Pzpw4IBGjhwpn8+nN954Q+3atavVOADsEo5686MlS5aoc+fOOv300+s0DgA7hLre9O3bV5K0d+/eavmPDx1t06aN32NGOhoZFurcubMmTpyoJ554QoWFhdWOjR07VpI0b968avmDDz4oSTrnnHOqsry8POXl5dU419lnn63ly5cf9WrTpo369eun5cuXa9y4cQG4KgD1USjrjSQdOnRIY8eO1d69e7Vq1Sp17dq1jlcAwBahrjc/+vjjj7Vt2zZddtlltVw5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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "'''\n", "New Block: convert label from one hot encoder. it will randomly plot rows * rows labels with labels.\n", "Description: visualize few training dataset\n", "'''\n", "plot_images(x_train, np.argmax(y_train, axis=-1), rows=4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Step 2: Create the model" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "WARNING:tensorflow:Please fix your imports. Module tensorflow.python.training.tracking.autotrackable has been moved to tensorflow.python.trackable.autotrackable. The old module will be deleted in version 2.11.\n", "WARNING:tensorflow:Please fix your imports. Module tensorflow.python.training.tracking.base has been moved to tensorflow.python.trackable.base. The old module will be deleted in version 2.11.\n", "WARNING:tensorflow:Please fix your imports. Module tensorflow.python.training.tracking.base_delegate has been moved to tensorflow.python.trackable.base_delegate. The old module will be deleted in version 2.11.\n", "WARNING:tensorflow:Please fix your imports. Module tensorflow.python.training.tracking.data_structures has been moved to tensorflow.python.trackable.data_structures. The old module will be deleted in version 2.11.\n", "WARNING:tensorflow:Please fix your imports. Module tensorflow.python.training.tracking.graph_view has been moved to tensorflow.python.checkpoint.graph_view. The old module will be deleted in version 2.11.\n", "WARNING:tensorflow:Please fix your imports. Module tensorflow.python.training.tracking.util has been moved to tensorflow.python.checkpoint.checkpoint. The old module will be deleted in version 2.11.\n", "WARNING:tensorflow:Please fix your imports. Module tensorflow.python.training.checkpoint_management has been moved to tensorflow.python.checkpoint.checkpoint_management. The old module will be deleted in version 2.9.\n", "WARNING:tensorflow:Please fix your imports. Module tensorflow.python.training.tracking.resource has been moved to tensorflow.python.trackable.resource. The old module will be deleted in version 2.11.\n", "WARNING:tensorflow:Please fix your imports. Module tensorflow.python.training.tracking.asset has been moved to tensorflow.python.trackable.asset. The old module will be deleted in version 2.11.\n", "WARNING:tensorflow:Please fix your imports. Module tensorflow.python.training.tracking.python_state has been moved to tensorflow.python.trackable.python_state. The old module will be deleted in version 2.11.\n", "WARNING:tensorflow:Please fix your imports. Module tensorflow.python.training.saving.checkpoint_options has been moved to tensorflow.python.checkpoint.checkpoint_options. The old module will be deleted in version 2.11.\n" ] } ], "source": [ "\"\"\"\n", "Description: Import librabry for tensorflow model\n", "\"\"\"\n", "import tensorflow as tf\n", "from tensorflow.keras import Model\n", "from tensorflow.keras.layers import Dense, Flatten, Conv2D, MaxPool2D" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "\"\"\"\n", "Description: create class to design architecture of model\n", "\"\"\"\n", "class TensorFlowModel(Model):\n", " \"\"\"\n", " Standard TensorFlow model for unit testing.\n", " \"\"\"\n", "\n", " def __init__(self):\n", " super(TensorFlowModel, self).__init__()\n", " self.conv1 = Conv2D(filters=4, kernel_size=5, activation=\"relu\")\n", " self.conv2 = Conv2D(filters=10, kernel_size=5, activation=\"relu\")\n", " self.maxpool = MaxPool2D(pool_size=(2, 2), strides=(2, 2), padding=\"valid\", data_format=None)\n", " self.flatten = Flatten()\n", " self.dense1 = Dense(100, activation=\"relu\")\n", " self.logits = Dense(10, activation=\"linear\")\n", "\n", " def call(self, x):\n", " \"\"\"\n", " Call function to evaluate the model.\n", "\n", " :param x: Input to the model\n", " :return: Prediction of the model\n", " \"\"\"\n", " x = self.conv1(x)\n", " x = self.maxpool(x)\n", " x = self.conv2(x)\n", " x = self.maxpool(x)\n", " x = self.flatten(x)\n", " x = self.dense1(x)\n", " x = self.logits(x)\n", " return x\n" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "\"\"\"\n", "Description: Create architecture of model. \n", "\"\"\"\n", "model = TensorFlowModel()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "\"\"\"\n", "Description: Create loss object for model. \n", "\"\"\"\n", "loss_object = tf.keras.losses.CategoricalCrossentropy(from_logits=True)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "\"\"\"\n", "Description: create optimizer\n", "\"\"\"\n", "optimizer = tf.keras.optimizers.Adam(learning_rate=0.01)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Step 3: Create the ART classifier" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "\"\"\"\n", "Description: create classifier with art library\n", "\"\"\"\n", "classifier = TensorFlowV2Classifier(\n", " model=model,\n", " loss_object=loss_object,\n", " optimizer=optimizer,\n", " nb_classes=10,\n", " input_shape=(28, 28, 1),\n", " clip_values=(0, 1),\n", ")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Step 4: Train the ART classifier" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "\"\"\"\n", "Description: train classifier. \n", "\"\"\"\n", "classifier.fit(x_train, y_train, batch_size=64, nb_epochs=5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Step 5: Evaluate the ART classifier on benign test examples" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABBAAAAN6CAYAAAA3rbpCAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAABuTElEQVR4nO3deZyWdbk/8GtgYAAdx5BlIEZkcSkXTFRETTFNRI9KckpNE82lBTgpmifMNJdzJvOkpCGoJZCJmh3R43LoKAnmT3DBzExFIRcMBpViVQaGeX5/+GoCxfnOMM8yy/v9ej2vmvv7me99zV1zzXDN/TxPUSaTyQQAAABAPdoVugAAAACg+TNAAAAAAJIMEAAAAIAkAwQAAAAgyQABAAAASDJAAAAAAJIMEAAAAIAkAwQAAAAgyQABAAAASDJAAAAAAJIMEGiUadOmRVFRUXTq1Cn++te/fmx92LBhsddee+WllkcffTS+8IUvRFlZWZSWlsbgwYPj7rvvzsu5AVqD5tDT/1HD1h5VVVU5PTdAa6Ovk2vFhS6Alqm6ujp+9KMfxY033liQ80+dOjXOPvvs+OIXvxj/+Z//Ge3bt4+FCxfGkiVLClIPQEtW6J4eEXHllVdGv379tji24447FqYYgBZOXydXDBDYJvvuu2/ceuutMWHChOjdu3dez/3GG2/EmDFjYty4cfHTn/40r+cGaI0K2dP/YcSIEbH//vsX5NwArY2+Tq54CgPb5JJLLolNmzbFj370o2S2pqYmrrrqqhgwYECUlJTELrvsEpdccklUV1dv07mnTJkSmzZtiiuvvDIiItauXRuZTGab9gKgsD19c2vWrIlNmzY1eR+Atk5fJ1cMENgm/fr1izPOOCNuvfXWWLp0ab3Zc845Jy677LLYb7/94vrrr4/DDz88Kisr45RTTtmmcz/66KOxxx57xMMPPxx9+vSJ0tLS2GmnneIHP/hB1NbWbtOeAG1ZIXv6PxxxxBGxww47RJcuXeKEE06I1157rUn7AbRl+jq5YoDANvv+978fNTU1cc0113xi5o9//GNMnz49zjnnnLjnnnvi29/+dkyfPj0uuuiiuO++++Kxxx5r9Hlfe+21WLJkSZx11lnx9a9/PX7zm9/EiBEj4uqrr47vf//7TfmSANqsQvX0Ll26xJlnnhmTJk2KmTNnxsUXXxyzZ8+Ogw8+2OvaADSBvk4uGCCwzfr37x9f+9rX4pZbbolly5ZtNfPwww9HRMT48eO3OH7hhRdGRMRDDz3U6POuXbs2/v73v8cVV1wRV155ZYwaNSruuOOOOOaYY+KnP/1prFmzptF7ArR1herpX/nKV2Lq1KlxxhlnxMiRI+Oqq66K3/72t7FixYr4j//4j0bvB8CH9HVywQCBJrn00kujpqbmE59f9eabb0a7du1i4MCBWxwvLy+PHXfcMd58881Gn7Nz584REXHqqaducfzUU0+NDz74IP7whz80ek8ACtPTt+bQQw+NIUOGxKOPPpqV/QDaKn2dbDNAoEn69+8fp59+er2TzYiIoqKirJ3zH68k27Nnzy2O9+jRIyIi/v73v2ftXABtSSF6+iepqKiIv/3tbzk/D0Brpq+TbQYINNk/Jptbe35V3759o7a29mMvmrJ8+fJYuXJl9O3bt9HnGzx4cERE/PWvf93i+D9eIKZ79+6N3hOAD+W7p3+Sv/zlL/o5QBbo62STAQJNNmDAgDj99NPj5ptvjqqqqi3Wjj322IiImDhx4hbHr7vuuoiIOO644+qOLV68OBYvXpw838knnxwREb/4xS/qjtXW1sbUqVOja9eudQMGABov3z393Xff/dixhx9+OBYsWBDHHHNMY8sH4CP0dbKpuNAF0Dp8//vfj9tvvz0WLlwYe+65Z93xQYMGxejRo+OWW26JlStXxuGHHx5PP/10TJ8+PUaOHBlHHHFEXfbII4+MiIg33nij3nOdeOKJceSRR0ZlZWW89957MWjQoLjvvvviiSeeiJtvvjlKSkpy8jUCtBX57OkHH3xwfO5zn4v9998/ysrK4rnnnovbbrstKioq4pJLLsnJ1wfQ1ujrZIsBAlkxcODAOP3002P69OkfW/v5z38e/fv3j2nTpsXMmTOjvLw8JkyYEJdffvk2nauoqCjuu+++uPTSS+Puu++OadOmxe677x6/+tWv4rTTTmvqlwLQ5uWzp5988snx0EMPxf/93//F+++/H7169Ypzzz03Lr/88o+91g0A20ZfJ1uKMplMptBFAAAAAM2b10AAAAAAkgwQAAAAgCQDBAAAACDJAAEAAABIMkAAAAAAkgwQAAAAgKTiQhfwUbW1tbF06dIoLS2NoqKiQpcDZEkmk4k1a9ZE7969o107s8u2RF+H1kdPb7v0dGidGtrXczZAmDRpUlx77bVRVVUVgwYNihtvvDEOPPDA5OctXbo0KioqclUWUGBLliyJPn36FLoM8khfh9ZLT2979HRo3VJ9PScDhLvvvjvGjx8fU6ZMiSFDhsTEiRNj+PDhsXDhwujRo0e9n1taWhoREYfGsVEcHXJRHlAANbExnoiH677HaTv0dWh99PS2S0+H1qmhfT0nA4Trrrsuzj333DjrrLMiImLKlCnx0EMPxW233Rbf+9736v3cf9wKVRwdorhIU4JWI/Phf7jdse3R16EV0tPbLD0dWqkG9vWsP2ltw4YNsWDBgjjqqKP+eZJ27eKoo46KefPmZft0AAAAQB5k/Q6E9957LzZt2hQ9e/bc4njPnj3jlVde+Vi+uro6qqur6z5evXp1tksCII/0dYDWQ08HNlfwl82trKyMsrKyuocXZQFo2fR1gNZDTwc2l/UBQrdu3aJ9+/axfPnyLY4vX748ysvLP5afMGFCrFq1qu6xZMmSbJcEQB7p6wCth54ObC7rT2Ho2LFjDB48OGbPnh0jR46MiA/fL3b27NkxduzYj+VLSkqipKQk22UAUCD6OkDroacDm8vJuzCMHz8+Ro8eHfvvv38ceOCBMXHixFi3bl3duzIAAAAALUtOBggnn3xyvPvuu3HZZZdFVVVV7LvvvjFr1qyPvbAiAAAA0DLkZIAQETF27NitPmUBAAAAaHkK/i4MAAAAQPNngAAAAAAkGSAAAAAASQYIAAAAQJIBAgAAAJBkgAAAAAAkGSAAAAAAScWFLoC2rf3AfslMr1+9m8zMe3CfZGbnHz2dzGRqapIZAACAtsgdCAAAAECSAQIAAACQZIAAAAAAJBkgAAAAAEkGCAAAAECSAQIAAACQZIAAAAAAJBUXugDatv1+syiZuaL7H9MbfevxZOSIP30zmel8/9PpcwEAALRB7kAAAAAAkgwQAAAAgCQDBAAAACDJAAEAAABIMkAAAAAAkgwQAAAAgCQDBAAAACDJAAEAAABIKi50AbRuRQfsXe/6eV0nN2CXLtkpBgAAWoGikpJkpt322+Whkoh3Ru6ezKw88oNkZtGwaVmoJm2PJ76WzGx4N/3vj67Ppf8W3/3OPyYzte+/n8w0J+5AAAAAAJIMEAAAAIAkAwQAAAAgyQABAAAASDJAAAAAAJIMEAAAAIAkAwQAAAAgyQABAAAASCrO9oY//OEP44orrtji2O677x6vvPJKtk9FC7Dogvb1rn+6fZc8VRKx/fw3kplNuS8DgAYo7tc3mdlYvmMys75nSZNrWfaVDcnMa8OmJTObMrVNriUi4jtLhyYzrx1QnZVzAfm3/vgDk5le31uUzNyxy6NNrqV9UfrvzZsyTT/Ph/tkZZukPx8yPTsbjUxHdv3ct9KZsU81vZY8yvoAISJizz33jEcf/ef/kYqLc3IaAAAAIE9y8i/74uLiKC8vz8XWAAAAQAHk5DUQXnvttejdu3f0798/TjvttHjrrbdycRoAAAAgT7J+B8KQIUNi2rRpsfvuu8eyZcviiiuuiM9//vPx4osvRmlp6cfy1dXVUV39z+fprV69OtslAZBH+jpA66GnA5vL+h0II0aMiC9/+cuxzz77xPDhw+Phhx+OlStXxq9//eut5isrK6OsrKzuUVFRke2SAMgjfR2g9dDTgc3l/G0cd9xxx9htt91i0aKtv1LohAkTYtWqVXWPJUuW5LokAHJIXwdoPfR0YHM5f3uEtWvXxuLFi+NrX/vaVtdLSkqipKTpb7EEQPOgrwO0Hno6sLms34Fw0UUXxdy5c+ONN96IJ598Mr70pS9F+/bt49RTT832qQAAAIA8yfodCG+//XaceuqpsWLFiujevXsceuihMX/+/OjevXu2T0WBFX1uz2Tm4UMmJRKds1LLlxcPT2Zq/7YyK+cCaK2Ky3smM5t6dat3fdHpH3/B5I8asO/bycwP+t2bzPQu/iCZ+XT7LslMyjub3k9mDvvT1u+03NxfX0pf307vpP+20/e2rT8tdEvvNCAD5Fu7QZ9JZr70o/9LZsbt+JdslEMTvLpxfTLT98HaPFSSX1kfINx1113Z3hIAAAAosJy/iCIAAADQ8hkgAAAAAEkGCAAAAECSAQIAAACQZIAAAAAAJBkgAAAAAEkGCAAAAEBScaELoOXa0L1zMjOgOJ3JhpeqypOZvhvfzUMlAM3TulFDkpkLKu9MZkZutzIL1TREUTIx64NuycxxfzopmVn/Wlm967s8tD65R+e5f0hmBsbryUxDbMrKLkAh1P7x5WTm9p+OSGbGXT4pG+W0SotrPqh3/c6VB2TlPI9dckgyUzLrmaycqzlxBwIAAACQZIAAAAAAJBkgAAAAAEkGCAAAAECSAQIAAACQZIAAAAAAJBkgAAAAAEkGCAAAAEBScaELoHkqKk7/XyPz3XfzUEnEPWt3SmYGXPj3ZKYmG8UANEPtu3dPZi7+0e3JzHFd1ja5lsvfHZTMzLrx0GSm2y8XpE+WqU1Gete8lN4HIE+Ke5UnMxWn/SUPleTXtNW9k5lbX0//bFg3p0cy0+ndTL3rXafOS+7RECXxTFb2aWncgQAAAAAkGSAAAAAASQYIAAAAQJIBAgAAAJBkgAAAAAAkGSAAAAAASQYIAAAAQFJxoQugeVo29sBk5rnP/iwPlURc/ptTkpldlmTn/VwBWqTaTcnImtrODdhobZNLWV69QzLT/Y4/JDO1Gzc0uRaA5uZvR+ySzDwx8KbcF9JA1ZmNycy+t34nmek/7e1kpuyNRelMpDPkljsQAAAAgCQDBAAAACDJAAEAAABIMkAAAAAAkgwQAAAAgCQDBAAAACDJAAEAAABIMkAAAAAAkoob+wmPP/54XHvttbFgwYJYtmxZzJw5M0aOHFm3nslk4vLLL49bb701Vq5cGYccckhMnjw5dt1112zWTY59UJ4pdAl1OlcVFboEgGZt04q/JTN3LjswmTll14eSmcU1H9S7vvQrXZN71K5fkswAtEbtznin0CU0ysFX/lsys/PNTyYzNdkohmah0XcgrFu3LgYNGhSTJk3a6vqPf/zjuOGGG2LKlCnx1FNPxXbbbRfDhw+P9evXN7lYAAAAoDAafQfCiBEjYsSIEVtdy2QyMXHixLj00kvjxBNPjIiIX/7yl9GzZ8+477774pRTTmlatQAAAEBBZPU1EF5//fWoqqqKo446qu5YWVlZDBkyJObNm5fNUwEAAAB51Og7EOpTVVUVERE9e/bc4njPnj3r1j6quro6qqur6z5evXp1NksCIM/0dYDWQ08HNlfwd2GorKyMsrKyukdFRUWhSwKgCfR1gNZDTwc2l9UBQnl5eURELF++fIvjy5cvr1v7qAkTJsSqVavqHkuWeGVmgJZMXwdoPfR0YHNZfQpDv379ory8PGbPnh377rtvRHx4m9NTTz0V3/rWt7b6OSUlJVFSUpLNMgAoIH0doPXQ04HNNXqAsHbt2li0aFHdx6+//no8//zz0bVr19h5553j/PPPj6uvvjp23XXX6NevX/zgBz+I3r17x8iRI7NZNwAAAJBHjR4gPPvss3HEEUfUfTx+/PiIiBg9enRMmzYtLr744li3bl2cd955sXLlyjj00ENj1qxZ0alTp+xVTZMU99r600k2d8QXns99IRGxbNP7yUyvx/6WzNRmoxiAFqp99+7JzDmf/n1WznXi09+sd33nN/+UlfNkS3FFn2SmZsnbeagEIOL9B9K/h8feua+joaZOuD6Zef6CdJ+9/MmRyUz3xzskM5+a5p39Cq3RA4Rhw4ZFJpP5xPWioqK48sor48orr2xSYQAAAEDzUfB3YQAAAACaPwMEAAAAIMkAAQAAAEgyQAAAAACSDBAAAACAJAMEAAAAIMkAAQAAAEgqLnQB5N/yY/slM//z6Ul5qCTiqKkXJzN9X3wyD5UAtFxvnrNrMnN8l98mM3PWd0hm+l+8ut71muQOEUWf2zOZ+fTkN5OZPbdfmsx8ttMjycy3Hzqr3vVdvzM/uQdAQ/RYsDaZOfG145KZ+3d9KBvlJO3TsVMys2eHd5KZ04bfksx8cPSGZOa5y9L1jP6/8+pdL388/Tf0HWbo+5/EHQgAAABAkgECAAAAkGSAAAAAACQZIAAAAABJBggAAABAkgECAAAAkGSAAAAAACQZIAAAAABJxYUugPzrc8Zf8nauv9d+UO/6gFveSO5R04DzFPcqT2YyXcuSmVfO+1QyU7aw/rlb7/95M7lHzdt/TWYAGmpDWSYr+8xatU8yU7v83XrXF93+ueQefzxicjLTuahjMpMtT5/0k3rXz5h0RnKPTa8uzlY5QGs2/4VkpOaL6f732cvHJDOPnHFtMvPp9l2SmXxpSN8/pKQ2mVl0/JR616v/Jf2viz0PT1/fz3xvUTKz6e9/T2ZaGncgAAAAAEkGCAAAAECSAQIAAACQZIAAAAAAJBkgAAAAAEkGCAAAAECSAQIAAACQVFzoAsiu9juWJTODdnw7D5V86IDffqfe9d3fSb8X7qKJByUz/33iT5OZvTt2SGayYcF3NyUzVxx6YjJT89el2SgHaAN6fa4qK/us3Jh+P/BPPVL/+3S/ussvknvM+mDHZObfHjgzmRnwm/XJzGvntE9mFh19a73rH0xKv2d4xy8mIwANktm4IZnZ5dJ5ycy5lx6azFQfd0C960u+mO6hj530X8lMQ34L71W8fQNSTdelqP6fYxERrx9f/8+FiIj+JWcnM7ueuaBBNbUk7kAAAAAAkgwQAAAAgCQDBAAAACDJAAEAAABIMkAAAAAAkgwQAAAAgCQDBAAAACDJAAEAAABIKm7sJzz++ONx7bXXxoIFC2LZsmUxc+bMGDlyZN36mWeeGdOnT9/ic4YPHx6zZs1qcrGk1Xx2l2Tmsm6PZeVcCzZsSmY6vdWx3vW9n9qY3OOhnjc1oJoODcjkx+CO7ZOZd2/ZLpn51HHZqAZo6Yo61N9HIyK+3vf/ZeVcU/r8Ppmpifp7/zUr9kru8cRJn01mBi6an8w0yBkHNHmLzsXpn1Xpn4gAzU/JQ8/Uuz7wofQe555/aDLTvmePZOaN8wYmM8ef9GQy8589nktmsuGc/Z5IZn7fZadkpvb997NRTt40+g6EdevWxaBBg2LSpEmfmDnmmGNi2bJldY8777yzSUUCAAAAhdXoOxBGjBgRI0aMqDdTUlIS5eXl21wUAAAA0Lzk5DUQ5syZEz169Ijdd989vvWtb8WKFStycRoAAAAgTxp9B0LKMcccEyeddFL069cvFi9eHJdcckmMGDEi5s2bF+3bf/y54dXV1VFdXV338erVq7NdEgB5pK8DtB56OrC5rN+BcMopp8QJJ5wQe++9d4wcOTIefPDBeOaZZ2LOnDlbzVdWVkZZWVndo6KiItslAZBH+jpA66GnA5vL+ds49u/fP7p16xaLFi3a6vqECRNi1apVdY8lS5bkuiQAckhfB2g99HRgc1l/CsNHvf3227FixYro1avXVtdLSkqipKQk12UAkCf6OkDroacDm2v0AGHt2rVb3E3w+uuvx/PPPx9du3aNrl27xhVXXBGjRo2K8vLyWLx4cVx88cUxcODAGD58eFYLBwAAAPKn0QOEZ599No444oi6j8ePHx8REaNHj47JkyfHCy+8ENOnT4+VK1dG79694+ijj46rrrrK5DJPln5+u7yda3DHj78o5ke9+I2f5aGSluf3+85IZk448OvpjZ7+UxaqAZqzd84enMx8rXR+Hir50DEv/Wu96x2/+GYDdnk9O8XkyavLeiQzA2JpHioBaJk2LX8nmam4Kp158fadk5lp/1tV7/qZO2SnX//7Ti8nM090PCKZifezUEweNXqAMGzYsMhkMp+4/tvf/rZJBQEAAADNT85fRBEAAABo+QwQAAAAgCQDBAAAACDJAAEAAABIMkAAAAAAkgwQAAAAgCQDBAAAACCpuNAFkF3ru9cWuoSsa1+UnnNtymTn627Iub5b9bl61w8pfS25xwWPfDWZ+cxfFiczm5IJoKVbc9gHeTvXaW8clcyUHLus3vVMtoppgMzQQcnMg8NvSGZqEr8OdX+gU4NrAqhP0eA9k5ma0pI8VJI9bw1P11vTa0Mys+uZC5KZzKo1yczbG7omEkuTezTE8a/+SzJTu+69rJyrOXEHAgAAAJBkgAAAAAAkGSAAAAAASQYIAAAAQJIBAgAAAJBkgAAAAAAkGSAAAAAASQYIAAAAQFJxoQsgu/rf+0E6dGru68ima/82IJkZ/6nXsnKuTZnaZOaRaUPrXX+g20HJPT5zw6vpWt5bkcwArV/xq12SmZrDNyUzP1/VP5lZ87UdkpnMxr8lM1lRVJSMvHl+JpnZo0NJMnPgc6fUu97tzvnJPYDmq12nTsnMilM+l8yUn/V6k2u5uu8vkpk9O3Rs8nmypX1R+u/NDfr9+YPOyUzl8aOTmTXnrkpmLu02O5nJhsX/r28ys8vGpXmoJL/cgQAAAAAkGSAAAAAASQYIAAAAQJIBAgAAAJBkgAAAAAAkGSAAAAAASQYIAAAAQJIBAgAAAJBUXOgCyK4Ob72XzNyxpkcyc1rpO9koJyvO/9SrDUgV5byOf/iPf7ut3vVrx30tucem91Zkqxygldv5h08mM8NeHZfMdJ1flczU/OWNhpSUF6/eOjiZWXToLcnMGzXvJzMlv+raoJqA5qeoQ8dk5tVbP5POfGFSNsppgHS9rdEXO3+QzkyZkodKGmbg/52bzOxx9R+SmdpsFNPMuAMBAAAASDJAAAAAAJIMEAAAAIAkAwQAAAAgyQABAAAASDJAAAAAAJIMEAAAAICk4saEKysr4957741XXnklOnfuHAcffHBcc801sfvuu9dl1q9fHxdeeGHcddddUV1dHcOHD4+bbropevbsmfXi+biat/+azFw36SvJzMZv35vMnLnD0gbV1FTtoigr+xz7ygnJzMppFcnMTrMW1bte8u4zDa4JIBt2mDE/manJQx0REe136prMvHLdLsnM80femMw88sGOycyV3/92MlN6d/r6Ac3Tm5fsn8y8+oWf5aESWoqBvz0vmdlj7EvJTO369dkop8Vp1B0Ic+fOjTFjxsT8+fPjkUceiY0bN8bRRx8d69atq8tccMEF8cADD8Q999wTc+fOjaVLl8ZJJ52U9cIBAACA/GnUHQizZs3a4uNp06ZFjx49YsGCBXHYYYfFqlWr4he/+EXMmDEjvvCFL0RExNSpU+Mzn/lMzJ8/Pw466KDsVQ4AAADkTZNeA2HVqlUREdG164e3Ky5YsCA2btwYRx11VF1mjz32iJ133jnmzZvXlFMBAAAABdSoOxA2V1tbG+eff34ccsghsddee0VERFVVVXTs2DF23HHHLbI9e/aMqqqqre5TXV0d1dXVdR+vXr16W0sCoBnQ1wFaDz0d2Nw234EwZsyYePHFF+Ouu+5qUgGVlZVRVlZW96ioSL+IHQDNl74O0Hro6cDmtmmAMHbs2HjwwQfjscceiz59+tQdLy8vjw0bNsTKlSu3yC9fvjzKy8u3uteECRNi1apVdY8lS5ZsS0kANBP6OkDroacDm2vUUxgymUyMGzcuZs6cGXPmzIl+/fptsT548ODo0KFDzJ49O0aNGhUREQsXLoy33norhg4dutU9S0pKoqSkZBvLB6C50dcBWg89HdhcowYIY8aMiRkzZsT9998fpaWlda9rUFZWFp07d46ysrI4++yzY/z48dG1a9fYYYcdYty4cTF06FDvwAAAAAAtWKMGCJMnT46IiGHDhm1xfOrUqXHmmWdGRMT1118f7dq1i1GjRkV1dXUMHz48brrppqwUS3b0vPHJZOa25SOTmUmn/z2ZeWbwnfWu7/roOck9Or3aKZnp/seaZKbzrOeSmR1r3k5mNiUTAB8qasBf7TIbE/2rNo9dp137ZGTTYYPqXS+96q3kHq/1/3kys6K2Npn5r3NOS2ZK58xPZoCWq/M7mUKXQDMz8P/OrXd9j7EvJfeoff/9bJXT6jT6KQwpnTp1ikmTJsWkSZO2uSgAAACgednmd2EAAAAA2g4DBAAAACDJAAEAAABIMkAAAAAAkgwQAAAAgCQDBAAAACDJAAEAAABIKi50ATRP2/96fgMy6X2Ojf3qXd81nmtoSU2WyduZAD505guvJjM/+tmp9a73vPHJrNRSvMvOycxLl/ZIZhaNuKXJtdy6qiKZuf2Hxycz289J/6wCWrfuNz+dzHx22JnJzEuHTmt6MXyiVzeuT2aOfWxcMtP3nvTfv/f43Z/qXa9dn66FT+YOBAAAACDJAAEAAABIMkAAAAAAkgwQAAAAgCQDBAAAACDJAAEAAABIMkAAAAAAkgwQAAAAgKTiQhcAAK3VX6p7JDP/890f17v+paO/ntzjtH7PJjOHb/ebZGbfjulfC17ZWF3v+olPfiu5x+4XViUz2y+bn8wARO2mZKT/WYuSmQPOGJPMrNyrNpm56ov199pTtn83uUc+DXzgm/WuF9UUJfdovzb9N+ld//PPycxuqxckMw2R/l+JpnAHAgAAAJBkgAAAAAAkGSAAAAAASQYIAAAAQJIBAgAAAJBkgAAAAAAkGSAAAAAASQYIAAAAQFJxoQsAgNZq7nlDkpn9f/WXetef3u+uLFWT/pE/8OFvJDN73Lim3vUBLzyf3KMmmQDIntr3309muk+Zl8404Fy/jIomrefbbvF0Xs6zKS9nIR/cgQAAAAAkGSAAAAAASQYIAAAAQJIBAgAAAJBkgAAAAAAkGSAAAAAASQYIAAAAQFKjBgiVlZVxwAEHRGlpafTo0SNGjhwZCxcu3CIzbNiwKCoq2uLxzW9+M6tFAwAAAPlV3Jjw3LlzY8yYMXHAAQdETU1NXHLJJXH00UfHSy+9FNttt11d7txzz40rr7yy7uMuXbpkr2IAaCnmv5CM/GTgnvWvZ6uWBtgtnklmavNQBwDQPDVqgDBr1qwtPp42bVr06NEjFixYEIcddljd8S5dukR5eXl2KgQAAAAKrkmvgbBq1aqIiOjatesWx++4447o1q1b7LXXXjFhwoR4//33m3IaAAAAoMAadQfC5mpra+P888+PQw45JPbaa6+641/96lejb9++0bt373jhhRfi3//932PhwoVx7733bnWf6urqqK6urvt49erV21oSAM2Avg7QeujpwOa2eYAwZsyYePHFF+OJJ57Y4vh5551X99/33nvv6NWrVxx55JGxePHiGDBgwMf2qaysjCuuuGJbywCgmdHXAVoPPR3Y3DY9hWHs2LHx4IMPxmOPPRZ9+vSpNztkyJCIiFi0aNFW1ydMmBCrVq2qeyxZsmRbSgKgmdDXAVoPPR3YXKPuQMhkMjFu3LiYOXNmzJkzJ/r165f8nOeffz4iInr16rXV9ZKSkigpKWlMGQA0Y/o6QOuhpwOba9QAYcyYMTFjxoy4//77o7S0NKqqqiIioqysLDp37hyLFy+OGTNmxLHHHhs77bRTvPDCC3HBBRfEYYcdFvvss09OvgAAAAAg9xo1QJg8eXJERAwbNmyL41OnTo0zzzwzOnbsGI8++mhMnDgx1q1bFxUVFTFq1Ki49NJLs1YwAAAAkH+NfgpDfSoqKmLu3LlNKggAAABofrbpRRQBAACAtsUAAQAAAEgyQAAAAACSDBAAAACAJAMEAAAAIMkAAQAAAEgyQAAAAACSDBAAAACAJAMEAAAAIMkAAQAAAEgyQAAAAACSDBAAAACAJAMEAAAAIMkAAQAAAEgyQAAAAACSigtdwEdlMpmIiKiJjRGZAhcDZE1NbIyIf36P03bo69D66Oltl54OrVND+3qzGyCsWbMmIiKeiIcLXAmQC2vWrImysrJCl0Ee6evQeunpbY+eDq1bqq8XZZrZ6Li2tjaWLl0apaWlUVRUFBERq1evjoqKiliyZEnssMMOBa6w9XF9c8v1/VAmk4k1a9ZE7969o107z55qSz7a131P5Jbrm1uu74f09LbL7+r55/rmluv7oYb29WZ3B0K7du2iT58+W13bYYcd2vT/qLnm+uaW6xv+StVGfVJf9z2RW65vbrm+enpb5Xf1wnF9c8v1bVhfNzIGAAAAkgwQAAAAgKQWMUAoKSmJyy+/PEpKSgpdSqvk+uaW6wtb8j2RW65vbrm+8HG+L3LL9c0t17dxmt2LKAIAAADNT4u4AwEAAAAoLAMEAAAAIMkAAQAAAEgyQAAAAACSDBAAAACAJAMEAAAAIMkAAQAAAEgyQAAAAACSDBAAAACAJAMEAAAAIMkAAQAAAEgyQAAAAACSDBAAAACAJAMEAAAAIMkAgUaZNm1aFBUVRadOneKvf/3rx9aHDRsWe+21V05rWLZsWXzve9+LI444IkpLS6OoqCjmzJmT03MCtEbNoadHRKxcuTLOO++86N69e2y33XZxxBFHxHPPPZfz8wK0Nvo6uWaAwDaprq6OH/3oRwU598KFC+Oaa66Jv/71r7H33nsXpAaA1qSQPb22tjaOO+64mDFjRowdOzZ+/OMfxzvvvBPDhg2L1157rSA1AbR0+jq5YoDANtl3333j1ltvjaVLl+b93IMHD44VK1bEq6++GuPHj8/7+QFam0L29N/85jfx5JNPxrRp0+Lyyy+PMWPGxJw5c6J9+/Zx+eWX570egNZAXydXDBDYJpdcckls2rSpQZPNmpqauOqqq2LAgAFRUlISu+yyS1xyySVRXV29TecuLS2Nrl27btPnAvBxhezpv/nNb6Jnz55x0kkn1R3r3r17fOUrX4n7779/m/cFaMv0dXLFAIFt0q9fvzjjjDMaNNk855xz4rLLLov99tsvrr/++jj88MOjsrIyTjnllDxVC0B9CtnT//CHP8R+++0X7dpt+SvJgQceGO+//368+uqr27QvQFumr5MrBghss+9///tRU1MT11xzzSdm/vjHP8b06dPjnHPOiXvuuSe+/e1vx/Tp0+Oiiy6K++67Lx577LE8VgzAJylUT1+2bFn06tXrY8f/cawQt98CtAb6OrlggMA269+/f3zta1+LW265JZYtW7bVzMMPPxwR8bHXKrjwwgsjIuKhhx7KbZEANEihevoHH3wQJSUlHzveqVOnunUAGk9fJxcMEGiSSy+9NGpqaj7x+VVvvvlmtGvXLgYOHLjF8fLy8thxxx3jzTffzEeZADRAIXp6586dt/p82PXr19etA7Bt9HWyzQCBJunfv3+cfvrp9U42IyKKioryWBUA26IQPb1Xr15bPdc/jvXu3Ttr5wJoa/R1ss0AgSb7x2Rza8+v6tu3b9TW1n7sPV+XL18eK1eujL59++arTAAaIN89fd99943nnnsuamtrtzj+1FNPRZcuXWK33XZr9J4A/JO+TjYZINBkAwYMiNNPPz1uvvnmqKqq2mLt2GOPjYiIiRMnbnH8uuuui4iI4447ru7Y4sWLY/HixbktFoB65bun/+u//mssX7487r333rpj7733Xtxzzz1x/PHHb/V5tAA0nL5ONhUXugBah+9///tx++23x8KFC2PPPfesOz5o0KAYPXp03HLLLbFy5co4/PDD4+mnn47p06fHyJEj44gjjqjLHnnkkRER8cYbbyTPd/XVV0dExJ///OeIiLj99tvjiSeeiIgPp6wAbLt89vR//dd/jYMOOijOOuuseOmll6Jbt25x0003xaZNm+KKK67IydcH0Nbo62SLAQJZMXDgwDj99NNj+vTpH1v7+c9/Hv37949p06bFzJkzo7y8PCZMmBCXX375Np/vBz/4wRYf33bbbXX/3QABoGny2dPbt28fDz/8cHz3u9+NG264IT744IM44IADYtq0abH77rs39UsBIPR1sqcok8lkCl0EAAAA0Lx5DQQAAAAgyQABAAAASDJAAAAAAJIMEAAAAIAkAwQAAAAgyQABAAAASCoudAEfVVtbG0uXLo3S0tIoKioqdDlAlmQymVizZk307t072rUzu2xL9HVoffT0tktPh9apoX09ZwOESZMmxbXXXhtVVVUx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l18eJSUlhS6lVXJ9c8v1hS35nsgt1ze3XF/4ON8XueX65pbr2zjN7kUUAQAAgOanRdyBAAAAABSWAQIAAACQZIAAAAAAJBkgAAAAAEkGCAAAAECSAQIAAACQZIAAAAAAJBkgAAAAAEkGCAAAAECSAQIAAACQZIAAAAAAJBkgAAAAAEkGCAAAAECSAQKNMm3atCgqKopOnTrFX//614+tDxs2LPbaa6+c17FgwYL4l3/5lygvL4/tt98+9tlnn7jhhhti06ZNOT83QGvRHHr6sGHDoqioaKuPDh065PTcAK1Nc+jrEX5Xb80MENgm1dXV8aMf/agg516wYEEcfPDB8cYbb8S///u/x09+8pPo379/fOc734nx48cXpCaAlqyQPf373/9+3H777Vs8pkyZEhERRx99dEFqAmjp/K5OrhQXugBapn333TduvfXWmDBhQvTu3Tuv57755psjIuLxxx+Prl27RkTEN77xjTj88MNj2rRp8dOf/jSv9QC0dIXs6V/84hc/duxXv/pVREScdtppea0FoLXwuzq54g4Etskll1wSmzZtatBks6amJq666qoYMGBAlJSUxC677BKXXHJJVFdXb9O5V69eHZ06dYodd9xxi+O9evWKzp07b9OeAG1ZIXv61syYMSO22267OPHEE7O2J0Bb4nd1csUAgW3Sr1+/OOOMM+LWW2+NpUuX1ps955xz4rLLLov99tsvrr/++jj88MOjsrIyTjnllG0697Bhw2L16tXxjW98I15++eV48803Y8qUKXHvvffGhAkTtmlPgLaskD39o95999145JFHYuTIkbHddttlZU+Atsbv6uRMBhph6tSpmYjIPPPMM5nFixdniouLM//2b/9Wt3744Ydn9txzz7qPn3/++UxEZM4555wt9rnooosyEZH53e9+1+gaampqMmPHjs106NAhExGZiMi0b98+M3ny5G3/wgDaoObQ0z/qxhtvzERE5uGHH27yXgBtTXPo635Xb93cgcA269+/f3zta1+LW265JZYtW7bVzMMPPxwR8bEXTLnwwgsjIuKhhx5q9Hnbt28fAwYMiOHDh8f06dPj7rvvjuOPPz7GjRsX9913X6P3A6BwPf2jZsyYEd27d9/qayMA0HB+VycXDBBokksvvTRqamo+8flVb775ZrRr1y4GDhy4xfHy8vLYcccd480332z0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3botcueee24sW7as7vHjH/84q0UDAAAA+dWoOxBmzZq1xcfTpk2LHj16xIIFC+Kwww6rO96lS5coLy/PToUAAABAwTXpNRBWrVoVERFdu3bd4vgdd9wR3bp1i7322ismTJgQ77///ifuUV1dHatXr97iAUDLpa8DtB56OrC5bR4g1NbWxvnnnx+HHHJI7LXXXnXHv/rVr8avfvWreOyxx2LChAlx++23x+mnn/6J+1RWVkZZWVndo6KiYltLAqAZ0NcBWg89HdjcNg8QxowZEy+++GLcddddWxw/77zzYvjw4bH33nvHaaedFr/85S9j5syZsXjx4q3uM2HChFi1alXdY8kSL4wB0JLp6wCth54ObK5Rr4HwD2PHjo0HH3wwHn/88ejTp0+92SFDhkRExKJFi2LAgAEfWy8pKYmSkpJtKQOAZkhfB2g99HRgc40aIGQymRg3blzMnDkz5syZE/369Ut+zvPPPx8REb169dqmAgEAAIDCa9QAYcyYMTFjxoy4//77o7S0NKqqqiIioqysLDp37hyLFy+OGTNmxLHHHhs77bRTvPDCC3HBBRfEYYcdFvvss09OvgAAAIC2ZMfb5zUgk97nhAsPaHItA2J+k/eg5WjUAGHy5MkRETFs2LAtjk+dOjXOPPPM6NixYzz66KMxceLEWLduXVRUVMSoUaPi0ksvzVrBAAAAQP41+ikM9amoqIi5c+c2qSAAAACg+dnmd2EAAAAA2g4DBAAAACDJAAEAAABIMkAAAAAAkgwQAAAAgCQDBAAAACDJAAEAAABIMkAAAAAAkgwQAAAAgCQDBAAAACDJAAEAAABIMkAAAAAAkgwQAAAAgCQDBAAAACCpuNAFfFQmk4mIiJrYGJEpcDFA1tTExoj45/c4bYe+Dq2Pnt526enQOjW0rze7AcKaNWsiIuKJeLjAlQC5sGbNmigrKyt0GeSRvg6tl57e9ujp0Lql+npRppmNjmtra2Pp0qVRWloaRUVFERGxevXqqKioiCVLlsQOO+xQ4ApbH9c3t1zfD2UymVizZk307t072rXz7Km25KN93fdEbrm+ueX6fkhPb7v8rp5/rm9uub4famhfb3Z3ILRr1y769Omz1bUddtihTf+Pmmuub265vuGvVG3UJ/V13xO55frmluurp7dVflcvHNc3t1zfhvV1I2MAAAAgyQABAAAASGoRA4SSkpK4/PLLo6SkpNCltEqub265vrAl3xO55frmlusLH+f7Irdc39xyfRun2b2IIgAAAND8tIg7EAAAAIDCMkAAAAAAkgwQAAAAgCQDBAAAACCp2Q8QJk2aFLvsskt06tQphgwZEk8//XShS2qxHn/88Tj++OOjd+/eUVRUFPfdd98W65lMJi677LLo1atXdO7cOY466qh47bXXClNsC1NZWRkHHHBAlJaWRo8ePWLkyJGxcOHCLTLr16+PMWPGxE477RTbb799jBo1KpYvX16giqFw9PXs0NNzR0+HhtPTs0NPzy19PXua9QDh7rvvjvHjx8fll18ezz33XAwaNCiGDx8e77zzTqFLa5HWrVsXgwYNikmTJm11/cc//nHccMMNMWXKlHjqqadiu+22i+HDh8f69evzXGnLM3fu3BgzZkzMnz8/Hnnkkdi4cWMcffTRsW7durrMBRdcEA888EDcc889MXfu3Fi6dGmcdNJJBawa8k9fzx49PXf0dGgYPT179PTc0tezKNOMHXjggZkxY8bUfbxp06ZM7969M5WVlQWsqnWIiMzMmTPrPq6trc2Ul5dnrr322rpjK1euzJSUlGTuvPPOAlTYsr3zzjuZiMjMnTs3k8l8eC07dOiQueeee+oyL7/8ciYiMvPmzStUmZB3+npu6Om5pafD1unpuaGn556+vu2a7R0IGzZsiAULFsRRRx1Vd6xdu3Zx1FFHxbx58wpYWev0+uuvR1VV1RbXu6ysLIYMGeJ6b4NVq1ZFRETXrl0jImLBggWxcePGLa7vHnvsETvvvLPrS5uhr+ePnp5dejp8nJ6eP3p69unr267ZDhDee++92LRpU/Ts2XOL4z179oyqqqoCVdV6/eOaut5NV1tbG+eff34ccsghsddee0XEh9e3Y8eOseOOO26RdX1pS/T1/NHTs0dPh63T0/NHT88ufb1pigtdALQ2Y8aMiRdffDGeeOKJQpcCQBPp6QCti77eNM32DoRu3bpF+/btP/bKl8uXL4/y8vICVdV6/eOaut5NM3bs2HjwwQfjscceiz59+tQdLy8vjw0bNsTKlSu3yLu+tCX6ev7o6dmhp8Mn09PzR0/PHn296ZrtAKFjx44xePDgmD17dt2x2tramD17dgwdOrSAlbVO/fr1i/Ly8i2u9+rVq+Opp55yvRsgk8nE2LFjY+bMmfG73/0u+vXrt8X64MGDo0OHDltc34ULF8Zbb73l+tJm6Ov5o6c3jZ4OaXp6/ujpTaevZ0+zfgrD+PHjY/To0bH//vvHgQceGBMnTox169bFWWedVejSWqS1a9fGokWL6j5+/fXX4/nnn4+uXbvGzjvvHOeff35cffXVseuuu0a/fv3iBz/4QfTu3TtGjhxZuKJbiDFjxsSMGTPi/vvvj9LS0rrnSpWVlUXnzp2jrKwszj777Bg/fnx07do1dthhhxg3blwMHTo0DjrooAJXD/mjr2ePnp47ejo0jJ6ePXp6bunrWVTgd4FIuvHGGzM777xzpmPHjpkDDzwwM3/+/EKX1GI99thjmYj42GP06NGZTObDt4j5wQ9+kOnZs2empKQkc+SRR2YWLlxY2KJbiK1d14jITJ06tS7zwQcfZL797W9nPvWpT2W6dOmS+dKXvpRZtmxZ4YqGAtHXs0NPzx09HRpOT88OPT239PXsKcpkMpmcTykAAACAFq3ZvgYCAAAA0HwYIAAAAABJBggAAABAkgECAAAAkGSAAAAAACQZIAAAAABJBggAAABAkgECAAAAkGSAAAAAACQZIAAAAABJBggAAABAkgECAAAAkPT/AbNxqIwffxuEAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "'''\n", "New Block: convert label from one hot encoder. it will randomly plot rows * rows labels with labels.\n", "Description: visualize few testing dataset\n", "'''\n", "plot_images(x_test, np.argmax(y_test, axis=-1), rows=3)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy on benign test examples: 97.67%\n" ] } ], "source": [ "\"\"\"\n", "Description: check accuracy on test data\n", "\"\"\"\n", "predictions = classifier.predict(x_test)\n", "accuracy = np.sum(np.argmax(predictions, axis=1) == np.argmax(y_test, axis=1)) / len(y_test)\n", "print(\"Accuracy on benign test examples: {}%\".format(accuracy * 100))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Step 6: Generate adversarial test examples" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(10000, 28, 28, 1)" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\"\"\"\n", "Description: Create adversarial sample with FGSM methods\n", "\"\"\"\n", "attack = FastGradientMethod(estimator=classifier, eps=0.2)\n", "x_test_adv = attack.generate(x=x_test)\n", "x_test_adv.shape" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABBAAAAN6CAYAAAA3rbpCAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB9UUlEQVR4nOz9fZyUdb04/r8WVhZQWERlF2JR8C7zBhQVUVNEE7Ey0lNpmdrxphuwlEyCLE9aknoqqx9qd4rdoNZJ9KQeTEHxW4LmFnHMJCFUFNi8ObCKsrAwvz/8tEHivGfZa2dmd5/Px2MeuvN+7fv9uq6Z6zWzL66ZqyKXy+UCAAAAII9upU4AAAAAKH8aCAAAAECSBgIAAACQpIEAAAAAJGkgAAAAAEkaCAAAAECSBgIAAACQpIEAAAAAJGkgAAAAAEkaCAAAAECSBgKtMnPmzKioqIiePXvGCy+88JbxMWPGxAEHHFCUHLZ1W716dbuuDdCZlENNj4i4//774+ijj47evXvHzjvvHP/2b/8WzzzzTLuvC9DZlEtd39L5558fFRUV8b73va+o69I+NBDYLk1NTfGNb3yjpDlcccUV8dOf/nSrW79+/UqaE0BHVMqafvfdd8dJJ53UksPnP//5mD9/fhx99NHx4osvliQngI6uHN6rR0Q8/vjjMXPmzOjZs2epUyEjGghslxEjRsQPf/jDWLlyZclyGD9+fJx55plb3RQngNYrZU2fMmVKDBs2LH73u9/FZz/72bjsssvigQceiFWrVpXFm1+Ajqgc3qvncrn47Gc/G2eddVbU1NSULA+ypYHAdpk2bVps2rSpoDd3zc3NceWVV8aee+4ZVVVVsccee8S0adOiqampzXm8+uqrsWnTpjbPA9CVlaqmv/LKK/Hkk0/GBz/4wejRo0fL/cOHD4/99tsvbrvttlbPCUB5vFf/6U9/Gk888UR8/etfb9M8lBcNBLbL0KFD46yzziqos3neeefFV77ylTjkkEPi29/+dhx77LExffr0OP3009uUw3HHHRd9+/aN3r17xymnnBJPP/10m+YD6KpKVdP/8ea0V69ebxnr3bt3rFy50nfbAGyHUr9Xf/XVV2PKlCkxbdq0qK2t3e55KD8aCGy3L33pS9Hc3BxXX33128b86U9/iltuuSXOO++8+OUvfxmf+cxn4pZbbolLLrkk7rzzznjwwQdbvW7v3r3jnHPOiRkzZsTs2bPj0ksvjblz58aRRx4ZK1asaMsmAXRZpajpNTU10a9fv/jd73631f0vv/xyPPnkkxER2/wSMADSSvVePeLN7yrr1atXXHzxxdubPmVKA4HtNmzYsPj4xz8eP/jBD2LVqlXbjLn33nsjImLy5Mlb3f/5z38+IiLuueeeVq/74Q9/OG6++eY466yzYsKECXHllVfGfffdFy+//LJTpAC2Uylqerdu3eKTn/xkzJ07N6ZOnRpPP/101NfXx4c//OHYsGFDRES88cYbrd0UAKJ079X/+te/xne+85249tpro6qqqtW/T3nTQKBNLrvssmhubn7bz1c9++yz0a1bt9hrr722ur+2tjb69esXzz77bCZ5HH300TFq1Kh44IEHMpkPoCsqRU2/4oor4txzz41rrrkm9tlnnzj00EOjsrIyzj333IiI2GmnnVq/IQBERGnq+uc+97k48sgj47TTTtuunClvGgi0ybBhw+LMM8/M29mMiKioqGj3XOrq6uKVV15p93UAOqtS1PQePXrEj370o1i5cmU8/PDDsWTJkrjvvvti7dq123xTC0Dhil3X582bF3PmzInPfe5z8cwzz7Tcmpub44033ohnnnkmGhsbM1mL0tBAoM3+0dnc1uerdt9999i8efNbvuCwoaEh1qxZE7vvvntmefztb3+L3XbbLbP5ALqiUtX0mpqaePe73x377LNPbNq0KR566KEYNWqUMxAA2qiYdf25556LiIhTTz01hg4d2nJ74YUXYt68eTF06NC46aabtn9jKDkNBNpszz33jDPPPDO+//3vv+Xbsk8++eSIiLjuuuu2uv9b3/pWRES8973vbblv2bJlsWzZsuR6L7744lvuu/fee6O+vj5OOumk1qYPwBaKXdO35T//8z9j1apVLZ/BBWD7FbOujx07NmbPnv2W22677RaHHnpozJ49O97//vdnsFWUSmWpE6Bz+NKXvhQ//elPY8mSJbH//vu33D98+PA4++yz4wc/+EGsWbMmjj322HjsscfilltuiQkTJsRxxx3XEnv88cdHRMQzzzyTd60jjzwyDj744Dj00EOjuro6/vCHP8RNN90UdXV1MW3atHbZPoCupJg1/Wc/+1n86le/imOOOSZ22mmneOCBB+IXv/hFnHfeeT4/C5CRYtX1IUOGxJAh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7tkj7/idM3+bnGNw5aJMcjn0y59Oxuzy4wWZrJWFrvr3aKvPQFi3bl0MHz48ZsyY8bYxJ510Uqxatarlduutt7YpSQAAAKC0Wn0Gwvjx42P8+PF5Y6qqqqK2tna7kwIAAADKS7t8B8JDDz0UAwYMiH333Tc+/elPx8svp0+/BAAAAMpXq89ASDnppJPi1FNPjaFDh8ayZcti2rRpMX78+FiwYEF07979LfFNTU3R1NTU8nNjY2PWKQFQROo6QOehpgNbyvwMhNNPPz1OOeWUOPDAA2PChAlx9913x+9///t46KGHthk/ffr0qK6ubrnV1dVlnRIARaSuA3QeajqwpXa/jOOwYcNi1113jaVLl25zfOrUqbF27dqW24oVK9o7JQDakboO0Hmo6cCWMv8Iw796/vnn4+WXX46BAwduc7yqqiqqqqraOw0AikRdB+g81HRgS61uILz22mtbnU2wfPnyWLRoUfTv3z/69+8fX/3qV+O0006L2traWLZsWVx66aWx1157xbhx4zJNHAAAACieVjcQHn/88TjuuONafp48eXJERJx99tlxww03xOLFi+OWW26JNWvWxKBBg+LEE0+MK6+8slN3Livn1SdjmseOzGSt9b3f+kWUWzrwW59JztFv2aZkTFN1+tMt1WvS8+zamD+mct5jyTkuvPqoZMywselc1uyVf99FRPzPawckY64b+Hje8YUNeyTnKKZCnnuFPIehKynmMTHgA0/lHV9XwByPH3lwMmbpx3omY+5577eTMfv16J13/AdrByXnuGn5kcmYsQP/moyZ1nBQMqYQDaPzfylcZRTvdb4Qajb8U1bvw7M6rnr/bYe845sOTb/H7r3r68mYynl/LjinfB7/2aK841Majk7OcXVN/jkKVb18QybzpBSzXndGrW4gjBkzJnK53NuO33fffW1KCAAAACg/7f4ligAAAEDHp4EAAAAAJGkgAAAAAEkaCAAAAECSBgIAAACQpIEAAAAAJGkgAAAAAEmVpU6glCrn1Zc6ha0UlM/YkXmHB/3nY5nk0iOxTkR57b9Vn2lKxhwyaFky5qWNO7U5l1cW7ZaMqY6lyZis9m9zAY8ldBbldtwUq05u6pl+OR/6q+ZkzKRfXZiM2dine97xXnelX4cqztg1GXPVN/8rGZOVcTEi77g6Ch1bMd+zVr6ef/wvjbXJOd437M/JmFce3TEZ061iczJmSsOIZEzK4g3rkzFf2OOIZExlpB+ncqrH5fS3UDE5AwEAAABI0kAAAAAAkjQQAAAAgCQNBAAAACBJAwEAAABI0kAAAAAAkjQQAAAAgCQNBAAAACCpstQJbK/KefWlTqFVssq3WNtdTvv3+WlHJmMm7PnbZMxVNYuTMdMaDkrG/Hhtbd7xodMWJOcASqd57MhkTFY1sJC1ykkh253FG4cF37wxg1kKc+iXP52M2SWKU7fL6bUV2FpW9XrX/23KO/7EIYOSc/z3e+YkY4778weSMQ/uf1cyZkrDiLzj9z7zruQciw5OhnQ46vXbcwYCAAAAkKSBAAAAACRpIAAAAABJGggAAABAkgYCAAAAkKSBAAAAACRpIAAAAABJGggAAABAUmWpE+gM7lu5KJN5ht53bjJmn0/UZ7JWFl75xOhkzNpx6/KO//WYnxSw0qLCEsrAr289Ohkz6JpH2rxO89iRbZ6jUJXzyuc5A+Ugq2OimMdxFoq13StO6FHALIsyyaUQu/x4QTImtU3FfM6o2fBPHa3OFmLvs/+QjBkXI5IxFz99fwbZRFxdsyjv+Lzvpd/vF1MhNbIzPm/KiTMQAAAAgCQNBAAAACBJAwEAAABI0kAAAAAAkjQQAAAAgCQNBAAAACBJAwEAAABIqmxN8PTp0+OOO+6Ip556Knr16hVHHnlkXH311bHvvvu2xKxfvz4+//nPx2233RZNTU0xbty4uP7666Ompibz5FOyuK5zYdcRXVRYQgnLx/04GXPMhAvyjr/wbxuTc1TusKngnPLZr/ZvyZjf731fJmuljPyPTydjdv1B+lrgg+KRLNIBOrhCan9WryGFzFMsWVw7+8Mn/zaDTCKmNRyUjLnrbwcmYwbHn5MxqcfANcWhfJVTDc1KzYK+yZhTdnw9k7XGDc5f3/pvTr9/pmtp1RkI8+fPj4kTJ8bChQvj/vvvj40bN8aJJ54Y69ata4m5+OKL49e//nX88pe/jPnz58fKlSvj1FNPzTxxAAAAoHhadQbCnDlztvp55syZMWDAgKivr49jjjkm1q5dGz/+8Y9j1qxZMXbs2IiIuPnmm2O//faLhQsXxhFHHJFd5gAAAEDRtOk7ENauXRsREf3794+IiPr6+ti4cWOccMIJLTHvfOc7Y8iQIbFggdNfAAAAoKNq1RkIW9q8eXNcdNFFcdRRR8UBBxwQERGrV6+OHj16RL9+/baKrampidWrV29znqampmhqamr5ubGxcXtTAqAMqOsAnYeaDmxpu89AmDhxYjzxxBNx2223tSmB6dOnR3V1dcutrq6uTfMBUFrqOkDnoaYDW9quBsKkSZPi7rvvjgcffDAGDx7ccn9tbW1s2LAh1qxZs1V8Q0ND1NbWbnOuqVOnxtq1a1tuK1as2J6UACgT6jpA56GmA1tq1UcYcrlcXHjhhTF79ux46KGHYujQoVuNjxw5MnbYYYeYO3dunHbaaRERsWTJknjuuedi9OjR25yzqqoqqqqqtjN9AMqNug7QeajpwJZa1UCYOHFizJo1K+66667o06dPy/caVFdXR69evaK6ujrOPffcmDx5cvTv3z/69u0bF154YYwePdoVGAAAAKADa1UD4YYbboiIiDFjxmx1/8033xznnHNORER8+9vfjm7dusVpp50WTU1NMW7cuLj++uszSTZrzWNHJmMq59UnY45afGoy5ncH3VFQTikPX/+DvOPTGg5KznFVzeJMcilkrZRlG19Lxkzc5/hkzK5N5XOVj0KeV1kp5PkJtF5Wx1axjtFi1p2XDsz/L5FPvVqTnmTA/yZDCnmt+tXdRyVjstg3ai1QqFTN2eWKZ5Jz/GT3uZnkMm5wAfVv86ZM1spCVq9lanb7avVHGFJ69uwZM2bMiBkzZmx3UgAAAEB52e6rMAAAAABdhwYCAAAAkKSBAAAAACRpIAAAAABJGggAAABAkgYCAAAAkKSBAAAAACRVljqB9lQ5r74o62z4RU0y5l2/+0wy5slPX5+MmdZwUEE5tdXJS05OxixdvVsypv7gLHpUTRnMEdE8dmQm8wAUU1a1K6vXxJ7vGJ13/J19GpJzFPJadlXN4mTM4Ac3JGMKUaz3C0DHVkg9bji8Ku/43GFzM8ll3KARBURtymStlEL2izrbeTgDAQAAAEjSQAAAAACSNBAAAACAJA0EAAAAIEkDAQAAAEjSQAAAAACSNBAAAACAJA0EAAAAIKmy1AmUUvPYkZnM0/eZDcmYHVelezXjBo1ocy4vfnp0MubBNUcmY3o3bEzG1BWUUdtl9ThlpXJefalTANhKMevSy+PfyDu+OVeRnOOqmsXJmJNP+HAypvJJ9Rg6s6xqWyHvJQtZq3H3HsmYJz57fUE55fOej3wiGdMt/piMKbf30CneY3cMzkAAAAAAkjQQAAAAgCQNBAAAACBJAwEAAABI0kAAAAAAkjQQAAAAgCQNBAAAACBJAwEAAABIqix1AtureezIoqxTOa8+GVNILt2bNmcyT8rOSza0eY6I7La7WI9TIQrZJoByk1U9LkTDpPXJmKVHzMw7Pq3hoOQc+8w/OxlTV1vAW5Ta9Har/dC5FVL/sqqjG/pWJGOmNIzIO/7Khh2Tc2zeIf1vvJszqvtqJK3lDAQAAAAgSQMBAAAASNJAAAAAAJI0EAAAAIAkDQQAAAAgSQMBAAAASNJAAAAAAJJa1UCYPn16HHbYYdGnT58YMGBATJgwIZYsWbJVzJgxY6KiomKr26c+9alMkwYAAACKq7I1wfPnz4+JEyfGYYcdFs3NzTFt2rQ48cQT48knn4wdd9yxJe7888+PK664ouXn3r17Z5dxK1TOq8873jx2ZHKOQmJS6xQ6T7EUkm+x5imn/QLQ1XWfX52MGfp/5+UdXz7+R8k5bn30iAKy2VRADNDVFfN97a6Rft/6+OeL8942q+2G1mpVA2HOnDlb/Txz5swYMGBA1NfXxzHHHNNyf+/evaO2tjabDAEAAICSa9N3IKxduzYiIvr377/V/T//+c9j1113jQMOOCCmTp0ar7/+eluWAQAAAEqsVWcgbGnz5s1x0UUXxVFHHRUHHHBAy/0f/ehHY/fdd49BgwbF4sWLY8qUKbFkyZK44447tjlPU1NTNDU1tfzc2Ni4vSkBUAbUdYDOQ00HtrTdDYSJEyfGE088Eb/97W+3uv+CCy5o+f8DDzwwBg4cGMcff3wsW7Ys9txzz7fMM3369PjqV7+6vWkAUGbUdYDOQ00HtrRdH2GYNGlS3H333fHggw/G4MGD88aOGjUqIiKWLl26zfGpU6fG2rVrW24rVqzYnpQAKBPqOkDnoaYDW2rVGQi5XC4uvPDCmD17djz00EMxdOjQ5O8sWrQoIiIGDhy4zfGqqqqoqqpqTRoAlDF1HaDzUNOBLbWqgTBx4sSYNWtW3HXXXdGnT59YvXp1RERUV1dHr169YtmyZTFr1qw4+eSTY5dddonFixfHxRdfHMccc0wcdNBB7bIBAAAAQPtrVQPhhhtuiIiIMWPGbHX/zTffHOecc0706NEjHnjggbjuuuti3bp1UVdXF6eddlpcdtllmSX8D8W69mkh6zSPTV/vNat8U2uV2zVhC9k3AJSHXf+3qYCY/OPH//zc5BzDYlMyJqvXX4BCFKuelNt7dWitVn+EIZ+6urqYP39+mxICAAAAys92fYkiAAAA0LVoIAAAAABJGggAAABAkgYCAAAAkKSBAAAAACRpIAAAAABJGggAAABAUmWpEyilynn1ZTVPua2VhY6WLwBt4zUR6KzUHHAGAgAAAFAADQQAAAAgSQMBAAAASNJAAAAAAJI0EAAAAIAkDQQAAAAgSQMBAAAASKosdQL/KpfLRUREc2yMyJU4GSAzzbExIv55jNN1qOvtr7l5falT+KfcxlJnQBGo6V1XZ63pBdVR9Y1OrNC6XpErs8r//PPPR11dXanTANrJihUrYvDgwaVOgyJS16HzUtO7HjUdOrdUXS+7BsLmzZtj5cqV0adPn6ioqIiIiMbGxqirq4sVK1ZE3759S5xh52P/ti/79025XC5effXVGDRoUHTr5tNTXcm/1nXHRPuyf9uX/fsmNb3r8l69+Ozf9mX/vqnQul52H2Ho1q3b23Y8+vbt26Uf1PZm/7Yv+zeiurq61ClQAm9X1x0T7cv+bV/2r5reVXmvXjr2b/uyfwur61rGAAAAQJIGAgAAAJDUIRoIVVVVcfnll0dVVVWpU+mU7N/2Zf/C1hwT7cv+bV/2L7yV46J92b/ty/5tnbL7EkUAAACg/HSIMxAAAACA0tJAAAAAAJI0EAAAAIAkDQQAAAAgSQMBAAAASNJAAAAAAJI0EAAAAIAkDQQAAAAgSQMBAAAASNJAAAAAAJI0EAAAAIAkDQQAAAAgSQMBAAAASNJAAAAAAJI0EGiVmTNnRkVFRfTs2TNeeOGFt4yPGTMmDjjggHbN4eGHH45TTjkl6urqomfPnlFbWxsnnXRS/O53v2vXdQE6m3Ko6RER9fX18b73vS9qa2tjp512ioMOOii++93vxqZNm9p9bYDOpFzq+pbOP//8qKioiPe9731FXZf2oYHAdmlqaopvfOMbJVn7r3/9a3Tr1i0+9alPxYwZM+KSSy6J1atXxzHHHBNz5swpSU4AHVkpa3p9fX0ceeSR8cwzz8SUKVPim9/8ZgwbNiw+97nPxeTJk0uSE0BHV8q6vqXHH388Zs6cGT179ix1KmREA4HtMmLEiPjhD38YK1euLPra5513Xtx5553xpS99Kc4999y45JJL4pFHHonddtstrrvuuqLnA9DRlbKmf//734+IN88uu/jii+OTn/xk3HnnnXHMMcfEzJkzi54PQGdQyrr+D7lcLj772c/GWWedFTU1NSXLg2xpILBdpk2bFps2bSqos9nc3BxXXnll7LnnnlFVVRV77LFHTJs2LZqamjLLp3fv3rHbbrvFmjVrMpsToKsoZU1vbGyMnj17Rr9+/ba6f+DAgdGrV6/tmhOgqyuH9+o//elP44knnoivf/3rbZqH8qKBwHYZOnRonHXWWQV1Ns8777z4yle+Eoccckh8+9vfjmOPPTamT58ep59+eptyaGxsjJdeeimeeuqpmDZtWjzxxBNx/PHHt2lOgK6olDV9zJgx0djYGJ/85CfjL3/5Szz77LNx4403xh133BFTp07drjkBurpSv1d/9dVXY8qUKTFt2rSora3d7nkoQzlohZtvvjkXEbnf//73uWXLluUqKytzn/3sZ1vGjz322Nz+++/f8vOiRYtyEZE777zztprnkksuyUVEbt68edudy7hx43IRkYuIXI8ePXKf/OQnc2+88cZ2zwfQ1ZRDTW9ubs5NmjQpt8MOO7TU9O7du+duuOGG7d8wgC6qHOr6P35/6NChufXr1+dyuVxu9913z733ve/drrkoL85AYLsNGzYsPv7xj8cPfvCDWLVq1TZj7r333oiIt3wR1uc///mIiLjnnnu2e/1vfOMb8Zvf/CZ+/OMfxxFHHBEbNmyI5ubm7Z4PoCsrVU3v3r177LnnnjFu3Li45ZZb4vbbb4/3v//9ceGFF8add97Z6vkAeFOp6vpf//rX+M53vhPXXnttVFVVtfr3KW8aCLTJZZddFs3NzW/7+apnn302unXrFnvttddW99fW1ka/fv3i2Wef3e61R4wYEe95z3vi3//93+P++++Pxx57LM4555ztng+gqytFTf/GN74RV199ddx6661x1llnxYc//OGYPXt2HH300TFx4kSNYYA2KEVd/9znPhdHHnlknHbaaduVM+VNA4E2GTZsWJx55pl5O5sRERUVFe2aR48ePeKUU06JO+64I9544412XQugsypFTb/++utj7NixsdNOO211/ymnnBIrV66MZ555JrO1ALqaYtf1efPmxZw5c+Jzn/tcPPPMMy235ubmeOONN+KZZ56JxsbGTNaiNDQQaLN/dDavvvrqt4ztvvvusXnz5nj66ae3ur+hoSHWrFkTu+++e2Z5vPHGG5HL5eLVV1/NbE6ArqbYNb2hoSE2bdr0lvs3btwYEeEMBIA2KmZdf+655yIi4tRTT42hQ4e23F544YWYN29eDB06NG666abt3xhKTgOBNttzzz3jzDPPjO9///uxevXqrcZOPvnkiIi47rrrtrr/W9/6VkREvPe97225b9myZbFs2bLken//+9/fct+aNWviV7/6VdTV1cWAAQNauwkA/D/Frun77LNP3H///fHyyy+33Ldp06b4xS9+EX369Ik999xzezcFgChuXR87dmzMnj37LbfddtstDj300Jg9e3a8//3vz2CrKJXKUidA5/ClL30pfvrTn8aSJUti//33b7l/+PDhcfbZZ8cPfvCDWLNmTRx77LHx2GOPxS233BITJkyI4447riX2H5dgTJ2uOn78+Bg8eHCMGjUqBgwYEM8991zcfPPNsXLlyrj99tvbZfsAupJi1vQvfvGLceaZZ8aoUaPiggsuiF69esWtt94a9fX18bWvfS122GGHdtlGgK6kWHV9yJAhMWTIkLfcf9FFF0VNTU1MmDAhs22iNDQQyMRee+0VZ555Ztxyyy1vGfvRj34Uw4YNi5kzZ8bs2bOjtrY2pk6dGpdffvl2rfXv//7vcdttt8W3v/3tWLNmTey8885xxBFHxKxZs+Ld7353WzcFoMsrZk3/2Mc+FrvuumtMnz49rr322mhsbIx99903brzxxvjkJz/Z1k0BIIpb1+ncKnK5XK7USQAAAADlzXcgAAAAAEkaCAAAAECSBgIAAACQpIEAAAAAJGkgAAAAAEkaCAAAAEBSZakT+FebN2+OlStXRp8+faKioqLU6QAZyeVy8eqrr8agQYOiWze9y65EXYfOR03vutR06JwKrevt1kCYMWNGXHvttbF69eoYPnx4fO9734vDDz88+XsrV66Murq69koLKLEVK1bE4MGDS50GRaSuQ+elpnc9ajp0bqm63i4NhNtvvz0mT54cN954Y4waNSquu+66GDduXCxZsiQGDBiQ93f79OkTERFHx8lRGTu0R3pACTTHxvht3NtyjNN1qOvQ+ajpXZeaDp1ToXW9XRoI3/rWt+L888+PT3ziExERceONN8Y999wTN910U3zxi1/M+7v/OBWqMnaIygpFCTqN3Jv/cbpj16OuQyekpndZajp0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uPrqq9825k9/+lPccsstcd5558Uvf/nL+MxnPhO33HJLXHLJJXHnnXfGgw8+2Ko1a2pqol+/fvG73/1uq/tffvnlePLJJyMitvmFMQDkV4qavi233357NDc3+/gCQBuVqq737t07zjnnnJgxY0bMnj07Lr300pg7d24ceeSRsWLFirZsEmVAA4HtNmzYsPj4xz8eP/jBD2LVqlXbjLn33nsjImLy5Mlb3f/5z38+IiLuueeeVq3ZrVu3+OQnPxlz586NqVOnxtNPPx319fXx4Q9/ODZs2BAREW+88UZrNwWgyytFTd+WWbNmxW677bbN70YAoHClqusf/vCH4+abb46zzjorJkyYEFdeeWXcd9998fLLL8fXv/71Vs9HedFAoE0uu+yyaG5uftvPVz377LPRrVu32Guvvba6v7a2Nvr16xfPPvtsq9e84oor4txzz41rrrkm9tlnnzj00EOjsrIyzj333IiI2GmnnVq/IQCUpKZv6W9/+1ssWLAgPvKRj0Rlpe95BmirUtf1fzj66KNj1KhR8cADD2QyH6WjgUCbDBs2LM4888y8nc2IiIqKiszW7NGjR/zoRz+KlStXxsMPPxxLliyJ++67L9auXbvNAghAYUpR07c0a9asiHD1BYCslLqub6muri5eeeWVdl+H9qWBQJv9o7O5rc9X7b777rF58+a3fGlKQ0NDrFmzJnbfffftXrempibe/e53xz777BObNm2Khx56KEaNGuUMBIA2KFVNj3izgbDnnnvGEUcc0aZ5APinUtb1Lf3tb3+L3XbbLbP5KA0NBNpszz33jDPPPDO+//3vv+UKCCeffHJERFx33XVb3f+tb30rIiLe+973tty3bNmyWLZs2Xbl8J//+Z+xatWqls9rAbB9SlXT//jHP8Zf/vKX+OhHP7qdmQOwLcWu6y+++OJb7rv33nujvr4+TjrppNamT5nxAUMy8aUvfSl++tOfxpIlS2L//fdvuX/48OFx9tlnxw9+8INYs2ZNHHvssfHYY4/FLbfcEhMmTIjjjjuuJfb444+PiIhnnnkm71o/+9nP4le/+lUcc8wxsdNOO8UDDzwQv/jFL+K8886L0047rV22D6ArKWZN/4ef//znEeHjCwDtoZh1/cgjj4yDDz44Dj300Kiuro4//OEPcdNNN0VdXV1MmzatXbaP4tFAIBN77bVXnHnm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yjeZSzGV2ePU3tT0rktNh86p0LpekSuzyv/8889HXV1dqdMA2smKFSti8ODBpU6DIlLXofNS07seNR06t1RdL7sGwubNm2PlypXRp0+fqKioiIiIxsbGqKurixUrVkTfvn1LnGHnY/+2L/v3TblcLl599dUYNGhQdOvm01Ndyb/WdcdE+7J/25f9+yY1vevyXr347N/2Zf++qdC6XnYfYejWrdvbdjz69u3bpR/U9mb/ti/7N6K6urrUKVACb1fXHRPty/5tX/avmt5Vea9eOvZv+7J/C6vrWsYAAABAkgYCAAAAkNQhGghVVVVx+eWXR1VVValT6ZTs3/Zl/8LWHBPty/5tX/YvvJXjon3Zv+3L/m2dsvsSRQAAAKD8dIgzEAAAAIDS0kAAAAAAkjQQAAAAgCQNBAAAACCp7BsIM2bMiD322CN69uwZo0aNiscee6zUKXVYDz/8cLz//e+PQYMGRUVFRdx5551bjedyufjKV74SAwcOjF69esUJJ5wQTz/9dGmS7WCmT58ehx12WPTp0ycGDBgQEyZMiCVLlmwVs379+pg4cWLssssusdNOO8Vpp50WDQ0NJcoYSkddz4aa3n7UdCicmp4NNb19qevZKesGwu233x6TJ0+Oyy+/PP7whz/E8OHDY9y4cfH3v/+91Kl1SOvWrYvhw4fHjBkztjl+zTXXxHe/+9248cYb49FHH40dd9wxxo0bF+vXry9yph3P/PnzY+LEibFw4cK4//77Y+PGjXHiiSfGunXrWmIuvvji+PWvfx2//OUvY/78+bFy5co49dRTS5g1FJ+6nh01vf2o6VAYNT07anr7UtczlCtjhx9+eG7ixIktP2/atCk3aNCg3PTp00uYVecQEbnZs2e3/Lx58+ZcbW1t7tprr225b82aNbmqqqrcrbfeWoIMO7a///3vuYjIzZ8/P5fLvbkvd9hhh9wvf/nLlpi//OUvuYjILViwoFRpQtGp6+1DTW9fajpsm5rePtT09qeub7+yPQNhw4YNUV9fHyeccELLfd26dYsTTjghFixYUMLMOqfly5fH6tWrt9rf1dXVMWrUKPt7O6xduzYiIvr37x8REfX19bFx48at9u873/nOGDJkiP1Ll6GuF4+ani01Hd5KTS8eNT176vr2K9sGwksvvRSbNm2Kmpqare6vqamJ1atXlyirzusf+9T+brvNmzfHRRddFEcddVQccMABEfHm/u3Ro0f069dvq1j7l65EXS8eNT07ajpsm5pePGp6ttT1tqksdQLQ2UycODGeeOKJ+O1vf1vqVABoIzUdoHNR19umbM9A2HXXXaN79+5v+ebLhoaGqK2tLVFWndc/9qn93TaTJk2Ku+++Ox588MEYPHhwy/21tbWxYcOGWLNmzVbx9i9dibpePGp6NtR0eHtqevGo6dlR19uubBsIPXr0iJEjR8bcuXNb7tu8eXPMnTs3Ro8eXcLMOqehQ4dGbW3tVvu7sbExHn30Ufu7ALlcLiZNmhSzZ8+OefPmxdChQ7caHzlyZOywww5b7d8lS5bEc889Z//SZajrxaOmt42aDmlqevGo6W2nrmenrD/CMHny5Dj77LPj0EMPjcMPPzyuu+66WLduXXziE58odWod0muvvRZLly5t+Xn58uWxaNGi6N+/fwwZMiQuuuii+NrXvhZ77713DB06NL785S/HoEGDYsKECaVLuoOYOHFizJo1K+66667o06dPy2elqquro1evXlFdXR3nnntuTJ48Ofr37x99+/aNCy+8MEaPHh1HHHFEibOH4lHXs6Omtx81HQqjpmdHTW9f6nqGSnwViKTvfe97uSFDhuR69OiRO/zww3MLFy4sdUod1oMPPpiLiLfczj777Fwu9+YlYr785S/nampqclVVVbnjjz8+t2TJktIm3UFsa79G/P/buUMjCEIgioK3FkdopEFShEcIyDm3dk5A7V5Vtx6B+uIJPjHGuG/WWtF7j1prlFKitRZzzuceDQ+x63vY9HNsOvzOpu9h08+y6/tcERHHKwUAAADw1177BwIAAADwHgICAAAAkBIQAAAAgJSAAAAAAKQEBAAAACAlIAAAAAApAQEAAABICQgAAABASkAAAAAAUgICAAAAkBIQAAAAgJSAAAAAAKS+WX90wEMSPisAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "'''\n", "New Block: convert label from one hot encoder. it will randomly plot rows * rows labels with labels.\n", "Description: visualize few testing dataset\n", "'''\n", "plot_images(x_test_adv, np.argmax(y_test, axis=-1), rows=3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Step 7: Evaluate the ART classifier on adversarial test examples" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy on adversarial test examples: 42.84%\n" ] } ], "source": [ "\"\"\"\n", "Description: check accuracy of model on adversarial sample.\n", "\"\"\"\n", "adv_predictions = classifier.predict(x_test_adv)\n", "accuracy = np.sum(np.argmax(adv_predictions, axis=1) == np.argmax(y_test, axis=1)) / len(y_test)\n", "print(\"Accuracy on adversarial test examples: {}%\".format(accuracy * 100))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Additional Steps" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "\"\"\"\n", "Description: Select successful adversarial sample. Prediction that is different from true label\n", "\"\"\"\n", "adv_x = []\n", "adx_label = []\n", "for i, img in enumerate(x_test_adv):\n", " if np.argmax(predictions[i],axis=-1)!=np.argmax(adv_predictions[i], axis=-1):\n", " adv_x.append(img)\n", " adx_label.append(np.argmax(adv_predictions[i], axis=-1))\n", " " ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Successful adversarial sample : 5886/10000\n" ] } ], "source": [ "\"\"\"\n", "Description: Print to check successfull adversarial sample\n", "\"\"\"\n", "print(\"Successful adversarial sample : {}/{}\".format(len(adv_x), len(x_test)))" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABBAAAAN6CAYAAAA3rbpCAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy89olMNAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB4yklEQVR4nO39fZxVdbkw/l8DIwMoDCIyA8dRQcU6PoCiIkqKI0fAToZ68qFMLR8q0fs2KgmyzIdC42TcGWFZCnUyy7vQO/VgCYrfEp8myTwpCaJiMJNiDII6MDC/P/o5QeJ89jBr9t4z836/XvtVsz8Xn8+11p59rTWXa+9V0tTU1BQAAAAALehW6AQAAACA4qeBAAAAACRpIAAAAABJGggAAABAkgYCAAAAkKSBAAAAACRpIAAAAABJGggAAABAkgYCAAAAkKSBAAAAACRpINAqc+fOjZKSkujZs2f85S9/edf42LFj4+CDD85LDjt61NbWtuvaAJ1JMdT0hx9+OE455ZSoqqqKnj17RmVlZUyYMCF+97vfteu6AJ1RMdR15+qdW2mhE6BjamhoiOuvvz5uuummguVwzTXXxJAhQ7Z7rl+/foVJBqADK2RN//Of/xzdunWLT3/601FZWRl/+9vf4r/+67/iuOOOi3vvvTcmTJiQ95wAOjrn6rQXDQR2yogRI+KWW26JadOmxeDBgwuSw8SJE+OII44oyNoAnUkha/qFF14YF1544XbPXXLJJTF06NCYNWuWBgLATnCuTnvxEQZ2yvTp02PLli1x/fXXJ2MbGxvj2muvjf322y/Kyspi3333jenTp0dDQ0Ob83jjjTdiy5YtbZ4HoCsrlpr+jt69e8eee+4Z69aty2xOgK6kWOq6c/XORwOBnTJkyJA499xz45ZbbonVq1e3GHvhhRfGV77ylTj88MPjW9/6Vhx//PExY8aMOOuss9qUwwknnBB9+/aN3r17xymnnBLPP/98m+YD6KqKoaavX78+XnvttXjuuedi+vTp8cwzz8SJJ57YpjkBuqpiqOvO1TsnDQR22pe+9KVobGyMG2644T1j/vCHP8S8efPiwgsvjDvvvDMuueSSmDdvXnz+85+Pu+66Kx588MFWr9u7d+84//zzY/bs2TF//vy44oorYuHChXHMMcfEqlWr2rJJAF1WoWr6O84444zYc8894/3vf39885vfjE996lPx5S9/eafnA+jqnKvTHjQQ2GlDhw6Nj3/84/H9738/1qxZs8OY++67LyIipkyZst3zn/vc5yIi4t577231umeccUbcdtttce6558akSZPi2muvjfvvvz/Wrl0bX/va11o9HwCFq+nvuP766+PXv/51/PCHP4yjjz46Nm3aFI2NjTs9H0BX51yd9qCBQJtceeWV0djY+J6fr3rppZeiW7dusf/++2/3fGVlZfTr1y9eeumlTPIYM2ZMjBo1Kh544IFM5gPoigpZ00eMGBH/9m//Fp/85CfjN7/5TTz++ONx/vnn7/R8ADhXJ3saCLTJ0KFD45xzzmmxsxkRUVJS0u65VFVVxeuvv97u6wB0VsVS03v06BGnnHJK/PKXv4y33nqrXdcC6MyKpa5HOFfvLDQQaLN3Ops7+nzVPvvsE1u3bn3Xl6bU1dXFunXrYp999sksjxdeeCH23HPPzOYD6IqKpaa/9dZb0dTUFG+88UZmcwJ0RcVS152rdw4aCLTZfvvtF+ecc05873vfi9ra2u3GTj755IiImDVr1nbP33jjjRER8cEPfrD5uRUrVsSKFSuS67366qvveu6+++6Lmpoa9wsHaKN81/S//vWv73pu3bp18Ytf/CKqqqpi4MCBrd0EALbhXJ0slRY6ATqHL33pS/HjH/84li1bFgcddFDz88OHD4/zzjsvvv/978e6devi+OOPj8cffzzmzZsXkyZNihNOOKE59p3bdb344ostrnXMMcfEYYcdFkcccUSUl5fH73//+7j11lujqqoqpk+f3i7bB9CV5LOmT5w4Mfbaa68YNWpUDBw4MF5++eW47bbbYvXq1fGzn/2sXbYPoKtxrk5WNBDIxP777x/nnHNOzJs3711jP/jBD2Lo0KExd+7cmD9/flRWVsa0adPiqquu2qm1zjzzzLj33nvj17/+dbz55psxaNCguOiii+Kqq66KioqKtm4KQJeXz5r+yU9+Mu6444741re+FevWrYvdd989jj766Lj99tvjAx/4QFs3BYBwrk52SpqampoKnQQAAABQ3HwHAgAAAJCkgQAAAAAkaSAAAAAASRoIAAAAQJIGAgAAAJCkgQAAAAAklRY6gX+2devWWL16dfTp0ydKSkoKnQ6QkaampnjjjTdi8ODB0a2b3mVXoq5D56Omd11qOnROudb1dmsgzJ49O2bOnBm1tbUxfPjwuOmmm+Koo45K/rvVq1dHVVVVe6UFFNiqVatir732KnQa5JG6Dp2Xmt71qOnQuaXqers0EH72s5/FlClT4uabb45Ro0bFrFmzYvz48bFs2bIYOHBgi/+2T58+ERExJk6O0tilPdIjI43Hj2jzHKWLl+ZlnVzXov00xub4bdzX/B6n61DXOw51nVyp6V2Xmg6dU651vV0aCDfeeGNcdNFF8YlPfCIiIm6++ea4995749Zbb40vfvGLLf7bdy6FKo1dorREUSpqpT3bPkUur3EG6+S8Fu2n6e//43LHrkdd70DUdXKlpndZajp0UjnW9cw/tLZp06aoqamJcePG/WORbt1i3LhxsWTJkqyXAwAAAPIg8ysQXnvttdiyZUtUVFRs93xFRUU899xz74pvaGiIhoaG5p/Xr1+fdUoA5JG6DtB5qOnAtgr+tbkzZsyI8vLy5ocvZQHo2NR1gM5DTQe2lXkDYcCAAdG9e/eoq6vb7vm6urqorKx8V/y0adOivr6++bFq1aqsUwIgj9R1gM5DTQe2lflHGHr06BEjR46MhQsXxqRJkyLi7/eLXbhwYVx66aXvii8rK4uysrKs0wCgQNR1gM5DTQe21S53YZgyZUqcd955ccQRR8RRRx0Vs2bNio0bNzbflQEAAADoWNqlgXDmmWfGq6++Gl/5yleitrY2RowYEQsWLHjXFytSvBqrR2YyT+mimjavk5ojV/naJoB8y6q+ZaEz1vV8bhNALoqp7ndGavp7a5cGQkTEpZdeusOPLAAAAAAdT8HvwgAAAAAUPw0EAAAAIEkDAQAAAEjSQAAAAACSNBAAAACAJA0EAAAAIEkDAQAAAEgqLXQC5F9j9ciiWat0UU2eMsnvWgARudXbfNWmXNYppnyzkkW+HW2bgY4tn7W4mM7Vi0lWfy91xv3nCgQAAAAgSQMBAAAASNJAAAAAAJI0EAAAAIAkDQQAAAAgSQMBAAAASNJAAAAAAJJKC50A+dcZ70ealazu+ZriNYCuoZje6/m8r3gW8lWPc5HVvutorwF0Fh3tvZdVPclirXytk0/5PL50tN+9XLgCAQAAAEjSQAAAAACSNBAAAACAJA0EAAAAIEkDAQAAAEjSQAAAAACSNBAAAACAJA0EAAAAIKm00AmQf43VIzOZp3RRTTKm2667tjj+3E3vT86xcsIPkjFD7r0oGTP0p1uTMblsU0pW+xfo+HKpB1nUnSzmiIh47eLRmcyThf3O/XMm8/z+g0cnY/a5d3OL47ns33y91kDHVmznial8iq1uZbH/stqmrF7LLI4f+TwGuQIBAAAASNJAAAAAAJI0EAAAAIAkDQQAAAAgSQMBAAAASNJAAAAAAJI0EAAAAIAkDQQAAAAgqTTrCb/61a/G1Vdfvd1zBx54YDz33HNZL8UONFaPzGSe0kU1yZi3P3RUMmbx976fiPhdco5PvTI6GTP0p1uTMblsUxayWieX1zJf2wQdRT5rYFZrZbFOLvn+dfIxyZinvvTdnHJqq6l1I5IxN1QszWaxoQuTIQe+9ZkWx/ddlE0q6jp0fvk6NnQ4Rx2SDBn87ReTMUt/XJaMSR3LrvxrOpe7fvqBZMy/3PBIMiZf8nnsyLyBEBFx0EEHxQMPPPCPRUrbZRkAAAAgT9rlL/vS0tKorKxsj6kBAACAAmiX70B4/vnnY/DgwTF06ND42Mc+Fi+//HJ7LAMAAADkSeZXIIwaNSrmzp0bBx54YKxZsyauvvrq+MAHPhDPPPNM9OnT513xDQ0N0dDQ0Pzz+vXrs04JgDxS1wE6DzUd2FbmVyBMnDgxPvKRj8Shhx4a48ePj/vuuy/WrVsXP//5z3cYP2PGjCgvL29+VFVVZZ0SAHmkrgN0Hmo6sK12v41jv379YtiwYbF8+fIdjk+bNi3q6+ubH6tWrWrvlABoR+o6QOehpgPbavfbI2zYsCFWrFgRH//4x3c4XlZWFmVl6dtxANAxqOsAnYeaDmwr8ysQPv/5z8fixYvjxRdfjEceeSROPfXU6N69e5x99tlZLwUAAADkSeZXILzyyitx9tlnx9q1a2PPPfeMMWPGxKOPPhp77rln1kt1Oo3VI/OyTumimmTM8z86PBnzwrjvJ2Om1x3a4vjXK55OzvGbR1ueIyLigEWPJWM6mlxeJ6D18vneymWtLGp//ceOTsY89aXvtnmdXEytG1FU87y+addkzL5XLmnzOmo2FK+sanEu89QP7dHieMmW5BRRf0A65qrTd/z9ctu6+hdnpCdKaDw3vV9OP/T3yZhuJX9MxtxQsTSd0Jf+v3RMwnUD07lc97/TMRecOiYZ8+L0A3PKKR+yOk5l3kC44447sp4SAAAAKLB2/xJFAAAAoOPTQAAAAACSNBAAAACAJA0EAAAAIEkDAQAAAEjSQAAAAACSNBAAAACApNJCJ0DrlC6qaXG8sXpkco7N49IxL4z7Yc45taTmsJZ7VCdMuCg5xwELHsskl1zMevGRZMxP1o1qcfyJEd2zSgcoYql6nJXVY8qSMZvf92YyZmrdiGTMDRVLc8io/efIVS7b9NaWXdo/EaDDy6qm7372Ky2Oj9i95fFcLd24dzLm1IlLkjFZ1Owv1B7W5jlynWdm5VOZrJWFp+YdkozZPTblIZP8cgUCAAAAkKSBAAAAACRpIAAAAABJGggAAABAkgYCAAAAkKSBAAAAACRpIAAAAABJGggAAABAUmmhE+AfShfV5GWdRT/6YTJmet2hyZj/97MxyZiK6oYWx7tt2pqcIytv3T8kGfPjv6XzWfJay/N0qx6QnCNfrzV0Nfl8bzVWj0zG5JJP2f+sanG8/xW7JecYU/FCMuaGiqXJmGJSv/WtZExW2zTk5otbHB/68y3JOdR16NiyqumH92+5pm9tKknOMbPyqWRMLqbWjWjzHF+oPaztiUTHOwa9/+ZLkjGDl7X8d06uOtrxwxUIAAAAQJIGAgAAAJCkgQAAAAAkaSAAAAAASRoIAAAAQJIGAgAAAJCkgQAAAAAklRY6AfLvuD+emowZM3BFMubtPZqSMVnc1zSX+/Km7qMekds2/d9lI5IxQ856usXxxuoByTly2aZcdLT7xkJHkdV7dPXnj0nG/HHKd1scz+I+3rnOk8t9uk9b/m8tjtd9Z7/kHE05/OeL2gmbkzEvnPTD9EQ5KOv/ViKiR3IOdR06tqzee3+s3r3F8WdnHJCcY+YpT2WSy3+/9P5kzJKvHtXi+JrR3ZNznDZ+STJmet2hyZgtRfTftve+5pFCp1C0iudVAgAAAIqWBgIAAACQpIEAAAAAJGkgAAAAAEkaCAAAAECSBgIAAACQpIEAAAAAJGkgAAAAAEmlrf0HDz/8cMycOTNqampizZo1MX/+/Jg0aVLzeFNTU1x11VVxyy23xLp16+LYY4+NOXPmxAEHHJBl3rTB6j9WJGP++4CyZMwZ436XXuyplofveemg5BQNf+yRjBl+zZZkzNP1/5KMGXLW08kYoGNrrB6Zt7V6vdaUjDny92e0OP7E4T9PzjG1bkQy5oaKpcmYCc99MBnTNK62xfGeY/dOzlG6qCYZs9vLw5MxU4ePSMbkSy7blMvvXi4xuawFFEbDYUNbHB/68/Q564k/vyAZk0sdGBTPJmNWfn10i+PPnzsnOUcucjlObW0qScb8avnByZi9/0/3FsdLfrc0OUexyeLcJatjR6uvQNi4cWMMHz48Zs+evcPxb3zjG/Htb387br755njsscdi1113jfHjx8fbb7/d5mQBAACAwmj1FQgTJ06MiRMn7nCsqakpZs2aFVdeeWV8+MMfjoiIH/3oR1FRURF33XVXnHXWWW3LFgAAACiITL8DYeXKlVFbWxvjxo1rfq68vDxGjRoVS5YsyXIpAAAAII9afQVCS2pr//65yIqK7T9jX1FR0Tz2zxoaGqKhoaH55/Xr12eZEgB5pq4DdB5qOrCtgt+FYcaMGVFeXt78qKqqKnRKALSBug7QeajpwLYybSBUVlZGRERdXd12z9fV1TWP/bNp06ZFfX1982PVqlVZpgRAnqnrAJ2Hmg5sK9OPMAwZMiQqKytj4cKFMWLEiIj4+2VOjz32WHzmM5/Z4b8pKyuLsrL0LQMB6BjUdYDOQ00HttXqBsKGDRti+fLlzT+vXLkyli5dGv3794+99947Lr/88rjuuuvigAMOiCFDhsSXv/zlGDx4cEyaNCnLvAEAAIA8anUD4cknn4wTTjih+ecpU6ZERMR5550Xc+fOjSuuuCI2btwYF198caxbty7GjBkTCxYsiJ49e2aXdRfWWD2yzXPsc9/mZMybFf2SMU9cuE8y5vU3e7U4/u/7/E9yjq8f9XQyZnrdocmYX9xzbDJmr+rByZiU0kU1yZgsXkdg5+TzPdrn5U3JmPq79mhx/NDGszPJZelhuUT9JRmR2je57N9crBq3azIml016ozF9/rHPGX/MYaaWqevQ+XW09/nRf0if89+/55w8ZJKbu+8/OhkzZFrx3Nkvn78PWR1bs9DqBsLYsWOjqanpPcdLSkrimmuuiWuuuaZNiQEAAADFo+B3YQAAAACKnwYCAAAAkKSBAAAAACRpIAAAAABJGggAAABAkgYCAAAAkKSBAAAAACSVFjqBrqKxemShU2iV3nWbkzFbvzYwGdOnV8s9qjs/dnjOObXk6xVPJ2OmnL8kGXPmg/8ri3SSShfV5GUdoP1k9T7eY1Ei4AeZLJOTYjpW9Rn1aibzrN/cMxnTWH1Qm9dR16F4FVNty8Xr7ytLxlz4nbXJmMn9VmWRTtIXag9Lxjw86+hkzJAfpc/Vc9HRXu+OxhUIAAAAQJIGAgAAAJCkgQAAAAAkaSAAAAAASRoIAAAAQJIGAgAAAJCkgQAAAAAkaSAAAAAASaWFToB/KF1Uk4xprB6Zl3WykvwF+9iIPGTxdxevnJSMyWLf5PIaZfVa5/O1hK6ko723sjg25CqLffOZ55cnYybtujQZM7VuRDLm9/f+azJmUDQkY1LyWbMdH6B4ZfHe23zUMcmYlxv2yGGmVcmIXOpoyszKp5Ix79v/6GTMbnk8lqWooe/NFQgAAABAkgYCAAAAkKSBAAAAACRpIAAAAABJGggAAABAkgYCAAAAkKSBAAAAACSVFjqBriKXe4l2xvs6dx+2X4vjHzzwmeQcd/xudDLm66c9nYx5X5+6ZMxPb07fo3boz7ckY7LQ0V5r6GryVbNzWScXTTn8J4OX/n2XdNApLdfJb37wv5JTLNmwfzJm0q5L07nk4E+Tv5uMGdbnMy2OD/nikkxyyYrjA3Rcr38ifV478Yx0zdnaVJJFOpnM84Xaw5IxD54/Mxlz4qYrkjF7/E/6PLz3/MeSMew8VyAAAAAASRoIAAAAQJIGAgAAAJCkgQAAAAAkaSAAAAAASRoIAAAAQJIGAgAAAJCkgQAAAAAklbb2Hzz88MMxc+bMqKmpiTVr1sT8+fNj0qRJzePnn39+zJs3b7t/M378+FiwYEGbk+3sShfVFDqFVmmYeGQy5qEf3tLi+JG/PyM5xwGXPpaMGbbhM8mYP587Jxnzq4qDkzERvXKIAYhorB6Zl3Xqh/ZIxmz693XJmBVH/bTNuUytG9HmOfI9z4RxT7Y4/vh9+yfn2PU/y3NNqc062vkCdCVZ1P2ZlU9lkElxmbV2TDLmg6ctScbcvdvRyZieQ49pcXzQNx9JzpHL69hVa3Grr0DYuHFjDB8+PGbPnv2eMRMmTIg1a9Y0P37607afkAAAAACF0+orECZOnBgTJ05sMaasrCwqKyt3OikAAACguLTLdyA89NBDMXDgwDjwwAPjM5/5TKxdu7Y9lgEAAADypNVXIKRMmDAhTjvttBgyZEisWLEipk+fHhMnTowlS5ZE9+7d3xXf0NAQDQ0NzT+vX78+65QAyCN1HaDzUNOBbWV+BcJZZ50Vp5xyShxyyCExadKkuOeee+KJJ56Ihx56aIfxM2bMiPLy8uZHVVVV1ikBkEfqOkDnoaYD22r32zgOHTo0BgwYEMuXL9/h+LRp06K+vr75sWrVqvZOCYB2pK4DdB5qOrCtzD/C8M9eeeWVWLt2bQwaNGiH42VlZVFWVtbeaQCQJ+o6QOehpgPbanUDYcOGDdtdTbBy5cpYunRp9O/fP/r37x9XX311nH766VFZWRkrVqyIK664Ivbff/8YP358pokDAAAA+dPqBsKTTz4ZJ5xwQvPPU6ZMiYiI8847L+bMmRNPP/10zJs3L9atWxeDBw+Ok046Ka699lqdyyLSWD0yk3lWn7upzXOse2aPZEzfHPK9/+yZOay2WzKi/w/TMaWLHs9hLaAjy6pOZqF+SI9kzPGfeSwZU9ptazJmat2IZMwNFUvbNJ7rOvn07cFPtByQGo+II6eckYzpe2OfXFNqUS6/n6WLajJZCzqDXN4P+ar7/W9bkoz5QP2nkjH7fH5ZMmbePouSMTMrn0rGZCGXup9TLielQ/7yVr8Wx//6+8OTcxTT70xEcdX0VjcQxo4dG01NTe85fv/997cpIQAAAKD4tPuXKAIAAAAdnwYCAAAAkKSBAAAAACRpIAAAAABJGggAAABAkgYCAAAAkKSBAAAAACSVFjoBWqexemShU2hW0q0pGTO97tAWxyue3JqcY+suJcmYIbvslozJSuo1KF1U0+Y5cpXLWsD2snr/NeXQgt/w2fXJmMcPu7PF8S/UHpacY2blU+lkcjC1bkQmMVmo+ezhyZjuD/0+GbPu3NHJmKmfzSWjlpV235KMqd+vRzKmfMWm9FoZHGccP6B9ZPHe6v3Lx5Ixr/4yPc9J1Re1OZdcHPHN9DbfULE0k7VyOd6ljlOrp5Un52gqyd+5ejH9fZcLVyAAAAAASRoIAAAAQJIGAgAAAJCkgQAAAAAkaSAAAAAASRoIAAAAQJIGAgAAAJCkgQAAAAAklRY6ga6isXpkoVNoldJFNcmYg766ZzLm6xVPtzg+duOo5Byb+3RPxmSl5z2PJ2NSr2VHe62hWBTTe6eptCQZ88b/Wp+MqR78fDJmat2IFsdnVj6VnGP/n346GVOyOb1Nz587JxmThTWNG5Ix5z+UnieX35nef21MxpzU948tjv96/SHJOY6rXJGMueHqXyRjxg8ekYx587T0sbPHupa3O5d9l8u5ABRaPo8dxfSeKKZj5kPfGp2M+eG02mTMc28NyiKdpFV1uydj9s/htc7lNeiMtdYVCAAAAECSBgIAAACQpIEAAAAAJGkgAAAAAEkaCAAAAECSBgIAAACQpIEAAAAAJGkgAAAAAEmlhU6AbJUuqslknj/fekQy5uw+jydj/vW7l7Q4PqihITlH7SfeTsbkYv+ffjoZs0/15kzWykJWryXQen8b1iMZc9K//DkPmUQc+s2W62hExJaDNiVjevZJ19updSNySalFP3/yyGRM5aLuyZjeGdXjbpu2JmO++LWLWxx/4ro5meSSy/5d8c2jkzE9X03/95+KxxtzSQnaTWP1yDbPkc9zoVzWymWbssg5i30XkU0u3SsGJmPWXJKOuaC8NhnzhbcGJWNmVj6Vnqf2sJYDXi1LzpHVa5CLfP1eZcUVCAAAAECSBgIAAACQpIEAAAAAJGkgAAAAAEkaCAAAAECSBgIAAACQpIEAAAAAJJW2JnjGjBnxy1/+Mp577rno1atXHHPMMXHDDTfEgQce2Bzz9ttvx+c+97m44447oqGhIcaPHx/f/e53o6KiIvPku6J83QP07MMeT8Z8veLpZMziPx/T4njt0en7sD435ofJmI+uPCEZ03t1Nv2yYroPK9B6ubyH3zxhdB4yyc2iy2cmY6atPikZ07/HxmTMDRVLkzGvNG5ocXzpRckpcpLVfbFzmaf3X7e0OL5ic8vbHBGx3y67JWNy0dQ9HfMv1z+SyVpQ7HJ5/+ZTFueAWW1T3ZHpc+jdBh+djOnx8boWx9+/e21yjoNKX03G5GJm5VN5mef39xyenCOr8/1i+x3OQqv+olq8eHFMnjw5Hn300fjNb34TmzdvjpNOOik2bvzHSclnP/vZ+NWvfhV33nlnLF68OFavXh2nnXZa5okDAAAA+dOqKxAWLFiw3c9z586NgQMHRk1NTRx33HFRX18fP/zhD+P222+P6urqiIi47bbb4v3vf388+uijcfTR6S4YAAAAUHzadE13fX19RET0798/IiJqampi8+bNMW7cuOaY973vfbH33nvHkiVL2rIUAAAAUECtugJhW1u3bo3LL788jj322Dj44IMjIqK2tjZ69OgR/fr12y62oqIiamt3/PmZhoaGaGhoaP55/fr1O5sSAEVAXQfoPNR0YFs7fQXC5MmT45lnnok77rijTQnMmDEjysvLmx9VVVVtmg+AwlLXAToPNR3Y1k41EC699NK455574sEHH4y99tqr+fnKysrYtGlTrFu3brv4urq6qKys3OFc06ZNi/r6+ubHqlWrdiYlAIqEug7QeajpwLZa9RGGpqamuOyyy2L+/Pnx0EMPxZAhQ7YbHzlyZOyyyy6xcOHCOP300yMiYtmyZfHyyy/H6NE7viVWWVlZlJWlb0MCQMegrgN0Hmo6sK1WNRAmT54ct99+e9x9993Rp0+f5u81KC8vj169ekV5eXlccMEFMWXKlOjfv3/07ds3Lrvsshg9erQ7MAAAAEAH1qoGwpw5cyIiYuzYsds9f9ttt8X5558fERHf+ta3olu3bnH66adHQ0NDjB8/Pr773e9mkmxHVrqoJpN5GqtHtnmOv172VjJmZDyTjDnwh59Jxmyq3tLi+MpTbk7OkYs11+yXjBl0/yOZrJWSy2uU1e8DdDX5eu985EO/TcZcN/CPmaw1tW5Ei+MzXzs2OUf/HhuTMTdULE3GzHw9XUsfOLhPMiYLubzWWRwTIyJK32z5WPWhW65IzvGnS9LnOufunr4j1dLLkyGZcKyis8jq97Rbn3Rte+6b70vGrPz3WxIRS3NLKAPT6w5Nxmxp2035IiK340suLvlL+j84v76pdzLmL/95QIvjvRc9lnNObZXPY1m+tPojDCk9e/aM2bNnx+zZs3c6KQAAAKC4tL3lBAAAAHR6GggAAABAkgYCAAAAkKSBAAAAACRpIAAAAABJGggAAABAkgYCAAAAkFRa6AT4h8bqkXlZZ/Pm7pnMM/yEPydjBveqb3F8et2hyTkenXpUMqbHr59MxuQiX68BsHPy9R79v3/elIzZ3JRNLb2hYmmb57h53b8kYw772iXJmIGzH2lzLvlUuqgmL+sMivTv3aiXPpOM6ffjJVmkk9P7IF/7Bt5LFr+DWdX81z8xOhkz6PyVyZj/6NP2880v1B6WjJlZ+VSb14mI2JLDfyvO4hiUi5qG9HF14f3pfbPvlek62jsea3E8n+f7ubwPOlq9dgUCAAAAkKSBAAAAACRpIAAAAABJGggAAABAkgYCAAAAkKSBAAAAACRpIAAAAABJGggAAABAUmmhE6B1ShfVtDjeWD0yOcfAn/RKxnx9ztPJmOl1hyZjFnz/2BbH95yzJDnHLvFkMiaX7c5K6jUACier9+c+i9IxSzNZKeLYj3yqzXOU/a0xGTPwgUfavE4uOmI9ziLnfj9OH89ykdX+y+frADsri9/TN848OhnzxNfmJGO+UHtYMmZm5VPJmKl1I9o8R1a53FCxNBlz2NcvaXG84pZ0nX3tnMOTMXv8MF0j9410TBa/M7kcO3JZp6v+TeAKBAAAACBJAwEAAABI0kAAAAAAkjQQAAAAgCQNBAAAACBJAwEAAABI0kAAAAAAkjQQAAAAgKTSQidA/u3yxpZkzPjBIzJZa89Y0uJ4Y/XITNbJRemimmRMPvMBtpfLezQll/dwFutkqefaxjbPkVV962h1Ml+5ZPU7k8/XoNh+z2FHUr+nufyu9/nZo8mYYYd9JhnT833rkjH/94kjkjFnHPVEi+Mn/M+Hk3P8y671yZjDvn5JMmbgdx5Jx0TLMU3JGSL2+GHL5/u5Kqbapoa+N1cgAAAAAEkaCAAAAECSBgIAAACQpIEAAAAAJGkgAAAAAEkaCAAAAECSBgIAAACQ1KoGwowZM+LII4+MPn36xMCBA2PSpEmxbNmy7WLGjh0bJSUl2z0+/elPZ5o0AAAAkF+lrQlevHhxTJ48OY488shobGyM6dOnx0knnRR/+tOfYtddd22Ou+iii+Kaa65p/rl3797ZZdzFNVaPbHG8dFFNnjLJRi75prYZ4B3FVgNzqV9Z5JxVncxXvlnJarvztU1ZrVNMrwEUWi51oOrXm9IT/Tr998qesTUZs/RTLY93qx6QnOPVRS8lYwbGI8mYjlbTi+nvgmLaL8WmVQ2EBQsWbPfz3LlzY+DAgVFTUxPHHXdc8/O9e/eOysrKbDIEAAAACq5N34FQX18fERH9+/ff7vmf/OQnMWDAgDj44INj2rRp8eabb7ZlGQAAAKDAWnUFwra2bt0al19+eRx77LFx8MEHNz//0Y9+NPbZZ58YPHhwPP300zF16tRYtmxZ/PKXv9zhPA0NDdHQ0ND88/r163c2JQCKgLoO0Hmo6cC2drqBMHny5HjmmWfit7/97XbPX3zxxc3//5BDDolBgwbFiSeeGCtWrIj99tvvXfPMmDEjrr766p1NA4Aio64DdB5qOrCtnfoIw6WXXhr33HNPPPjgg7HXXnu1GDtq1KiIiFi+fPkOx6dNmxb19fXNj1WrVu1MSgAUCXUdoPNQ04FtteoKhKamprjsssti/vz58dBDD8WQIUOS/2bp0qURETFo0KAdjpeVlUVZWVlr0gCgiKnrAJ2Hmg5sq1UNhMmTJ8ftt98ed999d/Tp0ydqa2sjIqK8vDx69eoVK1asiNtvvz1OPvnk2GOPPeLpp5+Oz372s3HcccfFoYce2i4bAAAAALS/VjUQ5syZExERY8eO3e752267Lc4///zo0aNHPPDAAzFr1qzYuHFjVFVVxemnnx5XXnllZgl3Zvm632i+7p+ai3zeY7WYthvYOan3cVb3kM7nvajd03rndcZtgs6imGpbPs8Bi+l8s5j2TTHlQtu0+iMMLamqqorFixe3KSEAAACg+OzUlygCAAAAXYsGAgAAAJCkgQAAAAAkaSAAAAAASRoIAAAAQJIGAgAAAJCkgQAAAAAklRY6AbLVWD2y0Clsp3RRTVHMAXQOxVRT1CaAtslXHc1qnVzOs4vp2JBFvvnc5mLad7w3VyAAAAAASRoIAAAAQJIGAgAAAJCkgQAAAAAkaSAAAAAASRoIAAAAQJIGAgAAAJBUWugE/llTU1NERDTG5oimAifTATU2vl3oFLbXtLnQGVAkGuPvvwvvvMfpOtR16HzU9K4r15qe0zlpBztP7GjblEW+HW2b2Xm51vWSpiKr/K+88kpUVVUVOg2gnaxatSr22muvQqdBHqnr0Hmp6V2Pmg6dW6quF10DYevWrbF69ero06dPlJSURETE+vXro6qqKlatWhV9+/YtcIadj/3bvuzfv2tqaoo33ngjBg8eHN26+fRUV/LPdd17on3Zv+3L/v07Nb3rcq6ef/Zv+7J//y7Xul50H2Ho1q3be3Y8+vbt26Vf1PZm/7Yv+zeivLy80ClQAO9V170n2pf9277sXzW9q3KuXjj2b/uyf3Or61rGAAAAQJIGAgAAAJDUIRoIZWVlcdVVV0VZWVmhU+mU7N/2Zf/C9rwn2pf9277sX3g374v2Zf+2L/u3dYruSxQBAACA4tMhrkAAAAAACksDAQAAAEjSQAAAAACSNBAAAACAJA0EAAAAIEkDAQAAAEjSQAAAAACSNBAAAACAJA0EAAAAIEkDAQAAAEjSQAAAAACSNBAAAACAJA0EAAAAIEkDAQAAAEjSQKBV5s6dGyUlJdGzZ8/4y1/+8q7xsWPHxsEHH9zuefzmN7+JMWPGRO/evWP33XeP//iP/4gXX3yx3dcF6EyKoaYvXLgwPvnJT8awYcOid+/eMXTo0LjwwgtjzZo17bouQGdUDHX9nRx29KitrW3XtWl/pYVOgI6poaEhrr/++rjpppvyvvY999wTH/7wh+Pwww+P66+/PtavXx//5//8nxgzZkw89dRTseeee+Y9J4COrJA1ferUqfH666/HRz7ykTjggAPihRdeiO985ztxzz33xNKlS6OysjLvOQF0dIWs6++45pprYsiQIds9169fv8IkQ2Y0ENgpI0aMiFtuuSWmTZsWgwcPzuvaU6dOjaFDh8bvfve76NGjR0REfOhDH2puKHzzm9/Maz4AHV0ha/qNN94YY8aMiW7d/nFR5IQJE+L444+P73znO3HdddflNR+AzqCQdf0dEydOjCOOOKIga9N+fISBnTJ9+vTYsmVLXH/99cnYxsbGuPbaa2O//faLsrKy2HfffWP69OnR0NDQ6nVff/31+NOf/hSnnnpqc/MgImL48OHx/ve/P+64445WzwnQ1RWqpkdEHHfccds1D955rn///vHss8/u1JwAXV0h6/q23njjjdiyZUub56F4aCCwU4YMGRLnnntu3HLLLbF69eoWYy+88ML4yle+Eocffnh861vfiuOPPz5mzJgRZ511VqvXfaeQ9erV611jvXv3jtWrV/tsFUArFaqmv5cNGzbEhg0bYsCAAZnNCdCVFENdP+GEE6Jv377Ru3fvOOWUU+L5559v03wUBw0EdtqXvvSlaGxsjBtuuOE9Y/7whz/EvHnz4sILL4w777wzLrnkkpg3b158/vOfj7vuuisefPDBVq1ZUVER/fr1i9/97nfbPb927dr405/+FBGxwy+MAaBlhajp72XWrFmxadOmOPPMMzOZD6ArKlRd7927d5x//vkxe/bsmD9/flxxxRWxcOHCOOaYY2LVqlVt2SSKgAYCO23o0KHx8Y9/PL7//e+/57dl33fffRERMWXKlO2e/9znPhcREffee2+r1uzWrVt86lOfioULF8a0adPi+eefj5qamjjjjDNi06ZNERHx1ltvtXZTALq8QtT0HXn44Yfj6quvjjPOOCOqq6vbPB9AV1Woun7GGWfEbbfdFueee25MmjQprr322rj//vtj7dq18bWvfa3V81FcNBBokyuvvDIaGxvf8/NVL730UnTr1i3233//7Z6vrKyMfv36xUsvvdTqNa+55pq44IIL4hvf+EYMGzYsjjjiiCgtLY0LLrggIiJ222231m8IAAWp6dt67rnn4tRTT42DDz44fvCDH7RpLgAKX9ffMWbMmBg1alQ88MADmcxH4Wgg0CZDhw6Nc845p8XOZkRESUlJZmv26NEjfvCDH8Tq1avj4YcfjmXLlsX9998f9fX1OyyAAOSmEDX9HatWrYqTTjopysvL47777os+ffpkvgZAV1PIuv7Pqqqq4vXXX2/3dWhfGgi02TudzR19vmqfffaJrVu3vutLU+rq6mLdunWxzz777PS6FRUV8YEPfCCGDRsWW7ZsiYceeihGjRrlCgSANihETV+7dm2cdNJJ0dDQEPfff38MGjRop+YB4N0Kda7+z1544YXYc889M5uPwtBAoM3222+/OOecc+J73/veu+6AcPLJJ0fE378Qa1s33nhjRER88IMfbH5uxYoVsWLFip3K4T//8z9jzZo1zZ/XAmDn5Lumb9y4MU4++eT4y1/+Evfdd18ccMABbdwCALaV77r+6quvvuu5++67L2pqamLChAmtTZ8iU1roBOgcvvSlL8WPf/zjWLZsWRx00EHNzw8fPjzOO++8+P73vx/r1q2L448/Ph5//PGYN29eTJo0KU444YTm2BNPPDEiIl588cUW1/qv//qv+MUvfhHHHXdc7LbbbvHAAw/Ez3/+87jwwgvj9NNPb5ftA+hK8lnTP/axj8Xjjz8en/zkJ+PZZ5+NZ599tnlst912i0mTJmW6bQBdUT7r+jHHHBOHHXZYHHHEEVFeXh6///3v49Zbb42qqqqYPn16u2wf+aOBQCb233//OOecc2LevHnvGvvBD34QQ4cOjblz58b8+fOjsrIypk2bFlddddVOrTVs2LB4/fXX49prr4233norDjzwwLj55pvj4osvbutmABD5relLly6NiIhbb701br311u3G9tlnHw0EgAzks66feeaZce+998avf/3rePPNN2PQoEFx0UUXxVVXXRUVFRVt3RQKrKSpqamp0EkAAAAAxc13IAAAAABJGggAAABAkgYCAAAAkKSBAAAAACRpIAAAAABJGggAAABAUmmhE/hnW7dujdWrV0efPn2ipKSk0OkAGWlqaoo33ngjBg8eHN266V12Jeo6dD5qetelpkPnlGtdb7cGwuzZs2PmzJlRW1sbw4cPj5tuuimOOuqo5L9bvXp1VFVVtVdaQIGtWrUq9tprr0KnQR6p69B5qeldj5oOnVuqrrdLA+FnP/tZTJkyJW6+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eOGF+M53vhP33HNPLF26NCorK/OeE0BHp67TXjQQ2CkjRoyIW265JaZNmxaDBw8uSA4TJ06MI444oiBrA3QmhazpN954Y4wZMya6dfvHRZETJkyI448/Pr7zne/Eddddl9d8ADoDdZ324iMM7JTp06fHli1b4vrrr0/GNjY2xrXXXhv77bdflJWVxb777hvTp0+PhoaGNufxxhtvxJYtW9o8D0BXVsiaftxxx213kvnOc/37949nn312p+YE6OrUddqLBgI7ZciQIXHuuefGLbfcEqtXr24x9sILL4yvfOUrcfjhh8e3vvWtOP7442PGjBlx1llntSmHE044Ifr27Ru9e/eOU045JZ5//vk2zQfQVRVDTd/Whg0bYsOGDTFgwIDM5gToStR12osGAjvtS1/6UjQ2NsYNN9zwnjF/+MMfYt68eXHhhRfGnXfeGZdccknMmzcvPv/5z8ddd90VDz74YKvX7d27d5x//vkxe/bsmD9/flxxxRWxcOHCOOaYY2LVqlVt2SSALqtQNX1HZs2aFZs2bYozzzwzk/kAuiJ1nfaggcBOGzp0aHz84x+P73//++/5rar33XdfRERMmTJlu+c/97nPRUTEvffe2+p1zzjjjLjtttvi3HPPjUmTJsW1114b999/f6xduza+9rWvtXo+AApX0//Zww8/HFdffXWcccYZUV1d3eb5ALoqdZ32oIFAm1x55ZXR2Nj4np+veumll6Jbt26x//77b/d8ZWVl9OvXL1566aVM8hgzZkyMGjUqHnjggUzmA+iKCl3Tn3vuuTj11FPj4IMPjh/84AdtmgsAdZ3saSDQJkOHDo1zzjmnxc5mRERJSUm751JVVRWvv/56u68D0FkVsqavWrUqTjrppCgvL4/77rsv+vTpk/kaAF2Nuk7WNBBos3c6mzv6fNU+++wTW7dufdcXHNbV1cW6detin332ySyPF154Ifbcc8/M5gPoigpR09euXRsnnXRSNDQ0xP333x+DBg3aqXkAeDd1nSxpINBm++23X5xzzjnxve99L2pra7cbO/nkkyPi71+csq0bb7wxIiI++MEPNj+3YsWKWLFiRXK9V1999V3P3XfffVFTUxMTJkxobfoAbCPfNX3jxo1x8sknx1/+8pe477774oADDmjjFgCwLXWdLJUWOgE6hy996Uvx4x//OJYtWxYHHXRQ8/PD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2+3fZcuWxcsvv2z/0mWo6/mjpreNmg5panr+qOltp65np6g/wjBlypQ477zz4ogjjoijjjoqZs2aFRs3boxPfOIThU6tQ9qwYUMsX768+eeVK1fG0qVLo3///rH33nvH5ZdfHtddd10ccMABMWTIkPjyl78cgwcPjkmTJhUu6Q5i8uTJcfvtt8fdd98dffr0af6sVHl5efTq1SvKy8vjggsuiClTpkT//v2jb9++cdlll8Xo0aPj6KOPLnD2kD/qenbU9PajpkNu1PTsqOntS13PUIHvApF00003Ne29995NPXr0aDrqqKOaHn300UKn1GE9+OCDTRHxrsd5553X1NT091vEfPnLX26qqKhoKisrazrxxBObli1bVtikO4gd7deIaLrtttuaY956662mSy65pGn33Xdv6t27d9Opp57atGbNmsIlDQWirmdDTW8/ajrkTk3PhprevtT17JQ0NTU1tXuXAgAAAOjQivY7EAAAAIDioYEAAAAAJGkgAAAAAEkaCAAAAECSBgIAAACQpIEAAAAAJGkgAAAAAEkaCAAAAECSBgIAAACQpIEAAAAAJGkgAAAAAEkaCAAAAEDS/w9tDXYiN4bHRQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "'''\n", "Description: visualize few advesarial dataset. label are from model on adversarial sample\n", "'''\n", "plot_images(np.array(adv_x), np.array(adx_label), rows=3)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.0" } }, "nbformat": 4, "nbformat_minor": 4 }