{ "cells": [ { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "{\n", " \"tags\": [\n", " \"hide-cell\"\n", " ]\n", "}\n", "\n", "\n", "### Import standard libraries\n", "\n", "import abc\n", "from dataclasses import dataclass\n", "import functools\n", "import itertools\n", "\n", "from typing import Any, Callable, NamedTuple, Optional, Union, Tuple\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "\n", "import jax\n", "import jax.numpy as jnp\n", "from jax import lax, vmap, jit, grad\n", "from jax.scipy.special import logit\n", "from jax.nn import softmax\n", "from functools import partial\n", "from jax.random import PRNGKey, split\n", "\n", "import jsl\n", "import ssm_jax\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "(sec:inference)=\n", "# States estimation (inference)\n", "\n", "\n", "\n", "\n", "\n", "Given the sequence of observations, and a known model,\n", "one of the main tasks with SSMs\n", "to perform posterior inference,\n", "about the hidden states; this is also called\n", "state estimation.\n", "At each time step $t$,\n", "there are multiple forms of posterior we may be interested in computing,\n", "including the following:\n", "- the filtering distribution\n", "$p(\\hidden_t|\\obs_{1:t})$\n", "- the smoothing distribution\n", "$p(\\hidden_t|\\obs_{1:T})$ (note that this conditions on future data $T>t$)\n", "- the fixed-lag smoothing distribution\n", "$p(\\hidden_{t-\\ell}|\\obs_{1:t})$ (note that this\n", "infers $\\ell$ steps in the past given data up to the present).\n", "\n", "We may also want to compute the\n", "predictive distribution $h$ steps into the future:\n", "\\begin{align}\n", "p(\\obs_{t+h}|\\obs_{1:t})\n", "= \\sum_{\\hidden_{t+h}} p(\\obs_{t+h}|\\hidden_{t+h}) p(\\hidden_{t+h}|\\obs_{1:t})\n", "\\end{align}\n", "where the hidden state predictive distribution is\n", "\\begin{align}\n", "p(\\hidden_{t+h}|\\obs_{1:t})\n", "&= \\sum_{\\hidden_{t:t+h-1}}\n", " p(\\hidden_t|\\obs_{1:t}) \n", " p(\\hidden_{t+1}|\\hidden_{t})\n", " p(\\hidden_{t+2}|\\hidden_{t+1})\n", "\\cdots\n", " p(\\hidden_{t+h}|\\hidden_{t+h-1})\n", "\\end{align}\n", "See \n", "{numref}`fig:dbn-inference` for a summary of these distributions.\n", "\n", "```{figure} /figures/inference-problems-tikz.png\n", ":scale: 30%\n", ":name: fig:dbn-inference\n", "\n", "Illustration of the different kinds of inference in an SSM.\n", " The main kinds of inference for state-space models.\n", " The shaded region is the interval for which we have data.\n", " The arrow represents the time step at which we want to perform inference.\n", " $t$ is the current time, $T$ is the sequence length,\n", "$\\ell$ is the lag and $h$ is the prediction horizon.\n", "```\n", "\n", "In addition to comuting posterior marginals,\n", "we may want to compute the most probable hidden sequence,\n", "i.e., the joint MAP estimate\n", "```{math}\n", "\\arg \\max_{\\hidden_{1:T}} p(\\hidden_{1:T}|\\obs_{1:T})\n", "```\n", "or sample sequences from the posterior\n", "```{math}\n", "\\hidden_{1:T} \\sim p(\\hidden_{1:T}|\\obs_{1:T})\n", "```\n", "\n", "Algorithms for all these task are discussed in the following chapters,\n", "since the details depend on the form of the SSM.\n", "\n", "\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "(sec:casino-inference)=\n", "## Example: inference in the casino HMM\n", "\n", "\n", "We now illustrate filtering, smoothing and MAP decoding applied\n", "to the casino HMM from {ref}`sec:casino` and [](sec:casino). \n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1\n", " 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1\n", " 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0\n", " 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0\n", " 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n", " 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0\n", " 0 0 0 0]\n", "[5 2 2 5 5 4 2 3 1 5 4 1 2 4 2 5 0 5 3 3 3 1 2 5 3 0 1 2 2 0 2 4 0 1 3 5 5\n", " 4 0 5 0 2 2 1 4 0 5 0 5 4 5 2 5 5 1 3 5 1 3 1 1 2 5 2 1 0 3 5 3 0 2 0 4 2\n", " 5 1 3 4 3 5 5 5 1 2 3 5 4 0 3 4 1 5 2 4 5 4 2 5 4 0 2 5 1 0 4 0 2 2 1 4 1\n", " 1 1 1 2 5 0 3 1 2 2 1 2 4 3 0 3 0 0 5 5 0 0 5 1 4 3 1 5 5 5 0 2 1 2 3 5 5\n", " 5 1 2 2 5 5 0 4 2 5 1 5 5 4 1 5 2 4 5 3 0 1 2 2 4 1 1 3 5 5 4 5 2 5 5 3 0\n", " 3 4 1 4 2 4 2 5 5 2 0 2 4 4 4 0 5 0 5 4 1 5 5 5 5 4 5 5 5 5 5 5 1 4 0 0 3\n", " 1 3 5 3 2 1 3 0 1 5 0 5 5 5 4 3 1 4 4 4 4 1 5 5 4 5 5 2 2 1 2 4 5 5 0 5 5\n", " 4 4 4 0 0 5 3 5 0 3 4 0 5 0 4 2 3 4 5 5 2 5 5 5 5 5 2 3 3 1 2 5 2 5 5 4 4\n", " 0 2 3 4]\n" ] } ], "source": [ "# state transition matrix\n", "A = np.array([\n", " [0.95, 0.05],\n", " [0.10, 0.90]\n", "])\n", "\n", "# observation matrix\n", "B = np.array([\n", " [1/6, 1/6, 1/6, 1/6, 1/6, 1/6], # fair die\n", " [1/10, 1/10, 1/10, 1/10, 1/10, 5/10] # loaded die\n", "])\n", "\n", "pi = np.array([0.5, 0.5])\n", "\n", "(nstates, nobs) = np.shape(B)\n", "\n", "import distrax\n", "from distrax import HMM\n", "\n", "\n", "hmm = HMM(trans_dist=distrax.Categorical(probs=A),\n", " init_dist=distrax.Categorical(probs=pi),\n", " obs_dist=distrax.Categorical(probs=B))\n", "\n", "\n", "seed = 314\n", "n_samples = 300\n", "z_hist, x_hist = hmm.sample(seed=PRNGKey(seed), seq_len=n_samples)\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/opt/anaconda3/envs/spyder-dev/lib/python3.9/site-packages/jax/_src/numpy/lax_numpy.py:5256: UserWarning: Explicitly requested dtype requested in astype is not available, and will be truncated to dtype int32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/google/jax#current-gotchas for more.\n", " lax._check_user_dtype_supported(dtype, \"astype\")\n" ] } ], "source": [ "# Call inference engine\n", "\n", "filtered_dist, _, smoothed_dist, loglik = hmm.forward_backward(x_hist)\n", "map_path = hmm.viterbi(x_hist)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# Find the span of timesteps that the simulated systems turns to be in state 1\n", "def find_dishonest_intervals(z_hist):\n", " spans = []\n", " x_init = 0\n", " for t, _ in enumerate(z_hist[:-1]):\n", " if z_hist[t + 1] == 0 and z_hist[t] == 1:\n", " x_end = t\n", " spans.append((x_init, x_end))\n", " elif z_hist[t + 1] == 1 and z_hist[t] == 0:\n", " x_init = t + 1\n", " return spans" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "# Plot posterior\n", "def plot_inference(inference_values, z_hist, ax, state=1, map_estimate=False):\n", " n_samples = len(inference_values)\n", " xspan = np.arange(1, n_samples + 1)\n", " spans = find_dishonest_intervals(z_hist)\n", " if map_estimate:\n", " ax.step(xspan, inference_values, where=\"post\")\n", " else:\n", " ax.plot(xspan, inference_values[:, state])\n", "\n", " for span in spans:\n", " ax.axvspan(*span, alpha=0.5, facecolor=\"tab:gray\", edgecolor=\"none\")\n", " ax.set_xlim(1, n_samples)\n", " # ax.set_ylim(0, 1)\n", " ax.set_ylim(-0.1, 1.1)\n", " ax.set_xlabel(\"Observation number\")" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Filtered')" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAEWCAYAAACXGLsWAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAB34ElEQVR4nO29ebhlV1km/n57ONOdb92aq5KqjJCZEBKGMCkoIBJUaKBVpBul9QdoO3Q3iiKidosDikITUTE4gciYFhAZgkCAQMg8EFKpCqmqVFLzrTues4f1+2Ottffa++zxnLPPufdmvc9zn3vuuXtYe+211vd97zcsYoxBQ0NDQ0MjC8aoG6ChoaGhsfahhYWGhoaGRi60sNDQ0NDQyIUWFhoaGhoaudDCQkNDQ0MjF1pYaGhoaGjkQgsLDQ0BIlokonPE5xuI6PdG2JYvE9HPjur+GhpxaGGh8YQEET1MRCtCQCwS0SKACxhj+xOOfR4RHRpBMzU01gy0sNB4IuNHGWPjys+jVdyEiKwqrquhMUxoYaGhIUBEjIjOi303BuCzAHYoVsgOIjKI6C1E9BARnSCijxDRrDhnj7jW64noEQBfEt//VyK6n4hOEdHniOhs5T4vJKLvEtE8Eb0HAA3vyTU08qGFhYZGBhhjSwBeDODRmAXyZgAvB/BcADsAnALw3tjpzwXwZAA/TETXAfgNAD8OYDOArwL4EAAQ0RyAjwP4TQBzAB4C8Kxqn0xDoxy0sNB4IuOTRHRa/Hyy5Lk/D+CtjLFDjLE2gLcDeEWMcno7Y2yJMbYijv8/jLH7GWMugP8N4AphXbwEwL2MsY8yxhwAfwbgsf4eTUNjsNBcqsYTGS9njH1B/kFEZapqng3gE0TkK995ALYqfx+MHf9uIvoT5TsCsBPcMgmOZYwxIlLP1dAYObRloaGRjyQhchDAixlj08pPgzF2OOW8gwD+W+z4JmPs6wCOANgtDyQiUv/W0FgL0MJCQyMfjwPYRERTynfXA/h96aQmos3CL5GG6wH8OhFdLI6fIqJXiv99GsDFRPTjgsb6RQDbBv4UGhp9QAsLDY0cMMa+C+6M3i/8GzsAvBvAjQD+nYgWAHwTwDUZ1/gEgHcC+DARnQFwD7jjHIyx4wBeCeAPAJwAcD6Am6t7Ig2N8iC9+ZGGhoaGRh60ZaGhoaGhkQstLDQ0NDQ0cqGFhYaGhoZGLrSw0NDQ0NDIxbpLypuammLbtnVHFU5MTIygNdlYWFgAULxt8niJQT5T/Np56Pfeafdbi+8pjrJ9BZR7rrzrF7lW1jXK9nEvz9svBjEOqpwv/aDK/lSfcWFhodQzf+c73znOGNvc673XnbDYtm0brr/++q7vn//854+gNdm46aabABRvmzxeYpDPFL92Hvq9d9r91uJ7iqNsXwHlnivv+kWulXWNsn3cy/P2i0GMgyrnSz+osj/VZ7zppptKPTMRfb+fe2saSkNDQ0MjF1pYaGhoaGjkQgsLDQ0NDY1caGGhoaGhoZELLSw0NDQ0NHKhhYWGhoaGRi60sNDQ0NDQyIUWFhoaGhoaudDCQkNDQ0MjF1pYaGhoaGjkQgsLDQ0NDY1caGGhoaGhoZELLSw0NDQ0NHJRmbAgog8Q0VEiuifl/0REf05E+4joLiK6sqq2aGhoaGj0hyotixsAvCjj/y8GcL74eQOA91XYFg0NDQ2NPlCZsGCMfQXAyYxDrgPwd4zjmwCmiWh7Ve3R0NDQ0Ogdo/RZ7ARwUPn7kPiuC0T0BiK6lYhunZ+fH0rjNDQ0NDRCrAsHN2Ps/YyxqxhjV01NTY26ORoaGhpPOIxSWBwGsFv5e5f4TkNDQ0NjjWGUwuJGAK8VUVFPBzDPGDsywvZoaGhoaKTAqurCRPQhAM8DMEdEhwD8NgAbABhj1wP4DICXANgHYBnAf6mqLRoaGhoa/aEyYcEYe03O/xmAN1Z1fw0NDQ2NwWFdOLg1NDQ0NEYLLSw0NDQ0NHKhhYWGhoaGRi60sNDQ0BgKGGN4eN7HVw+7eOjY4qibo1ESlTm4NTQ0NCTOtBn+7LY2DpzxAQCH2Xfxlz991YhbtT7w/TM+VlyGJ82aI22Htiw0NDQqheNzQXF40cdrL7Kxe4Kw1PZG3ax1gRWX4e3fWMU7v90edVO0sNDQ0KgWdx3zcOCMj9ddXMPzd9sYtwmrjhYWRfCv+51RNyGAFhYaGhqV4rajHsYs4GnbOI1SM4FVVwuLIvjGEd5Pk7URNwRaWGhoaFQI12e446iHy7eYsAwCANQMwkpHC4s8nFr1cWqVgQCshe7SwkJDQ2OgOLHi49ACd2Q/dNrHsgtcuSV0ztomsOr4o2reusH+ed5HF84aWAvdpYWFhobGQPFrX1nFb319FQDw2DIDAJw9GS41NYPQ1jRULvbP+zAJOG/agMe4lTZKaGGhoaFRGU6u+CAAM3UKvqtpy6IQ9p/2sXvCQMvifTfqLtPCQkNDozIcX2WYaRBMIyosVnQ0VC4OLfo4e9JAXTB4o/ZbaGGhoaExMPgsSpWcXGHY1KDId7ZB8HwGx9PWRRo8n2HRAabrBNuUloWmoTQ0NDYI5tvhgsYYw4lVhk3NqLCoCU1Z51qkY1GkV0zWgJpYpbVloaGhsWFwajUUFh0fOLnKMBuzLOTip/0W6TjT4f04USPYkoYacXfp2lAaGhoDwynFsji+wuAxdNNQglbRlkU6FhRh4Qoh0fE0DaWhobFBoFoWR5b4KrepGV1mQstCC4s0qMJC0naj7i5tWWhoaAwMqmXx2BL/HLcsQp+FpqHSoAoLKSQ62sGtoaGxUaBaFseWuTCYqsd9FoKGWoeJeaeXOzizWn1xvwWHl/kYtxH6LLSDW0NDowosd1x03OFq76plcabDfzdj/IW9jqOh3vyh2/HWT9xT+X0WOsCYDRhEYTSUTsrT0NCoAv/pL7+Bd33+e0O957LDgiSyBYfBIgQFBCUCy2Id0lBH5ldx9Mxq5fdZ6DBM1kThRZlnoR3cGhoaVeDgyRU8enplqPdse8C4zRe3hTZDI8ErKn0Wg8zi/tIjDn74T78ysOulYbntYnUI1tpCh2EiEBb8O21ZaCTC8xm+8dCJUTdDYx1jpeMNneppewgWuTMdhrpJXcdUkZR3eJHhe0cXwFi12vdSx0N7CH2qCgtbJ+VpZOGu4x5e81ffxIHjS6NuikYFcH2GJae6hc3xfHQ8fyhasIq2xzAhNupZ9ZBoWdiChhrkotvxGBirnqpZ7rhDEcBnFGFhGQSDdLmPvrDiMrz7tjZOrq4/7jMPSyLgYn5l7WyrqJGMrx128eDjC6XO+dIjLt76teooomWhhg7TsmCMYdUNLQsAaFhZlsXg5q3c0ruXCKvP3H0Eh04t5x7XcX04Hqvc1+IzhiUHgdAFeG6Ktiz6wKOLPu445mH/6Y0nLNpCQ1qPESNPNPzdfR18+NsHS51zYpVhvsPpxiogd6IbBmUi4fgAQ0xYmN3H2RUk5fU6XxhjePOHbsc/3fJI7rGyT6sO+W17vB9biqC1TS0s+kI7SFYZbTuqgBwYWlisbfiMwfHLO2s7FY/dpY4LYLgRR6vimSZsVVh0WxaWQbAMGqiDW64F7ZLP23Z9eD4LLLEsyD4te4+ykE2pKYK2ZtDGTsojohcR0QNEtI+I3pLw/7OI6CYiup2I7iKil5S5vuzUjbieBmb1Ogwv3Ej4wD1tfPOIm/r/XoW6nPhVjd1hacEqZO2iKA2VfGzDNgc6tnt9D/L4Ijv3LUsB7HqVOtJlP9qxPUBGvc5VJiyIyATwXgAvBnARgNcQ0UWxw34TwEcYY08B8GoA/7fMPeSEG7XErQJywOjtJ0eLWx/3cN+J9HcgLYOy2mag6FQ0dkfhs1gVMrVpAZJBSfJZAEDDNgYqyEIaqtx7kNZNkfOWhAbHGNCpcC8OOabqimVhG6Nf56q0LK4GsI8xtp8x1gHwYQDXxY5hACbF5ykAj5a5QWDKb8D1tK1pqDUBx8vezrLTI1cuz9tINJRcsOtmWFa7nuCzAIC6ZQ7YZ8F/lxVAsn+KtEX2qXpeFZD9WDNVy4JGvs5VKSx2AlC9fofEdyreDuCniOgQgM8AeHPShYjoDUR0KxHdOj8/H3wvJ9yoQ8qqgNQiNA01OviMwWXZyoiTski5no87Dp5OPa9qCnVlFJaFuFXDQpBf0cywLAbJ/ffq4C7TT8vt8JgqAwfk2LCV1blmjN43O2oH92sA3MAY2wXgJQD+noi62sQYez9j7CrG2FVTU1PB97LzRi1xq4B2cI8esuuzlJG2GINxof6F+x/Hy997c2oGdTB2K1J0ltrCGev6lSeqSUQsCzGLk6KhAKBZMwfq4A7nS7kVVQr5doF8lGFZFrJbVKusZlJuDsm/3vUofvtT1dWtqlJYHAawW/l7l/hOxesBfAQAGGPfANAAMFf0BiHv20cr1yh6Hfwag4NTQBlJo6FOLfP8mNPLyXkycmGtStFRF+IiC+EgIOQT6mYYyZPqsxggDeUzFgjf0g7uMpaF8rKqDBxo+900lG3mWxb/8cAxfPKOUkx+KVQpLL4N4Hwi2ktENXAH9o2xYx4B8IMAQERPBhcWx4reIOB9R1xgqwqM2sH9Kx+5A19+4OhI7r1WEEQsZUxSJ8UClDRF2qJStaKjLmxVh3pKrAaWRRjJk+az4NFQgxnb6mVK01ClHNyqZTF8Girvlm3Xr7RdlQkLxpgL4E0APgfgfvCop3uJ6B1E9DJx2K8C+DkiuhPAhwC8jpWwmauOVR8lRhk6yxjDx287jJv3HR/6vdcSwgCKLBoq2bcktfm0yRtaLRVFQ6kL25AUDjlmGxblWxa2MbCxrbgSSltRgYO7QB+tqJbFCGiods5YabtepbRjpTvlMcY+A+64Vr97m/L5PgDP6vX6UkhsRFo/oDdGYFm4Yqw90SmwYEHPjIbiv+MWoFy00rT6tpdvtfSDCGUypAmi0lB5Pou6bQ5sbKuLaK+WRRHra2lIfZpEQ9WM/LESjDnXR8NO6fg+MGoHd18Iww83Hg3V7pGDHQTSqJUnGoJou0yfBf/dbVlkc+FVh30vDUkLVtH2GGyDb9gjo6HSLIumbQb+gv7vq3wubVmU8VmE1lqVfqAgg1tZnWW5jyyroV0iDLgXrHNhwX9vxDUt0FhHoN3LWw67YulaQ2hZpE/QNAd3Fr3h+gxSGa5K0VnpDIdfV7HqhdRJnmXBk/IGRUP1blmUERZL7eFYFo7Ht1S1Ij4LAkN2Vd1QQalm3q47YfHoYtgRYQb3qFpTHXpN9hoEHH90915LKKKMyHnp+gyuktWbNXHVr6rq4pHQUB4LLIlhRkOplkXPeRYFBNdyx0VT0DvV0lC8/4ii5T6AbFo6z0/WL9adsFBfadUlE0aJfkou9wt3hBTYWoKqjKSZ/5GFSllwsigBlX2pyrJY7niQa82wLMS2q1oWkoZKPlZGQw3CGduJCIve8iw8n8HJKeGx1PEwO1YT51VLQ9mxlTmo1JtB3QXCoqI1Y90JC3VsbVQaSqUpRuFklrccBQW2lqCOq7S1QY1mUrN6Qy2v+0T1nOosCxfTTVu0YVg0VLgzXsvm2nCKYYGGbcAf0GZFfTm4FVoi79zltotN41xYVJnB7XjdOwxKZ3fWelA1DVVpNFQVUIfWRqWh1Hc9Ggf36CKx1hLUcdXxgaQAk8i7cpNoqATLwk/+PEgsdzzMjNVwatkZIg0V+iheeJaNy+bMCJWiQkbrrDgealZ/Oqu07mpWeT+IOsZXHR8TjfRjlzoetkzUxbHV01AqCtFQ2sEdRZJlsdGS8qJm9Sh8FqO791qCqvWmjbE0rTaLP24XuG6/WO542CQok+FlcDPUhSkxWSecP5MevimFxSA0dNmHMy275wxuoIBl0XEx1bRhULUWf0dElamQkVFZbdQ+ixgYQv64U3Gs+qggFxOqeFCmQd5ykLV71iMijuiU15BmBWZF2ajKQJV5FtOt6ikTFW0vPWM7jkbgKO6/A6RlMdOq9ZxnAeRXS1jueBirmwPNPk9Cx0MXDWWvARpq3QkLAErYofidE3+83iAH/1TTDrSF5//xl/H333h4KPd3dcVbADFHdMrakOZczfJZOAnXffiMD3+AY3i542JWCIth5lkUFxZ86RkE1dkWoaZTTbu0ny0q4LPPbTse6paJujXYvTji6CTRUGKlTlPgGGNKUp62LALEC7zlxR+vN4RmdQ1tETFy4PgS9h9fGsr9NQ3FoUYqpUUttdMc3Bl5FjJD1zJ4JN/xFR+/841V3HVsMIs6YwwrDvdZAMN7j67Pt0wtgoY1uBDUjscX14Ztll4oVxKswfT7+LBNGvguf933YZFd8gDVwZ3cRsdjAUWvaSgFHS+MGGoJF/1GcsZKITjTsrHqeoGmPyzuWUdDcahzLm3+OX5IvahjMNPBLb4atwmOByyJwrQLzmAUno7ngzFgvG5yfn1Ic8Nl6dFPcTSF6rySEQpaFJL+6qXe1Krjh1ZOzrmOx1CzDCGUqg2djVtoeT6LtlvcQuoV61JYOD4LFrQxO1virkdIem2mVYPjMaUy5nCeUd6m4/HN7J+oKBK11PH4og8Up6Hk+jhm8+tKZWBQ1rG8jlzYhkVDccui2LEhDTUInwUPNW30UG9q1fEw08q3wDyfwfMZaqagoar0WSTQUDISL02BU9+xtiwUdLyodgZsLC1Y0lDSQbkgNjce1jOqSY5P5D3A1X5IW8g7HsMYT2dI5L+TLQt+LW5ZsCCHY1CvtyMuWDONyp2xEj7jln5RGqo+QBrK8XnSWi9Z4SuOhymRj5JlLQR9alXfp4k0lPg7zWehztOqAlPWpbBwfGXC8fV0Q1kWYXQHH8RnVjhPMTTLIhLhs3GEcFl0PEBO2VTLwk+zLIQ1mLAAyWuN2yQsi/B+g4DMRK5ZJhrW4EqBZ0EmPxe3LAYnLKRF0xsNVcyykMKC+ywGuyVs170SaChpWaTTUKploWmoAB0v3BlrLGGirncEDu6xmGUxZJ8FsLGEcFk4fmg1pEdDsUQqNCxRnmxZEHiWc8cPS8IPqvRHdGEbXCnwLMgxE88PSEPoJxiEsGCwDOpJ41/peJgWSllmwpvH/1eXlkVFfeozTrGnRUOlrXNtTUMlI2JZyIm6gegSaVlMj8yy6L18wkaC44XKSFr9sY5yjByDjLFgwU5zcNfEbnKOx4JrD6qr2wplUrfNoeRZuCUti+YA8yykZVEXjucyYfSrrh/QvVltifiBBlgEses+gdCN0lCmQTAzghXaCcEVg8Y6Fhb880Z0cEt6fLIhhMWqEBZDEoiahuLo+OH4SrIsmNj7OfRZyDj3bEpAOjDlvsoBDTWgrg5oKNPglMkQLFInCAcuGDo7SBpKRGFJa6Xo83o+F+qS7i1CQ3GfRXXUnhxnSfkqNVPTUKXR8Zji4Oa/N9KiJifeuCjZGVoWw4tqkdhIFltZqM7rpK73GOAznm1bs4xAg49M3KQ8C4+hZlCwr3Lo4B4sDVW1FqxCKjhFQ2cHmcEd+CxKOs3lcZNNG0TJlCFjDH/1lf04vtgGANgVBw1IxqRmdnekbRQVFtqyCOD4Ib+7ES0L1wdMCk116bMYXuisQkNVtZXbOoDjAw2TYFByDadgRzMTwpEshIX4PVZLXlRcEb1TM/mGNqvuYGmo0MFdrRYcuWdJGso0CLZJA1FGPMVnARQXQPLdNG2Zld193v7jS/j9z9yPz9x9BED1EWbSukzy/dRMyvBZ8PaYBmlhoaKjaGMtGTq7gXZ188RiUhczT9JQI3FwP6EtC04Vpe1/rDp11XwG+Z6mmjZWnW4OXWrCckFYFpvaDYqGCh3cBupDsizcjEUuDQ3LHEhSnsMA0yjvNJfvqZ4RDiv78swKf0ncDzS4Xf7iyOrHWgHLYrJhaRpKheOHselNmcG9kSyLYPCPyLLQPgsAfJzVDAr2P47DVXh6NUJGOhgnU+L3PcY1YRnxsuxGC2P2i07cshiCwJd9YRb0WQBAo1a+PEcSPF/6LEQl24ILuWqBpSXayWOkwiapvU5JR3pRZIUgc8siW1hMNW29+ZGKjheGG7asjUhDscjgH3ZSnusD43UuhTdSv5aFjFqqGZQY1qpGAKmx91LABslesffm+FwZsINEq8FUTz616uNtN6/gkZPLAFTKpPpx05NlMSCKLIiGsspZFlIQ2Bn9JC2LBSEs6sKyAKqx9F2WLnS5zyKFhhICQlqzVWBdCgtHpN4DoWWxkWgoWZBNmtVSqxlW+Q3HZ8FC98S2LPgEtc1kf4JUWEwh2EPLgvdZWvy+1IRDy4L/ltbLr3/8LvzJvz9Qur1HlhgOLjLcfWgewHCyjSXKhs4Cg9uH2+nyWZSjoWwzPRBAWmmShpLHlrlPGQT9mGCg1cyMDG4xTyebdmWh0utOWBCiPouGRSBsLA04Ht0ho6GA4ZTfcPyQQtlI/VoGnihUaYuopSTLwlO0aXWxUbU8oLsP5fsNyk5LB7e4x+2PnMYdB0+XbrOcEwFlYnIteBgWaVkHN4CBCTIvFjpb1J8Q5k6QoOu6z5PHRGioAUZyxZEldO0M53WooJTf06Mo1qWwcPzo4LQz4o/XI8LyBUJYCBoKGA4V5XjcUQY8cR3cAa1i8kzopOHlKDx9XaFU2jEaKr6ouIyJccvVx2WhC6gFHHsZz5LCkLSlLfn1IVik8t5WyjaqSWjYxkDqGIU0VDmNP8xHMVHPdXCHAniQ2edxZAmLupnOoAR+soZVmfN9/QkLEjSUEtddy+Dy1iNcxmBSyMFKvhQYzuLt+kyxLDZOv5aBpJikBZAUqeQpx6haciHLgiiwLAIHt8y38Pye+t1LsCxCp2+146Y3n0X//hTGWJdyVVhYxMqiJNE3UqAstMNoqOA+FfRpIHSTfBY5SXk1y0CzQtpx/QkLhPtZEACDss2z9Qgeh08wDJ7sJflSYDiLt+PziVdXEs2eaFC545qZHKmkLpDqHgdBZEpKgbogdFZYFgENJbcJdllPGrdsj7QsZDQUUL1F2pPPYgALm8/45meqj6/os0p/BLfAkp3tUljIwKeoZTH4PvWUcRdHLYuGcvxICHAVkVqlhAURjRFRwY0TASJ6ERE9QET7iOgtKcf8JyK6j4juJaJ/yr8mX8zkhCPioY1VmV6jgLovQMMygkENDIduc/zs2PMnAtSwWNugxEglOeRMiiflxWio2Nh0RTRUaFnw31HLohcaiv+OUibVacGRe/coLPoNTHFj1h1Q/FkDn4WZXhww3j4ZOgtUMxflODOTfBYZDu5Vl2/52rAN+KyanUOtrH8SkQHg1QB+EsDTALQB1InoOIBPA/hLxti+lHNNAO8F8EIAhwB8m4huZIzdpxxzPoBfB/AsxtgpItqS12Dus2DwGAUDMytZZT3CZWFtmIZtRnwWwxEWLNBKq6qNv9ahUky1onkWBWko7jgPo6HU/SwYY+h4Psgpzv3H25NkWVRtkap9URSqgO0VqiZemoaKhM5m51lIyOKMZe5TBpl5FoJuZ4yBYr4h1bIAuPColZHcBZB3tZsAnAu+oG9jjO1mjG0BcC2AbwJ4JxH9VMq5VwPYxxjbzxjrAPgwgOtix/wcgPcyxk4BAGPsaF6DicJoKFk+JStZZT1CZnAD4QSQGE5RONWy2DgWWxmoVgO3LBJoqIhWqzi43Zhl0UVDMZhEXZVF5X0dz++J/pMLjeszGMQd71VqwSp6jYbqVxlR79uwygnGeCn3pLnlxC0LhYaqMs8iSejKelFJ9227Hup2tYIs07IA8ALGmBP/kjF2EsDHAHyMiOyUc3cCOKj8fQjANbFjLgAAIroZgAng7Yyxf4tfiIjeAOANANDaugcdP4ytBvjCuhF2yvv3hx2cbvOS1SbxAdmIeQyHR0OZQytCtxah0io1I82yEMcoeRaMsS5hER+bQehsAqHb8TmF4Pm901AAAq1ykNVdM+/dg4O7mVI7q9x9w8XVMg1YJfyX0Uz35LaodA5JAVxhn2bmWYi+bTt+ohJZF5tdyWMGjTxhMRE3d1Qwxk4mCZOS9z8fwPMA7ALwFSK6lDF2Onaf9wN4PwBM7z6fOV6MhjI3RojnvSc8HF9h8Jnis4gNiqo1fRldUg9KRax/IdwLVA3PNpOzq1WBUrcMMMYXIKmxBlnwbtyyiNaGUtH2eMKpB8D1fFhJ5HVam5U21sR59ZLadq8IMo9LsGfSqZxEqxSFShcC5fwgkVLuKW1R/YU10wBRKCyqWJAz8yzkbnmuhylEdfSOjIaqjc6y+A54sAEBOAvAKfF5GsAjAPZmnHsYwG7l713iOxWHANwiBM4BIvoeuPD4dtpFDVDEwQ1wmmBxA2jAHuMbHxGFz1aPjZphhUAOM/t3LULlwmsGwWM8UU8twxD3WQB8UXY8H7ZJwcRVi+UxxoL9F0zik0kluJTAN6y6PsZLCYvwStKyqA/RwW0RSi36sm1tt1tTLorAISxum+Z7SDxXLbiY0paOIngCa00K4CpCZzN9FiJ6LsHMdTwf9Uh2+eAFWeZIZIztZYydA+ALAH6UMTbHGNsE4KUA/j3n2t8GcD4R7SWiGrij/MbYMZ8EtypARHPgtNT+rIuqPgsr8FlsjHwA1w+LJFrB4OcvX87Bquk2eXnps3iih86aCl0Uz7VQfRbBYuN4QlgYXRz6Y/OrOCUy8CyDQERdVNSy0/suhUmWRRhOOgRhUdKfOggNPe4Q5lV2i1oWvK9txTHcVcdLsSzqcQFcBQ3FZEpAks+C/04SUo7nw7ZCpaWKwJSir/fpjLHPyD8YY58F8MysExhjLoA3AfgcgPsBfIQxdi8RvYOIXiYO+xyAE0R0H7gz/X8wxk5kXTeMhor6LDaCBuyyMIdEPpvMSk2jNAaNqLAYzl4IaxGqIJB0UXyIRSJxFMHgeAy2aYQcunhnP/OBb+EPPnt/cF0gvLZcGpZVy6KssMj0WVSfZ1FeWPAT+lnY4lFYZarsBnkWZpijET83YlmYMctigH3q+QxHFv1IcEsc0sGdWPBQjLkqs8vzaCiJR4noNwH8g/j7JwE8mneSEDCfiX33NuUzA/Ar4qcQpGUhK3cCGycayvND7TXkYPmHyYaNhVV3CI5KZa9hJfb89kdO4dN3HcFvvvSiSu+/ViDLY1hEwSTl9aFCjU+NiVdDFjvCsgCiiWcnlzt49PRqcA4gFgCHoWUBS264ERJQfjFSozzV+/NrVa1ksMQIniw0B9A2N+azqFv51rDnM9z36JkwdNZIz51QLQtb3KSsI70Ibn3cw1/d3cHTtpmJORa8nUhsI8ApNVvNqxmhZfEaAJsBfALAx8Xn1wy8NQUga0PJyp0AjxLYCFVnXZ87t9tet4N7QtZqGlImbrwS55e+exR//bUDXXHnGxUqDZVuWYROXXWSOq4fCBjVOnM8PyjFoY5dAGiKTbyW3QHRUHF+fQg0VJlIKKB8El3afQGVts23hm/67lH86Hu+hv3HlmCbvFJCmgWmZu7XlFU8K6z87+/r4LMHysX9LDq8hNGZNku10AIaKiUfJJJdXsF6WMiyEKGyv0REY4yxpYG3ogSIQkew3B/ZFgW2+omqWAuQ6wRDdPADPMywyi0T420IE5X4oJMm+4rjBVrrRkakNlSGz0JWEVCT3zh/LKORQk3Xcf0guzqgUMW1W2ImrvRFQ4ULW9yyqFqZ6oeG6kcBijuEiwRlzIt3cHRhVemnZKGqKkdqklsW3XXfSQ9bW4QX703LKkh/jiWXpRZjlA7uNGFhm1S6mGIZFHq9RPRM4Ve4X/x9ORH934G3pgBkg5fdUALLTlzv1oWqtMuoG2key/C+qp/RUy0LZeK5QsPaCHRfEURqQ4l3Ea8PlRSI0Ha9wGfBvw8XFcdnQXZ1fOzKTbxW+qChEi2LEj6LW464+Mu72qXuGdybJecGZGEQCYPdPovksh0qgt3vVtzgPaUtsknRUPL4tHZ7fnJeThbkbZaddKEbWhYJyYMeg6UWjhwhDfWnAH4YwAkAYIzdCeA5A29NAUihu+yEEtjOMM/WE9TJHs/gHlYoq9ROaxahLmLWfZ8FE2x1UBtFr3GoUTZyfMXnaLSGV7godzw/uniJ+H3H8wOtNnBwi2sHNJTCXhR9167PcLrNIsqGjNwxDYJtUiGq54FTPm472tv4cnvwWdQHELkT91kUoaHUrVK7LIuYMhbxWZhRyyJNcXP95CrFWZB6yLLLevJZSD9ZleVdChuOjLGDsa9GsjJLYbHidmtn6z1yR6URTGXwA8PbIjNqWYRlDRyFhnoiQN3eUvoV4tqiukCqNIbj+YEWKktGez4DY4omHPdZBDSUYlkU5PK/csjFb3xtJbJBU2RhK5iJ7/kMHQ89VSx1eqChmgPQgrt8FgWeVVqIZ1YcxbeU7+CuR2iodEe6x1jp/dSl/2vFBewUmRtGQ6X5LKrNLi/6eg8S0TMBMCKyiejXICipYUP2o8fUiBL+e9SWxYnFNv78iw/C73GjGVVRidMbNbH379DKNsS2j+yIRWwjCItP3XE4skdIEtRFSJYSj9eHkj4LILrYuBEayhQCJHqupBnlAhDSUOExRRWD+Q7Dihu1SlRnbL2gkiHlVC/6iLdGfBZFnlXdoyKk65J9Fqr1UNTB7fZCQ4m+91ny/tuAsrNiEg0loqFs0+C+zQpC7Iu+3p8H8Ebwek+HAVwh/h46VN+PXFAD82zEJT++9N2jeNfnv4cDJ5bAGMNf3N7G3ceLt0mlEYI8C7EI2Wa1G5tIRB3cYbRKYFmUnQVrDI/Nr+KXPnwHPn3XEQDADTcfwA03H+g6Ll4bCkiyLMIxWFdojI5wNgIhLdKJRZHJMSt/i+26Yz6LojQU/61GUtkRfr3YviSyib284l4si0FowUl5FnnPKjO3GUOXzyIrKa/LwZ1yH5kvVQYRRTGNhsqMhmLBO0/bm6NfFI2GOg6eWzFyqP1oxbSzUdNQUntc6XhwfYbbjnrYMV6cx1WTqtT9LAAEu2BVrdlLc7hmGmjWohE+/PP6Fhay/Yti57N/vesIfMbwumdFK9dEhEUQDZXg4I5ZFjKDWyZR1oXDNR5ybMWs4rpJMKm3DG556TTLomiimnzmtscwjnL+B9dnsI1y0mIgwqKH2lBOAl2XFsbreLzEi+ezLmpP+p/i4A7ucuxCEqsQh0F8M7R4G2VZ+6TcnkEibz+Lv0C0dE0EjLFfHHiLchCxLGLa2agXMnVBlZ+Lahi+yLGQiC9CskiYXOSqQrBImtHy1htFWMSfw/H85F3wlLILqXkWShWBeF+F2b4m2oqwlTADq5h/kEKplwxuuWAuKdpGLcavF6Ohotu7lkF/Gdy9K3nxneXUPcfT6JykRLus0NmJhoXTy06hPvXFls/t0g7ubn9lEhqWkVDFWCp40aCKQSPv9d4KXkywAeBKAA+KnysA1AbemgIgReNZq8JixfHgiInbLtgkx0/WPKVTrSZoqKppoEQayvGCBXW9+yw6MUd9x2OJ40bl4NPyLNQqArZJMEhYYW4sdFYZDxKhVSz+Jm5dLPcQOisFvDo0akr516KaZtJ1ikL13xTFIEJn4zvLhUEZ6dd0In6IuIM7lpTn+kFCbC1G7SXSQWIeuz7glwgUiEZCplt1Se9ShrUHlFqJkidlkGlZMMY+CABE9AsArhX1nkBE1wP46sBbUwBEoakTFhJcGzSUXIiWO17wuag5GneAyrDguGVR9WIdVJ01jZCHd/xggq13YRFShb74208UwNGqxtFzJdQqArJ0tbQsQo3VFMI2WRkILQsedXVaSXMoTkN1j7E4v15EyQh9FuUDNFT/TVHIPeb7WdjULHoguui3UtTZpHDYwDEcz7PwfEzUbQArhYIG1DHieEC9YEGlIj4LIHnDqLDGlWrNjs7BPQNgUvl7XHw3dKgNDiJKxJdVl+/Og9QeVdqmsGXhJi8mgbAYkmUhx7pawXIjObjjIcCO52O5003tuSxcgEhQUV0Z3DHqpS4Wvi4Ht9tNQ8WDM9RtViWKLqKq0RLQWzF+vUgyp7xObw7u8nkWQDKtUgZqFj2QTiepiJTwUIVqQtKrpKGAeOhssiNdncdlqCgv4R0mIcmxHtS4kuHatWpoqKKFBP8AwO1EdBN49OpzALx94K0pANVnEUy0WJTAsYU2ji+28eTtkxgmXD9cUJ3SlkWasAg1n0FsQ5kHqampobNtxwucgqOm+vpFYCEJAeG4fuLEiieZJe2W5/gM40ac7vG7fBaez7reW5zi4j6LcHeLmmUE1k8e1PWtZQMLnSSfRQkHdw+h372EzgL9O2PjFk0Rp3l6ol13Wzquj0mx46F6bFqwiXptPveLCdCilkUzwaIJCyKqEXgjsiwYY38LviWqLCT4DElRDRuqsAjyLGJJee+9aR9+9oO3DrtpET48EBYFBXwXTZGQZzGIbSjzEMmzSKChRk319Yu4z8LxeSSJG+t/L8bB22b3PtweQ6SOj5pTEY+ykWU+JAKfRczBLTHZsIpbFkrTm2Lg9OLglorCsEJngf734U6y7oDscRoJh83JnXA8luizaNVMuEplg+B4ZYyU6UfVwZ3Vj/UEgSYZDZWGGmWeBQC0ARwB3y3vAiJ6zsBbUwCEUFYHpnzMslhYdXF6uZN5nU/cfgjv/LfvDrRtjpK4JpPYig6YLp9FvDaUCJ11vO4BOkhIKqKmOLhV4bdhfBZKJVigu8xDfBFKsiwSaSghWONlJOJJgGZs7FoGoa4Ii4mGXZh3VhcamdynLoKtmplItXVfh/8uKywY4xFAZavOAug7dyhuARbZ/CdqWYTnJjmGHdfHVNPGr77wArzk0m1hu2tcgCx3uo+XKNOPUcsix8EdG6udGA01qmgoAAAR/SyAr4BvVvQ74vfbB96agqgrEwwIfRZqKehlx8ssW/DF+4/ik7fHd3ntD2H9JNVn0RsNJef6ZNOCaRCmmjZaFe6vKxFaFtHSARtFWLjKOwLCyR1fTOP0RtI+3HFhwWP8oz6LeoplYQdWMf9tUTSCaaJhlY6GAsLqtaoW3KyZXYta1nVK5wgEuQ49+Cz63GArHoXVEot4lm+toyYvxn07Cc7jmmngzT94Ps7bMhF8L0uVxO8ToaFK0HlF8ix4G41g7MbvWQvG3AhpKAC/BOBpAL7PGHs+gKcAOD3w1hSEyvMC3NFtGRQ4uB3PB2PZVWi5Y3OwHSpf2nKnfJ5FJ9ZWuZhMt2r41BufhR+9fHuoNVXoZPZ8nl9gGvGy28Jnsc4d3F00VPBccRoq7rOghKqzLCYs+CR1/SQaKmZZiPNkAcGGBdSVa43XreLRUEqzWna3ZdFUCkJmQa6hRYMygvNkrkMPlkUSrVL23uriKhWqLEsqKc8C6BZcMtmtlvBg8j5pkUlAuX6MOLhzoqG6Ewdj0VAVWRZFHdyrjLFVIgIR1Rlj3yWiCwfemoLgjpzoRG3aofakLtppG8E7Hhv4oqsuRJ0SlsUrr/86dk43I9+pERGX7JwCoGgzVVoWIgqIKJqUF19k1yukcFjuuMFiAHQ/l+tHJ20tybJggKn4LJq2icfPtCPZvjIDP25ZyPf75FkDb76ihj2TRqAZSgowLUM4DlXP2NwkXL57OhgzQHRhG8uI5ZTJXWU0YqA7Ma4MyjxnEuLWXTNlEY+ek+6zUM+TxR+T9m9ppgilaOhsGcuimM8iTts9cmI52Nc94rMYdga3gkNENA3gkwA+T0SnAHx/4K0piICGUgZnsxaGlXaUBWF2LDnYmmfucsemNaDNfEI+PCwcV0Qe3X9kASeWoj6WJJO+yEToF+rkMwxCzTQiobPrPhoqeA4/MkGThEWEhjKApdiaFt8vuVWzcGZ1kR9vRfNkVGFhURjqaRDhyq3CgSrGtW1SqdIu6nO0bMKnfv5Zkf+H2na2sOi1NpS0SHqZRg3LwON9KG1xCzAQjBnXdFIy3Vs1M1h4gXA+JwqLAjRUGcsiSkNl+Syi1s+Pv+/rOGfzWKSdo46G+jHG2GnG2NsB/BaAvwHw8oG3piCkBmbGBsmypBbc/IVN0j7LA+xU9b7yc8dHrvnfcX3ML0dXoiRnYdoAHSTiGjWPJ+8tKc/1Gd729ZVSxRSrRiTLXpnYXT6LGBdeM6lL43ZifdWsmcF7rMVoqDMKDZWmOUolyLYMtGrFc2ryYvSbBXh8oFyexUOnPfzPr6xgxWVdxfzKoFnrL3Kn6x3YoWBMg0oVqQ7uZs0KQqqBcI0oQ0NFHNwlmKCkunBJiIf3nl7u4Mj8imhnqKC4PuuK8OsXhXUBsTvemwBcCu67yA43qhBxnwUQfdEqDZWGKpLM1GtGNIwM34mkQqQpLheMJC2tSKRHv+DhoNF7qiW2y9TxWXaBgwsM3z+zdsJt5QKw0omW4IgrFvG8gZoZXURlBFDUuWpiQdTu6o6GUiyLlFknlSDbNEQEU/nQ2aRrF6Uvyzi4Dy8yHFthOLnKuvaUKIN+KRPPj+7/UMT6TsuzGIv1uRQqtQQJ3EgRSqogKhMo4OW8Qwl1QzKfcUF9Ok5DVbQPd9FoqF8C8I8AtoiffyCiNw+0JSWgRpBIqC+6mLBguceURZLPQv6dBqmVyd8yTj5p4jWHEA3lJYQiqj6LMg5uGbdfNCJsGFCpwrYXPks8Ac71WcQf0TAp8hxBpruhaqahfyzu4D6zoloW2fsV8Iq/VmFFJk9YFHH6SuEHFNOIXeXdyvN6y7PoMxqqy7fEy3YUdnCrgQAxay7uOFaRRnepfopyeRbh52zLgv+z7frBOVIR6aqgO+B1oqjP4vUArmGMLQEAEb0TwDcA/MVAW1MQUtLHHVuy04KidwUsiyLx50URtSzCt5/nO1HRsoD5dvIGKOEArTbPIk5DLSrkazkaiv+uuFBuKaj9vaho+10+i5jVUDejHLR8NjOisITTKSj3YXX7LNLKOYSWBaFV49VTHaX0dBqiNFSGrytjPqjXKLLIqe9WPk9PPos+k/LiWfREhJadbZWpc7MrH0WE3BNRjrAQ1F5K6Q2gnGWh+p2S3qFEUxEEccNBdXDLYwaJoq+XEN1G1UPRPPYKENJQUZ/FSsyyyBqEnUpoKNXBHb7JzNIDsWqkLZtSNYuQj61u9U0qn6CGfZYZgOr+CGsF6ns5owqLWJ/GaSgpLGQl0aRw0ZZiWQTbqtaiPgvbTH+/gc9C0FBAMcs3L5KmyLXUhafIIqeG2YZbxZZfEuq2iU6BsN408GTA6H3jFkIcaph61MFtwfNZQBtn+SzSfCMR+rmMz6IgDaXWa4u7JAIFpSIGoqhl8bcAbiGiT4i/Xw7u5B4JAhoqFomy1IvPYoAd6irXVAdNliUQL/PRstIHS5X760p0JZpZZrCoEpW0LHqM268San+r1FBi6KyyBtWFBJWVROOb7gDJNNSYkADSJzXZsGFRcqhoVFiETukpUZsoDYPwWajXKLLIqYpAi3Vb+kUR7MPt+pH+K4r4ewKQ6+9JpaGUAJKGbXZVc420O7DWskJnCz4EQkvW9ZODWyQiuU8xARuMuRKKRhkU3SnvXUT0ZQDXiq/+C2Ps9oG2pASCaKiU0Nl4sbgkSI1+sD4LSX/5kUFT1NkGAM/aaeHC2WQtaxihsx6LcvXNmonDp3m0RZlEMUDltQfbxn6gWnJqhFKXzyIWkikX8rYUFgkRQK0kn4VlgiikocYbFuAkC4uAhrKMQn6GsK3h5yxfV3EaKl/L95R3209SnvqcvQqL+H3zqC3H8wNfiRoNJQX7suNhBuHCX0vo1JplwDIouA9jDO/8tweCqhEGFaehGGPwfGCiBpzpZNN5qkCLX16OOaloLA144uXtlDer/Pmw+An+xxg7OdDWFERSNJTKU3YKOK+rjIZadbLDMpPOkXjyrImJWrI5LxO8KvVZxCbfWN2MaMULq24hHl1eC1jDNNRKhs8iRsfV5Z4pHsMkKDECqGmH08kSxxsG59CXOl5QZt5xUxzcpvxNStJX/vhUh1Cyr0vWMUofhyqVVchnIQ5f9Rhcv1t5KwqVIttU/vSuLHp5zWx/JcNkw8aq046VRZHWnPB9ShrKTBZiaiLwyaUOrv+Ph4Lk2pZVnIbyGa813LIIZzosk84L2ui4XT6LWsyaHTRdnTfjv4Nwtzz5+VblcyaI6EVE9AAR7SOit2Qc9xNExIjoqiKNlpU6Va6yVbew4njwlUqQRWKtB2lZqE5zlRctWi4ZyNbOLNNAzTQqT8ozY/Se3MpVVt/Mep57Ds/jjf94Gzw/jJJZS5aFmr17JsMXk+SzAMJnSdKmx5RKgBHHqUiEs0S9rdTQWVnrzDICZ3ne+PQZi+x7nOmzyHhvQUQTlXNwd7xwO9Ze8ixkkuBSjwsbp2+i923VrMyFsqPsUaEqPa2YHyJ0cCc/V4TNEB0oFaum1V0eJusZ5DlA9hogKaaldoKDW5wfWBbDpKEYY3t7vTARmQDeC+CFAA4B+DYR3cgYuy923AR47albil5bamDqOwyK7BXMNq4kGkq8PZ9FB3+moz2+3WbOfKsqO1PCY0A9FpIsIev6rzgeJhrJPPotB07i03cfwQ/MNhIti6W2i8W2i62TjcE3vgDU/lbLTCQl5UWiwsRgk8+S5LNIoqHU723TwE9ecxa+90ByteMwg9tILScRR3zBSBo/dcsAUXbYs7xOyy7o4BbHr7oMnt+7z6KlLH69wPO7n7lZM3F8sZ18ArhvMWmPinggQLyaaxzqzpVyPZGKFe/H4s8AAGNiSmX5LALh2nbhptBQgWUx4DDEzNdLRHty/k9EtCvl31cD2McY2y8S+D4M4LqE434XwDsBrOY3l+OpW028/Fw76FwgOujK5FkMkoZSJ1mE4ijh4M5jd1ol4u97Qbzks1oeYlIIiCIhyW1XXVDC/7/3pn145fXfGGCLy8FJdXCH3/uMwWfR6B7ZDaFl0R0BpNJQqjYqNT3bNPDKq3bjmTuSdbSkaKjcrGvR7Ka4ZNK6RkQRyiTrOi2LCjq4u30WvdBQ4/V8iiwL8QxuQNBQKQqV5/N3u3WCKyuTjfBdxAW0E9BQKcJC6dN44m3LosIWtVz0L5kz8eoLbZwzlb4IjClWQ3w7XTlvW3Y1lkWeLvBHRPQxInotEV1MRFuI6Cwi+gEi+l0ANwN4csq5OwEcVP4+JL4LQERXAtjNGPt0ViOI6A1EdCsR3To/P48tLQPXnWcH9XWAaFhpXsKd57Ogowda7sPzg81XVIqjqM/CIF4rKAtNpaxJFYhnJavCYqbFhUWWFhgEF3gsoCdUy+LEYgePnSmsFwwcjlI+PBo6Gz6Tl0AxSZ9F242GzpoFLAtpnSVlAquQ96iZRmRRyIJcaFoBhZF8j1bOuJHvqmVzf4yfUd5fvW/bY4lWVlH044xN20cjKxpKzrfLd0/joz//DFy9N3TLjtWj1F+QwZ3yYEnh+gDPKWhaVNhXJ9eihkn44T12ot8puKfij1DlU800gvUwEHrDtCwYY68ErwV1ITil9BUAnwLwswAeAPADjLHP93JjIjIAvAvAr+Ydyxh7P2PsKsbYVVNTU4nHyEEXdVomd1Y0rHWwwkKat2dWHDRimzIlnqO88SLlEhoV78MdD0VUF8BpKSxy+GCAWxaym9V1oOP56CTsST0sOJ4fhKJKy2IstgNh0uIX91nI5tspwiISvy8WoTQ6IzhHLSSYEpoZh1xoWhmWBSBqMGVFQ8UslLy1W323/dSG6scZG2aOR++bNUc6ih/iqj2zKQpn3GdRnIbi7eEl5wtbFgmKRxrGFOGq0lCqJVuzuG9z0EplbvOEj+H3APw/APcDOADg2wA+yhjLUhEPA9it/L1LfCcxAeASAF8moocBPB3AjUWd3HHIiXp6JSxZlTdggMFncEuz9syqi4ZFMHNyE9S2FBkszYp9Fl3RUEpW8nSLZ6EvZmgsQVkQjwUlvR1FU5X/XxpRWndHRMIAofU32bQj4yCJVulycIuJGrEs6ioN1W1Z5EWQmcStyzJJeaGvITsiqSgNNW5L30zmbSP+qH5KlPfjjHUS3hO/Jl/EkzY/C6ilrOKAQQg+Pz/VwW1bXYJFtqdhElbjToUUlLHMGrYBg7oti7gi0qqbw7UsFHwQnG76c/ASHxcB+Lucc74N4Hwi2ktENQCvBnCj/CdjbJ4xNscY28MY2wPgmwBexhjrafNs+aKjTssUU9T1c48pC8YYD8lTtFaTuLZYtPRAkcHSLLhFZq/oKo6nRPjMCGGxnElD8edZdaMhnfIUGSWWJXCqhONGrT8AmGraEZ9FkqZcjzm4nUSfhUpDJfssskBEqBl84hepngqEC81Ttph40R4LW1ppkTtWDg3Ff4+LsO2VnIUuoBjd/kqU9+OMTbLugDATO+4PBML5ZhnpJTwCP0QhGoq3W/VZSMtC9dWdWPHxizct48hSd5vK+HyICGMiQlENd46PrbGaNXSfhcQljLGfZYzdJH5+DtwqSAVjzAXwJvAtWO8H8BHG2L1E9A4iell/ze6GfNHzGVm5EpGEuQF1qLympDjmVxyYBs82L+IQBoqVSxirWRF+d9Xx8OdffDDYJbBfxAvoRS0L6bPIsix4O1YVnwUQCosiwQdVwvF8tGomTIMi+SMq3ZNUGC+NhlKPMQ0KfFbxmkP8u/z3+9zdFn7gwi0wDOmULhYNtalBeNWFtVSfV8s2MyktSWfJoJE8rTi0LPpLypNJi70sbGlCKquUf1Y4bMPmUWMrPTi4o0ofoW4SXBYqHsdWGBY6wJHFbmGRNJaywK2GaOhsvORJ0X3Xy6Do672NiJ4u/yCia1Agz4Ix9hnG2AWMsXMZY78vvnsbY+zGhGOf16tVAYROndPLBSwLb/CWhbym1L5PL3dgES8TkTUR4lxnHsYbVkQrv+37p/Cuz38P3z5wqseWRxGnoSI+CyEIs6wCaVmoiwgQLj4jtyw8vk3meN0KNrqZatmRd5REb/Cte8PnSFsgWwmUk7TOimyy9eoLa3jBRVuDa+WNz6ILTVaEEKBYFoKGWs15PaHPgvUVDRUkLfYwHtJ8JVkUXpbTOl6EsJTPQhnsJnHLAgj7UY6p1YRXEOSpFKytNSZKG6n+8y4aqmYON4NbwVMBfJ2IHhF/nwXgASK6GwBjjF020Fb1ADlAJLVgGlTMZzEg/j8uLHxB59iUo4mrg6yIsKhHhUU7WHx735pShdxWVUKNhpI+i2zLQvgsXBbRdjoxy2KUPgvL4MJCWhazrVqkPWmCQK08my4suBBSJ+9YQEOVW03zCuIB4UKTValUXitL8MgpEQiLnEgeR0m45CVi8iP50tCqZyfRpSFtH42s7Pd8ARDSN1mFBIFoNFQn7uBWMv7HQYHllkTvlXFwA8Ky6HhwlcTy+PPkJSb2gqLC4kUDvWsFiPssOA+db1nkRZsUhTRDZXgpwDWemhEthZ12HlBMMxuvW1hqu0EZZSks4ns894p45rJqWYzVTdRMI9NSCh3c3FkrIRcfmYsyKmHBLQsK4vsBYGashmURt24aFGiscS5c3dMiTRtsBpZFd82oIiVSVBSxLIouNM2cKLq4g7uoZbEqLIt+diYe61ELThPYmTRU4LTO90PIdSItyqspdqSLR/dZRhhVFrcsVhL6tex+ILKqgtvI8FnUTTx6ejAKpETRQoLfH+hdK0AzJiwmG1ZqPL8cMBN1a+A01LSybwU3RynYPS3rPKDYYBmrW3BFGeWGbXZljvYDWTpCnRzjsQifsXo2ZRBsLesCNaPbZyG1tUGbyEUh61qNK8lYs2MhvTbVtJVFKLpIFLEsgsgnxYEqrbM07jsNrRynNFCOhsqMhhKvSg7fPMsinpTXSyRU2LYeLYuURTarFpbjp/ss+LnRGnNq/kIcaoHGTpyGMqMWmprx3vUcJaPJxusWji6swq2H38X9YVVYFn3oA2sLNZNXgVQti1UnuU6+1H4nm/YAHdz8mmM1MzBbZVREFkVU1sEta9pI4RAuvv0PjCTuOR4O2qpZhWmoSNlrMUkCGqrCiK4sOK4vhB5/LqIwKEH2aToNpVgWaVqtcJ4bCdVoe7Isct5rsGDmDJ28nfckTTJR0LKQ93V9Se1lH58FroD0YllkW3dJgjbXaR3LnUijoIBQkVpUEoEBrmTEfRayvxIti5J5KnxcRPezSLIsRhUNteZBxBOZpLAI+PUk7UL08lTTHrhlYZsGJmThOINncmZNBEkj1S2jmGUhtKbFYFdAQUMNUFhE9mhQwkFrptHlM4kjKPfhRcter5nQWZ9F3pFtGBivR6O8+vVZxLXWIHS25IpazMFdbKGZaFjoeH5q1Jyar0HID51VF6plN7nabVEkacFvv/Fe/NMtj6ScwZFq3QXhuEk+C0FDpbyLsVrINnRcP9PPJOujLa666Cj9ypVEKXSlciFCyhMstrKhx9LB7WYIiyrKAm0YYQHwySWjoTYJezqJyw+c0WPcrxGvsdILOgoXKikOkwhNK89nEQquQg7umGUR0FAD8FkkmfWmCOEEeFVLrrFE7/XJ2w/j3+45wtsT5FmESXmAkp8wYge34/momRQsKLZJQZ/KseKkVFGtW4j4LAjdTt1mzUyIee/2YxRBs2blVhguutBMxJ4x7TpJOQKJxyvvdtFhfdFQ4/XunIDP3/c4vvzA0czz0ii4QONPsOiLRDip0VBZ1mA4bpyoZUFhqPVqTLlI6teyNFQQOstCOj0xGqrjJiYm9ooNJiysIBpqtoCwmB3jpN8gFlp5zZpFgfYvoyKyNDrH82Ea3OFaZLCMK1UngXRNfaXjRXJOisBLMevlwmoZnL6JW0ofuPkA/vbmhwGEiUyrogxEvHzEyH0WgoaS1oQtwmiBbhoq7uCumxTsJ+75ydVBx2pmF8XR6tFnMVYgVr7oQpMrLJTrNEzK91mw8N0uO/3RUEl0W9v1c4M2ghDn2L2lxp90vlruI7UtndBqzxIWQZ+23a5KDN2WBSJ/qygbDcWFK7csaqaBVt1M9FkwxnfUGxQ2lLCYaFgBHTM7LoVF94IprQBpfZxJOKYsVI1FahxqVESaQHI8BtskXL13Fnszqk1KxBe2IHQ2dv3/89n78bq//VapZ0gbtC0l9HMswWfRUSZ24OD2eJE3WeCuHURDjdqyYEJAhH6EoE9Xo8Iivp6oNFRStVMA+MlrzsavvyRaW1NaFlZJy6JV6xbMcRRNiJPCMW0cSkXBoOKWhXy3S05/Du6xBMui43pYyAkHl5p1PCFNvs8zGYpimuCW0Ya8DWFh0CRIKnNh1Y05uAnNmGWRHQ1V1mdhwWfAsiMs47rV5VuRCt4gfYNFQ2fXBSbUCJdWsmXx039zC46e4bXu06yPd/37A3jqnlk894LNhe+t7tcrB6tFoYax1PawaTzhPKHp/sFPXIabbjqRe5+xmLBIsywem1/FwZMrhdsPKJRGQq0d2yReaqCeLCxklIlaSFDuJ1wzw8UnsCxG4OBmjAXaohQWNUW4S9oiy7KQGne8LIrE5buncfnu6ch3QSHBkpbFRINrkL7PIg5zFUUXmgmFMkmCy/h4JaJiloXPs71PrAJLDsNErXe9Mynb2PFYrmWRVpNKWupJzxqEw6a8i4mGjTMrrijfk2dZhAI4HtVoGXweSUvCy/JZlKShAkHgcMXn7S+7OMjvkggiwtoekLDu9IINJSwmlQ15AkEQW9juP7IQbIwSCovooPrbmx/GY2dWSwmLwHFmhjH8pmJZpGlJnEMvPtHi0VBpobMdz09dGNKQ7jC0gkkzXje77tV2/a72qPH3TTN0mIbtHT4NJZ2MNZNCGkp5X7JNqZnBQuP2Geva9yMLYYnycgvqZNMGY3wMy4it7mfiv/OMlolGurYtryPfe1HLgm//y7Dq9VbqQ2KsbsHxeL6C1JD5+O2NhgIEy5BkWeQUB5xsykAAX1ihWQ5u1WcRFRZc6BazLEon5cniiw4P1nj2+d3rVLCj3gCVsg1HQ0lsSqGh1KiFNCd42/Mjpc6LQNIvalimSRRYFuk0VHZ4XhxjBX0WHZcP+DIVatOSg1qK07YlclNUx5kUFoyxSJ6F3B+5ZROW3XBTIWDwtfaLQKUKxwrQUF0F6mwCA382p0RuQbPH0Nlggc/wPRVdaCYDHj/5Wh4Lr9GwsiumynycKWVLxf7yLKJlyuV+MwurTqaDNq2QICCFRQIFnUNDTSgVifMUuVbNhEEQ+9JHHdxAtB+zfBZlk/KkIFh0WGr7pDU7yFyLDSUsopYFd17HBYHqiAqtj3BQMcY1nLJ+jEjorOqzENxlXMIzxvCRWw9iYdUttYi0bF54LR46GxdGUoiUyexOi1sfj1gWYVJgeC8eUbbc8YL2MHAtyjJICItodNQoQmfV7F11D2YZ8SVpqDSNVe6RvOyyrkz3LNTEdqrPKWGpAugqpZ6EogtN3NcVh5pY17SAlQwdQ776iVo4TvrL4I6WKZdj1/FYpoM2KHWSYOFNNOzEZ82Lhgq2GFhx0XazaSgiCkLJ266vMAq8PXWzO89i1eveWKpsba1AYXTSLSQpUAZV2QHYYDSUui/0ZMOCaVBEu2AsusiF1kfYoVJDKCssEn0WRrjAxF/avqOL+J8fvQumQdizqVX4PoYhSxRHi53F6Tb5nGdWHWyeqKMI0mio2bFaMInCDeNdNERIrXz2M6sOOq4PS5TM4Fw2oWYCC51obP4ofBbqnspjsdwHtUBjumXBfy87guMvuEASEX7/xy4t3d7JZveGXnFIAZ+30MTDg+PwFFotby+GQFjYimXRJw0FKAqQMkcXVp3AMktrR5JVM9GwcHKp0/W9m5NnIcvXS2pJrWCQhImGjTOrDgyiwMdkqRZakMQZrWbQVC7LKz0Xr62l+ixmU4RZsMHXAIXFxrIslDdQs4wu3tL1GVShnmR9yBDXsjSUHIQ1hYaylOqTcS1HxnJ7IkmsDNSSG1IodFw/Msnk5ywKIw7JWNmxufnLL7wA73/tVeLe3dtgqlZMx/ODUuaLIqSyZUUtC6LRhM4GWqUR5lbIkMOJeiiAXcYSt7gdUywL12eFq4T2ijzqCAh3NsxbaGyT75GR5eAOaahsn4WUIw0r3N2vn74IhKJoW9sLx0bWYpcm1AEIB3f50Fl187Ii/sSJhhU4uOuWgV0zTcwIeq5hdedZAN1UlJMShp0GOQdXvXQLSd0qYVDYWMJCsSykhq8OGHUxBRCEnKlWhDymbCcHC5FFQUidaaT7LFQLp4zPQrY7Hg0FRMNRg8zuEppFWjLa3Hgd523hIRWBsBCWgev5gR/izApPTpLZ8wsdhD4LhwXa1VTTHknobDTL3g4+A8KyWA2joZK0Vbkb3bIoZdKPNl0EIQ2V3leqryEPaU5fIPrMjdheDCq++IiDd9/GA0QsImXv72JtSEKwsImE2rhlkYT5ZScoSpns4LYTz20LjShNCAR9vuIEkYpZkGuMPPbTv/hs/PAePkdUCy0qLKLXKDuWppth5FPa2hHf4GsQ2FDCQnVwc146OmDiwsI2CZOxCRQusk5iXak0RJ2nIQ1VN6UmnexTkOeUgSos1CgM1XrpKDRUEm64t41P7Yv+L0tTk+gK3VXuP7/iwPNZEDjAwJ38LYv7L+T1Z1s1EW0yuIShInBUGiq2x4TcfQxIn7xyn+tlB31XWi2CkIbKtiwKF6DLERaqZQEkWxf7533sn+f9aBphn/TTF3LxO72SJCy6G+H5DM/945tw0yE30QIEuIWQJGTbwgJIKw6oJvTJnJwsTAj6UobZTjbskM5TLDTV9RIvpeL4rCtXJAvTSmXrNKHXsHmNOm1ZpEBKU9MgmAZ1aVLqwibzBnhcdbdA8Vk5Xr3jhc7TIClPDOTxmpXgUwhN7bJlIFR+PW1iBT6LFDrte6d8PHAqSgUFNFTGqJiKaSzq/U8sco54y2Qj+E5aFh4DlmQyZIKvaBhwAqqwm4ZSF9JUYaFYFh4rRx30gjC5LNvBXVQrnWjYqTXE1AUryD5OyAlQg+ssAxgTfdJPNFScMlHnadIYWXU8nF52uOWact+JhiUiAqNjvO1kRx+qlFhebSgAGBcKacdjXddtWRQIBk/hv+MbIDklLQspCABkhvZONe3AWhsENpSwCCNceAfGrYa2063NxwWKSg+VcQ6pmaHjQXkM/r+xupUaraS2pSjULOpOqmUhfC8pC43jc5+CiiLZwHK/jlMJlMHxJU5PbFEc6tJnAQAiFxJbJhriGt0OyCqhWn91iycaBuNAlFAAOP2SpOk1FcvCiW0/WwUsQaVm+c8csQdHEUymhJMCYQIlEEbwJa0zqoZsUej0L5pzkoSJhgUiRVjk0FDx/a6Tr5lc8qPj+ahbyQ5zgBfOtAwSlGp2Brds+2KbFxKMa/ljNoKQcccHGuK2cctC7fuikLtWZq0dU01bWxZpkHxjKAjsSFhsx1O1eVVYJFNVpZzDrswMDRO+5CSOb4UKxHwWZWkoRcA5Lgvi1JN8FmnP4HgMS7F/OcGmP+kTP6AMxEKvPsdJYVmo0VemsqCc6bDI/0/3ICxeef3X8b4vP1T6PCB8t5J6UkOCVYGeVsrDEIUhV0qGzvaDtHwBCccrvtBk+SxUJ+t4TZbxSLAsFGrWMiiI9uunLwyDMNmwMS/GQx4N1Y5VeE1CWi2stpMtAIhCRiKvNpS8z5mAsoqFnNthORTPD/s1Lvsdv3xtramCwmIQpYwkNqSwqBWwGkKN0k63LEoIi7bLCwLapoHt0w1smahj+5gQFgllvfuxLKabtUBjaHt+kC8iB4YaIpy1OMQtC6eAZTHRsGBQuNe5atmcEKGKU007oAdsg4IoIikstkxyYXEqLq0K4IHHFnDPo/OlzwPCPm+IBzx38zh2zzYBhAKYsWyKqWVJZ/1whMVkI3vCl4mkSSuBwa8Ths5Kaik+PoCoo1a1GnvZf1uFqgXnWRbRrYjzfA+xpNwC1sKkWGRl0cksTNQ53bXUdhMsi7AfHR+YEsJiOcGiL+OzAEK/RZaiqS2LDIwHNFSoOcoFAIgOsiBkMu7XUI4p09Ft1wsG4WTDxrfe+gJcMMM1/umW3UW5tFX/SclVZ3bMFolAfIeuuXG++ErhpoYIpy00rs/3xVYzT4s4uA2DMNUMnydCQ4kyKjXTwFhATwCyUsWZthAWgoY63cNAbrs+TiXEzxc9FwDqIjb4n//bM/CrL7wQADfrXZ9hqeNlanotC1hyy+VZ9IPJZj4NVXShmWjY6ZUE/DBkWibbJQkLJy4slPfcD9SFTZ0biU5qVdHK8FkASZaFlxt9KNcEJ8EP0X0s74CTS50uwSIti8UOjwScqBHP+E5Q0srSUFPCws/yqWhhkQFZQEyagxMNG57Pgj0BIoPMUqgqlYbKGahpaGdUqJwdq3Vp0W3FU1iWhpoZk1QQ51W3Ck1davZ5VBpjYc6DuiA4Pt+jIU9LnGnVEiNXpIPbtozA5DZJ8VlIy6JHGkpaTEnJVkUg6Qv5ntQd7aR1dnKxIyKMUkpYK2HAVedZAIO1LHjSWPL+LSpvPi4EwGJCN6s0lPpu+/FZAFyhKhoNpfoe82moHiyLBl9ki9BQMgjh5FKnu/KriHBdchhcxoXxuN3dr71YqUVpKC0sMjDZsCL+CCAccEnUz2QzOoHURbwUDeWkO85mWzWcEM5fCVUo1UqGksiKuieXOui4Plo1C1NNO1hEI8IiKfSQ8bBWAFhUHlEO2rSwQonplh0s9FEaSrUsQi5bRhFJYTE7VoNpUGkHt7xXr45xdVfCOAJhsdzJnLyydMmwaKgsPwMgFvl0f23sWullyh2PBcLCMngRvGKWxWBoqMkEGsqKVWCQUH0WaWtlWo5KXjSUPFfOpfg+EUntBrg1H1f6AsvCCYXxuE3d9K/YpqAMAhoqM7KLU+yD2NwN2IjComkHL60rJC/JZxGbQFHLoiQNlaLizY7XsOr4kW0OkyKzikJaFqeEsLBNwuxYLRQWXrZloU74pYhlUUxLnW7VQp+FG0aBBRPMoiByyDIoiMWXwqJhG5hu2sE1ikIu9qeWsgvMpZ7vRGkoFbNKn2YKC6t8uY9+MJnjpOQ0VLFryQiaJGHrxHjz8Vr3ogbEQ2fDdzsIGioejj0zVkvOwlbncYpFoybXRc7NiYYCuIA+ISjVvLkpx03SseOKz0Jm2k/UCAudmLDoYSwVtSyA7AoAZbDhhMWEYlnIeH7JpUe0eSHJ4xMoSuEMiIYSloBqXURzPsr6LEItWFatjQiLiGaWoEUqwmIxJiyKDFpuWUQn9qbxmlKm3UDdDDVOy+D1oaSwsE0DU60ehIVoeMfze9o7PU5DqZB9emKpk+OzGK5lMSnygNKEI4+GKqaVyvkQt3KB7vDNcZuw2Emiq6LVVVULsh9I5UHuOQIA2yYbiYJNpZPTFPKJhgXLoC7Ksu3m+yy4gObzJu/YufH0bOqmxTeTWhK0pW1QimXRQ+hsActi0CU/NpyweN6FW3Dt+XMAgM3C8Xt8MbqI1kwjWKDnJuQx7cgxpkElLYsMGirQWsPr9WVZtKKWRc00I8KirSzgSQNFdWqrcyktvyCO6WYtmMTyXtumwkS8mmkEMeVyLLcswoK4l20amGnVStNJKv3Qi9+iCA0lLYu0fmjZPPTRZ6g8zwLgNKnP0qvFlvFZzMXmg4T0YanXGbOjFKV6Pwk1Gqpf/82UCDBY7njBHNwx3QjmpYoiobOGQdg0Xus6P2/3O9kWiby5uWk8DBOPH0tEvB87IcU7nmBZuCWsw3gb8xzcgBYWqXjj88/D/3rRkwCEL1KalHKQnbN5LJg4cynWx+xYrZTmq0ZDxRFqraploTq4e+MrTy45aHs+bIsw21KFBb/29qkmVhyvq9RIlmVRZNDOtGwsdzwejSX6a+d0M/i/bRlBFrC8+lg4/1CzDMy07CCxryhUjbIXv0UoLLqFOs+5IJxY6mRSTC0l/KbqDG4A2DQmx3Dy85bJ/g2FRXQBlT4s1UmdZlnEhcVUHSCEztxeoS5sobBo4uRSp4tzL5KUB/C+i/db2833Wah5QnnBJ2M1M5j3SdnU0pKQwmKixoWwainGKcAiKENDrQthQUQvIqIHiGgfEb0l4f+/QkT3EdFdRPRFIjp7kPefbtowDeqyGt7zn6/EO19xGYDQ+ji2IASKEw7UJK0mDW3HT/dZSK1VWeD6sSx4DRoLJ5faPMvUNDA7zjV1uR8HAOya4Qt4/DnUWHnVZ1GUWpkWzzO/HE5sVVjUTAMiiR1STk0qex/YpoGpZi1IwioKtc96siwcD0TJ2hgRiai1bJ/FlPIcw6Ch5MJ1LGUslgmdDZSW2AIqu1V15Uwk+CwYY5GxYxqEmYaB331WA1duKehlT4FUgE4vOxEFxGfd7zoqLNKffW6i3pNlsVmxFvIECxEFQrieMI+l0JUKyLhN8Fk0Ma8XSlMW69wQwoKITADvBfBiABcBeA0RXRQ77HYAVzHGLgPwUQB/OMg2GAZfAOTkkINs80Q96MjZsRqIgGOLUefwrplmIECKoAgNdVKhoTqeH5RDLlt1Vl7z2GIbjPHzZ1vcZ7DQDjeP3ymExdHYc6jhj/HQ2WI0lJjYihYo7yWfR/os2oLyUndVq/dsWYTWWK+WRVYRuZlWjVsWGWGx6nP0GwFUBFJYyH3j41DzI/JQs7iScWIxPh747ygNxXc3VLV6NYoOCOsy7Rw3Cu/FkIZJZWGT83T7VLKyExEWGbedG691UW5Z81RCtSyKKHJZWv6YTZiXvjqDghwWSUUlUYBFIO+ZZfkEpXl6DDWPo0rd6GoA+xhj+xljHQAfBnCdegBj7CbG2LL485sAdg26EXPj9S6KSdUsLMGfHw+oKiEsprmwKBp1k0VDTTa4hXNSpaFcH9umGnj7j16El16+o/RzzYzV8Nj8KgA+SFXOPRB4QtuPC71oNFT0+yJyS/WZyAV8x5RCQ5lGWLlUrO/T9ahlMTNWw4rjldr2NVJapIfs77yFYpOwzrI0vchz9JlbUAQyJ+XYwmri/8vWFeLadsyy8LpL08tci/j4UDFIy0rSbccX20GE3+aJZNpMDW/PasPm8bpQqMI53ClJQxUJaZXFB5OSa8dt4HQ73KBqPJYdn0QBFsHmiTpqZlgNIQmbxuswCHg8RdEoiyqFxU4AB5W/D4nv0vB6AJ9N+gcRvYGIbiWiW+fny5V6ULULSWPEpfHceA3HF0KqqmYa2DLZQMfzC/stsqKhDIMw07IjC5zkTl/3rL0RCqcoZlu1YBDIaCiAR/OENBTfgS9NWJiUEDpbQEudVooJJlkWtknYPcH7Yte4iDpTNXKRBQ6gpF9I8Vn05OBOF+gAF4InAwd38jERy2IINNRMi+ekJNFQns/3NC8jtObGuqmZJMsiKYu7SmGxTVQqfvzMajAH4/5ECakMWUaOz2K8ho7rR4ID8saAPE+iiNUfLzOkYqxGAeVkG4C8tAz2KFI1IQnjdQt/+OwmXnpZuqJpGlzgPn4mWdEoizXh4CainwJwFYA/Svo/Y+z9jLGrGGNXTU1Nlbp23LKwzTBrN+kYOZikRhencNKQlZQHQEQrRS2LPHM4C9OtWjAIVGFxcjEUFlsm6zANwtGYVioH6EyDMN9WfRbFojLUkGTVGSlRswxcMGPi957VwPN3c61LXWQBBHtelPMLKdFQvdBQGX4l2aaTS53UQoJAWDkUGI7PwjAIc+O1REo0aZHPw9xEd4RQ0oIV14CB0AL5qSfb+KPnNPqmnlRMNi00bROPza+i4/Hw1iBScSFGJYkHf/EeK9NXEo/+8n1WqISHOi+LVFeYaKRHJqlbz5pG+Lfs117eocRUnXIrDm+bbOCxdSAsDgPYrfy9S3wXARG9AMBbAbyMMTYYe0nBJsVnITWWOLiwUI6JCItiHZ2VlAdwDTESOptQ0rgMZsfsIOZdpaFOLoc0VMM2ExcaOem3tggnV1lgpmeVuVCxZaIB0yAcmV9Bx/NBFG5HCYQTbOd46B+YjgmL7UK4HJkvPpClZWEaFFS4LYM8GmpmjIcaM6Rr66q/o589HMpg80Q9UWnpZaHZNFYPysKE15GcevidtCyiygT/3bQIc83BLh1EhG1TfGFzXIa6ZWJC7GSZ5LOomQZ+/PwartiSvkd2PPorpKGLK2lF6rZJGkq1fCVmGlHacjzms5BzuN9yKWnYMtlI9XeVRZXC4tsAzieivURUA/BqADeqBxDRUwD8JbigOFpFI+Ym6kH4aBpfGbE+pLAQZnHRjs6ioQCujR+PWxZ9xF6qvGpdtSyWOmGmsmVg80Q9lYba2jLQ8UNe2vGK0VCmQdg22cCR0yFloC6iSX0ctyx2TPP+PTK/kn9DgXZgxTQKC/Ho+dkUhJqNm7VGqGUxhoHN493vEFAW+RKe9k3jtaCmWHgd/lsVkJua/PPJ1W4aqqqQ4a2TnDLpiERTIgr8DiqKUEmAIixkpKPMsyphEhZxcGdtf7tJERaWwS3TmhH6Maru03VhWTDGXABvAvA5APcD+Ahj7F4iegcRvUwc9kcAxgH8CxHdQUQ3plyuZ2xSwgVThcVEDcsdD8sdNxiopWmoHK11+1QTR06vBlp8O8XKKQrpjwD4gG7VuCZ25PRKULWzZhmJky0QFqKE+gmxIJQpO7B9qoHDp1cS49aTJljcspgbq8M2CYdPlxEWnIY6d/M4Dp0qfl54frZA36446bP6YXxAWctFsWWikSwsCuxsGIdcQNVw1KTQ2ZbFF7bjK9FoOX6/aoSkXNjUeZoU0VRU0ZqbEFRnLP+oiKCRxxSjodK3v5VCF+CWKBFhrkk4sRIVFlWNpa2TdcyvOKUCSdJQ6XBnjH2GMXYBY+xcxtjvi+/exhi7UXx+AWNsK2PsCvHzsuwrlsecEqfONZLuBT3UQDpBHPZY3cJ43SqkwbqeD89nmYNw9wxPkFPprqQaRUWxSw1VFZr9rtkWDp5aCfwIddPEloluM1SavltbvL0nV/nxvJhcsYVgx3QTR+ZXE6t4JmncjdijGgYFArQopMV07uZxHF1od22ZWeT8LIEu97YAsikmtfz6MLB5glNH8eS0nnwWwt+kCh83YcEiImxqUqBIqMdVZllMNfD4fDtC0c6N1wPLQKKoojXb4mHxx2M5VEUsiyA0tQDX+JSzpgEAl+zs9qeqSpKcF5uahONyziUI6kFiqxI40C/WhIO7SmwXZSgOn14JrIY4pBXx+MJqRFPeksIVxxHuk5AhLGa5JXDw1HJwzqAsC9ne3TNNHDy5HJY1ETTUiaUOfNZNJ2xtCctiJfRZFF0Itk83cGR+hVfxTChzEEfSdzumG3i0lGXBG37O5jEAwKMlBA0/P9uvtFvp0yyKSVoWCVtUV4LNE3V4PutKTkvyNeRBBiKolllQ0yv2zJsahBMrCXRVRQvbNhGB+PiZdjgHJ7ujedoFFS3LNDA3Xg+ozqTQ+TTIiL+Om/+Sn3r2LG5+yw/gJ67sDvZUx5F8T3NNI7DYAr9jRaVjQmHRv99iwwuLs2f5wvL940upDu6zN/FjHo4ds3mijmMFOjmrjISEXNzlJG336bOQCTdASPvsnm3h4KnlQOPmvhe+0JxR1hk56Tc1CBaFvHSZTNKd0004HsOR+ZVgYn/mF5+N373u4sLPsGOqWVJYiHItc+MAgEOnlrMOTzg/m4Yaq4fO0qxXM56y41lVCJSZM8lRbWVoITnWv39iKfguzULZ1DQilkXVlIlU7B45uRyMqbNmx3BiqROpnNp2ivksAGDPphYePi4UNKe4sPjFHzwfQOhby8PO6WZuaX8zEBaEJYdvzxtQiVUJYNGng/BbpIcSbBA0aya2TTZw4MRSal2YXTNNWAbh4RNLEb5053QT39h/IvceRbhQSRsdPLkcnNOPZZHkUN4908Sq4+PI6VWYBg+r2yMWh8eWfEyLGhxOEIEBzDZ4RJTPxAYthX0W/HkePr4U7FB40Y5JXLRjMvWcn7mohl17zg3+3jHdxOMLbbieH+yLnQVpjZ21KSp4i6JI9m7DNrDq+JkL4mueZMMg4LK5imZ4DHvm+Dvcf3wpQnX0oulPNW3MjtXw8IlQ0KYKiwZf1FZdhoZFlfsspBY8v+IEc2nvnFTklnHpLv7sIfWZT0Pu2TSGL3/vWHAeUCwa6qWX7cjMYSgDvm+7alnw/ju+whIpwEFi64QM1NE0VCHsmWvh+yeWU4WFbRrYPdvCgeNLaCv17s/dMo4j86upFT8lwn0SsrXWTWO1QBvuNxpKhZxYkurad2wxEETnbuFa+JElhU4QJZGJCLMNzkt7waAt6rPgg/DR+dXC0SXP223h555zTvD39ukGPJ+VzGUxsHWiDsug8pZFAY1UJodlHTbbMPALl9dRH1Ls7N65MRABDx1djHzfq6bPte3QskgL35SLWhAA0YNDvQzUAAM5fvcGgjJ89iIbGEnsmRvDsYU234bYCS3uYWIy2DWS/55rSPrXr1wATzYtTNQtfP9EubmShCeEsNg7NxZQTGmLxd65MRw4vhzZo/c8sdDGJ2kcRWgoANwBfXIlqNmfVHisDKSzUqWhAOChY4uBINo+2eDJTkvJ1WVnhROzrLN0R8LELgvJnxeloqTPwTINbJ9u9GZZ5DygDJkeRvnxomjYJnbNNLFfWeCBdF9DHvZsGitIQ4UacNZxg8LWyXqwTamcg2cLK1JSSQBSA1WSEFomS6V8FoOEFBYrwv8hc1SOr7DKqT0iwvlbx/G9xxf6vtYTQlicvYnznieXOpnCIvBZxITFvlxhUSwkb/dMEwdPLcPxGBhL3rGtDDYLE1PeX1Jdp5edYAE3DMLeubGoZaH4JraPGTi1ysKNiQqOiOmWHfhNetXUzhET+cGc/pVQaaRd062A0iuKIjSUpEKSdokbJc7dPJ5qWZRdvM/eNIZH51eDcMo0OksuaseW+QFVJ5ARES7YyuecHFMN28TO6SYOqJZFgcqxEpKGffjEkuKzGA59KPHai2p40oyBc6Z5mydqQM2M0lBVlru/cNuEFhZFIQeM6jjrOmZuDCuOh4OnloOBePZsC7ZJuYtZUcvirNkWDp9aCZx1/fgsAOCPX3kZrj1vDhdsnQAAtGpWkKynPue5W8YjloW6ydFZoobT/nlZb6fYQkBEuHjHlLhXb5Nv90wLE3UL9z5arN6Xukics3kMDx5dhF9if+EiyVw/dNFWACEFs1Zwztw49h+PPm+vwmLPnIjME8I28GHFHnmqxgvhPbIQC/OsdGHjPi91buyZa+GAQqOUoXDls6qWxbBpqF0TBv7X1Y2gEjMRYWuLcGjRH0qfnr9lonSF5yQ8IYSFNEWB9AVaarmOF+ZLWKaBPZvG8i2LAj4LALhs1xRcn+GOg6cLHZ+Hi3dM4R9+9ho0FJXw0p1yAVeExeYxHF9h6HghnSBPOXuSH/fQaf4MZZp0sXBm96poGgbhoh2TuPfRM4WOVynCy3dNY2HVxYETSzlncXiiLlCeQP/Ry3fgT57bwAUzw9U+83DuljEevKA4Knvlu6Xy9NAx3neOxy3NeDQPEWHvlIGH56Vlwb+vKnIHAJ60jSs+6uK2Z9MYDhxb7CmhtVWzsHWyjv3Hl0ol5VWNvZO8X6v2WQDcshgERt9rQ8DeuTE0xQhPWyykdg5EBcr5W8fx0LHB0FBX7J4BANxy4GTXfQaFK3ZP8zYpJULP3TwOBgTWheMDsr7ZVJ0wVQP2nebPUGYeycinR0rSQSou3jGF+4+c6Uo4S4IaX3/Zbi4U7zp0utB9gkTFAtJwtrH2psW5mzk9o9IJveY9XLhtAjXTwO2PnAquk9YtZ08aOLzEFY00C2SQkAubSjs9efskzqy6wTgr47MAgIu2T+LOg6cj+UejxjlTJpZc4PBiGJlYFdS1rR+MvteGgJpl4Mqzp4PPSdg8Uce5ItlLPebiHVM4cHypa8MYFUVpqG1TDWybbATCYlDRUCpkNqlaRkN+991TgqP2WKSe0FmTBh5ZKK/hSBpq/7Fi2n3yNSax6vjYnyOQgSiNdP6WCbRqJu48WJTCWjtaZS+4dOcULINwy/6TwXe98t0N28Tlu6eCcZiVjLl30oDPgIMLfuDryssn6AfSslB3d7tm7ywABM9eNpLwmnM24aFjSzgskjjXwhjYO8Xb8OCp8kpaWcyN1yJ5Wb1i9L02JFy9ZxMAZNZIueYcfoxphN1y7XlzAICv7Tueel6ZheiK3dO4U9BQNXPw9vzlwrJQsWumhS0twn0neDvji4OkooByC4+k9/oZiDJv4M5D+Yu+6rMwDcIlO6ZwZ0HLoqhAX6sYq1u48qwZfP2hcBw6HgOhtx37nrZnFvccnsdyx83cIXGPWNQOzPulN1rqBdOtGn75BRfgA697WvDdeVvGsWmshm+KnKcyDm4AuFoIm68+yPMt1oJlsXOcUDOAR5d6f4dFQUT4Xy96Ut/XGX2vDQnXnMMHzN2H0xelq/fwY1QfxSU7pzDdsvHVB9OFRRmKQ2r5QDUajqyAGcfFm0w8cNKH67OuHfEu3hQuoGUoDdMg/NPPXYNPvvFZvTYX528Zx5aJOj5/32O5x8ZrOz3l7Gnce/hMoT2Gy2TvrlU887xNuPvwPE6LvTwkfdSLpn/13lm4PsPtj5zOpKFm6oRNDcLdx72etv/sBb/0gvNx2a7p4G8iwjXnzAaWUFq+VBou3TmFVs3E7Y+cBrA2FAbToMC66PUdlsGrrz6r72us35lTEpLLf/b5c6nHSA1k80RYqto0CNeeN4evPngsdYvVMlrrD128LfhclYbz2V96Nj7/y8+JfHfRrIFVj0c9xTXJC2bCdpTlo5957lxQQqIXGAbhxZdsw5cfOIalvOTHWG2nl166Ax3Px2fuPpJ7n8D6G8ZqVxGuPW8OjIVWbj+L91PPnoFtEj5/3+OZFgMR4eptJu494ePUavFCk4PG08/ZhMOnV3Dfo2dE0c4Se1KYBp569ozy99qIdLtqK3+GTvc2GGsS63fmlETDNnHnb/9Qpjm2Y7qJG9/0LPzmj1wU+f6FF23F42fauOmB5C03ymitkcisioTFk7dP4vyYU+uiTSYaJnDTQbdrkTGIO7kBACOYRy+5dDvaro8v3P945nFx+uGSnZM4d/MYPnF7155aiecCa0Or7BWX757GtskG/vGbjwDg0VC9DqGJho2XXLodH/vOISx0WGbI9DXbLXgMuOOYNxTLIgk/cul21CwDf/21/QDKW4iveOqu4HPVWnxRXLN9fVVbesIIC4DXxcmrQXTZrulIQTmAL2Y7p5t4z5f2JVoXZZ2nr792L4Dhajgtm/Dc3Ra+9ZiHx5ZYF930369s4IIZA9vHhj8krtozi7NmW3jvTfvgeulqVjypjojw41fuwrcOnAwie9LPXd8OboBryK+/di++sf8E9s8LWqiPMfTaZ5yNhbaLB0/7mfTjWROEneOjXWA3jddx3eU78PHbuGJQ9j2++JLtVTSrL0zUaGi7LQ4C63fmDBG2aeDnn3sObnvkND70rYNd/2+7PkyDChXDA4DfeMmT8cH/ejWuPGsm/+AB4ofOtmAQwND94vdMGfj1qxtojmD0mgbhrT/yZHzv8UX89dcOpB6XVNvpZ565B9unGvj1j9+dGbywEXwWAPDqq3djqmnjg/d2sOQU2zM9DVeeNRP46U6vpocuExFefSE3PR9bHl1m+88++5zgc5HtTlXULAO/e93F+PGEMuKjxLuf38QfP6dYZdtRY33PnCHiNVefhedduBm/9al78Lc3H4jkBZSNzjANwnMv2Dx0c3i2YeC1F/FJv5LtHhg6fuiirfjhi7fiDz77XbznSw8mbmyUVNtpvG7h915+CR54fAE//Te3pJYACfccWb80FMDpoz971RU4uMBw5zEfS32UJSEivOtVlwMIy66n4ZI5E9fuMPGiPaOjTi7cNoE3Pp9XLS6y3WkcP/2MPXjXf7piwK3qDy2bsGnA+5lXhfVFmo0QlmngL17zFPzih27H7/y/+/C+Lz+Ep5+zCedtGce9j86vG4312Tst1IxouOxaABHhz1/zFPzKR+7EH//793DD1x/Gs86bw965MeycbmKiYaXWdvrBJ2/Fe15zJX7lI3fg+X/8ZVxzziwu3jGFndNNbBqvoWYauEdEwa2X95SF5z9pC15/SQ1/fU8HO/qkDXfNtPAH1zZQKyBDX39pPf+givFrP3QhnrZnFtfs3YRv3rxv1M15QkELixKYaNj4wOuehi/cfxQf+84h3PbIKdx456MAeAjoesFadazVLRPv/c9X4jVPO45/vvUgvnXgJG6881GobiK5p3ocP3LZdjz17Bnc8PWH8eUHjuKGrz8chDSrmB5ActJawLN2WrhkQPtpbB2Bn6pXEBGed+GWUTfjCYm1uWqsYRARXnjRVrxQFJxb7rh4/Ewbs63kRUyjPK49fw7XihDntuvhsflVLHc8OJ6PJ29P31xp21QDb3nxk/CWFz8Jvs9wfKmN08sOOq6PtuuhVbMieyasd0zV15F3VGPdQwuLPtGqWdg7p7uxKtQts6c8DsMgbJloYMvE+nAeamisdawf+1NDQ0NDY2TQwkJDQ0NDIxdaWGhoaGho5EILCw0NDQ2NXGhhoaGhoaGRCy0sNDQ0NDRyoYWFhoaGhkYuKhUWRPQiInqAiPYR0VsS/l8non8W/7+FiPZU2R4NDQ0Njd5QmbAgIhPAewG8GMBFAF5DRBfFDns9gFOMsfMA/CmAd1bVHg0NDQ2N3lGlZXE1gH2Msf2MsQ6ADwO4LnbMdQA+KD5/FMAP0lrZmURDQ0NDI0CVwmInAHXzh0Piu8RjGGMugHkAm+IXIqI3ENGtRHTr/Hz6HtoaGhoaGtVgXTi4GWPvZ4xdxRi7ampqatTN0dDQ0HjCoUphcRjAbuXvXeK7xGOIyAIwBeBEhW3S0NDQ0OgBVQqLbwM4n4j2ElENwKsB3Bg75kYAPyM+vwLAl1jSJtcaGhoaGiNFZbW1GWMuEb0JwOcAmAA+wBi7l4jeAeBWxtiNAP4GwN8T0T4AJ8EFioaGhobGGkOlGzEwxj4D4DOx796mfF4F8Moq26ChoaGh0T/WhYNbQ0NDQ2O00MJCQ0NDQyMXWlhoaGhoaORCCwsNDQ0NjVxoYaGhoaGhkQstLDQ0NDQ0cqGFhYaGhoZGLrSw0NDQ0NDIhRYWGhoaGhq50MJCQ0NDQyMXWlhoaGhoaORCCwsNDQ0NjVzQeqsITkTHAHx/1O2oCHMAjo+6ERVCP9/6hn6+9Y0LGWMTvZ5cadXZKsAY2zzqNlQFIrqVMXbVqNtRFfTzrW/o51vfIKJb+zlf01AaGhoaGrnQwkJDQ0NDIxdaWKwtvH/UDagY+vnWN/TzrW/09XzrzsGtoaGhoTF8aMtCQ0NDQyMXWlhoaGhoaORCC4sRgYgeJqK7iegOGdJGRLNE9HkielD8nhl1O8uAiD5AREeJ6B7lu8RnIo4/J6J9RHQXEV05upYXQ8rzvZ2IDov3eAcRvUT536+L53uAiH54NK0uBiLaTUQ3EdF9RHQvEf2S+H5DvL+M59so769BRN8iojvF8/2O+H4vEd0inuOfiagmvq+Lv/eJ/+/JvQljTP+M4AfAwwDmYt/9IYC3iM9vAfDOUbez5DM9B8CVAO7JeyYALwHwWQAE4OkAbhl1+3t8vrcD+LWEYy8CcCeAOoC9AB4CYI76GTKebTuAK8XnCQDfE8+wId5fxvNtlPdHAMbFZxvALeK9fATAq8X31wP4BfH5/wNwvfj8agD/nHcPbVmsLVwH4IPi8wcBvHx0TSkPxthXAJyMfZ32TNcB+DvG8U0A00S0fSgN7REpz5eG6wB8mDHWZowdALAPwNWVNa5PMMaOMMZuE58XANwPYCc2yPvLeL40rLf3xxhji+JPW/wwAD8A4KPi+/j7k+/1owB+kIgo6x5aWIwODMC/E9F3iOgN4rutjLEj4vNjALaOpmkDRdoz7QRwUDnuELIn71rGmwQV8wGFOly3zycoiaeAa6cb7v3Fng/YIO+PiEwiugPAUQCfB7eGTjPGXHGI+gzB84n/zwPYlHV9LSxGh2sZY1cCeDGANxLRc9R/Mm4fbqi45o34TADeB+BcAFcAOALgT0bamj5BROMAPgbgvzPGzqj/2wjvL+H5Nsz7Y4x5jLErAOwCt4KeNMjra2ExIjDGDovfRwF8AvzlPi5NefH76OhaODCkPdNhALuV43aJ79YVGGOPi0nqA/grhFTFuns+IrLBF9J/ZIx9XHy9Yd5f0vNtpPcnwRg7DeAmAM8ApwdlDUD1GYLnE/+fAnAi67paWIwARDRGRBPyM4AfAnAPgBsB/Iw47GcAfGo0LRwo0p7pRgCvFVE1Twcwr9Ad6wYxnv7HwN8jwJ/v1SLqZC+A8wF8a9jtKwrBV/8NgPsZY+9S/rUh3l/a822g97eZiKbF5yaAF4L7ZW4C8ApxWPz9yff6CgBfEpZjOkbtxX8i/gA4BzzS4k4A9wJ4q/h+E4AvAngQwBcAzI66rSWf60PgprwDzo++Pu2ZwKM33gvOq94N4KpRt7/H5/t70f67xATcrhz/VvF8DwB48ajbn/Ns14JTTHcBuEP8vGSjvL+M59so7+8yALeL57gHwNvE9+eAC7l9AP4FQF183xB/7xP/PyfvHrrch4aGhoZGLjQNpaGhoaGRCy0sNDQ0NDRyoYWFhoaGhkYutLDQ0NDQ0MiFFhYaGhoaGrnQwkJj5CCiXUT0KVHZ9CEierdSHfN1RPSeNdDGlxPRRcrf7yCiF4yyTXkgosX8ozQ0ikELC42RQiRLfRzAJxlj5wO4AMA4gN+v8J5W/lFdeDl4JVIAAGPsbYyxLwysUWsMPfaRxgaGFhYao8YPAFhljP0twOvbAPhlAP+ViFrimN1E9GVhefw2EGTBf1rU77+HiF4lvn8qEf2HKND4OaVUxZeJ6M+I7x3yViL6PhEZyrUOEpFNRD9HRN8W1/0YEbWI6JkAXgbgj4jveXAuEd1ARK8Q5/8gEd1OfH+SDxBRXXz/MBH9DhHdJv7XVatHWE4fJ6J/E8/3h8r/FpXPryCiG8TnG4jofUT0TSLaT0TPE/e9Xx6jnPenxPc3+CIRbRbfnSvu9x0i+qpsl7ju9UR0C3hpcg2NAFpYaIwaFwP4jvoF4wXeHgFwnvjqagA/AZ6l+koiugrAiwA8yhi7nDF2CYB/E7V//gLAKxhjTwXwAUQtlBpj7CrG2O+AZ/A+V3z/UgCfY4w5AD7OGHsaY+xy8HIJr2eMfR08u/d/MMauYIw9JC9IRA0ANwB4FWPsUgAWgF9Q7nmc8YKR7wPwayl9cAWAVwG4FMCriGh3ynEqZsBr//yyaNufgvflpUR0hThmDMCtjLGLAfwHgN8W378fwJtFH/0agP+rXHcXgGcyxn6lQBs0nkDQwkJjPeDzjLETjLEVcMrqWvASDS8koncS0bMZY/MALgRwCYDPEy/V/Jvgi5/EP8c+v0p8frXyv0uEtn03gJ8EX4CzcCGAA4yx74m/Pwi+SZKELMj3HQB7Uq7xRcbYPGNsFcB9AM7OuScA/D/Gyy/cDeBxxtjdjBfDu1e5j6881z8AuJZ41dVnAvgX0Ud/Cb4xkMS/COtOQyMCzUtqjBr3ISx0BgAgokkAZ4HXrbkS3WWxGWPse8S38nwJgN8joi+CV++9lzH2jJR7LSmfbwTwv4loFsBTAXxJfH8DgJczxu4kotcBeF6PzyXRFr89pM+3tvJZPU597kbKOX7sfD/jPgxcQTzNeCnrJCylfK/xBIe2LDRGjS8CaBHRawG+gQv4ngI3MMaWxTEvJL4XdBPc0XwzEe0AsMwY+wcAfwQuVB4AsJmIniGuZRNRomXA+K5i3wbwbgD/qmjTEwCOCErrJ5VTFsT/4ngAwB4ikpTZT4NTPoPA40T0ZOFb+bEezjcQCuL/DOBrguI7QESvBIK9tC8fTHM1NjK0sNAYKQSV8mPgvogHwfdGXgXwG8ph3wLfh+AuAB9jjN0Kzu9/S1Apvw3g9xhjHfDF8Z1EdCe4X+KZGbf/ZwA/hSg99VvgO6jdDOC7yvcfBvA/hCP7XKX9qwD+Czitcze4Zn99mT7IwFsA/CuAr4NXuy2LJQBXE9E94IEE7xDf/ySA14s+uhd8i00NjUzoqrMaGhoaGrnQloWGhoaGRi60sNDQ0NDQyIUWFhoaGhoaudDCQkNDQ0MjF1pYaGhoaGjkQgsLDQ0NDY1caGGhoaGhoZGL/x9TbS+hgHyLVAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ " # Filtering\n", "fig, ax = plt.subplots()\n", "plot_inference(filtered_dist, z_hist, ax)\n", "ax.set_ylabel(\"p(loaded)\")\n", "ax.set_title(\"Filtered\")\n", " \n", "\n", " " ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Smoothed')" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Smoothing\n", "fig, ax = plt.subplots()\n", "plot_inference(smoothed_dist, z_hist, ax)\n", "ax.set_ylabel(\"p(loaded)\")\n", "ax.set_title(\"Smoothed\")\n", "\n", "\n", " " ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'Viterbi')" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAEWCAYAAACXGLsWAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAZW0lEQVR4nO3debhddX3v8fcHwuAQggoCTYKgYipOiJRJW7GCBeoFrFgGFeilctsrauvV50HtReBqW/VR6oBifETE9srgmNYoWgx6HRiCMgUEIzLFFBQlRBAw8r1/rHVwc8g5a59hn3Ny8n49z3my92/99m99f3vl5JO11t5rpaqQJGk0m0x3AZKkmc+wkCR1MiwkSZ0MC0lSJ8NCktTJsJAkdTIspFEkWZFkv0kc77gk3xll+VeTHDtZ65Mmy5zpLkCaTkm+BlxWVScPaz8U+DiwoKrWtW2nAE+vqtcMqp6qOmhQY0sT4Z6FNnafBl6TJMPaXwv821BQTIYk/udMGyzDQhu7LwFPAv54qCHJE4CXA+ckuTnJ/kkOBN4OHJHk10muavvOS/LJJKuTrEryriSbtsuOS/LdJKcnuQs45feryEeSrEnyoyQv7Vn3xUn+eiomLo2FYaGNWlX9BjgfOKan+S+BH1XVVT39vgb8I3BeVT2+qp7XLjobWAc8HXg+8DKg9x/7vYCbgO2Ad/e0/QTYBngn8IUkT5zcmUmTy7CQmkNRhyfZsn1+TNs2qiTbAQcDf1dV91bVncDpwJE93X5WVR+uqnVtMAHcCfxLVf22qs4DbgD+fLImIw2Cx1C10auq7yT5BXBYksuBPYG/6OOlTwE2A1b3nPLYBLitp89tw18ErKpHXsHzFuAPxly4NIUMC6lxDs0exSLgwqq6Yz19hl+i+TbgAWCbUU6Er++yzvOTpCcwdgSWjKNmacp4GEpqnAPsD7yOkQ9B3QHslGQTgKpaDXwdeH+SrZJskuRpSV7csa4nA29MslmSVwHPBJZOyiykATEsJKCqbga+BzyOkf+Xf0H7511JftA+PgbYHLgO+BXwOWCHjtVdCuwC/ILmpPfhVXXXuIuXpkC8+ZEkqYt7FpKkToaFJKmTYSFJ6mRYSJI6bXDfs5g3b15tv/32j2qfO3fuNFQzurVr1wL91zbUf8hkzmn42F0muu6R1jcTt9NwY32vYGzz6hq/n7FGG2Os7/F45jtRk/H3YJC/LxMxyPezd45r164d05yvuOKKX1TVtuNd9wYXFttvvz1nnnnmo9pf8pKXTEM1o1u2bBnQf21D/YdM5pyGj91louseaX0zcTsNN9b3CsY2r67x+xlrtDHG+h6PZ74TNRl/Dwb5+zIRg3w/e+e4bNmyMc05yS0TWbeHoSRJnQwLSVInw0KS1MmwkCR1MiwkSZ0MC0lSJ8NCktTJsJAkdTIsJEmdDAtJUifDQpLUybCQJHUyLCRJnQYWFknOSnJnkmtHWJ4kH0qyMsnVSXYfVC2SpIkZ5J7F2cCBoyw/CNil/TkB+NgAa5EkTcDA7mdRVd9OstMoXQ4FzqmqAi5JsnWSHapq9aBqkjQxF9+2jktWr5vwOGfe+H0O3W0+R++14yRUtWHr9z3de4c5TOcdO6bznMV84Lae57e3bY+S5IQky5MsX7NmzZQUJ+nRLlm9jlvXPjThca5bfQ9fvnLVJFS04evnPb117UOTEtITsUHcKa+qFgOLARYtWlTTXI60Udtx7iactOeWExrjzBsn9vrZpus9/efL7p/CatZvOvcsVgELe54vaNskSTPMdIbFEuCY9lNRewNrPF8hSTPTwA5DJfkssB+wTZLbgXcCmwFU1ZnAUuBgYCVwH/BXg6pFkjQxg/w01FEdywt4/aDWL0maPH6DW5LUybCQJHUyLCRJnQwLSVInw0KS1MmwkCR1MiwkSZ0MC0lSJ8NCktTJsJAkdTIsJEmdDAtJUifDQpLUybCQJHUyLCRJnQwLSVInw0KS1MmwkCR1MiwkSZ0MC0lSJ8NCktTJsJAkdTIsJEmdDAtJUifDQpLUybCQJHUyLCRJnQwLSVKngYZFkgOT3JBkZZKT1rN8xyTLkvwwydVJDh5kPZKk8RlYWCTZFDgDOAjYFTgqya7Duv0DcH5VPR84EvjooOqRJI3fIPcs9gRWVtVNVfUgcC5w6LA+BWzVPp4H/GyA9UiSxmnOAMeeD9zW8/x2YK9hfU4Bvp7kDcDjgP3XN1CSE4ATALbbbrtJL1SSNLrpPsF9FHB2VS0ADgY+k+RRNVXV4qrao6r2mDdv3pQXKUkbu0GGxSpgYc/zBW1br+OB8wGq6vvAlsA2A6xJkjQOgwyLy4FdkuycZHOaE9hLhvW5FXgpQJJn0oTFzwdYkyRpHAYWFlW1DjgRuBC4nuZTTyuSnJbkkLbb/wJel+Qq4LPAcVVVg6pJkjQ+gzzBTVUtBZYOazu55/F1wAsHWYMkaeKm+wS3JGkDYFhIkjoZFpKkToaFJKmTYSFJ6mRYSJI6GRaSpE6GhSSpk2EhSepkWEiSOhkWkqROhoUkqZNhIUnqZFhIkjoZFpKkToaFJKmTYSFJ6mRYSJI6GRaSpE6GhSSpk2EhSepkWEiSOhkWkqROhoUkqZNhIUnq1FdYJHlKkv3bx49JMnewZUmSZpLOsEjyOuBzwMfbpgXAlwZYkyRphulnz+L1wAuBewCq6sfAk/sZPMmBSW5IsjLJSSP0+csk1yVZkeT/9lu4JGnqzOmjzwNV9WASAJLMAarrRUk2Bc4ADgBuBy5PsqSqruvpswvwNuCFVfWrJH2FkCRpavWzZ/GtJG8HHpPkAOAC4N/7eN2ewMqquqmqHgTOBQ4d1ud1wBlV9SuAqrqz/9IlSVOln7A4Cfg5cA3wP4ClVfWOPl43H7it5/ntbVuvZwDPSPLdJJckOXB9AyU5IcnyJMvXrFnTx6olSZOpn8NQb6iqDwKfGGpI8qa2bTLWvwuwH82J828neU5V3d3bqaoWA4sBFi1a1HkITJI0ufrZszh2PW3H9fG6VcDCnucL2rZetwNLquq3VfVT4Eaa8JAkzSAj7lkkOQo4Gtg5yZKeRXOBX/Yx9uXALkl2pgmJI9vxen0JOAr4VJJtaA5L3dR39ZKkKTHaYajvAauBbYD397SvBa7uGriq1iU5EbgQ2BQ4q6pWJDkNWF5VS9plL0tyHfA74K1Vddf4piJJGpQRw6KqbgFuAfYZ7+BVtRRYOqzt5J7HBby5/ZEkzVD9fIN77ySXJ/l1kgeT/C7JPVNRnCRpZujnBPdHaM4r/Bh4DPDXNF+2kyRtJPq6kGBVrQQ2rarfVdWngPV+H0KSNDv18z2L+5JsDlyZ5L00J729tLkkbUT6+Uf/tW2/E4F7ab478ReDLEqSNLP0ExaHVdX9VXVPVZ1aVW8GXj7owiRJM8cgv8EtSZolxvMN7q3o7xvckqRZYmDf4JYkzR6d3+Bu7739m6p6KMkzgD+kuVy5JGkj0c85i28DWyaZD3yd5tNRZw+yKEnSzNJPWKSq7qP5uOxHq+pVwLMGW5YkaSbpKyyS7AO8GvhK27bp4EqSJM00/YTFm4C3AV9sLzH+VGDZYMuSJM0knZf7qKpv05y3GHp+E/DGQRYlSZpZvMaTJKmTYSFJ6tTPzY+2mYpCJEkz14hhkeS/Jfk5cE2S25PsO4V1SZJmkNH2LN4N/HFV7QC8EvinqSlJkjTTjBYW66rqRwBVdSkwd2pKkiTNNKN9dPbJSd480vOq+sDgypIkzSSjhcUneOTeRO/zGlhFkqQZZ7Srzp460rIkfzSYciRJM1HnN7iHJNkVOKr9uRvYY0A1SZJmmFHDIslO/D4gfgs8Bdijqm4eeGWSpBljtO9ZfJ/mKrNzgFdW1QuAtQaFJG18Rvvo7B00J7S3A7Zt28Z0YjvJgUluSLIyyUmj9HtlkkrioS1JmoFGDIuqOgx4DnAFcEqSnwJPSLJnPwMn2RQ4AzgI2BU4qj3vMbzfXJrLoF865uolSVNi1GtDVdWaqvpUVb0M2Bs4GTg9yW19jL0nsLKqbqqqB4FzgUPX0+//AO8B7h9b6ZKkqdL3VWer6o6q+nBVvRB4UR8vmQ/0hsrtbdvDkuwOLKyqrzCKJCckWZ5k+Zo1a/otWZI0SUb8NFSSJR2vPWQiK06yCfAB4LiuvlW1GFgMsGjRIr8QKElTbLSPzu5Ds2fwWZrzCRnj2KuAhT3PF7RtQ+YCzwYuTgKwPbAkySFVtXyM65IkDdBoYbE9cADNdyyOpvkY7WerakWfY18O7JJkZ5qQOLIdB2jOhwAP3ysjycXAWwwKSZp5Rvs01O+q6mtVdSzNye2VNHsBJ/YzcFWtA04ELgSuB86vqhVJTksyoUNYkqSp1fUN7i2AP6fZu9gJ+BDwxX4Hr6qlwNJhbSeP0He/fseVJE2t0U5wn0NzTmEpcGpVXTtlVUmSZpTR9ixeA9xL84W5N7YnoaE50V1VtdWAa5MkzRCjXaK87+9gSJJmNwNBktTJsJAkdTIsJEmdDAtJUifDQpLUybCQJHUyLCRJnQwLSVInw0KS1MmwkCR1MiwkSZ0MC0lSJ8NCktTJsJAkdTIsJEmdDAtJUifDQpLUybCQJHUyLCRJnQwLSVInw0KS1MmwkCR1MiwkSZ0MC0lSp4GGRZIDk9yQZGWSk9az/M1JrktydZKLkjxlkPVIksZnYGGRZFPgDOAgYFfgqCS7Duv2Q2CPqnou8DngvYOqR5I0foPcs9gTWFlVN1XVg8C5wKG9HapqWVXd1z69BFgwwHokSeM0yLCYD9zW8/z2tm0kxwNfXd+CJCckWZ5k+Zo1ayaxRElSP2bECe4krwH2AN63vuVVtbiq9qiqPebNmze1xUmSmDPAsVcBC3ueL2jbHiHJ/sA7gBdX1QMDrEeSNE6D3LO4HNglyc5JNgeOBJb0dkjyfODjwCFVdecAa5EkTcDAwqKq1gEnAhcC1wPnV9WKJKclOaTt9j7g8cAFSa5MsmSE4SRJ02iQh6GoqqXA0mFtJ/c83n+Q65ckTY4ZcYJbkjSzGRaSpE6GhSSpk2EhSepkWEiSOhkWkqROhoUkqZNhIUnqZFhIkjoZFpKkToaFJKmTYSFJ6mRYSJI6GRaSpE6GhSSpk2EhSepkWEiSOhkWkqROhoUkqZNhIUnqZFhIkjoZFpKkToaFJKmTYSFJ6mRYSJI6GRaSpE6GhSSpk2EhSeo00LBIcmCSG5KsTHLSepZvkeS8dvmlSXYaZD2SpPEZWFgk2RQ4AzgI2BU4Ksmuw7odD/yqqp4OnA68Z1D1SJLGL1U1mIGTfYBTqurP2udvA6iqf+rpc2Hb5/tJ5gD/BWxboxQ1b8EutfcbPvSo9q233npyJzAJ7r77bqD/2ob6D5nMOQ0fu8tE1z3S+mbidhpurO8VjG1eXeP3M9ZoY4z1PR7LfG9d+xA7zt2Ek/bcckzrGO7MG7fkutX3sOsOW417jEH+vkzEWP/+9POe/vNl93Pr2od47sInPmI9Y5nz+X+z7xVVtceYiusxZ7wv7MN84Lae57cDe43Up6rWJVkDPAn4RW+nJCcAJwA8drudB1WvpA47zt2EvXeY+D8bh+42fxKqmR36eU+b5eumpqARDDIsJk1VLQYWAyxatKjWl8Aveck+U11Wp2XLlgH91zbUf8hkzmn42F0muu6R1jcTt9NwY32vYGzz6hq/n7FGG2Os7/F45jtRR++1I0fvteOExhjk78tEDOL93G/hHPZbOOcRc1y2bNmY5nz+30yshkGe4F4FLOx5vqBtW2+f9jDUPOCuAdYkSRqHQYbF5cAuSXZOsjlwJLBkWJ8lwLHt48OBb452vkKSND0GdhiqPQdxInAhsClwVlWtSHIasLyqlgCfBD6TZCXwS5pAkSTNMAM9Z1FVS4Glw9pO7nl8P/CqQdYgSZo4v8EtSepkWEiSOhkWkqROhoUkqZNhIUnqZFhIkjoZFpKkToaFJKmTYSFJ6mRYSJI6GRaSpE6GhSSp08BuqzooSX4O3DLddQzINgy7S+As4/w2bM5vw7aoquaO98UbxJ3yelXVttNdw6AkWT6Re+TOdM5vw+b8NmxJlk/k9R6GkiR1MiwkSZ0Mi5ll8XQXMGDOb8Pm/DZsE5rfBneCW5I09dyzkCR1MiwkSZ0Mi2mS5OYk1yS5cugjbUmemOQbSX7c/vmE6a5zLJKcleTOJNf2tK13Tml8KMnKJFcn2X36Ku/PCPM7JcmqdjtemeTgnmVva+d3Q5I/m56q+5NkYZJlSa5LsiLJm9r2WbH9RpnfbNl+Wya5LMlV7fxObdt3TnJpO4/zkmzetm/RPl/ZLt+pcyVV5c80/AA3A9sMa3svcFL7+CTgPdNd5xjn9CfA7sC1XXMCDga+CgTYG7h0uusf5/xOAd6ynr67AlcBWwA7Az8BNp3uOYwytx2A3dvHc4Eb2znMiu03yvxmy/YL8Pj28WbApe12OR84sm0/E/jb9vH/BM5sHx8JnNe1DvcsZpZDgU+3jz8NHDZ9pYxdVX0b+OWw5pHmdChwTjUuAbZOssOUFDpOI8xvJIcC51bVA1X1U2AlsOfAipugqlpdVT9oH68FrgfmM0u23yjzG8mGtv2qqn7dPt2s/SngT4HPte3Dt9/Qdv0c8NIkGW0dhsX0KeDrSa5IckLbtl1VrW4f/xew3fSUNqlGmtN84Laefrcz+i/vTHZieyjmrJ5Dhxvs/NpDEs+n+d/prNt+w+YHs2T7Jdk0yZXAncA3aPaG7q6qdW2X3jk8PL92+RrgSaONb1hMnxdV1e7AQcDrk/xJ78Jq9g9n1eeaZ+OcgI8BTwN2A1YD75/WaiYoyeOBzwN/V1X39C6bDdtvPfObNduvqn5XVbsBC2j2gv5wMsc3LKZJVa1q/7wT+CLNxr1jaFe+/fPO6atw0ow0p1XAwp5+C9q2DUpV3dH+kj4EfILfH6rY4OaXZDOaf0j/raq+0DbPmu23vvnNpu03pKruBpYB+9AcHhy6BmDvHB6eX7t8HnDXaOMaFtMgyeOSzB16DLwMuBZYAhzbdjsW+PL0VDipRprTEuCY9lM1ewNreg53bDCGHad/Bc12hGZ+R7afOtkZ2AW4bKrr61d7vPqTwPVV9YGeRbNi+400v1m0/bZNsnX7+DHAATTnZZYBh7fdhm+/oe16OPDNds9xZNN9Fn9j/AGeSvNJi6uAFcA72vYnARcBPwb+E3jidNc6xnl9lmZX/rc0x0ePH2lONJ/eOIPmuOo1wB7TXf845/eZtv6r21/AHXr6v6Od3w3AQdNdf8fcXkRziOlq4Mr25+DZsv1Gmd9s2X7PBX7YzuNa4OS2/ak0IbcSuADYom3fsn2+sl3+1K51eLkPSVInD0NJkjoZFpKkToaFJKmTYSFJ6mRYSJI6GRaadkkWJPlye2XTnyT5YM/VMY9L8pEZUONhSXbteX5akv2ns6YuSX7d3Uvqj2GhadV+WeoLwJeqahfgGcDjgXcPcJ1zuns9ymE0VyIFoKpOrqr/nLSiZphxvkeaxQwLTbc/Be6vqk9Bc30b4O+B/57ksW2fhUkubvc83gkPfwv+K+31+69NckTb/oIk32ov0Hhhz6UqLk7yL2nuHfKOJLck2aRnrNuSbJbkdUkub8f9fJLHJtkXOAR4X5p7HjwtydlJDm9f/9IkP0xzf5KzkmzRtt+c5NQkP2iXPepaPe2e0xeSfK2d33t7lv265/HhSc5uH5+d5GNJLklyU5L92vVeP9Sn53Wnp7m/wUVJtm3bntau74ok/2+ornbcM5NcSnNpculhhoWm27OAK3obqrnA263A09umPYFX0nxL9VVJ9gAOBH5WVc+rqmcDX2uv/fNh4PCqegFwFo/cQ9m8qvaoqlNpvsH74rb95cCFVfVb4AtV9UdV9TyayyUcX1Xfo/l271urareq+snQgEm2BM4Gjqiq5wBzgL/tWecvqrlg5MeAt4zwHuwGHAE8BzgiycIR+vV6As21f/6+re10mvfyOUl2a/s8DlheVc8CvgW8s21fDLyhfY/eAny0Z9wFwL5V9eY+atBGxLDQhuAbVXVXVf2G5pDVi2gu0XBAkvck+eOqWgMsAp4NfCPNpZr/geYfvyHnDXt8RPv4yJ5lz27/t30N8Gqaf4BHswj4aVXd2D7/NM1NkoYMXZDvCmCnEca4qKrWVNX9wHXAUzrWCfDv1Vx+4Rrgjqq6ppqL4a3oWc9DPfP6V+BFaa66ui9wQfsefZzmxkBDLmj37qRH8Likptt1/P5CZwAk2QrYkea6Nbvz6MtiV1XdmOZWngcD70pyEc3Ve1dU1T4jrOvensdLgH9M8kTgBcA32/azgcOq6qokxwH7jXNeQx5o//wdI/++PdDzuLdf77y3HOE1Dw17/UOjrKdo/oN4dzWXsl6fe0do10bOPQtNt4uAxyY5BpobuNDcU+Dsqrqv7XNAmntBP4bmRPN3k/wBcF9V/SvwPppQuQHYNsk+7VibJVnvnkE1dxW7HPgg8B89/5ueC6xuD2m9uucla9tlw90A7JRk6JDZa2kO+UyGO5I8sz238opxvH4Tfh/ERwPfaQ/x/TTJq+Dhe2k/b3LK1WxmWGhatYdSXkFzLuLHNPdGvh94e0+3y2juQ3A18PmqWk5zfP+y9lDKO4F3VdWDNP84vifJVTTnJfYdZfXnAa/hkYen/jfNHdS+C/yop/1c4K3tieyn9dR/P/BXNId1rqH5n/2ZY3kPRnES8B/A92iudjtW9wJ7JrmW5oMEp7XtrwaOb9+jFTS32JRG5VVnJUmd3LOQJHUyLCRJnQwLSVInw0KS1MmwkCR1MiwkSZ0MC0lSp/8PLgwRXg21gHUAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# MAP estimation\n", "fig, ax = plt.subplots()\n", "plot_inference(map_path, z_hist, ax, map_estimate=True)\n", "ax.set_ylabel(\"MAP state\")\n", "ax.set_title(\"Viterbi\")\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# TODO: posterior samples\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example: inference in the tracking LG-SSM\n", "\n", "We now illustrate filtering, smoothing and MAP decoding applied\n", "to the 2d tracking HMM from {ref}`sec:tracking-lds`. " ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING:absl:No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.)\n" ] } ], "source": [ "key = jax.random.PRNGKey(314)\n", "timesteps = 15\n", "delta = 1.0\n", "A = jnp.array([\n", " [1, 0, delta, 0],\n", " [0, 1, 0, delta],\n", " [0, 0, 1, 0],\n", " [0, 0, 0, 1]\n", "])\n", "\n", "C = jnp.array([\n", " [1, 0, 0, 0],\n", " [0, 1, 0, 0]\n", "])\n", "\n", "state_size, _ = A.shape\n", "observation_size, _ = C.shape\n", "\n", "Q = jnp.eye(state_size) * 0.001\n", "R = jnp.eye(observation_size) * 1.0\n", "mu0 = jnp.array([8, 10, 1, 0]).astype(float)\n", "Sigma0 = jnp.eye(state_size) * 1.0\n", "\n", "from jsl.lds.kalman_filter import LDS, smooth, filter\n", "\n", "lds = LDS(A, C, Q, R, mu0, Sigma0)\n", "\n", "\n", "z_hist, x_hist = lds.sample(key, timesteps)\n", "\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "from jsl.demos.plot_utils import plot_ellipse\n", "\n", "def plot_tracking_values(observed, filtered, cov_hist, signal_label, ax):\n", " timesteps, _ = observed.shape\n", " ax.plot(observed[:, 0], observed[:, 1], marker=\"o\", linewidth=0,\n", " markerfacecolor=\"none\", markeredgewidth=2, markersize=8, label=\"observed\", c=\"tab:green\")\n", " ax.plot(*filtered[:, :2].T, label=signal_label, c=\"tab:red\", marker=\"x\", linewidth=2)\n", " for t in range(0, timesteps, 1):\n", " covn = cov_hist[t][:2, :2]\n", " plot_ellipse(covn, filtered[t, :2], ax, n_std=2.0, plot_center=False)\n", " ax.axis(\"equal\")\n", " ax.legend()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "L2-filter: 3.2481\n" ] }, { "data": { "image/png": "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n09169YlTU1NkdEPK7Jj37x5s0Sy7MzMTFJUVCzR/5UrV6h3794kIyND5gPMydrPmrrt7SaMi5KUlERJSUn09u1bGnh8YKGf88Je5OjoSMrKytS/f3+6efMm/fLLLyJdxfr06UNHjhwpdZwhPVJTU6lt27bUoUMHevnypdT6zcjIIFdXVxoyZAidPXuW9PX16bfffvsqStzX15caNGhAUVFRUu/7P6nIiwgPDyd7e/sqz86/NLGUB4/Ho3v37pGvry+NGTOGOnbsSA0aNCBZWVlq1KgRtWrVitzc3Kh///70v//9jy5fvlxusoXyOHr0KPXq1UtkmYuLC926dUv4fcWKFeTu7l6h3b7vur6lEiOXR2ZwCMU0a07vFy4qM7hQu3btaN68eWRubi70zRY3dOn69etp0qRJwr6SkpJITU2t1Bg3btwgU1NTmndmHln7WVPHJR3JysqK9PT0SE1NjerXr096enpkPaFwnJG+I+n27duUlZVFRIVJRXR1dUVu3DA0NBQZApghXfLz82nVqlWkoaFB27eXv5YhCe/fvydDQ0OSk5OjnTt3VtxAQpKTk8nT05MaN2781UIP/6cVOVHJ2flvv/1G7969k7iPIhPL9OnTxW6Tnp5O27dvJxMTExoyZEiVd3aJ4vnz56Svry+yrH379sJogXfu3CENDQ16/fp1hQr03bt3wnCkFSFqsVGUMp81axYtWLCA+vbtS7NnzyaikgvB5dmxhwwZUiIjelxcHOnp6ZXoPycnhywtLenIkSMSbcQqoihbjagdgW/evCFVVVWpvvIzyicqKoqaNWtGTZs2pT179ggftpLy5s0bWrhwIWlra9O4ceNoy5YtpKGhQcuXLxdrc5E4nD17lvT09Gjq1KlS35hYnP+8Ii8iOjqaJkyYQGpqatSvXz+6ceOGRE/8pKQksrS0pNWrV5dbLyoqiiZPnkxqamrUp08foTL9GggEAlJTUxO5MWTIkCG0b98+evToEWlra5dyxSrPNezAgQNka2tb4RtIWUkxvtwkFB4eTg0aNKB3796RtrY2Xfnnith2bDMzsxLp/W7fvk0ODg4l2sybN4/69OlDAoFALLfPL1OHTZkyhYYMGSLyHItiojO+LXw+n/766y/q3r07qaur0y+//EJnzpwpdyJWUFBAkZGRtH//furduzepqanRlClTKDo6Wljn9evX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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Filtering\n", "\n", "mu_hist, Sigma_hist, mu_cond_hist, Sigma_cond_hist = filter(lds, x_hist)\n", "l2_filter = jnp.linalg.norm(z_hist[:, :2] - mu_hist[:, :2], 2)\n", "print(f\"L2-filter: {l2_filter:0.4f}\")\n", "fig_filtered, axs = plt.subplots()\n", "plot_tracking_values(x_hist, mu_hist, Sigma_hist, \"filtered\", axs)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "L2-smooth: 2.0450\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Smoothing\n", "\n", "mu_hist_smooth, Sigma_hist_smooth = smooth(lds, mu_hist, Sigma_hist, mu_cond_hist, Sigma_cond_hist)\n", "l2_smooth = jnp.linalg.norm(z_hist[:, :2] - mu_hist_smooth[:, :2], 2)\n", "print(f\"L2-smooth: {l2_smooth:0.4f}\")\n", "fig_smoothed, axs = plt.subplots()\n", "plot_tracking_values(x_hist, mu_hist_smooth, Sigma_hist_smooth, \"smoothed\", axs)" ] } ], "metadata": { "interpreter": { "hash": "6407c60499271029b671b4ff687c4ed4626355c45fd34c44476827f4be42c4d7" }, "kernelspec": { "display_name": "Python 3.9.2 ('spyder-dev')", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.2" } }, "nbformat": 4, "nbformat_minor": 4 }