{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Markov chain modeling\n", "\n", "In this tutorial, we implement a Markov chain model that allows for different orders. We demonstrate the model on human navigation data derived from Wikispeedia." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Markov chain model\n", "\n", "First, we implement the model" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# further implementation can be found at https://github.com/psinger/PathTools\n", "\n", "from __future__ import division\n", "\n", "import itertools\n", "from scipy.sparse import csr_matrix\n", "from scipy.special import gammaln\n", "from scipy.stats import chi2\n", "from collections import defaultdict\n", "from sklearn.preprocessing import normalize\n", "import numpy as np\n", "\n", "class MarkovChain():\n", " \"\"\"\n", " Markov Chain Model\n", " \"\"\"\n", "\n", " # dummy constant for our reset state\n", " RESET_STATE = \"-1\"\n", "\n", " def __init__(self, order=1, reset=True):\n", " \"\"\"\n", " Constructor for class MarkovChain\n", " \n", " Args:\n", " order: Order of Markov Chain model\n", " reset: Boolean for using additional reset states\n", " \"\"\"\n", " self.order = order\n", " self.reset = reset\n", "\n", " def fit(self,sequences):\n", " \"\"\"\n", " Function for fitting the Markov Chain model given data\n", " \n", " Args:\n", " sequences: Data of sequences, list of lists\n", " \"\"\"\n", " \n", " # first, we derive all basic states from given sequences\n", " states = set(itertools.chain.from_iterable(sequences))\n", " self.state_count = len(states)\n", " if self.reset:\n", " self.state_count += 1\n", "\n", " # dictionary of dictionaries for counting transitions between states\n", " transitions = defaultdict(lambda : defaultdict(float))\n", "\n", " # remember all start and target states that we observe\n", " # this is just necessary for memory saving reasons\n", " start_states = set()\n", " target_states = set()\n", "\n", " # iterate through sequences\n", " for seq in sequences:\n", " i = 0\n", " # Prepend and append correct amount of reset states if flag set\n", " if self.reset:\n", " seq = self.order*[self.RESET_STATE] + seq + [self.RESET_STATE]\n", " # iterate through elements of a sequence\n", " for j in xrange(self.order, len(seq)):\n", " # start state based on order\n", " elemA = tuple(seq[i:j])\n", " # target state based on order\n", " elemB = tuple(seq[j-self.order+1:j+1])\n", " i += 1\n", "\n", " # increase transition count\n", " transitions[elemA][elemB] += 1\n", "\n", " # remember start and target states\n", " start_states.add(elemA)\n", " target_states.add(elemB)\n", "\n", " # build vocabularies for mapping states to indices\n", " self.start_vocab = dict((v,k) for k,v in enumerate(start_states))\n", " self.target_vocab = dict((v,k) for k,v in enumerate(target_states))\n", "\n", " # transform transition dictionary of dictionaries to sparse csr_matrix\n", " i_indices = []\n", " j_indices = []\n", " values = []\n", "\n", " for s,ts in transitions.iteritems():\n", " for t,c in ts.iteritems():\n", " i_indices.append(self.start_vocab[s])\n", " j_indices.append(self.target_vocab[t])\n", " values.append(c)\n", " shape = (len(start_states), len(target_states))\n", " self.transitions = csr_matrix((values, (i_indices, j_indices)),\n", " shape=shape)\n", "\n", " #print \"fit done\"\n", "\n", " def loglikelihood(self):\n", " \"\"\"\n", " Returns the loglikelihood given fitted model\n", " \n", " Returns:\n", " loglikelihood\n", " \"\"\"\n", " \n", " # get mle by row-normalizing transition matrix\n", " self.mle = normalize(self.transitions,norm=\"l1\",axis=1)\n", " # log mle\n", " mle_log = self.mle.copy()\n", " mle_log.data = np.log(mle_log.data)\n", " return self.transitions.multiply(mle_log).sum()\n", "\n", " @staticmethod\n", " def lrt(ln, pn, lt, pt):\n", " \"\"\"\n", " Performs a likelihood ratio test given a null and alternative model\n", " \n", " Args:\n", " ln: loglikelihood of null model\n", " pn: nr. of parameters of null model\n", " lt: loglikelihood of alternative model\n", " pt: nr. of parameters of alternative model\n", " Returns:\n", " lr: log-likelihood ratio\n", " p_val: p value\n", " \"\"\"\n", " \n", " # likelihood ratio\n", " lr = float(-2*(ln-lt))\n", " # degrees of freedom\n", " dof = float(pt - pn)\n", " # chi2 test\n", " p_val = chi2.sf(lr,dof)\n", " return lr, p_val\n", "\n", " def aic(self):\n", " \"\"\"\n", " Determines the AIC given fitted model\n", " \n", " Returns:\n", " aic\n", " \"\"\"\n", " ll = self.loglikelihood()\n", " # parameter count of model\n", " para = self.state_count**self.order*(self.state_count-1)\n", " return 2*para - 2*ll\n", "\n", " def bic(self):\n", " \"\"\"\n", " Determines the BIC given fitted model\n", " \n", " Returns:\n", " bic\n", " \"\"\"\n", " ll = self.loglikelihood()\n", " # parameter count of model\n", " para = self.state_count**self.order*(self.state_count-1)\n", " return para*np.log(self.transitions.sum()) - 2*ll\n", "\n", " def evidence(self, prior=1.):\n", " \"\"\"\n", " Determines Bayesian evidence given fitted model\n", " \n", " Args:\n", " prior: Dirichlet prior parameter (symmetric)\n", " Returns:\n", " evidence\n", " \"\"\"\n", "\n", " i_dim, j_dim = self.transitions.shape\n", "\n", " # elegantly calculate evidence\n", " evidence = 0\n", " evidence += i_dim * gammaln(self.state_count*prior)\n", " evidence -= gammaln(self.transitions.sum(axis=1)+self.state_count*prior).sum()\n", " evidence += gammaln(self.transitions.data+prior).sum()\n", " evidence -= len(self.transitions.data) * gammaln(prior)\n", "\n", " return evidence" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## Slides example\n", "\n", "For a first demonstration, we present the example from the slides consisting of blue and yellow states." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Data" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "sequences = [[\"b\",\"b\",\"b\",\"y\",\"y\",\"b\",\"y\",\"b\",\"b\",\"b\",\"b\"]]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Fitting\n", "\n", "We fit both a first and second order model and print the transition matrices." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "First-order model\n", "[[ 1. 2. 0.]\n", " [ 2. 5. 1.]\n", " [ 0. 1. 0.]]\n", "---------\n", "Second-order model\n", "[[ 0. 0. 0. 0. 1. 1.]\n", " [ 1. 3. 0. 1. 0. 0.]\n", " [ 0. 1. 0. 0. 0. 0.]\n", " [ 0. 0. 1. 0. 0. 0.]\n", " [ 1. 1. 0. 0. 0. 0.]\n", " [ 0. 0. 0. 0. 1. 0.]]\n" ] } ], "source": [ "print \"First-order model\"\n", "mc1 = MarkovChain(reset=True, order=1)\n", "mc1.fit(sequences)\n", "print mc1.transitions.todense()\n", "\n", "print \"---------\"\n", "print \"Second-order model\"\n", "mc2 = MarkovChain(reset=True, order=2)\n", "mc2.fit(sequences)\n", "print mc2.transitions.todense()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Model selection\n", "\n", "Next, let us compare the two models." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "First-order model\n", "Log-likelihood: -9.11159091503\n", "Evidence: -13.4304361395\n", "AIC: 30.2231818301\n", "BIC: 33.1326217288\n", "---------\n", "Second-order model\n", "Log-likelihood: -7.52394141841\n", "Evidence: -14.3059048769\n", "AIC: 51.0478828368\n", "BIC: 59.776202533\n" ] } ], "source": [ "\n", "print \"First-order model\"\n", "print \"Log-likelihood:\", mc1.loglikelihood()\n", "print \"Evidence:\", mc1.evidence()\n", "print \"AIC:\", mc1.aic()\n", "print \"BIC:\", mc1.bic()\n", "\n", "print \"---------\"\n", "print \"Second-order model\"\n", "\n", "print \"Log-likelihood:\", mc2.loglikelihood()\n", "print \"Evidence:\", mc2.evidence()\n", "print \"AIC:\", mc2.aic()\n", "print \"BIC:\", mc2.bic()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The simpler, first-order model is to be preferred." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Synthetic example\n", "\n", "Now, let us generate synthetic data with given memory. We always start with the state \"A\" and add additional \"B\" states based on a given memory. Then, we repeat this process 1000 times. For example, for a simple Markovian first-order process, we would produce \"ABABABAB...\". For a third-order process we would produce \"ABBBABBB...\". Then, the model comparison criteria correctly determine corresponding Markov chain model as the most appropriate ones." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAEKCAYAAADjDHn2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAH3xJREFUeJzt3XmcVOWd7/HPNyoa4x4XElCDCwbjigZNNKEmirjcKMaN\n8eaFSYjecddknBujM5A7yzXe67WRGByjiJhEgiYqRkSJWs41AcVRFEWlxwgDRKIR2zUqy2/+OKdJ\n2XZ3dXdV9TlV9X2/XvXi1HNOPfXlEfvXz1kVEZiZmXXnY1kHMDOz/HOxMDOzslwszMysLBcLMzMr\ny8XCzMzKcrEwM7OyXCysYUhaL+ktSf+YdZYsSJoo6W1J6yT5/22rKv+DskYSwH4R8fcAknaV9FLH\njSQVJa2WtEmH9pskjevJF0l6SNKX0+UJkj6Q9Gb6elbS10q2HSnpoR72e4akm0ryry/p92VJ10ra\nqGT7lyTtAhARE4HP9eR7zHrLxcIaidJXqQ9ddSppV+BwYD1wfBW/e0ZEbBURWwEXAz+VtENXOcqI\nDstbp/3uC3wBOLfitGa95GJhzWYcMA+YBnyjw7q+/kD/8IqI+4G3gN17ma0rSvv9EzAX2LsnOcyq\naeOsA5jVSkQsA3br0DwO+L/AAmC+pB0i4tV0+2/1ou+vdLVO0nHAJsDidNuHgS6379DvzcDNHbtM\n+/00MBq4umT7jn8/s5rwzMKahqTDgV2AmRHxBPAfwOlV6v609DjI28CdwL9ExJtV6FfAq5JeB5YD\nbwO/rEK/Zr3iYmHNZBxwf0S8nr6/FTijSn3/IiK2i4gtSHY/nSHpzCr0G8AnI2JbYHPgd8D9VejX\nrFdcLKwpSNoMOBUYmZ5V9DJwEbC/pH2r+V0R8Z/AvcBXq9Rl+zGL90mOtRwqabsq9W3WIy4W1ixO\nBNYCw4D909cw4P/Tyeyi5LTVXXrY/4azsCQNBo4Gnul0w+S023/oRb/txyw2JZkdvRwRq3v4ebOq\ncLGwZjEOmBoRKyPilfYXcC1weicXse0MLAVW9rD/U9uvhwAeJSlC/6uLbXcGHulhvwG8nvb7MnAI\n3Z/y29npw2YVU94efiTpaKCFpJDdGBE/zDiS1QlJ7wLvA9dExIQK+7oMeCUiflKVcH/pdxDJ8Y3D\nq9lv2vc/AN8hORNri8jb/9xW13JVLNLf7pYARwB/IDm9cWxEPJ9pMDOzJpe33VAjgNaIWBYRa4AZ\nwAkZZzIza3p5KxaDSM4lb7cibTMzswzlrViYmVkO5e12HytJrrBtN5hOzkaRlJ8DLWZmdSQi+nS2\nXN5mFguAPdJz3AcAY4FZnW0YEbl/TZgwIfMMzumMzumc7a9K5KpYRMQ64DyS2xk8S3Lb5+eyTdXY\n2trauO+222hra8s6ipnlWK6KBUBEzImIvSJiz4i4Ius8jaytrY3vjxrFiMWL+f6oUS4YZtal3BWL\nRlIoFLKO0KX2QvHPjz/OicA/P/547gtGnsezXT1kBOestnrJWYlcXZTXU5KiHnPnRWmh2Lak/XXg\nb/c9mPOnz2XrrbcBQOmhsJ7+2ZfPZPXZSr/PrN5IIvp4gNvFogl999RTOe+22xjSybqXgKM3P4UP\ndpxJ+xB39Wd362r52ay+vyt5L4r1Wozr5bP1lPXOO10srBe6m1lcdvDB/MvcuWyzzTZZxasL9VLg\nsiys9ZK1mf6eJ53kYmG91NbWxsm7juK2N5OC4UJh1vgq2Q3lA9xNatWqbXhqwFwuHX4wL+FCYWbd\n88yiSZ1zDmy/PXznO23841ln8ffXX+9CYdbgfIDbemX1ath9d1i8GD71qazTmFl/8W4o65UbboDj\nj3ehMLOe88yiyaxZk8wq7rwThg/POo2Z9SfPLKzHfvUrGDLEhcLMesfFosm0tMBFF2WdwszqjYtF\nE5k/H1atSo5XmJn1hotFE5k0CS64ADbaKOskZlZvfIC7SaxYAfvtB0uXwlZbZZ3GzLLgA9xW1rXX\nwrhxLhRm1jeeWTSBd96Bz3wmOWax++5ZpzGzrHhmYd265RY47DAXCjPru42zDmC1tX59cmB7ypSs\nk5hZPavZzELSlZKek7RQ0i8lbVWy7lJJren6o0rah0t6WtISSS21ytZM7r8fNt0URo7MOomZ1bNa\n7oa6H/hcRBwAtAKXAkjaGzgVGAYcA/xY2vDspynA+IgYCgyVNLqG+ZpCSwtcfLEfB2pmlalZsYiI\n30TE+vTtfGBwunw8MCMi1kbEUpJCMkLSQGDLiFiQbjcdGFOrfM1g8WJYuBDGjs06iZnVu/46wP0t\nYHa6PAhYXrJuZdo2CFhR0r4ibbM+mjQJzj472Q1lZlaJig5wS5oL7FTaBARwWUTcnW5zGbAmIm6t\n5Lusd157DWbOhOefzzqJmTWCiopFRIzqbr2kbwDHAl8paV4J7FzyfnDa1lV7pyZOnLhhuVAoUCgU\neha6SVx/PYwZAzvtVH5bM2tMxWKRYrFYlb5qdlGepKOBq4AvR8RrJe17Az8DDiHZzTQX2DMiQtJ8\n4AJgAXAPcE1EzOmkb1+U1401a5LbkN9zD+y/f9ZpzCwvKrkor5bXWUwGBgBz05Od5kfEORGxWNJM\nYDGwBjin5Cf/ucA0YDNgdmeFwsq7/XYYOtSFwsyqx7f7aDARcMghcPnlvhW5mX2Yb/dhG8ybB6tX\nw3HHZZ3EzBqJi0WDaWnxMyvMrPq8G6qBLFuWPFt76VLYcsus05hZ3ng3lAHJMyvOOMOFwsyqzzOL\nBvH228kzKxYsSE6bNTPryDMLY/r05M6yLhRmVgueWTSA9eth2DC44Qb40peyTmNmeeWZRZO7917Y\nYgs4/PCsk5hZo3KxaAAtLXDRRX5mhZnVjndD1blnnoGjjkpOlx0wIOs0ZpZn3g3VxCZNgnPOcaEw\ns9ryzKKOvfpqcsPAJUtghx2yTmNmeeeZRZO6/no46SQXCjOrPc8s6tQHHyQX4d13H+y7b9ZpzKwe\neGbRhGbOhL33dqEws/7hYlGHIuDqq5PTZc3M+oOLRR367W/hrbfg2GOzTmJmzcLFog61tMCFF8LH\n/F/PzPqJD3DXmaVL4eCDkz+32CLrNGZWT3J9gFvSdyWtl7RdSdulklolPSfpqJL24ZKelrREUkut\ns9WjyZPhm990oTCz/rVxLTuXNBgYBSwraRsGnAoMAwYDv5G0ZzpVmAKMj4gFkmZLGh0R99UyYz15\n6y2YNg2eeCLrJGbWbGo9s7gauKRD2wnAjIhYGxFLgVZghKSBwJYRsSDdbjowpsb56sq0afCVr8Cu\nu2adxMyaTc1mFpKOB5ZHxCJ9+Haog4B5Je9Xpm1rgRUl7SvSdiN5ZsWkSXDzzVknMbNmVFGxkDQX\n2Km0CQjgcuD7JLugamLixIkblguFAoVCoVZflQv33APbbQdf/GLWScysXhSLRYrFYlX6qsnZUJL2\nAX4DvEtSQAaTzCBGAN8CiIgr0m3nABNIjms8FBHD0vaxwMiIOLuT/pvubKgjjoDx4+H007NOYmb1\nKndnQ0XEMxExMCJ2i4ghJLuUDoyIV4BZwGmSBkgaAuwBPBYRq4A3JI1Qst9qHHBXLfLVm6eeguef\nh5NPzjqJmTWrmp4NVSJIZhhExGJJM4HFwBrgnJJpwrnANGAzYHZEzOmnfLk2aRKce66fWWFm2fFF\neTn3yiuw117Q2grbb591GjOrZ7nbDWXVc911cMopLhRmli3PLHLs/feTZ1Y88EByO3Izs0p4ZtGg\nfvEL2G8/Fwozy56LRU75mRVmlicuFjn1b/8Gf/4zjB6ddRIzMxeL3PIzK8wsT3yAO4d+/3sYMQKW\nLYNPfCLrNGbWKHyAu8FMngzf/rYLhZnlh2cWOfPmmzBkCCxcCDvvnHUaM2sknlk0kKlTYdQoFwoz\nyxfPLHJk3TrYc0/4+c/h0EOzTmNmjcYziwZx992w444uFGaWPy4WOdLS4ovwzCyfXCxy4skn4cUX\n4aSTsk5iZvZRLhY5MWkSnHcebLJJ1knMzD7KB7hzYNUqGDYsmVlst13WacysUfkAd52bMgXGjnWh\nMLP88swiY++9B7vuCsViMrswM6sVzyzq2K23wvDhLhRmlm81LRaSzpf0nKRFkq4oab9UUmu67qiS\n9uGSnpa0RFJLLbPlQURyuuzFF2edxMysexvXqmNJBeCrwL4RsVbS9mn7MOBUYBgwGPiNpD3T/UpT\ngPERsUDSbEmjI+K+WmXMWrEIa9Ykt/cwM8uzWs4szgauiIi1ABHxp7T9BGBGRKyNiKVAKzBC0kBg\ny4hYkG43HRhTw3yZa38Snvq0B9HMrP/UslgMBb4sab6khyQdlLYPApaXbLcybRsErChpX5G2NaTW\nVpg3D77+9ayTmJmVV9FuKElzgZ1Km4AALk/73jYiDpX0eeA2YLdKvq/UxIkTNywXCgUKhUK1uu4X\nkyfDmWfC5ptnncTMGlWxWKRYLFalr5qdOitpNvDDiHg4fd8KHAqcCRARV6Ttc4AJwDLgoYgYlraP\nBUZGxNmd9F3Xp862tcFuu8GiRTCoYedOZpY3eT119k7gKwCShgIDIuI1YBZwmqQBkoYAewCPRcQq\n4A1JIyQJGAfcVcN8mZk6FY45xoXCzOpHzc6GAm4CpkpaBLxP8sOfiFgsaSawGFgDnFMyTTgXmAZs\nBsyOiDk1zJeJtWvhmmtg5sysk5iZ9Zyv4O5nv/oVXHUV/Pa3WScxs2aT191Q1on202XNzOqJi0U/\nevxxWLYMTjwx6yRmZr3jYtGPJk2C88+HjWt5pMjMrAZ8zKKf/OEPsM8+yTMrtt026zRm1ox8zKIO\nTJkCp5/uQmFm9ckzi37w5z8nz6x45BEYOjTrNGbWrDyzyLmf/QxGjHChMLP65WJRY+3PrPDpsmZW\nz1wsauyBB5I/jzgi2xxmZpVwsaix9lmFn1lhZvXMB7hraMkS+NKXYOlS+PjHs05jZs3OB7hz6ppr\n4KyzXCjMrP55ZlEjr78Ou+8OzzwDn/501mnMzDyzyKUbboDjjnOhMLPG4JlFDaxdmzwJ74474KCD\nym9vZtYfPLPImTvuSK7YdqEws0bhYlEDLS1w8cVZpzAzqx4Xiyp77LHkDrMnnJB1EjOz6nGxqLKW\nluSZFRttlHUSM7PqqVmxkLS/pHmSnpT0mKSDS9ZdKqlV0nOSjippHy7paUlLJLXUKlutrFgBc+bA\n+PFZJzEzq65aziyuBCZExIHABOD/AEjaGzgVGAYcA/xY2nAzjCnA+IgYCgyVNLqG+aruxz+Gr38d\ntt466yRmZtVVywd8rgfaf2xuA6xMl48HZkTEWmCppFZghKRlwJYRsSDdbjowBrivhhmr5t134Sc/\ngXnzsk5iZlZ9tSwWFwP3SboKEPDFtH0QUPojdWXathZYUdK+Im2vCz/9KXzxi7DHHlknMTOrvoqK\nhaS5wE6lTUAAlwFHAhdGxJ2STgamAqMq+b5SEydO3LBcKBQoFArV6rrX2p9Zce21mUUwM/uIYrFI\nsVisSl81u4JbUltEbNPxvaTvARERP0zb55Ac01gGPBQRw9L2scDIiDi7k75zdQX3fffB3/0dLFzo\nW5GbWX7l9QrulZJGAkg6AmhN22cBYyUNkDQE2AN4LCJWAW9IGpEe8B4H3FXDfFXjZ1aYWaOr5TGL\nM4FrJG0EvAecBRARiyXNBBYDa4BzSqYJ5wLTgM2A2RExp4b5quK55+CJJ5JbfJiZNSrfSLBCZ58N\nO+4IP/hB1knMzLpXyW4oF4sKrF6dPLPiuedg4MCs05iZdS+vxywa3k9+ktwDyoXCzBqdZxZ9tGZN\n8syKWbPgwAMzjWJm1iOeWWTgl79MdkG5UJhZM3Cx6KP202XNzJqBi0UfzJ8Pr74KX/1q1knMzPqH\ni0UftLTABRf4mRVm1jx8gLuXli+HAw6Al16CrbbKJIKZWZ/4AHc/+tGPYNw4Fwozay6eWfTCO+/A\nrrsmz9nebbd+/3ozs4p4ZtFPpk+HL33JhcLMmk8tbyTYUNavh0mT4F//NeskZmb9zzOLHrrvPth8\nc/jyl7NOYmbW/1wsesjPrDCzZuYD3D3w7LNw5JGwdClsumm/fa2ZWVX5AHeNTZqUPLfChcLMmpVn\nFmX86U+w557wwgvJQ47MzOqVZxY1dP31cOKJLhRm1tw8s+jGBx/AkCFw772w3341/zozs5rKbGYh\n6WRJz0haJ2l4h3WXSmqV9Jyko0rah0t6WtISSS0l7QMkzUg/M0/SLpVkq4bbb4fPftaFwsys0t1Q\ni4ATgYdLGyUNA04FhgHHAD+WNpx0OgUYHxFDgaGSRqft44HVEbEn0AJcWWG2ikTA1Vf7mRVmZlBh\nsYiIFyKiFeg4rTkBmBERayNiKdAKjJA0ENgyIhak200HxpR85uZ0+XbgiEqyVep3v4PXX4fjjssy\nhZlZPtTqAPcgYHnJ+5Vp2yBgRUn7irTtQ5+JiHVAm6TtapSvrJYWuPBC+JhPATAzK39vKElzgZ1K\nm4AALouIu2sVjI/OVj5k4sSJG5YLhQKFQqFqX7xsGTz4IEydWrUuzcz6XbFYpFgsVqWvqpwNJekh\n4LsR8UT6/ntARMQP0/dzgAnAMuChiBiWto8FRkbE2e3bRMSjkjYCXo6ITk9YrfXZUJdcktw48Kqr\navYVZmb9Li/XWZQGmAWMTc9wGgLsATwWEauANySNSA94jwPuKvnMGenyKcCDVczWY2+/DTfdBOef\nn8W3m5nlU0W3KJc0BpgMbA/8WtLCiDgmIhZLmgksBtYA55RMBc4FpgGbAbMjYk7afiNwi6RW4DVg\nbCXZ+urmm6FQgM98JotvNzPLJ1+UV2L9+uS6iqlT4fDDq969mVmm8rIbqu7Nnp08W/uww7JOYmaW\nLy4WJfzMCjOzznk3VGrRIhg9OnlmxYABVe3azCwXvBuqCiZNgnPPdaEwM+uMZxbAq6/C0KGwZAns\nsEPVujUzyxXPLCp03XVw8skuFGZmXWn6mcX77yfXVMydC/vsU5UuzcxyyTOLCsycmRQJFwozs641\ndbHwMyvMzHqmqYvFI4/AO+/AMcdkncTMLN+aulj4mRVmZj3TtAe4X3oJPv/55CK8LbaoTi4zszzz\nAe4+mDwZvvUtFwozs55oypnFm28mp8suXAi77FK9XGZmeeaZRS9NmwZHHulCYWbWU003s1i3Dvba\nC265Bb7whSoHMzPLMc8seuGee+CTn4RDD806iZlZ/Wi6YtF+EZ6fWWFm1nNNVSwWLoTW1uSmgWZm\n1nMVFQtJJ0t6RtI6ScNL2o+U9LikpyQtkPRXJeuGS3pa0hJJLSXtAyTNkNQqaZ6kqh9+bn9mxSab\nVLtnM7PGVunMYhFwIvBwh/ZXgf8WEfsD3wBuKVk3BRgfEUOBoZJGp+3jgdURsSfQAlxZYbYP+eMf\n4c474ayzqtmrmVlzqKhYRMQLEdEKqEP7UxGxKl1+FthM0iaSBgJbRsSCdNPpwJh0+QTg5nT5duCI\nSrJ1dN11cNppycFtMzPrnY1r/QWSTgaeiIg1kgYBK0pWrwAGpcuDgOUAEbFOUpuk7SJidaUZ3n8f\npkyBBx+stCczs+ZUtlhImgvsVNoEBHBZRNxd5rOfA/43MKoP2bo9X2nixIkblguFAoVCocttb70V\nDjgA9t67DynMzOpUsVikWCxWpa+qXJQn6SHguxHxREnbYOAB4IyImJ+2DQQeiohh6fuxwMiIOFvS\nHGBCRDwqaSPg5YjYsYvv6/FFeRFw4IFwxRVw9NGV/C3NzOpbXi7K2xBA0tbAr4H/2V4oANLjGG9I\nGiFJwDjgrnT1LOCMdPkUoCo7jR5+ONkNddRR1ejNzKw5VTSzkDQGmAxsD7QBCyPiGEmXAd8D2g9+\nB3BURPxJ0kHANGAzYHZEXJj2tSnJWVMHAq8BYyNiaRff2+OZxZgxyYzib/6mz39NM7OGUMnMoqHv\nDfXii8ltPZYtg80374dgZmY5lpfdULkzeTJ8+9suFGZmlWrYmcUbb8CQIfD00zB4cD8FMzPLMc8s\nOjF1Kowe7UJhZlYNDTmzWLcO9tgDZsyAQw7px2BmZjnmmUUHs2bBwIEuFGZm1dKQxaKlBS6+OOsU\nZmaNo+GKxRNPwEsvwde+lnUSM7PG0XDFoqUFzjsPNq75LRLNzJpHQx3gfvnl5GaBL74I222XQTAz\nsxzzAe7UlCnw13/tQmFmVm0NM7N47z3YddfkxoGf/WxGwczMcswzC+DnP4eDDnKhMDOrhYYoFhE+\nXdbMrJYaolg8+GBy1faRR2adxMysMTVEsWhpgYsuAvVpT5yZmZVT9we4W1vhsMOSZ1Z8/OMZBzMz\ny7GmPsB9zTVw5pkuFGZmtVTXM4u2NthtN1i0CAYNyjqVmVm+ZTazkHSypGckrZM0vJP1u0h6S9J3\nStqGS3pa0hJJLSXtAyTNkNQqaZ6kXcp9/403wrHHulCYmdVapbuhFgEnAg93sf4qYHaHtinA+IgY\nCgyVNDptHw+sjog9gRbgyu6+eO3a5LGpF13U5+xmZtZDFRWLiHghIlqBj0xrJJ0A/B54tqRtILBl\nRCxIm6YDY9LlE4Cb0+XbgSO6++4770yegnfwwZX8DczMrCdqcoBb0ieAvwN+wIcLySBgRcn7FWlb\n+7rlABGxDmiT1OVdntpPlzUzs9oreyNvSXOBnUqbgAAui4i7u/jYRODqiHhXfb/4odsPLl8OY8Z0\nt4WZmVVL2WIREaP60O8hwEmSrgS2BdZJeg/4FbBzyXaDgZXp8sp03R8kbQRsFRGru/qCvfaayD/9\nU7JcKBQoFAp9iGlm1riKxSLFYrEqfVXl1FlJDwF/GxH/3sm6CcBbEfH/0vfzgQuABcA9wDURMUfS\nOcA+EXGOpLHAmIgY28X3xeuvB9tsU3F0M7OmkeWps2MkLQcOBX4t6d4efOxc4EZgCdAaEXPS9huB\n7SW1AhcB3+uuExcKM7P+U9cX5ZmZWc819e0+zMys9lwszMysLBcLMzMry8XCzMzKcrEwM7OyXCzM\nzKwsFwszMyvLxcLMzMpysTAzs7JcLMzMrCwXCzMzK8vFwszMynKxMDOzslwszMysLBcLMzMry8XC\nzMzKcrEwM7OyXCzMzKwsFwszMyuromIh6WRJz0haJ2l4h3X7Sfpduv4pSQPS9uGSnpa0RFJLyfYD\nJM2Q1CppnqRdKslmZmbVU+nMYhFwIvBwaaOkjYBbgLMiYh+gAKxJV08BxkfEUGCopNFp+3hgdUTs\nCbQAV1aYLXPFYjHrCD3inNVTDxnBOautXnJWoqJiEREvREQroA6rjgKeiohn0u1ej4iQNBDYMiIW\npNtNB8akyycAN6fLtwNHVJItD+rlH5BzVk89ZATnrLZ6yVmJWh2zGAogaY6kxyVdkrYPAlaUbLci\nbWtftxwgItYBbZK2q1E+MzPrhY3LbSBpLrBTaRMQwGURcXc3/R4GHAy8Bzwg6XHgzV5k6zhbMTOz\nrERExS/gIWB4yfvTgJtK3l8OfBcYCDxX0j4WmJIuzwEOSZc3Al7p5vvCL7/88suv3r/6+nO+7Myi\nF0pnAvcBl0jaDFgLjASuiohVkt6QNAJYAIwDrkk/Mws4A3gUOAV4sKsvigjPOszM+pHS39T79mFp\nDDAZ2B5oAxZGxDHputOB7wPrgXsi4tK0/SBgGrAZMDsiLkzbNyU5g+pA4DVgbEQs7XM4MzOrmoqK\nhZmZNYfcXsEt6UZJf5T0dDfbXJNexLdQ0gH9ma8kQ7c5JY2U1CbpifR1eX9nTHMMlvSgpGclLZJ0\nQRfbZTamPcmYh/GUtKmkRyU9meac0MV2mf777EnOPIxnSZaPpRlmdbE+D/+/d5kxZ2O5NL0Y+klJ\nj3WxTe/GsxoHuGvxAg4HDgCe7mL9MSS7twAOAebnNOdIYFYOxnMgcEC6vAXwAvDZPI1pDzPmZTw3\nT//cCJgPjMjTWPYiZy7GM81yMfDTzvLkaDy7y5insfw9sG0363s9nrmdWUTEI8Dr3WxyAslFfUTE\no8DWknbqZvua6EFOyMFpwBGxKiIWpstvA8/xl2tc2mU6pj3MCPkYz3fTxU1JThXvuD83L/8+y+WE\nHIynpMHAscANXWyS+Xj2ICPkYCxTovs9R70ez9wWix7YcBFfaiWd/2DJgy+kU717JO2ddRhJnyGZ\nDT3aYVVuxrSbjJCD8Ux3RzwJrALmxl/uStAuF2PZg5yQg/EErgYuofNiBvkYz3IZIR9jCUnGuZIW\nSDqzk/W9Hs96Lhb14t+BXSLiAOBHwJ1ZhpG0BcntVC5Mf3vPnTIZczGeEbE+Ig4EBgOH5OGXgM70\nIGfm4ynpOOCP6axS5Oe38w16mDHzsSxxWEQMJ5kJnSvp8Eo7rOdisRLYueT94LQtVyLi7fZdARFx\nL7BJVrcxkbQxyQ/hWyLirk42yXxMy2XM03imGd4kuSj16A6rMh/LUl3lzMl4HgYcL+n3wK3AX0ma\n3mGbrMezbMacjGV7lpfTP18F7gBGdNik1+OZ92LR3W8Zs0gu6kPSoUBbRPyxv4J10GXO0v2ASi5G\nVESs7q9gHUwFFkfEpC7W52FMu82Yh/GUtL2krdPljwOjgOc7bJb5WPYkZx7GMyK+HxG7RMRuJHd1\neDAixnXYLNPx7EnGPIxl+t2bp7NzJH2C5Mauz3TYrNfjWc0ruKtK0s9Jbm3+SUn/CUwABpBcrn59\nRMyWdKyk/wDeAb6Zx5zAyZLOJrlF+59JboWSRc7DgP8OLEr3YQfJRZO7kpMx7UlG8jGenwJulvQx\nkl+4fpGO3f8gJ2PZ05zkYzw7lcPx/IicjuVOwB2SguRn/M8i4v5Kx9MX5ZmZWVl53w1lZmY54GJh\nZmZluViYmVlZLhZmZlaWi4WZmZXlYmFmZmW5WJiZWVkuFmZmVtZ/Abtgl8i907ZMAAAAAElFTkSu\nQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\nTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAEKCAYAAADjDHn2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmYVMXZ9/HvLQqIARWMkIBojGBwBUQ0SnTighiNLFEE\njSjiiolm0UeRKEQlxuVVlCg+cUWi4E5QCYLKGJMIwQWIyjJGRQEFXmFQA5Fl7uePOoPtODM9M909\n53T373NdfXG6zunq2xLmnlN1qsrcHRERkdpsE3cAIiKSfEoWIiKSlpKFiIikpWQhIiJpKVmIiEha\nShYiIpKWkoU0OjOrMLPPzOzauGORujGzF8xsg5n9Ne5YJB5KFhIHBw5w96sAzGx3M3uv6kVmVmpm\na8xsuyrl95vZkLp8kZnNMrMjouNRZrbRzD6NXm+Z2YCUa480s1l1rPdMM7s/Jf6KlHo/MrM7zKxJ\nyvXvmVnHOtZdkXJcGv2Q/tTM1kbv90s5P8rMrq5jvVvbLYp/c0rM75jZBSnXfuX/ibsfDVxQTbVS\nJJQsJA4WvVJ9ZXaome0O9AIqgJOy+N2T3b2Vu7cCfgn8ycy+WVMcaXiV4x2jevcHvg9clHG0od7h\nUb2tgZeAiVmoF+AfKW1xMnCjmR1Y5btFACULSa4hwCvAA8BZVc419Af6V0+4zwA+A75bz9hqYlG9\n/x+YCexTlziqC62Geh2YDHRpYHy1tcU8YGEGdUuB2zbuAETcfSmwZ5XiIcDNwFxgtpl9091XR9ef\nXY+6j6rpnJmdAGwHvB1d+xJQ4/VV6p0ATKhaZVTvt4HjgFtTrq/631db3U2qKzezpsBPgdkp1/62\nHvXW2G5mdjDQCXg1ura6/ydSxJQsJHHMrBfQEXjU3dea2TvAacBtWaj+VDM7EWgKNANGuPunWajX\ngNVmZkArwl3RE1moF+B2M7sZaAFsAAakub6uvm9mawg/B3YA/uDu72Spbikw6oaSJBoCzHD3tdH7\nScCZWar7EXdv7e7fIHQ/nWlm52ahXgfauPvOhB/q/wBmZKFegIujmJsDPwaeSB3kzsArUb2tgHbA\nfmY2Jgv1SgFSspBEMbPmwEDgyOipoo+AXwAHmtn+2fwud/8A+AvhB3A2VI4tfEEYaznUzFpnqW6i\nuv8GvAP0znK9qwl3QtlqCykwShaSNP2BzYSB1gOjVxfgZaq5u0h5bLVOj6WS8hSWmXUA+gBvVnth\neOy2To+lkvKEl5k1I9wdfeTua6qp98zqHhWu05eYfZ/QHjXFXFH5qHAdY678XBtC21dbr4iShSTN\nEOA+d1/u7qsqX8AdwGlmVvXv7G7A+8DyOtY/sHJuATCHkISuqeHa3YC/1bFeB9ZG9X4EHELNj/zW\np16AP6TEPAEYGT3J9RVmthvwKfCvOtZ7aEq9bwErgYtrub7q485SRCxpmx+ZWR9gLCGR3evuN8Qc\nkmSZma0HvgBud/dRGdY1Eljl7ndnJbgv621PGN/olc16o7qnA5e4++Is13s6sI+7j8xmvVHdMwgJ\ncI67Z7ULTPJDopJF9FvjEuBoYAXhsclB7r4o1sBERIpc0rqhegJl7r7U3TcRJiD1jTkmEZGil7Rk\n0R74MOX9sqhMRERilLRkISIiCZS0GdzLCTN3K3WgmqdczCw5Ay0iInnE3Rv0VFvS7izmAntFz843\nBQYBU6u70N0T/xo1alTsMShOxag4FWflKxOJShbuvgX4GWGZhLcIy0kvjDcqEYlDeXk5zz32GOXl\n5XGHIiQsWQC4+3R339vdO7n77+OOR0QaX3l5OVceeyw9336bK489VgkjARKXLApJSUlJ3CHUieLM\nnnyIEZIdZ2WiGPPqq/QHxrz6auITRpLbM1sSNSmvrszM8zFuEaldaqLYOaV8LTCiew9+O20mO+20\nEwBWZZg29X1Nx/W5rhCZGd7AAW4lCxFJjF8PHMjPHnuM71Rz7j2gxE7h4+0eBSD1R0BNx/W5rja5\nTkyNdd26dUoWIlIAaruzGNmjB7+b+eWdRS5lI/kk8brWrZUsRKRArFpVzil7HMuUDSFhNHaiKGSZ\ndENpgFtEEmXcuJ1o/oOZXNmjB++hRJEUurMQkcSYMwdOOgnmzYPtty/n2vPO46o//lGJIks0wC0i\neW/9eujWDa69FgYOjDuawqRkISJ575JLYPVqePjhuCMpXJkki6QtJCgiRejFF+GJJ2DBgrgjkZpo\ngFtEYrVuHQwdCnffDa1bxx2N1ETdUCISq6FDoWlT+N//jTuSwqduKBHJS1Onwl//CvPnxx2JpKNk\nISKxWL0aLrgAHnkEvvGNuKORdNQNJSKNzh1OPhn23BNuuinuaIqHuqFEJK889BAsXhz+lPygOwsR\naVTLlkH37jB9evhTGo/WhhKRvOAOw4bBz3+uRJFvlCxEpNHcdResXQsjRsQdidSXuqFEpFG88w4c\neij87W/wve/FHU1xUjeUiCTali1w5plw1VVKFPlKyUJEcu7mm6FZszBWIflJ3VAiklMLFsDRR8Or\nr8Luu8cdTXFTN5SIJNLGjTBkCNxwgxJFvlOyEJGc+e1voWPHsFig5DfN4BaRnJg9G+69N2yRag3q\n+JAk0Z2FiGTd+vWh++kPf4B27eKORrJBA9wiknU//zmsWaO1n5JGCwmKSGK88AJMmaItUguNuqFE\nJGvWrYOzz4Z77oGdd447GskmdUOJSNacdRZsvz2MHx93JFIddUOJSOymTAnrPs2bF3ckkgu6sxCR\njK1aBQceCI8/DocfHnc0UpNM7iyULEQkI+7wk59Ap05hprYkl7qhRCQ2EydCWRlMmhR3JJJLurMQ\nkQb78MOw492MGdCtW9zRSDqJXEjQzEaZ2TIzez169Uk5N8LMysxsoZn1TinvbmYLzGyJmY3NVWwi\nkrmKivCY7C9+oURRDHI9z+IWd+8evaYDmFkXYCDQBTgeuNNs68ox44Fh7t4Z6Gxmx+U4PhFpoPHj\n4bPP4PLL445EGkOuk0V1tzt9gcnuvtnd3wfKgJ5m1g5o6e5zo+seBPrlOD4RaYAlS2DUKJgwAbbV\nyGdRyHWy+JmZzTOze8xsx6isPfBhyjXLo7L2wLKU8mVRmYgkyObNYYvUUaNg773jjkYaS0a/E5jZ\nTKBtahHgwEjgTuAad3czuw74f8A5mXxfqtGjR289LikpoaSkJFtVi0gtbroJWrSAiy6KOxJJp7S0\nlNLS0qzU1ShPQ5nZ7sDT7n6AmV0BuLvfEJ2bDowClgKz3L1LVD4IONLdL6ymPj0NJRKD+fPhmGPg\ntdfCpkaSX5L6NFTqKvYDgDej46nAIDNrambfAfYC/unuHwPrzKxnNOA9BPhzruITkfr54gs444xw\nZ6FEUXxyOTR1o5l1BSqA94HzAdz9bTN7FHgb2AQMT7lNuAh4AGgOTKt8gkpE4jd6NOy5ZxivkOKj\nSXkiktY//hGW9Jg/H3bdNe5opKES2Q0lIoXhP/8JdxN33KFEUcx0ZyEitbroIvj007AGlOQ3LSQo\nIjkxcyY8/bS2SBV1Q4lIDcrLYdgwuPde2GmnuKORuKkbSkSqNWQItGwZxiqkMKgbSkSy6skn4ZVX\ntEWqfEl3FiLyFStXhi1Sn3wSDjss7mgkm7StqohkhTv07w9dusD118cdjWSbuqFEJCsefBDeew8e\neSTuSCRpdGchIgB88AEcdBA8/3zohpLCoxncIpKRigoYOhR+9SslCqmekoWIcMcdsH49XHZZ3JFI\nUqkbSqTILV4Mhx8eHpXt1CnuaCSX1A0lIg2yeXOYfDd6tBKF1E7JQqSI3XADtGoFw4fHHYkknbqh\nRIrUvHnQu3fYInW33eKORhqDuqFEpF4qt0i9+WYlCqkb3VmIFKHLL4clS8KSHtag3zMlH2kGt4jU\n2d//HmZqz5+vRCF1p24okSLy+edhi9Tx47VFqtSPuqFEisjw4WFP7QkT4o5E4qBuKBFJ67nn4Jln\ntEWqNIyShUgRWLsWzjkH7r9fW6RKw6gbSqQI/PSnsPPOMG5c3JFInNQNJSI1evxx+Oc/tUWqZEZ3\nFiIF7OOPoWtXmDIFDj007mgkbtpWVUS+xh369oX994cxY+KORpJA3VAi8jUPPBB2v3v88bgjkUKg\nOwuRAvT++3DwwfDCC3DAAXFHI0mhhQRFZKvKLVIvvVSJQrJHyUKkwIwbBxs3hmQhki3qhhIpIIsW\nQa9eMHs27LVX3NFI0qgbSkS2bpF6zTVKFJJ9ShYiBeL668NSHhdeGHckUojUDSVSAF5/Hfr0CX92\n6BB3NJJUsXVDmdnJZvammW0xs+5Vzo0wszIzW2hmvVPKu5vZAjNbYmZjU8qbmtnk6DOvmFnHTGIT\nKRb//W/ofrrlFiUKyZ1Mu6H+BfQHXkotNLMuwECgC3A8cKfZ1j25xgPD3L0z0NnMjovKhwFr3L0T\nMBa4McPYRIrCVVfB3nvD6afHHYkUsoyShbsvdvcyoOptTV9gsrtvdvf3gTKgp5m1A1q6+9zougeB\nfimfqdyS5XHg6ExiEykGL78MDz0Ed92lLVIlt3I1wN0e+DDl/fKorD2wLKV8WVT2lc+4+xag3Mxa\n5yg+kbz3+edw1lkhUXzzm3FHI4Uu7dpQZjYTaJtaBDgw0t2fzlVgfP1uRURSXHopHHEEnHRS3JFI\nMUibLNz92AbUuxzYLeV9h6ispvLUz6wwsyZAK3dfU9MXjB49eutxSUkJJSUlDQhTJD/95S/hpS1S\npTalpaWUlpZmpa6sPDprZrOAS939tej9PsBDwCGE7qWZQCd3dzObDVwMzAWeBW539+lmNhzYz92H\nm9kgoJ+7D6rh+/TorBStNWvCmk8PPghHHRV3NJJPYtvPwsz6AeOAXYByYJ67Hx+dG0F4wmkTcIm7\nz4jKDwIeAJoD09z9kqi8GTAR6AZ8AgyKBser+14lCylap50Wxihuuy3uSCTfaPMjkSLx6KPhUdk3\n3oAWLeKORvKNkoVIEfjoo7BF6tSpcMghcUcj+UgLCYoUOHc491w47zwlComHtlUVyQP33QcrVsCT\nT8YdiRQrdUOJJNx770HPnjBrFuy3X9zRSD5TN5RIgarcIvWyy5QoJF5KFiIJdtttYVOjX/867kik\n2KkbSiShFi4My3nMng3f/W7c0UghUDeUSIHZtCnsUXHttUoUkgxKFiIJ9LvfQZs2cP75cUciEujR\nWZGEee01uOOOMEtbe1RIUujOQiRBKrdIHTsW2rdPf71IY9EAt0iCXHopLF0a1oDSXYVkWyYD3OqG\nEkmIl16Chx8Oe1QoUUjSqBtKJAE++yxMvvvjH2GXXeKORuTr1A0lkgDnnQdbtsC998YdiRQydUOJ\n5LFp02DGDG2RKsmmZCESo08+CUuPP/QQtGoVdzQiNVM3lEiMBg2Cb30Lbr017kikGKgbSiQPPfII\nzJ8P998fdyQi6enOQiQGK1ZAt27wzDNw8MFxRyPFQgsJiuQRdzjnHLjgAiUKyR9KFiKN7J57YOVK\n+M1v4o5EpO7UDSXSiCq3SC0thX33jTsaKTbqhhLJA1u2wJlnwuWXK1FI/lGyEGkkY8eGP3/5y3jj\nEGkIdUOJNIK33oKSEpgzB/bcM+5opFipG0okwSq3SB0zRolC8peShUiOXXcdtG0blvUQyVeawS2S\nQ3Pnwl13aYtUyX+6sxDJkQ0bQvfTbbfBt78ddzQimdEAt0iO/OpXsHx5WANKJAm0kKBIwpSWhiSh\nPSqkUKgbSiTLPv30yy1S27SJOxqR7FA3lEiWnXNOGMy+++64IxH5KnVDiSTEM8/ACy+o+0kKj5KF\nSBa4w5QpMHw4TJ4MLVvGHZFIdmU0ZmFmJ5vZm2a2xcy6p5Tvbmbrzez16HVnyrnuZrbAzJaY2diU\n8qZmNtnMyszsFTPrmElsIo3l73+HXr1g1Ch44AE48si4IxLJvkwHuP8F9AdequbcO+7ePXoNTykf\nDwxz985AZzM7LiofBqxx907AWODGDGMTyalFi6B/fxg8GM47L0y8O+649J8TyUcZJQt3X+zuZUB1\nAyZfKzOzdkBLd58bFT0I9IuO+wITouPHgaMziU0kVz76CM4/H37wAzjsMFi8OCw93qRJ3JGJ5E4u\nH53dI+qCmmVmvaKy9sCylGuWRWWV5z4EcPctQLmZtc5hfCL18tlncPXVsN9+YUxi8WK47DLYfvu4\nIxPJvbQD3GY2E2ibWgQ4MNLdn67hYyuAju6+NhrLmGJm+9QzNq2kI4mwcWOYM3HdddC7N7z+Ouy+\ne9xRiTSutMnC3Y+tb6XuvglYGx2/bmb/BjoDy4HdUi7tEJWRcm6FmTUBWrn7mpq+Y/To0VuPS0pK\nKCkpqW+YIrVyh8cegyuvhL32gueegwMPjDsqkborLS2ltLQ0K3VlZVKemc0CLnX316L3uxAGqyvM\nbE/CAPj+7l5uZrOBi4G5wLPA7e4+3cyGA/u5+3AzGwT0c/dBNXyfJuVJTpWWwv/8D2zeDDfeCMcc\nE3dEIpnLZFJeRsnCzPoB44BdgHJgnrsfb2YDgGuAjUAFcLW7T4s+cxDwANAcmObul0TlzYCJQDfg\nE2CQu79fw/cqWUhOvPkmXHFF2NluzBgYNAi20aI4UiBiSxZxUbKQbFu2LAxeP/NM6Ha68EJo1izu\nqESyS9uqijRQeTmMGBHGItq2hSVL4Be/UKIQqUrJQorSF1/ArbdC586wahXMnw/XXw877RR3ZCLJ\npLWhpKhUVMCkSfCb34T5Ei++GP4UkdopWUjReP758ITTtttqDSeR+lKykII3bx5cfjm8+y787ndw\n8slhvwkRqTuNWUjBWroUzjgD+vSBH/84PA57yilKFCINoWQhBWfNGrj0UujeHb7znfCE089+Bk2b\nxh2ZSP5SspCCsWFDmG29997w+edhgt0110CrVnFHJpL/NGYheW/LFpg4MUyq69EDXn4Zvve9uKMS\nKSxKFpK33GH69DB43bJleCT28MPjjkqkMClZSF569dXwGOyKFfD730Pfvhq4FskljVlIXvn3v8Pi\nfiedBKeeGsYl+vVTohDJNSULyQurV8PFF0PPnrDvvlBWFrY23Vb3xiKNQslCEm39+rBUeJcuYYxi\n4UK46irYYYe4IxMpLkoWkkibN8M990CnTmGRv9mzYdw42HXXuCMTKU66iZdEcYennw4bEO26Kzz1\nVOh6EpF4KVlIYsyeDZddBmvXwk03wY9+pIFrkaRQN5TEbskS+MlPwrpNQ4eGbqcTTlCiEEkSJQuJ\nzcqVMHw4HHYYHHwwLF4MZ58NTZrEHZmIVKVkIY3us89g9GjYZx9o3jwkiSuugBYt4o5MRGqiZCGN\nZtMmGD8+bGVaVhZmYd9yC7RpE3dkIpKOBrgl59zhySfhyiuhY0d49tmwfLiI5A8lC8mpl18Oazht\n2BDmSfTuHXdEItIQShaSE2+/HcYh5s+H666D00+HbdTpKZK39M9XsmrFCjj3XCgpgSOPDIPXZ5yh\nRCGS7/RPWLJi3ToYORL23x9atw5J4te/Dk87iUj+U7KQjGzcCLfdFp5wWr4c3ngDbrgBdt457shE\nJJs0ZiENUlEBjz4a7ib23htmzoQDDog7KhHJFSULqbcXXwxPOAHcfTccdVS88YhI7ilZSJ0tWBCe\ncFq8OOwxMXCgBq5FioX+qUtaH3wAZ50Fxx4LffqEDYgGDVKiECkm+ucuNVq7NnQ3desG7duH1WEv\nvhiaNo07MhFpbEoW8jX//S/cfHN4wmnt2tD9NGYM7Lhj3JGJSFw0ZiFbVVTAQw+FPa4PPBBeeims\nDCsiomQhAMyYEbqcmjeHiRPhBz+IOyIRSRIliyLmDnPmhDuJpUvh+uthwADtUCciX5fRmIWZ3Whm\nC81snpk9YWatUs6NMLOy6HzvlPLuZrbAzJaY2diU8qZmNjn6zCtm1jGT2KRmCxfC1VeHyXQ//Sn0\n7w9vvRW2NlWiEJHqZDrAPQPY1927AmXACAAz2wcYCHQBjgfuNNv6Y2g8MMzdOwOdzey4qHwYsMbd\nOwFjgRszjE1SLF0aluHo2hWOOQY+/zyMT5SVha1Nt9su7ghFJMkyShbu/ry7V0RvZwMdouOTgMnu\nvtnd3yckkp5m1g5o6e5zo+seBPpFx32BCdHx48DRmcQmsGoV3HEH9OoFBx0E774LY8eGeRO33BL2\nvdadhIjURTbHLM4GJkXH7YFXUs4tj8o2A8tSypdF5ZWf+RDA3beYWbmZtXb3NVmMseCtWwdPPQWT\nJoXxiBNPhBEjwoQ6zY8QkYZKmyzMbCbQNrUIcGCkuz8dXTMS2OTuk6qpoqFq/Z139OjRW49LSkoo\nKSnJ4lfnlw0b4JlnQoJ44YWwVtOwYSFptGgRd3QiEpfS0lJKS0uzUpe5e2YVmJ0FnAsc5e5fRGVX\nAO7uN0TvpwOjgKXALHfvEpUPAo509wsrr3H3OWbWBPjI3Xet4Ts907jz3aZNYaXXSZNCojj4YBg8\nOAxW77RT3NGJSBKZGe7eoM7nTJ+G6gNcBpxUmSgiU4FB0RNO3wH2Av7p7h8D68ysZzTgPQT4c8pn\nzoyOTwFezCS2QlRRESbKXXABfPvbYbvSnj1h0aIwT2LoUCUKEcmNTMcsxgFNgZnRw06z3X24u79t\nZo8CbwObgOEptwIXAQ8AzYFp7j49Kr8XmGhmZcAnwKAMYysI7vDaa+EO4pFHoE2bcAcxdy7ssUfc\n0YlIsci4GyoOxdANtXBhSBCTJ4c7isGDw0vLb4hIQ2XSDaUZ3AmydGlIDpMmwerVcOqpYS5Ejx56\nxFVE4qU7i5itWgWPPRYSxKJFYRb14MFhbaYmTeKOTkQKSSZ3FkoWMag6F+KEE+C00zQXQkRyS8ki\nD1SdC/HDH4Y7iB//WHMhRKRxKFkkVNW5ED16hAQxYIAecRWRxqdkkSAVFfDyyyFBPPEEdOoUEsQp\np0C7dnFHJyLFTE9DxcwdXn/9y7kQrVtrLoSIFBYliwwsWhQSxKRJX86FeO45zYUQkcKjZFFPH3zw\n5VyIVas0F0JEioPGLOqg6lyIAQPCo66aCyEi+UQD3DlQ3VyIwYOhd2/NhRCR/KRkkSU1zYU48UTY\nYYesf52ISKNSssiA5kKISLFQsqgnzYUQkWKkeRZ1oLkQIiINV/DJInUuxJYt4SkmzYUQEamfgkwW\nqXMhVq4McyH+9KewT7XmQoiI1F/BjFlUNxdi8GA44gjNhRARgSIe4NZcCBGRuivKZNG/v2suhIhI\nPRTl01Anngj33ae5ECIijSFv7yzyMW4RkThlcmexTbaDERGRwqNkISIiaSlZiIhIWkoWIiKSlpKF\niIikpWQhIiJpKVmIiEhaShYiIpKWkoWIiKSlZCEiImkpWYiISFpKFiIikpaShYiIpJVRsjCzG81s\noZnNM7MnzKxVVL67ma03s9ej150pn+luZgvMbImZjU0pb2pmk82szMxeMbOOmcQmIiLZk+mdxQxg\nX3fvCpQBI1LOvePu3aPX8JTy8cAwd+8MdDaz46LyYcAad+8EjAVuzDC22JWWlsYdQp0ozuzJhxhB\ncWZbvsSZiYyShbs/7+4V0dvZQIeU019bM93M2gEt3X1uVPQg0C867gtMiI4fB47OJLYkyJe/QIoz\ne/IhRlCc2ZYvcWYim2MWZwN/SXm/R9QFNcvMekVl7YFlKdcsi8oqz30I4O5bgHIza53F+EREpIHS\nbqtqZjOBtqlFgAMj3f3p6JqRwCZ3fzi6ZgXQ0d3Xmll3YIqZ7VPP2Bq0m5OIiOSAu2f0As4C/g40\nq+WaWUB3oB2wMKV8EDA+Op4OHBIdNwFW1VKf66WXXnrpVf9XQ3/Wp72zqI2Z9QEuA45w9y9Synch\nDFZXmNmewF7Au+5ebmbrzKwnMBcYAtwefWwqcCYwBzgFeLGm723oHrIiItIwFv2m3rAPm5UBTYFP\noqLZ7j7czAYA1wAbgQrganefFn3mIOABoDkwzd0vicqbAROBblF9g9z9/QYHJyIiWZNRshARkeKQ\n2BncZnavma00swW1XHN7NIlvnpl1bcz4UmKoNU4zO9LMylMmKP6msWOM4uhgZi+a2Vtm9i8zu7iG\n62Jr07rEmIT2NLNmZjbHzN6I4hxVw3Wx/v2sS5xJaM+UWLaJYphaw/kk/HuvMcaEteX7ZjY/+n//\nzxquqV97ZjrAnasX0AvoCiyo4fzxwLPR8SGELrAkxnkkMDUB7dkO6BodfwNYDHwvSW1axxiT0p4t\noj+bEOYY9UxSW9YjzkS0ZxTLL4E/VRdPgtqzthiT1JbvAjvXcr7e7ZnYOwt3/xuwtpZL+hIm9eHu\nc4AdzaxtLdfnRB3ihAQ8BuzuH7v7vOj4c2AhX85xqRRrm9YxRkhGe66PDpsRHkGv2p+blL+f6eKE\nBLSnmXUAfgTcU8MlsbdnHWKEBLRlxKi956je7ZnYZFEHWyfxRZZT/Q+WJPh+dKv3bAPmm2Sdme1B\nuBuaU+VUYtq0lhghAe0ZdUe8AXwMzPQvVyWolIi2rEOckID2BG4lPFlZ0yBqEtozXYyQjLaEEONM\nM5trZudWc77e7ZnPySJfvEaYoNgV+AMwJc5gzOwbhOVULol+e0+cNDEmoj3dvcLduxGWuDkkCb8E\nVKcOccbenmZ2ArAyuqs0kvPb+VZ1jDH2tkxxuLt3J9wJXZSyikaD5XOyWA7slvK+Q1SWKO7+eWVX\ngLv/BdgurmVMzGxbwg/hie7+52ouib1N08WYpPaMYviUMOm0T5VTsbdlqpriTEh7Hg6cZGbvApOA\nH5rZg1Wuibs908aYkLasjOWj6M/VwFNAzyqX1Ls9k54savstYyphUh9mdihQ7u4rGyuwKmqMM7Uf\n0MJkRHP3NY0VWBX3AW+7+201nE9Cm9YaYxLa08x2MbMdo+PtgWOBRVUui70t6xJnEtrT3a90947u\nvidhVYcX3X1Ilctibc+6xJiEtoy+u0V0d46Z7QD0Bt6sclm92zOjGdy5ZGYPAyVAGzP7ABhFmADo\n7v5Hd59mZj8ys3eA/wBDkxgncLKZXQhsAjYAp8YU5+HA6cC/oj5sB64EdichbVqXGElGe34LmGBm\n2xB+4XrAZIjoAAAAYElEQVQkarvzSUhb1jVOktGe1Upge35NQtuyLfCUmTnhZ/xD7j4j0/bUpDwR\nEUkr6d1QIiKSAEoWIiKSlpKFiIikpWQhIiJpKVmIiEhaShYiIpKWkoWIiKSlZCEiImn9H7HOATzK\niZKIAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "\n", "for o in xrange(1,5):\n", " sample = [([\"A\"]+[\"B\"]*o)*1000]\n", "\n", " loglikelihoods = []\n", " aics = []\n", " bics = []\n", " evidences = []\n", " \n", " max_order = 5\n", " fig = plt.figure()\n", "\n", " for i in xrange(1,max_order+1):\n", " mc = MarkovChain(reset=True, order=i)\n", " mc.fit(sample)\n", " loglikelihoods.append(mc.loglikelihood())\n", " aics.append(mc.aic())\n", " bics.append(mc.bic())\n", " evidences.append(mc.evidence())\n", " \n", " # let us just plot the evidences here, the other criteria confirm these results\n", " ax = fig.add_subplot(111)\n", " ax.plot(xrange(1,max_order+1), evidences)\n", " max_index = evidences.index(max(evidences))\n", " ax.plot((xrange(1,max_order+1))[max_index], evidences[max_index], 'rD', clip_on = False)\n", " ax.set_title(sample[0][:o+1])\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As expected, the modeling selection techniques also indicate those orders as the most plausible after which the data has been generated." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Wikispeedia human Web navigation example\n", "\n", "We now focus on an example of human Web navigation." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Data\n", "\n", "We load our data into a list of lists where each element corresponds to a sequence." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import csv\n", "sequences = []\n", "\n", "# from https://snap.stanford.edu/data/wikispeedia.html\n", "for line in csv.reader((row for row in open(\"data/paths_finished.tsv\") if not row.startswith('#')), delimiter='\\t'):\n", " if len(line) == 0:\n", " continue\n", " # for simplicity, let us remove back clicks\n", " seq = line[3].split(\";\")\n", " # for simplicity, let us remove back clicks\n", " seq = [x for x in seq if x != \"<\"]\n", " sequences.append(seq)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[['14th_century', '15th_century', '16th_century', 'Pacific_Ocean', 'Atlantic_Ocean', 'Accra', 'Africa', 'Atlantic_slave_trade', 'African_slave_trade'], ['14th_century', 'Europe', 'Africa', 'Atlantic_slave_trade', 'African_slave_trade'], ['14th_century', 'Niger', 'Nigeria', 'British_Empire', 'Slavery', 'Africa', 'Atlantic_slave_trade', 'African_slave_trade'], ['14th_century', 'Renaissance', 'Ancient_Greece', 'Greece'], ['14th_century', 'Italy', 'Roman_Catholic_Church', 'HIV', 'Ronald_Reagan', 'President_of_the_United_States', 'John_F._Kennedy'], ['14th_century', 'Europe', 'North_America', 'United_States', 'President_of_the_United_States', 'John_F._Kennedy'], ['14th_century', 'China', 'Gunpowder', 'Fire'], ['14th_century', 'Time', 'Isaac_Newton', 'Light', 'Color', 'Rainbow'], ['14th_century', 'Time', 'Light', 'Rainbow'], ['14th_century', '15th_century', 'Plato', 'Nature', 'Ultraviolet', 'Color', 'Rainbow']]\n" ] } ], "source": [ "print sequences[:10]" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "51318" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(sequences)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Fitting\n", "\n", "We now fit the Markov chain model to the data. We vary the order from 1 to 5. Additionally, we determine all model comparison techniques and store them for each order at hand." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [], "source": [ "loglikelihoods = []\n", "aics = []\n", "bics = []\n", "evidences = []\n", "lrts = []\n", "\n", "max_order = 5\n", "\n", "for i in xrange(1,max_order+1):\n", " mc = MarkovChain(reset=True, order=i)\n", " mc.fit(sequences)\n", " loglikelihoods.append(mc.loglikelihood())\n", " aics.append(mc.aic())\n", " bics.append(mc.bic())\n", " evidences.append(mc.evidence())\n", "\n", "for i, ln in enumerate(loglikelihoods):\n", " for j, lt in enumerate(loglikelihoods[i+1:]):\n", " lrt = mc.lrt(ln, mc.state_count**(i+1)*(mc.state_count-1), lt, mc.state_count**(i+1+j+1)*(mc.state_count-1))\n", " lrts.append([str(i+1)+\" vs. \"+str(i+1+j+1),lrt[0],lrt[1]])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Model Selection\n", "\n", "Next, we select the most appropriate model." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Likelihood ratio test\n", "\n", "Perform likelihood ratio test between all fits" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "orders | likelihood ratio | p-value\n", "1 vs. 2 | 862481.65175 | 1.0\n", "1 vs. 3 | 1405620.38073 | 1.0\n", "1 vs. 4 | 1538326.871 | 1.0\n", "1 vs. 5 | 1558210.23636 | 1.0\n", "2 vs. 3 | 543138.728976 | 1.0\n", "2 vs. 4 | 675845.219245 | 1.0\n", "2 vs. 5 | 695728.584614 | 1.0\n", "3 vs. 4 | 132706.490269 | 1.0\n", "3 vs. 5 | 152589.855638 | 1.0\n", "4 vs. 5 | 19883.3653686 | 1.0\n" ] } ], "source": [ "print \"orders | \", \"likelihood ratio | \", \"p-value\"\n", "for x in lrts:\n", " print \" | \".join([str(k) for k in x])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### AIC, BIC and Evidence\n", "\n", "Now, we determine the AIC, BIC and Evidence for all fits. Additionally, we plot the simple log-likelihood of the fits." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjkAAAGqCAYAAADp8VUdAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XecVcX9//HXGxU7iA0iiqiBWBJFEDCJ0RVFwFgwsaAx\noF+S2FKMXxMxFjDN8pWEECPGxIa/KCgqoEGKsuv3awREpamUtQuIGmCxBaV8fn/MrByXLZe95dy9\n+3k+Hvex587MmTsH2OFz55yZkZnhnHPOOVdqWqTdAOecc865fPAgxznnnHMlyYMc55xzzpUkD3Kc\nc845V5I8yHHOOedcSfIgxznnnHMlyYMc55xrAiTdIeldSfMzKPtzSS9JmitpmqR9Yvphkp6RtCDm\nnZn/ljuXHvk6Oc45V/wkHQV8BIw2s0MbKHsMMMvM1kq6ECgzswGSOgEbzexVSV8CngcONLMP8n4B\nzqXAR3Kcc64JMLOngdXJNEn7S3pc0mxJT0nqHMs+ZWZrY7GZQPuYXmlmr8bjd4D3gD0KdhHOFdjW\naTfAOedco90OXBBHZnoAo4DjapQZDDxe88RYfpvqoMe5UuRBjnPONUGSdgS+ATwoSTF5mxplzgW6\nAcfUSP8SMBr4fgGa6lxqPMhxzrmmqQWw2sy61pYp6XjgSuBoM1uXSN8ZeAy40sxmF6SlzqWkKJ/J\nkTRU0lJJL8RX30TelZIqJS2UdEIivauk+ZKWSBqRSG8paUw8Z4akDom8QbH8YkkDE+kdJc2MefdL\n8mDQObdFGpoNJekcSfPi62lJX8uk2vjCzD4EXpd0eqLOQ+PPw4HbgFPMbGUifxtgPHCPmT3S6Itz\nrokoyiAn+oOZdY2vyQCSDgLOBA4C+gG3JoZpRwGDzawz0FlSn5g+GFhlZp2AEcBNsa42wLVAd6An\nMFRS63jOjcDwWFdVrMM557bEXUCfevJfI4yyHAb8FvhbfZVJug94htC/vSXpfOB7wOA4HfxF4JRY\n/CZgR8KtrDmSxsf0M4GjgPNi+gvVgZFzpagop5BLGgp8ZGbDa6QPAczMbozvHweGAW8C083s4Jg+\nADjGzC6SNBkYamazJG0FvGNmeybLxHNGARVmNlbS+0BbM9so6UhgmJn1xTnntoCkfYFHM5jyvQuw\nwMz2KUzLnGseinkk58fx28nfEyMs7YG3E2WWxbT2wNJE+tKY9oVzzGwDsEbSrnXVJWk3wn3ujYm6\n9srdZTnn3GZ+QC0zoJxz2UktyImrcM5PvBbEnycDtwL7m1kXYAUwvP7atuyjc1TGOeeyJulY4Hzg\nirTb4lypSe2BWjPrnWHRvwGPxuNlQHI4d++YVld68pzl8XZVKzNbJWkZUFbjnHIzWymptaQWcTQn\nWdcXSCq+e33OFZiZ+ZeCRorPw9wO9DWz1fWU877GNWuN7WeK8naVpHaJt98BXozHE4EBccbUfsCX\ngWfNbAXhNlSP+CDyQGBC4pxB8fgMYHo8ngL0jgFNG6B3TAMoj2WJ51bXtRkzy9tr6NChXn8J118K\n1+Aa9PlsqM0ywkzPh4DvWwYL8jXlfydev9efzSsbxTo1+iZJXYCNwBvABQBm9rKkB4CXgXXAxbbp\nT+AS4G5gO2CSxRlZwB3AvZIqgZXAgFjXakm/AZ4DDLjOzKriOUOAMTF/TqzDOecyFmdDlQG7SXoL\nGAq0JEyeuB24BtiVTbNE15lZj7Ta61wpKsogx8wG1pN3PXB9LenPA5utM2FmnxKmTdZW192EwKhm\n+uuEaeXOOdcoZnZOA/k/BH5YoOY41ywV5e0qF5SVlXn9JVx/IT6jENfgmr6m/u/Q6y/t+rNRlOvk\nNBWSzP/8XHNVVVVFmzZtANokbvW6PPC+xjVnkrBSevDYOVfcqqqq+FXvMEGyF0yLi9k551xR8SDH\nObdFqgOc3z33HADj4AgPdJxzxciDHOdcxqqqqrjy+BDgtIlpbfBAxzlXnPyZnCz4fXJXbDZuhLVr\n4eOP4ZNPwqv6OBdprdacSYU9yH7x80RYfwHgdeBkeOBFs7PSufrS5X2Na86yeSbHg5wseMfjGssM\n3nwTqqpyG4isXQvbbQc77AA77hh+Jo+zTfvssyqGndSb38eRnOogZzVwOjw3HXr7Q8i5532Na848\nyEmJdzxuS7z/PjzxBEydCtOmhVGXPffMbSCy/fbQIs83oZPP5OwKrMIDnHzzvsY1Zx7kpMQ7Hlef\ntWvh6ac3BTWvvw7HHAMnnAC9e0OnTqAmuutTdaAz6rnn6OUBTt55X+OaMw9yUuIdj0vauBEWLAgB\nzdSpMGMGfO1rm4KaHj1gm23SbmXu+Do5heN9jWvOPMhJiXc8bvnyTUHNE09Aq1YhoDnhBDj2WGjd\nOu0W5lc2nY/LnPc1rjkrycUAJf1E0kJJCyTdkEi/UlJlzDshkd5V0nxJSySNSKS3lDQmnjMj7vxb\nnTcoll8saWAivaOkmTHvfklFuceXK7yPP4ZJk+DnP4dDDgkjNY89BmVlMGsWVFbCrbdC//6lH+A4\n51yxK8qRHEllwK+AE81svaTdzezfkg4C7gO6A3sDTwCdzMwkzQJ+bGazJU0C/mRmUyRdBHzNzC6W\ndBZwmpkNkNSGsAN5V8IkkeeBrma2RtJYYJyZPShpFDDXzP5aSzv921WJ27ABXnhh02jN889Dt26b\nbkF17QpbbZV2K9PjIzmF4X2Na86y6WeKdYTiIuAGM1sPYGb/jumnAmNi+huSKoEekt4Edjaz2bHc\naKA/MCWeMzSmjwP+HI/7AFPNbA2ApKlAX2As0As4O5a7BxgGbBbkuNL0xhubgprp06FduxDU/PKX\ncPTRsNNOabfQOedcJoo1yOkMHC3p98B/gMvN7HmgPTAjUW5ZTFsPLE2kL43pxJ9vA5jZBklrJO2a\nTE/WJWk3YLWZbUzUtVcuL84VlzVroLx8U2DzwQdhlOakk2DECGjfvuE6nHPOFZ/UghxJ04C2ySTC\numJXE9rVxsyOlNQdeBDYP1cfnaMyAAwbNuzz47KysqLect4F69bBs89uCmoWLICvfz2M1owbF56z\nyfdaM01VRUUFFRUVaTfDOecyklqQY2a968qTdCHwcCw3W9KGOMKyDOiQKLp3TFsG7FNLOom85ZK2\nAlqZ2SpJy4CyGueUm9lKSa0ltYijOcm6NpMMclxxMgsPBE+bFl4VFbDffiGo+fWv4aijwirBrmE1\nA/nrrrsuvcY450reunXZnV+s31fHE56LQVJnoKWZrQQmAmfFGVP7AV8GnjWzFcAaST0kCRgITIh1\nTQQGxeMzgOnxeArQOwY0bYDeMQ2gPJYlnltdl2siVq6EBx6AH/4QOnaEXr3CQ8NnnQVLlsCcOXDj\njXD88R7gOOdcsZo8Obvzi/WZnLuAOyUtAD4lBC2Y2cuSHgBeBtYBFyemHFwC3A1sB0wys+o/mjuA\ne+NDyiuBAbGu1ZJ+Q5hhZcB1iQXNhgBjYv6cWIcrYp9+Cs88s+kWVGUlfOtbYbTmssvgwAOb7urC\nzjnXXI0fn935RTmFvKnwaZ3pWrgwRPnTpoXtEw46aNPU7iOPhJYt025h6fMp5IXhfY1rjjZsgC99\nCd5/v/SmkDtXr7vugiFDwqJ7gwfDP/4BYYcB55xzpWDGDNhrr7C5cWN5kOOanMcegyuvhP/9X/jK\nV9JujXO1k3QHcBLwrpkdWkeZkUA/4GPgPDObW8AmOlfUxo+HU0+FefMaX0exPnjsXK1mzIDzz4cJ\nEzzAcUXvLsKio7WS1A84wMw6ARcAtxWqYc4VO7MQ5PTvn109HuS4JmPhQjjtNBg9Gnr2TLs1ztXP\nzJ4GVtdT5FTC6uyY2SygtaS29ZR3rtl4+eUwfbxLl+zq8SDHNQlLl0LfvnDTTdCvX9qtcS4nal11\nPaW2OFdUqm9VZTsr1p/JcUVv9eoQ4FxyCQwc2HB550qRr67umouKigpuvbWC44+HbNfb9SnkWfBp\nnfn3n/+EaeHdu8Pw4b7WTbHxKeT1k7Qv8GhtDx5Luo2wyvrY+H4RcIyZvVtLWe9rXLOxdCkcdhis\nWAHbbJNdP+O3q1zRWr8ezjkHOnSAm2/2AMc1SaLuvfAmEhc6lXQkUFVbgONcczNxIpx4YghwsuW3\nq1xRMgu3pz7+GMaO9Q0zXdMj6T7C/ni7SXoLGAq0BMzMbjezSZJOlPQKYQr5+em11rniMWEC/OhH\nuanLb1dlwYeQ82fYsLAeTnk57Lxz2q1xdfHbVYXhfY1rLtasgX32geXLYaedQlrJ3a6SNEbSC/H1\nuqQXEnlXSqqUtFDSCYn0rpLmS1oiaUQivWWsr1LSDEkdEnmDYvnFkgYm0jtKmhnz7pfkI14FdNtt\nYQXjSZM8wHHOuebk8cfh6KM3BTjZKsogx8wGmFlXM+sKPAQ8DCDpIOBM4CDCKqG3xl3HAUYBg82s\nM9BZUvUiXIOBVXHBrRHATbGuNsC1QHegJzBUUut4zo3A8FhXVazDFcDDD8Ovfx32pNpzz7Rb45xz\nrpCqp47nSlEGOTWcCdwXj08FxpjZejN7A6gEekhqB+xsZrNjudFA/8Q598TjcUCveNwHmGpma+Lu\n41OBvjGvFyG4Ip57Ws6vym3mqafgwgvDbaoDDki7Nc455wrp00/DF9yTT85dnUUd5Ej6FrDCzF6L\nSXUtntUeWJpIX8qmRbU+P8fMNgBrJO1aV12SdgNWm9nGRF175eyiXK0WLIAzzoD77oOuXdNujXPO\nuUKrqIBDDoF27XJXZ2rPmkiaBiSXMBdgwFVm9mhMOxu4P9cfnaMyLkfefDNMFxw5Eo4/Pu3WOOec\nS0Oub1VBikGOmfWuL1/SVsB3gOT3+mXAPon3e8e0utKT5yyPdbYys1WSlhGmdybPKTezlZJaS2oR\nR3OSdW3GVyHNzr//DX36wOWXw4ABabfGNaSiooKKioq0m+GcKzEbN4b1ccrLc1tv0U4hl9QXuMLM\njk2kHQz8g/CgcHtgGtDJzEzSTOCnwGzgn8BIM5ss6WLgq2Z2saQBQH8zGxAfPH6OEES1iMfdzKxK\n0ljgYTMbK2kUMM/MNtsh2Kd1Zufjj+G44+DYY+H669NujWsMn0JeGN7XuFL37LMwaFDYiLmmbPqZ\nYp4afRY1blWZ2cuSHgBeBtYBFyd+8y8B7ga2AyaZ2eSYfgdwr6RKYCUwINa1WtJvCMGNAdfFB5AB\nhgBjYv6cWIfLoXXr4Mwz4aCD4Pe/T7s1zjnn0jR+PPTv33C5LVW0IzlNgX+7ahwzOP98eP/98A87\nF0t3u3T4SE5heF/jSt0hh8Cdd0LPnpvnlepIjitRv/oVLFoETz7pAY5zzjV3S5bA6tVhI+Zc8yDH\nFdSf/gSPPAJPPw077ph2a5xzzqVtwgQ45ZT87FFY1OvkuNIyZkzYTXzKFNh997Rb45xzrhhMmJCf\n53HAn8nJit8nz9wTT8A554RbVF/7Wtqtcbniz+QUhvc1rlS9+y585Svh57bb1l6m5DbodKXlhRdC\ngDNunAc4zjnnNnnssbBWWl0BTrY8yHF59eqrcNJJYWfxo49OuzXOOeeKST5WOU7y21VZ8CHk+r37\nLnzzm2E14wsvTLs1Lh/8dlVheF/jStFHH8Fee8Fbb8Euu9Rdzm9XuaLz4YdhP6pzz/UAxznn3Oam\nToUjj6w/wMmWBzku5z77DL7zHTjiCBg6NO3WOOecK0b5vlUFfrsqKz6EvLmNG8PozX/+Ex403mqr\ntFvk8slvVxWG9zWu1KxbB+3awdy5sM8+9Zf1FY9dUTALz98sXRrWwvEAxznnXG2efhr226/hACdb\nRXm7StJhkmZImiPpWUlHJPKulFQpaaGkExLpXSXNl7RE0ohEektJY+I5MyR1SOQNiuUXSxqYSO8o\naWbMu1+SB4MZuPlmmDYtLOy0/fZpt8a5dEnqK2lR7EeuqCW/laSJkuZKWiDpvBSa6Vwq8rUhZ01F\nGeQANwFDzexwYCjwPwCSDgbOBA4C+gG3SqoewhoFDDazzkBnSX1i+mBglZl1AkbEupHUBrgW6A70\nBIZKah3PuREYHuuqinW4eoweDbfcAo8/Dm3apN0a59IlqQVwC9AHOAQ4W9KBNYpdArxkZl2AY4Hh\n/oXKNQdm+V3lOKneXyhJjwJ13gg2s1Ny3qJgI1AdcOwCLIvHpwBjzGw98IakSqCHpDeBnc1sdiw3\nGugPTAFOJQRKAOOAP8fjPsBUM1sDIGkq0BcYC/QCzo7l7gGGAX/N8TWWjMcfh1/+EsrLYe+9026N\nc0WhB1BpZm8CSBpD6IsWJcoYsHM83hlYGfs250ravHnhcYZDDsn/ZzX0reHm+PM7QDvg/8X3ZwPv\n5qtRwM+BKZKGAwK+EdPbAzMS5ZbFtPXA0kT60phefc7bAGa2QdIaSbsm05N1SdoNWG1mGxN17ZWr\nCys1s2bBwIEwcSIcdFDarXGuaNTsX5YSAp+kW4CJkpYDOwFnFahtzqWq+laVCjBlod4gx8yeApA0\n3MyOSGQ9Kum5bD5Y0jSgbTKJ8M3mKuB44GdmNl7S6cCdQO9sPq/G5+SiDADDhg37/LisrIyysrIt\nb1ETtXhxmP53113w9a+n3RpXCBUVFVRUVKTdjFLRB5hjZr0kHQBMk3SomX1UW+Hm3Ne40jJhAowc\nWXd+LvuZjKaQS1oIfNvMXovv9wMmmVlevrtLqjKzXWq+lzQEMDO7MaZPJtyKehMor26PpAHAMWZ2\nUXUZM5slaSvgHTPbM5YpM7ML4zm3xTrGSnoPaGdmGyUdGc/vV0s7m+20zuXLw2rG114L55+fdmtc\nWnwKee1ivzHMzPrG91/ou2LaY8D1Zvav+P5J4Aoz2+wLZHPua1xpeeMN6N4dVqzIfAZuIVY8/jlQ\nIalC0lNAOfCzxnxghpZJOgZA0nFAZUyfCAyIM6b2A74MPGtmK4A1knrEB5EHAhMS5wyKx2cA0+Px\nFKC3pNbxIeTeMQ3C9Z0Rjwcl6nLAmjXQrx/86Ece4DhXh9nAlyXtK6klMIDQFyW9SRi1RlJboDPw\nWkFb6VyBTZwIJ59cuCVGMnqS38wmS+oEVM8OWGRmn+avWfwQGBlHXtYCP4rteFnSA8DLwDrg4sTX\nm0uAu4HtCKNMk2P6HcC98SHllYTOBjNbLek3wHOE22TXmVlVPGcIMCbmz4l1OGDt2nCL6phjYMiQ\ntFvjXHGKz//9GJhK+DJ5h5ktlHRByLbbgd8Cd0uaH0/7pZmtSqnJzhXE+PHws3wOkdSQ6e2qbYCL\ngOp9pCuAv5rZuvw1rfg1tyHkDRvgrLNCBH7//dCiWBcgcAXjt6sKo7n1Na40rVoFHTuGW1U77JD5\neYVY8XgUsA1wa3z//Zj2g8Z8qGt6zOCnP4XVq2HSJA9wnHPObZl//hOOO27LApxsZRrkdDezwxLv\np0ual48GueL0u9/BM8/AU0/Bttum3RrnnHNNTSE25Kwp0+/jG+IURwAk7Q9syE+TXLH5+9/DNPHH\nH4dWrdJujXPOuabmP/+BJ56Ak04q7OdmOpLzC6Bc0muENWT2BXxeTTMwYQJccw387/+GHWOdc865\nLfXkk9ClC+y+e2E/N9PZVU/G2VVfiUmL8zy7yhWBf/0LfvjD8AxOp05pt8Y551xTVagNOWvy2VVZ\nKOUZDy+9BL16wb33wgknNFzeNU8+u6owSrmvcaVvwwbYay+YMQP233/Lz/fZVS6n3n47LPb3hz94\ngOOccy47M2dC27aNC3Cy5bOr3BesWgV9+sCll8L3vpd2a5xzzjV1ad2qAp9d5RI++SQst/3tb8Nl\nl6XdGuecc02dWbpBjs+ucgCsXw8DBoThxBtvbLi8c84515CFC+HTT+Hww9P5fJ9d5TCDCy+Ezz6D\nO+/01Yydc87lRvUCgEppesKW/HfWDfgq0AU4S9LA/DQJJB0q6RlJ8yRNkLRTIu9KSZWSFko6IZHe\nVdJ8SUskjUikt5Q0Jp4zQ1KHRN6gWH5x8nokdZQ0M+bdLynTEa8m6dprYf58GDcOttkm7dY455wr\nFRMmFH6V46SMghxJ9wI3A0cB3ePriDy26++EHXkPAx4BfhnbcTBwJnAQ0A+4Vfo8PhwFDDazzkBn\nSX1i+mBglZl1AkYAN8W62gDXxmvpCQyV1DqecyMwPNZVFesoSX/5C4wdG/YU2Wmnhss755xzmVi+\nHCor4Zhj0mtDpiM5RwDfNLOLzewn8fXTPLark5k9HY+fAL4bj08BxpjZejN7A6gEekhqB+xsZrNj\nudFA9WNOpwL3xONxQK943AeYamZrzKwKmAr0jXm9gIfi8T3Aabm8uGLx4IPw+9/DlCmwxx5pt8Y5\n51wpmTgRTjwx3TsEmQY5LwKFXNT/JUmnxOMzgb3jcXvg7US5ZTGtPbA0kb40pn3hHDPbAKyRtGtd\ndUnaDVhtZhsTde2Vi4sqJvPmwSWXhBGc/fZLuzXOOedKTRobctZU77Mmkh4FDNgZeFnSs8DnDxyb\n2Sl1ndsQSdOAtsmk+FlXAf8F/FnSNcBE4LPGfk5tH52jMgAMGzbs8+OysjLKysq2vEUFZhbWwfn1\nr8NeIs5lqqKigoqKirSb4ZwrcmvWwDPPhDsGaWrogdqb8/XBZta7gSJ9AOKsrm/HtGXAPokye8e0\nutKT5yyXtBXQysxWSVoGlNU4p9zMVkpqLalFHM1J1rWZZJDTVEyYAP/+N/zA16t2W6hmIH/dddel\n1xjnXNGaPBmOOgp23jnddtQb5JjZU4VqSJKkPczsfUktgKuB22LWROAfkv5IuN30ZeBZMzNJayT1\nAGYDA4GRiXMGAbOAM4DpMX0K8Lv4sHELoDcwJOaVx7Jj47kT8naxBfbpp3D55TBqFGxd0nPGnHPO\npSXNBQCT6n0mR9LT8eeHkj5IvD6U9EEe23W2pMXAy8AyM7sbwMxeBh6I6ZOAixO71l0C3AEsASrN\nbHJMvwPYXVIlcCkxkDGz1cBvgOcIAdB18QFkYpnLJC0Bdo11lIRbboGDDoLeDY2jOeecc43w2Wdh\nJOeURj/QkjsZ7ULuatfUdgZ+/304+GB4+mn4ylcaLu9cQ0p1F3JJ2xFmbL5fI30P4EMzW1vg9jSp\nvsY1b1OnwtChYdfxXMimn2loJGfX+l6Na65Ly7XXhk03PcBxrkEjgW/Vkn4U8MdMKpDUV9KiuKjo\nFXWUKZM0R9KLksqzaK9zRaNYblVBAyM5kl4nzHiqLYIyM0th4/Ti0ZS+Xb34Ihx3XNhHZFcPT12O\nlPBIzvNm1q2OvJfM7JAGzm9BuHV+HLCc8KzgADNblCjTGngGOMHMlkna3cz+XUd9Taavcc3bxo3Q\noQM8+WTuvlBn08809OCxr6BSAszCruJXX+0BjnMZ2qGevEzWF+tBeDbwTQBJYwgLky5KlDkHeMjM\nlgHUFeA415Q8/3xYPb9Y7hhkuq2DJJ0b161BUoc4k8k1AZMmwdtvh004nXMZea+2Pk5Sd+D9WsrX\nVHOx0eQCpdU6A7tKKpc0W9L3G91a54pEMd2qggx3IQduBTYStjv4DfAhYduD7nlql8uRdevgv/8b\n/vAH33zTuS3wC+ABSXcDz8e0IwjLUwzI0WdsDXQl9Ks7AjMkzTCzV3JUv3MFN2EC/O1vabdik0yD\nnJ5m1lXSHAjTryW1zGO7XI6MGgUdO0K/fmm3xLmmw8yeldQTuBg4Lya/ROgL38ugimVAh8T72hYV\nXQr8O87UWivpf4HDgFqDnKa4urprXl55JSw027NndvXkcmX1jKaQS5oFfAOYHYOdPQibWx6ek1Y0\nUcX+MOCqVXDggVBeDofU+5ikc41Tqg8eZyuurr6Y8ODxO8CzwNlmtjBR5kDgz4SNgbclrNd1VlwP\nrGZ9Rd3XOAcwfDgsWQJ//Wtu683bg8cJI4FHgD0l/Q44HbimMR/oCue66+CMMzzAcW5LSVpAmFm6\nWRaw0cwOq+98M9sg6cfAVMKzj3eY2UJJF4Rsu93MFkmaAswHNgC31xbgONdUjB8PV16Zdiu+KOPF\nAOO3juMIv+RPJr+RNFfF/O1q0SL41rfClPHdd0+7Na5UlepIjqR9a0sm7IN3pZmdWOD2FG1f4xzA\ne+9B586wYgVst11u6877SI6kwWZ2B4npj5JuMLMh9ZzmUnT55SGi9gDHuS1XPfUbQNLhhOneZwCv\nEyZdOOcSHnssbBeU6wAnWxlNIQe+K+l71W8k/QXYI5sPlnR6XOVzg6SuNfKulFQpaaGkExLpXSXN\njyuIjkikt5Q0Jp4zQ1KHRN6gWH6xpIGJ9I6SZsa8+yVtncgbGeuaK6lLNteZhilTYPFi+PGP026J\nc02TpM6ShkpaRHhu5i3CyPexZnZLys1zrugU29TxahkHOcB5ks6WdA+w3swGZ/nZC4DTgC/sdC7p\nIOBM4CCgH3CrpOphqlHAYDPrDHSW1CemDwZWmVknYARwU6yrDXAtYap7T2BoXGUU4EZgeKyrKtaB\npH7AAbGuC9i0A3qTsH59WPjv5puhpc9/c66xFhGmdp9kZkeZ2Z8Jz80452r4+GOoqIATC3oTNzMZ\n7V0FbA/8APglYY2c67Ldu8rMFptZJZtvGXEqMMbM1pvZG0Al0ENSO8KGebNjudFA/8Q598TjcYTO\nCaAPYRbYmrjD+FTCTAZimeph53tq1DU6tnEW0FpS22yutZD+9jdo1644dn91rgn7DmFWVLmkv0mq\nfh7ROVfD1KnQowe0aZN2SzbX0DM5z7Np76rqn9+OLwPysXdVeyC5d+mymLaesK5EteQKop+vLhpn\nNayJQVjNVUeXAe0l7QasNrON9dVV4/PfzfK68q6qCoYNC//g5N2xc41mZuOB8ZJ2JHzxuZQwu3QU\n8IiZTU21gc4VkWK9VQV53rtK0jQgOQpSHSxdZWaPZlN3Qx+dozJNym9/C6eeCofVO7nVOZcpM/sY\nuA+4L97+PgO4gjAq7Fyzt349/POf4f+fYlRvkCOpl5lNl/Sd2vLN7OH6zjez3o1o0zLCNM1q1SuF\n1pWePGd5XISrlZmtkrQMKKtxTrmZrZTUWlKLOJpTW121fc5mimUV0spKuPtueOmlVD7eNRO5XIm0\nqTGz1cCFNuc6AAAgAElEQVTt8eWcA55+GvbdF/bZp+Gyaah3nRxJ15nZUEl31ZJtZvZfWTdAKgcu\nN7Pn4/uDgX8QHhRuD0wDOpmZSZoJ/BSYDfwTGGlmkyVdDHzVzC6WNADob2YD4jev5wj7w7SIx93M\nrErSWOBhMxsbh6Dnmdltkk4ELjGzb0s6EhhhZkfW0faiWbvitNPgyCPhiivSbolrTkp1nZxiU0x9\njXNJl14Ku+0G1+RxeeBs+pmMFwPMNUn9CVMzdyfMbpprZv1i3pWE2U7rgJ9V3/+W1A24G9gOmGRm\nP4vp2wL3AocDK4EB8aFlJJ0HXEW4TfZbMxsd0/cDxgBtgDnAuWa2LubdQnhA+WPgfDN7oY5rKIqO\np7wcBg+Gl18uvjUKXGnzIKcwiqWvcS7JDPbfP2zKeeih+fucvAU5ki6r72Qz+0NjPrRUFEPHs2ED\ndOsGV18Np5+ealNcM+RBTmEUQ1/jXE3z5oW7CK++mt/JLvlc8XjnxlTqCueuu6BVK/jud9NuiXPO\nueZkwoQwq6qYZ/OmdruqFKT97eqDD8Iu448+GkZznCs0H8kpjLT7Gudq07Ur/PGPcMwx+f2cbPqZ\nTFc8Tn5Yrc+nuMK7/nro08cDHOecc4X15pvw1lvwzW+m3ZL6ZbRBZw3+ra0IvP463H47LFiQdkuc\nc841NxMnwkknwdaNiSIKaItHcghTt13KrrgCfv5z2GuvtFvinHOuuSnmVY6T/JmcLKR1n/z//g/O\nPRcWLYLtty/4xzv3OX8mpzD8mRxXTFatgo4dYcUK2GGH/H9ePmdXVX/Ah4R1ZpLWEBbX+28ze60x\nH+623MaNYQTnhhs8wHHOOVd4kybBsccWJsDJVqZ300YQNrG8j/BMzgDgAOAF4E6+uHWCy6N774Vt\ntoEBA9JuiXPOueaoqdyqggxvV0maZ2aH1Uiba2ZdastrLgo9hPzRR2HK+LhxYQsH59Lmt6sKw29X\nuWKxdi20bQuvvAJ77FGYzyzEFPJPJJ0pqUV8nQmsjXn+m1cgN90U1iPwAMc551wannwSDjuscAFO\ntjK9XfU94E/ArfH9DOBcSdsDP85Hw9wXvfUW/OUvMHdu2i1xzjnXXDWlW1WQ4UiOmb1mZieb2e7x\ndbKZvWJm/zGzpxvzwZJOl/SipA2SuibSd5U0XdKHkkbWOKerpPmSlkgakUhvKWmMpEpJMyR1SOQN\niuUXSxqYSO8oaWbMu1/S1om8kbGuuZK6NOb6cu3KK+GSS4p3O3vn3BdJ6itpUexjrqinXHdJ6yR9\np5Dtc25LbdgQVtg/9dS0W5K5jIIcSXtLekTSe/H1kKS9s/zsBcBpwFM10tcCVwP/Xcs5o4DBZtYZ\n6CypT0wfDKwys06Eh6Rviu1uA1wLdAd6AkMltY7n3AgMj3VVxTqQ1A84INZ1AXBblteZtZkz4amn\n4Je/TLslzrlMSGoB3AL0AQ4BzpZ0YB3lbgCmFLaFzm25WbPCbaoDDki7JZnL9Jmcu4CJwF7x9WhM\nazQzW2xmldRYQdnMPjGzZ4BPk+mS2gE7m9nsmDQaqB40OxW4Jx6PA3rF4z7AVDNbY2ZVwFSgb8zr\nBTwUj++pUdfo2JZZQGtJbbO51myYwaWXwu9/DzvtlFYrnHNbqAdQaWZvmtk6YAyhb6npJ4Q+671C\nNs65xqjekLMpyTTI2cPM7jKz9fF1N1Dox47aE6axV1sa06rz3gYwsw3AGkm7JtOjZUB7SbsBq81s\nY311Jc/J4XVskfvvD0OE556bVgucc41Qsx9J9jEASNoL6G9mo/DtclyRM4NHHmlat6og8wePV0o6\nF7g/vj8bWNnQSZKmAclREBFmY11lZo9uSUO3UCYdRk46lWHDhn1+XFZWRllZWS6qBeCTT2DIELjv\nPmjRmA04nMuxiooKKioq0m5GqRgBJJ/VqbdPymdf41xDFi0K/ycVYkPoXPYzma6Tsy/wZ+DrhCDl\nGeAnZvZ2vSdm0gCpnLBq8gs10gcB3czsp/F9O6DczA6K7wcAx5jZRZImA0PNbJakrYB3zGzPWKbM\nzC6M59wW6xgr6T2gnZltlHRkPL9fskw8Z1H8nHdraXte1674zW/CBpwPPJC3j3AuK75OTu1inzLM\nzPrG90MAM7MbE2WqV4oXsDvwMfAjM5tYS32+To5L1Q03wNtvh1m+hZb3dXLifeVTzGwPM9vTzPoD\n323MB9ahrsZ/nm5mKwi3oXpIEjAQmBCzJwKD4vEZwPR4PAXoLal1fAi5N5se8CuPZYnnJusaCJ93\nVFW1BTj5tnw5/OlPcOONDZd1zhWd2cCXJe0rqSVhlfgvBC9mtn987Ud4Lufi2gIc54pBU5s6Xq3R\nG3RKesvMOjRcss7z+xNGh3YnzG6aa2b9Yt7rwM5Ay5h3gpktktQNuBvYDphkZj+L5bcF7gUOJ9xG\nG2Bmb8S884CrCCNQvzWz0TF9P8LDgG2AOcC58QFBJN1CeED5Y+D8mqNMiWvI27er886DL30Jrr8+\nL9U7lxM+klM3SX0J64u1AO4wsxskXUAY0bm9Rtk7gcfM7OE66vKRHJea5cvhkEPg3XehZcvCf342\n/Uw2Qc7bZtasV23JV8fz/PNw8snhHmirVjmv3rmc8SCnMDzIcWn661/DMib33ZfO5xdiW4fa+G9c\nHlRPGf/1rz3Acc45l76meqsKGphdJelDag9mBGyflxY1cw89BB9+COefn3ZLnHPONXcffAD/+heM\nHZt2Sxqn3iDHzHYuVENc2N31F7+AO++ErbZKuzXOOeeau8mT4ZvfbLp3Fnz1lSLypz9Bly5w7LFp\nt8Q555xr2reqIIsHj11uHwZcsQK++tWwT9WXv5yTKp3LO3/wuDD8wWOXhs8+g7Zt4aWXYK+90mtH\nWg8euxy65powbdwDHOecc8XgqafgK19JN8DJVqbbOrg8mjs3bF+/aFHaLXHOOeeCpn6rCjzISZ0Z\nXHYZDB0Ku+ySdmucc8658H/ThAkwbVraLcmO365K2cSJ8N578MMfpt0S55xzLnj+edhxRzjwwLRb\nkh0fyUnRZ5/B5ZeHDc+29r8J55xzRWLCBDj1VFATn1bgIzkpuuWW8FDXCSek3RLnnHNuk1J4HgdS\nDHIknS7pRUkbJHVNpB8v6TlJ8yTNlnRsIq+rpPmSlkgakUhvKWmMpEpJMyR1SOQNiuUXSxqYSO8o\naWbMu1/S1om8kbGuuZK65OP6338/bL558835qN0555xrnFdfDf9H9eyZdkuyl+ZIzgLgNOCpGunv\nAyeZ2WHAeYTdxauNAgabWWegs6Q+MX0wsMrMOgEjgJsAJLUBrgW6Az2BoZJax3NuBIbHuqpiHUjq\nBxwQ67oAuC1nV5wwbBicc07Tv9/pnHOutEyYEDaJLoWV91MLcsxssZlVEvbBSqbPM7MV8fglYDtJ\n20hqB+xsZrNj0dFA9WDaqcA98Xgc0Cse9wGmmtkaM6sCpgJ9Y14v4KF4fE+NukbHz58FtJbUNhfX\nXO2ll+DBB8OMKuecc66YlMqtKijyZ3IknQ68YGbrgPbA0kT20phG/Pk2gJltANZI2jWZHi0D2kva\nDVhtZhvrqyt5Tq6uqXrK+NVXw6675qpW55xzLnvvvw/z5sFxx6XdktzI65weSdOA5CiICLuaX2Vm\njzZw7iHA9UDvxnx0jso0aNiwYZ8fl5WVUVZWVm/5xx+HN9+Eiy7Kxac7V1gVFRVUVFSk3QznXJ48\n9hj07g3bbZd2S3Ijr0GOmTUmQEHS3sDDwPfN7I2YvAzYJ1Fs75iWzFsuaSuglZmtkrQMKKtxTrmZ\nrZTUWlKLOJpTW121fc5mkkFOQ9atC6M4w4fDNttkfJpzRaNmIH/dddel1xjnXM6NHw9nnJF2K3Kn\nWG5XfT6qEh8Mfgy4wsxmVqfH53TWSOohScBAYELMnggMisdnANPj8RSgdwxo2hBGhabEvPJYlnhu\nsq6BsS1HAlVm9m4uLvK222DffeHEE3NRm3POOZc7n3wC5eWl9X9UaruQS+oP/BnYnTC7aa6Z9ZN0\nFTAEqH4o2YATzOzfkroBdwPbAZPM7Gexrm0Js7AOB1YCA6pHgCSdB1wV6/mtmY2O6fsBY4A2wBzg\n3PjsD5JuITyg/DFwvpm9UMc1ZLwz8KpVYSbV9Olht3HnSoHvQl4Yvgu5K4Tx4+HPf4Ynn0y7JV+U\nTT+TWpBTCrak47n00rDC8a235rlRzhWQBzmF4UGOK4TzzoNu3eAnP0m7JV/kQU5KMu14Fi+Go46C\nl1+GPfYoQMOcKxAPcuomqS9h3a4WwB1mdmON/HOAK+LbD4GLzGxBHXV5kOPyav16aNcu7Fm1775p\nt+aLsulniuWZnJJ2+eUwZIgHOM41F5JaALcQ1uo6BDhbUs2lP18Djo4Ln/4W+FthW+ncJv/6F3To\nUHwBTrZ8W8g8mzYNFi6EcePSbolzroB6AJVm9iaApDGEhUYXVRdITqwAZpLD9bic21LVG3KWGh/J\nyaP168OU8Ztvhm23Tbs1zrkCqrmoaHLB0dr8AHg8ry1yrg5mpbXKcZKP5OTR3/8Ou+9emtGxcy43\n4ibE5wNHpd0W1zwtWBACnUMPTbsluedBTp6sWRM24Zw8GeSPZTrX3CwDOiTe17qoqKRDgduBvma2\nur4Kt3R1decyVX2rqlj+r8rlyuo+uyoL9c14+MUvoKoK/uaPEroS5rOrahdXXl8MHAe8AzwLnG1m\nCxNlOgBPElZ2n1lrRZvK+uwqlzfduoWV+Is1bs6mn/GRnDx45RW46y548cW0W+KcS4OZbZD0Y2Aq\nm6aQL5R0Qci224FrgF2BW+Mq7uvMrEd6rXbN0Vtvhf0UjyrRm6U+kpOFur5dfec70KNHmDbuXCnz\nkZzC8JEcly+33AKzZ8M996Tdkrr5OjlFpLwc5swJKxw755xzxaxUZ1VVSy3IkXS6pBclbZDUNZHe\nXdKcxKt/Iq+rpPmSlkgakUhvKWmMpEpJM+K97uq8QbH8YkkDE+kdJc2MefdL2jqRNzLWNVdSl0yv\nacOGMGX8pptKZ5t655xzpWn1anj2WTjhhLRbkj9pjuQsAE4DnqolvZuZHQ70A/4aVw8FGAUMNrPO\nQGdJfWL6YGCVmXUiLKN+E0DcefxaoDvQExgadzkHuBEYHuuqinUgqR9wQKzrAuC2TC/o7rthp53g\n9NMzPcM555xLx6RJ4WHjHXdMuyX5k1qQY2aLzax6p/Fk+loz2xjfbg9sBJDUDtjZzGbHvNFA9SjP\nqUD1HcVxQK943AeYamZrzKyK8BBg35jXC3goHt9To67RsS2zgNaS2jZ0PR9+CNdcA3/8Y/FMw3PO\nOefqUuq3qqBIn8mR1EPSi8A84MIY9LQnrBpaLbmC6Oeri5rZBmCNpF3ZfNXRZUB7SbsBqxPBVK11\nJc9pqM3XXw+9e8MRR2R+nc4551wa1q4N2w6ddFLaLcmvvE4hlzQNSI6CCDDgKjN7tK7zzOxZ4KuS\nvgKMlrSly51nMpaSs/GWN96A22+HefNyVaNzzjmXP9Onw9e+BnvumXZL8iuvQY6Z9c7y/MWSPgK+\nShhR2SeRnVxBtDpveVyEq5WZrZK0DCircU65ma2U1FpSiziaU1tdtX3OZoYNG8aDD4Z/LJWVZbRv\nX1ZXUeeavFyuROqcS0+pbshZU+rr5EgqBy43s+fj+47A23ExrX2BfwGHxqBlJvBTYDbwT2CkmU2W\ndDHwVTO7WNIAoL+ZDYgPHj8HdCXcmnuO8FBzlaSxwMNmNlbSKGCemd0m6UTgEjP7tqQjgRFmdmQd\nbbennzbOPhsWLYIddsjbH5NzRcnXySkMXyfH5dLGjbDXXvB//wedOqXdmoY1yRWP49TwPwO7A49J\nmmtm/Qib1A2R9BnhoeOLzGxVPO0S4G5gO2CSmU2O6XcA90qqBFYCAwDMbLWk3xCCGwOuiw8gAwwB\nxsT8ObEOzGySpBMlvQJ8TNg4r06XXgo33OABjnPOuaZh1qyweXRTCHCylfpITlMmyXr2NGbM8BlV\nrnnykZzC8JEcl0tDhsBWW8Hvfpd2SzLjKx6naMQID3Ccc841Hc1h6ng1H8nJgn+7cs2dj+QUhvc1\nLlcWLYLjjw8bc7ZoIsMcPpLjnHPOuQZNmACnnNJ0ApxsNZPLdM4551xzulUFfrsqKz6E7Jo7v11V\nGN7XuFx45x04+GB4911o2TLt1mTOb1c555xzrl6PPgp9+zatACdbHuQ455xzzUBzu1UFfrsqKz6E\n7Jo7v11VGN7XuGx9+CG0bw9Ll0KrVmm3Zsv47SrnnHPO1WnyZPjGN5pegJMtD3Kcc865Ejd+fPPY\nkLMmv12VBR9Cds2d364qDO9rXDbWrYO2bWHBgnDLqqlpkrerJJ0u6UVJGyR1rSW/g6QPJV2WSOsq\nab6kJZJGJNJbShojqVLSDEkdEnmDYvnFkgYm0jtKmhnz7pe0dSJvZKxrrqQu+fkTaFhFRYXXX8L1\nF+IzCnENrnaS+kpaFPuYK+oo02BfI2kXgKqqqtqyc6Kp/zv0+us3cmQFnTrlL8Ap5n4mzdtVC4DT\ngKfqyB8OTKqRNgoYbGadgc6S+sT0wcAqM+sEjABuApDUBrgW6A70BIZKah3PuREYHuuqinUgqR9w\nQKzrAuC2bC+0sZr6L5bXn/5nFHPnU8oktQBuAfoAhwBnSzqwRpkG+xpJu/SCaQC/6t07b4FOU/93\n6PXXb+zYirzeqirmfia1IMfMFptZJbDZEJSkU4HXgJcSae2Anc1sdkwaDVRPhjsVuCcejwN6xeM+\nwFQzW2NmVcBUoG/M6wU8FI/vqVHX6NjGWUBrSW2zuFTnXPPTA6g0szfNbB0whtC3JNXb11QHOOPg\nCIDfPfdcXgMdV5rMwn5VzW3qeLWtGy5SWJJ2BH4J9AZ+kchqDyxNvF8a06rz3gYwsw2S1kjaNZke\nLQPaS9oNWG1mG+urK3kO8G6Wl+acaz5q9iNLCYFPfWU+72uSAU6bmNmGEOhc3L03J/96GjvttEvO\nGrt4cVgoLl9Kof6JE7+YVtsjUpmm1UxfuBAefrjx59eX9s47sPXWcNBBtddT8swsby/CMOv8xGtB\n/Hlyokw50DXx/n+A0+PxUOCyeNyNMCpTXe4oYGI8XgDslch7BdgV+G/gV4n0q4HLgN0I37Kq0/cG\n5sfjR4FvJPKeSLavxvWZv/zV3F/57EOa6gv4LnB74v25wMgaZersaw6Bsa+BWXyl/XfsL3+l/Wrs\n72JeR3LMrHcjTusJfFfSTYQvLxskrQUeBvZJlNub8M2H+HMfYLmkrYBWZrZK0jKgrMY55Wa2UlJr\nSS0sjObUVldtn1Pz+nxWiXOuNsuADon3tfUjdfY1L8EFP4D9q0dyLBZYDZwOz02H3hZuwTvn6lEs\n6+R8HiyY2dFmtr+Z7U94iPj3Znarma0A1kjqIUnAQGBCPG0iMCgenwFMj8dTgN4xoGlDuAU2JeaV\nx7LEc5N1DQSQdCRQZWZ+q8o5tyVmA1+WtK+klsAAQt+SVGdfY2ZV06H36fDc6ljYAxzntlyaU8j7\nS3obOBJ4TNLjGZx2CXAHsIRwu2lyTL8D2F1SJXApMATAzFYDvwGeA2YB1yU6hyHAZZKWEG5t3RHP\nmQS8LukV4K/AxVlfrHOuWTGzDcCPCZMdXgLGmNlCSRdI+lEsU29fkwx0XscDHOcawxcDdM65IiZp\nl0Pgry/BBR7gOLdliuV2VdGSdIekdyXNr6dMoxcPbKh+ScdIqpL0QnxdvYX17y1puqSXJC2Q9NNc\nXkMm9WdzDZK2lTRL0pxY/9Act7/B+rP9O4h1tIjn1rxlkVX7M6k/B/+G3pA0L/4ZPZuP9ru6+wIz\nq3rR7Cwzq/K+xvuaDD7H+5qktGchFPuLMIurC3H2VS35/YB/xuOewMwc138McRZZI9vfDugSj3cC\nFgMH5uoaMqw/22vYIf7cCpgJ9Mjx30FD9WfV/ljHz4H/V1s92bY/g/qz/fN/DWhTT37W7feX9zU5\nqt/7Gu9rvvDykZwGmNnThGf+6pLV4oEZ1A+1LJi4BfWvMLO58fgjYCGb1gSq1uhryLB+yO4aPomH\n2xLWdqp5jzXbv4OG6ocs2i9pb+BE4O91FMmq/RnUD1m0P55bX1/hC2jmgPc1OakfvK/xvibBg5zs\n1bWgVy59PQ7N/VPSwY2tRFJHwje5WTWycnIN9dQPWVxDHB6dA6wAptmmVa+rZdX+DOrPqv3AHwkL\nW9b1AFy2f/4N1Q/Ztd+AaZJmS/phLfmF+B1w3tdkUj94X+N9TYIHOcXveaCDmXUh7IUzvjGVSNqJ\nsOXFz+K3oJxqoP6srsHMNprZ4YR1RHpm0/k2sv5Gt1/St4F34zdQkd23nMbWn+2/oW+aWVfCN7hL\nJB2VTZtd0fK+xvuabOsvur7Gg5zsZbx4YGOY2UfVQ5xm9jiwjcKWFRlT2GF9HHCvmU2opUhW19BQ\n/bm4hnjuB4T1jfrWyMrJ30Fd9WfZ/m8Cp0h6DbgfOFbS6By2v8H6s/3zN7N34s/3gUfYfHuCvP4O\nuM95X+N9TX28r6mFBzmZqS8qzsXigXXWry9u2NeDMO1/1RbWfyfwspn9qY78bK+h3vqzuQZJuyvu\nHC9pe8KCjoty1f5M6s+m/Wb2KzPrYGFxywHAdDMbmKv2Z1J/ln/+O8RvztX7yp0AvJir9rvNeF+T\nRf3e13hfU1PRbdBZbCTdR9gaYjdJbxH202pJ2EvjdjObJOlEhQW9PgbOz2X9wOmSLgLWAf8BztrC\n+r8JfA9YEO8FG/ArYN9cXEMm9Wd5DV8C7pHUghCUj43tvSAX7c+k/izbX6sctr/B+smu/W2BRyQZ\nob/4h5lNzXf7myPva7KvP8tr8L4my/opwr7GFwN0zjnnXEny21XOOeecK0ke5DjnnHOuJHmQ45xz\nzrmS5EGOc84550qSBznOOeecK0ke5DjnnHOuJHmQ45xzzrmS5EGOc84550qSBznOOeecK0ke5Djn\nnHOuJHmQkyVJd0h6V9L8DMr+XNJLkuZKmiZpn5h+mKRnJC2IeWfmv+XOOedcafO9q7Ik6SjgI2C0\nmR3aQNljgFlmtlbShUCZmQ2Q1AnYaGavSvoS8DxwoJl9kPcLcM4550qUj+RkycyeBlYn0yTtL+lx\nSbMlPSWpcyz7lJmtjcVmAu1jeqWZvRqP3wHeA/Yo2EU455xzJWjrtBtQom4HLogjMz2AUcBxNcoM\nBh6veWIsv0110OOcc865xvEgJ8ck7Qh8A3hQkmLyNjXKnAt0A46pkf4lYDTw/QI01TnnnCtpHuTk\nXgtgtZl1rS1T0vHAlcDRZrYukb4z8BhwpZnNLkhLnXPOuRLmz+TUQVJnSXMkvRB/rpH007qKxxdm\n9iHwuqTTE3UdGn8eDtwGnGJmKxP52wDjgXvM7JE8XZJzzZKkmyQtjDMXH5LUKqbvK+mT+Dv+gqRb\nE+d0lTRf0hJJIxLpLSWNkVQpaYakDom8QbH8YkkDE+kdJc2MefdL2jqRNzLWNVdSl/z/aTjXvHiQ\nUwczW2Jmh8cRmW7Ax8BmAYik+4BngM6S3pJ0PvA9YHDsuF4ETonFbwJ2JNzKmiNpfEw/EzgKOC8R\nWNU7U8s5l7GpwCFm1gWoJIykVnvFzLrG18WJ9FHAYDPrTPjd7hPTBwOrzKwTMILwO42kNsC1QHeg\nJzBUUut4zo3A8FhXVawDSf2AA2JdFxC+ADnncsinkGdA0gnANWb2rbTb4pxrPEn9ge+a2fcl7Qs8\nZmZfq1GmHTDdzA6O7wcAx5jZRZImA0PNbJakrYB3zGzPZJl4ziigwszGSnofaGtmGyUdGc/vJ+k2\noNzMxsZzFhKWlXi3MH8azpU+H8nJzFnA/Wk3wjmXtf/ii7MaO8aR0/K45hWEpR2WJsosjWnVeW8D\nmNkGYI2kXZPp0TKgvaTdCM/obayvruQ52Vycc+6L/MHjBsTnZU4BhtSS58NgrtkzMzVcKr8kTQPa\nJpMAA64ys0djmauAdWZ2XyyzHOhgZqsldQXGSzp4Sz86R2Xqr8D7GtfMNbaf8ZGchvUDnjez92vL\nNLO8vYYOHer1l3D9pXANxcLMepvZoYnX1+LP6gDnPOBE4JzEOevMbHU8fgF4FehMGFHZJ1H93jGN\nZF68XdXKzFbF9A41z7EwwaC1pBb11VVLXm3X2GT/nXj9Xn82r2x4kNOws/FbVc41WZL6Ar8gzGr8\nNJG+e3XwIWl/4MvAa2a2gnAbqkdc62ogMCGeNhEYFI/P+P/t3XuY1WW99/H3BxBFOQhq4BYND+Ex\nRUS0rO1sChHLw+7K1Npqam1TKw/Pdqfik6jVLvejoXbloTTFnYdS2+lOBlCYShMUlTRBxRJPKbqR\noTBTge/zx+8eWYwzw8ysw28dPq/rWhe/9Tvc67sGuf3OfQTmpOOZwERJQ9Ig5InpHMDcdC/p2cKy\njkufvz/QGh6PY1ZS7q7qgqRNgU8C/5p3LGbWa1cC/YHZaX3OeZHNpPpH4CJJ7wBryVYpb03PnAbc\nAGwC3BMRzen8dcBNkpYAy4GjASLr8roYWEDWTXZhQVnnALem64+lMoiIeyQdIulZstmbJ3QUvKTN\nAVpbW9l8881L8fMwaxhOcroQEX8jxz2kmpqaXH4dl1+Jz6jEd6h2kU3R7uj8ncCdnVx7BPhwB+ff\nJlvyoaNnbiBLjNqff45sWnlHz3y1k7CBLMGZALPnAOdNnMh3Zs8uS6JT6/8duvz6Lr8YnkJeBEnh\nn581qrffhk02EVEFA4/rUVuCczuMGwa8AUwZN65siY5ZtZJ6X894TI6Z9VgEjB6ddxT1qzDBGZrO\nDQW+vWAB502cSGtra1ePm1niJMfMeuwPf4C+ffOOon7tDtf8uCDBaTMUOHvBAi7+Vw8TNOsOJzlm\n1mPNzTB5ct5R1K8n4eQvwYIV7c6vAP5z3Dj+77XX5hGWWc1xkmNmPdbcDAcfnHcU9SsiWufAxM8W\nJGjufjUAACAASURBVDor8Jgcs57ywOMieOCxNaK//hX+4R/glVdg0CAPPC6ngtlV4yYMGscdLzjB\nscZTzMBjTyE3sx6ZOxf22w8GDsw7kvoXEa2SJgIrFm02m+ef3xznOGbd5+4qM+sRd1VVVtuigl//\n+uZ8//t5R2NWW9xdVQR3V1mjiYAddoC774Y99iiuGdm6T1IsXx7suCMsWgRbb513RGaV43VyzKwi\nnnkGVq+G3XfPO5LGM2wYHHMM/PCHeUdiVjuc5JhZt7V1VcltN7k44wy45hp46628IzGrDU5yzKzb\nZszweJw8jR6dDfq+6aa8IzGrDR6TUwSPybFG8tZb8IEPwEsvwZAh2TmPyamMwrpm7lw49VR48kno\n419TrQF4TI6Zld2vfw17770uwbF8NDXBxhvDzJl5R2JW/ZzkmFm3uKuqOkhw1llw2WV5R2JW/Zzk\nmFm3eL+q6nH00Vl31RNP5B2JWXVzktMFSUMk/VzSYklPStov75jM8vCnP8HKlbDXXnlHYgD9+8Np\np+HFAc02wElO1y4H7omIXYG9gMU5x2OWi+ZmmDTJA12rycknwy9+AcuW5R2JWfVyldUJSYOBj0fE\nTwAiYnVE/CXnsMxy4a6q6rPllnDUUV4c0KwrnkLeCUl7AdcCi8hacRYAp0fEWwX3eAq51b23386m\njv/pT7DFFutf8xTyyuisrnnqKTjwQFi6FAYMqHxcZpXgXcjLox8wFjgtIhZImgacA1xQeNPUqVPf\nO25qaqKpqamCIZqV3/33w667ZglOS0sLLS0teYfUI5IuAQ4F3gb+CJzQ1ioraU/gamAwsAbYNyLe\nkTQWuAHYhKzL+ox0f39gOrAP8L/AURHxQrp2PDAFCODbETE9nR8F3AoMAx4Bjo2I1enaFcBk4E3g\nixGxsCffbZddYNw4+OlP4Utf6vnPxqzeuSWnE5KGAw9GxA7p/ceAb0TEoQX3uCXH6t7ZZ8PAgXDB\nBe+/VgstOZI+CcyJiLWSvgsQEedI6gs8CnwhIv4gaSjQGhEhaT7w1Yh4WNI9wOURMVPSKcCHI+JU\nSUcB/xwRR6dnF5D9YiSyZGZsRKyUdBtwe0T8XNJVwMKIuEbS5PQZn0qTGi6PiP07+Q6d1jX33Qdf\n/zr84Q/ebsPqkxcDLIOIWAa8KGl0OvUJsq4rs4bStl9VrYqIeyNibXo7D9gmHR8E/D4i/pDuW5ES\nnBHAoIh4ON03HTgiHR8O3JiObwcmpONJwKyIWBkRrcAsoO2nNgG4Ix3f2K6s6emz5wND0i9XPTJh\nAvTrB7Nm9fRJs/rnJKdrXwd+Kmkh2bic7+Qcj1lFvfgivPJK1iVSJ04E7knHowEkNUtaIOnsdH4b\n4KWCZ15iXWK0DfAiQESsAVZKGlZ4PnkZ2EbSFsCKgiSrw7IKn+npF5LgzDO9OKBZRzwmpwsR8Xtg\n37zjMMvLzJlw0EHQt2/ekXRN0mygsBVEZGNjpkTE3emeKcC7EXFLuqcfcAAwDvg7cJ+kBUBPZlF2\npwm97J1IxxwD556bdVntsUe5P82sdjjJMbNONTfDYYflHcWGRcTErq5L+iJwCOu6lyBrVflNRKxI\n99xDNqbmp8C2BfeNJGtlIf25LfDnNKZncES8IelloKndM3MjYnlaVLRPas3pqKyOPud9uprksPHG\n2aad06bBj3/c+c/BrBaUcoKDBx4XwQOPrZ69+242dfypp2B4JyNFamTg8cHApcA/RsTygvObA/cC\nHwNWAzOASyOiWdI8su7qh4FfAVek86cCe6SBx0cDR3Qw8LhPOt4nIlrTwOM7I+K2NPD49xFxtaRD\nyGZvfkrS/sC03gw8bvP66zB6NDz9dPb3ZlYvPPDYzEpu3jzYYYfOE5waciUwEJgt6VFJPwRIA4Qv\nI0tIHgUWRERzeuY04DrgGWBJwfnrgC0lLQHOIFtWgtQadHEqaz5wYSqfdM9Zkp4hm0Z+XXrmHuA5\nSc8C1wCnFvMlt9oKjjwSrrqqmFLM6otbcorglhyrZ1OmZH9++9ud31MLLTn1oLt1zaJF2WyrpUth\nk03KH5dZJbglx8xKbsaM2p463oh22w3GjoWbb847ErPq4JacIrglx+rVq69mqxy//nq2Bktn3JJT\nGT2pa2bPzqaUP/GEFwe0+uCWHDMrqVmz4BOf6DrBser0yU9myc299+YdiVn+nOSY2fu4q6p2eXFA\ns3XcXVUEd1dZPVqzJptRtXAhjBzZ9b3urqqMntY1f/87jBoFc+Zk43TMapm7q8ysZBYsgK233nCC\nY9Vrk03glFOyxQHNGpmTHDNbj7uq6sMpp8DPf54NHjdrVE5yzGw9zc0weXLeUVixPvAB+Oxn4eqr\n847ELD8ek1MEj8mxerN8ebbK8WuvZfshbYjH5FRGb+uaJ5/MZlstXdq9v0+zauQxOWZWErNmwYEH\n+n+I9WL33WGvveCWWzZ8r1k9cpJjZu9xV1X9aZtO7kZna0ROcswMgLVrYeZMmDQp70islA46KFsW\n4L778o7ErPKc5HRB0lJJv5f0mKSH8o7HrJwWLoQhQ7IxOVY/2hYH/P73847ErPKc5HRtLdAUEXtH\nxPi8gzErJ3dV1a8vfCFb/2jx4rwjMassJzldE/4ZWYNobvb6OPVqwAD4ylfg8svzjsSssjyFvAuS\n/gS0AmuAayPiR+2uewq51YXWVthuO1i2LPsfYnd5CnlllKKuWbYMdtkFliyBLbcsUWBmFeAp5OVz\nQESMBQ4BTpP0sbwDMiuH++6DAw7oWYJjtWX4cPjMZ7w4oDWWfnkHUM0i4pX05+uSfgGMB+4vvGfq\n1KnvHTc1NdHU1FTBCM1Ko7tdVS0tLbS0tJQ9HiuPM87IZludfbbXQrLG4O6qTkjaFOgTEaskbQbM\nAi6MiFkF97i7ympeBGy7bdaas/POPXvW3VWVUcq65qCDsoHIxx9fkuLMys7dVeUxHLhf0mPAPODu\nwgTHrF48+ST07w+jR+cdiVVC23Ry/35mjcBJTici4rmIGJOmj384Ir6bd0xm5dDWVSW3xzSESZPg\nnXdg7ty8IzErPyc5Zg1uxoz6njou6RJJiyUtlHSHpMHp/OfTQp+Ppj/XSNozXdtH0uOSnpE0raCs\n/pJulbRE0oOStiu4dny6/2lJxxWcHyVpXrp2i6R+BdeuSGUtlDSmEj+PPn2ysTleHNAagZMcswa2\nahU89BBMmJB3JGU1C9g9IsYAS4BzASLi5tRSOxY4FvhTRDyenvkhcFJEjAZGS2rb7OIk4I2I+BAw\nDbgEQNJQ4JvAvsB+wAWShqRnvgdcmspqTWUgaTKwYyrrZKBi856OPRbmz4enn67UJ5rlw0mOWQOb\nOxfGj4eBA/OOpHwi4t6IWJvezgNGdnDbMcCtAJJGAIMi4uF0bTpwRDo+HLgxHd8OtKWHk4BZEbEy\nIlrJEqu29rEJwB3p+MZ2ZU1PMc4Hhkga3tvv2RNtiwNOm7bhe81qmZMcswZW711VHTgRmNHB+aOA\nW9LxNsBLBddeSufarr0IEBFrgJWShhWeT14GtpG0BbCiIMnqsKzCZ3rxnXrl1FPh1lth+fJKfaJZ\n5XmdHLMGFZElOXffnXckxZM0m2xG5HungACmRMTd6Z4pwLsRcXO7Z8cDb0bEot58dInu2aBSr8k1\nYgQccQRccw2cd15xsZmVUinX43KSY9agliyBd9+F3XfPO5LiRcTErq5L+iLZyuUdjT46mnWtOJC1\nqGxb8H5kOld47c+S+gKDI+INSS8DTe2emRsRyyUNkdQnteZ0VFZHn/M+hUlOqZxxBhxyCPzbv2XL\nCJhVg/ZJ/IUXXtjrstxdZdag2rqq6n3quKSDgbOBwyLi7XbXBHyONB4HICJeJeuGGp+uHwf8Ml2+\nC2hbRu9IYE46nglMTAnNUGBiOgcwN91LerawrONSHPsDrRGxrPhv3H177QW77gq33VbJTzWrHCc5\nZg2quRkmT847ioq4EhgIzE7TxX9YcO0fgRciYmm7Z04DrgOeAZZERHM6fx2wpaQlwBnAOQARsQK4\nGFgAzCdbHb01PXMOcJakZ4BhqQwi4h7gOUnPAtcAp5buK3efFwe0euZtHYrgbR2sVr31FnzgA/Di\ni7D55r0vx9s6VEY565q1a2G33bKNO731nlUjb+tgZj3y61/DmDHFJThWH/r0yVpzLrss70jMSs9J\njlkDaqCuKuuGY4+FBx+EZ57JOxKz0nKSY9aA2varMgPYdFM4+WS4/PK8IzErLY/JKYLH5Fgteu45\n2H9/eOWVrKuiGB6TUxmVqGteeSUbm/PHP8KwYWX9KLMe8ZgcM+u2tlacYhMcqy9bbw2HHQbXXpt3\nJGal42rOrMFUc1eVpNGS7pP0h/R+T0nn5x1XozjzTPjBD+Cdd/KOxKw0nOSYNZC334aWFpjY5frA\nufoR2S7h7wKkXcGPzjWiBjJmDIweDT//ed6RmJWGk5wuSOqTFg+7K+9YzErhgQeyFW633DLvSDq1\naUQ81O7c6lwiaVBnnZVNJ/dwQ6sHTnK6djrQm037zKpSNXdVJf8raUeyzTWR9FnglXxDaiyHHAKr\nVsFvf5t3JGbFc5LTCUkjyTb0+3HesZiVStt+VVXsNLItDnZJm16eAZySb0iNpU+fbONOLw5o9cBT\nyDsh6efAt4EhwP+JiMM6uMdTyK1mvPRSNuZi2TLo27c0ZZZrCrmkzYA+EfHXUpddiypd17z5Jowa\nlS0QuNNOFftYsw55CnmJSfoUsCwiFgJKL7OaNnNmNuC4VAlOOUj6jqTNI+LNiPirpKGSvpV3XI1m\ns83gy1/24oBW+/rlHUCVOgA4TNIhwABgkKTpEXFc+xunTp363nFTUxNN3uHOqtSMGXDoocWV0dLS\nQktLS0ni6cTkiDiv7U1ErEj/Dj2NvMJOOw0+/GG46CIYOjTvaMx6x91VGyDpQNxdZTXu3XezXccX\nL4YRI0pXbqm7qyQ9DuwbEW+n9wOABRGxe6k+oxblVdcce2yW6Pz7v1f8o83e4+4qM+vS/Pmw/fal\nTXDK5KfAfZJOknQSMBu4MeeYGtaZZ8KVV2ZJslktcktOEdySY7ViypRs3ZPvfKe05ZZj4LGkycAn\n0tvZETGzlOXXojzrmqambPPOY47J5ePNiqpnnOQUwUmO1Yp99oFp0+DjHy9tud6gszLyrGvuugsu\nvhgeegjkv2nLgburzKxTy5ZlO0vvv3/ekWyYpM9IWiJppaS/SPqrpL/kHVcj+/SnobU1Wy3brNbU\nbZIjaRNJW3VwfitJm+QRk1keZs6ET3wCNtoo70i65RLgsIgYEhGDI2JQRAzOO6hG5sUBrZbVbZID\nXAF01Dj/MeD7FY7FLDfNzTB5ct5RdNuyiFicdxC2vuOPh9/8JmsRNKsl9Zzk7BMRd7Y/GRG/AP4x\nh3jMKm7NGpg1CyZNyjuSblsg6TZJx6Suq89I+kwxBUq6RNJiSQsl3SFpcDrfT9INkh6X9KSkcwqe\nGZvOPyNpWsH5/pJuTV1qD0raruDa8en+pyUdV3B+lKR56dotkvoVXLsilbVQ0phivmc5DRwIX/oS\nXHFF3pGY9Uw9JzmbdnGtnr+32XsWLMimjW+7bd6RdNtg4G/AQcCh6fXpIsucBeweEWOAJcC56fyR\nQP+I2BMYB5xckLRcBZwUEaOB0ZLa0sSTgDci4kPANLLuNSQNBb4J7AvsB1wgaUh65nvApams1lRG\n2yyyHVNZJwNXF/k9y+qrX4WbbsrG55jVinr+n/1rksa3PylpX+D1HOIxq7ga66oiIk7o4HVikWXe\nGxFr09t5wMi2S8BmkvqS/VL0NvAXSSOAQRHxcLpvOnBEOj6cdev23A5MSMeTgFkRsTIiWskSq7at\nUCcAd6TjG9uVNT3FOB8YIml4Md+1nEaOzP5b+rG3LLYaUs9JztnAzyRNlXRoel0I/CxdM6t7zc1V\nv+v4eiSNlnSfpD+k93tKKuWWDicCM9Lx7WStRq8AS4H/lxKUbYCXCp55KZ0j/fkiQESsAVZKGlZ4\nPnkZ2EbSFsCKgiSrw7IKnyny+5XVmWdmXVarV+cdiVn31O3eVRHxkKT9gFOBL6bTTwL7RcRruQVm\nViHLl8OiRfCxj+UdSY/8iOyXkGsAIuJxSTcDXW7SKWk2UNgKIrKWmikRcXe6ZwrwbkTcnO4ZD6wG\nRgBbAL+VdG8P4+3O2h0lWV2mGvbJGzcu2538jjvgqKMq/vHWIEq5R17dJjkAEbEMuCDvOMzyMHs2\nHHggbLxx3pH0yKbpF5TCcxtsN4iIiV1dl/RF4BDWdS8BfB5oTq0sr0t6gGxszv1A4SimkWStLKQ/\ntwX+nLq5BkfEG5JeBpraPTM3IpZLGiKpT/qcjsrq6HPepzDJydNZZ2UrZ3/uc14c0MqjfRJ/4YUX\n9rqsuu2ukvREmh3R/vVE2gTQrK7VWldV8r+SdiRrhUHSZ8m6k3pN0sFkrUOHtW38mbxASnokbQbs\nDyyOiFfJuqHGK8u2jgN+mZ65Czg+HR8JzEnHM4GJKaEZCkxM5wDmpntJzxaWdVz6/P2B1vSLWVU7\n9NCslfB3v8s7ErMNq9ttHSR9sKvrEfF8CT7D2zpYVVq7Fv7hH7L/Ee2wQ/k+pwy7kO8AXAt8FFgB\nPAf8S0QsLaLMJUB/YHk6NS8iTk2JzU+A3dL56yPisvTMPsANwCbAPRFxejq/MXATsHcq7+i22FJr\n0RSyBO1bETE9nd8euBUYCjyWvs+76doPyAYovwmcEBGPdvIdqqquufJK+PWv4fbb847EGoH3ruom\nSVsCy0tVW1RbxWPW5rHH4Oij4emny/s55dq7KiUgfSLir6UuuxZVW12zalU2Nufhh7Pd7c3KqZh6\npm7H5KTm3+8CbwAXk/32tSXQR9JxEdGcZ3xm5VRrXVWSzurkPABtLSxWHQYOhBNPzGZafd/rx1sV\nq9sxOcAPgO8At5D1m38pIkaQrXb8H3kGZlZuM2bUVpIDDEqvccApZFOptwG+AozNMS7rxNe+Bjfe\nCCtX5h2JWefqtrtK0sK0wimSFkfErgXXHouIvUvwGVXVhGwG2f90Ro6E116DAQPK+1llGJPzG+BT\nbd1UkgYBv4qIht6KpVrrmmOOgX33zWZcmZVLMfVMPbfkrC04fqvdteqrLcxK5L774IADyp/glMlw\n4J2C9++w/vo3VkXOPBMuv9yLA1r1qtsxOcBekv5CthDXgHRMer/Jhh5Osyh+QzYrox9we0T0frK+\nWYXUYFdVoenAQ5J+kd4fQTbLyarQ+PHZvmh33pmtm2NWbeq2u6oUJG0aEX9Li349AHw9Ih4quF6V\nTcjWuCJgu+3g3nth553L/3nlmF0laSzw8fT2NxHxWCnLr0XVXNfceSf853/Cgw/mHYnVK3dXlUlE\n/C0dbkzWmlOdtYxZsmgR9OsHo0fnHUnPSBqc/hxGto/UTen1fDpnVerww2HZMic5Vp2c5HRBUh9J\njwGvArMLdiU2q0ptXVU1uNx+235SjwALCl5t761K9e0Lp5/uqeRWnep5TE7R0l4ze6ffMv9b0m4R\nsajwnmrYNM+sTXMzfP3r5Su/lBvnFYqIT6c/vbRcDTrxRLjoIli6NFsk0KxaeExON0n6v8CbhYuS\nVXM/uTWeVatg663hz3+GQYMq85llmEJ+F9naVr8s6C5ueLVQ1/zbv2Vjwi69NO9IrN54TE4ZSNpS\n0pB0PIBsw72n8o3KrHNz52ZrllQqwSmTS8kGHS+WdLukz0ra4GxIy9/XvgY/+Qn85S8bvtesUpzk\ndG5rYK6khcB8YGZE3JNzTGadam6GyZPzjqI4EfHriDgV2AG4Bvgc8Fq+UVl3fPCDMHEiXHdd3pGY\nrePuqiLUQhOyNYYI2HFH+OUv4cMfrtznlmkK+QDgUOAosi0d/icivlbKz6g1tVLXzJ+fbQy7ZEk2\ny8+sFNxdZdbgliyBd96BPfbIO5LiSPoZsBiYQLb/3I6NnuDUkv32y8aF/fd/5x2JWcZJjlkdaNt1\nvAanjrd3HVli85WImJtmOFoNOessTye36uEkx6wOtCU5tUrSvwNExEzgM+2ufSeXoKxXjjgim+E3\nf37ekZg5yTGreW+9BfffD5/8ZN6RFOXoguNz212r4fSt8fTrl63V5NYcqwZOcsxq3G9+A3vtBZtv\nnnckRVEnxx29typ30kkwezY8/3zekVijc5JjVuNqvasqiU6OO3pvVW7wYDj+eLjyyrwjsUbnKeRF\nqJVpnVbfdtkFfvpT2Gefyn92qaaQS1oDvEnWajMAaFvtWMAmEbFRsZ9Ry2qxrlm6NPtvcunSml+g\n0nLmKeRmDeq552DFCth777wjKU5E9I2IwRExKCL6peO29w2d4NSqUaNgwgS4/vq8I7FG5iTHrIbN\nnAmTJkEf/0vulKRLJC2WtFDSHWnDXSRtJOl6SY9LekzSgQXPjE3nn5E0reB8f0m3Sloi6UFJ2xVc\nOz7d/7Sk4wrOj5I0L127RVK/gmtXpLIWShpT/p9GZZ11Flx+OaxZk3ck1qhcNZrVsBkz6mI8TrnN\nAnaPiDHAEtbN3voyEBGxJ3AQ2b5Zba4CToqI0cBoSZPS+ZOANyLiQ8A04BIASUOBbwL7AvsBF7Tt\nfQd8D7g0ldWaykDSZLI1gT4EnAxcXfJvnrOPfASGD88SnRrrbbM64STHrEa98w60tMBBB+UdSXWL\niHsLFhWcB4xMx7sBc9I9rwOtksZJGgEMioiH033TgSPS8eHAjen4drKVmQEmAbMiYmVEtJIlVm3p\n5wTgjnR8Y7uypqfPnw8MkTS8BF+5qtxwQ7Zx5xe+4M07rfKc5JjVqAceyAYdb7ll3pHUlBOBGen4\n98BhkvpK2h7YB9gW2AZ4qeCZl9I50p8vAkTEGmClpGGF55OXgW0kbQGsKEiyOiyr8Jmiv2GV2Xln\neOihbMbV2LGwYEHeEVkj8RZqZjXKXVXrSJoNFLaCiGzq+ZSIuDvdMwV4NyJuTvdcD+wKPAw8DzwA\n9HT0SHdmfJRknZ+pU6e+d9zU1ERTU1Mpiq2IAQPg6qvh5z+HQw6Bc8+FM86oi21IrAxaWlpoaWkp\nSVmeQl6EWpzWafVjzz3h2mth//3zi6Ecu5CXg6Qvko3BmRARb3dyzwNk42VagbkRsWs6fzRwYESc\nIqkZuCAi5kvqC7wSER9I9zRFxFfSM1enMm6T9BowIiLWSto/PT+58J70zFPpc5Z1EFvd1DXPPZft\nVL7VVllXllsibUM8hdyswbz8cvbad9+8I6l+kg4GzgYOK0xwJA2QtGk6nkjWyvNURLxK1g01XpKA\n44BfpsfuAo5Px0eSxvQAM4GJkoakQcgT0zmAuele0rOFZR2XPn9/oLWjBKfebL99tg3J7rtnSx/8\n+td5R2T1zC05Rain366stlx3XbZs/q235htHLbTkSFoC9AeWp1PzIuJUSR8kS0TWkI2HOSkiXkzP\n7APcAGwC3BMRp6fzGwM3AXun8o6OiKXp2heBKWTdZN+KiOnp/PbArcBQ4DHgXyLi3XTtB2QDlN8E\nToiIRzv5DnVZ18ycCSecAP/6r3D++dm+V2btFVPPOMnphKSRZDMfhgNrgR9FxBXt7qnLiseq35FH\nwqc/nS2dn6daSHLqQT3XNa+8AsceC+++m63cPXLkhp+xxuLuqvJYDZwVEbsDHwFOk7RLzjGZsXo1\n3Huvp45bfdh663WLWo4bB3ffnXdEVk+c5HQiIl6NiIXpeBWwmDqc3mm1Z968bMn8rbfOOxKz0ujb\nF847D+64A776VTjzTHi7w+HhZj3jJKcbJI0CxgDz843ELNt1fPLkvKMwK70DDoDHHss29fzoR2HJ\nkrwjslrnYV4bIGkg2cqmp6cWnfXU8toVVpuam+Gyy/L57FKuX2HWkWHD4M474Yc/zBKdadOy1ZLN\nesMDj7uQNtL7H2BGRFzewfW6HQxo1WnZsmwF2ddfh42qYG9uDzyujEataxYuzNbU+chH4Ac/gM02\nyzsiy4MHHpfP9cCijhIcszzMmgWf+ER1JDhm5TZmzLptIPbZB37/+3zjsdrjJKcTkg4AvgBMkPSY\npEfTomJmuWlu9lYO1lgGDsw2+Dz/fPjkJ7NurAZs1LJecndVERq1CdnysWYNjBgBjz4K226bdzQZ\nd1dVhuuazDPPZN1Xo0ZlC2IOHZp3RFYJ7q4yawCPPALDh1dPgmNWaaNHw4MPwnbbZVtC/O53eUdk\n1c5JjlmNcFeVGWy8cTbj6oor4J//Gf7jP2Dt2ryjsmrlJMesRsyY4STHrM1hh2WtmzNmZKslv/pq\n3hFZNXKSY1YDli+HJ5+Ej38870jMqsfIkTBnTraeztix2exDs0JOcsxqwL33woEHZk31ZrZOv35w\n4YXZ5p4nngjnnJNt9mkGTnLMaoK7qsy69k//lG0J8cQTWYvnc8/lHZFVAyc5ZlVu7VrvV2XWHVtt\nle1i/rnPwX77we235x2R5c1JjlmVe/xxGDwYdtgh70jMql+fPnDWWfCrX8E3vgGnnAJvvZV3VJYX\nJzlmVc5dVWY9t+++WfdVayuMHw+LFuUdkeXBSY5ZlXNXlVnvDB4MN98MZ5yRDdy/7jpvCdFovK1D\nEbzUupXbypXZNNlly2DTTfOO5v28rUNluK4p3qJFcNRRsMcecM01WQJktcHbOpjVqfvuy9YAqcYE\nx6yW7LYbPPQQbL55tqZO2+7mVt+c5JhVMXdVFU/SRZJ+L+kxSc2SRhRcO1fSEkmLJR1UcH6spMcl\nPSNpWsH5/pJuTc88KGm7gmvHp/uflnRcwflRkuala7dI6ldw7YpU1kJJY8r7k7ABA+Cqq7KtIA45\nBC67zFtC1DsnOWZVKsL7VZXIJRGxV0TsDfwKuABA0m7A54BdgcnADyW1NYlfBZwUEaOB0ZImpfMn\nAW9ExIeAacAlqayhwDeBfYH9gAskDUnPfA+4NJXVmspA0mRgx1TWycDV5foB2PqOPBLmz4efEeiq\n1AAADWpJREFU/QwOPRRefz3viKxcnOSYValFi7LpsDvvnHcktS0iVhW83Qxo+939MODWiFgdEUuB\nJcD41NIzKCIeTvdNB45Ix4cDN6bj24EJ6XgSMCsiVkZEKzALaEtPJwB3pOMb25U1PcU4HxgiaXiR\nX9e6afvt4be/hQ9/ONvRfO7cvCOycnCSY1al2rqq5GG9RZP0LUkvAJ8na3EB2AZ4seC2l9O5bYCX\nCs6/lM6t90xErAFWShrWWVmStgBWRMTarspq9/lWIRttBN/9Llx/PXzhC3DBBbB6dd5RWSn12/At\njUnSdcCngWURsWfe8VjjaW6Gr3417yhqg6TZQGEriIAApkTE3RFxPnC+pG8AXwOmluqjS3TPBk2d\nOvW946amJpqamkpRrAEHHQSPPgrHHgsTJmTTzkeOzDuqxtXS0kJLS0tJynKS07mfAFeSmpPNKmnV\nKpg3D+68M+9IakNETOzmrTeTjcuZStZysm3BtZHpXGfnKbj2Z0l9gcER8Yakl4Gmds/MjYjlkoZI\n6pNaczoqq6PPeZ/CJMdKb8QImDkTvvc9GDcOfvSjbLyOVV77JP7CCy/sdVnurupERNwPrMg7DmtM\nLS3Ziq2DBuUdSe2TtFPB2yOAp9LxXcDRacbU9sBOwEMR8SpZN9T4NBD5OOCXBc8cn46PBOak45nA\nxJTQDAUmpnMAc9O9pGcLyzouxbg/0BoRy0rxna13+vSBc8/Nfrn42teyRQTffjvvqKwYTnLMqpBn\nVZXUd9N08IXAJ4HTASJiEfAzYBFwD3BqwYp7pwHXAc8ASyKiOZ2/DthS0hLgDOCcVNYK4GJgATAf\nuDANQCbdc5akZ4BhqQwi4h7gOUnPAtcAp5bp+1sPffSj2ZYQL7wAH/kIzJmTLcxptccrHndB0geB\nuzsbk+NVSK0cImCnneAXv4A9q3w0mFc8rgzXNfmIgGuvhRtuyDbK3WabbCHBttfee8MWW+QdZf0r\npp7xmJwieTCgldqzz8Lf/55Nba02pRwQaFbtJDj55Oy1ejU8/XQ2QPnRR+Hii7PWnmHDsoRnn33W\nJT/DvRBA1XBLThckjSJryenwfzf+7crK4corYeHCbDPBaueWnMpwXVOd1q7NfilpS3zaXgMGrN/i\nM3ZsNlvLy0H0TjH1jJOcTki6mWy2xBbAMuCCiPhJu3tc8VjJHXIInHBCtiprtXOSUxmua2pHBDz/\n/LqE55FHshe8P/HZfnsnPt3hJCcnrnis1N56K2vqfuGFbCPBauckpzJc19S2CPjzn9/f4rNqVTau\np7C760MfymZ52TpOcnLiisdKbdYsuOgiuP/+vCPpHic5leG6pj699lo2rueRR9YlPq+/DmPGrN/i\ns+uu0K+BR9A6ycmJKx4rtTPPzGZrnH9+3pF0j5OcynBd0zhWrMgSn8IWnxdfhD32WH9w8+67w8Yb\n5x1tZTjJyYkrHiu1XXeF//qvrDKrBU5yKsN1TWP761+zyQiFic8f/wi77LIu6dlnn2zJiQED8o62\n9Jzk5MQVj5XS0qUwfjy8+mrt9Mk7yakM1zXW3t/+Bk88sX7is3gx7Ljj+l1dY8bU/srpTnJy4orH\nSunqq+GBB+Cmm/KOpPuc5FSG6xrrjrffhiefXD/xeeIJGDIEBg6EzTZb/9XRue6e79+/ct/LSU5O\nXPFYKR1xBHzuc/D5z+cdSfc5yakM1zXWW6tXZ63Db77Z8WvVqt6dh94lS925d6ON1v8OTnJy4orH\nSuWdd2CrrbKFxbbaKu9ous9JTmW4rrFq8847pUmWOjrXp8/6yc/TT3tbB7Oa9sADsPPOtZXgmFnj\n6t8/ew0dWtpyI96fQO26a+/Lc5JjVgWam2Hy5LyjMDPLl5RNjd9442xfsGLVyBwOs/o2YwYcfHDe\nUZiZ1RcnOWY5e/nl7DV+fN6RmJnVFyc5ZjmbORMmToS+ffOOxMysvjjJMcuZu6rMzMrDU8iL4Gmd\nVqzVq7MZVYsWwdZb5x1Nz3kKeWW4rrFGVkw945YcsxzNnw+jRtVmgmNmVu2c5JjlyF1VZmbl4ySn\nE5IOlvSUpGckfSPveKw+NTc7ySk3SRdJ+r2kxyQ1SxqRzg+TNEfSXyVd0e6ZsZIeT//+pxWc7y/p\nVklLJD0oabuCa8en+5+WdFzB+VGS5qVrt0jqV3DtilTWQkljyvuTMGs8TnI6IKkP8ANgErA7cIyk\nXdrdszlAa2tr2eJoaWkpW9kuP//yX3sNnnqqhY9+tHyfUe7vUCMuiYi9ImJv4FfABen834Hzgf/T\nwTNXASdFxGhgtKRJ6fxJwBsR8SFgGnAJgKShwDeBfYH9gAskDUnPfA+4NJXVmspA0mRgx1TWycDV\nJfzOPVLr/5Zcfn2XXwwnOR0bDyyJiOcj4l3gVuDwtouSNp8AswHOmzixbIlOrf+H6fK7NnMmbLtt\ny/s2oyulaq58KiUiVhW83QxYm87/LSJ+B7xdeH9q6RkUEQ+nU9OBI9Lx4cCN6fh2YEI6ngTMioiV\nEdEKzALa2ugmAHek4xvblTU9xTIfGCJpeBFftddq/d+Sy6/v8ovhJKdj2wAvFrx/KZ17L8G5HcYB\nfHvBgrImOla/mpthp53yjqIxSPqWpBeAz5O1uHRlG7J/823e+/dPQd0QEWuAlZKG8f4642VgG0lb\nACsiYm1XZRU+05PvZWZd895VPVCY4LTtSTaULNE5ctRE+u4/m4022rxkn/f00/DIIyUrri7LX7Bg\n3fuOZti2P7eh94Xnnn0WHnywZ8/05HMeegi+/OX3n7eekzQbKGwFERDAlIi4OyLOB85P4+u+Bkwt\n1UeX6B4zK4eI8KvdC9gfaC54fw7wjd3htj9l/7+KyCpQv/xq+Ffe/157+G97W+CJdueOB64oeD8C\nWFzw/mjgqnTcDOyXjvsCrxXcc3XBM1cDR6Xj14A+BXXLjPb3pPdPAcM7iTv3v2e//Mrz1dt/827J\n6djDwE6SPgi8QlaBHfMkXPMl2KGtJSfSzSuAz8KCOTAxsv54M6sSknaKiGfT2yOAxR3d1nYQEa9K\nWilpPFldcBzQNvvqLrKkaD5wJDAnnZ8JfDsNNu4DTCT75Qhgbrr3tvTsLwvKOg24TdL+QGtELOvo\nO4QXXDTrFa943AlJBwOXk1VY10XEd9P59bqsnOCYVTdJtwOjyQYcPw98JSJeSdeeAwYB/clmPh0U\nEU9J2ge4AdgEuCciTk/3bwzcBOwNLAeOjoil6doXgSlkv/98KyKmp/Pbk01eGAo8BvxLZBMakPQD\nsgHKbwInRMSj5fxZmDUaJzm90Jbo/BjGfckJjpmZWVXy7KoNkHSdpGWSHm87FxGtc2DiofCzOVmz\n9EW9XdCro/LbXT9QUqukR9Pr/B6WPzItePakpCckfb2T+3q1KFl3yi/mO0jaWNL8tJDbE5IuKHH8\nGyy/2L+DVEaf9OxdpYy/O+WX4L+hpVq3mN5D5YjfNlwXpHt6/XN2XbPB8l3XFFl+VdY1eQ8ErPYX\n8DFgDPB4J9cnA79Kx/sB80pc/oHAXUXEPwIYk44HAk8Du5TqO3Sz/GK/w6bpz77APGB8if8ONlR+\nUfGnMs4E/qujcoqNvxvlF/vz/xMwtIvrRcfvl+uaEpXvusZ1zXovt+RsQETcTzb0pjNFLejVjfKh\niCmoEfFqRCxMx6vIBl22X4uj19+hm+VDcd/hb+lwY7JlD9r3sRb7d7Ch8qGI+CWNBA4BftzJLUXF\n343yobhpzKLrVt+qWdSulrmuKUn54LrGdU0BJznFq8SCXh9JTXO/krRbbwuRNIrsN7n57S6V5Dt0\nUT4U8R1S8+hjwKvA7Fi3Em2bouLvRvlFxQ98Hzibjis0KP7nv6Hyobj4A5gt6WFJHa3s40XtKsN1\nzYbLB9c1rmsKOMmpfo8A20XEGLL9tP67N4VIGki2DP3psf4y9yWxgfKL+g4RsTayfYdGAvsVU/n2\nsvxexy/pU8Cy9BuoKPHCcN0sv9j/hg6IiLFkv8GdJuljxcRsVct1jeuaYsuvurrGSU7xXiZbYKzN\nyHSuJCJiVVsTZ0TMADZStox8tynb9fh24KaI+GUHtxT1HTZUfim+Q3r2L2RrjrTft7skfwedlV9k\n/AcAh0n6E3AL8E+Sppcw/g2WX+zPP9J064h4HfgF2d5upYrfus91jeuarriu6YCTnO7pKiu+i2yx\nMLSBBb16U35hf6OyxckUEW/0sPzrgUURcXkn14v9Dl2WX8x3kLSl0m7OkgaQzWZ7qlTxd6f8YuKP\niPMiYruI2IFsUck5EXFcqeLvTvlF/vw3Tb85I2kz4CDgD6WK397HdU0R5buucV3Tnlc83gBJNwNN\nwBbKNvi7gGzhsIiIayPiHkmHSHqWtKBXKcsHPivpFOBd4C3gqB6WfwDwBeCJ1BccwHnAB0vxHbpT\nfpHfYWvgRkl9yJLy21K8J5ci/u6UX2T8HSph/Bssn+LiHw78QlKQ1Rc/jYhZ5Y6/EbmuKb78Ir+D\n65oiy6cK6xovBmhmZmZ1yd1VZmZmVpec5JiZmVldcpJjZmZmdclJjpmZmdUlJzlmZmZWl5zkmJmZ\nWV1ykmNmZmZ1yUmOmZmZ1aX/D5HEFwXDv+aaAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2,2,figsize=(8,6))\n", "\n", "x = xrange(1,max_order+1)\n", "\n", "ax1.plot(x, loglikelihoods)\n", "max_index = loglikelihoods.index(max(loglikelihoods))\n", "ax1.plot(x[max_index], loglikelihoods[max_index], 'rD', clip_on = False)\n", "ax1.set_ylabel(\"Log-likelihood\")\n", "ax2.plot(x, aics)\n", "min_index = aics.index(min(aics))\n", "ax2.plot(x[min_index], aics[min_index], 'rD', clip_on = False)\n", "ax2.set_ylabel(\"AIC\")\n", "ax3.plot(x, bics)\n", "min_index = bics.index(min(bics))\n", "ax3.plot(x[min_index], bics[min_index], 'rD', clip_on = False)\n", "ax3.set_ylabel(\"BIC\")\n", "ax4.plot(x, evidences)\n", "max_index = evidences.index(max(evidences))\n", "ax4.plot(x[max_index], evidences[max_index], 'rD', clip_on = False)\n", "ax4.set_ylabel(\"Evidence\")\n", "\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Summary\n", "\n", "All modeling comparison techniques indicate that a first-order Markov chain model sufficiently models given data. While higher order models always produce better fits due to nested models, their increasing number of necessary parameters does not fully justify their increasing complexity. However, with less states and/or more data, this might be different." ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.11" } }, "nbformat": 4, "nbformat_minor": 0 }