From c707f9eb9ba5dc641056ba32dd86e90ee3a81abc Mon Sep 17 00:00:00 2001 From: Wolves Date: Fri, 14 Mar 2025 19:30:54 +0800 Subject: [PATCH] 250314 --- .gitignore | 3 +- Users/username/code/linear_regression_m1.py | 40 - lab/8_FC-MNIST.ipynb | 819 ++++++++++++++++++++ lab/8_cnn-yolo.ipynb | 180 ----- lab/test/0.png | Bin 0 -> 28239 bytes lab/test/2.png | Bin 0 -> 29210 bytes lab/test/3.png | Bin 0 -> 27559 bytes requirements.txt | 3 +- 8 files changed, 823 insertions(+), 222 deletions(-) delete mode 100644 Users/username/code/linear_regression_m1.py create mode 100644 lab/8_FC-MNIST.ipynb delete mode 100644 lab/8_cnn-yolo.ipynb create mode 100644 lab/test/0.png create mode 100644 lab/test/2.png create mode 100644 lab/test/3.png diff --git a/.gitignore b/.gitignore index 3147985..d221c1d 100644 --- a/.gitignore +++ b/.gitignore @@ -10,4 +10,5 @@ .vscode -lab/data \ No newline at end of file +lab/data +lab/models \ No newline at end of file diff --git a/Users/username/code/linear_regression_m1.py b/Users/username/code/linear_regression_m1.py deleted file mode 100644 index 348f09a..0000000 --- a/Users/username/code/linear_regression_m1.py +++ /dev/null @@ -1,40 +0,0 @@ -import torch - -# 检查MPS可用性(需要PyTorch 1.12+和macOS 12.3+) -device = torch.device("mps" if torch.backends.mps.is_available() else "cpu") - -# 生成训练数据(移动到MPS设备) -X = torch.randn(1000, 2).to(device) # 1000个样本,2个特征 -y = X @ torch.tensor([2.0, -3.4], device=device) + 4 # 真实关系式 -y += 0.01 * torch.randn(y.shape, device=device) # 添加噪声 - -# 定义模型(必须继承nn.Module) -class LinearRegression(torch.nn.Module): - def __init__(self): - super().__init__() - self.linear = torch.nn.Linear(2, 1) # 输入2维,输出1维 - - def forward(self, x): - return self.linear(x) - -model = LinearRegression().to(device) # 将模型移至MPS设备 -criterion = torch.nn.MSELoss() -optimizer = torch.optim.SGD(model.parameters(), lr=0.1) - -# 训练循环 -for epoch in range(500): - # 前向传播 - outputs = model(X) - loss = criterion(outputs, y.unsqueeze(1)) - - # 反向传播 - optimizer.zero_grad() - loss.backward() - optimizer.step() - - if epoch % 50 == 0: - print(f'Epoch {epoch}, loss: {loss.item():.4f}') - -# 输出最终参数 -print("Learned weights:", model.linear.weight.data) -print("Learned bias:", model.linear.bias.data) diff --git a/lab/8_FC-MNIST.ipynb b/lab/8_FC-MNIST.ipynb new file mode 100644 index 0000000..e9277a7 --- /dev/null +++ b/lab/8_FC-MNIST.ipynb @@ -0,0 +1,819 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 仅全链接层实现手写数字识别,tensorflow版本\n", + "\n", + "## 模型定义\n", + "\n", + "- 输入层:28*28=784\n", + "- 输出层:10\n", + "- 隐藏层:784(input)->256(relu)(dropout-20%)->128(tanh)(dropout-20%)->10(softmax)\n", + "\n", + "## 数据处理\n", + "\n", + "- tf集成的keras中提供了mnist数据集,其数据格式为`numpy.ndarray`\n", + "- 将数据集展平为一维向量并进行归一化\n", + "- 将标签进行one-hot编码\n", + "\n", + "## 训练\n", + "\n", + "- 优化器为`Adam`\n", + "- 损失函数为`categorical_crossentropy` - 分类交叉熵\n", + "- 评估指标为`accuracy`\n", + "- 模型训练时划分训练集和验证集,由验证集对模型进行评估以调整学习率\n", + "- 保存模型到本地 - tf默认保存的内容包括模型的结构、权重、优化器的状态等\n", + "\n", + "## 测试\n", + "\n", + "- 使用keras的接口对模型进行加载\n", + "- 对传入的图片进行处理,先要变28*28,再变一维向量,最后使用同样的归一化\n", + "- 输出的结果是10个数字的概率,使用tf的argmax函数获取概率最大的数字即为预测结果\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "ExecuteTime": { + "end_time": "2025-03-13T12:25:56.129548Z", + "start_time": "2025-03-13T12:25:13.734410Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "可用设备: [PhysicalDevice(name='/physical_device:CPU:0', device_type='CPU'), PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2025-03-14 18:29:18.749063: I metal_plugin/src/device/metal_device.cc:1154] Metal device set to: Apple M1\n", + "2025-03-14 18:29:18.749282: I metal_plugin/src/device/metal_device.cc:296] systemMemory: 16.00 GB\n", + "2025-03-14 18:29:18.749287: I metal_plugin/src/device/metal_device.cc:313] maxCacheSize: 5.33 GB\n", + "2025-03-14 18:29:18.749596: I tensorflow/core/common_runtime/pluggable_device/pluggable_device_factory.cc:306] Could not identify NUMA node of platform GPU ID 0, defaulting to 0. Your kernel may not have been built with NUMA support.\n", + "2025-03-14 18:29:18.750001: I tensorflow/core/common_runtime/pluggable_device/pluggable_device_factory.cc:272] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 0 MB memory) -> physical PluggableDevice (device: 0, name: METAL, pci bus id: )\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1/10\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2025-03-14 18:29:19.283391: I tensorflow/core/grappler/optimizers/custom_graph_optimizer_registry.cc:117] Plugin optimizer for device_type GPU is enabled.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "375/375 [==============================] - 6s 12ms/step - loss: 0.4132 - accuracy: 0.8765 - val_loss: 0.2169 - val_accuracy: 0.9364\n", + "Epoch 2/10\n", + "375/375 [==============================] - 4s 12ms/step - loss: 0.2421 - accuracy: 0.9277 - val_loss: 0.1686 - val_accuracy: 0.9514\n", + "Epoch 3/10\n", + "375/375 [==============================] - 5s 12ms/step - loss: 0.2034 - accuracy: 0.9388 - val_loss: 0.1450 - val_accuracy: 0.9585\n", + "Epoch 4/10\n", + "375/375 [==============================] - 5s 12ms/step - loss: 0.1796 - accuracy: 0.9459 - val_loss: 0.1336 - val_accuracy: 0.9612\n", + "Epoch 5/10\n", + "375/375 [==============================] - 5s 13ms/step - loss: 0.1649 - accuracy: 0.9498 - val_loss: 0.1226 - val_accuracy: 0.9633\n", + "Epoch 6/10\n", + "375/375 [==============================] - 4s 12ms/step - loss: 0.1542 - accuracy: 0.9530 - val_loss: 0.1183 - val_accuracy: 0.9644\n", + "Epoch 7/10\n", + "375/375 [==============================] - 4s 11ms/step - loss: 0.1479 - accuracy: 0.9549 - val_loss: 0.1147 - val_accuracy: 0.9664\n", + "Epoch 8/10\n", + "375/375 [==============================] - 4s 11ms/step - loss: 0.1399 - accuracy: 0.9571 - val_loss: 0.1139 - val_accuracy: 0.9665\n", + "Epoch 9/10\n", + "375/375 [==============================] - 4s 11ms/step - loss: 0.1357 - accuracy: 0.9584 - val_loss: 0.1085 - val_accuracy: 0.9672\n", + "Epoch 10/10\n", + "375/375 [==============================] - 4s 11ms/step - loss: 0.1340 - accuracy: 0.9580 - val_loss: 0.1044 - val_accuracy: 0.9693\n", + "313/313 [==============================] - 3s 9ms/step - loss: 0.1019 - accuracy: 0.9700\n", + "accuracy: 0.9700\n", + "模型已保存到 ./model/mnist_model-tf.h5\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/wolves/mambaforge/envs/ail/lib/python3.10/site-packages/keras/src/engine/training.py:3103: UserWarning: You are saving your model as an HDF5 file via `model.save()`. This file format is considered legacy. We recommend using instead the native Keras format, e.g. `model.save('my_model.keras')`.\n", + " saving_api.save_model(\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA/IAAAGJCAYAAAApGAgTAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAqEdJREFUeJzs3Xd8U/X+x/FXkrbpnumgUAqUAjLLrCggKlpFERQRJ4j36k8EvVonDkQcKC4QFBwXB+LeVxQFFArIUEARESgFWih005bukfz+SAlUyii0pOP9fDzyaHJyzskn4V5P3vkug81msyEiIiIiIiIijYLR2QWIiIiIiIiIyMlTkBcRERERERFpRBTkRURERERERBoRBXkRERERERGRRkRBXkRERERERKQRUZAXERERERERaUQU5EVEREREREQaEQV5ERERERERkUZEQV5ERERERESkEVGQFxERERER3nnnHQwGA7t373Z2KSJyAgryIiIiIiIiIo2IgryIiIiIiIhII6IgLyJOVVhY6OwSREREREQaFQV5kSYmOTmZO+64g44dO+Lh4UFQUBCjRo2qcbxbbm4u99xzD23atMFsNtOqVSvGjBlDVlaWY5+SkhKmTJlChw4dcHd3p0WLFlx11VUkJSUBsGzZMgwGA8uWLat27t27d2MwGHjnnXcc226++Wa8vb1JSkpi6NCh+Pj4cMMNNwCwYsUKRo0aRevWrTGbzURERHDPPfdQXFx8VN1bt27lmmuuITg4GA8PDzp27MgjjzwCwM8//4zBYODLL7886rgPPvgAg8HA6tWra/uxioiINEuvvfYaXbp0wWw2Ex4ezoQJE8jNza22T2JiIiNHjiQsLAx3d3datWrFtddeS15enmOfxYsXM2DAAPz9/fH29qZjx448/PDDZ/jdiDQdLs4uQETq1q+//sovv/zCtddeS6tWrdi9ezdz5sxh8ODBbNmyBU9PTwAKCgoYOHAgf//9N7fccgu9evUiKyuLb775hr1792KxWKisrOTyyy9n6dKlXHvttfznP//h4MGDLF68mM2bNxMVFVXr+ioqKoiLi2PAgAG88MILjno+/fRTioqKGD9+PEFBQaxbt45Zs2axd+9ePv30U8fxmzZtYuDAgbi6unLbbbfRpk0bkpKS+N///sfTTz/N4MGDiYiIYMGCBVx55ZXVXnvBggVERUXRv3//0/iERUREmocpU6bwxBNPMGTIEMaPH8+2bduYM2cOv/76K6tWrcLV1ZWysjLi4uIoLS3lzjvvJCwsjNTUVL799ltyc3Px8/Pjr7/+4vLLL6d79+5MnToVs9nMjh07WLVqlbPfokjjZRORJqWoqOiobatXr7YBtvfee8+xbfLkyTbA9sUXXxy1v9VqtdlsNtu8efNsgO2ll1465j4///yzDbD9/PPP1Z7ftWuXDbC9/fbbjm1jx461AbaHHnropOqeNm2azWAw2JKTkx3bBg0aZPPx8am27ch6bDabbdKkSTaz2WzLzc11bMvIyLC5uLjYHn/88aNeR0RERGy2t99+2wbYdu3aZcvIyLC5ubnZLr74YltlZaVjn9mzZ9sA27x582w2m822ceNGG2D79NNPj3nel19+2QbYMjMz6/09iDQX6lov0sR4eHg47peXl5OdnU379u3x9/dnw4YNjuc+//xzevTocVSrNYDBYHDsY7FYuPPOO4+5z6kYP378cesuLCwkKyuLc845B5vNxsaNGwHIzMwkISGBW265hdatWx+znjFjxlBaWspnn33m2Pbxxx9TUVHBjTfeeMp1i4iINBdLliyhrKyMu+++G6PxcGS49dZb8fX1ZeHChQD4+fkB8MMPP1BUVFTjufz9/QH4+uuvsVqt9Vu4SDOhIC/SxBQXFzN58mQiIiIwm81YLBaCg4PJzc2tNlYtKSmJrl27HvdcSUlJdOzYEReXuhuF4+LiQqtWrY7anpKSws0330xgYCDe3t4EBwdz3nnnATjq3rlzJ8AJ6+7UqRN9+/ZlwYIFjm0LFizg7LPPpn379nX1VkRERJqs5ORkADp27Fhtu5ubG+3atXM837ZtW+Lj43nrrbewWCzExcXx6quvVvvOMXr0aM4991z+/e9/ExoayrXXXssnn3yiUC9yGhTkRZqYO++8k6effpprrrmGTz75hB9//JHFixcTFBRULxfMY7XMV1ZW1rjdbDZX+2X/0L4XXXQRCxcu5MEHH+Srr75i8eLFjonyTqXuMWPGsHz5cvbu3UtSUhJr1qxRa7yIiEg9ePHFF9m0aRMPP/wwxcXF3HXXXXTp0oW9e/cC9l53CQkJLFmyhJtuuolNmzYxevRoLrroomN+XxCR41OQF2liPvvsM8aOHcuLL77I1VdfzUUXXcSAAQOOmmE2KiqKzZs3H/dcUVFRbNu2jfLy8mPuExAQAHDU+Q/9Un8y/vzzT7Zv386LL77Igw8+yPDhwxkyZAjh4eHV9mvXrh3ACesGuPbaazGZTHz44YcsWLAAV1dXRo8efdI1iYiINGeRkZEAbNu2rdr2srIydu3a5Xj+kG7duvHoo4+SkJDAihUrSE1NZe7cuY7njUYjF154IS+99BJbtmzh6aef5qeffuLnn3+u/zcj0gQpyIs0MSaTCZvNVm3brFmzjvrFe+TIkfzxxx81LtN26PiRI0eSlZXF7Nmzj7lPZGQkJpOJhISEas+/9tprtar5yHMeuj9z5sxq+wUHBzNo0CDmzZtHSkpKjfUcYrFYuPTSS3n//fdZsGABl1xyCRaL5aRrEhERac6GDBmCm5sbr7zySrVr7H//+1/y8vK47LLLAMjPz6eioqLasd26dcNoNFJaWgpATk7OUeePiYkBcOwjIrWj5edEmpjLL7+c+fPn4+fnR+fOnVm9ejVLliwhKCio2n73338/n332GaNGjeKWW26hd+/e5OTk8M033zB37lx69OjBmDFjeO+994iPj2fdunUMHDiQwsJClixZwh133MHw4cPx8/Nj1KhRzJo1C4PBQFRUFN9++y0ZGRknXXOnTp2IiorivvvuIzU1FV9fXz7//HMOHDhw1L6vvPIKAwYMoFevXtx22220bduW3bt3s3DhQn7//fdq+44ZM4arr74agCeffLL2H6aIiEgzFRwczKRJk3jiiSe45JJLuOKKK9i2bRuvvfYaffv2dQxX++mnn5g4cSKjRo2iQ4cOVFRUMH/+fEwmEyNHjgRg6tSpJCQkcNlllxEZGUlGRgavvfYarVq1YsCAAc58myKNloK8SBMzc+ZMTCYTCxYsoKSkhHPPPZclS5YQFxdXbT9vb29WrFjB448/zpdffsm7775LSEgIF154oWMyOpPJxHfffcfTTz/NBx98wOeff05QUBADBgygW7dujnPNmjWL8vJy5s6di9ls5pprruH5558/4aR0h7i6uvK///2Pu+66i2nTpuHu7s6VV17JxIkT6dGjR7V9e/TowZo1a3jssceYM2cOJSUlREZGcs011xx13mHDhhEQEIDVauWKK66o7UcpIiLSrE2ZMoXg4GBmz57NPffcQ2BgILfddhvPPPMMrq6ugP26HBcXx//+9z9SU1Px9PSkR48efP/9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o4P5fMNeErZnKsiLSN0rL4JnnLTE5cP7TmrupVGjRnHnnXfy888/c+GFFwKQk5PDokWL+O677wAoKChg6NChPP3005jNZt577z2GDRvGtm3baN269SmV98ADD/D555/z7rvvEhkZyfTp04mLi2PHjh0EBgby2GOPsWXLFr7//nssFgs7duyguNj+Hf6VV17hm2++4ZNPPqF169bs2bOHPXv2nFId9cWpQf7jjz8mPj6euXPnEhsby4wZM4iLi2Pbtm2EhIQctf+jjz7K+++/z5tvvkmnTp344YcfuPLKK/nll1/o2bMnYP9l5dxzz+X888/n+++/Jzg4mMTERAICAs7025OmpiDjcGDfX/U3ewc1trK7ekJoV2jR3f43uKM9tHtZ1LouItKMDOpgsQf5xCwaTjuOiMiZExAQwKWXXsoHH3zgCPKfffYZFouF888/H4AePXrQo0cPxzFPPvkkX375Jd988w0TJ06s9WsWFhYyZ84c3nnnHS699FIA3nzzTRYvXsx///tf7r//flJSUujZs6ejsbdNmzaO41NSUoiOjmbAgAEYDAYiIyNP9e3XG6cG+Zdeeolbb72VcePGATB37lwWLlzIvHnzeOihh47af/78+TzyyCMMHToUgPHjx7NkyRJefPFF3n//fQCee+45IiIiePvttx3HtW2rCWakFqxW+0zxjlb2qpb2gvSa9/cOhbBuENb98N/AtmDUWEgRkeZuQHsLBgP8vT+fjIMlhPho3WcRqUOunvaWcWe99km64YYbuPXWW3nttdcwm80sWLCAa6+91tHVvqCggClTprBw4UL2799PRUUFxcXFpKSknFJpSUlJlJeXc+655x4u19WVfv368ffffwP2LDly5Eg2bNjAxRdfzIgRIzjnnHMA+wz4F110ER07duSSSy7h8ssv5+KLLz6lWuqL04J8WVkZ69evrzbOwGg0MmTIEFavXl3jMaWlpbi7V78Aenh4sHLlSsfjb775hri4OEaNGsXy5ctp2bIld9xxB7feeusxayktLaW0tNTxOD//OBOPSdNSXgwZW44I7H9C2mYoL6xhZ4N9ZviwbvaW9rBuENoNfELPeNkiItI4BHmb6Rrux5+peaxMzOKqXq2cXZKINCUGQ6NYWnjYsGHYbDYWLlxI3759WbFiBS+//LLj+fvuu4/Fixfzwgsv0L59ezw8PLj6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qtnrExI1Tl5EpLmo9az1GzZs4O233+bDDz/EaDQyZswYXn75ZTp16uTY58orr6Rv3751Wqg0DDabjdcTdjJ90VasNugS7svcG3sTEejp7NJERESapYHRwby3Olnj5EVEmpFaB/m+ffty0UUXMWfOHEaMGIGr69HdqNu2bcu1115bJwVKw1FQWsH9n/7B95vTALi6dyueGtEVd1eTkysTERFpvvpHBeFiNJCcXURydiGRQV7OLklEROpZrYP8zp07iYyMPO4+Xl5evP3226dclDQ8OzIK+L/5v5GUWYirycDjw7pwQ2xrDAZ1pRcREXEmb7MLvSIDWLcrh4TELG5SkBcRafJqPUY+IyODtWvXHrV97dq1/Pbbb3VSlDQs3/+5n+GzV5KUWUiYrzsf/19/bjw7UiFeRESkgTivahk6rScvItI81DrIT5gwgT179hy1PTU1lQkTJtRJUdIwVFRamfb934xfsIHCskrObhfI/+4cQK/WAc4uTURERI5waMK71UnZlFdanVyNiIjUt1p3rd+yZQu9evU6anvPnj3ZsmVLnRQlzpddUMqdH27kl6qlbG4d2JYHL+mEi+mUFzoQERGRetI13I8AT1cOFJXz+55c+rYJdHZJIiJSj2qdysxmM+np6Udt379/Py4utf5dQBqgP/bkMmzWSn5JysbTzcTs63vyyGWdFeJFREQaKKPRwIBoda8XEWkuap3MLr74YiZNmkReXp5jW25uLg8//DAXXXRRnRYnZ96H61IYNXc1+/JKaGfx4qsJ53J593BnlyUiIiInMMixnryWoRMRaepq3YT+wgsvMGjQICIjI+nZsycAv//+O6GhocyfP7/OC5Qz55nv/uaNhJ0AXNw5lBeu6YGv+9HLC4qIiEjDM7CqRX7T3lwOFJYR4OXm5IpERKS+1DrIt2zZkk2bNrFgwQL++OMPPDw8GDduHNddd12Na8pL45BVUOoI8ffHdWT8eVEYjZqVXkREpLEI83OnY6gP29IPsiopSz3qRESasFMa1O7l5cVtt91W17WIE62s6obXuYUvE85v7+RqRERE5FQMjLawLf0gCdszFeRFRJqwU56dbsuWLaSkpFBWVlZt+xVXXHHaRcmZd2hinEFV69CKiIhI4zOwQzBvrdzFisQsbDYbBoN614mINEW1DvI7d+7kyiuv5M8//8RgMGCz2QAcF4rKysq6rVDqndVqc0yMc2iiHBERkT179mAwGGjVqhUA69at44MPPqBz587qmddAxbYNxM3FyP68EnZkFBAd6uPskkREpB7Uetb6//znP7Rt25aMjAw8PT3566+/SEhIoE+fPixbtqweSpT6tjXtIFkFpXi4mujdJsDZ5YiISANx/fXX8/PPPwOQlpbGRRddxLp163jkkUeYOnWqk6uTmri7mohta19DXrPXi4g0XbUO8qtXr2bq1KlYLBaMRiNGo5EBAwYwbdo07rrrrvqoUepZQqK9W33/qCDMLiYnVyMiIg3F5s2b6devHwCffPIJXbt25ZdffmHBggW88847zi1OjmmQ1pMXEWnyah3kKysr8fGxd9OyWCzs27cPgMjISLZt21a31ckZ4Rgfr271IiJyhPLycsxmMwBLlixxzIPTqVMn9u/f78zS5DgGdrBfz9fuyqakXEMeRUSaoloH+a5du/LHH38AEBsby/Tp01m1ahVTp06lXbt2dV6g1K+isgp+230AsE+QIyIickiXLl2YO3cuK1asYPHixVxyySUA7Nu3j6CgICdXJ8fSMdSHEB8zJeVWxzVeRESalloH+UcffRSr1QrA1KlT2bVrFwMHDuS7777jlVdeqfMCpX6t3ZlDWaWVlv4etLN4ObscERFpQJ577jlef/11Bg8ezHXXXUePHj0A+Oabbxxd7qXhMRgMDKzqXr8iUd3rRUSaolrPWh8XF+e43759e7Zu3UpOTg4BAQFa4qQRWn7EsnP69xMRkSMNHjyYrKws8vPzCQg4PBnqbbfdhqenpxMrkxMZ1MHC5xv2kpCYxSRnFyMiInWuVi3y5eXluLi4sHnz5mrbAwMDFQIbqUMT3Z3XQePjRUSkuuLiYkpLSx0hPjk5mRkzZrBt2zZCQkKcXJ0cz4D2FgwG+Ht/PhkHS5xdjoiI1LFaBXlXV1dat26tteKbiL0HitiZWYjJaKB/lIK8iIhUN3z4cN577z0AcnNziY2N5cUXX2TEiBHMmTPHydXJ8QR5m+ka7gfASi1DJyLS5NR6jPwjjzzCww8/TE5OTn3UI2dQwnb7hT0mwh8/D1cnVyMiIg3Nhg0bGDhwIACfffYZoaGhJCcn895772lenEZgYNVqNFqGTkSk6an1GPnZs2ezY8cOwsPDiYyMxMur+gRpGzZsqLPipH4dmgDn0HqzIiIiRyoqKnIsOfvjjz9y1VVXYTQaOfvss0lOTnZydXIigzoE89qyJFbuyMJqtWE0ahikiEhTUesgP2LEiHooQ860ikorK3fYW+QHaXy8iIjUoH379nz11VdceeWV/PDDD9xzzz0AZGRk4Ovr6+Tq5ER6tQ7A081EVkEZW/bn07Wln7NLEhGROlLrIP/444/XRx1yhv2xN5eDJRX4ebjSvZW/s8sREZEGaPLkyVx//fXcc889XHDBBfTv3x+wt8737NnTydXJibi5GOnfLoilWzNYkZilIC8i0oTUeoy8NA3Lq8bHD2hvwaSudiIiUoOrr76alJQUfvvtN3744QfH9gsvvJCXX37ZiZXJyRrUwT58TuPkRUSallq3yBuNxuMuNacZ7RsHx/h4dasXEZHjCAsLIywsjL179wLQqlUr+vXr5+Sq5GQdmvDut+Qcisoq8HSr9Vc/ERFpgGr9X/Mvv/yy2uPy8nI2btzIu+++yxNPPFFnhUn9ySsq5489ucDhX+pFRET+yWq18tRTT/Hiiy9SUFAAgI+PD/feey+PPPIIRqM69jV0bS1etArwYO+BYtbszOaCTqHOLklEROpAra/Aw4cPr3a7+uqrefrpp5k+fTrffPNNfdQodWzljiysNogO8aaFn4ezyxERkQbqkUceYfbs2Tz77LNs3LiRjRs38swzzzBr1iwee+yxWp3r1VdfpU2bNri7uxMbG8u6deuOue+bb77JwIEDCQgIICAggCFDhhy1/80334zBYKh2u+SSS07pfTZlBoOBgdGHutdrPXkRkaaizn5KP/vss1m6dOkpHVubi3t5eTlTp04lKioKd3d3evTowaJFi6rtM23aNPr27YuPjw8hISGMGDGCbdu2nVJtTdGhcXJqjRcRkeN59913eeuttxg/fjzdu3ene/fu3HHHHbz55pu88847J32ejz/+mPj4eB5//HE2bNhAjx49iIuLIyMjo8b9ly1bxnXXXcfPP//M6tWriYiI4OKLLyY1NbXafpdccgn79+933D788MPTebtN1nlVw+gSEjVOXkSkqaiTIF9cXMwrr7xCy5Yta31sbS/ujz76KK+//jqzZs1iy5Yt3H777Vx55ZVs3LjRsc/y5cuZMGECa9asYfHixZSXl3PxxRdTWFh4yu+xqbDZbI4L+aFxcyIiIjXJycmhU6dOR23v1KkTOTk5J32el156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GMCtmnZORGqJ7Oxs9u7dy5YtW2p9El9QUMCJEydYvHgxjz322CWT+Jpu9erV/PnPfyYjI4NOnTqxcuVKYmJiyt3222+/Zfbs2ezevZsjR46wfPlypykKr+aYIiIigDHtXWAjo1RGcf65xP50xQm/teSak/grpUS+ij15e2uevL016vggIrXF3XffTVpaGmPHjuX22293dzhutXTpUhYuXEifPn2YPn26u8Nxm9dee40pU6awbt06evToQUpKCrGxsRw8eJCwsLCLti8oKKBFixYMGTKEJ5980iXHFBERuSo+AUapTDf/aqSu9eVQdzsRAXWtl+pXU7vW9+jRg+7du7Nq1SoAbDYbERERTJw4kcTExEvuGxkZyeTJky9qkb+WY4Jn308REamZrqRu8uwx90VEROS6VlxczO7duxkwYIBjndlsZsCAAXz22WfVdsyioiJycnKcioiIiKdSIi8ichnquCTVpSb+1k6dOoXVaiU8PNxpfXh4OBkZGdV2zKSkJIKCghwlIiLiqs4tIiJyPVAiLyJSAW9vb8B4X1ekOpz/rZ3/7YnrTJ8+nezsbEc5duyYu0MSERG5ahrsTkSkAhaLhfr165OZacwx6u/vj8lkcnNUUhPZ7XYKCgrIzMykfv36WCzVO/JtVQoNDcVisXDy5Emn9SdPnqRRo0qOGOyCY/r6+uLr63tV5xMREbneKJEXEbmE80nB+WRepCrVr1//qpPb65WPjw/dunUjNTWVe+65BzAGpktNTWXChAnXzTFFREQ8iRJ5EZFLMJlMNG7cmLCwMEpKStwdjtRg3t7eNaolvqwpU6YQHx9PdHQ0MTExpKSkkJ+fz8iRIwF4+OGHueGGG0hKSgKMwez27dvn+Pzzzz+Tnp5O3bp1iYqKqtQxRUREajIl8iIilWCxWGpskiVS1e6//36ysrKYPXs2GRkZdO7cmW3btjkGqzt69Chm84Vhe44fP06XLl0cy8uWLWPZsmX07duX7du3V+qYIiIiNZnmkS+H5pYVEZHrjeom19L9FBGR643mkRcRERERERGpoZTIi4iIiIiIiHgQvSNfjvNvG+Tk5Lg5EhEREcP5OklvxLmG6noREbneXEldr0S+HLm5uQBERES4ORIRERFnubm5BAUFuTsMj6e6XkRErleVqes12F05bDYbx48fJzAwEJPJdE3HysnJISIigmPHjmkwHRfSfXU93dOqofvqerX1ntrtdnJzc2nSpInTCO9ydVxZ10Pt/V1WJd1T19M9rRq6r65XW+/pldT1apEvh9lspmnTpi49Zr169WrVj7C66L66nu5p1dB9db3aeE/VEu86VVHXQ+38XVY13VPX0z2tGrqvrlcb72ll63o90hcRERERERHxIErkRURERERERDyIEvkq5uvry5w5c/D19XV3KDWK7qvr6Z5WDd1X19M9leuRfpeup3vqerqnVUP31fV0Ty9Pg92JiIiIiIiIeBC1yIuIiIiIiIh4ECXyIiIiIiIiIh5EibyIiIiIiIiIB1EiLyIiIiIiIuJBlMhXsdWrVxMZGUmdOnXo0aMHaWlp7g7JYyUlJdG9e3cCAwMJCwvjnnvu4eDBg+4Oq0ZZvHgxJpOJyZMnuzsUj/fzzz/z4IMP0qBBA/z8/OjQoQNffvmlu8PyaFarlVmzZtG8eXP8/Pxo2bIl8+fPR2O2iruprnct1fdVT/W9a6iudz3V9ZWnRL4Kvfbaa0yZMoU5c+bw1Vdf0alTJ2JjY8nMzHR3aB7p448/Zvz48ezatYsPPviAkpIS/vCHP5Cfn+/u0GqEL774gr/85S907NjR3aF4vLNnz9K7d2+8vb15//332bdvH88++yzBwcHuDs2jLVmyhLVr17Jq1Sr279/PkiVLWLp0KStXrnR3aFKLqa53PdX3VUv1vWuorq8aqusrT9PPVaEePXrQvXt3Vq1aBYDNZiMiIoKJEyeSmJjo5ug8X1ZWFmFhYXz88cf06dPH3eF4tLy8PLp27cqaNWtYsGABnTt3JiUlxd1heazExER27tzJjh073B1KjTJo0CDCw8N54YUXHOvuu+8+/Pz82LRpkxsjk9pMdX3VU33vOqrvXUd1fdVQXV95apGvIsXFxezevZsBAwY41pnNZgYMGMBnn33mxshqjuzsbABCQkLcHInnGz9+PHfddZfT71Wu3tatW4mOjmbIkCGEhYXRpUsXnn/+eXeH5fF69epFamoqhw4dAmDPnj18+umnDBw40M2RSW2lur56qL53HdX3rqO6vmqorq88L3cHUFOdOnUKq9VKeHi40/rw8HAOHDjgpqhqDpvNxuTJk+nduze/+93v3B2OR3v11Vf56quv+OKLL9wdSo1x+PBh1q5dy5QpU3j66af54osveOKJJ/Dx8SE+Pt7d4XmsxMREcnJyaNu2LRaLBavVysKFCxkxYoS7Q5NaSnV91VN97zqq711LdX3VUF1feUrkxSONHz+eb775hk8//dTdoXi0Y8eOMWnSJD744APq1Knj7nBqDJvNRnR0NIsWLQKgS5cufPPNN6xbt06V+zV4/fXX2bx5M1u2bKF9+/akp6czefJkmjRpovsqUkOpvncN1feup7q+aqiurzwl8lUkNDQUi8XCyZMnndafPHmSRo0auSmqmmHChAn84x//4JNPPqFp06buDsej7d69m8zMTLp27epYZ7Va+eSTT1i1ahVFRUVYLBY3RuiZGjduTLt27ZzW3XTTTbz55ptuiqhmmDZtGomJiQwbNgyADh06cOTIEZKSklS5i1uorq9aqu9dR/W966murxqq6ytP78hXER8fH7p160Zqaqpjnc1mIzU1lZ49e7oxMs9lt9uZMGECb731Fv/85z9p3ry5u0PyeP3792fv3r2kp6c7SnR0NCNGjCA9PV2V+lXq3bv3RVMlHTp0iBtvvNFNEdUMBQUFmM3O1ZbFYsFms7kpIqntVNdXDdX3rqf63vVU11cN1fWVpxb5KjRlyhTi4+OJjo4mJiaGlJQU8vPzGTlypLtD80jjx49ny5Yt/P3vfycwMJCMjAwAgoKC8PPzc3N0nikwMPCidw4DAgJo0KCB3kW8Bk8++SS9evVi0aJFDB06lLS0NNavX8/69evdHZpHi4uLY+HChTRr1oz27dvz9ddfk5yczKhRo9wdmtRiqutdT/W966m+dz3V9VVDdf0VsEuVWrlypb1Zs2Z2Hx8fe0xMjH3Xrl3uDsljAeWWjRs3uju0GqVv3772SZMmuTsMj/fOO+/Yf/e739l9fX3tbdu2ta9fv97dIXm8nJwc+6RJk+zNmjWz16lTx96iRQv7jBkz7EVFRe4OTWo51fWupfq+eqi+v3aq611PdX3laR55EREREREREQ+id+RFREREREREPIgSeREREREREREPokReRERERERExIMokRcRERERERHxIErkRURERERERDyIEnkRERERERERD6JEXkRERERERMSDKJEXERERERER8SBK5EXkumQymXj77bfdHYaIiIhUEdX1IldPibyIXCQhIQGTyXRRueOOO9wdmoiIiLiA6noRz+bl7gBE5Pp0xx13sHHjRqd1vr6+bopGREREXE11vYjnUou8iJTL19eXRo0aOZXg4GDA6Aq3du1aBg4ciJ+fHy1atOBvf/ub0/579+7ltttuw8/PjwYNGjBmzBjy8vKcttmwYQPt27fH19eXxo0bM2HCBKfvT506xR//+Ef8/f1p1aoVW7durdqLFhERqUVU14t4LiXyInJVZs2axX333ceePXsYMWIEw4YNY//+/QDk5+cTGxtLcHAwX3zxBW+88QYffvihU+W9du1axo8fz5gxY9i7dy9bt24lKirK6Rzz5s1j6NCh/Pvf/+bOO+9kxIgRnDlzplqvU0REpLZSXS9yHbOLiPxGfHy83WKx2AMCApzKwoUL7Xa73Q7Yx44d67RPjx497I8//rjdbrfb169fbw8ODrbn5eU5vn/33XftZrPZnpGRYbfb7fYmTZrYZ8yYUWEMgH3mzJmO5by8PDtgf//99112nSIiIrWV6noRz6Z35EWkXP369WPt2rVO60JCQhyfe/bs6fRdz549SU9PB2D//v106tSJgIAAx/e9e/fGZrNx8OBBTCYTx48fp3///peMoWPHjo7PAQEB1KtXj8zMzKu9JBERESlDdb2I51IiLyLlCggIuKj7m6v4+flVajtvb2+nZZPJhM1mq4qQREREah3V9SKeS+/Ii8hV2bVr10XLN910EwA33XQTe/bsIT8/3/H9zp07MZvNtGnThsDAQCIjI0lNTa3WmEVERKTyVNeLXL/UIi8i5SoqKiIjI8NpnZeXF6GhoQC88cYbREdHc8stt7B582bS0tJ44YUXABgxYgRz5swhPj6euXPnkpWVxcSJE3nooYcIDw8HYO7cuYwdO5awsDAGDhxIbm4uO3fuZOLEidV7oSIiIrWU6noRz6VEXkTKtW3bNho3buy0rk2bNhw4cAAwRpl99dVXGTduHI0bN+aVV16hXbt2APj7+/O///u/TJo0ie7du+Pv7899991HcnKy41jx8fEUFhayfPlypk6dSmhoKIMHD66+CxQREanlVNeLeC6T3W63uzsIEfEsJpOJt956i3vuucfdoYiIiEgVUF0vcn3TO/IiIiIiIiIiHkSJvIiIiIiIiIgHUdd6EREREREREQ+iFnkRERERERERD6JEXkRERERERMSDKJEXERERERER8SBK5EVEREREREQ8iBJ5EREREREREQ+iRF5ERERERETEgyiRFxEREREREfEgSuRFREREREREPMj/A1M2vmtZZyTbAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import tensorflow as tf\n", + "import tensorflow.keras as keras\n", + "from keras import layers\n", + "import matplotlib.pyplot as plt\n", + "print(\"可用设备:\", tf.config.list_physical_devices())\n", + "\n", + "# 加载mnist数据集\n", + "(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()\n", + "\n", + "\n", + "# 处理x数据,mnist数据集为灰度图片,范围为0-255,直接除以255,等同归一化\n", + "x_train = x_train.reshape(-1, 28 * 28).astype('float32') / 255.0\n", + "x_test = x_test.reshape(-1, 28 * 28).astype('float32') / 255.0\n", + "\n", + "# 处理y数据,mnist数据集为0-9的数字,需要将其转换为one-hot编码\n", + "y_train = keras.utils.to_categorical(y_train,10)\n", + "y_test = keras.utils.to_categorical(y_test,10)\n", + "\n", + "# 构建神经网络\n", + "model = keras.Sequential(\n", + " [\n", + " layers.Dense(256, activation='relu',input_shape=(28*28,)),\n", + " layers.Dropout(0.2),\n", + " layers.Dense(128, activation='tanh'),\n", + " layers.Dropout(0.2),\n", + " layers.Dense(10, activation='softmax')\n", + " ]\n", + ")\n", + "\n", + "# 编译模型 自适应矩估计\n", + "model.compile(optimizer='adam',\n", + " loss='categorical_crossentropy',\n", + " metrics=['accuracy'])\n", + "\n", + "# 训练模型,验证集比例为0.2(帮助adam判断是否需要调整参数),训练10轮\n", + "history = model.fit(x_train, y_train,\n", + " batch_size=128,\n", + " epochs=10,\n", + " validation_split=0.2)\n", + "\n", + "test_loss,test_acc = model.evaluate(x_test, y_test)\n", + "print(f'accuracy: {test_acc:.4f}')\n", + "\n", + "model.save('./models/mnist_model-tf.h5') # 保存为HDF5格式\n", + "print(\"模型已保存到 ./models/mnist_model-tf.h5\")\n", + "\n", + "#plt绘制\n", + "plt.figure(figsize=(12, 4))\n", + "\n", + "plt.subplot(1, 2, 1)\n", + "plt.plot(history.history['accuracy'], label='train accuracy')\n", + "plt.plot(history.history['val_accuracy'], label='verify accuracy')\n", + "plt.title('accuracy')\n", + "plt.xlabel('Epoch')\n", + "plt.ylabel('Accuracy')\n", + "plt.legend()\n", + "\n", + "plt.subplot(1, 2, 2)\n", + "plt.plot(history.history['loss'], label='train loss')\n", + "plt.plot(history.history['val_loss'], label='val loss')\n", + "plt.title('loss')\n", + "plt.xlabel('Epoch')\n", + "plt.ylabel('Loss')\n", + "plt.legend()\n", + "\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2025-03-14 18:57:55.832397: I metal_plugin/src/device/metal_device.cc:1154] Metal device set to: Apple M1\n", + "2025-03-14 18:57:55.832421: I metal_plugin/src/device/metal_device.cc:296] systemMemory: 16.00 GB\n", + "2025-03-14 18:57:55.832428: I metal_plugin/src/device/metal_device.cc:313] maxCacheSize: 5.33 GB\n", + "2025-03-14 18:57:55.832455: I tensorflow/core/common_runtime/pluggable_device/pluggable_device_factory.cc:306] Could not identify NUMA node of platform GPU ID 0, defaulting to 0. Your kernel may not have been built with NUMA support.\n", + "2025-03-14 18:57:55.832469: I tensorflow/core/common_runtime/pluggable_device/pluggable_device_factory.cc:272] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 0 MB memory) -> physical PluggableDevice (device: 0, name: METAL, pci bus id: )\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaAAAAGzCAYAAABpdMNsAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAKEZJREFUeJzt3Xt4TXe+x/FPIrIFySYiidQt4tZSzGilRl1aaSJKS/WZMs4pplXaMFW0h3HqVnNyqJZpGT2nZyq90It5BqVF3U1bMUMZR9tRyUQxJC6P7ERUkP07fzj2dDdR1pb4JfF+Pc/veey1ft+9vnt1NZ+svVfWDjLGGAEAcIMF224AAHBzIoAAAFYQQAAAKwggAIAVBBAAwAoCCABgBQEEALCCAAIAWEEAAQCsIICASqx58+YaPny47TaACkEAoUJlZGQoKCjIN2rVqqXWrVtrzJgxysvLs91etREUFKQxY8bYbgNwJMR2A7g5zJw5U/Hx8Tp37pw+/fRTLVq0SB9//LH27dun2rVr224PgAUEEG6I1NRU3XHHHZKkxx9/XA0aNNDLL7+slStXasiQIWXWFBUVqU6dOjeyTQA3EG/BwYp7771XkpSTkyNJGj58uOrWravs7Gz17dtX4eHhGjp0qKRLQTRhwgQ1adJELpdLbdq00dy5c1XWjdzfeecddenSRbVr11b9+vXVo0cPffLJJ35z1qxZo+7du6tOnToKDw/X/fffry+//NJvTm5urkaMGKHGjRvL5XKpUaNGevDBB3Xw4EHfnJ07dyolJUVRUVEKCwtTfHy8fvnLX/o9j9fr1fz589WuXTvVqlVLMTExGjVqlE6fPu03zxijWbNmqXHjxqpdu7buueeeUj05sWXLFgUFBemDDz7QjBkzdMsttyg8PFwPP/ywPB6PiouLNW7cOEVHR6tu3boaMWKEiouL/Z5j8eLFuvfeexUdHS2Xy6XbbrtNixYtKrUtr9er6dOnKy4uztf7V199VebnV/n5+Ro3bpzvv2XLli01e/Zseb3egF8rqi7OgGBFdna2JKlBgwa+ZRcvXlRKSoruvvtuzZ07V7Vr15YxRg888IA2b96sxx57TJ06ddK6dev07LPP6h//+IfmzZvnq58xY4amT5+un/3sZ5o5c6ZCQ0O1Y8cObdq0ScnJyZKkt99+W8OGDVNKSopmz56ts2fPatGiRbr77ru1e/duNW/eXJI0aNAgffnllxo7dqyaN2+u48ePa/369Tp06JDvcXJysho2bKhJkyapXr16OnjwoP74xz/6vc5Ro0YpIyNDI0aM0K9+9Svl5ORowYIF2r17tz777DPVrFlTkjR16lTNmjVLffv2Vd++ffXFF18oOTlZ58+fv679nJ6errCwME2aNElZWVl69dVXVbNmTQUHB+v06dOaPn26MjMzlZGRofj4eE2dOtVXu2jRIrVr104PPPCAQkJCtGrVKj311FPyer1KS0vzzZs8ebLmzJmj/v37KyUlRX/961+VkpKic+fO+fVy9uxZ9ezZU//4xz80atQoNW3aVJ9//rkmT56sY8eOaf78+df1WlEFGaACLV682EgyGzZsMCdOnDCHDx827733nmnQoIEJCwszR44cMcYYM2zYMCPJTJo0ya9+xYoVRpKZNWuW3/KHH37YBAUFmaysLGOMMQcOHDDBwcFm4MCBpqSkxG+u1+s1xhhTWFho6tWrZ0aOHOm3Pjc317jdbt/y06dPG0nmxRdfvOLrWr58uZFk/vKXv1xxzp/+9CcjySxZssRv+dq1a/2WHz9+3ISGhpr777/f16sxxvz61782ksywYcOuuI3LJJm0tDTf482bNxtJpn379ub8+fO+5UOGDDFBQUEmNTXVr75r166mWbNmfsvOnj1bajspKSmmRYsWvse5ubkmJCTEDBgwwG/e9OnTS/X+wgsvmDp16phvvvnGb+6kSZNMjRo1zKFDh676OlG98BYcboikpCQ1bNhQTZo00eDBg1W3bl0tX75ct9xyi9+8J5980u/xxx9/rBo1auhXv/qV3/IJEybIGKM1a9ZIklasWCGv16upU6cqONj/sA4KCpIkrV+/Xvn5+RoyZIhOnjzpGzVq1FBiYqI2b94sSQoLC1NoaKi2bNlS6q2yy+rVqydJWr16tS5cuFDmnGXLlsntduu+++7z217nzp1Vt25d3/Y2bNig8+fPa+zYsb5eJWncuHFX2p3X7NFHH/WdZUlSYmKijDGl3ipMTEzU4cOHdfHiRd+ysLAw3789Ho9Onjypnj176u9//7s8Ho8kaePGjbp48aKeeuopv+cbO3ZsqV6WLVum7t27q379+n77IykpSSUlJdq2bdt1v15ULbwFhxti4cKFat26tUJCQhQTE6M2bdqUCoqQkBA1btzYb9m3336ruLg4hYeH+y2/9dZbfeulS2/pBQcH67bbbrtiDwcOHJD0z8+ffigiIkKS5HK5NHv2bE2YMEExMTG666671K9fPz366KOKjY2VJPXs2VODBg3SjBkzNG/ePPXq1UsDBgzQL37xC7lcLt/2PB6PoqOjy9ze8ePH/V5Dq1at/NY3bNhQ9evXv+LruRZNmzb1e+x2uyVJTZo0KbXc6/XK4/H43hb97LPPNG3aNG3fvl1nz571m+/xeOR2u329t2zZ0m99ZGRkqd4PHDigvXv3qmHDhmX2enl/4OZBAOGG6NKli+8quCtxuVylQqk8Xf6g++233/YFyfeFhPzzf4dx48apf//+WrFihdatW6fnn39e6enp2rRpk37yk58oKChIf/jDH5SZmalVq1Zp3bp1+uUvf6mXXnpJmZmZqlu3rrxer6Kjo7VkyZIy+7nSD+LyVKNGDUfLzf9f2JGdna3evXurbdu2evnll9WkSROFhobq448/1rx58wK6aMDr9eq+++7Tc889V+b61q1bO35OVG0EECq1Zs2aacOGDSosLPQ7C/rb3/7mWy9JCQkJ8nq9+uqrr9SpU6cynyshIUGSFB0draSkpKtuOyEhQRMmTNCECRN04MABderUSS+99JLeeecd35y77rpLd911l37zm99o6dKlGjp0qN577z09/vjjSkhI0IYNG9StWze/t7PKeo3SpTOEFi1a+JafOHHiim8BVrRVq1apuLhYH374od9Z1OW3DS+73HtWVpbi4+N9y0+dOlWq94SEBJ05c+aa9j1uDnwGhEqtb9++Kikp0YIFC/yWz5s3T0FBQUpNTZUkDRgwQMHBwZo5c2ap384v/1afkpKiiIgI/cd//EeZn9ucOHFC0qWrtX54BVdCQoLCw8N9lyqfPn261GXgl4Pv8pyf//znKikp0QsvvFBqWxcvXlR+fr6kS5+P1axZU6+++qrfc9q8KuzyGdL3+/F4PFq8eLHfvN69eyskJKTU5dk//O8lXdof27dv17p160qty8/P9/v8CTcHzoBQqfXv31/33HOPpkyZooMHD6pjx4765JNPtHLlSo0bN853VtOyZUtNmTJFL7zwgrp3766HHnpILpdLf/nLXxQXF6f09HRFRERo0aJF+td//Vf99Kc/1eDBg9WwYUMdOnRIH330kbp166YFCxbom2++Ue/evfXzn/9ct912m0JCQrR8+XLl5eVp8ODBkqQ333xTv/vd7zRw4EAlJCSosLBQr7/+uiIiItS3b19Jlz4nGjVqlNLT07Vnzx4lJyerZs2aOnDggJYtW6bf/va3evjhh9WwYUNNnDhR6enp6tevn/r27avdu3drzZo1ioqKsrLfk5OTFRoaqv79+2vUqFE6c+aMXn/9dUVHR+vYsWO+eTExMXr66af10ksv6YEHHlCfPn3017/+1df79y+qePbZZ/Xhhx+qX79+Gj58uDp37qyioiL97//+r/7whz/o4MGD1l4vLLF4BR5uApcvw/6xy5WNuXQZdp06dcpcV1hYaJ555hkTFxdnatasaVq1amVefPFFv0uWL3vjjTfMT37yE+NyuUz9+vVNz549zfr16/3mbN682aSkpBi3221q1aplEhISzPDhw83OnTuNMcacPHnSpKWlmbZt25o6deoYt9ttEhMTzQcffOB7ji+++MIMGTLENG3a1LhcLhMdHW369evne47v++///m/TuXNnExYWZsLDw83tt99unnvuOXP06FHfnJKSEjNjxgzTqFEjExYWZnr16mX27dtnmjVrdl2XYS9btsxv3pX+e0ybNs1IMidOnPAt+/DDD02HDh1MrVq1TPPmzc3s2bPNG2+8YSSZnJwc37yLFy+a559/3sTGxpqwsDBz7733mq+//to0aNDAjB492m87hYWFZvLkyaZly5YmNDTUREVFmZ/97Gdm7ty5fpeL4+YQZEwZf04OANchPz9f9evX16xZszRlyhTb7aCS4jMgANflu+++K7Xs8udXvXr1urHNoErhMyAA1+X9999XRkaG+vbtq7p16+rTTz/Vu+++q+TkZHXr1s12e6jECCAA16VDhw4KCQnRnDlzVFBQ4LswYdasWbZbQyXHZ0AAACv4DAgAYAUBBACwotJ9BuT1enX06FGFh4f7/REbAKBqMMaosLBQcXFxP3p/x0oXQEePHi11p14AQNVz+PDhUne4/75K9xbcD2+7DwComq7287zCAmjhwoVq3ry5atWqpcTERP35z3++pjredgOA6uFqP88rJIDef/99jR8/XtOmTdMXX3yhjh07KiUlhS+cAgD8U0XcYK5Lly5+N0YsKSkxcXFxJj09/aq1Ho/HSGIwGAxGFR8ej+dHf96X+xnQ+fPntWvXLr8vnQoODlZSUpK2b99e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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "预处理后的数据范围: 0.12156863 0.83137256\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2025-03-14 18:57:56.529571: I tensorflow/core/grappler/optimizers/custom_graph_optimizer_registry.cc:117] Plugin optimizer for device_type GPU is enabled.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1/1 [==============================] - 1s 753ms/step\n", + "预测概率分布: [[9.7845614e-01 1.6016074e-06 5.1186988e-03 4.2060162e-03 3.1019366e-07\n", + " 1.1911159e-02 5.7799196e-05 6.7962850e-05 3.7460737e-05 1.4272679e-04]]\n", + "预测结果:0\n" + ] + } + ], + "source": [ + "# 测试tf训练的手写数据识别\n", + "import tensorflow as tf\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# 加载模型\n", + "model = tf.keras.models.load_model('./models/mnist_model-tf.h5')\n", + "\n", + "# 加载并预处理图片\n", + "image_path = './test/0.png'\n", + "image = tf.keras.preprocessing.image.load_img(image_path, target_size=(28, 28), color_mode='grayscale')\n", + "image = tf.keras.preprocessing.image.img_to_array(image)\n", + "\n", + "# 可视化预处理后的图片\n", + "plt.imshow(image, cmap='gray')\n", + "plt.title('Processed Image')\n", + "plt.show()\n", + "\n", + "# 进一步处理\n", + "image = image.reshape(-1, 28 * 28).astype('float32') / 255.0\n", + "\n", + "# 打印预处理后的数据\n", + "print(\"预处理后的数据范围:\", np.min(image), np.max(image))\n", + "\n", + "# 进行预测\n", + "predictions = model.predict(image)\n", + "print(\"预测概率分布:\", predictions)\n", + "\n", + "# 获取预测结果\n", + "predicted_class = tf.argmax(predictions, axis=1).numpy()[0]\n", + "print(f\"预测结果:{predicted_class}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 仅全链接层手写识别 - torch\n", + "\n", + "## 模型定义\n", + "- 输入层:28*28=784\n", + "- 输出层:10\n", + "- 隐藏层:784(input)->256(relu)(dropout-20%)->128(tanh)(dropout-20%)->10(softmax)\n", + "\n", + "## 数据处理\n", + "- torchvision中提供了mnist数据集的下载和处理(转换为tensor并进行归一化)\n", + "- 使用dataloader对数据进行分批处理\n", + "\n", + "## 定义模型\n", + "\n", + "- torch对模型的定义更加细化,需要继承nn.Module类\n", + "- 定义模型的构造函数,定义模型的层\n", + "- 定义模型的前向传播函数,定义模型的层之间的连接关系和数据的流动方向\n", + "\n", + "## 训练\n", + "\n", + "- 设置设备\n", + "- 定义损失函数为交叉熵损失函数\n", + "- 定义优化器为Adam优化器\n", + "- 与tensorflow不同的是,torch需要手动实现训练过程\n", + "- 并且,torch中的adam优化器不会根据训练集或者验证集对学习率进行调整,梯度的一阶矩(均值)和二阶矩(方差)​动态调整每个参数的学习率,如果想让其根据进行特定的数据集学习率调整,需要加入学习调度器的支持\n", + "\n", + "## 具体训练\n", + "\n", + "- 每一个batch中,需要将梯度清零\n", + "- 每个batch中的image就是一次训练,需要将其传入指定设备\n", + "- 每个image轮次都需要先试用优化器对每个参数的梯度清零,因为torch的梯度计算本质是对每个参数的梯度累加\n", + "- 前向传播出结果\n", + "- 使用loss函数计算损失,使用loss.backward自动梯度计算并存储(累加)在每个权重的.grad属性中\n", + "- 最后使用优化器对每个参数的梯度进行更新\n", + "\n", + "## 保存\n", + "\n", + "- torch模型的保存需要手动指定保存的内容,如模型的参数、优化器的状态、损失函数的状态等,类似于键值对的形式存入模型文件\n", + "\n", + "## 预测\n", + "\n", + "- torch的模型加载使用torch.load函数可以直接加载,但是这个并非是模型实例,而是一个字典,需要手动指定加载的内容以加载出模型,然后再对模型进行参数的加载\n", + "- 需要将模型设置为评估模式,否则会出现梯度计算的问题\n", + "- 图片传入后可以使用torchvision的transforms进行处理(分辨率,灰度图,向量化,归一化)\n", + "- 预测结果为tensor,需要使用torch.argmax函数获取最大值的索引,即为预测结果(注意预测时要在非自动梯度计算下,节省性能内存并防止意外更新)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Epoch 1/10: 100%|██████████| 938/938 [00:10<00:00, 87.50batch/s, loss=1.6135, acc=86.53%] \n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1/10 => Loss: 1.6118, Accuracy: 86.53%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Epoch 2/10: 100%|██████████| 938/938 [00:10<00:00, 92.81batch/s, loss=1.5511, acc=92.52%] \n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 2/10 => Loss: 1.5395, Accuracy: 92.52%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Epoch 3/10: 100%|██████████| 938/938 [00:09<00:00, 96.63batch/s, loss=1.5393, acc=93.52%] \n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 3/10 => Loss: 1.5278, Accuracy: 93.52%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Epoch 4/10: 100%|██████████| 938/938 [00:09<00:00, 97.68batch/s, loss=1.5318, acc=94.25%] \n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 4/10 => Loss: 1.5204, Accuracy: 94.25%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Epoch 5/10: 100%|██████████| 938/938 [00:09<00:00, 97.31batch/s, loss=1.5334, acc=94.56%] \n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 5/10 => Loss: 1.5171, Accuracy: 94.56%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Epoch 6/10: 100%|██████████| 938/938 [00:09<00:00, 97.19batch/s, loss=1.5135, acc=95.05%] \n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 6/10 => Loss: 1.5119, Accuracy: 95.05%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Epoch 7/10: 100%|██████████| 938/938 [00:09<00:00, 96.52batch/s, loss=1.5211, acc=95.24%] \n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 7/10 => Loss: 1.5097, Accuracy: 95.24%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Epoch 8/10: 100%|██████████| 938/938 [00:09<00:00, 99.28batch/s, loss=1.5137, acc=95.30%] \n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 8/10 => Loss: 1.5089, Accuracy: 95.30%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Epoch 9/10: 100%|██████████| 938/938 [00:09<00:00, 99.06batch/s, loss=1.5127, acc=95.55%] \n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 9/10 => Loss: 1.5063, Accuracy: 95.55%\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Epoch 10/10: 100%|██████████| 938/938 [00:09<00:00, 100.77batch/s, loss=1.5100, acc=95.68%]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 10/10 => Loss: 1.5052, Accuracy: 95.68%\n", + "模型已保存到 ./models/mnist_model-torch.pth\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAHqCAYAAADVi/1VAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAA1edJREFUeJzs3Xl4VOX1B/Dv7DPZE7JDIIgoKAooirgvKKLFDevaqmi1P5VWxS5SBRWtqHWhrlRbRS3uVeuKpSilWoqCoNYFRMgCWSAkk8k2273398fk3plIgCRM5s6ZfD/Pk0cZJuHk5s3MvGfOOa9F0zQNRERERERERERECWQ1OwAiIiIiIiIiIhp4mJQiIiIiIiIiIqKEY1KKiIiIiIiIiIgSjkkpIiIiIiIiIiJKOCaliIiIiIiIiIgo4ZiUIiIiIiIiIiKihGNSioiIiIiIiIiIEo5JKSIiIiIiIiIiSjgmpYiIiIiIiIiIKOGYlCKipHXZZZehvLy8T5972223wWKxxDcgIiIion7E1z5ENNAwKUVEvWaxWHr0sXz5crNDNcVll12GjIwMs8MgIiKiOOFrn54777zzYLFY8Nvf/tbsUIhIAIumaZrZQRCRLH/961+7/PnZZ5/F0qVL8dxzz3W5/eSTT0ZRUVGf/51QKARVVeFyuXr9ueFwGOFwGG63u8//fl9ddtllePXVV9Ha2prwf5uIiIjij699esbn86GoqAjFxcVQFAWVlZWs3iKi3bKbHQARyfOTn/yky5//+9//YunSpTvd/kPt7e1IS0vr8b/jcDj6FB8A2O122O18iCMiIqK9x9c+PfO3v/0NiqLgqaeewoknnogVK1bguOOOMzWm7miaBr/fD4/HY3YoRAMe2/eIqF8cf/zxGDNmDNasWYNjjz0WaWlp+N3vfgcA+Pvf/47TTz8dpaWlcLlcGDFiBO644w4oitLla/xwrkJFRQUsFgvuu+8+PPHEExgxYgRcLhcOO+wwfPrpp10+t7u5ChaLBTNnzsQbb7yBMWPGwOVy4cADD8SSJUt2in/58uWYMGEC3G43RowYgT/96U9xn9Xwyiuv4NBDD4XH40F+fj5+8pOfYOvWrV3uU1dXhxkzZmDIkCFwuVwoKSnBmWeeiYqKCuM+q1evxpQpU5Cfnw+Px4Phw4fj8ssvj1ucREREtGd87QMsXrwYJ598Mk444QSMHj0aixcv7vZ+3377Lc477zwUFBTA4/Fg//33x80339zlPlu3bsUVV1xhXLPhw4fj6quvRjAY3OX3CwCLFi2CxWLp8lqpvLwcP/rRj/D+++9jwoQJ8Hg8+NOf/gQAePrpp3HiiSeisLAQLpcLBxxwAB5//PFu437vvfdw3HHHITMzE1lZWTjssMPw/PPPAwBuvfVWOBwObN++fafPu+qqq5CTkwO/37/ni0g0wLCMgIj6zY4dOzB16lRccMEF+MlPfmKUsy9atAgZGRmYNWsWMjIy8MEHH2Du3Lnw+Xz4wx/+sMev+/zzz6OlpQU///nPYbFYcO+99+Kcc87Bpk2b9vgO40cffYTXXnsN11xzDTIzM/HQQw9h+vTpqKqqwqBBgwAAa9euxamnnoqSkhLcfvvtUBQF8+bNQ0FBwd5flE6LFi3CjBkzcNhhh2H+/Pmor6/HH//4R3z88cdYu3YtcnJyAADTp0/HV199hV/84hcoLy/Htm3bsHTpUlRVVRl/PuWUU1BQUICbbroJOTk5qKiowGuvvRa3WImIiKhnBvJrn5qaGnz44Yd45plnAAAXXnghHnzwQTzyyCNwOp3G/b744gscc8wxcDgcuOqqq1BeXo7vv/8eb731Fn7/+98bX+vwww+H1+vFVVddhVGjRmHr1q149dVX0d7e3uXr9dT69etx4YUX4uc//zmuvPJK7L///gCAxx9/HAceeCDOOOMM2O12vPXWW7jmmmugqiquvfZa4/MXLVqEyy+/HAceeCBmz56NnJwcrF27FkuWLMFFF12En/70p5g3bx5eeuklzJw50/i8YDCIV199FdOnTze1tZIoaWlERHvp2muv1X74cHLcccdpALSFCxfudP/29vadbvv5z3+upaWlaX6/37jt0ksv1YYNG2b8efPmzRoAbdCgQVpjY6Nx+9///ncNgPbWW28Zt9166607xQRAczqd2saNG43bPv/8cw2A9vDDDxu3TZs2TUtLS9O2bt1q3Pbdd99pdrt9p6/ZnUsvvVRLT0/f5d8Hg0GtsLBQGzNmjNbR0WHc/vbbb2sAtLlz52qapmlNTU0aAO0Pf/jDLr/W66+/rgHQPv300z3GRURERPHB1z47u++++zSPx6P5fD5N0zRtw4YNGgDt9ddf73K/Y489VsvMzNQqKyu73K6qqvH/l1xyiWa1Wrt9faPfr7vvV9M07emnn9YAaJs3bzZuGzZsmAZAW7JkyU737+5nM2XKFG2fffYx/uz1erXMzExt4sSJXV67/TDuSZMmaRMnTuzy96+99poGQPvwww93+neISNPYvkdE/cblcmHGjBk73R7bv9/S0oKGhgYcc8wxaG9vx7fffrvHr3v++ecjNzfX+PMxxxwDANi0adMeP3fy5MkYMWKE8eeDDz4YWVlZxucqioJ//vOfOOuss1BaWmrcb99998XUqVP3+PV7YvXq1di2bRuuueaaLu+YnX766Rg1ahTeeecdAJHr5HQ6sXz5cjQ1NXX7tfSKqrfffhuhUCgu8REREVHfDOTXPosXL8bpp5+OzMxMAMDIkSNx6KGHdmnh2759O1asWIHLL78cQ4cO7fL5eiueqqp44403MG3aNEyYMGGnf6evoxSGDx+OKVOm7HR77M+mubkZDQ0NOO6447Bp0yY0NzcDAJYuXYqWlhbcdNNNO1U7xcZzySWXYNWqVfj++++N2xYvXoyysrKknK1FlAyYlCKifjN48OBuy6u/+uornH322cjOzkZWVhYKCgqMQaH6k//u/PBFjP4ibVeJm919rv75+udu27YNHR0d2HfffXe6X3e39UVlZSUAGGXjsUaNGmX8vcvlwj333IP33nsPRUVFOPbYY3Hvvfeirq7OuP9xxx2H6dOn4/bbb0d+fj7OPPNMPP300wgEAnGJlYiIiHpuoL72+eabb7B27VocddRR2Lhxo/Fx/PHH4+2334bP5wMQTaKNGTNml19r+/bt8Pl8u71PXwwfPrzb2z/++GNMnjwZ6enpyMnJQUFBgTELTP/Z6EmmPcV0/vnnw+VyGYm45uZmvP3227j44ot5CiHRLjApRUT9prsTTbxeL4477jh8/vnnmDdvHt566y0sXboU99xzD4DIu2N7YrPZur1d07R+/VwzXH/99diwYQPmz58Pt9uNOXPmYPTo0Vi7di2AyLtzr776KlauXImZM2di69atuPzyy3HooYeitbXV5OiJiIgGloH62uevf/0rAOCGG27AyJEjjY/7778ffr8ff/vb3+L2b+l2leT54fB4XXc/m++//x4nnXQSGhoa8MADD+Cdd97B0qVLccMNNwDo2c8mVm5uLn70ox8ZSalXX30VgUBgj6c0Eg1kHHRORAm1fPly7NixA6+99hqOPfZY4/bNmzebGFVUYWEh3G43Nm7cuNPfdXdbXwwbNgxAZODmiSee2OXv1q9fb/y9bsSIEbjxxhtx44034rvvvsO4ceNw//33Gy8AAeCII47AEUccgd///vd4/vnncfHFF+PFF1/Ez372s7jETERERH2T6q99NE3D888/jxNOOAHXXHPNTn9/xx13YPHixZgxYwb22WcfAMD//ve/XX69goICZGVl7fY+QLRazOv1GuMMgGhFek+89dZbCAQCePPNN7tUlH344Ydd7qe3P/7vf//bY/XYJZdcgjPPPBOffvopFi9ejPHjx+PAAw/scUxEAw0rpYgoofR362LfnQsGg3jsscfMCqkLm82GyZMn44033kBNTY1x+8aNG/Hee+/F5d+YMGECCgsLsXDhwi5tdu+99x6++eYbnH766QCA9vb2nY4OHjFiBDIzM43Pa2pq2umdznHjxgEAW/iIiIiSQKq/9vn4449RUVGBGTNm4Nxzz93p4/zzz8eHH36ImpoaFBQU4Nhjj8VTTz2FqqqqLl9Hvz5WqxVnnXUW3nrrLaxevXqnf0+/n54oWrFihfF3bW1txul/Pf3eY78mEGm5e/rpp7vc75RTTkFmZibmz5+/02uzH74Omzp1KvLz83HPPffgX//6F6ukiPaAlVJElFBHHnkkcnNzcemll+KXv/wlLBYLnnvuuaRqn7vtttvwj3/8A0cddRSuvvpqKIqCRx55BGPGjMG6det69DVCoRDuvPPOnW7Py8vDNddcg3vuuQczZszAcccdhwsvvBD19fX44x//iPLycqNkfMOGDTjppJNw3nnn4YADDoDdbsfrr7+O+vp6XHDBBQCAZ555Bo899hjOPvtsjBgxAi0tLXjyySeRlZWF0047LW7XhIiIiPom1V/7LF68GDabzXhT7YfOOOMM3HzzzXjxxRcxa9YsPPTQQzj66KNxyCGH4KqrrsLw4cNRUVGBd955x/i37rrrLvzjH//Acccdh6uuugqjR49GbW0tXnnlFXz00UfIycnBKaecgqFDh+KKK67Ar3/9a9hsNjz11FMoKCjYKeG1K6eccgqcTiemTZuGn//852htbcWTTz6JwsJC1NbWGvfLysrCgw8+iJ/97Gc47LDDcNFFFyE3Nxeff/452tvbuyTCHA4HLrjgAjzyyCOw2Wy48MILexQL0UDFpBQRJdSgQYPw9ttv48Ybb8Qtt9yC3Nxc/OQnP8FJJ53U7YkoZjj00EPx3nvv4Ve/+hXmzJmDsrIyzJs3D998802PTsgBIu+AzpkzZ6fbR4wYgWuuuQaXXXYZ0tLScPfdd+O3v/0t0tPTcfbZZ+Oee+4xStDLyspw4YUXYtmyZXjuuedgt9sxatQovPzyy5g+fTqAyKDzTz75BC+++CLq6+uRnZ2Nww8/HIsXL97lQE8iIiJKnFR+7RMKhfDKK6/gyCOPRF5eXrf3GTNmDIYPH46//vWvmDVrFsaOHYv//ve/mDNnDh5//HH4/X4MGzYM5513nvE5gwcPxqpVqzBnzhwsXrwYPp8PgwcPxtSpU5GWlgYgkvx5/fXXcc0112DOnDkoLi7G9ddfj9zc3G5PQOzO/vvvj1dffRW33HILfvWrX6G4uBhXX301CgoKcPnll3e57xVXXIHCwkLcfffduOOOO+BwODBq1CjjzcRYl1xyCR555BGcdNJJKCkp6VEsRAOVRUumFD0RURI766yz8NVXX+G7774zOxQiIiKifsfXPn3z+eefY9y4cXj22Wfx05/+1OxwiJIaZ0oREXWjo6Ojy5+/++47vPvuuzj++OPNCYiIiIioH/G1T/w8+eSTyMjIwDnnnGN2KERJj+17RETd2GeffXDZZZdhn332QWVlJR5//HE4nU785je/MTs0IiIiorjja5+999Zbb+Hrr7/GE088gZkzZyI9Pd3skIiSHtv3iIi6MWPGDHz44Yeoq6uDy+XCpEmTcNddd+GQQw4xOzQiIiKiuONrn71XXl6O+vp6TJkyBc899xwyMzPNDoko6TEpRURERERERERECceZUkRERERERERElHBMShERERERERERUcINuEHnqqqipqYGmZmZsFgsZodDRERESUjTNLS0tKC0tBRWK9/Di8XXUkRERLQnPX0tNeCSUjU1NSgrKzM7DCIiIhKguroaQ4YMMTuMpMLXUkRERNRTe3otNeCSUvoJCNXV1cjKyjI5GiIiIkpGPp8PZWVlPDmpG3wtRURERHvS09dSAy4ppZeZZ2Vl8YUUERER7Rbb03bG11JERETUU3t6LcUhCURERERERERElHBMShERERERERERUcIxKUVERERERERERAk34GZKERER7Q1FURAKhcwOg+LA6XTu9ohiIiIiIupfTEoRERH1gKZpqKurg9frNTsUihOr1Yrhw4fD6XSaHQoRERHRgMSkFBERUQ/oCanCwkKkpaXxVDbhVFVFTU0NamtrMXToUP48iYiIiEzApBQREdEeKIpiJKQGDRpkdjgUJwUFBaipqUE4HIbD4TA7HCIiIqIBh4MUiIiI9kCfIZWWlmZyJBRPetueoigmR9IzK1aswLRp01BaWgqLxYI33nijy99rmoa5c+eipKQEHo8HkydPxnfffdflPo2Njbj44ouRlZWFnJwcXHHFFWhtbU3gd0FEREQUxaQUERFRD7HFK7VI+3m2tbVh7NixePTRR7v9+3vvvRcPPfQQFi5ciFWrViE9PR1TpkyB3+837nPxxRfjq6++wtKlS/H2229jxYoVuOqqqxL1LRARERF1wfY9IiIiIgGmTp2KqVOndvt3mqZhwYIFuOWWW3DmmWcCAJ599lkUFRXhjTfewAUXXIBvvvkGS5YswaeffooJEyYAAB5++GGcdtppuO+++1BaWpqw74WIiIgIYKUUERER9VJ5eTkWLFhgdhgUY/Pmzairq8PkyZON27KzszFx4kSsXLkSALBy5Urk5OQYCSkAmDx5MqxWK1atWpXwmImIiIiYlCIiIkpRFotltx+33XZbn77up59+utctX8cffzyuv/76vfoaFFVXVwcAKCoq6nJ7UVGR8Xd1dXUoLCzs8vd2ux15eXnGfboTCATg8/m6fBARERHFA9v3iIiIUlRtba3x/y+99BLmzp2L9evXG7dlZGQY/69pGhRFgd2+55cGBQUF8Q2Uktr8+fNx++23mx0GERERpSBWShEREaWo4uJi4yM7OxsWi8X487fffovMzEy89957OPTQQ+FyufDRRx/h+++/x5lnnomioiJkZGTgsMMOwz//+c8uX/eH7XsWiwV//vOfcfbZZyMtLQ0jR47Em2++uVex/+1vf8OBBx4Il8uF8vJy3H///V3+/rHHHsPIkSPhdrtRVFSEc8891/i7V199FQcddBA8Hg8GDRqEyZMno62tba/iSXbFxcUAgPr6+i6319fXG39XXFyMbdu2dfn7cDiMxsZG4z7dmT17Npqbm42P6urqOEdPREREA5WpSak9HW3cnUAggJtvvhnDhg0zXqg+9dRT/R/sAPG/rc1oaguaHQYRUdLTNA3twbApH5qmxe37uOmmm3D33Xfjm2++wcEHH4zW1lacdtppWLZsGdauXYtTTz0V06ZNQ1VV1W6/zu23347zzjsPX3zxBU477TRcfPHFaGxs7FNMa9aswXnnnYcLLrgAX375JW677TbMmTMHixYtAgCsXr0av/zlLzFv3jysX78eS5YswbHHHgsgUh124YUX4vLLL8c333yD5cuX45xzzonrNUtGw4cPR3FxMZYtW2bc5vP5sGrVKkyaNAkAMGnSJHi9XqxZs8a4zwcffABVVTFx4sRdfm2Xy4WsrKwuH0RERPFQ4+3Apu2tZodBJjK1fU8/2vjyyy/HOeec06PPOe+881BfX4+//OUv2HfffVFbWwtVVfs50oFh47ZWTHvkIxxenoeXfj7J7HCIiJJaR0jBAXPfN+Xf/nreFKQ54/MUPm/ePJx88snGn/Py8jB27Fjjz3fccQdef/11vPnmm5g5c+Yuv85ll12GCy+8EABw11134aGHHsInn3yCU089tdcxPfDAAzjppJMwZ84cAMB+++2Hr7/+Gn/4wx9w2WWXoaqqCunp6fjRj36EzMxMDBs2DOPHjwcQSUqFw2Gcc845GDZsGADgoIMO6nUMyai1tRUbN240/rx582asW7cOeXl5GDp0KK6//nrceeedGDlyJIYPH445c+agtLQUZ511FgBg9OjROPXUU3HllVdi4cKFCIVCmDlzJi644AKevEdERKY48u4PAADr5p6MnDSnydGQGUxNSu3uaOPuLFmyBP/617+wadMm5OXlAYi0EFB8fFXTDE0DtrcEzA6FiIgSJPYkNiCS+LjtttvwzjvvGAmejo6OPVZKHXzwwcb/p6enIysra6dWsZ765ptvcOaZZ3a57aijjsKCBQugKApOPvlkDBs2DPvssw9OPfVUnHrqqUbr4NixY3HSSSfhoIMOwpQpU3DKKafg3HPPRW5ubp9iSSarV6/GCSecYPx51qxZAIBLL70UixYtwm9+8xu0tbXhqquugtfrxdFHH40lS5bA7XYbn7N48WLMnDkTJ510EqxWK6ZPn46HHnoo4d8LERFRrKrGdialBihRg87ffPNNTJgwAffeey+ee+45pKen44wzzsAdd9wBj8fT7ecEAgEEAtEkC0+M2bWqHe1mh0BEJIbHYcPX86aY9m/HS3p6epc//+pXv8LSpUtx3333Yd9994XH48G5556LYHD3rd0Oh6PLny0WS79VMmdmZuKzzz7D8uXL8Y9//ANz587Fbbfdhk8//RQ5OTlYunQp/vOf/+Af//gHHn74Ydx8881YtWoVhg8f3i/xJMrxxx+/2zZEi8WCefPmYd68ebu8T15eHp5//vn+CI+IiKhXVDX6nKaoqd1mT7smKim1adMmfPTRR3C73Xj99dfR0NCAa665Bjt27MDTTz/d7efwxJieq2xkUoqIqKcsFkvcWuiSyccff4zLLrsMZ599NoBI5VRFRUVCYxg9ejQ+/vjjneLab7/9YLNFEnJ2ux2TJ0/G5MmTceuttyInJwcffPABzjnnHFgsFhx11FE46qijMHfuXAwbNgyvv/66UVlERERE5lNj3mhRU3z2I+2aqFfTqqrCYrFg8eLFyM7OBhCZO3Huuefiscce67Zaavbs2V1ehPp8PpSVlSUsZkmqmJQiIhrwRo4ciddeew3Tpk2DxWLBnDlz+q3iafv27Vi3bl2X20pKSnDjjTfisMMOwx133IHzzz8fK1euxCOPPILHHnsMAPD2229j06ZNOPbYY5Gbm4t3330Xqqpi//33x6pVq7Bs2TKccsopKCwsxKpVq7B9+3aMHj26X74HIiIi6hslJhEVVpiUGqhEJaVKSkowePBgIyEFRN5N1TQNW7ZswciRI3f6HJfLBZfLlcgwxapmUoqIaMB74IEHcPnll+PII49Efn4+fvvb3/Zb6/vzzz+/UyvZHXfcgVtuuQUvv/wy5s6dizvuuAMlJSWYN28eLrvsMgBATk4OXnvtNdx2223w+/0YOXIkXnjhBRx44IH45ptvsGLFCixYsAA+nw/Dhg3D/fff36sZlkRERNT/Youj2L43cIlKSh111FF45ZVX0NraioyMDADAhg0bYLVaMWTIEJOjk80fUlDn85sdBhER9ZPLLrvMSOoAu55PVF5ejg8++KDLbddee22XP/+wna+7r+P1encbz/Lly3f799OnT8f06dO7/bujjz56l58/evRoLFmyZLdfm4iIiMwXm4gKMyk1YFnN/MdbW1uxbt06o3RfP9pYP+Fn9uzZuOSSS4z7X3TRRRg0aBBmzJiBr7/+GitWrMCvf/1rXH755bscdE49s6WpA2zjJSIiIiIiokSIbd9TuBkdsExNSq1evRrjx4/H+PHjAUSONh4/fjzmzp0LAKitre1yBHVGRgaWLl0Kr9eLCRMm4OKLL8a0adN4lHEcsHWPiIiIaO/85/sGTHlwBdZUNpodyoATDKs4708rcc+Sb80OhYh6SIsZWVnfzK6dgcrU9r09HW28aNGinW4bNWoUli5d2o9RDUwcck5ERES0dy56chUA4Lw//Rff33WaydEMLB98uw2fbG7EJ5sb8dtTR5kdDhH1QGx11E2vfYkLDh9qYjS9p2kaPqvyYp/8dOSmO80ORyxTK6UoeTApRURERBQfHNhLRLRn6g8KVPwhxaRI+mb5+u2Y/vh/MP4OFs3sDSalCACTUkREREQkl9sR3daEFXU39ySiZKH+IIE/as4SlN/0DloDYZMi6p0F/9xgdggpQdTpe9R/qnYwKUVEtCeqyo1OKtndCAEiksXtsBn/3x5SkGXje+9meHLFJnicNvzkiGFmh9Jrze0hbNjWggnDcmGxWMwOp8c2bmvB5AdW4KRRhSjIdOGmqaOQkyajlWxXw83H3Po+3v7F0chw2bGhvgVBRcXGba1QVQ3+sIpDh+UiN80JqwVoDYThtFnhctigqBoa2wIYUZCBwbkehBQN2R4H2oNhWC0WBMIqvO1BAIDVYoHLYYXbYYPLboXTZu31z/34/Qvx+ZbmPd6vI6hg6Tf1aA+E0R5UkOVxwO2wYlRxFvR/cpsvgK9qmpGb5kR5fhrCiob9izNhsVjgslsRCKnY0RZAY1sQgbCKQFhBIKSiNRCGzWpBptsBj8MGj9MKl90Gj9MGt8MGj8MGt8MKCywIqSpCYRVBRYXVYoEFgMViQU6aAw4THzOZlCJomsZKKSKi3XA6nbBaraipqUFBQQGcTqeoF6y0M03TsH37dlgsFjgcDrPDIaK9ZLNGH5Prm/3IcvP3OtE+q2rC79/9BgBwyxv/w8kHFOHJSyaYHFXPnfXYx9jc0IZfnbIfrj1hXzHP85MfWAEAWPbtNgDAi59Wo+Lu03v1NUKKCkXVuiR3gchzZWNbED5/GE67FS67FW2BMNKcduRn7P1rod11Ov/o4Y/26mvrMlz2HlVeWS2Ay26D025FIKxAVSMVmF2TO9Ekj8dpw7tf1hmfP/u1L/DCJ9XIz3DhrrPHoCwvDVaLBc+srMDzq6p28y+b729XT8Khw/JM+/eZlCI0tAbRIax/l4gokaxWK4YPH47a2lrU1NSYHQ7FicViwZAhQ2Cz2fZ8ZyJKarFzvD74dhtGFmWaGM3A8+bnNfjlC2u73Lb063qU3/QOAGDqmGI8eP44bG8J4H9bmzEkNw11Pj/8IQWKqqGhNYD1dS0IhFW0BcKwWi1wO2zIcNkxoiAdB5ZmI9vjQH6GE4MyXF2SkPFw25tfYXNDGwDgvn9swH3/iLRl/eemE/GLF9ZiTWUTrjp2H/z82H2Q5XHAbrXAYrEgpKhoDypobAui3udHqz+M9fUtcNmtsFosCCoqguHIR3NHCI3tQTS3h6BBM24PKho0TYPHaYPTZjWSP067FYqqoak9hGyPA9keB0qy3XA7bLBbLbDbrLDv4jqU3/QOnvjpoTjlwOIut1c3tsNlt+J/Nc34y0eb8UVnlU8gFKme8ThsGJLrQXG2G9t8AVQ2tsEf6r5K3GGLVOeku2xQVcBltyLDbUeW2wGHzQKX3Yb8TKfx9fXqnnSnHS6HFXarFe3BrnvQF648Ahc++d9d/pysFkBDJNHU4o8kmpw2K4bkehBWNYQUFXnpTqyva0G48zHhhwkpl90Km9UCVdMQCKvQi7VUDegIKV32xUFFhc/fs1bCFz6pBgA0tAZw1XNrdvp7p92K0SVZsFqAHa3BLkUhmS47PE4b9ivKRDCs4vvtrVC1yM/+h18jy21HXroTTrsVDpsVWW4HFFVDSyAMf1CBP6ygI6jAH1Lg7/y5/pC+blRNQ+TbNzcBy6QUsUqKiKgHnE4nhg4dinA4DEVhIj8VOBwOJqSIUkTswOSRRRkmRjLwKKq2U0Lqh977Xx3e+9+SuPx7NqsF+RlO2K3RdiO7zYLMzoRIR0hBhssOhy1S1WOzWmCzWhBWNNisFlgskdYtm9WCdJcdmxta8b+tvm7/rSPv/sD4/ydWbMITKzbF5XtIBD0xMn5oDiYOH4SF//p+j5/TEVLw3bZWfLettcvtaU4bAuFINZXHYYM/rCCkRKqoGtviF/P4oTmouPt0bGlqxwP/2ICCLBd+fcr+sPeytUzTIkmasBLpCBrWWbWkt+vF3i+oqPCHVASMJI4Cl90Gq9UCf6hrgkdPWvk7P+b+/asex/Tf2SchL+aEPn9IgcNmhQWAdRfJxbZAGHabBR1BBWlOOxw2S6+r0xRVMwbI26wWOG3WXf57ZmFSilDV+UjitFm7zaRKsbqiEQv++R1unXYA3x0jon6ht3qx3YuIKLnEjvxrDfCNg0QK/2De4vD8dNx4yn6Y+fyuE1UuuxWqpqE0x4PSbA+cdiuqm9rx40PLkO1xINRZYdTUHsSayiZsbw3A2x5CY1sQiqqh3hfo72+r10qz3chOc8LtsCLH40C6yx6terJZYbNa4XZYMaIgA3ZbJDngsFmhaFrnjEOL8X0HFRWhzn1ZtseBtoCCxrYA6nx+BMMqwqqGsKJBUTW882WtEcN9Px6LX73yeZe41lZ5sbbK2+W2QelOjCvLgdtpw5QDizF2SDZy0pyobe5ARUM7WgNhDMpwYnCOB8MGpcFlt0HTNIRVDQ5bpL2toTWIVn8YrYEwrBYgpGjwdYTQ3BGComloC4TR2BaEzWox2uIcNgvaAgrCioqQqkFVNSiahonD83D48DwjYTQkNw0PnD+uzz8Li8VitPDGJoK6u5/LboPLbgM8vX9t9/jy71Hb7Df+fP3kkZhx5HA8+M8NOHNcKcYMzjaq6n7oh62S3Ul3RdI1Lnvf30DTk6/JLLmjo4So2tEBABiS58Gm7XFMdSfYc/+txEcbG/D+V3VMShERERENILEDkz+v9uLUA4vx+RYvPtnciME5HgwdlAYLgIMGZ/e66oIiAmEFW5s6sL0lgLZgGA0tkYHRm3d03T88e/nhKMtLw48OLjVuq25sx1c1PqS7bDh63/w+zyIKKyoaWiOtcrH8IQVtwTB8HWG4HVa0BhQEwyoy3HZomgZV02CBBXqzkqpGKkhaA2HMe/vrLl/rhSuPwKQRg/D3dVuxob4FVx+/LzJcdmza3orqpg40d4QwujgT//l+B8aW5aA4y41BGU7TBkW/09kiCQDnHjoE5x46BN/W+XDqgn93ud+4shw8dMF4FGa5dpkQyfY4MKo4q9u/s1gscNgiPzeX3YbBOZ44fQdy/fBnfuKoQmSnOXDbGQeaFJFMTEqR0b43NC9NdFKqovMEwd0NzEtmoc53RNKc/LUkIiIic7z1eQ2yPQ4cu1+B2aH0SuzR8n/5aDP+8tHmXd73hP0LMPPEfZHusqN8UDrcDhu+qmnGjtZIkqW6qR0OmxWHDM3BiIKMHiVQ9JlB/pACqzVyqlVTexD+kAK71Qp/SEFTexAt/jDCqoaSbDfaAgp8/hCslsjmtiTbgyP2yev3Ads+fwjbfAFsaWrHVm8Har1+1Db7Ud3UjtrmDqQ77cjyOODrCCGoqLBZLPB3JqR68jq7JNu9021leWkoy0vb69jtNiuKs90o7ubf6Ku3vqgxKonSnTZMGjEIAHDmuMFd7rdPQQb2KYi2hibzm+CjirOMYeeqqmFbSyCu14wi1B+cHnjwkBxzAhGOu19CdUxSSrJq4bOxzl24Elub2vHv35wIj5MzToiIiCTTNE3M6V26D9dvwy86ZwNtnn+aqPiVXrwr+eH67fhw/Xbjz5kuO1p2cTpXfoYT6S67ceJYXroT3vYgIs1WQFtQgbc9iLCqYRen2/fKU5dNwImjiqCqGlZXNmFUSSYyXfbd/iy87UF8tLEBLf4wPt3ciM072uCwWdEeDMNqsSDDZYeqafCHVGxp6kBDa99b39KcNhRmupDusqMg0wVVA4qzXHh59RYAwIRhueIq0awx1/ahC8ebGMneOaCk+wonq9XChFQ/if2dL8tj5VhfMSlFqOycKSU5KdXij/SYS9UaCOPzai+AyIkN8XgnKZE0TcO7X9Zh3NAclvISEREBGD77XQCykjsznv7U+P/lG7bjhP0Ld7pPIKzgqY8qAEQSFPsWZsDjtOGQobnGfTQt0hbV0BqE025Faba736+BsouM0CMXjUd7UIGvI4STRhfh7Mc+htViQXswbJwqpiekMt2R4dgjCtLxaUUTgMgp1Q2t+mvM4B4PCHLZrZEGMQ3I8tiR5rQj1HmqWXZa5AQ1TQNqvB3I6fyzqkVODASAGq8fDyzdgIeWfbfT1/7otydgyf/qcOc73wCIzG7KcNnx5dbmXl6tSJzF2W6MLMxASXbktLWCTBeG5aVFKr7CKnI8js7ZT4DTbkFZbhoKMl3d/iz1pNQvTxrZ61jMZov5fgZluEyMZO8UZMqNXarYSql//eoEEyORjUmpAc4fUoxBgZKTUpU7ZFdJVe6Q2zYJAP/+rgHXPv8ZJo8uxJ8vPczscHrts6omvLK6Gr+eMmq3wxCJiIh669/fNYhrhQMiSZMP12/D/kWZXU4g25P8DCc0DdgR82ah026FzWLBYcPzUD4oDWlOO6yWyJtyNV4/8jOcCKsairJcaAsoCIRVuOxWtPjDaO4Iwu2wIT/DBUXVsKWpHe3ByOlqJTlu5KVFZvls3N71tLB7px+M8w4r2ym+dXNPARBJnIUUDeuqvdjc0IoJ5XkYUdD11L62QBifb/ECALLcDtQ1+6FqGjI6B1jr31t+hgt2mwWD0l2w9fFUq/LOuUC3vPG/Xd7n6Hs+7PLnzQ1dXz8eOWIQbFYLqhrbcc74IcjLcCIvzYmwGjk1zWW3YUiuB/sUpCPTzQM7dMMGpeGTikYAQG6a3OtSmsNqqEQbNijNGHSebCfaScKk1AC3pSmSzMlw2ZEreDO+p3etkl2V8KTaN7WRY3S97SGTI+mbRz7YiA++3YZxZTk4/7ChZofTa//asB2qpnX7jrYEEltciIh66tOKRpFJqZtf33VyBACOGZkPRdXwn+93dLk9WlUUqaQKhiOniQHAig3bsSL+oXZx9L75eOqyw4yk0a5YLBY47RYc3nnqV3fSXXYcOSLf+POYwdlxjXVvzTiqHCMLM3HkiEEoz083OxyxfnfaaLyyZgvGDsnGsEHyruOzlx+OV9dswW9PHWV2KAPO/eeNw/x3v8HlRw83OxTRmJQa4PRkTlle5EQSqcRXSglPqkmPX3+nMaTIm5LfFgjjymdWAxbgf7dN2eOL8GTzdY0PP/nLKtxw8n746RHDzA6n1/6+biveWLsVD54/Djlp8hL7Da0BuOxWke+YR4YHW8TNLqGB5+EPNuLq40eIOMjk0GG5WFPZtNv7jChIx+KfHdFlRs3Gba34ts4Hm8WCYYPSEVJUjCjMQIbLjmBYRb3Pj/9tbcamhjb4Qwpa/JF2OZfDikHpTrT4w7BbrdjW4ofbYUO6y45ASIHHGamQ6ggqaGgLwG61YEhuGjLddjS2BbG9JYCm9iAUNVL1FFJUXDxxmLjnwu68f/2x2L84Oki7LRDGC59U4bj9CpJ6wLZEuelOYyi4RMfuVyAy8Z0KBud48MhFh5gdhnjJ/+xI/Uqv0BkqfDBbVaPs9jfpSTXJlV5hRTUqBiWq2NGGoBJ5BzqsqnBC1gvxD76tR2NbEP/esF1kUupP/9qEr2t9WLW5EVMOLDY7nF7x+UM44Q/LUZrjwfs3HGt2OL328upqzHvra/x4Qhnmn3OQ2eEQ7eTtXxyNHz38EQDggLnvAwB+PWV/nDS6sNsj11VVw462IPIznKZVjzp3keSdf85BuPDwXVcS71uYgX0LM7r9O6fdGreT1wYKt8PaJSEFRKq2fnbMPiZF1HMsfCai3mJSaoDTK1wklqrGEp/UkZ5UExx/bbNfZIWUTvralxy/pmnGPDgtHkcuJdiGuha0BMJif38rGtoRVjWk87RSSlIHlu6cePrD++vxh/fX7/Fzx5XlwGW3oiOkIBBSUZjlwpEj8vHjCUOQH8dBzKqqoTUYRiCkYkdbACs3dW3Fe/eXx+CAbr4P6l/6AHaJLKJ7L4jIDExKDXDVMe17kkmfKSV5Yx5SVNR4/WaH0WeSrz2QAvEL/t1taA2iLaiYHUafVQhfO3oyfxjnqFCSslgsWH3LZEy485+9/tx1nSfy6tbXt+Df3zXgniXfYlRxJjLddmzc1opgWEVZXhpy05wozHIhzWmD22GDqmpobA+h1tthnOrrslvh84dhtQC+jjB2tAWwvSUAtZuc+h8vGIczxw3u43dOe2va2FKzQyAiShgmpQY4PZkj+eS9YFhFjbfD7DD6THr8W5s6oHT3ilaICuEnH4qvshN8/aVf+yrB1x6IJtWGCX7+otRz2kHFePfLOowuiVQX5We4sHn+aVA1oCOkoLE1iE8rGrGmqgmfbG7Exm2RE+MePH8sfB1hHL9/Aba3BFDvCyCsRgaE56Y5sXzDNny8cQc2N7Th27qWLv/mD//cnZ4koXPTHGjqPLCkNRDu7bdOcXTehCFmh0BElDBMSg1gmqZ1SUrtaA1EbjczqD7Y6u3o9l0+KaTHLz+pI7tapKJBbvz+kIJ6X8DsMPpM8rUHZFepqWr0+atcePs5pZa8zpOMTzmgyLjNYrHAZomcdJzhsmPooDRMP3TXSYfuRipM7vx6Da0BrK5oREdIwb4FmXDYLdi4rRVNbUHUNvvhtFsRCKuwWoDcNCeKs93I8ThRsaMNNqsFGS47VE1DtseBvHQnirLcyPY44LRZYbVaUH7TOwAAO482N5WEofhERPHCR7wBbHtLAP5Q5IXL4ByPkZSSRnKlBSA/fvlJHV5/s0iOHZCd1AFkt+/Vt/gRDKuwWy0ozXHv+ROIEqy/hj3nZ7hw6piSLrd1NzT9h44emd+rf8fKadWmSndxVh4RDRyyjmmiuNI3hCXZHtFH50rf2EqPX/pMI8nXPxBWUNMst/VTfEJQekJZcPx6ldqQXA/suzgtjIj6zsZKKVN5HExKEdHAwVdyA1gqzJMC5CdFGL95IqenyY1/S1MHBB76ZpCcEARkVxo1d4SM2TES6fO8hrJ1j5KM5MfkWKyUMpdH4Kmi+hvcYwbztEYi6h227w1gqZaUslogcjaT5KQIIHvY8/aWADpCck9Pk976KX/ty42/Svi11xOC5YNkP39R6rJAdlLHykopU0mslPp87inwhxTkpDnNDoWIhGGl1ACmb0qGCn9RX925MSzN8ZgcSd9ITurEDsuXSPpMIOlJHcnX3+cPobEtaHYYfVYp+HEHiHn+Ev6mClGysrFSylQSk1Iepw256UxIEVHvMSk1gKVCpdQPTxCURnpSZ1vnsHyppM80Ep+UElzpJb3SSPra0U/95Ml7lGwEFmx368BStmCZibPyiGgg4SPeACY5maPT26/0EwSliT0B0SnwBYj0pI7khCAgO6kTVlRsbRI8pF3wtQdkrx1N04yk4DDhlb6UuqQWGn1804l4c+ZRKM9nwjfRPr/1FADAaQcVmxwJEVFicabUANURVLCtJQBAdlKqMqZ1zyHwBMHY+BvbgggKG28kuf0KkD2oGpB9/Wu8foQlDoHrJL3SSHL8Te0htATCsFiAMsHPX0TJaHCOR+SbfKkg2+NAxd2nmx0GEVHCydvFU1xsaYpsSDJdduSkOUyOpu8qhb9bLj1+vVohP8NlciR9U9VZLWIXONBVUTVsaWSlkVnYvmcefe0UZ7nhFjh3hYiIiIiimJQaoCpjhpxbpNaYI5pUGJons8xcevx6pY7UpJpeKSWx2qK2uQNBRe48L8lVXoDspJo/pKDO5zc7jD7jkHNKZprcAlAiIiJTMCk1QKXCPClAflJEevx6Um2YwHXkbQ+iuSMEQGZSSt+Yl2S7TY6kb/S1I/GEISD6GOoU2DZcnSIJQQ45p2Qm9+0+IiKixJL3apriImWSUnr7m9DvQ3z8jdGKO2n0a1+Y6UKawMRIpfDfYcmtq/6QgtrmSKWRxOuvVwjmCm3drtoh93GHiIiIiLpiUmqA0t8pl1ghEqtacFIEiEkOCoy/uT0Eb3uk0kjixlx6lZr0ahHJSSn9cSfTZReZ2NFP3hsqdO3oa1/i2qGBgP17REREvcGk1AAlfUMOAK2BMHa0BQHITIq0+ENo7Ix/mMDNYWVjZGOYn+FCmlPeQZ5G66HAaw/IrhbRNM1IyEq8/l1m8gls0jGuvcDHTSAav9SELA0Mgsd1EhERJRSTUgOQqmrRCiOhmxIg+m5/XroTmW6J1QqRn8GgdCcyXPKSOnr85QKTIkC0hUnqxlxypdH2lgA6QgpsVovIo8elV6lVCP7dbQ2E0dDa+WaEwPiJiIiIqCsmpQag7a0BBMIqrBagVOCGULerE5iknHwjuXUPSIH4U6XSSODJjXpSpDTHDYdN3tOQ/LUvt30v9s2ILIFvRlDqk/IahIiIKFmYuhtYsWIFpk2bhtLSUlgsFrzxxhs9/tyPP/4Ydrsd48aN67f4UpW+oSrN8YjcEOqktyCKH3JunLwnb2MLRNsPJVa77GgLojUQhsUis9pR+tqRXGkUVlRsaeoAIPOxs0pwhSANLBb27xEREfWIqRmJtrY2jB07Fo8++mivPs/r9eKSSy7BSSed1E+RpbZdtf1Ie/0kPalT1dh9tYKUd1klt491BBXU+wIAZMavX/viLDdcDnmJ5ZSpNBKYVKvx+hFWNTjtVhRnuc0Op9ekt90SERERUVemDrKZOnUqpk6d2uvP+7//+z9cdNFFsNlsvaquooiqFJgnBew6qSOF/KRaNLGwrTPBI4Uee7bHgZw0p8nR9J6x9oWuHVYamacyZu1IeyMCiK59iQPyaWCQ8sYSERFRshD3FvvTTz+NTZs24dZbb+3R/QOBAHw+X5ePgU4fcl4mdEOrq0qV9j2B8ftDCmqb/QC6JtWkvBbf1ZHyYuJvkH36GCuNzCP+gIIGuY+bRERERLQzUUmp7777DjfddBP++te/wm7vWZHX/PnzkZ2dbXyUlZX1c5TJLxUqpUKKihrvzkkRKYJhFbXNkWoLiS1MemIzw2VHXrrASqNdDMmXQnr7m+R5cLGVRlarvFKjSsEJQSD2zQiZ8VPqC6tS3t4gIiJKDmKSUoqi4KKLLsLtt9+O/fbbr8efN3v2bDQ3Nxsf1dXV/RilDJJP7dJtbeqAompwO6woyHSZHU6vbWlqh6oBaU4bCjLkxR9b5SVxmKvkIedAzKDwH1Z6CdgLNbeH4G0PAegav4DQAey69VDCtQdkV2gGwgpqmuW2TlJq2+rtwEPLvsPfPttidihERESimDpTqjdaWlqwevVqrF27FjNnzgQAqKoKTdNgt9vxj3/8AyeeeOJOn+dyueByydv095f2YBjbWyLzf6RWiQDRSovIXBSJSZHUiF/qxlDfmIutNNoht31PTwgWZLqQ5hTzFGSQ3HoIdN/2LCWhVt3YAU2LVGgOElihSanHH1Lw/ld1eHXNFny0scH4XRqU7sRx+xWYGxwREZEQYnYEWVlZ+PLLL7vc9thjj+GDDz7Aq6++iuHDh5sUmSzVjZF3mbPcdmSnOUyOpu/Ebwylt48Jv/6Sh8y3BsLY0RYEIDOpJvnaAzGnvwm89pqmxVRKyfvdjbYeykzmU+r4fnsrXv60Gi+trjYqPwFg0j6D8OMJQ3DaQSVwO2wmRkhERCSHqUmp1tZWbNy40fjz5s2bsW7dOuTl5WHo0KGYPXs2tm7dimeffRZWqxVjxozp8vmFhYVwu9073U67Jn0WjU5yCwqQAvELrpQKKSq2eiPJ2fJ8uRvz3DQHstwO+EOKyRH1jvSZQFWCf3e3twTQEVJgtQCDczzY1uI3O6ReMSoE8+Vde0oNm7a3YsE/v8PbX9RAHx01OMeD6YcOwY8PHSL+ABkiIiIzmJqUWr16NU444QTjz7NmzQIAXHrppVi0aBFqa2tRVVVlVngpKRWGnAOykyJA9FjzodI35gLXUew8skKB88iqBFe6AEBFQ/fzsCTQNM1oP5R4/fUqr8G5HjjtYkZKGqQPaSe5drQG8If31+OVNVugdGajjt+/ABccNhSTRxfCbpP3+0RERJQsTE1KHX/88dB2M8xi0aJFu/382267Dbfddlt8g0px0tuudNLb3yoFx6+oGqqb5FbcVcYM+pfYAiS5fQyQnVDe1hKAP6TCZrVgcI7H7HB6zRiQL/TxX187PxwyT9SfXl5djXlvfY3WQBgAcNKoQsw6ZT8cWJptcmRERESpQcxMKYqPVKiU0jRNdAtQl/gF/hxqvB0IKRocNgtKsuVuzCUm1IBolZ3EtQPIrvTSk8mlOW6RlUbS27elH1BAsoQVFfPf+xZ/+WgzAGDM4CzcNu1ATCjPMzkyIiKi1MKk1ADTk6TU7qrXksH21q5zUaTZ1hJAINxZbZErL359DZXlpcFmlVdpJH3QtuRB1f6QgjpfZI6RxOtf0ZnQlHjqIRCtspNYaRRWVGxpkrv2SRafP4RfPL8W/9qwHQBw3Ukjcd1JI2EV+JxHRESU7JiUGkBUVUN1U2TAs+RKKb3SoiRb6lyUaLWFQ+AcipRJ6ggccg7IHpKvJzQz3XbkCDz9U3rbsOT27dpmP0KKBqfdipIst9nhUArb3NCGnz3zKb7f3ga3w4oHzhuH0w4qMTssIiKilMWk1ABS3+JHsLNCpzRH7ov6XW3Kpbx/KX+ui9xBz0Ds9ZeXWAiEFdQ0dyaWBSaljNPTBsmc5yV5HhYQM5NJ4Ol1+topy/WwWoX6zfL123Ddi+vQ3BFCSbYbT14yAWMGc3YUERFRf2JSagDR3+UfnOMRfVKM9I2h9LkukqtFVDV2Hpm8+Lc0dUDTgDSnDQUZ8k4OlD7Py0hoCkzINreH4G0PAZD5uyu9dZKS3ztf1OIXL3wGVQPGD83Bn356KAoz5b6BR0REJAWTUgNIKgw5B2S3oAAp1P4mMLFQ3+JHIKzCLvz0tKF5aTIrjbj2TaNXOBZkupDmlPfULz2ZT8lL0zQ8tvx7/OH99QCA0w4qxgPnjYPbYTM5MiIiooFB3itT6rPqmAHVkkmudAFkV3p1PflQXvx6UmFwrsxqQclJEUD22ve2B9HcIbfSqFLwkHMgmpBlpRTFk6ZpuGfJeiz81/cAgMuOLMfNp48WOe+RiIhIKialBhDJyYRY0iu+dlXpJaHuZUdbEK2BMCwWYEhu9PpLKdqpEnxyHdB1JpNEktvf9GtfKLTSqDJFKkxZKUXxomka7n7vW/xpxSYAwC2nj8bPjtnH5KiIiIgGHnmvrKnPKoUncwCgNRBGQ2sQgMzNic8fQpM+10Vg/PrGsCTLLbK1oULwkHNA9kymsKJia+fpnxIT45KrvADZVXaapolPyFLy+ctHm42E1O1nHIhLjyw3NyAiIqIBivXJA0h1CiSl9O8hN82BLLfcI+XzM5zIcMnLCVc1yk2KACmQWNDjF1jtUuP1I6xqcNqtKIoZHiylyq6yQW6VFyB77W9vCaAjpMBqgchZcJR8Pvx2G+569xsAkQopJqSIiIjMw6TUANEWU2EkeaZUtIVD6MZQ8Ml1QOygapnXf1ftexISI4qqYUuj5EqjaJWa1Srggv9ANCEo79oD3bdOShmWr1/7wbkeOO182UJ7Z6u3A9e9uBaqBlx4eBmuOHq42SERERENaHx1N0BUN0Ve1Gd7HMj2yKsw0hmVOlI3ho2yqy2qBM910TQt2r4nMP46nx9BRYXDZkGpwGqRCsHtY0BMUif/B7+7AvI6HUEF9b4AAJlJtQq9Sk1oMpySh6JqmPXSOvj8YRw8JBu3nzFGTHKWiIgoVTEpNUBInicSq0p4tUKV9EopwS1A3vYQWvxhADKvv94+NiQ3DTaBlUa7GvAvRbRKUN7a0R83s9x25KTJe1PCONxC4OMOJZc/LvsOqzY3It1pwx8vGM/KOyIioiTAZ+MBQp/FJLl1D5B/ApP05KDk9j29SqpY6JB26QcVGIOq8+XF3x4MY1tLZ6WRwN/d2NY9iVUhFcaQc3nXnpLHl1ua8cgH3wEAfn/2QRj+w6pHIiIiMgWTUgNElfANrU7691EluNIocvJhZGMuMSkovdqiUvjGXPI8NX3tZHscyElzmhxN70l+3AGiVXZS257JfIqq4abXvoCqAdPGluKs8YPNDomIiIg6MSk1QEhP5gA9P1Jeg5aokHolEFZQ0xyJX2ILk956mJMmcy6Z/KSOfvKhvLWjaVpMYkRe/NIrHCXPUgPkzyMj8735+VZ8VeNDptuOuT86wOxwiIiIKAaTUgOE9FlMAFDb3P2R8lJsaeqApgFpThvyMyRWW8iuVqgQXm0heabR9pYAOkIKbFYLBgsc0t7dyXWSSG679bYH0dwRAiD7TRUyT2NbELe/9TUA4P+OG4GCTJfJEREREVEsJqUGgNij5CXPlNI3VmW5HpFHyscOOd/dXJdkrfSSnBQBZA+Zj600kjiTSa90Kc1xixwsLH7tC25d1a99YaYLaU67ydHIoCgK5syZg+HDh8Pj8WDEiBG44447oGnR5xZN0zB37lyUlJTA4/Fg8uTJ+O6770yMuv88u7IC3vYQRhVn4spj9jE7HCIiIvoBebsD6rX6zqPk7VYLSrLlVRjpJLf/ALHVFvI2hkDPTt6L3fQkm+iwZHnrZ0dbEK2BMCyWyOl70hhrX2ClDiD7gIWQomJLZ9uzxLUv+cRPs9xzzz14/PHH8cgjj+Cbb77BPffcg3vvvRcPP/ywcZ97770XDz30EBYuXIhVq1YhPT0dU6ZMgd/vNzHy+NvW4scTKzYBAK45YV+RSXEiIqJUx7cdBwA9mTM41wO7Te4LsspG/Uh5mZuTSuFJNcmVRm09HdKepEk1PSki9eRAyZU6QPSxR2JSp8bbAUXV4HZYUSiwbamyQXbrpBn+85//4Mwzz8Tpp58OACgvL8cLL7yATz75BEDkzYMFCxbglltuwZlnngkAePbZZ1FUVIQ33ngDF1xwgWmxx9tTH1WgPahgbFkOph1cYnY4RERE1A25GQrqsZ4POU/uljjJSRFAfvyVgmdK6b8DuUKHtEfnee1+7SRnSi22Sm13VXaJiqZ3guGeHbCQrCpiHncktj1XpsA8xEQ78sgjsWzZMmzYsAEA8Pnnn+Ojjz7C1KlTAQCbN29GXV0dJk+ebHxOdnY2Jk6ciJUrV3b7NQOBAHw+X5ePZNfcEcLiVZUAgJkn7LvbtnkiIiIyDyulBgDpyRCd9GPNKwWfgCh9Yy755DoAqGiQO6gaAKr06y8w/q3eDqga9lhplKQ5tR5d+2SNHYhp/cyXt3bMctNNN8Hn82HUqFGw2WxQFAW///3vcfHFFwMA6urqAABFRUVdPq+oqMj4ux+aP38+br/99v4NPM5e/2wLWvxh7FuYgZNGFZodDhEREe0CK6UGgJ5XSiUvTdOM5JrEpIiqaqgWnFTr6cY8WXFQtbkkzwWKnYclsdKiJ1VqyUz6764ZXn75ZSxevBjPP/88PvvsMzzzzDO477778Mwzz/T5a86ePRvNzc3GR3V1dRwjjj9N0/DCJ5EYL5k0TGSVIBER0UDBSqkBIBWSUk3tIbQEwgBkDnre1hJAIKzCZrWgNMdjdji9Jn1jridF5G7M5c40am4PwdseAiA1KSU8ISg4md8eDGNbS2QWnMS1b5Zf//rXuOmmm4zZUAcddBAqKysxf/58XHrppSguLgYA1NfXo6QkOmepvr4e48aN6/ZrulwuuFxy3pD4rMqL9fUtcDusOHPcYLPDISIiot1gpdQAUC28ygKIJtakDnrWkwqDczxwCBw2L75SR3j7nuTWVX0WWUGmC2lOee+DVIqvNJI/Cy7b40B2mrxZcGZpb2+H1dr1ecZms0FVVQDA8OHDUVxcjGXLlhl/7/P5sGrVKkyaNCmhsfaXFz6pAgCcflCpyDmCREREA4m8HQL1SmsgjB1tQQBAmeBKqWhSQeb3ILl9CZDfQiO5WqQ1EEZDa+R3WOL6l7529CHzEhOaqqqJTmjqs9SkJgTNMm3aNPz+97/H0KFDceCBB2Lt2rV44IEHcPnllwMALBYLrr/+etx5550YOXIkhg8fjjlz5qC0tBRnnXWWucHHQYs/hLe/qAEAXHh4mcnREBER0Z4wKZXi9DlMuWkOZLnlvlsofVi79PglJ3WCYRU13s4h7QKvv56QzUt3ivwdjiZF5CV1ANkzmfS2YbvVgsEC24YlJwTN9PDDD2POnDm45pprsG3bNpSWluLnP/855s6da9znN7/5Ddra2nDVVVfB6/Xi6KOPxpIlS+B2u02MPD7e+aIW/pCKEQXpOHRYrtnhEBER0R4wKZXiUmGeFBCzsRX6fcivlJK7OdzS1A5VA9KcNhQIHNIuPaFZ0aC3j8mLv0ulkcCTAyv0tuFcD+wC24YlJwTNlJmZiQULFmDBggW7vI/FYsG8efMwb968xAWWIK+u2QIA+PGEMpEzEImIiAYaea9SqVf0eVKSW/eAaFJHYvsS0LNj2ZNV1425vOtfGZOYlbhBqRBcpQbITsjW+fwIdlYalebIqyCJnlgq73EHkJ+QpcT7ts6H1ZVNsFqAs8dzwDkREZEETEqluL7ME9H6K5i90JPNSTLnGyRvzGNPDhycK7AFSPjGVm9hkp5YkBi/3rY6RGylkX5qpsy1r8dfni9v7ZA5Xv40UiU15cBiFGXJSyQTERENRPJeZVOvVKZA+54/pKDO5wcgc2Pb3BGCtz0EQObPQfrJgdI3tpIHhXf53RUYv/SZRpKT4dJnwVHiaZqGd76MDDj/8YQhJkdDREREPSVvh0m9kgrte1uaIt9DpsuOXIHHguuVIvkZLqS75I1xk7yxBeRXSkkeMq9Xama67cgR+LsrfaaRnlCWmMzXZ8F5HDJnwVHibdzWinpfAC67FUeOyDc7HCIiIuohJqVSmKJqRkJH6oYciG7Ky4TOBKpslDvoGehh62SigukDyUm1QFhBTXNntYjAxEJsQk3i767khKamacb1l5hUi/29lbh2KPH+/V0DAODw4XlwO2wmR0NEREQ9xaRUCqvz+RFSNDhsFpRky5sFpOvLXKxkIrn9CpCd1JF+etqWpg5onScH5mc4zQ6n1yRX6gAxrZ8C429qD6HFHwYgs1K2UvCpjWSOjzZGklJH78sqKSIiIklMTUqtWLEC06ZNQ2lpKSwWC954443d3v+1117DySefjIKCAmRlZWHSpEl4//33ExOsQPqGcEhuGmxWue8060kduSfvyY6/UvDJgdJPT4tee5nVIj1JyCbrd6VpWsyQdnm/u/raKcl2i6waiSbD5T3uUOIFwyr+u2kHAOAoJqWIiIhEMTUp1dbWhrFjx+LRRx/t0f1XrFiBk08+Ge+++y7WrFmDE044AdOmTcPatWv7OVKZUmGeFBCtlJLYQgP0vH0vWZMOkmcaST89Ldp+JXNjLrnKrrEtiJaA4Eoj6W23gh93KPHWVjWhPahgULoTB5RkmR0OERER9YKpU5enTp2KqVOn9vj+CxYs6PLnu+66C3//+9/x1ltvYfz48XGOTr5oMkdu6x4A0e1XQOxcGnnxN7eH0Nwh9+RA8aenCd+YVwlu39MTamIrjaQnNPW1I/BxkxJv+YbtAICjR+bDKrgynIiIaCCSVzoQQ1VVtLS0IC8vz+xQklJVo36cttwX9V1mAgncmAfCCmp9fgAy49ervAoyhZ4c2MN5XklapBZNLAtcO2FFxZYmfUi7vPglDzkHYlo/BV57RdVQ3Sh37VDiraloAsB5UkRERBLJ22XGuO+++9Da2orzzjtvl/cJBAIIBALGn30+XyJCSwp6lYLE1hNdfUt0JlBJtryZQNWNkUHV6U4bBqVLHFQtfEi78EqjngzaTtaEWo3Xj7CqwWm3oihT3u+u5CHngOzWyTqfH0FFhcNmQWmO7Epf6n+BsILPt3gBAIcMyzU3GCIiIuo1sZVSzz//PG6//Xa8/PLLKCws3OX95s+fj+zsbOOjrKwsgVGaS/osJiBarTBY6Eyg2PaxZJ0ZtTuSK3WA2Hle8hILiqphS2e1iMTfYePa56WJbKfp6QEFyfqdVQpOqukn75UJP6SDEuPLLc0IhFXkZzixT7689U5ERDTQydvlA3jxxRfxs5/9DC+//DImT5682/vOnj0bzc3Nxkd1dXWCojSXzx9CU3tkFlCZ4JlSlcITa/IrjeTOddE0TXSllPRqkQrB1x6IVkpJjL81EEZDaxCAzIRypfBkOCXW51uaAQDjynJFvvlDREQ00Ilr33vhhRdw+eWX48UXX8Tpp5++x/u7XC64XK4ERJZc9JP38tKdyHQ7TI6m7+TPdZG+MZcbv7c9hBZ/5PQ0ietHrxYZIrRaRG8fljjgH4hWCYqsNOq89nnpTmQJfPw3EoICf28p8T6v9gIAxpVlmxsIERER9YmpSanW1lZs3LjR+PPmzZuxbt065OXlYejQoZg9eza2bt2KZ599FkCkZe/SSy/FH//4R0ycOBF1dXUAAI/Hg+xsvhiJVS28wkjXlyHnmtZf0fSe9Pa3nrYwJSN9Y1uU5ZJ5eprgmUBAzOlv+fLil15pJD2ZX2Ukw+UlBCnxvuicJ3XwkBxT4yAiIqK+MbV9b/Xq1Rg/fjzGjx8PAJg1axbGjx+PuXPnAgBqa2tRVVVl3P+JJ55AOBzGtddei5KSEuPjuuuuMyX+ZFYpfFOii7bvydycSJ7r5Q8pqNNPDhQYfzShKXPtyG/9lLv2pVcaVRpVXvKuPSC7QpMSy9seNNbLwUP45iQREZFEplZKHX/88dB2U9ayaNGiLn9evnx5/waUQiQnQ2JFW4DkfR+qqkUTI71IqiVLpZdebZfpsiOPJwcmnJ4YGSowqaZpmuikoPRKI/FrZ4fcAwoosb7onCdVPigNOWnynqeIiIhI6KBz2rNUSErFDmuX2EJT3+JHMKzCbrWgNMdtdji9VhnTutfT4bFJkk8DIH+el9H+JjD+7S0BdIQUWC3AYA5pTzjJa6ehNYi2oAKLRfYhHZQY+jypsWU5psZBREREfcekVIqqFj7LCIhWK+RnOJHhEjeT39gYDs71wG6T96smf6ZR76tFkiWp1rXSSN71r4hZ+067vLVf1Si7UkdyQla/9qXZHrjs8mbBUWLpJ+9xnhQREZFc8nYLtEdhRcWWpg4Asiul9E15mdDvQXoLkPTT04ykmsDrv6MtiNZAGBZL5PS9ntpdO3QiVRqnp/Vm7SRH7EDfWj+T5NIjEFZQ0xx5/JeYVKtokP24SYmjaRo+7xxyzpP3iIiI5GJSKgXVNvsRVjU4bVYUZclrG9NVCU4qAEClUW0hM37JLUztwTC2twQAAOUCN+Z6UqQkyy3y5EDpp05KPjmwurEDmgakO20Y1NNZcEmSUANihrQLvPaUWHU+P7a3BGCzWnBACZNSREREUjEplYL01r0huR7YrD2bBQQAPRwblDDRmUbykgpAbLWFzPglJwX12LM9DmSnyTs9TW9hEp/UERh/bKWRxCrB2NbDns6CSyaVwis0KXH0eVL7F2XC45SXvCciIqIIJqVSkPQqBZ2xMReYFAFk/xwUVcOWJrnx6y1AEqu8APkJTcmJhdhKo/wMead5pcral5jQpMTS50mNZeseERGRaExKpaDKFDh5D4DoQc+A7GHDNd4OhJRIC2hJtrwTsKQnNI21I7SFSfKQ/GiVmsxKo+jjpryEIBB7QIG8tUOJ9VWNDwBw0OAccwMhIiKivcKkVAqqSoGkVEhRUeP1A5DZPtbcHkJzRwiAzJ+DvoaG5PWuBTRZSE4IAn0dFJ4cmttD8LZH1r7E629UGgn8vQWAih1yZ9k1d4TQZKwdeWufEquiIbLWRxRwrRAREUnGpFQKqhZ+ah0AbG3qgKJqcDusKMh0mR1Or+lDzgsyXUhz2k2Opvf6cvpYMpFeLSK5SlD62jeuvdAqtSrBCVk99vwMJzJc8tYOJU4wrBot5sPzZT7OExERUQSTUilI8oZWF1vtJbGFRnpSpzJmWLJERrWIwOvfGgijoTUIQGYLk/i1L7hKTVE1VDfJTchWCm+7pcTZ0tQOVQM8DpvIN66IiIgoikmpFNPcEW2dKcuV+8I+Oher5xsrC5IneSV5yDkAVDbIbQHt0vopcWPemRTJS3ciyy3x5EC5SRFA9qBtYxac3YqSLLfZ4fRa9NrLXDuUOLEt2hLfuCIiIqIoJqVSjN66l5/hRLrg9oeqHbLfMZdcbQHIHlStt3667FYUCnwHXW9hkrr29TkvEtdObKWRxISyvlEvy/XAKnIWnOwKTUocvRqWrXtERETyMSmVYqriME9K0+IVTd9Jb0GUPGhb0zQjKSgx/tiEmsSNeYXgSh1AdkJTrzRy2CwiT53U29+kVhpVCH7cpMSKJr9lrnUiIiKKYlIqxaTCyXtANKkjsVoBkN2+t6MtiLagAosFGNLDFtBkap8wjpQXWqVWpc/VEbrZig7alhd/bFJf8qmTEh93ANlD2imxpCfviYiIKIpJqRRjVBgJTkppmiY6ueYPKajzdc40Ehi/vrEtyXLD7bCZHE3vSa5SA2QPCk+VtS8xdiC2bVhe/F3WjsCEJiXWvzZsBwCUs32PiIhIPCalUoz+TvPetO+ZbUdbEO1GpY68FpotTe3QNCDDZUdeutPscHotWqkjcw2lSlKqPF9e/HoyOdNtR05az4a0J1GRnfiZRsba7+FGPZmuvbF2XHbk9nDt0MDUFggb/y+1VZWIiIiimJRKMZIrjHT6xqo02wOXXW6lztA8macCRatFZL7YrxJ8rHwgrKCmuQOAzPZD6SdiSU5oapomutIrmlCTuXYocfTDCACgOFveKZNERETUFZNSKSSsqNjq7dzQCtxU6fSkQlmevCopQPbGFpA9l0ZVtZgh+fKSOluaOqBpQJrThvwMeVV20k+drBA84H97SwAdIQXWXsyCSybS1w4lTk3n65wxg7NMjoSIiIjigUmpFFLb7IeianDarSjKlPvuYdWOyAtOqZuTvg45T5bagErBG/NtLQH4QypsVovI1s/YIeESq0UkJ2RjZ9lJTGjqpx6W5njgtMt7ape8diixtnojs8cknpBJREREO5P3ypV2SX9RX5brgVXgyVG6SuEzjaLD5uVtbAHZ8esJtdIcNxw2eQ9vFYIHVQPRxIjEOS8NrbJn2VU0RNaOxGsPyK5So8Sq7ayUGpwj7/eUiIiIdiZv10a7lArzpIBotYjU70NPjEiMvzUQRkNrEIDMpGBfkyKWJKlTk14tYqx9gfEbCU2hs+z6WqGZLCRXqVFi6e17JZwnRURElBKYlEohKZOUapS7MVdVDdVNne2HAuPXE4K5aQ5ke+SdgCU5IQj0bWOeLAm1kKJia+fal1it09eEYLJ0WRqnNgp83AkpKrYIftykxKppjrTvlbJSioiIKCUwKZVCqo13yuVtCHUdQQXbWgIAZLaP1fn8CIZV2K0Wke/iGifXCV1D0iuNJLcw1Xg7EFY1uOxWFGa6zA6n1yTPUgNiE7LyfndrvB1QOteO5HmIlBh6pVRpDtcKERFRKmBSKoWkQqWU/j1kue3ITpNYqROJf0iuB3aBM40kHykPxP4OyNuYK6qGLY2dp2cKvP6xCUGJM+0qhbePGa2r+fLWTkVMy7bEtUOJo6oa6n0cdE5ERJRK5O2aaZekty4B8ZkrosUrmD6QXmlUIb3SSB/2LHBjXufzI6iocNgsIttSJFfqADFrX+DjZ3N7CN72EACZj/9VRpWazLVDidPQFkBI0WC1AAUCKzKJiIhoZ0xKpYjm9hB8/jAAoCxP3oZWJ3lQMpAKlUZyE5ve9qDxOyAx/srOhFpZbhpsAqtFpLdOSk6M6CeWFma6kOa0mxxN70lfO5Q4dZ3zpAoyXSJPWCUiIqKd8Rk9RegVRgVCNyU66S2IlXEY0m5mpVd0cyhwY75D9u9ApfDT0yoED9pu7gihSa80Ehi/+ApHwWuHEquhNTJzklVSREREqYNJqRQhPZmjM9r3hH4fVTvk/hyCYdUYINvXzaFmYkbNmKmzNwlBM+NPlSo7gQlN/fc2P8OFDJe8hKbkKi9A9tqhxGpqiySPc9OcJkdCRERE8cKkVIqoFNx2FctI6gh9x7xS8OZwq7cDqgZ4HDaR70Lr7W9SZxrpG3OJ89RUVTOSajITmrJP3pM8Dysea4cGjqb2IAAgL51JKSIiolTBpFSKqO6sEikTuCnRKaqG6ia5lUbiZxrFDMq3WATONIpD66SZKhrkxr+tJYBAWIXNKnVI+94ndTQTG2/1ZP6w/L4lNM2MXfraocRqbIskpVgpRURElDqYlEoRqdC+V+fzI6RocNgsIo961je2hZkueJw2k6PpvSrhM42qBM/V0TQt5uRJefFXdCY0h+R6RA4fllzhCESvv8RKKelrhxJLr5RiUoqIiCh18BVgipC8odXpG0Oxp48J/xkYlToCN7ZAzMZcYGKhsS2I1kAYFgswJFfe9Zc8Sw2QffpbezCMbS2R4c/lAte+9LVDiaXPlMpLd5gcCREREcULk1IpIKSoqPFGjkmW/MJe35xIbUGs2pEqM43kXf+OoGJszCUm1fSEZkmWG26HvCo7PSEoMSkCyE5K6W9IZHscyE6Tt1GXvnYosRr1SinOlCIiIkoZTEqlgBpvBxRVg8tuRUFG3wdUm12bJL3SSPLGFojGL/EELH1jnum2I0fgxtyY5yV17Qj+3fWHFNT5Ikl9iVV20oeES147lHhNnTOl8ti+R0RElDKYlEoBVTFDzq0C29500udiSd5cqWp0ppHEzW1lTLWFyCHtxqBteUkRIHael7z4jYSmy45c0QlNedceYPse9U4TK6WIiIhSjqlJqRUrVmDatGkoLS2FxWLBG2+8scfPWb58OQ455BC4XC7su+++WLRoUb/HmeyMeVLCX9Tv7ebE7FyE5M2V9BOwolVe8q49ELN2BMavaVrMPC958RsJwXyhp07G4eRAs8SunfI+nhxIA4emaWhqj8yU4qBzIiKi1GFqUqqtrQ1jx47Fo48+2qP7b968GaeffjpOOOEErFu3Dtdffz1+9rOf4f333+/nSJNbbKWUZJJPwJLfAhS59oNzZJ6AVdko9/QxIFplJ3Gujrc9hBZ/GIDMhKzxuCO0Sk1y27D0tUOJ5fOHoagaAIhs0yYiIqLu2c38x6dOnYqpU6f2+P4LFy7E8OHDcf/99wMARo8ejY8++ggPPvggpkyZ0l9hJj3JFTq65vYQfII3J9XSW4AEtx4CsjfmQGxCVl78eqVLsdAh7eLXTqPcZL70tUOJpc+TSnfauF6IiIhSiKiSiJUrV2Ly5MldbpsyZQpWrly5y88JBALw+XxdPlKN9FlMQHRjVZDpgscp78VmbPuYzBYg/eTAPrZOxjOYPqgUPNOoNRBGQ2tksyWxfc94/BEYOyA7IRsMq9ja1AFA5iw46WuHEosn7xEREaUmUUmpuro6FBUVdbmtqKgIPp8PHR0d3X7O/PnzkZ2dbXyUlZUlItSE0TQtJV7YS56LAsje2AKyq0VCioqt3sjvv8T49UrH3DQHstzyquwqGuQOyAdiE7LyEppbvR1QNcDjsKEgs+8nr5pF+tqhxPLqSSnOkyIiIkopopJSfTF79mw0NzcbH9XV1WaHFFfNHdGZHGW5cl/YS0+sVRvVavI2tkBstZ28+Gu8HVBUDU67FUWZbrPD6bUqwe1XwN63j1lMrLMLKTGVRvnyHntiB8z3pULTzGsPyG49pMRrbOsccs5KKSIiopRi6kyp3iouLkZ9fX2X2+rr65GVlQWPp/sTw1wuF1wuee8g95SeTCiMY9ubBi0uX6c3pM/F2tv2N7PplVISN+axVXZWq9mNhL1XIbhKDZBdZVfj7UBYckJT/OOm3LVDiafPlMoTOLeRiIiIdk1UpdSkSZOwbNmyLrctXboUkyZNMiki86XCPCkg9h1zmd+H5Pa95vYQmjsi70BLXEeSh4QDKdC6asQvr9pFekIzmkyWd+0B2WuHEo8zpYiIiFKTqUmp1tZWrFu3DuvWrQMAbN68GevWrUNVVRWASOvdJZdcYtz///7v/7Bp0yb85je/wbfffovHHnsML7/8Mm644QYzwk8KqZKUqm6MtNBIbB9TVA1bjPjl/Rxih8ynOUUVTwKIGTIvcO0A0fa9oQJbmCJD2gMAZLbeSk4mA7IrNKWvHUo8vVKKM6WIiIhSi6lJqdWrV2P8+PEYP348AGDWrFkYP3485s6dCwCora01ElQAMHz4cLzzzjtYunQpxo4di/vvvx9//vOfMWXKFFPiTwb6LKMhAjclukBYQU2z3KROnc+PoKLCYbOgNKf7NtJkJr5SR3xiQe6w59gh7dkeeS01lQ1yh5wD0bVfLjChKX3tUOI1sVKKiIgoJZlaFnH88cdD03Y9v2jRokXdfs7atWv7MSpZUqFSaktTBzQNSHPakJ8h78WmXq0wJDcNNpEtQHqljsw1JLl9LxhWUdN5cqDE6x+99vKSIkBMUkfgLDVVjZ68KnHtSx/wT4nX1DnoPI+VUkRERClF1Ewp2lkqJKViv4e+nCBltrgNGzbpW5c810XTYjfm8uLf0tQOtTMhW5Ah70AG+VVqctvf6nx+BMORCs2SbHlD2qUP+KfEi86UYmUdERFRKmFSSrCQoqLG6wcgc1OlE3+ClPSNueD4t7UE4A+psFqAwXvTOmlWQlB4QlZy62dsQlNi+1tFTIWm3SbvqTx68p68a0/m4EwpIiKi1CTvlSwZar1+KJ3HmRdmyquy0Ek/Flx6Uq1K8PXX187gXA+cdnkPZ/FYO2bmsiS37+kJTZvVgsG58mbBSf69BWLWjtDHTUosVdXg7TwlNo8zpYiIiFKKvF0cGfR3+ctyPSKPM9cZ7XsCN7ZA9PQ6iRtzf0hBnS9SbScx/gpjYysvdiAaf3m+zPglJ5QrOoecl+a44diLSiOLSWV2FYKr1ICYAf8C53lR4rX4w1DUyAzSnDS27xEREaUSJqUEq26SXaGj0wfeSvw+NE0TvTHXT2/MdNmRK/CFvlFpJPDaA7Kr7GJPzZSY0JR8ch0ge1B41xNX5cVPiafPk8pw2eGy20yOhoiIiOKJSSnBUmHIeZdB1fH6PnZzomO8edtDaPGHAcj8OVTGJHVEzjSK99pJMMnzvFLl1EyJv7cAUNEgf+2kC107lHiNnfOkWCVFRESUepiUEsxo3xO6qQKA7bGDqgXOddGTCkVZLrgd8Xn3VktgUs1ofxO4sQVkzzRS1diErLz4Y6+9yITmDrmVUtJPnTQSgkLXjgRbt27FT37yEwwaNAgejwcHHXQQVq9ebfy9pmmYO3cuSkpK4PF4MHnyZHz33XcmRrx73nYOOSciIkpVTEoJVp0ClVJ6Uqc0x7NXc13MUil8plG02i4+8ScunRYhuXWyzudHMKzCbrWgNMdtdji9JvnkPSB2lp28+He0BdEaCMNiAcryBCbzjYSgvGsvQVNTE4466ig4HA689957+Prrr3H//fcjNzfXuM+9996Lhx56CAsXLsSqVauQnp6OKVOmwO/3mxj5rjV3DjnP9rBSioiIKNXYzQ6A+k7ypkonOakAyJ9pJPn6N7eHjI1KvBKziaxS06/9kFwP7CITsp1rR+igan3QucRKKf3al2Z7RM7XqRT+uNlb5eXluPzyy3HZZZdh6NCh/f7v3XPPPSgrK8PTTz9t3DZ8+HDj/zVNw4IFC3DLLbfgzDPPBAA8++yzKCoqwhtvvIELLrig32PsLR+TUkRERClL3k6IAETeNfS2R16kleXKfWEf70qdRJM+06hK8Ewj/dTDgkwX0l3y8uvGgP84JkUSmFOLe5VgIqvsvO1B+OI8C86May8xdiAav8SEYF9cf/31eO2117DPPvvg5JNPxosvvohAINBv/96bb76JCRMm4Mc//jEKCwsxfvx4PPnkk8bfb968GXV1dZg8ebJxW3Z2NiZOnIiVK1f2W1x7o7kj8vuaxaQUERFRymFSSii9dS8/wylyQ66rEj5sWHKllKJq2NIkdy5NhfD2MektTJKr7PS1U5jpgscpt9KoXGiVmvTWz966/vrrsW7dOnzyyScYPXo0fvGLX6CkpAQzZ87EZ599Fvd/b9OmTXj88ccxcuRIvP/++7j66qvxy1/+Es888wwAoK6uDgBQVFTU5fOKioqMv/uhQCAAn8/X5SOR9KrYLI/c1ztERETUPSalhKpOgSHngOzTx4BotY7EpE6NtwMhRYPTZkVxlryZRkZCU+ra2SF3Jpyiaqhukvu7K71SJ1opJS/+LmsnX178e+OQQw7BQw89hJqaGtx6663485//jMMOOwzjxo3DU089Fbf2YVVVccghh+Cuu+7C+PHjcdVVV+HKK6/EwoUL+/w158+fj+zsbOOjrKwsLrH2FGdKERERpS4mpYSqSoEh54DsYe3+kIJ6X6QFQ+I7/voaGpLngc0q7wSsaLWFzI1tKiQ0HTYLSrLlDtoWm9AUnMyXngzfG6FQCC+//DLOOOMM3HjjjZgwYQL+/Oc/Y/r06fjd736Hiy++OC7/TklJCQ444IAut40ePRpVVVUAgOLiYgBAfX19l/vU19cbf/dDs2fPRnNzs/FRXV0dl1h7ikkpIiKi1MU6aKFSISnVGgijoTVyzLPEzaH+M8h025GTJu+FcoUxE0jetQdkb8w1TRPdvlcVU6kpOaEp8doDslsno2tHZjK8Lz777DM8/fTTeOGFF2C1WnHJJZfgwQcfxKhRo4z7nH322TjssMPi8u8dddRRWL9+fZfbNmzYgGHDhgGIDD0vLi7GsmXLMG7cOACAz+fDqlWrcPXVV3f7NV0uF1wuV1zi64sWfyQplemW91xLREREu8eklFBVKdC+p89jyk1zIEvgC83YjaHFIm9zVbVD7jwpQPY8r6b2EFo6B21L/B2WntDsjyHzieLzh9DYFknmS/zdNdaOwNj76rDDDsPJJ5+Mxx9/HGeddRYcjp2f74YPHx63U+9uuOEGHHnkkbjrrrtw3nnn4ZNPPsETTzyBJ554AgBgsVhw/fXX484778TIkSMxfPhwzJkzB6WlpTjrrLPiEkO8tQUjj5eZgmdoEhERUff47C6UMVMqFU7ei9PmJNFpoXifPpZokmca+UMK6nx+ADLnAulrpzjLDbdD3qBt6QlNyUPy9Wufn+FEhsANepXgKq++2rRpk1GltCvp6el4+umn4/LvHXbYYXj99dcxe/ZszJs3D8OHD8eCBQu6tAf+5je/QVtbG6666ip4vV4cffTRWLJkCdzu5GypbA8oAIA0gQcTEBER0e7Je0VLnaemdQCQWSWi06sVJG4MgZh5WEJ/Bnr7m8QTvIzWSZcduQJbJyW3XwGy428PhrG9JTILTmZCU24yGZBfZdcX27ZtQ11dHSZOnNjl9lWrVsFms2HChAlx/zd/9KMf4Uc/+tEu/95isWDevHmYN29e3P/t/tAaiFRKST5tmIiIiLrHQecC1TZ3IKxGhgzHc1BsolvQpG+uKgXP9dI0LXp6ncBKr9hB1RJbJyUndYBoYkFyUifb40C2wISm5GsPxKz9AXTy3rXXXtvtYPCtW7fi2muvNSEiedo6k1ISqwOJiIho95iUEsg4NS1X5pBhXZXwSqMqwS1AO9qCaAsqsFgiA4f3VqLzQkbrpNC1I/nkPU3TRP/uSh9yLnmWWuzakfi42Vdff/01DjnkkJ1uHz9+PL7++msTIpJF0zS0hzrb91xs3yMiIko1TEoJVJ0CQ84BiN6cKKqG6ia5m0N9Y16S5YbLLu9FfvT0SXlJHUB2pdT21gDagwqsFmBI7t4nNBM9DE7ykHMgmtCUWCnVde3IW/t95XK5UF9fv9PttbW1sNtZ+bMngbAKTYv8v0fgDD4iIiLaPSalBIpuyOOwITRJWFGxVfBcrNrmDoSUSAtlSba8n4NeaSTx2gOykzpATPwCk2p6pU5JtkdkQlPykHOga+vq3kp8hWMk9tIcD5z2gfPy45RTTsHs2bPR3Nxs3Ob1evG73/0OJ598somRyeDvrJICIPJgCCIiIto9vkUnUHVjZzJH6KYKAGqb/QirGpx2K4oyk/O0n93RN+ZlQlsoJSdFgJgqO4FJqbZAGA2tkUHbEpOCFcITgpJPf/OHFNQ2Sz51Um+dlBf73rjvvvtw7LHHYtiwYRg/fjwAYN26dSgqKsJzzz1ncnTJzx9SAQB2qwUO28BJZhIREQ0UTEoJVCV4wLYudsi5VWJSR/BMHUD2PK+wohotrBJnMulrPzfNgWyPvEHbVTvkzsMCYk5/Exh/tfhTJ2VXaPbV4MGD8cUXX2Dx4sX4/PPP4fF4MGPGDFx44YVwOOT9HBOto7NSilVSREREqYlJKYH6e6aUPruhP+lzUaQm1irFtwDJnUtjVNnZrHE9fTJRpM80klwpFQyrqPFGKk0lDjqPnlwn+9RJidd+b6Wnp+Oqq64yOwyR/ExKERERpTQmpYRpDYSxoy0IQPagc+nVXtITC5Lb3/SN7ZA8j+jWSakbc71KUGL8W70dULXIsOSCTJfZ4fSaUeUltO3WqJQSGv/e+vrrr1FVVYVgMNjl9jPOOMOkiGSIJqXYukdERJSKmJQSRq+Syk1zIMstt+xf8lwXQHalVGsgjIbWyKZIYhuNXmUn8doDqTBoW25ioWJHtEJTYqWR5GQyEJPQzJcZf19t2rQJZ599Nr788ktYLBZoneXI+hpUFGV3nz7g6e17PHmPiIgoNfXpbafq6mps2bLF+PMnn3yC66+/Hk888UTcAqPuSa8w0sXOlJJG0zTRSbWqHbITm9FrLy8pAsiusmtuD8HbHgIge+1LjB2Q3ToZu3YkPu7vjeuuuw7Dhw/Htm3bkJaWhq+++gorVqzAhAkTsHz5crPDS3qBzkHnbN8jIiJKTX1KSl100UX48MMPAQB1dXU4+eST8cknn+Dmm2/GvHnz4hogddXf86QSQdO0mEHV8r6PpvYQWgJhADJ/DtFhw/KSIkBMlZrAtQPIbt/Tq9TyM1xId8krtI0OOZd37QHZQ+b1tVOY6UKaU97a2RsrV67EvHnzkJ+fD6vVCqvViqOPPhrz58/HL3/5S7PDS3qslCIiIkptfUpK/e9//8Phhx8OAHj55ZcxZswY/Oc//8HixYuxaNGieMZHP5AKlVKxSZ0hufK+Dz2pU5zljus7t4lqJtJbaKS2j0lOLMQO2hbZOik4oQbIrrILKyq2NEXWjsS1L7nKa28pioLMzEwAQH5+PmpqagAAw4YNw/r1680MTQR9ppSLM6WIiIhSUp/ergyFQnC5IkNi//nPfxpDOkeNGoXa2tr4RUc7SYWkVH8ldRLF+BkI3VxJrjTSNC3mdyB+iYVEJQS3NLVD1YA0pw0FGfIGbUer7OStHSAmISsw/hpv5NRJl92KokyBp04KrvLaW2PGjMHnn3+O4cOHY+LEibj33nvhdDrxxBNPYJ999jE7vKTHSikiIqLU1qe3nQ488EAsXLgQ//73v7F06VKceuqpAICamhoMGjQorgFSV6mQlEqZpI7Qn4E+00ji5rChNYj2oAKLBSjL85gdTq9Vxvz+xmvQdiLHdUcrpeStHVWNJjTjGX+i5qXHDmm3Cjx1UvqA/71xyy23QFUjc5HmzZuHzZs345hjjsG7776Lhx56yOTokp+fM6WIiIhSWp8qpe655x6cffbZ+MMf/oBLL70UY8eOBQC8+eabRlsfxZ+qatjSGGnfkDjLSFclfHMiudIIkB2/nlAryXLDZZe3QalskNt6CMiuNKrz+REMq7BbLSjJlldpFL328hKCQMzjfr7M+PfGlClTjP/fd9998e2336KxsRG5ubkiT4FMNL19z832PSIiopTUp6TU8ccfj4aGBvh8PuTm5hq3X3XVVUhLk7dZkaK+xY+gIndTpavs52ovrV++apTk09NiZxpJTAoapzYKTIoA8hMLlTHVOtLolUZDcj2w2+RtbqUnNI1ZcALXzt4IhULweDxYt24dxowZY9yel5dnYlSy+Nm+R0RElNL69Mq8o6MDgUDASEhVVlZiwYIFWL9+PQoLC+MaIEXp7zSX5sjcVOnYvrd7/ZlU2+rtgKpFXtwXZEqcaSS3fQyQXaXWEVRQ7wsAkHn9JQ85B2RXqbUHw9jWInft7A2Hw4GhQ4dCURSzQxGrI6hXSjEpRURElIr6lNk488wz8eyzzwIAvF4vJk6ciPvvvx9nnXUWHn/88bgGSFGpME8KkL057AgqxuZK4uYwdi5Nv7SNaP1bpyZ+0LZRLSJv7euPP5luO3LSHCZH03vST3+rFDwoXF872R4HsgWunb11880343e/+x0aGxvNDkUkf5hJKSIiolTWp6TUZ599hmOOOQYA8Oqrr6KoqAiVlZV49tln+zS089FHH0V5eTncbjcmTpyITz75ZLf3X7BgAfbff394PB6UlZXhhhtugN/v78u3Ikp15wt7yfOk/CEFdb7Iz0pick3fXGW57chJc5ocTe9VpUr7Wz8ldfozpaaoGqo7Z8L1W2KkH78BPSlSPii9XxKaWj8nNCUP+I8d0i6x/S1a4Sgv9nh45JFHsGLFCpSWlmL//ffHIYcc0uWDdq8jyEHnREREqaxPM6Xa29uRmZkJAPjHP/6Bc845B1arFUcccQQqKyt79bVeeuklzJo1CwsXLsTEiROxYMECTJkyZZetgM8//zxuuukmPPXUUzjyyCOxYcMGXHbZZbBYLHjggQf68u2IkQqVUluaOqstXHbkCnzHXHK1ApACJwcKrnap80VmwjlsMmfCiZ/nJbjtdltLAP6QCpvVgsG58T91sr/n8EUrHGU+bu6ts846y+wQRNMrpTwcdE5ERJSS+pSU2nffffHGG2/g7LPPxvvvv48bbrgBALBt2zZkZWX16ms98MADuPLKKzFjxgwAwMKFC/HOO+/gqaeewk033bTT/f/zn//gqKOOwkUXXQQAKC8vx4UXXohVq1b15VsRJRWSUrEbW4mnDkmfh2VUiwg8Aas1EMaOtiAAmde/0hi0nSZyJlxlo14pJe/aa5omep6XvnYG53jgkLh2Bnil1K233mp2CKL5OVOKiIgopfXp1e3cuXPxq1/9CuXl5Tj88MMxadIkAJGqqfHjx/f46wSDQaxZswaTJ0+OBmS1YvLkyVi5cmW3n3PkkUdizZo1Rovfpk2b8O677+K0007r9v6BQAA+n6/Lh1TVTZHWn5RISgn9HiS30ACyK6X0jXlumgNZbnlVdpKrvIDYtSMvodnYFkRrIAyLRWb7s+SEGiD/cZ/MZVRKOZmUIiIiSkV9qpQ699xzcfTRR6O2thZjx441bj/ppJNw9tln9/jrNDQ0QFEUFBUVdbm9qKgI3377bbefc9FFF6GhoQFHH300NE1DOBzG//3f/+F3v/tdt/efP38+br/99h7HlKw6ggq2dw7YlvzCXnqlkeTNVZe5NAKvv+QB+UDMoG2BaweQnRjRr31xlltktUWlMQ9L3rUHYqrsBFZoxoPVat1tZTBP5ts9/fQ9l13e7y4RERHtWZ+SUgBQXFyM4uJibNmyBQAwZMgQHH744XELbFeWL1+Ou+66C4899hgmTpyIjRs34rrrrsMdd9yBOXPm7HT/2bNnY9asWcaffT4fysrK+j3OeKtuig7Ylnx6UVU/D6rub5KTattaAgiEI3NpSnPiP5emv0k/PU1vnZQ4VyekqNjq1Ye0y4u/SnpSx2h/k3ftg2EVWzurfKUmZPfW66+/3uXPoVAIa9euxTPPPJMSb5r1N38oMuiclVJERESpqU9JKVVVceedd+L+++9Ha2srACAzMxM33ngjbr75ZlitPesKzM/Ph81mQ319fZfb6+vrUVxc3O3nzJkzBz/96U/xs5/9DABw0EEHoa2tDVdddVW3/7bL5YLL5ertt5h0pJ+apjMG3vbD5qS/Z1QpqmYMape4Ma8QPpfGSCwI3dhKnquztakDiqrBZbeiMFPe46nk1kNAdoXmVm8HVA3wOGwoELh24uHMM8/c6bZzzz0XBx54IF566SVcccUVJkQlhz/UOVPKLu95i4iIiPasT8/wN998Mx555BHcfffdWLt2LdauXYu77roLDz/8cLfVSrvidDpx6KGHYtmyZcZtqqpi2bJlxpyqH2pvb98p8WSzRd496+8jxc2UCkPOVVUz5mJJrFio8XYgpGhw2qwozpJ3elqqzDSSWGkkfdB2xY5opZHVKu+AAsknB2qaZlx/ie1vsWtH4uEW/emII47o8vqHuqcnpVgpRURElJr6VCn1zDPP4M9//jPOOOMM47aDDz4YgwcPxjXXXIPf//73Pf5as2bNwqWXXooJEybg8MMPx4IFC9DW1macxnfJJZdg8ODBmD9/PgBg2rRpeOCBBzB+/HijfW/OnDmYNm2akZxKRXpSSuKQXl19ix/BsAq71YKSbIFJnc6fwZA8D2wSN+aN/VmlFvcvuRPJSZ3YQdtDcuXFH02Ky0uKANEKTYntb972EFr8YQAy35SQngzvLx0dHXjooYcwePBgs0NJeh0hnr5HRESUyvqUlGpsbMSoUaN2un3UqFFobGzs1dc6//zzsX37dsydOxd1dXUYN24clixZYgw/r6qq6lIZdcstt8BiseCWW27B1q1bUVBQgGnTpvUqESZRdQpUSulJhcG5HtgFto9JPrkOkJ3UCYZV1DbLnUtT2fn7WyJ10LbgtQPIjl9fO1KHtEcrpeQlBOMlNze3S5WYpmloaWlBWloa/vrXv5oYmQzGTCmB65+IiIj2rE9JqbFjx+KRRx7BQw891OX2Rx55BAcffHCvv97MmTMxc+bMbv9u+fLlXf5st9tx66234tZbb+31vyNZKrTvSf8eoidgydxcRU/ekxf/lqZ20XNpjFlqApMiQGylUT9U2cX9K3bVGghjR1sQgMzr359rJxH1nqyUAh588MEuSSmr1YqCggJMnDgRubm5JkaW/DRNgz/cefqeQ96bWURERLRnfUpK3XvvvTj99NPxz3/+05j9tHLlSlRXV+Pdd9+Na4AUeVGWiIROf29QpG9OqgQPGwaEV4vExC5xLk2qDNqWmNDUkzp56U5kueWdXCp5QD4QUykldO3Hw2WXXWZ2CGIFwir0caGslCIiIkpNfXrb6bjjjsOGDRtw9tlnw+v1wuv14pxzzsFXX32F5557Lt4xDnjbWwIIhFVYLUBpjsfscPqsUnqllOCkjrc9iOaOEACZ178/T21MBCMhmy8vflXVjN9diWtf8sl1gOz2N0XVUN0o93CLeHn66afxyiuv7HT7K6+8gmeeecaEiOQIdLbuAZwpRURElKr6XAtdWlqK3//+9/jb3/6Gv/3tb7jzzjvR1NSEv/zlL/GMjxBtuyrN8cAhcBaTTvKw5NhqNYmbK31jXpDpQpqzTwWSppKcFAFkV4vEHlAwWGBSXHqlkeQK0zqfH0FFhcNmEf2Gyt6aP38+8vPzd7q9sLAQd911lwkRyaEPObdbLaJf/xAREdGu8RleAOmzmHRVMUeDSyP99DQjqSN0DRmtkwKrRQCITmhWNEg/oECfySRz7VQIbv3Ur31ZbprIE0vjpaqqCsOHD9/p9mHDhqGqqsqEiOTw8+Q9IiKilCdvhzEA6RvaMoHJEJ3PH0JTe6R9rExgYkT6CVhV0gdtC06qtQbCaGiVO2i7qlF266TkSqm2QBgNrQEAMteO0TopMPZ4KiwsxBdffLHT7Z9//jkGDRpkQkRydDApRURElPKYlBLAqJRK0At7fahoPOmVLvkZTmS45LWPpcyQc4HVFqoqvXVS9qDtCiOpI2/tANHrL3PtRK59bpoD2R55a6dS+NqJlwsvvBC//OUv8eGHH0JRFCiKgg8++ADXXXcdLrjgArPDS2rRSim+XCUiIkpVvcoOnHPOObv9e6/Xuzex0C5U65VSQhMigPwWRMlDzoFopVG5wEHb0mcaSZ4JBMiOPxBWUOvzA5A5KFyvUpMYOyD/gIJ4ueOOO1BRUYGTTjoJdnvkZZeqqrjkkks4U2oP9EopnrxHRESUunqVlMrOzt7j319yySV7FRDtTHpCB5B/Alal8M2h5Eov6TONojOB5F17QPbar27sgKYB6U4bBqU7zQ6n1yoEJwSBmEopgcnweHI6nXjppZdw5513Yt26dfB4PDjooIMwbNgws0NLevrpe2zfIyIiSl29Sko9/fTT/RUH7YI/pKDe1zlTROimFohtQZS3sQVkJ3X8IQV1KVAtIvHaAzHxC7z2mqahskFuYiR2yLnFIm/QdqXghKamaTGVUvLWfn8YOXIkRo4caXYYorBSioiIKPXJKzsYYLY0dQAAMlx25KbJmymiM9pQBG6ugJhB2/24Me+vTbOeEMwUuobEt04KHrTd1B5CSyAMQGZSUPK1B2LnYclL6uxoC6ItqMBiAcry5LXdxtP06dNxzz337HT7vffeix//+McmRCSHPlPKxZlSREREKYvP8kkudp6UxHf6dZJPYWoPhrG9JVKtJnFQeOy1l7iGoifv9d+178/rIjmpVtGZFJF66mSl9FMnBa8d/dqXZnvgsstbO/G0YsUKnHbaaTvdPnXqVKxYscKEiOQIhiPte06BrdtERETUM3yWT3LReVJy32kOKSpqvJGKL4mVUvrPINvjQLbISiO5p48BMa2TAuMPhBXUNEfWfn+1MPVnQk3ykHMgZsB/P1Ya9dflj107EiulJCfU4q21tRVO584zzRwOB3w+nwkRyRFUOpNSdr5cJSIiSlV8lk9yqTDkfGtTB1QtcqRzQabL7HB6TfrGPLqG5G1sNU0zqnUkHiu/pSk6aDs/Q+Kg7dRIaEpMhutrJ03s2pH9uBlPBx10EF566aWdbn/xxRdxwAEHmBCRHEalFJNSREREKatXg84p8VIhKVUZ8z0kon1M0+L79aT/DCTP1fG2h9DilzzTSPag7WhCVl5CUFE1VDfJrbKLnSclc+3InYcVb3PmzME555yD77//HieeeCIAYNmyZXj++efx6quvmhxdcguwfY+IiCjlMSmV5GJnSkkluVIHSHwbSr8l1SRuzDtjL8x0weOUN5dG8ulpQGIG/PeXGm8HQooGp82Kkmx57c/S106F8Pjjadq0aXjjjTdw11134dVXX4XH48HYsWPxwQcfIC8vz+zwkhorpYiIiFIfk1JJTNM08VU6QOw75jK/h0rBP4OwomJLU+KqXeKcT0v4PKx4JwSNxEK+vLUDxFx/gQll/doPyfPAZpVXaSR97VQ1yq2y6w+nn346Tj/9dACAz+fDCy+8gF/96ldYs2YNFEUxObrkxZlSREREqY/P8klsR1sQ7Z1Hag/OlfdOv844/U1gUgeIJtUkVnrVNvuNapHiLLfZ4fSaMeRc4LUHEp/U0eKYFmwNhNHQGgSQmCq7uCc0GxM7i0yLc0YzkWsn3rH7/CE0tiVu7UixYsUKXHrppSgtLcX999+PE088Ef/973/NDiupsVKKiIgo9bFSKonp7zSXZLlFH6ktuX0sUmmkn4AlL37x1SKC28cA2fHrSZHcNAeyPfJOnawSngyPnhwoL3792udnuJDhGtgvM+rq6rBo0SL85S9/gc/nw3nnnYdAIIA33niDQ857QE9KuThTioiIKGXxWT6JpcI8qdgWRImzRWqb/QirGpx2mZVGerWIxGsPyD75UFE1bGmUm9CUPOQckH1yoKJqxuO/xGS+5GsfT9OmTcP++++PL774AgsWLEBNTQ0efvhhs8MShZVSREREqW9gv4WZ5KS/0w8ADa2yWxD1SqOyXA+sAiuNUiexIC/+2uYOBBUVDptF5KDtCsEJQSD21EmZayclhrQLXTvx8t577+GXv/wlrr76aowcOdLscEQKcaYUERFRyuOzfBJLiSHnnd9DabZHZAuiUWkkcGMLyN4cdgQVbGsJAJBZ6VVlJDTTRLZOVgle+10OiRC49sW33QoekB9PH330EVpaWnDooYdi4sSJeOSRR9DQ0GB2WKIE9KQU2/eIiIhSFp/lk1hVCrTv6RtbqYk16dVqkmca6es/021HTpq8mUapUmkkMSG4vTWA9qACqwUYIrhCU2KVFxATv9CTA+PliCOOwJNPPona2lr8/Oc/x4svvojS0lKoqoqlS5eipaXF7BCTXrR9T96bWkRERNQzTEolsVSYKSX95D3JlUaaphkVCxJPr6uMmUtjsQisFhFcaQTIXvt67CVSKzR3yE7mS3/cj7f09HRcfvnl+Oijj/Dll1/ixhtvxN13343CwkKcccYZZoeX1DhTioiIKPXxWT5JBcIKan1+ALJf2EtuoQFkVxrFzvMqy+vfahEL4p80ig7Il5nUkTykPRBWUNOsD2mXd/0lJ9SA2EopefH7QwrqOp+7pFZ69af9998f9957L7Zs2YIXXnjB7HCSHpNSREREqY/P8klqa1MHNA3wOGzIz3CaHU6fSd6Ya5qGKsGVRnrrZEmWW2i1iNy1A8hu36tujDz+pDn7//GnP6rgqgQPyAcSOOC/HwoQpbfdJorNZsNZZ52FN9980+xQklqQM6WIiIhSHp/lk1R1U6RKYWiezNYlXaXgYe072oJoS1ClUX8wWmgEJkUA2cfKp0pCc9igdJGPP5ITgrFD2iXGHzsPS+LaoeSiV0q5WClFRESUsvgsn6RSYch5R1DBduP0NHkbc2MujfRKI4HXHog9fVJe/NITmhUNcoecA9FkuMT2t65D2uXFb8zDEnjtKfmwfY+IiCj18Vk+SVULrjDS6UmFbI8D2QLbOIyTA4VuroxqC4EnYIUVFVub9JlG8uLXN+alQgdtS147AEQP+NdbnktzPCI34pLnYVHyMdr3BP4uEBERUc/wWT5JVRmnF8mrstClyglSUiuNjNPrBMZf4/UjrGpw2q0oznKbHU6vST99TPLaae4IwdseAiAzoSy59RCIabsVuHYo+RiVUpwpRURElLL4LJ+kzDi1Lt7jP6SfvFclfCaT5EHhlZ1VamW5Hlit8ubSGNUiYiuN5Fa76L+3+RkuZLjsJkfTe9KHtEueh0XJJ8D2PSIiopTHZ/kkpGlaSrXvSZ9LI3Fz1RoIY0dbEIDMpFrssGSJJLePKaqG6ia5CVnJA/KBmEopgY+bIUXFFqPtVt7ap+QTDCsAmJQiIiJKZXyWT0Le9hBaAmEAMgfd6uS3MMlt39OTIrlpDmS55c3zkj4sWXJCs8bbgZCiwWGzoCRbXvuw9Eod6WtHUTW4HVYUZrrMDodSgDFTiu17REREKYvP8klI31QVZbngdsgbkqyrFty+1xYIo6E1cnKgxPijrYfyEmpAbEJQ3rUHotdfYmIh9uRPm8DWyYoG2TONKgW371XEvBEhse2Wko8+U8rFSikiIqKUxWf5JFSVAq17sS1AEjdXeuw5aQ5kewRWGglvnYxWu8hbOy3+kNE6KTH+6KBqmWtHX/sS53k1t8cMaRd4/aXPw6LkElZUqFrk/9m+R0RElLqS4ln+0UcfRXl5OdxuNyZOnIhPPvlkt/f3er249tprUVJSApfLhf322w/vvvtugqLtf7GVClLVNkdbgCSfniZ2Yy54ULWmaaKH5OvXflC6U+igbbkJQSD25FKBa6dzwH9BpgvpAteO5HlYlHz01j2ASSkiIqJUZvqr3pdeegmzZs3CwoULMXHiRCxYsABTpkzB+vXrUVhYuNP9g8EgTj75ZBQWFuLVV1/F4MGDUVlZiZycnMQH309Sach5Wa7MFiDp7W9VjfpMJnnxb28NoD2owGIBhuRyplGiST610R9SUOfzA5CZVEuVZPiwfHnXnpKP3roHcKYUERFRKjM9KfXAAw/gyiuvxIwZMwAACxcuxDvvvIOnnnoKN9100073f+qpp9DY2Ij//Oc/cDgibVXl5eWJDLnfpUL7XjSpI/N70CsWpG4OKxrkJhb0tVOa7YHLLm+mWoXwFiY9foknH+qPnZluO3LTBLbdCl87lcJbPym56EkpqwWwMylFRESUskx9lg8Gg1izZg0mT55s3Ga1WjF58mSsXLmy28958803MWnSJFx77bUoKirCmDFjcNddd0FRlESF3e9SISlVKfx7MOPkQEucCsqCYRW1zZ3Hsgu8/hWCK3UA2e1j0lsnjSHng9JgidcvVAJJrlJT1ejakZjQpOQT6ExKsXWPiIgotZlaKdXQ0ABFUVBUVNTl9qKiInz77bfdfs6mTZvwwQcf4OKLL8a7776LjRs34pprrkEoFMKtt9660/0DgQACgYDxZ5/PF99vIs5CiooabyShIHmmlPTEmuSN+Zamdqga4HHYUCDwWPbosOQEJgTj+LWMSqMEDdqOZ+x666RVfOukzKSI5KRUfYsfgbAKu9WC0hx5cwQp+egzpdi6R0RElNrEPdOrqorCwkI88cQTOPTQQ3H++efj5ptvxsKFC7u9//z585GdnW18lJWVJTji3qnxdkDVIscfF2TISyjoJA9LDisqtjZ1VhoJ3BzGVqmJrBYx4pe3doDYSil58euxl0hvnUxkhWMc04JG27DAx009oTYk18NWK4qLoFEpJe+xiIiIiHrO1FeO+fn5sNlsqK+v73J7fX09iouLu/2ckpIS7LfffrDZoi9SRo8ejbq6OgSDwZ3uP3v2bDQ3Nxsf1dXV8f0m4iz25D2rwAHhOn22iBmVUhq0vfr8Gq8fYVWD025FUaa8d/zFz/MSXC3iDymo7Ry0LfHkQ+mtk5LXTkdQQb0vUtUrce0Yj/kCE2qUnIyklE3uayEiIiLaM1OTUk6nE4ceeiiWLVtm3KaqKpYtW4ZJkyZ1+zlHHXUUNm7cCFWNnsqyYcMGlJSUwOl07nR/l8uFrKysLh/JTHrbGwB424Pw+cMAZH4ferXCUNMSg3uXVNM35mZsbLW9Cx2A7N+BLU3t0DQgw2VHXvrOj0fJrkr4oG3J7Xt67FluO3LS5K0dMx93aNfuvvtuWCwWXH/99cZtfr8f1157LQYNGoSMjAxMnz59pzcHk4HRvseZUkRERCnN9Gf6WbNm4cknn8QzzzyDb775BldffTXa2tqM0/guueQSzJ4927j/1VdfjcbGRlx33XXYsGED3nnnHdx111249tprzfoW4qq6MdI2JnFDrtM3V4WZLnic8srupR/LXtUot2LB5w+hsS1S8WhGtcve5tRiB+Sb0Tq5t0nBykbzKo32NvaQomKL5LZbYxaZvN9bwJzDIWj3Pv30U/zpT3/CwQcf3OX2G264AW+99RZeeeUV/Otf/0JNTQ3OOecck6LctSAHnRMREQ0Ipg46B4Dzzz8f27dvx9y5c1FXV4dx48ZhyZIlxvDzqqoqWK3RFyRlZWV4//33ccMNN+Dggw/G4MGDcd111+G3v/2tWd9CXFXHtO9JJX1zInnIORDTgiXw+uuth4PSnch0O0yOpveMapEEDTmPtwrB1S413g4oqgaX0LZbMx8341DgaFSY8uS95NDa2oqLL74YTz75JO68807j9ubmZvzlL3/B888/jxNPPBEA8PTTT2P06NH473//iyOOOMKskHfCpBQREdHAYHpSCgBmzpyJmTNndvt3y5cv3+m2SZMm4b///W8/R2UOya1LOulJnUoThiXHS+yx7DKrRVJj7Ugccg5E2/ckxl8Rk9SROI9PclJH0zRUNsh93ElF1157LU4//XRMnjy5S1JqzZo1CIVCmDx5snHbqFGjMHToUKxcuTKpklKBME/fIyIiGgiSIilFUSmRlDIqdeRtroDYYcny4q9v8SMYVmGzWlCa4zE7nF4zTh8Tuv7NbH/bW80dITS1hwDIjD86D0te7IDshGxTewgtgTAsFtlVvqnixRdfxGeffYZPP/10p7+rq6uD0+lETk5Ol9uLiopQV1e3y68ZCAQQCASMP/t8vrjFuyucKUVERDQw8Jk+iTS3h9DcEdkUluXJSyjojEHhg+R9D5qmia700je2g3M8cAh8dzl6cqC8hCAQk5AVuHb02PMzXEh3yXu/QnIyGYgdFC4v/orOhGBxlhtuh7w5gqmkuroa1113HRYvXgy3O35trPPnz0d2drbxUVZWFrevvSsho32Pa4qIiCiVydu1prDqpuimMM0pb1OoMxILCa6Uisdc6YbWINqDCiwWYEiuvKSa5KQIIHvIvKJqxu+wxMSInliQOE8KiJmlJjD+kKJiq1fukHbpjzupZM2aNdi2bRsOOeQQ2O122O12/Otf/8JDDz0Eu92OoqIiBINBeL3eLp9XX1+P4uLiXX7d2bNno7m52fiorq7u5+8k8nsBAE6bvHZcIiIi6jm5mY8UFG3dk5cM0QXCCmp9fgAyNyj6yXWl2R64BL47a7S/Jfrax2nPIHkeVo23AyFFg9NmRXGWvEHbkisEgejvrsSE4NamyJB2t8OKwkyX2eH0WoUxh0/etU81J510Er788ssut82YMQOjRo3Cb3/7W5SVlcHhcGDZsmWYPn06AGD9+vWoqqrCpEmTdvl1XS4XXK7Erk09KSWx6peIiIh6jkmpJJIK86S2NHVA04A0pw2D0p1mh9Nr0k8OrBQ8zysQVlDTrFeLyIu/yjg50wObxEHbJiUW4nGlVFUTXWUXm9SxxKPkM8GMSimhp06mkszMTIwZM6bLbenp6Rg0aJBx+xVXXIFZs2YhLy8PWVlZ+MUvfoFJkyYl1ZBzAAgpkXMhmZQiIiJKbUxKJZFUSEpVxSR1JG6uKoW3oUgellzdGE1o5mfIS2gaiQWBCTUg2v5WLjCxsK0lgEDngP/BEttuTaoQtMSpxJGVUrI8+OCDsFqtmD59OgKBAKZMmYLHHnvM7LB2oldK2dm+R0RElNKYlEoi1UalhbxNoU5y+xUgv4WpUvAJZHr7ldSEZpXwKjvJ8evrXuqA/4qG1HjclBp/qlu+fHmXP7vdbjz66KN49NFHzQmoh6IzpeT9ThMREVHP8Zk+iaRCpZT89je57/h724Pw+cMAZF7/VKlSkzgo3B9SUNc5C07i6W/S146RkBV47VsDYTS0BgHIvf6UnPT2PVZKERERpTYmpZJEWFGxtSkyT0dqlQ4ge3MFyH7HX9+YF2TKPL0xmliQuXYkt+/p6z7TbUdOmsPkaHrPtAH/cVIhOKGpJ/IHpTuR6Za3dih5cdA5ERHRwMBn+iRR2+xHWI2c3FWUKe/kLp2R1BFYqRP7jr/ExGCl4GsPyK4U1DRNdOtnRUMksVA+SOag7QrBA/5VVYt53JQXv+Q5dpTcwmqkUorte0RERKmNz/RJQp8nNSTXA6vAk7uAH2zMBSYW9J9BbpoDWQLf8a8SXKkDRCsuJLaPbW8NoD2owGqJ/A5LIzmhBsSc/iYw/jqfH8GwCrvVgtIceW9IRNtW5f3eUnILhjnonIiIaCBgUipJVKXAkPNtLQH4Q3JPwIq+4y9zcyV5ro6iaqhujLSvSoxfT4qUZHvgsttMjqb3KoyEoLxrr2ma6NZJ/fd2SK4HdoEVIXoyWeIbEZTc2L5HREQ0MPCZPklIrjDS6d9DaY5b5ItIfR6W1PY3yUmpOp8fQSVSLVKSLbhaJF/etQdi1o7A9jFvewgtogf8y02oAfLXPiWvcOegc4mvJ4iIiKjn+EyfJFIhKSX/5D3h8TfKrVjQN+byq0VkJhYkt+/ps9SKslzwOOVVqVUKPlwBkL/2KXlFK6XYvkdERJTK5O3+UlR158l7ZrbvWbB3L/yqhG9OJG/M/SEF9b4AAJkVF1XSWycFJxZCiootnY8/EucCGZVGQh93JFdK+UMKan1+ADJbPym5Bdm+R0RENCDwmT5JVKdApVSV4I05ENvCJC9+/dpnuuzITZM3pF36yYHRYc/y4q/xdkBRNbjsVhRmuswOp9ckt60Csh93tjS1Q9OADJcdeelOs8OhFKO370msniUiIqKe4zN9Emjxh9DYFgQAlOXJGxCuqxScWAspKrZ69UHb8ioWYo9lt1jktTpIPj0NkN3CVBFz7SWe/Bkdci5v7WiaZqx9iTOZYhOCEh93KLnp7XtOtu8RERGlNCalkoB+6lheuhOZbvOrXDRN69PnVQmeySS/WkQ/PU1eUgSA6NPTfP4QmtpDAGS2fopvuxXc+tnYFkRLIAyLBRiSK2/tVAhPJlNyY/seERHRwMBn+iSgt16ZOU9qb7UGwtjRWe0lcWMeO+RcYrWI5HlYsdUiEje3euz5GS5kuOwmR9N7FYJbD4FohabE+PXYS7LccDvkDWmvEpxMpuTH9j0iIqKBgc/0SSAl5kl1bmxz0xzISoJqr96SPKgaiKlYELiGmtpDaAmEAcj8HZDcPgbInsnUFghje0vngH+BlV5G26fAaw/Iftyh5Mf2PSIiooGBSakkYFS5CJ4nVdWob67kbQyB5Ghh2puX3VWCN7f6xrwoyyWyWkTyoGog+rsrsdpFf+zMSXMgW+KAf6NKTd61B2IPt5AZPyW3kBqplGL7HhERUWrjM30SqEqFSqkUOT1NYrVIWFGxpUnukPbo2jExIbgXGcFo66E58e9N7KqqiV77ekLTzMedvbn+sQcUSBNWVKPKV+LaoeQXCkcqpdi+R0RElNr4TJ8E9Bf2ZQIH3eqSaWPblzntkmcy1Tb7EVY1OG1WFGe5zQ6n15Jp7fSF5Pa9bS0BBMIqbFYLSnPkVWpWCh5yDsg+oMB43LHLfNyh5BcyBp2zfY+IiCiVMSllMlXVjCoXyYPOJQ9r1zQtqSq9eptU0zfmQ/I8sJk8pF1D7zOCyZTU6cvJk5ITmvq1H5LrEdkiI3nIOdD1gAVpKoyWZ5mHQ1DyC7N9j4iIaEDgM73JtrUEEFQilQol2XLfbU6mpE5vbW8NoD2owCr0WPbKRrnVFkC0/U1itYs/pKC22Q8gOa5/b1NqVUmUFOlDgWN0UHgyxN/Lb6DFHzJOLDU7IduX6tJK4ac2UvILhvVKKb5UJSIiSmV8pjdZdVPkhX1pjlvs3ISwomKr5JlGnZurkmwPnHZ5P4NkSiz0RaXghKbeepvpsiNX4KDtCsHtY0BMYiRfXvx67IPSnciUeGJpEhwOQamN7XtEREQDg7wdeIrREwqS50nVeKOzRQozXWaH02ucaWSe9mAY21sCAGTGHzuo2rI3E69NUil4UHUwrKLG25kMF5jQrBJ87YHYhKDM+Cn5sX2PiIhoYOAzvcn0SinJSanY0wMlzhaRvDEHZCfV9LWT5bYjJ81pcjS9J73SyOyTA/fGlqZ2qBrgcdhQIDAZHk0my7v2gOx5WCRDiO17REREAwKf6U1W3agPOZd38pVOn2lkdrWCBX1LiFUJbkOJHdIuMX7J7VeA7CHnmqaJrrKLTSZLrFKT3HaraZr4WXaU/EIq2/eIiIgGAialTGZUSgncmOiMFkSh34PkSqmG1iDagwosFnMTm33dMiTToOq+kDzs2dseQos/DEDm9a9skL12jCo7ge1v21oC8IciB3QMzpX7hgolt5DC9j0iIqKBgM/0JtvSKDuhA8ifjSK5YqGqs1qhJMsNl91mcjS9J7n1EJA97FlPihRnueF2mLd2+lrkpCeTxVbZ7TC/wrHP174z9sE5HiYMqF+oqgaFM6WIiIgGBD7TmygQVlDrixwnL3mmlOTEQmsgnDTHsvdFpeCZQEBMQlNgUiesqNhinDopb+1Ibj0EZM808oeij/0Sq+wkt32SDHrrHgDY2b5HRESU0piUMlGN1w+tc1Bvfoa8Ic/AD2caydug6NUKeWKPZZebEAS6nl4nTW1z9NTJ4iy32eH0WkWD3NZDIFqlJnGm0ZamdmgakOGyIy9d3mN/lfDHHUp+euseADhZKUVERJTS+ExvourOZM6QXI/IQb0A0NQeQmsgDIsFGCKw2ktvf5OYUANi2scEbg5DioqtXrmVRhUx87Bknjop9/Q3RdWMQyJErp0G2UPajUopgRWOJIN+8h7A9j0iIqJUx2d6E6XCkPPKJJlL01fiK40Et7/VeDugqBpcdiuKMuVVGhlrR+jvr+RqlzqfH0FFhd1qQUm2wLUjfQ6f8Pgp+entexYLYBOY9CciIqKeS4qk1KOPPory8nK43W5MnDgRn3zySY8+78UXX4TFYsFZZ53VvwH2E/2dfqlVOkB0cyI1sVYpuPUQkJ1YqIiZCSSx0ii6MZeXEASi119iQlNPhpflpcEusIqicofcKjUAqGiQHT8lP568R0RENHCY/mz/0ksvYdasWbj11lvx2WefYezYsZgyZQq2bdu228+rqKjAr371KxxzzDEJijT+9EqpIYKP1K5KkWoRiUmp2CHtEtv3qoQPS45uzOXF3xYIo6E1AEDm2pE85ByQXWXnbQ/C5w8DkHv9Kfnp7XucJ0VERJT6TH+2f+CBB3DllVdixowZOOCAA7Bw4UKkpaXhqaee2uXnKIqCiy++GLfffjv22WefBEYbX9XCq4wA+W0okufq6NUWuWkOZAke0j5UYKUOIPv0Ov3a56Y5kO2Ru3akD2mX+LijV9gVZbngccpr2SYZwp3tezx5j4iIKPWZmpQKBoNYs2YNJk+ebNxmtVoxefJkrFy5cpefN2/ePBQWFuKKK67Y478RCATg8/m6fCQLIyklcEC4Tq80kphYCykqaryRY9klJtWMKi+BG1tAdkJT07SYxIi8628M+BcYOxA74F9e/GFFxZYmuUPaJSfUSI5gmO17REREA4Wpz/YNDQ1QFAVFRUVdbi8qKkJdXV23n/PRRx/hL3/5C5588ske/Rvz589Hdna28VFWVrbXccdDayCMpvYQAKAsT3D7nuC5OlubIoO23Q4rCjNdZofTa3pSR2q1SDSpJi/+7S0BdIQUWC3A4Bx5v78VgtvHANntb7XNfoRVDU67FcVZAoe0C772JIdeKeUQOG+QiIiIekfUW1AtLS346U9/iieffBL5+fk9+pzZs2ejubnZ+Kiuru7nKHtGr5LKTXMgU2DrFQD4QwrqfJ2VRgI3KLFDziUeyy55c6hpWrR1UmD8+topzfHAaRf1MApAdvubpmlGMrw8X178FXqVl9AB/3r85fny3oggOUKK3r4n7/GViIiIesdu5j+en58Pm82G+vr6LrfX19ejuLh4p/t///33qKiowLRp04zbVH3ugN2O9evXY8SIEV0+x+VyweVKviqYVJgnpX8PmS47ctLkJdaqjM2hzM2V5BasbS0B+EMqrBZgiMD2VX3IucTWPSC6diRWOO5oC6I1EIZF6NqRnBAEZB8OQXLow/QzXKa+TCUiIqIEMPUtKKfTiUMPPRTLli0zblNVFcuWLcOkSZN2uv+oUaPw5ZdfYt26dcbHGWecgRNOOAHr1q1Lmta8nqhKhXlSMYOeRVcaCd0cVjTIjV+/9lIrjSQPOQdSY+2UZLnhdsgbtF0pPBleIXiWGsnREVQAAOkueb/jRERE1DumvwU1a9YsXHrppZgwYQIOP/xwLFiwAG1tbZgxYwYA4JJLLsHgwYMxf/58uN1ujBkzpsvn5+TkAMBOtyc7fdDtkCSaJ9XbvJL0pI7kQdvBsIra5s5hyQIrFqLDkuXFDshunYxdOxKTatEh5/JiB2IqpQS2HrYFwmhoDQCQe/1JBn8okpSSmHgmIiKi3jE9KXX++edj+/btmDt3Lurq6jBu3DgsWbLEGH5eVVUFq1VeJcWepMTJe8JbECW3oWxpaoeqAR6HDQUCh7QblUZCq0Ukn0Cmr500pw0FGfLWTjQhKO/aA9H4JT7u6LHnpjmQ7ZHXsk1ydHQmpTxMShEREaU805NSADBz5kzMnDmz279bvnz5bj930aJF8Q8oAaqbkndjovXwfsbJewI3h7HDkiUmFlJmSLvQagvJVXaxSRGJa8f4vRVYaRQ74F9i+5vkOXYki96+53EyKUVERJTqUq8ESQBN01DdGGmfkVplBMhuwdreEkBHSIHVAgzOSZ4Wyp4yqrwEXnsgJqkjcP03t4fgbQ8BkLn2Jf/eAtHT3yQmw/UB/zarBYNz5T3uVAgf0k5yGO17dialiIiIUh2TUibY0RZER0iBxQKU5rjNDqdPVFVDdedcrGSs9toTPSkiddC25JlGQPTkQ5lVapHYCzJdSHMmRbFpr+hrX2KlDhBNyEpMqum/t4NzPHAIPOpe+uMOyRFWIzXbdpu8ak4iIiLqHXmvilOA3n5SnOWGS+i7gPUtfgTDKuxWC0qy5SXWkrF9rDetVHobTTLF31PNHSE0dVYaJUulV2+2Pcm2Me9tC16l4Cq7Fn8IO9qCAGSu/QrhVWqSZ6mRLIqelLIyKUVERJTqmJQyQSoMOTfe8c/1wJ5k7/j3ZCZWVRIfy96T+KNJteSLf0/0Spf8DCcyXPIqjSTPIgNiEgtJuPb3RF/3eelOZLrlDdqWXOUFJGcyn1KTnpSyMilFRESU8pIrmzBAbOlsexuSJ2+miK6qMXkHtfeE5EHVqho7pD254td6kFHT29+krp2KhuStdtH28ANQ1Og8u2SLf0+xA8mdFNF6kE6WPA8rEFZQ06yvHXnxkyxK5+OBTeBhDERERNQ7TEqZoFp4QgdIoXf8Bf4MtrUEEAhHhiWXChzSLrnKC5Cd0Kzz+RFUVDhsQteO3rYq8PcWiEnmC1w7W5o6oGlAmtOG/Ayn2eFQilM7K6VsrJQiIiJKeUxKmaC6KQXa94Qn1iRvDvVqC6nDko2TA6WuHcFJNb11b0humsjNnuRrD0Sr7CQOmY+dJ9XbOWZEvaWokf+yfY+IiCj1ydvRpgA9IVImdFMOxLbvJc/mqqf7pBZ/CI3GsOTkib+nxFepdVa7lOfLi98fUlDn8wOQWa2TzO1vPSF5ULi3PQifPwxAZkJWcnUpyaOyfY+IiGjAYFIqwcKKihpvZFNbJnmmlODNob65GpQuc9B2Ms5k6k3lhHH6WxIlNHtKT8Zmuu3ISZM3aFt6YkFyQraiM/aiLBc8TnmnrhprR2AymeThoPP/b+/e46MqzzyA/+Z+yf1+gcSAIFcBJUBBAVvRAMoKxaIsVUCrpQYXi5dqWxWlFtZ1LdVFXJXLfiwXy64oukIXQW2lYBQLggLaCgm3ECDkfpnJzLt/JOfMDEQgkMyZZ/L7fj75AMlh8sw5J5P3feZ5n5eIiKjzYFIqzI5VNsDnV7BbzMiIcxodzkWpavDidJ0XgMxqL8lL9wDZ1S4hlUYC49fOfZ7QJUwlWkIzgioEL/Q0Nnh9OKbfO5ET/4WKxF0P23IHR2L8FL3Y6JyIiKjzYFIqzLR+Ul2TXGLfAdSqFVJjhVYaSa8WicClkxfq8Ok6KAXE2C1IiZHXLFmbmEtNaB48qSXV5MUv/96Rm0wGghOyMuMnWXy+5qSU1SJznEREREQXjkmpMDvcsh17V6EJESA4KSLzOURitUhbSJ7c6kv3hFYaSU5oKqX0n13J947URtuSf259fqW/oSI1IUuyaJVSZoE/60RERNQ2TEqFWWDnPbn9pIqF754mObFQWedFZX3z0kmJk1vJ5x4INNqWuHtaea0HNY1NMJmad9+T5qDgpA4QunudNEcr6uH1NS87z0qQ+7uL5PC39JQSuMEsERERtRF/3YfZoXJt+Z7MiRUQ3JNJ3uQKkF2xoDU5T4tzwG2Xt3RSr9QR2ixZcj8yLamTFe+E0yav0XaJ4KQOABQLrlLT7vuuyS5YhC47J1lYKUVERNR5MCkVZodPNy/fE73zXrnW8Fbe5MrT5MexyuZrIDGxEC2VRhKbJXt9fhxp+fmVWCkVWLYq9d6Rm9SpbWzCiepGADLvfckVgiSTT6+UYlKKiIgo2jEpFWZaUkpypVSgL5C853D4dB38CnDbLUiLdRgdTptJrtQBAk3yJSYWjlbUo8mv4LCakR4n794JJDRlJhb0KjuBCVkt9kS3DQlum8HRtF2J8CXbJI9fMSlFRETUWTApFUaNTT4cr27e0ryr0J5SXp8fRyuaE2sSJ4fFQU3aJTZLPnhSbqVRSLNkifdO0MRc4s6ZelJK4NLJJp8fh09r8cu794ObtEsUqJSSd++QTFqlFJfvERERRT8mpcLoWEUDlAKcNrPILc0B4MjpevhbnkOawGoR6e/4S+5Lc6yyuVmyzWJCdqK8pGzg3MtMLBQLXjp5rLJBb7SdGe80Opw2C5x7eT+3gPykGsmjJaWsAt8AICIiorZhUiqMgpfuSazSAeRXGklucg4EJdUExq/F3jXJLXJJRrFWpSbw3AOy730tdqmNtrXXTYmVRkqpwNJJgfGTTHqllMCfdyIiImobJqXCSFt+InXpHhDU00hgtQUQ3OxZXvwNXh9Kq5qXf0qsuJBc5QXIjr+msQmnaj0AZMYvvdG2Vikl8XXnRE0j6jw+mE2yeyGSLL7mnBQsAt/8IiIiorZhUiqMjlRolVKCk1KnoqRaRGBS51BLUiTWYUWywOWfB4UvYSoRvIRJS4okx9gR5xTYaLtc+LLbU3IrpbTYsxNdsFs5ZKDw8HP3PSIiok6DI8wwiqqd9wRODv1+2ctQgpdfSVw6GVh6KC+po5RCcbncpJrkpXtAIKkmManjaQpsDiFx2a30e4dk4vI9IiKizoNJqTCKquV7AicoZdWNaGzyw2KW3mhb3rkHZFeplVU3osHbfO90EfjzK/ncA7IbbR8+XQe/Atx2C9Ji5W0OoTdpF3juSS6faqmUEvgGDBEREbUNk1JhJL1SKqThrcDJrTa56pLogs0i79bXlk5K7OclvVmylhQRe+8I7qUWfO9ITIYHV5dKrHCUntAkmQLL9wwOhIiIiDocf92HiafJrzepllopdarWgzqPDyYTZFaLCE6KALLjL6/1oKaxCQCQI3Bye1B4L7WDJ+X2NApttC3wdSdKmrSzUorCSauUMgtM5BIREVHbMCkVJscq66EU4LSZkSKwSTUQ1PA2wQWH1WJwNG1XIrgfFhDUaFtg/FpCLSvBCaeN9064RUOVWpbQ152DwnsySU6Gk1xaTymrhUkpIiKiaMekVJgEL92TuIQDCCwBykmWV60AyJ5c+fwKh05LXsKkLT2UFzsQuHckVrs0NvlwtLKl0bbApZ/6znWpMu8dyUsPK+u8qKjzApD5ukly6Y3OhY6XiIiI6MIxKRUmkpqct1TNn6XkVPPE9jKBE1tAdk+moxX18PoUbBYTshIi/x46k/QdvPSkmsD4D5U3V2nG2C1IjZVXpVks+OcWCCz9lJjQ1HacTItzwG23GhwNdSY+vacUk1JERETRjkmpMAlUSslLKGiKy+VOzAHZlVJatUVOklvkIL1E8O5pgOykWnCTc4lVmpLPvc+vcLhcq1KTF7+29FBiLzKSzc/d94iIiDoNJqXCRPrOe4DsvjqV9YFlKJEa/7mG3voOXkInh1pCMFLP/blU1HlQWR/Z9865SN89LbB0Ul78xyrr4fH5YbOYkJ0o7w0JydWlJJu+fE/gmzBERETUNkxKhYmk5XvfRUqz5NaWH2oJtdRYB2Ickb0MpbX4tSq1SF8C9F1LPyO92uVcFURa7OlClzDp515oT6ZIX753rntHe92RWuHISikySktOSuTPDREREbUNk1JhIr1Sqt7jQ1l1IwCZPaW0pE6kJkXOR3KVWm1jE07WyLh3Wk8Iymly3lpOUEvqRPq5b01whWOk/+y2du9I2nlPtfIESoRXaHZWCxYswJAhQxAXF4f09HRMnDgR+/fvDzmmoaEBhYWFSElJQWxsLCZPnozjx48bFPHZ2OiciIio82BSKgw8TX6UVjUAkFsppVVJxTutSHDbDI6m7cQvYRI0uT2TFnui2ybz3jnJXmpGkVTh2JpAMlxeQhCQ3aS9M/voo49QWFiI7du3Y9OmTfB6vbjxxhtRW1urH/Pzn/8c77zzDtauXYuPPvoIR48exQ9/+EMDow7lafIDAKyslCIiIop68kb5Ah2rbN79ymkzIyVG3u5XQPDSvcidnJxr6Cr5HX+llJilk63RGm2LTQiWy01o+vwKhwTfO1pSRGLsAFB8Uu65r/M0BapjBcbfmW3cuDHk3ytWrEB6ejp27NiBUaNGobKyEkuXLsWqVavwgx/8AACwfPly9OnTB9u3b8f3vvc9I8IOob2Rx0opIiKi6MdKqTAIXroncfcrILivi8zJieTle+W1HtQ0NsFkitzlnxfWpD1yE5rnou8cmCov/mOV9fD6FGwWE7ISIrNK03SOu0dyMhaI/Cq1c/bDaok9wWVDolvmmynUrLKyEgCQnJwMANixYwe8Xi/GjBmjH9O7d2/k5uZi27ZtrT5GY2MjqqqqQj7CITmW9x4REVG0i4ik1OLFi5GXlwen04lhw4ahqKjoO4999dVXMXLkSCQlJSEpKQljxow55/GRIJqanEusNAKCezLJSyxoE9vMeCecNovB0bSd5EojIKhaR2D8xdIbbZ+U2w9LKRXo5yUwISt5yTAF+P1+PPDAA7jmmmvQv39/AEBpaSnsdjsSExNDjs3IyEBpaWmrj7NgwQIkJCToHzk5OR0Wc3B/M6c1IoapRERE1IEM/23/xhtvYO7cuXjyySfx+eefY+DAgSgoKEBZWVmrx3/44YeYOnUqPvjgA2zbtg05OTm48cYbceTIkTBHfuEClVLyk1ISJ+aNTT4ca1kKIHGCJb1KTfLSyZAG/wLjl55YiPRKo3M5WeNBncfXUuEo77VfckKNAgoLC7Fnzx6sWbPmkh7nscceQ2Vlpf5x6NChdorwbME996VWlxMREdGFMzwp9fzzz+Oee+7BzJkz0bdvX7z88stwu91YtmxZq8evXLkS9913HwYNGoTevXvjtddeg9/vx+bNm8Mc+YWTvvMeIDuxcKi8uadXjN0isqeX/MSC3Eoj6UuYpDfaLhF872u91LITXHBYBVY4Ct8cgoDZs2fj3XffxQcffICuXbvqn8/MzITH40FFRUXI8cePH0dmZmarj+VwOBAfHx/y0VGC94FkSoqIiCj6GZqU8ng82LFjR0hfA7PZjDFjxnxnX4Mz1dXVwev16r0SzmRUH4Rg0pfv+fwKh05ry9/kTVC0yWFuSozId10DE3N5iQVPkx9HWpKyeQJ7MkVLo22JP7cNXp/e7FjivX9QcJNzQH4yvDNTSmH27NlYt24dtmzZgm7duoV8ffDgwbDZbCFv5u3fvx8lJSUYPnx4uMM9S/DyPYG/somIiKiNDN197+TJk/D5fMjIyAj5fEZGBvbt23dBj/GLX/wC2dnZIYmtYAsWLMBTTz11ybFeCumVUqVVDRHfLPlcpL/jL3kJ05GKevhbdp5Mj3MYHU6bBXqRyTv3QODeyUuVF79WpRbntCLJbTM4mrYrFrBj6blIr7LrzAoLC7Fq1Sq8/fbbiIuL0/tEJSQkwOVyISEhAXfffTfmzp2L5ORkxMfH4/7778fw4cMjYue90EopZqWIiIiineHL9y7FwoULsWbNGqxbtw5Op7PVY8LZB6E1nia//m6/1EoprbeI1GbJ0t/xDyTV5E0Og/thSaxS0ybmeQIn5koplOjnX178wT+3Iu8dwVV2IRWOAuPv7JYsWYLKykpcd911yMrK0j/eeOMN/Zjf/e53uPnmmzF58mSMGjUKmZmZePPNNw2MOkBx/R4REVGnYmilVGpqKiwWC44fPx7y+XP1NdA899xzWLhwId5//30MGDDgO49zOBxwOIyr0DhW2dzPyGkzi+xnBASqRXKEVotI3jmwtrEJJ2uaG21LjF8/9wKTIkAgMSLx3J+s8aC2pdF2TrK8hLie1BF+70hM6mgVji6bBWkCKxw7OxWS1Wmd0+nE4sWLsXjx4jBE1DYKXL5HRETUmRhaKWW32zF48OCQvgZa0/Jz9TV49tlnMX/+fGzcuBH5+fnhCPWiBS/dk/huPxC0857AyRUge3KrnftEtw0JLoFLmKKmSk1e/FHTaFvsvSO3Si24l5rU31skV8jue8aFQURERGFiaKUUAMydOxfTp09Hfn4+hg4dikWLFqG2thYzZ84EANx5553o0qULFixYAAD413/9VzzxxBNYtWoV8vLy9F4JsbGxiI2NNex5fBdtCUSXRHmVCpricrl9dfx+hUMt10Di5FZyUgSQnVjw+vw4UiG3SXux8H5YkpvMV9Z7cbrOC0Bm/NJ7qVH0YFKUiIgo+hmelLrttttw4sQJPPHEEygtLcWgQYOwceNGvfl5SUkJzOZAQdeSJUvg8Xhw6623hjzOk08+iXnz5oUz9Asifec9QPbub6VVDfA0+WE1m5CV0HrfsUgWvHOgRCWCmyUfOV0Pn1+JbdJ+UHBCEAiu0JR372ivmamxDsQ4DP8122ZaQlBiMpbkY6UUERFR5xIRo+XZs2dj9uzZrX7tww8/DPn3wYMHOz6gdiR95z0gtFm1NFq1SNckF6wWeX39JVdK+f1KdPzBFYIS360vOSU3Iej1BRptS0yqBRrky4sdYKUUGYs9pYiIiDoXebN0YQJJKZmVUpV1XlQ1NAGQOUGRXmkkudF2WXUjGpv8sJhN6CLw/i8WnNQBAkk1iUmdoxX1aPIr2K1mZMTJq3CU/HMLBFVKCb33SbbQSilmpYiIiKIdk1IdTPryPe0d//Q4B1x2wc2SBSbUgMD5lxi/ltTJTnTCxiq1sJPcUyr43JvN8ialxYKTOj6/wqFyuVVqJF/w3oGslCIiIop+8maKgnia/CitagAgd/me5IktILtaxOvz42hF8/0jsVpHP/cCdx8DghIjAvvqVDV4UV7rASDz3pf8cwvI7udVWtUAj88Pm0VmHz6STwWXShEREVHUY1KqA5VWNsCvAIfVjNRYu9HhXBSt2bDUZSiSe6NIb7RdInwJk758T+C9o537lBg74pw2g6Npu+KTspdOSn7d0e77rklukX34SD5WShEREXUuHHF2oOClexIbJQNBO++JrXaRO7kNbrQtcglTudzlb36/Ctr9TV78xYIrdQDZlVINXp9eIStx+Z70e4fkY08pIiKizoVJqQ6kNTnvInTpHhDoaZSbIq8nVkWdR3aTdn3XQ3kTWyB49zd5515r0m41m9AlUd69r/ciE5gUAWRXGmnJzDinFYlugVVqwnupURQITkoxJ0VERBT1mJTqQEcqWpJSAie1Gq3hrcTEiDa5Et+kXWBSBwiu9JJ372i7j3VJcolcwlR8Um5SRymlJ9UkVhodPBmIXWKFrOTqUooOKigrJe8niIiIiNpK3mxLkGOVzQmdbKHNYhubfDhaKXcXJslLgADZ8VfWe1FR5wUgs6eU5EodIFAplZcqL/6y6kY0eP2wmE3oInDXUul9+KQnw0m+kOV7AhO7RERE1DZMSnWgY5XNfUWyhFZKHT5dD6UAt92ClBh5jdrlL3+TmxjRYk+NtSPWYTU4mraTXKkDBN878uLXKo2yE52wCaxS06rs8gQmdZRSrJQiw4U0OjcsCiIiIgoXeSN+QY5WyK6UKglqtC3x3UrJ7/gHL2GSODnUe5EJTKgBwEHB906D14djLY22JcavVQhKTQgWC94c4lStB7UeH0wmICdZ5pspJJ8KKpUSOPQgIiKiNmJSqoMopcRVSmmDP62fQ4ngiTkge/mbtoTJbJLZkyyQEJQ3MQdkV6kdPl0HpYBYh1VohaPccw/IToZrVVLZCS44rPL68FF0CKmUYlaKiIgo6jEp1UGq6ptQ5/EBADLjZVZKFQudHJ6ZVJMSf3BSUDv32Yku2K1yfky1yYS4c9/yp4KCUiqwBCtVRlJNv3dU6M+tpAmdVhwRWP4m5Ny3/KkU4PX59Q0upCVkz7x3iIwS3FOKiIiIop+c2a4wWoPwJLdN5M5vQHDDXlmTK6B5CVOpvoRJXvzFwibmZwosPZQ3ua2o86K6oQmAzMm55KWHgOxG4UdO18PnV3DazEiPcxgdTptp947EBvkUPbQ3lgTl1ImIiOgSMCnVQbSd97IS5C290pRoiQUhE/PgAeyhloltnMOKJLfNoIgunrSJ+ZmTB8lLP7VlnxnxDjht8hLKJcIbVYte/hbUh89sljejlr45BEWJlkopeT9BREREdDGYlOogRyuaq3SyE2Uu3VNKhTQ6l0ZfhpIiawmTJtAsWd65b2wKNNqWOLmVvvuYtF5qwT+eFXUeVNZ7Ach83ZGWEDzzlVGvlBJy71B00lbvSfzdTURERG3HpFQHKdWanAutlNIabVvMJnRJkvccpE3MzyQ5/kPl9VAKcNstSI2V12hbckIQkB2/Fnt6nANuu9XgaNruoOBzD8ir0KTopFgpRURE1KkwKdVBtJ5SWUIrpbTJSXaiEzaLvNtE+jIUyfFryz6lNdrWSF4+5vMrHD7dEr+QJu3BpDU5P5N+7wg899UNTSiv9QCQU+lF0Yk9pYiIiDoXedkGIY5VaJVSMpNSgWoLmZMTyZVG1Q1NOF3XsoRJYPzF+hIgofeOsCVYwY5W1sPrU7BbzCJ3/Sw5JbtSR793BFZKaZsTpMbaEeuQV6VG0SNQKcWsFBERUWfApFQHkd7oXKvUyRE4uQKCGm0LjF9L6kidHEquNAJkJzS1+75rsgsWgY229XMv8OfWH9SHT2JCNrBro7zYKboEekoZGgYRERGFCZNSHUAphWMtPaWypSalBE/M/X6FQ6flVlwElu7Jix0IVItIPPd1Hh9OVDcCkFklGDVVagKXv5VVN6KxyQ+r2SRyg4sSwVVeFF38fi7fIyIi6kyYlOoA5bUeNDb5AQAZCQ6Do7k4kisWjlU2wOtTsFlMIivVApU68ibmQPC9Iy9+rdIo0W1DgttmcDRtVyw+oSn3dUc7912TXLAK7MPHSimKNFy+R0RE1DnIGzkLoFVJpcY64LBaDI7m4miTc4nL97Qqr5wkt8glTAcFL3/z+xUOlzcvXZUYv+RkLCB76WGdpwllLVVqEiu9Dur9sOTFDgQteRZ471B00XtKyfv1TURERBdBXsMaAUpbklKZQqukaht9qGlsAiBzglIsvFmyvoxGYPylVQ3w+JqXMEls8l8svFpE8vK9kpZkZoJLZpVaiX7u5f3cAoGdDyW+7lB00XffMzgOIiIiCg9WSnUA7d3+9Dh5k3IAekIqOcaOOKe8yWFlffPOdVKrXfSd9wQuf9POvdQlTCdrWvpJCZ2Ya/FLTMhKP/elVc1vRkhdOqn93pKakKXoEaiUYlqKiIioM2ClVAcoq26enGTEy6yU0khcuhdM6jIajdTJOSD/3EtNLADNS166JsnrpaaRnhSRHH+c04okgVVqFF303fcMjYKIKDr5fD54vV6jw6AoYbFYYLVaL/mNJCalOoD2jnOa0EopjdRKI43k+GPsFqTE2I0O46JJPvcAkCdw9zdNdoJLbC87IAruHcHJ5MtS3KxOIcMpvVTK2DiIiKJNTU0NDh8+HHidJWoHbrcbWVlZsNsvfu7KpFQHKKvSlu/JrpSSXKkDyI4/NyVG9ORQ8rkHZCdGpJ97iUsPg0muMJVc5UXRg5VSRETtz+fz4fDhw3C73UhLSxM9z6DIoJSCx+PBiRMncODAAfTs2RNm88W1b2FSqgOcaFm+Jz0pJXlyBciOX3JSBJC9/M1lsyBN8M+u9KSUxCbtmqwEJ5w2VqkRXQr2lCIian9erxdKKaSlpcHlktvmgSKLy+WCzWZDcXExPB4PnM6LWykmrxOxAHqj83gu3zNKZrzwyaHwxILkigvpS5gkn3tA9r0vORkLyE4IUjRp2X1P7sswEVHEkjzGpch0sdVRIY/RDnFQEL9f4UR1tCzfkztBkb4ESHz8gifnkmMHZCeTnTaz6NdN6Ukd6a87FB3YUoqIiKhzYVKqnZ2u86DJ3zyiSo2VO7myW2VPDiVPzAHZk9v0OAdcdlapGUVyYuGyZNm91CSfe0D26w5FD72nlODXAiIiilx5eXlYtGiR0WFQECal2pm2dC85xg67Ve7pzU12w2yWOyCUmFjw+QM7YUiu1pF47oNJrBAM3kRFYvwaJnWMI/2NCIoerJQiIiKg+c2Jc33Mmzfvoh73008/xb333tsuMa5evRoWiwWFhYXt8nidldysSYQqi5ale4KTIkDz7nXSnK7z6n/PTpTbgDA3Wd65DyY9qRbrkLt/RZ7wcy/53pH+RgRFD8WeUkREBODYsWP6x6JFixAfHx/yuYceekg/VimFpqamC3rctLQ0uN3tM2ZbunQpHnnkEaxevRoNDQ3t8pgXy+PxGPr9LwWTUu2srKr5ZpS8excge+c6QH5SzSJ4cihxYu4PKjW6THBSTeK5DyYxmVzbGBgASa70kp4QpOgReDmW+3uQiIguXWZmpv6RkJAAk8mk/3vfvn2Ii4vDhg0bMHjwYDgcDnz88cf4xz/+gVtuuQUZGRmIjY3FkCFD8P7774c87pnL90wmE1577TVMmjQJbrcbPXv2xPr1688b34EDB/DXv/4Vjz76KK644gq8+eabZx2zbNky9OvXDw6HA1lZWZg9e7b+tYqKCvz0pz9FRkYGnE4n+vfvj3fffRcAMG/ePAwaNCjksRYtWoS8vDz93zNmzMDEiRPxzDPPIDs7G7169QIAvP7668jPz0dcXBwyMzPxz//8zygrKwt5rC+//BI333wz4uPjERcXh5EjR+If//gH/vznP8Nms6G0tDTk+AceeAAjR4487zm5WBGRlFq8eDHy8vLgdDoxbNgwFBUVnfP4tWvXonfv3nA6nbjyyivx3nvvhSnS8wtUSgnfeU/gBKXe69P/LjF+Tab0XRsFnvvSqsA7G9mJcs+/5GWfgMzESHF5nf73eKfNwEgujfQKR4oe+vI95qSIiDqMUgp1niZDPlRw34lL9Oijj2LhwoXYu3cvBgwYgJqaGowfPx6bN2/G3/72N4wdOxYTJkxASUnJOR/nqaeewpQpU/DFF19g/PjxmDZtGsrLy8/5f5YvX46bbroJCQkJ+PGPf4ylS5eGfH3JkiUoLCzEvffei927d2P9+vXo0aMHAMDv92PcuHHYunUr/vCHP+Crr77CwoULYbG0rS/v5s2bsX//fmzatElPaHm9XsyfPx+7du3CW2+9hYMHD2LGjBn6/zly5AhGjRoFh8OBLVu2YMeOHbjrrrvQ1NSEUaNGoXv37nj99df1471eL1auXIm77rqrTbG1heHrPN544w3MnTsXL7/8MoYNG4ZFixahoKAA+/fvR3p6+lnH//Wvf8XUqVOxYMEC3HzzzVi1ahUmTpyIzz//HP379zfgGYTSd96Ll10pJTGxUFJer/890W03MJJLI7naApCZGCk5FUgsWC0Rkau/KBJ/bqVXqWmv+dLlpcq7dyg66cv3DI6DiCia1Xt96PvEnwz53l89XQC3vX3SEE8//TRuuOEG/d/JyckYOHCg/u/58+dj3bp1WL9+fUiV0plmzJiBqVOnAgB++9vf4oUXXkBRURHGjh3b6vF+vx8rVqzAiy++CAC4/fbb8eCDD+LAgQPo1q0bAOA3v/kNHnzwQcyZM0f/f0OGDAEAvP/++ygqKsLevXtxxRVXAAC6d+/e5ucfExOD1157DXZ7YO4bnDzq3r07XnjhBQwZMgQ1NTWIjY3F4sWLkZCQgDVr1sBma35DVYsBAO6++24sX74cDz/8MADgnXfeQUNDA6ZMmdLm+C6U4bOv559/Hvfccw9mzpyJvn374uWXX4bb7cayZctaPf73v/89xo4di4cffhh9+vTB/PnzcfXVV+M//uM/whx568qqmysuJPaUCk5ay0ws1BodQruQuPSwwevX/y6x0fbRSmPXgLcXiY22j1cFkjqSq9Skk/iaT9GJlVJERHSh8vPzQ/5dU1ODhx56CH369EFiYiJiY2Oxd+/e81ZKDRgwQP97TEwM4uPjz1ryFmzTpk2ora3F+PHjAQCpqam44YYb9BxGWVkZjh49iuuvv77V/79z50507do1JBl0Ma688sqQhBQA7NixAxMmTEBubi7i4uIwevRoANDPwc6dOzFy5Eg9IXWmGTNm4O9//zu2b98OAFixYgWmTJmCmJiOm2cYWinl8XiwY8cOPPbYY/rnzGYzxowZg23btrX6f7Zt24a5c+eGfK6goABvvfVWR4Z6wbQJlsTle6frAs3RuibJm6AEL6ORTGK1S0nQuU9yy13CJJ3ExEJxlFSpdU2StzlBSJWawIQmRTcTa6WIiDqMy2bBV08XGPa928uZiZKHHnoImzZtwnPPPYcePXrA5XLh1ltvPW8T8DMTNCaTCX6//zuObm5wXl5eDpcrMP7z+/344osv8NRTT4V8vjXn+7rZbD5rmaPX6z3ruDOff21tLQoKClBQUICVK1ciLS0NJSUlKCgo0M/B+b53eno6JkyYgOXLl6Nbt27YsGEDPvzww3P+n0tlaFLq5MmT8Pl8yMjICPl8RkYG9u3b1+r/KS0tbfX4M5txaRobG9HYGHgnvqqq6hKjPjetUipD4PK9nKBElLMdXyzCZeaIbli29QB+eHUXo0O5JNf3yTj/QRFmUE4CgOYG7SaBb2+P65+JDXtK8bPrLjc6lEsyKDfR6BDabGTPVKwuKkF2grxEPgBclZuIv5VU4CfXdjM6lDZz2QOv8xKTahSdWClFRNTxTCZTuy2hiyRbt27FjBkzMGnSJADNlVMHDx5s1+9x6tQpvP3221izZg369eunf97n8+Haa6/F//3f/2Hs2LHIy8vD5s2b8f3vf/+sxxgwYAAOHz6Mr7/+utVqqbS0NJSWlkIppc+tdu7ced7Y9u3bh1OnTmHhwoXIyckBAHz22Wdnfe//+q//gtfr/c5qqZ/85CeYOnUqunbtissvvxzXXHPNeb/3pYi+O/EMCxYswFNPPRW27/fHnw5HaWUDrsiIC9v3bC95qTF4874RSIuVl1ADgF+M64Uf9E5Hfl6S0aFclL888n2cqGlEn6x4o0Nps8GXJWPtrOEiq7wA4LkfDcTtQ3Mx4vIUo0O5KFseHI0Gr19khebYfplYdc8w9MmUd98DwIoZQ7HzcAVG9kg1OpQ2c9ut2DBnJOxWM2yCq9QounRJcuHZyQNCkqZEREQXomfPnnjzzTcxYcIEmEwmPP744+eseLoYr7/+OlJSUjBlypSz3owfP348li5dirFjx2LevHmYNWsW0tPTMW7cOFRXV2Pr1q24//77MXr0aIwaNQqTJ0/G888/jx49emDfvn0wmUwYO3YsrrvuOpw4cQLPPvssbr31VmzcuBEbNmxAfPy5x8u5ubmw2+148cUXMWvWLOzZswfz588POWb27Nl48cUXcfvtt+Oxxx5DQkICtm/fjqFDh+o7+BUUFCA+Ph6/+c1v8PTTT7fr+WuNoaPQ1NRUWCwWHD9+POTzx48fR2ZmZqv/JzMzs03HP/bYY6isrNQ/Dh061D7Bf4esBBeuyk1CjENmvu/q3CTkCFwCBAAOqwXX9kwVWeUFADnJblydKzOhBgBD8pJFJkUAIMZhxegr0sROzLunxaJvtsykjtlswojLU5EUI3NzggS3DaOvSIPZLLOso09WPC5PizU6DCJdcowdU4bkYMLAbKNDISIiYZ5//nkkJSVhxIgRmDBhAgoKCnD11Ve36/dYtmwZJk2a1OrqkMmTJ2P9+vU4efIkpk+fjkWLFuGll15Cv379cPPNN+Obb77Rj/2f//kfDBkyBFOnTkXfvn3xyCOPwOdr3k2+T58+eOmll7B48WIMHDgQRUVFeOihh84bW1paGlasWIG1a9eib9++WLhwIZ577rmQY1JSUrBlyxbU1NRg9OjRGDx4MF599dWQqimz2YwZM2bA5/PhzjvvvNhTdcFMqj33ZLwIw4YNw9ChQ/XO9X6/H7m5uZg9ezYeffTRs46/7bbbUFdXh3feeUf/3IgRIzBgwAC8/PLL5/1+VVVVSEhIQGVl5XkzjURERNQ5cbzw3XhuiIhkaWho0HeGczplvolM4XX33XfjxIkTWL9+/TmPO9e9daHjBcPLeebOnYvp06cjPz8fQ4cOxaJFi1BbW4uZM2cCAO6880506dIFCxYsAADMmTMHo0ePxr//+7/jpptuwpo1a/DZZ5/hlVdeMfJpEBERERERERGJVVlZid27d2PVqlXnTUi1F8OTUrfddhtOnDiBJ554AqWlpRg0aBA2btyoNzMvKSmB2RxYUjNixAisWrUKv/71r/HLX/4SPXv2xFtvvYX+/fsb9RSIiIiIiIiIiES75ZZbUFRUhFmzZuGGG24Iy/c0fPleuLHknIiIiM6H44XvxnNDRCQLl+9RR2mP5Xsyu/oSEREREREREZFoTEoREREREREREVHYMSlFREREREREFOU6WeceCoP2uKeYlCIiIiIiIiKKUhaLBQDg8XgMjoSiTV1dHQDAZrNd9GMYvvseEREREREREXUMq9UKt9uNEydOwGazhexuT3QxlFKoq6tDWVkZEhMT9cTnxWBSioiIiIiIiChKmUwmZGVl4cCBAyguLjY6HIoiiYmJyMzMvKTHYFKKiIiIiIiIKIrZ7Xb07NmTS/io3dhstkuqkNIwKUVEREREREQU5cxmM5xOp9FhEIXgYlIiIiIiIiIiIgo7JqWIiIiIiIiIiCjsmJQiIiIiIiIiIqKw63Q9pZRSAICqqiqDIyEiIqJIpY0TtHEDBXAsRUREROdzoWOpTpeUqq6uBgDk5OQYHAkRERFFuurqaiQkJBgdRkThWIqIiIgu1PnGUibVyd4C9Pv9OHr0KOLi4mAymdr98auqqpCTk4NDhw4hPj6+3R+fLg6vS+ThNYlMvC6Ridcl/JRSqK6uRnZ2NsxmdjsIxrFU58NrEpl4XSITr0vk4TUxxoWOpTpdpZTZbEbXrl07/PvEx8fzho9AvC6Rh9ckMvG6RCZel/BihVTrOJbqvHhNIhOvS2TidYk8vCbhdyFjKb71R0REREREREREYcekFBERERERERERhR2TUu3M4XDgySefhMPhMDoUCsLrEnl4TSITr0tk4nWhzoT3e+ThNYlMvC6Ridcl8vCaRLZO1+iciIiIiIiIiIiMx0opIiIiIiIiIiIKOyaliIiIiIiIiIgo7JiUIiIiIiIiIiKisGNSqp0tXrwYeXl5cDqdGDZsGIqKiowOKSosWLAAQ4YMQVxcHNLT0zFx4kTs378/5JiGhgYUFhYiJSUFsbGxmDx5Mo4fPx5yTElJCW666Sa43W6kp6fj4YcfRlNTU8gxH374Ia6++mo4HA706NEDK1as6OinFzUWLlwIk8mEBx54QP8cr0v4HTlyBD/+8Y+RkpICl8uFK6+8Ep999pn+daUUnnjiCWRlZcHlcmHMmDH45ptvQh6jvLwc06ZNQ3x8PBITE3H33XejpqYm5JgvvvgCI0eOhNPpRE5ODp599tmwPD+JfD4fHn/8cXTr1g0ulwuXX3455s+fj+C2jrwuRBxHdSSOpSIfx1GRg2OpyMOxVBRT1G7WrFmj7Ha7WrZsmfryyy/VPffcoxITE9Xx48eNDk28goICtXz5crVnzx61c+dONX78eJWbm6tqamr0Y2bNmqVycnLU5s2b1Weffaa+973vqREjRuhfb2pqUv3791djxoxRf/vb39R7772nUlNT1WOPPaYf8+233yq3263mzp2rvvrqK/Xiiy8qi8WiNm7cGNbnK1FRUZHKy8tTAwYMUHPmzNE/z+sSXuXl5eqyyy5TM2bMUJ988on69ttv1Z/+9Cf197//XT9m4cKFKiEhQb311ltq165d6p/+6Z9Ut27dVH19vX7M2LFj1cCBA9X27dvVX/7yF9WjRw81depU/euVlZUqIyNDTZs2Te3Zs0etXr1auVwu9Z//+Z9hfb5SPPPMMyolJUW9++676sCBA2rt2rUqNjZW/f73v9eP4XWhzo7jqI7FsVRk4zgqcnAsFZk4lopeTEq1o6FDh6rCwkL93z6fT2VnZ6sFCxYYGFV0KisrUwDURx99pJRSqqKiQtlsNrV27Vr9mL179yoAatu2bUoppd577z1lNptVaWmpfsySJUtUfHy8amxsVEop9cgjj6h+/fqFfK/bbrtNFRQUdPRTEq26ulr17NlTbdq0SY0ePVofTPG6hN8vfvELde21137n1/1+v8rMzFT/9m//pn+uoqJCORwOtXr1aqWUUl999ZUCoD799FP9mA0bNiiTyaSOHDmilFLqpZdeUklJSfo10r53r1692vspRYWbbrpJ3XXXXSGf++EPf6imTZumlOJ1IVKK46hw41gqcnAcFVk4lopMHEtFLy7faycejwc7duzAmDFj9M+ZzWaMGTMG27ZtMzCy6FRZWQkASE5OBgDs2LEDXq835Pz37t0bubm5+vnftm0brrzySmRkZOjHFBQUoKqqCl9++aV+TPBjaMfwGp5bYWEhbrrpprPOHa9L+K1fvx75+fn40Y9+hPT0dFx11VV49dVX9a8fOHAApaWlIeczISEBw4YNC7kmiYmJyM/P148ZM2YMzGYzPvnkE/2YUaNGwW6368cUFBRg//79OH36dEc/TXFGjBiBzZs34+uvvwYA7Nq1Cx9//DHGjRsHgNeFiOOo8ONYKnJwHBVZOJaKTBxLRS+r0QFEi5MnT8Ln84X8QgCAjIwM7Nu3z6CoopPf78cDDzyAa665Bv379wcAlJaWwm63IzExMeTYjIwMlJaW6se0dn20r53rmKqqKtTX18PlcnXEUxJtzZo1+Pzzz/Hpp5+e9TVel/D79ttvsWTJEsydOxe//OUv8emnn+Jf/uVfYLfbMX36dP2ctnY+g893enp6yNetViuSk5NDjunWrdtZj6F9LSkpqUOen1SPPvooqqqq0Lt3b1gsFvh8PjzzzDOYNm0aAPC6UKfHcVR4cSwVOTiOijwcS0UmjqWiF5NSJE5hYSH27NmDjz/+2OhQOr1Dhw5hzpw52LRpE5xOp9HhEJonGvn5+fjtb38LALjqqquwZ88evPzyy5g+fbrB0XVef/zjH7Fy5UqsWrUK/fr1w86dO/HAAw8gOzub14WIwo5jqcjAcVRk4lgqMnEsFb24fK+dpKamwmKxnLUbxvHjx5GZmWlQVNFn9uzZePfdd/HBBx+ga9eu+uczMzPh8XhQUVERcnzw+c/MzGz1+mhfO9cx8fHxfBepFTt27EBZWRmuvvpqWK1WWK1WfPTRR3jhhRdgtVqRkZHB6xJmWVlZ6Nu3b8jn+vTpg5KSEgCBc3qu16rMzEyUlZWFfL2pqQnl5eVtum4U8PDDD+PRRx/F7bffjiuvvBJ33HEHfv7zn2PBggUAeF2IOI4KH46lIgfHUZGJY6nIxLFU9GJSqp3Y7XYMHjwYmzdv1j/n9/uxefNmDB8+3MDIooNSCrNnz8a6deuwZcuWs0oqBw8eDJvNFnL+9+/fj5KSEv38Dx8+HLt37w55Idq0aRPi4+P1XzzDhw8PeQztGF7D1l1//fXYvXs3du7cqX/k5+dj2rRp+t95XcLrmmuuOWuL76+//hqXXXYZAKBbt27IzMwMOZ9VVVX45JNPQq5JRUUFduzYoR+zZcsW+P1+DBs2TD/mz3/+M7xer37Mpk2b0KtXL5Y1t6Kurg5mc+ivXIvFAr/fD4DXhYjjqI7HsVTk4TgqMnEsFZk4lopiRndajyZr1qxRDodDrVixQn311Vfq3nvvVYmJiSG7YdDF+dnPfqYSEhLUhx9+qI4dO6Z/1NXV6cfMmjVL5ebmqi1btqjPPvtMDR8+XA0fPlz/urZl7o033qh27typNm7cqNLS0lrdMvfhhx9We/fuVYsXL+aWuW0UvGuMUrwu4VZUVKSsVqt65pln1DfffKNWrlyp3G63+sMf/qAfs3DhQpWYmKjefvtt9cUXX6hbbrml1e1yr7rqKvXJJ5+ojz/+WPXs2TNku9yKigqVkZGh7rjjDrVnzx61Zs0a5Xa7uV3ud5g+fbrq0qWLvo3xm2++qVJTU9UjjzyiH8PrQp0dx1Edi2MpGTiOMh7HUpGJY6noxaRUO3vxxRdVbm6ustvtaujQoWr79u1GhxQVALT6sXz5cv2Y+vp6dd9996mkpCTldrvVpEmT1LFjx0Ie5+DBg2rcuHHK5XKp1NRU9eCDDyqv1xtyzAcffKAGDRqk7Ha76t69e8j3oPM7czDF6xJ+77zzjurfv79yOByqd+/e6pVXXgn5ut/vV48//rjKyMhQDodDXX/99Wr//v0hx5w6dUpNnTpVxcbGqvj4eDVz5kxVXV0dcsyuXbvUtddeqxwOh+rSpYtauHBhhz83qaqqqtScOXNUbm6ucjqdqnv37upXv/pVyHbDvC5EHEd1JI6lZOA4KjJwLBV5OJaKXiallDKmRouIiIiIiIiIiDor9pQiIiIiIiIiIqKwY1KKiIiIiIiIiIjCjkkpIiIiIiIiIiIKOyaliIiIiIiIiIgo7JiUIiIiIiIiIiKisGNSioiIiIiIiIiIwo5JKSIiIiIiIiIiCjsmpYiIiIiIiIiIKOyYlCIiugQmkwlvvfWW0WEQERERicNxFBExKUVEYs2YMQMmk+msj7FjxxodGhEREVFE4ziKiCKB1egAiIguxdixY7F8+fKQzzkcDoOiISIiIpKD4ygiMhorpYhINIfDgczMzJCPpKQkAM0l4UuWLMG4cePgcrnQvXt3/Pd//3fI/9+9ezd+8IMfwOVyISUlBffeey9qampCjlm2bBn69esHh8OBrKwszJ49O+TrJ0+exKRJk+B2u9GzZ0+sX7++Y580ERERUTvgOIqIjMakFBFFtccffxyTJ0/Grl27MG3aNNx+++3Yu3cvAKC2thYFBQVISkrCp59+irVr1+L9998PGSwtWbIEhYWFuPfee7F7926sX78ePXr0CPkeTz31FKZMmYIvvvgC48ePx7Rp01BeXh7W50lERETU3jiOIqIOp4iIhJo+fbqyWCwqJiYm5OOZZ55RSikFQM2aNSvk/wwbNkz97Gc/U0op9corr6ikpCRVU1Ojf/1///d/ldlsVqWlpUoppbKzs9WvfvWr74wBgPr1r3+t/7umpkYBUBs2bGi350lERETU3jiOIqJIwJ5SRCTa97//fSxZsiTkc8nJyfrfhw8fHvK14cOHY+fOnQCAvXv3YuDAgYiJidG/fs0118Dv92P//v0wmUw4evQorr/++nPGMGDAAP3vMTExiI+PR1lZ2cU+JSIiIqKw4DiKiIzGpBQRiRYTE3NWGXh7cblcF3SczWYL+bfJZILf7++IkIiIiIjaDcdRRGQ09pQioqi2ffv2s/7dp08fAECfPn2wa9cu1NbW6l/funUrzGYzevXqhbi4OOTl5WHz5s1hjZmIiIgoEnAcRUQdjZVSRCRaY2MjSktLQz5ntVqRmpoKAFi7di3y8/Nx7bXXYuXKlSgqKsLSpUsBANOmTcOTTz6J6dOnY968eThx4gTuv/9+3HHHHcjIyAAAzJs3D7NmzUJ6ejrGjRuH6upqbN26Fffff394nygRERFRO+M4ioiMxqQUEYm2ceNGZGVlhXyuV69e2LdvH4DmHV3WrFmD++67D1lZWVi9ejX69u0LAHC73fjTn/6EOXPmYMiQIXC73Zg8eTKef/55/bGmT5+OhoYG/O53v8NDDz2E1NRU3HrrreF7gkREREQdhOMoIjKaSSmljA6CiKgjmEwmrFu3DhMnTjQ6FCIiIiJROI4ionBgTykiIiIiIiIiIgo7JqWIiIiIiIiIiCjsuHyPiIiIiIiIiIjCjpVSREREREREREQUdkxKERERERERERFR2DEpRUREREREREREYcekFBERERERERERhR2TUkREREREREREFHZMShERERERERERUdgxKUVERERERERERGHHpBQREREREREREYUdk1JERERERERERBR2/w+lwCUdozCVIAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import torch\n", + "import torch.nn as nn\n", + "import torch.optim as optim\n", + "from tqdm import tqdm\n", + "from torchvision import datasets,transforms\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# 处理数据\n", + "transform = transforms.Compose([\n", + " transforms.ToTensor(),\n", + " transforms.Normalize(mean=[0.5],std=[0.5])\n", + "])\n", + "\n", + "# 导入数据\n", + "trainset = datasets.MNIST(root='./data',train=True,download=True,transform=transform)\n", + "trainloader = torch.utils.data.DataLoader(trainset,batch_size=64,shuffle=True)\n", + "\n", + "trainset = datasets.MNIST(root='./data',train=True,download=True,transform=transform)\n", + "testloader = torch.utils.data.DataLoader(trainset,batch_size=64,shuffle=True)\n", + "\n", + "# 定义模型\n", + "class SimpleNet(nn.Module):\n", + " def __init__(self):\n", + " super(SimpleNet,self).__init__()\n", + " self.flatten = nn.Flatten()\n", + " self.fc1 = nn.Linear(28*28,256)\n", + " self.d1 = nn.Dropout(0.2)\n", + " self.fc2 = nn.Linear(256,128)\n", + " self.d2 = nn.Dropout(0.2)\n", + " self.fc3 = nn.Linear(128,10)\n", + " self.softmax = nn.Softmax(dim=1)\n", + "\n", + " def forward(self,x):\n", + " x = self.flatten(x)\n", + " x = torch.relu(self.fc1(x))\n", + " x = self.d1(x)\n", + " x = torch.tanh(self.fc2(x))\n", + " x = self.d2(x)\n", + " x = self.fc3(x)\n", + " x = self.softmax(x)\n", + " return x \n", + " \n", + "model = SimpleNet()\n", + "\n", + "device = torch.device(\"mps\" if torch.backends.mps.is_available() else \"cpu\")\n", + "\n", + "model.to(device)\n", + "\n", + "# 定义损失函数和优化器\n", + "criterion = nn.CrossEntropyLoss()\n", + "optimizer = optim.Adam(model.parameters(),lr=0.001)\n", + "\n", + "# 初始化训练统计信息\n", + "train_losses = []\n", + "train_accuracies = []\n", + "\n", + "# 训练模型\n", + "epochs = 10\n", + "for epoch in range(epochs):\n", + " running_loss = 0.0\n", + " correct = 0\n", + " total = 0\n", + " \n", + " # 添加进度条\n", + " train_iter = tqdm(trainloader, desc=f'Epoch {epoch+1}/{epochs}', unit='batch')\n", + " \n", + " for images, labels in train_iter:\n", + " images, labels = images.to(device), labels.to(device)\n", + " optimizer.zero_grad()\n", + " \n", + " outputs = model(images)\n", + " loss = criterion(outputs, labels)\n", + " loss.backward()\n", + " optimizer.step()\n", + " \n", + " # 计算准确率\n", + " _, predicted = torch.max(outputs.data, 1)\n", + " total += labels.size(0)\n", + " correct += (predicted == labels).sum().item()\n", + " \n", + " # 更新进度条信息\n", + " running_loss += loss.item()\n", + " train_iter.set_postfix({\n", + " 'loss': f\"{running_loss/(train_iter.n+1):.4f}\",\n", + " 'acc': f\"{100*correct/total:.2f}%\"\n", + " })\n", + "\n", + " # 保存训练统计信息\n", + " epoch_loss = running_loss / len(trainloader)\n", + " epoch_acc = 100 * correct / total\n", + " train_losses.append(epoch_loss)\n", + " train_accuracies.append(epoch_acc)\n", + "\n", + "# 在测试集上评估模型\n", + "model.eval() # 设置为评估模式\n", + "test_loss = 0.0\n", + "test_correct = 0\n", + "test_total = 0\n", + "\n", + "with torch.no_grad():\n", + " for images, labels in testloader:\n", + " images, labels = images.to(device), labels.to(device)\n", + " outputs = model(images)\n", + " loss = criterion(outputs, labels)\n", + " \n", + " # 计算准确率\n", + " _, predicted = torch.max(outputs.data, 1)\n", + " test_total += labels.size(0)\n", + " test_correct += (predicted == labels).sum().item()\n", + " test_loss += loss.item()\n", + "\n", + "# 打印测试集评估结果\n", + "test_loss /= len(testloader)\n", + "test_acc = 100 * test_correct / test_total\n", + "print(f\"测试集评估结果 => Loss: {test_loss:.4f}, Accuracy: {test_acc:.2f}%\")\n", + "\n", + "# 保存模型\n", + "torch.save({\n", + " 'model_state_dict': model.state_dict(),\n", + " 'optimizer_state_dict': optimizer.state_dict(),\n", + " 'model_definition': SimpleNet # 保存模型类\n", + "}, './models/mnist_model-torch.pth')\n", + "print(\"模型已保存到 ./models/mnist_model-torch.pth\")\n", + "\n", + "# 训练结束后绘制曲线\n", + "plt.figure(figsize=(12, 5))\n", + "\n", + "# 绘制损失曲线\n", + "plt.subplot(1, 2, 1)\n", + "plt.plot(train_losses, label='Train Loss')\n", + "plt.xlabel('Epoch')\n", + "plt.ylabel('Loss')\n", + "plt.title('Training Loss')\n", + "plt.legend()\n", + "\n", + "\n", + "# 绘制准确率曲线\n", + "plt.subplot(1, 2, 2)\n", + "plt.plot(train_accuracies, label='Train Accuracy')\n", + "plt.xlabel('Epoch')\n", + "plt.ylabel('Accuracy')\n", + "plt.title('Training Accuracy')\n", + "plt.legend()\n", + "\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/cf/pykndz2n2tl6ff6jl9bcbb480000gn/T/ipykernel_3293/2215973287.py:8: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.\n", + " checkpoint = torch.load('./models/mnist_model-torch.pth')\n" + ] + }, + { + "data": { + "image/png": "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P2AAQNNW758DOnPmjA4ePKj27dvX91MBAJqQOg+gBx98UFu2bNGhQ4f08ccfa/To0QoNDdW4cePq+qkAAE1Ynb8Fd+TIEY0bN06nT59Wu3btdP3112v79u1q165dXT8VAKAJq/MAev311+vkcc7OogA01IUBktSmTRvHNb169XJcM2DAAMc1aWlpjmu6dOniuEYKbvxKSkoc18TGxjqueemllxzXBPvxDiZFrl/MBQcAsIIAAgBYQQABAKwggAAAVhBAAAArCCAAgBUEEADACgIIAGAFAQQAsIIAAgBYQQABAKwggAAAVtT7F9IB3+X0mxWl4CYI7dmzp+MaSRo8eLDjmjFjxjiuCeb7sUpLSx3XfPnll45rJKmqqspxzdVXX+24ZuTIkY5rNm3a5Lhmz549jmskJiOtbxwBAQCsIIAAAFYQQAAAKwggAIAVBBAAwAoCCABgBQEEALCCAAIAWEEAAQCsIIAAAFYQQAAAKwggAIAVBBAAwApmw0bQQkKc//3SqVMnxzV33XWX45rRo0c7rpGkjh07Oq6JiopyXOP1eh3XrFu3znHNCy+84LhGkhISEhrkuS655BLHNcGMdzD7qiT5fL6g6nB+OAICAFhBAAEArCCAAABWEEAAACsIIACAFQQQAMAKAggAYAUBBACwggACAFhBAAEArCCAAABWEEAAACuYjBRBi4yMdFxz/fXXO665++67HdcEM8mlJJWXlzuuOXHihOOa9evXO65ZvHix45r9+/c7rpGk/v37B1XnVGhoaIPUoHHiCAgAYAUBBACwggACAFhBAAEArCCAAABWEEAAACsIIACAFQQQAMAKAggAYAUBBACwggACAFhBAAEArGi0k5EaY2y3gB8RFuZ89+nQoYPjmuLiYsc1X331leMaSdq3b5/jmo8++shxzfvvv++4JpiJRYOduLN169aOa1wuV1DPhYsXR0AAACsIIACAFY4DaOvWrRoxYoSSkpLkcrm0atWqgPuNMZo9e7bat2+vyMhIpaenB/2dJACA5stxABUXF6tXr15aunRprfcvWrRIzz77rF544QV98sknatWqlTIzM1VaWnrBzQIAmg/HZ5GHDRumYcOG1XqfMUZLlizRb3/7W40cOVKS9PLLLyshIUGrVq3S2LFjL6xbAECzUafngHJzc5Wfn6/09HT/Oo/Ho7S0NG3btq3WmrKy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NyNHjrTSjy0nTpwwksyWLVuMMdW/+/DwcLNixQr/Nl988YWRZLZt22arzXr3/XEwxpgbbrjB/PrXv7bX1Hlo9EdA5eXl2rlzp9LT0/3rQkJClJ6erm3btlnszI79+/crKSlJnTt31p133qm8vDzbLVmVm5ur/Pz8gP3D4/EoLS3totw/Nm/erPj4eHXr1k1TpkzR6dOnbbdUr7xerySpTZs2kqSdO3eqoqIiYH/o3r27Onbs2Kz3h++Pw1mvvPKK4uLi1KNHD82aNUslJSU22junRjcb9vedOnVKVVVVSkhICFifkJCgL7/80lJXdqSlpSknJ0fdunXTsWPHNG/ePA0YMEB79+5VdHS07fasyM/Pl6Ra94+z910shg4dqltvvVUpKSk6ePCgHn30UQ0bNkzbtm1TaGio7fbqnM/n0/Tp09W/f3/16NFDUvX+EBERodjY2IBtm/P+UNs4SNIdd9yhTp06KSkpSXv27NFvfvMb7du3T2+//bbFbgM1+gDCvwwbNsz/c8+ePZWWlqZOnTrpzTff1MSJEy12hsZg7Nix/p+vvPJK9ezZU6mpqdq8ebOGDBlisbP6kZWVpb17914U50F/yLnG4d577/X/fOWVV6p9+/YaMmSIDh48qNTU1IZus1aN/i24uLg4hYaG1riK5fjx40pMTLTUVeMQGxurrl276sCBA7ZbsebsPsD+UVPnzp0VFxfXLPePqVOn6r333tOmTZsCvj8sMTFR5eXlKigoCNi+ue4P5xqH2qSlpUlSo9ofGn0ARUREqHfv3tqwYYN/nc/n04YNG9SvXz+Lndl35swZHTx4UO3bt7fdijUpKSlKTEwM2D8KCwv1ySefXPT7x5EjR3T69OlmtX8YYzR16lStXLlSGzduVEpKSsD9vXv3Vnh4eMD+sG/fPuXl5TWr/eHHxqE2u3fvlqTGtT/YvgrifLz++uvG7XabnJwc8/nnn5t7773XxMbGmvz8fNutNaiZM2eazZs3m9zcXPPRRx+Z9PR0ExcXZ06cOGG7tXpVVFRkdu3aZXbt2mUkmWeeecbs2rXL/POf/zTGGPOf//mfJjY21qxevdrs2bPHjBw50qSkpJhvv/3Wcud164fGoaioyDz44INm27ZtJjc316xfv95cffXV5rLLLjOlpaW2W68zU6ZMMR6Px2zevNkcO3bMv5SUlPi3ue+++0zHjh3Nxo0bzY4dO0y/fv1Mv379LHZd935sHA4cOGDmz59vduzYYXJzc83q1atN586dzcCBAy13HqhJBJAxxjz33HOmY8eOJiIiwvTt29ds377ddksN7vbbbzft27c3ERER5pJLLjG33367OXDggO226t2mTZuMpBrL+PHjjTHVl2I//vjjJiEhwbjdbjNkyBCzb98+u03Xgx8ah5KSEpORkWHatWtnwsPDTadOncykSZOa3R9ptb1+SWb58uX+bb799ltz//33m9atW5uWLVua0aNHm2PHjtlruh782Djk5eWZgQMHmjZt2hi32226dOliHnroIeP1eu02/j18HxAAwIpGfw4IANA8EUAAACsIIACAFQQQAMAKAggAYAUBBACwggACAFhBAAEArCCAAABWEEAAACsIIACAFf8P/mZk5GRY3R0AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "预测概率分布: [[0.08533675 0.08533675 0.2319692 0.0853368 0.08533675 0.08533675\n", + " 0.08533675 0.08533675 0.08533676 0.08533675]]\n", + "预测结果:2\n" + ] + } + ], + "source": [ + "# 测试torch训练的手写数据识别\n", + "import torch\n", + "from PIL import Image\n", + "import torchvision.transforms as transforms\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# 加载模型\n", + "checkpoint = torch.load('./models/mnist_model-torch.pth')\n", + "model = checkpoint['model_definition']()\n", + "model.load_state_dict(checkpoint['model_state_dict'])\n", + "model.eval() # 设置为评估模式\n", + "\n", + "# 图片预处理\n", + "transform = transforms.Compose([\n", + " transforms.Resize((28, 28)),\n", + " transforms.Grayscale(),\n", + " transforms.ToTensor(),\n", + " transforms.Normalize((0.5,), (0.5,))\n", + "])\n", + "\n", + "# 加载并预处理图片\n", + "image_path = './test/2.png'\n", + "image = Image.open(image_path)\n", + "processed_image = transform(image)\n", + "\n", + "# 可视化预处理后的图片\n", + "plt.imshow(processed_image.squeeze(), cmap='gray')\n", + "plt.title('Processed Image')\n", + "plt.show()\n", + "\n", + "# 进行预测\n", + "with torch.no_grad():\n", + " output = model(processed_image.unsqueeze(0))\n", + " probabilities = torch.nn.functional.softmax(output, dim=1)\n", + " predicted_class = torch.argmax(probabilities, dim=1).item()\n", + "\n", + "print(\"预测概率分布:\", probabilities.numpy())\n", + "print(f\"预测结果:{predicted_class}\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/cf/pykndz2n2tl6ff6jl9bcbb480000gn/T/ipykernel_3293/3759706733.py:8: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.\n", + " checkpoint = torch.load('./models/mnist_model-torch.pth')\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9EAAAFTCAYAAAA+14+JAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAN/hJREFUeJzt3Xl0lPW9x/HPZGFIyAIBkxA2AS1U2apApCoihM2KotSiXQSvxWLBurTaYlut2iN1LVqpnmtbqKcoii3iCmWnVcALwg1UWY2yJgglO9lmnvuHl9RIwvNNmGSembxf58w5ZPLJb35Phnwy38zmcxzHEQAAAAAAcBUT7g0AAAAAABApGKIBAAAAADBiiAYAAAAAwIghGgAAAAAAI4ZoAAAAAACMGKIBAAAAADBiiAYAAAAAwIghGgAAAAAAI4ZoAAAAAACMGKIBAAAAADBiiEajzZ8/Xz6fT5s2bQr3VprVs88+q+uuu07du3eXz+fT1KlTw70lAB7XGvpx//79euCBBzR06FB16NBBnTp10ogRI7RixYpwbw2Ax7WGjjxx4oRuvvlm9evXT6mpqUpKStLAgQP11FNPqbq6OtzbQ4jEhXsDgFc98sgjKikp0dChQ3X48OFwbwcAPGHJkiV65JFHNHHiRE2ZMkU1NTV64YUXNHr0aP3pT3/STTfdFO4tAkDYnDhxQv/61790xRVX6Oyzz1ZMTIzee+893Xnnndq4caNefPHFcG8RIcAQDTRg7dq1tfdCJyUlhXs7AOAJl19+ufbt26dOnTrVnjd9+nQNGjRI9913H0M0gFYtLS1NGzZsqHPe9OnTlZqaqmeeeUZPPvmkMjMzw7Q7hAoP50ZITJ06VUlJSdq3b5+uvPJKJSUlqUuXLpo7d64kadu2bRo5cqTatWunHj16nPJXuH//+9/6yU9+ov79+yspKUkpKSkaP368/vd///eUy/r000911VVXqV27dkpPT9edd96pZcuWyefzac2aNXWyGzdu1Lhx45SamqrExERddtllevfdd03H1KNHD/l8vqZ9QwDg/0VbP55//vl1BmhJ8vv9uuKKK3TgwAGVlJQ08jsEoDWLto5syNlnny1JKiwsbPIa8A6GaIRMIBDQ+PHj1a1bNz366KM6++yzNXPmTM2fP1/jxo3T4MGD9cgjjyg5OVk33nij8vLyar/2448/1muvvaYrr7xSTz75pO6++25t27ZNl112mQ4dOlSbKysr08iRI7VixQr96Ec/0s9//nO99957+ulPf3rKflatWqXhw4eruLhY999/vx5++GEVFhZq5MiRev/991vkewIAUuvox/z8fCUmJioxMbFJXw+g9YrGjqyqqtLRo0e1f/9+LV68WI8//rh69Oihc84558y/YQg/B2ikefPmOZKc//mf/6k9b8qUKY4k5+GHH6497/jx405CQoLj8/mchQsX1p6/Y8cOR5Jz//33155XUVHhBAKBOpeTl5fn+P1+58EHH6w974knnnAkOa+99lrteSdOnHD69u3rSHJWr17tOI7jBINB59xzz3XGjh3rBIPB2mx5ebnTs2dPZ/To0Y065nbt2jlTpkxp1NcAaH1aYz86juPs3r3badu2rfO9732v0V8LoPVoTR350ksvOZJqT4MHD3Zyc3NNXwvv455ohNT3v//92n+3b99effr0Ubt27fStb32r9vw+ffqoffv2+vjjj2vP8/v9ion5/L9jIBDQsWPHlJSUpD59+uiDDz6ozS1dulRdunTRVVddVXte27ZtNW3atDr72Lp1q3bv3q1vf/vbOnbsmI4ePaqjR4+qrKxMo0aN0rp16xQMBkN+/ADQkGjtx/Lycl133XVKSEjQb37zG/s3BAC+INo68vLLL9fy5cu1aNEiTZ8+XfHx8SorK2v8NwaexAuLIWTatm2rs846q855qamp6tq16ynPLU5NTdXx48drPw4Gg3rqqaf0+9//Xnl5eQoEArWf69ixY+2/P/30U/Xu3fuU9b780Jjdu3dLkqZMmdLgfouKitShQwfj0QFA00VrPwYCAV1//fX68MMP9c477ygrK8v1awDgy6KxIzMyMpSRkSFJ+uY3v6mHH35Yo0eP1u7du3lhsSjAEI2QiY2NbdT5juPU/vvhhx/WL3/5S/3Xf/2XHnroIaWlpSkmJkZ33HFHk+4xPvk1jz32mAYNGlRvhlfcBtBSorUfp02bpjfffFMLFizQyJEjG70XAJCityO/6Jvf/KZ+/vOfa8mSJfrBD37Q6K+HtzBEwxNeffVVXX755frjH/9Y5/zCwsI6rwLbo0cPffjhh3Icp85fEvfs2VPn63r37i1JSklJUU5OTjPuHACal1f78e6779a8efM0Z84c3XDDDU1eBwDOhFc78stOnDgh6fN7sRH5eE40PCE2NrbOXxUladGiRTp48GCd88aOHauDBw/q9ddfrz2voqJCzz//fJ3chRdeqN69e+vxxx9XaWnpKZf32WefhXD3ANB8vNiPjz32mB5//HHde++9uv322xtzOAAQUl7ryKNHj56yH0n6wx/+IEkaPHjw6Q8IEYF7ouEJV155pR588EHddNNN+vrXv65t27ZpwYIF6tWrV53cD37wAz3zzDO64YYbdPvtt6tz585asGCB2rZtK0m1f1mMiYnRH/7wB40fP17nn3++brrpJnXp0kUHDx7U6tWrlZKSojfeeOO0e3rjjTdq32Owurpaubm5+vWvfy1JuuqqqzRgwIBQfxsA4BRe68fFixfrnnvu0bnnnquvfvWr+stf/lLn86NHj659HiAANDevdeRf/vIXPffcc5o4caJ69eqlkpISLVu2TMuXL9eECRN46kuUYIiGJ9x7770qKyvTiy++qJdfflkXXHCB3nrrLf3sZz+rk0tKStKqVat022236amnnlJSUpJuvPFGff3rX9ekSZNqi1CSRowYofXr1+uhhx7SM888o9LSUmVmZio7O9v0XJS//vWv+vOf/1z78ZYtW7RlyxZJUteuXRmiAbQIr/XjyT8u7t69W9/73vdO+fzq1asZogG0GK915CWXXKL33ntPL730kgoKChQXF6c+ffroySef1G233dYs3wO0PJ9T3+MNgAgzZ84c3XnnnTpw4IC6dOkS7u0AgGfQjwDQMDoSTcEQjYhz4sQJJSQk1H5cUVGhr33tawoEAtq1a1cYdwYA4UU/AkDD6EiECg/nRsS59tpr1b17dw0aNEhFRUX6y1/+oh07dmjBggXh3hoAhBX9CAANoyMRKgzRiDhjx47VH/7wBy1YsECBQEDnnXeeFi5cqMmTJ4d7awAQVvQjADSMjkSo8HBuAAAAAACMeJ9oAAAAAACMGKIBAAAAADDy3HOig8GgDh06pOTk5No3PQeAxnAcRyUlJcrKylJMTHT9rZCOBHAm6EcAqF9j+tFzQ/ShQ4fUrVu3cG8DQBTYv3+/unbtGu5thBQdCSAU6EcAqJ+lH5ttiJ47d64ee+wx5efna+DAgfrd736noUOHun5dcnJyc20JQCvj1T5paj9K/zmmNm3auN7TEggEznivACJLfHz8aT/vOI4qKiroR/oRaHVC2Y/NMkS//PLLuuuu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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "图片 ./test/0.png 的预测结果:0\n", + "概率分布:[0.23196927 0.08533674 0.08533675 0.08533674 0.08533674 0.08533674\n", + " 0.08533674 0.08533675 0.08533674 0.08533674]\n", + "----------------------------------------\n", + "图片 ./test/2.png 的预测结果:2\n", + "概率分布:[0.08533675 0.08533675 0.2319692 0.0853368 0.08533675 0.08533675\n", + " 0.08533675 0.08533675 0.08533676 0.08533675]\n", + "----------------------------------------\n", + "图片 ./test/3.png 的预测结果:3\n", + "概率分布:[0.08533674 0.08533674 0.08533674 0.23196931 0.08533674 0.08533674\n", + " 0.08533674 0.08533674 0.08533674 0.08533674]\n", + "----------------------------------------\n" + ] + } + ], + "source": [ + "# 多图片同时预测\n", + "import torch\n", + "from PIL import Image\n", + "import torchvision.transforms as transforms\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# 加载模型\n", + "checkpoint = torch.load('./models/mnist_model-torch.pth')\n", + "model = checkpoint['model_definition']()\n", + "model.load_state_dict(checkpoint['model_state_dict'])\n", + "model.eval() # 设置为评估模式\n", + "\n", + "# 图片预处理\n", + "transform = transforms.Compose([\n", + " transforms.Resize((28, 28)),\n", + " transforms.Grayscale(),\n", + " transforms.ToTensor(),\n", + " transforms.Normalize((0.5,), (0.5,))\n", + "])\n", + "\n", + "# 加载并预处理多个图片\n", + "image_paths = ['./test/0.png', './test/2.png', './test/3.png'] # 添加更多图片路径\n", + "images = [Image.open(path) for path in image_paths]\n", + "processed_images = torch.stack([transform(img) for img in images]) # 将多个图片堆叠成一个批次\n", + "\n", + "# 可视化预处理后的图片\n", + "fig, axes = plt.subplots(1, len(images), figsize=(12, 4))\n", + "for i, img in enumerate(processed_images):\n", + " axes[i].imshow(img.squeeze(), cmap='gray')\n", + " axes[i].set_title(f'Image {i+1}')\n", + "plt.show()\n", + "\n", + "# 进行预测\n", + "with torch.no_grad():\n", + " outputs = model(processed_images) # 直接传入批次数据\n", + " probabilities = torch.nn.functional.softmax(outputs, dim=1)\n", + " predicted_classes = torch.argmax(probabilities, dim=1).numpy()\n", + "\n", + "# 打印预测结果\n", + "for i, (path, pred, prob) in enumerate(zip(image_paths, predicted_classes, probabilities)):\n", + " print(f\"图片 {path} 的预测结果:{pred}\")\n", + " print(f\"概率分布:{prob.numpy()}\")\n", + " print(\"-\" * 40)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "ail", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.16" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/lab/8_cnn-yolo.ipynb b/lab/8_cnn-yolo.ipynb deleted file mode 100644 index 1198702..0000000 --- a/lab/8_cnn-yolo.ipynb +++ /dev/null @@ -1,180 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 全链接层实现手写数字识别,tensorflow版本" - ] - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2025-03-13T12:25:56.129548Z", - "start_time": "2025-03-13T12:25:13.734410Z" - } - }, - "cell_type": "code", - "source": [ - "import tensorflow as tf\n", - "import tensorflow.keras as keras\n", - "from keras import layers\n", - "import matplotlib.pyplot as plt\n", - "\n", - "print(\"可用设备:\", tf.config.list_physical_devices())\n", - "\n", - "# 加载mnist数据集\n", - "(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()\n", - "\n", - "\n", - "# 处理x数据,mnist数据集为灰度图片,范围为0-255,直接除以255,等同归一化\n", - "x_train = x_train.reshape(-1, 28 * 28).astype('float32') / 255.0\n", - "x_test = x_test.reshape(-1, 28 * 28).astype('float32') / 255.0\n", - "\n", - "# 处理y数据,mnist数据集为0-9的数字,需要将其转换为one-hot编码\n", - "y_train = keras.utils.to_categorical(y_train,10)\n", - "y_test = keras.utils.to_categorical(y_test,10)\n", - "\n", - "# 构建神经网络\n", - "model = keras.Sequential(\n", - " [\n", - " layers.Dense(256, activation='relu',input_shape=(28*28,)),\n", - " layers.Dropout(0.2),\n", - " layers.Dense(128, activation='tanh'),\n", - " layers.Dropout(0.2),\n", - " layers.Dense(10, activation='softmax')\n", - " ]\n", - ")\n", - "\n", - "# 编译模型 自适应矩估计\n", - "model.compile(optimizer='adam',\n", - " loss='categorical_crossentropy',\n", - " metrics=['accuracy'])\n", - "\n", - "# 训练模型,验证集比例为0.2(帮助adam判断是否需要调整参数),训练10轮\n", - "history = model.fit(x_train, y_train,\n", - " batch_size=128,\n", - " epochs=10,\n", - " validation_split=0.2)\n", - "\n", - "test_loss,test_acc = model.evaluate(x_test, y_test)\n", - "print(f'accuracy: {test_acc:.4f}')\n", - "\n", - "#plt绘制\n", - "plt.figure(figsize=(12, 4))\n", - "\n", - "plt.subplot(1, 2, 1)\n", - "plt.plot(history.history['accuracy'], label='train accuracy')\n", - "plt.plot(history.history['val_accuracy'], label='verify accuracy')\n", - "plt.title('accuracy')\n", - "plt.xlabel('Epoch')\n", - "plt.ylabel('Accuracy')\n", - "plt.legend()\n", - "\n", - "plt.subplot(1, 2, 2)\n", - "plt.plot(history.history['loss'], label='train loss')\n", - "plt.plot(history.history['val_loss'], label='val loss')\n", - "plt.title('loss')\n", - "plt.xlabel('Epoch')\n", - "plt.ylabel('Loss')\n", - "plt.legend()\n", - "\n", - "plt.show()\n" - ], - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "可用设备: [PhysicalDevice(name='/physical_device:CPU:0', device_type='CPU'), PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2025-03-13 20:25:16.980648: I metal_plugin/src/device/metal_device.cc:1154] Metal device set to: Apple M1\n", - "2025-03-13 20:25:16.980672: I metal_plugin/src/device/metal_device.cc:296] systemMemory: 16.00 GB\n", - "2025-03-13 20:25:16.980678: I metal_plugin/src/device/metal_device.cc:313] maxCacheSize: 5.33 GB\n", - "2025-03-13 20:25:16.980707: I tensorflow/core/common_runtime/pluggable_device/pluggable_device_factory.cc:306] Could not identify NUMA node of platform GPU ID 0, defaulting to 0. Your kernel may not have been built with NUMA support.\n", - "2025-03-13 20:25:16.980720: I tensorflow/core/common_runtime/pluggable_device/pluggable_device_factory.cc:272] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 0 MB memory) -> physical PluggableDevice (device: 0, name: METAL, pci bus id: )\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 1/10\n", - " 1/375 [..............................] - ETA: 2:01 - loss: 2.5041 - accuracy: 0.0781" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2025-03-13 20:25:17.405072: I tensorflow/core/grappler/optimizers/custom_graph_optimizer_registry.cc:117] Plugin optimizer for device_type GPU is enabled.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "375/375 [==============================] - 4s 10ms/step - loss: 0.4040 - accuracy: 0.8809 - val_loss: 0.2186 - val_accuracy: 0.9390\n", - "Epoch 2/10\n", - "375/375 [==============================] - 4s 10ms/step - loss: 0.2349 - accuracy: 0.9305 - val_loss: 0.1701 - val_accuracy: 0.9523\n", - "Epoch 3/10\n", - "375/375 [==============================] - 4s 10ms/step - loss: 0.1969 - accuracy: 0.9406 - val_loss: 0.1525 - val_accuracy: 0.9564\n", - "Epoch 4/10\n", - "375/375 [==============================] - 4s 9ms/step - loss: 0.1752 - accuracy: 0.9477 - val_loss: 0.1370 - val_accuracy: 0.9603\n", - "Epoch 5/10\n", - "375/375 [==============================] - 4s 10ms/step - loss: 0.1613 - accuracy: 0.9511 - val_loss: 0.1249 - val_accuracy: 0.9630\n", - "Epoch 6/10\n", - "375/375 [==============================] - 4s 10ms/step - loss: 0.1515 - accuracy: 0.9528 - val_loss: 0.1211 - val_accuracy: 0.9632\n", - "Epoch 7/10\n", - "375/375 [==============================] - 4s 10ms/step - loss: 0.1446 - accuracy: 0.9572 - val_loss: 0.1175 - val_accuracy: 0.9650\n", - "Epoch 8/10\n", - "375/375 [==============================] - 4s 9ms/step - loss: 0.1378 - accuracy: 0.9576 - val_loss: 0.1124 - val_accuracy: 0.9662\n", - "Epoch 9/10\n", - "375/375 [==============================] - 4s 9ms/step - loss: 0.1370 - accuracy: 0.9572 - val_loss: 0.1138 - val_accuracy: 0.9661\n", - "Epoch 10/10\n", - "375/375 [==============================] - 4s 9ms/step - loss: 0.1326 - accuracy: 0.9581 - val_loss: 0.1097 - val_accuracy: 0.9673\n", - "313/313 [==============================] - 2s 7ms/step - loss: 0.1012 - accuracy: 0.9698\n", - "accuracy: 0.9698\n" - ] - }, - { - "data": { - "text/plain": [ - "
" - ], - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA/IAAAGJCAYAAAApGAgTAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAqFNJREFUeJzs3XlYlPX+xvH3zLDvOwjiArgvuJtbK6aVpWZlHk+adeqXaafitGiLlS2WmZlW2qmstM3Ksk6WpZQlamqaqbmCC4oCggICss78/hgdJVcUeFju13XN5fBs85nRerjnu5lsNpsNEREREREREakVzEYXICIiIiIiIiLnT0FeREREREREpBZRkBcRERERERGpRRTkRURERERERGoRBXkRERERERGRWkRBXkRERERERKQWUZAXERERERERqUUU5EVERERERERqEQV5ERERERERkVpEQV5ERERERHj//fcxmUzs3r3b6FJE5BwU5EVERERERERqEQV5ERERERERkVpEQV5EDJWfn290CSIiIiIitYqCvEgds2fPHu69915atGiBu7s7gYGB3Hzzzacd75adnc2DDz5IkyZNcHV1pWHDhowYMYLMzEzHMYWFhTz99NM0b94cNzc3GjRowI033khycjIAS5cuxWQysXTp0nLX3r17NyaTiffff9+x7fbbb8fLy4vk5GSuvfZavL29GT58OADLli3j5ptvplGjRri6uhIZGcmDDz7I0aNHT6l769at3HLLLQQHB+Pu7k6LFi14/PHHAfj5558xmUx89dVXp5z38ccfYzKZWLlyZUU/VhERkXrpzTffpE2bNri6uhIeHs6YMWPIzs4ud8yOHTsYMmQIYWFhuLm50bBhQ2699VZycnIcxyxevJjevXvj5+eHl5cXLVq04LHHHqvmdyNSdzgZXYCIVK41a9awYsUKbr31Vho2bMju3buZOXMml19+OZs3b8bDwwOAvLw8+vTpw5YtW7jjjjvo1KkTmZmZfPPNN+zbt4+goCDKysoYMGAACQkJ3Hrrrdx///0cOXKExYsXs2nTJqKjoytcX2lpKf369aN3795MmTLFUc/nn39OQUEBo0ePJjAwkNWrVzNjxgz27dvH559/7jh/w4YN9OnTB2dnZ+6++26aNGlCcnIy//vf/3j++ee5/PLLiYyM5KOPPmLw4MHlXvujjz4iOjqaHj16XMQnLCIiUj88/fTTPPPMM8TFxTF69Gi2bdvGzJkzWbNmDcuXL8fZ2Zni4mL69etHUVER9913H2FhYaSmpvLtt9+SnZ2Nr68vf/31FwMGDKB9+/ZMnDgRV1dXkpKSWL58udFvUaT2solInVJQUHDKtpUrV9oA25w5cxzbJkyYYANsX3755SnHW61Wm81ms82ePdsG2KZOnXrGY37++WcbYPv555/L7d+1a5cNsL333nuObSNHjrQBtnHjxp1X3ZMmTbKZTCbbnj17HNsuvfRSm7e3d7ltJ9djs9ls48ePt7m6utqys7Md2zIyMmxOTk62p5566pTXEREREZvtvffeswG2Xbt22TIyMmwuLi62q6++2lZWVuY45vXXX7cBttmzZ9tsNpvtjz/+sAG2zz///IzXffXVV22A7eDBg1X+HkTqC3WtF6lj3N3dHc9LSkrIysoiJiYGPz8/1q1b59g3f/58YmNjT2m1BjCZTI5jgoKCuO+++854zIUYPXr0WevOz88nMzOTnj17YrPZ+OOPPwA4ePAgv/76K3fccQeNGjU6Yz0jRoygqKiIL774wrFt3rx5lJaW8s9//vOC6xYREakvlixZQnFxMQ888ABm84nIcNddd+Hj48PChQsB8PX1BeCHH36goKDgtNfy8/MD4Ouvv8ZqtVZt4SL1hIK8SB1z9OhRJkyYQGRkJK6urgQFBREcHEx2dna5sWrJycm0bdv2rNdKTk6mRYsWODlV3igcJycnGjZseMr2lJQUbr/9dgICAvDy8iI4OJjLLrsMwFH3zp07Ac5Zd8uWLenatSsfffSRY9tHH33EJZdcQkxMTGW9FRERkTprz549ALRo0aLcdhcXF6Kiohz7mzZtSnx8PO+88w5BQUH069ePN954o9zvHEOHDqVXr17861//IjQ0lFtvvZXPPvtMoV7kIijIi9Qx9913H88//zy33HILn332GT/++COLFy8mMDCwSm6YZ2qZLysrO+12V1fXct/sHz+2b9++LFy4kEcffZQFCxawePFix0R5F1L3iBEj+OWXX9i3bx/Jycn89ttvao0XERGpAq+88gobNmzgscce4+jRo/z73/+mTZs27Nu3D7D3uvv1119ZsmQJt912Gxs2bGDo0KH07dv3jL8viMjZKciL1DFffPEFI0eO5JVXXuGmm26ib9++9O7d+5QZZqOjo9m0adNZrxUdHc22bdsoKSk54zH+/v4Ap1z/+Df152Pjxo1s376dV155hUcffZSBAwcSFxdHeHh4ueOioqIAzlk3wK233orFYuGTTz7ho48+wtnZmaFDh553TSIiIvVZ48aNAdi2bVu57cXFxezatcux/7h27drxxBNP8Ouvv7Js2TJSU1OZNWuWY7/ZbOaqq65i6tSpbN68meeff56ffvqJn3/+uerfjEgdpCAvUsdYLBZsNlu5bTNmzDjlG+8hQ4bw559/nnaZtuPnDxkyhMzMTF5//fUzHtO4cWMsFgu//vpruf1vvvlmhWo++ZrHn7/22mvljgsODubSSy9l9uzZpKSknLae44KCgrjmmmv48MMP+eijj+jfvz9BQUHnXZOIiEh9FhcXh4uLC9OnTy93j3333XfJycnhuuuuAyA3N5fS0tJy57Zr1w6z2UxRUREAhw4dOuX6HTp0AHAcIyIVo+XnROqYAQMGMHfuXHx9fWndujUrV65kyZIlBAYGljvu4Ycf5osvvuDmm2/mjjvuoHPnzhw6dIhvvvmGWbNmERsby4gRI5gzZw7x8fGsXr2aPn36kJ+fz5IlS7j33nsZOHAgvr6+3HzzzcyYMQOTyUR0dDTffvstGRkZ511zy5YtiY6O5qGHHiI1NRUfHx/mz5/P4cOHTzl2+vTp9O7dm06dOnH33XfTtGlTdu/ezcKFC1m/fn25Y0eMGMFNN90EwLPPPlvxD1NERKSeCg4OZvz48TzzzDP079+fG264gW3btvHmm2/StWtXx3C1n376ibFjx3LzzTfTvHlzSktLmTt3LhaLhSFDhgAwceJEfv31V6677joaN25MRkYGb775Jg0bNqR3795Gvk2RWktBXqSOee2117BYLHz00UcUFhbSq1cvlixZQr9+/cod5+XlxbJly3jqqaf46quv+OCDDwgJCeGqq65yTEZnsVj47rvveP755/n444+ZP38+gYGB9O7dm3bt2jmuNWPGDEpKSpg1axaurq7ccsstvPzyy+eclO44Z2dn/ve///Hvf/+bSZMm4ebmxuDBgxk7diyxsbHljo2NjeW3337jySefZObMmRQWFtK4cWNuueWWU657/fXX4+/vj9Vq5YYbbqjoRykiIlKvPf300wQHB/P666/z4IMPEhAQwN13380LL7yAs7MzYL8v9+vXj//973+kpqbi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ERGRanTBQb6kpITPPvuMG264gf/85z906dKFd955hyFDhvDYY48xfPjwyqxTqllmXhEjZq/ijZ+TAbi9ZxPm3d2DcD93gysTERERABcnM92jAgBI3KHu9SIi9UmFZ61ft24d7733Hp988glms5kRI0bw6quv0rJlS8cxgwcPpmvXrpVaqFSftXsOM+ajdaTlFuLubOHFIe0Y2CHC6LJERETkb3rHBLF020GWJ2Xyrz5RRpcjIiLVpMJBvmvXrvTt25eZM2cyaNAgnJ1PneysadOm3HrrrZVSoFQfm83GByt289zCLZRabUQFezLrn51pHuptdGkiIiJyGsfHya/adYjiUisuThfc2VJERGqRCgf5nTt30rhx47Me4+npyXvvvXfBRYkxJnz9F3N/2wPAte3CmHxTLF6uFf4nIiIiItWkRag3gZ4uZOUXs35vNt2aBhhdkoiIVIMKf22bkZHBqlWrTtm+atUqfv/990opSqrfwSNFjhD/5IDWvPGPTgrxIiIiNZzZbKKnlqETEal3Khzkx4wZw969e0/ZnpqaypgxYyqlKKl+K5LtN//WDXy4s3dTTCYtLSciIlIb9I4JBGC5gryISL1R4SC/efNmOnXqdMr2jh07snnz5kopSqrf8Zt/Hy0tJyIiUqscHye/fm82RwpLDK5GRESqQ4WDvKurK+np6adsP3DgAE5O6opdG9lsNseyNcd/GRAREZHaoaG/B00CPSiz2li185DR5YiISDWocJC/+uqrGT9+PDk5OY5t2dnZPPbYY/Tt27dSi5PqsSszn/05hbhYzHRtoklyREREapteGicvIlKvVDjIT5kyhb1799K4cWOuuOIKrrjiCpo2bUpaWhqvvPJKVdQoVex4t/rOjf1xd7EYXI2IiIhUVO9jQV7j5EVE6ocK94WPiIhgw4YNfPTRR/z555+4u7szatQohg0bdto15aXmO/7tfW+NjxcREamVekQHYjLBjow80nMLCfVxM7okERGpQhc0qN3T05O77767smsRA5RZbaxIzgI0Pl5ERKS28vNwoV2ELxv25bA8KZMbOzU0uiQREalCFzw73ebNm0lJSaG4uLjc9htuuOGii5LqszE1hyOFpXi7OdEuwtfockREROQC9YoJYsO+HBIV5EVE6rwKB/mdO3cyePBgNm7ciMlkwmazATjWHS8rK6vcCqVKHR9L1zM6EItZa8eLiMgJe/fuxWQy0bChPRSuXr2ajz/+mNatW6tnXg3UOyaImUuTWZ6Uic1mc/xuJiIidU+FJ7u7//77adq0KRkZGXh4ePDXX3/x66+/0qVLF5YuXVoFJUpVOr7sXG91qxcRkb/5xz/+wc8//wxAWloaffv2ZfXq1Tz++ONMnDjR4Ork7zo39sfVyUx6bhHJB/OMLkdERKpQhYP8ypUrmThxIkFBQZjNZsxmM71792bSpEn8+9//rooapYocLS5j7Z7DAPRuFmxwNSIiUtNs2rSJbt26AfDZZ5/Rtm1bVqxYwUcffcT7779vbHFyCjdni2MZ2eNf1IuISN1U4SBfVlaGt7c3AEFBQezfvx+Axo0bs23btsqtTqrU6t2HKC6zEuHnTpNAD6PLERGRGqakpARXV1cAlixZ4pgHp2XLlhw4cMDI0uQMTqwnn2VwJSIiUpUqHOTbtm3Ln3/+CUD37t2ZPHkyy5cvZ+LEiURFRVV6gVJ1jo+P7xUTqHF0IiJyijZt2jBr1iyWLVvG4sWL6d+/PwD79+8nMDDQ4OrkdI4PlVu1M4vSMqvB1YiISFWpcJB/4oknsFrtN4aJEyeya9cu+vTpw3fffcf06dMrvUCpOse73WnZOREROZ2XXnqJt956i8svv5xhw4YRGxsLwDfffOPoci81S+twH/w8nDlSVMqG1ByjyxERkSpS4Vnr+/Xr53geExPD1q1bOXToEP7+/mrVrUWy8orYfCAXgJ7RCvIiInKqyy+/nMzMTHJzc/H393dsv/vuu/Hw0JCsmshiNtEzOpDvNqaxfEcmnRr5n/skERGpdSrUIl9SUoKTkxObNm0qtz0gIEAhvpZZkWwfO9cyzJtgb1eDqxERkZro6NGjFBUVOUL8nj17mDZtGtu2bSMkJMTg6uRMjn9Bn5ikCe9EROqqCgV5Z2dnGjVqpLXi64Dj4+O17JyIiJzJwIEDmTNnDgDZ2dl0796dV155hUGDBjFz5kyDq5MzOX5vX5dymILiUoOrERGRqlDhMfKPP/44jz32GIcOHaqKeqQa2Gw2lh0fH99MQV5ERE5v3bp19OnTB4AvvviC0NBQ9uzZw5w5czQvTg3WONCDCD93SspsrN6l39dEROqiCo+Rf/3110lKSiI8PJzGjRvj6elZbv+6desqrTipGimHCkjNPoqzxUT3pgFGlyMiIjVUQUGBY8nZH3/8kRtvvBGz2cwll1zCnj17DK5OzsRkMtE7Joh5v+9leVIml7fQMAgRkbqmwkF+0KBBVVCGVKfjrfGdGvnj4VLhfwIiIlJPxMTEsGDBAgYPHswPP/zAgw8+CEBGRgY+Pj4GVydn06uZPchrPXkRkbqpwinuqaeeqoo6pBppfLyIiJyPCRMm8I9//IMHH3yQK6+8kh49egD21vmOHTsaXJ2cTc/oQAC2HMglM6+IIC9NbCsiUpdUeIy81G5lVptjxnqNjxcRkbO56aabSElJ4ffff+eHH35wbL/qqqt49dVXDaxMziXIy5VWDey9Jo7f90VEpO6ocJA3m81YLJYzPqRm+2t/DjlHS/B2daJ9hK/R5YiISA0XFhZGx44d2b9/P/v27QOgW7dutGzZskLXeeONN2jSpAlubm50796d1atXn/HYt99+mz59+uDv74+/vz9xcXGnHH/77bdjMpnKPfr371/xN1iH9Y6xt8ov36Fl6ERE6poKB/mvvvqKL7/80vGYN28e48aNo0GDBvz3v/+tihqlEh1fU/aS6ECcLOqQISIiZ2a1Wpk4cSK+vr40btyYxo0b4+fnx7PPPovVaj3v68ybN4/4+Hieeuop1q1bR2xsLP369SMjI+O0xy9dupRhw4bx888/s3LlSiIjI7n66qtJTU0td1z//v05cOCA4/HJJ59c1Puta3rFnFhP3mazGVyNiIhUpgqPkR84cOAp22666SbatGnDvHnzuPPOOyulMKkaGh8vIiLn6/HHH+fdd9/lxRdfpFevXgAkJiby9NNPU1hYyPPPP39e15k6dSp33XUXo0aNAmDWrFksXLiQ2bNnM27cuFOO/+ijj8r9/M477zB//nwSEhIYMWKEY7urqythYWEX+vbqvG5NA3C2mEjNPsqerAKaBHme+yQREakVKq1J9pJLLiEhIaGyLidVoLCkjDW7DwMnvqUXERE5kw8++IB33nmH0aNH0759e9q3b8+9997L22+/zfvvv39e1yguLmbt2rXExcU5tpnNZuLi4li5cuV5XaOgoICSkhICAsovmbp06VJCQkJo0aIFo0ePJivrzGPBi4qKyM3NLfeo6zxcnOjUyB840SNPRETqhkoJ8kePHmX69OlERERUxuWkivy++zDFpVbCfNyIDta38iIicnaHDh067Vj4li1bcujQofO6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zpxJTk4Ol19+eblla+bNm1fh+mq7493qL4kKwNlS4b9uERERqSOOryevcfIiIrVfhVvkf/31V55++ulTtl9zzTXl1nKviIosSXPZZZexefPms17PZrNdUB110XKNjxcRERGge1QAFrOJ3VkF7D1UQGSAh9EliYjIBapwE21eXh4uLqdOkOLs7Fwn11+vzQpLyli96xBw4lt4ERERqZ+83ZzpGOkHwH8+/5PD+cXGFiQiIheswkG+Xbt2p+2i/umnn9K6detKKUoqx7o9hykqtRLi7UpMiJfR5YiIiIjBHr2mJd6uTqzedYjBby4n+WCe0SWJiMgFqHDX+ieffJIbb7yR5ORkrrzySgASEhL4+OOP+eKLLyq9QLlwx8fH944JwmQyGVyNiIiIGK1rkwDm39uTO95fw+6sAga/sZxZt3WmZ7R67omI1CYVbpG//vrrWbBgAUlJSdx777385z//ITU1lZ9++omYmJiqqFEukMbHi4iIyN81D/VmwZhedGrkR25hKSPeXc28NSlGlyUiIhVwQdOYX3fddSxfvpz8/Hx27tzJLbfcwkMPPURsbGxl1ycXKKeghA2pOYCCvIiIiJQX5OXKx3ddwg2x4ZRabTw6fyOTvtuC1aoJg0VEaoMLXo/s119/ZeTIkYSHh/PKK69w5ZVX8ttvv1VmbXIRVu7MxGaDZiFehPm6GV2OiIiI1DBuzhZeu7UD91/VDIC3ft3JPR+upaC41ODKRETkXCoU5NPS0njxxRdp1qwZN998Mz4+PhQVFbFgwQJefPFFunbtWlV1SgUt26Fu9SIiInJ2JpOJB/s257VbO+DiZObHzenc8tZK0nIKjS5NRETO4ryD/PXXX0+LFi3YsGED06ZNY//+/cyYMaMqa5OLsPykie5EREREzmZghwg+uas7gZ4ubErNZeAbiWw6NkRPRERqnvMO8t9//z133nknzzzzDNdddx0Wi6Uq65KLsPdQAbuzCrCYTXSPCjC6HBEREakFOjcOYMGYXjQL8SI9t4ibZ63kx7/SjC5LRERO47yDfGJiIkeOHKFz5850796d119/nczMzKqsTS7QimT730uHSD+83ZwNrkZERERqi8gAD+bf25M+zYI4WlLG/324lv/+mozNpknwRERqkvMO8pdccglvv/02Bw4c4P/+7//49NNPCQ8Px2q1snjxYo4cOVKVdUoF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JpPpqo6VmZlJ48aNOXz4MMHBwS6KUHRfXU/3tHLovrpeTb2nhmGQlZVFw4YNnZZmlSvjyrYeau7fZWXSPXU93dPKofvqejX1nl5OW6+h9aUwm800atTIpccMDg6uUX+EVUX31fV0TyuH7qvr1cR7GhIS4u4Qqo3KaOuhZv5dVjbdU9fTPa0cuq+uVxPvaUXbev2kLyIiIiIiIuJBlMiLiIiIiIiIeBAl8pXM19eXWbNmae1aF9N9dT3d08qh++p6uqdyLdLfpevpnrqe7mnl0H11Pd3TS9NkdyIiIiIiIiIeRD3yIiIiIiIiIh5EibyIiIiIiIiIB1EiLyIiIiIiIuJBlMiLiIiIiIiIeBAl8pVs+fLlNGnSBD8/P7p06cKWLVvcHZLHmj9/Pp07dyYoKIiwsDAeeOAB9u7d6+6wqpUFCxZgMpmYOHGiu0PxeEeOHOHRRx+lXr16+Pv707ZtW7777jt3h+XRrFYrM2bMoGnTpvj7+9O8eXPmzJmD5mwVd1Nb71pq7yuf2nvXUFvvemrrK06JfCX661//yqRJk5g1axbbt2+nffv2xMTEkJaW5u7QPNJXX33F2LFj2bx5M5999hkFBQXcdddd5OTkuDu0amHr1q387//+L+3atXN3KB7vzJkzdO/eHW9vbz755BN27drFSy+9RJ06ddwdmkdbuHAhSUlJvPLKK+zevZuFCxeyaNEili1b5u7QpAZTW+96au8rl9p711BbXznU1leclp+rRF26dKFz58688sorANhsNho3bsz48eOJi4tzc3SeLz09nbCwML766it69Ojh7nA8WnZ2Np06dWLFihXMnTuXDh06sGTJEneH5bHi4uJISUlh06ZN7g6lWunXrx/h4eG89tprjm0DBgzA39+fN998042RSU2mtr7yqb13HbX3rqO2vnKora849chXkvz8fLZt20afPn0c28xmM3369OHf//63GyOrPjIyMgCoW7eumyPxfGPHjuXee+91+nuVK7d+/XqioqIYNGgQYWFhdOzYkT/96U/uDsvjdevWjeTkZPbt2wfAjh07+Oabb+jbt6+bI5OaSm191VB77zpq711HbX3lUFtfcV7uDqC6OnnyJFarlfDwcKft4eHh7Nmzx01RVR82m42JEyfSvXt3br75ZneH49Hefvtttm/fztatW90dSrWxf/9+kpKSmDRpEtOmTWPr1q0888wz+Pj4EBsb6+7wPFZcXByZmZm0atUKi8WC1WolISGBoUOHujs0qaHU1lc+tfeuo/betdTWVw619RWnRF480tixY9m5cyfffPONu0PxaIcPH2bChAl89tln+Pn5uTucasNmsxEVFcW8efMA6NixIzt37uTVV19V434V3nnnHdauXcu6deto06YNqampTJw4kYYNG+q+ilRTau9dQ+2966mtrxxq6ytOiXwlCQ0NxWKxcOLECaftJ06c4LrrrnNTVNXDuHHj+Oijj/j6669p1KiRu8PxaNu2bSMtLY1OnTo5tlmtVr7++mteeeUV8vLysFgsbozQMzVo0IDWrVs7bbvpppt477333BRR9TBlyhTi4uIYMmQIAG3btuWXX35h/vz5atzFLdTWVy61966j9t711NZXDrX1Fadn5CuJj48Pt9xyC8nJyY5tNpuN5ORkunbt6sbIPJdhGIwbN47333+fL774gqZNm7o7JI/Xu3dvvv/+e1JTUx0lKiqKoUOHkpqaqkb9CnXv3v2ipZL27dvHDTfc4KaIqofc3FzMZudmy2KxYLPZ3BSR1HRq6yuH2nvXU3vvemrrK4fa+opTj3wlmjRpErGxsURFRREdHc2SJUvIyclh+PDh7g7NI40dO5Z169bxj3/8g6CgII4fPw5ASEgI/v7+bo7OMwUFBV30zGFgYCD16tXTs4hX4dlnn6Vbt27MmzePwYMHs2XLFlauXMnKlSvdHZpH69+/PwkJCURERNCmTRv+85//kJiYyIgRI9wdmtRgautdT+2966m9dz219ZVDbf1lMKRSLVu2zIiIiDB8fHyM6OhoY/Pmze4OyWMBpZbVq1e7O7RqpWfPnsaECRPcHYbH+/DDD42bb77Z8PX1NVq1amWsXLnS3SF5vMzMTGPChAlGRESE4efnZzRr1sz4wx/+YOTl5bk7NKnh1Na7ltr7qqH2/uqprXc9tfUVp3XkRURERERERDyInpEXERERERER8SBK5EVEREREREQ8iBJ5EREREREREQ+iRF5ERERERETEgyiRFxEREREREfEgSuRFREREREREPIgSeREREREREREPokReRERERERExIMokReRa5LJZOKDDz5wdxgiIiJSSdTWi1w5JfIicpFhw4ZhMpkuKnfffbe7QxMREREXUFsv4tm83B2AiFyb7r77blavXu20zdfX103RiIiIiKuprRfxXOqRF5FS+fr6ct111zmVOnXqAPahcElJSfTt2xd/f3+aNWvGu+++6/T977//njvuuAN/f3/q1avHk08+SXZ2tlOdVatW0aZNG3x9fWnQoAHjxo1z2n/y5EkefPBBAgICaNGiBevXr6/cixYREalB1NaLeC4l8iJyRWbMmMGAAQPYsWMHQ4cOZciQIezevRuAnJwcYmJiqFOnDlu3buVvf/sbn3/+uVPjnZSUxNixY3nyySf5/vvvWb9+PZGRkU7nmD17NoMHD+a///0v99xzD0OHDuX06dNVep0iIiI1ldp6kWuYISJygdjYWMNisRiBgYFOJSEhwTAMwwCM0aNHO32nS5cuxtNPP20YhmGsXLnSqFOnjpGdne3Yv2HDBsNsNhvHjx83DMMwGjZsaPzhD38oMwbAmD59uuNzdna2ARiffPKJy65TRESkplJbL+LZ9Iy8iJSqV69eJCUlOW2rW7eu433Xrl2d9nXt2pXU1FQAdu/eTfv27QkMDHTs7969Ozabjb1792IymTh69Ci9e/cuN4Z27do53gcGBhIcHExaWtqVXpKIiIiUoLZexHMpkReRUgUGBl40/M1V/P39K1TP29vb6bPJZMJms1VGSCIiIjWO2noRz6Vn5EXkimzevPmizzfddBMAN910Ezt27CAnJ8exPyUlBbPZTMuWLQkKCqJJkyYkJydXacwiIiJScWrrRa5d6pEXkVLl5eVx/Phxp21eXl6EhoYC8Le//Y2oqChuvfVW1q5dy5YtW3jttdcAGDp0KLNmzSI2Npb4+HjS09MZP348jz32GOHh4QDEx8czevRowsLC6Nu3L1lZWaSkpDB+/PiqvVAREZEaSm29iOdSIi8ipfr0009p0KCB07aWLVuyZ88ewD7L7Ntvv82YMWNo0KABb731Fq1btwYgICCAf/7zn0yYMIHOnTsTEBDAgAEDSExMdBwrNjaWc+fOsXjxYiZPnkxoaCgDBw6sugsUERGp4dTWi3guk2EYhruDEBHPYjKZeP/993nggQfcHYqIiIhUArX1Itc2PSMvIiIiIiIi4kGUyIuIiIiIiIh4EA2tFxEREREREfEg6pEXERERERER8SBK5EVEREREREQ8iBJ5EREREREREQ+iRF5ERERERETEgyiRFxEREREREfEgSuRFREREREREPIgSeREREREREREPokReRERERERExIP8P528Fh9fpISOAAAAAElFTkSuQmCC" - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "execution_count": 1 - } - ], - "metadata": { - "kernelspec": { - "display_name": "ail", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.16" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/lab/test/0.png b/lab/test/0.png new file mode 100644 index 0000000000000000000000000000000000000000..975879f93a7cddcfcc341b3137b50f0674b34ba1 GIT binary patch literal 28239 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 g+??qpcLp;im8481RJOU=)FmclH>R>> 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 u;NOg<^UiXXSQy8zH