{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Bayesian Machine Learning" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Preliminaries\n", "\n", "- Goals\n", " - Introduction to Bayesian (i.e., probabilistic) modeling\n", "- Materials\n", " - Mandatory\n", " - These lecture notes\n", " - Optional\n", " - Bishop pp. 68-74 (on the coin toss example)\n", " - [Ariel Caticha - 2012 - Entropic Inference and the Foundations of Physics](https://github.com/bertdv/BMLIP/blob/master/lessons/notebooks/files/Caticha-2012-Entropic-Inference-and-the-Foundations-of-Physics.pdf), pp.35-44 (section 2.9, on deriving Bayes rule for updating probabilities)\n", " - [David Blei - 2014 - Build, Compute, Critique, Repeat: Data Analysis with Latent Variable Models](https://github.com/bertdv/BMLIP/blob/master/lessons/notebooks/files/Blei-2014-Build-Compute-Critique-Repeat.pdf), on the _Build-Compute-Critique-Repeat_ design model." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Challenge: Predicting a Coin Toss\n", "\n", "- **Problem**: We observe a the following sequence of heads (h) and tails (t) when tossing the same coin repeatedly $$D=\\{hthhtth\\}\\,.$$\n", "\n", "- What is the probability that heads comes up next?" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- **Solution**: later in this lecture. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### The Bayesian Machine Learning Framework\n", "\n", "- Suppose that your application is to predict a future observation $x$, based on $N$ past observations $D=\\{x_1,\\dotsc,x_N\\}$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- The Bayesian design approach to solving this task involves four stages: \n", "\n", "REPEAT\n", " > 1- Model specification \n", " > 2- Parameter estimation (i.e., learning from an observed data set using Bayesian inference) \n", " > 3- Model evaluation (how good is this (trained) model?) \n", " \n", "UNTIL model performance is satisfactory\n", " > 4- Apply model, e.g. for prediction or classification of new data" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- In principle, based on the model evaluation results, you may want to re-specify your model and _repeat_ the design process (a few times), until model performance is acceptable. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ " \n", "- Next, we discuss these four stages in a bit more detail." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### (1) Model specification\n", "\n", "- Your first task is to propose a probabilistic model ($m$) for generating the observations $x$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- A probabilistic model $m$ consists of a joint distribution $p(x,\\theta|m)$ that relates observations $x$ to model parameters $\\theta$. Usually, the model is proposed in the form of a data generating distribution $p(x|\\theta,m)$ and a prior $p(\\theta|m)$. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- _You_ are responsible to choose the data generating distribution $p(x|\\theta)$ based on your physical understanding of the data generating process. (For simplicity, we dropped the given dependency on $m$ from the notation).\n", " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- _You_ must also choose the prior $p(\\theta)$ to reflect what you know about the parameter values before you see the data $D$.\n", " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### (2) Parameter estimation\n", "\n", "- Note that, for a given data set $D=\\{x_1,x_2,\\dots,x_N\\}$ with _independent_ observations $x_n$, the likelihood is \n", "$$ p(D|\\theta) = \\prod_{n=1}^N p(x_n|\\theta)\\,,$$\n", "so usually you select a model for generating one observation $x_n$ and then use (in-)dependence assumptions to combine these models into a likelihood function for the model parameters." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- The likelihood and prior both contain information about the model parameters. Next, you use Bayes rule to fuse these two information sources into a posterior distribution for the parameters,\n", "$$\n", "\\underbrace{p(\\theta|D) }_{\\text{posterior}}= \\frac{p(D|\\theta) p(\\theta)}{p(D)} \\propto \\underbrace{p(D|\\theta)}_{\\text{likelihood}} \\cdot \\underbrace{p(\\theta)}_{\\text{prior}}\n", "$$ " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Note that there's **no need for you to design some clever parameter estimation algorithm**. Bayes rule _is_ the parameter estimation algorithm. The only complexity lies in the computational issues! " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- This \"recipe\" works only if the right-hand side (RHS) factors can be evaluated; the computational details can be quite challenging and this is what machine learning is about. \n", " \n", "- $\\Rightarrow$ **Machine learning is EASY, apart from computational details :)**\n", " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### (3) Model Evaluation \n", "\n", "- In the framework above, parameter estimation was executed by \"perfect\" Bayesian reasoning. So is everything settled now? " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- No, there appears to be one remaining problem: how good really were our model assumptions $p(x|\\theta)$ and $p(\\theta)$? We want to \"score\" the model performance." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Note that this question is only interesting if we have alternative models to choose from. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "- Let's assume that we have more candidate models, say $\\mathcal{M} = \\{m_1,\\ldots,m_K\\}$ where each model relates to specific prior $p(\\theta|m_k)$ and likelihood $p(D|\\theta,m_k)$? Can we evaluate the relative performance of a model against another model from the set?" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Start again with **model specification**. _You_ must now specify a prior $p(m_k)$ (next to the likelihood $p(D|\\theta,m_k)$ and prior $p(\\theta|m_k)$) for each of the models and then solve the desired inference problem: \n", "$$\\begin{align*} \n", "\\underbrace{p(m_k|D)}_{\\substack{\\text{model}\\\\\\text{posterior}}} &= \\frac{p(D|m_k) p(m_k)}{p(D)} \\\\\n", " &\\propto p(m_k) \\cdot p(D|m_k) \\\\\n", " &= p(m_k)\\cdot \\int_\\theta p(D,\\theta|m_k) \\,\\mathrm{d}\\theta\\\\\n", " &= \\underbrace{p(m_k)}_{\\substack{\\text{model}\\\\\\text{prior}}}\\cdot \\underbrace{\\int_\\theta \\underbrace{p(D|\\theta,m_k)}_{\\text{likelihood}} \\,\\underbrace{p(\\theta|m_k)}_{\\text{prior}}\\, \\mathrm{d}\\theta }_{\\substack{\\text{evidence }p(D|m_k)\\\\\\text{= model likelihood}}}\\\\\n", "\\end{align*}$$\n", "- This procedure is called **Bayesian model comparison**, which requires that you calculate the \"evidence\" (= model likelihood). " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- $\\Rightarrow$ In a Bayesian framework, **model estimation** follows the same recipe as parameter estimation; it just works at one higher hierarchical level. Compare the required calulations:\n", "\n", "$$\\begin{align*}\n", "p(\\theta|D) &\\propto p(D|\\theta) p(\\theta) \\; &&\\text{(parameter estimation)} \\\\\n", "p(m_k|D) &\\propto p(D|m_k) p(m_k) \\; &&\\text{(model comparison)}\n", "\\end{align*}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- In principle, you could proceed with asking how good your choice for the candidate model set $\\mathcal{M}$ was. You would have to provide a set of alternative model sets $\\{\\mathcal{M}_1,\\mathcal{M}_2,\\ldots,\\mathcal{M}_M\\}$ with priors $p(\\mathcal{M}_m)$ for each set and compute posteriors $p(\\mathcal{M}_m|D)$. And so forth ... " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- With the (relative) performance evaluation scores of your model in hand, you could now re-specify your model (hopefully an improved model) and _repeat_ the design process until the model performance score is acceptable. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "- As an aside, in the (statistics and machine learning) literature, performance comparison between two models is often reported by the [Bayes Factor](https://en.wikipedia.org/wiki/Bayes_factor), which is defined as the ratio of model evidences: \n", "$$\\begin{align*}\n", "\\underbrace{\\frac{p(D|m_1)}{p(D|m_2)}}_{\\text{Bayes Factor}} &= \\frac{\\frac{p(D,m_1)}{p(m_1)}}{\\frac{p(D,m_2)}{p(m_2)}} \\\\\n", "&= \\frac{p(D,m_1)}{p(m_1)} \\cdot \\frac{p(m_2)}{p(D,m_2)} \\\\\n", "&= \\frac{p(m_1|D) p(D)}{p(m_1)} \\cdot \\frac{p(m_2)}{p(m_2|D) p(D)} \\\\\n", "&= \\underbrace{\\frac{p(m_1|D)}{p(m_2|D)}}_{\\substack{\\text{posterior} \\\\ \\text{ratio}}} \\cdot \\underbrace{\\frac{p(m_2)}{p(m_1)}}_{\\substack{\\text{prior} \\\\ \\text{ratio}}}\n", "\\end{align*}$$\n", " - Hence, for equal model priors ($p(m_1)=p(m_2)=0.5$), the Bayes Factor reports the posterior probability ratio for the two models. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### (4) Prediction\n", "\n", "- Once we are satisfied with the evidence for a (trained) model, we can apply the model to our prediction/classification/etc task." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Given the data $D$, our knowledge about the yet unobserved datum $x$ is captured by (everything is conditioned on the selected model)\n", "$$\\begin{align*}\n", "p(x|D) &\\stackrel{s}{=} \\int p(x,\\theta|D) \\,\\mathrm{d}\\theta\\\\\n", " &\\stackrel{p}{=} \\int p(x|\\theta,D) p(\\theta|D) \\,\\mathrm{d}\\theta\\\\\n", " &\\stackrel{m}{=} \\int \\underbrace{p(x|\\theta)}_{\\text{data generation dist.}} \\cdot \\underbrace{p(\\theta|D)}_{\\text{posterior}} \\,\\mathrm{d}\\theta\\\\\n", "\\end{align*}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- In the last equation, the simplification $p(x|\\theta,D) = p(x|\\theta)$ follows from our model specification. We assumed a _parametric_ data generating distribution $p(x|\\theta)$ with no explicit dependency on the data set $D$. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Again, **no need to invent a special prediction algorithm**. Probability theory takes care of all that. The complexity of prediction is just computational: how to carry out the marginalization over $\\theta$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Note that the application of the learned posterior $p(\\theta|D)$ not necessarily has to be a prediction task. We use it here as an example, but other applications (e.g., classification, regression etc.) are of course also possible. \n", " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- What did we learn from $D$? Without access to $D$, we would predict new observations through\n", "$$\n", "p(x) = \\int p(x,\\theta) \\,\\mathrm{d}\\theta = \\int p(x|\\theta) \\cdot \\underbrace{p(\\theta)}_{\\text{prior}} \\,\\mathrm{d}\\theta\n", "$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "##### Prediction with multiple models\n", "\n", "- When you have a posterior $p(m_k|D)$ for the models, you don't *need* to choose one model for the prediction task. You can do prediction by **Bayesian model averaging** to utilitize the predictive power from all models:\n", "$$\\begin{align*}\n", "p(x|D) &= \\sum_k \\int p(x,\\theta,m_k|D)\\,\\mathrm{d}\\theta \\\\\n", " &= \\sum_k \\int p(x|\\theta,m_k) \\,p(\\theta|m_k,D)\\, p(m_k|D) \\,\\mathrm{d}\\theta \\\\\n", " &= \\sum_k \\underbrace{p(m_k|D)}_{\\substack{\\text{model}\\\\\\text{posterior}}} \\cdot \\int \\underbrace{p(\\theta|m_k,D)}_{\\substack{\\text{parameter}\\\\\\text{posterior}}} \\, \\underbrace{p(x|\\theta,m_k)}_{\\substack{\\text{data generating}\\\\\\text{distribution}}} \\,\\mathrm{d}\\theta\n", "\\end{align*}$$ " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Alternatively, if you do need to work with one model (e.g. due to computational resource constraints), you can for instance select the model with largest posterior $p(m_k|D)$ and use that model for prediction. This is called **Bayesian model selection**." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Bayesian Evidence as a Model Performance Criterion\n", "\n", "- Bayesian model evidence is well known as an excellent criterion to score the performance of models. Here, we derive a decomposition of model evidence that relates to evidence to other valued criteria such as **accuracy** and **model complexity**." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Consider a model $p(x,\\theta|m)$ and a data set $D = \\{x_1,x_2, \\ldots,x_N\\}$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Given the data set $D$, the log-evidence for model $m$ decomposes as follows:\n", "\n", "$$\\begin{align*}\n", "\\log p(D|m) &= \\log \\frac{p(D|\\theta,m) p(\\theta|m)}{p(\\theta|D,m)} \\qquad \\text{(use Bayes rule)} \\\\\n", " &= \\underbrace{\\log \\frac{p(D|\\theta,m) p(\\theta|m)}{p(\\theta|D,m)}}_{\\substack{= \\log p(D|m) \\\\ \\text{therefore independent of }\\theta}} \\cdot \\underbrace{\\int p(\\theta|D,m)\\mathrm{d}\\theta}_{\\text{evaluates to }1} \\\\\n", " &= \\int p(\\theta|D,m) \\cdot \\underbrace{\\log \\frac{p(D|\\theta,m) p(\\theta|m)}{p(\\theta|D,m)}}_{= \\log p(D|m)} \\mathrm{d}\\theta \\qquad \\text{(move $\\log p(D|m)$ into the integral)} \\\\\n", " &= \\underbrace{\\int p(\\theta|D,m) \\log p(D|\\theta,m) \\mathrm{d}\\theta}_{\\text{data fit}} - \\underbrace{\\int p(\\theta|D,m) \\log \\frac{p(\\theta|D,m)}{p(\\theta|m)} \\mathrm{d}\\theta}_{\\text{complexity}}\n", "\\end{align*}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- The first term (data fit) measures how well the model predicts the data $D$, after having learned from the data. We want this term to be large (although only focussing on this term could lead to *overfitting*)." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- The second term (complexity) quantifies the amount of information that the model absorbed through learning, i.e., by moving parameter beliefs from $p(\\theta|m)$ to $p(\\theta|D,m)$.\n", " - To see this, note that the *mutual information* between two variables $\\theta$ and $D$ is defined as \n", " $$\n", " I[\\theta;D] = \\iint p(\\theta,D) \\log \\frac{p(\\theta|D)}{p(\\theta)} \\mathrm{d}\\theta \\mathrm{d}D\n", " $$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- The complexity term regularizes the Bayesian learning process automatically. If you prefer models with high Bayesian evidence, then you prefer models that get a good data fit without need to learn much from the data set. These types of models are said to *generalize* well, since they can be applied to different data sets without specific adaptations for each data set. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- $\\Rightarrow$ Bayesian learning automatically leads to models that generalize well. **There is no need for early stopping or validation data sets**. Just learn on the data set and all behaves well. \n", " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Bayesian Machine Learning and the Scientific Method Revisited\n", "\n", "- The Bayesian design process provides a unified framework for the Scientific Inquiry method. We can now add equations to the design loop. (Trial design to be discussed in [Intelligent Agent lesson](https://nbviewer.jupyter.org/github/bertdv/BMLIP/blob/master/lessons/notebooks/Intelligent-Agents-and-Active-Inference.ipynb).) \n", "\n", "

\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Now Solve the Example Problem: Predicting a Coin Toss\n", "\n", "- We observe a the following sequence of heads ($h$) and tails ($t$) when tossing the same coin repeatedly $$D=\\{hthhtth\\}\\,.$$\n", "\n", "- What is the probability that heads comes up next? We solve this in the next slides ..." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Coin toss example (1): Model Specification\n", "\n", "- We observe a sequence of $N$ coin tosses $D=\\{x_1,\\ldots,x_N\\}$ with $n$ heads. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Let us denote outcomes by \n", "$$x_k = \\begin{cases} h & \\text{if heads comes up} \\\\\n", " t & \\text{if tails} \\end{cases}\n", " $$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "##### Likelihood\n", "\n", "- Assume a [**Bernoulli** distributed](https://en.wikipedia.org/wiki/Bernoulli_distribution) variable $p(x_k=h|\\mu)=\\mu$, which leads to a [**binomial** distribution](https://en.wikipedia.org/wiki/Binomial_distribution) for the likelihood (assume $n$ times heads were thrown):\n", "$$ \n", "p(D|\\mu) = \\prod_{k=1}^N p(x_k|\\mu) = \\mu^n (1-\\mu)^{N-n}\n", "$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "##### Prior\n", "\n", "- Assume the prior belief is governed by a [**beta distribution**](https://en.wikipedia.org/wiki/Beta_distribution)\n", "\n", "$$\n", "p(\\mu) = \\mathrm{Beta}(\\mu|\\alpha,\\beta) = \\frac{\\Gamma(\\alpha+\\beta)}{\\Gamma(\\alpha)\\Gamma(\\beta)} \\mu^{\\alpha-1}(1-\\mu)^{\\beta-1}\n", "$$\n", "where the Gamma function is sort of a generalized factorial function. If $\\alpha,\\beta$ are integers, then $$\\frac{\\Gamma(\\alpha+\\beta)}{\\Gamma(\\alpha)(\\Gamma(\\beta)} = \\frac{(\\alpha+\\beta-1)!}{(\\alpha-1)!\\,(\\beta-1)!}$$\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- A _what_ distribution? Yes, the **beta distribution** is a **conjugate prior** for the binomial distribution, which means that \n", "$$\n", "\\underbrace{\\text{beta}}_{\\text{posterior}} \\propto \\underbrace{\\text{binomial}}_{\\text{likelihood}} \\times \\underbrace{\\text{beta}}_{\\text{prior}}\n", "$$\n", "so we get a closed-form posterior." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- $\\alpha$ and $\\beta$ are called **hyperparameters**, since they parameterize the distribution for another parameter ($\\mu$). E.g., $\\alpha=\\beta=1$ (uniform).\n", " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "\n", "- (Bishop Fig.2.2). Plots of the beta distribution $\\mathrm{Beta}(μ|a, b)$ as a function of $μ$ for various values of the hyperparameters $a$ and $b$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Coin toss example (2): Parameter estimation\n", "\n", "- Infer posterior PDF over $\\mu$ through Bayes rule\n", "\n", "$$\\begin{align*}\n", "p(\\mu|D) &\\propto p(D|\\mu)\\,p(\\mu|\\alpha,\\beta) \\\\ \n", " &= \\mu^n (1-\\mu)^{N-n} \\times \\mu^{\\alpha-1} (1-\\mu)^{\\beta-1} \\\\\n", " &= \\mu^{n+\\alpha-1} (1-\\mu)^{N-n+\\beta-1} \n", "\\end{align*}$$\n", "\n", "hence the posterior is also beta-distributed as\n", "\n", "$$\n", "p(\\mu|D) = \\mathrm{Beta}(\\mu|\\,n+\\alpha, N-n+\\beta)\n", "$$\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Coin Toss Example (3): Prediction\n", "\n", "- For simplicity, we skip the model evaluation task here and proceed to **apply** the trained model. Let's use it to predict future observations. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Marginalize over the parameter posterior to get the predictive PDF for a new coin toss $x_\\bullet$, given the data $D$,\n", "\n", "$$\\begin{align*}\n", "p(x_\\bullet=h|D) &= \\int_0^1 p(x_\\bullet=h|\\mu)\\,p(\\mu|D) \\,\\mathrm{d}\\mu \\\\\n", " &= \\int_0^1 \\mu \\times \\mathrm{Beta}(\\mu|\\,n+\\alpha, N-n+\\beta) \\,\\mathrm{d}\\mu \\\\\n", " &= \\frac{n+\\alpha}{N+\\alpha+\\beta}\n", "\\end{align*}$$\n", "\n", "- This result is known as [**Laplace's rule of succession**](https://en.wikipedia.org/wiki/Rule_of_succession)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- The above integral computes the mean of a beta distribution, which is given by $\\mathbb{E}[x] = \\frac{a}{a+b}$ for $x \\sim \\mathrm{Beta}(a,b)$, see [wikipedia](https://en.wikipedia.org/wiki/Beta_distribution)." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Finally, we're ready to solve our example problem: for $D=\\{hthhtth\\}$ and uniform prior ($\\alpha=\\beta=1$), we get\n", "\n", "$$ p(x_\\bullet=h|D)=\\frac{n+1}{N+2} = \\frac{4+1}{7+2} = \\frac{5}{9}$$\n", " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Coin Toss Example: What did we learn?\n", "\n", "- What did we learn from the data? Before seeing any data, we think that $$p(x_\\bullet=h)=\\left. p(x_\\bullet=h|D) \\right|_{n=N=0} = \\frac{\\alpha}{\\alpha + \\beta}\\,.$$ " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Hence, $\\alpha$ and $\\beta$ are prior pseudo-counts for heads and tails respectively. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- After the $N$ coin tosses, we think that $p(x_\\bullet=h|D) = \\frac{n+\\alpha}{N+\\alpha+\\beta}$." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "- Note the following decomposition\n", "\n", "$$\\begin{align*}\n", " p(x_\\bullet=h|\\,D) &= \\frac{n+\\alpha}{N+\\alpha+\\beta} = \\frac{n}{N+\\alpha+\\beta} + \\frac{\\alpha}{N+\\alpha+\\beta} \\\\\n", " &= \\frac{N}{N+\\alpha+\\beta}\\cdot \\frac{n}{N} + \\frac{\\alpha+\\beta}{N+\\alpha+\\beta} \\cdot \\frac{\\alpha}{\\alpha+\\beta} \\\\\n", " &= \\underbrace{\\frac{\\alpha}{\\alpha+\\beta}}_{\\substack{\\text{prior}\\\\\\text{prediction}}} + \\underbrace{\\underbrace{\\frac{N}{N+\\alpha+\\beta}}_{\\text{gain}}\\cdot \\underbrace{\\big( \\underbrace{\\frac{n}{N}}_{\\substack{\\text{data-based}\\\\\\text{prediction}}} - \\underbrace{\\frac{\\alpha}{\\alpha+\\beta}}_{\\substack{\\text{prior}\\\\\\text{prediction}}} \\big)}_{\\text{prediction error}}}_{\\text{correction}}\n", "\\end{align*}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "- Note that, since $0\\leq \\underbrace{\\frac{N}{N+\\alpha+\\beta}}_{\\text{gain}} \\lt 1$, the Bayesian prediction lies between (fuses) the prior and data-based predictions. The data plays the role of \"correcting\" the prior prediction." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- For large $N$, the gain goes to $1$ and $\\left. p(x_\\bullet=h|D)\\right|_{N\\rightarrow \\infty} \\rightarrow \\frac{n}{N}$ goes to the data-based prediction (the observed relative frequency)." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Code Example: Bayesian evolution of $p(\\mu|D)$ for the coin toss\n", "\n", "- Let's see how $p(\\mu|D)$ evolves as we increase the number of coin tosses $N$. We'll use two different priors to demonstrate the effect of the prior on the posterior (set $N=0$ to inspect the prior)." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "using Pkg; Pkg.activate(\"probprog/workspace\");Pkg.instantiate();\n", "IJulia.clear_output();" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAK+CAYAAACo1y9KAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdeVxU1fvA8c+wi4BoKIqaS66YOyruC4FbKlmZZri1qKlptn1Jc8nSNE3NyrJMKtxz3yEX0FITFXcpxS0VURJQFGS5vz/8zSSyzQwzcwd43q8XL507997znJl758wz99xzNIqiKAghhBBCCCGE0JuN2gEIIYQQQgghRFEjiZQQQgghhBBCGEgSKSGEEEIIIYQwkCRSQgghhBBCCGEgSaSEEEIIIYQQwkCSSAkhhBBCCCGEgSSREkIIIYQQQggDSSIlhBBCCCGEEAaSREoIIYQQQgghDCSJlBBCCCGEEEIYSBIpIYQQQgghhDCQJFLF0Mcff4y3tzdZWVlGbV+9enWmTJlS6DgWL15M5cqVSUlJ0XublStX0qBBA0qVKoVGoyE6OrrQceQlJCQEjUaDk5MTly5dyvF8p06dePrpp01SVnR0ND179uTJJ5+kVKlSlCtXjtatWxMaGmqS/ZvDnTt3eP/99wkICKB8+fJoNBqjjovCHo+FpX2fL168qEr5j7t79y7jxo3Dy8sLJycnmjRpwooVKwzezw8//IBGo8HFxSXHc8ace0KYkrRD+rFkO2TIZ7qpPqcsadeuXQwbNox69epRunRpKleuTJ8+fTh8+LBB+5E26z+mPA6Ka5sliVQxc+3aNWbNmsXHH3+MjY3p3t60tDS+//57XTLg6uqKu7s7nTt3pm3btvj6+jJu3DjOnDmj22bw4MGULl2aWbNm6VXGzZs3CQoK4qmnnmL79u3s37+fOnXqmKwOeUlLS2PixIlmLSMxMZGqVasyffp0tm7dys8//0z16tUJCgrik08+MWvZxkpISGDRokWkpaURGBho1D7MdTwWZX379uWnn35i8uTJbNu2jRYtWjBgwACWLVum9z6uXr3Ku+++i5eXV67PG3ruCWFK0g4ZzhLtkCGf6ab4nLK0hQsXcvHiRcaOHcvWrVuZP38+8fHx+Pr6smvXLr32IW1WdqY6Dop1m6WIYuX9999XKleurGRmZhq9j2rVqimTJ0/WPY6NjVXeeecdJTIyUklKSlJ69eqlAMratWt161y8eFHp0KGDYm9vn2357NmzlTJlyigpKSkFlrtv3z4FUFauXGl07I/Lr9wlS5YogNKtWzfFxsZGiY6OzvZ8x44dlQYNGpgslty0atVKqVq1qlnLMFZWVpaSlZWlKIqi3Lx5UwGyHRf6MOR41OcYMYb2fb5w4YJZ9m+ILVu2KICybNmybMv9/f0VLy8vJSMjQ6/9PPvss0qvXr2UwYMHK6VLl851HUPOPSFMSdqh7KylHdL3M91Un1OWduPGjRzL7ty5o3h6eip+fn567UPfY9ecn6vW0maZ8jgozm2WpNtFRK9evfDx8eH777+ncePGlCpViqpVqzJ58mTd5ecHDx6wePFiXn755Vx/SalRowaDBw/OsbxLly507Ngxz7IrVarE7Nmzad++PW5ubty4cQNnZ2e6d++uW6datWqsWrUKe3t7xo8fr1s+cOBAkpOTC7wUPGTIENq1awfASy+9hEajoVOnTrrn9+3bh5+fH66urjg7O9OmTRu2bNmSbR9TpkxBo9Fw5MgRXnjhBcqWLctTTz2Vb7kA77//Pk888QQffPBBgeuamoeHB3Z2dkZtq63vqVOnGDBgAGXKlMHT05Nhw4aRlJRU6Ng0Gg0ajcbo7fM7Hgt6r/7++29efvllKlSogKOjI/Xr1+frr7/Oto9z584xdOhQateujbOzM5UrV6ZXr16cOHHC6JiNPUf0tW7dOlxcXHjxxRezLR86dCjXrl3j4MGDBe4jNDSUiIgIvvnmm3zX0/fcE0Jf0g4V7XZI3890U3xOPc7c7RVAhQoVcixzcXHB29ubK1euFLh9XseutbZXYN42y1THQXFvsySRKiIOHz7M2bNnmTt3Lu+99x4bN26kXbt2fPzxx/z4448AHDx4kISEBDp37pxj+4SEBC5evIiPj0+25YqicOTIEZo3b55n2U5OTrr/X716lUOHDuHv759tOYCnpyfe3t5cvHiR27dvA1CxYkXq1auXo7F53EcffaT74Jk+fTr79+/XnXQRERF06dKFpKQkFi9ezPLly3F1daVXr16sXLkyx7769u1LrVq1WL16Nd9++22+5QK4uroyceJEduzYUeDlf0VRyMjI0OsvN1lZWWRkZHDz5k2++eYbduzYUeiG8/nnn6dOnTqsWbOG//3vfyxbtoy3337bZDEbK7/jUSu39+r06dO0aNGCkydPMmfOHDZv3kzPnj156623mDp1qm7ba9eu8cQTT/DZZ5+xfft2vv76a+zs7GjVqhUxMTEGx2vIOWLsa3ry5Enq16+fI3lu1KiR7vn8xMfHM27cOD777DOqVKmS77r6nntC6EvaoeLRDhWksJ9T+SmovQLT1i8pKYkjR47QoEGDAtctqM2ypvYK9D+f1GqvoIS0WWpdChP6++effxRAqVmzppKYmKhb/uDBA6VixYrKs88+qyiKosycOVMBlLi4uBz72L59uwIof/zxR7blMTExCqCEhobqlj3epeJRCxcuVADlhx9+yPX5Tp06KYCSlJSkWzZw4EDF09OzwHru3r1bAZTVq1dnW+7r66tUqFBBuXPnjm5ZRkaG8vTTTytVqlTRdVWYPHmyAiiTJk0qsCxF+e/y+aFDh5S0tDSlZs2aio+Pj25/uXWp0Maoz19ul+WHDx+ue97BwUH55ptv9Io1N9r6zpo1K9vyN998U3FyctLVo7AxK4pxXfvyOx7ze6+6du2qVKlSJdsxpCiKMnr0aMXJyUn5999/cy0vIyNDefDggVK7dm3l7bff1i3Xt5uEIeeIsa9p7dq1la5du+Yo+9q1awqgTJ8+Pd8Yn3/+eaVNmza69za/bhKKov+5J0RBpB0qPu2QouT/mV7Yz6nc6Ntemap+WgMHDlTs7OyUqKioAmPM69i1ZHulKKZvs9RqrxSlZLRZxvUpEhZ16NAh4OHl5TJlyuiW29vbU6tWLW7dugU8/MVDo9Hg4eGR6z7s7Oxo0qRJtuXa0Wzy+yXwUZs3b0aj0dCzZ89cn7948SLly5fHzc1Nt6xChQrEx8eTkZFhcDe2lJQUDh48yMiRI7ON9GJra0tQUBAffPABMTEx1KtXT/fc888/b1AZAA4ODnzyySe8/PLLrFq1ipdeeinX9Zo3b657PwqS202VH374Ia+99hrx8fFs2rSJ0aNHk5KSwrvvvmtwzFq9e/fO9rhRo0akpqYSHx+Pp6dnoWM2Vn7Ho9bj71Vqaio7d+5k5MiRODs7Z/uFrEePHnz11VccOHCA7t27k5GRwaxZswgNDeXcuXOkp6fr1n30ZnN9GXKOFOY1za9rTX7PrVmzhk2bNnH06FG9u1wW5twT4lHSDhWfdkgfxn5OFaSg9gpMV7+PPvqIpUuXsmDBAr2OrYLaLGtqr0D/80mN9gpKTptVNKIs4aKiorC3t8/RTxUenvjak+X+/fvY29tja2ub6z68vb0pVapUjuUuLi56jUp0//59du3aRcuWLalYsWKO50+cOMHFixcZNGhQtuVOTk4oikJqamquw17m5/bt2yiKQqVKlXI8pz3hExISsi3PbV199O/fn9mzZzNhwgT69u2b6zouLi45PrTyktuHwJNPPsmTTz4JPPygBQgODmbw4MGUL1/eqLifeOKJbI8dHR2Bh++XKWI2Vn7Ho9bj71VCQgIZGRksWLCABQsW5LqN9gvb+PHj+frrr/nggw/o2LEjZcuWxcbGhtdee01Xd0MYco4Y+5o+8cQTOY5XgH///ReAcuXK5bqPu3fvMmrUKMaMGYOXlxeJiYnAwz798HBUSHt7e0qXLp1tu8Kce0I8Stqh4tMOFcTYzyl99/2ox9srME39pk6dyieffMKnn37K6NGj9dpXQW2WNbVXoP/5ZOn2CkpWmyX3SBUBUVFReHh45OgLfvDgQWJjY3VfyD08PHjw4EGu4/BHRUXRrFmzHMv37NlD06ZN9Rrmc+fOndy/f59evXrl+vykSZOwt7cnODg42/J///0XR0dHo04K7YfN9evXczx37do1gBy/Hhn7a5lGo2HmzJmcP3+eRYsW5bpOREQE9vb2ev3pMwdEy5YtycjIIDY21qiY9WHqmPWV3/Go9fh7VbZsWWxtbRkyZAiHDh3K9U97vIeGhjJo0CCmT59O165dadmyJT4+PrqGy1CGnCPGvqYNGzbkzJkzOfqia284zmu+mFu3bnHjxg3mzJlD2bJldX/Lly8nJSWFsmXLMnDgwBzbFebcE+JR0g4V33boccZ+TplKYes3depUpkyZwpQpU/jwww/1LregNsua2ivQ/3yydHsFJavNkitSRUBUVBRJSUkkJibi7u4OQGZmJh988AHVq1fn5ZdfBtB1Kzh//rzuZkCAuLg4rl69muOXm4iICI4cOcK4ceP0ikN7A+DjDVhaWhoTJkxg/fr1fPXVV9m6NwDExsbi7e1tQI3/U7p0aVq1asXatWuZPXu27peXrKwsQkNDqVKliknn+HjmmWfw9/fn448/pmrVqjmeN3WXit27d2NjY0PNmjUNjlVfanXty+t4zI+zszOdO3fm6NGjNGrUCAcHhzzX1Wg0ul8ztbZs2cLVq1epVauWQbEaeo4Y+5o+99xzfP/996xZsyZbt52ffvoJLy8vWrVqles+KlasyO7du3Ms/+yzz4iIiGDbtm25dkcpzLknxKOkHSq+7dDjjP2cMpXC1G/atGlMmTKFiRMnMnnyZIPKNbTNUqu9AsPOJ0u3V1Cy2ixJpKzchQsXSEhI4Mknn+TFF1/knXfeITU1lS+//JLDhw+zZ88e3cmrHab1wIED2T4EtCfQ6tWr8fb2platWkRHR+tGJ4qPj+fkyZP5/rqQlpbGunXrKFeunG7f8fHxbNy4kenTp3Pr1i0WL17MsGHDsm2XlZXFn3/+yauvvmr0azBjxgz8/f3p3Lkz7777Lg4ODnzzzTecPHmS5cuXF6q/dm5mzpxJ8+bNiY+PzzHSj6ura44RcvTxxhtv4ObmRsuWLfH09OTWrVusXr2alStX8t5772Xr1qfRaOjYsSN79uwpbFUKFTPAtm3bSElJ4c6dO8DDEYp+/fVX4GHXRGdn5zy3zet4LMj8+fNp164d7du3Z+TIkVSvXp07d+5w7tw5Nm3apBvR6tlnnyUkJIR69erRqFEjDh8+zOeff17gyEC5MfQcMfY17d69O/7+/owcOZLk5GRq1arF8uXL2b59O6GhobouJREREfj5+TFp0iQmTZqEk5NTtmGYtUJCQrC1tc31OVOce0KAtENQPNoh0O8zXd/PKS1rabPmzJnDpEmT6NatGz179uTAgQPZnvf19c13e2PaLDXaKzDsfDJ3ewUlvM1Sc6QLUbBVq1bpRmUJCgpS3NzcFFdXV6VPnz7K6dOnc6zfvn17pUePHtmWTZo0SbGzs1NWr16tVK9eXXFyclI6deqkHDx4UKlVq5ZSqVKlbKO+PD5aUnJystKiRQvdqC7ly5dXPDw8lIoVKyrPPPOM8vnnnyu3bt3KNf6dO3cqgHL48OEC65rXaEmKoih79+5VunTpopQuXVopVaqU4uvrq2zatCnbOtqRdW7evFlgWYqSfbSkx7388ssKYLKJEH/88Uelffv2ioeHh2JnZ6e4u7srHTt2VH755Zds6925c0cBlP79+xe4z7zqa8rJ/KpVq2b0aEmKkvvxmF/sWhcuXFCGDRumVK5cWbG3t1fKly+vtGnTRvnkk09069y+fVt59dVXlQoVKijOzs5Ku3btlL179yodO3ZUOnbsqFtPn9fD0HOkMO7cuaO89dZbSsWKFRUHBwelUaNGyvLly7Otoz0XCholMb8RkAw594TIj7RDDxX1dkhR9P9M1+dzSruePm2WJdqrjh075jsinT5yO3Yt2V4pinW1WfoeByW5zZJEysq99957SunSpfWeQfrXX39VbG1tlX/++Ue3rHv37krTpk31LjO/YWcN9corryht2rQxyb5Kgi1btigajUY5fvy42qGYRG7HozUy9BwpCuTcE6Yi7ZDIi7RZ6pA2y3rIYBNWTnszYX4jnz2qb9++tGjRghkzZuiWHT58mJYtW5orxDydP3+elStXMnPmTIuXXVTt3r2b/v3707BhQ7VDMYncjkdrpNY5Yi5y7glTknZI5EXaLHVIm2U9JJGyYsr/z05tSN9WjUbD999/j5eXF1lZWVy+fJn4+HhVTrjLly/z1Vdf0a5dO4uXXVR9/vnnLFu2TO0wTObx49EaqXmOmIuce8JUpB0S+ZE2y/KkzbIuGkVRFLWDENalevXqDBkyhClTpqgdihBCiBJI2iEhRFEgiZQQQgghhBBCGEi69gkhhBBCCCGEgSSREkIIIYQQQggDlfgJebOysrh27Rqurq4mn1BPCCFE/hRF4c6dO3h5eWFjI7/taUnbJIQQ6jCkXSrxidS1a9eoWrWq2mEIIUSJduXKFapUqaJ2GFZD2iYhhFCXPu1SiU+kXF1dgYcvlpubm8Hbp6enExYWRkBAAPb29qYOz+qV9PqDvAZSf6l/YeqfnJxM1apVdZ/F4iFpmwpH6i/1l/pL/S3RLpX4RErbZcLNzc3oxsrZ2Rk3N7cSe7CW5PqDvAZSf6m/Keov3deyk7apcKT+Un+pv9TfEu2SdEgXQgghhBBCCANJIiWEEEIIIYQQBpJESgghhBBCCCEMJImUEEIIIYQQQhhIEikhhBBCCCGEMJAkUkIIIYQQQghhIEmkhBBCCCGEEMJAkkgJIYQQQgghhIFK/IS8QhQ1iqIQHR3Nhg0biIuL0y338PBg1KhRVKpUScXohBBCFNalS5fYvn07Fy5coEuXLnTu3LlETqwqhLWTREqIIkJRFD766COWLl3KxYsXc13nzTfftGxQQgghTG7JkiVMnToVgJkzZ1KuXDkCAwP58MMPeeqpp1SOTgihJYmUEEWERqPBxsaGixcvUqpUKbp160bjxo3RaDQoikJGRgZeXl669ceNG0e9evV44403sLGRXrxCCGGtUlNTSU1Nxd3dHYCAgAB2795NjRo12LZtG/Hx8fz4449s2LCBrVu30rJlS5UjFkKAJFJCWLWrV6+SlJSEt7c3ABMmTKBZs2YEBATg7Oyc53b79+9n/vz5ACxdupSQkBD5FVMIIaxQQkICgYGB2NjYEBYWhqOjI23atCEiIgKAzMxM9u7dy3vvvUdUVBQvvfQSMTExODg4qBy5EEJ+phbCSp0/f562bdvyyiuvkJGRAYCjoyOBgYH5JlEALVu2ZP78+ZQuXZp9+/bRtm1bjh8/bomwhShWFi5cSKNGjXBzc8PNzY3WrVuzbdu2PNcPCQlBo9Hk+EtNTbVg1KKoSEpKol27duzbt49jx45x9uzZHOvY2trSqVMndu/eTd++fVm1apUkUUJYCUmkhLBCp06don379ly6dIm7d+/y77//GrS9ra0tb731FqdOnaJJkybcuHGDTp068eeff5opYiGKpypVqvDZZ58RFRVFVFQUXbp0oU+fPpw6dSrPbdzc3Lh+/Xq2PycnJwtGLYqKcePGcfbsWSpXrsy+ffto3Lhxnuu6uLiwZs0aWrRoYcEIhRD5ka59QliZI0eOEBAQQEJCAg0bNiQsLIwKFSoYta9q1aqxe/duevTowf79+/Hz82Pz5s107NjRxFELUTz16tUr2+NPP/2UhQsXcuDAARo0aJDrNhqNhooVKxpUTlpaGmlpabrHycnJAKSnp5Oenm5g1Oi2MWbb4qAo1H/z5s26K5hLly6lbt26BsW7Z88eFixYwPLly3NcoSoK9Tcnqb/U/9F/jd1eH5JICWFFrly5Qrdu3UhISKBFixZs376dcuXKFWqf7u7uhIWF0adPHyIiIjh9+rQkUkIYITMzk9WrV5OSkkLr1q3zXO/u3btUq1aNzMxMmjRpwrRp02jatGm++54xY4ZulLZHhYWFFdiVNz/h4eFGb1scWGv9k5OTeeuttwDo06cPiYmJbN26Ve/tU1NTGT58OElJSQwZMoRXXnkl1/Wstf6WIvWX+hvj3r17eq8riZQQViI1NZW+ffty8+ZNGjduzG+//Yabm5tJ9u3i4sKWLVs4duwYrVq1Msk+hSgpTpw4QevWrUlNTcXFxYV169bpBoB5XL169QgJCaFhw4YkJyczf/582rZty7Fjx6hdu3aeZQQHBzN+/Hjd4+TkZKpWrUpAQIBRnwPp6emEh4fj7+9fIucfsvb6Dx06lMTEROrVq8fPP/9sVNdPRVEYMGAAa9euZcyYMdmSe2uvv7lJ/aX+ham/tkeAPiSREsJKXL58mevXr1OuXDnWrVtnsiRKy8nJKVsSdffuXZydnWVodCEKULduXaKjo0lMTGTNmjUMHjyYiIiIXJMpX19ffH19dY/btm1Ls2bNWLBgAV9++WWeZTg6OuLo6Jhjub29faG+CBV2+6LOWus/YcIEYmNj+fLLL3F1dTVqH/3792fr1q388ssvDBs2jJMnT+ZIyKy1/pYi9Zf6G1N/Q7aRb1BCWIk6depw+PBhtmzZQo0aNcxa1tmzZ/Hx8eGTTz4xazlCFAcODg7UqlULHx8fZsyYQePGjXXTCxTExsaGFi1a8Pfff5s5SlGU1K9fn99//x0fH59C7WfBggV4eXlx/vx5Fi1aZKLohBD6kkRKCJUpiqL7v6enZ7Zfs83l4MGDxMTEMGXKFPbt22f28oQoThRFyTYwREHrRkdHU6lSJTNHJYqCRz/vNRpNofdXpkwZJk2aBMD06dMNurdDCFF4kkgJoaLMzEy6d+9OSEhItgbW3AYPHszQoUNRFIXXXntN5rgRIg8ffvghe/fu5eLFi5w4cYIJEyawZ88eBg4cCMCgQYMIDg7WrT916lR27NhBbGws0dHRvPrqq0RHRzNixAi1qiCsSLdu3XjrrbeIj4832T6HDh1K9erVuXHjBqtWrTLZfoUQBZNESggVzZs3jx07djBu3Dhu3bpl0bK/+OILKlWqRExMDB9//LFFyxaiqLhx4wZBQUHUrVsXPz8/Dh48yPbt2/H39wf+u7dRKzExkTfeeIP69esTEBDA1atXiYyMpGXLlmpVQViJyMhIwsLC+O6773STrJuCg4MDCxYsYNOmTQwePNhk+xVCFEwGmxBCJefOneOjjz4CYM6cOZQvX96i5bu7u/PNN9/w3HPPMWvWLF588cUCh2gWoqRZvHhxvs/v2bMn2+O5c+cyd+5cM0YkiirtPamvvvoqXl5eJt33s88+a9L9CSH0I1ekhFCBoii8/vrr3L9/Hz8/P4YNG6ZKHIGBgbz44otkZmYybNiwEjt5nxBCmNPBgwcJDw/Hzs6O999/36xlJSUlcefOHbOWIYR4SBIpIVSwdOlS9uzZg7OzM4sWLTLJTcfGWrBgAeXKlcPV1dWk/faFEEI89MUXXwDwyiuvUL16dbOVExISQo0aNWQEPyEsxKoSqRkzZtCiRQtcXV2pUKECgYGBxMTE5LtNSEgIGo0mx5/cPC+sVWpqKhMmTABg4sSJ1KxZU9V4PD09iY6OJiIigsqVK6saixBCFDcJCQmsX78egLFjx5q1rKysLG7fvs2iRYvIzMw0a1lCCCtLpCIiIhg1ahQHDhwgPDycjIwMAgICSElJyXc7Nzc3rl+/nu3PmFnChbCEsLAwLl++TJUqVRg3bpza4QBQtWpVVa+KCSFEcbVs2TIePHhA06ZNadKkiVnL6t+/P2XLluXChQscPXrUrGUJIaxssInt27dne7xkyRIqVKjA4cOH6dChQ57baTQaKlasaO7whDCJ3r17c+jQIRISEihVqpTa4WSTmJjIZ599xsiRI6lWrZra4QghRJH37LPPEh8fT926dc1elrOzM0OHDuWLL75g27ZtujmmhBDmYVWJ1OOSkpIAKFeuXL7r3b17l2rVqpGZmUmTJk2YNm1anqOPpaWlZZtIMTk5GYD09HSjbrTXblNSb9Iv6fUH416Dxo0bG7yNJQwePJiNGzdy5coVQkJC9NqmpB8DUv/C1b+kvm6i5KhRowbTpk2zWHkjR47kiy++4MiRI8TGxlokgROipLLaREpRFMaPH0+7du14+umn81yvXr16hISE0LBhQ5KTk5k/fz5t27bl2LFj1K5dO8f6M2bMYOrUqTmWh4WF4ezsbHS84eHhRm9bHJT0+kPBr8HNmzfJysrC09PTQhEZrkOHDmzcuJFly5bRvHlznnrqKb23LenHgNTfuPrfu3fPxJEIUbLVqlWLgIAAwsLCWLRoEXPmzFE7JCGKLatNpEaPHs3x48fZt29fvuv5+vri6+ure9y2bVuaNWvGggUL+PLLL3OsHxwczPjx43WPk5OTqVq1KgEBAbi5uRkcZ3p6OuHh4fj7+2Nvb2/w9kVdSa8/6P8aDB06lNWrV/PVV18xZMgQywVooKioKFasWMFvv/3GmDFjCly/pB8DUv/C1V/bK0CI4iYtLY1XX32Vfv360bNnT2xtbS1W9ogRIwgLC+Onn35ixowZODg4WKxsIUoSq0ykxowZw8aNG4mMjKRKlSoGbWtjY0OLFi34+++/c33e0dERR0fHHMvt7e0L9SWosNsXdSW9/pD/axAbG8uKFSvIzMykadOmVv1aTZs2jVWrVrFt2zZOnjyp9yS9Jf0YkPobV/+S/JqJ4m3Tpk0sXbqU3bt3c/nyZYuW3b17d1588UU++ugjSaKEMCOrGrVPURRGjx7N2rVr2bVrFzVq1DBqH9HR0VSqVMkMEQphnFmzZpGZmUnXrl3x8fFRO5x81apVi/79+wMwffp0laMRQoiiSXuf6eDBgy16NQrA1taWgQMHUq9ePYuWK0RJY1WJ1KhRowgNDWXZsmW4uroSFxdHXFwc9+/f160zaNAggoODdY+nTp3Kjh07iI2NJTo6mldffZXo6E0Zpl4AACAASURBVGhGjBihRhWEyOHq1assWbIEeDhvVFHw4YcfArBmzRrOnDmjcjRCCFG0JCYmsmPHDuDh9xYhRPFkVV37Fi5cCECnTp2yLV+yZInunpLLly9jY/Nf/peYmMgbb7xBXFwcZcqUoWnTpkRGRtKyZUtLhS1EvmbPns2DBw/o0KED7dq1UzscvTRo0ID+/fvj6uqKi4uL2uEIIUSRsnnzZjIyMvD29lb1qtCBAwdYuHAhvr6+vPXWW6rFIURxZVWJlKIoBa6zZ8+ebI/nzp3L3LlzzRSREIUTHx/Pd999B8CECRNUjsYwy5Ytk0l6hRDCCOvWrQOgb9++qsZx6tQpli9fzsmTJyWREsIMrKprnxDFTVRUFBqNhhYtWuDv7692OAaRJEoIIQx37949tm3bBsBzzz2naix9+/bFwcGBEydOcPz4cVVjEaI4kkRKCDPq0aMHly5dYsmSJUU2MYmKimLIkCHcvHlT7VCEEMLq/fPPP9StW5dq1arpPeqpuZQtW5aePXsCsHTpUlVjEaI4kkRKCDPz8PCgQYMGaodhtJEjR/LTTz+xaNEitUMRQgirV6dOHY4ePcrx48et4ge0gQMHArB8+XKysrJUjkaI4kUSKSHMQFEUjh49qnYYJjF27FgAvvnmG9LT01WORgghigY3Nze1QwCgZ8+elClThitXrrB37161wxGiWJFESggz+O2332jWrBldu3bVaxAVa/biiy/i6enJtWvXWLNmjdrhCCGE1bpx4wZ3795VO4xsnJyceOGFFwAIDQ1VORohihdJpIQwg/nz5wNQr149q+jaURiOjo6MHDkS+K9eQgghcvr444/x8PBgwYIFaoeSzcCBA2nSpAlPP/202qEIUaxIIiWEif39999s2bIFjUbD6NGj1Q7HJEaMGIGDgwMHDhzgzz//VDscIYSwOllZWaxfv560tDRq1qypdjjZdO7cmaNHj+q6agshTEMSKSFM7KuvvgIejthXu3ZtlaMxDU9PT/r37w/IVSkhhMhNdHQ0165do3Tp0vj5+akdjhDCAiSREsKE7t69y5IlSwCK3S9/Y8eOpWrVqjRv3lztUIQQwurs2LEDgC5duuDk5KRyNLm7c+cOa9euldH7hDARO7UDEKI4WbFiBXfu3KF27do888wzaodjUs2aNePChQvY2tqqHYoQQhhMURSuX7/OsWPHuHHjBnXr1uXpp5/G1dXVJPsPCwsDoGvXribZn6llZmby1FNPcfPmTQ4ePEjLli3VDkmIIk+uSAlhQuvXrwfg9ddfL/KDTORGkighRFFz4cIFgoKCqFChApUrV6ZHjx4MHTqUNm3a4ObmRs2aNfn4449JTk42uoy7d+/y+++/A9abSNna2tK5c2cA1q1bp3I0QhQPkkgJYULr169n/fr1DBkyRO1QzObBgwesXr2aI0eOqB2KEBaxcOFCGjVqhJubG25ubrRu3Zpt27blu82aNWvw9vbG0dERb29v+eKqgpSUFIKDg6lXrx6hoaHcunULGxsb6tevT5cuXfDy8gIeJlqTJ0+mevXqTJ8+3ajhy3fv3k16ejo1atTgqaeeMnVVTKZv374ArF27tshPzSGENZBESggTsrOzo0+fPpQvX17tUMzmf//7H/369ePzzz9XOxQhLKJKlSp89tlnREVFERUVRZcuXejTpw+nTp3Kdf39+/fz0ksvERQUxLFjxwgKCqJfv34cPHjQwpGXXEePHmXUqFHMmTOHBw8e0KVLFyIjI7l79y6nT59m586dXL16lVu3brF06VLq1avH7du3mTBhAk2aNOH06dMGlde0aVPmzp3Lu+++a9W9Ebp3746DgwN//fUXZ86cUTscIYo8SaSEMIGMjAwyMjLUDsMiXnnlFeDhL5q3bt1SORohzK9Xr1706NGDOnXqUKdOHT799FNcXFw4cOBAruvPmzcPf39/3dWQ4OBg/Pz8mDdvnoUjL5n2799PQEAAiYmJ1K5dm02bNvHbb7/Rvn17SpUqlW3dJ554gpdffpmTJ08SGhpK1apVOX/+PL6+vmzatEnvMqtUqcK4ceN48803TV0dk3Jzc8Pf3x94+BkuhCgcGWxCCBOIjIxk7NixBAcHM2rUKLXDMatmzZrRrFkzjhw5ws8//8yYMWPUDkkIi8nMzGT16tWkpKTQunXrXNfZv38/b7/9drZlXbt2zTeRSktLIy0tTfdYe79Oeno66enpBsep3caYbYuyiIgIAgMDSUlJoX79+uzatYsnnnhCrx+6+vXrR+fOnRkwYACRkZH06dOHadOm8f7771sgctPK7/3v3bs3W7ZsYe3atXzwwQeWDs0iSurxryX1L1z9DdlOEikhTCA8PJyrV6+SlJSkdigW8cYbbzBixAi+//77YjPpsBD5OXHiBK1btyY1NRUXFxfWrVuHt7d3ruvGxcXh6emZbZmnpydxcXF57n/GjBlMnTo1x/KwsDCcnZ2Njjs8PNzobYuaM2fOMHnyZB48eEDjxo0JDg42qjvlW2+9RenSpdm2bRsTJ07k3LlzBAYG5rn+sWPHiI+Pp3nz5pQrV64wVTC53N5/JycnbGxsOHr0KKGhoVYXsymVpOM/N1J/4+p/7949vdeVREqIQjpz5gxnzpzB1taWoUOHqh2ORQwYMIDx48dz9uxZ/vjjD7XDEcLs6tatS3R0NImJiaxZs4bBgwcTERGRZzL1+H0yiqLke+9McHAw48eP1z1OTk6matWqBAQE4ObmZnC86enphIeH4+/vj729vcHbFzX//vsvY8aM4cGDB/To0YNffvmFvXv3Gl3/3r17M2vWLCZOnEhISAjt2rVj0KBBua67ZMkSNmzYwJQpU3Rdn9VW0PtvZ2eHj48PNWrUUCE68ytpx//jpP6Fq78hI3hKIiVEIYWGhgLQrVs3KlWqpHI0luHm5ka/fv0ICQkhNDSUXr16qR2SEGbl4OBArVq1APDx8eHQoUPMnz+f7777Lse6FStWzHH1KT4+PsdVqkc5Ojri6OiYY7m9vX2hvggVdvuiQFEURowYwZUrV6hduzYrV67UvZaFqf+ECRO4ffs2c+bMYfjw4Xh6evLss89mWyc9PZ3du3cD0KNHD6t7rfOq/8svv6xCNJZXEo7//Ej9jau/IdvIYBNCFEJmZibLly8HICgoSOVoLGvw4MEAXLp0SYbRFSWOoijZ7ml6VOvWrXN0KQkLC6NNmzaWCK3E+fbbb1m/fj329vasWLECFxcXk+171qxZDBo0iMzMTF588cUc0z78+eefJCcnU65cOZo1a2aycoUQRYMkUkIUwp49e/jnn38oXbo0PXv2VDsci+rQoQNnz55l69atVj3crxCF9eGHH7J3714uXrzIiRMnmDBhAnv27GHgwIEADBo0iODgYN36Y8eOJSwsjJkzZ3L27FlmzpzJb7/9xrhx49SqQrF14sQJ3cAeM2fONHkyY2Njww8//ED37t1JTU3lpZdeytbtR3s1qkuXLkVuwvKVK1fSu3dvdu7cqXYoQhRZkkgJUQg//fQTAO3bt8+1W05xZmNjQ926ddUOQwizu3HjBkFBQdStWxc/Pz8OHjzI9u3bdcNIX758mevXr+vWb9OmDStWrGDJkiU0atSIkJAQVq5cSatWrdSqQrGkKApvvPEGaWlp9OjRw2yJqr29PaGhoTz55JOcO3eO4cOH667C79mzB4DOnTubpWxz2rlzJ5s2bWLDhg1qhyJEkSX3SAlRCKNHj8bZ2dmqZ7K3hLt375KcnMwTTzyhdihCmNzixYvzfV77ZfpRL7zwAi+88IKZIhIAq1at4sCBA5QuXZoffvjBrFfGy5Urx4oVK2jfvj0rVqzAz8+PoKAg3WA7HTt2NFvZ5tKzZ0++//57tmzZwvz586VngRBGkCtSQhRCy5YtWbBgAXXq1FE7FNVMnTqVoUOHsmTJErVDEUKUEGlpafzvf/8D4IMPPrDIQD+tW7dm+vTpAIwZM4b169dz//59PDw88hy90Zr5+fnh4OBAbGwsMTExaocjRJEkiZQQolA8PT1JT0/XjV4ohBDmtmDBAi5evIiXl1e2YePN7d1339XdLzVnzhxu3LjB5s2bi+TVHBcXF92VtC1btqgcjRBFkyRSQhjhypUrDB8+XOZQAvr164ednR3Hjh3j+PHjaocjhCjmEhIS+OSTTwD49NNPKV26tMXKtrGxYfHixZQpU4ZDhw6xfPnyIn3vm3aQpK1bt6ociRBFkyRSQhhh2bJlLFq0iA8//FDtUFRXrlw5fHx8AOSqlBDC7KZNm0ZSUhKNGzdWZdqJSpUqMWvWLODhXFOXLl2yeAymok2kIiMjDZqEVAjxkCRSQhhBO3eUdvjjkk7bPWTFihVkZWWpHI0Qori6ceMGCxcuBGD27NmqDTneqFEjypQpQ0pKCm+++WaRnUuvVq1aNGjQgNatW2cbeVIIoR9JpIQw0JkzZzh27Bj29vY8//zzaodjFZo3b46bmxtXrlyR7o5CCLP5+uuvefDgAb6+vjzzzDOqxbF7926SkpLQaDRs3bqVlStXqhZLYUVHRxMZGSnTWQhhBEmkhDCQ9mpU165dKVeunMrRWAcHBwf69OkD/Pf6CCGEKd27d49vvvkGgHfeeUfVWLRD3nfv3h14GE9KSoqKERnPzk5mwhHCWJJICWEARVF0icKAAQNUjsa6vP7668yZM0fuGxNCmMXPP/9MQkICNWrU4LnnnlMtjvT0dH7//Xfg4fQPNWvW5Nq1a7r7poqqhIQEkpKS1A5DiCJFEikhDHD48GHOnTtHqVKl6N27t9rhWBVfX1/Gjx9P5cqV1Q5FCFHMZGVlMXfuXADGjRun2r1R8LAdSElJoVy5cjRr1kyXQH3++ef8888/qsVVGKNGjaJ8+fIyYJAQBpJESggD3Lhxg2rVqtGrVy9cXFzUDkcIIUqEzZs389dff+Hu7s6wYcNUjUXbra9Dhw7Y2NjQt29f2rdvz/379wkODlY1NmNVrVoVRVEICwtTOxQhihRJpIQwQM+ePYmNjeW7775TOxSrlJ6ezpIlSwgMDCQ1NVXtcIQQxcScOXMAGD58uOo/Yu3btw94mEgBaDQavvjiC+DhFBCHDh1SLTZjBQQEALBr1y7S09NVjkaIokMSKSEMZGNjg7u7u9phWCVbW1smTZrEhg0b2LZtm9rhCCGKgePHjxMZGYmdnR2jR49WOxzc3d1xd3enbdu2umU+Pj4MGjQIgLfffrvIDYfepEkTypcvz927dzlw4IDa4QhRZEgiJYSeTp8+Lb/UFcDGxoaXXnoJkNH7hBCmERISAkCfPn2oUqWKusHw8KpTQkKCbiJyrU8//ZRSpUrx+++/F7kfkmxsbPD39weQ7n1CGEASKSH0kJmZSefOnalYsSKnT59WOxyr1r9/fwC2bNnCvXv3VI5GCFGUpaen6wZAGDp0qMrR/MfGxgYbm+xfoapUqaK7YjZx4sQid1VK271vx44dKkciRNFhVYnUjBkzaNGiBa6urlSoUIHAwEBiYmIK3G7NmjV4e3vj6OiIt7c369ats0C0oiSJjIwkPj4egNq1a6scjXVr3rw51atX5969e2zdulXtcIQQRdjWrVu5efMmnp6edO3aVe1wuHPnTr7Pv//++7i4uHD06NEi911Ee0UqKiqKhIQElaMRomiwqkQqIiKCUaNGceDAAcLDw8nIyCAgICDfSe7279/PSy+9RFBQEMeOHSMoKIh+/fpx8OBBC0Yuirtff/0VgMDAQOzt7VWOxrppNBpefPFF4L/XTQghjKHt1hcUFGQVE8f6+PhQvXp1jh49muvzHh4evP322wBMmjSJzMxMS4ZXKF5eXowfP54ffvgBBwcHtcMRokiwqkRq+/btDBkyhAYNGtC4cWOWLFnC5cuXOXz4cJ7bzJs3D39/f4KDg6lXrx7BwcH4+fkxb948C0YuirPMzEzWrFkDwAsvvKByNEWD9nXavHkz9+/fVzkaIURRFB8fz+bNmwEYMmSIusEAt27d4q+//uLSpUtUq1Ytz/XGjx+Pu7s7p06dYuXKlRaMsPDmzJnDsGHDcHV1VTsUIYoE9X/eyYd2hu1y5crluc7+/ft1v/5ode3aNc9EKi0tjbS0NN3j5ORk4GE/bGMGEtBuU1IHISgJ9Y+MjOTGjRu4u7vToUOHHHUtCa9BfnKrf5MmTahRowZPPvkkV65coUaNGmqFZ3by/heu/iX1dRMFW7ZsGRkZGbRo0YIGDRqoHQ5//PEHAPXr18/3e4m7uzvvvvsuEydOZPLkyfTr188qrqYJIUzPas9sRVEYP3487dq14+mnn85zvbi4ODw9PbMt8/T0JC4uLtf1Z8yYwdSpU3MsDwsLw9nZ2eh4w8PDjd62OCjO9V+0aBEATZs25bfffstzveL8Gujj8frPnDkTBwcHzpw5w5kzZ1SKynLk/Teu/jIgiciLtlufNVyNAvj9998Bsg17npe33nqLefPmce7cOZYvX05QUJC5wzOZ06dPEx4ezvPPP28VoyQKYc2sNpEaPXo0x48f1018lx+NRpPtsaIoOZZpBQcHM378eN3j5ORkqlatSkBAAG5ubgbHmZ6eTnh4OP7+/iXy3pniXv+srCxGjhwJwNixY+nRo0eOdYr7a1AQqb/UvzD11/YKEOJRR48e5dixYzg4OOhGAlWbNpFq06ZNgeu6urryzjvvEBwczIwZMxg4cGCOUf6s1YgRI9i7dy/Ozs68/vrraocjhFWzykRqzJgxbNy4kcjIyAJ/DalYsWKOq0/x8fE5rlJpOTo64ujomGO5vb19ob4EFXb7oq641l9RFLZt28batWvp1q1bvnUsrq+BvvKq/40bN7h3716x7t4H8v4bW/+S/JqJvK1YsQKA3r1759uNzlLS0tKIiooC9LsiBTBy5Eg+++wzzpw5w7p163j++efNGaLJ+Pn5sXfvXn777TdJpIQogFX9PKIoCqNHj2bt2rXs2rVLry9erVu3ztGlJCwsTK9fjIQoiEajoXHjxkydOjXXBFzk76uvvsLLy4tJkyapHYoQoohQFEU3wI92BFC1HTlyhLS0NDw8PPSeAqNMmTKMGTMGeDhZb1GZV+qZZ54BYNeuXWRlZakcjRDWzaoSqVGjRhEaGsqyZctwdXUlLi6OuLi4bKN+DRo0iODgYN3jsWPHEhYWxsyZMzl79iwzZ87kt99+Y9y4cWpUQQjxiGbNmpGVlcXGjRuzDfIihBB5OX78OOfPn8fJySnX7tRqcHd3Z9SoUQwaNCjPWwdyM3bsWJydnTl69Cjbt283Y4Sm07JlS1xcXLh16xYnTpxQOxwhrJpVJVILFy4kKSmJTp06UalSJd3fo8OHXr58mevXr+set2nThhUrVrBkyRIaNWpESEgIK1eupFWrVmpUQRQjhw8fZtCgQTKpbCH4+vri5eVFcnIyO3fuVDscIUQRoL0a1bVrV1xcXFSO5qH69evz1VdfMWfOHIO28/DwYMSIEQBMnz7dHKGZnL29PR06dACQz20hCmBViZSiKLn+PTpiz549e3Qj+Wi98MILnD17lgcPHnDmzBn69u1r2cBFsbRq1Sp++eUXfv75Z7VDKbJsbGwIDAwEYN26dSpHI4QoCrSJVFG5p6gg77zzDg4ODuzbt4/IyEi1w9GLtntffiPVCiGsLJESwlooisLatWsBJDEvJO3rt379ejIzM1WORgjDzJgxgxYtWuDq6kqFChUIDAwkJiYm321CQkLQaDQ5/lJTUy0UddF19uxZTp8+jb29Pb169VI7HABu377N77//bvTk4l5eXgwdOhSAWbNmmTI0s/Hz8wPgwIED8rktRD4kkRIiF6dOneLcuXM4OjrSvXt3tcMp0jp06EDZsmW5deuWXtMZCGFNIiIiGDVqFAcOHCA8PJyMjAwCAgJISUnJdzs3NzeuX7+e7c/JyclCURdd2qtRfn5+uLu7qxzNQ+Hh4bRr145OnToZvY933nkHjUbDli1bOH36tOmCM5Onn36aHTt2cOXKFWxtbdUORwirZZXDnwuhNm03NH9/f1xdXVWOpmizt7end+/e/PTTT6xdu5aOHTuqHZIQent8gIAlS5ZQoUIFDh8+rLuPJDcajYaKFSvqXU5aWlq2AVm082ulp6eTnp5uYNTotjFmWzX9+uuvAAQGBhYqdlPWf//+/cDDwXOM3V/16tXp3bs3GzZsYPbs2Xz33XeFjis/pqh/586dC70PtRTV499UpP6Fq78h20kiJUQupFufaY0YMYKOHTtaTVcdIYyVlJQEUODcRnfv3qVatWpkZmbSpEkTpk2bRtOmTfNcf8aMGUydOjXH8rCwMJydnY2O9/HpQaxZXFwc0dHR2NjYUKpUKZMM9GOK+muTaUdHx0LF1Lp1azZs2MAvv/xC+/btLTI/VlF6/81B6i/1N8a9e/f0XlcSKSEec+HCBV1jLl/8TcPX1xdfX1+1wxCiUBRFYfz48bRr146nn346z/Xq1atHSEgIDRs2JDk5mfnz59O2bVuOHTuW5xxEwcHBjB8/Xvc4OTmZqlWrEhAQgJubm8GxpqenEx4ejr+/f5GZ9PiLL74AoGPHjgwYMKBQ+zJV/R88eMDFixcBeP3116lTp47R++rRowcbNmxg//79xMTEMG3aNKP3VRBT1P/BgwdMmjSJvXv3smPHDqsZQVEfRfH4NyWpf+Hqr+0RoA9JpIR4TFxcHA0bNsTDwwMPDw+1wxFCWInRo0dz/PjxAu/1e/yHg7Zt29KsWTMWLFjAl19+mes2jo6OuU76bW9vX6gvQoXd3pK0V3v69u1rspgLW/9jx46RmppK2bJl8fb2NmgOqdy899579O3bl0WLFjFx4kSzJyeFqb+dnR2//vorly9f5s8//6Rr164mjs78itLxbw5Sf+Pqb8g2MtiEEI9p3bo1x48fZ9OmTWqHUqwkJyczd+5cgoKC1A5FCIONGTOGjRs3snv3bqpUqWLQtjY2NrRo0YK///7bTNEVfUlJSfz+++8AVjMJL8DBgwcBaNWqVaGTKIDevXtTq1Ytbt++zY8//ljo/ZmTRqOhS5cuAOzevVvlaISwTpJICZGH0qVLqx1CsaIoCh988AGhoaGcOXNG7XCE0IuiKIwePZq1a9eya9cuatSoYdQ+oqOjqVSpkhkiLB7Cw8PJzMykbt261KxZU+1wdA4cOABgsq7Jtra2vPPOOwDMnz/f6ocW1yZSu3btUjkSIayTJFJCPOLy5csG3WQo9FemTBnd3CQbNmxQORoh9DNq1ChCQ0NZtmwZrq6uxMXFERcXl21OoUGDBhEcHKx7PHXqVHbs2EFsbCzR0dG8+uqrREdHM2LECDWqUCRs27YNsK6rUQBvv/02c+bMoXfv3ibb56BBgyhbtiyxsbFs2bLFZPs1B+3IfYcPH9YNtCKE+I8kUkI8YuTIkXh4eLBq1Sq1QymW+vTpAzycnFeIomDhwoUkJSXRqVMnKlWqpPtbuXKlbp3Lly9z/fp13ePExETeeOMN6tevT0BAAFevXiUyMpKWLVuqUQWrpyiKLpGytnn7mjVrxvjx4/MdcdFQzs7OvP766wDMmzfPZPs1hypVqlC7dm2ysrKIjIxUOxwhrI4kUkL8vzt37rBz507u379PgwYN1A6nWNL+qnvw4MFsXzyFsFaKouT6N2TIEN06e/bsISQkRPd47ty5XLp0ibS0NOLj49mxYwetW7e2fPBFxLFjx7h+/TrOzs75zs1VnIwaNQpbW1t2797N8ePH1Q4nX9K9T4i8SSIlxP/bsWMHaWlpPPXUU3h7e6sdTrHk5eWl+1VeBvMQQsB/3fr8/PxyHblQLVu2bOGXX37h6tWrJt/3k08+qZunMK+RHK1F586dqVixotw3LEQuJJES4v9p79sJDAw0yehMIneBgYGAdO8TQjxkrd36FixYwKBBg8x2T+e4ceMACA0N5ebNm2YpwxReeOEFrl27xieffKJ2KEJYHUmkhODh5G2bN28G/ruPR5hHnz59cHR0pHTp0iiKonY4QggVJSYm8scffwDWlUgpisKff/4JmG7Evse1bt0aHx8f0tLSWLRokVnKMAVbW1v5cVGIPEgiJQSwd+9eEhMT8fDwoE2bNmqHU6zVr1+fhIQEVq9eLY2zECWcdtjz+vXrU716dbXD0Tl37hy3b9/GycmJhg0bmqUMjUbD2LFjAfj6669JT083SzmmoigKN27cUDsMIayKJFJC8F83s169emFra6tyNMWbRqORvvZCCMB6u/Vpr0Y1bdoUe3t7s5XTr18/PD09uX79OuvWrTNbOYV16NAhKlasSMeOHdUORQirIomUEDzsqz579myGDRumdiglyoULF6z+V1ghhHkoisKOHTsA60ukDh06BECLFi3MWo6DgwPDhw8H4KuvvjJrWYVRq1Ytbt68SUxMDNeuXVM7HCGshiRSQgA1a9bknXfeoV27dmqHUmIEBARQs2ZNmZtEiBLqr7/+4tq1azg6OlrdZ6/2ipQl5v4aPnw4dnZ27N27l2PHjpm9PGOULVuWJk2aABAREaFyNEJYD0mkhBCqePLJJwEZvU+Ikko7L1Hbtm1xcnJSOZr/ZGRkcPToUcD8V6Tg4bQQ2qHQv/76a7OXZ6zOnTsDsHv3bpUjEcJ6SCIlSrz33nuPn376ibt376odSomiHR1x06ZNMnqfECWQNpHSTvhqLezs7IiNjWXDhg3UqlXLImWOHj0aeDgU+u3bty1SpqEkkRIiJ0mkRIn2zz//MHv2bIYOHcq9e/fUDqdE8fPzo1SpUly6dIkTJ06oHY4QwoKysrJ0X8itLZECqFSpEr1798bGxjJfk9q1a0ejRo24f/8+P/74o0XKNFT79u2xsbHh3Llz/PPPP2qHI4RVkERKlGibNm0CHs7nUaFCBZWjKVmcnZ3x9/cHYOPGjSpHI4SwpOPHj5OQkICLiws+S8paTAAAIABJREFUPj5qh6M6jUbDmDFjAPjmm2/IzMxUOaKcypQpQ/PmzQG5KiWEliRSokTTfoHv3bu3ypGUTNrXXRIpIUoWbbe+Dh06mHV4cWOMGjWKKVOmWHzOpJdffhl3d3diY2PZvn27RcvW19ChQ3n//fdp3Lix2qEIYRUkkRIl1p07d3SNuSRS6nj22WfRaDQcOnRIhtQVogSx1vujUlJS+Pbbb5k6darFrwo5OzszdOhQABYuXGjRsvU1cuRIZs6cSaNGjdQORQirIImUKLHCwsJ48OABtWrVol69emqHUyJ5enoyadIkVq9ejbu7u9rhCCEsID09XTeEtrUlUkeOHCErK4vKlSvj5eVl8fJHjBgBwNatW7lw4YLFyxdCGEYSKVFiabuT9enTB41Go3I0JdeUKVN44YUXcHZ2VjsUIYQFHD58mLt371KuXDmr6yJmqYl481KnTh38/f1RFIXvvvtOlRgKcufOHbZt26Z7rYQoySSREiXWv//+i0ajkW59QghhQTt37gQeDqdtqVHx9GXJiXjz8uabbwKwePFi0tLSVIsjL5999hk9evRgwYIFaocihOqs6xNMCAvatGkT169fp02bNmqHUuKdOnWKjz/+mD179qgdihDCzKz1/ihQ/4oUPLx3tEqVKty6dYtff/1VtTjy8uh8UjIHoCjpJJESJZqnpyd2dnZqh1Hi/fDDD0yePJmQkBC1QxFCmFFqaiq///47YH2J1K1bt4iNjQVQdUh2Ozs7hg8fDjwcCt3atGnTBnt7e/755x/Onz+vdjhCqEoSKVEiJSUlqR2CeIS2e+WWLVuscv4UIYRpHDp0iLS0NDw9Palbt67a4WRz/vx5XFxcqFOnjuqD37z22mvY2dnxxx9/EB0drWosj3N2dsbX1xeQ+aSEkERKlDgxMTE88cQTdOvWjaysLLXDEUC7du1wd3fn1q1bHDx4UO1whBBmsnfvXgDat29vdYP8tGrVisTERKvoYlyxYkWef/55wDqHQn+0e58QJZkkUqLE2bhxI5mZmSiKYnU3OpdU9vb2dO/eHZDJeYUozvbt2wc8/PHEGtna2lKpUiW1wwAeztkEsHTpUpKTk1WOJjttt0y5T0qUdPItUpQ4mzZtAqBXr14qRyIepX0/tO+PEKJ4yczM1N0f1b59e5WjsX4dOnSgfv36pKSkEBoaqnY42fj6+uLk5ERcXBwxMTFqhyOEaiSREiVKQkKCriGXRMq6dOvWDTs7O06fPi03MAtRDJ04cYLk5GRcXV1p1KiR2uFkc/XqVerWrcuQIUOs5gqLRqPRTdC7cOFCq4kLwNHRkWXLlnH69Gmru9dNCEsqVCKVnp7OlStXiImJ4d9//zVVTEKYzdatW8nKyqJRo0ZUq1ZN7XDEI8qWLUv79u0pU6YMZ8+eVTscUYRJ22SdtN36WrdubXWjpUZFRfHXX39x5MgRq7p3a9CgQTg7O3Py5Endj4DW4rnnnqN+/fpW9XoJYWkGJ1J3797lu+++o1OnTpQpU4bq1avj7e1N+fLlqVatGq+//rrMdi2slrbbmEzCa51++eUXbt68Sc+ePdUORRQx5mybZsyYQYsWLXB1daVChQoEBgbq1Z1pzZo1eHt74+joiLe3N+vWrTOq/OLi0YEmrI01zB+VG3d3dwYMGABY56ATQpR0BiVSc+fOpXr16nz//fd06dKFtWvXEh0dTUxMDPv372fy5MlkZGTg7+9Pt27d+Pvvvw0KJjIykl69euHl5YVGo2H9+vX5rr9nzx40Gk2OP/k1W+TmwYMHbN++HZBufdaqcuXK2Nvbqx2GKGLM3TZFREQwatQoDhw4QHh4OBkZGQQEBJCSkpLnNvv37+ell14iKCiIY8eOERQURL9+/UrsqJSKokgiZSRt975ff/2VmzdvqhxNdr/88gsDBgzg9OnTaocihCoMurb+xx9/sHv3bho2bJjr8y1btmTYsGF8++23LF68mIiICGrXrq33/lNSUmjcuDFDhw7VDfupj5iYGNzc3HSPy5cvr/e2ouTIzMzk888/JyIiQtXJFkXBFEXh3r17lC5dWu1QRBFg7rZJ+wOM1pIlS6hQoQKHDx+mQ4cOuW4zb948/P39CQ4OBiA4OJiIiAjmzZvH8uXL9S67uIiNjeX69evY29vTsmVLtcPJRlEUoqKiAHUn4s2Lj48PPj4+REVFsWTJEt5//321Q9JZunQpO3bswNfXF29vb7XDEcLiDEqkVq9erdd6jo6OvPnmmwYH0717d90QyIaoUKGC6pPnCetXqlQphg8frpsxvihKS0sjJSWF+/fvc///2LvzuKiq94Hjn2EHFQVNFhHEfUtBMMGVXECshEy/agu5p5lpZuWWafZNU8slMzUX3INUcldQQzT3BVcyBRQXUBEUUJZhmN8f/Ga+GS4wzMy9wHm/XryKce49z4Fh7jz3nPOc7OwnNq81MTHB2toaa2trKlWqhJWVlYSR6m779u2MHj2aNm3asH79eqnDEcoAQ1+b/k2zobe9vf0zn3PkyBE++eSTJx4LCAhg3rx5T31+bm4uubm52u815a6VSiVKpbLEMWqO0eVYQ9DszeTl5YWZmZnB4ypJ/xMSEkhLS8PCwoImTZrI5mf2T8OGDePkyZMsWbKE0aNHv3DrDmP9/jt27MiePXvYt2+fXv629EVur39jE/0vXf9LcpzOqz0XL17ML7/8QkZGBnXr1qVXr14MGjRIkmk5np6e5OTk0LRpUyZPnqzdKO5pyvvFytgqev9BPz8DtVrNvXv3uHr1KlevXuXatWvcvn1b+5WWlkZaWhqPHz8u9jmtra2xt7fHzs4OJycnatWqhbOzM3Xq1KF+/frUq1cPR0fHUi8U1vdrwNbWVvvB5vHjx7Kf6lfR/waMecEqDkNfm9RqNWPHjqV9+/Y0b978mc9LSUnBwcHhicccHBxISUl56vNnzJjBtGnTijweGRmJjY2NzvFGRUXpfKw+/frrrwA4OTmxc+dOo7VbnP5rimC4ubmxd+9eQ4ekE1tbW2xsbEhISGDGjBl4enoW6zhD//41f1f79+9n27ZtmJqaGrS9kpLL618qov+69b8kn7UUah3qaW7dupXg4GB8fX1xdXXlxo0bHD16lNatW7Nt2zZq1KhR0lMWDUyhICIiguDg4Gc+5/Lly8TExODl5UVubi5r1qxh8eLFREdHP3O6xdSpU596sVq/fn2pLlaCvCUnJ3PmzBlat24t+dRPlUpFUlISV69eJTExkevXr3P9+nWysrKKfQ4TExMsLCyeuGipVCqUSuUTo1QvYmNjg5ubG25ubtoEq06dOpJW1FKpVAwcOJCMjAymT5/+zOlaQvnw+PFj3n77bR4+fPjEFG1dGOPaNHLkSHbs2MGhQ4dwcXF55vMsLCxYtWqVtlAAFE6DGjx4MDk5OUWe/7SbfLVr1yY1NVWnn4tSqSQqKopu3brJ4mZEs2bNuHLlChEREUYpJlOS/v/222/MmDGDTp06MXfuXIPHpquxY8eycOFCevbsycaNG5/7XGP9/vPz83FwcCAzM5Njx44VO8EzNLm9/o1N9L90/c/IyKBGjRrFui7p9Glp1apVrFq1ivfee0/72PXr1xk2bBjdunXj5MmTRrkr0ahRoyf2L/D19eXGjRvMmTPnmYnUhAkTGDt2rPZ7zcXK39+/XFysjK2s9H/GjBksXbqUmzdvvrCISUm96Gfw+PFjjhw5woEDBzh06BCnT59+6t0OhUJB7dq1tcmMi4sLLi4uODk5UaNGDezs7LCzs6Ny5crP/Vnn5+eTlZVFeno66enppKamkpKSws2bN7l16xaJiYnEx8dz/fp1Hj9+TFxcHHFxcdrjLS0t8fT0pF27dnTq1Il27dpRpUoVnfuvi+DgYFavXk1qaio9evTQyzkNpaz8DRiKPi5Y+mLoa9OoUaPYunUrMTExz02iABwdHYuMPt29e7fIKJWGpaUllpaWRR43Nzcv1euqtMfrw927d7UFPjp27GjUeIrT/7fffpu3334btVot61LeI0aMYOHChezYsYM7d+688DUIhv/9m5ub06lTJ7Zv305MTIzs1r/J4fUvJdF/3fpfkmN0SqQePHjwxIUKCofEt2/fTsuWLVm/fn2RfzcWHx+f5+4AXp4vVlKSe/81U0mCg4MNFqfmZ6BWqzl//jy7du1i165dHD58uMj0JVtbW7y9vWnVqhUtWrSgRYsWNGrUSC/rmszNzbG2tn7hyFteXh5///0358+f59y5c5w+fZoTJ06Qnp7O0aNHOXr0KN9//z2mpqa88sor2jWMrVq1eur8fH2+BoKCgli9ejXbt29n7ty5sv5woyH3vwFDM8YF60UMdW1Sq9WMGjWKiIgIoqOjcXd3f+Exvr6+REVFPbFOKjIykrZt25a4/bJOs/9R8+bNn7uuTGpyf59p2rQpHTt2JCYmhuXLl/PVV19JHRIAnTt3Zvv27ezfv59x48ZJHY4gGJVOiZSdnd1THzc3N2f69OmEhoZKlkidOXMGJycnSdoW5CklJUVbcvj11183SBsqlYqYmBi2bt1KREQEN27ceOLfa9eujZ+fH506dcLX15fGjRu/cLGwoVlYWNC8eXOaN2+unX6kVqu5evWqdgQtOjqahIQEjhw5wpEjR5gyZQqOjo4EBwfTq1cv/Pz8DBKbv78/FhYWxMfH89dff9GkSRODtCOUL4a6No0cOZL169ezZcsWqlSpoh1pqlq1KtbW1kDhxqm1atVixowZAIwePZqOHTvy3XffERQUxJYtW9i7d692PU5FcuTIEQBZJpE5OTmYmpqWmZsgw4cPJyYmhl9++YVJkybJYmPjV199FRMTE3JycmQ/qicI+qbTX+C5c+e4evUq9evXL/Jvr732Gp999plOwWRlZXH16lXt94mJicTGxmJvb4+rqysTJkzg1q1brF69GigsL1unTh2aNWtGXl4ea9euZdOmTWzatEmn9oXyaceOHUDh/iD6TLLVajXHjx9nzZo1rF27VlvJCwoLPXTu3JnAwEACAgKoV69embi4KBQKGjRoQIMGDQgJCQEKp0bt2bOHXbt2sXfvXlJSUli8eDGLFy/Gzs6Ot956C3d3d7p37663OCpXrkznzp3ZvXs327ZtE4mUUCyGujZpNkL9942DlStXMmDAAACSkpKeuDnStm1bfv31VyZPnsyXX35JvXr1CAsLo02bNjrFUJZpEilfX1+JIykqPDycYcOGMWDAABYvXix1OC/Uq1cvXnrpJW7dusX27dufu47cWFq0aEFqauozb2QIQnmmUyKVnJxMo0aNaNq0Kb169SIoKIhWrVoBYGVlpfPeLydPnnyi4p5mLdP7779PaGgoycnJJCUlaf89Ly+PcePGcevWLaytrWnWrBk7duyQ/ZoKwbi2bt0K6G8T3tu3bxMaGsrKlSufSPzt7Ozo2bMnvXr1olu3bto71WWdm5sbw4YNY9iwYeTl5fHHH3+wadMmfv/9d+7du8eyZcsAWLJkCe+//z6DBg2iTp06pW43JCQEd3f3Z653FIR/M9S1qTg1mTTlvf+pd+/e9O7dW6c2y4u8vDztHk1yTKROnDhBbm5umSk2ZWlpyaBBg/juu+/4+eefZZFImZiYiCRKqLB0mltUq1YtFi5cSIsWLViwYAGtW7fGzc2NMWPGsHfvXjIzM3UKxs/PD7VaXeQrNDQUgNDQ0CcuVp9//jlXr14lOzubtLQ0Dh48KJIo4QnZ2dna8pelSaQKCgrYtWsXQUFBuLq6MmnSJK5evYqNjQ39+vVj8uTJ3Lx5k9DQUHr27Flukqh/s7CwICAggKVLl5KcnMzevXt5//33sba2JikpienTp1O3bl0CAgLYvHkz+fn5OrfVv39/Fi1ahI+Pjx57IJRnhro2Cbo7d+4cOTk52NnZlWgTZGPRJHmtW7eWOJLiGzZsGFC45i4+Pl7iaJ70z8qTglAR6JRItW3bloEDB7Ju3Tru3bvHzp07CQwM5LfffsPf37/I+hBBkEpsbCxKpZLatWvTsmXLEh+fkZHB/Pnzady4MT169GDr1q2oVCrat2/PypUruXPnDqtXr8bb27vMzLHXF1NTU7p06cIvv/xCaGgoq1evpkuXLqjVaiIjI3nrrbeoV68e3333Hffv35c6XKECENcm+dFM6/Px8ZF8Xei/KZVKYmNjAfD29pY4muLT3KwCWLp0qcTRFHrw4AHt27enRo0aZGdnSx2OIBiNTu9qmupFAGZmZgQEBLB48WJu3brFgQMHqF27tl6DFARd+fr6kpqayu+//16iNUrJycl88cUX1K5dmzFjxnDlyhVsbW0ZM2YMly5d4uDBgwwYMIDKlSsbMPqyw9LSkn79+rF3717i4+MZP3481atXJykpifHjx+Pq6srHH3/MtWvXSnRelUrFoUOHtOsiBeF5xLVJfuS8PurChQvk5ORQrVq1p66rk7MRI0YAsGLFClmMAlWtWpXExESysrK0v3NBqAh0SqQ8PT2f+abToUMHdu/eXaqgBEGfqlatql0n8SIJCQkMHTqUOnXqMGvWLDIyMmjcuDGLFi3i1q1bzJ07VxQ+eIG6desyY8YMbty4wYoVK/Dw8ODx48f8+OOP1K9fn3ffffeJfaue58yZM3To0IGRI0fK4sOCIG/i2iQ/ck6kTpw4ARSORpWFYkD/9Nprr+Hi4kJqaqosCmwpFAq6dOkCwP79+yWORhCMR+dx9ufNJ27cuLGupxUEvSnOAnGNhIQEBg8eTMOGDVm2bBl5eXm0a9eOrVu3cvHiRUaMGCFGn0rI2tqagQMHcvr0aaKioujatSsqlYp169bRrFkz+vfvz6VLl557jlatWuHs7ExWVhZ//PGHkSIXyjJxbZKPlJQUrl27hkKhkN1GrVA210dpmJmZMXToUOB/VSWl1rlzZwD27dsncSSCYDwlSqTc3d2pW7duib8WLFhgqPgF4ZmmTp3KK6+88ty7dbdv32b48OE0bNiQFStWoFKpCAgI4NChQxw6dIg33nhDdvP6yxqFQkHXrl2Jiori5MmTvPnmm6jVan799VeaN2/Oe++9R2Ji4lOPNTEx0RYJ2bZtmzHDFsoQcW2Sp6NHjwLQrFkzbG1tJY6mKF9fX9588006deokdSg6GTJkCKamphw6dIjz589LHY626vKJEyfIyMiQOBpBMI4SlT/XVM8rKX2UQhaEktqyZQtnz57l8ePHRf7twYMHfPfdd8yfP1+7MDYgIICpU6eKKnEG5OXlxebNm4mNjeXrr78mIiKCtWvXEhYWxogRI5g8eTIvvfTSE8f07NmTJUuWsHXrVhYuXFjmpuAIhieuTfIk52l9AAMHDmTgwIFSh6EzZ2dngoKC2Lx5M0uWLGHhwoWSxuPm5ka9evWIj4/n4MGDvPbaa5LGIwjGUKJEqqzetREqnuvXr3P27FlMTEyeKImfn5/PL7/8wpQpU0hNTQUKK33NnDmTDh06SBVuhePh4cHmzZs5efIkEyZMYO/evSxYsIDQ0FC+/PJLRo0ahaWlJVA4XcTGxoabN29y5syZYq93EyoOcW2SJ82IlFwTqfJgxIgRbN68mdWrVzNz5kzJp6B37tyZ+Ph49u3bJxIpoULQec6SKCMryJlmGlj79u2pXr06UDhv28PDgw8//JDU1FQaN27Mli1bOHTokEiiJOLt7U1UVBRRUVF4enqSkZHBZ599RrNmzdiyZQtqtRorKyttqV/N5sqC8Czi2iQPSqVSW8xBjqP88fHxXLt2rURraeWoc+fONGjQgMzMTNavXy91OLz22mu8+eabInkWKgydEyk3NzeqV69O586d+eSTT1i1ahWxsbEcO3aMkJAQfcYoCCW2ZcsWoHBa2K1bt+jbty9du3bl4sWL2Nvb8+OPP3Lu3Dl69uwpporJQNeuXTlx4gQrVqzA0dGR+Ph4goODef3110lISKBnz54AHD58WOJIBbkT1yZ5OHfuHNnZ2VSrVo1GjRpJHU4R06ZNw93dnZkzZ0odSqmYmJgwfPhwABYtWiR5YqiZatinTx9J4xAEYynR1L5/SkhIIDY2ltjYWM6cOcPGjRu5ffs2gCwXlQoVx8OHD4mOjgbQjjxlZWVhYmLCyJEjmTZtGnZ2dtIGKRRhamrKwIED6d27N99++y3ff/89O3fuZN++fXzyySfExMTQrl07qcMUZE5cm+RBM61Pjhvxwv9Kn+uyUbvcDBgwgEmTJnH27FmOHj0qRoMEwYh0fnerU6cOwcHBTJ06lS1btnDjxg0OHTpEvXr1WLFihT5jFIQS2b17N/n5+VhaWjJz5kyysrLw9fXl1KlTLFiwQCRRMlelShVmzJjBuXPn6NKlC7m5ucycOZMPPvhA++FMEJ5FXJvk4dixY4A8p/VlZGRw+fJloHB6cVlnb29Pv379gMJRKamp1Wri4+M5cOCA1KEIgsHp9TaRr68v8+fP55tvvtHnaQWh2HJycti2bRsKhYLc3FyqVavGL7/8wqFDh/Dw8JA6PKEEGjduTFRUFBs2bKBmzZrExcXRvn17Ro4cSWZmptThCWWIuDYZ3/HjxwFo06aNxJEUdfr0adRqNa6urtSsWVPqcPTiww8/BCA8PFxbSEkqf/zxB/Xr1yckJETyqYaCYGg6J1JKpfKpjzdo0ICLFy/qHJAg6OrEiRO0atWKdevWoVar6dOnD3FxcQwZMkSWU0uEF1MoFPTr14+4uDjee+891Go1ixYt4uWXXxZ3O4WnEtcm6T148EA74iPHzW410/rkGJuuWrdujbe3N3l5eZKPvLZp0wZzc3OSkpKIj4+XNBZBMDSdP11WqlQJDw8PBg4cyPz584mJieHq1av8+OOP+Pv76zNGQXiuvLw8vvzyS3x9fYmLi8PBwYGIiAjCw8NxdHSUOjxBD+zt7Vm9ejW1atUCCsvb+/n5MWbMmKfuEyZUXOLaJL2TJ08CULduXW3VVDkpj4kUFJZCB1i8eDEFBQWSxVGpUiXatm0LwN69eyWLQxCMQedEav/+/QwdOhRzc3PWrVtHYGAgDRs25McffyQvL49JkyYRFhZGXFycPuMVhCdcvnwZX19fvvnmG1QqFX5+fkRERBAUFCR1aIIBaNYB1K9fH4D58+fj5eXFmTNnpAxLkBFxbZKeZlrfK6+8InEkT6dJpMrD+qh/6tevH9WqVSMxMZHIyEhJY+natSsgEimh/NM5kdKsVVi6dCnHjx8nMzOTixcvsm7dOlq2bMmpU6cYM2YMzZs312e8ggAULmZdunQpnp6enD59Gnt7e8LCwkhMTKRt27bs2bNH6hAFAwgODgYKqzFu27YNJycn/vrrL9q0acOcOXMkvQsryIO4NklPzomUWq3mu+++Y9y4ceUukbKxsWHgwIFA4aiUlDSJ1P79+1GpVJLGIgiGpLeFIyYmJjRp0oT+/fvz3XffsXv3bpKTk7VlZwVBX9LT03nrrbf44IMPyM7OpkuXLpw/f56GDRty/fp1rK2t6dixo9RhCgbg6+vLSy+9xIMHD7CxseHcuXMEBQWhVCr57LPPCAgI4M6dO1KHKciIuDYZl1qt1lbsk2MipVAo+M9//sPs2bOpWrWq1OHonWZ6365du0hJSZEsDm9vb2xtbUlPTxczBoRyrUSJVFJSUolOfuvWLRwcHEp0jCA8z/Hjx2nVqhURERGYm5szZ84cIiMjcXZ21m7C6+/vj42NjcSRCoZgamrK66+/DsDvv/9OjRo1iIiIYOnSpdjY2LB37148PDzYv3+/xJEKxiSuTfJx69YtUlJSMDU1xdPTU+pwKpwGDRoQEBCAWq1m9+7dksVhZmbGq6++CojpfUL5VqJEqnXr1gwdOlQ7bP80Dx8+5JdffqF58+Zs3ry51AEKAhTe5Zw3bx7t27fn2rVr1K1bl8OHD/Ppp59qK/JpEimxPqp800zv27JlC2q1GoVCwdChQzlx4gTNmjUjJSWFrl27Mm3aNDGlpIIQ1yb50PwOXn75ZVne0AoLC2P//v3lukjNyJEjAdi3bx/Z2dmSxfHJJ5/w+++/a0fJBKE8MivJk+Pi4vj222/p3r075ubmeHt74+zsjJWVFenp6Vy6dImLFy/i7e3N7NmzCQwMNFTcQgWSlZXF4MGDCQ8PB6B3794sW7bsiWkZSUlJnDlzBhMTE+2IhVA+de3aFQ8PD7p160ZOTg7W1tYANG3alOPHjzNq1ChWrFjB1KlTOXr0KOvWrcPe3l7iqAVDEtcm+ZD7+qiRI0dy//59jh8/Xu6q9mn06NGDOnXqcO3aNcLDwxkyZIgkcXTq1EmSdgXBmEo0ImVvb8+cOXO4ffs2P//8Mw0bNiQ1NZUrV64A8M4773Dq1Cn+/PNPcaES9OLy5cu0adOG8PBwzMzMWLBgAeHh4UXmtmtGo9q1a8dLL70kRaiCkdjY2HDmzBlmzZqlTaL++W/Lly9n1apVWFlZsXv3bry9vcUc/XJOXJvkQ86JVGJiIvfv38fCwoIWLVpIHY7BmJqaMmzYMAAWLVokNsUVBAMq0YiUhpWVFb169aJXr17cunULQLu/iyDoy/bt23n77bfJzMzEycmJjRs3avem+DfNXHAxrU8ACAkJoUWLFrz11lskJCTQtm1bli1bxjvvvCN1aIIBiWuTtFQqlXYPKTmO9miSvJYtW2JpaSlxNIY1YMAAvvrqK86cOcOxY8fw8fGRJI7Lly+zdu1aatasyahRoySJQRAMSeeqfX/++Sfu7u64urri6uqKg4MDX3zxBRkZGfqMT6iA1Go1M2fOpGfPnmRmZtKhQwdOnz79zCQKYNOmTWzfvl27z5BQ/uXm5j63MpWHhwcnT56kR48e5OTk8O677zJ+/HixbqqcE9cm6Vy+fJnMzExsbGxo2rSp1OEUIefRMn2rUaMG7du3B2DhwoWSxXHu3Dm++eYbycuxC4Kh6JxIffDBBzSS0nbCAAAgAElEQVRr1owTJ05w7tw5Zs+ezb59+/Dy8iI1NVWfMQoVSHZ2Nu+88w4TJkxArVYzYsQI9u3bh6Oj43OPs7Ky4rXXXhN3nyuQoKAgevTooV079zR2dnZs3bqV8ePHA/Ddd98RFBTEw4cPjRWmYGTi2iQdTaLi5eWFmZlOE14MSrMRb0VIpABee+01AMLDwyUrhd6lSxdMTEy4dOkSN2/elCQGQTAknROp+Ph45s6dS6tWrWjWrBkhISGcOHECDw8PPv74Y33GKFQQKSkp+Pn5sWHDBszMzPj5559ZtGgR5ubmUocmyFBAQABQWAb9eUxNTZkxYwbr16/HysqKHTt20K5dO65du2aEKAVjM8S1KSYmhjfeeANnZ2cUCsULX3PR0dEoFIoiX3/99ZdO7ZcVch7xyc/P59SpU4A84zOE+vXr4+vri1KpZMmSJZLEYG9vr53mGRkZKUkMgmBIOidSTZo0KXKHQ6FQ8PXXX7Nt27ZSByZULBcuXMDHx4fjx49jb2/P3r17GT58+AuPy87OxsvLiwkTJkha5lUwPk0Z9JiYmGKNNPTv35+DBw/i7OzMxYsXadOmjXbjUKH8MMS16dGjR7Rs2bLEU6QuX75McnKy9qtBgwY6tV9WaBIpOa6PunjxItnZ2dja2tKwYUOpwzGaDz/8EIDFixeTl5cnSQyam14ikRLKI53H3gcMGMCwYcPYs2cPrq6u2scfPnxYLncLFwwnKiqK3r17k5GRQYMGDdixY0exP3BERUVx+vRp7t27x7fffmvgSAU5cXd3p2XLlpw9e5Zt27YxcODAFx7j7e3NsWPHeP311zl79ix+fn6sXbuWt956ywgRC8ZgiGtTYGCgTtX+atasSbVq1Yr13NzcXHJzc7Xfa9Z0KZVKlEplidvWHKPLsbrIzc3l3LlzAHh6ehqt3Wf5d/8bNGjAsWPHuHHjBiqVqtyvldT0WzOSevv2bX799Vf69+9v9Fg6d+7M119/TVRUFDk5OZiamhq8TWO//uVG9L90/S/JcTonUmPGjAGgYcOG9OrVCw8PD1QqFWvXrmX27Nm6nlaoYFavXs3gwYPJz8+nY8eObN68merVqxf7+IiICKBwdEKhUBgqTEGmevXqxdmzZ4mIiChWIgXg4uLCoUOH6NevHzt27KBPnz7MmzdPTEkuJ+R0bfL09CQnJ4emTZsyefJkXn311Wc+d8aMGUybNq3I45GRkaXa2DYqKkrnY0vi6tWrKJVKqlSpwqVLl4iLizNKuy/y7/6bmZmxc+dOiaIxvujoaDp16sSGDRv49ttvJbnRrVKpsLGxIS0tjYULFxp1ZNZYr3+5Ev3Xrf8l2bBb50QqJSWFM2fOcPbsWWJjYwkNDeXKlSsoFApmzpzJjh07aNGiBS1atKB79+66NiOUU5rKfBMnTgTg7bffZsWKFSUqSZufn8/WrVuBwg/UQsXz5ptv8tVXXxEZGUlWVhaVK1cu1nGVK1dmy5YtfPzxxyxatIjRo0dz8+ZNZs6ciYmJzjOeBRmQw7XJycmJpUuX4uXlRW5uLmvWrKFLly5ER0fTsWPHpx4zYcIExo4dq/0+IyOD2rVr4+/vj62tbYljUCqVREVF0a1bN6OsM126dCkAPj4+2iIHUjJ2/+Xmn/338vJi06ZNXL58mZo1a+Lt7W30eLp168bBgwepXbs2PXr0MHh74vcv+l+a/pekyqvOiVTNmjUJCAjQzn0FyMnJ4fz588TGxnL27Fm2bt3Kt99+y4MHD3RtRiiHVCoVo0eP5qeffgLg888/Z8aMGSX+ABsTE0NaWhrVq1fXlnkVKpbmzZtTr1494uPj+eOPP3jjjTeKfaypqSkLFy6kdu3aTJgwgdmzZ3Pr1i1WrlyJhYWFAaMWDEkO16ZGjRrRqFEj7fe+vr7cuHGDOXPmPDORsrS0fOqNJHNz81J9ECrt8cWl2fS6devWsvrgZm5uTm5uLqNHj8bHx4fBgwdXqJsl5ubmuLi40LdvX9asWcOiRYtYs2aN0eNYvnw51apVM8q0vn8y1utfrkT/det/SY7Ra31SKysrWrduLcuFpoI85OXlERISQlhYGAqFolRTqjTT+oKCgmRZalcwPIVCwZIlS3BycqJJkyY6HT9+/HicnZ0ZPHgw69evJz09nY0bN5ZqOpUgL3K4Nvn4+LB27VrJ2jc0zUa8Uox2vMipU6dYsWIFkZGRDB06VOpwJPHxxx+zZs0awsLCmDVrFk5OTkZtvyRT9gWhLKk4t2UEyT169IigoCDCwsIwNzdnw4YNOidRarVaW4L4zTff1GeYQhnTpUsXmjZtWqo1ciEhIWzbtg1ra2t27dqFv7+/GEkX9OrMmTNG//BqLI8fP+bChQuAPBOpo0ePAoXJbEXl7e1Nu3btUCqV/Pzzz5LFoVarefTokWTtC4K+iURKMIoHDx7g7+/P7t27sbGxYdu2bfTt21fn82VlZREQEIC7uztdu3bVY6RCRdW9e3eioqKoVq0af/75J506deLOnTtShyXIQFZWFrGxscTGxgKQmJhIbGwsSUlJQOH6ppCQEO3z582bx++//86VK1e4ePEiEyZMYNOmTXz00UeSxG9oZ8+eRaVS4eDggIuLi9ThFCESqUKaQiw///yzJNuF/Pbbb7i5uTF69Gijty0IhiISKcHgUlNT6dy5M4cPH6ZatWpERUU9sX5BF1WqVGHZsmXEx8djZWWlp0iFsurkyZP069ePTz/9tFTnadeuHQcOHMDR0ZFz587RsWNHbt68qacohbLq5MmTeHp64unpCcDYsWPx9PRkypQpACQnJ2uTKiicwjxu3DhatGhBhw4dOHToEDt27Ci3RXH+Oa1PbtVT1Wq1SKT+X3BwMG5ubqSmprJ+/Xqjt1+tWjVu3LjBzp07UavVRm9fEAxBJFKCQaWkpPDqq69y5swZXnrpJQ4cOEDbtm31dn65XbQFaaSnpxMWFsbatWtLvT9MixYtOHjwIK6urvz999907NiRa9eu6SdQoUzy8/NDrVYX+QoNDQUgNDSU6Oho7fM///xzrl69SnZ2NmlpaRw8eNAolcqkIuf1UUlJSaSkpGBmZkarVq2kDkdSZmZmjBo1CoC5c+caPZnp2LEjNjY2JCcnc/bsWaO2LQiGIhIpwWBu3rxJp06duHDhAs7OzsTExNCiRYtSn/fGjRscO3ZM3NEStPz8/LCzs+Pu3bscOnSo1OerX78+MTEx1KtXj8TERDp06MCVK1f0EKkglD9yTqSOHTsGgIeHB9bW1hJHI70hQ4ZQuXJlLl68yL59+4zatqWlpXYqfkXay0so32SVSMXExGh34VYoFNpiAs9z4MABvLy8sLKyom7duixevNgIkQovcvPmTfz8/Pj7779xc3MjJiaGxo0b6+Xcy5cvx8fHh0GDBunlfELZZ25uTnBwMAAbN27Uyzk1r9smTZo88XoWBOF/srKytJvvyjGRunr1KiCm9WlUrVpVu3n53Llzjd6+ZmRWJFJCeSGrROrRo0e0bNmShQsXFuv5iYmJ9OjRgw4dOnDmzBkmTpzIxx9/zKZNmwwcqfA8N27cwM/Pj/j4eNzd3bV39vVF80G5c+fOejunUPb17t0bgE2bNlFQUKCXczo7OxMdHU3z5s25ffu2SKYE4V9Onz6NWq3GxcUFR0dHqcMpYuLEidy/f1+7+btQWApdoVCwc+dObRJsLIGBgQAcOXKEtLQ0o7YtCIYgq0QqMDCQb775ptgLchcvXoyrqyvz5s2jSZMmDBkyhEGDBjFnzhwDRyo8y40bN3j11VeJj4+nbt26REdH4+rqqrfzx8XFcfHiRczNzUu0+apQ/nXp0oWqVauSnJzMkSNH9HbemjVrsn//fpo3b05ycjJ+fn5cvnxZb+cXhLJMztP6NOzt7ctt6Xld1K9fn6CgIMD4o1Kurq40b96cgoICIiMjjdq2IBhCmd7F9MiRI/j7+z/xWEBAAMuXL0epVD51Z+Lc3Fxyc3O132dkZACgVCpRKpUljkFzjC7Hlgf/7P/t27fp2rWrNomKjIzEyclJrz+b8PBwALp27UqlSpVk8XMXrwF59N/ExITXX3+ddevWER4eziuvvKK3c1erVo09e/bg7+/PxYsX6dy5M/v27aNevXqy6b9UStv/ivpzKy/KQiIlFDVu3Dh+//13Vq9ezfTp03FwcDBa24MGDeL69es6baIuCHJTphOplJSUIn/8Dg4O5Ofnk5qa+tQ7UDNmzGDatGlFHo+MjMTGxkbnWKKionQ+tjz47bffmDx5Mjdv3sTBwYEJEyZw4cIF7SaN+qKpklW/fn3ZzbGu6K8BOfTfzc2NunXrolQqDfL6+Pzzz/nyyy9JSkqiY8eO/Pe//6VmzZqAPPovJV37//jxYz1HIhiTnBOpyMhI5s6dy6BBg57Y50uAtm3b4uPjw9GjR1m4cCHTp083WtuffPKJ0doSBEMr04kUFC1/rank9qyy2BMmTGDs2LHa7zMyMqhduzb+/v7Y2tqWuH2lUklUVBTdunV76ghYeadUKtm0aROzZ8/m5s2buLi4sH//furUqaP3tq5evcq1a9cwMzNj0qRJ2Nvb670NXYjXgHz6HxgYyNSpUw3aRufOnencuTNXrlxh5syZ7N69m0uXLsmi/1Io7e9fMytAKHsePHigrWbp5eUlcTRFnT9/noMHD4pN259CoVAwbtw4evfuzaJFixg/fjyVKlWSOixBKHPKdCLl6OhISkrKE4/dvXsXMzMzqlev/tRjLC0tsbS0LPK4ubl5qT4Elfb4surhw4dMnTqVhIQEHB0d2b9/Pw0aNDBIW7t27QIKP8gacxpCcVXU14BGRem/i4sLf/zxBx07diQhIYHXXnuNSZMmVZj+P4uu/a/IP7Oy7vTp0wDUqVOHGjVqSBxNUZrCMKJi39MFBwdTt25dEhISCA0NZeTIkUZrW6lUcvDgQXJycsr1HmtC+SerYhMl5evrW2Q6SWRkJN7e3uLibASPHz/mzTffJCEhgRo1arBv3z6DJVEAo0eP5sCBA0yZMsVgbQjlQ2ZmJps2bTLYXmO1atVi//79uLq6cuXKFaZNm8aDBw8M0pYgyNWpU6cAeU7ru3v3Lnfu3EGhUNC6dWupw5ElU1NT7QydH374odSbmZdEeHg4Xbp0Yfz48UZrUxAMQVaJVFZWFrGxscTGxgKF5c1jY2NJSkoCCqfl/XOe8/Dhw7l+/Tpjx44lLi6OFStWsHz5csaNGydJ/BVJXl4evXv35tChQ9jY2LBjxw6aNm1q0DZNTU3p2LEj7dq1M2g7QtmmVCqpU6cOvXv31n7QMwQ3NzeioqKoWbMmiYmJBAcHi/U+QoWiWR8lx2l9msqdTZo0oWrVqhJHI18DBgzA3t6ehIQENm/ebLR2AwMDMTU15fz58yQmJhqtXUHQN1klUidPnsTT0xNPT08Axo4di6enp3YEIjk5WZtUAbi7u7Nz506io6Px8PBg+vTpLFiwgLfeekuS+CsKlUpFSEgIu3btwtramkmTJml/Z4IgNXNzc7p16wZAWFiYQdtq2LAh27dvx8bGhsOHD9OrVy/y8vIM2qYgyIWcR6Q0iVTbtm0ljkTeKlWqxEcffQTAzJkzDTaK/2/29va0b98egK1btxqlTUEwBFklUn5+fqjV6iJfmkptoaGhREdHP3FMp06dOH36NLm5uSQmJjJ8+HDjB16BqNVqRo8eTVhYGGZmZoSFhdGsWTODt9u9e3c++ugjbt++bfC2hLKvb9++QOH0EX1tzvssHh4efPnll1hbW7Nnzx4GDhxo8DYFQWrp6enEx8cD0KpVK4mjKerw4cNA4RIA4flGjRqFtbU1p0+fZu/evUZrV7OXlUikhLJMVomUIH/ffvstP/30EwqFgjVr1tC9e3eDt3n58mX27NnDkiVLnlooRBD+LTAwkCpVqpCUlMTRo0cN3l6TJk0IDw/HzMyM9evX8+mnnxrtzq4gSEEzGlW3bl3ZVFDVUKvVODo6UrlyZTEiVQw1atRg6NChQOGolLH07NkTgAMHDpCenm60dgVBn0QiJRTbsmXLmDx5MgDz58+nX79+RmlXMz2rW7duz6zGKAj/ZGVlpb3baejpfRoBAQGsXLkSgHnz5jF79myjtCsIUtAkUnJcH6VQKAgPD2f16tXUrVtX6nDKhE8//RQzMzP279/P8ePHjdJmvXr1aNasGSqVSluVVxDKGpFICcWybds2PvjgAwAmTpzIqFGjjNKuWq3m119/BTBa4iaUD5rXS3h4uNGqUb377rt8//33AHzxxResXr3aKO0KgrHJeSNeDRMTk2fuKSk8ydXVlXfeeQeQZlQqJibGaG0Kgj6JREp4oePHj9O3b18KCgoYNGgQ33zzjdHavnDhAnFxcVhYWGhHGAShOLp164adnR0pKSmcOXPGaO2OHTuWzz77DIDBgwcbdc2BIBiLnEek0tLSpA6hTPr8888BiIiIIC4uzihtfvDBB5w6dYqff/7ZKO0Jgr6JREp4roSEBF5//XWys7Pp3r07S5YsMeodPs20rB49eogStkKJWFhYsGHDBq5fv270u+YzZ86kf//+5Ofn06tXL86dO2fU9gXBkO7fv68tWS23QhMFBQXUr1+fevXqkZKSInU4ZUrTpk21NyyNNSrl5uZGq1atxMihUGaJREp4pvv37xMYGMi9e/fw9PTULqY3ln9O69NUYROEkggICMDV1dXo7ZqYmLBy5Uo6depEZmYmPXr04ObNm0aPQxAM4fTp0wDUr18fOzs7iaN50l9//UV6ejqpqanUqFFD6nDKnEmTJgGwbt06EhISjNq2KNAjlEUikRKeKjc3l+DgYP7++29cXV3ZsWMHVapUMXoMb775Jo0bN+b11183attC+WPsi7SlpSURERE0adKEW7du8dprr5GZmWnUGATBEOS8Ee+ff/4JQOvWrY1646+8aN26NQEBAahUKmbMmGGUNu/du8fAgQNp0aKF2DpCKHNEIiUUoVarGTJkCIcOHcLW1padO3fi5ORk9DisrKyYPXs2cXFxVK5c2ejtC+XD8ePHCQwMZPDgwUZv287Ojl27duHg4MC5c+fo37+/0QpfCIKhyLnQhCaREmXPdTdlyhQAVq1axfXr1w3enq2tLREREVy4cMEo21UIgj6JREoo4ptvvmHt2rWYmpqyceNGo2y4KwiGolKp2L17N7/99huPHj0yevtubm5s2bIFKysrduzYwaeffmr0GARBn+RcaEIkUqXXtm1bOnfujFKp5LvvvjN4e5aWltrqfRs3bjR4e4KgTyKREp7w66+/au9GLVq0iG7dukkSx9mzZ9mzZw/5+fmStC+UHz4+PtStW5esrCy2bt0qSQxt2rTRlkKfP38+P/30kyRxCEJppaamakcp5FZo4s6dO1y9ehWFQoGPj4/U4ZRpX375JQDLly/n1q1bBm/vrbfeAgoTKbFWSihLRCIlaB0/fpwBAwYAhZvzDRs2TLJYvv/+e7p378748eMli0EoHxQKhXZ/lLVr10oWR58+ffj2228BGD16tCiLLpRJmtGoBg0ayK6S6uHDhwFo1qwZ1apVkziasq1Tp0506NCBvLw8Zs2aZfD2/P39qVy5Mjdu3ODEiRMGb08Q9EUkUgIAt27dIjg4mNzcXN544w2jDOc/y6NHj4iIiACgV69eksUhlB+aRGrPnj3cu3dPsjjGjx9PSEgIKpWKPn36cOXKFcliEQRdaNZHtW7dWuJIiqpbty6jRo3i7bffljqUMk+hUGhnpyxZssTgVUetra21RaXE9D6hLBGJlEB2djbBwcEkJyfTrFkz1q1bh6mpqWTxbN26laysLNzd3fH19ZUsDqH8aNSoEd7e3qhUKu3eZFJQKBQsWbIEHx8fHjx4wBtvvMGDBw8ki0conpiYGN544w2cnZ1RKBT8/vvvLzzmwIEDeHl5YWVlRd26dVm8eLERIjU8zWiBHAtNtGzZkgULFjBhwgSpQykXunTpQocOHcjNzdWOphtS7969ATG9TyhbRCJVwanVagYPHszJkyepXr06W7duNXqZ839bt24dUDiKIDbpE/Tl3XffBaSd3geF1SgjIiJwcXHh8uXLopJfGfDo0SNatmzJwoULi/X8xMREevToQYcOHThz5gwTJ07k448/ZtOmTQaO1PDkXLFP0C+FQsH06dMBWLZsmcEr+AUGBuLl5cW7775Lbm6uQdsSBH0RiVQFN3v2bDZs2ICZmRkbN26kbt26ksZz7949du/eDfxvOpYg6EO/fv3o2LEjAwcOlPxup6OjI1u2bMHa2prdu3czceJESeMRni8wMJBvvvmm2FONFy9ejKurK/PmzaNJkyYMGTKEQYMGMWfOHANHaljJycncunULhUKBp6en1OE84a+//iImJoacnBypQylXOnXqRJcuXVAqldqkylBsbGw4efIkX3/9NVZWVgZtSxD0RexWV4FFRkZqp0DMnz8fPz8/aQMCwsLCUKlUeHl50bhxY6nDEcoRBwcHDhw4IHUYWq1atWLlypX069ePWbNm0apVK/r27St1WIIeHDlyBH9//yceCwgIYPny5SiVSszNzYsck5ub+8Rd+IyMDACUSiVKpbLEMWiO0eXYZzl27BgAjRs3xtLSUq/nLq3Fixczf/58hg0bxsKFCw3S/7JEn/3/6quv2LdvH6GhoXz66afUr1+/1Oc0NPH7F/3/5391Pb44RCJVQcXHx9OvXz8KCgoYPHgwI0aMkDokoPADCMB7770ncSSCYHh9+/bl9OnTzJo1i0GDBtG4cWNatmwpdVhCKaWkpODg4PDEYw4ODuTn55OamvrUDc5nzJjBtGnTijweGRmJjY2NzrFERUXpfOy//frrr0DhiOrOnTv1dl592LZtGwBVqlR5IjZ99r8s0lf/vby8OHXqFCNGjOCTTz7RyzmfJS8vj1OnTlG7dm1cXFxKdS7x+xf918Xjx4+L/VyRSFVAWVlZBAcHk56eTps2bfjpp59ksxZp7dq1fPLJJ5JPMRTKr/v377N+/Xp8fHxkUXns22+/JTY2lsjISIKDg7XrFYWy7d/vqZrppM96r50wYQJjx47Vfp+RkUHt2rXx9/fH1ta2xO0rlUqioqLo1q3bU0fAdLF06VIAgoKC6NGjh17OqQ8PHjwgMTERgI8//hgnJyeD9L8s0Xf/HR0d8fHxISYmhh9++IGXX35ZD1E+3dChQ1m1ahUfffSRztuwiN+/6H9p+q+ZEVAcIpGqYNRqNUOGDOHChQs4OjqyadMmLC0tpQ5LS6FQiEXMgkFNnDiRpUuXEhISwqpVq6QOB1NTUzZs2EDr1q1JSEjgnXfeYceOHZJWzhRKx9HRkZSUlCceu3v3LmZmZs9Mki0tLZ/6Xmxubl6qD0KlPV5DrVZrC020adNGVh/Ojh49ilqtpmHDhri6uj7xb/rqf1mlr/63adOG3r17s3HjRr766ivtCKAh9OnTh1WrVhEeHs7cuXMxM9P9o6r4/Yv+69L/khwjik1UMAsWLCAsLAwzMzN+++03atWqJXVIQOHdg6ysLKnDECoAzabTGzduJDMzU9pg/p+9vT0RERFYW1uzZ8+ep07xEsoOX1/fIlNKIiMj8fb2LrMfam7evMndu3cxNTWV3fTT6OhoAFms8y3P/vvf/2Jqasr27duJiYkxWDv+/v7UqFGDu3fvsn//foO1Iwj6IBKpCuTgwYOMGzcOgO+//5727dtLHNH/bN++HScnJ8aPHy91KEI55+PjQ6NGjXj8+DHh4eFSh6PVokUL7dSp6dOns337dokjEjSysrKIjY0lNjYWKCxvHhsbS1JSElA4LS8kJET7/OHDh3P9+nXGjh1LXFwcK1asYPny5dr337JIMxrVvHlzrK2tJY7mSSKRMo6GDRsydOhQAL744guDVT81NzfnP//5D/C/7VAEQa5EIlVBJCcn85///If8/Hz69+/PqFGjpA7pCaGhoWRlZVFQUCB1KEI5p1AoGDhwIAArV66UOJonvfvuu4wcOVL7/1evXpU4IgEKkwhPT09tye+xY8fi6enJlClTgML3V01SBeDu7s7OnTuJjo7Gw8OD6dOns2DBAt566y1J4tcHTSIlh3WF//TgwQNtgtupUyeJoyn/pkyZgo2NDUePHi3WxtS6evvttwHYvHkz2dnZBmtHEEpLJFIVQH5+Pv369SMlJYVmzZqxdOlS2RSXALhz5w47duwA0H7AFQRDeu+99zAxMeHPP//k77//ljqcJ/zwww/4+Pjw8OFD+vTpIz5EyICfnx9qtbrIV2hoKFB4I0gzKqLRqVMnTp8+TW5uLomJiQwfPtz4geuRXDfirVKlCseOHWPx4sU4OztLHU655+TkpC2KMnHiRPLz8w3STtu2balTpw5ZWVkGXY8lCKUlEqkKYMqUKcTExFC5cmU2bdpE5cqVpQ7pCWvXrkWlUtGmTRuaNGkidThCBeDs7Ez37t0BtB+G5cLCwoKNGzdSo0YNYmNjGTNmjNQhCRXcPwtNyC2RMjU1xdvbmw8++EDqUCqMzz77jOrVq/PXX3/xyy+/GKQNhUKhHZXS7F8mCHIkEqlybufOncyYMQOAZcuW0ahRI4kjepJarWb58uXA/4oACIIxDBo0CDMzsxKVOTWWWrVqsW7dOhQKBUuXLmXt2rVShyRUYImJiaSlpWFhYUHz5s2lDkeQmK2tLVOnTgUKb9Q+ePDAIO2MHDmSv/76i++//94g5xcEfRCJVDmWlJSk3dh25MiR9O3bV+KIijp48CBxcXFUqlRJe/dJEIzhjTfeICkpiYULF0odylP5+/vz5ZdfAvDBBx9w6dIliSMSKirNaFSLFi1ktV3GnTt3GDBggHajYMF4PvjgA5o0aUJqairffPONQdpwdnaW3c1fQfg3kUiVU0qlkr59+5KWloa3t7ds7+gsWbIEgP79++u06YajtlAAACAASURBVKQg6MrCwgInJyepw3iuKVOm0KVLFx4/fkyfPn1KtNu6IOjLiRMnAPlN64uKimLVqlXMnj1b6lAqHHNzc+3nigULFhi8ME56errBqgQKQmmIRKqcmjx5MkePHqVq1aqEh4fL6i7iP82cOZMpU6ZoK5UJghSuXLlCcnKy1GEUYWpqyrp163B0dOTSpUt8/PHHUockVEDHjx8HCjdllZPIyEigcPRWML7AwEC6d++OUqnk888/N0gbarWaAQMG4OjoyKlTpwzShiCUhkikyqHdu3cza9YsAFasWIG7u7vEET1b7dq1mTZtGh4eHlKHIlRQEydOpGHDhsyfP1/qUJ7KwcFBu15q+fLlbNiwQeqQhAokPz9fO7XvlVdekTia/ykoKBCJlAx8//33mJqaEhERwR9//KH38ysUCpRKJXl5edr11IIgJyKRKmdu376t3Rjyww8/pFevXhJHJAjypvlwuGLFCvLy8iSO5uk6d+7M5MmTARg2bBhXrlyROCKhorh06RKPHz+mSpUqslqvcv78ee7cuUOlSpVo27at1OFUWE2bNtWW9v/oo49QKpV6b2Pw4MEArF+/XkxvFmRHJFLliEql4t133+XevXu0bNlStuuiAPbv309gYCC7du2SOhShgnv99ddxdnbm3r17RERESB3OM02ZMoUOHTqQlZVFv379yM3NlTokoQLQTOtr3bo1pqamEkfzP5rRKD8/P9lOXa8opk+fTo0aNbh06ZJBRvb9/Pxwd3cnIyODTZs26f38glAaIpEqR2bNmsUff/xBpUqVCAsLw8rKSuqQnunnn39m9+7dbN++XepQhArOzMxMe8dTU/xEjszMzFi/fj3Vq1fn9OnTTJo0SeqQhApAk0jJaVofiPVRcmJnZ6ddTjB16lRu3ryp1/ObmJgwcOBAoHDmgCDIiUikyoljx45pSyX/+OOPspqC8W+3bt3i999/BxCbKAqyMGTIEExMTPjjjz9kXWbcxcVFu07g+++/136YFARDkWMiVVBQwMOHDwGRSMnF+++/j6+vL48ePWLcuHF6P/+AAQNQKBRER0cbvEKgIJSESKTKgYyMDN5++21UKhV9+/aV/ca2ixYtIj8/n44dO9KiRQupwxEEXF1dCQoKAgpL+cpZUFAQH374IQAhISHcvXtX4oiE8urRo0ecP38ekFfFPhMTE44fP87t27dlfdOwIjExMWHRokWYmJgQFhbG3r179Xr+2rVr0717d0DeMweEikckUuXARx99REJCAq6urixevBiFQiF1SM+UnZ2tfRMcM2aMxNEIwv9oXo87d+40yIJpfZozZw5Nmzblzp07DBw4UOyvIhjE6dOnKSgooFatWjg7O0sdThFOTk6yvt5VNB4eHtqtTD788EOys7P1ev7PPvuMWbNmMX78eL2eVxBKQyRSZdyGDRtYs2YNJiYmrF+/nmrVqkkd0nOtW7eO+/fvU6dOHXr27Cl1OIKg1aFDB8LDw7l8+TLm5uZSh/Nc1tbW/Prrr1haWrJz505++uknqUMSyiE5TuuDwpEyQZ6mT5+Os7MzV65c4euvv9bruV999VU+++wzqlevrtfzCkJpyDKRWrRoEe7u7lhZWeHl5cXBgwef+dzQ0FAUCkWRr5ycHCNGLI2kpCRGjBgBFG7A265dO4kjej61Ws28efMAGDVqlKwqQAmCQqGgT58+WFtbSx1Ksbz88svMnj0bKLxTGxcXJ3FEQnlz7NgxQF7T+hISEqhevTpBQUEUFBRIHY7wL1WrVmXRokUAzJ49m9jYWIkjEgTDkl0iFRYWxpgxY5g0aRJnzpyhQ4cOBAYGkpSU9MxjbG1tSU5OfuJLzhXr9KGgoID333+fhw8f0qZNG+0eM3JWUFDAp59+Srt27Rg0aJDU4QjCMxUUFJSJtUcjR44kICCAnJwc3nnnHdnugyWUTXIckdqyZQu5ublkZmZiYiK7jzAChes4e/fujUqlYsiQIeTn5+v1/Js2baJt27YcOHBAr+cVBF2YSR3Av/3www8MHjyYIUOGADBv3jz27NnDzz//zIwZM556jEKhwNHR0ZhhSu6HH34gOjqaSpUqsWbNGtlORVKpVE+sN+nfvz/9+/cHKDejhkqlEjMzM3JyclCpVFKHY3Tlrf/nzp3jiy++oFq1amzYsOGFz5e6/0uXLiUoKIi0tDTmzJnD2LFjjdr+i/pvamqKmZmZWMtSxty5c4fr16+jUCjw8vKSOhytrVu3ApRqarharSY/P79cvF89i9TvSz/88AOXL18mNTWVpUuX6vXm6bFjx7h9+zbr169/5mip1P2Xmuj/i/tvbm6ul5lRskqk8vLyOHXqVJGFhP7+/hw+fPiZx2VlZeHm5oZKpcLDw4Pp06fj6en51Ofm5uY+sZFlRkYGUPhD12WBueYYYy5OP3v2LBMnTgQKSyDXqVNHssXxz+v/o0ePSE5OLvcL4dVqNY6OjiQlJVXID4vlrf/W1tZ88cUXAPz1119YWFg89/ly6P8vv/xCamoqAHFxcUbdoLQ4/be2tsbBweGpN3zkXtijojpx4gQATZs2xdbWVuJoCqWlpWmn+muqbJZUXl4eycnJPH78WJ+hyY7m7/LGjRuSvS8tX76c+/fvo1Ao+Pvvv/V2w/edd96hc+fOAFy5cgUzs6IfZeXQfymJ/r+4/wqFAhcXFypXrlyqtmSVSKWmpqJSqXBwcHjicQcHB1JSUp56TOPGjQkNDeXll18mIyOD+fPn065dO86ePUuDBg2KPH/GjBlMmzatyOORkZHY2NjoHHtUVJTOx5aEUqlk3LhxKJVKXnnlFRwcHNi5c6dR2n6ef/dfoVDg4OCAvb09tra2PHz4EFNTUypVqiSmYwiyZ2ZmxqNHjzA3N6dGjRpSh1MslSpV0i7Ct7e3l83fWX5+PmlpaZw7d447d+4U+ffy/oG2rNKsj5LTtL4dO3agUql4+eWXcXd3L/HxBQUFJCYmYmpqirOzMxYWFuX2Q2ZBQQFZWVlUrlxZsvcCtVrNtWvXePToEaamptSpU0dvP28LCwsePXpElSpVnjojSQ79l5Lo//P7r1aruXfvHjdv3qRBgwalGpmSVSKl8e8/NLVa/cw/Ph8fH3x8fLTft2vXjlatWvHjjz8+dT+YCRMmPDH1JSMjg9q1a+Pv76/TXTelUklUVBTdunUzyvS6iRMncv36dV566SU2b95MzZo1Dd7m8zyr/7m5uSQlJeHs7IyZmRk3b95ErVZTs2ZNKlWqJGHE+qdWq8nMzKRKlSrl9qL8POWx/5UrV+bSpUtkZ2dTuXLl5665lEv/7e3tuXTpEnl5eeTk5ODq6mqUdovTf1tbW5KSkmjevHmR0TLNrABBXuSYSG3ZsgUo3WhUQUEBtWvXLtWN07KgoKCAvLw8rKysJP0gXa9ePS5evEh2djbp6el6K6Pv5OTE1atXSU9Px8XFpciolFz6LxXR/xf3/6WXXuLatWsolcryk0jVqFEDU1PTIqNPd+/eLTJK9SwmJia0bt2aK1euPPXfLS0tnzrtxdzcvFSJUGmPL47Dhw/zww8/AIXrImrVqmXQ9kri3/1XqVQoFApMTU25e/cuarWaypUrU6VKFQmjNAxN5SiFQlFh37CgfPXfxsaGatWq8eDBA+7cufPcu99y6b+JiQnu7u7adQnVqlUzynYIxem/Zo2UmZlZkfdJua7vrMhUKhVHjx4FwNfXV+JoCuXk5LB7926gdOujgHLzPlUWWFhY4OrqSmJiIsnJyVStWlUvN1OrVq2KlZUVOTk53Lt3DycnJz1EK1Qk+rrxKat3EwsLC7y8vIpME4uKiqJt27bFOodarSY2Nrbc/VFlZWUREhJCQUEBISEhBAcHSx1SseTn53Pv3j2Acvc7Eco3zes1LS3tiXWVclalShXtTafr16/rvVqWUDFcuHCBzMxMbG1tad68udThAIXJ3X//+1969+4tq+IXwovZ29tjZ2eHWq0mMTFRL2XrFQqF9j36zp07ohS+IBlZJVIAY8eOZdmyZaxYsYK4uDg++eQTkpKSGD58OAAhISFMmDBB+/xp06axZ88eEhISiI2NZfDgwcTGxmqfX1588cUXxMfH4+Liwvz586UOp9jS0tIoKCjAxsZGNguWBaE4KlWqRJUqVVCr1aSnp0sdTrHVqlULKysrlEol169flzocoQz6888/gcKp83LZ769SpUqMHj2a3377TYwolTEKhQJXV1fMzc3Jycnhxo0bejmvnZ0d1apVw83NrdxMKxfKHllN7QPo27cv9+/f5+uvvyY5OZnmzZuzc+dO3NzcgMJNaP/5JvrgwQOGDRtGSkoKVatWxdPTk5iYGFnN6y6t/fv3aze4W7lypVGm6+hDQUGBtpKYo6OjeKMTyhwXFxdUKlWZmpKqmeIXFxdHeno6aWlp2NvbSx2WUIZoEqnizgQRhBcxNzenTp06XLlyhXv37mFra4udnV2pzmliYkL9+vX1FKEg6EZ2iRTAhx9+yIcffvjUf4uOjn7i+7lz5zJ37lwjRCWNzMxM7f4Lw4cPp2vXrhJHVHyZmZmYmZlhaWlZ6jdMQZBCWS2M8n/snXlYU0fb/79JSCCEfQdFEFBEBRWtS7GCtYpaaWt32yq1+lNx35eqdWtdaF1aq61an0fa2mqr1fZ157G1aEGLCK1PQQEBWQRlkyxA1vn94ZvzEkgggYQEmM91nUuZzMy573NO5ps5M3OPQCCAt7c3SktLUVhYCHt7e7oWiaI36u1GIiIizGzJE/766y+kpKTgtddeg6urq7nNobQSR0dHeHl5oaysDAUFBbC1tW3XrRooFFNAx8ctnJUrV+L+/fvw8/NDfHy8uc0xCD6fDzs7O3h7e9PRKCMQFRWFxYsXm9uMVtPYfkIIZs2aBRcXF7BYLGRkZJjRupZRKBQ61xxNmjQJS5YsaWeLNKmsrISHhwcKCgoAPFnjxefzoVAoUFhYaLLzvvbaa9i3b5/J6qe0Lw8ePEBBQQHYbLbOzU7bm4MHDyIuLq7dN5um6Ich2uTj4wOBQAClUom8vDyjrG1SKpUoLS3F3bt3W7VvZUfXpuZ49tlnzf67obE2tRexsbHtMtBCO1IWzOXLl/Hll18CAP71r391qOlFwJPgIf7+/h3uDeK7774LFovFHK6urhg/fjz+/vtvc5vWofnpp5+wZcsW5u8LFy7gyJEjOHPmDDON11KpqKjA33//jQcPHmj9/JtvvsHmzZtNdv5Ro0ZpPJMuLi546aWXmEAuwJM98mJiYuDv7w/gybSX4uJiLFmyBMOHDweLxcLp06cNOm9SUhJiYmLg4+Ojs/z69euxc+fOTh/GfP/+/ejZsydsbGwwePBgZmNYbRw5ckTjfqmP+vr6drS4dain9YWFhVmE5sjlcvzwww8AgLfeesvM1piXzqBNbDYbAQEB4HA4kEgkKCkpaXOdhBA8fPgQIpEIlZWVBpfvyNrUEidOnNDwzdi0RpsA/bSlOfQpv2LFCmzdutXk2kQ7UhaKWCzGjBkzAABxcXHMLt4dkY44GjV+/HiUlpaitLQUly9fhpWVFSZNmmRuszo0Li4uGj/M7t27B29vbzz99NPw8vLSujt9S8hkMmOaqBMejweVSoXy8vImEfxkMhmcnZ3b/KNTly/qSKSffPIJSktLUVJSgu+//x6//vorPvzwQwBAXV0dDh8+jJkzZ2qUValUCA8Px4oVKwDA4Ch+EokEAwYMwOeff64zT1hYGHr06IGjR48aVHdH4vjx41i8eDHWrl2L9PR0PPPMM5gwYUKzI30ODg5MG6I+mtuPzFJQd6QsZVpfYmIiKioq4OHhgTFjxpjbHLPTGbTJ2tqa+VH98OHDVnV+GmJlZcVsyvvgwQODR7k6sja1ZENj31pbjzbaok36aEtz6FO+f//+8Pf3N7k20Y6UhbJmzZoOO6Vv/fr12LRpE5RKJZNGCIFEIjHL0Zqhfmtra3h5ecHLywsDBw7EqlWrUFRUxLxluXDhAkaOHAknJye4u7vjjTfewL179zTqOHHiBEJDQ8Hn8+Hq6ornnnsOEomEuR7x8fEICAgAn8/HgAEDcOLECaasRCLBtGnTmKmRO3fu1MtuqVSKhQsXwsPDAzY2Nhg5ciRSU1OZz6OiorBw4UKsXLkSLi4u8PLywsaNG5ut09/fH3v27NFIGzhwoEa5SZMmYdGiRc3W23D6xLvvvosFCxagsLAQLBaLEVV97J8/fz6WLl0KNzc3jB07lklfsGABFi9eDGdnZ3h6euLgwYOQSCSYPn067O3tERgYiPPnzzfrq7r++fPnw8nJCa6urli3bh3s7e2ZCH6RkZEaNkRHRzeZ2teSH8350picnByIRCJERUXBy8sLPj4+iI6ORmBgIPM8nT9/HlZWVk32/JkwYQJ2796N559/HgCY4C/6MmHCBHz44Yd4+eWXW8x3/Phxg+ruSOzatQszZszAzJkzERISgj179sDX1xdffPGFzjIsFotpQ9RHc0ilUgiFQo0DeDIi09qjNeXVHalhw4a16dzGOr755hsAT6aQEkLa7D8hBCqVijmUSiVEIpFZDqVSqWFLSwchBDweDx4eHvDw8EBYWBhWrFiBoqIiJgT4uXPnMHLkSLi4uCAgIAAxMTHIycnRqOeHH35ook0ikYi5Hjt27NDQph9++IEpKxKJMHXqVEabPvnkEwBocl0bH3V1dViwYAHTJsbExDB7ht6/fx/PPPMMFixYgBUrVjAasmHDhmbr9Pf3x+7du6FSqeDu7g4ul4tXX30VK1euZHR/9OjRLdYbFRWFRYsWQaVSITY2tok2abN/5MiRuHHjhkYd8+bNw5IlS5j2XJ0+f/58LFq0iNGmL7/8EiKRCO+++y6jTWfPnm3WV3X98+bNY7Rp7dq1Gs9QQxs8PDwwefJkjB49mvFNHz+a86XxcffuXYhEIowaNQoeHh7w8vLC2LFjERgYCLFYDJVKhbNnz8LKygrDhg3TKBsdHY3NmzczW/kY8j3Qp7z6/k+aNAnff/99s9+p5toPfbDIYBNdnatXrzK97K+++gp2dnZmtkh/SktLsXPnTnh4eOC1115j0mtra83mh1gsblPQALFYjKNHjyIoKIiZpiiRSLB06VKEhoZCJBJh7dq1eOWVV5CRkQE2m43S0lJMmTIF8fHxmDx5MkQiEa5evcp8udetW4effvoJX3zxBXr16oWkpCS88847cHd3R2RkJFasWIHffvsNp06dgpeXF95//32kpaVh4MCBzdq6cuVKnDx5EgkJCUwnPDo6Grm5uUzktoSEBCxduhQ3btxASkoK3n33XUREROj8Ia8vX3/9td71fvrppwgMDMTBgweRmprKhFjW1/64uDj88ccfGp3khIQErFy5En/++SeOHz+OuLg4nD59GpMnT8b777+P3bt3Y+rUqSgsLIStra1OPxISEjBjxgzcuHEDN2/exKxZs+Dn54cpU6bgzp07kMvlGjYolUrMmjXL4PvQnC8NSUtLA4/HQ2hoKIAnP7i//vpr5OTk4NChQwCeTHMYMmSI1vJsNpvpqIrFYjx+/NjokT/Dw8Oxe/duSKXSTrd4XCaTIS0tDatXr9ZIHzduHBOUQRtisRh+fn5QKpUYOHAgtmzZgkGDBunMv23bNmzatKlJ+qVLl5p9Xlui8b6MzSGVSpGeng7gyQa4586da/V5jUF9fT1OnToFAPDz82uVPQ39V49ciMVi5i27RCJB9+7djWOwgRQXFxukTXK5HAqFgulki8ViHDlyBAEBAeByuRAKhaioqMDs2bPRt29f1NbWYuvWrXjppZdw9epVsNlslJWV4e2338amTZswadIkiEQipKSkoKamBkqlElu2bMGZM2fw8ccfIzAwEMnJyZg2bRoEAgEiIiKwbNky/Prrr/jmm2/g4eGBLVu2IC0tDSEhIc1OoVq9ejV++eUX7Nu3D76+vvjss88wdepUnD17FjweD3V1dUhISMC8efOQmJiI1NRUzJ07FwMHDsTo0aO11qlSqVBfX8+cV92uiUQi1NTUgM1mQ6lUtlivQqGATCaDUCjE5s2b0b17dxw5cgS//vorOBwOhEKhVvvHjx+PW7duwdnZGQqFAl9//TWmT5+O8+fPgxACoVDIpC9cuBD/+c9/cOrUKcybNw8nT57EpEmTsGDBAuzfvx/Tpk3D7du3dX7X1fW88847SExMRHp6OtNhio2N1cjT0IalS5cyvum6Dw390FWPtnt77do18Hg8+Pn5QSgUQiqV4tixY8jJycGuXbsgFApx+fJlDBgwoMXpdXV1dW2agqerfP/+/bFjxw6Ul5c30SaZTIa6ujokJSU1ma1RW1ur/8lJF6empoYAIDU1Na0qL5PJyOnTp4lMJjOKPbW1taRXr14EAJkxY4ZR6jQljf2fO3cuAUBefPFFkpmZSerq6gghhIjFYgLALIdYLDbIp9jYWMLhcIhAICACgYAAIN7e3iQtLU1rfqVSSXJycggAcvv2bUIIIWlpaQQAKSgoaJJfLBYTGxsbkpycrJE+Y8YMMmXKFCISiQiPxyPHjh1jPqusrCR8Pp8sWrRIp91isZhwuVxy9OhRJk0mkxEfHx8SHx9PCCEkMjKSjBw5UqPcU089RVatWqWzXj8/P7J7926NtAEDBpANGzYw/kdERLRYb2RkpIb9u3fvJn5+fgbbP3DgwCY2NvZLoVAQgUBApk6dyqSVlpYSACQlJUWnr5GRkSQkJISoVCombdWqVSQkJIQQQkh2djYJDw9n/m7o/8KFC/X2ozlfGrN8+XLCYrGY55HFYhFPT09y7do1Js+LL75I3nvvvWbrAUA+/vhjkpGRQeRyeYvn1Vb+1KlTTdKVSiW5evWqzuedEELq6uo02oOGtLUNNjUlJSUEAPnjjz800j/66CPSu3dvrWVSUlLIN998QzIyMkhSUhJ55ZVXCJ/PJ9nZ2TrPU19fT2pqapijqKiIACAVFRVEJpMZfEgkEnL69GkikUj0LpOYmEgAkG7duhGpVNqq8xrzSEhIIABIYGCgwfZo818oFJJ//vmHSCQSolQqiVKpJEKh0GzaJBQKGTv0OaZNm6ZVm1JTU5vkVSgUpLq6mmn3/vrrL6JUKklqaioBQPLy8pqUEQqFxMbGhly7dk0j/b333iNvvvkmqampITwej3z33XfMZ+Xl5YTP55OFCxfqtFsoFBIul0u++eYbJq2+vp74+PiQbdu2kb///puEh4eTwYMHE4VCweR56qmnyMqVK3XW6+fnR3bt2qXhc3BwMPl//+//keLiYlJdXU1GjRpFRo4cqVGucb2RkZEa9u/atYv4+fnpZf+OHTuYOgYOHNjERrU2qf+WyWREIBCQd955h0lr2Mbo8lWtTQ2vz8qVK0lISIhGHrUN6vs/atQoxjd9/GjOl8bHsmXLtGpTUlISk+eFF14g06dPb7YeAOTkyZMGfRdaKq/2/9atWzqfd4lEQv755x8iFAqbtB8VFRV66xIdkbIwNm7ciJycHPj4+DBD5h2Ff/75BwcOHACAJtGVbG1tIRaLzWFWq97mjh49mpm2U1VVhf3792PChAn4888/4efnh3v37mH9+vW4fv06KioqmDnZhYWF6N+/PwYMGIAxY8YgNDQU0dHRGDduHF599VU4OzsjMzMT9fX1TUZqZDIZBg0ahHv37kEmk2lM03JxcUFwcHCzNt+7dw9yuVxjbQOXy8XQoUORlZXFpIWFhWmU8/b2xqNHjwy+Ro1Rj5i0tl597dc18tLQLw6HA1dXVw2bPD09AaBFm9SBGdSMGDECO3fuhFKpRLdu3QAAvXv3hlgs1jrKqq8fzfnSkLS0NLz++uvMnPPy8nKsWbMGs2fPxl9//QUOh4O6ujq91t9wuVzI5XIUFxdrLPxtK3w+H4CBb/E6GI3XehJCdK7/HD58OIYPH878HRERgfDwcOzduxefffaZ1jLW1tZaR/O4XG6bQtcbUv7GjRuMvTwer9XnNBZ5eXngcDh46623Wm1PQ/+VSiVYLBbYbDazH6WdnZ1ZtcmQNcQsFkurNj3//PMtalNxcTHCwsIwaNAgjBkzBgMGDGiiTXfu3EF9fT2io6M1zqvWpvz8fMhkMkRERDDXz83NDcHBwcx11UZ+fj7kcjmeeeYZJo+1tTWGDh2K7OxsLFy4ECwWCz179kRRURGzwa63tzfKy8ub3YC58XnV97q8vBx8Ph8sFgthYWEaebTV27Ae9T1R/92c/Xfu3GHShgwZotXWhudns9lwdXXVSPP29gbwZOp1c7423iD76aefxq5du0AIYdLVNqjvuzoIBJvN1tuP5nxpyK1bt7RqU1xcHKNN9fX14PP5LdbV8DvZGhqXV/uv/v1XX1/fpH42mw0Wi6W1jTSkzaUdKQsiLS2N6Tx9+eWXHWbjXeDJj4olS5ZAqVRi8uTJGDp0KPLz85nPWSxWh9qTRyAQaGz0N3jwYDg6OuLQoUP48MMPERMTA19fXxw6dAheXl4QCoV4+umnmekiHA4HiYmJSE5OxqVLl7B3716sXbuWmYsMAGfPnmV+mKuxtrZu9cJb8r9Tw1r6wde4gWCxWM0uzmWz2U2mnWmbP2xovY3R135dz5G28zdMU9fRlnC7tra24HK5sLW11TldVV8/AP32qUpPT8eWLVuY5zEoKAjLly9HTEwM7t+/j4CAALi5uaG6urrFujw8PAA8EWwXFxc4ODi0WEYf1Od2d3c3Sn2WhJubGzgcDrOeQ82jR4+YznlLsNlsPPXUU8jJyTGFiUZDPVXRUjbi3bhxI+Li4tr0A6slOqs2HThwAA4ODrC1tUVYWJhFa5OtrS1sbGxgZWWFiooKWFtbM9umGKpNKpUKAoEAwcHBTGCgrqBNLdkAWLY2mYqqqioAptUmGmzCQpDL5Zg5cyZUKhXefPNNxMTEmNskgzhz5gwSExPB4/E6PK/yuAAAIABJREFU3EiaPqjf6NTV1aGyshJZWVlYt24dxowZg5CQEDx+/FhrmYiICGzatAnp6eng8Xg4deoU+vbtC2traxQWFiIoKEjj8PX1RVBQELhcLq5fv87UVV1djezs7GZtDAoKAo/Hw7Vr15g0uVyOmzdvIiQkpNW+u7u7o7S0lPlbKBRqdJKNhansN5SG1139d69evZg3ftbW1nBxcWE6JY0xph95eXl4/PgxwsPDm6RzOBxmvdWgQYOQmZnZYn18Pp+x+/79+xoBYdpCVlYWunfvDjc3N6PUZ0nweDwMHjy4yVqjxMREvTsc5H+jW6nfPFsiSqXS4jbiBZ6MJHfGDrqxaE6bgoODtf6ItURtsrKyYqLLlZSUMD+Am0OXNjk6Ohp1rWZH0aaWsGRtMhX//e9/Ta5NdETKQti1axcyMjLg4uKCTz/91NzmGMz27dsBAMuWLUNAQECH2C+lOaRSKfMGurq6Gp9//jnEYjFiYmLg7OwMV1dXHDx4EN7e3igoKMC6des0yt+4cQOXL1/GuHHj4OHhgRs3bqC8vBwhISGwt7fH8uXLsWTJEqhUKowcORJCoRDJycmws7NDbGwsZsyYgRUrVsDV1RWenp5Yu3Zti29lBQIB4uLimOhEPXr0QHx8PGpra5lQ+q3h2WefxZEjRxjf169fr3fDbQimst9QioqKsHTpUsyePRu3bt3C3r17NaImslisZsPhGtOPtLQ0sFgseHp6oqysDBKJBFevXsWGDRswZ84cZtQ6Ojoaa9asQXV1NbNgGHiyGD03N5f5Oz8/H76+vqisrISrqytKS0ubXWivrby6nerRoweTnpKS0uZgJZbM0qVLMXXqVAwZMgQjRozAwYMHUVhYiDlz5gAApk2bhm7dumHbtm0AgE2bNmH48OHo1asXhEIhPvvsM2RkZFj0xsUZGRl4/PgxHBwcWgxqY2oIIbh3757GyAvlCfpqk6enJ+7cucNMu1Jjydpka2sLT09PPHz4kJmG1hz6aJNSqWxV5N7W2G9qWtKmlrB0bdKmLbrQt/y1a9cwbtw4g3wzFNqRsgByc3OZUNG7du3S+abbkvnll1+wZ88erFmzxtymGIULFy4wb4/t7e3Rp08f/Pjjj4iKigIAHDt2DAsXLkT//v0RHByMrVu3auzl4eDggKSkJOzZswdCoRB+fn7YuXMnJkyYAADYsmULPDw8sG3bNuTl5cHJyQnh4eF4//33AQAff/wxxGIxXnjhBdjb22PZsmWoqalp0e7t27dDpVJh6tSpEIlEGDJkCC5evKjRgBnKmjVrkJeXh0mTJsHR0RFbtmwxyYgUYBr7DWXatGmoq6vD0KFDweFwsGDBgiZR+dTU1tYyIcgbYiw/bt26BUII84PS2dkZvXr1wq5du5hITcCT9WlDhgzBDz/8gNmzZzPpN2/e1Ih4pV67OGXKFCxduhRlZWU4e/Ys5syZo/XHhq7ysbGxOHLkCIAnc8/PnDmDCxcuGORbR+KNN95AZWUlNm/ezGzQee7cOfj5+QF4sjay4Y/Jx48fY9asWSgrK4OjoyMGDRqEpKQkDB061FwutMjly5cBAJGRka3aN8fYtowdOxYvv/wyTpw40SH3IjQV+mpTWFgYgoKCsHfvXo19KC1dm7p37w6ZTIbq6mpIJJJmlzi0pE2VlZWora1FXV2dfhfXCPabEkO0SReWrk0NteXIkSOYPn16m7Tp9OnTuHjxokG+GUyL4Sg6OeaO2qdSqcizzz5LAJDnnntOI1pYR0CX/81F6epsKJVKUl1dTZRKpblNMQudyf/GkQWbQyKRkNTUVHLz5k1SVlZmdv/Pnj3LRHDSh9zcXJKamkrmzp1LIiMjW33evXv3ktGjRzd73o4ctc9ctLc2jR07lgAge/bsadX5jMnkyZMJADJv3rxW16HNf6pLHQOlUknu3r1LUlNTya1bt4hEImlVHQUFBUwdUqnUBJa2H4ZoEyGWdf8N1SY1GzZsaLU2KZVKEh8fT5577jmdeYylS3SNlJlJSEjAr7/+Cj6fjy+//LJDvXkjhOA///lPm4fNKZSOCJ/Ph6OjIwghzEbN5mTixImYPXs2SkpK9Mrfo0cPcDgcXL16FatWrWr1ea2srLBjx45Wl6eYH6lUyqybGDNmjFltKSoqws8//wwAiIuLM6stFPPAZrMRGBgIOzs7KJVKZGdnt2pUSR1sQ6lU4v79+/S3ipkwVJvUXLx4EfHx8a0+L5fL1Rkl1ZjQjpQZqaiowPLlywE8iU4UGBhoZosM49tvv8XEiROxY8cO2kBRuhwsFgt+fn5MiFdjhJBvK4sWLYKvr69eeblcLnx9ffGvf/0Lnp6eTIQrQ5k1axZ69erVqrIUyyAlJQV1dXXw9PREv379zGrLgQMHoFKpEBUVZXZbKOaDw+EgKCgItra2UCgUuHv3rsHbK7BYLPj7+4PFYqGmpqbVUQcpbccQbVKTkpLSpunQ7777bovbxhgDukbKjCxfvhyVlZUICwvDkiVLzG2OQTx69AiLFy8GAAQGBnaokTQKRRdXrlwxKD+Px0O3bt1QWFiIBw8ewNnZ2ajRokyNq6srKioqIBaLmUhd9Lvc9VCvjxozZoxZ779MJsOhQ4cAAPPmzTObHRTLwMrKCr1790Z2djZqa2uRnZ2N3r17G7Q3pI2NDbp164bi4mIUFhbC3t6+Q7XRagzVJkr7QUekzMSVK1eQkJAAFouFAwcOtGnDRXOwcOFCVFVVISwsDJMnTza3ORSK2XBzcwOfz4dKpepw00fUo2rqN7bawvhTOj8NO1Lm5OTJk3j06BF8fHzw4osvmtUWimWg7kwJBAJmZMrQDZQ9PT1hZ2cHlUqFgoKCDtVGUywf2pEyA1KplIleMmfOHAwfPtzMFhnG999/j+PHj4PD4eDQoUNmj/BEoZgbd3d3sFgsCIVCvSJYWRJ8Ph9eXl4AnkSfM9beUpSOgVAoxJ9//gnA/B2pb7/9FgAwe/bsDvdykWI6rKys0KtXLwgEAmbNlCEvfdRT/Lhcbqfc645iXmhHygxs374d2dnZ8PLywtatW81tjkHk5uYyncD3338fgwYNMrNFFIr54fF46N69O3x9feHo6GhucwzG29sb1tbWkMvlBi8IpnRskpKSoFQqERgYyIRzNxc//fQT9u3bR6f1UZqgHplydHSESqVCbm6uQUF+bGxsEBoaCldXVzp9mWJUaEeqncnNzWU2bdyzZ0+zeyRYGoQQZu+BZ555Bh988IG5TaJQLAZ3d3d4enp2SJFms9nMj+hHjx5p3RuL0jmxlGl9AGBtbY25c+fC1dXV3KZQLBAOh4PAwEBmVOn+/fsoKSnRe6pew73eZDIZZDKZSeykdC1oR6odIYRg/vz5kEqlGDt2LF5//XVzm2QQLBYLu3btQnh4OI4ePUqn9FEoOlAqlRYREt0QHBwc4OLiAuDJFD+6jqBrYAkdqcLCQigUCrOdn9JxUL/0UW9KXFpaitzcXIOeH4lEgqysLOTm5kKlUpnKVEoXgXak2pGTJ0/i4sWL4PF42LdvX4d8cz1ixAjcvHnT4DCWFEpXQaVSISsrC/fv3+9wnanu3buDzWZDIpGgoqLC3OZQTMzDhw9x+/ZtAMDo0aPNYoNKpcLEiRPRr18//PXXX2axgdKxYLFY6NatG3r27MkEyrlz5w7q6+v1Km9lZQVCCGpra2nwCUqboR2pdkIkEjHhwlevXt2h9l25desWUlNTmb87YgeQQmkv2Gw2MzWpsLAQIpHIzBbpjzqcOwAUFxdDLpeb2SKKKfmf//kfAEB4eDjc3d3NYsOPP/6If/75Bw8fPjT7Gi1Kx8LV1RV9+vQBj8dDfX09MjMz9dorytraGgEBAQCAqqoqFBcX084UpdXQjlQ7sXHjRpSUlCAgIACrV682tzl6U1JSgpiYGERGRuL33383tzkUSofAy8sLzs7OIIQgNzdX7zelloCHhwdsbW2hVCpRXFxsbnMoJuTEiRMAgFdffdUs56+vr8f69esBAEuXLu1Qa4YploFAIEBISAjs7e2hUqmQn5+P/Pz8FqfsOTg4wN/fH8CTkdmysrJ2sJbSGaEdqXbgv//9Lz799FMAwOeffw4+n29mi/RDLBYjJiYGDx48QM+ePTFw4EBzm0ShdAhYLBZ69uzJhOvNycnpMGtAWCwWevToAQCorKw0eM8WSsegqqqKWR/1yiuvmMWGrVu3IicnB97e3syMDQrFULhcLnr37g0fHx8AT9qtrKws1NXVNVvOzc0N3bt3B/DkpXFHm4pNsQxoR8rEqANMKJVKTJ48GRMmTDC3SXpRX1+PV199Fenp6XB3d8eZM2c6ZFhnCsVcsNlsBAUFgcfjQSqVIicnp8Ps0WRnZ6cRGYtOe+l8/PLLL1AoFAgNDUXv3r3b/fyZmZnYvn07AOCzzz6Dg4NDu9tA6TywWCz4+PggODgYXC4XUqkUJSUlKC4ubrbd9fLyYvbRq6qqom0dxWBoR8rEHDt2DL///jv4fD52795tbnP0QiqV4uWXX8bFixdha2uLn3/+GT179jS3WV2eqKioDvfW1hJsrqyshIeHBwoKCtrtnK+++ip27doFLpeLXr16gcPhQC6Xd5hRKQDo1q0bOBwO6urq6JvaTog5p/WpVCrMmjULcrkcMTExZhsRoxgHS2jn1djb26Nfv37MOtVHjx4hMzOzyQa+DW3u1q0bunfvjsDAwHZdA25ObaIYD9qRMiEikQjLly8H8GTz2o6wkFYqleKVV17B+fPnwefzcfbsWYwYMcLcZrUr7777LlgsFnO4urpi/Pjx+Pvvv81tWofjp59+wpYtW0xS96hRozTuk4uLC1566aUmP/q3bduGmJgYZj78xo0bNcqxWCzmjaQ+NC7P4XAQHByskeeDDz7ARx99BKFQCD6fj969eyM4OBjW1tZt9ru94HK5TOCJkpISGniiE1FTU4PExEQA5ulIiUQi2NvbQyAQ4PPPP6cBjPSEapN+WFlZMSHS1TMCcnNzkZOTw6xXbahNag1ouKXL48ePWz06ZQnaxOFw4OzszEx3VNNQmyjGgXakTMjmzZvx4MEDBAYGMh0qS4fNZoPP54PP5+PMmTOIiooyt0lmYfz48SgtLUVpaSkuX74MKysrTJo0ydxmdRjUGx26uLjA3t6+zfU0hhCCjIwMfPLJJygtLUVJSQm+//57/Prrr/jwww+ZfHV1dTh8+DBmzpypUb5fv37M/S0tLWVCQOtLw/IlJSX4448/ND4PCwuDv78/jh49CuDJguiGnajHjx93iNEpd3d3JvBESUmJuc2hGIkzZ85AJpMhJCQEffv2bffzOzo64ty5c0hPT2fW41H0g2qT/ggEAvTt2xdeXl5MmPSMjAwUFRXB3t5epzaVlZUhNzcX2dnZOl8gWbo2lZSU4M6dO022FGisTZS2QztSJuLOnTvYs2cPgCfzv21sbMxskX5wuVx89913SE5OxrPPPmv0+iUSic6jcWSz5vI2XkSqK19rsba2ZuZODxw4EKtWrUJRURHzRunChQsYOXIknJyc4O7ujjfeeAP37t3TqOPEiRMIDQ0Fn8+Hq6srnnvuOcYmQgji4+MREBAAPp+PAQMGMFNt1P5MmzYNdnZ28Pb2xs6dO/WyWyqVYuHChfDw8ICNjQ1GjhypEbo+KioKCxcuxMqVK+Hi4gIvLy9s3Lix2TqjoqIwf/58zJ8/H05OTnB1dcW6des03tZNmjQJCxYswNKlS+Hm5oaxY8cyZRtO+dDHvvnz5zeppzE5OTkQiUSIioqCl5cXfHx8EB0djcDAQI37fv78eVhZWTUZVbWysmLur5eXl8GhnxuXV68nasgLL7yA77//vkm6UCjEvXv3kJWVZfHR/BoGnqioqKCBJzoJ5prWV19fz7QbLBbLorYB6Wza5OLigoCAAMTExHRpbXruueewfft2JCQkYOzYsZg7dy4ePnyIESNGYObMmcwLrYb2+fv7Y+bMmbh+/TqysrIgFos7pDZ5enpqLa9Lmyitg3akTAAhBIsWLYJCoUBMTAwmTpxobpOa5ebNm5g7dy4TLpTL5ZosQp+dnZ3Oo/E8eQ8PD515Gwft8Pf315rPGIjFYhw9ehRBQUHMvGuJRIKlS5ciNTUViYmJYLPZeOWVV5hrWFpaiilTpuC9995DVlYWrly5gpdffplp4NetW4d///vf+OKLL/DPP/9gyZIleOedd5gQ8ytWrMBvv/2GU6dO4dKlS7hy5QrS0tJatHXlypU4efIkEhIScOvWLQQFBSE6OhpVVVVMnoSEBAgEAty4cQPx8fHYvHkzM81HFwkJCbCyssKNGzfw2WefYffu3fjqq6808nz99dewsrLCH3/8gQMHDrTJvpbqSUtLA4/HQ2hoKIAnInjo0CHk5ORgzpw5TL6kpCQMGTKkSfmcnBz4+PigZ8+eePPNN5GXl9es/82VnzJlitY57kOHDsWff/4JqVSqkc7lcpnF0FlZWRa/z5SdnR3z3BcVFdHF2B0ckUiE8+fPA2jfjpRSqcRrr72Gt99+G7W1te12Xn3pbNp048YN/Pzzz2Cz2Zg8eXKX1qaEhATY2NggJSUFBw4cgK2tLQghkEgkuH37NoqLi7Fs2TIN+0JDQ7Fw4UKUl5fj7t27kMlkHUqbAgMD8d5772ktr0ubKK2EdHFqamoIAFJTU9Oq8jKZjJw+fZrIZDIm7eeffyYACI/HI7m5ucYy1egolUry2WefERsbGwKA7Nq1y+A6tPlPCCF1dXUkMzOT1NXVaaQD0HlMnDhRI6+tra3OvJGRkRp53dzctOZrDbGxsYTD4RCBQEAEAgEBQLy9vUlaWprW/EqlkuTk5BAA5Pbt24QQQtLS0ggAUlBQ0CS/WCwmNjY2JDk5WSN9xowZZMqUKUQkEhEej0eOHTvGfFZZWUn4fD5ZtGiRTrvFYjHhcrnk6NGjTJpMJiM+Pj4kPj6eEEJIZGQkGTlypEa5p556iqxatUpnvZGRkSQkJISoVCombdWqVSQkJITxPyIiggwcOFBrWbXN+tqnrZ7GLF++nLBYLOYesVgs4unpSa5du6aR78UXXyTvvfeeRtq5c+fIiRMnyN9//00SExNJZGQk8fT0JBUVFS2eV1d5Dw8P8ujRI418f/31l85nQCaTkczMTJKamkpSU1NJSUmJxvW1NGQyGUlLSyOpqamkvLxc4zOlUkmqq6uJUqnUWV5Xe0BI29vgzooptIkQQr799lsCgPTq1atdn7k1a9YQAMTGxoakp6eb/Hza/G/uOexs2qT+XpaVlXVJbVL7r01TVCoViYiIIO+88w5JTU0lSUlJxMrKiuzZs4eIxWIN+1atWkVSU1NJeHg46dOnD5FIJDrtIcRytOnixYskIiJCa/nmtKmz0J669H8r6yhGob6+HkuWLAEALFu2DIGBgWa2SDulpaWYPn06Ll68CODJ1KwZM2aY/LzNTQ3icDgafz969EhnXjZbczDV2FFvRo8ejS+++ALAk5Co+/fvx4QJE/Dnn3/Cz88P9+7dw/r163H9+nVUVFQwb/sKCwvRv39/DBgwAGPGjEFoaCiio6Mxbtw4vPrqq3B2dkZmZibq6+ubTA2QyWQYNGgQ7t27B5lMpjHk7+Li0iSgQWPu3bsHuVyOiIgIJo3L5WLo0KHIyspi0sLCwjTKeXt7N3utAWD48OEaC8JHjBiBnTt3QqlUMumDBw82in3a3tI1Ji0tDa+//joz57y8vBxr1qzB7Nmz8ddffzHPUl1dXZNptQ3fGIeGhmLEiBEIDAxEQkICli5d2uK5G5cfNmwYgoKC8PXXX2PZsmXMZ+r94rS9fedyuQgODkZBQQGqqqrw4MEDCIVC9OzZ0yIDUnC5XPj4+KC4uBjFxcVwcnLSWJhN6RioVCrEx8cDAN555512C/Kwc+dObNu2DQBw+PBhi9yTkGpT59MmNY01hcViwcrKCi4uLggKCsLvv/8OhUKBgIAAZGVlQSAQwN3dHU899RQePnyInj17gsViITg4uMUReUvRpn79+qFfv34YPHhwk/LNaRPFcKgSGpldu3YhLy8PPj4+eP/9981tThOUSiW++uorrF27FpWVlbCxscHOnTsRFxfXLqIqEAjMnlff+oKCgpi/Bw8eDEdHRxw6dAgffvghYmJi4Ovri0OHDsHLywtCoRBPP/00swCVw+EgMTERycnJuHTpEvbu3Yu1a9fixo0bjLCdPXuWiYqmxtraGpWVla2ymTRYe9A4vWEal8vV+JzFYrW4C7w+tHQP9LVPn3uZnp6OLVu2MPcoKCgIy5cvR0xMDO7fv4+AgAAATzZcrK6ubtHu0NBQ5OTktHheXeX79u3bpLx6yoquOe5sNhs9e/aEo6Mj7t+/D7FYDKFQaPCc+PbCw8MDFRUVqK+vR2lpKXx9fc1tEsVA/ud//gd///037O3tMX/+fJOfT6VSYdWqVfjkk08AAOvXr8dbb71l8vO2hs6mTQcOHICDgwNsbW0RFhZGtUkLLBYLTk5OTNQ8Z2dnsFgsZh3b48ePwePxwOFwIBAI4OXlpVHX48ePYW9vr9HRtjRt6t+/v8HaRDEMukbKiJSUlOCjjz4CAHz88cdGmwdtTOLi4jBnzhxUVlZi0KBBuHXrFubOnUvDz7YAi8UCm81GXV0ds2v6unXrMGbMGISEhDTZo0JdJiIiAps2bUJ6ejp4PB5OnTqFvn37wtraGoWFhQgKCtI4fH19ERQUBC6Xi+vXrzN1VVdXIzs7u1kb1Zu/Xrt2jUmTy+W4efMmQkJC2uR/Q1vUf6v3R9IXY9mXl5eHx48fIzw8vEk6h8OBi4sLkzZo0CBkZmY2W596rZK3t7feNjQun52d3aT8f//7X3Tv3l1rIAo16hDG/fr1g7e3t0ZemUxmUeuR2Gw203l69OhRk0X1FMuGEMKEe54/f77G98QUyOVyTJ8+nelEqde8UIxLc9oUHBys9cc61Sbt9hUWFiIsLIzZQ0+tC7m5uZBIJJBKpaiqqoJCoUB9fT1yc3Px999/o6ioCFKp1CK16c6dO63SJor+0BEpI7Jq1SrU1tYiIiICU6ZMMbc5AJ68EaytrWU6dXFxcTh16hQ++OADzJkzp8kbIMoTpFIpysrKADwRis8//xxisRgxMTFwdnaGq6srDh48CG9vbxQUFGDdunUa5W/cuIHLly9j3Lhx8PDwwI0bN1BeXo6QkBDY29tj+fLlWLJkCVQqFUaOHAmhUIjk5GTY2dkhNjYWM2bMwIoVK+Dq6gpPT0+sXbu2yZSRxggEAsTFxWHFihVwcXFBjx49EB8fj9ra2jZP2ywqKsLSpUsxe/Zs3Lp1C3v37tU7WpOx7UtLSwOLxYKnpyfKysogkUhw9epVbNiwAXPmzIGTkxOTNzo6GmvWrEF1dTWcnZ0BgHk72KNHDzx69AgffvghhEIhYmNj9Tp/4/JbtmyBSCTCtGnTNPJdvXoV48aN06tOa2trjTfACoUCmZmZsLa2hqenJ/Om1Nw4OjrCyckJjx8/RlFREXr37m1ukyh6cuHCBaSlpcHW1paZfm5Kqqqq8Msvv4DD4eDw4cN6f78ozaOvNnl6euLOnTsaIbcBqk362vfpp59CLpdj5syZUKlUIISgvr6eCd7A5/NhZWUFhUKBhw8f4uHDh0hOTgaLxYKbm5vZtamsrAybNm3SWt4QbaK0DO1IGYkbN27g6NGjYLFY+PTTT83+o6e0tBQ//PADvvjiC0RFReHLL78E8OQtSGFhITNHlqKdCxcuMG9x7O3t0adPH/z444/MvlrHjh3DwoUL0b9/fwQHB2Pr1q0ae3k4ODggKSkJe/bsgVAohJ+fH3bu3MnMYd6yZQs8PDywbds25OXlwcnJCeHh4cx00I8//hhisRgvvPAC7O3tsWzZMtTU1LRo9/bt26FSqTB16lSIRCIMGTIEFy9eZBrq1jJt2jTU1dVh6NCh4HA4WLBgAWbNmmVwPcaw79atWyCEMFMnnJ2d0atXL+zatauJYISGhmLIkCH44YcfMHv2bABAcXExpkyZgoqKCri7u2P48OG4fv26xobZR44cwfTp07WOCDUuP2zYMFy6dEmjfH19PU6dOsWsQTQUiUQCpVIJiUSCvLw88Hg8eHh4wNnZ2exrqLp3746amhoIhULU1NS0aZ8wSvtACGFGg+Li4kw2pUcmk4HH4wEAPD09sW/fPjg6OuL55583yfm6IvpqU1hYGIKCgrB3716NrUy6ijYZOpqvy77Q0FAQQmBrawuBQAAbGxvU19drHZFXa5N6zZi5tWnw4MFITk42qjZRtGBIFIz2Yt++fcTf359YW1uT8PBwkpSU1Gz+EydOkJCQEMLj8UhISAj56aef9D6XMSIj/fTTT2To0KEEAJk+fXqr6mkrKpWKZGdnk/3795Nnn32WsNlsJjqQl5cXqa+vN8l5DY3a1xnRJzpMR6Zh5D1tWLr/Z8+eZaI46cuGDRuaRN/ShTb/P//8czJ27FhDTdVAJpORkpISkp6ezkT3S01NJVlZWaS2trZNdbeVwsJCkpqaSm7fvk0UCkWXiNrXnrpEiHGj9l26dImJmFdaWtqq+pqjqKiIvP/++8TNzY388ssvRq+/NRgata+zYentsjFoTptM6b9UKiXl5eXk3r17JCMjQ6N9Vh9paWkkMzOT5Ofnk5ycHJKdnU1KS0tJbW0tE2XQlNqky39jaFNHoEtH7Tt+/DgWL16M/fv3IyIiAgcOHMCECROQmZmpdQf0lJQUvPHGG9iyZQsmT56MU6dO4fXXX8e1a9cwbNiwdrE5KSkJf/75J+zs7Jg1Uqam4XAwALz88ss4ffq0Rp7hw4fj7bffRmxsrNnfYlMo5mLixInIyclBSUmJ3gESLl68iE8//bTV5+Ryudi7d2+ry6vr8PHxgZeXFyorK1FVVQWRSASxWKwx/7+qqgpBFLhLAAAgAElEQVQymQy2trbMdBNTj4h7e3ujsrIS9fX1KC8v7zAbjreWjqhLak6cOMG88Z41axa8vLzaXCchBHfu3MHly5dx8eJFnD9/nomSFh8fj0mTJpl9VgaFYip4PB7c3Nzg5uYGQghkMhnEYjETpKK2thYqlarJ5ss1NTUoLi4G8H9rTidPnoyMjAz4+/uDy+XCysoKXC4XHA5H63fIErSJogmLEAtazQxg2LBhCA8PZ8J7AkBISAheeuklJnxqQ9544w0IhUJmg0EAGD9+PJydnfXauVkoFMLR0RE1NTVwcHAw2N7Hjx8jMDAQVVVV2LBhA5YvX858pr60AoGAmUNcV1eH+vp6qFQqKBQKKJVKKBQKSKVSSKVS9OrVi+n03Lp1i5m/XF5ejtLSUuTn5yM/Px/V1dV4+PAhPDw8ADyJhhQfH48RI0Zg/PjxeOONN9CzZ0+D/TEUuVyOc+fOYeLEiRrrrerr65Gfn4+ePXt2+h9ZKpUKQqEQDg4OLc4V74hERUVh4MCB2LNnj9bPO7v/LdGe/stkMgiFQo1Fwjk5ORpTazgcDng8HqytrcHj8eDr68sIskQigUqlApvNBpvNBovF0jgafocbhg/WRlVVFe7fvw8Oh4MePXrA2dlZp//NtQdtbYPbg/bWJaDt10UkEuHVV1/FpUuXADwJC33s2DG4uLgw0dIaBkSqrq6GXC6HXC5ndEosFjOR2hpOz+vbt69G2GoAiIyMxMKFC/HCCy9YRGh8bdpEdalz0Zw2mdN/8r/rqerq6lBXVwehUAipVAqFQmFQPep2Wd1eczgc2NraMv+Xy+Uanzc8WCwW5HI57OzswGazmeiH6job/7/hd5YQ0iSiYkObGl5PdV5dNHzp11IExob1tjUvIQQikQhOTk46A48YS5fM39o1QCaTIS0tDatXr9ZIHzduHJKTk7WWSUlJabJwNjo6WuePPnWHRY1QKAQARkAMZceOHUwoyU2bNmHTpk1N8uTk5DBzVNeuXYvdu3frrO/27dvM/NoffvgBO3bsaDbvqFGjAAALFizA8uXLYWtry3zeGn8MRX2OxueSy+UghEClUhklfKklo25E1P52Nn799VcAuhu2zu5/S7Sn/+q9TxqeR/1Doba2FlKpFEqlkhFwDoeD7t27MzaWlJQwbV5jWCwWBg0axPydl5fX7NqHQYMGMdH7qqqq4OTkpNN/9WJtuVzeRNTao51qC+2hS4Bxtenhw4eIiYlBRkaGhk0N10r06tUL//zzD/P3M888o/F3Q/z9/TUWpzs6OsLa2hoRERF49tlnMXHiRPTv3x8AmPtsbrRpE9WlzkVz2mRu/62trWFtbQ0nJyeNqHnq0ava2lrU1dVBpVKBy+VCoVBALpdrtAHqTkpD+2m0VMPo3r07M+DQGGPpkkV1pCoqKqBUKuHp6amRro7OpY2ysjKD8m/btk1rZ+fSpUsanRB9IIQ0Cb2pjd9++425kfn5+Rqfqd8ecLlccLlcXLlyBffu3QPw5EYOGzYMjo6OzOHh4QFPT094eHhALBbj3LlzBtlsKhITEzX+trKygpeXF8RiMbN/RWdHJBKZ2wSzQv03j/9qwXZ1dWVGuuVyORQKBQghGh0nQgi4XC4j0A0PABp5WxISoVAIZ2dn1NXVQS6XQygU6pzOJZPJUFdXh6SkpCZvZS19U8j20CXAuNqkDs/MYrF0vi2WSCQa+qGegqQe0VQf9vb28PDw0Mg7ffp0LFmyhJk9UVhYiMLCQoNsbC8aahPVpa6HJfpvZWUFBwcHrSMd6rZb/a9SqYRSqWQ6U3w+n+kAiMViJr3h91w9mqRu6wEweqCL5tqKjkx9fb3Ol4fG0iWL6kipaWnTtrbkX7NmjcYOz0KhEL6+vhg3blyrpk+MGzcOe/fuxYwZM5hoRY2xtrZmhiGjo6OhUqnAYrF0zoFVM3HiRIPtaW/kcjkSExMxduzYJlP7ioqKYGdn1+mnUKiHkO3t7bvkugDqf8fx35A2rqVofCwWC46OjrC3t4dSqWzW//r6evD5fIwaNUrrFIqOgCl1CTC+NoWFheHy5ct47bXXtG5zwWazNdbOjh8/vlNNAdOmTVSXug7Uf/39b9w2NRzN00bjvM11wAyZrtdwqmFb8zac2mdqXbKojpSbmxs4HE6Tt3aPHj1q8nZPjZeXl0H51W9vG6MeEWoNffr0gaOjo17lO+u+TY2vn1Kp1Ji725lpOPe4s/uqDep/1/ZfIBAwo1G6/FfP2dfWzlp6m9geugQYX5v8/f3h7e0NBwcHi7/GpqTh9aO61HWg/lue/4ZsktzWvCqVihmsMLUuWcbV/V94PB4GDx7cZJpYYmIinn76aa1lRowY0ST/pUuXdOantC+dcaiYQqEYRkduB6gudT468vNIoVCMg7HaAYsakQKApUuXYurUqRgyZAhGjBiBgwcPorCwEHPmzAHwZPO1bt26MZGSFi1ahFGjRmHHjh148cUX8fPPP+M///kPrl27Zk43ujzqNwQymYxu/kuhdHHU88076sgI1aXOgfr5q62tpbpEoXRx1OskDRn90obFdaTeeOMNVFZWYvPmzSgtLUX//v1x7tw5JtpQYWGhxjDd008/jWPHjmHdunVYv349AgMDcfz48Xbfq4OiiZWVFWxtbVFeXg4ul2sxQ8umQKVSQSaTob6+vlP7qQvqP/Vfl/+EENTW1uLRo0fNhqG1dKgudQ44HA6cnJzw6NEjAICtrW2nXT9D2yXqP/Vft/8qlQrl5eWwtbVt83YNFrePVHvT1r06dO2j1FVozn+ZTIb8/PxOG3pVDSEEdXV14PP5nVaUm4P6T/1vyX8nJyd4eXlp/bwj7CNlDqg2tQ1d/hNCUFZWhsePH5vROtND2yXqP/W/ef/ZbDZ69uypNVBch91HitK54PF46NWrV6cPMyuXy5GUlIRRo0Z12R8s1H/qvy7/uVxuhx2JonQ+WCwWvL294eHhYRH7XZkK2i5R/6n/zfvP4/GMMlpHO1IUk8Jmszt9mFkOhwOFQgEbG5su2WBR/6n/Xdl/SseEw+F06g5+V/9eUv+p/+3lf9ebOEmhUCgUCoVCoVAobYR2pCgUCoVCoVAoFArFQGhHikKhUCgUCoVCoVAMpMuvkVIHLRQKha0qL5fLUVtbC6FQ2CXnoXZ1/wF6Daj/1P+2+K9ue7t4ANkmUG1qG9R/6j/1n/rfHrrU5TtSIpEIAODr62tmSygUCqXrIhKJ4OjoaG4zLAaqTRQKhWJe9NGlLr+PlEqlwoMHD2Bvb9+qWPtCoRC+vr4oKirqknugdHX/AXoNqP/U/7b4TwiBSCSCj49Pl9w4UhdUm9oG9Z/6T/2n/reHLnX5ESk2m43u3bu3uR4HB4cu+bCq6er+A/QaUP+p/631n45ENYVqk3Gg/lP/qf/U/9agry7R138UCoVCoVAoFAqFYiC0I0WhUCgUCoVCoVAoBsLZuHHjRnMb0dHhcDiIioqClVXXnCnZ1f0H6DWg/lP/u7L/lkpXvy/Uf+o/9Z/6b2r/u3ywCQqFQqFQKBQKhUIxFDq1j0KhUCgUCoVCoVAMhHakKBQKhUKhUCgUCsVAaEeKQqFQKBQKhUKhUAyEdqQoFAqFQqFQKBQKxUBoR0oP9u/fj549e8LGxgaDBw/G1atXm81/8uRJ9O3bF9bW1ujbty9OnTrVTpaaBkP8P3ToEJ555hk4OzvD2dkZzz33HP788892tNb4GHr/1Rw7dgwsFgsvvfSSiS00LYb6//jxY8ybNw/e3t6wsbFBSEgIzp07107WGh9D/d+zZw+Cg4PB5/Ph6+uLJUuWoL6+vp2sNS5JSUmIiYmBj48PWCwWTp8+3WKZ33//HYMHD4aNjQ0CAgLw5ZdftoOlXROqTVSbqDZRbaLaZGZtIpRmOXbsGOFyueTQoUMkMzOTLFq0iAgEAnL//n2t+ZOTkwmHwyFbt24lWVlZZOvWrcTKyopcv369nS03Dob6/9Zbb5F9+/aR9PR0kpWVRaZPn04cHR1JcXFxO1tuHAz1X01BQQHp1q0beeaZZ8iLL77YTtYaH0P9l0qlZMiQIWTixInk2rVrpKCggFy9epVkZGS0s+XGwVD/v/32W2JtbU2OHj1K8vPzycWLF4m3tzdZvHhxO1tuHM6dO0fWrl1LTp48SQCQU6dONZs/Ly+P2NrakkWLFpHMzExy6NAhwuVyyYkTJ9rJ4q4D1SaqTVSbqDZRbTK/NtGOVAsMHTqUzJkzRyOtT58+ZPXq1Vrzv/7662T8+PEaadHR0eTNN980mY2mxFD/G6NQKIi9vT1JSEgwhXkmpzX+KxQKEhERQb766isSGxvbocXKUP+/+OILEhAQQGQyWXuYZ3IM9X/evHnk2Wef1UhbunQpGTlypMlsbC/0EauVK1eSPn36aKTNnj2bDB8+3JSmdUmoNlFtotpEtakhVJt0Y0ptolP7mkEmkyEtLQ3jxo3TSB83bhySk5O1lklJSWmSPzo6Wmd+S6Y1/jemtrYWcrkcLi4upjDRpLTW/82bN8Pd3R0zZswwtYkmpTX+//LLLxgxYgTmzZsHT09P9O/fH1u3boVSqWwPk41Ka/wfOXIk0tLSmClDeXl5OHfuHJ5//nmT22sJ6Gr/bt68CblcbiarOh9Um6g2UW2i2kS1SX9MqU1dc7tjPamoqIBSqYSnp6dGuqenJ8rKyrSWKSsrMyi/JdMa/xuzevVqdOvWDc8995wpTDQprfH/jz/+wOHDh5GRkdEeJpqU1vifl5eHX3/9FW+//TbOnTuHnJwczJs3DwqFAh988EF7mG00WuP/m2++ifLycowcORKEECgUCsTFxWH16tXtYbLZ0dX+KRQKVFRUwNvb20yWdS6oNlFtotpEtYlqk/6YUptoR0oPWCyWxt+EkCZpbclv6bTWn/j4eHz//fe4cuUKbGxsTGWeydHXf5FIhHfeeQeHDh2Cm5tbe5lncgy5/yqVCh4eHjh48CA4HA4GDx6MBw8e4OOPP+5wYqXGEP+vXLmCjz76CPv378ewYcOQm5uLRYsWwdvbG+vXr28Pc82OtuulLZ3Sdqg2UW1qCNUmqk1Um3RjKm2iHalmcHNzA4fDadLDf/ToUZOerRovLy+D8lsyrfFfzSeffIKtW7fiP//5D8LCwkxppskw1P979+6hoKAAMTExTJpKpQIAWFlZ4e7duwgMDDSt0UakNfff29sbXC4XHA6HSQsJCUFZWRlkMhl4PJ5JbTYmrfF//fr1mDp1KmbOnAkACA0NhUQiwaxZs7B27Vqw2Z17NrWu9s/Kygqurq5msqrzQbWJahPVJqpNVJv0x5Ta1LmvXBvh8XgYPHgwEhMTNdITExPx9NNPay0zYsSIJvkvXbqkM78l0xr/AeDjjz/Gli1bcOHCBQwZMsTUZpoMQ/3v06cPbt++jYyMDOZ44YUXMHr0aGRkZMDX17e9TDcKrbn/ERERyM3NZUQaALKzs+Ht7d2hhAponf+1tbVNBInD4YA8CexjMlstBV3t35AhQ8Dlcs1kVeeDahPVJqpNVJuoNumPSbWpzeEqOjnqEJOHDx8mmZmZZPHixUQgEJCCggJCCCFTp07ViJLyxx9/EA6HQ7Zv306ysrLI9u3bO0WIWX3937FjB+HxeOTEiROktLSUOUQikblcaBOG+t+Yjh4ZyVD/CwsLiZ2dHZk/fz65e/cuOXPmDPHw8CAffvihuVxoE4b6v2HDBmJvb0++//57kpeXRy5dukQCAwPJ66+/bi4X2oRIJCLp6ekkPT2dACC7du0i6enpTIjd1atXk6lTpzL51SFmlyxZQjIzM8nhw4dp+HMTQbWJahPVJqpNVJvMr020I6UH+/btI35+foTH45Hw8HDy+++/M59FRkaS2NhYjfw//vgjCQ4OJlwul/Tp04ecPHmynS02Lob47+fnRwA0OTZs2ND+hhsJQ+9/Qzq6WBFiuP/Jyclk2LBhxNramgQEBJCPPvqIKBSKdrbaeBjiv1wuJxs3biSBgYHExsaG+Pr6krlz55Lq6mozWN52fvvtN63fZ7XPsbGxJDIyUqPMlStXyKBBgwiPxyP+/v7kiy++aH/DuwhUm6g2UW2i2kS1ybzaxCKkC4zpUSgUCoVCoVAoFIoRoWukKBQKhUKhUCgUCsVAaEeKQqFQKBQKhUKhUAyEdqQoFAqFQqFQKBQKxUBoR4pCoVAoFAqFQqFQDIR2pCgUCoVCoVAoFArFQGhHikKhUCgUCoVCoVAMhHakKBQKhUKhUCgUCsVAaEeKQqFQKBQKhUKhUAyEdqQoFAqFQqFQKBQKxUBoR4pCoVAoFAqFQqFQDIR2pCiUDsi1a9fA5XIhlUqZtPz8fLBYLNy/f9+MllEoFAqlq0K1idLVoB0pCqUDkpGRgZCQEFhbW2ukOTk5wc/Pz4yWUSgUCqWrQrWJ0tWgHSkKpQPy119/YdCgQRppGRkZGDBggJksolAoFEpXh2oTpatBO1IUSgckIyMDAwcO1EhLT0+nYkWhUCgUs0G1idLVoB2pDsTmzZvRt29fqFSqVpX39/fHxo0b22zH4cOH0a1bN0gkEr3LHD9+HP369QOfzweLxUJGRkab7dDFkSNHwGKxYGNjo3VOdlRUFPr372+Uc125cgUsFkvrcf36dY28YrEYixcvho+PD2xsbDBw4EAcO3bM4HMqlUr8888/Td763bp1q4mAtRWRSISVK1di3LhxcHd3B4vF0vkMvfvuuzqvhbbroY22PuNtRf3sFBQUmOX8jTHWMwMAX331FVgsFuzs7DTSW/N9pnRNqAbpR3tqkL5ttCFaBbSu7WlPbWqOa9euYeLEiXB2dgafz0evXr2wZcsW5nNDr4UuqF79H+2hVYBl6hXtSHUQHjx4gPj4eGzevBlstvFum1QqxaFDh/D888+jR48esLe3h5OTE0aPHo2IiAgMHz4cixcvRlZWFlMmNjYWAoEA8fHxep2jvLwcU6dORWBgIC5cuICUlBT07t3baD7oQiqVYt26dSY/DwBs3boVKSkpGkdjoXz55ZeRkJCADRs24Pz583jqqacwZcoUfPfddwad6+7du6irq4OPjw+TlpKSgpKSEqO/9ausrMTBgwchlUrx0ksvNZt3/fr1Ta5BSkoK3Nzc0K1bNzz11FPNljfVM96RMdYzU1JSguXLl2s8M2oM/T5TuiZUgwynPTTIkDYa0E+rgNa1Pe2pTbr47rvvEBkZCUdHR3z99dc4d+4cVq1aBUJIk7z6XgttUL3SpD20CrBQvSKUDsHKlStJt27diFKpbHUdfn5+ZMOGDczfeXl5ZNmyZSQpKYnU1NSQmJgYAoD89NNPTJ6CggIyatQowuVyNdI/+eQT4ujoSCQSSYvnvXbtGgFAjh8/3mrbG9Pcef/9738TAGT8+PGEzWaTjIwMjc8jIyNJv379jGLHb7/9RgCQH3/8sdl8Z8+eJQDId999p5E+duxY4uPjQxQKhd7nPHr0KAFA5s+fT7Kzs8m5c+dIUFAQAUCSk5Nb5YcuVCoVUalUhBBCysvLCQCNZ6glrly5QgCQdevWtZjXkGdcn+euNaifnfz8fJPUbwjGfGYmTZpEYmJiSGxsLBEIBE0+N+T7TOmaUA3SxFI0SN82Wl+tIqT1bU97apM2iouLiUAgIHFxcc3mM+Ra6ILq1f/RnlpFiOXpFe1ImZlJkyaRwYMHk4MHD5KwsDBiY2NDunfvTj744APmCyqVSomrqytZsWKF1jr8/f3JtGnTmqSPHj2ajBo1ivm7sYjV1dVp5B86dCixtbVtkv7/2bvzuCir/Q/gnxEGhlVlX0TBBUUUISWXTC1FM5fSbrfFrK5tNy1Tu2ZqWZZhat1raWl2Lb3600rNrpkZ5p7lhoAbboCKoCCCbAoM8vz+4D5PM8wAwzDzzPZ5v16+hGc9Z5jh8H3OOd9z7do1wd3dXQgPD5e2Xb16VVAoFMLKlSsbrN8zzzwjAND6N3DgQGn//v37hfvvv1/w9PQU3NzchL59+wpbt27VusY777wjABCSk5OFRx55RGjVqpUQFBRU7z3FXy67du0S/P39hWHDhmntt0Qg9fzzzwuenp6CWq3W2r5u3ToBgHDgwAGD7zl9+nQhISFB6NSpkwBA6Ny5s3DPPfcIAASVSiX87W9/E27evGlUfRpiTCA1fvx4QaFQCJmZmQ0e19B7vLGf/7lz54QnnnhC8Pf3F1xcXIQuXboIS5cu1brG+fPnhWeffVbo2LGj4ObmJoSEhAgjR44Ujh8/rnVcUxomQz93xjLVe2bNmjWCl5eXkJ2dXW/jZOjnmewP2yDbboM0mSqQMvZ3j9g2jRgxQnBxcRFiY2OFjRs3Ct7e3kL37t0FAMLJkyeFxx9/XPD29hYCAgJM2l69++67AgDh4sWLDR7X3EDK2PbKkLZKEGyvvZKzrRIE62uv2B9pYcnJyThz5gz+9a9/Yfr06diyZQv69++P9957D1999RUA4NChQ7hx4wbuu+8+nfNv3LiBixcvolevXlrbBUHAsWPH0LNnz3rvrVKppK9zcnJw5MgRJCQkaG0HgMDAQHTt2hUXL15EUVERACAoKAhdunTBTz/91GD93n77bXz22WcA/uxG//zzzwEAe/fuxf3334/i4mKsXLkS69evh5eXF0aNGoVvv/1W51pjx45Fx44dsWHDBixfvrzB+wKAl5cX3nrrLfzyyy/YtWtXg8cKgoDq6mqD/ukzadIkODs7w9vbG8OGDcNvv/2mtf/kyZOIioqCs7Oz1vaYmBhpv6HS0tLQs2dPPPnkk9K2wYMHY8eOHUhMTMS6deswdepUk9bPGMXFxdi4cSMGDx6MiIiIBo9t6D0u0vfzP336NOLj43Hy5El8/PHH2Lp1K0aMGIHJkydj7ty50rm5ubnw9fXFhx9+iO3bt+Ozzz6Ds7MzevfujbNnzza5bk353Bn72pviPZOfn48pU6bgww8/RJs2beo9ztDPM9kftkH20QYZqrG2CjD+d4/YNm3duhWVlZVISUnBI488guLiYowdOxYA8MgjjyAyMhKbNm3Cm2++adL2at++ffDx8cGZM2cQGxsLZ2dnBAQE4O9//ztKSkqMei30Maa9MrStAizXXtlCWwVYYXtlqQiOaruhAQjt27fXeiJTVVUlBAUFCSNHjhQEQRAWLFggABCuXbumc43t27fr7TY/e/asAEBYu3attK3u00BNy5YtEwAI//73v/XuHzRokABAKC4ulraNGzdOCAwMbLSe9T396dOnjxAQECCUlpZK26qrq4Vu3boJbdq0kYYriE945syZ0+i9BOHPpzRHjhwRKisrhfbt2wu9evWSrqfvaaBYRkP+aT79OXbsmPDaa68JmzdvFvbt2yd89dVXQlRUlODk5CRs375dOq5Tp046TyUFQRByc3MFAEJiYqJBdRMEQQgMDBTWrVsnvS4LFy7U2j9x4kRBpVJJ9W1O/TQ1tUdKfE+tX7++0WMbeo839PMfNmyY0KZNG633pSAIwiuvvCKoVCqhsLBQ7/2qq6uFqqoqoVOnTsLUqVOl7YY+4WvK587Y194U75lHHnlE6Nevn/ReaOgpn6GfZ7IfbINsvw3S1NDvaEPbKkEw/neP2DbpI0d71blzZ0GlUgleXl5CYmKisHv3bmHhwoWCm5ubcM8990j3aMproY8x7ZWxbZUgyNde2UpbJQjW1V5ph48kqyNHjgAA3n33XbRs2VLarlQq0bFjRxQUFACofTqhUCjg5+en9xrOzs46GXGSk5MBoMGngZq2bt0KhUKBESNG6N1/8eJF+Pv7w9vbW9oWEBCA/Px8VFdX6zyJaEx5eTkOHTqEl19+WSszi5OTE8aPH48ZM2bg7Nmz6NKli7TvkUceadI9AMDFxQXz5s3Dk08+ie+++w6PPfaY3uN69uwp/TwaozkJMi4uTitD0b333osxY8age/fueOONNzBs2DBpn0KhqPeaDe3TdO3aNeTl5SEmJkZ6MjV69GitY2JiYlBRUYH8/HwEBgYCML5+zbFy5Ur4+vpizJgxjR7b0HtcVPfnX1FRgZ07d+Lll1+Gu7u71lOyBx98EEuXLsXBgwcxfPhwVFdXY+HChVi7di0uXLgAtVotHas5id1QTfncNee1b857ZtOmTfjxxx+RkpJi0PurOZ9nsk1sg2y/DTJUU9oqoOm/ezTbpoaYs72qqalBRUUF3nnnHbz55psAajMkuri4YMqUKdi5cyeGDBnS5Neirqa2V01pqwBYrL2ylbYKsK72iq2lBR09ehRKpRKPPvqozr7c3FzpzX379m0olUo4OTnpvUbXrl3h5uams93T09OgzES3b9/Grl27cPfddyMoKEhn/4kTJ3Dx4kU8/fTTWttVKhUEQUBFRYXeNJUNKSoqgiAICA4O1tknfkBv3LihtV3fsYZ4/PHH8dFHH2H27NnS8IK6PD09DU7P2tiHtlWrVhg5ciSWL1+O27dvw83NDb6+vjr1AYDCwkIAgI+Pj0H3DgoKkrIPbdiwAQDg6+urdYy4ovzt27elbaasnyGOHz+Oo0eP4rXXXtNa4b4+Db3HRXV//jdu3EB1dTWWLFmCJUuW6D1H/ENw2rRp+OyzzzBjxgwMHDgQrVu3RosWLfD8889rvU6GasrnztjXvjnvmbKyMkyaNAmvvvoqQkJCcPPmTQBAVVUVAODmzZtQKpXw8PCQzmnO55lsE9sg+2yDDKWvrQKM+92j2TY1xJztla+vL86fP68TCA0fPhxTpkzBsWPHMGTIEL3Xqe+10Kep7VVT2irAcu2VrbRVgHW1V5wjZUFHjx6Fn5+fznjwQ4cOITMzEw8++CAAwM/PD1VVVXrz5h89ehR33XWXzvY9e/YgLi7OoLScO3fuxO3btzFq1Ci9++fMmQOlUomZM2dqbS8sLISrq6tRb2LxF8PVq1d19uXm5gKAztMeQ59U1N4fmwEAACAASURBVKVQKLBgwQJkZGRgxYoVeo/Zu3cvlEqlQf8MWbNBbFDEMnfv3h3p6ek6Y4tPnDgBACZbU6Q+pq5fY1auXAkAeP755w06vqH3uKjuz79169ZwcnLCs88+iyNHjuj9J36G1q5di6effhqJiYkYNmwY7r77bvTq1Uur8WqKpnzujH3tm/OeKSgoQF5eHj7++GO0bt1a+rd+/XqUl5ejdevWGDdunNY5zfk8k21iG2S/bZCh6rZVgO22V/X1hol1bOy9qO+10Kep7VVT2irAcu2VrbRVgHW1V+yRsqCjR4+iuLgYN2/eRKtWrQDULmg3Y8YMhIeHS8kExKEFGRkZWr8orl27hpycHJ2nU3v37sWxY8cwZcoUg8ohTtir24hVVlZi9uzZ+OGHH7B06VKtIQ4AkJmZia5duzahxn/y8PBA79698f333+Ojjz6SnpTU1NRg7dq1aNOmjUnX+RgyZAgSEhLw3nvvISwsTGe/KYdVFBUVYevWrYiNjZX+QBkzZgy+/PJLbNq0SWtox+rVqxESEoLevXs3oTZNJ+fQvsrKSqxduxZ33323wQ1ufe/xhri7u+O+++5DSkoKYmJi4OLiUu+xCoVCp2fsp59+Qk5ODjp27GjQ/URN/dwZ+9o35z0TFBSE3bt362z/8MMPsXfvXvz88886fyQ25/NMtoltkH22QYbS11YBtttePfLII1ixYgV+/vlnraF727ZtAwD06dOn3uvU91ro09T2qiltFWC59spW2irAutorBlIWkpWVhRs3bqBt27Z49NFH8frrr6OiogKffvopkpOTsWfPHunDNmjQIADAwYMHtT604ht+w4YN6Nq1Kzp27IjU1FQpQ1F+fj5OnjzZ4B+zlZWV2Lx5M3x8fKRr5+fnY8uWLUhMTERBQQFWrlyJCRMmaJ1XU1ODw4cP47nnnjP6NZg/fz4SEhJw33334R//+AdcXFzw+eef4+TJk1i/fr3RT//qs2DBAvTs2RP5+fmIjo7W2ufl5aWT0cYQTz75JNq2bYtevXrBz88P58+fx8cff4y8vDysWrVKOm748OFISEjAyy+/jJKSEnTs2BHr16/H9u3bsXbtWp0hAgqFAgMHDsSePXuMqaoOY+sHAD///DPKy8tRWloKoDZT3saNGwHUju92d3fXOv6HH35AYWGhwb1RQP3v8cZ88skn6N+/P+699168/PLLCA8PR2lpKS5cuIAff/xRypQ1cuRIrFq1Cl26dEFMTAySk5OxaNGiRrMD6dPUz52xr72h75m9e/di8ODBmDNnDubMmQOgdtiD+JpqWrVqFZycnHT2meLzTLaFbZB9tEGAYb+jDW2rgKa1V6ZuqwDjX4uhQ4di1KhReO+991BTU4M+ffrg6NGjmDt3LkaOHIn+/fsDMLzdro8x7ZWhbRVgufbK3G0VoNteNbWtAqywvbJMjgv67rvvpCwq48ePF7y9vQUvLy/hoYceEk6fPq1z/L333is8+OCDWtvmzJkjODs7Cxs2bBDCw8MFlUolDBo0SDh06JDQsWNHITg4WCtLS92MSSUlJUJ8fLyUhcXf31/w8/MTgoKChCFDhgiLFi0SCgoK9JZ/586d0loJjWlozQZxDQ8PDw/Bzc1N6NOnj/Djjz9qHSNmwbl+/Xqj9xIE7YxJdT355JMCAJOt4TF//nwhNjZWaNmypeDk5CT4+/sLY8aMEQ4fPqxzbGlpqTB58mQhKChIcHFxEWJiYvRmtCstLRUACI8//niD967vdTH1In3t2rVrUvaohIQEwcPDQygpKWnSffS9xwWh8Z9/VlaWMGHCBCE0NFRQKpWCv7+/0K9fP2HevHnSMUVFRcJzzz0nBAQECO7u7kL//v2F/fv3CwMHDtRaU8aQ166pn7vmMOQ9I36+DMmmWF8mpKZ8nsk+sA2qZettkCAY9ju6KW2VIBj2u8fQtkoQ5Guvbt26JcyYMUMICwsTnJ2dhbZt2wozZ84UKioqpGOa+lroY0x7ZUhbJQi22V4Z+veNoe1VQ1n7rK29YiBlIdOnTxc8PDwMXvF548aNgpOTk3DlyhVp2/Dhw4W4uDiD79lQ6tmmeuqpp4R+/fqZ5Fqk7aeffhIUCoXO4nv2Tt973Bo19XNnC/h5djxsg6i5HLWtEgS2V5ZkbZ99JpuwEHHyX0NZXzSNHTsW8fHxmD9/vrQtOTkZd999t7mKWK+MjAx8++23WLBggez3dgS7d+/G448/ju7du1u6KLLS9x63Rpb63JkLP8+OiW0QNZejtlUA2ytLscbPPgMpCxD+t5p0U8aiKhQKfPnllwgJCUFNTQ0uX76M/Px8i3xALl++jKVLl0rjjcm0Fi1ahHXr1lm6GLKr+x63Rpb83JkLP8+Oh20QmYKjtlUA2ytLscbPvkIQDEj8T3YhPDwczz77LN59911LF4WIiBwM2yAisjcMpIiIiIiIiJqIQ/uIiIiIiIiaiIEUERERERFREzn8grw1NTXIzc2Fl5eXyRffIyKihgmCgNLSUoSEhKBFCz7bE7FtIiKyjKa0Sw4fSOXm5iIsLMzSxSAicmjZ2dlo06aNpYthNdg2ERFZliHtksMHUl5eXgBqXyxvb+8mn69Wq5GUlIShQ4dCqVSaunhWz9HrD/A1YP1Z/+bUv6SkBGFhYdLvYqrFtql5WH/Wn/Vn/eVolxw+kBKHTHh7exvdWLm7u8Pb29th36yOXH+ArwHrz/qbov4cvqaNbVPzsP6sP+vP+svRLnFAOhERERERURMxkCIiIiIiImoiBlJERERERERNxECKiIiIiIioiRhIERERERERNREDKSIiIiIioiZiIEVERERERNREDKSIiIiIiIiayOEX5CXSJAgCFi9ejIsXL8LLywteXl6IjY3FsGHDLF00IiIikzt48CB+++03TJ06FU5OTpYuDpFNYSBFpGHDhg2YNm2azvaDBw+id+/eFigREVmbffv2YdGiRUhOTsbVq1exefNmPPzww9J+QRAwd+5crFixAkVFRejduzc+++wzREdHW7DURLrKysrQt29fAEBwcDDGjRtn4RIR2RYO7SP6n+rqasyZMwcAMGLECLzyyisICQnBW2+9hcjISAuXjoisRXl5OXr06IGlS5fq3b9w4UL885//xNKlS3HkyBEEBQUhISEBpaWlMpeUqGGffPKJ9PWGDRssWBIi28QeKaL/WbNmDc6ePQtfX1+sW7cO3t7eWLJkiaWLRURWZvjw4Rg+fLjefeLw4NmzZ2Ps2LEAgNWrVyMwMBDr1q3DSy+9JGdRiepVVFSERYsWAQBCQ0Mxa9YsC5eIyPYwkCL6n759++Ivf/kL+vTpA29vb539giBAoVBYoGREZCuysrJw7do1DB06VNrm6uqKgQMH4vfff683kKqsrERlZaX0fUlJCQBArVZDrVY3uRziOcacaw9Y/8brv3DhQhQXFyM6OhrJyclo0aKF3bxe/Pmz/pr/G3u+IRhIEf1Ply5dsGHDBgiCoLNv9+7dePvttzFv3jwMGjRI/sIRkU24du0aACAwMFBre2BgIC5dulTvefPnz8fcuXN1ticlJcHd3d3o8uzYscPoc+0B66+//sXFxVi8eDEAYNSoUdi+fbucxZINf/6svzFu3bpl8LEMpIjq0NfrtHHjRhw4cADvvPMO9uzZw54pImpQ3d8RjfVoz5w5UyvRTUlJCcLCwjB06FC9PeSNUavV2LFjBxISEqBUKpt8vq1j/Ruuf3V1NdRqNbZt24a5c+eipqYGO3fuxLZt27Bw4UK4uLhYoNSmw58/69+c+osjAgzBQIoc3ldffYX9+/fjnXfeQXh4uN5jZs6ciZUrV2Lfvn3Yt28fBg4cKG8hicgmBAUFAajtmQoODpa25+fn6/RSaXJ1dYWrq6vOdqVS2aw/hJp7vq1j/fXXX6lU4rnnnsNzzz0HALhz5w6ee+455OXlYfTo0Xaz5Ad//qy/MfVvyjnM2kcOb9u2bVi1ahXWrFlT7zFt2rTBk08+CQD44Ycf5CoaEdmYiIgIBAUFaQ0pqaqqwt69e9GvXz8LlozoT+np6Vi2bBlmzZqF8ePH45VXXsGoUaMAAN9//72FS0dkO9gjRQ7tzp072L17NwBgyJAhDR77wAMP4Ouvv3b4McdEjq6srAwXLlyQvs/KykJqaip8fHzQtm1bTJkyBYmJiejUqRM6deqExMREuLu7Sw9jiCzp999/x/3336+V3ASoHXkB1D4s/Pzzz7k4L5EB7KJHKicnB0899RR8fX3h7u6O2NhYJCcnW7pYZANSU1NRWFgILy8vxMfHN3js4MGDoVAocOrUKeTm5spUQiKyNkePHkVcXBzi4uIAANOmTUNcXJy0Dt0bb7yBKVOmYOLEiejVqxdycnKQlJQELy8vSxabCEBtOv7KykoolUpMmjQJAwYMAFCbgKJVq1bIz8/H77//buFSEtkGmw+kioqKcM8990CpVOLnn3/G6dOn8fHHH6NVq1aWLhrZgJ07dwIABg0aBGfnhjtofX190bNnTwDAr7/+avayEZF1GjRoEARB0Pm3atUqALWJJt59911cvXoVFRUV2Lt3L7p162bZQhP9T0pKCgCgY8eOWLp0KV5++WUAwOHDhzFy5EgAwC+//GKx8hHZEpsf2rdgwQKEhYXh66+/lrbVlzCAqC4xIGpsWJ9o9OjR8PHxgZ+fnzmLRUREZBaZmZkAgNjYWAC1aygCtSM0xEWkNYeuElH9bD6Q2rJlC4YNG4ZHH30Ue/fuRWhoKCZOnIgXXnhB7/Fc9NC0bLn+FRUV2L9/PwBgwIABBtXhzTfflL6uW3dbfA1MgfVn/TX/N/Z8IpJHUVERAEhrIrZt2xYhISHIzc3FnTt3AABXr161VPGIbIrNB1KZmZlYtmwZpk2bhlmzZuHw4cOYPHkyXF1d8fTTT+scz0UPzcMW65+TkwMvLy+4ubnh4sWLDS6WaQhbfA1MifVn/Y3RlIUPiah5zpw5g5qaGgCQhvEpFAr07dsXmzZtQk1NDa5fvw5fX19LFpPIZth8IFVTU4NevXohMTERABAXF4dTp05h2bJlegMpLnpoWrZa/48//hjz5s1Dt27dEB8fDxcXFwwePBgtWhg2bTA3NxfFxcWIioqy2dfAVFh/1l+uhQ+JqHm2bt0KAHB2dkZISIi0vV+/fti0aROSk5M5dJ2oCWw+kAoODkbXrl21tkVFRWHTpk16j+eih+ZhS/Xfv38/Zs+ejZqaGhw6dAiHDh3C0qVL8eKLL+KLL75o9PyvvvoKzz33HB544AH8/PPP0nZbeg3MgfVn/c298CERNY84nN3f319ruzhP6vfff4cgCFAoFLKXjcgW2XzWvnvuuQdnz57V2nbu3Dm0a9fOQiUia3bz5k089dRTqKmpwWOPPYavv/5a6rlcsWKFlM2oIWKa9L179+qsw0FERGStysvLAQDjxo3T2n7XXXfBxcUFBQUFeOuttzB69Ggpqy0R1c/mA6mpU6fi4MGDSExMxIULF7Bu3TqsWLECkyZNsnTRyMoIgoCXXnoJly9fRlBQEH755RekpaVh9erV0kKZ06dPhyAIDV6nW7duCAoKwu3bt7nWBhER2QRBEHDs2DEAwGOPPaa1z9XVVVreY9euXfjxxx8NerBI5OhsPpCKj4/H5s2bsX79enTr1g3vv/8+Fi9erPO0hWj16tX47rvv4OzsjAEDBuDmzZuoqqoCAMybNw8uLi7YuXMnkpKSGryOQqGQ0qU7eoIBIiKyDRkZGSgqKoKrqytiYmJ09ovD+8SRFmKadCKqn80HUkBt5pkTJ06goqIC6enp9aY+J8dVXV2NGTNmAADef/99ZGdnA6gdGgoAEREReOWVVwAAb7zxhpQCtj4DBw4EULuAIRERkbX7448/ANTOLRcz92kSA6nr168DYCBFZAi7CKSIGrN3717k5+fD19cXU6dOxfHjxwH8uSAhAMyePRutWrXC8ePHsXbt2gavd9dddwEAjh071uhQQCIiIkvbtWsXAODy5ct6k7z069cPQO3SIAADKSJDMJAih7BhwwYAwNixY5GdnY3y8nK4uroiMjJSOsbHxwezZs0CAMydO7fBACk6OhrOzs4oKipq9vpTRERE5nbw4EEAQFBQEJycnHT2h4SEoG3btlLbd/HixUZHZxA5OgZSZPeqq6uldPh//etfkZqaCgDo3r07nJ21VwCYNGkS3NzckJWVhbS0tHqv6erqisTERKxZswatW7c2X+GJiIiaqaqqChcuXAAAnSVjNInD+1q0aAG1Wi31ThGRfgykyO7t2bMHBQUF8PPzw6BBg6QAqUePHjrHuru7Y+jQoQCA//73vw1ed/r06XjqqafQsmVL0xeaiIjIRE6cOIHq6moAQFxcXL3HRUdHAwA8PT3h6emJa9euyVI+IlvFQIrsnuawPmdnZ0REROD++++XEk3U9dBDDwEAtmzZIlsZiYiIzOXcuXPS1126dKn3OHENzri4OJSUlODuu+82e9mIbJlz44cQ2a66w/oAYMKECZgwYUK954wYMQIKhQLHjh1DdnY2wsLC9B6nVqtx4MABnDx5st5jiIiILO3y5cvS15pzg+sSA6krV65AoVCYvVxEto49UmTXdu/ejRs3bsDPz09KWd6YgIAAKXtRQ71SVVVVuP/++/Hqq6+iqKjIJOUlIiIytaysLOnrhgKp8PBwAEB2drbeFOlEpI2BFNm17777DgDwyCOPwNnZGcXFxbh582aj54nD+xqaJ+Xh4SENkWCaWCIislZi0oh//OMf8Pf3r/e40NBQODk5oaqqCsOHD8dTTz0lVxGJbBIDKbJb1dXV2Lx5M4A/h/WtWrUKrVu3xvPPP9/guaNHjwZQm6iiuLi43uPESbsMpIiIyFqJi9Dff//9DQ7Zc3Z2RmhoKAAgKSkJSUlJspSPyFYxkCK7lZKSghs3bqB169YYMGAAAEgZ+8SGoj6dO3dG586doVarsX379nqPExfmZSBFRETWSpwj1bZt20aPFedJAcD169dRWlpqtnIR2ToGUmS3fv/9dwC1q7WL60U1lPq8LkOG97FHioiIrFlpaak0j/f8+fONHi8GUm5ubgC051cRkTYGUmS3NAMpoHao36lTpwAYFkiJw/u2bdsGtVqt9xgxkMrLy2PCCSIisjrisD4ADS40LxITTnh6egLgg0KihjCQIrtVN5A6e/YsKisr4enpiYiIiEbP79OnD3x9fVFcXIyjR4/qPaZ169ZSo2NIA0VERCQnzdTnwcHBjR4v9kiJIzkYSBHVj4EU2aXs7GxcuXIFTk5OiI+PB6A9rK9Fi8bf+k5OTtKivX/88Ue9xy1ZsgQLFixAnz59TFByIiIi0zE2kKqqqgLAQIqoIQykyC6JgU+PHj3g4eEBAEhNTZW2Gapv375a19Nn2LBh6Ny5M1QqlbHFJSIiMgtjA6nS0lJ4enri9u3bZisbka1ztnQBiMyh7rA+ABgwYACKi4sxdOhQg68jBlK///47BEHgSu9ERGRTLl68KH1tSCAlZvarqqpCTk4O/Pz8zFU0IpvHHimyS/oCqZEjR+KLL76QsvEZIj4+Hk5OTsjNzdWasKtJTJH++uuv15uUgoiIyBLEoXkKhQKBgYGNHq9SqRAUFAQAuHTpklnLRmTrGEiR3bl9+zZSUlIAaAdSxnB3d0dsbCyA+of3OTs7Y9WqVViyZAkyMjKadT8iIiJTEoOhVq1aSQkkGiMO72MgRdQwBlJkd44ePYrq6moEBwdLQxQKCwuRmpqK8vLyJl9Pc3ifPgqFQlrgNz093chSExERmdadO3eQn58PANi4caPB54mB1Jw5c9CzZ0/k5eWZpXxEto6BFNkdzWF94pympKQkxMXFYdiwYU2+ntir1VDCiTZt2gBgIEVERNYjLy8P1dXVcHJywoABAww+TwyksrKycOzYMeTm5pqriEQ2jYEU2R1986POnTsHAOjcuXOTryf2SKWkpNSbvYiBFBERWRtxbm9oaKjBw/qAPxflVSqVAICrV6+avGxE9oCBFNkVQRCkniMxAAL+DKQiIyObfM127dohKCgI1dXV9S7MGxYWBgA4c+ZMk69PRERkDmLq8+rqavz2228Gnyf2SNXU1AAArl27ZvrCEdkBBlJkVzIyMnD9+nW4uLjgrrvukrY3J5BSKBSNDu8T50idOXMGgiA0+R5ERESmJvZI5ebmSmspGkIMpCorKwEwkCKqDwMpsiuHDh0CAPTs2ROurq4AanupmhNIAY0nnAgODoazszPKyspw5coVo+5BRERkSprLdhiyhpRIDKSqqqoAMJAiqg8DKbIrx48fBwDExcVJ265fv47i4mIoFAp06NDBqOuKgdQff/yht8fJ2dkZe/bsQV5enjRfioiIyJLEoX1A0wIpLy8v+Pj4SN9zjhSRfgykyK6IgVRMTIy0TeyNateuHVQqlVHX7dmzJ5RKJfLz85GVlaX3mLvvvhsBAQFSpkAiIiJLMjaQAv7slXJzc2tSogoiR8JAiuzKiRMnAADdu3eXtoWFhWHhwoWYPHmy0ddVqVTSnKuG0qATERFZC1MEUosWLcL69etNWi4ie8FAiuxGYWEhcnJyAADdunWTtrdr1w7Tp0/H1KlTm3X9Xr16AUC9E3YzMjIwffp0vPnmm826DxERUXNVVFSgqKgIANCyZcsmj8gQA6lLly6ZvGxE9oKBFNkNsTcqPDwc3t7eJr9+jx49ANQfSBUXF+Ojjz7CV199ZfJ7ExERNUVBQYH0dUhISJPPZyBF1DibD6TeffddKBQKrX9BQUGWLhZZgL5hfQCQlJSEEydOQK1WN+v6sbGxAIC0tDS9CSfExX6vX7+OGzduNOteREREzXH9+nUAtW3Tf//73yafLwZSv/76K+666y5cvHjRlMUjsgs2H0gBQHR0NK5evSr9E/+gJseiL5C6c+cORo0ahZiYmGanJe/WrRtatGiB69ev681g5OHhgbZt2wIA0tPTm3UvIrJt1dXVeOuttxAREQE3Nze0b98e7733nrTAKZG5iT1SHTp0QKdOnZp8vjinqqSkBCkpKdLQeSL6k10EUs7OzggKCpL++fv7W7pIZAH6MvZdvnwZVVVVcHFxkYIcY7m5uUm9TmlpaXqPiYqKAsBAisjRLViwAMuXL8fSpUuRnp6OhQsXYtGiRViyZImli0YOQgykwsLCjDpfHN0jBv9cS4pIl13kszx//jxCQkLg6uqK3r17IzExEe3bt9d7bGVlpbRSN1D7pAUA1Gq1UUO/xHOaO2zMVllL/WtqanDy5EkAQJcuXaTynD59GkDtE7mamppmPw3u3r070tPTkZycjCFDhgDQfg0iIyPxyy+/4NSpUxZ/TeRiLe8BS2H9m1d/e33d/vjjDzz00EMYMWIEgNq5m+vXr8fRo0ctXDJyFGKiibS0NBw9elRKmGSowMBAAH8GUlxLikiXzQdSvXv3xn/+8x9ERkYiLy8P8+bNQ79+/XDq1Cn4+vrqHD9//nzMnTtXZ3tSUhLc3d2NLseOHTuMPtceWLr+eXl5KCsrg7OzMy5cuCCN5d66dSuA2oxF27Zta/Z9xKxHv/zyi85crB07dqC6uhoAsH//fpPcz5ZY+j1gaay/cfW/deuWiUtiHfr374/ly5fj3LlziIyMRFpaGn777TcsXrxY7/F8yGdarL8aN2/eBAAcPHgQ6enpUsIkQymVSnh7e0vvxZycHJt5PfnzZ/01/zf2fEPYfCA1fPhw6evu3bujb9++6NChA1avXo1p06bpHD9z5kyt7SUlJQgLC8PQoUONyvSmVquxY8cOJCQkQKlUGlcJG2Yt9d+yZQuA2vlyo0ePlrYnJSUBqP2j5sEHH2z2fZydnfGf//wH+fn50vU0XwMvLy8sW7YMlZWVJrmfLbCW94ClsP7Nq7/4R5q9mTFjBoqLi9GlSxc4OTnhzp07+OCDD/DEE0/oPZ4P+czDkesvBlJAbeY9Yx7ueXp6Sp/Ro0eP2twDQkf++QOsvxwP+Gw+kKrLw8MD3bt3x/nz5/Xud3V1haurq852pVLZrD+Cmnu+rbN0/cU5STExMVrluHDhAoDauUumKF/Pnj0B1A4nraqqgoeHh7RPqVSiX79+uHLlCkJCQqBQKJp9P1ti6feApbH+xtXfXl+zb7/9FmvXrsW6desQHR2N1NRUTJkyBSEhIXjmmWd0judDPtNi/dVagdTDDz8szfFtig4dOiA3NxcA4OLiYjMPCPnzZ/3lesBnd4FUZWUl0tPTce+991q6KCSj+lKfnzt3DgAQGRlpkvsEBQUhMDAQeXl5OHnyJHr37q21X6VSITQ01CT3IiLbJS7O/fjjjwOo/d106dIlzJ8/X28gxYd85uGo9RcEQZojBQBt27Y16nUQM/epVCqoVCqbey0d9ecvYv3N/4DP5rP2/eMf/8DevXuRlZWFQ4cO4S9/+QtKSkr0NlRkv/Rl7AOAf/7zn0hMTER0dLTJ7iWOM68vcx8R0a1bt9CihXYT6+TkxPTnJIvS0lJpnoe7uzu8vLyMuo4YSE2ZMgWbNm0yWfmI7IXN90hduXIFTzzxBAoKCuDv748+ffrg4MGD0kJyZP8qKiqkoZx1e6TGjBlj8vvFxsYiKSkJqampevd/8803+O677zB69Gg8++yzJr8/EVm/UaNG4YMPPkDbtm0RHR2NlJQU/POf/8SECRMsXTRyAHl5edLXwcHBRg81F1OgM/U5kX42H0h98803li4CWVh6ejru3LkDHx8f6emZOTXWI3XmzBls3rwZPj4+DKSIHNSSJUvw9ttvY+LEicjPz0dISAheeuklzJkzx9JFIweQn58vfd2cdlEMpJj6nEg/mw+kiDSH9Wk+dUtNTcWlS5fQo0cPhIeHm+x+sbGxAGoDKX3DdMQV5OtLeEJE9s/LywuLFy+uN905kTmJPUi9evXCmjVrjL6OJCOBMQAAIABJREFUGEgdOnQIcXFxWLdunbTwPBHZwRwpovoSTaxevRoPP/wwli5datL7RUZGwtXVFeXl5cjMzNTZz0CKiIgsSeyRatOmTbMeJIqBVFlZGVJTU5GdnW2K4hHZDQZSZPPOnDkDAOjatavWdjHIad++vUnv5+zsLAVt+uZJiYHU1atXUVZWZtJ7ExERNUbskQoMDGzWdcRASlxsnnOliLQxkCKbd/bsWQDQWSMjKysLgOkDKeDPeVL6AqnWrVvD19cXAJCRkWHyexMRETVE7JFKTU1FSkqK0dfx9/fXyj7JQIpIGwMpsmmVlZVSz5NmICUIgrQ9IiLC5PcVA6mTJ0/q3c/hfUREZCli1r5Dhw7h4sWLRl/HyckJAQEB0vcMpIi0MZAim5aRkYGamhp4eXlpZSYqKChAeXk5FAqFWVLhi+tSnTp1Su/+jh07QqVSobCw0OT3JiIiaohm+nN/f/9mXUsc3gcwkCKqi1n7yKZpDuvTzNgn9kaFhIRApVKZ/L7ifKzMzEzcvn1bZ//y5cuxevVqnQU5iYiIzE0z/TkDKSLz4V95ZNPqmx9lrkQTosDAQPj4+KCmpkYqgyYPDw8GUUREJDtBELQCHlMFUiqVCm5ubs26FpG94V96ZNPqC6QGDBiAb7/9Fm+88YZZ7qtQKKThfadPnzbLPYiIiJqqpKQElZWVAGrnOLVq1apZ1xMDqRdffBE//fRTs8tHZE8YSJFNqy+QCg0NxV//+leMHDnSbPcWh/elp6fr7FOr1Xj00UcRGxuL0tJSs5WBiIhIk+b8KD8/v2aPjhADKQ7rI9LFQIpsliAI0hpSXbp0kf3+DfVIKZVK7NmzB2lpabhw4YLcRSMiIgdVN5BqLjGREwMpIl0MpMhmFRQUoKioCAqFQko3Lvr3v/+NH3/8EeXl5Wa7f0M9UgBToBMRkfzEgKdTp074/vvvm309sUcqJSUFcXFx9WarJXJEDKTIZonD+tq2bas1AVatVuOll17C6NGjUVJSYrb7iz1SmZmZqKqq0tkvBlLskSIiIrmIPVJ+fn4mWUdRDKTKy8uRmpqKnJycZl+TyF4wkCKbVd/8qMuXL6OmpgYqlUorbaupaWbuu3Llis7+jh07AmCPFBERyUcMpJqbZEIktqM1NTUAgOvXr5vkukT2gIEU2SwxkKo7P0pMfR4REaG1tpSpKRQKaXhfdna2zn4O7SMiIrmJQ/syMjLw22+/Nft6Xl5eWqM+NNeoInJ0DKTIZllqDSlN4vA+BlJERGQNxB6pc+fOmWR5DoVCoTW6gz1SRH9iIEU2S8zYVzeQysrKAiBPINVYj5Srqyt8fX1RUVFh9rIQERGZOmsf8GfmPoA9UkSanC1dACJjqNVqqeepvh4pU0yybUxDPVLe3t64detWs9fwICIiMpRmmnJ/f3+TXJM9UkT68S88skmZmZmorq6Gh4cHQkNDtfbJ2SMlBlLXrl3T2+vEIIqIiOQiCIJZeqTEQEqlUkGlUpnkmkT2gH/lkU3SnB9VN6HEihUr8M0336B3795mL0dgYCBat26NmpoaqUxERESWUFJSgsrKSul7U/dIPfXUU/j2229Nck0ie8BAimxSfYkmACAuLg6PPfaYWVOfizQz9+mb1Ltx40b07NkTU6ZMMXtZiIjIsWkO62vRogV8fHxMcl2xPdW8PhExkCIbVV+iCUsQA6n09HSdfZWVlTh27BhSU1PlLhYRETkYzWF9Xl5eJhtezkCKSD8GUmST6uuRSktLw6effooDBw7IVpaoqCgA+nukOnToAKB2PQ8iIiJzEgOp+Ph4zJ8/32TXFQOpkydPIjY2Frm5uSa7NpEtYyBFNklcmykyMlJr+6+//orXXnsNS5cula0sDQ3tEwOpnJwcpkAnIiKzEnuM2rRpg5CQEJNdVwykKioqkJaWxp4pov9hIEU2p6SkRFrHomPHjlr7Ll68CAAIDw+XrTxdunQBUJstsKqqSmufn58fvL29IQiClE2QiIjIHMQeqcDAQJNeNyAgQOt7pkAnqsVAimyOOEwuICAA3t7eWvssEUgFBwfDzc0Nd+7cwYULF7T2KRQKqVeq7j4iIiJTEgOpY8eOITk52WTXdXV1RatWraTvuSgvUS0GUmRzxICkbm8UYJlASqFQoE2bNgD0J5zgPCkiIpKDOOTu8OHDOHfunEmvrdkrxR4poloMpMjm1BdICYJgkUAKgBRIidkENXXt2hWRkZFwdXWVtUxERORYNHuKWrZsadJrawZS7JEiquVs6QIQNZWYaKJuIFVYWIiysjIAQNu2bWUtU0OB1Ny5czF37lxZy0NERI5HM8CpO/S9uTTnXbFHiqgWe6TI5tTXIyX2RgUGBsLNzU3WMoWGhgLQP7SPiIhIDnL0SLm5uUGpVJr02kS2yu4Cqfnz50OhUGDKlCmWLgqZiRhIderUSWt7VFQUDh48iP/85z+ylyksLAxAbY+UIAj1HtfQPiIiImOVl5fj1q1b0vemDqTEHqnx48dj+fLlJr02ka2yq0DqyJEjWLFiBWJiYixdFDKT8vJyXL16FcCfSRxE7u7u6N27N4YOHSp7uQIDA+Hs7Izy8nJcuXJFa58gCLj33nvh4+ODS5cuyV42IiKyf3WH25l6aJ/YI8X5UUR/sptAqqysDOPGjcOXX36J1q1bW7o4ZCZib5Svr69V/ZydnZ2lwK7uPCmFQoHr16+jqKiImfuIiMgsNAMchUIBLy8vk15f7JFiIEX0J7tJNjFp0iSMGDECQ4YMwbx58+o9rrKyEpWVldL3JSUlAAC1Wg21Wt3k+4rnGHOuPZC7/mKQ0qFDB517fv3117h16xZGjBgha9Y+sRydO3fG2bNncfLkSQwaNEjrmPbt2+Ps2bM4d+4cBgwYIFvZ5MDPAOuv+b+x5xNR84g9Ut27d8fatWtNvgi82COVkpKCHj164ODBg7LPRyayNnYRSH3zzTc4duwYjhw50uix8+fP15tBLSkpCe7u7kaXYceOHUafaw/kqv+2bdsA1E52Fb8WJSYm4tKlS7h58ybi4uJkKY8mcfJtUlIS2rdvr7WvRYvazt8dO3YgJCRE9rLJgZ8B1t8YmnM6iMh4Yk9RaGgooqKizBZI3b59G8ePH8f169dlz5BLZG1sPpDKzs7Ga6+9hqSkJKhUqkaPnzlzJqZNmyZ9X1JSgrCwMAwdOtSo8cRqtRo7duxAQkKCQ2axkbv+W7ZsAQDce++9ePDBB6XtgiBg/PjxAIC//OUv6Ny5s9nLIhJfgwceeACbNm1CRUWFVtkAIDMzEz/99BMEQdDZZ+v4GWD9m1N/cVQAETWPGEhprvdkSprpzwEwkCKCHQRSycnJyM/PR8+ePaVtd+7cwb59+7B06VJUVlbCyclJ2ufq6qp3YVSlUtmsP4Kae76tk6v+4hyjLl26aN2vsLAQpaWlAGqH/VniZxEdHQ2gdvhh3ftHRkYCALKysuz2fcLPAOtvTP0d+TUjMiUxkDp+/Dg2bdpk8mF33t7ecHFxQVVVldb9iByZzSebGDx4ME6cOIHU1FTpX69evTBu3DikpqZqBVFk+xpbQyooKMhiY7bFXrBr167h5s2bWvvERBQZGRlMgU5ERCYnzpFKTU3F7t27TX59hULBRXmJ6rD5HikvLy9069ZNa5uHhwd8fX11tpNtu3XrFnJycgDUH0jJmWSiLi8vL4SGhiInJwdnzpxBnz59pH0RERHo1KkTOnTogNu3bzdrPh4REVFdmj1Efn5+ZrlHQEAAsrOzde5H5KhsvkeKHEdmZiYAoFWrVvDx8dHaZw2BFFA75BDQTYHu6uqKc+fO4eeff2YQRUREJqcZ2Pj7+5vlHprzr9gjRWSngdSePXuwePFiSxeDTOz8+fMAanujFAqF1j5rCaSioqIAAOnp6RYtBxFZXk5ODp566in4+vrC3d0dsbGxSE5OtnSxyE5pBjbm6pESh/a5u7tL2WiJHJnND+0jx1Hf/CgAmDNnDp588kmzNR6Gqq9HSpNareYEeyI7V1RUhHvuuQf33Xcffv75ZwQEBCAjIwOtWrWydNHIDgmCoNMjVVFRYfL7iD1SL774IubPn2/y6xPZGgZSZDPEQKpTp046+/z8/CweRAF/9kjpC6RWr16N119/HcOHD8eaNWvkLhoRyWjBggUICwvD119/LW2zdI852a+SkhIpmx5Q2yZeuXLF5PcRe6Ty8vJMfm0iW8RAimxGQz1S1kLskcrIyEBlZaVWqn13d3fcuHFDSuFORPZry5YtGDZsGB599FHs3bsXoaGhmDhxIl544QW9x1dWVqKyslL6XlxfS61WQ61WN/n+4jnGnGsPHK3+YiImUatWrXDlyhWT11+cn5yXl2fVr62j/fzrYv2bV/+mnMdAimxGfYFUcXEx3n//fYSHh2PSpEk686fkFBwcDG9vb5SUlCAjIwNdu3aV9onlFutBRPYrMzMTy5Ytw7Rp0zBr1iwcPnwYkydPhqurK55++mmd4+fPn4+5c+fqbE9KSmpWgpodO3YYfa49cJT6i6Mg/P398fbbbyMtLQ1OTk4mr784H/nAgQOIjo7GokWLTHp9U3OUn399WH/j6n/r1i2Dj2UgRTahoqJCSrkqrskkyszMxMcff4zAwEC88sorliieRKFQoEuXLjh8+DDOnDmjFUiJ5b5+/TpKSkrg7e1tqWISkZnV1NSgV69eSExMBADExcXh1KlTWLZsmd5AaubMmZg2bZr0fUlJCcLCwjB06FCjfleo1Wrs2LEDCQkJDjkn09HqLz5Bj4iIwN///nez1T80NBRz585FZWUlzp8/j0GDBlllJlpH+/nXxfo3r/7iiABDMJAim5CVlQVBEODl5aWVfhWwnox9Is1ASpO3tzf8/PxQUFCAjIwMxMXFWaiERGRuwcHBWg9SgNo5lJs2bdJ7vKurq9ZQYJFSqWzWH0LNPd/WOUr9CwsLAdTOYdKsr6nrHxoaqvX9zZs30bJlS5Nd39Qc5edfH9bfuPo35RzmriSbIA6H69Chg87QvaysLADWFUgB+hNOiMP7OE+KyL7dc889OHv2rNa2c+fOoV27dhYqEdkzMWPfhQsXsGrVKrPdp+76VEw6QY5O9kBKrVYjOzsbZ8+elZ6gEDVGDDzqDusD/uyRspY/UMRASt9aUmL5OU+KSD6WaHemTp2KgwcPIjExERcuXMC6deuwYsUKTJo0SZb7k2MR15BKT0/HDz/8YLb7ODs7w9fXV+e+RI5KlkCqrKwMX3zxBQYNGoSWLVsiPDwcXbt2hb+/P9q1a4cXXngBR44ckaMoZKPEQEpfxj4xkIqIiJCzSPXS7JESBEFrX+/evTF06FCEhYVZomhEDsPS7U58fDw2b96M9evXo1u3bnj//fexePFijBs3zmz3JMdVdw0pcxJToAMMpIjMPkfqX//6Fz744AOEh4dj9OjRePPNNxEaGgo3NzcUFhbi5MmT2L9/PxISEtCnTx8sWbJE7zpB5Ng0h/bVZW1zpDp27AhnZ2eUlZUhNzdXa0z5q6++ildffdWCpSOyf9bS7owcORIjR440+XWJ6pIzkAoICMDp06d17kvkiMweSP3+++/YvXs3unfvrnf/3XffjQkTJmD58uVYuXIl9u7dy0CKdNQ3tE8QBFy6dAmA9QRSSqUSHTp0wNmzZ3HmzBmdyblEZF5sd8jRaPYMyRFIAYCHh4fOqAsiR2P2QGrDhg0GHefq6oqJEyeauTRki6qrq6WEEvqG9p05cwYXL15E+/bt5S5avbp06SIFUoMHD9bZX1JSAg8PDzg5OVmgdET2je0OORpLDO2bPHkyZsyYYdZ7EVk7WZNNLF++HD179kSnTp0wbNgwfPHFFw676jIZLjs7G9XV1XBxcdHp3VEoFAgODkbfvn3h4uJioRLqaixzX8uWLXH+/Hm5i0XkcNjukL2rqamxSI8UM/YRyRhIbdmyBRMnToRKpUKvXr1QXl6OSZMmYcCAASgoKJCrGGSDxGF9ERERNtOD01DmPi8vLwDM3Edkbmx3yBEUFhaipqZG+l6uHinOjyKSMZBavXo1Vq9ejQMHDmD9+vX47bffkJGRAW9vbyQkJODOnTtyFYVsjBhw6BvWt3XrVkyfPh1JSUlyF6tBDfVIifO8uJYUkXmx3SFHIPZGeXt74/Tp0zoLQZua2CO1b98+JCQkmPVeRNZOtkDq5s2bGD9+vNa2du3aYevWraisrMS6devkKgrZmIbWkPrll1/w0UcfYdeuXXIXq0FiIJWTk4PS0lKtfVxLikgebHfIEYg9Q0FBQYiKioJKpTLr/cRAqqSkBPv27WPCCXJosgVSrVu31rtdqVTi/fffx3fffSdXUcjGGLKGlLVk7BO1atUKQUFBAICzZ89q7RPrwR4pIvNiu0OOQAykxADH3DTXkaqqqkJJSYks9yWyRrIFUsePH6/3CfyIESNw6tQpuYpCNsaQNaSsZTFeTfUN72OPFJE82O6QIxCH9uXm5mLJkiVmv1/dgI1zpciRyRZIXb16FZ07d0b37t3xzjvv4NixY9I+lUoFDw8PuYpCNkQQhAbXkLLWHimg8UDq4sWLnKNBZEZsd8gRiIFMZmYm1qxZY/b7eXp6wt3dXef+RI5ItkAqNDQUS5cuRUxMDD799FPEx8ejXbt2mDJlCn799VedeSREAHDt2jXcunULLVq00AmWCgsLUVZWBgBo27atBUrXsPoCqTZt2mDYsGGYMGECbt26ZYmiETkEtjvkCORcQ0qk2SvFQIocmdkX5BX169cPf/vb3/Dyyy+juroaO3fuxObNm7FhwwZ8+umnUCgUchWFbIjYGxUWFgZXV1etfWJvVFBQENzc3OQuWqPqS4Hu5OSE7du3W6JIRA6F7Q45AksEUkFBQVIbzECKHJlsPVKvvvoqNm/eDABwdnbGsGHDsHz5cuTk5GDv3r0ICwuTqyhkQxrK2GfNw/qAPwOp8+fPo7q62sKlIXI8bHfIEci5GK9ITDjh6enJIerk0GTrkYqLi6v3j8l7772XT+hJr4bWkBozZgxycnKk4X3WJiwsDO7u7rh16xaysrLQqVMnrf1lZWUoKyuTsvsRkWmx3SFHYKkeKQB4/fXXMXHiRFnuSWSNZOuRAoD4+Ph694lP74k0NdQj1aJFC4SEhCAyMlLuYhmkRYsW6Ny5MwDd4X0rVqyAl5cXGyAiM2O7Q/bOEoGU2CN17do1We5HZK3M3iMVERFh1Dj0KVOmYPLkyWYoEdmShtaQsgVRUVFISUlBeno6Ro8eLW1v06YNAKZAJzIHtjvkKNRqNQoLC6Xv5e6RysvLk+V+RNbK7IHUqlWrjDrPWue9kLwaWkNq2rRpcHJywuTJk612rkNUVBQA3R4pcZjfhQsXUFNTgxYtZO0cJrJrbHfIUYjzoxQKBY4fPy5bBluxR2rXrl0YM2aMNBeRyNGYPZAaOHCguW9BdqqoqEh60ta+fXutfYIg4Msvv0RZWRleeOEFSxTPIGIgdfr0aa3t4eHhcHJywu3bt5Gbmyv1UBFR87HdIUch9ggFBASgW7dust1X7JEqKSnBgQMHZLsvkbWR9TF4dna2nLcjGycO6wsMDISXl5fWPmtfQ0rUtWtXALU9UoIgSNuVSqUUHJ4/f94iZSNyBGx3yJ6JgZTYQyQXzfsVFBQwcx85LFkDqXbt2sHX1xf3338/pk6ditWrVyM1NRWHDh3C008/LWdRyAY0lGgiKysLABAcHAyVSiVruZqiY8eOcHZ2RllZGa5cuaK1Txzex0CKyHzY7pA9E5M9FBYWYv78+bLdVzOQEgQBN27ckO3eRNZEtvTnAJCZmYnU1FSkpqYiJSUFGzduRG5uLgDA29vbqGsuW7YMy5Ytk9YUio6Oxpw5czB8+HBTFZssRJwfVTdtOGD9a0iJlEolOnXqhPT0dKSnp2vN5WIgRWR+5mh3iKyF2CN15coVfP7555g5c6Ys9/X09ISnp6c0MiQ/Px8BAQGy3JvImsgaSIWHhyM8PBwPP/ywtO2PP/7AM888gwULFhh1zTZt2uDDDz+UsrqtXr0aDz30EFJSUhAdHW2ScpNliAGGvox9thJIAbXzpNLT03H69GkMHTpU2n7fffehvLwc/fr1s2DpiOybOdodImuhmTVProx9osDAQK1AisgRWTxVWN++ffHJJ59g3rx5Rp0/atQoPPjgg4iMjERkZCQ++OADeHp64uDBgyYuKcmtocV4xUAqIiJCziIZRXOelKaHHnoIX375JcaMGWOJYhE5rOa2O0TWwpKBlOZi8gykyFHJ2iOlVquhVCp1tnfq1AmnTp1q9vXv3LmDDRs2oLy8HH379tV7TGVlJSorK6XvS0pKpLKp1eom31M8x5hz7YE56y8GUhERETrXv3TpEgAgLCzM4q99Y6+BOITv1KlTFi+rOfAzwPpr/m/s+eZi7naHyJIs3SMFAF5eXg77+49I1kDKw8MDXbt2RVxcHGJjYxEXF4eQkBAsWbJEa8hTU504cQJ9+/ZFRUUFPD09sXnzZqkXoK758+dj7ty5OtuTkpLg7u5udBl27Nhh9Ln2wNT1v3XrltRAXLhwQWf19AkTJmDMmDFwdXXFtm3bTHpvY9X3GoiTcI8fP65T1srKSly9ehWBgYFwc3MzexnNiZ8B1t8Yt27dMnFJtJmr3SGyBtbQI/Xaa69h/Pjxst6byFrIGkjt2rULaWlpSEtLw//93/9h1qxZuH37NgBg6NChmD17NmJiYhATEyOtv2OIzp07IzU1FTdv3sSmTZvwzDPPYO/evXqDqZkzZ2LatGnS9yUlJQgLC8PQoUONmnisVquxY8cOJCQk6H3qae/MVf+UlBQAgJ+fH/7617+a7Lrm0NhrcPv2bbz++usoLS1FfHy8VmPXo0cPpKenY9u2bRgyZIicxTYZfgZY/+bUXxwVYC7maneIrIE19EjVfdBJ5EhkDaT69++P/v37S9/X1NTg7NmzUkal5ORkfPXVV8jPz2/SmgQuLi7SPJpevXrhyJEj+OSTT/DFF1/oHOvq6gpXV1ed7Uqlsll/BDX3fFtn6vqLQ/c6depkM69rfa+BUqlEeHg4srKycP78eYSEhEj7xIx+mZmZNlPP+vAzwPobU39zv2bmaneILK26uhoFBQXS95bqkdIM5ogcjayBVF0tWrRAVFQUoqKi8MQTT0jbm/uhFARBax4U2Z6GEk2kpaVh3rx5iI+PxxtvvCF30YzStWtXZGVlIT09HQMHDpS2MwU6kbzM1e4Qya2goEBa6P3EiRMIDg6W9f5iILVnzx6MHz8ea9askfX+RNbA7Fn7Ll++3KTjc3JymrRC96xZs7B//35cvHgRJ06cwOzZs7Fnzx6MGzeuqUUlK9JQ6vMTJ05g48aN2L59u9zFMpo4ZOj06dNa2xlIEZmeudsdImsgBv/+/v7o1q0bfH19Zb2/+JkpLS1lpmRyWGYPpOLj4/HCCy/g8OHD9R5TXFyML7/8Et26dcP333/fpOvn5eVh/Pjx6Ny5MwYPHoxDhw5h+/btSEhIaG7RyYIa6pHKzMwEALRv317WMjVHfSnQGUgRmZ652x0iayAGUpZ6CMD050QyDO1LT09HYmIiHnjgASiVSvTq1QshISFQqVQoKirC6dOncerUKfTq1QuLFi3C8OHDm3T9lStXmqnkZEliICUGGppsMZCqr0cqMjISAJCVlYXq6mo4O1t0tC2RXTB3u0NkDcRAqqioCO+++y5mz54t6zxNzQCupKQEFRUVUKlUst2fyBqYvUfKx8cHH330EXJzc7Fs2TJERkaioKBAegI/btw4JCcn48CBA2zMCABQVlaGq1evArCfHikxkMrNzUVxcbG0PSQkBG5ubqiurpYWGSai5mG7Q45ADKRycnIwf/582R/EqVQqrWzH169fl/X+RNZAtk+dSqXC2LFjMXbsWOTk5AAAQkND5bo92ZCMjAwAtX8MtW7dWme/LQZSLVu2REhICHJzc5Geno4+ffoAqJ34/vrrr8PDwwOenp4WLiWRfWG7Q/ZMM0FKUFAQFAqF7GUICgqSljDIz89HWFiY7GUgsiSz90hpOnDgACIiItC2bVu0bdsWgYGBmDFjhtnXESHb0tCwvoqKCukPIlsKpID650m9//77ePPNN7XGmxORabDdIXulGUhxnhSRZcgaSL300kuIjo7GkSNHcPz4cSxatAg7d+5Ez549tdZCIMfWUMa+3NxcuLi4wMvLS/YMRc0lDu87deqUhUtC5DjY7pC9qtsjZQnifb28vLjsDDkkWQOpjIwM/Otf/8Jdd92F6OhoPP300zhy5AhiY2MxefJkOYtCVqyhjH3t27fH7du3cf78eYsMY2iO6OhoALqBVFVVFU6fPo0//vjDEsUismtsd8heWUOPlHjfV155BQ8//LBFykBkSbIGUlFRUbh27ZrWNoVCgffeew8//vijnEUhK9bQ0D6gdl6RLa750r17dwDAyZMntbYfPHgQ0dHRXPuMyAzY7pC9sqYeKS5oTY5K1kDq2WefxYsvvqizWGJxcTFatmwpZ1HIijXUI2XLxB6pK1euoKioSNoupkC/dOkSh0YQmRjbHbJHNTU1WlnyLN0jVfdhBZGjkDVX5pQpUwDU/uE4duxYxMbG4s6dO1i7di0WLVokZ1HISt26dUtKJqEvkHrjjTdw6dIlTJ06Vcp8ZytatmyJsLAwZGdn49SpU+jfvz+A2obI29sbJSUlOH/+PLp162bhkhLZD7Y7ZI9u3LiBO3fuAABOnDhh8R6pffv24ZlnnsHq1astUg4iS5E1kLp27RpSUlKQlpaG1NRUrFq1Sprr8uGHH+Knn35CTEwMYmJi8MADD8hZNLISYurz1q1b600msX37dpw4cQJ/+9vf5C6aSXTv3h3Z2dk4efKkFEgpFApERUXh0KFDOHPmDAMpIhNiu0P2SBxK5+PjY9E6AXbTAAAgAElEQVQ2Q+yRKisrw8GDBy1WDiJLkTWQCggIwLBhwzBs2DBpW0VFBU6cOIHU1FSkpaVhy5YtSExMxM2bN+UsGlmJhob1CYIgrSEVEREha7lMpVu3bti2bZvOPKkuXbrg0KFDOqnRiah52O6QPRIDKUvPF9bsCbt69aoFS0JkGfIug62HSqVCfHw84uPjLV0UsgINpT6/fv06ysvLoVAo0K5dO7mLZhLik8MTJ05obRdTo585c0b2MhE5Grnbnfnz52PWrFl47bXXsHjxYlnuSfZNDKRu3ryJd955B2+//TacneX/ky4gIED6urS0FOXl5fDw8JC9HESWImuyCaLGnDt3DoD+jH1ib1RoaChUKpWs5TIVMZA6efIkBEGQtnfp0gWA7mK9RGTbjhw5ghUrViAmJsbSRSE7IgZSV69exaJFi+Dk5GSRcri4uMDHx0f6nr1S5Ggs3iNFpOns2bMAgM6dO+vsEwOp9u3by1omU4qKikKLFi1QWFiIa9euITg4GADQq1cvvPfee+jRo4eFS0hEplJWVoZx48bhyy+/xLx58xo8trKyUitrZ0lJCQBArVZDrVY3+d7iOcacaw/svf65ubnS14GBgaiurtbaL2f9AwMDUVhYCADIzs62ihEj9v7zbwzr37z6N+U8BlJkVRoKpLKysv6fvTuPb6rK/8f/yta0TfeWdIG2LGWgSAHZBKlQAYsgdZlxnNGPCogjKJsgiCgugILiDg6M1hnFEWUcEPQxItCvWAoipRaQHSpbKW0p3ZM2abbz+6O/e02apUnb5GZ5Px+PPKDJvcn7nab3nXPPuecA8O2GVHBwMPr27Ytz587hxIkTfEOqe/fuePHFFwWOjhDSlebMmYO77roLEydObLchtWbNGqxYscLq/j179iA0NLTDMeTl5XV4X3/gr/kfOXKE/79cLsfOnTttbueJ/M2HFO7cuZM/CeAN/PX37yzKv2P5Nzc3O70tNaSI16irq+PXxeDWVjKnUqkgk8l8uiEFtA7vO3fuHE6ePIns7GyhwyGEuMGWLVtw5MgRFBUVObX9smXLsGjRIv7nxsZGJCcnIzs7GxERES6/vl6vR15eHu644w7IZDKX9/d1/p7/P/7xD/7/f/jDHzBlyhSLxz2Z/5dffokTJ04gPDwcAwcOtIpFCP7++28P5d+5/F05GUANKeI1uOujkpKSEB4ebvX466+/jtdeew06nc7ToXWpjIwMbNu2zWrmvmvXruHo0aNITEzEsGHDBIqOENJZV69exYIFC7Bnzx6nr+eUy+WQy+VW98tksk59Eers/r7OX/Ovqqri/5+UlGQ3R0/k36NHDwDAE088gWnTprn1tVzlr79/Z1H+HcvflX1osgniNRwN6+NIJBKEhIR4KiS3MJ9wwtyGDRuQk5OD3NxcIcIihHSR4uJiVFVVYdiwYZBKpZBKpdi3bx/WrVsHqVTKL6RKSEdxk00AEGwxXk737t0BAGVlZYLGQYgQqEeKeA1nGlL+gGtInTp1CiaTCWJx6/kMmgKdEP8wYcIEqyUOZsyYgf79+2Pp0qWCzbBG/ANjzKJHSui1pLgeqWvXrgkaByFCoB4p4jUcNaRKSkowfPhw/O1vf/N0WF2uT58+kMvlaG5u5ifQAGgKdEL8BXetiPlNoVAgNjaWP5FCSEfV1dXxs4odP34cf/7znwWNh+uR+uWXX3D33XcLGgshnkYNKeI1HDWkzpw5g+LiYhQXF3s6rC4nlUoxYMAAAJbD+7iGVFVVFT+VLCGEEGKOG9YXGRmJjIwMxMXFCRoP15DSarU4ePCgoLEQ4mnUkCJewWg0oqSkBID9HinA9kK9vog7K20+/CcsLAzJyckAaHgfIf4mPz8f7733ntBhED/ALXor9LVRHG4ZDwCoqanx+QmhCHEFNaSIVygtLUVLSwvkcrnNxfy4Gf1sTYvui+xNOMH1SlFDihBCiC3ctUgqlQovvfSS4JOXBAUFQalU8j9XVlYKGA0hnkUNKeIVuGF9aWlpNi/E5nqk/KUhlZGRAaB1fLs5bsIJuk6KEEKILVxDqry8HO+8845XTF7CTTgB/N5jRkggoFn7iFdob8Y+rkfKX4b2DRkyBEBr3s3NzQgNDQUA/N///R9uueUWjBw5UsjwCCGEeCnz2fGEnrGP06NHDxw5cgQANaRIYKEeKeIVHDWkmpqa+MLhLz1SCQkJUCqVMJlMFtdJjRw5Eg899BDS0tIEjI4QQoi3Mm9Iect1UtyEEwA1pEhgoYYU8QqOGlJVVVXo27cv4uPjERMT4+nQ3EIkEuHmm28GABw9elTgaAghhPgKb25IhYSEgDEmcDSEeA41pIhX4BpStnqcevXqhfPnz/vdYn/2GlL5+fl4//33UVpaKkRYhBBCvJi3Du0DgNtuuw1PPfWUwNEQ4jl0jRQRnFqt5guDvWukAHjFBbVdiWtIHTt2zOL+F154AQcPHoRSqURKSooQoRFCCPFCBoPBYuict/VIlZWVCRwJIZ5FPVJEcNyMfHFxcX4zdM8Z3IQTx48fh8Fg4O/nZvQzv3aKEEIIuX79OkwmE/+zt/RIcQ0pfxs5Qkh7fL4htWbNGowYMQLh4eFQKpW49957+WFixDe0N2PfXXfdhVGjRqGwsNCTYbldWloawsLCoNVqLT6zgwYNAmA9NTohhJDAxjVUkpKScP78edx///0CR9SKG9rX0NCA0aNHCxwNIZ7j8w2pffv2Yc6cOTh06BDy8vJgMBiQnZ2NpqYmoUMjTmqvIVVYWIjCwkLI5XJPhuV2YrEYgwcPBmB5nZS9NaYIIYQENq4hlZycjL59+yI2NlbgiFqFh4dDoVAAAA4fPiz4IsGEeIrPN6R27dqF6dOn46abbsLgwYPxySefoLS0FMXFxUKHRpzkqCFVW1uLmpoaAPDLKcFtXSfFNaSuXr2K+vp6QeIihBDifbiGlPl0496C65UymUyoqqoSOBpCPMPvJptoaGgAALvX2rS0tKClpYX/ubGxEQCg1+uh1+tdfj1un47s6w+6Iv/Tp08DaG0otX2eM2fOAGgdxiCXy73yfe7Me8A1mo4cOcLvr1AokJKSgtLSUhw9ehSZmZldF6wb0N8A5W/+b0f3J4S0j2tInTt3Di+99BJeeeUViMXecU48OTmZPzFaUVGBxMREgSMixP38qiHFGMOiRYuQmZmJgQMH2txmzZo1WLFihdX9e/bsQWhoaIdfOy8vr8P7+oOO5m80GvmGVFVVFXbu3GnxeH5+PoDWhnHbx7xNR94DtVoNACgqKsJ3330HkUgEAFAqlSgtLcWWLVv4xr63o78Byr8jmpubuzgSQvwX15A6deoUSktLsXLlSoEj+h0tyksCkV81pObOnYvjx4/jwIEDdrdZtmwZFi1axP/c2NiI5ORkZGdnIyIiwuXX1Ov1yMvLwx133AGZTNahuH1ZZ/M/f/489Ho9QkJCMGPGDKsza4cPHwYA3HLLLZgyZUqXxNzVOvMetLS0YOnSpVCr1Rg4cCBSU1MBtDakGGO46aabOtXA9wT6G6D8O5O/r5woIMQbmM+K5209PtSQIoHIbxpS8+bNw7fffouCggJ+nK4tcrnc5qQFMpmsU1+COru/r+to/ufPnwcA3HTTTTZ/LxcuXAAA9O/f3+vf3468BzKZDAMGDMDx48dx6tQp/jowX5z1iP4GKP+O5B/I7xkhrjJfpyk5OVnASKyZf/eihhQJFN4xsLYTGGOYO3cuvv76a+zduxe9evUSOiTigpMnTwJobUjZolQq0bt3b/Tv39+TYXkUN+GE+cx9hBBCiDnGmEWPlLc1pLgeKZlMBqnUb87TE+KQzzek5syZg88//xxffPEFwsPDUVlZicrKSmg0GqFDI07gGlL2rmlbt24dLly4gKlTp3oyLI+y15D65JNPMGfOHFopnhBCCBobGy2WdvHWhlRcXByWLVsmcDSEeIbPN6Q2btyIhoYGZGVlITExkb/95z//ETo04oRTp04BsN8jFQhsTYEOtDYiN2zYQFP5E0II4XujuN6elJQUIcOxwjWkKisraTZOEjB8viHFGLN5mz59utChkXbodDp+qlRbPVJGoxGMMU+H5XHcorylpaW4ceMGfz83NfqJEycEiYsQQoj34BpSEokEgPf1SCmVSkilUjDGUFlZKXQ4hHiEzzekiO8qKSmBwWBARESEzQlCcnNzoVQq8dxzzwkQnedERkby14AVFhby9w8aNAgAcPz4cUHiIoQQ4j24hlRmZibOnTuHMWPGCByRJbFYzM8kOGrUKKhUKoEjIsT9qCFFBGM+0QS3fpK5U6dOobq6GiaTydOhedwtt9wCwLIhxfVIUUOKEEII15BKSUnBH/7wB4SFhQkckTXupGh5eTmuXLkicDSEuB81pIhg2ptoor3H/YmthhTXI1VSUkKTpxBCSIDjGlLm6zV5G/PRJdSQIoGAGlJEMO1NNNHe1Oj+ZNSoUQBaFyDmeuASEhIQFxcHk8mE06dPCxkeIYQQgXENqb179+LDDz8UOBrbzBt51JAigYAaUkQwjnqcqqqqUF1dDZFIhPT0dE+H5nEZGRkICQlBQ0MDv0ixSCTih/dxk3IQQggJTNxSGAcPHsS3334rcDS2mTekLl++LFwghHgINaSIIDQaDX777TcAthtSXCOrT58+CA0N9WhsQpBKpRg2bBgAy+F9ubm5qK6uxkMPPSRUaIQQQryANy/Gy0lNTeX/Tz1SJBBQQ4oI4uzZs2CMITY2Fkql0urxQFxfirtO6tChQ/x9ffr0QWxsrFAhEUII8QJ6vR5VVVX8z97akOrTpw//f2pIkUBADSkiCPNhfbZm7IuPj8fEiRORmZnp6dAEY2vCCUIIIaSiogKMMb5eemtDqnfv3vz/o6OjBYyEEM+ghhQRRHs9Tg888ADy8vKwePFiT4YlKG7CiePHj6O5uZm/f/Xq1ZgwYQItzEsIIQHK2xfj5URFRSEmJgYA8MYbbwgcDSHuRw0pIohAmtrcWT169EBiYiKMRiOOHDnC3//jjz9i7969+PnnnwWMjhBCiFC4hhQ3q2tKSoqQ4TjEDe+7cOGCwJEQ4n7UkCKCcNSQ0mq1qK+v93RIghOJRDaH940YMQJA69TohBBCAg83Yx/XkDJfr8nbcMP7qCFFAgE1pIjH1dfX8xeh2hral5+fj+joaIwfP97ToQnOUUOqqKhIkJgIIYQI6+LFiwCAhQsXoqSkBHK5XOCI7ON6pFauXIlPPvlE4GgIcS9qSBGP44at9ezZkx9LbY7rrYqLi/NoXN7AUUPq1KlTFtdOEUIICQxc707//v2RlpYmcDSOcQ0plUrFL3NCiL+ihhTxOK4hxa2b1FYgTn3OGT58OMRiMUpLS1FRUQGgdYHDhIQEGI1GHD16VOAICSGEeBrXkPL2RhRAU6CTwEINKeJxxcXFAOw3pAJ5Iorw8HA+759++glA67VTI0eOBEDD+wghJNAYjUZ+aN+HH36IXbt2CRyRY+ZToF+6dEnASAhxP2pIEY9z1JAymUw4ffo0gMBsSAHA2LFjAQD79u3j7xsxYgSio6Oh1WqFCosQQogAysrKoNfrIRKJ8NVXX/EnG71V9+7dIZPJAFBDivg/akgRj2poaEBJSQkA2w2py5cvo7m5GUFBQRbDAwJJVlYWgNZJNzhLlixBTU0NnnvuOWGCIoQQIghuWF9wcDAA711DiiMWi5GamgoAuH79OnQ6ncAREeI+1JAiHsVd45OamorY2Firx7nro9LT0yGVSj0am7cYN24cgNYhjjdu3AAAyOVyfkV7QgghgaPtNOLevIYUp2/fvgBaR5lwU7cT4o+oIUU8qr3ro5KSkjB79mzcf//9ngzLq8TFxSEjIwMAUFBQYPU4t44IIYQQ/8fNfNfS0gLA+3ukgN8nxUhKSoJGoxE4GkLchxpSxKPaa0gNGzYMGzduxPLlyz0Zltfhhvf9+OOP/H3vv/8+evbsiddff12gqAghhHga1yNlMpkgkUiQmJgocETt44bmjx49OiBn4CWBgxpSxKPaa0iRVraukzIajbhy5YrFGlOEEO+0Zs0ajBgxAuHh4VAqlbj33ntx7tw5ocMiPsh8aF9SUhIkEomA0TiHa0i1HZZIiL+hhhTxmMbGRpw/fx6A7YaUSqVCYWEhzUyH32fuO3XqFKqqqgAAt956KwDgwIEDNLyPEC+3b98+zJkzB4cOHUJeXh4MBgOys7PR1NQkdGjEhzDGLBojvnB9FPD7FOgXLlygekX8GjWkiMdwE02kpKQgLi7O6vGCggKMGjUKI0aM8HRoXicuLg6DBg0C8Pt1UsOGDYNCoUBtba3XT39LSKDbtWsXpk+fjptuugmDBw/GJ598gtLSUr5XnhBn3LhxAyqVCiKRCLW1tdi2bZvQITmlV69eAFpPkE6YMEHgaAhxn8CcFo0Ior1hfdxiszfffLPHYvJmWVlZOH78OPLz83H//fdDJpMhMzMTu3fvRn5+Pt/QIoR4v4aGBgBATEyMzcdbWlr4yQSA1h58ANDr9dDr9S6/HrdPR/b1B/6SPzcctHv37ggLCwPgXE5C5y+VShEXF4fq6mqcO3fO43EInb/QKP/O5e/KftSQIh7jbEOKeqRaZWVlYd26dRbXSWVlZWH37t3Yt28f5s+fL1xwhBCnMcawaNEiZGZm2l1ofM2aNVixYoXV/Xv27EFoaGiHXzsvL6/D+/oDX8+fO/5HRUVh586dLu8vZP7R0dGorq5GZWUlduzYgaCgII/H4Ou//86i/DuWf3Nzs9PbUkOKuJXJZOIX4ysvL0dqaipGjhxpdR0UYwwVFRVITU3FiBEjfOo6Kb1eD6lUCq1WC6PR2GXPO2rUKKSmpkKtVuPatWuIjY1FVlYWUlNTcfHiRTQ3N0MsFn50rrvy9xWUv+P8ZTKZT1wc705z587F8ePHceDAAbvbLFu2DIsWLeJ/bmxsRHJyMrKzsxEREeHya+r1euTl5eGOO+6ATCbrUNy+rL38jUYjDAYDGGMCROe8c+fOITU1FQqFAvv378f8+fMRHR3d7n4GgwEHDx7ErbfeKtiajJMnT+brf69evdCvXz+PvbY35C8kyt9x/iKRCDKZzO53KG5EgDNEzNuPIm7W2NiIyMhINDQ0dLhY7dy5E1OmTAnYYmUvf51Oh0uXLsFkMsFkMuHq1asAgB49elh9sTIYDLh27RqA1muofGnxWcYYNBoNQkJCujzu8vJy6PV6xMXFQaFQgDGG69evIygoCFFRUV7RkHJn/r6A8m8//6ioKCQkJNh8vLPHYG83b9487NixAwUFBfx1I86g2tQ59vJnjKGyshL19fUCRue86upqiwlKkpOTnTrue8NxqaGhgX+fuRrmKd6Qv5Ao//bzF4vF6NWrl82eUleOv4HXTCUewfUwSSQSJCcno7m5GRqNBjKZjF+oz1x9fT1aWloQHBzMz/bjK0wmE9RqNcLCwrq8YSOXy1FbW4vo6Gh0794dALzu/XFn/r6A8refP2MMzc3N/MyTvrD+TVdhjGHevHnYvn078vPzXWpEEffhGlFKpRKhoaFe/yXTZDIhJCQEQGvvLjetuDP7CX1cqqur43sDunXrhvj4eI+9tjfkLyTK33H+JpMJ5eXlqKio6PTJe2pIEbcwGAxobm5GUlISQkND+bNS4eHhCA4Otrm9o8e9GTd8MTg4uMsPWHFxcaitrYVarYZcLvfKou/O/H0B5e84f+5LYFVVFZRKZcAM85szZw6++OILfPPNNwgPD0dlZSUAIDIykn9PiGcZjUa+ERUbGyt0OE4xv+g9JCTE6froDcel8PBw/v96vd6jtd0b8hcS5d9+/t26dUN5eTkMBkOneu0D790lHsFdK8F1mapUKgDgZx1qKyYmBj169HBq7Hcg4c6m6PV6i4sfTSYTVCqV14/vJwQAP1lCIM0gtXHjRjQ0NCArKwuJiYn87T//+Y/QoQUs7vPXmck7PIm7jovjaycZzeOVy+UCRkKINe77aWevbfb5hlRBQQFycnKQlJQEkUiEHTt2CB0SMSMSiWAymfgx3uZnqMyFhoYiISHBL6+R6AyxWIzIyEgA4Hv1GGM4fvw4zp0751OTcpDA5Y09qe7GGLN5mz59utChBTxf+Txy0+Fz8fpaQ0oqlfINKK6OEeItuuo44PMNqaamJgwePBgffPCB0KEQO5qbm2EymSCVSn2uEHgDrgBx69CIRCL+jCrX00cIIcS/mK8rBvheQwr4fWivRqMROBJC3MPnr5GaPHkyJk+eLHQYxAHzYX22zgA0NTVBq9UiLCyMuv9t4BpSzc3N0Ol0CAoKQnh4OBobG6FSqaBUKgWOkBBCSFcz75FijPlkQ4q7RrqpqQlGozFgrpEkgcPnG1KuotXju5a9/PV6PRhj/LU8QGtDymQyWT1HTU0NfyF6jx493B90F+OuU+Ly7WoSiQQKhQJNTU2or69HXFwcf62ZSqVyy2u6wt35ezvKv/38TSYTGGPQ6/VWX6QC9dhJSHu47yrx8fFISEjwyUkDuNETtbW1CAoK8skaT4gjAdeQotXj3aNt/lKpFAkJCVCpVFCr1QBaz6rZWuTMfMiaK4ugeRt3DrOTy+V4+OGHMWDAAKxfvx6MMYjFYhgMBly/ft0rZgFrL/+pU6ciIyMDa9asAdD6xXvhwoX45ptvUF9fj4KCAmRkZHgi1C7XNjch1NbW4pZbbsEPP/yAlJQUj73utGnTMHLkSMyZM8fuNjqdDhqNBgUFBRYXzwOurSBPSCDhhsMFBwd7dU9OVlYWhgwZgvfee8/qMfPa5K3D+9rGzxjDrFmzsHXrVtTV1eHo0aMYMmSIwFF2zPjx4+3+bjylpqYG6enpOHz4MHr27Omx1502bRrGjh2LZ555xq2vE3ANKVo9vmvZy1+r1eLq1auQyWQwmUyQSCTo1q2b1f5Go5E/66ZUKr3iPZwxYwY+++wz/ueYmBgMHz4cb7zxBgYNGmS1PWMMKpUK4eHhbruImXtfjEYjP5NfZGQk6urqYDAYBJ2kw9n8d+zYAZlMxk848v333+OLL77A3r170bt3b8TFxfnkCuyMMfz73/9GdHS0234PWVlZ2L9/P/9zdHQ0brvtNnz00Uf839WqVauQk5ODgQMH8tsVFBTgrbfewpEjR1BRUYFt27bh3nvvdfp1ndn/lVdewYQJE/DUU0/ZvaBcq9UiJCQEY8eOtRqe5MsnTwhxF24NNuD3Xp3p06dj06ZN/DYxMTEYMWIE1q5da7M2eYOgoCCIxWKYTCavbUh9/fXXFt89du3ahU8//RT5+fl8bfJVW7dudeslE2PHjrWqTWPHjkVubi5fm9asWYOcnByLRlRBQQHefPNNFBcXo6KiAtu3b3e5NrW3/5IlS3DPPffgb3/7m1u/I/leP3EnyeVyREREWNyA1i+qHb11dn9fv9nLXyQS8YWA+/Lf9sb1VgUHB0Mul9vcxtM3kUiEO++8ExUVFaioqMAPP/wAmUyGu+++2+72QGuPmrtiCg0NhVgsBmMMarUaYrGYnyq+oaFB8PfLmfzj4uIQGRnJ/3zp0iUkJiYiMzMTSUlJfMF15WYwGAT/vOj1er4R1ZnnsZeLSCTCsWPH8NZbb6GiogLXrl3Dl19+iR9//BGrV6+GWCxGS0sL/vWvf+Fvf/ubxb4ajQZDhgzhJ+NxNSZn9h88eDBSUlLwxRdftPs5cXQMIYT8rqWlhR8qW1payo/caFubpFIppk6dKmSoDolEIr5XSqfTdXqqaXeIiYmxmFH4woULSExMxK233oqEhIQOneDT6XRdGWKH6HQ6q9w6+jy2MMZs1qa9e/fi1VdfBdDaC/nPf/4Tjz/+uMW+nZ0ozpn9Bw4ciJ49e2Lz5s0deg1nBVxDingWN+15WFgYmpqarG7Xr1+HRqOBRCKx+XhX3Dqy1pJcLkdCQgISEhIwZMgQLF26FFevXsWNGzcAtJ6xyszMRFRUFLp164a//OUvuHDhgsVzbN26FRkZGQgJCUFsbCwmTpzIvx+MMaxduxa9e/dGSEgIBg8ejK1bt1q8b48++ijCwsKQmJiId955hz+YcwU1MjIS3bt3t1jpvqWlBfPnz4dSqURwcDAyMzNRVFTEP56VlYX58+fj2WefRUxMDBISEvDKK684fC969uxpNSxgyJAhFvtNnToVCxYscPi8WVlZePrppwG0nlmdN28eSktLIRKJ+DNVzsQ/d+5cLFq0CHFxcbjjjjv4++fNm4enn34a0dHRiI+Px0cffYSmpibMmDED4eHh6NOnD77//nuHuXLPP3fuXERFRSE2NhbLly+3+Ay1jWHSpEmYOnUqFi5c6PTvwVEubZWUlEClUiErKwsJCQlISkrCpEmT0KdPH/7z9P3330MqlWL06NEW+06ePBmvvvoq/vjHPzrM2x5n9588eTKtj0R8EmPMbbWnM7WJ+9sWi8UW18I6W5tiYmLQu3dv5OTkuLU2vf322+2+xwqFAjqdDm+99RYSEhI8WpvGjx/f7vP6Y21SKpW47777MH78eD43Z/JwlEtbvlCbcnJy8OWXX3boNZzl8w0ptVqNY8eO4dixYwCAS5cu4dixYygtLRU4MmI+NEEsFiMsLMzqlp6ejrFjx2LAgAE2H++KW2evwVCr1di8eTPS0tIQGxsLoLWYLFq0CEVFRcjLy4NYLMaf/vQnvthVVFTgwQcfxGOPPYYzZ84gPz8ff/zjH/mD3vLly/HJJ59g48aNOHXqFBYuXIiHH34Y+/btA9DaJf3jjz9i+/bt2LNnD/Lz83Hy5EkAQF1dHT9cMjEx0WIM+rPPPott27Zh06ZNOHLkCNLS0jBp0iTU1tby22zatAkKhQKFhYVYu3YtVq5c2SXX+H322WdOP+/777+PlStXokePHqioqOAP5M7GL5VK8dNPP+HDDz+0uD8uLg6HDx/GvHnz8OSTT4+xtegAACAASURBVOLPf/4zbr31Vhw5cgSTJk3CI4880u7ngXv+wsJCrFu3Du+++y4+/vhjm9v89NNP2Lhxo9VzOJOHo1zMFRcXIygoiL9+rKWlBbm5uSgpKcHs2bMBtA5zGD58uMO83Gno0KE4fPiw1XTNhHi75uZmt9WeztQm7jGuZtiasc9RbSosLMQ333wDsViM++67z621qbi42OF7HBoainXr1mHv3r344IMPPF6bXHlef6lN+/fvx7vvvmv1HIFWm0aMGOH+2sR83I8//sgAWN2mTZvm1P4NDQ0MAGtoaOjQ6+t0OrZjxw6m0+k6tL+vs5e/RqNhv/76KysqKmLFxcWssbHR5u/JEze1Wu1STtOmTWMSiYQpFAqmUCgYAJaYmMiKi4ttbm80GllJSQkDwE6cOMEYY6y4uJgBYJcvX7baXq1Ws+DgYHbw4EGL+2fOnMkefPBBplKpWFBQENuyZQv/WE1NDQsJCWEPPfQQKyoqYnV1dTafVyaTsc2bN/P36XQ6lpSUxNauXcsYY2zcuHEsMzPTYr8RI0awpUuX2n0/UlNT2bvvvmtx3+DBg9nLL7/M5z9mzJh2n3fcuHFswYIF/M/vvvsuS01NdTn+IUOGWMXYNi+DwcAUCgV75JFH+PsqKioYAPbzzz/bzXXcuHEsPT2dmUwm/r6lS5ey9PR0i23MY+Dynz9/vtN5OMqlrcWLFzORSMR/HkUiEYuPj2cHDhzgt7nnnnvYY4895vB5ALDt27e3+3qu7m80Gtn+/fvtft4Zaz0enD59mmk0GqvHOnsM9ldUmzrHVv62Podqtdora9PZs2dZUVERKyoqYr/88gszGo0u1Saj0cjq6upYZWWlR2qT+bG9raqqKiaVStmqVavY1atX+d+PO2sTl78zz+uPtck8fy63QKpNXP5Hjx61+3nvqrrke1d2t5GVldWhoVvE/bRaLcRiMRQKBcLCwvjroczp9Xo0Nze7ddXzjszGePvtt/M9DbW1tdiwYQMmT56Mw4cPIzU1FRcuXMCLL76IQ4cOobq62mIs+8CBAzF48GBMmDABGRkZmDRpErKzs3H//fcjOjoap0+fhlarteou1+l0uPnmm3HhwgXodDqLrvCYmBj069ePPytZXV2NqKgoMMZQW1uL+vp61NfXQ6/XY8yYMfx+MpkMI0eOxJkzZ/j72l6UnJiYiKqqKpffo7bazrjn6vNeuHDBqfjtnd0yz0sikSA2NtYipvj4eABoN6ZRo0ZZTJoxevRovP322xZroDg6w+ZsHu09D6e4uBgPPPAAP+b8xo0bWLZsGWbNmoVff/0VEokEGo1G0DVmuF5RmoGP+JrQ0FCbtclTr20LMxvNAYC/fhjw3trkyLVr12AwGDB48GAEBQUB8Gxt6uzzUm2yjWpTK59vSBHvxQ2ZiIiIgEgkgkKhsLldVFSUhyNrn0KhQFpaGv/zsGHDEBkZidzcXLz66qvIyclBcnIycnNzkZCQgMbGRtx66638RZkSiQR5eXk4ePAg9uzZg/Xr1+OFF15AYWEhX9i+++47dO/e3eJ15XI5ampq7MbFHZAaGhpgMBgglUpx/fp1NDc3W0wzb44xZnFf24v7RSKRw/WPxGKx1ckKW2v/uPq8bXGv0V789j5Htl7f/D7uObpirSd7MQDO59He83COHj2KVatW8Z/HtLQ0LF68GDk5Obhy5Qo/q1RdXZ2raXQZ7rVtzcxJiDdzVJuE0nZSBvMvos7Wpg8//BAREREIDQ3FoEGD3F6bHDGfkIhrSAFUm8x/Bqg2uQM3ZNGdtcnnr5Ei3kmtVkOr1QIAP7ucL+NmpNNoNKipqcGZM2ewfPlyTJgwAenp6aivr7e5z5gxY7BixQocPXoUQUFB2L59OwYMGAC5XI7S0lKkpaVZ3JKTk5GWlgaZTIZDhw7xz1VXV4fz589DJpMhJCSE74kCfm+IxsTEICgoCAcOHOD30+v1+OWXX5Cent7h3Lt164aKigr+58bGRly6dKnDz2dPWlqaW+J3lfn7zv3ct29fp9dx6co8Ll68iPr6egwdOtTqfolEgpiYGADAzTffjNOnT7v03F3pzJkz6NGjh09PE0yIt+DOnnMTDDk6o++oNvXr18/ml1h31CZHuGPisWPH+NyoNrmOapPrTp486fbaRD1SxC0KCgoQGhqKoKAgm0VAq9XiypUriIyMREJCggAROtbS0oLKykoArYXigw8+gFqtRk5ODqKjoxEbG4uPPvoIiYmJuHz5MpYvX26xf2FhIX744QdkZ2dDqVSisLAQN27cQHp6OsLDw7F48WIsXLgQJpMJmZmZaGxsxMGDBxEWFoZp06Zh5syZWLJkCWJjYxEfH48XXniBH9oRGxuLsrIy1NbWQqlUIioqCuXl5TAYDJg9ezaWLFmCmJgYpKSkYO3atWhubsbMmTM7/F6MHz8en376KZ/7iy++6JbFIRUKBZ588skuj99VV69exaJFizBr1iwcOXIE69evd2pmKk5X5lFcXAyRSIT4+HhUVlaiqakJ+/fvx8svv4zZs2fzjehJkyZh2bJlqKurszhxoVar8dtvv/E/c5PxcHG1x9n9f/75Z7szOxFCXMPNeMb1WphPKORsbYqPj8fZs2f5YVccd9YmexQKBR599FGsW7cOCQkJGDFiBN59912qTS6i2vQ7Z/c/cOAAsrOzXcrNVdSQIm6xd+9eTJ061e4iaI2NjVCpVADglQ2pXbt2ITExEQAQHh6O/v3747///S+ysrIAAFu2bMH8+fMxcOBA9OvXD6tXr7ZYyyMiIgIFBQV477330NjYiNTUVLz99tuYPHkygNbFU5VKJdasWYOLFy8iKioKQ4cOxfPPPw8AePPNN6FWq3H33XcjPDwczzzzDD/teUxMDMrKyvhev5CQEAQFBUGn0+HZZ58FYwyPPPIIVCoVhg8fjt27d3eqV3DZsmW4ePEipk6disjISKxatcotZ/0A4PXXX4fJZOrS+F316KOPQqPRYOTIkZBIJJg3bx6eeOIJl56jq/I4cuQIGGP80Ino6Gj07dsX77zzDqZNm8Zvl5GRgeHDh+Orr77CrFmz+Pt/+eUX3H777fzP3GLk06ZNw6effgoA+PTTTzFjxgyb15o6s79Wq8X//vc/7Nq1y6XcCCG2cb023bp1Q7du3Sz+Np2tTYMGDUJaWhrWr1+P8ePH8/u7szY58tprr0GlUmHJkiXQaDRUmzqAahNc2l+r1WLHjh3YvXu3S7m5zJkZMfwZzYzUObbyb2lpYQMHDmTff/89q66utrlfSUkJKyoqYuXl5Z4K1W242WGMRqPHXvPcuXOsqKiIXbt2jTHG2LVr11hRURE7e/asx2LgCJG/u7SdvckZ3pL/d999x9LT012O4+WXX2bjxo3r8OuuX7+e3X777Q5fl2btcx3Vps5xdtY+b2MymdjRo0dZUVGRyzPOmvOW4xJHr9fzsxB6ok55W/6d5Wpt8qb8hahNRqORrV27lk2cONHuNjRrH/Fa+/btg0qlglgstjkrkclk4nujOrvidqCKjY1FY2MjqqurkZiYiNjYWJSXl0OlUkGr1Qo6Sw4RxpQpU1BSUoJr164hOTnZ6f12796N999/v8OvK5VK8cYbb3R4f0LI7/R6PQwGAwDLIX2+TiqVQiaTQa/XQ61Ww2QytTskkPgHoWqTTCbDunXrOry/s6ghRbrcN998A6B1ate2M8EAgEqlgtFohFQq9brZknxFVFQUJBIJdDod6uvrER0djYiICBiNRovZnkhgWbBggcv7/Pzzz516zSeeeAKNjY2deg5CSCvzRexPnjyJ1NRUty4P4kmRkZGorq7mp3cPCwsTOiTiIULUpunTp9u9vKQrUUOKdCnGGL755htIJBK7a2Rws83FxMTYbGiR9kkkEiiVSlRUVKCyshJRUVHo06ePWy60DST5+flCh0AICWBcQ4oxBp1OZzV1ti+LiIhAdXU1gNYTqtSQch7VJu9F/aqkSx05cgRlZWUIDQ21ObzMaDTy07Fy02OSjlEqlRCJRGhqaoJaraZGFCGE+Dhuxj7GGMRisV8N7zPvHaBebOIvqCFFuhQ3rC8zM9Nmb5PRaERERASCg4NpWF8nyWQyxMbGAgCuX7/O328wGGyua0UIIcR7cUPeOGFhYX41akMqlfINQ+46KUJ8HQ3tI13GaDTi3//+NwBg4sSJNrcJCgpCWlqazZW0iesSEhJQXV2N+vp6aDQaSKVSHD9+HIwxDBo0yGIVeUIIId6rubkZer2e/9kfh75FRUVBo9HQiVTiN6hHinSZXbt24fLly4iOjm53ATRqRHWN4OBgfuG769evQyaT8QWqqqpKyNAIIYS4gFuPiauP/jirLTdxhkajoe8BxC9QQ4p0mY0bNwIAZsyYYfP6qObmZmi1Wk+H5fe4BY1ramqg0+n4n6uqqizObhJCCPFe3JBsbsSGvQmbfJlCoYBEIoHRaOSvByPEl1FDinSJS5cuYefOnQCA2bNn29ymrKwMJ0+exI0bNzwZmt8LCwtDWFgYGGMoKytDZGQkQkNDYTKZUFlZKXR4hBBC2qHT6fjro+Li4hATE+OXEwiJRCK+p62srAyMMYEjIqRzqCFFukRubi4YY8jOzkbfvn2tHtfpdPwsPZ6Y1z/QcIvc1dbWQq1Wo3v37gBae6V0Op2QoRFCCGkH1xsVFhaGnj17olevXgJH5D7c8D61Wm0xuQYhvogaUqTTdDodPv30UwDAU089ZXMbbla5sLAwyOVyT4UWMBQKBbp16wYAKC0tRUREBBQKBRhj1CtFCCFejmtI+cviu46Yn0zl1pUkxFdRQ4p02sGDB1FdXY3k5GTcddddVo/r9Xp+OB93/Q7peklJSZBIJNBoNLhx4wa6d+9OF/MSQoiXMxqNUKlUAFoXW/f34W5yuZxfaLi6upqmQSc+jRpSpFMYY/juu+8AALNmzYJUaj2jflVVFUwmE0JDQwPibJtQZDIZkpKSAADl5eUICQlBRkYGUlJSBI6MEEKIPY2NjWCMQSKRoLS0FKWlpUKH5HbcGohGo5GfrZAQX0QNKdIp27ZtQ0lJCUJCQjBz5kyrxw0GAz8Nd2JiIvWQdEJWVhaefvpph9solUqEhITAYDDgypUr/Fk/oTgTs7vV1NRAqVTi8uXLHnvN+++/H++8847HXo8Q4ru4YX1cz0x0dLSQ4bisI8d5pVLJ/1+I4edUm0hXoYYU6TCNRoPnnnsOALB48WKbw/ZaWlogEokQEhLCr3fk7aZPnw6RSMTfYmNjceedd+L48eNCh9YukUiEnj17QiQSob6+nr82TaPRoKSkxOPToX/99ddYtWqVW5577NixFr+nmJgY3HvvvVazQq5ZswY5OTno2bMnAOCVV16x2E8kErk05LTt/hKJBP369bPY5qWXXsJrr73GT7BCCCG2MMb4HhnGGORyud31o3y5NrUVFBTEj1BpampCS0uLR1/f32uTRCJBdHQ0P0qFQ7Wp61FDinTYW2+9hdLSUnTr1g3PPPOMzW0UCgUyMjLQp08fn+qNuvPOO1FRUYGKigr88MMPkEqlmDp1qtBhOUWhUPCz+JWVlUGlUuHSpUtoaGhAaWmpR8bfczMFxsTEdGpRSXszDjLGcOzYMbz11luoqKjAtWvX8OWXX2Lv3r149dVX+e00Gg3++c9/4vHHH7fY/6abbuJ/vxUVFThx4oRLcZnvf+3aNfz0008Wjw8aNAg9e/bE5s2bXXpeQkhgqaurg8Fg4OtjbGysw1rpy7WpLfMv+Z6avS9QatO1a9dw9uxZ/PrrrxaPU23qetSQIh1y9epVrFmzBgAwbdo0hwsHSiQSfoHepqYmu7e2i/U62laj0Ti1bUfJ5XIkJCQgISEBQ4YMwdKlS3H16lX+jNKuXbuQmZmJqKgodOvWDX/5y19w4cIFi+fYunUrMjIyEBISgtjYWEycOJGPiTGGtWvXonfv3ggJCcHgwYOxdetWi3weffRRhIWFITExEW+//bZTcbe0tGD+/PkYOHAgxowZg8cffxzffvstevToAZFIhAceeACzZs3Cs88+i5iYGCQkJOCVV15x+JxZWVmYO3cu5s6di6ioKMTGxmL58uUWDbKpU6di3rx5WLRoEeLi4nDHHXfw+5oPn+DiUyqVCA4ORmZmJoqKiqxeq+3ztFVSUgKVSoWsrCwkJCQgKSkJkyZNQp8+fSx+799//z2kUilGjx5tsb9UKuV/vwkJCfyMh85qu39cXJzVNnfffTe+/PJLl56XECIMIWoTYwzl5eX8/wHYPJaYc7Y2xcTEoHfv3sjJyfGq2mR+7D99+jQUCgUAYMqUKZg/f36X16bx48fbrCmBUJvi4+Nt7k+1qWtRQ4p0yNKlS6HRaJCZmYkxY8ZYPX7o0CGoVCqr3g9u8Vhbtz/96U8W2yqVSrvbTp482WLbnj172tyuK6jVamzevBlpaWn8BbJNTU1YtGgRioqKkJeXB7FYjD/96U/8GPeKigo8+OCDeOyxx3DmzBnk5+fjj3/8I/9+LF++HJ988gk2btyIU6dOYeHChXj44Yexb98+AMCSJUvw448/Yvv27dizZw/y8/NRXFzcbqzPPvsstm3bhk2bNuGXX35BamoqnnrqKZw8eRLx8fEAgC+++AJSqRSFhYVYu3YtVq5ciby8PIfPu2nTJn6fdevW4d1338XHH39ssc1nn30GqVSKn376CR9++GG78R05cgRpaWmYNGmSxRS43Gs5ep7i4mIEBQUhIyMDQGsRzM3NRUlJicWC0AUFBRg+fLjV/iUlJUhKSkKvXr3w17/+FRcvXnSYv6P9H3zwQZtj3EeOHInDhw97fMgKIcR1QtSm2tpaaLVavgcqMjISQUFBTsfsqDYVFhbim2++gVgsxn333edVtcn82M8th6LX67Fp0yYoFIour03O1BR/q019+vTBY489ZnN/qk1djAW4hoYGBoA1NDR0aH+dTsd27NjBdDpdF0fmvTZv3swAMJFIxAoLC63yr66uZiNGjGDff/89Kysrs9gXgN3blClTLLYNDQ21u+24ceMsto2Li7O5XUdMmzaNSSQSplAomEKhYABYYmIiKy4utrm90WhkJSUlDAA7ceIEY4yx4uJiBoBdvnzZanu1Ws2Cg4PZwYMHLe6fOXMme/DBB5lKpWJBQUFsy5Yt/GM1NTUsJCSELViwwG7carWayWQytnnzZv6+xsZG1q1bNzZ//nx28uRJNmLECDZkyBB25MgRplarGWOMjRgxgi1dutTu844bN46lp6czk8nE37d06VKWnp7O5z9mzBg2ZMgQm/tyMduKT6fTsaSkJLZ27Vp+e1vP09bixYuZSCTif0cikYjFx8ezAwcOWGx3zz33sMcee8zivp07d7KtW7ey48ePs7y8PDZu3DgWHx/Pqqur231de/srlUpWVVVlsd2vv/5q9zPgT4xGI6urq2NGo9HuNhqNhp0+fZppNBqrxzp7DPZXVJs6x1b+jj6Hnq5NRqORHT9+nBUVFbETJ06woqIiVltb6zAnV2oT93dZWVnplbWJO/a/8cYb7Pjx42zo0KFs+PDhFseRztQmLn97NcXfa9Pu3bvZmDFjbO4fCLXJk3XJeq5qQhz46aefMGPGDACtZ3BuvvlmVFRU8I8zxvD444+jqqoKMpnMaoIJtVpt97klEonFz9xsf7aIxZadqV09683tt9+OjRs3Amg9a7hhwwZMnjwZhw8fRmpqKi5cuIAXX3wRhw4dslgHo7S0FAMHDsTgwYMxYcIEZGRkYNKkScjOzsb999+P6OhonD59Glqt1mpogE6nw80334wLFy5Ap9NZdPnHxMRYTWjQ1oULF6DX6y16CMPDwzFq1ChcuXIFGo0GjDGkp6fDaDSipKQE/fv3R2JiosP3GgBGjRplMW5/9OjRePvtt2E0Gvn7hw0b5nJ8MpkMI0eOxJkzZ/j7bJ2la6u4uBgPPPAAP+b8xo0bWLZsGWbNmoVff/2V/yxpNBp+WCnH/IxxRkYGRo8ejT59+mDTpk1YtGhRu6/ddv9bbrkFaWlp+OyzzyyuFQwJCQHgubH/hJCO83RtqqmpQUtLC6RSKdLT06HVavljhiP+Upu4Y//Zs2cxbdo0AK29d6WlpfzkC52tTZz2aoo/1qabbroJN910E4YNG2a1P9WmrkUNKeK0Cxcu4N5774VOp8N9992H1atXWxysAOC9997Djh07kJaWhri4OKsCxI2Hdoa7tnX2+dLS0vifhw0bhsjISOTm5uLVV19FTk4OkpOTkZubi4SEBDQ2NuLWW2/lL0CVSCTIy8vDwYMHsWfPHqxfvx4vvPACCgsL+cL23XffoXv37havK5fLUVNT06GY2f8/NKPthcpisRhRUVEICgqCyWSCSCRCcHAwZDIZZDIZRCJRlyyI2N7vwF58jDGL+5z5XR49ehSrVq3if0dpaWlYvHgxcnJycOXKFfTu3RtA6/UGdXV17cadkZGBkpKSdl/X3v4DBgyw2p8bEuLqGHdCiOd5sjaZTCb+uqXExERIJBKnn9PZ2vThhx8iIiICoaGhGDRokFfWJu7Yr1QqIRaLIZVKUV1djZiYGERERFBt6oLaNHDgQKpNbkbXSBGnXL9+HXfddReqq6sxfPhwfP755xZn3hhjWLlyJX/WY9GiRS6N9fZ2IpEIYrEYGo0GNTU1OHPmDJYvX44JEyYgPT2dXwek7T5jxozBihUrcPToUQQFBWH79u0YMGAA5HI5SktLkZaWZnFLTk5GWloaZDIZDh06xD9XXV0dzp8/7zDGtLQ0BAUF4cCBA/x9er0ev/zyCwYOHIh+/fpBLBbDZDLxZz+5IsEYczibn3ks3M99+/a1aih3NL709HSnn+fixYuor6/H0KFDre6XSCSIiYnh77v55ptx+vRph8/X0tKCM2fOIDEx0ekY2u5//vx5q/1PnjyJHj16tHvxOCEkcDDGUFpaCp1Ox5/k6gxHtalfv342v6x7U21KT0+HSCRCaGgoX49+++03q5O09lBtcrz/2bNnqTa5GfVIkXbl5+fjoYceQkVFBZKTk/Htt99azdK3ePFirF+/HgDw4osvYvr06R5dZK6rtbS08IsE1tXV4YMPPoBarUZOTg6io6MRGxuLjz76CImJibh8+TKWL19usX9hYSF++OEHZGdnQ6lUorCwEDdu3EB6ejrCw8OxePFiLFy4ECaTCZmZmWhsbMTBgwcRFhaGadOmYebMmViyZAliY2MRHx+PF154wWrISFsKhQJPPvkklixZgpiYGKSkpGDt2rVobm7GzJkzIZfLERoaynfrV1VVQaVSQa/Xo6mpCefPn0dqaqrVcAOgdZbGRYsWYdasWThy5AjWr1/v9GxNzsbnrOLiYohEIsTHx6OyshJNTU3Yv38/Xn75ZcyePdvii8mkSZOwbNky1NXV8YtccmcHU1JSUFVVhVdffRWNjY388JL2tN1/1apVUKlUePTRRy22279/P7Kzs53OixDi3xhjuHr1KqqrqwG09kxdvHgR/fv3d3p5EGdrU3x8PM6ePWsx5TbgnbUJaG3ccetKmUwmnD9/3qmlOqg2/c58/8rKSqxYscLm/lSbuhY1pIhdJpMJq1evxssvvwyTyYQBAwbg66+/tnl2JDMzExs3bsS6devw5JNPWk0X62t27drF5xkeHo7+/fvjv//9L7KysgAAW7Zs4acZ79evH1avXm2xlkdERAQKCgrw3nvvobGxEampqXj77bf5McyrVq2CUqnEmjVrcPHiRURFRWHo0KF4/vnnAQBvvvkm1Go17r77boSHh+OZZ57hF2105PXXX4fJZMIjjzwClUqF4cOHY/fu3fyBWiQSISIiAmlpabh8+TI0Gg2ampogEomgUqlw8uRJxMbGIjEx0aJB9eijj0Kj0WDkyJGQSCSYN28ennjiCZff1/bic8aRI0fAGOOHTkRHR6Nv37545513rApGRkYGhg8fjq+++gqzZs0C0Lq21oMPPojq6mp069YNo0aNwqFDh5Camsrv9+mnn2LGjBk2C3nb/W+55Rbs2bPHYn+tVovt27dj9+7dLr0/hBD/VV5ebnXNT3JysktrLDpbmwYNGoS0tDSsX78e48eP5/f31toEtA4fjI2NRU1NDZqamtDY2IiIiAiHz2uvNjnTCHM1vvZ4W20aNmwYDh48SLXJ3ZyeAsPL/f3vf2c9e/ZkcrmcDR06lBUUFDi1H82MZE2j0bCPP/6Ypaen8zMMTZs2jZ/ljTHGKioq2P/+9z+L/C9dumTxHPZmQ/E3zswO4430ej0rKytjxcXFrKioyOp2/vx5Vl1dzcaOHetwRiZvz/+7777jZ3Fy1ssvv2w1+5Y9tvL/4IMP2B133OFqqD6JZu1zjGqTMFydtc+dtFotu3jxotUxtry83G2v6e3HZXtMJhM7f/48/x6dPHmSNTc329zWfOa9tnwhf3fWJnv5B0ptoln7XPSf//wHTz/9NDZs2IAxY8bgww8/xOTJk3H69GmkpKQIHZ5PUKvV2L9/P/bu3Yt///vfuH79OoDWs1fvvfceZsyYgYqKCnz++efYvn079u7di6CgIIsZbbiZdohvkEql6N69Oz8Mobq6GgaDgX+8oaEBDQ0N0Gq1aGlpQUtLCz+EQyqVunQWVUhTpkxBSUkJrl27huTkZKf22b17N95///0Ov6ZMJuOHupLARbUpcDHGoNVqUVVVherqaoseBKlUip49e3b6+ih/JBKJ0LdvX9y4cQNlZWXQaDQ4deoUwsPDIZPJ0L17d37tKV9Htck/+EVD6p133sHMmTPx+OOPA2idOW737t3YuHEj1qxZ49bX1mq1aGhoQGVlJWQymc1tQkND+S+gLS0t0Ov1dp/PfFudTsfPtNMWYwwhISGQSCRgjPFfdE0mE38zGo3Q6/VoaWmBSCSCXq9HfX09rl+/jsrKSly59hU3ZQAAEhlJREFUcgWXLl3CpUuXcO7cOYuLO3v06IGnn34a8fHx2LRpE55//nl+XDZn6NCh7c46Q7yfVCpFjx49kJSUBJVKhdraWtTV1fGzJRkMBtTX1+PEiRMW+0kkEkilUv6i3traWkRFRUEqlUIsFsNgMMBoNEIikUAsFkMkElncuL8XbmYm1maognlDjdsfaH9iDO75zbd96qmnAMDqb8/WtkDrYoltt7e3LWMMBoMBBoOBf/yxxx6DSCSC0WjsULy+si0AGI3GLplZyx8JWZuamppQV1dntzaJRCKLWciam5vt/h5d2RaAxWLoGo3G4cQBrmyrUCj4z55Wq7U48dNWUFAQNBoN1Go1jEYjDAYD9Ho9XxfNJyMwv8bH1rEI+H1mN25b8797o9EInU4HvV4PvV4PjUYDrVZr8R5JpVIYDAZERESgZ8+efjUZkzt069YNkZGRuHLlChoaGqBSqQC01hmufjQ3N6OhoQFlZWV8Q4ubUMn8e5H5MYubnMNbjqNz584FY8zh90Lz592/f7/D7bltGWP85978eM0tX6PX6zt13Hf09+/KtoD1319XbMsYs/u33NV8viGl0+lQXFyM5557zuL+7OxsHDx40Gp77g+L09jYCAD8AdBVTz75JDZv3uzyft7s+eefxwsvvACZTIZ//etf+H//7//xj40YMQL33HMP7r77bvTv3x96vR6XLl2yeu/0ej3/Qfb3L1nmX6h9Pdfw8HCEh4cjNTWV/xLy1VdfQavVQqvVWhyUjEajxZee5uZmi1XgSeAIDQ1FZGSk3c8/V9DafoEFrBu3/kLo2pSenm518ivQpaam4h//+IfHruEViUQIDw9HQkICxGIx9Hq9xYQK7uQPdUkqlaJPnz7Q6XS4du0a6uvr+S/8Op0OGzZsAABUVlbSZ53Y1KNHDyiVSpuPdVVd8vmGVHV1NYxGI+Lj4y3u54YrtbVmzRqsWLHC6v49e/ZYzUTnjPLycpf3EYJCoUBISAgUCoXFrD9isRhisRhBQUEICQmBXC6HVCpFXl4eAPBnTFJSUpCcnMzP+Hbx4kVcvHiRf35ue45UKkVCQgLUarXdXjV/w50x8ydyuZwfRsEdcPR6Pd9bajAYLHpBpVIpX+iopyKwOPr863Q6aDQaFBQUWPUi+OuikELXJvNGGXEP7sy/+c8ikQgSiQRBQUGIjY3l1+/j1vDjGsie4i91KTY2FjExMWhpaUFzczO0Wi30ej3/3nKjc3y54Ui6nlartfs311V1yecbUpz2FlLjLFu2zGKF58bGRiQnJyM7O7vd2WFsGTduHHbu3ImxY8faHdonl8v57ki9Xu9wOIIr2wYHB/PbcsMLzA/k5l3ZQUFB/LZcK9yVdRbs0ev1yMvLwx133GGRv1arxdWrVxEWFmZzOm1/whiDSqVCeHi4z1w31JW6Iv+2wwpsDfPzlqEYbbe1lb83x9vV25pMJqjVaoe/f27dsrFjx1odDzz9xdLThKpNJSUl+P7775GVlWV3aJ/576Jtj3Nb3Ek0APwwck9vGxwczL93Op3O4TBAiUSCvXv3YsKECfyJHW54e9tlHsw/046GNwJod6pvb0F1iaGxsZHP3/x47Y3H0a7elss/LCzM7u/fG+IFLIfLdtW2jDGo1WpERka6vS75fEMqLi4OEonE6gxfVVWV1ZlAwPIMuzmZTGa3IeSIQqGAQqFAfHx8h/b3F23fP65Rx/V4+TOu8HL5BhrK38RfLxao+XPXHNjLn3vc1nHWX4+bQtemiIgIhIeHO12bOtJY82Z6vR5yuRwRERF8/lqtFiqVyuF72hUnGL0BHZdNAfMdxBbuuEx1yf11yeff3aCgIAwbNsxqaFleXh5uvfVWgaIiHE9c6EcI8W6BeByg2uS9AvHzSAix1FXHAZ/vkQKARYsW4ZFHHsHw4cMxevRofPTRRygtLcXs2bOFDi1gcWf1dDqdxdANQkjg4cab+2vvkz1Um7wL9/lrbm6mukRIgOOu3+9sL7RfNKT+8pe/oKamBitXrkRFRQUGDhyInTt3WqzmTDxLKpUiNDQUN27c4Kck9Vcmkwk6nQ5ardav87SH8qf87eXPGENzczOqqqoQFRXlN8OmnEW1ybtIJBJERUWhqqoKQOtsk/56/RAdlyh/yt9+/iaTCTdu3EBoaCik0s41hfyiIQUATz31FL9WDBGeSCRCYmIiLl26hCtXrggdjlsxxqDRaBASEuK3RdkRyp/yby//qKgoJCQkeDgy70C1ybtwn0OuMeWv6LhE+VP+jvMXi8VISUnp9PvjNw0p4n2CgoLQt29fv5/+XK/Xo6CgwOHMjf6M8qf8HeUvk8kCrieKeC/uJJ9SqfTbNcwAOi5R/pR/e/mbz2bdGdSQIm4lFov9fvpziUQCg8GA4ODggDxgUf6UfyDnT3yTRCLx6wZ+oP9dUv6Uv6fyD7yBk4QQQgghhBDSSdSQIoQQQgghhBAXUUOKEEIIIYQQQlwU8NdIcQtyNTY2dmh/vV6P5uZmNDY2BuQ41EDPH6D3gPKn/DuTP3fspUVSLVFt6hzKn/Kn/Cl/T9SlgG9IqVQqAEBycrLAkRBCSOBSqVSIjIwUOgyvQbWJEEKE5UxdErEAPw1oMplQXl6O8PDwDs0l39jYiOTkZFy9ehURERFuiNC7BXr+AL0HlD/l35n8GWNQqVRISkoKyIUj7aHa1DmUP+VP+VP+nqhLAd8jJRaL0aNHj04/T0REREB+WDmBnj9A7wHlT/l3NH/qibJGtalrUP6UP+VP+XeEs3WJTv8RQgghhBBCiIuoIUUIIYQQQgghLpK88sorrwgdhK+TSCTIysqCVBqYIyUDPX+A3gPKn/IP5Py9VaD/Xih/yp/yp/zdnX/ATzZBCCGEEEIIIa6ioX2EEEIIIYQQ4iJqSBFCCCGEEEKIi6ghRQghhBBCCCEuooYUIYQQQgghhLiIGlJO2LBhA3r16oXg4GAMGzYM+/fvd7j9tm3bMGDAAMjlcgwYMADbt2/3UKTu4Ur+ubm5uO222xAdHY3o6GhMnDgRhw8f9mC0Xc/V3z9ny5YtEIlEuPfee90coXu5mn99fT3mzJmDxMREBAcHIz09HTt37vRQtF3P1fzfe+899OvXDyEhIUhOTsbChQuh1Wo9FG3XKigoQE5ODpKSkiASibBjx45299m3bx+GDRuG4OBg9O7dG//4xz88EGlgotpEtYlqE9Umqk0C1yZGHNqyZQuTyWQsNzeXnT59mi1YsIApFAp25coVm9sfPHiQSSQStnr1anbmzBm2evVqJpVK2aFDhzwceddwNf+HHnqI/f3vf2dHjx5lZ86cYTNmzGCRkZGsrKzMw5F3DVfz51y+fJl1796d3Xbbbeyee+7xULRdz9X8W1pa2PDhw9mUKVPYgQMH2OXLl9n+/fvZsWPHPBx513A1/88//5zJ5XK2efNmdunSJbZ7926WmJjInn76aQ9H3jV27tzJXnjhBbZt2zYGgG3fvt3h9hcvXmShoaFswYIF7PTp0yw3N5fJZDK2detWD0UcOKg2UW2i2kS1iWqT8LWJGlLtGDlyJJs9e7bFff3792fPPfecze0feOABduedd1rcN2nSJPbXv/7VbTG6k6v5t2UwGFh4eDjbtGmTO8Jzu47kbzAY2JgxY9jHH3/Mpk2b5tPFytX8N27cyHr37s10Op0nwnM7V/OfM2cOGz9+vMV9ixYtYpmZmW6L0VOcKVbPPvss69+/v8V9s2bNYqNGjXJnaAGJahPVJqpNVJvMUW2yz521iYb2OaDT6VBcXIzs7GyL+7Ozs3Hw4EGb+/z8889W20+aNMnu9t6sI/m31dzcDL1ej5iYGHeE6FYdzX/lypXo1q0bZs6c6e4Q3aoj+X/77bcYPXo05syZg/j4eAwcOBCrV6+G0Wj0RMhdqiP5Z2Zmori4mB8ydPHiRezcuRN33XWX2+P1BvaOf7/88gv0er1AUfkfqk1Um6g2UW2i2uQ8d9amwFzu2EnV1dUwGo2Ij4+3uD8+Ph6VlZU296msrHRpe2/Wkfzbeu6559C9e3dMnDjRHSG6VUfy/+mnn/DPf/4Tx44d80SIbtWR/C9evIi9e/fi//7v/7Bz506UlJRgzpw5MBgMeOmllzwRdpfpSP5//etfcePGDWRmZoIxBoPBgCeffBLPPfecJ0IWnL3jn8FgQHV1NRITEwWKzL9QbaLaRLWJahPVJue5szZRQ8oJIpHI4mfGmNV9ndne23U0n7Vr1+LLL79Efn4+goOD3RWe2zmbv0qlwsMPP4zc3FzExcV5Kjy3c+X3bzKZoFQq8dFHH0EikWDYsGEoLy/Hm2++6XPFiuNK/vn5+XjttdewYcMG3HLLLfjtt9+wYMECJCYm4sUXX/REuIKz9X7Zup90HtUmqk3mqDZRbaLaZJ+7ahM1pByIi4uDRCKxauFXVVVZtWw5CQkJLm3vzTqSP+ett97C6tX/Xzt3ExJVG4Zx/LJxzgRZBEFgICPOQoW0NEGqhbQIV7p0N7mRFtGidlGEQfU2IrQJceW6RbULCg0qSN05RyRl7MMPiGzVQiz6vN/Fi0PzWuCjM3M6nv8PZnOcgft2cC6umfH5R0+ePFFzc3MpxywZ1/3fvHmjxcVFdXV15a/9/PlTklRZWalcLqdUKlXaoYtoK89/dXW14vG4YrFY/lpjY6NWVlb09etXeZ5X0pmLaSv7X716Vel0Wn19fZKkpqYmra2t6ezZs7py5Yp27drZ36b+0+tfZWWlDhw4ENBUOw/ZRDaRTWQT2bR5pcymnf2b2ybP83Ts2DGNjY0VXB8bG9OJEyd++5jjx49vuP/o6Ogf7/8328r+kjQ4OKjr16/r8ePHamtrK/WYJeO6f0NDg2ZmZuT7fv7W3d2tU6dOyfd91dTUlGv0otjK83/y5Em9fv06H9KSND8/r+rq6lAFlbS1/T99+rQhkGKxmOy/g31KNuvf4k+vf21tbYrH4wFNtfOQTWQT2UQ2kU2bV9Js2vZxFTvc+hGTIyMjNjs7axcuXLA9e/bY4uKimZml0+mCU1LGx8ctFotZJpOxubk5y2QyO+KI2c3uPzAwYJ7n2f379+39+/f52+rqalArbIvr/v8X9pORXPdfXl62qqoqO3/+vOVyOXv48KEdPHjQbty4EdQK2+K6f39/v+3du9fu3r1rb9++tdHRUUulUtbT0xPUCtuyurpq2WzWstmsSbLbt29bNpvNH7F76dIlS6fT+fuvHzF78eJFm52dtZGREY4/LxGyiWwim8gmsin4bKJIbcLQ0JAlk0nzPM9aW1vt+fPn+Z91dHRYb29vwf3v3btn9fX1Fo/HraGhwR48eFDmiYvLZf9kMmmSNtz6+/vLP3iRuD7/vwp7WJm57z8xMWHt7e2WSCSsrq7Obt68ad+/fy/z1MXjsv+3b9/s2rVrlkqlbPfu3VZTU2Pnzp2zjx8/BjD59j19+vS3f8/rO/f29lpHR0fBY549e2YtLS3meZ7V1tba8PBw+QePCLKJbCKbyCayKdhsqjCLwGd6AAAAAFBE/I8UAAAAADiiSAEAAACAI4oUAAAAADiiSAEAAACAI4oUAAAAADiiSAEAAACAI4oUAAAAADiiSAEAAACAI4oUAAAAADiiSAEAAACAI4oUEEIvXrxQPB7Xly9f8tcWFhZUUVGhpaWlACcDAEQV2YSooUgBIeT7vhobG5VIJAqu7d+/X8lkMsDJAABRRTYhaihSQAhNT0+rpaWl4Jrv+zpy5EhAEwEAoo5sQtRQpIAQ8n1fR48eLbiWzWYJKwBAYMgmRA1FCgiZHz9+6OXLlxve9ZuamtoQYAAAlAPZhCiiSAEhk8vl9PnzZx06dCh/bXJyUu/eveNdPwBAIMgmRBFFCggZ3/clSXfu3NGrV6/06NEjnTlzRpIKTkoCAKBcyCZEEUUKCBnf93X69GktLCzo8OHDunz5sjKZjPbt26ehoaGgxwMARBDZhCiqMDMLeggAm9fZ2anW1lbdunUr6FEAAJBENiGa+EQKCJnp6Wk1NzcHPQYAAHlkE6KIIgWEyMrKij58+EBYAQD+GmQTooqv9gEAAACAIz6RAgAAAABHFCkAAAAAcESRAgAAAABHFCkAAAAAcESRAgAAAABHFCkAAAAAcESRAgAAAABHFCkAAAAAcESRAgAAAABHFCkAAAAAcPQvO/g8j1M7Fm0AAAAASUVORK5CYII=", "text/plain": [ "Figure(PyObject
)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "using PyPlot, Distributions\n", "f = figure()\n", "range_grid = range(0.0, stop=1.0, length=100)\n", "μ = 0.4\n", "samples = rand(192) .<= μ # Flip 192 coins\n", "posterior1 = Array{Distribution}(undef,193)\n", "posterior2 = Array{Distribution}(undef,193)\n", "for N=0:1:192\n", " n = sum(samples[1:N]) # Count number of heads in first N flips\n", " posterior1[N+1] = Beta(1+n, 1+(N-n))\n", " posterior2[N+1] = Beta(5+n, 5+(N-n))\n", " \n", "end\n", "\n", "fig = figure(\"Posterior distributions\", figsize=(10,8));\n", "ax1 = fig.add_subplot(2,2,1);\n", "ax2 = fig.add_subplot(2,2,2);\n", "ax3 = fig.add_subplot(2,2,3);\n", "ax4 = fig.add_subplot(2,2,4);\n", "plt.subplot(ax1); plot(range_grid,pdf.(posterior1[3],range_grid), \"k-\");\n", "plt.subplot(ax1); plot(range_grid,pdf.(posterior2[3],range_grid), \"k--\");\n", "xlabel(L\"\\mu\"); ylabel(L\"p(\\mu|\\mathcal{D})\"); grid()\n", "title(L\"p(\\mu|\\mathcal{D})\"*\" for N=$(3), n=$(sum(samples[1:3])) (real \\$\\\\mu\\$=$(μ))\")\n", "legend([\"Based on uniform prior \"*L\"B(1,1)\",\"Based on prior \"*L\"B(5,5)\"], loc=4)\n", "\n", "plt.subplot(ax2); plot(range_grid,pdf.(posterior1[10],range_grid), \"k-\");\n", "plt.subplot(ax2); plot(range_grid,pdf.(posterior2[10],range_grid), \"k--\");\n", "xlabel(L\"\\mu\"); ylabel(L\"p(\\mu|\\mathcal{D})\"); grid()\n", "title(L\"p(\\mu|\\mathcal{D})\"*\" for N=$(10), n=$(sum(samples[1:10])) (real \\$\\\\mu\\$=$(μ))\")\n", "legend([\"Based on uniform prior \"*L\"B(1,1)\",\"Based on prior \"*L\"B(5,5)\"], loc=4)\n", "\n", "plt.subplot(ax3); plot(range_grid,pdf.(posterior1[50],range_grid), \"k-\");\n", "plt.subplot(ax3); plot(range_grid,pdf.(posterior2[50],range_grid), \"k--\");\n", "xlabel(L\"\\mu\"); ylabel(L\"p(\\mu|\\mathcal{D})\"); grid()\n", "title(L\"p(\\mu|\\mathcal{D})\"*\" for N=$(50), n=$(sum(samples[1:50])) (real \\$\\\\mu\\$=$(μ))\")\n", "legend([\"Based on uniform prior \"*L\"B(1,1)\",\"Based on prior \"*L\"B(5,5)\"], loc=4)\n", "\n", "\n", "plt.subplot(ax4); plot(range_grid,pdf.(posterior1[150],range_grid), \"k-\");\n", "plt.subplot(ax4); plot(range_grid,pdf.(posterior2[150],range_grid), \"k--\");\n", "xlabel(L\"\\mu\"); ylabel(L\"p(\\mu|\\mathcal{D})\"); grid()\n", "title(L\"p(\\mu|\\mathcal{D})\"*\" for N=$(150), n=$(sum(samples[1:150])) (real \\$\\\\mu\\$=$(μ))\")\n", "legend([\"Based on uniform prior \"*L\"B(1,1)\",\"Based on prior \"*L\"B(5,5)\"], loc=4);" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "$\\Rightarrow$ With more data, the relevance of the prior diminishes!\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### From Posterior to Point-Estimate\n", "\n", "- In the example above, Bayesian parameter estimation and prediction were tractable in closed-form. This is often not the case. We will need to approximate some of the computations. \n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- Recall Bayesian prediction\n", "\n", "$$\n", "p(x|D) = \\int p(x|\\theta)p(\\theta|D)\\,\\mathrm{d}{\\theta}\n", "$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- If we approximate posterior $p(\\theta|D)$ by a delta function for one 'best' value $\\hat\\theta$, then the predictive distribution collapses to\n", "\n", "$$\n", "p(x|D)= \\int p(x|\\theta)\\,\\delta(\\theta-\\hat\\theta)\\,\\mathrm{d}{\\theta} = p(x|\\hat\\theta)\n", "$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- This is just the data generating distribution $p(x|\\theta)$ evaluated at $\\theta=\\hat\\theta$, which is easy to evaluate.\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- The next question is how to get the parameter estimate $\\hat{\\theta}$? (See next slide)." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Some Well-known Point-Estimates\n", "\n", "- **Bayes estimate** (the mean of the posterior)\n", "\n", "$$\n", "\\hat \\theta_{bayes} = \\int \\theta \\, p\\left( \\theta |D \\right)\n", "\\,\\mathrm{d}{\\theta}\n", "$$\n", " " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- **Maximum A Posteriori** (MAP) estimate \n", "$$\n", "\\hat \\theta_{\\text{map}}= \\arg\\max _{\\theta} p\\left( \\theta |D \\right) =\n", "\\arg \\max_{\\theta} p\\left(D |\\theta \\right) \\, p\\left(\\theta \\right)\n", "$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- **Maximum Likelihood** (ML) estimate\n", "$$\n", "\\hat \\theta_{ml} = \\arg \\max_{\\theta} p\\left(D |\\theta\\right)\n", "$$\n", " - Note that Maximum Likelihood is MAP with uniform prior\n", " - ML is the most common approximation to the full Bayesian posterior." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Bayesian vs Maximum Likelihood Learning\n", "\n", "Consider the task: predict a datum $x$ from an observed data set $D$.\n", "\n", "\n", "\n", "\n", "\n", "\n", "
Bayesian Maximum Likelihood
1. Model SpecificationChoose a model $m$ with data generating distribution $p(x|\\theta,m)$ and parameter prior $p(\\theta|m)$Choose a model $m$ with same data generating distribution $p(x|\\theta,m)$. No need for priors.
2. Learninguse Bayes rule to find the parameter posterior,\n", "$$\n", "p(\\theta|D) \\propto p(D|\\theta) p(\\theta)\n", "$$ By Maximum Likelihood (ML) optimization,\n", "$$ \n", " \\hat \\theta = \\arg \\max_{\\theta} p(D |\\theta)\n", "$$
3. Prediction$$\n", "p(x|D) = \\int p(x|\\theta) p(\\theta|D) \\,\\mathrm{d}\\theta\n", "$$\n", "$$ \n", " p(x|D) = p(x|\\hat\\theta)\n", "$$
" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Report Card on Maximum Likelihood Estimation\n", "\n", "- Maximum Likelihood (ML) is MAP with uniform prior. MAP is sometimes called a 'penalized' ML procedure:\n", "\n", "$$\n", "\\hat \\theta_{map} = \\arg \\max _\\theta \\{ \\underbrace{\\log\n", "p\\left( D|\\theta \\right)}_{\\text{log-likelihood}} + \\underbrace{\\log\n", "p\\left( \\theta \\right)}_{\\text{penalty}} \\}\n", "$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- (good!). ML works rather well if we have a lot of data because the influence of the prior diminishes with more data." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- (good!). Computationally often do-able. Useful fact that makes the optimization easier (since $\\log$ is monotonously increasing):\n", "\n", "$$\\arg\\max_\\theta \\log p(D|\\theta) = \\arg\\max_\\theta p(D|\\theta)$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- (bad). Cannot be used for model comparison! When doing ML estimation, the Bayesian model evidence evalutes to zero because the prior probability mass under the likelihood function goes to zero. Therefore, Bayesian model evidence cannot be used to evaluate model performance: \n", "\n", "$$\\begin{align*}\n", "\\underbrace{p(D|m)}_{\\substack{\\text{Bayesian}\\\\ \\text{evidence}}} &= \\int p(D|\\theta) \\cdot p(\\theta|m)\\,\\mathrm{d}\\theta \\\\\n", " &= \\lim_{(b-a)\\rightarrow \\infty} \\int p(D|\\theta)\\cdot \\text{Uniform}(\\theta|a,b)\\,\\mathrm{d}\\theta \\\\\n", " &= \\lim_{(b-a)\\rightarrow \\infty} \\frac{1}{b-a}\\underbrace{\\int_a^b p(D|\\theta)\\,\\mathrm{d}\\theta}_{<\\infty} \\\\\n", " &= 0\n", "\\end{align*}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "$\\Rightarrow$ **ML estimation is an approximation to Bayesian learning**, but for good reason a very popular learning method when faced with lots of available data." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "open(\"../../styles/aipstyle.html\") do f display(\"text/html\", read(f, String)) end" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "@webio": { "lastCommId": null, "lastKernelId": null }, "anaconda-cloud": {}, "celltoolbar": "Slideshow", "kernelspec": { "display_name": "Julia 1.5.2", "language": "julia", "name": "julia-1.5" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.5.2" } }, "nbformat": 4, "nbformat_minor": 4 }