{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Modeling and Simulation in Python\n", "\n", "Chapter 5: Design\n", "\n", "Copyright 2017 Allen Downey\n", "\n", "License: [Creative Commons Attribution 4.0 International](https://creativecommons.org/licenses/by/4.0)\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# If you want the figures to appear in the notebook, \n", "# and you want to interact with them, use\n", "# %matplotlib notebook\n", "\n", "# If you want the figures to appear in the notebook, \n", "# and you don't want to interact with them, use\n", "# %matplotlib inline\n", "\n", "# If you want the figures to appear in separate windows, use\n", "# %matplotlib qt5\n", "\n", "# To switch from one to another, you have to select Kernel->Restart\n", "\n", "%matplotlib inline\n", "\n", "from modsim import *" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### SIR implementation\n", "\n", "We'll use a `State` object to represent the number or fraction of people in each compartment." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
value
S89
I1
R0
\n", "
" ], "text/plain": [ "S 89\n", "I 1\n", "R 0\n", "dtype: int64" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "init = State(S=89, I=1, R=0)\n", "init" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To convert from number of people to fractions, we divide through by the total." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
value
S0.988889
I0.011111
R0.000000
\n", "
" ], "text/plain": [ "S 0.988889\n", "I 0.011111\n", "R 0.000000\n", "dtype: float64" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "init /= sum(init)\n", "init" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`make_system` creates a `System` object with the given parameters." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def make_system(beta, gamma):\n", " \"\"\"Make a system object for the SIR model.\n", " \n", " beta: contact rate in days\n", " gamma: recovery rate in days\n", " \n", " returns: System object\n", " \"\"\"\n", " init = State(S=89, I=1, R=0)\n", " init /= sum(init)\n", "\n", " t0 = 0\n", " t_end = 7 * 14\n", "\n", " return System(init=init, t0=t0, t_end=t_end,\n", " beta=beta, gamma=gamma)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's an example with hypothetical values for `beta` and `gamma`." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "tc = 3 # time between contacts in days \n", "tr = 4 # recovery time in days\n", "\n", "beta = 1 / tc # contact rate in per day\n", "gamma = 1 / tr # recovery rate in per day\n", "\n", "system = make_system(beta, gamma)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The update function takes the state during the current time step and returns the state during the next time step." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def update1(state, system):\n", " \"\"\"Update the SIR model.\n", " \n", " state: State with variables S, I, R\n", " system: System with beta and gamma\n", " \n", " returns: State object\n", " \"\"\"\n", " s, i, r = state\n", "\n", " infected = system.beta * i * s \n", " recovered = system.gamma * i\n", " \n", " s -= infected\n", " i += infected - recovered\n", " r += recovered\n", " \n", " return State(S=s, I=i, R=r)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To run a single time step, we call it like this:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
value
S0.985226
I0.011996
R0.002778
\n", "
" ], "text/plain": [ "S 0.985226\n", "I 0.011996\n", "R 0.002778\n", "dtype: float64" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "state = update1(init, system)\n", "state" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can run a simulation by calling the update function for each time step." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def run_simulation(system, update_func):\n", " \"\"\"Runs a simulation of the system.\n", " \n", " system: System object\n", " update_func: function that updates state\n", " \n", " returns: State object for final state\n", " \"\"\"\n", " state = system.init\n", " \n", " for t in linrange(system.t0, system.t_end-1):\n", " state = update_func(state, system)\n", " \n", " return state" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The result is the state of the system at `t_end`" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
value
S0.520568
I0.000666
R0.478766
\n", "
" ], "text/plain": [ "S 0.520568\n", "I 0.000666\n", "R 0.478766\n", "dtype: float64" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "run_simulation(system, update1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Exercise** Suppose the time between contacts is 4 days and the recovery time is 5 days. After 14 weeks, how many students, total, have been infected?\n", "\n", "Hint: what is the change in `S` between the beginning and the end of the simulation?" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Using Series objects" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we want to store the state of the system at each time step, we can use one `TimeSeries` object for each state variable." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def run_simulation(system, update_func):\n", " \"\"\"Runs a simulation of the system.\n", " \n", " Add three Series objects to the System: S, I, R\n", " \n", " system: System object\n", " update_func: function that updates state\n", " \"\"\"\n", " S = TimeSeries()\n", " I = TimeSeries()\n", " R = TimeSeries()\n", "\n", " state = system.init\n", " t0 = system.t0\n", " S[t0], I[t0], R[t0] = state\n", " \n", " for t in linrange(system.t0, system.t_end-1):\n", " state = update_func(state, system)\n", " S[t+1], I[t+1], R[t+1] = state\n", " \n", " system.S = S\n", " system.I = I\n", " system.R = R" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's how we call it." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": true }, "outputs": [], "source": [ "tc = 3 # time between contacts in days \n", "tr = 4 # recovery time in days\n", "\n", "beta = 1 / tc # contact rate in per day\n", "gamma = 1 / tr # recovery rate in per day\n", "\n", "system = make_system(beta, gamma)\n", "run_simulation(system, update1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And then we can plot the results." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def plot_results(S, I, R):\n", " \"\"\"Plot the results of a SIR model.\n", " \n", " S: TimeSeries\n", " I: TimeSeries\n", " R: TimeSeries\n", " \"\"\"\n", " plot(S, '--', color='blue', label='Susceptible')\n", " plot(I, '-', color='red', label='Infected')\n", " plot(R, ':', color='green', label='Recovered')\n", " decorate(xlabel='Time (days)',\n", " ylabel='Fraction of population')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's what they look like." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Saving figure to file chap05-fig01.pdf\n" ] }, { "data": { "image/png": "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\nABM+ERGRFfh/W6KHxubI/98AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_results(system.S, system.I, system.R)\n", "savefig('chap05-fig01.pdf')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Using a DataFrame" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Instead of making three `TimeSeries` objects, we can use one `DataFrame`.\n", "\n", "We have to use `loc` to indicate which row we want to assign the results to. But then Pandas does the right thing, matching up the state variables with the columns of the `DataFrame`." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def run_simulation(system, update_func):\n", " \"\"\"Runs a simulation of the system.\n", " \n", " Add a DataFrame to the System: results\n", " \n", " system: System object\n", " update_func: function that updates state\n", " \"\"\"\n", " frame = DataFrame(columns=system.init.index)\n", " frame.loc[system.t0] = system.init\n", " \n", " for t in linrange(system.t0, system.t_end-1):\n", " frame.loc[t+1] = update_func(frame.loc[t], system)\n", " \n", " system.results = frame" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's how we run it, and what the result looks like." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SIR
00.9888890.0111110.000000
10.9852260.0119960.002778
20.9812870.0129360.005777
30.9770550.0139340.009011
40.9725170.0149880.012494
\n", "
" ], "text/plain": [ " S I R\n", "0 0.988889 0.011111 0.000000\n", "1 0.985226 0.011996 0.002778\n", "2 0.981287 0.012936 0.005777\n", "3 0.977055 0.013934 0.009011\n", "4 0.972517 0.014988 0.012494" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tc = 3 # time between contacts in days \n", "tr = 4 # recovery time in days\n", "\n", "beta = 1 / tc # contact rate in per day\n", "gamma = 1 / tr # recovery rate in per day\n", "\n", "system = make_system(beta, gamma)\n", "run_simulation(system, update1)\n", "system.results.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can extract the results and plot them." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nABM+ERGRFfh/W6KHxubI/98AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "frame = system.results\n", "plot_results(frame.S, frame.I, frame.R)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Exercise** Suppose the time between contacts is 4 days and the recovery time is 5 days. Simulate this scenario for 14 days and plot the results." ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Metrics" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Given the results, we can compute metrics that quantify whatever we are interested in, like the total number of sick students, for example." ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def calc_total_infected(system):\n", " \"\"\"Fraction of population infected during the simulation.\n", " \n", " system: System object with results.\n", " \n", " returns: fraction of population\n", " \"\"\"\n", " frame = system.results\n", " return frame.S[system.t0] - frame.S[system.t_end]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's an example.|" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.333 0.25 0.467162931836\n" ] } ], "source": [ "system.beta = 0.333\n", "system.gamma = 0.25\n", "run_simulation(system, update1)\n", "print(system.beta, system.gamma, calc_total_infected(system))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Exercise:** Write functions that take a `System` object as a parameter, extract the `results` object from it, and compute the other metrics mentioned in the book:\n", "\n", "1. The fraction of students who are sick at the peak of the outbreak.\n", "\n", "2. The day the outbreak peaks.\n", "\n", "3. The fraction of students who are sick at the end of the semester.\n", "\n", "Hint: If you have a `TimeSeries` called `I`, you can compute the largest value of the series like this:\n", "\n", " I.max()\n", "\n", "And the index of the largest value like this:\n", "\n", " I.idxmax()\n", "\n", "You can read about these functions in the `Series` [documentation](https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.html)." ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": true, "scrolled": true }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": true, "scrolled": true }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### What if?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can use this model to evaluate \"what if\" scenarios. For example, this function models the effect of immunization by moving some fraction of the population from S to R before the simulation starts." ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def add_immunization(system, fraction):\n", " \"\"\"Immunize a fraction of the population.\n", " \n", " Moves the given fraction from S to R.\n", " \n", " system: System object\n", " fraction: number from 0 to 1\n", " \"\"\"\n", " system.init.S -= fraction\n", " system.init.R += fraction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's start again with the system we used in the previous sections." ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.3333333333333333, 0.25)" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tc = 3 # time between contacts in days \n", "tr = 4 # recovery time in days\n", "\n", "beta = 1 / tc # contact rate in per day\n", "gamma = 1 / tr # recovery rate in per day\n", "\n", "system = make_system(beta, gamma)\n", "system.beta, system.gamma" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And run the model without immunization." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.46832081102878098" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "run_simulation(system, update1)\n", "calc_total_infected(system)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now with 10% immunization." ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.30650802853979753" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "system2 = make_system(beta, gamma)\n", "add_immunization(system2, 0.1)\n", "run_simulation(system2, update1)\n", "calc_total_infected(system2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "10% immunization leads to a drop in infections of 16 percentage points.\n", "\n", "Here's what the time series looks like for S, with and without immunization." ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Saving figure to file chap05-fig02.pdf\n" ] }, { "data": { "image/png": "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\nk5WV5bNNVlYWDQ0NFBcX92RRzwvbt29n1apVPP744z7pUo+dV1VVxZEjR/D39+fGG28kNzeXq6++\nmg8//BCQujwXkZGRjBo1ivfff5+6ujocDgdLliwhLCyMsWPHSl2ewcyZM0lOTm533dnqbffu3Qwe\nPJiwsDDv+tDQUBITEzsVkyTgn8G5zu4nOmYymVi0aBGTJk1i5MiR1NXVERIS4pOn9Y+4td6Fh8Vi\nYfHixTz44IM+c1AAUo/noHVykWXLlvHYY4+xefNmZs6cyQMPPMD27dulLs/Ryy+/TFlZGXl5eYwc\nOZJXX32VP/7xj0REREhd/kBnq7f6+vo261vzdCYmScD/gdqb3U+0r6ysjBtvvJGIiAhefPHF3i7O\neeell15iyJAhXHfddb1dlPOacnKMsdbOUv7+/txyyy1kZmayYsWKXi7d+cVut3PnnXeSnJzM5s2b\n2b59O/PmzWPu3LkUFhb2dvEGpM7EJAn4Z3D67H6nO5fZ/Qa6vXv3MnPmTEaNGsVrr72Gv78/4GkS\nbK9eAaKionq8nH1Va1P+k08+2e56qcfOi46OBvBpDgXPRFyVlZVSl+dg27ZtHDhwgMWLFxMVFUVg\nYCA33XQTCQkJfPDBB1KXP9DZ6i0iIqLN+tY8nYlJPT6W/vnkXGf3E74OHz7MXXfdxT333MNtt93m\nsy4nJ6fNPacdO3YQFRV1xpkQB5oPPviAlpYWrrnmGm+ayWRi7969fPrpp1KP5yA6OprQ0FD27dvH\nZZdd5k0/duwYmZmZBAcHS112ktvtBtrOve5yuVAURf4uf6Cz1VtOTg6vvPIKtbW13gvSmpoajh8/\n3rkJ47qq52F/9eijjypXXXWVcvToUaWlpUV5/fXXlezsbKW0tLS3i9anOZ1OZfr06coLL7zQ7vpd\nu3YpGRkZyurVqxWbzabs3btXGTdunPL666/3cEn7toaGBqW8vNxnmTVrlvLMM88oVVVVUo/n6G9/\n+5uSm5urbNmyRbHZbMq7776rDB8+XDlw4IDU5TlobGxUxo0bpyxYsECpq6tTrFarsmzZMmX48OHK\nrl27pC47ob1e+merN6fTqfzsZz9T7r//fqWurk6pra1V7rvvPuWaa65RnE7nWY8pk+echd1u5/nn\nn2f16tXe2f0WLlzIqFGjertofdr27du56aab0Ol0be4tXXvttTz11FOsW7eOP/3pTxQXFxMZGcns\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot(system.results.S, '-', label='No immunization')\n", "plot(system2.results.S, 'g--', label='10% immunization')\n", "\n", "decorate(xlabel='Time (days)',\n", " ylabel='Fraction susceptible')\n", "\n", "savefig('chap05-fig02.pdf')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can sweep through a range of values for the fraction of the population who are immunized." ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.0 0.468320811029\n", "0.1 0.30650802854\n", "0.2 0.161365457006\n", "0.3 0.0728155898425\n", "0.4 0.035520216753\n", "0.5 0.0196887157825\n", "0.6 0.0116220579983\n", "0.7 0.00683873780062\n", "0.8 0.00369649625371\n", "0.9 0.00148153267227\n", "1.0 -0.000161212109412\n" ] } ], "source": [ "immunize_array = linspace(0, 1, 11)\n", "for fraction in immunize_array:\n", " system = make_system(beta, gamma)\n", " add_immunization(system, fraction)\n", " run_simulation(system, update1)\n", " print(fraction, calc_total_infected(system))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This function does the same thing and stores the results in a `Sweep` object." ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def sweep_immunity(immunize_array):\n", " \"\"\"Sweeps a range of values for immunity.\n", " \n", " immunize_array: array of fraction immunized\n", " \n", " returns: Sweep object\n", " \"\"\"\n", " sweep = SweepSeries()\n", " \n", " for fraction in immunize_array:\n", " system = make_system(beta, gamma)\n", " add_immunization(system, fraction)\n", " run_simulation(system, update1)\n", " sweep[fraction] = calc_total_infected(system)\n", " \n", " return sweep" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's how we run it." ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "collapsed": true }, "outputs": [], "source": [ "immunize_array = linspace(0, 1, 21)\n", "infected_sweep = sweep_immunity(immunize_array)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here's what the results look like." ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Saving figure to file chap05-fig03.pdf\n" ] }, { "data": { "image/png": "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\n9dZbBg3SlAUGis51AFErPyhI9LRHREQkl6xkb2trizVr1iAqKgoxMTHIyMiAvb092rVrB9+it56k\nd15egJsbkJAg2tsfOQI89ZTSURERUXUiK9l/8803ePnll9G+fXu0b99ea9utW7fw008/ITQ01CAB\nmjqVStzdr10rlvftE53umJWrOyQiIjJlslLG4sWL8fDhQ53bEhMTsVadicggAgIAGxsx/+ABEBOj\nbDxERFS9lHln379//8Jn9C+++CLMzc21tqs71XFRd/dGBmFpCfToAai7M9izB2jXTtmYiIio+igz\n2c+bNw9RUVH46quv4OXlBSsrqxL72NvbY+TIkQYLkITevYGdO4GCAjHOfVwc0KCB0lEREVF1UGay\n79q1K7p27YqbN2/igw8+gK2tbWXFRcU4OgLt2wOnT4vlvXuBceOUjYmIiKoHWc/sIyIi8Ndff2Hb\ntm1a61esWIGzZ88aJDAqKTBQM3/iBJCerlwsRERUfchK9nv27MGYMWNw4sQJrfVXrlzB2LFjceDA\nAYMER9qaNQMaNxbzeXnA4cPKxkNERNWDrGS/fPlyTJo0CeHh4VrrFy5ciClTpmDx4sUGCY60qZvh\nqe3fD+TnKxYOERFVE7KS/fXr1zFs2DCd25577jnExsbqNSgqXceOgL29mE9JAaKilI2HiIiqPlnJ\n3t7evtSE/vfff8POzk6vQVHpLCyAXr00y3v3KhcLERFVD7J60HvmmWfw7rvv4rXXXoO3tzdsbGyQ\nlpaGM2fO4JtvvsELL7xg6DipiJ49gT//FM/tr18HbtwAmjRROioiIqqqZCX7N954Aw8ePEB4eDgk\nSSpcb25ujueeew7Tp083WIBUkr29KM4/flws79kDTJyobExERFR1yUr2lpaW+PTTT/HWW2/hwoUL\nSE9Ph5OTE1q2bAlnZ2dDx0g6BAZqkv3p08ALLwAODsrGREREVZOsZK9Wr149BAYGIj09Hba2tlCp\nVIaKix6jcWPAwwP45x/Rq97Bg8BzzykdFRERVUWyx047cOAARo0ahXbt2iEgIABxcXHIyMjA+++/\nj3y2/1JE376a+YMHgdxc5WIhIqKqS1ay//PPPxESEgILCwtMnjwZFhaiQCAjIwMHDx7E8uXLDRok\n6ebnJ7rRTUwUbe5ffBEIDwdOnVI6MiIiqkpkJftvvvkG//nPf7BmzRq89tprhaPfubq6Yu7cudi0\n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\nrrxwaNlw7QAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot(infected_sweep)\n", "\n", "decorate(xlabel='Fraction immunized',\n", " ylabel='Total fraction infected',\n", " title='Fraction infected vs. immunization rate',\n", " legend=False)\n", "\n", "savefig('chap05-fig03.pdf')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If 40% of the population is immunized, less than 4% of the population gets sick." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Logistic function" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To model the effect of a hand-washing campaign, I'll use a [generalized logistic function](https://en.wikipedia.org/wiki/Generalised_logistic_function), which is a convenient function for modeling curves that have a generally sigmoid shape. The parameters of the GLF correspond to various features of the curve in a way that makes it easy to find a function that has the shape you want, based on data or background information about the scenario." ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def logistic(x, A=0, B=1, C=1, M=0, K=1, Q=1, nu=1):\n", " \"\"\"Computes the generalize logistic function.\n", " \n", " A: controls the lower bound\n", " B: controls the steepness of the transition \n", " C: not all that useful, AFAIK\n", " M: controls the location of the transition\n", " K: controls the upper bound\n", " Q: shift the transition left or right\n", " nu: affects the symmetry of the transition\n", " \n", " returns: float or array\n", " \"\"\"\n", " exponent = -B * (x - M)\n", " denom = C + Q * exp(exponent)\n", " return A + (K-A) / denom ** (1/nu)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following array represents the range of possible spending." ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0., 60., 120., 180., 240., 300., 360., 420.,\n", " 480., 540., 600., 660., 720., 780., 840., 900.,\n", " 960., 1020., 1080., 1140., 1200.])" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "spending = linspace(0, 1200, 21)\n", "spending" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`compute_factor` computes the reduction in `beta` for a given level of campaign spending.\n", "\n", "`M` is chosen so the transition happens around \\$500.\n", "\n", "`K` is the maximum reduction in `beta`, 20%.\n", "\n", "`B` is chosen by trial and error to yield a curve that seems feasible." ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def compute_factor(spending):\n", " \"\"\"Reduction factor as a function of spending.\n", " \n", " spending: dollars from 0 to 1200\n", " \n", " returns: fractional reduction in beta\n", " \"\"\"\n", " return logistic(spending, M=500, K=0.2, B=0.01)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's what it looks like." ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Saving figure to file chap05-fig04.pdf\n" ] }, { "data": { "image/png": "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\nSerNnz+fLVu2TLLfJ0+e8PZz9epVJhAIJCuFeXp6stGjR/PqpKWlsdjYWFZSUsIYY0wgELBJkybx\n6qxcuZL169dP8trOzo4Xv0AgYDY2Nrz3eHp6MmNjY8nrgQMHssWLF/PqLF26lAkEAnb16tVK28HM\nzIytW7eOV75161a2f/9+mY/79u3bTCAQsK1bt0rqxMbGMoFAwHbt2iVV9vDhQ8bYh3/jCxcu8PY/\nePBg9u233zLGGCssLGTPnz9nmZmZvDqWlpZs1apVktdDhgxhixYtYowxduPGDSYQCNi1a9ck27Oy\nspixsTGztLTkvWfAgAGsoKBAUubn58cEAgFLS0ursM1CQ0OZQCBgqampkrLi4mJ29+5dySp0dnZ2\nrHfv3rw6L168YAKBgB04cIAxxthPP/3EhEIhe//+vaROTk4OMzU1ZRs3buS164YNG3gxjB49mjk6\nOjLGGEtMTGQCgUDyWRabPHkyEwgELD8/XxJTfXymGGNs7NixzMHBgVcmPpbK3if+v1x2db+IiAg2\nYsQIJhAImEAgYIMGDWLu7u7s8uXLku8JWfadm5vLBAIB++WXX3jl/fv3Z56enpUeB6kaDSoklVJT\nU5PqxhX75ptveK9btGiBQ4cO4dq1a3j37h1KSkpQVFSEoqIiFBYWonXr1pK6ffv2lfy9ffv2AIDM\nzEwAXLewoqIiunXrJqmjoqKCnj17VhmrgoIC+vfvj8jISNja2iI8PBy6urqwtraGn58fioqKICcn\nh8jISMkVU9u2bXH16lW4u7vj1atXKCgokHTLiuMZMmQIjh49itmzZ2PChAn46quv0KVLF0ncYsbG\nxrzX7du3x/v376uMuaL35OXlobCwEIwxvH37Fl9++SWvzuDBg3HmzJlK95mUlISsrCz06dOHV162\n612W4xYr+/tVVVUrLSt/rEKhkPe6d+/ekitCeXl5vHnzBhs3bkRcXByysrIAACKRSOr3i4lvvxgY\nGEjKVFRUYGJiIjW63MDAAAoKCpLXZT9j5f/dAMDExATt27eHnZ0dpk6dCgsLC+jr60sdg46ODjQ0\nNHivlZWVJccVExODvn37QklJSVKnXbt2MDIywsOHD3n7Kvt/QByj+NifPn0KANDX1+fVMTY2RkxM\njFT85euU329NP1MAkJqaCiMjoyrryMLU1BTnz5/H3bt3cevWLURERODs2bM4efIkBg4ciN27d/P+\n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\nfzq4BzrtAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "percent_reduction = compute_factor(spending) * 100\n", "\n", "plot(spending, percent_reduction)\n", "\n", "decorate(xlabel='Hand-washing campaign spending (USD)',\n", " ylabel='Percent reduction in infection rate',\n", " title='Effect of hand washing on infection rate',\n", " legend=False)\n", "\n", "savefig('chap05-fig04.pdf')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Exercise:** Modify the parameters `M`, `K`, and `B`, and see what effect they have on the shape of the curve. Read about the [generalized logistic function on Wikipedia](https://en.wikipedia.org/wiki/Generalised_logistic_function). Modify the other parameters and see what effect they have." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Hand washing" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can model the effect of a hand-washing campaign by modifying `beta`" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def add_hand_washing(system, spending):\n", " \"\"\"Modifies system to model the effect of hand washing.\n", " \n", " system: System object\n", " spending: campaign spending in USD\n", " \"\"\"\n", " factor = compute_factor(spending)\n", " system.beta *= (1 - factor)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's start with the same values of `beta` and `gamma` we've been using." ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.3333333333333333, 0.25)" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tc = 3 # time between contacts in days \n", "tr = 4 # recovery time in days\n", "\n", "beta = 1 / tc # contact rate in per day\n", "gamma = 1 / tr # recovery rate in per day\n", "\n", "beta, gamma" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can sweep different levels of campaign spending." ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.0 0.332887143272 0.466770231236\n", "100.0 0.332134252669 0.464141650401\n", "200.0 0.330171608455 0.457217006313\n", "300.0 0.325386471865 0.439887202912\n", "400.0 0.315403905242 0.401630646271\n", "500.0 0.3 0.33703425949\n", "600.0 0.284596094758 0.267317030568\n", "700.0 0.274613528135 0.22184699046\n", "800.0 0.269828391545 0.200791598416\n", "900.0 0.267865747331 0.192392183393\n", "1000.0 0.267112856728 0.189213207818\n", "1100.0 0.26683150821 0.18803175228\n", "1200.0 0.266727403413 0.187595503995\n" ] } ], "source": [ "spending_array = linspace(0, 1200, 13)\n", "\n", "for spending in spending_array:\n", " system = make_system(beta, gamma)\n", " add_hand_washing(system, spending)\n", " run_simulation(system, update1)\n", " print(spending, system.beta, calc_total_infected(system))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's a function that sweeps a range of spending and stores the results in a `Sweep` object." ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def sweep_hand_washing(spending_array):\n", " \"\"\"Run simulations with a range of spending.\n", " \n", " spending_array: array of dollars from 0 to 1200\n", " \n", " returns: Sweep object\n", " \"\"\"\n", " sweep = SweepSeries()\n", " \n", " for spending in spending_array:\n", " system = make_system(beta, gamma)\n", " add_hand_washing(system, spending)\n", " run_simulation(system, update1)\n", " sweep[spending] = calc_total_infected(system)\n", " \n", " return sweep" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's how we run it." ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "collapsed": true }, "outputs": [], "source": [ "spending_array = linspace(0, 1200, 20)\n", "infected_sweep = sweep_hand_washing(spending_array)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here's what it looks like." ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Saving figure to file chap05-fig05.pdf\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgQAAAF0CAYAAABcyCHKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XtczfcfB/DX6Uo3l0JELtkpuihJyFxyN2PG3Nnmfh9D\nzI+ZZjMz1zYM2cxchtncr6HcohUi19GsC4WUJDrq8/vju3NydPGNTif1ej4e5+F8Pt/bu+OczrvP\n93NRCCEEiIiIqFQz0HcAREREpH9MCIiIiIgJARERETEhICIiIjAhICIiIjAhICIiIjAhKDUCAgLg\n6OiY78PX11ez/7NnzzBp0iS4ubnBw8Mjz7riTG68AwcORMeOHYswsvxNmzYNjo6OePr0qb5DyZP6\n/XT37l1Z+8XGxhZRZCWfo6Mjpk2blu8+vr6+GDhw4Cud/+uvv0bDhg3h5uaGO3fuvNI5CkL9fif9\nM9J3AFS0li5dimrVquW6zcTERPP8+PHj2LVrF/r27YuuXbvmWVeYLl68iB49euDq1auFcj5dx0sv\n16tXL7Rq1QqVK1fWdyiFbs2aNThy5AjWrVtXpMfKsXz5chgbGxf4uOvXr2Pt2rVo164dBg8ejAoV\nKhRqXElJSWjWrBkOHTqE6tWrAwDGjh2L/v37F+p16NUwIShl6tatCwcHh5fu9+DBAwBAx44d0bBh\nwzzrCtNff/1VqOfTdbz0clWqVEGVKlX0HYZOhIWF6eVYOV71L271Z6Z169Y6+cyEh4fjxbnwqlev\nrkkOSL94y4ByGDhwoKZJ8sMPP4Sjo2OudWrHjh1D//794e7uDg8PD/Tt2xchISE5zhsUFIQ+ffrA\n3d0db7/9Nvz8/JCQkKC55ty5cwFAc738HDp0CL1794a7uzsaNGiA999/Hzt27Mj3Z3iZmJgYDBky\nBB4eHmjUqBGmTJmCtLQ0rX1+//13dO/eHW5ubvDy8kK/fv1w6tSpHK9ft27dcPPmTQwZMgQNGzaE\nj48Ppk+fjkePHmntu3btWvj6+sLFxQXvvPMOdu3a9dI4J02ahGbNmmnVnTt3Do6Ojhg8eLBW/bZt\n2+Do6IgbN24AkJIudUzu7u549913sX79eq1jVCoVli5dig4dOqBBgwbw9vbGxx9/nGvC9uTJE3z+\n+efw9vaGm5sbBg4cqLkWkPOWgTqeyMhIzJ8/H2+//TY8PDzQu3dvREZGap370qVLGDBgABo0aIDm\nzZtj0aJFCA8Ph6OjI7Zt25bva/TkyRN89913aNOmDVxcXODt7Y3x48fj5s2bmn1iY2Ph6OiIn3/+\nGdu2bUOnTp3g5uaGDh064M8//8z3/I6Ojjh8+DDOnDkDR0dHBAQEAAAyMzOxcuVKdOzYES4uLmjU\nqBGGDBmi9bPldeyTJ0+wZMkSzfuhefPmGD9+PG7dupVvLLl58ZaBnPfktGnTNMdMnz5d6/8tMjIS\nQ4cOhaenp+bztn379hzXDQ8Px0cffQQPDw80bdoUY8aM0bzm06ZNw9ixYwEAbdq00dyizO2WwdWr\nVzFq1Cg0btwYLi4uaN++PZYsWYKMjAzNPur31p07d/C///0PTZs2haenJz7++GNER0drnW/t2rV4\n9913NZ/tPn364NChQwV+XUs8QaXC0qVLhVKpFH///fdL971x44Zm/40bN4rIyMhc64QQ4siRI8LR\n0VEMGzZMhISEiKNHj4oRI0YIJycncfToUc059+/fL5RKpZg8ebI4fvy42L17t2jVqpXo3LmzSE9P\nFzdu3BAjRowQSqVSc7287N69WyiVSjFu3Dhx+PBhERISIvz8/IRSqRSbN2/O82fIy4ABA0Tr1q1F\nr169xKZNm8SpU6fE7NmzhVKpFIsXL9bst3XrVqFUKsXs2bNFWFiYOHr0qOjVq5dwdnYWV65c0Tqf\nr6+v6NKli9i4caM4ffq0mDt3rlAqleLLL7/U7PfHH38IpVIpxo8fL0JCQsSePXtEr169RIcOHYRS\nqRRPnjzJNd4tW7YIpVIpoqOjNXU//vijaNy4sXB3dxcqlUpTP23aNNGyZUshhBDXr18Xrq6uYuDA\ngeLYsWMiNDRUTJs2TfMaqc2bN0+4u7uLDRs2iL/++ksEBQWJDz/8ULi6uop///1XCJH9fho8eLBY\nvHixCA0NFWvXrhUuLi6iX79+mnOp94uJiRFCCPH7778LpVIp+vXrJ2bOnClOnjwptm/fLho3biy8\nvb3F06dPhRBCJCUlicaNG4uWLVuKP//8UwQHB4tRo0aJPn36CKVSKX7//fc8/z+FEGLo0KHC1dVV\nrFy5UoSGhoqdO3eK9u3bi8aNG4vExEQhhBAxMTFCqVSKvn37igEDBogjR46I4OBg0b17d6FUKsWF\nCxfyPH9kZKTw8fER3bt3F5GRkeLOnTtCCCFmzZolnJycxMKFC8XJkyfF/v37xQcffCBcXV0175G8\njvXz8xPOzs7il19+EeHh4eLPP/8UPj4+om3btuLx48eaayuVSjF16tR8f/7WrVuLAQMGaMpy3pMx\nMTFi48aNQqlUiqVLl4rIyEjx9OlTERUVJVxdXUWvXr3EoUOHxPHjx8Vnn32W431z/vx5Ub9+fTFk\nyBBx5MgRcejQIdGlSxfh4+Mj7t69K2JiYsSMGTOEUqkUQUFBmtdj6tSpQqlUas7zzz//CA8PD/Hu\nu++KXbt2idDQULFs2TJRv359MWnSJM1+6vfWgAEDxMKFC0VoaKjYsGGDcHV1FV26dNHs9+uvv4p6\n9eqJH3/8UYSFhYmQkBDxySefCCcnJ/HXX3/l+zqWNkwISomCJARCZP/iDg0NzbeuU6dO4t133xUZ\nGRmaOpVKJTp27Ci6deumqevcubP44IMPtK5x8OBB0ahRIxEcHCyEyPmLIS9t27YVnTp1Es+ePdPU\nZWVlia5du4pWrVrlG29uBgwYIJRKpQgJCdHUZWZmiiZNmoiePXtq6n788UcxduxYrWMvX74slEql\nWLJkSY7zHThwQCs+Hx8f0blzZ01d9+7dxdtvv631BX7//n3h6uqab0IQHx8vlEql2Lp1q6Zu8ODB\n4uuvvxb16tUT58+f19S3bt1afPbZZ0IIIYKCgsTQoUPFrVu3NNtVKpXw9vYW/fv319S9++67YvTo\n0VrXfPjwoVixYoUmUVO/n7777jut/caNGyeUSqVIT0/X2u/FhGDkyJFax82fP18olUpN7D///LNQ\nKpXi8OHDWrG+8847L00IwsLChFKpFCtWrNCqj4qK0kry1AmBj4+P1hducHCwUCqVYtWqVXleQ4ic\nX7pxcXHC0dFRzJw5U2u/u3fvCmdnZzFlypQ8j83KyhKTJ0/Weh89/zqcOnVKU/eqCYGc92RoaGiO\n13fo0KHCx8dHPHz4UOsaH374ofD29ta8f4cNGyZatGih9bvg0qVLwsPDQ/z2229CiJzvByFyfu4/\n++wzUb9+fREfH691vS+//FIolUrN+1d9rueTbCGEmDBhglAqleL+/ftCCCFGjhyp9btICCGePXsm\nfvzxR63PCgnBWwalTOfOnfMcZZBbE2B+bt++jRs3bqB9+/ZaHZiMjIzQqlUrXL58GU+ePEFCQgL+\n/vvvHM3cbdu2RVhYGFq0aCH7mvHx8fj333/h6+sLQ0NDTb1CoUDLli0RHx+PuLi4Av0cAFCmTBk0\nb95cUzYwMEDVqlU191QBYPjw4ZrmXTV7e3sA0mvxPENDQ7Ru3VorvurVqyMlJQUAkJGRgStXrsDL\nywtGRtldeSpWrIgGDRrkG2vVqlVRq1YthIeHA5BGU0RERKBp06ZwcnLSNO2rXwv1z+Xr64tVq1Zp\nYgak/ys7Ozut+CtVqoTQ0FDs3r1b00RraWmJESNGoE6dOlqxtG3bVqus7rD6/OuWmxePq1GjBgDg\n4cOHAKQmYwMDA633jJGRkazOoaGhobleo379+qhUqVKOWx8+Pj4oW7ZsnrHIdebMGQghclzXxsYG\nLi4u+faRUSgUmD9/PsaPH69VX7NmTQAolN7+L3tP5kalUiE0NBRvv/02LC0ttba1a9cODx48wK1b\ntyCEwMmTJ9G4cWOt3wX16tVDREQEevXqJTvO06dPw9nZGVWrVtWqb9WqFQBo3vdqeb2X1D9XpUqV\ncP36dWzYsEFze8TQ0BDDhw+Hm5ub7LhKA3YqLGV++OEH2NnZ5botr9EHeVHf/w8ICMjxRamWmJio\n+WDa2NgU6Pz5XTO3jmqVKlXSXDOvnzEv1tbWUCgUWnVGRkbIysrSlB88eICVK1ciKCgId+7c0RoW\nKF7oKFW+fHmtL3oAMDY21uz34MEDZGZm5tr7Xk6PfB8fH5w4cQKANDrjyZMn8PDwgKenJ8LCwjB4\n8GCcOXMGBgYGaNq0KQDp/va6deuwY8cO3Lp1S6s/w/Ov15dffomxY8fi008/hampKRo2bIh27drh\nvffeg7m5eY7X7cXXTH2t/Lz4XlB/iahf76SkJFhZWcHU1FRrvxcTktwkJiYCyP09UrlyZc12ubHI\n9bL35sWLF/M9/sqVKwgMDERoaCiSkpLw7NkzzbaCxpKbl70nc5OcnIyMjAxs27Ytz34biYmJqFCh\nAlQqVaF9xuvXr5+j/vnPd271ai/+/02ePBkxMTGYPXs2vvrqK7i6usLX1xc9e/ZExYoVXzvekoQJ\nQSlTu3ZtWaMMCuLjjz9Gt27dct1WuXJlpKamApD+2nhdL35pP0/9i83AoPAbvoQQGDx4MK5du4bh\nw4ejadOmsLS0hEqlwgcffFCgOOVc62WaNWuG9evXIykpCWfOnIFSqUS5cuXg6emJHTt2QAiBM2fO\noH79+pqhY/PmzcPatWvRpUsXTJgwAdbW1jAwMICfn59W58lq1aph27ZtOHfuHI4cOYJjx47B398f\ngYGB+O2333L8An4VL3t9nj59+lqvYV6EEDneH4V1nZe9N/N7X96+fRv9+vVD2bJlMW7cODg6OqJM\nmTKIiIiAv7+/zuN7mXfeeQfDhg3LdVv16tU1CaAuP+Pqz0VBfw4rKyv89NNPuHr1Ko4cOYKQkBAs\nXLgQgYGBWL9+PerWrfvaMZcUTAjolamb9DIzM1GvXr2X7vdis7oQAqmpqTA1Nc3xl2BebG1tAeTe\nhJrfX2iv69q1a5pe75988omm/t9//32l85UvXx4GBga4f/9+jm3x8fEvPd7b2xuGhoYIDw/H6dOn\n4eXlBQBo1KgRkpOTcf36dYSFhaFz586aY7Zv3w6lUokFCxZonevhw4dat1/U3N3d4e7ujokTJ+LU\nqVP46KOPsGnTJowbN66gP26BlStXDg8fPoRKpdJqgpbzeqvfIwkJCbCwsNDalpiYiLfeeqtwg/2P\n+n13586dHL3mExIS8n1fHjp0CGlpaZg7dy46dOigqX9Zq4KuVahQAaampnjy5Em+n3EAKFu2bI7P\nOACkpqbCyMhI67ZMfmxtbXXy+VbfGh05ciSuXLmCvn37YvXq1fjmm29e6XwlEfsQ0CurUqUKHBwc\nsH//fq3hQACwevVqbNiwAYB0X7xWrVo4cuSIVjOo+ovs4MGDALIz//yam21tbVGnTh0cPnxYqxk1\nKysLR48eRe3atTVfCIVJHdOL5/75559fGnNuTE1NUbduXZw8eVLr2MTERFlfApaWlnB1dcWZM2cQ\nERGhSQhsbGxQs2ZN7N+/H//++y98fHw0xzx79ixH/Pv27cOdO3c0MSQnJ2PWrFk5hgA2adIEFhYW\nL+0bUFjq1auHzMxMrfvumZmZsvq5qH9m9ftK7dy5c7h3716Oviyv4/n/uyZNmsDQ0DDHcLY7d+7g\n0qVLmls3uR2rfv78fXOVSqX5DBX0/VVYjIyM4O3tjePHjyMpKUlr2++//45ly5Zp/nJv2LAhTp48\nqXUrKiYmBo0aNcIvv/wCIPsznt8tkGbNmiEqKipHYhwUFARDQ0M0adJEdvwqlQpz585FcHCwVr2T\nkxOqV69eZO/nNwVbCEqZv//+G48fP85ze506dXLcJ87PpEmTMHbsWHz88ccYOXIkjI2NcejQIaxb\ntw5+fn6a/SZMmKB5DBo0CPfu3cPChQvx1ltvaToFqZuif/zxRyiVyhydhV685qeffooePXogKysL\n27Ztw40bN/Lsy/C66tSpAxsbG2zcuBEODg4oW7Ystm3bBlNTU1SuXBkREREICwuDp6en7HP27dsX\ns2fPxsSJE9G7d288fPgQ33//PWrXro1r16699PimTZti06ZNePz4sSYhAABPT09s2LABZmZmWlM2\nN27cGMeOHcPmzZtRp04dhIaG4vDhw+jQoQMOHjyIQ4cOwcvLC5GRkQgJCcGYMWNQp04dPH36FDt3\n7kRaWprWX6+69O677+KHH37AF198gQkTJsDCwgK//fZbjj4LuWnQoAHatWuH5cuXw9TUFC4uLoiL\ni0NAQADs7OzQt2/fQomxcuXKuHz5MrZv3w47Ozs0atQIAwcOxC+//AIbGxs0adIE9+/fx8qVK2Fm\nZobhw4fne6xCocCiRYswcuRIpKamYuXKlfD19cWlS5dw+PBhuLq6wsnJqVBiL4jx48ejX79+GDRo\nECZMmIBy5crh9OnTWLFiBXr16qX5kh87diwGDRqEESNGYMyYMXjy5Am+//57VKpUCT179gSQ/Rn/\n5Zdf0LBhw1zfT8OHD8eePXswevRojBo1CuXKlUNoaCi2bNmCgQMHFqiFwNjYGLGxsZgyZQrGjx8P\nJycnCCFw9OhRXL9+HUOGDCmEV6jkYEJQyrzYi/lF69evR6NGjWSfr02bNli5ciVWrFiB8ePH49mz\nZ3BwcMC8efPw3nvvafbr1KkTDA0NsWLFCgwdOhQmJibw9fWFn58fypQpAwDo3bs3goOD8cMPP8DR\n0THPhKBt27ZYvnw5li9fjrFjx0KhUMDJyQk//vgjWrZsKTv2gihTpgyWLl2Kr776ChMnTkSFChXQ\nrVs3jBs3Dr/99hsWLFiAiRMn4vDhw7LP2a9fPzx8+BAbN27E4cOHUaNGDYwePRqXLl2SlRD4+Phg\n+fLlqFOnjlbnKE9PT2zbtg2tW7fWam7/4osvMGvWLMybNw9GRkZo3rw5Vq5ciZiYGJw9exZTp07F\nqlWrsGbNGixatAgBAQG4f/8+LC0t4eDggBUrVsDb27tgL9wrqlatGpYvX4558+ZhypQpqFKlCvr3\n7w8HBwecOHHipfeRFy5ciICAAKxbtw4JCQkoV64c3n77bXz66ac5esu/qtGjR2P69On43//+h759\n+6JRo0aYOnUqKlWqhC1btmDVqlUwMzND48aNsWDBAq3Z+F489n//+x/8/f2xcuVKDBs2DPb29hg6\ndCjee+893Lp1CwcOHIChoSG+//77Qom9IFxdXbF+/XosXboUU6dOxdOnT1G9enVMnjwZgwYN0uzX\nsGFDrFmzBkuWLMHo0aOhUCjQpEkTLFq0SJPIde7cGTt27MCmTZuwf//+XD/jdnZ22LhxIxYsWIAZ\nM2YgPT0d9vb28PPzw0cffVTg+BcsWIAlS5bg559/RmJiIsqUKYOaNWti7ty5Wr+jCFAIOT2YiIiK\ngT179mDixIkICAhA+/bt9R0OUYnCPgREVOzExMRgypQpOe7HHzt2DABe2sGNiAqOtwyIqNipUqUK\nzp8/jxMnTiA1NRXVq1fHiRMn8Oeff6J9+/aayWeIqPDwlgERFUvx8fFYuHAhQkNDkZycjEqVKqFj\nx4745JNPNP1OiKjwMCEgIiKi0nnL4MmTJ7h48SIqVaqU64QsREREJU1mZibu3r0LFxeXXFvZSmVC\ncPHiRfTv31/fYRARERW5vIaXl8qEQD05xvr163Uyqx0REVFxc+fOHfTv3z/P9UhKZUKgvk1ga2ur\nNVkIERFRSZfXrXLOQ0BERERMCIiIiIgJAREREYEJAREREYEJAREREYEJAREREYEJAREREaGUzkNQ\n2MLCgL17gdu3gapVgU6dAC8vfUdFREQkHxOC1xQWBqxeDWRlAUIAsbFSGWBSQEREbw4mBK9p717g\n3j3g2jXg2TNAoQCMjIArV4D27QEzM6BsWenx4vO8tikUbHUgIqKixYTgNd2+Ddy9KyUDgNRKoFJJ\ndf/+W/DzKRRAcjJw9aqUWBgZAZcvAydOAD16AD4+QIUKQMWKAJeEJyKiwsKE4DVVrSp9gaenS4/M\nTKne3PzVzicE8PffwJMnObetWgWEh2eXy5bNTg4qVsz5vEIFKaFQY6sDERHlhQnBa+rUCYiLAxo2\nlMpZWVJS0Ls34OQEPH4sJQqPH2c/V5dz+/fJE+l5btLStMvqc8XH5x2flZWUGDx8CPz1F2BqKj3S\n0qQEA2BSQERETAhem/rLdN8+6Yu5enWgY8dX/5LNygI+/xyIiZFuQ6hUUpLw9KnU6uDoCDx4ACQl\nZd+myM/Dh9IjPDxnQmFkJHWCHDECqF0bqFVLSiCIiKj0YUJQCLy8Cu+vbAMDoFu37JEKzxs6NPs6\nQgCPHkmJgTpBUP+rfp6cLO0H5N7q8OwZ8M8/wJ492XUVKmQnB7VrA/b27KtARFQaMCEohl5sdahW\nLWerg0IBWFpKj5o1cz9PVpaUFDx4IJVjY6WWhvR0IDVVan14sa/DgwfSIyIi+zpVq2YnCLVqAXZ2\nQB7LaRMR0RuKCUExVRitDgYG2Z0Mhw7VbnUQQkoOfH2lIY/R0dKoCJVK+xxCSElJfDxw8qRUZ2Qk\ntRzUqiU9kpOB0FDgzh12ViQielMxISgl5LQ6ZGZK2/75J/sRF5d920Ht2TPg5k3pkZgozblgZASU\nLy8Nt4yN1b4mEREVf0wISpGXtToYGgI1akiPt9+W6p4+lVoOnk8S7t3LPiYmRvr32TOp/t49wMRE\n6si4cKGUeBARUfHHhIDyZWoKvPWW9FBLTQVu3ZJuM0RFARkZ2rcaMjKAyEhg9mzplkKzZlIiYmZW\n5OETEZFMTAiowCwtARcX6XH2rHSLID0dSEiQbiGoh0gC2a0KmzcDHh5ScuDkJPVvICKi4oMJAb2W\nTp2kzopmZtmjEB48kFoUUlKy50p49kyaKTEsTBra2LSp9KhcWa/hExHRf5gQ0GvJrbPisGFSfVoa\ncOaMNDrh+XUdHjyQ5j7Ys0dKHJo1Azw9pdsTRESkH0WeEKSnp2PevHkICQlBSkoK6tati/Hjx8PH\nx+elxw4ZMgTHjx/H1atXNXWOjo4wNjaGQqHQ2jc8PBwmJiaFHj/llFdnRXNzoHVr6REbKyUGp09L\nEyqpXb8uPTZtkpKCZs2AunWl+Q+IiKjoFHlC4O/vj0uXLiEwMBDVqlXDH3/8gZEjR2L79u2oU6dO\nnsdt2bIF58+fz3VbYGAgvL29dRUyFYLq1YFevYD33wcuXJCSg4sXpcmTAKnfwcmT0qNSJcDGRuqT\nkJzMuQ2IiIpCkXbtSklJwc6dOzFu3DjUrl0bpqam6NOnDxwcHLBp06Y8j7t9+zbmz5+PkSNHFmG0\npAtGRlLnwjFjgHnzpCWdq1bV3icqCvjxR2D7dmm0wtWrUj+FsDD9xExEVBoUaUIQFRUFlUoFV1dX\nrXo3N7c8//oHgBkzZqBnz545jlNbt24d2rVrh0aNGqFv377466+/CjVu0g0rK6B9e2DWLOCzz4AW\nLaQlndVzGwghrctw9qw0zPH5NReIiKhwFWlCkJSUBAAoX768Vn2FChVw//79XI/ZvHkz4uPj8ckn\nn+S63dnZGc7Ozvjjjz9w8OBBODo6YsiQIYhVT5dHxZ5CIY1O6N8fmD9fWpuhQoXsfgRCSAnBrl3S\nEEYiIip8xWY0+IudAgEgPj4e8+fPx9dffw3TPLqgb9u2DaNGjYKFhQUqVKiAGTNmwNzcHNu3b9d1\nyKQDxsZAgwaAqyvQqBFQrpz29m++AbZty7nmAhERvZ4iTQisra0BAMnJyVr1Dx48gI2NTY791bcK\nPDw8ZF/DyMgI1apVQ0JCwusFS3rTqZP0b9mygJubNOrA0FDqmCgEsH8/8OWXwI0b+o2TiKgkKdKE\nwMXFBSYmJjh37pxWfUREBBo1aqRVFxcXhxMnTmDr1q3w9vaGt7c3Ro8eDQDw9vbG7t27ERUVhTlz\n5iBL3VUdQEZGBmJiYlAzrzWBqdjz8pJWZ6xeXUoEGjcGFi2S+hioJSRItxc2b5ZGKBAR0esp0mGH\nlpaW6NGjBwICAqBUKmFra4sNGzYgLi4Offr0QWRkJPz8/LBmzRrY2toiODhY6/izZ89iwoQJ2L59\nO8qVK4eUlBRs27YNRkZGGDt2LDIzM7FgwQIAQPfu3YvyR6NCltvcBm3bAsePA1u3Ak+eSK0FQUHA\n+fPAhx8CSqV+YiUiKgmKfB6C6dOn49tvv0W/fv2QlpaGevXqYfXq1bCzs0NsbCyio6OhUqlgaGgI\nW1tbrWMrVqwIAJr6smXLYs2aNVi4cCF8fX2hUqng6emJDRs2aPalkkOhkFZhdHYGfv1VGp4ISCss\nLlgAtGwpzXNQpox+4yQiehMphHhxtfuSLzY2Fm3atEFQUBCqV6+u73DoFQgBnDoFbNkCPH6cXV+x\nIjBwIFC/vv5iIyIqjl723VdsRhkQFYRCIU1zPGuWNCpBLSkJWLIE+OUX7USBiIjyx4SA3mjlywOj\nRkmdENVLLgPAiRPA7NnSTIdERPRyTAjojadQSB0Qv/hCWiBJLTkZ+OEHYM0aaeVFIiLKGxMCKjGs\nrIDhw4ERIwBLy+z606elZOHsWb2FRkRU7BX5KAMiXWvYEHB0BH77TUoGAODhQ2DFCsDaWmpRSEri\nKopERM9jQkAlkrk5MHiwNP3x+vXS7YPERCAkRJoeWamUll5evVran0kBEZV2vGVAJZqbmzQSwccn\nexVFlQq4dAlQr6e1b5/+4iMiKi6YEFCJZ2YGDBokrYmgnrRICODyZanlID5ev/ERERUHTAio1Khf\nH3B3lxZNAqRbBlFRUsJARFTaMSGgUqNTJ8DERFpaWb2admYmcPu29CAiKs2YEFCpoV5FsW5dqW9B\nhQqAk5M0RHHx4uw+BUREpRFHGVCp8vwqiv/8AyxcKC2fnJwsJQVTpkjzGRARlTZsIaBSq1YtYPRo\nwOi/tDiWUegiAAAgAElEQVQxUVoHgWsgEFFpxISASjUnJ2DYMGmyIgCIjQW+/x7IyNBvXERERY0J\nAZV67u7SsES1GzeAH38Enj3TX0xEREWNCQERpKWUe/XKLl+8CPz0kzQ0kYioNGBCQPSfNm2Ad97J\nLv/1F7BxozSJERFRSceEgOg5774LtG6dXQ4JAbZv1188RERFhQkB0XMUCqB3b8DbO7tu717gwAH9\nxUREVBSYEBC9QKEAPvxQmrxI7fffgePH9RcTEZGuMSEgyoWhITB8OPDWW9l1v/4KREToLyYiIl1i\nQkCUB2NjYMwYwN5eKgsBrF4tLZ1MRFTSMCEgykfZssD48UCVKlI5MxNYvhy4eVO/cRERFTYmBEQv\nYWkJTJwoLYYESLMYBgRIsxoSEZUUTAiIZKhQQUoKLC2l8uPH0roHd+/qNy4iosLChIBIpipVpNsH\nZcpI5YcPpRUSk5P1GxcRUWFgQkBUAPb2wNixUodDALh3T2opSEvTb1xERK+LCQFRAb31FjBiBGDw\n36fn3DmgWzdpmKK/PxAWpt/4iIheBRMColfg6gp8/LHUh+DKFSAuDrhwAYiJkYYmMikgojcNEwKi\nV9S4MVC+fHY5OVlKCABg3z79xERE9KqYEBC9BlNToGbN7HJMjDQCIT5efzEREb0KJgREr6FqVamj\noXo4YlYWcP26VE9E9CZhQkD0Gjp1khZDUiqlfwEgJQWoVk2/cRERFZSRvgMgepN5eUn/7tsndTBM\nSgKqVweioqR5Cqys9BsfEZFceSYEMereUTLVqFHjtYMhehN5eUmPjAxg9mxpboLHj4HNm4GhQ/Ud\nHRGRPHkmBO3atYNC3QYqw+XLlwslIKI3lYkJ0L+/NFERIA09bNoUcHbWb1xERHLkmRB8+eWXmudP\nnz7FqlWr0KBBA7i7u8Pc3BwPHz5EeHg4rl27hk8++aRIgiUq7urXB7y9gdOnpfL69cCsWdJoBCKi\n4izPhOCDDz7QPJ81axYGDBiAYcOGae0zbNgwrFixAmFhYejWrZusC6anp2PevHkICQlBSkoK6tat\ni/Hjx8PHx+elxw4ZMgTHjx/H1atXNXVJSUn46quvEBYWhvT0dNSrVw9+fn5wcXGRFQ9RYfvgA+Di\nRWk64/v3gV27gB499B0VEVH+ZI0y2LdvH9q3b5/rto4dO+LgwYOyL+jv74+zZ88iMDAQJ0+eRPfu\n3TFy5EjcfMkC81u2bMH58+dz1E+YMAFJSUnYvHkzjh49ioYNG2LIkCF48OCB7JiICpOlJdCzZ3b5\n0KHsCYuIiIorWQlBRkYGbty4keu26OhoZGRkyLpYSkoKdu7ciXHjxqF27dowNTVFnz594ODggE2b\nNuV53O3btzF//nyMHDlSq/7atWs4ffo0/Pz8YGtrC3Nzc4wdOxYKhQI7duyQFRORLjRtKg1FBKS5\nCdatk/4lIiquZA07bNWqFT777DMMGjQITk5OKFu2LNLT03HhwgVs3LhRVnM/AERFRUGlUsHV1VWr\n3s3NLde//tVmzJiBnj175jju/PnzMDY2hpOTU/YPZGQEZ2fnfM9HpGsKBTBggLTY0bNnwK1bwJEj\nQJs2+o6MiCh3shICf39/fP7551i+fDmePXumqTcwMECLFi3g7+8v62JJSUkAgPLPTwAPoEKFCrh/\n/36ux2zevBnx8fFYtmwZzp07l+N85cqVyzEaonz58rh3756smIh0pUoV4J13gO3bpfL27YCHB1Cx\non7jIiLKjayEwNLSEosWLUJaWhqio6ORlpaGsmXLolatWrAqpJlXchviGB8fj/nz52PlypUwLWA3\n7YIMmSTSlfbtgTNngNu3gadPgY0bgdGjs2c1JCIqLgo0dbG5uTmqVq2KcuXKwcnJqcDJgLW1NQAg\nOTlZq/7BgwewsbHJsb/6VoGHh0ee50tJSYEQQqs+OTk51/MRFTUjI2DgwOxyZCRw9qz+4iEiyovs\nhGDjxo1o1aoVmjdvjvfffx8JCQlISkrCkCFDkJaWJuscLi4uMDExydH0HxERgUaNGmnVxcXF4cSJ\nE9i6dSu8vb3h7e2N0aNHAwC8vb2xe/dueHh4QKVSISoqSnNcRkYGLly4kON8RPri4AC0aJFd3rRJ\nmsmQiKg4kZUQrF+/Hl999RWaNm2KuXPnwtjYGAAghEBiYiIWL14s62KWlpbo0aMHAgICEB0djfT0\ndAQGBiIuLg59+vRBZGQkOnbsiPj4eNja2iI4OBg7d+7E9u3bsX37dsyZMwcAsH37dvj6+sLBwQEt\nWrTAvHnzkJCQgEePHuG7776DqakpunTp8oovCVHh6949e12DlBTgjz/0Gw8R0YtkJQTr1q3D1KlT\nMXfuXLz33nswMJAOs7a2xvTp07Fv3z7ZF5w+fTqaNGmCfv36wdvbGwcOHMDq1athZ2eH9PR0REdH\nQ6VSwdDQELa2tlqPiv/1xrK1tUXZsmUBAAsWLEDVqlXRpUsXNG/eHNevX8dPP/0ECwuLgr4WRDpj\nZgb07ZtdDgkB8hjJS0SkF7I6FcbHx6NVq1a5brO3ty/QJEAmJiaYMWMGZsyYkWObt7e31iyEcrZb\nWVnh22+/lX19In3x8ADc3KR+BIA0N8GMGVI/AyIifZPVQmBra4tr167luu3vv//W/OVORHlTKKRW\nAvWAmdu3gQMH9BsTEZGarISgSZMmmDVrFnbt2oWkpCQoFAo8evQIx48fx5w5c/Kc1piItFWsCDy/\n7Mfu3UBCgv7iISJSk9VY6efnh+joaEyePBkKhQJCCLz//vsApGTh008/1WmQRCVJ69bSaoi3bkmz\nGK5fD0ycyLkJiEi/ZCUEFhYWWLduHSIiIhAZGYlHjx7BysoK7u7ucHNz03WMRCWKgYE0N8HXX0vr\nG1y9Cpw6BTRrpu/IiKg0k5UQrFixAh999BEaNmyIhg0bam2LiYnBxo0b4efnp5MAiUqiGjWAtm2z\n+xBs3Qq4ukorJRIR6YOsPgRLlizB4zxmUklMTMSvv/5aqEERlQZdugD/Td6JtDRgyxb9xkNEpVu+\nLQTt27fX9Bno1asXDA0NtbarJyaqUqWKToMkKolMTYF+/YCAAKl8+rS0bHK9evqNi4hKp3wTgi++\n+AIRERH4/vvv4ejomOsCQ1ZWVujTp4/OAiQqyVxcAC8vICxMKv/6KzBrFmBiot+4iKj0yTchaNas\nGZo1a4Zbt25h1qxZnP2PSAd69QKioqT1De7dk4Yidu+u76iIqLSR1Ydg/vz5uH79Onbv3q1Vv2rV\nKpzl0m1Er8XKCujRI7t84AAQG6u/eIiodJKVEAQFBWHAgAE4ffq0Vv2VK1cwcOBABAcH6yQ4otLC\nxwd46y3peVaWdOsgK0u/MRFR6SIrIVi2bBmGDh0Kf39/rfoFCxZg9OjRWLJkiU6CIyotFApgwIDs\ndQ2iowHm2URUlGQlBDdv3kTPnj1z3da1a1dER0cXalBEpZGtLdCpU3b5zz+BAqwbRkT0WmQlBFZW\nVnl+6f/999+w5GwqRIWiY0cpMUhMBE6ckNY98PfPHoVARKQrsmYq7NKlC/73v/9hzJgxcHFxgbm5\nOR4+fIjw8HCsWLECPZ7vEUVEr8zISFoiefNmqZyWJi2XHBcnlb289BcbEZVsshKCTz75BPfv34e/\nvz+EEJp6Q0NDdO3aFRMnTtRZgESlTVQUULWqtDwyIPUnqFgR2LePCQER6Y6shMDExATffPMNPv30\nU1y8eBGpqamwtraGk5MTbGxsdB0jUaly+zZQuzZw9660GuLjx9LzFyYKJSIqVLISArXKlSvD19cX\nqampsLCwgILrtRIVuqpVpVsEdnbSEskA8O+/gIeHfuMiopJNVqdCAAgODkbfvn3h7u4Ob29vxMbG\n4tGjR/j888+RmZmpyxiJShX1SAM7u+xhiI8fSyskEhHpiqyEYO/evRg5ciSMjIwwbNgwGP33W+rR\no0cICQnBsmXLdBokUWni5QUMHQrUqiUlARYWgJOT1JeAkxURka7ISghWrFiBUaNGYd26dRgzZoxm\n1UNbW1vMmDEDf/zxh06DJCptvLyAmTOBrVulWQwrVwYSEjj8kIh0R1ZC8M8//6Bbt265bqtfvz4S\nExMLNSgikpiZAW3aZJd372YrARHphqyEwNraGrfVY6BeEBsbCysrq0INioiytWkDlC0rPU9IAP76\nS7/xEFHJJCsh8PDwwKxZs3KsbBgdHY1vvvkGLVq00ElwRMRWAiIqGrISAj8/PwBAv3794OHhgSdP\nnuC9995D586doVKpMGXKFJ0GSVTatWkDlCkjPb9zBwgP1288RFTyyJqHoEqVKti5cyf27duHyMhI\npKWlwcrKCg0aNEDbtm1hYmKi6ziJSjUzM6BtW2DXLqm8axfg6QkYyB44TESUvzwTgjlz5mD8+PGw\nsrLCzJkzMW3aNHTt2hVdu3YtyviI6D9t2gCHDgFPnmS3EnAqYyIqLHn+fbFlyxacP38emZmZ2Lp1\nKx4/foysrKw8H0SkW+xLQES6lGcLgYuLC4YPHw4AEELk23FQoVDg0qVLhR8dEWlp0wYICpJaCW7f\nBiIigEaN9B0VEZUEeSYEAQEB2LFjB5KTk7FixQoMGjQIZdVjn4hIL8zNAV9fYM8eqbxrF9CwIfsS\nENHryzMhqFixIj766CMAwJkzZzBmzBjON0BUDLRtCxw+zFYCIipcsv6u2LBhA5MBomJC3UqgtmsX\nIIT+4iGikkHWsMOkpCQsXboU58+fR3JyMsQLv30UCgWOHDmikwCJKKcXWwnCw9lKQESvR1ZCMHPm\nTISEhKBx48ZwcHCAQqHQdVxElA9zc6B1a2DvXqm8e7c0LwE/mkT0qmQlBGfOnMHSpUvRunVrXcdD\nRDK1aye1Ejx9CsTHS30JPD31HRURvalk9SEwMjJC3bp1dR0LERUA+xIQUWGSlRB06NABQUFBuo6F\niAqoXTvA1FR6Hh8PvLD+GBGRbLJuGTRv3hxLlizBhQsX0KBBA5iZmeXYp2fPnoUeHBHlT91KoO5L\nsHMn4OHBvgREVHCyEoKxY8cCAK5fv47du3fn2K5QKGQnBOnp6Zg3bx5CQkKQkpKCunXrYvz48fDx\n8cmxrxACq1evxtatW3H79m2YmZmhXbt2mDx5MsqVKwcAcHR0hLGxcY6OjuHh4Vx0iUoF9YgDdV+C\ns2elyYqIiApCVkJw4MCBQrugv78/Ll26hMDAQFSrVg1//PEHRo4cie3bt6NOnTpa+65atQq//PIL\nli1bBhcXF/zzzz8YNWoU/P39sWDBAs1+gYGB8Pb2LrQYid4kFhbSiIN9+6Tyrl1sJSCigpPVh8De\n3v6lDzlSUlKwc+dOjBs3DrVr14apqSn69OkDBwcHbNq0Kcf+zs7OWLRoEdzc3GBgYIA6deqgZcuW\nuHz5csF+SqIS7vm+BHFx7EtARAWXZwuBn58fPv/8c1hYWMDPzy/fkygUCsybN++lF4uKioJKpYKr\nq6tWvZubG86fP59j/+dvI2RmZiIyMhIHDhxA//79tfZbt24dZsyYgQcPHuCtt97CpEmT0IiztFAp\nYmEBtGoF7N8vlXfvZisBERVMngnB6dOnoVKpAAChoaH5TkYkd6KipKQkAED58uW16itUqID79+/n\nedyyZcsQEBAAExMTjBw5EsOGDdNsc3Z2hrOzM7755huoVCosWbIEQ4YMwe7du1G9enVZcRGVBO3a\nAUePSn0JYmOBc+ekpICISI48E4Lg4GDN85CQEJ0Hkl9SMXr0aAwfPhwXL17EtGnTcO/ePcycORMA\nsG3bNq19Z8yYgQMHDmD79u0YM2aMTmMmKk4sLbVbCXbtAtzd2UpARPIU6aKp1tbWAIDk5GSt+gcP\nHsDGxibfY42MjODu7o5JkyZh/fr1SE1NzXO/atWqISEhoXCCJnqDtGsHqAfXqFsJiIjkKNKEwMXF\nBSYmJjj3wm+piIiIXO/5Dxw4ECtXrtSqy8jIAAAYGhoiKioKc+bMQVZWltb2mJgY1KxZUwc/AVHx\nZmkpjThQ4+yFRCRXkSYElpaW6NGjBwICAhAdHY309HQEBgYiLi4Offr0QWRkJDp27Ij4+HgAQOPG\njREYGIiwsDBkZmYiOjoaK1euRIsWLWBmZgZra2ts27YN3377LR49eoSUlBTMmTMHANC9e/ei/NGI\nio0XWwly6a9LRJSDrHkICtP06dPx7bffol+/fkhLS0O9evWwevVq2NnZITY2FtHR0ZrOjKNHj0aZ\nMmUwdepU3L17F9bW1mjZsiUmTpwIALC1tcWaNWuwcOFC+Pr6QqVSwdPTExs2bEDFihWL+kcjKhbU\nfQnU04fs2gU0aMC+BESUP4UQpa9BMTY2Fm3atEFQUBBHIlCJlJoKTJ8O/HeHDaNHS0kBEZVeL/vu\nk91C8PTpU0RHRyM5ORm55RBNmzZ9vUiJqNC82Eqwcyfg5sZWAiLKm6yEICQkBH5+fkhJScmxTQgB\nhULB2QOJipn27YEjRwCVCoiJASIj2UpARHmTlRDMnz8ftWrVwoABA1CxYkXZExERkf6oWwkOHpTK\nbCUgovzISghiYmKwZcsWvPXWW7qOh4gKUfv20uyFbCUgopeRNeywWrVqyMzM1HUsRFTIrKykVgI1\nzktARHmRlRCMHTsWixcvznN2QCIqvtq3B4yNpef//gtcuKDfeIioeJJ1y+DQoUOIjo5GixYtUKtW\nLZiZmWltVygU+PXXX3USIBG9HisroGVL4NAhIDERmDgReOstoFo1oFMnwMtL3xESUXEgKyG4c+cO\nrK2tNWsRvDjssBROZUD0RunQAdi8GbhyRSpXqCDdOli9WiozKSAiWQnBhg0bdB0HEemQlRVg8NwN\nwn//BSpWlEYc7NvHhICICjh1cVxcHC5fvoxHjx7BysoKzs7OqFKliq5iI6JCZGEhJQVZWdJMhg8e\nSEnBf0uHEFEpJyshSEtLw6RJkxAcHKx1e8DAwADdunXDl19+CSOjIl8WgYgKoGZN4NYtIC5OKv/7\nr3TroFo1/cZFRMWDrG/xBQsWIDIyEjNmzECDBg1gbm6O1NRUREREYPny5ahcubJmwSEiKp46dQJu\n3gRu35ZaCR4+lB4dO+o7MiIqDmSPMvD390fbtm216t3c3FCpUiUsWLCACQFRMeflBYwZA8ybB1y6\nBJibS60D7D9ARIDMeQiSkpLg6OiY6zY3NzckJiYWalBEpBteXsDy5UCLFkDDhkBaGvDPP/qOioiK\nA1kJgY2NDS7kMZtJVFQUbGxsCjUoItKdSpWAxo2zy3v26C8WIio+ZN0y6NChA2bPno2kpCR4eHjA\nwsICqampCA8Px7Jly/D+++/rOk4iKkSdOgGnT0vPz58HYmOBXJZHJ6JSRFZC8OmnnyIhIQFfffVV\njm3vvPMO+w8QvWGqVgU8PICzZ6Xy3r3AsGH6jYmI9EtWQmBqaorFixcjLi4Oly5dwqNHj2BpaQln\nZ2dUrVpV1zESkQ507pydEISHA127ApxWhKj0KtDkAXZ2drCzs9NVLERUhOztARcX4OJFaRrjffuA\nDz/Ud1REpC95JgT9+/fH8uXLYWVlhf79++d7Ei5uRPRm6txZSggAIDQU6NIF+G/JEiIqZfIcZfD8\njIRZWVkQQuT5yMrKKpJgiahwOTgASqX0PCsLOHBAv/EQkf7k2ULw/IJGGzduLJJgiKjode4MXLsm\nPT9+XCqXK6ffmIio6Mmah6BDhw5ITk7Oddvly5fRvHnzQg2KiIqOkxNQq5b0/Nkz4OBBvYZDRHqS\nb6fCiIgIAMCtW7dw7tw5WFlZaW0XQuDYsWN4+PCh7iIkIp1SKIB33gF++EEqh4RI6xtYWOg3LiIq\nWvkmBBMnTkRCQgIUCgVGjRqV6z5CiBxrHBDRm8XVVZqYKDYWePoUCAoCunXTd1REVJTyTQiCg4MR\nFxeHNm3aYMGCBTlaCACgXLlycHV11VmARKR7CoU0e+GqVVL5yBGgfXugbFn9xkVEReel8xDY2dnh\np59+gpeXF4yMtHfPysqCgYGsbghEVMw1bChNTJSQAKSnA0ePSkkCEZUOsr7NPT09MWfOHMyePVur\nfsiQIfjiiy+QkZGhk+CIqOgYGEh9B9QOHZJuHxBR6SArIVi8eDH27dsHDw8Prfr33nsPQUFBWLp0\nqU6CI6Ki5e2dPTHRo0fSMEQiKh1kJQT79u3D/Pnz0bVrV636bt264ZtvvsEerp9KVCIYGgIdOmSX\nDxyQhiISUcknKyG4f/8+7O3tc91Ws2ZN3L9/v1CDIiL9adYse2Ki5GTg5En9xkNERUNWQlC3bl3s\n2rUr123r169HnTp1CjUoItIfY2OgXbvs8v790rTGRFSyyVrtcPTo0Rg3bhyCg4Ph6uoKc3NzpKSk\nICIiAjdu3GAfAqISpkULYO9eIC0NuHcPOHMGaNJE31ERkS7JaiFo06YNAgMDYWVlhV27dmH16tUI\nCgqCnZ0d1q5dy4mJiEoYU1Pg+Y/13r3SEslEVHLJaiEAgKZNm6Jp06Y56lUqFWJiYlCjRo1CDYyI\n9KtVK+l2wZMnwJ07wNmz0lwFRFQyvfasQjdv3sT7779fGLEQUTFiZga0bp1d3rOHrQREJZmsFoKM\njAwEBATg2LFjWqseCiGQlJQEGxsbnQVIRPrTpo20rkFGBhATA1y8KK17QEQlj+yJiTZt2gR7e3vc\nu3cP9evXR61atXD//n107NgRq1ev1nWcRKQHlpbA229nl9lKQFRyyZ6YaMGCBVi6dCmMjY3x2Wef\n4eeff8aePXtw7do1pKWlyb5geno6vvjiC/j6+sLT0xO9e/fGiRMnct1XCIFVq1ahQ4cOcHNzQ5Mm\nTTBz5kykpKRo9klKSsKkSZPQokULeHl5YdCgQbh48aLseIgof+3bA+plTG7eBK5d0288RKQbshKC\nxMREODo6AgAMDQ01axfY29vDz88PX3/9tewL+vv74+zZswgMDMTJkyfRvXt3jBw5Ejdv3syx76pV\nq7B27VrMnz8f586dw4YNG3DmzBn4+/tr9pkwYQKSkpKwefNmHD16FA0bNsSQIUPw4MED2TERUd7K\nl5cmK1LjxKREJZOshMDS0hKJiYkAgIoVKyI6Olqzzd7eHlevXpV1sZSUFOzcuRPjxo1D7dq1YWpq\nij59+sDBwQGbNm3Ksb+zszMWLVoENzc3GBgYoE6dOmjZsiUuX74MALh27RpOnz4NPz8/2Nrawtzc\nHGPHjoVCocCOHTtkxUREL9ehg7T4EQBcuSK1FBBRySIrIfDx8YGfnx8SEhLg6emJ+fPnIywsDNeu\nXcOyZctQsWJFWReLioqCSqWC6wu9ktzc3HD+/Plcr+vl5QUAyMzMxNmzZ3HgwAF0794dAHD+/HkY\nGxvDyclJc4yRkRGcnZ1zPR8RvRobG6Bx4+zy3r36i4WIdENWQjBlyhRUrFgRWVlZGDlyJNLS0jBo\n0CB069YNO3bswJgxY2RdLCkpCQBQvnx5rfoKFSrkux7CsmXL4OLigo8++gi9e/fGsGHDNOcrV64c\nFAqF1v7ly5fn+gpEhaxTJ0D9UYuMlEYdEFHJIWvYYZUqVbB+/XpNef/+/Th16hQyMjLg6upaKJMS\nvfil/rzRo0dj+PDhuHjxIqZNm4Z79+5h5syZr3w+Iio4W1vAwwOIiJDKe/cCw4frNyYiKjyyWgg+\n++wzrfkHzM3N0bZtW3Tu3LlAyYD1fwutP38uAHjw4MFL5zIwMjKCu7s7Jk2ahPXr1yM1NRXW1tZI\nSUmBeGEcVHJyMudGINKBzp2zn0dESDMYElHJICshCAkJwZ1C+OS7uLjAxMQE586d06qPiIhAo0aN\ncuw/cOBArFy5UqtOPcLB0NAQHh4eUKlUiIqK0tp+4cKFXM9HRK+nRo3siYmEYF8CopJEVkIwY8YM\nzJ8/H6GhoUhNTUVWVlaOhxyWlpbo0aMHAgICEB0djfT0dAQGBiIuLg59+vRBZGQkOnbsiPj4eABA\n48aNERgYiLCwMGRmZiI6OhorV65EixYtYGZmBgcHB7Ro0QLz5s1DQkICHj16hO+++w6mpqbo0qXL\nq78qRJSn51sJzpyRVkMkojefrD4EX331FTIyMvDxxx/nul2hUODSpUuyLjh9+nR8++236NevH9LS\n0lCvXj2sXr0adnZ2iI2NRXR0NFQqFQCp70CZMmUwdepU3L17F9bW1mjZsiUmTpyoOd+CBQswZ84c\ndOnSBSqVCh4eHvjpp59gYWEhKx4iKpg6dQBHR+DqVSArS1oAqX9/fUdFRK9LIV68AZ+LxYsXv/RE\nEyZMKJSAikJsbCzatGmDoKAgVK9eXd/hEL1xrlwBFi2SnhsZAV99JU1gRETF18u++/JsIdi/fz9a\ntmyJMmXKwMHBAR06dICJiYlOgyWiN4Ojo9RScPMm8OwZcPAg8MEH+o6KiF5Hnn0IJk+erOlI6Ofn\nh0ePHhVZUERUvCkU0rwEasHBQGqq/uIhoteXZwtBtWrVMHDgQNjb20MIgVGjRsHIKPfdFQoFfv31\nV50FSUTFj6srUL26NPwwJkZqIWjWTEoU/ptglIjeIHm2EMybNw8uLi4ApC98IUSeD7mjDIio5FAo\ngJo1pf4EaWlAXBxw6xawejUQFqbv6IiooPJsIXB3d8fy5csBAE5OTli+fLlmYiEiIgCIjgbMzIDH\nj6W+BLGxQK1awL59bCUgetPImocgKiqKyQAR5XDnDmBvn12OjQWePAH+m0qEiN4gshICQ0NDXcdB\nRG+gqlWBSpUAS0upnJUljTyoVk2/cRFRwclKCIiIcqNeAdHBIbvu3j3guRXJiegNIWumQiKi3Kj7\nCezbJ90+ePRIGnlw6ZLUWmDAPzmI3hj8uBLRa/HyAmbOBP74A2jaFKhcWepDEBKi78iIqCDyTAhy\nW8AovwcRlW7ly2tPVrRjhzQckYjeDHneMqhfvz4UCoWskxRkcSMiKrnatgWOH5f6EaSlATt3An36\n6EU1X0kAACAASURBVDsqIpIjz4RgxIgRshMCIiIAMDYGevYEVqyQysHBQIsWHHVA9CbIMyF4fonh\n/Dx9+hQXLlwotICI6M3m7i6NMrhyRepY+NtvwIQJ0mgEIiq+Ctyp8Pl+A5mZmYiIiMCwYcN0ERsR\nvYEUCqB37+wE4MoVIDJSvzER0cvJGnaYkpKC2bNn49ixY7mueli7du1CD4yI3lzVqgEtWwJHj0rl\nzZsBZ2cgj/XRiKgYkNVC8N133+HcuXPo2bMnDA0N0bdvX3Tv3h1WVlbo2bMnVzokohy6dpXWOQCk\nToaHDuk3HiLKn6yEICQkBN9++y2mTp0KY2NjfPzxx/j6669x8OBBXL16lX0IiCgHc3MpKVDbswdI\nTtZfPESUP1kJwf3791GjRg0AgJGREZ4+fQoAsLKywrRp07Bw4ULdRUhEb6yWLbNHGDx9Cvz5p37j\nIaK8yUoIypcvj1u3bgEAbGxscPnyZc02a2trzTYioucZGEgdDNVOnQL++Udv4RBRPmQlBG3btsXE\niRMRFxcHHx8fzJ07F3/++SeOHDkCf39/2NnZ6TpOInpDOTlJQxHVNm0ChNBfPESUO1l9fidPnozH\njx/DxMQEI0aMwOnTpzFt2jQAgKWlJb777judBklEb7aePYGLF4Fnz4DoaOD0aaBJE31HRUTPk5UQ\nWFhY4Ntvv9WUd+zYgStXrkClUsHBwQHm5uY6C5CI3nyVKgHt2gF790rlbdsADw/A1FS/cRFRNlm3\nDAYPHozU1FRNWaFQoF69enBzc0N8fDx6P3+TkIgoFx07AuXKSc9TUrKTAyIqHvJtIUhISAAAnDp1\nCnFxcahQoUKOff766y8ubEREL1WmDPD++8BPP0nlgweB5s0BGxv9xkVEknwTgjZt2iAzMxMA0L17\n91z3EULA09Oz8CMjohLH2xs4ckQaafDsGbB1KzBypL6jIiLgJQlBeHg4zp8/j0GDBmHy5MmwsLDI\nsY+VlRVatWqlq/iIqARRKKTlkL/5RiqfPSutdeDkpN+4iOglCYGpqSkaN26ML7/8Et26dYOJiUlR\nxUVEJVTt2tIIg9BQqfzbb8DMmdKcBUSkP7JGGXzwwQdIS0vD7t27cenSJaSlpcHKygpubm5o27Yt\nEwUiKpDu3aXWgadPgfh4ICQEYEMjkX7JSgiio6Px4YcfIjExEWZmZjAzM0NaWhp+/vln1K5dG2vX\nrkXlypV1HSsRlRDlywOdOmVPZbxjB+DlJa1/QET6IXu1w8qVK2PXrl2IiIjA8ePHcfbsWfzxxx8w\nNjbG/PnzdR0nEZUwbdtmjzBISwN27tRvPESlnayEICwsDDNnzkTdunW16uvVq4cZM2bg2LFjOgmO\niEouY2Pggw+yy8HB0u0DItIPWQlBeno6ypcvn+s2W1tbpKWlFWpQRFQ6NGiQPcIgK0vqYMh1Doj0\nQ1ZCYG9vj3379uW6bd++fbC3ty/UoIiodFAopNUQFQqpfOUKcP68fmMiKq1kdSocOHAgZs+ejaio\nKHh4eMDCwgKpqakIDw/HkSNHMHv2bF3HSUQlVLVqQMuWwNGjUnnLFsDZWbqlQERFR1ZC0KdPH2Rl\nZWHNmjU4cOCApr5GjRqYPXs2Pnj+RiARUQF17QqEhUmdC+/dA4KCpLUPiKjoyEoIAKBfv37o168f\nUlJS8OjRI1haWsLKykqXsRFRKWFuLiUFGzdK5T17pMmL8ui6REQ6kGcfgkGDBuHhw4c56suVK4f/\nt3fncTWm/R/AP9FCC1INKUMap1LSKTTZhjLisU2PrYyYxxqTGcsk/IySmrFv6WGaQrKMrWxhMjOW\nJ0sjKYkYqVEJaVVOnVNdvz/uOafudlqO9H2/XudV57qXc91Xp3N/z7Xq6em9czAgEong6ekJW1tb\nWFlZYcqUKbh27Vq1+58/fx4ODg4QCoUYMmQI1q5dC5FIJNtuZGQEMzMz9O7dm/cQi8XvlD9CiHwM\nGcI1HwDchEWhofLNDyEtTbUBwZ9//gmJRNLgL+jl5YU7d+4gMDAQ169fh4ODA1xcXPDkyZNK+169\nehVubm6YN28ebt26hcDAQPz222/YunUrb7/AwEDExcXxHjR7IiHNS6tWXAdDqZs3gaQk+eWHkJam\nSWcPz83NxZkzZ7Bw4UIYGBhARUUFjo6OMDQ0xC+//FLl/q6urhg5ciQUFRXRs2dPjBgxAjelk6AT\nQj4oxsaAUAi8fAncvg04OQFr1nD9CwghjavGPgQK0rFADSQ+Ph4SiQS9e/fmpZubmyO2irFGY8eO\nrZSWkpICXV1dXlpwcDBWrVqF7Oxs9OzZE0uXLkXfvn0bNO+EkKZhaAg8esTNSwBwax5IJyzq109+\n+SLkQ1djQDBnzhwo1XHsT1Xf8CvKysoCgEqTHGlqaiIzM7PW40NDQxEREYFDhw7J0kxNTWFqaop1\n69ZBIpFg+/btmDVrFsLCwqCvr1+nvBNC3h83bgD6+sDTp9zzxERAXR24cIECAkIaU40BgZKSUp0D\ngvqqrTYiICAAfn5+2LZtG8zNzWXpISEhvP1WrVqF8PBwnDp1Cl9//XWj5JUQ0njS04GuXblmg8JC\noLgYiI8H2rSRd84I+bDVGBD4+flBS0urwV5Meq6cnBx06tRJlp6dnQ1t6SonFZSWluL777/H1atX\nERQUxAsGqqKoqIguXbrgxYsXDZZvQkjT0dUF0tK4yYliYoCSEi4wePqUCw4U6zxYmhDyNqrtVNjQ\n/QcAwMzMDMrKyoiJieGlR0dHV9vmv3r1asTGxuL48eOVgoH4+Hh4e3ujVNrYCEAsFiMlJQXdunVr\n8PwTQhrfqFHcTzU1rpOh9KNITQ0IDqa1DghpLNUGBKwR/us0NDQwYcIE+Pr6IikpCSKRCIGBgUhL\nS4OjoyPu3r2LkSNH4tk/PYguXryI8PBwBAYG8moUpLS0tBASEoINGzYgPz8fubm58Pb2BgA4ODg0\neP4JIY2vXz9g9myuH4GODvfc2Bj46CNuKGK5yVIJIQ2o2so3BwcHqKioNPgLrly5Ehs2bMDUqVNR\nUFAAExMTBAQEQE9PD6mpqUhKSpLNf3Dw4EG8fv0aw4cPr3SeCxcuQE9PD3v27MGWLVtga2sLiUQC\nKysrHDp0CB07dmzwvBNCmka/fmUdCBnjagak85eFhgKdO3MrJRJCGo4Ca4yqgPdcamoq7Ozs8Pvv\nv9NIBEKageJiYNs24K+/uOcqKoCbG9f5kBBSN7Xd+5p0YiJCCHkXioqAiwsg7XtcVAT4+QFVzK5O\nCHlHFBAQQpoFdXXA1bVs+GF2NvDf/wKNMMM6IS0SBQSEkGZDVxeYO7ds5EFSEhAURCMPCGkIFBAQ\nQpoVU1Ng8uSy57duAefPyy8/hHwoKCAghDQ7w4ZxyyVLnToFREfLLz+EfAgoICCENDsKCoCjIzc/\ngdSePcDff8svT4Q0dxQQEEKapdatuf4EH33EPZdIuE6GOTnyzRchzRUFBISQZktNjRt5oKrKPc/J\n4YICsVi++SKkOaKAgBDSrHXqBMybB7T659Ps77+BvXtp5AEhb4sCAkJIs2dsDDg5lT2PjgbOnpVf\nfghpjiggIIR8EIYM4UYfSJ09yw1JJITUDQUEhJAPxuTJQK9eZc/37eMmLyKE1I4CAkLIB6NVK2DO\nHG41RIBbFOm//+WmOSaE1IwCAkLIB0VVlRt5oKbGPc/LA3bu5BZEIoRUjwICQsgHR0eHWx1ROvIg\nNZWbuIhGHhBSPQoICCEfJIEAmDat7HlMDHDypPzyQ8j7TlHeGSCEkMYycCDw7Bnw22/c8/37gXPn\nAEVFbuXEUaOAfv3km0dC3hcUEBBCPmgTJgAvXgC//w4kJHDNCL17A6WlQEAAtw8FBYRQkwEh5APX\nqhUwe3bZGgelpUB8PJCZyT2/cEF+eSPkfUI1BISQD16bNkD37kBWFrfOQXExFxR06SLvnBHy/qCA\ngBDSIhgYcEMP798vG4L47Bn3Mz2d61NASEtGTQaEkBZh1ChAQwOwtAS0tcvS27UDfvgBuHaNhiWS\nlo1qCAghLYK04+CFC4CyMtd0kJcHaGlxv+/fz9UeTJsGtG0r37wSIg8UEBBCWox+/fgjClJTuZEG\n6enc86goIDmZm/64e3d55JAQ+aEmA0JIi6WvD6xYwc1XIPXqFbB+PRAeTk0IpGWhgIAQ0qKpqADT\np3O1Am3acGmlpcCJE4CvL9esQEhLQAEBIYQA6NsX+P57flNBfDywdi3w4IHcskVIk6GAgBBC/qGt\nDSxbBtjbl6Xl5QHbtgEhIUBJifzyRkhjo4CAEELKad0a+Pe/gW+/5YYpSv36K7BxI9fHgJAPEQUE\nhBBShV69gNWruZ9SSUlcE0JUlPzyRUhjoYCAEEKq0a4d8M03XI1Bq38+LQsLgZ9/BoKDufkLCPlQ\nUEBACCE1UFDg+hQsW8af4TAigpvhMC1NfnkjpCHRxESEEFIHBgbAqlXAgQNlTQbp6cCiRVxfA2Vl\nbrGkUaNoOWXSPFFAQAghddS2LbeUcq9ewOHDXO1AQgK3TVsbyM8vqzGgoIA0NxQQEELIW1BQ4GY2\n7NED+PLLsvRXr7hH+/bAnj3cIkqtW8svn4S8LepDQAgh70BXF+jZk2smKC83F7hyBVi5Ejh7FsjJ\nkU/+CHlbVENACCHvSE+P+6mjAzx7xtUQMAaoqXGBwJkzQFgYIBQCw4YBn3zC1TAQ8j6igIAQQt7R\nqFHcaont23OPoiLg+XP+aITSUuD2be7RpQsXGFhbc2soEPI+afKAQCQSYf369bh69Spyc3PxySef\n4JtvvsHA8suNlXP+/Hn4+/sjOTkZGhoa+Pzzz/Hdd9+h7T8LlmdlZcHHxwe3bt2CSCSCiYkJli1b\nBjMzs6a8LEJICyTtOHjhAldDYGgIfP01VyMQEwNcvgz89VfZ/s+eAQcPcgsn2dgAQ4cCnTvLI+eE\nVNbkAYGXlxfu37+PwMBAdOnSBaGhoXBxccGpU6fQo0cP3r5Xr16Fm5sbNm3ahOHDhyMpKQmzZ89G\n69atsXLlSgDAokWL0Lp1axw9ehQaGhr4+eefMWvWLFy4cAGamppNfXmEkBamX7+qRxT07cs9UlO5\nPgU3b5ZNZFRYCFy6xD2MjbnAoE+fssmPCJGHJn375ebm4syZM1i4cCEMDAygoqICR0dHGBoa4pdf\nfqlyf1dXV4wcORKKioro2bMnRowYgZs3bwIAHj16hMjISCxbtgydO3eGmpoaXF1doaCggNOnTzfl\npRFCSJX09bnRCBs2AFOmAJ068bcnJAC7d3OdEM+do+WWifw0aQ1BfHw8JBIJevfuzUs3NzdHbGxs\npf3Hjh1bKS0lJQW6uroAgNjYWCgpKcHY2Fi2XVFREaamplWejxBC5KVtW8DWlutDkJDA1Q7cvct1\nQgSA7Gzg1CluZELHjtycBoWFNNkRaTpNGhBkZWUBADp06MBL19TURGZmZq3Hh4aGIiIiAocOHZKd\nr3379lCo0G23Q4cOeEVLkhFC3kMKCoCJCffIygKuXuWmQX79mtuens4FCwCgrs4tqHTvHrBwITB4\nsPzyTT58780og4o39YoCAgLg5+eHbdu2wdzcvN7nI4QQeevYEfjiC2DMGG4UwuXL3E+p/HzuAQBL\nlgDjxnEdFw0NuSGMHTvSMEbScJo0INDS0gIA5OTkoFO5hrTs7Gxolx+nU05paSm+//57XL16FUFB\nQbxgQEtLC7m5uWCM8QKAnJycas9HCCHvG0VFbiiitTVXG5CaCrx8yQ1ZlCoo4NKlnRQBoEMHfoDQ\ntSt1TCTvrkkDAjMzMygrKyMmJgb29vay9OjoaAwbNqzKY1avXo3Y2FgcP36cF0QAgFAohEQiQXx8\nvGyYoVgsRlxcHJYsWdJ4F0IIIY2kZ09AVZVbTCknh+tkmJtb9b45OWVzHADcAksGBlxwYGjITa/8\nzwhtQmrVpAGBhoYGJkyYAF9fXwgEAnTu3BmHDh1CWloaHB0dcffuXSxbtgx79uxBly5dcPHiRYSH\nh+PMmTOVggEAMDQ0xJAhQ7B+/Xps2rQJampq2LFjB1RUVDBmzJimvDRCCGkQ0smOlJS4GRB1dLh0\nZ2dASwtITAQeP+b6FhQW8o8Vi4GHD7kHwDUn6OmV1SLk5QHXr3OTJ+nqUmdFwtfkfQhWrlyJDRs2\nYOrUqSgoKICJiQkCAgKgp6eH1NRUJCUlQSKRAAAOHjyI169fY/jw4ZXOc+HCBejp6WHz5s3w9vbG\nmDFjIJFIIBQKsXfvXqirqzf1pRFCSL1VnOyoSxdg5MiydBMT7mdpKbeyojRASEzkOimWx1hZM8Ox\nY9zoBhUVbmrlR4+4uRGmTAE++4wLNtTVqU9CS6bAmHTQS8uRmpoKOzs7/P7779DX15d3dgghpEFk\nZ5cFB48fc4GA9BP+9m2uH0JF6urcyowAVyuhrc0FB+Uf0rSqAoZbt4Dz57nREVTr8H6r7d733owy\nIIQQUj+amvyZEwsLuaaFxESus2JhIVBSwj+mfJAgkXA39vT0qs9fMWB49YobGdGmDdd/ISWFa+4A\nKChojiggIISQD1SbNmVzHkRHczUGb95wgYH00bYtN5viq1eV+yRUVDFgqKrWoVUrID4eGD6c6xyp\npsb/Wf5RcZviP3ckqnWQDwoICCGkBZB2VlRT4x5Ss2eX3WzfvAEyM/mPV6/KflYMGN68qfw6paVc\nX4bqahlqoqTEdXy8f58LDhQVud8vXQLs7Lh1H5SVuf3q8lP6u/R5VFTDBxqNFbzIIyiigIAQQlqA\n2jorAmXf3Lt2rfocFQOG7GzuXEVF3AiH4mIuICgfcLwNiYQLAKrq63DqFNck8a5evuQ6UrZqxT0U\nFIDQUK7/RNeuQOvWb/9ISuKaTADunElJwI0bXLkaGfFfqy4/pb8/eMDlrXVrblnttLSmaYqhgIAQ\nQlqI6lZmrKuKAUO7dmU3KoDrwFhaCjg5cTfEN2/KHgUFlX8vn/bmDXdsVbUOQNVBwttISeHOX36y\nJ4BbT0LxHe+E1XXUPHCgrKNmfc/boQMgnY/vwgUKCAghhLyH6lLrUFeMcTUNnp7czbu4uKzGobSU\n68T4739zNRESSdlP6e+1pTdGoNFYwUv58755w5WNggJXxo2JAgJCCCHvrL61DlIKClwnyAkT+LUO\nUuX7OryLNWu4TpUlJdwNVvro3Bn49lsu/W0fhYVARkbZuQDuZ8eOgL09F8hIa03K/15TGmNcE0FO\nDteEoKtbNtSzS5d3v/66oICAEELIe6Mhax3K+9e/uECj4loPEye++41WXb1xghcrq6rPO3Lku5+z\nLiggIIQQ8l5pqFqHiucEGjbQaKzgpbHOWxsKCAghhLQIjRVoNMaNurHOWxNaKJMQQgghFBAQQggh\nhAICQgghhIACAkIIIYSAAgJCCCGEgAICQgghhIACAkIIIYSAAgJCCCGEoIVOTFRSUgIAeP78uZxz\nQgghhDQN6T1Peg+sqEUGBBkZGQCAL7/8Us45IYQQQppWRkYGunXrVildgTHpGk0tR2FhIe7duwcd\nHR20bt1a3tkhhBBCGl1JSQkyMjJgZmaGNm3aVNreIgMCQgghhPBRp0JCCCGEUEBACCGEEAoICCGE\nEAIKCAghhBACCggIIYQQAgoI6k0kEsHT0xO2trawsrLClClTcO3aNXlnq9FkZmZixYoVGDRoECwt\nLTF58mTcuHFDtv3s2bNwcHCAUCjEiBEjsHXrVt4kGCkpKXBxccGAAQNgY2MDFxcXpKSkyONSGtTt\n27dhYmICX19fWVpLLIuQkBCMHDkSvXv3hp2dHfbt2yfb1pLK48mTJ5g/fz5sbGzQt29fTJ48GZcu\nXZJt/9DLIiUlBc7OzjAyMkJqaipvW32vvaSkBFu3boW9vT2EQiG++OILnDlzpsmu7V3UVB4HDx7E\nv/71LwiFQtja2mLHjh0oLS3lHdtk5cFIvSxfvpyNGzeOPXnyhBUWFrLDhw8zMzMzlpiYKO+sNYrJ\nkyezmTNnspcvX7LCwkK2adMmZmFhwZ4/f84iIyOZqakpO3fuHCsqKmIJCQls6NChzNfXlzHGmFgs\nZvb29szNzY1lZmay3Nxctnz5cjZixAgmFovlfGXvTiQSsREjRjArKyu2Y8cOxhhrkWVx9uxZ1r9/\nfxYREcGKiorYzZs32ciRI1lcXFyLKo+SkhI2bNgwtmjRIpadnc2KiorYnj17mKmpKUtMTPzgyyI8\nPJzZ2NiwZcuWMYFAwFJSUmTbGuLafX192ZAhQ9i9e/dYUVERu3jxIjM1NWU3b96Uy/XWpqbyOHz4\nMLOysmKRkZGsuLiYRUVFMaFQyPbt28cYa/ryoICgHnJycpipqSm7ePEiL338+PHMx8dHTrlqPHl5\neWzFihXs8ePHsrTc3FwmEAhYeHg4W7hwIZs/fz7vmH379rH+/fuzkpIS9scffzBjY2OWlZUl256d\nnc1MTEwqlWFz4uPjw+bNm8emTZsmCwhaYlmMGjWK+fv7V7mtJZVHRkYGEwgE7PLly7K0wsJCJhAI\nWFhY2AdfFkePHmVPnjxh165dq3QDrO+1l5aWsk8//ZTt3buXd44FCxawBQsWNOp1vauayiMoKIj9\n8ssvvP3nz5/PXFxcGGOsycuDmgzqIT4+HhKJBL179+alm5ubIzY2Vk65ajwaGhr44YcfYGhoKEuT\nVl117twZMTExMDc35x1jbm6OnJwcJCcnIyYmBh9//DE0NTVl2zt06ICuXbs22/KKiorCqVOnsGbN\nGl56SyuLly9fIjExEaqqqnBycoKlpSXGjh0rq7psSeWhra0NKysrHD9+HFlZWZBIJDh8+DA0NTVh\nbW39wZfFpEmTYGBgUOW2+l7706dPkZWVVeU53teyqak8pk+fjilTpsieM8aQlpYGXV1dAGjy8miR\naxk0lKysLADcH6g8TU1NZGZmyiNLTSo/Px8rVqyAnZ0devfujaysLLRv3563j/SNnJWVhezs7Erb\npfs0x/ISiURYuXIl3N3d0alTJ962llYW0kVTjhw5go0bN6Jr1644fvw4vvvuO+jq6ra48vD19cWc\nOXNgY2MDBQUFaGpqYvv27dDS0mpxZVFefa9d+plb1Tmk25ozPz8/PHv2DH5+fgDQ5OVBNQSNREFB\nQd5ZaFRpaWlwcnKClpYWNm3aVO/zNcfy2rJlC7p3745///vfDXre5lgW7J8Z0KUdp1RVVTF9+nSY\nmZkhJCSkXudubuUhFosxe/ZsGBgYICIiAlFRUXB1dYWLiwseP35cr3M3t7JoSLVde3Mum5KSEvj4\n+CA4OBj+/v7Q19ev9ZjGKA8KCOpBS0sLAJCTk8NLz87Ohra2tjyy1CTu3r2LSZMmwcrKCv7+/lBV\nVQXAVZVWVRYAoKOjAy0trUrbpfs0t/KSNhWsXbu2yu0tqSwA4KOPPgIAXtUmAHz88cd48eJFiyqP\nmzdv4v79+1i5ciV0dHSgrq6OL7/8Evr6+jhx4kSLKouK6nvt0uuv6hzSz+PmprCwEPPnz8e1a9dw\n5MgRCIVC2bamLg8KCOrBzMwMysrKiImJ4aVHR0ejb9++cspV43r06BHmzJmDuXPnwtPTE0pKSrJt\nQqGwUrvV7du3oaOjg48//hhCoRApKSm8as9Xr17h6dOnza68Tpw4gTdv3mDcuHGwtraGtbU1oqOj\nERAQIBtS1VLKAuACgg4dOiAuLo6X/vfff0NPT69FlYd0yFjFNedLSkrAGGtRZVFRfa9dX18fOjo6\nVZ6jOZZNSUkJXF1dIRKJcOTIEXTv3p23vcnL4627IRIeDw8PNnr0aPbkyRP25s0bFhAQwCwsLFhq\naqq8s9bgiouLmYODA9u4cWOV2+/cucNMTU1ZWFgYKyoqYnfv3mUDBgxgAQEBsuPHjBnDFi9ezLKy\nslhmZib79ttv2bhx41hxcXFTXkq95eTksPT0dN5j8uTJ7IcffmAvX75sUWUhtWvXLmZpacmuXbvG\nioqK2IEDB5ixsTG7f/9+iyqP3NxcNmDAAObm5saysrJYYWEhO3LkCDM2NmZ37txpMWVRVa/6hrh2\nf39/NnDgQBYXF8eKiorYmTNnmKmpKYuNjZXLddZVVeWxd+9eNnz4cJafn1/lMU1dHrT8cT2JxWJs\n2LABYWFhKCgogImJCZYtWwYrKyt5Z63BRUVF4csvv4SSklKl9qnx48fD29sb4eHh2LFjB5KTk6Gt\nrQ1HR0fMmzdPtn96ejq8vLxw8+ZNKCgoYMCAAfj+++8rdcprjpydndG/f38sXLgQAFpcWTDG4Ofn\nh2PHjiEzMxMGBgZwd3fHoEGDALSs8khISMCWLVtw7949vH79Gj169MA333wDOzs7AB92Wdjb2+PZ\ns2dgjEEikcg+LxrqM0L6Pjt69CiysrJgYGCARYsWycr2fVNTeURGRiItLQ2tW7eudJy0tq0py4MC\nAkIIIYRQHwJCCCGEUEBACCGEEFBAQAghhBBQQEAIIYQQUEBACCGEEFBAQAghhBBQQECqsXz5cgwc\nOLDa7UOGDMHy5cubLD/Ozs6YPHlyk73e2zAyMoKvr2+N+7zP+X9f2draYvHixfLOxnvD19cXRkZG\nKCoqAiCf91RoaCisra2RlpaGyMhIGBkZ4erVq1Xue+zYMRgZGSE1NVWWlp2dje3bt2P06NEQCoUw\nMzPD559/jo0bNyIvL0+2n/Tc0oeJiQmsra3h7OyMI0eOoLi4WLbv5cuXIRQKkZCQ0HgX3kLQaoeE\nNIHaAgZS2fHjx3lTYxO+pn5PxcfHw8PDA76+vtDT0+Pd6OtCLBZj2rRpKC4uxpIlS2BmZoaioiLc\nvn0bGzduxK1bt3DkyBHepGebN2+GtbU1SktLkZGRgYiICGzevBkhISEIDAyEuro6hg4dimnTpuHr\nr79GaGgo2rVr19CX3mJQDQEhTaBDhw6VlskmNevYsSM0NDTknY33VlO/p3x8fNCvXz989tlnjTU5\nMwAAErRJREFU73T8jRs38PjxY3h6esLe3h56enro0aMHJk2aBG9vbzDGkJyczDumXbt20NHRQadO\nnWBmZgYXFxccO3YMycnJ8PDwkO03f/58iEQi/Pzzz/W5xBaPAgLSIAoKCuDl5YVBgwbB1NQUQ4YM\nwcqVK2UrmQHcNxpra2skJCRg6tSpsLCwwGeffYZdu3bxzhUVFYXx48fLqhNPnjxZ6+tv3bpVNkWu\nlLe3N4yMjPDnn3/K0uLi4mBkZIQHDx4AAPbu3YtRo0bBzMwM1tbWmDVrFq/qkTGG3bt3w97eHubm\n5vj000/h6uqKlJSUSnn4+eefMXjwYJiZmcHJyQlPnz6VbatYvWtkZIT9+/djx44dGDx4MIRCIZyd\nnfHkyRPZPmKxGGvWrIG1tTWEQiGWLl1aazUtwC2uExgYiM8//xzm5uYYPXo0jhw5wtuntuuWvk5E\nRATmzp0LoVCIIUOGICQkBOnp6Zg1axaEQiHs7Oxw7tw52XG+vr4wNzfHgwcPMGnSJJibm2PIkCEI\nCAjgvX5MTAxmzpwJS0vLavNYscng0aNHcHJygrm5OYYNG4bDhw/Dx8eH17Rla2uL9evX48CBA7Cz\ns0OfPn0wYcKESguQVXTx4kVMmDABlpaWsLS0hKOjI65fvy7b7uzsjNmzZ+PMmTMYMWIEzMzMMGbM\nGPzvf/+r8rpsbGwgFAoxffp0xMfHVyrXqKgoLFmyBH379oW1tTXc3NyQn58v2+/58+eYM2cO+vTp\nAxsbG2zcuLHSYklN+Z66ceMGbt++jfnz59dYjjWRNnWIxeJK20aMGIFjx47BwMCg1vN069YNs2bN\nQlhYGNLT0wFAttx2cHAwr+mBvB0KCEiD8Pb2RlhYGDZs2IDffvsNmzdvRmRkJFavXs3bTywWY+3a\ntViwYAFOnz4NOzs7bNu2DVFRUQC4NkYXFxe0a9cOx48fx9atW3H27FkkJibW+PoDBgxARkYG7xtG\nZGQkdHV1cevWLV6ajo4OjI2NERoainXr1mHGjBkIDw9HUFAQWrVqhblz56KwsBAAV239008/wc3N\nDRcuXIC/vz/y8vIwb9483uufP38e2dnZCAoKwu7du5GUlAQvL68a83zo0CGIRCIEBQXhp59+QmJi\nIu+YnTt34ujRo/j2228REhICgUDA+1ZUnd27d2Pnzp1wdXXF2bNnMXXqVHh4eOD06dMAUKfrltqy\nZQscHBxw8uRJWFtbw9PTE8uXL8eUKVNw8uRJWFhYYNWqVSgoKJAdU1RUBB8fHyxZsgSnTp3C2LFj\nsXHjRvz6668AgPz8fMyaNQsqKio4evQozp07B0dHR6xevRp//PFHldckFovh4uKCnJwc7NmzB35+\nfjh//nyVN7FLly4hNjYWu3btwoEDB1BQUAA3N7dqyyspKQmLFi2Cvb09Tp06hWPHjsHMzAxz586V\n3XAAbn2Cs2fPYtu2bTh+/Dg6deoEV1dXPH/+XHaer776CgoKCtizZw8OHz4MDQ0NzJgxA8+ePeO9\npo+PD2xsbBAaGgp3d3ecPn0a+/fvl21fvHgxHj58KLuG0tJSHD9+vNprkGqs99Rvv/2G9u3bw9LS\nstZ9q2NlZQU1NTUsXboUAQEBVQbVdWVnZwfGGCIjI2Vptra2EIlEiIiIeOfztnhvvRwSaRHc3d2Z\nkZERs7CwqPJhZGTE3N3dZfu/ePGCPX36lHeOjRs3MgsLC1ZaWsoYY2zHjh1MIBCwP/74Q7bPq1ev\nmEAgkK12dvToUSYQCFhycrJsn9zcXGZqasomTZpUbX6LioqYhYUFO3r0KGOMsczMTGZsbMz8/PzY\njBkzZPvNnj2bLVu2THbeR48e8c5z5coVJhAIZCuFeXh4sFGjRvH2yczMZHFxcaykpIQxxphAIGAT\nJkzg7bNq1SpmZWUlez5t2jRe/gUCAXNwcOAd4+HhwSwsLGTPBw0axBYvXszbZ+nSpUwgELArV65U\nWw79+vVjP/zwAy99y5YtbO/evXW+7ps3bzKBQMC2bNki2ycuLo4JBALm5+dXKe3+/fuMsbK/8YUL\nF3jnHzp0KPv6668ZY4yJxWL25MkTlpOTw9tnwIABzNPTU/Z82LBhbNGiRYwxxiIiIphAIGBXr16V\nbc/NzWUWFhZswIABvGMGDhzIioqKZGn+/v5MIBCwzMzMKsssLCyMCQQClpGRIUsrLi5m0dHRslXo\npk2bxkxMTHj7PH36lAkEAhYUFMQYY2z16tVMKBSy169fy/bJz89nffv2ZevXr+eV67p163h5GDVq\nFJs7dy5jjLHk5GQmEAhk72WpiRMnMoFAwAoLC2V5aor3FGOMjRkzhs2ZM4eXJr2W6o6T/i+XX93v\n1q1bbMSIEUwgEDCBQMCGDBnC3N3d2aVLl2SfE3U5d0FBARMIBOynn37ipffv3595eHhUex2kZtSp\nkFSrQ4cOlapxpb788kve81atWiE4OBhXr17Fq1evUFJSAolEAolEArFYDBUVFdm+ffr0kf3esWNH\nAEBOTg4ArlpYVVUV3bp1k+3Trl07GBoa1phXZWVl9O/fH1FRUZg0aRIiIyNhYGAAOzs7+Pv7QyKR\nQEFBAVFRUbJvTG3btsWVK1fg7u6OZ8+eoaioSFYtK83PsGHDcPToUXz11VcYP348Pv30U+jq6sry\nLWVhYcF73rFjR7x+/brGPFd1zJs3byAWi8EYw8uXL9GrVy/ePkOHDsWZM2eqPWdKSgpyc3PRu3dv\nXnr5qve6XLdU+ddv3759tWkVr1UoFPKem5iYyL4RKikp4cWLF1i/fj0SEhKQm5sLABCJRJVeX0ra\n/GJqaipLa9euHSwtLSv1Ljc1NYWysrLsefn3WMW/GwBYWlqiY8eOmDZtGqZMmQIbGxsYGxtXuoau\nXbtCW1ub91xDQ0N2XXfv3kWfPn2grq4u20dNTQ3m5ua4f/8+71zl/wekeZRe+19//QUAMDY25u1j\nYWGBu3fvVsp/xX0qnre+7ykAyMjIgLm5eY371EXfvn1x/vx5REdH4/r167h16xbOnj2L0NBQDBo0\nCLt27eL97aojHWWgqMi/hWlra+Ply5f1zmdLRQEBqVbr1q15N+byWrUqa21ijGHWrFl4/vw5li9f\nDlNTU6ioqCA4OBjBwcGVjlVTU5P9Lu1RzP5ZdLOgoABt2rSp8hjph8Dp06d51Zxjx46Fl5cXBg4c\niH379gHgmgb69esHgUAAZWVl3Lt3DwoKChCJRLI2Z2lbs6urK4YNGwZ1dXXExsbyqpc/++wz7N+/\nH/v374ePjw9ev36NPn36wN3dnbfEdVV5ro2qqirvefmykN4cKu5T1Q2tPGn7afkyrqgu1y3Vtm3b\nSvmrKo1VWDS1YmdAVVVVWd7i4uIwc+ZMWFtb48cff0SnTp3QunVrODs7V5vn6spDU1Oz0r41lWtV\nOnfujGPHjiEwMBD79u3DunXroKenh/nz52PSpEnVXlPF68rPz8fDhw8rBRJisRjdu3evNY/S/En7\nEpQvZ6Dmv2lN5wXq954CuICv4vVLl+ytrlylQWbFkSKtWrVC37590bdvXwBcM+HWrVtx5MgRnDhx\nAk5OTrXmR9o0qKenx0vX0NCQBZjk7VFAQOrt0aNHSEhIwNq1a+Hg4CBLr6rzUG1UVVUrtWMD3AeS\n9APS1taW9w1L+o1s4MCB8PHxQXp6OiIjI7Fw4UIoKCjA0tISt27dAmMMvXr1kn0AnjlzBqNHj4ar\nq6vsXNI1yMuTfngVFxfj9u3b2LlzJ+bMmYPLly832hAn6YdoxbKo7hu0lJaWFgDU+KFY1+uuD5FI\nxLuhFRQUyHrEh4WFoVWrVti5c6fsJldaWlpjnqXfGkUiES/4qq086kpfXx8eHh7w8PDAX3/9heDg\nYKxatQr6+vqwsbGRvXZF5a+rXbt26Ny5M7y9vSvtV/GbbE2kN+yKr1dbjVNt3vU9BXA32oqvL/0/\nysrKqvKY9PR0KCkp8YK2vLy8Sv8zmpqa8PT0RFhYGB4+fFj7hQAIDw+HsrIyrK2teemvX7+u9ksM\nqR11KiT1JpFIAIA3BCo/Px/h4eEAqv8GURUDAwO8efOG14kwOzub11NaXV0d3bp1kz2kN0FDQ0Po\n6uri119/RVJSEvr37w8A6NevHyIjI/Hnn39i8ODBsvOIxeJK3zBDQ0N5ef7f//4nq8JVVFSEtbU1\nVqxYgYKCAiQlJdX5ut5Wx44d0b59e14PdQCyMq2OtDkjOjqal75hwwasXbsWQN2uu77Kd+QEgPv3\n76NHjx4AuPeLsrIy7xvvuXPnUFhYWO3rSz/ky5dHVlYWbt++Xe+8PnjwADdu3JA979mzJ7y8vKCu\nrs4LlP7++29edfTff/+N/Px8WXOWhYUFkpKSoKury3t/lpaWQkdHp875kZZTxSCt4t/0bb3rewoA\ndHR0KlXFGxgYQE9Pr8pRQK9fv5Y1A0iDufnz52PixIlVflHIzs7Gmzdv0KlTp1rzkpCQgODgYEyZ\nMqXSsMuMjAx89NFHtZ6DVI0CAlJvPXr0QPv27XHw4EEkJSXhzp07mDlzJoYPHw4A+PPPP6v8dlWV\nzz//HG3atIG3tzcSEhJw7949LFmypE7VmgA32mD//v0wMDCQtff269cPd+7cQVxcHG9oolAoRHh4\nOGJjY/H48WO4u7tDX18fABAbG4u8vDyEhITA1dUVERERePbsGR49eoS9e/dCW1u71n4N9TVy5EiE\nh4fj5MmTSE5Ohr+/Px4/flzjMUpKSpgxYwZCQkJw4sQJpKam4tixYwgKCpL1K6jLddfXvn37cP36\ndTx58gTr16/H8+fPZbVHFhYWKCgowL59+5Camorjx4/jwIEDsLCwQGJiItLS0iqdz8bGBh06dMDm\nzZtx9+5dPHjwAEuWLEHnzp3rndeYmBgsWLAAJ06cQEpKClJSUrBnzx6IRCJZUAlwNQArV67E/fv3\n8eDBA3h6ekJVVRX29vYAgOnTp6OgoADu7u6Ij49HSkoKDh48iHHjxvGGZtbmk08+Qa9eveDv74/I\nyEgkJibihx9+qPab+Nt4l/cUAPTv3x8xMTEoLS2VpSkoKGDNmjWIioqCm5sbYmNjkZKSgsuXL+Or\nr75CUVERbzbTuXPnIiMjA1999RV+//13JCcnIzk5Gb/++iv+85//QEdHp9LMi3l5ecjIyEBGRgYe\nP36MPXv2wNnZGebm5vjuu+94+z58+BC5ubm8vxl5O9RkQOpNVVUVmzZtwo8//ojx48ejW7duWLRo\nEYRCIe7cuYOFCxdi9+7ddTrXRx99hJ07d2LdunWYOHEiOnfujAULFuC3337Dq1evaj1+0KBBOHHi\nBBwdHWVpvXr1AmMMxcXFvE5XHh4eWLVqFWbMmIH27dvDyckJ8+bNQ3Z2Nvz9/aGoqIi1a9di06ZN\n+L//+z9kZmaiXbt26NOnD/bs2cPrPNYYli1bhvz8fKxZswbKysqwt7fH0qVL4eLiwuukWdHcuXMB\nAH5+fvD09JRVh3/xxRd1vu7y/SPehZubG9avX4/79++jQ4cOWL58uSwYGz16NOLi4vDTTz9hx44d\nsLa2xvbt23H79m2sWrUKM2fOlA1RlFJTU4Ofnx+8vLwwdepU6Ovrw9XVFVeuXKl3LYGTkxNEIhEC\nAgLg5eUFJSUlfPLJJ9ixYwfv/aKvr49x48Zh8eLFSEtLQ/fu3bFz505Zx8pu3bohODgYW7ZswbRp\n0yCRSNCjRw94eXnJyr6utm/fju+//x6zZ8+GmpoaHBwcMH36dGzYsKFe1/qu76nhw4fjwIEDiI6O\nlrX9A8DgwYNx+PBh7Nq1C3PnzkV+fj60tbUxePBg+Pr6okuXLrJ9hUIhjhw5gqCgIPz444+yzsdd\nunTB4MGDMW/ePFltn9TSpUtlv7dt2xaGhob45ptv4OjoWKlvwuXLl9G2bdtK85GQulNgDVVHSAhp\nUBKJBHl5ebwPycOHD8PT0xOXLl3ifdi+L3x9fbFz507cvXu3xhvMu5B2tisfiE2ePBlt2rThjeFv\nDM7OzigqKsLRo0cb9XUaW33eU05OTlBXV38vZwMUiUQYPnw4HBwcKtUckLqjJgNC3lO+vr6wtbVF\nWFgY0tLScO3aNfj7+2PgwIHvZTDQmIqLizF27FjMnj0bcXFxSElJwc8//4zY2FhMnDhR3tlrNurz\nnlq5ciVu3rxZ44yG8rJ7926oqKhgzpw58s5Ks0ZNBoS8p6SjJDZv3oyMjAxoa2tj0KBBLXIFQEVF\nRQQGBmLjxo2YPXs2xGIxunbtCm9vb4wbN07e2Ws26vOe6t27N9asWQM3NzeEhIRUGvInL1euXMH+\n/ftx+PBhWfMNeTfUZEAIIYQQajIghBBCCAUEhBBCCAEFBIQQQggBBQSEEEIIAQUEhBBCCAEFBIQQ\nQggB8P8yUGP57FeBbQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot(infected_sweep)\n", "\n", "decorate(xlabel='Hand-washing campaign spending (USD)',\n", " ylabel='Total fraction infected',\n", " title='Effect of hand washing on total infections',\n", " legend=False)\n", "\n", "savefig('chap05-fig05.pdf')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's put it all together to make some public health spending decisions." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Optimization" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Suppose we have \\$1200 to spend on any combination of vaccines and a hand-washing campaign." ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "12" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "num_students = 90\n", "budget = 1200\n", "price_per_dose = 100\n", "max_doses = int(budget / price_per_dose)\n", "dose_array = linrange(max_doses)\n", "max_doses" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can sweep through a range of doses from, 0 to `max_doses`, model the effects of immunization and the hand-washing campaign, and run simulations.\n", "\n", "For each scenario, we compute the fraction of students who get sick." ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.0 0.988888888889 0.266727403413 0.187595503995\n", "1.0 0.977777777778 0.26683150821 0.174580718826\n", "2.0 0.966666666667 0.267112856728 0.162909838349\n", "3.0 0.955555555556 0.267865747331 0.153508349478\n", "4.0 0.944444444444 0.269828391545 0.148565092315\n", "5.0 0.933333333333 0.274613528135 0.152945950611\n", "6.0 0.922222222222 0.284596094758 0.174964415024\n", "7.0 0.911111111111 0.3 0.217343161684\n", "8.0 0.9 0.315403905242 0.259071044488\n", "9.0 0.888888888889 0.325386471865 0.278402884103\n", "10.0 0.877777777778 0.330171608455 0.277914534623\n", "11.0 0.866666666667 0.332134252669 0.267357496693\n", "12.0 0.855555555556 0.332887143272 0.252796945636\n" ] } ], "source": [ "for doses in dose_array:\n", " fraction = doses / num_students\n", " spending = budget - doses * price_per_dose\n", " \n", " system = make_system(beta, gamma)\n", " add_immunization(system, fraction)\n", " add_hand_washing(system, spending)\n", " \n", " run_simulation(system, update1)\n", " print(doses, system.init.S, system.beta, calc_total_infected(system))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following function wraps that loop and stores the results in a `Sweep` object." ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def sweep_doses(dose_array):\n", " \"\"\"Runs simulations with different doses and campaign spending.\n", " \n", " dose_array: range of values for number of vaccinations\n", " \n", " return: Sweep object with total number of infections \n", " \"\"\"\n", " sweep = SweepSeries()\n", " \n", " for doses in dose_array:\n", " fraction = doses / num_students\n", " spending = budget - doses * price_per_dose\n", " \n", " system = make_system(beta, gamma)\n", " add_immunization(system, fraction)\n", " add_hand_washing(system, spending)\n", " \n", " run_simulation(system, update1)\n", " sweep[doses] = calc_total_infected(system)\n", "\n", " return sweep" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can compute the number of infected students for each possible allocation of the budget." ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "collapsed": true }, "outputs": [], "source": [ "infected_sweep = sweep_doses(dose_array)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And plot the results." ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Saving figure to file chap05-fig06.pdf\n" ] }, { "data": { "image/png": "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\nRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot(infected_sweep)\n", "\n", "decorate(xlabel='Doses of vaccine',\n", " ylabel='Total fraction infected',\n", " title='Total infections vs. doses',\n", " legend=False)\n", "\n", "savefig('chap05-fig06.pdf')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Exercise:** Suppose the price of the vaccine drops to $50 per dose. How does that affect the optimal allocation of the spending?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Exercise:** Suppose we have the option to quarantine infected students. For example, a student who feels ill might be moved to an infirmary, or a private dorm room, until they are no longer infectious.\n", "\n", "How might you incorporate the effect of quarantine in the SIR model?" ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Solution goes here" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.1" } }, "nbformat": 4, "nbformat_minor": 1 }