diff --git a/model_gen/.gitattributes b/model_gen/.gitattributes
new file mode 100644
index 0000000..6216e61
--- /dev/null
+++ b/model_gen/.gitattributes
@@ -0,0 +1,3 @@
+captcha_75_25.h5 filter=lfs diff=lfs merge=lfs -text
+captcha_75_25.keras filter=lfs diff=lfs merge=lfs -text
+captcha_75_25.tf filter=lfs diff=lfs merge=lfs -text
diff --git a/model_gen/captcha_ocr.ipynb b/model_gen/captcha_ocr.ipynb
new file mode 100644
index 0000000..27b77cc
--- /dev/null
+++ b/model_gen/captcha_ocr.ipynb
@@ -0,0 +1,886 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "mjAScbd2vl9P"
+ },
+ "source": [
+ "# OCR model for reading Captchas\n",
+ "\n",
+ "**Author:** [A_K_Nain](https://twitter.com/A_K_Nain)
\n",
+ "**Date created:** 2020/06/14
\n",
+ "**Last modified:** 2020/06/26
\n",
+ "**Description:** How to implement an OCR model using CNNs, RNNs and CTC loss."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "wWvlZPBJvl9U"
+ },
+ "source": [
+ "## Introduction\n",
+ "\n",
+ "This example demonstrates a simple OCR model built with the Functional API. Apart from\n",
+ "combining CNN and RNN, it also illustrates how you can instantiate a new layer\n",
+ "and use it as an \"Endpoint layer\" for implementing CTC loss. For a detailed\n",
+ "guide to layer subclassing, please check out\n",
+ "[this page](https://keras.io/guides/making_new_layers_and_models_via_subclassing/)\n",
+ "in the developer guides."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "Yq0Pe4Zuvl9U"
+ },
+ "source": [
+ "## Setup"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "id": "5q-xCl8Qvl9V"
+ },
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2023-08-08 08:50:40.669196: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.\n",
+ "To enable the following instructions: SSE3 SSE4.1 SSE4.2 AVX AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import os\n",
+ "import numpy as np\n",
+ "import matplotlib.pyplot as plt\n",
+ "import sys\n",
+ "\n",
+ "from pathlib import Path\n",
+ "from collections import Counter\n",
+ "\n",
+ "import tensorflow as tf\n",
+ "from tensorflow import keras\n",
+ "from tensorflow.keras import layers\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "True"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "tf.executing_eagerly()\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "sSm7N--8vl9W"
+ },
+ "source": [
+ "## Load the data: [Captcha Images](https://www.kaggle.com/fournierp/captcha-version-2-images)\n",
+ "Let's download the data."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "id": "g3EVJfHBvl9X"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Number of images found: 10056\n",
+ "Number of labels found: 10056\n",
+ "Number of unique characters: 22\n",
+ "Characters present: [' ', '0', '2', '4', '5', '8', 'A', 'D', 'G', 'H', 'J', 'K', 'M', 'N', 'P', 'R', 'S', 'T', 'V', 'W', 'X', 'Y']\n"
+ ]
+ }
+ ],
+ "source": [
+ "substitutions = {\n",
+ " 'B': '8',\n",
+ " 'F': 'P',\n",
+ " 'U': 'V',\n",
+ " '6': 'G',\n",
+ " 'Z': '2',\n",
+ " 'O': '0'\n",
+ "}\n",
+ "\n",
+ "def apply_substitutions(input_string):\n",
+ " output_string = \"\"\n",
+ " for char in input_string:\n",
+ " if char in substitutions:\n",
+ " output_string += substitutions[char]\n",
+ " else:\n",
+ " output_string += char\n",
+ " \n",
+ " return output_string\n",
+ " \n",
+ "data_dir = Path(\"./captcha_images_v2/\")\n",
+ "vdata_dir = Path(\"./validation/\")\n",
+ "cdir = Path(\"./cache/\")\n",
+ "\n",
+ "# Get list of all the images\n",
+ "images = sorted(list(map(str, list(data_dir.glob(\"*.png\")))))\n",
+ "labels = [apply_substitutions(img.split(os.path.sep)[-1].split(\".png\")[0]) for img in images]\n",
+ "\n",
+ "images_v = sorted(list(map(str, list(vdata_dir.glob(\"*.png\")))))\n",
+ "labels_v = [img.split(os.path.sep)[-1].split(\".png\")[0] for img in images_v]\n",
+ "\n",
+ "# Maximum length of any captcha in the dataset\n",
+ "max_length = max([len(label) for label in labels])\n",
+ "labels = [x + ' ' * (max_length - len(x)) for x in labels]\n",
+ "labels_v = [x + ' ' * (max_length - len(x)) for x in labels_v]\n",
+ "\n",
+ "characters = set(char for label in labels for char in label)\n",
+ "characters = sorted(list(characters))\n",
+ "\n",
+ "print(\"Number of images found: \", len(images))\n",
+ "print(\"Number of labels found: \", len(labels))\n",
+ "print(\"Number of unique characters: \", len(characters))\n",
+ "print(\"Characters present: \", characters)\n",
+ "\n",
+ "# Batch size for training and validation\n",
+ "batch_size = 4\n",
+ "\n",
+ "# Desired image dimensions\n",
+ "img_width = 300\n",
+ "img_height = 80\n",
+ "\n",
+ "# Factor by which the image is going to be downsampled\n",
+ "# by the convolutional blocks. We will be using two\n",
+ "# convolution blocks and each block will have\n",
+ "# a pooling layer which downsample the features by a factor of 2.\n",
+ "# Hence total downsampling factor would be 4.\n",
+ "downsample_factor = 4\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "gqn-NjRovl9Y"
+ },
+ "source": [
+ "## Preprocessing"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "id": "MjQltH0Mvl9Y"
+ },
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "2023-08-08 08:57:18.156048: I tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:995] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355\n",
+ "2023-08-08 08:57:18.442949: I tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:995] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355\n",
+ "2023-08-08 08:57:18.443125: I tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:995] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355\n",
+ "2023-08-08 08:57:18.446150: I tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:995] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355\n",
+ "2023-08-08 08:57:18.446487: I tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:995] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355\n",
+ "2023-08-08 08:57:18.446778: I tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:995] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355\n",
+ "2023-08-08 08:57:18.532929: I tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:995] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355\n",
+ "2023-08-08 08:57:18.533550: I tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:995] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355\n",
+ "2023-08-08 08:57:18.533758: I tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:995] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355\n",
+ "2023-08-08 08:57:18.533855: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1639] Created device /job:localhost/replica:0/task:0/device:GPU:0 with 2216 MB memory: -> device: 0, name: NVIDIA GeForce GTX 1650, pci bus id: 0000:01:00.0, compute capability: 7.5\n",
+ "2023-08-08 08:57:18.534141: I tensorflow/core/common_runtime/process_util.cc:146] Creating new thread pool with default inter op setting: 2. Tune using inter_op_parallelism_threads for best performance.\n"
+ ]
+ }
+ ],
+ "source": [
+ "from skimage.morphology import opening, square, label\n",
+ "from skimage.measure import regionprops\n",
+ "from skimage.io import imread, imsave\n",
+ "from skimage import img_as_ubyte\n",
+ "\n",
+ "def crop_and_fill(image, crop_size, fill_value):\n",
+ " # Create a new image with the desired crop size and fill color\n",
+ " cropped_image = np.full(crop_size, fill_value, dtype=image.dtype) \n",
+ " original_size = image.shape\n",
+ " cropped_image[0:original_size[0], 0:original_size[1]] = image\n",
+ "\n",
+ " return cropped_image.reshape(cropped_image.shape[0], cropped_image.shape[1], 1)\n",
+ " \n",
+ "# Mapping characters to integers\n",
+ "char_to_num = layers.StringLookup(\n",
+ " vocabulary=list(characters), mask_token=None,\n",
+ ")\n",
+ "\n",
+ "# Mapping integers back to original characters\n",
+ "num_to_char = layers.StringLookup(\n",
+ " vocabulary=char_to_num.get_vocabulary(), mask_token=None, invert=True\n",
+ ")\n",
+ "\n",
+ "def filter_image(img, kernel_size=3, num_components=8, min_height_ratio=0.25, max_height_ratio=1):\n",
+ " # Binarize the image\n",
+ " binary_image = img < 0.5 # Pixels with a value less than 0.5 will be True (1)\n",
+ "\n",
+ " # Label connected components in the image\n",
+ " label_image = label(binary_image)\n",
+ "\n",
+ " # Get properties of the labeled regions\n",
+ " properties = regionprops(label_image)\n",
+ "\n",
+ " # Sort the regions by area (in descending order)\n",
+ " properties.sort(key=lambda x: x.area, reverse=True)\n",
+ "\n",
+ " # Create an empty image to store the result\n",
+ " filtered_image = np.zeros_like(label_image, dtype=bool)\n",
+ "\n",
+ " # Keep only the largest components that satisfy the height constraints\n",
+ " for prop in properties[:num_components]:\n",
+ " minr, minc, maxr, maxc = prop.bbox\n",
+ " height = maxr - minr\n",
+ " if height > max_height_ratio * img.shape[0] or height < min_height_ratio * img.shape[0]:\n",
+ " continue\n",
+ " filtered_image[label_image == prop.label] = 1\n",
+ "\n",
+ " return filtered_image == 0\n",
+ "\n",
+ "\n",
+ "def read_and_process(imgpath, cdir):\n",
+ " img = imread(imgpath, as_gray=True);\n",
+ " img = np.hstack([img, np.ones((img_height, img_width - img.shape[1]))]).astype(\"float32\")\n",
+ " img = filter_image(img)\n",
+ " output_path = os.path.join(cdir, Path(imgpath).stem + \".png\")\n",
+ " imsave(output_path, np.clip(img_as_ubyte(img), 0, 238))\n",
+ " return tf.convert_to_tensor((1 - img).astype(\"float32\").reshape((80, 300, 1)));\n",
+ "\n",
+ "def load_data(images, labels, cache):\n",
+ " os.makedirs(cache, exist_ok=True)\n",
+ " # 1. Get the total size of the dataset\n",
+ " size = len(images)\n",
+ " # 2. Make an indices array and shuffle it, if required\n",
+ " indices = np.arange(size)\n",
+ " np.random.shuffle(indices)\n",
+ " # 3. Get the size of training samples\n",
+ " train_samples = int(size)\n",
+ " # 4. Split data into training and validation sets\n",
+ " x_train, y_train = images[indices], labels[indices]\n",
+ " x_train = [read_and_process(x, cache) for x in x_train]\n",
+ " return x_train, y_train\n",
+ "\n",
+ "\n",
+ "# Splitting data into training and validation sets\n",
+ "rx_train, ry_train = load_data(np.array(images), np.array(labels), Path(\"sdir\"))\n",
+ "\n",
+ "def pad_image(image, target_height, target_width, pad_value):\n",
+ " # Compute the padding sizes\n",
+ " height, width = tf.shape(image)[0], tf.shape(image)[1]\n",
+ " pad_height = target_height - height\n",
+ " pad_width = target_width - width\n",
+ "\n",
+ " # Check if padding is needed\n",
+ " if pad_height < 0:\n",
+ " pad_height = 0;\n",
+ " \n",
+ " if pad_width < 0:\n",
+ " pad_width = 0;\n",
+ "\n",
+ " # Pad the image\n",
+ " padded_image = tf.pad(image, [[pad_height // 2, pad_height - pad_height // 2], \n",
+ " [pad_width // 2, pad_width - pad_width // 2], \n",
+ " [0, 0]], constant_values=pad_value)\n",
+ " return padded_image\n",
+ "\n",
+ "def encode_single_sample(img, label):\n",
+ " img = tf.image.convert_image_dtype(img, tf.float32)\n",
+ " # 4. Resize to the desired size\n",
+ " #img = tf.image.resize_with_pad(img, img_height, img_width)\n",
+ " # 5. Transpose the image because we want the time\n",
+ " # dimension to correspond to the width of the image.\n",
+ " img = tf.transpose(img, perm=[1, 0, 2])\n",
+ " # 6. Map the characters in label to numbers\n",
+ " label = char_to_num(tf.strings.unicode_split(label, input_encoding=\"UTF-8\"))\n",
+ " # 7. Return a dict as our model is expecting two inputs\n",
+ " return {\"image\": img, \"label\": label}\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "fnwhurZ-vl9Z"
+ },
+ "source": [
+ "## Create `Dataset` objects"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "2514\n",
+ "7542\n"
+ ]
+ }
+ ],
+ "source": [
+ "split_index = int(len(rx_train) * 0.75)\n",
+ "\n",
+ "# Move the first 75% of x_valid to x_train\n",
+ "x_train = rx_train[:split_index];\n",
+ "# Move the first 75% of y_valid to y_train\n",
+ "y_train = ry_train[:split_index];\n",
+ "\n",
+ "# Keep only the last 25% of x_valid\n",
+ "x_valid = rx_train[split_index:]\n",
+ "# Keep only the last 25% of y_valid\n",
+ "y_valid = ry_train[split_index:]\n",
+ "\n",
+ "print(len(x_valid))\n",
+ "print(len(x_train))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "id": "k2MZdcpXvl9Z"
+ },
+ "outputs": [],
+ "source": [
+ "train_dataset = tf.data.Dataset.from_tensor_slices((x_train, y_train))\n",
+ "train_dataset = (\n",
+ " train_dataset.map(\n",
+ " encode_single_sample, num_parallel_calls=tf.data.AUTOTUNE\n",
+ " )\n",
+ " .batch(batch_size)\n",
+ " .prefetch(buffer_size=tf.data.AUTOTUNE)\n",
+ ")\n",
+ "\n",
+ "validation_dataset = tf.data.Dataset.from_tensor_slices((x_valid, y_valid))\n",
+ "validation_dataset = (\n",
+ " validation_dataset.map(\n",
+ " encode_single_sample, num_parallel_calls=tf.data.AUTOTUNE\n",
+ " )\n",
+ " .batch(batch_size)\n",
+ " .prefetch(buffer_size=tf.data.AUTOTUNE)\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "NI0NRV5Ivl9Z"
+ },
+ "source": [
+ "## Visualize the data"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "id": "7GT5RSNgvl9Z"
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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QgAPcwxAofOMHm2m1pdPPvkEBw8ehKenJ2bMmIFu3bqhV69e+Pzzz9G4cWOcPHkS3bt3N5hOlSpV4OfnBxExuOxOT59frVu3RqVKlUr8fRRnmzZlyhR8+umn2LZtG15++WU+noLKzfPPPw83Nzej9fjBgwfYsGEDWrRooTybT+3ZZ59F3bp1i/07ojfffBNpaWlYu3at0U2Ihg8frlyCl/fZgFQwjYgF5+fpkda8eXPY29vj+PHj5R0K0b/Sjh078OKLL+L777/Hs88+W97hkJUbN24cvvzySyQnJxd4gwUiIioa40deE+WRmZmJo0eP4ocffsDvv/+uHPkmopJz+fJlnDlzBh9++CFq166Np59+urxDIit26tQpnDhxAqtXr0bv3r1ZJBERlRKeUaICxcTEoGHDhvDw8MCIESPw8ccf88nORCVs+PDh2LJlC9q0aYMFCxagRYsW5R0SWbH69esjJSVFuUzb1dW1vEMiIvpXYqFERERERESkwlMDREREREREKiyUiIiIiIiIVFgoERERERERqbBQIiIiIiIiUqkwtwfXaDTlHQJRgazhvijME7J2zBMi85gnROaVRZ7wjBIREREREZEKCyUiIiIiIiIVFkpEREREREQqLJSIiIiIiIhUWCgRERERERGpsFAiIiIiIiJSYaFERERERESkwkKJiIiIiIhIhYUSERERERGRCgslIiIiIiIiFRZKRESF5O7uDhsbm/IOg6hCql69Ovz8/FC1atXyDoWIqFBYKBGR1atduzbq1KkDBweHcpm/TqdDnTp1MHXqVHzzzTdo3rw5dDpducRCVJHUqFEDderUwdChQzFp0iS89957qFKlSnmHVaKcnZ3LOwT6Fxg0aBC8vLyg1XLX3Jo8Ep+GnZ2dwf+2trblFMmjqX379qhZs6bZflqtFo6OjuW2M0zm2dvbo3bt2pg0aRIqV65cotPOm5f29vZwdHRE//79MXPmTJw6dQp//fUX5s+fj169euHjjz9GjRo1SnT+Bfn444/x119/4T//+Q8GDhyI48eP46uvvoK/v79B3BqNhusvlZiKvj75+Pjgt99+w19//YWQkBB4enriu+++Q2JiosXvS6PRWNXZXI1Gg549e2L69OlYvHgxd26p2Fq3bo0VK1bA29vb5IE4nU6H7t27G+3TUimTCgJAkdvSpUtl6NCh0rRpU9Fo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5OTk4Pr160hISEDHjh1x586dIsVJ/16VKlVCr169EBoaihdffNGg8F+zZg2OHz+O5s2bY9y4cUXaASssGxsb1K9fP99LikzZvn076tatq1yC7eDggKCgIERERODixYsYNmyYQf8aNWoYnGFdt24dEhISihTvwIEDcefOHbRt2xZjx47FjRs3ijSdoqpXrx46deqE+vXr4/r164iIiICnp2eBB4bof5o3b45Ro0bhqaeewqxZszBkyBDs3LkTvXv3hoigdu3aFk1PRDB16lSMHz8effv2xe3btzFy5EjMmDED1apVwxtvvIG+ffvi77//xvLly3Hu3DlERkYaTefo0aO4efMmgIf7EeozV1u2bMGqVauQnp5udHDvwYMHRoXVlStXcOjQIbPx29jY4Pz589i6dSs6deoEOzs7jBgxAt9++y327NmDxYsXA3iYQ3Xr1sWYMWPQpEkTowPDGo3G4CcfHh4eGDx4MAAgICDAaL6XL182uHQ9JSUFcXFx0Gq1CAgIwL179+Du7m4y5tzcXISFheGff/4p9sGKioKFUh4xMTGIiYlBr169AAB9+vTB2rVr4enpiW3btiE5ORm9evXCr7/+mu806tSpUyKxvPPOOwCAsLCwQvU/d+4czp07h59++glPP/00PDw8MH78eDRp0qRQ42s0GvTo0QMdOnTAY489hldffRW//PILcnJysGDBAty4cQNOTk4Wnco2Zfjw4WaPaK5cuRLvv/++cvTe3t4eNWvWxK1bt5Qd53r16hmNZ2trCw8PD7PFLBVs3bp1SgGk0+kMjlwBD8/YFLTzr88BV1dXuLq6YuLEiWjcuLFyxO/q1asICAhA3bp1ERoaChHBggULMGjQIFStWhXTp0/HL7/8ku9ZWBcXF4wcObLAa60tlZCQYHS5hd6+ffvQo0cPnD9/HosWLVKGOzo6onr16njw4AEGDBiAMWPGYNmyZUhPT0f//v1ha2tb6Gu3ExMTDQ4O0L9fYGAgjhw5gtDQUPTt21cpVnJycvD777/j999/x/nz53Hy5EkAwKlTp/D333+XaAwODg544YUX8j3iXrVqVcybNw+1atXCpUuXEBMTgyZNmihFEgDY2dlh6NChWLhwocmCa8uWLWjVqpXJ30hZytbWVtk2lrbc3FxcvXoV9vb2yu8OBw8erOyAnjx5Erdu3UKNGjXQq1cv3Lx5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nhAZYp4QFY56HWWeEBkrq3W0WM9RKiupqalwcXFBSkoKr5Ulq2Mt66e1xEFkirWsn9YSB1F+rGEdtYYYiApSVutoqf9GiYiIiIiIqKJhoURERERERKTCQomIiIiIiEiFhRIREREREZEKCyUiIiIiIiIVFkpEREREREQqLJSIiIiIiIhUWCgRERERERGpsFAiIiIiIiJSYaFERERERESkwkKJiIiIiIhIhYUSERERERGRCgslIiIiIiIiFRZKREREREREKiyUiIiIiIiIVFgoERERERERqbBQIiIiIiIiUmGhREREREREpMJCiYiIiIiISIWFEhERERERkQoLJSIiIiIiIhUWSkRERERERCoslIiIiIiIiFRYKBEREREREamwUCIiIiIiIlJhoURERERERKTCQomIiIiIiEiFhRIREREREZEKCyUiIiIiIiIVFkpEREREREQqLJSIiIiIiIhUilQoLVu2DPXr14eDgwP8/Pxw6NChfPtGRERAo9EYtYsXLxY5aKKKgHlCZB7zhMg85glR+bC4UPruu+8wfvx4TJ48GZGRkejQoQN69uyJ69evFzheVFQU4uLilPbYY48VOWgia8c8ITKPeUJkHvOEqPxYXCjNnz8fI0eOxOuvv47HH38cCxcuhKenJ5YvX17geLVq1ULt2rWVZmNjU+Sgiawd84TIPOYJkXnME6LyY1GhlJWVhVOnTqFbt24Gw7t164bDhw8XOG7Lli3h7u6OLl26IDw8vMC+mZmZSE1NNWhEFQXzhMg85gmRecwTovJlUaGUmJiInJwcuLm5GQx3c3NDfHy8yXHc3d2xcuVKhIaGYvv27fDx8UGXLl1w8ODBfOcze/ZsuLi4KM3T09OSMInKFfOEyDzmCZF5zBOi8mVblJE0Go3B/yJiNEzPx8cHPj4+yv+BgYGIjY3FvHnz0LFjR5PjBAcHY+LEicr/qampTFqqcJgnROYxT4jMY54QlQ+LzijVqFEDNjY2RkcxEhISjI52FCQgIACXLl3K93V7e3s4OzsbNKKKgnlCZB7zhMg85glR+bKoUNLpdPDz80NYWJjB8LCwMLRt27bQ04mMjIS7u7slsyaqMJgnROYxT4jMY54QlS+LL72bOHEihgwZAn9/fwQGBmLlypW4fv06Ro8eDeDh6dsbN25g/fr1AICFCxfC29sbTZs2RVZWFr755huEhoYiNDS0ZN8JkRVhnhCZxzwhMo95QlR+LC6UXn75ZSQlJWHGjBmIi4tDs2bNsHfvXnh5eQEA4uLiDO7tn5WVhffeew83btyAo6MjmjZtiu+//x7PPvtsyb0LIivDPCEyj3lCZB7zhKj8aEREyjsIc1JTU+Hi4oKUlBReN0tWx1rWT2uJg8gUa1k/rSUOovxYwzpqDTEQFaSs1lGLHzhLRERERET0b8dCiYiIiIiISIWFEhERERERkQoLJSIiIiIiIhUWSkRERERERCoslIiIiIiIiFRYKBEREREREamwUCIiIiIiIlJhoURERERERKTCQomIiIiIiEiFhRIREREREZEKCyUiIiIiIiIVFkpEREREREQqLJSIiIiIiIhUWCgRERERERGpsFAiIiIiIiJSYaFERERERESkwkKJiIiIiIhIhYUSERERERGRCgslIiIiIiIiFRZKREREREREKiyUiIiIiIiIVFgoERERERERqbBQIiIiIiIiUmGhREREREREpMJCiYiIiIiISIWFEhERERERkQoLJSIiIiIiIhUWSkRERERERCoslIiIiIiIiFRYKBEREREREakUqVBatmwZ6tevDwcHB/j5+eHQoUMF9j9w4AD8/Pzg4OCABg0aYMWKFUUKlqgiYZ4Qmcc8ITKPeUJUPiwulL777juMHz8ekydPRmRkJDp06ICePXvi+vXrJvtfvXoVzz77LDp06IDIyEh8+OGHGDt2LEJDQ4sdPJG1Yp4Qmcc8ITKPeUJUfjQiIpaM0KZNG7Rq1QrLly9Xhj3++ON44YUXMHv2bKP+H3zwAXbv3o0LFy4ow0aPHo2zZ8/iyJEjJueRmZmJzMxM5f+UlBTUq1cPsbGxcHZ2tiRcolKXmpoKT09PJCcnw8XFBQDzhEiNeUJUOOpcYZ4QGTO1TSkVYoHMzEyxsbGR7du3GwwfO3asdOzY0eQ4HTp0kLFjxxoM2759u9ja2kpWVpbJcaZNmyYA2NgqVLt8+TLzhI3NTGOesLEVrl2+fJl5wsZmpum3KaXFFhZITExETk4O3NzcDIa7ubkhPj7e5Djx8fEm+2dnZyMxMRHu7u5G4wQHB2PixInK/8nJyfDy8sL169dLt2osJn11a+1HYBhnydIfeatevToA5ok5FeVzZZwli3limYryuVaUOIGKE2veXGGeFKyifKZAxYm1osSp3qaUFosKJT2NRmPwv4gYDTPX39RwPXt7e9jb2xsNd3FxseoPTc/Z2ZlxlqCKEqdWa/iTP+ZJwSrK58o4SxbzxDIV5XOtKHECFSfWvLnCPClYRflMgYoTa0WJU71NKfHpW9K5Ro0asLGxMTqKkZCQYHT0Qq927dom+9va2sLV1dXCcImsH/OEyDzmCZF5zBOi8mVRoaTT6eDn54ewsDCD4WFhYWjbtq3JcQIDA43679u3D/7+/rCzs7MwXCLrxzwhMo95QmQe84SonFn6o6bNmzeLnZ2dhISEyPnz52X8+PFSuXJliYmJERGRSZMmyZAhQ5T+V65ckUqVKsmECRPk/PnzEhISInZ2drJt27ZCzzMjI0OmTZsmGRkZloZbphhnyarIcTJP8sc4S1ZFjpN5kj/GWfIqSqzqOJkn+asocYpUnFgZpyGLCyURkaVLl4qXl5fodDpp1aqVHDhwQHlt2LBhEhQUZNA/IiJCWrZsKTqdTry9vWX58uXFCpqoImCeEJnHPCEyj3lCVD4sfo4SERERERHRv13p3iqCiIiIiIioAmKhREREREREpMJCiYiIiIiISIWFEhERERERkUq5FErLli1D/fr14eDgAD8/Pxw6dKjA/gcOHICfnx8cHBzQoEEDrFixwqhPaGgomjRpAnt7ezRp0gQ7duwo0zi3b9+OZ555BjVr1oSzszMCAwPx008/GfRZu3YtNBqNUcvIyCizOCMiIkzGcPHiRYN+pbE8LY11+PDhJmNt2rSp0qekl+nBgwfRq1cveHh4QKPRYOfOnWbHKa31s6LkiaWxMldKNs7yyBOAuVIUzBPmCfPEPOYJ86Q888SIpbfJO3DggDz//PPi7u4uAGTHjh1mx4mIiJBWrVqJvb291KpVS7RarXz99ddy/vx5GTdunFSuXFmuXbtmclz98wDGjRsn58+fl6+//troeQCHDx8WGxsbmTVrlly4cEFmzZoltra2cvToUUvfnkL/3ILCxjlu3Dj57LPP5Pjx4xIdHS3BwcFiZ2cnp0+fVvqsWbNGnJ2dJS4uzqAVh6VxhoeHCwCJiooyiCE7O1vpUxrLsyixJicnG8QYGxsr1atXl2nTpil9SnqZ7t27VyZPniyhoaGFWr/zWz9nzJhhkCdardbs8qyIeSLCXCnv757yyBORkskVGxsb8fPzU/Jk9uzZZpdn3jypX7++jBw50qLlxW1KycbJPCkY88QyzBPmSXH2vUpj/bS4UCrum/H29hatVmvwZnx9fWXSpEkmx3///ffF19fXYNioUaMkICBA+X/AgAHSo0cPgz7du3eXgQMHWvju/qd169YyevRog2EFxWlKkyZNZPr06cr/a9asERcXlyLHZIqlceqT9c6dO/lOszSWZ1FiVduxY4doNBrlIXsipbNM9Qqzfue3fvr4+BjkScuWLQ36qJdnRc0TEeaKtX33lHWeiBQ9V3r27Cl16tRR8qRdu3YFLk9TG0eNRiPdunUzGMcac4V5Yl3Lk3nCPCkO5olLkWMypzj7XqWxflp86V3Pnj3xySef4MUXXyxU/xUrVqBevXpYuHAhGjZsiNjYWHTt2hXz5s1T+nTr1g2HDx82Of6RI0fQrVs3g2Hdu3fHyZMn8eDBgwL75DdNc7KysnDq1CmjaRYUp1pubi7S0tJQvXp1g+F3796Fl5cX6tati+effx6RkZFFirG4cbZs2RLu7u7o0qULwsPDDV4r6eVZ3Fj1QkJC0LVrV3h5eRkML8llaqn8ltXly5cxbdo0JU9atGhh1Cfv+66IeQIwV6zxu8ca8wQwvaz+85//4ObNm+jVqxcA4OLFiwUuz7x58vjjj2Po0KEAgJiYGINxrC1XmCfWtzyZJ8yTomKeWGeelNb6aVu8UM3LG2hiYiJycnLQqVMnTJ06FQ8ePICdnR3c3NwQHx+vjJOZmYnMzEwAwI0bN9CxY0dcuXIFrq6u0Gg0cHJyQnZ2Nq5evYratWsjLi4OVapUQWpqqjKNKlWqIC4uzmBYYcXFxSEnJwdOTk4G47u4uODGjRuFmuaiRYtw9+5d9OzZU+nv6emJ5cuXo0mTJkhLS8Py5cvRtm1bHD58GA0bNiyTOKtUqYJFixahRYsWyMrKwubNm/H0009j7969aNeunTLdklyeRY01r/j4eOzduxchISEGfUt6mardu3evwNhu3LiBoKAg/P333/Dw8IBWq4Wbmxuys7ORmJgId3d3AEDVqlUNxlOv8xUxTwDmirV995RXngCFy5XAwEDk5uZCq314jC5vrgBAcnIy3NzcDMbLu96rN3yJiYkQEVy+fFnJE/U4efMEAGJjY/HUU08hJSUFGo0GALhNKUaczBPLFHebAjBPCsI8KV6ceVXkPHF3d0d8fHyBeVJoFp1/UkEhTo899thj8umnn4qIyI0bNwSAfPXVVwJA/vnnHxER+eSTT8THx0cZZ9q0aQKAja1CtdjYWBER+fXXXwWAcs0uAJkwYYJBXnzzzTdib2/PPGF75Jo+T9S5AkBsbGxk48aN+eZK3jzJmyvA//JEnSvME7aK2kxtUwDmCRtb3pbfvpednV2BeVJYpX5GCYByNKJGjRqwsbFRjorohyckJBhUfcHBwZg4cSIAoEePHvDx8cHatWsRGxsLZ2fnsgiZqNBSU1Ph6emJKlWqAHi4Ptva2sLV1VXpk5ycbDCOep0HmCf076bOE8A4V6pWrWp0tE+93uvzAXiYK1qtFrm5uQbD846TN08AoEuXLjh58iTzhKyWuW0K84TIfJ7Url3bbJ4URqkXSnkD1el08PPzw8GDBw3eTFhYGPr06aOMY29vD3t7ewBAhw4dlNsEOjs7M2HJauk3QPv27YO/v79yeQMAnD171qDvvn370LZtW+V/5gk9KvLuqKlzxdfXF2FhYZgwYYJBH32uqDd8Op0ODRo0UC451cubK3nzBADatWuHkydPMk/I6uW3TWGeEP1PfnkSGBhYYJ4UmkXnn1SAwt2Z4vHHH1f+37x5s2i1WmnQoIGcP39exo8fL5UrV1buqDFp0iQZMmSI0v/KlSvi6OgoACQlJaU44RKVipSUFAEgx48fl5CQEKNbVAIPbw8+Z84cuXDhgsyZM8foFpXME/q30+fJm2++KefPnzfKFeB/tz3OL1fUeSIi0rVrV9FoNBISElKoXDl79izzhKxaQdsU5gnRQ+b2vX777bcC86SwLC6U0tLSJDIyUiIjIwWAzJ8/XyIjI5V7spvagatUqZJMmDBB2Tja2NhIjRo1RKfTSatWreTAgQNK/2HDhklQUJDBPL///nsmLFktfbLa2dmJt7e3LF++3ChPhg0bJl5eXmJrayu+vr7St29f5gk9UvR58uSTT4pOpxNvb29ZsGCB0fbk888/lwYNGoidnZ1Ur17dYD03lSd2dnby+uuvi5eXV6FyRR8H84SslXqbwjwhMmZq30tt69at4uPjI3Z2duLr6yuhoaEWz8fiQkl/L3h1GzZsmIiY3oGLiIiQli1bKhtHU2+mIExYsmam1k/mCZEh5glR4ajXUeYJkbGyWkc1IiKWXaxX9lJTU+Hi4oKUlBReK0tWx1rWT2uJg8gUa1k/rSUOovxYwzpqDTEQFaSs1lGLHzhLRERERET0b8dCiYiIiIiISIWFEhERERERkQoLJSIiIiIiIhUWSkRERERERCoslIiIiIiIiFRYKBEREREREamwUCIiIiIiIlJhoURERERERKTCQomIiIiIiEiFhRIREREREZEKCyUiIiIiIiIVFkpEREREREQqLJSIiIiIiIhUWCgRERERERGpsFAiIiIiIiJSYaFERERERESkwkKJiIiIiIhIhYUSERERERGRCgslIiIiIiIiFRZKREREREREKiyUiIiIiIiIVFgoERERERERqbBQIiIiIiIiUmGhREREREREpMJCiYiIiIiISIWFEhERERERkQoLJSIiIiIiIhUWSkRERERERCoslIiIiIiIiFRYKBEREREREakUqVBatmwZ6tevDwcHB/j5+eHQoUP59o2IiIBGozFqFy9eLHLQRBUB84TIPOYJkXnME6LyYXGh9N1332H8+PGYPHkyIiMj0aFDB/Ts2RPXr18vcLyoqCjExcUp7bHHHity0ETWjnlCZB7zhMg85glR+bG4UJo/fz5GjhyJ119/HY8//jgWLlwIT09PLF++vMDxatWqhdq1ayvNxsamyEETWTvmCZF5zBMi85gnROXHokIpKysLp06dQrdu3QyGd+vWDYcPHy5w3JYtW8Ld3R1dunRBeHh4gX0zMzORmppq0IgqCuYJkXnMEyLzmCdE5cuiQikxMRE5OTlwc3MzGO7m5ob4+HiT47i7u2PlypUIDQ3F9u3b4ePjgy5duuDgwYP5zmf27NlwcXFRmqenpyVhEpUr5gmRecwTIvOYJ0Tly7YoI2k0GoP/RcRomJ6Pjw98fHyU/wMDAxEbG4t58+ahY8eOJscJDg7GxIkTlf9TU1OZtFThME+IzGOeEJnHPCEqHxadUapRowZsbGyMjmIkJCQYHe0oSEBAAC5dupTv6/b29nB2djZoRBUF84TIPOYJkXnME6LyZVGhpNPp4Ofnh7CwMIPhYWFhaNu2baGnExkZCXd3d0tmTVRhME+IzGOeEJnHPCEqXxZfejdx4kQMGTIE/v7+CAwMxMqVK3H9+nWMHj0awMPTtzdu3MD69esBAAsXLoS3tzeaNm2KrKwsfPPNNwgNDUVoaGjJvhMiK8I8ITKPeUJkHvOEqPxYXCi9/PLLSEpKwowZMxAXF4dmzZph79698PLyAgDExcUZ3Ns/KysL7733Hm7cuAFHR0c0bdoU33//PZ599tmSexdEVoZ5QmQe84TIPOYJUfnRiIiUdxDmpKamwsXFBSkpKbxulqyOtayf1hIHkSnWsn5aSxxE+bGGddQaYiAqSFmtoxY/cJaIiIiIiOjfjoUSERERERGRCgslIiIiIiIiFRZKREREREREKiyUiIiIiIiIVFgoERERERERqbBQIiIiIiIiUmGhREREREREpMJCiYiIiIiISIWFEhERERERkQoLJSIiIiIiIhUWSkRERERERCoslIiIiIiIiFRYKBEREREREamwUCIiIiIiIlJhoURERERERKTCQomIiIiIiEiFhRIREREREZEKCyUiIiIiIiIVFkpEREREREQqLJSIiIiIiIhUWCgRERERERGpsFAiIiIiIiJSYaFERERERESkwkKJiIiIiIhIhYUSERERERGRCgslIiIiIiIiFRZKREREREREKiyUiIiIiIiIVFgoERERERERqbBQIiIiIiIiUilSobRs2TLUr18fDg4O8PPzw6FDhwrsf+DAAfj5+cHBwQENGjTAihUrihQsUUXCPCEyj3lCZB7zhKh8WFwofffddxg/fjwmT56MyMhIdOjQAT179sT169dN9r969SqeffZZdOjQAZGRkfjwww8xduxYhIaGFjt4ImvFPCEyj3lCZB7zhKgciYVat24to0ePNhjm6+srkyZNMtn//fffF19fX4Nho0aNkoCAgELPMyUlRQBISkqKpeESlTpT6yfzhMgQ84SocNTrKPOEyFhZraO2lhRVWVlZOHXqFCZNmmQwvFu3bjh8+LDJcY4cOYJu3boZDOvevTtCQkLw4MED2NnZGY2TmZmJzMxM5f+UlBQAQGpqqiXhEpUJ/XopIgCYJ0SmME+ICidvrjBPiExTb1NKi0WFUmJiInJycuDm5mYw3M3NDfHx8SbHiY+PN9k/OzsbiYmJcHd3Nxpn9uzZmD59utFwT09PS8IlKlNJSUlwcXFhnhAVgHlCVDhJSUlwcHBgnhAVQL9NKS0WFUp6Go3G4H8RMRpmrr+p4XrBwcGYOHGi8n9ycjK8vLxw/fr1Ul0YxZWamgpPT0/ExsbC2dm5vMPJF+MsWSkpKahXrx6qV69uMJx5YlpF+VwZZ8linlimonyuFSVOoOLEmjdX7t27B4B5kp+K8pkCFSfWihJnftuUkmZRoVSjRg3Y2NgYHcVISEgwOnqhV7t2bZP9bW1t4erqanIce3t72NvbGw13cXGx6g9Nz9nZmXGWoIoSp1b78N4ozJPCqSifK+MsWcwTy1SUz7WixAlUnFi1Wi3zpJAqymcKVJxYK0qc+m1KqU3fks46nQ5+fn4ICwszGB4WFoa2bduaHCcwMNCo/759++Dv72/yOlmiio55QmQe84TIPOYJUTmz9O4PmzdvFjs7OwkJCZHz58/L+PHjpXLlyhITEyMiIpMmTZIhQ4Yo/a9cuSKVKlWSCRMmyPnz5yUkJETs7Oxk27ZthZ5nRbn7CuMsWRU5TuZJ/hhnyarIcTJP8sc4S15FiVUdJ/MkfxUlTpGKEyvjNGRxoSQisnTpUvHy8hKdTietWrWSAwcOKK8NGzZMgoKCDPpHRERIy5YtRafTibe3tyxfvtyi+WVkZMi0adMkIyOjKOGWGcZZsip6nMwT0xhnyarocTJPTGOcJa+ixGoqTuaJaRUlTpGKEyvjNKQRKeX76hEREREREVUwpfsLKCIiIiIiogqIhRIREREREZEKCyUiIiIiIiIVFkpEREREREQq5VIoLVu2DPXr14eDgwP8/Pxw6NChAvsfOHAAfn5+cHBwQIMGDbBixQqjPqGhoWjSpAns7e3RpEkT7Nixo0zj3L59O5555hnUrFkTzs7OCAwMxE8//WTQZ+3atdBoNEYtIyOjzOKMiIgwGcPFixcN+pXG8rQ01uHDh5uMtWnTpkqfkl6mBw8eRK9eveDh4QGNRoOdO3eaHae01s+KkieWxspcKdk4yyNPAOZKUTBPmCfME/OYJ8yT8swTI6V6Tz0T9M8D+Prrr+X8+fMybtw4qVy5sly7ds1kf/3zAMaNGyfnz5+Xr7/+2uh5AIcPHxYbGxuZNWuWXLhwQWbNmiW2trZy9OjRMotz3Lhx8tlnn8nx48clOjpagoODxc7OTk6fPq30WbNmjTg7O0tcXJxBKw5L4wwPDxcAEhUVZRBDdna20qc0lmdRYk1OTjaIMTY2VqpXry7Tpk1T+pT0Mt27d69MnjxZQkNDBYDs2LGjwP6ltX5WlDwpSqzMlZKNszzyRIS5YinmCfOEeWIe84R5Up55YorFhdKBAwfk+eefF3d390K9GZGH9/Nv1aqV2Nvbi729vXTo0MHgdV9fX5k0aZLJcd9//33x9fU1GDZq1CgJCAhQ/h8wYID06NHDoE/37t1l4MCBhXxXxlq3bi2jR48udJymNGnSRKZPn678v2bNGnFxcSlyTKZYGqc+We/cuZPvNEtjeRYlVrUdO3aIRqNRHrInUjrLVK8w63d+62eTJk0M8qRly5YGfUwtz4qYJyLMFWv77inrPBEpeq706tVLqlatquRJu3btzC7PvHlSv3598fb2tmh5cZtSMOaJS5FjMod5Yh7zxLqWZ0XKk9JaPy2+9C49PR3NmzfHl19+Waj+V69exbPPPosOHTrg2LFjyMrKwpEjRxAaGqr06datGw4fPmxy/CNHjqBbt24Gw7p3746TJ0/iwYMHBfbJb5rmZGVl4dSpU0bTLChOtdzcXKSlpaF69eoGw+/evQsvLy/UrVsXzz//PCIjI4sUY3HjbNmyJdzd3dGlSxeEh4cbvFbSy7O4seqFhISga9eu8PLyMhheksvUUvktq4sXL6JZs2ZKnrRo0cKoT973XRHzBGCuWON3jzXmCWB6WTVv3hwpKSlYuHAhAODixYsFLs+8eRIZGYn3338fMTExqFKlisE41pYrzBPrW57ME+ZJUTFPrDNPSmv9tLhQ6tmzJz755BO8+OKLheq/YsUK1KtXDwsXLkTNmjUhInjuuecwb948pY+bmxvi4+NNjh8fHw83NzeDYW5ubsjOzkZiYmKBffKbpjmJiYnIyckp1jS/+OILpKenY8CAAcowX19frF27Frt378amTZvg4OCAdu3a4dKlS2UWp7u7O1auXInQ0FBs374dPj4+6NKlCw4ePKj0KenlWdRY84qLi8MPP/yA119/3WB4SS9TS+W3rHJzczF27FglT6pWrWrUJ+/7roh5AjBXrO27x1rzBDC9rHr27AkRQYcOHQAAycnJBb73vHny+OOPo3fv3gCAvXv35jtOYeLgNqXocTJPShbzhHlS2GmWRpx5VbQ8Ka3107Z4oZpnqqILCAjARx99hAcPHsDOzg4iAo1Go7yemZmJzMxMAEBOTg7u37+PK1euwNXVFRqNBnfv3gXwsKJNTU2FiOD+/ftITU1VppGeng4ABsMKKy0tDQBw7949g/Hv37+P3Nxcs9PcunUrpk2bpqxA+v5NmjRBkyZNlH6rVq1Chw4d8MUXX+Dzzz8vkzjd3d3x8ssvK//PmTMHV65cwezZs5WzHiW9PIsaa14rVqyAs7Mznn76aYO+Jb1M1dTxquXk5CAjIwN///03PDw8oNVq8fDMMQzWaTX1Ol8R8wRgrljbd0955YmpmNVycnKQmpqK3NxcaLUPj9GZyhV13uRd703lCfDwCLs+T9Tj5M0TAHjw4AFu376NlJQUpQ+3KUWPk3limZLapjBPjDFPih9nXv/2PCk0iy7UU0EhriN87LHH5NNPPxURkczMTOWHVQDkn3/+ERGRsWPHSseOHZVxpk2bJgDY2CpUi42NFRGR7du3i62trWRlZSl5MmLECIO8mD9/vtSrV495wvbINX2eqHMFgLi6usr8+fPzzZW8eaLPFa1WK8D/8kSdK8wTtoraTG1TAOYJG1velt++l6enZ4F5UlilfkYJ+F9Fp9Pp4Ofnh+PHjxsMDwsLQ58+fZT+wcHBmDhxIgBg6tSp2LNnD65cuYLY2Fg4OzuXRchEhZaamgpPT0/l+u99+/bB399fOWoHAGfPnjUYZ9++fWjbtq3BMOYJ/Zup8wQwzhVfX1+EhYVhwoQJBn3y5kreo4E6nQ4+Pj64cOGCwfC8uZI3TwDg/fffx1dffcU8IatlbpvCPCEynyeBgYFm86RQLCqrVADzZ5Q6dOggY8eOVf7fvHmz2NjYiI2NjZw9e1bGjx8vlStXVu6oMWnSJBkyZIjS/8qVK+Lo6CgAJCUlpTjhEpWKlJQUASDHjx+XkJAQo1tUAhCtVitz5syRCxcuyJw5c4xuUck8oX87fZ68+eabcv78eaNcASCzZ88WGxubfHNFnSciIhMnThQA8tVXX8n58+fN5srZs2eZJ2TVCtqmME+IHjK37/Xbb78VmCeFVeqF0vvvvy+PP/64wbD27duLTqcTnU4nrVq1kgMHDiivDRs2TIKCggz6f//990xYslr6ZLWzsxNvb29Zvny5wesA5L///a/4+PiInZ2d+Pr6SmhoqEEf5gn92+nz5MknnxSdTmeUK/rtydatW/PNFVN5Mnr0aKlfv754eXkVKlf0cTBPyFoVtE1hnhA9ZG7fS0QKzJPCsrhQSktLk8jISImMjBQAMn/+fImMjFQeXmXqSHelSpVkwoQJJo8iFgYTlqyZqfWTeUJkiHlCVDjqdZR5QmSsrNZRiwsl/UOz1G3YsGEiYvpId0REhLRs2dLkUcTCYMKSNTO1fjJPiAwxT4gKR72OMk+IjJXVOqoR+f/307NiqampcHFxQUpKCn9USFbHWtZPa4mDyBRrWT+tJQ6i/FjDOmoNMRAVpKzWUYsfOEtERERERPRvx0KJiIiIiIhIhYUSERERERGRCgslIiIiIiIiFRZKREREREREKiyUiIiIiIiIVFgoERERERERqbBQIiIiIiIiUmGhREREREREpMJCiYiIiIiISIWFEhERERERkQoLJSIiIiIiIhUWSkRERERERCoslIiIiIiIiFRYKBEREREREamwUCIiIiIiIlJhoURERERERKTCQomIiIiIiEiFhRIREREREZEKCyUiIiIiIiIVFkpEREREREQqLJSIiIiIiIhUWCgRERERERGpsFAiIiIiIiJSYaFERERERESkwkKJiIiIiIhIhYUSERERERGRCgslIiIiIiIiFRZKREREREREKiyUiIiIiIiIVFgoERERERERqRSpUFq2bBnq168PBwcH+Pn54dChQ/n2jYiIgEajMWoXL14sctBEFQHzhMg85gmRecwTovJhcaH03XffYfz48Zg8eTIiIyPRoUMH9OzZE9evXy9wvKioKMTFxSntscceK3LQRNaOeUJkHvOEyDzmCVH50YiIWDJCmzZt0KpVKyxfvlwZ9vjjj+OFF17A7NmzjfpHRESgc+fOuHPnDqpWrVqoeWRmZiIzM1P5PzU1FZ6enkhJSYGzs7Ml4RKVutTUVLi4uBisn8wTIkPME6LCUecK84TImKltSmmw6IxSVlYWTp06hW7duhkM79atGw4fPlzguC1btoS7uzu6dOmC8PDwAvvOnj0bLi4uSvP09LQkTKJyxTwhMo95QmQe84SofFlUKCUmJiInJwdubm4Gw93c3BAfH29yHHd3d6xcuRKhoaHYvn07fHx80KVLFxw8eDDf+QQHByMlJUVpsbGxloRJVK6YJ0TmMU+IzGOeEJUv26KMpNFoDP4XEaNhej4+PvDx8VH+DwwMRGxsLObNm4eOHTuaHMfe3h729vZFCY3IajBPiMxjnhCZxzwhKh8WnVGqUaMGbGxsjI5iJCQkGB3tKEhAQAAuXbpkyayJKgzmCZF5zBMi85gnROXLokJJp9PBz88PYWFhBsPDwsLQtm3bQk8nMjIS7u7ulsyaqMJgnhCZxzwhMo95QlS+LL70buLEiRgyZAj8/f0RGBiIlStX4vr16xg9ejSAh9e53rhxA+vXrwcALFy4EN7e3mjatCmy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",
+ "text/plain": [
+ "