"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"ExecuteTime": {
"end_time": "2020-09-27T04:24:31.563865Z",
"start_time": "2020-09-27T04:24:31.246587Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"\n",
""
],
"text/plain": [
""
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# code for loading the format for the notebook\n",
"import os\n",
"\n",
"# path : store the current path to convert back to it later\n",
"path = os.getcwd()\n",
"os.chdir(os.path.join('..', '..', 'notebook_format'))\n",
"\n",
"from formats import load_style\n",
"load_style(css_style='custom2.css', plot_style=False)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"ExecuteTime": {
"end_time": "2020-09-27T04:24:32.787515Z",
"start_time": "2020-09-27T04:24:31.567387Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Ethen 2020-09-26 21:24:32 \n",
"\n",
"CPython 3.6.4\n",
"IPython 7.15.0\n",
"\n",
"torch 1.6.0\n",
"numpy 1.18.5\n",
"matplotlib 3.1.0\n"
]
}
],
"source": [
"os.chdir(path)\n",
"\n",
"# 1. magic for inline plot\n",
"# 2. magic to print version\n",
"# 3. magic so that the notebook will reload external python modules\n",
"# 4. magic to enable retina (high resolution) plots\n",
"# https://gist.github.com/minrk/3301035\n",
"%matplotlib inline\n",
"%load_ext watermark\n",
"%load_ext autoreload\n",
"%autoreload 2\n",
"%config InlineBackend.figure_format='retina'\n",
"\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import torch\n",
"import torch.nn as nn\n",
"import torch.optim as optim\n",
"import torch.nn.functional as F\n",
"\n",
"%watermark -a 'Ethen' -d -t -v -p torch,numpy,matplotlib"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Pytorch Introduction"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"```bash\n",
"# installation on a mac\n",
"# for more information on installation refer to\n",
"# the following link:\n",
"# http://pytorch.org/\n",
"conda install pytorch torchvision -c pytorch \n",
"```\n",
"\n",
"At its core, PyTorch provides two main features:\n",
"\n",
"- An n-dimensional Tensor, similar to numpy array but can run on GPUs. PyTorch provides many functions for operating on these Tensors, thus it can be used as a general purpose scientific computing tool.\n",
"- Automatic differentiation for building and training neural networks.\n",
"\n",
"Let's dive in by looking at some examples:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Linear Regression"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"ExecuteTime": {
"end_time": "2020-09-27T04:24:32.827980Z",
"start_time": "2020-09-27T04:24:32.792161Z"
}
},
"outputs": [],
"source": [
"# make up some trainig data and specify the type to be float, i.e. np.float32\n",
"# We DO not recommend double, i.e. np.float64, especially on the GPU. GPUs have bad\n",
"# double precision performance since they are optimized for float32\n",
"X_train = np.asarray([3.3, 4.4, 5.5, 6.71, 6.93, 4.168, 9.779, 6.182, 7.59, \n",
" 2.167, 7.042, 10.791, 5.313, 7.997, 5.654, 9.27, 3.1], dtype = np.float32)\n",
"X_train = X_train.reshape(-1, 1)\n",
"y_train = np.asarray([1.7, 2.76, 2.09, 3.19, 1.694, 1.573, 3.366, 2.596, 2.53, \n",
" 1.221, 2.827, 3.465, 1.65, 2.904, 2.42, 2.94, 1.3], dtype = np.float32)\n",
"y_train = y_train.reshape(-1, 1)\n",
"\n",
"# Convert numpy array to Pytorch Tensors\n",
"X = torch.FloatTensor(X_train)\n",
"y = torch.FloatTensor(y_train)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here we start defining the linear regression model, recall that in linear regression, we are optimizing for the squared loss.\n",
"\n",
"\\begin{align}\n",
"L = \\frac{1}{2}(y-(Xw + b))^2\n",
"\\end{align}"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"ExecuteTime": {
"end_time": "2020-09-27T04:24:32.869936Z",
"start_time": "2020-09-27T04:24:32.832417Z"
}
},
"outputs": [],
"source": [
"# with linear regression, we apply a linear transformation\n",
"# to the incoming data, i.e. y = Xw + b, here we only have a 1\n",
"# dimensional data, thus the feature size will be 1\n",
"model = nn.Linear(in_features=1, out_features=1)\n",
"\n",
"# although we can write our own loss function, the nn module\n",
"# also contains definitions of popular loss functions; here\n",
"# we use the MSELoss, a.k.a the L2 loss, and size_average parameter\n",
"# simply divides it with the number of examples\n",
"criterion = nn.MSELoss(size_average=True)\n",
"\n",
"# Then we use the optim module to define an Optimizer that will update the weights of\n",
"# the model for us. Here we will use SGD; but it contains many other\n",
"# optimization algorithms. The first argument to the SGD constructor tells the\n",
"# optimizer the parameters that it should update\n",
"learning_rate = 0.01\n",
"optimizer = optim.SGD(model.parameters(), lr=learning_rate)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"ExecuteTime": {
"end_time": "2020-09-27T04:24:32.938585Z",
"start_time": "2020-09-27T04:24:32.874108Z"
}
},
"outputs": [],
"source": [
"# start the optimization process\n",
"n_epochs = 100\n",
"for _ in range(n_epochs):\n",
" # torch accumulates the gradients, thus before running new things\n",
" # use the optimizer object to zero all of the gradients for the\n",
" # variables it will update (which are the learnable weights of the model),\n",
" # think in terms of refreshing the gradients before doing the another round of update\n",
" optimizer.zero_grad()\n",
"\n",
" # forward pass: compute predicted y by passing X to the model\n",
" output = model(X)\n",
"\n",
" # compute the loss function\n",
" loss = criterion(output, y)\n",
"\n",
" # backward pass: compute gradient of the loss with respect to model parameters\n",
" loss.backward()\n",
"\n",
" # call the step function on an Optimizer makes an update to its parameters\n",
" optimizer.step()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"ExecuteTime": {
"end_time": "2020-09-27T04:24:33.670201Z",
"start_time": "2020-09-27T04:24:32.942266Z"
}
},
"outputs": [
{
"data": {
"image/png": "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Wrdu7baGXr16meXLlxd8/cUXXzhdY+zYsYV+L5UqVTIff/yxV+faf5z+z7333lto/5o1a5p169Z59ZmUqp8xAAAgrD2/KNU0/vtnTq+vfzoS7NKKJO/f95uMF3kxRH9NgALJydLw4VJhI3g2mzRsmNS4sX0aeBmTkZGhLVu2SJJatmypyy67rMjnxsbG6rrrrtPKlSt15MgR7dy5U61bt3bZd8iQIdq6dav+9Kc/6c4771T9+vV14MAB5ebmFvl+jz/+uBYuXChJatWqlZ566ildfvnlysjI0IIFC/T2229r4MCBRb6eJ4cOHdLNN98sSZowYYLi4uJUsWJFfffdd0pKStKhQ4f0//7f/1OfPn2U4OLP/dy5c2rXrp1uuukmde7cWfXr15cxRvv27dOCBQs0f/587d27V7fccou2bNmi6Ohon9R9YQ39+/fXjh07JEkJCQl65JFH1KhRI+3fv1+TJ0/W8uXLdfTo0UKvU69ePd1666265ppr1KxZM0VHR2v//v1av369Jk+erJMnT2rQoEFKSUk57+/Aww8/rAEDBui5557TwoULVb9+fS1fvrzQ+zVr1ky33nqrrrrqKjVq1EjlypXTvn37tGrVKk2fPl3p6em69dZbtW3bNtWpU6fkHxYAAEAAZWWf02VjXP+baOf43oouHxngioLAmxQeTi+V9RHquDjPI9MXvtyMqpZ2X331VcGo35133lns8//+978XnP/BBx+c1+Y4GizJvPPOOx6v5WmEOiUlxViWZSSZTp06mZMnTzr1+eijj867X0lGqCWZiy++2Pzyyy9OfXbt2mUqVKhgJJlbbrnF5ffy448/evxeV65caSIiIowk895777nsU9IR6jfffLPge3F3jaFDh573mbkaod67d6/Jzs52e5/9+/ebBg0aGEnm7rvvdtknf9S5cePGhda9Z88ep9kOjn744QdTpUoVI8k899xzhV7vQqXmZwwAAAhLa3Yddjkq/coy9zMXS6uSjFDzDHUoS02V1q4t3jlr1tjPK2Mcn0W96KKLin2+4zmenmvt3r27HnzwwWJfP9+UKVPyf1Gjd999V5UrV3bqM2DAAN16661e3+NCkyZN0sUXX+x0/JJLLtEtt9wiSVrr5u9Jy5YtPV67Z8+euummmyRJn3zySQkrdW3y5MmSpBo1amjSpEku+7z22muqXbu2x+s0adJE5cuXd9vesGFDPfXUU5KkRYsWFfw5eat58+ZOz1U7ateunR544AFJ/vvsAAAA/GHozO80ePoGp+Mr/hqnp3q1CkJFwcOU71Dm7UJjycllbuXvzMzMgvdVqlQp9vmO5+QvCubK3XffXexrO1q1apUk+2JonTp1cttv8ODBWrBgQYnuJUnVqlXTjTfe6La9c+fOmjdvno4eParjx4+revXqHq/3xx9/6Pjx4zp79mzBsfwg+/3335e43gsdOnRI27fbt1y4/fbbVbVqVZf9qlSpojvuuENvvfVWka+dkZGh9PR0ZWVlFYTnSpUqFbTt3btXzZo1K+F38D/Hjh3T0aNHdebMmYL75X/e27dvV05OjsfADwAAEGx/ZJ7VlRNWOR2vVy1a6/7eQ5ER7gcTQhWBOpR5CIZ+OS+IHIOWN6tOO54TExPjtl/79u2Lfe18Z86c0Z49eyTJY5iW7EHXFy655BJFRLifiFKjRo2C95mZmS4D9VdffaU33nhDq1at8vicsj9WrN66dWvB+yuvvNJj36uuuqrQQL1v3z69+uqr+vTTT7Vv3z6PfY8cOVLiQL1161b961//0tKlSwtWoHfFZrPp2LFjPEcNAABKrY827tdT//nB6fiLt7bToKsbBaGi0oFAHco8BEO/nBdEtWrVKnjvKbi443iO47UuFBsbW+xr5zt+/HjB+8KmJxfWXlT5I67uOIZtVwurjRs3Ts8//3yR7nX69OniFVcEjgG+sLBZt25dj+1Lly7VgAEDlJWVVaR7l/T7mTZtmkaMGKFz584F5H4AAAD+YLMZ9fh/q5WW7vxvqG+fTVDdGN8vSluW8Ax1KPN2te4yuMp327ZtC8Lhpk2bin1+SkpKwfsOHTq47RcZGQYrFeZJTk4uCNPNmjXT5MmT9cMPP+j48ePKyckpWIhh9OjRAanH0/PIhTly5IgGDRqkrKwsValSRePGjdPXX3+tw4cP6+zZswXfS7LDYxIleYZ6586dBWG6Tp06+sc//qFNmzYpPT1d2dnZBfebNm2aT+4HAADgDz/9cVLNnl3iFKa7tailtIn9wj5MS4xQh7Y2baS4uOItTBYfX+aen5bs07Q7dOiglJQU7d69Wzt27HC79dWFjh07pi+//FKSfWS4VSv/LKTgOJ36jz/+8Ni3sPZAmDp1qiT7qPw333zjdtS8sO2qSsJxRsDvv//usa+n9v/85z8FMwQWLFignj17uuznq+9l5syZOnfunCIjI7VmzRq3f6f8+dkBAACUxGurftRrq3Y7HZ9+X2f1aOV5ZmA4YYQ61I0ZI3l4hvY8ERFSgEYb/eH+++8veP/aa68V+bx3331XZ86ckSTdd999JRoJ9SQ6OlrNmzeXVPgo+saNG/1SQ3Gk5q32fv3113ucgu7PWtu1a1fw/rvvvvPY11N7/vdSo0YNt2FaKvx7Kerfjfz7tW/f3uMvaErDnzMAAICjs+dy1WTkYpdheuu4RML0BQjUoS4hQZoypfBQHREhTZ1aJqd757v//vsLnqN977339MUXXxR6zq5duzR+/HhJ9ueNH3/8cb/WmJD3+e7YscNjqH7//ff9WkdR5D/7e+rUKbd9Nm/erG+//dZvNdSvX79gpsHHH3/sdsG5U6dOaf78+W6vk/+9nDlzRjabzWWfrKwszZ4922M90dH2aU2Oq5x7up+nz+7QoUNatGiRx+sAAAAE0sa0o7r0uWVOx+/u0khpE/upajQ7klyIQB0Ohg6VVqywT+d2JT7e3j5kSGDr8rHKlStr5syZsixLNptNN998s5Ytc/6BkG/z5s1KSEgoWKTqjTfeUIMGDfxa4/DhwwtGOUeMGOEycP33v//1yZZZJZW/B/W6desKVid39Mcff+iee+7xex0PPfSQJCk9Pd3tLzz+9re/6fDhw26vkf+9ZGVluQzeubm5euCBB3Tw4EGPtdSrV0+SdPjw4fO2anN3v927d2v9+vVO7VlZWRo0aBALkQEAgFLjb/O2aMA7XzsdX/RoV71wSzsXZ0AiUIePhARp9Wpp2zbp9del8ePt/922zX68DI9MO+rdu7cmTZqkiIgIZWZmqk+fPurfv7/ef/99ff3119qwYYM++ugj3X333bryyit14MABSdKzzz6roUOH+r2+Tp06adiwYZLs0307d+6sGTNmaNOmTVq9erUee+wxDRw4UFdddVXBOf6agl6YwYMHS7KPssbHx2vSpElav3691q9fr1dffVXt27fX9u3bdc011/i1joceekhXXHGFJGn69OlKTEzUJ598opSUFC1cuFC9e/fWlClTPG41dscdd6hChQqS7DMZRo4cqeTkZG3cuFGzZs3S1VdfrQ8//FBdu3b1WMu1114ryb7N1YgRI/TNN99oz549Ba98+b9osNls6tevn1588UWtXbtWGzZs0Ntvv60OHTpo9erVhd4PAADA305k5ajJyMX6ePOB845XLB+p3RP66PKGztuq4n9YlCzctGlTJhcdK45HHnlEjRs31p///GelpaVp8eLFWrx4scu+derU0SuvvKJ77703YPVNmjRJBw8e1GeffaadO3dqyAUzA5o2baoPPvhALVq0kPS/acaBNmDAAN1///2aMWOGDh48qMcee+y89sjISP3rX//SsWPH9PXXzr/N9JVy5crps88+U48ePbRr1y6tXLlSK1euPK9PYmKinnjiCfXq1cvlNRo2bKi3335bDzzwgM6cOaOXX35ZL7/88nl9Bg4cqGHDhnl8xrpHjx7q0qWLvvnmG33wwQf64IMPzmvPX6n7yiuv1PPPP6+xY8fq+PHjGjVqlNO1nnjiCbVt21ZfffVVkT4HAAAAX1u69ZAe+neK0/Fn+7bS8LjmQaio7GGEGiGpf//+2rlzp2bNmqUBAwaoWbNmqly5sipWrKhGjRqpb9++mjx5svbs2RPQMC1JUVFRWrRokWbMmKFu3bqpWrVqqlSpklq3bq1nn31WmzZtUs2aNQv6V6tWLaD1OZo+fbpmz56t6667TlWrVlWFChXUuHFj3XPPPVq/fr3fnznPV79+fW3evFkvvPCC2rZtq4oVK6p69erq0qWLJk+erKVLlyoqKsrjNe6//359+eWXuuWWW1S7dm2VL19e9erVU+/evTVv3jzNnTu30G3RIiIitGLFCj333HNq3769qlSp4nYGwZgxY7R48WIlJiYqNjZWUVFRatiwoW677TatWLFCr776qtefBwAAQEkYY3TLW1+5DNNfPn09YboYLPY+9cyyrE0dO3bsWNy9jXfs2CFJRd66CXC0bt06XXfddZKklStXehw1RXjiZwwAAPDGr8ey1O1l58V72zaI0aePdgva44bB1KlTJ6WkpKQYYzoV91ymfAOl0IcffijJPt25U6di/+8aAAAAcDJt3V6N/2y70/E37rpCN7WvH4SKyj4CNRBgR48elWVZio2Nddm+fPlyvfvuu5KkG2+80W0/AAAAoCjO5drUcfxKZZw559S2efQNiq3s+dE5uEegBgJs+/bt6tu3r/7v//5PPXv2VPPmzRUZGalffvlFCxcu1Jw5c5Sbm6vo6Gi9+OKLwS4XAAAAZdi2AyfUf9I6p+P9L6+nNwd1DEJFoYVADQRBZmampk+frunTp7tsr1q1qubNm6dWrVoFuDIAAACEiuc/TdWMr9Kcjs8d3kVdmtV0PgHFRqAGAuyKK67QrFmztGzZMm3ZskV//PGHjh8/rqpVq6pFixbq3bu3Hn30UdWpUyfYpQIAAKAMOnX2nNqMXe6ybef43oou73lnExQdgRoIsMqVK2vw4MEaPHhwsEsBAABAiFnz4x+6d/oGp+OPXt9CT/a6NAgVhTYCNQAAAACEgPtnbNAXu/5wOr7yr3FqWbdqECoKfQRqAAAAACjDDmee0VUTkp2ON6heUV8+fb0iIsJvb+lAIVADAAAAQBk1/7v9evq/Pzgdf+m2drrrqkZBqCi8EKgBAAAAoIyx2Yy6v7pavxzNcmrb8GyC6sREB6Gq8EOgBgAAAIAyZM/hk+r5zzVOx69rWUuzh14dhIrCF4EaAAAAAMqIf638Ua8n73Y6PuO+K3V9K7ZdDTQCNQAAAACUcmfP5erS55a5bNv2fC9VqUC0C4aIYBcAAAAAAHDvu7SjLsP04GsaK21iP8J0EPHJAwAAAEAp9dd5W7Rg8wGn458+2k3tGlYLQkVwRKAGAAAAgFLmRFaO2ietcDpeOSpSW8Ymqnwkk41LAwI1AAAAAJQiS7Ye0sP/TnE6/mzfVhoe1zwIFcEdAjUAAAAAlALGGN0yeb2+33/cqe3Lp6/XxTUqBaEqeEKgBgAAAIAg+/VYlrq9/IXT8XYNqmnRo11lWVYQqkJhmHgP5Fm2bJksy5JlWfrmm2+CXY5f3HnnnbIsS61atfLq/J07dxZ8RnPnznVqf+eddwraf/vtt5KWCwAAEBbe+/Jnl2F60l1X6NM/dyNMl2IEaoSM1atXF4S5orzGjRsX7JIBAAAQxs7l2tRu7HK9sHiHU9vm0Tfoxvb1g1AVioNADRTRyJEjZVmWoqOjC+1b0pFgAAAAhLZtB06oxailyjx77rzjN7Wvr7SJ/RRbOSpIlaE4eIYaIemhhx7Sww8/7LFPnTp1zvu6d+/eMsb4s6yQN2LECI0YMSLYZQAAAJRq4xalaub6NKfj84Z30dXNaga+IHiNQI2QVKdOHbVt2zbYZQAAAAAFTp09pzZjl7ts2zm+t6LLRwa4IpQUgRoAAAAA/Gz1rsO6b8Z3Tsf/3KOFnki8NAgVwRd4hhrI426V7/yVq19++WVJ0tmzZ10ucvbbb78VPGc9b948SdKuXbuc+rl7BvvMmTN666231LNnT1100UWKiopS7dq1df3112vy5MnKzs4u9HvYunWr7rnnHjVo0EDR0dFq1KiR7rnnHm3evNkHn1DhClvlu0uXLrIsS71795Yk7d+/X3/961/VsmVLVaxYUTVq1FDPnj21YMGCIt3vxIkTmjhxorp166batWsrKipKdevWVd++fTVnzhzZbDaffn8AAADeuHf6BpdhetXf4gjTZRwj1EApsGXLFt1yyy3at2/fecePHDmi1atXa/Xq1Zo8ebI+++wzNWnSxOU15syZoyFDhignJ6fg2P79+zVnzhzNnz9f7733nj+/hWJbs2aNbrvtNh09erTg2JkzZ5ScnKzk5GSNGjVKL7zwgtvzV61apTvvvFPp6ennHT98+LCWLl2qpUuXaurUqVqwYIFq1Kjht+8DAADAncOZZ3TVhGSn4w1jK2rtU9crIoLtsMo6RqiBQgwcOFBbt27V0KFDJUlRUVHaunWr06tWrVr661//qq1btxaMwDZt2tSpX0pKynnX37Vrl+Li4rRv3z5VrVpVTz/9tD7++GNt3LhRq1at0hNPPKEKFSooNTVVffv21cmTJ51qXLdune677z7l5OQoOjpazzzzjNauXatvv/1Wr732mqpXr65hw4Zp+/bt/v/AiuCXX37RrbfeqnLlymnixIlat26dvvvuO7355psFi8VNmDBB69atc3n+mjVr1LdvX6Wnp6t27dpKSkrSokWLtGnTJi1ZskQPPPCAIiIitHbtWt1+++3Kzc0N5LcHAACged/94jJMT7ytndb9vQdhOkQwQo2QdPjwYW3bts1te2xsrBo0aFCka8XGxio2Nla1atWSJFmW5XbBs7p166pu3bqqVq2aJHv4LmxxtLvvvluZmZnq0KGDVqxYodq1a5/XnpCQoNtvv109evTQjh079Prrr2vUqFHn9Xn44YeVm5ur8uXLa/ny5YqLiytou+qqq3Trrbfq6quv1tatW4v0Pfvbjh071KxZM3355ZeqX/9/+yt27txZ8fHx6tixo3JycvTWW2+pW7du55175swZ3X333crJyVFiYqI+/vhjVa5c+bw+ffr0UZ8+fTRgwACtXr1ac+fO1Z/+9KeAfG8AACC82WxG8a9+of1HTzu1bXg2QXViCt+CFWUHI9QISW+//bbatWvn9nVhIA2WVatWaePGjZKkWbNmOYXpfNdcc42GDRsmSZo+ffp5bV9++WVBUH7wwQfPC9P5GjVqVPAMeGkxefLk88J0vrZt26pv376S7CPRF5ozZ45+/fVXRUdHa/bs2U5hOt9tt92m/v37S3L+zAAAAPxhz+FMNXt2iVOYjrukttIm9iNMhyBGqEuBJiMXB7uEgEmb2C/YJZQqCxculCRdeumluvzyyz32jYuL06RJk/Tzzz/r8OHDBVOjV61aVdDn/vvvd3v+HXfcoYcfflinTp3yQeUlU7t2bfXq1ctte+fOnbVw4UIdOnRIZ5KrEYUAACAASURBVM6cOW8ht/zPLD4+3mkv8QvFxcXp008/PW+ROQAAAH/454pdeuPzPU7HZ9x/pa6/1PO/WVB2EagRksaOHatx48YFu4xC5Y9O568GXlS//fZbQZjMH52OiopS+/bt3Z4THR2tyy+/XF9//XUJKvaNVq1aeWx3XEQsMzPzvECd/5ktX768yJ9ZVlaWMjIyFBMT40W1AAAA7p3JyVWr0ctctm17vpeqVCByhTKmfANBdPjwYa/Oy8rKKnifv0p2jRo1FBkZ6fG8unXrenU/X6tUqZLH9oiI//1ounBBsSNHjnh1T8fPDAAAwBc27D3qMkwPvqax0ib2I0yHAf6ESwGmQYev/LDYvn17zZkzp8jnNW/e3OlYcUa4yyqbzVawt3SfPn30yiuvFPnc/EXlAAAAfOEvczfrky0HnY5/+mg3tWtYLQgVIRgI1EAQ1apVS/v27dPJkycLXQ3cndjYWElSenq6cnNzPY5S//77717do7SIiIhQbGys0tPTlZ2d7fVnBgAA4K3jWdnqkLTS6XiVCuW0ecwNKh/JJOBwwp82UETFGQEuat8rrrhCkvTTTz/p0KFDXtXVrl07SVJ2dra+//57t/3Onj2rH374wat7lCb5n9l3332n7OzsIFcDAADCyeIfDrkM06P6tta253sRpsMQf+JAEeUvjJWTkyNjTJH6nj171mO/m2++ueD9a6+95lVdPXv2LHg/a9Yst/3mz59fKlb4Lqn8zywjI0PTpk0LcjUAACAcGGN005vr9MgHKU5tXz59vYbFNQtCVSgNCNRAEdWrV0+S/TnevXv3FqnvwYMHdebMGbf9+vXrVzDi+uqrr+rDDz/0eN3du3dr3rx55x2Li4tTmzZtJNn33/7qq6+czvv11181cuRIj9cuK4YOHVqwf/VTTz2lL774wmP/lJQULVmyJBClAQCAELT/aJaaPrNEP/x64rzjlzespr0v9dXFNTwvtorQRqAGiujaa68teP/YY49p3bp12r17t/bs2aM9e/actxp1ft/s7Gw99NBD+vbbbwv6/fzzzwX9LMvSvHnzFBsbK5vNpkGDBqlfv36aPXu2vv32W6WkpGj58uV65ZVXFB8fr0svvVSffvqpU22TJ09WRESEcnJydMMNN+i5557TunXr9N133+mNN95Q586dlZ6eXjA9vCyrWLGi5s+fr6ioKJ06dUo33HCD7rrrLs2fP18bN27Uxo0btXjxYiUlJalz587q1KmT1q9fH+yyAQBAGfTelz/rulecf3n/5qArtOjRbmGxKCw8Y1EyoIjatm2rm266SYsWLdLixYu1ePHi89oPHTqkiy66SJLUu3dvdezYUSkpKZo5c6ZmzpxZ0K9ChQrnjVq3bNlS69ev14ABA5SamqolS5Z4HFF1tZdyXFycpk+frmHDhun06dOaMGGCJkyYUNBevnx5vffee1qyZEnBvtVlWdeuXbV69WoNHDhQ+/fv19y5czV37ly3/dl/GgAAFEdOrk0dnl+hU9m5Tm1bxtyg6pWiglAVSiNGqIFimD9/vl566SV17txZMTExbn8rWa5cOX3++ed65plndPnll6tKlSoef4PZqlUrff/99/rwww81YMAANW7cWBUrVlRUVJTq1q2r6667Tk8//bTWrVunyZMnu7zGvffeq40bN2rQoEGqV6+eoqKi1LBhQ911111av369Bg8e7JPPoLS45pprtHv3bk2ZMkX9+/dXgwYNVKFCBVWoUEENGjRQjx49NHbsWG3ZskVPP/10sMsFAABlxNZfT6jlqKVOYfrmDvWVNrEfYRrnsQpbXCncWZa1qWPHjh03bdpUrPN27NghSWrdurU/ygIQ5vgZAwCA741duE2zvt7ndHz+g9foqqY1glARAqFTp05KSUlJMcZ0Ku65TPkGAAAAENZOnj2ntmOXu2zbOb63ostHBrgilBUEagAAAABh64tdh3X/jO+cjj+W0FJ/u+GSIFSEsoRADQAAACAsDZ6+QWt//MPp+Kq/xatFnSpBqAhlDYEaAAAAQFg5nHFGV72Y7HS8UY1KWv1kd0VEsB0WioZADQAAACBs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\n",
"text/plain": [
"