Switch to unified view

a b/Code/All PennyLane QML Demos/32 Quanvolutional NN 70.0% kkawchak.ipynb
1
{
2
  "cells": [
3
    {
4
      "cell_type": "code",
5
      "execution_count": 26,
6
      "metadata": {
7
        "id": "mGj5xRSgO5kl"
8
      },
9
      "outputs": [],
10
      "source": [
11
        "# This cell is added by sphinx-gallery\n",
12
        "# It can be customized to whatever you like\n",
13
        "%matplotlib inline\n",
14
        "# !pip install pennylane\n",
15
        "# from google.colab import drive\n",
16
        "# drive.mount('/content/drive')"
17
      ]
18
    },
19
    {
20
      "cell_type": "markdown",
21
      "metadata": {
22
        "id": "Eq3elbTnO5kl"
23
      },
24
      "source": [
25
        "Quanvolutional Neural Networks {#quanvolution}\n",
26
        "==============================\n",
27
        "\n",
28
        "::: {.meta}\n",
29
        ":property=\\\"og:description\\\": Train a quantum convolutional neural\n",
30
        "network to classify MNIST images. :property=\\\"og:image\\\":\n",
31
        "<https://pennylane.ai/qml/_images/circuit.png>\n",
32
        ":::\n",
33
        "\n",
34
        "*Author: Andrea Mari --- Posted: 24 March 2020. Last updated: 15 January\n",
35
        "2021.*\n",
36
        "\n",
37
        "In this demo we implement the *Quanvolutional Neural Network*, a quantum\n",
38
        "machine learning model originally introduced in [Henderson et al.\n",
39
        "(2019)](https://arxiv.org/abs/1904.04767).\n",
40
        "\n",
41
        "![](../demonstrations/quanvolution/circuit.png){.align-center\n",
42
        "width=\"90.0%\"}\n",
43
        "\n",
44
        "Introduction\n",
45
        "------------\n",
46
        "\n",
47
        "### Classical convolution\n",
48
        "\n",
49
        "The *convolutional neural network* (CNN) is a standard model in\n",
50
        "classical machine learning which is particularly suitable for processing\n",
51
        "images. The model is based on the idea of a *convolution layer* where,\n",
52
        "instead of processing the full input data with a global function, a\n",
53
        "local convolution is applied.\n",
54
        "\n",
55
        "If the input is an image, small local regions are sequentially processed\n",
56
        "with the same kernel. The results obtained for each region are usually\n",
57
        "associated to different channels of a single output pixel. The union of\n",
58
        "all the output pixels produces a new image-like object, which can be\n",
59
        "further processed by additional layers.\n",
60
        "\n",
61
        "### Quantum convolution\n",
62
        "\n",
63
        "One can extend the same idea also to the context of quantum variational\n",
64
        "circuits. A possible approach is given by the following procedure which\n",
65
        "is very similar to the one used in Ref. \\[1\\]. The scheme is also\n",
66
        "represented in the figure at the top of this tutorial.\n",
67
        "\n",
68
        "1.  A small region of the input image, in our example a $2 \\times 2$\n",
69
        "    square, is embedded into a quantum circuit. In this demo, this is\n",
70
        "    achieved with parametrized rotations applied to the qubits\n",
71
        "    initialized in the ground state.\n",
72
        "2.  A quantum computation, associated to a unitary $U$, is performed on\n",
73
        "    the system. The unitary could be generated by a variational quantum\n",
74
        "    circuit or, more simply, by a random circuit as proposed in Ref.\n",
75
        "    \\[1\\].\n",
76
        "3.  The quantum system is finally measured, obtaining a list of\n",
77
        "    classical expectation values. The measurement results could also be\n",
78
        "    classically post-processed as proposed in Ref. \\[1\\] but, for\n",
79
        "    simplicity, in this demo we directly use the raw expectation values.\n",
80
        "4.  Analogously to a classical convolution layer, each expectation value\n",
81
        "    is mapped to a different channel of a single output pixel.\n",
82
        "5.  Iterating the same procedure over different regions, one can scan\n",
83
        "    the full input image, producing an output object which will be\n",
84
        "    structured as a multi-channel image.\n",
85
        "6.  The quantum convolution can be followed by further quantum layers or\n",
86
        "    by classical layers.\n",
87
        "\n",
88
        "The main difference with respect to a classical convolution is that a\n",
89
        "quantum circuit can generate highly complex kernels whose computation\n",
90
        "could be, at least in principle, classically intractable.\n",
91
        "\n",
92
        "::: {.note}\n",
93
        "::: {.title}\n",
94
        "Note\n",
95
        ":::\n",
96
        "\n",
97
        "In this tutorial we follow the approach of Ref. \\[1\\] in which a fixed\n",
98
        "non-trainable quantum circuit is used as a \\\"quanvolution\\\" kernel,\n",
99
        "while the subsequent classical layers are trained for the classification\n",
100
        "problem of interest. However, by leveraging the ability of PennyLane to\n",
101
        "evaluate gradients of quantum circuits, the quantum kernel could also be\n",
102
        "trained.\n",
103
        ":::\n",
104
        "\n",
105
        "General setup\n",
106
        "-------------\n",
107
        "\n",
108
        "This Python code requires *PennyLane* with the *TensorFlow* interface\n",
109
        "and the plotting library *matplotlib*.\n"
110
      ]
111
    },
112
    {
113
      "cell_type": "code",
114
      "execution_count": 27,
115
      "metadata": {
116
        "id": "x_3KzhwMO5km"
117
      },
118
      "outputs": [],
119
      "source": [
120
        "import pennylane as qml\n",
121
        "from pennylane import numpy as np\n",
122
        "from pennylane.templates import RandomLayers\n",
123
        "import tensorflow as tf\n",
124
        "from tensorflow import keras\n",
125
        "import matplotlib.pyplot as plt"
126
      ]
127
    },
128
    {
129
      "cell_type": "markdown",
130
      "metadata": {
131
        "id": "y9Q8QO_FO5km"
132
      },
133
      "source": [
134
        "Setting of the main hyper-parameters of the model\n",
135
        "=================================================\n"
136
      ]
137
    },
138
    {
139
      "cell_type": "code",
140
      "execution_count": 28,
141
      "metadata": {
142
        "id": "IBj9TAkEO5kn"
143
      },
144
      "outputs": [],
145
      "source": [
146
        "n_epochs = 30   # Number of optimization epochs\n",
147
        "n_layers = 1    # Number of random layers\n",
148
        "n_train = 50    # Size of the train dataset\n",
149
        "n_test = 30     # Size of the test dataset\n",
150
        "\n",
151
        "SAVE_PATH = \"/content/drive/MyDrive/Colab Notebooks/data/quanvolution\" # Data saving folder\n",
152
        "PREPROCESS = True           # If False, skip quantum processing and load data from SAVE_PATH\n",
153
        "np.random.seed(0)           # Seed for NumPy random number generator\n",
154
        "tf.random.set_seed(0)       # Seed for TensorFlow random number generator"
155
      ]
156
    },
157
    {
158
      "cell_type": "markdown",
159
      "metadata": {
160
        "id": "1jAWH0pwO5kn"
161
      },
162
      "source": [
163
        "Loading of the MNIST dataset\n",
164
        "============================\n",
165
        "\n",
166
        "We import the MNIST dataset from *Keras*. To speedup the evaluation of\n",
167
        "this demo we use only a small number of training and test images.\n",
168
        "Obviously, better results are achievable when using the full dataset.\n"
169
      ]
170
    },
171
    {
172
      "cell_type": "code",
173
      "execution_count": 29,
174
      "metadata": {
175
        "id": "dVU93TZQO5kn"
176
      },
177
      "outputs": [],
178
      "source": [
179
        "mnist_dataset = keras.datasets.mnist\n",
180
        "(train_images, train_labels), (test_images, test_labels) = mnist_dataset.load_data()\n",
181
        "\n",
182
        "# Reduce dataset size\n",
183
        "train_images = train_images[:n_train]\n",
184
        "train_labels = train_labels[:n_train]\n",
185
        "test_images = test_images[:n_test]\n",
186
        "test_labels = test_labels[:n_test]\n",
187
        "\n",
188
        "# Normalize pixel values within 0 and 1\n",
189
        "train_images = train_images / 255\n",
190
        "test_images = test_images / 255\n",
191
        "\n",
192
        "# Add extra dimension for convolution channels\n",
193
        "train_images = np.array(train_images[..., tf.newaxis], requires_grad=False)\n",
194
        "test_images = np.array(test_images[..., tf.newaxis], requires_grad=False)"
195
      ]
196
    },
197
    {
198
      "cell_type": "markdown",
199
      "metadata": {
200
        "id": "MvPmuwPfO5kn"
201
      },
202
      "source": [
203
        "Quantum circuit as a convolution kernel\n",
204
        "=======================================\n",
205
        "\n",
206
        "We follow the scheme described in the introduction and represented in\n",
207
        "the figure at the top of this demo.\n",
208
        "\n",
209
        "We initialize a PennyLane `default.qubit` device, simulating a system of\n",
210
        "$4$ qubits. The associated `qnode` represents the quantum circuit\n",
211
        "consisting of:\n",
212
        "\n",
213
        "1.  an embedding layer of local $R_y$ rotations (with angles scaled by a\n",
214
        "    factor of $\\pi$);\n",
215
        "2.  a random circuit of `n_layers`;\n",
216
        "3.  a final measurement in the computational basis, estimating $4$\n",
217
        "    expectation values.\n"
218
      ]
219
    },
220
    {
221
      "cell_type": "code",
222
      "execution_count": 30,
223
      "metadata": {
224
        "id": "QVNpFv7iO5kn"
225
      },
226
      "outputs": [],
227
      "source": [
228
        "dev = qml.device(\"default.qubit\", wires=8)\n",
229
        "# Random circuit parameters\n",
230
        "rand_params = np.random.uniform(high=2 * np.pi, size=(n_layers, 4))\n",
231
        "\n",
232
        "@qml.qnode(dev, interface=\"autograd\")\n",
233
        "def circuit(phi):\n",
234
        "    # Encoding of 4 classical input values\n",
235
        "    for j in range(4):\n",
236
        "        qml.RY(np.pi * phi[j], wires=j)\n",
237
        "\n",
238
        "    # Random quantum circuit\n",
239
        "    RandomLayers(rand_params, wires=list(range(4)))\n",
240
        "\n",
241
        "    # Measurement producing 4 classical output values\n",
242
        "    return [qml.expval(qml.PauliZ(j)) for j in range(4)]"
243
      ]
244
    },
245
    {
246
      "cell_type": "markdown",
247
      "metadata": {
248
        "id": "7vMpFoHTO5kn"
249
      },
250
      "source": [
251
        "The next function defines the convolution scheme:\n",
252
        "\n",
253
        "1.  the image is divided into squares of $2 \\times 2$ pixels;\n",
254
        "2.  each square is processed by the quantum circuit;\n",
255
        "3.  the $4$ expectation values are mapped into $4$ different channels of\n",
256
        "    a single output pixel.\n",
257
        "\n",
258
        "::: {.note}\n",
259
        "::: {.title}\n",
260
        "Note\n",
261
        ":::\n",
262
        "\n",
263
        "This process halves the resolution of the input image. In the standard\n",
264
        "language of CNN, this would correspond to a convolution with a\n",
265
        "$2 \\times 2$ *kernel* and a *stride* equal to $2$.\n",
266
        ":::\n"
267
      ]
268
    },
269
    {
270
      "cell_type": "code",
271
      "execution_count": 31,
272
      "metadata": {
273
        "id": "pxtEvbF5O5kn"
274
      },
275
      "outputs": [],
276
      "source": [
277
        "def quanv(image):\n",
278
        "    \"\"\"Convolves the input image with many applications of the same quantum circuit.\"\"\"\n",
279
        "    out = np.zeros((14, 14, 4))\n",
280
        "\n",
281
        "    # Loop over the coordinates of the top-left pixel of 2X2 squares\n",
282
        "    for j in range(0, 28, 2):\n",
283
        "        for k in range(0, 28, 2):\n",
284
        "            # Process a squared 2x2 region of the image with a quantum circuit\n",
285
        "            q_results = circuit(\n",
286
        "                [\n",
287
        "                    image[j, k, 0],\n",
288
        "                    image[j, k + 1, 0],\n",
289
        "                    image[j + 1, k, 0],\n",
290
        "                    image[j + 1, k + 1, 0]\n",
291
        "                ]\n",
292
        "            )\n",
293
        "            # Assign expectation values to different channels of the output pixel (j/2, k/2)\n",
294
        "            for c in range(4):\n",
295
        "                out[j // 2, k // 2, c] = q_results[c]\n",
296
        "    return out"
297
      ]
298
    },
299
    {
300
      "cell_type": "markdown",
301
      "metadata": {
302
        "id": "xkZOpXcmO5kn"
303
      },
304
      "source": [
305
        "Quantum pre-processing of the dataset\n",
306
        "=====================================\n",
307
        "\n",
308
        "Since we are not going to train the quantum convolution layer, it is\n",
309
        "more efficient to apply it as a \\\"pre-processing\\\" layer to all the\n",
310
        "images of our dataset. Later an entirely classical model will be\n",
311
        "directly trained and tested on the pre-processed dataset, avoiding\n",
312
        "unnecessary repetitions of quantum computations.\n",
313
        "\n",
314
        "The pre-processed images will be saved in the folder `SAVE_PATH`. Once\n",
315
        "saved, they can be directly loaded by setting `PREPROCESS = False`,\n",
316
        "otherwise the quantum convolution is evaluated at each run of the code.\n"
317
      ]
318
    },
319
    {
320
      "cell_type": "code",
321
      "execution_count": 32,
322
      "metadata": {
323
        "colab": {
324
          "base_uri": "https://localhost:8080/",
325
          "height": 0
326
        },
327
        "id": "uCP_wpRgO5ko",
328
        "outputId": "a58332a4-19e2-4c54-f7cf-69f449e48d27"
329
      },
330
      "outputs": [
331
        {
332
          "output_type": "stream",
333
          "name": "stdout",
334
          "text": [
335
            "Quantum pre-processing of train images:\n",
336
            "\n",
337
            "Quantum pre-processing of test images:\n"
338
          ]
339
        }
340
      ],
341
      "source": [
342
        "if PREPROCESS == True:\n",
343
        "    q_train_images = []\n",
344
        "    print(\"Quantum pre-processing of train images:\")\n",
345
        "    for idx, img in enumerate(train_images):\n",
346
        "        print(\"{}/{}        \".format(idx + 1, n_train), end=\"\\r\")\n",
347
        "        q_train_images.append(quanv(img))\n",
348
        "    q_train_images = np.asarray(q_train_images)\n",
349
        "\n",
350
        "    q_test_images = []\n",
351
        "    print(\"\\nQuantum pre-processing of test images:\")\n",
352
        "    for idx, img in enumerate(test_images):\n",
353
        "        print(\"{}/{}        \".format(idx + 1, n_test), end=\"\\r\")\n",
354
        "        q_test_images.append(quanv(img))\n",
355
        "    q_test_images = np.asarray(q_test_images)\n",
356
        "\n",
357
        "    # Save pre-processed images\n",
358
        "    np.save(SAVE_PATH + \"q_train_images.npy\", q_train_images)\n",
359
        "    np.save(SAVE_PATH + \"q_test_images.npy\", q_test_images)\n",
360
        "\n",
361
        "\n",
362
        "# Load pre-processed images\n",
363
        "q_train_images = np.load(SAVE_PATH + \"q_train_images.npy\")\n",
364
        "q_test_images = np.load(SAVE_PATH + \"q_test_images.npy\")"
365
      ]
366
    },
367
    {
368
      "cell_type": "markdown",
369
      "metadata": {
370
        "id": "BlpTVuiXO5ko"
371
      },
372
      "source": [
373
        "Let us visualize the effect of the quantum convolution layer on a batch\n",
374
        "of samples:\n"
375
      ]
376
    },
377
    {
378
      "cell_type": "code",
379
      "execution_count": 33,
380
      "metadata": {
381
        "colab": {
382
          "base_uri": "https://localhost:8080/",
383
          "height": 1006
384
        },
385
        "id": "m6tO_bbUO5ko",
386
        "outputId": "983864a9-b1b0-4d58-a577-32014267615d"
387
      },
388
      "outputs": [
389
        {
390
          "output_type": "display_data",
391
          "data": {
392
            "text/plain": [
393
              "<Figure size 1000x1000 with 20 Axes>"
394
            ],
395
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAA6QAAAPdCAYAAACdkqXUAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACSRUlEQVR4nOz9e3wU9fn//z83gRwgBAjIwYCEMyYECBWxKS2ihbfWikAFOSiiUtSCH0ViQQHfeKigGC2KWsA3qAiar1gVhSJFi4pYVBIwHIIIATUNHpBVEgIhyf7+8JfUZSc4k8wyu7OP++3GLdlrrrz2GiavbK7Mzms8Pp/PJwAAAAAAzrAopwsAAAAAAEQmGlIAAAAAgCNoSAEAAAAAjqAhBQAAAAA4goYUAAAAAOAIGlIAAAAAgCNoSAEAAAAAjqAhBQAAAAA4goYUAAAAAOAIGlIAAAAAgCNCuiEtKirSpEmT1L9/fw0aNEjz589XVVWV02UBAAAAAOzgC2HDhw/3zZo1y/fDDz/4CgsLfUOGDPEtXbrU9NdL8knydezY0VdRUeHr2LFjTcxN/9i/0PqHugvXY+7272m37x/qLhyPt9u/nyNhH1E34Xq83f797Pb9MyNkz5Dm5+eroKBAWVlZatKkiVJSUjRhwgTl5ORYHqtZs2aKjo5Ws2bN7C80BLB/cBu3H3P2D27i9uPt9v2TImMf8V9uP97sX/hp4HQBtdm5c6eSk5PVtGnTmlhaWpoKCwtVUlKihISEnx2jY8eOatasmXr06CFJNR/dhv0LHXl5eU6XAAAAAISNkG1IvV6vEhMT/WLVzemRI0dMNaR79+5VdHR0zeOVK1faW2SIYf+c5/F4nC4BAAAACBsh25BK0o9vd6+7rl271pwhXblypcaOHauCggKbqgsd7B8AAACAcBSyDWlSUpK8Xq9fzOv1yuPxKCkpydQYhYWFfo8LCgpc/ZZK9g8AAABAOAnZRY169uyp4uJifffddzWx/Px8denSRY0bN3awMgAAAACAHUK2IU1NTVV6erqys7NVUlKiffv2admyZRozZozTpQEAAAAAbBCyDakkPfbYY/r666/1q1/9SuPHj9ewYcM0duxYp8sCAAAAANggZK8hlaQ2bdpoyZIlTpcBAAAAAAiCkD5DCgAAAABwLxpSAAAAAIAjaEgBAAAAAI6gIQUAAAAAOIKGFAAAAADgCBpSAAAAAIAjaEgBAAAAAI6gIQUAAAAAOIKGFAAAAADgCBpSAAAAAIAjaEgBAAAAAI6gIQUAAAAAOKKB0wUAAILnF7/4RUBsypQphrnjx483jD/33HMBsccff9wwNzc310J1AAAg0nGGFAAAAADgCBpSAAAAAIAjaEgBAAAAAI6gIQUAAAAAOIJFjSJIdHR0QKxp06b1Hre2BVIaNWpkGO/evXtAbPLkyYa5Dz/8sJo3by5JeuCBB3TkyBGNGTPGMPf48eOG8Xnz5gXE7rnnHsNcIFz16dPHMP7Pf/4zIJaYmGiY6/P5DOPXXHNNQGzo0KGGuS1atKilQgCh6OKLL1aXLl0kSeeff76SkpK0YsUKw9yBAwcaxvfs2RO0+gC3mzVrVkCstt9To6L+ey6xehHBCy+80DD3nXfeqX9xZwhnSAEAAAAAjqAhBQAAAAA4goYUAAAAAOAIGlIAAAAAgCNoSAEAAAAAjmCV3RBzzjnnGMZjYmICYpmZmZKkDh06SJJ+//vfKz09XQMGDDAco1mzZgGxP/zhD3WstO6+/PLLgNhjjz1mmDt8+PCaz4cMGSJJOnr0qGHu9u3bDePhtMoY8HPOP/98w/jLL79sGDdaSbu21XRrm1vl5eUBsdpW073gggvUrVs3SVJ6erpiY2NrVgI0My5Q7Te/+U1ArLbvu1deeSXY5bhWv379dPbZZ0uS0tLS1Lx5c3300UcOVwW4z4QJEwzj06dPD4hVVVWddqyoqKianNpe08MJZ0gBAAAAAI6gIQUAAAAAOIKGFAAAAADgCBpSAAAAAIAjWNTIIX369DGMv/3224Zxo4VJTjVnzpx6VGS/2i7InjVrVkCspKTEMHfFihXq1KmTHn74Yf35z3/W/v37VVxcbJh75MgRw/iePXtMVgw4o1GjRobxvn37BsSef/55w9y2bdvWu469e/caxh966KGA2IsvvmiY+/7779d8vmzZMknGc16S5s6da7VERJALL7wwINa1a1fDXBY1+nlRUcbnIDp27FizWNTZZ5+t2NjYmsUST+XxeIJWH+B2tc2ruLi4M1xJ6OEMKQAAAADAETSkAAAAAABH0JACAAAAABxBQwoAAAAAcAQNKQAAAADAEayy65DPP//cMH748GHDuJlVdu20ZcsWw7jX6w2IDRo0yDC3vLzcML58+XJLtWRkZEj6cQXivLw8S18LhINFixYZxseMGXNG6zBa1VeSEhISAmLvvPOOYa7Ryqi9evWqV12ITOPHjw+IffDBBw5U4g61rcT9xz/+sebzESNGSKp9Ne+CggL7CwNc5re//a1h/JZbbjE9Rm1z7fe//73S0tK0Zs0aXX755dq5c6e++uqrOtUZSjhDCgAAAABwBA0pAAAAAMARNKQAAAAAAEfQkAIAAAAAHEFDCgAAAABwBKvsOuS7774zjN9xxx2G8d///vcBseoVZ9u1a6cZM2booYce0pdffqnHHnvMdB3btm0zjA8ePNgwXlpaGhBLS0szzL311ltN1wFEgl/84heSpO7du0uSzj33XEVFRemyyy4zzPd4PKbHrm3V29dffz0g9vDDDxvm/uc//zGMG61ufeTIEcPciy66qObzqKgf/+ZpZT+AatXfP7DH008/bTp37969QawEcI8BAwYExJYtW2aYa+WOGfPnzzeMHzx4UElJSZKk4uJiHTx40PSYoYyf9gAAAAAAR9CQAgAAAAAcQUMKAAAAAHAEDSkAAAAAwBGOL2r03nvvafr06erfv78effRRv21r167VU089pS+//FIdO3bU7bffbnjxsJu8+uqrhvG33347IHb06FFJUkZGhmbMmKGXXnpJeXl56t27t+EYN9xwQ0CstsVNjBYvqs3OnTsN45MmTTI9BuA2ffr0CYj985//lCRFR0dLkp566ilVVlYqMTHRcAyfzxcQ+8c//mGYO2bMGMP4wIEDA2KzZs0yzK1t0ZNvvvkmILZ9+3bD3KqqKkk/LkhT/Xltizb17dvXMJ6bm2sYhzv16tXLMN66deszXIm7WVlQpfpnFYDTu/baawNiZ599tqUxNm7cGBB77rnn6lpSWHK0IV2yZIlWrVqlDh06BGzbvXu3pk+froULF+qCCy7Qm2++qSlTpmjdunVq06aNA9UCAAAAAOzk6Ft2Y2Nja21IX3rpJQ0cOFADBw5UbGyshg4dqm7dumn16tUOVAoAAAAAsJujZ0jHjx9f67adO3cGvNUsNTVV+fn5psfv2LGjmjVrph49ekhSzcdwlJCQEBCrflvtqfvXokUL0+OmpKQYxjMyMixWGDzhdPyM7tcIAAAAwJjj15DWxuv1Blzv0LRpU3322Wemx9i7d2/NtVqStHLlStvqC0UrVqyw/DUPPPCApbiTwuH4eTwep0sAAAAAwkbINqSS8YIeVnTt2rXmDOnKlSs1duxYFRQU2FTdmfVzZ0hXrFihcePGqaCgQDNnzjQcY9iwYQGx2hY3WbduXd2LtZkbjh8AAACAQCHbkDZv3lxer9cv5vV6lZSUZHqMwsJCv8cFBQWufEtldeO+e/du5eXlaf/+/aa/dvDgwYbxBx980DBevWqmE9x6/BDeunXrZhi/4447AmKnvuuj+g9N3377reEYxcXFAbFnn33WMLekpMQwvmbNGlOxYIqPjzeMT5s2zTA+bty4YJaDEPO73/3OMF7b9w1+ntEKxR07djT99UVFRXaWA4S9li1bGsavv/76gFhtvyuf2tdUu//+++tcl1uE7H1Ie/bsqR07dvjF8vPza72lCQAAAAAgvIRsQzpq1Cht3rxZGzdu1IkTJ7Rq1SodOHBAQ4cOdbo0AAAAAIANHH3Lbnp6uiSpoqJCkrRhwwZJP54J7datmx5++GHNnTtXRUVF6tKlixYtWqSzzjrLsXoBAAAAAPapU0N6zTXXaPny5QHxo0ePaty4cabvFfpzt3AZMmSIhgwZUpcSAQAAAAAhzlJD+sUXX+jgwYPatm2b3n///YBVcPfv368DBw7YWR8AAAAAwKUsNaR5eXmaO3euKioqdMMNNxjmXHHFFbYUhrqbM2eOYfwXv/hFQGzgwIGGub/97W8N4+vXr69zXUA4i42NNYw//PDDhnGjlUOPHj0qSYqKilKTJk1UWlqqqqoqjR8/3nCMjz/+OCDmppVHzznnHKdLQAjo3r276dydO3cGsRL3MPq5ZLTyriR9+umnio2NVUpKig4ePKgTJ07U/KwCIk1KSoph/OWXX6732I8//rhh/F//+le9xw53lhrSoUOH6vLLL1evXr0M71MZHx9v6bYsAAAAAIDIZfkaUo/How8++KDm/nkAAAAAANRFnRY1+tOf/nTa7c8991ydigEAAAAARI46NaQtWrSQx+OpeVxZWanCwkJ98803uuyyy2wrDgAAAADgXnVqSB999FHD+PPPPy+v11ufemCD0tJSw/gf//jHgFhubq5h7pIlSwzjRhdeGy28IklPPPGEYfzU1ZmBcJCRkWEYN1q8qDbVi7517dpVS5Ys0e233669e/fqnXfesaVGwO0++ugjp0sIusTExIDYJZdcYph79dVXG8at3DLvvvvuU0pKiu6//349/fTTOnDgAL/LIWLVNtd69epleoy33nrLML5gwYI61RQJouwc7KqrrtKLL75o55AAAAAAAJeytSE9dOiQjh07ZueQAAAAAACXqtNbdqdNmxYQKysrU25uruG9LgEAAAAAOFWdGtKvv/46IBYXF6dhw4YZXqcIAAAAAMCp6tSQLl++3O46AAAAAAARpk4NqSR9/vnnWr9+vQ4dOiSPx6Pk5GQNGTJEZ599tp31wUb79u0LiE2YMMEwd9myZYbxa665xlRMkho3bmwYN7pPbXFxsWEuECoeeeQRw/hPb4H1U0Yr51bHfvjhB0nS1q1blZeXZ1OFoSEqKirg86qqKqfKgcskJSUFbezevXsHxDwej7p37y5J6t69e80q8b/97W8Nx2jXrl1ALCYmxjB33LhxhvGfzqFqZWVlhrlbtmwxjJ84cSIg1qCB8a98W7durRl/9+7d2rVrl2Ee4DbDhg0LiM2bN8/SGJs2bQqIXXvttYa533//vaWxI0mdGtK1a9dq2rRpatKkidq2bSufz6fi4mLNnz9fjz32mC6++GK76wQAAAAAuEydGtKHH35YU6dO1cSJE2v+kldZWanFixfrgQceoCEFAAAAAPysOt325fDhw5owYYLf20qio6N1ww036JtvvrGtOAAAAACAe9WpIe3cubPhNX+HDh1St27d6l0UAAAAAMD96vSW3SlTpmj69OkaP368OnfurMrKSh04cEDLly/X9ddfr8LCwprcjh072lYsAAAAAMA96tSQ/ulPf5Ikbdu2rWaFyeqV57Zt21bz2OPxaPfu3TaUiWB55ZVXDON79+41jButNFrbNcMPPPCAYbxDhw4Bsb/85S+GuUVFRYZxIJh+//vfB8T69OljmFv9s+9Uq1evtrOksFG9om5UVFTN57X9H1W/XiCy1baCrNH3zd/+9jfD3LvuuqvedfTq1Ssg9tNVtFeuXFnzeUVFheEYx44dC4jVtmrt0qVLDeMff/xxQMxo1W5J+uqrrwzjX375ZUAsPj7eMLegoKBmW2FhoQoKCgzzgHCVkpJiGH/55ZfrPfb+/fsDYrXNS9SuTg2p0W07AAAAAACwok4N6fnnn293HQAAAACACFOnhtTr9WrJkiXau3evjh8/7rfN4/Ho2WeftaU4AAAAAIB71akhnTFjhnJzc9W3b1+1bNnS7poAAAAAABGgTg3pRx99pFdffVXt27e3ux6EiB07dhjGR40aFRC7/PLLDXOXLVtmGL/xxhsDYl27djXMHTx4cG0lAkFjtPhHTEyMYe7XX39tGM/JybG1JifFxsYGxObMmWP6699++23D+J133lnXkuAi1QslnurgwYMBsczMzKDV8fnnnwfEXn31VZ1zzjmaM2eO7rnnnpqc2hZs/Pe//x20+oxMmjTJMH7WWWcFxIwWXwEiwfTp0w3j1Qvv1ce8efPqPQbqeB/Sxo0bq02bNnbXAgAAAACIIHVqSMeMGaMXX3zR7loAAAAAABGkzosarVixQq+88oo6dOigqCj/vjY7O9uW4gAAAAAA7lWnhnTXrl3q2LGjJOnbb7+1tSAAAAAAQGSoU0O6fPlyu+sAAAAAAEQYSw3p6NGjTeVxfal7eb3egFhtf6B4+umnDeMNGgR+2/3mN78xzL3wwgtrVuA977zz1LRpU23cuNFcscAZcOLECcN4cXHxGa6k/oxW05WkWbNmBcTuuOMOw9wvv/xSDRs2VNu2bfXVV1/p5MmTtV7GUVJSUvdi4XoPPvig0yVIkjIyMjRnzhytXr1aeXl5Tpfj5+KLLzad+/LLLwexEsB5ffr0kSR179695qPP59OQIUPqPfZrr71mGN+zZ0+9x4bFhrT6bboAAAAAANSXpYZ07ty5waoDAAAAABBh6nTbFwAAAAAA6ouGFAAAAADgCBpSAAAAAIAj6nTbF7hfr169DONXXnllQKxfv36GuUar6dZm165dhvF3331XR48elSTl5uaG3AqHwOrVq50uwbLqlQhPVdvKuVdddVVArLYVB//whz8oIyNDubm5uuyyy5izQIh45ZVXnC4BCKr169dL+u/vn08++aQqKirUvHlz02P8+9//NoxPmDCh3vWhdpwhBQAAAAA4goYUAAAAAOAIGlIAAAAAgCNoSAEAAAAAjmBRowjSvXv3gNiUKVMMc0eMGGEYb9OmTb3rqKysDIgVFxcb5lZVVamqqirgcyCYPB6PqZgkDRs2zDB+66232llSnU2dOjUgNnv2bMPcpk2bGsZXrFgREBs/fnz9CgMAwEYtWrTwe1z9mmbld8cnn3zSMF5SUlL3wvCzOEMKAAAAAHAEDSkAAAAAwBE0pAAAAAAAR9CQAgAAAAAc4WhDWlRUpMmTJ6t///7KzMzUjBkz9MMPP0iSdu/erauvvlq/+MUvNGTIEC1dutTJUgEAAAAANnN0ld2bbrpJPXv21Ntvv62jR49q8uTJevDBBzV79mzdeOONGjVqlBYvXqzCwkJdf/31ateunYYMGeJkySGlesXbli1b1nxs06aNxowZY5hvtKJuSkpK0Or7+OOPDeN/+ctfAmKrV68OWh2AVT6fz1RMqn3l6cceeywgVv2HteoVr7t37y6fz6fDhw8bjnHBBRcExK655hrD3N69exvG27VrFxD7/PPPDXPffPNNw3htqw4CCE1Gq4J369bNMPff//53sMsBbLds2bKAWFRU1Gkfm7F58+Y614S6c+wM6Q8//KCePXtq2rRpaty4sdq0aaPhw4fr448/1saNG3Xy5EndfPPNatSokdLS0jRy5Ejl5OQ4VS4AAAAAwGaOnSFNTEzU3Llz/WLFxcVq1aqVdu7cqe7duys6OrpmW2pqql566SVLz9GxY0c1a9ZMPXr0kKSaj25RfWa0S5cufh+Tk5MN82NiYs5MYf9/jRo1Mox36tQpIJaRkVHrOOF0/PLy8pwuAQAAAAgbjr5l96fy8/P1/PPP66mnntI//vEPJSYm+m1v1qyZvF6vqqqqTJ+C37t3r19Tu3LlSltrDjWh9ra6nj17GsYfffTROo0XDsfP6G1SAAAAAIyFREO6detW3XzzzZo2bZoyMzP1j3/8wzDP6i/7Xbt2rTlDunLlSo0dO1YFBQV2lBwSfnqG9Mknn9Sf/vQnffbZZ/qf//kfw/yrrroqIHb22WcHrb5du3YZxv/v//4vIPbOO+/UOo5bjx8AAAAQ6RxvSN9++23dcccdmj17toYNGyZJSkpK0oEDB/zyvF6vmjVrZukC5cLCQr/HBQUFIf+WytatWxvGU1NTA2J//etfJUlxcXGSpKysLB0/fjyob23dsmVLQGz+/PmGua+99pphvKqqqk7PHQ7HD5Hnp+/C+Kk//elPAbE//OEPkqSGDRtK+nHho5MnT9asLn6qrl271rs+owUa/vWvfxnm3n333fV+PgDOM1qErS4LvABO69Onj2H8t7/9bUDsp79fRkVF1TwuLy83HOOJJ54IiH311Vd1qBL15ehPp9zcXE2fPl0LFiyoaUalH9/quWfPHlVUVNTE8vPza11FEgAAAAAQfhxrSCsqKjRr1ixlZWVpwIABftsGDhyohIQEPfXUUyorK9P27du1atWqWm9nAgAAAAAIP441pNu2bdO+fft0//33Kz093e/fN998o7/97W/avHmzzj//fN12222aOnWqLrzwQqfKBQAAAADYzLFrSM877zzt2bPntDkvvPDCGaoGAAAAAHCmcYU7AAAAAMARjq+yGwmSkpICYosWLTLMrW01sU6dOv3s86SkpFgpS5LxCpySlJ2dbRh/8803A2JlZWWWnxcIZR988EFA7KOPPjLM7devn+lx27Rp4/e4RYsWkmpfXdvI4cOHDeMvvviiYfzWW281PTYA9/rlL39pGH/mmWfObCGABc2aNTOMn/p6ejpFRUWG8aysrLqUhCDgDCkAAAAAwBE0pAAAAAAAR9CQAgAAAAAcQUMKAAAAAHAEDSkAAAAAwBGssltH/fv3D4jdcccdhrnnn39+QCw5Odn2mqodO3bMMP7YY48FxB544AHD3NLSUltrAsLJl19+GRAbMWKEYe6NN95oGJ81a1a961iwYEFA7KmnnjLM/eyzz+r9fADcwePxOF0CAJjGGVIAAAAAgCNoSAEAAAAAjqAhBQAAAAA4goYUAAAAAOAIFjWqo+HDh5uKWbVr1y7D+BtvvBEQq6iokCS1adNGEydO1NKlS3Xo0CFlZ2cbjuH1eutdHxCpiouLDeNz5syxFJekjIwM5ebm6rzzzlNeXp4N1QGIRP/4xz8M4yNHjjzDlQDBUVBQYBjfvHlzQGzAgAHBLgdBwhlSAAAAAIAjaEgBAAAAAI6gIQUAAAAAOIKGFAAAAADgCBpSAAAAAIAjWGW3jmbMmGEqdiZkZGRo4sSJevLJJ1mxEwCACPHMM89YigPh5tChQ4bxgQMH1vo1rGQffjhDCgAAAABwBA0pAAAAAMARNKQAAAAAAEfQkAIAAAAAHEFDCgAAAABwBA0pAAAAAMARNKQAAAAAAEfQkAIAAAAAHEFDCgAAAABwBA0pAAAAAMARNKQAAAAAAEfQkAIAAAAAHEFDCgAAAABwBA0pAAAAAMARNKQAAAAAAEfQkAIAAAAAHOHx+Xw+p4sAAAAAAEQezpACAAAAABxBQwoAAAAAcAQNKQAAAADAETSkAAAAAABH0JACAAAAABxBQwoAAAAAcAQNKQAAAADAETSkAAAAAABH0JACAAAAABxBQwoAAAAAcISrG9KioiJNmjRJ/fv316BBgzR//nxVVVU5XVa9vPfee8rMzNTUqVMDtq1du1aXX365MjIyNGLECG3atMmBCuunqKhIkydPVv/+/ZWZmakZM2bohx9+kCTt3r1bV199tX7xi19oyJAhWrp0qcPVwm7MWeYswgtzNrzmLPMVzFnmbEjyudjw4cN9s2bN8v3www++wsJC35AhQ3xLly51uqw6W7x4sW/IkCG+0aNH+2677Ta/bbt27fL17NnTt3HjRt/x48d9r732mq93796+4uJih6qtm9///ve+GTNm+EpKSnzFxcW+ESNG+O666y5fWVmZ79e//rXv8ccf95WWlvp27NjhO//8831vvvmm0yXDRsxZ5izCC3M2vOYs8xXMWeZsKHLtGdL8/HwVFBQoKytLTZo0UUpKiiZMmKCcnBynS6uz2NhYrVq1Sh06dAjY9tJLL2ngwIEaOHCgYmNjNXToUHXr1k2rV692oNK6+eGHH9SzZ09NmzZNjRs3Vps2bTR8+HB9/PHH2rhxo06ePKmbb75ZjRo1UlpamkaOHBnWxxP+mLPMWYQX5mx4zVnmK5izzNlQ5dqGdOfOnUpOTlbTpk1rYmlpaSosLFRJSYmDldXd+PHj1aRJE8NtO3fuVGpqql8sNTVV+fn5Z6I0WyQmJmru3Llq2bJlTay4uFitWrXSzp071b17d0VHR9dsS01N1Y4dO5woFUHAnGXOIrwwZ8NrzjJfwZxlzoYq1zakXq9XiYmJfrHqCXjkyBEnSgoqr9fr9wNG+nF/w3lf8/Pz9fzzz+vmm282PJ7NmjWT1+sN+2sf8CPmLHMW4YU5G95zlvkaeZizzNlQ5dqGVJJ8Pp/TJZxRbtrfrVu36oYbbtC0adOUmZlZa57H4zmDVSHY3PQ9bIab9pc5G5nc9D1shlv2l/kaudzyPWyWW/bX7XPWtQ1pUlKSvF6vX8zr9crj8SgpKcmZooKoefPmhvsbjvv69ttva9KkSbrrrrs0fvx4ST8ez1P/ouX1etWsWTNFRbn22ziiMGeZswgvzNnwnLPM18jFnGXOhqrwq9iknj17qri4WN99911NLD8/X126dFHjxo0drCw4evbsGfC+8fz8fPXu3duhiuomNzdX06dP14IFCzRs2LCaeM+ePbVnzx5VVFTUxMJx/1A75mx4fk8zZyMXczb8vqeZr5GNORt+39eRMmdd25CmpqYqPT1d2dnZKikp0b59+7Rs2TKNGTPG6dKCYtSoUdq8ebM2btyoEydOaNWqVTpw4ICGDh3qdGmmVVRUaNasWcrKytKAAQP8tg0cOFAJCQl66qmnVFZWpu3bt2vVqlWuPZ6RiDnLnEV4Yc6G15xlvoI5y5wNVR6fW95cbeDQoUOaPXu2PvzwQyUkJGj06NGaMmVK2L6/Oj09XZJq/hrSoEEDSapZLWz9+vXKzs5WUVGRunTpopkzZ6pfv37OFFsHH3/8scaNG6eYmJiAbevWrVNpaan+93//Vzt27FDLli31xz/+UWPHjnWgUgQLc5Y5i/DCnA2fOct8hcScZc6GJlc3pAAAAACA0OXat+wCAAAAAEIbDSkAAAAAwBE0pAAAAAAAR9CQAgAAAAAcQUMKAAAAAHAEDSkAAAAAwBE0pAAAAAAAR9CQAgAAAAAcQUMKAAAAAHAEDSkAAAAAwBE0pAAAAAAAR9CQAgAAAAAcQUMKAAAAAHAEDSkAAAAAwBE0pAAAAAAAR9CQAgAAAAAcQUMKAAAAAHAEDSkAAAAAwBE0pAAAAAAAR4R0Q1pUVKRJkyapf//+GjRokObPn6+qqiqnywIAAAAA2KCB0wWczi233KK0tDRt2LBBhw8f1o033qiWLVvquuuuc7o0AAAAAEA9hewZ0vz8fBUUFCgrK0tNmjRRSkqKJkyYoJycHKdLAwAAAADYIGQb0p07dyo5OVlNmzatiaWlpamwsFAlJSUOVgYAAAAAsEPINqRer1eJiYl+serm9MiRI06UBAAAAACwUcg2pJLk8/mcLgEAAAAAECQh25AmJSXJ6/X6xbxerzwej5KSkpwpCgAAAABgm5BtSHv27Kni4mJ99913NbH8/Hx16dJFjRs3drAyAAAAAIAdQrYhTU1NVXp6urKzs1VSUqJ9+/Zp2bJlGjNmjNOlAQAAAABs4PGF8IWahw4d0uzZs/Xhhx8qISFBo0eP1pQpU+TxeJwuDQAAAABQTyHdkAIAAAAA3Ctk37ILAAAAAHA3GlIAAAAAgCNoSAEAAAAAjqAhBQAAAAA4goYUAAAAAOAIGlIAAAAAgCNoSAEAAAAAjqAhBQAAAAA4goYUAAAAAOAIGlIAAAAAgCMaOF0AAODMGjZsWNDGfvXVV4M2NgAAcB/OkAIAAAAAHEFDCgAAAABwBA0pAAAAAMARNKQAAAAAAEfQkAIAAAAAHEFDCgAAAABwBA0pAAAAAMARNKQAAAAAAEfQkAIAAAAAHEFDCgAAAABwRAOnC4C/48ePm87dsGFDQCwxMVG/+c1v9O677+qHH37w2/bwww+bHvudd94xnWtVXFyc6dxT/z8yMjKUm5urvn37Ki8vz29bSkqK6XELCwtN5wLhwMq8OnHihKWxGzQw/1Lx+eef+z1u2LCh2rZtq+LiYp08edJv2znnnGOpDkSWffv2mc7t3LlzECtxt5/+btCqVSuNHz9ezz33nL7++uuA3EmTJpkeNzEx0Zb6ALeLijJ/ftDn8/k9Pt3vxafmhjLOkAIAAAAAHGHqz94LFy6s0+BTpkyp09cBAAAAANzPVEP6xBNP6LzzzrM08NatW2lIAQAAAAC1MtWQNmzYUMuXL7c0cK9evepUEAAAAAAgMpi6hrQuZzo5OwoAAAAAOB1TZ0irV1U7cuSIXnvtNW3btk2HDx+WJJ111lnq27evhg4d6reimpWV2AAAAAAAkcf0Krv5+fm65JJLtGjRIh09elStW7dW69at9f333+vxxx/XpZdeqr179wazVgAAAACAi5i+udzDDz+ssWPHasqUKYqOjvbbdvLkSc2fP19z587V0qVLbS8SAAAAAOA+ps+QFhQUaNKkSQHNqPTjokf/7//9v4AbsgIAAAAAUBvTDWlcXJx++OGHWreXlJSoYcOGthQFAAAAAHA/j8/n85lJnDZtmr755hv9+c9/VlpamjwejyTJ5/MpPz9f8+fPV3JysubNmxfUgt2uSZMmpnNLSkoCYhkZGcrNzVXfvn3rdcb6nHPOMZ37+eefWxrb5LccEPGqf8467dVXXzWdO2zYML/Hp/uZxM8CnE5CQoLpXKPXQ5jz058zP/c7BHMW+Hm7du2ylJ+WlmY699ixY36PPR6P4uLidPz48YD5GR8fb6kOJ5m+hnTWrFm69dZbdeWVV6pBgwY1jdPRo0dVWVmp3/zmN5o1a1bQCgUAAAAAuIvphrR58+Z67rnntHfvXm3btk1HjhyRJLVo0UIZGRnq1KlT0IoEAAAAALiP6Ya0WteuXdW1a9dg1AIAAAAAiCCmFzUCAAAAAMBONKQAAAAAAEfQkAIAAAAAHEFDCgAAAABwhG0NaW5urjZt2mTXcAAAAAAAl7O8ym5tZs6cqQMHDmj37t12DQkAAAAAcDHbGtJnnnlGFRUVdg0HAAAAAHA52xrS1q1b2zVURDt69Kgt4+Tm5gbEPB6P6a8/ePCgLXUA+K/o6Gi/xxkZGfr444913nnnKS8vr15jV1VVmc59+OGHLY19xRVXWC3HlK+++sp0Lq8xkae0tNTpEgDAsrS0NEv5PXr0MJ0bHx9vGI+Li7P0nKHGckNaVVWlDRs26NNPP1V5eXnA9ttvv92WwgAAAAAA7ma5Ib3nnnuUk5OjFi1aKDY21m+bx+OxtSHt3r27GjZs6Hdmb9SoUZo9e7ZtzwEAAAAAcIblhvT111/XokWLNHDgwGDUE2DdunVq167dGXkuAAAAAMCZY/m2L9HR0fr1r38djFoAAAAAABHE8hnSwYMHa8uWLfrlL38ZjHoCZGdnKy8vTyUlJbr00ks1Y8YMNW7c+Iw8t9tkZGQ4XQIAAAAA1DDVkL766qs1n6enp+vee+/VoEGD1L59e0VF/fckq8fj0ahRo2wrrk+fPsrMzNSDDz6oL774QrfddpvuuecePfTQQ7Y9RyQxWnkXAAAAAJxiqiGdMWNGQKywsDAgZndDmpOTU/N5586dlZWVpZtvvln333+/YmJibHueSNG3b1/TuTSvAAAAAILNVENaUFAQ7DpMadeunSorK3X48GG1bdvW6XLCTn3vcwgAAAAAdrK8qJEkffLJJzp48GDN423btmn79u22FSVJu3bt0rx58/xi+/btU0xMjFq1amXrcwEAAAAAzjzLDen69es1duxYffrppzWxwsJCXX311Vq/fr1thbVo0UI5OTlavHixysvLVVhYqAULFuiqq65SdHS0bc8DAAAAAHCG5Yb0ySef1EMPPaTBgwfXxIYPH66//vWvWrhwoW2FtW7dWosXL9bbb7+t/v37a/To0fr1r3+tO+64w7bnAAAAAAA4x/JtXw4ePKhLLrkkIH7hhRcqKyvLlqKq9evXTy+++KKtY0aybt26mc7dsWOH6dyePXvWpRzAFfr16xe0sSsqKkznejwe07mh8oe9Cy64wHSu0UJ6AIz97ne/M52bmJhY83lCQkLNx5/GgUjXpk2boI29e/fuoI0dLiyfIW3VqpXy8/MD4lu2bFHz5s1tKQoAAAAA4H6Wz5COHTtWkyZN0tChQ9W+fXtVVVVp//79WrNmje1nSAEAAAAA7mW5Ib322mvVqFEjrVy5UqtWrVJ0dLRSUlI0c+ZMjRgxIhg1AgAAAABcyFRDum3bNvXp06fm8ciRIzVy5EhLXwMAAAAAwE+Zuob02muvtTxwXb4GAAAAABA5TJ0hraiosHxLl8rKyjoVBAAAAACIDKYa0r59+2rLli2WBs7IyKhTQQAAAACAyGCqIV2+fHmw6wAAAAAARBjL9yEFAAAAAMAONKQAAAAAAEdYvg8pwteePXtM50ZHR5vOraqqslTHiRMnTOfGxMRYGhs40z7++GPTuT6fr95jADhzvv76a7/HDRo0UFJSkr777jtVVFQE5M+ePdv02EuWLDGda+U1WbK2sOSRI0dqPo+K+vE8xZo1ayy/tgPh5oMPPjCd+9VXX5nOLS8vr0s5EY0zpAAAAAAAR1huSGfMmGEYLykp0U033VTvggAAAAAAkcH0W3a9Xq+OHDmitWvX6qabbgp469m+ffv0/vvv214gAAAAAMCdTDeka9as0QMPPKCqqipdeumlAdt9Pp8yMzNtLQ4AAAAA4F6mG9Jx48bp8ssvV2ZmppYuXRqwPT4+Xueee66txQEAAAAA3MvSKruJiYl6+eWX1b1792DVAwAAAACIEJZv+/LMM8+cdvvcuXPrWgsAAAAAIIJYbkj379/v97iyslJffPGFoqKilJGRYVthAAAAAAB3s9yQ5uTkBMQqKyv16KOPql27drYUBQAAAABwP8v3ITUSHR2tyZMna/HixXYMBwAAAACIAJbPkNbm2LFjOnLkiF3DwWGVlZWmc9944w1LY8fGxprOPfV+t8CZ8M4775jOjYmJCWIl7nbqJSDAT2VnZ5vO7d+/f1BqmD59ut/jZs2a6aKLLtK2bdvk9XoD8hctWmR6bCu5Vnk8HtO5TZs2DYg1adLEznKAkBSs21U2bNgwKOO6meWG9JFHHgmIlZWVadOmTerRo4ctRQEAAAAA3M9yQ2p0NiwuLk5dunTR7bffbktRAAAAAAD3s9yQvv3228GoAwAAAAAQYep0DWlpaaneffddHTp0SB6PR8nJyRowYIDi4+Ptrg8AAAAA4FKWG9ItW7bopptuUllZmRISEuTz+VRaWqqEhAQ9/fTT6tOnTxDKBAAAAAC4jeXbvtx9990aPny4PvjgA3388cfaunWrNm/erMsuu0x33XVXMGoEAAAAALiQ5Ya0uLhYd9xxh5o3b14TS0pK0p///GcVFRXZWhwAAAAAwL0sN6Tt2rVTSUlJQPzYsWNq3769LUUBAAAAANzPckM6c+ZM3X333dq+fbtKSkr0/fffa/v27ZozZ46ysrJUXl5e8w8AAAAAgNpYXtToxhtvVEVFhTZu3OgX9/l8AbeE2b17d72KAwAAAAC4l+WG9L777gtGHQAAAACACOPx+Xw+K1+watUqXXnllQHxY8eOaeXKlZo4caJtxcE53377renc3/72t5bG3r59u+lci9+egC3eeecd07nPP/+86dwlS5bUpRzbffPNN5byW7VqZTqXOQs4z+PxmM5lzsItGjZsGBDLyMjQhx9+qPPPP195eXl+2yoqKkyPXVVVZTrXyvzDjyxfQ1rbGdKjR4/qscceq3dBAAAAAIDIYPotu0uXLtXSpUtVXl6uAQMGBGwvKSlR27ZtbS0OAAAAAOBephvS0aNHKyUlRbfccotGjx4dsD0+Pl5DhgyxtTgAAAAAgHuZbkgbNWqkiy66SHfddZfGjRsXzJoAAAAAABHA8iq7jRs31quvvlrr9mHDhtWjHAAAAABApLDckM6YMcN4oAYNFBcXR0MKAAAAADDFckP6ySef+D2urKzU/v37tXjxYo0fP962wgAAAAAA7mb5ti8xMTF+/+Lj45WWlqbZs2fr3nvvDUaNAAAAAAAXstyQ1iYxMVEHDx60azgAAAAAgMtZfsvupk2bAmLHjx/X2rVr1aZNG1uKAgAAAAC4n+WGdOLEifJ4PPL5fH7xZs2aad68ebYVhp938uRJw3jDhg0NtzVv3tz02KWlpXWu6+ds2bIlaGMDZ9rTTz9tOveBBx7we9ygQQM1b95cR44cUUVFRUD+rl27TI99ySWXmM71eDymcyXp888/t5QPAMCZZvQ6Wh2rqKgw3G6W1ddNWGO5IX3rrbcCYnFxcUpKSuJgAQAAAABMs3wNaXJyspKTkxUfH6/GjRsrOTlZLVq0qHMz+t577ykzM1NTp04N2LZ27VpdfvnlysjI0IgRIwzfLgwAAAAACE+WzpCWlpbqr3/9q15//XV9//33kqQWLVpoxIgRmjx5smJjYy09+ZIlS7Rq1Sp16NAhYNvu3bs1ffp0LVy4UBdccIHefPNNTZkyRevWreNaVQAAAABwAdMN6YkTJ3TNNdfou+++09VXX60ePXqorKxM+/fv16uvvqqPPvpIzz33nBo2bGj6yWNjY7Vq1Sr95S9/0YkTJ/y2vfTSSxo4cKAGDhwoSRo6dKief/55rV69WpMmTTL9HPiv3r17m84tKysLWh2NGjUK2tgAAAAAwofphvTZZ5+VJL3xxhtKSEjw23bDDTdowoQJWrFihSZMmGD6ycePH1/rtp07d9Y0o9VSU1OVn59veny3O13zb7Tt/fffD2Y5AAAAAGCJ6YZ03bp1uvPOOwOaUUlKSEjQ9OnTNW/ePEsN6el4vV41bdrUL9a0aVN99tlntozvBlZX2b3wwgtNjx3MM6TPPfec6dyePXsGrQ4AAAAAzjLdkB48eFB9+/atdXtGRoYOHDhgR001Tr21DOpn+/btpnODeduXY8eOBW1sAAAAAOHD9Cq7VVVVioqqPT0qKkpVVVW2FCX9eM9Mr9frF/N6vUpKSrLtOQAAAAAAzjHdkJ599tkqKCiodfuOHTvUtm1bW4qSfnyr5o4dO/xi+fn5lhbmAQAAAACELtMN6UUXXaRHHnnE8CzoyZMnNX/+fA0ePNi2wkaNGqXNmzdr48aNOnHihFatWqUDBw5o6NChtj0HAAAAAMA5Hp/JCzW9Xq+GDx+uhIQEXX/99ercubMqKyu1d+9ePf300/L5fPr73/+uJk2amH7y9PR0SVJFRYUkqUGDHy9prV5Jd/369crOzlZRUZG6dOmimTNnql+/fpZ2MBRUVlaazm3WrJnp3JKSkoBYRkaGcnNz1bdvX+Xl5Zke61SbN282nfvLX/6yzs8DhKJTb0N1OnFxcXV+HrvmqyRNnDjRdO6SJUvq9VwAQpvH4zGdy3odCGV79+41ndutW7eA2OleZ/neDx2mFzVq1qyZVq5cqTlz5mjmzJny+Xzy+XyKjo7WxRdfrFmzZllqRiX97C1chgwZoiFDhlgaEwAAAAAQHkw3pJLUtm1bLVq0SN9//70OHjwoSerUqZPhrWAAAAAAADgdSw1ptaZNm6pXr1521wIAAAAAiCCmFzUCAAAAAMBONKQAAAAAAEfQkAIAAAAAHEFDCgAAAABwBA0pAAAAAMARNKQAAAAAAEfQkAIAAAAAHFGn+5BCuv32203nPvroo6Zzmzdvbjp3xowZAbGzzz5bknTdddfpf/7nf/y2zZ071/TYQCSLjY01nevz+er9fLm5ufUeAwAAt0lJSXG6BJwBnCEFAAAAADiChhQAAAAA4AgaUgAAAACAI2hIAQAAAACOoCEFAAAAADiChhQAAAAA4AgaUgAAAACAI2hIAQAAAACOoCEFAAAAADiChhQAAAAA4AgaUgAAAACAIzw+n8/ndBEAAAAAgMjDGVIAAAAAgCNoSAEAAAAAjqAhBQAAAAA4goYUAAAAAOAIGlIAAAAAgCNoSAEAAAAAjqAhBQAAAAA4goYUAAAAAOAIGlIAAAAAgCNoSAEAAAAAjqAhBQAAAAA4goYUAAAAAOAIGlIAAAAAgCNoSAEAAAAAjqAhBQAAAAA4goYUAAAAAOAIGlIAAAAAgCNoSAEAAAAAjqAhBQAAAAA4goYUAAAAAOAIGlIAAAAAgCMipiEtKirSpEmT1L9/fw0aNEjz589XVVWV02XZpnv37urZs6fS09Nr/t13331Ol1Uv7733njIzMzV16tSAbWvXrtXll1+ujIwMjRgxQps2bXKgQgQTczb8MGcjG3M2/DBnIxtzNvy4dc42cLqAM+WWW25RWlqaNmzYoMOHD+vGG29Uy5Ytdd111zldmm3WrVundu3aOV2GLZYsWaJVq1apQ4cOAdt2796t6dOna+HChbrgggv05ptvasqUKVq3bp3atGnjQLUIBuZseGHOgjkbXpizYM6GFzfP2Yg4Q5qfn6+CggJlZWWpSZMmSklJ0YQJE5STk+N0aahFbGxsrZPupZde0sCBAzVw4EDFxsZq6NCh6tatm1avXu1ApQgG5mz4Yc5GNuZs+GHORjbmbPhx85yNiIZ0586dSk5OVtOmTWtiaWlpKiwsVElJiYOV2Ss7O1sXXnihzjvvPM2ePVulpaVOl1Rn48ePV5MmTQy37dy5U6mpqX6x1NRU5efnn4nScAYwZ8MPczayMWfDD3M2sjFnw4+b52xENKRer1eJiYl+seoJeOTIESdKsl2fPn2UmZmp9evXKycnR9u2bdM999zjdFlB4fV6/X6ASj8eT7ccSzBn3YY5637MWXdhzrofc9Zdwn3ORkRDKkk+n8/pEoIqJydHI0eOVExMjDp37qysrCy98cYbKi8vd7q0oHD78YT7jzFzFm7j9mPMnIXbuP0YM2fDR0Q0pElJSfJ6vX4xr9crj8ejpKQkZ4oKsnbt2qmyslKHDx92uhTbNW/e3PB4uvVYRiLmrLswZ92POesuzFn3Y866S7jP2YhoSHv27Kni4mJ99913NbH8/Hx16dJFjRs3drAye+zatUvz5s3zi+3bt08xMTFq1aqVQ1UFT8+ePbVjxw6/WH5+vnr37u1QRbAbc9ZdmLPux5x1F+as+zFn3SXc52xENKSpqalKT09Xdna2SkpKtG/fPi1btkxjxoxxujRbtGjRQjk5OVq8eLHKy8tVWFioBQsW6KqrrlJ0dLTT5dlu1KhR2rx5szZu3KgTJ05o1apVOnDggIYOHep0abAJc9ZdmLPux5x1F+as+zFn3SXc56zHF85vOLbg0KFDmj17tj788EMlJCRo9OjRmjJlijwej9Ol2eKjjz5Sdna29uzZo5iYGA0fPlxTp05VbGys06XVSXp6uiSpoqJCktSgwY+3zK1eLWz9+vXKzs5WUVGRunTpopkzZ6pfv37OFIugYM6GF+YsmLPhhTkL5mx4cfOcjZiGFAAAAAAQWiLiLbsAAAAAgNBDQwoAAAAAcAQNKQAAAADAETSkAAAAAABH0JACAAAAABxBQwoAAAAAcAQNKQAAAADAETSkAAAAAABH0JACAAAAABxBQwoAAAAAcAQNKQAAAADAETSkAAAAAABH0JACAAAAABxBQwoAAAAAcAQNKQAAAADAETSkAAAAAABH0JACAAAAABzh6obU4/EE/OvUqZMqKyvVqVMnw+3h/o/9c/4f6i4cj7fbv58jYR9Rd+F4vN3+/RwJ+4e6Cedj7vbvaTfvnxmubkiNNGvWTNHR0WrWrJnTpQQF+wc3cfvxdvv+SZGxj/gvtx9v9g9u4/Zjzv6Fh5BuSIuKijRp0iT1799fgwYN0vz581VVVeV0WQAAAAAAGzRwuoDTueWWW5SWlqYNGzbo8OHDuvHGG9WyZUtdd911TpcGAAAAAKinkD1Dmp+fr4KCAmVlZalJkyZKSUnRhAkTlJOT43RpAAAAAAAbhOwZ0p07dyo5OVlNmzatiaWlpamwsFAlJSVKSEj42TE6duwY8J7qHj16+H10G/bPWXl5eU6XAAAAAISNkG1IvV6vEhMT/WLVzemRI0dMNaR79+5VdHS04baVK1fWv8gQxv45w+xqYgAAAABCuCGVJJ/PV6+v79q1q+EZ0pUrV2rs2LEqKCio1/ihiP0DAAAAEC5CtiFNSkqS1+v1i3m9Xnk8HiUlJZkao7CwsNZtBQUFrn57JfsHAAAAINSF7KJGPXv2VHFxsb777ruaWH5+vrp06aLGjRs7WBkAAAAAwA4h25CmpqYqPT1d2dnZKikp0b59+7Rs2TKNGTPG6dIAAAAAADYI2YZUkh577DF9/fXX+tWvfqXx48dr2LBhGjt2rNNlAQAAAABsELLXkEpSmzZttGTJEqfLAAAAAAAEQUifIQUAAAAAuBcNKQAAAADAETSkAAAAAABH0JACAAAAABxBQwoAAAAAcAQNKQAAAADAETSkAAAAAABH0JACAAAAABxBQwoAAAAAcEQDpwsAANRf7969Ted+9NFHlsbu27ev6dwdO3ZYGhsAAEQ2zpACAAAAABxBQwoAAAAAcAQNKQAAAADAETSkAAAAAABH0JACAAAAABxBQwoAAAAAcAQNKQAAAADAETSkAAAAAABH0JACAAAAABxBQwoAAAAAcEQDpwuAv/bt25vO/fvf/x4Qa9SokSTp+eef17Fjx/y29enTp1612aWoqMh0bocOHQzjubm5AbGLLrrI9Lj/+te/TOcCTvnFL35hOveDDz4wnduwYUNLdeTl5ZnOjYuL83scHR1d87H682qVlZWW6kBkGTNmjOncF154IYiVuNuhQ4dqPm/Q4MdfC//5z3+qoqIiILdNmzZnrC4gXE2dOtVS/vz5803nnvq7bteuXSVJffv2VZMmTfy2vfvuu5bqcBJnSAEAAAAAjjB1hnThwoV1GnzKlCl1+joAAAAAgPuZakifeOIJnXfeeZYG3rp1Kw0pAAAAAKBWphrShg0bavny5ZYG7tWrV50KAgAAAABEBlPXkNblTCdnRwEAAAAAp2OqIZ00aZKpwe6++27LXwMAAAAAiEy2rrL72muv2TkcAAAAAMDFTN+HtLy8PJh1AAAAAAAijOmGtFevXvJ4PMGsBQAAAAAQQUw3pD169FDnzp01YMAAw+0+n8/vGlIAAAAAAE7HdEM6b948/fGPf9Sdd96pli1bGubcc889thXmJo0bNzadu3//flues1u3bvX6+iNHjpjOPeussyyNnZKSYrGa/8rIyFBubq769u2rvLy8Oo8DOGHnzp1+j+Pi4iRJq1at0vHjxwPyrcxjn89nOreiosJ0riSVlJSYzt29e7ff49jYWEnSyy+/rBMnTvhtq+/PKbjb7NmzTee+8MILQawk/LRo0cJ07uHDh2s+j4uLU4sWLfT9998b/kwC8PMeeeQRS/mVlZWmczdv3uz3uKysTJL0ySefhPXvxaYXNerRo4duvvlmrV27ttYcK78QAQAAAAAim+kzpJI0duzY027/5JNP6lUMAAAAACBy2HrbFwAAAAAAzKIhBQAAAAA4goYUAAAAAOAIGlIAAAAAgCNoSAEAAAAAjrCtIc3NzdWmTZvsGg4AAAAA4HKWbvtyOjNnztSBAwcCbooOAAAAAIAR2xrSZ555RhUVFXYNBwAAAABwOdsa0tatW9s1lOuUlpaazm3SpInp3Pfeey8g1qhRI6WmpurTTz/VsWPH/LYtXbrU9NhPPfWU6VwgkqWlpZnO7datm2H8nHPOMYx/8803pseePHmy6dy33nrLdK4k/fDDD6Zzq6qqDOPt27e39Jxwnx49ejhdQsT44osvTOf+5je/qfm8e/fuev7553X33Xdrz549wSgNCEsff/yx6VyrJ+gaNmxotZyA56qoqAjrE4OWG9Kqqipt2LBBn376qcrLywO233777bYUBgAAAABwN8sN6T333KOcnBy1aNFCsbGxfts8Hg8NKQAAAADAFMsN6euvv65FixZp4MCBwajHT/fu3dWwYUN5PJ6a2KhRozR79uygPzcAAAAAILgsN6TR0dH69a9/HYxaDK1bt07t2rU7Y88HAAAAADgzLN+HdPDgwdqyZUswagEAAAAARBBTZ0hfffXVms/T09N17733atCgQWrfvr2iov7b03o8Ho0aNcrWArOzs5WXl6eSkhJdeumlmjFjhho3bmzqazt27KhmzZr5xapX+QvV1f5OvS73dBo1ahQQi4uL8/v4U1ZWuczIyDCdeyaF+vHLy8tzugQAAAAgbJhqSGfMmBEQKywsDIjZ3ZD26dNHmZmZevDBB/XFF1/otttu0z333KOHHnrI1Nfv3btX0dHRhttWrlxpW52hqFOnTgGx1NRU019/55132lmO7UL1+P30emcAAAAAp2eqIS0oKAh2HYZycnJqPu/cubOysrJ088036/7771dMTMzPfn3Xrl0Nz5CuXLlSY8eOdWy/TsfKGdL/+7//C4jFxcWpU6dO2r9/v44fP+637bXXXjM99ksvvWQ690wK9eMHAAAAwDzLixpJ0ieffKKmTZuqQ4cOkqRt27bJ4/God+/ethZ3qnbt2qmyslKHDx9W27Ztfzbf6CxutYKCgpB8e6XRW21rc+zYsVq3HT9+PGC7lRtlh+L/zU+F6vEDAAAAYJ7lRY3Wr1+vsWPH6tNPP62JFRYW6uqrr9b69ettK2zXrl2aN2+eX2zfvn2KiYlRq1atbHseAAAAAIAzLJ8hffLJJ/XQQw9p8ODBNbHhw4crMTFRCxYs0JAhQ2wprEWLFsrJyVFSUpImTJigoqIiLViwQFdddVWt14UCAAAAAMKH5Yb04MGDuuSSSwLiF154obKysmwpSpJat26txYsXKzs7W0899ZRiYmI0fPhwTZ061bbnCEWnXvd5Or/61a8CYn369NGWLVt03XXXadu2bX7bSktLTY/91FNPmc4F3MbKH71OnWenM2zYML/HnTt31oIFCzRt2jTt27cvIN/KLba+/fZb07nBVFlZGRBr0KCBYRyR5afrQpjx3nvvBakS92vYsKHp3F27dtV8Xr0+R2FhoV8ccKM2bdqYzrVyWeILL7xQl3IimuWGtFWrVsrPzw84MFu2bFHz5s1tK0yS+vXrpxdffNHWMQEAAAAAocFyQzp27FhNmjRJQ4cOVfv27VVVVaX9+/drzZo1tp4hBQAAAAC4m+WG9Nprr1WjRo20cuVKrVq1StHR0UpJSdHMmTM1YsSIYNQIAAAAAHAhUw3ptm3b1KdPn5rHI0eO1MiRIy19DQAAAAAAP2Xqti/XXnut5YHr8jUAAAAAgMhh6gxpRUWFFi5caGlgVlQEAAAAAJyOqYa0b9++lm4/IEkZGRl1KggAAAAAEBlMNaTLly8Pdh0AAAAAgAhj6hpSAAAAAADsRkMKAAAAAHCE5fuQInSUl5cHxE6ePFnz8dTt48ePNz129ThmPP3006ZzJenmm2+2lA+caT/88IPp3NLSUtO5a9as8Xtcfa39e++9p7y8PNPjhDKfz2cpDtTm3//+d1DGTU1NNZ176uvVWWedJUmaPn26vvnmm4D8vn37mh47MzPTdO6hQ4dM50qSx+MxnXvs2LGaz8vKymo+/jQOuFFxcbHp3KNHj5rOtfL7Nn7EGVIAAAAAgCMsN6QzZswwjJeUlOimm26qd0EAAAAAgMhg+i27Xq9XR44c0dq1a3XTTTcFvP1q3759ev/9920vEAAAAADgTqYb0jVr1uiBBx5QVVWVLr300oDtPp/P0vUQAAAAAIDIZrohHTdunC6//HJlZmZq6dKlAdvj4+N17rnn2locAAAAAMC9LK2ym5iYqJdfflndu3cPVj0AAAAAgAhh+bYvzzzzzGm3z507t661AAAAAAAiiOWGdP/+/X6PKysr9cUXXygqKqrmnnoAAAAAAPwcyw1pTk5OQKyyslKPPvqo2rVrZ0tRAAAAAAD3s3wfUiPR0dGaPHmyFi9ebMdwAAAAAIAIYPkMaW2OHTumI0eO2DUcguCFF14wnfvaa6+Zzv3hhx8s1TF69GjTuc2bN7c0NmCHmJgY07mR8M6QV155xXTu0aNH/R5HR0eradOmOnbsmCorK+0uDWGkd+/elvKLiopM595///1WyzHliiuu8HvcvXt3XXXVVXr99de1Z8+egPxbbrklKHXMmjXLUv59990XlDqAULZ58+aAWOPGjSX9uAZOaWmp3zYrr0m9evWqX3E4LcsN6SOPPBIQKysr06ZNm9SjRw9bigIAAAAAuJ/lhvSNN94IiMXFxalLly66/fbbbSkKAAAAAOB+lhvSt99+Oxh1AAAAAAAiTJ2uIS0tLdW7776rQ4cOyePxKDk5WQMGDFB8fLzd9QEAAAAAXMpyQ7plyxbddNNNKisrU0JCgnw+n0pLS5WQkKCnn35affr0CUKZAAAAAAC3sXzbl7vvvlvDhw/XBx98oI8//lhbt27V5s2bddlll+muu+4KRo0AAAAAABey3JAWFxfrjjvu8LsdR1JSkv785z9bWqIdAAAAABDZLDek7dq1U0lJSUD82LFjat++vS1FAQAAAADcz3JDOnPmTN19993avn27SkpK9P3332v79u2aM2eOsrKyVF5eXvMPAAAAAIDaWF7U6MYbb1RFRYU2btzoF/f5fAG3hNm9e3e9igMAAAAAuJflhvS+++4LRh0AAAAAgAhjuSGtrKzUlVdeGRA/duyYVq5cqYkTJ9pSGJy1bNky07k+n8/S2AkJCVbLAULWkSNHnC7BsoKCAkv5cXFxpnNbtGjh9zgjI0O5ubkaNGiQ8vLyLD0vIltycrLTJQSorKyUJO3ateuMfj9fd911lvIvuOCCIFUChK7zzz+/1m1paWkBsbKyMtNjHzhwoC4lwSTL15DWdob06NGjeuyxx+pdEAAAAAAgMpg+Q7p06VItXbpU5eXlGjBgQMD2kpIStW3b1tbiAAAAAADuZbohHT16tFJSUnTLLbdo9OjRAdvj4+M1ZMgQW4sDAAAAALiX6Ya0UaNGuuiii3TXXXdp3LhxwawJAAAAABABLC9q1LhxY7366qu1bh82bFg9ygEAAAAARArLDemMGTOMB2rQQHFxcTSkAAAAAABTLDekn3zyid/jyspK7d+/X4sXL9b48eNtKwwAAAAA4G6Wb/sSExPj9y8+Pl5paWmaPXu27r333mDUCAAAAABwIcsNaW0SExN18OBBu4YDAAAAALic5bfsbtq0KSB2/PhxrV27Vm3atLGlKAAAAACA+1luSCdOnCiPxyOfz+cXb9asmebNm2dbYfh5jz76aEDsrLPOkiRNmzZN33zzjd+2KVOmBKWOyspKS/lxcXFBqQNwwr/+9S/TuaNGjfJ73Lx585qP1XP3p7Zt22Z6bKOvr82BAwdM50pSSkqKpXwAzrrgggtM527ZsiWIlQD1s337dtO5p/YmP7etS5cudaoJ9rPckL711lsBsbi4OCUlJcnj8dhSFAAAAADA/SxfQ5qcnKzk5GTFx8ercePGSk5OVosWLercjL733nvKzMzU1KlTA7atXbtWl19+uTIyMjRixAjDtwsDAAAAAMKTpTOkpaWl+utf/6rXX39d33//vSSpRYsWGjFihCZPnqzY2FhLT75kyRKtWrVKHTp0CNi2e/duTZ8+XQsXLtQFF1ygN998U1OmTNG6deu4VhUAAAAAXMD0GdITJ07ommuu0T//+U9dffXVevzxx/XQQw9p5MiRev311zVhwgSdPHnS0pPHxsbW2pC+9NJLGjhwoAYOHKjY2FgNHTpU3bp10+rVqy09BwAAAAAgNJk+Q/rss89Kkt544w0lJCT4bbvhhhs0YcIErVixQhMmTDD95OPHj691286dOzVw4EC/WGpqqvLz802P37FjRzVr1swv1qNHD7+P4cxoEZOfLpJyplh9u3ZGRkadnyvUj19eXp7TJQAAAABhw3RDum7dOt15550BzagkJSQkaPr06Zo3b56lhvR0vF6vmjZt6hdr2rSpPvvsM9Nj7N27V9HR0YbbVq5cWa/6Qt3vfvc7p0uoVW5ubr3HCNXjx8JeAAAAgHmmG9KDBw+qb9++tW7PyMiwfCuBn3O65ZvN6Nq1q+EZ0pUrV2rs2LEqKCio1/hOmzZtWkCsefPm+t3vfqe1a9fqyJEjftuuuuqqoNRRVVVlKd/KcvSnctPxAwAAACKd6Ya0qqpKUVG1X3IaFRVluTE5nebNm8vr9frFvF6vkpKSTI9RWFhY67aCgoKwf3vlqfcZ/akjR46cdrudrP7hwI7/dzccPwAAACDSmV7U6Oyzzz7tGakdO3aobdu2thQlST179tSOHTv8Yvn5+erdu7dtzwEAAAAAcI7phvSiiy7SI488YngW9OTJk5o/f74GDx5sW2GjRo3S5s2btXHjRp04cUKrVq3SgQMHNHToUNueAwAAAADgHNNv2b3hhhs0fPhwXXHFFbr++uvVuXNnVVZWau/evXr66afl8/k0ceJES0+enp4uSaqoqJAkbdiwQdKPZ0K7deumhx9+WHPnzlVRUZG6dOmiRYsWGa4sG+pO99bhU7Vr186W5zS6XrS8vNz015967e3pWL3dDxDqrHxPDxgwwHTuf/7zH8P4m2++aRhv0MD8raJZUAtAtbFjx5rOXbBgQRArAeonLS3NdG5tC5lKxq+nX331VZ1qgv1M/7bTrFkzrVy5UnPmzNHMmTPl8/nk8/kUHR2tiy++WLNmzVKTJk0sPfnP3cJlyJAhGjJkiKUxAQAAAADhwfyf3yW1bdtWixYt0vfff6+DBw9Kkjp16mR4KxgAAAAAAE7HUkNarWnTpurVq5fdtQAAAAAAIojpRY0AAAAAALATDSkAAAAAwBE0pAAAAAAAR9CQAgAAAAAcQUMKAAAAAHAEDSkAAAAAwBE0pAAAAAAAR9TpPqSQTp48GZRx16xZYzp37NixAbE+ffro/fff18CBA7Vt2za/bceOHatveUBEaNSo0Rl5noyMDOXm5ur8889XXl7eGXlOAOFn4cKFlvJHjx4dpEqAM8vK765NmjQJYiUIJs6QAgAAAAAcQUMKAAAAAHAEDSkAAAAAwBE0pAAAAAAAR9CQAgAAAAAcQUMKAAAAAHAEDSkAAAAAwBE0pAAAAAAAR9CQAgAAAAAcQUMKAAAAAHAEDSkAAAAAwBENnC4gXDVs2NDpEgyVlZXVfDx27JjD1QAAgPp69NFHg5oPhKrExMR6fX1GRoZyc3PVt29f5eXl2VQV7MYZUgAAAACAI2hIAQAAAACOoCEFAAAAADiChhQAAAAA4AgaUgAAAACAI2hIAQAAAACOoCEFAAAAADiChhQAAAAA4AgaUgAAAACAI2hIAQAAAACO8Ph8Pp/TRQAAAAAAIg9nSAEAAAAAjqAhBQAAAAA4goYUAAAAAOAIGlIAAAAAgCNoSAEAAAAAjqAhBQAAAAA4goYUAAAAAOAIGlIAAAAAgCNoSAEAAAAAjqAhBQAAAAA4goYUAAAAAOCIiGlIi4qKNGnSJPXv31+DBg3S/PnzVVVV5XRZtunevbt69uyp9PT0mn/33Xef02XVy3vvvafMzExNnTo1YNvatWt1+eWXKyMjQyNGjNCmTZscqBDBxJwNP8zZyMacDT/M2cjGnA0/bp2zDZwu4Ey55ZZblJaWpg0bNujw4cO68cYb1bJlS1133XVOl2abdevWqV27dk6XYYslS5Zo1apV6tChQ8C23bt3a/r06Vq4cKEuuOACvfnmm5oyZYrWrVunNm3aOFAtgoE5G16Ys2DOhhfmLJiz4cXNczYizpDm5+eroKBAWVlZatKkiVJSUjRhwgTl5OQ4XRpqERsbW+uke+mllzRw4EANHDhQsbGxGjp0qLp166bVq1c7UCmCgTkbfpizkY05G36Ys5GNORt+3DxnI6Ih3blzp5KTk9W0adOaWFpamgoLC1VSUuJgZfbKzs7WhRdeqPPOO0+zZ89WaWmp0yXV2fjx49WkSRPDbTt37lRqaqpfLDU1Vfn5+WeiNJwBzNnww5yNbMzZ8MOcjWzM2fDj5jkbEQ2p1+tVYmKiX6x6Ah45csSJkmzXp08fZWZmav369crJydG2bdt0zz33OF1WUHi9Xr8foNKPx9MtxxLMWbdhzrofc9ZdmLPux5x1l3CfsxHRkEqSz+dzuoSgysnJ0ciRIxUTE6POnTsrKytLb7zxhsrLy50uLSjcfjzh/mPMnIXbuP0YM2fhNm4/xszZ8BERDWlSUpK8Xq9fzOv1yuPxKCkpyZmigqxdu3aqrKzU4cOHnS7Fds2bNzc8nm49lpGIOesuzFn3Y866C3PW/Ziz7hLuczYiGtKePXuquLhY3333XU0sPz9fXbp0UePGjR2szB67du3SvHnz/GL79u1TTEyMWrVq5VBVwdOzZ0/t2LHDL5afn6/evXs7VBHsxpx1F+as+zFn3YU5637MWXcJ9zkbEQ1pamqq0tPTlZ2drZKSEu3bt0/Lli3TmDFjnC7NFi1atFBOTo4WL16s8vJyFRYWasGCBbrqqqsUHR3tdHm2GzVqlDZv3qyNGzfqxIkTWrVqlQ4cOKChQ4c6XRpswpx1F+as+zFn3YU5637MWXcJ9znr8YXzG44tOHTokGbPnq0PP/xQCQkJGj16tKZMmSKPx+N0abb46KOPlJ2drT179igmJkbDhw/X1KlTFRsb63RpdZKeni5JqqiokCQ1aPDjLXOrVwtbv369srOzVVRUpC5dumjmzJnq16+fM8UiKJiz4YU5C+ZseGHOgjkbXtw8ZyOmIQUAAAAAhJaIeMsuAAAAACD00JACAAAAABxBQwoAAAAAcAQNKQAAAADAETSkAAAAAABH0JACAAAAABxBQwoAAAAAcAQNKQAAAADAETSkAAAAAABH0JACAAAAABxBQwoAAAAAcAQNKQAAAADAETSkAAAAAABH0JACAAAAABxBQwoAAAAAcAQNKQAAAADAETSkAAAAAABHNHC6gGAqKysLiHk8HsXGxurEiRPy+XwOVBVc7J/z4uPjnS4hbB0/ftzvscfjUUxMjMrLy0P2eNeH2/dPCo99jIuLc7qEsHXq62w4/IyuD/YvNPA6WzenvsZK4fEzuj7YP+eZeY0N6TOkRUVFmjRpkvr3769BgwZp/vz5qqqqqve4Ho/HhupCF/sHN3H78Xb7/kmRsY/4L7cfb/YPbuP2Y87+hb6QPkN6yy23KC0tTRs2bNDhw4d14403qmXLlrruuuucLg0AAAAAUE8he4Y0Pz9fBQUFysrKUpMmTZSSkqIJEyYoJyfH6dIAAAAAADYI2TOkO3fuVHJyspo2bVoTS0tLU2FhoUpKSpSQkPCzYxidwq6OueH0thH2z1mh+v59AAAAIBSFbEPq9XqVmJjoF6tuTo8cOWKqIY2Nja21cYmNja1/kSGM/XOG0UJaAAAAAIyFbEMq1f9s04kTJwJi4bKCXF2xfwAAAADCRcg2pElJSfJ6vX4xr9crj8ejpKQkU2OcrmHx+XyubmjYPwAAAAChLmQXNerZs6eKi4v13Xff1cTy8/PVpUsXNW7c2MHKAAAAAAB2CNmGNDU1Venp6crOzlZJSYn27dunZcuWacyYMU6XBgAAAACwQcg2pJL02GOP6euvv9avfvUrjR8/XsOGDdPYsWOdLgsAAAAAYIOQvYZUktq0aaMlS5Y4XQYAAAAAIAhC+gwpAAAAAMC9aEgBAAAAAI6gIQUAAAAAOIKGFAAAAADgCBpSAAAAAIAjaEgBAAAAAI6gIQUAAAAAOIKGFAAAAADgCBpSAAAAAIAjaEgBAAAAAI5o4HQBOHOiosz//SEmJsZ07iuvvGKpjtWrV5vOTUxM9Hvcrl07/fnPf9Zjjz2mL7/80m/bU089ZXrcH374wXQuEA6szNkGDYL3o//YsWNBGxuA/SoqKmo+r/49obKyUlVVVQG5TZo0MT1uWVlZ/YsDIsA///lP07lDhw71e5yRkaHc3Fz98pe/VF5ent+2cJqDnCEFAAAAADiChhQAAAAA4AgaUgAAAACAI2hIAQAAAACOoCEFAAAAADiChhQAAAAA4AgaUgAAAACAI2hIAQAAAACOoCEFAAAAADiChhQAAAAA4IgGThcAf2eddZbp3NLS0oBYRkaGcnNzlZmZqby8PDtLs82nn35qOjchIcHvcYMGP37LXnfddaqoqPDb9thjj5ket6yszHQuEA6q50YwfP7556ZzGzVq5Pc4IyNDW7duNfyZdOzYMVvqgzutW7fOdO4ll1wSxErcbcGCBTWft2nTRhMnTtQLL7ygQ4cOBeTOmjXrTJYGRIRhw4aZzvV4PIaPPR5PwLZwwhlSAAAAAIAjTP1JfeHChXUafMqUKXX6OgAAAACA+5lqSJ944gmdd955lgbeunUrDSkAAAAAoFamGtKGDRtq+fLllgbu1atXnQoCAAAAAEQGU9eQ1uVMJ2dHAQAAAACnY6ohnTRpkiSpuLhYa9euVW5urmHe3XffHfA1AAAAAAAYMb3K7ubNm3XppZfq9ttv17hx43TzzTfr+PHjfjmvvfaa7QUCAAAAANzJdEO6YMECjR8/Xlu3btXf//53FRUVafLkyaqsrKzJ8fl8QSkSAAAAAOA+phvS/fv3a8qUKWrcuLHOPfdcrVixQv/5z3/00EMP1eSE8w1ZAQAAAABnlumGNDY2VmVlZTWPmzRpoieffFKvvPKKXnnlFUmcIQUAAAAAmGfqti+S1K9fP917772688471bJlS0lSx44dtWDBAk2ePFk//PADZ0htsG/fPtO5Bw8eDIg1atRIkvTcc8/p2LFjftv69+9veuyKigrTuVFRpv+uIUkB1x5bUf091qRJk4A/gPz0DyZAKGrYsKFhvEED4x/FteUb+Z//+R/TuW+++abpXEk6++yzTeeeOi+rH/t8Pv5oCUtuvfVW07l79uwJYiXuNnv27JrPMzIyNHHiRD355JPKy8sLyJ02bdqZLA0ISx06dAja2Kf+bl/9e/HmzZvD+jXWdCeRlZWl/Px8PfLII37xX/7yl/rb3/6mZ555RuXl5bYXCAAAAABwJ9NnSJOTk/XGG2/om2++Cdh2/vnna82aNdqwYYOtxQEAAAAA3MvSey1jYmKUnJxsuK1Ro0YaOnSoLUUBAAAAANzP2sV/AAAAAADYhIYUAAAAAOAIGlIAAAAAgCNoSAEAAAAAjrCtIc3NzdWmTZvsGg4AAAAA4HKmb/vyc2bOnKkDBw5o9+7ddg0JAAAAAHAx2xrSZ555RhUVFXYNBwAAAABwOdsa0tatW9s1VERLTEw0nZuenh4Q83g8kqQuXbrI5/PVuQ4rf1yoqqqq8/MA4S4uLs50blSU/1USGRkZ2rp1q84//3zl5eUF5BvN8dq88sorpnOtKi8vN51b/TPo1Mcejydg25133ml63Llz55rOhTt88cUXTpcQtuLj450uAXAVK6/13377raWxv//+e6vluI7lhrSqqkobNmzQp59+avhLyu23325LYQAAAAAAd7PckN5zzz3KyclRixYtFBsb67fN4/HY2pB2795dDRs29Pur+qhRozR79mzbngMAAAAA4AzLDenrr7+uRYsWaeDAgcGoJ8C6devUrl27M/JcAAAAAIAzx/JtX6Kjo/XrX/86GLUAAAAAACKI5TOkgwcP1pYtW/TLX/4yGPUEyM7OVl5enkpKSnTppZdqxowZaty4samvPXUBjZ/GjLa5wen2LyMjw/I4dufWV6gfv/osJAUAAABEGlMN6auvvlrzeXp6uu69914NGjRI7du391s10uPxaNSoUbYV16dPH2VmZurBBx/UF198odtuu0333HOPHnroIVNfHxsbW2vjcur1r25jtH+5ubkOVBIcoXr8ysrKnC4BAAAACBumGtIZM2YExAoLCwNidjekOTk5NZ937txZWVlZuvnmm3X//fcrJibmZ7/+xIkThjXGxsbqxIkTrjybdbr9y8zMND3Ov//9b9O5Z/K2L24/fgAAAEAkMdWQFhQUBLsOU9q1a6fKykodPnxYbdu2/dn80zUsPp/P1Q2N0f4Z3efwdF8fjFy7uP34AQAAAJHA8qJGkvTJJ5/o4MGDNY+3bdum7du321aUJO3atUvz5s3zi+3bt08xMTFq1aqVrc8FAAAAADjzLDek69ev19ixY/Xpp5/WxAoLC3X11Vdr/fr1thXWokUL5eTkaPHixSovL1dhYaEWLFigq666StHR0bY9DwAAAADAGZYb0ieffFIPPfSQBg8eXBMbPny4/vrXv2rhwoW2Fda6dWstXrxYb7/9tvr376/Ro0fr17/+te644w7bngMAAAAA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+93vlJ+fH5D/7bffmh7bihdeeMFS/hVXXBGUOgAAOJ2YmJigjf3UU08FbWxYY7khfeuttwJicXFxSkpKsvRLHAAAAAAgslm+hjQ5OVnJycmKj49X48aNlZycrBYtWtS5GX3vvfeUmZmpqVOnBmxbu3atLr/8cmVkZGjEiBGGbxcGAAAAAIQnS2dIS0tL9de//lWvv/66vv/+e0lSixYtNGLECE2ePFmxsbGWnnzJkiVatWqVOnToELBt9+7dmj59uhYuXKgLLrhAb775pqZMmaJ169ZxrSoAAAAAuIDphvTEiRO65ppr9N133+nqq69Wjx49VFZWpv379+vVV1/VRx99pOeee04NGzY0/eSxsbFatWqV/vKXv+jEiRN+21566SUNHDhQAwcOlCQNHTpUzz//vFavXq1JkyaZGt/orG11zA1vL05NTQ2IderUye/jTzVq1CgodTRoYO2d3/X5vw/143fqtdUAAAAAame6k3j22WclSW+88YYSEhL8tt1www2aMGGCVqxYoQkTJph+8vHjx9e6befOnTXNaLXU1FTDhT9qExsbW2vjYvVsbij6+9//Xuu2hx9++AxWcuaF6vErKytzugQAAAAgbJhuSNetW6c777wzoBmVpISEBE2fPl3z5s2z1JCejtfrDViNtWnTpvrss89Mj3HqWVfpxzNrsbGxOnHiREiezYqLizOdO2LEiIBYp06d9PDDDysrK0v79+/323bgwIH6lmdo/fr1lvKNvofMCvXjBwAAAMA80w3pwYMH1bdv31q3Z2Rk2N7w1LfhON3X+3y+sG9oTr2ty0/t37//jN32paKiwlK+Hf/vbjh+AAAAQKQzvcpuVVWVoqJqT4+KilJVVZUtRUlS8+bN5fV6/WJer1dJSUm2PQcAAAAAwDmmG9Kzzz5bBQUFtW7fsWOH2rZta0tRktSzZ0/t2LHDL5afn6/evXvb9hwAAAAAAOeYbkgvuugiPfLII4ZnQU+ePKn58+dr8ODBthU2atQobd68WRs3btSJEye0atUqHThwQEOHDrXtOQAAAAAAzjF9DekNN9yg4cOH64orrtD111+vzp07q7KyUnv37tXTTz8tn8+niRMnWnry9PR0Sf+9BnHDhg2SfjwT2q1bNz388MOaO3euioqK1KVLFy1atEhnnXWWpecIFiu3Omnfvr3p3K+++qou5dSovrXL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hvGtW7cGxObMmWN63Hvvvdd0LhAO8vLyTOf26dPH0tj5+fmmc3v16mVpbADOqqqqCogZvcZKUlQU5zEAu5WWlprOPfU1tn379jUfjx496rdt37599S/uDOEnCwAAAADAETSkAAAAAABH0JACAAAAABxBQwoAAAAAcAQNKQAAAADAETSkAAAAAABH0JACAAAAABxBQwoAAAAAcAQNKQAAAADAETSkAAAAAABHNHC6gEjQqlUr07kffvih6dwrrrgiINatW7eaj1VVVX7btm3bZnpsK6ZNm2Ypf82aNaZz//Of//g9btiwoc466yx98803OnnypN+2TZs2WaoDONM8Ho+lbf/+979Nj92nTx/Tua1btzadK0np6emmc++66y6/x23btpUkXXfddbrkkkv8ts2dO9dSHYgsCxYsMJ176623BrESd+vatWvN56mpqXrttdd0xRVXaNeuXQ5WBYSvmTNnWsqPj483nTts2DC/xx07dpQkderUKeD3iH379lmqw0mcIQUAAAAAOMLUGdKFCxfWafApU6bU6esAAAAAAO5nqiF94okndN5551kaeOvWrTSkAAAAAIBamWpIGzZsqOXLl1sauFevXnUqCAAAAAAQGUxdQ1qXM52cHQUAAAAAnI6pM6STJk2SJO3du1d79uxRZmamkpKStH//fr3wwgtq0KCBBg8erL59+wZ8DQAAAAAARkzf9mXDhg269dZbVVlZqTZt2mjp0qUaM2aMWrdurZMnT+q5557TE088oQsvvDCI5QIAAAAA3ML0bV8WL16syZMn66OPPtIll1yiO++8U2PGjNHq1av1j3/8Q9OmTdPf/va3YNYKAAAAAHAR0w3pgQMHNHHiRDVp0kSTJk3SJ598ovHjx9dsHzdunPbv3x+UIgEAAAAA7mO6IfV4PKqqqpIkJSUlqUGDBkpKSqrZfvLkSZ08edL+CgEAAAAArmT6GtK0tDQ9/fTTmjx5sjwejz744AO/7QsXLuRWL7U4duyY6dxp06aZzt22bVtAzOPxSJL27NkTsL1169amx969e7fp3BtvvNF0riT9/ve/t5T/UxkZGdq6dasuueQS5eXl1XkcwAndu3f3e5ySklLzsaysLCD//PPPNz22lUsmbr31VtO5kvT++++bzn300Uf9HpeXl0uSDh48qAMHDlh6XkS2Dz/80OkSwtapv6Odzltv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\n"
396
          },
397
          "metadata": {}
398
        }
399
      ],
400
      "source": [
401
        "n_samples = 4\n",
402
        "n_channels = 4\n",
403
        "fig, axes = plt.subplots(1 + n_channels, n_samples, figsize=(10, 10))\n",
404
        "for k in range(n_samples):\n",
405
        "    axes[0, 0].set_ylabel(\"Input\")\n",
406
        "    if k != 0:\n",
407
        "        axes[0, k].yaxis.set_visible(False)\n",
408
        "    axes[0, k].imshow(train_images[k, :, :, 0], cmap=\"gray\")\n",
409
        "\n",
410
        "    # Plot all output channels\n",
411
        "    for c in range(n_channels):\n",
412
        "        axes[c + 1, 0].set_ylabel(\"Output [ch. {}]\".format(c))\n",
413
        "        if k != 0:\n",
414
        "            axes[c, k].yaxis.set_visible(False)\n",
415
        "        axes[c + 1, k].imshow(q_train_images[k, :, :, c], cmap=\"gray\")\n",
416
        "\n",
417
        "plt.tight_layout()\n",
418
        "plt.show()"
419
      ]
420
    },
421
    {
422
      "cell_type": "markdown",
423
      "metadata": {
424
        "id": "Xbb_JQc5O5ko"
425
      },
426
      "source": [
427
        "Below each input image, the $4$ output channels generated by the quantum\n",
428
        "convolution are visualized in gray scale.\n",
429
        "\n",
430
        "One can clearly notice the downsampling of the resolution and some local\n",
431
        "distortion introduced by the quantum kernel. On the other hand the\n",
432
        "global shape of the image is preserved, as expected for a convolution\n",
433
        "layer.\n"
434
      ]
435
    },
436
    {
437
      "cell_type": "markdown",
438
      "metadata": {
439
        "id": "-cWaCFFkO5ko"
440
      },
441
      "source": [
442
        "Hybrid quantum-classical model\n",
443
        "==============================\n",
444
        "\n",
445
        "After the application of the quantum convolution layer we feed the\n",
446
        "resulting features into a classical neural network that will be trained\n",
447
        "to classify the $10$ different digits of the MNIST dataset.\n",
448
        "\n",
449
        "We use a very simple model: just a fully connected layer with 10 output\n",
450
        "nodes with a final *softmax* activation function.\n",
451
        "\n",
452
        "The model is compiled with a *stochastic-gradient-descent* optimizer,\n",
453
        "and a *cross-entropy* loss function.\n"
454
      ]
455
    },
456
    {
457
      "cell_type": "code",
458
      "execution_count": 34,
459
      "metadata": {
460
        "id": "fB9gWCXdO5ko"
461
      },
462
      "outputs": [],
463
      "source": [
464
        "def MyModel():\n",
465
        "    \"\"\"Initializes and returns a custom Keras model\n",
466
        "    which is ready to be trained.\"\"\"\n",
467
        "    model = keras.models.Sequential([\n",
468
        "        keras.layers.Flatten(),\n",
469
        "        keras.layers.Dense(10, activation=\"softmax\")\n",
470
        "    ])\n",
471
        "\n",
472
        "    model.compile(\n",
473
        "        optimizer='adam',\n",
474
        "        loss=\"sparse_categorical_crossentropy\",\n",
475
        "        metrics=[\"accuracy\"],\n",
476
        "    )\n",
477
        "    return model"
478
      ]
479
    },
480
    {
481
      "cell_type": "markdown",
482
      "metadata": {
483
        "id": "8UIfnIfKO5ko"
484
      },
485
      "source": [
486
        "Training\n",
487
        "========\n",
488
        "\n",
489
        "We first initialize an instance of the model, then we train and validate\n",
490
        "it with the dataset that has been already pre-processed by a quantum\n",
491
        "convolution.\n"
492
      ]
493
    },
494
    {
495
      "cell_type": "code",
496
      "execution_count": 35,
497
      "metadata": {
498
        "colab": {
499
          "base_uri": "https://localhost:8080/",
500
          "height": 0
501
        },
502
        "id": "ZyRw2FoPO5ko",
503
        "outputId": "49e28bdb-c119-4e84-b14e-2baf2e374ba9"
504
      },
505
      "outputs": [
506
        {
507
          "output_type": "stream",
508
          "name": "stdout",
509
          "text": [
510
            "Epoch 1/30\n",
511
            "13/13 - 1s - loss: 2.7519 - accuracy: 0.1400 - val_loss: 2.0305 - val_accuracy: 0.3333 - 553ms/epoch - 43ms/step\n",
512
            "Epoch 2/30\n",
513
            "13/13 - 0s - loss: 2.0268 - accuracy: 0.2800 - val_loss: 1.9366 - val_accuracy: 0.3667 - 65ms/epoch - 5ms/step\n",
514
            "Epoch 3/30\n",
515
            "13/13 - 0s - loss: 1.6735 - accuracy: 0.5000 - val_loss: 1.8552 - val_accuracy: 0.3333 - 70ms/epoch - 5ms/step\n",
516
            "Epoch 4/30\n",
517
            "13/13 - 0s - loss: 1.3012 - accuracy: 0.5600 - val_loss: 1.5760 - val_accuracy: 0.6333 - 49ms/epoch - 4ms/step\n",
518
            "Epoch 5/30\n",
519
            "13/13 - 0s - loss: 1.0967 - accuracy: 0.8000 - val_loss: 1.5045 - val_accuracy: 0.6000 - 60ms/epoch - 5ms/step\n",
520
            "Epoch 6/30\n",
521
            "13/13 - 0s - loss: 0.9105 - accuracy: 0.8200 - val_loss: 1.4579 - val_accuracy: 0.6333 - 48ms/epoch - 4ms/step\n",
522
            "Epoch 7/30\n",
523
            "13/13 - 0s - loss: 0.7318 - accuracy: 0.9200 - val_loss: 1.3763 - val_accuracy: 0.6333 - 64ms/epoch - 5ms/step\n",
524
            "Epoch 8/30\n",
525
            "13/13 - 0s - loss: 0.6091 - accuracy: 0.9600 - val_loss: 1.2902 - val_accuracy: 0.6333 - 66ms/epoch - 5ms/step\n",
526
            "Epoch 9/30\n",
527
            "13/13 - 0s - loss: 0.5241 - accuracy: 0.9400 - val_loss: 1.2351 - val_accuracy: 0.7333 - 54ms/epoch - 4ms/step\n",
528
            "Epoch 10/30\n",
529
            "13/13 - 0s - loss: 0.4245 - accuracy: 1.0000 - val_loss: 1.2678 - val_accuracy: 0.6333 - 64ms/epoch - 5ms/step\n",
530
            "Epoch 11/30\n",
531
            "13/13 - 0s - loss: 0.3945 - accuracy: 1.0000 - val_loss: 1.1987 - val_accuracy: 0.7000 - 61ms/epoch - 5ms/step\n",
532
            "Epoch 12/30\n",
533
            "13/13 - 0s - loss: 0.3465 - accuracy: 1.0000 - val_loss: 1.2118 - val_accuracy: 0.6667 - 60ms/epoch - 5ms/step\n",
534
            "Epoch 13/30\n",
535
            "13/13 - 0s - loss: 0.2997 - accuracy: 1.0000 - val_loss: 1.1535 - val_accuracy: 0.6667 - 57ms/epoch - 4ms/step\n",
536
            "Epoch 14/30\n",
537
            "13/13 - 0s - loss: 0.2858 - accuracy: 0.9800 - val_loss: 1.1170 - val_accuracy: 0.7000 - 57ms/epoch - 4ms/step\n",
538
            "Epoch 15/30\n",
539
            "13/13 - 0s - loss: 0.2315 - accuracy: 1.0000 - val_loss: 1.1133 - val_accuracy: 0.6667 - 52ms/epoch - 4ms/step\n",
540
            "Epoch 16/30\n",
541
            "13/13 - 0s - loss: 0.2078 - accuracy: 1.0000 - val_loss: 1.1251 - val_accuracy: 0.6667 - 53ms/epoch - 4ms/step\n",
542
            "Epoch 17/30\n",
543
            "13/13 - 0s - loss: 0.1958 - accuracy: 1.0000 - val_loss: 1.0881 - val_accuracy: 0.7667 - 62ms/epoch - 5ms/step\n",
544
            "Epoch 18/30\n",
545
            "13/13 - 0s - loss: 0.1748 - accuracy: 1.0000 - val_loss: 1.0912 - val_accuracy: 0.6667 - 56ms/epoch - 4ms/step\n",
546
            "Epoch 19/30\n",
547
            "13/13 - 0s - loss: 0.1596 - accuracy: 1.0000 - val_loss: 1.1007 - val_accuracy: 0.6667 - 63ms/epoch - 5ms/step\n",
548
            "Epoch 20/30\n",
549
            "13/13 - 0s - loss: 0.1491 - accuracy: 1.0000 - val_loss: 1.0535 - val_accuracy: 0.7000 - 62ms/epoch - 5ms/step\n",
550
            "Epoch 21/30\n",
551
            "13/13 - 0s - loss: 0.1348 - accuracy: 1.0000 - val_loss: 1.0851 - val_accuracy: 0.6667 - 66ms/epoch - 5ms/step\n",
552
            "Epoch 22/30\n",
553
            "13/13 - 0s - loss: 0.1243 - accuracy: 1.0000 - val_loss: 1.0655 - val_accuracy: 0.6667 - 61ms/epoch - 5ms/step\n",
554
            "Epoch 23/30\n",
555
            "13/13 - 0s - loss: 0.1169 - accuracy: 1.0000 - val_loss: 1.0394 - val_accuracy: 0.6667 - 69ms/epoch - 5ms/step\n",
556
            "Epoch 24/30\n",
557
            "13/13 - 0s - loss: 0.1084 - accuracy: 1.0000 - val_loss: 1.0366 - val_accuracy: 0.6667 - 62ms/epoch - 5ms/step\n",
558
            "Epoch 25/30\n",
559
            "13/13 - 0s - loss: 0.1047 - accuracy: 1.0000 - val_loss: 1.0292 - val_accuracy: 0.7333 - 64ms/epoch - 5ms/step\n",
560
            "Epoch 26/30\n",
561
            "13/13 - 0s - loss: 0.0942 - accuracy: 1.0000 - val_loss: 1.0356 - val_accuracy: 0.6667 - 49ms/epoch - 4ms/step\n",
562
            "Epoch 27/30\n",
563
            "13/13 - 0s - loss: 0.0895 - accuracy: 1.0000 - val_loss: 1.0272 - val_accuracy: 0.6667 - 65ms/epoch - 5ms/step\n",
564
            "Epoch 28/30\n",
565
            "13/13 - 0s - loss: 0.0884 - accuracy: 1.0000 - val_loss: 1.0125 - val_accuracy: 0.7667 - 66ms/epoch - 5ms/step\n",
566
            "Epoch 29/30\n",
567
            "13/13 - 0s - loss: 0.0808 - accuracy: 1.0000 - val_loss: 1.0413 - val_accuracy: 0.6667 - 69ms/epoch - 5ms/step\n",
568
            "Epoch 30/30\n",
569
            "13/13 - 0s - loss: 0.0753 - accuracy: 1.0000 - val_loss: 1.0156 - val_accuracy: 0.7000 - 74ms/epoch - 6ms/step\n"
570
          ]
571
        }
572
      ],
573
      "source": [
574
        "q_model = MyModel()\n",
575
        "\n",
576
        "q_history = q_model.fit(\n",
577
        "    q_train_images,\n",
578
        "    train_labels,\n",
579
        "    validation_data=(q_test_images, test_labels),\n",
580
        "    batch_size=4,\n",
581
        "    epochs=n_epochs,\n",
582
        "    verbose=2,\n",
583
        ")"
584
      ]
585
    },
586
    {
587
      "cell_type": "markdown",
588
      "metadata": {
589
        "id": "eNmhATJPO5ko"
590
      },
591
      "source": [
592
        "In order to compare the results achievable with and without the quantum\n",
593
        "convolution layer, we initialize also a \\\"classical\\\" instance of the\n",
594
        "model that will be directly trained and validated with the raw MNIST\n",
595
        "images (i.e., without quantum pre-processing).\n"
596
      ]
597
    },
598
    {
599
      "cell_type": "code",
600
      "execution_count": 36,
601
      "metadata": {
602
        "colab": {
603
          "base_uri": "https://localhost:8080/",
604
          "height": 0
605
        },
606
        "id": "C-xedbZAO5ko",
607
        "outputId": "5657287f-b893-4e5a-d46f-1a1a50e271dc"
608
      },
609
      "outputs": [
610
        {
611
          "output_type": "stream",
612
          "name": "stdout",
613
          "text": [
614
            "Epoch 1/30\n",
615
            "13/13 - 0s - loss: 2.3094 - accuracy: 0.2000 - val_loss: 2.0141 - val_accuracy: 0.4000 - 459ms/epoch - 35ms/step\n",
616
            "Epoch 2/30\n",
617
            "13/13 - 0s - loss: 1.9407 - accuracy: 0.4600 - val_loss: 1.8834 - val_accuracy: 0.4000 - 55ms/epoch - 4ms/step\n",
618
            "Epoch 3/30\n",
619
            "13/13 - 0s - loss: 1.6517 - accuracy: 0.6200 - val_loss: 1.7773 - val_accuracy: 0.5333 - 63ms/epoch - 5ms/step\n",
620
            "Epoch 4/30\n",
621
            "13/13 - 0s - loss: 1.4301 - accuracy: 0.7200 - val_loss: 1.6670 - val_accuracy: 0.5667 - 49ms/epoch - 4ms/step\n",
622
            "Epoch 5/30\n",
623
            "13/13 - 0s - loss: 1.2416 - accuracy: 0.8000 - val_loss: 1.5680 - val_accuracy: 0.6000 - 44ms/epoch - 3ms/step\n",
624
            "Epoch 6/30\n",
625
            "13/13 - 0s - loss: 1.0862 - accuracy: 0.8800 - val_loss: 1.4875 - val_accuracy: 0.6333 - 42ms/epoch - 3ms/step\n",
626
            "Epoch 7/30\n",
627
            "13/13 - 0s - loss: 0.9513 - accuracy: 0.9000 - val_loss: 1.4303 - val_accuracy: 0.6333 - 45ms/epoch - 3ms/step\n",
628
            "Epoch 8/30\n",
629
            "13/13 - 0s - loss: 0.8371 - accuracy: 0.9400 - val_loss: 1.3681 - val_accuracy: 0.6667 - 52ms/epoch - 4ms/step\n",
630
            "Epoch 9/30\n",
631
            "13/13 - 0s - loss: 0.7426 - accuracy: 0.9400 - val_loss: 1.3174 - val_accuracy: 0.7333 - 52ms/epoch - 4ms/step\n",
632
            "Epoch 10/30\n",
633
            "13/13 - 0s - loss: 0.6604 - accuracy: 0.9400 - val_loss: 1.2843 - val_accuracy: 0.7333 - 39ms/epoch - 3ms/step\n",
634
            "Epoch 11/30\n",
635
            "13/13 - 0s - loss: 0.5974 - accuracy: 0.9600 - val_loss: 1.2472 - val_accuracy: 0.7333 - 53ms/epoch - 4ms/step\n",
636
            "Epoch 12/30\n",
637
            "13/13 - 0s - loss: 0.5392 - accuracy: 0.9600 - val_loss: 1.2388 - val_accuracy: 0.7000 - 47ms/epoch - 4ms/step\n",
638
            "Epoch 13/30\n",
639
            "13/13 - 0s - loss: 0.4874 - accuracy: 1.0000 - val_loss: 1.2120 - val_accuracy: 0.7000 - 47ms/epoch - 4ms/step\n",
640
            "Epoch 14/30\n",
641
            "13/13 - 0s - loss: 0.4406 - accuracy: 1.0000 - val_loss: 1.1765 - val_accuracy: 0.7000 - 52ms/epoch - 4ms/step\n",
642
            "Epoch 15/30\n",
643
            "13/13 - 0s - loss: 0.4007 - accuracy: 1.0000 - val_loss: 1.1524 - val_accuracy: 0.7333 - 59ms/epoch - 5ms/step\n",
644
            "Epoch 16/30\n",
645
            "13/13 - 0s - loss: 0.3669 - accuracy: 1.0000 - val_loss: 1.1384 - val_accuracy: 0.7333 - 37ms/epoch - 3ms/step\n",
646
            "Epoch 17/30\n",
647
            "13/13 - 0s - loss: 0.3380 - accuracy: 1.0000 - val_loss: 1.1266 - val_accuracy: 0.7333 - 40ms/epoch - 3ms/step\n",
648
            "Epoch 18/30\n",
649
            "13/13 - 0s - loss: 0.3116 - accuracy: 1.0000 - val_loss: 1.1081 - val_accuracy: 0.6667 - 40ms/epoch - 3ms/step\n",
650
            "Epoch 19/30\n",
651
            "13/13 - 0s - loss: 0.2862 - accuracy: 1.0000 - val_loss: 1.1067 - val_accuracy: 0.6667 - 40ms/epoch - 3ms/step\n",
652
            "Epoch 20/30\n",
653
            "13/13 - 0s - loss: 0.2660 - accuracy: 1.0000 - val_loss: 1.0885 - val_accuracy: 0.6667 - 57ms/epoch - 4ms/step\n",
654
            "Epoch 21/30\n",
655
            "13/13 - 0s - loss: 0.2469 - accuracy: 1.0000 - val_loss: 1.0869 - val_accuracy: 0.6667 - 52ms/epoch - 4ms/step\n",
656
            "Epoch 22/30\n",
657
            "13/13 - 0s - loss: 0.2293 - accuracy: 1.0000 - val_loss: 1.0759 - val_accuracy: 0.6667 - 49ms/epoch - 4ms/step\n",
658
            "Epoch 23/30\n",
659
            "13/13 - 0s - loss: 0.2135 - accuracy: 1.0000 - val_loss: 1.0668 - val_accuracy: 0.6667 - 37ms/epoch - 3ms/step\n",
660
            "Epoch 24/30\n",
661
            "13/13 - 0s - loss: 0.1997 - accuracy: 1.0000 - val_loss: 1.0597 - val_accuracy: 0.6667 - 45ms/epoch - 3ms/step\n",
662
            "Epoch 25/30\n",
663
            "13/13 - 0s - loss: 0.1885 - accuracy: 1.0000 - val_loss: 1.0552 - val_accuracy: 0.6667 - 54ms/epoch - 4ms/step\n",
664
            "Epoch 26/30\n",
665
            "13/13 - 0s - loss: 0.1756 - accuracy: 1.0000 - val_loss: 1.0492 - val_accuracy: 0.6667 - 59ms/epoch - 5ms/step\n",
666
            "Epoch 27/30\n",
667
            "13/13 - 0s - loss: 0.1662 - accuracy: 1.0000 - val_loss: 1.0410 - val_accuracy: 0.6667 - 39ms/epoch - 3ms/step\n",
668
            "Epoch 28/30\n",
669
            "13/13 - 0s - loss: 0.1573 - accuracy: 1.0000 - val_loss: 1.0371 - val_accuracy: 0.6667 - 48ms/epoch - 4ms/step\n",
670
            "Epoch 29/30\n",
671
            "13/13 - 0s - loss: 0.1479 - accuracy: 1.0000 - val_loss: 1.0336 - val_accuracy: 0.6667 - 52ms/epoch - 4ms/step\n",
672
            "Epoch 30/30\n",
673
            "13/13 - 0s - loss: 0.1394 - accuracy: 1.0000 - val_loss: 1.0307 - val_accuracy: 0.6667 - 42ms/epoch - 3ms/step\n"
674
          ]
675
        }
676
      ],
677
      "source": [
678
        "c_model = MyModel()\n",
679
        "\n",
680
        "c_history = c_model.fit(\n",
681
        "    train_images,\n",
682
        "    train_labels,\n",
683
        "    validation_data=(test_images, test_labels),\n",
684
        "    batch_size=4,\n",
685
        "    epochs=n_epochs,\n",
686
        "    verbose=2,\n",
687
        ")"
688
      ]
689
    },
690
    {
691
      "cell_type": "markdown",
692
      "metadata": {
693
        "id": "2AnRJUntO5ko"
694
      },
695
      "source": [
696
        "Results\n",
697
        "=======\n",
698
        "\n",
699
        "We can finally plot the test accuracy and the test loss with respect to\n",
700
        "the number of training epochs.\n"
701
      ]
702
    },
703
    {
704
      "cell_type": "code",
705
      "execution_count": 37,
706
      "metadata": {
707
        "colab": {
708
          "base_uri": "https://localhost:8080/",
709
          "height": 963
710
        },
711
        "id": "6Bzln0qoO5ko",
712
        "outputId": "daa57dc3-e196-43dc-ac7f-70a4cd9875a8"
713
      },
714
      "outputs": [
715
        {
716
          "output_type": "stream",
717
          "name": "stderr",
718
          "text": [
719
            "<ipython-input-37-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",
720
            "  plt.style.use(\"seaborn\")\n"
721
          ]
722
        },
723
        {
724
          "output_type": "display_data",
725
          "data": {
726
            "text/plain": [
727
              "<Figure size 600x900 with 2 Axes>"
728
            ],
729
            "image/png": "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ZcuWEnUutjQRERGRySUlJWH+/G/RvXtPgwUmQ2NoIiIiIpM6cGAfunf3hZ2dPQYNGmrq4uSJUw4QERGZmKenV46uuZKkY0dfdOxonKVPDIktTUREREQiMDQRERERicDQRERERCQCQxMRERGRCAxNRERERCIwNBERERGJwNBEREREJAJDExEREZEIDE1EREREIjA0EREREYnA0EREREQkAkMTERERkQgMTUREREQiMDQRERERicDQRERERCQCQxMRERGRCAxNRERERCIwNBERERGJwNBEREREJAJDExEREZEIDE1EREREIjA0EREREYnA0EREREQkgklDU3R0ND777DN4eHigTZs2mD9/PtRqdY791Go1lixZgrZt26JRo0bo0qUL9uzZY4ISExERUUklN+XFR40ahXr16uHQoUN49uwZhg4dijJlymDgwIHZ9tu4cSO2bNmCdevWoWrVqjhx4gRGjhwJV1dX1K5d20SlJyIiopLEZC1NYWFhuHHjBsaNG4dSpUqhWrVqGDBgADZv3pxj36tXr8Ld3R2urq6QyWRo06YN7O3tcfPmTROUnIiIiEoik7U0Xb16Fc7OzrCzs9Nuq1evHiIjI5GUlAQbGxvt9tatW2PmzJm4fv06qlevjpMnTyI1NRXNmjXT6ZpSqQRSqcRg7yGLTCbN9n8qHNaj/liHhsF61B/r0DBYj/ozZB2aLDQlJCTA1tY227asABUfH58tNHXs2BHXr19H9+7dAQCWlpaYN28eKlSooNM1HR2tIZEYPjRlsbW1NNq5SxLWo/5Yh4bBetQf69AwWI/6M0QdmnRMkyAIovbbsWMHduzYgS1btqBWrVoIDg7G2LFjUaFCBTRo0ED09eLiko3W0mRra4nExFSoVDkHspM4rEf9sQ4Ng/WoP9ahYbAe9SemDh0crEWdy2ShydHREQkJCdm2JSQkQCKRwNHRMdv233//HR9++KE2ILVu3Rqenp7YuXOnTqFJrRagVosLaoWhUqmhVPKm1hfrUX+sQ8NgPeqPdWgYrEf9GaIOTdZJ6ubmhpiYGMTFxWm3hYWFoUaNGrC2zp741Go1VCpVtm0ZGRlvpJxEREREgAlDU926dVG/fn0sXLgQSUlJCA8PR2BgIPr27QsA8PX1RWhoKACgbdu22Lp1K27cuAGlUolTp04hODgY7dq1M1XxiYiIqIQx6ZimJUuWYNq0aWjRogVsbGzQp08f9OvXDwAQGRmJlJQUAMDQoUOhVCoxYsQIxMXFwdnZGXPmzEHz5s1NWXwiIiIqQSSC2NHYb4EnT14Y5bxyuRQODtaIj09mn7MeWI/6Yx0aButRf6xDw2A96k9MHZYtW0rUuTjxAxEREZEIJu2eIyJ62wgCEBIiQ2ysBE5OAjw9VTDi9HBERsX7OTuGJiIiAwkKkmPWLAWiol424lerpsaMGenw91easGREuuP9nBO754iIDCAoSI7Bgy2yfcAAQFSUFIMHWyAoiN9Rqfjg/Zw7hiYiIj0JAjBrlgJqde79Fmq1BLNnK1ByHruh4oz3c94YmoiI9BQSIsvxjfx1kZFSnD0re0MlIio83s95Y2giItJTbKy4kbFi9yMyJd7PeWNoIiLSk5OTuH4KsfsRmRLv57wxNBER6cnTU4Vq1fKfeNDFRQ0PD1W++xAVBZ6eKlSpwvs5NwxNRER6kkiAGTPSAeT+zVsiETB9enqJnt+Gig+JBGjWLO9AJJWW3PuZoYmIyACcnNQAcv8UadBAXWLntaHiR6nUDAYHAAuL7F8EJBIBS5akldj7maGJiMgAVq82BwBYWgr4448UrFyZit69MwAAly9LERlZAr+WU7G0f78cDx5o4sGyZWn4++8UTJmSBgAQBAmePi259zJDExGRnh49kmDnTs1kf337ZqJ9exW6d1diypQMyGQCBEGCNWvMTVxKInFWrzYDAFSsqEanTko0b67Cl19momlTTZfdmjXmUJW84UwAuIwKkcGo1QLWHA5BxJNYuJZ1wqB2npBKxX8jEwQBITFnEJscAyfrCvCs4AWJDoMGBEHAmehTeBEdj1JwQNNyzXU6/m1hinpcv94MmZmafQYNykDww9Pa63fyb4tdO82xcaMZJk5Mh42NXm+PipHiuG7btWtSnD6tiQYDB2ZC/kpKGDIkA+fPW+LePSkOHZLBx6fkJSeGJiIDmL0lCL+ET4XSNlyzIQGYfqE6hlWfg+m9/Qs8PihiF2admYqoxEjttmq2LpjhNQf+rl2MfvzbwhT1mJEBrF2r+WZe7/2t+PjchGzHOzV3BW4tQOKNHtiyxQwDB2YW9u1RMVJc120LCNDcywqFgI8/zn6vdu6shJOTGrGxUqxaZQ4fn1RTFNGk2D1HpKfZW4Kw7NFHLwPTf5S24Vj26CPM3hKU7/FBEbsweH//bB+0ABCVGInB+/sjKGKXUY9/W5iqHnfvluPxYylQezuu1f8wx/Gx6RHAh72A2tsREGBWIpeeKGmK67pt8fHA1q2a0NSzpxKlS2e/Wc3MgE8/1QSpEyfkuHmz5EWIkveOiQxIrRbwS/hUQJrHnCZSNX4Jnwa1OvdPSkEQMOvMVKiF3I9XC2rMDp4GIY9PWn2Pf1uYsh5XrTIHIEDeaTwE5HEfSNRAhwm4dUuKEydK3tITJUlxXrftjz/MkJqqKfeQIRm57tO/fybMzTWFz2qVKkkkwtv+2/QVT568MMp55XIpHBysER+fDKUy/wnBKG/FsR5XHwzG5Ns+Be4ngSTXcTGCIEDIY24fQx6/s/s+eFb0KnC/4ir44Wl02+FX4H4G/3cQALX6vz9IRfwqXXMCvnU98dtvaQXvW8wVx59nQwgOlqFbN6sC99u5MwWengWPCXpT9ahSAR4e1rh3TwoPDyV27cq7623ECAts2WIGKysBly8nwdbWaMUyCDF1WLZsKVHnYksTkR4insSK2k+AALWgzvGfmA9qQxwfmxwjar/iSuz7M/i/A9SaVkYxgQkASj3E/v1y3L1bxEcDU6EV13XbDhyQ4949TSQYMiT/cXdZrVApKRJs3FiyWpuKZscqUTHhWtYJSCh4P/8yQ+FRq2qO7VHPI7HmyqoCjx/k9j9Us3Mp9PFO1hUKLmQxphLEPcWjbz2+enxSkgQLF5hDpZKgVvNbuGn3S4HHS5IraKcfmDUrXVSZqXgpruu2ZU0zUKGCZpqB/DRqpIa7uwoXLsgQEGCO//0vE9IS0gTD0ESkh0HtPDHtn6pQ2dzNcx95Yg0EDPsh1+kHBEHAkXuHcgwefpWLnSu+a7kgz26lgo6XQIKo55FvbffcnojdmHB8TIH76VuPrx//44/mUJ1WAABW/ZCET0L3F3h8XTdPBEVpxo5MmJAOa+sCi03FjKenSvuEWV6K2rptN25IcfKkJg4MGJAJMxGNR0OGZODCBUtERUlx+LAMHToUnfdjTCUkGxIZh0QCODvY572DWoph1b/Jc74miUSCGV5zIJXk/qMolUgxvfk3ec4TVNDxgKZL6YujwzHh+Gikq96e1g2lWok5wTMxYF8/JGW+gBRSSPJYxkTfenz9+MzMl9MMtGypRO3aQoH/DlM9Z+F/QzTf4J8/l2ifUqK3S1oa8h3kXRTXbcsa0G1unnOagbx06aJEuXKa8UGahyFKBoYmIj38dftP3Mv8V/OXVPvsLz6rgaEOGwqcp8nftQsCfNbDxc4123YXO1cE+KwvcH6h/I6f6TUHVUppugXXXg1A9x1+iH7xoOA3VsQ9SXmCD3f1wJJ/fgQAlLMqjx3d92CN7+9GqcfXjw8KkmtbErLGf+R1fJbY5Ido3lyFOnU038g5/cDb6ccfzfHokebeKFs256DjChXU6NCh6MzTlJAAbNmiCU3duytRtqy4m9Lc/OX0A8eOyXH7dsmIE3x6zgBK6lMihlbc6vFp6lN4b2yCuLQ4IK46ym+7hJHfnsG5a4+x64+qwD1v/PBDOgYMEPfNLWsm60fJsXCyrgCPCrrN6C0IAs4/DkYSElAKDmhSzhMSiQTxaXEYfmgIjtw7BAAobVEav3YMxHuVWhfmbZvchUfnMXjfJ3iYHA0A8KjQHKs7rkN5aycAxqvHV3XubIlz5+SoUkWNs2eTIZNlPz7r+mWtymHaqa9x5dllWMmtcbLvWRz/uzrGjLEAAGzblgJv77ezW6O4/TwbwpUrUnToYAWVSoI2bZTYuDEVZ8/K8OiRBP/8I8WKFZru3EmT0jFmTO6P9L/O2PW4YoUZZszQ3I8HDybj3XfFX+PRIwkaN7ZGZqYEgwZl4Pvvi2ZLtiGfnmNoMoCS+MvBGIpbPX5+6H/Yemuz5i9rj2DKR1748ssMCALQtq0Vrl6VoVYtFU6cSHljTfF51aFaUGPB+e+xMHQeBAiQSqSY7DEDoxp9VWyWWhEEAeuursGUUxOQqdYE0aHvjsB0z9kwkxm2qyu/e/HyZSnat9cMRpoxIw0jRuQfii8/uQSfrW2gElRoV6UDVrfZikaNSiEhQQI/v0ysW/d2Tj9Q3H6e9aVUAp06WeHSJRmsrAScOJGMKlVefryq1UD37pYICZHD3FzA0aMpqFmz4HoxZj2qVICnpzXu3pWiSRMV9uxJ0fkcw4db4K+/zGBtrZl+oJS47PFGccoBIhM7cu/gy8B0cTAUMa21YwEkkpddNjdvynDypOknM5RKpJjQbDI2+P8JO4U91IIac0JmYOC+j5GY/tzUxStQSmYKRh0ZhgknRiNTnQkruTVWdgjENy2+M3hgKsjq1ZrxG1ZWAj76qOBWxAZlG2J4w1EAgMP3DmJf9BZ8/LGmlWH/fjnu3SseoZXyt2qVGS5d0vysf/11erbABABSKfDjj2kwNxeQkSHBmDGK/+b4Mp1Dh2S4e1cTA/73P3EtX6/Lmn4gOVmCTZve/nF6DE1EOkrKTML446P/+0t54MD8HEsO9OyZCQcHzd+zHuU1NkEAzpyRYtMmzf9za0NuX9UHB3sdh1uZBgCAPZG70HFra1x/du2/cwgIfnga229vRfDD0zrPJK7v8Wq1oJkw9I/tWH0wGGq1gMjnEfDf1gF/3twIAKhhXxP7eh1B95rv63RuQ3j6VILt2zVPGb3/fibs7cUdN67JJFSz1UxVMPXURHTvFwOpVIBaLUFgYNEbRCsImkkat2+XIzhYxrFXBYiKkuD77zVdb40aqfKc56hGDQFjx2pCxtmzcvz2m2lDRtYXgPLl1ejcuXDjrNzd1WjcWKU9n6GDYFG7F9k9ZwAlrRnaWIpLPU47NQm/Xl6u+cufW4BrvXD4cDLq189e5m++McfSpQpIpQLOnk1G1arG+1HTdXHQVGUqJp4Yg003NgAArORW6F9vIPZH7jHZosE5Fj0GIEtxgswqERnQdBv4u3bFkrbLUcrcuFMQ53Uv/vSTOb79VvPheOxYMurWFX+fnnxwHO/v1NRD73f6IGn9b9i71wz29gIuXUqCVcGTSL8Rhlpotrj8POtLEIAPPrDE8eNyyOUCDh5MQb16eb/fjAygQwcrXL8ug42NgNOnk1GhQt6/G4xVj7duSeHtrelmnjAhHePGFa6lCQC2bJFjxAhLAMDGjSlo184w4/Te5L3I7jkiI7jw6DxWXl4BALC82xW49j48PJQ5AhMADByY+UZaEwqzOKil3BKL2yzHglaLYS41R4oyBb/++7PJFg3Oa9FjlVXsf4FJgunNv8Ean/VGD0x5eXWaAW9vpU6BCQBaVmqFfrX7AwC23NqEJn32AAASEiTYtq1odGsU14VmTenPP+U4flxTL6NGZeQbmADNU2eLFqVBIhGQlCTBxImmWYcua5oBMzMBn3wi7mGVvHTtqkSZMoadfqCo3otsaTKAkvKNytiKej1mqDLQYUsrXI+7CkuJLVIXXANeOGPVqlR065b7t56BAy0QFGQGOztNa4KhJzMUBM16Ua//YnmVi4saISHJeQ5GvxgbCv/tHfKdVdvJqgJ+avNznhNDfnn0czxKyXtJmYKO/2jLCKis8l4KRZbsjOix1/Kc78rQcrsXd+6UY8gQzbfpwMBUnb7pZolPi4P3xmZ4kvoYlUtVgdXay7gZZoc6dVQ4duzNPTCQG0PcS68q6j/PhvDkiQTe3taIj5egenU1jh5NhoWFuGOnTVPg1181AWP16lR07Zr7/WSMekxMBBo0sEFKigS9emVi+XL9H0aYN88cCxdqWmGDg5NQvXrho4Up7kWxLU382kAk0s//LMb1uKsAAOfr3+LOC+cClxwYMiQTQUFmeP5cgr/+MtP7G93rQkJk+f5iAYDISCnOnpXluThoujq9wGVIYlNi0CeoZ6HLWeDxBXRNqayjEXjkLAa39yx0GfSVNTatcmU1fHwKN/7DwcIR37WcjyEHPsX9F/fQss9U3AxbiuvXZQgOlsHLy3TTDxjiXipppk5VID4+a4b4NNGBCdBMO7B3r2a9t0mTFGjZUgkHByMV9DUbN5ohJUVT7sIOAH/dp59mYvFicyiVmmWC5s4t/PQDRfleZPcckQi3429hYeg8AEADOy/c2TwcQMFLDnh5GXcyQ0MsDlpcFvMVuziyMYSFSRES8nKZCbkeXze7VO8O32qdAACnMn+Gda0QAJqnr0ypuC40ayoHDsiwfbvm3+yTTzLQvLluH97W1sAPP2haeJ4+lWLWLIXBy5gbtRpYs0bTwuXurkKjRoZpvXJyErStZRs3miEpqfDnKsr3IkMTUQHUghpjjo1ChjoD5lJzuFz5BRCkopYceHX6gevXZThzxrDTD4hd9LN8+bz3E7uY78/tVuF039Ac//3cbqVex49yLnihXOC/xZFNJGv8h4WFgI8+0u+buUQiwffvLYSNWSkIEKDo9T9AloG9e+V48MB0gcTConguNGsKSUnAhAmaZqXy5dWYPr1wrSpt26rQu7fm98Mff5jjxAnjT09y5IgMkZGaj/7Bgw3TypQl63xJSRJs3lz4LwGWlkX3XmRoIirAb1cDcTYmGAAwwm0iDm50AwD06CFuyQHNo+ma/QzdmuDpqUK1agV/U1y7Nu9vfp4VvLSPw+fFxc4Vvd75ADUd3snxX693Piz08YoXtXBs6QAgrnr+b+BZDdw8+B4yDPs7XpRnzzRdqwDQq1cmHB31P2dFG2dMaz4LABBndgVo8cN/DwyYprUpNFSKiRPF9C0JuHw59+ksSpK5cxV4+FDz8TlvXjps9Xg2YfbsdJQurfkZHjfOAim6zy+pk6yB2uXKqfMcR1VYTZqo8e67+k0/cPGiFJMmFXwvmmrRY4YmonzEJD3E7ODpAIA6jvVgfXmcdixA1qRuBbGygnYSxH375Lh/33CtCRIJ0K1bfq1dmk+37dvN0KmTFcLDc17b2IsG53X8kSMydOhgjbDLcuDAfECdx68jtRQ4+APWBirQrZsVHj58s60xGzaYIT1dc83Bgw03Ju3TeoPQzEkzRkvS+hugzA38/rs5UlMNdokCCQKwZo0ZunWz0q6lJ5HklYgEABJMnWqB4cMtkJz8xopZpJw7J8WaNZpw27lzZr5jGsUoXVrAnDmalqqoKCkWLDDek7Z37khw9Kimb/mTTzJhbuBLaVrWNb8Xw8OlOHZMfMuZIAC//WaGrl2ttIE0r3vRlIseMzQR5UEQBEw8MQZJmS8ggQQLWy3Fb2tsAABNmqh0WqNp4MCMV6YfMFxrQlLSy8U2ZbLsv2BcXNRYsSIN3btrPuhv3NCElNwe1TXmosGvH69WAwsXmqNvX0vEx0sgkQiY3LMTRpTbAHlijWzHyxNrYLDtBrR20hx/4YIM7dtb4dSpNzPLulIJ7b9X8+bKAh8n14VUIsWiNstgLjWHIM0AunyG+ARBO3mmsaWkACNHWmDSJAtkZkpgZSVg1apUrFmTBheX7O/TxUWN775LQ61amm/227blHcLfZunpwJgxFhAECezsBHz3nWHWWuvZU4l27TTha8UKc1y+bJyP5oAATUqSywXtYruG1r37y+kHsibPLEhqKvDVVxYYN84CGRmae/GXX/K+FwMC0gr19KohcMoBAygJj9a+CUWtHneF78Dg/Z8AAIY2+BzeyfPRv7/mMa9ff01Fjx66/dB++qkF9u41g4ODZvoBS0v9y/j11wrtL8LAwFSULQskJVmiVKlUNGmihESi+Qa3apUZZs5UQKnUfMiNGpWOr7/OyDGg2RCL3eZ3fEICMGKEJQ4e1FzY0VGNX35JQ+vWmg9jtVrAmsMhiHz6CK5lnTCwrQekUglUKmD+fHP8+KNmsKxUKmDq1HSMGJFplG+bWffiunVpGDBA01UQEJCKLl0M/4v6x9Af8P25OZq/7PoF9dKG4MgR404/EBkpwcCBlrh2TRM+a9ZUYc2aNNSqpfm5EwTNE0yPHkng5CTAw0MFiUQT0seMscCOHZogWaqUgKVL03JtbSlqP8+GMH++OebP19yDixaliVpGR6z79yVo2dIaKSkS1K+vwv79KZDLDVePL15ophlITpagZ89M/PKL8dY8/P57zc+qRCIgODgZrq55x4yoKAkGD7ZEWJjmXnR1VSMwMBV16uR/L+qCC/YWEkNT0VaU6jEhLR4tNjbVzqdzvE8IBvQtixMn5ChfXo2LF5PzfWouNydPyvD++5rQZYhfuOfOSdGlixUEQYLOnTOxZk1avnUYEiLDkCEWePxY8y22ZUslfvklTdS4LEMIC5Ni0CBL7VpXDRuqsGZNKipVEn/9Awdk+PxzSyQman5r+vtnYsmSNIMvEppVj97eKpw+LYOzsxrnzyfr9dRcXjTzf72H63HXgDRb4Odr2LnBwWiPUu/fL8OIES/rsEuXTCxenAYbG3HHiw3hRenn2RBu3JCiXTsrZGZK4O2txF9/pRo82K5aZYYpUzQhfdq0dIwalWGwely92gyTJ2vOvWdPMpo0Md6/SUyMBO7u1lAqJRg6NAPffJN7i9yhQ5qf54QETUX6+WVi6dI0vcaI5YYzghMZ2azgaXiS+hgAML/VT4iOsMWJEy8fOdc1MAGAt7cKtWtrPghXrdJv+oFXuwlsbcV1E3h6qnD4cAo8PDStAidPytG+vRVCQ43/a2DzZjn8/a20gal//wzs3JmiU2ACgI4dVTh4MBn16mnqMSjIDB07WuPGDcO/h8uXgdOnNd9+Bw7Ub5qB/JjLzPFjm6WQQAJYJAL+n2PlKsNfTKUCvvvOHP37WyExUQKZTMDMmWlYvVp8YAI041Y++ywT27alolw5zQfQ0qUKfPihJZ48eTu761QqYPRoTTemhYWABQvSjNISOGhQJtzdNff2/PnmiIgwzEXU6pddZY0aqeDubtwQW6GCoO0+++OPnA+hqNXADz+Y46OPNIEpq+V47VrDByZDY0uTAbxt36hMxdT1mNW1dOz+ESy6MB+AZo2wn9uvxIQJCqxdaw5zcwEXLyajXLnC/disW2eG8eM13/b+/jtF57ldsvzwgzkWLNB0E/z4Y5p26gMxdZiZCcye/XI2YjMzzUDUAQM05wgJkSE2VtMU7umpW1N4VlN61vGNGqkwfbqm7gBAoRDwww9p6NtXv26ulBRg/HgL7XguKysBP/2Uhu7dlTnKUJj3cP68HAsXWuLoUcDcXMC//yZnW5DZGKaemqhdogdbNmPC5/aIy4yFa1knDGrnqdNs6FndnBFPNMd3a9gcn39uqV3uo0wZNVatSkOLFrnff1k/C7HJMXCyrgDPCl65dtM+eiTBkCEWOHtWc96KFdUICEhFo0YqrD16FtGJz+BsWxoD2njoPJv76+9B3zrQ5/hHdypi17J20AyET8cXX4h7CERsPb7q1RYtrxaZ6DLiGB6+KFw9Zr2HE/88wr4tVYG7LbFsWRo++ED8z19h3gMAnD0rQ5cuVgAEdBl5GOVrPIRrWSf0aOyJESOscOTIy3vx11/T0LKlfvdiftg9V0gMTUWbKesxt8VmpRIpfmqzHH4V+uHddw2z5EByMtCwoQ2eP5egS5dMBATofq5Xf6m2aKHEtm0vuwl0qcO//5bjyy8ttE8DenkpER0t1bYGAbotjpnb4poKhaB98qxKFTXWrElFgwaG+bcVBM1UClOnKpCZqblGx46ZuHVLVugFPnN7DzY2mnE7xh54mpSZBK/1HohNuw+oZYD05YeIPLE6hlWfg+m9/Qs8T24LHyOuuuYJxRs90KSJCgEBqXkuEqvrwsuvh3Bp3W1AxwlQ27+8vi7lz+s96FsHhqjDMv/Mw7+bOopqadZnAet588yxMGgP0HE84GjY9zC8+hzM6ivu30Gf9yAIQL1eB/C00cRs7+HVe9HdXYXVq1Ph7GyYezEvDE2FxNBUtJmqHrMWm1ULOa8plUjxAf7AphkfAgD270/WewbdGTMUWLHCHDKZgNDQ5Dx/YeRGpQI6d7bChQsyWFgIOHYs+yBLXevw5k0pBg60wJ07eT+NJpUKBT6tkrW4plqd+zfA+vVV2Lo1xSjLRISGSjFkiKX2MeXc6PsexBxvCIM3zMWu5/Nyf1EtxcjyG/L9wMxa+BjSXP7t1VI0uLkJexb65vmoeUE/C/k9SbljhxyfL9kLZc/eeV6/oPKLeQ/61oGxjwf0q0cAmLExCCueFe/3UFAZ6l/fhD0/+kKRx0To+l7/VQxNhcTQVLSZoh4FQYDHhobZvsnkKFdiDSh/vAV3dzX27tV/5rmoKAk8PKwhCBJ8+WU6pkwRP2NjQIAZvv5a072XWzdBYerw1cU782JrK6BPn9yfVBMEYNMmM+3A4tzosrhmYTx+LEGTJtZISyu+70GtFlDph8bZWwZel2aHesr+kCJnIdQQcFW+HrB4nufh0nQ7DG7SD9I8Fk7edHMDEjMS8zze1twOfWr1y7V7RC0IWB36BwRF3tfPr/xi34O+dWDMOgRMX4/F5T3oey+62LkipN8/orrqGJoKiaGpaDNFPQY/PI1uO/wK3nHNCaz4ugnef98wLQ2ffGKBffvM4Oioxj//JIuafuDBA80jycnJEri5aR5Jfr2boDB1GBwsQ7duBayYawA7d6YY7Ymwt+E9rD4YjMm3fYxybqK30c7u++BZ0avA/QwZmt7MLGpERdTDpGhR+9lWeoAuXRoa7LqDB2di3z4zxMVJsWOHvMCB0YKgWesqOVnzpMmiRWmFeoIvN2IXvSxdWg1r65zbk5OBZ88KfnrNmItrvg3vQeyCxJKUspCqcr4JtSwJgtXTAo+3kZSBo03O45Mzk/EsreDjS1uUgbVZzuPjkpKRJBR8fF7lB8S/B33rwFh1CJi+HovTe9D3XjTFYuMMTVRiPU19ihX/LhO1byfvcgZdcuC991R45x0Vbt2SYfVqc/Tpo8y322fHDjkOHdL8uA4blqnTbOQFEbvoZWBgWq6tLGJbeYy5uObb8B5cyzoBCQXv923DDRjc3jPHdrEtVVNq/pHr8WJbXQN9f8/1273Y6+dVfkOc400dn1cdAqavx+L0HvS9F8UuNm5InKeJSqSLj0LR/s+WuPzkUsE7x9XA5I+bGfT6EsnLdczCwmQ4ezbvgdhxccCUKZrRklWrqjFhgmGWbsgiZtHf/BbH1Pd4Q3gb3sOgdp6QJ+a/cLE8sQYGtvUwyvFiF272qNDcKNc3xDlMfTxg+np8G96Dvtc3JoYmKlEEQcDaKwHout0XD5M1XXMdq/rmudgs1FJ4JH4LJyfDl6V370zY2mpaLgIC8u5rmzHDAk+fasq3YEEarAw8dEciAWbMSIdUWrjFMfU93hDehvcglUowrPqcfBcuHlb9mzzn6dH3eH0Xbtb3+oY4h6mPB0xfj2/De9D3+sbE0EQlRkpmCr44MhwTToxGhjoDVnIr/NphDX73/zPXxWbxrAbw51bM/LCTUcpjYwP07atpbdq9W46HD3P+Ajh2TIbNmzWBqk+fTLRqZZyWDn9/JQICCr84pr7HG8Lb8B6m9/bHyPK5L1ws5jFxfY/Xd+Fmfa9viHOY+njA9PX4NrwHfa9vLHx6zgD49JxhGLMeI59HYNC+/rj6LAwAUN2+BgJ9N6C2Yx3tPlkzz8YkxWLWWBfEnH0PjRqpsX+//tMM5FmuSAk8PTXTD4werVm/K0tyMtCqlTXu3ZOiTBk1Tp1KhqNj/ufTtw71XRzTEItr6ssQ7+H8eXmOhY/fpLwWLn5Tx+u7cLNaLWDt0bN4+CIOzral8WnrZoWeEdxUdaDv8YDp67GovAdT3osApxwoNIamos1Y9Xgwah8+P/wZnqcnAAA6uXTB0nYrUMo890WODh+WoW9fTR/YsmWpOi05UBgffWSJgwflKFNGsxCwhWYaJu0kmACwcmUquncvuBy8Fw2D9ag/1qFhsB71xykHyKD0XavLENRqASv3nyn0WlW5rTMlQI0Fod9jYahmhmWpRIopnjMxsuGXuX5TyaqHOXM0g65Ll1ajWzfjd8kMGZKBgwflePpUigULzFGvnhovXgC//KLpluvYUflGykFERPljaCrhcltrS5e1ugwhxxpJMcDU83qssZQATL9YDRUdbXEv8zIAoIxlGfzaIRAtK7XK9Ry51YNSKcGhQ3Kj10OrVio4OakQGyvDkiXZ1xSwsNAscGuC8Y5ERPQaDgQvwbLW2no1KABAVJQUgwdbICjI+Jk6a32i15eOUNqGY9mjjzB7S1Dhji8VpQ1M7uWb4FDvk/kGptzq4flzyRuph7175Xj0KPcfxfR04J9/8p6OgIiI3hyGphJKEIBZsxR5LrCqVkswe7YCxhzxplYL+CV8au4LOgKAVI1fwqdBrc69EAUeD0CSYYdtXfegoo1zrq+buh6yri8Iea0BZfx/ByIiEofdcyVUSIgsR8vK6yIjpTh7Vma0tbbWHA7Jf3FSAErbO3Ce7wapOufkRGppClS29/M9XjB/DveuV2H/vGWur6emAtHRpquHovDvQERE4jA0lVBi19AqCmttqUrdhz5x4WnaIzy9o18Xl7HqoSj8OxARkTgMTSWU2DW0jLnWVhXHcqLW2ioX1wX28pxTcsdnxuJJ6V0FHt+sbjnUaZKR62uxsRLs31/wyrfGqoei8O9ARETiMDSVUFlrbeXXNSSXCyhVyjgf1pGxcVgUuggoaLLGxBq4PPn3XKcfUKsFVPqhcb5dfPLEGti51B1Sae7rtQkC4OGRfxeZMdccE/PvYOw1z4iISBwOBC+hClprC9A8cu/vb4WtWw2brf86cxle61oj3vGAZkNeRXgjayyZds0xU1+fiIjEY2gqwbLW2rK3z7nW1oABGTA3F5CSIsHnn1vi668VyMi9h0snX679A8ND20FVKgoAUPvFUPzPcb1p11gy8Zpjpr4+ERGJw2VUDKC4T3M/bJgFtm0zg7OzGitWpGnX6vrnHykGD7bEgweabN2kiQoBAamoUEH3WyYhKQ2dlk3CHds1mg2ZFvjYYSl+/ORDAEVljSXTrptmiOsX93uxqGA96o91aBisR/1xGRUyqLt3NaGoYUNVtsfaGzVS4+DBFAwbZoHjx+UIDZWhXTsrrFqVhhYtxI+xOXfzPnpv/QSpDhcAAPJEV/zc6nf0aO6m3UcqleAzH69C/3KQSiUY0qG5Tse8TiIBmjc33dghU1+fiIjyx+45QkSE5jZ4vXsIAEqXFrBpUypGj9YMpH76VIpevSyxfLmZqAkXF+8+ii67W2oDU5k4fwQPOpotMBERERUHDE0lXHw8EB+v6QNydc09BclkwNdfZ2D9+hTY2gpQqSSYOdMCQ4ZYIClJs49aLWD1wWBM/mM7Vh8MRkamCr2W/Ii5d7tDsIwDBAlaZs7A5a83oGo5hzf19oiIiAyG3XMlXGTky9ycW0vTq3x8VDhwIBmDBlni2jUZdu0yw40bUjT9ZCv+jJ+SbcHcyVetAPMUAIAk1RGTaq7B6K5tjfU2iIiIjM6kLU3R0dH47LPP4OHhgTZt2mD+/PlQq3P/4A4PD0f//v3x7rvvolWrVli7du2bLexb6tXQ5Opa8DgiV1cBe/akoFevTADAbdlO/JHZL+dcSf8FJnmiK/72P8HARERExZ5JQ9OoUaNQvnx5HDp0CIGBgTh06BDWrVuXY7+0tDQMGTIErVq1QkhICJYuXYqtW7ciPDz/dcuoYFnjmSwtBZQvL+6pOCsr4Oef0/Dtt6lAx/H5LpgLSNDsncoGKCkREZFpmax7LiwsDDdu3EBgYCBKlSqFUqVKYcCAAVi3bh0GDhyYbd+9e/fCxsYGQ4YMAQA0aNAAu3fv1vmaUqlE58fQxZDJpNn+X5zcvatZk83FRYC5uW7ll7qcAjIKWnA3HOuOncP/Ohb8ZFtxrseignVoGKxH/bEODYP1qD9D1qHJQtPVq1fh7OwMOzs77bZ69eohMjISSUlJsLGx0W6/cOEC3nnnHXz99dc4ePAgypQpg88//xxdu3bV6ZqOjtaQGHHiHVtbS6Od21ju3tX8v1YtzTwWuohOfCZ6P13OXRzrsahhHRoG61F/rEPDYD3qzxB1aLLQlJCQAFtb22zbsgJUfHx8ttAUGxuL0NBQfPPNN5g+fTr27duHiRMnokaNGqhbt67oa8bFJRutpcnW1hKJialQqYrX5GO3b1sBkKBSpQzEx2fqdGyq7J6o/ZxtSyM+PrnA/YpzPRYVrEPDYD3qj3VoGKxH/YmpQ7Ff7E369JzYycgFQUC9evXQpUsXAECPHj2wadMm7Nu3T6fQpFYLUKuNNwG6SqUuVjO2JiQAcXGaEFmtmviyC4KAZZcWI+DBjAL3lSfWwKetm+lUL8WtHosi1qFhsB71xzo0DNaj/gxRhyYLTY6OjkhISMi2LSEhARKJBI6Ojtm2ly1bNse+zs7OePLkiZFL+XbTZbqBLC8yEjHq8HDsidwFADCXWCFDlZb7YHARC+YSEREVFyYbWebm5oaYmBjExcVpt4WFhaFGjRqwts7eTFa9enXcunUrW8tUdHQ0nJ2d31h530a6TjdwI+46Om5trQ1M9UrXx6l+wXovmEtERFQcmCw01a1bF/Xr18fChQuRlJSE8PBwBAYGom/fvgAAX19fhIaGAgC6du2K+Ph4/PLLL0hLS8Pu3btx9epVnQeCU3ZZ0w1YWAhwcsq/23L77a3w3doG4Ql3AAAf1uqHoJ4HUc3OBdN7++PBhAv4tuZ+/M/hN3z3zgE8mHCBgYmIiN4qJh3TtGTJEkybNg0tWrSAjY0N+vTpg379+gEAIiMjkZKimSCxfPny+PXXXzF37lwsX74cFStWxM8//4wqVaqYsvjFXlZLk4uLGtI84nOmKhOzg6fh18vLAQBmUjN823I+Pqk7MNuTiIZYMJeIiKgoM2locnJywqpVq3J97ebNm9n+3qxZM/z9999volglRlZLU7VquXfNPUqOxZADn+JsTDAAoKK1MwJ8f4N7+aZvrIxERERFBdeeK8GiojQtRS6uagQ/PI3Y5Bg4WVeAZwUvnI0JxpADn+JxyiMAQMtKrfFrhzUoY1nGlEUmIiIyGYamEur5c+DZMylQezs2lxuH5TsitK85WjgiIS0BamhaoL5sPBaTmk2FTCozVXGJiIhMTueB4D/99BOio6ONURZ6gyIjNYEJH/TCMyEi22txaXFQQw0LuSXW+W3EFM8ZDExERFTi6RyagoKC0KFDBwwcOBB79uxBZqZus0hT0RAeLilwsd0yFmXgW63TGywVERFR0aVzaDp48CD++OMPVK9eHd9++y1atmyJ7777Dnfu3DFG+chITt47Azjmv9jug6T72kHgREREJV2h5mlq2LAhpk6dihMnTuDHH39EfHw8evfujT59+iAoKAhqNad6L+rCH8eK2i82OcbIJSEiIioe9JrcUqlUIiEhAS9evIBSqUR6ejoWLFiA999/Hw8ePDBUGckInsZaidrPybqCkUtCRERUPBTq6blbt27hzz//xK5du5CZmYlOnTrhjz/+QP369ZGZmYlvvvkGX3/9NdavX2/o8pIBnI89i4g6owrcz8XOFR4VOGElERERUIjQ1Lt3b1y5cgU1a9bEF198gW7dusHGxkb7upmZGSZPnoxmzZoZtKCkP0EQsObKKkw//TUEm6wB/BIAOZdQkUqkmN78m2yzfhMREZVkOoemGjVqYMqUKWjYsGGe+1hYWODbb7/Vp1xkYMmZyRh//CtsvbVZsyHdBvg7EBPGKbHl+RREPn857YCLnSumN/8G/q5dTFRaIiKiokfn0PTdd99h//79uHHjBmrXrg0AOHHiBJKSktCp08vH0zt37my4UpJeIp6HY+Dej3E97ioAwElWC7GrtgNP66BvoySMrdgJITFn8Cg5Fk7WFeBRoTlbmIiIiF6j80DwTZs2YeLEiXj69Kl2W3p6OqZNm4aNGzcatHCkv32Re9BxS2ttYOpavQf6Jp8CntaBQiGgQgUBEokEzSu2QPea78OzohcDExERUS50Dk3r1q3DypUr4e3trd3WoUMHrF69GuvWrTNo4ajwVGoVvjs7G5/s7YPEjOeQSWSY5fUtVnVci+gIOwCahXqlej0/SUREVHLo3D0XGxuLJk2a5Nju5uaG2Fhxc/+QYQmCgJCYM9oFd2va18LwQ4Nx/MFRAEBZy3JY7bMOzSu2APDfEioAXFw4nxYREZFYOoemSpUq4eTJk2jVqlW27QcPHkT58uUNVjASJyhiF2admYqoxEjtNplEDpWgBAA0dfJAgM9v2eZbiozUdL+5uOR8ao6IiIhyp3NoGjp0KEaNGgVvb29UrlwZarUaEREROHv2LBYtWmSMMlIegiJ2YfD+/lAL2VuMsgJT+yo+WOu3AeYyc+1riYnA06ealiZXV7Y0ERERiaVzaOrcuTMcHBywceNGnDlzBlKpFNWqVcPq1avh6elpjDJSLgRBwKwzU3MEpleFP78NM6lZtm1ZXXMAu+eIiIh0UagZwVu0aIEWLVrk2L5lyxb07t1b70JRwUJizmTrkstN5PMInI0JhmdFr5fbXglNbGkiIiISr1Ch6fnz57h16xbS09O122JiYjBnzhyGpjdE7EK6r+8XEaEJTQqFgIoVOaaJiIhILJ1D0+nTpzFy5EikpqZCIpFAEATtvD7+/v4GLyDlTuxCuq/vl9XSxOkGiIiIdKPzx+aPP/6ITz75BHv27IFcLsfBgwcxb948tG3bFlOnTjVGGSkXnhW8UM3WJd99cltwN6ulieOZiIiIdKNzaIqKisKoUaPg6uoKiUSCypUro2vXrujTpw+mT59ujDJSLiQSCWZ4zYEEuc/endeCu5xugIiIqHB0Dk0SiQRKpeaRdgsLC8THxwMAPD09ERwcbNjSUb46uXRGWatyOba72LkiwGd9jgV3X7x4Od0AW5qIiIh0o/OYpiZNmmDixIn4/vvvUatWLaxYsQLDhg3DuXPnYGZmVvAJyGCux13D45RHAIBRjUajfpkG+S64yyfniIiICk/n0DRp0iSMGjUKAPD5559j6NChWL9+PQBgxIgRhi0d5SsoYicAQCaR4fOGX6C0Zel89+ccTURERIWnc2iqVq0adu3aBQBo3rw5du/ejStXrqBKlSpwc3MzeAEpb0ERmn8Hr4reBQYmIPt0A87OHNNERESkC53HNI0cOTLb36tUqYJOnToxML1hEc/Dce3ZFQBAp9fGLuUlq6WpalVON0BERKQrnT86r127hpgYcRMrkvHsidit/XMnl86ijomI0Ixz4ngmIiIi3encPTd8+HCMHj0anTp1QuXKlXMM/vb29jZY4ShvWeOZmpRvhgo2FUUd83JiS3bNERER6Urn0DRt2jQAwKVLl3K8JpFIcP36db0LRfmLSXqIC4/OAwD8XbuKOubFC+DJE043QEREVFg6h6bDhw8boxykgz2Rr3TNuYrrmouK4nQDRERE+tA5NDk7OxujHKSDPf89NVevdH242LmKOibryTmALU1ERESFoXNoatu2ba4TJ2ZhS5RxPUt9hjMPTwFAjhm/85M1nsncnNMNEBERFYbOoalTp07ZQpNKpUJkZCTCwsLw6aefGrRwlNOBqL1QCSoA4sczAS9bmqpWVUMmM0rRiIiI3mo6h6Zx48blun3//v04e/as3gWi/GU9NedqVx21HeuIPi5roV5XV7YyERERFYbBpjhs3749goKCDHU6ykVSxgscu38EgKaVKb9u0te9nG6A45mIiIgKw2Ch6dq1axAEtmIY06G7B5ChzgCg23impCTg8WPNPzWfnCMiIiocnbvn+vTpk2NbamoqwsPD0bFjR4MUinKXtdZcRWtnNCzXWPRxXKiXiIhIf4VasPf1biGFQoFevXqhd+/eBisYZZemTMPBu/sBaOZmkkrENxK+GprY0kRERFQ4Ooem77//3hjloAIcf3AUKcpkALo9NQdwugEiIiJD0HlMU0ZGBr755hucPn1au+3PP//EzJkzkZ6ebtDC0UtZT82VtigNjwrNdTqW0w0QERHpT+fQNH/+fJw5cwaOjo7abXXq1MG///6LBQsWGLRwpJGpysS+SM2Tib4u/pBLdWsgzJpuwMWFrUxERESFpXNoOnDgANasWYM6dV7OEVS/fn2sWLECBw4cMGjhSOPMw1NISE8AoNtTc1myWpo4CJyIiKjwdA5NL168QOnSpXNsL1WqFBITEw1SKMouq2vOxqwUWlZqrdOxr043wNBERERUeDqHJjc3N6xevRpq9csP4IyMDCxbtgy1a9c2aOEIUAtq7IncDQDoWM0HCplCp+P55BwREZFh6Pz03MSJEzFo0CCsW7cOFStWhFqtxoMHDyCTyfDHH38Yo4wlWmjseTxOeQRA96fmACAqinM0ERERGYLOoalevXrYs2cPdu/ejXv37kEqleKDDz5Aly5dYGtra4wylmhZXXMWMgu0qdJe5+OzxjOZmXG6ASIiIn3oHJoAwNraGj169NCGpEePHkHGZ9kNThAEBEVqZgFvU6U9bMxsdD5H1pNzVauqIS/UvzYREREBhRjTdPPmTbRv3x6nTp3SbgsKCoKPjw9u3rxp0MKVdFeeheFeYhSAwj01B7wc08TpBoiIiPSjc2iaN28e/Pz88N5772m3ffTRR3j//ffx3XffGbRwJV1W15xcKkfHqr6FOkdW9xwHgRMREelH5w6bsLAw/PrrrzAzM9NuUygUGDFiBLy8vAxauJJuz38L9Ho7vwd7Cwedj09OBh490oSmatUYmoiIiPShc0uTQqFAXFxcju0xMTEc12RAd+Jv40bcdQCFe2oO4HQDREREhqRzS1PHjh0xYsQIDBs2DJUqVYIgCAgPD8cvv/yCzp07G6OMJdKe/waASyCBr4t/oc7xamjidANERET60Tk0jR8/HtOmTcOXX34JtVoNQRAgl8vRpUsXjB071hhlLJGyxjM1q+CJ8lblC3WOrNBkZiagUiUOBCciItKHzqHJ0tISCxYswNSpU7WTWtrZ2WHr1q3w8fHByZMnjVHOEuXBi/v45/FFAIV/ag54Od1AlSoCpxsgIiLSU6E/Su3t7XHnzh1s2LABBw8ehK2tLXr37m3IspVYe/9bNgUAOrkUPjTxyTkiIiLD0Tk0paenY+fOndiwYQNu3LgBiUSCadOmoVevXjA3NzdGGUucoP+emmtQtiGq2FYt9HleztHE0ERERKQv0U/P3b9/H99//z1atmyJBQsWoFmzZti9ezdsbGzQunVrBiYDeZLyBCExZwAA/nq0MiUnA7GxDE1ERESGIrqlydfXF56enpg2bRp8fHwYkoxkf9QeqAVNyCnsVAMAF+olIiIyNNEtTWXLlsXt27dx7do1PHjwwJhlKtGynpqraf8O3nGsVejzZI1nAjimiYiIyBBEtzQdPnwYBw4cwIYNGxAYGIimTZuid+/eEAQ+ym4oienPceLBMQD6tTIBL8czyeWcboCIiMgQRLc0yWQy+Pn54ffff8f27dtRuXJlTJs2DUlJSVi9ejXu379vzHKWCAfv7kemOhOAflMNAEBUlGa6gapVOd0AERGRIei8jAoA1KlTB99++y2OHz+O0aNH4+jRo/Dx8cGwYcMMXb4SZfd/XXOVbCqjQdmGep0rq3uO45mIiIgMo1ChKYu9vT2GDh2Kw4cP48cff0RycrKhylVsCIKAM9GnsOnKJpyJPlWo7kpBEHD03mEciNoLAOjk0hkSiUSvcnG6ASIiIsMySMeNVCqFr68vfH19DXG6YiMoYhdmnZmKqMRI7bZqti6Y4TVHdPdabufYGbEDzZ29C91Fl5ICxMRwYksiIiJD0qulSV/R0dH47LPP4OHhgTZt2mD+/PlQq/P/kH/06BEaNWqEpUuXvqFS5i4oYhcG7++fLewAQFRiJAbv76+doLIw54hNjhF9jtxwugEiIiLDM2loGjVqFMqXL49Dhw4hMDAQhw4dwrp16/I9Zs6cOZDJZG+ohLkTBAGzzkzVzqf0OrWgxuzgafl21RniHHl5dboBhiYiIiLDMNlzVWFhYbhx4wYCAwNRqlQplCpVCgMGDMC6deswcODAXI85fvw47ty5g9atWxfqmlKpBFKpfmOFAOBM9KkcrUOvi3wegSa/14eVmVWur6dkpuD+i3sFniP0cQiaO7fQqXz37mlCpVwuwMVFArlc//f8Jshk0mz/J92xDg2D9ag/1qFhsB71Z8g6NFlounr1KpydnWFnZ6fdVq9ePURGRiIpKQk2NjbZ9k9LS8Ps2bMxd+5c7Nixo1DXdHS01nuANQC8iI4XtV9BoUjUtRAPBwdrnY7JmnvUxUWCsmV1O7YosLW1NHURij3WoWGwHvXHOjQM1qP+DFGHJgtNCQkJsLW1zbYtK0DFx8fnCE0///wzGjZsCE9Pz0KHpri4ZIO0NJWCg6j9fF38UN7aKdfXYpNjsT9yr6hrxcfr9lTijRsWAGSoWlWJ+Ph0nY41JZlMCltbSyQmpkKlYrdiYbAODYP1qD/WoWGwHvUnpg7FNk6YdNpDseN17ty5gy1btmDXrsINjM6iVgtQq/WfHbtpueaoZuuSbxedi50r1vluyrNlSxAEeGxoWOA5mpTzhFKp2w9KeLjmmi4uap2PLQpUquJZ7qKEdWgYrEf9sQ4Ng/WoP0PUock6SR0dHZGQkJBtW0JCAiQSCRwdHbXbBEHAzJkzMWrUKJQtW/YNlzJ3EokEM7zmQCrJvfqkEimmN/8m365AQ5wjN69ON8BB4ERERIZjstDk5uaGmJgYxMXFabeFhYWhRo0asLZ+2Uz28OFDnD9/HkuWLIGHhwc8PDwQFBSE1atXo0ePHqYoOgDNMicBPuvhYueabbuLnSsCfNaLmmPJEOd43avTDXCOJiIiIsMxWfdc3bp1Ub9+fSxcuBBff/01Hj16hMDAQAwaNAgA4Ovrizlz5qBRo0Y4fvx4tmO/++47ODk5YciQIaYoupa/axd0cumM84+DkYQElIIDmpTz1Kl1KOscITFn8Cg5Fk7WFeBRoXmhB6xnzQQOANWqMTQREREZiknHNC1ZsgTTpk1DixYtYGNjgz59+qBfv34AgMjISKSkpEAmk8HJKftgaktLS9jY2BSJ7jqJRAIvZ284OFgjPj65UP2lEokEzSvqNq1AXiIjNWFLLhdQpYr+47eIiIhIw6ShycnJCatWrcr1tZs3b+Z53Pfff2+sIhV7WS1NlSsLkJv0X5eIiOjtwo/VIkAQgJAQGWJjJXByEuDpqUJhp5PKCk0cz0RERGRYDE0mFhQkx6xZimwDuKtVU2PGjHT4+yt1Pl/WEip8co6IiMiwOC+7CQUFyTF4sEW2wARonoAbPNgCQUG6ZdrUVODhQ7Y0ERERGQNDk4kIAjBrlgJqde79cGq1BLNnK6DLer2vhi+2NBERERkWQ5OJhITIcrQwvS4yUoqzZ2Wiz/nqdAMMTURERIbF0GQisbHiRnqL3Q8AIiI0+8pkAipX5nQDREREhsTQZCIpKeL2c3ISH35enW7AzKwwpSIiIqK8MDSZwMaNckyaZFHgfpaWAmrVUok+L6cbICIiMh6GpjcoPR0YO1aBL7+0RHq6BGZmAiSSvFuSUlMl6NDBGmFh4v6ZskITxzMREREZHkPTG/LggQRdu1ph/XpzAECVKmrs25eCNWvScoScatXUaN06EwBw754U/v5W2LQp/+kHUlOB6Gi2NBERERkLJ7d8A44dk2HYMAvExWlCTYcOSvz8cyrs7YH69dXo1EmJkBAZHj3SzAju4aGZEXzTJiUmTLBAWpoEX3xhidDQDMydmw6FIuc17t7lk3NERETGxJYmI1KrgZ9+MseHH1oiLk4KiUTAxInpWL9eE5iySCRA8+YqdO+uzLaESp8+SgQFpaBKFU0I+u03c3TtaoUHD3I+UffqdANsaSIiIjI8hiYjef4c+PRTS3z7rQKCIIGDg4CNG1MxdmwGpDrUev36ahw6lIz27TVLqvzzjwwdOljh+PHs8zdxugEiIiLjYmjSkyAAZ85IsWmT5v+CAFy9KkWHDtbYv1/T+9mggQoHDyajbVvxT8K9yt4e+P33VEycmA6JRMCzZ1J8+KElFi82h1r9csFfAChbVoCcna5EREQGx49XPeRcbNcSZcqokZgoQUaGpuXno48y8N136bAoeIaBfEmlwNixGWjUSIVhwyyRkCDB3LkK7Nkjw7NnUty7pylDbKwUHh7WhV7wl4iIiHLHlqZCymux3adPpcjIkEAuF/Djj2lYtEj/wPSqtm01rVYNGmharf75R64NTFkKu+AvERER5Y2hqRAKWmwXAMqVE/DRR5lGuX7VqgJ27UqBjU3eY5cKs+AvERER5Y2hqRDELLb78KFui+3q6tIlGZKS8l+XTtcFf4mIiChvDE2FYIzFdotjGYiIiEoShqZCELuIri6L7RbHMhAREZUkDE2F4OmpQrVq+U8g6eKihodH4aYYKC5lICIiKkkYmgpBIgFmzEiHVJp7K45UKmD69HTtzN5vaxmIiIhKEoamQvL3VyIgIOdiuy4uagQEpL2ROZKKQhmIiIhKCk7kowd/fyU6dVLi/Hk5kpIsUapUKpo0Ub7R1p2sMuS24C8REREZDkOTniQSwMtLDQcHID5eDaUJGneyFvwlIiIi42H3HBEREZEIDE1EREREIjA0EREREYnA0EREREQkAkMTERERkQgMTUREREQiMDQRERERicDQRERERCQCQxMRERGRCAxNRERERCIwNBERERGJwNBEREREJAJDExEREZEIDE1EREREIjA0EREREYnA0EREREQkAkMTERERkQgMTUREREQiMDQRERERicDQRERERCQCQxMRERGRCAxNRERERCIwNBERERGJwNBEREREJAJDExEREZEIDE1EREREIjA0EREREYnA0EREREQkAkMTERERkQgMTUREREQiMDQRERERicDQRERERCQCQxMRERGRCAxNRERERCIwNBERERGJwNBEREREJAJDExEREZEIDE1EREREIjA0EREREYnA0EREREQkgklDU3R0ND777DN4eHigTZs2mD9/PtRqda77bty4ET4+PmjUqBG6deuGQ4cOveHSEhERUUlm0tA0atQolC9fHocOHUJgYCAOHTqEdevW5dhv//79WLhwIb799lucO3cOH3/8Mb766ivcv3/fBKUmIiKikshkoSksLAw3btzAuHHjUKpUKVSrVg0DBgzA5s2bc+yblpaGMWPGwN3dHWZmZujduzesra1x6dKlN19wIiIiKpHkprrw1atX4ezsDDs7O+22evXqITIyEklJSbCxsdFu79atW7ZjExMTkZycjPLly+t0TalUAqlUol/BcyGTSbP9nwqH9ag/1qFhsB71xzo0DNaj/gxZhyYLTQkJCbC1tc22LStAxcfHZwtNrxIEAVOnTsW7776LZs2a6XRNR0drSCSGD01ZbG0tjXbukoT1qD/WoWGwHvXHOjQM1qP+DFGHJgtNgCYA6SIzMxOTJk3CnTt38Ntvv+l8vbi4ZKO1NNnaWiIxMRUqVe4D2algrEf9sQ4Ng/WoP9ahYbAe9SemDh0crEWdy2ShydHREQkJCdm2JSQkQCKRwNHRMcf+aWlp+Pzzz5GamooNGzbAwcFB52uq1QLUat2Cmi5UKjWUSt7U+mI96o91aBisR/2xDg2D9ag/Q9ShyTpJ3dzcEBMTg7i4OO22sLAw1KhRA9bW2ROfIAgYPXo05HI51q5dW6jARERERKQPk4WmunXron79+li4cCGSkpIQHh6OwMBA9O3bFwDg6+uL0NBQAMCuXbtw584dLF68GAqFwlRFJiIiohLMpGOalixZgmnTpqFFixawsbFBnz590K9fPwBAZGQkUlJSAAB//fUXoqOjcwz87tatG+bMmfPGy01EREQlj0lDk5OTE1atWpXrazdv3tT+ObcJL4mIiIjeJE78QERERCQCQxMRERGRCAxNRERERCIwNBERERGJwNBEREREJAJDExEREZEIDE1EREREIjA0EREREYnA0EREREQkAkMTERERkQgMTUREREQiMDQRERERicDQRERERCQCQxMRERGRCAxNRERERCIwNBERERGJwNBEREREJAJDExEREZEIDE1EREREIjA0EREREYnA0EREREQkAkMTERERkQgMTUREREQiMDQRERERicDQRERERCQCQxMRERGRCAxNRERERCIwNBERERGJwNBEREREJAJDExEREZEIDE1EREREIjA0EREREYnA0EREREQkAkMTERERkQgMTUREREQiMDQRERERicDQRERERCQCQxMRERGRCAxNRERERCIwNBERERGJwNBEREREJAJDExEREZEIDE1EREREIjA0EREREYnA0EREREQkAkMTERERkQgMTUREREQiMDQRERERicDQRERERCQCQxMRERGRCAxNRERERCIwNBERERGJwNBEREREJAJDExEREZEIDE1EREREIjA0EREREYnA0EREREQkAkMTERERkQgMTUREREQiMDQRERERicDQRERERCQCQxMRERGRCAxNRERERCIwNBERERGJwNBEREREJIJJQ1N0dDQ+++wzeHh4oE2bNpg/fz7UanWu+/7222/w8fFB48aN0bdvX1y5cuUNl5aIiIhKMpOGplGjRqF8+fI4dOgQAgMDcejQIaxbty7HfkeOHMHSpUvxww8/4MyZM2jTpg2GDRuGlJQUE5SaiIiISiKThaawsDDcuHED48aNQ6lSpVCtWjUMGDAAmzdvzrHv5s2b0bNnT7z77ruwsLDAkCFDAABHjx5908UmIiKiEkpuqgtfvXoVzs7OsLOz026rV68eIiMjkZSUBBsbm2z7durUSft3qVSKOnXqICws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X+bPn89LL71EdnZ2iW0/++wzhg8fTosWLQAYPXo0ERER/PTTT3Ts2NGh81ksBhaL669Yq9VS6KuUj/LoPOXQNZRH5ymH+a680gTOFBdlz4WzeSzP+bt1MwkPtxfqpfqn5s3tXHGFiWFUzM93woQchg/3zR9i/McdiBaLyQsv5ODt7di5XXkturVoGjZsmEPtsrKy+P3332nTpk3BYzVq1KBZs2bEx8c7XDTVrh1Yob1SwcGuWom2elMenaccuoby6Dzl0DUqO4/TpsHgweRvuPsPFgtMnWqhdu3ACjv/0KFQowaMHQu//210rmVLeOUVg4ED/cp8TFfksEqs03T69GlM0yQkJKTQ4yEhIZw6dcrh45w8mV5hPU3Bwf6kpGSSl1f9xu5dRXl0nnLoGsqj85RD13BXHq++Gv77XyvPP+/Dvn1ne2iaN7fz/PM5XH11HmX457fcMWzYALGxFo4cMWjQwCQy0o5hUKZzO5LDWrUcKwCrRNF0hrNz1u12E7u94ua95+XZq+WER1dTHp2nHLqG8ug85dA13JHH3r3t9OqVW+S8KJvjc9mddvnlZ993nhPTmFyRwypRNNWsWROLxUJycnKhx5OTk6lTp457ghIRETnPVdXV4StKlZih5+vrS6tWrdi5c2fBYykpKRw4cIAOHTq4MTIRERGpLjy2aDp69Ci9e/fm4MGDANx2223873//Y+/evaSlpTF16lQuvvhi2rdv7+ZIRUREpDpw6/DcmYLH9tfg6OrVqwGIj48nNzeXhIQEcnJyALj11ls5fvw4Q4cOJT09nYiICN588033BC4iIiLVjttXBK9MWhHcsymPzlMOXUN5dJ5y6BrKo/NcuSK4xw7PiYiIiHgSFU0iIiIiDqhWw3MiIiIi5aWeJhEREREHqGgSERERcYCKJhEREREHqGgSERERcYCKJhEREREHqGgSERERcYCKJhEREREHqGgSERERcYCKJhEREREHqGgSERERcYCKJicdOnSI+++/n4iICK655hqmTJmC3a6dqMvqwgsvpF27drRv377gvxdffNHdYXm8tWvXEhUVxejRo895bvny5fTr149LL72UQYMG8eOPP7ohQs9XXA4XLFjARRddVOiabN++PTt27HBTpJ7r0KFDPPTQQ0RERBAVFcVTTz1FSkoKAL/88gt33nknnTp14vrrr+e9995zc7Se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\n"
730
          },
731
          "metadata": {}
732
        }
733
      ],
734
      "source": [
735
        "import matplotlib.pyplot as plt\n",
736
        "\n",
737
        "plt.style.use(\"seaborn\")\n",
738
        "fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(6, 9))\n",
739
        "\n",
740
        "ax1.plot(q_history.history[\"val_accuracy\"], \"-ob\", label=\"With quantum layer\")\n",
741
        "ax1.plot(c_history.history[\"val_accuracy\"], \"-og\", label=\"Without quantum layer\")\n",
742
        "ax1.set_ylabel(\"Accuracy\")\n",
743
        "ax1.set_ylim([0, 1])\n",
744
        "ax1.set_xlabel(\"Epoch\")\n",
745
        "ax1.legend()\n",
746
        "\n",
747
        "ax2.plot(q_history.history[\"val_loss\"], \"-ob\", label=\"With quantum layer\")\n",
748
        "ax2.plot(c_history.history[\"val_loss\"], \"-og\", label=\"Without quantum layer\")\n",
749
        "ax2.set_ylabel(\"Loss\")\n",
750
        "ax2.set_ylim(top=2.5)\n",
751
        "ax2.set_xlabel(\"Epoch\")\n",
752
        "ax2.legend()\n",
753
        "plt.tight_layout()\n",
754
        "plt.show()"
755
      ]
756
    },
757
    {
758
      "cell_type": "markdown",
759
      "metadata": {
760
        "id": "eMlB7sMWO5ko"
761
      },
762
      "source": [
763
        "References\n",
764
        "==========\n",
765
        "\n",
766
        "1.  Maxwell Henderson, Samriddhi Shakya, Shashindra Pradhan, Tristan\n",
767
        "    Cook. \\\"Quanvolutional Neural Networks: Powering Image Recognition\n",
768
        "    with Quantum Circuits.\\\"\n",
769
        "    [arXiv:1904.04767](https://arxiv.org/abs/1904.04767), 2019.\n",
770
        "\n",
771
        "About the author\n",
772
        "================\n"
773
      ]
774
    }
775
  ],
776
  "metadata": {
777
    "kernelspec": {
778
      "display_name": "Python 3",
779
      "language": "python",
780
      "name": "python3"
781
    },
782
    "language_info": {
783
      "codemirror_mode": {
784
        "name": "ipython",
785
        "version": 3
786
      },
787
      "file_extension": ".py",
788
      "mimetype": "text/x-python",
789
      "name": "python",
790
      "nbconvert_exporter": "python",
791
      "pygments_lexer": "ipython3",
792
      "version": "3.9.17"
793
    },
794
    "colab": {
795
      "provenance": []
796
    }
797
  },
798
  "nbformat": 4,
799
  "nbformat_minor": 0
800
}