From 9ae5aea761cca6c718a949b2e74e77258fa60651 Mon Sep 17 00:00:00 2001 From: Roger Labbe Date: Tue, 6 May 2014 09:48:35 -0500 Subject: [PATCH] Added hook to git to remove all notebook output prior to committing. This should make git ignore differences caused by merely running a notebook. --- Gaussians.ipynb | 398 ++--- Kalman Filters.ipynb | 2220 ++++++++++++------------- KalmanFilter1D.py | 5 +- Multidimensional Kalman Filters.ipynb | 958 +++++------ Untitled0.ipynb | 350 ++-- gaussian.py | 25 +- histogram_filter.ipynb | 89 +- test.py | 1 + 8 files changed, 2040 insertions(+), 2006 deletions(-) create mode 100644 test.py diff --git a/Gaussians.ipynb b/Gaussians.ipynb index c0413c3..48f38ed 100644 --- a/Gaussians.ipynb +++ b/Gaussians.ipynb @@ -1,199 +1,201 @@ -{ - "metadata": { - "name": "" - }, - "nbformat": 3, - "nbformat_minor": 0, - "worksheets": [ - { - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#Gaussian Probabilities\n", - "\n", - "#### Introduction\n", - "\n", - "The histogram filter uses a vector or multidimensional array of probabilities to represent our belief of the system state. This is very powerful, but it has limitations. Let us list a few. First, it is multimodal, and we may not want a multimodal result. In other words, we would not want our GPS telling us that we are 50% likely to be here, 40% likely to be there, and so on. There are plenty of techniques to go from a multimodal histogram to a unimodal result, but they all involve significant processing time. This becomes worse as we extend the problem into multiple dimensions. In general for $d$ dimensions the computational run time will be $O(n^d)$. So these filters become intractable in higher dimensions. \n", - "\n", - "Second, the results are hard to analyze. Recall the GPS in your car. It probably has a display that tells you how much error is in the filter - it tells you are at a specific location on the earth, with for example 9 meters of error. How would you derive that information from a histogram filter? There is no clear cut way. Most, if not all of the bins in the histogram will be non-zero, and there will usually be several clusters of higher probabilities. Being multimodal, there is no clear way to derive a single error estimate. Certainly one could come up with a heuristic, but often we want mathematically precise answers, not heuristics.\n", - "\n", - "Third, the histogram is discrete, but we live in a continuous world. The histogram requires that you model the output of your filter as a set of discrete points. In our dog in the hallway example, we used 10 positions, which is obviously far too few positions for anything but a toy problem. For example, for a 100 meter hallway you would need 10,000 positions to model the hallway to 1cm accuracy. So each sense and update operation would entail performing calculations for 10,000 different probabilities. It gets exponentially worse as we add dimensions. If our dog was roaming in a $100x100 m^2$ courtyard, we would need 100,000,000 bins ($10,000^2$) to get 1cm accuracy.\n", - "\n", - "Finally, the histogram does not represent what happens in the pysical world very well. For example, in the last chapter we had this as a probability distribution: [ 0.2245871 0.06288015 0.06109133 0.0581008 0.09334062 0.2245871\n", - " 0.06288015 0.06109133 0.0581008 0.09334062]. The largest probabilities are in position 0 and position 5. This does not fit our physical intuition at all. A dog cannot be in two places at once.\n", - " \n", - " \n", - "Consider how a bimetallic thermometer works. These thermometers use a strip of bimetallic material bent into a loose coil shape, with a pointer attached to the spring. The two metals expand at different rates, so the strip will either coil tighter or uncoil as the temperature changes, and the pointer indicates the current temperature. It is in some ways a crude system, yet it works well. What kinds of errors might we expect from this system? It will not respond to rapid temperature changes, so it will always lag the current temperature a small amount. There may be frictions in the system causing the pointer to not register the correct value. And so on. Finally, when you read the dial you will rarely be exactly perpindicular to the face of the dial. Viewing the pointer against the dial from an angle will result in a small reading error - 34 might look like 35 from the left of the dial, for example. However, in total all of these effects will generally be low, and we would expect the total errors to always be small. We would probably agree that an error of 2 degrees is reasonable, but an error of 100 degrees would occur extremely rarely, if ever. Furthermore, we would expect the errors to cluster around the correct value. So in most systems we would expect the errors to equally likely to be larger or smaller than the correct value. If the correct temperature was 35 degrees, and we were told the thermometer was accurate within 2 degrees, we wouldn't be suprised to read either 33 degrees or 37 degrees. \n", - "\n", - "So we desire a unimodal, continuous way to represent probabilities that models how the real world works, and that is very computationally efficient to calculate. As you might guess from the chapter name, gaussian distributions provide all of these features.\n", - "\n", - "\n", - "#### Probability Distributions\n", - "\n", - "Before we go into the math, lets look at a graph of the gaussian distribution. Don't bother reading the code yet; it is not important at this stage." - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import math\n", - "\n", - "def gaussian (x, mu, sigma):\n", - " ''' compute the gaussian with the specified mean(mu) and sigma'''\n", - " return math.exp (-0.5 * (x-mu)**2 / sigma) / math.sqrt(2.*math.pi*sigma)\n" - ], - "language": "python", - "metadata": {}, - "outputs": [], - "prompt_number": 7 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "xs = arange(0,10,0.1)\n", - "ys = [gaussian (x, 5, 3) for x in xs]\n", - "plot (xs, ys)\n", - "show()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "display_data", - "png": "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\ngg==\n", - "text": [ - "" - ] - } - ], - "prompt_number": 16 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Probably this is immediately recognizable to you as a 'bell curve'. This curve is ubiquitious because under real world conditions most observations are distributed in such a manner. We will not prove the math here, but the **central limit theorem** proves that under certain conditions the arithmetic mean of independent observations will be distributed in this manner, even if the observations themselves do not have this distribution. In nonmathematical terms, this means that if you take a bunch of measurements from a sensor and use them in a filter, they are very likely to create this distribution.\n", - "\n", - "Before we go further, a moment for terminology. This is variously called a normal distribution, a Gaussian distribution, or a bell curve. However, other distributions also have a bell shaped curve, so that name is somewhat ambiguous, and we will not use it again." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Gaussian Distributions\n", - "\n", - "So let us explore how gaussians work. A gaussian is a continuous probability distribution that is completely described with two parameters, the mean ($\\mu$) and the variance ($\\sigma^2$). It is defined as:\n", - "$$ \n", - "f(x, \\mu, \\sigma) = \\frac{1}{\\sigma\\sqrt{2\\pi}} e^{-0.5*{(x-\\mu)^2}/\\sigma^2 }\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You will not need to understand how this equation comes about, or remember it for this book, but it is useful to look at it to see how it works. Specifically, notice the term for $e$. When $x==\\mu$, the term reduces to $e^0=1$. Any other value of x will result in a smaller value for the exponent term due to the negative sign, so the curve will always be highest at $x==\\mu$.\n", - "\n", - "Now we will plot a gaussian centered around 23 ($\\mu=23$), with a variance of 1 ($\\sigma^2=1$). " - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "xs = arange(16,30,0.1)\n", - "ys = [gaussian (x,23,1) for x in xs]\n", - "plt.plot (xs,ys, 'r')\n", - "plt.axvline(23); plt.axvline(24) \n", - "plt.show()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "display_data", - "png": "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\nm2++uePr9vZ2MWLECBll+aWlpUXMnj1bLF++vOO55ORk8dVXXwkhhDh+/LhITk6WVV6feqpfCCFW\nrVolpk+fLq5cuSKpMv90rX/Pnj3i1ltvFSaTSZhMJhETEyPuuOMOcfLkScmV9qynn7+Wzt+e6tfS\n+ev1zDPPiOeffz7gc1f6zUvmzZuHzZs3AwAOHjyIlpYWjNXQjTLMZjM+/vhjAMDmzZsxceJEyRX1\nTAiB0tJSTJo0CUuWLOl4vqioCG+88QYA4I033sC8efNklehTb/Xb7XY8//zzqK6uxpAhQyRW6FtP\n9aelpeHkyZNoaGhAQ0MDjEYjdu3ahVtvvVVytd319vPXyvnbW/1aOH9Pnz7dcaXNlStX8NFHHyEz\nMzPwczfEv4Q6KSkpEXFxceKGG24QRqNRvP7666KlpUU8+OCDIjU1VUyePFnVy45669fr9R3179ix\nQ+Tk5Air1SqmTp0qdu3aJbvMHm3ZskXodDphtVpFRkaGyMjIEBs2bBBnzpwRs2bNEklJSaKgoECc\nO3dOdqk96qn+9evXC7PZLG6//faO5xYuXCi71B71Vv/1JkyYoNox+97eP1o5f3v7+Wvh/N2zZ4/I\nzMwUVqtVpKWlieeee04IIQI+dzmpiogoCkgfxiEiotBj2BMRRQGGPRFRFGDYExFFAYY9EVEUYNgT\nEUUBhj0RURRg2BMRRYH/B9IztzcPXIvMAAAAAElFTkSuQmCC\n", - "text": [ - "" - ] - } - ], - "prompt_number": 34 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As we expected the curve is centered around 23. The width of the curve is defined by the variance. If the variance is large than the curve will be wide, and if the variance is small the curve will be narrow.\n", - "\n", - "So what does this curve *mean*? Assume for a moment that we have a themometer that reads 23$\\,^{\\circ}$. We have asserted (without proof) that the distribution will be *normal*. If that is true, then this chart can be interpreted as a continuous curve depicting our belief that the temperature is any given temperature. In this curve, we assign a probability of the temperature being exactly 23$\\,^{\\circ}$ is 40%. Looking to the right, we assign the probability that the temperature is 24$\\,^{\\circ}$ is about 25%. We find 20$\\,^{\\circ}$ and 26$\\,^{\\circ}$ quite unlikely, and temperatures beyond that range extremely rare. \n", - "\n", - "Since this is a probability distribution it is required that the area under the curve always equals one. This should be intuitively clear - the area under the curve represents all possible occurances, which must sum to one.\n", - "\n", - "This leads to an important insight. If the variance is small the curve will be narrow. To keep the area == 1, the curve must also be tall. On the other hand if the variance is large the curve will be wide, and thus it will also have to be short to make the area == 1.\n", - "\n", - "Let us look at that:" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "plt.plot (xs,[gaussian(x, 23, .2) for x in xs],'b')\n", - "plt.plot (xs,[gaussian(x, 23, 1) for x in xs],'g')\n", - "plt.plot (xs,[gaussian(x, 23, 5) for x in xs],'r')\n", - "plt.show()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "display_data", - "png": "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\n", - "text": [ - "" - ] - } - ], - "prompt_number": 35 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "So what is this telling us? The blue gaussian is very narrow. It is saying that we believe x=23, and that we are very sure about that. In contrast, the red gaussian also believes that x=23, but we are much less sure about that. Our believe that x=23 is lower, and so our belief about the likely possible values for x is spread out - we think it is quite likely that x=2 or x=8, for example. The blue gaussian has almost completely eliminated 22 or 24 as possible value - their probably is almost 0.0, whereas the red curve considers them nearly as likely as 23.\n", - "\n", - "If we think back to the thermometer, we can consider these three curves as representing 3 thermometers. The blue curve represents a very accurate thermometer, and the red one represents a fairly inaccurate one. Green of course represents one in between the two others. Note the very powerful property the Gaussian distribution affords us - we can entirely represent both the reading and the error of a thermometer with only two numbers - the mean and the variance.\n", - "\n", - "The standard notation for a normal distribution is just $N(\\mu,\\sigma^2)$. I will not go into detail as to why $\\sigma^2$ is used, other than to note that $\\sigma$ is commonly called the *standard deviation*, which has enormous utility in statistics. The standard deviation is not really used in this book, so I will not address it further. The important thing to understand is that the variance ($\\sigma^2$) is a measure of the width of the curve. The curve above is notated as $N(23, 1)$, since $\\mu=23$ and $\\sigma=1$. We will use this notiation throughout the rest of the book, so learn it now.\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Computational Properties of the Gaussian\n", - "\n", - "Recall how our histogram filter worked. We had a vector (Python array) representing our belief at a certain moment in time. When we performed another measurement using the *sense()* function we had to multiply probabilities together, and when we performed the motion step using the *update()* function we had to shift and add probabilities. I've promised you that the Kalman filter uses essentially the same process, and that it uses Gaussians instead of histograms, so you might reasonable expect that we will be multipling, adding, and shifting Gaussians in the Kalman filter.\n", - "\n", - "A typical math book would directly launch into a multipage proof of the behavior of Gaussians under these operations, but I don't see the value in that unless you plan to do statistics. I think the math will be much more intuitive and clear if we just start developing a Kalman filter using Gaussians, and I will provide the equations for multiplying and shifting Gaussians at the appropriate time. You will then be able to develop a physical intuition for what these operations do, rather than be forced to digest a lot of fairly abstract math.\n", - "\n", - "The key point, which I will only assert for now, is that all the operations are very simple, and that they preserve the properties of the Gaussian. This is somewhat remarkable, in that the Gaussian is a nonlinear function, and typically if you multiply a nonlinear equation with itself you end up with a different equation. For example, the shape of $sin(x)sin(x)$ is very different from $sin(x)$. But the result of multiplying two Gaussians is yet another Gaussian. This is a fundamental discovery, and the key reason why Kalman filters are possible\n", - "\n", - "\n", - "#### Summary and Key Points" - ] - } - ], - "metadata": {} - } - ] +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#Gaussian Probabilities\n", + "\n", + "#### Introduction\n", + "\n", + "The histogram filter uses a vector or multidimensional array of probabilities to represent our belief of the system state. This is very powerful, but it has limitations. Let us list a few. First, it is multimodal, and we may not want a multimodal result. In other words, we would not want our GPS telling us that we are 50% likely to be here, 40% likely to be there, and so on. There are plenty of techniques to go from a multimodal histogram to a unimodal result, but they all involve significant processing time. This becomes worse as we extend the problem into multiple dimensions. In general for $d$ dimensions the computational run time will be $O(n^d)$. So these filters become intractable in higher dimensions. \n", + "\n", + "Second, the results are hard to analyze. Recall the GPS in your car. It probably has a display that tells you how much error is in the filter - it tells you are at a specific location on the earth, with for example 9 meters of error. How would you derive that information from a histogram filter? There is no clear cut way. Most, if not all of the bins in the histogram will be non-zero, and there will usually be several clusters of higher probabilities. Being multimodal, there is no clear way to derive a single error estimate. Certainly one could come up with a heuristic, but often we want mathematically precise answers, not heuristics.\n", + "\n", + "Third, the histogram is discrete, but we live in a continuous world. The histogram requires that you model the output of your filter as a set of discrete points. In our dog in the hallway example, we used 10 positions, which is obviously far too few positions for anything but a toy problem. For example, for a 100 meter hallway you would need 10,000 positions to model the hallway to 1cm accuracy. So each sense and update operation would entail performing calculations for 10,000 different probabilities. It gets exponentially worse as we add dimensions. If our dog was roaming in a $100x100 m^2$ courtyard, we would need 100,000,000 bins ($10,000^2$) to get 1cm accuracy.\n", + "\n", + "Finally, the histogram does not represent what happens in the pysical world very well. For example, in the last chapter we had this as a probability distribution: [ 0.2245871 0.06288015 0.06109133 0.0581008 0.09334062 0.2245871\n", + " 0.06288015 0.06109133 0.0581008 0.09334062]. The largest probabilities are in position 0 and position 5. This does not fit our physical intuition at all. A dog cannot be in two places at once.\n", + " \n", + " \n", + "Consider how a bimetallic thermometer works. These thermometers use a strip of bimetallic material bent into a loose coil shape, with a pointer attached to the spring. The two metals expand at different rates, so the strip will either coil tighter or uncoil as the temperature changes, and the pointer indicates the current temperature. It is in some ways a crude system, yet it works well. What kinds of errors might we expect from this system? It will not respond to rapid temperature changes, so it will always lag the current temperature a small amount. There may be frictions in the system causing the pointer to not register the correct value. And so on. Finally, when you read the dial you will rarely be exactly perpindicular to the face of the dial. Viewing the pointer against the dial from an angle will result in a small reading error - 34 might look like 35 from the left of the dial, for example. However, in total all of these effects will generally be low, and we would expect the total errors to always be small. We would probably agree that an error of 2 degrees is reasonable, but an error of 100 degrees would occur extremely rarely, if ever. Furthermore, we would expect the errors to cluster around the correct value. So in most systems we would expect the errors to equally likely to be larger or smaller than the correct value. If the correct temperature was 35 degrees, and we were told the thermometer was accurate within 2 degrees, we wouldn't be suprised to read either 33 degrees or 37 degrees. \n", + "\n", + "So we desire a unimodal, continuous way to represent probabilities that models how the real world works, and that is very computationally efficient to calculate. As you might guess from the chapter name, gaussian distributions provide all of these features.\n", + "\n", + "\n", + "#### Probability Distributions\n", + "\n", + "Before we go into the math, lets look at a graph of the gaussian distribution. Don't bother reading the code yet; it is not important at this stage." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "\n", + "def gaussian (x, mu, sigma):\n", + " ''' compute the gaussian with the specified mean(mu) and sigma'''\n", + " return math.exp (-0.5 * (x-mu)**2 / sigma) / math.sqrt(2.*math.pi*sigma)\n" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 1 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "%matplotlib inline\n", + "\n", + "xs = arange(0,10,0.1)\n", + "ys = [gaussian (x, 5, 3) for x in xs]\n", + "plot (xs, ys)\n", + "show()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\ngg==\n", + "text": [ + "" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Probably this is immediately recognizable to you as a 'bell curve'. This curve is ubiquitious because under real world conditions most observations are distributed in such a manner. We will not prove the math here, but the **central limit theorem** proves that under certain conditions the arithmetic mean of independent observations will be distributed in this manner, even if the observations themselves do not have this distribution. In nonmathematical terms, this means that if you take a bunch of measurements from a sensor and use them in a filter, they are very likely to create this distribution.\n", + "\n", + "Before we go further, a moment for terminology. This is variously called a normal distribution, a Gaussian distribution, or a bell curve. However, other distributions also have a bell shaped curve, so that name is somewhat ambiguous, and we will not use it again." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Gaussian Distributions\n", + "\n", + "So let us explore how gaussians work. A gaussian is a continuous probability distribution that is completely described with two parameters, the mean ($\\mu$) and the variance ($\\sigma^2$). It is defined as:\n", + "$$ \n", + "f(x, \\mu, \\sigma) = \\frac{1}{\\sigma\\sqrt{2\\pi}} e^{-0.5*{(x-\\mu)^2}/\\sigma^2 }\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You will not need to understand how this equation comes about, or remember it for this book, but it is useful to look at it to see how it works. Specifically, notice the term for $e$. When $x==\\mu$, the term reduces to $e^0=1$. Any other value of x will result in a smaller value for the exponent term due to the negative sign, so the curve will always be highest at $x==\\mu$.\n", + "\n", + "Now we will plot a gaussian centered around 23 ($\\mu=23$), with a variance of 1 ($\\sigma^2=1$). " + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "xs = arange(16,30,0.1)\n", + "ys = [gaussian (x,23,1) for x in xs]\n", + "plt.plot (xs,ys, 'r')\n", + "plt.axvline(23); plt.axvline(24) \n", + "plt.show()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "iVBORw0KGgoAAAANSUhEUgAAAXsAAAEACAYAAABS29YJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X10U2WeB/BvoFEE5NUqJamGNqUNtk0LfeFlqmFoqTBO\nhcqc6VnfZuxoh12GYZzxuLNnZwTXszPVcTloXa3MyOroVmbFobpARIZGWRSC0OHFwqFAKyEI8k4p\nL23TZ/+4ptK3NGmTPPcm3885HJvkPvf+WnO/ffrkPs/VCSEEiIgoog2SXQAREYUew56IKAow7ImI\nogDDnogoCjDsiYiiAMOeiCgK9Bn2drsdKSkpSEpKQnl5ea/b7dixAzExMVizZk3AbYmIKLR0vq6z\n93g8SE5OxqZNm2AwGJCdnY2qqipYLJZu2xUUFGDo0KH48Y9/jPvvv9/vtkREFHo+e/ZOpxNmsxkm\nkwl6vR4lJSWorq7utt1LL72EBQsWIDY2NuC2REQUej7D3u12Iz4+vuOx0WiE2+3utk11dTUWLlwI\nANDpdH63JSKi8PAZ9t7g9mXJkiX4/e9/D51OByEEvKNC/rQlIqLwiPH1osFggMvl6njscrlgNBo7\nbbNz506UlJQAAE6fPo0NGzZAr9f71RYAzGYzDh8+PKBvgogo2iQmJuLQoUP+NxA+tLa2ioSEBNHQ\n0CCuXbsmrFarqKur63X7H/3oR2LNmjUBte2jBNV7+umnZZcwIKy/i1/8QoipU4WoqRGivV0AQogF\nC4Sw2YRoawvusYQQwNNB32e48L0jV6DZ6XMYJyYmBhUVFSgsLMSkSZPwwx/+EBaLBZWVlaisrPT5\nS6S3tkSqtWED8O67wLp1gM0GeIci33kHEALg5cOkYT6HcQBgzpw5mDNnTqfnysrKetx21apVfbYl\nUqUTJ4BHHwVWrwbGjOn82uDBwFtvAVOmADNnAtOmyamRaAA4g3aAbDab7BIGhPV/Y9Ei4Cc/Ae66\nq+fXjUagshJ46CGgrS04xwQA2IK4r/Die0dbfE6qCksB31zFQyRNfT0wfTrw5ZfA0KGdXtLplBGc\nDt/5DrBkCbBgQVAO3W3/RH4KNDvZsydasQJ4/PFuQd+jX/wC+I//CH1NREHGnj1Ft7NngcRE4Isv\ngPHju73creft8QBJScB//zcwdeqAD8+ePfUXe/ZEgVi5Evj+93sM+h4NHgz8/OfA8uWhrYsoyNiz\np+jV2gpMmAB88AGQmdnjJj32vJuaAJMJ2LULuOOOAZXAnj31F3v2RP6qqVF69L0Efa9uvhn44Q+B\nqqrQ1EUUAgx7il5r1gA/+EH/2i5YoLQn0ggO41B08niAuDhg2zYgIaHXzXodZmlrU/4qcDqVIZ1+\n4jAO9ReHcYj8sWWLMlHKR9D7FBMD3Hcf8N57wa2LKEQY9hSd3n134BOjFixQ9kOkARzGoejT3q70\n6h0OYOJEn5v6HGZpbQXGjQN271b21w8cxqH+4jAOUV8++wwYO7bPoO+TXq9co//XvwanLqIQYthT\n9Hn/fWD+/ODsa/58gPdWJg1g2FP02bQJmD07OPuaORPYvh24ciU4+yMKEYY9RZfTp5VVLnNygrO/\nESOAtDTg00+Dsz+iEGHYU3SpqQHy8oAbbgjePvPzlb8WiFSMYU/R5W9/U8I5mGbNUvZLpGIMe4ou\nmzYFP+ynTgUOHADOnQvufomCqM+wt9vtSElJQVJSEsp7uOFydXU1rFYrMjMzMWXKFGzevLnjNZPJ\nhPT0dGRmZiInWGOkRP3V0KCsWJmaGtz93ngjMGOGMkREpFI+J1V5PB4kJydj06ZNMBgMyM7ORlVV\nFSwWS8c2zc3NGDZsGABg7969mD9/Pg4dOgQAmDBhAnbu3IkxXW/gfH0BnFRF4fLHPwKbNys3HvGT\n35Oe/vAH4MgR4D//M6CSOKmK+iuok6qcTifMZjNMJhP0ej1KSkpQ3eWaYm/QA8ClS5dwyy23dHqd\nQU6qEYrxeq/8fI7bk6r5DHu32434+PiOx0ajEW63u9t2a9euhcViwZw5c/Diiy92PK/T6ZCfn4+s\nrCysXLkyiGUTBUgIZZhl5szQ7D89HThzBujh/CBSA59hr9Pp/NrJvHnzsH//fnzwwQd46KGHOp7f\nunUramtrsWHDBrz88svYsmXLwKol6q8jR5RbCg5gOWKfBg0Cpk3j9fakWjG+XjQYDHC5XB2PXS4X\njD4WfMrLy0NbWxvOnDmDsWPHIi4uDgAQGxuL+fPnw+l0Ii8vr1u7pUuXdnxts9lgs9kC/DaI+vDp\np8qHqH52YPplxgzlOP29IQqRDw6HAw6Ho/87ED60traKhIQE0dDQIK5duyasVquoq6vrtM2hQ4dE\ne3u7EEKInTt3ioSEBCGEEM3NzeLixYtCCCEuXbokpk+fLj788MNux+ijBKLg+OlPhVi+POBmAb09\nP/5YiJyc0O2f6DqBZqfPnn1MTAwqKipQWFgIj8eD0tJSWCwWVFZWAgDKysqwZs0avPnmm9Dr9Rg+\nfDjeeecdAMCJEydQXFwMAGhra8MDDzyA2cFaj4QoUJ9+Cvz4x6E9RlYWsG+fsk7OTTeF9lhEAeJ6\n9hT5LlwADAZl0pNeH1DTgC+NzM0Fnn8euOuu0Oyf6Btcz56oq+3bgSlTAg76fpk+nR/Skiox7Cny\nffqpEsLhwLAnlWLYU+TzXokTDt4rcjg2QyrDsKfI5vEowzhTp4bneOPHA8OHAwcPhud4RH5i2FNk\n27cPiIsDuizjEVIcyiEVYthTZHM6lStkwik3VzkukYow7Cmyff45kJ0d3mNmZyvHJVIRhj1Fts8/\nVyY7hVNGBvDFF8C1a+E9LpEPDHuKXFevAvv3A1ZreI87dChgNgN794b3uEQ+MOwpcu3ZA0ycKGfp\ngqwsDuWQqjDsKXLJGK/34rg9qQzDniKXjPF6r6wsYMcOOccm6gHDniKXzLBPTwfq64HLl+Ucn6gL\nhj1FpuZm4PBhIC1NzvFvvBGwWIDdu+Ucn6gLhj1Fpr//HbjzTuCGG+TVkJ3NoRxSDYY9RSaZQzhe\nvCKHVIRhT5Hp88+VNexlYtiTijDsKTLV1gKTJ8utYdIkoKFBuU0hkWQMe4o8V64AR44oY/Yy3XAD\nkJysrLxJJFmfYW+325GSkoKkpCSUl5d3e726uhpWqxWZmZmYMmUKNm/e7HdbopDYu1eZOSvzw1mv\njAzlw2IiyXzecNzj8SA5ORmbNm2CwWBAdnY2qqqqYLFYOrZpbm7GsGHDAAB79+7F/PnzcejQIb/a\nArzhOIXAa68Bn30GrFo14F0N+Ibgy5crl4BWVIRm/xS1gnrDcafTCbPZDJPJBL1ej5KSElRXV3fa\nxhv0AHDp0iXc8s1NIvxpSxQStbVAZqbsKhTs2ZNK+Ax7t9uN+Pj4jsdGoxFut7vbdmvXroXFYsGc\nOXPw4osvBtSWKOj+/nclZNXAalUWZGtvl10JRbkYXy/qdDq/djJv3jzMmzcPW7ZswUMPPYQDBw4E\nVMTSpUs7vrbZbLDZbAG1J+rg8Shj9moJ+zFjgFGjlKtyEhNlV0Ma5nA44HA4+t3eZ9gbDAa4XK6O\nxy6XC0ajsdft8/Ly0NbWhrNnz8JoNPrd9vqwJxqQgweBceOAESNkV/Itq1VZNoFhTwPQtSO8bNmy\ngNr7HMbJyspCfX09Ghsb0dLSgtWrV6OoqKjTNocPH+74kGDXrl0AgLFjx/rVlijo1DSE48Vxe1IB\nnz37mJgYVFRUoLCwEB6PB6WlpbBYLKisrAQAlJWVYc2aNXjzzTeh1+sxfPhwvPPOOz7bEoWUmj6c\n9bJagT//WXYVFOV8XnoZlgJ46SUFU0EBsGQJ8L3vBWV3Qbk08tAhYNYs4MsvQ7N/ikpBvfSSSFOE\nUIZL1NazT0gAzp1T/hFJwrCnyHH8uPLfuDi5dXQ1aJCyrj7XtieJGPYUOfbuVcbH/bxkOKwyMhj2\nJBXDniLHnj3K7QDVyGrlFTkkFcOeIoeaw549e5KMYU+RQ81hn5oKHDgAtLbKroSiFMOeIkNLC1Bf\nr9zkW42GDgXuuEMJfCIJGPYUGQ4cAEwm4KabZFfSO47bk0QMe4oMe/eqdwjHi+P2JBHDniKDmsfr\nvbhGDknEsKfIoIWw965+yfURSAKGPUWGPXuUWapqNm6cMpvWO9OXKIwY9qR9p08Dly4pV7uomU73\nbe+eKMwY9qR9e/cqvXo1LpPQFcftSRKGPWmfFq7E8WLPniRh2JP2aeHDWa/0dKVeojBj2JP2aSns\nk5OVm5hcvSq7EooyDHvSNo8H+OILZe0ZLbjhBiApCairk10JRRmGPWnb4cPArbcCI0bIrsR/aWkc\nyqGw6zPs7XY7UlJSkJSUhPLy8m6vv/3227BarUhPT8eMGTOw57o3sclkQnp6OjIzM5GTkxPcyokA\nbQ3heHHcniSI8fWix+PBokWLsGnTJhgMBmRnZ6OoqAiW61YWTEhIwCeffIKRI0fCbrfj8ccfx7Zt\n2wAoN8R1OBwYM2ZMaL8Lil5auhLHKz0d+Ogj2VVQlPHZs3c6nTCbzTCZTNDr9SgpKUF1dXWnbaZN\nm4aRI0cCAHJzc3Hs2LFOrwdy93OigLFnT+QXn2HvdrsRHx/f8dhoNMLtdve6/Z/+9CfMnTu347FO\np0N+fj6ysrKwcuXKIJRL1IUWwz4uDmhrA06elF0JRRGfwzi6AGYk1tTU4PXXX8fWrVs7ntu6dSvi\n4uJw6tQpFBQUICUlBXl5ed3aLl26tONrm80Gm83m93EpijU1AV99BZjNsisJjE53Xe++QHY1pBEO\nhwMOh6Pf7X2GvcFggMvl6njscrlgNBq7bbdnzx489thjsNvtGD16dMfzcXFxAIDY2FjMnz8fTqez\nz7An8tu+fcCkScDgwbIrCRzDngLUtSO8bNmygNr7HMbJyspCfX09Ghsb0dLSgtWrV6OoqKjTNkeP\nHkVxcTHeeustmK/rYV2+fBlNTU0AgObmZmzcuBFpal+VkLRFix/OeqWnK/UThYnPnn1MTAwqKipQ\nWFgIj8eD0tJSWCwWVFZWAgDKysrwzDPP4Ny5c1i4cCEAQK/Xw+l04sSJEyguLgYAtLW14YEHHsDs\n2bND/O1QVNHieL1XWhrw8suyq6AoohOSL5fR6XS8Yof65667gKVLge9+N2SH0OlCdK+R5mYgNha6\nK5d5LxPql0CzkzNoSZuE0MYNS3ozbBjQw+dfRKHCsCdtcrmAm24CYmNlV9J/Wh2CIk1i2JM2aXm8\n3kurf5WQJjHsSZu0fCWOl9brJ01h2JM2RULPXuv1k6Yw7EmbIiHsJ0xQ/nv+vNw6KCow7El7rl4F\njhwBUlJkVzIwg745/fbtk1sHRQWGPWnP/v1AYiJw442yKwkOroBJYcCwJ+2JhCGc6zHsKQwY9qQ9\nkXAlzvUY9hQGDHvSnkjr2e/bB7S3y66CIhzDnrQn0sJ+5Ejgyy9lV0ERjmFP2nLyJHDtGmAwyK4k\neHibQgoDhj1pi7dXH8Bd1FSPYU9hwLAnbdm9G7BaZVcRXAx7CgOGPWnL7t1ARobsKoIrLY1hTyHH\nsCdticSefXIycPQocPmy7EoogjHsSTuuXQPq64E775RdSXDp9Urg19XJroQiGMOetGP/fiAhARgy\nRHYlwcdxewqxPsPebrcjJSUFSUlJKC8v7/b622+/DavVivT0dMyYMQN7rnvD9tWWKCB//3vkDeF4\ncdyeQsxn2Hs8HixatAh2ux11dXWoqqrC/v37O22TkJCATz75BHv27MFvfvMbPP744363JQpIJI7X\ne7FnTyHmM+ydTifMZjNMJhP0ej1KSkpQXV3daZtp06Zh5MiRAIDc3FwcO3bM77ZEAYnEK3G8vGEv\nhOxKKEL5DHu32434+PiOx0ajEW63u9ft//SnP2Hu3Ln9akvkkxCR3bMfN06ZKHbihOxKKELF+HpR\nF8AsxZqaGrz++uvYunVrwG2XLl3a8bXNZoPNZvO7LUUJtxuIiVFCMRLpdN+O28fFya6GVMjhcMDh\ncPS7vc+wNxgMcLlcHY9dLheMRmO37fbs2YPHHnsMdrsdo0ePDqgt0DnsiXoUyR/OenmHcgoLZVdC\nKtS1I7xs2bKA2vscxsnKykJ9fT0aGxvR0tKC1atXo6ioqNM2R48eRXFxMd566y2YzeaA2hL5LZKH\ncLzS05W1+olCwGfPPiYmBhUVFSgsLITH40FpaSksFgsqKysBAGVlZXjmmWdw7tw5LFy4EACg1+vh\ndDp7bUvUL7t3A/fdJ7uK0EpPB1askF0FRSidEHI//tfpdJBcAmlBcjKwZg2QmhrWw+p0ob1AptP+\nr1wBxo4Fzp2LnPvrUsgEmp2cQUvq19wMuFxK4Eeym25SZghz2QQKAYY9qd/evUBKirKGTKTLyFA+\njCYKMoY9qV80fDjrxbCnEGHYk/ox7IkGjGFP6hfJyyR0lZGhfL+8aIGCjGFP6tberozZR0vP/pZb\ngJtvBhobZVdCEYZhT+p25AgwahTwzczsqMChHAoBhj2pWzSN13sx7CkEGPakbgx7oqBg2JO6RdOH\ns14MewoBhj2pWzT27CdMAM6fB86ckV0JRRCGPanX2bPKv8RE2ZWE16BByi849u4piBj2pF67dilD\nGoOi8G06ZQqwc6fsKiiCROFZRJqxaxcwebLsKuSYPFn5/omChGFP6rVzp9LDjUbs2VOQMexJvaI5\n7JOTga++Ai5ckF0JRQiGPanT+fPAiRORv4Z9bwYPVj6k5VAOBQnDntSptlYJu8GDZVciz5QpDHsK\nGoY9qVM0D+F4TZ7McXsKmj7D3m63IyUlBUlJSSgvL+/2+oEDBzBt2jQMGTIEL7zwQqfXTCYT0tPT\nkZmZiZycnOBVTZGPYc8PaSmofN5w3OPxIDk5GZs2bYLBYEB2djaqqqpgsVg6tjl16hS+/PJLrF27\nFqNHj8Yvf/nLjtcmTJiAnTt3YsyYMb0XwBuOU0+Sk4F33wXS0qSWEdYbjnfV1gaMHKl8UDtiROiK\nIE0K6g3HnU4nzGYzTCYT9Ho9SkpKUF1d3Wmb2NhYZGVlQd/L/UEZ5BSwixeBY8eA6zoVUSkmRvll\nx5m0FAQ+w97tdiM+Pr7jsdFohNvt9nvnOp0O+fn5yMrKwsqVK/tfJUWX2logPV0Ju2jHoRwKEp9n\nk06nG9DOt27diri4OJw6dQoFBQVISUlBXl5et+2WLl3a8bXNZoPNZhvQcUnjOF7/rawsYNMm2VWQ\nCjgcDjgcjn639xn2BoMBLper47HL5YLRaPR753FxcQCUoZ758+fD6XT2GfZE2L4duPde2VWoQ04O\n8O//LrsKUoGuHeFly5YF1N7nME5WVhbq6+vR2NiIlpYWrF69GkVFRT1u23Vs/vLly2hqagIANDc3\nY+PGjUiT/GEbaYTTqYQcASkpwMmTyuqfRAPgs2cfExODiooKFBYWwuPxoLS0FBaLBZWVlQCAsrIy\nnDhxAtnZ2bh48SIGDRqEFStWoK6uDl9//TWKi4sBAG1tbXjggQcwe/bs0H9HpG1ff63Mnk1Kkl2J\nOgwerAxp7dgBFBbKroY0zOell2EpgJde0vXWrQNWrAA2bpRdCQDJl156/fM/A0OHAr/9begKIc0J\n6qWXRGG3fTuHcLrKyVGGtogGgGFP6sLx+u68Yc+/gGkAGPakHkIw7HtiNAJ6PdDYKLsS0jCGPanH\n4cPAzTcD48bJrkR9OJRDA8SwJ/Vgr753DHsaIIY9qcf27UBuruwq1Ck3V/n5EPUTw57Ug1fi9C4r\nS1kQrbVVdiWkUQx7UocrV4C9e5VQo+5GjAASEpRF4oj6gWFP6rBjB5Caqkweop7NmAF8+qnsKkij\nGPakDlu3KmFGvZsxQ/k5EfUDw57UgWHfN2/Yc3IV9QPDnuRrb1eGJxj2vplMyn85uYr6gWFP8h04\nAIwezclUfdHpOJRD/cawJ/m2bgWmT5ddhTZMn86wp35h2JN8HK/3H3v21E8Me5KPYe+/zEzgyBHl\nBi9EAWDYk1xffw2cOgXceafsSrRBr1cmnm3bJrsS0hiGPcn18cfAd74DDOJb0W933aX83IgCwDOM\n5KqpAWbOlF2FtsycqfzciALQZ9jb7XakpKQgKSkJ5eXl3V4/cOAApk2bhiFDhuCFF14IqC0Rw74f\npk0D9u0DLl6UXQlpiM+w93g8WLRoEex2O+rq6lBVVYX9+/d32mbs2LF46aWX8Ktf/SrgthTljh8H\nTp4ErFbZlWjLkCFAdjawZYvsSkhDfIa90+mE2WyGyWSCXq9HSUkJqqurO20TGxuLrKws6PX6gNtS\nlHM4lPHnwYNlV6I9HMqhAPkMe7fbjfj4+I7HRqMRbrfbrx0PpC1FCQ7h9B/DngIU4+tFnU7X7x0H\n0nbp0qUdX9tsNthstn4flzSkpgb42c9kV6FNOTnAwYPAuXPKUhMU8RwOBxwOR7/b+wx7g8EAl8vV\n8djlcsFoNPq140DaXh/2FCVcLmViUGqq7Eq06cYbgalTgU8+Ae67T3Y1FAZdO8LLli0LqL3PYZys\nrCzU19ejsbERLS0tWL16NYqKinrcVnRZdjWQthSFamoAm43X1w8Eh3IoAD579jExMaioqEBhYSE8\nHg9KS0thsVhQWVkJACgrK8OJEyeQnZ2NixcvYtCgQVixYgXq6uowfPjwHtsSAQD+9jfgu9+VXYW2\nzZoFlJbKroI0Qie6dsnDXYBO1+2vAopw7e1AXBzw2WfKfVVVTKcL7b1CBrR/jwe47TblvrTXXQxB\n0SHQ7OTf0BR+tbXAqFGqD3rVGzwYKCgA7HbZlZAGMOwp/Ox2YM4c2VVEhjlzGPbkF4Y9hd+GDQz7\nYCksVD7/aG2VXQmpHMOewuvcOWDPHuDuu2VXEhluuw0wm5XPP4h8YNhTeG3apCxpPGSI7Eoixz33\nKH8tEfnAsKfw4hBO8M2Zw7CnPvHSSwqf9nbAaFRmfZrNsqvxi6ovvfRqawNuvRXYuxcwGIJSF6kf\nL70k9dqxQ7nkUiNBrxkxMcDcuQBXlSUfGPYUPmvWAPffL7uKyHT//cB778muglSMwzgUHkIASUnA\n//wPkJkpuxq/aWIYBwAuX1ZmJR85AowdG4QdktpxGIfUae9eZXp/RobsSiLT0KFAfj7w/vuyKyGV\nYthTeLz3HlBcrHRlKTSKizmUQ73iMA6FR3o68OqrwPTpsisJiGaGcQDgwgVlQTS3G7j55iDtlNSK\nwzikPvX1wKlTys02KHRGjlQmrK1bJ7sSUiGGPYXeO+8oV4vwRiWht2CB8vMm6oLDOBRaQgATJwJv\nv63cN1VjNDWMAwAXLypDOYcPA7fcEsQdk9pwGIfUZds2ZdJPdrbsSqLDiBHAvfeyd0/dMOwptN54\nA3j4YV6FE04PP6z83Imu02fY2+12pKSkICkpCeXl5T1us3jxYiQlJcFqtaK2trbjeZPJhPT0dGRm\nZiJHg3/C0wBdvapMonrwQdmVRJf8fOWKnLo62ZWQivgMe4/Hg0WLFsFut6Ourg5VVVXYv39/p23W\nr1+PQ4cOob6+Hq+99hoWLlzY8ZpOp4PD4UBtbS2cTmdovgNSr//9X2W2LO+PGl6DByu/YP/8Z9mV\nkIr4DHun0wmz2QyTyQS9Xo+SkhJUd1ls6f3338cjjzwCAMjNzcX58+dx8uTJjtf54WsUW7VKGVKg\n8Hv4YSXs29pkV0Iq4TPs3W434q/rlRmNRrjdbr+30el0yM/PR1ZWFlauXBnMukntDh9WVrn8wQ9k\nVxKdUlOBCROAtWtlV0IqEePrRZ2fH6r11nv/v//7P4wfPx6nTp1CQUEBUlJSkJeXF3iVpD0vvww8\n+ihw002yK4leP/sZ8NJLyrX3FPV8hr3BYIDL5ep47HK5YDQafW5z7NgxGL65gcL48eMBALGxsZg/\nfz6cTmePYb906dKOr202G2w2W8DfCKnIpUvK1SDXfVhPEsyfDzzxBLB7N2C1yq6GBsjhcMDhcPR/\nB8KH1tZWkZCQIBoaGsS1a9eE1WoVdXV1nbZZt26dmDNnjhBCiM8++0zk5uYKIYRobm4WFy9eFEII\ncenSJTF9+nTx4YcfdjtGHyWQFr38shDFxbKrCIpQvz1D/vZ/9lkhSktDfBCSIdDs9Nmzj4mJQUVF\nBQoLC+HxeFBaWgqLxYLKykoAQFlZGebOnYv169fDbDZj2LBhWLVqFQDgxIkTKC4uBgC0tbXhgQce\nwOzZs/v/W4m0QQhl6ODVV2VXQgDw+OPKDObycq5zH+W4XAIF1/vvA08/DezaFRETqTS3XEJPSkuV\ny1+vGy4l7Qs0Oxn2FDxCAFOmAL/9LTBvnuxqgiIiwv7wYSA3V1l9dPToEB+MwoVr45A83jkY990n\ntw7qLDFR+X+yfLnsSkgi9uwpONrbgcmTgWeeAYqKZFcTNBHRsweAhgZlMbqDB4ExY8JwQAo19uxJ\njrVrldUtv/992ZVQTyZMUC7FfOEF2ZWQJOzZ08BdvQrceSfwyitAhF1xFTE9ewA4elT56+vzzwGT\nKUwHpVBhz57C77nngIyMiAv6iHP77cAvfgEsWSK7EpKAPXsaGO9Y8K5dSphEmIjq2QPAtWvKujkr\nVgBz54bxwBRs7NlT+AgB/PznypT8CAz6iHTjjcqkt8WLgStXZFdDYcSwp/57/XWgsRH45S9lV0KB\nuOce5X7A/P8WVTiMQ/1z4ACQlwd8/DEwaZLsakIm4oZxvC5cUD5nWb48YibARRvOoKXQu3YNmDoV\n+OlPgbIy2dWEVMSGPQB89pkS9Dt3Al1WsyX1Y9hTaAkBPPKIMt77l79ExPo3vkR02APA734HvPce\n4HAAw4ZJLIQCxbCn0PrXfwU2bQI2bwaGDpVdTchFfNgLodxk5tSpbyfGkSbwahwKnVdeAd55B/jg\ng6gI+qig0wGvvQa0tgL/+I/KshcUkRj25J8//EFZE91uB2JjZVdDwaTXA+++C3zxBfCjHynBTxGH\nwzjkW3s78C//oqxTv3Fj1H2QF/HDONe7fFm5X+3gwcDq1fzrTeU4jEPB8/XXwPe+B2zdCmzZEnVB\nH3WGDlWNuyHlAAAI60lEQVSWqb7lFmVW9L59siuiIGLYU8/Wr1cWzZo8Gaip4S3tooVer0yWe/JJ\nYOZM4OWXAY9HdlUUBBzGoc7q65XFsg4eVD6QnTVLdkVSRdUwTlf79yvzKJqagBdfVCbRkWoEfRjH\nbrcjJSUFSUlJKC8v73GbxYsXIykpCVarFbW1tQG1JZWorQX+4R+UyVJ33638CR/lQR/1LBZlhvRT\nTwEPPqi8H+x2Ff92Ip+ED21tbSIxMVE0NDSIlpYWYbVaRV1dXadt1q1bJ+bMmSOEEGLbtm0iNzfX\n77bf/FXhqwTVq6mpkV1C/x07Jmr+6Z+EyM4WwmAQ4vnnhbhwQXZVAQn1zz/Ub0+gJrQHCJaWFiHe\nfFOItDQhEhOF+M1vRM2qVUK0t8uurN80fe6KwLPTZ8/e6XTCbDbDZDJBr9ejpKQE1d77jH7j/fff\nxyOPPAIAyM3Nxfnz53HixAm/2kYCh8MhuwT/CAEcOaLMen3iCSAtDUhLg2PLFuDZZ5UFzX71K2DE\nCNmVBkQzP/9eOWQX4B+9HnjoIWD3bmWuRVMTHIsXKzdB+clPgFWrlL8G29pkV+o37b93AuNzupzb\n7UZ8fHzHY6PRiO3bt/e5jdvtxvHjx/tsS0Hg8ShLF5w9C5w58+1/T55Uwv3IEeDwYWXd+VGjlKss\ncnKAP/4RyMoC/u3feNMR8p9Op7xvsrKUjkFJCfDRR8qs6t/9Trkb1u23AwkJyr/ERCAuTvmAf+xY\n5f63Y8cqSzNwtm5Y+fxp6/xc90QMdAzv3ns7jwN6vx7Ic+Haz9GjwIcfhr5Gj0dZgOzq1W//Xbmi\nPD90KDB6dOeTKTZWOdny8pQTbsIEzfXaSeV0OmVc32L59rmrV5WOxfUdjR07undGLl9Wth8ypPs/\nvR4YNMj3v8GDv/26v+sz1dcDTufAvv+B6G/7//ov5fLYAPkMe4PBAJfL1fHY5XLB2OVa667bHDt2\nDEajEa2trX22BYDExETo1q0LuHA1WeZ2yy2guVn5d+xYv5ovW7YsyAWFV6jrD/Vabzqddn/+A/7Z\ne9+7kiw7fFjasfvtmxnsiYmJATXzGfZZWVmor69HY2Mjxo8fj9WrV6OqqqrTNkVFRaioqEBJSQm2\nbduGUaNG4bbbbsPYsWP7bAsAhw4dCqhgIiIKnM+wj4mJQUVFBQoLC+HxeFBaWgqLxYLKykoAQFlZ\nGebOnYv169fDbDZj2LBhWLVqlc+2REQUftInVRERUeiFdbmERx99FLfddhvS0tI6Pf/SSy/BYrEg\nNTUVTz31VDhLCkhP9TudTuTk5CAzMxPZ2dnYsWOHxAp753K5MHPmTNx5551ITU3Fiy++CAA4e/Ys\nCgoKMHHiRMyePRvnz5+XXGnPeqv/ySefhMVigdVqRXFxMS5cuCC50p71Vr/XCy+8gEGDBuHs2bOS\nKvTNV/1aOH97q18L5+/Vq1eRm5uLjIwMTJo0Cb/+9a8B9OPcDcXF/r355JNPxK5du0RqamrHc5s3\nbxb5+fmipaVFCCHE119/Hc6SAtJT/Xfffbew2+1CCCHWr18vbDabrPJ8+uqrr0Rtba0QQoimpiYx\nceJEUVdXJ5588klRXl4uhBDi97//vXjqqadkltmr3urfuHGj8Hg8QgghnnrqKc3VL4QQR48eFYWF\nhcJkMokzZ87ILLNXvdWvlfO3t/q1cv42NzcLIYRobW0Vubm5YsuWLQGfu2Ht2efl5WH06NGdnnvl\nlVfw61//Gnq9HgAQq+K10nuqPy4urqM3ef78eRgMBhml9WncuHHIyMgAAAwfPhwWiwVut7vTpLhH\nHnkEa9eulVlmr3qq//jx4ygoKMCgQcrbODc3F8f6eUVSqPVWPwA88cQTeO6552SW16fe3j+vvvqq\nJs7f3urXyvk79JvlpltaWuDxeDB69OjAz92Q/0rqoqGhoVPPOCMjQzz99NMiNzdX3H333WLHjh3h\nLikgXetvbGwURqNRxMfHC4PBII4ePSqxOv80NDSI22+/XVy8eFGMGjWq4/n29vZOj9XKW39TU1On\n5++9917x9ttvS6rKf9fXv3btWrFkyRIhhFB1z/56179/tHb+CtH556+V89fj8Qir1SqGDx8unnzy\nSSGECPjclR72qampYvHixUIIIZxOp5gwYUK4SwpI1/pnzZol3nvvPSGEEH/5y19Efn6+rNL80tTU\nJCZPniz++te/CiFEtzfI6NGjZZTlt6amJjFlypSO+r2effZZUVxcLKkq/11ff3Nzs8jJyREXvlmP\nyGQyidOnT0uu0LeuP3+tnb9d69fa+Xv+/HmRm5srNm/eHPC5Kz3s77nnHuFwODoeJyYmqvoN37X+\nm2++uePr9vZ2MWLECBll+aWlpUXMnj1bLF++vOO55ORk8dVXXwkhhDh+/LhITk6WVV6feqpfCCFW\nrVolpk+fLq5cuSKpMv90rX/Pnj3i1ltvFSaTSZhMJhETEyPuuOMOcfLkScmV9qynn7+Wzt+e6tfS\n+ev1zDPPiOeffz7gc1f6zUvmzZuHzZs3AwAOHjyIlpYWjNXQjTLMZjM+/vhjAMDmzZsxceJEyRX1\nTAiB0tJSTJo0CUuWLOl4vqioCG+88QYA4I033sC8efNklehTb/Xb7XY8//zzqK6uxpAhQyRW6FtP\n9aelpeHkyZNoaGhAQ0MDjEYjdu3ahVtvvVVytd319vPXyvnbW/1aOH9Pnz7dcaXNlStX8NFHHyEz\nMzPwczfEv4Q6KSkpEXFxceKGG24QRqNRvP7666KlpUU8+OCDIjU1VUyePFnVy45669fr9R3179ix\nQ+Tk5Air1SqmTp0qdu3aJbvMHm3ZskXodDphtVpFRkaGyMjIEBs2bBBnzpwRs2bNEklJSaKgoECc\nO3dOdqk96qn+9evXC7PZLG6//faO5xYuXCi71B71Vv/1JkyYoNox+97eP1o5f3v7+Wvh/N2zZ4/I\nzMwUVqtVpKWlieeee04IIQI+dzmpiogoCkgfxiEiotBj2BMRRQGGPRFRFGDYExFFAYY9EVEUYNgT\nEUUBhj0RURRg2BMRRYH/B9IztzcPXIvMAAAAAElFTkSuQmCC\n", + "text": [ + "" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As we expected the curve is centered around 23. The width of the curve is defined by the variance. If the variance is large than the curve will be wide, and if the variance is small the curve will be narrow.\n", + "\n", + "So what does this curve *mean*? Assume for a moment that we have a themometer that reads 23$\\,^{\\circ}$. We have asserted (without proof) that the distribution will be *normal*. If that is true, then this chart can be interpreted as a continuous curve depicting our belief that the temperature is any given temperature. In this curve, we assign a probability of the temperature being exactly 23$\\,^{\\circ}$ is 40%. Looking to the right, we assign the probability that the temperature is 24$\\,^{\\circ}$ is about 25%. We find 20$\\,^{\\circ}$ and 26$\\,^{\\circ}$ quite unlikely, and temperatures beyond that range extremely rare. \n", + "\n", + "Since this is a probability distribution it is required that the area under the curve always equals one. This should be intuitively clear - the area under the curve represents all possible occurances, which must sum to one.\n", + "\n", + "This leads to an important insight. If the variance is small the curve will be narrow. To keep the area == 1, the curve must also be tall. On the other hand if the variance is large the curve will be wide, and thus it will also have to be short to make the area == 1.\n", + "\n", + "Let us look at that:" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "plt.plot (xs,[gaussian(x, 23, .2) for x in xs],'b')\n", + "plt.plot (xs,[gaussian(x, 23, 1) for x in xs],'g')\n", + "plt.plot (xs,[gaussian(x, 23, 5) for x in xs],'r')\n", + "plt.show()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n", + "text": [ + "" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "So what is this telling us? The blue gaussian is very narrow. It is saying that we believe x=23, and that we are very sure about that. In contrast, the red gaussian also believes that x=23, but we are much less sure about that. Our believe that x=23 is lower, and so our belief about the likely possible values for x is spread out - we think it is quite likely that x=2 or x=8, for example. The blue gaussian has almost completely eliminated 22 or 24 as possible value - their probably is almost 0.0, whereas the red curve considers them nearly as likely as 23.\n", + "\n", + "If we think back to the thermometer, we can consider these three curves as representing 3 thermometers. The blue curve represents a very accurate thermometer, and the red one represents a fairly inaccurate one. Green of course represents one in between the two others. Note the very powerful property the Gaussian distribution affords us - we can entirely represent both the reading and the error of a thermometer with only two numbers - the mean and the variance.\n", + "\n", + "The standard notation for a normal distribution is just $N(\\mu,\\sigma^2)$. I will not go into detail as to why $\\sigma^2$ is used, other than to note that $\\sigma$ is commonly called the *standard deviation*, which has enormous utility in statistics. The standard deviation is not really used in this book, so I will not address it further. The important thing to understand is that the variance ($\\sigma^2$) is a measure of the width of the curve. The curve above is notated as $N(23, 1)$, since $\\mu=23$ and $\\sigma=1$. We will use this notiation throughout the rest of the book, so learn it now.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Computational Properties of the Gaussian\n", + "\n", + "Recall how our histogram filter worked. We had a vector (Python array) representing our belief at a certain moment in time. When we performed another measurement using the *sense()* function we had to multiply probabilities together, and when we performed the motion step using the *update()* function we had to shift and add probabilities. I've promised you that the Kalman filter uses essentially the same process, and that it uses Gaussians instead of histograms, so you might reasonable expect that we will be multipling, adding, and shifting Gaussians in the Kalman filter.\n", + "\n", + "A typical math book would directly launch into a multipage proof of the behavior of Gaussians under these operations, but I don't see the value in that unless you plan to do statistics. I think the math will be much more intuitive and clear if we just start developing a Kalman filter using Gaussians, and I will provide the equations for multiplying and shifting Gaussians at the appropriate time. You will then be able to develop a physical intuition for what these operations do, rather than be forced to digest a lot of fairly abstract math.\n", + "\n", + "The key point, which I will only assert for now, is that all the operations are very simple, and that they preserve the properties of the Gaussian. This is somewhat remarkable, in that the Gaussian is a nonlinear function, and typically if you multiply a nonlinear equation with itself you end up with a different equation. For example, the shape of $sin(x)sin(x)$ is very different from $sin(x)$. But the result of multiplying two Gaussians is yet another Gaussian. This is a fundamental discovery, and the key reason why Kalman filters are possible\n", + "\n", + "\n", + "#### Summary and Key Points" + ] + } + ], + "metadata": {} + } + ] } \ No newline at end of file diff --git a/Kalman Filters.ipynb b/Kalman Filters.ipynb index 5edd4d3..ecc08cd 100644 --- a/Kalman Filters.ipynb +++ b/Kalman Filters.ipynb @@ -1,1115 +1,1107 @@ -{ - "metadata": { - "name": "" - }, - "nbformat": 3, - "nbformat_minor": 0, - "worksheets": [ - { - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#Kalman Filters\n", - "\n", - "\n", - "Now that we understand the histogram filter and gaussians we are prepared to implement a 1D Kalman filter. We will do this exactly as we did the histogram filter - rather than going into the theory we will just develop the code step by step. \n", - "\n", - "#Tracking A Dog\n", - "\n", - "As in the histogram chapter we will be tracking a dog in a long hallway at work. However, in our latest hackathon someone created an RFID tracker that provides a reasonable accurate position for our dog. Suppose the hallway is 100m long. The sensor returns the distance of the dog from the left end of the hallway. So, 23.4 would mean the dog is 23.4 meters from the left end of the hallway.\n", - "\n", - "Naturally, the sensor is not perfect. A reading of 23.4 could correspond to a real position of 23.7, or 23.0. However, it is very unlikely to correspond to a real position of say 47.6. Testing during the hackathon confirmed this result - the sensor is accurate, and while it had errors, the errors are small.\n", - "\n", - "Implementing and/or robustly modelling an RFID system is beyond the scope of this book, so we will write a very simple model. We will start with a simulation of the dog moving from left to right at a constant speed with some random noise added. " - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import numpy.random as random\n", - "import math\n", - "\n", - "class DogSensor(object):\n", - " \n", - " def __init__(self, x0=0, velocity=1, noise=0.0):\n", - " \"\"\" x0 - initial position\n", - " velocity - (+=right, -=left)\n", - " noise - scaling factor for noise, 0== no noise\n", - " \"\"\"\n", - " self.x = x0\n", - " self.velocity = velocity\n", - " self.noise = math.sqrt(noise)\n", - "\n", - " def sense(self):\n", - " self.x = self.x + self.velocity\n", - " return self.x + random.randn() * self.noise\n" - ], - "language": "python", - "metadata": {}, - "outputs": [], - "prompt_number": 1 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The constructor (__init__()) initializes the DogSensor class with an initial position (x0), velocity (vel), and an noise scaling factor. The *sense()* function has the dog move by the set velocity and returns its new position, with noise added. If you look at the code for *sense()* you will see a call to *numpy.random.randn()*. This returns a number sampled from a normal distribution with a mean of 0.0. Let's look at some example output for that.\n", - "\n" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "for i in range(20):\n", - " print (\"%.4f\" % random.randn())," - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "-0.1102 0.0360 -0.4926 0.7730 1.2450 0.4095 -1.9778 -0.1399 1.1690 1.4289 1.4885 -0.7673 -2.8012 1.3191 -0.5105 2.1412 -0.1252 -2.1175 -0.1274 -0.5646\n" - ] - } - ], - "prompt_number": 2 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You should see a sequence of numbers near 0, some negative and some positive. Most are probably between -1 and 1, but a few might lie somewhat outside that range. This is what we expect from a normal distribution - values are clustered around the mean, and there are fewer values the further you get from the mean.\n", - "\n", - "Okay, so lets look at the output of the *DogSensor* class. We will start by setting the noise to 0 to check that the class does what we think it does" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "dog = DogSensor (noise=0.0)\n", - "xs = []\n", - "for i in range(10):\n", - " x = dog.sense()\n", - " xs.append(x)\n", - " print(\"%.4f\" % x),\n", - "plot(xs)\n", - "show()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000" - ] - }, - { - "metadata": {}, - "output_type": "display_data", - "png": "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\nAElFTkSuQmCC\n", - "text": [ - "" - ] - }, - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "\n" - ] - } - ], - "prompt_number": 3 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The constructor initialized the dog at position 0 with a velocity of 1 (move 1.0 to the right). So we would expect to see an output of 1..10, and indeed that is what we see. If you thought the correct answer should have been 0..9 recall that *sense()* returns the dog's position *after* updating his position, so the first postion is 0.0 + 1, or 1.0.\n", - "\n", - "Now let's inject some noise in the signal." - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "def test_sensor(noise_scale):\n", - " dog = DogSensor(noise=noise_scale)\n", - "\n", - " xs = []\n", - " for i in range(100):\n", - " x = dog.sense()\n", - " xs.append(x)\n", - " p1, = plot(xs, c='b')\n", - " p2, = plot([0,99],[1,100], 'r--')\n", - " xlabel('time')\n", - " ylabel('pos')\n", - " ylim([0,100])\n", - " title('noise = ' + str(noise_scale))\n", - " legend([p1, p2], ['sensor', 'actual'], loc=2)\n", - " show()\n", - " \n", - "test_sensor(4.0)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "display_data", - "png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAEZCAYAAACJjGL9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X18zXX/wPHXmYnMNnOzDcM0N7MhtBYpjRkld4W56cLF\n3HRJqVQi/ahLTLjQdanczP29urCQpDWpGRW5F3Ztx7AtN5ubDbv7/P74cDjMGNs5Zzvv5+NxHu18\nv9+dvc+37bx97t4fg1JKIYQQQtyFg7UDEEIIYdskUQghhMiXJAohhBD5kkQhhBAiX5IohBBC5EsS\nhRBCiHxJohB2z9nZmYSEBGuHIYTNkkQh7N6lS5fw9va2dhhmFi9ejIODAxEREXe95tq1awwcOBBX\nV1eqVq3K9OnTLRihsCeO1g5ACGEuNTWViRMn0rBhQwwGw12vGz9+PHFxcZw4cYKkpCRat26Nn58f\n7du3t2C0wh5Ii0KUCN7e3kybNo3HH3+cChUq0KtXL65du2Y6P3fuXOrWrUulSpXo0qULSUlJpnMO\nDg7873//A2DTpk34+/vj4uKCl5cX06ZNM123YcMGmjRpgpubGy1btmT//v1F8l5Gjx7NiBEjqFSp\nUr7XLV68mA8//BBXV1d8fX0ZMmQICxcuLJKYhH2TRCFKBIPBwJo1a/juu++Ij49n3759pg/NqKgo\nxowZw5o1a0hKSqJWrVr06tUrz9cJCwtjzpw5XLx4kYMHD9KmTRsA9uzZQ1hYGHPnzuX8+fMMHTqU\nzp07k5mZmefrNG7cGDc3tzwfw4cPv+v72LVrF7t37+bVV1/N9/2mpqaSlJTE448/bvYzDx48mO/3\nCfEgpOtJlBhvvPEGnp6eAHTq1Ik//vgDgGXLlhEWFkaTJk0AmDRpEm5ubpw4cYKaNWuavcYjjzzC\nwYMHadSoEa6urjRt2hSAOXPmMHToUJ588kkA+vXrx8SJE4mNjaVVq1Z3xLJv374Cx5+Tk8Nrr73G\nrFmz8u1yArh8+TIArq6upmMuLi5cunSpwD9XiHuRFoUoMW4kCYBHH32U9PR0AFMr4gYnJycqVarE\nqVOn7niNr7/+mk2bNuHt7U1QUBCxsbEAGI1Gpk2bZtYyOHnypFkX1sP6/PPPady4MYGBgaZjd6vZ\nWb58eQAuXrxoOnbhwgWcnZ0LLR4hbpBEIUq8atWqmU1/TU9P59y5c1SvXv2OawMCAli3bh1nzpyh\na9euhIaGAlCzZk0++OADUlNTTY/Lly/Ts2fPPH+mv78/zs7OeT6GDRuW5/dERUWxdu1aqlatStWq\nVYmJiWHkyJG88cYbd1zr5uZG1apVTa0mgL1799KwYcOC3Boh7ot0PYkS68a/xnv37k3v3r3p06cP\nvr6+jBkzhubNm9/R7ZSVlcXq1avp2LEjrq6uODs7U6pUKQAGDx7MSy+9RNu2bXnyySfJyMggOjqa\n5557zvSv+1s9yFjBwoULTQPwSilefvllevToQVhYWJ7X9+vXjwkTJhAQEEBSUhLz5s1j0aJFBf65\nQtyLtChEiWQwGEz9/MHBwfzzn/+kW7duVKtWjfj4eFauXGl27Q1Lly6ldu3auLq6MmfOHJYtWwbA\nE088wdy5cxk+fDgVK1akbt26LF68uFBjdnV1xd3dHXd3dzw8PHjkkUdwcXExdSctW7bMrMXw0Ucf\n4ePjQ61atWjdujWjRo2iXbt2hRqTEACGotq4aODAgWzcuBF3d3fTNMLz58/Ts2dPjEYj3t7erF69\nmgoVKgB6gHH+/PmUKlWKzz77TH7hhRDCRhRZi2LAgAFs3rzZ7Fh4eDghISEcPXqU4OBgwsPDATh0\n6BCrVq3i0KFDbN68mWHDhpGbm1tUoQkhhCiAIksUzz77LG5ubmbHIiMj6d+/PwD9+/dn3bp1AKxf\nv57evXtTunRpvL29qVOnDrt27Sqq0IQQQhSARccoUlJS8PDwAMDDw4OUlBQATp8+jZeXl+k6Ly+v\nPKcuCiGEsDyrDWbfOth4t/NCCCGsz6LTYz08PEhOTsbT05OkpCTc3d0BqF69OomJiabrTp48mecc\n9zp16hAXF2exeIUQoiTw8fHh+PHjD/z9Fm1RdO7c2TTPe9GiRXTt2tV0fOXKlWRmZhIfH8+xY8fM\nVqfeEBcXh1JKHkoxbtw4q8dgKw+5F3Iv5F7cfIx4ychrr5kfe9h/YBdZi6J3795s27aNs2fPUqNG\nDT7++GPef/99QkNDiYiIME2PBfDz8yM0NBQ/Pz8cHR35/PPPpetJCCEK6KuvYNOBmuxZUrivW2SJ\nYsWKFXke37p1a57Hx4wZw5gxY4oqHCGEKFmuXIFHHzU9TU6G4cNh/XpwcircHyUrs4upoKAga4dg\nM+Re3CT34qYSey+UgtmzoV49uHDBdGjwYP146qnC/5FFtjK7KBgMBopRuEIIUbiMRhg0SCeIBQvA\n3x+AJUtg6lT49Vd45JE7v+1hPztLRKKoWLEiqampVoio5HFzc+P8+fPWDkMIcd0ff4AxQeG+bg5N\nvhrLlWEjqTjxHXDUIwfJydC4MWzeDM2a5f0akijyOS4KTu6lELYjMlI3IF58/CTv7u/Lsub/YcEu\nfzZtguv7cNGtG9SvDxMn3v11JFHkc1wUnNxLIWyD0QiBgbBuHbRocfP4mjXw2mt6htNff8GHH8Ke\nPVC27N1f62H/rmU/CiGEsDGZmdCzJ7z7rnmSAOjRA9zcoHt3PYgdGZl/kigM0qIQZuReCmFFSsHG\njbzz44v8edTA+vXgcJe5qb/9pscvBg2698tK11M+x0XByb0UwkqMRnIGDiL5zws8b9hC9B8VqFSp\ncF76Yf+uZR2FEEJYk1KoL2dztVEAU3cH81ZgDJE/FV6SKAwyRmGnsrOzcXSU//1CWNXZs6jevYnb\nfYFR1aJ5/Ut/RgVZO6g7SYvCAiZPnoyXlxcuLi74+voSFRWFUorw8HDq1KlD5cqV6dmzp2ktSEJC\nAg4ODixevJhatWpRpUoVJt4y923Xrl0EBATg6uqKp6cnI0eONJ2LjIzE398fNzc3WrduzZEjR0zn\nvL29+fTTT2ncuDHOzs6yi6AQFhQfD9d3hb7JxYVfa3Wnm2cMK/b5Y7OLyVUxcrdwbfltHDlyRNWo\nUUMlJSUppZQyGo0qLi5OzZgxQ7Vo0UKdOnVKZWZmqqFDh6revXsrpZSKj49XBoNBDRkyRF29elXt\n3btXlSlTRh05ckQppVTz5s3V0qVLlVJKpaenq9jYWKWUUn/++adycnJSW7duVdnZ2erTTz9VderU\nUVlZWUoppWrVqqWaNm2qTp48qa5evZpnvLZ8L4Uoji5cUGrUKKUqVlSqShWldu++ee7MGaU8PJTa\nubNoY3jYv+ti9anwMIlCTyd4+EdBHTt2TLm7u6utW7eqzMxM0/EGDRqoH374wfT89OnTqnTp0ion\nJ8eUKE6dOmU6HxgYqFatWqWUUqpVq1Zq3Lhx6syZM2Y/6+OPP1Y9e/Y0Pc/NzVXVq1dX27ZtU0op\n5e3trRYsWHCP+1SsfiWEsFm5uUpFRCjl6anU3/+u1KlTSn39tVLVqil1/Li+5pVXlHr77aKP5WH/\nru2m66mwUkVB1alThxkzZjB+/Hg8PDzo3bs3p0+fJiEhgZdeegk3Nzfc3NxMJdZvbA8L4Onpafq6\nXLlyXL58GYCIiAiOHj1KgwYNCAwMZOPGjQAkJSVRs2ZN0/cYDAZq1Khhtq1sjRo1Cv4mhBAFcuwY\ntGkDX34JGzbAgvFGqo3qy8vBFxg3Dtq3h/nzYccO+Phja0d7b3aTKKypd+/ebN++HaPRiMFgYNSo\nUdSsWZPNmzeTmppqemRkZFC1atV7vl6dOnVYvnw5Z86cYdSoUXTv3p2MjAyqVauG0Wg0XaeUIjEx\n0Wy3QNnnQ4iice2aHoOYOFEvkuvcGXbEKJ74bTYEBOgCfk5ODBkC/ftDWBjMmVP4JcGLgiSKInb0\n6FGioqK4du0aZcqUoWzZsjg6OvLqq68yZswYTpw4AcCZM2eIjIy8r9dcunQpZ86cAcDV1RWDwUCp\nUqXo0aMHGzduJCoqiqysLKZNm0bZsmV5+umni+z9CWHvvv5aV/x2dYXQUDh0SFdxfetlI6VeaAcR\nERAdDe+/byrkN3asTirBwdaN/X7J/Mgidu3aNUaPHs3hw4cpXbo0LVu2ZM6cOXh4eKCUol27dpw+\nfRp3d3d69epF586dgfz/5f/dd98xcuRIMjIy8Pb2ZuXKlZQpU4b69euzdOlSXn/9dU6dOkXTpk35\n5ptvZBqsEEUkORn+8Q9YvhxatbqlxHdyMjR+Et5+G965Wen1BoMBGja0fLwPSlZmCzNyL4W4f6Gh\n8NhjEB6ex8nkZLhlnNGapCigEEJYwfr1utbSokV3ucBGkkRhkEQhhBAFdOGC3p966VJ4NPsS4Gzt\nkIqUDGYLIUQBKAVvvgkvPK947sj1vauvTy4pqaRFIYQQ9yknRw9en99j5Cu3QbD3AmzdClWqWDu0\nIiUtCiGEuA+ZmfBKH0WDn2az9mQApdsHQ0yMXh9RwkmLQggh7iEtDV55BdxyzvFGzbU4fB1tFwni\nBmlRCCFEPtau1TnB2xsWfFOZUls221WSAGlRCCEEALm5epV1Wpouq+HkBIsXw4EDsGKFXlBnryRR\n2AkHBweOHz/OY489Zu1QhLA5f/4Jgwfrek2NG8PlS4rGx/9L4w5dWbasFGXLWjtC65KuJxvl7e1N\nVFSUtcMQokTLzdWrqlu2hO7d9dj03LFGVpxrx2iHyYx7/bzdJwmQRGGzpJSGEEVv3Tq9aO633+CN\n1xWl5l2v9Bp8fUZTCZ/2er8kUVjAjS1PXVxc8Pf3Z926daZzc+fOxc/Pz3Ruz5499O3blxMnTtCp\nUyecnZ2ZOnUq0dHRd+wlcWurY9euXbRo0QI3NzeqVavG66+/TlZWlkXfpxDFzeefw5gx4O2aCu3y\nrvQqKF7bmd0tXFt/G2vWrDFthbpq1Srl5OSkkpKS1OrVq1X16tXVb7/9ppRS6vjx48poNCql9G50\nt+6A9+OPPyovLy+z1731mt9//13t3LlT5eTkqISEBNWgQQM1Y8YM07UGg0HFxcXdM1Zbv5dCPIhx\n45Q6fdr82OHDSrm7K3X1qlIqO1upBQuUur5tcEnzsH/X9tOiGD9e1/a9/TF+/P1ff7dr76F79+6m\n3epCQ0OpW7cuu3btIiIiglGjRvHEE08A4OPjY7ZDXUE0a9aMwMBAHBwcqFWrFkOGDGHbtm0P9FpC\nlCR798JHH8HIkebHv/xSbx5UpgxQqhT8/e/SirgL+0oUee1tml+iuN9r72Hx4sU0bdrUtO3pgQMH\nOHv2LImJifj4+DzgGzJ39OhROnbsSNWqVXF1deWDDz7g3LlzhfLaQhRns2fDe+/pIYcb80PS02HJ\nEhg61LqxFRf2kyisxGg0MmTIEGbNmsX58+dJTU2lYcOGKKWoUaMGx48fz/P7bt+4yMnJiYyMDNPz\nnJwc0y53AP/4xz/w8/Pj+PHjXLhwgU8++YTc3NyieVNCFBPp6bByJbz+OsyYAZ8MMZLTPZR1s1No\n2RJq1bJ2hMWDJIoilp6ejsFgoHLlyuTm5rJgwQIOHDiAwWBg0KBBTJ06ld27d6OU4vjx46atUT08\nPIiLizO9Tr169bh69SqbNm0iKyuLCRMmcO3aNdP5y5cv4+zsTLly5Thy5AhffPGFxd+rELZm5Up4\n9lnwqq7okjyb/yYGsP1yM6YvrsSwYdaOrviQRFHE/Pz8GDlyJC1atMDT05MDBw7wzDPPAHrs4oMP\nPqBPnz64uLjw8ssvk5qaCsDo0aOZMGECbm5u/Otf/8LV1ZXPP/+cQYMG4eXlRfny5c1mQU2dOpXl\ny5fj4uLCkCFD6NWrl1mrJL+tVYUoqWbPhhFdjdCuHYb5EVxcH02XHe+TdtmRdu2sHV3xYZWtUCdN\nmsTSpUtxcHCgUaNGLFiwgPT0dHr27InRaMTb25vVq1dToUIF82BlK9QiJ/dSFFc//ABXr8KLL+rn\ne/ZAv86p7MtqgOHNN017V3/5JTg76yJ/9uJh/64tnigSEhJo06YNhw8fpkyZMvTs2ZMOHTpw8OBB\nKleuzHvvvcfkyZNJTU0l/LaNaCVRFD25l6I4unYN6tbVX7dqBTNnwtixUK0afDjsHFSqZN0Arexh\n/64t3vXk4uJC6dKlycjIIDs7m4yMDKpVq0ZkZCT9+/cHoH///maL0oQQIj/z50PDhnD4sF5M3aiR\nHp8YOBC7TxKFweKThitWrMjIkSOpWbMmjz76KO3btyckJISUlBQ8PDwAPZCbkpJi6dCEEMXQtWsw\ncSKsW5CKk5Mb06fruk2//QbVq1s7upLB4okiLi6OGTNmkJCQgKurKz169GDp0qVm1xgMhrsOvo6/\nZS1DUFAQQUFBRRitEMLWzZureK/CHJ7o8yH8/jvUqEHLlrrQn72Kjo4mOjq60F7P4mMUq1at4vvv\nv2fevHkALFmyhNjYWKKiovjxxx/x9PQkKSmJ1q1bc+TIEfNgZYyiyMm9FLZm50545BFo2vTOc1f/\nNLLr8UE087lA+dUL7G5DoftV7MYofH19iY2N5cqVKyil2Lp1K35+fnTq1IlFixYBsGjRIrp27Wrp\n0IQQNiYnR89OCg6GDz7Q3UyArpQwezYqIID42sGU32sfe1dbi8W7nh5//HH69etHQEAADg4ONGvW\njCFDhnDp0iVCQ0OJiIgwTY+9X25ubrJOoJC4ublZOwQhTCIj9Vj09u0wbBg88YSe5Zp48BJtF3/L\nW0Qza6m/bMFWxKyyjuJBSbeIEPbl2Wd1+Y3QUN2IWLkS1qzRs5qaNdNbR8iA9b0Vu3UUD0MShRAl\nx+HD+kPexSXv87t26QRx/LgUdX1YxW6MQgghsrP1CurZs+9+zbRpMOINheOaFZCZabngxB0kUQgh\nLO7rryElBX75Je/zCQlw5Dsjr3/TDqZPh7NnLRqfMCeJQghhUUrBp5/C1Kk6UdzRI6IUvw6azS+Z\nATi2v753dbVqVolVaJIohBAW9eOPkJGhNw0qVw6OHr3l5KVL5LZtx2PREVyKjJa9q22EJAohhEV9\n+im8+y44OOjV02bdT+XLs+/JMN4KjKFqW1kXYSskUQghLGbfPv24UeL7mWduSxQGA3Mv9eLFLtKK\nsCWSKIQQFjNlCowYAWXK6Oe3tyiUgm++gU6drBOfyJskCiGERZw9q5PA0KGA0Qhdu9LQ2UhyMtzY\n/n3vXihdGho0sGqo4jaSKIQQFrFuHYS0VVRYNVsvqW7enFI1q/PUU3piE+hE0rkzSEUe2yIdgUII\ni/hpiZF/pw6CExcgOtpUxO/GOEWXLjpR3LaxpbAB0qIQQjyUy5ehbdv818SdT0xn4vZncOt2fV3E\nLZVeb4xTJCXBsWO6vpOwLZIohBAPZedO+OEHePvtu1+z7nsnRnc8QJlxd66LeOop+OMPvVr7+ef1\nGIWwLZIohBAPJSZGlwDfvh02b877mjVr4MU+rnmec3LSg9eTJslsJ1sliUII8VB++QXatdMF/l59\nFS7HnzE7n5qqk0nHjnd/jWee0bWfXnihiIMVD0QShRDigeXmQmwstGgB7UIU46rOBn8/s7oc69fr\nHerKl7/767Rpox+yb5ZtkkQhhHhgBw+Cuzu4XzFCu3b0vRbBi+WimfV9PVNl8DVroHv3/F+nUyfY\ntKno4xUPRhKFEOKBxfyiGFPp+rqI4GAcd8Uwc6s/33wD9erBrFl67OJeYw8Gg9T+s2Xyv0YI8cB2\n/XSV0TnRZusimjTRg9o//wzjxukk4exs1TDFQ5KtUIUQD6xOHT0G4S+FXm2abIUqhHgoK1bAuXN3\nHs/IgOHD9QZz27frhXW3SknR3yd1mUo+SRRC2LG4OOjbV48l3G7lSti1C44fh3ffUbxdaRGrF6Sb\nzsfE6NlODvIpUuJJ15MQdmzgQLhwAX79FeLjoVSpm+eaN4exY6FjIyOEhZGefJFnkr7iv7/VpHZt\neOcdPZ31gw+sF7+4P9L1JIR4IHFxEBkJ8+bpLam//fbmub174dRJxQsnrs9oCgnB6Y8Y/jamJn37\nQna2blE8/bT14heWIy0KIexUWBhUrw4ffwwLFuhaSxs26HMjhl5lxPcdeazyRVi4EPz8AL3Arl07\nXZ9pxgz46y9dgkPYtof97JREIYQdio/XDYVjx6BiRT1wXaMG7NkDlSrpr49OWU/l/i/escDh1Clo\n3Bhq14bffrPSGxAFIolCCFFggweDpyf88583j73xBlSoAN7eepOhyMi7f/+WLboseP/+RR6qKAQP\n+9kpC+6EsCNKweLFsHatWTkmQG9RGhKiu6PGjcv/ddq1K7oYhe2RwWwh7MSxY3qDoc8+0y2CihXR\ne1d36ABHjuDvDz4+kJys94UQ4gZJFELYgchIveahY0e90VCzpkrXBQ8IgOee00usgQkTYMoUqbsk\nzMkYhRB24Lnn4M034aWX0K2IsDC4aD6jSZRcMpgthMhXYqIu1Hf6NJThmk4MQ4bAyJHSdLATMpgt\nhDDJzb2zpMaqVbolUaYMQBnYt08WP4gCkTEKIUqIHTugbt07i/etWAG9e99yQJKEKCBJFEKUEF98\noes2TZ16/cDp0xz9U5GUBEFB1oxMFHdWSRRpaWl0796dBg0a4Ofnx86dOzl//jwhISHUq1ePdu3a\nkZaWZo3QhLB5V6/eeez8eT2zacsW+PdnitTJs+Hxx/lhxn5CQ82L/QlRUFZJFCNGjKBDhw4cPnyY\nffv24evrS3h4OCEhIRw9epTg4GDCw8OtEZoQNi03V89kvX3V9JIl8OKL0KySkZ2uIaROiUBFb2NG\nVGPzbichHoDFZz1duHCBpk2b8r///c/suK+vL9u2bcPDw4Pk5GSCgoI4cuSIebAy60nYud27oU0b\nXWrj4EE93KAUNPRXrH1hDvUWj+Xq8Heo88VIPvrEkYkT9X4SBoO1IxfWVOzKjMfHx1OlShUGDBhA\ns2bNGDx4MOnp6aSkpODh4QGAh4cHKSkplg5NCJv3/fd6o6Gnn9aL40CX+yY7m7qpu2DbNsqOG8WH\nHzkyZIgexJYkIR6WxRNFdnY2u3fvZtiwYezevRsnJ6c7upkMBgMG+e0W4g7ff6/rMU2bpveROHQI\n5syBgUNLY5gfYVo8FxamV2H362flgEWJYPF1FF5eXnh5efHkk08C0L17dyZNmoSnpyfJycl4enqS\nlJSEu7t7nt8/fvx409dBQUEEyXQOYSeuXNHlN4KCwMUF/u//dEI4fFgnjls5OsL69VYJU9iA6Oho\noqOjC+31rLIyu1WrVsybN4969eoxfvx4MjIyAKhUqRKjRo0iPDyctLS0PFsaMkYh7MFPP+lk0KTJ\nzWNbtsDHHyl+HjgfXnqJHNeKBAZCvXp6rYQQd1MsS3js3buXQYMGkZmZiY+PDwsWLCAnJ4fQ0FBO\nnDiBt7c3q1evpkKFCubBSqIQduLFF+HcOb2I7kYv7CdDjPTeGqZ3nVu1CmrXJilJtx6qVLFuvMK2\nFctE8aAkUQh7oJT+4C9XDiIiIKStgjlzOP/aWC4NeYdan0mNJlEwkiiEKGHi4vQ4RHg4zPsiix/L\nvUjWmTSeOb6QX1L9JEeIAit202OFEPmLjYXmzaFnT0hMLs2+du/w1dsxVA2WJCGsQ37thLAxO3fC\nU0/p3qUxY+Dt5e2oUUNPixXCGqTrSQgbExiop7s++yxkZemKsGfP6lXZ9epZOzpRHEnXkxAlgdEI\n7dtzLeZ3Dh6EJ57Qh0uXhlGjoHJlnTCEsAZJFEIUoWvXoHt3WLtWz2a6g7pl7+o2bdid8zj16+sZ\nTzcMHQq//CKlOIT1SKIQoggtWgQnTsDYsdC+PZjVuTQa9cBDRARs2wajRrHzd0eaNzd/DQcHqF7d\nomELYUYShRBFJCsLJk2CGTPgjz+gQwc97uDrC7VrZHPEpwPzE0PI/TnGVKMpNlYPZAthS2QwW4gi\nsmiRfkRF3TyWmgrJybprqSxX6dSjLK+/rivCAtSuDZs3Q/361olZlEyy4E4IG5SToxsJX34JrVvf\n/bodO6BHD90llZ6uWxvnzunuJiEKi8x6EsIGrV6tZyoFBQGJiZCdned1LVrcXIV9Y/2EJAlha+RX\nUohClpsLn3wCH45VGObMhmbN4Pff73p9eDh88QWsXCnjE8I23TNRvPvuu1y8eJGsrCyCg4OpXLky\nS5YssURsQtisy5ehUiX4299g7159TCmIjoaXXwYfRyPtp90yoymfDODlBW+9pUuF3z7jSQhbcM9E\nsWXLFlxcXNiwYQPe3t7ExcUxZcoUS8QmhM3avl2vkm7USM9mattWfz3sH4o3H53N2pMBGEJC9D6l\n12c05WfkSOjaVXdFCWFr7lnrKft63+qGDRvo3r07rq6usk2psHs//qgTxKhR8Oab8PXX4OkJrZ9T\nGN4+BD9tu68EccOjj+pFeULYonsmik6dOuHr60vZsmX54osv+OuvvyhbtqwlYhPCZkVF6fURAGXK\nQJ8+N844wMyZ1gpLiCJxX9Njz58/j6urK6VKlSI9PZ2LFy9StWpVS8RnRqbHCkubNg2Cg823JE1N\nhVq1dKG+Rx6xXmxC3K8inx6bmZnJkiVLCA0NpVu3bsyfP5/KlSs/8A8UorjIyoJ//hP+9S/z49u2\nwdMtFI8snAOnTlknOCEs6J4tirCwMLKzs+nfvz9KKZYsWYKjoyPz5s2zVIwm0qIQlhQVBcOG6ZXU\nRiO4uurj4/5uZMAvYXi7XYTly6FOHesGKsQ9FPnK7MaNG7Nv3757HrMESRTCkkaMAHd32LMH2rWD\nIYNv7l2d8Y938Joue1eL4qHIu54cHR05fvy46XlcXByO8schipm0NHj7bb0Y7n4oBZGR0LkzDBwI\nCyJyoUMHsr6MoEO5bVSdMUqShLAb9/xNnzJlCm3atOGxxx5DKUVCQgILFiywRGxCFJoFC2D6dF3q\nu31783M//ggHD8Lw4TePHTig/9uwITRoAIMHOxD/2hh2lWqBx2pHSpWyXOxCWNs9u56uXLnCtGnT\niIqKokKq+L7yAAAYGElEQVSFCgQEBPD2229bZYqsdD2JB5Gbq6uxtmqlxxs2bjQ/17QpHD8O+/aB\nj48+PmECnDlzc6brmDGQmQkXL4K/v+6WEqK4KPKup379+hEfH8+HH37I8OHD+d///kffGzWRhSgG\ntmyB8uXhP/+BX3+FY8dunlu/XvcgjR6tF88BoBSRkdCly83rBgyAJUtg61Zo08ai4QthdfdsUfj5\n+XHo0KF7HrMEaVGIB9Gpky6PERamWwbp6bqloJSu1zd+vB6s9vWFNVONPP7vQXTbM5a155+jdOmb\nr9OqlS4HnpwsFV5F8VLkLYpmzZqxY8cO0/PY2FieuLHzuxA2Lj5e7/nQu7d+PmyYbhlcvAgbNuhk\n0bkzPFpWsabtbOr2CWBPpbZUeLGlWZIA3d0UGipJQtife7YofH19OXr0KDVq1MBgMHDixAnq16+P\no6MjBoPBotNkpUUhCuq99/Q4xNSpN4/17AlPP60TxujR0C3ACGFhqIsX6X11Id+f8mPWLOjVy3px\nC1GYinwdRUJCQr4v4O3t/cA/vKAkUYiCuHIFatbU+1DfGKQGXdC1fXvw9oa9fygcnnpSbzM3ciQx\nuxxp2xaSkm4usBOiuJOtUIW4i9mz9WD1pk3mx5XSA9IjRuixCzIzzYo2XbwILi6WjVWIoiSJQog8\npKXpwekNGyAg4M7zSoFUyxf2QhKFEHl4803IyIA5c245aDSChwdImXxhZ4p81pMQxc3+/bpW38SJ\n1w8opfuhAgJg506rxiZEcSTFakSJohS8/rpeG1G5MroVERamBx62FWzXOSGEJi0KUaKsWqXHJ4YO\nuaUVUYC9q4UQd5IWhSgxzp6FkSN1sihVCjhxQloRQhQCGcwWJYJS0L071K5tvrhOCFGMB7NzcnJo\n2rQpnTp1AvS+3CEhIdSrV4927dqRlpZmrdBEMbR4sS72N2GCtSMRouSxWqKYOXMmfn5+GK5PZg8P\nDyckJISjR48SHBxMeHi4tUITxYlSnJ04m8/fOsbSpTLzVYiiYJVEcfLkSTZt2sSgQYNMzaHIyEj6\n9+8PQP/+/Vm3bp01QhPFidGIahvCmfAIBg9SNG5s7YCEKJmskijeeustpkyZgsMtZThTUlLw8PAA\nwMPDg5SUFGuEJoqDW9ZF/OAQwvCmMQyYVM/aUQlRYll81tOGDRtwd3enadOmREdH53mNwWAwdUkJ\nYUYpvaNQcjKxk7fRb6wfv/+ObE0qRBGyeKKIiYkhMjKSTZs2cfXqVS5evEjfvn3x8PAgOTkZT09P\nkpKScHd3z/P7x48fb/o6KCiIoKAgywQubIPBAB9+SHLVprwc6MjixVC1qrWDEsK2REdH3/Uf4g/C\nqtNjt23bxtSpU/nmm2947733qFSpEqNGjSI8PJy0tLQ7BrRleqwAyMnRO9I98wx89JG1oxHC9j3s\nZ6fVF9zd6GJ6//33CQ0NJSIiAm9vb1avXm3lyITVXf/FzlUGFi+GPXv0Grpjx8DdHf7v/6wcnxB2\nQhbcCdt0vUbT+X5v0nNJRzIy9N5CNWvqR8OGMhVWiPtV7FsUQphRStcGHzuWwy++Q8h7zzP4H/DB\nB+Aov61CWIX86QnbYby5d/Xs3tuYuM6PlV/psQghhPVI15MoFFu26D0gFi6881xWFpw6BdeuwdWr\ncOmSHmswGiElRc92DXpOYWjTmpz2L/Ba3Eh27XZk0ybw9LT4WxGixJEd7oTVZWZCo0b6gz8xEapU\nMT8fFqa3JK1QAcqUgfLlb441uLrC0qVQrhyMHJHNijWOZGXBmjXg7Gyd9yNESSOJQljdzJnw7bfg\n4qKnrQ4adPNcejpUrw5//ql3Ic1Lbi5s2gTTp0O9evDZZ1C6tGViF8IeSKIQVnXuHDRoAD/+CAcO\n6K6nb7+9eX7lSliwAL777pZvMhrBzU1nFiFEkSu2ZcZFyfDRR3raqr8/dOgAv/yid5i7YflyeOWV\n609u3bt6xw6rxCuEKDhpUYgHdvgwtGql/1u5sj7WpYveQKhvX93aeOwxPW7hknrL3tULF8quc0JY\nkLQohNV8+im8887NJAHQrRt8/bX++uuvoX17cFkhe1cLUZxJi0I8MG9vPfZQv/7NY6mpUKsWnD4N\nL74Ib70FXf+cDJ06SYIQwkpkMFtYhdEIgYGQnKwLut7q+ed142HiRJ0wypSxToxCCE1KeAir2L4d\nnn32ziQBuvvpjTfgb3+TJCFESSBjFOKBbN+uB7JNbsxo2rOHrl31Irw+fawWnhCiEEmiEA/kp590\niwLQ/VAhITBvHpQtS5UqsHMnPPecVUMUQhQSSRSiwP76C5KSoHGj662IJ56A4GC9NqJBA0BPcnKQ\n3y4hSgQZoxAF9vPP0LIllOrTE+LjYds2veJOCFEiSaIQBWbqduowVk95lY0ihCjRpHNAFNhPP10f\nyG7cWJKEEHZA1lGIe1NKPxwcuHABvLx0eY5HHrF2YEKI+yElPETRMhp17fBVqwBdgSMgQJKEEPZE\nEoXI2/V1ETnNAthbqQ2XX+gB5LF+QghR4kkHs7iT0QiDBpF1Jo0u5aO5kOjP4cegZ09dRnz6dGsH\nKISwJGlRiDu99hoZzdsQmLOD5mH+/PIL7N+vd6pzdYXmza0doBDCkmQwW5CeDgMGQN26ejV144a5\ndH3ZgWeegSlT8q7nJIQoPmQwWzy0qVPh0iW9knrCBKhV24EmTSRJCCE0aVHYM6OR5EtO+D9Xmd9/\n1/tLAGRny/IIIUoSaVGIu8rI0LuPrl8POTm3nLhl7+rVI35h8OCbSQIkSQghzEmLogSbPx9mzdIf\n/GfPwvDhENbWiMvbgyAtjSPvLyToNX/+/FMPUgshSiZpUYi7+vxz+Oc/dcnvZcug/Iq5ZD4ewMYr\nbUhYsYPXPvdn3DhJEkKI/EmLooT69Ve97uHYMShV6vrB//yHJN/W/Os7fyIiwNMT9u2TriYhSjrZ\nM1vkacAA8PWFUaPyPn/pEly5Au7ulo1LCGF5kijEHc6fBx8fOHoUqlSxdjRCCGuTMQphTil+Hzqb\ntwN+kiQhhCgU0jtdjGRmQmqqfpQurVsNZoxGVNggPH9Oo2PEIqvEKIQoeaRFYcPi4/X01ldegdq1\nwckJGjWCLl2gWTO4ePH6hbesizhesw396+2gSR8/q8YuhCg5JFHYsOefh9hYCA6Gb7+Fa9fgr7/g\nzz+hdWv473+vX9ivH8ybB9HRjE0fzaBXHaX0hhCi0Fh8MDsxMZF+/frx119/YTAYGDJkCG+88Qbn\nz5+nZ8+eGI1GvL29Wb16NRUqVDAP1o4Gs0+ehKZNISVF12C63VdfwZdfwtat6Mzh48O5C474+EBC\nAtx264QQdqzYDWaXLl2a6dOnc/DgQWJjY5k1axaHDx8mPDyckJAQjh49SnBwMOHh4ZYOzaZs26Yr\nueaVJAA6doQ9e+DUKaB+fXB0ZOlSfVyShBCiMFk8UXh6etKkSRMAypcvT4MGDTh16hSRkZH0798f\ngP79+7Nu3TpLh2ZToqN1ojCjlKloU9my8PLLsHz5zVMRETBwoEXDFELYAauOUSQkJLBnzx6eeuop\nUlJS8PDwAMDDw4OUlBRrhmZ10dEQFHTLgRt7V0dEmA797W+wdKn++vff4fLl275HCCEKgdWmx16+\nfJlu3boxc+ZMnJ2dzc4ZDAYMdxmNHT9+vOnroKAggkrgJ+PJk3oKrL8/uqkwZw6MHQtvv23WZHj2\nWX3dvn03WxN366oSQtiP6OhooqOjC+31rLIyOysri44dO/LCCy/w5ptvAuDr60t0dDSenp4kJSXR\nunVrjhw5Yh6snQxmL1umZzR9/S+9dzVpabBw4fXMYW70aN2SWLZMJwwvL8vHK4SwbcVuMFspRVhY\nGH5+fqYkAdC5c2cWLdKLxBYtWkTXrl0tHZrNMHU7vf8+tGkDO3bkmSRAdz/NmqX3sZYkIYQoChZv\nUfz888+0atWKxo0bm7qXJk2aRGBgIKGhoZw4ccLup8fWrQtffw2NG6n72ou0ZUudUzp1skBwQohi\nR4oCljCnTkHjxnDmzP2PN+Tk3FJKXAghblPsup5EHoxGPYLNvddP5EWShBCiKEmisKZbajQREwPk\nMS1WCCGsTKrHWsGBA7BztZHAOYPITbvAR7WieTLOn17xOlEMH27tCIUQ4iZpUVhYbCzMaxFB6JQA\nMp8NxnFnDG/O9efECQgM1OsiGja0dpRCCHGTDGZbUGKinsa6secimoQF3DHlNStLV4etXt1KAQoh\nSiSZ9WRFKSkQGQmDB9/72vR0vZK6Tx94552ij00IIW6QWU9WFBEBw4ZBUlL+1+XmQv/+etrryJGW\niU0IIQqLJIqHsHy5Hk+YPz+PkzdmNG3cyMaNcOyYfiobCgkhihtJFA9o/369Fencubpm3/Xq35rR\nCCEhuslRuzbz5sGIEVCmjNXCFUKIByaJ4gEtXw69e+slEB4esHkz5usi2raFmBhOV/Djp58gNNTa\nEQshxIORdRT34dAhaNDgZreRUrBiBdzYW+nVV/W2pC+uHaxLuEZHm2Y0LVoEPXpA+fLWiV0IIR6W\nzHq6h9RUcHeHCRNg1Ch9LCYGwsJ0AjEY9IymmjVh3/p4qjevAY46/+bmQr16uvURGGjRsIUQwkRm\nPRWxTZvgySdh5kz44Qd9bMUKPc31RgvDyUmX+/7yu9qmJAG6blO5cvr7hRCiuJIWxT2EhsLzz0Pt\n2jo5/PILtGiu+GVbNnUalDZdd+iQHpY4eBDc3PSxV16Bp56CN96waMhCCGFGWhRF6OpV2LJF7/PQ\nurVeA9GzuZFvroVQZ/N/zK7189OJpG5d3U114gRs3KhbGkIIUZxJoshHVBQ0agRVqgBKMbL8bKIu\nBuAQ0hZef/2O66dO1ZvRHTqkxyY6dICKFS0ftxBCFCbpesrHkCFQvz6M7G7Uo9cXL8KCBXfdlvRW\nhw9DhQpQtaoFAhVCiHxIracikpsL1arBzz9DnU+HwGOP6SJNjjKjWAhRvEiiKCI7dugWxf796IUT\nUntDCFFMyWB2EVm3Drp2vf5EkoQQwo5JoriV0QjHj6MUrF0LXbpYOyAhhLA+SRRgXqNp505iYyEj\nA554wtqBCSGE9cnIrPGWGU3R0fz3T3+GdoYvvpAeJyGEAHtvUSxYYKr0mvtzDP+3yp+33tKVYLt3\nt3ZwQghhG+xq1tORI3qG69mzcP48PJPyFXGlGxBX1p/cXPDxga++0mXDhRCipJDpsQXw6qtQqpQu\nq1GxIri66uGJrCzIztYVYGWZhBCipJFEcZ+uXdML6Hbvhlq1CjkwIYSwYQ+bKEr+v5+Vgjlz2Pen\nC40a9ZYkIYQQBVSyE8UtM5qWuS6QSq5CCPEASuasp9v2rk7dGMOCXf4yk0kIIR5AiWxRXB3yOmX3\n7jLtXb1mDrRvr6u5CiGEKJgS16L4/HOoGzGaT16MQfnpcuBLlsgGQkII8aBKVKKYNAn+9S9Y9XN1\nvvnWkZ499dakR47o7UyFEEIUXPFOFErB1asoBe+/D8uWwU8/wdNP616ncuUgMFDve/3II9YOVggh\niqfiO0ZxY0bTc88x1+NDtmyBbdugUiV9umxZXaEjKAhatbJqpEIIUazZVIti8+bN+Pr6UrduXSZP\nnpznNQcPmM9oynlvNJMnw7//fTNJ3GAwwN//rjenE0II8WBsJlHk5OQwfPhwNm/ezKFDh1ixYgWH\nDx++87o2IRARofuW3n+f/0Y64ukJLVtaPmZrio6OtnYINkPuxU1yL26Se1F4bCZR7Nq1izp16uDt\n7U3p0qXp1asX69evv+O6b6605Y/PY8DfH6Vg8mR47z0rBGxl8kdwk9yLm+Re3CT3ovDYTKI4deoU\nNWrUMD338vLi1KlTd1xXfsL7/N/HemglOhouX4ZOnSwVpRBC2B+bSRSG+9wlaOhQ2LMHdu2CTz+F\nd98FB5t5F0IIUQIpG7Fjxw7Vvn170/OJEyeq8PBws2t8fHwUIA95yEMe8ijAw8fH56E+n22mzHh2\ndjb169fnhx9+oFq1agQGBrJixQoaNGhg7dCEEMKu2cw6CkdHR/7zn//Qvn17cnJyCAsLkyQhhBA2\nwGZaFEIIIWxTsRkGvp/FeCVVYmIirVu3xt/fn4YNG/LZZ58BcP78eUJCQqhXrx7t2rUjLS3NypFa\nTk5ODk2bNqXT9Slv9nov0tLS6N69Ow0aNMDPz4+dO3fa7b2YNGkS/v7+NGrUiD59+nDt2jW7uRcD\nBw7Ew8ODRo0amY7l994nTZpE3bp18fX1ZcuWLfd8/WKRKO53MV5JVbp0aaZPn87BgweJjY1l1qxZ\nHD58mPDwcEJCQjh69CjBwcGEh4dbO1SLmTlzJn5+fqbZcvZ6L0aMGEGHDh04fPgw+/btw9fX1y7v\nRUJCAnPnzmX37t3s37+fnJwcVq5caTf3YsCAAWzevNns2N3e+6FDh1i1ahWHDh1i8+bNDBs2jNzc\n3Px/wEMNhVtITEyM2YyoSZMmqUmTJlkxIuvq0qWL+v7771X9+vVVcnKyUkqppKQkVb9+fStHZhmJ\niYkqODhYRUVFqY4dOyqllF3ei7S0NFW7du07jtvjvTh37pyqV6+eOn/+vMrKylIdO3ZUW7Zssat7\nER8frxo2bGh6frf3fvuM0vbt26sdO3bk+9rFokVxv4vx7EFCQgJ79uzhqaeeIiUlBQ8PDwA8PDxI\nSUmxcnSW8dZbbzFlyhQcbllAY4/3Ij4+nipVqjBgwACaNWvG4MGDSU9Pt8t7UbFiRUaOHEnNmjWp\nVq0aFSpUICQkxC7vxQ13e++nT5/Gy8vLdN39fJ4Wi0Rxv4vxSrrLly/TrVs3Zs6cibOzs9k5g8Fg\nF/dpw4YNuLu707RpU9Rd5mHYy73Izs5m9+7dDBs2jN27d+Pk5HRH14q93Iu4uDhmzJhBQkICp0+f\n5vLlyyxdutTsGnu5F3m513u/130pFomievXqJCYmmp4nJiaaZUR7kJWVRbdu3ejbty9du3YF9L8S\nkpOTAUhKSsLd3d2aIVpETEwMkZGR1K5dm969exMVFUXfvn3t8l54eXnh5eXFk08+CUD37t3ZvXs3\nnp6edncvfvvtN55++mkqVaqEo6MjL7/8Mjt27LDLe3HD3f4mbv88PXnyJNWrV8/3tYpFoggICODY\nsWMkJCSQmZnJqlWr6Ny5s7XDshilFGFhYfj5+fHmm2+ajnfu3JlFixYBsGjRIlMCKckmTpxIYmIi\n8fHxrFy5kjZt2rBkyRK7vBeenp7UqFGDo0ePArB161b8/f3p1KmT3d0LX19fYmNjuXLlCkoptm7d\nip+fn13eixvu9jfRuXNnVq5cSWZmJvHx8Rw7dozAwMD8X6ywB1SKyqZNm1S9evWUj4+PmjhxorXD\nsajt27crg8GgHn/8cdWkSRPVpEkT9e2336pz586p4OBgVbduXRUSEqJSU1OtHapFRUdHq06dOiml\nlN3eiz/++EMFBASoxo0bq5deekmlpaXZ7b2YPHmy8vPzUw0bNlT9+vVTmZmZdnMvevXqpapWrapK\nly6tvLy81Pz58/N975988ony8fFR9evXV5s3b77n68uCOyGEEPkqFl1PQgghrEcShRBCiHxJohBC\nCJEvSRRCCCHyJYlCCCFEviRRCCGEyJckCiHyceHCBb744gtAr27t0aOHlSMSwvJkHYUQ+UhISKBT\np07s37/f2qEIYTU2sxWqELbo/fffJy4ujqZNm1K3bl0OHz7M/v37WbhwIevWrSMjI4Njx44xcuRI\nrl69yvLlyylTpgybNm3Czc2NuLg4hg8fzpkzZyhXrhxz586lfv361n5bQhSIdD0JkY/Jkyfj4+PD\nnj17mDJlitm5gwcPsnbtWn799Vc++OADXFxc2L17Ny1atGDx4sUADBkyhH//+9/89ttvTJkyhWHD\nhlnjbQjxUKRFIUQ+bu2Zvb2XtnXr1jg5OeHk5ESFChVM27I2atSIffv2kZ6eTkxMjNm4RmZmpmUC\nF6IQSaIQ4gGVKVPG9LWDg4PpuYODA9nZ2eTm5uLm5saePXusFaIQhUK6noTIh7OzM5cuXSrQ99xo\neTg7O1O7dm2++uor0/F9+/YVeoxCFDVJFELko1KlSrRs2ZJGjRrx3nvvmXYCu33HsNu/vvF82bJl\nRERE0KRJExo2bEhkZKRl34AQhUCmxwohhMiXtCiEEELkSxKFEEKIfEmiEEIIkS9JFEIIIfIliUII\nIUS+JFEIIYTIlyQKIYQQ+ZJEIYQQIl//D9ixgU3YcaLKAAAAAElFTkSuQmCC\n", - "text": [ - "" - ] - } - ], - "prompt_number": 4 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**note**:*numpy uses a random number generator to generate the normal distribution samples. The numbers I see as I write this are unlikely to be the ones that you see. If you run the cell above multiple times, you should get a slightly different result each time. I could use numpy.random.seed(some_value) to force the results to be the same each time. This would simplify my explanations in some cases, but would ruin the interactive nature of this chapter. To get a real feel for how normal distributions and Kalman filters work you will probably want to run cells several times, observing what changes, and what stays roughly the same.*\n", - "\n", - "So the output of the sensor should be a wavering blue line drawn over a dotted red line. The dotted red line shows the actual position of the dog, and the blue line is the noise signal produced by the simulated RFID sensor. Please note that the red dotted line was manually plotted - we do not yet have a filter that recovers that information! \n", - "\n", - "If you are running this in an interactive IPython Notebook, I strongly urge you to run the script several times in a row. You can do this by putting the cursor in the cell containing the Python code and pressing Ctrl+Enter. Each time it runs you should see a different jagged blue line wavering over the top of the dotted red line.\n", - "\n", - "I also urge you to adjust the noise setting to see the result of various values. However, since you may be reading this in a read only notebook, I will show two extreme examples. The first plot shows the noise set to 100.0, and the second shows noise set to 0.5." - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "test_sensor(100.0)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "display_data", - "png": "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\n", - "text": [ - "" - ] - } - ], - "prompt_number": 5 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "test_sensor(0.5)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "display_data", - "png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAEZCAYAAACJjGL9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlcVPX+x/HXIKRlgKgJKhpeURHcULS0X4oSWrl2c7+V\nFaRdq2tlpam3vN1KzLyptzI1wj21zUzNumbYgmblllsmyYgKZCIouLB9f39MUZTiBpwZ5v18POYR\nM3PmzOd8c+Yz391mjDGIiIicg4fVAYiIiHNTohARkVIpUYiISKmUKEREpFRKFCIiUiolChERKZUS\nhbg9b29vUlJSrA5DxGkpUYjbO3HiBEFBQVaHAcDWrVtp164d1atXJyIigm3btp3z2LvvvpuqVavi\n7e2Nt7c3Pj4+aFqUlAclChEnkZeXR9++fbnrrrvIyspi2LBh9O3bl/z8/LMeb7PZGDNmDCdOnODE\niRMcP34cm81WwVGLO1CikEohKCiIqVOn0rp1a2rUqMHgwYM5c+ZM8fNz5syhSZMm1KpVi759+5KW\nllb8nIeHBz/++CMAq1evJiwsDB8fHwIDA5k6dWrxcStXrqRNmzb4+flxww038N1335XpNSQmJlJY\nWMioUaPw8vLioYcewhjDunXrzvka1SCkIihRSKVgs9l46623+Oijj9i/fz/bt29n7ty5AKxbt45x\n48bx1ltvkZaWxrXXXsvgwYPPep6YmBhmz57N8ePH2blzJ926dQNgy5YtxMTEMGfOHDIzMxkxYgR9\n+vQhLy/vrOdp1aoVfn5+Z709+OCDZ33Nzp07adWqVYnHWrduzc6dO8953a+++iq1atUiIiKCd999\n93zFJHJJPK0OQKSs/OMf/yAgIACA3r17s3XrVgAWLVpETEwMbdq0AWDSpEn4+flx4MABGjZsWOIc\nV1xxBTt37qRly5b4+voSHh4OwOzZsxkxYgTt27cH4K677uL5559n48aNdO7c+U+xbN++/aLjz8nJ\nwdfXt8RjPj4+nDhx4pzX+5///AdfX18++ugjBg0aREBAAJ06dbro9xYpjWoUUmn8miQArrzySnJz\ncwGKaxG/ql69OrVq1eLQoUN/Osc777zD6tWrCQoKIjIyko0bNwJgt9uZOnVqiZrBwYMHSzRhXS5v\nb2+OHz9e4rHs7Gx8fHzOenx4eDh+fn54eHhwyy238Le//U21CikXShRS6dWrV6/E8Nfc3FyOHj1K\n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\nYII=\n", - "text": [ - "" - ] - } - ], - "prompt_number": 6 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You may not have a full understanding of the exact *meaning* of a noise value of 100.0, but as it turns out if you multiply *randn()* with a number $n$, the result is just a normal distribution with $\\sigma = \\sqrt{n}$. So the example with noise = 100 is using the normal distribution $N(0,100)$. Recall the notation for a normal distribution is $N(\\mu,\\sigma^2)$. If the square root is confusing, recall that normal distributions use $\\sigma^2$ for the variance, and $\\sigma$ is the standard deviation, which we do not use in this book. *dog_sensor.__init__()* takes the square root of the noise setting so that the *noise * randn()* call properly computes the normal distribution. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Math with Gaussians\n", - "\n", - "Let's say we believe that our dog is at 23m, and the variance is 5 ($N(23,5)$). We can represent that in a plot:\n" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import gaussian\n", - "gaussian.norm_plot(23, 5)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "display_data", - "png": "iVBORw0KGgoAAAANSUhEUgAAAXsAAAEACAYAAABS29YJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xt4VNW9//F3YtKmcpFLgcBMMEoCmQAmQEIEqwQBA1Qj\nN2uOcimGmtpSRNFaTn9W8HgEqrSiOS3RtiiKEatCUGNUpBGOAsESxdOABExgGAwqGAJECBnW748l\nKQnJ5DYzay7f1/PMY2Zm75lPcOc7a9Zee60QpZRCCCFEQAs1HUAIIYTnSbEXQoggIMVeCCGCgBR7\nIYQIAlLshRAiCEixF0KIINBssS8oKCAuLo7Y2FiWLVt20fN79uxhxIgRREREsHz58nrPLVmyhIED\nBzJ48GBuu+02zpw5477kQgghWsxlsXc6ncydO5eCggJKSkrIzc1l9+7d9bbp3r07Tz31FPfdd1+9\nx8vLy3nmmWfYuXMnn376KU6nk5deesn9v4EQQohmuSz2RUVFxMTEEB0dTXh4OBkZGeTl5dXbpkeP\nHiQlJREeHl7v8c6dOxMeHk51dTW1tbVUV1djsVjc/xsIIYRolsti73A4iIqKqrtvtVpxOBwteuFu\n3bqxYMEC+vbtS58+fejSpQtjx45tX1ohhBBt4rLYh4SEtPmF9+/fzxNPPEF5eTmHDx/m5MmTrFmz\nps2vJ4QQou3CXD1psViw2+119+12O1artUUv/NFHHzFy5Ei6d+8OwJQpU/jwww+5/fbb620XExPD\n/v37W5tbCCGCWr9+/di3b1+Lt3fZsk9KSqK0tJTy8nJqampYu3Yt6enpjW7bcD61uLg4tm3bxrff\nfotSio0bNxIfH3/Rfvv370cp5XO3hx56yHgGyeTdTLW1ivfeU8yZo0hKUkRGKvr3V4wfr8jOVnz5\nZWD9O/lqLsnUsltrG8kuW/ZhYWFkZ2eTlpaG0+kkMzMTm81GTk4OAFlZWVRUVJCcnExVVRWhoaGs\nWLGCkpISEhISmDlzJklJSYSGhjJ06FDuvPPOVoUTwlvefx9+9SsIDYXp0yEzE6xWqKqCPXvglVfg\nwQdh7lz4zW/g0ktNJxaidVwWe4AJEyYwYcKEeo9lZWXV/RwZGVmvq+dCv/71r/n1r3/dzohCeE5t\nLSxYAOvWwR/+AFOnQsNTVfHxMGUK2O1w//1w1VWQlwcDB5rJLERbNFvsg1VqaqrpCBeRTC3T0kzH\nj8O0aRAWBrt2QZcurrePioKXXoIXXoDRo2HVKvjxj92bydt8MZdk8owQpZTRxUtCQkIwHEEEoVOn\n4IYbdCs9OxsuuaR1+2/bBjffDM89B+PHeyajEK60tnZKsRdBp6YGJk6Evn3hL3/R/fRtsXWrLviv\nvALXXefejEI0R4q9EM345S91//u6da1v0Tf07rswcyYUFeluHiG8pbW1U2a9FEHl2Wdh40Z4/vn2\nF3qAcePg3nv1id3Tp9v/ekJ4irTsRdD47DO45hrYvFmPsHEXpeCWW/RQzSeecN/rCuGKdOMI0Qin\nUxf66dP1WHl3O3YMBg+GF1+EUaPc//pCNCTdOEI04vHH9YVQv/iFZ16/WzfIyYHZs+HkSc+8hxDt\nIS17EfDKy2HYMPjnPyE62rPvNWMG9OkDjazzI4RbSTeOEA1MmQJDh8L/+3+ef6+KCt2d87//CwMG\neP79RPCSbhwhLvD22/DJJ9BgITWPiYyE//xPmDdPn7gVwldIsRcBy+nU89788Y8QEeG99507Fw4e\nhIIC772nEM2RYi8C1gsvQNeucNNN3n3f8HB49FFYuBDOnfPuewvRFCn2IiCdOQMPPQRLllw8i6U3\nTJoE3/8+rF3r/fcWojFS7EVAysnRJ0p/9CMz7x8SAkuX6pPCZ8+aySDEhWQ0jgg4p09Dv37w+ut6\nFI5Jo0frsfczZ5rNIQKP20fjFBQUEBcXR2xsLMsaGTy8Z88eRowYQUREBMuXL6/3XGVlJdOmTcNm\nsxEfH8+2bdtaHEyItnr2WUhMNF/oQbfsH31UnywWwiSXLXun08mAAQPYuHEjFouF5ORkcnNzsdls\nddt89dVXHDhwgPXr19O1a1cWLFhQ99ysWbMYNWoUd9xxB7W1tZw6dYrLLrusfgBp2Qs3OnsWYmMh\nNxdGjDCdRg+/HDkS7rkHfvIT02lEIHFry76oqIiYmBiio6MJDw8nIyODvLy8etv06NGDpKQkwsPD\n6z1+/PhxtmzZwh133AHo9WwbFnoh3C03F6680jcKPei++/Ote2nTCJNcFnuHw0HUBZN0W61WHA5H\ni164rKyMHj16MHv2bIYOHcrPfvYzqqur25dWCBeUguXL4YEHTCepb+JE/Y1j0ybTSUQwc7kGbUg7\nxqzV1tayc+dOsrOzSU5OZv78+SxdupSHH374om0XLVpU93NqampArPcovO+99/QC4jfcYDpJfSEh\nes775cthzBjTaYS/KiwspLCwsM37uyz2FosFu91ed99ut2O1Wlv0wlarFavVSnJyMgDTpk1j6dKl\njW57YbEXoq3+8AddVE2Mq2/O7bfr7pySEvfOpS+CR8OG8OLFi1u1v8tunKSkJEpLSykvL6empoa1\na9eSnp7e6LYNTxRERkYSFRXF3r17Adi4cSMDBw5sVTghWmr3bti5UxdVXxQRoadXlsVNhCnNjrN/\n6623mD9/Pk6nk8zMTBYuXEhOTg4AWVlZVFRUkJycTFVVFaGhoXTq1ImSkhI6duzIJ598wpw5c6ip\nqaFfv36sWrVKRuMIj7j7bujcGf7rv0wnadqRIxAXp6dclrEKor1kimMRdKqr9WLfO3fC5ZebTuPa\nrbfCddfpRc+FaA+Z4lgEnbVr9VBLXy/0AD//OaxcKcMwhfdJsRd+LydHF1F/kJoKNTWwdavpJCLY\nSLEXfq24GA4fhgkTTCdpmZAQyMrSrXshvEn67IVf+/nPwWKBBx80naTljh7VE7Xt3w/du5tOI/yV\nnKAVQePECd1P/3//pxf59iczZuiJ2u65x3QS4a/kBK0IGi++qPvA/a3Qg5yoFd4nxV74rZUr/efE\nbEMjR+rlC9tx9bsQrSLFXvilTz6BY8dg7FjTSdomJATmzNFz7wvhDdJnL/zSggXwgx/AI4+YTtJ2\nR47AgAFw6BB07Gg6jfA30mcvAl5tre6vnzHDdJL26dULrrkG1q0znUQEAyn2wu9s3Ah9++pWsb+b\nOROef950ChEMpNgLv7N6deAs4J2eDh99BC1cE0iINpNiL/xKVRXk5+sJxQLBD34AU6bobikhPEmK\nvfArr76qx9b/8Iemk7jPzJnw3HMy5l54lhR74VdWr/b/E7MN/ehHcPIkfPyx6SQikEmxF37jwAHY\ntQtuvNF0EvcKDdUfYHKiVnhSs8W+oKCAuLg4YmNjWbZs2UXP79mzhxEjRhAREcHy5csvet7pdDJk\nyBBuuukm9yQWQWvNGvjJT+D73zedxP1mzND99rW1ppOIQOWy2DudTubOnUtBQQElJSXk5uaye/fu\nett0796dp556ivvuu6/R11ixYgXx8fGE+OIq0MKvvPii764x2179++tJ3TZtMp1EBCqXxb6oqIiY\nmBiio6MJDw8nIyODvLy8etv06NGDpKQkwsPDL9r/0KFD5OfnM2fOHLlKVrTLv/4Fx4/rOWUC1a23\n6lW3hPAEl8Xe4XAQFRVVd99qteJoxYDge+65h8cee4zQUDk1INpn7VrdhRPIh9Itt8D69XolKyHc\nLczVk+3pennjjTfo2bMnQ4YMobCZqf0WLVpU93Nqaiqpqaltfl8ReJTSxX71atNJPCsqCmw2ePdd\n+PGPTacRvqawsLDZWuqKy2JvsViw2+119+12O1artUUv/OGHH7Jhwwby8/M5ffo0VVVVzJw5k9WN\n/MVeWOyFaOiTT3Rrd/hw00k873xXjhR70VDDhvDixYtbtb/LL8VJSUmUlpZSXl5OTU0Na9euJT09\nvdFtG/bJP/roo9jtdsrKynjppZe4/vrrGy30QjTnfBdOMJzjnzYNXn8dTp82nUQEGpct+7CwMLKz\ns0lLS8PpdJKZmYnNZiMnJweArKwsKioqSE5OpqqqitDQUFasWEFJSQkdG8zZKqNxRFuc78J55RXT\nSbyjd29ITISCApg0yXQaEUhkPnvh03bsgNtug717g6NlD3oFrvffh9xc00mEL5P57EVAWbtW92MH\nS6EHmDoV3noLqqtNJxGBRIq98FnnzsHLLwfODJct1aOHPhn95pumk4hAIsVe+Kxt2/RyfYMGmU7i\nfXKBlXA3KfbCZ736qr7QKJi6cM6bPFmPtz91ynQSESik2AufpJS+mnTyZNNJzOjWTXflvP226SQi\nUEixFz7p00/B6YSEBNNJzJkyBV57zXQKESik2AufdL5VH4xdOOdNmqRP0spcOcIdpNgLn7RuXfB2\n4ZzXuzfEx8u0x8I9pNgLn1NWBg4HXHON6STmSVeOcBcp9sLn5OXBTTfBJZeYTmLe5Mn638PpNJ1E\n+Dsp9sLnrFsn88Kcd+WV0KcPfPCB6STC30mxFz7lq6/g449h7FjTSXyHdOUId5BiL3zK66/DuHHw\ngx+YTuI7zhd7mS9QtIcUe+FTgvlCqqbEx+sPv3/+03QS4c+k2AufcfIkFBbCxImmk/iWkBDpyhHt\nJ8Ve+Iy334arr4auXU0n8T1Tpui5gqQrR7RVi4p9QUEBcXFxxMbGsmzZsoue37NnDyNGjCAiIoLl\ny5fXPW632xk9ejQDBw5k0KBBPPnkk+5LLgKOXEjVtKQk+PZb2L3bdBLhr5pdqcrpdDJgwAA2btyI\nxWIhOTmZ3NxcbDZb3TZfffUVBw4cYP369XTt2pUFCxYAUFFRQUVFBYmJiZw8eZJhw4axfv36evvK\nSlUC4OxZ6NVLz4ljsZhO45vmz4fu3eHBB00nEb7A7StVFRUVERMTQ3R0NOHh4WRkZJCXl1dvmx49\nepCUlER4eHi9xyMjI0lMTASgY8eO2Gw2Dh8+3OJwIngUFkL//lLoXZF+e9EezRZ7h8NBVFRU3X2r\n1YrD4Wj1G5WXl1NcXExKSkqr9xWBTy6kat4118Dhw/D556aTCH8U1twGIW6YdvDkyZNMmzaNFStW\n0LFjx4ueX7RoUd3PqamppKamtvs9hf84d05PCSATfrl2ySWQnq4/GL/rKRVBpLCwkMLCwjbv32yx\nt1gs2O32uvt2ux2r1driNzh79ixTp05l+vTpTGqi6XZhsRfBZ8cO6NwZBgwwncT3TZ4MS5ZIsQ9G\nDRvCixcvbtX+zXbjJCUlUVpaSnl5OTU1Naxdu5b09PRGt214skApRWZmJvHx8cyfP79VwUTwkAup\nWm7MGH0S+8gR00mEv2l2NA7AW2+9xfz583E6nWRmZrJw4UJycnIAyMrKoqKiguTkZKqqqggNDaVT\np06UlJTw8ccfc91113HVVVfVdQctWbKE8ePH/zuAjMYJenFxsHq1XoZPNO/WW/WUEnPmmE4iTGpt\n7WxRsfckKfbBbc8ePenZwYMQKpf4tchLL8Hzz+tVrETwcvvQSyE86fwoHCn0LTdhAmzZAlVVppMI\nfyJ/YsKo9etlyGVrXXaZHoZZUGA6ifAnUuyFMQ4HlJbCqFGmk/ifSZP0tyIhWkqKvTAmLw9+/GNo\ncOG1aIGbb9Yt+zNnTCcR/kKKvTBGJj5ru8hIPc/9P/5hOonwF1LshRHffAPbt0Namukk/mvSJH3O\nQ4iWkGIvjHjzTRg9Gjp0MJ3Ef02apLvCzp0znUT4Ayn2wgiZ+Kz9YmP1lMfbt5tOIvyBFHvhdd9+\nCxs3wk03mU7i/yZPllE5omWk2Auve/ddGDoUfvhD00n83/khmHIRumiOFHvhdXIhlfsMHaqHX5aU\nmE4ifJ0Ue+FVtbXw+utS7N0lJEQusBItI8VeeNUHH0BUFFx+uekkgWPyZBmCKZonxV54lVxI5X7X\nXgvl5XrmUCGaIsVeeI1S0l/vCWFhcOONesy9EE1pttgXFBQQFxdHbGwsy5Ytu+j5PXv2MGLECCIi\nIli+fHmr9hXB5eOPdWEaNMh0ksAjQzBFc1wuXuJ0OhkwYAAbN27EYrGQnJxMbm4uNputbpuvvvqK\nAwcOsH79erp27cqC7xbHbMm+IIuXBJPf/Q6qq+Hxx00nCTzV1dC7N3z+ub7QSgQ+ty5eUlRURExM\nDNHR0YSHh5ORkUFeg++KPXr0ICkpifAGUxe2ZF8RXGStWc+59FK9Pu0bb5hOInyVy2LvcDiIioqq\nu2+1WnE4HC164fbsKwLP/v3w5Zdw9dWmkwQumRhNuOKy2J9fJLwt2rOvCDzr10N6OlxyiekkgevG\nG+G993SXjhANhbl60mKxYLfb6+7b7XasVmuLXrg1+y5atKju59TUVFJTU1v0HsJ/rFsHv/2t6RSB\nrVs3SE6Gt9+W7rJAVFhYSGFhYZv3d3mCtra2lgEDBvDee+/Rp08fhg8f3uhJVtAFu1OnTnUnaFu6\nr5ygDXxHjsCAAfq/3/++6TSBLTsbduyA554znUR4Wmtrp8uWfVhYGNnZ2aSlpeF0OsnMzMRms5GT\nkwNAVlYWFRUVJCcnU1VVRWhoKCtWrKCkpISOHTs2uq8IPhs2wPjxUui94eab4aGH4OxZWe5R1Oey\nZe+VANKyD3g//jHMmAEZGaaTBIfkZFi2DK6/3nQS4UluHXopRHtVVcGWLTBxoukkwUMusBKNkWIv\nPOqtt+Caa6BzZ9NJgsf5IZjyhVlcSIq98KjXXoOpU02nCC42m77I6p//NJ1E+BIp9sJjTp/WwwDT\n000nCS7n57iXC6zEhaTYC495911ITISePU0nCT7Sby8akmIvPOa112DKFNMpgtPw4fDNN7B3r+kk\nwldIsRcecfasXn5QruQ0IzRUj7mXrhxxnhR74RGbN8OVV+olCIUZsjatuJAUe+ER0oVj3ujRsGcP\nfPGF6STCF0ixF2537pxuUUqxN+t734MJE2S5QqFJsRdut327noGxf3/TScTkydJvLzQp9sLtpAvH\nd4wfDx9+CMePm04iTJNiL9xKKSn2vqRTJ7juOsjPN51EmCbFXrjVrl36vwkJZnOIf5MLrARIsRdu\ndr5VL6tS+o6bboJ33tHTV4jgJcVeuJV04fienj3hqqv0+rQieDVb7AsKCoiLiyM2NpZly5Y1us28\nefOIjY0lISGB4uLiuseXLFnCwIEDGTx4MLfddhtnzpxxX3Lhc/buhaNHISXFdBLRkFxgJVwWe6fT\nydy5cykoKKCkpITc3Fx2795db5v8/Hz27dtHaWkpTz/9NHfddRcA5eXlPPPMM+zcuZNPP/0Up9PJ\nSy+95LnfRBi3bp3uHw6V74s+Z9IkvTyk02k6iTDF5Z9lUVERMTExREdHEx4eTkZGBnkNrtDYsGED\ns2bNAiAlJYXKykqOHDlC586dCQ8Pp7q6mtraWqqrq7FYLJ77TYRxr74qc+H4qiuvhN694YMPTCcR\nprgs9g6Hg6gLJjexWq04HI4WbdOtWzcWLFhA37596dOnD126dGHs2LFuji98RXk5lJVBaqrpJKIp\n06bBK6+YTiFMcVnsQ1o4pKKxRW/379/PE088QXl5OYcPH+bkyZOsWbOmbSmFz/v73/WJ2bAw00lE\nU265RRd76coJTi7/NC0WC3a7ve6+3W7HarW63ObQoUNYLBYKCwsZOXIk3bt3B2DKlCl8+OGH3H77\n7Re9z6JFi+p+Tk1NJVWah37n5Zdh6VLTKYQrcXHQo4fuyrnuOtNpRGsVFhZSWFjY9hdQLpw9e1Zd\neeWVqqysTJ05c0YlJCSokpKSetu8+eabasKECUoppbZu3apSUlKUUkoVFxergQMHqurqanXu3Dk1\nc+ZMlZ2dfdF7NBNB+IH9+5Xq2VOps2dNJxHNeeQRpX75S9MphDu0tna6bNmHhYWRnZ1NWloaTqeT\nzMxMbDYbOTk5AGRlZTFx4kTy8/OJiYmhQ4cOrFq1CoDExERmzpxJUlISoaGhDB06lDvvvLPtn0rC\nZ/3973pRcenC8X0/+Qlcey2sWAGXXGI6jfCmkO8+IcwFCAlptM9f+I9hw2D5cjk56y+GDoU//EH+\nf/m71tZOGREt2mXfPnA4dGtR+Ief/ESfYxHBRYq9aJeXX9ZD+qRLwH/ccou+JqK21nQS4U1S7EW7\nvPyybikK/9Gvn14bePNm00mEN0mxF2322Wfw5ZdwzTWmk4jWkq6c4CPFXrSZdOH4r1tu0TOUnj1r\nOonwFin2ok2UghdfhIwM00lEW1xxhZ4vR6Y9Dh5S7EWbfPwxnDkDI0aYTiLa6vbbQWYwCR4yzl60\nyX33QUQEPPKI6SSirb78Evr310NnO3QwnUa0loyzFx7ndEJuLtx2m+kkoj169tTfzDZsMJ1EeIMU\ne9Fq77+vC0V8vOkkor2kKyd4SLEXrbZmjS4Swv/dfDNs2QJff206ifA0KfaiVU6f1ssPyiicwNCp\nE0ycqCezE4FNir1olfx8SEiABssaCD8mXTnBQYq9aBXpwgk8aWn6aujyctNJhCdJsRctVlkJGzfq\nq2ZF4AgP11fUvvii6STCk6TYixb7+99hzBjo0sV0EuFu06fD88/rK6NFYGq22BcUFBAXF0dsbCzL\nli1rdJt58+YRGxtLQkICxcXFdY9XVlYybdo0bDYb8fHxbNu2zX3JhdetWgU//anpFMITRozQ109s\n3246ifAUl8Xe6XQyd+5cCgoKKCkpITc3l927d9fbJj8/n3379lFaWsrTTz/NXXfdVffc3XffzcSJ\nE9m9eze7du3CZrN55rcQHrdnD3z+OUyYYDqJ8ISQEP1B/t2qoiIAuSz2RUVFxMTEEB0dTXh4OBkZ\nGeTl5dXbZsOGDcyaNQuAlJQUKisrOXLkCMePH2fLli3ccccdgF7P9rLLLvPQryE87dln9Vf98HDT\nSYSnzJypu+qqq00nEZ7gstg7HA6ioqLq7lutVhwOR7PbHDp0iLKyMnr06MHs2bMZOnQoP/vZz6iW\no8gvOZ26P3f2bNNJhCdZrTB8OKxfbzqJ8IQwV0+GhIS06EUaTsYTEhJCbW0tO3fuJDs7m+TkZObP\nn8/SpUt5+OGHL9p/0aJFdT+npqaSKish+5R33gGLBQYONJ1EeNrs2fCXv8i8R76osLCQwsLCNu/v\nsthbLBbsdnvdfbvdjrXB1TQNtzl06BAWiwWlFFarleTkZACmTZvG0qVLG32fC4u98D2rVkmrPljc\nfDP88pdw8CD07Ws6jbhQw4bw4sWLW7W/y26cpKQkSktLKS8vp6amhrVr15Kenl5vm/T0dFavXg3A\ntm3b6NKlC7169SIyMpKoqCj27t0LwMaNGxkoTUO/c+yYbtnL9AjBISICbr0VnnvOdBLhbi5b9mFh\nYWRnZ5OWlobT6SQzMxObzUZOTg4AWVlZTJw4kfz8fGJiYujQoQOrLjid/9RTT3H77bdTU1NDv379\n6j0n/MOLL+oROF27mk4ivGX2bF3wf/tbCJUrcQKGLF4iXBo2DJYsgRtuMJ1EeItScNVVkJ0No0aZ\nTiOaIouXCLfZuVNPfTtmjOkkwptCQuCOO+CZZ0wnEe4kLXvRpDvvhMsv11/nRXA5dkwvSL5vH/zw\nh6bTiMa0tnZKsReNOn4coqNh926IjDSdRpjw05/q4bb33286iWiMdOMIt3j+ed1PL4U+eN11F+Tk\nwLlzppMId5BiLy6iFKxcCT//uekkwqThw6FzZz2ttfB/UuzFRf73f6G2FuRC5uAWEqI/8P/8Z9NJ\nhDtIn724yG236Vbd/PmmkwjTTp7UV9Lu2iVLUfoaOUEr2uXLL2HAAD2dsVxIJQDmztUjcmRWE98i\nJ2hFu6xaBZMnS6EX//bzn+sx92fPmk4i2kOKvahTW6v7Zy9Yf0YIBg2CmBhYt850EtEeUuxFndde\ng6go+G6iUiHq3HMPLF8ua9T6Myn2AtB/xMuXw4IFppMIX3TTTXD0KHz4oekkoq2k2AtA/xEfPar/\nqIVo6JJLdOv+D38wnUS0lYzGEQBMnQrXX68XrhCiMadO6bmStm+Hfv1MpxEy9FK02v79kJICBw5A\nhw6m0whftnChLvpPPmk6iZBiL1pt3jxd5JcsMZ1E+LrDh/XonP37ZXiuaW4fZ19QUEBcXByxsbEs\nW7as0W3mzZtHbGwsCQkJFBcX13vO6XQyZMgQbpLOYJ/0zTfwwgvwq1+ZTiL8QZ8+cOON8PTTppOI\n1nJZ7J1OJ3PnzqWgoICSkhJyc3PZvXt3vW3y8/PZt28fpaWlPP3009zVYJD2ihUriI+PJyQkxP3p\nRbutXKn/ePv0MZ1E+It779XdOKdPm04iWsNlsS8qKiImJobo6GjCw8PJyMggLy+v3jYbNmxg1qxZ\nAKSkpFBZWcmRI0cAOHToEPn5+cyZM0e6anzQyZPwxBPwm9+YTiL8SWKivsmS0v7FZbF3OBxERUXV\n3bdarTgcjhZvc8899/DYY48RKqsW+6SVK/XMlvHxppMIf/Pgg/ocT02N6SSipcJcPdnSrpeGrXal\nFG+88QY9e/ZkyJAhFBYWutx/0QUzLKWmppIqc+t6XHW1vojqnXdMJxH+6OqrwWaDZ5/Vy1cKzyss\nLGy2lrristhbLBbsdnvdfbvdjrXBPKcNtzl06BAWi4VXX32VDRs2kJ+fz+nTp6mqqmLmzJmsXr36\novdZJNPpeV1ODlxzDQwebDqJ8FcPPaSnw549G8LDTacJfA0bwosXL27dCygXzp49q6688kpVVlam\nzpw5oxISElRJSUm9bd588001YcIEpZRSW7duVSkpKRe9TmFhobrxxhsbfY9mIggPqK5WqndvpYqL\nTScR/m7MGKX++lfTKYJTa2uny5Z9WFgY2dnZpKWl4XQ6yczMxGazkZOTA0BWVhYTJ04kPz+fmJgY\nOnTowKomztrIaBzf8cwzenGSxETTSYS/+93vdMt+xgxp3fs6uagqyJw+raerzcuDYcNMpxGBIDUV\nfvpTfRPeI1fQCpeWL4fNm3WxF8Id3n9fF/o9e+D73zedJnhIsRdNOnZMLzm4ebMeSSGEu9x0k27h\nyxTZ3iMfY2YsAAAPMElEQVTFXjRpwQI9idXKlaaTiEBTUgKjRsFnn0G3bqbTBAcp9qJRn3+uV6D6\n178gMtJ0GhGIsrKgY0fdVSg8T4q9aFRGhr5S9ne/M51EBKqKChg4ED76CK64wnSawCfFXlykqAgm\nT4a9e2W+euFZixfrE7W5uaaTBD4p9qIepXRf6syZMGeO6TQi0J08Cf37w7p1ekEc4Tlun89e+Lfn\nn9cnZWfPNp1EBIOOHWHpUvjFL6C21nQacSFp2Qewo0d1H+obb0BSkuk0IlgoBWPGwM03w913m04T\nuKQbR9SZMwcuvVTWCxXe99lneqK9jz+GBnMnCjeRYi8A2LIF/uM/9Pjnzp1NpxHB6KGH4P/+D159\n1XSSwCR99oKaGrjrLr0KlRR6YcrChfDpp7obUZgnxT4APf44XH45TJ1qOokIZhER8Kc/wdy5cOKE\n6TRCunECzM6dMH487NihC74Qps2Zo0/a/vWvppMEFunGCWLV1XD77br7Rgq98BVPPKFnxnztNdNJ\ngpu07APIL38JlZWwZo3pJELUt307pKfrb54Wi+k0gcEjLfuCggLi4uKIjY1l2bJljW4zb948YmNj\nSUhIoLi4GNBr1o4ePZqBAwcyaNAgnpQxgB7zxhvw5pvwP/9jOokQF0tJ0X33s2bBuXOm0wSp5tYt\nrK2tVf369VNlZWWqpqam2XVot23bVrcO7RdffKGKv1vo9MSJE6p///4X7duCCKIZFRVKRUYqtXmz\n6SRCNO3sWaVGjlTq8cdNJwkMra2dzbbsi4qKiImJITo6mvDwcDIyMshrsMzRhg0bmDVrFgApKSlU\nVlZy5MgRIiMjSfxuodOOHTtis9k4fPiw2z+wgllNDdxyC9x5J1x7rek0QjQtLAxeeAF+/3vdhy+8\nq9li73A4iIqKqrtvtVpxOBzNbnPo0KF625SXl1NcXEyKzI7kVnffDV266AtYhPB1V1yhC35GBpSX\nm04TXMKa2yAkJKRFL6QanCi4cL+TJ08ybdo0VqxYQceOHS/ad9GiRXU/p6amkpqa2qL3DHYrV+ol\nBrduhVAZVyX8xLhx8Otfw6RJ8MEHMu12SxUWFlJYWNjm/Zst9haLBbvdXnffbrdjbTDZRcNtDh06\nhOW7U+5nz55l6tSpTJ8+nUmTJjX6HhcWe9Eymzfr1vwHH8hVssL/zJ8Pn3yiZ2NduxZa2KYMag0b\nwosXL27V/s22B5OSkigtLaW8vJyamhrWrl1Lenp6vW3S09NZvXo1ANu2baNLly706tULpRSZmZnE\nx8czf/78VgUTTSsthVtv1dMXx8SYTiNE64WE6G+mBw5IF6S3NNuyDwsLIzs7m7S0NJxOJ5mZmdhs\nNnJycgDIyspi4sSJ5OfnExMTQ4cOHVi1ahUAH3zwAS+88AJXXXUVQ4YMAWDJkiWMHz/eg79SYDt4\nUH8N/q//ghtuMJ1GiLaLiIANG+C66/R5p3vvNZ0osMlFVX6kokL/YfziF/prsBCB4OBBfVz/9rfw\ns5+ZTuM/Wls7m23ZC99w7JhuyU+fLoVeBJa+feHddyE1FTp10iN1hPtJsfcDX30FEyboYv/gg6bT\nCOF+sbFQUKC7KEEKvifIgD0f9/nnesWf8ePhscdk1IIIXIMH6xb+fffpydOEe0mfvQ8rLoYbb4T/\n/E89yZkQweDAAd24SU/Xi5dLA6dxsixhgHjnHd0//6c/wbRpptMI4V1Hj+qGTkwMPPOMHrkj6pP5\n7P2c0wmLF+uLTV55RQq9CE7du8N77+m5n0aOhP37TSfyf1Lsfcj5E7H/+Ad89JEejiZEsLr0Unjp\nJbjjDhgxAtatM53Iv0mx9xFvvw1Dh0JyMmzcCL17m04khHkhIXoe/DfegHvugV/9Ck6eNJ3KP0mx\nN+yrr3Tf/F13wd/+Bv/933oqWCHEvw0frle5OnECBg2C/HzTifyPFHtDzp2DZ5/VB25kJHz66b/H\nGAshLtatm/6b+ctfdAv/P/4DvvjCdCr/IcXey5TSX0mHDNETQeXnw+OPyzSvQrTU2LG6cRQdrRtL\nv/kNfPON6VS+T4q9lygFmzbp1aQeeECPuNm6FYYNM51MCP9z6aWwZImeJvnYMejfHx59FCorTSfz\nXVLsPezbb+Gvf4XERH2i6c47YdcuvXCDXCwiRPtYrfD003pdh5ISuPJKfQHiZ5+ZTuZ75KIqD1BK\nD5188UVYs0aPsLn7bt0nLwVeCM85fBj+/Gf9AZCQADNm6IZVp06mk7mfXEFryLlzerTAhg2Qm6sf\nu+02PdImNtZsNiGCzenTelz+iy/qVd3Gj9cXKI4bp+fODwRuv4K2oKCAuLg4YmNjWbZsWaPbzJs3\nj9jYWBISEiguLm7Vvv5KKSgr04snz5ihR9TMmAHV1foA27tX98tLoRfC+yIi9Gid11/Xkwlefz2s\nWqWnU772Wj3E+YMP9IdC0FAu1NbWqn79+qmysjJVU1OjEhISVElJSb1t3nzzTTVhwgSllFLbtm1T\nKSkpLd73u28VriIY849//KPuZ6dTqf37ldqwQaklS5SaOlWpyEh9mzJFqT/9SamyMu9m8hWSqWV8\nMZNSvpnLk5mqq5V66y2l7r5bqWHDlLr0UqWuvlqpe+5RavVqpT7+WKnTp72bqa1aWztdXr5TVFRE\nTEwM0dHRAGRkZJCXl4fNZqvbZsOGDcyaNQuAlJQUKisrqaiooKysrNl9fcnp02C361VzDh6E554r\nJDo6lX/9C3bvhq5dYeBAPdRr8mQ9XPLyy73bB19YWFhvwWFfIJlaxhczgW/m8mSmH/xAd+mcXxn1\n1CnYsUOPjMvP17Nsfv65HtbZrx9ccYU+6bt9eyHdu6diseha4I/n3lwWe4fDQVRUVN19q9XK9u3b\nm93G4XBw+PDhZvf1tn379FWqX3+tr1z9+ut//3zihD6z37evvp07Bz/6kR49M3AgXHaZ0ehCCA/o\n0EGvkHXhZ8vp01BaqrtpP/9c33buhFtv1SeAq6uhZ0/o1UvfbDZYvtzUb9ByLot9SAs/vpSfnGAN\nCdH/cy+/HHr0gB/+sP4t9IIzGIsWwZw5xqIKIQyJiNALqQwe/O/HFi3SN9AfBl9+CUeO6FtNjYmU\nbeCqj2fr1q0qLS2t7v6jjz6qli5dWm+brKwslZubW3d/wIABqqKiokX7KqVUv379FCA3uclNbnJr\nxa1fv37u67NPSkqitLSU8vJy+vTpw9q1a8k9P67wO+np6WRnZ5ORkcG2bdvo0qULvXr1onv37s3u\nC7Bv3z5XEYQQQriBy2IfFhZGdnY2aWlpOJ1OMjMzsdls5OTkAJCVlcXEiRPJz88nJiaGDh06sGrV\nKpf7CiGE8D7jF1UJIYTwPK/OjXPHHXfQq1cvBl945uM7y5cvJzQ0lGPHjnkzUpOZnnrqKWw2G4MG\nDeKBBx4wnqmoqIjhw4czZMgQkpOT2bFjh1cz2e12Ro8ezcCBAxk0aBBPPvkkAMeOHWPcuHH079+f\nG264gUovz0TVVK77778fm81GQkICU6ZM4fjx48YznWfiWHeVydSx3lQmk8f66dOnSUlJITExkfj4\neBYuXAiYP86bytWq47xVPfzttHnzZrVz5041aNCgeo8fPHhQpaWlqejoaHX06FFvRmo006ZNm9TY\nsWNVTU2NUkqpL7/80nimUaNGqYKCAqWUUvn5+So1NdWrmb744gtVXFyslFLqxIkTqn///qqkpETd\nf//9atmyZUoppZYuXaoeeOABn8j1zjvvKKfTqZRS6oEHHvBqrqYyKWXuWG8qk8ljvalMpo/1U6dO\nKaWUOnv2rEpJSVFbtmwxfpw3las1x7lXW/bXXnstXbt2vejxe++9l9///vfejFKnsUx//vOfWbhw\nIeHh4QD06NHDeKbevXvXfWpXVlZisVi8mikyMpLExEQAOnbsiM1mw+Fw1LuobtasWaxfv954rsOH\nDzNu3DhCvxtLm5KSwqFDh4xnAnPHelP//1auXGnsWG8qk+lj/dJLLwWgpqYGp9NJ165djR/njeXq\n1q1b645zr3wkXaCsrKxei3X9+vVq/vz5SillpGXfWKbExET10EMPqZSUFDVq1Ci1Y8cO45nKy8uV\n1WpVUVFRymKxqIMHD3o904XZ+vbtq6qqqlSXLl3qHj937ly9+6ZynThxot7jN954o1qzZo3xTL5w\nrF+YqaqqyieO9QsznThxwvix7nQ6VUJCgurYsaO6//77lVLKJ47zxnJdqLnj3GixP3XqlBo+fLg6\nfvy4Ukr/AXz99dfejnRRYR00aJCaN2+eUkqpoqIidcUVVxjPNGbMGPXaa68ppZR6+eWX1dixY72e\nSSn9dXvo0KFq3bp1Sil10UHftWtXE7HUiRMn1LBhw+pynffII4+oKVOmGM/kK8d6w38nXzjWG2by\nlWO9srJSpaSkqE2bNvnMca7Uv3NdOF9PS45zo8V+165dqmfPnio6OlpFR0ersLAwdfnll6sjR44Y\ny6SUUuPHj1eFhYV19/v16+f1P8yGmTp16lT387lz51Tnzp29mkcppWpqatQNN9yg/vjHP9Y9NmDA\nAPXFF18opZQ6fPiwGjBggE/kUkqpVatWqZEjR6pvv/3WeCZfONYb+3cyfaw3lskXjvXzHn74YfXY\nY4/5xHHeWC6lWn6cG12pavDgwRw5coSysjLKysqwWq3s3LmTnj17mozFpEmT2LRpEwB79+6lpqaG\n7t27G80UExPD+++/D8CmTZvo37+/V99fKUVmZibx8fHMnz+/7vH09HSee+45AJ577jkmTZrkE7kK\nCgp47LHHyMvLIyIiwngm08d6U/9OJo/1pjKZPNa//vrrupE23377Le+++y5Dhgwxfpw3latVx7mH\nP4DqycjIUL1791bf+973lNVqVX/729/qPX/FFVd4vR+zsUw1NTVq+vTpatCgQWro0KFen970fKbw\n8PC6TDt27FDDhw9XCQkJ6uqrr1Y7d+70aqYtW7aokJAQlZCQoBITE1ViYqJ666231NGjR9WYMWNU\nbGysGjdunPrmm2+M58rPz1cxMTGqb9++dY/dddddxjNdyNvHelP//0we6039O5k81nft2qWGDBmi\nEhIS1ODBg9Xvf/97pZQyfpw3las1x7lcVCWEEEFAFhwXQoggIMVeCCGCgBR7IYQIAlLshRAiCEix\nF0KIICDFXgghgoAUeyGECAJS7IUQIgj8fxncASVSIaMEAAAAAElFTkSuQmCC\n", - "text": [ - "" - ] - } - ], - "prompt_number": 7 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This corresponds to a fairly inexact belief. While we believe that the dog is at 23, note that roughly 21 to 25 are quite likely as well. Let's assume for the moment our dog is standing still, and we query the sensor again. This time it returns 23.2 as the position. Can we use this additional information to improve our estimate of the dog's position.\n", - "\n", - "Intuition suggests 'yes'. Consider: if we read the sensor 100 times and each time it returned a value between 21 and 25, all centered around 23, we should be very confident that the dog is somewhere very near 23. Of course, a different physical interpertation is possible. Perhaps our dog was randomly wandering back and forth in a way that exactly emulated a normal distribution. But that seems extremely unlikely - I certainly have never seen a dog do that. So the only reasonable assumption is that the dog was mostly standing still at 23.0.\n", - "\n", - "Let's look at this in a plot:" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "dog = DogSensor(23, 0, 5)\n", - "xs = range(100)\n", - "ys = []\n", - "for i in xs:\n", - " ys.append(dog.sense())\n", - " \n", - "plot(xs,ys)\n", - "show()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "display_data", - "png": "iVBORw0KGgoAAAANSUhEUgAAAXUAAAEACAYAAABMEua6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnX14VdWd778nIYGQhPBOkIQXIwghIPEN64AEGdTxKqXC\n9RZH6xXsnam1T2nt1PE+nSnYKdD6zFBwnPbaqdbKtNa5T1vpi4woBKyA6AUFEQUhgSQkIJCTkBDy\nuu8fPxdnn52139c+Z59zfp/nyRNyONlnZb9893d/12+tFdE0TQPDMAyTFmQluwEMwzCMOljUGYZh\n0ggWdYZhmDSCRZ1hGCaNYFFnGIZJI1jUGYZh0ghLUa+rq8P8+fMxffp0VFRUYOPGjQCAvXv34sYb\nb0RlZSVuuOEGvPPOOwlpLMMwDGNNxKpOvampCU1NTZg1axba2tpw3XXX4Xe/+x2+8pWv4IknnsDt\nt9+OV199FT/84Q+xffv2RLabYRiGkTDA6j+Li4tRXFwMACgoKMC0adPQ0NCAsWPHoqWlBQAQjUYx\nbty44FvKMAzD2GLp1PXU1tZi3rx5OHToEM6dO4c5c+YgEomgr68Pu3fvRmlpadBtZRiGYWxw1FHa\n1taGpUuXYsOGDSgoKMCKFSuwceNGnDx5EuvXr8fy5cuDbifDMAzjBM2Grq4u7bbbbtPWr19/+bXC\nwsLL/+7r69OGDBki/d2ysjINAH/xF3/xF385/CorK7OTZUssnbqmaVixYgXKy8uxcuXKy69fddVV\n2LFjBwBg27ZtmDJlivT3jx07Bk3T+EvT8N3vfjfpbQjDF+8H3he8L6y/jh07ZiXLtlh2lL711lvY\ntGkTZs6cicrKSgDAmjVr8Oyzz+KrX/0qOjs7kZeXh2effdZXI5jgeeMNoLsbuOOOZLeEYZggsRT1\nOXPmoK+vT/p/b7/9diANYoJh507g0iUWdYZJd3hEaYKoqqpK6ud3dZGoJ5tk74cwwfsiBu8LdTgu\nafS08UgEAW6eccFjjwFtbcD/+T/JbgnDMFb41U126hlCd3c4nDrDMMHCop4hhCV+YRgmWFjUMwQW\ndYbJDFjUMwQWdYbJDFjUMwQVov7JJ5TNM0yY6esD5s6l75kIi3qGoELUly8HPhtIzCiAlyEIhvZ2\n4M9/pnM+E2FRzxBUiPq5c0Bzs5r2ZDqtrcC8ecluRXrS2krfOzvt39veHmxbkgGLeobQ1eXsJLci\nGgU+m0af8cnFi0BHB8DDONTjRtSvugq4cCHY9iQaFvUMQUWdenMzi7oqOjroe6ZGBEHiRtTPnqWv\ndIJFPUPwG790dpIQiQuG8YcQda5IUo9TUe/rA3p6gPPng29TImFRzxD8ino0St/ZqauBRd0/X/kK\n8Oab/V93Kuqikivd+olY1DMEFvVwwaLun+PHgdra/q+7FXV26kxKIjpKvXbMCTfDoq4GFnX/XLoU\nMxt6nIq66M9gUU8Sf/4z5V9eaW8H/vZv1bUn1RAnsNcKmGgUyMlhUVcFi7p/Ll2Sn4+imoVFPeQ8\n/DBw6JD33z9zBnjxRXXtSTXECexVRJqbgdJStaL+T/8E7NqlbnupRCqL+vHjwC23JLsV7NTNSBlR\n7+72N1Dg4kX6SsWLSAVdXUAk4v3vj0aBCRPUivrWrcCRI+q2l0qksqg3NtJXsunslJ+PnKmnCH5F\nXVxE6dbT7ZSuLmDIEH9OfcIEtSWN9fV0o81EUlnUL1wIR309O3U5KSPqPT0s6n7o7vYn6qqduqax\nqAMs6n4wy9RbW+lcZ1EPOd3dtBybV8RFlG4H0CldXUBhoT9RHzuWBmz4nW4AoFF8XV0s6qko6m1t\nas4Bv1g59VGjnIl6bm76aULKiDo7de/09pIY5+d7vxibm4Fhw4CiIjVuvb6evrOoJ7cdXgiLU7fK\n1EeNst+33d1AcTGLetLwK+pCPNLtADqhu5scSV6eP6c+dCiLuipSXdST7dQ1zTp+cerUhain08Rq\nKSPq3FHqHfGYOWiQv45SK6fu9iKvr6e6d3FcMo2ODmDAgNQV9Z6e5C5CIaq5/MYvQ4bQdtLpPEwZ\nUe/p4UzdKypE3cqpX7gAlJW52159Pf1OJjv1oUNTV9SB5EYwnZ1AQUHMsQs0zX2mPnx4eulCSoi6\nplEu7Nep5+Sk18FzSlcX/e0qnPqQIf3LGpua6MsN9fXAlCmZLerDhrGoe+XSJTqfjSajs5Oct5Pq\nFxFLsqgnATE9gF9Rv+IKjl+8iIim0YVTVCR36p9+SjddN+uXsqinvqgnM1c3E3VRzjhwoDunnk66\nkBKiLsTCr6iPG5ded2SnCEfiVdQvXKBO1pwcuaifOUPf3Wy7ro5FPdVFPQxOfejQ+Fzdrajn5NBx\nSCddsBT1uro6zJ8/H9OnT0dFRQU2btx4+f+efvppTJs2DRUVFXj88ccDbaRw6n4y9YsXSdTT6Y7s\nFL9OXeTpgLlTB5x3NomBR5Mns6insqgn06l3dpJwq3Lq6STqA6z+MycnB+vXr8esWbPQ1taG6667\nDgsXLkRTUxM2b96MAwcOICcnB5+KqzogVDr1995T06ZUwq+oizwdoIvIOO+HOPxOt93cTO0ZPZpF\nPRWrLoS5SnWnLp5gCwrSS9QtnXpxcTFmzZoFACgoKMC0adPQ0NCAn/zkJ3jiiSeQk5MDABg1alSg\njVSVqbNTD4dTr68HSkqAwYNTU9RUcOlSajv1oqL0ytQzRtT11NbWYv/+/Zg9ezaOHDmCnTt34qab\nbkJVVRXefffdINuozKmPHUuinsz62mSg2qmbibrTbetFPdOdeqqK+vDh4XHqfkQ9JydDRb2trQ1L\nly7Fhg0bUFhYiJ6eHjQ3N2PPnj146qmncO+99wbayJ4eKlPyW6c+ZAh1+IlMMFNQ6dSHDFHr1FnU\nk90Sd2gaXT8jRoQnU/fTUZqOTt0yUweA7u5uLFmyBPfffz8WL14MACgpKcE999wDALjhhhuQlZWF\nc+fOYcSIEf1+f9WqVZf/XVVVhaqqKteN7O6mg+d3moDBg2PlS0VF3reVaghH4uREl9HcHB+/GOvU\nz5yhXNKtU8/Lo+OiaXTTziRSVdQvXaKRsAUF4XDqRUXAsWOx171k6skW9erqalRXVyvbnqWoa5qG\nFStWoLy8HCtXrrz8+uLFi7Ft2zbMmzcPR44cQVdXl1TQgXhR90pPD4nKqVPet9HRQSIiDuDEib6b\nlTKocOp28cv48e6c+s03A9nZ1K7OTmpbJpGqon7hAs32mZsbDlE3dpReuODOqQujl0xRN5rd1atX\n+9qeZfzy1ltvYdOmTdi+fTsqKytRWVmJLVu2YPny5Th+/DhmzJiBZcuW4Re/+IWvRtjR3U3OoKfH\n3QAXPULUhw3LvM5SFZm6WUepppGol5a6d+pAZkYwfX10TIqKUlfUvT71qUJVR2k6ZuqWTn3OnDno\nM+lVfDGBC3729NDOz8+nCEYIjBuMTj2T8Dv4yMqpX7gQuzDcZupALIIZPtx9u1IVIUh+Zs1MFmFx\n6iJTV1HSmG6akDIjSkWO5zVX1zv1dDqATlDp1MWc7OKJ6dNPqd7czbaNTj3TyhrFuehnLp5kkUpO\n3W7fiutCLB4ThjniVZASom506l7o6IjvKM0kVGbqYrIk0Vn66ac0I15enjNxbm2l+EF0VGdi/JIO\noh6kU+/ttZ/fXFVJY24undPpFMumhKgLp+5H1C9ezNz4RaVTB+LLGs+cIVF3um3h0kW1C4t6slvj\njra24J365z8P7Npl/R69U/c79wuQXk/wKSHqeqfupVZd07ijVJVTB+LLGt069fp66lQVsKgnuzXu\nSIRTb2gATp60fo/I1IcMoTaJrj8vmTqQXk/wKSPqfjL1ri76/exsdup+Bx8B8TmmEHW3Tl2QyaIu\nhCeVllK7cIGuwyCdejQKnDtn/R7h1AcMoH0pzJ4Q9UGDnMcvQHrpQkqIut/4RVxEgNypnzgBBDzT\nQVLxs0hGdzf9TkFB7DWZqLtx6izqtL+ysui4pFIHXSKcuhtRB+LPR71T7+qyvmHq4xcW9QTjt6NU\nL+qyg/fii8C6df7bGVb8OHXh0vUjPo2i7qb6xSjqoqQxk+joiAlSqkUwqqpfOjvl13JfH51bZ8/a\n/77Yh6KssaeHXh88mG6Y2dnW41rYqScRv05dTBEAyA/eRx8BR474b2dY8VOnrp/MS6DaqWdqSSOQ\nuqLu16k/+yzwne/0f721ldy1E6c+cCD9W5yPom3CgNjdeIyZOot6AhFOvaDAW0epXfzy0UfA0aPp\nO3uj3qm7dVfGPB2IF3Wv1S+CTI5fgNQVdb9O/cwZ4PTp/q+LShY38Ytw6iJ6Edi1kZ16ElGZqYuB\nBuKxTNNI1HNzqdc9HREnrxiQYZUzikW+BcZyRiC+pJEzdff4EfWWFu9TZahAlVOPRuUi2txMTtsu\nfpFl6l5EnTP1JKEyU49ESKSEW29ooCeAysr0jWCEqGdnU9YoFh2R8ZOfAF//euxnYzkjECtpFPO+\nOHXq3d2xubgFLOruRH3FCuC3v/X3+Q895H2fq3LqZqIejVLJq51TFyWNQGwAEjt1IiVEXaVTB+IP\n4EcfAVOn0iLI6S7qgL2InDkDbN4cc/Mypy6cUXs73STz85059bY2uoHqO11Z1N2J+uHD9oJnxfnz\nwM9/3n9JQqcE7dSjUeCqq9w7dRG/FBbG3sOZeojxm6nrO0oBc1E/elRNe8OGG1Fvbwfq6kg8AHOn\n3tISq3xxsl0gJup6WNSdi3pfH80d7meRl4MH6btx+mSniBGlfkW9udlc1MePp21bCbIxU2enHiMl\nRF21U9d3lgpRnzw5vZ26yA7tRKStjd6zZQv9bOXURfQCuHPqejK1pNGLqNfVkUglU9RVxi/RaHz/\nDRCrthoxwvqJxMypc6aeIqKuMlMHOH6xE/W/+ivg1VfpZzunLkTdj1PnkkZnvyeeJP0s6yhEXT9f\nihvEiFIV8Yum9b+5iGqrESOsIxh9pu6no1RcF8LtG28yqUhKiHoinPqVV9J8E8msLAgKfXboJH65\n+25gzx76t5VTF+WMgHenzvGLO1HPyfHn1A8coFW/vDh1TYsdQxVOfdSo/u5YL+pOnbrXkkb9dZGd\nTU8gXp9gwkRKiLrKOnUg5tQvXKDv48fTCXDFFUBtrbJmhwa3Tn3sWOD664Hq6sQ49UwT9UuXvIv6\njBneRb2vDzh0CJgzx5t4XbxI18mAAf6cuph6Yvz4/qIuTMTIke7iFzOnbrVv9dcFkD4RTEqIehDV\nL83NwMcfU+yS9dleUBXBXLpE+WdYcCvqBQWxCEbm1MXEaqdPs1P3glen/sknVHrrVdRPnCABnDhR\nHr9omvVMhSJPB/w59ZYWaseIEXKnLjJ1q/hF5tTF+qQCN5k6kD4zNaaEqPvN1I3VL2LuZBG9CFRV\nwLzyCvC1r/nfjircVr/k5wN33EGdpTKnnp1N7zl+nKtfvOAnfrn2WnNRnz/fel8eOEBO37iwhODd\ndyl6M0Mv6n6cuohYZM5Y/J+VU9c09Zk6wE49oQRVp24UdVUVMA0N/jqzVOPFqc+YQQJRUyNfE7ao\niMrrhFPPyaGLzWpgE4s64UXUe3vpWMyaJRf17m6Ky2pqzLdx8CAdV+MScIKmJmtRU+XUhVGwEnUr\npy70QDxheylp7O2l8RLZ2bHXWNQTiHGRDLfzT5t1lAbl1JuawiVURlG3uhj1A4TuuINOfjNR/+ST\nmKiLbTu5YehxOr1AOuFF1E+epH09erRc1MWiJXaiPnNm/9WCBOfPW5smVU5dRHoyERX/Z9VRqo9e\nADIGXV30fr2oW53rRpcOpM/qRykh6uLOnJtLd2e3J1OinXpjY7iESn8C23UeifgFoFx98OD+Jz9A\nwtDRES/qdgLNTp3wIupHj9L5WVgoF3XhvK1E3S5+OX/e+glTDDwC/Dt1q/hl2DDr+MUo6pEInY91\ndc6dujFPB8z3S6qREqIuVj4CvEUwMlH/9FOKD6ZMib0+YQJ1/vkV5MbGcAmV08FHfX3xon7bbcD/\n/J/y94qFo1U49YsXU2v1H7/oz8e8PDWibufUL12iyq6pU83jl0Q5dTNR7+4mEc7Pt45f9Hm6oKiI\nrl2noq4vZ9Rvw2v9fphIGVEXouRF1M06SseMiX89O5vq1Y8d89fepqbwOnUr4RWLN4icsagIeOYZ\n+XuLiuii0Yu0F6eenU1tC2pptDDixal/8gmJel4eCZKx78LOqR8+THOq5ObGqkWMNDfTcTAbqyEG\nHgHBOPVolM6rSMSdUwdiJsONUzeKOjv1BCLiF8BbrbrRqefm0s1BH70IVEQwYYtfnA4+0rt0O4YM\noXxXPzmXF6cOpHcEI0ZO6vETv0QitA+Nbr2lhcZZmIm6iF4Aa6cOmJumIJy6voRQX2ll5dRloi76\nfZxO6CUTdRVOfdWq2FNTskgJUffr1I2iDtDJIxN1v7XqnZ10ooZJpJw6dTPRlVFUFB+9iG27depA\n+op6UxOdT9XV8a8bRd2JATh6lJw2II9gWlqoMub4cXmUJSpfgJh4Gd/nRtT9LJpt5dSFOA8dSueL\nrJrKzKnn58dXsyQ6U+/qAr7/feCDD7xvQwUpIep6p65K1IcPNxd1PxUwp08DxcX0mUHlxP/v/7lz\nSYkSdbt8OJNEXdNo3vILF4BTp+L/z61T7+mhgUNlZfSzmahPmECFBLIKDlH5Ij4zK6v/54rfM3sS\n1ot6djY9NXiZK8WJqGdlmVejyDL1oUPjoxcg8Zn6xx/TsbLqrE4EKSHqQTj1ykrgxhv7v9dv/NLY\nCIwbR+0NIidubQX+4i+AW25xNmpV05x3lLqJX4YOVevUwxRXqeDpp0mQHnqIOuUFIq8WJsWJqJ84\nQf0/wp2aiXpRETBpklxU9PELII9gmputry+9qANy0WxttRdGMROjEG2zufvNIhgzp+5G1M3iFz9O\n/cAB+u52qpFDh4D33vP+uUZSQtSNmbrfjlKAFgq49tr+750yhUodva5X2thIc6cEVX/9+98Df/mX\nwD33ADfcALz2mvX7ReWQGKihyqn/j/8B/OM/xr/m1amn2/S7Bw8C3/se8B//QeeCXtSNBsOJqIs8\nXSAT9dZWc1E/e5Y+t7Q09prMlYp5kJw4dUCeq//rvwJPPmn99whHLtbNFZ9nHL1s1llqlqn7FXWz\nDmSnHDhA+9itU/+//xf4zW+8f64RS1Gvq6vD/PnzMX36dFRUVGDjxo1x///P//zPyMrKwvmAK/aN\nTt1vR6kVY8eSK9q1y91nCJqaKH4JKlJ4+WUS1G9/G/j1r8kJvvKK+fuNJ68qUR85Ml5oxLYzPVPv\n6gLuuw946inKwEeNinebQYl6SwuJmkzU33+fXLq+U9uYH/f10c8lJf5EvbWVKnWs0Mcs+gjGuMi5\n2QAks5JGt6JuzNT9OvWDB4FFi9w7dX1VkQosRT0nJwfr16/HoUOHsGfPHjzzzDM4/NmSOHV1ddi6\ndSsmTJigrjUmBJGpmxGJAH/91+SyvODHqS9fbi1uLS3A9u104gDAvHnA3/wNZexmGE9eVfGLDM7U\ngT/8gYTpwQfp55Ej/Tt1Uc4osIpfrryyv6jv2QPMnh3/mlHAWlpou0OG+ItfLl60Lwk2E3U/8YuK\nTD0/n64Xr1U9Bw7QtenWqesHdanAUtSLi4sxa9YsAEBBQQGmTZuGU5/1+nzzm9/ED3/4Q3UtscBP\npq5p8VOdOuG++4D//E9vB1eIuluh0jTgxRdpOLgZv/89UFUVq8kF7Es8g3LqMqycem+v+XGw21cd\nHd7jsETz/PO0OLRwxUE4dbOSRrP4Zdcu4Oab418zxi8i57Y6n4ziI3PqFy9SBY7V8XLq1N3EL3/5\nl8Cjj8a/5jZ+ESNTvbh1MZX33LlAfb27DmTjzdIvjjP12tpa7N+/H7Nnz8Yrr7yCkpISzBTd6QHj\nJlN//HHaqYLOTrohZLnoPZgwASgvjy3p5gYRv7h16u3tdPM6fdr8PS+/DNx7b/xrdqJudCRW82H4\nFXUrpy76NWTHwU7U770XuP/+8I86bWoC/vxnYOnS2GujRgWTqRuPuV7Ujx+Pvd7XB+zeDXzuc/Hv\nN8Yv58+TwPrtKL14kf6epib5NsTgJtHHZRR1fabuxqmXlgK33hr/mtWUGDJRB7zn6gcPAhUVdGxH\njqRJ/Zzi97ozMsDZh7Zh6dKl2LBhA7KysrBmzRps3br18v9rFlfbqlWrLv+7qqoKVVVVrhtpdOpW\nO+y3v6WDW1JCP7uJXvSICEZEHU7x6tTFiW0m6i0twI4d5Ob1mA0bF7hx6n7jFyunbnXiWu2rujpy\nmhMmAP/yL8Bjj3lvX9Bs2gR84Qvxf6ff+KWnh57eJk2KvWbVUTpxIr2/r49uoEeOkFCNHRv/fqMj\nFaJuZRKM2a/MqYsbwrFjNBjKSEsLtUc8yejLFmVO/eOP+29DlqnLcJupA96d+oEDsZLRiRMpVx8/\n3tnvnjxZjd/8plpZBYytqHd3d2PJkiW4//77sXjxYhw8eBC1tbW45pprAAD19fW47rrrsHfvXowW\nk2vr0Iu6V9xk6s3NtMyaQFb54oT//t+pM9I4nacdXjN1MbJO33Y9mzf3j14A9/GLlXtpa+tfpugG\nK6duJ+pm++r554EvfpGewGbPBq65hh61w4amUVt//OP410eMiC2wnJ3tXtRPn6Zt6EWssLD/eSI6\nSvPySChPnSJjs2tXf5cO9I9f9KLu16mPHk2iPndu/20Y3bhdpu40fpHhNlMHvA9AOnCAyqQBugHX\n1lLZsRMGDKjCo49WXS6xXr16tfsG6LAMJTRNw4oVK1BeXo6VK1cCAGbMmIHTp0+jpqYGNTU1KCkp\nwb59+6SCrgqnmbpYuUV/wnt16sOH06IDbkqN+vros8WcMiqd+ssv043GiEqnHmSmbrVts5LG3l7g\nZz8DHn6YXM8vf0kxjOolB1VM4vTOOyQgRiHLziahEMfXrajX19O4Bz1WHaVAfK4uy9MBefwybJh5\ndVlfHx0jO6d+8SJV2ugjID1G4VYVv8hwm6kD3gcgGZ26m85S1fGLpai/9dZb2LRpE7Zv347KykpU\nVlbiVbHM/GdE9HVSAeE0U29rIyGwetx1g9sqmHPn6IIbONC7U5eJejQK7Nwpj4JUdpS2tweXqXuJ\nX15/nZ4chAOaPx9YuRL45je9t9HIoUM0mMsvzz9PM1rKLgd9BGM8HwcOpGNklmDW18eiRIFR1Pv6\naP+KJ0onom6MGZqbreOX9nZqt75PxMypV1SYV8AYIxZVHaUyvMQvXpy6WPtVDO4STt0pqjtKLeOX\nOXPmoM+m7OC42S1ZIcapd81ETBZh+BH1u+6iksFTp+T5oBERvQDenPrw4XJRf/ddEjZZDKTaqScr\nUzcOpQeAf/93cul6brnFui7fLWfOUEekiEe8cOkSPUmZZaL6Chjj+RiJxGaplAmVE1G/cIH2oWi/\nEPXz56lPQj+SVGDsEDx/ns5xsydhmfCYOfWZM4Gf/rT/NgBzURdP2V7r1GW4XSQD8ObUjx+ntoon\npYkT+/d9WZHQOvWw0N3tLH4Rd3xVop6XR52uO3c6e7+ofBG/68apnz8PTJsmF/X6euoolBGmkkaV\nTv3MGWDrVmDZsvjXvS5paEY0SueXn4XCf/97Gp2sH7Gpx8qpA9bHxImoi05SwZVXktDs2UNTYQyQ\nWDe3HaUyUZc54fZ2uom4deqXLtENTn9jE7M4Gn1l2DJ1ffQCuHPqmpbgOvWw4HSRjOZmOtgqOkoF\nkyc7n1/d6NTdxi9Tp5qLujFXFTgRdTeDj5KRqctE/cUXgcWL+3cMByHqgHkG7IT9+607xfROXVar\nb3VMGhrsRV2fpwMxp757tzx6AeSiLurU/Tr1K6+k4y17gjQTddkC5wMG0GcanXPYMnX9ZGkA3dwb\nG83npdfT0UHtkN14vZISoq536laZenMzzd2iyqkDNDOe3bBngV7U3c5nonfqxnxV5tYEQtTNMllZ\nnXpQ8YtKp/6znwFf/nL/9wYl6n4WRjl50vxJCoivVffi1O06SkXli0CIulnlC9A/fhGZulm8KXOT\nZpl6fn7sacGIlajL1sKVdZaGLVM3TpaWk0NP7PrxMmaojl6AFBF1N5n61Ver6ygFaP4Opxd8U1O8\nqLt16qWl9Ahq/PusRD07m05es89KheoX41NNWxs9vspcppe5f6wQT3d+RP3ECWtRDzp+MTr1khIy\nNnv3AjfdJN+uivjF6NR7e8lEDBxIZki2T81E3ZinC2Sdparq1FU5dWP8AjivgFEdvQApJOpOMvXm\nZjqhNS32nkQ7dZGpe+0oHTOmfwRjJeqAdWep8eQdMIAyStniA8mqfjE+1dTU0EUhqyTJz1e7pmk0\nGltcwit2om7VUQqYi3pfH8UvTpy6XtQHDKDfKS2lc0rGkCGUxYu82m5EqZNMXUSdkYj5spDGmCUv\nj45lY6O5UzeKulOnLoyg7FxXlam3t9P1aZzczmmurrryBUgRUTcOPjK7qMX8FaNHxyIYv6I+bpzz\nlYyM8YvbjtJhw+SiLstV9Vjl6kZRF51RMgeTzOoX/f49fpxEQYbdk4lbolHguuu8O/XubnpCM+vz\nALw79bNn6YI3vl+4VHEMjaIOkKiY5ekAXU+DB8fOG32mbubUjcfP6NT1/VdlZfIbpdGRRyJ0M6mp\n6Z+pA7TvvMYvgLlbV+XUP/6YBN0Y5YhRpXZkdPwidppYqFh2EQQh6llZ/efTMEMfv7h16iLTNIr6\npUvkqEaONP9d2QRPAtnJKxN1MbjET6eyqky9piZ+WLwRlbl6NEqVK8eOeXP/p07RMZPlswKvTt3q\nZq5368bqF4A6bv/bf7Nuu4hgOjpIXPPy/JU0GkXdSfwC0Hl/7Jh6pw5Yi7qbTN2q4k42CttssRIj\nGRm/aFp8pg6Y56oyUfcrVIDzCEYfv6hy6g0NVD9sNSGZbIIngZmoG0VEiI3XWm2x3aCdOqBe1MvK\n6DzzsiyAXfQCeO8otap60ou6saMUAL77XZqHxgrhSkX0AlDburr6zzLoJn4BnHeUAvTZx4877yh1\nmqnL2iiNsABDAAAgAElEQVQwi1/MnLqxr05w4YJ8/Igbp57Wov7UU7QKiB4xKESfr5pd1ELU7S4i\ntzjpLBWjWcUBduPUe3ro7xkypL+o2+XpgLv4BZDP/+I3egFS16kPG2YeF9jhRNRF/KJp7kXdiVOX\nxS9OEK5UL+qRiHz/ysTY6NTb22OiPnEi1f4b82y3op6M+KW1Nf6prb2dzJXspm82N5RTp57W8Utd\nHS2P9uGH8a/r83SBnairjF8A80dJPSJ6ETcfN049GqWTKSvLm6jbdZQaHzNlIqJi/olUdOoi43Vy\njGWcOGE/G58Y7dneTvvHKEjJEnURv4inRIHsSfjcOXLNemROXRiDgQPpqdW4PoCZqNfWyjN143z0\nQLCinpNDv6P/+0VpYmtr//e3tsqd9rhxdCO3W6c4reOXf/gHEkLjTtDn6QKzWvUgRd0uftFHL4A7\npy7ydCAxTl0mIn4rXwB/1S+XLpE70jRnTl1VWaMQGbNqDTvsatQF4ukxbE7dGL8A8vPJ+B7AOlMH\n+kcw4hgbBXn4cLrOZU5dfy0L3MYvsn1rlqkD/XN1MdpYJupm8Ut2Nh07q0VvxO+npai//z4tSPHI\nI/1F3cypO83UExW/6CtfAHdOXe+UvIq6mVOXZYdmTt1v/JKTQxenbNUXK1HPyqLf7eykvz0/3/pE\nV+XUe3roGBUWBhu/ALEYIVEdpU4QTl1vKgD5/j1/3plT14u68elHRF3GUlXx2TJRNy4yAqhx6maZ\nOtA/V7dz6mZTczvJ1VXP0AiERNQffxz4znfoADpx6rKTTtNiJ43qjtIJE+gCsxr2q698Adw5db0L\nknWUWpXLAWo6SlWcXKKCQiZQdtsX+8vOpQP2q185RTjcSCTY+AXw7tStOkrFMZd1lDpBH7/YOfVz\n59w7dZmoy4RbbFcWv8icepDxC+DOqZvFL4Czqrm0dOpbt9KB/1//S34AnGbqbW10kHJz6URQ2VGa\nm0uCfeKE+XuM8Ysbp54u8YvYtuzvdirqdnk6oM6p60XGi6hrmvP4RXSWOhV1TUts/KIXVNlN04lT\nN66cZYxfzEaNWjn1oUNpu+JzxJrDfqtfrERd5tRzc93FLwBw553A6tW0xKEZaSnq//APwJo1tNPE\n3NJ6nGbqInoByBWpjF8A+wjGGL+4deqi7UOG0I1M/K6KjtJExS+A3KmLmeistu/GqasSdb3IiKH1\nduuF6jl7lv5eJzdD0eHnVNRbWiiWMhMMfeSmoqPUGL/oTUJvb2wZOj1OnLq+L8rOqcv+LxKJ7yzt\n6aG82mnprds6ddEOvVOvr6fJ9tzGL/fcAzz3HH1/9ln5e9IufunupjmoxeIPfpy6/sQUj7pmJWRe\nsOss/fhjeo9AOHUnA1r0Tj0Sibn17m46mfVPADJUOHVVJ5fMqV+6ZD8Tnd6pJ0rU9SIzYADFKG4W\nN3CapwPu4xenU0Nomn9RN2bqxvNJxDtGIbXL1CsqyOx89BH9bCfqZn+DPoJxE70A5qOn3WTqdXW0\nEL1sUJJV/AIAd9xBTv1f/gX43/+7//+nnVOvqaHMUDxKicUC9BgHHgHyjlK9Ux84kE6uaFStqJs5\n9d5emn5z1qzYa9nZ1G7jk4cM4+OvEPXGRjqh7abl9DKiNKj4RebUndww9E49kfGLfr+7jWCc5umA\n+/jFri9FiHpHBzlOM4Gywqz6xbh/ZXk6YO/UBw0CvvIVYP16+tlK1AsKzJ2zvrPUrairyNTr60nU\n3cYvgilTaI3hX/5S/vtpJeoff0x/sMDMqRsP9tChsVWOBHpRB2J3dxUdpYB1/HL0KAmx0Wk4jWCM\nF5UQdauOMj2qOkpVxC8yp+5U1Ds6nDt1FSWNRpHxIupunbpshSM/Tt1rJyngvKNUlqcD8kzdeK09\n8gitCnXmjLmol5QAP/qReTv9OHW/mboYWzBpkvv4Rc/YsfIRqSkZv8jK2wRHjtiLusypjx/fv9NS\nJupmzsgLVvHLe+/Fu3SB085SY9uFqNtN5CWwc+qywUfG/azq5PLq1PPySGCamuzdbxDxC2A+tN0M\np52kADl10eFmnPLBr6h7iV4A88FHxj4rN07daAxGj6YF0//t3+QLYQB0fa9YYd5OvVN3U6MO+M/U\nxXEQI02N2MUvgoIC0kKjyUtJp97QYP5/R47QnAoCp059wgRnon7mjFpRr6npv7QWQCvfiMWR9ahw\n6k5E3cqpO61TD7L6xalT/+gjcjRWk2MB6koaVTh1p/HLqFF0E5Cdi8kSdRG/yOrUjU5dJup2mbrg\nm98Efvxj8+l17QjCqTvN1OvqaApjMVWxESfxC0B9ZbIpD1JymgCrjievTt2JqIsKGFWinp9PB7ux\nsf//qXDqfkRdVUdpUNUvTkX9gw/s83TA3KmbDXwyw1hipxf17m5g7Vpaf9QMt/HLuXPhEvWiIhLs\ntrZ4YZI5dVn8YpepC6ZOBW64AfjP//Qm6vpqtkRn6uI4yES9p4e27TTelU15kJLTBFhNauM1Ux87\nli5I/YUgc+qnT5uv0u4FWQSjaWqcuix+cSPqbjpKzSb0SrZTP3TIPk8HzEX9iSeAjRudt1UWv9TU\n0E169mzg6afVifrQodR57lTUnXaU+hH1ggI6P4YOjY+E3Dh1swm9jDz2GP2NXp16IjtKnTp14bJl\ni7nI0M+rD8Ta5SZOckLSnPqFC7Tj9KLl1KlnZfWfV0Em6idPyjNMr8g6SxsbSdivuKL/+504dU0z\nz9RVxC+pVP3y0Uf+nHpjI7Bzp/O2GjNe8TS2YAHw6KNUW2y2zmRbG92wZXNpy8jKIrer2qk77aiT\nEYnQ32vMuZ12lBqr1WSZuqCqigbjTJzovp36+CVMmbrT6EVgjF+CiF4AQOEa1nLMnPrRo7RiiF5w\nnQ4+AmIRjHD6MlE/cUJN5YtAlrkKly67Wztx6voFCgRC1C9dclb9IiZCk90AU6n6pavLuVOX3cRa\nWoB336UbpRP3JKvG+MlPaCWk0lKak0gMETdy8iTl6U5dGkA3ACei3t5O541MSAUqnDpAv2t04X46\nSs2ut0gE+OMfvbXRb0mj7Fxxk6nffTftbzElrzjmbm+oxvgliOgFSKJTN+bpgPPBR0D/XN1M1FXk\n6YLp02kxXz1meTrgzKnLHm3HjCHX2dgofwIwEomYdx4mevCRH6cO+HPq0ShVz9jNjKd/v1HUFy8m\nQQfIoZk5dTfRi2DkSGeiLqqerG4Y4unMr6gPHdr//JPFL05KGlWVDxtJdEmjzKkPHEgGVL8tp5Uv\nAmP8EkTlC5DETN2YpwPm8YuVUxfIOkrNqg28cuedJOJ6t26WpwPOnLqx3QD9LPJHpyewWa4ehrlf\nnJY0Av4ydbGK0Z49ztpqVjctGD6czkeZ0/Mi6k6dupPYbcAAui6amlLDqfuhsJA+p6PD3bwvgFxT\nNE3eVyfIz6ff6e6mYyFu8sZc3W38YnTqQcUvgYt6U5N8dkNjOSOg3ql3dakV9UGDgAcfjJ/HIQin\nHolQ+53k6QKzXN3NIhnJrn4ZPJj+bjvMnkqiURqW7VTUzSaYEkQidAxkZbluatQFTp36J58423Zh\nIYmOX1E3mgqvTt2qo9QP4nowG7xlhawoQGiK2ZOQ6Gs4dYp+V1yfRlF3G78YnXrKxi/FxfJcUha/\nmE0TYOfU9dPuCkaM6J9Vq+Bv/gZ4/nlqZ2sr3bSMf4fAqVOXuaAxY9yJullZYxjmfnEq6pMmOcuo\nxX41zqsjRH33bvttCCdmJ0IlJfLz102NusDMqRtvhG++CfzFX9hvT4i6145SQB6/GM8lM6eek0P7\nUBwHq45Sv4iyRhXxi1WeLigqohJbfQw2ZEj89AFu4xeZU0+KqNfV1WH+/PmYPn06KioqsPGzmrG/\n+7u/w7Rp03DNNdfgnnvuQYtsthvI1+rTNHNR7+6OH+DjxKm3tdHB0x+o7Gy6M6p2DpMnA9dcA/zm\nN9SRVlFhPmOcU6cuG2U3ZoyzTlKBWfziZPBRXx+1U8W+8urUr7gCuPZaZ5+RnU3HW79ve3pIVKqq\naB4eu2XEWlrkCzYYMcvVg4xfdu4E5s2z315hIT1F+HHqpaX9b076eKunh46f7DPE4iZioequLvXl\neQLh1FWIulWeLhg6NCbqAr/xi8ypJyV+ycnJwfr163Ho0CHs2bMHzzzzDA4fPozbbrsNhw4dwvvv\nv48pU6Zg7dq10t+Xrf5x+jTtVOPdX3+SCMycemkpPR719JgL4+jR6p06APzt39IIuffeM8/TAWdO\n3awGuLhYXfxiJ+oXL9J+UlH66dWpV1UBv/iF888x5uqiw7CggGK9/futf98uTxeUlspF/ehRKnF1\nw333yWfq0x+P2loSIbOnPz2FheSi/Yj6P/0T8PDD8a+JG3NvbyyiMjs3RK4uTIGbaiA3iM5SFSWN\nVuWMAuHURZ4O+I9fQuPUi4uLMeuz0LigoADTpk3DqVOnsHDhQmR9dqRnz56NepMygYkT+zt1mUsX\nGA+CmVPPzaWddOqUvLMRCE7UFy2i3POXvzTP0wFnTt2s7d/4BnD//c7b5LajVL+PVToGr07dLcbc\nVz/f90032efqTkVd5tSjUbqhOKlM0jNihPxGIIRR04AdO4BbbnEmjkIQ/Ii6jKws2r8XL5qbDoG4\nXoPK0wWirDFR8YsTp+42fhk+nPanSCJCUf1SW1uL/fv3Y/bs2XGvP/fcc7jzzjulvzNpUn+n7kbU\nzZw6QDeMEyfMhdHscdcvOTk0AdGePdZO3WtHKQDMmOHu8d6tU9e3S6XoenXqbjE6db1If+5zakXd\nmKkfPUrnrypXGonEzvsdO5xFL0Bwog7EbppmUwQIxA0pyDwdiDl1FfOpO4lfioqAw4etnbrb+CUn\nh46ZmGE2qPjF8eCjtrY2LF26FBs2bECBriXf//73kZubi/vuu0/6e9u3r8KOHcCqVUBVVRWqqqqU\nOHUglqsPHmzu1J0uKeeWL3+ZIpiKCvP3eC1p9IIbpz5uHLlPMS+OcRkyPyTSqRtFXYjbTTfRilpW\n2FW+CGROXVaO6xcRwezcSRNgOUGIup+OUjNEZ6lTpx5UOaNg1CgS2aKixGXqnZ32Tt3tvhdPHCNG\n0PU6ejRQXV2N6upqdxuywJGod3d3Y8mSJbj//vuxePHiy6///Oc/x5/+9Ce88cYbpr/75JOrsHUr\nibrg44+pNFCGcVSpbJSkQIh6cbHzRWtVMX48RT9WJ4cfp+4WWfVLby896hk7cgsK6Ga0dy+5wnRz\n6lddRReMcYlBPX4ydVk5rl8GDaLxD9EoLcjghMJCOrZBiKnYv26cepCiLjpKBw1KXKYO2GfqbuMT\n/VQBIn4RZlewevVqdxs1YBu/aJqGFStWoLy8HCtXrrz8+pYtW/DUU0/hlVdewSCLW+e4cfRH6N2b\nW6dudgCEqJu53fvuI0cdFHZ3+0Q6dVn8IvadLCa45RYqnQNSM1M31qrrRToSsc/Vzeb2NjJiBB1D\n/XEMyqn/138Bc+c677AuKCDxCaJzMmxO3Wv84idTB+KdunH+F7fxCxDfWZq06pe33noLmzZtwvbt\n21FZWYnKykq8+uqr+NrXvoa2tjYsXLgQlZWVeOSRR6S/n50dP/lWTw91nOrX89Qjy9TtnLqZMJaV\nATNn2v2FwZFop26MX6weM+fOjU1+pTJ+CYNTB5yJuhOnHonE4iqBlSnxihB1p3k6QDfyIPJ0IHbT\nNBt4JBBOXeU5JENlR6nTTD0vL/7aVBG/6Msag+ootY1f5syZgz7JyhBHjx51/CGiAmbkSBKSsWPN\nOzC9OPWyMuePrInET0mjW8ycutnJO2cOVdd0dwfr1Lu6KALysoamFXaifuONwA9+YP770ajzwUMi\ngpkyhSpUREepSgYNAnbtsl7WzUiQoq7vKJ0+3fx9Ii5NJafuNFM3zr+jIn7RO/WkiboKrroKuOce\ncu3l5TS3shkyp26WoQlRN6tTTzZ2Tr23lw6sigvTrVMfPpxutvv3B5upizllVEcEspJG/WRgY8aQ\nIJnh1KkD8Z2lDQ2x2EMlgwbR3+TmyTIsTj0R8Yt4Cjh/PjGZ+qRJNKe+Hr/VLwAZ21On6N9Jr37x\nww9/CHznO/YzzwH9pwqwm3gnP58eh8Mo6nZOvaUl1tnlF1lHqZ0jEbl6X19w1S9Bnbh2Tt1uHVOn\n1S9AfFljENELQKI+Z467c+HKK62rr/ygd+p2mXoinDoQWyMhEZl6ZSXw4ovxr6mqfjlwgP4dijp1\nrxQV0SOsE7fmJlMHyK0fOhROUbdz6qo6SYHY/Np6nIj6zp3BOvWwirrTjlIg3qkHUfkC0H5zk6cD\nwM03A//6r+rbAsR3lDpx6kEPPgJIEBsaEhO/yNDP/eJ11aJEZOoJEXU3uMnUARL1ri41ubRq7Jy6\nqjwd8ObU584lp97aGlymnkhR10cRdotTu4lf9GWNQVS+ADT1xLJl6rfrFbH/7Jx6ogYfAeTUe3rc\niXpOTqy0V+BH1IVT9yrI+pLGpFW/JBovTh1ITad++jQdZBXIOkrtTt6xY8mF7d2r7oIUk7KJBaCD\nOnGtShqBmOgbZ3I0e78VRqcehKh//vPu5voJGhG/2Dn1RJU0ArFpmd2440ikf6TrJFOXoRd1r8sI\niiqenh71U4MLUkLU7Zw6EF5Rl00RKzh4UF0m6rajVHDLLVT6p0p4I5H4odnJil+ys+m8MdbMm73f\nCmOmHkT8EjYKCige7OiwdqSJGnwExNaDdbuQvHFOdSeZuoxBg8isiGm3vYi6cOpuF612QyhFXT+i\n1GqaAIBEPT/f2503aAYMoC/juquC99+naXxVIOIX/Q3EiSO55RZ6NFUpvPpZB0+fDiY3NFa/yETa\nLFcXbXMqDqNGxZaOO3nS2ZJ7qU5+Pt3I7KYnTtSEXkDMqXsRdaNT9yLqkQgJ+YUL3uOXwkLStE8/\nDea6AEIq6m6dehhdukC4dRkqRT03t/8aik4cyS230HeVeaiInfr6gKefDiYr1gt2Xx/92+iczETd\nTeULEBuA9OablK+rrrkPIwUFdAOzil6AxGbqwqm77ZxUJepALILx6tQjEXLrtbUZLOp2Tn3WLODl\nl4Nvl1cGD5bn6h0dVGM/daq6zzJ2ljo5eSdOpHghCKf+29/S5991l7ptC/SCLTp6jcPrrZa9c2sE\nSkqAN97IjOgFoP178qR9R34yMnUVTt3rk71fUQfo5lRTE0wsCaSAqNs59awsmmo1rJg59Q8+oA43\nla7P2FnqRNQjEeCPf6QRmKoQMz+uWkVfQeSGelE3y8eNEY3ATZ4uEKIeRCdpGCkooBuzG6eeqEzd\nr1P3mqkDsflf/JQjjhxJos5OPUUxc+oqoxeBsbPU6WPmzJlq9/GgQcCmTfS3m0yz7xujqMtGVprF\nL15EvbSUOrYzSdSB8Dl10U/lhjDFLwDdnI4fz2BRtytpDDtmZY1BiLoXpx4EeXnAxo3A6tXBLW+m\nj1asnLoqURflhpkUvwDOnXoiOkqLi4EvfMH97xkXyki2qAunnjHxi5tpAlIBswFIYXLqqhk0iBaR\nvv324D7DSfxilal7FXV26vHonXrQHaW5ud76z9wOaLRCiHqY45fQeeBMcOqaRvM/BCHqYXDqc+cC\nt94anEsHYjfLvj73mbrb6heA4pfBg92vS5qquHXqiYhfvBLG+OXcuQwW9XR06idO0EWjajSpwDj/\ni59efj/84z8G/xnZ2XSudHTELzqtxyx+aWlxX/0yfTpFSk4XsEh1hEA7ceqZJuotLf7jFyCD4hc3\ny9mlAjKnHkT0AoTHqScKIdpuM/XWVvdT1g4aRIuNZwpZWbT/nDj1RA0+8koQTt1P/CKqeDK2ozQd\nnXpQom7sKPVTupUK+BH1IBZrTjfy85059Y4OEkq39eOJYsSI+Ln1VWTqKpx6xoo6O3XnhKWjNFHY\nibpZRymLujPuvDM2t5IZubm0/wcPDrYPxQ/G5QjDkKkDGRa/sFP3RqbFL0K0rerUZR2lLOrOeP55\nZ05diHpY0c+yCSQ/fhGRFjv1FMXo1C9cABobgcmT1X+WrKM0nUWd45fkk5tL1USpJurJjF9ycuh8\nzVhRT3Wnbpwm4OBBWqc1iBtVpjl14cTdVr+wqKtDiHrQNep+MIq6n74mUf3id9WiUaMyWNRT3akb\npwkIKnoB2Kkb4Uw9eFIhfhGZupiW2s91UVRE00nn5vrTpV/9KjgdCL2op5tT37cvuIOZiU7dLn6R\nZepBrQ2ZieTm0gCwMIt6YWHsiQJQk6n7NQXXXadmwXkZoRN14zQB6eTUNQ34r/8CFiwI5rMKC2Mn\nLpC8wUeJQoi22UUmi186O0mE3M70x8gR+zHMog7ERzB+rovBg6mGP8xPeqETdbdT74YdvVN//326\naU2bFsxnTZ8ONDUBx47Rz5lQp97URBea7MYvE/ULF+iCDGv5Xaohzq9UEnU/14VY/SjMT3qhFHU3\ny9mFHb1T37wZuPvu4ARl4EDgr/8a+PnP6ed0j18KCoCGBvPRoTJR5zxdLcKph7mjFOjv1P1cF0OG\nhPscCqWop5tTF6L++98DixYF+3krVpCo9/amv6jn55Oom03OJesoZVFXSyo6dRb1BKMXdU1LD6d+\n8SJw6hTFInPmBPt5M2bQvNNbt7Ko62dyFLCoqyWVMvWGBvq3376mlI5f6urqMH/+fEyfPh0VFRXY\nuHEjAOD8+fNYuHAhpkyZgttuuw3RaFRZg8RUnppGF2Mkktoz4wmn/sc/AnfckZinjuXLgeeeY1HP\nyqL5SPQlpSzqaklFp+63rymlnXpOTg7Wr1+PQ4cOYc+ePXjmmWdw+PBhrFu3DgsXLsSRI0ewYMEC\nrFu3Tl2Dskj4urpSv5wRiLlFkacngmXLgNdeo5Gr6S7q7e3Wc6Mbc3UWdbWkSqaun/8lo+OX4uJi\nzJo1CwBQUFCAadOmoaGhAZs3b8aDDz4IAHjwwQfxu9/9TmmjRAST6uWMADn1aBTYsYOceiIYOhS4\n6y7go4/SX9QBa1E35uqtreF+dE41srPpaTqVnLoKUQ/zOeQ42KitrcX+/fsxe/ZsnD59GmPGjAEA\njBkzBqdPn1baKCHq6eLUW1uB6693vzCDH5Yvp++pvv+scCLqRqcuShoZNUQidL2GXdSHDiWT2Nrq\nP1NfsAD43OfUtU01jnxwW1sblixZgg0bNqDQcIuKRCKIWNTorVq16vK/q6qqUFVVZft5+s7SdHDq\nQOKiF0FVFVBZab/IQSojpi61WvDCOKqU4xf15OaGX9QjkVhnqd9M/YtfVNcuAKiurkZ1dbWy7dlK\nZnd3N5YsWYIHHngAixcvBkDuvKmpCcXFxWhsbMTo0aNNf18v6k4Roi7y9VRmwADqrEu0qGdl0ZQE\n6YwXp97aClx5ZbDtyjRSwakDJOonTlABRlBD9L1gNLurV6/2tT3L+EXTNKxYsQLl5eVYuXLl5dcX\nLVqEF154AQDwwgsvXBZ7VYipAtIhUweADz4Arroq2a1IP7yKOjt1teTmhr+jFCBRr6mh9qbziGJL\nyXzrrbewadMmzJw5E5WVlQCAtWvX4u///u9x77334mc/+xkmTpyIl19+WWmjxKjSdMjUAaCsLNkt\nSE+8dpSyqKsllZx6TU16aIoVlqI+Z84c9OlHbuh4/fXXA2kQEItf8vLSw6kzwSCExM6pc6YeLKmQ\nqQMk6m+8kd4VYUAIR5QC6VX9wgRHdjb1V3D8klyeeoomkws7+vglnQm1qKdLps4Ex003ARb99Czq\nCeCuu1JjKuOSEuD4cRb1pMBOnXHK9u3WIs2DjxhBSQkNBEx3TQm1qLNTZ/zCg48YwciR5NLZqScB\nduqMKvQdpX19JPBi0BKTWYgBSCzqSYCdOqMKvVNva6OfU3nWT8Yf48axqCcFvaizU2f8oBd17iRl\nSkrSX1NCK+pi8BE7dcYP+o5SFnWG45ckkW7TBDDJQ5+ps6gzLOpJgjtKGVVw/MLoKStL/3MglD6Y\nO0oZVbCoM3r+6q+AW29NdiuChZ06k9YYM3UeeJTZZGXF1jhIV0It6uzUGb/onToPPGIygVCLOjt1\nxi95ecClS0BvL8cvTGYQalFnp874RSyKfPEiizqTGYRa1NmpMyoQEQyLOpMJhFrU2akzKhCdpSzq\nTCYQWlFPp+XsmOQiBiCxqDOZQGhFnZ06owqOX5hMIpSiLqYJYKfOqEAv6lynzqQ7oRR1duqMSjhT\nZzKJUIs6O3VGBcKp8+AjJhMItaizU2dUoO8o5fiFSXdCLeo8nzqjgvx84Nw5mvcjFVa9Zxg/hFrU\neeUjRgX5+UBjI0cvTGYQalFnp86ooKCARZ3JHEIr6l1d7NQZNeTnA6dOsagzmUFoRZ07ShlVcPzC\nZBK2or58+XKMGTMGM2bMuPza3r17ceONN6KyshI33HAD3nnnHaWNys3laQIYdQhR58oXJhOwFfWH\nHnoIW7ZsiXvt29/+Nr73ve9h//79ePLJJ/Htb39bbaOyyKFfvMhOnfFPQQE9+bFTZzIBW1GfO3cu\nhg0bFvfa2LFj0dLSAgCIRqMYN26c8obl5tKAEXbqjF/y8+k7izqTCXjywevWrcOcOXPwrW99C319\nfdi9e7fqdmHgQBowwk6d8QuLOpNJeOooXbFiBTZu3IiTJ09i/fr1WL58uep2YeBAduqMGljUmUzC\nkw/eu3cvXn/9dQDA0qVL8fDDD5u+d9WqVZf/XVVVhaqqKkefwU6dUQWLOhNmqqurUV1drWx7niTz\nqquuwo4dOzBv3jxs27YNU6ZMMX2vXtTdMHAgcPYsO3XGPwUF9J1FnQkjRrO7evVqX9uzFfVly5Zh\nx44dOHv2LEpLS/Hkk0/i2WefxVe/+lV0dnYiLy8Pzz77rK9GyGCnzqiCnTqTSdhK5q9+9Svp62+/\n/bbyxugRA5DYqTN+GTiQymRZ1JlMIJQjSoHYbHrs1Bm/RCLk1nnwEZMJhF7U2akzKigoYKfOZAah\nFzOfi1EAAAdoSURBVHV26owK1q0Drrwy2a1gmOAJrWSyqDMq+dKXkt0ChkkMoXXqubn0neMXhmEY\n54RW1NmpMwzDuCf0os5OnWEYxjmhF3V26gzDMM4JvaizU2cYhnFO6EWdnTrDMIxzQi/q7NQZhmGc\nE3pRzwptCxmGYcJHaCVz4EBy6ZFIslvCMAyTOoRa1DlPZxiGcUeoRZ3zdIZhGHeEVtRzc9mpMwzD\nuCW0os5OnWEYxj2hFnV26gzDMO5gUWcYhkkjQi3qHL8wDMO4I9Sizk6dYRjGHaEV9cGDY6NKGYZh\nGGdENE3TAtt4JAKvm+/rA44dAyZPVtwohmGYEONHN4EQizrDMEwm4lc3Qxu/MAzDMO5hUWcYhkkj\nWNQZhmHSCBZ1hmGYNMJW1JcvX44xY8ZgxowZca8//fTTmDZtGioqKvD4448H1kCGYRjGObai/tBD\nD2HLli1xr23fvh2bN2/GgQMH8MEHH+Bb3/pWYA1MF6qrq5PdhFDA+yEG74sYvC/UYSvqc+fOxbBh\nw+Je+/GPf4wnnngCOZ+N4x81alQwrUsj+KQleD/E4H0Rg/eFOjxl6kePHsXOnTtx0003oaqqCu++\n+67qdjEMwzAe8DS7Sk9PD5qbm7Fnzx688847uPfee3H8+HHVbWMYhmHcojmgpqZGq6iouPzzHXfc\noVVXV1/+uaysTDt79my/3ysrK9MA8Bd/8Rd/8ZfDr7KyMieybIonp7548WJs27YN8+bNw5EjR9DV\n1YURI0b0e98nn3ziZfMMwzCMR2xFfdmyZdixYwfOnTuH0tJSPPnkk1i+fDmWL1+OGTNmIDc3F7/4\nxS8S0VaGYRjGhkAn9GIYhmESSyAjSrds2YKpU6di8uTJ+MEPfhDER4SWuro6zJ8/H9OnT0dFRQU2\nbtwIADh//jwWLlyIKVOm4LbbbkM0Gk1ySxNHb28vKisrcffddwPI3H0RjUaxdOlSTJs2DeXl5Xj7\n7bczdl+sXbsW06dPx4wZM3Dfffehs7MzY/aFbECn1d++du1aTJ48GVOnTsVrr71mu33lot7b24tH\nH30UW7ZswYcffohf/epXOHz4sOqPCS05OTlYv349Dh06hD179uCZZ57B4cOHsW7dOixcuBBHjhzB\nggULsG7dumQ3NWFs2LAB5eXliEQiAJCx++LrX/867rzzThw+fBgHDhzA1KlTM3Jf1NbW4qc//Sn2\n7duHgwcPore3Fy+99FLG7AvZgE6zv/3DDz/Er3/9a3z44YfYsmULHnnkEfT19Vl/gK9uVgm7du3S\nbr/99ss/r127Vlu7dq3qj0kZPv/5z2tbt27Vrr76aq2pqUnTNE1rbGzUrr766iS3LDHU1dVpCxYs\n0LZt26bdddddmqZpGbkvotGoNmnSpH6vZ+K+OHfunDZlyhTt/PnzWnd3t3bXXXdpr732WkbtC2NF\nodnfvmbNGm3dunWX33f77bdru3fvtty2cqfe0NCA0tLSyz+XlJSgoaFB9cekBLW1tdi/fz9mz56N\n06dPY8yYMQCAMWPG4PTp00luXWL4xje+gaeeegpZWbFTLRP3RU1NDUaNGoWHHnoI1157Lb785S+j\nvb09I/fF8OHD8dhjj2H8+PG44oorMHToUCxcuDAj94XA7G8/deoUSkpKLr/PiZ4qF3XxiJ3ptLW1\nYcmSJdiwYQMKCwvj/i8SiWTEfvrDH/6A0aNHo7Ky0nQll0zZFz09Pdi3bx8eeeQR7Nu3D/n5+f3i\nhUzZF8eOHcOPfvQj1NbW4tSpU2hra8OmTZvi3pMp+0KG3d9ut1+Ui/q4ceNQV1d3+ee6urq4O00m\n0N3djSVLluCBBx7A4sWLAdDdt6mpCQDQ2NiI0aNHJ7OJCWHXrl3YvHkzJk2ahGXLlmHbtm144IEH\nMnJflJSUoKSkBDfccAMAYOnSpdi3bx+Ki4szbl+8++67uPnmmzFixAgMGDAA99xzD3bv3p2R+0Jg\ndk0Y9bS+vh7jxo2z3JZyUb/++utx9OhR1NbWoqurC7/+9a+xaNEi1R8TWjRNw4oVK1BeXo6VK1de\nfn3RokV44YUXAAAvvPDCZbFPZ9asWYO6ujrU1NTgpZdewq233ooXX3wxI/dFcXExSktLceTIEQDA\n66+/junTp+Puu+/OuH0xdepU7NmzBx0dHdA0Da+//jrKy8szcl8IzK6JRYsW4aWXXkJXVxdqampw\n9OhR3HjjjdYbU90BoGma9qc//UmbMmWKVlZWpq1ZsyaIjwgtb775phaJRLRrrrlGmzVrljZr1izt\n1Vdf1c6dO6ctWLBAmzx5srZw4UKtubk52U1NKNXV1drdd9+taZqWsfvivffe066//npt5syZ2he+\n8AUtGo1m7L74wQ9+oJWXl2sVFRXal770Ja2rqytj9sUXv/hFbezYsVpOTo5WUlKiPffcc5Z/+/e/\n/32trKxMu/rqq7UtW7bYbp8HHzEMw6QRvJwdwzBMGsGizjAMk0awqDMMw6QRLOoMwzBpBIs6wzBM\nGsGizjAMk0awqDMMw6QRLOoMwzBpxP8HZvoAfLrBockAAAAASUVORK5CYII=\n", - "text": [ - "" - ] - } - ], - "prompt_number": 8 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Eyeballing this confirms our intuition - no dog moves like this. However, noisy sensor data certainly looks like this. So let's proceed to see how we might solve this mathematically. But how?\n", - "\n", - "\n", - "Recall the histogram code for adding a measurement to a pre-existing belief:\n", - "\n", - " def sense(pos, measure, p_hit, p_miss):\n", - " q = array(pos, dtype=float)\n", - " for i in range(len(hallway)):\n", - " if hallway[i] == measure:\n", - " q[i] = pos[i] * p_hit\n", - " else:\n", - " q[i] = pos[i] * p_miss\n", - " normalize(q)\n", - " return q\n", - " \n", - "Note that the algorithm is essentially computing:\n", - "\n", - " new_belief = old_belief * measurement * sensor_error\n", - " \n", - "The measurement term might not be obvious, but recall that measurement in this case was always 1 or 0, and so it was left out for convience. \n", - " \n", - "If we are implementing this with gaussians, we might expect it to be implemented as:\n", - "\n", - " new_gaussian = measurement * old_gaussian\n", - " \n", - "where measurement is a gaussian returned from the sensor. But does that make sense? Can we multiply gaussians? If we multiply a gaussian with a gaussing is the result another gaussian, or something else?\n", - "\n", - "Of course the answer is 'yes', or this chapter would be for naught. It is not particularly difficult to perform the algebra to derive the equation for multiplying two gaussians, but I will just present the result:\n", - "$$ N({\\mu}_1, {{\\sigma}_1}^2)*N({\\mu}_2, {{\\sigma}_2}^2) = N(\\frac{{\\sigma}_1 {\\mu}_2 + {\\sigma}_2 {\\mu}_1}{{\\sigma}_1 + {\\sigma}_2},\\frac{1}{\\frac{1}{{\\sigma}_1} + \\frac{1}{{\\sigma}_2}}) $$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's immediately look at some plots of this to inform our intuition about this result. First, let's look at the result of multiplying $N(23,5) $ to itself. This corresponds to getting 23.0 as the sensor value twice in a row." - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import gaussian\n", - "def multiply(mu1, sig1, mu2, sig2):\n", - " m = (sig1*mu2 + sig2*mu1) / (sig1+sig2)\n", - " s = 1. / (1./sig1 + 1./ sig2)\n", - " return (m,s)\n", - "\n", - "\n", - "xs = np.arange(16, 30, 0.1)\n", - "\n", - "\n", - "m1,s1 = 23, 5\n", - "m, s = multiply(m1,s1,m1,s1)\n", - "\n", - "ys = [gaussian.gaussian(x,m1,s1) for x in xs]\n", - "p1, =plot (xs,ys)\n", - "\n", - "ys = [gaussian.gaussian(x,m,s) for x in xs]\n", - "p2, = plot (xs,ys)\n", - "\n", - "legend([p1,p2],['original', 'multiply'])\n", - "show()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "display_data", - "png": "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\nRA38D9RdEf53Rgb8AAAAAElFTkSuQmCC\n", - "text": [ - "" - ] - } - ], - "prompt_number": 9 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The result is either amazing or what you would expect, depending on your state of mind. I must admit I vacillate freely between the two! Note that the result of the multiplation is taller and narrow than the original gaussian. If we think of the gaussians as two measurement, this makes sense. If I measure twice and get the same value, I should be more confident in my answer than if I just measured once. \"Measure twice, cut once\" is a useful saying and practice due to this fact! \n", - "\n", - "Now let's multiply two gaussians (or equivelently, two measurements) that are partially separated. What do you think the result will be? Let's find out:" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "xs = np.arange(16, 30, 0.1)\n", - "\n", - "\n", - "m1,s1 = 23, 5\n", - "m2,s2 = 25, 5\n", - "m, s = multiply(m1,s1,m2,s2)\n", - "\n", - "ys = [gaussian.gaussian(x,m1,s1) for x in xs]\n", - "p1, = plot (xs,ys)\n", - "\n", - "ys = [gaussian.gaussian(x,m2,s2) for x in xs]\n", - "p2, = plot (xs,ys)\n", - "\n", - "ys = [gaussian.gaussian(x,m,s) for x in xs]\n", - "p3, = plot(xs,ys)\n", - "legend([p1,p2,p3],['measure 1', 'measure 2', 'multiply'])\n", - "show()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "display_data", - "png": "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\n", - "text": [ - "" - ] - } - ], - "prompt_number": 10 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Another beautiful result! If I handed you a measuring tape and asked you to measure the distance from table to a wall, and you got 23m, and then a friend make the same measurement and got 25m, your best guess must be 24m. \n", - "\n", - "That is fairly counter-intuitive, so let's consider it further. Perhaps a more reasonable assumption would be that either you or your coworker just made a mistake, and the true distance is either 23 or 25, but certainly not 24. Surely that is possible. However, suppose the two measurements you reported as 24.01 and 23.99. Surely you would agree that in this case the best guess for the correct value is 24? Which interpretation we choose depends on the properties of the sensors we are using. Humans make galling mistakes, physical sensors do not. \n", - "\n", - "This topic is fairly deep, and I will explore it once we have completed our Kalman filter. For now I will merely say that the Kalman filter requires the interpretation that measurements are accurate, with gaussian noise, and that a large error caused by misreading a measuring tape is not gaussian noise. So perhaps you would be justified in thinking that a histogram filter will perform better for the human readings, and the Kalman filter will perform better with sensor readings that have gaussian noise.\n", - "\n", - "For now I ask that you trust me. The math is correct, so we have no choice but to accept it and use it. We will see how the Kalman filter deals with movements vs error very soon. 24 is the correct answer to this problem." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Implementing Sensing\n", - "\n", - "Recall the histogram filter uses a numpy array to encode our belief about the position of our dog at any time. That array stored our belief that the dog was in any position in the hallway using 10 positions. This was very crude, because with a 100m hallway that corresponded to positions 10m apart. It would have been trivial to expand the number of positions to say 1,000, and that is what we would do if using it for a real problem. But the problem remains that the distribution is discrete and multimodal - it can express strong belief that the dog is in two positions at the same time.\n", - "\n", - "Therefore, we will use a single gaussian to reflect our current belief of the dog's position. Gaussians extend to infinity on both sides of the mean, so the single gaussian will cover the entire hallway. They are unimodal, and seem to reflect the behavior of real-world sensors - most errors are small and clustered around the mean. Here is the entire implementation of the sense function for a Kalman filter:" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "def sense(mu, sigma, measurement, measurement_sigma):\n", - " return multiply(mu, sigma, measurement, measurement_sigma)" - ], - "language": "python", - "metadata": {}, - "outputs": [], - "prompt_number": 11 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Kalman filters are supposed to be hard! But this is very short and straightforward. All we are doing is multiplying the gaussian that reflects our belief of where the dog was with the new measurement. Perhaps this would be clearer if we used more specific names:" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "def sense_dog(dog_pos, dog_sigma, measurement, measurement_sigma):\n", - " return multiply(dog_pos, dog_sigma, measurement, measurement_sigma)" - ], - "language": "python", - "metadata": {}, - "outputs": [], - "prompt_number": 12 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "That is less abstract, which perhaps helps with comprehension, but it is poor coding practice. We are writing a Kalman filter that works for any problem, not just tracking dogs in a hallway, so we don't use variable names with 'dog' in them. Still, the *sense_dog()* function should make what we are doing very clear. \n", - "\n", - "Let's look at an example. We will suppose that our current belief for the dog's position is $N(2,5)$. Don't worry about where that number came from. It may appear that we have a chicken and egg problem, in that how do we know the position before we sense it, but we will resolve that shortly. We will create a *DogSensor* object initialized to be at position 0.0, and with no velocity, and modest noise. This corresponds to the dog standing still at the far left side of the hallway. Note that we mistakenly believe the dog is at postion 2.0, not 0.0." - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "dog = DogSensor(velocity=0, noise=1)\n", - "\n", - "pos,s = 2, 5\n", - "for i in range(20):\n", - " pos,s = sense(pos, s, dog.sense(), 5)\n", - " print 'time:', i, 'position = ', \"%.3f\" % pos, 'variance = ', \"%.3f\" % s\n", - "\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "time: 0 position = 0.929 variance = 2.500\n", - "time: 1 position = 0.612 variance = 1.667\n", - "time: 2 position = 0.826 variance = 1.250\n", - "time: 3 position = 0.710 variance = 1.000\n", - "time: 4 position = 0.333 variance = 0.833\n", - "time: 5 position = 0.233 variance = 0.714\n", - "time: 6 position = 0.145 variance = 0.625\n", - "time: 7 position = 0.140 variance = 0.556\n", - "time: 8 position = 0.005 variance = 0.500\n", - "time: 9 position = 0.109 variance = 0.455\n", - "time: 10 position = -0.026 variance = 0.417\n", - "time: 11 position = -0.178 variance = 0.385\n", - "time: 12 position = -0.199 variance = 0.357\n", - "time: 13 position = -0.111 variance = 0.333\n", - "time: 14 position = -0.057 variance = 0.312\n", - "time: 15 position = -0.073 variance = 0.294\n", - "time: 16 position = -0.017 variance = 0.278\n", - "time: 17 position = -0.086 variance = 0.263\n", - "time: 18 position = -0.024 variance = 0.250\n", - "time: 19 position = -0.061 variance = 0.238\n" - ] - } - ], - "prompt_number": 13 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Because of the random numbers I do not know the exact values that you see, but the position should have converged very quickly to almost 0 despite the initial error of believing that the position was 2.0. Furthermore, the variance should have quickly converged from the intial value of 5.0 to 0.238.\n", - "\n", - "By now the fact that we converged to a position of 0.0 should not be terribly suprising. All we are doing is computing new_position = old_position * measurement, and the measurement is a normal distribution around 0, so we should get very close to 0 after 20 iterations. But the truly amazing part of this code is how the variance became 0.238 despite every measurement having a variance of 5.0. \n", - "\n", - "If we think about the physical interpretation of this is should be clear that this is what should happen. If you sent 20 people into the hall with a tape measure to physically measure the position of the dog you would be very confident in the result after 20 measurements - more confident than after 1 or 2 measurements. So it makes sense that as we make more measurements the variance gets smaller.\n", - "\n", - "Mathematically it makes sense as well. Recall the computation for the variance after the multiplication: $\\sigma^2 = \\frac{1}{\\frac{1}{{\\sigma}_1} + \\frac{1}{{\\sigma}_2}}$. We take the reciprocals of the sigma from the measurement and prior belief, add them, and take the reciprocal of the result. Think about that for a moment, and you will see that this will always result in smaller numbers as we proceed.\n", - "\n", - "\n", - "#Implementing Updates\n", - "\n", - "That is a beautiful result, but it is not yet a filter. We assumed that the dog was sitting still, an extremely dubious assumption. Certainly it is a useless one - who would need to write a filter to track nonmoving objects? The histogram used a loop of sense and update functions, and we must do the same to accomodate movement.\n", - "\n", - "How how do we perform the update function with gaussians? Recall the histogram method:\n", - "\n", - " def update(pos, move, p_correct, p_under, p_over):\n", - " n = len(pos)\n", - " result = array(pos, dtype=float)\n", - " for i in range(n):\n", - " result[i] = \\\n", - " pos[(i-move) % n] * p_correct + \\\n", - " pos[(i-move-1) % n] * p_over + \\\n", - " pos[(i-move+1) % n] * p_under \n", - " return result\n", - " \n", - " \n", - "In a nutshell, we shift the probability vector by the amount we believe the animal moved, and adjust the probability. How do we do that with gaussians?\n", - "\n", - "It turns out that we just add gaussians. Think of the case without gaussians. I think my dog is at 7.3m, and he moves 2.6m to right, where is he now? Obviously, $7.3+2.6=9.9$. He is at 9.9m. Abstractly, the algorithm is *new_pos = old_pos + dist_moved*. It does not matter if we use floating point numbers or gaussians for these values, the algorithm must be the same. \n", - "\n", - "How is addition for gaussians performed. It turns out to be very simple:\n", - "$$ N({\\mu}_1, {{\\sigma}_1}^2)+N({\\mu}_2, {{\\sigma}_2}^2) = N({\\mu}_1 + {\\mu}_2, {\\sigma}_1 + {\\sigma}_2)$$\n", - "\n", - "All we do is add the means and the variance separately! Does that make sense? Think of the physical representation of this abstract equation.\n", - "${\\mu}_1$ is the old position, and ${\\mu}_2$ is the distance moved. Surely it makes sense that our new position is ${\\mu}_1 + {\\mu}_2$. What about the variance? It is perhaps harder to form an intuition about this. However, recall that with the *update()* function for the histogram filter we always lost information - our confidence after the update was lower than our confidence before the update. Perhaps this makes sense - we don't really know where the dog is moving, so perhaps the confidence should get smaller (variance gets larger). I assure you that the equation for gaussian addition is correct, and derived by basic algebra. Therefore it is reasonable to expect that if we are using gaussians to model physical events, the results must correctly describe those events.\n", - "\n", - "I recognize the amount of hand waving in that argument. Now is a good time to either work through the algebra to convince yourself of the mathematical correctness of the algorithm, or to work through some examples and see that it behaves reasonably. This book will do the latter.\n", - "\n", - "So, here is our implementation of the update function:\n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "def update(pos, sigma, movement, movement_sigma):\n", - " return (pos + movement, sigma + movement_sigma)" - ], - "language": "python", - "metadata": {}, - "outputs": [], - "prompt_number": 14 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "What is left? Just calling these functions. The histogram did nothing more than loop over the *sense()* and *update()* functions, so let's do the same. " - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "# assume dog is always moving 1m to the right\n", - "movement = 1\n", - "movement_error = 2\n", - "sensor_error = 10\n", - "pos = (0, 500) # gaussian N(0,50)\n", - "\n", - "dog = DogSensor(pos[0], velocity=movement, noise=sensor_error)\n", - "\n", - "zs = []\n", - "ps = []\n", - "\n", - "for i in range(10):\n", - " pos = update(pos[0], pos[1], movement, movement_error)\n", - " print 'UPDATE:', \"%.4f\" %pos[0], \", %.4f\" %pos[1]\n", - " \n", - " Z = dog.sense()\n", - " zs.append(Z)\n", - " \n", - " pos = sense(pos[0], pos[1], Z, sensor_error)\n", - " ps.append(pos[0])\n", - " \n", - " print 'SENSE:', \"%.4f\" %pos[0], \", %.4f\" %pos[1]\n", - " print\n", - " \n", - "p1, = plot(zs,c='r', linestyle='dashed')\n", - "p2, = plot(ps, c='b')\n", - "legend([p1,p2], ['measurement', 'filter'], 2)\n", - "show()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "UPDATE: 1.0000 , 502.0000\n", - "SENSE: -1.5928 , 9.8047\n", - "\n", - "UPDATE: -0.5928 , 11.8047\n", - "SENSE: 2.6835 , 5.4138\n", - "\n", - "UPDATE: 3.6835 , 7.4138\n", - "SENSE: 3.7262 , 4.2574\n", - "\n", - "UPDATE: 4.7262 , 6.2574\n", - "SENSE: 5.0089 , 3.8490\n", - "\n", - "UPDATE: 6.0089 , 5.8490\n", - "SENSE: 5.4084 , 3.6904\n", - "\n", - "UPDATE: 6.4084 , 5.6904\n", - "SENSE: 4.3071 , 3.6267\n", - "\n", - "UPDATE: 5.3071 , 5.6267\n", - "SENSE: 6.1013 , 3.6007\n", - "\n", - "UPDATE: 7.1013 , 5.6007\n", - "SENSE: 5.9480 , 3.5900\n", - "\n", - "UPDATE: 6.9480 , 5.5900\n", - "SENSE: 8.1846 , 3.5856\n", - "\n", - "UPDATE: 9.1846 , 5.5856\n", - "SENSE: 8.8179 , 3.5838\n", - "\n" - ] - }, - { - "metadata": {}, - "output_type": "display_data", - "png": "iVBORw0KGgoAAAANSUhEUgAAAXAAAAEACAYAAACqOy3+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xlc1OX2B/APCGqWICKCCogXRdkEFCMpFRcovWquuZQr\nVtbNrEzNyptW7priz26rqDcVt8oFlVwSt0LzumTmLiiCu4iyw3B+fxwdQQRmmOU7y3m/XvNShu98\nn8MMnHnm+T7PeWyIiCCEEMLs2CodgBBCiKqRBC6EEGZKErgQQpgpSeBCCGGmJIELIYSZkgQuhBBm\nSqMEPnLkSLi6uiIwMFB93/jx4+Hr64ugoCD06dMHmZmZBgtSCCFEWRol8BEjRiAhIaHUfVFRUThx\n4gSOHTsGHx8fzJgxwyABCiGEeDyNEni7du3g5ORU6r7IyEjY2vLDw8LCcPnyZf1HJ4QQolx6GQOP\njY1Ft27d9HEqIYQQGtI5gU+bNg3Vq1fH4MGD9RGPEEIIDdnp8uClS5diy5Yt2LlzZ7nHNG3aFOfP\nn9elGSGEsDre3t44d+5chcdUuQeekJCAOXPmYMOGDahZs2a5x50/fx5EZFK3Tz75RPEYJCbLikti\nkpj0fdOk46tRAh80aBDCw8Nx+vRpeHh4IDY2FmPGjEFWVhYiIyMREhKCN998U/PsL4QQQmcaDaHE\nxcWVuW/kyJF6D0YIIYTmrHIlZkREhNIhlCExac4U45KYNCMx6ZcNERl0QwcbGxsYuAkhhLA4muRO\nnWah6KJu3brIyMhQqnmhECcnJ9y+fVvpMISwCIr1wKVnbp3kdRdCM5r8rVjlGLgQQlgCSeBCCGGm\nJIELIYSZkgQuhBBmShK40IulS5eiXbt2SochhFWRBG7GioqKlA5BCKEgSeCP8PLywty5c9GyZUvU\nrl0b0dHRuHbtGrp27QpHR0dERkbizp07AICkpCSEh4fDyckJwcHB2L17t/o8S5YsgZ+fHxwcHODt\n7Y1vv/1W/b2bN2+ie/fucHJygrOzM9q3b6/+nq2tLS5cuKD+evjw4Zg8eTIAIDExEe7u7pg9ezYa\nNGiA6OhoEBFmzpyJpk2bol69ehgwYIB6fn1KSgpsbW2xdOlSeHp6wtnZGV9//TX++OMPtGzZEk5O\nThgzZkypnz82NhZ+fn6oW7cuXnjhBVy6dKlUbN988w18fHzg5OSEt956CwBw8uRJvPHGG/j9999R\nu3Zt1K1bV18vhxCiImRg5TVhhKarxMvLi9q2bUvXr1+ntLQ0ql+/PoWEhNDRo0cpLy+POnXqRFOn\nTqXLly+Ts7Mzbd26lYiItm/fTs7OznTz5k0iItq8eTNduHCBiIh2795NtWrVoiNHjhAR0QcffECj\nR4+moqIiKioqon379qnbt7GxofPnz6u/Hj58OE2ePJmIiHbt2kV2dnb0wQcfUEFBAeXm5tKCBQuo\nbdu2lJaWRgUFBfT666/ToEGDiIgoOTmZbGxs6I033qD8/Hzatm0bVa9enXr16kU3btxQ/3y7d+8m\nIqL169dT06ZN6dSpU6RSqejzzz+n8PDwUrH16NGDMjMz6dKlS+Ti4kIJCQlERLR06VJ67rnnKn1+\nTfV1F8LUaPK3Yro98ClTABubsrcpUzQ/vrxjKzFmzBi4uLigYcOGaNeuHdq2bYugoCDUqFEDvXv3\nxpEjR7BixQp069YNL7zwAgCgS5cuCA0NxebNmwEA3bp1Q5MmTQAA7du3R1RUFPbs2QMAqF69Oq5c\nuYKUlBRUq1YNzz77bIXxUInJ/La2tpg6dSrs7e1Rs2ZNfPPNN/j888/RsGFD2Nvb45NPPsG6detQ\nXFysfszkyZNRvXp1REZGonbt2hg8eDDq1aun/vmOHj0KAPj6668xadIkNG/eHLa2tpg0aRKOHj2K\n1NRU9bk++OADODg4wMPDAx07dlQ/lmRxjhBGZ9oJnKjsraIErumxlXB1dVX//4knnij1dc2aNZGV\nlYWLFy9i7dq1cHJyUt/279+Pq1evAgC2bt2KZ555Bs7OznBycsKWLVtw69YtAMD48ePRtGlTREVF\nwdvbG7NmzdI4NhcXF1SvXl39dUpKCnr37q2Owc/PD3Z2drh27ZpGP88TTzyBrKwsAMDFixcxduxY\n9bmcnZ0BAGlpaerj3dzc1P+vVasWsrOzNY5dCKFfppvATUjJ3qWNjQ0AwMPDA0OGDEFGRob6du/e\nPUyYMAH5+fno27cvJkyYgOvXryMjIwPdunVTn+epp57C3Llzcf78eWzcuBFffPEFdu3aBYCTYk5O\njrq9K1euqNss2f4Dnp6eSEhIKBVHTk4OGjRooPXP6enpiW+//bbUubKzs/HMM89U+thH4xJCGJ4k\ncC09SMKvvPIKNm3ahG3btkGlUiEvLw+JiYlIS0tDQUEBCgoKUK9ePdja2mLr1q3Ytm2b+hzx8fE4\nd+4ciAgODg6oVq0abG35pQgODsaKFSugUqmQkJCgHnYpz+jRo/Hhhx+qLzbeuHEDGzdurNLPNHr0\naEyfPh1///03ACAzMxNr166t8HEPHuvq6orLly+jsLBQq7aFEFUnCVwDj/aAbWxs4O7ujg0bNmD6\n9OmoX78+PD09MW/ePBARateujYULF+Kll15C3bp1ERcXhxdffFF9jnPnzqnHo8PDw/Gvf/0LHTp0\nAADExMRg06ZNcHJywsqVK9G7d+9yYwGAsWPHomfPnoiKioKDgwPatm2LgwcPlnt8RT9fr169MHHi\nRAwcOBCOjo4IDAzEL7/8Uu65HjwXANC5c2f4+/vDzc0N9evXr7RNIYTupBqhMCp53YXQjFQjFEII\nCyYJXAghzJQkcCGE9SICDh1SOooqkwQuhLBe+/cDbdoABQVKR1IlksCFENZrxQpg+nSgxOI4c6JR\nAh85ciRcXV0RGBiovu/27duIjIyEj48PoqKi1AWehBDCLBQUAGvXAoMHKx1JlWmUwEeMGIGEhIRS\n982cORORkZE4c+YMOnfujJkzZxokQCGEMIitWwF/f6BxY6UjqTKNEni7du3g5ORU6r6NGzdi2LBh\nAIBhw4Zh/fr1+o9OCCEMZfly4OWXy95fUADMmweYwariKo+BX7t2TV0UydXVtVTxJHN3+vRpBAcH\nq5e5T5s2DQDX4/bw8FA4OiGEXkRHA/37l72/uBjYvRvo2xfIyzN+XFqw08dJSi6pfpwpJaoCRkRE\nICIiQh/NGszs2bPRuXNndanU8nh5eSE2NhadOnUyUmRCCL25Xwq6jJo1gR9/5N55z57A+vVArVoG\nDycxMRGJiYlaPabKCdzV1RVXr16Fm5sbrly5UmH9iylVLOuqlIsXLyI8PLzS43RZFv7gcVLFTwgT\nZG8PrFwJjBrFiT4+HnBwMGiTj3Zup06dWuljqjyE0rNnTyxbtgwAsGzZMvTq1auqpzIpnTp1QmJi\nIt566y3Url0bL7/8snpLs5KGDBmCS5cuoUePHqhduzbmzp0LoOJt1iIiIvDxxx/j2WefxZNPPonk\n5GSj/VxCCC3Z2QGxsUBAAPDJJ0pH83iabO0zcOBAatCgAdnb25O7uzvFxsbSrVu3qHPnztSsWTOK\njIykjIwMrbYF0rBpRURERNDixYuJqOyWZu7u7urjvLy8aOfOneqvK9tmrUOHDtS4cWP6+++/SaVS\nUWFhobF+JJNhyq+7EI9VXEyUm2v0ZjX5W9FoCCUuLu6x9+/YsUNvbySP0tfIgj4K35GGJ1m+fHm5\n26wNHToUNjY2GD58OHx9fQFAXQNcCGFEd+4AdepofryNDY+LmyCTzSCP202tKjdjqmybNQAyi0UI\nJR0/DoSGGj85GIheZqFYuvIuND5ue7MhQ4bg22+/1fpcQggjWLEC6NdP94/4eXnAlSvA/Y3LlWKy\nPXBTQSW2DXuUq6srzp8/r/66om3WSp5PCKGA4mJO4K+8ovu5du8GnnsO+Osv3c+lA0nglXh0jnvJ\n/0+aNAmff/45nJyc8MUXX1S4zdrjHi+EMKI9ewBnZ55VoqvnnwfmzgW6dAEOH9b9fFUkW6oJo5LX\nXShm1CigeXNg/Hj9nfPnn4HXXwc2bADattXfeaHZ34qMgQshrIOjIzBokH7P2bs38MQTwIsvAgkJ\nQKtW+j1/JaQHLoxKXndhkQ4d4qEZPU431ORvRRK4MCp53YXQjOxKL4QQFkwSuBBCGIJKZfAmJIEL\nIYQhREcDMTEGbUKxWShOTk4yJ9oKPbqzkxAGlZICTJwIrF5t/LanTgU6dwZycoBJkwzShGIJ/Pbt\n20o1LYSwFitX8uIdJTRuzIuHunThJP7pp/qr0nefDKEIISwTEfDDD/pZOl9VDRvysvtNm4Bx4zQq\nokUEnDql2eklgQshLNORI0B+vt5XSGrNxQXYtQuoUQMoKnrsITdv8ihPdDR33KOiNDu1YvPAhRDC\noMaN470sP/tM6UjKyM8HfvsN2LYN2L4dOHsW6NCBE3dkJODjA9jamvBCHiGEMKiQECAuDmjRQulI\nQAScOMHJevt2YN8+wM/vYcJ+5hnehrMkk16JKYQQBqVSAdWqKdb8tWvAjh0Pe9k1az5M2J06AZVN\nyJIELoQQRpKbyz3rBwk7JYUTdWQkJ25v70cekJ0NTJnCtyefLHM+qUYohBAGUlzMO7Q9SNi//w60\nbMnJ+j//AZ5+mje2L1fNmnz18oUXgM2bAQcHrWOQHrgQQmgoPf3hOPb27ZxzHwyLdOzIFWu1UlwM\njBkDHDwI/PILULeu+lsyhCKEEDrIzua1ONu3c087PZ0XV0ZG8k0vW2ISARMmcALfvh1wdQUgCVwI\nYW1u3AA2buQJ1VVQXMzTxx8Mi/zxB+/R8GAcu3VrA10XJeKVmtnZwOzZAIyUwGfMmIHly5fD1tYW\ngYGBWLJkCWrUqPGwAUngQghjWbQISEoCli/X+CGpqQ8T9o4dvO7mQcLu0AGoXduA8T6quBiw5fWV\nBq8HnpKSgu+++w6HDx/G8ePHoVKpsGrVKl1OKYQQVbd8uVZL5xcvBoKCOHlHRXHv++RJYOFCoHt3\nIydvQJ28NaXTLBQHBwfY29sjJycH1apVQ05ODho1aqTLKYUQomrOnQOSk7l4lAYWLuSN5ZOSeOWj\nOdKpB163bl2MGzcOnp6eaNiwIerUqYMuGj55QgihVytWAAMHVjJ3j82cyaW69+wx3+QN6NgDP3/+\nPBYsWICUlBQ4Ojqif//+WLFiBV5++eVSx02ZMkX9/4iICEREROjSrBBClEbEwycrV1Z62CefAGvX\ncvI2pQGDxMREJCYmavUYnS5irl69Gtu3b8f3338PAPjhhx+QlJSEL7/88mEDchFTCGFoRDwW8swz\n5dbcJgLef58vVG7fDtSvb+QYtWTwi5gtWrRAUlIScnNzQUTYsWMH/Pz8dDmlEEJoz8aGy8aWk7yL\ni4E33wT27uXKrqaevDWl0xBKUFAQhg4ditDQUNja2qJVq1Z47bXX9BWbEELorKgIGDUKOH+ee99V\nWLFusmQhjxDCYhUW8qzC27eB9esfWzPKZEkxKyGE1crLA156ice+N23i2lGWRrZUE0KYr5wcXkr5\nmLt79uSk/eOPlpm8AUngQghz9uOPfHWyhLt3uUJrgwY8q7B6dYViMwJJ4EJYovh44NYtpaMwvEeW\nzt++zXVM/P2BJUs0WtNj1uQiphCWJj+fu59//QU0bKh0NIZz5QpvLJmWBtSqhevXuZ5J5868RL6c\nGYVmw+DzwIUQJuiXX4DAQMtO3gCwahXQqxdQqxbS07lyYM+elpG8NSUJXAhLs2YNMGCA0lEY3vLl\nwMsv4+JFoH17YNgwLqltLckbkAQuhGXJzeX9Ffv2fXhfRgawc6dyMRlCURHQtSvOundE+/bA228D\nH3ygdFDGJwlcCEuSkMBbyNzflgsAcP0698gvXlQuLn2zs8OJQZ+jY5dqmDyZE7g1kouYQliSc+d4\n9klYWOn7p03jQiBbt1rEGMORI0C3bjze/UjxU4she2IKIVhhIRAaCowfr9WONabo99/52uVXXwF9\n+igdjeFIAhdCPHToEPDPf/L0QhcXpaOpksREoH9/YNky7oFbMplGKIR4KDQUGDqUC4OYoYQEoH9/\nwurVlp+8NSU9cCGsCZFZjoGvXw+89hqwftwehF9YAXzzjdIhGZz0wIWwFrm5mh1nhsk7Lg4YPZqv\nv4Yf+j+gdWulQzIZksCFsASDBwM//aR0FHoXG/twG7TWTTOBbdt4EFwAkAQuhPm7exf49VegUyel\nI9GrRYuAKVN4C7SAAHDlwc6dAScnpUMzGZLAhTB3GzZwIZA6dbR/7P/+xzsfmJjZs4H583nneB+f\n+3feXzovHpIELoS5W7266rVPpk/nRT4mgoh73bGxnLy9vO5/IzcXuHePp0EKNZmFIoQ5y8jgLJea\nWrXdetPTgaAgHoIJDNR7eNogAiZM4GKK27eXrgZgjWQWihCW7uJFIDq66lutN2zIvfBRowCVSr+x\naaG4GHjrLV6ok5goyVtT0gMXwtoR8QXQnj2Bd981evMqFb9/nD3LhRQdHY0egkmSpfRCCM2cOwd0\n7w78+adRN5EsLASGDAFu3uRrsU8+abSmTZ5RhlDu3LmDfv36wdfXF35+fkhKStL1lEIIY2vaFDh+\n3KjJOz+fp3RnZfEWnpK8tadzAh87diy6deuGkydP4s8//4Svr68+4hJCGJu9vdGaysnhERt7e15/\nVLNmOQceOAAsXWq0uMyNTkMomZmZCAkJwYULF8pvQIZQhDCq/HyuGvvrrzw13Mmp9O1x9z24v1Yt\nw6+2v3ePR2saN+bpghXuHD9qFNCiBS/HtDKa5M6KnrpKJScnw8XFBSNGjMCxY8fQunVrxMTEoFat\nWrqcVghRmXXrONOW3DoNQEoKD0s0bszrXu7d45mGD2537gDJycDhw2Xvz8jgnco0TfaP3le7duXJ\nPyMD6NqVZy5+9RVgW9EYQF4ed8+PH9f56bJUOiXwoqIiHD58GIsWLUKbNm3wzjvvYObMmfj0009L\nHTdlyhT1/yMiIhAREaFLs0KIL78Exo4tddeWLcCIEbw35DvvVK0nnZ9/P6nfVCHj5BXcedK9VKJP\nS+Ny4g8Sfslbbi7PIKko2a9aBUREAF98oUF88fG8PVyjRtr/IGYoMTERiYmJWj1GpyGUq1evom3b\ntkhOTgYA7Nu3DzNnzkR8fPzDBmQIRQj9unIF8PPjf2vWhEoFfPIJDxWvXg08+6we2jhwAOjXj7O1\nhvP6CguBzMyyib1kD79JE64sqNGbS69ewIsv8ruSFTL4EIqbmxs8PDxw5swZ+Pj4YMeOHfD399fl\nlEKIyvz4Iw8i16yJ69e5ECERlzXR2wKYsDAe65g4Efj6a40eYm8P1KvHN53ducNVrJYt08PJLJfO\n88CPHTuGUaNGoaCgAN7e3liyZAkcS7xjSw9cCD1r1w6YMAG/OffAgAG8yc6nnwLVqum5nTt3uAzg\nypVA+/Z6PrkGUlMBDw/jt2siZCGPEJbm6lWQrx9iPrqOGXPssHgxd8YNZv167oUfO1bBXD9hCJLA\nhbAwd+8C0S/n4UJ6Taxbx2PKBte/P9CxI/Dmm0ZoTDwgCVwIC3L8OF9X7NgRWLDAiB3ie/d4mWSF\nc/6Evkk1QiEsxA8/cL2pjz/ma4pGHc2oXVuSt4nSaRaK2XrwrmaGG7waTXGx/NGagLw8ntO9a5dJ\nlOw2vIsXeUJ5ixZKR2IWrPMvdNky/ix6+7bSkZgeIl7f3L49J3GFQ7l0iXcjnzMHGDaMJ2DMncuf\n6i1dcjLw3HPArVvAH39YQfIGgJgYnvUiNGKdCXzgQMDTEwgO5urxgmVk8HMzfz5/Tn9cDzwpiddb\n69n169zDXLgQeO01IDycV/A98wyHk57O7ykffcTznf/xD+Df/+YypJZo82b+2V95BVizBnDIvWY6\nS8pv3Hj4KVafioqAuDjZ91IbZGBGaKLqtm4latCAaNIkooICpaNR1p49RI0bE40ZQ5Sb+/hjVCqi\nyEgiLy+ihQuJsrK0biYjg2jfPqKvvyZ66y2iiAiievWInJyI2rcneuMNoi+/JNq9m+jmzfLPc/Ys\n0Wuv8ePefpvo0iWtQzFJRUVEH35I5O7Oz5PazJlEo0crFlcpkZFE33+v//P+8gtRmzb6P6+Z0iR3\nyiyUa9d4qa6np8YrzizOiRNAly7A999rtmnsgQO8bfjevTy17K23yiy/y84GTp7kldglb5mZgL8/\n3wICHt7c3Kp2SSI9nXvosbFcnnTiRPMdPr1+HRg0iP8fFwfUr1/im61acQERU6gjdOwYEBnJ/zZo\noL/zDhvGP+cjNV6slUwjLCk7m//amzUr+z0iXnXm5GT8uExFZqb2e1mdPo2C2QtwOq8x/ur+gTpJ\nnzjBT3Xz5pycSyZrT0/DXBvNyOD6Tv/3fzxuPGkSEBqq/3YMZf9+Hr0aNgyYOvWRVZVnz/L40eXL\nBlhuWUUffQScPs1VEfUhOxtwdwdOnZINMe+TBF5SXBywYgVXOBNaU6mA8+dL96ZPnAAuXACaNCEE\nBNiUStTe3pXUeTaQ7Gxg8WK+0Onjw4m8UyfTnXBExHO6Z87kTxGP/QA0bRpw9Sq/O5mKvDy+hjRj\nBtC7t+7ny8wENm7k/dUEAEngpfXtC/ToAQwfrvljiEz3L7+qNJweeOsWV7c7doyT9alT/Gn50R51\n8+ZAjRrlnOTwYSAkRJHnsKCAJzPMmsXTmCdN4sJ2pjQz8u5dYORIruG9bh3g5VXOgUFBwKJFPAXH\nlOzdy1dZz5416lZs1kKj3GmAsfdSjNBE5e7dI3JwILp1S7vHjRxJNHUqUWGhYeIytgMHiPz9iS5f\nLveQ3Fyi2bP5wuKIEUSxsUQHD/JTqJV794j8/IhatSJatUqx51ClIvrpJ7421qIF0ZIlpnG9+s8/\niZo14+uS5V0zJiK+qjlvHv8gpig1VekILJYmudM6EviaNUTPP6/949LSiDp3Jnr2WaKUFP3HZSxF\nRUTTphHVr0+0bt1jD1GpiH74gcjTk6hXL6JTp/TQrkpFtHEjP3//+AdPL8nJ0cOJtVdcTLRjB7+c\nHh5EMTFE2dmKhELLlvEb5H//q0z7wjxIAn/gpZeIvvuuao9VqbhL6uLCPUlzc+kSUYcOfCtnrt3O\nndxRDgvj2YQGsW8f0YsvEn32mYEa0NzBg0S9e/P72WefEd2+bZx2c3N56qOPD9Hx48ZpU5gvSeAP\nTJtGdP26buc4dIg/85pTEs/PJ/L25p+/qKjMt48fJ+ralTvHq1dzL9XgjNKIZv7+m2j4cKK6dYne\nf58oPd1wbV24wG+S/foRZWYarh2zk5dnUr8TpkST3Gk9FzH1ISuLtx0p96qdCbpzh5c0lpCWxltw\nbdzIs8HeeEPha1BEPCVNoQncly4B8+Zxwaj+/YEJE3gWjb7ExwPR0cCHHwJvv21518VLycnhre01\nNXUqv/4l9s0VTKoR6ttTT5lX8gZKJe9794DJk4GWLQFnZ+DMGV4zofgEgrQ0nuvXtSuXNjDyG76n\nJ5fgOH2aF8+EhfGCmqNHdTtvUREn7TfeAH7+mZ9rjZM3kdGfB53t388bchYWanY8EbB8uWaLx8Rj\nSQLXB4WLPqljKOcPvrAQ+Oornhd98SJw5AhPr3ukY64cd3eu3NS3L/D665xB163jyedG5OICfPYZ\nz21v3ZrzSrduPFtOW9euAVFRwMGDXLslPFzLExw7BnTurH3DSgoP53fAefM0O/7gQZ7XaU4rrkyM\nJHBdFRVx1aGfflIuhqtXuff644+l7ibiHbECA/lbW7YA//0v9zhNTo0awKhRvP5+0iReibN0qSKh\nODgA77/PC5d69eJKC889xwWmNOkU79vHbwDPPgv88ssjS+I1tWYN8PTTVXiggmxsgG++4dfuzJnK\nj1++nOeRW/SYkoEZeBzeNC5iGlpSEl8JfO21KhV40kl8PJGbG9G//11qrnVSEtFzzxEFBHDNLrO7\nTlRc/NgLr0ooLCSKiyMKCiJq2ZJo5crHT2svLuYp2/XrE23erEODxcX8+/S//+lwEgXNn8+zniqa\nu15QwDO7zp83WljmRpPcabkJPC+P5x9XuEpCjzIziYYMIWrenOjwYcO3l5vLlQM9PUvN/Tt3jmdN\nNmpEtHixyeRA/VLo3ai4mGjLFqJ27Ti/fvXVw1+vzEyivn2JQkOJkpN1bOiPP4iaNjXDd937iop4\nTmpsbPnHJCcTRUcbLSRzpEnutNwhlB07+F9j7T3l4MDjE5MnA88/z4PNhjRqFHDlCl9pa9cON2/y\nzi1hYXyR8swZXqZtKrWP9GbRIq4NogAbGx6p2rOHX+r4eK5LPnUqD+O6uPDwSblL4jW1ejXw0kvm\nO7RQrRqwahXQp0/5x3h5cfVLoRPLnUY4YgQX21GiNGVGhuErG965Azg6IjfPBgsX8o41Awbw9MAq\njbmai4sXeYA5KQlo2lTpaPDnn1xjKiJCj/sQ9OvHu1W0bKmnEwpzZLRiViqVCqGhoXB3d8emTZu0\nDkLvCgq48tLRo4CHh3HbNpLiYi6u+PHHnM9mzODCUlZh7lxg2za+QmiuvVQhKmG0eeAxMTHw8/OD\njan8Me3axXPmTC15V3W64SOP27GDk/Z//sNJ/KefrCh5A/yp6to1/pguhBXTOYFfvnwZW7ZswahR\no0xnxeXevfwx1JScPs0DpX/9pfljCgp4WeDbbwPgj+tduwKjR/MKyt9+4+ltVsfenndPGjeOh5KE\n6TPynH5roXMCf/fddzFnzhzYmlKh5c8/5yt6psTHBxgzBujYkbeOqezN7swZXhhx6hTSXpuKkSN5\nF6uuXYG//+b3J1P5wKOItm15izFT+r0T5evZE9i+nef2r12rdDQWQ6c9U+Lj41G/fn2EhIQgsYLd\n3aeUqHMQERGBCGPs62dq0y9sbB6uCBk8GEhI4C1YXFxKH0cELFkCTJyIu5NmYPataHzV0Qavvsqd\neJNZPWkKBg5UOgKhqX/9i1fZPvUUb2IqykhMTKwwjz6WLvMUJ02aRO7u7uTl5UVubm5Uq1YtGjJk\niNZzGa1WOhW7AAATAUlEQVROfj7RxIlEgYFlFzssXkwFASG06KN0cnUlGjqU6OJFZcIURvRgO3pT\n2G3CUF5+mahhQwtdnKB/muROvU0j3L17N+bOnWsas1DMxSPTDYmA9WsK8MFkO3g2tsWcOTwTUliB\n3bv54qyuFbRMWWYmb78mtU80oknu1Ou2syYzC8VclEjev/8OjB8P3L1bHQv/jwshydNpRR4s3rFk\njo6SvPXMshbybN7Mm+g2bGic9nRExNd1vviCJ6d89hkwdKjpDd+bheRkLrk4e7bSkWivqAho1Iin\nFemzELkwa9ZVD7y4GHj1Vd50wcTl5/N1ypYteSbcgAHAuXN8jVOSdxU1aMClFx8ZwjMLu3fzmgVJ\n3kJLeh1CUdTvvwP16vF0PRN18yZPX/7ySyAoiMsmR0bKUIle1KzJPfDoaN4c4sknlY5Ic2vWWP7w\niTAIyxlCeecdoG5driFhYk6fBhYseFjf5913gYAApaOyUK+8wkNo5jSUcvky8MQTvE2SEPcZrRaK\nrkHorLgYaNyYa2P4+Rm2LQ0R8SfjefOAAwd49eS//gW4uiodmYW7do13sNi5k/8VwkwZfRaKYg4e\nBGrXNonkXVjIn4i/+ALIzgbee4+/fuIJpSOzEq6u/OSnp0sCFxbPMnrg6ek8v7RDB8O2U4GMDODb\nb7m0qI8PX5zs2lVWegshqsZ6hlAUdP4872i+fDnQvTuPb4eEKB2VEMLcWdc0QiMiAvbv503Uw8J4\nwsPx47xLiyRvobEzZ6peYlgISA9cK0VFXHv7iy+AGze4tz18ONfnEUIr+fk8d/2vv8xm4ZkwLuu5\niGlgd+8CixfzUImHBzBxIlfHlEU3ZoAI+O47YNgwoEYNpaN56JdfeCWXJG+hA/MeQsnPr7yutg4u\nXQLefx9o0oSnAq5Zw3tF9O4tydts2NgAW7YAs2YpHUlp1lD7RBiceQ+hfPwxz8/76CO9nvaPP3iY\nZNs2HiJ5+22eZi7M1KVLQKtWvFq3WTOlowFyc3n45PRpWRggymXZFzGJeGePqCi9nE6l4lIa7drx\nbjdt2nB9pHnzJHmbPU9PYNIk4M03DfqJTWNbt/KmppK8hY7MN4GfOAHk5elcnjI7m2uTtGjBO7uP\nGcNTA997D3Bw0FOsQnljx/KV57g4pSPhq97vvqt0FMICmG8CX7tWp40h09O5U9a4MfDrr7xVX1IS\nD0vayaVdy2Nnx5XENm5UOhL+1Ni9u9JRCAtgvmPg/v7A99/z5rZauHgRmDwZiI/nukdjx0oVT6tC\nJOUfhVmw3GmEmZmAlxevotECEc8ma9WKh0lKbIgjrIUkb2FBzLcHXgWbN/O2ZX/+KcMkQgjTZtmz\nULRUVARMmMDTgSV5CyEsgdUk8GXLeMMeuXYk1NLT+WYsr77KV8qF0BOrGELJyeESrz/+qPWwubBk\n06bxqq316w3f1t27XIfh4kWgTh3DtyfMngyh3LdgARAeLslbPOL994FTp4ANGwzf1oYNXK9ekrfQ\nI/NK4MnJ3GvSwo0bvCx++nQDxSTMV40avBHy228DWVmGbWvNGmDAAMO2IayOTgk8NTUVHTt2hL+/\nPwICArBw4UJ9xfV4a9dyXQstfPYZMGgQ0LSpgWIS5q1jR+4ZT51quDYyMoA9e7iEpRB6pNMY+NWr\nV3H16lUEBwcjKysLrVu3xvr16+Hr6/uwAX2OgT/9NHelu3TR6PBz54BnngH+/huoX18/IQgLdP06\n78Rx5IhhflG2bgWWLOFeuBAaMvqWar169cKYMWPQuXNnrYLQyMWLXADoyhXA3l6jhwwYwCWX9Vys\nUFiirCzD7sxRXCwbpAqtGHUlZkpKCo4cOYIwQ10p/PFHoFcvjZP3wYPAvn1AbKxhwhEWxtDbKkny\nFgaglwSelZWFfv36ISYmBk895g9hypQp6v9HREQgIiJC+0bWrQP+/W+NDiXiRTtTp/J+lUIIYeoS\nExORmJio1WN0HkIpLCxE9+7d0bVrV7zzzjtlG9DXEMqlS4CbG1C9eqWHxsfztmfHjsmqSyGEeTL4\nGDgRYdiwYXB2dsb8+fOrHIQ+FRUBQUG8ZF5WXYoqy8wEHB2VjkJYMYMv5Nm/fz+WL1+OXbt2ISQk\nBCEhIUhISNDllDp7sGT+n/9UNAxhzv73P96SKS9Pt/MkJgJHj+olJCEex6KW0mdnA82bAz/9xDMO\nhaiyPn14ClOJ6zda69iRC8736qW3sIT1MPo0wqoGoS/TpnGp2NWrjdKcsGSpqTw3fP9+7hVo68oV\nwM+P/61ZU//xCYtnGbVQjh/nObSVuHEDmD9f65X2QjyehwcvIKjqRsjr1vFFGEnewoBMO4Ffv87b\nxOfnV3roZ58BgwfLknmhR2PGALdvV+0jndQ+EUZg2pPs1q8HunYFnniiwsPOnQNWrgROnjRSXMI6\n2NlxT1rb5fWXLwMnTgCRkYaJS4j7TLsH/mDn+Up89BHw7ruAi4sRYhLWxdsbqF1bu8c4OnLno0YN\nw8QkxH2mexHz5k3+47lyBahVq9zDDhwA+vYFzpyp8DAhhDAr5n0Rc8MGICqqwqxccsm8JG8hhLUx\n3QTu4gK88UaFh2zezB31YcOMFJMQCm8PKERJpjuEUglZMi+MTqUCIiKA5cuBxo2VjkZYOPMeQqnE\n0qXcSZcl88JoqlUDnn+epxc+7g8rK0ujKa9C6ItZ9sBlybxQTH4+f/SbObPsEvmZM4H0dMDQWwsK\nq2CxPfAFC4Bnn5XkLRRQowbw9de8EfK9e6W/t2YN0Lu3MnEJq2R2PfAbNwBfX54+6O2tt9MKoZ3h\nwwFnZ2DePP767FmgfXtexFOtmqKhCctgnj3w11/n7FyOB0vmJXkLRc2ZA7Rt+/DrNWt40Zkkb2FE\nptUDv3cPcHcHUlIAJ6cy336wy/zJk7LqUpiYli2BL7/k2j1C6IH59cC3bOHB7cckbwD48EPgvfck\neQsTk5MDBAfz764QRmRaPfD+/bl41ciRZb4lS+aFENbEvDZ0yM4GGjYELlzgi0MlEPH6iaFDgeho\nw8QphBCmxLyGUP74AwgPL5O8Ad5l/tYtWTIvhBAlmU4PHOD18XZ2Ze4KCgJmz5ZVl0II62FePXCg\nTPIGHi6Z79bN+OEIIYQpM60e+COyswEfH+Dnn2XVpRDCuphfD/wR8+fztFpJ3kIIUZbOCTwhIQEt\nWrRAs2bNMGvWLH3EBID3M16wQHaZF0KI8ug0hKJSqdC8eXPs2LEDjRo1Qps2bRAXFwdfX9+HDVT2\nMeDoUaCgoEw3e8wYwNYWiImpanRCCGG+DD6EcvDgQTRt2hReXl6wt7fHwIEDsWHDBu1OMn9+mdon\nZ88CcXHAxx/rEp0QQlg2nRJ4WloaPDw81F+7u7sjLS1N8xMUFACbNgF9+pS6+6OPZMm8EEJUpuy8\nPS3Y2NhodNyUKVPU/4+IiEBERAR/sXMn14Zt1Ej9/QMHgN9+4+mDQghhLRITE5GYmKjVY3RK4I0a\nNUJqaqr669TUVLi7u5c5rmQCL2XdOi7BeR8RMH488OmnUu9ECGFdSnVuAUydOrXSx+g0hBIaGoqz\nZ88iJSUFBQUFWL16NXr27KnZgwsLgQ0buELVffHxwO3bsmReCCE0oVMP3M7ODosWLcLzzz8PlUqF\n6OjoUjNQKqRSAd98A3h6AuAl8xMncp18qYkvhBCVM5mVmN99B6xcCfz6K6Dh0LoQQlgssykn+2DJ\n/Pr1QJs2hoxGCCHMg9kspX+wZF6StxBCaE7xHvj164Cfn+wyL4QQJZnmEEpxMV+xrF4dAC+Zr1aN\n654IIYRgpjmEsn8/0KULAFkyL4QQujB+Al+3DoiKAsC7zI8bB9SrZ/QohBDC7Bl3CKW4GPDwAHbu\nxIHMFujXDzh9WlZdCiHEozQZQtFpIY/WkpIAJydQ8xYY3wGYOlWStxBCVJVxh1Du1z7ZtEmWzAsh\nhK6M2wPPykLR0JH4YDAwd64smRdCCF0YfRqhLJkXQojKmdw8cFkyL4QQmjG5eeDz5wPt20vyFkII\nfTBaD/zBkvmDB4F//MOQLQohhPkzqSGUt94C7OxkybwQQmjCZOaBnx05A6s3TsTJUyZR/FAIISyC\nUTLqh6uD8N57NrJkXggh9MgoQyjutTNw+modWXUphBAaMplZKJ+OvSXJWwgh9MwoPfCiwmJUs5NV\nO0IIoSmT6YFL8hZCCP2TaSFCCGGmqpzAx48fD19fXwQFBaFPnz7IzMzUZ1xCCCEqUeUEHhUVhRMn\nTuDYsWPw8fHBjBkz9BmXQSUmJiodQhkSk+ZMMS6JSTMSk35VOYFHRkbC1pYfHhYWhsuXL+stKEMz\nxRdMYtKcKcYlMWlGYtIvvYyBx8bGolu3bvo4lRBCCA1VuJQ+MjISV69eLXP/9OnT0aNHDwDAtGnT\nUL16dQwePNgwEQohhHg80sGSJUsoPDyccnNzyz3G29ubAMhNbnKTm9y0uHl7e1eag6u8kCchIQHj\nxo3D7t27UU+KnAghhNFVOYE3a9YMBQUFqFu3LgCgbdu2+M9//qPX4IQQQpTP4EvphRBCGIbBVmIm\nJCSgRYsWaNasGWbNmmWoZrQycuRIuLq6IjAwUOlQ1FJTU9GxY0f4+/sjICAACxcuVDok5OXlISws\nDMHBwfDz88OkSZOUDklNpVIhJCREfRFdaV5eXmjZsiVCQkLw9NNPKx2O2p07d9CvXz/4+vrCz88P\nSUlJisZz+vRphISEqG+Ojo4m8bs+Y8YM+Pv7IzAwEIMHD0Z+fr7SISEmJgaBgYEICAhATExMxQfr\nchGzPEVFReTt7U3JyclUUFBAQUFB9PfffxuiKa3s2bOHDh8+TAEBAUqHonblyhU6cuQIERHdu3eP\nfHx8TOK5ys7OJiKiwsJCCgsLo7179yocEZs3bx4NHjyYevTooXQoRETk5eVFt27dUjqMMoYOHUqL\nFy8mIn4N79y5o3BED6lUKnJzc6NLly4pGkdycjI1adKE8vLyiIjopZdeoqVLlyoa0/HjxykgIIBy\nc3OpqKiIunTpQufOnSv3eIP0wA8ePIimTZvCy8sL9vb2GDhwIDZs2GCIprTSrl07ODk5KR1GKW5u\nbggODgYAPPXUU/D19UV6errCUQG17tf/LSgogEqlUl/rUNLly5exZcsWjBo1qtIqbcZkSrEAQGZm\nJvbu3YuRI0cCAOzs7ODo6KhwVA/t2LED3t7e8PDwUDQOBwcH2NvbIycnB0VFRcjJyUGjRo0UjenU\nqVMICwtDzZo1Ua1aNXTo0AE//fRTuccbJIGnpaWVenHc3d2RlpZmiKYsSkpKCo4cOYKwsDClQ0Fx\ncTGCg4Ph6uqKjh07ws/PT+mQ8O6772LOnDnqFcCmwMbGBl26dEFoaCi+++47pcMBACQnJ8PFxQUj\nRoxAq1at8OqrryInJ0fpsNRWrVplEutG6tati3HjxsHT0xMNGzZEnTp10KVLF0VjCggIwN69e3H7\n9m3k5ORg8+bNFa5yN8hfgo2NlI/VVlZWFvr164eYmBg89dRTSocDW1tbHD16FJcvX8aePXsUX24c\nHx+P+vXrIyQkxKR6vPv378eRI0ewdetWfPnll9i7d6/SIaGoqAiHDx/Gm2++icOHD+PJJ5/EzJkz\nlQ4LAH+i27RpE/r37690KDh//jwWLFiAlJQUpKenIysrCytWrFA0phYtWmDixImIiopC165dERIS\nUmGHxSAJvFGjRkhNTVV/nZqaCnd3d0M0ZREKCwvRt29fvPLKK+jVq5fS4ZTi6OiIf/7znzh06JCi\ncfz222/YuHEjmjRpgkGDBuHXX3/F0KFDFY0JABo0aAAAcHFxQe/evXHw4EGFI+JPvO7u7mjTpg0A\noF+/fjh8+LDCUbGtW7eidevWcHFxUToUHDp0COHh4XB2doadnR369OmD3377TemwMHLkSBw6dAi7\nd+9GnTp10Lx583KPNUgCDw0NxdmzZ5GSkoKCggKsXr0aPXv2NERTZo+IEB0dDT8/P7zzzjtKhwMA\nuHnzJu7cuQMAyM3Nxfbt2xESEqJoTNOnT0dqaiqSk5OxatUqdOrUCf/9738VjSknJwf37t0DAGRn\nZ2Pbtm0mMcPJzc0NHh4eOHPmDAAec/b391c4KhYXF4dBgwYpHQYA7u0mJSUhNzcXRIQdO3aYxFDh\n9evXAQCXLl3Czz//XPFwk6Gupm7ZsoV8fHzI29ubpk+fbqhmtDJw4EBq0KABVa9endzd3Sk2Nlbp\nkGjv3r1kY2NDQUFBFBwcTMHBwbR161ZFY/rzzz8pJCSEgoKCKDAwkGbPnq1oPI9KTEw0iVkoFy5c\noKCgIAoKCiJ/f3+T+T0nIjp69CiFhoZSy5YtqXfv3iYxCyUrK4ucnZ3p7t27SoeiNmvWLPLz86OA\ngAAaOnQoFRQUKB0StWvXjvz8/CgoKIh+/fXXCo+VhTxCCGGmTOdyvhBCCK1IAhdCCDMlCVwIIcyU\nJHAhhDBTksCFEMJMSQIXQggzJQlcCCHMlCRwIYQwU/8PHo/6wmu1/mgAAAAASUVORK5CYII=\n", - "text": [ - "" - ] - } - ], - "prompt_number": 15 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "There is a fair bit of arbitrary constants code above, but don't worry about it. What does require explanation are the first few lines:\n", - "\n", - " movement = 1 \n", - " movement_error = 2\n", - " \n", - "For the moment we are assuming that we have some other sensor that detects how the dog is moving. For example, there could be an inertial sensor clipped onto the dog's collar, and it reports how far the dog moved each time it is triggered. The details don't matter. The upshot is that we have a sensor, it has noise, and so we represent it with a guassian. Later we will learn what to do if we do not have a sensor for the *update()* step.\n", - "\n", - "For now let's walk through the code and output bit by bit.\n", - "\n", - " movement = 1\n", - " movement_error = 2\n", - " sensor_error = 10\n", - " pos = (0, 500) # gaussian N(0,500)\n", - " \n", - " \n", - "The first lines just set up the initial conditions for our filter. We are assuming that the dog moves steadily to the right 1m at a time. We have a relatively low error of 2 for the movement sensor, and a higher error of 10 for the RFID position sensor. Finally, we set our belief of the dog's initial position as $N(0,500)$. Why those numbers. Well, 0 is as good as any number if we don't know where the dog is. But we set the variance to 500 to denote that we have no confidence in this value at all. 100m is almost as likely as 0 with this value for the variance. \n", - "\n", - "Next we initialize the RFID simulator with\n", - " dog = DogSensor(pos[0], velocity=movement, noise=sensor_error)\n", - "\n", - "It may seem very 'convienent' to set the simulator to the same position as our guess, and it is. Do not fret. In the next example we will see the effect of a wildly inaccurate guess for the dog's initial position.\n", - "\n", - "The next code allocates an array to store the output of the measurements and filtered positions. \n", - "\n", - " zs = []\n", - " ps = []\n", - " \n", - "This is the first time that I am introducing standard nomenclature used by the Kalman filtering literature. It is traditional to call our measurement $Z$, and so I follow that convention here. As an aside, I find the nomenclature used by the literature very obscure. However, if you wish to read the literature you will have to become used to it, so I will not use a much more readable variable name such as $m$ or $measure$.\n", - " \n", - " \n", - "Now we just enter our *sense()->update()* loop.\n", - "\n", - " for i in range(10):\n", - " pos = update(pos[0], pos[1], movement, sensor_error)\n", - " print 'UPDATE:', \"%.4f\" %pos[0], \", %.4f\" %pos[1]\n", - "\n", - "Wait, why *update()* before sense? It turns out the order does not matter once, but the first call to DogSensor.sense() assumes that the dog has already moved, so we start with the update step. In practice you will order these calls based on the details of your sensor, and you will very typically do the *sense()* first.\n", - "\n", - "So we call the update function with the gaussian representing our current belief about our position, the another gaussian representing our belief as to where the dog is moving, and then print the output. Your output will differ, but when writing this I get this as output:\n", - "\n", - " UPDATE: 1.000 502.000\n", - "\n", - "What is this saying? After the update, we believe that we are at 1.0, and the variance is now 502.0. Recall we started at 500.0. The variance got worse, which is always what happens during the update step.\n", - "\n", - " Z = dog.sense()\n", - " zs.append(Z)\n", - " \n", - "Here we sense the dog's position, and store it in our array so we can plot the results later.\n", - "\n", - "Finally we call the sense function of our filter, save the result in our *ps* array, and print the updated position belief:\n", - " pos = sense(pos[0], pos[1], Z, movement_error)\n", - " ps.append(pos[0])\n", - " print 'SENSE:', \"%.4f\" %pos[0], \", %.4f\" %pos[1]\n", - " \n", - "Your result will be different, but I get\n", - "\n", - " SENSE: 1.6279 , 9.8047\n", - " \n", - "as the result. What is happening? Well, at this point the dog is really at 1.0, however the predicted position is 1.6279. What is happening is the RFID sensor has a fair amount of noise, and so we compute the position as 1.6279. That is pretty far off from 1, but this is just are first time through the loop. Intuition tells us that the results will get better as we make more measurements, so let's hope that this is true for our filter as well. Now look at the variance: 9.8047. It has dropped tremendously from 502.0. Why? Well, the RFID has a reasonably small variance of 2.0, so we trust it far more than our previous belief. At this point there is no way to know for sure that the RFID is outputting reliable data, so the variance is not 2.0, but is has gotten much better.\n", - "\n", - "Now the software just loops, calling *update()* and *sense()* in turn. Because of the random sampling I do not know exactly what numbers you are seeing, but the final position is probably between 9 and 11, and the final variance is probably around 3.5. After several runs I did see the final position nearer 7, which would have been the result of several measurements with relatively large errors.\n", - "\n", - "Now look at the plot. The noisy measurements are plotted in with a dotted red line, and the filter results are in the solid blue line. Both are quite noisy, but notice how much noisier the measurements (red line) are. This is your first Kalman filter shown to work!\n", - "\n", - "\n", - "#More Examples\n", - "\n", - "Before I go on, I want to emphasize that this code fully implements a 1D Kalman filter. If you have tried to read the literatue, you are perhaps surprised, because this looks nothing like the complex, endless pages of math in those books. To be fair, the math gets a bit more complicated in multiple dimensions, but not by much. So long as we worry about *using* the equations rather than *deriving* them we can create Kalman filters without a lot of effort. Moreover, I hope you'll agree that you have a decent intuitive grasp of what is happening. We represent our beliefs with gaussians, and our beliefs get better over time because more measurement means more data to work with. \"Measure twice, cut once!\"\n", - "\n", - "So I didn't put a lot of noise in the signal, and I also 'correctly guessed' that the dog was at position 0. How does the filter perform in real world conditions? Let's explore and find out. I will start by injecting a lot of noise in the RFID sensor. I will inject an extreme amount of noise - noise that apparently swamps the actual measurement. What does your intution tell about how the filter will perform if the noise is allowed to be anywhere from -300 or 300. In other workds, an actual position of 1.0 might be reported as 287.9, or -189.6, or any other number in that range. Think about it before you scroll down." - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "sensor_error = 30000\n", - "movement_error = 2\n", - "pos = (0,500)\n", - "\n", - "dog = DogSensor(pos[0], velocity=movement, noise=sensor_error)\n", - "\n", - "zs = []\n", - "ps = []\n", - "\n", - "for i in range(1000):\n", - " pos = update(pos[0], pos[1], movement, movement_error)\n", - " \n", - " Z = dog.sense()\n", - " zs.append(Z)\n", - " \n", - " pos = sense(pos[0], pos[1], Z, sensor_error)\n", - " ps.append(pos[0])\n", - "\n", - "\n", - "p1, = plot(zs,c='r', linestyle='dashed')\n", - "p2, = plot(ps, c='b')\n", - "legend([p1,p2], ['measurement', 'filter'], 2)\n", - "show()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "display_data", - "png": "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\nSUVORK5CYII=\n", - "text": [ - "" - ] - } - ], - "prompt_number": 16 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this example the noise is extreme yet the filter still outputs a nearly straight line! This is an astonishing result! What do you think might be the cause of this performance? If you are not sure, don't worry, we will discuss it latter.\n", - "\n", - "Now let's lets look at the results when we make a bad initial estimate of position. To avoid obscuring the results I'll reduce the sensor variance to 30, but set the initial position to 1000m. Can the filter recover from a 1000m initial error?" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "sensor_error = 30\n", - "movement_error = 2\n", - "pos = (1000,500)\n", - "\n", - "dog = DogSensor(0, velocity=movement, noise=sensor_error)\n", - "\n", - "zs = []\n", - "ps = []\n", - "\n", - "for i in range(100):\n", - " pos = update(pos[0], pos[1], movement, movement_error)\n", - " \n", - " Z = dog.sense()\n", - " zs.append(Z)\n", - " \n", - " pos = sense(pos[0], pos[1], Z, sensor_error)\n", - " ps.append(pos[0])\n", - "\n", - "\n", - "p1, = plot(zs,c='r', linestyle='dashed')\n", - "p2, = plot(ps, c='b')\n", - "legend([p1,p2], ['measurement', 'filter'], 2)\n", - "show()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "display_data", - "png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAEACAYAAABfxaZOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlYlFX7wPHvIFhamggKChgGAuJublgqipCZuJapZa69\nlWnZa5rZpr9XBctMfdtz421RW9VKyRVb1MxwKXEXBBFIRVxRtvP748goyD4DMzD357rminnWMw95\nz8N57nMfg1JKIYQQwibYWboBQgghKo4EfSGEsCES9IUQwoZI0BdCCBsiQV8IIWyIBH0hhLAhJQr6\no0ePxsXFhRYtWhiXTZ48maZNm9KqVSsGDhzI+fPnjevCwsJo0qQJfn5+rF+/3vytFkIIUSYlCvqj\nRo0iMjIyz7KQkBD279/P3r178fHxISwsDICYmBhWrlxJTEwMkZGRjBs3jpycHPO3XAghRKmVKOh3\n6dIFR0fHPMuCg4Oxs9O7d+zYkZMnTwKwevVqhg4dioODA56ennh7e7Nz504zN1sIIURZmKVPf8mS\nJfTu3RuAU6dO4e7ublzn7u5OYmKiOU4jhBDCRCYH/VmzZlG9enWGDRtW6DYGg8HU0wghhDADe1N2\nXrZsGWvXrmXTpk3GZW5ubiQkJBjfnzx5Ejc3t1v29fb25tixY6acXgghbI6XlxdHjx4t+wFUCcXG\nxqrmzZsb369bt075+/ur06dP59lu//79qlWrVuratWvq+PHj6p577lE5OTm3HK8Up67y3njjDUs3\nwWrItbhBrsUNci1uMDV2luhOf+jQoWzdupUzZ87g4eHBjBkzCAsLIyMjg+DgYAACAgJ4//338ff3\nZ/Dgwfj7+2Nvb8/7778v3TtCCGElShT0ly9ffsuy0aNHF7r9tGnTmDZtWtlbJYQQolzIiFwrEBgY\naOkmWA25FjfItbhBroX5GK73EVX8iQ0GLHRqIYSotEyNnSZl75SHunXrcu7cOUs3Q1iAo6Mjqamp\nlm6GEFWa1d3py18Atkt+90IUz9R/J9KnL4QQNkSCvhBC2BAJ+kIIYUMk6AshhA2RoC/K3bJly+jS\npYulmyGEQIJ+lZWVlWXpJgghrJAE/VLw9PRk7ty5tGzZklq1ajFmzBhSUlJ48MEHueuuuwgODiYt\nLQ2AHTt20LlzZxwdHWndujVbt241Hmfp0qX4+/tTu3ZtvLy8+Pjjj43rzpw5Q58+fXB0dMTJyYmu\nXbsa19nZ2XH8+HHj+5EjR/Laa68BEBUVhbu7O2+++SYNGjRgzJgxKKUIDw/H29sbZ2dnHn30UeMY\niLi4OOzs7Fi2bBmNGjXCycmJDz/8kD/++IOWLVvi6OjIhAkT8nz+JUuW4O/vT926denVqxfx8fF5\n2vbRRx/h4+ODo6Mj48ePB+DAgQM888wzbN++nVq1alG3bl1z/TqEEGVhUrk2ExR2ags2qVienp4q\nICBA/fPPPyoxMVHVr19ftWnTRu3Zs0ddvXpV9ejRQ82YMUOdPHlSOTk5qXXr1imllNqwYYNycnJS\nZ86cUUop9eOPP6rjx48rpZTaunWrqlmzptq9e7dSSqmpU6eqp59+WmVlZamsrCz166+/Gs9vMBjU\nsWPHjO9HjhypXnvtNaWUUlu2bFH29vZq6tSpKiMjQ6Wnp6v58+ergIAAlZiYqDIyMtRTTz2lhg4d\nqpTSVVMNBoN65pln1LVr19T69etV9erVVf/+/dXp06eNn2/r1q1KKaVWrVqlvL291cGDB1V2draa\nOXOm6ty5c562hYaGqvPnz6v4+HhVr149FRkZqZRSatmyZer+++8v9vpa8+9eCGth6r+TynmnP306\nGAy3vqZPL/n2hW1bjAkTJlCvXj0aNmxIly5dCAgIoFWrVtx2220MGDCA3bt38/nnn9O7d2969eoF\nQM+ePWnXrh0//vgjAL1796Zx48YAdO3alZCQEH7++WcAqlevTlJSEnFxcVSrVo377ruvyPaomwZp\n2NnZMWPGDBwcHLj99tv56KOPmDlzJg0bNsTBwYE33niDr7/+Os+cxa+99hrVq1cnODiYWrVqMWzY\nMJydnY2fb8+ePQB8+OGHvPzyy/j6+mJnZ8fLL7/Mnj178sydMHXqVGrXro2Hhwfdu3c37qtkwJUQ\nVqPyBn2lbn0VFfRLum0xXFxcjD/XqFEjz/vbb7+dS5cuceLECb766iscHR2Nr99++43k5GQA1q1b\nR6dOnXBycsLR0ZG1a9dy9uxZACZPnoy3tzchISF4eXkxZ86cEretXr16VK9e3fg+Li6OAQMGGNuQ\nW+46JSWlRJ+nRo0aXLp0CYATJ07w/PPPG4/l5OQEkGcqTFdXV+PPNWvW5PLlyyVuuxCiEBMmwN69\nZjtc5Qz6VuTmu9jceQM8PDwYPnw4586dM74uXrzIlClTuHbtGoMGDWLKlCn8888/nDt3jt69exuP\n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\nsR0zH80AAAAASUVORK5CYII=\n", - "text": [ - "" - ] - } - ], - "prompt_number": 17 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Again the answer is yes! Because we are relatively sure about our belief in the sensor ($\\sigma=30$) even after the first step we have changed our belief in the first position from 1000 to somewhere around 60.0 or so. After another 5-10 measurements we have converged to the correct value! So this is how we get around the chicken and egg problem of initial guesses. In practice we would probably just assign the first measurement from the sensor as the initial value, but you can see it doesn't matter much if we wildly guess at the initial conditions - the Kalman filter still converges very quickly.\n", - "\n", - "What about the worst of both worlds, large noise and a bad initial estimate:" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "sensor_error = 30000\n", - "movement_error = 2\n", - "pos = (1000,500)\n", - "\n", - "dog = DogSensor(0, velocity=movement, noise=sensor_error)\n", - "\n", - "zs = []\n", - "ps = []\n", - "\n", - "for i in range(1000):\n", - " pos = update (pos[0], pos[1], movement, movement_error)\n", - " \n", - " Z = dog.sense()\n", - " zs.append(Z)\n", - " \n", - " pos = sense (pos[0], pos[1], Z, sensor_error)\n", - " ps.append(pos[0])\n", - "\n", - "\n", - "p1, = plot(zs,c='r', linestyle='dashed')\n", - "p2, = plot(ps, c='b')\n", - "legend([p1,p2], ['measurement', 'filter'], 2)\n", - "show()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "display_data", - "png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEACAYAAAC3adEgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsXXl8DOcb/+5uEhIRIiKJJAQRSqm77qaOOErw01JHna2j\nBz0VratVVFWpVvVQZ51VV0uqSrSOoipF1RVBEhFEhCQix87vjydP3ndmd3PZkNR8P5/97O7szDvv\nvLPz3IdBURQFOnTo0KFDRzaMD3oCOnTo0KGjeEFnDDp06NChQwWdMejQoUOHDhV0xqBDhw4dOlTQ\nGYMOHTp06FBBZww6dOjQoUOFfDGGYcOGwcvLC/Xq1cvZNnXqVPj5+aFhw4Zo2LAhtm/fnvPbzJkz\nUbNmTdSuXRs7duzI2X7kyBHUq1cPNWvWxNixY+14GTp06NChw17IF2MYOnQowsLCVNsMBgNef/11\nHD16FEePHkWXLl0AACdPnsTatWtx8uRJhIWF4cUXXwSnSowePRqLFy/G2bNncfbsWYsxdejQoUPH\ng0e+GEObNm3g7u5usd1abtzmzZvRr18/ODo6IiAgAIGBgTh48CDi4uJw+/ZtNGvWDAAwaNAgbNq0\n6R6nr0OHDh067I178jEsWLAAjz32GIYPH46bN28CAC5fvgw/P7+cffz8/BAbG2ux3dfXF7Gxsfdy\neh06dOjQUQQoNGMYPXo0oqKiEBERAR8fH7zxxhv2nJcOHTp06HhAcCjsgZUqVcr5/Pzzz6N79+4A\nSBOIjo7O+S0mJgZ+fn7w9fVFTEyMaruvr6/VsQMDAxEZGVnYqenQoUPHQ4kaNWrg3Llz9zxOoTWG\nuLi4nM8bN27MiVgKDQ3FmjVrkJ6ejqioKJw9exbNmjWDt7c33NzccPDgQSiKghUrVqBnz55Wx46M\njISiKPpLUTBlypQHPofi8tLXQl8LfS1yf9lLoM6XxtCvXz/s2bMH169fh7+/P6ZNm4bw8HBERETA\nYDCgWrVq+PLLLwEAderUQZ8+fVCnTh04ODhg4cKFMBgMAICFCxdiyJAhuHPnDrp27YrOnTvb5SJ0\n6NChQ4f9kC/GsHr1aottw4YNs7n/xIkTMXHiRIvtjRs3xvHjxwswPR06dOjQcb+hZz4XcwQHBz/o\nKRQb6GshoK+FgL4W9odBUZRi16jHYDCgGE5Lhw4dOoo17EU7Cx2V9CBQoUIFJCYmPuhp6LjPcHd3\nx40bNx70NHTosC8aNwZ27gSsJA8/aJQoxpCYmKhrEg8hOHhBh47/FC5dAjIzH/QsrEL3MejQoUPH\ng4DRCGRlPehZWIXOGHTo0KFDi6ws4NSpoj3H1atAWlrRnqOQ0BmDDh06dGiRlAS0aFH05zGbi/4c\nhYDOGHTo0KFDC7MZyC4MWqQopj5TnTHoeGBYunQp2rRp86CnoUOHJe7evT/n8fcv2P5xccCNG0XO\nUHTG8JAhs5hGQejQ8VCBCbujo3r7tm1Aerrt4ypXBjw8gFatim5u0BmDXRAQEIA5c+agfv36KFu2\nLIYPH474+Hh06dIF5cqVQ8eOHXP6Vfzxxx9o2bIl3N3d0aBBA+zZsydnnCVLlqBOnTpwc3NDjRo1\n8NVXX+X8dv36dXTr1g3u7u7w8PBA27Ztc34zGo04f/58zvchQ4Zg0qRJAIDw8HD4+flh9uzZ8PHx\nwfDhw6EoCmbNmoXAwEBUrFgRffv2zckPuXDhAoxGI5YuXYoqVarAw8MDixYtwuHDh1G/fn24u7vj\nlVdeUV3/t99+izp16qBChQro3LkzLl26pJrbl19+iaCgILi7u+Pll18GAPz7778YPXo0Dhw4gLJl\ny6JChQr2uh06dNw7ijpEmhmD9jz9+gGpqXkfbzLZf04ylGIIW9MqptNVAgIClBYtWihXr15VYmNj\nlUqVKikNGzZUIiIilLS0NKVdu3bKtGnTlJiYGMXDw0PZvn27oiiK8ssvvygeHh7K9evXFUVRlJ9+\n+kk5f/68oiiKsmfPHsXFxUU5evSooiiKMn78eGXUqFFKZmamkpmZqezduzfn/AaDQYmMjMz5PmTI\nEGXSpEmKoijK7t27FQcHB2X8+PFKenq6cufOHWXevHlKixYtlNjYWCU9PV0ZOXKk0q9fP0VRFCUq\nKkoxGAzK6NGjlbt37yo7duxQnJyclJ49eyrXrl3Lub49e/YoiqIomzZtUgIDA5VTp04pWVlZyvTp\n05WWLVuq5ta9e3clKSlJuXTpkuLp6amEhYUpiqIoS5cuVVq3bp3n+hbX+67jP4z4eEUpyv+d2awo\nf/xhud3VVVFu3bJ9HKAoBoOiPPGEjZ/tM+f/lsYwdSpxYO1r6tT8729r3zzwyiuvwNPTE5UrV0ab\nNm3QokULPPbYYyhVqhR69eqFo0eP4rvvvlNVle3QoQOaNGmCn376CQDQtWtXVKtWDQDQtm1bhISE\n4LfffgMAODk5IS4uDhcuXIDJZEKrPFRJRbJBGo1GTJs2DY6OjihdujS+/PJLTJ8+HZUrV4ajoyOm\nTJmC77//HmYpQmLSpElwcnJCx44dUbZsWfTv3x8VK1bMub6IiAgAwKJFizBhwgTUqlULRqMREyZM\nQEREhKonx/jx4+Hm5gZ/f388+eSTOccqxdTxpkMHKlYUnzMygK5d7Tu+wQA8/rjl9qwsym+whS++\nIBpVxBrDf48xEE9Vv3JjDPndNw94eXnlfHZ2dlZ9L126NJKTk3Hx4kWsX78e7u7uOa99+/bhypUr\nAIDt27ejefPm8PDwgLu7O7Zt24aEhAQAwFtvvYXAwECEhISgRo0a+PDDD/M9N09PTzg5OeV8v3Dh\nAnr16pUzBy6RHh8fn6/rcXZ2RnJyMgDg4sWLGDt2bM5YHh4eAKBq2+rt7Z3z2cXFBSkpKfmeuw4d\nDwQGA1CzJtGEmzeB7dvvz3nN5tyJ/qhRxFB0xlAyIUvDXNLB398fzz33HBITE3Net2/fxrhx43D3\n7l307t0b48aNw9WrV5GYmIiuXbvmjOPq6oo5c+YgMjISW7Zswdy5c7F7924ARGxTJbtkXFycqoyE\ntqRElSpVEBYWpppHamoqfHx8CnydVapUwVdffaUaKyUlBc2bN8/zWL3UhY5iC4MBOHOmaH0NPXsC\nx46pt929C9y6lftxZ88Cv/xSdPOCzhjuC5i4Dxw4EFu3bsWOHTuQlZWFtLQ0hIeHIzY2Funp6UhP\nT0fFihVhNBqxfft27NixI2eMH3/8EefOnYOiKHBzc4PJZIIxW+Vs0KABvvvuO2RlZSEsLCzH/GQL\no0aNwsSJE3OcxNeuXcOWLVsKdU2jRo3CjBkzcPLkSQBAUlIS1q9fn+txfKyXlxdiYmKQkZFRoHPr\n0HFf4VBEJeUuXwbu3LHcnlf+RJs2QHbHzKKCzhiKCFqJ3WAwwM/PD5s3b8aMGTNQqVIlVKlSBR9/\n/DEURUHZsmXx6aefok+fPqhQoQJWr16NHj165Ixx7ty5HHt/y5Yt8dJLL+GJJ54AAMyfPx9bt26F\nu7s7Vq1ahV69etmcCwCMHTsWoaGhCAkJgZubG1q0aIFDhw7Z3D+36+vZsyfefvttPPvssyhXrhzq\n1auHn3/+2eZYvBYA0L59e9StWxfe3t6qHuI6dBQrlCkDrF1r/3FNJstaSYGBeWspBoOIaoqOBt59\n1+5TK1H9GPQ+DQ8n9Puu474jIwOIigKCgopm/NRUYji//w60bi2216oFbN4M1K5t/bi4OGDPHmD6\ndODECeCrr4CRI3MYxUPZj0GHDh067gvi4oD27UkiLwpwoqlWYzCZcq+fNGYMcPgwMZUihG5K0qFD\nhw4tFAWIiSm6Incs1WsZg9GY+zm//x6IjRX7FJFzXGcMOnTo0KEFE25rzmF7gAm7toLrqFEihyIl\nhUxNWgQEAN98Q591xqBDhw4d9wnMGPj9ySfJ72AvmM3U0tPZWWzLzASqVQM472fVKkAqfZODc+eA\nL7+031ysQGcMOnTo0KEFMwQuvx0ebl+zkqJYZjinpFCtJEZgIJAdeWgBTnDjaL4zZ4DsOmT2gM4Y\ndOjQoUMLzl1QFFHUzp6MoVw5QArrzhlfzmhWFNumIt6ve3fSNIKCgM8+s9v09KgkHTp06NCiShUi\n3mazYAj2ZAyOjkDjxupt2jpJ1hjDyy8Dfn4AV1M2GIqkPIauMejQoUOHNdSsqU4mK+pcmvxoDAsW\nUKiqXiupZOD06dNo0KBBTrmKDz74AAD1Q/AvaJcmHTp0PHgcPgyUL6/2N2hx8CBw/Xrhxn/lFSC7\nsjIA0hiuXQMuXqTvQUHASy9ZHnflClVZLULojMFOmD17Ntq3b49bt24hKysL77zzjtX9AgICsGvX\nrvs8Ox06dBQazBBcXCx/a94cmDKlcONeu6YumMcVkKOi6F0btcQYMYLMSUUInTHYCRcvXkSdOnXy\n3O9eUtblAnQ6dOjQYPRodVSPvVCxIrBxo+1ierm14swNd+8CFy6I7x4eFBbLSW/x8dYjjWTz1u3b\npHlkZhZ+HlagMwY7oF27dggPD8fLL7+MsmXLYsCAATmtNWU899xzuHTpErp3746yZctizpw5AHJv\n9xkcHIx3330XrVq1QpkyZRDF0oQOHTrU+PZbYM0a+4x19y7lCwCAqyuVyLaF3Brr2EJcHLBpEzBx\nonq7XBLDwcEyMzotDdi7VzCG1q0pGsnREXjmmYLPwwZ0xmAH7Nq1C23atMHnn3+O27dvw8nJyWqF\n0hUrVqBKlSr48ccfcfv2bbz55puIjY1Ft27dMHnyZCQmJmLOnDno3bt3ToMeAFi5ciW++eYbJCcn\no0qVKvfz0nToKDnw9KRIInvg3DkgNNT6b/v3A/Pni++FyT5OS7O+3WgUzMBkEjWVGAsWAP37C8Yg\n93OwY3nw/xRjsNbVszAveyC/Jp+VK1fm2u7TYDBgyJAheOSRR2A0GuFQVLXhdTw86NEDCAt70LOw\nP159FXj+efuMpShk67eW7RwdTcyBYU1jSEjIPYrJ1m95aQzjxtG7NUe4HWnDf4rKlETzO7f73Lp1\na862zMxMtGvXLue7HtWkw664e7dkPix5oU8fujZ7QFFIqr9yBdA+f9pCd25ulsf7+JD9v1Qp6+Pb\nqpXUrx9QowZ9Pn2azm8N1vpD6Iyh+MNWsxtrbTafe+45fPXVVwUeS4eOQiG3jNqSjPyaWRMSyNGb\nG+TchWPHSBtZs4ZKUMiMITGR7PtaGI3WmW9mJh1jLQT21i3A15d6MgDkh7CF336zLJehm5KKN3KL\nHvLy8kJkZGTO99zafcrj6dBhN/xXGUN+cOaMqF6aG2TG8NhjwO7dQhs5eBD44Qf6XL68ZW+EO3do\nX2vmng8/JOayYQN9l7WRCxeAsWPFd1dX4KmnrM/PWoJb6dJ5XlZ+oTOGIoDcvpK/MyZMmIDp06fD\n3d0dc+fOzbXdp7XjdegoMH77Dfj6a/H9YWYMct5AbmATkEzc+XN2f3ObYIdxgwaWiWjc+GfrViAi\nApD7o1vLfNb6L/i7vP3CBTI52bHiqm5KshN2796d83nJkiU5n4ODg3Hp0qWc76GhoQjVRDs0a9YM\n4eHheY6rQ0ehEBkJ7NsHvPACfT98OHczRUnF+fMUmVS2rO198ssQa9emvgeyts6MoVEjWtPffwd+\n/RWYOlV9LO8XGAhUqECff/2Vmuy0bk0E3NGRNJHXXgNatqRQU22tJLPZcr6DBlHim4ODmFtGBuU/\ncP0kO0DXGHTo+K9Da+9u08Z6Rm1xAkcFFQSjRqmjhazB15f2yw9q1FDb7XkNK1cm+/4nnwDTplke\nx5FEmZni+KQkkup9fEgbYa3i2jURumqrVlJCApCcTNuWLKGxypcXjMTBwe6d5nTGoEPHfx3aKJrS\npYu/KSkiAujdu2DH/PILsHBh7vt4e+e/ztDOnWqHtlxl1WAQ5iZtJFRWFjm3nZ0Foc/Kos/79xMz\nkXs+y/v8+afITahXDxg+nHwSspXh4kVg5Egaw9FRnftgJ+iMQYeO/zq++QZYuVJ8NxiKrpexvZCZ\nWbiMYtmcEhlpXwbo60vvbPvnEjgffaTez2wWxJqJPmsDCxZQGOvBg7Q9KUloDOXL03tEBL0HBhLT\nCQ0FmjQR42/YQEwnI4O0BTn3wU7QGYMOHf91aLNn5Vo7xRXWHK/5gWz6YUfvveLiRYpCYvNb69bA\n008DL75I37V9oStWBI4cEYxh5EiqtWQ0kukoJYX2u3sX2L4d4FD12rWBwYPV0n///qS1yJFUvC6s\nMbzwApma7Nh6VGcMOnSUJBgMZOIoCFq0ILMEw1aMfXGCNccrY/Jk4MYN67/Jx9zLNaamCu2jShWg\nVy/x22OPkbOXcyG0DMxkojDUBQuAxx+nstxXrgB//UW/e3qSA7tNG8vzaqV/Bwe6Jpm5M2MvU4ba\njm7fTtFW06cX/no10BmDDh0lDQUleFWrqpvKN25MDtTijNw0hvffJ3+CNcix/M7ORMC149piKoyb\nN4no2qrU+s8/aqezLQY2axZpGllZZBbiFqFz59Lnf/+l7x07imO0/gKOPsrMpNfKlYKxc5lueV87\noUQxBnd395wcAf318Lzc3d0f9F+v+KBRIxECmV9o8xZ+/rn4O59z0xgAS/MYACxdSl3XGM2bA9re\nJ/nJek5MpPeLF62X2Lh+XT2uNQbGYzBR9/QU5qCEBCp3wZFGctkMrcZgMgEDB9IrPZ16MRhs+Ige\n1pIYN/Li9Dp0/NfBjs2CQiay97NW0ttvk4SvlW7zAodjWkOlSpQ8pkVICNC0ae7jnj5N79bWccoU\nYMAAkQcRH0/716+v3o+jvHgN164Fhg6lbdWq0bZHHiEzktlMXdquXVP7AOT15+vcs4cynb286PuR\nI6S9BAQQY0lOpvvo5KTu/MZ4WDUGHToeehSGMYwerY6cKWzm8+DBwHvvFeyYb7+lyJuCwmi0fVyf\nPpTkpYWPj4gUsgUmwtaYznvvUZ6ArI0oCkUQDRhA5TR4bqzRJCQAp05RWOk336jnDwjJPjLStnOY\nzV/BwUT8mzWj78zEpk0jLY/NayYT0L49JbvJ0BmDDh0PKTp1sk4Uc4Ojo9pcUVjG8NtvwI4dBTvG\nWk+B/MCQS+TUggWF95EwQ7AV3smmH4bZTCapVasozBSgukn79xMj4FIjTk4i3PTsWZFZrijAkCHk\naLZ2PW3bklbFyG7elXNsv37A1aukOWiFgr//Vo9lq5JrIZAvxjBs2DB4eXmhnhTZcOPGDXTs2BFB\nQUEICQnBzZs3c36bOXMmatasidq1a2OH9Ec6cuQI6tWrh5o1a2KsXCxKhw4d+cPs2XlXEb17V9iv\nAYqG+fhj8Z0ZwyefCAdoftCsGbWRLAhMpsIlX+XGGAqChAQqOcHg4nVZWURs2WzD8PIi0w3nGVgr\nicHRRXFxQGwsmZ7i40VyHeclbNlCDX88Pcmv8cQT6qS9SpXIfCRDNrnxfTKbyadRvryaofNYZ8/S\nPDh81g7IF2MYOnQowjSNPWbNmoWOHTvizJkzaN++PWbNmgUAOHnyJNauXYuTJ08iLCwML774Yk5B\nuNGjR2Px4sU4e/Yszp49azGmDh068sDEiSIByhYGDlTHvcfGkpTLiIigGP9x4wAbNbqsIi+HsDVY\nazaTH2iztfODf/9VO4uTksg/cOCA2LZoEb2bzRT2evWq+E1RqHaRwUBMsFEj60X0atSg37KyaJuj\nI5l9uH8z71euHGkLJhNpW9Wq0XfGo48ScWcmpAUzhqwscf/69xe/cxBClSrEzOyIfDGGNm3aWESG\nbNmyBYMHDwYADB48GJs2bQIAbN68Gf369YOjoyMCAgIQGBiIgwcPIi4uDrdv30azbPvZoEGDco7R\noUNHPnHoEDkyc8Mjj6gbwGiJbO/eFPfevn3BCEphTFBFYUqyhaeeAmJixPfPPwcuX1bvk5VF6+Pq\nSiap3BAQYGmCA8iUFxJCY7m6km+Ck9b4HPxuMtHr6lXSXmrWFGaw2rVJ65DXRy7hzeu9eTNpBYC6\n5MfIkVRCw2jEyaxaVss2FRaF9jHEx8fDK1sN8/LyQnx8PADg8uXL8PPzy9nPz88PsbGxFtt9fX1V\nPQd06NCRD+QnOc3fn+LmbR3DtZK0RdvywvDhQMOGBZuvi4v1RjZ5ITradv/mQYOobLUWUVEUrcTm\na1sax4AB9J5bf2h3d+C779SJgTweO4EzM6l720svEZEHyNmelUW5Ir6+tL59+lBZC6ORKttOnkz7\nvvyyuAeHD5OvITqaqrYCFGE1cKC4d/Lad+wIODjgx7jGCO5gQgvz3jyjcAsCu7ixOd7cnpgqlbIN\nDg5GcHCwXcfXoaNEIj8mFu0+CxaoezwzUyhohFOXLgWbK0CSbqVKBT8uPZ3MYSkpwKVLJOUzNmwA\npNa3KiQnAydOkESfm4MZyF2TuXvX0gT26KP0zia1rCxiBGlpJMm3a0dEvW5dwThu3yZz1iOPkNaw\nerXQGDgENSUF6NCBtlWsSIzNbCafREwMVYONiSEHOKgdxKSdo3C5JXD6dDhatAjHy/gA169NzGVB\nC4ZCMwYvLy9cuXIF3t7eiIuLQ6Xsm+/r64toqUZJTEwM/Pz84OvrixhJzYuJiYEvF6WygqnaGuc6\ndOigsMXhw3PfR8sYtASQNQht/f+8EBtL/glbXcWsobA1j/i4f/8lwvjnn+K31FRy9toC1zTKi4E6\nOQmCrIXsNI+MJGrMvZ3ZjBQQQNrQ0qXC3l+qFGktmzeT0/vxx2n7c88BK1bQ51at6N3dnbKo33mH\nzEJffUWhxampQNeuxDTGjaMw1vLlgU2bcDylOkKmtcIrhr/wwhMeaL+9KRzf3wpsywTeeQfTChpO\nbAOFNiWFhoZi2bJlAIBly5ahZ8+eOdvXrFmD9PR0REVF4ezZs2jWrBm8vb3h5uaGgwcPQlEUrFix\nIucYHTp0FADXr6u/f/edOuqoTRs186hbV50QxhrD5MlCCs4PTp9Wnyc/KIzDWj7OllaTm0P7+HH1\nPtoENTYPtWsHfPopOanHjCEndUwMOeSTk0WtpOrVgW7d6POFC/Rby5Yk+fv4kPknLY3MRU5OxBx8\nfIiJM+QosfR0ukfDhtH3ixdJS1AUYkguLrT99m2YTY6IS3HD/JMd0WdQKQS/VAdz5wITjR+i85K+\ncKxXm0psAFSoz07IF2Po168fWrZsidOnT8Pf3x9LlizB+PHj8csvvyAoKAi7du3C+PHjAQB16tRB\nnz59UKdOHXTp0gULFy7MMTMtXLgQzz//PGrWrInAwEB07tzZbheiQ8dDA06AYly5onayBgZSBVCG\nt7e6Hk/9+lQ/6dQpIkr5RWEihe5VYygMY+B+C25uQM+e6uPLlqWQVIOBMpbPnSMJfd06IvZz5xLh\nBtQRRIwXXiAt4/XX6TuP7eFBa75gATmZAWDxYnFcnz7i8+HD5Pxnh7LZDERF4Qbc0ebboWjy9UgE\n3T2GJm2c4fLX76iyeDKOJFRF2zJ/YYu5G5VwMhopYU52ttux+VK+TEmrV6+2un2njSqPEydOxMSJ\nlvauxo0b4zhzcx06dBQcPj70kqElnuvXk6nl5ZfpuzaaaPlyImDLlxNBy6uMBEPLGK5do6garUSu\nnVtBNAa+Fj4uNdV6j2Vr/oGffiIzF6/FW2+RFsBEHCDzDUdspaeTyWbYMGGakhPcLlyg87u4AHv3\nUmtO/u2nn4iJsNncbBahsnfvioQ0hpyQV6UKrV1SEg6gObZcDcV+tMQx1McwjwiE3lkLhyvHcSB0\nG1op49B8UkcYvL2AWceBbdkd6gwGwcAYD0Pmc24mRB06kJwMdO/+oGdx/2FNgv7jD5J+f/yRHLXR\n0Zb9f63VSrJVjM0WvvxSmGkAcqQ+9ljex3HGcLt2ZE+3hXPnRDXUOnXoWi5dEsczXFyEGQYA5s+n\n1+OPk9QvO6ozM9WRV1OmiM9Dh9JayB3dFEWUrkhKovBggPo6z58vSm7wunFk5a+/Cuf8hQtkojt3\nToz73Xfi86VLwOXLGJcyGT2wGY7IwDjMxinUxsetN+KJkFJohf14s842tDj+FQzOpYHOndXMcNs2\ncU89PCiD+mFgDHv3PugZ6CjWyMh4OP8k1hjDP/8QM/j8c/qsldJff11dJpqZQkFzBbZuJUmYkZ+e\nzK1bi1aViYk0t8xMQVgHDRKEPyFBNL1xcaEoHldXyzGffVaUn+DjkpKIQE6dqtaosrLUBFM2QfEa\n+fuLbcwY+LxmM0Ua/forfe/fnyKQeP59+9L7+vUUolqtGoWvakPxpaTERJTHuBa/Yb2hL06jFt7D\nFDyFbfDCVYpUat+eduRaSS+9RJrLjh3Cyd2+vZhD6dLE/B4GxsChvDp0WEVhnZolFcnJwPjxQI8e\n6p4DMhwciOhqTUfsEGXIjGHbttzPKzOCSpXUfR3y4zvgBLejR4k41qtHUvfAgfT7ihXCVCTPm5lW\n06aWJUAWL1bnIHz7LWkC771H1yqbWLQaAzMGT0/hC9BWPZWPSU9XX3OrVrT/+fPAu+9SkxwZDg6C\nCcTEUKe37L7N51ADo71/gBficSWwDX67UAXutbzUTG7jRvpv9+hBvqERI9Qd4uR9uV+EotB5C5Mv\nYgPFtuz2wygM6igAClsIrqQiIYGIqLWk0OefJzPSjz9Sb+B//qE6PVyQ7dw5avDCIeC8dmvW0HcO\no9RCUcgmz2Gt1asDb7whfs9PchyHfTJjcnYm7YZLW5cqJQi/3Cv5+HHhgM6rpAabWKZMofBWDgcF\niGDu2iWykNk0FB5O0VoAXeOVK/TZ35+0AG9vMmtZq4jKJTYuXKBxW7akonqvv54jtWfAAWF/eiPe\ndzDupHpg64+3cQjN8FKba4jdXhuey88DMFAAQLVqggFXry7WYfRomosc0ST/57/5hsxXNWsS0/b0\nzH2dCoBiqzGcOmVpWtShIwcZGXl34ippuH7ddtKVwUDEYtYsy8Jrvr5EyBjaBjPXr6sl25MnKTY/\nLxgMJIUycdRGGOWHMXOtJA7BdHYmAs75A66uwgTCDGvbNpGglp9G98ygfHyISM6YQd9v3ACyQ+pz\n1pWJrLyCvzUgAAAgAElEQVTOrIFFRZHD2mCg3IEOHdT7sUTu4UHMh2slGY24iCqYsrwG/G78jVBs\nhhMy8AY+xrfxXbHhSFUMxjLEwhcfDD8PT0Wqz9S0qTB3bdlCDFw2F5rNao1Bm63duzc5/x97zDKM\n+R5QbBlDo0bkU9OhwyqKe8/iwqBtW2FX1oJNKxERlvV/tMRzwAB1foI2mmj0aNIipBI1NuHkJBiD\n1nzHtvzLl0XbSi3YlMSMwdubtAWW+liST04mCfj4cWIeNWqI9pV55VowY4iLU0vXkyZR8hnPPSOD\nCH96urpkSHAwOZY5gY3h76/WithJ7exMpp6sLJz2CUa3W9+hPo4hIbMcVq1zRHv8itMIwhnUwv69\nCsJfXI8BWIUySCUmJN+LmBjKpahZk7KeS5emyKqvvlJfG4MT5rQoTChxLii2jKFNG93PoCMXFLS9\nZUlAbiUqmDFYq5XUoAFl1gJAUBBl5HInMUAcEx9PzWa4VpKrq3Cq2oKjo7DZv/IKUKuW+K1vXyrd\nPXSo9YeVr6d8eVH4r0EDOi8T8OefJ0J79y7lElSoQKawyEjyRXCJCBlz59I52awmRzqVLy98BzKh\nzMoiibp7d7omOdT+k0+AXr3U/6nGjclsJhPi4cOB2Fgoc+bg4s1y2HSpEdosGYoW3T1x6pH/4bOk\n59DW5U+M7XMFQZ+NFQlrcuSWqysgFw/NyqLw2X//JZ/FkSN0T3gufftSlBV3bGMNplcvtUklPya3\nAqDYMobWrXXGoCMXsM36v6Q55JYMxsTdWohpUBARvKpVichopccPPySCExYGTJ+uHkObE6GFbErq\n2VMdwePqCrz6KhH59HRg3jzyczBSU6lcdKtWIplr3TrSaJYsoe8ffUSMwc2NsocrVRKMaO9e6hqn\nNXutXUuaAGf6enury3Sw6cVsFv0NsrJofDYbyaY3QPRYYGRkEBHOvh9r0QfdugGv976AR3ECjeY9\nhzlnQ7Hi1b/wznRn+PyU3b0tOprm99JL9D0hQc2kFYWY5ObNYq63btHntDS6T1u2CHOJqyv14Hji\nCfq+ZQu9b9pELVMZ+TG5FQDFljG0bEkJgtocDh06ABQu3LK4IzeNoVQpIrBykpUWHE1jq1YSE4+C\n1EqSGcONG3R+hpsbMYX9+6kcxIYN6mQ0a4zun3/Inq41kSxYQHNLTlb7jpYvVyeoAcKBzLXWunYl\nhiPPGVAzBrOZGFWZMqSd+PhQ2GmjRuJ3GSYTlMwsnEvyxGuDb2C81xI88wxQ6uw/mIGJuLTjNPb+\n6YxOr9cl7YOlWG0XtYoVSYPLblGAbt2o8xqbDJOTKbpo2jRaR5b833yTfv/8cwrz5XLczEQAdbvW\ntLTClTe3gWLLGMqVIzOglpHr0JEDO9tVHzjOnSOJ0RouXyYzUHq6ZaTMggUkgV+4QH4Ds1lNTKtU\nIQLIRIc1hnnzKCN33Trrndz+/JMSybg6alycOkFMi7171U3qtU5Ufj9+nIgdQJE/rM0AFHUya5al\nj8QaOJvY0VH4MAByXqel0bUysXziCZHFfPo0aRijR5PGAwATJhCxOXcO+PBD/BuRhkd7VEdw6wyc\nT3THb4ddMHgwMNNrHnpgC8q0akCaQLlyFOF06hSNI3dgk009fP3x8ZYCQEqKqHfEzJsd8tevq01E\n2v97kybEGPPq0VFAFFvGAOh+Bh15YNu2wtXhKc6w1TBeJghy3SOAHJhXrxIxiYwks5JcNbR8edrG\noaM1apA6fvUqEcM1aywl/dOnqXz1pUuC2GkZsdxUhiE7p2VnNR+XlUXEmBngnTt0zVrnNWcYV61q\n+x7LzmK5bM+bbxIjdXenfs3t2lE4akoKzTkpSTCM7FpD109fx8rGc9Gv8w20+rw/WmI/+sbORbRn\nY2zeLFnQeC5y5rXRSCaqVq3IL3HgADE/Tn4DRKQUrwWPc+YMaQ1JSWIsOSnPYBBztbbeR47QPVQU\nCnW1E4r1U9WmjZ7PoCMXhIT8txhDcLAwj2ghE5OqVW3/xozl22/F7+ybCAujDN2pU8lWvX8/aQob\nN6pDYM1mIszaRj5axpCSQqYhGTJjkE1JssaQkSHMPSYTaTr79pE5inswr1tHWdGzZqmb3j/9tPgs\nZ/oeOSIK1VWqROaojz8mf8auXSRRly5NjuCnngL+/Rd79wK9Jj+KajiPqriILzESIb4nMalNOCJR\nA5PxPgxpUqjoiy8KIr1kiahgy+uSnk6MJjGRfC1yiDDf1xYt1CY8Hx91ITyTicpncFAA930AKJpL\nDkOW19nOKNZPVevWxBj+S9YCHXbClStUGuG/BLkHgBay9K3NHzh9muoY7d8v6vNw1dRbt8hJaTCI\nJCqWzq9fJ3MKYGmuYIIkM95PPlHX/wFIIudifdq5GY2kbVy5QtpHjRo0JjMGs5nmzOWpO3cm4hoQ\nQA7pAwfIJMTO5+RkYiAAmXH27CHN58knyRfxyCMU5eTqShrDV1+p7e7Nm+Pu7Pn4PP0FdME2PBd6\nEy0yf8dyDMIlVMHvaIuhruvROfUHVKjjQ2YaWZNZtoyYC9dE4vW8c4fmNWECBQKcPUu9uWWwT2zv\nXgpP5fWWS37UrEmZ4TLB++030TbUjj6EvFCsGUPlyqQFs/lOh44c3Llju4l6SUVuPhPebk1DunSJ\niOemTWpJ88oVkdE7fjyp4K+9JiI6ZGYgjytnHMsaw4YN6vmxKcdoBJ55hkwZskTPJqytW4k5ffQR\nlcJITyezCxN8JrApKSRtX7hA9/fSJXUI6Zw5dD1Nm9J4O3YQcwgPJ41g2jTg66+JeCclUQRWVhYU\nAOdRDbt3E+9Zl9kLnfAzTr/5DcbhI7TBXngg2+H988+0jq6ugsGwxmI0EuOZPZu+M6GOjiYHdK9e\npAGw30ILOaRUNgfyOM7OlkUJjUbanpJCjJxNbNwfgu+XnVGsGQOg+xl02EBxqZV06pT1MhWFQW4a\nQ3o61RuS7dZaODhQVu7IkbQ2Pj6kSQAkubPJyZofQ+sbYCYlM4ayZcncxZg0id4bN6beBe3aiTIT\n8jUx4atZkwgfn5/fExOJYmsT2RSFHKsmk9AUADIxlSlDa2KtPpCjIyUCXruGHScqoxH+Qivsw6RJ\nRI93VXgGrzp/BacoK8mEvA5yw5wGDSjayGQixsbd5LZsIabRpo04XlvILiREEDDWlsqXVycX8hq/\n8ILYFhpK7+3bk1bHjJs1jEWLSEPhdbIzij1j0PMZdFjF/aiV9MILecdLz52rjt2/FyxdKspOa/Ho\no0QMs/v+qjBuHBHdmTOJ8CQmCmdnQgIRqzfeUNciAkRMPGDZ9N5oJHv4tm0iPLRiRcqJAGhd3nqL\nPg8aRIT4nXdEvD2DmZ2jo7CzP/aYmkE1bkxZ34pCDIIhay6tW4vY/n37RLE8K4whM7gDYuauxbS0\ncRi6OgQTMBMxo2dg716y8JgaN6CwW2sOzMxMOtekSWT6YqSnC2a5a5fYfvcuxdbXrElJhlqNrlkz\n0TSpfn2ab4UKluVcLlxQm+R4bZjR8rj87utL93j7dtLI7Ixizxh0B7QOq1AUqnBZlAW1vvlGXV0U\nIIIxa5b4ri3rfC8wGCzj4BlGI/2+cKElI6palYg24+pVImROTuQDKFdOVO20pjHUqKFu/QmQKcfT\nkwger4GspWk1m82bhdlKBtdKKl1aELUVK+ic6ekkAaenE9PTaoEZGVQ7iMFM2mAQjIHt7wCyYMKa\nNYDfwol4zHgcJ1EHu/cY0QfrYfKUTFLlyhHDkgsC9u5NZiiAfuvShXwBnIgGCCbl5CQitTi81GAg\nZjNjhggOGDNGnYT299+CMXB2NkMbUMBaFjM+Xjs5HBYgRtq8OeyNYs8YgoJozVlo0VGESEsrOYkj\nbOsu6gxIbRRI6dJqZpScbD/mVKeOJcFgcO7BP/+QdCnDZFL7DZ5/nsxIjz5KDtTDh6lAXEICmUIm\nT1Yf/8svQMOG4ruLC9CpE4VccoJbYiJF/jCDkp2yMTHqmkrauWVmkhNcDi81mWh/k4mk4lq1yLnL\nWgFXCh0zRhzD9Y0qVBCMYeZMKABiURm98AM++IBoeUL1ZliLZxF0Pjs/omVLWoO4OArP7dSJ1olL\nXgwdKpLdZEafnk7zfv99cr67upJQMm8eOclZI3Jyovfq1clUVLUq8L//WbmRsK4xyKhUSVTCZUZp\nNNJL1laKEMWeMRgMpKnKCZc6igi//Sbq5Bd3cGB5UWc+8/gGg8hAlQu1rVtHDl0ZU6YAn32W99hv\nvklOYflchamVVLWqKMFQvz6ZNKpUIf9CrVpizFOn6FjuDezkRHH01apZaj1lypA0zgSYo2x43dPS\niIE0b04PqJwhzUhPJ6bg40Nhsb//TteRkEAE1WQif8ioUUSo//pLSMRywtaJE2Quy7b539i4B18/\nsRKhCUvwP8NG1EAk/BENE7Jw+ERpovVstzcaiUH6+JDZT0tIOHkvKEgwhsaNKVN57VrR/vPdd2ld\nnZ0pFFhRaI0cHIhZtGhB15+RQQwjLMzSrMaYOZPOYQ3nzpFZjzUI7lJozedThCj2jAEgrU7bD0NH\nEcDRUTwoxR0uLiRV3s9Y5sREdQE4wLoZ6c4dlYnDJj7+WF3WgK/l9m2KdJETlpghWItc8vGhGH4X\nF6r6qSi0T5Mm5DBmDeHPP4mBGAwkBZtMIm9AC276wwS/fXsyt7Akn5lJWsPYsTTO7t3EiOQWlpcv\nk/jevz9FD3Hcf0ICaSOPPy58FoC4pzKSkoCyZXF57IdY/k9jvFJuGapf/h0/oBf6v+2P/zWMwtL+\nvyDNzQsb8T+URraGpyikYbCkbTbTPZEzpAHB8MLDRVY4mwrT0siZLzvFFy4Uv3EJktq1yRnM92nT\nJtoGEIPThpk2amT7Odu7lyLLOLeB/RNcCvzoUevH2RklgjE0bUr/MXsFf+iwgZLW/KagPYsZCxZQ\naGF+IEvnDg4UCSJHQzRubNlRLbfoIi3k+ZvNZCZq0ICYg9w602Qicwj7CrRgIsX5C7xPZibF+PM2\n9jOMGCF6PMjYsIHmwNdQujQRQW52v3IlmULYdJWYKPpA79hhu1aS2UzMDhAx/VpkN7hX6j6KeFTC\n13gec/AG2jyejrp1gdVnGsHFvyK2IBTb0RXP9jNgYOAfaNsyE05nTqjHatKEpHvWTLKyREmM1FRR\nupwZO19fqVLCh3H3LmkycvVWLr3dqBExgGrVyPy1fTuZ7LQSfaVKBeusxvOaP9/yt+Tk+5bLUCIY\ng8lEwRp5VQjWcY/IzZRRHGHNrJIfjBunLn2cHzg50UN+/To5dxmzZlHkiYz8MoaBA9WlFW7dIglb\nbmzzyiv0Hh5Ov0dHW17ztGkksd+4Ic7LNmoZZrO6VtLy5UT4N28mbSI1lfIQpkwhgrl9O0ULde8u\nitC99hplE7OzOzOT6v8A5KTeuFHdA4EZwEsvCX9NeLiY04gRZLIBAKMR287UQON/lsEb8fgUY3Ac\n9fBivd9x6RKwvcsCfPjCObTF7+p1dnQU5SKqVKFrmTaNEqGMRlrD7t1p7VxcKKqJi9oxY/jgA8GM\n//c/KrFx/jwxOrlRDjPcwEDSCkqXpvNt307MSEZ+tEYt2BzH/hi5KU1+ih7aCSWGCnTooDOGIkdx\nyQ3IDW+9RZEyAD287u4FH2P5coovzwvr1pEpAaDEJycnCrX85RexD0fdyMgvY1ixgvoXy+Dibyx5\n/vADvbO0D1D5axkXLpDk7uAg7l+3buQwled6/TqN4eZGRC8ri37fvJnstUxcFYVs3NeukUnD3V30\nFTabKVrH3Z1i8bV+hehoUVJ71Sq11sMYMUJ8vnsXSEvDmjWA09+HMBJf4m3jHNxt1Q7HUR/LMAT9\nah9F2RsXyVSlzawuX57MZZyvcfEi+QB+/pmYl4sLOZbNZmJcZcoQA2CNh6ucRkcToff2pmtKSSEz\nV58+6mxvvq/ydcvmvRkzSOvatw94+23La88Lr75KmhdroXLww330MRTbns9adOhAiYwlzdpR4lDc\nNYbLlwWxkZOtCgJXV9t/oqNHKXb/nXcom5fB58rIEM5bgEwPcoN2QETcFBTDhomwTSYAAwbQOxOe\nSpUsi6XJtZJYm1izhiKY4uLEfp6eFN536BAR9Zo1ySzEhNzNjbQSg4EY1vPPi3mEhND+cnG+2Fhh\nHmI4OxNzA6jchTwnCXv3Em3+7dj/8FtYIC6Xy8LmYVvQcvEwlCtnAvYlEpGsUkVoUYA6SgkQPpqB\nA0Xvao6QkkNd4+PpVbEirSlrfePGiX04LFe+d+x8B+g/wev5zz/kOzlwQM0YoqOJaYaFWbZgzQ/K\nlSNHPZuStM2GdI1BjRo1aL11raEI4e9vu4hbcUH79hQFc+6cOlO0IMhNor96laKzbIHt0IymTS3z\nCiIjC+fEN5mIsFy+bL34HGCdMMTHk0nr9GnxgKxfTyYaOQ+jfn31uc6cEdmz5ctT1E1UFEVLaWsl\nublRnD9XAQVE2OaoUWIbd2MDhDksm7nd8qyB9Xga/bAKgwcreG9yBi4cu4XRV6ciYvUpdOnhhHK4\nJbK7t2+nsfbssXS6NmpE9v7Ll4m5/fSTmCt3nfv0U3X/gpdesszXkBknQOt14ABpCgMG0L3m61m/\nnsabMoUYDIcWcygvQHM4fZpyYLg5UUHxwQfis7aMuR6VpIbBQP8/Fm50FAFSUtSVLIsj2D5+65Yo\nTVBQtGunzvqVkVePB7kLmC04OFhGv+QHRqMgNhUr0h8+P4zh5k0KRT18WDwgbIKSpd969USdn4sX\n1UQ+PZ2uKyCAmIS2VtL+/aIPMYfGVqki5sQmt9GjBSHN7mN8ZfUufI/eeAwR+Lz2Z6hTPg7HKndB\n+MDFWGoehGfwPUqXLy1yI9j8FRUlxuVubQA1ttm1i0J9o6OJMN+8KbQrjqT6+GN1vgA7gbVJdAyj\nkaT1W7dEKOqZM8IhbDTS9Y0dS9oXO4KPHBH/RaPRuuO4IJB9WAcOiM8nT9qOIrMzSgxjAIiJ//ST\nOlpQhx1RWGfu/QTP8V4c5Q4OanOQdvzUVMvEtlOnyAm5YYNaGzh61DJZKbdObLnBZCK1uGFDkja3\nbBEmLLOZ4vx79Mj9+OrVyazC/gKZofCLwSYfgK6XGZ61Wkl8XPXqZGoDRLG4evWoJDUANG6MG+dv\n4u65aESfSELHm+tRE2cxAxMxY9QlhG9IwCTvr1HGUdNwqFQp8d/j4noGg8irkXsRPPVUriUx4OhI\nmpM2y5v3lSuaMoKDiVHy9To60vlv3BClxY1GKluxaRNFYkVF0TFycqC1khiysz2/4PpL8vNYvryu\nMViDpyeF9RY0oERHPlHY8M/7iXbtSGIrKke50UjS8YABZGNn9OlD0uPjj6tNSa+/TnWCZNhiDLdv\nq9d340YqyzBoEH1/7z0ihEYjaW8+PlRMbfp0SvICrCfOcdx9//60Juw85bm0bKkOVWXIES9ffEHJ\nZvL8n3qKJPF33xUEaf58cnYfOya6xIWGIqL5KDztewCPDn8cXumXUKG2Jxr8NB2NDH/hGjzxFxqj\n35RaRHBbthR+mOrVya7u6EhE8NlnRaKZLKjIjGHbttwZQ/36FKWlKIIxtG4t6g517EgtM2VMmEAM\nw2Qic1NICJlVL10S5jZmlj/9JMKC+Xxc7VR735s2tZ3olhs40qtdO7HtPnYsLFGMAaDnVfYp6bAj\nSoLG4O9PhENRSIWXm5zkF336CKlXi2PH6P3kSXLAxsQQkT1+nBLF9u+nh51hrVaSLcZQv76aoAwa\nRNm47DTl2kHMoE+eJOk5JUX0cl6xwrKQnlzsLTNTXaKje3fKfj52LHdNpndvkdVsMlFEUrlyREzP\nnxeMgQnTqVPIhAmbEYq6wRXRondltHqjORaHbkYqXBDz9GuIr9IMH/Y6KJLOTCYyLy1eLMp48PVy\nfwaDQZRluXNHmPx8fNQOWZ6PtdISvXvTeElJwrzg4SFCQMuWtWQoHKXGkVe9exND9vdXd7DLyqLf\n5UZDsi/m9deFwPLaa/nLgLcGNqvJQojOGGyjRw8KqpCfLx12RH4Tsx4Ujh8ney4/IFq74siReVdd\nTE21fZ38ULP9+MYNYVbasoW2y0lGaWn5NyVpo0rkz1OnUty9nN3MhJH9GgYDaS1nzqjHlc0LmZki\n9wGgSKdvvyXCePYsaQHz5qmP37+fzBSLFhHxrViR/AhhYXTe7HnEwBdjvqyLZjiI5hOfhCMyMREz\n8NrT0bh1i+jg414X4IhMuJfNhEPLZqL0w/TplnNOT6f3p56i86xbR/b8xx8XCYj9+tE71x/i9QWI\nYA8darnOvA43b5LED9DYXF5i9mwRuNC3r6gSy/Oy9d+YOpWiuRRFmBN5f74H/v5k2ujSpXCaAkDa\nDftxtOG5OmOwDhcXyk355psHPZP/II4fL1xSzv3Ejz9SvRtuWKLVcL76SiRY2UJuMc/s7GTiz0lh\nDJYoGadOERGTbdnBwZaO8XLlyFGqbZXJSE2lOQUEkOmCr8tkUjMGnr92bK7X1KULEctKlSia56+/\naOzkZLq/iYlq/8q1a1Tnx2gkLerVV2kNswnezlN+GPPXEAzZ0A0tcABmx1L4GG9gRo9DiAxoj6P+\nPfB81LtCAGcm6uRE82QHd8uWVC7D05Ocq+xP6dePTAAuLsQUXn2VHK5du4o5tm1LyWPMEPfvJ0l6\n7Fg1w2CYzXTua9dI8uf5WCtf4uVFY7CprmxZy4RFRkICFdLbtInuu4MDvSpWVDfYCQwkzS43f1Bu\neOMNwVDlfBudMeSOfv1IACjuVo8ixS+/WEqO9wpnZ2HftQe+/Tb3KpIFRWJidkF9E5kFuC+xFto/\nBkuNjOPHhfQoo149QdiY0GsZg6Oj+jufy8lJ5FdwXR4ZLGHKzEBmTqxNVKpEdmU+v8lEEjubkqz5\ngcqUoaSxWrXICXzlCu3Tti0RmDJlSJKKiaHMZj5vpUrqct2lSkEBoCTdQtiF2hi9qROGzHsMlU3x\nqPMI8GH7X7BgsQvaYC/a1biI6hd2wem5vjRez54UCcXaiJMTmaDWraNS5bt3k6/i+nVa/82bSbOR\npfUyZYjJGQwiEgggptKwIWmCffrQdaSnk2/F01PUKeJ8EjbvVayYtx9q/nximmyyqlpV3S9bRmws\nhZJWrUrEn8uQPPEEhbAy9u0TAgbfi4KgZ08xb5lJnT6tRyXlhqZN6X9R3CMrixRLl1J4or3Qpg1J\nd3k9SCyN5QczZxIhsBfYbMTE1ZazvFo18Tkzkx7k/Mz5xAkR9y7b1GVG0KmTukSC7G84c4YkSmvm\nCB5PZhgyk9izh45RFCJwHOny669EXEeOJCIfFmb9mtl8xQ+F9vycpMV2/Pr1c7qIRZ7Jwg9VXkWP\n39+AOxLhNuNtvLi9O6qUTcQfi09ifNRIjNvUEv2D/oRh4w+US8LjXb5M67Z5M4WQ8vU5OQnH8nvv\n0XnZocplObSQfVzy/eIQXLNZlN7mfa5fJyZw/DhJ+7zdVsMjgHwwckioVhK39V/hhL1jx8hJHhGR\nd/SZj0/hIonkPhAMNzc9wS03GAwkOKxb96Bn8gCxapV9W9vt3UsSb15/vGbNiDDkJ2bY3gk5TIw4\nFt+as1xRSDKVvwNqp5Sta/TwoHP4+lIPX0AwBm7FmJioJrrffCMY0bp15HzMjTEEBQnNonNnkcXM\nCVLz59OcOaRy40bKYgZImzlyxPKaX32VzCbHjok1+vhjeuewR7nBjtEIVK2K1V2Wo149ILCWCTOj\nB6BHteP4C41wafwXOP3qF5hwaTT83G6JMYxGYlCdOpEdvHRpYrxcRO/zz4kQduxI2sjrr4u1/uAD\nwVBPSAXvvvhClI6QGb1MqNkZnZUlyqE4OhKB/+svWltXV3Gu69fVhe+02LxZRFTx+J9+Kr6XLZu7\nSZXPo+3PrIUsQBQU/J96QCGYJZIxAOQzWrv2ITcn2VMaB0hNzUtjOHKEzAJyGJ0tnD9vacYpKG7d\nElE3bPdn4rdokVo7sAY2fg8ZQu+enmQ20NqlAZJy69cnYh8YSC0Tq1UjIseF3gBKgmKwtNmlCxVf\na9LEkjHIDW4YM2aQ6Ydj9hlMsPh4Hx/BJLiXAoe3zptHUuzZs8SoHRzEA9G7NxFdFh6y7etX0itg\n7V81UWXXEry+sAbeDTmIpKGv4jCaYdgjB1AdUXB3SoGjVwX6f0VFicxmzoMYM4auMyjIsvRH69ZE\nMM1mMqkcPizmxO1D2eyyahUxO46ikhn9mjV0P/r1I6c8QJnQikL3MD1dRJA5OxMj5DU7fly0NrWG\nlBSRw3H4MGlZcv8HbXa7FrkJO19+Keo2MbMvDDiCSs41uY8osYyhYUN1ZJuOe0S5ckQ88tIYWF3P\nb/QSS96FRVoaMRhASJFMYFu2FPPJC7duCdODrYe+VCkiRjznbt2ICJUuTedi6V4OdXR0JFv2tm1U\ngI0jVOT1adKEpGQmekwAWaIcNowYgAw+PjhYPd+gIFHr/7XXiPhaq5U0Zgw5QLN9Rodv1UJ3l52o\nmXAAQz9vjM8/NePSa/PQ17QBbkuyw0C5FMWpU8R0Q0Np3MxMcoK+8QatBfthLl607DiXkSGYJZeE\nYBOS3I0MoNjz338XWdpyyCyX69CG5g4bJsbh/0WjRhTay0EHXCrcFj74gBIVAXJgy/4M1hCtEX/O\nyM6NMVy5IsaT+2gXBJMnq81nDwAlljEYDEJreGhhT3XJbCYnWl7F37iIWX47vd2rxOPoqHYqAiSd\nHz1q2TktN6SkiIdMUawzNicnkhzliqQyZN8Gw9dXRCBx/19rESlNm1LEEY8jdzwzmYgxy+D5Xbmi\nlma1jDsqis45frxoWwnQg3HgAO4+PQDDsBhPfdcPT1a7gMuojAT3mugeaoDjnwfUjYI6dSLH7oAB\nolYSO70DAsjZm55ODG3KFPJJ7dwpIn8AYQc3mwXT5tDLevVIS2LiDxBTYMZRtqy62uyWLWS604LX\ngMidwz4AACAASURBVG3JpUqR5sTb82IMMmJjKTqKiX1ysu2oNZbicxOejEbKlDab6Z7K9anyi0WL\nhD/jXgWrQqLEMgaAwlaXLrX+33kowCGb9sCcOfSnzkv9fecdigGXpaaOHSkW3RruNTuZk4oAUeAv\nM5Nuen6jD/buJamefR5BQaLcsowDB4hw2ZLStOUhtChdmubIHdJkHD4sNI1z59SMgRviyDCbKQJr\n92517R3tue/eJUJ27BhJ0PPmIRMmbFO6oJHhL7hNGoPdhnb4cX0aXm+wG2VXfAFn3KF+BdrKqADN\n39NTXRJj4ECS3hctIsYwe7ZaVc/MpNyD6GjyF/Cx3J+ANYL27clU1rKl9fyD5GQR3spRTdrSJIDI\nMpYLzKWl5Z8xyP/JS5fov8GVdOX6UdbWBshdYzAaSRths2eLFrb3tQVZELgXc9Q9oEQzhqAgEsy4\nIsBDhY4dRds/e2DECHW9Gltwdib7u7e32LZzJ0XLaPH++7bNNtHRuVcxZbAUDojeCxkZtktiLFxo\n2epv1SqSwAwGIkhGo2WRuxs36I/k6EjESOt85Lo42p4A+/YJIlS7NhErbYLbjh1kpmMnblqamjF0\n6SLi1uvVo9LWEREUkdSyJQkArCVpfTvcXQ3A0dMueN5tLbydbuD19Jl43ekz3Jw0F1Eb/0azdq5i\nXopCmoUsUcna14ULtAZr1ghHuawt/fsvMYjmzWlb3bokLPj4UI5JtWr0u1zZFSAGmJEhTJZjx4oa\nS4BaUuf31asttTsOqZb7OgCiUiozSlvQamflyonr8/cHDh60fpyvL93L3IQdHoff33qLorUKis6d\n6f1BOVGVYoiCTOvUKUXx9laUjIwinFBxRESEoiQk2HfMixcVxc+v4MdxWTstZs5UlLfftn7MiBGK\nUrp03mP/+KN67JEjFWXPHkXZsUNR2rdX7/vrr7Rv//5iW1KSmN+YMdbPsWePosydqygBAYpy8iTt\n6+Oj3v+ZZxRl1SpFMZvVx1aurCjR0fQ5LU1RkpMVpUMHmp8MFxdFiYlRlBo1FOXwYUXx96fzjB2r\nKF26KMqiRYoye7airF6tKCEhirJgAW3v2pX2q1WL3uV7DigZvZ5Rzv1yXhmMJYoHrimTKyxQ5jVd\noSTDRVHKl1eU998X+/ftS+OXKyfWhF979qjGVQB6uJKSFKV+ffoMKMo77yhKw4bqY3fupOPu3FGU\nUqXo88CBtGbyfhkZivL994oyf76ivPACXfOJE7SGiqIoCxfS/VUURXF2FvNMT6dtDg60Jk8+qV5b\nHv+77+h7QoKi9Otn/V4rCv0vx42jz5GRdG3y9dtCSIiihIXlvs+sWTSXrKy8x7OFq1cV5dAhGmfG\njAIdai+SXqI1BoC0hkcfJc34ocJjj1EdenuhSxcyD9hTQqldG3jkEeu//fVX/uzA3bqppeRFiyhx\nS1FIopZDHzkSRb4GjlefN49CErOyyJa+b5/Y55NPyMTh5CS2x8XR/idOkNlp/Xr6k129KqJkABov\nMZGkyAULRKlsrcnHbKaQV44wYnPI/PkUbXPyJDlyOcHrlVdoO9d0yjZNzZltRv1yFxASAjyBcDhv\nWYPaXarBC/H4CU9hWvlPMLbOTpRBKhUB5FLUPAdrZjA/P1pTLS5fpvMeOyYc3ikplr0RWKLPzBTZ\nxXfvUmizXCvIwYH8EWPGqB30LMHLGsMzzwizDpturlyhXhG2TH0cvVahgqXTWkaZMkKTrV6dzIfW\nrl8L2axpC+x7u5d8A09PcY22qgAXMUpMBzdb4GZTDRuSVqoN7tCRT9y+LdpK5obISLKBVqigLiZm\nDdoWlDLYpr5+PTkfX37Z9r6ynfWPP4iQ8IMjm0M4u1hmDGyu4UJoYWFkDpBzHTipzdHRsijf7NnC\ndHH6tGUp58xMMr0AZHb5/XeK1pHHB8S6ckip1k7NcfRt21oQFTMMWH8nFG9iA5Sl5bAB/XHjtR3I\n9LmGDjOTkOzoDs9K47PPU5Uc0cuWUfjs+vXkjPPyIkIfFEQE1tlZ+AK4vsz33xNjrFSJ8gWWLaNE\nMdnsZS2+n8OmtYwhMJD+AyaTJTNhxlCmjDCbbNki7t2yZdSCFRDr4eFhWZJERn4FJbmWVEEwdmze\nfj0PD/FfuxdoI/DuM0q8xgBQv5DBgy3rdBUI9eqJuusPIxwcKJnK0zP3/T76iKTQr78mrSU4uGDS\nUVgYRbUwY4iJUffUtQZ5/OXLyWbbrBlJszIT4IJr8jZ2AvI7Eyj5gWPNxclJXd4ZoAijU6fUc5EJ\nU1IShXUCRAw5kW7BAvU4cgSS3L9Zi0cfRdqA4diGLuiDtXgcf6AmzuKjmGfxEd5CxOZLeBwH0aUL\n0H3Z03Cu7E637LnnyD4+YAARMIDKRy9eLJjnlSvEvJgRtmtHWkqnTvR9wwbSrK5epfmyzV5m/tp5\nly8vWljKjEFuaDRwoHAEHj5Mc8jIIH9QQABVmOWxn32WPk+aZLk2e/dali4HSEtzcyt8Ach//81f\n06fOnUVzIlswm8mEca/gayxsIb57xH+CMQAUwLF2bd40xia0kmBxx759llLYvWDPHvoz2iogxvjy\nS9FI/u23yVyxfbtle0uATDTyw/rFF2SyWr9eXcpYJuRpaZbVUdnpfPw4jWEykXTYsKF4gE6cEFK4\nNcaQlERJbkxw2BEMiMiXo0dFfLsMbYVLa7WSAHU2uBzdcveuaLizfDkRDiuMYQmGoGunLFQcHoqp\nmIraOIUxbsuwGv1wuOcMPIu1VNooM5OiwGQz2tChZEr54APheE1Pp/O8/DJJ4KVK0YOyZw85jAMD\n1VI2z+mVV4gA7thB37kE9Pjx1MFMrjPVti3dyyFDgJ9/FnkNcpKYq6u4h198QYx90iTLCCBXVxHN\npU3843mdOKE2A/KYvr6FZww//2y/Wv4uLvaJJLp2jRiythXpfcJ/hjFUrEiC0uTJhRyAG4iXFGzc\naP8Y54yM/Kuuhw5RLaSsLEp+euopkkTlXgBvvqkmnPxAN2xIDxBHp8hE8to1S8mf8xjYzGOtVtLE\niTR/Pz911ElmJpmC3nmHCIiM06dpTGYMrq7qHsEMWWPp1Ek9X1mik81QMpEqXRoID0ciyiPV2YO0\nEkVBPCphIUajA36BN+LwHiaj+6nZ+PtubRyatRvvYQoG3PoCzXAYhnbZtX/++IPGjo5Wz4P9B7//\nTpoBQIwhK4t8Mdeu0TzMZtreu7coyHbpEoWW8nq7ulqXjM1mip5ifwNABPyff4jx8L3nKrLWTDts\nQsrIsDS5yEICZ7drz6/V6BiHDqnnVRAUZdXSGTMKZw5ycnqgJfD/M4wBoIi78HB1Y6p8gxuIlxR8\n/LH9qgjyw8hZq/nBvn2WvQkaN1ZrHNpaSczIHB0p1PDIEdonI4Oc0b/+qnaQGgykPbBJgs/F/giZ\nkDDBiY4GPvxQmH88PKii6MqVlv6DTz8lBjtgAM3p6afpP1C3rtocYDCI4m2HD6uJyPbtAIBrqIir\n5opYg754Hl+j2h+rULcu0du6OAF/XEIFJKJM1Ypo3jQLbf/+FLUcIrHbMQTPYD1+RiecQyBGYxFq\n4LyIqwcov2LgQJLgv/lG1CfauhUYN45MQn5+9DubxT7+mAg8E5c7d0iC5/Xu25cKjgG07nINJrOZ\nmD477tm8w9ctO5UzM4WGV64c7btmDTFja7WEoqLI3JaebskYZEbPQprs6Deb6btcSI/B3dcKgz17\nbFdUvVdwdnZB0bXrA2UMJd75LMPVlUzgo0aRydBa+XWbOHBASFr2wE8/0XjDh9tvTC20ceKMxEQi\njNrkmvh4kbwkgx/GkBB1HaD8QP7zRkaKsXnMw4cFs+DfHBwoD4PPGR9PpqjYWJHUdOsWmRUyMykH\nISNDnIuJxqxZokyFHOXywgtkElIU+v3tt+l3Lr7H+O47ImSffkqmmHffJdPI0KHqKJVmzYhQZ5uD\nLp+8icoAsH8/dp/2wWs4ijOmOjD9bUJj/I5W2Iefar8J88pVuH0bSGk5Fu5OqXgknVqA7hp/A3eO\nnUVz5znw37UMMPTKfV05X4Cd/Tt3klP45EmKvuHG9CaTIO5PP01rKteq4jyV9HRyou7aRQyZ4+z5\nnt26RfeEM5SrVVMn7T39NL1//z2Nz206WfK2Va3UYCAmdPEirbs2x0Vm9Fu2EMOTo3JOnKD/mL0d\nsmfO2K8Pyfff03gTJ9pnvAeEe9YYAgICUL9+fTRs2BDNsgnAjRs30LFjRwQFBSEkJAQ3JQI2c+ZM\n1KxZE7Vr18YOtmHaEf37k5A4dWohDpbNIPeKyEjLXsCFQVYW2eWB/P+B336bEqO08Pa2XnjPbCZi\n7eRkXWM4eFDYyDnyhyEnRo0bR0ltgJAG5W5h/EDLHLtHDyISvI3LMzPxyZbIYTartROAykx4eBCD\n3LCB1vzqVWKI3N8XoGvq21c4UU+fpvklJYnPXl40B47GkXH6NDJbPYFfqz2PCZgB36oO8PAAKrcK\nwP+er4Cp7p/i6k0n3I5OQjiexAd1VqGO0zk8+ihNpQN+RWPHY3DBHbjgDro9BTwTfB3+5mxHdXCw\nZXkPttVzNVFeA5NJ3AsOySxbVqwfE9YXXiAGIhPW5s1Jsxg5kv5Hp06R05rt61zG44sv1AJNVhaV\ntdAKOZGR5H9g/wFL/FrGcOyY0B7mzaMse2saw1NPqa936FC178rZmcxF9mYMmzfbTmorKBIS1JV8\nS2iVz3tmDAaDAeHh4Th69CgOHToEAJg1axY6duyIM2fOoH379piVHZFw8uRJrF27FidPnkRYWBhe\nfPFFmO1s2zMYKJDks89sC9RWUbGiiM6wB+zVPzk1VWQV16olahUBQiLW9pW1poLKUhtA0vnWrfSZ\nH+bnnhOFz2RkZgopncMwuaQB2/95HFbnWZJfu1aUDmamw6UFAGJWtWsTJx80yDLLmRv9mM2imYqH\nB9nS2ZHMzO699+gh9/NTMwY+NxPfoCDLHsYAEdfUVDpPpUqAgwOiEIA1kU1RowYwOvZdXEAAYmNJ\nWP8TTXCpWjB63viW0hNMJrKBOzmROUtGvXqiRIS2VpLRKK6XwfkHN24IR2xuPZu//lrkWwBkVjpz\nRmQHKwqZh5jhGgyC6TIGDRJ+IJn4OjoSwX77bTHnbt3IbFe/vhiT//NaxrBliyjNPXYsMaCKFS3r\nbaWkqBkBrxcjNZXMSPbuSVC9et5BF/lFerr1Z6iEwS4rrGgI4JYtWzB48GAAwODBg7EpmzBs3rwZ\n/fr1g6OjIwICAhAYGJjDTOyJypWpCGNQUAHukbYs8r2iMA6td9+1jDTStnOUL6hJE7LZasNsWcOQ\na7kzs+BxzpwRYYImEyVaZWVZl5zk8hMjRohIFIAiOkJDybTRpo1oXCNrAFxE7ZlnyM4n179hYleu\nHNkC2Z/AmhGPk5VFHB8gRnXtmrhuJlalSpF0am3ttYEFXI9GYqJpU2YiecBILL/zNHq6/YpaLtFo\ngj+x/K+6+PRT4EydnliN/qhcGfB6qgkqIw5lK0rmEAcHigxSFEtC/8cfoozIoUN510oymUQ46ciR\n6rUCROG6Tz4hc86PP9J/QS5Cxw5MHx/hJ3j5ZVqnuXOth2ezw1jW5qdPp4iglSvFeu3cSQEE1auT\nP+aRR+j+T5pkuf7W+hJUrWqpJd2+LbR2X1+RDCjD1dW+Apy9cfYs1bcq4bCLxtChQwc0adIEX3/9\nNQAgPj4eXtkRD15eXojPrp54+fJl+HHDEwB+fn6I1da1sRPmzqUyJSNGWK/DZQGWdOwFW93FGNZM\nI/v3W28s7+pK4zVsKB6Wxo1Jauvdm4qTxcaSxC93WJMzi7WMQX54HRyIYNvScuS1KVWKpF/ukOXo\nSDbq8HAKY+TtpUsLiZ4ducHBpEFs20bn/u47Qex69aJGL2zXTk2lG8cljM1mYR7T1krKzKRzPPoo\naU9ms6WZgv8EHTrQV4cySIcjTnm2QWQk8EGH3QioVQplH/HDrNQxcFQyMLnRj7gGT2zzHYEedc8R\ns+IU+/LlaSxuMgOQtvD335aS/YoVZO5hCXjOHBICmDH06yeydgEye124QOvav7/4n0RFCcbL++/c\nSb+7uNB4cv0sR0eRwCY7cRWFhAbOU/D3F2YiW5F5stDEkU0jRpAEX68e/X8yM8lX5+tLDK2gzlNt\nraSkJMtOZv7+avNkcYP2mZ40yXa13mKMe3Y+79u3Dz4+Prh27Ro6duyI2pqQMYPBAEMukrit36ZK\nToLg4GAEs121AHjtNRKAn3mGfEK5JiTaKspWWHzxBanP3I9Wi5EjScXmksOA9TrwRqNwIn/wAT14\nixdTFAlXAjUYaPvKldTIvUcPSsaRiRM/pMwMrEnVtrQcLaH77DN6iJ99luZrq00jHzNsGL2HhtK8\nMjLI9DFqFIWRWosmSU2lpBQmDPPnE+MMCSEiJhMRLszG17hypTCTnT9PppgvvwS2bsX18XPw4Vsk\naDsYbsN1txGmhqnoab6MH2cdQUCXR1AhsA6MkQrAofTh4RR22K2bYHadO9O4/fsLifjZZ4m5ader\nSxdhygoLoz8iX9eoUUREGzSgSQGkUWRkEHMtXVokkM2bJ4jMO++QM93JiWK033uP7ntICDGh27dp\nfv7+FOEiQ1HUsfarVolcBWuMYehQ0eiIm6DIpskWLeh16BBF9xw6RGaitDRilvl9rmQBxGgkoeDN\nNy1LmBdnaJlhQIAot14ECA8PR3h4uN3HvWfG4JNdg8LT0xO9evXCoUOH4OXlhStXrsDb2xtxcXGo\nlO2w9PX1RbRU6jcmJga+sr1ZwtRCeY/VcHCg4ox9+pAQtm5dLhUcvvnGslTyvaBFC3UFUi0SE9V9\nZwHrjGHHDhFK16WL6BQGiMxfg0GUFcjIICddWBjZ3vv0oaYfrJnJzVJkJvDOO2RXt8YY4uIEcWLI\nkp0ciZSZKZzY3t7kUOTMYECYUDZupO/TptlmDCx9hYSIeb3/PtmD160jh/OWLXQelo55DRh//omE\n78Iwx38+fsfv+KdXXdTDUZzZ6oKKZw/A7ZlORDgjIoD6e4BD2wBY0Zru3KF1nDuXiPW8eUTQHRzI\nVj9pEhHb+fMtGYPZTNJv7drkhOX/2ZgxohRGTAzZ3zMzxdqazeoKtKzR9eolylg4OZEZh++ng4O4\n/tdeUyfyMWSt0NdXrWVoJV6A/jvBwRRhVqqU8E1otWw58zkjQzxs+WUMsnDG/xm5BHVJQEiIpe+m\nCKEVmqfZqWjcPdlOUlNTcTvbJpiSkoIdO3agXr16CA0NxbLsyI5ly5ahZ3bNnNDQUKxZswbp6emI\niorC2bNncyKZigqOjmS9yMoif55N607Pnrm38ysoAgJEjR1r6NxZSNIMa4yhd28R6cOQzQLvvksm\nljJlyK4tE8UzZ+h93TqK3zWbBbM6fFg0AwGI8N2+LSSepk3F/Fq0IGchQJEsJ06I7Nr33xcP87p1\nZM4CqNtXnz5k+5YjY5gxMAHato00Ial8NFq1ImbI11K+vMhB2LuXbOq87/nzdE2DBwNNm+IcamDe\nz7Wx9LlfsXw58PkP3mj46xxcTzDgdczFwbGr8dvtRqjulw63MUPI/s7XXKqU7egU2U6uKOQTuX5d\n1AFiCfzsWQr5taatsRbFDWxatRL7/PGH2nnr5CTyDhhsnjx4kOYzYQKdn0NVAXp/913SREeMoExr\nbX4O2/HlUuCMmjVJ2me/Bu8HCOc/35fAQHXTHWYMiqJmEq1aCcElN+zYIfweCxYQQ8qtP0JxhJsb\nOTdLOO5JY4iPj0evXhSDnZmZiQEDBiAkJARNmjRBnz59sHjxYgQEBGBddqelOnXqoE+fPqhTpw4c\nHBywcOHCXM1M9oKTEwVrtGxJmsPKlVZ4wJgxZJphR+m9wlYXKIY1e/4ffxBRkUNNe/UiKURGhw6C\nUHIdf0Dt0AQEMeOopp07Rf6A1rfj4ECmDGbUUVFi/qVKiYd80iQidGyXS0wURFA+/7hxJO1qs18X\nL6Z15lDejz6iLNvQUDIbhIRQrLuTkyDSJpOQnMPDyb7erh2yunRDVKwz4i5Wweaol3AhDgh3y0D7\nWz/gzr5KKAfA6UQpfPvsDnSY1ALYuA1oPwaYDuv3plQp234muX+D0UjSf4cO5FOQG8+3aUN+oFat\nSNrdu1cQithYMhmxE117LqORQkr9/en4iAi1pmYw0H+GC8nNmEEMkaWeP/8kP8/s2eS3qFSJNBu5\nHEBMjHDsc19oGeHh9JL/c3xP2Sfh40PXpC18yMwgK0ttSgwOtowwsgYvL2r4w9D2TSgJKF1aROSV\nYNyTxlCtWjVEREQgIiICJ06cwIQJEwAAFSpUwM6dO3HmzBns2LED5aWQxokTJ+LcuXM4deoUOt3H\n6ALWgJOT6VmyMKUajfbLfP7tN3Lu5cUYtOrL/9s77/CoyuyPf2cmPfQOCSWGQOhFqqg0EVGaIiLs\ngqCgwqqIiMiy/sRVKbKuHXUVFFGBFUFBISBiLFQRcBVQWmihSQstpMzc3x9fD+9770wqbSDv53ny\nJJPM3LlzJ3PO+57yPZUr+5+Yx8MVuvxejGqrViwt/O03laBNSqIhFiPqXA3qFU2xsar09dQpGujs\nbOWURo1SieSQELXCnzOHYSCvl3G6evUY0pk3j9UYMtkrLY15BB0xcmvXqjr977+nsTtxgvXFJ07Q\n2Lpc6jk1Rc3sbOD3/SXw1c8VUHPlB+j4Th88+SSQcSgNbeodx4b3N2A27sb87lMxYwYwNe453HRr\nGA370KFq99KwoepKlffpP/9RcX4n+q7H7ebKun37wBIaHg9DYWlplMz48EPlkF95RfWCBGo0XLyY\nRlfCUXqXrywmPB7+Pj2dO7vYWBry+vWpXRUSohYFXi93flLG+sUXfI1RUdzR6uXGAB19mzb26yAd\n6/L/Wrw4n3f2bJbI/vgjw2D/+x//B/Qwkly7vMQZAa629Uqknj2Vcu2Vwg038P/oCueqksTIiwoV\nuFg7eJC7ZVueKCzswjmGPn34YcnNMdx5J2ULdNq29V8leTys8T98mKvtLVuYlA0Lo5F+8UU14rBJ\nE3uTmsdjl81YvFj9rDcYiRHJzFTnXKyYPeTgjD1/9RXPx+ulgezZkyMcpbknLU3NRxCkBFJm9Qo+\nH8+zTx86OlmJinHxeGB5ffgZDXH9ihdww5PX4ZlngJHXr8GuYS9g+XLgtbLjMKLkNJwrepORl2vX\n0gCWLMluVMltiDP64Qf1mkU7yEmjRioE16sXr+uLL9KJBorJZ2Rw5Sg7nlGjVNI4IkJVFjkdw9mz\nLAtdupRhuAED7HX9VapwUSB5BI+H16pjR+VIFizgrlOXt5g1SxlYkX659VaVFF2zRo1mdbu5itLz\nbXq/C6D+Hz7+WIUW33yToauff2bHv7NcNz84d9EuF8taDZecIuUYAIbKFy1iVejgwdqiXa9qOV/k\nOHopo5NixdiopRNoEIgYx+xs1TTVvj1j+Dt2BN55SEfs7t32mQj6Kk53DLpwmRir4sWVWmggx5CW\nxkoo/ffO/EhoKMMSsnNwOgSpzMnOVq9BT9y2bIkVoz9Dr+SHUDdzPbqFL0GvtKlIPVkSP/wAPNT2\nF1WGKpIYzZtzdf7WWzxW//40LqNHMyavN54dOUJDP3Ikb8vquU0brsh79aJDWLhQ9YbMncvzE0Ov\nDwCRyp3sbDqAnTvPlceeIzZWNZvddBNLPQXZfXi9/EeVayvOfdAgLgIkrNe3rxK269uX+QRx8vKe\nyv+THFvEIkeOVLvD779XA4H0UaqCDBUS4uO5iJGcx7p1PGZUFHdiy5fTWRWUvEq8DZeMIucYAH5m\nP/uMdvVcWGnCBFWyd7706sXVmDQb3XOPvzzGL7+wfVYn0IdSqrOys1UoSFa2p0+rD9N//sMkLqB2\nPk89RQMjMc+jR5Wx0R2D9EqMHq1Wz7fdpp47KsreLCc4FSCd4lSZmXRiK1Zw9yGa6KGhrISRUNWc\nOUjLjMAUDMULL4Wi55YXUL48bW7vtzri+p0fYvrgH7Dz+v4YhX8h1PenM7jzTtXZq2sl6dfzhRdU\n5ZSE4xISmCOYOpWVYXffzS7e0FA6hNde47n+738qbq6rjR4+rFQ+dalqyU95vbxmKSkqhKL178Dr\n5fGKFeNzrFnDGLzcRy8pbt2axlYe53YryY4DB5Sgnttt10ry+VS3sfM9k3nN8nx6EUJOJcsPPqjy\nT82bMywnK3xnqV9h1UovlFqA4bwpko4B4Od60SIuGps3B/6Jp5C8o1reD8wPPXqwO1i6urds8e/+\n/Phjf2Mb6AMl4Rx9Za5PLXv7bT7P0aP+Wk9lytBYiFLnN9+o4e4dO6rVrM/HHUJ0tH1aljiUpCQO\nVQHsW/uOHe1yHNddpxKrOiL9LJQujcNWWYx+rjgSi+9FKRxDDFLxHW5Eyre7cd2xL/Dd6WuxPOkk\n9u7yYUT0O2jRJAvuenVo7GJjmUStUYM5l82bGXL55RdeA+ny1bvIpXqnVi2G1MLCmCORaxsbSwfQ\nvj0XCQCN1LXX0rlUq6YMo767tCwa70cfVQnWQYMYimnUiJpFgD2sqFcRAQx16Ulmn4+v48wZf2lt\nj0dVu61YYa/+kfMBGCILpKsVGuq/c9PZuVMVK+iMHq26rQWRLR83zi5pXFjH0KGDfQdluGwUWccA\nqIXwoEHALPRF32VDMGJEwQVG/bjlFoYe9NWbM9/g9fqvsO+4w38whySQxTFUrKjCAnL8P/7wT/gB\nXBmuXk0JAYkhy2MaNFCVSRK+GTuWoR+vl85Gmu90ee3Jk/l95EiGXnRHoWsl/dmfchwlsetEaeDU\nKZxBJF7Co+hW8lvUW/cBTp8GXrnxU6xCK+ybsxKz0BdvNpiCJzAZddLX4ZpVH8NVsgR3Pfv3M4l7\n+DCNUfXqKiy0YYNSGv3lF9UVLFPDAL6+jz+mk46LsxtmfexmdjaT6XXq8Dl691bd6Pp7KNfGsTcT\n4QAAIABJREFUsmigxYmWKMHzWriQzlWqxipWVI5l9Gh7YYDHY696mj6duz9pJNSvr9ttXyRIc9/i\nxVzpiFJquXLcGstuQ44TKI+iP8fjj9sn1gk1avgLKG7axPxDiRL2aqLCOobt2y/MkBvDeVOkHQPA\nhePw4cCmsMZY+W0mwsP5md20CSopWhj0D0cguQ1Z6b3/PhOI1aurmLaOhIX0ZqHff+fPMiQmJoYG\n4rnn+MFq0oS///57fj99WsWT5ZwOHACefpo/lyypwlCrVvE+zzyjxh3qjq1HD3WOfxpXq8/dSG9+\nI7Juvg2bwhozNVGuHKaXfAQJ2Ir6X05E83G3IhpnsLTuI+g+KhGLV5TA668DnWM2IhG/o0SpP69P\n5cqqEkeUNnftYuji6FF1HXw+XofFi+1jNPUySR1nPfzy5TScel6nXz82nLndXOnXrm0PUck1OHNG\nTU9z6vmI+ueXX3KBINd77VolHnjwoL0XRZAa6p07VT9AoGE8YWEsbkhI4P/nyZN05MuXq+ojGXif\nkUEnJw1jrVr5L1J0xxAenr8KInntgWYgF9YxpKVdOPlrw3lR5B3DOSwLNeJcmDiRC77OnYGVL3xf\n+NF6eiLtxx/9uyG/+IKrbq+XYabdu+ksli1j6aGEfMQxyGD18uVVeaqs4Hr1UqvIY8fUB11KLE+f\nVoYhkCRG8eLMg8jvnQ1KumMLC4OveUscu74bxqb/A/XrA3GfTkbU2u8Qft9f0eWxOqhYESi18Qf8\nI3QikievRcqtD2Hy2DQc7dQHX047hCFD/rysCxao1bjXy2qAG25QWjjHj9slQwD7rsjj4Q5g/XqW\nZDZrZs8l6GEJOY7kCiIj1Q5H1EEjImjsLIuJd5+PhlWqqWrUAIYNozMXnOWtq1dzp9C6NY3mrl3c\nCTZsqBRft28PPCFNHG6PHkwkz59vVyA9fJiOx+3ma92yhfeT65KVpcKGLpdyDK+8opxsoP6adu3U\n0J6CcNddgUM/xYrlU6DMwYXWKzMUGvMuCNqq+L77GFLvOr417sZMW0g/3/zrX/b5wc6kmqyMnKur\nXbtY8fLcc0yIAkqEbuxYhkqkhPHHH/k9NVX9nJVFA9u0KatzBgzgCjc3Eb0/SUsDXvINx+R/ufDX\nnx9HjXtuxP33Az9uKYmkQ03x+ut8WTcc+Qxl72iLjWmx+OAD4P3Sj+EMInHgABe7hw8DX7cai9/f\n/Ab1etdFuZH3oN2gOJReMtsecujeXXXTZmfzmkRHqzDPnDks9dTRDWp4OEs8LUsZ+iNHmGN45x2+\nZmngkiY0vRktO5vXculSu3ih18umsLfeYnJaBjh99BHDOwkJKlwl2knp6Xbpj4gInltyMp2S281d\nWLdu/D/bs4dVXcKUKXzMmDG8r0iJh4er3pA5c/yHw1eoQMfz7rvMhcgORncMnTqp8tFAjqFNGyXz\nnRMyJlQnpybOmBi1sCkIF1qvzFBoipZj2L3bvtrTmTnTFnfu1g1YP2sL3KVKIjGRucGzZ/PZ6jBv\nHrf2Il6WmOjfJt+0qeq01Q20hBOmTVMxdJFOaNaMIQ5ZjYnkxb330rjdeKMSX/vtN943PBzIyoIv\n24ckdMa636KQng6s+jkSE48OwdSp9DVP9PgdtSun4WurPVL3uXDd6aV4/2AXlN+YjJ4vtMb/Lb8Z\nv67PwtdfcxGbmcn8TNOmQLuoNYjEWVQob8GVcRaRkcC1pVMQFZbNEJk+De3oUXusumxZhr5Kl+YO\nZe9etWrMyODvRB4cYNhL4vPh4eywzsigY/B6z71eDB5MAyVNfLqOUp06NMzjxqnqIinN1YfCt2pl\nN4YizX7zzSo/I7uqxYtVvT+gHENICL+HhvLxpUqp/zNd/XbWLOaKKlbkc3z/PXMXixer3hDpfJ4w\nQSWIIyO5M6lVy96h7nJxdzl7NvxwGt9mzexOLRAyEU4npxV+oHxXfshLLcBwyShajmHXLiU+5qR3\nb79/8moVM/DxNf/AW2+x96pMGUYTRowIXAl4DjEuoopap46/BscDD7AqyOkYdAlYeYx+Xnv3KsPi\n7JIuV0797swZYMsWnIquiI8m7UVi38YYErsI/cbGISoK+OtAD7Zk1sCiRVxwbt0XjR/a/QMLQnvh\n5UkZGOZ7He3wLZ5PHYjUQ2FYE90Bb00+iUWTf8XQLjsRsm4N4+x9+qgP844dTOwC9B66OJvg7DDf\nv5+hoIgIXo9ff+UKd+lS7pRCQlRDGMDXLsZPrlX9+qyQqlePhvf4cTr6//s/FWLTtZUkufrUUyrc\nJsdcsEDtAlwunpOz30S/v7wX+u4Q4OvZt4/lqCdPqufRcyDy/fBhOgJdK+naa/n/o/d1yP/Krl2q\nYU2qrebM4c7G4+F70qIFr4+z+z0kJHC3dl4sWODvGBIT7X0cQmEdw9atapdsuKxcVTOf8yS3GOZL\nL9Ho6t3IpUsDt96K22//M4+4bgO27w3HnI110KULbeCwYfwMZn00G2dadUT5OuVQde5cPl4MZqAa\ne/mQp6ba4+gSEgL4wXv8cToIl4vhikWL+PvISL/ty9fHmuLnOdVQKQNYiVfxCxpg44dtUe/wd3h7\nmQvt2vEwJzbsQPG2TeEaNhSYcNefaqcrgD6vc6sUEcFdijRxhYRwZZ2dzUx927Zcyb7+OhPAck07\ndFCOaeDAwGNE3W7GrHbtYoJWqqWaNlWDYFwuZUzFANeqxfcvLIxVMC+9xFXuxIn8XYcOfJNkFb5r\nl72s1+djMnnAAO5A5L0Rgy0GPjtbGbW9e3ktAnXfFi/OHYWUCDv/r0qW5H2OHuX5iiSGywU8+aT9\nMfoCoGNHtXuR89ZLiA8fZrhIbz6UvomoKL5vM2bw3AM5tPR0Jqyd88Dzg/P9zKmBU7+GBeGNN/LQ\nxjdcKorWjuHkSf8JaYDS63Ea72uuOadsGhkJRF/fBA3vb4V//pMh1BEj2CPVoQPQ4dn2uO+RaNSr\nB9yIb3EvpuLbndWR3PNlpKw6iKxMR45BHENKCo2GfMik3r9FCyb3PB5VhSQy3dWq4chtAzB7fQJG\n4QWMwgtohZW4f9sorMluivfeOI0MhGNA1WQs/yodyVG3on3NPXCtoURDiawjcNVKUPX6YWFcZQI0\nGOvWsQ4eUGqphw5R0G/ZMlYzeb10FqdPq96F3buVBlJ6ur1e/o03WBklRu5f/7LPCXC5+FoPHKDh\neuwxHi8igjuPhQvV6j89nc5RSkTXrePKfNs25Ui2baOTEENTrhyrjkRy5M476WR1x5CczM5mOcae\nPXR0TmMVFsbCgd69lSNylh6HhDDDHh1NpybOYNw4VfXjdE5uN1+vXpmmO4Zq1XhNfvlF5V5q17ZX\nBnXtSkem97T07q1kU/btU+9pQXC71dzmvJAS2oJSpYpS8TVcVorWjmH7dvtqTLjxRho9vTs1J/6s\n7ggNZQhGRiOgXntg9mwcqlAfsyrOwQSMwQ/zwhGRcRy/nHoUzV6x8Gq8Vi3Yti1XyWPH0liNGkXD\nJzuWXr34e4+HYQIAv4/8D2biaezbfiNmf389WqEO3PChCdbjeYxFmy1fI+LNl2hoVgwFXNUAqwcN\n2fLlTArMmsXcRA5zMHDkCMM56el8rbrkt94hu3o1wz0nT3KVWquWynkIb7+tZCKee45GX+9+1pHS\n0WXL2EXs9XKlLUZUbyq7/35V4dOwIZ3Chx/SIEnDnXSdi7prjRqsvJLqMJlCJslovWtYD/uVKKFy\nJJs306Fdcw0NfW5yIABzH5UqMVfUqhXDUhERSnpDDL4+BnXaND7nmDF8LxYuVNpR11zDVXvp0sqA\nOofYfPQR3ye92GHOHC40brtNaSXpLFjA/w19LKgTXS4lLyzrwkrYGy45V4dj6N2bH96HH1a/O3WK\nq1xdAje3xJazZlyOsWyZSsx17Rq4/hw4V/pYoQLwCF7DI3gNSDkBlIiH9dnneHFrdwwcyKepUQNI\nSIjE/v2RaLS9C2K8lXB3P2DVzppYj8dxCsVwcPHtaFEOuOloMfwHz+JnNMLKOa1xC5JQr3VFLPyw\nPdqErWUjnWgORYCr7T8dCXbvpmEPC7PrHX33Xc5aNocOMVwkr0m46Salsins2KFWpvffz7CXTmgo\n9fU//1wZKqn/D+QYxLj++iud20MPKWct53/0KI8nXbgyK1lE81wuvjbZeUlPx+uvs/BAZE/E0Yiu\nVFSUMtB16vB5u3ShA5IigKeeYi6hbl2eS8mS3GUAjLW3amV/TRkZqgrL5+OchLlzuSCYO1edm1C+\nvL2vQobUiBN89FHVGJmTrpdUuzmr4GQnJ1pJOqtWcdeXm2MI5Phy4vrrcz+WIei5OkJJUtGis2qV\n0tERctJJL1uWKyanYzh8WFW1AHQ8Eit28ttvnPAF0EAMGHDOoLh63YHHe6Vg82ZGV+65B4g+the3\nXXcMx9Ij8PHqeBQvDvztqx5Yh6Y4hAqoVuYU3n8fiH9nNPajMu7EHOxEDXyI/hgzIgNtsII15A0a\nKNmLhQv5sxiHBx9UlToSpsnMVIJngkhIAAyNlC5NAyVKpABfm9MpFi9O4+f1MrQiK2sxSiEhdDRL\nlth7K8aN8zc0x46pUtTsbCalq1bl+T7yCHcj2dm8ravEvvsuDaechxN5v6S/ISSEK/KoKNUZ3aGD\nvaInMZExeue8Yfm7DCk6e9Y+c+BP2XnbtdT1qHRhu7g4u5R3uXKqYknvNUlIUNclIkI1runvn448\nR06aQ4F2DCKCd6EIDbUP8DFccVwdOwbpEtXx+fjh1hu1EhJUo4+OLl2h41R7dA7MEWRojtTC33cf\ndxsSe/d6gcxMuN0MOzduDPxl1lCg9v1A3anAPffgePvbUWr0OKXl3vV9jBnQBBmffIGIPoPtzyer\n0MxMhmhatGDox6nBU6sWDXOPHtz5LF9OIzB0qApFJCUxv7FpEw2ezOn1eNS1+uADrnCzsriqlZVs\nSAjj3bITsyzW9crtb76hE/B67f0Tkk8A7DsRqT7S4+MnT7Jr+NZb2XUolTvbtzMc1qABdyVRUXz9\nGRkUs/v6a75fYvCkeicmhqGT/v3tiX55Pc2aqcoq5/+UsxIpKkr9LIKAOpMnK2eqOy3n+wSwyigq\nyl6lVhi1UTln5yAmweez92wA/lIXhiLP1bFjCNSCL5IJMnVK7hdoVfn99/wQilCccOhQ/srnpNtU\n4qqDB7OEUm/vDySJ4fFwNViuHMPO5xIWANauhWvzJkT0ccSQY2JUSEiM3po1NIjh4SqMBPC1LlzI\n7yK/bVk0wJUrM7TSpQuNkttNw/vFFyz3fPJJda2ysnh9srKU/MSoUTSUMm8YsCdKpaFKKrL096dy\nZbWiLPGnFpLz2gunT/N5LYsOSoxlzZrKif7733Qw69dzVyTJ2IgIdY3cbpZDJifzsYHi5Xq4rX17\n/1JMPfxlWfbpdYHo1k01nP36qzLab7zhPyA+OpqvbeFCVfoaSO48LzZsYF5Fign08wXoBPRcEcBr\nL4sbgwFXk2NwGnxdp0iQqVVO4uLsA24Epyx2TkREMLGnV6/o0gylS+csonfzzTQUDRuqubivvcaY\nuN4Z+9xz6nGCPmshI4Mra71Ec/NmVdbasaOqiwe4w3j0Uf4cH09HEBXF6zV3LuPhTz/Nn30+hjm+\n/pr19WXL2mW7772XK/c+fdigtX8/j3n99coxDB3K+3o8bLyTMJ/PR4Mrr8up03PmDF+XnKsuzSzS\nICNGMJQjf5f3sUQJ9R5I97IwZYp/aLFBA+5yAD6fU7ZCHMOqVUr6Oq8kq1zvRo1UPiQ1Vc19dvLq\nq6pbOyrKX5U3L5o04fug70gk8S04S1Wjo3MuRjAUSa4OxxBojoE++EWoUkWJjOmcr0aLrApPn6YU\nw+7daoUdF0dj/dZb9sf88ANj+z4fjZ90zL36qmqwknPv0MG+mxDEGAJ0DM7VerlyXB1LTFk3qvJz\npUo09H36MC/i8XDHk5HBCqkxY5TmvnRrt23Lc5fRrKtXc0XctSvPuW1bGtlBg9R78+yzrFISKQlB\nji0r4/r17ZVQUoUzYABve70qFKKvpm++me+vOOR69VjKKfdxKoaGhNBQDxvG85LflSrF8z192v9/\nqlkz5h9++40OJDQ0b4PqcvEajhihksiHDvHcAoV7WrVSjYElSvjnyfLigQf8d18TJ+a/1NRgwNXi\nGIYP9986i7EOlIR79llVpQHkrNGirwZ/+UWtWp1ER/N5Tp9meGbPHuCf/+R3aRJznkd6Og2YMwzW\nogVDOXJeAGP9kqjUV77ShwBwdyAJyXfeYVXNvfeyH0Acgx6zluf1eNgMdvIkdyB9+/LvsjqW+4nT\nqVqVoY5WrVTIRq7dl1/ymklpo8/HVfkzz/DvepmpIGqhsmNISbEbsU2b6BykrLRCBYbO5s2jHIaO\nDLLp2pUaTLVrq/JkcSwyH0ES0W+8YZ+rDPB969dP9Y8IQ4bwfOR59OqgbdvUrkhn506VyxgzRo0N\n3LIlb333yEjuLKTEt7C0bWvyCIYCcXU4hqef9i+lbNeOq3Xd6G7ZQqmE99+3h1zatVPVR+PHq+Rn\nyZIqvHPkCHsApDxRJzqa1S+vvkojuXgx79ejB1fIN93kr4PfpAl/53QMgeYEeDxcDa9fbzc++nCX\nEyeU0uWddzJm3Lu3fZa1zDVYskQ97+DBLAuVChwJ5UhZpziT3Ep95W/Dh9MBSrWOz8fdiN7IBtBp\nS2PYLbfw9bVuzQ7wnTuVQ772Wp6fczfXvDmdmNPYiaOTmcjFi6udgq6VVLkynahe3iy8+CKdb0yM\nv+6Jy8WvwYMZp5eENsDYvnNXCNidh8fDXYCci66VlBOffeavMGswXGSuDseQU+VGtWp2Q/v772wA\nckpUeDwqXj92rDK4+ko5O5sfUJE51sMAsjspU4aVP9KkJkqYovmj8/bbqixUP/9Zs9TPEh/3+Wjg\nGzdGrlKvEsMWNm1S1VkAV9mRkQwBrVnDv40bx0olGUsZqGP1/vsp3QzQAKalqT6BsWNVbwLAcNPB\ngzT4gcJfgL1K6YEH+L7Uq6dW6PXrM47/0UcFC/E1bsydztatqlNa3n+5xmlpNPyVK9PAO5k2TV1j\nvZw0ELrRd+4uBN15APZwXqChOU6MFLXhMhC8/3GSWMwPOakyJifbqz/kQ3bkiL1ue80a7iL69mWV\njXSmVqnC+D6gPtxeL/MD0ni1dStXuXv3KnEyfbUN5K6V9Ntv9lnTulZTo0Zcha5bpyaB6Y4DsCdQ\nAxmQHj3UCFHLYngJYHhGfpbXBdBQyznLawgJUYnmgQPpCLp1422nIJs4yb/+NWd5g7Nn7dViAJ2P\nPKfbzXLU2rUDPz4nlixR+ZW9e+1T8nw+5iHEweW0A/J66VycGlZOXC46Uwm55eREAr33TzzBXZwu\nDpgT+uLEYLhEBO9/nN5ctWNH7h/S/Mr1yqjLo0dVLb5+DK+XIQSpBGnShI1bgF2ls3RpJiEBHufQ\nIe4AJDcguFzMA8yf77+rEcfw5psstxwxwv73Nm0Y4vJ46HhEJ0kQ7Z0jR5hAlfPVy2tjY2m4pJb+\nxx9VbiU8nKEUKW+V0trKlZlYFmMkCWaA53PihL17tkwZFW7Tdyfp6Uoa2ufja7zzTpU4dspBSxMe\nwJ2O7rTyQ1oadzPCzz/TAckxq1Zl5Zg4qylT+N7quZ+jR7ny10X0AlG+PMN0zz2nHOGwYfYqMsFZ\ncvrgg/yeX5E54xgMl4Hg/Y/Tt9kTJ/p3oerk1zGcOKEMrDMZLIa6eHF7g5Wg7xj0lWh6upoF4IwZ\nP/ootXmGD1eJ0j/+YKiiXj2GOyyLced//5tJU6FLF373eHjOTiMlQmj33qtKNMPDKXch5Y579tiT\n1boz9HhoSPW+B4Cxd5lNERFhn4Xw7bdMDoeF8Xr8738ssw0Nta9+JQkuInpZWUy8fvqpSqQ63y+Z\nTSHXraAibBs32vMvX39NJyjHad6ceSRdn+j0ae4IRZBOm1Jnu+2kcWN/SfGICH9JDMC/LLVsWSXk\nlx/Wrg2sUmswXESC1zHoH8q8Gn1mzvSfs3DsGMtGhdGjWa0jOMsMpayyVSsVjsjMVOWt113HVXp6\nOj+oTsfg8ynhOUBVuohyqxjCf/+bq9WwMK7O9c5sPeQg+QL9d/q4xPbteX7Vq6tOYp/PXh3j8/Ha\nCM5Yd3o6DXL9+soR6X/PKXcjq/C9e/l6t29n34OgdxsfOsSdiTxm61Z+dzqG0FB1n19+Kbhj0P9H\npIy3dGn/vghd0TQjg+FGkbiQ54yJocPLabFRkJnG9epxlyqcPVswgbklSwJ3VRsMF5HgdQybNyul\nzDffDNx/IDzzjBp2D6gmLdGu2bKFYw9XreLtkiXVjkQ+4B9/zJ+feEJ9ENPTKW8BsAKmVy8a7O7d\n7Y4hKopGpkkTViiFhQF//7s6n4cfViGUHTvYOyBx/5wcg/zcu7cKBcmKv0oVtfORZKaUiOrJ9rZt\n7bevv55VV/K49HQm03/9lbsXnbCwwKERQBlMl4uvV8ZaSqewXhJ75gzfO31+dKD8w8KF9vkBaWn+\n85RzQ2Ye69x2G8tRdWTBkZrqP81PzrFUqdx3oV9+aQ+xFYSMDP8igdzo1Klg9zcYLgDB6xheeMFe\nTpjbCs2plfTBB6w42bePH0RJYnbsqFb38qGX4x49GjgPoB+3WTPWt9esqRyG7BiExx/nzsJZGy+G\n/sABGl15bfpQE735y+dT5ZeyCxGjlpambj/yCHclgu4I6ta139YHyzdqZE96O3G7WWG0caNq0vr5\nZ75+CRWFhHDHIs+fkcEeERks/+GHfP7MTHUeUgAgt5s1o1MfPZqFAv/9r6oWeuyxnM/PSWgoz8/n\nY/my81oIHg8XHYFKRUNC+PfixXOvBvJ4Cj+CsqA7BoPhMhC8jkFi1hJbz80xOLf2Eq5ITrY3Ed14\nIw10hQrqQ+/xMHZevjwrVqQXAGDS1zm/4dgxGiCp3pGRkgAN/h13cAdTooT/OQI0kgMGqNdVt64y\nFJJwDQ9neGb+fArhtWtHZyPHkESxGKeff1bPM22a+tnrtRtHEbCrV4+7FtE90lm61C6frZd7NmzI\nEtK4OBr0kiVpTCUsJ6Gu8uX5Gs6c4eNldjOgdMelByEykgl6CX/17m0P+eUXca5er5KzDmTYXS4W\nDjz/vKp8c1aPWRZzOBdjaEyVKoV7fQbDJSR4HYPo1IjYWk5zEAB/rSR9NWdZlGZo2JDho9atGYeX\npKDLxRW5hFb0OLyEUlwuVXEkjkIMZkwMz7VPH1aoiNF2GiU5J2e44/nnaQz/8Q+1yxg6lDmTBQtU\nc1vlyjkfU9i+XTlFgLkQ3TFIg5Y4UT0HI6SmKomIAQNYyiuP3bWLOwh5HWKM772Xjvy++7g7K1+e\n17tlSz5/aKiqnIqNpeOUprecqm6cHdJ5Ie+nrpWUW54iPNxfJM/lUlVbTzwReJ4xwLDXggUFOz/9\nPKW/xWAIUoLXMejVNJ0707jXqKHkFXScWkkiOAfw91lZLE184IHAncsSNhCFUv33gp6Qlr+JM5L4\ndnQ0FT9/+83faEu+Q3c811+vpDSmTeMKe+5c4OWX+fesLL62+++3V9QIMjFNqlyc9fLVq9uru9xu\nGju5PoFCGrt3K+c3YwaHR8hjv/hCxezHjVOzkFevZvXMww/Tyc2YQQfQvTvP/+xZVbLq1EpyNhFK\n9VlO8wRyQoy4OIby5fNXEvrss/bEuUx8k3BdIH78ka/XYLhKCV7H0LYtDdigQcp47NoV2LD37esv\nbyBCbJZFp6BPLHvjDfsYSsk5ZGdzxfjjj1xtL1tmP+Ybb9hX4LL61x3DtGk8tvQZ/N//qfMAVEId\n4OpcVvByDrrypR6bl+cRZs5Uz++cEyA8/bSaPgfw+ElJqqxSdzQSBsppGLvbbU/w9uypjKi8Nknu\nlyjBkl8p/61YkSG4ESOUM9GPK+dx5owqwy2oY5BksSTEnX0fOfGPf/iXnqal+Sur6ohWksFwlRK8\n/93h4awOiYigMZNJXMWK2cv/AGr9rF/PuL2EfPr3Zxzc52PdeUwMyxLnzePXrl3q8UOGsEnL6+Ux\nnn6ajU7//a895/Dtt4yvR0fzttMxJCczlLJ8OStXmjRhWGjgQJWgDg9naOiOO5TDsyy1a9F3Gk7H\nULKkEgvUDareMazjnDY3fz4divQXuN1KNE+ux8MP25PZgssVuPIHUEZcjHqlSjTMPh9f7/3328tG\n4+OZvwHY5yG7hLQ01UNyww2B+wJy4kIaa5crd8f07LPqGhoMVyHB6xhEmbNlS2Uwhw6lWqnTYEgY\nqWpVVsTIai82lqGdhQtpgD75hKEap0xBZCRLG+V3p06xkQug2qmoY27bxhJKySM4HUPFijz2Cy/w\n90OH0kjqaqHh4Vxpv/yycgz6jkE6aQGejzOJLRVBuhORiW5Ow6gnpQFV/jliBF+L203Jjbg4+1Qy\n5wq6Rw/ufMLC6DSczsEpaV26NN87kYzWS3IB+5jL7dvViE29u334cP9S09ywLHUdzhdnNZrBUMQI\nXsfw/fc0ihLjBriaHTXKf96tXnOekUFdoZAQ7gyOHOH3Z57hrsLlYj+AOIGjR/n35GSWTH77LVet\nIovRujUNeWgojbrXqxKnWVk0mGfOKM0i3WgG0koKD1ezE7Kz2X0shtLt5m5EJngNHMhY9rx5lJMA\nOHu5b1/edrtZtTR/Pv+W14pZz28cP84wnQjB5TbsvXRpvv7QUPZhOIfHDBpkv+3zsU+jUiXedh5/\n507V16GXzOodwXXrBh6qlBNhYdypXQhcLi4OchMsLGy5qsFwBRC8juHwYSUYd+AAV/B16jA8pOcL\nAOUY+vdnZcycOSp00aQJV6KrV1O4bdUqOgjneExZIZYpo0ZJAjzeNddQRTQ8nEbvnnvY7BYayrBC\neroy5noS3OViT8WUKXwNS5cqGWy3m0nZBx+kKN+ECXQKv/9OR9CuHXD77TzOH38EHjFOkQQ8AAAb\nsElEQVTqcrHkUiqFKldW1TL9+/vnC5ydz6+8omYl51bBI88tZalOx6yXyAJKYFDQJUQEGS+pn2NC\nQu5J30uFGH19ZodOzZr+/4MGw1VE8DqGKlW4mty8mYZeNHt8Pmoe6fIQ4hjEwCUlKcdQvLha4a5b\np8o5xfDrISWfT2n5Oyt8srPVjsHr5fPJzGF9Rdyrl3rM4MF0Srfeyt6Av/+dRn7UKNbxr1zJY0ZH\nM88RGcka+08+sWsPffqpKhvVqVGD1U7SzRwSwmO8+CKT3KdO2dVPdcfgnPsQaMcgyeW4OH6/9loa\n8kBORC8vHTJEPQag9pHeXAco43vttfaQlzN0djmQnVdOO7AbbjAT0QxXNcHrGFau5Er0wQftOjhl\nyzLco2sAffEFjeNdd/EDu2gRDeK+fXQMziE+APWBAPsK3+ejYbrxRrU6njmTTmTgQNb1Hz5Mg7ti\nBY1ysWK8vxiRHj34XUJL48bxuOXL0ynccAPDKCtWMCcRyMhmZNjPS1bo8jsZ/RkW5j+MaN8+OkA5\nH72s0rljEOLjA1cjud3cpf3lL7x9+rRKvDv55Re1s9C7hi2LIToJKwm6rEbDhoGPebmIjFQaVIEo\niFaSwXAFEryOQSQLfD4mcVeuZMildm3WyusyFFOn8vc9e3LlKiWhkyfbk7k60kwm1SwyuEY6U1u2\n5Kq+Xz8moFu0oHTDli2Mn8uK+MQJJWIHqLLVf/2Lt8+cYaJ5+nTG1jMz6dimTuVrzEkHR9+xvPsu\nV9Vi2OvUUX/TG9YAlc+IjKRD0UtcH3mE1wRQhvuxxyizresUCUuXMqEvfQ1nzviHkfTzkBCS3pvg\ncikdKqF164I3sF1qctNK+s9/lCSKwXAVEryOQdixg999PiaQRWdfN6i6VpJugA4eZE5CuOkm1SF7\n/LhK/Pp8yjEIZcuqnom1axmOioujNHbz5gyPyMpRD8VER7OHwRlnl3CWzFiePt1fZ0mQ42Zn0xiX\nLctVdViYfVoawES0PoJSHIPHw12R7hgeflit+KWj/KWXcq7+adSIZafduqnO5RtuCHxfnfBwlgg7\nz0l/fbklu4OB3LSSnGXFBsNVRvA6BpENED0bn48r2BdfZIJVdwxiSI8ftycMZ85kQlO6lmvXVo1a\na9ey8S02luWsCQkM0UjYxCnMJ4Y9I4POqXZt7kZOnKCxlR1E6dJsmnJOH5NQjW6oXS6VHNcNZ/ny\nDDc98wzLaHUCrbR1PahXXlEJXGdSWQxaZKQ9lp+bkZPhNzt20JnoIbycqF7dXufvdAy1awdHLiE3\nBg/2n6VgMBQRCih6fwlxrqRr1mT1zZIlvC2O4aefmJyOjARefVX1GOiUK8cVvsfDfMB77zGcU7w4\nDXWNGjSamZn2pLZTihrg39ev5wq+Sxc+rnRpNSdaKFGCzmT/fvv4TX2lHBfH0E6lSqwokiaz5s2B\nb76hUXeqtDopVUqd56lTDLlJYlTXMwL8tZLyQhcQDFQVlV+cjmHq1MIf61IhHesGQxEkeHcMYiQj\nI1nTrusfye/lfp9/riqKRMtIJyuLVTFjx7Lmv2xZ9iqUKMEGq927lRCfbridBtSy6BikWmfMGP9p\nXHPnMvkL0HmJBMT48axM0h3Xvfcqo75/P5/vhx+YK0lN5WvJrYz0wAHukmSutaz8e/bk9zp17Kte\n6V4WkTz994GQc1u50n/SW0FIT2cn+JWCZQVH2azBcJkIXsfQqBE7nGfMUHMJdMRx7NpFx/Hss1yJ\nigaSzAQA+Hu9KmbWLO48SpSgs/j732kcpQz1yy95HKdQWlISu6rFMQSSh1iwgKGmv/2NTkJ3Lu+/\nz8TlQw/xOFlZqtEL4HO3aaMS5hkZucfiZRWuN9IBPD7Aucr6bkVCSXrToP74nI7fqpU94V0Y9J3Y\nlUCpUpf7DAyGy0bwOobQUBpzt5shpMREe0XM9u38/thjHB6/ezfj4IcPMxY+aJBKgHbowMeuWQP8\n858M3yxfTqNcqxZX+PHxDB/89htX3F9+yX6Ca69Vz3nkCJPGLVrw9gcf+J+3203HMGWKGkb/1FNs\nWOvQgY7i5psZwy5Z0t5nIMlO0Rg6fjx3x6BX/ui39SE4ep5k61Z/cbkhQ+yzknUuVEnmHXcETrIH\nK3I9jSyGoYgSvI7B56NmT9WqaqUrJaCAfwOa4PEw/p+dbR+0MmsWk81PP01HUL48Db8IxnXqRMdy\n9CgfK8nmW27hyhugs4qMVE1y06f7P/8ff6gqH4npN21KJxAaykR1nTp0FiVLKtE4ub+8tnLleA1y\nKrfV7y+rW2dj1rp1duP2ww/sKRgyRO1UZAeT2/HPl0Cdz8FOXkJ6BsNVTPA6hq++4hwGvdy0Wzf1\ns96sBaipY2XL0vCWKMGwzpo1/IDffz8NozBwIFfKIpbn87ESSqaaifFv3FjlCcS4vfpqzue9b586\nN30l7/X69wFkZtrLT8WgHz7M/MSkSewByAmZOyBzFeTxkpjPKdE8f37gXIyTkiWVLtT5kJ0d/OWp\nTizLf3qfwVBEuCyOISkpCYmJiUhISMCkSZMC38myVKXPiRMMJ+nhCKfBE1mF55+numnLljSQzZvz\nWPrKHKChLl1azVP2eu0NYTIovlcvHqtbN/W3mjWZP5AuZ+d5Cy4XNZqGD+f5zptnNzZlynAH8fjj\nDGO5XOxJaNmSu44nngh8bfTjO7WZdu2yO4pAq95AOZtAREerEZznw5W4YwACV7gZDEWAS+4YvF4v\nHnroISQlJWHTpk2YOXMmNut1+MI11zA5+7//sTx02DC7LPN33zFp7HbbZaIbNeJOQa+TD9SolJ3N\nMFXVqgwx+XyB5w2IYXX2BORk7PS+A5eLxqV6dZ5TTIy98W3MGO6Mpk5lVzLAMNiSJdwt5UWZMkoS\nXJ5PHzCTnR04QX74cP52DO3asbT3fHn1VXaNGwyGK4JL7hjWrFmDmjVrokaNGggNDcXdd9+Nz2VQ\ni87mzZwb0KuX0koSmYz+/Vn3P2ECQz1SPTRiBL+//z4NX25TvGrUoNF/7z3VICeOQZ8y9sknfN7x\n4+16/zkpkt5yC48TF6d2GSK7sXcvE9DTpnH3IGRk2Bv2clL1dOLx2MXqCsKljJ9PmXJlViUFGn1q\nMBQBLrljSE1NRVWRYwAQGxuL1NRU/zvKilaS0Hv2MDZevz6rgWSW8U8/qYluTz/N72J0nXLQgOps\nvuMOfr31Fh3M44/TsbRowbh+69bsVr77bjqnTp3sxi0xUcli63i97E7+/HOGvjIymNsYOZJOBuAu\n4d131WNymzV9PlhWYG2jn37yl+y4mMyfb6++uhLITSvJYLjKueSBX1c+P2zjpMFo1y60A9DOsigR\nEcigNWzID7I+9AVghdCpU6qyp2FDSmp89BFX+6mpwAMPqPu3aXPuOeF2s6qnfn02eoWF2RPejRvb\n9YCEmBiWouojQQHuXqTSacMGNfUsO5vnLruPRYtUieyZM/x9TnOYATqtGTNyFrcLRH4H4GRk8Brp\nvRCFwdn5fCWQm1aSwRAkJCcnI1k03S4gl9wxxMTEYI8mr7Bnzx7EBjD24+66i6tqMSiSZN27N+eD\n681iAGc4zJyp9JakMa14cSajv/mGOwL9/mlpFMqrXt2+ys3MtBs3WdU7Hd0117C5TZAkr56T0B/j\n3C3ccov6OS6O1VM5JegBYPHii2d0t27l9XEK9xWUK9Ex/O1vJpRkCHratWuHdu3anbv9zDPPXJDj\nXvIlUbNmzbB161bs3LkTmZmZmD17Nrp37+5/R2epYMOGrCIaNMhusPfupXDcsmVKAVRn/35+T07m\nKr5iRSU658wRpKdzBd+8OXcVMohH0HcMI0dSTjsvROsop5JNj4fVP4F2UocOMVGcGxdzZXvqlD3h\nX1g8nitvfsH48TlLohsMVzmX3DGEhITg9ddfR+fOnVG3bl306dMHdQLJLYi0RbFirDCaNYsf1Fmz\naKw6deLtgweZc1i+XPUeAP56+W3bMnmcmqocgtMxOI23s6JHX/XKpDcnSUn22cNSYvvJJ4EdQ0SE\narILRG5GPz2d4aaLFQtftSpvx5QfNm7MfadnMBiCissSRO3SpQt+//13bNu2DWPGjAl8p+rVWXq5\naJEa/OL10hi+8w7r/adOZZhDBPQkbg+o/gTh1CkK6aWkqH4Ep2MQEb1vvmGoyVnSqde1ByptBSgN\nvnIlQ0CLF/sP0QEYntFzEDnlEIYNo9BeXlwsx3ChVsw7duSv/NZgMAQFwZtdmzePiVy3m6GjYsVU\nF+7kydxRXHcdDfCGDay0EW67jdIPusGU0tXXXlMd0E7H8OGHHBP60ENMQGdlcbgPQFE+XTfpp59o\n+J243dRxmj6d+YPSpVk+W7UqNZIA7nYGD1aPqVIl8ACcN95gdVROOLWSLjT33Wefx1xY4uJMhY/B\ncAUR3O2onTpR8kGMynvvqY5kr9de8qkbeX1ojqz65ft//8uY/gMP2LWUAA7YiYpifNnr5QjPadOA\njh2BY8fs992/P3CfxLZtzHcASua6YUNKdcj0tNat7QY/IoINewVFros+c+FCIuduMBiKFMHrGPbv\n9x8gr+P1Uv4iEBLi2byZCqWAPSx06BB3Bk4kbPPUU1RrBZisLl9elZoK330XOKG6caPS8ndqJV1o\nZETmlaZDZDAYgprgdQy6U8jKoixGixaq9NFpaJs3pwrqqVO8f0YGdX5E60df8ec1NGbbNoruxcay\nj0GXmRCcA3oEp1YScPGqcgoyjc1gMBjySfDmGAAa/7VraewlefnMM+wVmDtX3a9pU2oklSrFcI3P\n57/bkB1AfrGswhn09u3Vz+IY6tWj5tOFxu22V2IZDAbDBSB4HcP+/ewsvvFGGmjpIYiNBfr2tYuy\nWRbj9CKJ4XYzhKTvEv76V+4C8hN2ueYa5ifcbkpbFETOoW1b7l5KlqQuEkAHoZedzp9vz48UFpeL\nA4YMBoPhAhK8jsHrZe17ejordrKzgU8/BQYM4PznJk14v/Lluato0wZ49FFW0Yge0oIF6nguF9C7\nNxvk8mLSJK7yPR4esyCdv14vS22Tk+3lnjffrBrrnFpJBoPBEEQEb45BVv0AQ0QZGSwZdeYWRo2y\nr8ZPn1Zho2PHuNoXCe6bbmJp6PLldBR79gTWXhI11C+/BGrXZulqfmWj69RhhZRTR2nLFtXslpx8\n/jITBoPBcJEI3h2DXvdepgzDRYHi/Q8/bL+tD6F59FG79hCgpp4BwM6dgZ87Opo9FLVq8XZBhsw0\na8ZQl5Pjx1XC2lQRGQyGICa4dwyCzDQG2AktYSSAkhD//jenqa1fzy5bvSlLtJKExEROhsttpm/X\nrvwCOAxImtwKi8/HBLrsXObPz//MBYPBYLjEXBk7huLFVd5g4kTg99+Bfv14++RJ4O23WWL6ySfs\nMAbUrAR9tZ+UZHca+Rly8/zzTETnl+++Yw5BZ8sWJbcBsPxVd24Gg8EQRASvYyhblp23gwZxpS2O\nYtculn6+8YZ9+lpqKlfiAwdyF1G1KhvV9Elpc+eqoT6WlfOwmtWrgQMHCnfey5ez87l3byW9UbMm\nz9dgMBiuAFyWdSlnPOYPl8sFy7JYNrp0KVf2Q4dyZwBQTmLDBjqA1FQa+B49WFqa28upWZMVQ8OH\nA4GkvoXu3alllNt9cmLiRCa1p0wBvv5alawaDAbDReac7TxPgnfHAHBmcrFi3C1UrAiMG8ffR0Wp\nGdCSi2jZMm810O3buZp/6aXc73c+g2XWr1e6R0Y4zmAwXIEEt2N45RUlaVGrFlf7QlQUZ0FLb0DP\nnv56Rk5ateLu448/cr/fyZNq6ltB+e47VYoafJsxg8FgyJPgdgw6f/kL8wcAQ0dhYexXkHnO+urc\nstj34GTlSo5s3Lgx9+f6+msqrRaGZcuANWv4c6BzMBgMhiAneMtVc2L4cKBGDc47AFixlJDgH7aJ\niAi8Ypcehrwo7Gpfn0Z39mzhjmEwGAyXkeDdMZw5YzeyQlwcm88SE3nb46ER1x2D/OycGw1QM2nP\nntyfW57jfAgPN7MMDAbDFUlw7xj0zuTDhxm7Hz6ct9eu5SjPkBD2NQRK9K5bRxE+Hbc75zJVYfhw\nJqrPh1Wr8n4eg8FgCEKCd8fgdjMUI3H6TZvYlyBIqMft5lcgx1DYqiCZMX0+NG7MXYPBYDBcYQTv\njkGM+unTNLB799qTxqKbVLly3scoKKVKmfyAwWAosgT3jkH/npxMtdRvv6UekjiGrCxg7NjAxyis\nYxg0CBgzpnCPNRgMhiuc4HUM+rxkQPUwvPUWJSuGDePtjIzADWuNGrHXwWAwGAwFIngdgwjOiWN4\n8kkqkm7bxuazTz4BHnmE/QyB5Ljj4wvvGH799fyTzwaDwXCFEtw5hshI5Rg8Hs5lWLuWTW0REcox\nZGSw2a1aNfX4Tz8t/HO/+y53KCNGnN9rMBgMhiuQ4N0xAFQoDTQkp2ZNKq9mZirHcSF1ic5HK8lg\nMBiucIJ3xwCo7madtDTuFvr1u3iO4dgxM2XNYDAUWYJ7xxCIEiUYPgoLY0VSTo4hI6PwshbvvQe8\n9tr5nafBYDBcoQT3jiE3FizgMJ9+/YBKlfwdQ8WKQEpKwaavCZMn5y3hbTAYDFcpV65j+O03NUPZ\nqZUEMOSUmVm4Yz/++Pmdm8FgMFzBXLmOQRe527cvcI7h0CHuHAwGg8GQb65cx6CTk65RoIomg8Fg\nMOTKlZd8zi8//KCkuQ0Gg8GQb64Ox/D3v7NCSadNGzNz2WAwGAqBy7KCbzCxy+VCgU4rKorzGow2\nksFgKMIU2HbmwNWxY3C7A+slGQwGg6HAXB2O4fRpCuwZDAaD4by5OhwDYKalGQwGwwXi6nAMqans\nfjYYDAbDeXN1JJ8NBoPBYJLPBoPBYLg4GMdgMBgMBhvGMRgMBoPBhnEMBoPBYLBhHIPBYDAYbBjH\nYDAYDAYbhXYM48aNQ2xsLJo0aYImTZpg0aJF5/42YcIEJCQkIDExEUuWLDn3+59++gkNGjRAQkIC\nhg8ffn5nbjAYDIaLQqEdg8vlwmOPPYb169dj/fr16NKlCwBg06ZNmD17NjZt2oSkpCQMGzbsXF3t\n0KFDMXXqVGzduhVbt25FUlLShXkVVzHJycmX+xSCBnMtFOZaKMy1uPCcVygpUCPF559/jr59+yI0\nNBQ1atRAzZo1sXr1auzfvx8nT55EixYtAAADBgzAZ599dj5PXyQw//QKcy0U5loozLW48JyXY3jt\ntdfQqFEj3HfffTh+/DgAYN++fYiNjT13n9jYWKSmpvr9PiYmBqmpqefz9AaDwWC4COTqGDp16oQG\nDRr4fc2fPx9Dhw5FSkoKNmzYgMqVK2PkyJGX6pwNBoPBcDGxLgApKSlW/fr1LcuyrAkTJlgTJkw4\n97fOnTtbq1atsvbv328lJiae+/3HH39sPfDAAwGPFx8fbwEwX+bLfJkv81WAr/j4+Ath0q0QFJL9\n+/ejcuXKAIB58+ahQYMGAIDu3bujX79+eOyxx5CamoqtW7eiRYsWcLlcKFGiBFavXo0WLVpgxowZ\neOSRRwIee9u2bYU9LYPBYDCcJ4V2DKNHj8aGDRvgcrkQFxeHt99+GwBQt25d3HXXXahbty5CQkIw\nZcoUuP6cvTxlyhQMHDgQ6enpuPXWW3HLLbdcmFdhMBgMhgtGUMpuGwwGg+HyEVSdz0lJSUhMTERC\nQgImTZp0uU/norNnzx60b98e9erVQ/369fHqq68CAI4ePYpOnTqhVq1auPnmm89VfAE5Nw9eLXi9\nXjRp0gTdunUDUHSvxfHjx3HnnXeiTp06qFu3LlavXl1kr8WECRNQr149NGjQAP369UNGRkaRuRb3\n3nsvKlaseC5UDxTuM1Hg5uILkqm4AGRnZ1vx8fFWSkqKlZmZaTVq1MjatGnT5T6ti8r+/fut9evX\nW5ZlWSdPnrRq1aplbdq0yRo1apQ1adIky7Isa+LEidbo0aMty7KsjRs3Wo0aNbIyMzOtlJQUKz4+\n3vJ6vZft/C8GL774otWvXz+rW7dulmVZRfZaDBgwwJo6daplWZaVlZVlHT9+vEhei5SUFCsuLs46\ne/asZVmWddddd1nvv/9+kbkW3333nbVu3bpzxT2WVbDPhM/nsyzLspo3b26tXr3asizL6tKli7Vo\n0aJcnzdoHMOKFSuszp07n7vtrG4qCvTo0cP66quvrNq1a1sHDhywLIvOo3bt2pZlWdb48eOtiRMn\nnrt/586drZUrV16Wc70Y7Nmzx+rYsaO1bNkyq2vXrpZlWUXyWhw/ftyKi4vz+31RvBZHjhyxatWq\nZR09etTKysqyunbtai1ZsqRIXQu96tOyCv5/sG/fPltF6MyZM3OsCBWCJpSUmpqKqlWrnrstjXFF\nhZ07d2L9+vVo2bIlDh48iIoVKwIAKlasiIMHDwLIuXnwamHEiBGYPHky3G71b1kUr0VKSgrKly+P\nQYMGoWnTphgyZAhOnz5dJK9FmTJlMHLkSFSrVg1VqlRBqVKl0KlTpyJ5LYSCvvbCNBcHjWOQyqWi\nyKlTp9CrVy+88sorKF68uO1vLpcr12tztVy3L774AhUqVECTJk1ynFlbVK5FdnY21q1bh2HDhmHd\nunWIjo7GxIkTbfcpKtdi+/btePnll7Fz507s27cPp06dwocffmi7T1G5FoHI67UXlqBxDDExMdiz\nZ8+523v27LF5uauVrKws9OrVC/3790fPnj0BcBVw4MABAOwXqVChAgD/a7R3717ExMRc+pO+CKxY\nsQLz589HXFwc+vbti2XLlqF///5F8lrExsYiNjYWzZs3BwDceeedWLduHSpVqlTkrsXatWtx3XXX\noWzZsggJCcEdd9yBlStXFslrIRTkMxEbG4uYmBjs3bvX9vu8rknQOIZmzZph69at2LlzJzIzMzF7\n9mx07979cp/WRcWyLNx3332oW7cuHn300XO/7969O6ZPnw4AmD59+jmH0b17d8yaNQuZmZlISUk5\n1zx4NTB+/Hjs2bMHKSkpmDVrFjp06IAZM2YUyWtRqVIlVK1aFVu2bAEALF26FPXq1UO3bt2K3LVI\nTEzEqlWrkJ6eDsuysHTpUtStW7dIXguhoJ+JSpUqnWsutiwLM2bMOPeYHLlQCZILwcKFC61atWpZ\n8fHx1vjx4y/36Vx0vv/+e8vlclmNGjWyGjdubDVu3NhatGiRdeTIEatjx45WQkKC1alTJ+vYsWPn\nHvP8889b8fHxVu3ata2kpKTLePYXj+Tk5HNVSUX1WmzYsMFq1qyZ1bBhQ+v222+3jh8/XmSvxaRJ\nk6y6deta9evXtwYMGGBlZmYWmWtx9913W5UrV7ZCQ0Ot2NhYa9q0aYV67WvXrrXq169vxcfHWw8/\n/HCez2sa3AwGg8FgI2hCSQaDwWAIDoxjMBgMBoMN4xgMBoPBYMM4BoPBYDDYMI7BYDAYDDaMYzAY\nDAaDDeMYDAaDwWDDOAaDwWAw2Ph/TA9rmoYFZDcAAAAASUVORK5CYII=\n", - "text": [ - "" - ] - } - ], - "prompt_number": 18 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This time the filter does struggle. Notice that the previous example only computed 100 updates, whereas this example uses 1000. By my eye it takes the filter 400 or so iterations to become reasonable accurate, but maybe over 600 before the results are good. Kalman filters are good, but we cannot expect miracles. If we have extremely noisy data and extremely bad initial conditions, this is as good as it gets.\n", - "\n", - "Finally, let's make the suggest change of making our initial position guess just be the first sensor measurement." - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "sensor_error = 30000\n", - "movement_error = 2\n", - "pos = None\n", - "\n", - "dog = DogSensor(0, velocity=movement, noise=sensor_error)\n", - "\n", - "zs = []\n", - "ps = []\n", - "\n", - "for i in range(1000):\n", - " Z = dog.sense()\n", - " zs.append(Z)\n", - " if pos == None:\n", - " pos = (Z, 500)\n", - " \n", - " pos = sense (pos[0], pos[1], Z, sensor_error)\n", - " ps.append(pos[0])\n", - "\n", - " pos = update (pos[0], pos[1], movement, movement_error)\n", - "\n", - "p1, = plot(zs,c='r', linestyle='dashed')\n", - "p2, = plot(ps, c='b')\n", - "legend([p1,p2], ['measurement', 'filter'], 2)\n", - "show()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "display_data", - "png": "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\nAABJRU5ErkJggg==\n", - "text": [ - "" - ] - } - ], - "prompt_number": 19 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This simple change significantly improves the results. On some runs it takes 200 iterations or so to settle to a good solution, but other runs it converges very rapidly. This all depends on whether the initial measurement $Z$ had a small amount or large amount of noise. \n", - "\n", - "200 iterations may seem like a lot, but the amount of noise we are injecting is truly huge. In the real world we use sensors like thermometers, laser rangefinders, GPS satellites, computer vision, and so on. None have the enormous error as shown here. A reasonable value for the variance for a cheap thermometer might be 10, for example, and our code is using 30,000 for the variance. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "####Explaining the Results\n", - "\n", - "So how does the Kalman filter do so well? I have glossed over one aspect of the filter as it becomes confusing to address too many points at the same time. In these example we do not have 1 sensor but 2. The first sensor is the RFID sensor that outputs the position measurement, and the second sensor measures our dog's movement using an intertial tracker. How does our filter perform if that tracker is also noisy? Let's see:\n", - "\n" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "sensor_error = 30000\n", - "movement_sensor = 30000\n", - "pos = (0,500)\n", - "\n", - "dog = DogSensor(0, velocity=movement, noise=sensor_error)\n", - "\n", - "zs = []\n", - "ps = []\n", - "\n", - "for i in range(1000):\n", - " Z = dog.sense()\n", - " zs.append(Z)\n", - " \n", - " pos = sense(pos[0], pos[1], Z, sensor_error)\n", - " ps.append(pos[0])\n", - "\n", - " pos = update(pos[0], pos[1], movement, movement_error)\n", - "\n", - "p1, = plot(zs,c='r', linestyle='dashed')\n", - "p2, = plot(ps, c='b')\n", - "legend([p1,p2], ['measurement', 'filter'], 2)\n", - "show()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "display_data", - "png": "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\nSUVORK5CYII=\n", - "text": [ - "" - ] - } - ], - "prompt_number": 20 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This result is worse than the example where only the measurement sensor was noisy. Instead of being mostly straight, this time the filter's output is distintly jagged. But, it still mostly tracks the dog. What is happening here?\n", - "\n", - "This illustrates the effects of *multi-sensor fusion*. Suppose the dog is actually at 10.0, and we get subsequent measurement readings of -289.78 and 301.43. From that information alone it is impossible to tell if the dog is standing still during very noisy measurements, or perhaps sprinting from -289 to 301 and being accurately measured. But we have a second source of information, his velocity. Even when the velocity is also noisy, it constrains what our beliefs might be. For example, suppose with the readings of -289.78 to 301.43 we get a velocity reading of 590. That matches the difference between the two positions quite well, so this will lead us to believe the RFID sensor and the velocity sensor. Now suppose we got a velocity reading of 1.7. This doesn't match our RFID reading very well. Finally, suppose the velocity reading was -678.8. This completely contradicts the RFID reading - we may not be sure from these few values which sensor is most inaccurate, but perhaps by now you will trust that the gaussians expressing our beliefs will correctly handle these cases. It's a bit hard to talk about while working with 1D problems, so we will take this topic up in great detail in the next chapter where we develop multidimensional Kalman filters. Remark\n", - "\n", - "Besides that issue, we are modelling the noise in our sensors using gaussians which model their real world performance. We are multiplying the gaussians (probabilities) when we get a new position measurement, adding the gaussians when we get a movement update. This is algorithmically correct (this is how the histogram filter works) and mathematically correct - why wouldn't it work? \n", - "\n", - "#### Summary\n", - "This takes some time to assimulate. To truly understand this you will probably have to work through this chapter several times. I encourage you to change the various constants and observe the results. Convince yourself that gaussians are a good representation of a unimodal belief of something like the position of a dog in a hallway. Then convince yourself that multiplying gaussians truly does compute a new belief from your prior belief and the new measurement. Finally, convince yourself that if you are measuring movement, that adding the gaussians correctly updates your belief. That is all the Kalman filter does. Even now I alternate between complacency and amazement at the results. \n", - "\n", - "If you understand this, you will be able to understand multidimensional Kalman filters and the various extensions that have been make on them. If you do not fully understand this, I strongly suggest rereading this chapter until you do understand it. Try implementing the filter from scratch, just by looking at the equations and reading the text. Change the constants. Maybe try to implement a different tracking problem, like tracking stock prices. Experimentation will build your intuition and understanding of how these marvelous filters work.\n", - "\n" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "author notes:\n", - " clean up the code - same stuff duplicated over and over - write a 'clean implemntation' at the end.\n", - " \n", - " " - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "ename": "SyntaxError", - "evalue": "invalid syntax (, line 1)", - "output_type": "pyerr", - "traceback": [ - "\u001b[1;36m File \u001b[1;32m\"\"\u001b[1;36m, line \u001b[1;32m1\u001b[0m\n\u001b[1;33m author notes:\u001b[0m\n\u001b[1;37m ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m invalid syntax\n" - ] - } - ], - "prompt_number": 21 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "sensor_error = 30\n", - "movement_error = 2\n", - "pos = (1000,500)\n", - "\n", - "zs = []\n", - "ps = []\n", - "\n", - "\n", - "for i in range(100):\n", - " pos = update(pos[0], pos[1], movement, movement_error)\n", - "\n", - " Z = math.sin(i/3.)*5.\n", - " zs.append(Z)\n", - " \n", - " pos = sense(pos[0], pos[1], Z, sensor_error)\n", - " ps.append(pos[0])\n", - "\n", - "\n", - "p1, = plot(zs,c='r', linestyle='dashed')\n", - "p2, = plot(ps, c='b')\n", - "legend([p1,p2], ['measurement', 'filter'], 2)\n", - "show()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "display_data", - "png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAEACAYAAABfxaZOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XtYVNX6B/Dv4KXUUBFx0JDwYIDgBTplaWUgDaYpYnos\nLUOzTnY7djmV9TudtGNIpZX1dE5pN45dvHRRMyU1HcsLaaFHy1sqKCqigpAi15n398fKSeQizN5z\ngf39PM88Csxe+509M+9ee6211zKJiICIiAzBx9MBEBGR+zDpExEZCJM+EZGBMOkTERkIkz4RkYEw\n6RMRGYjmpF9YWIhRo0ahR48eiIyMxA8//ICCggJYLBaEhYUhISEBhYWFesRKREQaaU76kydPxpAh\nQ7Br1y5s374dERERSE1NhcViwd69exEfH4/U1FQ9YiUiIo1MWm7OKioqQkxMDA4cOFDl9xEREVi3\nbh3MZjOOHTuG2NhY7N69W3OwRESkjaaaflZWFgICAjBhwgRcddVVuO+++1BcXIy8vDyYzWYAgNls\nRl5eni7BEhGRNpqSfmVlJTIzM/Hggw8iMzMTbdq0qdaUYzKZYDKZNAVJREQ6EQ1yc3MlJCTE8fP3\n338vQ4YMkYiICMnNzRURkaNHj0p4eHi1bUNDQwUAH3zwwQcfDXiEhoZqSduiqaYfGBiIrl27Yu/e\nvQCA1atXIyoqCsOGDUNaWhoAIC0tDUlJSdW23b9/P0SEDxE8//zzHo/BWx48FjwWPBZ1P/bv368l\nbaO5pq0BvPnmm7jzzjtRXl6O0NBQfPDBB7DZbBg9ejTee+89hISEYOHChVp3Q0REOtCc9Pv06YMt\nW7ZU+/3q1au1Fk1ERDrjHbleIDY21tMheA0eiz/wWPyBx0I/msbpa9qxyQQP7ZqIqNHSmjs1N+/o\nrUOHDjh16pSnwyAP8PPzQ0FBgafDIGrSvK6mzysA4+J7T3RxWr8nbNMnIjIQJn0iIgNh0iciMhCP\nJn023xIRuZdHk35FhSf3Tu7y4Ycf4sYbb/R0GEQEDyf9s2c9ufemrbKy0tMhEJEXYtJvgJCQEMyc\nORO9e/eGr68vJk6ciLy8PAwePBjt2rWDxWJxLA2ZkZGB/v37w8/PD9HR0Vi3bp2jnA8++ACRkZFo\n27YtQkNDMWfOHMffTp48iaFDh8LPzw/+/v4YMGCA428+Pj5VFqwZP348nnvuOQCA1WpFUFAQXn75\nZXTu3BkTJ06EiCA1NRXdu3dHx44dcfvttzvugcjOzoaPjw8+/PBDBAcHw9/fH2+//Ta2bNmC3r17\nw8/PD4888kiV1//+++8jMjISHTp0wC233IJDhw5Vie2dd95BWFgY/Pz88PDDDwMAdu3ahQceeACb\nNm2Cr68vOnTooNfbQUTOEA8BIL/+WvPvvVVISIj069dPjh8/LkeOHJFOnTpJTEyMbNu2TUpLS2Xg\nwIEybdo0OXz4sPj7+8uKFStERGTVqlXi7+8vJ0+eFBGRr7/+Wg4cOCAiIuvWrZPWrVvL1q1bRURk\nypQpMmnSJKmsrJTKykpZv369Y/8mk0n279/v+Hn8+PHy3HPPiYjI2rVrpXnz5jJlyhQpLy+XkpIS\nef3116Vfv35y5MgRKS8vl/vvv1/GjBkjIiJZWVliMpnkgQcekLKyMlm5cqW0bNlSkpKS5MSJE47X\nt27dOhERWbx4sXTv3l12794tNptNpk+fLv37968S27Bhw6SoqEgOHTokAQEBkp6eLiIiH374odxw\nww0XPb7e/N4TeQut35PGWdOfOhUwmao/pk6t//Nre+5FPPLIIwgICECXLl1w4403ol+/fujTpw8u\nueQSjBgxAlu3bsXHH3+MIUOG4JZbbgEA3Hzzzbj66qvx9ddfAwCGDBmCbt26AQAGDBiAhIQEfPfd\ndwCAli1bIjc3F9nZ2WjWrBmuv/76OuOR83rDfXx8MG3aNLRo0QKXXnop3nnnHUyfPh1dunRBixYt\n8Pzzz+Ozzz6D3W53bPPcc8+hZcuWsFgs8PX1xdixY9GxY0fH69u2bRsA4O2338YzzzyD8PBw+Pj4\n4JlnnsG2bduQk5PjKGvKlClo27Ytunbtiri4OMe2wh57Iq/ReJO+SPVHXUm/vs+9iHPLQAJAq1at\nqvx86aWX4syZMzh48CAWLVoEPz8/x2PDhg04duwYAGDFihW47rrr4O/vDz8/Pyxfvhz5+fkAgCef\nfBLdu3dHQkICQkND8dJLL9U7toCAALRs2dLxc3Z2NkaMGOGIITIyEs2bN6+yfGVdr6dVq1Y4c+YM\nAODgwYOYPHmyoyx/f38AwJEjRxzPDwwMdPy/devWKC4urnfsROQejTPpe5Hza7HnloXs2rUrxo0b\nh1OnTjkep0+fxlNPPYWysjKMHDkSTz31FI4fP45Tp05hyJAhjnIuu+wyzJw5E/v378fSpUvx6quv\nYu3atQBUIj173kHLzc2tshTlhctSBgcHIz09vUocZ8+eRefOnRv8OoODgzFnzpwqZRUXF+O66667\n6LZcLpPIezDp6+hc4r7rrrvw1VdfYeXKlbDZbCgtLYXVasWRI0dQXl6O8vJydOzYET4+PlixYgVW\nrlzpKGPZsmXYt28fRARt27ZFs2bN4OOj3qbo6Gh8/PHHsNlsSE9PdzQJ1WbSpEl49tlnHR2uJ06c\nwNKlS516TZMmTUJKSgp27twJACgqKsKiRYvq3O7ctmazGYcPH0YFx+gSeRyTvkYX1rRNJhOCgoKw\nZMkSpKSkoFOnTggODsasWbMgIvD19cUbb7yB0aNHo0OHDvj0008xfPhwRxn79u1ztK/3798fDz30\nEG666SYAwOzZs/HVV1/Bz88Pn3zyCUaMGFFrLAAwefJkJCYmIiEhAW3btkW/fv2wefPmWp9f1+tL\nSkrC008/jTvuuAPt2rVDr1698M0339Ra1rljAQDx8fGIiopCYGAgOnXqdNF9EpHreHSWzQ8+EIwf\nX/337PgzJr73RBfXqGfZbAo1fSKixoRJn4jIQJj0iYgMhEmfiMhAPJr0S0o8uXciIuPRvDB6SEiI\nYzx5ixYtsHnzZhQUFOD222/HwYMHERISgoULF6J9+/bVtmVNn4jIvTTX9E0mE6xWK7Zu3eoYA56a\nmgqLxYK9e/ciPj4eqampNW7LpE9E5F66NO9cOGZ06dKlSE5OBgAkJydj8eLFNW7HpE9E5F661PTP\nzSI5d+5cAEBeXp5j4i6z2Vxlgq/zNcakv2fPHkRHRzuatF588UUAaj77rl27ejg6IqK6aW7T37Bh\nAzp37owTJ07AYrEgIiKiyt/Pvx3/Qrt2TXVMdhkbG4vY2Fit4bjcyy+/jPj4eMe0wbUJCQnB+++/\nj4EDB7opMiJqiqxWK6xWq27laU7652ZsDAgIwIgRI7B582aYzWYcO3YMgYGByM3NrXW+lYCAqc7O\ncOwxBw8eRP/+/S/6PC23Sp/bjrNTEtGFFeJp06ZpKk9T887Zs2dx+vRpAEBxcTFWrlyJXr16ITEx\nEWlpaQCAtLQ0JCUl1bK9lr2738CBA2G1WvHwww/D19cXd955p2O5wvONGzcOhw4dwrBhw+Dr64uZ\nM2cCqHsJxdjYWPzjH//A9ddfjzZt2iArK8ttr4uIDETLslsHDhyQPn36SJ8+fSQqKkpSUlJERCQ/\nP1/i4+PlyiuvFIvFIqdOnaq2LQAJDq5epsaQXC42Nlbee+89Eam+XGFQUJDjeSEhIfLtt986fr7Y\nEoo33XSTXHHFFbJz506x2WxSUVHhrpfkNbz9vSfyBlq/J5qad7p161Zj23aHDh2wevXqi27vbE1f\nr1YPPSZ0lHoW8tFHH9W6hOLdd98Nk8mE8ePHo0ePHgDgmEOfiEhPjXIahppWSnTm4U4XW0IRAEf/\nEJHLae7I1aKkRCXfxtxfWVtna01LF44bNw5z5sxpcFlERHrxaE3/kkuA0lJPRqCNnLck4IXMZjP2\n79/v+LmuJRTPL4+IyJU8mvRbt258I3jOd+E9COf//5lnnsH06dPh5+eHV199tc4lFGvanojIFTy6\nXGJQkGDjRuD8pmwumWdcfO+JLq5RL5fY2Gv6RESNjUeTfqtWnFOfiMidWNMnIjIQJn0iIgNh0ici\nMhAmfSIiA/HoHbk1JX0/Pz+OVzcoPz8/T4dA1OR5XdIvKCjwTDBERAbA5h0iIgNh0iciMhAmfSIi\nA2HSJyIyECZ9IiIDYdInIjIQJn0iIgNh0iciMhAmfSIiA2HSJyIyEF2Svs1mQ0xMDIYNGwZATaVg\nsVgQFhaGhIQEFBYW1rhd69ZcRIWIyJ10SfqzZ89GZGSkY6K01NRUWCwW7N27F/Hx8UhNTa1xu1at\nWNMnInInzUn/8OHDWL58Oe69917HYr1Lly5FcnIyACA5ORmLFy+ucVs27xARuZfmpP/YY4/hlVde\ngY/PH0Xl5eXBbDYDAMxmM/Ly8mrclkmfiMi9NE2tvGzZMnTq1AkxMTGwWq01PsdkMtU6P35q6lSU\nlgLPPw/ExcUiNjZWSzhERE2O1WqtNb86wyTn2mSc8Oyzz2LevHlo3rw5SktL8dtvv+G2227Dli1b\nYLVaERgYiNzcXMTFxWH37t1Vd2wyQUTQpg1w/DjQpo3m10JE1OSdy53O0tS8k5KSgpycHGRlZWH+\n/PkYOHAg5s2bh8TERKSlpQEA0tLSkJSUVGsZbOIhInIfXcfpn2vGmTJlClatWoWwsDCsWbMGU6ZM\nqXUbJn0iIvfR1Lyjace/X6L06AF88QXQo4cnoiAialw82ryjB9b0iYjch0mfiMhAmPSJiAyESZ+I\nyECY9ImIDIRJn4jIQJj0iYgMhEmfiMhAvCLpcyEVIiL38HjS50IqRETu4/Gkz+YdIiL3YdInIjIQ\nJn0iIgNh0iciMhAmfSIiA2HSJyIyECZ9IiIDYdInIjIQJn0iIgNh0iciMhAmfSIiA/F40m/RArDb\ngYoKT0dCRNT0eTzpm0ycaZOIyF00Jf3S0lJce+21iI6ORmRkJJ555hkAQEFBASwWC8LCwpCQkIDC\nwsI6y2ETDxGRe2hK+pdeeinWrl2Lbdu2Yfv27Vi7di3Wr1+P1NRUWCwW7N27F/Hx8UhNTa2zHNb0\niYjcQ3PzTuvWrQEA5eXlsNls8PPzw9KlS5GcnAwASE5OxuLFiy9SBmv6RETuoDnp2+12REdHw2w2\nIy4uDlFRUcjLy4PZbAYAmM1m5OXl1VkGkz4RkXs011qAj48Ptm3bhqKiIgwaNAhr166t8neTyQST\nyVTjtlOnTgUA5OUBGzbE4pprYrWGQ0TUpFitVlitVt3KM4mI6FXYv/71L7Rq1QrvvvsurFYrAgMD\nkZubi7i4OOzevbvqjk0mnNv14MHA3/6m/iUiotqdnzudoal55+TJk46ROSUlJVi1ahViYmKQmJiI\ntLQ0AEBaWhqSkpLqLKd9eyA/X0skRERUH5qad3Jzc5GcnAy73Q673Y5x48YhPj4eMTExGD16NN57\n7z2EhIRg4cKFdZYTHAzk5GiJhIiI6kPX5p0G7fi8S5S33gJ+/hn4z388EQkRUePh0eYdvVxxBXDo\nkKejICJq+rwi6QcHM+kTEbmD1yT9gwcBzzQ0EREZh1ck/Xbt1L9FRZ6Ng4ioqfOKpG8ysYmHiMgd\nvCLpA0z6RETu4DVJnyN4iIhcz2uS/rnOXCIich2vSvqs6RMRuRaTPhGRgTDpExEZiFfMvQMAFRVA\nmzZAcTHQooUnIiIi8n5NYu4dQCV6sxk4csTTkRARNV1ek/QBDtskInI1r0r6bNcnInItJn0iIgNh\n0iciMhCvS/q8K5eIyHW8Lumzpk9E5DpelfTPjd7hYipERK7hVUm/XTvAxwcoLPR0JERETZNXJX2A\nTTxERK7klUmfnblERK6hKenn5OQgLi4OUVFR6NmzJ9544w0AQEFBASwWC8LCwpCQkIDCBrTXsKZP\nROQ6mpJ+ixYt8Nprr+GXX35BRkYG3nrrLezatQupqamwWCzYu3cv4uPjkZqaWu8ymfSJiFxHU9IP\nDAxEdHQ0AOCyyy5Djx49cOTIESxduhTJyckAgOTkZCxevLjeZYaEAPv3a4mKiIhqo9vUytnZ2bjp\nppvw888/Izg4GKdOnQIAiAg6dOjg+Nmx41qmB83OBq69Fjh2DDCZ9IiMiKjp0Dq1cnM9gjhz5gxG\njhyJ2bNnw9fXt8rfTCYTTLVk76lTpzr+Hxsbi9jYWISEAK1aAbt3Az166BEdEVHjZbVaYbVadStP\nc02/oqICQ4cOxeDBg/Hoo48CACIiImC1WhEYGIjc3FzExcVh9+7dVXdcx9lqwgSgb1/ggQe0REZE\n1PR4dBEVEcHEiRMRGRnpSPgAkJiYiLS0NABAWloakpKSGlRubCyg44mNiIh+p6mmv379egwYMAC9\ne/d2NOHMmDEDffv2xejRo3Ho0CGEhIRg4cKFaN++fdUd13G2Yrs+EVHNtNb0vWaN3At16wYsX852\nfSKi8zWZNXIvxCYeIiL9eXXSX7vW01EQETUtXtu8k52tRvDk5bFdn4jonCbbvBMSArRpA+za5elI\niIiaDq9N+gDb9YmI9ObVST8ujkmfiEhPXtumD6h59a+5BsjNBZo1c1NgRERerMm26QNqzdyQEGDZ\nMk9HQkTUNHh10geAJ54AZs3ydBRERE2D1yf9kSNVM8+WLZ6OhIio8fP6pN+8OTB5Mmv7RER68OqO\n3HN++03NxZOZqdr5iYiMqkl35J7Ttq2aY//3ddeJiMhJjaKmD6jF0mNigAMHgHbtXBgYEZEXM0RN\nHwCCg4FbbwVefNHTkRARNV6NpqYPACdOAH36APPnAwMGuCgwIiIvZpiaPgAEBABz5wLJyUBRkaej\nISJqfBpVTf+cSZOA0lLgww/1jYmIyNsZqqZ/zqxZwIYNwGefeToSIqLGpVEm/TZtgI8/Bh58kHfq\nEhE1RKNM+oBaVevdd4HERGD3bk9HQ0TUODT3dABaJCYC+fnALbcA69cDQUGejoiIyLs16qQPqDt1\nT5wABg1SC64EBHg6IiIi76W5eeeee+6B2WxGr169HL8rKCiAxWJBWFgYEhISUFhYqHU3dXrySSAp\nCYiPVycAIiKqmeakP2HCBKSnp1f5XWpqKiwWC/bu3Yv4+HikpqZq3U2dTCZg+nRg+HBg4EDg+HGX\n7o6IqNHSZZx+dnY2hg0bhh07dgAAIiIisG7dOpjNZhw7dgyxsbHYfUFvq9axpjURAZ5/HvjiC2DN\nGqBTJ12LJyLyOK250yVt+nl5eTCbzQAAs9mMvLw8V+ymGpMJeOEF9e/NNwNr1wL+/m7ZNRFRo+Dy\njlyTyQSTyVTj36ZOner4f2xsLGJjY3XZ59SpQFkZYLGoGn/79roUS0TkdlarFVarVbfyXNa8Y7Va\nERgYiNzcXMTFxbmleed8IsDjjwMbNwKrVqk5+YmIGjuvnIYhMTERaWlpAIC0tDQkJSW5Yjd1MpmA\nV18F/vxnYOhQNVcPEZHRaa7pjxkzBuvWrcPJkydhNpvxwgsvYPjw4Rg9ejQOHTqEkJAQLFy4EO0v\naGNxdU3/HLsdGDsWqKwEFiwAmjVz+S6JiFxGa+5slLNsNlRZmbprt2dPteRiLV0MRERezyubd7zN\nJZcAixcD69YBr7zi6WiIiDyn0U/DUF/t2gErVgD9+wPdugF/+YunIyIicj9DNO+cb+tWICEBWLlS\nLbRORNSYsHmngWJigH//W83V46Z7xoiIvIbhkj6gmnaSk4HbblOdvERERmG45p1z7HZg1Cg1TcPc\nuR4LQzfl5erKJTcXKCwEevUCOnf2dFTuIaJO3kVFwG+/Ab6+QGCgp6Nyn/x89f6f+zoFBgI+BqnO\nFRWpCRbbtFGPyy5r+sOyOWRTg9On1QpcTzwB3HuvR0NxSlmZmlzunXfUnccBASrR+/oC27erf/v1\nA+66CxgypOkNVd22Dfjvf4FPPlEnurZt1aOgQB2Hm29WQ3UHDWpaSVAE2LED+Pxz9Th0CGjdWr1G\nmw1o3lzNODt8OBAXB7Rs6emI9bV9O7BkCfDNN8D//qcmVjx7FiguVscmMRG48041DUuLFp6OVn+a\nc6d4iAd3XcWuXSIBASI//ODpSOqvtFRk2jSRTp1Ebr5ZZNEikbKyqs+x20V27xaZO1ckMlKkf3+R\nNWs8E6/evv1WJDpaJDhY5B//ENmzp+rfKytFtmwRmTFDJCZG5OqrRdat80ysetu+XeTGG0WuuELk\n8cdFNmwQsdmqPmf3bpGXXhK57jqRkBCRL79Un4fGLjtb5PbbRS6/XOSxx0S++Ubk7Nmqz8nLE3nz\nTfXaO3USeeut6sensdOaOw2f9EVEvvhCJZDjxz0dycVt2SISFSUyfLjI3r3126ayUmTePJHQUJGh\nQxvH66xJQYHIPfeIdO2qEll9vsw2m8jHH6skOXy4yMGDLg/TJX77TSX5gACRf/9bvaf1sXq1SI8e\nIrfcUv3k2FicPSvy7LMiHTqIPP+8yJkz9dtu+3aR668X6ddPZMcOl4boMjabyL/+JfLVV3/8jklf\nJ888IzJwoEhFhacjqVlFhcj//Z+qvXzyiXM1t/JykaefVklzwwb9Y3Sl9HSRLl1EHnpIJcCGKikR\neeEFkcBAlQgbk61b1Ulr/HhVk22o8nKRWbNEOnZUJ//GJDtb5KqrREaOFMnJafj2NpvIf/6jXntK\nSuO64jlxQp2sb7xR5MiRP35v7KS/aJFIcbH2ckTVnAYNUrUpb1NUJHLLLXaxDCiR3Fzt5X31lTp5\nzJzZOL4Eb7whEtixXKzPpqvLspUrnQ58zRqV+GfMaByvfdEilbAWTMkU+eADEatVZcL6VvXPs2OH\nyJ/+JPL3vzu1udutXi1iNqsTltb36vBhkWuuERk7VlUAvN2mTSLBwXZ56u6jUrEvu8rfjJ3077hD\nxN9f5NFHVUOmRvn56kvx8cfaQ9NLdrZIz26n5YGARVLx7D9rflJ5uVPlxsSITJrkvQmgokLkoVG5\nEul7UA50vEZkzBjVRnPzzZqywKFDIn37iowerfpHvJHNppoygoNFMjNFZNUqkXHjRG64QV3yREU5\ndbmWn68OX0KCyKlTuoetmzcez5LAQHv1fqj9+1VHhRNf0uJi9Z5fd53IsWP6xOkKn/3nuAS0LJTF\nre5Q7/P5bTtihKR/4IA67dX19ylTVHXorbc0x/W//6mitm7VXJRmP351VLpcelJe85sm9o8+rr0R\nOz5e9Ww1MHsXFakmrVGjvC/5FReLDB4sMih4pxS+/I5uV3TnlJSI3HabiMUicvq0rkVrVlmp+i5q\nTU52u8iCBSJBQers3UAVFaqZLDraueYiV7Lb7PLPwZvlymb7JOuHGoKz2UQ2bhQJD1fV9gaeuex2\ndTINCRH59Vd9YtbTO5MypbNPrmz92/siJ0/W+JymnfQ3bFAZ+J13Lv7c/ftFwsJEPv9cc2zz56sP\nhSc7PNfNPyoBPifkizsWXDwjFxSIxMWpL0EDa/0lJaq9ND7eubZyV/jtN5EBA1TF1pV9LBUVIhMm\niFx7raoBe4OyU8XylxHlcvPN9eiw1HCmtttFnntO5c5Dh5wuRle2s6XySORqib50p+T9kFX3k4uL\nRR54QHV2ODH0bs4cNQro55+dClV3drvIi/8slW6XHJZfF9Vd42y6ST8zUw1VSE+vf6H5+U41ddTk\n2WdVr/+FQ8Lc4euvRQJ8z8rqRxbXf6OzZ0WGDFHNHw1stKysFPnrX1Xy8/Qlf36+anqZNKmBQ+32\n7xcZNqzB1Xa7XeSJJ9RVtB79JVqcPXhcBrfbIMN77nNbu/PMmSpv1nckmKtUFBXLuIAVcoP/L1J4\nuAHv4eefi/Ts6VQb5ccfqz6DH39s8Ka6sttFnnxSvYyjRy7ebNk0k/7u3aq37bPP3BfQBWw21YQ8\napR7x/kuWKA6Wetq0apVWZkKOCGhwSc/u13kb38T+fOfPVfrzcsT6d1bdaY3uMneZhO59151iVDf\nMX2/s9vVyJ6wMOdGiOjh9IkSifX9Ue6M/EnKy9zbwzxnjuom+OUXt+7WobxcZFT4dkno/D8pPuPE\na9dQM/vyS1W39NRoNrtd5JFH1Peultacappe0i8rUwPKP/jArfHUpLRUDZd68kn37O/tt9WXb9s2\nDYVUVKiTpRMdnedqHL17u79p6/DBSonwy5XnHj/jfB+tzabaa2691akz9UsvqY58J5rJNSk8ZZd+\nnX6Ve7utksoKjQnfanWq/2PePFXP0vTZc0JpqUhiosiwwRVSWuiZYTXp6Srxf/ute/drs6kr7H79\nGnaF3fSSvohX3UFz8qSqAb7+uuv2YbeLvPiiSjj79rluP/WN5bnn1A097qr1ZmWJhPqdlNTQOdqH\nEpWXqx7QmTOd2nz2bNXc4a5OvpMnRf4cfFwe7vCR2Ip06FEeO1a1jTlh4UJ1lblli/Yw6uPsWTUO\nfdSo6neUu5vVqhL/8uXu2V95ucjdt52WAQPsDe5La5pJXy9lZeoW1KNHNRWTna0S8ssv6xTXeWw2\nNfCmZ5Styg0YnvbKKyr5ufouzj17RIIDzsob7f+h31CSrCx1yeRkeXPmiHTuLPLTT/qEU5vDh0V6\n9RJ5Mnql2Pfo1KheWCjSrZtqt3DCkiXuqfXm56upQe66y3tuiNy0SZ30XN2qXFwsMtRSKkMuWSXF\nmQ0fas6kfzEvvKDaeTU2zB8+rEY6TJum3009hYXqnHTjn89IwZ/+7HV3jbz/vrrkd1VH13ffiZg7\nVsp7vpNFvv9e38KLijRt/sUXKvmtWqVTPBfYvl3dGZ2a6oKbxDZuVNnr8GGnNl+7Vm3uqvtVDh5U\nV5J//7uL+steecXpeRcyM9Wonldfdc3NewUFItdfb5e7gtZI+ZPPOlUGk/7FVFaqCThmz9Zc1LFj\nqof973/XXjv55RfVbPTQ/RVS1qOPyrCuomEs5hdfqFGzTlYcazVvnkhAgF1W9n5CNaZ7oXXrVPLT\ne+qC1avVCeWTT/Qtt4oXXlA3YTiZVX/+Wd0YpvdJaft2dXvBrIk/u26M8HvvqY4pJ4e0HjyoRnM9\n9JC+VyEA2cznAAAQmklEQVT79qn88ahlh9h6RzvdptU0kr6re4/27FF37urQUHvihBrT3q+fc+3v\nNpvK7x07/p7np0xRjZqumhPAZlPVKg3DEzIyVAJ46intX4KKCjUz5hVXiOzYblcNyd56S7CoJBUa\nqjrctA7ftdnUlAIBAao27VKVlWpKygMHnC7i8GGVO524B6oau101m3XsKPJpygF1NnVVe6bdLpKU\npGpnTiosVHcuDxmiz6CGzz9X7/ubz58Qu39HTTPANf6kv3Sp+lbpNL6+VrNm6dLMI6KKeO019QF+\n9936F5mRocag9+37e3vxTz+pD7+r7wlftEi1TWloPjpxQo0Evekmp1sNZPt2NTTNYvH8mPiGKCpS\nM3707On8sMaDB9X9c9dfr24paCyKi0UefFCdpJ2dnvrUKZG//EWdQHZuK1PV6I8+0jXOak6cUP06\n333ndBHl5aqio2X0eFmZ6rMLCRHZvFlEJk5UzU8aeG3SX7FihYSHh0v37t0lNTW1+o4B9W0KCnLP\nWKnKSpX8dKxR79ih5mr/059Epk+vORnm56vL+JEj1WcwLe33k4TdrmaASkvTLZ46jRypphLVoLJS\ntRp06KAuUOpb+zt9Wm3XsaOa398jE51t365pc7tdneD9/dXNXPU9aZ05o+Z3DwhQk7xVVooaqqWh\nBu4Jy5apzu1HHqn/HbwlJWqGy65dVVNJSYmoz+CIEe75EHz+uUhEhOY5RjZuVE2xd9xR/4GFlZUi\nH36o+tRHjDjv3peSEs1Xtl6Z9CsrKyU0NFSysrKkvLxc+vTpIzt37qy6Y0BVISZOdEUIbmO3qzP4\n/feL+Pmpz9jVV6sa8bXXivj6qhtF//OfGpow9+xxXwbMzVVXFToMScnJUW9bx45qHpMNG2pexGXz\nZtUs4uenzjkeu92/rEx9+1as0FxUTo5KfH5+IpMnq07uC3OK3a5y+tNPq5PE8OHnzeWUnq6qfd42\n4U895OWpG+f8/NSNixkZ1S/QbTZ1JTNrlqrkDB4ssn7973/83//U2c9dl3l2u5pP+cQJzUWdPasq\nOh06qMEXy5ZVz912u7qz+d13VYvqDTe4ZvEer0z6GzdulEGDBjl+njFjhsyYMaPqjgH1qSgocEUI\nHlFcrDrAfvhBTeG7bp2XDcj573/VGUmnE83OnSrxxcSItGmjPuT9+6takZ+fyrPTp7uu6bZBVq5U\nHRM6dR4ePapq/D17irRqpZouhgxRLRdt2qjcNnnyBf0+Z86ohN+QqUW8UGGhaqEIDxdp2VK1zg4a\npG6PuOwyVbMfM6aG+kVKisqIjVhxseqLu+YakUsvVZ/xfv1Uk2XHjuq1jx6txvu7qj6nNem7ZI3c\nzz77DN988w3m/r7i+EcffYQffvgBb775puM5JpMJ8tlnwMiReu+eaiMC7NsHXHml7kUXFQE//qjW\nYw0IADp2VIvOV1uX9/77gQkTgOuu0z2Gi5owQS0c/MYbuhZbUgL88gtw9ChwxRVAt25qrd5qnnxS\nrVz/0Ue67r9eysqAL78E7rhD92Kzs4Fff1WvuVcvwM9P1114reJi4Ngx9ZYWFQF9+gBBQa7fr9Y1\ncpvrGIuDqZ4rcE/dvl2t8AwgNjYWsbGxrgiHzjGZXJLwAaBdOyA+/iJP+vpr4Ntvgddec0kMFzVr\nFhAVBYwdq+tJp1Ur4OqrL/KkzEy1ivvvn3e3EwGefx645BJgxAjdir3kEiA8XD2Mpk0bIDRUPWr1\n22/q3xprAfVjtVphtVqd3v5CLqnpZ2RkYOrUqUhPTwcAzJgxAz4+Pnj66af/2LHWFd21Wr8e+Pxz\n9yagigqgRQv37c+bnDmjEu577wE33+y5OObPV8l3+XL37nfxYnVJMGaMe/d7vu++Uye8n38G2rf3\nXBxG8te/qmP98su6Fak1d7ok6VdWViI8PBzffvstunTpgr59++LTTz9Fjx49/tixp5P+6dMqCX34\nITBwoHv2OXKkurz+y1/csz9v8thjQEEBkJbm2ThEVPJt3dqzcXjKpEnqGLzzjqcjcb+TJ1XT3rRp\nNbQ7usCaNUBysjrJtmunW7Gac6emHoE6LF++XMLCwiQ0NFRSUlKq/d2Fu66/ZctUx5o7Vg/54gvV\nw+lVPbvinpmuMjLUxOU6jKIgjQoL1TBpq9X1+8rN/X2tRy9RXq563N2xOvyZM2os97JluhetNXe6\npKZfHx6v6Z9zzz2q9/Htt123j5MnVS/Pp58CAwa4bj8N9dlnwLx5qunBlTWfn39WvZwJCa7bB9Xf\n0qXAqlXAeQMrdCeirmzDw4EZM1y3n4b66SdgyBDVt9Kpk+v289hj6ns/b57uRXtl8069duwtSb+o\nSA05mDsXGDRI//JFgNtuA7p3B155Rf/ytSgvB/r2Bf72N3XyI+MQce2JfsEC1YySmQlceqnr9uOM\np58GsrJUjK44Bvv3AzfeqE4s/v66F8+kr4cNG/4Yb6a3Tz4BXnoJ2LxZDXXwNjt2qD6NzZvVWEOj\nKS1VVyF/+pO+5f7yC7BlCzB+vL7lNgbHjwO9ewNLlgDXXuvpaKorKQGuuQZ4/HHXVXby812S8AHt\nudNHx1gar+uvd03CB4Bhw1TziTcmfEC97qeeUsnJZvN0NO737bfqCu/MGf3KLC0F7r5bXUkZTWWl\nGqxw773emfABNcZ24UI1mMNVXJTw9cCaPqlkP3AgMHo08NBD2suz29VlsztGSOhh/Hg1lPb3mwk1\nEVHllZS4rvnAm23fDrzwgnrtzZp5Opomic07pI+8PFUD0nATicOTTwKdO6vL58bgt9/U5f4jjwAP\nP6ytrNdeU/cBrF+v7t5pDA4eVMMLJ0zwdCRUD155R26jJ6I6eI10A4vZrE85c+aottxNm/Qpzx3a\ntgXS04EbblDHwdn7KFatUp31mzY1noQPqKucf/1LNUs98ICno2l8cnLUo39/T0dSL2zTr8l33wH9\n+qkOqYZasUJd2hvR6tXAP/+pplvw4jbNGnXrpuJes8b5Mq64AvjiC/VvY9Kli3rvUlJcMsSw0XDm\n+56VBdx0k5p4qrHQNMpfAw/uun6mTlUrRzjmxL0Iu11Nv9e5s1qYuyloyDSB8+apaQZdMZcsucfO\nnQ1fMUSvxew9zW5XU8ROn17/bfbsUdNqvvWW6+KqgdbcyaRfl/nzVSJbtKju5508qZY8jIzUtAya\n17nvPpGZMy+e/MvL1evXuFAJeYHMTHX39ObNF3/u55+rk8TJk66Pyx2OHlXzRT/88HmrntRizRo1\nNbwr17auBZO+q/30kzqbz51b89+XLBG5/HK1uoS3TbGgVVaWWtvx1ltFvv7aPdNVeKPs7KqLnhQV\nqbUJXL3Ep6fk59d+oi8vF1mwQOTGG9WVsA6L8niV48fVyj8dO6qlzoqLqz/nwAF1cliyxP3xCadh\ncI/8fDV5dnBw9b/93/+pWSPj4twflzuUlwOzZ6v27h9/BIYOVTNVGslf/6rmwO/cWX0GMjOB2FjV\naa1XB3hjkJGhpmUOD1cjnYYPB5o30bEge/YA//iHevTpU/3vrr6juQ4csknuU1ICHDpkzMnTbTa1\nAM2BA2oufqOsFHK+EydUBSgiwtORGBqTPhGRgXAaBiIiqjcmfSIiA2HSJyIyECZ9IiIDYdInIjIQ\nJn0iIgNh0iciMhAmfSIiA2HSJyIyEKeT/qJFixAVFYVmzZohMzOzyt9mzJiBK6+8EhEREVi5cqXm\nIImISB9OJ/1evXrhyy+/xIABA6r8fufOnViwYAF27tyJ9PR0PPjgg7Db7ZoDbcqsVqunQ/AaPBZ/\n4LH4A4+FfpxO+hEREQgLC6v2+yVLlmDMmDFo0aIFQkJC0L17d2zevFlTkE0dP9B/4LH4A4/FH3gs\n9KN7m/7Ro0cRFBTk+DkoKAhHjhzRezdEROSEOifDtlgsOHbsWLXfp6SkYNiwYfXeiclD804TEdEF\nNC3BIiKxsbHy03mr58yYMUNmzJjh+HnQoEGSkZFRbbvQ0FABwAcffPDBRwMeoaGhmnK2LsveyHlz\nOycmJmLs2LF4/PHHceTIEfz666/o27dvtW327dunx66JiKgBnG7T//LLL9G1a1dkZGTg1ltvxeDB\ngwEAkZGRGD16NCIjIzF48GD8+9//ZvMOEZGX8NjKWURE5H4euSM3PT0dERERuPLKK/HSSy95IgSP\nycnJQVxcHKKiotCzZ0+88cYbAICCggJYLBaEhYUhISEBhYWFHo7UfWw2G2JiYhyDA4x6LAoLCzFq\n1Cj06NEDkZGR+OGHHwx7LGbMmIGoqCj06tULY8eORVlZmWGOxT333AOz2YxevXo5flfXa2/ozbBu\nT/o2mw0PP/ww0tPTsXPnTnz66afYtWuXu8PwmBYtWuC1117DL7/8goyMDLz11lvYtWsXUlNTYbFY\nsHfvXsTHxyM1NdXTobrN7NmzERkZ6WgGNOqxmDx5MoYMGYJdu3Zh+/btiIiIMOSxyM7Oxty5c5GZ\nmYkdO3bAZrNh/vz5hjkWEyZMQHp6epXf1fbanboZVlM3sBM2btwogwYNcvx84Wgfoxk+fLisWrVK\nwsPD5dixYyIikpubK+Hh4R6OzD1ycnIkPj5e1qxZI0OHDhURMeSxKCwslG7dulX7vRGPRX5+voSF\nhUlBQYFUVFTI0KFDZeXKlYY6FllZWdKzZ0/Hz7W99pSUFElNTXU8b9CgQbJp06Y6y3Z7Tf/IkSPo\n2rWr42cj37yVnZ2NrVu34tprr0VeXh7MZjMAwGw2Iy8vz8PRucdjjz2GV155BT4+f3wUjXgssrKy\nEBAQgAkTJuCqq67Cfffdh+LiYkMeiw4dOuCJJ55AcHAwunTpgvbt28NisRjyWJxT22t35mZYtyd9\njuRRzpw5g5EjR2L27Nnw9fWt8jeTyWSI47Rs2TJ06tQJMTExVYb9ns8ox6KyshKZmZl48MEHkZmZ\niTZt2lRrvjDKsdi/fz9ef/11ZGdn4+jRozhz5gw++uijKs8xyrGoycVe+8WOi9uT/uWXX46cnBzH\nzzk5OVXOVEZQUVGBkSNHYty4cUhKSgKgzt7n7n7Ozc1Fp06dPBmiW2zcuBFLly5Ft27dMGbMGKxZ\nswbjxo0z5LEICgpCUFAQrrnmGgDAqFGjkJmZicDAQMMdix9//BH9+/eHv78/mjdvjttuuw2bNm0y\n5LE4p7bvxIX59PDhw7j88svrLMvtSf/qq6/Gr7/+iuzsbJSXl2PBggVITEx0dxgeIyKYOHEiIiMj\n8eijjzp+n5iYiLS0NABAWlqa42TQlKWkpCAnJwdZWVmYP38+Bg4ciHnz5hnyWAQGBqJr167Yu3cv\nAGD16tWIiorCsGHDDHcsIiIikJGRgZKSEogIVq9ejcjISEMei3Nq+04kJiZi/vz5KC8vR1ZWVq03\nw1ahdwdEfSxfvlzCwsIkNDRUUlJSPBGCx3z//fdiMpmkT58+Eh0dLdHR0bJixQrJz8+X+Ph4ufLK\nK8ViscipU6c8HapbWa1WGTZsmIiIYY/Ftm3b5Oqrr5bevXvLiBEjpLCw0LDH4qWXXpLIyEjp2bOn\n3H333VJeXm6YY3HHHXdI586dpUWLFhIUFCTvv/9+na/9xRdflNDQUAkPD5f09PSLls+bs4iIDITL\nJRIRGQiTPhGRgTDpExEZCJM+EZGBMOkTERkIkz4RkYEw6RMRGQiTPhGRgfw/jF0P74U+BvcAAAAA\nSUVORK5CYII=\n", - "text": [ - "" - ] - } - ], - "prompt_number": 22 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [], - "language": "python", - "metadata": {}, - "outputs": [] - } - ], - "metadata": {} - } - ] +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#Kalman Filters\n", + "\n", + "\n", + "Now that we understand the histogram filter and gaussians we are prepared to implement a 1D Kalman filter. We will do this exactly as we did the histogram filter - rather than going into the theory we will just develop the code step by step. \n", + "\n", + "#Tracking A Dog\n", + "\n", + "As in the histogram chapter we will be tracking a dog in a long hallway at work. However, in our latest hackathon someone created an RFID tracker that provides a reasonable accurate position for our dog. Suppose the hallway is 100m long. The sensor returns the distance of the dog from the left end of the hallway. So, 23.4 would mean the dog is 23.4 meters from the left end of the hallway.\n", + "\n", + "Naturally, the sensor is not perfect. A reading of 23.4 could correspond to a real position of 23.7, or 23.0. However, it is very unlikely to correspond to a real position of say 47.6. Testing during the hackathon confirmed this result - the sensor is accurate, and while it had errors, the errors are small.\n", + "\n", + "Implementing and/or robustly modelling an RFID system is beyond the scope of this book, so we will write a very simple model. We will start with a simulation of the dog moving from left to right at a constant speed with some random noise added. " + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import numpy.random as random\n", + "import math\n", + "\n", + "class DogSensor(object):\n", + " \n", + " def __init__(self, x0=0, velocity=1, noise=0.0):\n", + " \"\"\" x0 - initial position\n", + " velocity - (+=right, -=left)\n", + " noise - scaling factor for noise, 0== no noise\n", + " \"\"\"\n", + " self.x = x0\n", + " self.velocity = velocity\n", + " self.noise = math.sqrt(noise)\n", + "\n", + " def sense(self):\n", + " self.x = self.x + self.velocity\n", + " return self.x + random.randn() * self.noise\n" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 2 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The constructor (__init__()) initializes the DogSensor class with an initial position (x0), velocity (vel), and an noise scaling factor. The *sense()* function has the dog move by the set velocity and returns its new position, with noise added. If you look at the code for *sense()* you will see a call to *numpy.random.randn()*. This returns a number sampled from a normal distribution with a mean of 0.0. Let's look at some example output for that.\n", + "\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "for i in range(20):\n", + " print (\"%.4f\" % random.randn())," + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "-1.9126 0.6913 -0.5946 -1.2480 0.2278 0.7453 0.0081 0.6740 0.5837 0.5784 -1.2489 0.1916 -1.1272 -0.0133 -0.3466 0.9102 0.8873 2.1069 0.8212 0.6930\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You should see a sequence of numbers near 0, some negative and some positive. Most are probably between -1 and 1, but a few might lie somewhat outside that range. This is what we expect from a normal distribution - values are clustered around the mean, and there are fewer values the further you get from the mean.\n", + "\n", + "Okay, so lets look at the output of the *DogSensor* class. We will start by setting the noise to 0 to check that the class does what we think it does" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "%matplotlib inline\n", + "\n", + "dog = DogSensor (noise=0.0)\n", + "xs = []\n", + "for i in range(10):\n", + " x = dog.sense()\n", + " xs.append(x)\n", + " print(\"%.4f\" % x),\n", + "plot(xs)\n", + "show()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nAElFTkSuQmCC\n", + "text": [ + "" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The constructor initialized the dog at position 0 with a velocity of 1 (move 1.0 to the right). So we would expect to see an output of 1..10, and indeed that is what we see. If you thought the correct answer should have been 0..9 recall that *sense()* returns the dog's position *after* updating his position, so the first postion is 0.0 + 1, or 1.0.\n", + "\n", + "Now let's inject some noise in the signal." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "def test_sensor(noise_scale):\n", + " dog = DogSensor(noise=noise_scale)\n", + "\n", + " xs = []\n", + " for i in range(100):\n", + " x = dog.sense()\n", + " xs.append(x)\n", + " p1, = plot(xs, c='b')\n", + " p2, = plot([0,99],[1,100], 'r--')\n", + " xlabel('time')\n", + " ylabel('pos')\n", + " ylim([0,100])\n", + " title('noise = ' + str(noise_scale))\n", + " legend([p1, p2], ['sensor', 'actual'], loc=2)\n", + " show()\n", + " \n", + "test_sensor(4.0)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n", + "text": [ + "" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**note**:*numpy uses a random number generator to generate the normal distribution samples. The numbers I see as I write this are unlikely to be the ones that you see. If you run the cell above multiple times, you should get a slightly different result each time. I could use numpy.random.seed(some_value) to force the results to be the same each time. This would simplify my explanations in some cases, but would ruin the interactive nature of this chapter. To get a real feel for how normal distributions and Kalman filters work you will probably want to run cells several times, observing what changes, and what stays roughly the same.*\n", + "\n", + "So the output of the sensor should be a wavering blue line drawn over a dotted red line. The dotted red line shows the actual position of the dog, and the blue line is the noise signal produced by the simulated RFID sensor. Please note that the red dotted line was manually plotted - we do not yet have a filter that recovers that information! \n", + "\n", + "If you are running this in an interactive IPython Notebook, I strongly urge you to run the script several times in a row. You can do this by putting the cursor in the cell containing the Python code and pressing Ctrl+Enter. Each time it runs you should see a different jagged blue line wavering over the top of the dotted red line.\n", + "\n", + "I also urge you to adjust the noise setting to see the result of various values. However, since you may be reading this in a read only notebook, I will show two extreme examples. The first plot shows the noise set to 100.0, and the second shows noise set to 0.5." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "test_sensor(100.0)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n", + "text": [ + "" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "test_sensor(0.5)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nb6yuXpYiFWntWmPq1TPG21Zohl4221zZqMAsW2Z1VBWvvJ9rz6lRjB/vaGj8/W38+As//1znnkfv\n3r1Ldqvr27cvzZs3Z9OmTcyaNYvRo0fTqVMnAJo2bVpqh7qL0bFjRzp37oyXlxdXXnklQ4cOJTEx\n8ZJeS8QTHDwI998PCxfCT/nViD/zEMmHvend2+rIXI/n1K3Gj7+4L/qLPb8M8+bN49VXXyU5ORmA\n3Nxcjh8/TkpKCk2bNq2Q99i7dy9//etf2bx5M6dOnaKwsJCIiIgKeW2RqiYvD3r1grFjHRPppGye\nU6OwiN1uZ+jQobzxxhtkZGSQmZlJmzZtMMbQuHFj9u/ff9bn/X7jolq1anHq1KmS+0VFRSW73AE8\n9thjhIaGsn//frKzs3nppZcoLi6unIsScVd2O6ZvX/56fzrh4Y7lwOX8lCgqWV5eHjabjXr16lFc\nXMzs2bP5/vvvsdlsDBkyhKlTp7JlyxaMMezfv79ka9TAwEAOHDhQ8jotWrTg9OnTrF69moKCAl58\n8UXOnDlT8nhubi6+vr7UrFmTPXv28NZbbzn9WkVc1m/2rl57oiPbDtfl7bc17PVCKVFUstDQUEaN\nGsX1119PUFAQ33//PTfeeCPg6Lt49tlnue+++/Dz8+Oee+4hMzMTgGeeeYYXX3yRgIAAXnnlFfz9\n/XnzzTcZMmQIwcHB/OlPfyo1Cmrq1KksWrQIPz8/hg4dSv/+/UvVSsraWlWkSvt572ozaxZT70xg\n1LExLF/pbfmuc+7EkrWeJk6cyIIFC/Dy8qJt27bMnj2bvLw8+vXrh91uJyQkhPfee4/atWuXDlZr\nPVU6laVUKZmZ0Lo1xf/3BI8deIptO71ZvRrq1LE6MOdyu0UBk5OT6datG7t376Z69er069ePO+64\ng507d1KvXj2efvppJk2aRGZmJnFxcaWDVaKodCpLqWp+OnyCQX+ty4kTsHw5+PpaHZHzud2igH5+\nfvj4+JSMzDl16hQNGzZkxYoVDBo0CIBBgwaVmpQmInIpDh+GP/eqi7c3rFrlmUmiIjg9UdSpU4dR\no0bRpEkTGjZsSO3atYmOjiY9PZ3AwEDA0ZGbnp7u7NBExJ393L/3i2++gWuvhX79HHMl1Cdx6Zw+\nj+LAgQNMmzaN5ORk/P396dOnDwsWLCh1js1mO2fn6/jfzG2IjIwkMjKyEqMVEZdnDMyYAX//O2ze\n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\nQmCC\n", + "text": [ + "" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You may not have a full understanding of the exact *meaning* of a noise value of 100.0, but as it turns out if you multiply *randn()* with a number $n$, the result is just a normal distribution with $\\sigma = \\sqrt{n}$. So the example with noise = 100 is using the normal distribution $N(0,100)$. Recall the notation for a normal distribution is $N(\\mu,\\sigma^2)$. If the square root is confusing, recall that normal distributions use $\\sigma^2$ for the variance, and $\\sigma$ is the standard deviation, which we do not use in this book. *dog_sensor.__init__()* takes the square root of the noise setting so that the *noise * randn()* call properly computes the normal distribution. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Math with Gaussians\n", + "\n", + "Let's say we believe that our dog is at 23m, and the variance is 5 ($N(23,5)$). We can represent that in a plot:\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import gaussian\n", + "gaussian.norm_plot(23, 5)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\neBYuXAiYP86bytWq47xVPfzttHnzZrVz5041aNCgeo8fPHhQpaWlqejoaHX06FFvRmo006ZNm9TY\nsWNVTU2NUkqpL7/80nimUaNGqYKCAqWUUvn5+So1NdWrmb744gtVXFyslFLqxIkTqn///qqkpETd\nf//9atmyZUoppZYuXaoeeOABn8j1zjvvKKfTqZRS6oEHHvBqrqYyKWXuWG8qk8ljvalMpo/1U6dO\nKaWUOnv2rEpJSVFbtmwxfpw3las1x7lXW/bXXnstXbt2vejxe++9l9///vfejFKnsUx//vOfWbhw\nIeHh4QD06NHDeKbevXvXfWpXVlZisVi8mikyMpLExEQAOnbsiM1mw+Fw1LuobtasWaxfv954rsOH\nDzNu3DhCvxtLm5KSwqFDh4xnAnPHelP//1auXGnsWG8qk+lj/dJLLwWgpqYGp9NJ165djR/njeXq\n1q1b645zr3wkXaCsrKxei3X9+vVq/vz5SillpGXfWKbExET10EMPqZSUFDVq1Ci1Y8cO45nKy8uV\n1WpVUVFRymKxqIMHD3o904XZ+vbtq6qqqlSXLl3qHj937ly9+6ZynThxot7jN954o1qzZo3xTL5w\nrF+YqaqqyieO9QsznThxwvix7nQ6VUJCgurYsaO6//77lVLKJ47zxnJdqLnj3GixP3XqlBo+fLg6\nfvy4Ukr/AXz99dfejnRRYR00aJCaN2+eUkqpoqIidcUVVxjPNGbMGPXaa68ppZR6+eWX1dixY72e\nSSn9dXvo0KFq3bp1Sil10UHftWtXE7HUiRMn1LBhw+pynffII4+oKVOmGM/kK8d6w38nXzjWG2by\nlWO9srJSpaSkqE2bNvnMca7Uv3NdOF9PS45zo8V+165dqmfPnio6OlpFR0ersLAwdfnll6sjR44Y\ny6SUUuPHj1eFhYV19/v16+f1P8yGmTp16lT387lz51Tnzp29mkcppWpqatQNN9yg/vjHP9Y9NmDA\nAPXFF18opZQ6fPiwGjBggE/kUkqpVatWqZEjR6pvv/3WeCZfONYb+3cyfaw3lskXjvXzHn74YfXY\nY4/5xHHeWC6lWn6cG12pavDgwRw5coSysjLKysqwWq3s3LmTnj17mozFpEmT2LRpEwB79+6lpqaG\n7t27G80UExPD+++/D8CmTZvo37+/V99fKUVmZibx8fHMnz+/7vH09HSee+45AJ577jkmTZrkE7kK\nCgp47LHHyMvLIyIiwngm08d6U/9OJo/1pjKZPNa//vrrupE23377Le+++y5Dhgwxfpw3latVx7mH\nP4DqycjIUL1791bf+973lNVqVX/729/qPX/FFVd4vR+zsUw1NTVq+vTpatCgQWro0KFen970fKbw\n8PC6TDt27FDDhw9XCQkJ6uqrr1Y7d+70aqYtW7aokJAQlZCQoBITE1ViYqJ666231NGjR9WYMWNU\nbGysGjdunPrmm2+M58rPz1cxMTGqb9++dY/dddddxjNdyNvHelP//0we6039O5k81nft2qWGDBmi\nEhIS1ODBg9Xvf/97pZQyfpw3las1x7lcVCWEEEFAFhwXQoggIMVeCCGCgBR7IYQIAlLshRAiCEix\nF0KIICDFXgghgoAUeyGECAJS7IUQIgj8fxncASVSIaMEAAAAAElFTkSuQmCC\n", + "text": [ + "" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This corresponds to a fairly inexact belief. While we believe that the dog is at 23, note that roughly 21 to 25 are quite likely as well. Let's assume for the moment our dog is standing still, and we query the sensor again. This time it returns 23.2 as the position. Can we use this additional information to improve our estimate of the dog's position.\n", + "\n", + "Intuition suggests 'yes'. Consider: if we read the sensor 100 times and each time it returned a value between 21 and 25, all centered around 23, we should be very confident that the dog is somewhere very near 23. Of course, a different physical interpertation is possible. Perhaps our dog was randomly wandering back and forth in a way that exactly emulated a normal distribution. But that seems extremely unlikely - I certainly have never seen a dog do that. So the only reasonable assumption is that the dog was mostly standing still at 23.0.\n", + "\n", + "Let's look at this in a plot:" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "dog = DogSensor(23, 0, 5)\n", + "xs = range(100)\n", + "ys = []\n", + "for i in xs:\n", + " ys.append(dog.sense())\n", + " \n", + "plot(xs,ys)\n", + "show()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n", + "text": [ + "" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Eyeballing this confirms our intuition - no dog moves like this. However, noisy sensor data certainly looks like this. So let's proceed to see how we might solve this mathematically. But how?\n", + "\n", + "\n", + "Recall the histogram code for adding a measurement to a pre-existing belief:\n", + "\n", + " def sense(pos, measure, p_hit, p_miss):\n", + " q = array(pos, dtype=float)\n", + " for i in range(len(hallway)):\n", + " if hallway[i] == measure:\n", + " q[i] = pos[i] * p_hit\n", + " else:\n", + " q[i] = pos[i] * p_miss\n", + " normalize(q)\n", + " return q\n", + " \n", + "Note that the algorithm is essentially computing:\n", + "\n", + " new_belief = old_belief * measurement * sensor_error\n", + " \n", + "The measurement term might not be obvious, but recall that measurement in this case was always 1 or 0, and so it was left out for convience. \n", + " \n", + "If we are implementing this with gaussians, we might expect it to be implemented as:\n", + "\n", + " new_gaussian = measurement * old_gaussian\n", + " \n", + "where measurement is a gaussian returned from the sensor. But does that make sense? Can we multiply gaussians? If we multiply a gaussian with a gaussing is the result another gaussian, or something else?\n", + "\n", + "Of course the answer is 'yes', or this chapter would be for naught. It is not particularly difficult to perform the algebra to derive the equation for multiplying two gaussians, but I will just present the result:\n", + "$$ N({\\mu}_1, {{\\sigma}_1}^2)*N({\\mu}_2, {{\\sigma}_2}^2) = N(\\frac{{\\sigma}_1 {\\mu}_2 + {\\sigma}_2 {\\mu}_1}{{\\sigma}_1 + {\\sigma}_2},\\frac{1}{\\frac{1}{{\\sigma}_1} + \\frac{1}{{\\sigma}_2}}) $$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's immediately look at some plots of this to inform our intuition about this result. First, let's look at the result of multiplying $N(23,5) $ to itself. This corresponds to getting 23.0 as the sensor value twice in a row." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import gaussian\n", + "def multiply(mu1, sig1, mu2, sig2):\n", + " m = (sig1*mu2 + sig2*mu1) / (sig1+sig2)\n", + " s = 1. / (1./sig1 + 1./ sig2)\n", + " return (m,s)\n", + "\n", + "\n", + "xs = np.arange(16, 30, 0.1)\n", + "\n", + "\n", + "m1,s1 = 23, 5\n", + "m, s = multiply(m1,s1,m1,s1)\n", + "\n", + "ys = [gaussian.gaussian(x,m1,s1) for x in xs]\n", + "p1, =plot (xs,ys)\n", + "\n", + "ys = [gaussian.gaussian(x,m,s) for x in xs]\n", + "p2, = plot (xs,ys)\n", + "\n", + "legend([p1,p2],['original', 'multiply'])\n", + "show()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nRA38D9RdEf53Rgb8AAAAAElFTkSuQmCC\n", + "text": [ + "" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The result is either amazing or what you would expect, depending on your state of mind. I must admit I vacillate freely between the two! Note that the result of the multiplation is taller and narrow than the original gaussian. If we think of the gaussians as two measurement, this makes sense. If I measure twice and get the same value, I should be more confident in my answer than if I just measured once. \"Measure twice, cut once\" is a useful saying and practice due to this fact! \n", + "\n", + "Now let's multiply two gaussians (or equivelently, two measurements) that are partially separated. What do you think the result will be? Let's find out:" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "xs = np.arange(16, 30, 0.1)\n", + "\n", + "\n", + "m1,s1 = 23, 5\n", + "m2,s2 = 25, 5\n", + "m, s = multiply(m1,s1,m2,s2)\n", + "\n", + "ys = [gaussian.gaussian(x,m1,s1) for x in xs]\n", + "p1, = plot (xs,ys)\n", + "\n", + "ys = [gaussian.gaussian(x,m2,s2) for x in xs]\n", + "p2, = plot (xs,ys)\n", + "\n", + "ys = [gaussian.gaussian(x,m,s) for x in xs]\n", + "p3, = plot(xs,ys)\n", + "legend([p1,p2,p3],['measure 1', 'measure 2', 'multiply'])\n", + "show()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n", + "text": [ + "" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Another beautiful result! If I handed you a measuring tape and asked you to measure the distance from table to a wall, and you got 23m, and then a friend make the same measurement and got 25m, your best guess must be 24m. \n", + "\n", + "That is fairly counter-intuitive, so let's consider it further. Perhaps a more reasonable assumption would be that either you or your coworker just made a mistake, and the true distance is either 23 or 25, but certainly not 24. Surely that is possible. However, suppose the two measurements you reported as 24.01 and 23.99. Surely you would agree that in this case the best guess for the correct value is 24? Which interpretation we choose depends on the properties of the sensors we are using. Humans make galling mistakes, physical sensors do not. \n", + "\n", + "This topic is fairly deep, and I will explore it once we have completed our Kalman filter. For now I will merely say that the Kalman filter requires the interpretation that measurements are accurate, with gaussian noise, and that a large error caused by misreading a measuring tape is not gaussian noise. So perhaps you would be justified in thinking that a histogram filter will perform better for the human readings, and the Kalman filter will perform better with sensor readings that have gaussian noise.\n", + "\n", + "For now I ask that you trust me. The math is correct, so we have no choice but to accept it and use it. We will see how the Kalman filter deals with movements vs error very soon. 24 is the correct answer to this problem." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Implementing Sensing\n", + "\n", + "Recall the histogram filter uses a numpy array to encode our belief about the position of our dog at any time. That array stored our belief that the dog was in any position in the hallway using 10 positions. This was very crude, because with a 100m hallway that corresponded to positions 10m apart. It would have been trivial to expand the number of positions to say 1,000, and that is what we would do if using it for a real problem. But the problem remains that the distribution is discrete and multimodal - it can express strong belief that the dog is in two positions at the same time.\n", + "\n", + "Therefore, we will use a single gaussian to reflect our current belief of the dog's position. Gaussians extend to infinity on both sides of the mean, so the single gaussian will cover the entire hallway. They are unimodal, and seem to reflect the behavior of real-world sensors - most errors are small and clustered around the mean. Here is the entire implementation of the sense function for a Kalman filter:" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "def sense(mu, sigma, measurement, measurement_sigma):\n", + " return multiply(mu, sigma, measurement, measurement_sigma)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 12 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Kalman filters are supposed to be hard! But this is very short and straightforward. All we are doing is multiplying the gaussian that reflects our belief of where the dog was with the new measurement. Perhaps this would be clearer if we used more specific names:" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "def sense_dog(dog_pos, dog_sigma, measurement, measurement_sigma):\n", + " return multiply(dog_pos, dog_sigma, measurement, measurement_sigma)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 13 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That is less abstract, which perhaps helps with comprehension, but it is poor coding practice. We are writing a Kalman filter that works for any problem, not just tracking dogs in a hallway, so we don't use variable names with 'dog' in them. Still, the *sense_dog()* function should make what we are doing very clear. \n", + "\n", + "Let's look at an example. We will suppose that our current belief for the dog's position is $N(2,5)$. Don't worry about where that number came from. It may appear that we have a chicken and egg problem, in that how do we know the position before we sense it, but we will resolve that shortly. We will create a *DogSensor* object initialized to be at position 0.0, and with no velocity, and modest noise. This corresponds to the dog standing still at the far left side of the hallway. Note that we mistakenly believe the dog is at postion 2.0, not 0.0." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "dog = DogSensor(velocity=0, noise=1)\n", + "\n", + "pos,s = 2, 5\n", + "for i in range(20):\n", + " pos,s = sense(pos, s, dog.sense(), 5)\n", + " print 'time:', i, 'position = ', \"%.3f\" % pos, 'variance = ', \"%.3f\" % s\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "time: 0 position = 0.091 variance = 2.500\n", + "time: 1 position = -0.441 variance = 1.667\n", + "time: 2 position = -0.577 variance = 1.250\n", + "time: 3 position = -0.360 variance = 1.000\n", + "time: 4 position = -0.401 variance = 0.833\n", + "time: 5 position = -0.436 variance = 0.714\n", + "time: 6 position = -0.272 variance = 0.625\n", + "time: 7 position = -0.119 variance = 0.556\n", + "time: 8 position = -0.083 variance = 0.500\n", + "time: 9 position = -0.032 variance = 0.455\n", + "time: 10 position = -0.088 variance = 0.417\n", + "time: 11 position = -0.103 variance = 0.385\n", + "time: 12 position = -0.082 variance = 0.357\n", + "time: 13 position = -0.055 variance = 0.333\n", + "time: 14 position = -0.018 variance = 0.312\n", + "time: 15 position = -0.034 variance = 0.294\n", + "time: 16 position = -0.083 variance = 0.278\n", + "time: 17 position = -0.128 variance = 0.263\n", + "time: 18 position = -0.102 variance = 0.250\n", + "time: 19 position = -0.079 variance = 0.238\n" + ] + } + ], + "prompt_number": 14 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Because of the random numbers I do not know the exact values that you see, but the position should have converged very quickly to almost 0 despite the initial error of believing that the position was 2.0. Furthermore, the variance should have quickly converged from the intial value of 5.0 to 0.238.\n", + "\n", + "By now the fact that we converged to a position of 0.0 should not be terribly suprising. All we are doing is computing new_position = old_position * measurement, and the measurement is a normal distribution around 0, so we should get very close to 0 after 20 iterations. But the truly amazing part of this code is how the variance became 0.238 despite every measurement having a variance of 5.0. \n", + "\n", + "If we think about the physical interpretation of this is should be clear that this is what should happen. If you sent 20 people into the hall with a tape measure to physically measure the position of the dog you would be very confident in the result after 20 measurements - more confident than after 1 or 2 measurements. So it makes sense that as we make more measurements the variance gets smaller.\n", + "\n", + "Mathematically it makes sense as well. Recall the computation for the variance after the multiplication: $\\sigma^2 = \\frac{1}{\\frac{1}{{\\sigma}_1} + \\frac{1}{{\\sigma}_2}}$. We take the reciprocals of the sigma from the measurement and prior belief, add them, and take the reciprocal of the result. Think about that for a moment, and you will see that this will always result in smaller numbers as we proceed.\n", + "\n", + "\n", + "#Implementing Updates\n", + "\n", + "That is a beautiful result, but it is not yet a filter. We assumed that the dog was sitting still, an extremely dubious assumption. Certainly it is a useless one - who would need to write a filter to track nonmoving objects? The histogram used a loop of sense and update functions, and we must do the same to accomodate movement.\n", + "\n", + "How how do we perform the update function with gaussians? Recall the histogram method:\n", + "\n", + " def update(pos, move, p_correct, p_under, p_over):\n", + " n = len(pos)\n", + " result = array(pos, dtype=float)\n", + " for i in range(n):\n", + " result[i] = \\\n", + " pos[(i-move) % n] * p_correct + \\\n", + " pos[(i-move-1) % n] * p_over + \\\n", + " pos[(i-move+1) % n] * p_under \n", + " return result\n", + " \n", + " \n", + "In a nutshell, we shift the probability vector by the amount we believe the animal moved, and adjust the probability. How do we do that with gaussians?\n", + "\n", + "It turns out that we just add gaussians. Think of the case without gaussians. I think my dog is at 7.3m, and he moves 2.6m to right, where is he now? Obviously, $7.3+2.6=9.9$. He is at 9.9m. Abstractly, the algorithm is *new_pos = old_pos + dist_moved*. It does not matter if we use floating point numbers or gaussians for these values, the algorithm must be the same. \n", + "\n", + "How is addition for gaussians performed. It turns out to be very simple:\n", + "$$ N({\\mu}_1, {{\\sigma}_1}^2)+N({\\mu}_2, {{\\sigma}_2}^2) = N({\\mu}_1 + {\\mu}_2, {\\sigma}_1 + {\\sigma}_2)$$\n", + "\n", + "All we do is add the means and the variance separately! Does that make sense? Think of the physical representation of this abstract equation.\n", + "${\\mu}_1$ is the old position, and ${\\mu}_2$ is the distance moved. Surely it makes sense that our new position is ${\\mu}_1 + {\\mu}_2$. What about the variance? It is perhaps harder to form an intuition about this. However, recall that with the *update()* function for the histogram filter we always lost information - our confidence after the update was lower than our confidence before the update. Perhaps this makes sense - we don't really know where the dog is moving, so perhaps the confidence should get smaller (variance gets larger). I assure you that the equation for gaussian addition is correct, and derived by basic algebra. Therefore it is reasonable to expect that if we are using gaussians to model physical events, the results must correctly describe those events.\n", + "\n", + "I recognize the amount of hand waving in that argument. Now is a good time to either work through the algebra to convince yourself of the mathematical correctness of the algorithm, or to work through some examples and see that it behaves reasonably. This book will do the latter.\n", + "\n", + "So, here is our implementation of the update function:\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "def update(pos, sigma, movement, movement_sigma):\n", + " return (pos + movement, sigma + movement_sigma)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 15 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What is left? Just calling these functions. The histogram did nothing more than loop over the *sense()* and *update()* functions, so let's do the same. " + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# assume dog is always moving 1m to the right\n", + "movement = 1\n", + "movement_error = 2\n", + "sensor_error = 10\n", + "pos = (0, 500) # gaussian N(0,50)\n", + "\n", + "dog = DogSensor(pos[0], velocity=movement, noise=sensor_error)\n", + "\n", + "zs = []\n", + "ps = []\n", + "\n", + "for i in range(10):\n", + " pos = update(pos[0], pos[1], movement, movement_error)\n", + " print 'UPDATE:', \"%.4f\" %pos[0], \", %.4f\" %pos[1]\n", + " \n", + " Z = dog.sense()\n", + " zs.append(Z)\n", + " \n", + " pos = sense(pos[0], pos[1], Z, sensor_error)\n", + " ps.append(pos[0])\n", + " \n", + " print 'SENSE:', \"%.4f\" %pos[0], \", %.4f\" %pos[1]\n", + " print\n", + " \n", + "p1, = plot(zs,c='r', linestyle='dashed')\n", + "p2, = plot(ps, c='b')\n", + "legend([p1,p2], ['measurement', 'filter'], 2)\n", + "show()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "UPDATE: 1.0000 , 502.0000\n", + "SENSE: 10.2262 , 9.8047\n", + "\n", + "UPDATE: 11.2262 , 11.8047\n", + "SENSE: 4.7554 , 5.4138\n", + "\n", + "UPDATE: 5.7554 , 7.4138\n", + "SENSE: 5.9000 , 4.2574\n", + "\n", + "UPDATE: 6.9000 , 6.2574\n", + "SENSE: 4.2941 , 3.8490\n", + "\n", + "UPDATE: 5.2941 , 5.8490\n", + "SENSE: 4.8349 , 3.6904\n", + "\n", + "UPDATE: 5.8349 , 5.6904\n", + "SENSE: 5.3833 , 3.6267\n", + "\n", + "UPDATE: 6.3833 , 5.6267\n", + "SENSE: 5.5365 , 3.6007\n", + "\n", + "UPDATE: 6.5365 , 5.6007\n", + "SENSE: 7.4788 , 3.5900\n", + "\n", + "UPDATE: 8.4788 , 5.5900\n", + "SENSE: 7.2898 , 3.5856\n", + "\n", + "UPDATE: 8.2898 , 5.5856\n", + "SENSE: 8.9818 , 3.5838\n", + "\n" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\npcaOlB5kfQAAAABJRU5ErkJggg==\n", + "text": [ + "" + ] + } + ], + "prompt_number": 16 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "There is a fair bit of arbitrary constants code above, but don't worry about it. What does require explanation are the first few lines:\n", + "\n", + " movement = 1 \n", + " movement_error = 2\n", + " \n", + "For the moment we are assuming that we have some other sensor that detects how the dog is moving. For example, there could be an inertial sensor clipped onto the dog's collar, and it reports how far the dog moved each time it is triggered. The details don't matter. The upshot is that we have a sensor, it has noise, and so we represent it with a guassian. Later we will learn what to do if we do not have a sensor for the *update()* step.\n", + "\n", + "For now let's walk through the code and output bit by bit.\n", + "\n", + " movement = 1\n", + " movement_error = 2\n", + " sensor_error = 10\n", + " pos = (0, 500) # gaussian N(0,500)\n", + " \n", + " \n", + "The first lines just set up the initial conditions for our filter. We are assuming that the dog moves steadily to the right 1m at a time. We have a relatively low error of 2 for the movement sensor, and a higher error of 10 for the RFID position sensor. Finally, we set our belief of the dog's initial position as $N(0,500)$. Why those numbers. Well, 0 is as good as any number if we don't know where the dog is. But we set the variance to 500 to denote that we have no confidence in this value at all. 100m is almost as likely as 0 with this value for the variance. \n", + "\n", + "Next we initialize the RFID simulator with\n", + " dog = DogSensor(pos[0], velocity=movement, noise=sensor_error)\n", + "\n", + "It may seem very 'convienent' to set the simulator to the same position as our guess, and it is. Do not fret. In the next example we will see the effect of a wildly inaccurate guess for the dog's initial position.\n", + "\n", + "The next code allocates an array to store the output of the measurements and filtered positions. \n", + "\n", + " zs = []\n", + " ps = []\n", + " \n", + "This is the first time that I am introducing standard nomenclature used by the Kalman filtering literature. It is traditional to call our measurement $Z$, and so I follow that convention here. As an aside, I find the nomenclature used by the literature very obscure. However, if you wish to read the literature you will have to become used to it, so I will not use a much more readable variable name such as $m$ or $measure$.\n", + " \n", + " \n", + "Now we just enter our *sense()->update()* loop.\n", + "\n", + " for i in range(10):\n", + " pos = update(pos[0], pos[1], movement, sensor_error)\n", + " print 'UPDATE:', \"%.4f\" %pos[0], \", %.4f\" %pos[1]\n", + "\n", + "Wait, why *update()* before sense? It turns out the order does not matter once, but the first call to DogSensor.sense() assumes that the dog has already moved, so we start with the update step. In practice you will order these calls based on the details of your sensor, and you will very typically do the *sense()* first.\n", + "\n", + "So we call the update function with the gaussian representing our current belief about our position, the another gaussian representing our belief as to where the dog is moving, and then print the output. Your output will differ, but when writing this I get this as output:\n", + "\n", + " UPDATE: 1.000 502.000\n", + "\n", + "What is this saying? After the update, we believe that we are at 1.0, and the variance is now 502.0. Recall we started at 500.0. The variance got worse, which is always what happens during the update step.\n", + "\n", + " Z = dog.sense()\n", + " zs.append(Z)\n", + " \n", + "Here we sense the dog's position, and store it in our array so we can plot the results later.\n", + "\n", + "Finally we call the sense function of our filter, save the result in our *ps* array, and print the updated position belief:\n", + " pos = sense(pos[0], pos[1], Z, movement_error)\n", + " ps.append(pos[0])\n", + " print 'SENSE:', \"%.4f\" %pos[0], \", %.4f\" %pos[1]\n", + " \n", + "Your result will be different, but I get\n", + "\n", + " SENSE: 1.6279 , 9.8047\n", + " \n", + "as the result. What is happening? Well, at this point the dog is really at 1.0, however the predicted position is 1.6279. What is happening is the RFID sensor has a fair amount of noise, and so we compute the position as 1.6279. That is pretty far off from 1, but this is just are first time through the loop. Intuition tells us that the results will get better as we make more measurements, so let's hope that this is true for our filter as well. Now look at the variance: 9.8047. It has dropped tremendously from 502.0. Why? Well, the RFID has a reasonably small variance of 2.0, so we trust it far more than our previous belief. At this point there is no way to know for sure that the RFID is outputting reliable data, so the variance is not 2.0, but is has gotten much better.\n", + "\n", + "Now the software just loops, calling *update()* and *sense()* in turn. Because of the random sampling I do not know exactly what numbers you are seeing, but the final position is probably between 9 and 11, and the final variance is probably around 3.5. After several runs I did see the final position nearer 7, which would have been the result of several measurements with relatively large errors.\n", + "\n", + "Now look at the plot. The noisy measurements are plotted in with a dotted red line, and the filter results are in the solid blue line. Both are quite noisy, but notice how much noisier the measurements (red line) are. This is your first Kalman filter shown to work!\n", + "\n", + "\n", + "#More Examples\n", + "\n", + "Before I go on, I want to emphasize that this code fully implements a 1D Kalman filter. If you have tried to read the literatue, you are perhaps surprised, because this looks nothing like the complex, endless pages of math in those books. To be fair, the math gets a bit more complicated in multiple dimensions, but not by much. So long as we worry about *using* the equations rather than *deriving* them we can create Kalman filters without a lot of effort. Moreover, I hope you'll agree that you have a decent intuitive grasp of what is happening. We represent our beliefs with gaussians, and our beliefs get better over time because more measurement means more data to work with. \"Measure twice, cut once!\"\n", + "\n", + "So I didn't put a lot of noise in the signal, and I also 'correctly guessed' that the dog was at position 0. How does the filter perform in real world conditions? Let's explore and find out. I will start by injecting a lot of noise in the RFID sensor. I will inject an extreme amount of noise - noise that apparently swamps the actual measurement. What does your intution tell about how the filter will perform if the noise is allowed to be anywhere from -300 or 300. In other workds, an actual position of 1.0 might be reported as 287.9, or -189.6, or any other number in that range. Think about it before you scroll down." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "sensor_error = 30000\n", + "movement_error = 2\n", + "pos = (0,500)\n", + "\n", + "dog = DogSensor(pos[0], velocity=movement, noise=sensor_error)\n", + "\n", + "zs = []\n", + "ps = []\n", + "\n", + "for i in range(1000):\n", + " pos = update(pos[0], pos[1], movement, movement_error)\n", + " \n", + " Z = dog.sense()\n", + " zs.append(Z)\n", + " \n", + " pos = sense(pos[0], pos[1], Z, sensor_error)\n", + " ps.append(pos[0])\n", + "\n", + "\n", + "p1, = plot(zs,c='r', linestyle='dashed')\n", + "p2, = plot(ps, c='b')\n", + "legend([p1,p2], ['measurement', 'filter'], 2)\n", + "show()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nrphsLIyDAAAAAElFTkSuQmCC\n", + "text": [ + "" + ] + } + ], + "prompt_number": 17 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this example the noise is extreme yet the filter still outputs a nearly straight line! This is an astonishing result! What do you think might be the cause of this performance? If you are not sure, don't worry, we will discuss it latter.\n", + "\n", + "Now let's lets look at the results when we make a bad initial estimate of position. To avoid obscuring the results I'll reduce the sensor variance to 30, but set the initial position to 1000m. Can the filter recover from a 1000m initial error?" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "sensor_error = 30\n", + "movement_error = 2\n", + "pos = (1000,500)\n", + "\n", + "dog = DogSensor(0, velocity=movement, noise=sensor_error)\n", + "\n", + "zs = []\n", + "ps = []\n", + "\n", + "for i in range(100):\n", + " pos = update(pos[0], pos[1], movement, movement_error)\n", + " \n", + " Z = dog.sense()\n", + " zs.append(Z)\n", + " \n", + " pos = sense(pos[0], pos[1], Z, sensor_error)\n", + " ps.append(pos[0])\n", + "\n", + "\n", + "p1, = plot(zs,c='r', linestyle='dashed')\n", + "p2, = plot(ps, c='b')\n", + "legend([p1,p2], ['measurement', 'filter'], 2)\n", + "show()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nhwAAAABJRU5ErkJggg==\n", + "text": [ + "" + ] + } + ], + "prompt_number": 18 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Again the answer is yes! Because we are relatively sure about our belief in the sensor ($\\sigma=30$) even after the first step we have changed our belief in the first position from 1000 to somewhere around 60.0 or so. After another 5-10 measurements we have converged to the correct value! So this is how we get around the chicken and egg problem of initial guesses. In practice we would probably just assign the first measurement from the sensor as the initial value, but you can see it doesn't matter much if we wildly guess at the initial conditions - the Kalman filter still converges very quickly.\n", + "\n", + "What about the worst of both worlds, large noise and a bad initial estimate:" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "sensor_error = 30000\n", + "movement_error = 2\n", + "pos = (1000,500)\n", + "\n", + "dog = DogSensor(0, velocity=movement, noise=sensor_error)\n", + "\n", + "zs = []\n", + "ps = []\n", + "\n", + "for i in range(1000):\n", + " pos = update (pos[0], pos[1], movement, movement_error)\n", + " \n", + " Z = dog.sense()\n", + " zs.append(Z)\n", + " \n", + " pos = sense (pos[0], pos[1], Z, sensor_error)\n", + " ps.append(pos[0])\n", + "\n", + "\n", + "p1, = plot(zs,c='r', linestyle='dashed')\n", + "p2, = plot(ps, c='b')\n", + "legend([p1,p2], ['measurement', 'filter'], 2)\n", + "show()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n", + "text": [ + "" + ] + } + ], + "prompt_number": 19 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This time the filter does struggle. Notice that the previous example only computed 100 updates, whereas this example uses 1000. By my eye it takes the filter 400 or so iterations to become reasonable accurate, but maybe over 600 before the results are good. Kalman filters are good, but we cannot expect miracles. If we have extremely noisy data and extremely bad initial conditions, this is as good as it gets.\n", + "\n", + "Finally, let's make the suggest change of making our initial position guess just be the first sensor measurement." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "sensor_error = 30000\n", + "movement_error = 2\n", + "pos = None\n", + "\n", + "dog = DogSensor(0, velocity=movement, noise=sensor_error)\n", + "\n", + "zs = []\n", + "ps = []\n", + "\n", + "for i in range(1000):\n", + " Z = dog.sense()\n", + " zs.append(Z)\n", + " if pos == None:\n", + " pos = (Z, 500)\n", + " \n", + " pos = sense (pos[0], pos[1], Z, sensor_error)\n", + " ps.append(pos[0])\n", + "\n", + " pos = update (pos[0], pos[1], movement, movement_error)\n", + "\n", + "p1, = plot(zs,c='r', linestyle='dashed')\n", + "p2, = plot(ps, c='b')\n", + "legend([p1,p2], ['measurement', 'filter'], 2)\n", + "show()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nrkJggg==\n", + "text": [ + "" + ] + } + ], + "prompt_number": 20 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This simple change significantly improves the results. On some runs it takes 200 iterations or so to settle to a good solution, but other runs it converges very rapidly. This all depends on whether the initial measurement $Z$ had a small amount or large amount of noise. \n", + "\n", + "200 iterations may seem like a lot, but the amount of noise we are injecting is truly huge. In the real world we use sensors like thermometers, laser rangefinders, GPS satellites, computer vision, and so on. None have the enormous error as shown here. A reasonable value for the variance for a cheap thermometer might be 10, for example, and our code is using 30,000 for the variance. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "####Explaining the Results\n", + "\n", + "So how does the Kalman filter do so well? I have glossed over one aspect of the filter as it becomes confusing to address too many points at the same time. In these example we do not have 1 sensor but 2. The first sensor is the RFID sensor that outputs the position measurement, and the second sensor measures our dog's movement using an intertial tracker. How does our filter perform if that tracker is also noisy? Let's see:\n", + "\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "sensor_error = 30000\n", + "movement_sensor = 30000\n", + "pos = (0,500)\n", + "\n", + "dog = DogSensor(0, velocity=movement, noise=sensor_error)\n", + "\n", + "zs = []\n", + "ps = []\n", + "\n", + "for i in range(1000):\n", + " Z = dog.sense()\n", + " zs.append(Z)\n", + " \n", + " pos = sense(pos[0], pos[1], Z, sensor_error)\n", + " ps.append(pos[0])\n", + "\n", + " pos = update(pos[0], pos[1], movement, movement_error)\n", + "\n", + "p1, = plot(zs,c='r', linestyle='dashed')\n", + "p2, = plot(ps, c='b')\n", + "legend([p1,p2], ['measurement', 'filter'], 2)\n", + "show()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n/D86QZGQicY8YwAAAABJRU5ErkJggg==\n", + "text": [ + "" + ] + } + ], + "prompt_number": 21 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This result is worse than the example where only the measurement sensor was noisy. Instead of being mostly straight, this time the filter's output is distintly jagged. But, it still mostly tracks the dog. What is happening here?\n", + "\n", + "This illustrates the effects of *multi-sensor fusion*. Suppose the dog is actually at 10.0, and we get subsequent measurement readings of -289.78 and 301.43. From that information alone it is impossible to tell if the dog is standing still during very noisy measurements, or perhaps sprinting from -289 to 301 and being accurately measured. But we have a second source of information, his velocity. Even when the velocity is also noisy, it constrains what our beliefs might be. For example, suppose with the readings of -289.78 to 301.43 we get a velocity reading of 590. That matches the difference between the two positions quite well, so this will lead us to believe the RFID sensor and the velocity sensor. Now suppose we got a velocity reading of 1.7. This doesn't match our RFID reading very well. Finally, suppose the velocity reading was -678.8. This completely contradicts the RFID reading - we may not be sure from these few values which sensor is most inaccurate, but perhaps by now you will trust that the gaussians expressing our beliefs will correctly handle these cases. It's a bit hard to talk about while working with 1D problems, so we will take this topic up in great detail in the next chapter where we develop multidimensional Kalman filters. Remark\n", + "\n", + "Besides that issue, we are modelling the noise in our sensors using gaussians which model their real world performance. We are multiplying the gaussians (probabilities) when we get a new position measurement, adding the gaussians when we get a movement update. This is algorithmically correct (this is how the histogram filter works) and mathematically correct - why wouldn't it work? \n", + "\n", + "#### Summary\n", + "This takes some time to assimulate. To truly understand this you will probably have to work through this chapter several times. I encourage you to change the various constants and observe the results. Convince yourself that gaussians are a good representation of a unimodal belief of something like the position of a dog in a hallway. Then convince yourself that multiplying gaussians truly does compute a new belief from your prior belief and the new measurement. Finally, convince yourself that if you are measuring movement, that adding the gaussians correctly updates your belief. That is all the Kalman filter does. Even now I alternate between complacency and amazement at the results. \n", + "\n", + "If you understand this, you will be able to understand multidimensional Kalman filters and the various extensions that have been make on them. If you do not fully understand this, I strongly suggest rereading this chapter until you do understand it. Try implementing the filter from scratch, just by looking at the equations and reading the text. Change the constants. Maybe try to implement a different tracking problem, like tracking stock prices. Experimentation will build your intuition and understanding of how these marvelous filters work.\n", + "\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "author notes:\n", + " clean up the code - same stuff duplicated over and over - write a 'clean implemntation' at the end.\n", + " \n", + " " + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "ename": "SyntaxError", + "evalue": "invalid syntax (, line 1)", + "output_type": "pyerr", + "traceback": [ + "\u001b[1;36m File \u001b[1;32m\"\"\u001b[1;36m, line \u001b[1;32m1\u001b[0m\n\u001b[1;33m author notes:\u001b[0m\n\u001b[1;37m ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m invalid syntax\n" + ] + } + ], + "prompt_number": 22 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "sensor_error = 30\n", + "movement_error = 2\n", + "pos = (1000,500)\n", + "\n", + "zs = []\n", + "ps = []\n", + "\n", + "\n", + "for i in range(100):\n", + " pos = update(pos[0], pos[1], movement, movement_error)\n", + "\n", + " Z = math.sin(i/3.)*5.\n", + " zs.append(Z)\n", + " \n", + " pos = sense(pos[0], pos[1], Z, sensor_error)\n", + " ps.append(pos[0])\n", + "\n", + "\n", + "p1, = plot(zs,c='r', linestyle='dashed')\n", + "p2, = plot(ps, c='b')\n", + "legend([p1,p2], ['measurement', 'filter'], 2)\n", + "show()" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] } \ No newline at end of file diff --git a/KalmanFilter1D.py b/KalmanFilter1D.py index 5030c85..4d2d64a 100644 --- a/KalmanFilter1D.py +++ b/KalmanFilter1D.py @@ -9,13 +9,14 @@ import math import matplotlib.pyplot as plt import noise import numba +import numpy.random as random class KalmanFilter1D(object): def __init__ (self, x0, var): self.mean = x0 self.variance = var - @jit + def estimate(self, z, z_variance): self.mean = (self.variance*z + z_variance*self.mean) / (self.variance + z_variance) self.variance = 1. / (1./self.variance + 1./z_variance) @@ -132,4 +133,4 @@ if __name__ == "__main__": if 1: plt.figure() - _test_sin() \ No newline at end of file + _test_sin() diff --git a/Multidimensional Kalman Filters.ipynb b/Multidimensional Kalman Filters.ipynb index ecf946c..0ef5418 100644 --- a/Multidimensional Kalman Filters.ipynb +++ b/Multidimensional Kalman Filters.ipynb @@ -1,479 +1,481 @@ -{ - "metadata": { - "name": "" - }, - "nbformat": 3, - "nbformat_minor": 0, - "worksheets": [ - { - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Multidimensional Kalman Filters\n", - "\n", - "The techniques in the last chapter are very powerful, but they only work in one dimension. The gaussians represent a mean and variance that are scalars - real numbers. They provide no way to represent multidimensional data, such as the position of a dog in a field. You may retort that you could use two Kalman filters for that case, one tracks the x coordinate and the other tracks the y coordinate. That does work in some cases, but put that thought aside, because soon you will see some enormous benefits to implementing the multidimensional case.\n", - "\n", - "\n", - "## Multivariate Normal Distributions\n", - "\n", - "What might a multivariate (meaning multidimensional) normal distribution look like? Our goal is to be able to represent a normal distribution across multiple dimensions. Consider the 2 dimensional case. Let's say we believe that x = 2 and y = 7. Therefore we can see that for N dimensions, we need N means, like so:\n", - "$$ \\mu = \\begin{bmatrix}{\\mu}_1\\\\{\\mu}_2\\\\ \\vdots \\\\{\\mu}_n\\end{bmatrix} \n", - "$$\n", - "\n", - "Therefore for this example we would have\n", - "$$\n", - "\\mu = \\begin{bmatrix}2\\\\7\\end{bmatrix} \n", - "$$\n", - "\n", - "The next step is representing our variances. At first blush we might think we would also need N variances for N dimensions. We might want to say the variance for x is 10 and the variance for y is 8. While this is possible, it does not consider the more general case. For example, suppose we were tracking house prices vs total $m^2$ of the floor plan. These numbers are *correlated*. It is not an exact correlation, but in general houses in the same neighborhood are more expensive if they have a larger floor plan. We want a way to express not only what we think the variance is in the price and the $m^2$, but also the degree to which they are correlated. It turns out that we use a matrix to denote this:\n", - "\n", - "$$\n", - "\\Sigma = \\begin{pmatrix}\n", - " {\\sigma}_{1,1} & {\\sigma}_{1,2} & \\cdots & {\\sigma}_{1,n} \\\\\n", - " {\\sigma}_{2,1} &{\\sigma}_{2,2} & \\cdots & {\\sigma}_{2,n} \\\\\n", - " \\vdots & \\vdots & \\ddots & \\vdots \\\\\n", - " {\\sigma}_{n,1} & {\\sigma}_{n,2} & \\cdots & {\\sigma}_{n,n}\n", - " \\end{pmatrix}\n", - "$$\n", - "\n", - "This is called the covariance matrix, and is probably a bit confusing at the moment. Rather than explain the math in detail at the moment, we will take our usual tactic of building our intuition first with various physical models. \n", - "\n", - "So here is the full equation for the multivarate normal distribution.\n", - "\n", - "$$\\mathcal{N}(\\mu,\\,\\Sigma) = (2\\pi)^{-\\frac{n}{2}}|\\Sigma|^{-\\frac{1}{2}}\\, e^{ -\\frac{1}{2}(\\mathbf{x}-\\mu)'\\Sigma^{-1}(\\mathbf{x}-\\mu) }$$\n", - "\n", - "I urge you to not try to remember this function. We will program it once in a function and then call it when we need to compute a specific value. However, if you look at it briefly you will note that it looks quite similar to the univarate normal distribution except it uses matrices instead of scalar values. If you are reasonably well-versed in linear algebra this equation should look quite managable; if not, don't worry, the python is coming up next!\n" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import numpy as np\n", - "import math\n", - "def multivariate_gaussian(x, mu, cov):\n", - " n = len(x)\n", - " det = np.sqrt(np.prod(np.diag(cov)))\n", - " frac = (2*math.pi)**(-n/2.) * (1./det)\n", - " fprime = (x - mu)**2\n", - " return frac * np.exp(-0.5*np.dot(fprime, 1./np.diag(cov)))\n" - ], - "language": "python", - "metadata": {}, - "outputs": [], - "prompt_number": 29 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's use it to compute a few values just to make sure we know how to call and use the function, and then move on to more interesting things.\n", - "\n", - "First, let's find the probability for our dog being at (2.5, 7.3) if we believe he is at (2,7) with a variance of 8 for x and a variance of 10 for y. This function requires us to pass everything in as numpy arrays (we will soon provide a more robust version that works with numpy matrices, numpy arrays, and/or scalars in any combinations. That code contains a lot of boilerplate which obscures the algorithm).\n", - "\n", - "So we set x to (2.5,7.3)" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "x = np.array([2.5, 7.3])" - ], - "language": "python", - "metadata": {}, - "outputs": [], - "prompt_number": 30 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Next, we set the mean of our belief:" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "mu = np.array([2,7])" - ], - "language": "python", - "metadata": {}, - "outputs": [], - "prompt_number": 31 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Finally, we have to define our covariance matrix. In the problem statement we did not mention any correlation between x and y, and we will assume there is none. This makes sense; a dog can choose to independently wander in either the x direction or y direction without affecting the other. If there is no correlation between the values you just fill in the diagonal of the covariance matrix with the variances:" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "cov = np.array([[8.,0],[0,10.]])" - ], - "language": "python", - "metadata": {}, - "outputs": [], - "prompt_number": 32 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now just call the function" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "print multivariate_gaussian(x,mu,cov)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "0.0174395374407\n" - ] - } - ], - "prompt_number": 33 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's check the probability for the dog being at exactly (2,7)" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "x = np.array([2,7])\n", - "print multivariate_gaussian(x,mu,cov)" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "0.0177940635854\n" - ] - } - ], - "prompt_number": 34 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "These numbers are not easy to interpret. Let's plot this in 3D, with the z coordinate being the probability." - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "from mpl_toolkits.mplot3d import Axes3D\n", - "pylab.rcParams['figure.figsize'] = 12,6\n", - "\n", - "xs, ys = arange(-8, 13, .75), arange(-8, 20, .75)\n", - "xv, yv = meshgrid (xs, ys)\n", - "\n", - "zs = np.array([multivariate_gaussian(np.array([x,y]),mu,cov) \n", - " for x,y in zip(np.ravel(xv), np.ravel(yv))])\n", - "zv = zs.reshape(xv.shape)\n", - "\n", - "ax = plt.figure().add_subplot(111, projection='3d')\n", - "ax.plot_wireframe(xv, yv, zv)\n", - "show()\n", - "pylab.rcParams['figure.figsize'] = 6,4" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "display_data", - "png": "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\nmCYMHaqzc6dMRoZMVpaE0wn165usXSuzZo2IjGqasF369NMAsqzj8/k5fFhn924nO3fa+e47B0uX\nyni9sGyZQr16wqlgxgwnjRubjB6tccUVOikpgqhPnarwyisy2dnQpo3JsGEB3njDxvjxbiZONNm5\nU6FuXYPmzTUaN9Y5dEjYQHm9JnY7rF1byp49Mtu2KaxaJayw5s61k5cnYRiwaJHQhSuKiE7bbOax\nuZOORbhVmjatTevWQsPbtq0e+veyywzq1jV56SU3kycXliNCdrvMgAEqixY5WLzYpE8fg1tvNXG5\nDO6808W8eXbsdvB4TK66SmPiRDuqKqQexcUmrVqJzloHD0p88IGNkSN/4/YAv0FYjgXREJk9idYM\noSJZQWWeUeciq9HPPTc397TdABISEtizZ0/o5z179pCYmHjC7+zdu5fExESCwWDUbbOysti5cycd\nOnQIfb9z586sWbPmtEl1deFcgVU1wYpQWKiKCvjK4kSV8jVV4BMOyx3B7XZHrZg/29WlFuH0eDwn\n/e7JGgycKqyuTjExMae1fTiiyRAqquo/UToRyneSCieyp3uepilI2rhxKgsWKHi9EB8vSEp6usGi\nRTK7donr3KiRSWKiSSAA+/ZJqCocOiTRtatOz54mn36q4POJSGjDhiYtWpg0bWpw5IiIckoSvPFG\ngJtu0ikthTfeUBk3zkZSks7GjQqxsUKvunmzQn4+uFzQurVBs2YmS5bIxMTArbdqPPCA6NZkGPDt\ntzKvvWZj0yYZj8ekqEiiqAhq1zbJz5ew2eC884K0a2fSvDns3y+zcKEoEhsyJMibb9opLRXFX40a\nmVxyiYFhQGamkB7s3CnIYu3aolhLloVV13vv+enUyaB3bycTJwbo1ctg4UKZt95SWbFCoWFDg/x8\n4WlqmiIl73abNGhg0Ly5jmlKZGTIJCfDunUKzZsbzJrlPVaQJpGZKfH99yrff2/DbjfJy5Ow26Fl\nS434eAgGIT9fZvduGZfLpFYtUVg2a5aXiy7SkaQyIrRmjcTQobH06BHkvffyef11N5Mnu7nuOi/z\n5jnZvVvh73/38sQTAYYM8dCzp85PPynMnCmaPUybVsJVV3lwOk1+/bWU+Pjf56vJ5/OFig5/D4gk\nsqfTDEHTNILBYDm5258FVtYv2vW+4oorWLZs2Wk9NzVNo2XLlixatIgmTZrQtWvXExZYrVq1igce\n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\n", - "text": [ - "" - ] - } - ], - "prompt_number": 35 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The result is clearly a 3D bell shaped curve. We can see that the gaussian is centered around (2,7), and that the probability quickly drops away in all directions.\n", - "\n", - "As beautiful as this is, it is perhaps a bit hard to get useful information. For example, it is not easy to tell if x and y both have the same variance or not. So for most of the rest of this book we will display multidimensional gaussian using contour plots. I will use some helper functions in gaussian.py to plot them. If you are interested in linear algebra go ahead and look at the code used to produce these contours, otherwise feel free to ignore it." - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import gaussian as g\n", - "pylab.rcParams['figure.figsize'] = 12,4\n", - "\n", - "cov = array([[2,0],[0,2]])\n", - "e = g.sigma_ellipse (cov, 2, 7)\n", - "subplot(131)\n", - "g.plot_sigma_ellipse(e, '|2 0|\\n|0 2|')\n", - "\n", - "\n", - "cov = array([[2,0],[0,9]])\n", - "e = g.sigma_ellipse (cov, 2, 7)\n", - "subplot(132)\n", - "g.plot_sigma_ellipse(e, '|2 0|\\n|0 9|')\n", - "\n", - "subplot(133)\n", - "cov = array([[2,3],[1,2]])\n", - "e = g.sigma_ellipse (cov, 2, 7)\n", - "g.plot_sigma_ellipse(e,'|2 3|\\n|1 2|')\n", - "show()\n", - "pylab.rcParams['figure.figsize'] = 6,4" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "display_data", - "png": "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\njwAAAABJRU5ErkJggg==\n", - "text": [ - "" - ] - } - ], - "prompt_number": 36 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "From a mathematical perspective these display the values that the multivariate gaussian takes for a specific sigma (in this case $\\sigma^2=1$. Think of it as taking a horizontal slice through the 3D surface plot we did above. However, thinking about the physical interpretation of these plots clarifies their meaning.\n", - "\n", - "The first plot uses mean and the covariance matrices $\n", - "\\mu =\\begin{bmatrix}2\\\\7\\end{bmatrix}, cov = \\begin{bmatrix}2&0\\\\0&2\\end{bmatrix}$. Let this be our current belief about the position of our dog in a field. In other words, we believe that he is positioned at (2,7) with a variance of $\\sigma^2=2$ for both x and y. The contour plot shows where we believe the dog is located with the '+' in the center of the ellipse. The ellipse shows the boundary for the $1\\sigma^2$ probability - points where the dog is quite likely to be based on our current knowledge. Of course, the dog might be very far from this point, as Gaussians allow the mean to be any value. For example, the dog could be at (3234.76,189989.62), but that has vanishing low probability of being true. Generally speaking displaying the $1\\sigma^2$ to $2\\sigma^2$ contour captures the most likely values for the distribution. An equivelent way of thinking about this is the circle/ellipse shows us the amount of error in our belief. A tiny circle would indicate that we have a very small error, and a very large circle indicates a lot of error in our belief. We will use this throughout the rest of the book to display and evaluate the accuracy of our filters at any point in time. \n", - "\n", - "The second plot uses mean and the covariance matrices $\n", - "\\mu =\\begin{bmatrix}2\\\\7\\end{bmatrix}, cov = \\begin{bmatrix}2&0\\\\0&9\\end{bmatrix}$. This time we use a different variance for x (2) vs y (9). The result is an ellipse. When we look at it we can immediately tell that we have a lot more uncertainty in the y value vs the x value. Our belief that the value is (2,7) is the same in both cases, but errors are different. This sort of thing happens naturally as we track objects in the world - one sensor has a better view of the object, or is closer, than another sensor, and so we end up with different error rates in the different axis.\n", - "\n", - "\n", - "The third plot uses mean and the covariance matrices $\n", - "\\mu =\\begin{bmatrix}2\\\\7\\end{bmatrix}, cov = \\begin{bmatrix}2&3\\\\1&2\\end{bmatrix}$. This is the first contour that has values in the off-diagonal elements of $cov$, and this is the first contour plot with a slanted ellipse. This is not a coincidence. The two facts are telling use the same thing. A slanted ellipse tells us that the x and y values are somehow **correlated**. We denote that in the covariance matrix with values off the diagonal. What does this mean in physical terms? Think of trying to park your car in a parking spot. You can not pull up beside the spot and then move sideways into the space because most cars cannot go purely sideways. $x$ and $y$ are not independent. This is a consequence of the steering system in a car. When your tires are turned the car rotates around its rear axle while moving forward. Or think of a horse attached to a pivoting exercise bar in a corral. The horse can only walk in circles, he cannot vary $x$ and $y$ independently, which means he cannot walk straight forward to to the side. If $x$ changes, $y$ must also change in a defined way. \n", - "\n", - "So when we see this ellipse we know that $x$ and $y$ are correlated, and that the correlation is \"strong\". I will not prove it here, but a 45 $^{\\circ}$ angle denotes complete correlation between $x$ and $y$, whereas $0$ and $90$ denote no correlation at all. Those who are familiar with this math will be objecting quite strongly, as this is actually quite sloppy language that does not adress all of the mathematical issues. They are right, but for now this is a good first approximation to understanding these ellipses from a physical interpretation point of view. The size of the ellipse shows how much error we have in each axis, and the slant shows how strongly correlated the values are.\n", - "\n", - "\n", - "\n", - "\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "###Kalman Filter Basics\n", - "\n", - "Let's say we are tracking an aircraft and we get the following data for the $x$ coordinate at time $t$=1,2, and 3 seconds. What does your intuition tell you the value of $x$ will be at time $t$=4 seconds?\n" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "scatter ([1,2,3],[1,2,3]);xlim([0,4]);ylim([0,4]);show()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "display_data", - "png": "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\n", - "text": [ - "" - ] - } - ], - "prompt_number": 37 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "It appears that the aircraft is flying in a straight line because we can draw a line between the three points, and we know that aircraft cannot turn on a dime. The most reasonable guess is that $x$=4 at $t$=4. I will depict that below with a green square to depict the predictions." - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "scatter ([1,2,3],[1,2,3]);xlim([0,5]);ylim([0,5])\n", - "plot([0,5],[0,5],'r')\n", - "scatter ([4], [4], c='g', marker='s',s=200)\n", - "show()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "display_data", - "png": "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\nA8c27bZHjKyVAAAAAElFTkSuQmCC\n", - "text": [ - "" - ] - } - ], - "prompt_number": 38 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "If this is data from a Kalman filter, then each point has both a mean and variance. Let's try to show that by showing the approximate error for each point. Don't worry about why I am using a covariance matrix to depict the variance at this point, it will become clear in a few paragraphs. The intent at this point is to show that while we have$x$=1,2,3 that there is a lot of error associated with each measurement." - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "cov = array([[0.003,0], [0,12]])\n", - "sigma = sigma=[0.5,1.,1.5,2]\n", - "e1 = g.sigma_ellipses(cov, x=1, y=1, sigma=sigma)\n", - "e2 = g.sigma_ellipses(cov, x=2, y=2, sigma=sigma)\n", - "e3 = g.sigma_ellipses(cov, x=3, y=3, sigma=sigma)\n", - "g.plot_sigma_ellipses([e1, e2, e3], axis_equal=True,x_lim=[0,4],y_lim=[0,15])\n", - "plt.ylim([0,11])\n", - "show()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "display_data", - "png": "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\nSUVORK5CYII=\n", - "text": [ - "" - ] - } - ], - "prompt_number": 39 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can see that there is a lot of error associated with each value of $x$. We could write a 1D Kalman filter as we did in the last chapter, but suppose this is the output of that filter, and not just raw sensor measurements. Are we out of luck?\n", - "\n", - "Let us think about how we predicted that $x$=4 at $t$=4. In one sense we just drew a straight line between the points and saw where it lay at $t$=4. My constant refrain: what is the physical interpretation of that? What is the difference in $x$ over time? What is $\\frac{\\partial x}{\\partial t}$? The derivative, or difference in distance over time is *velocity*. \n", - "\n", - "This is the **key point** in Kalman filters, so read carefully! Our sensor is only detecting the position of the aircraft (how doesn't matter). It does not have any kind of sensor that provides velocity to us. But based on the position estimates we can compute velocity. In Kalman filters we would call the velocity an **unobserved variable**. Unobserved means what it sounds like - there is no sensor that is measuring velocity directly. Since the velocity is based on the position, and the position has error, the velocity will have error as well. What happens if we draw the velocity errors over the positions errors?" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "from matplotlib.patches import Ellipse\n", - "\n", - "cov = array([[1,1],[1,1.1]])\n", - "ev = g.sigma_ellipses(cov, x=2, y=2, sigma=sigma)\n", - "\n", - "isct = Ellipse(xy=(2,2), width=.2, height=1.2, edgecolor='r', fc='None', lw=4)\n", - "plt.figure().gca().add_artist(isct)\n", - "g.plot_sigma_ellipses([e1, e2, e3, ev], axis_equal=True,x_lim=[0,4],y_lim=[0,15])\n", - "plt.ylim([0,11])\n", - "plt.show()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "display_data", - "png": "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\n1cXgrYtfkwAAAABJRU5ErkJggg==\n", - "text": [ - "" - ] - } - ], - "prompt_number": 40 - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Think about what this plot means. We have a lot of error in our position estimates. We therefore have a lot of error in our velocity estimates. But look at the intersections between the velocity and the positions. Take the intersection at $t$=2. The intersection between the velocity and the position is where our aircraft is most likely to be, which I have roughly depicted with a red ellipse ('roughly' because I set the size via eyeball, not via math). The size of the error is much smaller than the error of the positions, despite the fact that velocity was derived from position. \n", - "\n", - "What makes this possible? Imagine for a moment that we superimposed the velocity from a *different* airplane over the position graph. Cleary the two are not related, and there is no way that combining the two could possibly yield any additional information. In contrast, the velocity of the this airplane tells us something very important - the direction and speed of travel. So long as the aircraft does not alter its velocity the velocity allows us to predict where the next position is. After a relatively small amount of error in velocity the probability that it is a good match with the position is very small. Think about it - if you suddenly change direction your position is also going to change a lot. If the position measurement is not in the direction of the assumed velocity change it is very unlikely to be true. The two are correlated, so if the velocity changes so must the position, and in a predictable way. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Kalman Filter Algorithm\n", - "So in general terms we can show how a multidimensional Kalman filter works. In the example above, we compute velocity from the previous position measurements using something called the **measurement function**. Then we predict the next position by using the current estimate and something called the **state transition function**. In our example above, *new_position = old_position + velocity*time*. Next, we take the measurement from the sensor, and compare it to the prediction we just made. In a world with perfect sensors and perfect airplanes the prediction will always match the measured value. In the real world they will always be at least slightly different. We call the difference between the two the **residual**. Finally, we use something called the **Kalman gain** to update our estimate to be somewhere between the measured position and the predicted position. I will not describe how the gain is set, but suppose we had perfect confidence in our measurement - no error is possible. Then, clearly, we would set the gain so that 100% of the position came from the measurement, and 0% from the prediction. At the other extreme, if he have no confidence at all in the sensor (maybe it reported a hardware fault), we would set the gain so that 100% of the position came from the prediction, and 0% from the measurement. In normal cases, we will take a ratio of the two: maybe 53% of the measurement, and 47% of the prediction. The gain is updated on every cycle based on the variance of the variables (in a way yet to be explained). It should be clear that if the variance of the measurement is low, and the variance of the prediction is high we will favor the measurement, and vice versa. \n", - "\n", - "The chart shows a prior estimate of $x=1$ and $\\dot{x}=1$ ($\\dot{x}$ is the shorthand for the derivative of x, which is velocity). Therefore we predict $\\hat{x}=2$. However, the new measurement $x^{'}=1.3$, giving a residual $r=0.7$. Finally, Kalman filter gain $k$ gives us a new estimate of $\\hat{x^{'}}=1.8$.\n", - "\n", - "** CHECK SYMBOLOGY!!!!**" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "from mkf_internal import *\n", - "show_residual_chart()" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "metadata": {}, - "output_type": "display_data", - "png": "iVBORw0KGgoAAAANSUhEUgAAAW8AAAEKCAYAAADdBdT9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlcVGX7P/DPsBkICoqCIALuLM4wQAouiLmgFsbjlpgE\n4m6mPtmTS5roo2ilmeaS+i13s5+Uj1gu5AKKhlaiqBSiMQJqiooim2zX748TR4YdBWYOXO/Xa15y\n5mzXmfFcc899rnOPjIgIjDHGJEVH0wEwxhirOU7ejDEmQZy8GWNMgjh5M8aYBHHyZowxCeLkzRhj\nEsTJW4vY2dnhxIkTmg6jQs7Ozjh9+jQAICQkBAEBARqO6MXZ2dnh5MmTAIDQ0FBMmjTphbZT8jXR\nZpGRkbCxsdF0GKwWcfKuZaUT8L59+9CiRQucOXOmynVlMhlkMlldhlct3t7eMDQ0hImJifg4f/48\nrl69Ci8vLwBQi1OlUkFHRwdFRUW1FkPxNov3b29vj08++aTWtl8y/gULFmDr1q1VrhMUFIRFixap\nPVfyNalN5X2Qb9++HX369Kn1fZX2svvJy8vDnDlzYGNjI753//73v8X5JT842YvT03QADU3JBLxj\nxw7MmTMHhw8fhoeHh4Yjqz6ZTIYNGzYgODi4wmXKu7frRe/3KigogJ5e+f8Vnzx5Ah0dHcTExKB/\n//5wcXGBj49PtdeXKm35IH8RK1aswMWLF/Hrr7/C0tISt27dUvt2IpPJXvj/CnuOW951gIiwefNm\nfPDBB4iIiBAT982bN/Haa6/B3NwcrVq1wrhx4/DkyZNytxESEoJRo0YhICAAzZo1g1wuR2JiIlas\nWAELCwvY2tri559/Fpfftm0bHB0d0axZM3To0AFbtmwR50VGRqJt27b4/PPPYWFhASsrK2zfvr3G\nx1W6xVScXIpbnqampmIrHQC++eYbODo6okWLFhg8eDCSk5PFdXV0dLBx40Z06tQJXbp0qXLfHh4e\ncHJywrVr18Tj+fTTT9GmTRtMmDABRISVK1eiY8eOMDc3x1tvvYX09HRx/V27dsHW1hbm5uYIDQ1V\n23bpLqDo6Gj07NkTZmZmaNeuHXbs2IGtW7di7969+PTTT2FiYoI333xTfE2KW8jPnj3D7NmzYW1t\nDWtra/z73/9GXl4egNp7D4oVfzPZunUrrK2tYWVlhdWrV4vzc3JyEBQUhBYtWsDJyQm//vqr2vrF\nr1WzZs3g5OSE//3vfwCAP/74A9OmTcMvv/wCExMTtGjRQjy2Dz74ALa2trC0tMS0adOQm5tbbmy/\n/fYb/Pz8YGlpCQCwtbUVX9+AgAAkJyfD19cXJiYmWLVqFQAgJiZGfM1dXFwQFRUlbs/b2xvz589H\njx490Lx5c/j5+am9t40WsVplZ2dHw4cPJwsLC4qLi1Obd+PGDTp+/Djl5eVRWloaeXl50ezZs9XW\nPXHiBBERLV68mF555RWKiIiggoICeuedd8jW1pZCQ0OpoKCAtm7dSvb29uK6P/30E/31119ERBQV\nFUVGRkZ08eJFIiI6deoU6enp0eLFi6mgoIAOHz5MRkZG9Pjx43KPwdvbm/7v//6v3GMrGd+4ceOI\niEilUpFMJqPCwkJx2f/973/UsWNH+vPPP6mwsJCWLVtGPXv2FOfLZDIaNGgQpaenU25ubpl9JSUl\nkUwmo4KCAioqKqLo6GgyMjKikydPisczb948ysvLo5ycHPriiy/I09OTbt++TXl5eTRlyhTy9/cn\nIqJr166RsbExnTlzhp49e0bvv/8+6enpiccSEhKidiwmJia0b98+KigooIcPH9KlS5eIiCgoKIgW\nLVpU4WuyaNEi8vT0pLS0NEpLS6OePXuKy9f0PSi53WLbtm2j3r17q70+Y8eOpezsbLpy5Qq1atWK\njh8/TkREc+fOJS8vL0pPT6eUlBRycnIiGxsbcVv79++nu3fvEhHRd999R02bNqW///6biIi2b98u\n7qfY7Nmz6c0336T09HR6+vQp+fr60vz588uNfdmyZdSuXTvauHEjxcXFUVFRUaXHlpqaSi1btqQj\nR44QEdHPP/9MLVu2pAcPHhARUd++fcna2pquXbtGWVlZNGLECPH9asw4edcyW1tbatasGfn5+ZX5\nT1vagQMHSKlUitOlk+OgQYPEeeHh4WRsbCxuMyMjg2QyGT158qTcbfv5+dHatWuJSEgchoaGasm1\ndevWdP78+XLX7du3LxkZGZGpqSmZmpqSm5tbufEVn0DFiaTk9gcPHkxff/21OF1YWEhGRkaUnJxM\nRELyPnXqVIWvTfE2TU1NyczMjBwcHOjLL78Uj8fAwICePXsmLu/g4KCWEO7cuUP6+vpUUFBAS5Ys\nERM5EVFWVhYZGBiUeyyhoaE0fPjwcmMKCgqihQsXqj1X8jXp0KGDmICIiI4dO0Z2dnZizDV5D6qb\n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\nMSZB/x9UihJ3mqcUtQAAAABJRU5ErkJggg==\n", - "text": [ - "" - ] - } - ], - "prompt_number": 41 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [], - "language": "python", - "metadata": {}, - "outputs": [], - "prompt_number": 41 - } - ], - "metadata": {} - } - ] +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Multidimensional Kalman Filters\n", + "\n", + "The techniques in the last chapter are very powerful, but they only work in one dimension. The gaussians represent a mean and variance that are scalars - real numbers. They provide no way to represent multidimensional data, such as the position of a dog in a field. You may retort that you could use two Kalman filters for that case, one tracks the x coordinate and the other tracks the y coordinate. That does work in some cases, but put that thought aside, because soon you will see some enormous benefits to implementing the multidimensional case.\n", + "\n", + "\n", + "## Multivariate Normal Distributions\n", + "\n", + "What might a multivariate (meaning multidimensional) normal distribution look like? Our goal is to be able to represent a normal distribution across multiple dimensions. Consider the 2 dimensional case. Let's say we believe that x = 2 and y = 7. Therefore we can see that for N dimensions, we need N means, like so:\n", + "$$ \\mu = \\begin{bmatrix}{\\mu}_1\\\\{\\mu}_2\\\\ \\vdots \\\\{\\mu}_n\\end{bmatrix} \n", + "$$\n", + "\n", + "Therefore for this example we would have\n", + "$$\n", + "\\mu = \\begin{bmatrix}2\\\\7\\end{bmatrix} \n", + "$$\n", + "\n", + "The next step is representing our variances. At first blush we might think we would also need N variances for N dimensions. We might want to say the variance for x is 10 and the variance for y is 8. While this is possible, it does not consider the more general case. For example, suppose we were tracking house prices vs total $m^2$ of the floor plan. These numbers are *correlated*. It is not an exact correlation, but in general houses in the same neighborhood are more expensive if they have a larger floor plan. We want a way to express not only what we think the variance is in the price and the $m^2$, but also the degree to which they are correlated. It turns out that we use a matrix to denote this:\n", + "\n", + "$$\n", + "\\Sigma = \\begin{pmatrix}\n", + " {\\sigma}_{1,1} & {\\sigma}_{1,2} & \\cdots & {\\sigma}_{1,n} \\\\\n", + " {\\sigma}_{2,1} &{\\sigma}_{2,2} & \\cdots & {\\sigma}_{2,n} \\\\\n", + " \\vdots & \\vdots & \\ddots & \\vdots \\\\\n", + " {\\sigma}_{n,1} & {\\sigma}_{n,2} & \\cdots & {\\sigma}_{n,n}\n", + " \\end{pmatrix}\n", + "$$\n", + "\n", + "This is called the covariance matrix, and is probably a bit confusing at the moment. Rather than explain the math in detail at the moment, we will take our usual tactic of building our intuition first with various physical models. \n", + "\n", + "So here is the full equation for the multivarate normal distribution.\n", + "\n", + "$$\\mathcal{N}(\\mu,\\,\\Sigma) = (2\\pi)^{-\\frac{n}{2}}|\\Sigma|^{-\\frac{1}{2}}\\, e^{ -\\frac{1}{2}(\\mathbf{x}-\\mu)'\\Sigma^{-1}(\\mathbf{x}-\\mu) }$$\n", + "\n", + "I urge you to not try to remember this function. We will program it once in a function and then call it when we need to compute a specific value. However, if you look at it briefly you will note that it looks quite similar to the univarate normal distribution except it uses matrices instead of scalar values. If you are reasonably well-versed in linear algebra this equation should look quite managable; if not, don't worry, the python is coming up next!\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import numpy as np\n", + "import math\n", + "def multivariate_gaussian(x, mu, cov):\n", + " n = len(x)\n", + " det = np.sqrt(np.prod(np.diag(cov)))\n", + " frac = (2*math.pi)**(-n/2.) * (1./det)\n", + " fprime = (x - mu)**2\n", + " return frac * np.exp(-0.5*np.dot(fprime, 1./np.diag(cov)))\n" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 1 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's use it to compute a few values just to make sure we know how to call and use the function, and then move on to more interesting things.\n", + "\n", + "First, let's find the probability for our dog being at (2.5, 7.3) if we believe he is at (2,7) with a variance of 8 for x and a variance of 10 for y. This function requires us to pass everything in as numpy arrays (we will soon provide a more robust version that works with numpy matrices, numpy arrays, and/or scalars in any combinations. That code contains a lot of boilerplate which obscures the algorithm).\n", + "\n", + "So we set x to (2.5,7.3)" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "x = np.array([2.5, 7.3])" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 2 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we set the mean of our belief:" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "mu = np.array([2,7])" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 3 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, we have to define our covariance matrix. In the problem statement we did not mention any correlation between x and y, and we will assume there is none. This makes sense; a dog can choose to independently wander in either the x direction or y direction without affecting the other. If there is no correlation between the values you just fill in the diagonal of the covariance matrix with the variances:" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "cov = np.array([[8.,0],[0,10.]])" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 4 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now just call the function" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "print multivariate_gaussian(x,mu,cov)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "0.0174395374407\n" + ] + } + ], + "prompt_number": 5 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's check the probability for the dog being at exactly (2,7)" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "x = np.array([2,7])\n", + "print multivariate_gaussian(x,mu,cov)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "0.0177940635854\n" + ] + } + ], + "prompt_number": 6 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "These numbers are not easy to interpret. Let's plot this in 3D, with the z coordinate being the probability." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "%matplotlib inline\n", + "pylab.rcParams['figure.figsize'] = 12,6\n", + "\n", + "from mpl_toolkits.mplot3d import Axes3D\n", + "\n", + "xs, ys = arange(-8, 13, .75), arange(-8, 20, .75)\n", + "xv, yv = meshgrid (xs, ys)\n", + "\n", + "zs = np.array([multivariate_gaussian(np.array([x,y]),mu,cov) \n", + " for x,y in zip(np.ravel(xv), np.ravel(yv))])\n", + "zv = zs.reshape(xv.shape)\n", + "\n", + "ax = plt.figure().add_subplot(111, projection='3d')\n", + "ax.plot_wireframe(xv, yv, zv)\n", + "show()\n", + "pylab.rcParams['figure.figsize'] = 6,4" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nmCYMHaqzc6dMRoZMVpaE0wn165usXSuzZo2IjGqasF369NMAsqzj8/k5fFhn924nO3fa+e47B0uX\nyni9sGyZQr16wqlgxgwnjRubjB6tccUVOikpgqhPnarwyisy2dnQpo3JsGEB3njDxvjxbiZONNm5\nU6FuXYPmzTUaN9Y5dEjYQHm9JnY7rF1byp49Mtu2KaxaJayw5s61k5cnYRiwaJHQhSuKiE7bbOax\nuZOORbhVmjatTevWQsPbtq0e+veyywzq1jV56SU3kycXliNCdrvMgAEqixY5WLzYpE8fg1tvNXG5\nDO6808W8eXbsdvB4TK66SmPiRDuqKqQexcUmrVqJzloHD0p88IGNkSN/4/YAv0FYjgXREJk9idYM\noSJZQWWeUeciq9HPPTc397TdABISEtizZ0/o5z179pCYmHjC7+zdu5fExESCwWDUbbOysti5cycd\nOnQIfb9z586sWbPmtEl1deFcgVU1wYpQWKiKCvjK4kSV8jVV4BMOyx3B7XZHrZg/29WlFuH0eDwn\n/e7JGgycKqyuTjExMae1fTiiyRAqquo/UToRyneSCieyp3uepilI2rhxKgsWKHi9EB8vSEp6usGi\nRTK7donr3KiRSWKiSSAA+/ZJqCocOiTRtatOz54mn36q4POJSGjDhiYtWpg0bWpw5IiIckoSvPFG\ngJtu0ikthTfeUBk3zkZSks7GjQqxsUKvunmzQn4+uFzQurVBs2YmS5bIxMTArbdqPPCA6NZkGPDt\ntzKvvWZj0yYZj8ekqEiiqAhq1zbJz5ew2eC884K0a2fSvDns3y+zcKEoEhsyJMibb9opLRXFX40a\nmVxyiYFhQGamkB7s3CnIYu3aolhLloVV13vv+enUyaB3bycTJwbo1ctg4UKZt95SWbFCoWFDg/x8\n4WlqmiIl73abNGhg0Ly5jmlKZGTIJCfDunUKzZsbzJrlPVaQJpGZKfH99yrff2/DbjfJy5Ow26Fl\nS434eAgGIT9fZvduGZfLpFYtUVg2a5aXiy7SkaQyIrRmjcTQobH06BHkvffyef11N5Mnu7nuOi/z\n5jnZvVvh73/38sQTAYYM8dCzp85PPynMnCmaPUybVsJVV3lwOk1+/bWU+Pjf56vJ5/OFig5/D4gk\nsqfTDEHTNILBYDm5258FVtYv2vW+4oorWLZs2Wk9NzVNo2XLlixatIgmTZrQtWvXExZYrVq1igce\n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\n", + "text": [ + "" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The result is clearly a 3D bell shaped curve. We can see that the gaussian is centered around (2,7), and that the probability quickly drops away in all directions.\n", + "\n", + "As beautiful as this is, it is perhaps a bit hard to get useful information. For example, it is not easy to tell if x and y both have the same variance or not. So for most of the rest of this book we will display multidimensional gaussian using contour plots. I will use some helper functions in gaussian.py to plot them. If you are interested in linear algebra go ahead and look at the code used to produce these contours, otherwise feel free to ignore it." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import gaussian as g\n", + "pylab.rcParams['figure.figsize'] = 12,4\n", + "\n", + "cov = array([[2,0],[0,2]])\n", + "e = g.sigma_ellipse (cov, 2, 7)\n", + "subplot(131)\n", + "g.plot_sigma_ellipse(e, '|2 0|\\n|0 2|')\n", + "\n", + "\n", + "cov = array([[2,0],[0,9]])\n", + "e = g.sigma_ellipse (cov, 2, 7)\n", + "subplot(132)\n", + "g.plot_sigma_ellipse(e, '|2 0|\\n|0 9|')\n", + "\n", + "subplot(133)\n", + "cov = array([[2,3],[1,2]])\n", + "e = g.sigma_ellipse (cov, 2, 7)\n", + "g.plot_sigma_ellipse(e,'|2 3|\\n|1 2|')\n", + "show()\n", + "pylab.rcParams['figure.figsize'] = 6,4" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\njwAAAABJRU5ErkJggg==\n", + "text": [ + "" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From a mathematical perspective these display the values that the multivariate gaussian takes for a specific sigma (in this case $\\sigma^2=1$. Think of it as taking a horizontal slice through the 3D surface plot we did above. However, thinking about the physical interpretation of these plots clarifies their meaning.\n", + "\n", + "The first plot uses mean and the covariance matrices $\n", + "\\mu =\\begin{bmatrix}2\\\\7\\end{bmatrix}, cov = \\begin{bmatrix}2&0\\\\0&2\\end{bmatrix}$. Let this be our current belief about the position of our dog in a field. In other words, we believe that he is positioned at (2,7) with a variance of $\\sigma^2=2$ for both x and y. The contour plot shows where we believe the dog is located with the '+' in the center of the ellipse. The ellipse shows the boundary for the $1\\sigma^2$ probability - points where the dog is quite likely to be based on our current knowledge. Of course, the dog might be very far from this point, as Gaussians allow the mean to be any value. For example, the dog could be at (3234.76,189989.62), but that has vanishing low probability of being true. Generally speaking displaying the $1\\sigma^2$ to $2\\sigma^2$ contour captures the most likely values for the distribution. An equivelent way of thinking about this is the circle/ellipse shows us the amount of error in our belief. A tiny circle would indicate that we have a very small error, and a very large circle indicates a lot of error in our belief. We will use this throughout the rest of the book to display and evaluate the accuracy of our filters at any point in time. \n", + "\n", + "The second plot uses mean and the covariance matrices $\n", + "\\mu =\\begin{bmatrix}2\\\\7\\end{bmatrix}, cov = \\begin{bmatrix}2&0\\\\0&9\\end{bmatrix}$. This time we use a different variance for x (2) vs y (9). The result is an ellipse. When we look at it we can immediately tell that we have a lot more uncertainty in the y value vs the x value. Our belief that the value is (2,7) is the same in both cases, but errors are different. This sort of thing happens naturally as we track objects in the world - one sensor has a better view of the object, or is closer, than another sensor, and so we end up with different error rates in the different axis.\n", + "\n", + "\n", + "The third plot uses mean and the covariance matrices $\n", + "\\mu =\\begin{bmatrix}2\\\\7\\end{bmatrix}, cov = \\begin{bmatrix}2&3\\\\1&2\\end{bmatrix}$. This is the first contour that has values in the off-diagonal elements of $cov$, and this is the first contour plot with a slanted ellipse. This is not a coincidence. The two facts are telling use the same thing. A slanted ellipse tells us that the x and y values are somehow **correlated**. We denote that in the covariance matrix with values off the diagonal. What does this mean in physical terms? Think of trying to park your car in a parking spot. You can not pull up beside the spot and then move sideways into the space because most cars cannot go purely sideways. $x$ and $y$ are not independent. This is a consequence of the steering system in a car. When your tires are turned the car rotates around its rear axle while moving forward. Or think of a horse attached to a pivoting exercise bar in a corral. The horse can only walk in circles, he cannot vary $x$ and $y$ independently, which means he cannot walk straight forward to to the side. If $x$ changes, $y$ must also change in a defined way. \n", + "\n", + "So when we see this ellipse we know that $x$ and $y$ are correlated, and that the correlation is \"strong\". I will not prove it here, but a 45 $^{\\circ}$ angle denotes complete correlation between $x$ and $y$, whereas $0$ and $90$ denote no correlation at all. Those who are familiar with this math will be objecting quite strongly, as this is actually quite sloppy language that does not adress all of the mathematical issues. They are right, but for now this is a good first approximation to understanding these ellipses from a physical interpretation point of view. The size of the ellipse shows how much error we have in each axis, and the slant shows how strongly correlated the values are.\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###Kalman Filter Basics\n", + "\n", + "Let's say we are tracking an aircraft and we get the following data for the $x$ coordinate at time $t$=1,2, and 3 seconds. What does your intuition tell you the value of $x$ will be at time $t$=4 seconds?\n" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "scatter ([1,2,3],[1,2,3]);xlim([0,4]);ylim([0,4]);show()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n", + "text": [ + "" + ] + } + ], + "prompt_number": 9 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It appears that the aircraft is flying in a straight line because we can draw a line between the three points, and we know that aircraft cannot turn on a dime. The most reasonable guess is that $x$=4 at $t$=4. I will depict that below with a green square to depict the predictions." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "scatter ([1,2,3],[1,2,3]);xlim([0,5]);ylim([0,5])\n", + "plot([0,5],[0,5],'r')\n", + "scatter ([4], [4], c='g', marker='s',s=200)\n", + "show()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nA8c27bZHjKyVAAAAAElFTkSuQmCC\n", + "text": [ + "" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If this is data from a Kalman filter, then each point has both a mean and variance. Let's try to show that by showing the approximate error for each point. Don't worry about why I am using a covariance matrix to depict the variance at this point, it will become clear in a few paragraphs. The intent at this point is to show that while we have$x$=1,2,3 that there is a lot of error associated with each measurement." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "cov = array([[0.003,0], [0,12]])\n", + "sigma = sigma=[0.5,1.,1.5,2]\n", + "e1 = g.sigma_ellipses(cov, x=1, y=1, sigma=sigma)\n", + "e2 = g.sigma_ellipses(cov, x=2, y=2, sigma=sigma)\n", + "e3 = g.sigma_ellipses(cov, x=3, y=3, sigma=sigma)\n", + "g.plot_sigma_ellipses([e1, e2, e3], axis_equal=True,x_lim=[0,4],y_lim=[0,15])\n", + "plt.ylim([0,11])\n", + "show()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nSUVORK5CYII=\n", + "text": [ + "" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that there is a lot of error associated with each value of $x$. We could write a 1D Kalman filter as we did in the last chapter, but suppose this is the output of that filter, and not just raw sensor measurements. Are we out of luck?\n", + "\n", + "Let us think about how we predicted that $x$=4 at $t$=4. In one sense we just drew a straight line between the points and saw where it lay at $t$=4. My constant refrain: what is the physical interpretation of that? What is the difference in $x$ over time? What is $\\frac{\\partial x}{\\partial t}$? The derivative, or difference in distance over time is *velocity*. \n", + "\n", + "This is the **key point** in Kalman filters, so read carefully! Our sensor is only detecting the position of the aircraft (how doesn't matter). It does not have any kind of sensor that provides velocity to us. But based on the position estimates we can compute velocity. In Kalman filters we would call the velocity an **unobserved variable**. Unobserved means what it sounds like - there is no sensor that is measuring velocity directly. Since the velocity is based on the position, and the position has error, the velocity will have error as well. What happens if we draw the velocity errors over the positions errors?" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from matplotlib.patches import Ellipse\n", + "\n", + "cov = array([[1,1],[1,1.1]])\n", + "ev = g.sigma_ellipses(cov, x=2, y=2, sigma=sigma)\n", + "\n", + "isct = Ellipse(xy=(2,2), width=.2, height=1.2, edgecolor='r', fc='None', lw=4)\n", + "plt.figure().gca().add_artist(isct)\n", + "g.plot_sigma_ellipses([e1, e2, e3, ev], axis_equal=True,x_lim=[0,4],y_lim=[0,15])\n", + "plt.ylim([0,11])\n", + "plt.show()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n1cXgrYtfkwAAAABJRU5ErkJggg==\n", + "text": [ + "" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Think about what this plot means. We have a lot of error in our position estimates. We therefore have a lot of error in our velocity estimates. But look at the intersections between the velocity and the positions. Take the intersection at $t$=2. The intersection between the velocity and the position is where our aircraft is most likely to be, which I have roughly depicted with a red ellipse ('roughly' because I set the size via eyeball, not via math). The size of the error is much smaller than the error of the positions, despite the fact that velocity was derived from position. \n", + "\n", + "What makes this possible? Imagine for a moment that we superimposed the velocity from a *different* airplane over the position graph. Cleary the two are not related, and there is no way that combining the two could possibly yield any additional information. In contrast, the velocity of the this airplane tells us something very important - the direction and speed of travel. So long as the aircraft does not alter its velocity the velocity allows us to predict where the next position is. After a relatively small amount of error in velocity the probability that it is a good match with the position is very small. Think about it - if you suddenly change direction your position is also going to change a lot. If the position measurement is not in the direction of the assumed velocity change it is very unlikely to be true. The two are correlated, so if the velocity changes so must the position, and in a predictable way. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Kalman Filter Algorithm\n", + "So in general terms we can show how a multidimensional Kalman filter works. In the example above, we compute velocity from the previous position measurements using something called the **measurement function**. Then we predict the next position by using the current estimate and something called the **state transition function**. In our example above, *new_position = old_position + velocity*time*. Next, we take the measurement from the sensor, and compare it to the prediction we just made. In a world with perfect sensors and perfect airplanes the prediction will always match the measured value. In the real world they will always be at least slightly different. We call the difference between the two the **residual**. Finally, we use something called the **Kalman gain** to update our estimate to be somewhere between the measured position and the predicted position. I will not describe how the gain is set, but suppose we had perfect confidence in our measurement - no error is possible. Then, clearly, we would set the gain so that 100% of the position came from the measurement, and 0% from the prediction. At the other extreme, if he have no confidence at all in the sensor (maybe it reported a hardware fault), we would set the gain so that 100% of the position came from the prediction, and 0% from the measurement. In normal cases, we will take a ratio of the two: maybe 53% of the measurement, and 47% of the prediction. The gain is updated on every cycle based on the variance of the variables (in a way yet to be explained). It should be clear that if the variance of the measurement is low, and the variance of the prediction is high we will favor the measurement, and vice versa. \n", + "\n", + "The chart shows a prior estimate of $x=1$ and $\\dot{x}=1$ ($\\dot{x}$ is the shorthand for the derivative of x, which is velocity). Therefore we predict $\\hat{x}=2$. However, the new measurement $x^{'}=1.3$, giving a residual $r=0.7$. Finally, Kalman filter gain $k$ gives us a new estimate of $\\hat{x^{'}}=1.8$.\n", + "\n", + "** CHECK SYMBOLOGY!!!!**" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "from mkf_internal import *\n", + "show_residual_chart()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "iVBORw0KGgoAAAANSUhEUgAAAW8AAAEKCAYAAADdBdT9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlcVGX7P/DPsBkICoqCIALuLM4wQAouiLmgFsbjlpgE\n4m6mPtmTS5roo2ilmeaS+i13s5+Uj1gu5AKKhlaiqBSiMQJqiooim2zX748TR4YdBWYOXO/Xa15y\n5mzXmfFcc899rnOPjIgIjDHGJEVH0wEwxhirOU7ejDEmQZy8GWNMgjh5M8aYBHHyZowxCeLkzRhj\nEsTJW4vY2dnhxIkTmg6jQs7Ozjh9+jQAICQkBAEBARqO6MXZ2dnh5MmTAIDQ0FBMmjTphbZT8jXR\nZpGRkbCxsdF0GKwWcfKuZaUT8L59+9CiRQucOXOmynVlMhlkMlldhlct3t7eMDQ0hImJifg4f/48\nrl69Ci8vLwBQi1OlUkFHRwdFRUW1FkPxNov3b29vj08++aTWtl8y/gULFmDr1q1VrhMUFIRFixap\nPVfyNalN5X2Qb9++HX369Kn1fZX2svvJy8vDnDlzYGNjI753//73v8X5JT842YvT03QADU3JBLxj\nxw7MmTMHhw8fhoeHh4Yjqz6ZTIYNGzYgODi4wmXKu7frRe/3KigogJ5e+f8Vnzx5Ah0dHcTExKB/\n//5wcXGBj49PtdeXKm35IH8RK1aswMWLF/Hrr7/C0tISt27dUvt2IpPJXvj/CnuOW951gIiwefNm\nfPDBB4iIiBAT982bN/Haa6/B3NwcrVq1wrhx4/DkyZNytxESEoJRo0YhICAAzZo1g1wuR2JiIlas\nWAELCwvY2tri559/Fpfftm0bHB0d0axZM3To0AFbtmwR50VGRqJt27b4/PPPYWFhASsrK2zfvr3G\nx1W6xVScXIpbnqampmIrHQC++eYbODo6okWLFhg8eDCSk5PFdXV0dLBx40Z06tQJXbp0qXLfHh4e\ncHJywrVr18Tj+fTTT9GmTRtMmDABRISVK1eiY8eOMDc3x1tvvYX09HRx/V27dsHW1hbm5uYIDQ1V\n23bpLqDo6Gj07NkTZmZmaNeuHXbs2IGtW7di7969+PTTT2FiYoI333xTfE2KW8jPnj3D7NmzYW1t\nDWtra/z73/9GXl4egNp7D4oVfzPZunUrrK2tYWVlhdWrV4vzc3JyEBQUhBYtWsDJyQm//vqr2vrF\nr1WzZs3g5OSE//3vfwCAP/74A9OmTcMvv/wCExMTtGjRQjy2Dz74ALa2trC0tMS0adOQm5tbbmy/\n/fYb/Pz8YGlpCQCwtbUVX9+AgAAkJyfD19cXJiYmWLVqFQAgJiZGfM1dXFwQFRUlbs/b2xvz589H\njx490Lx5c/j5+am9t40WsVplZ2dHw4cPJwsLC4qLi1Obd+PGDTp+/Djl5eVRWloaeXl50ezZs9XW\nPXHiBBERLV68mF555RWKiIiggoICeuedd8jW1pZCQ0OpoKCAtm7dSvb29uK6P/30E/31119ERBQV\nFUVGRkZ08eJFIiI6deoU6enp0eLFi6mgoIAOHz5MRkZG9Pjx43KPwdvbm/7v//6v3GMrGd+4ceOI\niEilUpFMJqPCwkJx2f/973/UsWNH+vPPP6mwsJCWLVtGPXv2FOfLZDIaNGgQpaenU25ubpl9JSUl\nkUwmo4KCAioqKqLo6GgyMjKikydPisczb948ysvLo5ycHPriiy/I09OTbt++TXl5eTRlyhTy9/cn\nIqJr166RsbExnTlzhp49e0bvv/8+6enpiccSEhKidiwmJia0b98+KigooIcPH9KlS5eIiCgoKIgW\nLVpU4WuyaNEi8vT0pLS0NEpLS6OePXuKy9f0PSi53WLbtm2j3r17q70+Y8eOpezsbLpy5Qq1atWK\njh8/TkREc+fOJS8vL0pPT6eUlBRycnIiGxsbcVv79++nu3fvEhHRd999R02bNqW///6biIi2b98u\n7qfY7Nmz6c0336T09HR6+vQp+fr60vz588uNfdmyZdSuXTvauHEjxcXFUVFRUaXHlpqaSi1btqQj\nR44QEdHPP/9MLVu2pAcPHhARUd++fcna2pquXbtGWVlZNGLECPH9asw4edcyW1tbatasGfn5+ZX5\nT1vagQMHSKlUitOlk+OgQYPEeeHh4WRsbCxuMyMjg2QyGT158qTcbfv5+dHatWuJSEgchoaGasm1\ndevWdP78+XLX7du3LxkZGZGpqSmZmpqSm5tbufEVn0DFiaTk9gcPHkxff/21OF1YWEhGRkaUnJxM\nRELyPnXqVIWvTfE2TU1NyczMjBwcHOjLL78Uj8fAwICePXsmLu/g4KCWEO7cuUP6+vpUUFBAS5Ys\nERM5EVFWVhYZGBiUeyyhoaE0fPjwcmMKCgqihQsXqj1X8jXp0KGDmICIiI4dO0Z2dnZizDV5D6qb\n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\nMSZB/x9UihJ3mqcUtQAAAABJRU5ErkJggg==\n", + "text": [ + "" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 13 + } + ], + "metadata": {} + } + ] } \ No newline at end of file diff --git a/Untitled0.ipynb b/Untitled0.ipynb index d2266d3..7c9c161 100644 --- a/Untitled0.ipynb +++ b/Untitled0.ipynb @@ -1,162 +1,190 @@ -{ - "metadata": { - "name": "" - }, - "nbformat": 3, - "nbformat_minor": 0, - "worksheets": [ - { - "cells": [ - { - "cell_type": "code", - "collapsed": false, - "input": [ - "def to_array(x):\n", - " try:\n", - " x.shape\n", - " try:\n", - " if type(x) != numpy.ndarray:\n", - " x=asarray(x)[0]\n", - " return x\n", - " except:\n", - " pass\n", - "\n", - " except:\n", - " return array(mat(x)).reshape(1)\n", - "\n", - "def to_cov(x,n):\n", - " try:\n", - " x.shape\n", - " return x\n", - " except:\n", - " return eye(n) * x\n", - " \n", - "def multivariate_gaussian (x, mu, cov):\n", - " \"\"\" This is designed to work the same as scipy.stats.multivariate_normal\n", - " which is available before version 0.14. You may either pass in a \n", - " multivariate set of data:\n", - " multivariate_gaussian (array([1,1]), array([3,4]), eye(2)*1.4)\n", - " or unidimensional data:\n", - " multivariate_gaussian(1, 3, 1.4)\n", - " \n", - " In the multivariate case if cov is a scalar it is interpreted as eye(n)*cov\n", - " \"\"\"\n", - " \n", - " # force all to numpy.array type\n", - " x = to_array(x)\n", - " mu = to_array(mu)\n", - " n = mu.size\n", - " cov = to_cov (cov, n)\n", - "\n", - " det = numpy.sqrt(numpy.prod(numpy.diag(cov)))\n", - " frac = (2*numpy.pi)**(-n/2.0) * (1.0/det)\n", - " fprime = x - mu\n", - " fprime **= 2\n", - " m = frac * numpy.exp(-0.5*numpy.dot(fprime, 1/numpy.diag(cov)))\n", - " return m\n", - "\n" - ], - "language": "python", - "metadata": {}, - "outputs": [], - "prompt_number": 24 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "print mvg (array([1,1]), array([1,1]), eye(2))\n", - "print mvg (mat([1,1]), mat([1,1]), eye(2))\n", - "print mvg (2,3,1)\n", - "\n", - "\n", - "\n", - "\n" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "0.159154943092\n", - "0.159154943092\n", - "0.241970724519\n" - ] - } - ], - "prompt_number": 30 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "print numpy.array(3)\n", - "print pylab.rcParams['figure.figsize']" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "3\n", - "(6.0, 4.0)\n" - ] - } - ], - "prompt_number": 2 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "class KalmanFilter1D(object):\n", - "\n", - " def __init__ (self, x0, var):\n", - " self.mean = x0\n", - " self.variance = var\n", - "\n", - " def estimate(self, z, z_variance):\n", - " self.mean = \\\n", - " (self.variance*z + z_variance*self.mean) / \\\n", - " self.variance + z_variance\n", - " self.variance = 1. / (1./self.variance+ 1./z_variance)\n", - "\n", - "f = KalmanFilter1D(1,2)\n", - "f.estimate(z = 2,\n", - " z_variance = 3)\n", - "\n", - "print f.mean, f.variance" - ], - "language": "python", - "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "6 1.2\n" - ] - } - ], - "prompt_number": 6 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import scipy.interpolate\n" - ], - "language": "python", - "metadata": {}, - "outputs": [], - "prompt_number": 9 - } - ], - "metadata": {} - } - ] +{ + "metadata": { + "name": "", + "signature": "sha256:72a139de073c5d503980bcd0a85ebae9c6b611ce8aba196ba5cf862647b7cad0" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "code", + "collapsed": false, + "input": [ + "def to_array(x):\n", + " try:\n", + " x.shape\n", + " try:\n", + " if type(x) != numpy.ndarray:\n", + " x=asarray(x)[0]\n", + " return x\n", + " except:\n", + " pass\n", + "\n", + " except:\n", + " return array(mat(x)).reshape(1)\n", + "\n", + "def to_cov(x,n):\n", + " try:\n", + " x.shape\n", + " return x\n", + " except:\n", + " return eye(n) * x\n", + " \n", + "def multivariate_gaussian (x, mu, cov):\n", + " \"\"\" This is designed to work the same as scipy.stats.multivariate_normal\n", + " which is available before version 0.14. You may either pass in a \n", + " multivariate set of data:\n", + " multivariate_gaussian (array([1,1]), array([3,4]), eye(2)*1.4)\n", + " or unidimensional data:\n", + " multivariate_gaussian(1, 3, 1.4)\n", + " \n", + " In the multivariate case if cov is a scalar it is interpreted as eye(n)*cov\n", + " \"\"\"\n", + " \n", + " # force all to numpy.array type\n", + " x = to_array(x)\n", + " mu = to_array(mu)\n", + " n = mu.size\n", + " cov = to_cov (cov, n)\n", + "\n", + " det = numpy.sqrt(numpy.prod(numpy.diag(cov)))\n", + " frac = (2*numpy.pi)**(-n/2.0) * (1.0/det)\n", + " fprime = x - mu\n", + " fprime **= 2\n", + " m = frac * numpy.exp(-0.5*numpy.dot(fprime, 1/numpy.diag(cov)))\n", + " return m\n", + "\n" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "print mvg (array([1,1]), array([1,1]), eye(2))\n", + "print mvg (mat([1,1]), mat([1,1]), eye(2))\n", + "print mvg (2,3,1)" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "print numpy.array(3)\n", + "print pylab.rcParams['figure.figsize']" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "class KalmanFilter1D(object):\n", + "\n", + " def __init__ (self, x0, var):\n", + " self.mean = x0\n", + " self.variance = var\n", + "\n", + " def estimate(self, z, z_variance):\n", + " self.mean = \\\n", + " (self.variance*z + z_variance*self.mean) / \\\n", + " self.variance + z_variance\n", + " self.variance = 1. / (1./self.variance+ 1./z_variance)\n", + "\n", + "f = KalmanFilter1D(1,2)\n", + "f.estimate(z = 2,\n", + " z_variance = 3)\n", + "\n", + "print f.mean, f.variance" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "%%file test.py\n", + "print 'hi'" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "%run test.py\n" + ], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import math\n", + "from IPython.html.widgets import interact, interactive, fixed\n", + "#from IPython.html import widgets\n", + "#from IPython.display import clear_output, display, HTML\n", + "\n", + "def gaussian (x, mu, sigma):\n", + " ''' compute the gaussian with the specified mean(mu) and sigma'''\n", + " return math.exp (-0.5 * (x-mu)**2 / sigma) / math.sqrt(2.*math.pi*sigma)\n", + "\n", + "def plt_g (mu,gamma):\n", + " xs = arange(0,10,0.15)\n", + " ys = [gaussian (x, mu,gamma) for x in xs]\n", + " plot (xs, ys)\n", + " show()\n", + "\n", + " \n", + "interact (plt_g, mu=(0,10), gamma=(0.01,6))" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "display_data", + "png": "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\n", + "text": [ + "" + ] + }, + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 2, + "text": [ + "" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + } + ], + "metadata": {} + } + ] } \ No newline at end of file diff --git a/gaussian.py b/gaussian.py index 10425c6..655f798 100644 --- a/gaussian.py +++ b/gaussian.py @@ -38,8 +38,9 @@ def multivariate_gaussian(x, mu, cov): """ # force all to numpy.array type - x = _to_array(x) - mu = _to_array(mu) + x = np.asarray(x) + mu = np.asarray(mu) + n = mu.size cov = _to_cov(cov, n) @@ -128,18 +129,6 @@ def plot_sigma_ellipses(ellipses,title=None,axis_equal=True,x_lim=None,y_lim=Non if title is not None: plt.title (title) -def _to_array(x): - """ returns any of a scalar, matrix, or array as a 1D numpy array - Example: - _to_array(3) == array([3]) - """ - try: - x.shape - if type(x) != np.ndarray: - x = np.asarray(x)[0] - return x - except: - return np.array(np.mat(x)).reshape(1) def _to_cov(x,n): """ If x is a scalar, returns a covariance matrix generated from it @@ -171,12 +160,12 @@ if __name__ == '__main__': assert rv.pdf(1.2) == x2 assert abs(x2- x3) < 0.00000001 - cov = np.array([\ - [1,1],\ - [1,1.1]]) + cov = np.array([[1,1], + [1,1.1]]) + sigma = [1,1] ev = sigma_ellipses(cov, x=2, y=2, sigma=sigma) - plot_sigma_ellipses([e1, e2, e3, ev], axis_equal=True,x_lim=[0,4],y_lim=[0,15]) + plot_sigma_ellipses([ev], axis_equal=True,x_lim=[0,4],y_lim=[0,15]) #isct = plt.Circle((2,2),1,color='b',fill=False) #plt.figure().gca().add_artist(isct) plt.show() diff --git a/histogram_filter.ipynb b/histogram_filter.ipynb index 20e5655..7c32d01 100644 --- a/histogram_filter.ipynb +++ b/histogram_filter.ipynb @@ -1,6 +1,7 @@ { "metadata": { - "name": "" + "name": "", + "signature": "sha256:8d7cf224140d3802499c78af56da276f1e1e580fa08934a23e11b1ea2301209a" }, "nbformat": 3, "nbformat_minor": 0, @@ -16,6 +17,22 @@ "The Kalman filter belongs to a family of filters called *bayesian filters*. Without going into" ] }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [], + "language": "python", + "metadata": {}, + "outputs": [] + }, { "cell_type": "markdown", "metadata": {}, @@ -42,7 +59,7 @@ "language": "python", "metadata": {}, "outputs": [], - "prompt_number": 4 + "prompt_number": 1 }, { "cell_type": "markdown", @@ -60,7 +77,7 @@ "language": "python", "metadata": {}, "outputs": [], - "prompt_number": 5 + "prompt_number": 2 }, { "cell_type": "markdown", @@ -73,6 +90,8 @@ "cell_type": "code", "collapsed": false, "input": [ + "%matplotlib inline\n", + "\n", "pos = array([0.333, 0.333, 0., 0., 0., 0., 0., 0., 0.333, 0.])\n", "\n", "def bar_plot(pos):\n", @@ -92,11 +111,11 @@ "output_type": "display_data", "png": "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\nlmPChAk6c+aMrly5omPHjmXt9fM//OEP+vKXv6xQKJQTV82SdPz4cZ0+fVqHDh3Sr3/9a3V2dmYl\nx+DgoE6dOqUf/OAHOnXqlCZNmqSXX345K1nuGRgY0O9//3t961vfylqGt956S7/85S/V09Ojq1ev\n6tatW9qzZ09Wsvj9fv34xz/WsmXLtHz5coVCIccLlc90wXs8HsXj8dR6PB6X1+vNYqLccufOHX3z\nm9/Ud77zHa1cuTLbcSRJU6ZM0Te+8Q2dPHkyK8c/ceKEDhw4oMcee0zPPPOMjhw5orVr12Ylyz2F\nhYWSpIKCAtXW1ioWi2Ulh9frldfrVXl5uSRp1apVOnXqVFay3HPo0CEtWrRIBQUFWctw8uRJPfHE\nE5o+fbry8vJUV1enEydOZC3PunXrdPLkSf35z3/W1KlTNXfu3GHHfqYL/uMvYg0MDKi1tVU1NTXZ\njpUTjDFqaGjQvHnz9MMf/jCrWf773//q+vXrkqTbt2/rT3/6k0KhUFaybNmyRfF4XJcuXdK+ffv0\n9a9/Xbt3785KFknq7+/XzZs3JUl9fX06fPhw1p7CmjlzpoqKivSPf/xD0t173/Pnz89Klnv27t2r\nZ555JqsZ/H6/urq6dPv2bRlj1NHRkdVbjG+//bYk6fLly/rd737nfPtqfH72O3YOHjxoHn/8cTNn\nzhyzZcuWrGapr683hYWF5otf/KLxer1m165dWcvS2dlpXC6XCQaDZuHChWbhwoXm0KFDWcly9uxZ\nEwqFTDAYNKWlpebnP/95VnJ8UjQazfpTNP/85z9NMBg0wWDQzJ8/P+vfw2fOnDHhcNiUlZWZ2tra\nrD5Fc+vWLTN9+nRz48aNrGW4p6mpycybN88sWLDArF271gwMDGQtS2VlpZk3b54JBoPmyJEjjmN5\n0QkALPWZvkUDABgeBQ8AlqLgAcBSFDwAWIqCBwBLUfAAYCkKHgAsRcEDgKX+H365oPMZsojKAAAA\nAElFTkSuQmCC\n", "text": [ - "" + "" ] } ], - "prompt_number": 6 + "prompt_number": 3 }, { "cell_type": "markdown", @@ -125,7 +144,7 @@ ] } ], - "prompt_number": 7 + "prompt_number": 4 }, { "cell_type": "markdown", @@ -160,7 +179,7 @@ ] } ], - "prompt_number": 8 + "prompt_number": 5 }, { "cell_type": "markdown", @@ -217,7 +236,7 @@ ] } ], - "prompt_number": 9 + "prompt_number": 6 }, { "cell_type": "markdown", @@ -267,7 +286,7 @@ ] } ], - "prompt_number": 10 + "prompt_number": 7 }, { "cell_type": "markdown", @@ -323,7 +342,7 @@ ] } ], - "prompt_number": 11 + "prompt_number": 8 }, { "cell_type": "markdown", @@ -369,7 +388,7 @@ ] } ], - "prompt_number": 12 + "prompt_number": 9 }, { "cell_type": "markdown", @@ -397,7 +416,7 @@ ] } ], - "prompt_number": 13 + "prompt_number": 10 }, { "cell_type": "markdown", @@ -422,11 +441,11 @@ "output_type": "display_data", "png": "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\nzp0VHdgt6XTa7RHmxez5024PME9ptweYp7TbA8xT2u0BKs4x5JlMRuFwWKFQSD6fT11dXUomk9PW\nHDhwQI888ogkqb29XePj4zp9+nTlJnaJ2SE0ff602wPMU9rtAeYp7fYA85R2e4CKcwx5LpdTMBjM\nbwcCAeVyuYJrxsbGyjwmAOBqHEN+5cNsCvvkB7oU+zwAwPw5foyt3+9XNpvNb2ezWQUCAcc1Y2Nj\n8vv9M16roaHB+MDv2bPH7RHmpfLzV/K/79xnL+77rtLfmzfm/MW/502fv3IaGhoKrnEMeWtrq0ZG\nRjQ6OqoVK1Zo//79SiQS09Z0dnaqv79fXV1dOnbsmD796U9r2bJlM17r5MmTJY4PACiGY8i9Xq/6\n+/vV0dEhy7LU3d2taDSqgYEBSVJPT482btyogwcPKhwOa+HChfrpT396TQYHAFxxzf5gCQBAZVT8\nzs5ibiiqZo8++qiWLVumz33uc26PUrJsNqt169bpjjvu0MqVK/X888+7PVJJ/vOf/6i9vV2rV69W\nc3OznnrqKbdHmhPLshSLxbRp0ya3RylZKBTSqlWrFIvFtGbNGrfHKcn4+Li2bt2qaDSq5uZmHTt2\nzO2RivbOO+8oFovl/6qrq3N+/9oVNDU1ZTc0NNinTp2yJycn7ZaWFnt4eLiSuyy7N9980x4aGrJX\nrlzp9igl++CDD+zjx4/btm3bFy5csD/72c8a9+9/YmLCtm3bvnTpkt3e3m4fOXLE5YlK99xzz9kP\nPPCAvWnTJrdHKVkoFLLPnj3r9hhz8vDDD9svvviibdtXvn/Gx8ddnmhuLMuyly9fbr///vtXXVPR\nI/Jibiiqdvfcc48WL17s9hhzsnz5cq1evVqStGjRIkWjUf3jH/9wearSLFiwQJI0OTkpy7K0ZMkS\nlycqzdjYmA4ePKhvfvObVfHnP86FiXP/61//0pEjR/Too49KuvL7vrq6OpenmpvBwUE1NDRMu1/n\nkyoa8mJuKMK1MTo6quPHj6u9vd3tUUpy+fJlrV69WsuWLdO6devU3Nzs9kgl+da3vqXvf//7qqkx\n8/PpPB6PvvzlL6u1tVUvvPCC2+MU7dSpU6qvr9f27dt15513aseOHbp48aLbY83Jvn379MADDziu\nqeh3VzVcgwnpo48+0tatW/WDH/xAixYtcnucktTU1OjPf/6zxsbG9Oabbxr1UQO/+tWvdOuttyoW\nixl5VCtJR48e1fHjx3Xo0CH98Ic/1JEjR9weqShTU1MaGhrSY489pqGhIS1cuFDPPvus22OVbHJy\nUr/85S/1ta99zXFdRUNezA1FqKxLly7p/vvv1ze+8Q1t3rzZ7XHmrK6uTl/96lf1pz/9ye1RivbW\nW2/pwIED+sxnPqNt27bpjTfe0MMPP+z2WCW57bbbJEn19fXasmWLMpmMyxMVJxAIKBAIqK2tTZK0\ndetWDQ0NuTxV6Q4dOqS77rpL9fX1jusqGvKP31A0OTmp/fv3q7Ozs5K7xMfYtq3u7m41Nzdr9+7d\nbo9TsjNnzmh8fFyS9O9//1u//e1vFYvFXJ6qeN/73veUzWZ16tQp7du3T1/60pf00ksvuT1W0S5e\nvKgLFy5IkiYmJvSb3/zGmKu3li9frmAwqHfffVfSlfPMd9xxh8tTlS6RSGjbtm0F1zneEDRfV7uh\nyCTbtm3T73//e509e1bBYFBPP/20tm/f7vZYRTl69Khefvnl/OVjkvTMM89o/fr1Lk9WnA8++ECP\nPPKILl++rMuXL+uhhx7Svffe6/ZYc2baqcbTp09ry5Ytkq6cqnjwwQf1la98xeWpird37149+OCD\nmpycVENDg3E3K05MTGhwcLCo301wQxAAGM7MX6UDAPIIOQAYjpADgOEIOQAYjpADgOEIOQAYjpAD\ngOEIOQAY7v8Av9rK1q6fmQEAAAAASUVORK5CYII=\n", "text": [ - "" + "" ] } ], - "prompt_number": 14 + "prompt_number": 11 }, { "cell_type": "markdown", @@ -460,11 +479,11 @@ "output_type": "display_data", "png": "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\nTkSuQmCC\n", "text": [ - "" + "" ] } ], - "prompt_number": 15 + "prompt_number": 12 }, { "cell_type": "markdown", @@ -499,11 +518,11 @@ "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAXYAAAEACAYAAACnJV25AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGAZJREFUeJzt239MVffh//HXdbCYQf0ZKvVeGiwX5QJ6wUJv2qwZLmYU\nN4mttKHWYSrtyJbF2PjHsr+m+6PKGpPi2B9s6WxMG+sf24QVJBvr566klhAjdkuYq+2gvVyr67Yv\nVYp64fr+/qGlonC5Vjz3+Pb5SE7C4bzPeb/uFV8czrnHY4wxAgBYY06qAwAAZhfFDgCWodgBwDIU\nOwBYhmIHAMtQ7ABgmaSKvbOzUwUFBcrPz1djY+MN20+ePKmHH35Yc+fO1d69eye+H4lEtGbNGhUV\nFam4uFj79u2bveQAgCl5Zvocezwe14oVK9TV1SWv16vy8nIdPHhQgUBgYsynn36qjz76SIcPH9bC\nhQu1Y8cOSdKZM2d05swZlZSUaGRkRA8++KAOHz48aV8AwOya8Yy9t7dXfr9fubm5Sk9PV21trVpb\nWyeNycrKUllZmdLT0yd9Pzs7WyUlJZKkzMxMBQIBnT59ehbjAwCuN2OxR6NR5eTkTKz7fD5Fo9Gb\nnmhwcFB9fX0KhUI3vS8AIHkzFrvH47nlSUZGRlRTU6OmpiZlZmbe8vEAANNLm2mA1+tVJBKZWI9E\nIvL5fElPMDY2po0bN2rz5s3asGHDDdtLSkr03nvvJX08AIAUDAZ14sSJKbfNeMZeVlamU6dOaXBw\nULFYTIcOHVJ1dfWUY6+/D2uMUX19vQoLC7V9+/Yp93nvvfdkjLml5Wc/+9ktH2M2FjfkcEMGt+Qg\ng7tyuCGDW3LMRoZEJ8QznrGnpaWpublZlZWVisfjqq+vVyAQUEtLiySpoaFBZ86cUXl5uc6dO6c5\nc+aoqalJ/f39OnHihF577TWtWrVKpaWlkqTdu3frsccem2laAMBXNGOxS1JVVZWqqqomfa+hoWHi\n6+zs7EmXa77wzW9+U5cvX77FiACAm2HFk6cVFRWpjiDJHTnckEFyRw4yfMkNOdyQQXJHjtudYcYH\nlG43j8ejFEcAgDtOou604owdAPAlih0ALEOxA4BlKHYAsAzFDgCWodgBwDIUOwBYhmIHAMtQ7ABg\nGYodACxDsQOAZSh2ALAMxQ4AlqHYAcAyFDsAWIZiBwDLUOwAYBmKHQAsQ7EDgGUodgCwDMUOAJah\n2AHAMhQ7AFgmLdUBJMnj8Tgyzz33LNS5c/9zZC4ASBWPMcakNIDHI8mpCB6l+OUCwKzweKbvMy7F\nXDVv3iJ5PB5HlnnzFqX65QK4BU71xVftihmLvbOzUwUFBcrPz1djY+MN20+ePKmHH35Yc+fO1d69\ne29qXzc5f/7/6cpfDrd/uTIXgDuVU33xVbsi4aWYeDyuFStWqKurS16vV+Xl5Tp48KACgcDEmE8/\n/VQfffSRDh8+rIULF2rHjh1J7yu551KMW3IAcD/n+iJxZ32lSzG9vb3y+/3Kzc1Venq6amtr1dra\nOmlMVlaWysrKlJ6eftP7YjIuBwGJ8X8kOQmLPRqNKicnZ2Ld5/MpGo0mdeBb2fduxeUgIDH+jyQn\nYbHfyscQnfoIIwBgsoSfY/d6vYpEIhPrkUhEPp8vqQPf3L47r/m64uoCAPhCOBxWOBxOamzCm6fj\n4+NasWKF/vKXv2jp0qV66KGHprwBKkk7d+7UPffcM3HzNNl93XLT0g053JABcDO3/B9x+83ThGfs\naWlpam5uVmVlpeLxuOrr6xUIBNTS0iJJamho0JkzZ1ReXq5z585pzpw5ampqUn9/vzIzM6fcF+43\nb94ix64v8jTwncOpnwt+Jm4dT566KIcbMrgpB9zFLWepbvjZdMt7wZOnAHCXoNgBwDIUO1yJB1G+\nxHuBm8U1dhflcEMGt+RwQwbJHTeS3fJeuOW6Mu/Flxm+0qdigLvdl086OjEXD/VhdnApBgAsQ7ED\ngGUodgCwDMUOAJah2AHAMhQ7AFiGYgcAy1DsAGAZih0ALEOxA4BlKHYAsAzFDgCWodgBwDIUOwBY\nhmIHAMtQ7ABgGYodACxDsQOAZSh2ALAMxQ4AlqHYAcAyFDsAWIZiBwDLUOwAYJkZi72zs1MFBQXK\nz89XY2PjlGO2bdum/Px8BYNB9fX1TXx/9+7dKioq0sqVK7Vp0yZdunRp9pIDAKZmEhgfHzd5eXlm\nYGDAxGIxEwwGTX9//6Qx7e3tpqqqyhhjTE9PjwmFQsYYYwYGBsyyZcvMxYsXjTHGPPXUU+bVV1+9\nYQ5JRjIOLdO/XDfkcEMGt+RwQwa35HBDBmdzuCGDW3IkzjCdhGfsvb298vv9ys3NVXp6umpra9Xa\n2jppTFtbm7Zs2SJJCoVCGh4e1tmzZzVv3jylp6drdHRU4+PjGh0dldfrnZVfRgCA6SUs9mg0qpyc\nnIl1n8+naDSa1JhFixZpx44duv/++7V06VItWLBAa9euneX4AIDrpSXa6PF4kjrIlb8KJvvwww/1\n8ssva3BwUPPnz9eTTz6p119/Xc8888wUR9h5zdcVVxcAwBfC4bDC4XBSYxMWu9frVSQSmViPRCLy\n+XwJxwwNDcnr9SocDuuRRx7R4sWLJUlPPPGEjh49mkSxAwCuV1FRoYqKion1Xbt2TTs24aWYsrIy\nnTp1SoODg4rFYjp06JCqq6snjamurtaBAwckST09PVqwYIGWLFmiFStWqKenRxcuXJAxRl1dXSos\nLLyFlwUASEbCM/a0tDQ1NzersrJS8Xhc9fX1CgQCamlpkSQ1NDRo3bp16ujokN/vV0ZGhvbv3y9J\nKikpUV1dncrKyjRnzhytXr1aP/jBD27/KwKAu5zHTHWB3MkAHo8kpyJ4prwf4JYcbsjglhxuyOCW\nHG7I4GwON2RwS47EGabbxpOnAGAZih0ALEOxA4BlKHYAsAzFDgCWodgBwDIUOwBYhmIHAMtQ7ABg\nGYodACxDsQOAZSh2ALAMxQ4AlqHYAcAyFDsAWIZiBwDLUOwAYBmKHQAsQ7EDgGUodgCwDMUOAJah\n2AHAMhQ7AFiGYgcAy1DsAGAZih0ALEOxA4BlKHYAsMyMxd7Z2amCggLl5+ersbFxyjHbtm1Tfn6+\ngsGg+vr6Jr4/PDysmpoaBQIBFRYWqqenZ/aSAwCmZhIYHx83eXl5ZmBgwMRiMRMMBk1/f/+kMe3t\n7aaqqsoYY0xPT48JhUIT2+rq6swrr7xijDFmbGzMDA8P3zCHJCMZh5bpX64bcrghg1tyuCGDW3K4\nIYOzOdyQwS05EmeYTsIz9t7eXvn9fuXm5io9PV21tbVqbW2dNKatrU1btmyRJIVCIQ0PD+vs2bP6\n7LPP1N3dra1bt0qS0tLSNH/+/Fv/TQQASChhsUejUeXk5Eys+3w+RaPRGccMDQ1pYGBAWVlZevbZ\nZ7V69Wo9//zzGh0dneX4AIDrpSXa6PF4kjrIlb8KJu83Pj6u48ePq7m5WeXl5dq+fbv27Nmjn//8\n51McYec1X1dcXQAAXwiHwwqHw0mNTVjsXq9XkUhkYj0Sicjn8yUcMzQ0JK/XK2OMfD6fysvLJUk1\nNTXas2fPNDPtTCosANytKioqVFFRMbG+a9euaccmvBRTVlamU6dOaXBwULFYTIcOHVJ1dfWkMdXV\n1Tpw4IAkqaenRwsWLNCSJUuUnZ2tnJwcvf/++5Kkrq4uFRUVfdXXBABIUsIz9rS0NDU3N6uyslLx\neFz19fUKBAJqaWmRJDU0NGjdunXq6OiQ3+9XRkaG9u/fP7H/L3/5Sz3zzDOKxWLKy8ubtA0AcHt4\nzPUXyJ0O4PFIciqC54b7AW7K4YYMbsnhhgxuyeGGDM7mcEMGt+RInGG6bTx5CgCWodgBwDIUOwBY\nhmIHAMtQ7ABgGYodACxDsQOAZSh2ALAMxQ4AlqHYAcAyFDsAWIZiBwDLUOwAYBmKHQAsQ7EDgGUo\ndgCwDMUOAJah2AHAMhQ7AFiGYgcAy1DsAGAZih0ALEOxA4BlKHYAsAzFDgCWodgBwDIUOwBYhmIH\nAMvMWOydnZ0qKChQfn6+Ghsbpxyzbds25efnKxgMqq+vb9K2eDyu0tJSrV+/fnYSAwASSljs8Xhc\nP/7xj9XZ2an+/n4dPHhQ//jHPyaN6ejo0AcffKBTp07p17/+tX74wx9O2t7U1KTCwkJ5PJ7ZTw8A\nuEHCYu/t7ZXf71dubq7S09NVW1ur1tbWSWPa2tq0ZcsWSVIoFNLw8LDOnj0rSRoaGlJHR4eee+45\nGWNu00sAAFwrYbFHo1Hl5ORMrPt8PkWj0aTHvPDCC3rppZc0Zw6X8gHAKWmJNiZ7+eT6s3FjjN58\n803de++9Ki0tVTgcnuEIO6/5uuLqAgD4QjgcTqJLr0hY7F6vV5FIZGI9EonI5/MlHDM0NCSv16vf\n/e53amtrU0dHhy5evKhz586prq5OBw4cmGKmnUmFBYC7VUVFhSoqKibWd+3aNf1gk8DY2Jh54IEH\nzMDAgLl06ZIJBoOmv79/0pj29nZTVVVljDHm3XffNaFQ6IbjhMNh873vfW/KOSQZyTi0TP9y3ZDD\nDRncksMNGdySww0ZnM3hhgxuyZE4w3QSnrGnpaWpublZlZWVisfjqq+vVyAQUEtLiySpoaFB69at\nU0dHh/x+vzIyMrR///4pj8WnYgDAGZ6rzZ+6AB6PJKcieDTdy3VDDjdkcEsON2RwSw43ZHA2hxsy\nuCVH4gzTbePjKgBgGYodACxDsQOAZSh2ALAMxQ4AlqHYAcAyFDsAWIZiBwDLUOwAYBmKHQAsQ7ED\ngGUodgCwDMUOAJah2AHAMhQ7AFiGYgcAy1DsAGAZih0ALEOxA4BlKHYAsAzFDgCWodgBwDIUOwBY\nhmIHAMtQ7ABgGYodACxDsQOAZSh2ALBMUsXe2dmpgoIC5efnq7Gxccox27ZtU35+voLBoPr6+iRJ\nkUhEa9asUVFRkYqLi7Vv377ZSw4AmJqZwfj4uMnLyzMDAwMmFouZYDBo+vv7J41pb283VVVVxhhj\nenp6TCgUMsYY88knn5i+vj5jjDHnz583y5cvv2FfSUYyDi3Tv1w35HBDBrfkcEMGt+RwQwZnc7gh\ng1tyJM4wnRnP2Ht7e+X3+5Wbm6v09HTV1taqtbV10pi2tjZt2bJFkhQKhTQ8PKyzZ88qOztbJSUl\nkqTMzEwFAgGdPn361n4TAQASmrHYo9GocnJyJtZ9Pp+i0eiMY4aGhiaNGRwcVF9fn0Kh0K1mBgAk\nMGOxezyepA505S+DqfcbGRlRTU2NmpqalJmZeZMRAQA3I22mAV6vV5FIZGI9EonI5/MlHDM0NCSv\n1ytJGhsb08aNG7V582Zt2LBhmll2XvN1xdUFAPCFcDiscDic3OBpr75fNTY2Zh544AEzMDBgLl26\nNOPN03fffXfi5unly5fN97//fbN9+3YX3IRwy82Q6XO4IYNbcrghg1tyuCGDsznckMEtORJnmM6M\nZ+xpaWlqbm5WZWWl4vG46uvrFQgE1NLSIklqaGjQunXr1NHRIb/fr4yMDO3fv1+S9M477+i1117T\nqlWrVFpaKknavXu3HnvsseR+6wAAbprnavOnLoDHI8mpCB5N93LdkMMNGdySww0Z3JLDDRmczeGG\nDG7JkTjDdNt48hQALEOxA4BlKHYAsAzFDgCWodgBwDIUOwBYhmIHAMtQ7ABgGYodACxDsQOAZSh2\nALAMxQ4AlqHYAcAyFDsAWIZiBwDLUOwAYBmKHQAsQ7EDgGUodgCwDMUOAJah2AHAMhQ7AFiGYgcA\ny1DsAGAZih0ALEOxA4BlKHYAsAzFDgCWmbHYOzs7VVBQoPz8fDU2Nk45Ztu2bcrPz1cwGFRfX99N\n7QsAmGUmgfHxcZOXl2cGBgZMLBYzwWDQ9Pf3TxrT3t5uqqqqjDHG9PT0mFAolPS+xhgjyUjmFpf/\nS3Lc9C/XDTnckMEtOdyQYXZyJJuB98KZDG7JMTsZppPwjL23t1d+v1+5ublKT09XbW2tWltbJ41p\na2vTli1bJEmhUEjDw8M6c+ZMUvvOnvBtOu7NCqc6gNyRQXJHjnCqA8gdGSR35AinOsBV4VQH0O3O\nkLDYo9GocnJyJtZ9Pp+i0WhSY06fPj3jvgCA2Zew2D0eT1IHufJXAQDADdISbfR6vYpEIhPrkUhE\nPp8v4ZihoSH5fD6NjY3NuK8kBYNBvfdecr9AEtuV1KjEv6zckMMNGdySww0ZZiNHchkS57i73gv3\n/2zORo5byxAMBqfdJ2Gxl5WV6dSpUxocHNTSpUt16NAhHTx4cNKY6upqNTc3q7a2Vj09PVqwYIGW\nLFmixYsXz7ivJJ04cSKZ1wYASFLCYk9LS1Nzc7MqKysVj8dVX1+vQCCglpYWSVJDQ4PWrVunjo4O\n+f1+ZWRkaP/+/Qn3BQDcXh7DBXIAsMod/+Rpqh+C2rp1q5YsWaKVK1c6Pve1IpGI1qxZo6KiIhUX\nF2vfvn2OZ7h48aJCoZBKSkpUWFion/70p45n+EI8HldpaanWr1+fsgy5ublatWqVSktL9dBDD6Uk\nw/DwsGpqahQIBFRYWKienh7HM/zzn/9UaWnpxDJ//vyU/Hzu3r1bRUVFWrlypTZt2qRLly45nkGS\nmpqatHLlShUXF6upqen2TDLtJ9zvAMk+BHU7vf322+b48eOmuLjY0Xmv98knn5i+vj5jjDHnz583\ny5cvd/y9MMaYzz//3BhjzNjYmAmFQqa7u9vxDMYYs3fvXrNp0yazfv36lMxvjDG5ubnmv//9b8rm\nN8aYuro688orrxhjrvybDA8PpzRPPB432dnZ5uOPP3Z03oGBAbNs2TJz8eJFY4wxTz31lHn11Vcd\nzWCMMX//+99NcXGxuXDhghkfHzdr1641H3zwwazPc0efsTv7ENTUHn30US1cuNDROaeSnZ2tkpIS\nSVJmZqYCgYBOnz7teI5vfOMbkqRYLKZ4PK5FixY5nmFoaEgdHR167rnnUv5R3FTO/9lnn6m7u1tb\nt26VdOW+1/z581OWR5K6urqUl5c36RkXJ8ybN0/p6ekaHR3V+Pi4RkdH5fV6Hc0gSSdPnlQoFNLc\nuXP1ta99Td/61rf0+9//ftbnuaOLPZkHqO5Gg4OD6uvrUygUcnzuy5cvq6SkREuWLNGaNWtUWFjo\neIYXXnhBL730kubMSe2Pt8fj0dq1a1VWVqbf/OY3js8/MDCgrKwsPfvss1q9erWef/55jY6OOp7j\nWm+88YY2bdrk+LyLFi3Sjh07dP/992vp0qVasGCB1q5d63iO4uJidXd363//+59GR0fV3t6uoaGh\nWZ/nji72ZB+gupuMjIyopqZGTU1NyszMdHz+OXPm6MSJExoaGtLbb7+tcDjs6Pxvvvmm7r33XpWW\nlqb8bP2dd95RX1+fjhw5ol/96lfq7u52dP7x8XEdP35cP/rRj3T8+HFlZGRoz549jma4ViwW0x//\n+Ec9+eSTjs/94Ycf6uWXX9bg4KBOnz6tkZERvf76647nKCgo0E9+8hN95zvfUVVVlUpLS2/LCcgd\nXezJPEB1NxkbG9PGjRu1efNmbdiwIaVZ5s+fr+9+97s6duyYo/MePXpUbW1tWrZsmZ5++mm99dZb\nqqurczTDF+677z5JUlZWlh5//HH19vY6Or/P55PP51N5ebkkqaamRsePH3c0w7WOHDmiBx98UFlZ\nWY7PfezYMT3yyCNavHix0tLS9MQTT+jo0aOO55CufODi2LFj+utf/6oFCxZoxYoVsz7HHV3s1z5A\nFYvFdOjQIVVXV6c6VkoYY1RfX6/CwkJt3749JRn+85//aHh4WJJ04cIF/fnPf1ZpaamjGV588UVF\nIhENDAzojTfe0Le//W0dOHDA0QySNDo6qvPnz0uSPv/8c/3pT39y/JNT2dnZysnJ0fvvvy/pyvXt\noqIiRzNc6+DBg3r66adTMndBQYF6enp04cIFGWPU1dWVksuEkvTvf/9bkvTxxx/rD3/4w+25NDXr\nt2Md1tHRYZYvX27y8vLMiy++6Pj8tbW15r777jNf//rXjc/nM7/97W8dz2CMMd3d3cbj8ZhgMGhK\nSkpMSUmJOXLkiKMZ/va3v5nS0lITDAbNypUrzS9+8QtH579eOBxO2adi/vWvf5lgMGiCwaApKipK\nyc+mMcacOHHClJWVmVWrVpnHH388ZZ+KGRkZMYsXLzbnzp1LyfzGGNPY2GgKCwtNcXGxqaurM7FY\nLCU5Hn30UVNYWGiCwaB56623bsscPKAEAJa5oy/FAABuRLEDgGUodgCwDMUOAJah2AHAMhQ7AFiG\nYgcAy1DsAGCZ/w+BJj8pTaM8KgAAAABJRU5ErkJggg==\n", "text": [ - "" + "" ] } ], - "prompt_number": 16 + "prompt_number": 13 }, { "cell_type": "markdown", @@ -551,11 +570,11 @@ "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAXYAAAEACAYAAACnJV25AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHORJREFUeJzt3X9Mk3fiB/B3OXohJyJKUGafLmy02ha04No1muyuLuaY\n3kk25S5MDWarG9nFeCxedtlfB/tD5YyJTO4Ptuy8M7cgyf0QTmtzx+3bG5kjxICeCfOGHt1KGd7u\n9mXAUAvd5/sHrl8r8LQqPH38+H4lTXh4Pk8/7yK8eXza8jEIIQSIiEgaGekOQERE84vFTkQkGRY7\nEZFkWOxERJJhsRMRSYbFTkQkmaTFHggEYLPZYLVa0dDQMGP/5cuXsX79emRlZeHIkSMJ+w4ePIji\n4mKsWbMGO3bswM2bN+cvORERzUq12GOxGPbu3YtAIIC+vj60tLTgo48+ShiTl5eHY8eO4Wc/+1nC\n50OhEN5++2309PTg0qVLiMViOHny5Pw/AiIiSqBa7N3d3bBYLCgsLITRaERVVRXa2toSxuTn58Pl\ncsFoNCZ8PicnB0ajERMTE5iamsLExARMJtP8PwIiIkqgWuyRSARmszm+rSgKIpFISne8bNky7N+/\nH48++ihWrlyJ3NxcbNq06f7SEhFRUqrFbjAY7vmOr169iqNHjyIUCmFoaAjj4+N499137/n+iIgo\nNZlqO00mE8LhcHw7HA5DUZSU7vj8+fPYsGED8vLyAADbtm3DuXPnsHPnzoRxpaWluHjx4t3mJiJ6\nqDmdTly4cGHWfapn7C6XC/39/QiFQohGo2htbUVFRcWsY+/8W2I2mw1dXV24fv06hBDo6OiAw+GY\ncdzFixchhLiv2y9+8Yv7vo/5uOkhhx4y6CUHM+grhx4y6CXHfGRQOyFWPWPPzMxEU1MTysvLEYvF\n4PP5YLfb0dzcDACoqanB8PAw3G43RkdHkZGRgcbGRvT19cHpdKK6uhoulwsZGRlYt24dXn75ZbXp\niIhoHqgWOwBs3rwZmzdvTvhcTU1N/OOCgoKEyzW3e+211/Daa6/dZ0QiIrobUrzz1Ov1pjsCAH3k\n0EMGQB85mOH/6SGHHjIA+six0BkMQoi0LrRhMBiQ5ghERA8cte6U4ox9PuTkLIPBYNDklpOzTLcZ\niOjBxzP223IAWuWY/THrIQMRPRh4xk5E9BBhsRMRSYbFTkQkGRY7EZFkWOxERJJhsRMRSYbFTkQk\nGRY7EZFkWOxERJJhsRMRSYbFTkQkGRY7EZFkkhZ7IBCAzWaD1WpFQ0PDjP2XL1/G+vXrkZWVhSNH\njiTsGxkZQWVlJex2OxwOB7q6uuYvORERzUp1BaVYLIa9e/eio6MDJpMJbrcbFRUVsNvt8TF5eXk4\nduwYTp06NeP4n/70p9iyZQt+//vfY2pqCl999dX8PwIiIo3l5CzD2Nj/Lvg8ixcvxejoF3d9nOoZ\ne3d3NywWCwoLC2E0GlFVVYW2traEMfn5+XC5XDAajQmf//LLL9HZ2YkXX3wRwPT6qUuWLLnrgERE\nejNd6mLBb/f6y0O12CORCMxmc3xbURREIpGU7nhgYAD5+fl44YUXsG7dOrz00kuYmJi4p5BERJQ6\n1Usx0ws/3JupqSn09PSgqakJbrcbtbW1OHToEN54440ZY+vq6uIfe71eXaxJSESkJ8FgEMFgMKWx\nqsVuMpkQDofj2+FwGIqipHTHiqJAURS43W4AQGVlJQ4dOjTr2NuLnYiIZrrzpLe+vn7OsaqXYlwu\nF/r7+xEKhRCNRtHa2oqKiopZx965RFNBQQHMZjM+/vhjAEBHRweKi4tTfQxERHSPkq55evbsWdTW\n1iIWi8Hn8+H1119Hc3MzAKCmpgbDw8Nwu90YHR1FRkYGFi9ejL6+PmRnZ+PixYvYs2cPotEoioqK\ncPz48RlPoHLNU31lIKLktPtZnfvnVK07uZj1bTnSXap6yEBEyem92PnOUyIiybDYiYgkw2InIpIM\ni52ISDIsdiIiybDYiYgkw2InIpIMi52ISDIsdiIiybDYiYgkw2InIpIMi52ISDIsdiIiybDYiYgk\nw2InIpIMi52ISDJJiz0QCMBms8FqtaKhoWHG/suXL2P9+vXIysrCkSNHZuyPxWIoKyvD1q1b5ycx\nERGpUl3MOhaLYe/evejo6IDJZILb7UZFRQXsdnt8TF5eHo4dO4ZTp07Neh+NjY1wOBwYGxub3+RE\nRDQr1TP27u5uWCwWFBYWwmg0oqqqCm1tbQlj8vPz4XK5YDQaZxw/ODgIv9+PPXv2cBk2IiKNqBZ7\nJBKB2WyObyuKgkgkkvKdv/rqqzh8+DAyMngpn4hIK6qXYqYXbL03p0+fxvLly1FWVoZgMKg6tq6u\nLv6x1+uF1+u953mJiGQUDAaTduk3VIvdZDIhHA7Ht8PhMBRFSemOz507h/b2dvj9fty4cQOjo6Oo\n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\nyfwf+vSYxeHQUa4AAAAASUVORK5CYII=\n", "text": [ - "" + "" ] } ], - "prompt_number": 17 + "prompt_number": 14 }, { "cell_type": "markdown", @@ -588,11 +607,11 @@ "output_type": "display_data", "png": "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\nAAAAAElFTkSuQmCC\n", "text": [ - "" + "" ] } ], - "prompt_number": 18 + "prompt_number": 15 }, { "cell_type": "markdown", @@ -617,11 +636,11 @@ "output_type": "display_data", "png": "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\nent7M57BGGOefvppc88995g77rgjK9s3xhi/328++uijrG3fGGPuu+8+89xzzxljLvybnDlzJqt5\nksmkuemmm8zJkyczut3+/n6zbNky89lnnxljjPne975nfv3rX2c0gzHGvPvuu2bVqlXm008/NWNj\nY6a6utocP358xrczZ/fYM3sB1OSqqqq0ePHijG/3q2666SatWbNGkrRgwQIFg0G9//77Gc9x7bXX\nSpJGR0eVTCaVl5f5mxUMDg5qz549+uEPf5j1U3Gzuf3//ve/6u3t1YMPPijpwu+9Fi1alLU8ktTT\n06MVK1aMu8YlExYuXCiPx6ORkRGNjY1pZGREXq83oxkk6dixY6qsrNQ111yjr33ta/r2t7+t3/zm\nNzO+nTlb7OlcPHW1GhgY0KFDh1RZWZnxbf/vf//TmjVrdOONN+r2229XaWlpxjP8+Mc/1i9+8QvN\nm5fdL2+Xy6Xq6mqFw2Ht2LEj49vv7+9Xfn6+HnjgAX3rW9/SQw89pJGRkYznuNjOnTt1zz33ZHy7\neXl5euyxx/TNb35TS5cu1fXXX6/q6uqM51i1apV6e3v18ccfa2RkRK+++qoGBwdnfDtzttjTvXjq\nanPu3Dlt3rxZ27dv14IFCzK+/Xnz5unw4cMaHBzUG2+8oWg0mtHt//73v9c3vvENlZeXZ31vff/+\n/Tp06JD27t2rX/3qV+rt7c3o9sfGxnTw4EH96Ec/0sGDBzV//nw99dRTGc1wsdHRUf3ud7/TXXfd\nlfFtnzhxQr/85S81MDCg999/X+fOndPLL7+c8RyBQEA/+clPtGHDBtXW1qq8vHxWdkDmbLGnc/HU\n1eb8+fO688479f3vf1+bNm3KapZFixbpu9/9rt5+++2MbvfNN9/UK6+8omXLlunuu+/Wvn37dN99\n92U0w5cKCgokSfn5+aqvr1csFsvo9n0+n3w+nyoqKiRJmzdv1sGDBzOa4WJ79+7VLbfcovz8/Ixv\n++2339att96qJUuWyO12q6GhQW+++WbGc0gXTrh4++239ec//1nXX3+9SkpKZnwbc7bYL754anR0\nVJ2dnaqrq8t2rKwxxqipqUmlpaV69NFHs5Lhww8/1JkzZyRJn376qf74xz+qvLw8oxmefPJJxeNx\n9ff3a+fOnfrOd76jF198MaMZJGlkZERDQ0OSpOHhYb322msZP3PqpptuUmFhof7xj39IunB8e+XK\nlRnNcLGOjg7dfffdWdl2IBDQgQMH9Omnn8oYo56enqwcJpSkDz74QJJ08uRJ/fa3v52dQ1Mz/uvY\nDNqzZ4+5+eabzYoVK8yTTz6ZlQyNjY2moKDAfP3rXzc+n888//zzWcnR29trXC6XCYVCZs2aNWbN\nmjVm7969Gc1w5MgRU15ebkKhkFm9erX5+c9/ntHtf1U0Gs3aWTH//Oc/TSgUMqFQyKxcuTJrX5+H\nDx824XDYlJWVmfr6+qydFXPu3DmzZMkSc/bs2axs3xhjWltbTWlpqVm1apW57777zOjoaFZyVFVV\nmdLSUhMKhcy+fftmZRtcoAQAlpmzh2IAAJdGsQOAZSh2ALAMxQ4AlqHYAcAyFDsAWIZiBwDLUOwA\nYJn/A4h5fNrtowwuAAAAAElFTkSuQmCC\n", "text": [ - "" + "" ] } ], - "prompt_number": 19 + "prompt_number": 16 }, { "cell_type": "markdown", @@ -646,11 +665,11 @@ "output_type": "display_data", "png": "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\n6aefNvfcc4+54447CjK+Mcb4/X7zySefFGx8Y4y57777zHPPPWeMOfeanDp1qqD1pNNpc+ONN5rj\nx4/nddz+/n6zbNky88UXXxhjjPne975nfvOb3+S1BmOMee+998zKlSvN559/bsbGxkxNTY354IMP\ncj7OFTtjz+8JUJOrrq7WokWL8j7uxW688UatXr1akjRv3jyFQiF9+OGHea/j2muvlSSNjo4qnU5r\n8eL8f6b14OCgdu3apR/+8IcFX4pbyPH/85//qK+vTw8++KCkc+97LVy4sGD1SFJvb6+WL18+7hyX\nfFiwYIE8Ho9GRkY0NjamkZEReb3evNYgSUeOHFFVVZWuueYafe1rX9O3v/1t/fa3v835OFdssGdz\n8tTVamBgQAcOHFBVVVXex/7vf/+r1atX64YbbtDtt9+u8vLyvNfwk5/8RL/85S81Z05hf7xdLpdq\namoUjUa1bdu2vI/f39+voqIiPfDAA/rWt76lhx56SCMjI3mv40Lbt2/XPffck/dxFy9erMcee0zf\n/OY3tXTpUl133XWqqanJex0rV65UX1+fPv30U42MjOjVV1/V4OBgzse5YoM925OnrjZnzpzRpk2b\ntHXrVs2bNy/v48+ZM0cHDx7U4OCg3njjDcXj8byO/4c//EHf+MY3FIlECj5b37t3rw4cOKDdu3fr\n17/+tfr6+vI6/tjYmPbv368f/ehH2r9/v+bOnaunnnoqrzVcaHR0VL///e9111135X3sY8eO6Ve/\n+pUGBgb04Ycf6syZM3r55ZfzXkcwGNRPf/pTrV+/XnV1dYpEIrMyAbligz2bk6euNmfPntWdd96p\n73//+9q4cWNBa1m4cKG++93v6u23387ruG+++aZeeeUVLVu2THfffbf27Nmj++67L681fKW4uFiS\nVFRUpIaGBiUSibyO7/P55PP5VFlZKUnatGmT9u/fn9caLrR7927dcsstKioqyvvYb7/9tm699VYt\nWbJEbrdbjY2NevPNN/Neh3RuwcXbb7+tv/zlL7ruuutUVlaW8zGu2GC/8OSp0dFRdXV1qb6+vtBl\nFYwxRs3NzSovL9ejjz5akBo+/vhjnTp1SpL0+eef609/+pMikUhea3jyySeVTCbV39+v7du36zvf\n+Y5efPHFvNYgSSMjIxoaGpIkDQ8P67XXXsv7yqkbb7xRJSUl+vvf/y7p3PHtFStW5LWGC3V2duru\nu+8uyNjBYFD79u3T559/LmOMent7C3KYUJI++ugjSdLx48f1u9/9bnYOTeX87dg82rVrl7n55pvN\n8uXLzZNPPlmQGpqamkxxcbH5+te/bnw+n3n++ecLUkdfX59xuVwmHA6b1atXm9WrV5vdu3fntYZD\nhw6ZSCRiwuGwWbVqlfnFL36R1/EvFo/HC7Yq5h//+IcJh8MmHA6bFStWFOzn8+DBgyYajZqKigrT\n0NBQsFUxZ86cMUuWLDGnT58uyPjGGNPW1mbKy8vNypUrzX333WdGR0cLUkd1dbUpLy834XDY7Nmz\nZ1bG4AQlAHCYK/ZQDADg0gh2AHAYgh0AHIZgBwCHIdgBwGEIdgBwGIIdAByGYAcAh/kfZVdRVjBh\n14AAAAAASUVORK5CYII=\n", "text": [ - "" + "" ] } ], - "prompt_number": 20 + "prompt_number": 17 }, { "cell_type": "markdown", @@ -692,7 +711,7 @@ "output_type": "display_data", "png": "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\n+fL5fBoZGdHY2JhGRkbk9/tdzSBJZ86cUSwW0+zZs/WJT3xCn//85/XLX/5y2ud5YIs9m5unHlYD\nAwM6efKkYrGY63P/97//VXV1tRYvXqwnnnhCFRUVrmf4zne+ox/96EeaNSu3y9txHNXX1ysajWrX\nrl2uz9/f36/CwkJ9/etf12c/+1lt3bpVIyMjrue41WuvvaZNmza5Pm9BQYGef/55feYzn1FxcbEW\nLFig+vp613NUVlbq6NGj+uCDDzQyMqIDBw5ocHBw2ud5YIs925unHjZXrlzRxo0btXPnTs2dO9f1\n+WfNmqVTp05pcHBQb731luLxuKvz/+Y3v9GnP/1p1dTU5PxsvaenRydPntShQ4f0s5/9TEePHnV1\n/rGxMZ04cULf/OY3deLECc2ZM0c/+MEPXM1wq9HRUf3617/WV77yFdfn/vvf/64f//jHGhgY0Pnz\n53XlyhXt3bvX9RyhUEjf/e53tXbtWq1bt041NTUzcgLywBZ7NjdPPWyuX7+uL3/5y/ra176mL33p\nSznNkp+fry9+8Ys6fvy4q/MeO3ZM+/fv19KlS/XUU0/pjTfe0JYtW1zN8LGioiJJUmFhoTZs2KBE\nIuHq/IFAQIFAQLW1tZKkjRs36sSJE65muNWhQ4f0uc99ToWFha7Pffz4cT322GNatGiR8vLy1NTU\npGPHjrmeQ7rxgYvjx4/rD3/4gxYsWKBly5ZN+xwPbLHfevPU6OioOjs71djYmOtYOWOMUUtLiyoq\nKvTtb387Jxn+/e9/a2hoSJJ07do1/e53v1NNTY2rGV566SUlk0n19/frtdde0xe+8AW9+uqrrmaQ\npJGREV2+fFmSdPXqVR0+fNj1T04tWbJEJSUl+utf/yrpxvXt5cuXu5rhVvv27dNTTz2Vk7lDoZB6\ne3t17do1GWN05MiRnFwmlKT33ntPknTu3Dn96le/mplLU9P+dqyLDh48aB599FFTWlpqXnrppZxk\naG5uNkVFReaTn/ykCQQCZs+ePTnJcfToUeM4jolEIqa6utpUV1ebQ4cOuZrh9OnTpqamxkQiEbNi\nxQrzwx/+0NX5/1c8Hs/Zp2L+8Y9/mEgkYiKRiFm+fHnO1uepU6dMNBo1VVVVZsOGDTn7VMyVK1fM\nokWLzPDwcE7mN8aYtrY2U1FRYSorK82WLVvM6OhoTnKsXr3aVFRUmEgkYt54440ZmYMblADAMg/s\npRgAwJ1R7ABgGYodACxDsQOAZSh2ALAMxQ4AlqHYAcAyFDsAWOb/AM8XDghkBPSFAAAAAElFTkSu\nQmCC\n", "text": [ - "" + "" ] }, { @@ -704,7 +723,7 @@ ] } ], - "prompt_number": 25 + "prompt_number": 18 }, { "cell_type": "markdown", @@ -729,11 +748,11 @@ "output_type": "display_data", "png": "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\nrkJggg==\n", "text": [ - "" + "" ] } ], - "prompt_number": 22 + "prompt_number": 19 }, { "cell_type": "markdown", @@ -761,11 +780,11 @@ "output_type": "display_data", "png": "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\nPLDFns3FUw+r/v5+dXd3Kx6Puz73f//7X1VVVWnJkiV64oknVF5e7nqG73znO/rRj36kWbNyu7x9\nPp/q6uoUi8W0Z88e1+fv6+tTQUGBvv71r+uzn/2stm/fruHhYddz3O61117Tli1bXJ930aJFev75\n5/WZz3xGRUVFWrBggerq6lzPUVFRoc7OTn3wwQcaHh7W4cOHNTAwMO3zPLDFnu3FUw+bq1evavPm\nzdq9e7fmzp3r+vyzZs3SmTNnNDAwoLfeekuJRMLV+X/zm9/o05/+tKqrq3N+tn7ixAl1d3fr6NGj\n+tnPfqbOzk5X5x8dHdXp06f1zW9+U6dPn9acOXP0gx/8wNUMtxsZGdGvf/1rfeUrX3F97r///e/6\n8Y9/rP7+fl24cEFXr17V/v37Xc8RDof13e9+V+vWrdP69etVXV09IycgD2yxZ3Px1MPmxo0b+vKX\nv6yvfe1r+tKXvpTTLPn5+friF7+oU6dOuTrvyZMndejQIS1btkxPPfWU3njjDW3bts3VDB8rLCyU\nJBUUFGjjxo1KJpOuzh8MBhUMBlVTUyNJ2rx5s06fPu1qhtsdPXpUn/vc51RQUOD63KdOndJjjz2m\nxYsXKy8vT5s2bdLJkyddzyHdfMPFqVOn9Ic//EELFizQ8uXLp32OB7bYb794amRkRAcPHlRDQ0Ou\nY+WMMUZNTU0qLy/Xt7/97Zxk+Pe//62hoSFJ0vXr1/W73/1O1dXVrmZ46aWXlEql1NfXp9dee01f\n+MIX9Oqrr7qaQZKGh4d15coVSdK1a9d07Ngx1985tXTpUhUXF+uvf/2rpJvPb69YscLVDLc7cOCA\nnnrqqZzMHQ6H1dXVpevXr8sYo+PHj+fkaUJJeu+99yRJ58+f169+9auZeWpq2l+OddGRI0fMo48+\nakpKSsxLL72UkwyNjY2msLDQfPKTnzTBYNDs27cvJzk6OzuNz+cz0WjUVFVVmaqqKnP06FFXM/T0\n9Jjq6moTjUbNypUrzQ9/+ENX5/9fiUQiZ++K+cc//mGi0aiJRqNmxYoVOVufZ86cMbFYzFRWVpqN\nGzfm7F0xV69eNYsXLzaXL1/OyfzGGNPS0mLKy8tNRUWF2bZtmxkZGclJjjVr1pjy8nITjUbNG2+8\nMSNzcIESAFjmgX0qBgBwdxQ7AFiGYgcAy1DsAGAZih0ALEOxA4BlKHYAsAzFDgCW+T+71IQNg+h2\niAAAAABJRU5ErkJggg==\n", "text": [ - "" + "" ] } ], - "prompt_number": 23 + "prompt_number": 20 }, { "cell_type": "markdown", @@ -821,14 +840,14 @@ "outputs": [ { "ename": "SyntaxError", - "evalue": "invalid syntax (, line 1)", + "evalue": "invalid syntax (, line 1)", "output_type": "pyerr", "traceback": [ - "\u001b[1;36m File \u001b[1;32m\"\"\u001b[1;36m, line \u001b[1;32m1\u001b[0m\n\u001b[1;33m Author notes:\u001b[0m\n\u001b[1;37m ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m invalid syntax\n" + "\u001b[1;36m File \u001b[1;32m\"\"\u001b[1;36m, line \u001b[1;32m1\u001b[0m\n\u001b[1;33m Author notes:\u001b[0m\n\u001b[1;37m ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m invalid syntax\n" ] } ], - "prompt_number": 24 + "prompt_number": 21 } ], "metadata": {} diff --git a/test.py b/test.py new file mode 100644 index 0000000..199adea --- /dev/null +++ b/test.py @@ -0,0 +1 @@ +print 'hi' \ No newline at end of file