{ "cells": [ { "cell_type": "markdown", "id": "665cadf4", "metadata": {}, "source": [ "# Optimization with TOPFARM\n", "\n", "This section describes two optimization examples: a layout optimization with AEP and power production optimization with a de-ratable wind turbine." ] }, { "cell_type": "markdown", "id": "9bb580db", "metadata": {}, "source": [ "**Install PyWake if needed**" ] }, { "cell_type": "code", "execution_count": 1, "id": "d977451d", "metadata": {}, "outputs": [], "source": [ "# Install PyWake if needed\n", "try:\n", " import py_wake\n", "except ModuleNotFoundError:\n", " !pip install git+https://gitlab.windenergy.dtu.dk/TOPFARM/PyWake.git" ] }, { "cell_type": "markdown", "id": "6356d30e", "metadata": {}, "source": [ "In the following sections the examples are optimized using [TOPFARM](https://topfarm.pages.windenergy.dtu.dk/TopFarm2/), an open source Python package developed by DTU Wind Energy to help with wind-farm optimizations. It has a lot of nice built-in features and wrappers." ] }, { "cell_type": "markdown", "id": "931b849e", "metadata": {}, "source": [ "**Install TOPFARM if needed**" ] }, { "cell_type": "code", "execution_count": 2, "id": "3becb8e9", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Anaconda3_2019_10\\envs\\py39\\lib\\site-packages\\openmdao\\utils\\general_utils.py:128: OMDeprecationWarning:simple_warning is deprecated. Use openmdao.utils.om_warnings.issue_warning instead.\n", "C:\\Anaconda3_2019_10\\envs\\py39\\lib\\site-packages\\openmdao\\utils\\notebook_utils.py:157: UserWarning:Tabulate is not installed. Run `pip install openmdao[notebooks]` to install required dependencies. Using ASCII for outputs.\n", "C:\\Anaconda3_2019_10\\envs\\py39\\lib\\site-packages\\pyoptsparse\\pyOpt_MPI.py:68: UserWarning: mpi4py could not be imported. mpi4py is required to use the parallel gradient analysis and parallel objective analysis for non-gradient based optimizers. Continuing using a dummy MPI module from pyOptSparse.\n", " warnings.warn(warn)\n" ] } ], "source": [ "# Install TopFarm if needed\n", "try:\n", " import topfarm\n", "except ImportError:\n", " !pip install topfarm --user" ] }, { "cell_type": "markdown", "id": "77dd7188", "metadata": {}, "source": [ "### Example 1 - Optimize AEP wrt. wind turbine position (x,y)\n", "\n", "In this example we optimize the AEP of the IEAWind Task 37 Case Study 1.\n", "\n", "As TOPFARM already contains a cost model component, `PyWakeAEPCostModelComponent`, for this kind of problem, setting up the problem is really simple." ] }, { "cell_type": "code", "execution_count": 3, "id": "f887151a", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import multiprocessing\n", "\n", "#setting up pywake models\n", "from py_wake.deficit_models.gaussian import IEA37SimpleBastankhahGaussian\n", "from py_wake.literature.gaussian_models import Bastankhah_PorteAgel_2014\n", "from py_wake.examples.data.iea37._iea37 import IEA37Site, IEA37WindTurbines\n", "from py_wake.examples.data.hornsrev1 import Hornsrev1Site, V80\n", "from py_wake.utils.gradients import autograd, fd, cs\n", "from py_wake.utils.plotting import setup_plot\n", "\n", "#setting up topfarm models\n", "from topfarm._topfarm import TopFarmProblem\n", "from topfarm.cost_models.py_wake_wrapper import PyWakeAEPCostModelComponent\n", "from topfarm.constraint_components.boundary import CircleBoundaryConstraint, XYBoundaryConstraint\n", "from topfarm.constraint_components.spacing import SpacingConstraint\n", "from topfarm.easy_drivers import EasyScipyOptimizeDriver\n", "\n", "#wind farm model for the IEA 37 site\n", "def IEA37_wfm(n_wt, n_wd):\n", " site = IEA37Site(n_wt)\n", " site.default_wd = np.linspace(0,360,n_wd, endpoint=False)\n", " wt = IEA37WindTurbines()\n", " return IEA37SimpleBastankhahGaussian(site, wt)\n", "\n", "#wind farm model for the Hornsrev1 site\n", "Hornsrev1_wfm = Bastankhah_PorteAgel_2014(Hornsrev1Site(), V80())\n", "\n", "#function to create a topfarm problem, following the elements of OpenMDAO architecture\n", "def get_topfarmProblem_xy(wfm, grad_method, maxiter, n_cpu):\n", " x, y = wfm.site.initial_position.T\n", " boundary_constr = [XYBoundaryConstraint(np.array([x, y]).T),\n", " CircleBoundaryConstraint(center=[0, 0], radius=np.round(np.hypot(x, y).max()))][int(isinstance(wfm.site, IEA37Site))]\n", " \n", " return TopFarmProblem(design_vars={'x': x, 'y': y},\n", " cost_comp=PyWakeAEPCostModelComponent(windFarmModel=wfm, n_wt=len(x),\n", " grad_method=grad_method, n_cpu=n_cpu,\n", " wd=wfm.site.default_wd, ws=wfm.site.default_ws),\n", " driver=EasyScipyOptimizeDriver(maxiter=maxiter),\n", " constraints=[boundary_constr,\n", " SpacingConstraint(min_spacing=2 * wfm.windTurbines.diameter())])" ] }, { "cell_type": "code", "execution_count": 4, "id": "996520c2", "metadata": {}, "outputs": [], "source": [ "#we create a function to optimize the problem and plot the results in terms of AEP and simulation time\n", "def optimize_and_plot(wfm, maxiter, skip_fd=False):\n", " for method, n_cpu in [(fd,1), (autograd,1), (autograd, multiprocessing.cpu_count())][int(skip_fd):]:\n", " tf = get_topfarmProblem_xy(wfm,method,maxiter,n_cpu)\n", " cost, state, recorder = tf.optimize(disp=True)\n", " t,aep = [recorder[v] for v in ['timestamp','AEP']]\n", " plt.plot(t-t[0],aep, label=f'{method.__name__}, {n_cpu}CPU(s)')\n", " n_wt, n_wd, n_ws = len(wfm.site.initial_position), len(wfm.site.default_wd), len(wfm.site.default_ws)\n", " \n", " setup_plot(ylabel='AEP [GWh]', xlabel='Time [s]',title = f'{n_wt} wind turbines, {n_wd} wind directions, {n_ws} wind speeds')\n", " plt.ticklabel_format(useOffset=False)" ] }, { "cell_type": "markdown", "id": "7f9aea18", "metadata": {}, "source": [ " optimize_and_plot(IEA37_wfm(16, n_wd=16), maxiter=3)" ] }, { "cell_type": "markdown", "id": "364292cc", "metadata": {}, "source": [ "**Pre-computed result of the AEP during 100 iterations of optimization of the IEA task 37 case study 1 (16 wind turbines, 12 wind directions and one wind speed) plotted as a function of time.**\n", "\n", "Autograd is seen to be faster than finite difference and for this relatively small problem, 1 CPU is faster than 32CPUs. " ] }, { "cell_type": "markdown", "id": "b1eca1a3", "metadata": {}, "source": [ "![image3.png](images/Optimization_aep_iea37.png)" ] }, { "cell_type": "markdown", "id": "5a2283ba", "metadata": {}, "source": [ " optimize_and_plot(Hornsrev1_wfm, 100, skip_fd=True)" ] }, { "cell_type": "markdown", "id": "d7b22a19", "metadata": {}, "source": [ "**Precomputed result of the AEP during 100 iterations of optimization of the Hornsrev 1 wind farm (80 wind turbines, 360 wind directions and 23 wind speed) plotted as a function of time.**\n", "\n", "In this case the optimization with 32 CPUs is around 6 times faster than the optimization with 1 CPU. \n", "![image4.png](images/Optimization_aep_hornsrev1.png)" ] }, { "cell_type": "markdown", "id": "2e11e0ed", "metadata": {}, "source": [ "### Example 2 - Optimize WS, TI, Power and custom functions\n", "\n", "To optimize some output, `y`, with respect to some input, `x`, you simply need to setup a function, `y = f(x)`.\n", "\n", "In the examle below, we will use a wind turbine that can be de-rated." ] }, { "cell_type": "markdown", "id": "356c79dc", "metadata": {}, "source": [ "#### De-ratable wind turbine\n", "\n", "The relation between power and CT of the de-ratable wind turbine is obtained from 1D momentum theory." ] }, { "cell_type": "code", "execution_count": 5, "id": "70e7c54a", "metadata": {}, "outputs": [], "source": [ "import autograd.numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "from py_wake.wind_turbines._wind_turbines import WindTurbine\n", "from py_wake.wind_turbines.power_ct_functions import PowerCtFunction\n", "from py_wake.utils.model_utils import fix_shape\n", "\n", "def power_ct(ws, derating, run_only):\n", " derating = fix_shape(derating, ws)\n", " cp = 16 / 27 * (1 - derating)\n", " power = np.maximum(0, 1 / 2 * 1.225 * 50**2 * np.pi * cp * ws ** 3)\n", "\n", " # solve cp = 4 * a * (1 - a)**2 for a\n", " y = 27.0 / 16.0 * cp\n", " a = 2.0 / 3.0 * (1 - np.cos(np.arctan2(2 * np.sqrt(y * (1.0 - y)), 1 - 2 * y) / 3.0))\n", " ct = 4 * a * (1 - a)\n", " return [power, ct][run_only]\n", "\n", "powerCtFunction = PowerCtFunction(input_keys=['ws', 'derating'], power_ct_func=power_ct, power_unit='w')\n", "wt = WindTurbine(name=\"MyWT\", diameter=100, hub_height=100, powerCtFunction=powerCtFunction)" ] }, { "cell_type": "markdown", "id": "653410bb", "metadata": {}, "source": [ "The power and CT curves as a function wind speed is plotted below for 0, 5 and 10% derating." ] }, { "cell_type": "code", "execution_count": 6, "id": "9d1e90f4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.0, 1.0)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ax1 = plt.gca()\n", "ax2 = plt.twinx(ax1)\n", "ws = np.linspace(3, 20)\n", "for derating in [0, .05, .1]:\n", " ct = wt.ct(ws, derating=derating)\n", " ax1.plot(ws, wt.power(ws, derating=derating) / 1e6, label='%d%% derating, ct=%.2f' % (derating * 100, ct[0]))\n", " ax2.plot(ws, ct,'--')\n", "\n", "ax1.legend(loc='lower right')\n", "ax1.set_xlabel('Wind speed [m/s]')\n", "ax1.set_ylabel('Power [MW]')\n", "ax2.set_ylabel('Ct')\n", "ax2.set_ylim([0, 1])" ] }, { "cell_type": "markdown", "id": "4efc7a71", "metadata": {}, "source": [ "#### Maximize mean power by optimizing de-rating factor and hub height\n", "\n", "In this example we will maximize the mean power by optimizing the individual wind turbine hub height and derating factors.\n", "\n", "First we setup the `WindFarmModel` and the function to maximize, `mean_power`, which takes the hub height and derating factors as input:" ] }, { "cell_type": "code", "execution_count": 11, "id": "2e077818", "metadata": {}, "outputs": [], "source": [ "from py_wake.deficit_models.gaussian import IEA37SimpleBastankhahGaussian\n", "from py_wake.site import UniformSite\n", "from py_wake.utils.gradients import autograd\n", "\n", "from topfarm._topfarm import TopFarmProblem\n", "from topfarm.cost_models.cost_model_wrappers import CostModelComponent\n", "from topfarm.easy_drivers import EasyScipyOptimizeDriver\n", "\n", "n_wt = 5\n", "wfm = IEA37SimpleBastankhahGaussian(site=UniformSite(p_wd=[1],ti=.1), windTurbines=wt)\n", "wt_x = np.arange(n_wt) * 4 * wt.diameter()\n", "wt_y = np.zeros_like(wt_x)\n", "\n", "def mean_power(zhub, derating):\n", " power_ilk = wfm(x=wt_x, y=wt_y, h=zhub, wd=[270], ws=[10], derating=derating, return_simulationResult=False)[2] \n", " return np.mean(power_ilk)" ] }, { "cell_type": "markdown", "id": "a0bb6b9b", "metadata": {}, "source": [ "Setup the gradient function with respect to both arguments. \n", "\n", "Again the PyWake autograd method will, under the hood, calculate the gradients with respect to both inputs in one go." ] }, { "cell_type": "code", "execution_count": 12, "id": "2dfa10ec", "metadata": {}, "outputs": [], "source": [ "dmean_power_dzhub_derating = autograd(mean_power,argnum=[0,1])" ] }, { "cell_type": "markdown", "id": "5ae2f226", "metadata": {}, "source": [ "Initialize zhub and derating. The values are choosen to avoid zero gradients (e.g. if all wt has same hub height)" ] }, { "cell_type": "code", "execution_count": 13, "id": "a16e778a", "metadata": {}, "outputs": [], "source": [ "zhub = np.arange(n_wt)+100 # 100,101,102,...\n", "derating=[0.1]*n_wt" ] }, { "cell_type": "code", "execution_count": 14, "id": "787b22f3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mean power: 1.429855 MW\n", "Gradients: [array([-132.37798792, -20.72030943, 9.44975613, 41.70595145,\n", " 101.94258977]), array([ 5539.55413631, 170225.9858809 , 132322.76792935,\n", " 39204.83341772, -234801.3362418 ])]\n" ] } ], "source": [ "print ('Mean power: %f MW'%(mean_power(zhub,derating)/1e6))\n", "print ('Gradients:',dmean_power_dzhub_derating(zhub,derating))" ] }, { "cell_type": "markdown", "id": "b3ecdfb4", "metadata": {}, "source": [ "Next step is to setup the `CostModelComponent` and `TopFarmProblem`" ] }, { "cell_type": "code", "execution_count": 15, "id": "9635b8b2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "INFO: checking out_of_order\n", "INFO: checking system\n", "INFO: checking solvers\n", "INFO: checking dup_inputs\n", "INFO: checking missing_recorders\n", "INFO: checking unserializable_options\n", "INFO: checking comp_has_no_outputs\n", "INFO: checking auto_ivc_warnings\n" ] } ], "source": [ "cost_comp=CostModelComponent(input_keys=['zhub', 'derating'],\n", " n_wt=n_wt,\n", " cost_function=mean_power,\n", " cost_gradient_function=dmean_power_dzhub_derating,\n", " maximize=True # because we want to maximize the mean power\n", " )\n", "\n", "tf = TopFarmProblem(design_vars={\n", " # (initial_values, lower limit, upper limit)\n", " 'zhub': ([100]*n_wt, 80, 130),\n", " 'derating': ([0] * n_wt, 0, .9)}, \n", " n_wt=n_wt,\n", " cost_comp=cost_comp,\n", " expected_cost=1000, # expected cost impacts the size of the moves performed by the optimizer\n", " )" ] }, { "cell_type": "markdown", "id": "6449e344", "metadata": {}, "source": [ "As seen above the gradient of the mean power wrt. hub height is zero when all wind turbines have the same height. This means that the optimizer \"thinks\" that the solution cannot be improved. We therefore need to initialize the optimization with slightly different hub heights.\n", "\n", "Furthermore, the derating must be above zero to avoid inequality constraint failure." ] }, { "cell_type": "code", "execution_count": 16, "id": "8bd93efd", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "INFO: checking out_of_order\n", "INFO: checking system\n", "INFO: checking solvers\n", "INFO: checking dup_inputs\n", "INFO: checking missing_recorders\n", "INFO: checking unserializable_options\n", "INFO: checking comp_has_no_outputs\n", "INFO: checking auto_ivc_warnings\n", "Optimization terminated successfully (Exit mode 0)\n", " Current function value: -1716.1873043790367\n", " Iterations: 38\n", " Function evaluations: 56\n", " Gradient evaluations: 36\n", "Optimization Complete\n", "-----------------------------------\n", "\n", "Optimized mean power -1.716187 MW\n", "Optimized state {'zhub': array([ 80., 130., 80., 80., 130.]), 'derating': array([0.08691683, 0.06260834, 0.19990203, 0.04530914, 0. ])}\n" ] } ], "source": [ "#perform the optimization\n", "cost, state, recorder = tf.optimize(state={'zhub':np.arange(n_wt)+100, # 100,101,102,...\n", " 'derating':[0.1]*n_wt # 10% initial derating\n", " })\n", "print ()\n", "print ('Optimized mean power %f MW'% (cost/1e6))\n", "print ('Optimized state', state)" ] }, { "cell_type": "markdown", "id": "ad3ac4af", "metadata": {}, "source": [ "**Plotting the results**" ] }, { "cell_type": "code", "execution_count": 17, "id": "0cebbbc9", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7kAAAFzCAYAAAD7S847AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAACQOUlEQVR4nO3dd3wTdeMH8E+StmkpbZldUKAgu4AIiC3KECgiIugjqCAbFAFZooKADBkKiCg+IPBjCggPKoqiLKUoCrIVC7KXpRVQaIHSkeR+f5SEXHJJ7jKa0c/79eoLeve9y+V6yd3nvuNUgiAIICIiIiIiIgoAam9vABEREREREZG7MOQSERERERFRwGDIJSIiIiIiooDBkEtEREREREQBgyGXiIiIiIiIAgZDLhEREREREQUMhlwiIiIiIiIKGAy5REREREREFDCCvL0B/shgMODy5cuIiIiASqXy9uYQEREREZVogiDg5s2biI+Ph1rtX/V4eXl5KCgocGrZkJAQhIaGunmL/B9DrhMuX76MhIQEb28GERERERGZuXTpEipXruztzZAtLy8P1RIT8XdWllPLx8bG4ty5cwy6FhhynRAREQGg6EMUGRnp5a0hIiIiIirZcnJykJCQYLpO9xcFBQX4OysLJ88qzxU5OTmoVT0BBQUFDLkWGHKdYGyiHBkZyZBLREREROQj/LUrIXOFezHkEhEREREReZFBEGAQBMXLkDT/6pVNREREREREZAdDLhEREREREQUMNlcmIiIiInKSIAjQ6XTQ6/Xe3pSAptFoEBQU5Ld9bql4MeQSERERETmhoKAAmZmZyM3N9famlAilSpVCXFwcQkJCvL0pbmcwCDAYFPbJVVi+JGHIJSIiIiJSyGAw4Ny5c9BoNIiPj0dISAhrGT1EEAQUFBTg6tWrOHfuHGrWrAm1mr0uyTaGXCIiIiIihQoKCmAwGJCQkIBSpUp5e3MCXlhYGIKDg3HhwgU+F5YcYsglIiIiInISaxSLTyDva70gQK/wkUBKy5ckgXukEBERERERUYnDkEtEREREREQBgyGXiIiIiIioBLh58yZGjhyJqlWrIiwsDCkpKdi/f7/dZfLz8zF+/HhUrVoVWq0WNWrUwLJly0RlPv/8c9SrVw9arRb16tXDxo0bPfk2HGLIJSIiIiLyops3byItLQ03b94sltfr27cvVCoVBg8ebDVvyJAhUKlU6Nu3r8P1/Pnnn1CpVPj1119F05s3bw6tVit6tFJBQQFKlSqFxYsXQ6VS2f2R89qBxmBw7kepgQMHYvv27fjkk09w9OhRpKamol27dsjIyLC5TPfu3fH9999j6dKlOHHiBD799FPUqVPHNH/Pnj149tln0atXL/z222/o1asXunfvbnVcFCeGXCIiIiIiL7p16xZ27dqFW7duFdtrJiQkYN26dbhz545pWl5eHj799FNUqVJF1jrq1KmDuLg47Ny50zTt1q1bOHz4MKKjo/HLL7+Ypv/666+4c+cO2rRpg8zMTNPPvHnzEBkZKZr2wQcfuO+NksmdO3fw+eefY9asWWjZsiXuu+8+TJ48GYmJiVi4cKHkMlu2bMGuXbvw7bffol27dqhWrRoefPBBpKSkmMrMmzcP7du3x7hx41CnTh2MGzcObdu2xbx584rpnVljyCUiIiIiKmEeeOABVKlSBV988YVp2hdffIGEhAQ0btwYALBq1SqUL18e+fn5omX/85//oHfv3gCA1q1bIy0tzTTvp59+Qq1atfDkk0+KpqelpaFSpUqoWbMmYmNjTT9RUVFQqVRW08j9dDod9Hq91eOXwsLCsHv3bsllNm3ahKZNm2LWrFmoVKkSatWqhTFjxohujuzZswepqami5Tp06CC6yVHcGHKJiIiIiLxIuPsoGKGYHwnTr18/LF++3PT7smXL0L9/f9Pv3bp1g16vx6ZNm0zTrl27hm+++Qb9+vUDALRp0wa7d++GTqcDAOzcuROtW7dGq1atRDW8O3fuRJs2bTz9lkqknJwc0Y/lTQmjiIgIJCcn4+2338bly5eh1+uxevVq/Prrr8jMzJRc5uzZs9i9ezf++OMPbNy4EfPmzcNnn32GoUOHmspkZWUhJiZGtFxMTAyysrLc9yYVYsglIiIiIvKS27dvY8uWLQCKmobevn272F67V69e2L17N86fP48LFy7g559/xgsvvGCaHxYWhh49eoiC8Jo1a1C5cmW0bt0aQFFN7u3bt02DF6WlpaFVq1Zo1aoVDhw4gNzcXBQUFGDv3r0MuXYY7j4nV8mP4e5NkYSEBERFRZl+Zs6cafN1PvnkEwiCgEqVKkGr1eLDDz9Ejx49oNFopLfLYIBKpcKaNWvw4IMP4vHHH8fcuXOxYsUKUW2uSqUSLScIgtW04hTktVcmIiIiIirB0tPTsXnzZqhUKtSvXx/nzp3Df//7X3Tq1An169f3+OtXqFABnTp1wsqVKyEIAjp16oQKFSqIygwaNAjNmjVDRkYGKlWqhOXLl5sGrgKAmjVronLlykhLS0P9+vVx+PBhtGrVCtHR0UhMTMTPP/8MrVaLO3fu4NFHH/X4eyqJLl26hMjISNPvWq3WZtkaNWpg165duH37NnJychAXF4dnn30WiYmJkuXj4uJQqVIlURPyunXrQhAE/PXXX6bm55a1tleuXLGq3S1ODLlERERERF5w5coVVKtWDZ06dUJ4eDhu376NzZs34+rVq8W2Df3798ewYcMAAP/973+t5jdu3BiNGjXCqlWr0KFDBxw9ehRff/21qEzr1q2xc+dONGzYEDVr1kR0dDQAmJosa7VaVK1aFdWqVfP4+ymJIiMjRSFXjvDwcISHh+P69evYunUrZs2aJVmuRYsW2LBhA27duoXSpUsDAE6ePAm1Wo3KlSsDAJKTk7F9+3aMGjXKtNy2bdtEg1MVN4ZcIiIiIiIvaN26tahJZ3h4OLp3716sfXMfe+wxFBQUACgaLEjKwIED8f777yMjIwPt2rVDQkKCaH6bNm0wfPhw1KtXz9SMGSgKuR999BG0Wi1rcR0wGAQYDMr+7krLA8DWrVshCAJq166N06dP47XXXkPt2rVNfazHjRuHjIwMrFq1CgDQo0cPvP322+jXrx+mTJmCa9eu4bXXXkP//v0RFhYGABgxYgRatmyJd999F126dMFXX32FHTt22BzMqjiwTy4RERERkRfY6rNYnH0ZNRoNjh8/juPHj9vsl9mzZ09kZGRgyZIlooGpjNq0aYPbt29j2bJlaNWqlWm6sV8u++P6juzsbAwdOhR16tRB79698fDDD2Pbtm0IDg4GAGRmZuLixYum8qVLl8b27dtx48YNNG3aFD179kTnzp3x4YcfmsqkpKRg3bp1WL58ORo2bIgVK1Zg/fr1aN68ebG/PyPW5BIRERERlWCOmrpGRkbiP//5DzZv3oyuXbtazU9MTETVqlVx4cIFUcitVKkSqlSpgjNnzjDk+oju3buje/fuNuevWLHCalqdOnWwfft2u+t95pln8Mwzz7i6eW7DkEtEREREVIJIBRlzX375pdW0zMxM9OzZ0+agRufPn5ecfvr0abuv1bdvX/Tt29duGSKlGHKJiIiIiEjSv//+i23btuGHH37ARx995O3NCVgGs0cCKVmGpDHkEhERERGRpAceeADXr1/Hu+++i9q1a3t7c4hkYcglIiIiIiJJtpohE/kyhlwiIiIiIiIv0huKfpQuQ9L4CCEiIiIiIicV5zNtSzrua5KLIZeIiIiISCHjc0Vzc3O9vCUlh3FfG/c9kS1srkxEREREpJBGo0GZMmVw5coVAECpUqWgUqm8vFWBSRAE5Obm4sqVKyhTpgw0Go23N4l8HEMuEREREZETYmNjAcAUdMmzypQpY9rngYaPEHIvhlwiIiIiIieoVCrExcUhOjoahYWF3t6cgBYcHMwaXJKNIZeIiIiIyAUajYYBjMiHcOApIiIiIiIiChisySUiIiIiIvIigyDAYGCfXHdhTS4REREREREFDIZcIiIiIiIiChhsrkxERERERORFekGAXmHzY6XlSxLW5BIREREREVHAYMglIiIiIiKigMGQS0RERERERAGDfXKJiIiIiIi8SDAABoPyZUgaa3KJiIiIiIgoYDDkEhERERERUcDw25A7c+ZMqFQqjBw50jRNEARMnjwZ8fHxCAsLQ+vWrZGeni5aLj8/H6+88goqVKiA8PBwPPnkk/jrr7+KeeuJiIiIiIiKGATBqR8ldDodJkyYgMTERISFhaF69eqYOnUqDA7aSa9ZswaNGjVCqVKlEBcXh379+uGff/4RlZk3bx5q166NsLAwJCQkYNSoUcjLy1O8H9zFL0Pu/v37sXjxYjRs2FA0fdasWZg7dy4++ugj7N+/H7GxsWjfvj1u3rxpKjNy5Ehs3LgR69atw+7du3Hr1i088cQT0Ov1xf02iIiIiIiIisW7776Ljz/+GB999BGOHz+OWbNmYfbs2Zg/f77NZXbv3o3evXtjwIABSE9Px4YNG7B//34MHDjQVGbNmjUYO3YsJk2ahOPHj2Pp0qVYv349xo0bVxxvS5Lfhdxbt26hZ8+eWLJkCcqWLWuaLggC5s2bh/Hjx+Ppp59GUlISVq5cidzcXKxduxYAkJ2djaVLl+K9995Du3bt0LhxY6xevRpHjx7Fjh07vPWWiIiIiIiIPGrPnj3o0qULOnXqhGrVquGZZ55BamoqDhw4YHOZvXv3olq1ahg+fDgSExPx8MMP46WXXhIts2fPHrRo0QI9evRAtWrVkJqaiueff97uej3N70Lu0KFD0alTJ7Rr1040/dy5c8jKykJqaqppmlarRatWrfDLL78AAA4ePIjCwkJRmfj4eCQlJZnKEBERERER+YucnBzRT35+vmS5hx9+GN9//z1OnjwJAPjtt9+we/duPP744zbXnZKSgr/++gvffvstBEHA33//jc8++wydOnUSrffgwYPYt28fAODs2bP49ttvRWWKm189QmjdunU4dOgQ9u/fbzUvKysLABATEyOaHhMTgwsXLpjKhISEiGqAjWWMy0vJz88XHSw5OTlOvwciIiIiIiJzBoMAg0FZH1tj+YSEBNH0SZMmYfLkyVbl33jjDWRnZ6NOnTrQaDTQ6/WYPn06nn/+eZuvkZKSgjVr1uDZZ59FXl4edDodnnzySVET5+eeew5Xr17Fww8/DEEQoNPp8PLLL2Ps2LGK3o87+U1N7qVLlzBixAisXr0aoaGhNsupVCrR74IgWE2z5KjMzJkzERUVZfqxPJCIiIiIiIi84dKlS8jOzjb92OoLu379eqxevRpr167FoUOHsHLlSsyZMwcrV660ue5jx45h+PDheOutt3Dw4EFs2bIF586dw+DBg01l0tLSMH36dCxYsACHDh3CF198gW+++QZvv/2229+rXCpBUDgsl5d8+eWXeOqpp6DRaEzT9Ho9VCoV1Go1Tpw4gfvuuw+HDh1C48aNTWW6dOmCMmXKYOXKlfjhhx/Qtm1b/Pvvv6La3EaNGqFr166YMmWK5GtL1eQmJCQgOzsbkZGRHni3REREREQkV05ODqKiovzu+ty43fv+vIzSEcq2+9bNHDxYJ172e05ISMDYsWMxdOhQ07Rp06Zh9erV+PPPPyWX6dWrF/Ly8rBhwwbTtN27d+ORRx7B5cuXERcXh0ceeQQPPfQQZs+ebSqzevVqvPjii7h16xbU6uKvV/Wbmty2bdvi6NGjOHLkiOmnadOm6NmzJ44cOYLq1asjNjYW27dvNy1TUFCAXbt2ISUlBQDQpEkTBAcHi8pkZmbijz/+MJWRotVqERkZKfohIiIiIiJyB70gOPWjRG5urlXg1Gg0dh8hZGsZoKg1rL0ygiDAW/WpftMnNyIiAklJSaJp4eHhKF++vGn6yJEjMWPGDNSsWRM1a9bEjBkzUKpUKfTo0QMAEBUVhQEDBuDVV19F+fLlUa5cOYwZMwYNGjSwGsiKiIiIiIgoUHTu3BnTp09HlSpVUL9+fRw+fBhz585F//79TWXGjRuHjIwMrFq1yrTMoEGDsHDhQnTo0AGZmZkYOXIkHnzwQcTHx5vKzJ07F40bN0bz5s1x+vRpTJw4EU8++aSoFW5x8puQK8frr7+OO3fuYMiQIbh+/TqaN2+Obdu2ISIiwlTm/fffR1BQELp37447d+6gbdu2WLFihdf+AERERERERJ42f/58TJw4EUOGDMGVK1cQHx+Pl156CW+99ZapTGZmJi5evGj6vW/fvrh58yY++ugjvPrqqyhTpgweffRRvPvuu6YyEyZMgEqlwoQJE5CRkYGKFSuaArW3+E2fXF/ir23+iYiIiIgCkb9enxu3e8/xDKf65CbXreR377k4BFRNLhERERERkb8xGIp+lC5D0vxm4CkiIiIiIiIiRxhyiYiIiIiIKGAw5BIREREREVHAYJ9cIiIiIiIiLzIIAgwKxwNWWr4kYU0uERERERERBQyGXCIiIiIiIgoYbK5MRERERETkRQaDAINBYXNlheVLEtbkEhERERERUcBgyCUiIiIiIqKAwZBLREREREREAYN9comIiIiIiLxILwjQK3wkkNLyJQlrcomIiIiIiChgMOQSERERERFRwGBzZSIiIiIiIi8SDIDBoHwZksaaXCIiIiIiIgoYDLlEREREREQUMBhyiYiIiIiIKGCwTy4REREREZEXCYIAQeEjgZSWL0lYk0tEREREREQBgyGXiIiIiIiIAgZDLhERERERUYDT6XSYMGECEhMTERYWhurVq2Pq1Kkw2Hl2UWZmJnr06IHatWtDrVZj5MiRkuVu3LiBoUOHIi4uDqGhoahbty6+/fZbD70Tx9gnl4iIiIiIyIt0EKBT2MdWB2Xl3333XXz88cdYuXIl6tevjwMHDqBfv36IiorCiBEjJJfJz89HxYoVMX78eLz//vuSZQoKCtC+fXtER0fjs88+Q+XKlXHp0iVEREQo2j53YsglIiIiIiIKcHv27EGXLl3QqVMnAEC1atXw6aef4sCBAzaXqVatGj744AMAwLJlyyTLLFu2DP/++y9++eUXBAcHAwCqVq3q5q1Xhs2ViYiIiIiI/FROTo7oJz8/X7Lcww8/jO+//x4nT54EAPz222/YvXs3Hn/8cZdef9OmTUhOTsbQoUMRExODpKQkzJgxA3q93qX1uoI1uURERERERF6kMwjQGRQ2V75bPiEhQTR90qRJmDx5slX5N954A9nZ2ahTpw40Gg30ej2mT5+O559/3untBoCzZ8/ihx9+QM+ePfHtt9/i1KlTGDp0KHQ6Hd566y2X1u0shlwiIiIiIiI/denSJURGRpp+12q1kuXWr1+P1atXY+3atahfvz6OHDmCkSNHIj4+Hn369HH69Q0GA6Kjo7F48WJoNBo0adIEly9fxuzZsxlyiYiIiIiISJnIyEhRyLXltddew9ixY/Hcc88BABo0aIALFy5g5syZLoXcuLg4BAcHQ6PRmKbVrVsXWVlZKCgoQEhIiNPrdhb75BIREREREQW43NxcqNXi+KfRaOw+QkiOFi1a4PTp06L1nDx5EnFxcV4JuABDLhERERERkVfpBQF6waDwR1kf3s6dO2P69OnYvHkzzp8/j40bN2Lu3Ll46qmnTGXGjRuH3r17i5Y7cuQIjhw5glu3buHq1as4cuQIjh07Zpr/8ssv459//sGIESNw8uRJbN68GTNmzMDQoUNd2ykuYHNlIiIiIiKiADd//nxMnDgRQ4YMwZUrVxAfH4+XXnpJ1G82MzMTFy9eFC3XuHFj0/8PHjyItWvXomrVqjh//jyAooGvtm3bhlGjRqFhw4aoVKkSRowYgTfeeKNY3pcUlSAovAVAyMnJQVRUFLKzs2W1fyciIiIiIs/x1+tz43Z/tf8swktHKFr29q2b6NKsut+95+LAmlwiIiIiIiIvcuURQmSNfXKJiIiIiIgoYDDkEhERERERUcBgyCUiIiIiIqKAwT65REREREREXqR3ok+unn1ybWJNLhEREREREQUMhlwiIiIiIiIKGGyuTERERERE5EU6wQCdYFC8jL8aPXq04mUmTJiAcuXKySrLkEtERERERETFZt68eUhOTkZISIis8rt378awYcMYcomIiIiIiMg3bdy4EdHR0bLKRkREKFo3++QSERERERFRsVm+fDmioqJkl1+0aBFiYmJkl2dNLhERERERkRfpDYLiRwL58yOE+vTpo6h8jx49FJVnTS4RERERERF5xaVLl/DXX3+Zft+3bx9GjhyJxYsXO71OhlwiIiIiIiLyih49emDnzp0AgKysLLRv3x779u3Dm2++ialTpzq1ToZcIiIiIiIi8oo//vgDDz74IADgf//7H5KSkvDLL79g7dq1WLFihVPrZJ9cIiIiIiIiL9IJAnSCsj62Ssv7qsLCQmi1WgDAjh078OSTTwIA6tSpg8zMTKfWyZpcIiIiIiIi8or69evj448/xk8//YTt27fjscceAwBcvnwZ5cuXd2qdDLlERERERETkFe+++y4WLVqE1q1b4/nnn0ejRo0AAJs2bTI1Y1aKzZWJiIiIiIi8SGcwQGcwKF7Gn926dQulS5dG69atce3aNeTk5KBs2bKm+S+++CJKlSrl1LpZk0tERERERETFqkKFCujYsSMWLlyIv//+WxRwAaBatWqIjo52at0MuURERERERFSsTpw4gccffxyff/45EhMT0axZM7z99tv4/fffXV43Qy4REREREVGAq1atGlQqldXP0KFDHS77888/IygoCPfff7/NMuvWrYNKpULXrl1lbU/VqlXxyiuvYMeOHbhy5QpGjx6N9PR0tGzZEomJiRgxYgR++OEH6PV6me/wHoZcIiIiIiIiL9IbBOgU/ugNyh4htH//fmRmZpp+tm/fDgDo1q2b3eWys7PRu3dvtG3b1maZCxcuYMyYMXjkkUcUbZNRVFQUnn/+eaxbtw7Xrl3DokWLYDAY0K9fP1SsWBFr1qxRtD6GXCIiIiIiogBXsWJFxMbGmn6++eYb1KhRA61atbK73EsvvYQePXogOTlZcr5er0fPnj0xZcoUVK9e3eXtDAoKQmpqKubPn48LFy7g+++/R61atRStw29C7syZM9GsWTNEREQgOjoaXbt2xYkTJ0RlBEHA5MmTER8fj7CwMLRu3Rrp6emiMvn5+XjllVdQoUIFhIeH48knn8Rff/1VnG+FiIiIiIjILXJyckQ/+fn5DpcpKCjA6tWr0b9/f6hUKpvlli9fjjNnzmDSpEk2y0ydOhUVK1bEgAEDnNp+AMjLy8O+ffvwzTffYNOmTaafr7/+Go0bN0azZs0Urc9vHiG0a9cuDB06FM2aNYNOp8P48eORmpqKY8eOITw8HAAwa9YszJ07FytWrECtWrUwbdo0tG/fHidOnEBERAQAYOTIkfj666+xbt06lC9fHq+++iqeeOIJHDx4EBqNxptvkYiIiIiISiCdIEAnKGt+bCyfkJAgmj5p0iRMnjzZ7rJffvklbty4gb59+9osc+rUKYwdOxY//fQTgoKkY+PPP/+MpUuX4siRI0o2XWTLli3o3bs3rl27ZjVPpVI51SfXb0Luli1bRL8vX74c0dHROHjwIFq2bAlBEDBv3jyMHz8eTz/9NABg5cqViImJwdq1a/HSSy8hOzsbS5cuxSeffIJ27doBAFavXo2EhATs2LEDHTp0KPb3RURERERE5KxLly4hMjLS9LtWq3W4zNKlS9GxY0fEx8dLztfr9ejRowemTJlis6nwzZs38cILL2DJkiWoUKGCcxsPYNiwYejWrRveeustxMTEOL0ec37TXNlSdnY2AKBcuXIAgHPnziErKwupqammMlqtFq1atcIvv/wCADh48CAKCwtFZeLj45GUlGQqIyU/P9+qGQARlVxPPfUUypYti2eeecbbm0JERH4kNzcXVatWxZgxY7y9KRRAIiMjRT+OQu6FCxewY8cODBw40GaZmzdv4sCBAxg2bBiCgoIQFBSEqVOn4rfffkNQUBB++OEHnDlzBufPn0fnzp1NZVatWoVNmzYhKCgIZ86ckbX9xpGV3RVwAT+qyTUnCAJGjx6Nhx9+GElJSQCArKwsALDaOTExMbhw4YKpTEhIiNWDhmNiYkzLS5k5cyamTJnizrdARH5s+PDh6N+/P1auXOntTSEiIj8yffp0NG/e3NubQSWcsUVsp06dbJaJjIzE0aNHRdMWLFiAH374AZ999hkSExOh0WisykyYMAE3b97EBx98YNWM2pZnnnkGaWlpqFGjhvI3Y4OskDt69GjFK54wYYKpltXdhg0bht9//x27d++2mmfZcVoQBLudqeWUGTdunGgf5OTkyP6jEVHgadOmDdLS0ry9GURE5EdOnTqFP//8E507d8Yff/zh7c0hH6MzCNDpFfbJVfgIIQAwGAxYvnw5+vTpY9XPdty4ccjIyMCqVaugVqtNlYlG0dHRCA0NFU23LFOmTBnJ6fZ89NFH6NatG3766Sc0aNAAwcHBovnDhw+XvS4jWSF33rx5SE5ORkhIiKyV7t69G8OGDfNIyH3llVewadMm/Pjjj6hcubJpemxsLICi2tq4uDjT9CtXrphqd2NjY1FQUIDr16+LanOvXLmClJQUm6+p1WpltW0nIiIiIpIyZswYzJ49224XOSJP27FjBy5evIj+/ftbzcvMzMTFixeLfZvWrl2LrVu3IiwsDGlpaaLKR5VK5bmQCwAbN25EdHS0rLLGkYzdSRAEvPLKK9i4cSPS0tKQmJgomp+YmIjY2Fhs374djRs3BlA0NPauXbvw7rvvAgCaNGmC4OBgbN++Hd27dwdQ9Mf8448/MGvWLLdvMxERERHRV199hVq1aqFWrVoMueRVqampEGyM4rxixQq7y06ePNnhqM2O1iFlwoQJmDp1KsaOHQu12j1DRskKucuXL0dUVJTslS5atMitHYcBYOjQoVi7di2++uorREREmPrQRkVFISwsDCqVCiNHjsSMGTNQs2ZN1KxZEzNmzECpUqXQo0cPU9kBAwbg1VdfRfny5VGuXDmMGTMGDRo0MI22TERERETkTnv37sW6deuwYcMG3Lp1C4WFhYiMjMRbb73l7U0jH1GoFxCksLlyocLyvqqgoADPPvus2wIuIDPk9unTR9FKjaHSnRYuXAgAaN26tWj68uXLTc93ev3113Hnzh0MGTIE169fR/PmzbFt2zZRzfL777+PoKAgdO/eHXfu3EHbtm2xYsUKPiOXiIiIiDxi5syZmDlzJoCimq4//viDAZforj59+mD9+vV488033bZOl0ZXvnXrFgwGg2ia+TOa3MlWtbo5lUrlsBo9NDQU8+fPx/z5813epjuFQHChy6shDzMofLC2vzE4MehAINI7+DsbDAYc2PszwitWhRBWRvH6g8z6h4zs9x+cSP8Nd+7kIjq2Et5Z8AnqNXxA0focDYjnLDfeBBXReGh7jdRqz64fANQefg+i1/LSA/o8/XeSozj+lkoV59/eU7x1TPkSbxzfV7IycOL0ORRWkn5OaJCdbQqy8VnYc/5f/PX3Taw99NfdcvL+uPZeS4rGic9ikMq5A83Wey2u5TUqNW7f4iM+/ZVer8esWbOwdetWNGzY0Grgqblz5ypep+KQe+7cOQwbNgxpaWnIy8szTTeOUKzX6xVvBBEpx3DrONia0+l02LN7F6IrVUWDVl0Uv5bO7LXmLPsMgPILDnNSN+7cEXwt7ju67cLYcl+7+2LT/Hj2VEgyv+Hl6dBj/ncoznBi/Dt5M+wa/5a+FHaNf3t/DrveOqZ8iae/h6Ts/HYj8u7cRlxsTQRprF/PeG6QOh+Yj3xrHuJaPdndopzhbhn7f1jz85Cc84/e7PXlBl6dcO9AUxJ4bb1Xpcs7G3b1gkHRNQH5lqNHj5rGVLIcedzZayPFIbdnz54AgGXLliEmJsZjtRFEgaIkhFF/OrEIAnC7UCerrKOTbb6N6Ron74TLeU2Hy1t8Jztz31HO97oBjv/mzl6I6230MXLnBa1x+z0dxNQqldWNB7e/hsR+9vRnUs7fwpPffc7+3Yq7ZY+nQrWnjylHfCVkF+e5JzvP+ss0WCL0AkCwnePT1jIAEKSx/4eVe2NV8jwicS5wFKrzYVD0ukY6wfkaZCWPxLF8n848TseX6AwCChW+B39/z0Y7d+50+zoVh9zff/8dBw8eRO3atd2+MUTeFkiB1J+CpydYXgQafxcEwW7IFd3tthMQ7d/hFr+4kuCar3cu6BqDtU5G+DQn+Voyjx1HFz72ArYzN0gtg7U7LrTNA7W7a4XUapXHQpV5ePJE4HG0bz3x/aJk/7v7u9oyNLurNtob3WWKo7ba2yFbiqeD9z+54vOGZZC1FV6lvmNthmM7AdhecHa0rFQNNABAb15r6/i4kXtuChLk/zGMr6u3d8K9y7I2WmexSD5bk5IZxSG3WbNmuHTpEkMu+Q1fC66BGj598aJHiiAAtyRCrunkbeMcaXnHOx/Wb9jWRUK+2TplNRnTK2smFqRWQSfjAsFYVvRSMhazVTNtL1A7vBiy8TlQUmNgue2utiwyQHDbhbJGpXLrd49VCHPj94hUKHLn51nuPnXXd6MzNyts/a2K6/zhzhYFvjAOhTeahXv6HPTv7XuDsFiGRsvzg1TglJymIADb+k41lS+0MV1qnguBGbATmo3zZXxujO/HUbsq832rszOScJBKJWqeTb7v6aefxooVK2SP59SzZ0+8//77sh9pqzjk/t///R8GDx6MjIwMJCUlWXUMbtiwodJVEnmM0pO9PwZQfwmXniL3b2Y8FgyCgJv58pudmU7mevmh1jTfQZMxe03F8mGQFfg0apXV3WzJbZHZFExqm20FaHtBVio8y2nGbR6cFddo2+kbJ5de76ZBwdTuDWzuCltSYcodocheqHHXd1Rxh2WlXGkJ4M2bsZ5osu8LQdsWZwP4PzfzEKS5dxCafz9pbEwHIFqm6Hf7ARmwPh/ZaxZ9x0a4tZzuMCSbK7T/uih0vkk2ULQP7AVW4N73uM4g7/yjA5DHmly/8tVXX+Hq1auyygqCgK+//hpvv/2250Lu1atXcebMGfTr1880TaVSceAp8lnFccETCEHTHwO+M/SCgFsWfauCNSqrO912pyu5WID9pmJOBWXz+Q6ahclpCmZeu2wrMEvVLEsFZnvbaxmWHb0389OJkn7OOgiu9W0WBJeCssrFfrjm17yufi4tg5erYcpWIHI11MgJHq5+zyqppTe+lpJl/DFcA77X2gnwbF955cdqUfkbtwvEIffu97p5SDX/rrcKtzZCseU8yWUlziE2a48LJaZZMD+H3bETaO8U2v+etrl+g/1m17ae7Wq+PqmWQub7QSok50vcjPYnhXoBmhL0nFxBEFCrlvSo5e6gOOT2798fjRs3xqeffsqBp8gv+GIALQmB0tcunIzbYxAE5FjU5NpqMibnTrhUkzCrE79xusJwDNhvFhakUjm8y22rKZijJmBWA1hJhGSppteWIdles2slo3EaA7Lc8KrXuzYAGJxcNOjuTV9nqEy1ts69NmAdypz9rrEVnFz5XNsLLq6EZLk1c87sV2+cP5Q2mfe184k7+rb72vkDAG7dKoBGYx1UzQOrcb5UGAZsB2KrZSw+K9Kh+N6XbZBGjTyz81WQRG2uwxpjO2HX1rlLZyPMFuptn+vsBVxbgy4ZX19qWVEw9sHjhmxzZrCpSpUqyS6rOOReuHABmzZtwn333ad0UaJiZ36i9LULAVt88eTu6+RcIJs3V87JE0c/yTviDu6GG0+6UnfBjdNkDzhSaOeOuJ2LBXt3uh0FV8twLNX0SzxfoibX7DVs1Xwaw7Gjvsg6mf2QdQYFtbRqFxKKQXnKDVKrRI/4kL3c3X3najgGnA9lng7HgPPfbY5q9dwdkIujqW1xNO92J3+o0ZbL2RB+61bRePqW4dYYbC1/lyprOV92GC4UB1rzkf2D1Crk351veh3Jc5De6jXzCq3DdlHtreMm1IB0ja2tmtpgjcpu6x/LZcxfz3ye5XaYB+O8Qh/88JBNrVq18uj6FYfcRx99FL/99htDLvkN4wnX38KjL/dp8md6ALfMQq69O+KWd8PtDi5i4y645R3wOzYCrdSdb6m73sZlLe9427rTba/5l62mX9LPe7Rfk2rco7b6GRvXb68ZsB56eQNzORFAFVMYkDUqteJaBFNtuwvBGFAejqVaYDkTrNz56CJ3h2O5zV1tfc96fPRmH/1+txW+fTF4G3m65ttY+vatAqjUloG26N+gIOnpRf93HIJtLQNIBOFC43exREAuFAdZYxg2/97OL9SLa4YlmiQHaazPFTqLYyBIrZY838g5Z5mfF20FWFstfewGXj9uuguUvObKnqY45Hbu3BmjRo3C0aNH0aBBA6uBp5588km3bRyRq/SCAJ0b+mhs37IZUya8AcFgwJCRY9Czd383bJ1tft6txCcZ96nBIOD23RRrfkfceBIV3RG3uhsuvoCQugteqJcxyqbF3W+pO99Sd72DbJQrel1lFxbmy1huo2jwJ8t5DsKqzqB30C/X/oBbOr2M/rAyAmiQE6HTWUFqFTIvX8I7bwzBjX+vQaMJwgsvj0arx7pIltc48TxI4+sYKQ3GroRiwD3B2F4YURo8HNXGuRKMDQbBLbWRt2/dxJCeT0KnK4TBYMBzfV7C08/3dXm97uQP4dtRc/TiCuC5t3Kh0WgAAGqNGmpTaNUgH3BDANaLphmnF+BeKM0XzdffC8AWN2ZRqLffNNri86F38LzZIIubsEEaNXQWY/BYBmHj60uFUltB1VEQtjpX3S1vqzaYSjbFIXfw4MEAgKlTp1rN48BT5ItcDYw6nQ6Tx7+O9V9tQ0REJDq2aY4OnbqibNlystfhixcOJY3xb6AXimpype6Iiy4ECvWiu+GigGF+AWBxF9zyDrhlnyXLu9+Wd77thVOpco7udks1+bLV3Euq31WhXpAM6joINvsLOw6qtj+UQWq13QAn5zERGrUKOsHOa1g0i7YsqyQgB6mLbkYIag1eeuNt1KjbADf+uYph3dqhycNtEVoq3Kq83s62WTLvV6wkFFs1P1fwHST1t1MSjG2N1eHLoRi4F4z1guCW4BSiLYWFazcjNKwU8u7kosfjyWjZvjOiypbz+DNd5dLrBbc/H9pVvhq88+8YmytrTAFXrVGLgq/5v8bpBbLCr96izL0ga5wvVQNsHoABQKeRPhcFWZ6HzFvuaMQj9Adp1KLuLEFqlXgQQIn5wL3xGIznTWMIFrUYMhiXubfNNs9LEueeQoNg9zzFPrlkTnHINfhymxUiCwaD4xOkozv+B/f/ipq166JiTBwAoHXbDti5YyuefPpZt20neZ5p4CmDgPwCvfTFgEXNrOWFgOn/FsHSeAEgdfK3uniwOPFbnvTlhlOpk73URYFUH1ZbwdXWdKdopCcXDZYl/ZkrCoyuBWAANkOwsSm0Zai1Ki+zqbJ5GI4qH42o8tHQGQSULlsBpSPL4PqN66gYWurutlvflLC77rvlAz0QA74Xig0GoNAg7xFe9rdHDW1oGARBQF5eHgx6PQwGAwRBsPt86uIe0NNg1nLD2+Hb3c+Xdoatpu4Fd0Ou2k7INQ+4OuhE5XSFd6cX6qFSq1BQALMAawy+9w76e4FXMJumkphmvQwA6M3KiM934vOQ5TnI6hxlGV4tWuvo9eLXtZxvubzxNaxaCRmsW/lIBl075yk5j9OjkkNxyCXyN4UuVuVmZmUiOjbedJEUE1cJmZcv+/zgGiSmh3HgKaCgsKgHqfHELHUxYO9CQDTd7ARu2W/VPPwC4pO/o7vetu54W4ZfuXe6i1OwjWcgBmlsD8zkKPwCkAzAolGiJdZtHlRshV/z5eTUFAP2a4tPpx+BwWBA2Zg46ASD4pphQHkYBvwzEAPuqSUGlIVie2FOEAToDILkwG622GqifzMnG6/0fAJ/XTiLIa9PQemy5RzvMwfzXQ3f9liGb28E7uIO2g4fs2X89U4OoAmCAYBBEwxoirrrSYVey4BrDMKGu4HUOE8wFE3X371O0Zt1dzEGWWPw1WjUZucU4e6/4pusxtaURdMN985xZkFUr79XKyw6f0mcg8Sj8OtFwTfITrC1DL5396zoN8t1SJUpIv+AKPTz6zKdQVBcG83aa9tkhdwPP/wQL774IkJDQ2Wt9OOPP0bPnj0RERHh0sYRuaqoT65rXwB6vQEG4V5fRMPdZ0K7ul5vkPuojUBkvAA2CAIKCvSmCwJbFwPmFwvmJ2PRid7sIkDuBYD1yd/ypO7opO+5K0BbfX7dNfiV5WdG1IzN4uJEPBK0dd/ke/OUBV/pQbUMpuXkhDZ7QfjmjX8xb/xwvPzWHLNtkNeHuGhbPB+GAfmB2PIxTM6+HiA/ENsLcXIDsaNw5igQ5+vFN6wcsVUzGxJeGou+TMP1a1cweXhfpLTvhLIVogE4/4grOeHbpedEm7NzU8pTjPuyOAK2Wu24lt80t+BO0b+aIECjAzRFHWENmuCi0IuiwGseZDUaDQx6g1W4dRR6Vep75yXjOUOn05uaOFvOK5p2L7yan8fuTZMOvUXMPxD2alzlzbNep/X8opZODsporFv32Bvwin1y/Uvjxo1lf84PHTqkeP2yQu6oUaPw/PPPyw65r7/+OlJTUxlyyesMBsHlmtzy0bHIupxhWs/ljAw0aNzU7np9rY+TkUFBzYQjckcv9RX6uydKXWEh8rL/RUhEGajVasmLATHrCwjxiVj64sB8elEtryA5z96FQdHddYu+U2YnfKn+vYB1311X+vc6Wr9oug+E3qL54n0kmmfjgrZonTLCqJ0gXFiQj3dGDUCXfsNQ5/5msmuEi7ZLfhPpe9vraFtt7zM5ywAlMwzrhHu1Ka7WkhjfX0S5iqhWqx4O79+Dlh2KBujUSTx7Ws665JAzPIorz5G2FbTdFq4BU8D2VKBWqVQOb3YIgmA6lgw3rxTV3gaVgjpEezfsBgP6u4FXE1xUy6vXF4Xdu+FWbTq/FE1TW9VeWtPc7e+hh7GG1zrUwmJeEalzkL2bqrBbxvIcJJqntjPP4pwXdDe0m96f1TnROvRav7b0ORC4d47xx8qHkqxr166m/+fl5WHBggWoV68ekpOTAQB79+5Feno6hgwZ4tT6ZYVcQRDQtm1bBAXJa918584dpzaGyN0MbqjJrdOgCU6dOIbLGRkILx2Bn37YhhdHvGH35OjOMKlEcTbz0svYr74U9vPufi9lpO9H+iefoP6YzxBcuuzduZYXA9Z/3KILDEFivvOB196J39EJX2ngdceAVjZHxHQwUqbsUZ1t9IEG7gUf6ZrYe/vMep7twGu+vE4Q5GRc2CokCAL++9ZI1GuWgpZPPONyjbAlJWHY2VphZ5cB5IVhqVClNKyLlvVQGM7X6001uc4w/q1u/HMVIdpQlCodgdxbN/H7gT1o36038uys296zol25cSC5Pgch25nAKvXWXAnTgMVo724M0XKuaO/k3sb1f66idOnSKDjwIQAgpOlwQH333KHXFYVdI/29sGuP0rCrsjhXFLk3gJXlPEfnK2MLpntlDVbLFbVikj4HSZ1/RPMsl3MQeAHr73HjOsR9ee+9RtEyjr/f/YlOr3yEaH/uhzxp0iTT/wcOHIjhw4fj7bfftipz6dIlp9YvK7Wab4QcXbp0Qbly8keeJfKEWTOmoHqteqjzUKprK1KpMeLNaRj4bCcIggG9XhyB0pFl3fJoIjmU1JgaXPiy80RTZlth3xt9riz7WRn0BrO744Ko2bL5Sf7eNPFFwL0+TQazpsyC6OR7rymz2XTz8hYndfM78lInfMuTvXjUSgPsjVhpa/AqwPpRDY4e02BrfbaWVxp2je8PcF/YLZp/r1kyANz59wrO//QVKjRtj+DylWwOlmVkr9/wySP7sHfb10ioWRcH0rYCAF6eOg9VataVXpeCptGA7f7E5pwJwoBzQdOZZbwRhAF5Ydi4ny+d/gPHfv0eCW2fQ5DFoGFyBQlF7yHzcgY+nvKqKUindu+LuBp1kC9x7jD9nRXW7ko9V1ruRa+9QA3Y3+9K9olUmHY2rJr6n7oYnIG7I8Q72A7JY0evLwqzABB09zGaxt81QWb/D4bh7garNWpTsDWv1TXOs6zptSwr3P1biJsxG+42Y777vRfk+Hxl6xx3r6x02AVsn+sA6/MdAMlzXlFZ8X4X10Q7F3aN22Bv4ELybRs2bMCBAwespr/wwgto2rQpli1bpnidHgm5RL7i7MljSGzaTnKekiZQLdp0RIs2HU2/F5g9DM5d/YZsBT85Naa2KKlJlVv77I5mylJh3KP9hdUCQiy6W6iCtS6t0vzCQQ5bQdd6veITvngdyoKuFDkjKCsZZVnJ6JeOHv+ghE6w/ZgiqRGlxfOL9lPhnZsAgPybN4Ay8Y5f085jk6o3aob/+/W81TZJBQVHo0jfKxfYQVjqb+QoCNsKN+4KwtevZgIoajoXFGTdRcvW31/k7kV5fK36mLpmi2hWno0EqiT0iQcDkn98WLIXqKXCszlbQdpRcDYt76DLgcPlzbbdpdpdg/3tDdKGoWz5iijMN2uhGCyv657sTXBQq2sMuq5Qer6yRW7QtbdcUVn7QVfOOiiwhIWFYffu3ahZs6Zo+u7du2V3l7XE0ZUp4NlqdpZvo7yzd4idPdGaLlCdrIW1O9qo7OAq//VshW5XmyaLH2Ph5sBrUEEQxOvUBGmsnklo/YxC8eAcUvPNT7qixwyppadbLWPxXjV25lme4K3WK+MP6bZHBHlofd5gMAgovPvj8sjUcq5FZVQ2yAnCppoTBaPxynnGsJGjIGz1vGGFobY4Q7Cj17N8rZsFBqjz9NbHd6H4VznHi5zPiKzwDGNrAscnC1ETdIdlJWrP7YRnezeIpYKzo8Bc9HqWryH/pOSoBYfdZaF3vJzFbJVKdbdvbvC9psqa4Ht9dI2/w3rkZeDeoFOWjxwyL6MWnXfuNVku+l0t+heAxTN3IfF/qfn2z3NSbJ3vAPvnH6tzlxN/KwZc98nIyMAbb7yB7777Dnfu3EGtWrWwdOlSNGnSRLJ83759sXLlSqvp9erVQ3p6OgBgyZIlWLVqFf744w8AQJMmTTBjxgw8+OCDsrZp5MiRePnll3Hw4EE89NBDAIr65C5btgxvvfWWM2+TIZcC361C6VO87ZOo1Gitjr+Q841D8Su9I60wVFut3w390tzxzEapQO1ss2RTMyl31e6qrZ+XrNGoAjrcWl5YS11oS12gS5WzdUxLrtPGxbq9MGBrGXsX/vaOZ0efQcv9pRcA4e4x59ZnBUu9tp3HKJnK2GkWbSoTYCFYuj918dcEG5sW5xUaoCo04I5FqHV0bEkeO4V25pmVcWdgdlTDKx7IzU4fYam/i2Q5OzcXLAcPkvG9bh6W5YTkotcxrt/NYchyV2pLASFhRf/XWAZdeeHW+K/lNKnyluHW/P9yw6386dJl7J2DLP/29s57ReVtn/uk5kutQ+p1pLbF3xQKAtQKB7tT+tik69evo0WLFmjTpg2+++47REdH48yZMyhTpozNZT744AO88847pt91Oh0aNWqEbt26maalpaXh+eefR0pKCkJDQzFr1iykpqYiPT0dlSpVcrhdY8eORfXq1fHBBx9g7dq1AIC6detixYoV6N69u6L3aMSQSwHvtkXINX4J5tuoTpE6AeebXQM4POHq5Z9kg9Qq2SNsWj571R7Jfm3Ojobp4Nmj9rj6zEVjcHblvGXsj2vZJ1ejUdusybX+f9F8uXexg+xdHKilLy4s50ku6yDcyg2dgRpuAfvHs60LIL1BELVQsBd0HYVgV2uD/TkEW3432gvBrgZge8vYOwZshWDL78xbBQYY1OIvMDnHuHkotixvnGdv+xyF2GCDnWVtjGYutW6b5wM7g8GZykj2hxfvK7tNw0XlHH+5m/pfyj3vQC87GBet3/4522oPBIdK1tyqZYRYRzW3lsG2aJqymltXgq1lOSU1t74Qbgus5pCld999FwkJCVi+fLlpWrVq1ewuExUVhaioKNPvX375Ja5fv45+/fqZpq1Zs0a0zJIlS/DZZ5/h+++/R+/evWVtW/fu3Z0OtFIYcing3SoQP+AcFoN+KK4R0pvPlz4x5sMg64SsExyXkTNSqlUzQBvBWbLmw0Zottvsz+K0L7v22slHQuj1LvR9Vhe9puWzEDUaFUJCNGa/O76DLafG1pOh1vJ1geIJtjYv7osp2ALurbm1pBcE08AuRvb69Xq6ttceRyHYuJ/kfF/YC8H2njVs+VpGtgKw5OBINsKmVNhQGmZdCb/GG2u383XQmcWxII1KolbXQQsKBzW4Up+TO4X2g26h3rmAbPkoMVvbIRWQrQais/z+tzNwnKmMzf7z8vvW6kzl5AVjuecZjVol+xFeAIpqcYO0VsFWboB1FGzt1diaT/NEjS1QvMFWqkxJqbX1lk2bNqFDhw7o1q0bdu3ahUqVKmHIkCEYNGiQ7HUsXboU7dq1Q9WqVW2Wyc3NRWFhoaKBiG/cuIHPPvsMZ8+exZgxY1CuXDkcOnQIMTExsmqDLSkOuVOnTsWYMWNQqlQp0fQ7d+5g9uzZTrebJvKUbGO/Kpl9qRRdhOvth1lHtUpy+j3ZGhxE1GxQ5iAgtgbBkaJkYA/zoCynT7PxIknRYCuyS95j/hxEy+v5kOCgu7W5zgdaq2UU3qn2djNkqW2yV9buRbTCzxPgfI2tq6HWuH7jYGcGAbhTaFA2+rODwa2cEaxW2X18RLCdZqimQc1kBFI5IdBWAC4p4Tc3X4dCoeikodGoReePe+XNviPvfpbzjLW1ZsfMvRpc6eNSqt+v0htIwRrp2n2px39Zvq6jYGvr+dem+TYeIWbO9J1v5zMvt8ZWZ5DRjxaQ3wRI4YC86pBQaLRhDLWQOId5IdSaH3OGABgjwlk5OTmi37VaLbRa6wE2z549i4ULF2L06NF48803sW/fPgwfPhxarVZWjWtmZia+++47U5NiW8aOHYtKlSqhXTvpwV8t/f7772jXrh2ioqJw/vx5DBw4EOXKlcPGjRtx4cIFrFq1StZ6zCm+bpwyZQoGDx5sFXJzc3MxZcoUhlzyOXdk9KuSdffdOF1JgLB3Ee/ggstRvyc5zcgsA7Kjx03YarIl9cxUW2QN5GHkYGRLEQVFjfvB/BmYls/DDAnRIChEI7tvkZKTuTMncXcGWltllTQ/tjvdz2pqHa1fbxBQqBfcNiq0uwOwnGao3gy/lvvflfBrq5mpVPiV8311bxvthCuD+fdE0b+5+XrkG3RF+69QHGbNBy00rjf/bhnT94Bk02RjqyLLm49Sx5bMQAzpWlpbx4yoybKdEY7tBVe78ySewy21rL2bX/ZGMTdx4ZnW5uSMYG7VJTcsBJq74cGfA23R7/LOf5LLSvx9Pd2/1tG5yt9DbqFegFrhEzWMn6mEhATR9EmTJmHy5MlW5Q0GA5o2bYoZM2YAABo3boz09HQsXLhQVshdsWIFypQpg65du9osM2vWLHz66adIS0uTPTLy6NGj0bdvX8yaNQsRERGm6R07dkSPHj1krcOS4pArCIJks8HffvuNz8Yln5Sdd+8CxSo03P0CviMRbO31n5J75z3YRtOyYI1Ksk+UrQFD7jVBtN/vyVFfJ/N1S130G0Oxvf5MjvovFW2nzIt8tbxb6BqV2mEfRKMgtXRzTstpocEaBAVr7J7I3V0zW7SM+5ob2yrrzTALOF9DC3g+0Bpp1OKaXOOFgs2g6+EmysEa6VpcOc1M7dXEORN+5T4G6d58x8FX6rUkv4NcCL72vpeUPrImt0CHO/pC61quu2HWZiAoFAdZYyA2f738Qr34u6RQ6rvExvnBYlcHqdWSQdZWuLVXK2srgNobvdheaLXbt91B33WHnzcXnmltKqOg37q5kFAtgkKlQ669vrRSYVZczvkwa1lOSSshyfOUG2popdZj8/WcCLRW09UqGDz5KEIfd+nSJURGRpp+l6rFBYC4uDjUq1dPNK1u3br4/PPPHb6GIAhYtmwZevXqhZCQEMkyc+bMwYwZM7Bjxw40bNhQ9vbv378fixYtsppeqVIlZGVlyV6POdkht2zZslCpVFCpVKhVq5Yo6Or1ety6dQuDBw92aiOIPOlmns70pWqr2ZjpS9NGLa7lyVj6zrt1rZvSCw1bd8jNA7HouXR2Qqujvk462A4MjpqNyRrYQ0ktrR1BapXDEVOBe82kbV3YWF48hxprcl3oM1s0zfbFg5EvB1l7r+toOX8Js47oDYLoYldnkPf6tthqdmyvSanNgGuvmanEuuQEX0Ciz6T5PCeCr/XjgSwCqJOhF7D+7Lo79Eodi/l5hSgI1qMA92pojYG1KExY1MoWWnweCvX2uzlYvCe91f6z3r9Wj9nRqKHTm9cyG2+Gmi+nvrs50ucWqZBqPK7c0XzflUHcnOXpfuvaMC002qILfFdGPJYTZO2VU9rdxds1s1LbBLjv5muwRgW9a48T9muRkZGikGtLixYtcOLECdG0kydP2u1fa7Rr1y6cPn0aAwYMkJw/e/ZsTJs2DVu3bkXTpk3lbfhdoaGhVk2uAeDEiROoWLGionUZyQ658+bNgyAI6N+/P6ZMmSIaZSskJATVqlVDcnKyUxtB5El5hXqJO+V60RezZWi1bCpmFXotylte1EpdzFpeyMq90DCu315ZwH6fJ1uDcDjs22TvQt9R7nRQSxvkoHb23kWGvAG37AVhqX7CIUFqhGnFX4HO1MQCvhFi7c1zNsQCng2yRWWKL8wWrcvsgtHY712QqvGUOp7cG3xNta02AqPNm2R2mqDKqamTWs5e6AXEgVT6u8R+aFQaeh01Lzey2+rE7DtBbuA1/rew0IA7ukKzi3y9ZBApwL1a2XxYhhCz92Nxzggyv0GpEQfYII3a6ialaNwDjfGGnt40HzB7hI75uU1vMfAi7oVg87+BVOC0da5R2nzfGY5aMHir6T4AaLXBCClVNKqyu2tk3dm8WHJ5D9fISm0XUExdYtQqt4+TUNx0TjRXdvS4MEujRo1CSkoKZsyYge7du2Pfvn1YvHgxFi9ebCozbtw4ZGRkWPWDXbp0KZo3b46kpCSr9c6aNQsTJ07E2rVrUa1aNVPta+nSpVG6dGmH29WlSxdMnToV//vf/wAUjaly8eJFjB07Fv/5z38UvUcj2SG3T58+AIDExESkpKQgODjYqRckKm7GvlL5sGxiZ3aRobc8sVhcgFjcGbcMq5YXA1IB1bKMVBMwmxcVUhcgSi80bN3htJtFbQ8+4+hCwdFgM44GmJHXP9BxGaAoAFuG4NKhQQg2G13ZlfAKKOyr7cYAa+u15SznSj9ZoHhDLOBckJVLp7c8HqXWYR3U5DYVlQqfroReqZtkkvPs9JG017dSZxHCRPNcDLxFZQx359toTaIw8Do6NozfN3KPjbw8HQo0egB6G7VwZkFbYzD7/72yerMyOosaOPPwaXl+sQymluHVMtwaA7Ct8Gtch1VfYL3eKvx6ogWDLcXdgkGyK5DCFgwAUDoiGJoQqZCrLMR6oybWVjl/CLFFr21/Ob0HWgYEmmbNmmHjxo0YN24cpk6disTERMybNw89e/Y0lcnMzMTFixdFy2VnZ+Pzzz/HBx98ILneBQsWoKCgAM8884xouq2+wZbmzJmDxx9/HNHR0bhz5w5atWqFrKwsJCcnY/r06crfKBSEXKNWrVrBYDDg5MmTuHLlCgwWd2dbtmzp1IYQeUpegXVzLuBeczGpu+TmFwlWFxiWFyBmFwaSNbIWodMynEqFUqmmX7butLt859xG+LXVp8lePyZnw69opGgHA8zIGVRGqozlXgoL1iA4+N6bd7XmVWo7HJV3OM9DNbCA/wbYonXKvxC39z6MNbkGgyBxzFgEWo3aKviZfw7sNQuVnGbnRph5OcD+DTHLsubzbA0KpHRAIFP3Bal5Dh4LZq8/Z9F8+2FXzmsA7g+7BYV65N/98g8KKlpGo1GbBcq7r6dRiUKmXq83my61nLiM1PlF6txiOa/od8tw4uhGjZzWCWzBYE4nCFaPig8LDYZGaz/k+kpTYql1Sb2e1DYZubMLjLMB1uHr3Z3HkCvPE088gSeeeMLm/BUrVlhNi4qKQm5urs1lzp8/79I2RUZGYvfu3fjhhx9w6NAhGAwGPPDAA7JHZ5aiOOTu3bsXPXr0wIULF6xGK1WpVKYvbyJfkVcofdFgvGCQuktufodcIzG9iJ2LDxfviEuRuuvtllojGyd5W/3l7PXFs9ck0V7/O0d97hz1tZMzqIzO8kIlWI2Q4KL1OHPi9cfgCrgvvMp9PcBzNbBKm6ZZljf/1TyQANbhzFjTey+MiIOfVFizddPLappE+JQqZysw2msBIjndhbBr6xiUE3btj3BscHjc6QTHzz7VGwRZx5tOMNg93gx6AwoMOlNA1WjU0JlCb1GAlQqvxqBjfu4wny5mK6DaPrfYD6WOAqt1KDJvwWB5I6dommdv5piXtdUCwFdaMBiFhQUj6G7IdWV04qJlxGVcqXm1tc3FEV4dLeeoBtYeh/PNr0H8vLkyAY8++ihSUlKg1WolBzpWQnHIHTx4MJo2bYrNmzcjLi7O5Q0g8jSd3iC64237TrmtiwUbFx92Qq/lhYHSO+Gu9PF1+ULDxkneVvNBe00TpS6OHK0PcNznzlFfOznNJcOC7oVcwDdDK+D/wbVoncUbXuXQqNRQ390ug9mxWJxhV04XBLktPWyVtTvdzgi3Nh+PZCfoOuKOoFtcdDo9BAjQGfRQqe+F2iJqUxnzEXMBcbiVPnfY6h8ifc6xDp7i71Tz488qsFp8D+rN5msk5lsuD9g+vo2vD7gWeM3LSt3QMW6bZVnL8rbWY+917S0DmJ8LxefK0qFBCDIbz8FX+r0CvhNcHS0ra76M73Wr70Y/r8nVGQxQOxjxW2qZQGAwGDB9+nR8/PHH+Pvvv3Hy5ElUr14dEydORLVq1WwOdmWP4pB76tQpfPbZZ7jvvvsUvxhRcTFvZXDnxj8ICi9jUaLoBCEOo46Drfl084sE8wsEe80abTVrttWn11Z/XsD64tvehYazA1rZaqZoq9ZGTuC1N+CMvUeKOBpR1dEzMy2XDgtRQxsiXsbRSdVXalqLyrk3tAKBEVwVuXvcFdy5jVuF/6BUZFmo1cbaN4Po4lTps299KbA5w10DCJlzdURtdw1AZuvYFQQBel3REPuFt7ORb8iDOjTSNAaJ3iKgFtXuGr/zzJsmi88p5k2XpaaZL1P0/3tNoe3dVDH/TrUKo5bLWZwvXL2ZU7SM9A0duWNKAI7PQVLb5qi83cca2RnLwtYylkKDNdCGiselYWiVt++cCa5SbO9H/w65Jdm0adOwcuVKzJo1C4MGDTJNb9CgAd5///3iCbnNmzfH6dOnGXLJp5n3G9jzVmckT/0a6ohypiZjOr3BFEbN71Dfa8osiC4WzC8UzC8SNBLTzctbrUsi7CrtvwtYh11H/XeVjJIpWXOkMOza2q6i6bYv/u01R3TUDNFR80PjhZKxS0WpYDW0wdLli7OGtahcYAdWZ5cBnAiuCl5PrysAABzasAB79uzB0x99j9DIckWvK7O/m+3Xt7iB4uQFoNRySprQu3PgF28+MsrTARcA8u/kYuc3n6Fx48b496vxuHbtGmL7rYBeXQYajQaCQRDV6orOATpB1IzZnF4vmDVjNpiCrOU06/8LVucsKbbOXVLLKb5ZY+d8JvX6gOvjR3j6mdRKWzCo1OKBK0ppg0zjOfhq8+Ci7fD/0GpVztH3DFuX+q1Vq1Zh8eLFaNu2reiRtA0bNsSff/7p1Dplhdzff//d9P9XXnkFr776KrKystCgQQOrUZaVPPiXKFDZuyAh79AEBSOpY29MnlwdQNFJNUijCqiwWrTuwAusrrwmYHt/a6zq9+9ON/vsOnpWsqMBZeQEz0ANt/4QbMXb48IxFiRvWammq66ytx/lDGBkd91OPlbNFUoCrjNhWOlnILpVN1y8kg1gMoCimtxSodKXz4Fcwyp3XYD7QquorIxtVHq+9DXF8QghX5WRkSFZgWowGFBYWOjUOmWF3Pvvvx8qlUrUBLR///6m/xvnceAp8hWlSpUS/a4ODjXdETc/aUsNGiGaZuNi114tj631m7+GkdXFroOLXzkXvnIveBU9s9XWxa+NE5S9k5HdCzI7JzxHJy9HF7KWz9DTatQItTV4h4KLNl+pXQVKdmBVwjiWRIhWK5oeHBoGjUbNYIuSGWw1YaXQtnM3/PvX6XvztaWg0Wigulvu3rNQzb7ng1RW0+w9M9WVR83YO/bsDXTkqJ+oo2Pe0WsbuXL+sXksKvgM2J3uplrRsBA1StloBeRK7aqsMFqMtauA98KquLyC87EfdxEp6erXr4+ffvoJVatWFU3fsGEDGjdu7NQ6ZYXcc+fOObVyIm+xHBAtKEgteaFg6wJBTri1d1Hg6XArdZLwyMVFgIRbW9sj+vv7SFgtCUHVtA43BlYnFxb9GmwWcF0Ntq589uR+vu1OVxgMSmKotaRSqaAJEl8WqTVqqNQqq3BrXnMrFXzvPU9XOri6Em7tjeKrdBAkpTd0pF4fkHf8A66H22Lto2o2z7xcqSA1wmyEXEfrlFvGnTWrSgaK85WwqnRbXFmGfMOkSZPQq1cvZGRkwGAw4IsvvsCJEyewatUqfPPNN06tU1bItUzVRP5GG6Jxe7C1dzHgaqiVKsNga76sc8HW8vW1CpoOMqzaWN7bQdWCkusoy7cepFHf/VEWaKWm+XKgBZR/zk3znfy8y1k34L3mx8aylpuo0agRHFJ0qWQv2NoOsFJh13GoLfpd+pyi5JmqcvqWK72hA3ioxZCbamyVvq5oG2zMNw+1YcFq03o8MUKw0m2zKqfw+1TZ58SJFkZOfL872+zY35srl2SdO3fG+vXrMWPGDKhUKrz11lt44IEH8PXXX6N9+/ZOrVPxwFObNm2SnK5SqRAaGor77rsPiYmJTm0MkacEqdUIDb43eISv19RKvb4vNEOW2q57050LtID9E5OcC1p5j9BRiV5Hq1Z7rK+eLw6yZHd5Pw6qcmhsbJvlbgsN1pgGlAEYZm3Pk/GZdOEzf28dnguzcmlDNAjW3jsmiqMZsj/U1Nqc5kfNkJWMhm++njA7gxYW5yBLorI+WKvqSuB0pruOK8v5Cp3eALVe4SOEFJb3ZR06dECHDh3ctj7FIbdr165W/XMBcb/chx9+GF9++SXKli3rtg0lckVoiKaohoY1tNbTi7GGFii+QCunjLvWZckbYbWkBlV3CtaoTD+i6T7Qf9bZi3VvNjWWe5Hr7jCr5HNk+VlVWwxGFhyiQUhIUch11PTY32poLV8f8I0aWnvziiPQOlre/DvCXSPxm8p6sFa1OIOqK2HTlfMga3L934EDB3D8+HGoVCrUrVsXTZo0cXpdikPu9u3bMX78eEyfPh0PPvggAGDfvn2YMGECJk6ciKioKLz00ksYM2YMli5d6vSGEblTSJAaYfYe3m6nZtYXg6ytsoBvhFlXmxs72i4lZcwvYkX/lxlynQms3gyr7gqq/hJS1S7sa8t9FRasRsjdGppAr40tmu+fzYuVfr5cac4fFhYETYiGNbMOykltm6Pynu5HKznfyc+M+XKhQWpog1zvMnOvrJJuM74fVF1uWeTK+ZMh12/99ddfeP755/Hzzz+jTJkyAIAbN24gJSUFn376KRISEhSvU3HIHTFiBBYvXoyUlBTTtLZt2yI0NBQvvvgi0tPTMW/ePNHoy0TeVjo0CMF378YXR9NiW+U81bwY8K0a2aLl3dBvVuYJy5mLWI1KLWs5Z0+aroRVXwyqngiprgRUWet3sM0qi1q7sCD7Idfu9ACqgQX8oxYWUP7Zd7R+qxsfocHQaIselegLIdZy/VKvDwRujSzg/OcGkHvesd6f5p8HWzdIPRlWS1JQNXLuvO7fIVdnEKA2KHyEkMLyvqp///4oLCzE8ePHUbt2bQDAiRMn0L9/fwwYMADbtm1TvE7FIffMmTOIjIy0mh4ZGYmzZ88CAGrWrIlr164p3hgiTwmTeK6dp2tg5b6G6bXc2D+2aJ73AmzR6xd/iHV88a8S/V/uAFXOckdYdVdQ9beQ6iigekJYiBrakLsh14mLcFdqkQI5uCotC7g/vEouI7HPLF81PDQYQXdDLuD/tbC2yrozwNp7bUfLeaomVlxGeZ9yUbPyYhqZ/976vdD9xcXvdldaT7iyHazJ9V8//fQTfvnlF1PABYDatWtj/vz5aNGihVPrVBxymzRpgtdeew2rVq1CxYoVAQBXr17F66+/jmbNmgEATp06hcqVKzu1QUSeEKnVmGpofLnpsK3tuzfP94OrknLuCq9W5W3VaptND1KpZF+cuBpWfTGoBkJAdXW/Wi5fymxAGU/WFrlj4CbAvU2FAf8PrYAbbkpZLF46NAhBZl1d/KnmVWr7HJW3N89Tta+A98KrLZafLctzh5KR+YuWKd6g6q8h1e66ZPztgiw/wOQ3qlSpgsLCQqvpOp0OlSpVcmqdikPu0qVL0aVLF1SuXBkJCQlQqVS4ePEiqlevjq+++goAcOvWLUycONGpDSLyhIhQDbShZqOmuimsAu5vJmxvnUbuurh198BLSk6Mii6onbhwlQqm5tNUKpWi8OqOoOoPIbU4Aqq7+/s6YnN0ZYvfjX3tiiukAt6tXXWmfHH2Ufd2KwoAKKUNQnCodE0u4FpgBdzT59Xu+j1Q2wq4HloB7wdX++sUv67WbDuUjMwPeCeouiOkFndAVcrROZ78y6xZs/DKK6/gv//9L5o0aQKVSoUDBw5gxIgRmDNnjlPrVBxya9eujePHj2Pr1q04efIkBEFAnTp10L59e6jvfgl07drVqY0h8pRIi5Br5Knmg8VZC1McI466a72A+wKrHJZ/IvPf1WrlYcvXQ6qnA2pxhlNv9K0KDw5CaLDj06IrF8t2y/pgQHXmdUzL+cAgakqPWctXjAgNQrBZVxdfq1219/qOlgN8K6zKfT2j4vwcOtXVJUBCqrsDqqeCqFoN+PkThGAwGKBX+EgggyEwHiHUt29f5Obmonnz5ggKKvrO1el0CAoKQv/+/UVjPf3777+y1qk45AJFB+hjjz2Gxx57zJnFiYqdVqNGaQcXr4Ewkqi3+rHJ4a6gqpR5WLL8v7NByt0B1ZPhNNCDqZEzfxOVxTJatRpajfXNMEtOfW6cWMaVC12O8C0m99i03PZIrQYhocZBC91bkwp4NqAC7gupReX8J6gC7v2cyhl4SlTexbTljoDqT+GUaN68eW5fp6yQ++GHH+LFF19EaGgoPvzwQ7tlhw8f7pYNI3Kn8KAgUR8afxxYxZnXALzX5M+d4dQV5uHH8v+uhNVACKbeCqWeHlXZWdogNUIdPBrEyNsXse66gPXFQAp475FTli9r3tXFXiAFii+UAt4NpoBnwylQfDeSAHmfZctH0dlaxtfCqT8GU1c++/4+unJJ1qdPH7evU1bIff/999GzZ0+Ehobi/ffft1lOpVIx5JJPCg/WIMxBTW5xN+UDvN/nrCQMiGQeRi375LorqBZHKC3pgdQTNxUsHyGk1Whk1eSa84faEk8dn548Jr39eCkjy64u7qwZLSrrW4+dKa5A6o5li/NGk6Pmyr4eTH01lCoh5zvBV85XpNyhQ4cQHByMBg0aAAC++uorLF++HPXq1cPkyZMREhKieJ2yQu65c+ck/0/kL4wXr75W+wEETg2I0+stxn6krvbJdYRB1De2wxZ7fbQBIFitRrAbDopArIkvzmOsuI8j87+X5UtL9dN25jxS3M85BdzQWsAHRuj1lX6lUiPzl7RaUiW8cU5Su/HGtbfoDAJUJfQ5uS+99BLGjh2LBg0a4OzZs3j22Wfx9NNPY8OGDcjNzXWqObNTfXIBoKCgAOfOnUONGjVMHYSJfM3+/fsBFDVD1MpshmgLLyjd8Fpe6HvjiT65SjCAyuONY6N0VBkAQFZWFoCi5qaOmpx6ii8cJ75wjHi7f150XBVcOJmOvLw8AEC4RoNQBdc4bmmu6sZjwV2PgjFy93NIi2vUXXeuU6NRQePB74lAD6JEUk6ePIn7778fALBhwwa0atUKa9euxc8//4znnnuueEJubm4uXnnlFaxcudK0UdWrV8fw4cMRHx+PsWPHKt4IIk8YOmIMKpYtDQAI1qgRrPC5dka+/qXs7YtCS77WJ8ZTfXJd5evHFeB7x5YSco7D6Og4PN1nKCZPngxA3jHhD383W/zh7+nt74/EWvVRNraK6Zgw9tN2d1iU4u4AKfkaxbB/i+MxLsXdWkKnKb4bpN46L/nCd5u7n31O/kMQBNNI0Tt27MATTzwBAEhISMC1a9ecWqfikDtu3Dj89ttvSEtLE42u3K5dO0yaNIkhl3ySRqOSNeiH3XX4wAnAW3yhlslZ5iduNcT/94WTuj2BcML2p8+NO74nios/7VdnePM7xzykhQcFIcyDrdV87bme3v7O8fZxbeu4K+4bpL50bvL2MWGL1LHi7ePHVTq9ASqFjxDSKSwPABkZGXjjjTfw3Xff4c6dO6hVqxaWLl2KJk2a2Fxm165dGD16NNLT0xEfH4/XX38dgwcPFpX5/PPPMXHiRJw5cwY1atTA9OnT8dRTT8napqZNm2LatGlo164ddu3ahYULFwIo6iYbExOj+D0CToTcL7/8EuvXr8dDDz0k+nKuV68ezpw549RGEHmaKzW5/saXTo6+xtN9cn2Fv5/olXLlgtMTTdj9+aaQLyuu7zbz7wVPN021JRA+w/7wOZB7THlq0EJH/OEcFQjHakly/fp1tGjRAm3atMF3332H6OhonDlzBmXKlLG5zLlz5/D4449j0KBBWL16NX7++WcMGTIEFStWxH/+8x8AwJ49e/Dss8/i7bffxlNPPYWNGzeie/fu2L17N5o3b+5wu+bNm4eePXviyy+/xPjx43HfffcBAD777DOkpKQ49V4Vh9yrV68iOjraavrt27d97o4kkVGQ2n9qaMg7eKK2zx8uWJ1h/r6C1GoElZCbYYHM1WBgfkM0EG+QlsQboe5sBuvNG6T+fp7yeA14gJ6n3Ondd99FQkICli9fbppWrVo1u8t8/PHHqFKliqlfbN26dXHgwAHMmTPHFHLnzZuH9u3bY9y4cQCKWv7u2rUL8+bNw6effupwuxo2bIijR49aTZ89ezY0Cp96YKQ45DZr1gybN2/GK6+8AuDe3a0lS5YgOTnZqY0g8jRXLlQMATJyHXlu4CmeWItHcYzE7Q81J+RZ5t0a/KkJe0nm6fDnjUELlSoJ5yFH54CSeAPHKCcnR/S7VquFVqu1Krdp0yZ06NAB3bp1w65du1CpUiUMGTIEgwYNsrnuPXv2IDU1VTStQ4cOWLp0KQoLCxEcHIw9e/Zg1KhRVmWcGTDKXGhoqNPLKg65M2fOxGOPPYZjx45Bp9Phgw8+QHp6Ovbs2YNdu3Y5vSHFbcGCBZg9ezYyMzNRv359zJs3D4888oi3N4s8xJWh5dUeusAxCAzPxc2XBp5yp5J8YneV2g8uXql4md/okLpByhufxcOXvp8D8dzB84bv0ekFqPQKHyF0t3xCQoJo+qRJk0wD6Jk7e/YsFi5ciNGjR+PNN9/Evn37MHz4cGi1WvTu3VvyNbKysqz6xcbExECn0+HatWuIi4uzWcb49AJvUBxyU1JS8PPPP2POnDmoUaMGtm3bhgceeAB79uwxPcDX161fvx4jR47EggUL0KJFCyxatAgdO3bEsWPHUKVKFW9vHnmARl3040s0kH+CcWJcAZIgGoQqAJ6pF8i88XkNlItXco35jQ6pAeo8deOTfJe/DVroLd5uCVMMg6D7rEuXLiEyMtL0u1QtLgAYDAY0bdoUM2bMAAA0btwY6enpWLhwoc2QC1gPkifcraix7K9uWcabXVmdGjKwQYMGpkcI+aO5c+diwIABGDhwIICiduRbt27FwoULMXPmTC9vHXmCRiPua+dvd+LVd7sjsPbXNebByRdvfFDxMz8GeONDPn//LrL3dxbX2nn/wp28z1f65BLZEhkZKQq5tsTFxaFevXqiaXXr1sXnn39uc5nY2FirGtkrV64gKCgI5cuXt1vG2ZGR3UF2yLVs622LnB3sTQUFBTh48KDVo45SU1Pxyy+/eGmryNPMmyHqBcEvamukgjgvwJXz94vxksobx7q7bnyUhJYXgfxdxCbsZMkf+uSS/w/MpTMYoDIofISQwvItWrTAiRMnRNNOnjyJqlWr2lwmOTkZX3/9tWjatm3b0LRpUwQHB5vKbN++XdQvd9u2bU6PjOwOskNumTJl7FY5G6uk9Xq9WzbMU65duwa9Xq+o3Xh+fj7y8/NNv8sN/OSb3PklqPdggCrOIO5vNdtKqG00pSnOx0CQ7/JEUyq2EHCNL90k8PUm7IH83U1E7jdq1CikpKRgxowZ6N69O/bt24fFixdj8eLFpjLjxo1DRkYGVq1aBQAYPHgwPvroI4wePRqDBg3Cnj17sHTpUtGoySNGjEDLli3x7rvvokuXLvjqq6+wY8cO7N692+a2jB49WvZ2z507V/F7lR1yd+7cafq/IAh4/PHH8X//93+oVKmS4hf1BUrajc+cORNTpkyxmh4WXPRDvslg9rcpF65BeLhzQ5BT4LituXdQxEQGIzycH+CSzvyYiI0KQXh4iBe3hnzB7ZBC0/8TymkRHi7dt41Kjtth9ypwqlYIRXi48yO+kufkhBR4exN8XrNmzbBx40aMGzcOU6dORWJioukZtUaZmZm4ePGi6ffExER8++23GDVqFP773/8iPj4eH374oenxQUDRmE3r1q3DhAkTMHHiRNSoUQPr16+3+4zcw4cPi34/ePAg9Ho9ateuDaCohlmj0aBJkyZOvVeVIDhXFRUREYHffvsN1atXd+qFvaWgoAClSpXChg0b8NRTT5mmjxgxAkeOHJEcIVqqJjchIQHZ2dk+3zy7JBMEAbm5uQCAUqVK8TnOxGOCrPCYIEs8JsgSjwn/kJOTg6ioKL+7Pjdud/v3v0dwWGlFyxbeuYXto9r63Xu2NHfuXKSlpWHlypUoW7YsAOD69evo168fHnnkEbz66quK1+nUwFP+LCQkBE2aNMH27dtFIXf79u3o0qWL5DK2njVFvk2lUiE8PNzbm0E+hMcEWeIxQZZ4TJAlHhNUHPR6KH6EkI/3EpXtvffew7Zt20wBFwDKli2LadOmITU1lSFXrtGjR6NXr15o2rQpkpOTsXjxYly8eBGDBw/29qYRERERERGVGDk5Ofj7779Rv3590fQrV67g5s2bTq3TpZDrr801nn32Wfzzzz+YOnUqMjMzkZSUhG+//dbuyGJERERERETkXk899RT69euH9957Dw899BAAYO/evXjttdfw9NNPO7VO2SHX8gXy8vIwePBgq+YbX3zxhVMbUtyGDBmCIUOGeHsziIiIiIiISqyPP/4YY8aMwQsvvIDCwqLB/4KCgjBgwADMnj3bqXXKDrlRUVGi31944QWnXpCIiIiIiIju0ekNip+hpvOlZ665oFSpUliwYAFmz56NM2fOQBAE3HfffS71hZcdcpcvX+70ixARERERERHZEh4ejoYNG7plXSVy4CkiIiIiIiLyvtu3b+Odd97B999/jytXrsBgENdQnz17VvE6GXKJiIiIiIi8SG8QlD9CyKCsvK8aOHAgdu3ahV69eiEuLs4tgxsz5BIREREREZFXfPfdd9i8eTNatGjhtnWq3bYmIiIiIiIiIgXKli2LcuXKuXWdDLlERERERETkFW+//Tbeeust5Obmum2dbK5MRERERETkRXq9ASqFjwTSB8gjhN577z2cOXMGMTExqFatGoKDg0XzDx06pHidDLlERERERETkFV27dnX7OhlyiYiIiIiIyCsmTZrk9nWyTy6RDDdv3sTIkSNRtWpVhIWFISUlBfv37zfNnzNnDmJiYhATE4P3339ftOyvv/6KJk2aQK/XF/dmkwdlZGTghRdeQPny5VGqVCncf//9OHjwoGk+j4mSZebMmWjWrBkiIiIQHR2Nrl274sSJE6IygiBg8uTJiI+PR1hYGFq3bo309HRRmdGjR6NcuXKoUqUK1q1bJ5r3v//9D507d/b4eyH3mDx5MlQqlegnNjbWNJ/fESXXggULkJiYiNDQUDRp0gQ//fSTaR6Pi5JLrzc49UPSWJNLJMPAgQPxxx9/4JNPPkF8fDxWr16Ndu3a4dixY/j333/x1ltv4ZtvvoEgCHjiiSfQvn17JCUlobCwEIMHD8bixYuh0Wi8/TbITa5fv44WLVqgTZs2+O677xAdHY0zZ86gTJkyAICjR4/ymChhdu3ahaFDh6JZs2bQ6XQYP348UlNTcezYMYSHhwMAZs2ahblz52LFihWoVasWpk2bhvbt2+PEiROIiIjA119/jbVr12Lbtm04deoU+vXrh/bt26N8+fK4ceMGxo8fj++//97L75SUqF+/Pnbs2GH63fiZ53dEybV+/XqMHDkSCxYsQIsWLbBo0SJ07NgRx44dQ3Z2No8LKjHKlSuHkydPokKFCihbtqzdZ+P++++/itfPkEvkwJ07d/D555/jq6++QsuWLQEU3aH/8ssvsXDhQjRs2BANGzbEo48+CgBo2LAhjh8/jqSkJMyePRstW7ZEs2bNvPkWyM3effddJCQkYPny5aZp1apVM/3/+PHjPCZKmC1btoh+X758OaKjo3Hw4EG0bNkSgiBg3rx5GD9+PJ5++mkAwMqVKxETE4O1a9fipZdewvHjx9G6dWs0bdoUTZs2xciRI3H27FmUL18er7/+OoYMGYIqVap44+2Rk4KCgkS1t0b8jii55s6diwEDBmDgwIEAgHnz5mHr1q1YuHAhGjduzOOCSoz3338fERERpv/bC7nOYMglckCn00Gv1yM0NFQ0PSwsDLt370bPnj1x8uRJXLx4EYIg4OTJk0hKSsLp06exYsUKURNWCgybNm1Chw4d0K1bN+zatQuVKlXCkCFDMGjQIABAgwYNeEyUcNnZ2QBgeu7fuXPnkJWVhdTUVFMZrVaLVq1a4ZdffsFLL72ERo0aYfHixbh+/TrOnj2LO3fu4L777sPu3btx6NAhLFy40CvvhZx36tQpxMfHQ6vVonnz5pgxYwaqV6/O74gSqqCgAAcPHsTYsWNF01NTU/HLL7+gd+/ePC6oxOjTp4/p/3379nX7+tknl8iBiIgIJCcn4+2338bly5eh1+uxevVq/Prrr8jMzETdunUxY8YMtG/fHqmpqZg5cybq1q2LwYMHY9asWdi6dSuSkpLQuHFj/Pjjj95+O+QGZ8+excKFC1GzZk1s3boVgwcPxvDhw7Fq1SoA4DFRwgmCgNGjR+Phhx9GUlISACArKwsAEBMTIyobExNjmtehQwe88MILaNasGfr27YuVK1ciPDwcL7/8MhYtWoSFCxeidu3aaNGihVVfXvI9zZs3x6pVq7B161YsWbIEWVlZSElJwT///MPviBLq2rVr0Ov1Nr8HeFyUbAa9AL3CH4Ne8PZmu0XPnj2xZMkSnDx50m3rZE0ukQyffPIJ+vfvj0qVKkGj0eCBBx5Ajx49TM/tGjx4MAYPHmwqv2LFClM4rl27Nvbv34+//voLzz33HM6dOwetVuutt0JuYDAY0LRpU8yYMQMA0LhxY6Snp2PhwoXo3bs3AB4TJdmwYcPw+++/Y/fu3VbzLJtjCYIgmjZ58mRMnjxZ9Hu7du0QHByMadOm4ejRo/jmm2/Qu3dv1ur4uI4dO5r+36BBAyQnJ6NGjRpYuXIlRo8eze+IEsze9wCPCyqJSpcujffeew8vvfQSYmNj0apVK7Rq1QqtW7dGnTp1nFona3KJZKhRowZ27dqFW7du4dKlS9i3bx8KCwuRmJhoVfbatWuYOnUq5s+fj19//RW1atVCzZo10aZNGxQWFrr1LhV5R1xcHOrVqyeaVrduXVy8eFGyPI+JkuOVV17Bpk2bsHPnTlSuXNk03dgv01hra3TlyhWrWh2jP//8E2vWrMHbb7+NtLQ0tGzZEhUrVkT37t1x6NAh5OTkeO6NkNuFh4ejQYMGOHXqlNU8fkeUDBUqVIBGo5H9PcDjgkqKRYsW4c8//8Tly5cxd+5cREVF4YMPPkD9+vURFxfn1DoZcokUCA8PR1xcHK5fv46tW7eiS5cuVmVGjhyJUaNGoXLlytDr9SgsLDTNM/bvJf/WokULq8fDnDx5ElWrVpUsz2Mi8AmCgGHDhuGLL77ADz/8YHUDLDExEbGxsdi+fbtpWkFBAXbt2oWUlBTJ9b344ot47733ULp0adFxY/zXYOCjI/xJfn4+jh8/LnnBxu+IkiEkJARNmjQRfQ8AwPbt2yW/B3hclCzF8QghR482s/TFF1+gffv2qFixIiIjI5GcnIytW7dalZs3bx5q166NsLAwJCQkYNSoUcjLy1O8DyIiIlC2bFmULVsWZcqUsTl4nxxsrkwkw9atWyEIAmrXro3Tp0/jtddeQ+3atdGvXz9Rue3bt+PUqVOmvpkPPvgg/vzzT3z33Xe4dOkSNBoNateu7Y23QG40atQopKSkYMaMGejevTv27duHxYsXY/HixVZleUyUDEOHDsXatWvx1VdfISIiwlRTExUVhbCwMKhUKowcORIzZsxAzZo1UbNmTcyYMQOlSpVCjx49rNa3ZMkSREdH48knnwRQdGNl8uTJ2Lt3L7777jvUq1fP9Mgq8k1jxoxB586dUaVKFVy5cgXTpk1DTk6OaLAVgN8RJc3o0aPRq1cvNG3aFMnJyVi8eDEuXrwoaqIM8Lggz7H1aDMpP/74I9q3b48ZM2agTJkyWL58OTp37oxff/0VjRs3BgCsWbMGY8eOxbJly5CSkoKTJ0+aBpKyfNazLW+88QZ27dqF3377DUlJSWjZsiXGjRuHli1bOn+uE0ix7OxsAYCQnZ3t7U2hYrJ+/XqhevXqQkhIiBAbGysMHTpUuHHjhqhMbm6uUKtWLeHw4cOi6UuWLBFiYmKEKlWqCN98800xbjV50tdffy0kJSUJWq1WqFOnjrB48WKrMjwmSg4Akj/Lly83lTEYDMKkSZOE2NhYQavVCi1bthSOHj1qta6srCyhatWqQkZGhmj6lClThHLlygl16tQRfv31V0+/JXLRs88+K8TFxQnBwcFCfHy88PTTTwvp6emiMvyOKJn++9//ClWrVhVCQkKEBx54QNi1a5doPo8L5/jr9blxu+8f/7XQ5O0fFP3cP/5rRe950qRJQqNGjVza3nr16glTpkwx/T506FDh0UcfFZUZPXq08PDDD8tep0qlEqKjo4WZM2cKx44dc2n7TOsUBCEwhuUqRjk5OYiKikJ2djYiIyO9vTlERERERCWav16fG7f7/vFfQxMarmhZfd5tHJneGZcuXRK9Z61WKzko2eTJkzF79mxERUVZPdpMDoPBgGrVquH111/HsGHDAADr1q3D4MGDsW3bNjz44IM4e/YsOnXqhD59+lg9LsuW3377Dbt27UJaWhp++uknaDQa08BTrVu3Rt26dWWtxxybKxMREREREXmRXi8ACh8JpL9bPiEhQTR90qRJopH6jYyPNqtVqxb+/vtvTJs2DSkpKUhPT0f58uUdvt57772H27dvo3v37qZpzz33HK5evYqHH34YgiBAp9Ph5Zdflh1wAaBRo0Zo1KgRhg8fDqAo9M6bNw/Dhw+HwWBwqv85Qy4REREREZGfkqrJleLo0Wb2fPrpp5g8eTK++uorREdHm6anpaVh+vTpWLBgAZo3b47Tp09jxIgRiIuLw8SJE2W/h8OHDyMtLc1Um5uTk4P7778fbdq0kb0Ocwy5REREREREfioyMtKpJtr2Hm1mbv369RgwYAA2bNiAdu3aieZNnDgRvXr1wsCBAwEUhefbt2/jxRdfxPjx46FWO36YT9myZXHr1i00atQIrVu3xqBBg9CyZUuXmp0z5BIREREREZUwxkebPfLIIzbLfPrpp+jfvz8+/fRTdOrUyWp+bm6uVZDVaDQQBAFyh3765JNPXA61lhhyiYiIiIiIvEhvMAAKn3urV/i8dEePNhs3bhwyMjJMj6769NNP0bt3b3zwwQd46KGHTI/HCwsLQ1RUFACgc+fOmDt3Lho3bmxqrjxx4kQ8+eSTdh9PZO6JJ55Q9D7kYMglIiIiIiIKcH/99Reef/55XLt2DRUrVsRDDz2EvXv3omrVqgCAzMxMXLx40VR+0aJF0Ol0GDp0KIYOHWqa3qdPH6xYsQIAMGHCBKhUKkyYMAEZGRmoWLEiOnfujOnTpxfre7PERwg5wV+HKCciIiIiCkT+en1u3O56r38JjVbhI4Tyb+PYrK5+956LA2tyiYiIiIiIvEivd6K5ssLyJYnj4a6IiIiIiIiI/ARDLhEREREREQUMhlwiIiIiIiIKGOyTS0RERERE5EU6nQBBo2w8YL2O4wfbwppcIiIiIiIiChgMuURERERERBQw2FyZiIiIiIjIiwx6QfEjhAx6Nle2hTW5REREREREFDAYcomIiIiIiChgMOQSERERERFRwGCfXCIiIiIiIi/S6w0QFPfJVVa+JGFNLhEREREREQUMhlwiIiIiIiIKGAy5REREREREFDDYJ5eIiIiIiMiLBIMAwaDsubdKy5ckrMklIiIiIiKigMGQS0RERERERAGDzZWJiIiIiIi8SG/QQ9DrFS1jMCgrX5KwJpeIiIiIiIgCBkMuERERERERBQyGXCIiIiIiohJm5syZUKlUGDlypM0yaWlpUKlUVj9//vmnqNyNGzcwdOhQxMXFITQ0FHXr1sW3337r4XdgG/vkEhEREREReZFBbwD0BuXLOGn//v1YvHgxGjZsKKv8iRMnEBkZafq9YsWKpv8XFBSgffv2iI6OxmeffYbKlSvj0qVLiIiIcHr7XMWQS0REREREVELcunULPXv2xJIlSzBt2jRZy0RHR6NMmTKS85YtW4Z///0Xv/zyC4KDgwEAVatWddfmOoXNlYmIiIiIiPxUTk6O6Cc/P99u+aFDh6JTp05o166d7Ndo3Lgx4uLi0LZtW+zcuVM0b9OmTUhOTsbQoUMRExODpKQkzJgxA3qFo0W7E2tyiYiIiIiIvMiV5soJCQmi6ZMmTcLkyZMll1m3bh0OHTqE/fv3y3qNuLg4LF68GE2aNEF+fj4++eQTtG3bFmlpaWjZsiUA4OzZs/jhhx/Qs2dPfPvttzh16hSGDh0KnU6Ht956S9F7cheGXCIiIiIiIj916dIlUX9ZrVZrs9yIESOwbds2hIaGylp37dq1Ubt2bdPvycnJuHTpEubMmWMKuQaDAdHR0Vi8eDE0Gg2aNGmCy5cvY/bs2Qy5REREREREpExkZKQo5Npy8OBBXLlyBU2aNDFN0+v1+PHHH/HRRx8hPz8fGo3G4XoeeughrF692vR7XFwcgoODRcvWrVsXWVlZKCgoQEhIiMJ35Dq/6JN7/vx5DBgwAImJiQgLC0ONGjUwadIkFBQUiMpdvHgRnTt3Rnh4OCpUqIDhw4dblTl69ChatWqFsLAwVKpUCVOnToUgCMX5doiIiIiIiIpV27ZtcfToURw5csT007RpU/Ts2RNHjhyRFXAB4PDhw4iLizP93qJFC5w+fRoGw73m1idPnkRcXJxXAi7gJzW5f/75JwwGAxYtWoT77rsPf/zxBwYNGoTbt29jzpw5AIruQnTq1AkVK1bE7t278c8//6BPnz4QBAHz588HUNQpu3379mjTpg3279+PkydPom/fvggPD8err77qzbdIREREREQllF6vh6BwoCaDwvIRERFISkoSTQsPD0f58uVN08eNG4eMjAysWrUKADBv3jxUq1YN9evXR0FBAVavXo3PP/8cn3/+uWkdL7/8MubPn48RI0bglVdewalTpzBjxgwMHz5c0fa5k1+E3MceewyPPfaY6ffq1avjxIkTWLhwoSnkbtu2DceOHcOlS5cQHx8PAHjvvffQt29fTJ8+HZGRkVizZg3y8vKwYsUKaLVaJCUl4eTJk5g7dy5Gjx4NlUrllfdHRERERETkbZmZmbh48aLp94KCAowZMwYZGRkICwtD/fr1sXnzZjz++OOmMgkJCdi2bRtGjRqFhg0bolKlShgxYgTeeOMNb7wFAH4ScqVkZ2ejXLlypt/37NmDpKQkU8AFgA4dOiA/Px8HDx5EmzZtsGfPHrRq1UrUGbtDhw4YN24czp8/j8TERMnXys/PFw3FnZOT44F3REREREREVHzS0tJEv69YsUL0++uvv47XX3/d4XqSk5Oxd+9eN26Za/yiT66lM2fOYP78+Rg8eLBpWlZWFmJiYkTlypYti5CQEGRlZdksY/zdWEbKzJkzERUVZfqxHKabiIiIiIjIWQa9wakfkubVkDt58mSoVCq7PwcOHBAtc/nyZTz22GPo1q0bBg4cKJon1dxYEATRdMsyxkGn7DVVHjduHLKzs00/ly5dUvxeiYiIiIiIyPO82lx52LBheO655+yWqVatmun/ly9fRps2bZCcnIzFixeLysXGxuLXX38VTbt+/ToKCwtNtbWxsbFWNbZXrlwBAKsaXnNardbm86aIiIiIiIjId3g15FaoUAEVKlSQVTYjIwNt2rRBkyZNsHz5cqjV4kro5ORkTJ8+HZmZmaYhrbdt2watVmt6FlRycjLefPNN0fOatm3bhvj4eFGYJiIiIiIiIv/kF31yL1++jNatWyMhIQFz5szB1atXkZWVJaqVTU1NRb169dCrVy8cPnwY33//PcaMGYNBgwaZHo7co0cPaLVa9O3bF3/88Qc2btyIGTNmcGRlIiIiIiLyGsGJ/rgC++Ta5BejK2/btg2nT5/G6dOnUblyZdE8Y59ajUaDzZs3Y8iQIWjRogXCwsLQo0cP0yOGACAqKgrbt2/H0KFD0bRpU5QtWxajR4/G6NGji/X9EBERERERkWeoBGNKJNlycnIQFRWF7OxsUy0xERERERF5h79enxu3u0z3JVCFlFK0rFCQixv/G+R377k4+EVzZSIiIiIiIiI5/KK5MhERERERUaDSGwxQ6fWKlhEM7JNrC2tyiYiIiIiIKGAw5BIREREREVHAYHNlIiIiIiIiLzLoDVCplTU/5iOEbGNNLhEREREREQUMhlwiIiIiIiIKGAy5REREREREFDDYJ5eIiIiIiMiL2CfXvViTS0RERERERAGDIZeIiIiIiIgCBpsrExEREREReZFBr4dKrVe0jKBXVr4kYU0uERERERERBQyGXCIiIiIiIgoYDLlEREREREQBbuHChWjYsCEiIyMRGRmJ5ORkfPfdd3aXWbNmDRo1aoRSpUohLi4O/fr1wz///CNZdt26dVCpVOjatasHtl4ZhlwiIiIiIiJv0hc696NA5cqV8c477+DAgQM4cOAAHn30UXTp0gXp6emS5Xfv3o3evXtjwIABSE9Px4YNG7B//34MHDjQquyFCxcwZswYPPLII069fXdjyCUiIiIiIgpwnTt3xuOPP45atWqhVq1amD59OkqXLo29e/dKlt+7dy+qVauG4cOHIzExEQ8//DBeeuklHDhwQFROr9ejZ8+emDJlCqpXr14cb8UhhlwiIiIiIiI/lZOTI/rJz893uIxer8e6detw+/ZtJCcnS5ZJSUnBX3/9hW+//RaCIODvv//GZ599hk6dOonKTZ06FRUrVsSAAQPc8n7cgSGXiIiIiIjIm/Q6J5or6wAACQkJiIqKMv3MnDnT5sscPXoUpUuXhlarxeDBg7Fx40bUq1dPsmxKSgrWrFmDZ599FiEhIYiNjUWZMmUwf/58U5mff/4ZS5cuxZIlS9y7P1zEkEtEREREROSnLl26hOzsbNPPuHHjbJatXbs2jhw5gr179+Lll19Gnz59cOzYMcmyx44dw/Dhw/HWW2/h4MGD2LJlC86dO4fBgwcDAG7evIkXXngBS5YsQYUKFTzy3pylEgRB8PZG+JucnBxERUUhOzsbkZGR3t4cIiIiIqISzV+vz43brW3/LlTBoYqWFQrzkL/9DZfec7t27VCjRg0sWrTIal6vXr2Ql5eHDRs2mKbt3r0bjzzyCC5fvoy///4bjRs3hkajMc03GAwAALVajRMnTqBGjRpObZergrzyqkRERERERORVgiDY7MObm5uLoCBxXDQGWkEQUKdOHRw9elQ0f8KECbh58yY++OADJCQkeGajZWDIJSIiIiIi8iaDztTHVtEyCrz55pvo2LEjEhIScPPmTaxbtw5paWnYsmULAGDcuHHIyMjAqlWrABSNxjxo0CAsXLgQHTp0QGZmJkaOHIkHH3wQ8fHxAICkpCTRa5QpU0ZyenFjyCUiIiIiIgpwf//9N3r16oXMzExERUWhYcOG2LJlC9q3bw8AyMzMxMWLF03l+/bti5s3b+Kjjz7Cq6++ijJlyuDRRx/Fu+++6623IBv75DrBX9v8ExEREREFIn+9Pjf1yW07HaoghX1ydXnI/368373n4sDRlYmIiIiIiChgsLkyERERERGRN+kLAZXGcTnLZUgSa3KJiIiIiIgoYDDkEhERERERUcBgc2UiIiIiIiJv0usAlcJHCCl95FAJwppcIiIiIiIiChgMuURERERERBQwGHKJiIiIiIgoYLBPLhERERERkTfpdAAUPhJIxz65trAml4iIiIiIiAIGQy4REREREREFDDZXJiIiIiIi8iZ9IaBSWP+oV9i8uQRhTS4REREREREFDIZcIiIiIiIiChgMuURERERERBQw2CeXiIiIiIjIm/Q6QKVRvgxJYk0uERERERERBQyGXCIiIiIiIgoYDLlEREREREQUMNgnl4iIiIiIyJsMhYBeYf2jgc/JtYU1uURERERERBQwGHKJiIiIiIgoYDDkEhEREREReZNeX/RIIEU/ekUvsXDhQjRs2BCRkZGIjIxEcnIyvvvuO5vlMzMz0aNHD9SuXRtqtRojR460KrNkyRI88sgjKFu2LMqWLYt27dph3759St+92zHkEhERERERBbjKlSvjnXfewYEDB3DgwAE8+uij6NKlC9LT0yXL5+fno2LFihg/fjwaNWokWSYtLQ3PP/88du7ciT179qBKlSpITU1FRkaGJ9+KQypBEASvboEfysnJQVRUFLKzsxEZGentzSEiIiIiKtH89frcuN3ahi9BpQlRtKygL0D+74tces/lypXD7NmzMWDAALvlWrdujfvvvx/z5s2zW06v16Ns2bL46KOP0Lt3b6e2yR04urITjPcFcnJyvLwlRERERERkvC732/o7fQEUb7m+AIB1JtFqtdBqtfYX1euxYcMG3L59G8nJyUpf2abc3FwUFhaiXLlyblunMxhynXDz5k0AQEJCgpe3hIiIiIiIjG7evImoqChvb4ZsISEhiI2NRVb6cqeWL126tFUmmTRpEiZPnixZ/ujRo0hOTkZeXh5Kly6NjRs3ol69ek69tpSxY8eiUqVKaNeundvW6QyGXCfEx8fj0qVLiIiIgEqlcuu6c3JykJCQgEuXLvlVUwtfxH3pPtyX7sN96T7cl+7Dfek+3Jfuw33pPiVhXwqCgJs3byI+Pt7bm6JIaGgozp07h4KCAqeWFwTBKo/Yq8WtXbs2jhw5ghs3buDzzz9Hnz59sGvXLrcE3VmzZuHTTz9FWloaQkNDXV6fKxhynaBWq1G5cmWPvoZx1DNyHfel+3Bfug/3pftwX7oP96X7cF+6D/el+wT6vvSnGlxzoaGhxRYKQ0JCcN999wEAmjZtiv379+ODDz7AokWLXFrvnDlzMGPGDOzYsQMNGzZ0x6a6hCGXiIiIiIioBBIEAfn5+S6tY/bs2Zg2bRq2bt2Kpk2bumnLXMOQS0REREREFODefPNNdOzYEQkJCbh58ybWrVuHtLQ0bNmyBQAwbtw4ZGRkYNWqVaZljhw5AgC4desWrl69iiNHjiAkJMTUvHnWrFmYOHEi1q5di2rVqiErKwtAUV/h0qVLF+8bNMOQ62O0Wi0mTZrkcEQ0coz70n24L92H+9J9uC/dh/vSfbgv3Yf70n24LwkA/v77b/Tq1QuZmZmIiopCw4YNsWXLFrRv3x4AkJmZiYsXL4qWady4sen/Bw8exNq1a1G1alWcP38eALBgwQIUFBTgmWeeES1nb/Cr4sDn5BIREREREVHAUHt7A4iIiIiIiIjchSGXiIiIiIiIAgZDLhEREREREQUMhlwiIiIiIiIKGAy5XnD+/HkMGDAAiYmJCAsLQ40aNTBp0iQUFBSIyqlUKqufjz/+WFTm6NGjaNWqFcLCwlCpUiVMnToVHEusaKS3xMREhIaGokmTJvjpp5+8vUk+Z+bMmWjWrBkiIiIQHR2Nrl274sSJE6Iyffv2tToGH3roIVGZ/Px8vPLKK6hQoQLCw8Px5JNP4q+//irOt+J1kydPttpPsbGxpvmCIGDy5MmIj49HWFgYWrdujfT0dNE6uB+LVKtWTfK7b+jQoQB4TNrz448/onPnzoiPj4dKpcKXX34pmu+u4/D69evo1asXoqKiEBUVhV69euHGjRsefnfFy96+LCwsxBtvvIEGDRogPDwc8fHx6N27Ny5fvixaR+vWra2O1eeee05UpqTvS8B9n2nuS+nrRpVKhdmzZ5vK8LikkoIh1wv+/PNPGAwGLFq0COnp6Xj//ffx8ccf480337Qqu3z5cmRmZpp++vTpY5qXk5OD9u3bIz4+Hvv378f8+fMxZ84czJ07tzjfjs9Zv349Ro4cifHjx+Pw4cN45JFH0LFjR6sh0Uu6Xbt2YejQodi7dy+2b98OnU6H1NRU3L59W1TuscceEx2D3377rWj+yJEjsXHjRqxbtw67d+/GrVu38MQTT0Cv1xfn2/G6+vXri/bT0aNHTfNmzZqFuXPn4qOPPsL+/fsRGxuL9u3b4+bNm6Yy3I9F9u/fL9qP27dvBwB069bNVIbHpLTbt2+jUaNG+OijjyTnu+s47NGjB44cOYItW7Zgy5YtOHLkCHr16uXx91ec7O3L3NxcHDp0CBMnTsShQ4fwxRdf4OTJk3jyySetyg4aNEh0rC5atEg0v6TvSyN3fKa5LyHah5mZmVi2bBlUKhX+85//iMrxuKQSQSCfMGvWLCExMVE0DYCwceNGm8ssWLBAiIqKEvLy8kzTZs6cKcTHxwsGg8FTm+rzHnzwQWHw4MGiaXXq1BHGjh3rpS3yD1euXBEACLt27TJN69Onj9ClSxeby9y4cUMIDg4W1q1bZ5qWkZEhqNVqYcuWLZ7cXJ8yadIkoVGjRpLzDAaDEBsbK7zzzjumaXl5eUJUVJTw8ccfC4LA/WjPiBEjhBo1api+03hMymN5/nDXcXjs2DEBgLB3715TmT179ggAhD///NPD78o7HJ2LBUEQ9u3bJwAQLly4YJrWqlUrYcSIETaX4b4s4o7PNPeltC5dugiPPvqoaBqPSyopWJPrI7Kzs1GuXDmr6cOGDUOFChXQrFkzfPzxxzAYDKZ5e/bsQatWrUQP9u7QoQMuX75sekBzSVNQUICDBw8iNTVVND01NRW//PKLl7bKP2RnZwOA1XGYlpaG6Oho1KpVC4MGDcKVK1dM8w4ePIjCwkLR/o6Pj0dSUlKJ29+nTp1CfHw8EhMT8dxzz+Hs2bMAgHPnziErK0u0j7RaLVq1amXaR9yP0goKCrB69Wr0798fKpXKNJ3HpHLuOg737NmDqKgoNG/e3FTmoYceQlRUVInev9nZ2VCpVChTpoxo+po1a1ChQgXUr18fY8aMEdWac1/e4+pnmvvS2t9//43NmzdjwIABVvN4XFJJEOTtDSDgzJkzmD9/Pt577z3R9Lfffhtt27ZFWFgYvv/+e7z66qu4du0aJkyYAADIyspCtWrVRMvExMSY5iUmJhbL9vuSa9euQa/Xm/aDUUxMDLKysry0Vb5PEASMHj0aDz/8MJKSkkzTO3bsiG7duqFq1ao4d+4cJk6ciEcffRQHDx6EVqtFVlYWQkJCULZsWdH6Str+bt68OVatWoVatWrh77//xrRp05CSkoL09HTTfpA6Ji9cuAAA3I82fPnll7hx4wb69u1rmsZj0jnuOg6zsrIQHR1ttf7o6OgSu3/z8vIwduxY9OjRA5GRkabpPXv2RGJiImJjY/HHH39g3Lhx+O2330xN8Lkvi7jjM819aW3lypWIiIjA008/LZrO45JKCoZcN5o8eTKmTJlit8z+/fvRtGlT0++XL1/GY489hm7dumHgwIGissYwCwD3338/AGDq1Kmi6ea1GwBMg05ZTi9ppPZLSd8n9gwbNgy///47du/eLZr+7LPPmv6flJSEpk2bomrVqti8ebPVidNcSdvfHTt2NP2/QYMGSE5ORo0aNbBy5UrTACrOHJMlbT9aWrp0KTp27Ij4+HjTNB6TrnHHcShVvqTu38LCQjz33HMwGAxYsGCBaN6gQYNM/09KSkLNmjXRtGlTHDp0CA888AAA7kvAfZ9p7kuxZcuWoWfPnggNDRVN53FJJQWbK7vRsGHDcPz4cbs/5rVkly9fRps2bZCcnIzFixc7XP9DDz2EnJwc/P333wCA2NhYq7tqxiY+lnfrS4oKFSpAo9FI7peSuk8ceeWVV7Bp0ybs3LkTlStXtls2Li4OVatWxalTpwAUHYMFBQW4fv26qFxJ39/h4eFo0KABTp06ZRpl2d4xyf1o7cKFC9ixY4fVzT9LPCblcddxGBsbazoHmbt69WqJ27+FhYXo3r07zp07h+3bt4tqcaU88MADCA4OFh2r3JfWnPlMc1+K/fTTTzhx4oTD70+AxyUFLoZcN6pQoQLq1Klj98d4Ry0jIwOtW7fGAw88gOXLl0OtdvynOHz4MEJDQ019fpKTk/Hjjz+KHj20bds2xMfHWzVjLilCQkLQpEkTU7Mbo+3btyMlJcVLW+WbBEHAsGHD8MUXX+CHH36Q1bz9n3/+waVLlxAXFwcAaNKkCYKDg0X7OzMzE3/88UeJ3t/5+fk4fvw44uLiTM3CzPdRQUEBdu3aZdpH3I/Wli9fjujoaHTq1MluOR6T8rjrOExOTkZ2djb27dtnKvPrr78iOzu7RO1fY8A9deoUduzYgfLlyztcJj09HYWFhaZjlftSmjOfae5LsaVLl6JJkyZo1KiRw7I8LilgeWGwqxIvIyNDuO+++4RHH31U+Ouvv4TMzEzTj9GmTZuExYsXC0ePHhVOnz4tLFmyRIiMjBSGDx9uKnPjxg0hJiZGeP7554WjR48KX3zxhRAZGSnMmTPHG2/LZ6xbt04IDg4Wli5dKhw7dkwYOXKkEB4eLpw/f97bm+ZTXn75ZSEqKkpIS0sTHYO5ubmCIAjCzZs3hVdffVX45ZdfhHPnzgk7d+4UkpOThUqVKgk5OTmm9QwePFioXLmysGPHDuHQoUPCo48+KjRq1EjQ6XTeemvF7tVXXxXS0tKEs2fPCnv37hWeeOIJISIiwnTMvfPOO0JUVJTwxRdfCEePHhWef/55IS4ujvvRBr1eL1SpUkV44403RNN5TNp38+ZN4fDhw8Lhw4cFAMLcuXOFw4cPm0b8dddx+NhjjwkNGzYU9uzZI+zZs0do0KCB8MQTTxT7+/Uke/uysLBQePLJJ4XKlSsLR44cEX1/5ufnC4IgCKdPnxamTJki7N+/Xzh37pywefNmoU6dOkLjxo25L832pTs/0yV9XxplZ2cLpUqVEhYuXGi1PI9LKkkYcr1g+fLlAgDJH6PvvvtOuP/++4XSpUsLpUqVEpKSkoR58+YJhYWFonX9/vvvwiOPPCJotVohNjZWmDx5col+fJDRf//7X6Fq1apCSEiI8MADD4gei0NFbB2Dy5cvFwRBEHJzc4XU1FShYsWKQnBwsFClShWhT58+wsWLF0XruXPnjjBs2DChXLlyQlhYmPDEE09YlQl0zz77rBAXFycEBwcL8fHxwtNPPy2kp6eb5hsMBmHSpElCbGysoNVqhZYtWwpHjx4VrYP78Z6tW7cKAIQTJ06IpvOYtG/nzp2Sn+k+ffoIguC+4/Cff/4RevbsKURERAgRERFCz549hevXrxfTuywe9vbluXPnbH5/7ty5UxAEQbh48aLQsmVLoVy5ckJISIhQo0YNYfjw4cI///wjep2Svi/d+Zku6fvSaNGiRUJYWJhw48YNq+V5XFJJohKEuyMVEREREREREfk59sklIiIiIiKigMGQS0RERERERAGDIZeIiIiIiIgCBkMuERERERERBQyGXCIiIiIiIgoYDLlEREREREQUMBhyiYiIiIiIKGAw5BIRUYlw/vx5qFQqqFQq3H///S6vz7iuMmXKuLwuIiIich+GXCIiKlF27NiB77//3uX1ZGZmYt68ea5vEBEREbkVQy4REZUo5cuXR/ny5V1eT2xsLKKiotywRURERORODLlEROR3rl69itjYWMyYMcM07ddff0VISAi2bdumaF19+/ZF165dMWPGDMTExKBMmTKYMmUKdDodXnvtNZQrVw6VK1fGsmXL3P02iIiIyAOCvL0BRERESlWsWBHLli1D165dkZqaijp16uCFF17AkCFDkJqaqnh9P/zwAypXrowff/wRP//8MwYMGIA9e/agZcuW+PXXX7F+/XoMHjwY7du3R0JCggfeEREREbkLa3KJiMgvPf744xg0aBB69uyJwYMHIzQ0FO+8845T6ypXrhw+/PBD1K5dG/3790ft2rWRm5uLN998EzVr1sS4ceMQEhKCn3/+2c3vgoiIiNyNIZeIiPzWnDlzoNPp8L///Q9r1qxBaGioU+upX78+1Op7p8SYmBg0aNDA9LtGo0H58uVx5coVl7eZiIiIPIshl4iI/NbZs2dx+fJlGAwGXLhwwen1BAcHi35XqVSS0wwGg9OvQURERMWDfXKJiMgvFRQUoGfPnnj22WdRp04dDBgwAEePHkVMTIy3N42IiIi8iDW5RETkl8aPH4/s7Gx8+OGHeP3111G3bl0MGDDA25tFREREXsaQS0REfictLQ3z5s3DJ598gsjISKjVanzyySfYvXs3Fi5c6O3NIyIiIi9ic2UiIvI7rVu3RmFhoWhalSpVcOPGDcXrWrFihdW0tLQ0q2nnz59XvG4iIiIqfgy5RERUoqSkpOD+++/HL7/84tJ6SpcuDZ1O5/SIzkREROQZDLlERFQiVK5cGadOnQIAaLVal9d35MgRAEWPFyIiIiLfoRIEQfD2RhARERERERG5AweeIiIiIiIiooDBkEtEREREREQBgyGXiIiIiIiIAgZDLhEREREREQUMhlwiIiIiIiIKGAy5REREREREFDAYcomIiIiIiChgMOQSERERERFRwGDIJSIiIiIiooDx/6Itl8Rv34paAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAGwCAYAAABVdURTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAABEjElEQVR4nO3deVxVdf7H8feVTVEWxdgUFBeQNJfUCjdAc59KcypXNLXJEVeyxazRsrLSyhxLs1GxbKJxRKeysRjjQq6JymRFmqbBKOQOgoYC9/eHD+6vG4gXBS8eX8/H4z5+c773e875nGM/79vv+Z5zTBaLxSIAAACDqOXoAgAAAKoS4QYAABgK4QYAABgK4QYAABgK4QYAABgK4QYAABgK4QYAABiKs6MLuN5KSkp09OhReXh4yGQyObocAABgB4vForNnzyowMFC1alU8NnPThZujR48qKCjI0WUAAICrkJWVpcaNG1fY56YLNx4eHpIunRxPT08HVwMAAOyRl5enoKAg6+94RW66cFN6KcrT05NwAwDADcaeKSVMKAYAAIZCuAEAAIZCuAEAAIZy0825AWCf4uJiXbx40dFlALiJuLq6XvE2b3sQbgDYsFgsysnJ0ZkzZxxdCoCbTK1atRQSEiJXV9dr2g7hBoCN0mDj6+srd3d3HnYJ4Loofchudna2goODr+nvHsINAKvi4mJrsPHx8XF0OQBuMrfccouOHj2qoqIiubi4XPV2mFAMwKp0jo27u7uDKwFwMyq9HFVcXHxN2yHcACiDS1EAHKGq/u4h3AAAAEMh3AAAAENhQjGAK2r61Ibrur/DLw+8rvurKk2bNtW0adM0bdo0SZeG2NetW6dBgwY5tC7gZsPIDYAb3pgxY2QymawfHx8f9evXT998841D68rOzlb//v0dWgNqlqlTp6pjx45yc3NT+/btr9j/1KlTmjx5ssLCwuTu7q7g4GBNmTJFubm5Nv12796t3r17y9vbWz4+PvrTn/6k/Px86/eHDx+WyWSSs7Ozjhw5YrNudna2nJ2dZTKZdPjwYUlSQECAXnnlFZt+Tz75pEwmkzZt2mTT3qtXLw0fPrwSZ6H6EW4AGEK/fv2UnZ2t7Oxsbdq0Sc7OzvrDH/7g0Jr8/f3l5ubm0BpQNarqad0Wi0Vjx47VQw89ZFf/o0eP6ujRo1qwYIH27t2r+Ph4bdy4UePGjbPpc/fdd6tFixbasWOHNm7cqO+++05jxowps73AwEC99957Nm2rVq1So0aNbNqioqKUnJxs02Y2mxUUFGTTfuHCBW3btk3R0dF2Hc/1QrgBYAhubm7y9/eXv7+/2rdvryeffFJZWVk6fvy4tc+TTz6p0NBQubu7q1mzZnr22WdtfrT++9//Kjo6Wh4eHvL09FTHjh2VlpZm/X7r1q3q0aOH6tSpo6CgIE2ZMkUFBQWXrclkMmn9+vWS/v9fzomJiYqOjpa7u7vatWunbdu22axT2X38Xul+/vGPf6h79+6qU6eOOnfurP3792vnzp3q1KmT6tWrp379+tmcG0lauXKlwsPDVbt2bbVq1Upvv/22zfdXOn9z5sxR+/bt9f7776tp06by8vLS0KFDdfbs2cvWGx8fL29vb61fv16hoaGqXbu2evfuraysLJt+S5YsUfPmzeXq6qqwsDC9//771u8ee+wx3XPPPdblhQsXymQyacOG/7+cGhYWpnfeeceuY/3tOYyKilLt2rW1evXqK516uyxatEixsbFq1qyZXf3btGmjtWvX6p577lHz5s3Vs2dPvfjii/rkk09UVFQkSfr000/l4uKit956S2FhYercubPeeustrV27VgcOHLDZ3ujRo7Vy5Uqbtvj4eI0ePdqmLTo6Wlu2bLHu4+zZs9qzZ4+eeuopmc1ma78dO3bo/PnzNS7cMOemil3vuQn2ulHnMABXIz8/Xx988IFatGhh8zBCDw8PxcfHKzAwUHv37tUjjzwiDw8PPfHEE5KkESNGqEOHDlqyZImcnJyUnp5ufZDY3r171bdvX82dO1fLly/X8ePHNWnSJE2aNKnMj0VFZs2apQULFqhly5aaNWuWhg0bpgMHDsjZ2bnK9iFJs2fP1sKFCxUcHKyxY8dq2LBh8vT01Jtvvil3d3c9+OCD+stf/qIlS5ZIkt59913Nnj1bixcvVocOHbRnzx498sgjqlu3rvWH70rnT5IOHjyo9evX69NPP9Xp06f14IMP6uWXX9aLL7542VrPnTunF198UatWrZKrq6smTpyooUOHasuWLZKkdevWaerUqVq4cKHuvvtuffrpp3r44YfVuHFjRUdHKyoqSsuXL1dJSYlq1aqllJQUNWzYUCkpKRo4cKBycnK0f/9+RUZG2n2s0qUw99prr2nlypVyc3NTZmambr311grP+8iRI7V06dJK/VlVVm5urjw9PeXsfOknvLCwsMw7merUqSNJ2rx5s1q0aGFtv/fee7V06VJt3rxZ3bp10+bNm3Xq1Cndc889mjt3rrVfdHS08vPztXPnTkVEROirr75SaGio/vjHP2r69Ok6d+6c3N3dlZycrMaNG9vsoyYg3AAwhE8//VT16tWTJBUUFCggIECffvqpzV/4zzzzjPV/N23aVI899pg++ugj649zZmamHn/8cbVq1UqS1LJlS2v/+fPna/jw4dbJwi1bttSiRYsUGRmpJUuWqHbt2nbVOWPGDA0ceOkfG88995xat26tAwcOqFWrVlW2j9L99O3bV9KleR7Dhg3Tpk2b1LVrV0nSuHHjFB8fb+0/d+5cvfbaa7r//vslSSEhIfr+++/1zjvvWH/wr3T+pEuP0I+Pj5eHh4ckadSoUdq0aVOF4ebixYtavHix7rzzTkmXLpOEh4fr66+/1h133KEFCxZozJgxmjhxoiQpLi5O27dv14IFCxQdHa0ePXpYRxZuv/12ffXVV5oxY4YSExMlScnJyfLz87P+udpzrJI0bdo0ax9JKioqUnp6eoXn3dPTs8Lvr9XJkyc1d+5cPfroo9a2nj17Ki4uTvPnz9fUqVNVUFCgp59+WtKl+TS/5eLiopEjR2rFihXq1q2bVqxYoZEjR5Z5GnDLli3VqFEjmc1mRUREyGw2KzIyUr6+vmrWrJm2bNmi3r17y2w217hRG4nLUgAMIjo6Wunp6UpPT9eOHTvUp08f9e/fXz///LO1zz//+U9169ZN/v7+qlevnp599lllZmZav4+Li9P48eN199136+WXX9bBgwet3+3atUvx8fGqV6+e9dO3b1+VlJTo0KFDdtfZtm1b6/8OCAiQJB07dqxK9/H7/fj5+UmSbrvtNpu20v0eP35cWVlZGjdunM2+X3jhBZtzcKXzJ10KPaXBpvQYS/dzOc7OzurUqZN1uVWrVvL29lZGRoYkKSMjwxrKSnXt2tX6vZeXl9q3by+z2ay9e/eqVq1aevTRR/Xf//5XZ8+etf4wV+ZYJdnUVFpnixYtKvz4+vpWeKzXIi8vTwMHDtStt96q2bNnW9tbt26tVatW6bXXXpO7u7v8/f3VrFkz+fn5ycnJqcx2xo0bpzVr1ignJ0dr1qzR2LFjy91fVFSU9RKU2WxWVFSUJCkyMlJms1mFhYXavn27evbsWeXHeq0YuQFgCHXr1rUZGu/YsaO8vLz07rvv6oUXXtD27ds1dOhQPffcc+rbt6+8vLyUkJCg1157zbrOnDlzNHz4cG3YsEH//ve/NXv2bCUkJGjw4MEqKSnRo48+qilTppTZd3BwsN11/vZfyKVPYy0pKbH+36rYx+X28/u23+5XunS5pnT0pFTpj6M95+/3+/j9fipS3pNpf9v2++8tFotNW+kPsaurqyIjI1W/fn21bt1aW7Zskdlsto6G2XOsperWrWuz7MjLUmfPnlW/fv1Ur149rVu3rsx5Hj58uIYPH65ffvlFdevWlclk0uuvv66QkJAy22rTpo1atWqlYcOGKTw8XG3atCl3RCo6OlpTp07VyZMntWfPHvXo0UPSpXDz17/+VX369KmR820kwg0AgzKZTKpVq5bOnz8vSdqyZYuaNGmiWbNmWfv8dlSnVGhoqEJDQzV9+nQNGzZMK1eu1ODBg3X77bfru+++q9a5BddjH+Xx8/NTo0aN9NNPP2nEiBHl9rH3/F2NoqIipaWl6Y477pAk7du3T2fOnLFeRgoPD9fmzZsVExNjXWfr1q0KDw+3LpfOu3F2dtbdd98t6dKPcEJCgs18G3uO9XICAwMdclkqLy9Pffv2lZubmz7++OMKL0+WjtKtWLHCOjm7PGPHjtXEiROtc67KEx0drYKCAr3++utq2bKldduRkZEaPXq0NmzYoJCQEDVp0uQajq56EG4AGEJhYaFycnIkSadPn9bixYuVn59vvYumRYsWyszMVEJCgjp37qwNGzZo3bp11vXPnz+vxx9/XH/84x8VEhKi//3vf9q5c6eGDBki6dLk0rvuukuxsbHWyacZGRlKSkrSX//61yo5huuxj8uZM2eOpkyZIk9PT/Xv31+FhYVKS0vT6dOnFRcXd8Xzdy1cXFw0efJkLVq0SC4uLpo0aZLuuusua9h5/PHH9eCDD+r2229Xr1699MknnygxMVH/+c9/rNsonXfzySef6IUXXpB0KfAMGTJEt9xyi82Iy5WO9XJKL0tdiwMHDig/P185OTk6f/68NSzdeuutcnV11ZEjR9SrVy+99957uuOOO3T27Fn16dNH586d0+rVq5WXl6e8vDxJl96gXTratHjxYnXp0kX16tVTUlKSHn/8cb388svy9vYut45HHnlEDzzwwGW/l6RmzZopODhYf/3rX22CYGBgoJo0aaKlS5fqgQceuKbzUV0INwCu6Ea4227jxo3WOSweHh5q1aqV1qxZY50ncN9992n69OmaNGmSCgsLNXDgQD377LOaM2eOpEuXJE6ePKmYmBj98ssvatiwoe6//34999xzki7NYUlJSdGsWbPUvXt3WSwWNW/e3O7nldjDnn3MmTNH8fHx1oetVZXx48fL3d1d8+fP1xNPPKG6devqtttus17OudL5uxbu7u568sknNXz4cP3vf/+zTnQtNWjQIL355puaP3++pkyZopCQEK1cudL6ZytdmnfToUMHm0tH3bt3V0lJiXXUxt5jrU7jx49XSkqKdblDhw6SpEOHDqlp06a6ePGi9u3bp3Pnzkm6NA9rx44dklQmWJWuI0lff/21Zs+erfz8fLVq1UrvvPOORo0addk6nJ2d1bBhwyvWGx0drVWrVtmca+nS6M3y5ctr5CUpSTJZLBaLo4u4nvLy8uTl5WW9la6qcSs4bmS//vqrDh06pJCQkErdmYPrp/TBbL+90+lGFh8fr2nTpunMmTOOLgU1QEV/B1Xm95uRGwC4gaSkpCg1NdXRZQA1GuEGAG4glb0lHLgZ8ZwbAIDDjBkzhktSqHKEGwAAYCiEGwAAYCiEGwAAYCiEGwAAYCiEGwAAYCiEGwCww5w5c9S+fftr2sbhw4dlMpmu+H6iaxEfH1/hI/WBmwHhBsCVzfG6vp+rkJWVpXHjxikwMFCurq5q0qSJ9Y3GlWUymbR+/XqbthkzZmjTpk1XVVupoKAgZWdnq02bNte0Hdw8EhMT1bdvXzVs2NDuYBwVFSWTyVTmM3Dg/z+pft68eercubM8PDzk6+urQYMGad++feVu5+WXXy6zjwEDBshkMllfv/HUU0/ZvMhUkjIyMmQymcq8BuL999+Xi4uL8vPz7TwLlUe4AXDD++mnn9SpUyft379fH374oQ4cOKClS5dq06ZNioiI0KlTp655H/Xq1ZOPj881bcPJyUn+/v5ydub5qUZ34cKFKtlOQUGBunbtWm7AuJzExERlZ2dbP99++62cnJxsXnKZkpKi2NhYbd++XUlJSSoqKlKfPn1UUFBgs62goCCtXLnSpu3o0aP68ssvre9yky69g+qHH36wvrxWksxms4KCgpScnGyzvtls1h133KF69erZfUyVRbgBcMOLjY2Vq6urvvjiC0VGRio4OFj9+/fXf/7zHx05ckSzZs2y9m3atKnmzp2r4cOHq169egoMDLR543bpiwgHDx4sk8lkXf79ZakxY8Zo0KBBeumll+Tn5ydvb28999xzKioq0uOPP64GDRqocePGNi+A/P1lqTFjxpT7L2yz2Szp0g/kE088oUaNGqlu3bq68847rd+Vio+PV3BwsNzd3TV48OCrGqmKiorS5MmTNW3aNNWvX19+fn5atmyZCgoK9PDDD8vDw0PNmzfXv//9b5v1vv/+ew0YMED16tWTn5+fRo0apRMnTli/37hxo7p16yZvb2/5+PjoD3/4gw4ePFjmfCQmJio6Olru7u5q166dtm3bVmG9JpNJS5YsUf/+/VWnTh2FhIRozZo1Nn327t2rnj17qk6dOvLx8dGf/vQn60jB3r17VatWLWutp0+fVq1atWx+/OfNm6eIiAi7jzUqKkqTJk1SXFycGjZsqN69e9t7+is0atQo/eUvf9Hdd99t9zoNGjSQv7+/9ZOUlCR3d3eb49u4caPGjBmj1q1bq127dlq5cqUyMzO1a9cum2394Q9/0MmTJ7VlyxZrW3x8vPr06SNfX19rW7du3eTi4mLz36fZbFZsbKzOnj2rAwcO2LRX9ws3CTcAbminTp3S559/rokTJ6pOnTo23/n7+2vEiBH66KOP9Nt3BM+fP19t27bV7t27NXPmTE2fPl1JSUmSpJ07d0qSVq5cqezsbOtyeb788ksdPXpUqampev311zVnzhz94Q9/UP369bVjxw5NmDBBEyZMUFZWVrnrv/nmmzb/wp46dap8fX3VqlUrSdLDDz+sLVu2KCEhQd98840eeOAB9evXTz/++KMkaceOHRo7dqwmTpyo9PR0RUdH64UXXriq87hq1So1bNhQX3/9tSZPnqw///nPeuCBB9SlSxft3r1bffv21ahRo6xvq87OzlZkZKTat2+vtLQ0bdy4Ub/88osefPBB6zYLCgoUFxennTt3atOmTapVq5YGDx6skpISm33PmjVLM2bMUHp6ukJDQzVs2DAVFRVVWO+zzz6rIUOG6L///a9GjhypYcOGKSMjQ5J07tw59evXT/Xr19fOnTu1Zs0a/ec//9GkSZMkSW3atJGPj4/17dypqany8fGxeWeX2Wy2vk3cnmMtPYfOzs7asmWL3nnnHUlS//79Va9evQo/1W358uUaOnSo6tate9k+ubm5ki4Fo99ydXXViBEjbEZv4uPjNXbsWJt+devWVefOnW1GaVJSUtSrVy917drV2p6VlaWffvqJcAMAFfnxxx9lsVjKXO8vFR4ertOnT+v48ePWtq5du+qpp55SaGioJk+erD/+8Y964403JEm33HKLJMnb21v+/v7W5fI0aNBAixYtUlhYmMaOHauwsDCdO3dOTz/9tFq2bKmZM2fK1dXV5l+9v+Xl5WX91/XWrVu1dOlSrV27Vv7+/jp48KA+/PBDrVmzRt27d1fz5s01Y8YMdevWzfpD8+abb6pv377WY5kyZYr69u17VeexXbt2euaZZ6x116lTRw0bNtQjjzyili1b6i9/+YtOnjypb775RpK0ZMkS3X777XrppZfUqlUrdejQQStWrFBycrL2798vSRoyZIjuv/9+tWzZUu3bt9fy5cu1d+9eff/99zb7njFjhgYOHKjQ0FA999xz+vnnn23+pV+eBx54QOPHj1doaKjmzp2rTp06WUfgPvjgA50/f17vvfee2rRpo549e2rx4sV6//339csvv8hkMqlHjx7WUQaz2azRo0erpKRE33//vYqKirR161ZFRUXZfayS1KJFC7366qsKCwuzBtS//e1vSk9Pr/BTnb7++mt9++23Gj9+/GX7WCwWxcXFqVu3buXOBxs3bpz+8Y9/qKCgQKmpqcrNzbWZv1MqKirKek6///57nT9/Xh06dFBkZKS1PTk5WW5uburSpUuVHN/lcOEXgKGVjtiYTCZr228vN5QuL1y4sNLbbt26tWrV+v9/I/r5+dn8ODg5OcnHx0fHjh2rcDt79uxRTEyM3nrrLXXr1k2StHv3blksFoWGhtr0LSwstM79ycjI0ODBg8scy8aNGyt9LG3bti1T92233WZzbJKsx7Jr1y4lJyeXO/Jw8OBBhYaG6uDBg3r22We1fft2nThxwjpik5mZaXOefrvv0nkcx44dswaE8pT3Z1gaFDIyMtSuXTubkYquXbuqpKRE+/btk5+fn6KiorRs2TJJl0YY5s6dq0OHDiklJUW5ubk6f/68unbtavexSlKnTp3KfN+oUaPLHsP1sHz5crVp00Z33HHHZftMmjRJ33zzjTZv3lzu923btlXLli31z3/+U8nJyRo1apRcXFzK9IuOjtZLL72k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7dq10+LFi+3qf+jQIQ0YMEDdu3fXnj179PTTT2vKlClau3ZtNVcKAABuFA59iF///v3Vv39/u/svXbpUwcHBWrhwoSQpPDxcaWlpWrBggYYMGVLuOoWFhSosLLQu5+XlXVPNAACgZruh5txs27ZNffr0sWnr27ev0tLSdPHixXLXmTdvnry8vKyfoKCg61EqAABwkBsq3OTk5MjPz8+mzc/PT0VFRTpx4kS568ycOVO5ubnWT1ZW1vUoFQAAOMgN924pk8lks2yxWMptL+Xm5iY3N7dqrwsAANQMN9TIjb+/v3Jycmzajh07JmdnZ/n4+DioKgAAUJPcUOEmIiJCSUlJNm1ffPGFOnXqJBcXFwdVBQAAahKHhpv8/Hylp6crPT1d0qVbvdPT05WZmSnp0nyZmJgYa/8JEybo559/VlxcnDIyMrRixQotX75cM2bMcET5AACgBnLonJu0tDRFR0dbl+Pi4iRJo0ePVnx8vLKzs61BR5JCQkL02Wefafr06XrrrbcUGBioRYsWXfY2cAAAcPNxaLiJioqyTgguT3x8fJm2yMhI7d69uxqrAgAAN7Ibas4NAADAlRBuAACAoRBuAACAoRBuAACAoRBuAACAodxwr18AUHM0fWqDo0so43BtR1cAwNEYuQEAAIZCuAEAAIZCuAEAAIZCuAEAAIZCuAEAAIZCuAEAAIZCuAEAAIbCc24A4AbD84WAijFyAwAADIVwAwAADIVwAwAADIU5NwAA2IG5TjcORm4AAIChEG4AAIChEG4AAIChEG4AAIChEG4AAIChEG4AAIChEG4AAIChEG4AAIChEG4AAIChEG4AAIChEG4AAIChEG4AAIChEG4AAIChEG4AAIChEG4AAIChEG4AAIChEG4AAIChEG4AAIChEG4AAIChEG4AAIChEG4AAIChEG4AAIChEG4AAIChEG4AAIChEG4AAIChEG4AAIChEG4AAIChEG4AAIChEG4AAIChEG4AAIChEG4AAIChEG4AAIChODzcvP322woJCVHt2rXVsWNHffXVV5ftazabZTKZynx++OGH61gxAACoyRwabj766CNNmzZNs2bN0p49e9S9e3f1799fmZmZFa63b98+ZWdnWz8tW7a8ThUDAICazqHh5vXXX9e4ceM0fvx4hYeHa+HChQoKCtKSJUsqXM/X11f+/v7Wj5OT03Wq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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from py_wake import XZGrid\n", "derating = state['derating']\n", "h = state['zhub']\n", "\n", "sim_res_ref = wfm(wt_x, wt_y, wd=[270], ws=[10], derating=[0] * n_wt)\n", "sim_res_opt = wfm(wt_x, wt_y, h=h, wd=[270], ws=[10], derating=derating)\n", "plt.figure(figsize=(12,4))\n", "sim_res_opt.flow_map(XZGrid(y=0)).plot_wake_map()\n", "for x_, d in zip(wt_x, derating):\n", " plt.text(x_ + 50, -80, \"%d%%\" % np.round(d * 100), fontsize=10)\n", "plt.ylabel('Height [m]')\n", "plt.xlabel('x [m]')\n", "\n", "plt.figure()\n", "for i, (sim_res, l) in enumerate([(sim_res_ref, 'Baseline'), (sim_res_opt, 'Optimized')]):\n", " plt.bar(np.arange(n_wt) + i * .4, sim_res.Power.squeeze() * 1e-6, width=.4,\n", " label='%s, mean power= %.2fMW' % (l, sim_res.Power.mean() * 1e-6))\n", "plt.ylabel('Power [MW]')\n", "plt.xlabel('Wind turbine')\n", "plt.legend()\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.13" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": { "height": "calc(100% - 180px)", "left": "10px", "top": "150px", "width": "426.667px" }, "toc_section_display": true, "toc_window_display": true } }, "nbformat": 4, "nbformat_minor": 5 }