{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Lecture 8 ##\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-Introduction: [>>](#Introduction) \n", "-Projectile motion with no air resistance: [>>](#Projectile-motion-with-no-air-resistance) \n", "-Projectile motion with air resistance: [>>](#Projectile-motion-with-air-resistance) \n", "-Projectile motion: behaviour of velocity with time: [>>](#Projectile-motion:-behaviour-of-velocity-with-time) \n", "-Putting multiple plots in one figure: [>>](#Putting-multiple-plots-in-one-figure) \n", "-Summary: [>>](#Summary) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Introduction\n", "\n", "This week we shall use Euler's method and some of the programming techniques we have developed to look at a physics problem that cannot be solved analytically: projectile motion with air resistance. We shall then look at some more plotting routines.\n", "\n", "## Projectile motion with no air resistance\n", "We know we can work out the path of a projectile algebraically in the absence of air resistance. We use Newton's Second Law:\n", "\n", "\\begin{align*}\n", "\\vec{F} &= m\\vec{a}\\\\\n", " &= m\\frac{d}{dt}\\vec{v}\\\\\n", " &= m\\frac{d^2}{dt^2}\\vec{r},\n", "\\end{align*}\n", "\n", "where, $\\vec{F}$ is the force, $m$ the mass, $\\vec{v}$ velocity, $\\vec{r}$ the position and $t$ the time. Separating the motion into its horizontal ($x$) and vertical ($y$) components, for the former we have:\n", "\n", "\\begin{align*}\n", "\\frac{d^2x}{dt^2} &= 0,\\\\\n", "\\Rightarrow \\frac{dx}{dt} &= u_{x},\\\\\n", "\\Rightarrow x &= u_{x} t + x_0.\n", "\\end{align*}\n", "\n", "Here, $u_{x}$ is the initial velocity of the projectile in the $x$ direction and $x_0$ its initial position. Taking the origin of the $x$ axis to be the position from which the projectile is launched at $t = 0$ gives $x_0 = 0$.\n", "\n", "In the vertical direction, setting the vertical force to be $mg$, with $g = -9.81\\,$ms$^{-2}$, we have:\n", "\n", "\\begin{align*}\n", "m\\frac{d^2y}{dt^2} &= mg,\\\\\n", "\\Rightarrow \\frac{d^2y}{dt^2} &= g,\\\\\n", "\\Rightarrow \\frac{dy}{dt} &= gt + u_{y},\\\\\n", "\\Rightarrow y &= \\frac{1}{2}gt^2 + u_{y} t + y_0,\n", "\\end{align*}\n", "\n", "where $u_{y}$ is the initial vertical velocity and we have assumed the height from which the projectile is launched is $y = y_0$.\n", "\n", "Setting $y_0 = 0$ for simplicity, the times at which the projectile is at ground level can be found from:\n", "\n", "\\begin{align*}\n", "y &= 0\\\\\n", " \\Rightarrow \\frac{1}{2}gt^2 + u_{y}t &= 0\\\\\n", " \\Rightarrow t\\left( \\frac{gt}{2} + u_{y} \\right) &= 0\\\\\n", " \\Rightarrow t &= 0{\\mbox{ or }} - \\frac{2u_{y}}{g}.\n", "\\end{align*}\n", "\n", "Taking $u_{x} = 30\\,$ms$^{-1}$ and $u_{y} = 40\\,$ms$^{-1}$, the trajectory of the projectile can be plotted using the equations for the vertical and horizontal motion in terms of the time." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "#\n", "ux = 30 # m/s\n", "uy = 40 # m/s\n", "g = -9.81 # m/s**2\n", "tMax = -2*uy/g # s\n", "nSteps = 100\n", "tArr = np.linspace(0.0, tMax, nSteps)\n", "#\n", "xArr = ux*tArr\n", "yArr = 0.5*g*tArr**2 + uy*tArr\n", "#\n", "plt.figure(figsize = (6, 5))\n", "plt.title(\"Projectile motion, no air resistance\")\n", "plt.xlabel(\"x (m)\")\n", "plt.ylabel(\"y (m)\")\n", "plt.plot(xArr, yArr, linestyle = '-', color = 'b')\n", "plt.grid(color = 'g')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Projectile motion with air resistance\n", "\n", "What happens of we include the effect of air resistance? In addition to the gravitational force, the projectile then experiences a drag force which acts in the opposite direction to its velocity. The magnitude of the force is given by:\n", "\n", "$$\n", "D = \\frac{1}{2}C_D \\rho_{\\rm {air}} A v^2,\n", "$$\n", "\n", "where $C_D$ is the drag coefficient (which is dependent on the projectile's shape), $\\rho_{\\rm{air}}$ is the density of air and $A$ is the area of the projectile in the plane normal to its velocity. Drag coefficients for various shapes are given in *Figure 1*.\n", "\n", "![](DragCoeffs.png)\n", "*Figure 1: Some drag coefficients.*\n", "\n", "Introducing drag modifies the expression for the horizontal acceleration of the projectile as follows:\n", "\n", "\\begin{align*}\n", "m\\frac{d^2x}{dt^2} &= -D\\cos \\theta \\\\\n", " \\Rightarrow \\frac{d^2x}{dt^2} &= -\\frac{D}{m}\\cos \\theta. \n", "\\end{align*}\n", "\n", "Here, $\\theta$ is the angle the velocity makes to the horizontal. Notice that we cannot write down a simple expression for $v_x = \\frac{dx}{dt}$ in terms of $t$: there is no algebraic form for the integral as $\\theta$ is a function of $t$.\n", "\n", "The expression for the vertical acceleration becomes:\n", "\n", "\\begin{align*}\n", "m\\frac{d^2y}{dt^2} &= -D\\sin \\theta + mg\\\\\n", " \\Rightarrow \\frac{d^2y}{dt^2} &= -\\frac{D}{m}\\sin \\theta + g.\n", "\\end{align*}\n", "\n", "Again, we cannot write down an algebraic expression for $v_y = \\frac{dy}{dt}$. \n", "\n", "In order to plot the trajectory with air resistance, we need to resort to numerical methods. The simplest technique is to break the trajectory down into a set of small steps, each of which takes only a small time $\\delta t$. Given the force, acceleration, velocity and position at the start of each step, we can calculate these quantities at the end of the step. Repeating this process many times allows us to map out the trajectory. Horizontally, for the $i^{\\rm{th}}$ step, the change in velocity is given by:\n", "\n", "\\begin{align*}\n", "\\frac{d^2x_i}{dt^2} &= \\frac{dv_{x\\,i}}{dt} = -\\frac{D_i}m\\cos \\theta_i \\\\\n", " \\Rightarrow \\delta v_{x\\,i} &= -\\frac{D_i}{m}\\cos \\theta_i \\,\\delta t.\n", "\\end{align*}\n", "\n", "The change in the vertical velocity is:\n", "\n", "\\begin{align*}\n", "\\frac{d^2y_i}{dt^2} &= \\frac{dv_{y\\,i}}{dt} = -\\frac{D_i}{m}\\sin \\theta_i + g\\\\\n", " \\Rightarrow \\delta v_{y\\,i} &= -\\frac{D_i}{m}\\sin \\theta_i \\, \\delta t + g\\,\\delta t.\n", "\\end{align*}\n", "\n", "Hence, at the end of the step, the components of the velocity are:\n", "\n", "\\begin{align*}\n", "{v_{x\\,i + 1}} &= {v_{x\\,i}} + \\delta {v_{x\\,i}}\\\\\n", "{v_{y\\,i + 1}} &= {v_{y\\,i}} + \\delta {v_{y\\,i}}.\n", "\\end{align*}\n", "\n", "The position at the end of the step is given by:\n", "\n", "\\begin{align*}\n", "x_{i + 1} &= x_i + v_{x\\,i} \\delta t \\\\\n", "y_{i + 1} &= y_i + v_{y\\,i} \\delta t.\n", "\\end{align*}\n", "\n", "We will use this approach, referred to as the Euler method, to plot the trajectory of the projectile. " ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " \n", "Radius 0.025 m, mass 0.131 kg.\n", "Initial position ( 0.00, 0.00) m.\n", "Initial velocity (30.00, 40.00) m/s.\n", "Maximum time 8.155 s, time step 1.631e-03 s.\n", "Final step is number 5000, actual flight time 8.155 s.\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def drag(cd, area, rho, velx, vely):\n", " '''\n", " Return horizontal and vertical drag force on body given its drag coefficient, area, \n", " density of medium in which it's moving and horizontal and vertical velocity.\n", " '''\n", " v2 = velx**2 + vely**2\n", " sinTheta = vely/np.sqrt(v2)\n", " cosTheta = velx/np.sqrt(v2)\n", " Dx = -0.5*cd*rho*area*v2*cosTheta\n", " Dy = -0.5*cd*rho*area*v2*sinTheta\n", " return Dx, Dy\n", "#\n", "nEuler = 5000\n", "dt = tMax/nEuler\n", "xEuler = np.zeros(nEuler)\n", "yEuler = np.zeros(nEuler)\n", "xE = 0.0 # m\n", "yE = 0.0 # m\n", "vX = ux # m/s\n", "vY = uy # m/s\n", "#CD = 0.47 \n", "CD = 0.0\n", "rad = 0.025 # m\n", "Area = np.pi*rad**2 # m**2\n", "rhoAir = 1.2 # kg/m**3\n", "rhoProj = 2000.0 # kg/m**3\n", "mProj = 4/3*np.pi*rad**3*rhoProj # kg\n", "print(\" \")\n", "print(\"Radius {:5.3f} m, mass {:5.3f} kg.\".format(rad, mProj))\n", "print(\"Initial position ({:5.2f}, {:5.2f}) m.\".format(xE, yE))\n", "print(\"Initial velocity ({:5.2f}, {:5.2f}) m/s.\".format(vX, vY))\n", "print(\"Maximum time {:5.3f} s, time step {:5.3e} s.\".format(tMax, dt))\n", "#\n", "iStep = 0\n", "while (yE > 0 or iStep == 0) and iStep < nEuler:\n", " xEuler[iStep] = xE\n", " yEuler[iStep] = yE\n", " xE = xE + vX*dt\n", " yE = yE + vY*dt\n", " dragX, dragY = drag(CD, Area, rhoAir, vX, vY)\n", " vX = vX + dragX/mProj*dt\n", " vY = vY + dragY/mProj*dt + g*dt\n", " iStep = iStep + 1\n", "#\n", "print(\"Final step is number {:d}, actual flight time {:5.3f} s.\".format(iStep, iStep*dt))\n", "plt.figure(figsize = (6, 5))\n", "plt.title(\"Projectile motion\")\n", "plt.xlabel(\"x (m)\")\n", "plt.ylabel(\"y (m)\")\n", "plt.plot(xArr, yArr, linestyle = '--', color = 'b', label = 'No air resist')\n", "plt.plot(xEuler[0:iStep], yEuler[0:iStep], linestyle = '-', color = 'r', label = 'With air resist')\n", "plt.grid(color = 'g')\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Projectile motion: behaviour of velocity with time\n", "It is interesting to investigate the behaviour of the $x$ and $y$ components of the velocity with time. The following code allows this to be done for the horizontal component of the velocity. Notice how markdown syntax can be used in plot titles and axis labels (here for the label on the ordinate, or $y$ axis)!" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " \n", "Radius 0.025 m, mass 0.131 kg.\n", "Initial position ( 0.00, 0.00) m.\n", "Initial velocity (30.00, 40.00) m/s.\n", "Maximum time 8.155 s, time step 8.155e-04 s.\n", "Final step is number 8347, actual flight time 6.807 s.\n" ] }, { "data": { "image/png": "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hw4d6NGjBzNnzvy5faAkqlWrBoQv640bN25z/4QJE/ju2+/Iz89nzpw57L777oV2y6xevXqRz5GTk0PlypWB0Md/wIABzJkzhzlz5vDhhx8ycuRIdt11V95//3169erFHXfc8YuGb4CddtqJt99+m/79+zNp0iT69etXotdXGinbIzCzBsAGd18ZTSDdB7gBeB4YAIyJ/n2u6K3soAYNmLhffU6ZMAFGjoRSnHAhIoUo5pd7os+Xzd/m12uyevbsyc0330yLFi2oXLkydevWZeXKlcybN4+77757m8fXrFmTNWvWlOo5Vq1aRd36dalSpQpTp07l888/36HMBx10EEcffTQXXnghu+22GytWrGDNmjVUr16dqlWr0r9/f/bcc08GDhz4i/W+//57fvzxRw477DB69OhBy5Ytk35NRUnlHkFDYKqZ/Qd4B5ji7pMJBeBgM/sYODi6XW4ePnh3qFQJbryxPJ9GRMpRx44dWb58OT169PjFstq1a1O/fv1tHn/SSSdx44030rlz5xI3rJ566qnMmzOPrl27MmHCBPbaa68dytyuXTuuu+46+vbtS6dOnTj44IP56quvWLx4Mb169SI3N5eBAwdy/fXX/2K9NWvWcMQRR9CpUycOOOCAnxuTk3lNRSpqfOp0vuzwfASDBrlXq+a+ZEnS20mVijQeejpT5pKbP39+UuvNWzqvjJOUv0zNXNjfCM1HsJXLLoMNG+Dmm+NOIiISu+wsBHvuCSefDHfdBd9+G3caEZFYZWchABg2DH74Af7617iTiIjEKnsLQYcOcMwxoRCsXBl3GpGMEg45SzpK5m+TvYUAYMSIUARuuy3uJCIZIycnh2+//VbFIA25O+vXrCcnJ6dU62X3xDSdO8Oxx8Itt8Cf/gS7auBTkeI0adKERYsWsWzZslKt9/War7HlmTV8dSZm/s83/+GUnqeUap3sLgQQTiybODEUg2uvjTuNSNqrUqVKqWa/2uL0f5yeccN4ZGTmN09nQK8BpVonuw8NAXTqBMcfH86QVA8iEclCKgQAV10VehDddFPcSUREUk6FAKB9ezjxRPjb36CUxz1FRDKdCsEWV10FP/2kMYhEJOuoEGyx115wyilw++3w9ddxpxERSRkVgkQjRsD69TB6dNxJRERSRoUgUatWcOaZYQyizz6LO42ISEqoEGztqqtgp53gyivj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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "nEuler = 10000\n", "dt = tMax/nEuler\n", "xEuler = np.zeros(nEuler)\n", "yEuler = np.zeros(nEuler)\n", "vXEuler = np.zeros(nEuler)\n", "xE = 0.0\n", "yE = 0.0\n", "vX = ux\n", "vY = uy\n", "CD = 0.47\n", "rad = 0.025\n", "Area = np.pi*rad**2\n", "rhoAir = 1.2\n", "rhoProj = 2000.0\n", "mProj = 4/3*np.pi*rad**3*rhoProj\n", "print(\" \")\n", "print(\"Radius {:5.3f} m, mass {:5.3f} kg.\".format(rad, mProj))\n", "print(\"Initial position ({:5.2f}, {:5.2f}) m.\".format(xE, yE))\n", "print(\"Initial velocity ({:5.2f}, {:5.2f}) m/s.\".format(vX, vY))\n", "print(\"Maximum time {:5.3f} s, time step {:5.3e} s.\".format(tMax, dt))\n", "#\n", "iStep = 0\n", "while (yE > 0 or iStep == 0) and iStep < nEuler:\n", " xEuler[iStep] = xE\n", " yEuler[iStep] = yE\n", " vXEuler[iStep] = vX\n", " xE = xE + vX*dt\n", " yE = yE + vY*dt\n", " dragX, dragY = drag(CD, Area, rhoAir, vX, vY)\n", " vX = vX + dragX/mProj*dt\n", " vY = vY + dragY/mProj*dt + g*dt\n", " iStep = iStep + 1\n", "#\n", "print(\"Final step is number {:d}, actual flight time {:5.3f} s.\".format(iStep, iStep*dt))\n", "tEuler = np.linspace(0.0, tMax, nEuler)\n", "plt.figure(figsize = (6, 5))\n", "plt.title(\"Projectile motion, horizontal velocity\")\n", "plt.xlabel(\"t (s)\")\n", "plt.ylabel(r\"$v_x$ (m/s)\")\n", "plt.plot(tEuler[0:iStep], vXEuler[0:iStep], linestyle = '-', color = 'r', label = 'With air resist')\n", "plt.grid(color = 'g')\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Putting multiple plots in one figure\n", "\n", "Sometimes it is useful to be able to incorporate more than one plot in a figure. We can do this using `matplotlib.pyplot` as shown below." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "fig = plt.figure(figsize = (12, 9)) # opens a figure \n", "fig.suptitle('Projectile motion plots', fontsize=24) # overall title\n", "#\n", "plt.subplot(2, 2, 1) # creates a 2 row, 2 column grid and starts in the first (top left) square \n", "plt.title(\"Projectile motion, no air resistance\")\n", "plt.xlabel(\"x (m)\")\n", "plt.ylabel(\"y (m)\")\n", "plt.plot(xArr, yArr, linestyle = '--', color = 'b', label = 'x, y funcs of t')\n", "plt.legend()\n", "plt.grid(color = 'g')\n", "#\n", "plt.subplot(2, 2, 2) # plot in second square (reading from left to right, top to bottom)\n", "plt.title(\"Projectile motion, with air resistance\"" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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Qw5ZvbygvCHvdu7uDz/8sHfr1s2XL1/u7u4TJ070hQsX+uTJk33FihXu7j5gwAC/8MIL3d29UaNGPmPGjALzrubNm/vvv/9e5HTJq6h5VKoaAu0L/OHuMwDM7GWgAzDNzBp6uCPYEChcsVIkBk8+CT16QKVKoQ302WeHZhSZPv9f48YwdCjcf3/oxHz//XDmmaHZRqNGoTlGpp9j3J588kkqVKjACSecQE5ODh06dODDDz+kZcuWuT/aEzrmmGMYO3YsG2204XEUOnbsyNZbb02LFi1o3rw5u26okwRw77330rt3bx577DHKly/Pgw8+yPz587n88sspV64cFStW5MEHH1znfUOHDuWss85i8eLFNGnShCeeeGKDx+rduzctW7Zkm5224Y2X3tjg9immPEoy3sUXw733hn65558fBqHIHRQpk7VvH5qw//dfGLHw4Yfh3HND3yxQHpVMl156KYMGDVr9euDAgZx22mnccccdNGjQIOF3/RVXXEGPHj24++672WeffUocQ69evZg8eTK77ror7k6DBg149dVX+eijj7jjjjuoWLEiNWrUWN2kPdePP/6YMO/q3bs3Bx10EA0bNkzdlCUFlbqS+QB2A34iVPoaoe36+cAdwFXRNlcBtxdmf6q5Kj1KlzVWrQp3x0aODOkyY4b7zTe7T5sWd2Sla9Uq93Hj1rw+6ij3c891nzw58faZcM2kQ81VIq+//rrfe++9Ba4/5JBD/IMPPkhmWLFL05qrpOVRqrkqXUqXNZYudX/wQffffgvp8vXX7oMHF77VQaZascL955/D82XL3Hfd1f2GG9znzEm8fTpfM+lQcyVrS0YelZKh2N39K+BF4FvgR8IQ8IOB/sB+ZjYJ2C96LRIrd3jnnTBqUvfuoSYHwnDnffqsGf48W5lBs2bheU4O1K4NgweHO6Dnnx/uHkpydO3alQsuuGCd5XPnzmX77benatWqdOnSJYbIyhblUZJJVq6Exx8P38lnnw3PPx+Wt20bpvpI4XQ+sahQIYzAC2E6k4YNw0iETZqEEXoXLYo3PpGUzXPl7te5+47u3tzdT3b3Ze4+y927uPt20d/ZqYpHJJGvvw4j/B10UBjW9PHH150YsSwpXx4efTTMa9KjBzz4YMjA3n037siyW506dfjll1944YUCei9L0imPkkzw0kvh5tfpp4cbfe+8A1eW4fErN90U3ngjzL+1++5hOPlttglTkYjEJWWFK5FM8O23MGlSqK365Rc49VQNUQ6w5Zah9urnn+HEE6Fdu7B86lTwVZnxNeLr6dsk8dHnIlJ4b78dhi5/5ZVwM/CAA9TfCMI8XG++CZ9/HuZ6yp03UhMTSxz0s1HKtKVL4fbbw+zxPXtCr15hMt4aNeKOLD1tu23oUAyhyeDBB8Ovc57i02Zhwsd0VaVKFWbNmkW9evUw/RJJG+7OrFmzqFKlStyhiKSlmTPhqqugd+9wU2vAgNDsT3M+JZZ3jsfp06F5c7BG9/LrPiH/EkkFFa6kzPrwwzCa0qRJYfbznj1DLZUKVoVTrhxcey2cdHYN9torNFO5/XaoWzfuyNa1xRZbMHXqVGbMWM+kH0n234L/sJkqyOWXP12qVKnCFltsEWNEIunHHYYMgcsugwULoE2bULiqWTPuyDJHnTphEuLL/29nmjeHa66Byy+HypXjjkyynQpXUubMnAmXXAL/+1+4k/Xee2vPFi+FYwZHHw23/HcM+0/9jLvuguHDYeTINQNipIuKFSuunv09VU4efDKje49O6TEzgdJFZP1+/jlMh/HJJ7DHHmHo8Z12ijuqzFOpUsjrh+YcyY6j3+Xaa+Hpp+Grr1RIldKVGZ0lRJLo66/h2WfDXawfflDBqqTKV17KbbeF/mpdu66ZV2XVqnjjEhHJRC+8AD/+GAYT+vhjFaxKqmLtWTz3HLz1VhgBOLdgpTwKLr74Yu65557Vrw844AB69eq1+vWll17K3XffzfDhw+nfPwyW+uqrrzJ+/PjV23Tu3JnRo4t/w6xDbjvOUtS3b18++OCDAtfnP6eSUuFKyoQ5c+C118Lzgw+G33+HG2+EqlXjjSubtGwZRlesWDEMj7vzzqEQq/EKRETW79df4bPPwvOrroIJE0JT63L6lZY0Bx0Et9wSno8dG/KsL76INaTYdejQgVGjRgGwatUqZs6cyU8//bR6/ahRo+jYsSOHHXYYV111FZD8gkju8fPKyclZ73s2tD6/G264gX333bfA9SpciRTRxx9DixZw/PGhSSCAuniUrvnzQ6fr448PowvOmxd3RCIi6ccdnngi3Iw688xQm1KxImyySdyRZbfFi0Nftj32gOuuC3OHlUUdO3ZcXbj56aefaN68OTVr1mTOnDksW7aMCRMmsMsuuzBkyBDOO+88Ro0axfDhw7n88stp1aoVv/32GwAvvPAC7dq1Y/vtt+fTTz9d5zgLFy6kS5cu7LrrrrRo0YLXcu92AzWiju4fffQRe++9NyeccAItWrRYZx81atSgb9++7LbbbnzxxRc89dRTtGvXjlatWnHmmWeSk5NDTk4OPXv2pHnz5rRo0YIBAwYA0LNnT1588UUArrrqKnbaaSdatmzJZZddts45/flHyYeYVJ8ryVorV8INN8BNN4W+Va++GiYCltLXuHEYErd//9Ch+Msvw3xhu+0Wd2QiIulh3rwwqNKzz8Lee8OTT6qmKlU6dAhNL88/P/xO+PBDGDYsjBwcm4suClVqydSqFeRp9pffZpttRoUKFfjzzz8ZNWoUu+++O3///TdffPEFtWvXpmXLllSqVGn19h06dOCwww6ja9euHHXUUauXr1y5kq+//pq33nqL66+/fp0meFWqVOGVV16hVq1azJw5k/bt23PYYYetM3rv119/zbhx4xL2kV60aBHNmzfnhhtuYMKECdx22218/vnnVKxYkXPOOYdhw4bRrFkz/v77b8aNGwfA3Llz19rH7NmzeeWVV/j5558xM+bOnUudOnXWOqfxM0peg6V/Y8lKK1dCly6h6V+PHqE/UJs2cUdVtlSoEPq1ffJJGLb95pvjjkhEJD38/Xf43fvCC+G78f331aIi1WrVgqFDw+BWY8eGGsSyKLf2Krdwtfvuu69+Xdj+UEcccQQArVu3ZvLkyeusd3f69OlDy5Yt2Xffffn777+ZNm3aOtu1a9euwMGnypcvz5FHHgnAiBEjGDNmDG3btqVVq1aMGDGC33//nSZNmvD7779z/vnn884771CrVq219lGrVi2qVKlCr169ePnll6lWrVqhzq+oVHMlWalCBejWLTSzOOGEuKMp2zp0CBlXbrOLadPCULh16sQZlYhIfDbbDA49NDSd3n33uKMp2046CTp2XFO4/e03aNQo/I5IqfXUMJWm3H5XP/74I82bN2fLLbfkrrvuolatWpx22mmF2kflaHz78uXLszJBG8thw4YxY8YMxowZQ8WKFWncuDFLly5dZ7vq1asXeIwqVapQPprgzd3p0aMHt9566zrbff/997z77rvcf//9PP/88zz++OOr11WoUIGvv/6aESNG8OyzzzJo0CA+/PDDQp1jUajmSrLGqlVw661haHUIQ7CqYJUeNtoIGjQI/QuOOw7atg1NMkREyorFi+Hcc+GPP8JUFgMHqmCVLrbeOvR1mz8f9twT9t8/TEJcFnTs2JE33niDunXrUr58eerWrcvcuXP54osv2D3BBVqzZk0WLFhQpGPMmzePjTfemIoVKzJy5EimTJlSopi7dOnCiy++yPToQ5o9ezZTpkxh5syZrFq1iiOPPJIbb7yRb7/9dq33LVy4kHnz5nHwwQdzzz33MDZqhlmcc1ofFa4kKyxcCEcdBX36hL5Vkp7MQh+4RYtC/6vnn487IhGR0jdlSqgdefBBGDEi7mikILVqhZu0X3wBu+4KJRhhPGO0aNFidT+ovMtq165N/QQd1Y877jjuuOMOdtlll9UDWmzIiSeeyOjRo2nTpg3Dhg1jxx13LFHMO+20EzfddBP7778/LVu2ZL/99uPff//l77//pnPnzrRq1YqePXuuU7O1YMECunbtSsuWLenUqdPqAS/ynpMGtBAhZFqHHQbjxsGAAXDhhXFHJOvTsWPoA3fUUXDssTB+PPTtq47cIpKdRo2Cww+HZcvgjTfCdCCSvnr0CKM3Hn54qMUaMiTkVdmqfPnyzJ8/f61lQ4YMWet1z5496dmzJxBquvIOW/7RRx+tfl6/fv2Efa7q16/PFwWMe79w4UIgzJfVuXPnAuPM3S7Xsccey7EJPpj8tVWw9vl8/fXX66zPe04a0ELKvD//hHbtQgHr7bfDYDv5Bp+RNLTppuHubc+eYYSmJNbGi4ikjQ8/DCMB1qoVRk1VwSoztGoFX38dBsJ68knN1yhFo5oryWhbbhl+oJ96KpSwlllSrHLlMOnw7NlQuzYsXw5z58LGG8cdmYhIcuy2G5xxRhjuu27duKORomjQAD74IORNZmGezBo1oEqVuCOTdKeaK8k47qEj8G+/hS+8225TwSpTmUG9euH5+eeHHyITJ8Ybk4hISSxfDtdfH2rkq1eHQYNUsMpUlStDzZphOpGDD4YDDgg3BJPJVS2W1orz+ahwJRklJyf8CL/wQnj44bijkWTq1SsMdNGhQ5iAWEQk08ybF36E9+sHb74ZdzSSLOXLhxGIv/wS9tgjdEVIhipVqjBr1iwVsNKUuzNr1iyqFLG6Us0CJWMsXRqGVn/lFbjsMujfP+6IJJnatg0jNB10UJgA+rnnwlxlIiKZ4L//4MAD4aefwiAIxx0Xd0SSTMcdF/oLd+8ehtB/911o0aJk+9xiiy2YOnUqM2bMSEqMRfHfgv+wmeqknl/+dKlSpQpbFHGG75QVrsxsB+C5PIuaAH2BJ6PljYHJwDHuPidVcUlmWLgwfKGNGBFGBLzoorgjktKwzTah1qpr19CP7o8/Qn8skdKk/ElKasoU2Hdf+OefMCLgAQfEHZGUhs6d4bPPwufbq1eoySrJIFoVK1Zk6623Tlp8RXHy4JMZ3bsMjDVfRMlIl5Q1C3T3ie7eyt1bAa2BxcArwFXACHffDhgRvRZZx9KlMHSoClbZLrcT8XvvqWAlqaH8SUoqJyf0z/ngAxWssl3z5qGA9fzzGp1YEourz1UX4Dd3nwJ0A4ZGy4cC3WOKSdLQ9OmhH06NGvDJJ3DKKXFHJKlQs2YYAhdCTeXNN8cbj5Qpyp+k0CZPDoMsNWkCP/wQmotJ9tt6a2jUCFatCqNBvvZa3BFJOomrcHUc8Ez0fBN3/xcg+quBmAWAf/+FTp3g+OPDa00yW/a4w3ffwTXXhA7i6vMrKaD8SQpl9GjYZZcwzDoojyqLFi2CH3+Eo46Cl16KOxpJF5bqEUrMrBLwD9DM3aeZ2Vx3r5Nn/Rx33yjB+3oDvQGq1KvSutktzUoUx4SZE2hav2mJ9pGN0iVdls9pwC8DHmLF3AZse/4F1NxubKzxpEu6pKPSThtfVY4pT17DrC8OY9ODH2Wzwx7KiKYYumYSK2y6jDlzzBh3b5OCkFZLl/wJdP0UJF3SZdEfzZh07yDKV5vP9pecReX6/8YaT7qkSzoq7bTJWVKdSQMHsmhyM5r0+j82aj2i1I6VTLpmEktKHuXuKX0Qmlm8l+f1RKBh9LwhMHFD+2jdurWXVOuHS76PbJQO6fLXX+7bbuteo4b7Z5/FHU2QDumSrlKRNjk57qef7g7uV19d6odLCl0ziRU2XYDRXkbzJ3ddPwVJh3QZNcq9Vi33Jk3cp0yJO5ogHdIlXaUibebPd+/Y0b18efdnny31wyWFrpnEkpFHxVGJfTxrmlwADAd6RM97AGq5Woa5h+FOp00LAxp07Bh3RJIOypWDwYPhzDNh883jjkaymPInWa+FC+Gww2DjjeHjj2GrreKOSNJBzZrw9tthxMiN1Xi4zEvpPFdmVg3YDzgzz+L+wPNmdjrwJ3B0KmOS9GIGjzwSJmJs3z7uaCSdlCsHDz64ZnSmv/9WQUuSR/mTFEaNGvD009C0KRRx6hvJcrkFLOVRktKaK3df7O713H1enmWz3L2Lu28X/Z2dypgkPcyZA/fdF2qumjZVwUoSy820fvwRdtgB7rkn1nAkiyh/kvWZMAFeeCE8328/Fawksdw86vnnYdtt4f33441H4qGxbSR2CxaEWe0vuwx+/jnuaCQTNG0KBx0EF18MDz0UdzQiks1++w26dAlzLC5aFHc0kgn23Re23x66dQvTyEjZosKVxGrZMujeHcaMCXd6mmrgGimEChVg2DA45BA455xw7YiIJNu//4aaqmXL4N13oXr1uCOSTFC3bqi1atQIDj0Uxo6NOyJJJRWuJDY5OXDSSfDhh/D44+EOj0hhVaoUmul07Biuo9Gj445IRLLJ3LmhVcX06aEvTfPmcUckmWTjjcPAXLVrh+tothoVlxkpHdBCJK9vvoFXXoG77oJTTok7GslEVavC66/DvfdCq1ZxRyMi2eS550JfqzffhHbt4o5GMtGWW4YC1ocfhtosKRtUuJLYtG8P48bBjjvGHYlksjp14LrrwvP//gtDJW+7bawhiUgWOPNM6NRJeZSUzI47rrmGfvwxDN9fu3a8MUnpUrNASbkhQ+Dll8NzZVqSLO6h/94BB4RmPCIiReUOffuu6SOjPEqSZd486NwZjjoKVqyIOxopTSpcSUq9+y706gWPPhoyMZFkMYOBA0MH9EMPhcWL445IRDLNnXfCjTfCSy/FHYlkm9q14e674YMPoHdv/QbKZipcScqMHRvu2DRvDs8+u2Y+CJFkadcOnnkm9Oc74YQwaIqISGE8/zxccQUceyxcf33c0Ug26tED+vULLXhuuCHuaKS0qHAlKTF1ahg2u06d0Dm4Vq24I5Js1a1bqMF67TW49da4oxGRTPD552FgpT33DD98y+nXkZSSvn2hZ89QyHrrrbijkdKgAS0kJZ57DubPh1GjYPPN445Gst1550HFiqGmVERkQ+6/Pww08OqrUKVK3NFINjODwYPDCLf77Rd3NFIadG9GUuLSS8PIgC1axB2JlBVnngn16oXJP3/8Me5oRCSdDR0KI0dquGxJjYoV4cILw98ZM2DKlLgjkmRS4UpK1YAB8MMP4XmjRvHGImXTeefBXnvBL7/EHYmIpJOcHLj6apg2LfzIVasKSTX3MMHwIYeE1j2SHVS4klIzbBhcckmo/haJS58+UKECdO0Kc+bEHY2IpIsrroD+/eHtt+OORMoqM7j9dvj5Zzj+eA3ClC1UuJJS8e23Ycj1vfYKQ4+KxGXrreGVV2DyZI0gKCLB//4X8qbzzguDC4jEpUsXuO++MLjFtdfGHY0kgwpXknQzZsDhh0ODBvDCC1CpUtwRSVm3xx4waBC8846GWBYp6779Nswz1KmTbv5Jejj7bDjjjDDC7auvxh2NlJRGC5Sku/12mD4dPvsMNt447mhEgt694b//4Mgj445EROJ02WXh5t/zz4e+ViLp4L77oEYN6Ngx7kikpFS4kqS75ZYwBHbr1nFHIrK2vn3DX3eYPTuMJigiZcuLL8K//+rmn6SXypXX1KSuWAFLlmhO0EylZoGSNCNGwMyZ4U7gbrvFHY1Iwfr0Cdfo3LlxRyIiqfLKK2Fqhrp1oVmzuKMRScw9jB543HGwalXc0UhxpLRwZWZ1zOxFM/vZzCaY2e5mVtfM3jezSdHfjVIZkyTH+PFw2GGhc7BIuuvaNQxwceqpISMTUf6U3V56CY44AgYOjDsSkfUzg+7dwyiWt9wSdzRSHKmuuboXeMfddwR2BiYAVwEj3H07YET0WjLIggWhH0vNmuocLJmhY8fQN/DVV+HOO+OORtKE8qcs9csv4UZKu3ZwwQVxRyOyYWefHUa37dsX3n8/7mikqFJWuDKzWsBewGMA7r7c3ecC3YCh0WZDge6piklKzj0Muf7LL/Dss7DZZnFHJFI4F18cbgpcfTV88knc0UiclD9lr8WLQx/gSpXC6LWVK8cdkciGmYU5Qps2DYWsv/6KOyIpilTWXDUBZgBPmNl3ZvaomVUHNnH3fwGiv+pimkEeeSSMuHTzzdC5c9zRiBSeGTz+OOy6a6h9lTJN+VOWuvhiGDcOnnoKttoq7mhECq969dCcdfPNYd68uKORojBPUYcDM2sDfAl0dPevzOxeYD5wvrvXybPdHHdfp127mfUGegNUqVeldbNbStYbdcLMCTSt37RE+8hGRU2XFQvqMPOTI9n0oMexctnbeUXXS8EyPW3cQ0Er2TI9XUpLYdNlzJljxrh7mxSElHb5E+j6KUhR02XJP01YOGkXGnR6qRSjip+ul4Jletooj0qtpORR7p6SB7ApMDnP6z2BN4GJQMNoWUNg4ob21bp1ay+p1g+XfB/ZqLDpsmiR+4oVpRxMGtH1UrBsSJtVq9wHDHC/447k7TMb0qU0FDZdgNFeRvMnd10/BSlsusybV8qBpBldLwXLhrRZssT9nHPc3347efvMhnQpDcnIo1LWLNDd/wP+MrMdokVdgPHAcKBHtKwH8FqqYpLiye1n1aUL5OTEHY1Icnz5JVx1FXz+edyRSKopf8ouS5bAnnuGJoEi2cA99A0+5RT455+4o5ENSfVogecDw8zsB6AVcAvQH9jPzCYB+0WvJY09/jg88wzsvz+ULx93NCIll9t5uHFjOP74MMGwlDnKn7LEpZfCDz+EPEokG1StGvq3L1oEJ52kG9vprkIqD+buY4FE7RO7pDIOKb4JE+D880Ot1VUalFiySK1aYcTLDh3g9NPh5ZdLp527pCflT9nh5ZfhwQfh8svhoIPijkYkeZo2hfvvD9MK3HILXHtt3BFJQVJdcyUZbNmyMCRo9erwv/+p1kqyT5s20L8/vPYafPNN3NGISFFMnRqarLdpAzfdFHc0IsnXo0doXXHXXTBnTtzRSEFSWnMlme2ff0KV9OOPQ8OGcUcjUjouugg6dYLWreOORESK4tdfoUYNePrpMK9V0q1cCX//HSYdWrgwdO5yh5o1Q9X3VlvBppuqyltKjVmomZ0+HTZaZ9xSSRcqXEmhbb11mC+kVDItkTRRrtyagtUXX4TnuuZF0l/nzqGAlZT/V3f45Rf44AP46iv4+uuw8w11dqlWDXbcEXbfHTp2hH33hQYNkhCQSFC7dni4w6efwl57xR2R5KfClWzQrFlw552hfW+1anFHI5IaP/8cfhtdfjncdlvc0YhIQb79NoykdsEFSShYff89PPkkDB8eClMQaqPatYMjjwx3GbfcMtRUVa0aqhIWLAizvE6ZEt7z/fcwZEjoIFOuXPj1e9RRcOKJUKdOCQMUCZ59NnTVeO45OOaYuKORvFS4kvVyhzPPDPnM8cdDy5ZxRySSGjvuCGecAXfcETrGd+4cd0Qikt+SJaHMsmAB9OxZzLLL0qUwdGgYMvTbb0MJbd994ZJLwj9/o0ZFb+q3ciWMHRsyz5dfhvPOgyuuCBnpxRdDs5JPNC1l21FHwb33ht9oHTrAFlvEHZHk0oAWsl7DhsFLL4XOwSpYSVlz993QpEn40TZ/ftzRiEh+ffqEWuYnnihGwWrBArj99lAbddZZocnfwIHw77/w5ptw9tlhfobi9KGqUCGMrHHDDaE9/ejRoZrh6aehRYtQyJowoej7FYlUrBgGF1u+PIxwG+Y6l3SgwpUU6K+/ws22jh3DvCEiZU316qGF0F9/hZvYIpI+Ro6Ee+4J+dR++xXhjStXwkMPwTbbwJVXQvPmMGIEfPddmGukbt3kB9u6NTzyCPz5Zzjm66+H4150UWhSKFIM220Xum289164pCU9qHAlBTrvvJAHDR2qYdel7OrQAfr2Da14dGdQJD0sXw6nnQbbb1/EPpEffgg77xxqpZo2DYNVvP8+7LNPakb5q18fbr0V/vgjtOcaOBB22CHMECtSDGedBSefrGaB6UR9rqRAd94J48eHm3siZdl118UdgYjkValSGDOiWrVCDrQ0bx5cdhk8+mho6/vSS3D44fENm96gATzwQCghnnMOHHtsqM0aNCgMBSdSSGahhYWkD9VcyToWLgx36LfbDrp1izsakfTx4ovhLqGIxGfhwvC3Uydo27YQb3jnHdhppzBJ4+WXhz5QRxyRHvNRtWkDo0aFvlnPPBM6N3/1VdxRSQZatSpUit59d9yRiApXshZfZRx0UOgcKSJrmzQJHn4YXngh7khEyqaVi2qx446hNd0GrVgR+jcddFCYcfXLL8MAFlWrlnqcRVKhQpjr5PPPQxv8vfYKI3SIFIEZjBkDV18dWh1JfFS4krXM+OgYPvtMk9KJJHL55aFf+rnnwowZcUcjUvb89fwl/Pcf7LHHBjacMiVkZLffHvo2ffNNIau5YrTbbiHOPfcMzQUvuGDDkxaLRMzC1Go1a8Kpp4Y+8xIPFa5ktV9/hakvn89BB0GPHnFHI5J+KlQI/Tzmzg2DiolI6rzxBsz+sitXXw277rqeDT/7LDS3++mnMNPqQw+lX21VQerVC80YL74Y7rsvzA67dGncUUmG2GST0G3v669hwIC4oym7VLgSILTVPf10sPIrGTw4PZqii6Sj5s3DABfPPQdffBF3NCJlw9y5oQKqyma/cs0169lw6FDo0iU0A/zmmzBQRKapUCF0nBkwIExAfNBBmmhPCu3YY8NYLddfD7Nnxx1N2aTClQDw++9hPsMtj7lbw3mKbMAVV4Q5RnffPe5IRMqGL74IA/417nE9lSsn2MA9zCjcs2doM/jll2GI80x20UXw1FOhJq5LF82HJYViFgaiHDGidKZskw1T4UoA2HZbmDgR6nUYHncoImmvYkU4+ODwfPr0eGMRKQsOOijMv1u98YR1V65cCb16haHSevcOzeqy5VfliSfCK6/A99/DgQfCggVxRyQZYNNNQxc+UB4VBxWuyjj3MN3HypWhFYWaA4oU3scfQ6NG8MEHcUcikp0WLw7TP0EB5aVly0I7qMcfD7N9P/RQuPuRTbp2DZMMjx4d7urkjkUvsgEPPBBunv/5Z9yRlC0qXJVxzz8PRx0Fw4bFHYlI5tltN9hqq3CzfNGiuKMRyT79+sFhh8GPPyZYuWgRHHpo6Jc0YEDoZJKtdwi7d4ennw7tI48+OgwzL7IBBx8c+tSffXa4mS6pkdLClZlNNrMfzWysmY2OltU1s/fNbFL0d6NUxlSWzZoVRjxr2xZOOinuaEQyT5Uq8Mgj8McfYZALyVzKn9LPt9/CXXfBGWdAixb5Vi5ZEkpdI0aEOaEuuiiOEFPr6KNDzdw77+jXshRK48Zw883w1lth4ExJjThqrvZ291bu3iZ6fRUwwt23A0ZEryUFLrsM5syBRx8N8xaKSNHttVcYxWzAgDA4mWQ05U9pIrcb1SabhKmq1rJ0aRgObeTIMDdCz54xRBiTXr3gmmvgscfgppvijkYywHnnQbt2Ydq0mTPjjqZsSIdmgd2AodHzoUD3+EIpOz78MORJV1wBLVvGHY1IZrvtNthsM/j887gjkSRT/hSTe+6B774Lc/bUqbNmeYWVq0INzrvvhjuDJ58cV4jxueEGOOWU0MfsmWfijkbSXPny4V8lJyfUBkvpq5Di4znwnpk58LC7DwY2cfd/Adz9XzPbOMUxlUnVqoU+suudL0RECqV27TCVQY0acUciJaD8KY1stRWcdlqooFotJ4cbH58MY74LzeNOOy2u8OJltqY98umnw047xR2RpLkWLcKgFsqjUsM8hW12zWwzd/8nyqDeB84Hhrt7nTzbzHH3ddq1m1lvoDdAlXpVWje7pVmJYpkwcwJN6zct0T6ykdIlMaVLwZQ2a1v4685Uqvcvv+V8rHRJoLDXy5gzx4zJ0zyv1KVT/gT6v1qHO5c99xfHjZzBgKO2YNh+m8QdUezqzVvB/26ZwPIKRvszy7PpVipkJaL/pTXcYe53+1C75SdMnPuj0iWBpORR7h7LA+gHXAZMBBpGyxoCEzf03tatW3tJtX645PvIRL/84n7RRe7z5iVeX1bTZUOULgVT2qwxa5Z7tWruhx+udClIYdMFGO1lNH9yL7vXz/Dh7nff7b5iRb4Vt9/uDv6/fTeOJa609cUX7pUq+aidarmvXBl3NGmprP4vJfL55+7gftNNSpeCJCOPSlmfKzOrbmY1c58D+wPjgOFAj2izHsBrqYqprHEPAww9/riGjRYpDXXrwrXXhjk/536/Z9zhSCEpf0oPCxaEPOqJJ/INhPfUU6GD8HHHce+RW8QWX1pq3x4GDWL38fOhf/+4o5E016FDmH7npptg2YzN4w4na6VyQItNgM/M7Hvga+BNd38H6A/sZ2aTgP2i11IKnnkmjFp7663QsGHc0Yhkp0svhWbN4K9nr9BNjMyh/CkNXHcd/PMPPPxwnnmAP/4YTj0V9t4bhgzBy2XpPFYl0asX77bdKCTgF1/EHY2kuXvuCf9ffz59pUbzLyUpK1y5++/uvnP0aObuN0fLZ7l7F3ffLvo7O1UxlSXz54cffW3bhmGjRaR0VKwY+tovn92QW26JOxopDOVP8fvxRxg4MIw0vvvu0cI//oAjj4Rttw3VwZUrxxpj2jLjlhMbwZZbwvHHw9y5cUckaWzzzeHGG2H++A688krc0WSndBiKXVLg+uth2jS4/37NaSVS2vbYAxp0fp5NN407EpH05x7m4qldO7SsAEIbwcMOg1WrYPjwsFIKtKhq+dA8ZepUOOssTTAs63XuuVC7xae6X1FKVLgqI846K8wX0rZt3JGIlA1bHX87558fdxQi6c8s9AF55BGoV49QoDr55DC/wfPPw3bbxR1iZmjfPsyB9dxzId1EClChAmx73sUcckjckWQnFa6yXO7Nq+22g3POiTcWkbLGHYYNgzfeiDsSkfSUm0ftuScccUS08Lrr4LXX4O67Yd99Y4stI115JbRrF6ompk+POxpJc8uWwS23wMSJcUeSXVS4ynLDhkH37jBvXtyRiJQ9OTlwxx1hBDQNbiGyrssvh4svztOK7Y03QjXWaaehqt9iKF8+DLe4YEEoYImsx9y5cNtt4V9NLUmTR4WrLDZ/Plx2Gfz7L9SsGXc0ImVPhQqhn+PUqXDzzXFHI5JefvwxjFy2ZEloGsjkyXDKKbDLLuEfxzQyYLHstBP06wcvvggvvBB3NJLGNtkk3Mt4/314+eW4o8keKlxlsRtvDINYDBoE5fRJi8SiY8fQfeSuu+C33+KORiQ9uMOFF0KtWtGNh+XL4ZhjQnXvCy9AlSpxh5jZLr8cWrcOtVezZsUdjaSxs8+GFi3CiNJLlsQdTXbQT+4s9csvcO+9oWWFBrEQiVf//mGI9ksvjTsSkfTw8sswcmS4a16vHqGZxTffhCZt22wTd3iZr0IFePxxmD0b+vSJOxpJYxUqhGkQpkyBO++MO5rsoMJVlurXD6pWRfPsiKSBzTYLzZ9OOSXuSETit2oV/N//hbvlvXsTaqruuy90vlo9qoWUWMuWcMEFYRjGr76KOxpJY507h3FkDjgg7kiyQ4W4A5DSMWhQmIxxk03ijkREIPw/ikhopv7mm6FfcIW/p8AZZ8Buu4UqXkmufv3C0Oxnnx1qBjXRpRSgX7+4I8geRS5cmVkbYE9gM2AJMA74QDPXp4cVK0LGVbcu7LNP3NGISF45OaE2uUGDMPecJJ/yqPS2bBlUrhy1/MvJgX1OCVVZTz8NlSrFHV72qVULBgyAY4+FBx8MszWLFGDuXLjiCjjpJNhrr7ijyVyFbhZoZj3N7FvgaqAqMBGYDuwBvG9mQ81sq9IJUwrr3nuhTRsNvS6SjsqVg88/h6uughkz4o4muyiPygw9e8LRR0fDPt9xB3zySWgS2KRJ3KFlr6OPhv32C20xNfeVrEelSvDOO2GwmZycuKPJXEWpuaoOdHT3hGOJmFkrYDvgzyTEJcUwY0YYIbBjR6hdO+5oRCQ/szAvasuWoQnG/ffHHVFWUR6V5r74Ap59Fq65BuzbMXDtteGHvzojli6zUIBt3jx88TzwQNwRSZqqVi3Me3XCCTB0aBgUTYqu0DVX7n5/QZlWtH6su49ITlhSHP36hYlK77or7khEpCA77RSaBD78MIwfH3c02UN5VHpzD+NVNGwIV56/GE48MXQKfughzWeVCjvsoC8eKZTjjoP27UNF54IFcUeTmYo8WqCZbW1md5vZy2Y2PPdRGsFJ4Y0fH74zzzoLmjaNOxoRWZ9+/aBGjTD6tCSX8qj09OyzYcC6m2+GGtdfDhMnhlvjdevGHVrZcd11ULNmmANLpABmoZvef//B7bfHHU1mKs5oga8CjwGvA6uSGo0U2733hh9rGu1FJP3Vrw+PPgqNG8cdSVZ6FeVRacU9tKjYZRfoseWHcNoDcNFF0KVL3KGVLfXrh6aYl10G770H++8fd0SSptq3D83Wu3aNO5LMVJzC1VJ3H5j0SKRE7rsv1FrVrx93JCJSGEcdFXcEWUt5VJoxgw8+gOm/L6TcUb1g221DFZak3nnnhT5Xl14KY8dqaHYp0DnnxB1B5irOJML3mtl1Zra7me2a+0h6ZFIoK1eGflaVKoW7giKSOZYuDR2GH3447kiyivKoNLJwYRh1rE4d2H5IH/jjD3jssdBzXlKvcuUwn9i4cTBsWNzRSJqbOjVUcGoO6qIpTuGqBXAG0B+4K3rcmcygpPCeeCLcBPxT41+JZJzKleG336BvX3UcTiLlUWnkssugXTtYOfLT0MTivPM0gU7cjjoKdt019CNYvjzuaCSN1akDP/wQuum5xx1N5ihO4epwoIm7d3L3vaOHpquNwaJF4UdZkyaw5ZZxRyMiRWUWpvqZPj38laRQHpUmJkwIfQs7t1tMhd6nwdZbw623xh2WmMFNN4VaxMcfjzsaSWO5ffk//RSGa1igQitO4ep7oE5xDmZm5c3sOzN7I3pd18zeN7NJ0d+NirPfsuquu8JoLnfcoZFsRTJVu3Zw7LHh//mff+KOJisoj0oTV14J1avDjeX6wq+/hpJWjRpxhyUABx4IHTqEyTGXFDiDgQi9esGOO4b/5xUr4o4mMxSncLUJ8LOZvVuMYW4vBCbkeX0VMMLdtwNGRK+lEHKHyDzyyPD9KCKZ65ZbQqZ1/fVxR5IVlEelgY8/htdfh3tO+ZZqDw2A3r1hH1Ugpg2zMKjIP/+EucZEClChQphYeOLE0BVFNqw4owVeV5wDmdkWwCHAzcAl0eJuQOfo+VDgI+DK4uy/rHn6aVi2TC0sRLJBkybwv/9Bx45xR5IVlEelgcGDYavNc+jxRTSM7W23xR2S5Ne5M+y7b/ghccYZqlWUAh16aBh46fjj444kM5gXsoeamZlvYOP1bWNmLwK3AjWBy9y9q5nNdfc6ebaZ4+4Jm12YWW+gN0CVelVaN7ulWaHiLsiEmRNoWj9zZ9t1h6X/bk3Vzf5I6n4zPV1Ki9KlYEqbxJQuiRU2XcacOWaMu7cp7H7jzKOSnT9B5l8/nlOe7m8t49o3vuf/Tt+ad9slZ7LgTE+X0lLcdGn2xyKG9v+ZgUdszpMHbFoKkcVP10xiSpfEkpJHuXuhHoQ7ducDW+VbXgnYh3BXr2cB7+0KPBA97wy8ET2fm2+7OYWJpXXr1l5SrR8u+T7iMnt26e07k9OlNCldCqa0Saw46fLXX+577+3+0UelEFCaKGy6AKO9kPmTp1EelYz8yT1z/6+WLXOfP9/d//3XvVYt9333dV+1Kmn7z9R0KW0lSpf99nPfZBP3xYuTF1Aa0TWTWHHS5csv3du0Cf/e2SoZeVRR+lwdCOQAz5jZP2Y23sx+ByYBxwMD3H1IAe/tCBxmZpOBZ4F9zOwpYJqZNQSI/k4vQjxl0pdfwuabw4gRcUciIslWrx5MmhQ6DmvY2yJTHpUGHn0UttkGFp15cWi7/sADGnEp3f3f/8G0aWH+MZH1qFs3zD19441xR5LeCl24cvel7v6Au3cEGgFdgF3dvZG7n+HuY9fz3qvdfQt3bwwcB3zo7icBw4Ee0WY9gNeKeR5lgjtcdRXUqgW77RZ3NCKSbFWrhmFvv/oKXn017mgyi/Ko+C1cCDfcACdv8h7Vhz8LV18N220Xd1iyIXvtFTp83n675r2S9dpuuzB64ODBYQBQSaw4owXi7ivc/V93n1vC4/cH9jOzScB+0WspwDvvhBGYrr1W/U5FslWPHmHY2z59YOXKuKPJTMqj4nHPPTB32lJunnNO+BV2pcb+yAhmofbqr7/gqafijkbSXN++UKlS+C0qiRWrcFUS7v6Ru3eNns9y9y7uvl30d3aq48kUq1aFm4BNmoRBfUQkO1WoEEZI/vln/c6Jg/Ko4pk5M1R8PLrjXVT5+7fQHLBKlbjDksI68EDYdVfo3x9ycuKORtJYw4Zw0UXw7LPwww9xR5OeUl64kuL56qtwEd94Y7hjICLZ6/DDQ7OLo46KOxKRwnn+eaizcConTLkFjjgiDPEtmSO39mrSJHjhhbijkTR3xRUwZAg0K/nAqFmpyIUrMztPs9Sn3u67w/jxcNxxcUciIqXNTNPOFJfyqHiccw78eNAVlFuVA3feGXc4Uhzdu8MOO8Bdd2lEHVmv2rVDE/by5eOOJD0Vp+ZqU+AbM3vezA400zBApW3BgvB3xx2hnOoaRcqMjz6CPfZY8x0ghaI8KsUWLAA++4zabz0TbmlvvXXcIUlxlCsHF18Mo0fDp5/GHY1kgCeeCC0tVBZfW5F/qrv7NcB2wGNAT2CSmd1iZtskOTYBli4N1a4a9lKk7KlWDT7/PAwUIIWjPCq1Jk2CLRrmMPeUC2CLLTSIRaY75ZQwJ8Tdd8cdiWSAZcvCyLZvvx13JOmluKMFOvBf9FgJbAS8aGa3JzE2AR58MAzgs+eecUciIqnWrh106xZaWc3WUAqFpjwqdfr1g5OWP06dP76DO+6A6tXjDklKomrV0MZz+PBQchZZj9NOCxXV11wTBl6ToDh9ri4wszHA7cDnQAt3PxtoDRyZ5PjKtIUL4dZbQ7/gzp3jjkZE4nDjjaHZ1R13xB1JZlAelTrjxsFbT8/ltgp9wh3AY4+NOyRJhnPOgYoV4d57445E0lylSuEGy3ffwcsvxx1N+ihOzVV94Ah3P8DdX3D3FQDuvgromtToyrh774UZM8KwzCJSNrVoAccfH74Ppk2LO5qMoDwqRa69Fm6qdD3Vl84KF6i6t2WHTTeFE08MHWpUZS4bcOKJ0LRpmP9Ko/gHxelz1dfdpxSwbkLJQxKAFStCk8DDDgtNg0Sk7Lr++jA0e/36cUeS/pRHpcaUKfDT8N84K+d+7PTTYZdd4g5Jkunii2HxYnj44bgjkTRXvjzcfz8MGqTRA3NViDsASaxiRfj2W1iyJO5IRCRu224bHiLpolEjGL1/H8p9UhFuuCHucCTZWrQIfRIeeAAuvzzMbi5SgL33jjuC9KKBvdPQ8uVhWMuNNw4ZmIgIwIABYZ5PkTgtXw589RW13nkeu+wyaNgw7pCkNJx3HkydCq+/HnckkgGWLoWLLoInn4w7kvipcJWGrrsuzG2zfHnckYhIOpk4MQxsMSVhozeR1Di0qzOp+2XhDuBll8UdjpSWQw6BLbcMtVciG1C5MowaFfpelfXfrypcpZkZM+C++0KNVaVKcUcjIumkT58wZoAGuZG4fPYZVHl/ONv991noDFizZtwhSWmpUAHOOgs++CDc2RFZD7PwlTBlCgwZEnc08VLhKs3ccUfoZ9W3b9yRiEi62WorOOOMMIjXH3/EHY2URTdcu4I7y1/Jqh12hF694g5HStvpp4dO4A8+GHckkgEOPBDat4ebbgoTDJdVKlylkWnTwogrJ5wAO+4YdzQiko6uvjqMyHTTTXFHImXNxx/DNh89ynY5Eyl3+20a5KAs2GQTOOqoUBWxaFHc0Uiay629+usvePzxuKOJjwpXaWTQoFDSV62ViBRk883DwBY9esQdiZQ1A29ewA3l+pHTcU849NC4w5FUOfdcmDcPnnkm7kgkA+y3Xxg7YJ994o4kPrrtlEb69IG99oLttos7EhFJZ2efHXcEUhY9uesAqr8/He4argmDy5IOHaBly9C05vTT9dnLeplBv35xRxEv1VylCXeoWjWU+EVENmT6dLjgAvW9ktTwmbOo/sCdcPjhsNtucYcjqWQW7uiMHQujR8cdjWSICRPgzDPLZt8rFa7SwIwZYb6+Dz+MOxIRyRQrVsDDD8Ott8YdiWS7Tz+F/7W4HV+4EG68Me5wJA7HHx/uAD/2WNyRSIb46y8YPLhsjhyYssKVmVUxs6/N7Hsz+8nMro+W1zWz981sUvR3o1TFlC7uvhvGj4fNNos7EhHJFJtvHgZrGzJE816VlPKn9Rv0f/9y1H/3kXPMCdCsWdzhSBxq14ajjw79rjSwhRTCfvuFSu5bbil7816lsuZqGbCPu+8MtAIONLP2wFXACHffDhgRvS4zZs0KA1kce6xGCBSRorkq+ra87bZ448gCyp8KMGoU7PHpLVQpt5wKN/WLOxyJ0+mnw/z58OKLcUciGcAsDGzx55/wv//FHU1qpaxw5cHC6GXF6OFAN2BotHwo0D1VMaWDAQPCTaBrrok7EhHJNFtuCaedFlrqTJ0adzSZS/lTwR7uM4UzeZicHqfDttvGHY7Eac89w4hbahoohXTggdCmTZj4fsWKuKNJHXP31B3MrDwwBtgWuN/drzSzue5eJ882c9x9naYXZtYb6A1QpV6V1s1uKVnThAkzJ9C0ftMS7aOkVi6qyY99Xqd2sy9o0vvqWGPJlQ7pko6ULgVT2iSWqnRZNrMh/77Rm80Oe4hKdaeV+vFKqrDpMubMMWPcvU0KQgLSK3+C9Pi/WjR5Jy67tSInlnuSI25pyvSNKsUaD6RHuqSjVKVLj3f+4/xX/uaIG5rx5yZVSv14yaBrJrFUpcu8cbuz4JfWNDzkUcpXXlrqxyuppORR7p7yB1AHGAk0B+bmWzdnQ+9v3bq1l1Trh0u+j5LKyXF/5RX3n36KO5I10iFd0pHSpWBKm8SULokVNl2A0V5G8yf39Lh+ln7/s+eUK+/Lzrko7lBWS4d0SUcpS5d//nEvX979yitTc7wk0DWTmNIlsWTkUbGMFujuc4GPgAOBaWbWECD6Oz2OmOJQrhx07w477RR3JCKS6b77Dp56Ku4oMp/ypzUq33Id5apWodJ16dGyQtJAw4Zw8MEwdCisXBl3NJIh3OGtt2DEiLgjSY1UjhbYwMzqRM+rAvsCPwPDgR7RZj2A11IVU5weeih09Fu1Ku5IRCQb3HknnHVWGCRHikb507ru7PEjPPccXHghbLxx3OFIOjn9dPjvv/BrWaQQ3OHSS+GSS8LzbJfKmquGwEgz+wH4Bnjf3d8A+gP7mdkkYL/odVZbsiTMXj1qVKi9EhEpqauvDoPjDBwYdyQZSflTHhMnwlZP3sjSSjXDLyKRvA4+GBo0KHtDwEmxlSsX8qgffoA33og7mtJXIVUHcvcfgF0SLJ8FdElVHOng8cdh2jR49tm4IxGRbNG8eWhmPHBg+D1cq1bcEWUO5U9re/LKn7iRF1l8Th+oWzfucCTdVKwYJhV++GGYOxfq1Ik7IskAxx8fKhZuvhm6dg1DtWcr1Zuk2IoVcPvt0KEDdOoUdzQikk3+7//Cb50HH4w7EslUU6ZAi+E3sbxidWpcc3Hc4Ui6OukkWLZMc15JoVWsCFdeCV99BR9+GHc0pUuFqxR76qkwodr//V92l9pFJPXatIGjj9Z3ixTf0KsmcIw/x/Le50G9enGHI+mqTRvYYQc1DZQi6dkTdtsNFiyIO5LSlbJmgRLsvDNcfDEcdFDckYhINnr++bgjkEx22n83s7JSNWr1U18rWQ8zOPlkuOaaUN3ZqFHcEUkGqFwZvvwy7ihKn2quUmzXXeHuu3VnWURKjzu8805ohixSaL/8whafPEOlC8+B+vXjjkbS3Yknhr/DhsUbh2ScZcvgvffijqL0qHCVIu5w443w669xRyIi2e6DD0Lt+HPPxR2JZIp582DsMTfjlSvDZZfFHY5kgsaNYc89Q9PAsjC+tiTNgAFwwAHw009xR1I6VLhKkQ8/hL59YeTIuCMRkWzXpQs0awb9+2suPSmcZ2/6lebfD2P6EWdrXispvJNOgp9/hm+/jTsSySBnnAHVqoUB3rKRClcp0r9/mNj8lFPijkREsl25cnDVVeGu4Jtvxh2NpLulS6HWoFvIKVeRTe68PO5wJJMcfTRUqhRG6xIppHr1oHdvePrp0GUv26hwlQKjR4dmOhdfHDrziYiUtmOPDX3Mb71VLXZk/V6+6w+OXvok07ufCZtuGnc4kkk22ihMWvTss5CTE3c0kkEuuST8vfvueOMoDSpcpUD//lC7Npx5ZtyRiEhZUbFi6DozdSpMnx53NJKuVq6EVbffwSorzxYDr4g7HMlExx4L//0Hn30WdySSQbbcMrQqHTMm+5qvq3BVylatCs3XL7kEatWKOxoRKUvOOCMMorPJJnFHIulq3sT/OGbh4/y9bw9s883iDkcy0SGHhA40GkFHimjQIPj009CUPZtonqtSVq4cPPBA3FGISFmU2wx52TJYuFBzwsq66j11L7CCrR9QrZUUU/XqoWngSy/BwIFQQT8tpXCqVw9/584N+VXVqrGGkzRZVlZML9Onw6hRcUchImVZTg60aKHRtWVdP381j5xBD8BRR8G228YdjmSyY44JP3o+/jjuSCTD/PlnaCL42GNxR5I8KlyVooEDYY89snMkFBHJDOXLh/lEhg2Dv/+OOxpJJ6NOeZDyC+ez8rKr4g5FMt3BB4dqiOefjzsSyTBbbRVuAN59d+gDmg1UuColCxeG5oDdu4cRu0RE4nLJJaEG6957445E0sWPXy/hkF8G8Nt2B1Ch7S5xhyOZrmpVOOyw0DQwW34hS8pccQX88Ue4fLKBClel5LHHYM4cuFxThohIzLbeOkxH8/DDMH9+3NFIOhhz/hA2YToN7ro67lAkWxx7LMyaBR9+GHckkmEOOwy23x7uuCM7pg5R4aoUrFwJAwZAx46w++5xRyMiEm70zJ+vVjsCf/2xkr2+voPJm7anVte94g5HssUBB0DNmvqSkSIrVw4uvTQMyz52bNzRlJwKV6Xg559Ds8ArNPiSiKSJ1q3hyy/h9NPjjkTi9s89z9OEP6h249VgFnc4ki2qVIFu3eDll2H58rijkQxzyimhYLVLFrRSVuGqFDRvHgax6No17khERNbYbbfwWzobml1IMbmz28j+5Oy4ExufpkxKkuyYY0KfCDUNlCKqUgV23jk8z/Q8KmWFKzPb0sxGmtkEM/vJzC6Mltc1s/fNbFL0d6NUxVQaZs0KEwdXr559k6KJSOa75x7o1CnzM69kKiv5E8C8Z96CH3+kfJ+rlElJ8u23H9SoAa+8EnckkqHOPBPOOivuKEomld+sK4FL3b0p0B4418x2Aq4CRrj7dsCI6HXGOvVU2Gsv/XARkfRUsyZ8+qluLOdTJvKnFStg/Gl3MLvmVnDccXGHI9moShU46CB47bUwRKlIEZUvD0OGwH//xR1J8aWscOXu/7r7t9HzBcAEYHOgGzA02mwo0D1VMSXbxInw+uvQpYuasYtIejrxRNh4Y7jrrrgjSR9lIX8C+PCOMey+7GP+OfpCqFgx7nAkWx1+OEybFjp5ihTRRReFG0H33x93JMVnHkMVi5k1Bj4BmgN/unudPOvmuPs6TS/MrDfQG6BKvSqtm93SrEQxTJg5gab1m5ZoH/lNGXYVs0YdSotbD6VirdlJ3XeqlEa6ZAOlS8GUNomlc7r8++bp/DP8bHa67miqbvZHSo9d2HQZc+aYMe7eJgUhrSUd8idI/vXjDldesgkHLPmUQ+/alsXVM7NJYDr/X8UpndKl+pIcPrj0e57ZZ2MGHrVF3OGkVdqkk3ROl18fuIuFv+5My/6HUK7SspQeOyl5lLun9AHUAMYAR0Sv5+ZbP2dD+2jdurWXVOuHS76PvGbMcK9Sxf3005O625RLdrpkC6VLwZQ2iaVzukyfHr6vzjgj9ccubLoAo72M5k/uyb9+vnphiq+gvH/X5dKk7jfV0vn/Kk5ply4HHui+zTbuq1bFHUn6pU2aSOd0+fhjd3B/6KHUHzsZeVRKb12ZWUXgJWCYu78cLZ5mZg2j9Q2B6amMKVmefBKWLoWLL447EhGR9WvQAB58EM4+O+5I0kc2508AM64dCMAO918QcyRSJhx+OPz2G4wbF3ckkoH23BPuvDN038tEqRwt0IDHgAnufneeVcOBHtHzHsBrqYopmS64AD76CJqVvDWIiEip69kzO+YTSYZsz5+YN4+D/x7M3P2PoeoOW8UdjZQF3bqFzucaNVCKwSxMKrxVhn5dpbLmqiNwMrCPmY2NHgcD/YH9zGwSsF/0OuNUqBCGNxYRyRQTJ8I554Ra9zIuq/MnHn0UW7CA+rdcGnckUlZssgl06KDClZTIJ59Anz5xR1F0FVJ1IHf/DChoDL0uqYoj2dzh4IPhiCPgjDPijkZEpPCmTg3NA9u1CzVZZVW25k8Ac2esYGmfe6m8cyc2at067nCkLDn8cLjsMvjjD9h667ijkQz05Zdw661h5oiWLeOOpvAyc7igNPLJJ/DOOxp6XUQyzz77QPPmYWJhzc2XnT6/+EU2Xf4Xs3uq1kpSrHv38PfVV+OMQjJYr15QrRrce2/ckRSNClcldM89UK9emDtGRCSTmIU5Rb7/Hj7+OO5oJNlWrnC2fOEuplTdgW0uOCTucKSs2WYbaNFChSsptrp1oUcPGDYMpmfQcEIqXJXA77+HScjPOguqVo07GhGRojvhBKhfP9wokuwyqv8ntFw+htmnXAzllN1LDA49FD7/HObMiTsSyVAXXADLlsHDD8cdSeHp27YE7rsPypcPHcJFRDJR1aqhW8S226ppYLYpf89dzCpXn5Z3nhJ3KFJWde0KOTnw3ntxRyIZascd4fTTwxQimSJlA1pkoyOOgEaNYLPN4o5ERKT4rrwy7ggk2fyXSXSc/To/HdmXejXUtEJi0q5dqBp/4w049ti4o5EM9eijcUdQNKq5KoE99wz9FUREMp07jBgB8+bFHYkkg90/CCpWpNkgzRQtMSpfPgyp/NZboQZLpJiWL4fXX8+MFhYqXBXDqlXQr1/ocyUikg1++AH23ReGDIk7EimpaZPms+zhJ1jW/VjYdNO4w5Gy7pBDYPbsMK62SDE99RQcdljowpfuVLgqhrffhuuvh2++iTsSEZHk2HlnaN8eBg0KN5Akc3174VAqL1vAf8dcEHcoIrD//lChQmgaKFJMxx4LdeqE8Q7SnQpXxTBwYOhndcQRcUciIpI8F1wAv/4K774bdyRSXMuXrmL79+5jQu32NDqqbdzhiIRfxHvuqcKVlEj16mFgi5degqlT445m/VS4KqKJE8OgN2efDRUrxh2NiEjyHHlkaEU2cGDckUhxjbruXbbJmcSyM1VrJWmka1cYNw6mTIk7Eslg55wTWlY89FDckayfCldFNGgQVKoEvXvHHYmISHJVqhRuHP3wA8yfH3c0UhyVBw9kWvmGtLz+yLhDEVmja9fw9803441DMlqTJmHqtM8+izuS9VPhqojMwmzRG28cdyQiIsl36aXwxx9Qq1bckUhRLRk7kd3nvsMfB5xNuSqV4g5HZI3ttw+T6alpoJTQ0KEwcmTcUayf5rkqooEDM2MYSBGR4qhePfxduTKMnFy5crzxSOFVfSw0rdjtMTWtkDTUtSs8+CAsWrTmi0akiOrUCX8XL4aqVUOlR7pRzVUhrVoFY8eG5+n4QYqIJMuMGaH5xeDBcUcihTVn8jxWPTEEjjsO23STuMMRWdchh8CyZelf7SBpb9SoMLDcF1/EHUliKlwV0vvvwy67hGHYRUSyWYMG0LAh3H+/auozxejzhlBu0UJmHK+BLCRN7bknVKum4UilxFq2DHnT/ffHHUliKlwV0qBBsMkm0KVL3JGIiJS+c88No6OOGBF3JLIhK5evYrt37uOn2h1ocGDruMMRSaxyZejcWYUrKbEaNaBnT3jhBZg2Le5o1qXCVSH88UcY4OaMM8JoWiIi2e6YY6B+/fS9MyhrfH392zTO+Y3FvVRrJWnugANg0qTww0qkBM45B1asgEcfjTuSdalwVQgPPQTlysGZZ8YdiYhIalSpAr16wfDh8NdfcUcj61PpoYH8V34zdrlRM9tLmjvggPBXtVdSQjvsAPvtF36j5+TEHc3aUla4MrPHzWy6mY3Ls6yumb1vZpOivxulKp7CWrUqzAbdrRtssUXc0YiIpM6554Za+803jzuS0pepedSMUZNoM/s9JnY+iwpVNbO9pLntt4dGjVS4kqS49VZ49VUoXz7uSNaWypqrIcCB+ZZdBYxw9+2AEdHrtFKuXBgl8N57445ERCS1ttgCDjwwfA+WAUPIwDyqwUsP4RUq0GpQr7hDEdkws1B7NWJEaNMlUgKtW4dHuklZlununwCz8y3uBgyNng8FuqcqnsJyDx3nVGslImXR4sVw5ZXwyitxR1K6MjGP8sVL4IknsMMPp/aODeMOR6RwDjgAFixI33G0JaNMnQqnngoTJsQdyRrmKRxn18waA2+4e/Po9Vx3r5Nn/Rx3T9jswsx6A70BqtSr0rrZLc1KFMuEmRNoWr/perdZ9EczJg/tS5Mz+lB1899KdLxMUZh0KYuULgVT2iSWLeniq4yfrnuRCjXmsuOVp5d4f4VNlzFnjhnj7m1KfMAiKG4elez8CQqXTp2eaMxdX75Er3NbMrZl2WgSmC3/V8mWSelSfUkOIy4Zy5MHbMoD3Uu/zXEmpU0qZUu6rFhQhx+veov6e7zCVsffUeL9JSWPcveUPYDGwLg8r+fmWz+nMPtp3bq1l1Trhze8jx493GvUcJ83r8SHyxiFSZeySOlSMKVNYtmULgMGuIP7t9+WfF+FTRdgtKcwf/Ik5VHJyJ/cN5xOq1a5f1+1nf9WpamvylmVlGNmgmz6v0qmjEuXjh3dk/S/siEZlzYpkk3pctJJ7jVrui9YUPJ9JSOPirsl/TQzawgQ/Z0eczyrzZ4Nzz0HJ50EtWrFHY2ISHx69ICqVcOoTGVM2uZRYx8fQ8slX/Nf97OxchZ3OCJFc8AB8O23MGNG3JFIFjj77NDS9Omn444kiLtwNRzoET3vAbwWYyxrGTIEli6Fs86KOxIRkXhttBEcdxwMGwbz58cdTUqlbR4199YHWUQ1dr7rlLhDESm6Aw8Mndrffz/uSCQL7L47tGwJDz4YLqu4pXIo9meAL4AdzGyqmZ0O9Af2M7NJwH7R69itWhXu0O6+O+y8c9zRiIjE75xzwpQU2Vq4yqQ8auakOez229OM3elEqm9WO+5wRIpu112hXj0NyS5JYQaXXQadOsHy5XFHAxVSdSB3P76AVV1SFUNhucP114f/exERgTZtQs1VtsqkPKrmK09SmSVsduPZcYciUjzly0OXLvDBB+FHl6lpq5TMySeHRzqIu1lgWipfHo4/HvbfP+5IRETSy48/wsSJcUdRhrlT+fEHoX17tj5il7ijESm+Ll3gn3/0hSJJ4w4jR4ZxE+KkwlU+//4bZnyO+4MREUk3S5fCXnvBDTfEHUnZ9dOgkTBxIivOOCfuUERKpktUKTxiRLxxSNaYMAH22SeMmxAnFa7yefRR6NNHhSsRkfyqVIFTToEXX9QgX3GZd+sDzLJ6+FFHxx2KSMk0aQJbbQUffhh3JJIldtoJOnQI4yasWhVfHCpc5bFyJQweDPvtB9tuG3c0IiLp58wzQ4fhxx+PO5Ky5+9v/qHdv68yrt1pVKpVJe5wRErGLNRejRwJOTlxRyNZ4uyzYdKkeMvsKlzl8fbbMHVq+GBERGRdO+0URmQaPDjeO4Nl0S+XP0IFcmjS/8y4QxFJji5dYM4cGDs27kgkSxx1VBiQbvDg+GJQ4SqPhx+Ghg2ha9e4IxERSV9nngnTpqkfeiqtXLqSHT99hNH1D2DLztvEHY5IcuyzT/irpoGSJFWqhInvv/gCli2LJwYVriIrV4Ya6jPOgIoV445GRCR9HXlkGOSradO4Iyk75j7zNg1X/U3O6aq1kizSsGH4ItGgFpJEffvCb79B5crxHD9l81yluwoV4PXX02NmZxGRdFapUni4h64SFZSTlLr6rzwCm25KuxvUtEKyTJcuoRPn8uXhi0WkhGpHc6vn5ISKk3IprkpSzRWh1urPP8NzzWMnIrJhixfDrrvCHXfEHUn2mztuKv7mm3DqqVglNa2QLNOlS/hC+fLLuCORLPLTT7D11mGe6lRT4Qp4663wAXz+edyRiIhkhmrVoE4deOQRDWxR2r49/wls1SrmHd0r7lBEkq9Tp1C1oH5XkkTbbhvK7HEMbKHCFWEgi002gXbt4o5ERCRznHkm/PFHPHcGy4qVy3LY/tNH+bbevtTepUnc4Ygk30YbhWpw9buSJKpcGXr2hNdeg//+S+2xy3zh6s8/wxDsp5+ugSxERIri8MOhfv14h7zNdt/c+j5b5PzJylPPiDsUkdLTpUtoFrhwYdyRSBbp3Tt0/XniidQet8wXrh59NPztpdYWIiJFEuedwbLCHxrMzHIN2PX67nGHIlJ69tkn/Ar+9NO4I5Essv32sPfeqZ+XsUyP8eQO//sfHHAANGoUdzQiIpnn7LOhRYs1ozNJ8swc9x9tp73Ol+0vYs9qGkVNsljHjmHY0Y8/hoMOijsaySLXXw8LFqT2mGW6cGUWJhmbOzfuSEREMlOTJuEhyVf/jSHASna8U00CJctVrw5t24bClUgS7bln6o9Z5psFbrop7Lhj3FGIiGSuRYvg7rvhq6/ijiR72CoPQzF26kSDjtvHHY5I6evcGUaPVr8rSbp//oE+fWDmzNQcr8wWrlbMq8e++8K338YdiYhIZitXDm64AQYOjDuS7LHT+5vD778z95jecYcikhqdOoV+V6NGxR2JZJnZs+HWW0NXoFQos4WrmaMOZcQIqFEj7khERDJb1apw0knw0kshE5OS6/bhfGZbXaqeeETcoYikRseOUL68mgZK0jVvDu3bh8YA7qV/vLQoXJnZgWY20cx+NbOrSvt4q1bBrM+70alTGElERERK5owzYNkyeOqpuCNJvlTnUTPGz6Dr3FGMa3UylWtXKe3DiaSHGjWgTRv46KO4I5EsdMYZMGFCaipGYy9cmVl54H7gIGAn4Hgz26k0j/nRR7BsxpYafl1EJEl23jn8LkrVncFUiSOP+umKoVRiBZv300AWUsZ06gTffAOLF8cdiWSZY44J5ffcKZhKU+yFK6Ad8Ku7/+7uy4FngW6lecBHH4Xy1eZz5JGleRQRkbKld29o2BDmz487kqRKaR7lq5yt3nuUL6rszDaHNSutw4ikp86dYcWKMJSzSBLVqAGnnhpanpa2dChcbQ78lef11GhZqdlzT9j0wCeoWrU0jyIiUrb06gXvvZd1c16lNI9a/uGnNFkxkZfbNyytQ4ikr44dwwg5ahoopeDee1NTc5UO81xZgmXrNCoxs95Ab4Aq9arQZnCb4h+xPMxpPYE2g1M0bEgGmTBzQsnSNkspXQqmtElM6ZJYBqbLBvOoZOZPFVauYq8zm/DEph8zMrPSKSUy8PpJiWxKl9YXbcsvdV9nweC3k7K/bEqbZFK6JJaMdEmHwtVUYMs8r7cA/sm/kbsPBgYDtGnTxkf3Hl2ig7YZ3IaS7iMbKV0SU7oUTGmTmNIlscKmi52ZqEwTiw3mUcnOnwA+1PWTkP6vElO6FExpk5jSJbFk5FHp0CzwG2A7M9vazCoBxwHDY45JREQElEeJiEgRxF5z5e4rzew84F2gPPC4u/8Uc1giIiLKo0REpEhiL1wBuPtbwFtxxyEiIpKf8igRESmsdGgWKCIiIiIikvFUuBIREREREUkCFa5ERERERESSQIUrERERERGRJFDhSkREREREJAlUuBIREREREUkCc/e4YygyM5sBTCnhbuoDM5MQTrZRuiSmdCmY0iYxpUtihU2XRu7eoLSDSbYk5U+g66cgSpfElC4FU9okpnRJrMR5VEYWrpLBzEa7e5u440g3SpfElC4FU9okpnRJTOlSOEqnxJQuiSldCqa0SUzpklgy0kXNAkVERERERJJAhSsREREREZEkKMuFq8FxB5CmlC6JKV0KprRJTOmSmNKlcJROiSldElO6FExpk5jSJbESp0uZ7XMlIiIiIiKSTGW55kpERERERCRpylzhyswONLOJZvarmV0VdzxxM7PJZvajmY01s9HRsrpm9r6ZTYr+bhR3nKXNzB43s+lmNi7PsgLTwcyujq6hiWZ2QDxRl74C0qWfmf0dXTNjzezgPOvKSrpsaWYjzWyCmf1kZhdGy3XNFJw2Zf66KQzlUWsof1pDeVRiyqMSUx6VWMryJ3cvMw+gPPAb0ASoBHwP7BR3XDGnyWSgfr5ltwNXRc+vAm6LO84UpMNewK7AuA2lA7BTdO1UBraOrqnycZ9DCtOlH3BZgm3LUro0BHaNntcEfonOX9dMwWlT5q+bQqSd8qi100P505rzVh5V+HQp8981yqOKnC5JvWbKWs1VO+BXd//d3ZcDzwLdYo4pHXUDhkbPhwLd4wslNdz9E2B2vsUFpUM34Fl3X+bufwC/Eq6trFNAuhSkLKXLv+7+bfR8ATAB2BxdM+tLm4KUmbQpBOVRG1bm8idQHlUQ5VGJKY9KLFX5U1krXG0O/JXn9VTWn6hlgQPvmdkYM+sdLdvE3f+FcCECG8cWXbwKSgddR3Cemf0QNcnIbVZQJtPFzBoDuwBfoWtmLfnSBnTdbIjSYm3Kn9ZP3zcF03dNRHlUYqWZP5W1wpUlWFbWh0vs6O67AgcB55rZXnEHlAHK+nX0ILAN0Ar4F7grWl7m0sXMagAvARe5+/z1bZpgWVlLG103G6a0WJvyp+Ip69eRvmsiyqMSK+38qawVrqYCW+Z5vQXwT0yxpAV3/yf6Ox14hVDdOc3MGgJEf6fHF2GsCkqHMn0dufs0d89x91XAI6ypIi9T6WJmFQlfzsPc/eVosa4ZEqeNrptCUVrkofxpg/R9k4C+awLlUYmlIn8qa4Wrb4DtzGxrM6sEHAcMjzmm2JhZdTOrmfsc2B8YR0iTHtFmPYDX4okwdgWlw3DgODOrbGZbA9sBX8cQXyxyv5gjhxOuGShD6WJmBjwGTHD3u/OsKvPXTEFpo+umUJRHRZQ/FUqZ/75JRN81yqMKkqr8qULyQk5/7r7SzM4D3iWMyvS4u/8Uc1hx2gR4JVxrVACedvd3zOwb4HkzOx34Ezg6xhhTwsyeAToD9c1sKnAd0J8E6eDuP5nZ88B4YCVwrrvnxBJ4KSsgXTqbWStC1fhk4EwoW+kCdAROBn40s7HRsj7omoGC0+Z4XTfrpzxqLcqf8lAelZjyqAIpj0osJfmTRUMNioiIiIiISAmUtWaBIiIiIiIipUKFKxERERERkSRQ4UpERERERCQJVLgSERERERFJAhWuREREREREkkCFKxERERERkSRQ4UokTZlZVTP72MzKF+E955nZqaUZl4iIlG3Kn0QKpnmuRNKUmZ0LVHD3e4vwnmrA5+6+S+lFJiIiZZnyJ5GCqeZKJMXMrK2Z/WBmVcysupn9ZGbNE2x6IvBa9J7O0V3C583sFzPrb2YnmtnXZvajmW0D4O6Lgclm1i6FpyQiIllA+ZNIyVWIOwCRssbdvzGz4cBNQFXgKXcfl3cbM6sENHH3yXkW7ww0BWYDvwOPuns7M7sQOB+4KNpuNLAn8HVpnoeIiGQX5U8iJafClUg8bgC+AZYCFyRYXx+Ym2/ZN+7+L4CZ/Qa8Fy3/Edg7z3bTgR2TGayIiJQZyp9ESkDNAkXiUReoAdQEqiRYvyTB8mV5nq/K83oVa98oqRK9X0REpKiUP4mUgApXIvEYDFwLDANuy7/S3ecA5c0sUca2IdsD4za4lYiIyLqUP4mUgApXIilmZqcAK939aaA/0NbM9kmw6XvAHsU4REfggxKEKCIiZZDyJ5GS01DsImnKzHYBLnH3k0vzPSIiIkWh/EmkYKq5EklT7v4dMLIokzQSOhpfW0ohiYiIKH8SWQ/VXImIiIiIiCSBaq5ERERERESSQIUrERERERGRJFDhSkREREREJAlUuBIREREREUkCFa5ERERERESSQIUrERERERGRJFDhSkREREREJAlUuBIREREREUkCFa5ERERERESSQIUrKREzW2hmTUpzv2Y2xMxuSvYxSsrM9jSziSk4Tk8z+yyJ++tjZo8ma3/JYGYfmVmvUtivm9m2JdzHT2bWOTkRiYiISDZT4aoMMrPJZrYkKsBMM7MnzKxGcfbl7jXc/fcSxrPOD+tk7DfZ8v9Qd/dP3X2HOGMqDne/xd2TXpDJKxmFmnTh7s3c/SMAM+tnZk/FHJKIiIikKRWuyq5D3b0GsCvQFrgm/wZmViHlUUmp0mcqIiIiUnpUuCrj3P1v4G2gOayucTjXzCYBk6JlZ5jZr2Y228yGm9lmue/PW0NhZpXN7E4z+zOqEXvIzKrm2babmY01s/lm9puZHWhmNwN7AoOimrRB+febn5l1jfYz18xGmVnLgs4v2s85ZjbJzBaY2Y1mto2ZfRHF8byZVcqzfcJzNbNPok2+j+I81sw6m9nUPO9tGtXCzY2akh2WZ90QM7vfzN6M4vjKzLYp7OcU7eNOM5tjZn+Y2UF5lm8WxTo7iv2MPOv6mdmLZvaUmc0HeuatfTGz3HTPfaw0s34lOZ8C0mojM3vDzGZE5/CGmW1RiHPeLKplrZtn2S5mNtPMKkavTzOzCdF+3zWzRgXsq7aZPRnFMMXMrjGzcnnWnxHtZ4GZjTezXaPlk81sXzM7EOgDHBud1/dmdrSZjcl3nEvN7NUNnZuIiIhkHxWuyjgz2xI4GPguz+LuwG7ATma2D3ArcAzQEJgCPFvA7m4DtgdaAdsCmwN9o+O0A54ELgfqAHsBk939/4BPgfOipoDnbSDeXYHHgTOBesDDwHAzq7yetx0ItAbaA1cAg4ETgS0Jhcrjo30XeK7uvle0r52jOJ/LF1dF4HXgPWBj4HxgmJnlbTZ4PHA9sBHwK3Dz+s41n92AiUB94HbgMTOzaN0zwFRgM+Ao4BYz65Lnvd2AFwnpPizvTt09N91rAHsAc4DXSnI+BaRVOeAJoBGwFbAEGLShk3b3f4AvgCPzLD4BeNHdV5hZd0KB5wigAeFaeqaA3d0H1AaaAJ2AU4BTAczsaKBftKwWcBgwK18s7wC3AM9F57UzMBzY2sya5tn0JOB/Gzo3ERERyT4qXJVdr5rZXOAz4GPCj8Zct7r7bHdfQiiEPO7u37r7MuBqYHcza5x3Z9EP/TOAi6P3Loj2eVy0yenRft5391Xu/re7/1yMuM8AHnb3r9w9x92HAssIBaeC3Obu8939J2Ac8J67/+7u8wi1drtE2xXqXAvQHqgB9Hf35e7+IfAGUcEt8rK7f+3uKwmFnFaFPWlgirs/4u45wFBC4W+TqHC8B3Cluy9197HAo8DJed77hbu/GqX7kkQ7N7MGwKvA+e7+XbLPx91nuftL7r44ujZuJhRwCuNp1hSAjXBNPR2tO5NwvU6I4rgFaJW/9srMygPHAle7+wJ3nwzcxZp06gXc7u7fePCru0/ZUGDRdfIcoUCFmTUDGhPSSkRERMoYFa7Kru7uXsfdG7n7Ofl+dP+V5/lmhBocANx9IeGO/ub59tcAqAaMiZqRzQXeiZZDqCX6LQlxNwIuzT1GdJwtozgLMi3P8yUJXucO5lHYc01kM+Avd1+VZ9mUfO/9L8/zxXmOWxir3+vui6OnNaLj5hZmCzpu3s9zHVEt1YvA0+6eWyuZ1PMxs2pm9nDUHG8+8AlQJyr0bMiLhELuZoQaTyfUUEG4Hu7Ncy3MBox1P7P6QCXyfL75zqck1+dQ4ISo4Hcy8HxU6BIREZEyRp3bJRHP8/wfwg9YAMysOqE53t/53jOTUFBpFvXjyu8voKA+Rl7A8kT+Am5296I0qSuswp5rQe/d0szK5SmQbAX8kvQo1z1uXTOrmaeAtRVrx7yh9L0PWMDag5ok+3wuBXYAdnP3/8ysFaEpqq33XYC7zzWz9wjNNZsCz7h77jnlXg/DCtxBMBNYQfh8x0fL8qbT+q7PtcJJEN+XZrac0HfwhOghIiIiZZBqrmRDngZONbNWUb+mW4CvomZVq0U/wB8BBpjZxgBmtrmZHRBt8li0ny5mVi5at2O0bhqhH0xhPAKcZWa7WVDdzA4xs5olO01gw+e6vji/AhYBV5hZRQvzIh1Kwf3T1mJh4Ih+RQ3Y3f8CRgG3mlkVC4N7nE6+vlXrOe6ZhOZ5J+SrpSrR+bBuWtUkFL7nRoNTXFfI/eR6mtAf6kjWNAkEeAi4OmqOlztoxdH53xw1p3weuNnMakbNBi8BcodVfxS4zMxaR9fVtgUMjDENaJx3IIzIk4Q+ZCvdPWlzkomIiEhmUeFK1svdRwDXAi8B/xLu7h9XwOZXEgY2+DJq+vUBobYCd/+aMHjAAGAeoZ9X7o/Xe4GjotHeBm4gntGEfleDCIMv/Ar0LObp5d/3hs61HzA0aoJ2TL73LicMgnAQoZbkAeCUIvQr2xL4vJihH0/o5/MP8Apwnbu/X4T3NgH+sTUjBvZJwvn0Y+20ugeoGu3rS0KT0aIYDmwHTHP373MXuvsrhIFUno2uuXFRzImcTygw/k7oa/g0YXAU3P0FQj+wpwm1eK8CdRPs44Xo7ywz+zbP8v8RBkfRQBYiIiJlmK1pXSNSNNHd+xygkbv/GXc8mcrCkOQvuPvucccixWNhyoHpwK7uPinueERERCQe6nMlJdEcWMraAxtIEbn7VEAFq8x2NvCNClYiIiJlmwpXUixmdiRhvqgroyZkImWSmU0mDMzRPd5IREREJG5qFigiIiIiIpIEGtBCREREREQkCTKyWWD9+vW9cePGJdrHpNmT2K7udskJKEbZch6QPeeSLecB2XMu2XIeUHbOZcyYMTPdvUHClSIiImkqIwtXjRs3ZvTo0SXaR5vBbRjdu2T7SAfZch6QPeeSLecB2XMu2XIeUHbOxcympDgcERGRElOzQBERERERkSRQ4UpERERERCQJVLgSERERERFJgozscyUiUlgrVqzg/O3PZ8KECXGHkhS3t7o9a87ltla38ccff7DFFltQsWLFuMMREREpMRWuRCSrTZ06lZZbtmTHJjtiZnGHU2I+w2naoGncYSTFqumrqFmuJlOnTmXrrbeOOxwREZESU7NAEclqS5cupVLNSllRsMo2Zka9evVYunRp3KGIiIgkRcoKV2ZWxcy+NrPvzewnM7s+Wl7XzN43s0nR341SFZOIlA0qWKUvfTYiIpJNUllztQzYx913BloBB5pZe+AqYIS7bweMiF6LiIiIiIhklJQVrjxYGL2sGD0c6AYMjZYPBbqXejAjRlB/7vJSP4yIyMUXX8w999yz+vUBBxxAr169Vr++9NJLufvuuxk+fDj9+/cH4NVXX2X8+PGrt+ncuXOJJk7v0KFDsd9bWH379uWDDz4ocH3+cxIREclGKR3QwszKA2OAbYH73f0rM9vE3f8FcPd/zWzjAt7bG+gNUKVeFdoMblOsGOrOX8HrV//I6TuVo02d4u0jnUyYOaHYaZFusuVcsuU8IDvO5fZWt1OnTh3Gz4jnh/1WzbfineHvsP+J+7Nq1Sqm/jeVabOmrY5nxMcjuOqmq9i29bZsu/u2jJ8xniHPDqHT/p2gQdjH4hWL+X3O71SbUY2lK5cW+Vwefe3Rdd6Tk5ND+fLlC3zPhtbnd9z5xwEUGFv+cwJWn8t/C/7j5MEnF/pYIiIiacvdU/4A6gAjgebA3Hzr5mzo/a1bt/YSue46d3AfMaJk+0kDrR8uYVqkkWw5l2w5D/fsOJfx48f7T9N/iu34f//9t2+++ebu7v7DDz/4Kaec4vvtt5/Pnj3bly5d6rVr1/Zly5b5E0884eeee65//vnnvtFGG3njxo1955139l9//dU7derkV1xxhbdt29YbNWnkn3zyyTrHWbBgge+zzz6+yy67ePPmzf3VV19dva569eru7j5y5Ejv3LmzH3/88d60adN19lG9enW/9tprvV27dv7pp5/6//73P2/btq3vvPPO3rt3b1+5cqWvXLnSe/To4c2aNfPmzZv73Xff7e7uPXr08BdeeMHd3a+88kpv2rSpt2jRwi+99NKE5+Tuqz+X8ePHrxMLMNpjyJ/00EMPPfTQoySPWIZid/e5ZvYRcCAwzcwaeqi1aghML/UArvz/9u482q75/OP4+8nkSokppUgqpVQk0uBSpDUFjVKlqLkpKmpqStWsiKHKD0VbvyoxpjWH0qJKUGPkRki45qliiJinIjy/P/bRX0oSubn3nn3Pue/XWnflnH3O3efzrLNYebK/+/kexHO/+xV99t4b7r8fevRo94+U1AH87GcwaVLbnnPwYJhp2d+nLbXUUnTr1o1nn32WO++8k7XWWoupU6dy1113sdBCCzFo0CB6zPT/oLXXXpvNN9+czTbbjK233vo/x2fMmMH48eP53z//L0cfffRnluA1NDQwduxYevXqxfTp01lzzTXZfPPNPzMwYvz48UyZMmWWo8/feecdBg4cyKhRo2hububXv/41d9xxB927d2evvfZizJgxDBgwgKlTpzJlyhQAXn/99f86x6uvvsrYsWN5+OGHiQhef/11Fl544VnWJElSvanmtMAvRsTClcfzAxsCDwN/AYZX3jYcuLrdw8w/Pydt92V4+GE49dR2/zhJnduQIUO48847/9NcrbXWWv95Prf3Q33/+98HYKVBK/H0009/5vXM5NBDD2XQoEFsuOGGTJ06lZdeeukz71tjjTVmu6dU165d2WqrrQC46aabaGpqYvXVV2fw4MHcdNNNPPnkkyy77LI8+eST7Lvvvlx//fX06tXrv87Rq1cvGhoa+PGPf8yVV15Jz54956o+SZLqQTWvXC0JnF+576oLcGlmXhsRdwGXRsRuwLPANtUIc8fKC8H3vgejRsEOO0DfvtX4WEllmsMVpva09tprc+eddzJ58mQGDhxI3759Ofnkk+nVqxe77rrrXJ1jvvnmA4oGaMaMGZ95fcyYMbz88ss0NTXRvXt3+vXrN8v9o77whS/M9jMaGhr+c59VZjJ8+HB+9atffeZ9999/PzfccAO/+93vuPTSSxk9evR/XuvWrRvjx4/npptu4uKLL+a3v/0tN99881zVKElSravmtMAHMnOVzByUmQMzc1Tl+CuZOTQzl6/8+Wq1MvGb30Am7Ldf1T5SUuczZMgQrr32WhZddFG6du3Koosuyuuvv85dd93FWmut9Zn3L7jggrz11lst+ow33niDxRdfnO7duzNu3DieeeaZVmUeOnQol19+OdOmFSu1X331VZ555hmmT5/Oxx9/zFZbbcUxxxzDxIkT/+v33n77bd544w2+853v8Jvf/IZJlWWY81KTJEm1ppr7XHU8/frBYYfBFVfADTeUnUZSnVp55ZX/cx/UzMcWWmghevfu/Zn3b7fddpx00kmsssoqPPHEE3P1GTvuuCMTJkygsbGRMWPGsOKKK7Yq80orrcSxxx7LxhtvzKBBg9hoo4144YUXmDp1Kuuttx6DBw/mRz/60WeubL311ltsttlmDBo0iHXXXZdTK0uv56UmSZJqTWRm2RlarLGxMVuz5wtA41mNTBgxAd5/HwYNgo8/hsmToaGhjVJWx3/qqAP1Uku91AH1UUtzczPZO1npiyuVHaVNPPTyQ3VXS3NzM/379/+v1yKiKTNrex8ASVKn07mvXAHMNx/89rfw+OMwi3sLJEmSJGlu2FwBbLQR7Lhj0Vw9+GDZaSRJkiTVIJurT5x6KvTqBbvvXiwRlFQ3anH5c2fhdyNJqic2V5/44heLBuuuu+DMM8tOI6mNNDQ08MFbH/iX+A4oM3nllVdoqLF7XSVJmp1q7nPV8e20E1x4IRxySLEHVp8+ZSeS1Ep9+vThtjtuo+GD+vgL/ItvvUhMj7JjtIkX33qRnl/sSR//XytJqhM2VzOLgD/8AQYOhL32gquvLo5Jqlndu3fnjEfPYMJ6tT318BM7n7VzzU9w/EQ91SJJErgs8LO+8hUYNQquuQYuv7zsNJIkSZJqhM3VrIwcCautBvvuC6++WnYaSZIkSTXA5mpWunWDs8+GV16Bn/607DSSJEmSaoDN1ewMHgyHHw5jxsDYsWWnkSRJktTB2VzNyaGHwiqrwE9+AtOnl51GkiRJUgdmczUn3bvD+efDa68V0wMlSZIkaTZsrj7PyivD0UfDZZfBpZeWnUaSJElSB2VzNTd+8QtYffXi6tVLL5WdRpIkSVIHZHM1N7p1K5YHvv027LEHZJadSJIkSVIHY3M1t/r3h2OPhauvhvPOKzuNJEmSpA6mas1VRPSNiHER0RwRD0bEyMrxwRFxd0RMiogJEbFGtTK12H77wXrrFZsLP/542WkkSZIkdSDVvHI1A/h5ZvYH1gT2joiVgBOBozNzMPDLyvOOqWtXuOAC6NEDdtwRPvyw7ESSJEmSOoiqNVeZ+UJmTqw8fgtoBpYGEuhVedtCwPPVyjRP+vaFP/wBxo+HUaPKTiNJkiSpgyjlnquI6AesAtwD/Aw4KSL+BfwPcEgZmVpkm21gl13g+OPhn/8sO40kSZKkDiCyypPvImIB4FbguMy8MiJOB27NzCsi4gfAiMzccBa/NwIYAdCwWMNqA44f0KoczdOb6d+7/zz/fs9/f8SYY5vp9lGy/RH9ebtnt1blmVetraMjqZda6qUOqJ9a6qUO6Dy1NO3R1JSZjVWOJElSq1S1uYqI7sC1wA2ZeUrl2BvAwpmZERHAG5nZa07naWxszAkTJrQqS+NZjUwY0bpzcM89MGQIbLstjBnTunPNozapo4Ool1rqpQ6on1rqpQ7oPLVEhM2VJKnmVHNaYADnAM2fNFYVzwPrVh5vADxWrUyt9o1vwFFHwZ/+5Hh2SZIkqZOr5lq2IcDOwOSImFQ5diiwO3BaRHQD/k1l6V/NOOQQGDcO9toLVl8dBrRuuaIkSZKk2lS15iozbwdiNi+vVq0cba5r12JJ4ODBxaCL8eNhgQXKTiVJkiSpykqZFlh3vvSlYmngww8XV7CqPCREkiRJUvlsrtrKBhvAkUfChRfCueeWnUaSJElSldlctaXDD4ehQ2HvvWHy5LLTSJIkSaoim6u29Mn9VwsvDD/4Abz9dtmJJEmSJFWJzVVbW2KJ4v6rRx+FXXbx/itJkiSpk7C5ag/rrw8nnACXXw4nnVR2GkmSJElVYHPVXg44oBjNfsghcOONZaeRJEmS1M5srtpLBIweDf37w3bbwdNPl51IkiRJUjuyuWpPCywAY8fCRx/B978P771XdiJJkiRJ7cTmqr0tvzxcdBHcdx/ssYcDLiRJkqQ6ZXNVDZttBkcdVWwwfPrpZaeRJEmS1A5srqrliCNgiy1g//3huuvKTiNJkiSpjdlcVUuXLsWVq5VXhm23hQcfLDuRJEmSpDZkc1VNCywA11wDPXvCd78L06eXnUiSJElSG7G5qra+feHqq+H554sJgu+/X3YiSZIkSW3A5qoM3/gGnHce/POfsOeeThCUJEmS6kC3sgN0WtttB83NMGpUsdHwL35RdiJJkiRJrWBzVaajjoJHHoEDD4Qvf7kYdCFJkiSpJlVtWWBE9I2IcRHRHBEPRsTImV7bNyIeqRw/sVqZShdRLA/81rfghz+EW24pO5EkSZKkeVTNK1czgJ9n5sSIWBBoiogbgSWA7wGDMvP9iFi8ipnK19AAV10F3/xmsQ/WHXfAgAFlp5IkSZLUQlW7cpWZL2TmxMrjt4BmYGlgT+CEzHy/8tq0amXqMBZdtNhYuGdPGDYMpk4tO5EkSZKkFiplWmBE9ANWAe4BVgC+FRH3RMStEbF6GZlKt8wy8Le/weuvw3e+A2+8UXYiSZIkSS0QWeUx4BGxAHArcFxmXhkRU4CbgZHA6sAlwLL5qWARMQIYAdCwWMNqA45v3dK55unN9O/dv1XnaA/feOhNTjvjMSYuvyAj9/0qH3afc//bUeuYF/VSS73UAfVTS73UAZ2nlqY9mpoys7HKkSRJapWqNlcR0R24FrghM0+pHLueYlngLZXnTwBrZubLsztPY2NjTpgwoVVZGs9qZMKI1p2j3VxwAQwfDltvDRdfDF27zvatHbqOFqqXWuqlDqifWuqlDug8tUSEzZUkqeZUc1pgAOcAzZ80VhVXARtU3rMC0AOYXq1cHdIPfwgnnwyXXw577OEmw5IkSVINqOa0wCHAzsDkiJhUOXYoMBoYXVke+AEw/NNLAjul/feH116DY4+FhReGk04qRrdLkiRJ6pCq1lxl5u3A7LqDnaqVo6aMGlUMuDj5ZFhkETjssLITSZIkSZqNal65UktFwGmnFQ3W4YcXV7D23rvsVJIkSZJmweaqo+vSBUaPhjffhH32gV69YOedy04lSZIk6VNK2edKLdS9O1xyCWywAfzoR8UEQUmSJEkdis1VrWhogL/8Bb75TdhpJ7jssrITSZIkSZqJywJryRe+AH/9KwwbBttvXywZlCRJktQh+LfzWrPAAnDddbDGGrDddqx332tlJ5IkSZKEzVVtWnBBuP56WG01TjjryWK5oCRJkqRS2VzVql694IYbeOTLPWHrrW2wJEmSpJLZXNWyhRZi75HLw+DBsNVWxURBSZIkSaWwuapxb/fsBv/4B6y5JuywA5x/ftmRJEmSpE7J5qoe9OpV3IP1yT5YZ55ZdiJJkiSp07G5qhdf+AJccw1897uw115w8sllJ5IkSZI6FZuretLQAFdcAdtsAwccAKNGQWbZqSRJkqROwU2E60337vCnP8H888ORR8Krr8Ipp7jhsCRJktTObK7qUbducO65sOii8JvfwLRpcN550KNH2ckkSZKkumVzVa+6dCmuWH3pS3DwwTB9erFkcMEFy04mSZIk1SXXitWzCDjoIBg9Gm6+uZgmOG1a2akkSZKkumRz1RnssgtcdRU8+CAMGQJPPVV2IkmSJKnuVK25ioi+ETEuIpoj4sGIGPmp1w+IiIyI3tXK1Klstlmx2fArr8Daa0NTU9mJJEmSpLpSzStXM4CfZ2Z/YE1g74hYCYrGC9gIeLaKeTqftdeG22+H+eaDddaBq68uO5EkSZJUN6rWXGXmC5k5sfL4LaAZWLry8qnAgYCbMrW3lVaCu++GAQNgyy3h1FPdC0uSJElqA6XccxUR/YBVgHsiYnNgambeX0aWTulLX4JbboHvfx/23x/23htmzCg7lSRJklTTIqt81SIiFgBuBY4DrgfGARtn5hsR8TTQmJnTZ/F7I4ARAA2LNaw24PgBrcrRPL2Z/r37t+ocHUFr6oiPk33GTmX431/ijgG9OHT3ZXln/q5tnHDu+Z10PPVSS73UAZ2nlqY9mpoys7HKkSRJapWqNlcR0R24FrghM0+JiJWBm4B3K2/pAzwPrJGZL87uPI2NjTlhwoRWZWk8q5EJI1p3jo6gTer44x9hzz2LJYN/+Qv069cm2VrK76TjqZda6qUO6Dy1RITNlSSp5lRzWmAA5wDNmXkKQGZOzszFM7NfZvYDngNWnVNjpXaw++5w3XXw7LPQ2AjjxpWdSJIkSao51bznagiwM7BBREyq/Hynip+vOdloI7j3Xlh88eLxGWc46EKSJElqgW7V+qDMvB2Iz3lPv+qk0Swtv3wxSXCnneCnP4X77oMzzyxGt0uSJEmao1KmBaoD69ULrroKjjgCzj0X1l0Xnn++7FSSJElSh2dzpc/q0gVGjYLLL4cpU4r7sO68s+xUkiRJUodmc6XZ22oruOsumH/+4gqWGw5LkiRJs2VzpTlbeWVoaoJNNy02HN5mG3jjjbJTSZIkSR2OzZU+38ILw9ixcNJJxf1YjY1w//1lp5IkSZI6FJsrzZ0IOOCAYg+sd96BNdeE884rO5UkSZLUYbS4uYqIL0RE1/YIoxrwrW8VI9rXXht22QV23bVotiRJkqRO7nObq4joEhE7RMRfI2Ia8DDwQkQ8GBEnRcTy7R9THcoSS8Df/w6HH15cvVp1VZg4sexUkiRJUqnm5srVOGA54BDgS5nZNzMXB74F3A2cEBE7tWNGdURdu8Ixx8BNN/3/MsFTToGPPy47mSRJklSKbnPxng0z88NPH8zMV4ErgCsionubJ1NtWH/9YrjFbrvBz38ON95YXM1aYomyk0mSJElV9blXrj5prCJim4hYsPL4iIi4MiJWnfk96qQWW6yYJvj738Mtt8CgQXDDDWWnkiRJkqqqJQMtjsjMtyLim8DGwPnAme0TSzUnAvbcE+69FxZfHIYNg5Ej4d13y04mSZIkVUVLmquPKn9uCpyZmVcDPdo+kmrawIEwfjzsuy+cfjqssgrcc0/ZqSRJkqR215LmampE/AH4AfC3iJivhb+vzmL++YvG6h//gPfeK8a2H3YYfPBB2ckkSZKkdjM3o9jXioigaKpuAIZl5uvAosAv2jeeatrQoTB5MgwfDscfD2usAQ88UHYqSZIkqV3MzZWn4UATMBroBbwFkJkvZObf2zGb6sFCC8Ho0XD11fDii9DYCCecADNmlJ1MkiRJalNzMy3wJ5m5KnAUsAhwXkTcFRHHR8Q6EdG1vUOqDmy+OUyZAt/7HhxyCKy1VjHCXZIkSaoTc33PVGY+nJmnZuYwYAPgdmAbwGkFmju9e8Oll8Ill8CzzxZXsQ47DP7977KTSZIkSa02TwMpMvO9zPxbZu6bmY1z8zsR0TcixkVEc0Q8GBEjK8dPioiHI+KBiBgbEQvPSybViAj4wQ/goYdgxx2Le7EGD4Z//rPsZJIkSVKrzHVzFRGNleZnYqUReiAiWjKdYAbw88zsD6wJ7B0RKwE3AgMzcxDwKHBISwpQjVpsMTjvvGKz4fffh3XW4aA/PQtvvll2MkmSJGmetOTK1RjgXGAr4Lsz/cyVygCMiZXHbwHNwNKZ+ffM/GS6wd1AnxZkUq3beONiouDPfsZWt70MAwbAVVdBZtnJJEmSpBZpSXP1cmb+JTOfysxnPvmZlw+NiH7AKnz2fq1dgevm5ZyqYQssAKeeyi4HrQgLLwxbblkMwHjqqbKTSZIkSXMtci6vEETEUGB74Cbg/U+OZ+aVLfrAiAWAW4HjZv7diDgMaAS+n7MIFREjgBEADYs1rDbg+AEt+djPaJ7eTP/e/Vt1jo6gXuqAopaBi6zIdjdPY49rnqfLx8m5myzJBRsvwYfda2e/6nr7TuqhlnqpAzpPLU17NDXN7T29kiR1FC1pri4CVgQeBD6uHM7M3HWuPyyiO3AtcENmnjLT8eHAT4Chmfnu552nsbExJ0yYMLcfO+tznNXIhBGtO0dHUC91wKdqee452G8/uPxyWH55+N3vYKONyg04l+r2O6lh9VIHdJ5aIsLmSpJUc1pyOeDrmdmYmcMzc5fKT0saqwDOAZo/1VgNAw4CNp+bxkqdRJ8+cNllcP31xf1XG28M224LU6eWnUySJEmapZY0V3dXpvvNqyHAzsAGETGp8vMd4LfAgsCNlWP/24rPUL359reLgRdHHw1XXw1f+1oxvt29sSRJktTBtKS5+iYwKSIeqYxhn9ySUeyZeXtmRmYOyszBlZ+/ZeZXM7PvTMd+0vIyVNcaGuCXv4QHHyyWBh52GPTvD1dc4VRBSZIkdRgtaa6GAcsDG1OMYN+MFoxil1ptueVg7Fj4xz+KCYNbbw3rrw+TJpWdTJIkSfr85qpyrxQzj1//9Cj2T94jVcXQoXDfffD738OUKbDqqrDHHjBtWtnJJEmS1InNzZWrcRGxb0R8eeaDEdEjIjaIiPOB4e0TT5qNbt1gzz3hscdg5EgYPbqYKnjSSd6PJUmSpFLMTXM1DPgI+HNEPB8RD0XEk8BjFPtenZqZ57VjRmn2FlkETj21GHrxzW/CgQcWQy8uuAA++qjsdJIkSepEPre5ysx/Z+bvM3MIsAwwFFg1M5fJzN0zc1J7h5Q+14orwl//CjffDIsvDsOHF8sFPxnlLkmSJLWzlgy0IDM/zMwXMvP1dsojtc7668M998DFF8Pbb8MmmxQTBpuayk4mSZKkOtei5kqqCV26FBsONzfDaafB/fdDYyPssAM8+WTZ6SRJklSnbK5Uv3r0gJ/+FB5/HA49FK66qlg+uOee8NxzZaeTJElSnZmn5ioiurZ1EKndLLQQHHdc0WTtvjuccw589auw337w0ktlp5MkSVKdmNcrV2dFRE+AiFinDfNI7WeppeB3v4NHH4Udd4QzzoBll4WDD4ZXXik7nSRJkmrcvDZXvwTOiYgLgdXbMI/U/vr1K65ePfQQbLEFnHgifOUrcOSR8MYbZaeTJElSjZrX5uoY4BEggUvbLo5URSusAGPGwAMPFBMFR40qmqzjjrPJkiRJUovNdXMVEXdGxPqVpwdm5lHAnsCR7RFMqpqBA+GKK4px7WuvDYcfXlzdOuooeO21stNJkiSpRrTkytUIYJ+IuAn4KkBmvgPs0R7BpKpbdVW49lq4915Ybz04+mhYZpli0uDLL5edTpIkSR3cXDdXmTklM7cCfgEcHhHXRsTgzPyo/eJJJWhshLFji/2xNtkETjihuJJ1wAHw4otlp5MkSVIHNS/3XD1Occ/Vc8CEto0jdSCDBsEll8CDD8L3vw+nnlrck/XTn7pPliRJkj6jJfdc3RwR/wKagEOB14AftVMuqePo3x8uvBAeeQR22AHOPBOWW67YM+vRR8tOJ0mSpA6iJVeuDgBWyMzlM/N7mXlIZl7UXsGkDuerXy1GuD/2GPz4x3DRRbDiirDVVjB+fNnpJEmSVLKW3HM1MTPfa88wUk3o16/YjPiZZ+Cww2DcOPjGN2D99eG66yCz7ISSJEkqwbzuc9ViEdE3IsZFRHNEPBgRIyvHF42IGyPiscqfi1Qrk9Qqiy8OxxxTNFmnnFJc0frOd/jTsc3F/lkzZpSdUJIkSVVUteYKmAH8PDP7A2sCe0fESsDBwE2ZuTxwU+W5VDsWXBD22w+efBLOPZduHyXstFOxjPCMM+Cdd8pOKEmSpCqoWnOVmS9k5sTK47eAZmBp4HvA+ZW3nQ9sUa1MUpvq0QN+9CO2/eVKcPXVsPTSxWTBZZYpNiZ2jLskSVJdiyzh/pCI6AfcBgwEns3MhWd67bXM/MzSwIgYQbGRMQ2LNaw24PgBrcrQPL2Z/r37t+ocHUG91AH1U8vMdXz98bfZ6caXWPf+15nRNbh+9UX504aL83ifniWnnDv1+J3Uus5SS9MeTU2Z2VjlSJIktUrVm6uIWAC4FTguM6+MiNfnprmaWWNjY06Y0LotthrPamTCiNrfpqte6oD6qWWWdTz+OJx2GoweDe++C0OHwv77w7Bh0KWaq3Nbpq6/kxrVWWqJCJsrSVLNqerf6iKiO3AFMCYzr6wcfikilqy8viQwrZqZpKr45P6rf/0LTjgBmpth001hwAA46yx4z0GckiRJta6a0wIDOAdozsxTZnrpL8DwyuPhwNXVyiRV3aKLwkEHwVNPFftk9ewJe+wBX/4y/PKX3pclSZJUw6p55WoIsDOwQURMqvx8BzgB2CgiHgM2qjyX6luPHrDjjjBhAtxyC6y9Nhx7bDH8Ypdd4P77y04oSZKkFupWrQ/KzNuBmM3LQ6uVQ+pQImDddYufxx4r7ss691w477zi2L77wve+B92q9p+qJEmS5lHHvZNe6myWXx5++9vivqyTToKnn4att4Zll4Vf/xpeeaXshJIkSZoDmyupo1l0UTjgAHjiCRg7thiGcfDB0KcP7L47PPBA2QklSZI0CzZXUkfVtStssQXcfHPRUP3whzBmDHz967D++nDllTBjRtkpJUmSVGFzJdWClVeGP/wBnnsOTjyxmDa41Vaw3HLF81dfLTuhJElSp2dzJdWSRReFX/zi/5cMLrdcMdrdJYOSJEmls7mSatGnlwzutJNLBiVJkkpmcyXVupVXhrPO+v8lg08++f9LBp0yKEmSVDU2V1K9mHnJ4JVXFs3VJ1MGd9sNJk0qO6EkSVJds7mS6k23brDllsWSwcmTYfhwuPhiWGUV+Na34NJL4cMPy04pSZJUd2yupHo2cCD87/8WSwZPPhmefx623Ra+8hU49liYNq3shJIkSXXD5krqDBZZBPbfHx59FK65BgYMgCOOgL59i/2z7r237ISSJEk1z+ZK6ky6doXNNoMbboDmZhgxohjpvsYasOaaxcTBDz4oO6UkSVJNsrmSOqsVV4QzzoCpU+H00+G114qR7l/+Mhx5JLzwQtkJJUmSaorNldTZ9eoF++5bXMm67jpYbTU45hj48pc57uwn4c47IbPslJIkSR2ezZWkQpcuMGwY/PWvxb1Z++zDkMlvwJAh0NgI550H//532SklSZI6LJsrSZ/11a/Cqaeyya8Hwe9/XzRVu+xSDMA47LBi+qAkSZL+i82VpNl6r6Er7LknTJkC//hHcRXrhBOgXz/YZhu47TaXDEqSJFXYXEn6fBEwdChcdRU88UQx1v2mm2DddWHwYDj7bHj33bJTSpIklapqzVVEjI6IaRExZaZjgyPi7oiYFBETImKNauWRNI/69YMTTyyWBv7xj8Wx3XeHPn3gwAPh6afLTCdJklSaal65Og8Y9qljJwJHZ+Zg4JeV55JqQc+e8OMfw6RJcOutxZWtU06B5ZaDLbYormy5ZFCSJHUiVWuuMvM24NVPHwZ6VR4vBDxfrTyS2kgErLMOXHYZPPUUHHww3HEHbLghDBwIZ54Jb79ddkpJkqR2F1nFf1mOiH7AtZk5sPK8P3ADEBSN3tqZ+cxsfncEMAKgYbGG1QYcP6BVWZqnN9O/d/9WnaMjqJc6oH5qqZc6YN5r6fHhx2w04TW2vXkaKz37Lm/N35Vr1l6MS9f7Is8t3tAOSefM76RjmlMtTXs0NWVmY5UjSZLUKmU3V6cDt2bmFRHxA2BEZm74eedpbGzMCRMmtCpL41mNTBjRunN0BPVSB9RPLfVSB7RBLZlw991w+ulw+eXw0UewySbFpsUbb1zsrVUFficd05xqiQibK0lSzSl7WuBw4MrK48sAB1pI9SQC1loL/vxneOYZOOIIaGoqGqz+/Yum6803y04pSZLUJspurp4H1q083gB4rMQsktrTUkvB0UfDs8/CRRfBIovAyJGw9NKwzz7w8MNlJ5QkSWqVao5i/zNwF/C1iHguInYDdgdOjoj7geOp3FMlqY716AE77lgsFxw/Hrbcshjp3r8/fPvbcO21xfJBSZKkGlPNaYHbZ+aSmdk9M/tk5jmZeXtmrpaZX8/Mb2RmU7XySOoAVl8dLrgA/vUvOOYYmDIFvvtdWGGFYqz766+XnVCSJGmulb0sUJJg8cXh8MOLDYgvuaRYQvjznxdLBvfc0yWDkiSpJthcSeo4uneHH/wA/vlPmDgRttsOzj23WDK42WZw881uTCxJkjosmytJHdMqq8A55xQDMI46qrg/a+jQ4vgFF8AHH5SdUJIk6b/YXEnq2BZfHI48smiyzjkHZsyA4cOhXz847jh45ZWyE0qSJAE2V5JqRUMD7LorTJ4MN9wAgwYV92n17Vvcl/XII2UnlCRJnZzNlaTaEgEbbwzXX180WjvsUNyXteKKxaTBceO8L0uSJJXC5kpS7Ro4EM4+G555plg6eM89sMEGsOqqcOGF3pclSZKqyuZKUu1bYoli6MWzzxbN1gcfwA9/WNyX9atf0eudGWUnlCRJnYDNlaT60dAAu+1WbEZ8/fWw8spw6KH87aAHYO+94Yknyk4oSZLqmM2VpPoTAd/+djH44oEH+PvqixZXtFZYodhH6957y04oSZLqkM2VpPq28sqMGt4PnnoKfvEL+PvfYY01YP314W9/c/iFJElqMzZXkjqHpZaCE04o7ss6+WR4/HHYdNNipLubEkuSpDZgcyWpc+nVC/bfv7j/6oILimPDh8OyyxZN15tvlptPkiTVLJsrSZ1Tjx6w887wwAPF8sAVVoADDig2JT7oIHj++bITSpKkGmNzJalzi4BNNoGbby4GXQwbBv/zP8UY9113hYceKjuhJEmqETZXkvSJxka45BJ47DEYMQIuvhgGDIDvfhf++U+HX0iSpDmyuZKkT1t2Wfjtb4vhF0cdBXfdBeusA2utBVdfDR9/XHZCSZLUAdlcSdLs9O4NRx5ZNFm/+x1MmwZbbFFsTnzBBfDhh2UnlCRJHUjVmquIGB0R0yJiyqeO7xsRj0TEgxFxYrXySNJc69kT9toLHn0UxoyBLl2KCYPLL19c4XrvvbITSpKkDqCaV67OA4bNfCAi1ge+BwzKzAHA/1QxjyS1TLdusMMOcP/9cM01sPTSsO++sMwycPzx8PrrZSeUJEklqlpzlZm3Aa9+6vCewAmZ+X7lPdOqlUeS5lmXLrDZZnD77XDrrbDaanDYYUWTdfDB8NJLZSeUJEkliKzi9KuI6Adcm5kDK88nAVdTXNH6N3BAZt47m98dAYwAaFisYbUBxw9oVZbm6c30792/VefoCOqlDqifWuqlDqifWqpRx9eefZfh17/IhhNf48OuwV+G9ObCjZfg+d7ztenn1Mt3AnOupWmPpqbMbKxyJEmSWqXs5moKcDMwElgduARYNj8nVGNjY06YMKFVWRrPamTCiNadoyOolzqgfmqplzqgfmqpah2PPQYnngjnn19MFdxuu+Jq1sCBbXL6evlOYM61RITNlSSp5pQ9LfA54MosjAc+BnqXnEmS5t3yy8Mf/whPPQUjR8JVVxXTBTffvBjpLkmS6lbZzdVVwAYAEbEC0AOYXmYgSWoTSy8NJ58MzzxT7JV1xx2w9tqw3npwww1uSCxJUh2q5ij2PwN3AV+LiOciYjdgNLBsZXngxcDwz1sSKEk1ZbHFir2ynnkGTjkFHn8chg2D1Vcvrmq5IbEkSXWjmtMCt8/MJTOze2b2ycxzMvODzNwpMwdm5qqZeXO18khSVS2wAOy3HzzxBJx9djG2fcstYfBguOQS+OijshNKkqRWKntZoCR1LvPNB7vtBg8/DBddBDNmFEMvVlqpGILx4YdlJ5QkSfPI5kqSytCtG+y4I0yZApdfDj17wo9+BCusAH/4A7z/ftkJJUlSC9lcSVKZunSBrbaCiRPh2mthiSXgJz+BZZeF006Dd98tO6EkSZpLNleS1BFEwKabFuPa//GPYqT7z34G/frBr38Nb71VdkJJkvQ5bK4kqSOJgKFD4ZZb4LbbYNVVi02Il1kGjj6aBd+ZUXZCSZI0GzZXktRRfetbcP31MH48rLMOHHUU1xw6GQ49FF5+uex0kiTpU2yuJKmj+2RPrEmTuHPAQnDCCcWVrP33h+efLzudJEmqsLmSpFrx9a9z6Ihl4aGHYJtt4PTT4Stfgb32KjYpliRJpbK5kqRas+KKxZ5Yjz5ajG8/+2z46lfhxz+GJ58sO50kSZ2WzZUk1aplly32xHriiWJ8+0UXFftk7borPP542ekkSep0bK4kqdb17QtnnFFctdpnH/jzn4urW8OHF1e3JElSVdhcSVK9WGop+M1viiZr5Ei47DLo3x922gkefrjsdJIk1T2bK0mqN0suCSefDE89VUwUHDsWVloJtt++GIYhSZLahc2VJNWrJZaAk06Cp5+GAw+Ea66BgQNh221h8uSy00mSVHdsriSp3n3xi8XeWE8/DYccAtddB4MGwdZbw/33l51OkqS6YXMlSZ1F795w3HFFk3XEEXDjjTB4MGy5Jdx3X9npJEmqeTZXktTZLLoojBpVNFlHHgnjxsGqq8Lmm8OECWWnkySpZtlcSVJntcgicNRR8MwzRbN1++2w+uqw6aYwfnzZ6SRJqjlVa64iYnRETIuIKbN47YCIyIjoXa08kqSKhRYqlgk+/XSxbPDuu+Eb34BNNoG77io7nSRJNaOaV67OA4Z9+mBE9AU2Ap6tYhZJ0qf16gWHHlo0WSecUCwRXHtt2HhjuOOOstNJktThVa25yszbgFdn8dKpwIFAViuLJGkOFlwQDjqo2CfrpJOKiYLf/CYMHQq33VZ2OkmSOqzIrF5PExH9gGszc2Dl+ebA0MwcGRFPA42ZOX02vzsCGAHQsFjDagOOH9CqLM3Tm+nfu3+rztER1EsdUD+11EsdUD+11EsdUE4t833wMVvf+jI7//1Fer85g6YVFuCszZai6WsLtuq8c6qlaY+mpsxsbNUHSJJUZaU1VxHRExgHbJyZb3xeczWzxsbGnNDKiVaNZzUyYUTtT8Wqlzqgfmqplzqgfmqplzqg5Freew/OOgt+/Wt44QVYd91i2uB660FEi083p1oiwuZKklRzypwWuBzwFeD+SmPVB5gYEV8qMZMkaXbmnx9GjoQnnoDTT4dHH4UNNiiaq5tvhir+Y50kSR1Rac1VZk7OzMUzs19m9gOeA1bNzBfLyiRJmgvzzw/77gtPPglnnAGPP17cj7XuunDTTTZZkqROq5qj2P8M3AV8LSKei4jdqvXZkqR20NAA++xTXMk644yi2dpww+LqliRJnVC3an1QZm7/Oa/3q1IUSVJb+qTJ+vGP4ZxzYODAshNJklSKqjVXkqQ619AAe+9ddgpJkkpT5kALSZIkSaobNleSJEmS1AZsriRJkiSpDdhcSZIkSVIbsLmSJEmSpDZgcyVJkiRJbcDmSpIkSZLagM2VJEmSJLUBmytJkiRJagORmWVnaLGIeBl4ppWn6Q1Mb4M4ZauXOqB+aqmXOqB+aqmXOqDz1LJMZn6xmmEkSWqtmmyu2kJETMjMxrJztFa91AH1U0u91AH1U0u91AHWIklSR+ayQEmSJElqAzZXkiRJktQGOnNzdVbZAdpIvdQB9VNLvdQB9VNLvdQB1iJJUofVae+5kiRJkqS21JmvXEmSJElSm+l0zVVEDIuIRyLi8Yg4uOw88yoiRkfEtIiYUnaW1oiIvhExLiKaI+LBiBhZdqZ5FRENETE+Iu6v1HJ02ZlaIyK6RsR9EXFt2VlaIyKejojJETEpIiaUnac1ImLhiLg8Ih6u/DezVtmZWioivlb5Lj75eTMiflZ2LkmS2kKnWhYYEV2BR4GNgOeAe4HtM/OhUoPNg4hYB3gbuCAzB5adZ15FxJLAkpk5MSIWBJqALWr0OwngC5n5dkR0B24HRmbm3SVHmycRsT/QCPTKzM3KzjOvIuJpoDEza35vqIg4H/hnZp4dET2Anpn5esmx5lnl/8lTgW9kZmv3LpQkqXSd7crVGsDjmflkZn4AXAx8r+RM8yQzbwNeLTtHa2XmC5k5sfL4LaAZWLrcVPMmC29Xnnav/NTkv15ERB9gU+DssrOoEBG9gHWAcwAy84NabqwqhgJP2FhJkupFZ2uulgb+NdPz56jRv8jXo4joB6wC3FNylHlWWUo3CZgG3JiZtVrLb4ADgY9LztEWEvh7RDRFxIiyw7TCssDLwLmV5ZpnR8QXyg7VStsBfy47hCRJbaWzNVcxi2M1eWWh3kTEAsAVwM8y882y88yrzPwoMwcDfYA1IqLmlmxGxGbAtMxsKjtLGxmSmasCmwB7V5bU1qJuwKrAmZm5CvAOUMv3jfYANgcuKzuLJEltpbM1V88BfWd63gd4vqQsqqjcn3QFMCYzryw7T1uoLNe6BRhWbpJ5MgTYvHKv0sXABhFxUbmR5l1mPl/5cxowlmJ5cC16Dnhupquhl1M0W7VqE2BiZr5UdhBJktpKZ2uu7gWWj4ivVP7VdDvgLyVn6tQqQyDOAZoz85Sy87RGRHwxIhauPJ4f2BB4uNRQ8yAzD8nMPpnZj+K/kZszc6eSY82TiPhCZVAKlSV0GwM1OWEzM18E/hURX6scGgrU3OCXmWyPSwIlSXWmW9kBqikzZ0TEPsANQFdgdGY+WHKseRIRfwbWA3pHxHPAkZl5Trmp5skQYGdgcuVeJYBDM/Nv5UWaZ0sC51cmoHUBLs3Mmh5jXgeWAMYWPTzdgD9l5vXlRmqVfYExlX8cehLYpeQ88yQielJMbd2j7CySJLWlTjWKXZIkSZLaS2dbFihJkiRJ7cLmSpIkSZLagM2VJEmSJLUBmytJkiRJagM2V5IkSZLUBmyuJEmSJKkN2FxJJYqIhSNirzm8Pn9E3FrZO2t27/lHRCzSPgklSZI0t2yupHItDMy2uQJ2Ba7MzI/m8J4LP+cckiRJqgKbK6lcJwDLRcSkiDhpFq/vCFwNEBFLRsRtlfdOiYhvVd7zF2D7KuWVJEnSbERmlp1B6rQioh9wbWYOnMVrPYBnM/NLlec/Bxoy87jKMsGemflW5bXHgDUz85XqpZckSdLMupUdQNJs9QZen+n5vcDoiOgOXJWZk2Z6bRqwFGBzJUmSVBKXBUod13tAwydPMvM2YB1gKnBhRPxwpvc2VN4vSZKkkthcSeV6C1hwVi9k5mtA14hoAIiIZYBpmflH4Bxg1crxAL4EPF2NwJIkSZo1myupRJV7pO6oDKiY1UCLvwPfrDxeD5gUEfcBWwGnVY6vBtydmTPaO68kSZJmz4EWUgcWEasA+2fmznN4z2nAXzLzpuolkyRJ0qd55UrqwDLzPmDcnDYRBqbYWEmSJJXPK1eSJEmS1Aa8ciVJkiRJbcDmSpIkSZLagM2VJEmSJLUBmytJkiRJagM2V5IkSZLUBv4P/QHo3OjLNKEAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ ")\n", "plt.xlabel(\"x (m)\")\n", "plt.ylabel(\"y (m)\")\n", "plt.plot(xArr, yArr, linestyle = '--', color = 'b', label = 'No air resist')\n", "plt.plot(xEuler[0:iStep], yEuler[0:iStep], linestyle = '-', color = 'r', label = 'With air resist')\n", "plt.grid(color = 'g')\n", "plt.legend()\n", "#\n", "plt.subplot(2, 2, 3) # plot in third square\n", "plt.title(\"Projectile motion, horizontal velocity\")\n", "plt.xlabel(\"t (s)\")\n", "plt.ylabel(r\"$v_x$ (m/s)\")\n", "plt.plot(tEuler[0:iStep], vXEuler[0:iStep], linestyle = '-', color = 'r', label = 'With air resist')\n", "plt.grid(color = 'g')\n", "plt.legend()\n", "#\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The figure is created as before, using `fig = plt.figure(figsize = (6, 16))`. You will have to adjust the size parameters so there is space for all your subplots!\n", "\n", "The command `fig.suptitle('Projectile motion plots', fontsize=20)` produces an overall title for the figure.\n", "\n", "Each supbplot is created using `plt.subplot(nRows, nCols, nThisPlot)`. Here, the values `nRows` and `nCols` tell Python to draw an array of subplots with (you've guessed it) `nRows` rows and `nCols` columns. Note that almost everywhere, rows and columns are given in that order! The index `nThisPlot` indicates which position the current plot is to fill. The first (with `nThisPlot = 1` is the top left slot, the second (`nThisPlot = 2`) is next slot reading from left-to-right and top-to-bottom, and so on. The commands that we have used for single plots can be used for subplots (titles, axis labels etc.). \n", "\n", "The command `plt.tight_layout()` ensures the space between the plots, their titles and the overall title is minimised.\n", "\n", "The figure is displayed using the `fig.show()` command." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Summary\n", "\n", "This week, we have solved a problem that cannot be tackled algebraically. Many situations in Physics require this kind of numerical approach. The Euler method we have used is a powerful technique in that the way it works is obvious (though actually getting a program using the method to do what you want it to may not be easy!) and is applicable to many equations. The downside of the Euler method is that it only works if the step size is small enough, so you must think about how you can check that step size you are using is adequate." ] } ], "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.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }