{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Piecewise linear kernel density estimation\n", "\n", "We will approximate the density of our distribution by a piecewise linear distribution on the interval $[a,b]$, with node points $z_i, i=0\\ldots N$.\n", "\n", "The height at each node point is given by: \n", "$$h_i=e^{q_i} / M(\\vec{q}), i=1\\ldots N $$\n", "$$h_0=1/M(\\vec{q})$$\n", "\n", "We use this parameterization because `scipy`'s optimization methods work better unconstrained, and any value $\\vec{q} \\in \\mathbb{R}^{N+1}$ is valid.\n", "\n", "$$ M(\\vec{q}) = \\int_a^b p(x) dx = \\sum_{i=1}^N \\frac{1}{2} (e^{q_i}+e^{q_{i-1}})(z_i-z_{i-1})$$\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Holding the node points $z_i$ fixed, let us calculate $\\nabla_q h_i$. This will be necessary to do gradient ascent and find a max likelihood/max aposteriori parametric curve given data.\n", "\n", "Preliminary calculations:\n", "\n", "$$ \\frac{\\partial M(\\vec{q})}{\\partial_{q_j}} = e^{q_j}(z_j-z_{j-1}) + e^{q_j}(z_{j+1}-z_j) = e^{q_j} (z_{j+1}-z_{j-1}), j=1\\ldots N-1$$\n", "\n", "$$ \\frac{\\partial M(\\vec{q})}{\\partial_{q_N}} = \\frac{1}{2} e^{q_N}(z_N-z_{N-1}) $$\n", "\n", "We can then use this to calculate $\\frac{\\partial h_i(\\vec{q})}{\\partial_{q_j}}$.\n", "\n", "$$ \\frac{\\partial h_i(\\vec{q})}{\\partial_{q_j}} = \\frac{e^{q_i} \\delta_{ij}}{M(\\vec{q})} - \\frac{e^{q_i} e^{q_j}(z_{j+1}-z_{j-1})}{M(\\vec{q})^2} , j > 1$$\n", "$$ = e^{q_i} \\left(\\frac{\\delta_{ij} M(\\vec{q}) - e^{q_j} (z_{j+1}-z_{j-1}) }{M(\\vec{q})^2} \\right) $$\n", "and\n", "$$ \\frac{\\partial h_0(\\vec{q})}{\\partial_{q_j}} = \\frac{-1}{2 M(\\vec{q})^2} \\frac{\\partial M(\\vec{q})}{\\partial_{q_j}} $$" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[-0.10906815 -0.07311056 -0.09868894 -0.17982297 -0.04067764]\n", " [ 0.7683937 -0.12053894 -0.16271055 -0.29647796 -0.13413217]\n", " [-0.12053894 0.55480897 -0.10906815 -0.19873512 -0.08991149]\n", " [-0.16271055 -0.10906815 0.71075533 -0.26826435 -0.12136781]\n", " [-0.29647796 -0.19873512 -0.26826435 1.07453548 -0.22114657]\n", " [-0.26826435 -0.17982297 -0.24273562 -0.44229314 1.21447136]]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "plt.rcParams['figure.figsize'] = 12, 8\n", "\n", "dz = 0.1\n", "zz = np.arange(0, 1+dz, dz)\n", "\n", "class PiecewiseLinearKDE:\n", " def __init__(self, nodes, q):\n", " nodes = np.array(nodes)\n", " q = np.array(q)\n", " assert len(nodes) == len(q)+1, \"One more node than parameters\"\n", " assert (nodes[0:-1] < nodes[1:]).all(), \"Nodes must all be in order.\"\n", " self.nodes = nodes\n", " self.__interval_size = nodes[1:]-nodes[:-1]\n", " self.N = len(nodes)-1\n", " self.volume_ = self.nodes[-1] - self.nodes[0]\n", " self.q = q\n", "\n", " def M(self):\n", " exq = self._exp_q()\n", " return (0.5*(exq[1:]+exq[:-1])*self.__interval_size).sum()\n", " \n", " def h(self):\n", " return self._exp_q() / self.M()\n", " \n", " def _exp_q(self):\n", " result = np.ones(shape=(self.N+1,))\n", " result[1:] = np.exp(self.q)\n", " return result\n", " \n", " def grad_h(self):\n", " mm = self.M()\n", " mm2 = mm*mm\n", " exq = self._exp_q()\n", " \n", " z_diff = np.zeros(shape=(self.N+1))\n", " z_diff[:-1] += self.nodes[1:]\n", " z_diff[1:] -= self.nodes[:-1]\n", " z_diff[-1] = self.nodes[-1] - self.nodes[-2]\n", " \n", " result = np.zeros(shape=(self.N+1, self.N), dtype=float)\n", " \n", " result[0,:] = (- 0.5 / mm2) * np.exp(self.q) * z_diff[1:]\n", " #result[0,:] *= z_diff[1:]\n", " result[0,-1] /= 2 \n", " \n", " for i in range(1,self.N+1): # Add the diagonal term\n", " result[i,i-1] += exq[i]/mm\n", " result[i,:] -= 0.5*exq[i]*exq[1:]*z_diff[1:] / mm2\n", " return result#.transpose()\n", " \n", " def grad_x(self, dq, x):\n", " \"\"\"\n", " This function calculates \n", " \"\"\"\n", " return np.interp(x, self.nodes, self.grad_h() @ dq)\n", " \n", " def grad_q(self, x):\n", " result = np.zeros(shape=(self.N, len(x)))\n", " gh = self.grad_h()\n", " for i in range(self.N):\n", " result[i,:] = np.interp(x, self.nodes, gh[:,i])\n", " return result\n", " \n", " def __call__(self, x):\n", " x = np.array(x)\n", " assert (x.max() <= self.nodes[-1])\n", " assert (x.min() >= self.nodes[0])\n", " return np.interp(x, self.nodes, self.h())\n", "\n", "dx = 0.2\n", "xx = np.arange(0,1+dx,0.2)\n", "q = np.array([0.5, 0.1, 0.4, 1.0, 0.9])\n", "#dq = np.array([-0.1, 0.0, 0.00, 0.05, -0.1])\n", "dq = np.ones(shape=(5,))*-0.2\n", "plk = PiecewiseLinearKDE(xx, q)\n", "print(plk.grad_h())\n", "x = np.arange(0,1,0.01)\n", "# The purpose of this plot is debugging - we want to show that derivative of the curve w.r.t. q\n", "# actually works as a linear approximation.\n", "\n", "plt.plot(x, PiecewiseLinearKDE(xx, q)(x), label=\"base\")\n", "plt.plot(x, PiecewiseLinearKDE(xx, q+dq)(x), label=\"actual\")\n", "plt.plot(x, PiecewiseLinearKDE(xx, q)(x) + PiecewiseLinearKDE(xx, q).grad_x(dq, x), label=\"linear approx\")\n", "plk = PiecewiseLinearKDE(xx, q)\n", "\n", "plt.legend()\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Linear approximations\n", "\n", "Based on the above graph, it appears likely that we have correctly implemented the derivative. I.e., $p(x|\\vec{q}+\\vec{\\delta q}) \\approx p(x|\\vec{q}) + \\nabla_{\\vec{q}} p(x|\\vec{q})\\vec{\\delta q}$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Fitting a distribution to data\n", "\n", "Given a data set $z_i, i=1\\ldots M$, the likelihood of seeing this data set given a parameterized distribution function is:\n", "\n", "$$ P(\\vec{z} | \\vec{q}) = \\prod_{i=1}^M P(z_i | \\vec{q}) $$\n", "\n", "Taking the $\\vec{q}$ gradient of $\\ln P(\\vec{z}|\\vec{q})$ yields:\n", "\n", "$$ \\nabla_{\\vec{q}} \\ln P(\\vec{z} | \\vec{q}) = \\sum_{i=1}^M \\frac{1}{P(z_i|\\vec{q})} \\nabla_{\\vec{q}} P(z_i|\\vec{q}) $$\n", "\n" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from scipy.stats import beta\n", "from scipy.optimize import minimize\n", "\n", "#z = np.concatenate([beta(15,37).rvs(200), beta(40,15).rvs(50)])\n", "z = np.concatenate([beta(1,4).rvs(300*2), beta(3,2.5).rvs(85*2)])\n", "\n", "plt.plot(zz, (500*beta(1,4).pdf(zz) + 85*beta(3,2).pdf(zz))/(500+85), label='True Distribution')\n", "\n", "dz = 0.1\n", "zz = np.arange(0, 1+dz, dz)\n", "\n", "def fit_piecewise_linear_distribution(zz, z, tol=1e-5, maxiter=15000, reg=1e-9):\n", " def objective(q):\n", " p = PiecewiseLinearKDE(zz, q)\n", " return -1*np.log(p(z)+reg).sum() / len(z)\n", "\n", " def deriv(q):\n", " p = PiecewiseLinearKDE(zz, q)\n", " return -1*p.grad_q(z) @ (1.0/(p(z)+reg)) / len(z)\n", "\n", " result = minimize(objective, jac=deriv, x0=np.zeros(shape=(len(zz)-1,)), method='tnc', tol=1e-6, options={'maxiter': 10000})\n", " if result.success:\n", " return PiecewiseLinearKDE(zz, result.x)\n", " else:\n", " print(\"Error in optimization!\")\n", " print(result)\n", " return PiecewiseLinearKDE(zz, result.x)\n", " \n", "plk = fit_piecewise_linear_distribution(zz, z)\n", "plt.hist(z, bins=20, density=True)\n", "plt.plot(zz, plk(zz), label='Max Likelihood Fit')\n", "plt.legend()\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Conclusion\n", "\n", "It appears that we can reliably fit a piecewise linear distribution to a data set. Not super surprising." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Simultaneously fitting the distribution and finding base rate\n", "\n", "Let us now consider a model of risk scores. We have a risk score $z \\in [0,1]$, with the positive class tending to have higher risk scores than the negative one.\n", "\n", "Let's assume that at baseline, the distribution of risk scores from the negative class is given by $f_0(z) = P(Z=z|y=0)$ and that of the positive class is $f_1(z)=P(Z=z|y=1)$.\n", "\n", "An example of this is give below:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from scipy.stats import beta, bernoulli\n", "import matplotlib.pyplot as plt\n", "\n", "neg_dist = beta(1,4)\n", "pos_dist = beta(3,0.8)\n", "\n", "neg_z = neg_dist.rvs(10000)\n", "pos_z = pos_dist.rvs(300)\n", "plt.hist(neg_z, bins=20, alpha=0.5, log=True)\n", "plt.hist(pos_z, bins=20, alpha=0.5, log=True)\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We want to estimate a calibration curve for the risk scores, as well as identify the base rate." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "text/plain": [ "array([ -0.3288685 , -0.72155878, -1.07043259, -1.53956729,\n", " -2.02063169, -2.82452637, -3.80450156, -4.5991754 ,\n", " -7.72503645, -12.59481172])" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dz = 0.1\n", "zz = np.arange(0,1+dz, dz)\n", "\n", "neg_f = fit_piecewise_linear_distribution(zz, neg_z)\n", "plt.hist(neg_z, bins=20, alpha=0.5, log=False, density=True, color='blue')\n", "plt.plot(zz, neg_f(zz), label='negative dist', color='blue')\n", "\n", "pos_f = fit_piecewise_linear_distribution(zz, pos_z)\n", "plt.hist(pos_z, bins=20, alpha=0.5, log=False, density=True, color='orange')\n", "plt.plot(zz, pos_f(zz), label='positive dist', color='orange')\n", "plt.show()\n", "\n", "neg_f.q" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Risky distribution shift\n", "\n", "Let us now simulate what happens if we have a shift in the risky distribution. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "At this time our log-likelihood is given by:\n", "\n", "$$ \\ln(P(\\vec{z}|\\vec{q},\\alpha) = \\sum_{i=1}^N \\ln\\left[ (1-\\alpha)f_0(z_i) + \\alpha f_1(z_i; \\vec{q}) \\right]$$\n", "\n", "Here $\\alpha$ is the rate at which the positive class appears, $f_0(z)$ is the distribution if risk scores for the base class, and $f_1(z; \\vec{q})$ the parameterized distribution of scores for the risky class.\n", "\n", "Differentiating, we find:\n", "\n", "$$ \\frac{ \\partial \\ln(P(\\vec{z}|\\vec{q},\\alpha)}{\\partial \\alpha} = \\sum_{i=1}^N \\frac{ f_1(z_i; \\vec{q}) - f_0(z_i) }{(1-\\alpha)f_0(z_i) + \\alpha f_1(z_i; \\vec{q}) } $$\n", "\n", "$$ \\nabla_{\\vec{q}} \\ln(P(\\vec{z}|\\vec{q},\\alpha) = \\sum_{i=1}^N \\frac{\\alpha}{(1-\\alpha)f_0(z_i) + \\alpha f_1(z_i; \\vec{q}) } \\nabla_{\\vec{q}} f_1(z_i; \\vec{q}) $$" ] }, { "cell_type": "code", "execution_count": 138, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([0.47136801, 0.89125953, 0.16883111, 0.01760872, 0.30653938,\n", " 0.7732084 , 0.23041461]), array([2, 1, 0, 0, 0, 1, 0]))" ] }, "execution_count": 138, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from scipy.stats import multinomial\n", "\n", "class MixtureDistribution:\n", " def __init__(self, coeff, dists):\n", " self.coeff = np.array(coeff)\n", " self.dists = dists\n", " assert len(coeff) == len(dists) \n", " self._N = len(coeff)\n", " self._mix_dist = multinomial(1, coeff)\n", " \n", " def pdf(self, x):\n", " result = None\n", " for i in range(len(coeff)):\n", " if result is None:\n", " result = self.coeff[i]*self.dists[i].pdf(x)\n", " else:\n", " result += self.coeff[i]*self.dists[i].pdf(x)\n", " return result\n", " \n", " def rvs(self, N):\n", " idx = self._mix_dist.rvs(N).transpose()\n", " x = np.zeros(shape=(self._N, N))\n", " for i in range(self._N):\n", " x[i,:] = self.dists[i].rvs(N)\n", " idx_as_label = (idx * np.arange(0,self._N)[:,np.newaxis]).sum(axis=0)\n", " return (x*idx).sum(axis=0), idx_as_label\n", " \n", "d = MixtureDistribution([0.5, 0.3, 0.2], [beta(1,4), beta(3,0.8), beta(100, 100)])\n", "d.rvs(7)" ] }, { "cell_type": "code", "execution_count": 139, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Warning: Desired error not necessarily achieved due to precision loss.\n", " Current function value: -0.564002\n", " Iterations: 12\n", " Function evaluations: 92\n", " Gradient evaluations: 267\n", " Hessian evaluations: 0\n", "Error in optimization!\n", " fun: -0.5640023985152177\n", " jac: array([ 1.83043946e-05, -5.05107078e-06, -5.50232003e-06, 1.99688618e-06,\n", " 2.09505994e-06, 6.43139908e-06, 1.11672243e-05, 2.23998873e-06,\n", " 5.10758176e-06, -6.30652251e-06, -2.02105572e-05])\n", " message: 'Warning: Desired error not necessarily achieved due to precision loss.'\n", " nfev: 92\n", " nhev: 0\n", " nit: 12\n", " njev: 267\n", " status: 2\n", " success: False\n", " x: array([ 0.02376932, 0.38520732, 0.43568212, -0.05683884, 0.09990649,\n", " 0.142085 , 0.61431764, 2.22173435, 3.15319907, 2.94503888,\n", " 2.70243808])\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Measured alpha: 0.023769319766356267\n", "True alpha: 0.0234375\n" ] } ], "source": [ "from scipy.stats import beta\n", "from scipy.optimize import minimize\n", "\n", "neg_dist = beta(1,4)\n", "pos_dist = beta(3,0.8)\n", "\n", "N_neg = 50000\n", "N_pos = 600\n", "N_pos2 = 600\n", "\n", "dst = MixtureDistribution( [50000/51200.0, 600/51200.0, 600/51200.0], [neg_dist, beta(3.5,0.9), beta(16,4)])\n", "\n", "z, y = dst.rvs(51200)\n", "y = np.minimum(y, 1) # the labels 1 and 2 both correspond to positive\n", "\n", "dz = 0.1\n", "zz = np.arange(0, 1+dz, dz)\n", "\n", "def __param_to_alpha(a, alpha_max=0.1):\n", " return np.maximum(np.minimum(a,1), 0)\n", "\n", "prior_reg = 1e-3\n", "prior_pow = 2\n", "\n", "def regularize(p, base_pos_dist, neg_dist):\n", " x = p(zz) - base_pos_dist(zz)\n", " jap_x = np.sqrt(1+x*x) - 1\n", " return prior_reg*np.power(jap_x, prior_pow) @ neg_dist(zz)\n", "\n", "def grad_regularize(p, base_pos_dist, neg_dist):\n", " x = p(zz) - base_pos_dist(zz)\n", " jap_x = np.sqrt(1+x*x)-1\n", " d_jap_x = x/np.sqrt(1+x*x)\n", " return p.grad_q(zz) @ (prior_reg*prior_pow*np.power(jap_x, prior_pow-1) * neg_dist(zz) * jap_x)\n", "\n", "def fit_and_calibrate(zz, z, neg_dist, base_pos_dist, tol=1e-5, maxiter=15000, reg=1e-8):\n", " def objective(q):\n", " alpha = __param_to_alpha(q[0])\n", " p = PiecewiseLinearKDE(zz, q[1:])\n", " result = -1*np.log((1-alpha)*neg_dist(z) + alpha*p(z)).sum() / len(z) + regularize(p, base_pos_dist, neg_dist)\n", " return result\n", "\n", " def deriv(q):\n", " alpha = __param_to_alpha(q[0])\n", " p = PiecewiseLinearKDE(zz, q[1:])\n", " denom = ((1-alpha)*neg_dist(z)+alpha*p(z))\n", " grad_alpha = -1*((p(z) - neg_dist(z)) / denom).sum() / len(z)\n", " grad_q = -1*(alpha * p.grad_q(z) @ (1.0/denom)) / len(z)\n", " grad_q += grad_regularize(p, base_pos_dist, neg_dist)\n", " \n", " result = np.concatenate([[grad_alpha], grad_q])\n", " return result\n", " \n", " \n", " x0 = np.ones(shape=(len(zz),))\n", " x0[0] = 0.05\n", " x0[1:] = base_pos_dist(zz[1:])\n", " result = minimize(objective, x0=x0, jac=deriv, method='newton-cg', tol=1e-7, options={'maxiter': 10000, 'disp': True})\n", " if result.success:\n", " print(result)\n", " return (__param_to_alpha(result.x[0]), PiecewiseLinearKDE(zz, result.x[1:]))\n", " else:\n", " print(\"Error in optimization!\")\n", " print(result)\n", " return (__param_to_alpha(result.x[0]), PiecewiseLinearKDE(zz, result.x[1:]))\n", "\n", "bpd = beta(4,1).pdf\n", "alpha, plk = fit_and_calibrate(zz, z, neg_dist.pdf, base_pos_dist=bpd)\n", "\n", "plt.hist(z2_neg_z, bins=20, alpha=0.25, color='blue', density=True)\n", "plt.hist(z2_pos_z, bins=20, alpha=0.25, color='orange', density=True)\n", "plt.plot(zz, plk(zz), color='orange', label='$f_1(z; \\vec{q})$')\n", "zzz = np.arange(0,1,0.01)\n", "plt.plot(zzz, (N_pos*N_pos_dist1.pdf(zzz)+ N_pos2*N_pos_dist2.pdf(zzz)) / (N_pos+N_pos2), 'r-', color='red', label='true distribution')\n", "plt.plot(zz, bpd(zz), '--', color='orange', label='$f_1(z)$')\n", "plt.plot(zz, neg_dist.pdf(zz), '--', color='blue', label='$f_0(z)$')\n", "plt.legend()\n", "plt.xlabel('z')\n", "plt.ylabel('density')\n", "plt.show()\n", "print(\"Measured alpha: \" + str(alpha))\n", "print(\"True alpha: \" + str(len(z2_pos_z)/len(z)))\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us now compute calibration curves based on this." ] }, { "cell_type": "code", "execution_count": 140, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtAAAAHgCAYAAACMxVqsAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdd3yNZx/H8c/JkmnvVbRG9pBEzNhq78amxJZqlYeiaShtKVWrYosdu2arQYygCDEShBIRIyIhMiUn537+SJtSIUaSk8Tv/Xo9r0dO7vu6f/dJvPp1nev+XSpFURBCCCGEEEK8Hh1tFyCEEEIIIUR+IgFaCCGEEEKINyABWgghhBBCiDcgAVoIIYQQQog3IAFaCCGEEEKINyABWgghhBBCiDegp+0C3lTJkiWVKlWqaLsMIYQQQghRwAUGBj5UFKXUf1/PdwG6SpUqnDlzRttlCCGEEEKIAk6lUt3K7HVZwiGEEEIIIcQbkAAthBBCCCHEG5AALYQQQgghxBvId2ugM5OamkpERATJycnaLkVokaGhIRUrVkRfX1/bpQghhBCiACsQAToiIgIzMzOqVKmCSqXSdjlCCxRFITo6moiICKpWrartcoQQQghRgBWIJRzJycmUKFFCwvN7TKVSUaJECfkUQgghhBA5rkAEaEDCs5DfASGEEELkigIToAu6AQMGsGXLFgDc3d0JCQkBwNTU9J3G9ff35/jx4298XpUqVXj48OE7XVsIIYQQIj8qEGug3zfLli17o+PVajV6epn/qP39/TE1NaVevXrZUZoQQgghRIEnM9DZJCwsDCsrq4yvZ82ahZeXF40bN2b8+PE4OztTo0YNjh49CkBaWhpjx47F2toaGxsb5s+fD8DUqVNxcnLCysqKIUOGoCjKC9dq3Ljxc7sxfvnllzg4ONCsWTOioqIyjpk4cSKurq7MnTuXXbt2UadOHezt7WnevDmRkZGEhYXh7e3NnDlzsLOz4+jRo0RFRdG1a1ecnJxwcnIiICAAgOjoaFq2bIm9vT1Dhw7NtC4hhBBCiPdBjs1Aq1SqFUA74IGiKFaZfF8FzAXaAInAAEVRzr7rdafsCibk7pN3HeY5FuUL8017y7c+X61Wc+rUKfbu3cuUKVPw8/NjyZIl3Lx5k3PnzqGnp0dMTAwAo0aNwtPTE4C+ffuye/du2rdv/9KxExIScHBwYPbs2UydOpUpU6awYMECAB4/fszhw4cBePToESdPnkSlUrFs2TJmzpzJ7NmzGTZsGKampowdOxaAXr168cUXX9CgQQPCw8Np1aoVly9fZsqUKTRo0ABPT0/27NnDkiVL3vr9EEIIIYTIz3JyCccqYAGw+iXfbw1U//t/dYBFf/9/gdOlSxcAateuTVhYGAB+fn4MGzYsY2lF8eLFATh06BAzZ84kMTGRmJgYLC0tXxmgdXR0cHNzA6BPnz4Z1wIyXof0Vn9ubm7cu3ePlJSUl7Z68/Pzy1hfDfDkyRPi4uI4cuQI27ZtA6Bt27YUK1bsTd8GIYQQQogCIccCtKIoR1QqVZVXHNIRWK2krwU4qVKpiqpUqnKKotx7l+u+y0zxu9DT00Oj0WR8/Ww7tUKFCgGgq6uLWq0G0vsW/7drRHJyMiNGjODMmTNUqlQJLy+vN27L9uyYJiYmGX/28PBgzJgxdOjQAX9/f7y8vDI9X6PRcOLECYyMjF45thBCCCHE+0qba6ArALef+Tri79fypTJlyvDgwQOio6N5+vQpu3fvfuXxLVu2xNvbOyNQx8TEZITlkiVLEh8fn9F141U0Gk3GcevXr6dBgwaZHhcbG0uFCulvr4+PT8brZmZmxMXFPVfXP0tAAIKCggBo1KgR69atA2Dfvn08evQoy9qEEEIIIQoibQbozKYzM30yTaVSDVGpVGdUKtWZfx6Sy2v09fXx9PSkTp06tGvXjlq1ar3yeHd3dypXroyNjQ22trasX7+eokWLMnjwYKytrenUqRNOTk5ZXtfExITg4GBq167NwYMHM9ZP/5eXlxfdu3enYcOGlCxZMuP19u3bs3379oyHCOfNm8eZM2ewsbHBwsICb29vAL755huOHDmCg4MD+/fvp3Llym/w7gghhBBCFByqnOym8PcSjt0veYhwMeCvKMqGv7++CjTOagmHo6Oj8mwHCoDLly9jbm6eXWWLfEx+F4QQQgiRXVQqVaCiKI7/fV2bM9A7gX6qdC5A7LuufxZCCCGEECKn5ViAVqlUG4ATQE2VShWhUqkGqVSqYSqVatjfh+wFbgDXgaXAiJyqRQghhBBC5C83b96kffv2XL16VdulvCAnu3D0zOL7CjAyp64vhBBCCCGy3/UHcVQraYqOTs5150pKSsLFxYXExESuXLlCzZo1c+xab0N2IhRCCCGEEK9lS2AEbeYdY9mxGzky/q1bt1AUBSMjI5YsWUJwcDAdO3bMkWu9CwnQQgghhBDilVLTNHjtDGbs5vM4flCMbrUrZe/4qalMnz6dGjVqsHHjRgA6duyYZ7t+5eROhEIIIYQQIp+Ljn/KqPXnOHEjmkENqvJV61ro6WbfHGxgYCADBw7kwoULuLm50axZs2wbO6fIDHQ2qVev3lud9913373TdT09PfHz83unMbTN3d39ue3DhRBCCJE3XLoTS4cFAQSGP+KnT2z5up1FtobnGTNm4OzsTFRUFDt27GDjxo2ULl0628bPKTnaBzonFLQ+0KampsTHx+f6ddPS0tDV1X2nMdRqNXp6eetDjPz8uyCEEELkJb8G3WH81gsUMzZgcd/a2FQsmvVJ6hTQM3jta2zbto19+/bx448/UrToa4yfy/JiH+gCxdTUFIB79+7RqFEj7OzssLKy4ujRowBs2LABa2trrKysGD9+PAATJkwgKSkJOzs7evfuDcBPP/2ElZUVVlZW/PzzzwCEhYVhbm7O4MGDsbS0pGXLliQlJQEwYMCAjK28T58+Tb169bC1tcXZ2fm5LboB/P39adKkCb169cLa2hqAtWvX4uzsjJ2dHUOHDiUtLQ2A5cuXU6NGDRo3bszgwYMZNWpUxvXGjBlDkyZNGD9+PAkJCQwcOBAnJyfs7e359ddfAQgODs4Y18bGhmvXrpGQkEDbtm2xtbXFysoKX19fABo3bsw//yjK7H365/2dNGkStra2uLi4EBkZmW0/OyGEEEL8K02j8P3ey4zeGIRNhaLsHNUg6/B89xz49oU1nV552JMnTxgxYgQzZswAoEuXLixdujRPhudXyVvTh9lh3wS4fzF7xyxrDa1/eK1D169fT6tWrZg0aRJpaWkkJiZy9+5dxo8fT2BgIMWKFaNly5bs2LGDH374gQULFhAUFASkrwFauXIlf/75J4qiUKdOHVxdXSlWrBjXrl1jw4YNLF26lE8++YStW7fSp0+fjOumpKTg5uaGr68vTk5OPHnyBCMjoxfqO3XqFJcuXaJq1apcvnwZX19fAgIC0NfXZ8SIEaxbt47mzZvz7bffcvbsWczMzGjatCm2trYZY4SGhuLn54euri4TJ06kadOmrFixgsePH+Ps7Ezz5s3x9vZm9OjR9O7dm5SUFNLS0ti7dy/ly5dnz549AMTGxj5X28vep06dOpGQkICLiwvTp0/nf//7H0uXLmXy5Mlv/KMUQgghxMs9TkzBY8M5jl57SL+6HzC5rQUGei+Zb1UUuBUAR2fDXwehUBFwdoc0Nei+GDH37t3LsGHDiIiIeG6SLD8qeAFay5ycnBg4cCCpqal06tQJOzs7Dh48SOPGjSlVqhQAvXv35siRI3Tq9Py/0o4dO0bnzp0xMTEB0v9VdvToUTp06EDVqlWxs7MDoHbt2oSFhT137tWrVylXrhxOTk4AFC5cONP6nJ2dqVq1KgAHDhwgMDAw45ykpCRKly7NqVOncHV1pXjx4gB0796d0NDQjDG6d++esfxj//797Ny5k1mzZgGQnJxMeHg4devWZfr06URERNClSxeqV6+OtbU1Y8eOZfz48bRr146GDRs+V9vp06df+j4ZGBjQrl27jPv/448/XuvnIYQQQojXc+X+E4asDuR+bDI/dLGmh/NLOmAoCoT+nh6cI06BSSlo7gWOA8GwyHOHJqQmMPfIXE4sPsHuzbuxsLDg+PHjuLi45Pj95KSCF6Bfc6Y4pzRq1IgjR46wZ88e+vbty7hx414aZv/rVevRCxUqlPFnXV3djCUcz56rUmXd0PyfcP7POf379+f7779/7pjt27e/0Rhbt259ocG5ubk5derUYc+ePbRq1Yply5bRtGlTAgMD2bt3L1999RUtW7bE09PzubFeRl9fP+P+dHV1UavVWd6rEEIIIV7Pvov3+HLzeUwL6bFhiAu1Pyj24kFpagjZAUd/ggfBUKQytJkF9n1A//lPvdUaNduubWNh0EIigiMI/zUcT09PJk6c+Fymya9kDXQ2u3XrFqVLl2bw4MEMGjSIs2fPUqdOHQ4fPszDhw9JS0tjw4YNuLq6AunBMDU1FUgP3zt27CAxMZGEhAS2b9/+wizty9SqVYu7d+9y+vRpAOLi4rIMmc2aNWPLli08ePAAgJiYGG7duoWzszOHDx/m0aNHqNVqtm7d+tIxWrVqxfz58zPC77lz5wC4ceMG1apV47PPPqNDhw5cuHCBu3fvYmxsTJ8+fRg7dixnz559bqxXvU9CCCGEyH4ajcKs368yfN1ZapY1Y5dHgxfDs/opnFkJCxxh6yDQqKGTN3x2FpwHPxeeFUXhSMQR2q5qyxc/fEGVwlXY4bGDiPAIpkyZUiDCMxTEGWgt8/f358cff0RfXx9TU1NWr15NuXLl+P7772nSpAmKotCmTZuMXXWGDBmCjY0NDg4OrFu3jgEDBuDs7Aykt3ezt7d/YblGZgwMDPD19cXDw4OkpCSMjIzw8/PLeLgxMxYWFkybNo2WLVui0WjQ19dn4cKFuLi4MHHiROrUqUP58uWxsLCgSJEimY7x9ddf8/nnn2NjY4OiKFSpUoXdu3fj6+vL2rVr0dfXp2zZsnh6enL69GnGjRuHjo4O+vr6LFq06LmxXvU+CSGEECJ7PUlO5fONQRy88gA3x0pM7WRJIb1nOnQ9jYfAlXBiIcTdg/IO0HIa1GwDOi/OwV6JucKPp3/kN9/feOD7AD1Fjx+++4Fypcrl4l3lDmljJzIVHx+PqakparWazp07M3DgQDp37qztsrIkvwtCCCFE1q4/iGfI6jOExyTyTQdL+tSp/O9S0MQY+HMx/OkNyY+haiNoMAaqNYZMlotGJkQy/9x8Np/YTKRPJLHBsbi6urJs2TI++uijXL2v7PayNnYyAy0y5eXlhZ+fH8nJybRs2fKFBx6FEEIIkT/5hUTyuW8Qhvo6rB/sgnPV9KYBPLmbPtt8ZiWkJkDNttBwDFR8IT8CkJiayIpLK/AJ9iH1aSp3vr+DjlqHxYsX4+7ujk4ms9QFhQRokal/umoIIYQQomDQaBQWHLrOT3+EYl2hCIv71qZ8USOI/gsC5sL5DaBJA+tuUP9zKGOR6ThpmjR2XN/BgqAF3A2/S3vH9oyuPZqg0kHY29tTsWLFXL6z3CcBWgghhBCigIt/qubLTUH8HhxJF/sKfNfFGsPoy7DlJwjeDjr6YN8X6n8Gxaq8dJyAOwHMOjOL0Ieh6B7S5camG9T2qU0ls0pUal8p925IyyRACyGEEEIUYGEPExi8+gw3Hibg2c6CTytHotrUE679DgamUM8DXEaAWdmXjhH6KJSfzvxEwN0AzO6bkbgykbCrYfTq1YvmzZvn4t3kDRKghRBCCCEKKP+rD/hswzl0VbDz42Qsr40EvwAwKg5NJqfvHGiUSc/nv0UlRrEwaCHbr2/HVN8U8yBzts7bSrly5di5cyft27fPxbvJOyRACyGEEEIUMIqi4H34BrN+D2Fg8UuMM96DwcGLYFYePv4BHPqBgclLz09MTcQnxIeVl1aSqkmlZ82eDLcbzkHDgxRLLMbMmTNf2uL2fVBwH4/Mw1atWsWoUaMA8Pb2ZvXq1QA0btyY/7boexNhYWGsX7/+jc8bMGAAW7ZseevrCiGEECLvSExRM3r9KW784c1x06+YlPADBmmJ0GEBjD4PLsNfGp7TNGlsv7ad9tvb80vQLzgVccLioAUcgiKFitC5c2cWL178XodnkBlorRs2bNgbHa9Wq9HTy/zH9k+A7tWrV3aUJoQQQoh8JiLyIbtW/cD4xG1U0I9GKWENDb8F8w6go/vKc0/cPcHsM7O5+ugqNiVtaP+0PT8O/ZH79+9T9auquXQH+YPMQGej1atXY2Njg62tLX379mXXrl3UqVMHe3t7mjdvTmRk5AvneHl5Pdcybu3atdSrVw8rKytOnTqVccyQIUNo2bIl/fr1IywsjIYNG+Lg4ICDgwPHjx8HYMKECRw9ehQ7OzvmzJlDWloa48aNw8nJCRsbGxYvXgykf6wzatQoLCwsaNu2bcZW3kIIIYTIp5Iec2v7FIwX2TE8aSkmpatC762ohh4Fy86vDM/XH11nhN8IhvwxhLiUOCZZTkJZp/BFvy8oUaIEJ0+eZNq0abl4M3lfgZuBnnFqBldirmTrmLWK12K88/hXHhMcHMz06dMJCAigZMmSxMTEoFKpOHnyJCqVimXLljFz5kxmz579ynESEhI4fvw4R44cYeDAgVy6dAmAwMBAjh07hpGREYmJifzxxx8YGhpy7do1evbsyZkzZ/jhhx+YNWsWu3fvBmDJkiUUKVKE06dP8/TpU+rXr0/Lli05d+4cV69e5eLFi0RGRmJhYcHAgQOz580SQgghRO6Jf4ByYiGpJ5fyQVoCf+o5UrnDJMrZNM3y1IdJD/kl6Be2XtuKiZ4JY2qPoZd5L84Hnmf79u1MmTKFCRMmYGBgkAs3kr8UuACtLQcPHqRbt26ULFkSgOLFi3Px4kXc3Ny4d+8eKSkpVK2a9ccfPXv2BKBRo0Y8efKEx48fA9ChQweMjIwASE1NZdSoUQQFBaGrq0toaGimY+3fv58LFy5krG+OjY3l2rVrHDlyhJ49e6Krq0v58uVp2jTrv2RCCCGEyEMe3YLj81DOrUVRp/B7mjNBH3zKF327YVro1fEuSZ3EmpA1LL+4nJS0FHrU7EH7Eu0JOBBAIatCODs7Ex4eTqlSpXLpZvKfAhegs5opzimKovy7h/zfPDw8GDNmDB06dMDf3x8vL68sx/nvGP98bWLy72L/OXPmUKZMGc6fP49Go8HQ0PClNc2fP59WrVo99/revXtfuI4QQggh8oEHV+DYHLi4GUWlw379pnyf0JKuzV2Z1OQjdHRe/t93jaJh943dzDs7j8jESJpWaspo+9H4bfaj/rj6pKWl0bFjR8qWLSvhOQuyBjqbNGvWjE2bNhEdHQ1ATEwMsbGxVKhQAQAfH5/XGsfX1xeAY8eOUaRIkUyfco2NjaVcuXLo6OiwZs0a0tLSADAzMyMuLi7juFatWrFo0SJSU1MBCA0NJSEhgUaNGrFx40bS0tK4d+8ehw4devsbF0IIIUTOuxMIG3vDL3Xg8k7u1epPGxbwZfIgJvdtj0ez6q8Mz6fvn6bH7h5MOjaJkkYlWdFqBR6VPRjUZRBDhw7F0dGRCxcuULbsyzdTEf8qcDPQ2mJpacmkSZNwdXVFV1cXe3t7vLy86N69OxUqVMDFxYWbN29mOU6xYsWoV68eT548YcWKFZkeM2LECLp27crmzZtp0qRJxuy0jY0Nenp62NraMmDAAEaPHk1YWBgODg4oikKpUqXYsWMHnTt35uDBg1hbW1OjRg1cXV2z9b0QQgghRDZQFLh5BI7OhpuHwbAoSqP/sVm3DRN/v0fl4sbs6OfIR6VNXzrEjdgbzDkzB/8If8qalOX7ht/TpmobniY/5QObD3j69ClLly5l0KBB8un0G1ApiqLtGt6Io6Oj8t9eyZcvX8bc3FxLFYm8RH4XhBBC5HsaDYTuSw/OdwLBtAzUHcVTu3547gvH98xtmtYqzc897ChsqJ/pEDHJMfwS9AtbQrdgqGeIu7U7fcz7cOfWHapVq4ZKpWLPnj3Y2dllfFouXqRSqQIVRXH87+syAy2EEEIIkRekqeHS1vQ1zlGXoegH0G4O2PYiMgmG+QRyLvwxHk0/4ovmNTJdsvE07SlrQ9ay7OIyktRJdKvRjeG2wzHVMeW7b7/ju+++w8fHh169etG2bVst3GTBIAFaCCGEEEKbUpMhaC0EzIPHt6C0BXRZlt6/WVePwFuPGLY2kISnahb1dqC1dbkXhtAoGvbd3Mfcs3O5l3CPxhUb80XtL6hWtBonT55k0KBBhISE0Ldv3xeaC4g3JwFaCCGEEEIbkp/AmRVwYiEkPICKTtB6BlRvBTrpfR42ngrn618vUa6IEWsH1aFmWbMXhgmMDGTW6Vlcir6EeXFzvq3/LXXK1QFg+vTpfP3111SsWJG9e/fSunXrXL3FgkoCtBBCCCFEbkqIhj8XwaklkBwL1ZpAwxVQpQH8/SBfilrDt7tDWHPyFg2rl2R+T3uKGj+/oUlYbBg/n/2ZA+EHKG1cmukNptOuWjt0VDoZ7XUtLS0ZPnw433//PYULF9bG3RZIEqCFEEIIIXJDbAQcXwBnfSA1CczbQYMxUMHhucOi4p4yct1ZToXFMMz1Q8a1qonuM+udHyc/xvuCN75XfDHQNcDD3oO+Fn0x0jPi8ePHjBs3jqpVqzJx4kQ6depEp06dcvtOCzwJ0EIIIYQQOenhdQiYA+d9AQWsP4EGn0Opmi8ceiHiMUPXBPIoMYV5Pe3pYFs+43spaSmsv7yeJReWkKBOoGv1roywG0FJo/RdkH/99VeGDx/OgwcPmDhxYm7d3XtJNlLJI6KioqhTpw729vYcPXr0jc4NCgpi79692VLHgAEDMrb+dnd3JyQkBABT05f3mHwd/v7+HD9+PONrb29vVq9e/U5jCiGEEHnavfOwqT8scISLW8DxU/jsHHRelGl43hoYQTfvE+ioVGwdXi8jPCuKwm83f6PDjg7MDpyNbWlbtrbfimddT0oalSQyMhI3Nzc6depE6dKl+fPPP5k6dWpu3+17RWag8wC1Ws2BAweoVavWa+9Y+KygoCDOnDlDmzZtsrWuZcuWvdHxarUaPb3Mf6X8/f0xNTWlXr16AAwbNuyd6xNCCCHypFvH03s4X/eDQoWhwRfgMgJMM98eW52m4bu9V1gRcJO61UqwsLcDxU3S1zsHPQjix9M/cuHhBWoUq8HiFoupV77ec+eHh4eze/dupk+fzrhx49DXz7w3tMg+MgOdDcLCwqhVqxb9+/fHxsaGbt26kZiYCEBgYCCurq7Url2bVq1ace/ePQAaN27MxIkTcXV1Ze7cufzvf/9j79692NnZkZSUxP79+6lbty4ODg50796d+Ph4AE6fPk29evWwtbXF2dmZ2NhYPD098fX1xc7OLmMr8H+kpaUxduxYrK2tsbGxYf78+QBMnToVJycnrKysGDJkCJltqNO4cWOe3bTmyy+/xMHBgWbNmhEVFZXpfezatStjJr158+ZERkYSFhaGt7c3c+bMwc7OjqNHj+Ll5cWsWbOA9H8AuLi4YGNjQ+fOnXn06FHG2OPHj8fZ2ZkaNWq88cy8EEIIkWsUBUL3w/JWsLI13A2CZp7wxSVo/s1Lw3NMQgr9VpxiRcBNBtavyppBzhQ3MeD2k9uM8R9D3319uZdwj6n1prKp3aaM8BweHs6iRYsAcHJyIjw8nIkTJ0p4ziUFcga6cePGL7z2ySefMGLECBITEzOdqR0wYAADBgzg4cOHdOvW7bnv+fv7Z3nNq1evsnz5curXr8/AgQP55ZdfGD16NB4eHvz666+UKlUKX19fJk2alLFF9+PHjzl8+DAAJUqU4MyZMyxYsICHDx8ybdo0/Pz8MDExYcaMGfz0009MmDABNzc3fH19cXJy4smTJxgbGzN16tSMc/9ryZIl3Lx5k3PnzqGnp0dMTAwAo0aNwtPTE4C+ffuye/du2rdv/9L7S0hIwMHBgdmzZzN16lSmTJmScb1n7+PRo0ecPHkSlUrFsmXLmDlzJrNnz2bYsGGYmpoyduxYAA4cOJAxdr9+/Zg/fz6urq54enoyZcoUfv75ZyB9VvvUqVPs3buXKVOm4Ofnl+XPQgghhMg1mjQI2QFH50DkRShSCVr/CPZ9wMD4lacG341lyOpAouKfMru7LV1rVyT2aSyLzy5mw5UN6OvoM8JuBP0t+mOsnz6WRqPB29ub8ePHA9C5c2fKli1LiRIlcvxWxb8KZIDWhkqVKlG/fn0A+vTpw7x58/j444+5dOkSLVq0ANJng8uV+7f5uZubW6ZjnTx5kpCQkIzxUlJSqFu3LlevXqVcuXI4OTkBvFY7Gj8/P4YNG5axtKJ48eIAHDp0iJkzZ5KYmEhMTAyWlpavDNA6OjoZ9fbp04cuXbpkeh8RERG4ublx7949UlJSqFq16ivri42N5fHjx7i6ugLQv39/unfvnvH9f65Tu3ZtwsLCsrxfIYQQIleon8L5jRDwM8TcgJI1oNMisO4OulnPAu88f5f/bTlPMWMDtgyri3k5E1YHr2bxhcXEpcTRuXpnRtmNopTxvzPXoaGhuLu7c/ToUVq0aMGSJUsoW7ZsTt6leIkCGaBfNWNsbGz8yu+XLFnytWac/0ulUr3wtaIoWFpacuLEiUzPMTExyfR1RVFo0aIFGzZseO71CxcuvHCdrPzTB/JZycnJjBgxgjNnzlCpUiW8vLxITk5+o3GfHfPZ+/Dw8GDMmDF06NABf39/vLy83mjc/ypUqBAAurq6qNXqdxpLCCGEeGcpCRC4Kr0dXdxdKGcHn6yBWu0yNj95lTSNwszfr7D48A2cqhRjYS8HgmKOMOHXn7kdd5t65esxpvYYahZ//iHDxMRE6tevj1qtZuXKlfTv3/+NM4HIPrIGOpuEh4dnBOUNGzbQoEEDatasSVRUVMbrqampBAcHZzmWi4sLAQEBXL9+HUj/SxMaGkqtWrW4e/cup0+fBiAuLg61Wo2ZmRlxcXGZjtWyZUu8vb0zwmdMTExGWC5ZsiTx8fEZXTdeRaPRZBy3fv16GjRokOlxsbGxVKhQAQd9rvoAACAASURBVOC5ByJfVmORIkUoVqxYxvrmNWvWZMxGCyGEEHlGYgz4z4A5VvD7RCjxIfTdDkP8waLDa4Xn2MRUPl11msWHb9DX5QMmdDJmbMAQvjz8JYV0C7Go+SIWt1j8XHi+fv06iqJgbGzM6tWrCQkJYcCAARKetUwCdDYxNzfHx8cHGxsbYmJiGD58OAYGBmzZsoXx48dja2uLnZ3dc63cXqZUqVKsWrWKnj17YmNjg4uLC1euXMHAwABfX188PDywtbWlRYsWJCcn06RJE0JCQjJ9iNDd3Z3KlStjY2ODra0t69evp2jRogwePBhra2s6deqUsSTkVUxMTAgODqZ27docPHgwY/30f3l5edG9e3caNmxIyZIlM15v374927dvz3iI8Fk+Pj6MGzcOGxsbgoKCXjq2EEIIkevi7sP+yfCzNfh/B5VdYJAfDNgNHzbN2DkwK6GRcXRYeIwTfz1kQrtSJBfzYcDvfbkddxuvul5sbr+ZBhX+nZxKTk5m8uTJmJubZ3wi3bp16+eWggrtUWXWfSEvc3R0VJ7tDAFw+fJlzM3NtVRReheOdu3acenSJa3VINJp+3dBCCFEARFzEwLmQtA60KjBqmt6O7oylm881G+X7jFm03lMDFNp7HKBA3e2oqvSpb9lfwZaDcx4QPAfx48fZ9CgQVy5coX+/fvz008/ZTzDJHKXSqUKVBTF8b+vF8g10EIIIYQQbyU2Avy84NJW0NEDu95Q/zMoXu2Nh9JoFH72C2XewatUrXaBFLPf+P32Ezp82AEPew/KmJR54Zxp06bh6elJpUqV+O2332jVqlU23JTIbhKgs0GVKlVk9lkIIYTI75KfwNqu8Dgc6o6EuqPA7O26XDxJTuXzjec4EuFPGYs/eKjcp06JOox1HEut4rVeOP6fh/6tra0ZOXIk3333HWZmZu96RyKHSIAWQgghhNCkwbbB8PAa9NsBVRu99VB/RcUzYP02og22YFTpJmULV+NLx4U0rNDwhYf/Hj16xJgxY/joo4+YNGkSHTt2pGPHju96NyKHFZiHCPPbWm6R/eR3QAghxFs7+C2E/gatZ7xTeN4cdIFOviN5XPRHihZ5xNcuX7O1w1YaVWz0Qnjetm0bFhYWrFmzhtTU1He9A5GLCsQMtKGhIdHR0ZQoUULaurynFEUhOjoaQ0NDbZcihBAiv7mwGY7NgdqfgpP7Ww0Rm/yEUXtncy52JzqmKtyqD2C041BMDUxfOPb+/ft4eHiwZcsW7Ozs2Lt3L/b29u96FyIXFYgAXbFiRSIiIoiKitJ2KUKLDA0NqVixorbLEEIIkZ/cCYSdo+CDBtB65mu3pftHVGIUG65sYNWl9aQqCZTTq8/S9pOpUvTl/z2KiIhg3759fPfdd4wdOxZ9/ax3LhR5S4EI0Pr6+lluGS2EEEII8Zwn92BjbzAtDZ+sBj2D1z71+qPrrA5Zze4bu1Fr1KjjLHEt04NfunXI9NPwW7dusXv3bkaOHImjoyPh4eHSmi4fKxABWgghhBDijaQmgW/v9M4b7n+ASYksT1EUhVP3T7EqeBXH7hzDUNeQrtW7khxdj3VXEpnYq8kL4Vmj0fDLL78wYcIEVCoVXbt2pWzZshKe8zkJ0EIIIYR4vygK7BqdvnzDbV2Wm6OkalLZH7Yfn2AfLsdcprhhcUbZjcKtphuGumbU/f4Azc3LUKn48xuiXLlyBXd3dwICAmjVqhWLFy+mbNm3a4sn8hYJ0EIIIYR4vxyfBxd8oclkMG/30sPiU+LZem0ray+v5X7CfaoWqYpXXS/afdiOQrqFAPA9Hc6jxFQ+rf/8UtLExEQaNGiARqNh1apV9OvXTxodFCASoIUQQgjx/gj9Hf74Biy7QKOxmR5yP+E+6y+vZ3PoZuJT43Es48jkOpNpWLEhOqp/OwArisKKY2GYlyuMS7X0JRlXr16lRo0aGBsbs3btWuzt7SlT5sUdB0X+JgFaCCGEEO+HqKuwZRCUtYaOC1/ouHE15io+wT7su7kPBYWWH7Skv2V/LEtmvsTjxF/RXI2MY2Y3G54+fcqUKVP48ccf8fHxoXfv3nz88ce5cVdCCyRACyGEEKLgS4yBDT1A3wh6bgCD9PXKiqJw/O5xfIJ9OHHvBEZ6RvSo1YM+Fn2oYFrhlUOuCAijhIkBJeJvYGvbnNDQUAYOHEibNm1y446EFkmAFkIIIUTBlqaGLZ9CbAQM2ANFKpKalsrem3vxCfHh2qNrlDIqxecOn9OtRjeKFCqS5ZC3ohM4cCWSGnd+o7nnAqpUqcL+/ftp0aJFLtyQ0DYJ0EIIIYQo2PZPghv+0PEXnpSpxeaLy1l/eT0Pkh7wUdGPmFZ/Gm2qtkFf9/U3NFkVEIauSkXvNq6YF9dl2rRpmJq+uOugKJgkQAshhBCi4Ar0gT+9ueM0kLWpEWzb3IJEdSIu5VyYWn8q9crXe6PuGNHR0XiM/pwDd3ToMfRz+vWwp1+Pbjl4AyIvkgAthBBCiILp1nGC/5iAT1UL9kcfQhWtonXV1vSz7Eet4rXeaChFUdi6dSsjR44kOjoG07puL7SuE+8PCdBCCCGEKFA0ioajV7fhc9ST0+VKYqqv0K9GP3qZ96KsyZtvZHLv3j1GjhzJ9u3bqV27NpV6TadydXPsKhXNgepFfiABWgghhBAFwtO0p+z+azc+wSu5+eQWZXVUjDUfQFe7oZgavP365Dt37rB//35mzJiBXeveDFkXxDcy+/xekwAthBBCiHztcfJjfK/6sv7KemKSYzBXGfFDVDQtO6xEv0artxrz5s2b7N69Gw8PDxwdHbl9+zbFihWjz7I/KVvYkI+tZEvu95kEaCGEEELkS7ef3GZ1yGp2XN9BcloyDSo0YECqAc5/rkLV6jt4i/CclpbGggULmDhxInp6enzyySeUKVOGYsWKERoZx7HrDxnXqib6ujpZDyYKLAnQQgghhMhXzkedxyfYB79bfujp6NGuWjv6WfTjo7uXYHN/sOsNLiPeeNyQkBDc3d05ceIEbdq0wdvb+7ltuFcGhFFIT4dezpWz83ZEPiQBWgghhBB5XpomDf8If3yCfTj34ByFDQrjbu1Oz1o9KWVcCu5dgB3DoaIztJvzwjbdWUlMTKRRo0YArF27ll69ej3X3u5RQgrbzkbQxaECxUwMsvXeRP4jAVoIIYQQeVaSOomd13ey5vIabj25RQXTCkxwnkDnjzpjrJ++HTfxUbCxFxgVA7e1oFfotce/cuUKNWvWxNjYmPXr12NnZ0fp0qVfOG7D6XCeqjUMqCcPDwoJ0EIIIYTIg6KTotl4dSMbr2zk8dPHWJWwYpbrLJpVboaezjPxRZ0Cvn0g4SEM/A3Myrx80GckJSXxzTffMHv2bHx8fOjTpw8tW7bM9NjUNA1rTtyi/kclqFnWLDtuT+RzEqCFEEIIkWfcjL3J6pDV7Ly+kxRNCo0rNWaA5QAcSju8uGOgosCeMXD7JHRbAeXtXusahw8fxt3dnevXr+Pu7k67du1eefzvwfe5F5vMtx2t3va2RAEjAVoIIYQQWqUoCmcfnGVV8Cr8b/tjoGNAx4860teiL1WLvGLJxJ+L4dwaaDQOrLq+1rW8vLyYMmUK1apV48CBAzRt2jTLc1YGhPFBCWOa1npxaYd4P0mAFkIIIYRWqDVqDoQfwCfYh4sPL1K0UFGG2w7HraYbJYxKvPrkvw7C719BrXbQeGKW11IUBZVKhaOjI1988QXffvstJiYmWZ53/vZjAm89wrOdBTo6b/Zgoii4JEALIYQQIlclpiay/fp21oSs4U78HSqbVeZrl69p/2F7jPSMsh4g+i/YPABKmUPnxaDz8p7MDx8+5PPPP6dGjRp4enrSrl27LJdsPGtlwE1MC+nR3bHia58jCr4c7QKuUqk+VqlUV1Uq1XWVSjUhk+9XVqlUh1Qq1TmVSnVBpVK1ycl6hBBCCKE9UYlRzD07l+ZbmvPDqR8obVyan5v8zM5OO/mk5ievF56TY2FDD1DpQs/1UCjzLboVRWHjxo2Ym5uzadMmdHV137jeB0+S2XPxHt0dK2JmqP/G54uCK8dmoFUqlS6wEGgBRACnVSrVTkVRQp45bDKwSVGURSqVygLYC1TJqZqEEEIIkfuuP7qOT4gPe27sQa1R0/yD5vSz6Idd6dd76C+DJg22ukPMDej3KxSrkulhd+7cYcSIEezcuRMnJyeWL1+OtbX1G9e99uQt1BqFAfUyv454f+XkEg5n4LqiKDcAVCrVRqAj8GyAVoDCf/+5CHA3B+sRQgghRC5RFIVT90+xKngVx+4cw1DXkK7Vu9LPoh+VCld6u0H9vODa/vSNUqo0eOlhkZGRHDp0iNmzZzN69Oi3mn1OTk1j3Z/hNKtVmg9KZL1WWrxfcjJAVwBuP/N1BFDnP8d4AftVKpUHYAI0z8F6hBBCCJHDFEXh2J1jeF/w5kLUBUoYlmCU3SjcarpR1LDo2w98fiMcnwdO7uA48IVv//XXX+zevZvRo0fj4ODA7du3KVKkyFtfbtf5u0QnpPBpfdk4RbwoJwN0Zo+qKv/5uiewSlGU2SqVqi6wRqVSWSmKonluIJVqCDAEoHJl2X9eCCGEyGsUReFwxGG8z3sTHB1MOZNyfO3yNR0/6kgh3dffGTBTEWdg52dQpSF8/MNz30pLS2Pu3LlMnjwZfX19evToQZkyZd4pPCuKwsqAMGqWMaPeh1l0AxHvpZwM0BHAs5/RVOTFJRqDgI8BFEU5oVKpDIGSwINnD1IUZQmwBMDR0fG/IVwIIYQQWqJRNBwKP8TiC4u5HHOZCqYVmFJvCu2rtUdfNxsevHtyN32bbrOy8MlqeGbMS5cuMWjQIE6dOkW7du1YtGgRZcq83k6Er/LnzRhC7j3h+y7WL27eIgQ5G6BPA9VVKlVV4A7QA+j1n2PCgWbAKpVKZQ4YAlE5WJMQQgghsoFG0eB3y4/FFxYT+iiUymaVmVZ/Gm2qtUFfJ5s6VqQmpYfnlIT0hwaNi2d8KzExkcaNG6NSqdiwYQNubm7ZFnZXBtykmLE+ne0rZMt4ouDJsQCtKIpapVKNAn4HdIEViqIEq1SqqcAZRVF2Al8CS1Uq1RekL+8YoCiKzDALIYQQeVSaJo39t/az+Pxi/or9iyqFq/B9w+/5uMrH6OlkY6xQFPh1FNwNgp4boLQ5AMHBwVhYWGBsbMyGDRuws7OjVKlS2XbZ2zGJ/BESyTDXDzHUf/OHD8X7IUc3UlEUZS/premefc3zmT+HAPVzsgYhhBBCvDu1Rs2+m/tYcmEJYU/C+LDIh8xsNJOWH7REVycHguaxOXBpCzTzhJqtSUxM5Ouvv+bnn3/Gx8eHPn360KJFi2y/7OoTYahUKvrW/SDbxxYFh+xEKIQQQoiXStWksufGHpZeWEp4XDg1itVgtutsmn/QHB1VDu3HdnUfHJgKVt2gwRgOHTqEu7s7N27cYNiwYXTo0CFHLpvwVM3G07dpbVWWckVeY1MX8d6SAC2EEEKIF6SmpbLrxi6WXlhKRHwE5sXN+bnJzzSp1CTngjPAg8vpm6WUs4WOC/ja05Np06bx0Ucf4e/vj6ura45detvZCOKS1dK6TmRJArQQQgghMqSkpbDj+g6WX1zO3YS7WJawZILzBBpVbJTzHSkSY9K36TYwQemxHpW+ES4uLowbNw4vLy+MjY1z7NIaTXrrOtuKRXCo/A79qsV7QQK0EEIIIXia9pRt17ax/OJyIhMjsSllw9d1v6Z++fq508otLRU29SPq3h0+u1wb88TleHp60rZtW9q2bZvjlz98LYobDxOY28NOWteJLEmAFkIIId5jyepktoRuYcWlFUQlReFQ2oFv63+LSzmXXA2Syr4JbNh1kM8O6vIk4RBT6zbJtWsDrAwIo7RZIVpblcvV64r8SQK0EEII8R5KTE1kc+hmVl5aSXRyNE5lnfih4Q84lXXK9RnYiD2zGP7lPHaHqqlTpw7Lly/H0tIy165//UE8R0Kj+LJFDQz0cnB9tygwJEALIYQQ75HE1EQ2XNmAT7APj54+wqWcC7NsZuFY1lE7BYUdI2r3txy5DXN+mo3HZ6PR1c3d/surjt/EQE+HXnUq5+p1Rf4lAVoIIYR4D8SnxLPhygZWh6zm8dPH1K9Qn2E2w7ArbaeVeq5du8YuXx/G6K/D3rIGt8O2Ubh0pVyvIzYxla2Bd+hoW54SpoVy/foif5IALYQQQhRgT1KesO7yOtaErCEuJY5GFRsxzGYY1qWstVKPWq1mzpw5eHp6YqhKpfcXZSjjvpHCJXI/PANsPB1OUmqatK4Tb0QCtBBCCFEAxT6NZU3IGtZdXkd8ajxNKjVhqO1QLEvk3tri/7pw4QKDBg3izJkzdHKsyMJGTygzcA2U+FAr9ajTNKw+cYs6VYtjUb6wVmoQ+ZMEaCGEEKIAeZT8iDUha1h/ZT0JqQm0+KAFQ2yGUKt4La3WlZiYSNOmTdHV1WWTZw+6sQdV6xnwYVOt1fRHSCR3Hifh2d5CazWI/EkCtBBCCFEARCdF4xPiw8YrG0lWJ9OqSiuG2AyherHqWq3r0qVLWFpaYmxsjK+vL3aFIijh9xnY94M6w7Ra28qAMCoVN6K5eRmt1iHyHwnQQgghRD72MOkhKy+tZNPVTaRoUmhdtTVDrIdQrWg1rdaVkJDA5MmTmTt3Lj4+PvTt25dm5iVgRW+o5AJtZ4MWNyy5dCeWU2ExTG5rjq6ObJwi3owEaCGEECIfikyIZGXwSraEbkGtUdO2WlsGWw+mSpEq2i6NAwcO4O7uTlhYGCNGjKBjx44QFwkbe4FxCXBbC3ra7XixMiAMYwNdujtq5+FFkb9JgBZCCCHykXvx91h+aTnbrm1DURTaf9ged2t3KhfOGz2MJ0+ezPTp06levTqHDx+mUaNGoH4Kq7pC0iMY+DuYltJqjVFxT9l1/i49nCtRxEhfq7WI/EkCtBBCCJEP3Im/w7KLy9hxfQcAnT7qxCCrQVQ0q6jlytJpNBp0dHSoV68e48eP55tvvsHIyAgUBXZ/ARGnoLsPlLPRdqms+/MWKWka+terou1SRD4lAVoIIYTIw24/uc2yS8vYeX0nKpWKrtW7MshqEOVMy2m7NAAiIyPx8PDAwsICLy8v2rRpQ5s2bf494OQvELQOXCeAZSftFfq3p+o01p4Mp0nNUnxYylTb5Yh8SgK0EEIIkQeFxYax9OJS9tzYg56OHm613PjU8lPKmOSNjhGKorB27Vo+//xz4uPjcXTMZCvw636wfzKYdwDX8blfZCb2XLjHw/insnGKeCcSoIUQQog85MbjGyy5uIR9N/dhoGNAL/NefGr5KaWMtbtu+Fm3b99m6NCh7Nu3j7p167J8+XLMzc2fP+jhddg8EEpbQmdv0NHRTrHPUBSFlQFhfFTalIbVS2q7HJGPSYAWQggh8oDrj66z5MISfgv7DUM9Q/pb9KefZT9KGuW9oPfw4UOOHz/O3LlzGTlyJLq6us8fkPQYNriBrj70XA8GJtop9D8Cbz3i4p1YpnWyQqXFFnoi/5MALYQQQmjR1ZirLL6wmD9u/YGxnjGDrAfR16IvxQ2La7u054SGhrJr1y6+/PJL7O3tuX37NmZmZi8eqEmDLQPh0S3ovxOK5o3uIAArAm5S2FCPLg4VtF2KyOckQAshhBBaEBIdwuLzizl4+yCm+qYMtRlKX4u+FClURNulPUetVjNr1iy8vLwwNjamT58+lClTJvPwDPCHJ/x1ANrPgw/q5W6xr3DncRK/B0fi3qAqxgYSf8S7kd8gIYQQIhddengJ7/PeHI44jJmBGSNsR9DLvFeeC84AQUFBDBo0iLNnz9KlSxcWLlxImTKveIjx3Do4sQCch0Lt/rlX6GtYfSIMRVHoW/cDbZciCgAJ0EIIIUQuWROyhpmnZ1KkUBE87D3oWasnZgYvmcnVsoSEBJo1a4a+vj6bN2+mW7durz7h9inY/TlUdYVW3+VOka8pMUXNxlO3+diqLBWLGWu7HFEASIAWQgghcpiiKCy+sJiFQQtpXrk50xpMw0Q/bzxY91/nz5/HxsYGExMTNm/ejJ2dHcWLZ7EeOzYCNvaGwhWg+yrQzVvxYvu5O8QmpUrrOpFttN9TRgghhCjAFEVhTuAcFgYtpMOHHfjR9cc8GZ7j4+P57LPPsLe3Z+3atQA0bdo06/Cckggbe0FqEvTcCMZ56+HHf1rXWVUojOMHxbRdjigg8tY/EYUQQogCRKNomH5yOptCN+FW042JdSaio8p7c1e///47Q4cOJTw8nFGjRtGp02vuGKgo8OtIuHcBevlC6Vo5W+hbOHrtIdcfxDO7u620rhPZJu/9LRZCCCEKALVGzaRjk9gUuomBVgOZVGdSngzPX331FR9//DGGhoYcPXqUefPmvbzDxrMSomGnBwRvg+ZeUKNVTpf6VlYG3KSkaSHa2eaNrc9FwSAz0EIIIUQ2S0lL4X9H/seB8AN8Zv8Zg20Ga7ukF2g0GnR0dGjUqBE6Ojp8/fXXGBoaZn1iajL86Q1HZ0NKAtT7DOqPzvmC38KNqHgOXY1idLPqFNLTzfoEIV6TBGghhBAiGyWmJvKF/xccv3ucCc4T6G3eW9slPef+/fuMGjUKS0tLvLy8aN26Na1bt876RI0mfbbZbwrEhkONj6H5lDy5bOMfPsfDMNDVobdL3tnMRRQMEqCFEEKIbBKXEseoA6MIigpiar2pdK7eWdslZVAUBR8fH8aMGUNiYiIuLi6vf/Kt4/D7JLh7FspaQ8dfoVrjnCo1WzxJTmVLYATtbMtR2uw1ZtaFeAMSoIUQQohs8Cj5EcP8hhEaE8qMRjP4uMrH2i4pw61btxgyZAj79++nQYMGLFu2jJo1a2Z94sPr4PcNXNkNZuWhkzfYuIFO3lvL/V+bTt8mISWNgdK6TuQACdBCCCHEO4pKjGLw/sFExEcwt+lcGlVspO2SnvP48WNOnz7NggULGD58ODpZBeCEaDg8A84sBz1DaDoZXEaCQf7YhCRNo7DqeBhOVYphVSHv7fAo8j8J0EIIIcQ7uBN/h8H7BxOdFM2i5otwKuuk7ZIAuHLlCrt27WLcuHHY2toSHh6Oqanpq09KTYZTi+HIbEiJA4f+0GQimJbOnaKzid/lSCIeJTGxjbm2SxEFlARoIYQQ4i3djL3J4P2DSVQnsrTlUmxK2Wi7JFJTU/nxxx+ZMmUKpqam9O/fn9KlS786PCsKXNoKB6bA43Co3gpaTM3TDwi+ysqAm1QoakRLizLaLkUUUBKghRBCiLdwNeYqQ/4YAsDKViupWfw11hTnsLNnzzJw4EDOnz9P9+7dmT9/PqVLZzF7fOs47J8MdwKhjDX0y/sPCL7K5XtPOHkjhq9a10JPN++v1Rb5kwRoIYQQ4g2djzrPcL/hGOsZs7TlUqoW0f6DagkJCbRo0QIDAwO2b9+e9W6C0X/BH57PPCC46O8HBPN3v+SVATcx0telh5O0rhM5RwK0EEII8Qb+vPcnHgc9KGlUkqUtl1LBtIJW6zl37hx2dnaYmJiwbds2bGxsKFas2MtPSIiGIzPh9LJ8+YDgq0THP2VH0F26165IEWN9bZcjCjD5bEMIIYR4TUcijjDCbwQVTCvg87GPVsNzXFwcI0eOxMHBgTVr1gDg6ur68vCcmgwB82CePZxaAvZ9weMsNBpXIMIzwPo/w0lRa/i0fhVtlyIKOJmBFkIIIV7Db2G/8dWRr6hRvAbezb0pZviKWd4ctm/fPoYOHUpERASff/45Xbt2ffnBLzwg2PLvBwQLVoeKFLWGNSdv0bB6ST4qbabtckQBJwFaCCGEyML2a9vxOuGFXSk7FjZbiKlBFu3gctCECROYMWMG5ubmBAQEULdu3ZcffOsE7J/07wOCfXfAh01yr9hctO/SPR7EPWVGV+13QhEFnwRoIYQQ4hXWXV7HD6d+oF75evzc5GeM9IxyvQZFUdBoNOjq6tK4cWMMDAyYNGkShQoVyvyE6L/SdxC8vAvMykHHX8C2R75/QPBVVgSEUa2kCa41Smm7FPEekAAthBBCZEJRFJZeXMr8c/NpVrkZMxvNxEDXINfr+D979x1Wdfn/cfz5YSNLwb333ntvceTMLNMwTfGHpebIkSsHubdh7p1l5UIrZ5oLQXFLmgsQJy5kw+Hcvz/wW1YCx+Scw3g/rqtLxn1/zutzXQlvP+e+3/e9e/f45JNPqFy5MlOnTqVdu3a0a5fCMeExT+C32XBqJVjaQosJ0CBrbBBMzZnQp5y//YypXSphYaGZO47IBqSAFkIIIf5BKcWCMwtYe2ktnUp2YmqjqVhZmPZXplKKtWvXMmLECOLj42nSpEnKg3Xx4L8cjsx9cYJgH2g+Dpyyx0Eia47dwsnOiu41C5s7isgmpIAWQgghXqJXeqb7T2fL1S28W/Zdxtcfj4Vm2qZVwcHBDBgwgIMHD9K0aVNWrVpFmTJl/j1QKbi8DQ5MTt4gWLoNuE/LchsEU3MvIpZfLt2nX8PiONhKWSNMQ/5PE0IIIV7Q6XVMOj6JXTd30a9SP4bXGo6mmX5JQEREBGfPnmXZsmV4enpiYfGKAj70JOwdD3dOQ77K4LEdSrU0eVZz2+gXglKKDxsWN3cUkY1IAS2EEEIACUkJjDkyhgOhBxhSYwieVTxNWjwHBQXh6+vL2LFjqVatGqGhoTg4OPx74OMbyU+cf/fNNhsEUxKXmMS3AaG0rpCPIq5Ze523yFikgBZCCJHtxepiGX5oOMfvHmdMnTF8UPEDk712QkICs2bNwtvbG2dnZz766CPy5s377+L5zw2Cq8DSBlqMf7FB8BVFdjax4+wdnsYk0q+R+Y9SF9mLFNBCCCGytaiEKD45+AlnH55lasOpdCvTzWSvferUKfr378/Fixfp2bMnixcvJk+ef7Rh08Unnxx4ZA7ESmT9pwAAIABJREFUZ78NgilRSrH2eDAVCjhTv6SrueOIbEYKaCGEENnWs7hneB3w4uqTq8xuOpt2JVJoD2cE0dHRtGvXDjs7O3bu3Ennzp3/PkApuLz9xQbBkOQNgm2mQr6KJsuYkZ248ZirDyKZ/U5Vs6xTF9mbFNBCCCGypfCYcAbuH0jo81AWtlhIsyLNTPK6Z86coUaNGjg4OLB9+3aqVauGi4vL3weFnoR9EyDsVLbeIJiatcdv4eZgQ+dqBc0dRWRDpu3LI4QQQmQAd6Pu0ndPX+5E3WFp66UmKZ6fP3/OoEGDqFWrFps2bQKgadOmfy+eH9+ALR6wpi08uw1dfOD/jkjx/A8hj6M5eOUhveoVxc46+22eFOYnT6CFEEJkK8ERwQzYN4AYXQwr3VdSLU81o7/mTz/9hJeXF3fv3mXEiBF079797wNiniSvcQ5YmbxBsPk4aDg4W28QTM26E8FYahof1C9m7igim5ICWgghRLZx9clVBu4fCMCatmso71re6K85evRo5syZQ6VKlfjxxx+pV6/eX9/UxScXzUdmJ28QrOEBLcaBU36j58qsIuMS+eF0GG9VLUA+ZztzxxHZlBTQQgghsoUL4RfwOuBFDqscrHRfSQkX47U+U0qh1+uxtLSkdevWODg48Pnnn2NjY/O/Af/YINj6xQbBSkbLlFX8GBhGVLxOWtcJs5ICWgghRJZ36v4pBh8cjKudK6varqKQYyGjvdadO3cYNGgQ1apVY9q0abi7u+Pu7v7XgFB/2Dc+eYNg3krwwTYo3cpoebKSJL1i3YlgahbNSfUiOc0dR2RjsolQCCFElnYk7AiDDgyigEMB1rdfb7TiWSnFypUrqVixIgcOHPh3P+cnN+H7PrDGPXmDYOevwOuoFM+v4dCVh4Q8jpGnz8Ls5Am0EEKILGtv8F7GHh1LmZxlWN5mObnschnldW7evMmAAQM4dOgQLVq0YOXKlZQqVSr5mzFP4Mjc5MNQZIPgG1l74hb5ne1oV1nWiAvzkgJaCCFElrT92nYm+02mWp5q+LTywcnGyWivFRUVxcWLF1mxYgUDBgxIPtjjXxsEP0g+fls2CP4nV+9Hcvz6Y0a1LYe1pbyBLsxLCmghhBBZzje/f8PMgJk0KNCAhS0WksM6R7q/xqVLl/D19WXcuHFUrVqVkJAQcuTI8fcNgk+DZYNgOll34ha2Vhb0qlvU3FGEkDXQQgghspaVF1YyM2AmLYu05KtWX6V78ZyQkMCUKVOoWbMmCxcu5OHDhwDJxXOoP6x2hx/6grVD8gbBD7ZK8fyGnkYnsO3MHbrVKEQuBxtzxxFCnkALIYTIGpRSLDqziNWXVtOxZEemNZqGlUX6/poLCAigf//+XLp0iV69erFo0SJy586dvEHwwBQI2gGO+ZM3CFbvBRZySl562BwQSrxOL5sHRYYhBbQQQohMT6/0zPCfwXdXv+Pdsu8yvv54LLT0fZM1Ojqa9u3bY29vz65du+jYsWPyBsE9415sELSG5p9Dg8Fg65iur52dJSbp2egXQqPSbpTLb7x17EK8DimghRBCZGo6vY4vTnyB7w1f+lbqy4haI5I38aWTU6dOUatWLRwcHNixYwdVq1bFxcEO/Hzgt9kQF/HXBkHnAun2uiLZnkv3uf88Du+ulc0dRYg/yRpoIYQQmVZiUiKjj4zG94Yvn1T/JF2L54iICAYOHEjdunXZtGkTAE0aN8Yl7BD41IW946BQTfA6Bl2+kuLZSNYev0Uxtxy0LJ/X3FGE+JM8gRZCCJEpxepiGX54OMfvHGd0ndF4VPRIt2vv2rULLy8v7t+/z6hRo3jnnXfgdgDsHQ9hAZC3YvLmwNKt0+01xb+dv/2MM6HPmNSxIhYW6feughBvSgpoIYQQmU5UQhSDfx3MmQdnmNxgMt3Ldk+3a3/22WfMmzePKlWqsHPnTmqXdIOfPk5uTeeYDzovgeq9ZYOgCaw9fgtHWyt61C5s7ihC/I0U0EIIITKVZ3HPGHRgEFeeXGFW01m0L9H+ja+plCIpKQkrKyvc3d1xcXFhzNCB2JxcDD8vT94g2GwsNBwiGwRN5MHzOHZfuIdHg2I42VmbO44QfyMFtBBCiEzjUewjPPd5Evo8lAUtFtC8SPM3vubt27cZNGgQ1atXx9vbG/eWzXF3ug5f15UNgma06WQISUrRt2Fxc0cR4l+kgBZCCJEp3I26i+c+T8Jjw/Fp7UP9AvXf6Hp6vZ4VK1YwevRokpKSaOvuDpd3vDhB8BaUbAHu3pBfuj+YWlxiEpv9Q2lVPi/F3BzMHUeIf5ECWgghRIYX8jyEAfsGEJ0QzYo2K6iet/obXe/GjRv079+f3377jVatWrFi8mBKXl0KP/jLBsEMwPf8XR5HJ8jBKSLDMmoBrWlaO2ARYAmsUkrNfMWYd4HJgALOK6V6GTOTEEKIzOWPp38wcN9AFIo17dZQ3rX8G18zOjqaoKAgVi+eSb98QWgHPkzeINhpcfKSDdkgaDZKKdYeD6ZcPicalnIzdxwhXsloBbSmaZaAD9AGCANOaZrmq5QKemlMGeBzoJFS6qmmadLkUQghxJ8uhl/E64AXdlZ2rHRfSUmXkv/5WufPn2fXrl1MmDCBqmWKELKqL/bn58JzK9kgmIH433rC7/eeM+PtKul6II4Q6cmYT6DrAteVUjcBNE37DugCBL00xhPwUUo9BVBKPTRiHiGEEJnIqfunGHxwMLnscrHKfRWFnf5bK7P4+Hi8vb2ZOXMmrq6u/F9Na/JcWIp9XATU6P1ig2DBdE4v/qs1x26RK4c13WoUMncUIVKU5kmEmqZt1TTtLU3TXvfUwkLA7Zc+D3vxtZeVBcpqmnZc07STL5Z8vCrDQE3TTmuadjo8PPw1YwghhMhsjoYdZdCBQeR3yM/6duv/c/Hs5+dHjRo18Pb2pleHJgR9moc8AdOhYA3wOgpdfKR4zkBuP4lh/+8PeL9uUeysZRmNyLgMeQL9NdAPWKxp2g/AOqXUFQPmvep9F/WK1y8DNAcKA0c1TauslHr2t0lKrQBWANSuXfuf1xBCCJGF7Avex5ijYyiTswzL2ywnl12u/3SdqKgoOnbsiKO9Db8Mq0k7l0BwqQDuW6F0K5DlARnO+hPBWGgaHg2KmTuKEKlK86myUuqAUqo3UBMIBvZrmnZC07R+mqal1tk8DCjy0ueFgbuvGLNTKZWolLoFXCW5oBZCCJEN7by+k1FHRlEldxVWt139n4pnf39/9Ho9jomP2D2iPpc8omlX8Dl0WgRex6BMaymeM6DoeB1bTt+mfeX8FHCxN3ccIVJl0LIMTdPcgL7AAOAsyZ01agL7U5l2CiijaVoJTdNsgJ6A7z/G7ABavHiN3CQv6bj5GvmFEEJkEd9e+ZYJxydQN39dlrVehpON02vNf/bsGf3796d+/fp8M7YbfFWHBioQJ/exMPQs1OoLltK9NaPaeiaMyDidtK4TmUKaP0k0TdsGlAc2Ap2UUvdefGuLpmmnU5qnlNJpmjYY2EtyG7s1SqnLmqZNBU4rpXxffM9d07QgIAkYpZR6/Ga3JIQQIrNZdXEVi84sokWRFsxpNgdbS9vXmr9jxw4+/vhjHj58wNjmzvSwOQxVPoCWskEwM9DrFeuOB1OtsAs1i+Y0dxwh0mTIP8VXKaV+fvkLmqbZKqXilVK1U5v4Yt7P//japJc+VsCIF/8JIYTIZpRSLD67mFUXV9GhRAe8G3tjbZHa6sB/zx8xfDgLFy2ieiE7dve3p2aj5i9OEKxivOAiXf32Rzg3H0Wz8L3q0rpOZAqGFNDe/KMIBvxIXsIhhBBC/Cd6pWdmwEy+vfIt75R9hwn1JmBp4AEmSil0Oh1W98/xluUxcrewZXTXyli3n558gqAUYZnKmuO3yOtkS4cqBcwdRQiDpFhAa5qWn+S2c/aaptXgr64azkAOE2QTQgiRRen0OiafmMzOGzv5sOKHjKw90uAnj6GhoQzs50Etl2d4V7lF6/z5aD1nGVT/QNY4Z0LXH0Zy9NojRrYpi43V63bMFcI8UvtJ05bkjYOFgfkvfT0SGGfETEIIIbKwxKRExhwdw/6Q/Xxc/WO8qnoZVDzr9Xq+XjSPseMnoJIS6NLWCZqOhsafgu3rbTgUGcfa48HYWFnQq15Rc0cRwmApFtBKqfXAek3TuiultpowkxBCiCwqThfH8MPDOXbnGKNqj6JPpT4Gzbt+JYh+PTtz7PwN3EtZsXz0BxTvOUs2CGZyETGJbDtzhy7VCuLm+HobR4Uwp9SWcHyglNoEFNc07V+b/JRS818xTQghhHil6MRoBh8cTOCDQL5o8AXvlH3HsIkhfsSt+4hr12+ybkB1+kxZh1awmnHDCpP47lQosYlJ0rpOZDqpLeFwePGnoymCCCGEyLoi4iMYdGAQQY+DmNlkJh1KdkhzzrnTAexcPJovSp6jcv6iBPv5Ylf5LdkgmEXokvSsPxFMvRKuVCzobO44QryW1JZwLH/x5xTTxRFCCJHVPIp9xMD9AwmOCGZB8wW0KNoi1fFxcXFMGzuUWUtWktte4+Ol/cjz3kLsZJ1zlrIv6AF3I+L4onMlc0cR4rWltoRjcWoTlVJD0z+OEEKIrORe1D0893vyMOYhPq18aFCwQarjjx89wgCPHlwJeUjf2k7MW7IS1/rvmSitMKW1x29RxNWe1hXymTuKEK8ttSUcgSZLIYQQIssJuBfA+OPjiU6IZkWbFVTPWz3V8VG3L9O5fWucrHTs/bwF7uO/B4fcJkorTOnSnQhOBT9lwlsVsLSQJTki80mrC4cQQgjxWp7GPWXu6bn43vClsGNhVrddTQW3CimOP3H8OPVtr+O4bxy7P3ChisdMHBt+JGuds7A1x2+Rw8aSHrWLmDuKEP9Jaks4FiqlhmmatgtQ//y+UqqzUZMJIYTIVJRS7Lq5izmn5hCVEIVnFU8GVh2InZXdK8c/efKEEUM+Zv3mLazvakefzi1pMGgp5Cpm4uTClB5GxrH7/D161i2Ci73hx7YLkZGktoRj44s/55oiiBBCiMwrOCIY75Pe+N/3p3qe6kxqMIkyucqkOH7r1q184jWAR0+eMb6pPe8O9YZmw8BCTqLL6r45GUpCkp4PGxY3dxQh/rPUlnAEvvjzN03TbIDyJD+JvqqUSjBRPiGEEBlYQlICay6tYeWFldha2jKx/kTeKfsOFlrKhfCwwR+zyOdrahawYM+YalT/dDPkq2jC1MJc4nVJfOMfQotyeSiVR7rkiswrtSfQAGia9hawDLgBaEAJTdP+Tyn1i7HDCSGEyLgCHwQy1W8qNyNu0q54O8bUHUNu+1dv+lNKkZSUhFWYP530v1CgtR0jPxuFVasJYGVj4uTCXHafv8ejqAQ5OEVkemkW0MA8oIVS6jqApmmlgJ8AKaCFECIbioiPYEHgArZe20pBh4IsbbWUJoWbpDg+ODiYgZ4DqO0Wy/Tyl2lVrhitxn4LReubMLUwN6UUa0/conReR5qUke4qInMzpIB++L/i+YWbwEMj5RFCCJFBKaX46dZPzDk1h4j4CPpV6odXNS9yWOd45Xi9Xo+Pjw+fjx2DlhTP261toNZAcP8SbOXt++zmdMhTLt15jnfXymjSYUVkcql14Xj7xYeXNU37Gfie5DXQPYBTJsgmhBAig7j9/Dbe/t6cuHuCKrmrsKLNCsq5lktx/B9//EG/fn05ccKPdqWtWd6jCEX7LoeybU2YWmQka4/fwtnOirdrFjJ3FCHeWGpPoDu99PEDoNmLj8OBXEZLJIQQIsNITEpkfdB6lp1fhpWFFePqjePdsu9iaWGZ6ryE8JvcvBzIhq52fPBed7ROi8DBzUSpRUYT9jSGPZfu49mkJDlsDHnzW4iMLbUuHP1MGUQIIUTGcu7hOab4TeH6s+u0KdaGMXXGkM8h5WOXAwMD8d25kyldSlL58DiCR+bBtvNcqPqeHIqSzW30CwHAo4H0+BZZgyFdOOyA/kAl4M9u+Eqpj4yYSwghhJk8T3jOosBFfP/H9+R3yM+SlktoXqR5iuNjY2OZMmUKc+fOJa+TNYNjrchTqRm2Xb+GnHLSXHYXk6Dj24BQ2lXOT+Fcr14vL0RmY8j7KBuBK0BbYCrQG/jdmKGEEEKYnlKKvSF7mRUwiydxT/Co6MHg6oNT3CQIcOTIEQYMGMC1a9foX8eRua1tydlpKtTzkkNRBADbztzheZxOWteJLMWQArq0UqqHpmldlFLrNU3bDOw1djAhhBCmExYZxpf+X3LszjEqulXEp5UPFd1SP9wkKiqKbt264mKt44BHDlo1qgHdVkDe8iZKLTI6pRTrTgRTuZAztYvJ9imRdRhSQCe++POZpmmVgftAcaMlEkIIYTKJ+kQ2BW1i6bmlWGgWjKkzhp7le2JlkfKvh2PHjtGwYUMcw8/ys0dOKjs8waHVaGg6Wg5FEX9z9Nojrj+MYl6PatK6TmQphhTQKzRNywVMBHwBxxcfCyGEyMQuhF9gqt9Urj69SvMizRlfbzz5HfKnOP7x48cMHz6cjRs3sv6zTvRx+I16JUtCty1QpI4Jk4vMYs3xW+R2tKVjtQLmjiJEukqzgFZKrXrx4W9ASePGEUIIYWxRCVEsOrOILVe3kCdHHhY2X0irYq1SHK+U4ocffmDw4ME8ffqUie0K8Z7tYag9ANyngY2D6cKLTONGeBSHr4bzaasy2Fql3vZQiMzGkC4cbsBkoBHJB6kcBaYppR4bN5oQQoj0pJTiYOhBZvjPIDw2nF4VejG4+mAcbVI/FXDYsGEsXryYWuUKc+AdB6qWdIAu66BMa9MEF5nS+hPB2Fha0Lt+UXNHESLdGbKE4zvgCND9xee9gS2A/OQUQohM4l7UPab7T+dw2GHKu5ZnUctFVM5dOcXxSil0Oh3W1tZ0aV6HwndLM7zCA6wqd4OOCyCHqwnTi8wmIjaRHwPD6FitAHmd7NKeIEQmY0gB7aqUmvbS596apnU1ViAhhBDpR6fXsfn3zXx17isAPqv9Gb0r9E51k+DNmzfx9PSkTu3azOxRjpZBE2hZywo6rIYq78ihKCJNP5y+TUxCEh9J6zqRRRlSQB/SNK0n8P2Lz98BfjJeJCGEEOnh8uPLTDkxhd+f/E6TQk0YX388hRwLpTg+KSmJJUuWMH78eCwtLehZ4hnsXgYlm0OXpeCS8lwh/idJn9y6rk7xXFQu5GLuOEIYRYoFtKZpkSSvedaAEcCmF9+yAKKAL4yeTgghxGuLTozmq7NfsfnKZlztXJnbbC7uxdxTbSN29epV+vbty8mTJ3mraS2WNXpA4Rxh0GY21PGUQ1GEwfYHPSDsaSzjOlQwdxQhjCbFAlop5WTKIEIIId7cr6G/Mt1/Og9jHvJuuXf5tOanONmk/eNcp9MRGhLCN8Na8L7zabSCNeDtlZCnrAlSi6xk7fFbFMppj3vFfOaOIoTRGLKEA03TOgNNX3x6WCm123iRhBBCvK4H0Q+YETCDg6EHKZ2zNHObzaV63uqpzjl9+jS+vr5MnTqVSvaPuDUsJzax56DpWGg6CiytTZReZBWX70bgf+sJY9uXx8pS3rUQWZchbexmAnWAb1586VNN0xorpcYaNZkQQog0JemT+O7qdyw5u4QkfRLDag6jT6U+WFukXPzGxMQwefJk5s2bR/78+RhSMYI8V9Zh41Yaeu2HwrVMeAciK1l3PBh7a0t61ili7ihCGJUhT6A7ANWVUnoATdPWA2cBKaCFEMKMrjy5wpQTU7j0+BINCzZkQv0JFHFKvXA5fPgwnp6eXL9+Hc/e3ZhTLRiXK+ug7kBoPQVscpgmvMhynkQnsPP8Xd6pVZicOeRId5G1GbSEA8gJPHnxsWypFUIIM4pJjOHr81+zMWgjLrYuzGoyi/Yl2qe6SRAgKiqK7t27kzNnTg7O96Rl5FawyAMfbIPSKZ9EKIQhtpy6TYJOT9+Gxc0dRQijM6SAngGc1TTtEMkdOZoCnxs1lRBCiFc6EnaEL09+yd3ou3Qv053htYbjYpv6c40jR47QuHFjHB0d+eXbFVT+Ywk5Hm2Byt2hw1w5FEW8sSS9YtPJEOqVcKVsPulBILK+VAtoLflxxjGgPsnroDVgjFLqvgmyCSGEeCE8JpyZATPZF7KPUi6lWN9uPTXz1Ux9Tng4w4YNY/Pmzaxft44+FROpe2oiWNpA9xeHogiRDg5decidZ9K6TmQfqRbQSimladoOpVQtwNdEmYQQQrygV3p+uPoDC88sJCEpgSE1htCvUj+sU+mQoZTiu+++Y+jQoURERDBl3Gf0VDvgp1+hVEvo4gPOBU14FyKr23AyhHzOtrhXktZ1InswZAnHSU3T6iilThk9jRBCiD/98fQPpvhN4UL4BeoVqMfE+hMp5lwszXlDhgzBx8eHunXrsnrs+1T+YyGExSUv16gzQI7iFunqZngUR/4IZ3jrslhL6zqRTRhSQLcAvDRNCwaiSV7GoZRSVY0ZTAghsqtYXSzLzi9jw+UNONk4Mb3xdDqW7JjqJkGlFDqdDmtra7p3706pogUYWuw6lue/gEK1oNtyyF3GhHchsotNJ0OxstB4v660rhPZhyEFdHujpxBCCAHA8TvHmXZyGnei7tC1dFdG1hpJTrucqc65fv06AwcOpE6dOsyaNYsWRaHFmU1w5QE0HwdNRoKloU2XhDBcTIKOHwJv065yfvI625k7jhAmk+ZPVKVUiKZpNYHGgAKOK6XOGD2ZEEJkI49iHzH71Gx+ufULxZ2Ls6btGurkr5PqnKSkJBYuXMjEiROxtram93s94OfRELAccpeFnt9AodQ3GgrxJnaeu0tknI4+DYqbO4oQJmXISYSTgB7AthdfWqtp2g9KKW+jJhNCiGxAr/Rsu7aN+YHzidPF8XG1j+lfpT82lqkfRHHlyhX69OnDqVOn6NSpE19PGkQhv4kQcA3qeUHryWBtb5J7ENmTUooNfiGUz+9EneK5zB1HCJMy5D2994EaSqk4+PNo7zOAFNBCCPEGbjy7wVS/qZx5eIba+WozscFESrqUNGiuXq/n3r17fLd5E+/mD0X7qTc45QePHVCqhZGTCwGBIU/5/d5zpnerkuYhPkJkNYYU0MGAHRD34nNb4IaxAgkhRFYXp4tj5cWVrLm0BgdrB6Y2nErX0l3TLEL8/f3x9fXlyy+/pGLFitwM2Iv1rk/g6hmo8i50mAP2qa+XFiK9rPcLwcnOiq41pCWiyH4MKaDjgcuapu0neQ10G+CYpmmLAZRSQ42YTwghspQTd07g7e/N7cjbdCrZic/qfIarXeonAUZHRzNx4kQWLlxIoUKFGP7pp+S+tQPr/ZPA2g56rINK3UxzA0IADyPj2HPpHh/UL0YOG9mgKrIfQ/6v3/7iv/85bJwoQgiRdYXHhDP71Gz2BO+huHNxVrmvol6BemnO+/XXX/H09OTmzZt4eXkxa/wwnPcMhJuHoHQb6PJV8tINIUzou4DbJCYpPOqn3ZdciKzIkC4c600RRAghsqIkfRLf//E9i88sJiEpgY+rf0z/ymlvEgSIioqiR48euLq6cvjAPprZXoaNrUGvg7fmQ+2P5FAUYXK6JD2b/UNpUiY3JfM4mjuOEGYh77sIIYSRBD0OYprfNC49vkT9AvWZUH+CQScJHj58mKZNm+Lo6MjePXuoZHED+6Mj4VkIlG0HbaeDWykT3IEQ/7Y/6AH3n8cxtUslc0cRwmykgBZCiHQWnRjNV2e/YvOVzeSyzcWsJrNoX6J9mpsEHz58yNChQ9myZQsbNmzAo0VFal8YD7f9IV9l6bAhMoT1fsEUymlPqwr5zB1FCLORAloIIdKJUooDoQeYGTCT8Jhw3i33LkNrDsXZxjnNeZs3b+bTTz8lMjKSqeNG8p71r7BqMDjkhc5LoHpvsLA00Z0I8Wp/PIjk5M0njG5XDksLWT4ksq8UC2hN03aR3HXjlZRSnY2SSAghMqGwyDCm+0/n6J2jlHctz4LmC6iap6pBc4cMGYKPjw/169Vh9cC6VLy7Ea4DTT6DxsPA1sm44YUw0Ea/EGwsLXivdhFzRxHCrFJ7Aj3XZCmEECKTSkxKZH3QepafX46maYyqPYpeFXphZZH6G3x6vR6dToeNjQ3vvN2NMnZPGZzHH8vQjck9nVtNgpxSpIiMIzIukW1nwuhYtQBujrbmjiOEWaX4E14p9ZspgwghRGYT+CAQ75PeXH92ndZFWzOm7hjyO6TdUu7atWsMGDCAunXrMserA82vTqK54yXIXR/aboHCtUyQXojXs/3sHaITkvBoIK3rhEhzDbSmaWWAGUBFkk8kBEApZdh5s0IIkcU8jXvKgsAFbL++nYIOBfmq5Vc0K9IszXk6nY758+fzxRdfYGdrQ7/ysbBxBeQsmnwYSsWu0pZOZEhKKTb4hVC1sAvVi8hpl0IYsolwLfAFsABoAfQD5Ce8ECLbUUqx88ZO5p2eR1RCFB9V/oj/q/p/5LDOkebcoKAg+vTpQ2BgIN0alMGn4UMKuN2DplOh7v8lnygoRAbld+Mx1x9GMeedqml2kxEiOzCkgLZXSh3UNE1TSoUAkzVNO0pyUS2EENnCjWc3mHZyGoEPAqmRtwYT6k+gbK6yBs/XkhIJD7vJD++70b3sQ7TaH0GLceCQ24iphUgfG/xCyJnDmk7VCpo7ihAZgiEFdJymaRbANU3TBgN3gLzGjSWEEBlDrC6WFRdWsO7SOhxsHJjScApdS3fFQrNIc66fnx++O3cyo09DKvw6ieueOqzLuYP7NMhbwQTphXhz9yJi2f/7AwY0LoGdtbRSFAIMK6CHATmAocA0oCXwoTFDCSFERnA07Chf+n/Jnag7dC7VmZG1R+Jq55rmvKioKCZMmMDixYspnMuWkXofcherhPWH26B0axMkFyL9bPYPRa8UH9SXzYNC/E+aBbRS6tSLD6MmtqbnAAAgAElEQVRIXv8shBBZ2sOYh8wKmMW+kH2UcCnBmrZrqJO/jkFz9+/fz8AB/QkOvc0ndayZ0akATu0nQg0PsJSzq0TmEq9L4tuAUFqWy0sR17TX+guRXRjSheMQrzhQRSnV0iiJhBDCTJL0SXx39TuWnF2CTq9jSI0h9K3UFxtLG4PmRz66x/vvdMXNOp4jH7nQ5P1h0HgE2KV+EqEQGdWeS/d5FJUgreuE+AdDHod89tLHdkB3QGecOEIIYR6XH11m6smpBD0OomHBhkyoN4EizoYdZHJw/36a57qH0+Ev2fueRsVm72PfwRtySdEhMrcNfiEUd8tB0zJ5zB1FiAzFkCUcgf/40nFN0+SQFSFElhCZEMmSs0v47sp3uNm7MafZHNoWa2tQq6779+8z5KOe/PjLb2zoaodHh4bUmrgRitQ1QXIhjOvy3QgCQ54y4a0KWFhI6zohXmbIEo6Xd8xYALWAtI/aEkKIDEwpxd6QvcwOmM2j2Ef0LN+TITWG4GTjZNDcDT5zGD52IjFxCUzvkJeeExdBjffkIBSRZWz0C8HO2oIeteRIeSH+yZAlHIEkr4HWSF66cQvob8xQQghhTLef3+bLgC85fuc4FVwrsKTlEirlrmTY5JgnfNyjNct+PkujYjas8h5N+fcmg7W9UTMLYUoRMYnsOHeHrtUL4ZLD2txxhMhwDCmgKyil4l7+gqZptkbKI4QQRpOQlMC6y+tYcWEFVhZWjK07lp7lemJpkXZvW31CHDr/ldgcn0vPvE+oNLAZH8/5DgtneUNOZD0/BN4mLlEvmweFSIEhBfQJoOY/vub3iq8JIUSGder+KaadnMatiFu4F3NndJ3R5HPIl/ZEpbi6ZwUDBo+kfr5E5ni1p1m/L2mWz8An1kJkMnq9YuPJEGoVy0Wlgi7mjiNEhpRiAa1pWn6gEGCvaVoNkpdwADiTfLCKEEJkeE/injDv9Dx8b/hSyLEQPq18aFq4qUFzE0NPM2/kB0zefpUctpZ4/t9w8Jgt65xFlnbkWjghj2MY0cbwo+qFyG5SewLdFugLFAbm8VcB/RwYZ9xYQgjxZvRKz47rO5gfOJ/oxGg8q3jiWdUTeysD1io/v8fldSPwmPE9Z+/r6d6iJl9t3EH+QrKZSmR9G/1CyO1oQ7vKsjxJiJSkWEArpdYD6zVN666U2mrCTEII8UauPb2G90lvzjw8Q828NZnUYBKlcpZKe2JCDJxYAscXYvEgjifKiR83L6b7+32MH1qIDOD2kxh+vfqQwS1KY2uV9t4AIbIrQ9ZA19I07aBS6hmApmm5gJFKqQnGjSaEEK8nJjGG5ReWs+HyBhxtHJnWaBpdSnVJu6ezXg8Xv+fYyjHsOnufWZ++R4VBk7k+vyhWVnL8tsg+Np0MwULT6FWvqLmjCJGhWRgwpv3/imcApdRToIMhF9c0rZ2maVc1TbuuadrYVMa9o2ma0jSttiHXFUKIfzoSdoRuO7ux5tIaOpXqhG9XX7qW7pp28Rx8nMglTRjs2YcmPqF8H+rG41YLwLWkFM8iW4lLTGLL6du0qZCPAi7SllGI1Bjy28FS0zRbpVQ8gKZp9kCabew0TbMEfIA2QBhwStM0X6VU0D/GOQFDAf/XDS+EEPej7zMrYBYHQg9QyqUUa9uupXZ+A/4t/uQm7J/E3l3bGfhzArefJTF0yBC+nD4dR0dH4wcXIoPZdf4uz2IS6SOt64RIkyEF9CbgoKZpa0k+UOUjYIMB8+oC15VSNwE0TfsO6AIE/WPcNGA28JmhoYUQQqfXsfn3zfic80Gv9Hxa81M+rPgh1pZpHPoQ+wyOzAH/5UTqrOi9C/IUKMWx3Wto2LChacILkQFtPBlC6byONCjlZu4oQmR4aRbQSqnZmqZdAFqT3IljmlJqrwHXLgTcfunzMKDeywNetMcropTarWlaigW0pmkDgYEARYvKuiwhsruL4ReZenIqV55coXGhxoyvN57CToVTn5SUCKfXwuEZ7Lv0kFbdPsSpzST2d7tHhQoVsLOzM014ITKgc7efcSEsgimdK6W97EkIYdATaJRSe4A9AJqmNdI0zUcp9Uka0171N1D9+U1NswAWkNwqL63XXwGsAKhdu7ZKY7gQIot6nvCcxWcW8/3V78ljn4f5zefTumjr1H/hKwXX9sG+Cdy7dYXBvzmyLTCG9W3q08cpPzVqSKsuITb4BeNgY8nbNQuZO4oQmYJBBbSmadWB94H3gFvANgOmhQEvN00tDNx96XMnoDJw+MUvv/yAr6ZpnZVSpw3JJYTIHpRS/HLrF2afms3T+Kf0rtCbT6p/gqNNGmuV71+CfeNRNw6x7rorI3ZDbPxTZs6cSa9evUwTXogM7nFUPLvP3+O9OkVwsktjCZQQAkj9JMKyQE+SC+fHwBZAU0q1MPDap4AymqaVAO68uNafv7GUUhFA7pde7zDwmRTPQoiXhT4PxfukN373/KjkVomlrZdS0a1i6pMiH8Ahbzi7CWyd8TpfjRU7j9GkSRNWrVpF2bJywpoQ/7Pl9G0SkvR4yOZBIQyW2hPoK8BRoJNS6jqApmnDDb2wUkqnadpgYC9gCaxRSl3WNG0qcFop5fsGuYUQWVxCUgKrL61m1YVV2FjaMK7eON4t+y6WFqkc7pAYC34+cGwBSQlx6Gp6Ytt6LL0bXqKa+yW8vLywsDCke6cQ2UOSXvHNyVDql3SlbD4nc8cRItNIrYDuTvJT40Oapu0BvuPV65pTpJT6Gfj5H1+blMLY5q9zbSFE1uV/zx/vk94EPw+mffH2jKozijw58qQ8QSm4+CMcmAzPw/jdqQn9d9ylQWQS8zq70rRpU5o2bWqy/EJkFr9eecidZ7GMf6uCuaMIkamkdpT3dmC7pmkOQFdgOJBP07Svge1KqX0myiiEyCYexz5m7um57L65myJORVjWehmNCjVKfVKoP+wdB3dOk5inMrOjGjJ1xgYcHR355NOapgkuRCa1wS+Y/M52tKmYz9xRhMhUDGljFw18A3yjaZor0AMYC0gBLYRIF3qlZ+u1rSwIXECsLpaBVQfiWcUTO6tUWss9DU5+4nx5OzgV4FLlcfSetpkLF1bx7rvvsmTJEvLmzWuqWxAi07kZHsXRa48Y0aYs1paytEmI1/Fa59QqpZ4Ay1/8J4QQb+zqk6tMOzmN8+HnqZO/DhPqT6CkS8mUJ8RFwNF5cPJrsLCC5p9DwyFY3wojMnI527dvp2vXrqa7ASEyqY0nQ7C21OhZt0jag4UQf/NaBbQQQqSXmMQYvj7/NRuDNuJs48yXjb+kU8lOKfd0TtLBmfVwaDrEPIJqvThi14ZdP/kxp7kD5cqV448//sDKSn6sCZGWmAQdPwaG0a5yAfI6ySFCQrwuec9GCGFSSin2BO+h847OrLu8jq6lu7Kr2y46l+qccvF87QAsawQ/jYA85Xj+/m4+3q/RrEN3tm7dyqNHjwCkeBbCQDvO3iUyTkcfaV0nxH8iv22EECZz7ek1ZgbMJOB+AOVdyzO32Vyq562e8oQHQbBvAtw4CLlKwHub+PmmBV5tehMWFsawYcPw9vbGwcHBdDchRCanlGKDXzAVCjhTu1guc8cRIlOSAloIYXSRCZEsPbeUb698i6ONIxPrT6R7me4p93SOCofD0yFwHdg6QdvpUMeT5zFx9GlSknz58nHixAnq169v0vsQIis4FfyUK/cjmfF2lZTf9RFCpEoKaCGE0eiVHt8bviwIXMDTuKf0KNuDITWGkNMu56snJMaB/9dwZB7oYqHuQFTT0ew5EoC7ZomzszMHDhygQoUK2NramvZmhMgiNvgF42RnRZfqBc0dRYhMSwpoIYRRXH58men+07kQfoFqearxdeuvUz6CWym4vA32T4aIUCjbHtyncTfBgUG9PsLX15cNGzbg4eFB9eqpLPkQQqTq4fM49ly6T58GxclhIyWAEP+V/O0RQqSrp3FPWXx2MVv/2IqrnStfNv6SjiU7YqGlsGc57DTs+RzCAiBfFeiyE1WiGatXr+azzz4jPj6eOXPm8P7775v2RoTIgr4NuI1Or/CQzYNCvBEpoIUQ6SJJn8QPf/zAkrNLiE6MxqOiB17VvHCycXr1hGehcGAKXPoRHPNB56+gei+wsGSgpyerVq2iWbNmrFq1itKlS5v2ZoTIghKT9GwOCKFp2TyUyC0bb4V4E1JACyHe2JkHZ5gRMIMrT65QL389xtYdS+lcKRS9cc/h+ELw80n+vOkoaPQpSVY50CXqsLW1pE+fPtSuXRtPT08sLKTbphDpYX/QAx48j+fLrvL0WYg3JQW0EOI/C48JZ37gfHbf3E1+h/zMazaPNsXavHpnvy4BTq+BI7Mh5jFUeRdafwEuhbl8+TL9+/enUaNGzJs3jyZNmtCkSRPT35AQWdj6E8EUymlPi/JyxL0Qb0oKaCHEa0tMSuSb37/h6/Nfk6hPxLOKJwOqDCCHdY5/D9brkzcI/joNngZDiabQegoUqklCQgIzp07F29sbFxcXhg0bZvJ7ESI7uHo/Ev9bTxjTrjyWFtK6Tog3JQW0EOK1nLh7gpkBM7kVcYtmhZsxus5oijoXffXgm7/B/klw7xzkqwy9t0LpVqBpXLx4kd69e3Px4kV69uzJ4sWLyZMnj2lvRohsYuPJYGysLHivThFzRxEiS5ACWghhkLtRd5lzag4HQg9QxKkIPq18aFq46asH378EB76A6wfAuTB0XQZV34WXDk6xsbEhJiYGX19fOnXqZKK7ECL7iYxLZPuZO3SqWhBXBxtzxxEiS5ACWgiRqjhdHGsvr2X1xdVYaBYMrTGUPpX6YGv5ioNMnt2GQ1/C+e/AzhnaTIO6A8HaDoDDhw+za9cu5s2bR7ly5bh69SqWlimcRiiESBfbztwhOiGJPtK6Toh0IwW0EOKVlFIcun2I2admcyfqDm2Lt+Wz2p+R3yH/vwfHPoWj88F/efLnDQdD4xGQwxWAiIgIxowZw/LlyylVqhTjxo3Dzc1NimchjEwpxQa/YKoVdqFakRROABVCvDYpoIUQ/xIcEczMUzM5fuc4pXOWZrX7auoWqPvvgYlxELACjs6DuAio9j60GAc5/1pnuXv3bry8vLh37x4jR45k6tSp5Mjxis2GQoh0d+LGY26ERzO3RzVzRxEiS5ECWgjxp5jEGJZfWM6GoA3YWdoxus5oepbvibWF9d8H6pPgwvfJyzUibkPp1smdNfJX/tuwyMhI+vXrR4ECBdi+fTt16tQx4d0IITb4BZMrhzUdqxYwdxQhshQpoIUQKKX45dYvzDs9j4exD+lSqgvDag0jt33ufw6E6weTNwg+uAQFqkMXHyjZ7G/X+vnnn2nXrh1OTk4cPHiQ8uXLY2Mjm5eEMKW7z2LZH/QAz6YlsbOW5VJCpCcpoIXI5q4+ucqMgBkEPgikoltF5jWfR/W81f898O7Z5JZ0t45AruLQfTVUehteOikwLCyMQYMGsXv3bjZs2ICHhwdVq1Y13c0IIf602T8UBXxQTzYPCpHepIAWIpuKiI9g6bmlfHf1O5xtnJnUYBJvl34bS4t/PKl6civ5EJRLWyGHG7SbBbU/Aqu/nijr9XpWrlzJqFGj0Ol0zJ8/n169epn4joQQ/xOvS+LbgFBalc9LEVfZcyBEepMCWohsRq/07Li+g4WBC4lIiKBH2R4MqTEEF1uXvw+MfgRH5sCp1WBhBU0+g0afJren+4eBAweyevVqWrZsycqVKylZsqSJ7kYI8Sq/XLzP4+gEPBoUN3cUIbIkKaCFyEYuhl9kuv90Lj2+RI28NRhXbxzlXcv/fVBCDJz0gWOLIDEaanhA88/B+e+bkJKSkkhMTMTOzo6+fftSv359+vfvj6bJMcFCmNsGv2CKu+WgSencaY4VQrw+KaCFyAaexD1h0ZlFbLu2jdz2uZneeDodS3b8e7GbpINzm+DQDIi6D+XegtZfQJ5y/7rexYsX6d+/P40bN2b+/Pk0btyYxo0bm/COhBApuXQngjOhz5jwVgUsLOQftEIYgxTQQmRhOr2OLVe34HPOh9jEWPpW6sv/Vf0/HG0c/xqkFFz9GQ5MgUdXoXBd6LEOijX41/Xi4+OZPn0606dPJ1euXIwcOdJ0NyOEMMhGvxDsrS3pUatI2oOFEP+JFNBCZFGn759mesB0rj29Rv0C9fm87ueUzPmPtcm3A5I7a4T6gVtpeG8TlO8Ir1iGcf78eXr16kVQUBAffPABCxYsIHdueXtYiIzkWUwCO8/foVuNQrjksE57ghDiP5ECWogs5kH0A+YFzuOXW79QwKEAC5ovoFXRVn9frvHoGhycAr/vAoe88NZ8qNkHLFP+hWtvb09iYiI//fQTHTp0MMGdCCFe1w+nw4hL1ONRv7i5owiRpUkBLUQWkZCUwMagjSy/sJwkfRJe1bz4qPJH2FvZ/zUo8gH8NhMC14O1PbQYD/U/BlvHV17z119/xdfXl4ULF1K2bFl+//13LC3lQAYhMiK9XrHJP4TaxXJRseC/u+UIIdKPFNBCZAHH7hxjVsAsgp8H06JIC0bVGUURp5fWP8ZHwoklcOIrSIpP7uPcbAw45nnl9Z49e8aoUaNYtWoVpUuXZuLEibi5uUnxLEQG9tu1cEIexzCiTVlzRxEiy5MCWohMLCwyjNmnZnPo9iGKORdjaaulNCnc5K8BSYkQuA5+mwXR4VCxK7SaBG6lUrzmzp07GTRoEA8ePGD06NFMnjwZe3v7FMcLITKGjX4h5Ha0pX3lAmkPFkK8ESmghciEYnWxrLm0hjUX12BpYcmwmsPwqOiBjeWL0wGVgqAdcHAqPLkJxRrD+1ugcK1UrxsZGcmAAQMoWLAgvr6+1K5d2wR3I4R4U6GPYzh09SFDWpTGxsrC3HGEyPKkgBYiE1FKcTD0ILNPzeZe9D3aF2/PiNojyO+Q/69BwceSO2vcCYQ8FaDX91DG/ZWdNf53zd27d9OhQwecnJw4dOgQ5cqVw9padvALkVls8g/BQtPoVa+YuaMIkS1IAS1EJnEz4iYz/Wfid8+P0jlLs6btGurkr/PXgAdBcGAyXNsLTgWhiw9Uex8sUl63HBoaipeXF7/88gsbNmzAw8ODypUrG/9mhBDpJi4xie9P38a9Yj7yu9iZO44Q2YIU0EJkcNGJ0Sw7v4xNQZuwt7JnbN2xvFfuPawsXvz1jbgDh6bD+c1g4wStJ0M9r+QuGynQ6/UsW7aMMWPGoNfrWbhwIb169TLJ/Qgh0pfv+bs8i0nEo4E8fRbCVKSAFiKDUkqx++ZuFgQuIDw2nG6lu/FpzU9xs3dLHhD7DI4tAP9loPTJ7eiajIQcrmlee8CAAaxdu5bWrVuzYsUKSpQoYeS7EUIYg1KKjX4hlMnrSIOSbuaOI0S2IQW0EBnQlSdXmOE/gzMPz1DZrTILWyykap6qyd/UxcOpVXBkDsQ+hSrvQssJkCv1p086nQ6dToednR39+/enSZMm9O3b9+8HrAghMpVzt59x8U4E07pUkr/LQpiQFNBCZCAR8REsObuEH/74ARcbF6Y0nELX0l2x0CxAr4dLP8Kv0+BZKJRqmbxco0C1NK97/vx5PvroI5o2bcqCBQto1KgRjRo1Mvr9CCGMa4NfCI62VnSrWdjcUYTIVqSAFiIDSNInse36NhafWczzhOe8V+49Pqn+CS62LskDbvya3Fnj/kXIXxU8FiUX0GmIj4/H29ubmTNn4urqKkWzEFnIo6h4frpwj551i+BoK7/OhTAl+RsnhJmdDz/PdP/pBD0OombemoyrN45yruWSv3nvPOz/Am4egpxF4e2VUPkdsEi7z+u5c+fo1asXv//+Ox9++CHz58/H1TXt9dFCiMxhy6nbJCTp8agvmweFMDUpoIUwE6UU6y+vZ37gfPLY52FWk1m0L9E+eR3j0xD41Rsufg/2uaDtdKgzAKxsDb6+g4MDer2ePXv20LZtWyPeiRDC1JL0is3+oTQs5UaZfE7mjiNEtiMFtBBmEJ8Uz1S/qfje8KVNsTZMazQNB2sHiHkCR+bCqZWgWUDj4dBoGNjnNOi6+/fvZ9euXSxatIgyZcoQFBSEhQFPq4UQmcvB3x9w51ksEztWMHcUIbIlKaCFMLHwmHCGHR7GhfALfFz9Y7yqeqHp4uDofDi2EBIioXovaD4OXAoZdM2nT58ycuRI1q5dS9myZXny5Alubm5SPAuRRW08GUIBFztaV8hn7ihCZEtSQAthQpcfX2bor0OJTIhkfvP5tCnSEs5uSj4IJfIulG0Hrb6AfBUNvua2bdv45JNPCA8P5/PPP2fSpEnY2clpZEJkVTfCozh67REj25TFylL+kSyEOUgBLYSJ7Lm1h4nHJ5LLLhcb2q2n/KMQ+LoRhP8OhWpB95VQvPFrXfP58+d4eXlRqFAhfvrpJ2rWrGmk9EKIjGKjXwjWlho96xY1dxQhsi0poIUwMr3S43POhxUXVlAjbw0WlOuLm+9ICDkOriWhx3qo2AUMPARBKcXOnTvp2LEjzs7OHDp0iLJly2JtbW3kOxFCmFt0vI6tgWG0r1yAPE6GbyoWQqQvee9HCCOKSYxhxOERrLiwgm5FWrHquR63Dd0g/Cp0mAufBEClrgYXzyEhIbRv355u3brx7bffAlCpUiUpnoXIJnacu0NkvI4PG0rrOiHMSZ5AC2Ekd6LuMPTXoVx/ep3RDuX44NhGNEtbaDYGGg4BW8NbT+n1epYuXcrYsWMBWLJkCb179zZWdCFEBqSUYqNfCBULOFOzaC5zxxEiW5MCWggjCHwQyPBDw9AlRLP0UQSNgn+FWh9Cs7Hg9Pq75vv378+6deto27Yty5cvp1gxefokRHYTcOsJV+5HMvPtKsn94oUQZiMFtBDpbOuV7/H2/5LCOh2L79+nROn2yZ01cpd5reskJiai0+mwt7fH09OTFi1a4OHhIb84hcimNpwMwdnOii7VDWtvKYQwHimghUgnOr2OuYfH8M3tfTSMiWW2bUlc+qyFInVf+1pnz56lf//+NGnShEWLFtGwYUMaNmxohNRCiMzg4fM49l66z4cNi2NvY2nuOEJke1JAC5EOIuIjGLV3IH5Pg/CIU4xovgCr8h0N3hz4P3FxcUydOpXZs2eTO3dumjVrZqTEQojMZHNAKDq9wqO+LN8SIiOQAlqIN3Qz4iZD9npyN+YBU2Mt6NbrF3Ap/NrXOXv2LO+//z5Xr16lX79+zJs3j1y5ZKOQENldYpKezf6hNCubh+K5HcwdRwiBFNBCvJGjYUcZfXgENgkxrI6zpeYHu8G54H+6lqOjIxYWFuzduxd3d/d0TiqEyKz2Xr7Pw8h4ZrwtT5+FyCikD7T4//buPM7msv/j+Oszq5lhLGNnGLuxlextCglJC8mWkrtNpV/lpoS7tCp13yqJUkK2RKmo7lSSkDVblJjJkjAYzIxZr98f52ByW2YyM2fGvJ+PxzzmnPO9vt/zOS4z5z3Xub7fS/4G5xzvbXyPBxbeT6Wko8w4Fsolty3Idnj+/PPPeeCBB3DOUatWLTZs2KDwLCJ/MXlpLJVLhnBVnbK+LkVEvBSgRbIpJT2F4UuGM3rlaNomJjE5tQQVbl+QrcvTxcXFcfvtt9OxY0cWLlzIwYMHAfDz04+kiJy0ec9hftx+gD4tq+LvpyvwiOQXercWyYb9Sfu584s7+fi3j7kv/iijrRyhd3wGYaWztL9zjtmzZ1OvXj2mTZvGsGHDWLt2LaVKlcrlykWkIJqyNJbgAD9ubRrp61JEJBPNgRbJop/jfubBrx8k/tgBRu87wLXhteG2ORCS9RP9jhw5woABA4iMjOTLL7/koosuysWKRaQgO3wslblrdnH9RRUpGRbk63JEJBONQItkwRcxX9B3QV8s9RiTd+7i2hL1oO9HWQrPzjnmzJlDWloa4eHhLFq0iOXLlys8i8hZzVm1k8SUdPq20smDIvmNArTIWWS4DMauHcugRYOoU6Q003/7mehyjT0jz0WKn3P/7du30759e7p27cqMGTMAiI6OJiBAH/6IyJk555i8LJaLIkvQqHIJX5cjIqdQgBY5g8TURB799lHe/OlNbijZkHc2LKV0ZCvoPRuCi5113/T0dMaMGUODBg1Yvnw5b7zxBr169cqjykWkoFuyNY5t+xLoq4VTRPIlDYOJnMbuo7sZ+PVAfj30K4PKt6bv0qlY9dbQYzoEhZ5z//79+/Pee+/RsWNHxo8fT2SkTgASkaybvDSGUmFBXNeogq9LEZHTUIAWOcXqP1fz8LcPk5KewuuVO3PFd69DzWvg1qkQWOSM+6WmppKWlkZISAj33HMP7dq1o3fv3lg2l/MWkcJt16Ekvvr5T+5pXYMigf6+LkdETkNTOEQymfPrHPp/2Z9iQcV4v9L1nvBcuyP0eP+s4XnVqlU0bdqUIUOGANCqVSv69Omj8Cwi2TZteSwAvVtU8XElInImCtAiQFpGGqN+HMW/fvgXTcs15f2I1lT/ZhTU7QzdJ0NA8Gn3S0pKYsiQITRv3px9+/bRrl27PK5cRC4kyWnpzPhxB23qlqNyyXNPFxMR39AUDin04pPjGfzdYH7Y/QO9o3szKMmPgK+fgfo3wc1vgX/gafdbtWoVPXv25Ndff6V///6MHj2aEiV0tryI/H3z1/9BXEKKLl0nks8pQEuhtj1+OwO/HsjOozt5stW/6LrrV1j0LDTsDjeOA/8z/4gUL16c4OBgvvrqK9q2bZuHVYvIhWry0liqlw7j8ppZW91URHxDUzik0Fqyawm9P+vN4ZTDvH3NW3TdsQkWvQAX94ab3jxteJ4/fz4DBgzAOUfNmjVZt26dwrOI5IgNu+JZ8/sh+rSsip+fzp8Qyc8UoKXQcc4xeeNkBiwcQIWiFZjeaRpN1n0Mi1+GS/pCl9fB769nvu/fv58+ffpw3XXXsWjRIg4ePAigkwRFJFEk7nYAACAASURBVMdMXhpDSKA/XZtU9nUpInIOuRqgzayDmW0xs61m9thptj9iZpvMbJ2ZLTQzTfqSXJWSnsKIH0bw0sqXuDryaqZ0mEzF71+DH16FZv+AzmPA7+SPhXOOWbNmUa9ePWbOnMnw4cNZvXo1pUqV8uGrEJELzcGEFD5eu5sbG1eieMjpz7sQkfwj1+ZAm5k/MBa4BtgJrDCzec65TZmarQGaOucSzew+4EXg1tyqSQq3/Un7eeTbR1izdw33NLqHAY3uxW/BYFg5EVrcBx2eh1NGlI8cOcKDDz5I1apVWbhwIQ0bNvRR9SJyIftg1Q6S0zJ08qBIAZGbI9DNga3OuW3OuRRgBnBD5gbOuW+cc4neu8sAfW4luWLzgc30/KwnP8f9zEutX+KBiwbg99nDnvB86cC/hGfnHB988AFpaWmEh4ezaNEili5dqvAsIrkiI8MxddnvNIsqSXSFcF+XIyJZkJsBuhKwI9P9nd7HzqQ/sCAX65FC6r+x/6Xvgr4455jUcRIdqlwD8x6A1ZPhikfhmpEnwvNvv/1Gu3bt6N69OzNmzACgbt26BATogjUikjsW/bKP3w8k0rdVlK9LEZEsys1UcLqzq9xpG5r1AZoCrc+w/W7gboAqVbQyk2RNhstg/E/jeeOnN2hUphFjrh5D6aASMPceWP8BXPU4tB4CZqSnpzNmzBiGDRtGYGAg48ePp1evXr5+CSJSCExeGkOZYsFcW7+8r0sRkSzKzQC9E4jMdL8ysPvURmbWDngCaO2cSz7dgZxzE4AJAE2bNj1tCBfJLDE1kWFLhvHf2P/SpUYXRrQaQTB+MOcfsHEutBkOVw460b5fv35MmTKFzp07M27cOCpX1mwiEcl9sXEJfPvLPh5sU4ugAF0YS6SgyM0AvQKoZWbVgF1AD+AvQ3pm1hgYD3Rwzu3NxVqkEPnj6B8M/GYgWw5s4dEmj3J7/dux9FSYfQds/hSueRouG0hKSgppaWmEhoYyYMAAOnbsSI8ePXRpOhHJM1OXxeJnRq/m+nRVpCDJtT93nXNpwAPAF8DPwCzn3EYzG2lmXbzNXgKKAh+Y2Vozm5db9UjhsHbvWnp81oOdR3byetvXuaPBHVh6Cszq6wnPHV6AywayYsUKmjRpwpAhQwBo2bIlPXv2VHgWkTyTlJLOrJU7ubZ+OcoXL+LrckQkG3L1zCjn3Hxg/imPjch0u11uPr8ULh9t/YiRS0dSPqw87177LtVLVIfUJJjZB7Z+BZ1Gk9igNyMGDeLf//43FSpU4Nprr/V12SJSSH3y027ik1J18qBIAaRLC0iBl5aRxiurXmHKpim0qNCCl1u/TPHg4pCSCDN6wrZFcP2rrHT16dGoEb/99hv33HMPo0aNonjx4r4uX0QKIecck5fFULtcUVpU08JMIgWNArQUaIdTDjN40WCW7F5Cr7q9GNRsEIF+gZB8FKb3gJjv4cY34OJelNi6lbCwML755huuuuoqX5cuIoXYmh2H2LDrME/f2EBTx0QKIAVoKbBi4mN48OsH2XlkJyNajeCW2rd4NiQfgfdvgR3L+TTiHj598zvGjetJzZo1Wbt2rd6sRMTnJv8QQ9HgAG5qfLblEUQkv1KAlgLph10/MOi7QfibPxPaT6BZ+WaeDcfiYWpX9v2ykoc2NGT6ghdp0KABBw8epFSpUgrPIuJz+48mM3/9Hno2j6RosN6GRQoiXXRSChTnHFM3TeW+hfdRPqw806+bfjI8Jx3EvdeFaZ8vJ/qtDGZ/tZynnnqKVatWUaqU5hiKSP4wc8UOUtIzuE0nD4oUWPrTVwqM1PRUnln+DHN+ncPVkVfz/BXPExYY5tmYEAdTbuDIjp95+NsAatapw8SJE6lfv75vixYRySQtPYP3l8VyWc0IapYt6utyRORvUoCWAiEuKY5Hvn2E1XtXc1fDu3ig8QP4mecDlIzDf/LBw1fQNfIg4XfMYPHtValRowb+/v4+rlpE5K8Wbt7L7vhjjLhef9yLFGQK0JLvbTmwhQe/fpADxw7w4pUv0rFaxxPbtq5dxj9uac+irUeY+vJQete6hto+rFVE5GwmL42hYvEitIsu6+tSROQ8aA605GsLYxdy24LbSHfpvNfhvRPhOS0tjdHPjKBh80tZu/Mobz8/mF4PP+PjakVEzmzr3qMs2RpHrxZVCPDX269IQaYRaMmXnHOMXzeesWvH0rB0Q8ZcPYYyoWVObO/XuztTZ83lhugivDFpJhWbdznL0UREfG/qsliC/P3o0byKr0sRkfOkAC35TlJaEsO+H8aXsV/SuXpnnrz0SYL9g0lOTiYtLY2wlP08UPEnOvcoRfdR87EqLXxdsojIWSUkp/Hhqp10alie0kWDfV2OiJwnBWjJV/Yk7GHg1wPZfGAzDzd5mH71+2FmLFu2jP79+3NVy0sY22ANLcql0mLQl1Cpia9LFhE5p7lrdnEkOU2XrhO5QGgSluQba/eupcenPfj9yO+81uY17mxwJ4mJiTz88MNceumlHIk/yHX2LaQchds/UXgWkQLBOceUpbHUrxjOJVVK+LocEckBGoEWn0vNSOWtdW8xYd0EKoRV4O32b1OzZE1WrFjBrbfeyvbt2xnQrxfPV19GeJCDvvOgfANfly0ikiXLtx9gy59HGNW1oVZDFblAKECLT22P387QxUPZELeB66pfx9AWQwkPCgcgIiKC4sWLs2juJK78ZSSYH9w+D8pG+7hqEZGsm7I0luIhgXS5qJKvSxGRHKIpHOITGS6DaT9Po/sn3dlxdAejW4/mhSte4NvPv+Wuu+7COUf16tVZ/dkkrtzyJPgHQr/5Cs8iUqD8efgYX2zcQ/emlQkJ0uJOIhcKjUBLnvsz4U+GLxnO0j+Wclmlyxh56Ug4Cj169GDmzJk0atSIgwcPUupYLDb5Rggq6hl5jqjh69JFRLJl2vLfSXeOPi2r+roUEclBGoGWPLVg+wJunncza/etZXjL4bzR5g2+nPMl0dHRzJ07l2eeeYaVK1dSKnEbvHcDBIdDv88UnkWkwElJy2Daj7/TunYZqkaE+bocEclBGoGWPBGfHM+zy55lQcwCGpVuxHNXPEfV8KocPnyYQYMGUadOHSZOnEh0dDT8vgymdoOwCM/VNkpo0QERKXi+2LiHfUeS6dtKo88iFxoFaMl1P+z6geFLhnPg2AEeuPgB+tXvx+xZs6nUvRLh4eEsXryY6tWr4+/vDzHfw/vdoVh5T3gurpNuRKRgmrI0lshSIbSuXdbXpYhIDlOAllyTlJbEKytfYcaWGVQvXp1X275KYFwg7dq0Y/HixTjn6N27N7Vq1fLssO1bmNYDSkR6wnOx8j6tX0Tk79q85zA/xhxgaKe6+Pvp0nUiFxrNgZZcsWH/Brp/0p0ZW2bQJ7oP73d4n0/f/pRGjRqxfv163n33XXr16nVyhy2fw7RboVQ1uOMzhWcRKdAmL40lOMCP7k0jfV2KiOQCjUBLjsq8KErpkNK81f4tWlZoSZ8+fXj//fe5+eabGTt2LOXLewNy/C748gnYOBfKNYS+H0FYad++CBGR83D4WCofrdlFl4sqUiI0yNfliEguUICWHLM9fjuPL36cjXEb6Vy9M49c/AihfqEADBw4kJtuuomuXbt6Gqclw9Kx8N1L4DLgqsfhsocgMMSHr0BE5Px9uGoniSnp9G0V5etSRCSXKEDLectwGczYPIN/r/o3wQHBvNz6ZYruLsqVza+kTZs2jB07lubNm9O8eXPPDr9+BQsGw4HfoG5nuPZZKBnl09cgInK+UtIymPDdb7z69VaaVC1Jw8rFfV2SiOQSBWg5L5kXRbm80uUMbjSY/zz7H1577TUiIyPp0qXLycYHY+DzobDlMyhVA3p/CLXa+ax2EZGcsub3gzz24Xq2/HmETg3L82SX+r4uSURykQK0/G3zt83nmeXPkJaRxvCWw6lysAptWrQhNjaW+++/n+eee45ixYpBahJ8/x9Y8h8wP2j7L2h1PwQE+/oliIicl4TkNEZ/uYVJP8RQrlgRJtzWhPb1dRK0yIVOAVqyLT45nmeWPcPnMZ/TqEwjnrvcsyjKtm3bKFWqFFOmTOHyyy8H5+DnT+GLx+HQ71D/Zmj/jK7tLCIXhG8272XYRxvYdSiJ21pWZXCHOhQrEujrskQkDyhAS7Ys2bWEEUtGcODYAR5s/CAlfynJyIdH8vbbb1O9enVWrlyJmcH+rfD5ENj6FZSp67muc7UrfV2+iMh52380mZGfbGLeT7upWbYos+9tRdOoUr4uS0TykAK0ZMmpi6KMaDCC10a8xocffkjjxo05dOgQJUuWxFISYPFo+OF1zxU1rn0emt8F/hqVEZGCzTnHh6t38cxnm0hITuOhtrUYcHUNggP8fV2aiOQxBWg5pw37N/D44seJORxD77q9Kb2xNDddfhOJiYk8//zzPProowQGBMCGD+GLYXBkN1zUC9o9CcXK+bp8EZHz9ntcIkPnruf7rfu5pEoJXujaiNrlivm6LBHxEQVoOaPMi6KUCS3D2+3fJjosmjo31qFevXpMnDiROnXqwJ+bPJeli1kM5RvCLe9ClZa+Ll9E5LylpWfwzpLtvPLfX/A34+kb6tO7RVX8tDy3SKGmAC2ntS1+G0MXD2Vj3Eaui7qOGttrcEnpSwgMDOT777+nWrVq+KUc8VyWbvmbEFwMrnsZmvQDP32cKSIF34Zd8Tw2Zx0bdh2mXXRZRt7QgIoltNiTiChAyykyXAbTN0/n36v+TZGAIjxU+SEmPTGJUUtGERYURq9evahRrRqsmwn/HQEJ+6DJ7dBmBIRF+Lp8EZHzlpSSzn8W/sLbi7dTMjSIsb0uoVPD8p4TpEVEUICWTPYk7GH4kuEs+2MZrcq1oszyMtx/+/0ULVqU9957j549e8IfP8H8f8KO5VCpKfSaCZUu8XXpIiI5YsnW/Qydu57YuERubRrJ0E7RFA/VSdAi8lcK0AL876IoH4/8mLemvUW3bt14/fXXKVcsED57FFa9CyGloMvrcHFv8PPzdekiIuftUGIKz372Mx+s2knViFCm/aMFl9Ys7euyRCSfUoAu5DIvilIvvB5PtniS6IrRVPu/anTr1o2bbugCqyfDwpFw7BA0uwuufhxCSvq6dBGR8+ac49N1f/DUJxs5mJjKfVfV4KG2tSgSqHM5ROTMFKALscyLonR0Hfn4sY95tc2rjBs3jmbNmtGsgsHbbWH3GqhyKXR6Cco38HXZIiI5YtehJIZ/tIGvN++lYaXivHdnc+pXLO7rskSkAFCALoQyL4pSJagK0d9F89LEl4iKiqJr165wdB8sfBLWTIWi5eHmt6FhN9AJNCJyAUjPcExdFsuLn28mw8Gw66K549IoAvw1JU1EskYBupBZv289Q78fSszhGK5Mv5JPHvuEnTt2MnDgQJ4d+RRFN8+E1+6E1AS4dCC0Huy5RJ2IyAXglz+PMOTDdaz5/RBX1CrNczc1JLJUqK/LEpECRgG6kEjNSGXCugm8te6tE4uilD1WlhVvrmDmjJm0qpAB73eCvRuh+lXQ8SUoU9vXZYuI5IjktHTGfvMb477dStHgAF7pfhE3Na6kS9OJyN+iAF0IHF8UZcP+DdTeUZvQraE079ocM2P5fz/CvvoXfDELwitD98kQ3UXTNUTkgrEi5gCPfbiO3/YlcOPFFRneuR4RRYN9XZaIFGAK0BewzIui+B/xp8THJZj7xVyaNGnCof17KfnLTGzRKEhPgSv/CZc/AkH6KFNELgyHj6UyasFm3l/+O5VKhDCpXzOuqlPW12WJyAVAAfoCdXxRlKW7l1JmQxnWTFxD8rFkRo0axSM3NCZgZmfY/wvU7gDXPgcRNXxdsohIjvly4x6Gf7yBfUeSufOyajzavjZhwXrLE5GcoVOOL0Dzt83n5nk389O+nxjUcBCb39/MRY0u4qfFCxhcdT0B07tBeir0nOlZSVDhWUQuEHsPH+O+qau4e8oqSoYGMWfAZYy4vp7Cs4jkKP1GuYAcXxRlwbYFhK8PZ/oT06kRUYMrv21B1O55+H3ew9OwzTBo9SAEFvFtwSIiOcQ5x8wVO3h2/s8kp2Xwz2vrcPeV1QnUpelEJBcoQF8gji+Ksvu33aTMTGHjTxv5sdmP1GiyleqfD4GD2z0nB177HJSI9HW5IiI5Ztu+ozw+Zz3Ltx+gRbVSPH9zQ6qXKerrskTkAqYAXcAlpibyyqpXmL5xOhlfZ/Db7N8ILxbO1DdfoUfGXJj2BZSuDbfNhRptfF2uiEiOSU3PYMJ32xiz8FeCA/x44eaGdG8aiZ+friIkIrlLAboAW7dvHUO/H0rs4VgCZwXy05c/0aN7N8Z0r0HZTc9BXBBc8zS0uBcCgnxdrohIjlm74xCPfbiOzXuO0KlheZ68vj5lwzUtTUTyhgJ0AXR8UZTxK8cTERzBxPYT8atn7L7+I7qkfgzrv4SG3eGakRBewdfliojkmITkNF7+8hcm/bCdMsWCmXBbE9rXL+/rskSkkFGALmCOL4ry4w8/Ej8lnmYdmtG8Q3H4eTDs/xbKNYCbxkPUZb4uVUQkR327ZS9PzN3ArkNJ9GlZhcEd6hJeJNDXZYlIIaQAXUAcXxRl9Pej2TNrD3u+2kO1qCh610qGcZdCYBh0fBGa9gd/dauIXDjijibz9Keb+GjtbmqUCeODe1vRLKqUr8sSkUJMSasAOL4oyteLv+bP8X+SFJfEI7d1ZmTdzYQlfgKN+0DbJ6FoGV+XKiKSY5xzzF2zi6c/3cTR5DQGtq3F/VfXIDjA39eliUghpwCdjznnmL99Ps8uf5a0jDQeufoRpswfz5i7w2gR8B1EXAzXTYfKTX1dqohIjtpxIJGhc9ez+Nf9NK5SglFdG1G7XDFflyUiAihA51vxyfGMXDqSD2Z9QMAvAXzz/sdUXTWFAdf/joWUhHZjoPFt4KeRGBG5cKSlZzDphxhe/vIX/Aye6lKfPi2r4q9L04lIPqIAnQ8t2bWEwZ8MZsOEDRxec5im9aoRPu56sHisWX+4+gkI1fw/EbmwbNwdz2Mfrmf9rnja1i3L0zc2oGKJEF+XJSLyPxSg85HE1EReXvkyb054k72z9hKQ4cfobjX4v+i9+Ee2hE4vQYWLfF2miEiOOpaazpiFvzLhu22UDA3k9V6Nua5hBcw06iwi+ZMCdD5xfFGU7X9u58gnR7i0elkmXn2YmpEG14yHi3qA3kxE5ALzw9b9DJ27npi4RLo3rczQTtGUCNXCTyKSvylA+1hqRirjVo9j9JujqdW2Fu/W7UbZ/m9TNSQRa/kgXDUEihT3dZkiIjkqPjGVZ+dvYtbKnVSNCGXaP1pwac3Svi5LRCRLFKB9aNuhbQx4fwDfvfIdSduSeMqF0DzyPxB9hWe6RtloX5coIpKjnHN8tv4Pnpy3iYOJKdzbugb/164WRQJ1QrSIFBwK0D6Q4TKYsm4Kjz/1OHvm7SE8NJB3uoZwa7RBh3eh/k2ariEiF5w/4pMY/tEGvvp5Lw0rFWdSv2Y0qKRP2ESk4FGAzmN7EvYwbMkwZo+YTfzyeLpeFMKb1xah9DUPwRWPQnBRX5coIpKjMjIcU5fH8uLnW0jLyOCJTtH0uyyKAH8/X5cmIvK3KEDnEeccczbN4cXlL+IC03i8TQXqVU/h+k4docMoKF3T1yWKiJy3w8dSid2fyPa4BGL3JxATl8j6XYf45c+jXFGrNM/e2JAqEaG+LlNE5LwoQOeB+OR47hp3Fx899xFV65fg67bpRJatCH0/gDqdNF1DRAqUQ4kpxMQlEhuXQMz+RGLiEoiJSyA2LpEDCSl/aVuheBGqRoTy8i0XcfMllXRpOhG5IChA57LPf/6cOx+8kz8W/kHZ0gGMr55K5OVD4LKHIFALBIhI/uOc42BiqjcUJ7B9vzcse0PzocTUE23NoGLxEKpGhHJt/fJUKx1K1YgwoiLCqFIqlJAgnRwoIhceBehckpiayEPvPMSkxyaRFp/GnVcU4bX+XQjtMgpKRvm6PBEp5JxzxCWkELP/ZDCOiUv03k/gyLG0E239DCqWCKFa6TA6N6pAVESYNySHElkqVFfQEJFCRwE6F6zbt46hi/7J1iMxVCrpx7T+tbn0nrFQq52vSxORQsQ5x74jyZ5g7B1NPj7lIjYukaPJJ0Oyv59RuWQIVSPCaFylBFUjwk6MJlcuGUJwgEKyiMhxCtA5KCU9hbtf6M+8zz6lyZ3lmUISzd57HlrdDwHBvi5PRC5AGRmOvUeSPfOQTxlNjo1LIDEl/UTbAD8jslQoVSNCaRZViqiIUKqW9ky3qFwyhEBdFUNEJEsUoHPI9+sX0/2Orvyxeh8Vo4J4x78RkXe9AsUr+bo0ESngMjIcfxw+duKqFp55yZ5R5NgDCRxLzTjRNsjfj8hSIURFhNGqegRR3lHkahFhVCxRRJeOExHJAQrQ5yktPY27h/Xivf98CBmO+7pV5rXnJ+Nf82pflyYiBUh6hmP3oSRivdMtMo8mxx5IJCUtU0gO8KNqKU8wvqJWaaK8o8hVI0KpWCIEfz9d6UJEJDcpQJ+HPQd+Y/BH/Zj+5lIqRhVh7pMDadptJPgH+ro0EcmH0tIz2H3omOcayd75yLFxCWyPS2DHgURS092JtkUC/ahaKozqZcJoU7fsiZP2okqHUT68CH4KySIiPpOrAdrMOgBjAH/gbefcC6dsDwYmA02AOOBW51xMbtaUE1JTUnjkia6sqL2NjAB49Zk23NNnEn7FK/i6NBHJIanpGSSmpJOYkub5npzpdko6CSlpJHm/e7Zl3p7mbZNOUkoaCd59jxxLIy3jZEgODfKnakQYdcoVo3298icCclREGGWLBSski4jkU7kWoM3MHxgLXAPsBFaY2Tzn3KZMzfoDB51zNc2sBzAKuDW3asoJi7+Yyi333sOfMYlcfncVpj3yGpF1uvi6LJFCKyUt43+Da/L/htnjtxOS008G31O3J6eRmOoJyynpGed+ci8/g9CgAEKD/AkLDiAk0J+wYH+KhwRSsXgRQoL8CQsKIDwk4MQ1kqMiQilTLFgLi4iIFEC5OQLdHNjqnNsGYGYzgBuAzAH6BuBJ7+3ZwOtmZs45Rz6TnJzMoDtaM/aD5fiH+nP3Y20ZO/IzAgJ1dQ3J/5xzOAcZzuHwfnd4vnBkOE+bDAectt1f7591/xP3/9qeU/bPcJCcenI0939D7CnBNyX9lBFfz/bMI7rn4u9nnpDrDbuhwf6EBgZQKiyIyJIB3qDrT0hQgPe7JxCHBvkTespjnpDs2RYc4KcgLCJSiORmgK4E7Mh0fyfQ4kxtnHNpZhYPRAD7c7Guv6Vv377MmrWc+peX561xk2jV4Npcfb74pFQenL4mV58jPzr1b6fjdx3u5O3TPXZihzNvOx4C/3qMkw/877bTPWcWazzNc3KOehyODO+g51+C6vG2mYNtxvHHTwbX40H2dAG4oAn0txMjuplHdcsUC6ZKUChh3kB7fHtoUABhwacE3xMhOYDQQE9YDvJX0BURkfOXmwH6dO9Sp76VZ6UNZnY3cDdAlSpVzr+yv2HIkCHccfvtdOzUKU+ezznH4aTUcze8AB3PN3bivp24f3LbyUaWeZsd32aY/W/7zNkp83GPbzvbc5LpGJn3OfX4Z6rxXM/p573jZ549/ez4a/B89/O+Nr9Mj528f479M90/6/5/aXeW/Tm57az7k7l+73H8Tu5fJNATdD2jup7R4JAgf4ICdKk1ERHJv3IzQO8EIjPdrwzsPkObnWYWABQHDpx6IOfcBGACQNOmTX0ynnbJJZfk6fOVCA3io/svy9PnFBEREZFzy81hnhVALTOrZmZBQA9g3ilt5gG3e293A77Oj/OfRURERESOy7URaO+c5geAL/Bcxu4d59xGMxsJrHTOzQMmAlPMbCuekeceuVWPiIiIiEhOyNXrQDvn5gPzT3lsRKbbx4BbcrMGEREREZGcpDN1RERERESyQQFaRERERCQbFKBFRERERLJBAVpEREREJBsUoEVEREREskEBWkREREQkGxSgRURERESyQQFaRERERCQbFKBFRERERLJBAVpEREREJBsUoEVEREREskEBWkREREQkGxSgRURERESyQQFaRERERCQbFKBFRERERLLBnHO+riFbzGwfEOujpy8N7PfRc0veUT8XHurrwkN9XXiorwuPvOjrqs65Mqc+WOACtC+Z2UrnXFNf1yG5S/1ceKivCw/1deGhvi48fNnXmsIhIiIiIpINCtAiIiIiItmgAJ09E3xdgOQJ9XPhob4uPNTXhYf6uvDwWV9rDrSIiIiISDZoBFpEREREJBsUoE9hZh3MbIuZbTWzx06zPdjMZnq3LzezqLyvUnJCFvr6ETPbZGbrzGyhmVX1RZ1y/s7V15nadTMzZ2Y6g7+Aykpfm1l378/2RjObltc1Ss7Iwu/wKmb2jZmt8f4e7+SLOuX8mdk7ZrbXzDacYbuZ2ave/wvrzOyS3K5JAToTM/MHxgIdgXpATzOrd0qz/sBB51xN4N/AqLytUnJCFvt6DdDUOdcImA28mLdVSk7IYl9jZsWAgcDyvK1QckpW+trMagGPA5c55+oD/5fnhcp5y+LP9TBglnOuMdADeCNvq5QcNAnocJbtHYFa3q+7gXG5XZAC9F81B7Y657Y551KAGcANp7S5AXjPe3s20NbMLA9rlJxxzr52zn3jnEv03l0GVM7jGiVnZOXnGuBpPH8kHcvL4iRHZaWv7wLGOucOAjjn9uZxjZIzstLXDgj33i4O7M7D+iQHOee+Aw6cpckNwGTnsQwoYWYVcrMmBei/qgTsyHR/p/ex07ZxzqUB8UBEnlQnOSkrfZ1Zf2BBrlYkueWcfW1mjYFI59yneVmY5Lis/FzXBmqb2RIzW2ZmZxvVkvwrK339JNDHzHYC84EH86Y08YHsoxS+bgAABsNJREFUvqeft4DcPHgBdLqR5FMvU5KVNpL/ZbkfzawP0BRonasVSW45a1+bmR+e6Vh35FVBkmuy8nMdgOdj3qvwfKq02MwaOOcO5XJtkrOy0tc9gUnOuZfNrBUwxdvXGblfnuSxPM9mGoH+q51AZKb7lfnfj3xOtDGzADwfC53tYwXJn7LS15hZO+AJoItzLjmPapOcda6+LgY0AL41sxigJTBPJxIWSFn9Hf6xcy7VObcd2IInUEvBkpW+7g/MAnDOLQWKAKXzpDrJa1l6T89JCtB/tQKoZWbVzCwIz0kH805pMw+43Xu7G/C108W0C6Jz9rX3Y/3xeMKz5kkWXGfta+dcvHOutHMuyjkXhWe+exfn3ErflCvnISu/wz8CrgYws9J4pnRsy9MqJSdkpa9/B9oCmFk0ngC9L0+rlLwyD+jrvRpHSyDeOfdHbj6hpnBk4pxLM7MHgC8Af+Ad59xGMxsJrHTOzQMm4vkYaCuekecevqtY/q4s9vVLQFHgA+95or8757r4rGj5W7LY13IByGJffwG0N7NNQDrwT+dcnO+qlr8ji339KPCWmT2M5+P8OzTgVTCZ2XQ8065Ke+e0/wsIBHDOvYlnjnsnYCuQCPTL9Zr0f0lEREREJOs0hUNEREREJBsUoEVEREREskEBWkREREQkGxSgRURERESyQQFaRERERCQbFKBFRM7AzNLNbK2ZbTCzD8ws9DyOdZWZfeq93cXMHjtL2xJmNuBvPMeTZjbo79Z4luOeqD0b+8R4r7N86uP3mllf7+1JZtbNe/ttM6vnvT00J+oWEcktCtAiImeW5Jy72DnXAEgB7s280XvR/mz/HnXOzXPOvXCWJiWAbAfo8+FdWTXXOefedM5NPs3j/3DObfLeVYAWkXxNAVpEJGsWAzXNLMrMfjazN4DVQKSZtTezpWa22jtSXRTAzDqY2WYz+x64+fiBzOwOM3vde7ucmc01s5+8X5cCLwA1vKPfL3nb/dPMVpjZOjN7KtOxnjCzLWb2FVDndIV7R3rfNLPFZvaLmXXOVMcHZvYJ8KX3D4KXvCPu683s1kyHCffWucl7LD/vMcaZ2Uoz25i5Lq9/mtmP3q+a3vanHSU3s2/NrKmZvQCEeF/7+2b2tJk9lKnds2Y2MEs9JiKSS7QSoYjIOXhHZzsCn3sfqgP0c84N8E5TGAa0c84lmNkQ4BEzexF4C2iDZ3WsmWc4/KvAIufcTWbmj2f1y8eABs65i73P3x6oBTQHDJhnZlcCCXhWQ22M5/f5amDVGZ4nCmgN1AC+OR5ogVZAI+fcATPrClwMXASUBlaY2Xfeds2BekCs99/hZmA28IR3X39goZk1cs6t8+5z2DnX3Dtl4z9A5zP9Gx/nnHvMzB7I9NqjgDnAGG9o7+GtRUTEZzQCLSJyZiFmthZYCfwOTPQ+HuucW+a93RJPsFzibXs7UBWoC2x3zv3qXT546hmeow0wDsA5l+6ciz9Nm/berzV4QnJdPIH6CmCucy7ROXcYONuy5LOccxnOuV+Bbd5jAPzXOXfAe/tyYLq3jj+BRUAz77YfnXPbnHPpwHRvW4DuZrbaW1t977/FcdMzfW91ltrOyDkXA8SZWWO8/wZaeltEfE0j0CIiZ5Z0fCT0ODMDz8jviYfwhNCep7S7GHA5VIcBzzvnxp/yHP+Xjec4td3x+6e+lizvb2bVgEFAM+fcQTObBBQ5wz7n82/xNnAHUB545zyOIyKSIzQCLSJyfpYBl2Wa4xtqZrWBzUA1M6vhbdfzDPsvBO7z7utvZuHAEaBYpjZfAHdmmltdyczKAt8BN5lZiJkVA64/S523mJmft57qwJbTtPkOuNVbRxngSuBH77bmZlbNO43iVuB7IBxPAI83s3J4prlkdmum70vPUtupUs0sMNP9uUAHPKPhX2TjOCIiuUIj0CIi58E5t8/M7gCmm1mw9+FhzrlfzOxu4DMz248ncDY4zSEeAiaYWX8gHbjPObfUzJaY2QZggXPun2YWDSz1joAfBfo451ab2UxgLZ65yYvPUuoWPFMyygH3OueOeY+V2Vw8Uy1+wjNiPNg5t8fM6uIJwC8ADfEE7bnOuQwzWwNsxDMtZMkpxws2s+V4BmvO9AfE6UwA1pnZaudcb+dcipl9AxzyTiEREfEp80zNExGRC5V3asWnzrnZvq7l7/COeq8GbvHO4RYR8SlN4RARkXzLPIurbAUWKjyLSH6hEWgRERERkWzQCLSIiIiISDYoQIuIiIiIZIMCtIiIiIhINihAi4iIiIhkgwK0iIiIiEg2KECLiIiIiGTD/wP+nuK2VGhDWwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from sklearn.calibration import calibration_curve\n", "\n", "z, y = dst.rvs(51200)\n", "y = np.minimum(y, 1) \n", "\n", "def fixed_calibration_curve(neg_dist, pos_dist, alpha):\n", " z_grid = np.arange(0,1,0.01)\n", " calibrated = alpha*pos_dist(z_grid)/((1-alpha)*neg_dist(z_grid)+alpha*pos_dist(z_grid))\n", " calibrated_cum_max = np.maximum.accumulate(calibrated)\n", "\n", " def _result(z):\n", " #return alpha*pos_dist(z)/((1-alpha)*neg_dist(z)+alpha*pos_dist(z))\n", " return np.interp(z, z_grid, calibrated_cum_max)\n", " return _result\n", "\n", "cc = fixed_calibration_curve(neg_dist.pdf, plk, alpha)\n", "\n", "base_calibrator = IsotonicRegression(increasing=True, out_of_bounds='clip').fit(z, y)\n", "\n", "prob_true_first, prob_pred_first = calibration_curve(y, z, n_bins=10)\n", "\n", "plt.plot(prob_pred_first, prob_true_first, label='uncalibrated')\n", "\n", "prob_true_isotonic, prob_pred_isotonic = calibration_curve(y[::2], base_calibrator.predict(z[::2]), n_bins=10)\n", "plt.plot(prob_pred_isotonic, prob_true_isotonic, label='isotonic regression')\n", "\n", "prob_true_fixed, prob_pred_fixed = calibration_curve(y, cc(z), n_bins=10)\n", "plt.plot(prob_pred_fixed, prob_true_fixed, label='calibrated')\n", "plt.plot(np.arange(0,1,0.01), np.arange(0,1,0.01), 'k--', label='perfect calibration')\n", "plt.xlabel(\"Predicted probability\")\n", "plt.ylabel(\"Actual probability\")\n", "plt.legend()\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we choose a different distribution, and a different alpha, the isotonic calibration stops being very good.\n", "\n", "However the new dynamically calculated calibration curve still fits nicely." ] }, { "cell_type": "code", "execution_count": 143, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Warning: Desired error not necessarily achieved due to precision loss.\n", " Current function value: -0.594894\n", " Iterations: 13\n", " Function evaluations: 44\n", " Gradient evaluations: 189\n", " Hessian evaluations: 0\n", "Error in optimization!\n", " fun: -0.5948936891523362\n", " jac: array([-2.37556514e-04, -1.38983371e-07, -1.68297164e-07, 3.49000709e-07,\n", " -8.35752634e-06, -1.77370186e-06, 3.46278326e-06, 1.99761826e-06,\n", " -5.58006616e-06, 2.11654147e-06, -2.19904969e-06])\n", " message: 'Warning: Desired error not necessarily achieved due to precision loss.'\n", " nfev: 44\n", " nhev: 0\n", " nit: 13\n", " njev: 189\n", " status: 2\n", " success: False\n", " x: array([0.01040117, 0.02343432, 0.06230398, 0.05032915, 1.15724951,\n", " 0.78349196, 0.49277173, 2.05436018, 2.89945864, 2.82799268,\n", " 3.69271965])\n", "Fitted alpha = 0.010401169279549205\n", "Actual alpha = 0.010880316518298714\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "dst2 = MixtureDistribution( [50000/50550.0, 550/50550.0], [neg_dist, beta(3.5,0.9)])\n", "\n", "z2, y2 = dst2.rvs(50550)\n", "y2 = np.minimum(y2, 1)\n", "\n", "alpha, plk = fit_and_calibrate(zz, z2, neg_dist.pdf, base_pos_dist=bpd)\n", "print(\"Fitted alpha = \" + str(alpha))\n", "print(\"Actual alpha = \" + str(N_bad_new/len(z2)))\n", "\n", "cal_curve = fixed_calibration_curve(neg_dist.pdf, plk, alpha)\n", "\n", "\n", "prob_true, prob_pred = calibration_curve(y2, z2, n_bins=10)\n", "plt.plot(prob_pred, prob_true, label='uncalibrated')\n", "\n", "prob_true_fixed, prob_pred_fixed = calibration_curve(y2, base_calibrator.predict(z2), n_bins=10)\n", "plt.plot(prob_pred_fixed,prob_true_fixed, label='isotonic calibration')\n", "\n", "prob_true_fixed, prob_pred_fixed = calibration_curve(y2, cal_curve(z2), n_bins=10)\n", "plt.plot(prob_pred_fixed, prob_true_fixed, label='calibrated')\n", "\n", "plt.plot(np.arange(0,1,0.01), np.arange(0,1,0.01), 'k--', label='perfect calibration')\n", "plt.xlabel(\"Predicted probability\")\n", "plt.ylabel(\"Actual probability\")\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Evaluating by several metrics\n", "\n", "Lets now evaluate the dynamic vs static calibration via several metrics. Lets also add in another batch with yet another different distribution. " ] }, { "cell_type": "code", "execution_count": 151, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Warning: Desired error not necessarily achieved due to precision loss.\n", " Current function value: -0.511443\n", " Iterations: 10\n", " Function evaluations: 63\n", " Gradient evaluations: 291\n", " Hessian evaluations: 0\n", "Error in optimization!\n", " fun: -0.5114426217214136\n", " jac: array([-1.42561160e-03, -1.31123391e-06, -1.62292503e-07, -1.44979503e-05,\n", " 1.04003618e-05, -6.05588442e-06, -9.86312143e-06, 1.30972868e-05,\n", " 5.07993480e-05, -5.39990235e-05, -1.98425522e-05])\n", " message: 'Warning: Desired error not necessarily achieved due to precision loss.'\n", " nfev: 63\n", " nhev: 0\n", " nit: 10\n", " njev: 291\n", " status: 2\n", " success: False\n", " x: array([ 0.0446493 , 0.26776694, 0.15681578, 1.20379473, -0.33896584,\n", " 0.9928081 , 1.37556949, 2.19367195, 2.82503454, 2.67849089,\n", " 3.08612513])\n", "\n", "Uncalibrated:0.9898019131300531\n", "Pre-calibrated: 0.9894771278627432\n", "Calibrated: 0.9864628575329805\n", "\n", "\n", "Uncalibrated:0.06636789230579895\n", "Pre-calibrated: 0.009016648844474862\n", "Calibrated: 0.00839052093329982\n", "\n", "\n", "Uncalibrated:0.8408758475623183\n", "Pre-calibrated: 0.8315955422833476\n", "Calibrated: 0.8518572064769042\n", "\n", "\n", "Uncalibrated:(0.2105670952851962, 15292)\n", "Pre-calibrated: (0.026096274315858887, 2447)\n", "Calibrated: (0.02422518958127267, 2421)\n", "\n" ] } ], "source": [ "from sklearn.metrics import roc_auc_score, brier_score_loss, average_precision_score, f1_score\n", "from sklearn.isotonic import IsotonicRegression\n", "\n", "dst3 = MixtureDistribution( [48000/50000.0, 1500/50000.0, 500/50000], [neg_dist, beta(4.5,0.95), beta(14,5)])\n", "z3, y3 = dst3.rvs(50550)\n", "y3 = np.minimum(y3, 1)\n", "alpha3, plk3 = fit_and_calibrate(zz, z3, neg_dist.pdf, base_pos_dist=bpd)\n", "cal_curve3 = fixed_calibration_curve(neg_dist.pdf, plk3, alpha3)\n", "\n", "\n", "y_full = np.concatenate([y2, y3])\n", "z_dynamic_cal = np.concatenate([cal_curve(z2), cal_curve3(z3)])\n", "z_isotonic = base_calibrator.predict(np.concatenate([z2, z3]))\n", "\n", "def bayes_cost(y_true, y_pred, threshold=0.40):\n", " assert (len(y_true) == len(y_pred))\n", " fp_cost=1.0/(1-threshold)\n", " fn_cost=1.0/threshold\n", " total_cost = fp_cost*(1-y_true[np.where(y_pred > threshold)]).sum() + fn_cost*(y_true[np.where(y_pred <= threshold)]).sum()\n", " N_affected = len(y_true[np.where(y_pred > threshold)])# + len(y_true[np.where(y_pred <= threshold)])\n", " return (total_cost / len(y_true)), N_affected\n", "\n", "for scorer in [roc_auc_score, brier_score_loss, average_precision_score, bayes_cost]:\n", " print(str(scorer))\n", " print(\"Uncalibrated:\" + str(scorer(y_full, np.concatenate([z2, z3]))))\n", " print(\"Pre-calibrated: \" + str(scorer(y_full, z_isotonic)))\n", " print(\"Calibrated: \" + str(scorer(y_full, z_dynamic_cal)))\n", " print()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since the Bayes cost is the thing we are most interested in, lets evaluate the Bayes cost of different calibrations at a variety of different thresholds." ] }, { "cell_type": "code", "execution_count": 159, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\stucc\\AppData\\Local\\conda\\conda\\envs\\ibapi\\lib\\site-packages\\ipykernel_launcher.py:18: RuntimeWarning: divide by zero encountered in double_scalars\n", "C:\\Users\\stucc\\AppData\\Local\\conda\\conda\\envs\\ibapi\\lib\\site-packages\\ipykernel_launcher.py:19: RuntimeWarning: invalid value encountered in double_scalars\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAvQAAAHgCAYAAADKc/kGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdeVzVVf7H8ddhE0RDwdwXFJdyRUUgyw1brLS0NPPXvjk1U001WTY1Tcu0ass0LVPTYjaVWzpZGU7lVmqJ5paaAi5JLikoKMh+fn9cYBAuq1yu3Pt+Ph48Lvd7zv1+PyrTfDx+zucYay0iIiIiItIw+bg7ABERERERqT0l9CIiIiIiDZgSehERERGRBkwJvYiIiIhIA6aEXkRERESkAVNCLyIiIiLSgPm5O4C64uPjY4OCgtwdhoiIiIh4uKysLGutPW0Wxj0moQ8KCiIzM9PdYYiIiIiIhzPGnHB3DKWdNn+zEBERERGRmlNCLyIiIiLSgCmhFxERERFpwDymht6ZvLw8UlJSyM7OdncoUkOBgYG0b98ef39/d4ciIiIiclrz6IQ+JSWFpk2bEh4ejjHG3eFINVlrSU1NJSUlhc6dO7s7HBEREZHTmkeX3GRnZxMWFqZkvoExxhAWFqZ/WRERERGpBo9O6AEl8w2U/txEREREqsfjE3p3O3DgAFdffTURERH07NmTSy65hB07dtT4Pk8//XSFY9Za4uLiyMjIKDf22GOPMX369Bo/ry48+uijfP311xWOb968mRtvvLH+AhIRERHxQEroXchay7hx4xg+fDjJycls3bqVp59+moMHD9b4XpUl9IsWLaJfv36cccYZpxJunXviiSc4//zzKxzv06cPKSkp/PLLL/UYlYiIiIhnUULvQkuXLsXf35/bb7+95FpkZCRDhgzBWsuUKVPo3bs3ffr0Yfbs2QDs37+foUOHEhkZSe/evfn222+ZOnUqJ06cIDIykmuuuabccz788EMuv/zykvdPPfUUPXr04Pzzz2f79u0AJCcnM2DAgJI5iYmJDBw4EIDw8HD++te/MmDAAPr06cPPP/8MwJo1axg8eDD9+/dn8ODBJfeaMWMGY8eOZcyYMXTu3JlXX32VF198kf79+xMbG0taWhoAN954I/PmzQMgISGBwYMH069fP6Kjozl27BgAY8aMYdasWXXzGy4iIiLihTy6y01p99wDGzbU7T0jI+Hllyse/+mnn0qS5rLmz5/Phg0b2LhxI4cPH2bQoEEMHTqUjz76iIsuuoiHH36YgoICsrKyGDJkCK+++iobKvgFrFy5kjfffBOAdevWMWvWLNavX09+fj4DBgxg4MCBREREEBISwoYNG4iMjOS99947qdylRYsW/Pjjj7z++utMnz6dt99+m7POOosVK1bg5+fH119/zZ///Gc++eSTkl/b+vXryc7OpmvXrjz33HOsX7+ee++9l5kzZ3LPPfeU3Ds3N5eJEycye/ZsBg0aREZGBkFBQQBERUXx7LPP8sADD9Tkt15EREREinhNQn+6+e6775g0aRK+vr60atWKYcOGkZCQwKBBg7j55pvJy8tj7NixREZGVnmvtLQ0mjZtCsC3337LuHHjaNy4MQCXXXZZybxbb72V9957jxdffJHZs2ezZs2akrErrrgCgIEDBzJ//nwA0tPTueGGG0hMTMQYQ15eXsn8ESNG0LRpU5o2bUpISAhjxowBHGU0mzZtOim+7du306ZNGwYNGgRwUmlQy5Yt2bdvX/V/40RERETkJF6T0Fe2ku4qvXr1Kik5Kcta6/T60KFDWbFiBV988QXXXXcdU6ZM4frrr6/0OX5+fhQWFuLj46igqqhDzJVXXsnjjz9OXFwcAwcOJCwsrGSsUaNGAPj6+pKfnw/AX/7yF0aMGMGCBQvYvXs3w4cPLzcfwMfHp+S9j49PyedL/1oriik7O7tktV5EREREak419C4UFxdHTk4O//rXv0quJSQksHz5coYOHcrs2bMpKCjg0KFDrFixgujoaPbs2UPLli257bbbuOWWW/jxxx8B8Pf3P2mFvLQePXqwc+dOwPEXggULFnDixAmOHTvGZ599VjIvMDCQiy66iDvuuIObbrqpyvjT09Np164d4Kibr62zzjqLffv2kZCQAMCxY8dKkv4dO3bQu3fvWt9bRERExNspoXchYwwLFizgq6++IiIigl69evHYY4/Rtm1bxo0bR9++fenXrx9xcXE8//zztG7dmmXLlhEZGUn//v355JNP+OMf/wjA5MmT6du3r9NNsZdeeinLli0DYMCAAUycOJHIyEiuvPJKhgwZctLca665BmMMF154YZXxP/DAAzz00EOce+65FBQU1Pr3ISAggNmzZ3PXXXfR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FBYW8thjj7Ft2zaaNGlCYmIi8fHxNGnShNjYWD777DMSExP58MMPGTduHOHh4TV+JlX14/e//z0LFy4s/xzy8/P597//TWRkJKmpqdx0000kJyfz/vvvk5aWxldffcXx48fp2bMnt956K0VFRcybN4+///3vtGrViqSkJB566CEWL15c43FQSimlVPCqN4HeF7744guuv/56ohyT+rqWi9x2220sWbKEZ599lqSkJLZs2VK+bsqUKQAkJCTw/vvvA3aUeObMmaSmpiIiFBUVlbdPTEwkOjqa6OhomjRpwqRJkwDo06cPO3furNCn/fv3065dOwYMGADYwF3Z6tWrmT17dnm/mzdvDtgvDg8//DCnTp3izJkzjBs37oKfwU033VR+e++995Y/P336dEIdl4ir6b1VZ+PGjeWfzU9/+lMeeOCB8nXXXXcdISEh9OrVi++++67K1z///POsWLECgPT0dFJTUzl27BijRo2iVatWAMyYMYMDBw6U309KSiIxMZF33nmHOXPmXPAzcacfRUVFzJ07l5SUFEJDQ8v3t27dOqZPn05ISAht27YlMTERsMdv165djB07FoCSkhLatWt3wc9LKaWUUsGr3gT6mkbSPam62UamTp3Kb37zG66++moSEhJo0aJF+boGDRoAEBoaSnFxMQCPPPIIiYmJrFixgrS0NEaNGnVee4CQkJDyxyEhIeWvL2OMueAMKNW1mTVrFitXriQ2NpalS5eydu3aGrcDFd+/6/1LXK5RXtN7c5frtl0/j6qmZV27di2rV69m48aNREVFMWrUqPKLj1X32UyePJkHH3yQnJwctm3bxtVXXw3U/JlcqB8AixYtok2bNuzYsYPS0lIiHfOEVdfeGEPv3r3ZuHFjleuVUkopVf9oDb0HjRgxghUrVlBQUEBeXh4ffvhh+brIyEjGjRvHnXfeyezZsy+4rdzcXDp06ABULD2prR49epCZmcnWrVsByMvLOy/0X3PNNSxevLi8Hrys5CYvL4927dpRVFTEW2+95db+kpKSym+HDKl6NoTq3lt0dHSV9f0AQ4cO5Z133gHgrbfeYvjw4W71p2x/zZo1Iyoqin379rFp0yYABg0axNq1a8nOzqaoqIhly5aVv6ZRo0YMHDiQu+++m4kTJ5b/ulDbz6Tye8rNzaVdu3aEhITw5ptvUuKYGHn48OG89957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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "thresholds = np.arange(0,1,0.05)\n", "n_affected_fixed = np.zeros(shape=thresholds.shape)\n", "bayes_cost_fixed = np.zeros(shape=thresholds.shape)\n", "\n", "n_affected_pre = np.zeros(shape=thresholds.shape)\n", "bayes_cost_pre = np.zeros(shape=thresholds.shape)\n", "\n", "for idx, t in enumerate(thresholds):\n", " cost, n = bayes_cost(y_full, z_dynamic_cal, threshold=t)\n", " n_affected_fixed[idx] = n\n", " bayes_cost_fixed[idx] = cost\n", "\n", " cost, n = bayes_cost(y_full, z_isotonic, threshold=t)\n", " n_affected_pre[idx] = n\n", " bayes_cost_pre[idx] = cost \n", " \n", "fig, ax1 = plt.subplots()\n", "ax1.plot(thresholds, bayes_cost_fixed, color='blue', label='Cost (dynamic)')\n", "ax1.plot(thresholds, bayes_cost_pre, color='orange', label='Cost (static)')\n", "ax1.set_ylabel(\"Cost\")\n", "ax1.set_xlabel(\"Threshold\")\n", "ax1.legend(loc='upper left')\n", "\n", "ax2 = ax1.twinx()\n", "ax2.plot(thresholds, bayes_cost_fixed / bayes_cost_pre, color='green', label='dynamic calibration advantage')\n", "ax2.plot(thresholds, np.ones(shape=thresholds.shape), '--', color='green')\n", "#ax2.semilogy(thresholds, n_affected_fixed / len(z_fixed), '--', color='blue', label='% affected (dynamic)')\n", "#ax2.semilogy(thresholds, n_affected_pre / len(z_fixed), '--', color='orange', label='% affected (static)')\n", "#ax2.set_ylabel(\"% of users\")\n", "ax2.legend(loc='lower left')\n", "plt.legend()\n", "plt.show()\n", " \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As can be seen from the graph, there is always an advantage to dynamic calibration. The advantage is basically proportional to how many cases fall in the region where the calibration curves differ significantly." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Comparison to fits of $\\alpha$ only\n", "\n", "The existing versions in the literature tend to assume $\\alpha$ varies, but do not allow variation in $f_1(z)$.\n", "\n", "I will now do a comparison to that method." ] }, { "cell_type": "code", "execution_count": 165, "metadata": {}, "outputs": [], "source": [ "\n", "def fit_and_calibrate_only_alpha(zz, z, neg_dist, base_pos_dist, tol=1e-5, maxiter=15000, reg=1e-8):\n", " def objective(q):\n", " alpha = q[0]\n", " result = -1*np.log((1-alpha)*neg_dist(z) + alpha*base_pos_dist(z)).sum() / len(z)\n", " return result\n", "\n", " def deriv(q):\n", " alpha = __param_to_alpha(q[0])\n", " denom = ((1-alpha)*neg_dist(z)+alpha*base_pos_dist(z))\n", " grad_alpha = -1*((base_pos_dist(z) - neg_dist(z)) / denom).sum() / len(z)\n", " \n", " result = np.array([grad_alpha])\n", " return result\n", " \n", " \n", " x0 = np.ones(shape=(1,))\n", " x0[0] = 0.05\n", " result = minimize(objective, x0=x0, jac=deriv, method='newton-cg', tol=1e-7, options={'maxiter': 10000, 'disp': True})\n", " if result.success:\n", " print(result)\n", " return __param_to_alpha(result.x[0])\n", " else:\n", " print(\"Error in optimization!\")\n", " print(result)\n", " return __param_to_alpha(result.x[0])\n", " \n" ] }, { "cell_type": "code", "execution_count": 194, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\stucc\\AppData\\Local\\conda\\conda\\envs\\ibapi\\lib\\site-packages\\ipykernel_launcher.py:4: RuntimeWarning: invalid value encountered in log\n", " after removing the cwd from sys.path.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: -0.560975\n", " Iterations: 5\n", " Function evaluations: 9\n", " Gradient evaluations: 23\n", " Hessian evaluations: 0\n", " fun: -0.5609750851539254\n", " jac: array([-1.44673496e-09])\n", " message: 'Optimization terminated successfully.'\n", " nfev: 9\n", " nhev: 0\n", " nit: 5\n", " njev: 23\n", " status: 0\n", " success: True\n", " x: array([0.02131995])\n", "Warning: Desired error not necessarily achieved due to precision loss.\n", " Current function value: -0.561899\n", " Iterations: 17\n", " Function evaluations: 85\n", " Gradient evaluations: 544\n", " Hessian evaluations: 0\n", "Error in optimization!\n", " fun: -0.5618994954650539\n", " jac: array([-1.99248876e-04, 1.41607991e-07, -2.09963380e-06, -8.57378675e-06,\n", " 5.24966439e-06, -2.37031255e-06, 1.14951124e-05, -2.56072791e-06,\n", " 6.04877997e-06, -1.26851658e-05, -2.49383877e-06])\n", " message: 'Warning: Desired error not necessarily achieved due to precision loss.'\n", " nfev: 85\n", " nhev: 0\n", " nit: 17\n", " njev: 544\n", " status: 2\n", " success: False\n", " x: array([ 0.0248813 , 0.02813824, 0.62382297, 1.19343067, -0.36893472,\n", " 1.09596964, 0.4428483 , 2.59209153, 3.01039141, 2.79036982,\n", " 2.57019753])\n", "Measured alpha: 0.02488129987867693\n", "True alpha: 0.0234375\n" ] }, { "data": { "text/plain": [ "(0.02488129987867693, 0.0213199539710047, 0.022890625)" ] }, "execution_count": 194, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from scipy.stats import beta\n", "from scipy.optimize import minimize\n", "\n", "neg_dist = beta(1,4)\n", "pos_dist = beta(3,0.8)\n", "\n", "N_neg = 50000\n", "N_pos = 600\n", "N_pos2 = 600\n", "\n", "dst = MixtureDistribution( [50000/51200.0, 600/51200.0, 600/51200.0], [neg_dist, beta(3.5,0.9), beta(14,4)])\n", "\n", "z, y = dst.rvs(51200)\n", "y = np.minimum(y, 1) # the labels 1 and 2 both correspond to positive\n", "\n", "dz = 0.1\n", "zz = np.arange(0, 1+dz, dz)\n", "\n", "def __param_to_alpha(a, alpha_max=0.1):\n", " return np.maximum(np.minimum(a,1), 0)\n", "\n", "prior_reg = 1e-3\n", "prior_pow = 2\n", "\n", "alpha_only = fit_and_calibrate_only_alpha(zz, z, neg_dist.pdf, bpd)\n", "\n", "alpha, plk = fit_and_calibrate(zz, z, neg_dist.pdf, base_pos_dist=bpd)\n", "\n", "true_alpha = dst.coeff[1:].sum()\n", "\n", "# plt.hist(z2_neg_z, bins=20, alpha=0.25, color='blue', density=True)\n", "# plt.hist(z2_pos_z, bins=20, alpha=0.25, color='orange', density=True)\n", "# plt.plot(zz, plk(zz), color='orange', label='$f_1(z; \\vec{q})$')\n", "# zzz = np.arange(0,1,0.01)\n", "# plt.plot(zzz, (N_pos*N_pos_dist1.pdf(zzz)+ N_pos2*N_pos_dist2.pdf(zzz)) / (N_pos+N_pos2), 'r-', color='red', label='true distribution')\n", "# plt.plot(zz, bpd(zz), '--', color='orange', label='$f_1(z)$')\n", "# plt.plot(zz, neg_dist.pdf(zz), '--', color='blue', label='$f_0(z)$')\n", "# plt.legend()\n", "# plt.xlabel('z')\n", "# plt.ylabel('density')\n", "# plt.show()\n", "print(\"Measured alpha: \" + str(alpha))\n", "print(\"True alpha: \" + str(len(z2_pos_z)/len(z)))\n", "\n", "\n", "(alpha, alpha_only, y.mean())" ] }, { "cell_type": "code", "execution_count": 195, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from sklearn.calibration import calibration_curve\n", "\n", "z, y = dst.rvs(51200)\n", "y = np.minimum(y, 1) \n", "\n", "def fixed_calibration_curve(neg_dist, pos_dist, alpha):\n", " z_grid = np.arange(0,1,0.01)\n", " calibrated = alpha*pos_dist(z_grid)/((1-alpha)*neg_dist(z_grid)+alpha*pos_dist(z_grid))\n", " calibrated_cum_max = np.maximum.accumulate(calibrated)\n", "\n", " def _result(z):\n", " #return alpha*pos_dist(z)/((1-alpha)*neg_dist(z)+alpha*pos_dist(z))\n", " return np.interp(z, z_grid, calibrated_cum_max)\n", " return _result\n", "\n", "cc = fixed_calibration_curve(neg_dist.pdf, plk, alpha)\n", "\n", "cc2 = fixed_calibration_curve(neg_dist.pdf, bpd, alpha_only)\n", "\n", "prob_true_first, prob_pred_first = calibration_curve(y, z, n_bins=10)\n", "\n", "plt.plot(prob_pred_first, prob_true_first, label='uncalibrated')\n", "\n", "prob_true_isotonic, prob_pred_isotonic = calibration_curve(y[::2], cc2(z[::2]), n_bins=10)\n", "plt.plot(prob_pred_isotonic, prob_true_isotonic, label='$\\\\alpha$ -only')\n", "\n", "prob_true_fixed, prob_pred_fixed = calibration_curve(y, cc(z), n_bins=10)\n", "plt.plot(prob_pred_fixed, prob_true_fixed, label='$(\\\\alpha, \\\\vec{q})$')\n", "plt.plot(np.arange(0,1,0.01), np.arange(0,1,0.01), 'k--', label='perfect calibration')\n", "\n", "\n", "plt.xlabel(\"Predicted probability\")\n", "plt.ylabel(\"Actual probability\")\n", "plt.legend()\n", "plt.show()\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python [conda env:conda-ibapi] *", "language": "python", "name": "conda-env-conda-ibapi-py" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.4" } }, "nbformat": 4, "nbformat_minor": 4 }