{ "metadata": { "name": "2.2-multinomial-variables" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "%pylab inline\n", "from IPython.display import display, Math, Latex\n", "maths = lambda s: display(Math(s))\n", "latex = lambda s: display(Latex(s))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "\n", "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].\n", "For more information, type 'help(pylab)'.\n" ] } ], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "A binary variable is good for representing something like a coin toss, but normally we want to have more states, such as the number rolled on a die. One way of representing such a variable is 1-of-K representation, where we have a vector $\\mathbf{x}$ of size $K$ where state $k$ is represented by the $k^{th}$ element being 1 and all other elements being 0." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def one_of(K, k):\n", " # If k is an array, have each output row\n", " # represent an element of k\n", " k = array(k).flatten()\n", " x = zeros((k.shape[0],K))\n", " x[range(len(k)),k] = 1\n", " return x" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "For example we can create a die" ] }, { "cell_type": "code", "collapsed": false, "input": [ "class Die(object):\n", " def __init__(self, mu=None, sides=6):\n", " if mu == None:\n", " mu = [1] * sides\n", " # Normalise to be prob. dist.\n", " self.mu = array(mu, float)/sum(mu)\n", " self.sides = sides\n", " \n", " def roll(self, n):\n", " # sample using uniform rand num to index y axis of cdf\n", " rolls = argmax(cumsum(self.mu)[:,newaxis] > random.random(n),0)\n", " return one_of(self.sides, rolls)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "And roll some numbers on a fair die" ] }, { "cell_type": "code", "collapsed": false, "input": [ "fairdie = Die()\n", "fairrolls = fairdie.roll(5)\n", "\n", "print fairrolls\n", "print \"As (0-based) numbers:\", argmax(fairrolls,axis=1)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[[ 0. 1. 0. 0. 0. 0.]\n", " [ 0. 1. 0. 0. 0. 0.]\n", " [ 0. 0. 0. 0. 0. 1.]\n", " [ 1. 0. 0. 0. 0. 0.]\n", " [ 0. 0. 1. 0. 0. 0.]]\n", "As (0-based) numbers: [1 1 5 0 2]\n" ] } ], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we have a loaded die, we can define a vector $\\boldsymbol{\\mu}$ of the probability for rolling each number" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Say rolling a 1 is twice as likely as the other numbers\n", "nums = [2, 1, 1, 1, 1, 1]\n", "# normalise\n", "mu = array(nums, float)/sum(nums)\n", "print mu\n", "latex(r\"Probabilities, so normalised s.t. $\\sum_{k=1}^{K} \\mu_k = %s$\" % round(sum(mu)))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[ 0.28571429 0.14285714 0.14285714 0.14285714 0.14285714 0.14285714]\n" ] }, { "latex": [ "Probabilities, so normalised s.t. $\\sum_{k=1}^{K} \\mu_k = 1.0$" ], "output_type": "display_data", "text": [ "" ] } ], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "# roll some numbers on our loaded die\n", "loadeddie = Die(mu)\n", "loadedrolls = loadeddie.roll(1000)\n", "\n", "hist(argmax(loadedrolls,1), bins=range(loadeddie.sides+1))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 6, "text": [ "(array([284, 148, 146, 139, 135, 148]),\n", " array([0, 1, 2, 3, 4, 5, 6]),\n", " )" ] }, { "output_type": "display_data", "png": "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\nQmCC\n" } ], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Our probability distribution is just given by $\\mu_k$ for each $k$, i.e. $p(k|\\boldsymbol{\\mu}) = \\mu_k$ (a generalisation of the Bernoulli distribution, called the Categorical distribution)\n", "\n", "But we want to use one-of-K to represent $k$ by vector $\\mathbf{x}$, so we can write it as\n", "\n", "$p(\\mathbf{x}|\\boldsymbol{\\mu}) = \\prod_{k=1}^K \\mu_k^{x_k}$ \n", "\n", "This works because $\\mu_k^{x_k}$ will be 1 for every element except that where $x_n$ = 1, so the product will give the $\\mu_k$ for the state represented by $\\mathbf{x}$. It is just a clever way of \"picking out\" the correct $\\mu_k$." ] }, { "cell_type": "code", "collapsed": false, "input": [ "print mu**[0,1,0,0,0,0]\n", "\n", "# only kth element is non-1" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[ 1. 0.14285714 1. 1. 1. 1. ]\n" ] } ], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "# Define our probability mass function\n", "Die.pmf = lambda self,x: prod(self.mu**x, axis=-1)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Some examples with our weighted die" ] }, { "cell_type": "code", "collapsed": false, "input": [ "x1 = [1,0,0,0,0,0] # \"roll a one\"\n", "x2 = [0,1,0,0,0,0] # \"roll a two\"\n", "\n", "p1 = loadeddie.pmf(x1)\n", "p2 = loadeddie.pmf(x2)\n", "\n", "maths(r\"p(\\mathbf{x}=%s|\\boldsymbol{\\mu}) = %s\" % (x1,p1))\n", "maths(r\"p(\\mathbf{x}=%s|\\boldsymbol{\\mu}) = %s\" % (x2,p2))" ], "language": "python", "metadata": {}, "outputs": [ { "latex": [ "$$p(\\mathbf{x}=[1, 0, 0, 0, 0, 0]|\\boldsymbol{\\mu}) = 0.285714285714$$" ], "output_type": "display_data", "text": [ "" ] }, { "latex": [ "$$p(\\mathbf{x}=[0, 1, 0, 0, 0, 0]|\\boldsymbol{\\mu}) = 0.142857142857$$" ], "output_type": "display_data", "text": [ "" ] } ], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now consider the likelihood over N observations -- we simply need to multiply the previous result over all the samples\n", "\n", "$p(D|\\mu) = \\prod_{n=1}^{N}p(\\boldsymbol{x}_n|\\boldsymbol{\\mu})=$\n", "\n", "$= \\prod_{n=1}^{N}\\prod_{k=1}^K \\mu_k^{x_k}$ " ] }, { "cell_type": "code", "collapsed": false, "input": [ "Die.likelihood = lambda self, data: product(self.pmf(data))\n", "Die.loglikelihood = lambda self, data: sum(log(self.pmf(data)))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now given some observed dice rolls, we can plot how likely it is that the number one is weighted a certain way" ] }, { "cell_type": "code", "collapsed": false, "input": [ "def plot_likelihood_1(r, *a, **kw):\n", " prob_roll_1 = linspace(0,1,100)\n", " ps = []\n", "\n", " for p1 in prob_roll_1:\n", " # Vary the probability of rolling a 1, and \n", " # divide the remaining probability equally\n", " # among the other 5 numbers\n", " mus = (ones(6) * (1-p1))/5.\n", " mus[0] = p1\n", " ps.append(Die(mus).likelihood(r))\n", " \n", " plot(prob_roll_1, ps, *a, **kw)\n", "\n", "# Plot some arbitrary data (where \"0\" means rolling a one)\n", "plot_likelihood_1(one_of(6,[0,2,1,5,3,1,1]), 'red')\n", "plot_likelihood_1(one_of(6,[1,0,1,2,0,1,0,0,0,0]), 'blue')\n", " \n", "xlabel(r\"$\\mu_1$\", size=22)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 11, "text": [ "" ] }, { "output_type": "display_data", "png": "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\nAAAAAElFTkSuQmCC\n" } ], "prompt_number": 11 }, { "cell_type": "code", "collapsed": false, "input": [ "# Using some samples from our loaded die\n", "plot_likelihood_1(loadeddie.roll(100))" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nMLSJiEzk/wEjjrm+ct+jtAAAAABJRU5ErkJggg==\n" } ], "prompt_number": 12 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also write the likelihood as\n", "\n", "$p(D|\\boldsymbol{\\mu}) = \\prod_{k=1}^K \\mu_k^{m_k}$\n", "\n", "Where $m_k$ is the number of data points where $x_k = 1$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now to find the maximum likelihood solution for $\\boldsymbol{\\mu}$, we maximise $\\log p(D|\\boldsymbol{\\mu})$ with the constraint that $\\sum_{k=1}^{K}\\mu_k = 1$, which we can enforce using a Lagrange multiplier $\\lambda$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$\\frac{\\partial}{\\partial \\mu_k}[\\sum_{j=1}^{K}m_j \\log \\mu_j + \\lambda(\\sum_{j=1}^{K}\\mu_j - 1)] = 0$\n", "\n", "$\\frac{m_k}{\\mu_k} + \\lambda(1 - 1) = 0$ (The partial derivative of terms in the summations where $j \\neq k$ vanish)\n", "\n", "$\\mu_k = -\\frac{m_k}{\\lambda}$\n", "\n", "Sub into $\\sum_{k=1}^{K}\\mu_k = 1$\n", "\n", "$-\\sum_{k=1}^{K} m_k = \\lambda$\n", "\n", "so $\\lambda = -N$ (because the summation over the number of data points in each state gives the total number of data points)\n", "\n", "And $\\mu_k^{ML} = \\frac{m_k}{N}$ (which is just the fraction of the data points where $x_k=1$)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now consider the distribution over the $m_k$s, which would give the number of ones, twos, threes etc. rolled, the same way the Binomial gave us the number of heads. It is called the Multinomial:\n", "\n", "$\\operatorname{Mult}(m_1,m_2,...,m_K|\\boldsymbol{\\mu},N) = \\binom{N}{m_1 m_2 ... m_K} \\prod_{k=1}^K \\mu_k^{m_k}$ " ] }, { "cell_type": "code", "collapsed": false, "input": [ "from scipy.misc import factorial\n", "\n", "def multinomialpmf(ms, mu):\n", " # ms: the number of observations of each state\n", " ms = array(ms, float)\n", " # We normalise our weights mu, so the input can be unnormalised\n", " mu = array(mu, float)/sum(mu)\n", " # The number of observations can be inferred from ms\n", " N = sum(ms)\n", " norm = factorial(N)/prod(factorial(ms))\n", " return norm * prod(mu**ms)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 13 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We cannot really plot the multinomial directly, because of the many dimensions of $\\boldsymbol{m}$.\n", "\n", "But we can show the distribution of the number of ones rolled (constraining the other numbers), and with various weighted dice." ] }, { "cell_type": "code", "collapsed": false, "input": [ "n = 15 # max number of ones\n", "m1s = arange(n+1)\n", "N = 35\n", "\n", "for w1 in [1,2,3]:\n", " probs = []\n", " for m1 in m1s:\n", " # constrain so always sums to N\n", " ms = [m1,5,5,5,5,n-m1]\n", " assert sum(ms) == N\n", " probs.append(multinomialpmf(ms,[w1,1,1,1,1,1]))\n", " plot(m1s, probs, 'o--', label='\"one\" of weight %s' % w1)\n", " \n", "xlabel(\"$m_1$ (the number of ones rolled)\", size=15)\n", "legend(loc='upper left')\n", "title(\"Probability of rolling $m_1$ ones\")" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 14, "text": [ "" ] }, { "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAY4AAAEjCAYAAAAlhuZMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlcVOX+B/DPCAgqomCKCig6gLiB5IIt6pQBEkZeKUNT\nablppUC3mz9z6YqZCt02QYsWSzJNK72KjCJYIS0CuVTiUkZssqUiKsoyy/f3x+TIyDDMwDBnZvi+\nX695vZjD8zzne4bD+c45zznPIyIiAmOMMaanLkIHwBhjzLJw4mCMMWYQThyMMcYMwomDMcaYQThx\nMMYYMwgnDsYYYwbhxMEYY8wgnDhYh/L09MTXX3/dIXVHjRqF7Oxsddlvvvmm2fKO9ttvv2HMmDFw\ncnLCxo0b291e0+24fftNuV2M6WIrdADM/Hh6euKvv/6CjY0NevTogdDQUGzcuBE9evQwuC2RSASR\nSNSmOFqrm5+fr1FW23JAtT0ff/wx7r///jbFocvrr7+OqVOn4ueffzZKe0234/btv327GBMKn3Gw\nZkQiEdLS0nDt2jUcP34cR48exWuvvdasnFwuFyA6w4lEInTUAAnFxcUYMWKEXmUt5fNirDWcOJhO\nAwcOxLRp03Dq1CkAqm/vr7/+Ovz8/NCzZ08olUqcOXMGEokEzs7OGDVqFPbt26fRRl5eHkaOHAkX\nFxc89dRTaGhoUP8uPj4eXl5ecHJywsiRI7Fnzx696za9rNNU0+Xz5s1DSUkJHnroIfTs2ROvv/46\nHnnkEY3yMTExeOGFF7Ruv65tu//++5GVlYXFixfDyckJf/zxh9ZYDP28WnL7Zaw333wT/v7+6N27\nNyIjI9WfzfHjxxEQEAAnJyfMmjULjz32GF555RW91mEMrW2frtjLy8sRERGBfv36YejQoUhKStKo\nm5CQAHd3dzg5OcHX11fr35+ZADF2G09PTzp06BAREZWUlNDIkSPpP//5DxERDR48mAICAuj8+fNU\nX19PjY2NJBaLaf369SSTyeibb76hnj170u+//64uP3r0aDp//jxVV1fTPffcQytXrlSv68svv6SK\nigoiItq5cyf16NGDKisr9arr6elJX3/9tc6fb39fUVFBPXr0oJqaGiIikslk1K9fPzp+/Hizz6Gl\nbfvtt9/UZSQSCW3evLnFz9LQz0vf7Rg8eDAFBgZSRUUFVVdX0/Dhwyk5OZkaGhpo0KBBlJiYSHK5\nnHbv3k1du3alV155pcUYjUmfz8zT01Nr7Eqlku68805as2YNyWQy+vPPP2no0KF08OBBIiI6e/Ys\neXh4qPeX4uJiKigoMMl2MU18xsGaISLMmDEDzs7OmDRpEiQSCZYvXw5AddknJiYGbm5usLe3R05O\nDq5fv46XX34Ztra2uO+++zB9+nRs375dXX7x4sVwc3ODs7MzVqxYgc8//1y9rkceeQT9+/cHAMya\nNQve3t7Iy8vTq25b9O/fH5MmTcKXX34JAEhPT0ffvn0REBDQrGxL23Z7DKTjMpihn5e+brbbv39/\nODs746GHHsLPP/+MnJwcKBQKREdHw8bGBv/4xz8wYcKEFts5deoUPv74Y7z44ovYvXs3du3ahblz\n5+LQoUM4cOAA5s2bp/VMqiX6fmbaYs/Ly8PFixexcuVK2NraYsiQIfjnP/+JHTt2AABsbGzQ0NCA\nU6dOQSaTYdCgQRg6dKhBnxszDk4crBmRSIS9e/fi8uXLKCoqwsaNG2Fvb6/+vYeHh/rn8vJyjfcA\nMHjwYJSXl2stP2jQII3fffrppwgICICzszOcnZ2Rn5+Pixcv6lW3raKiovDZZ58BAD777DPMmzdP\na7mWtq2srExjWWud/4Z+Xvq6mXABoHv37qitrUVFRQXc3Nyarb+l5FZaWooxY8bg559/xsyZMxER\nEYHc3FwMHToUoaGhcHR0xO+//653TPp+ZtpiLykpQXl5uXpfcHZ2xvr16/HXX38BALy8vPDOO+8g\nLi4Orq6umD17NioqKvSOjRkPJw5msKYHyoEDB6K0tFTjwFRcXKxx8CopKdH4eeDAgepyCxYswKZN\nm1BdXY3Lly9j1KhRGm21VLet8QLAww8/jF9//RX5+fmQSqV4/PHHtdZradvc3d3bvH59Pq/2GDBg\nQLODdElJSYvJbdq0acjMzMTcuXMBAAUFBRg6dKj6m/z333+Pu+++G1euXMHu3buxfv16netvz2fm\n4eGBIUOG4PLly+rX1atXkZaWpi4ze/ZsfPfddyguLoZIJMLSpUtbbZcZHycO1i4TJ05E9+7d8frr\nr0MmkyErKwtpaWmIjIwEoLqMs2nTJpSVlaG6uhpr165V/+769esQiUS44447oFQq8cknn2jccqqr\nriFcXV1RUFCgft+tWzdERERgzpw5CAwMbPGg1tq2NY1TX/q2aaibMdx1112wsbHBxo0bIZfLsXfv\nXvz000866x46dAjBwcEAgMzMTISEhAAAfvzxR4wZMwZlZWW4du0axo4di8bGRqNv383YJ0yYoL6B\noa6uDgqFAvn5+Th69CgA4Pfff8c333yDhoYG2Nvbw8HBATY2Nvp9QMyoOHGwdrGzs8O+fftw4MAB\n9O3bF4sXL8bWrVvh4+MDQPVt+/HHH0dwcDDEYjG8vb2xcuVKAMCIESPw73//G3fddRf69++P/Px8\n3Hvvveq2ddU1xLJly/Daa6/B2dkZb731FgDV5ar8/PwWL1Pps21N49SXvm0a6uYzH3Z2dti9ezc2\nb94MZ2dnbNu2DdOnT0fXrl211lMqlZDJZOrkefz4cUyfPh2Aqk+hX79+OHXqlN5nWW3Zvpuxd+nS\nBWlpafj5558xdOhQ9O3bFwsWLMDVq1cBAA0NDVi2bBn69u2LAQMG4OLFi62eAbGOISJDvi4xZiVK\nS0vh6+uLqqoqODo6Ch1OhwoMDMTzzz+PqKiodrVTXFyMLVu2YNWqVUaKjFkqPuNgnY5SqcSbb76J\n2bNnW2XSyM7ORmVlJeRyOVJSUpCfn49p06a1u13+jsluajVxpKenw9fXF97e3khISNBaJiYmBt7e\n3vD398eJEydarVtdXY2goCD4+PggODgYNTU1AFQPewUEBCAgIAB+fn7YuXOnuo5EIoGvr6/6903v\nvGFMX9evX4eTkxO+/vprrF69WuhwOsTN8bOcnZ3x9ttv46uvvoKrq2u72qytrcWuXbtw7NgxHvqE\n6X4AUC6Xk1gspsLCQmpsbCR/f386ffq0RhmpVEqhoaFERJSTk0OBgYGt1l2yZAklJCQQEVF8fDwt\nXbqUiIhu3LhBCoWCiFQPavXp04fkcjkRqR60OnbsWFufV2GMMWYkOs848vLy4OXlBU9PT9jZ2SEy\nMhJ79+7VKJOamqq+dhoYGIiamhpUVlbqrNu0TlRUlHqYiW7duqFLF1VIdXV16NWrl8ZdE8Snyowx\nJjidiaOsrEzjYR53d/dm94i3VOb2B4Ga1q2qqlKfOru6uqKqqkpd7ubYRCNHjlTfAXNTVFQUAgIC\ntA64xxhjzDR0Dquu722G+pwJEJHW9m4fOnrChAk4deoUzp49i2nTpkEikaBXr17Ytm0bBg4ciNra\nWkRERGDr1q3NbqVs6/DdjDHW2RlyRUfnGYebmxtKS0vV70tLS5vdz317mfPnz8Pd3V3r8ptPx7q6\nuqKyshIAUFFRgX79+jVbt6+vL8RisXqcnJtPDDs6OmLOnDnq8YxuR0Rm/1q1apXgMXCcHKclx2kJ\nMVpSnIbSmTjGjRuHc+fOoaioCI2Njdi5cyfCw8M1yoSHh+PTTz8FoBrgrHfv3nB1ddVZNzw8HCkp\nKQCAlJQUzJgxAwBQVFSknrOguLgY586dg7e3NxQKhfouKplMhn379mH06NEGbyxjjLH203mpytbW\nFhs3bkRISAgUCgWefvppDB8+HO+//z4AYOHChXjwwQexf/9+eHl5oUePHvjkk0901gWAl19+GbNm\nzcLmzZvh6emJL774AoBqXJz4+HjY2dnBzs4OH3zwAZycnHD9+nVMmzYNMpkMCoUCQUFBeOaZZzry\nc2GMMdYCq3pyvCNnejOmrKwsSCQSocNoFcdpXByn8VhCjIDlxGnosZMTB2OMdXKGHjt1XqqyFi4u\nLrh8+bLQYTAr4OzsjOrqaqHDYExQneKMg89EmLHwvsSskaH7NQ9yyBhjzCCcOBhjjBmEEwdjjDGD\ncOJgbfLkk0/CxcUFEydO7JD2S0pK0LNnT72uuxYVFaFLly5QKpUdEgtjTBMnDjMwZMgQFBcX44kn\nnlA/Ud9RioqKMGTIEACAp6cnSkpKDG7ju+++w6FDh1BeXo6cnBxjhwgAGDRoEK5du2aU8cfi4uJ0\nThELABs3bsS4cePg4OCAJ598st3rZMyadYrbcXWRSrORmJiBhgZb2NvLERMTjLCwySZvAzD9II1t\nXV9xcTE8PT3h4OBg5IiE4+bmhldeeQUHDx5EXV2d0OEwZt7IirS0OS0tT0s7TGLxcgJI/RKLl1Na\n2mG912mMNoYMGUJFRUX0xBNPUEpKChERKZVKWrNmDQ0ePJj69etH8+fPpytXrhARUWFhIYlEIkpJ\nSaFBgwbRHXfcQWvXrlW3p1Qqaf369SQWi6lPnz40a9Ysqq6uVtcdMmQIERF5enpScXGx1pjKysro\noYceIhcXF/Ly8qIPP/yQiIg++ugjcnBwIBsbG3J0dKS4uLhmdQcNGqSedOuzzz4jkUiknsTro48+\nohkzZhARkUKh0BmnSCRST+z1559/0qRJk6hnz570wAMP0PPPP09z585t9fM4cOAAde3alezs7MjR\n0ZHGjBmj82+xcuVKeuKJJ1r8vZX9yzBGRIbv11b1X2Bo4ggOXqFxwL/5CglZqfc6jdGGNps3byYv\nLy8qLCyk2tpamjlzJs2bN4+Ibh0oFyxYQPX19fTLL7+Qvb09nT17loiI3nnnHbrrrruorKyMGhsb\naeHChTR79myD1j9p0iRatGgRNTQ00M8//0x9+/alb775hoiItmzZQvfee2+LdefPn09vvvkmERE9\n88wz5OXlRe+99x4REc2bN4/eeeedVuO8PXFMnDiRlixZQjKZjL7//ntycnLS+/OIi4tTl23NihUr\nOHGwTocThwHLp0xZpfWgD9xavmqV9nWtWtW8bNPXlCktVNTT/fffrz7YEhH99ttvZGdnRwqFQn2g\nLCsrU/9+woQJtHPnTiIi8vX1pa+//lr9u/LycnVdfZSUlJCNjQ3V1taqly1btkx9QP3kk090Jo7N\nmzdTeHg4ERENHz6cNm/eTJGRkURENHjwYDpx4oT6dy3F2TRxFBcXk62tLdXV1anLzp07t9kZR0uf\nx6pVq9RlW8NnHKwzMnS/7tSd4/b2cq3LQ0IU6hQQF6e9blyc6vfBwdrbcHBQtCu2iooKDB48WP1+\n0KBBkMvlGrMl9u/fX/1z9+7dUVtbC0DVB/GPf/wDzs7OcHZ2xogRI2Bra6tRV5fy8nK4uLigR48e\nGuu/ffbHlkyePBnfffcdKisroVAo8Oijj+KHH35AcXExrly5gjFjxgBQddTrE+fNeJr2qTSdXbK1\nz8MQxE+FM9aqTp04YmKCIRav0FgmFi9HdHSQSdvQZuDAgSgqKlK/Lykpga2trXrKXV0GDRqE9PR0\nXL58Wf26ceMGBgwYoPe6q6urNQ68JSUlzSbxaomXlxe6d++OpKQkTJkyBT179kT//v3xwQcfYNKk\nSQbHOWDAAFRXV2t0WhtyN5ghNwHwLJKMta5TJ46wsMnYsCEEISGvYMqUOISEvIING6YZdEeUMdrQ\nZvbs2Xj77bdRVFSE2tpaLF++HJGRkejSpfU/2bPPPovly5erD64XLlxAamqq3uv28PDA3XffjWXL\nlqGhoQG//vorPv74Y8ydO1fvNqZMmYKNGzdiypQpAACJRKLx3pA4Bw8ejHHjxiEuLg4ymQxHjhxB\nWlqa3gf5/v37o6ioSOfZhEKhQH19PeRyORQKBRoaGqBQtO+skTGr1SEXzATS0uZY4mYqlUp69dVX\nycPDg/r27Uvz5s2jmpoaIlJd0+/SpYtGn4VEIqHNmzer67711ls0bNgw6tmzJ4nFYlqxYoVB6z9/\n/jxNnz6dXFxcSCwW0/vvv6/+3ZYtW2jSpEk667///vvUpUsXKikpISKitLQ06tKlC+Xl5WlsY0tx\n3r6NBQUF6ruqpk6dSgsWLKCnn35ar8/j0qVLdO+995KzszONHTtWa7yrVq0ikUik8Vq9enWzcpa4\nLzHWGkP3ax4dl1mkxx57DCNGjMCqVatMul7el5g14tFxmVU6evQoCgoKoFQqceDAAaSmpqrnqmeM\nmVanf3KcWYbKykrMnDkTly5dgoeHB5KTk+Hv7y90WFZFmilF4vZENFAD7EX2iJkTg7CgMKHDYmaI\nL1UxZgBr3ZekmVLEbopFQUCBepn4hBgbFm3g5NEJ8JzjnDhYB7LWfSnkyRBkeGY0X14SgvTN6QJE\nxEyJ+zgYYwZroAaty+sV9SaOhFkCThyMMTTKGrUud7CxnhGQmfG0mjjS09Ph6+sLb29vJCQkaC0T\nExMDb29v+Pv748SJE63Wra6uRlBQEHx8fBAcHIyamhoAQF5eHgICAhAQEAA/Pz/s3LlTXefYsWMY\nPXo0vL29ERsb2+YNZow19/g/Hkf/3P4ay8THxYiOjBYoImbWdD3kIZfLSSwWU2FhITU2NpK/v796\neOybpFIphYaGEhFRTk4OBQYGtlp3yZIllJCQQERE8fHxtHTpUiIiunHjhvohroqKCurTpw/J5XIi\nIho/fjzl5uYSEVFoaCgdOHCgWbwtbU4rm8mY3qx5X0rLSKOQp0JoStQUCnkqhNIy0oQOiZmIofu1\nzjOOvLw8eHl5wdPTE3Z2doiMjMTevXs1yqSmpiIqKgoAEBgYiJqaGlRWVuqs27ROVFQU9uzZAwDo\n1q2bekiNuro69OrVCzY2NqioqMC1a9cwYcIEAMD8+fPVdZgweOpY6xMWFIb0zenI2pKF9M3pfDcV\na5HOxFFWVqYxCqm7u3uzEVJbKlNeXt5i3aqqKvVgfa6urhqjoebl5WHkyJEYOXIk3nrrLfU6mg6w\n5+bmpvdIrZaAp45tzpRTxzY2NuLpp5+Gp6cnnJycEBAQgPR0vpOoKSUpMevLWfip7CehQ2FmQOcD\ngPr+0+rzrZCItLYnEok0lk+YMAGnTp3C2bNnMW3aNEgkEr1iuCmuyTjoEomk1frGeOjJWA9O8dSx\nwpDL5Rg0aBCys7MxaNAgSKVSzJo1CydPntQY2r4z6yLqgjmj5+DB7Q/ig+kf4B/D/yF0SKwdsrKy\nkJWV1fYGdF3HOnLkCIWEhKjfr1u3juLj4zXKLFy4kD7//HP1+2HDhlFlZaXOusOGDaOKigoiUk3e\nM2zYMK3rv//+++no0aNUUVFBvr6+6uXbt2+nhQsXNivf0ua0tDwtI43ED4sJcVC/xA+LDbq2a4w2\neOpY85k69iY/Pz/avXt3s+Wt/MtYjIvXL1LMgRhSKpUG1fup7Cca+OZA+u8P/zW4LjNfhu7XOkvL\nZDIaOnQoFRYWUkNDQ6ud40eOHFF3juuqu2TJEnUSWb9+vbpzvLCwkGQyGRERFRUVkYeHh/pgOWHC\nBMrJySGlUmm0zvHgJ4I1Dvg3XyFPhWgt31FtaMNTxwozdSwRUWVlJTk4ONBvv/3W7HfWkjie2PME\nRe+PblPd4ppiGv3uaFq4byHJFDIjR8aEYNTEQUS0f/9+8vHxIbFYTOvWrSMiouTkZEpOTlaXWbRo\nEYnFYvLz81N/02ypLpFqmOupU6eSt7c3BQUF0eXLl4mIaOvWrTRy5EgaM2YMjR8/XiM5HD16lEaN\nGkVisZiio7Xv8IYmjilRU7Qe9CG59fOqb1dprbvq21XNyjZ9TYmaorWevnjqWGGmjm1sbKSpU6fS\ns88+q/X31pA4DhUcIo+3POhq/dU2t3Gl/grFfxdPCqV++xQzb4bu160OchgaGorQ0FCNZQsXLtR4\nv3HjRr3rAoCLiwsOHTrUbPncuXNbnCxo7NixOHnyZGvhGsReZK91ecjQEKSv0t05GieJQ5wkDiFF\nIchA86Ea2vvglDGmjm066dPNKVn1mQWwpaljjx49qlfskydPxksvvaQxdWxcXFyLU8dqi1NbPLdP\nHVtaWqpRrr1TxyqVSsybNw8ODg4t7tOWrk5Wh4VpC/Fu2Lvoad+zze042Tth6b1LjRgZsySd+snx\nmDkxEJ8Qaywz9KEnY7ShDU8de4sppo4lIjz99NO4cOECdu3aBRsbG73btySvZr+KsQPHYrrPdKFD\nYRasUyeOsKAwbFi0ASElIZhSOAUhJSHYsNiw0UCN0YY2PHXsLaaYOva5557D2bNnkZqaCnt77Wei\nlo5Ul6axYdqGDluHTCHrsLaZGemAy2WCaWlzLHEzeepY000dW1RURCKRiLp160aOjo7q1/bt25uV\ntcR9yZQe2v4QvfHDG3zHlYUxdL/mYdWZReKpY81T6ZVShG0Pw90ed2Pjgxth24XnirMEPB8HJw6r\ndPToUTg7O2PIkCE4ePAgZs6ciZycHJPPAsj7UuuuNlzFY189BiLCUy5PYfOXm3lWQTNn6H7NXweY\nReCpYy2Hk70T9s3eh4fjH8bczXMhk9zq9yjYpJphkJOHZeMzDsYMYGn70v5z+9G3e1+Mdxtv8nXz\nrIKWg2cAZIwBAKrrqvF06tNQkjCjBvOsgtaLEwdjVuqljJfw6IhHEegeKMj6W3rAlmcVtHycOBiz\nQl//+TUO/XkIa+9fK1gMHfVwLBMed44zZmWMNaxIe93sAE/akYR6RT0cbBwQvTiaO8atAHeOM2YA\nS9iXTlScwEcnPsKmBzcJHYralfor2H1mN54MeFLoUJgW3DnOTIKnjjVfAQMCzCppAEBXm654MeNF\nVNZWCh0KMwJOHGaAp45tzpRTxwKqkZkHDBgAJycnDB06FGvXCtc3YI262XVD+LBwfHHqC6FDYUbQ\n6RNHtlSKlSEhiJNIsDIkBNlSqSBtADx1rJCWLVuGwsJCXL16FQcOHEBSUhLPO25ks0fNxvaT24UO\ngxlDu0bGMjMtbU5Lyw+npdFysZgIUL+Wi8V0OE3/aV+N0QZPHWteU8eePXuW3NzcNCYlu8nK/mVM\nqlHeSH1f70sF1QVCh8JuY+h+bVX/BYYmjhXBwRoH/JuvlSH6T/tqjDa04aljTT917HPPPUfdu3cn\nGxsbjdkXmzLHxKFUKumL/C8sYhrX56XP02uHXxM6DHYbThwGLF81ZYrWg/6qpu9XrdK+slWrmpdt\n2saUKe3aFp46VpipY5VKJX377bfUp08fys3NbfZ7c0wc23/dTqPfHU2N8kahQ2nVn9V/0rlL54QO\ng93G0P26U/dxyFuYsEcREnIrBcTFaa8cFwcQQR4crL2Ndl7/N8bUsc7OznB2dsaIESO0Tsnakpam\nji0rK9Or/uTJk/Hdd99pTB37ww8/tDh1bGtxtjR17O3aO3UsoOr3kUgkePTRR/H5558bXN/ULt24\nhBczXsSHD30IOxs7ocNp1RDnIfBy8RI6DNZOnTpxBMfEYIVY88nW5WIxgqL1f7LVGG1ow1PH3mKK\nqWNvJ5PJNBKnuZFmShHyZAhGPTYKXQ93xcUzF4UOiXUinTpxTA4LQ8iGDXglJARxU6bglZAQTNuw\nAZPD9H+y1RhtaMNTx97S0VPHXrhwATt27MD169ehUChw8OBBfPnll3j44Yf13l5TkmZKEbspFhme\nGagcV4mSsSWI3RQLaWbb7uZjzGAdc8VMGC1tjiVuJk8da7qpYy9cuEBTpkyh3r17U69evWj8+PG0\nd+9erdtlDvtS8BPBhDg0e4U81b4bMljnZeh+zUOOMIvUmaeOlTwhweEhh5stn1I4BVlbskwfUBsQ\nESpqKzCw50ChQ2HogCFH0tPT4evrC29vbyQkJGgtExMTA29vb/j7++PEiROt1q2urkZQUBB8fHwQ\nHByMmpoaAEBmZibGjRsHPz8/jBs3Dt9++626jkQiga+vLwICAhAQEICLF/mabmdy9OhRFBQUQKlU\n4sCBA0hNTcWMGTOEDksQ1jBcecmVEoxJHgOZQtZ6YWZ+dJ2OyOVyEovFVFhYSI2NjeTv769+kOsm\nqVRKoaGhRESUk5NDgYGBrdZdsmQJJSQkEBFRfHw8LV26lIiITpw4QRUVFURElJ+fT25ubur1SCQS\nrQ9kNdXS5rSymcwC7Nu3jzw8PKh79+40bNgw2rJliyBxmMO+lJaRRuKHxRqXqcThYkrL0P+hU3Mw\n8aOJdODcAaHDYGT4fq1zWPW8vDx4eXnB09MTABAZGYm9e/di+PDh6jKpqamIiooCAAQGBqKmpgaV\nlZUoLCxssW5qaioOH1adakdFRUEikSA+Pl59myYAjBgxAnV1dZDJZLCzs7uZ5IySLJnlmT59OqZP\nny50GGbBWoYrnz1qNj7P/xzTvKYJHQozkM7EUVZWpnG/vLu7O3Jzc1stU1ZWhvLy8hbrVlVVqW8r\ndXV11fp8wa5duzB27Fh10gBUScbOzg4RERFYuXKlIdvJmFUJCwqzuERxu1kjZ2FV1irUyerQza6b\n0OEwA+hMHPre7qjPmQARaW1PJBI1W37q1Cm8/PLLyMzMVC/btm0bBg4ciNraWkRERGDr1q1aRzyN\na/LAnkQigUQi0WsbGLME1xuv4z9Z/8EbQW+YfFBMY+vv2B/jBo5D2u9peHTko0KH06lkZWUhKyur\nzfV1Jg43NzeUlpaq35eWljZ7COz2MufPn4e7uztkMlmz5W5ubgBUZxmVlZXo378/Kioq0K9fP41y\nM2fOxNatW9XDfwOqh9IAwNHREXPmzEFeXl6riYMxa5P6WypOXzht8UnjppgJMVCQQugwOp3bv1Sv\nXr3asAZ0dYDIZDIaOnQoFRYWUkNDQ6ud40eOHFF3juuqu2TJEoqPjyciovXr16s7xy9fvkx+fn70\nv//9T2MdcrmcLly4QEREjY2NFBERofFcQWsdPM7OzgSAX/xq98vZ2VnXv0yHe3Dbg7T1l62CxsCs\nD2DkQQ4nI+YBAAAgAElEQVT3799PPj4+JBaLad26dURElJycTMnJyeoyixYtIrFYTH5+fhp3Pmmr\nS6R6IGvq1Knk7e1NQUFBdPnyZSIiWrNmDfXo0YPGjBmjfl24cIFqa2tp7Nix5OfnRyNHjqQXXniB\nlEpluzeeMUvyV+1f1Gt9L7rWcE3oUJiVMfTY2SkeAGTMGmzK24Qfz/+IbTO3CR0KszI85zhjVmp7\n/nY8PvpxocNgDHzGwZiFqLhWgTu632ERw6czy8JnHIxZqQE9B1ht0vij+g88+iXfkmspOHEwxgTn\n2dsT2cXZKKguEDoUpgdOHIwxwdl2scWjIx7FjvwdQofC9MCJgzFmFmaPmo1tJ7dxP6UF0PnkOGNM\nWAqlAoeLD+M+z/ss8mnxbKkUGYmJsG1ogNzeHsExMS3OjnmXx124IbuBX6t+hX9//3a3xzoOJw7G\nzNg3hd9g2dfLcHTBUaFDMVi2VIqDsbFYW3Cr32LF3z9rO9h3EXXB7NGzkV2crTVxGNoe6zh8Oy5j\nZuyJPU9gTP8xeGHiC0KHYrCVISF4LSOj2fJXRo7Emn/969aC7t2B2bMBqM6wbLrYqJZfvw7suNXn\nsfLtt/HaqVPN2wsJwZr0dOMG38kYeuzkMw7GzNQN2Q3s/W0v4h+IFzqUNrFtaNC63ObSJeDHH28t\n6NVLnTjUSQMAZDKNcraXLmlvr76+/cEyg3DiYMxM7fttH8YPHI/+jv2FDqVN5Pbap7hV+PsDmze3\n3kDv3hrl5CEhQGVl8/YcLGfKXGvBd1UxZqa2ndxm0UOMBMfEYIVYrLFsuViMoOhos2iPtR33cTBm\npj458QkiRkTAyd5J6FAMV18PTJ+O7AULkPnxx7Cpr4fCwQFB0dHt6sjOlkqRmZRktPaYiqHHTk4c\njDHje/NN4LvvgD172lS9/Fo5vin8BnP95uouSAQ0NgItXBZj+uHEYT2bw5hlqqkBfHyArCxgxIg2\nNVFVWwXfTb4of7Fc93zkcXGq5GHoDHZMAw9yyBgTVnw88PDDbU4aAODq6IrxA8cj7fc03QUffxx4\n912gtrbN62KG48TBGDOe0lLgww9VZwLtNHvUbHye/7nuQt7ewH33AR980O71Mf3xpSrGzAgRQaaU\noatNV6FDaZuffgJycgAj3Ol0pf4KBr0zCMUvFKO3Q++WCx4/DoSHAwUF3NfRRnypijEL9nPlz7h7\n891Ch9F248cbJWkAQC+HXpg6ZCp2n9mtu+CddwIjRwLbeEpdU+EHABkzI9tObkOIV4jQYZiN+Afi\n0bNrz9YLxsUBZWUdHg9T4UtVjJkJhVKBQe8MQua8TIzo2/aOZcYMxZeqGLNQWUVZcO3hykmDmT1O\nHIyZCYsdYuTMGeDGDaGjYCbUauJIT0+Hr68vvL29kZCQoLVMTEwMvL294e/vjxMnTrRat7q6GkFB\nQfDx8UFwcDBqamoAAJmZmRg3bhz8/Pwwbtw4fPvtt+o6x44dw+jRo+Ht7Y3Y2Ng2bzBj5qpOXofI\nUZFCh2EYmQyYMQP44QehI2GmRDrI5XISi8VUWFhIjY2N5O/vT6dPn9YoI5VKKTQ0lIiIcnJyKDAw\nsNW6S5YsoYSEBCIiio+Pp6VLlxIR0YkTJ6iiooKIiPLz88nNzU29nvHjx1Nubi4REYWGhtKBAwea\nxdvK5jDGjO2994imTiVSKjt0NXKFnEpqSvQr3NBAVFXVofFYG0OPnTrPOPLy8uDl5QVPT0/Y2dkh\nMjISe/fu1SiTmpqKqKgoAEBgYCBqampQWVmps27TOlFRUdjz93g2Y8aMQf/+qiGkR4wYgbq6Oshk\nMlRUVODatWuYMGECAGD+/PnqOowxgdTWAq++CiQkAB08rW1eWR5CPgvRrwN382Zg0aIOjaez03k7\nbllZGTw8PNTv3d3dkZub22qZsrIylJeXt1i3qqoKrq6uAABXV1dUVVU1W/euXbswduxY2NnZoays\nDO7u7urfubm5oayFW+/imjyxKpFIIJFIdG0iY6yt3n4bkEiAsWM7fFUT3Se2Oh+52vz5wKpVwO+/\nq8bMYs1kZWUhKyurzfV1Jg6Rnt8i9PkWQERa2xOJRM2Wnzp1Ci+//DIyMzP1Wn9TcUYY6oAx1oqa\nGmDDBiAvzySrE4lEmD1aNQRJq4mjRw/VGcfrrwMffWSS+CzN7V+qVxs4SKTOS1Vubm4oLS1Vvy8t\nLdX45q+tzPnz5+Hu7q51uZubGwDVWUbl3zN5VVRUoF+/fhrlZs6cia1bt2LIkCHqdZw/f15rW4wx\nAfTuDRw5AgwdarJV3hy7SknK1gsvXgzs3s0PBXYQnYlj3LhxOHfuHIqKitDY2IidO3ciPDxco0x4\neDg+/fRTAEBOTg569+4NV1dXnXXDw8ORkpICAEhJScGMGTMAADU1NQgLC0NCQgLuuusu9ToGDBgA\nJycn5ObmgoiwdetWdR3GLFnJlRLEHIgROoy28fY26epG9xuNnl174sfSH1sv3KcPEBWlupzGjK+1\n3vP9+/eTj48PicViWrduHRERJScnU3JysrrMokWLSCwWk5+fHx07dkxnXSKiS5cu0dSpU8nb25uC\ngoLo8uXLRES0Zs0a6tGjB40ZM0b9unDhAhERHT16lEaNGkVisZiio6ONcmcAY0Jb/916WrBvgdBh\nWIzPfvmMDhcd1q9waSlRWlrHBmQlDD128pAjjAlo9Huj8e6D72LS4ElCh2IRpJlSJG5PRAM1wF5k\nj5g5MQgL4qlj28vQYycPcsiYQH6t+hVXG67inkH3CB2KRZBmShG7KRYFAQXqZQWbVD9z8jAtHnKE\nMYF89utnmDN6DrqILOTfMCNDdSeVQBK3J2okDQAoCChA0o4kgSLqvCxkj2XMuhAR9pzdYzljUykU\nwJIlwKBBgoXQQA1al9cr6k0cCeNLVYwJQCQS4diCY+hpr8dcE+Zg2zbA0VE1LpVA7EXaZ/dzsHFo\nvfKVK0BJCTB6tJGj6pz4jIMxgVhM0qivB155RfVAXQcPLaJLzJwYiE+INZaJj4sRHanHjIO5ucDs\n2YBSj2dAWKv4jIMxptumTUBAAHCPsJ34NzvAk3Yk4WrjVfx0/ie88fIb+nWMBwUBXbsCaWmq+clZ\nu3DiYIzpVlAArFsndBQAVMnjZqK4a/Nd6Cbupl9FkQh4+WVg/XrgoYcEPXOyBnypijGm27vvAiPM\nb1bCiOER2HVmlwEVIoCLF4Hvvuu4oDoJThyMmVBNfQ1Sf0sVOgyrEDE8AnvO7oFCqdCvgo0N8H//\nB8THd2xgnQAnDsZM6KvTX2HLz1uEDsMqDHEegiHOQ3Dyr5P6V5o/X9XRz9qFhxxhzITuS7kP0ROi\nMXP4TKFDsQpypRy2Xbirtr0MPXbyGQdjJnL+6nn8UvkLHvR+UOhQWtdkSgRzxklDGJw4GDORz09+\njpnDZ8LBVo8H1oSUnQ3cdx8/88BaxOmasQ52c0TXH8p+wPA+wyHtJjXLQfmypVJkJCbCNicH8sGD\nEXzgACaHmV+cTHicOBjrQBojunoCR3EUsZtiAZjXiK7ZUikOxsZibcHfgwiePIkVsao4rTZ5VFUB\nP/0ETJ8udCQWhy9VMdaBLGVE14zExFtJ429rCwqQmWRecbbku+LvUFBd0HrBpurqVLMEXrnSMUFZ\nMU4cjHUgSxnR1bZBe5w29eYVZ0v2/7EfH534yLBKnp7Agw8C773XITFZM04cjHWgdo3oakJye+1x\nKhzMK86WPDL8Eew6vcvw2/H/7/9Uc4zU1XVMYFaKEwdjHahdI7qaUHBMDFaINeNcLhYjKNq84mzJ\nnQPuhEwpQ/5f+YZVHD0aGDcOSEnpmMCsFD8AyFgHulJ/BRnfZGDzrs2oV9TDwcYB0ZHRZtUxflO2\nVIrMpCTY1NdD4eCAoOhoi+oY/3fGv+HY1RGrJasNqpf9+uvIWL0atuPHQ25vj+CYGIvabmMw9NjJ\niYOxDrQ2ey3Ka8ux6cFNQodi9X4s/REL9i1A/vP6n3U0u5sMwAqxGCEbNnSq5MFPjjNmJpSkxEcn\nPsJTY54SOpROYaL7RLx878tQkv4PLlr63WRC4cTBWAc59OchODs4Y+zAsUKH0rLr14EffhA6CqPo\nIuqCuX5z0UWk/2HN0u8mE0qrn3B6ejp8fX3h7e2NhIQErWViYmLg7e0Nf39/nDhxotW61dXVCAoK\ngo+PD4KDg1FTU6Neft9996Fnz56Ivq1TTiKRwNfXFwEBAQgICMDFixfbtMGMmcqHxz/EM3c+I3QY\nuqWkAG+8IXQUgrH0u8kEQzrI5XISi8VUWFhIjY2N5O/vT6dPn9YoI5VKKTQ0lIiIcnJyKDAwsNW6\nS5YsoYSEBCIiio+Pp6VLlxIR0fXr1+n777+n5ORkWrx4scZ6JBIJHTt2TFe41MrmMGYyldcqqXd8\nb6qpqxE6lJYpFETe3kTZ2UJHIpjDaWm0XCwmAtSvZWIxHU5LEzo0kzL02KlzyJG8vDx4eXnB09MT\nABAZGYm9e/di+PDh6jKpqamIiooCAAQGBqKmpgaVlZUoLCxssW5qaioOHz4MAIiKioJEIkF8fDy6\nd++Oe+65B+fOnWspybUvSzJmItdl1xE/NR69HHoJHUrLpFLAyQm4916hIxHMzQ7wV27eTSaTYdqc\nOZ2qY7wtdCaOsrIyeHh4qN+7u7sjNze31TJlZWUoLy9vsW5VVRVcXV0BAK6urqiqqtJoU9TCfMBR\nUVGws7NDREQEVq5cqbVMXFyc+meJRAKJRKJrExnrEEOdh2LhuIVCh6Hb228DL75olfNvyxQy2NnY\n6VV2cljYrUSRlAQcOQIsWtSB0QkvKysLWVlZba6vM3G0dAC/nT5nAkSktT2RSKTXerZt24aBAwei\ntrYWERER2Lp1K+bNm9esXNPEwRhrwYkTwO+/A48+KnQkRkdEGLZxGLKfzIa7k7thlSMjVTMEXrsG\n9OzZMQGagdu/VK9ebdizLzo7x93c3FDaZEKX0tJSuLu76yxz/vx5uLu7a13u5uYGQHWWUVlZCQCo\nqKhAv379Wg104MCBAABHR0fMmTMHeXl5rdZhzFBSaTZCQlZCIolDSMhKSKXZZtlmu4nFwP/+B9jp\n963ckohEIkwaPAm7z+w2vHLfvsDkycDuNtTtTHR1gMhkMho6dCgVFhZSQ0NDq53jR44cUXeO66q7\nZMkSio+PJyKi9evXqzvHb/rkk080OsflcjlduHCBiIgaGxspIiKC3n///WbxtrI5jOmUlnaYxOLl\nTftJSSxeTmlph82qTda61LOpNPmTyW2r/MUXRFOnGjcgM2fosbPV0vv37ycfHx8Si8W0bt06IiJK\nTk6m5ORkdZlFixaRWCwmPz8/jTuftNUlIrp06RJNnTqVvL29KSgoiC5fvqz+3eDBg8nFxYUcHR3J\n3d2dzpw5Q9evX6exY8eSn58fjRw5kl544QVSKpXt3njGmgoOXqFxgL/5CglZ2azsl18SxcU1fx3/\npbHNbTLjqZPVUa/1vajyWmUbKtcRubgQlZYaPzAzZeixs9WJnEJDQxEaGqqxbOFCzU6/jRs36l0X\nAFxcXHDo0CGtdYqKirQuP3r0aGuhMtYuDQ3a/x3q622aLSNqPrMqgfDY12OxZ8AOjOg7wuA2mfE4\n2Dog1DsU/zv7Pzw77lkDKzsAX35p1X0c7cUzADL2t7IyudblDg6KZssefbR5v/L3JT/gy30yDL/j\n1u3q9vb6t8mMa/ao2ThWcaxtle+/37jBWBkecoQxqM4gJk4MhqfnCo3lYvFyREcH6dXGh8c/xD8D\n/qlxl2BMTDDEYs02bWyWY+ZM/do0KqUSSEtrfqpkpcKHhRs8Ui7TD4+Oy1gTUmk2kpIyUV9vAwcH\nBaKjgxAWNrnVepfrLmPIhiH4I+YP3NH9Dp1t+vgEITNzMk6eBGxNec6/fz+wYgVw/LhVPrvB2o6H\nVbeezWEWZGPeRnxf8j12PLJDr/KXLgF9+nRwULcLCgLmzwe0PP/EOjceVp0xAdyQ3cDz45/Xu7zJ\nk8avvwKnTgGPPWbiFVs4uRzgAVWb4TMO1unI5cCqVUBsLKDHs6fW4amnAC8vYPlyoSOxLB9+CHz9\nNbBDvzNJS8VnHIzpIJMBc+YAR48Cjo5CR6PpwoUOariqSvWU+EIzHzurgxTXFOOdnHfaVjkiAkhP\nB65cMW5QFo4TB+s0GhqARx4B6uuBvXuB7t2FjuiWS5cAPz/g4MEOaNzFRdWwya+PmYee9j2xKmsV\nrjdeN7yyi4vq1tyvvjJ+YBaMEwfrFG7cAB5+WDU001dfqZ7xMid9+gC7dqn6rVNTjdy4nR0wYYKR\nG7UcLt1cEOgWiAN/HGhbA/PnA1u3GjcoC8eJg3UKn34K3HGH6lJ1165CR6Pd3Xer7phdsED14DIz\nnojhEfjqdBvPGh58EMjPB1oY1aIz4sTBOoWFC1WzpBrzuYnjFccx73/GvbV13DjVVaWYGODzz43a\ndKc2w3cG0v9IR728DXOJd+0KxMVxP0cTnDhYpyASATZGHh7qw+MfwsfFx7iNAvD3V93I4+Vl9KY7\nLVdHV4zpPwYZBRlta2DxYtUfhgHg23EZa5Prjdfh8bYHfn3uV8MnCzKVvXuBadMAe3uhIzELf1T/\ngf6O/eHY1cxupzMDfDsu6/QqKoCyso5dx85TO3HvoHvNN2nk5wPPGjgqrJXzcvHipGEknDiYVSkt\nBaZMAfbt69j1fHj8Qzxz5zMdu5L2eOcd4Pnn+WyDdQgeVp1ZjcJCYOpU1eXojvyyfenGJSiUCoR6\nN59rpiN99RXwyy/Aq6+2MkbhX3+p7u39/XeTxcY6F+7jYBZLKs1GYmIGGhpsoVDIcfZsMFavnozn\n9R8yyqJcuAAEB6ueR7vvvmwkJam23d5ejpiY4Fuj+L76KnD+PPDBB8IGbI2++w7YsgXYvFnoSIyK\nR8e1ns1hOkil2YiNPYiCgrXqZX37rsAnn4ToNQy6pbp8GQgMzEZV1UFcvXpr28XiFdiwIQRhDwQC\ngwcD33wDjBghYKTmq7axFjdkN9CvRxsGKqupUX2+RUWAs7PRYxMKd46zTiExMUMjaQDAhQtrkZSU\nKVBEpuHsDHh4ZGgkDQAoKPh727t2VT1FyEmjRRvzNuLVw6+2rXLv3kBICPDFF8YNysJw4mAWqTPP\n5a1Q6Nh2kQi4804TR2RZZg6fid1ndkNJbZwJcd481VAEnRgnDmaROvNc3p15243Bp48P+nTvgyOl\nR9rWwLRpwLlzQEGBcQOzIJw4mEXSNpe3IfODt8WGnA34oeSHDmtfX0Jsu7WJGB6BXWd2ta2ynZ3q\nrCMnx7hBWRDuHGcW5+efVY8n/Pln2+YHb4sGeQM83vbAkaePQOwi7pB1GKKtc6MzlZNVJ/HQ5w+h\nMLYQorbMv05kVfO2G3zspFYcOHCAhg0bRl5eXhQfH6+1THR0NHl5eZGfnx8dP3681bqXLl2iBx54\ngLy9vSkoKIguX76sXi6RSMjR0ZEWL16ssY6jR4/SqFGjyMvLi2JiYrTGocfmMAtXU0MkFhN98YVp\n1/v5yc9paspU067UEKmpRJcuCR2FxVAqlRRzIIau1F8ROhSzYOixU2dpuVxOYrGYCgsLqbGxkfz9\n/en06dMaZaRSKYWGhhIRUU5ODgUGBrZad8mSJZSQkEBERPHx8bR06VIiIrp+/Tp9//33lJyc3Cxx\njB8/nnJzc4mIKDQ0lA4cONDujWeWRakkeuwxomefNf2670+5n3ac3GH6FevjwgWi3r0pcUUl/fST\n0MEwS2TosVNnH0deXh68vLzg6ekJOzs7REZGYu/evRplUlNTERUVBQAIDAxETU0NKisrddZtWicq\nKgp79uwBAHTv3h333HMP7G8bJqGiogLXrl3DhL8no5k/f766Dus8PvoIOHMGeOst0663oLoAJ6tO\nYobvDNOuWF/vvw/MnAlXP1dERgJXrwodELN2OoccKSsrg4eHh/q9u7s7cnNzWy1TVlaG8vLyFutW\nVVXB1dUVAODq6oqqqiqNNm+/5lhWVgZ391uDybm5uaGshVHs4uLi1D9LJBJIJBJdm8gsRH4+sHy5\n6sHdbt1Mu+7dZ3Zjnv882Nua4bhPDQ3Apk3AwYOYNVr13N+CBaq5PKzoEjwzsqysLGRlZbW5vs7E\noW+nEenRqUJEWtsTiURt65xqQdPEwazHb78Bb78N+Pqaft0v3f0SGhQNpl+xPnbuBEaNAkaPBqD6\njAIDVWdnz5jxGIxWo7RU9TDgv/8tdCQGuf1L9erVqw2qrzNxuLm5obS0VP2+tLRU45u/tjLnz5+H\nu7s7ZDJZs+Vubm4AVGcZlZWV6N+/PyoqKtCvn+5H/93c3HD+/HmtbbHOISJCuHWLRCI42JrXJOXZ\nUikyEhNh++OPkPv4IFgqxeSwMHTrpsolkycDd92lyimsA/XqBaxZA0RFqeYm7iR09nGMGzcO586d\nQ1FRERobG7Fz506Eh4drlAkPD8enfz9FmZOTg969e8PV1VVn3fDwcKSkpAAAUlJSMGOG5rXj289g\nBgwYACcnJ+Tm5oKIsHXr1mZ1GOsssqVSHIyNxWsZGYirrcVrx4/jYGwssqVSAMDw4cBnnwF9+woc\nqIV4Nu1ZnL14tm2VnZxUc5Lv3GncoMxda73n+/fvJx8fHxKLxbRu3ToiIkpOTqbk5GR1mUWLFpFY\nLCY/Pz86duyYzrpEqttup06d2ux2XCKiwYMHk4uLCzk6OpK7uzudOXOGiG7djisWiyk6OlprrHps\nDmMWb0VwMJHqSQKN18qQEKFDs0iL9y+m1w6/1vYGDhwgmjDBeAEJwNBjJz8AyJiFiZNIEHf4cPPl\nU6Ygrh0dnp1VVlEWXjz4Io4vPN62BuRywMMDyMoChg0zamymwqPjMquwbBnw7bfCrV+ulCP++3go\nlOY3/pO8hVn9FA7m1Q9jKa79dg35O/Ixce5EhDwZAmmm1LAGbG2BOXNU1wc7CU4czOzs2QPs2AEE\nBAgXw/5z+7H3t72w6WJ+o+0Gx8RghVhz2JPlYjGCoqNbrCOXA42NHR2Z5ZFmSvGv9/4FmUSGXO9c\nZHhmIHZTrOHJY9ky4P/+r2OCNEN8qYqZlZISYPx4YO9eYOJE069fmilF4vZEHKs6hv7d+yNhYQLC\ngsJMH0hLTp8G3nsP2dOmITMpCTb19VA4OCAoOhqTw1qOMy4OqK4GEhNNF6olCHkyBBmeGc2Xl4Qg\nfXO6ABEJw9BjJ885zsyGTAbMnq26JV6opBG7KRYFAQWAJ3AJlxC7KRYAzCN5KJWqydQfewyTw8J0\nJorbxcaqpum4/36Ab0i8pYG0P59Tr6g3cSSWhS9VMbOxerXq7saXXhJm/YnbE1VJo4mCgAIk7UgS\nJqDbbdkC1NWpkoeBnJ1VT5MvXKg6q2Mq9iLt/UUONtxfpAsnDmY2HnsMSEkBugi0V5r1t88LF1TX\n0d9/H7BpW7/LxImqs7nZs1VndwyImRMD8QnN/iLxcTGiI1vuL2J8qYqZkb9HzRCMWX/7XLJEdedO\nO6eFfekl1XhWW7bwkCTArUuQSTuSUK+oh4ONA6IXR7f90mRjI3DkCDBlihGjND/cOc7Y3zT6OP4m\nPi7GhsUbhO3jUCpVvdtLlgA9e7a7uatXgR492nziwnS5fh1wc1MNrvb3QK6WwNBjJycOxpqQZko1\nv31GtuPbJ7NIN2Q38PCOh7HnsT3o0bWH4Q1ERanODGNjjR9cB+HEYT2bY/UuXuxU48IxCxL5VST8\nXf2xbNIywysfOgQsXQocO2b8wDoIPznOLMLFi6ovZb/8InQkwLWGa0KHwMzMmvvW4K2ct1BdV214\n5fvuA6qqgFOnjB+YmeDEwUyOCHjySWDWLMDfX9hYrjVcg1+yH85cOCNsIAIqLweOt3GYJmvl3ccb\nM4fPRMIPCYZXtrEBHn8c2LrV+IGZCU4czOTeeQf46y9g3TqhIwFWfLMCEk8JhvcdLnQomvbvB3Jy\nTLKqX35RPRR46ZJJVmcx/jP5P/jo+Ecou6p9tlFdsr29sTIzE3ESCVaGhKiHvLcWfDsuMwmpNBuJ\niRm4eNEWJ0/K8d57wejadbKgMf1Q8gO+Ov0V8p/PFzSOZmpqgH/+E9i92ySrCw1Vnf2FhmbD2TkD\nDQ22sLeXIyYmGGFhwv6NhOTm5IYVk1ag5EoJ3Jz0nzguWyrFwfh4rC24dXfeir9/NuRpf7NmhKHc\nzYaVbY7VSEs7TGLxco3pI8Ti5ZSWdliwmOpkdeS70Ze+OvWVYDG06LnniBYuNOkq//e/w2Rvb15/\nI0tlifOlGHrs5EtVrMMlJmagoGCtxrKCgrVISsoUKCLgzR/fxIi+IxAxQsA5abXJzVUND7x+vUlX\n+957GWhoMK+/kaWybdA+AoFNvRmMQGAkfKmKdbiGBu27WX29cE+gPTf+OciVcsHWr5VcrhpM6o03\nVINLmZA5/o0sVWeYL4XPOFiHs7fXfoB2cBBukiSXbi7o16OfYOvX6o8/AD8/1WBSJmaOfyNLpXW+\nFDc3nfOlWBo+42AdLiYmGAUFKzQuV4nFyxEdPU3AqMyQry/w6aeCrJr/Rq2rl9ejqrYKg3sP1lnu\nZgf4KzfnS5HJMO3UKUwWYq6ADsJPjrMO89VXqkv2//2v6q6qpKRM1NfbwMFBgejooE59x4454r+R\nbl+e+hJvHHkDOU/nQCQSGVY5Jgaorwc++KBjgmsnHnLEejbHon37rWqY9MxM4R/yAwAlKaFQKmBn\nYyd0KBanuBgYMADo2lXoSISlJCXufP9OrJqyCv8Y/g/DKl+5AgwfrrrF2gzPPHjIESa4n39WJY0v\nvjCPpAEAHxz7AM9KDZ8AiQGvvqp60l+pFDoSYXURdcH6qeux4psVht9Y0auX6qaH559X3QRh4Thx\nMKP6808gLAx4911AIhE6GpXzV8/jlW9fwYsTXxQ6lOa+/dbsZ1XauFE1a+BLL6keSOjMpnlNQ98e\nfbqk9RgAACAASURBVLH1lzYMJzJ7NuDiAmRlGT0uU2s1caSnp8PX1xfe3t5ISNA+bktMTAy8vb3h\n7++PEydOtFq3uroaQUFB8PHxQXBwMGpqatS/W79+Pby9veHr64uMjFuTyEskEvj6+iIgIAABAQG4\nePFimzaYdawVK1SvRx4ROhIVIsKzac8iekI0RvYbKXQ4mm6emjXZ/81Rt25AaiqQkaH60tyZiUQi\nrJ+6HquyVqFBrv15DR2VVUPJPPBAxwRnSrqeDpTL5SQWi6mwsJAaGxvJ39+fTp8+rVFGKpVSaGgo\nERHl5ORQYGBgq3WXLFlCCQkJREQUHx9PS5cuJSKiU6dOkb+/PzU2NlJhYSGJxWJSKpVERCSRSOjY\nsWM6n2ZsZXOYCTQ0CB2Bpu2/bqdR746iBrmZBSaXE02YQPThh0JHorfSUqJBg4hSUoSORHi553PV\nxyZrYOixU+cZR15eHry8vODp6Qk7OztERkZi7969GmVSU1MRFRUFAAgMDERNTQ0qKyt11m1aJyoq\nCnv27AEA7N27F7Nnz4adnR08PT3h5eWF3NzcpknOWPmSdRBz6kCtrqvGvw7+C5vDN6OrjRkFBqju\nrrGzA556SuhI9ObuDqSnq24O6uwmuE0w/M4qK6LzOY6ysjJ4eHio37u7u2scyFsqU1ZWhvLy8hbr\nVlVVwfXvaRVdXV1RVVUFACgvL8fEJnccuLu7o7y8XP0+KioKdnZ2iIiIwMqVK7XGHBcXp/5ZIpFA\nYi4X2pnJOTs4I3V2Kia4TRA6FE2VlcB//qPq3+hiWd2Mw4erXsyyZWVlIasdfS06E4e+GVWfMwEi\n0tqeSCTSaz3btm3DwIEDUVtbi4iICGzduhXz5s1rVq5p4mAd6+bobeZ67BOJROaXNADg44+Bp58G\nRo0SOhImNIGmwbz9S/Xq1asNqq/zX97NzQ2lpaXq96WlpXB3d9dZ5vz583B3d9e63M1NNTSxq6sr\nKisrAQAVFRXo169fi23drDNw4EAAgKOjI+bMmYO8vDyDNpQZ3xtvqGbIZAZatgxYs0boKJjQLl8G\nRoxQPShjYXQmjnHjxuHcuXMoKipCY2Mjdu7cifDwcI0y4eHh+PTvYRJycnLQu3dvuLq66qwbHh6O\nlJQUAEBKSgpmzJihXr5jxw40NjaisLAQ586dw4QJE6BQKNR3UclkMuzbtw+jR4827ifBDPLpp6rb\nNGNjhY7EAolEqv4NK3HqlNnfGNahEr5PQHFNGw7+zs6qJ8ot8Z+otd7z/fv3k4+PD4nFYlq3bh0R\nESUnJ1NycrK6zKJFi0gsFpOfn5/GnU/a6hIRXbp0iaZOnUre3t4UFBREly9fVv9u7dq1JBaLadiw\nYZSenk5ERLW1tTR27Fjy8/OjkSNH0gsvvKD1jgY9NocZwf79RK6uRLfdYGcWFEqF0CE0czgtjVYE\nB9OqKVNoRXAwHU5LEzoko3r5ZaLJk4nq6oSORBivfPMKPbHnibZVrq8n8vYmSk01blAGMvTYaVVH\nWk4cHS8nh+iOO4h+/FHoSJq70XiDxr4/loouFwkditrhtDRaLhZrTOizXCy2quShUBA99hjRzJmq\nu4w7m5q6Gur3336UX5XftgYyMog8PYmuXzduYAYw9Nhppt2azFy99RbwySfAXXcJHUlzqw+vxlDn\noa2OXmpKGYmJGlOIAsDaggJkJiUJFJHxdekCpKSohmNatKjzPV3ey6EXlt6zFCu/1X6nZ6uCgoDA\nQNVooBaCEwczyI4dwPTpQkfR3LHyY/j4xMdICjWvA7JtCyMcWNNscABgb68avy8vTzW2VWfz/Pjn\ncbT8KHLO57StgcRE1ThWFoLn42AGMadnnqSZUiRuT0Q91eN42XE88+gzcHV0FTqsWz79FPKTJ7X+\nyppmg7vJyQk4cADIzhY6EtNzsHVA3JQ4pP+RjonubRj9tp+ZTSrWCh5WnVkkaaYUsZtiURBw6zKQ\n+LgYGxZvQFhQmICRQTVo4ZIlgFSK7H/9CwffekvjctVysRjTNmxQT/jDrAO18KyaJTD02MlnHKwZ\nqTQbiYkZaGiwhZ2dHC+8EGx2E/okbk/USBoAUHBnAZJ2JAmfOA4fBn77DcjLw2RnZ2Dw4FuzwTk4\nYFp0dKdJGk33JXt7OWJizG9fMhZLTRptwYmDaZBKsxEbe1BjCtHCwhUAYFb/8A2kfWTSeoUZ9B08\n8AAwdar6ut7ksLBOkyia0rYvFRSY375klojM67rwbbhznGlITMzQ+EcHgIKCtUhKyhQoIu3sRfZa\nlzvYmEnfgRn/05uKpexLZik8HPjlF6GjaBEnDqZGBJSUaD8Jra+3MXE02p25cAZKUiJmTgzEJ8Qa\nvxMfFyM6MlqgyNjtGhrMe1/qSNJMKYKeCILkCQlCngyBNFNqWAMPPaS6y8pMp13kS1VM7ZNPgLIy\n7dNaOjgoTByNJplChvXfr8fGvI34/qnv1f0YSTuSUK+oh4ONA6IXR5u2f+PyZdWcqq++Cvj5mW69\nFsLeXvu+VFmpgExmVaOuaJBmSrEoaRGKx94ahqRgk6o/Tu/985//BDZvBrZsMcuh9/muKqbW2Aik\np2fjxRc1r0uLxcuxYcM0wa5Ln714FvP/Nx/O3ZzxcfjHcHNyEyQODadOATNmqObJ/e9/rfco2A7a\n+jgGDVoOF5dp6N9/Mg4cEDC4DhTyZAgyPDOaLy8JQfrmdP0bOnYMePBB4PRpoE8fI0bYHN9Vxdqs\na1cgPHwybGyApKRXUF9vAwcHBaKjhUkaSlJiY95GrMleg1clr+LZcc+ax50re/YAzzyjGh747wnJ\nWHM395nb96UHH5yMJtPsWB2j3bgxdiwwaxawfDnw/vtGiMx4OHF0QufPA2VlqlEOtAkLm2wWd70o\nSYmzF8/ix6d+hHcfb6HDUUlIADZtUs0dPX680NGYvZb2JTczOGnsKC3duFHf2IY7/tasAXbtamdE\nxsed452IXK4aa2rMGOCnn4SOpnW2XWzxbti75pM0AFW2/eknThodoLEROHNG6CjaT9uNGwNzB2Lh\nrIWGN9a7t2rSLzPDfRydxJEjwHPPAX37qr4w+/gIHdH/t3fuUVFV7R//zjCABikqAsqA0uAFREBB\nMZVEUTA0EryEhoDmLSxe7fXN5R1LSSErsxetFuUFS/mxFAglyFTQEIyL10K8DIKIYr54BWEGnt8f\nI5PDnIEZROdI+7PWWXA2ez/nu8/hnOdcnv1sBkOVggJg/HhFvMHq1YCJib4VtZ4DvxxQDdwIes6B\nGzqi67WTOY5/AB99BGzbBmzaBAQF8XOIQWpxKoaJh8H8pec/jSaDP9y4ASxZAhw/rsj712TeuH80\nWQcOIOPLLyGqrYXc2Bg+ERFtNrCUOY72050248wZwNZW8dTLN+7V3sPi9MU4WnIU+9/aD2dL/Ya1\nqpyctbXwWbnyHznqW9/8+qtiGIODA7B794v99NEcM/fPxLhXxmGm88xmAz+yDhxA+r/+pZLzbIVE\nAt82ynmm87Xz6acA4Q/trDvtniPSI9T7i94076d5dO/RPX3L+UdMuvQi8egR0Y4dRByTfbYb8q/n\nk8tWFxofP56u3rmqsd4KHx+V/8vGZaWvb5vo0PXayaKqXnCeTCInEskRHu6DwED9R0Q1pTEFei3V\nwlhgDBMHE+SKcvHtG9/Cr4+fvuUBNTXIWLWKc9KlVVu2sKcOPWBsDISEqJa1t6SJg3sMxu9zf0f0\nb9Fw+8YNH4/+GPPc5kEoUI1bEtVyh/jqa14X5jheYLgGWJ07twLGxvxKIseVAt3yiCU+W/gZP5wG\nAHzyCURXrnD+qb1NuvSi0l6TJhoaGGLFaysQ4BCA2cmz0UHUAWGuYSp15MbcIb76mteFheO+oNy5\nAyxbpp5E7uZN/iWR40qBfnPYTezcv/P5CmloUHx95WLtWsg1DGxpj5MuvYhoSpq4du0vqKnRk6g2\nxLG7I36b/RuCnYPV/uYTEYEVEtUQ3+USCca9r5/cbOyJ4wWlshK4cYN/SeRqZDXIu56H7LJsZF/L\nxt1HdwEN39yeSwr0Bw+AQ4eA1FTgwAFgxAggMVG9nkCgODkvX1afdElPJydDFU1JE4uKDGBurpi6\nOynpOYtqYwyE3Odu46tSvszrwhzHc0Tb97O1tYoxZsePKzIr//CDeght377AoEFyZKinxNFLQsJq\nWTXG7BiDs5Vn4WThhOE2wxE8MBjDbYZjdiZ3kranTYHebHji/fuKdA3HjysG7b3xBrBsGdDkru1J\n+HZyMlTRlDRx+PB67NsHSKXc7aqqgHv3gF69uP/+Inw3+fPWn/ifSIaTPQi1BBgLCMOM9Ciopa/n\naWlp1K9fP7K3t6cNGzZw1nn//ffJ3t6enJ2dqaCgoMW2t2/fprFjx1KfPn1o3LhxVFVVpfxbVFQU\n2dvbU79+/Sg9PV1ZnpeXR05OTmRvb08RERGcOrTojt5ITc0kiWT542CIIwQQSSTLKTU1U1lnzRoi\nT08iExMiNzeiRYuIEhOJ5HJtbNJjm8tUbLZKa0Yq+YT5kIuvC/mE+VBqhiKqSFYvo8KKQqqT13G2\n+630N3pY95DTnuRNCSESykXiL1HabQ1PRkAd4YqAamggSk4munOn1dtoa44cOaJvCVrBV53c51DL\n/+8//0xkYUFkY0M0fTpRbCzRmTNE9fWazqHlT30ONdJW+3Lsx2PJyMtI9Rx68+nOoSfR9drZbG25\nXE4SiYSkUinV1dWRi4sL/fHHHyp1Dhw4QK+//joREeXk5JCHh0eLbf/zn//Qxo0biYhow4YNtHTp\nUiIiOn/+PLm4uFBdXR1JpVKSSCTU8DgWb8iQIZSbm0tERK+//jqlpaVxdv5V0w40b2aoTjuBi3kz\nQ+lV0w7kbWLcJjZ9fFaQqcEacjfqRr1ExuRu1I1MDdaQr+9KZZ2tW4kyMoju6RCZqtDZ8bHOjk+t\nMzUjlfp4WJG7BNTLDOQuAVkNMiHnpc70ctTL5PCVA5VUlehsN+bjNTTeuhu9admZxlt3o5iP1+gu\nLjeXaPduoi++oBV2dsozfc0zCE98FqxZs0bfErSCzzpTUzPJ13cl9eo1inx9V2p9gW9oICouJoqL\nI5o1i8jenmjVKsV5yRHlqnJetlanj88K6tVrFPn4rHhqR+QT5qPiNBoX39k8DMc9efIk7O3t0bt3\nbwBAUFAQkpOT4eDgoKyTkpKC0McZQj08PHDnzh3cuHEDUqlUY9uUlBRkZmYCAEJDQ+Hl5YUNGzYg\nOTkZ06dPh6GhIXr37g17e3vk5uaiV69euH//PoYOHQoACAkJQVJSEsaPH6+mOfvBI7y1dyfmA/h6\n5/ZWPYXNDwnDnb07kV3398v5Rptbt2/HvXuKj9N37yp+OjoqUnk0Zd06xfTTd+4Al84dg58wG3vr\n5IgEEIlavGW4HucvDlfWX7BAN52frovEw327kf3w70f44H278Wnf3liyMlKt/snyk7hSdQX3au8p\nl7u1dzFn0BwMtBwIAIjeuAqDim9gbxUUOu8Ab3V5iAvZD1CSXoKuHbvqJhKKV0pV2+ORVn5bWbZi\nezyyTM3wmqWl4oPNrVuKpbJSkQ2UKxfU/v1ASQnQvTtEGgYrsQio9k1j0sTIyEhERkZq3U4gAPr0\nUSyN01vU1wPe3tyXwOPHDeDpqRg027mz4ufMmdyJQSsrFXEXZmZAhw5No78icfVq5FNHf1XcrgR6\nq5dfv3WzVfaelmYdR3l5OWxsbJTrYrEYubm5LdYpLy/H9evXNba9efMmLC0tAQCWlpa4eVPR+evX\nr2PYsGFqtgwNDSEWi5Xl1tbWKC8v16h7bx3h7T078X3xBRABPRd8iPGzAtTqxQa9C4OLpwAo7jNA\niu+4ly7k49c6UrP5ZkI8Nh4rgoEBFIsIEBkAdxd+CP/5gWr2+1XOh6OoEAaWQMKZPOyWNbEpk2NE\n5d/ZBjPWhqLuTAGICEQNIBAaiPDKe6vgMvZtNfu50VH4v4eq733jH8rxxuZPOR3HjS2foNPZ8+gu\nNISx0AhGBkYwEhqha0Qp8NhxGP9Zgr1VTfZnFRD+exm6Bs9VZEpcuhQYPlzNPhYvBtLTAZlMUe/x\nz4yePbnHR/z3v3jNzU3hdS0sgEGDFL9rehn9ySfKX+UXLiicSBNYBBRDWwwMNH83cXGpx/r1f98c\n3r0LvPQSt52YGGDnTkU9ACDKgEzGNWXuKkyY8Bo+/xzIylJsXyj8++e77wIjR6rb37kTuHj+LuCm\n/reKq/d06XLb0dzjSGJiIs2ZM0e5vmvXLnrvvfdU6kycOJGOHz+uXPf29qa8vDy1tjt37qT333+f\niIjMzMxUbHTp0oWIiN577z2Kj49Xlr/zzjuUmJhIeXl5NHbsWGV5VlYWTZw4UU0vFNd9trCFLWxh\ni46LLjT7xGFtbY2ysjLlellZmcqdP1eda9euQSwWQyaTqZVbP07Cb2lpiRs3bsDKygoVFRWwsLBo\n1pa1tTWuXbvGaetJiOWpYjAYjGdOswMA3d3dcfHiRZSUlKCurg579+6Ff5N0lf7+/ti5UzGQKycn\nB2ZmZrC0tGy2rb+/P3bs2AEA2LFjByZNmqQs37NnD+rq6iCVSnHx4kUMHToUVlZW6NSpE3Jzc0FE\n2LVrl7INg8FgMJ4zLT2SHDx4kPr27UsSiYSioqKIiGjbtm20bds2ZZ2FCxeSRCIhZ2dnys/Pb7Yt\nkSIc19vbmzMcd/369SSRSKhfv370888/K8sbw3ElEonylReDwWAwnj/8HfigI9qMN9E3paWl5OXl\nRY6OjjRgwADavHmzviVpRC6Xk6urK+e3JL5QVVVFkydPpv79+5ODgwOdOHFC35I4iYqKIkdHR3Jy\ncqLp06fTo0eP9C2JiIhmzZpFFhYW5OTkpCxrboyVvuDSuWTJEurfvz85OztTQEAA3eHBeB0unY18\n+umnJBAI6Pbt23pQpoomnV9++SX179+fBgwYQB9++GGzNtqF49BmvAkfqKiooMLCQiIiun//PvXt\n25eXOomINm3aRDNmzKA33nhD31I0EhISQnFxcUREJJPJeHHxaIpUKiU7Ozuls5g2bRpt375dz6oU\nZGVlUUFBgcoFRNMYK33CpTMjI4Pq6+uJiGjp0qW81UmkuGH09fWl3r1788JxcOk8fPgwjR07lurq\nFIN7Kysrm7XRLpIcPjnexNDQUDlmhG9YWVnB1dUVAGBqagoHBwdcv35dz6rUuXbtGg4ePIg5c+bw\nNuDg7t27OHbsGGY/DsoXiUTo3LmznlWp06lTJxgaGqK6uhpyuRzV1dWcgR36wNPTE126dFEpe3Jc\nVmhoKJJ4kPyJS+e4ceMgFCouXx4eHirBM/qCSycAfPDBB4iOjtaDIm64dG7duhXLli2DoaEhAKA7\n18C0J2gXjkPTWBI+U1JSgsLCQnhoyMiqTxYvXoyYmBjliclHpFIpunfvjlmzZmHw4MGYO3cuqqur\n9S1Lja5du+Lf//43bG1t0bNnT5iZmWHs2LH6lqURTWOs+Mx3330HPz+epOdvQnJyMsRiMZyd9Tuz\nZUtcvHgRWVlZGDZsGLy8vJCXl9dsff5eGXSguSkX+ciDBw8wZcoUbN68GaampvqWo0JqaiosLCww\naNAg3j5tAIBcLkdBQQHCw8NRUFAAExMTbNiwQd+y1Lh8+TK++OILlJSU4Pr163jw4AF2796tb1la\nIRAIeH9urV+/HkZGRpgxY4a+pahRXV2NqKgorF27VlnG13NKLpejqqoKOTk5iImJwbRp05qt3y4c\nhzbjTfiCTCbD5MmTERwczMuQ4uzsbKSkpMDOzg7Tp0/H4cOHEdJ0GjYeIBaLIRaLMeRxapIpU6ag\noKBAz6rUycvLw/Dhw9GtWzeIRCIEBgYiOztb37I00jjGCoDKGCs+sn37dhw8eJC3jvjy5csoKSmB\ni4sL7OzscO3aNbi5uaGyslLf0tQQi8UIDFRkvxgyZAiEQiFu376tsX67cBzajDfhA0SEd955B46O\njli0aJG+5XASFRWFsrIySKVS7NmzB2PGjFGO0+ETVlZWsLGxQXFxMQDg0KFDGDBggJ5VqdO/f3/k\n5OSgpqYGRIRDhw7B0dFR37I0ommMFd/4+eefERMTg+TkZHTgaZqZgQMH4ubNm5BKpZBKpRCLxSgo\nKOClM540aRIOHz4MACguLkZdXR26deumucGz+nL/vNE0ZoRPHDt2jAQCAbm4uJCrqyu5urpyZvnl\nC0ePHuV1VNWpU6fI3d2dVyGZXGzcuFEZjhsSEqKMXNE3QUFB1KNHDzI0NCSxWEzfffdds2Os+KIz\nLi6O7O3tydbWVnkevfvuu/qWqdRpZGSk3J9PYmdnx4uoKi6ddXV1FBwcTE5OTjR48OAW08ELiHj6\n0o3BYDAYvKRdvKpiMBgMxvODOQ4Gg8Fg6ARzHAwGg8HQCeY4GAwGg6ETzHEwGAwGQyeY42AwGAyG\nTjDHwQAANDQ0wNnZWWUUbkJCgnIw2JOEhYUpR2y3V/jex48++gjW1tYwMDBQJnr8p9H0GLXVMTt3\n7hyEQiGysrKUZREREZg1a9ZT224vMMfBAADEx8ejpqZGJedPQkICtm/fzlmf7zmM2gK+9jEvLw+R\nkZGIiIhAdnY2Vq1apW9JeqPpMXpWx2zp0qXYu3cv/vzzz2di/0WDOQ4GAODzzz9HWFgYby+W7Yn6\n+nrIZLJWty8qKgIAhIeHw8PDA3Z2dm0lTa+0Zr80Hb/8rMYzW1tbw9vbG1u2bHkm9l80mONg4PTp\n0zh9+jSmTp2qLAsLC8O+ffuQmZkJoVAIoVCIjz76SPl3IsIvv/wCZ2dnmJqawtPTE3/88YeK3WPH\njmHUqFEwMTGBubk55s2bhwcPHjSrpfF1Q0u2vby8VPQCwNGjRyEUCpV1G20dOHAAjo6OMDExwYQJ\nE1BVVYWioiJ4eXnB1NQUQ4YMwdmzZ9W0EBGSkpLQv39/dOzYEZ6enmp3nNr0sVFHUlISBgwYgI4d\nO+LkyZOc/U9ISMDAgQPRoUMH2NraYuXKlaivr1ex1Zh0snPnzmqvVFpjT5v9rU0/z58/j/Hjx6Nb\nt24wNTWFo6MjYmNjNWprbr+0pFtbtNEdGxsLGxsbmJqawt/fHxUVFZy2pkyZgh9//BFyuVxnHe2O\nZ50XhcF/PvvsM+rWrZtK2eXLl2nMmDHk5uZGubm5lJubS+Xl5UREFBoaShYWFuTq6koJCQmUkpJC\nffv2VZlR7Pjx42RkZERBQUGUlpZGu3btImtra5oyZUqzWsLCwlq0TUTk5eVFU6dOVSk7cuQICQQC\nOn/+vIpOd3d32r9/P8XHx1OXLl1o0qRJ5OLiQt988w2lpaWRq6srOTo6qtgKDQ2l7t270yuvvEI/\n/PAD7du3jwYOHEg2NjbK2fy07WNYWBiZm5tT3759affu3fTrr7/StWvX1Pqenp5OAoGAwsLCKD09\nnaKjo8nY2JgWLFigclxWrVpFAoGAjh49Srm5uXTv3j3OfamNPW32t7b9tLOzo4kTJ1JaWhodPnyY\nYmNjlbMJcqFpv2iju/EYubu7a1zXRndSUhIJBAIKDw+njIwMWr58OYnFYhIIBJSZmamyvaKiIhII\nBLydovh5whwHj6mvr6d169ZRYGAgnTp1ij7//HPatm0bBQYGUlFREX399de0detWmjFjBuXn57d6\nOyEhITRy5Ei18smTJ9Po0aPVykNDQ0kkEtGlS5eUZY0n4IULF4iIaOTIkTRmzBiVdocPH1a5sHOh\njW0iolGjRmnlOEQiEV25ckVZ58MPPySBQEC7du1Slh08eJAEAgEVFRWp6Gh6kbh69SqJRCL6+uuv\nW+zjuXPn1GydPn1aY7+JiDw8PNTsRUdHk4GBgYqj+f7770kgENDDhw9bbe/Jm4CnOZaN/bx165Za\nv1tC037Rdj+05Di0+R8cMmQI+fn5qdSZO3cup+NoaGggIyMjio2N1bqP7RX2qorH/PTTTwgODsbL\nL7+MRYsWYcGCBZg/fz5eeeUVzJw5EwEBAViwYAE8PT3x/ffft3o7t27dQteuXXVqY2dnB4lEolx3\ncHAAoJh2trq6Gjk5OZg6dSrkcrlyGTFiBAwNDVucXaw527piZ2en8g2g0e6YMWPUyprOGmlpaYlh\nw4Yp121tbeHm5oaTJ0+ipqam2T7m5+er2GppFrj6+noUFhaqvX6bNm0aGhoakJOTo1O/W7J34sQJ\nZdnTHMvGfnbt2hU2NjaYP38+EhIStJ5zoul+aav9oI1uuVyOwsJCvPnmmyptAwICOG0KBAJ07dqV\nl/NpPG+Y4+AxVlZW6NWrF37//XesXr1aOe9ASUkJwsLClPMCl5aWqs0hvHr1apSWlmq9LdLxo6KZ\nmZnKupGREQDg0aNHqKqqQn19PcLDw2FkZKRcOnToALlc3qIDaM62rmiy9WS5Jvtc8y53794dFRUV\nOvexcTpWTfz111+QyWRq9RrX//e//zXb/mnstcWxFAqFyMjIgJWVFWbPno0ePXrgtddew6lTp5rV\n2VRfW+2HlnSXlZXhr7/+Qn19vdr8GM3Nl6HredJeEelbAEMzHh4euHXrFqRSKUaOHKksP3HihMqH\n6vT0dGzatAkA8PDhQ8TFxeGHH37AnDlztNqOpaUlLly4oJO25k4gMzMzCAQCrF27lnMu6B49erTa\ndiMdO3ZEbW2tSllVVVWrbGmC686ysrISAwcOfOo+NsXc3ByGhoZq22yc81vXJ0Jd7LXVsezXrx8S\nExNRX1+PrKwsLF26FBMmTFB7kmsr3c3Rku6ePXvC3NwcBgYGatvS9ERBRKiqquLlREzPG/bEwXOy\nsrLg4eEBQ0NDAMClS5dQW1urfJ1QXFyMsrIyjBo1CtnZ2TAxMUFERARsbGy03oarqytnfLqRkRFq\namo42zQXtmtiYoJhw4ahqKgIgwcPVltauqhqExIsFouVYamNZGRktMqWJiorK1Ve6ZSWlqKw2Jur\n7AAAA2BJREFUsBBDhw7FSy+9pFMfW9JhYGAANzc3JCQkqJQnJCRAKBTi1Vdf1Um7Lvba+lgaGBhg\n9OjRWLx4MSoqKnDnzh2N9ptuu632Q0u6raysIBKJMGjQICQlJam03bdvH6fN4uJiyGQyDBo0SCsN\n7Rn2xMFzMjMzMWrUKOV6VlYWPD09letpaWkYP348qqurkZ+fj+HDh+u8DW9vbyxevBjnz59XmX7V\nwcEBKSkpSE5OhrW1NaytrZUXipbu5KOjo+Ht7Q2hUIjJkyfj5ZdfRmlpKQ4ePIj169ejT58+Gttq\n85QQEBCAuLg4fPDBB/Dz88ORI0eQnp7eKluaMDc3R3BwMNatW4cOHTpgzZo1sLS0RFhYmM591EbH\n2rVr4evri9mzZ+Ott97C2bNnsXr1asybNw89e/bUWb+29triWJ45cwZLlixBUFAQ7OzsUFVVhY0b\nN8LV1VXtVdiTcG27rfaDNrqXL1+OwMBAhIeHY9KkScjMzOT8PwIUT/qdOnWCu7u71hraK+yJg+dc\nuXIFEyZMUK4XFxerzKfu6ekJmUyG2NhYrV9NNcXJyQmDBw9GYmKiSnl4eDh8fHwwe/ZsDB06FN9+\n+y0AxV0i113qk2UjRoxAVlYWbt26hZCQEPj7+yMmJga2trbNvu/XxjYA+Pn5ISoqComJiQgMDERZ\nWRk2b96sUk9bW1xlAoEAvXv3xqZNmxAZGYnp06ejc+fOSE9PV34D0LaPmnQ0Zdy4cdizZw/y8vLg\n7++PL7/8EkuWLMFXX32lVR9aY6+tjmWPHj1gZWWF9evXw8/PDwsXLsSAAQOQkpKiUZ+mbWu7H5q2\nb7quje5JkyZhy5Yt+OmnnxAQEIDTp08jLi6OU1diYiJmzJgBkYjdb7OpY9spo0ePxo4dO2Bra6tV\n/fj4eKxZswbFxcUwMDB4xuoYjBeL8vJy9OnTB/n5+crXxP9k2BNHO0aXe4K3334bpqam+PHHH5+h\nIgbjxSQmJgZBQUHMaTyGPXG0M2QyGbZt24aNGzciKCgIs2bNUvluwWAwGE8LcxwMBoPB0An2qorB\nYDAYOsEcB4PBYDB0gjkOBoPBYOgEcxwMBoPB0AnmOBgMBoOhE8xxMBgMBkMnmONgMBgMhk4wx8Fg\nMBgMnWCOg8FgMBg68f/+Mgti72RtrQAAAABJRU5ErkJggg==\n" } ], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": {}, "source": [ "And we can plot the distribution over a magical 3-sided die in 2D with a colourmap (only showing two variables on the axes, since the third can be inferred as they sum to N)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "N = 50\n", "ms = arange(N+1)\n", "\n", "# default to NaN (so white background for region where sum>N)\n", "o = ones((N+1,N+1)) * NaN\n", "\n", "for m1 in ms:\n", " for m2 in arange((N-m1)+1):\n", " m3 = N - m1 - m2\n", " assert (m1 + m2 + m3) == N\n", " assert (m3 >= 0)\n", " o[m2,m1] = multinomialpmf([m1,m2,m3],[2,1,1])\n", " \n", "imshow(o, origin='lower')\n", "xlabel(\"number of ones\")\n", "ylabel(\"number of twos\")\n", "colorbar()\n", "title('pmf of \"three sided\" die with weights [2,1,1]')" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 15, "text": [ "" ] }, { "output_type": "display_data", "png": "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\n" } ], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 15 } ], "metadata": {} } ] }