Skip to content
Permalink
master
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
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Initial Value Problems - Project\n",
"\n",
"![Initial condition of firework with FBD and sum of momentum](../images/firework.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We are going to end this module with a __bang__ by looking at the flight path of a firework. Shown above is the initial condition of a firework, the _Freedom Flyer_ in (a), its final height where it detonates in (b), the applied forces in the __Free Body Diagram (FBD)__ in (c), and the __momentum__ of the firework $m\\mathbf{v}$ and the propellent $dm \\mathbf{u}$ in (d). \n",
"\n",
"The resulting equation of motion is that the acceleration is proportional to the speed of the propellent and the mass rate change $\\frac{dm}{dt}$ as such\n",
"\n",
"$$\\begin{equation}\n",
"m\\frac{dv}{dt} = u\\frac{dm}{dt} -mg - cv^2.~~~~~~~~(1)\n",
"\\end{equation}$$\n",
"\n",
"If we assume that the acceleration and the propellent momentum are much greater than the forces of gravity and drag, then the equation is simplified to the conservation of momentum. A further simplification is that the speed of the propellant is constant, $u=constant$, then the equation can be integrated to obtain an analytical rocket equation solution of [Tsiolkovsky](https://www.math24.net/rocket-motion/) [1,2], \n",
"\n",
"$$\\begin{equation}\n",
"m\\frac{dv}{dt} = u\\frac{dm}{dt}~~~~~(2.a)\n",
"\\end{equation}$$\n",
"\n",
"$$\\begin{equation}\n",
"\\frac{m_{f}}{m_{0}}=e^{-\\Delta v / u},~~~~~(2.b) \n",
"\\end{equation}$$\n",
"\n",
"where $m_f$ and $m_0$ are the mass at beginning and end of flight, $u$ is the speed of the propellent, and $\\Delta v=v_{final}-v_{initial}$ is the change in speed of the rocket from beginning to end of flight. Equation 2.b only relates the final velocity to the change in mass and propellent speed. When you integrate Eqn 2.a, you will have to compare the velocity as a function of mass loss. \n",
"\n",
"Your first objective is to integrate a numerical model that converges to equation (2.b), the Tsiolkovsky equation. Next, you will add drag and gravity and compare the results _between equations (1) and (2)_. Finally, you will vary the mass change rate to achieve the desired detonation height. \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"1. Create a `simplerocket` function that returns the velocity, $v$, the acceleration, $a$, and the mass rate change $\\frac{dm}{dt}$, as a function of the $state = [position,~velocity,~mass] = [y,~v,~m]$ using eqn (2.a). Where the mass rate change $\\frac{dm}{dt}$ and the propellent speed $u$ are constants. The average velocity of gun powder propellent used in firework rockets is $u=250$ m/s [3,4]. \n",
"\n",
"$\\frac{d~state}{dt} = f(state)$\n",
"\n",
"$\\left[\\begin{array}{c} v\\\\a\\\\ \\frac{dm}{dt} \\end{array}\\right] = \\left[\\begin{array}{c} v\\\\ \\frac{u}{m}\\frac{dm}{dt} \\\\ \\frac{dm}{dt} \\end{array}\\right]$\n",
"\n",
"Use [two integration methods](../notebooks/03_Get_Oscillations.ipynb) to integrate the `simplerocket` function, one explicit method and one implicit method. Demonstrate that the solutions converge to equation (2.b) the Tsiolkovsky equation. Use an initial state of y=0 m, v=0 m/s, and m=0.25 kg. \n",
"\n",
"Integrate the function until mass, $m_{f}=0.05~kg$, using a mass rate change of $\\frac{dm}{dt}=0.05$ kg/s. \n",
"\n",
"_Hint: your integrated solution will have a current mass that you can use to create $\\frac{m_{f}}{m_{0}}$ by dividing state[2]/(initial mass), then your plot of velocity(t) vs mass(t)/mass(0) should match Tsiolkovsky's_"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"plt.rcParams.update({'font.size': 22})\n",
"plt.rcParams['lines.linewidth'] = 3"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [],
"source": [
"def simplerocket(state,dmdt=0.05, u=250):\n",
" '''Computes the right-hand side of the differential equation\n",
" for the acceleration of a rocket, without drag or gravity, in SI units.\n",
" \n",
" Arguments\n",
" ---------- \n",
" state : array of three dependent variables [y v m]^T\n",
" dmdt : mass rate change of rocket in kilograms/s default set to 0.05 kg/s\n",
" u : speed of propellent expelled (default is 250 m/s)\n",
" \n",
" Returns\n",
" -------\n",
" derivs: array of three derivatives [v (u/m*dmdt-g-c/mv^2) -dmdt]^T\n",
" '''\n",
" \n",
" dstate = np.array([state[1], ((u/(state[2])*dmdt)), -dmdt])\n",
" return dstate"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [],
"source": [
"def rk2_step(state, rhs, dt):\n",
" '''Update a state to the next time increment using modified Euler's method.\n",
" \n",
" Arguments\n",
" ---------\n",
" state : array of dependent variables\n",
" rhs : function that computes the RHS of the DiffEq\n",
" dt : float, time increment\n",
" \n",
" Returns\n",
" -------\n",
" next_state : array, updated after one time increment'''\n",
" \n",
" mid_state = state + rhs(state) * dt*0.5 \n",
" next_state = state + rhs(mid_state)*dt\n",
" \n",
" return next_state"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [],
"source": [
"def heun_step(state,rhs,dt,etol=0.000001,maxiters = 100):\n",
" '''Update a state to the next time increment using the implicit Heun's method.\n",
" \n",
" Arguments\n",
" ---------\n",
" state : array of dependent variables\n",
" rhs : function that computes the RHS of the DiffEq\n",
" dt : float, time increment\n",
" etol : tolerance in error for each time step corrector\n",
" maxiters: maximum number of iterations each time step can take\n",
" \n",
" Returns\n",
" -------\n",
" next_state : array, updated after one time increment'''\n",
" e=1\n",
" eps=np.finfo('float64').eps\n",
" next_state = state + rhs(state)*dt\n",
" ################### New iterative correction #########################\n",
" for n in range(0,maxiters):\n",
" next_state_old = next_state\n",
" next_state = state + (rhs(state)+rhs(next_state))/2*dt\n",
" e=np.sum(np.abs(next_state-next_state_old)/np.abs(next_state+eps))\n",
" if e<etol:\n",
" break\n",
" ############### end of iterative correction #########################\n",
" return next_state"
]
},
{
"cell_type": "code",
"execution_count": 39,
"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": [
"u = 250\n",
"m_f = 0.05\n",
"m = 0.25\n",
"y_0 = 0\n",
"v_0 = 0\n",
"time = np.linspace(0,4,100)\n",
"dt = time[1]-time[0]\n",
"Tsiolkovsky_m = np.zeros(len(time))\n",
"Tsiolkovsky_m[0] = 0.25\n",
"for i in range(1, len(Tsiolkovsky_m)):\n",
" Tsiolkovsky_m[i] = Tsiolkovsky_m[i-1] - 0.05*dt\n",
"Tsiolkovsky_v = -u*np.log(Tsiolkovsky_m / m)\n",
"\n",
"plt.plot(Tsiolkovsky_v,Tsiolkovsky_m/m)\n",
"plt.xlabel('Velocity in m/s', fontsize = 12)\n",
"plt.ylabel('M(t) / M(0)', fontsize = 12)\n",
"plt.title('Tsiolkovkys Relation for Mass Ratio and Velocity', fontsize = 16);\n"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAa4AAAElCAYAAAC8ggaBAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdd3gU1dfA8e9J6F2QHmnSDTWBEFoSOoIgTZDuK1JsKPwsKCqKCDYUAUUURaSoICIIgrTQkSIivRohdKnSIbnvHzNZNssm2ZCyCTmf59lns3fuzJyZ3ezZuXPnjhhjUEoppdILH28HoJRSSiWGJi6llFLpiiYupZRS6YomLqWUUumKJi6llFLpiiYupZRS6YomLg+JyMMislJETorIFRH5R0TmiEgLpzq9RcSISCkvxGdEZFgyLStmO2Ie10XkgIi8IyLZkmMdcaw3QkSmJtOyeovI/yVynhIiMk5E9onIVRG5KCIbReRVEcmbHHHdbUQk1P6MhMZTZ4hdp4RLeZBdvsHNPO+LSFTMfheRcBEJd5peXUSGiUh+N/MaEXk7kdtRyuUzH9cjPMGFWcsbJSJXExODPV8Lez31Ezuvm2VVtJfVJanLcrPs4yLyZXIv11OZvLXi9EREngXGAF8B7wOXgPuBVkAjYKFddT4QDBzzQpgpoRMQCeQG2gFD7L+f8WZQHuqN9fn+ypPKItIQmAucBD4BtgOZgTrAU8C9wPMpEWgGsNJ+bgg4/zBpCFwGaohILmPMRZdpW40x5+3XT7osszrwhr28M8kQ4zGs/11n64DJwOdOZRc8XN54YHbSw1LuaOLyzP+AOcaYx53KlgFfiIjjqNUYcwo4ldrBpaA/jTH77b8Xi0g54HERGWiMifZmYMlJRO4BZgG7gCbGmEtOk38TkQ+Bul4JLgWJSFZjzLVUWNVG4AruE9dUoAfW/v3NjisnUBMYF1PRGLMzJQO098N65zIRAThijFnvdqb4l3cYOJw80SlX2lTomfzAcXcTnL/A3TUVxjR/iUgPEdljNzOuEpFyIpJTRD4XkdMickJEPhSRTE7zxjTDdBCRySJyVkQuiMg0ESmQUNAiUk1E5trzXRGRNSLSIAn74Q8gO9bRh/N6aovIErtp7ZKILBWR2m7iCRGRxSJy3q63VUQed63nVN9XRCba29zY0+2ym3NCgHoeNvE8ARQEnnFJWgAYYy4ZYxY7Lb+oiEwRkX9F5JqI/CUi3V1ij/ks1BWRH0TkP/s9HmJPbyEiW+z9sFFEAlzmDxeR1SLSVkS22+vZLSKPuNQrKyLfisjf9r44KCKf2cnYud5kEYkUkWARWSsiV4D3nKY/Yb8fV+3tmiQuzXAiUlBEptvvxzkRmQLki2e/xuy/61hJoaHTsnyAesBSYIPzNKwklolbR2qxmgpFpDfwtT1pn9N7XMol3mft/fKfiKwQkQcSitVTItJaRNbb++I/EdklIi87Tb+tqVBE8tnvzXGxmt93i8jTHqyrvL0dy0Ukj12W1V7HP/ay/har6TTOgxERed3+jORxM+2AiHxn/51ZREban6WrInJKrO+soHiWnUlEvrE/Fw1FpLv9nlR0U3e9iCx3ev0/e19cEZEzIrJBRFrHu1OMMfpI4IF1dHUZeAEoH0+93oABSjmVRQCHsJodHgYeAY4CfwFzgA+ApsBwe94nneYNtcsOY/2jtsBqpvsPWO6ybgMMc3pdE6tJczXQEXgQqynsGhCQwPbGbEdZl/LvgXOAr1NZVaxf05vt9XTg1i/sak712gI3gRVAF6AJMBB4y2VfTbX/zm7vnxNAzcRsF1AZK8luxWrqqwNUjmd7fwOOefhZyAnsxTqy7gu0BKbZ+6uvm324D3jN3t7P7bJ3gW32fmgN7LTf4yxO84dj/Vj6B3gMq1n6FyAaCHOq1xAYae/fhvZ69wLrXOKebH9u/rE/Q6FAkD1tFHAD+BBoZq/vCPC7y3u9Cqup7GmgOVYz7GF7m0IT2G/D7HqF7NfV7NdFsT77K53qDre3816X/RFu/12QW/8vHZ3e46xO/wsRwCKgjV3nb2A/kCkR//cGeNtNeUXgur1PmwONgf7ACKc6o4CrTq8z2fvzP6zPfXPgU3sdrzvVa2GX1bdf18b6rM2K2T67fLb9nr1uv2dvA1HAVy5xGqCL/bq0vV//z2V76tn1Wjnt/wtYTeQh9j58G2jpNM9x4Eun/4kFWN9rVe2yrFjN7qNd1lXNJabH7X35ChCG9Tl/BegZ73vj6ZuYkR9AeaxEY+zHv8AMoJlLvd64T1xngLxOZc/a9b50mf8PnBIStxLXQpd63ezyxi7/ZMOcXi/Favpy/jL0tcvmJLC9MdtRwf6Huwf4P6zE87RL3VlYySyfU1kee5tn26/F3g+bAJ941huB1XR0D9aX5AFuT54ebRfWF91qD9/fXbh80cdT92ncfFEDS+x/VF+Xfej8pZTJrnMDKO1U3sauG+ISvwHquGznbmBVPPFlAurb89ZwKp9sl7V1qV8K6wvvdZfymC+zh+3XTXH6wnGq96u7/eEmrkZ2vY7262eA/fbfzYCr3Eo8K4DtLvOHYycul/1b1s26Yn4wZHYq62iX103E/31cias7VgLIGs+8rokrZv2u+28q1o/ivPZrR+Ky/74IfIbT/w0QaNd52WVZb9vlFezXFV3XifV/tdxlvglYPxAzOX2Wpyewb44DX2K1vvwO7MHpe89pH5wGsjmVfYr1P5DFfv0lsNbT9yTmoU2FHjDG7AVqYP36GAH8idVZYZGIDPVgEevMrZPMYH35gPWLEJfy+9zM/4PL65lY/ziuJ5MBEJHsdqwzgWj7MD4TVgJZQuxmmfjsxvqSPQNMAj43xoxzqdMQ+MUYcy6mwBhzAesoKMQuqgCUxErUCZ0bK4b1z5ULqGdunWNLzu1KioZY5z3CXcqnYh0JVHYp/zXmD2PMTaxf/XuNMX871Yn5PLi+94eN0/kVY0wU1rbXtpvaEJEsIvJKTFML1vu1yp6lgsvybmIdtTlrinXKYFrM/rT36e9Yv7pj9mkwVoL70WX+7/DMOqxf1jHLa+gU5zqshBskIlmxjjJW3raExFlsjLnh9Hqb/VzCXeVE+gPr/2+miLQXkXsTmgFre69jvX/OpmK1Lrg2rXfD+h963xgzwOX/pqHTvK7Lcp7uzrdAiNg9PEUkC1Yr0Az78wlWi8nDIvKW3dSdOY5llQDW2H/XM8ZEuEyfgNWU3NFeV057u742VvNxzLqCROQjEWlk/48nSBOXh4wxUcaYlcaYocaYJkAZrH+GN1zPJ7hx1uX19XjK3XU3P+ESy3V73uJxrC8/1q/z17C+yJwfTwP3iFOnkni0A2phNcctAZ4UkZ5u1uWuF+VxrCMngJjzcZEerLMq8ADwnTHG9bxicm2Xq8NYRx6eiG97Y6Y7c/cex/V5cH3vT3C7E0AWrCQJVjPhMKwvrVZYX4Dt41jeSTv5OStkP+/n9n2ah1vvXVHgrEsyiCvG2xhjrmAdccd8qTbATlzGmP+wmnUb2vFnI+mJy7WnYUwnlCRfzmGsjiIt7WVNB06IdZ61Xjyz5cf9/o/rc9MJq1nx2ziW5TxvQsty9gPW562b/bo11v+p83qGYf1A74iVmP4VkS/cfM/VxGqNmm6M+dd1RXYi+xWrGRWgK1av5IlO1b7AaoFqgPUdc0ZEZoqIXzzboL0K75Qx5qhY1zGMAcphnWBOKYWdX9i/ku7BOg/hzjmsX4TjgSnuKnhw5ANWc81+e53LsJpL3xeRH82tTgxngCJu5i3CrS+PmA91XInW2UKsL7H3ROSqMWaM07Tk2i5XS4CmIhJgjNmcQN0z3H4kA7f2wek7WH9cCsdRdp1bvVe7AFOMMY7rlkQkVxzLM27KYuJtxu0J1Xn6MawfBpldkpe7GOOyEnjRPslfmFtHXNh/N3SKMamJK0UZq7POYrGua6yP9UW/QERKuLSuxDgDFBQRH5fPaFyfm8ewzl+Fi0iYMeaAy7LA2ofO3wEJfgaNMedEZB5Wc+dI+3mX8+feWD0sRwAjRKQoVlP2h1g/mHo5LW4O1jnTj0TkmjFmgptVfgrMtzvG9AOWOG+LvS/GA+PF6nDWwl7XNG612NxGj7g8ICLumu/AakOGOHocJqNHXF53wnrv1rmrbCeVVVgnQv8wxmxyfSQ2APvD/ALWL3Tna2pWAK1EJHdMgf33Q/Y0sDoLRAB9RKw+xgms631gEPCxiDzvVJ6Y7bqG1QTjiS+xkus4uzkjFhHJISJNnLbXz82v665Ybfe7PFynJ+4TkTpOcfhivfcbnL78cmAdHTl7LBHrWIz1Y6CEu/3p1KS5Dutot4PL/Im5uHUF1uf2FeCEMWaf07TVWM2RjbDOfR1NYFkxR1Cevscpwhhz1RizBOvLNg9xN0WuwOqw0M6lvBtWR6aNLuVnsTr0HANWiEhZl2XB7fs+5igqoaT/LVDZ/ky3Io4fgQDGmGPGmM/tZfq7mT4ceBX4VERcr7UD64foQazkFIDVfBjXuk4bY6ZhdTy5bV3O9IjLM9vt7ps/YfVOyoPVfNYf+MEYcyiF1/+AiHyNdT6hPNavoRXGmKXxzDMI68O2SEQmYf0D3It1eO9rjHk5nnndMsbMFZGNwP9EZJzd/DMcq7lhqYi8i/WL+SWsL9S37PmMiDyH9YFcJiITsI4YKmH1MnvDzbo+EpEorOTla4z5IJHbtROrabMzVieP/4wxe+LYrjMi0gHrnMIfIjKWWxcg18Z6n2dhHZlNxuoVNltEXsVq/uyGda6on5umoKQ4AXwvIm9g7a8BWO//AKc6C4FeIrINq7mvPYm45swYc8B+38aJSAWsL8WrWOfbmmKdl1xujFksIquBz+1zOvuAziTwBeNiDdZ5soe4/VxZzHnNMG51dY9PzHVdT4nIN1jJ+y+ncycpRqwBCWph7ftIrGbbV7B6D++OY7afsVplvhKRYlidGdpgHfG84e4ozRhzXkSaYp0LX2Efee01xmwWkZ+AmJFsNmA1tQ3BOn+0N4FN+BXrh9pkrM/4NJft+xXrHOcWrFaOQKwfFB+5W5gxZqT9vzrOPqJ0vv4uWkQ+x+pJewzrf8x5XZOxPtvr7eeKWAnZ9fz/bSvVR8K9i/rbO/wfrH/qS/ab+iKxe7f1xn2vwqkuywu16zVxKZ8MRLqp196edg6r3Xs6Tl2F7bqxehXaZZWwkt1JrF+okfZ2PJjA9sZsh7seW83sac87lQVhfalftPfNUqC2m3kbAcvtehexmgQfS2BfPYV1RPBiYrYLq9lkgb2/DE490uLZ7pJYF70esJd7EeuX8MtAHqd6RbF+tf5r1/sL6O7JPsRNb0es82sG6ONaD+vLbbu9nj1AZ5d577X3xVn7MQ3rS9UAveP6bLnZ9h5YXx6X7O3eZe8LP6c6BbF60/5nfxanYHXDT7BXodMyNtr1n3Uzba89rZebaeGu7yHWyBlHsJKh4/8ON70BnfZxb0/ijGs5dnkDYJ79ubuG1Q18hvN7jUuvQrssH9YRx3Gs5t7d3N5LN1Z3eLsst/1ZOMqtHoNZ7XUcspf1N9a5qUxO893Wq9Bp2lh72jI304ZgJa4zWD0edwNDXZbt6A7vVDYI6391oEt5aXtdw92sqw/WD9FTWN+tB7FGJ8oV33sj9swqDRJr/LflQFNjNUeoDEKsi20zGWOSPGadUt4kIs9gHa2VMcnUOqVNhUoppZKd3SGjLFYv4GQ9paKJSymlVEqYhHX96yrgueRcsDYVKqWUSle0O7xSSql0RZsKk+jee+81pUqV8nYYSimVrmzevPlfY0zBhGveThNXEpUqVYpNmxJ9Pa9SSmVoIvLPnc6rTYVKKaXSlVRNXCJSQUQGinVjxd0iEm3fbKxjEpfbVawbnZ0X62aGm0TkqYQGXL3T+ZRSSnlPajcVDsAaLifZiMh4rLHzrmKN2HAD68Zu44DGItLJuBmG507nU0op5V2pnbi2Yw3nsQnrjrmTiGcE4ITY48s9iTX8SENjD9opIoWxRpxoh3W7izHJMZ9SyjM3btwgMjKSq1evJlxZ3fWyZcuGn58fmTPHdWuvxEnVxGWM+dL5tQcDhSdkiP38knEaadoYc0JEBmCNb/ayiIw1sW8lcKfzKaU8EBkZSe7cuSlVqlRy/J+rdMwYw+nTp4mMjKR06dLJssx0ey7HvtFYAO7vKooxZgXWAJxFgDpJnU8p5bmrV69SoEABTVoKEaFAgQLJevSdbhMX1lAiADuMdXsNdza61E3KfMnqzBn4v/+DU6cSrqtUeqRJS8VI7s9Cek5cMcec8V0LEDOoo/Px6Z3Ol2w2bYKaNWHa1+d48oH2XL+S4rcQUuqud/78eUJDQwkNDSVfvnwEBwcTGhrKrFmzYtU7cuQIL774YpzLuXnzJhUrVoxzurMlS5bQv3//hCs66d69O+vXr0/UPO4MHTqUypUrO7Z59OjRSV5mjE8++cTx9+bNm5N12ckhPV+AHHN78kvx1LloP+d2KrvT+RxEpC/QF6BEibhueBq3U6fg5j+ruZ/mzDp1mewVmjDlUJq+U7lSaV7evHkJDw8HIDQ0lKlTp+Ln53dbveLFi/Pee++lcnQp4/XXX6dLl8TchNozn3zyCc8++ywAAQEBBAQEJPs6kiI9H3HFHHsmdpTgO53PwRgz0RgTaIwJLFgw8SOWtGwJTUsNYxeXAfj28Cq+7T/2TsNRKk0TSf6Hp6Kjo+nSpQsNGjQgLCyMNWvWsH//flq0aAHA7t27CQkJISQkhEcffZRr167Fmn/mzJl07tyZK1euMGfOHIKCgggODuadd96JVe/kyZPUq1fP8frNN99k6tSpLF26lNq1axMWFkafPn1izXPkyBGaNm3Kli1bqFu3Lv/++y8Ay5Yto1+/fhw9etQRd2hoKJcuxfdb+5YPP/yQwMBAevToQUBAAJGRkbcdGZYtWxawjhjDwsJo0KAB7du359q1a3z77bccOXKE0NBQRo0aFWveNWvWULduXerXr8/TTz8NwP79+wkODqZ3797UqFGDcePG3R5UcvP0bqAp8cDqvWeAjncw77P2vD/FU2eMXeeDpM4X1yMgIMDciWuXr5namfKbTGDGgjlNPnN41d93tCyl0pqdO3c6/obkfyQkJCTEHD582Bw/ftw0bNjQUR4VFWX27dtnmjdvbowxplWrVmbNmjXGGGNee+01M378eHPjxg1ToUIFM2bMGDNgwABz8+ZNc+PGDVO2bFlz7tw5ExUVZUJDQ8327dvN4sWLTb9+/Ywxxjz00EOO7a5Ro4a5dOmSGTBggFm6dKlj3cYY061bNzNp0iTTuHFjc/DgQWOMMRMmTDAfffSRY/rGjRvN999/b1577TVjjDHR0dEmOjo61ja++uqrplKlSiYkJMSEhISYadOmmaNHj5qaNWuaGzdumLNnz5p8+fKZw4cPx4rTGGPuv/9+Y4wxFy9edJQNGjTITJs2LdZ0Y0yseWvUqGEiIiKMMcb06NHDzJ8/3+zbt8/4+fmZK1eumEuXLpkyZcq4fU+cPxPGGANsMneYO9LzEVeE/Vwynjr3udRNynzJKkv2LHwTvprZPgV5GsjPOS4078jVc3rdi1LJpXDhwvTq1Yvu3bvTr18/jh8/Hmv6vn37qFPH6jxct25ddu/eDVhHUGPHjmXUqFH4+vpy4sQJihcvTt68efHx8SEoKIg9e/bEWlbPnj2ZMmUK69ato1q1auTIkYOXXnqJH3/8kW7dujFlyhRH3TfeeIP+/fs7uod37dqV77//nvPnz3PgwAECAwNp06YNYJ0TGzp0KDdv3rxt+15//XXCw8MJDw+na9euHDx4kKpVq5IpUyby5ctHhQoVgNidI4zTray2bdtGs2bNCAkJ4ZdffuHw4cPx7s+LFy9SsmTJ2/ZX5cqVyZYtGzly5EiVTjnpOXFtsZ8fEJHscdSp5VI3KfMlu4r1KlH687lcx7oor/LlzWyo80xKrlKpVJcSx1yeun79Oj179mTq1KkEBwczZkzsMQXKlSvn6Cixdu1axxd9oUKFmDRpEu3atePcuXMULlyYI0eOcP78eaKjo/n9998pX758rGU99NBDLFiwgMmTJ9OzZ08AChYsyPjx45k6dSpvvfUWly9bpwcmTZrExIkTWbJkCQC5c+fG39+fgQMH0r17d8Bq5nzrrbeYOnUqR44ccdSNT5kyZdi2bRtRUVGcP3+evXv3ApA/f34iIyMBq7NFjOHDhzNixAhWrFhBq1atHEnN19c3VoKLkTNnTv7555/b9ldq9yBNt50zjDGHReQPoCbQCZjiPF1EQgA/rNEx1iV1vpTi36cOK377iJCZVntxgz1fMqWtHz1/fiOlV63UXe/EiRN07doVX19frl+/ftv5l/fee89x/qZIkSK88sorjmkNGzZk+PDhtG/fnlmzZvHuu+/StGlTfHx8aN26Nf7+/rGO4LJmzUrdunX57bffmDBhAgDvv/8+S5cuJSoqitatW5MjRw4A8uTJw08//UTHjh25ceMGLVu2pG/fvoSEhPDxxx8DsHTpUt59910yZcpE9uzZCQ4Ovm373nrrLce6QkJCePPNN+ncuTNBQUGUL1+emFsuVa9enaxZszp6IMZ49NFH6dWrFxUrViRXrlwUKlQIgHbt2tGqVStatWrlSE5gddro3Lkzvr6+VKtWjQcffJADBw7c0XuTJHfaxpgcDzw4xwWMBHYDI91M62jPfwwo61ReCNhhTxuYXPO5e9zpOS5n0VHRZlXp7uYimK5gsoCZMfSrJC9XKW9xPZ+hErZx40bTs2fPZF1mzLm+tCDdnuMSkZoisj7mgXXUA/COS7mzokAF+zkWY8ws4DOsUS62icg8EZkN7AMqA3OwBs1NlvlSivgINTd8TheffEzHGtJj0NtPsGvVztQKQSnlRVOmTGHAgAEMGTIk4coq1ZsK8wBBbsrL3ekCjTFPishq4CmsAXt9sY7QvgI+M3GMNXin86WUHPfm4IVvfmRVjyacxxDIvQx5IQezVkOmdNugq5TyRM+ePR3nxZJTzHVtd5vUHmQ3nFvXUXk6T2+gdwJ1pgPT7yCeO5ovpTTs3og3Fw1jw9TlzGQRN37PwgsvwEcfeTsypZRKO9Jzr8K70sBvX6fiW8u5QRYAPv4Ypk71clBKKZWGaOJKg159Fdq2vfX6iSdg7dJ/vReQUkqlIZq40iAfH5gyBSpVAogm6GoLOjcpys6VO7wdmlJKeZ0mrjQqTx6YMwdCffxZwSIiuUmPRnW5eOZiwjMrlQFFRERwzz33OK5Vaty4caKXMXnyZN5++20AnnvuOU7Fcd+h48ePM3jwYMDqAPHXX3+5rRczJmBc5syZw6FDh+KtkxR//vknK1feGsA7vm1KTzRxpWHly8PDXbs4erPkirrAirrPejUmpdKygIAAxxBIS5cuTdKyPv74Y+IaRLtIkSJ8+OGHQPyJKyHJlbiioqLclrsmrvi2KT3RxJXGDfz2dZ4o34IBwBKg1Z6vWfnoZ94OS6nEGTbM86Hf+/a9ff6+fa1pw4YletUDBgxgypQpREdH07x5c37//XciIiKoVasW3bp1IzAw8LahoMC6NUrMMEkvv/wywcHBhIWFsWjRIiIiImjSpAlnzpxh8uTJjBgxgtDQ0DgTyOTJk+ncuTMdOnTA39+fVatWsXPnThYuXMgzzzxDp06dABg7diwNGjQgODiYL7/8ErBGkW/YsCEtWrSgX79+9O7dG4DevXvTv39/WrduzapVq+jVqxehoaHUrFmTuXPnAjB69GgmTZpEaGioY8T3yMhIjDH069eP+vXrU7duXTZs2OBY5tNPP02rVq2oU6cOJ0+eTPT+Tg16hVA68NnO+ay7vzuZ/5kBQPB3z/JnUCWqPxfq3cCUSmM2b97sGNKoePHiTJs2jY8++ohGjRqxZs0aGjduTFBQEBEREURERLBs2TKyZctGrVq1ePTRR90uc8GCBRw6dIi1a9ciIkRFRTkGo82fPz+9e/embNmyjjEG43Lt2jXmzJnD2rVrGT16NLNmzaJFixb06dOH+vXrs2vXLhYuXMjKlSuJjo6mQYMGtGvXjnfffZcnn3ySLl26MGLECPbt2+dYZsmSJR1DPtWqVYucOXNy+vRpQkJCaNOmDYMGDSIyMpKhQ4fGiuXnn3/mxo0brF69moMHD9KlSxdH8ipbtizjxo3jnXfe4YcffnDcviQt0cSVDvj4+lBj05fsLLmXypc3k5mb3DeoI/9U+52SYfd7Ozyl0oyAgIDbBqPNli0bjz32GC+++CLHjh1zlFesWJHcua17xfr7+/P333+7Xeb27dsJCwtzDCTr6+t7x7GBdfPZ06dPu13Pzp07CQsLA+DChQscPnyYffv2MXDgQACCgoJiJa66desC1oC8b775JmvXriVTpkyOgXDjsmfPHse8ZcqU4ezZs27j9Mo4hB7QpsJ0Ise9ObgnfA4nfQoDsNac5uHGVYjcFenlyJTywLBhng/9PnHi7fNPnGhNu4OmwmPHjjFp0iSGDh0aaxDd3bt3c/HiRW7evMn27dsdtxhx5e/vz4oVKxyvo6NjD6qTJUsWt7ccceXu1iLO81aqVIkaNWqwfPlywsPD2bJlC9WrV6ds2bJs2rQJgI0bN8ZaZkwS3bp1K3/99RerVq1i1qxZ+Pj4xBtbhQoVWLt2LQAHDx4kX7588caZ1mjiSkeK1vLj5OdzeA9f2gJ/mit0rl6T61euezs0pdKEmKbCmMeFCxd47LHH+Pjjjxk8eDBHjx5l/vz5AJQqVYonnniCOnXq0KtXL8fI6K4efPBBihUrRnBwMI0aNWLx4sWxpjdt2pQvvviCjh073pbUEtK6dWtef/11+vXrh7+/P02aNCEkJISwsDDatm3LzZs3eemllxg3bhzNmzdn7969ZMmS5bblVKhQgRs3bhAaGsrw4cMdiahevXr89ttvdOzYMdZI9m3atMHX15f69evTrVs3xo5NX3dgl7SaUdOLwMBAE/NrKLUMbdSfEcs/B6AUQvf2Cxn+Y7NUjUGp+OzatYtK1oWIaVJERAR9+vTx6B5X3hYVFYWPjw8iwogRI8iaNSv/+9//vB1WoheZU2AAACAASURBVLl+JkRkszEm8E6Wpee40qG3l03g7+Jb2X/0Dy7zK2/PbkSpSfD4496OTCmV3E6cOEHnzp0xxpA7d26+++47b4fkdZq40qlv/l5FrzYnmb6oGAD9+0OZMmCf11VKxaNUqVLp4mgLoFixYqxatcrbYaQpeo4rncqUJROfzypG9erW65s3oUMHsO/UrZRSdy1NXOlYrlwwbx4UtW+xmf/sT3SrVID9G/bFP6NSSqVjmrjSOT8/mDsXgjKN4CTt2RR9hs51A7lw6oK3Q1NKqRShiesuEBgID7c6z3/2671RF5hZvQsmWnuMqowjZhimpIoZGHfhwoV8++23cdaLGbD23LlzTJkyxW2d3r17s3r16jiXERER4RieKaV88sknjr8T2qb0QhPXXeLlOe/Rr+KD+AFrgMeP/sqKsGFejkqp9KtFixb06NEjzukxA9bGl7gSklyJK64xEiF24kpom9ILTVx3kU+3z2NCuV5UtV+HrnyL1U9849WYlAIYNmwYIoKIMMzN6BeDBw92TI8Zdd1Z375945w3rvX17t2bNm3aEBAQwPz582nZsiVVqlRh27ZtgDWI7qBBg2jSpAmtW7fm4sXYtwxyvsXJ8uXLqVevHqGhoTz//POO+SMjIxk9erTjwueYi5vdKVmyJAMHDqROnTqO67BGjx7N/PnzCQ0NZfPmzWzbto0mTZrQqFEjHnnkEa5cueLYP8HBwfTv35+SJUsC1qj0zZs3p1OnTrz66qtMnz6dsLAwgoOD6dOnD8YYRo8e7Rhcd9KkSbG2ad68eQQFBREcHMzw4cMdy2zZsiWPPvooVapUYebMmR7t79Smiesu4uPrQ7M/v2BTgVsXIwd92Yc/3ksf3X6VSk758+dn7ty5dOrUiYkTJ/Lrr78yfPhwx6jrYA1Mu2TJklijsbsyxjBgwABmz55NeHg4H3zwQazpgwYNctxOpVWrVnHGc+LECYYMGcK6dev45ZdfuHDhAoMGDaJVq1aEh4cTEBDAU089xVdffcWyZcuoV68ekyZN4o8//mDHjh2sW7eOIUOGcPToUccyjx49yvTp0xk1ahRt27Zl+fLlrFu3jv/++49Vq1YxaNAgihcvTnh4OI87XegZHR3NoEGDWLRoEWvXrmXFihVs3boVgJMnTzJ16lQWLVrEu+++e0f7PqVp4rrLZM6RmfJ/zmRvtioAnOcmL7/Uknmjf/RyZEqlrho1agDg5+dHdfu6ET8/P86cOeOoU7t2bcAavHbPnj1ul3Pq1CkKFChA4cLWOKF3Oshu8eLFKVKkCCKCn59frIFtY+zYsYOePXsSGhrKjBkzOH78OPv27aNWrVqAddQWEwdAYGAgmTNnBmDlypU0atSIkJAQfv/9d8cI9nFtU+HChcmXLx8iQp06dRzbX716dXx9fSlWrBjnzp27o21NaXoB8l0oj18eLobPZ11wLXqZE+zjJtsHd6ZY+XUEtK7l7fBUBjRs2LB4m/k+/PBDt02EMSZOnMhEd4PvxsN5sNi4Bo7dtGkT999/Pxs3bqR8+fJul1OwYEHOnDnDqVOnKFiwINHR0Y5BbOHOBtmNicN1Xn9/f2bMmEFR+xqX69evs23bNr75xmryP3ToECdOnHDUd06iL7/8MgsXLqRo0aKOkTaAWLE6b9OJEyc4d+4cefPmZf369XTq1ImzZ8/eFmdapEdcd6liQfdxctQnxAyreZwoxnYbxfnzXg1LqTRl3bp1NG7cmJUrV9KnTx+3dUSE8ePH06ZNG0JDQxk8eHCs6UWKFCF79ux06NAh0XddrlKlCgcOHKBjx45s27aN8ePH07t3bxo1akSjRo1YsWIFAQEBlC9f3nEuqnjx4m6X1bNnT5o2bUrHjh1jddYIDg6mXbt2sYaK8vHx4f3336dZs2YEBwfToEEDqlWrlqjYvcoYo48kPAICAkxaNu7/RprcYDrT0UC0adTImGvXvB2Vutvt3LnT2yEkKCQkxBw+fNjbYXjk+vXrxhhjIiIiTLVq1bwczZ1x/UwAm8wdfu9qU+Fd7qlJL5PLrzG937KaCJctg8ceg2+/BTctCEqpNOi5555j+/btXLx48bbOIRmRJq4MoNebtYjMAjF3754+HYoWieaDDzVzqYwrPDzc2yF4bPz48d4OIU3Rb64M4pVXrBHkAXy5zPrR5XjSv613g1J3NaP3+lO25P4saOLKIERg3Djo0OIkNSjJGg7y2Y65vNH0KW+Hpu5C2bJl4/Tp05q8FMYYTp8+TbZs2ZJtmdpUmIH4+sLELzPRuOQ1sDsdnVzyGZtHtiVgiN5BWSUfPz8/IiMjOXXqlLdDUWlAtmzZ8PPzS7blaeLKYPIXz89Pm7bSrGYlOptrvIXh0ivt2V5oKf6PB3k7PHWXyJw5M6VLl/Z2GOoupU2FGVCp6qX5dcU2+vmWQIBcXKLYEw9y4Jdd3g5NKaUSpIkrg7q/QTmuz/uNf+VeAPKbM+Ro25R9y9wPe6OUUmmFJq4MrEzLCpz8egEXyQnAjOgjtGhchZ0rd3g5MqWUipsmrgyucq9a7H3vZ4biw2DgIDfoGFqLQ9sPeTs0pZRySxOXouYLjcnVdrDjw5DLRPF8j9NcvuzVsJRSyi1NXAqw7qD8Qr3ehJCTo/zF7D9r0KEDXL/u7ciUUio2TVzKYdTqr3l45CmOUAGAhQuhe3eI567gSimV6jRxqVieezk7r7126/XMmTCg+QJuXk/4fkNKKZUaNHGp27z5JgwcaP1dg/eYtrQVnYrWIDoq2ruBKaUUmriUGyIwejT0C5nBTl7iMjDnzHaeKNEQE61jzymlvEsTl3LLxwc++bUDDXOUAOA+4OWja1gRNsyrcSmllCYuFacs2bMw5+guOuYozUqgHBC68i3CW4zydmhKqQxME5eKV468OZh6bBf/FmjuKAtdNITwhz/yYlRKqYxME5dKUNY8WXlg70/8cU8jR9n9Pw9iSK0eXoxKKZVRaeJSHsmePzsVds9la54GRAAhwKhNUxkU+KiXI1NKZTReSVwi0lVEVonIeRG5KCKbROQpEfE4HhEJFRHj4aOEy7yTE6i/O/m3Ov3LWSgnZXbNp3+mAvxtl326+Ts+f/ZXr8allMpYUv1GkiIyHngSuAosBW4AjYFxQGMR6WSM8WSshuPAN/FMrw1UAg4Ah+OoswbY76b8mAfrz5ByF8vNF1u30KpKJfZEX6INveg/tiXiD337ejs6pVRGkKqJS0Q6YCWt40BDY8w+u7wwsBxoBzwNjEloWcaY3UDveNYVc2+Or4wxcV189KUxZrKn8SvLfZXvY96WHQxrPoHJx0cC0K+fdf3XE094OTil1F0vtZsKh9jPL8UkLQBjzAlggP3y5cQ0GbojIsFAZSCK+I/K1B0qWbUkH+0aSWDgrbK+fWHCpzo0lFIqZaVa4hIRPyAAuA7MdJ1ujFkBHAGKAHWSuLr/s58XGmOOJHFZKg758sFvv+FIXlk4x6SnimmHDaVUikrNpsIa9vMOY8yVOOpsBIrbddfeyUpEJAfQ2X45KYHqYSJSFcgFnABWA4uNMToon4fuuQcWL4aWYee48Wc5NvEvmzZ/R1SNm4zZctvvE6WUSrLUbCosbT//E0+dmNvulo6nTkI6AbmBk8AvCdTtCTwPPAEMBRYC20SkShLWn+HkywffTbnAdZ9bv0fy/zlLL1JWSqWI1ExcueznS/HUuWg/507CemKaCacYY27EUedP4FngATuuYkBrYCvWubElIlI8rhWISF+7C/+mU6dOJSHUu0fJKiX4ZetOqvnk4jXgDSD050E6PJRSKtmlZuIS+znFhhcXkbJAQ/vlV3HVM8Z8bIwZa4zZaYy5ZIw5ZoyZj9WFfj1QiFsdSdzNP9EYE2iMCSxYsGBybkK6VsK/BIv3HaR97nqOstBFQwgPe1NHlVdKJZvUTFz/2c+54qkTM+2/eOrEJ+Zoa50xZldiZzbGXAdG2i8fvMMYMrSCZQpSbv8ituQLc5SFhA/j3cqP6P28lFLJIjUTV4T9XDKeOve51PWYiPhinbOChDtlxCdm1Iw4mwpV/HIWyknF/b+wuUAzAIYBQ/bMomPh6nonZaVUkqVm4tpiPz8gItnjqFPLpW5iNMdKNpeA7+9g/hgF7OeL8dZS8cpeIAf+B+cyMm8Ab9llP53extP3P0yUJ+OiKKVUHFItcRljDgN/AFmwev7FIiIhgB/WqBrr7mAVj9vP3xtjkpJ0HrGfNyZhGQprVPmB/6ykcXbrQLohOfgp8lO6doXr170cnFIq3UrtkTNizh+9a3ekAEBECgGf2i9HOV9HJSIjRWS3iIwkDiJyL1avQEigmVBEqotIa7tp0bk8k4gMwuptCKB9uZNBjrw5WHB6P48XCeMAWzhJCX74Adq1gytxXc2nlFLxSFTiEpFcIuInIvF1sIiTMWYW8BnW6BjbRGSeiMwG9mF1Q5+DNdius6JABfs5Lj2wjuR2G2MSunC5FDAPOCki60RkpogsxLq+7EO7zkvGmEWeb5mKT5bsWZh4ZBntnynvKFuwAFq0gLOn9ZyXUipxEkxcIuIvImNF5CBwHusi4fMickBExiX2Yl1jzJNAN6xmwxCsc1P7sQbX7eDhyPCuHrOf4+wC72Qr1iC+e4ASwEN2HJeBr4Haxpj37iAGFQ8fHxgzBoYOvVV2deUQQgrlY/eaRHcAVUplYBL3wOkgIjOwLtL9DggHdmF1Vc+NdcuQEOBRYKcxpktKB5sWBQYGmk2bNnk7jHTlgw9g2gvvs5MXuQ6UJjMzflxBUPtgb4emlEolIrLZGBOYcM3bJXTENd0YU9UY844xZq0x5qwx5qb9vNYYM9IYUxWYeicrVxnT//4HzevtJqaRMBM3yN6pAwd+0SMvpVTC4k1cxph5nizEGJPQmIBKxTJq9STefmgwpYHFQNXoY9zTpj7bJ/3u7dCUUmmcR50zRKSAPT7fGBH5yn7uKyIFEp5bKfeGzP2AGSMWUICcAOQ3ZyjdpxGbRmi/GKVU3DzpnNEYq/NEd7v+UaxxB7sB+0QkLJ7ZlYpX0CstOTR5Of/KvQDk5DIytBVvNB6QwJxKqYzKk/txjQUeN8bMdp0gIu2wrr+qlNyBqYyjcq9aHCy0mqsPNScq6h8eIopjyyZwotJhPt0+Fx/f1L7cUCmVlnnyjVASmB/HtAXEP/agUh4p07ICvuvX0N8nD8fssu92z+f1jkuJ1rF5lVJOPElcvwNvi0hO50L79XB7ulJJVjSwOBO2/EVN37xkAcJ4lhFzmtK5M1y96u3olFJphSeJ6zGgHvCviOwQkbUish04BdQHeqVkgCpjKVm1JEsjI+hb8TXmMAaAWbOgWTM4c8bLwSml0oR4L0COVVGkHLfuGHwR2GGM2ZeCsaULegFyyoiKgkGD4JNPbpUFltrBJ++dJbhTfe8FppRKFil5AbKDMWafMWaOMWaq/Zzhk5ZKOb6+8PHH8P771uvsnORKRBBtHwnhhzeneDc4pZRXxZu4RGS2iNRKoE4te6BcpZKViDXKxnffQXUC2MElThFNn2G9+O15HaxFqYwqoe7wE4BPRSQPsAJrYNqYsQrLA6HAOWBoXAtQKqk6d4ZLa19k1ycDOYdhFND4416sOHSGkB+fTXB+pdTdxaNzXCISCLQEqgD5gLPAX8ACY8yd3K34rqHnuFLPkom/smxAN96JPusoW1H1Gepv/AjfLL7xzKmUSmuSco7L484Zyj1NXKnr1I6TnAhqg/+lW1dhrCrYgjKrvqR4heJejEwplRgp2jlDREok9LiTFSt1Jwo+UIj7Dy1nnV8nAAzw2amFNKp0P+tnJ3QPUaXU3cCTXoURwN/2I8LN4+8UiEupOGXPn52gv78jPHgIbwIzgL3mGg91aMDiCau9HZ5SKoV5krj+AvZhdcAoCWR2eWRJseiUioNPJh9C177DjYaPk9kuq0dh2j8byLRpXg1NKZXCEkxcxpjqQEcgP7Aaa3zCLkAWY0yUMSYqZUNUKm4jVnzJhGc/oZnkZzWbuHgjG927w6uvomMcKnWX8ugCZGPMdmPMC0BpYDTQGjgmIjVTMjilPPF/Y57h073/UqhSMUfZO+9Au4ejORnxrxcjU0qlhMTeL6IcEAIEA1uwusUr5XX3lxXWrYOWLW+VnZ/XggZl/Fg9PdxbYSmlUoAnvQrzi8hTIrIBmIM1TmFDY0yYMUY7Zqg0I29emDcPBg+GWrzCChaz11yjTbdG/PjCV94OTymVTDy5keRRrJ6D3wLr7bKyIlI2poIxZlkKxKZUovn6wgcfwNDNZ9kaDteB6hge/OAJVhy8SMOZzyA+4u0wlVJJkOAFyCISgXW5TFyMMaZMcgaVnugFyGnXtCFfMmbUkyzgBvfaZavv70Xgpglky5fNq7EpldHpyBlepIkrbTu6MZIzYR3wv7TBUbYzRyC+P39DhSaVvRiZUhlbqtzWRKn0qFgtP8pGrmBV2d6Osj2XN9GgqT8TnxztvcCUUndME5e662XLl436e75iRcex/IUvPYFTGJ78bDCv1X8GbXRQKn3RxKUyBPERQmY+zdZB48huf+zvQ5i55lE6d4b//vNygEopj3nSHT5HagSiVGro8WF/Fs7/nSDfvJRjJHuoy8yZEBQEu3Z5OzqllCc8OeL6R0R+E5HnRKRcikekVAqr+WAgK/87TfmnXnKU7doFtWrBpOHr45lTKZUWeJK4igHvAvcBc0Vkn4iMEZFmIqID7Kp0KUt2X8aNgylTIHt2q6zopVk883ow7e+txn+nte1QqbTKk0F2bxhjlhpjBhtjKgHNsEaLfw44IiJzRaS/iBRO6WCVSm49esD69VCl5CFu0JUrwE+n/6JbkdJErvnH2+EppdxIdOcMY8zfxphxxpgHsY7CPgeqAA8ld3BKpYaqVeGXX6B0toIA5ATevXmanA1qsOH1X7wbnFLqNnoBchLpBch3j+ioaJ6t1o6gHb/Qg1v3RAkP/B/1VrxD5hyZ45lbKZUYegGyUsnAx9eHcdt/pvrnqzjq6+coD930AT/eG8DamXp3ZaXSAk1cSrmo0rcu2Xb9ycaCDwJwGnjhyjYefKQho9q/7N3glFKauJRyJ3+5AgQcnUf4g+/RB4gEzmP44Kd3ebHzVq5e9XaESmVcHicuEcksIv4iUt9+1gZ/dVfzyeRD6PwX6PDi5xTHF4BGdOf9H6pRu7ZesKyUt3gyckYrEZkHnAfWAN/Zz+dF5BcRaZ3CMSrlVd3f7cuqzXvpX7QdPzIZgG3bICAAvvgCHetQqVQWb+ISkTXAAGAGUNYYk9cY42eMyQvcD0wD+tv1lLprla5Zhk+PzGbcp75kzWqVXbkCb/RdT8vc5Ti4+YB3A1QqA0noiKu/Maa1MWa6Meao8wRjzDFjzAxjTGugX8qFqFTaIAIDBsCGDVC5MgjXKURzFl3aT73ACkx6eoy3Q1QqQ4g3cRljtsX8LSKd3NURkY7GmO3JHZhSaVXVqrBpEwyoNYqtXADgFFFUHP8c4bVf5PrF616OUKm7W2J6FU6Ko3xicgSiVHqSPTuM3/A673V8hQIIrwH1gNCN73OwUBD7f97h7RCVumt50jmjjIiUAXxEpHTMa/vRBNCOwSrDemHmCMKX/Enz/E0cZRWv/InfwwH89ODb3Lx+04vRKXV38uSIaz/WoLo5gAP265jHFGBYSgWnVHrg37gqtU8sYkW7j7mK3XODa7z262vUzVmIjT/rrVKUSk6ejA7vY4zxBVbZfzs/ihljtKlQZXg+mXwImT2QyDmb2Z29OkOAHcDGm2dp+3Bdpn50SLvNK5VMPD7HZYwJSa6VikhXEVklIudF5KKIbBKRp0QkUSN5iMhkETHxPHanRhxKxSjb9gFKHVvHqWLBjn+uEBrSY1AJ2reHEye8Gp5Sd4WEruOaLSK1EqhTS0Rme7pCERmPdf1XILAKWAyUB8YBs0TE19NlOVkDfOPm8VMqx6EU2fJmY+qRtXw1+FPa+N7Hz1i3RpkzB/z9YdYsLweoVDoX721NRKQZMALIA6wA9gD/AbmxvuRDgXPAUGPM4gRXJtIBmAUcBxoaY/bZ5YWB5UAl4DljjEcXxIjIZKAX8JgxZrIn8yR3HHpbExWfixfhhRdgwoRbZfewh7p52jF60U+Ur1PBe8Ep5UUpdlsTY8xvxphaQDfgMBAEdARqA4eALsaYIE+Slm2I/fxSTLKw13MCa4QOgJdToakurcSh7nK5csFnn8GiReBn3ymlIs2Yf2EX9YIrMbrjUO8GqFQ6lMmTSsaYTUCSDitExA8IAK4DM92sY4WIHAGKA3WAtUlZX1qPQ2UszZpZ4xu+1GYKE1cdAuBfDJV+HMHaEvspt3AsBSsX9HKUSqUPnlzHVSKhh4frqmE/7zDGXImjzkaXup4KE5HRIjJRRIaLSPN4jpZSMg6l4pQvH3y+sicfdX2DIvjQC2gJ1D38PT7+lVj7zAxMtHY9VCohnjSFRQB/248IN4+/PVxXafv5n3jqHHKp66mewPPAE8BQYCGwTUSqpHIcSiXouWnDWL/1AJ1LP+ooK2BOU3dcV+YUaszmXzbGM7dSypPE9RfWBchDgZJAZpdHFg/Xlct+vhRPnYv2c24Pl/kn8CzwgL38YkBrYCtQGVgiIsWTOw4R6Wt3nd906tQpD0NV6paSVUvR8uB0Nr/9K0d87wMgGvjw9HLCHqrN4NrddNQNpeLgyQXI1bE6ZOQHVgMLgC5AFmNMlDEmysN1Scwi7yTQOGL72Bgz1hiz0xhzyR6xfj5W55H1QCFudcRItjiMMRONMYHGmMCCBfW8hLpzAa+2IHfEdlZW7s9nWNd1/Ad8snE6T/h/y+54r0RUKmPyqNecMWa7MeYFrKaz0VhHNcdEpGYi1vWf/Zwrnjox0/6Lp06CjDHXgZH2ywe9FYdSnsjjl4eGOz4j58CxlMa6sXg7yjN5X2+qVYM334Rr17wcpFJpSGK7e5cDQoBgYAtwNhHzRtjPJeOpc59L3aSI+a3q2lSY2nEo5ZHeHz/NH8dO0rdkY373mQ8I16/DsGFQvTosnn00oUUolSF40qswvz0M0gZgDtb5n4bGmDBjjKcdM8BKdAAPiEj2OOrUcqmbFAXs54su5akdh1Iey1ckH59HLGHelrLUrn2rPGL3vzzeoSSt8lZg/8b93gtQqTTAkyOuo8DTWEnrKaxzR2VFpFHMw5MVGWMOA39gdea47aaUIhIC+GGNZrHOs/Dj9Yj9HKuLlhfiUCrRqlaFtWthzBjrIuYgHuIwN1lwYS8ta1dkxeNfa9d5lWF5kriOA9mwuppPcvP4MhHriznv9K6IlI0pFJFCwKf2y1HGmGinaSNFZLeIjHRaDiJSXURau44pKCKZRGQQVm9DgI+SIw6lUpuvLzz7LOzcEU2m7Ecc5S8TRchX/8fW/KF6w0qVISU4coYxplRyrcwYM0tEPsMaVmmbiCwBbgCNscZDnIM1yK2zokAF+9lZKaxBdM+IyF4gEqv7ehWsbvHRWEM6LUqmOJTyivtK+LDk8iE+fORVVs36mMfMZQCqn1/JjYerE17reQJ+fo3cRT29ikSp9C3Vx+IzxjyJNfbhH1gdPZpj3ZTyaaBDIrrXbwXGYA38WwJ4yF7eZeBroLYx5r1UiEOpVDH4hxFMO36SlbVf5Ib9mzMzNym/8X0CiuVneKvniY7SRgJ194t3dHiVMB0dXnnDvp+2c+mxp6h+fiVdgRl2eZtspRm5+SCVK3szOqUSlmKjwyul0qZy7fypdiac+b3Gs8Tp39jnaiuqVYPBg+HCBS8GqFQK0sSlVDolPkKryU+ycetBOtxbjZbcwzw+4uZNGD0aypeHyZMh6qY2H6q7iyYupdK5klVLMuvUn4zaeIx6DW/1tzpxAt59bCo1suZl2iuTvBihUslLE5dSd4mqgVkJD4fp06F4cYBoMvMk26Iv0n1kHwYWqMWxjZFejlKppNPEpdRdRAQefRT27IGX2s1mrz3cZmbg6TObyFO7AsvD3uLSqcveDVSpJNDEpdRdKGdOGDW7I0umhxOWrTgDsQYazcllwsLf4EKR8qzqO0VvnaLSJU1cSt3F6j8awrIrkTz64VL2ZKvmKC8afYTjX/SiWra8fPnsJ16MUKnE08SlVAZQc1Ajyp7fzKqeX3DSpzBXgZeAneYyT4wdyBNFO+i9v1S6oYlLqQzCN4svDb7pQ/bD+/iiSk+O2eUFgFXH/4e/PwwYYPVGVCot08SlVAaTu1hunvnrG1bMXkvzXGVoQl32EExUFEyYAPffD6+/cIaje/X+Xypt0sSlVAZVu10wC/87wEubVtG48a3yS5dg5QddqFbBj4E1H+HiGddb2inlXZq4lMrgagT4sHgxLFgAVarAPexhC4v5F8MnW2byRcEyrHlqOtE6AodKIzRxKaUQgZYtYcsWGPr4WnJh3eauAvBM9CnqfdqNfblrsOH1X/QGlsrrNHEppRx8fWHQl4+x4+gpBlRqzTByOm7aV+HqX9Qe/hBLcgfy+YAPvRqnytg0cSmlbpOv6D18unMeLSMiCa/3KpfI4Zj2w+U/6D/hf9TOnJ+Zw6Z5MUqVUWniUkrFKW/JfISufptLWw+wouoz7CAzX9vTNt48y7Q3N9CqFegt6VRq0sSllEpQoapFCNn6CVfnrKZlnvL4AsFk5VfeY8ECqFUL2raFP//0dqQqI9DEpZTyWEDb2sw7v4fFXy2iVtCn3JCsjmlz50KPGp8Tkq0oP436zotRqrudJi6lVKKFPdaMMev/j+3b4ZFHbpVn5VVWXjtO+yGP8nzequyescV7Qaq7liYupdQdq1wZvv8etm6F7vUWspnTgPXF8uSFbVTsWpMNhVuzfdLv3g1U3VU0cSmlkqxqVfh2dQvmfjCLsGzF6YF1GxWA2ifn49+nDr8XaMY3gz71ZpjqLqGJSymVbB4a3IFlVyJ56bs/i4DJbAAAFodJREFUWOfXiWjEMe3vM4vp/dFT1MyUl/GPjcTodczqDmniUkolu0qdaxB8+AcO/rydNaW6cQPhbXvalqgLhE/+loAAmDkToqK8GqpKhzRxKaVSTNk2lan391T2zNlM6TzlyQzkBHYzni1brI4dFSvCxIlw5bKOhag8o4lLKZXi/NvWYN75Payd+ztP+vfjQPYwx7T9+2FQv2NUyZmDvhUe5J9t/3gxUpUeaOJSSqWawIdq8962CUREwCuvQL58djn9OcA1vtj7Kw9XLUN4rRc4tjHSq7GqtEsTl1Iq1RUqBCNGwKFD8MEHcEaWOqb1J5rQTR9wb+3SrL6/J3tm/uXFSFVapIlLKeU1uXPD4MGw5uQxXq7Xm9qSnZ72tMzcpP7Bb6nwSDWez1GOj7oN4+b1m16NV6UNmriUUl6X+97cjFz9NeuuX2Tba3PZmqeBY9pRYPyV/Qya/iYVsuZk0pANXL7svViV92niUkqlGT6ZfKj91kNUO7+S7V+uZ+19jzAWuGFPL4DhyVHVuO8+GDIEIvU0WIakiUsplSb5Px5E3UPf03bmKh4pFEBuoAQduE5WzpyBUaOgVCl4LHgG37z4OdFR2p0+o9DEpZRK0+p0rM/3Jzaxc8chQt7+lNKlb02LioLt6wfS+/3++GfOxcS2r3P13FXvBatShSYupVS64Ff5Pp559R727YOffoKQECjNr2ziFAC7zRWazB3Oxfz3sbzuK0SuPeTliFVK0cSllEpXfH3h4YchPBwmfJGDVnnKkw1oBZQB7jX/ErZuJEXrlWZVkdZ80muE9ka8y2jiUur/27vzOKnp+4/jrzfLtbgWUUHkEBUQEVEQ8ORSoFjF+6bUg1KPomItHlRrf0oVpGg90FLqAVYqWhWtR5GCgqAFBSwVkBaknAICcggix+7n90eyMAy7s7PLMrOZ+TwfjzyySb7JfPLZZT4k+SZxkfXDPp14e+N/+Hz6f7mq0x0szzli17IcCli6+h36vXAvjavlcsdJvVi3Lo3BunLjhcs5F3lNTm5Kz0lDOPy7RUy/eywzD+4GQOFLVJayk8WfzaV+fejVC6ZMwZ9OH2FeuJxzGSOnag6nDLqQNuvGs+DtOdSv3ZqaQGVgMfezbRuMHg0dO8Lxx8P9Fz7CoplfpjtsV0peuJxzGanpuS145etZLFz8NYPOvQe1PW+P5UvmfcXQN/tzXNsmdMs7ko8f/jtW4IdhUeCFyzmX0Q5tVJv+b/+WTz4Vs2bBDTdAXh605g42A9uAlVuWcNrd57C4ejM+OGcIq2evSnfYLgEvXM65rNG6NQwfDl99BWd1P4IWlWoA0AcQcNSOBZz597s4pFUDRh3SkcEX38WWDVvSGrPbmxcu51zWOfBAuH/cIObkb+H1h16i6bG92cgPdi2vTD7jv5nCgLFDOLLWgfRv9XPmzEljwG4PXricc1ntogFXcu4Xz1Ll66+Y2mck/6rZkQ3A6+HytRhzZjekZUto0waeeALWrk1nxM4Ll3POATVqH0D7P11Dqw2TWfLaJ1zW4AzqUYkTyGEytwEwaxb06wcN6m6je14TBl90F5vWbEpz5NnHC5dzzsU58eJ2vLBsKv/7biv3DRrPBVfkUq3a7uXH5w9l/JYvGfDGENrVqcXk5jcw++mPvFdiiqSlcEnqKWmKpI2SNkuaIamvpKTjkVRFUhdJj0iaJmmlpO2SVkh6VVLnBOuOlGQJhvnlsqPOuUirmluVS+4+izFjYOXKoGPHaadBVUbsatODAjrNH8GJfduzrFpjJnX4NfPf/DyNUWc+WYpvH5f0FPBz4HtgIsGrdroABwJjgcvMLD+J7XQF/hFOrgJmAluA44Djw/kDzey+ItYdCVwDfAQsLGLzK81sQDL707ZtW5sxY0YyTZ1zGWLiM+8x6v6BTF4+nTfZSau45b8AximXTs3O4sZHB9LqR63TEWaFJmmmmbUt07qpLFySLgFeJSg0Hc1sQTj/MOADoDlwm5k9nsS2ziIogI+b2ZS4ZVcAo4Ec4Cwz+yBu+UiCwnWdmY3cl33ywuVc9srfkc/nwz/i26df5IT5r1CTjeQDDQi+5AAu4CbWd3yaq66CSy6B2rXTGHAFsi+FK9WnCguPYu4qLFoAZrYauCmcvDuZU4Zm9r6ZXRpftMJlLwMjw8le+xayc84VLadKDq1u6UiHL0ZQbf0qpvV/lTG1u7A+XH4Y8E9+xYcfwk03weGHQ7euBdzb5RYWzVqUztAjLWWFS1IDoA2wHfhr/HIzmwysAOoCp5bDR34WjhuUw7accy6h6gdV59TfXcKPv57AgjlL+VXHn9LjkLNZW2n3V1B+PiybOIYH3x9GszaN+WH1+ky94c9sXLIhjZFHTyqPuApP8s41s63FtPk0ru2+aBqOVyZoc6akRyWNkDRQUvfSdBBxzrmiNGzRkAcnP8Mza//OihXBvV9nnBEsq8sTAOwE6mz7ivYjrib3yDp8UqcHU/uMZP2i9cVv2AGpLVyFL9xekqBN4StLj0rQpkSS6gLXhpOvJWh6NcF11J8B9wLjgM8ltdyXz3fOuUJ168Itt8DUqbB0KbQ9uSUtKx0AwBVhm6rs4OQ179D+2ev4Q+NDObXqodxx2jXM/8g7OBcllYUrLxwnevDX5nB8YFk/RFJl4EWgJjDRzN4qotm/gFuBFmFc9YAewGyCXokTJNUvawzOOVeUhg1h6PQ/8e/8zUwZ/QHVuj3AFzVO2qPNKxQwfcc6hk57gXvb30fnzvD440HRc4FUFi6F4/3djXE4Qff6ZRTTMcPMHjOzJ81snpltMbOVZvYOcDIwDajD7o4ke5F0fXjv2Yw1a9bsh11wzmW69j0788Pxv6b5lpksm/Qlk895mAm5JzA7XF4NmMftTJ4Mt90GjRpBu3Zw60nX8O6Tb1KQX5DO8NMqlYXr23Ccl6BN4bJvE7QplqTHgZ8S9ETtYmalejeBmW0HBoWT5yRoN8LM2ppZ29ret9U5t48adjqaTu/cSdfvZjPt1an0Pe58Ls5tznxO2aPd8hnTefKzFzj31gtpVrk6E9v+ktlPTSV/e4m3vmaUVBauxeG4UYI2DePaJk3SIwSn/9YQFK0FJaxSnMKTyn6q0DmXcqdccgbD5r7JX76bx1crxfDh0L07VK4MTfndrnZHs4MuMx/lxJs78E31w5nStDcTf/ESKxcm6o+WGVJZuAq7p7eQlFtMm3ZxbZMiaQhwO7AO6GZm88oWIgCHhOPNCVs559x+Vrdu8OLLcePg66+hxxUnc1ZuffKAC2La1bY1dFj4PP95rCeNmtbj1KqH8kCX/ixenKbA97OUFS4zWwbMAqoCl8Uvl9SJ3Tec/zPZ7UoaDNwBrCcoWrNLWKUkl4fjTxO2cs65FKpVC+4ccycTv1vO8lUbOOGe1/iw+fWsrlR3V5u3CZ6hN33HOj5//1OOOgpatoQBA2DKFNi5M23hl6tU37NUeP3oYUlNCmdKqgM8HU4ONrOCmGWDJM2XNIg4kgYCdwEbCIpWiUdqklpJ6iEpJ25+ZUm3E5xuBPh9aXbMOedSpeZhNWn/24vpOO+P1N62grnPTuP903/FStXY1WY1vQGYMwcGD4aOHaFj1YacWaMhAzr25suPy3o1Jf3S8ZDdpwke7/Q9MIHdD9n9AfAGcGnsQ3Zjnis4ysyujZl/PvBmODkDmFvMR843s8Ex611I8DDfb4D/AssJut+3JOgWXwAMMLMhyeyPP6vQOVeRfPrGNP728Ahm/+APjJ9cjW3bgvk1WMVODmd72G4ZsKlGG1a3/hEHX9Wd43qfSpXcyimLMzIP2d31oVJPoC9Bscgh6BDxHPCH2KOtsO1Iii5c1wLPJ/Fxk82sc8x6RwH9CLq+NyK4pmUEBWwK8JSZzUx2X7xwOecqqi1bYMIEePdd+HLMA0zc9Bsg+OL9d1zbpRzIT6rlcVLLTlz8yxvpcGWn/Rpb5ApXJvHC5ZyLgoL8At4b9jfeGv4MtZcs4N6ti6jC7oteY4GLw59PpBLbmmyj69mV6dYNOnWCmjXLNx4vXGnkhcs5F0Wblm1k7hMT2PnWOI5e+B4P5C/b9XrMiziGsfxnV9ucHDiv3kPkMY5OF17Glff3Jq/WAfv0+V640sgLl3Mu6qzAmPTceN544o/Mmj+Vgwqu5+383+7R5gya8BFfAnAfVTm3djem/fKv9Lgsl6OPLv1neuFKIy9czrlM8/33wUOBJ0yAf/wDZs0qoC5VWEXQBWEacDBNOIYFDBsGffuW/jOi9CJJ55xzFVz16tC1a9CNfuZMWLViJzef24/zDzqW46lKG2ACXYGgXaqlru+jc865SDqsXlXueftR4FEwY+mkRdT8SPRZAscck/p4vHA555xLnsQRZzam55nQM00h+KlC55xzkeKFyznnXKR44XLOORcpXricc85Fihcu55xzkeKFyznnXKR44XLOORcp/sinfSRpDbCkjKsfCqwtx3AyneerdDxfyfNclU555KuRmdUuy4peuNJI0oyyPqsrG3m+SsfzlTzPVemkO19+qtA551ykeOFyzjkXKV640mtEyU1cDM9X6Xi+kue5Kp205suvcTnnnIsUP+JyzjkXKV64nHPORYoXrjSQ1FPSFEkbJW2WNENSX0kZ9/uQ1ExSP0kvSpovqUCSSbo0iXXLlKeo5ldSFUldJD0iaZqklZK2S1oh6VVJnUtYP6vyBSDpFkmvSPpC0jpJOyStkTRBUi9JSrBu1uUrnqSHwn+PJql/gnYVK1dm5kMKB+ApwICtwNvAWGBTOO91ICfdMZbz/j4W7lv8cOn+yFOU8wt0jcnPyjD+l4HPY+Y/4PnaI/7lwHZgFvAWMAb4J1AQ7sMbQCXPV5H70g7YGZOr/lH520p78rJpAC6J+VJqGjP/MGBeuKxfuuMs533uAwwBLgcaA5NKKlxlzVPU8wucBbwKdChi2RXhl4wBZ3q+dsXaHjigiPktgFXhPlzn+dprX6oBc4EVYUEpsnBV1FylPYHZNAAzwl/Y1UUs6xTzi97rf4iZMiRZuMqUp0zPL/BMuA/Per6Sytevw334i+drr3gfDuM9DxiZoHBVyFylPYHZMgANwl/WNiC3mDbLwzanpzve/ZiHhIWrrHnKhvwCfcP43/N8JZWvAWH8z3m+9ojzFIKj99HhdJGFqyLnKnIXEyOsdTiea2Zbi2nzaVzbbFTWPGVDfpuG45Ux8zxfRZB0FHBjOPlWzKKszpek6sAo4BugXwnNK2yuKpdlJVcmR4XjRE+SXxrXNhuVNU8ZnV9JdYFrw8nXYhZ5vgBJ1xGcgqpC8D/+0wl6TQ8ys7ExTbM9Xw8CzYArzaykp7tX2Fx54UqdvHC8JUGbzeH4wP0cS0VW1jxlbH4lVQZeBGoCE80s9gjC8xU4A7gmZnonwTWuR+PaZW2+JJ0O3Aa8YWYvJ7FKhc2VnypMncL7SSytUVR8Zc1TJud3ONAFWAb0ilvm+QLMrI+ZCahB0KPwMeD/gGmS6sU0zcp8ScoFnifojv7zZFcLxxUuV164UufbcJyXoE3hsm8TtMl0Zc1TRuZX0uPATwm6dncxs1VxTTxfMcxsq5nNM7M7CDpnnAgMi2mSrfl6CDgGuN3MVpbUOFRhc+WnClNncThulKBNw7i22WhxOC5tnsq6XoUl6RHgVmANQdFaUESzxeE46/NVhOeBocB5kqqY2Q6yN18XEdxofI2ka+KWHRuOb5LUA1hoZn2owLnywpU6n4XjFpJyi+lt0y6ubTYqa54yKr+ShgC3A+uAbmY2r5imnq/ibSC41lUZOBhYTXbnqxJBB5biHB0OB4XTFTdX6b6nIJsGYCYZcgPjPuRgEiXfgFymPGVKfoHBYazfAK33199VpuQrQV46h/uwnpjHC3m+9op9JMXfgFwhc5X2pGXTAFwa8wtrEjO/DsHjV4yIPDJmH3KQTOEqU54yIb/AwJgv2zb78+8q6vkCOgA/BqoVsewM4MtwH4Z6vhLmMVHhqpC5SnvSsm0Ang5/aVsJbox8HdgYzhtLhB7SmeT+ngRMixkKH7L539j55ZWnKOcXOD+M0whu0BxZzHC358sguK+tsMhPBEYDf4v5YjSCh7vu9fSGbMxXgjyOpJjCVVFzlfakZeMA9AQ+Cr/EtxAcVvclYqcYktzXzjFfIsUO5ZmnqOY35ou4pGGS58sguHn1AeADglsFtgLfE1zwfxW4cH/sd1TzlWB/EhauipgrhRt3zjnnIsHv43LOORcpXricc85Fihcu55xzkeKFyznnXKR44XLOORcpXricc85Fihcu55xzkeKFy7kUkdRZ0vJ93MYRkjZLyimnmDZLOro8tuVcqnjhci5Jkt6T9EAR8y+QtCp8U/F+ZWZLzSzPzPLDz54kqc8+bC/PzBaVX4SJSRoh6fpUfZ7LTF64nEveSOAnkhQ3/yfAaDPbmfqQIuds4N10B+GizQuXc8l7g+C9Th0KZ0iqBfQAXginq0kaKmmppNWShoevTd+LpObhEdMGSXMlnR+zLFfSI5KWSNooaWo470hJJqmypAfDWIaFp/yGSXoqfAFl7Oe8Jem2YmIwSU3Cn0eG678j6VtJ0yU1Lma9wjiuk7RM0npJN0pqJ+nf4T4Ni1vnBGCDmS2X1ETS5HDf1kp6ucTsOxfywuVckix4Id4rwNUxsy8H5pvZ7HD6YYJXpLcCmgD1gfvityWpCsETs8cTvOrhFmC0pGZhk6FAG+B0gmJ5J8EbbGPjuQeYAtwcnvK7GRgFXCWpUvg5hwJdgJeS3M2rgPuBWsBC4MES2p8CNAWuAB4D7gG6Ai2AyyV1iml7DvBO+PPAcN9rAQ2AJ5OMzzkvXM6V0ijgspijqKvDeYSnEH8G/MLMvjGzb4GHgCuL2M6pQB4w2My2m9n7BK/gKCw6vQneV7TCzPLN7GMz21ZScGb2CcGrI7qEs64keJr86iT373Uz+yQ87TmaoAAnMtDMvjez8QRP/37JzL42sxUERbV1TNtz2X2acAfBq93rhetPTTI+57xwOVca4RfsGuCCsDdeO+Av4eLaQA1gZniqbAMwLpwfrx6wzMxij6KWEByhHQpUJ3gRYlmMAnqFP/cC/lyKdVfF/PwdQXFNJLYgbi1iOg9A0kHAscDH4bI7AQGfhKdJe5ciRpfl9nsvKOcy0AsER1rNgPExRzNrCb6sW4RHHIl8BTSUVCmmeB1B8ILNtQTvlWoMzC5m/UJFvZfoRWCOpBOB5gTX5tKtOzCxsDekma0iODpFUntggqQPzWxhGmN0EeFHXM6V3gsE13F+RniaECAsQH8Cfi+pDoCk+pK6F7GN6QSn1u6UVEVSZ+A8YEy4neeARyXVk5Qj6TRJ1YrYzmpgj/uwzGw5wRuU/wy8Fl6bS7fY04RIukxSg3ByPUEBzk9HYC56vHA5V0pmtpjglNcBBK+Kj3UXQaeGaZI2ARMIjszit7EdOB/4EcER1tPA1WY2P2zSH/icoAB9Q9Dpo6h/r48Dl4a9+p6ImT8KaEnpThPuF+G1v24Ep00LtQOmS9pMkMN+Zva/dMTnosffgOxcBpLUkeCU4ZFx19HSEcvJwDAzOzmdcbjM4UdczmWYsKt9P+CZdBetGL9JdwAuc/gRl3MZRFJzYAZBp46zzWxTmkNyrtx54XLOORcpfqrQOedcpHjhcs45FyleuJxzzkWKFy7nnHOR4oXLOedcpPw/0v4ZrxKTKA8AAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"N = 100\n",
"\n",
"simple_rk2 = np.zeros([N,3])\n",
"simple_rk2[0,0]= y_0\n",
"simple_rk2[0,1]= v_0\n",
"simple_rk2[0,2]= m\n",
"for i in range(N-1):\n",
" simple_rk2[i+1]= rk2_step(simple_rk2[i], simplerocket, dt)\n",
"\n",
"simple_heun= np.zeros([N,3])\n",
"simple_heun[0,0]= y_0\n",
"simple_heun[0,1]= v_0\n",
"simple_heun[0,2]= m\n",
"for i in range(N-1):\n",
" simple_heun[i+1]= heun_step(simple_heun[i], simplerocket, dt)\n",
"\n",
"simple_rk2_m = simple_rk2[:,2]\n",
"simple_rk2_v = simple_rk2[:,1]\n",
"simple_heun_m = simple_heun[:,2]\n",
"simple_heun_v = simple_heun[:,1]\n",
"\n",
"\n",
"plt.plot(Tsiolkovsky_v,Tsiolkovsky_m/m, label = 'Tsiokolvskys Equation', linestyle = '-', color = 'b')\n",
"plt.plot(simple_rk2_v, simple_rk2_m/m, label = 'Explicit Integration', linestyle = '--', color = 'r')\n",
"plt.plot(simple_heun_v, simple_heun_m/m, label='Implicit Integration',linestyle = ':', color = 'k')\n",
"plt.xlabel('Velocity in m/s', fontsize = 12)\n",
"plt.ylabel('M(t) / M(0)', fontsize = 12)\n",
"plt.title('Simple Rocket Compared With Tsiokolvskys', fontsize = 16);\n",
"plt.legend(fontsize = 9);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"2. You should have a converged solution for integrating `simplerocket`. Now, create a more relastic function, `rocket` that incorporates gravity and drag and returns the velocity, $v$, the acceleration, $a$, and the mass rate change $\\frac{dm}{dt}$, as a function of the $state = [position,~velocity,~mass] = [y,~v,~m]$ using eqn (1). Where the mass rate change $\\frac{dm}{dt}$ and the propellent speed $u$ are constants. The average velocity of gun powder propellent used in firework rockets is $u=250$ m/s [3,4]. \n",
"\n",
"$\\frac{d~state}{dt} = f(state)$\n",
"\n",
"$\\left[\\begin{array}{c} v\\\\a\\\\ \\frac{dm}{dt} \\end{array}\\right] = \n",
"\\left[\\begin{array}{c} v\\\\ \\frac{u}{m}\\frac{dm}{dt}-g-\\frac{c}{m}v^2 \\\\ \\frac{dm}{dt} \\end{array}\\right]$\n",
"\n",
"Use [two integration methods](../notebooks/03_Get_Oscillations.ipynb) to integrate the `rocket` function, one explicit method and one implicit method. Demonstrate that the solutions converge to equation (2.b) the Tsiolkovsky equation. Use an initial state of y=0 m, v=0 m/s, and m=0.25 kg. \n",
"\n",
"Integrate the function until mass, $m_{f}=0.05~kg$, using a mass rate change of $\\frac{dm}{dt}=0.05$ kg/s, . \n",
"\n",
"Compare solutions between the `simplerocket` and `rocket` integration, what is the height reached when the mass reaches $m_{f} = 0.05~kg?$\n"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [],
"source": [
"def rocket(state,dmdt=0.05, u=250,c=0.18e-3):\n",
" '''Computes the right-hand side of the differential equation\n",
" for the acceleration of a rocket, with drag, in SI units.\n",
" \n",
" Arguments\n",
" ---------- \n",
" state : array of three dependent variables [y v m]^T\n",
" dmdt : mass rate change of rocket in kilograms/s default set to 0.05 kg/s\n",
" u : speed of propellent expelled (default is 250 m/s)\n",
" c : drag constant for a rocket set to 0.18e-3 kg/m\n",
" Returns\n",
" -------\n",
" derivs: array of three derivatives [v (u/m*dmdt-g-c/mv^2) -dmdt]^T\n",
" '''\n",
" g = 9.81\n",
" dstate = np.array([state[1], ((u/state[2])*dmdt - g - (c/(state[2]))*state[1]**2),-dmdt])\n",
" \n",
" return dstate"
]
},
{
"cell_type": "code",
"execution_count": 118,
"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": [
"N = 100 \n",
"simple_rk2 = np.zeros([N,3])\n",
"rocket_y0 = 0\n",
"rocket_v0 = 0\n",
"rocket_m0 = 0.25\n",
"simple_rk2[0,0]= rocket_y0\n",
"simple_rk2[0,1]= rocket_v0\n",
"simple_rk2[0,2]= rocket_m0\n",
"for i in range(N-1):\n",
" simple_rk2[i+1] = rk2_step(simple_rk2[i],rocket, dt)\n",
"rk2_velocity = simple_rk2[:,1]\n",
"rk2_mass = simple_rk2[:,2]\n",
"plt.plot(Tsiolkovsky_v,Tsiolkovsky_m/m, label = 'Tsiokolvskys Equation', linestyle = '-', color = 'b')\n",
"plt.plot(rk2_velocity, rk2_mass/m, label = 'RK2 Explicit Integration - Rocket', linestyle = '--', color = 'r')\n",
"plt.xlabel('Velocity in m/s', fontsize = 12)\n",
"plt.ylabel('M(t) / M(0)', fontsize = 12)\n",
"plt.title('Explicit RK2 Integration and Tsikolvsky', fontsize = 16);\n",
"plt.legend(fontsize = 8);"
]
},
{
"cell_type": "code",
"execution_count": 120,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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DVf2yJ0bfjPyySeqIpo2DsBtt+Xqy5kCLvCmy8ceeyzgRvPIj969ex+3ry1btoR9nXnz5mmVKlX0oosu0lq1aunvv/+uqqpNmjTR6tWr665du47b5t5779WJEyceV162bFlt0qSJNmnSRF955RVVVR0zZozefPPNetNNN6W9XosWLVRVdfLkyTps2DBdv369dunSRVVVGzRooKqq119/va5atUpVVY8ePRqyTvD7eOihh1RVtXz58nrw4EFduHChDhw4MN02R48e1SZNmmhqaqr+/fff2qxZM01NTdXLL79cjxw5oosWLdImTZqktcFXX32lqqoHDhzQY8eOqapqUlKSHjhwQN9880191bvr3/f6W7du1VatWqmq6oIFC7Rv375hY4pk/fr1Wr58eU1MTNTKlSvrxo0bVVW1bdu2un79ej18+LDWrVtXDx8+HLKtOnbsqJ07d9Z58+apqur//vc/nTRpkqqqvvTSSzpp0qR08Qcq0Df8FnZt2sCwgFudX3kFXnopfH1j4kW3bt1YsmQJiYmJaUcAACNHjkz79e3z/vvvs3v3bjp37nzcfgJP/fXp0wdw015MmTIl3bUn3+CwtWvXDnvtZdeuXZx33nkAFCmSua+/GjVqUKJECSpWrHjcUeKuXbtYtWoVLVq0oFWrVmzdupWdO3dSpUoVihYtSu3atdPV9w1gu379eq666iqaNGnCqlWr2BHm/P6GDRvSRpwPHJA3UkxdunQhKSnpuCOtli1b8t1339GtWzdWrFgBwN69e6lWrRoJCQlUr16dHTt2hGyrL774goSEhLSjw1WrVvHCCy+QlJTEuHHjwsafXZao8oF774WbbvKvDxgA8+bFLh5jolW0aFHuv//+tNNa4Aabbdu2LbfffjsAP/zwA6NGjWLUqFFR73fw4MEMHTo03X59g8MuW7bsuAFrfU477TR++ukn4PhrRBmddgw1Krqv7NRTT+XCCy9k7ty5JCcns2zZMk477TR+/fVXjh07xg8//JBuX74v/tGjR3Pfffcxf/58atSogaqSkJCQNrWHT7Vq1dLeX+CAvKFi8pk4cSLJycnHJUmfe+65h2effRaAk046iQ0bNpCamsq6desoX758yLZq3rw5VapUSbvmd+6553LvvfeSnJzMokWL6NevX8j4s8sSVT4gAq+9Bt6PMI4ccdervDEwjcmSwYMH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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"N = 100 \n",
"simple_heun1 = np.zeros([N,3])\n",
"rocket_y01 = 0\n",
"rocket_v01 = 0\n",
"rocket_m01 = 0.25\n",
"simple_heun1[0,0]= rocket_y01\n",
"simple_heun1[0,1]= rocket_v01\n",
"simple_heun1[0,2]= rocket_m01\n",
"for i in range(N-1):\n",
" simple_heun1[i+1] = heun_step(simple_heun1[i],rocket, dt)\n",
"heun_velocity1 = simple_heun1[:,1]\n",
"heun_mass1 = simple_heun1[:,2]\n",
"plt.plot(Tsiolkovsky_v,Tsiolkovsky_m/m, label = 'Tsiokolvskys Equation', linestyle = '-', color = 'b')\n",
"plt.plot(heun_velocity1, heun_mass1/m, label = 'RK2 Explicit Integration - Rocket', linestyle = '--', color = 'k')\n",
"plt.xlabel('Velocity in m/s', fontsize = 12)\n",
"plt.ylabel('M(t) / M(0)', fontsize = 12)\n",
"plt.title('Implicit Heun Integration and Tsikolvsky', fontsize = 16);\n",
"plt.legend(fontsize = 8);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"3. Solve for the mass change rate that results in detonation at a height of 300 meters. Create a function `f_dm` that returns the final height of the firework when it reaches $m_{f}=0.05~kg$. The inputs should be \n",
"\n",
"$f_{m}= f_{m}(\\frac{dm}{dt},~parameters)$\n",
"\n",
"where $\\frac{dm}{dt}$ is the variable we are using to find a root and $parameters$ are the known values, `m0=0.25, c=0.18e-3, u=250`. When $f_{m}(\\frac{dm}{dt}) = 0$, we have found the correct root. \n",
"\n",
"Plot the height as a function of time and use a star to denote detonation at the correct height with a `'*'`-marker\n",
"\n",
"Approach the solution in two steps, use the incremental search [`incsearch`](../notebooks/04_Getting_to_the_root.ipynb) with 5-10 sub-intervals _we want to limit the number of times we call the function_. Then, use the modified secant method to find the true root of the function.\n",
"\n",
"a. Use the incremental search to find the two closest mass change rates within the interval $\\frac{dm}{dt}=0.05-0.4~kg/s.$\n",
"\n",
"b. Use the modified secant method to find the root of the function $f_{m}$.\n",
"\n",
"c. Plot your solution for the height as a function of time and indicate the detonation with a `*`-marker."
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {},
"outputs": [],
"source": [
"def f_m(dmdt,m0=0.25, c=0.18e-3, u=250):\n",
" ''' define a function f_m(dmdt) that returns \n",
" height_desired-height_predicted[-1]\n",
" here, the time span is based upon the value of dmdt\n",
" \n",
" arguments:\n",
" ---------\n",
" dmdt: the unknown mass change rate\n",
" m0: the known initial mass\n",
" c: the known drag in kg/m\n",
" u: the known speed of the propellent\n",
" \n",
" returns:\n",
" --------\n",
" error: the difference between height_desired and height_predicted[-1]\n",
" when f_m(dmdt)= 0, the correct mass change rate was chosen\n",
" '''\n",
" N = 100\n",
" u = 250\n",
" m_f = 0.05\n",
" m0 = 0.25\n",
" y_0 = 0\n",
" v_0 = 0\n",
" time_t = m0-m_f/dmdt\n",
" time = np.linspace(0,time_t,N)\n",
" dt = time[1]-time[0]\n",
" simple_rk2_t = np.zeros([N,3]) \n",
" height_desired = 300\n",
" simple_rk2_t[0,0]= y_0\n",
" simple_rk2_t[0,1]= v_0\n",
" simple_rk2_t[0,2]= m0\n",
" for i in range(N-1):\n",
" simple_rk2_t[i+1] = rk2_step(simple_rk2_t[i],lambda state: rocket(state, dmdt = dmdt,u=250,c=0.18e-3) , dt)\n",
" error = height_desired - simple_rk2_t[-1,0]\n",
" return error"
]
},
{
"cell_type": "code",
"execution_count": 76,
"metadata": {},
"outputs": [],
"source": [
"def incsearch(func,xmin,xmax,ns=50):\n",
" '''incsearch: incremental search root locator\n",
" xb = incsearch(func,xmin,xmax,ns):\n",
" finds brackets of x that contain sign changes\n",
" of a function on an interval\n",
" arguments:\n",
" ---------\n",
" func = name of function\n",
" xmin, xmax = endpoints of interval\n",
" ns = number of subintervals (default = 50)\n",
" returns:\n",
" ---------\n",
" xb(k,1) is the lower bound of the kth sign change\n",
" xb(k,2) is the upper bound of the kth sign change\n",
" If no brackets found, xb = [].'''\n",
" x = np.linspace(xmin,xmax,ns)\n",
" f = np.zeros(ns)\n",
" for i in range(ns):\n",
" f[i] = func(x[i])\n",
" sign_f = np.sign(f)\n",
" delta_sign_f = sign_f[1:]-sign_f[0:-1]\n",
" i_zeros = np.nonzero(delta_sign_f!=0)\n",
" nb = len(i_zeros[0])\n",
" xb = np.block([[ x[i_zeros[0]+1]],[x[i_zeros[0]] ]] )\n",
"\n",
" \n",
" if nb==0:\n",
" print('no brackets found\\n')\n",
" print('check interval or increase ns\\n')\n",
" else:\n",
" print('number of brackets: {}\\n'.format(nb))\n",
" return xb"
]
},
{
"cell_type": "code",
"execution_count": 77,
"metadata": {},
"outputs": [],
"source": [
"def mod_secant(func,dx,x0,es=0.0001,maxit=50):\n",
" '''mod_secant: Modified secant root location zeroes\n",
" root,[fx,ea,iter]=mod_secant(func,dfunc,xr,es,maxit,p1,p2,...):\n",
" uses modified secant method to find the root of func\n",
" arguments:\n",
" ----------\n",
" func = name of function\n",
" dx = perturbation fraction\n",
" xr = initial guess\n",
" es = desired relative error (default = 0.0001 )\n",
" maxit = maximum allowable iterations (default = 50)\n",
" p1,p2,... = additional parameters used by function\n",
" returns:\n",
" --------\n",
" root = real root\n",
" fx = func evaluated at root\n",
" ea = approximate relative error ( )\n",
" iter = number of iterations'''\n",
"\n",
" iter = 0;\n",
" xr=x0\n",
" for iter in range(0,maxit):\n",
" xrold = xr;\n",
" dfunc=(func(xr+dx)-func(xr))/dx;\n",
" xr = xr - func(xr)/dfunc;\n",
" if xr != 0:\n",
" ea = abs((xr - xrold)/xr) * 100;\n",
" else:\n",
" ea = abs((xr - xrold)/1) * 100;\n",
" if ea <= es:\n",
" break\n",
" return xr,[func(xr),ea,iter]"
]
},
{
"cell_type": "code",
"execution_count": 84,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"no brackets found\n",
"\n",
"check interval or increase ns\n",
"\n",
"[]\n",
"(20.044121335297344, [0.0015147298638567008, 9.11165696846698e-06, 8])\n"
]
}
],
"source": [
"mass_change_rates = incsearch(f_m, 0.05, 0.4, ns = 50)\n",
"root = mod_secant(f_m,0.001,0.05)\n",
"print(mass_change_rates)\n",
"print(root)"
]
},
{
"cell_type": "code",
"execution_count": 116,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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9+8nPT2dc845h02bNlGrVi1q1arFpk2bOHjwILfffjtNmjShSZMm3H777Rw8eBDIa6EYOXIkDRs25Mgjj2TMmMCQHEyZMoUuXbpQp04dmjVrxogRIwLbevf27lglJSVRq1YtfvjhB8aOHcspp5wS2Of777+nR48e1K1blx49evD9998Htp122mncf//9nHzyydSuXZuzzjqL7du3F/p5xMfH079/f95++20AsrOzmThxIkOGDMm332233UazZs2oU6cO3bp1Y/r06YFtI0aMYODAgQwdOpQ6deowduzYfHUzMzO57LLLuOiii8jIyCAnJ4fHH3+co446ivr163PxxRezY8cOIK/FZfTo0TRv3pwzzjjjkP+mIlK1dOjQgaVLl9KvXz9q1qxZ5L41a9bkggsuYMmSJXTo0KFU44imxGEX3iOZcUA9v2yev+xgZjUKqdcjZN+S1CsT0ZIlApxwwgmkpKQELoB33303K1asYP78+axatYqNGzfy4IMPkpiYyCeffEKTJk1IS0sjLS2NJk2a8MgjjzBjxgzmz5/PggULmDlzJg8//HDg+Js3b2b37t1s3LiR0aNHc9NNN7Fz504AEhMTGTduHLt27WLKlCm8+OKLfPjhhwB88803gHfbJi0tjRNPPDFf3Dt27KBv377ceuutpKamcscdd9C3b998LQYTJkxgzJgxbN26lYyMDP7xj38U+VlcccUVjBvnDfExdepUOnToQJMmTfLt06NHD+bPn8+OHTsYPHgwgwYNyvdY5EcffcTAgQPZtWtXvqRj//799O/fn+rVqzNx4kTi4+N57rnn+PDDD5k2bRqbNm3iiCOO4Kabbsp3vmnTprFs2TKmTp1aZOwiUjUlJibyzjvvMHLkSKpXr17gPtWrV2fkyJG8/fbbJCYmlnoM0ZQ49MZLGnYB2wGcc78Ac4F4YFBoBX8gpxS8gZx+yC0vbr2yEi1ZYq4mTZqwY8cOnHP8+9//5umnn6ZevXrUrl2bv/3tb4Fv4QUZP348w4cPp2HDhiQnJ/PAAw/wxhtvBLZXq1aN4cOHU61aNc4991xq1arFTz/9BHitAh07diQmJoZOnTpx2WWXMW3atLBinjJlCm3btuXyyy8nLi6Oyy67jGOPPZbJk/Oe3r366qs5+uijqVGjBhdffDHz588v8pgnnXQSO3bs4KeffmLcuHFcccUV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\n",
"text/plain": [
"<Figure size 576x432 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"mdif = 0.25 - 0.05\n",
"dmdt = 0.08\n",
"seconds = mdif/dmdt\n",
"time = np.linspace(0,seconds, 1000)\n",
"dt = time[1] - time[0]\n",
"N = int(seconds/dt)\n",
"#Setting up Explicit numerical solution data set using the rk-2 step method\n",
"rocket_sol = np.zeros([N,3]) \n",
" #Setting intial conditions\n",
"y0 = 0 #m\n",
"v0 = 0 #m/s\n",
"m0 = 0.25 #kg\n",
"rocket_sol[0,0] = y0\n",
"rocket_sol[0,1] = v0\n",
"rocket_sol[0,2] = m0 \n",
"for i in range(N-1):\n",
" rocket_sol[i+1] = rk2_step(rocket_sol[i],lambda state: rocket(state,0.08,u=250,c=0.18e-3) , dt)\n",
"# Now, num_sol_rocket_300 stores the numerical solution using the rk2 integration method for rocket\n",
"\n",
"y_300 = rocket_sol[:,0]\n",
"time_t = time[:-1]\n",
"plt.figure(figsize=(8,6));\n",
"plt.plot(time_t, y_300);\n",
"plt.title('Height of Rocket With Time', fontsize = 16);\n",
"plt.xlabel('Time (s)', fontsize = 12);\n",
"plt.ylabel('Height (m)', fontsize = 12);\n",
"plt.plot(time_t[-1], y_300[-1], '*', color = 'k', markersize = 14, label = 'Detonation Marker');\n",
"plt.legend(fontsize = 12);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## References\n",
"\n",
"1. Math 24 _Rocket Motion_. <https://www.math24.net/rocket-motion/\\>\n",
"\n",
"2. Kasdin and Paley. _Engineering Dynamics_. [ch 6-Linear Momentum of a Multiparticle System pp234-235](https://www.jstor.org/stable/j.ctvcm4ggj.9) Princeton University Press \n",
"\n",
"3. <https://en.wikipedia.org/wiki/Specific_impulse>\n",
"\n",
"4. <https://www.apogeerockets.com/Rocket_Motors/Estes_Motors/13mm_Motors/Estes_13mm_1_4A3-3T>"
]
}
],
"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
}