Skip to content
Permalink
5e3cc5096a
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
executable file 650 lines (650 sloc) 147 KB
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Computational Mechanics Project #02 - Create specifications for a projectile robot\n",
"\n",
"On the first day of class, we threw $2\"\\times~2\"$ dampened paper (spitballs) at a target on the whiteboard. Now, we are going to analyze the accuracy of the class with some cool Python tools and design a robot that has the same accuracy and precision as the class, but we will have the robot move farther away from the target and use a simpler projectile i.e. a tennis ball so we don't need to worry about knuckle-ball physics. \n",
"\n",
"The goal of this project is to determine the precision of necessary components for a robot that can reproduce the class throwing distibution. We have generated pseudo random numbers using `numpy.random`, but the class target practice is an example of truly random distributions. If we repeated the exercise, there is a vanishingly small probability that we would hit the same points on the target, and there are no deterministic models that could take into account all of the factors that affected each hit on the board. \n",
"\n",
"<img src=\"../images/robot_design.png\" style=\"height: 250px;\"/>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now, we ask ourselves some questions:\n",
"\n",
"1. How do we quantify the class accuracy and precision?\n",
"\n",
"2. If we design a robot, what design components can we control?\n",
"\n",
"3. How can we relate the controlled components to the class accuracy, and specify the component precision?\n",
"\n",
"The first question, we have some experience from our work in [02_Seeing_Stats](../notebooks/02_Seeing_Stats.ipynb). We can define the mean, standard deviation, measure the first, second, and third quartiles, etc. \n",
"\n",
"The second question is a physical question. We cannot control the placement of the robot or the target those are chosen for us. We cannot control temperature, mechanical vibrations, etc. We *can* control the desired initial velocity. The initial velocity will have some speed and direction, and both will be subject to random noise. Once the speed and direction are set, the location on the target is determined by kinematic equations for an object in freefall, as such\n",
"\n",
"$x_{impact} = \\frac{v_x}{v_y}d + x(0)~~~~~~~~~~~~~~~~~~~~(1.a)$\n",
"\n",
"$z_{impact} = d\\left(\\frac{v_z(0)}{v_y}-\\frac{g}{2v_y^2}d\\right)+ z(0)~~~~~(1.b)$.\n",
"\n",
"Where the location of impact is at a $y$-distance of $d$ at a point on the target with coordinates $(x_{impact},~z_{impact})$, and the initial velocity is $\\bar{v}=v_x\\hat{i}+v_y\\hat{j}+v_z(0)\\hat{k}$, the object is released at an initial location $\\bar{r}(0)=x(0)\\hat{i}+0\\hat{j}+z(0)\\hat{k}$, and the only acceleration is due to gravity, $\\bar{a}=-g\\hat{k}$. Equation (1) becomes much easier to evaluate if we assume that $v_x=0$, resulting in an evalution of the accuracy of the height of the impact, $z_{impact}$, as such\n",
"\n",
"$x_{impact} = x(0)~~~~~~~~~~~~~~~~~~~~(2.a)$\n",
"\n",
"$z_{impact} = \\frac{d}{\\cos{\\theta}}\\left(\\sin{\\theta}-\\frac{g}{2v_0^2\\cos{\\theta}}d\\right)+ z(0)~~~~~(2.b)$.\n",
"\n",
"Where $\\theta$ is the angle of the initial velocity and $v_0$ is the initial speed. Equation (2) restricts the analysis to height accuracy. You can incorporate the 2D impact analysis if you finish the 1D analysis. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The third question, is how we can relate equation (2) to the measured points of impact? For this, we can use Monte Carlo methods *(There are other methods, but Monte Carlo is one of the most straight-forward)*. Our Monte Carlo approach is as such, if we have a desired initial speed, $v_0$, and desired angle, $\\theta$, we can propagate the uncertainty of our actual speeds and angles into the $z_{impact}$ locations. Then, we can choose distributions in speed and angles that match the distributions in $z_{impact}$ locations. Here are the steps:\n",
"\n",
"1. Generate random $\\theta_i$ and $v_{0~i}$ variables\n",
"\n",
"2. Plug into eqn 2 for random $z_{impact~i}$ locations\n",
"\n",
"3. Compare to our measured $z_{impact}$ location statistics\n",
"\n",
"4. Repeat 1-3 until the predicted uncertainty matches the desired uncertainty, we can use a number of comparison metrics:\n",
" \n",
" - standard deviation\n",
" \n",
" - first, second, and third quartiles\n",
" \n",
" - visually, with box plots and histograms"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Project Deliverables\n",
"\n",
"1. Statistical analysis of class accuracy and precision (x- and z-locations) data is in the csv file [../data/target_data.csv](../data/target_data.csv) _Note: if you want to see how I turned the images into data check out the jupyter notebook [process_target_practice](./process_target_practice.ipynb)\n",
"\n",
"2. A Monte Carlo model to generate impact heights based upon uncertainty in $\\theta_0$ and $v_0$. \n",
"\n",
"3. The precision required to recreate the class accuracy and precision with a robot. \n",
"**You must show some validation of your work**\n",
"\n",
"4. [BONUS] Repeat 2-3 taking into account the variation in $x_{impact}$ due to misalignment. \n",
"\n",
"Given constants and constraints:\n",
"\n",
"- $d=$3 m, distance to target\n",
"\n",
"- $g=$9.81 m/s$^2$, acceleration due to gravity\n",
"\n",
"- $z(0)=$0.3 m, the initial height is 0.3 m above the bull's eye\n",
"\n",
"- 4 m/s$<v_0<$12 m/s, the initial velocity is always higher than 9 mph and less than 27 mph"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"import pandas as pd\n",
"\n",
"#Import rcParams to set font styles\n",
"from matplotlib import rcParams\n",
"\n",
"#Set font style and size \n",
"rcParams['font.family'] = 'sans'\n",
"rcParams['font.size'] = 16\n",
"rcParams['lines.linewidth'] = 3"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [],
"source": [
"data= pd.read_csv(\"../data/target_data.csv\")\n",
"\n",
"data.columns =['throw #', 'x position m','y position m','picture x position pixel','picture y position pixel','target x position pixel','target y position pixel','image #'] "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"scrolled": false
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [],
"source": [
"xposition=data['x position m']\n",
"yposition=data['y position m']"
]
},
{
"cell_type": "code",
"execution_count": 148,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"xmean=np.mean(xposition)\n",
"ymean=np.mean(yposition)\n",
"\n",
"xstd=np.std(xposition)\n",
"ystd=np.std(yposition)\n",
"\n",
"plt.hist(xposition);\n",
"plt.title('x position');\n",
"plt.xlabel('distance from target (m)');\n",
"plt.ylabel('frequency');"
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.hist(yposition);\n",
"plt.title('y position');\n",
"plt.xlabel('distance from target (m)');\n",
"plt.ylabel('frequency');"
]
},
{
"cell_type": "code",
"execution_count": 83,
"metadata": {},
"outputs": [],
"source": [
"def std_percentages(x, x_mean, x_std):\n",
" \n",
" std_1 = x_std\n",
" std_2 = 2 * x_std\n",
" std_3 = 3 * x_std\n",
" \n",
" elem_std_1 = np.logical_and((x_mean - std_1) < x, x < (x_mean + std_1)).sum()\n",
" per_std_1 = elem_std_1 * 100 / len(x) \n",
" \n",
" elem_std_2 = np.logical_and((x_mean - std_2) < x, x < (x_mean + std_2)).sum()\n",
" per_std_2 = elem_std_2 * 100 / len(x) \n",
" \n",
" elem_std_3 = np.logical_and((x_mean - std_3) < x, x < (x_mean + std_3)).sum()\n",
" per_std_3 = elem_std_3 * 100 / len(x) \n",
" \n",
" return per_std_1, per_std_2, per_std_3"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {},
"outputs": [],
"source": [
"xlocation_std1_per, xlocation_std2_per, xlocation_std3_per = std_percentages(xposition, xmean, xstd)\n",
"ylocation_std1_per, ylocation_std2_per, ylocation_std3_per = std_percentages(yposition, ymean, ystd)"
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The percentage of coverage at 1 std of the xmean is : 72.22 %\n",
"The percentage of coverage at 2 std of the xmean is : 96.30 %\n",
"The percentage of coverage at 3 std of the xmean is : 100.00 %\n",
"The percentage of coverage at 1 std of the ymean is : 62.96 %\n",
"The percentage of coverage at 2 std of the ymean is : 96.30 %\n",
"The percentage of coverage at 3 std of the ymean is : 100.00 %\n"
]
}
],
"source": [
"print('The percentage of coverage at 1 std of the xmean is : {:.2f} %'.format(xlocation_std1_per))\n",
"print('The percentage of coverage at 2 std of the xmean is : {:.2f} %'.format(xlocation_std2_per))\n",
"print('The percentage of coverage at 3 std of the xmean is : {:.2f} %'.format(xlocation_std3_per))\n",
"\n",
"print('The percentage of coverage at 1 std of the ymean is : {:.2f} %'.format(ylocation_std1_per))\n",
"print('The percentage of coverage at 2 std of the ymean is : {:.2f} %'.format(ylocation_std2_per))\n",
"print('The percentage of coverage at 3 std of the ymean is : {:.2f} %'.format(ylocation_std3_per))"
]
},
{
"cell_type": "code",
"execution_count": 142,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The percent coverages for a normal distribution are 68%,95%,99.7%\n",
"Comparing our results to those percentages, it seems both the x and y data sets are fairly close to a normal distribution\n"
]
}
],
"source": [
"print('The percent coverages for a normal distribution are 68%,95%,99.7%')\n",
"print('Comparing our results to those percentages, it seems both the x and y data sets are fairly close to a normal distribution')"
]
},
{
"cell_type": "code",
"execution_count": 146,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The percent error in x between our data and the norm is 7.874575452075755 %\n",
"The percent error in y between our data and the norm is -5.741982282129048 %\n"
]
}
],
"source": [
"percenterrorx=(((xlocation_std1_per-68)/68)+((xlocation_std2_per-95)/95)+((xlocation_std3_per-99.7)/99.7))*100\n",
"percenterrory=(((ylocation_std1_per-68)/68)+((ylocation_std2_per-95)/95)+((ylocation_std3_per-99.7)/99.7))*100\n",
"\n",
"print('The percent error in x between our data and the norm is',percenterrorx,'%')\n",
"print('The percent error in y between our data and the norm is',percenterrory,'%')"
]
},
{
"cell_type": "code",
"execution_count": 141,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"This plot shows a linear fit for our data. As the data points are so scattered, this line is not a great fit, but it does show the general trend of the data\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAcQAAAElCAYAAAB6R5I4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOydeXwURfbAvy8hByEEAiEgZwC5RAQUBBUJyIIHeC2wKwiiq4C6KIIHCMghIvLzwgNX8QCFRVgQwRNPQFFQQHRXUFEJIMgpR8IRcr3fH90ZZyYzSU+YSSZJfT+f/sxM9auqV901/bqqXlWJqmIwGAwGQ0UnorQVMBgMBoMhHDAG0WAwGAwGjEE0GAwGgwEwBtFgMBgMBsAYRIPBYDAYAGMQDQaDwWAAyrlBFJFuIqIiMtkrXEVkVeloZSgtRORG+97fWNq6FAcRaSUi74jIfrsc355GWqtEpMLPuRKRufa1TCltXUoaEZlsl72bW5jPZ2ZZx+l9LtcG0WAoL4hIJPAm8BdgGTAFeL6UdTJGlfJrREqCcKtDlUpbgVKiFXCitJUwlDhvAuuAPaWtSDFoArQAXlDVW0tbmXLE/cAjwO7SVsRQ+lRIg6iqP5a2DoaSR1WPAkdLW49icob9ubdUtShnqOoeyuYLkiEEVMguU19jiPlNdxGJEpEpIrJDRE6JyGYRGeAnnQQReUhEfhSRTBH5Q0SWiUhbH7KXiMgcEdkqIsdFJENEvhSRv/uQTbF1mSsibexxo8NOuhbyyyYiDUVkgYgc8O47F5H2IrJYRPbZZfxVRKaLSLyP9OJF5EkR+V1ETorINyLS39d4nFO9RaS7iLxnX69MEdkiImNFpJKXXISIDBeRDXY6x0Vkm4i8LiKtiyHndwxRRG4WkfV23HQR+UxErvYh5xp3EZHrReQ7uwy77LoQWdQ9cksrSkTuEZH/2df2sIisEJGLveS2A6vtn5Ps/B2NhYpIOxH5QESO2ekvEZGGfmTrisiDIvK1XW9OicgvIvKYiFT1klUgNf+72zHZDosWkTtF5CMR2S0iWSKyx66TzQK4Rq57Zte7b+xr9buIPC4iVXzEcXRdbdkCY0teeV4qImtF5IRYY7fPiUicm+xkYKX90/3eqJtMPRGZZV/LkyJy0C7HowFch2oiMlWs51F+mb4WkXt8yDqqy4EiATw3bPm+IvKJretJu/yz8+tfUXXIK51VInLUTmeTiAzzk2dju44fscv+gYic47SMFbKFWAQLgXOBd7GuzwBggYgcUdX384VEJAn4DKv7daUtXxPoC/QUkb+o6lq3dO/D6vb6Cqt7pgZwFbBQRM5Q1Zk+dDkT+ALYCLwE1HdYhpp2vL3APKA6kGXrfa1dxiyssai9dnnHAt1FpKuq5stGAu8BFwMbgFexWiqvAZ8Ukr9fvUVkBPA0cBBYDhwGugDTgfOBv7qlMwO4B/ivnXcW0AC4BOt6bw5Qzici8gwwAtgBvABEA/2BZSJyt6o+4SPaHUBPuwwrse7leKw6M7aw/Ow8BVhix9sCPAMkAn8HVorIAFVdbIvPBNoBQ7AM4yo7vFCnGvtB8DlQGVgMbAe6AWuwrrs3XYFRWPf2S0CBTsDdQFcRuUhVs23ZKcCNQCP7ez75utUAnsD6j7yN1TJvAfwNuExEzlPVtML096I/0ANYBHyIde1HA+3t/1qeXeZArmtRXA1cjnWPvwR6AbfZZbvOrbwpFLw32PpUwfov1AXesXWLx7oWI4B7i1JCRGpj3cdmwNfAs0AMcDZWl+9jbrLFqctFEshzw5Z/CrgT2I9V9w4BjW1d3gN2UnQdwn5puMcuzyKsoa6ewAsi0kpVR7nJ1sO61mdg1bnNto6fA985KqiqltsD68+vwGSvcAVWeYWtssO/BOLdwlPt8A+85F+3wwd4hZ+J9ef/n1d4Yx/6VbFv1FEgzi08xU5bgXEBljk/3vOAeJ1LAtKBbUBdr3P32vHucQsbaof9xz0tLAOZZ5+70aneQGsgG2scr5pbuGD9yRXo5xZ+CFgPRHqlU8krvlO5G33onH9/v/O673WwXlyygSZu4ZNt+UPAmW7hNYA/gAwg2sF9GpJfr4BKbuGtgOPAEaBqUXW5iDw+s+P81Sv81fz75BWeDFTxkc4EW36Qr/+Mn7xjvOuY2/XOAV5yWIb8e6ZAqlt4BNaDWYF/nMZ1nWvLp/jIMwvo7BYeC/yAVffrObk3WIZZgTt9nKvp8BostdO438e5+kGoy90KKwuBPzfyy/w1kOAlXxmo4bAOXWqnswyIdQuPcrv3Hd3CX7PDRnul86BbHUrxlZdL1umfqywe/ioqhRvEbj7SSQP+8KogucA7fvJ9zE7rbAc6jvZRKVPssN+BqADLrECme6XzkVc/H+cisN7mNvi4Js19yL+Hf4PoU2+slqECHXycS8B60CxxCzsErHFQZqdyN/rQ+RU77Cof8nfZ5x5wC5vsq07Z5+bY59o40OVTW/YcH+dm2ucGF1WXC0m/kS3/tY9zDbGMkjpMq4ad1lxf/5lA6qcd77/Adoey+fdshY9zZ9nnPj2N6zoX/wZxro80JtnnrnRyb/jTOAwN9DrZ8evY/4vNQEQRssWty90KKwuBPzfet+U7Oyif3zoEvGWXPdnHubPtPB6zf8cAJ4FdeD17sBoeh7zvs6/DdJkWZJOPsN1YD5F8OmJVhHjv/m6bVvZnS+B7sMYbsbpNr8bqOo3zinMGBflO/+yiCoQ0VT3kI7yT/dlFRM72cT7b1jmftlgvAlt9yK7F6k7yhT+9O2H/YUWkj4/zJ73yXwTcKiLfYHU1fQ58pW5dMwHK+aKd/bnKx7lVXjLu+KsnYHVRO8n3sKr+10++I22ZeQ7S8kX+uMnn3idUdaeI7MTqwvJARPoDw+28E/H0M/BVR/0iIudh1fmLsFqfUW6nndwbd9Z4B6jqFhE5jFVP8wnmdT3dewxWN+peYJaI9ARWYL28+fpP+aIDVg/KJ2p3CxdCcetyUQT63OgIZKjqumLk5Z1vOnC71RPuQX5dys+3OVYL/ivvZ4+qHhdrzm73ojI0BtELtTwRvcnB88FQw/5MtQ9/VAHLwQDrj9EOa1xtLtYbS64ddjXWG443+wNQ3Um8fL1HOkynKvBzgHkUlb8ADxQS191J4k6ssYObgGl2WLqIvASMV9XMAOV8kQBkqmq6j3N73WS88VdPAJw41iTg/9oWlq9Tqtmf/u7FPrwMoojcC/yfHed9rId//rWbhO866hMR6YI1FpmH1X35C1aXpfLnuFEgHPATvg9rmCKfYF7X073HqOpREbkQmAr0wRpDQ0R+xBpWeLOIJPLv4+8OsituXS6KQJ8b1YBfi5GPr3wrYdU9f+Q/L5zU9yIxBrF45Fe4aao6wYH81ViGb7aqDnc/ISJj7PO+0GLq5y9evt7NVPUXB+lkALX8nEsuZv65WONUp4rK3H7TewR4xPZM647l1DAaq+6ODESuEJ2aikiCjwdJbTeZYJPulr43wcg3/2Hu7z555C2Wh+8ErAdvW1U96HauNoU/lHxxP5ZDx4Xq6VyG+PCsdoC/elgbz+sU6usaMGo5Dw2yr3F7rJ6VkcBiEemsqhsKiX7E/qzrIKtQ1eVAnxtHcKavk3xPqqoTZ8KA6rs/KuS0iyCwHruP3KF8U/vzbR/nLgqKRs742v50qvd3QE0Rae7j3AXFzD8Sq0slIFR1p6q+imXsjmGNzRRbzo18T82uPs6leskEk2+BRD9dUMHIN7/LsIv3CfulwXvqRRJW62GtuzG08VdHc+30fLWWmmJ1t3sbw9r8+X8IBF/lOAurW9fdgzDU19UXufZnoa1GVc1R1fWq+iCWQYwEeheR9kasZ00PESnqeR2quhzoc2M9UFVEnMgXVoe+BuqJSAMH6WzF6s3oJCLuXfP5nr6OuoqNQSwGqroXa6yqh4jc5n1erHlx7l2pO+3Pi7zk/gpcGTJFCzIHy0jMEB9zwUSkuoi0dwt63f6cKm6d+HZ32GXFyP85rD/ALBEpMB4lIrVFpJX9PUZEfPX5V+fPAXTHcoXwmv05RTznlyVjjX/lAAuKSKM45Oc73f1hYL98DMN6411e3MRVdQfW+OH5dj1zZyoFH977sa7VuSJS2U2fM4CH/WSTP05dz8e5nUCN/PtppxWN5U0c5UO+KC51/0/ZxiG/e3y+m1xIr6sf/F4HETnbzwM9v8VSaP20nzVvYjkQ3ecjffc8Q1WXA31u/Mv+fNr2nXCXjRWRGm5BhdWhZ+zPl0WkmvdJe85hCoDd47TYTucOL9ExWC9ORWK6TIvPbVgDus+JyC1YbzPHsN68L8Bqusfasm9jPSDGiDVR/EesKQiXYVX2a0tCYVXdLyLXYzmhbBaR97DGW6pgOfqkYrnk5y8N9jJwA9bcscYi8gmWY8XfsbxMe2ONETnN/38icgfWQ3Grnf92rMraDKsV8ACWa3tl4FMR+QVr7uZvWGMKV2M9UPPnUzmV86fTKhH5F9b9/F5E3sTq6vsb1j28T1WDMR7izWtAP6xxpU0i8j5/zperDFzvZywoEO7Ackb5j4i4z0Osh9WCdE1YVtU8EXkeax7iJhF5F+s69sGavtHCR/or7TIsEpEVwCksh5E1WPe4J/CFiCzCehj/BeuefIenI4wT3gM+sNP6HWtO4LlYziJz3eRK4rp68xPWajfXichxbMcbVX0Eq8yPi8hnttxhLKe7Pljjok6ce27HulfT7fmAq7HqaGusa1DTzi8kdTnQ54aqvm3Ph7wD63++HMvwNcR65t2MNW0CCqlDqvqeiEzH6n7/RUQ+wPIirWVfw87AQKx6jS3XE+t6d8NyaDzPlvsca7pYkYUttwfFmHbhJx2f5+wKMQ7LG+04lkH8Gatl5T33qymW8TuANTb3OdY8mxvxP31hbjHKXKBsPmTOwnqI/Ibl7XcQ+AZrHK6ll2xV4CmsP/xJu6z9sSZrK3BtoHpjvTAsttPMwhrwXwdMBBraMlFYb3YfYv0JTmE9CFcAvdzSciRnyxa41na4YM253Ig18feYfX/+6kP3yfifnuP3nJ/rkK/7ZqzuniNYDiipTuuygzza29fmONbD+A0sh5YCdRrr4TkRywEmE8sxYrId7us/EwU8btejHG/9sB7Em+xruteuc7V95V2I/q57Zte7TXY93IP1suNr3mQg13Uu/qdd3FiYPl7hF9p15hhuczyxHtxP2Xofsq/Fz1itnwYB3MdErMUrtmLV8T+w/jOjglmXC6tnBPDcsOWvw3qZSncr9/Pu5S6qDtkyl2MtsHHQznc31kvB3UCSl2wTrDp+1M73Q6yXiQL32dchdiIGQ0CIyDxgENBaVbeUtj6G8olYy9PNAW5S1bmlq42hvGPGEA2F4mesrwvW29/PWN2bBoPBUOYxY4iGonhRROpijZGmY42b5o8d3qmmi8FgMJQTjEE0FMV/sFYu6Yc1+fUoloPDdFX9sjQVMxgMhmBixhANBoPBYMC0EINGUlKSpqSkFCpz/PhxqlQpsH1bucKUsXxgylg+KAtl3Lhx40FV9bcSUYliDGKQSElJYcOGwlZgglWrVtGtW7eSUaiUMGUsH5gylg/KQhlFZEdp65CP8TI1GAwGgwFjEA0Gg8FgAIxBNBgMBoMBMAbRYDAYDAbAGESDwWAwGABjEA0Gg8FgAMy0C4Mh5Bw9epSDBw+SlZVV2qo4plq1avzwQ/leptaUMbRER0eTlJREtWoFtjIMW4xBNBhCSGZmJvv27aN+/fpUrlwZt32Ww5qMjAyqVq1a2mqEFFPG0KGqnDx5kl27dhETE0NsbGzRkcIAYxANhiCxesdWnl2/mrQjB2lcPYkRHVNpElGZWrVqERcXV3QCBkM5QUSIi4sjKSmJAwcO0KBBg9JWyRFmDNFgCAKrd2zl7o/eYP+JdGrHJ7D/RDp3f/QGB9KPEh8fX9rqGQylQtWqVcnMzCxtNRxjWogGQxB4dv1qqkRHkxBTGcD1mXHyBJUqmb+ZoWJSqVIlcnJySlsNx5gWosEQBNKOHCQ+2nOcJD46lty8vDIzbmgwBJuyVveNQTQYgkDj6kkcy/LsGjqWlUmlSPMXMxjKCubfajAEgREdUzmelUX6qZPkqZJ+6iTHs7KoGl02vOsMBoMxiAZDUEht1JzHe/YlOS6BfcfSSY5L4PGefYmtFFXaqgWVyZMnF+gGExEmT55cOgoZHHPjjTdS1J6tFR0z2m8wBInURs1JbdTcI6y8T/wGWLt2LfXr1y9tNQxF8MADDzBy5MjSViOsKTMtRBFpICJLROSoiKSLyFIRaegwrvo52nnJRYjI/SKyXUQyReQ7EekbmhIZDOWDzp07h61BPHXqVEjlT4eSzAugadOmtG/fvkTzLGuUCYMoInHAp0BLYAgwGGgGrBSRKg6TmQtc4HVs9ZKZCkwGngUuB9YBi0XkitMrgcFQfvHuMs3vVv3555/p3bs38fHxNGrUiAcffJC8vDyPuAcPHuS2226jXr16xMTE0LJlS2bPnu0hc+DAAYYPH07z5s2Ji4ujQYMGDBw4kN27d3vI5ef7/fffc+mllxIfH8/f/vY3v3rfeuut1K9fn7Vr13LhhRdSuXJl7rvvPtf5F198kbZt2xIbG0tSUhI333wzhw4dKqDbgAEDSEhIIDExkZtuuom33noLEWHVqlUuuW7dutGlSxfefvtt2rdvT0xMDM899xwAOTk5TJ8+nZYtWxITE0PdunW5++67Pebv5eTk8MADD9C0aVOXPl26dGHNmjUumQULFtC+fXvi4+OpVq0abdq04ZVXXnGd99VlumfPHm644QaSkpKIiYnhnHPOYf78+R4yc+fORURYt24d119/PQkJCdStW5c777yzTM0xdEKZMIjAUKAJcI2qLlPV5cBVQCNguMM0dqvqOq/jRP5JEUkG7gEeUdXHVHWlqg4HVgKPBLc4hopO/sPbyTFs2LAC8YcNG+Y4vq/xvY0bN4a8jNdeey2XXHIJy5Yt45prrmHSpEm8+uqrrvPp6elcdNFFvPvuu0yePJl3332XK6+8kttuu41nnnnGJXfo0CFiY2OZPn06K1as4NFHH+Xnn3/moosu8vlAvvrqq0lNTeWtt95i1KhRhep49OhRrrvuOgYMGMD777/PwIEDARg7diy33347f/nLX3jrrbd49NFHWbFiBZdffjm5ubmu+H/96195//33mT59OgsXLiQqKoo77rjDZ15bt27lzjvv5I477uCDDz6gR48eAAwaNIiHHnqIgQMH8u6773L//ffz8ssvc/3117vizpgxgyeffJI777yTDz74gDlz5tCjRw+XgV6zZg2DBg0iNTWVZcuWsXjxYoYOHcrRo0f9lv348eOkpqby/vvv8/DDD7Ns2TLatGnD4MGDC7yUAAwePJimTZuydOlSbrvtNmbNmsX06dMLvb5lDlUN+wP4BPjCR/hqYLWD+Ao8VITMYFuumVf4TXZ448Lin3feeVoUK1euLFKmrGPK6MmWLVt8hk+aNEntelXkMXTo0ALxhw4d6jj+pEmTCsTfsGFDoXqnp6cXqrc73nnky7zyyisecmeffbb27NnT9fvBBx/UmJgY3bp1q4fcLbfcojVr1tTs7GyfOuTk5OjOnTsV0KVLlxbId+bMmYWWLZ+BAwcqoMuWLfMIT0tL04iICJ0yZYpH+Jo1axTQN998U1VVP/jgAwV00aJFHnJXXnmlAh71JDU1VUVEN23a5CH72WefKaCvvvqqR/j8+fMVcMn37t1br732Wr9lefTRRzUxMbFAuPt9HDJkiDZq1Mj1+5lnnimgp6pqjx49tFatWpqTk6OqqnPmzFFAJ06c6CHXu3dvbdasmV+d8vH3H8gH2KBhYGdUtcy0EFsD3/sI3wyc5TCN20TklIicEJFPReRiH3mcAn7xkQcB5GMwGIDevXt7/D777LPZuXOn6/eKFSvo1KkTjRs3Jicnx3Vceuml/PHHH2zZssUl+69//Yu2bdsSHx9PpUqVaNjQch/46aefCuR77bXXOtaxUqVK9OnTxyPso48+Ii8vj+uvv95Dr06dOpGQkMBnn30GwLp164iMjCyQX79+/XzmlZKSQrt2Hm4LrFixgujoaPr27euRV69evQBceXXs2JH33nuP8ePHs2bNmgI7p3Ts2JHDhw8zaNAg3nnnHY4cOVJk2T/77DPq1atHt27dPMIHDRrEgQMHPK4/FLyfbdq08bif5YGy4mVaAzjsI/wQkOgg/nzgHeB3rG7We4FPRaSnqq5yy+OI/cbinUf+eQ9EZBgwDKB27doeYwa+OHbsWJEyZR1TRk+qVatGRkZGgfC7776bu+++23Ge3mk8/vjjPP7448WO37x5c5965ZObm+vzfL4jiPe5U6dOucLyZaKiojzkIiIiOHnypCts7969bNu2jago31NTfvvtNxo3bszzzz/Pfffdx4gRI5gyZQrVq1cnLy+PHj16cPTo0QL5xsfHF1q2fFSVWrVqceLECY/w3377DYAzzzzTZ7y9e/eSkZHBzp07qV69OpmZmR5dt/m7S5w4ccKlR25uLsnJyQX02r17N1lZWX7Xu/3999/JyMjgjjvuQERYtGgRDz/8MPHx8Vx99dU89NBD1KxZk3PPPZfXXnuNF154wWWgu3TpwtSpU2nbti0A2dnZqKpLhwMHDvjUKSEhAYBdu3aRkpLiKlt0dHSh990fmZmZZeaZUFYMIljdP944WhdIVQe7/fxcRJZjtTgfArq4pRVQHqo6G5gN0KFDB/V+0/Jm1apVBd7GyhumjJ788MMPZXKLIX/bBsXExAAUOBcTE+MKc5dxX8c1KioKEXHJ1apVizp16vDUU0/51KFFixZUrVqVZcuW0aNHD49xxbS0NL/5JiQkOFo/VkSIiIgoUJa6desC8OGHH5KYWPB9u2bNmlStWpWGDRty5MgRYmNjPYx6voGIi4tzpR0ZGYmqFsirTp06xMbG8vnnn/vUsW7duq44EydOZOLEiezdu5d33nmH0aNHk52dzaJFiwBrjG/w4MGuF7YxY8bQv39/du/eTUREhM/r/8svvxTQKT09HYAGDRpQtWpV19ZN8fHxHrL+6oI3sbGxZca7tawYxMP4aKFhtQ59tRwLRVUzRORd4Ga34ENAooiIVysx0e28wWAIEpdddhnPPPMMDRs2JDk52a/ciRMnXK2WfObMmRMyvXr27ElERAQ7d+6kZ8+efuU6d+5Mbm4ub775poc36+LFix3nddlllzFjxgyOHj3qcrIpijp16nDLLbfw3nvv8f33BUeS4uPj6dOnD9u2bWPkyJH88ccf1KpVq4Bcamoqixcv5osvvuCiiy5yhS9YsIDk5GRatWrluBzlhbJiEDdjjfF5cxawxUe4E7xbhJuBGKApnuOI+WOHxc3HYDD4YNSoUSxatIiLL76YUaNG0aJFC44fP86PP/7I559/zvLly4E/jcbDDz/M+eefz6effsqSJUtCplfTpk0ZM2YMI0aM4KeffiI1NZXY2Fh+++03PvroI2655Ra6d+9Or1696NKlC8OGDePgwYOceeaZLFmyhO+++w6wuoiLolu3bgwYMIB+/foxevRozj//fCIiIti+fTvvvfceM2bMoHnz5lx99dW0bduWc889l8TERDZt2sSKFSsYPtxysp84cSL79u2je/fu1K1bl127dvH0009zzjnn+DSGYE3DeOqpp/jrX//KtGnTqF+/Pv/+97/56KOPeOGFF4iMjAzeRS0jlBWD+BbwmIg0UdVtACKSAlwEjA00MRFJAHoDX7kFrwCygOuBKW7hg4DvVTWtWJobDAafVKtWjS+//JIHH3yQGTNmsHv3bqpXr06LFi3o2/fP9TAmTpzIkSNHePLJJ8nMzCQ1NZUPPviAJk2ahEy3hx9+mFatWjFr1ixmzZqFiNCgQQN69OhBs2bNXHJLly7ljjvuYMyYMURGRnLVVVcxdepUbrzxRqpVq+Yor/nz5/PMM8/wyiuvMG3aNGJiYkhJSeHSSy+ldu3aAHTt2pXFixcza9YsTpw4QcOGDbnvvvsYP348AJ06deLpp59m1KhRHDp0iOTkZHr16sWYMWP85lulShVWr17Nfffdx9ixY8nIyKBFixbMmzePQYMGncbVK8OUtpurkwOogtVq+x9wNdYcxO+AbUC8m1wjIAeY6BZ2D/AiMBDohjWx/39Yxu9ir3weATKB0bbsv4A84MqidDTTLixMGT0pyuU8XPE37aI8Eaoy3n777RoXF6eZmZkhST8QwuE+lqVpF2Wihaiqx0XkEuBJYB5Wd+cnwF2qesxNVIBIPBcc+Am41j6qAenAF8DNqvq1V1bjgWPASKCOHfdvqvp20AtlMBjKPHPnzuXo0aO0bt2arKwsVqxYwfPPP8+9997rcjoxlB3KhEEEUNWdQKHriqrqdry8Qm1j5sigqWoulufpQ8XT0mAwVCSqVKnCzJkz+fXXXzl16hSNGzfm4Ycf5t577y1t1QzFoMwYRIPBYAg3+vfvT//+/UtbDUOQKCsr1RgMBoPBEFKMQTQYDAaDAWMQDQaDwWAAjEE0GAwGgwEwBtFgCIjVO7ay7fBBOrw0nf5LXmT1Du89pg0GQ1nFGERDUDmWdYr+S14slwZj9Y6t3P3RG2Tn5VI7PoH9J9K5+6M3ylUZDYaKjDGIhqCxesdWfks/zP4T6eXSYDy7fjVVoqOJjIggQoSEmMpUiY7m2fWrS1s1g8EQBIxBNASNZ9evdhmK8mgw0o4cJD461iMsPjqWtCMHS0mj8KFbt27F2vZr1apVTJ48mby8vOArFSS2b9+OiDB37tyA45aF8hn+xBhEQ9BIO3KQSK8V/suTwWhcPYljWZkeYceyMmlcPamUNCr7rFq1iilTpoS1wTjjjDNYu3ZtgR3jnVAWymf4E7NSjSFoNK6eRK7XHz/cDMbqHVt5dv1q0o4cpHH1JEZ0TCW1UXNHcUd0TOXuj94gNy+PPFWOZWVyPCuLEampIdbaUJrExMTQuXPn0lbDUAKYFqIhaIzomEqeKumnTro+j2dlMaJjeBiMfKeY4o5xpjZqzuM9+xIVEcm+Y+kkxyXweM++jg1qeWHhwoW0bNmSmCdWPbQAACAASURBVJgYWrduzZtvvllAJjMzk1GjRnH22WcTHx9PnTp1uPLKK/nxxx9dMpMnT2bKFGuntfzd3EX+XIp40qRJnHvuuVSrVo2kpCQuueQS1q1bV6R++V2czz33HKNHjyY5OZm4uDj69OnD9u3bPWSzs7OZMGECKSkpREdHk5KSwoQJE8jOzi6QnnuX6Y033kj9+vXZtGkTF198MXFxcTRr1oznn3/eUflycnJ44IEHaNq0KbGxsSQlJdGlSxfWrFlTZPkMocO0EA1BI7VRczJ+SiOZjD9bYKnOW2ChJt8pJiGmMoDr89n1qx3rmNqoOZr2Oxuu7RcyPfPJOJXJ/uMZnMrNISayEslVqvLN3p3FbuEGg48//piBAwfSu3dvHn/8cQ4cOMDIkSPJzs6mRYsWLrlTp06RkZHBhAkTOOOMMzh06BDPPfccnTt35scff3Tt+r5r1y5efvll1qxZU2BD2t27dzNq1Cjq16/P8ePHmT9/Pl27dmXDhg2cc845Reo6ffp02rVrx5w5c9i/fz/jxo2jV69ebN68maioKACGDBnCf/7zH8aNG0eXLl1Yu3YtDz30ENu2bWPBggWFpp+ens7AgQO56667mDhxInPmzOG2226jRYsWdO/evdDyzZgxgyeffJJp06bRrl070tPT2bBhA4cOHQrkdhiCjDGIhqASHx3D4n5DS1sNn6QdOUjt+ASPsHAd48w4lclv6YeJECEqMpLsvFyW/riJmV9/SkJMrEcLtyRbqZMmTaJly5YsX77ctSN8q1at6Ny5s4dBrFatGi+99JLrd25urmvD29dff91l6OrXrw9YG9xWquT5OPKOf9lll9G6dWtefvllnnrqqSJ1rVq1qoeezZs3p0uXLrz22mvcfPPNbNmyhddff51JkyYxefJkAHr16kVkZCQPPPAAY8eOLdTwZmRk8Nxzz9G9e3fA2sT3ww8/5PXXX6d79+6Flm/t2rX06tWLkSNHusKuvPLKIstkCC2my9RQYShLTjH7j2cQIeJyUoqMiOD1zRuIiogsNS/e3Nxc1q9fT79+/VxGBqyHfUpKSgH5//znP3Tq1Inq1atTqVIlqlSpwrFjx/jpp58c5ffxxx/TvXt3atasSaVKlYiKimLr1q2O43vredFFF1G/fn3Wrl0LwBdffAFQYHf4/N+rVxd+XePi4lzGEKyxxmbNmrFz584idevYsSPvvfce48ePZ82aNWRlZTkqkyG0GINoqDCM6JjK8ayssB3jdOdUbk4Bj91d6YepXCnKI6wkW7gHDx4kOzub2rVrFzjnHfb222/z97//nVatWrFgwQK++uor1q9fT61atcjMzCwQ35tvvvmGK664gvj4eF5++WXWrVvH+vXradu2raP4vnTKD9u9ezcAhw8fBiwvUnfq1KkDUGT3ZWJiYoGwmJgYR/qNGzeOKVOm8NZbb3HxxRdTs2ZNbrrpJg4eDL/eioqE6TI1VBjynWI8xuDCaIzTnZjISmTn5XoYxfoJiRw6eZwEKrvCSrKFm5SURFRUFPv27Stwbt++fTRq1Mj1e+HChZx55pkejijZ2dl+jUzGqUwOpZ90jZe+vmgRlSpVYunSpa7xPrCMWPXq1R3p60/Pdu3aAX8atL1799K0aVOXzN69ewGoWbOmo3yKQ1RUFGPGjGHMmDHs3buXd955h9GjR3PixAkWLVoUsnwNhWNaiGHA6h1by+1yZ+FGaqPmLO43lA233M/ifkPD0hgCJFepSp6qaxpLbl4eA1p3IDsvt9RauJGRkXTs2JElS5Z4zKv76quvCnhvnjhxosCY4Lx588jNzfUIi4mJAeCX/XvIzst1jZfuO3qYyMhID6/TTz/91FF3ZD7een7xxRfs2rWLCy64AIAuXboAlvF259///jdgjQmeLvnlO3nypF+ZfAejv/zlL3z//fennaeh+JgWYimTPxWgSnR0qTlKGMKPqjGxNEhI9PAy/WvL9qRUr1mqLdwpU6bQq1cvrrnmGoYPH86BAweYNGmSq5sxn8suu4xly5YxatQo+vTpw8aNG3n66acLtO7OOussAF791wt0+0sPIiIjadO+HV0v6c68F17kxhtv5KabbmLr1q1MnTqVevXqOdY1IyPDQ8/777+fZs2accMNNwCWM9CAAQOYPHkyOTk5XHjhhaxdu5apU6cyYMAAR56sRZFfvscff5zLL7+cyMhIOnTowNVXX03btm0599xzSUxMZNOmTaxYsYLhw4efdp6G00BVzRGE47zzztOiWLlyZYGwfotna9dXH9M+C2e5jq6vPqb9Fs8uMr1wxFcZyxuBlHHLli2hUySEpKen+z23YMECbd68uUZHR+tZZ52lS5cu1dTUVE1NTXXJ5Obm6vjx4/WMM87QypUra9euXfWbb77RRo0a6ZAhQ1xyOTk5et1NQ7RGUk0VEQV06x/7dOsf+3Tcw1M1JSVFY2NjtUOHDvrRRx8VyMcXaWlpCuisWbN01KhRmpSUpJUrV9YrrrhCt23b5lHGrKwsHT9+vDZs2FArVaqkDRs21PHjx2tWVlaB9ObMmeMKGzJkiNarV69A3t765eTk6O233661atVylU9V9bHHHtNOnTppjRo1NDY2Vps3b66TJk3yyDcYFHYfS4qi/gPABg2DZ7iqIpY+htOlQ4cOumHDhkJlVq1aVWC9xw4vTad2fAIRbl1DearsO5bOhlvuD4WqIcVXGcsbgZTxhx9+oFWrVqFVKARkZGRQtWrVEsnr10MHCoyX5ublERURSdMatQJOb/v27TRu3JgXX3yRW265xa9cSZaxtAiHMhb1HxCRjaraoQRV8osZQyxlytJUAIMhFPgaL81TJblK+TZWhvDDGMRSpixNBTAYQkH+eGlURCTZublERUTSICGRqjGxRUc2GIKIcaopZcrSVACDIVRUjYkNmgFMSUnBDAUZioMxiGFAaqPmxgCWQU5n5wyDwRB+BNxlKiI1RKSeiMSEQiGDoSwQyM4ZprViqKiUtbpfpEEUkToiMlZEVonICeAAsBM4ISLbReQ1Eblc3GfQGgzlHPedMwpbVzQqKqrQSdkGQ3nm5MmTHisNhTt+u0xFpD4wFRgIZABrgcewDOJJoAbQGOgEvAPsEJEHVPXfoVbaYChtnO6ckZyczO7du6lXrx6VK1fGvDcaKgKqysmTJ9m9e7fPNWXDlcLGEH8CPgSuAT5U1Vx/grbxvB74PxGpq6qPBldNgyG8aFw9if0n0l17KoLv6TIJCZbR/P333z02nQ13MjMziY0t316epoyhJSoqitq1a7v+A2WBwgziRar6rZNEVHUXMENEZgIpwVDMGxFpADwJ9AQE+Bi4S1ULXdxQRDoAw4CuQEPgIPA5MEFV07xktwONvNMArlXVZadbBkP5YUTHVO7+6A3Aahkey8q0psukFpwuk5CQUKYeCmAtPtC+ffvSViOkmDIavPE7hujUGHrFOaWqzjYrCwARiQM+BVoCQ4DBQDNgpYhUKSL6dUBr4GngcmAscC6wwTay3nwAXOB1lMyGc4YyQ/50meS4BPYdSyc5LsGsP2swlHHKyrSLoUAToIWq/gIgIv8FfgaGA08UEneGqh5wDxCRL4A0O92JXvIHVXVdsBQ3lF/MdBmDoXzhyCCKSARWt2N/oAHg3SmtquqrqzFYXAWsyzeGdoZptmG7mkIMorcxtMN2iMgBwPnS+QaDwWAo1zhtIf4fMBrYBKwHskKmkW9aA8t9hG/GMtIBISKtgGTgBx+nr7Snl0RilfcRM35oMBgM5R9Hu12IyF7gBVWdFHqVfOafBTyhqmO9wh8Cxqqq465fEakEfAK0wuqCPex27hksg58G1AZGAKnAYFWd7yOtYVgtZ2rXrn2e90aj3hw7doz4+HinqpZJTBnLB6aM5YOyUMbu3buHzW4XTg1JJeCzUCriAF+WuziTup4FLgR6uxtDAFW9wyNxkTeBdcB0oIBBVNXZwGywtn8qaksgszVS+cCU8fQJh2XvzH00eON06bYlwKWhVKQIDmMtBOBNon3OESIyHatF9w9V/bAoeXvu5WKgvoic4TQfg8Hgn0CWvTMYShKnLcTRwL9FZDbWtIQCRkhVPw2mYl5sxhpH9OYsYIuTBERkPNaUiztVdV4Aeee3QsvWonwGQ5jivuwd4Pp8dv1q47VrKFWcGsQzsKY9XA24b0GtWAZDsZxQQsVbwGMi0kRVtwGISApwEZaRKxQRuRN4CBivqs84zdQeb+wP7FTVvcXQ22AweOF02TuDoaRxahDnAEnASOBHSt7L9EUsB5flIjIBywBPBX4DXsgXEpFGwK/Ag6r6oB12HTATWAF8KiKd3dJNV9UtttwALIP/np1ubeCfwHnAgJCWzmCoQDhd9s5gKGmcGsQOwA2quiSUyvhDVY+LyCVYS7fNw2qVfoK1dNsxN1HBaqm6j41eZodfZh/urAa62d/TsKZiPIo1XnkCy+P0MlX9IJjlMRgqMoEse2cwlCRODeJOSr5V6IG9ZmnfImS24+V5qqo3Ajc6SH8dcEmxFQwSTz/9NBs2bKBbt2506NCBNm3amB0Syjnh4HFZkuQve+dR5tTyXWZD2cCpQXwIGCMin3q1yAxBZsmSJXz++efMm+fp99OxY0cmTZrEFVdcYQxkOSLf47JKdLSHx2V5XxfVLHtnCEecTru4FKgPbBeRt+1Ngd2PV0OoY4Xh5MmTfPXVVz7PrV+/nj59+hAREYGI0L59ez7//PMytyO1wROnGw0bDIbQ47SF2AXIw9oo+Gwf581TOQhER0fz2WefsWrVKl599VV++MHXynIW3377LV27diU5OZnU1FRmzpxJ3bp1UVXTgixDGI/L8KSidWMbLBy1EFW1cRFHk1ArWhGIjIykU6dOjBkzhi1btpCZmclzzz1HnTp1/MbZv38/y5cvJzExkR07dpCcnEzfvn2ZPn068+fPJycnpwRLYAiUxtWTOJaV6RFmPC5LF7NwQMXFaZepoRSIiYnhtttuY8+ePagqp06d4qWXXqJhw4YAJCYmAnD++edTuXJlVq9ezcGDB1m6dCnjxo1j8ODBREVFISI0atSIV155pUzt2l4eWb1jK/2XvEiHl6bTf8mLdGnQhONZWaSfOkmeKumnTloelx2Nx2Vp4bQb2/teGoNZ9vFrEIu7VJmI+G/OGE6L6Ohobr75Znbs2IGqcvDgQb799lv+7//+D4Cvv/7ab9ydO3dy8803Ex0djYjQrl07NmzYYFqQJYivlse8/33N4Dbnm42Gw4i0IweJj/bc4c67G9u0IssnhbUQfxGRp0SkZVGJiEhlERkoIt/iuZKNIYRERETQtm1bLrjgAsCasvH9998za9asIuN+9913dOzYkRo1argM6p49e0wLMoT4a3ms+W0bi/sNZcMt97O431BjDEsZJ93YxhmqfFKYQeyK5UCzWUQ2icjTInKziFwlIpeKyHUiMk5ElgH7gOeA/wCPlYDeBh9ERETQunVrbr/9dlSV3Nxc3nzzTdq1a+c3TkZGBtWrVwfghhtuIDExkUsvvZSOHTvy6KOPcuxY+ZtlU1pdXU5aHobSZ0TH1CK7sc29LJ/4NYiqulFVewAdsbZA6oO1hNoy4H1gATABqAbcBzRQ1YdVNdNPkoYSJiIigmuuuYZNmzahquTl5fHOO+9w/vnnc9lll1GvXj0AunXrRnZ2Nl9++SXHjx/nww8/ZMOGDdx3331UrVoVESEmJoZp06aRnp5eyqU6PUqzq8s40JQN8hcOKKwb29zL8kmR0y5U9RvgNgARSQbqArHAH8B2VTV9bGUEEaF379707t0bAFUlLS2Nxo0bs23bNpKSkti5c6fPuFlZWUyYMIEJEyYAMGzYMAYMGECnTp2oXLmyzzjhSGnutGCWLCs7FLVwgLmX5ZOAvExVdb+qfquq61T1Z2MMyzYiQpMmTRARmjZtyo4dO0hLS2PcuHFFxp09ezbdu3cnKSmJzMxMDh8+zCeffEJmZnh3EJRmV5eTloehbGDuZfnE6cR8QwUhJSWFadOmMW3aNAC+/PJLHnzwQT74wPf65q1btyY2Npbly5dz3XXXUalSJUSE7Oxs7r77bu69915q165dkkUolNLeacEsWVZ+MPey/GHmIRoK5cILL2TFihWoKqrK119/zYQJExg2bBgtWrSgW7duAKxebXnX5eTkuDxVH3/8cerUqYOIICIMGDCAH3/8sbSKAjhzmDAYDBUT00I0BETHjh3p2LGj63dubi4A9evX56yzzmLLli1+4y5cuJCFCxe6ft96663cf//9roUGSgKz04LBYPCHaSEaTovIyEgAxo0bx+bNm1m6dCmDBg1yFPf555+nUaNGnHfeeSQkJHDzzTezbdu2UKoLWEbRzPsrO5gVYQwlhTGIhqCSmJjIvHnzXF2sP/30E0OGDCk0zjfffENGRgavvPIKTZs2dXWxDh48mJ9++qmENDeEI4FOkzHG03A6GINoCCnNmzdn7ty5LgO5adMmhg4d6iju/PnzadmypctARkVF8emnn4ZYY4M7pW1gAlkRxiynZjhdHBtEERkiIitEZIuIbPM6fg2lkobyQ7t27Zg9e7bLQB45coRnnnnGUdycnBx69OjhMpB9+/Zlz549Ida44hIOBiaQaTJmOTXD6eLIIIrIA8AcrEn53wKrvY7PQqWgoXxTrVo1RowY4TKQW7dupUePHo7iLl26lLp167oMZO/evVm7dm2INa44hIOBCWRFGLOcmuF0cdpCvBl4SlXPUdWBqnqT9xFKJQ0Vh2bNmvHxxx+7DOS+ffu47777HMV97733uPDCC10GsmfPnqxZsybEGpdfwsHABDJNxiynVjSl3QUe7jg1iDWBt0OpiMHgi+TkZGbMmOEykAcPHnQtHxcREUFMTIzfuB9//DEXX3yxy0CKCP/+979R1ZJSv0wTDgYmkBVhzBzTwgmHLvBwx6lBXA20DaUiBoMTatasydSpU127eRw5coSpU6dSqZKzKbWDBg0iIiICEWHkyJH88ssvxkD6IVwMjNNpMmY5tcIJhy7wcMepQbwLuElEbhCRJBGJ8D5CqaTB4I/Y2FgmTJhAdna2qwU5depU4uLiioz79NNP06xZM5eB7NChAzNnziQvL68ENA9/yqKBMXNM/RMOXeDhjlNDthVrb8Q5WHsfZnsdWSHRzmAIkJo1azJhwgSOHz+OqnL8+HEmTZrkKO7GjRsZNWoUkZGRiAjnnHMOb7zxRoU2kMbAlB/CoQs83HG6dNuDgOlXMpQ54uLimDx5MpMnTwYgMzOTl19+mVdffZXk5GTeffddv3H/97//0a9fP4+wBQsWkJycHEqVDYaQYLasKhpHBlFVJ4dYD4OhRIiNjeWf//wn//znPwFrn8dXX32VBx98kF27dhUZf+DAga7vM2fOpH79+lxxxRVlak9IQ8XErONbNAEv7i0i8UAicEhVjwdfJYOh5IiOjmbo0KGu1XOys7NZsGABU6ZMIS0trdC4d911l8/wQ4cOkZiYGHRdDYbTxWxZVTiBrFRzqYhsAI4A24GjIvK1iPQMlXIGQ0kTFRXFkCFD2LZtG6pKTk4OEydODCiNGjVqeEz1+OOPP0KkrcFgCCZOV6q5FHgXiAemArcDDwFVgfdKwiiKSAMRWSIiR0UkXUSWioijfYNEJFZEHhWRPSJyUkTWikhXH3IRInK/iGwXkUwR+U5E+ga/NIayQmRkJFOmTHHNg8zNzWXy5MlMnz6dlJQUR2kkJSV5GEiz3JzBEJ44bSFOBj4EzlLVKar6gj2u2Br4CJgSGvUsRCQO+BRoCQwBBgPNgJUiUsVBEi8DQ4GJQB9gD/CBiLTzkpuKVdZngcuBdcBiEbkiCMUwlAMiIiJITU1l7NixpKWlkZOTQ+3atQNKw325uRtuuMEYSIMhTHBqENsCs1TVw//c/v0c4G1Ygs1QoAlwjaouU9XlwFVAI2B4YRFFpC0wEBilqi+q6ifA34CdWN6z+XLJwD3AI6r6mKquVNXhwErgkVAUylD2iYyMZO/eva4WZF5eHn369HEcf968eR4GUkTYuHFjCDU2GAz+cGoQTwEJfs5Vtc+HkquAdar6S36AqqYBXwBXO4ibDSxyi5sDLAQuFZH8tb8uBaKB+V7x5wNtRKTxaZXAUCEQEd5++20PA5m/ibJTOnTo4GEgw2nLK7MWpqE849QgrgKmehsFewxvMlYrKpS0Br73Eb4ZOMtB3DRVPeEjbjRwppvcKeAXH3I4yMdgKICIkJOT4zKQqsr48eMDSsN9yysRYf369SHStnDMWpiG8o44WcdRRJpjtcaqYY2r7QHqAJ2xvE67qOrPIVNSJAt4QlXHeoU/BIxVVb/TR0TkQyBBVTt7hf8Fa/yzq6p+LiKzgatUtY6X3JnAz8ANqjrP69wwYBhA7dq1z1u4cGGh5Th27Bjx8fGFF7aMY8oYOEuWLGHWrFnFjv/UU09xzjnnBE0f8F3GbYcPkp2XS2TEn+/RuXl5REVE0iSx7K124vQ+Hss6xf7jGZzKzSEmshLJVaoSH+1/Uflwoiz8H7t3775RVTuUth7gfGL+VhE5B7gbuBg4FzgEPAU8qaol4RXgy3KLg3jiMK5TuT8VUp0NzAbo0KGDduvWrVBFVq1aRVEyZR1TxsDp1q0bzz77rOt3v379eOONNxzHHzlypMfvL7/8kgsuuOC0dPJVxntemk7t+AQi5M+/RJ4q+46ls+HafoSK1Tu2ek4m7xicyeRO7uPqHVuZ/NEbVImOtlZ3OZHJ8T+ywn5N13wqwv8xmDieh6iqe1T1HlXtpKrN7M/7SsgYHgZq+AhPtM8VxqFC4uafz/9MFBFvA+gtZzCElCVLlnh0sd52220BxXffE1JEeOWVV4KiV2mshVna3bRmh4iKRVnZpWIz1hifN2cBWxzEbWxP3fCOm8WfY4abgRigqQ85HORjMISE5557zsNAfvjhh463uwK4+eabXcaxevXqfPXVV8XSI5jbQTl1ziltg2R2iKhY+DWIIvKpiLR0+17Y8UmI9XwL6CwiTdz0SwEuss8VFTcK6O8WtxLwd+BDVc33kF2BZSCv94o/CPje9mo1GEqdnj17ura76rd4NmffM9Rx3KNHj9K5c2ePFuRrr73mKG6wtoMKpNVX2gbJ7BBRsSjsNdO96zCCwne7cDKWdzq8CIwAlovIBFuXqcBvwAsuJUQaAb8CD6rqgwCq+q2ILAJmikgUkAbcBjTGzfip6n4ReRK4X0QygG+wjOYlFD21w2DwSTDGvwpLI+3IQRqe15aUhX865ez7bgvrpzt30hkyZAhDhgxx/Z43bx7169f3KRuMtTDdW32A6/PZ9asLpN24ehL7T6S7ZKBkDZLZIaJi4beFqKrdVfVH+3s3+7ffI5RK2ouIX4K1L+M84N9Yhu0SVT3mJipAJAXLdRPWXo4PYS1B1wC4TFW/8ZIbb8uMBD7AaoH+TVXfDmqBDBWCYIx/FZWGrxZM5ZaN6bd4tquL9eOPP6Z69eqO8xw8eDDdu3d3tSCHDy907YuACaTVF8xu2uJQFjdJNhQfp2uZ3iAiNf2cqyEiNwRXrYKo6k5V7auqCapaVVWvUdXtXjLbVVW8t6tS1ZOqOlpV66hqrO0QtMpHHrmq+pCqNlLVGFU9R1WXhLRghnJLMMa/ikrDicHo0aMHhw8fdhnIPXv2BLTc3OzZswNy0ilqfDCQbshwMEhmk+SKg1OnmjkUdDbJp7F93mAwuBGM8a+i0iiOwahTp47HcnPffvttAKXydNIREZo3/zMvJ63iQFt9xiAZSgqnrmqFjRFWAXKCoIvBUK4IxviXkzROd1yvbdu2uC/QsWXLFlq39uXU7Zuff/4Z79lKvV9/FrFbtOA5PhjMjWpDNUfRUDEpbIWXdlgT8PO5UkTO9hKrDFyHtZKLwVChKOphHAyHjNJw6jjrrLNYuXKla0L3rl27aNWqFceOHSs8ohvvDhjh8fvcFx7y+O1txPO7WQMxbPmt0SrR0R6t0eJ2qRrjaiisy/Rq4CX7UCyHk5e8jmewtmQaF1o1DYbwwknXYDDGv8JhDK1+/fpkZGS4ulj37dsXcBrfDJ/g6mL9xz/+QW5urutccZ2PgjlHsbQXADCEB4V1mc4E5mJ1l24D/gps8pI5BexTJwuiGgzlCKdTB4IxTSEYaQST5ORkjy7WHTt2ON4sGWDOnDnMmePpdnDRi9MdTcNwJ+3IQWrHe27CU9w5ioFMBTGUX/waRFU9ChwFsHe52KOqWSWlmMEQzgTzYVzWadSokYeBXPLV5/Tv3DWgNL4Yer/H716vPFbktQzmHEVzPw3g0MtUVXcYY2gw/IlZwcQ//Tpd7LHUXHp6OnFx3isnFs6H/7iHjUPHubpZ09PTC8gEc45iYffT7AFZcXC8lqmIDBORTSJyQkRyvY9QKmkwhBulPWHcF+H64K5atSrHjx93GciMjIyA06hWrZrLONatW5f9+/cHdXzV3/3s0qCJGVusQDiadmFPvH8GeBVoC7yCtT7oVcABrJVjDIYKQzCnDgSDYHtchpL4+HiPLtbjx48HtGefr4UFduzYQcOGDYutk7/7acYWKxZO5yHeBUzHWj/0FuA5Vf1GRBKBVcAfoVHPYAhfwsnZpSw/uKtUqeJhILOysoiJCWwD3kaNGnn8/uabb2jfvn1Aafi6n3d/9IYZW6xAOO0ybQZ8BuTZRzSAqh4GpmGt/WkwlEnCtasxEEp7V4hgEh0d7TEGmZubG3Dr79xzz/VYTee7774rli5mrLhi4dQgngQi7OkVe4EmbueOAXWDrZjBUBKUl/ln4fzgPt0XjoiICHbs2OEykHl5eQF1sQK0a9fOw0AuXbrUUbxwHCs2hA6nBvF/wJn298+BcSJygYh0BCYDP4ZAN4Mh5JT2BrTBIlwf3KF44RARj4UCVJUmTZoUHdGNvn37euzo+PZ+fAAAHlpJREFU8fbbvje0CYeFEQwlh9MxxNn82Sp8APgYWGP/zgCuCbJeBkOJUF7mn4Wbk08+JTW2+euvv3r89l5btSiuuuoqj99PPPEEo0aNAsJrrNgQWhwZRFVd5Pb9FxFpDVwAxAFfqmrZenoYDDalvQFtMAnmg/tY1qmA1xb1RWm9cHgvnnX++eezfv16x/FHjx7N6NGjXb9feeUVbrrppqDpZwhPHM9DdEdVj6vqx6r6ljGGhrJMuHY1liard2zlt/TDQenmDJexza+//tqji/WSSy4JKP4//vEPjzHIadOmhUhTQ2nidIPgm0Rksp9zk0VkSFC1MhhKiFCOEZVV79Vn1692jaee7riq0xeOkr5Wn3zyCStXrnQZyCuvvDKg+BMmTPAwkC+88EKINDWUJE5biCPxP9dwP9Y8RYOhTBKKDWjLsvdq2pGDREZ4PhqK283p5IUjHK7VW2+95dGC7NGjR0Dxb731Vg8DOXbs2BBpagglTp1qzgQ2+zn3A9A0OOoYDOWDsjxRvnH1JHLz8jzCTqebs6ixTSfXqqT3Kvz44489fi9ZsoT+/fs7jj9jxgxmzJjh+v3jjz/SokWLoOlnCA1OW4g5gL9/Q60g6WIwlBtCPVE+lF2MIzqmuro3S2JctahrFQ4tyH79+nm0IJ9//vmA4rds2ZIqVaq4WpAPP/xwiDQ1nA5ODeLXwK1+zt0KOHffMhgqAKF0Jgm1gUht1JwGCYklNveuqGsVjnNFhw8f7mEg33nnnSLjnDhxwvV9/PjxHl2sQ4cODaW6Boc4NYjTgItF5CsRGSoiV9ifXwEXY61xajAYbELpvVocAxFoizI+Oibo46r+KOpalYVl6Xr37u1hID/77DOP81FRUYXGf+mllzwM5B133BFKdQ1+cLof4mqgH5AMvAC8Y3/WAvqq6qpQKWgwlEVC6b0aqIEIhy7HwijqWoXL1I1AuPhizz0hjxw5wrnnnus4/rPPPusyjldccQVpaWkF5lYago9TpxpUdTmwXERaADWBg6oaHv8ogyEMCdUKJ4EuJlAWHHwKu1YjOqZy90dvAJbhP5aVabUgU8vOXNG4uDg2btzo+v3dd9/Rrl07R3Hff//9AkvT3XXXXTzxxBMBr8hjKJyAJ+ar6k+q+qUxhgZD6RBod2xZ6HIsjPK4nmjbtm09WpBpaWkBxZ85cyYRERGuVuRjjz1GnpdnsCFwHBtEEWkjIktE5ICI5IjIfhH5j4i0CaWCBoPBk0ANRFnscvQmFHNFw4mUlBQPA3ns2DGeeOIJqlWrRtOmRc9qu/fee4mMjHQZyHfffdd0sRYDR12m9q4Wq7G2gXoLawuoOsCVQG8R6aqqGwtJwmAwBJFAumPLQ5djRaNKlSqMGjXKtcD4iRMn6NixI1u2bHEUv0+fPiQnJ9OqVSv69evHRRddRJs2bahUyfEoWYXE6dWZDnwP9FDVjPxAEamKtfPFdKBX8NUzGCo2wZiQHq47YRicExcXx+bNf66NcuzYMS655JJCFyzfv38/+/fvZ/Xqgt7H48aNY8qUKcZAeuG0y7QzMN3dGALYv2dg7XxhMBiCSDC9Q8t7l2NFIz4+3mPB8szMTO66688VNGvUqFFo/IcffpioqChEhPr16/Piiy+SlZUVarXDHqcGsajO6JB2VotIhIjcLyLbRSRTRL4Tkb4O4iWIyEQR+VJE/hCRI/b3Avs32ouUq49jWWhKZTAUTjhOSDeEJzExMTz55JMuA3ngwAH++9//cuedd9K3b+GPyt27dzNs2DBiYmIQEc4+++wS0jr8cGoQvwLG2V2kLkSkCjAGWBdsxbyYCkwGngUut/NbLCJXFBGvIXA71vjnIODvwFbgTRH5p584XbBavPnHfaervMFQHMq6d2g4UFZ3HDldIiIiaNOmDddeey1LliwhOzubv//9747iunfN5vPrr796rLRTXnFqEMcBrYEdIvKaiMwQkVeBHcDZwPhQKSgiycA9wCOq+piqrlTV4cBK4JEioqcBTVT1flV9X1U/UNUbgU+xDLkvvlLVdW5HxfgHGcKO8uAdWpqE+4IEJUmlSpVYuHChqwWZl5fH8uXLfS4WkJiYWCDszDPPdK3FWqVKFWbMmEFGRkYBubKO05VqvsYaR/wUuBQYDVxm/+6sqqFcy/RSIBqY7xU+H2gjIo39RbQ3Mvb1WrMBqBs8FQ2G4FPUfMOK2vpxiuly9o+IcNVVV7Fx40aXgXz//fe54IILeO211zxk/7+9e4+3o6zvPf75EnIhxByCNkF9eQi3eoDjpRqttgobyq0FBOQWEdC+RE69Qq2tcDhavJwDHC3iKZ5WQMslFIQoFsWiEd3RNuABgSDhGiCpCAFCCCEGkpD8zh/PLJg9WXuv26y1Zq9836/XvHb2zDMzzzOzs37reWae5yl231i3bh1nnHEG06dP59xzG9VJxpem+yFGxF0RcUxEzIqIidnP4yLi193MIKlmuh5YWlhfq9fv1cYx9wHuG2XbbyRtkrQ8qwlvN0o6s64aq7+haz+Nucm5eZI45JBDWLRoEYcddtiIbY8//vio+332s59l48aN3c5ez6jqnTclXQS8JyJ2KqzfHXgQODkirmjheKeSxmE9MSKuzK0/EXgtcAfpJaGDSBMjL4yIA8c41qkAs2bNeuvVV1895rnXrl3LtGnTms3quOQy9sbDz6xk4+ZNIyby3bR5MxO3mcCuMzpvUq1CGTvV6BoNQhkbKbOMd911F5dffvmIIegOOuggzjjjjI6GkNtvv/1+FRFzyshjp0YNiJK+1cJxIiI+1NQJpQOABU0kXRgRQ5IuBg6LiFcXjrMH6QWZpgOipCHgRuCaiDi5ifSnARcAB0bET8ZKO2fOnLjtttvGPN7w8DBDQ0PNZHXcchl7Y84l5zBr2nS2yX0QbY7gibVruO2UMzs+fhXK2KlaLXr7SZNGDEhQq2UPQhkb6WYZN27c2HAWj2ZIqkxAHKtX5v40352ilWrmImDPJtLVnv2tAmZIUoyM3jNy2xvKRtu5nvTcs6ngDVxFCohvIw1AYFYJrQ7wvTXygATdVUYwrJpRA2JEzO7GCbOXXEZ7flfPEmAysBsjnyPWnh02HMsoG2/1R8CdpOmqWm30rna7sm11PBxbc7o144gNppZnu+iDG4ENwPsL608E7o6IMYeJz5pWFwAPk5pen2/h3LVz/rKFfcy6bhBngDDrt8oPZBcRT0r6KnCmpOeA20kd7PcHjsinlXQTsHNE7J79PpMUDCcBfwvsVXj4e0dErM/S3gFcDtxPqhEeCHwCuDEifta9Epq1x7Ufs3JVPiBmzgLWkt763IkUtI6LiO8X0k1gZJn2AnbO/v2DOsfdBViW/ft+4OPAq7PjPAR8AfjfnWd/61bGANVbI183s94aFwExIjYBX8qWsdINFX4fBpp6Hzgi5raZPRtD/k2/fH85N++NzdftZf5iYL0yHp4h2jjm0ULaU+Xr1ssRcjwAQTUN6ihJDojWVR4tpD1VvW69DlBV/mKwtRrkLylNBURJ/y7pJEmTu50hGyweoLo9Vb1uvQ5QVf1isDUb5C8pzdYQNwKXAY9JOl/Sf+linmyANBqg2uqr6nXrdYDqxheDWnPfvStXDFRzX68M8peUZme7GCKNLnMZcDKwRNKwpOMlDd5wBVYa95drT1WvW69rrmV/Mcg3902cMGGgmvt6paqtF2Vo+i3TiLgf+JSkM4HjSINa/zOwUtI/ARdFxMPdyaaNZ+4v154qXrdej5BT9vBr+eY+4KWfF966sHLXuqoGeZSklrtdZB3Zr5C0BDifNJXS3wCflnQd8ImIWFFuNs2sCvoxPmiZXwweWb2SWdOmj1g3KM19vTLIY8S2FBCzuQHfB/wF8FbSmKSnAdcChwNnA1cCf1JqLs2sMqpYc22WB0Uvx3j+GxhLs2+ZvkHShcBjwD8Cy4EDImLviPj7iFgREReTAuUfdy+7Zmbtyz+TBCrzspJVQ7M1xMWkYHgB6VnhaFMoLwVuLiNjZmZlyzf3bdy0iZlTp1e+uc8j9fROswHxWOB72RBqo4qIe4H9Os6VmVmX1Jr7hoeH+chQtUds9BB+vdVst4vvNAqGZmZWrkHuBF9FHrrNzKyiBrkTfBU5IJqZVdQgd4KvIgdEM7OKquoQfoPKAdHMrKKqOoTfoBoXEwSbmW2tBrUTfBW5hmhmZoYDopmZGeCAaGZmBjggmpmZAQ6IZmZmgN8yNSuVB2I2G79cQzQrSW0g5ifXrRkxEPPC5Q907XzHzr+YOZecw7HzL+7aecy2Fg6IZiXp5UDMvQ6+ZlsDB0SzkvRyIGbPgmBWPgdEs5L0ciBmz4JgVj4HRLOS9HIgZs+CYFa+cREQJW0j6UxJyyS9IGmxpKOb3PdSSVFnuaBO2ndJWiTpeUkrJJ0vabvyS2SDqJcDMXsWBLPyjZduF18EPg2cBfwKmAtcK+mwiPhhE/s/BbynsO7x/C+S3ggsAH4EHAbsAnwZeC1wfEe5t61GrwZirgXfEV089nUXD7NOVD4gSppJCobnRsRXstU/k7Q7cC7QTEDcEBG3NEjzeeBR4NiI2JidewNwmaTzIuL29kpg1h2eBcGsXOOhyfRgYBIwr7B+HvAGSbt0egJJE4FDgGtqwTBzDbABOKLTc5iZWbVVvoYI7A2sB5YW1i/Jfu4FPNLgGDMlrQR2AB4Gvgl8JSI2Zdt3A6YAd+d3iogXJD2UncPMesij/livjYeAuCOwOiKisH5VbvtY7iQ9d1xCCnpHAecAewCnFI7xTJ39V412DkmnAqcCzJo1i+Hh4TEzsnbt2oZpxjuXcTD0u4xrN6znN2ue4QBNZ8Ird2DT5s3cc+vtPHf/I0ybNLmcc/g+WkHPA6KkA0gvrzSyMCKGAAHFYEi2vqGIKL5N+kNJa4HTs2eDD+aO1dJ5IuIi4CKAOXPmxNDQ0Jh5GR4eplGa8c5lHAz9LuOx8y/myXVrmD755Ze816x/npk8x7XHfLiUc/S7jL2wNZSxTP2oIS4C9mwi3brs5ypghiQVaokzcttbdRVwOjAHeJCxa5szeLl51sx64JHVK5k1bfqIdR54wLqt5wExItYB97WwyxJgMuk5X/45Yu253j1tZKNYI3yI9Jxy7xGJpCnArsC1bZzDzNq0yw6v2qKG6IEHrNvGw1umN5Le9Hx/Yf2JwN0R0eiFmnpOIAXDWwEiYkN2nuMk5b8kHEMKxte3cQ4za5MHHrB+qPxLNRHxpKSvAmdKeg64ndRRfn8K3SEk3QTsHBG7Z7/vDFwBXE2qXU4mvVTzQeAbEfFQbvezgZuBayR9HZhN6pg/PyJ+1a3ymdmWPPCA9UPlA2LmLGAtcBqwE3A/cFxEfL+QbgIjy/Qc6fngZ4BZpFrhvcAngf+b3zEi7pR0MHAecAPwLHA58N/LLoyZNeaBB6zXxkVAzPoLfilbxko3VPh9FXBkC+f5OfDONrJoZmbj3Hh4hmhmZtZ1DohmZmY4IJqZmQEOiGZmZoADopmZGeCAaGZmBoyTbhdmZuONp68af1xDNDMr2cLlD/BXC77Dk+vWMGvadJ5ct4a/WvAdFi5/oN9ZszE4IJqZlezCWxey/aRJTJ+8HdtITJ+8HdtPmsSFty7sd9ZsDA6IZmYle2T1SqZNmjJinaevqj4HRDOzku2yw6tYu+GFEes8fVX1OSCamZXM01eNTw6IZmYlq01fNXPqdJ5Yu4aZU6fzdwce7bdMK87dLszMusDTV40/riGamZnhgGhmZgY4IJqZmQEOiGZmZoADopmZGeCAaGZmBjggmpmZAaCI6HceBoKkp4DlDZK9Chj0wQxdxsHgMg6G8VDGnSPi9/qdCXBA7ClJt0XEnH7no5tcxsHgMg6GraGMZXKTqZmZGQ6IZmZmgANir13U7wz0gMs4GFzGwbA1lLE0foZoZmaGa4hmZmaAA6KZmRnggFgKSdtIOlPSMkkvSFos6egm9pstKcZY5ubSnj1Kmu91t3Qvnb+tMmb7XjpK3i+ok/ZdkhZJel7SCknnS9qu/BLVzWe793G6pM9l+X5a0urs30fWSduT+yjpdZLmS3pW0hpJ35X0n5vcd4qkL0t6PLsPN0vap066tv8mytBuGSXNkXSRpPskrZP0H5KulLRLnbTLRrlfW9zbbujwPo72ufLmQrq+3sdKiQgvHS7A/wTWA58G9gO+AWwG/qzBfpOBd9RZfgK8AOyYS3s2EMAfF9L+fpXLmO17KfBknXLuXEj3RuB54HvAnwCnAM8A365yGYH/CqwAzgH+FDg4K3MAHyuk7fp9BKYCDwJ3A0cCRwC/Bh4Ctm9i/yuB1cCHs/vw3ey+vLmsv4l+lhH4CvDvwEeBfYETgHuBp4HXFdIuA26s87c7o8plzPYP4J/q5H1qVe5j1Za+Z2C8L8DM7I/p84X1NwF3tXG8qcAa4NrC+toH6bbjrYxZcHi0iXTXZR8AE3PrTs7K/ZaqlhHYvvghk9v3P3p9H4HTgE3A7rl1uwAvAp9qsO+bsvz9eW7dtsD9wPVl/U30uYy/V2fdzlkQ+EJh/TJgXrfLU3YZs7QBfKlBmr7ex6otbjLt3MHAJGBeYf084A31mmEaeC/wCuCyEvJWlrLLuAVJE4FDgGsiYmNu0zXABtK3425qu4wR8buIWFdn023Aa8rLYtPeA9wSEUtrKyLiEVKtqNF1fA+wEfh2bt8XgauBgyVNzlZ3/W+iiXy2VcaIeKrOuuXAU8BrS85nJzq5j83q932sFAfEzu1N+oa1tLB+SfZzrxaP9wFS8+KNo2z/jaRNkpZLOq9Hz9fKKONMSSslvSjpAUmfkTQht303YAqpeeglEfECqYmo1evYqrLvI8A+wH2jbOvmfdybwnXMLKFxOfYGHqkT4JeQPjh3z6Ur+3q1opMybkHSnqTa0r11Nh+ePWtcL+mWXj0/pJwyfiTL9zpJP5X07jrn6Od9rJRt+52BAbAjsDqydoacVbntTZH0WmB/4GvZt/K8pcAZwB2kppCDgL8E3gIc2Ea+W9FpGe8EfkX6TzYFOIr0vG0P0nPC/DGeqbP/qibO0anS7iOApFNJz2tOLGzqxX3ckdGv44wO9q1tr/0s7Xq1oZMyjiBpW+AfSTXEbxY2fx+4FXgEmAV8HLhO0kkRUaxVla3TMs4DfgA8RmoS/mvgp5IOjIjh3Dn6eR8rxQGxQNIBwIImki6MiCFApA+2LQ7VxulPItXat2gurfOfb4GkR4ELJB0QET9p9iS9LmNEFN8m/aGktcDpks6LiAdzxyrlWvbzPkoaAv4PcEVEXJnfVuZ9bKDdsjR7Hcr8u29XWee/EPgj4NCIGBGAIuITIw4uXQfcQvpC1+2ACJ39vzsp9+svJP0Lqcb5JeBduWP1+z5WhgPilhYBezaRrtaktAqYIUmFb1kzctubdTJwZ0QsbjL9VcAFwNtIb6Y2q59lrLkKOB2YQ3qRZqxvpDN4uQmnWX0po6S3AdcDPwU+1GRe272Po3mG0a9jvRpH3iqg3mv9xevQjb+JVnRSxpdIOgc4FfhARPy4UfqI2CTpWuA8Sa+OiMebPVcbSiljTUQ8J+kGRv5d9vs+VooDYkH27GS05z71LCF1n9iNke3wtbb3e5o5SPZBuiep+axVLY2/168yFhRrhA+RnmXsPSKRNAXYFbi2lYP3o4yS3gD8iNREfHTh5aBmlDWO4hIK1zGzF43LsQQ4StLUwnPEvUgvNy3NpSv7b6IVnZQRAElnkZqvPxkRV7Rw7rFaM8rUcRnrKNYI+30fK8Uv1XTuRtIHxfsL608E7s7eCmvGB0ivU/9zC+eunfOXLezTjrLKmHcC6T/mrQARsSE7z3HZM52aY0j/Ya9v4xyt6KiMkvYgNdE+DBwWEc+3cO6y7+P1wDsk7ZrL32xS38dG1/F6YCJwbG7fbYHjgR9HxPpsdTf+JlrRSRmR9ElS0+FZEfH3zZ40uxbHkrrTrGgxz63qqIxFkqYDhzLy76zf97Fa+t3vYxAW4FxSR/pPAUPAP5D6NB1eSHcTsLTO/hNJs1pfP8Y57iDVHv+M1Pn7fNLr8f9a5TKSHub/nNQJ+iDgcOBb2b7/UNj3zaQO4N8ldQj/EKnJ5tpul6/DMs4k9VdbRfrAKXaEntzL+0jqF7mU1In7CNLr+4tJwXpa4d68CHyusP/VpCa5U7L7MD+7Lm8ppGvqenXpXrVdRmBuls9/rXOv9sqle192LU4mdVifC/yC9EVubsXL+GngYtIXzyHSF+5fk4Lfu6tyH6u29D0Dg7AAE4D/ASwnNfvdBRxTJ90wsKzO+qOy/2RHj3GOq0nNiuuyc9wDfDb/YVvFMpKegXwv2+8FUsC7nfS23jZ19t8HuDlL+wTp2doWnd4rVsah7P6Ntszu9X0kPQf8DmmQh+eyezC7kGZ2lr+zC+u3IwXqFdl9+CUw1O716uL9aquMvDyKUL1lOJfuHaRnwU+QvrQ8S3rGe/A4KOPhpP6KK7O8P02qVb69avexSounfzIzM8PPEM3MzAAHRDMzM8AB0czMDHBANDMzAxwQzczMAAdEMzMzwAHRrBSSlkm6tI/n30HS2ZLeUmfbsKThPmQLSW/Nph4qZZ5BSX+QHa/eeKtmHXFANBsMOwB/S5pGquij2dIPXwa+FRG/LeNgEXEHaYi8L5ZxPLM8B0SzARcR90REzwdpzmqr+5GGAivTN4ATJL2m5OPaVs4B0QyQtL2k+yT9P0kTc+sPkrRZ0sfaOObbJf1E0lpJv5N0k6S310m3r6QFkp7N0i2W9KHc9rnZbOdPZce6Q9IHcttnkyawBbhYUmTLB7PtWzSZSnq9pOskrZb0fDYT/CGFNGdnx9lD0g3ZuZdL+pykZj47PgzcFREjpu7KmpfnSTpJ0v3Z+X+RnWd7Sd+Q9LSkJyT9XWGwd4Afk4Yy+2ATeTBrmgOiGRARvyMN5vwmsuY4STOBy4EfRMTXWzmepDcCC0nzyn2QNED0dGChpDfl0h1BGix8EvDfSIM4f4s0YHPNrqQBtt8PHEmaxf0SSX+RbX8ceG/273OAd2bLDaPk7TXAv2Vl/ThwHLAauEHSn9bZ5TrSmJ5HksbS/DxpsOhGDiENhl3PPqRm3M9kx9qNNGbnlaQxO+cCF5EGnD41v2NEvEga73ZEADfrWL8HU/XipUoLaSaKzcABpKlxfgu8qon9lgGX5n6fTwoyO+TWTSfNiPHd7Hdl+91GnYHORznPNqR5TC8GFufWzyYN8HxKnX2GGTlo9VdIsyPsnls3AbgfuD237uzsmH9eON6vSVNBjZXPWdm+Hx7lWq0C/lNu3Sez9JcU0t4O/KzOMb5IGni8qevmxUszi2uIZiNdQAqEPyBNV3VyRKxs4zj7kGqWq2srImINacaBfbNVryfVBC+JiM2jHShrSrxK0m9JMxdsJE3N9Po28lXL2y0R8dKEsBGxCbgKeHM2b15esaZ5N2kWhrHUnu89Ncr2myPi2dzvtcmcf1RIdx/wujr7P0WaJ7PejPJmbXFANMuJiACuIH3YLo6Im9o81I6kpsyiFaRmVIBXZj8fHe0gkqaR3qp8E2l293cDbyM1q07uQt6Uy1/NqsLv64EpDc5R275+lO3PFH7fMMb6eueqTcC8XYN8mDWt+LDabKsmaSdSLfF24A8knRYRX2vjUKuAneqs34mXA0yt5jlWH713kmqR746If8vls5P/u2PlLdgyALbj6exnMbiWpVYzbKf2blaXa4hmGUkCLiPVSg4kBcbzshdkWrUQOFTSK3LHfwVp4taF2aoHSM/TTsnOXc/U7OfG3HFmkF6+yavVxJqpMS0E3pG9nVo75gTgeOCOiHiuiWM0soz0jG/XEo5Vzy7AbyLi+YYpzZrkgGj2sk+RXqY5MSJWkZoo7wGuktRq09wXScHpJklHS3ovabb1qcAX4KXm2dNJnel/Kul4SftL+pikz2fHWUTqYvB1SYdKOo4U0Io1oydItbK5WTeOOZJeSX1fJb3ws0DSCZIOI725+vvAWS2Ws66I2AD8Etiim0lJ/hD4eZeObVspB0Qz0pBgwP8CzomIhfDSh/r7SG9wnt/K8SLiLmCIFMwuIz2XXAvsGxGLc+n+hVQbBfgm6aWbU0k1LCLiKeAo0lug80ndKi4B5hXOt5n0os0MUuC9lVQbrZe3x4B3AUtInebnk5ogD42IG1spZwPfBvaXtH2Jx0TS60jPVK8u87hmSl9SzczKlb2t+ijw0YiY1yh9C8f9DPARYLfs7VizUriGaGZdkXUzOQ/4mzGekbZE0hTgNOBzDoZWNr9lambddD6puffVwGMlHG828DVSE7RZqdxkamZmhptMzczMAAdEMzMzwAHRzMwMcEA0MzMDHBDNzMwA+P/Fo3dFp5CzgwAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"a1n,a0n=np.polyfit(xposition,yposition,1)\n",
"flinear= lambda x: a1n*xposition +a0n\n",
"\n",
"\n",
"plt.scatter(xposition,yposition,color='#008368',alpha=0.7,label='data points');\n",
"plt.plot(xposition,flinear(xposition),'k--',label='linear regression');\n",
"plt.legend(loc='best');\n",
"plt.grid();\n",
"plt.xlabel('x location (m)');\n",
"plt.ylabel('y location (m)');\n",
"plt.title('linear regression of data points collected');\n",
"\n",
"print('This plot shows a linear fit for our data. As the data points are so scattered, this line is not a great fit, but it does show the general trend of the data')"
]
},
{
"cell_type": "code",
"execution_count": 149,
"metadata": {},
"outputs": [],
"source": [
"d=3\n",
"g=9.81\n",
"z0=0.3\n",
"#4<v0<12\n",
"\n",
"#zimp=(d/costheta)*(sintheta-(d*g/(2vo^2costheta)))+z0\n",
"#uncertainty is in theta and v0\n",
"\n",
"def montecarlo(N):\n",
" \n",
" '''This function returns the impact height for random values of theta and vo between 4 and 12m/s\n",
" \n",
" Arguments:\n",
" N: number of random numbers generated and heights returned\n",
" \n",
" Returns:\n",
" zimp: the z coordinate of impact for the random theta and vo values'''\n",
" \n",
" theta=np.random.rand(N)\n",
" v0=np.random.rand(N)\n",
" \n",
" vo=4+8*v0\n",
" \n",
" yimp=(d/np.cos(theta))*(np.sin(theta)-((d*g)/(2*(vo**2)*np.cos(theta))))+z0\n",
"\n",
" return yimp"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 139,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The percentage of coverage at 1 std of the ymean is : 50.00 %\n",
"The percentage of coverage at 2 std of the ymean is : 100.00 %\n",
"The percentage of coverage at 3 std of the ymean is : 100.00 %\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"impactheights1=montecarlo(10)\n",
"\n",
"ymeanmonte1=np.mean(impactheights1)\n",
"ystdmonte1=np.std(impactheights1)\n",
"\n",
"plt.hist(impactheights1);\n",
"plt.xlabel('distance from target (m)');\n",
"plt.ylabel('frequency');\n",
"plt.title('y position with random theta and vo values');\n",
"\n",
"ylocationmonte1_std1_per, ylocationmonte1_std2_per, ylocationmonte1_std3_per = std_percentages(impactheights1, ymeanmonte1, ystdmonte1)\n",
"\n",
"print('The percentage of coverage at 1 std of the ymean is : {:.2f} %'.format(ylocationmonte1_std1_per))\n",
"print('The percentage of coverage at 2 std of the ymean is : {:.2f} %'.format(ylocationmonte1_std2_per))\n",
"print('The percentage of coverage at 3 std of the ymean is : {:.2f} %'.format(ylocationmonte1_std3_per))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 138,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The percentage of coverage at 1 std of the ymean is : 74.00 %\n",
"The percentage of coverage at 2 std of the ymean is : 94.00 %\n",
"The percentage of coverage at 3 std of the ymean is : 100.00 %\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"impactheights2=montecarlo(50)\n",
"\n",
"ymeanmonte2=np.mean(impactheights2)\n",
"ystdmonte2=np.std(impactheights2)\n",
"\n",
"plt.hist(impactheights2);\n",
"plt.xlabel('distance from target (m)');\n",
"plt.ylabel('frequency');\n",
"plt.title('y position with random theta and vo values');\n",
"\n",
"ylocationmonte2_std1_per, ylocationmonte2_std2_per, ylocationmonte2_std3_per = std_percentages(impactheights2, ymeanmonte2, ystdmonte2)\n",
"\n",
"print('The percentage of coverage at 1 std of the ymean is : {:.2f} %'.format(ylocationmonte2_std1_per))\n",
"print('The percentage of coverage at 2 std of the ymean is : {:.2f} %'.format(ylocationmonte2_std2_per))\n",
"print('The percentage of coverage at 3 std of the ymean is : {:.2f} %'.format(ylocationmonte2_std3_per))"
]
},
{
"cell_type": "code",
"execution_count": 137,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The percentage of coverage at 1 std of the ymean is : 66.00 %\n",
"The percentage of coverage at 2 std of the ymean is : 97.00 %\n",
"The percentage of coverage at 3 std of the ymean is : 100.00 %\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"impactheights3=montecarlo(100)\n",
"\n",
"ymeanmonte3=np.mean(impactheights3)\n",
"ystdmonte3=np.std(impactheights3)\n",
"\n",
"plt.hist(impactheights3);\n",
"plt.xlabel('distance from target (m)');\n",
"plt.ylabel('frequency');\n",
"plt.title('y position with random theta and vo values');\n",
"\n",
"ylocationmonte3_std1_per, ylocationmonte3_std2_per, ylocationmonte3_std3_per = std_percentages(impactheights3, ymeanmonte3, ystdmonte3)\n",
"\n",
"print('The percentage of coverage at 1 std of the ymean is : {:.2f} %'.format(ylocationmonte3_std1_per))\n",
"print('The percentage of coverage at 2 std of the ymean is : {:.2f} %'.format(ylocationmonte3_std2_per))\n",
"print('The percentage of coverage at 3 std of the ymean is : {:.2f} %'.format(ylocationmonte3_std3_per))"
]
},
{
"cell_type": "code",
"execution_count": 136,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The percentage of coverage at 1 std of the ymean is : 67.62 %\n",
"The percentage of coverage at 2 std of the ymean is : 95.85 %\n",
"The percentage of coverage at 3 std of the ymean is : 99.81 %\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"impactheights4=montecarlo(10000)\n",
"\n",
"ymeanmonte4=np.mean(impactheights4)\n",
"ystdmonte4=np.std(impactheights4)\n",
"\n",
"plt.hist(impactheights4);\n",
"plt.xlabel('distance from target (m)');\n",
"plt.ylabel('frequency');\n",
"plt.title('y position with random theta and vo values');\n",
"\n",
"ylocationmonte4_std1_per, ylocationmonte4_std2_per, ylocationmonte4_std3_per = std_percentages(impactheights4, ymeanmonte4, ystdmonte4)\n",
"\n",
"print('The percentage of coverage at 1 std of the ymean is : {:.2f} %'.format(ylocationmonte4_std1_per))\n",
"print('The percentage of coverage at 2 std of the ymean is : {:.2f} %'.format(ylocationmonte4_std2_per))\n",
"print('The percentage of coverage at 3 std of the ymean is : {:.2f} %'.format(ylocationmonte4_std3_per))"
]
},
{
"cell_type": "code",
"execution_count": 131,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Our data from class had 1st, 2nd, and 3rd percentiles of 62.96,96.30,100\n",
"To compare our class data to the montecarlo model, I will find the percent error for each std percent and sum them\n"
]
}
],
"source": [
"print('Our data from class had 1st, 2nd, and 3rd percentiles of 62.96,96.30,100')\n",
"print('To compare our class data to the montecarlo model, I will find the percent error for each std percent and sum them')"
]
},
{
"cell_type": "code",
"execution_count": 135,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The percent difference for case 1 is : 20.52 %\n",
"The percent difference for case 2 is : 5.62 %\n",
"The percent difference for case 3 is : 2.93 %\n",
"The percent difference for case 4 is : 7.09 %\n",
"These results indicate that case 3, with N=100, gives the closest results to our class data. I find this interesting, as I had assumed the accuracy would increase with the number of samples. However, all cases expect the first had low percent errors, which indicates that they could each give fairly similar results\n"
]
}
],
"source": [
"\n",
"\n",
"percenterror1 =(((ylocationmonte1_std1_per-ylocation_std1_per)/ylocation_std1_per)+((ylocationmonte1_std2_per-ylocation_std2_per)/ylocation_std2_per)+((ylocationmonte1_std3_per-ylocation_std3_per)/ylocation_std3_per))*100 \n",
"percenterror2 =(((ylocationmonte2_std1_per-ylocation_std1_per)/ylocation_std1_per)+((ylocationmonte2_std2_per-ylocation_std2_per)/ylocation_std2_per)+((ylocationmonte2_std3_per-ylocation_std3_per)/ylocation_std3_per))*100\n",
"percenterror3 =(((ylocationmonte3_std1_per-ylocation_std1_per)/ylocation_std1_per)+((ylocationmonte3_std2_per-ylocation_std2_per)/ylocation_std2_per)+((ylocationmonte3_std3_per-ylocation_std3_per)/ylocation_std3_per))*100\n",
"percenterror4 =(((ylocationmonte4_std1_per-ylocation_std1_per)/ylocation_std1_per)+((ylocationmonte4_std2_per-ylocation_std2_per)/ylocation_std2_per)+((ylocationmonte4_std3_per-ylocation_std3_per)/ylocation_std3_per))*100\n",
"\n",
"\n",
"print('The percent difference for case 1 is : {:.2f} %'.format(percenterror1))\n",
"print('The percent difference for case 2 is : {:.2f} %'.format(percenterror2))\n",
"print('The percent difference for case 3 is : {:.2f} %'.format(percenterror3))\n",
"print('The percent difference for case 4 is : {:.2f} %'.format(percenterror4))\n",
"print('These results indicate that case 3, with N=100, gives the closest results to our class data. I find this interesting, as I had assumed the accuracy would increase with the number of samples. However, all cases expect the first had low percent errors, which indicates that they could each give fairly similar results')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}