[404218]: / Code / PennyLane / QML Algorithm Search / Quanvolutional Neural Networks / 1RYeRandomLrsRYt 2nd 63.3% 132.77s.ipynb

Download this file

862 lines (861 with data), 165.5 kB

{
  "cells": [
    {
      "cell_type": "code",
      "execution_count": 2,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "A7xgHxPxd0J_",
        "outputId": "fb5330d2-a258-4283-e6f4-e5424ffa1f9b"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Time in seconds since beginning of run: 1706119935.8735228\n",
            "Wed Jan 24 18:12:15 2024\n"
          ]
        }
      ],
      "source": [
        "# This cell is added by sphinx-gallery\n",
        "# It can be customized to whatever you like\n",
        "%matplotlib inline\n",
        "# from google.colab import drive\n",
        "# drive.mount('/content/drive')\n",
        "# !pip install pennylane\n",
        "import time\n",
        "seconds = time.time()\n",
        "print(\"Time in seconds since beginning of run:\", seconds)\n",
        "local_time = time.ctime(seconds)\n",
        "print(local_time)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "RWYw4Yy7d0KA"
      },
      "source": [
        "Quanvolutional Neural Networks {#quanvolution}\n",
        "==============================\n",
        "\n",
        "::: {.meta}\n",
        ":property=\\\"og:description\\\": Train a quantum convolutional neural\n",
        "network to classify MNIST images. :property=\\\"og:image\\\":\n",
        "<https://pennylane.ai/qml/_static/demonstration_assets//circuit.png>\n",
        ":::\n",
        "\n",
        "*Author: Andrea Mari --- Posted: 24 March 2020. Last updated: 15 January\n",
        "2021.*\n",
        "\n",
        "In this demo we implement the *Quanvolutional Neural Network*, a quantum\n",
        "machine learning model originally introduced in [Henderson et al.\n",
        "(2019)](https://arxiv.org/abs/1904.04767).\n",
        "\n",
        "![](../_static/demonstration_assets/quanvolution/circuit.png){.align-center\n",
        "width=\"90.0%\"}\n",
        "\n",
        "Introduction\n",
        "------------\n",
        "\n",
        "### Classical convolution\n",
        "\n",
        "The *convolutional neural network* (CNN) is a standard model in\n",
        "classical machine learning which is particularly suitable for processing\n",
        "images. The model is based on the idea of a *convolution layer* where,\n",
        "instead of processing the full input data with a global function, a\n",
        "local convolution is applied.\n",
        "\n",
        "If the input is an image, small local regions are sequentially processed\n",
        "with the same kernel. The results obtained for each region are usually\n",
        "associated to different channels of a single output pixel. The union of\n",
        "all the output pixels produces a new image-like object, which can be\n",
        "further processed by additional layers.\n",
        "\n",
        "### Quantum convolution\n",
        "\n",
        "One can extend the same idea also to the context of quantum variational\n",
        "circuits. A possible approach is given by the following procedure which\n",
        "is very similar to the one used in Ref. \\[1\\]. The scheme is also\n",
        "represented in the figure at the top of this tutorial.\n",
        "\n",
        "1.  A small region of the input image, in our example a $2 \\times 2$\n",
        "    square, is embedded into a quantum circuit. In this demo, this is\n",
        "    achieved with parametrized rotations applied to the qubits\n",
        "    initialized in the ground state.\n",
        "2.  A quantum computation, associated to a unitary $U$, is performed on\n",
        "    the system. The unitary could be generated by a variational quantum\n",
        "    circuit or, more simply, by a random circuit as proposed in Ref.\n",
        "    \\[1\\].\n",
        "3.  The quantum system is finally measured, obtaining a list of\n",
        "    classical expectation values. The measurement results could also be\n",
        "    classically post-processed as proposed in Ref. \\[1\\] but, for\n",
        "    simplicity, in this demo we directly use the raw expectation values.\n",
        "4.  Analogously to a classical convolution layer, each expectation value\n",
        "    is mapped to a different channel of a single output pixel.\n",
        "5.  Iterating the same procedure over different regions, one can scan\n",
        "    the full input image, producing an output object which will be\n",
        "    structured as a multi-channel image.\n",
        "6.  The quantum convolution can be followed by further quantum layers or\n",
        "    by classical layers.\n",
        "\n",
        "The main difference with respect to a classical convolution is that a\n",
        "quantum circuit can generate highly complex kernels whose computation\n",
        "could be, at least in principle, classically intractable.\n",
        "\n",
        "::: {.note}\n",
        "::: {.title}\n",
        "Note\n",
        ":::\n",
        "\n",
        "In this tutorial we follow the approach of Ref. \\[1\\] in which a fixed\n",
        "non-trainable quantum circuit is used as a \\\"quanvolution\\\" kernel,\n",
        "while the subsequent classical layers are trained for the classification\n",
        "problem of interest. However, by leveraging the ability of PennyLane to\n",
        "evaluate gradients of quantum circuits, the quantum kernel could also be\n",
        "trained.\n",
        ":::\n",
        "\n",
        "General setup\n",
        "-------------\n",
        "\n",
        "This Python code requires *PennyLane* with the *TensorFlow* interface\n",
        "and the plotting library *matplotlib*.\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 3,
      "metadata": {
        "id": "VPbcKloNd0KC"
      },
      "outputs": [],
      "source": [
        "import pennylane as qml\n",
        "from pennylane import numpy as np\n",
        "from pennylane.templates import RandomLayers\n",
        "import tensorflow as tf\n",
        "from tensorflow import keras\n",
        "import matplotlib.pyplot as plt"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "ISZAWXDMd0KC"
      },
      "source": [
        "Setting of the main hyper-parameters of the model\n",
        "=================================================\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 4,
      "metadata": {
        "id": "1D5V-v5Vd0KC"
      },
      "outputs": [],
      "source": [
        "n_epochs = 30   # Number of optimization epochs\n",
        "n_layers = 1    # Number of random layers\n",
        "n_train = 50    # Size of the train dataset\n",
        "n_test = 30     # Size of the test dataset\n",
        "\n",
        "SAVE_PATH = \"/content/drive/MyDrive/Colab Notebooks/data/quanvolution\"  # Data saving folder\n",
        "PREPROCESS = True           # If False, skip quantum processing and load data from SAVE_PATH\n",
        "np.random.seed(0)           # Seed for NumPy random number generator\n",
        "tf.random.set_seed(0)       # Seed for TensorFlow random number generator"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "avddR0atd0KC"
      },
      "source": [
        "Loading of the MNIST dataset\n",
        "============================\n",
        "\n",
        "We import the MNIST dataset from *Keras*. To speedup the evaluation of\n",
        "this demo we use only a small number of training and test images.\n",
        "Obviously, better results are achievable when using the full dataset.\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 5,
      "metadata": {
        "id": "xlhnv1hrd0KC",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "outputId": "d13707e3-d698-49cf-ea7c-d514938b60f3"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz\n",
            "11490434/11490434 [==============================] - 1s 0us/step\n"
          ]
        }
      ],
      "source": [
        "mnist_dataset = keras.datasets.mnist\n",
        "(train_images, train_labels), (test_images, test_labels) = mnist_dataset.load_data()\n",
        "\n",
        "# Reduce dataset size\n",
        "train_images = train_images[:n_train]\n",
        "train_labels = train_labels[:n_train]\n",
        "test_images = test_images[:n_test]\n",
        "test_labels = test_labels[:n_test]\n",
        "\n",
        "# Normalize pixel values within 0 and 1\n",
        "train_images = train_images / 255\n",
        "test_images = test_images / 255\n",
        "\n",
        "# Add extra dimension for convolution channels\n",
        "train_images = np.array(train_images[..., tf.newaxis], requires_grad=False)\n",
        "test_images = np.array(test_images[..., tf.newaxis], requires_grad=False)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "bDVPKQD8d0KD"
      },
      "source": [
        "Quantum circuit as a convolution kernel\n",
        "=======================================\n",
        "\n",
        "We follow the scheme described in the introduction and represented in\n",
        "the figure at the top of this demo.\n",
        "\n",
        "We initialize a PennyLane `default.qubit` device, simulating a system of\n",
        "$4$ qubits. The associated `qnode` represents the quantum circuit\n",
        "consisting of:\n",
        "\n",
        "1.  an embedding layer of local $R_y$ rotations (with angles scaled by a\n",
        "    factor of $\\pi$);\n",
        "2.  a random circuit of `n_layers`;\n",
        "3.  a final measurement in the computational basis, estimating $4$\n",
        "    expectation values.\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 6,
      "metadata": {
        "id": "rD5_3eztd0KD"
      },
      "outputs": [],
      "source": [
        "dev = qml.device(\"default.qubit\", wires=4)\n",
        "# Random circuit parameters\n",
        "rand_params = np.random.uniform(high=2 * np.pi, size=(n_layers, 4))\n",
        "\n",
        "@qml.qnode(dev)\n",
        "def circuit(phi):\n",
        "    # Encoding of 4 classical input values\n",
        "    for j in range(4):\n",
        "        qml.RY(np.pi * phi[j], wires=j)\n",
        "\n",
        "    # Random quantum circuit\n",
        "    RandomLayers(rand_params, wires=list(range(4)), ratio_imprim=0, rotations=[qml.RY], seed=42)\n",
        "\n",
        "    # Measurement producing 4 classical output values\n",
        "    return [qml.expval(qml.PauliZ(j)) for j in range(4)]"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "02g-DOe8d0KD"
      },
      "source": [
        "The next function defines the convolution scheme:\n",
        "\n",
        "1.  the image is divided into squares of $2 \\times 2$ pixels;\n",
        "2.  each square is processed by the quantum circuit;\n",
        "3.  the $4$ expectation values are mapped into $4$ different channels of\n",
        "    a single output pixel.\n",
        "\n",
        "::: {.note}\n",
        "::: {.title}\n",
        "Note\n",
        ":::\n",
        "\n",
        "This process halves the resolution of the input image. In the standard\n",
        "language of CNN, this would correspond to a convolution with a\n",
        "$2 \\times 2$ *kernel* and a *stride* equal to $2$.\n",
        ":::\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 7,
      "metadata": {
        "id": "AEL9cTFEd0KD"
      },
      "outputs": [],
      "source": [
        "def quanv(image):\n",
        "    \"\"\"Convolves the input image with many applications of the same quantum circuit.\"\"\"\n",
        "    out = np.zeros((14, 14, 4))\n",
        "\n",
        "    # Loop over the coordinates of the top-left pixel of 2X2 squares\n",
        "    for j in range(0, 28, 2):\n",
        "        for k in range(0, 28, 2):\n",
        "            # Process a squared 2x2 region of the image with a quantum circuit\n",
        "            q_results = circuit(\n",
        "                [\n",
        "                    image[j, k, 0],\n",
        "                    image[j, k + 1, 0],\n",
        "                    image[j + 1, k, 0],\n",
        "                    image[j + 1, k + 1, 0]\n",
        "                ]\n",
        "            )\n",
        "            # Assign expectation values to different channels of the output pixel (j/2, k/2)\n",
        "            for c in range(4):\n",
        "                out[j // 2, k // 2, c] = q_results[c]\n",
        "    return out"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "N3MmyCQad0KD"
      },
      "source": [
        "Quantum pre-processing of the dataset\n",
        "=====================================\n",
        "\n",
        "Since we are not going to train the quantum convolution layer, it is\n",
        "more efficient to apply it as a \\\"pre-processing\\\" layer to all the\n",
        "images of our dataset. Later an entirely classical model will be\n",
        "directly trained and tested on the pre-processed dataset, avoiding\n",
        "unnecessary repetitions of quantum computations.\n",
        "\n",
        "The pre-processed images will be saved in the folder `SAVE_PATH`. Once\n",
        "saved, they can be directly loaded by setting `PREPROCESS = False`,\n",
        "otherwise the quantum convolution is evaluated at each run of the code.\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 8,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "c3oexS3hd0KD",
        "outputId": "b4798e85-5ff6-4709-b6c0-7cad8049cd3e"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Quantum pre-processing of train images:\n",
            "\n",
            "Quantum pre-processing of test images:\n"
          ]
        }
      ],
      "source": [
        "if PREPROCESS == True:\n",
        "    q_train_images = []\n",
        "    print(\"Quantum pre-processing of train images:\")\n",
        "    for idx, img in enumerate(train_images):\n",
        "        print(\"{}/{}        \".format(idx + 1, n_train), end=\"\\r\")\n",
        "        q_train_images.append(quanv(img))\n",
        "    q_train_images = np.asarray(q_train_images)\n",
        "\n",
        "    q_test_images = []\n",
        "    print(\"\\nQuantum pre-processing of test images:\")\n",
        "    for idx, img in enumerate(test_images):\n",
        "        print(\"{}/{}        \".format(idx + 1, n_test), end=\"\\r\")\n",
        "        q_test_images.append(quanv(img))\n",
        "    q_test_images = np.asarray(q_test_images)\n",
        "\n",
        "    # Save pre-processed images\n",
        "    np.save(SAVE_PATH + \"q_train_images.npy\", q_train_images)\n",
        "    np.save(SAVE_PATH + \"q_test_images.npy\", q_test_images)\n",
        "\n",
        "\n",
        "# Load pre-processed images\n",
        "q_train_images = np.load(SAVE_PATH + \"q_train_images.npy\")\n",
        "q_test_images = np.load(SAVE_PATH + \"q_test_images.npy\")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "kJYilWS1d0KE"
      },
      "source": [
        "Let us visualize the effect of the quantum convolution layer on a batch\n",
        "of samples:\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 9,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1006
        },
        "id": "2ckiL7srd0KE",
        "outputId": "c45cef6e-af05-4215-f1a2-076984957a27"
      },
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x1000 with 20 Axes>"
            ],
            "image/png": "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AAAAAICbjO4xraqq0t69exuuFxcXa9euXercubN69OihyZMn66GHHlLv3r2VlpammTNnKikpqdG5TgEAAAAA4S2gPab5+fk6deqUz/qXX36p/Px829vZtm2bvv/97+v73/++JGnKlCn6/ve/r1mzZkmS7r//ft1999268847dcUVV6iqqkoFBQVq27ZtILEBAAAAACEooMF07ty5fr/HdOrUKc2dO9f2dq655hpZluVzWblypSTJ4/EoPz9fpaWlOn36tN58880mv8cFAAAAAAhPAQ2mlmXJ4/H4rH/44Yfq3Llzs0MBAAAAAKKHo++YdurUSR6PRx6PRxdddFGj4bSurk5VVVX65S9/6XpIBGbOnDl+1wcMGOCzdvXVV/utzc7O9rv+xhtvBJwLCGdNHfX7scce87vu70ijJ0+e9Fs7btw4v+vbtm3zWYukI5X26NHDdASEgO9973u2a//3f/83iEkih7+/l/wdqVeS/v73v/usNfV3FRANUlNT/a6/9NJLzd72kiVL/K6//fbbzd52OHM0mC5atEiWZWnChAmaO3duo1MexMbGKjU1lSPmAgAAAAAccTSY5ubmSvr6VC5XXnml2rRpE5RQAAAAAIDoEdDpYtLS0vye8P0sPpYFAAAAALAroME0NTXV78GPzqqrqws4EAAAAAAgugQ0mO7cubPR9TNnzmjnzp16/PHH9fDDD7sSDM1XXV3td/2OO+7wWduxY4ff2t/97nd+1/19OdvfAVokaenSpX7XLcvyuw6EsrPnXf6//B3kqCk33nij3/V33303oExAtPnggw9MRwi6+Ph4n7Uf//jHfmtvueUWv+vXXXed7Z/34IMP+qyVl5fbvj8QaZrqt379+tneRmFhod/13/zmNwFlinQBDabp6ek+awMHDlRSUpIWLFigUaNGNTsYAAAAACA6BHQe06Z873vfi4rfYgIAAAAA3BPQHtPKyspG1y3L0uHDhzVnzhz17t3blWAAAAAAgOgQ0GDasWNHn4MfWZallJQUrV692pVgAAAAAIDoENBg+n8PfBMTE6OuXbvqwgsvVOvWAW0SAAAAABClApoir776ardzoAXt27fPZ+22227zW7tixQq/67feequtNUk677zz/K4/99xzPmvfdn5cIBQ8/vjjftebOoWWvyPtRsPRd2NifA9hUF9fbyAJIlHnzp2Dtm1/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el1dnQoKCnTBBRe4mw4AAAAAEPFsD6b9+/eXx+ORx+Px+5Hddu3aacmSJa6GAwAAAABEPtuDaXFxsSzLUq9evbR161Z17dq14bbY2Fh169ZNrVq1CkpIAAAAAEDksj2Y9uzZU5JUX18ftDAAAAAAgOjj+HQxzz333LfePm7cuIDDAAAAAACij+PB9N577210/cyZMzp16pRiY2PVvn17BlMAAAAAgCOOTxdz4sSJRpeqqirt2bNHgwcP1gsvvBCMjAAAAACACOZ4j6k/vXv31iOPPKJbbrlFn376qRubhAODBg1yVD9nzhzbtW+88Ybt2gcffNBRDn9Hd27KggULHG0baGmzZs2yXTt16lRH277hhhts1544ccJ2bevWzv4J+OZpwwCEPo4Lgmi1bds2R/WxsbG2az/77DOncWCT4z2mTWndurUOHTrk1uYAAAAAAFHC8R7T9evXN7puWZYOHz6sJ5980vGeu40bN2rBggXavn27Dh8+rLVr12rEiBGNtj179mz97ne/U3l5uQYNGqRly5apd+/eTmMDAAAAAEKU48H0m4OjJHk8HnXt2lVDhgzRwoULHW2rurpa6enpmjBhgkaNGuVz+/z587V48WI9++yzSktL08yZM5WTk6Pdu3erbdu2TqMDAAAAAEKQ48HUze8rDBs2TMOGDfN7m2VZWrRokWbMmKEbb7xR0tenqklISNC6det08803+71fTU2NampqGq5XVla6lhcAAAAA4L6Av2N67NgxHTt2zM0sjRQXF6u0tFTZ2dkNa16vV5mZmdq0aVOT95s3b568Xm/DJSUlJWgZAQAAAADN52gwLS8v16RJk9SlSxclJCQoISFBXbp0UV5ensrLy10NVlpaKklKSEhotJ6QkNBwmz/Tp09XRUVFw6WkpMTVXAAAAAAAd9n+KO8XX3yhrKwsHTx4UGPHjtXFF18sSdq9e7dWrlypwsJCvf/+++rUqVPQwtoRFxenuLg4oxkAAAAAAPbZHkzz8/MVGxurffv2+ezFzM/P13XXXaf8/Hw98cQTrgRLTEyUJJWVlal79+4N62VlZerfv78rPwMAAAAAYJ7tj/KuW7dOjz32mM9QKn09RM6fP19r1651LVhaWpoSExNVWFjYsFZZWaktW7YoKyvLtZ8DAAAAADDL9h7Tw4cPq2/fvk3efumll37rdz/9qaqq0t69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AAAAGMVgCgAAAAAwisEUAAAAAGAUgykAAAAAwCgGUwAAAACAUQymAAAAAACjWtspWr9+veMNX3vttWrXrp3j+wEAAAAAooutwXTEiBGONurxeFRUVKRevXoFkiliHTlyxHZtQkJCEJOEhlGjRtmuPXDggO3alJSUQOIAIat9+/a2a+vr623XJiUlOcpx6NAh27WPPvqo7doHHnjAUQ5El+uvv9527WuvvRbEJJEtPj7edAQg4sydOzdo2/Z4PEHbtim2P8pbWlqq+vp6Wxcn/4kCAAAAAEQ3W4Npbm6uo4/l3nLLLfzmDQAAAABgi62P8q5YscLRRpctWxZQGAAAAABA9OGovAAAAAAAoxwNpr///e+Vm5vbsAd1zZo1uvjii9WrVy/Nnj07KAEBAAAAAJHN1kd5JWnRokWaMWOGcnJy9Otf/1qHDh3SE088ofvuu091dXVauHChLrjgAt15553BzAsAAAAAiDC2B9Onn35av/3tb/Xzn/9cO3fuVEZGhpYvX67bb79dknTBBRdo2bJlDKYAAAAAAEdsf5T3s88+0+DBgyVJ3//+99WqVSv94Ac/aLj96quv1r59+9xPCAAAAACIaLYH0/bt26u6urrheteuXXX++ec3qvnqq6/cSwYAAAAAiAq2B9M+ffroo48+arheUlKinj17Nlz/9NNPlZqa6mo4AAAAAEDks/0d00cffVTnnXdek7cfOHBAv/jFL1wJFam6detmu/amm26yXfvSSy85ypGQkGC7trS01Hbt6NGjHeU4+9FwINq0atXKUX19fb3t2qVLl9quve+++xzl2Lx5s+3a6dOn26594IEHHOUAYE///v1t106ePDloOYBIUlxcbLt2zpw5jrb96quv2q797ne/62jb4cD2YDpo0KBvvf2uu+5qdhgAAAAAQPRxdB5TAAAAAADcxmAKAAAAADCKwRQAAAAAYBSDKQAAAADAKAZTAAAAAIBRrg2mr7zyip577jm3NgcAAAAAiBKuDaYPPPCAxo8f79bmAAAAAABRwvZ5TM/l008/dWtTAAAAAIAowndMAQAAAABGBbTHtLy8XFu3btWRI0dUX1/f6LZx48a5Eizavfjii7Zr77nnHkfbfv31153GsWXNmjVB2S4QDnJycmzXxsQ4+53g22+/bbv2hz/8oe3au+66y1EOJ5xkRnR57LHHTEeIGrt3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\n"
          },
          "metadata": {}
        }
      ],
      "source": [
        "n_samples = 4\n",
        "n_channels = 4\n",
        "fig, axes = plt.subplots(1 + n_channels, n_samples, figsize=(10, 10))\n",
        "for k in range(n_samples):\n",
        "    axes[0, 0].set_ylabel(\"Input\")\n",
        "    if k != 0:\n",
        "        axes[0, k].yaxis.set_visible(False)\n",
        "    axes[0, k].imshow(train_images[k, :, :, 0], cmap=\"gray\")\n",
        "\n",
        "    # Plot all output channels\n",
        "    for c in range(n_channels):\n",
        "        axes[c + 1, 0].set_ylabel(\"Output [ch. {}]\".format(c))\n",
        "        if k != 0:\n",
        "            axes[c, k].yaxis.set_visible(False)\n",
        "        axes[c + 1, k].imshow(q_train_images[k, :, :, c], cmap=\"gray\")\n",
        "\n",
        "plt.tight_layout()\n",
        "plt.show()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "rCnk_yy0d0KE"
      },
      "source": [
        "Below each input image, the $4$ output channels generated by the quantum\n",
        "convolution are visualized in gray scale.\n",
        "\n",
        "One can clearly notice the downsampling of the resolution and some local\n",
        "distortion introduced by the quantum kernel. On the other hand the\n",
        "global shape of the image is preserved, as expected for a convolution\n",
        "layer.\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "vCjr6WvXd0KE"
      },
      "source": [
        "Hybrid quantum-classical model\n",
        "==============================\n",
        "\n",
        "After the application of the quantum convolution layer we feed the\n",
        "resulting features into a classical neural network that will be trained\n",
        "to classify the $10$ different digits of the MNIST dataset.\n",
        "\n",
        "We use a very simple model: just a fully connected layer with 10 output\n",
        "nodes with a final *softmax* activation function.\n",
        "\n",
        "The model is compiled with a *stochastic-gradient-descent* optimizer,\n",
        "and a *cross-entropy* loss function.\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 10,
      "metadata": {
        "id": "PHtPdynad0KE"
      },
      "outputs": [],
      "source": [
        "def MyModel():\n",
        "    \"\"\"Initializes and returns a custom Keras model\n",
        "    which is ready to be trained.\"\"\"\n",
        "    model = keras.models.Sequential([\n",
        "        keras.layers.Flatten(),\n",
        "        keras.layers.Dense(10, activation=\"softmax\")\n",
        "    ])\n",
        "\n",
        "    model.compile(\n",
        "        optimizer='adam',\n",
        "        loss=\"sparse_categorical_crossentropy\",\n",
        "        metrics=[\"accuracy\"],\n",
        "    )\n",
        "    return model"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "WlOj9hwGd0KE"
      },
      "source": [
        "Training\n",
        "========\n",
        "\n",
        "We first initialize an instance of the model, then we train and validate\n",
        "it with the dataset that has been already pre-processed by a quantum\n",
        "convolution.\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 11,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "Zj8fE8uhd0KF",
        "outputId": "642d58d7-c26a-44bc-f4f0-5f30a8831ee6"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Epoch 1/30\n",
            "13/13 - 1s - loss: 2.8870 - accuracy: 0.0600 - val_loss: 2.3782 - val_accuracy: 0.1000 - 836ms/epoch - 64ms/step\n",
            "Epoch 2/30\n",
            "13/13 - 0s - loss: 2.1562 - accuracy: 0.2000 - val_loss: 2.2026 - val_accuracy: 0.2000 - 62ms/epoch - 5ms/step\n",
            "Epoch 3/30\n",
            "13/13 - 0s - loss: 1.7349 - accuracy: 0.5200 - val_loss: 1.9710 - val_accuracy: 0.3667 - 60ms/epoch - 5ms/step\n",
            "Epoch 4/30\n",
            "13/13 - 0s - loss: 1.3864 - accuracy: 0.6600 - val_loss: 1.7805 - val_accuracy: 0.4000 - 72ms/epoch - 6ms/step\n",
            "Epoch 5/30\n",
            "13/13 - 0s - loss: 1.1404 - accuracy: 0.8600 - val_loss: 1.6478 - val_accuracy: 0.5667 - 59ms/epoch - 5ms/step\n",
            "Epoch 6/30\n",
            "13/13 - 0s - loss: 0.9647 - accuracy: 0.9000 - val_loss: 1.5987 - val_accuracy: 0.5333 - 60ms/epoch - 5ms/step\n",
            "Epoch 7/30\n",
            "13/13 - 0s - loss: 0.7757 - accuracy: 0.9200 - val_loss: 1.5152 - val_accuracy: 0.5667 - 60ms/epoch - 5ms/step\n",
            "Epoch 8/30\n",
            "13/13 - 0s - loss: 0.6307 - accuracy: 0.9600 - val_loss: 1.4157 - val_accuracy: 0.6333 - 61ms/epoch - 5ms/step\n",
            "Epoch 9/30\n",
            "13/13 - 0s - loss: 0.5495 - accuracy: 0.9800 - val_loss: 1.3556 - val_accuracy: 0.6333 - 63ms/epoch - 5ms/step\n",
            "Epoch 10/30\n",
            "13/13 - 0s - loss: 0.4570 - accuracy: 0.9800 - val_loss: 1.3526 - val_accuracy: 0.6333 - 58ms/epoch - 4ms/step\n",
            "Epoch 11/30\n",
            "13/13 - 0s - loss: 0.4215 - accuracy: 0.9600 - val_loss: 1.2977 - val_accuracy: 0.6667 - 58ms/epoch - 4ms/step\n",
            "Epoch 12/30\n",
            "13/13 - 0s - loss: 0.3685 - accuracy: 1.0000 - val_loss: 1.3255 - val_accuracy: 0.5667 - 67ms/epoch - 5ms/step\n",
            "Epoch 13/30\n",
            "13/13 - 0s - loss: 0.3297 - accuracy: 1.0000 - val_loss: 1.2546 - val_accuracy: 0.6000 - 54ms/epoch - 4ms/step\n",
            "Epoch 14/30\n",
            "13/13 - 0s - loss: 0.2936 - accuracy: 1.0000 - val_loss: 1.1873 - val_accuracy: 0.6333 - 57ms/epoch - 4ms/step\n",
            "Epoch 15/30\n",
            "13/13 - 0s - loss: 0.2531 - accuracy: 1.0000 - val_loss: 1.1814 - val_accuracy: 0.6000 - 56ms/epoch - 4ms/step\n",
            "Epoch 16/30\n",
            "13/13 - 0s - loss: 0.2266 - accuracy: 1.0000 - val_loss: 1.1967 - val_accuracy: 0.6000 - 61ms/epoch - 5ms/step\n",
            "Epoch 17/30\n",
            "13/13 - 0s - loss: 0.2140 - accuracy: 1.0000 - val_loss: 1.1691 - val_accuracy: 0.6000 - 63ms/epoch - 5ms/step\n",
            "Epoch 18/30\n",
            "13/13 - 0s - loss: 0.1881 - accuracy: 1.0000 - val_loss: 1.1654 - val_accuracy: 0.5667 - 61ms/epoch - 5ms/step\n",
            "Epoch 19/30\n",
            "13/13 - 0s - loss: 0.1714 - accuracy: 1.0000 - val_loss: 1.1630 - val_accuracy: 0.6000 - 57ms/epoch - 4ms/step\n",
            "Epoch 20/30\n",
            "13/13 - 0s - loss: 0.1593 - accuracy: 1.0000 - val_loss: 1.1081 - val_accuracy: 0.6000 - 60ms/epoch - 5ms/step\n",
            "Epoch 21/30\n",
            "13/13 - 0s - loss: 0.1468 - accuracy: 1.0000 - val_loss: 1.1523 - val_accuracy: 0.6000 - 60ms/epoch - 5ms/step\n",
            "Epoch 22/30\n",
            "13/13 - 0s - loss: 0.1330 - accuracy: 1.0000 - val_loss: 1.1262 - val_accuracy: 0.6333 - 63ms/epoch - 5ms/step\n",
            "Epoch 23/30\n",
            "13/13 - 0s - loss: 0.1260 - accuracy: 1.0000 - val_loss: 1.1051 - val_accuracy: 0.6333 - 60ms/epoch - 5ms/step\n",
            "Epoch 24/30\n",
            "13/13 - 0s - loss: 0.1165 - accuracy: 1.0000 - val_loss: 1.0876 - val_accuracy: 0.6667 - 58ms/epoch - 4ms/step\n",
            "Epoch 25/30\n",
            "13/13 - 0s - loss: 0.1118 - accuracy: 1.0000 - val_loss: 1.0920 - val_accuracy: 0.6333 - 60ms/epoch - 5ms/step\n",
            "Epoch 26/30\n",
            "13/13 - 0s - loss: 0.1012 - accuracy: 1.0000 - val_loss: 1.0861 - val_accuracy: 0.6333 - 63ms/epoch - 5ms/step\n",
            "Epoch 27/30\n",
            "13/13 - 0s - loss: 0.0964 - accuracy: 1.0000 - val_loss: 1.0783 - val_accuracy: 0.6667 - 57ms/epoch - 4ms/step\n",
            "Epoch 28/30\n",
            "13/13 - 0s - loss: 0.0940 - accuracy: 1.0000 - val_loss: 1.0719 - val_accuracy: 0.6333 - 60ms/epoch - 5ms/step\n",
            "Epoch 29/30\n",
            "13/13 - 0s - loss: 0.0866 - accuracy: 1.0000 - val_loss: 1.0865 - val_accuracy: 0.6333 - 61ms/epoch - 5ms/step\n",
            "Epoch 30/30\n",
            "13/13 - 0s - loss: 0.0806 - accuracy: 1.0000 - val_loss: 1.0727 - val_accuracy: 0.6333 - 58ms/epoch - 4ms/step\n"
          ]
        }
      ],
      "source": [
        "q_model = MyModel()\n",
        "\n",
        "q_history = q_model.fit(\n",
        "    q_train_images,\n",
        "    train_labels,\n",
        "    validation_data=(q_test_images, test_labels),\n",
        "    batch_size=4,\n",
        "    epochs=n_epochs,\n",
        "    verbose=2,\n",
        ")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "ZrgNg_sSd0KF"
      },
      "source": [
        "In order to compare the results achievable with and without the quantum\n",
        "convolution layer, we initialize also a \\\"classical\\\" instance of the\n",
        "model that will be directly trained and validated with the raw MNIST\n",
        "images (i.e., without quantum pre-processing).\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 12,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "xVJR8xXcd0KF",
        "outputId": "42a642fe-b458-41bd-b396-c82fde4581b1"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Epoch 1/30\n",
            "13/13 - 1s - loss: 2.3875 - accuracy: 0.1000 - val_loss: 2.1974 - val_accuracy: 0.1333 - 616ms/epoch - 47ms/step\n",
            "Epoch 2/30\n",
            "13/13 - 0s - loss: 2.0071 - accuracy: 0.4200 - val_loss: 2.0608 - val_accuracy: 0.3000 - 58ms/epoch - 4ms/step\n",
            "Epoch 3/30\n",
            "13/13 - 0s - loss: 1.7056 - accuracy: 0.5400 - val_loss: 1.9345 - val_accuracy: 0.4333 - 55ms/epoch - 4ms/step\n",
            "Epoch 4/30\n",
            "13/13 - 0s - loss: 1.4652 - accuracy: 0.7800 - val_loss: 1.8072 - val_accuracy: 0.5000 - 65ms/epoch - 5ms/step\n",
            "Epoch 5/30\n",
            "13/13 - 0s - loss: 1.2593 - accuracy: 0.8600 - val_loss: 1.6857 - val_accuracy: 0.5667 - 58ms/epoch - 4ms/step\n",
            "Epoch 6/30\n",
            "13/13 - 0s - loss: 1.0923 - accuracy: 0.9000 - val_loss: 1.5925 - val_accuracy: 0.6667 - 60ms/epoch - 5ms/step\n",
            "Epoch 7/30\n",
            "13/13 - 0s - loss: 0.9485 - accuracy: 0.9400 - val_loss: 1.5193 - val_accuracy: 0.7000 - 57ms/epoch - 4ms/step\n",
            "Epoch 8/30\n",
            "13/13 - 0s - loss: 0.8289 - accuracy: 0.9400 - val_loss: 1.4485 - val_accuracy: 0.7000 - 57ms/epoch - 4ms/step\n",
            "Epoch 9/30\n",
            "13/13 - 0s - loss: 0.7310 - accuracy: 0.9600 - val_loss: 1.3922 - val_accuracy: 0.7333 - 58ms/epoch - 4ms/step\n",
            "Epoch 10/30\n",
            "13/13 - 0s - loss: 0.6470 - accuracy: 0.9800 - val_loss: 1.3488 - val_accuracy: 0.7000 - 57ms/epoch - 4ms/step\n",
            "Epoch 11/30\n",
            "13/13 - 0s - loss: 0.5835 - accuracy: 1.0000 - val_loss: 1.3040 - val_accuracy: 0.7667 - 58ms/epoch - 4ms/step\n",
            "Epoch 12/30\n",
            "13/13 - 0s - loss: 0.5241 - accuracy: 1.0000 - val_loss: 1.2892 - val_accuracy: 0.7667 - 57ms/epoch - 4ms/step\n",
            "Epoch 13/30\n",
            "13/13 - 0s - loss: 0.4725 - accuracy: 1.0000 - val_loss: 1.2565 - val_accuracy: 0.7667 - 63ms/epoch - 5ms/step\n",
            "Epoch 14/30\n",
            "13/13 - 0s - loss: 0.4272 - accuracy: 1.0000 - val_loss: 1.2189 - val_accuracy: 0.7667 - 56ms/epoch - 4ms/step\n",
            "Epoch 15/30\n",
            "13/13 - 0s - loss: 0.3877 - accuracy: 1.0000 - val_loss: 1.1940 - val_accuracy: 0.8000 - 63ms/epoch - 5ms/step\n",
            "Epoch 16/30\n",
            "13/13 - 0s - loss: 0.3548 - accuracy: 1.0000 - val_loss: 1.1737 - val_accuracy: 0.7667 - 56ms/epoch - 4ms/step\n",
            "Epoch 17/30\n",
            "13/13 - 0s - loss: 0.3273 - accuracy: 1.0000 - val_loss: 1.1588 - val_accuracy: 0.7667 - 55ms/epoch - 4ms/step\n",
            "Epoch 18/30\n",
            "13/13 - 0s - loss: 0.3018 - accuracy: 1.0000 - val_loss: 1.1370 - val_accuracy: 0.7000 - 57ms/epoch - 4ms/step\n",
            "Epoch 19/30\n",
            "13/13 - 0s - loss: 0.2770 - accuracy: 1.0000 - val_loss: 1.1295 - val_accuracy: 0.7000 - 55ms/epoch - 4ms/step\n",
            "Epoch 20/30\n",
            "13/13 - 0s - loss: 0.2578 - accuracy: 1.0000 - val_loss: 1.1087 - val_accuracy: 0.8000 - 58ms/epoch - 4ms/step\n",
            "Epoch 21/30\n",
            "13/13 - 0s - loss: 0.2395 - accuracy: 1.0000 - val_loss: 1.1043 - val_accuracy: 0.7667 - 56ms/epoch - 4ms/step\n",
            "Epoch 22/30\n",
            "13/13 - 0s - loss: 0.2227 - accuracy: 1.0000 - val_loss: 1.0911 - val_accuracy: 0.7667 - 55ms/epoch - 4ms/step\n",
            "Epoch 23/30\n",
            "13/13 - 0s - loss: 0.2076 - accuracy: 1.0000 - val_loss: 1.0806 - val_accuracy: 0.7667 - 58ms/epoch - 4ms/step\n",
            "Epoch 24/30\n",
            "13/13 - 0s - loss: 0.1943 - accuracy: 1.0000 - val_loss: 1.0712 - val_accuracy: 0.7333 - 54ms/epoch - 4ms/step\n",
            "Epoch 25/30\n",
            "13/13 - 0s - loss: 0.1838 - accuracy: 1.0000 - val_loss: 1.0660 - val_accuracy: 0.7667 - 57ms/epoch - 4ms/step\n",
            "Epoch 26/30\n",
            "13/13 - 0s - loss: 0.1716 - accuracy: 1.0000 - val_loss: 1.0583 - val_accuracy: 0.8000 - 55ms/epoch - 4ms/step\n",
            "Epoch 27/30\n",
            "13/13 - 0s - loss: 0.1622 - accuracy: 1.0000 - val_loss: 1.0479 - val_accuracy: 0.7667 - 58ms/epoch - 4ms/step\n",
            "Epoch 28/30\n",
            "13/13 - 0s - loss: 0.1539 - accuracy: 1.0000 - val_loss: 1.0422 - val_accuracy: 0.7667 - 59ms/epoch - 5ms/step\n",
            "Epoch 29/30\n",
            "13/13 - 0s - loss: 0.1450 - accuracy: 1.0000 - val_loss: 1.0384 - val_accuracy: 0.7667 - 55ms/epoch - 4ms/step\n",
            "Epoch 30/30\n",
            "13/13 - 0s - loss: 0.1366 - accuracy: 1.0000 - val_loss: 1.0343 - val_accuracy: 0.8000 - 58ms/epoch - 4ms/step\n"
          ]
        }
      ],
      "source": [
        "c_model = MyModel()\n",
        "\n",
        "c_history = c_model.fit(\n",
        "    train_images,\n",
        "    train_labels,\n",
        "    validation_data=(test_images, test_labels),\n",
        "    batch_size=4,\n",
        "    epochs=n_epochs,\n",
        "    verbose=2,\n",
        ")"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "oXLGIhPJd0KF"
      },
      "source": [
        "Results\n",
        "=======\n",
        "\n",
        "We can finally plot the test accuracy and the test loss with respect to\n",
        "the number of training epochs.\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 13,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 963
        },
        "id": "fwDEhq0Qd0KF",
        "outputId": "90d87e1a-d66e-401f-e0db-757a62f7b21f"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "<ipython-input-13-c3ef9ba498fb>:3: MatplotlibDeprecationWarning: The seaborn styles shipped by Matplotlib are deprecated since 3.6, as they no longer correspond to the styles shipped by seaborn. However, they will remain available as 'seaborn-v0_8-<style>'. Alternatively, directly use the seaborn API instead.\n",
            "  plt.style.use(\"seaborn\")\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 600x900 with 2 Axes>"
            ],
            "image/png": "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xNc4eHA/H3zwMRcvxvPEE31Zt241bdq0z/U43377Jbt27eCrr77Hz8+f999/hwkTXuPzz7+mc+duDBs2hISEBAIDAwFYvXold9/dEbPZzMSJr2GxePHVV/OxWMy8997bvPnmeKZM+ch+/D/+2MqCBT/j7x/gcCzzS91zIiLi8by8vGja9A57F91ff22nfPkKVK9egwYNbiUy0rY9MnIzt9xSj+Bgx1qwWrW6i7p16+Pj48Ndd7Xj2LGjAGzcGEFychIDBjyFj48vVatW4/77H+S335YX+rmcO3eWXbt28Oijj+Pv709ISC26dLnH4f1vvbURP/20lFq1amMymf5JIlM4fPigvUzlylXp0uUevLy8aN++IxkZGRw/frRA9bVardx/f298fX1p2fIuDMOgTZv2lC5dmho1bqBGjZocP348z+P069efGTNmERxckhIlStC27d0cPLif9PR0GjW6nbJly/H777ZxYElJSWzevJEOHboQG3ue9evX8vTTzxEcHExAQCCDBg1my5ZNnDt31n78zp27ERAQeFW3rDOppUlE5DoX7FOSrY9GOdQ9F3XmL0asGZpnucltP6RlrVCndc+BrYtu9uxPAVty1KRJMwCaNGlGZORm7rmnB5GRmwkNbeHwMStXrmr/28fHh7S0NABiYqKpUqUq3t7e9serVavO6dOnsFqzfz6OOnPmbwAqVapyxbFrOLy/1Wrliy8+ZdWq34iLi7VvT01Ntf9dufLlY/v6+gK27rGCqlChEoA9HuXLV7A/5u3tTWpq3seOjT3PBx9MYvv2bVy6dAnDMMjIyCAjIwMvLy86duzCsmW/cs89Pdm4cT1VqlSlTp2b2LEjCoD+/R/OcjyLxcLff5+mVClb61qlSpUK/PwcpaRJREQI9ilJk4rN8ix3e4WmfLx96lWDwK8UUrIWTzQYQJkygcTGJpKeXrgkI1NoaAveeWcCR48eYevWLfTt289Wp9ubsWDBPJKSkti5M4pnnnne4WPm1CiRmpqWQ/mcWzGs1gyHzpnd1AxGDmPELh/78uOzZ3/KypUreOed96ld+yYMw6B169As5c3mgre2ZJcU/vt5F6Q159VXR+Pt7c3s2d9SoUJFIiM388ILz9of79y5G199NZuzZ8+wZs3vdOzYBbAlswA//riEkiVLXXXczC5Gi8X1KY2650RExGEmk4lXwyZg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iMg1J99J00svvcTYsWP573//i9VqxTAMvLy86N69O8OGDXNFHSUH4YcWMXBpP6zG1S1BPx/8kR6H7qdbre75Pu6xYyaOHrW1UGk8k4iIiE2++278/Px47733WL9+PfPnz+fHH39k2bJlVK5cmU6dOrmijpINwzAYHzEm24QJwGpYeX3DWAzDyPex16+/cn4mTWopIiICBZynCaBUqVIcOHCAb775huXLlxMcHEzv3r2dWTfJxcaYiKu65P7t8IVDbIrZQPMq+Rugn9k1V62alZo18590iYiIXIvynTSlpKTw888/880337Bnzx5MJhNjx46lV69eeHt7u6KOko1TiTFOLZfJMC4PAtd4JhERkcsc7p47fvw4b7/9NnfeeSfvvfced9xxB4sXLyYwMJA2bdooYSpilQIqO7VcpsOHTcTE2C4Ldc2JiIhc5nBLU+fOnWnevDljx46lU6dOSpLcrHnlMGoGh+TaRRdSshahlVvk67hr116+JDQIXERE5DKHW5rKly/P/v372bVrFydOnHBlncQBJpOJV8MmYCL7/jOzycy4Fm/ke/mUzK65WrWsVK2q8UwiIiKZHE6afvvtN0aNGkVUVBRdu3alX79+/PzzzwW6O0uco1ut7lQPuuGq7SElazGr01f5nm7AMC7fOaeuORERkawc7p6zWCx06dKFLl26sHv3br766ivGjh1LSkoKn332Gf3796d69equrKv8y9H4Ixy7eASA/zQcRLNKoVQKqExo5RYFWqB3zx4zZ8/a8mgtnSIiIpJVgdbYqFu3Lm+++SarV69m6NChrFq1ik6dOjFo0CBn109yEX5okf3vZxs9T886D9C8SliBEibIut5cWJiSJhERkSsVbGGyf5QqVYqnn36a3377jffff5/ExERn1UscEH7oZwBur9CEqkHVCnwcw4ANGyx8/72t4fHmmzOoUEHdriIiIlcqVNJkP4jZTOfOnfnqq6+ccThxwOnEU2w5tQmArrXuLfBxwsO9CA0NoEcPf/7805Y0xcSYCQ8v8LynIiIi1ySnJE0FFR0dzVNPPUVoaCht27Zl0qRJWK3ZLwuS6fTp0zRu3Jhp06YVUS0905LDi+1/d6tVsIWSw8O9GDjQlyNHsl4G8fEmBg70VeIkIiJyBbcmTUOGDKFixYqsWLGC2bNns2LFCubMmZPrPhMmTMBiseRa5nqQ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9dfp2rUrFouFJk2a8Mknn2QZByUi1y+TcWVbtYhIMdWuXTu6du3K8OHD3V0VEblGqXtORERExAFKmkREREQcoO45EREREQeopUlERETEAUqaRERERBygpElERETEAUqaRERERBygpElERETEAUqaRERERBygpElERETEAUqaRERERBygpElERETEAUqaRERERBygpElERETEAUqaRERERBygpElERETEAV7urkBROnPmokuOazabKFMmgPPnE7FaDZec43qgOBaeYugcimPhKYbOoTgWniMxLF8+yLFjObNi1yuz2YTJZMJsNrm7KsWa4lh4iqFzKI6Fpxg6h+JYeM6MoZImEREREQcoaRIRERFxgJImEREREQcoaRIRERFxgJImEREREQcoaRIRERFxgJImEREREQcoaRIRERFxgJImEREREQcoaRIRERFxgJImEREREQcoaRIRERFxgJImEREpEMOADRss/PijFxs2WDCyX0Derdq1C2PLlo3ZPtarV3cWLlxQxDXybNu2RdKqVVNSUlLcXRWPpKRJRETyLTzci9DQAHr08Ofpp/3o0cOf0NAAwsO9XHK+gQP78fHHH2bZtnfvHlq1asrq1SuzbJ8/fy49enTCMAxWroygWbPm9vJbtmxySf1c7dtvvyY9Pd3d1bjuKWkSEZF8CQ/3YuBAX44cyfoVcuSImYEDfV2SOIWGtrgq4dmyZSN+fv5s2bI5y/bIyE3ccUcLTCbTv+r9E5GRWcsWB+fPn2fatClkZGS4uyrXPdf8JBARkWIlPh7278/7d7RhwOjRPlitpmwft1pNvPKKD1WqpFCyJMTHm8npu75OHSvBwY7VLzQ0jK++mk1sbCylS5cGIDJyM126dGPz5svJVHp6Otu3b+Oll0YD0KpVU957byobNqzjxx8XYDab+f3335g3byEAly5dYsyYEWzcGEHJkqV45ZXXuP32ptnWYe7cr/n66y9IT0+nU6euJCQkYDabeeWV15g48TVSU1MYP/4tAFJSUmjfviVTp/4ft9/elLi4ON577y22b99GenoaDRrcyksvjaZixUr2ek6c+C5z537D/v17qVKlKmPGjKdixYr07NkVwzDo0qUtw4ePIibmJJs2bWDmzC/sdbv33k4MGjSYrl27M3Hia/j6+pGRkc7y5UspVao048a9zvbtfzBv3jcAPPvs83Tt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AL4/9C0bj/3syvJERERcokihaf369bzxxhsALFu2jJtvvpknn3ySF198kQ0bNjizPnGRRx7JoGzZS7NNPjze/ElCfEIAeGHTeH1KUkRESp0ihaaLFy9SuXJlAKKjo7ntttsAKFeuHBcuXHBedeIy5cplByeAH37w4sDvIYxs9RQA209tY/nBpS6sTkREpOQVKTRVqVKFvXv3EhcXR0xMDO3aZW+CePDgQYKCgpxaoLjO0KEZBAZenm16uPEj1CxbC4AXNz+P1WZ1ZXkiIiIlqkihaeDAgfTv35/evXvTpUsXatSowYULF3jyySftvoSKuL+QkOyTwgG++86LP3b78XTrZwE4kLifL/fMdmV5IiIiJapIoen+++/ns88+45133sk58dvf35+oqCjt03SNGTo0E3//7NmmqVO9uat+fxpWaAzAlK0vk5KZ4sryRERESkyRQhNAs2bNqF+/Pr/88gtbt24lISGBYcOG4eVVpGsAi5uqUMFg8ODs2aZVq8rw++4yjGvzPACnLp7kg99muLA6ERGRklOk0JSQkMCgQYO47bbbePDBBxk4cCC33HILI0aMIDU11dk1iosNH355tmnaNG861upEu9BbAHj7lzc4m6qL+YqIyLWvSKHp5ZdfJikpiXfeeYdvv/2WlStX8sYbb3D06FHefPNNZ9coLlapksFDD2UCsGxZGfbssTCuzUQALmQk8caOqa4sT0REpEQUKTT9/PPPvPPOO9x+++3Url2bsLAwunTpwltvvcXq1audXaO4gREjMvD1vTzb1LxKS3rV7QvAxzEfcDjpkCvLExERKXZFCk0ZGRk5+zT9XWhoqC6jco2qXPnybNOSJV788YeZsRHjci7m+7/Nk4k+voFF+xYQfXyDNr8UEZFrTpFCU506dVi5cuUVt69YsYKaNWs6XJS4p8cfz8DHx8AwTEyb5k14uXoMbDgIgAX75tL7m24M/X4wvb/pRsQXzbQBpoiIXFOK9FG3YcOG8cQTT/DNN9/QoEEDAP744w82bdrESy+95NQCxX1UqWIwcGAmH37ozaJFXowaZaZZ5Rawe9YVY+OSYhny7UBmdZlNVHhPF1QrIiLiXEWaaerUqROffvopAQEBREdHs3btWnx8fHjvvffo06ePk0sUd/L44xl4e2fPNr0+rQxvbM//JHCbYWNS9Dgt1YmIyDWhyJsqtW7dmtatW19xe9u2bYmOjnaoKHFf1asb3H9/Jh9/7M3CbdEYjWMLHB97/iCbT0TTpnpkCVUoIiJSPIq8uWV+UlK0Q/S17v/+L4MyZQyMwBN2jT+ZYt84ERERd+b00GQymZx9SHEzNWoY3HtvJlyobtf4qgHVirkiERGR4uf00CSlwxNPZGA51g4S6hY4Liw4nIhqbUuoKhERkeKj0CRFUquWwT0DrPDdFLDl9zYyMb7tC5p9FBGRa8JVnQg+atSoQsdYrdYiFyOe5cknM5jTtg9Z8xZQ9s6nuOB94B8jDNKz0lxSm4iIiLNdVWg6ffp0oWNatGhR5GLEs9SpY9Cvn5U5c/py4aXeUPtnCDwBacFY+gwjq+whxqz7D62rtqFGWW16KiIinu2qQtPs2bOLqw7xUM2aWZkzxwsww6Fbcm7Pmj8bBt1KUsZ5nlgznAW9lmA2aTVYREQ8l/4VkyIzDHjvPR8gj3OWDreHn58B4Odj63nv1+klW5yIiIiTKTRJkW3aZCEuroC30LoJcLwlAC9tmsiuMzElVJmIiIjzKTRJkZ08Wcin4rK8YeHnlDH5kWHL4LHV/yLNqhPDRUTEMyk0SZFVrWrHNeXOXM+QGtkXcd6bsIcXNz1fvEWJiIgUE4UmKbI2bbKoU8dW4JjgYINnOw/m9lqdAHj/t3dZe2RNSZQnIiLiVApNUmQmE0yYkI7ZnP+M0/nzJvr2DeCZG2ZQwbcCAE+sGc65tISSKlNERMQpFJrEIVFRVmbNSiMsLPeMU61aNq6/PguAbdss9O8ezoMh7wLZF/Adve7fGIYdy3siIiJuQqFJHBYVZWXTphQWL77IzJmpLFlyka1bU/jxx4uMHp2OyWRw7pyJaUP70zBtMABLD3zDvD++cnHlIiIi9lNoEqcwmaBt2yz69LHSpk0WJhNYLDBmTAbz56dSsWL2TNTvr7+JT0o9AP7701McSopzYdUiIiL2U2iSYnfLLVn8+ONF2rWzQkYg6V/NBpuF5MwLjFj9KFm2LFeXKCIiUiiFJikRVaoYzJ+fyqhR6ZiORcC6cQBsObmJN7ZNwzBg40Yzc+Zk/63TnURExN24PDT99NNPREZGMnLkyELH7tixgzvvvJOmTZvSuXNnli5dWgIVirNYLPD00xnMm5dKhd//C0cjAHhly0s06bKHHiO2cu+Lc+gxYiutI/xZvvyqLo0oIiJSrFz6r9IHH3zAggULqF27dqFjT58+zbBhwxg7dizdunVj06ZNTJkyhfbt21OuXLniL1acpkOHLNausfHQyE/YUbkVeKdwumc7sGTmjDmUUJfBr77KR3QjKsrqwmpFRESyuTQ0+fj4sGDBAl588UXS09MLHDtv3jxatGhBnz59AOjQoQMdOnS4quczm02YzYVc+qMILBZzrr+lcKGhsOrLmtR49EEyms3IFZgAKH8Ao18/nvlkHr16dcXk/P9t1yS9F51DfXSceugc6qPjnNlDl4amBx980O6x27dvp169ejz22GNs3ryZGjVqMGbMGG6++Wa7j1G+fACmYvzXNyjIr9iOfS1at84go9Z3+Q8w2zjV9Bl27bqTW25Raroaei86h/roOPXQOdRHxzmjhx5z0sjJkyf5/fffmTZtGlOnTuXTTz9lxIgRfPvtt1SpUsWuYyQkpBTbTFNQkB9JSalkZRV8WRG5bPmuaCh/oOBBFfazfNcPNGnStmSK8nB6LzqH+ug49dA51EfH2dPDkJAAu47lMaHJMAw6dOhAZGQkAEOHDuXLL79k7dq1DBgwwK5j2GwGNlvxfSwrK8uG1ao3tb1sgcfgTOHjjIDj6utV0nvROdRHx6mHzqE+Os4ZPfSYRdJKlSoRFBSU87XZbKZ69erEx8e7sCpxRPsb7ZshbGfnOBERkeLkMaGpbt267NmzJ+drwzA4fvw4oaGhLqxKHNG2eiSVvcILHOOXWpc21bU0JyIirue2oenUqVN07dqVI0eOANC/f3927tzJokWLSE9PZ9asWaSnp3PHHXe4uFIpKpPJxCt3vICpgLdh6vEwvv7aY1aRRUTkGubS0NSkSROaNGnC4sWLWbVqVc7XAJmZmcTGxpKRkQFAw4YNef3113nvvfdo1aoVy5Yt48MPP6Rs2bKufAnioKjwnnzUdTZhwblnnHwsvtn/UXc1Tyx8ld273Tbfi4hIKWEyjNJzwYr4+AvFclwvLzMhIQGcO5eiE/WKyDAMtp6OJplEyhJCg+Ab6DynO7EXdwFQYeMMNk2/n+BgFxfq5vRedA710XHqoXOoj46zp4eVKtk3AaNf38UtmEwmIkPbMaDxANqG3kywbzkW9/uaEFMtAM62GUG/51Zj088MERFxEYUmcVtVA6qx7J6FeGeVB7ONnfXuZ9QbO1xdloiIlFIKTeLW6oc0YG7vuZisflAmlS9sd/LZiv2uLktEREohhSZxezfXiuD1yI/BZgb/BJ76rQ9b9550dVkiIlLKKDSJR7i/VXeGhr4FgBF0mLsW3s3JxPMurkpEREoThSbxGC/0fZD2tmcBSCv3G3d8MJA0a7qLqxIRkdJCoUk8yvzHxlDz9BAATgespceHw7AZ+kidiIgUP4Um8Shms4nVI6cQcKQnAL/Zvmbowmex2WxEH9/Aon0LiD6+gVK0/ZiIiJQQXZ9CPE5IsBffDJxFly96YwuNZvGp6az96CvOZyTkjKkTFMaEyMlEhfd0YaUiInIt0UyTeKQbG/ryeqt5kFQdIFdgAohLimXwqoEsP7jUFeWJiMg1SKFJPNa9fYLw9c5/stTAxtOrx2upTkREnEKhSTxW9PGNpPkeLnDMaesBNh2PLqGKRETkWqbQJB7rp19P2TXuZzvHiYiIFEShSTzXX+czFeqCneNEREQKoNAkHqt9rUhIqFvwoHNhtKvVtmQKEhGRa5pCk3istm1tVNr5SvY16fLhZTHTuIUutyIiIo5TaBKPZTLBqw93xzR/Ppytl/vO1HIAWIMOMGjVfaRZ00q+QBERuaYoNIlHi4qy8tGYbtRZthc+Xgfz58BH6+GVs/DLIAB+OraOYd8PwWqzurZYERHxaApN4vGioqxs3nSRxW+1YuaTvVj4RksaNTJg6QdY/uwDwIrYpYxe+6T2bBIRkSJTaJJrgskEbdtm0aePlXbtsnjrrTS8zBay5n1FcEIHAL7cO5tJ0eNdXKmIiHgqhSa5JjVpYuOJJzLA6sv595dQw9wCgOk73+StHdNcXJ2IiHgihSa5Zo0cmcH112dBehDn3l5JncD6AEzeNIHZv3/i2uJERMTjKDTJNcvHB954Iw2z2SAlvjLVVq+iekAoAE+t+zdLD3zj2gJFRMSjKDTJNa1FCxvDh2cCEL0qnEFeSynvWx6bYWP49/9i3ZEfXVyhiIh4CoUmueaNGZNO3bo2AKY/34zpbRcRUCaQDFsGD628j+2ntrq4QhER8QQKTXLN8/PLXqYzmQzOnzfxyUuRfNr1K7zN3ly0pnDfsrv5I2EvhmEQfXwDi/YtIPr4Bm1PICIiuXi5ugCRkhARkcUjj2Qyc6Y3337rRZ8+t/N+548Z8u1AzqWfo9eiLgR4B3L0wpGcx9QJCmNC5GSiwnu6sHIREXEXmmmSUuO//02ndu3sZbqxY325KbAXr9/6NgDn0s/lCkwAcUmxDPl2IMsPLi3xWkVExP0oNEmpERAA06ZlX4Pu3DkTY8f6cO/1DxDiUz7fx9gMG5Oix2mpTkREFJqkdGnXLouHHsoAYMmSMry2YDPn0hMKfEzs+YNsPhFdEuWJiIgbU2iSUmfChHRq1MheppvxebxdjzmZcqI4SxIREQ+g0CSlTmAgTJ2avUx34XgNux5TNaBacZYkIiIeQKFJSqWOHbO4774MONQeEuoWOLaiX0UiqrUtocpERMRdKTRJqTVxYjpVqxrw3RSw5f+tcCb1DM9vfA6bYSvB6kRExN0oNEmpFRz81zLd3r4wbwGmc/Vy3W9JrkWQuRIAM359m8GrBnIx86IrShURETeg0CSlWufOWbRpY4W9fTHe/BM+Xgfz58BH68maGseFV3dR1ycCgBWxS+m7uDunLp5ycdUiIuIKCk1SqhkGHD9+6dvABIdugd0D4HB7wISRXBnrrB/oVfdOAH45vYNuCzqy5+zvLqtZRERcQ6FJSrVNmywcPlzwt8Gh/QEMDvqUJ1uMAuBo8hF6LOrM2iNrSqJEERFxEy4PTT/99BORkZGMHDnS7sfs3r2bhg0bsnDhwmKsTEqDkydNdo07fcrCs20m8MZt0/Eye3EhI4l7l93F7N8/Kd4CRUTEbbj0gr0ffPABCxYsoHbt2nY/xmazMWHCBPz9/YuxMiktqla17/Iol8bdd8NAapStyeBVA0nKOM+otU8Qdz6WZ9tMwISJTSc2cjLlBFUDqtGmWiQmk32hTERE3J9LQ5OPjw8LFizgxRdfJD093a7HfPXVV5QtW5YbbrihmKuT0qBNmyzq1LERF5f/pGvNmjYiIrJyvr6lxq0sv/N77l/ej8MXDvH2L9OIPr6B+NTTHEqKyxlXJyiMCZGTiQrvWZwvQURESohLQ9ODDz54VePj4+OZPn06n3/+ORMmTLjq5zObTZjNzv/N32Ix5/pbisZVfZw0KYNBg3yw2fJ+b6SkQGyshQYNLs9KNarckO8GrOG+pQPYcWob205tueJxcUmxDPl2IJ90/5wedXsVW/1/p/eic6iPjlMPnUN9dJwze+jS0HS1Xn75Zfr160d4eHiRHl++fECxLpcEBfkV27FLk5Lu48CB2ZdWGTMG9u+/fHuFCnD2LCQkmImK8mfFCmjd+vL9ISHhrB+8lipTq5CSmZLnsW2GjUnR43mg5T0lulSn96JzqI+OUw+dQ310nDN66DGhacOGDezcuZOXXnqpyMdISEgptpmmoCA/kpJSycrSrtFF5co+3norbN4M0dFmTp40Ua2aQZs2Nj77zItRo7w5e9ZEx44Gn32Wxm23Xa5t47Gf8w1Ml+xP2M/K3d/TNvTmYn4Vei86i/roOPXQOdRHx9nTw5CQALuO5RGhKSMjg0mTJjF+/Hh8fX2LfBybzcBms+/E36LIyrJhtepN7ShX9rF168vPm5UF99+fQXCwjWHDfElJMXHPPb68+24avXtbATiWdNyu4x5LOo61Ssm9Jr0XnUN9dJx66Bzqo+Oc0UOPCE07d+7k0KFDPP300zm3JScns2vXLr7//ntmzJjhwurkWtejh5U5c1J58EE/kpNNPPqoL2fPpjN4cCZVA6rZdYzK/lWKuUoRESlubntm2alTp+jatStHjhyhWbNmrF27lsWLF+f8ady4MU8++SQvvviiq0uVUqBduyy++eYiFSvaMAwTzzzjy5Qp3kRUjaROUFihj39p8yQOJu4vdJyIiLgvl840NWnSBACrNXupY/Xq1QDExMSQmZlJbGwsGRkZeHt7U7Vq1VyP9fb2JigoiPLly5ds0VJqNW1qY9myi/Tv78/hw2amTPHh7FkT4x+ZzL++G4jNyH/ad8vJTdw6N5KxbcbzSJPhWMyWEqxcREScwWQYRvGd5ONm4uMvFMtxvbzMhIQEcO5citacHeApfTx50sSAAX7s2ZMdfPr0ySRq9Hxe2jqO2PMHc8aFBYfzbMQE9ifu47Vtr5BpywSgVZXWvNVxBvVC6ju9Nk/pobtTHx2nHjqH+ug4e3pYqVJZ+47lzMJESoOqVQ0WL77IAw/4sWWLF998U4Z9+waQlTwA2ACBJ+BCdWzmSCwTMvhPlJWuYVE8sWY4v8XvZNupLdw2L5KnWz/H8Bsfz5l1Mozsa+GdPGmialWDNm2y0IbiIiLuQzNNTqDfBJzD0/p48SI88ogf33+f/+8eZrPBrFlpREVZyczKZPrON5m69X9k2DIAaFmlFW/eNoN90Y14fqI3h4wNUPY4XKhObdPNPD8hg6goq901eVoP3ZX66Dj10DnUR8c5c6ZJockJ9KZ2Dk/sY0YGXHddICkp+U8JhYXZ2LQpJWfWaG/CHp5cM5xfTu8AwAsfrL/2g5rRUP7A5Qcm1MX0/at8NKab3cHJE3vojtRHx6mHzqE+Ok7LcyJuYvt2S4GBCSA21kz9+gGUKwf+/gYBAS0JCNhAg7rT2F9zIlZzOtz4+ZUPLH8Ao18/nv5kHt27d9ZSnYiIiyk0iTjg5En7kkxSkpmkpL/fYoH1/4WKvWFYC/DK54LVZhunmz7Dpk1dadtWv2WKiLiSQpOIA6pWtW91u1+/DEJCsi/+e/GiiZQUEykpsD/zNKfyC0yXVNjPz4ejads2wgkVi4hIUSk0iTigTZss6tSxEReX/z6xYWE23nknPc/ltVdWHOK1ODueqKx9l2sREZHi47Y7got4ApMJJkxIx2zOe8bJbDYYPz7vwATQ/kb7Lq9yMaVkvlUNA6KjLSxa5EV0tIXS8zEREZHCKTSJOCgqysqsWWmEheU+5ygszJaz3UB+2laPpLJXeKHPMf3ocIa882WxXnB6+XIvIiIC6N3bn6FD/ejd25+IiACWL9eEtIgIKDSJOEVUlJVNm1JYvPgiM2emsmTJRTZtSil0qwCTycQrd7yAKb9vRcMENhP4JLPUPIwWU+/laOIpp9e/fLkXQ4b4XrHMGBdnZsgQXwUnEREUmkScxmSCtm2z6NPHelW7eUeF9+SjrrMJC8494xQWHM7H3T7nk/Y/4J10HQDHA1fQ+pM2fLHzG6fVbRgwcaIPNlveBdtsJiZN8tFSnYiUevr1UcQNRIX3pHtYDzad2MiplJNUDahGRLW2mP5KXjtqraPb1Bc5Evo2Vu+zjNz4IMsP9GN61BRCfB27aPWPP1oKPJEdsvea2rzZQps2WQ49l4iIJ9NMk4ibMJlMtK1+M33q30Wb6pE5gQmgcog/Wya9SI+zqyCxFgCrT82nzWdt+eHQdwAYhsHGYz8zZ9ccNh77mcI2+z9wwMTYsT489JCfXfXZuyeViMi1SjNNIh7CYoGPxkXy/qdbGL/hGYxmn3DOeoJ7l99NhxodiUs6yKGkuJzxdYLCmBA5majwnjm32Wzwww8WPvzQmx9/vLpvf3v3pBIRuVZppknEwwx9yJ8FA6cTsHgxJGdvWbDu6JpcgQkgLimWwasGsvzgUs6fh/feK0ObNgHcf79/TmDy8jLo2zeTatUK3m08NNRGRISW5kSkdFNoEvFA7dtn8cOMjtRe8SukB+Q7zsDGYwsn0PTGAMaPv/zpuEqVbIwenc4vv6Tw/vtpvPRS/ntNASQlwcGDWp4TkdJNoUnEQ4WHG7z4/i/gk1LguFT//aTeMBMs6bRsmcWMGan88ksKY8ZkUKVKdlC6tNdUnbAsqL0eGs+B2uupVDkLMLhwwUy/fv4cP67gJCKll85pEvFgvxywc8+mnsMp0+vfmKs0I6ZqBL5HI2hVtTVV/P+2I/kNi+D/noOk2JybAoLC6Jb2Mp+NHcDRo2b69/djyZKLlHfsA3siIh5JoUnEkyVVt3toppHO1pOb2Xpyc85ttYLqcFOV1viV8efLPZ9hM3Kf2xSXFMth033c+ayJhS/2588/Ldx3nz8LFlwkMNBpr0JExCNoeU7Eg7WvFQkJdQselBDO83UX89RN/+XWmh0p6x2Uc9fhpDi+3jePz3//5IrAdInNsPFLxf/y6NB0AHbssDBokB/p6U57GSIiHkEzTSIerG1bG5Vef4X4W/uDOY/QYzNT+ddXGf7sbZhMtwGQZcvij3N72XpyM9tObmH90bWcSDle4PPEnj9I92FrOZ/Ykblzy7B+vRePPebLzJlpWCzF8cpERNyPZppEPJjJBK8+3B3T/Plwtl7uO8/WwzR/Pq8M6p7rki4Ws4WGFRrxUKPBvH37ezwfOdmu5zqWfJhp09Lo2jUTgKVLyzBmjC6vIiKlh2aaRDxcVJSVj+jGxEm9ibNtgMATcKE6dSyRTBifUehFg6sGVLPrecZv+C8XMi/w1rsP8tD95YiO9mL2bG9CQgyeey7DGS9FRMStmYzCrrVwDYmPv1Asx/XyMhMSEsC5cylYrQVvEij5Ux8dYxiwdasXycl+lC2bSqtWVrsuGmwYBhFfNCPub5+aK0i1gOoMbTiK+WOHsftXfwAmTEhjxIhMR8p3K3ovOk49dA710XH29LBSpbJ2HUvLcyLXCJMJIiNtDBiQfa6TPYEp+3EmJkROxmzK+8eB2WTmieb/oUnFGwE4kXKc57eO4sx99anQbTpY0pk40ZevvvLCZjP48Ptoxn65iA+/j8ZmKzW/k4lIKaCZJifQbwLOoT46zpEeLj+4lEnR44g9fzDntrDgcMa3fYGo8J4YhsF3h1YxZevL/Ba/M2eMOTkU27qxcLECls7PkhV84HI9SXUZVncy4/tFOfzaSpLei45TD51DfXScM2eaFJqcQG9q51AfHedoDw3DYNOJjZxKOUnVgGpEVGuL6R9TVvmFJwwgr9ktm5nHq3zhUcFJ70XHqYfOoT46TstzIlIsTCYTbavfTJ/6d9GmeuQVgenSmC51uvH93euY3X0uTSrc+Ncd+RzUbOO9A+O0VCciHk+hSUSK5FJ4uifklULHWoP28/GazYWOExFxZwpNIuKQ2DP2Xf/uYPzJYq5ERKR4KTSJiEPCK1W1a9zvxiIS084VczUiIsVHoUlEHDL49jZ4JRVy/TtgQ+Ii2nzZnI92fYDVVvCGmyIi7kihSUQcYjabGFZ3Mtjy+XFiM+N1og0ACWkJPLN+FB3n3czaI2tKsEoREccpNImIw8b3i+LxKl/glZT7+nfmxHowbwHW96Op/u0arg9uCsDehD30X9qHgSsGcDBxf854wzCIPr6BRfsWEH18A6VoRxQR8QC69pyIOMX4flE8Z+vORz9sIvbMKcIrVeXhjhG86efDyy/D8ejbCEjYyqTXPuCt3RM5kxrPt3ErWXN4NUOaDKVJxaZM2fpyrsu51AkKY0LkZKLCe7rwlYmIZNPmlk6gzcecQ310nLv28H//8+b1130AuOGGLGbPO8knB6cy89d3ybAVfLFfs8nMrC6zSzQ4uWsfPYl66Bzqo+O0uaWIeJSnn87g8cfTAdizx8Lg+6vyZMNJ/HTvFrrV6VHgY22GjUnR47RUJyIup9AkIsXOZIJx4zJ49NHsWaXffrMwYIA/Fc3hDGs2otDHx54/yOYT0cVdpohIgRSaRKREmEzwwgvpDBqUHZx27LBw771+xJ09YdfjVx/+jixbVnGWKCJSIJeHpp9++onIyEhGjhxZ4DibzcY777xDx44dad68OQMGDGDbtm0lVKWIOIPJBP/7Xzr3358dnLZs8eKD1+vY9di3drxOi9mNeGnTJA6eP5DvOEc/gWcYsHGjmTlzsv/WqqCIXOLST8998MEHLFiwgNq1axc69pNPPuHrr79m5syZ1K5dm/fff58RI0bwww8/EBgYWALViogzmM0wdWo6GRkm5s8vw67lt+LbqC5p/vkHIbPJjM2wcSLlOG/smMobO6bStvrN3Hv9A/So25vAMtk/A5YfXMrEjc8V+RN4y5d7MXGiD3Fxl36f9KNOHRsTJqQTFaUNOUVKO5fONPn4+NgdmsxmM2PGjKF+/fp4e3szePBgEhMT+fPPP0ugUhFxJosF3nwzjT59MgETaUumgJH3jyOzycz7nT5mVpfZ3FGrM2ZT9rjo4xt4Ys1wmnzSgH+vGcEb26cy5NuBuQITQFxSLEO+Hcjyg0sLrGn5ci+GDPH9W2D66/FxZoYM8WX5cu3QIlLaufSnwIMPPmj32EGDBuX6+uTJ7It/Vq5c2e5jmM0mzGaT3ePtZbGYc/0tRaM+Os6TeujlBe+/n4HVamLZsr4wdwGmLmMwQi5vdumVVI/H6k/mruuzP2HX97q+nEg+wdy9X/Ll75+zP3EfKZnJfLl3doHPZTNsvBA9nl71e2EyXfkzwDBg0iQfbLa8fz7YbCZeeMGHXr1s5PFwyYMnvRfdmfroOGf20C32aXrmmWdIT09n2rRpdo3PyMjgwQcfpGbNmkyZMsXu5zEMI88fmCLiOhkZEBkJ27cDGFD7Jwg8AReqw+F2mM0mFiyAvn1zP84wDDYe2cjHOz/my5gvSbWmFvpc6wetp33t9n89Hv74A37+Gb7+GlatKrzW9euhffurf40icm3wuPnm5ORkRowYgcViYeLEiVf12ISElGKbaQoK8iMpKZWsLG0+VlTqo+M8sYeGAWfP+pF9toAJDt2S636bDUaPttGhQ+oVszwNyzZjSvs3aV7hJh5fPazQ5/rohx/54Uhrtmy2sHmzhYSEvH4e/BXcyh7PDm6H2mfXBXz4YSbh4Rn4+xfppZYqnvhedEfqo+Ps6WFISIBdx/Ko0JSQkMDgwYOpUaMGU6dOxdfX96oeb7MZ2GzFN7GWlWXTjq1OoD46zpN6GB1tueI8on86eNBMs2a+1KplUKnSP//YSPWuY9dzfXJkApz/EEy9oFxvON8BsrypVMlGfLwZrl8EnZ+C8n87KT2hLnw3Bfb25bPPyrB4sRf33pvJww9nEBZ25c8Tw4BNmyycPGmialWDNm2ySvWSnie9F92Z+ug4Z/TQY0JTeno6Q4cOpVGjRrzwwguYzVrfFbkWnDxpX6I4csTCkSP53dsZnqibO+z8k0H2hFHwEWg9HVpPx88UTIfqnehzQ3eeG+fFmfaDwPyPH6rlD0D/u7EsnE/Wrjs5f97Ee+958/77Zbj99iwGD86gY8cszOa8Pn1HkT59p+Al4p7cNnmcOnWKrl27cuSvn5IfffQRZcqUUWASucZUrWrf7G+nTpl07mylefMsatSw4ePz98eZsmeDbPn8bLCZYdFndE35hO617ySwTPZ1plKN86w6toBhqwdzpsODVwamS8w2KtwzhkWLUujZMxOLxcAwTKxe7cV99/nTpk0A//d/Pk759N3y5V5ERATQu7c/Q4f60bu3PxERAVf16T3DyJ7BW7TIi+hoi/aaEnESl54I3qRJEwCs1uzfwLy8sn8oxMTEcPToUW6//XZWrFhB3bp1ueOOOzhx4sQVgWn48OE89thjdj2fLtjr3tRHx3liDw0DIiICClyiCwuzsWlTSq7ZFsOACxcgPt7Ejz96MXasb/byWqcxUOHyJ/A4Ww++fxX29mXJkou0aZNFelY6G479xKrY5Xwbt5ITKcftqnVJn1W0qR7J8eMmPvusDLNnl8le1sv9ivI8Jyqv1/BPl7Y9yOtTfGazwaxZaYXOWDlrtstRnvhedEfqo+OcecFet/j0XElRaHJv6qPjPLWHjoaF3MHryk/gFRRaDMPgjR1TeXnzC4XW2axSC3rXu5ObqkbQtNKNmG2+LFvmxRtveLN3r6XQc6IeeCCDRo1slC1rULYsBAUZf/23QWAgdO/uz6FDVxce/84ZoctZPPW96G7UR8cpNBWRQpN7Ux8d58k9XL7ci0mTfIiNvRwawsJsjB9v3wyJI4Eh+vgGen/T7arq9TZ707RSM26qGoFxOJL3Pr4IvR7Je4nPZoZ5C2Bv3yvvu0odO1qpWdOGnx/4+xv4+oKfX/bfr7zizZkzRQ9dzmIYsHWrFxcu+FG2bCo33WTVOVlF5Mnf0+5CoamIFJrcm/roOE/v4aUToE+dyj4BOiLi6k6ALmrwMgyDiC+aXbGb+N+V9Q6iVtna7EnYjc0oQm/P1qPM+3+QmeHaczIvLVEWF3dZHrxWePr3tDtwZmjymE/Pici1z2SCtm2L/g96VJSV7t2tVx28TCYTEyInM+TbgXkGIrPJzFsdZxAV3pMLGUnsOLWdrSc3s/XkZrad2sqFjKTCi6uwnwWbv6dV5UguXIALF0wkJZlITjaRlAQ7dliYNs2n0MOEhWVhNptIS4PUVEhNNZGaan+ytPfTikWR32zfpZPhS3J5UKQ4aKbJCfSbgHOoj45TDx2z/OBSJkWPI/b8wZzbwoLDGd/2hXwv+Jtly+LdX9/mhejxhR6/W50ejG79DI0rNLni6gR5npdl58nkhgHr1lno37/wXTeLa6apqCf0S8H0Pe04zTSJiBSDqPCedA/rwdbT0SSTSFlCaFW5TYGXX7KYLbSqcpNdx18Zt4yVccsID65Lr7p96VWvL40qNMZkMmEywYQJ6Qx+dSVGpzFXnExu+v5Vxo/plmfgMJmgQ4cs6tSxFRha/P0NGjUqnqW5TZsK36Q0NtbM5s2WYl0eFClO2vBIRORvTCYTkaHtGNB4AG1Db7brepVtqkVSJyiswDF+Xn5YTBYADp4/wBs7ptJx3s20/bIFL2+exK4zMXD9QhjQ78pNOssfyL79hkUF1J0dusxmg+yZqvXQeE7232QvKFy8aKJHD38OH3b+VI+9y36TJnmzfr0FmyZNxANpec4JNH3qHOqj49RD5yhKH5cfXFrgOVGzuswmsvrNrIpdwZIDi1h39Eesttzn93iZy2C1Zeb7HGHB4Wy675cCg9yk+ct578BzWIMuBy+vpLrUPfg//vjmbgAqVrTx8cdpREQ4Z8YnMxNGj/bhq6+87X5MWJiNBx7I5J57MqlUSZejyY++px3nzOU5zTSJiDhBVHhPZnWZTVhweK7bw4LDmdVlNlHhPQnxLc+9NzzAVz2+Zveg/bx527t0rHUHXubsMyUKCkwAsecPsipuBfn9rrv84FLePXN/rsAEYA06wL7mA+g3bh4mk8GZM2buusuPefMcP0Njzx4z3br52xWYgoIMgoOza4+NNfPCCz40axbAv/7ly7p1l2efnLErukhx0EyTE+g3AedQHx2nHjqHI300DINNJzZyKuUkVQOqEVGtbaFLfOfSEnhx00Q++/1ju57Dx+JDtYDqhAbWILRsDUIDQ6kWEMpr217h1MWT+T4uLDic8eViGDHCj4sXs2t68sl0/vvfDK726lRWK7z7rjevvupNRkb2serXz+LAAXOBe2V17Ghl2TIvZs8uw6ZNuUNQnTo2WrXKYuFCL7fYoNMd6HvacdqnqYgUmtyb+ug49dA5XNHHomywWRRL+qwi4Gw7HnzQj2PHspNS9+6ZTJ+eRkCAfcfYt8/ME0/4sn179jlavr4GY8em88gjmaxaZf9eWX/+aWb27DLMm1eGc+fsW3srbZ/A0/e04xSaikihyb2pj45TD53DFX20Z4PNagHVeTZiAidSjnM0+SjHk49y9MJRjqcc43x6ol3PMzHyRYY3+z9OnTIxaJBfTvBp3DiL2bNTCQ3N/5+ErCyYObMML7/sQ1padmpp2TKLt95Ko379y326tCN4cnL2juCtWhW8I3haGixb5sX06WXYvbvwJbji3qDTneh72nEKTUWk0OTe1EfHqYfO4ao+2nMyeX77Ra059D33LL/LruepX64B3cN7cnv1Hnz8UiSLFmafj1S5so3PPkulWbMsPvphEwfjTxJeqSqDb29DXJyZJ5/0ZfPm7FDj7W0wZkwGjz2WgVceOacoPVy0yIuhQ/0KHffEE+k89VQGPgXsBXqtnEiu72nHKTQVkUKTe1MfHaceOocr+1iUDTbBvpmqvFQPCKXa+d5s//xuONweS8MlGJ3GYAu+fDK5ObEu5tWvYt11JwBNm2bx9ttp3HBD3r0xDIOtp6O5wDnKEsJNlQs/rwsgOtpC796Fb9AJULasQefOVqKirHTsaMX/bw+7li7lou9pxyk0FZFCk3tTHx2nHjqHq/tYlJPJofCZqtdvfYcsw8qKg0tZf3Qtmf/8tF56IHingCmPfxZsZkzz5/NUzyiefDKDMmXyr2Hixudyhbc6QWFMiJxcYOjLft2F7ypuNhtXnCTu52fQsaM1JxA9/njRLtzsjlz9XrwWKDQVkUKTe1MfHaceOocn99Hemaqk9POsPvwdKw4uY/Wh77hoTSn02ObUirzZfTIhfiGU8ylPOZ9yBPuWo5xPOXwsPg4tL+bUn8/16yA79MycmUZQkMHy5V6sWOFFfPw/A5YB5B8wPe1Eck9+L7oLhaYiUmhyb+qj49RD5/D0Pl7tTFWqNZXnlr7H7BMTivycfhY/MmwZZBn5n6Btz+ac8Nfy2iRv4mwbcq6/V8d8MxPGZ+SaJcrKgq1bLSxf7sXy5V4cPWrfvgkldSK5M86r8vT3ojvQtedERCRfJpOJttVvtnu8n5cfPql1HHrO1KzUQsfEnj/IgKV9uaN2Z5pWbk7jik0ILBN45cAbFsH/PQd/Pz8rKAxumAxcnqmyWKBNmyzatMli0qR03nijDC+/7FtoHV995UWlSjbCw418Q4yjgccZ51UZBmzcaObCBShb1sxNN9k8ZobskmvlhPxLNNPkBPpNwDnUR8eph85RGvv44ffRjN3XpdBxz9WdT1REOInpiZxPTyTxrz/Rx35m8YH8r42XFxMm6oc04MZKzbmxUjOaVm7OsQtHGfHDI0Va4st9IrkBtX/KmaniUHv+uWxXo4aNW26xcsstWbRvn5VzORdHA09hS4z2nFd1LZzM7i6vQctzRaTQ5N7UR8eph85RGvtosxnUeLXFFZdg+TuvpHocHbMds/nKMGDv5pzVA0M5nnysyHUWtMSXcyK572Lo/FTuCx8n1IXvplDmQB8yM/Oe6mjUKIsaNWx8950XhmFf4ElPh8REU86fc+fgP//x5cyZ/JcKa9SwsXZtCmXLkuesizNCF7h2lsdZr8EZFJqKSKHJvamPjlMPnaO09nHS/OW8c+p+MOfxmm1mHq/yBeP7ReX5WHu2PLgUeJIzLxAT/xu/xu/k1/gd/Bq/kwOJ++2u8+HGj9CpdmcahFxPjbI1MZsuBxR7XsMj7Xqwbp2F9eu9WL/ewunT9l9DxtfXoE4dG4mJJs6fN5GaWvQU4utrULmyQaVKBpUq2ahUyaBiRYNPPy1DQkL+NdlzMrsrZ3ns+RSkvSfkl9R5YQpNeVBocm/qo+PUQ+cozX2cNH857x0YhzXocojxSqrHsLov5BuYLnHk03MXMpJ495e3eW37K1dVr7+XP3XL1ad+SAMalLuOj3bN5HTq6XzH/3OmyjBg714z69db+OYbL7Zvv3Sqb+HLe6708MPp3HyzjRo1bISGZgevS9cPdOYsz9WGluRk+OKLMowbV/i5ZXPmXKRjx/xPyHdW8FNoKiKFJvemPjpOPXSO0t5Hm83gox82EXvmFOGVqvJwx4g8l+TyUtTNOcH+JT4TJgyK/k/XN71XEBna7orbc3Ykv35Rvst77O1LZKSVG2+0Ua6cQXCwQUjI5b8PHjQxfHjh51U9/ng6ZctCfLyJ06dNxMdn/zl2zFyk2SsfH4Pq1Q1CQ23s3GkhOdnxbRcKCy2GAbGxJrZts+T8+f33vC/YnDeD666z0by5jebNs2jRIosbbrDh7e3c4KfQVEQKTe5NfXSceugc6qNjLu0InkwiZQmhVeU2dm3Oae8S39r+0Rw8f4B95/7gz3N/sO/cn/x5bi9/nvujwC0PLiljLkO9cvWpExxOeHBdwoLDCS9Xl4T99fnX+Bjo1z/f5T3mLWDJq13y3bLAnvOqwtJ75xta7N0VPa9NPq9Gu3ZWGjWyUbmyQZUqNqpUMf76Y6NcOVixIv/QYjIZ3HijjSNHTJw9a//Spj18fAwaNbKxf7+ZpCTn7Lel0FRECk3uTX10nHroHOqj44raQ0eW+H4+up47l/Qocs0AGKa8d0T/i9eFMA6P3oGXxZLvGMfODfv7+UB5z1SFhdn4+ecUTp0ycfSomaNHs2eojhwxsX27hd2786/NHt7eBjYbWK32h7JKlWy0apVFq1bZfz/xhC+HDuUfqKpVszF0aAY7d1r45RdLgWPzY+9+W9qnSURErklR4T2Z1WV2kZb4bg5tT52gsAJnqir5VWZQoyHEJcVy8PwB4s4f5Gza2csDCghMANaysYS+X57yvuWp4Fcx+49vRcr7VqCiXwXK+1ZgbvJreQcmALON5RnPMs7onufsm8kEEyakM/jVlRidxlwxU2X6/lXGj+lGmTJQo4ZBjRq5Q4O9M1UNGmSRnJy9NPjPcJSRYV9YiorKpEcPK61aZVGrVu49r55/Pr3A5bWXXrp0XlL2pXzOnjWxc6eZX36xsHKlFzExhQe/kydL/hwzzTQ5gX4rdQ710XHqoXOoj45ztIfFdf29vGaqzqcnEnv+IHP/+JJZMTOvutaiGHrjCNqH3kL1wBrUCKxBsE+5nNe3/OBSBq8aiMGVr8GEmY+65j/bdrWfXLPZICHBxKlT2X9OnzaxZo0X33yTz8UF/2bmzFT69Mn/vKLly72YNMmH2NjLtYSF2Rg/vuATue0Nfq6YaVJocgL9gHUO9dFx6qFzqI+Oc2UPi3oyur0nog9u/AhlvYM4m3qGM2lnSEg9y9m0M5xNPUNiemKRag4oE0iNwBpUDwxl28ktXMjM/9+rwi5Hc/kkaq5Y3jObKfQkameGlkufvjt1KvvTdxERhW8Z4MwtC0ChqcgUmtyb+ug49dA51EfHubqHRZmpupq9pvI7llPOq7LD062fIyq8J+HBdfG2eF9xf/bWEc/l2qzUK6kuw+pOLnTrCHvPqyrOCx/r03NuQKHJvamPjlMPnUN9dJyn9tCRE9HB/uC1pt8GTl48ztELRzmWfJSjF45wLPkoO05v54+EPXbXazFZqB1UhwYh11E/5DrqhzTg9MXTvLR5YpFfA2SHloLOq/poTDc7dyXPDq8nU05QNaAabapF2rXMeqmGoizv/ZNCUxEpNLk39dFx6qFzqI+O8+QeOrLX1KXHFzV42btE6IhqAdX5utcSKvlXJsg7OM8Q48h5VX8/xsSNz+UKkHWCwpgQOdmuPsLlPcMOnjlJeMWqDL69jd17hl2i0FRECk3uTX10nHroHOqj4zy9h0U9Ef2SogYvu2aqgsL5sscCDiTu489zf7L/3J/Z+1Ul/sn5qzynysfiQ0W/SlT0q0Qlv0pU9K9ERd9KfLn3MxLSEvKvobDzqhycsbt0DEdDFyg0FZlCk3tTHx2nHjqH+ug49bBkPwF46fk+3f0xY9b/2xnlF6pmYC2qBFQlyCeIsmWCsv/2DqJsmbJ8EPMeCX/fyuEfSiJ0XaJ9mkRERNycyWSibfWbr/pxRd2rymQycV356+x6jnFtJlLRrxLxqaeJT40n/uJpzqSeIf7iaY5eOMKFzKRCj3Ek+TBHkg/b96L+Ifb8QRp9Uo9KfpUJ9gkm2CeYIO/sv8t6B/Hp7ll5BiYAm2FjUvQ4uof1uKrZP2dQaBIREXEzUeE96R7W46ovR9OmWmShG3yGBYfzePN/53sse8+r6ly7K75eflzISCIpIynn73NpCaRnpRf6+DOp8ZxJjS90XF5izx9k84lo2lSPLNLji0qhSURExA2ZTCYiQ9td1TKnyWRiQuTkApe2xrd9ocDwZW/wmt19bp7HsTd09a57JwFlAjifcZ6k9POczzjP+fREzlyMJ8WaUujjT6acKHSMsyk0iYiIXEMcuRQNOB687A1dMzt/7FDoqhpQrdAxzqbQJCIico25tLxX1E8AOhK8Sip0RVRra9drcSaFJhERkWtQUU9Ev8SR4OXK0FWcFJpEREQkT44EL1eFruLk8tD0008/8fTTTxMREcG0adPyHWez2XjzzTdZtmwZSUlJNG3alOeff56aNWuWYLUiIiJiL1eFruLi0tD0wQcfsGDBAmrXrl3o2C+++IKlS5fywQcfUKVKFaZNm8aIESNYvHixSxsoIiIixcPRJUZnMxc+pPj4+PjYHZrmzp3LoEGDqFu3LoGBgYwcOZIDBw7w66+/lkClIiIiUtq5dKbpwQcftGtcWloa+/fvp2HDhjm3BQYGUrt2bWJiYmjWrJldxzGbTVd9oT97WCzmXH9L0aiPjlMPnUN9dJx66Bzqo+Oc2UOXn9Nkj/Pnz2MYBsHBwbluDw4O5ty5c3Yfp3z5gGJdygsK8iu2Y5cm6qPj1EPnUB8dpx46h/roOGf00CNC0yWOXls4ISGl2GaagoL8SEpKJSurdF6Y0hnUR8eph86hPjpOPXQO9dFx9vQwJCTArmN5RGgqV64cZrOZxMTEXLcnJiZSoUIFu49jsxnYbI4Fr4JkZdlK7dW8nUl9dJx66Bzqo+PUQ+dQHx3njB56xCKpj48P9evXZ/fu3Tm3JSUlcfjwYZo2berCykRERKS0cNvQdOrUKbp27cqRI0cAuPfee/nss884cOAAycnJTJ06lRtuuIEmTZq4uFIREREpDVy6PHcp8FitVgBWr14NQExMDJmZmcTGxpKRkQHAPffcQ3x8PAMHDiQlJYWIiAjeeecd1xQuIiIipY7JcPTsag8SH3+hWI7r5WUmJCSAc+dStObsAPXRceqhc6iPjlMPnUN9dJw9PaxUqaxdx3Lb5TkRERERd1KqZppEREREikozTSIiIiJ2UGgSERERsYNCk4iIiIgdFJpERERE7KDQJCIiImIHhSYREREROyg0iYiIiNhBoUlERETEDgpNIiIiInZQaBIRERGxg0KTg44dO8ajjz5KREQEt912G1OmTMFm00UVr9Z1111H48aNadKkSc6fF154wdVlub2ffvqJyMhIRo4cecV9K1asoGfPnjRv3pw777yTn3/+2QUVur/8erhw4UKuv/76XO/JJk2a8Ntvv7moUvd17NgxRowYQUREBJGRkTzzzDMkJSUBsGfPHh544AFatmxJ586d+eijj1xcrfvKr49Hjx7luuuuu+K9OGvWLFeX7Hb27t3LQw89RMuWLYmMjOTf//438fHxAERHR3P33XfTokULoqKiWLJkydU/gSEO6du3r/Hcc88ZSUlJRmxsrNG5c2fjo48+cnVZHqdBgwbGkSNHXF2GR5k5c6bRuXNn45577jH+/e9/57rv999/Nxo3bmysXbvWSEtLMxYvXmzceOONxokTJ1xUrXsqqIdff/218cADD7ioMs/So0cP45lnnjGSk5ONEydOGHfeeacxduxYIzU11Wjfvr3x9ttvGykpKcauXbuM1q1bG99++62rS3ZL+fXxyJEjRoMGDVxdnttLT0832rZta7zzzjtGenq6cfbsWeOBBx4wHnvsMePUqVNGs2bNjPnz5xtpaWnGhg0bjKZNmxq//fbbVT2HZpocEBMTw969exk9ejRly5alTp06DBo0iLlz57q6NCkFfHx8WLBgAbVr177ivvnz59OhQwc6dOiAj48PvXr1okGDBkX7zeoaVlAPxT5JSUk0btyYUaNGERAQQNWqVenbty/btm1j7dq1ZGZmMnz4cPz9/WnUqBH9+vXTz8g8FNRHsU9qaiojR45k6NCheHt7U758eTp16sS+fftYunQpderU4e6778bHx4fIyEg6duzI/Pnzr+o5FJocsHv3bkJDQwkODs65rVGjRsTGxpKcnOzCyjzTa6+9xq233kqrVq0YN24cKSkpri7JrT344IOULVs2z/t2795Nw4YNc93WsGFDYmJiSqI0j1FQDwFOnDjBww8/zE033cTtt9/O4sWLS7A6zxAUFMTLL79MxYoVc247ceIElStXZvfu3Vx33XVYLJac+xo2bMiuXbtcUapbK6iPl4wZM4Z27drRpk0bXnvtNTIzM11RqtsKDg6mX79+eHl5AXDw4EEWLVpEt27d8v2ZeLXvRYUmByQmJhIUFJTrtksB6ty5c64oyWM1a9aMyMhIvvvuO+bOncvOnTuZOHGiq8vyWImJibnCPGS/N/W+tF/58uWpU6cOTz31FBs2bOA///kPY8eOJTo62tWlubWYmBg+//xzhg8fnufPyHLlypGYmKhzPwvx9z56e3vTvHlzOnXqxI8//sjMmTNZsmQJ7777rqvLdEvHjh2jcePGdO/enSZNmvDEE0/k+1682p+JCk0OMgzD1SVcE+bOnUu/fv3w9vambt26jB49mmXLlpGRkeHq0jyW3puOufXWW/nwww9p2LAh3t7eREVF0alTJxYuXOjq0tzW9u3bGTJkCKNGjSIyMjLfcSaTqQSr8jz/7GPlypWZM2cOnTp1okyZMjRt2pShQ4fqvZiP0NBQYmJiWLVqFXFxcYwZM8Zpx1ZockD58uVJTEzMdVtiYiImk4ny5cu7pqhrRI0aNcjKyuLs2bOuLsUjhYSE5Pne1PvSMaGhoZw+fdrVZbilNWvW8OijjzJ27FgefPBBIPtn5D9/k09MTKRcuXKYzfrnJy959TEvoaGhnDlzRr8c5cNkMlGnTh1GjhzJsmXL8PLyuuJn4rlz5676Z6LetQ5o3LgxJ06cICEhIee2mJgY6tWrR0BAgAsr8yy///47//vf/3LdduDAAby9vXOt54v9GjdufMVafUxMDDfeeKOLKvI8X331FStWrMh124EDB6hZs6aLKnJfO3bs4Omnn+bNN9+kT58+Obc3btyYP/74A6vVmnOb3of5y6+P0dHRzJgxI9fYgwcPEhoaqlm7v4mOjqZLly65ln4vhfOmTZte8TNx165dV/1eVGhyQMOGDWnSpAmvvfYaycnJHDhwgI8//ph7773X1aV5lAoVKjB37lxmzpxJRkYGsbGxvPnmmwwYMCDXCaRiv/79+7Nx40bWrl1Leno6CxYsIC4ujl69erm6NI+RkZHBCy+8QExMDJmZmSxbtoz169dzzz33uLo0t2K1WnnuuecYPXo07dq1y3Vfhw4dCAwMZMaMGaSmpvLrr7+yYMEC/YzMQ0F9LFu2LNOnT2fx4sVkZmYSExPDrFmz1Md/aNy4McnJyUyZMoXU1FQSEhJ4++23adWqFffeey/Hjh1j/vz5pKens27dOtatW0f//v2v6jlMhub2HHLy5EnGjRvHli1bCAwM5J577uHxxx9X+r9KW7du5bXXXuOPP/7A29ubvn37MnLkSHx8fFxdmttq0qQJQM5v8Zc+MXLpE3Lfffcdr732GseOHaNevXo8++yz3HTTTa4p1k0V1EPDMJgxYwYLFiwgPj6eGjVqMGbMGG677TaX1euOtm3bxv3334+3t/cV961atYqUlBQmTJjArl27qFixIo888gj33XefCyp1b4X18ffff+edd94hLi6OsmXLMnDgQB555BEtc/7DH3/8weTJk/ntt9/w9/enTZs2PPPMM1SpUoWtW7cyefJkDhw4QGhoKKNGjaJz585XdXyFJhERERE7KKKKiIiI2EGhSURERMQOCk0iIiIidlBoEhEREbGDQpOIiIiIHRSaREREROyg0CQiIiJiB4UmERERETsoNImI2GHhwoVcd911ri5DRFzIy9UFiIgUZuDAgWzbti3nMif/NGfOHBo1alTCVYlIaaPQJCIeoWvXrkybNs3VZYhIKablORG5JnTs2JFp06bx3//+l5tuuonmzZvz7LPPkpGRkTNm27Zt3Hvvvdx00020bNmS4cOHc/jw4Zz7z549y1NPPUVERAQRERGMGDGCY8eO5XqemJgY7rrrLpo2bcqtt97K6tWrS+w1iohrKTSJyDXjyy+/pG3btmzcuJFPP/2U1atXM336dAAOHTrEoEGDuPXWW1m/fj3fffcdmZmZ/Otf/yIrKwuAxx9/nPPnz7Ny5Up++OEHLBYLw4YN4+/XNf/0009599132bJlC61atWLs2LG5gpmIXLu0PCciHmHVqlV5zurcdNNNfPTRRwA0adKEXr16AdC0aVN69OjBd999x8iRI5kzZw6hoaE8+uijmEwm/Pz8GD16NL1792bHjh2ULVuWHTt2sHDhQsqXLw/As88+y/bt23OFokceeYQqVaoA0LNnT5YuXcrp06epUaNGcbdARFxMoUlEPII95zTVq1cv19c1a9bk5MmTQPZMU/369TGZTDn3161bF4DDhw8TEBCQ85hLqlSpQvfu3XMds1atWjn/7evrC0B6evrVvhwR8UBanhORa8alZbZLDMPICUl5BZtLy24mkwmLxQKAzWYr8DnMZv3YFCmt9N0vIteMuLi4XF8fPnyY6tWrAxAWFsaff/6Z6/ykP//8M+e+OnXqAHDgwIGc++Pj45k1axYXLlwo3sJFxCMoNInINePXX39l5cqVZGRk8Ntvv7FixQq6du0KwN13382xY8eYOXMmGRkZnD59milTpnD99dfTrFkz6tevz0033cS0adM4deoUKSkpvPbaa3z99dcEBga6+JWJiDvQOU0i4hHyOxEcYPjw4QD07duX9evXM378eKxWKz179mTo0KEAXH/99bz77rtMnz6dmTNnEhAQQGRkJNOmTctZwps+fTqTJk2ie/fuWCwWWrZsyfvvv5/rPCgRKb1Mxt/nqkVEPFTHjh3p3r07o0ePdnUpInKN0vKciIiIiB0UmkRERETsoOU5ERERETtopklERETEDgpNIiIiInZQaBIRERGxg0KTiIiIiB0UmkRERETsoNAkIiIiYgeFJhERERE7KDSJiIiI2OH/AaRPHpigyrOXAAAAAElFTkSuQmCC\n"
          },
          "metadata": {}
        }
      ],
      "source": [
        "import matplotlib.pyplot as plt\n",
        "\n",
        "plt.style.use(\"seaborn\")\n",
        "fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(6, 9))\n",
        "\n",
        "ax1.plot(q_history.history[\"val_accuracy\"], \"-ob\", label=\"With quantum layer\")\n",
        "ax1.plot(c_history.history[\"val_accuracy\"], \"-og\", label=\"Without quantum layer\")\n",
        "ax1.set_ylabel(\"Accuracy\")\n",
        "ax1.set_ylim([0, 1])\n",
        "ax1.set_xlabel(\"Epoch\")\n",
        "ax1.legend()\n",
        "\n",
        "ax2.plot(q_history.history[\"val_loss\"], \"-ob\", label=\"With quantum layer\")\n",
        "ax2.plot(c_history.history[\"val_loss\"], \"-og\", label=\"Without quantum layer\")\n",
        "ax2.set_ylabel(\"Loss\")\n",
        "ax2.set_ylim(top=2.5)\n",
        "ax2.set_xlabel(\"Epoch\")\n",
        "ax2.legend()\n",
        "plt.tight_layout()\n",
        "plt.show()"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "eFIiSMV9d0KF"
      },
      "source": [
        "References\n",
        "==========\n",
        "\n",
        "1.  Maxwell Henderson, Samriddhi Shakya, Shashindra Pradhan, Tristan\n",
        "    Cook. \\\"Quanvolutional Neural Networks: Powering Image Recognition\n",
        "    with Quantum Circuits.\\\"\n",
        "    [arXiv:1904.04767](https://arxiv.org/abs/1904.04767), 2019.\n",
        "\n",
        "About the author\n",
        "================\n"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "seconds = time.time()\n",
        "print(\"Time in seconds since end of run:\", seconds)\n",
        "local_time = time.ctime(seconds)\n",
        "print(local_time)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "DN7xl_1qggGu",
        "outputId": "25a615e0-602f-489b-b789-908c2bfe375a"
      },
      "execution_count": 14,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Time in seconds since end of run: 1706120068.6407077\n",
            "Wed Jan 24 18:14:28 2024\n"
          ]
        }
      ]
    }
  ],
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3",
      "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.10.13"
    },
    "colab": {
      "provenance": [],
      "machine_shape": "hm"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}