{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Cross Sections for Beginners\n", "\n", "This notebook assumes you have followed the steps to download the Cthulhu package onto your local machine. If you haven't, please visit the [Installation](https://cthulhu.readthedocs.io/en/latest/content/installation.html) page.\n", "\n", "On this page, we run through the basic features of Cthulhu. We demonstrate how to download a line list, compute a cross section, and plot the result. Further tutorials are more nuanced and illustrate how to play around with various other features and advanced settings." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Downloading a Line List\n", "\n", "Suppose we want to download the line list for CO from ExoMol. All of the major end-user functions are contained in Cthulhu's `core` module, including the versatile (and powerful) `summon` function, which can automatically download line lists. At a minimum, all you need to do is specify the chemical species and line list database (e.g. `ExoMol`, `HITEMP` etc.).\n", "\n", "The time has come. Let us `summon` Cthulhu!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Example: Downloading the CO line list from ExoMol" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " ***** Downloading requested data from ExoMol. You have chosen the following parameters: ***** \n", "\n", "Molecule: CO \n", "Isotopologue: 12C-16O \n", "Line List: Li2015\n", "\n", "Starting by downloading the .broad, .pf, and .states files...\n", "Fetched the broadening coefficients, partition functions, and energy levels.\n", "Now downloading the Li2015 line list...\n", "\n", "Downloading .trans file 1 of 2\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 1.40M/1.40M [00:00<00:00, 1.89MiB/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "Converting this .trans file to HDF to save storage space...\n", "This file took 0.4 seconds to reformat to HDF.\n", "\n", "Downloading .trans file 2 of 2\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 63.5k/63.5k [00:00<00:00, 302kiB/s]" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "Converting this .trans file to HDF to save storage space...\n", "This file took 0.1 seconds to reformat to HDF.\n", "\n", "Line list ready.\n", "\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "from Cthulhu.core import summon # Call forth the Old One\n", "\n", "species = 'CO' # Chemical species name\n", "database = 'ExoMol' # Line list database\n", "\n", "# Download line list\n", "summon(database = database, species = species) # If you don't specify a line list name, a default line list will be downloaded " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice how a specific isotopologue was chosen (Carbon-12 with Oxygen-16) for a default line list (Li2015). By default, the most abundant isotope combination on Earth is used (see the [Isotope Tutorial](https://cthulhu.readthedocs.io/en/latest/content/notebooks/cross_section_diff_iso.html) for how to use other isotopologues). The default ExoMol line lists in Cthulhu generally follow the ExoMol project's recommendations. \n", "\n", "When `summon` is called, Cthulhu automatically creates an 'input' folder in the same directory as your .py file or Jupyter notebook. Various line list data files are then downloaded automatically for convenience (pressure broadening parameters, partition functions, and the state and transition files). Cthulhu reformats the ExoMol .trans files as HDF5 files to save storage space. \n", "\n", "You can find the CO line list files in `./input/CO ~ (12C-16O)/ExoMol/Li2015`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Computing a Cross Section\n", "\n", "We now have all the data needed to compute our first $\\mathrm{CO}$ cross section!\n", "\n", "Import the `compute_cross_section` function, again from `Cthulhu.core`. This time, the user must specify at least five parameters, as opposed to the two for the `summon` function. As before, Cthulhu needs to know the `species` and `database` from which the line list was downloaded. Cross sections are computed at a certain pressure and temperature, so the user must specify the values `P` and `T` as well. Lastly, Cthulhu needs to know the top directory level containing downloaded line lists. If no file structure has been changed by the user since the start of the tutorial, this will just be equivalent to setting `input_directory = './input/'`. This culminates in the code presented below.\n", "\n", "#### Example: Computing CO Cross Section" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Beginning cross-section computations...\n", "Loading ExoMol format\n", "Loading partition function\n", "Pre-computing Voigt profiles...\n", "Voigt profiles computed in 5.182578355001169 s\n", "Pre-computation steps complete\n", "Generating cross section for CO at P = 1 bar, T = 1000 K\n", "Computing transitions from E2.h5 | 0.0% complete\n", "Completed 6474 transitions in 2.0262211019999086 s\n", "Computing transitions from Li2015.h5 | 50.0% complete\n", "Completed 125496 transitions in 1.2598405160006223 s\n", "Calculation complete!\n", "Completed 131970 transitions in 3.2872161800005415 s\n", "\n", "Total runtime: 11.539552496000397 s\n" ] } ], "source": [ "from Cthulhu.core import compute_cross_section\n", "\n", "P = 1 # Pressure in bar\n", "T = 1000 # Temperature in Kelvin\n", "input_directory = './input/' # Directory containing the line lists\n", "\n", "# Calculate the CO cross section\n", "compute_cross_section(species = species, database = database, \n", " temperature = T, pressure = P,\n", " input_dir = input_directory, # Compute cross section has many more optional arguments and settings\n", " )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As you can see, the console will display important information about how the computation is progressing. The Li2015 line list for $\\rm{CO}$ is quite small, less than 1 MB (corresponding to $\\approx$ 100,000 transitions), so the total cross section takes only about 10 seconds to produce. Larger line lists, like the POKAZATEL line list for $\\rm{H}_2 \\rm{O}$, can be on the order of tens of gigabytes ($\\approx$ 6 billion transitions), and lead to cross sections that take around 24 hours to compute.\n", "\n", "And that's it! You'll notice that an `output` folder has been created, at the same directory level as this notebook and the `input` folder. Navigate through the output folder (by clicking on the molecule, database, etc.) to find our $\\rm{CO}$ cross section in a .txt file titled `CO_T1000K_log_P0.0_H2-He_sigma.txt`. This is aptly named according to the parameters for which the cross section was computed.\n", "\n", "The cross section file consists of two columns; the first is the wavenumber (in $\\mathrm{cm}^{-1}$) and the second is the absorption cross section (in $\\mathrm{cm}^{2}$). Some users may want to stop here, and just read in the cross section calculations for their own research. A function to read the cross section, `read_cross_section_file`, is provided and demonstrated below. Other users may want to plot the cross section for a more visually appealing final product. We show this as well in the next section." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Reading in and Plotting a Cross Section\n", "\n", "This section contains a basic introduction on how to use the plotting routine we've provided. For more complicated plots, like overplotting multiple cross sections on the same plot, see any of the other tutorials provided (like [this](https://cthulhu.readthedocs.io/en/latest/content/notebooks/cross_section_grid.html) one).\n", "\n", "#### Example: Plotting $\\rm{CO}$ Cross Section\n", "\n", "First, we want to return the wavenumber and absorption from the output cross section file. To do this, import the `read_cross_section_file` from `Cthulhu.misc`. This function requires the `species` and `database` as parameters, as well as the `filename` of the output file. We assign `nu` (the wavenumber) and `sigma` (the absorption cross section) to the return values." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "from Cthulhu.misc import read_cross_section_file\n", "\n", "species = 'CO'\n", "database = 'ExoMol'\n", "\n", "# Read in previously computed cross section file\n", "nu, sigma = read_cross_section_file(species = species, database = database, filename = 'CO_T1000K_log_P0.0_H2-He_sigma.txt')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We'll also need to import `plot_cross_section` and `cross_section_collection`. " ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# Import relevant functions\n", "from Cthulhu.misc import cross_section_collection\n", "from Cthulhu.plot import plot_cross_section" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Before we use `plot_cross_section`, we want to add our newly computed cross section to a collection. This extra step comes in especially handy for plotting multiple cross sections to one figure, but is still required even for one cross section. To do this, we call the `cross_section_collection` function, and pass in as parameters our return values `nu` and `sigma`." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "sigmas = []\n", "\n", "# Add to collection\n", "cross_sections = cross_section_collection(nu, sigma, sigmas)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then, to plot, call the `plot_cross_section` function. It requires at least 3 parameters: the cross section `collection`, an array of `labels` for each cross_section that is to be plotted (in this case we have added just one label), and a `filename` to save the plot to. Here, we have chosen a filename that describes exactly what cross section was plotted - the $\\rm{CO}$ cross section, from the Li2015 line list, at a temperature of 1000 K and pressure of 1 bar. " ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnMAAAHTCAYAAABMRJ59AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/TGe4hAAAACXBIWXMAAAxOAAAMTgF/d4wjAACI3UlEQVR4nO3deXxTZdo//k/SdF9oS4AWiq0IIuBACxZpLaUstRaHfRAHCiijOHQcHpxhXFBHFgWVzncGBfy5jOKIoqKo+DxCRRaV4lIHFSuyQymFQrrRlq5J7t8fJbFps68nyef9emGT+5ycc6X2nFy5V5kQQoCIiIiIvJLc0wEQERERkf2YzBERERF5MSZzRERERF6MyRwRERGRF2MyR0REROTFmMwREREReTGFpwPwNlqtFufPn0dkZCRkMpmnwyEiIiIvJoRAfX09evfuDbncvjo2JnM2On/+PPr27evpMIiIiMiHlJWVISEhwa7XMpmzUWRkJID2X3pUVJTLzrNs2TKsXr1aUsdz5Bj2vNaW1zh7X2fs48h2e7Y5o9zVZc587oxt9j62Z7st22zZx9hPAA7t03Gbqccdy6zZ39h+tpZZs83Z9u/fj4yMDKvKO5d1fG7psSM/AZh8bM1zR5WXl6NPnz4my4w9NvcTgFWP7dHQ0ICIiIguzzuWdywDYPKxseedtbW1ITAw0Ohz3eO2tjZoNBp9fmEPJnM20jWtRkVFuTSZmzRpklOPHxQU5PDxHInJnvPbcj5bjm/NcZ2xjyPb7dlma7mx35mxfZ1Z5ujzjjGb29fabbY+1p3f0r7myqzZZss+xn4C7feozvEa28fSNlOPO5aZ2qewsNDsfraWGdtWWFiInJwco/s5Q3x8PG666SaryjuXdXxu6bEjPwGYfNz5+X//+19MmjTJYLujjh8/jgEDBpgsM/bY3E8ABo/r6uqQnJzcpdwenRPPzslk5zIAaGxsRFhYGICuyaSl5LKqqgrdu3c3+lz3+NKlSzh06JBjXbeEn/npp5/EmDFjxKpVq/Rle/fuFb/5zW/EmDFjxJgxY0RcXJw4ePCg0ddfvnxZABCXL192V8hO8cADD/j0+T39/ryRN/7OPB2zp89vK0/H647ze/o9ehtv/H15OmZXn98ZeYXf1cyVlJQgMzPToKx37954++23MXjwYAghMG3aNKSkpHgoQtdw5TdXKZzf0+/PG3nj78zTMXv6/LbydLzuOL+n36O38cbfl6dj9vT5rSETQghPB9FZdXU1lixZgjfeeAPGwtu4cSNefvllhIaGIjo6Gi+++KJNgxKWL18OhUKBxx57rMu2wsJCnDx5Evn5+UZfW1dXh27duuHy5csubWYlIiIi3+eMvEJy88yVlJRgxowZJjsCbtu2DatWrcKuXbtw4MABjBo1ClOmTIFWq3XK+Tdv3oy8vDynHIuIiIjI1STXzKpUKrFz505s2bLF6PaCggLk5eVBqVQCABYvXowVK1Zg9+7dyM7OBgCjI4/i4+OxdetWs+cuLy93+cAGIiIiImeSXDIXFxdncltbWxuKi4sNmkCjo6ORmJiIoqIifTJn75DrV155Bffee69dryUiIiLyBMk1s5qjUqmgVqsRExNjUB4bG4uKigqrjrF161Z88cUX+Pzzz/H+++/ryzUaDX766Sf98GciIiIibyC5mjl7WTuOY+bMmZg5c2aX8oCAALz33nvODouIiMjttFot/vGPf+C///0vIiMj0dDQAI1Ggz/96U8YM2YMAOCXX37B008/DSEEtFotGhsb8de//hW33HKLyeO+9tpr2LFjB6KiotDa2ora2losWLAAU6dOddM7a6fRaPDQQw+hsrISISEhOHfuHHr37o2XXnrJ7mNmZWVh+fLlyMrKAgDs3LkTmzZtwttvv+2kqF3Hq5I5pVIJhUKBmpoag/Lq6mqnToBojWXLliEoKAhA+7Blbxi6TERE/mHx4sUICwszSET+8Y9/4LXXXsOYMWNw6tQpTJ06FYWFhUhKSgIAnDt3DpmZmdi8eTPS09O7HLOgoAAHDx7Eli1bEBAQAAB4//338a9//cvtydybb76JmpoabNq0CQDQ3NxsdHJnR4wbNw5Dhw516jF1CgsLUVhYCABobW11/IBOmfHOBV577TVhLLy0tDTxt7/9Tf+8pqZGyOVyUVhY6Ja4vHXSYCIi8g+nT58WoaGhor6+3qC8sbFR7NixQwghxIIFC8SyZcu6vHb16tVi3LhxXcobGxtFeHi4OH78eJdt27ZtE0II8dvf/lYAEBs3bhRZWVkiNjZWCCHE1q1bxe9//3vxt7/9TcyaNUucOXNGCCHE/v37xR133CEefvhhMWPGDP3n+AsvvCDuvvtu8dBDD4nJkyeLs2fPdjnnc889J2677TbR2tqqL7t06ZL+8Q8//CDmzp0rHn74YTFr1ixx4MABIYQQGo1GPPbYY+K+++4T//M//yNycnLEqVOnxBtvvCF69+4tpk6dKv70pz+JM2fOiHnz5onExET9Mffu3Stmzpwp/va3v4mZM2eKH3/8UQghxD333CNCQkLEM888I3Jzc8WgQYPEt99+2yVmU5yRV3hdMvf++++L+Ph4UVlZKYQQYtWqVSI5OVloNBq3xMVkjoiIrKXVakVLm8ahf1qt1qZzvvvuu2LAgAFm9xkyZIh48803u5R/+OGHIjw8vEv5t99+K4KCgizGAkB8/PHHQggh1q9fL44cOSLi4+NFU1OTEEKId955R4wePVoIIcSkSZPEO++8I4QQ4ujRo+K9994TQggRGRkpLl68KIRoTwSPHTvW5TxVVVVi5MiRok+fPuLPf/6z2Llzpz4PaG1tFf369ROlpaVCCCGOHz8u+vTpIzQajXjllVfEb3/7W/1xnnzySfH5558LIYQYM2aM2Lt3r37b6dOn9clcZWWl6NGjh7hw4YIQQohvvvlG9OvXT59MJiYmipdfflkI0Z6Mzp492+zvqSOfXAGiqakJubm5+gENWVlZSEtLw5o1awAA06dPR0VFBbKzsxESEoLo6Ghs374dcrlXjeUgIiI/0KYReP3LUw4dY/7ofghSWL9up0NrfMJ4H3RbjqmbWeJPf/oT1q9fj6FDhyIkJAQAMHr0aMyaNQsNDQ2YPHkyFi9ejK+//hqzZs3CjBkzAAAzZsxAZmYm5s+fj9///vf6ZuCOYmNj8c0336C4uBgffvgh/vjHP0KpVGLfvn04ffo0zp07h9WrV+v3j4uLg0qlwo4dOwz6BD766KNWvaevvvoKsbGx+hk3Ro4cifLychw9ehQ33nij/r0B7evHvvvuu1b/vpxBcslcaGgo9u3bZ3af/Px8kys0EBERSUVggAzzR/dz+Bi2SE1NRXl5ORoaGhAREaEvb2xsRGlpKQYNGoSbb74Zhw8f7vLaw4cPY9SoUV3KhwwZgqCgIJw8eRL9+/fXl6vVavz8888YNmyYviw4ONiqOO+55x5MmjQJ77zzDmbPno2FCxfioYcewmuvvYbDhw/jzTffxE033YRt27Z1WYbz3LlzCAkJQWpqKlJTU/H3v/8dN9xwAwoLC3H99ddDCIEXXnhBn4ReuXIFYWFhVsVlL937DggIcNpCBtZidRYREZGLyGQyBCnkDv2ztaYtMTER99xzD5566imD8mXLluHDDz8E0F4jtXXrVpw9e1a//cKFC/j3v/+NJ598sssxQ0NDsXLlSixfvhwajUZfvn79emzcuNFkLNnZ2Th06BCam5sBAF9++SVGjx6NiIgILF26FEqlEosXL8b/+3//D19//TUAYMmSJRg8eDCeeuopzJ07F99//32X43722Wd47bXX9M9lMhmEEOjbty8GDhyIvn376iuGmpqacNtttwEAJk6ciKKiIv3r1q5dq5+bNiQkBBqNBocOHcK3335rcL60tDRUV1fjwoULAIBvv/0WCQkJGDhwoMn37k6Sq5kjIiIix/zrX//CCy+8gN///veIjo7G5cuXceONN+Lhhx8GAPTr1w87duzA8uXLIdr7z6OpqQnvvfeeyflWH3jgAWzduhWzZ89GTEwMGhsb0bNnTzz//PMA2pNFALj//vvx+OOPo1evXhg4cCCee+453HXXXejduzfKy8vxxhtvAGif9H/OnDno27cvzpw5g8cffxwAUFpaij/+8Y8ICwtDRUUF/v73v3eJJTk5GY8//jiOHDmCkJAQlJWVYcmSJUhNTQUAfPDBB3jsscewfft21NbWoqCgADKZDHfddRdOnz6Ne++9F6GhoYiIiNA3u95xxx3417/+BSEEnnrqKTzxxBOorq7G6tWrsWzZMrz77rtYvHgx+vbti7Nnz2Lbtm0IDAzEP/7xD1RXV+OJJ57AP//5T6xbtw7Hjx/Hf/7zH8ybN895/1PNkAljjeNkkjMWxCUiIiICnJNXsJmViIiIyIsxmSMiIiLyYkzmiIiIiLwYkzkiIiIiL8ZkjoiIiMiLMZkjIiIi8mJM5oiIiIi8GJM5IiIiIi/GZI6IiIjIizGZIyIiIvJiTOaIiIiIvBiTOSIiF3pl7wlsOXDG02EQkQ9jMkdE5EICQEOL2tNhEJEPYzJHROQiVQ0t+sdqjVb/+Isjl/Dy3hPQaIUnwiIiH8NkjojIRQ4cU+kfHy6/rH989EIdAODVz0+6PSYi8j0KTwfgbiUlJbj//vsxYcIEPPbYY/rygoICnDt3DkII9OrVC8uWLfNglETkCyouN+sf/1R2GUOviWFtHBE5nV8mc5mZmQZldXV1WLt2LSoqKgAAvXr1Qn5+PqKjoz0QIRH5osbW9n5zFzskeADQ2KJGWLDf3YqJyIkk2cxaXV2NefPmQSaTGd2+ceNGpKSkID09HRMnTkRZWZnVx77zzjshlxu+7aCgIAQHB6OxsRGNjY1ISEhARESEQ++BiMiYA8dVBs+3FVt//yIiMkZyyVxJSQlmzJiByMhIo9u3bduGVatWYdeuXThw4ABGjRqFKVOmQKvVGt3fGiEhIVixYgXuvvtuzJ8/H7Nnz4ZCwW/KRGQ/IYw3p9ZcaTV43tSmcUc4ROTDJJexKJVK7Ny5E1u2bDG6vaCgAHl5eVAqlQCAxYsXY8WKFdi9ezeys7MBABkZGV1eFx8fj61btxo95vfff4/XXnsNn3/+OQAgLS0No0aNMnocIiJrsG8cEbmL5JK5uLg4k9va2tpQXFyM/Px8fVl0dDQSExNRVFSkT+b2799v0znLy8vRvXt3fbNujx490NzcbOFVRESmXaprsbzTVUIIk91KiIgskVwyZ45KpYJarUZMTIxBeWxsrH7wgiVbt27FF198gYCAAAwaNAgzZszAbbfdho8++kg/gjUpKQnjx493evxE5D9OXaq3Yd8GXNfLeNcSIiJLvCqZM8dU/5TOZs6ciZkzZxqUKRQKvPzyy64Ii4j8lG4uuY7a1Mb79n59opLJHBHZzauSOaVSCYVCgZqaGoPy6upqxMfHuzWWZcuWISgoCACQk5ODnJwct56fiKTNWJc5U/3oGls5CILInxQWFqKwsBAA0NraamFvy7wqmQsKCkJqaioOHTqkL6utrUVpaSnS09PdGsvq1asRFRXl1nMSERGR9+tYCVRXV4cNGzY4dDzJTU1iydKlS7F582ZUVVUBANavX4+hQ4diwoQJHo6MiMg8AY5wJSLnk1zNXFNTE3Jzc/UDGrKyspCWloY1a9YAAKZPn46KigpkZ2cjJCQE0dHR2L59e5eJgImIpKb4VLXJbc2tGoQEBbgxGiLyFTJh7cgBAtBeHdqtWzdcvnyZzaxEZNLLe090KYsOC0RtY5vR/UcP7IEbendzdVhEJDHOyCtYnUVE5Cbmvjp/eVRleiMRkRlM5oiI3ITNIETkCkzmiIjchdkcEbkAkzkiIidrNjFv3JUWtZsjISJ/wGSOiMjJ6pqND3LQcLwZEbkAkzkiIidrsnNFh5Y2rgRBRLZjMkdE5GQnLtbb9bqSc7XODYSI/AKTOSIiJ6u5Yt9ai81tWidHQkT+gMkcEZGT2ZvMHS6/7ORIiMgfMJkjIiIi8mJM5oiIiIi8GJM5IiIiIi/GZI6ISEKaOT0JEdmIyRwRkYS0qjmilYhsw2SOiEhC6pqMrx5BRGQKkzkiIgn55kSlp0MgIi/DZI6ISELYZ46IbMVkjohIQhrtXNeViPyXwtMBuFtJSQnuv/9+TJgwAY899pi+fM2aNbhy5QquXLmC1NRUzJ4924NREhEREVnHL5O5zMxMg7KDBw/i008/xd69e6HVanHDDTcgJycH3bt391CURERERNaRZDNrdXU15s2bB5lMZnT7xo0bkZKSgvT0dEycOBFlZWVWH/vOO++EXG74tk+ePIm+ffsCAORyObp3745vv/3W/jdARERE5CaSS+ZKSkowY8YMREZGGt2+bds2rFq1Crt27cKBAwcwatQoTJkyBVqt/XMzjRgxAocOHYJGo0FDQwOOHj2K+vp6u49HROQIIYSnQyAiLyK5ZlalUomdO3diy5YtRrcXFBQgLy8PSqUSALB48WKsWLECu3fvRnZ2NgAgIyOjy+vi4+OxdetWo8fs168f1qxZg1WrViE2NhapqalISEhw0jsiIn/S1Kp2+BinLjXgul7Gv9ASEXUmuWQuLi7O5La2tjYUFxcjPz9fXxYdHY3ExEQUFRXpk7n9+/fbdE4hBHr37o3ly5dDq9Vi+/btGDlypH1vgIj8mgONBHpcBYKIbCG5ZM4clUoFtVqNmJgYg/LY2FhUVFRYdYytW7fiiy++QEBAAAYNGoQZM2ZACIFFixbh1ltvRXNzMwoKCqBQeNWvhogkolnt+NQi+4+pMKhPNydEQ0T+wGcyFmv7mMycORMzZ840KJPL5Thw4IArwiIiP3OhtsnTIRCRn/GqZE6pVEKhUKCmpsagvLq6GvHx8W6NZdmyZQgKCgIA5OTkICcnx63nJyIiIu9UWFiIwsJCAEBra6vDx/OqZC4oKAipqak4dOiQvqy2thalpaVIT093ayyrV69GVFSUW89JRNJ3pLzO0yEQkcR1rASqq6vDhg0bHDqe5KYmsWTp0qXYvHkzqqqqAADr16/H0KFDMWHCBA9HRkQE1DW1eToEIvIzkquZa2pqQm5urn5AQ1ZWFtLS0rBmzRoAwPTp01FRUYHs7GyEhIQgOjoa27dv7zIRMBEREZE/kAnOTmmTuro6dOvWDZcvX2YzKxF18e99J6B1wl3192mJiAgJdPxARCRpzsgrWJ1FRERE5MWYzBEROZEzauUAQOOsAxGRz2MyR0QkQV8cueTpEIjISzCZIyKSoBYu6UVEVmIyR0QkQS1tTOaIyDpM5oiIJKixVe3pEIjISzCZIyIiIvJiTOaIiIiIvBiTOSIiIiIvxmSOiIiIyIsxmSMikiiutkhE1mAyR0QkUT+V1Xo6BCLyAkzmiIgkqk3DmjkisozJHBEREZEXYzJHRCRRB89UezoEIvICTOaIiIiIvBiTOSIiIiIvxmSOiGym0Qq8vPeEp8MgIiIACk8H4E4lJSVYs2YNUlJScPjwYcycORO5ubkAgA8++ABffPEFhBAYN24cJk+e7OFoiaSrvKbR0yEQEdFVfpXMqVQqLFq0CBkZGVCpVBg+fDjKyspQX1+PJ554Aj/88AOEEEhOTsb48eMRHh7u6ZCJJOls5RUA7TV0AXKZh6MhIvJvkmxmra6uxrx58yCTGf+Q2LhxI1JSUpCeno6JEyeirKzMquOOHTsWGRkZAACtVouwsDAAwNdff40BAwZALpcjICAA/fr1Q3FxsXPeDJEP+uV8HYD2GrqX955gk6sLXWlRezoEIpI4ySVzJSUlmDFjBiIjI41u37ZtG1atWoVdu3bhwIEDGDVqFKZMmQKtVmvTedatW4e1a9cCACorKw3OFxkZCZVKZf+bIPITDc1MNDpqanX+7+Pi5WanH5OIfIvkmlmVSiV27tyJLVu2GN1eUFCAvLw8KJVKAMDixYuxYsUK7N69G9nZ2QCgr33rKD4+Hlu3bgUAvP7660hKStL3i1Mqlaivr9fvW19fjx49ejj1fRH5osPnLns6BEmx8TslEZFTSC6Zi4uLM7mtra0NxcXFyM/P15dFR0cjMTERRUVF+mRu//79Jo+xadMmtLa2YuHChSgsLERmZiZGjRqFv/71r9BqtRBC4OTJk0hNTXXemyLyUeoO2UtVQwu6RwR7MBoiIv8kuWTOHJVKBbVajZiYGIPy2NhYVFRUWHz9nj17sGTJEiQnJ+Ott97C2bNncfDgQURHR2PFihVYsmQJhBB46qmnOPiByEbfn6nBhBtNfxkj++z+uQL9evb3dBhEJGFelcyZI4TlBanHjRuH2tpao9umTZuGadOmWX2+ZcuWISgoCACQk5ODnJwcq19L5CsaWzX6x6dVDR6MhIjIexQWFqKwsBAA0Nra6vDxvCqZUyqVUCgUqKmpMSivrq5GfHy8W2NZvXo1oqKi3HpOIqnRaC1/iSIiIkMdK4Hq6uqwYcMGh44nudGs5gQFBSE1NRWHDh3Sl9XW1qK0tBTp6ekejIyIiIjIM7wqmQOApUuXYvPmzaiqqgIArF+/HkOHDsWECRM8HBkR+bsjFzi6l4jcT3LNrE1NTcjNzdUPaMjKykJaWhrWrFkDAJg+fToqKiqQnZ2NkJAQREdHY/v27ZDLvS4vJSIf06Lm3CRE5H6SS+ZCQ0Oxb98+s/vk5+cbTE9CRNIghDC5cgsREbkGq7OIyGmqGxwfleXNjl2ot7yTHaoaWlxyXCLyDUzmiMhp/H0d0TaNa5pZOWqYiMxhMkdETnOswjU1U0REZBqTOSJyGk4c7BoNzf5d40lE5jGZIyKSuN0/W16ukIj8F5M5IiIiIi/GZI6IiIjIizGZIyIiIvJiTOaIiIiIvBiTOSIiIiIvxmSOiJxKCE5wS0TkTkzmiMip1Bomc67Q3KrxdAhEJFFM5ojIqVrUTDpcgb9XIjKFyRwR2cTSOqGllVfcFAkREQFM5ojIRq0WaojYyOoa7IpIRKYwmSMip/rqeKWnQ/BJhYcueDoEIpIoJnNEZBPWENlmdnqSU47DPnNEZIrfJXMlJSWYM2cOCgoKsGDBAuzYscNgW1ZWFp588kkPRkgkbczlbBMerPB0CETk4/zuLqNSqbBo0SJkZGRApVJh+PDhKCsrA9CezGVmZno4QiKJYzbnEZzyhYhMkWzNXHV1NebNmweZTGZ0+8aNG5GSkoL09HRMnDhRn5BZMnbsWGRkZAAAtFotwsLC9NvuvPNOyOWS/ZUQkZca3Kebw8fQsH2biEyQZOZSUlKCGTNmIDIy0uj2bdu2YdWqVdi1axcOHDiAUaNGYcqUKdBqtTadZ926dVi7dq0zQibyG1da1J4OwWsMT4oFANyY4HgyR0Rkis3NrBqNBrt378a+fftQUVGBS5cuQaFQoGfPnkhISMBtt92GkSNHOhSUUqnEzp07sWXLFqPbCwoKkJeXB6VSCQBYvHgxVqxYgd27dyM7OxsA9LVvHcXHx2Pr1q0AgNdffx1JSUmYPHmyQ7ES+Zu65jZPh+A1AgPaWxa6hQV5OBIi8mVWJ3NqtRpPPvkk1q1bh4aGBvTt2xdKpRIhISEQQqCsrAw7duzAihUrkJCQgOXLl+Puu++2K6i4uDiT29ra2lBcXIz8/Hx9WXR0NBITE1FUVKRP5vbv32/yGJs2bUJraysWLlyIwsJCZGZmIjQ01K5YifwNW/usFxsRrH+c2q87ik9VOXQ8tUYLRYAkG1SIyIOsSuZaWlqQm5uLkJAQvPvuu8jMzERwcLDRfevq6rBjxw6sXbsWBw8exPPPP+/UgFUqFdRqNWJiYgzKY2NjUVFRYfH1e/bswZIlS5CcnIy33noLZ8+excGDBxEaGoqtW7fiiy++QEBAAAYNGoQZM2Y4NXYi38Bszlqx4b/WyAUrHE/CWtqYzBFRV1Ylc6tXr8Zvf/tb/OUvf7G4b1RUFGbNmoWZM2fivvvuw4cffoipU6c6GqdVhBVVBuPGjUNtba3RbTNnzsTMmTOdHBWR/9FoBQLkxgcv+ZOQwABPh0BEfsCqZG7FihU2H1gul+Pll1+2+XWWKJVKKBQK1NTUGJRXV1cjPj7e6eczZdmyZQgKav/WnZOTg5ycHLedm8iTrGlmZTLXTt7hd9An9teR8wq5DLcN643//b7cE2ERkYcVFhaisLAQANDa2urw8bxunrmgoCCkpqbi0KFD+rLa2lqUlpYiPT3dbXGsXr0aUVFRbjsfkVSwkdU+HScPHn5tLOKjbe+ny+lJiHxDx0qguro6bNiwwaHjWdX5orS0FFOmTMGwYcPwl7/8BfX19QDapwixd5CDI5YuXYrNmzejqqq9M/H69esxdOhQTJgwwe2xEPkba/KJYxV1rg/Ei3WPMN7n2JJPf+L6rETUlVU1c4888ggWLFiAAQMG4Ouvv8bcuXPx8ssvY/r06fjjH//o9KCampqQm5urH9CQlZWFtLQ0rFmzBgAwffp0VFRUIDs7GyEhIYiOjsb27ds54S+RRGi1rEHqrGOjc5+Y9lq5hNgwnKtutPoYao1tc2kSkX+wKpkbP348pkyZAgAYPHgw7rjjDqxduxb33XefS4IKDQ3Fvn37zO6Tn59vMD0JEbmL5UStvpkTC5ujW9lm/JA4vP7lKQ9HQ0TezuqqrK+//hp/+MMfUFNTg4iICKxYsQKfffYZmpqaXBkfEUlMj6gQi/scLr/shki8X5ATpishIrLqTvKHP/wBQgiMGTMG0dHR+vJ58+bhww8/dFFoRCRFHKNqnSAr54O7rleE1cdkjScRGWP118K0tDSjC9+PHz++y74HDx50PDIiIi82LNFwYnPdrbPz4Idxg+OQeUNPd4VFRD7IJXX899xzjysOS0QSwKEN1omPNmyO1o0CNja5OWs7icgRdiVz5eXlyMvLQ0JCAgIDAxEQEGDw78cff3R2nEREXqVzDZzMTMZmTT9EIiJT7Jo0OC8vD2q1Gg888AC6d+9u0PQqhMATTzzhtACJiHyB7j55fXzXycZjOqzhaklzm4bLhBGRAbuSubKyMhw7dszkvG7nz593KCgiIm9najmzXt0cq4VrU2uZzBGRAbuaWYcNGwaNRmNye2pqqt0BERH5gs6DxYiIXMWumrn169dj9erVGDFiBPr374+wsDCD7Q888ABKSkqcEiARkS9RmKixIyKyl13JXGVlJd5//32sWLGiy7dPIQS/kRL5sAu1nCjcEbF2rsuq08YlvYioE7uSubvvvhu/+c1vsHz5csTGxnYZAHHvvfc6LUAikhZVXYtV+/nbF7tWtXuSrB0/nsecW651y7mIyDvYlczV19fjzTffNLn90UcftTsgIpI2YeVMc5X1LX415YZW654Z+DRuOg8ReQ+7BkAMHToU9fX1Jrf707dxIiIiIk+yq2bujjvuwLRp0zBt2jRcd911XQZAPPXUU5g/f75TAiQi78T6I9vER4eyPyIR2cWuZG7WrFkAgD179hjdzpo5Ih9mZZb239PVyB3W27Wx+JCh10Rblcy1uKlvHhF5D7uSuUGDBuGTTz4xuk0Igdtvv92hoIjI+7Ux6SAicgu7krmHH34YiYmJJrc//fTTdgdEROSNrBkYMjwp1uS2uG6hzgyHiPyIXQMg5s6da3b7pEmT7AqGiHzHxbpmT4cgOSOuNZ3MBSnsuh0TEdmXzBUVFWH69Om48847Dcrnzp2LV155xSmBuUpJSQnmzJmDgoICLFiwADt27DBbTkSGOLDBMlev8tDcano5RSLyP3Y1sz7//PNobm7GAw88YFB+33334fHHH0djYyMWL17slACdTaVSYdGiRcjIyIBKpcLw4cNRVlZmspyIyBplVY36xwmxYWb2dNyVFjVCggJceg4i8h521cz98ssv2LZtG0aPHm1QnpGRgY8//hivvfaaw4FVV1dj3rx5JkfGbty4ESkpKUhPT8fEiROtTrzGjh2LjIwMAIBWq9VPq2KqnIjIGlrxa53lwPgoD0ZCRP7GrmROrVYjJMT4zO4RERFoabFuuR9TSkpKMGPGDERGRhrdvm3bNqxatQq7du3CgQMHMGrUKEyZMgVarW2j59atW4e1a9daXU5E5ErB7DdHRHaw686hUCiwf/9+o9u+/PJLBAYGOhSUUqnEzp07kZqaanR7QUEB8vLyoFQqAQCLFy/Gjz/+iN27d+v3ycjI6PJv5syZ+u2vv/46kpKSMHnyZINjmyononaCneYsCrCzz1z2b+KdHAkR+QO7+swtW7YM2dnZmDp1KkaMGIGYmBjU1NTgu+++w/bt27Fp0yaHgoqLizO5ra2tDcXFxcjPz9eXRUdHIzExEUVFRcjOzgYAk8kmAGzatAmtra1YuHAhCgsLkZmZidDQUJPlRESWdExye9q5Jq0yItiq/XYeuoA5tyTZdQ4i8j12rwDR2tqKRx55BO+8846+vE+fPnjppZdwxx13OC3AzlQqFdRqNWJiYgzKY2NjUVFRYfH1e/bswZIlS5CcnIy33noLZ8+excGDB/HVV18ZLWcyR+7y8t4T+MOY6yB38UhIcj17F8EJtLKZtbFVbd8JiMgn2ZXMAe3TkOTl5eHYsWOorKyEUqnE9ddf79GlvIQV7T/jxo1DbW2t1eVE7lTb2IpYK2tnSLoUAez7RkTuY3cyB7SvwTpw4EAMHDjQWfFYpFQqoVAoUFNTY1BeXV2N+Hj39TdZtmwZgoKCAAA5OTnIyclx27nJd3lDdzRrVjrwR/ytEJG1CgsLUVhYCAD4pazK4eNZlcw98cQTiI2Nxf/8z//YdPD77rsPubm5mDp1qj2xGRUUFITU1FQcOnRIX1ZbW4vS0lKkp6c77TyWrF69GlFRnH6AnOtERT269/edmrmmVjVCgxz6zkhE5HM6VgI997/fY+d7/3HoeFa1BSxbtgwffvghJk2ahM8//xxqten+Go2Njfjggw9w8803IyAgwKmJnM7SpUuxefNmVFW1Z7Pr16/H0KFDMWHCBKefi8idrrT4Vl8oG2cL8mqHztZY3omIyAWs+socHByMTz/9FMuXL8fkyZPR3NyMvn37QqlUIiQkBEIINDU14eLFiygvL0dcXBz+/ve/Y+HChXYF1dTUhNzcXP2AhqysLKSlpWHNmjUAgOnTp6OiogLZ2dkICQlBdHQ0tm/fDrmc/VTIuzU0q3HwTLXZBdlJmprb/ChzJSKHNbaoERbsnJYLq48SGBiIp556Ck888QR27dqFL774AhUVFVCpVFAoFBgwYAASEhJw6623Ii0tzaGBEKGhodi3b5/ZffLz8w2mJyHyBRfrmnGxrhkpiTEeHUxklg2dw8qqG3FDb3ZHICLq7M0DZ3Dv2P5OOZbNKWFQUBBuv/123H777U4JgIi6uni5GXHR3j8tzn9PV/tNMmfNaHoiIldguySRBNU2tno6BPKQW67vYdV+Fy83uTgSIvIWTOaIJOjLoypPh2CSLfVPLWqNy+LwVdbW8LGPHpF3Kjrm/Ps7kzkichmN1n+aHp31TqPDgpx0JCKSosPll51+TCZzREQS0ic2zNMhEJGXYTJHRDbRsqO/cW7+tbS0sQmbiNq5JJl79dVXXXFYIpIAf2o6lbLPj1zydAhEZIPt/z2HVrVr+rraPVudVqvFyZMncenSJWg0ht8Qn376aSxYsMDh4IhIelgxZxzXrCUicy7WNUProi/DdiVz+/btw9y5c3H+/HmjI68kO9kpERERkY+xK5n705/+hHnz5mH69OmIjY01WEZLCMEJhYmIHNAjMhiq+hZPh0FEXsLuZtannnrK5LbnnnvO3sMS0VVNrWqEBjln3T5n4koHxvHXQkTG/FBag74uHqVu1wCIIUOGoLa21uT2c+fO2RsPEV11pUWaoxWZtBjnzF9LkIITDRD5ijOqBtQ1tbn0HHZ97Z85cyamTZuG6dOnY8CAAQgLM8w4n3rqKcyfP98pARL5q/M1jVBGBns6DPKAW67vgXe/OevpMIjIS9iVzM2aNQsA8PnnnxvdzgEQRI4rr2nC0GtiPB1GF7y8XY/3UCLv584uKXYlc4MGDcInn3xidBsHQBA5x7nqRk+HYJStiUZDcxsiQgJdFI1vYipH5P2OnK9DbWOrW85lVzL38MMPIzEx0eT2p59+2u6AiMi3VDe0+lUyFyB3PBWLCLHu1nylWY1wK/clIvdqUWvR3OaaSYI7s+suMHfuXADA8ePHsXfvXlRVVaF79+4YO3YsBgwYgEmTJjk1SCIib3FD7yiHj2Ft7eeJS/UYJsGmeCJyL7uSOY1Gg0WLFuHf//63QZuwTCbDPffcgxdeeMFg7jki8h22dudq1bjnmykRkb+yK+NauXIldu/ejeeffx5ff/01jh49iq+//hrPPfccdu/ejZUrVzo7TqcoKSnBnDlzUFBQgAULFmDHjh0AgKamJkydOhXPPPMM7rrrLvz73//2cKRE0mVrI+IPpTUuiUOqekeHuu1cnCaGSHra1Fp84ea1k+2qmXvzzTdRVFSEuLg4g/KRI0di+vTpGD16NJYvX+6M+JxKpVJh0aJFyMjIgEqlwvDhw1FWVgatVospU6bg7rvvRkNDAxISEvCHP/zB0+ESSdKgPt3QPTIYlfUtOF/T5OlwJCc6LMjTIRCRB6m1Why9UIfUft3ddk67auYUCkWXRE4nPj4egYGOdXaurq7GvHnzTPYb2bhxI1JSUpCeno6JEyeirKzMquOOHTsWGRkZAACtVqufHy88PBx33303AKC0tBQDBw50KH4iXxYYIEd8dCgirR3U4Ge1R4FunPC3+FSV285FRA5w8RB1u+46wcHBKCoqMrrtwIEDDiVzJSUlmDFjBiIjI41u37ZtG1atWoVdu3bhwIEDGDVqFKZMmQKt1rZ+OevWrcPatWsNyl555RXk5+dzNC6RE9W4aWi+rxkQZ/weSETUmV3NrI888ggmTJiAadOmYfjw4YiJiUFNTQ0OHjyIjz76CK+++qrdASmVSuzcuRNbtmwxur2goAB5eXlQKpUAgMWLF2PFihXYvXs3srOzAUBf+9ZRfHw8tm7dCgB4/fXXkZSUhMmTJxvsc88992D+/PlIS0vDG2+8gUGDBtn9Poh8XWhQgKdDkCRnfQG/pns4jlfUO+loROQOu0ouIOP6Hm4/r13J3J133om2tjY88sgjePvtt/Xlffr0wYsvvqhfIcIepppvAaCtrQ3FxcXIz8/Xl0VHRyMxMRFFRUX6ZG7//v0mj7Fp0ya0trZi4cKFKCwsRGZmJk6fPo2GhgaMHDkSgYGBiIuLw5kzZ5jMEZmRqAz3u8EN7pSkDPd0CERkozOqK8aTORd3N7F7tsm5c+ciLy8Px44dQ2VlJZRKJa6//nqXLkOjUqmgVqsRE2M4r1JsbCwqKiosvn7Pnj1YsmQJkpOT8dZbb+Hs2bM4ePAggoODsXr1atx4442oqqpCYmIibr31Vle9DSLyYUFO6jMnd8Lkw0TkHxyaOlwmk2HgwIFdBgz84x//wF//+leHArOVNWugjRs3DrW1tV3Ko6OjsXnzZhdEReQYtUYLRYD05myUAYjhqE2jpPj/i4g8zMXfzaxO5srLyxEcHAylUokvvvjC7L4vvviiS5I5pVIJhUKBmhrDpp3q6mrEx8c7/XzmLFu2DEFB7R9mOTk5yMnJcev5yT98d7oao/orPR2GAd0XJ3eO2iQikrLjFXUYEGf96i+FhYV495V38MvH0fj+lONz0lmdzKWkpODaa6/FN998g6ysLMhkMpO1Ya5qag0KCkJqaioOHTqkL6utrUVpaSnS09Ndck5TVq9ejagox5ftITJHq/WzeT2IiLzQvl8u2ZTM5eTk4GzQdbh3bH8897/fY99Hbzp0fquTuRdffFGfvAwaNAiffPKJ0f2EELj99tsdCsqcpUuX4v7778dDDz2E7t27Y/369Rg6dCgmTJjgsnMSEXnCdT0jcPJSg6fDICKJszqZmzZtmv7xo48+isTERJP7Pvroo3YH1NTUhNzcXP2AhqysLKSlpWHNmjUAgOnTp6OiogLZ2dkICQlBdHQ0tm/fzrVgySfVNbd5OgTyoPBgh7o1E5EbWdN331XsulPMnj3boe3mhIaGYt++fWb3yc/PN5iehMhXlVU1ejoEpxBCuHSku68alhiDQ2W1ZvepqG1CnBvXgyWiX0mlK4xd1Vmm1l39+OOP0a9fP3z44YcOhERE3sSa9Qerr3AVCHuEBFqemLnk3GU3REJExvxwtgbFpz2/rJ5dydz27duNlk+aNAmFhYV44oknHAqKiLzHkD7dLO7z5RHHR2sREUlNm0YLtcb62jnhotmDnd7RLCwsDI2NvtE0RETG2dpkasvNjgxJbWoaIpIeq5O5FStWICAgAAEBAfjxxx/1jzv/u+aaa5CWlubKmImI/MaAXpGeDoGInMzZgyWsHgAxdepUJCUlQQiBJ554AitXruyyT2BgIBITE3HLLbc4NUgikg4Bw8nMA+QypPVX4qsTlZ4KyacFB5r/zn1a1cABJkQe8N9OfeU8OJjV+mRu2LBhGDZsGADg/PnzmD9/vsuCIiLvIZfLMCShG5M5D6q50orYiGBPh0HkVw6eqcHQa6Lteq2zEz+7+sxlZmZi+vTpuPPOOw3K586di1deecUpgRGR97BUK+SqTr9ERN7EVbV3diVz69evR3NzM/70pz8ZlN93331488038dxzzzklOCKStjtuvsaq/TzZ/ODtrGk+5a+XyLs4+5q1a9LgX375Bd988w1CQkIMyjMyMvDxxx9j9OjRWLx4sVMCJCLp6hYWZNV+l5u4kgUR+QYp9lG1q2ZOrVZ3SeR0IiIi0NLS4lBQRERERFL0+penjZbbUtvWcTRrn5gwByOyM5lTKBTYv3+/0W1ffvklAgMDHQqKiH5V1SC9L0fS+k5KbGclcp82jdapx+sW5njOZFcz67Jly5CdnY2pU6dixIgRiImJQU1NDb777jts374dmzZtcjgwImrH/mZERL6h8+3cWfPN2ZXMzZo1C62trXjkkUfwzjvv6Mv79OmDl156CXfccYdTgiMioLTyCpSREpp2ovNEc1dlDeqFfb9cdHs4RET+zq5kDmifhiQvLw/Hjh1DZWUllEolrr/+esl1CiTydpX1zZ4OwSoD4iKZzHkIK2+JXE+rFdAaqUmzKeu5+nLR6aejHFqbtbGxERUVFaisrMTAgQNRXV3tnKiISO9sFdc6JvOcvTQQEXV15EIdvjhyqUu5FK4+u5I5IQQef/xx9OrVC2PHjkV+fj4A4M9//jMmTZqEK1euODVIIiJ/dm2PCLPbP/zvOTdFQuS/tFoBjdZ06mbNlyrdBOpC/9w57ErmnnrqKbz++ut49NFH8cEHHyAmJgYA8MYbbyA5ORkPP/ywk8IjIiL2XiGSLilcnnb1mXvjjTdQVFSEvn37AgBWrFgBAAgICMCKFStw0003OS9CIpIcJhfudaGmydMhEJEJXUeoGt9Pho595ZzbOGtXzZxcLtcncsa2NTVJ88ZTUlKCOXPmoKCgAAsWLMCOHTsMtp88eRJRUVEm59AjIvKEcUN6eToEIr92vsZ032Vrvtvq9umcwrW0aewNyYBdNXMKhQL79u1DVlZWl21FRUUmV4fwNJVKhUWLFiEjIwMqlQrDhw9HWVkZgPZVLZ599lnceOONHo6SyDddbmy1evkvMtTbCTPEE5H9/u+H80jrrzS6zVwdW8dWjI6Pda9588AZXBvt0FhUAHbWzD300EOYMGECpk2bhmeffRbV1dXYsGEDFi5ciNtuuw2PPfaYQ0FVV1dj3rx5Jqc52bhxI1JSUpCeno6JEyfqEzJLxo4di4yMDACAVqtFWNivN8hnn30Wf/7znxEUxA8bInPM3biUEabnw7vS4pxvoERE3qBjU6owUuZMdtXM5eXlQa1W47HHHsNHH30EoH0ka0JCAl566SXMmDHD7oBKSkrw5z//GYMHDza6fdu2bVi1ahV++uknKJVKrFy5ElOmTMF3330Hudz63HTdunVYu3YtgPbaxMjISNbKEbmUFAbwExFJgJNvh3ZPGnzXXXdh/vz5OHr0KKqqqqBUKjFw4ECHA1Iqldi5cye2bNlidHtBQQHy8vKgVLZXdy5evBgrVqzA7t27kZ2dDQD62reO4uPjsXXrVgDA66+/jqSkJEyePBkA8MknnyAiIgJPP/00zp49izfffBNtbW0YO3asw++HiIiI/IexPE0GQNahd12L2rktFXYncwAgk8lwww03OCsWAEBcXJzJbW1tbSguLtbPawcA0dHRSExMRFFRkT6ZMzeAYdOmTWhtbcXChQtRWFiIzMxMPPXUU/rtO3fuxJw5c4wmhERkv7KqRvb9IiKvcuJivdnuI+0JWqf0zVStW4eeY+9+c9bh2DpyvNcdgKNHj+K9997D3r17odG4rl+MSqWCWq3Wz2unExsbi4qKCouv37NnD5YsWYK33noLWVlZWLRoEVpaWvTbN27ciNLSUvznP//BkSNHnB4/kb20ZiaqlJLgQNO3lCPn69wYCRGR446cr4OqvsXyjmbousl1nJrE2ayumXv77bfx7LPPAmhvltTVoK1atQorVqyAVqsFAAwZMgS7d+9Gz549XRCuadZ0Khw3bhxqa2tNbs/Pzzeo9TNn2bJl+sESOTk5yMnJsep1RPZo02gRLA/wdBgdGB+clJwYg3LOieYRWq2AXM4JAIk8TVjRIe7n4i/xc/GXAIBuwY5ft1Yncx999BF69OiBZ599Vp/I/fzzz1i+fDmGDRuGjRs3Qi6X4+9//zsef/xxvPjiiw4H15lSqYRCoUBNTY1BeXV1NeLj451+PnNWr16NqKgot56TSPpM35S8o27Re5Wcq8XQa2Is70hETqWrTOpYp2TsTiiTyXDu6nx1Q1JHY0jqaADAtdFyvP/mqw7FYHUy9/PPP+Pzzz83aOJ86aWXAAAvv/wyRowYAQDYvHkz0tLSHArKlKCgIKSmpuLQoUP6straWpSWliI9Pd0l5yRyB0s1y9VXWhEfHeqmaOwXEWL6ltKm0boxEt8TIJNBY+bvxEta4ol8nrnb+VfHK11yTqv7zCkUii591bZt24bBgwfrEzmgvfYsMDDQeRF2snTpUmzevBlVVVUAgPXr12Po0KGYMGGCy85J5GmXG1s9HYKeucQzKjQQUSGuu/792YQbTQ8OIyLnu1BrW5cR0eFn52lyZTKZyXYL01usZ3XNXOcb+P79+1FeXo677rqry77BwaZHfljS1NSE3Nxc/YCGrKwspKWlYc2aNQCA6dOno6KiAtnZ2QgJCUF0dDS2b99u0xxzROQ6ST3Ccais1tNheER4sEMTBJh1jTLcZccmoq7+9/tyiy0izlin2po+dpZYfefp1q0bduzYgdzcXGg0GqxatQoymQzz58832O/IkSMmV26wRmhoKPbt22d2H1sGKhDZYu/hixg7mOtgOmJgfBSTOSLyO7/2nRNdatvqm9pc2tXE6uqsBx98EFOmTMFNN92EpKQk7Nq1C3fddRf69+8PACgvL8fLL7+M3/72t8jMzHRZwESudOJivadDMOpslelFnqVGEeC/Iyo9+c5/PnfZg2cn8gO2XOCd9v3qRKWZ6eccv3NYncxNnDgR7733HpKSkjBixAj84x//wAsvvKDffvz4cRw4cACjR4/GvHnzHA6MiH5VWnnF0yGQxDW2qj0dApFvM5GNCRObrW08dWszKwBMnjxZvwRWZ1lZWcjKynI4ICKSPmf0E/FF/L0Qeb9z1Y1QRtrf918I99fSc9QAEZGTONJfmIikYf/RS6i5YmQGAUuXtzD4oWduSqH2w7qxmZXIX9Qau4iJrODP/QWJ/IlusIPJ6UauTkVyvKLeeGLY4bXOaGZlMkfUidZVi+eZ4YFT2s1SqN70XpxtYJxnV4WxZllDInINXVKmH9VqYX9nVuQzmSPq5LyNE0US6Xm4Yo6rQBC5kA3XlzW3Amc0r+owmSPqpK6xzdMhSJuFzr3+3G3Mj986kU9obtV0SbIs3dM6V4gbWwHCKJnuh4T6zAkhUFNT46zDEXlMZX2Lp0PwahF+vJwXB0AQebc3ik6b7sNm4vLWXfaiwxwlQgD/PV1t9lzOvFvYlcx98MEHGDduHDZu3AgAOHToEK655hoolUoMGzYMZ86ccWKIRO51sa7Z0yFImtXfOo04W8X58lyJqSSRe4gOI1ftve6c+eXPrmTu//v//j+MGjUKM2bMAAAsWrQICoUC77//Pm699VYsXbrUaQESke/w9ZHCrk6mBsZ7doAFkT+QQWbXQK6Okwdbk6c5czSrXQsJXrp0CatXrwYAHDt2DF999RW2bNmCqVOnYsqUKUhJSXE4MCKSJmPrDtJVLv61BMjNn6C8phF9u4e7NggiMsvaUeW6hE8uhT5zmzdvRmxsLKZPnw7g6twq7DdCRH4oJDDApce3dGf95mSVS89P5C8sDnrQ/RQdmkuvFlY1WNfvWv86J+RMdtXM9ezZE8888wySkpLw/PPP4+6770ZgYHun5++++45zHRH5MAHYXQNVcu4yhl4T48xwJCUowMUTBPB7MpFLHDlfh/joEP1zS2mMuTzny6Mqq77Y6S5nCxXuVrHrzvPPf/4TL7/8Mn7/+98jISEBjz76KADggQceQEZGhsn1W4nIOGu+/vjCl6QrLb69GLyrGyWSlBaaUL3/T4TII46cv4zqBsf69Nra982JFXP21cwNHjwYJ06cQFVVFbp3764vX7ZsGZYsWYJevXo5HhkRGWhu0yA0yK5LltwkPNi1/396x4S59PhEZJ1fR7MKByrM21/pjJo5h+48HRM5IQQUCgUSExMdDorI07RaAbkzrjAfJCxMGuzPFK5uZrXAGaPiiMgyY1eatY0nsquvV1z9jHHGOAO/mmeupKQEc+bMQUFBARYsWIAdO3bot40aNQpZWVnIysrCgw8+6MEoSQr+/flJT4fQxfkaLjNG5tVy9RIit+jc7UUG4PD5ywbPTencvGpplLo17KqZMzfPXFFREZYuXYr33nvP4eCcTaVSYdGiRcjIyIBKpcLw4cNRVlYGALjtttuwfPlyzwZIZEZTq8bTIVwlLH6THBAXieMV9W6Kh4jIfuXVjfa/uMOswYfO1lr1EtnVujm5vmbO/tPr2FUzp5tnrlevXvp55p5++mlMnToVzz77LE6cOOFQUNXV1Zg3b57JD4yNGzciJSUF6enpmDhxoj4hs2Ts2LHIyMgAAGi1WoSF/dr/5NChQ3j22Wfx+OOP46effnIofiJXuFTvPStTjLmhp6dDICKyyic/nje5zdTAM0stqmYTNF2NnEzXZ84H55krKSnBjBkzEBkZaXT7tm3bsGrVKuzatQsHDhzAqFGjMGXKFGi1WpvOs27dOqxdu1b//JFHHsGDDz6Iv/zlL/jd736HhoYGu98DkSucvCiNv0lr+sxxrkki8mmdsjlbbnm6XRUBMoPnjpDcPHNKpRI7d+7Eli1bjG4vKChAXl4elEolAGDx4sVYsWIFdu/ejezsbADQ1751FB8fj61btwIAXn/9dSQlJRlMoZKamgoAiImJQY8ePXDkyBHcdNNNdr8PIiIi8m4GX0w7NKnqBht1nDy40ytNHrO9Jk7o+8o548uvXcncP//5T0yePBmnTp3CkCFDDOaZe+GFFxwaQBAXF2dyW1tbG4qLi5Gfn68vi46ORmJiIoqKivTJ3P79+00eY9OmTWhtbcXChQtRWFiIzMxMlJaW4uuvv8Zdd90FrVaLCxcuoG/fvna/ByJbedMcco5MGkyuJ4TlPo1EZEbH/M1UM2uH4iPldTaNI9ddnrrR7343z5xKpYJarUZMjOEM8rGxsaioqLD4+j179mDJkiVITk7GW2+9hbNnz+LgwYOIiorC9u3bUV5ejnPnzuHxxx/nXHlEJEmDekfhl/N1Jrcfr6jH9fFRboyIyMdYkZl13EVj45dxXR85fc2cTa82zqF55qqrq/H+++/rk7qxY8diwIABTgjLdtbUbIwbNw61tbVdyqOjo7Ft2zYXREXkezjPnGdZqnXTaL2nlpfIk8qrG9GmMd/fXiaTdZggWDcSFfpszlTuYe4yVQTIgDbnzjNnVzKn0WiwaNEi/Pvf/zZ4IzKZDPfccw9eeOEFyOXOnzxTqVRCoVCgpqbGoLy6uhrx8fFOP585y5YtQ1BQEAAgJycHOTk5bj0/uV5zqwYhQa5dOJ3IVgPjo3C4/LLlHYnIrAu1TWhqMzLlkwwwVj3XMd9xZIJuhVyOn4u/xGeHv0H1lVZ8GeX4yjF2HWHlypXYvXs3nn/+edx0002IiYlBTU0NiouL8c9//hMrV650yZxtQUFBSE1NxaFDh/RltbW1KC0tRXp6utPPZ87q1asRFcWmDF92pVXNZM4ox/pkqTVaj6+U4M2UkcGeDoHIb+lufVp9zZyJ/cwcQxEgw5DU0bhz+iT8VFaLjGsj8MarLzsUl13J3JtvvomioqIugxVGjhyJ6dOnY/To0S6bgHfp0qW4//778dBDD6F79+5Yv349hg4digkTJrjkfETuEiCX+UUT2fnaJlzT3cKC8UREEqarpfvZjlpy3ZdZXTOrM+aZsyuZUygUJkedxsfH66cpsUdTUxNyc3P1AxqysrKQlpaGNWvWAACmT5+OiooKZGdnIyQkBNHR0di+fbtLmnXJv1XVt6B7hPtqQRRelMw5dOvxjrfotS5cbsKgPt08HQaRz3HWrUs3v1xwYHvLT1SY/TmT/pj2vCg4OBhFRUW45ZZbumw7cOCAQ8lcaGgo9u3bZ3af/Px8g+lJiFyh+FQ1RwUa4egsKrt/rsDdY65zTjDUxcmLDRg32NNREPmSDmMDrv609L1bV9kml3XdVzeKNSSwvRIqPNhDfeYeeeQRTJgwAdOmTcPw4cP1feYOHjyIjz76CK+++qrDgRF5WmOr2q3n87W5wSYMicNnP3edMkjtJbWPROS73vv2LJKUtnf3+HWSYOvuYzKZrMs3YMXVlkS5TAa5k277diVzd955J9ra2vDII4/g7bff1pf36dMHL774ImbNmuWc6Ij8iLekcgJWTnLpLW+IiPxOzZVWu5I5naqGVrPbdVOYdLwNBshk0Aihb2aNCg3E3ZnXoaGh3u44dOyu25s7dy7y8vJw7NgxVFZWQqlU4vrrr/e52gUid4kOD0JTbZPZfTi7PxGR5+juvvt+uWh+PyO3aUWADBq1QNDVARA9okKcFpddydx//vMfAMDUqVMxcOBADBw40GkBEfmrqNBAXLCQzLWotQgJ9Ox0Kd609BgRkeN+zcysvfvpRqh23D9ALgeg1feZcya7hoDedddd+OKLL6DRGJlsj4jswgo3chYm3ETO1/kWbe6Wrb+fd7gUddNrhgQGoIeT54u0q2buxhtvxCuvvOLUQIikqE2tRaBCOtPe1De1eb5mDr43WMPXCMEvB0TGCCHQ1GpfRZQtX5F+rZkTXcqGJHTDjX2j7YrB5PnsedHgwYPNLmw/depUe+MhkhR3jmi15rP3sxLT153UOPubJ/2qpxP72hD5kxa1Fm8eOGP367VWjsY39mUq8GrVnCu+DNtVMzdjxgxMmzYNM2fOxA033ICIiAiD7YcPH3ZKcESeVn2lFd3CgtxyLmsu8IYW906XYpSwLvGMCHF8IkwybmjfaKPTvhCR42QwnE1Ed2uWAThTecWg3ORyXrqauQ7bdaNYXcGuZE439cg333xjdDubYMhXHC6/jGt7RFjekcideIslkjTdJdox4Rt5XXeUnLN9+S9r2JXMDRo0CJ988onRbUII3H777Q4FRSQV52vMjy51Jm/5DmT1PHNERD6sfS450anMdN+6HpEhGD8k1CWx2JXMPfzww0hMTDS5/emnn7Y7ICJ/JAT0cw8RWWSh284pVQP694p0TyxEPszWkeHyq2ts677wGmuudQWrPz1qamqwYMECLFiwAI2NjV22f/nll3jggQdQXV2NSZMmOTVIIpIWGdv5PMrSx8v3Z6rdEgeRN2lsUUNjxQAGq9M3YxMDX51DTtfdTC6XISwowKDMFaxO5j766CNs2rQJzc3NGDZsWJft8fHx2L9/P7KyslBbW+vMGIlIQjiHmedFh3FwCZGtPiupQGmHAQzmGMu7vjlZZfF18k4vVMhlyBnaGwPiXFtTbnUy98EHH2DlypV46623MGrUqC7b+/fvj+LiYowaNQoFBQVODZKIiH4VG8FpX4jsYW3dmDXfWY0dS25kdQeZDMga1MvKM9vH6mTu559/xoMPPmhxv4KCAvzf//2fQ0ERkXQJgKMpjbjexd+8ichxVrUrOND4ECDTNbNePZSVUzk5yupkLjQ0FEFBlufbioqK4tQkRA64+brung7B5XyxqfZ4Rb2nQyAiFzCV0RjLdeRXsyq5TIaB8VHQCtGl6dUVrE7m5HLrR9q1tbXZFQyRv+o43cfQa2I8GoslzvimWd3Q6pRYpERK6WlLm9bTIRB5HaH/+esiXLZ+7wy4misp5DLEhgfh+vgotywJafUZ+vfvj8LCQov7ffrpp+jXr59DQRGRb2vVMNlwpaY2+9aeJPJVbWrz9xxzLYqVDS1Wnyegw2hWAeCW63sgPNiuWeBsYvUZli5dikmTJmHDhg244447urxxIQS2bt2K+++/H9u3b3d6oM5QUlKCNWvWICUlBYcPH8bMmTORm5sLAPjhhx/w3nvvITg4GHv37sVnn31mU20kkSPamx29p3uCo60GqrpmxEe7ZvJMIqLONn15Cr3sXNP40Nlao+XGboOBAbopSWDVNCjOYnUyl5aWhpUrVyIvLw/3338/hg8fjp49ewIALl26hIMHD6Kurg4vvPCC0dGuUqBSqbBo0SJkZGRApVJh+PDhKCsrg1qtxt/+9jd8+umnkMlkmDFjBvv9kUd1jwhGlQ3fBqUqOiwQtY1du118d6pa8s3JROSfHOnSqwiQo0dkMAID5FC7sQXCprq//Px8DB8+HGvWrMGePXtw5Ur7fC1hYWGYMGECHn/8cYwYMcLhoKqrq7FkyRK88cYbRjtKb9y4ES+//DJCQ0MRHR2NF198EX379rV43LFjx+ofa7VahIWFAWhfY1Yul+O5555DTU0N0tPTMXjwYIffB5G9BsRFouqENJM5IYTVkwYP6t0NX52o7HoMSfUwIyJ/1LnOpmO+Yc0gLWN1PgFXV4CIDQ9yy8AHHZsbckeNGoWPPvoIWq0WlZWVkMlk6N69u9OaJEtKSvDnP//ZZDK1bds2rFq1Cj/99BOUSiVWrlyJKVOm4LvvvrMphnXr1mHt2rUAgHPnzuG7777Dtm3bEBwcjNTUVFx//fVISkpyxlsissjf1jt1Y+sDEZFRBkttOemYAXIZtEJgSEK0k45oHbt75cnlcn0zqzMplUrs3LkTW7ZsMbq9oKAAeXl5UCqVAIDFixdjxYoV2L17N7KzswEAGRkZXV4XHx+PrVu3AgBef/11JCUlYfLkyQCAyMhIDBw4EOHh4QCAG2+8EcXFxUzmCABwpUXtlg6sHUl56g6b5pnzowRVatQaLRRc75dIz9ovzB3vvub6vRmreesdHYqK2iYbI3Ocez+hrBAXF2dyW1tbG4qLi5Gfn68vi46ORmJiIoqKivTJ3P79+00eY9OmTWhtbcXChQtRWFiIzMxMjBw5EpWVle3NRzIZzp07h/79+zvvTZFXc0snVjdNLOl20s1JvV7O0HgUHrpgcvtPZbVISYp1Y0RE0tb5O3KXZlYjrzE3ktVY3/rYiGC0adx/45NcMmeOSqWCWq1GTIxhx+nY2FhUVFRYfP2ePXuwZMkSJCcn46233sLZs2dx8OBBKJVKPPHEE1i8eDEiIiJw6623IiUlxVVvg7zMxcvNiAqVzlqYdU1tHo3Hlnnmro+PMtpnzhfFhFueVN2ZAixUMzCPJgJa1Vrs+PG80W2dkzvdcyGsu36MrNyFYIVcPz2JO3lVMmeONc1S48aNQ21trdFtc+bMwZw5c5wcFfmCxla1289p7q9ZVSet5NKcIDdMlikVCbFhng6BiDrRagUu1TW75NjGmlkjQwNxx83XuOR85nhVMqdUKqFQKFBTU2NQXl1djfj4eLfGsmzZMv3yZjk5OcjJyXHr+cl9Tl9qwDAXT6MhIAyq7Pv3jMS3J6tM7EvkX4kykSuYrdy24kare31IYABGD+yBXSXtLYTW9FUtLCzUL8TQ2ur4ijhelcwFBQUhNTUVhw4d0pfV1taitLQU6enpbo1l9erViIqKcus5yTNU9e6fIiQ8xPSl6fmxEYLzMEpADzsnQCXyV12nIunwuMN/DR+Z1rFmLiLEttaSjpVAdXV12LBhg02v7xKLQ6/2gKVLl2Lz5s2oqmqvtVi/fj2GDh2KCRMmeDgyIvvZkqAdOX/ZdYGQzyhVXfF0CEReSSYDzlZZvn50fePaB0+6OirzJFcz19TUhNzcXP2AhqysLKSlpWHNmjUAgOnTp6OiogLZ2dkICQlBdHQ0tm/fzqW3yG9UeXiRelsGQJDn2LKeJJE/MlVTJwNw5Hyd1a/X3RMnDuvt1PhsIblkLjQ0FPv27TO7T35+vsH0JET+pI2L1BMRWXTxsvn53gyaWTs8MVfLJsOvTbBymQyD+3TDsQt1kMtk6OPBQVCsziKSAGMrQNz6G/cO6rGWv61WQUTeqeTcZZRWNjr1mB37ycnl7QsbCuH5eyKTOSIiIvJJZmvZTEwabG7taXmHOeRksvbXaIXnB4UxmSOSAiP90KRa+eX50bRERNbpOjGwMLPt6gMzN9+O8wGHBAZAKwQGxEUiNDDAsUAdxGSOSKI8XW3vavVNbZ4OweuFBUmu2zOR16uz4t4UGhiAmPAgaLUCYwb1QqCH531kMkckUZ5YEsYanSc4tlermgM5HBUbYX4JsSvN7l+9hMgfaIWAXCaDO5butgaTOSIrWLNcnEPHN5Ig9YjkpLDkmFaOfCYySaBzi6rl+7zmavamFe1NrlqJ9DthMkckUZ6utjfJxnnmgqxY2oaIyJl2lVwwWu5o6hWkCEBYUAA0Wi3kchmTOSJv4urrVTfp5G9T+rj2RBJSVu3cKQP80dhBvTwdApEknbFjBRRr7vPBCjlS+3WHVgA3xEdh9MCedkTnfEzmiKxQ0+ieVRfio0Pdch5H2dJlbkS/WKPlxy5YnmGdzFMESLNfJZGv0goBxdXWBkWAHCEeHsWqw2SOyAqqumZPhyAZtlZSxoYb76R/maNZiUgihLBuCS8hpPkliskckRWsucgdIQDpTixHXmvnj+c9HQKR17BmPWMBgUAJ9gOWXkREEqSq56LlHdk2NQmzVE9paOHUJETOktQjXD+KNVEZ7ulwDDCZI5IAIYTPpjyRIZzY1lWkOhchkSe1tGlMbzTRT8Sq7iPi6r1aJpPc2tlM5oi8kDUzlEtFZGigp0NwueZWDc6oGtx+Xk+vB0kkRf/Zf9olx9UKASEAuQSvOyZz5JX2/XLR0yF4lNlvnuR2NY2tqOdqC0Q+TSvaEzrppXJM5sgLqTVaHK+o93QYTmeslsXU2psVlzm6lojIks63VVPNqVVmBj+EBgZg6DXR0AoBtVZwNCuRM5RWtk8G2dDsPU2Nzvb1iUpPh0AdSGQSeCJyAa0QUMjl0GgEcn4Tj4gQ6XUdYTJHXudCbRMAQFXnOyNMhY1LZJG01Fzxnb9FIjKk1goEBsig0Qr0iQ2T5MAjv0rmSkpKMGfOHBQUFGDBggXYsWMHAGDfvn0YOnQosrKykJWVhfj4eHz//fcejpZM0dXM7Tlc4eFIXE8ZaXzCXZKWA8dZU0rkq7RagSCFHGqt1tOhmORXcwaoVCosWrQIGRkZUKlUGD58OMrKytC7d2+8/fbbGDx4MIQQmDZtGlJSUjwdLpnQ2Nre+V/rB01bg/p0w9kqrmFKpvWOCcX5miZPh0EkCWqN+YRL2NgnYkifbvi5/DKCFAHQSPhDR5I1c9XV1Zg3b57JYfcbN25ESkoK0tPTMXHiRJSVlVl13LFjxyIjIwMAoNVqERYWBgC4/vrrMXjwYADAp59+iltvvdUJ74LIegLG1zuVXmW+fZIkNsGmM9n64eBs3SOCPXp+IqmorG/BtmLz+YCtV6vuvhwYIJNk86qO5JK5kpISzJgxA5GRkUa3b9u2DatWrcKuXbtw4MABjBo1ClOmTIHWxurPdevWYe3atV3KN2/ejLy8PLtiJyL/4+kpSaT78ULkXloh0GahZq4jIaxv4ekRFYIpI/raGZnrSa6ZValUYufOndiyZYvR7QUFBcjLy4NSqQQALF68GCtWrMDu3buRnZ0NAPrat47i4+OxdetWAMDrr7+OpKQkTJ482WCf8vJyREVFISoqyplvicii9tod3/1Y7hYWBOCKp8NwiX2H/XvOQyIp61xx3vn50Qvm193W7R4gkyFQIbn6Lz3JJXNxcXEmt7W1taG4uBj5+fn6sujoaCQmJqKoqEifzO3fv9/kMTZt2oTW1lYsXLgQhYWFyMzMRGhoKADglVdewb333uukd0JEOqn9YvHj2Zou5bqlcbzZxTrPzvl3Q+8oHCqrNbn96xOVGNVf6b6AiCROhvYkTZhpdFXIZYiLDtUnf3IJN7ECEmxmNUelUkGtViMmJsagPDY2FhUVlkc27tmzB0uWLMFbb72FrKwsLFq0CC0t7VMKaDQa/PTTT0hOTnZF6ER26REZ4ukQnMJUwuZNy5JJVXutp2k1V1rdFAmRtOkSM2u+PwYp5AgPVkB79UUSz+WkVzNnL2s6IY8bNw61tbVGtwUEBOC9995zclRE1jE1ACIkKMDtsbiThAeHEZEf02gFAuTtc8uFBSkk34LgVcmcUqmEQqFATY1hc011dTXi4+PdGsuyZcsQFNT+jTgnJwc5OTluPT+5X1OrGqEmltci+1y83IyYcO+dS49r5BJJg1qjtVipo9sq0zW0mtldrRWQywC1EJidnui0OHUKCwtRWFgIAGhtdbz23Ks+mYKCgpCamopDhw7py2pra1FaWor09HS3xrJ69WoOlPAzqvoWXNPdRZcMV4DwSiXnLns6BIvOVXOeQvJ9B45XWpxjTk/Xac4MjVZALpddbTVx/t25YyVQXV0dNmzY4NDxvKrPHAAsXboUmzdvRlVVFQBg/fr1GDp0KCZMmODhyMjXFZ+s8nQIPseWaQSk6OTFek+HQEQA1FotNEZq5joOchBCtA+6uvr8WIXx6/eG3u0VNQEymdesuyy5mrmmpibk5ubqBzRkZWUhLS0Na9asAQBMnz4dFRUVyM7ORkhICKKjo7F9+3bI5V6Xl5ITuHM0JDuSO9/XJyrxm77Rng7Dbpc5gINIMmQ2tm80m+gmIb/6mRIgl+kHQEid5JK50NBQ7Nu3z+w++fn5BtOTkP9SawQCFc5L5oIVcrSojdcWufKSNjUAgoiInKu9AsD0HV03cjUyNNA9ATkBq7PIqx2rMD/ho63COMCBiMhnWTM9u66157qeEUhJinV5TM7ATy7yas1t3t3nSsfXV4DwRU2tnl3Gi4gMCatSNdNiwoIQHqLQj4qV+nQkHbFmjtzif78vd8mC5AfPVDv9mN6CyYRnXW407C83MJ6j24k8SWZhmKqlSYO1QkAmc22XGldhMkducaG2CZX1LZ4OwzIJfhGLCjHeb6OxlXOcedKpSw2eDoGIAHz60wVoNCZSMAtrs5rZ1aswmSO32fcLFyQ3xdwAiOBAXqZS9HO5dOaYyx3W2+x2LZfaIB9WWnmlw7Qklr+Rm2o+1WiFfiRrryjvWkqRnxLkcu98XQoAqG3kNA72iDBRM3elhc2s1M7Sx1fJuVp3hEHkMb/WuFn64mJ8e6IyHGqNFgHy9nbWySMSnBmeyzGZI5fjYupWMLMCxJgbehotPyyhmiHy7NQyls7NijmidsLEvTY0KODX9Vi9ZG65jpjMEXUgwS5zCFTwMiUicgZTXVrkMhnUWgGF3HtWfeiInxLk9VwxStYb+OnblizPfhEwf3ar16wk8nGm7pu6K8ibpiPpiMkceb2Ll5s9HYLDBGxflowLqJNOWFCA2e1NJpYtIvJ1xnO3rvda3bJdQQo5woO9bwpe74uYyIUsJVRqjRaKAH4H8ndlVVc8HYKB6PAgT4dA5BHNFqZo6thyI5Ppaql/LYsKCUSQQq7vV5p8TUz7IAgvw08log4sXcIqF82VZ6pTLklTVUNrlzIpN8+cq2ItLvmmN4pOA2hP2qy5BH8uv2w4R6esPcnTJX1yuQxyJnNE3s3SzaD4ZJV7AvFBd2f283QITnPobI2nQ7BJA6exIT+kX/HBzD5yWfvgB13NnBfmcQCYzJGXqb3StUbk6IU6t51fy1EHdjPVPH25sev/U6lrUXcdUOClnwFEfk0ma6+J88b1WDtiMkdepcZIMqd24iRacg9dyALw22ygzdQyPEREVtLdRTp/3za3uk5seBBkaK+N8/a5GJnMkXcxclG2OXHaBS/9UkYSUOuFNYxEvkxcTfFkJr4ph4coIAQQcLVmbnZ6khujcy4mc+RWLS6YIqHMiZ27LVWxcwCE87WqfWPajPKaJk+HQESddahx63x/FwLQCIHAADk0QnjllCQ6TObIrf6z/7RDr/fXhMeXlVZKa5oPS7hoPZE0mfx8MPPBIYRAoEIOtZd39/DeNNQOJSUlWLNmDVJSUnD48GHMnDkTubm5AICCggKcO3cOQgj06tULy5Yt83C0ZIyrO6eymdX9Tl5sQNqAHp4Ow2otEq1JjA0PQrWRPqU6dU1tiAoNdGNERK7VcQ45o2PTxNU+c1efXqoznGBeKwQ02vZmVm//kuZXyZxKpcKiRYuQkZEBlUqF4cOHo6ysDHV1dVi7di0qKioAAL169UJ+fj6io6M9GzB14eqRj54aAAE7VoDwFVydwDmGXhODfb9cNLm9sUXNZI58ymufn7L7tWFB7f3lhBDQaoXXr4Etyeirq6sxb948kx9uGzduREpKCtLT0zFx4kSUlZVZddyxY8ciIyMDAKDVahEWFgYACAoKQnBwMBobG9HY2IiEhAREREQ4582QU5118eSnwRK9oCND/Op7l6QdvVBvtDxJGe7mSAwNiIv06PmJ3E1jxVRRQgijS3rp5pPTCoH46FAMSejm3ODcTHKfXCUlJZgxYwYiI43fmLZt24ZVq1Zh165dOHDgAEaNGoUpU6ZAq7VtROO6deuwdu1aAEBISAhWrFiBu+++G/Pnz8fs2bOhUPDD0x+FWljj0lUsDYDI/k2822Ih8zo31ej0iApxcyREZI64+k9jpAlVLmtvWtUKIDYiGNd09+yXMUdJLmNRKpXYuXMntmzZYnR7QUEB8vLyoFQqAQCLFy/GihUrsHv3bmRnZwOAvvato/j4eGzduhUA8PrrryMpKQmTJ08GAHz//fd47bXX8PnnnwMA0tLSMGrUKKPHIc/y05ZIxJpYe7OlTYPgQM8koPZITozBD6XetXpCZ9UNrhnRTETOJczU3Mlk7YmeViu8dtWHjiSXzMXFxZnc1tbWhuLiYuTn5+vLoqOjkZiYiKKiIn0yt3//fpPH2LRpE1pbW7Fw4UIUFhYiMzMT5eXl6N69u75Zt0ePHmhuNv7tmzzLB645p2pVa70qmfOF/3/1zVwai0iqOqdvnfO59kmCZfr1WLVCeLCvtPNILpkzR6VSQa1WIyYmxqA8NjZWP3jBnD179mDJkiVITk7GW2+9hbNnz+LgwYO47bbb8NFHH+lHsCYlJWH8+PEueQ8kbZ4ahGBpBQhTcXF5MbJWMweakJ85W9WIgfFRkOHXJK9XtxAI0T7ZvPbqaNcgifaVtoVXJXPmmKtO1Rk3bhxqa2uNbnv55ZdtOt+yZcsQFNTe9JWTk4OcnBybXu/P1BqtyXU6LXF1smXN35GUXKprRrcw402wRB3tKqnAvWP7ezoMIreTy2T6wRK6W3yAXAa1RiAoQO6RZK6wsBCFhYUAgNZWx2dp8KpkTqlUQqFQoKbGsM9NdXU14uPd20F89erViIqKcus5fcWlumb0jgnzdBiSIoSwqwmy4nIzBsR5z9+hd6XKtvGBlhoiryCEQKva+KDHzjXQQje67OrNRyvap4FSBMjR0qbG3IxrPdIi07ESqK6uDhs2bHDoeF5VtxgUFITU1FQcOnRIX1ZbW4vS0lKkp6d7MDKyxf/9cN7px6xranP6MYmISHpa1NouqwmZalUxOpewEAgMaK+tk/vC6Ad4WTIHAEuXLsXmzZtRVVUFAFi/fj2GDh2KCRMmeDgycgdTX6Cc1TzqbRP3trTZNiUPOaa51XS/M+/6yyHyH7prUyGXta/HenWSYGNTlngryTWzNjU1ITc3Vz+gISsrC2lpaVizZg0AYPr06aioqEB2djZCQkIQHR2N7du3Qy73uryUnKisutHr+47Zk0ieVjW4IBLX8bIuiV1wtQoiabLm/hkXHYrGFjW0QiAwQO71S3h1JLlkLjQ0FPv27TO7T35+vsH0JETmakxsYU0Nn0YrEOAjVfNERN7kwHEVhifFGt1mvElVl+j9OgBCK4CQwAC0anynZYPVWeRVTKVQ7qyhamhm/zx7GV9Yx3v8Un7Z5DYpNNHHdTO/CoW3jdYm0tHVov18zvg1aLrPnGG5RggIIRAerMDI67o7N0gPYjJHPqG20TkJljUfyJ76PIwK4SLpnna+tsnkNs+ncrDYmduHWpXIj1Q3tOCj/54zud3cX315dRPartbAyWTtLStCAIEBMgy7JsbMK70LkzkiG/Hz0H7Xe9E0Kt5ICgklkbPoats0WoErLfatvKKbqiTg6hd19dXEzhdWfeiIyZyXUmu0uMJlhTzi+zPVng7Ba0WGGO+m6y3rndZccXxyT1eKDGXtLfmOzUVnbOoaYC49k8nat6u1Ag0taly87FtLdjKZ81KnLjVg35GLng7DL0n9A90b+cTvVAJf9EeY6BhO5E1OXKwHYHoJus59V9vXWTV/TN2gNd10JFE+9sWHyRyRjap9IfEgnxQWLLkJCohstvew+YoKXbLXmbl8TiaT6ftER4UE+lwtNq98InIbXx5MKYGKOSKvdamuvdmzZ5T5EdnGyKy4+uSyX/eamNwboUEBNp9Hylgz58V8+YOR/Eubhn/M7uBtk0yT/zh5sR6nLtn/9ylg/DOxT0woghVyyGW/1txFhCigCPCt9Me33o0f8bGBOGQFb5+jzZwvj17ydAh+wVLzFZG7nbHyC4bZz7yr24zdI3XNq3K5TD+YQgpzQjobkzkiL2GqKaFN7T2zmAcqfPeW42tTHRC5w66SCqv2c6QlSghhUDPni3z3zkrka0zkCpebuCKFFFyjDPd0CABMT/9CJCWXnDg1iP7WaCRb09XGyWUyn+6axGROQoQQTltj1JlcEZfUa5Oyb4zzdAhdsN5H2vj/h8h6Hx00vaJDR7oEzFLFtxDmO6K0J3PCZ69TJnMSUtXQiq3fnrV6/wu1TfrZrF3plX0n8UbRaaces9XOZM7VfR103+KSekS49DxEruKL/YHId9jzmeVIhZrutYoAGcprmnD3mOscOJp0MZnzcmVVjZ4OwS72Ls3izziHmLRJJYcKCfStKRfIt7z2xSm7X2tqNLa5LzBCtP/TTRocYGH9Ym/FZM5rtf9BfnuqyupXHDimcuiMzkzAVPXSXEql400hJjzIg5F0NbRvtNHyisumF3+XomAfHgQhBQmxoZ4OgcglzteYvtd17g+nu5Nrte3Nr75eY827qpers6Hz+8+dlkCxVWnlFYde39F/Tzt/fVMp9jd0JmVksNHyynrvWNdUx5c7IUvBiGu7ezoEIo8wto6r9mo/OV+tkdNhMkdW+/5MjdOO1eKCARC6NfccIYRA7rDeV5+Y38/dTDWzHq8wvrQNEZE/kKHr7VpXEafWCrRqtDjrxMoIKfKrTjglJSVYs2YNUlJScPjwYcycORO5ubkAgDVr1uDKlSu4cuUKUlNTMXv2bLfHJ/XvDY2tnu/nZu53pNY6J0FMiA2zuE+LWsu+SUREbmDps1Em6/oFW3Y1xdN9yff1BgG/SuZUKhUWLVqEjIwMqFQqDB8+HGVlZTh48CA+/fRT7N27F1qtFjfccANycnLQvbt0mys0TkpcfMmZyisYdo3z+rnFRgahprHVacejdpk39MRnP1s3USgR+TddEmapMUTAeMKmS+ZGXtcdw66JcWZokiLJZtbq6mrMmzfPZIfFjRs3IiUlBenp6Zg4cSLKysqsOu7YsWORkZEBANBqtQgLa6+BOXnyJPr27QsAkMvl6N69O7799lsnvBPXUXMtyy6+PWn9YBBTOv7NBStM17zZ0leRDF3bk9O+EJGTdR4AcfVWrtEKBCvkiAoNdH9MbiS5ZK6kpAQzZsxAZGSk0e3btm3DqlWrsGvXLhw4cACjRo3ClClToLWxpmrdunVYu3YtAGDEiBE4dOgQNBoNGhoacPToUdTXS7sfktrO/mGe6Ovliy6zxo6ISLJ0X8x1NXO+vtye5JpZlUoldu7ciS1bthjdXlBQgLy8PCiVSgDA4sWLsWLFCuzevRvZ2dkAoK996yg+Ph5bt24FALz++utISkrC5MmTAQD9+vXDmjVrsGrVKsTGxiI1NRUJCQmueHsWNbdp0KrWIshF0ze8su8k7h3b3yXHdgsXX48dk93AANP/D9wwVzORSxw4pkL69T08HQaRUwkIg6ZYub5mTgshkyEwgMmcW8XFmV5Gqa2tDcXFxcjPz9eXRUdHIzExEUVFRfpkbv/+/SaPsWnTJrS2tmLhwoUoLCxEZmYmQkJC0Lt3byxfvhxarRbbt2/HyJEjnfemrKS9+pf4WckFTEzu4/bzk6Fre4Tjx7PGR/B+f6YaN/SOcnNEQNoAJb46Xun285LvUHnZVDZEANDUpjE7Y4GpRietaP9srWtqQ2/f7TInvWTOHJVKBbVajZgYw/8jsbGxqKiw3KF6z549WLJkCZKTk/HWW2/h7NmzOHjwIIKDg7Fo0SLceuutaG5uRkFBARQKz/1qys1MjKjj4zXGkueEWVCok+ZWDUKCOELY1S7VSXPCbvJf1nb/KasyPr2ITCbrMvihc7NqdJi0JoF3Nq9K5syx5o9h3LhxqK2tNbrtwIEDTo6IvJG1s4R7bJoWH04iKxtarJoWhizLvKEnvjhyydNhEDnM8LPd+P3ZWGnHe/n80f1c1nVJKrwqmVMqlVAoFKipMWz6qq6uRnx8vFtjWbZsGYKC2jP9nJwc5OTkuPX8jrjSoka4l67zKXNxp7mONw65j88YLjVaVnc6Dcc5kRQ5PgDv6pxxxg5jYjQr8Gv/OSkpLCxEYWEhAKC11fEBdV71iR4UFITU1FQcOnRIX1ZbW4vS0lKkp6e7NZbVq1cjKsr9faacQc3e+1bpHmF8+SxP8uXP6B9Ka3CNMtzTYdjN1V80iMi09gEQHb6MGyRz0rs2O1YC1dXVYcOGDQ4dz+vqHZcuXYrNmzejqqp9TrH169dj6NChmDBhgocjI3K9MPYpIyt0j/Dt/kFEHbWvAGF+u6+TXM1cU1MTcnNz9QMasrKykJaWhjVr1gAApk+fjoqKCmRnZyMkJATR0dHYvn075HKvy0u9klqjhcLMlB2u5u6LclDvKPxyvs69JzWjb3fvrbmyROvtbYMS+sDoERXi6RCI3M6wd92vF6S1faG9meSSudDQUOzbt8/sPvn5+QbTk/gjT/1pOrNbkxBC8hdZxsCekkrmfLkTL6fMICJrWNFlzu/47icDuYQzpzWwZgoWkpaX957A8Qppr47iKdL+WkLky2QQolNTq6y933PeLUmeCsqtmMz5AHMTKTpbmxMHT5xWNdj8Gn5gGueOZdp0o02b2zQuPxcR+R5Ttylzty8h7Gsmlcvau26EBkmuAdIlmMxJiL1Nju5M5g6XX3bbuch6LW2uH6FcdFzl8nN4M6l1GRie5MPT3ZNf2Xf4otntxi49uUzmV9MdMZmTEHtrV9rU7ptqxJlJQ1Mra3icxR21ZUck1HeQLOMEzOQrahqtm4dN9xkqlwEBcpn3D6qyAZM5H2DtH7ozVDU4r5N6aaXxpVnMslD5UXPFfb8Loo6kVS8H9OoW6ukQiFyj8wTBVwt1uZsMMigC5G5ttfI0JnNu5Mx+TR2bdGptTGB8+Q+8xU/7czmzLyP5vuMVrGUl72D9p1WHmjgZEBsRhPFD4lwUlfQwmXOjj/57DtVOrNnS+epEpU37v19c5vQYpMLRPFVq/Z6sxRGmnudNfzpn7KkVJ/IScpkMCrkccdH+UzvNZM6NrrSozdaKdUwk3NkPzpf8eLbG8k5O0sw+f+Sl1BrfrZ0n6bL0V2ft9yHR6UjtH51CP1elFNdidTUmcxJlqeOmH/6tArC8/qU7151tUftPMtfq5C8XPblCARFdJTr9NNhm5LOwc1Hnz4UWtdatX+ylgMmcRFVyNny7VFx23qTGlkhp0uPTKtc2m9naL9MSd8yLR0R+otN3fIVc5ndfGJnMSZSrByl460ABKfVLKq9u9HQIeo2tapce//B5584v2McHp83w1v6WRN6mocXwfifDr7V1AXIZAgPk6Nvd9+4x5jCZk6gTlyx0aO/0uWHr5IiOTOHhyVoVKX1c+lMncmcPsBjQK9JoOfuKEpGtZDKgqU2DoAA5AgPkkPthpzkmcxLV0GRbTYut/bcuOrDGqi9PbULuEaQwfuupdeOcic7mTR8f5yRUq0xkztELv06j02hi0Jmuz5zmakVDWFAAFH6W0DGZkyhbk63axjab9i+rsv9m7smJedmU5RvCgv1jvUQi+pW5Vh1TW745WWX18XUtVCOvU+LGhGgbIvN+TObcqLFVgw//e84lxz5j46L1F2rt77zvT82LRNbi9wwix9h7CekmTRfQLeUFv2tqZTLnI05etC2Zc4StiaMz8QMTmDy8j6dDcBkpjRAmIveRwbB2zpa+2Q0taoQEBrQfx08/JJjM+YgmN45OtbVJl5zL0lx73syRGmNP89cPESJHCdF5GmBgy1elNh1Dd/UJ4dv3SFOYzEmILX9+/ven2s5f37cB/hLISnHd/GuuLfJu7VOMtKd1V1rsm24pZ2g8YiOCnBiVd/CrXshNTU34/e9/j7S0NPzyyy8YPXo0/vCHPwAAPvjgA3zxxRcQQmDcuHGYPHmyh6P1D81tGn31uDXkrP3wGdf1jMDJS55rsvcH4SEKwLlTBBK5zOHyywg0MdLdWsrIYCdF4138KpnTarWYMmUK7r77bjQ0NCAhIQF/+MMfUF9fjyeeeAI//PADhBBITk7G+PHjER4e7umQfV5jh74OUhUgk+mHvEuBr6Szxn6jnDLDuTIH9jTZn7axRc1RxSQJulo4tVagodm+Gjl/7+YgyWbW6upqzJs3z+T/nI0bNyIlJQXp6emYOHEiysrKrDpueHg47r77bgBAaWkpBg4cCAD4+uuvMWDAAMjlcgQEBKBfv34oLi52zpu5issXGXe5ycb+dx64XqeMSHD/Sc2IDAn0dAhOwUvC9QLMjOj75XydyW1E7vTuN2dtnvi+Mz/P5aSXzJWUlGDGjBmIjDQ+Q/y2bduwatUq7Nq1CwcOHMCoUaMwZcoUaLXWzxz/yiuvID8/H08//TQAoLKy0uB8kZGRUKlUjr2Rzufcd1L/mIndrz4rqbBpf09cr90lVm0fEiTtmkwiInv5e1JmL8klc0qlEjt37kRqaqrR7QUFBcjLy4NSqQQALF68GD/++CN2796t3ycjI6PLv5kzZ+q333PPPfjss8/wt7/9Db/88guUSiXq639drqi+vh49evRw0TsEvjzq3ETRGoWFhW4/Z0c/F3/plOOYqq111vH9ibV/E00uWve16/g1y3zl79hdPv30U4+e3x3/vzz9N+FtpPT7MvZl3lhdh6nrruOngSvrSKT0OzNFcslcXFwcgoON14S0tbWhuLgYw4YN05dFR0cjMTERRUVF+rL9+/d3+bd161YcPnwY3377LQAgMDAQcXFxOHPmDEaNGoXjx49Dq9VCo9Hg5MmTJpNJZ+i4PIm9bO0f4Ok/Rmd9CIaZqJXqeHy1xn3re1724uWnPP03YUcu5/GYvS2Z8/Tvi8mc9Ejp93XayjlLrbvuXJfNSel3ZopX9X5VqVRQq9WIiYkxKI+NjUVFheXmuuDgYKxevRo33ngjqqqqkJiYiFtvvRUBAQFYsWIFlixZAiEEnnrqKY8Pfvi5+EtgbH+PxtDZz8VfYkjqaLedr7CwEDk5OQZl4VZ02G5Ra6EIMP09xdhx7dnn5+Iv0ZRyJ7qF2XcMc9stbUPQdV3K3/vof/G7Kb+1OQ5L+255/2Mg7jcW97OmrONzga5/U53/7m35HXV8bu02Wx93jFMXd8fHun2Nvd6WbbbsY+wnAIOYdTF2/NlyNhIjrv2d2debe9yxzNz+uvdgbD9by0xtc+WH7XfffYebbrrJqvLOZR2fW3rsyE8AJh93fn7mzBkUFhYabHfU8ePHMWDAAJNlusdarcCO/d/jv/87EIdKjqJXQhIunjuDXglJ2FZdjpDYPthWXY7LjW36bQDQ3NiA155+CAAMyjsKkMug0QoUvW68i5ZOeXk5+vTp0+V5x/KOZQDQ2NiI7OxsADAoN/a8s6qqKnTv3t3oc93jS5cumY3ZGl6VzJljTT+06667Dps3bza6bdq0aZg2bZrV56mrs612relKvcFzY6+vb2jR7/fjgd2oq5th8ngN9XVWHVOntbXVpv076hhTv8HJNr1W93p1W9fzW4rj448/RlpamkFZQ0OD0eN0PH75xSrERYeajMfYcXWu1Nejri6oyz7Gzvnjgd2ou3MiwuTGB3GYO0/n7fX1VyCDDHUKtcXXfvzxx7j+tj90Kd/7wUe4dWym1XG0trZ2+d0b23d34Se4+XdJhvvt7Lqfsdd2Luv4XNPSaPA3BXT9u+/8+o4xmzu2tdtsfaz7O+sYt+5xXV2dfl9jr7dlmy37GPsJAGlpafrrXhdjx5/nI0Mwb9qtZl9v7nHHMnP7634vxvaztczUNlP7OcP+/ftx4cIFq8o7l3V8bumxIz8BmHxs7PnHH39s8NxRnROkzmW6x0IAp0rPouzkYdRWXkTZyV76n/XVKkTG9kB9tQoarVa/DQCilb8+7lhuzHELsyM0NDQgIiKiy/OO5R3LAJh8bOx5Z21tbQgMDDT6XPe4ra39M8Sh/vRCol577TXRObyWlhahUCjEG2+8YVB+7bXXiieeeMItcZWVlQm0VyrwH//xH//xH//xH/855V9ZWZnduYlX1cwFBQUhNTUVhw4d0pfV1taitLQU6enpbomhd+/eKCsrQ2RkpN/Pa0NERESOEUKgvr4evXv3tvsYXpXMAcDSpUtx//3346GHHkL37t2xfv16DB06FBMmTHDL+eVyORISpDXvGBEREXmvbt26OfR6ySVzTU1NyM3N1Q9oyMrKQlpaGtasWQMAmD59OioqKpCdnY2QkBBER0dj+/btkMslNzCXiIiIyOVkQnAGWyIiIiJvxeosI+xZLqypqQnXXnst7rrrLtcHaIStMb/55pvIyMhAZmYmBg8ejIULF7rt/D/88AMmTJiA9PR03HzzzZg5cybOnz9v97ktLf9GvxJCYNOmTRg/fjzGjx+P4cOH449//CNqa2s9HZpRH330ESZOnIhbb70VqampyMzMxNdff+2xeGbNmoWkpCSPnd8W3333HW677TZkZGRg2LBhyM7ORmVlpVvOXVVVhXnz5mHEiBHIzMzE6NGj8dVXXzl0THPXeW1tLWbPno2RI0ciJSUFTzzxhF+vtGPNdV5WVoaJEyciPT0dKSkp2Lhxo+cChnXXurtiNnadl5SU6P+WR4wYgffff9+mYy5fvhzJycnIysrS//vrX/+q3+7we3PKEE8f8v7774u4uDihUqmEEEKsWLFCpKSkCI1GY/Z1jz32mOjWrZuYP3++G6I0ZGvMr7/+usjIyBCXL18WQghRWVkpJk6c6Jbza7VakZCQIP72t7/pn8+cOVOMHz/ernP/9NNPIisrS+Tn5wv+OVtWX18vwsPDxdGjR4UQQjQ2Noq0tDTxu9/9zsORGZeTkyPef/99/fOHHnpIdO/e3eL16AqfffaZiI6OFomJiW4/t60OHz4srr32WvHLL78IIYTQaDRi1qxZ4uzZs245/5w5c8Qtt9wiWltbhRBCPP/88yImJkbU1dXZdTxL1/mkSZPEPffcI4QQ4sqVK2LIkCHi//2//2f/G/Bylq5zjUYjkpOTxZNPPimEEOLSpUuiZ8+eYtu2bR6L2dK17q6YjV3n9fX1onfv3mLz5s1CCCGOHj0qwsPDRXFxsdXHfeKJJ8TevXuNbnPGe+OnXydpaWli6dKl+uc1NTVCLpeLTz/91ORrTpw4IW655RYxd+5cjyRztsSsVqtFfHy82ffjyvOrVCoBQHzyySf6sg0bNojw8HC7zn3hwgXR3NxsdCob6qq5uVmsXbvWoOy5554ToaGhQqvVeigq07777juDxO3jjz8WAERNTY1b42htbRWpqaniqaee8opk7o477hDLli3z2PmHDBkiHnzwQf3zn3/+WQCw6cOvI3PX+dGjRwUAUVJSoi9bt26d6NOnjyT/pt3B0nVeWFgoAgIC9F/ohRDigQceEOnp6e4OVc/Ste6OmE1d5y+++KLo2bOnwd/TtGnTxOzZs60+trlkzhnvjc2sHVi7XFhnS5YswT/+8Q+PDMKwNeYff/wRFy5cQGVlJXJycpCeno577rkHKpV968Xaen6lUonRo0fjvffeg0ajQXNzMz788ENkZGTYdX5zy79RV8HBwVi6dKlBWWNjI3r27CnJZuoRI0bor6u6ujq8/PLLmDt3LqKjo90axz//+U/MnDnToakD3EUIgZ07dyIiIgKzZs3CLbfcgilTpuD77793WwzTp0/Hzp07cfnyZQDA22+/jR49emDgwIF2Hc/cdV5UVITAwEAMGjRIX5acnIzy8nKUlpbadT5vZ+k6LyoqQlJSEqKiovTbk5OTUVxcrJ/A1t0sXevuiNnUdV5UVITf/OY3BvfI5ORks3mBMf/+97+RlZWFW265Bffff7++24Mz3huTuQ7sWS7so48+Qq9evXDzzTe7I8QubI355MmTAIDnn38e7777Lvbv3w+tVotbb70VWq3ta5ra8zvbvn07zp49i2uuuQaJiYmIjIzEu+++a/O5yXFCCLz33nt48MEHPR2KWbNmzUKfPn0QEhLi9r495eXleO+997BkyRK3ntdelZWVqKurwz/+8Q8sX74cRUVFmDZtGjIyMqzq/+sMK1euxPjx45GYmIgBAwbgo48+wueff47ISPNLLdnjwoUL6Natm8GX6djYWACwaplHf9D5Or9w4YLRe3ZbWxuqqqo8EaKeqWvd1TGbu85NnduWv6+kpCRkZmZi9+7d2LdvHxobG5GZmYnW1lanvDcmc1YSRjrTNjU1YeXKlXj66ac9EJFlxmJuaWkBANx33336G+Cjjz6KH374wanLu5g6f1tbG7Kzs3Hdddfh7NmzOH/+PHr06IH/+Z//ceq5yTrr1q3DNddcg0WLFnk6FLPeeecdVFdXo3fv3rj55ptx5coVt537r3/9K9asWWOwJI+U6a7xSZMm6Wur7rrrLsTGxuK1115zSwxLlizB/v37cerUKRw/fhx/+9vfMHv2bNTU1Ljl/DrG7kH+yJbr3NO/M3uudWfEbM91bst577rrLtx7770ICAhAYGAgCgoK8Msvv1hcis7aczCZ60CpVEKhUHS54VRXVyM+Pr7L/qtXr8aCBQugVCrdFWIXtsas+8bacZtuEmR7miRsPf+ePXvw3Xff4bHHHkNAQAACAgLw6KOPYtOmTfjyyy9tPj/Zb+vWrdi1axfefPNNSTaxdhYYGIhnnnkGx44dwzvvvOOWc+7evRtarRbjx493y/mcISYmBjKZrMv1l5CQ4JZmx8bGRjz//PNYvHix/n6Tl5eHuro6rF+/3unni4+Px+XLlw1aFqqrq/Xb/J2x6zw+Pt7oPTswMNCjn2c6xq51V8Zs6To3dW5H/r5iY2PRrVs3nDp1yinvjclcB7YuF7Zv3z688847+mHGO3fuxM6dO5GVlYU33nhDkjHfdNNNkMvlBtXDuv5yffv2dfn5W1tbAcDg209QUBCAX2/A5HrvvvsuNm3ahPfffx8hISE4fvy4vkZHSnSThesEBgYiKCjI7MLWzrRz506cOXNGf40//fTTqKio6DKtgJSEh4dj8ODBXZqAVCqVXde4rdRqNbRabZcajqCgIJdc47fccgva2tpw5MgRfdmPP/6IPn36IDEx0enn8yamrvNbbrkFZ86cQX19vX7fH3/8ETfddJPHaqAtXeuujNnSdX7LLbegpKTEoJbsxx9/tGkZ0c73iytXrqCurg59+/Z1znuzeqiEn3j//fdFfHy8qKysFEIIsWrVKpGcnCw0Go24ePGiSE9PF/v27TP62vnz53tsahJbYs7LyxOjR48WLS0tQgghHn74YfGb3/xGtLW1ufz8KpVKxMbGilWrVulfv3LlStGtWzdx8eJFu84vhOBoVhu8/fbbIjMzU1y6dEnU19eL+vp6MWfOHHH69GlPh9ZFaGio+Omnn/TPX3rpJREcHKyfcsPdXnvtNa8YzfrKK6+I2NhYce7cOSFE+2i5sLAwt/0/zszMFLm5ufqpST7//HMhl8vFzp07HTquqet80qRJYuHChUKI9mk4brzxRr+emkQI89e5biqM1atXCyHa78u9evXy6NQklq51d8bc+TrXTU3y1ltvCSGEOHbsmIiIiBDffvut1cdMSkoSO3bs0D9/9NFHRUJCgqirq3PKe+OnnxEbNmwQKSkpIi0tTeTm5urnZjp9+rSIjY0V7733nsH+x48fF2PGjBG9evUSvXr1EmPGjBHHjx+XbMwNDQ3innvuEYMHDxajR48WM2bMEGVlZW47/zfffCPGjRsn0tLSxKhRo0RWVpY4cOCAXedtbGwUY8aMEQMHDhQAxJgxY8TDDz/s0HvxZRcuXBABAQECQJd/Ukzm/vWvf4m0tDSRlZUl0tLSxOjRo8Vnn33mkVhuv/12MXDgQBEcHCzGjBkjtm7d6pE4rLV27VoxePBgkZGR4dA1Zo/y8nKRl5cnhg8fLjIyMsTw4cPFpk2b7D6epeu8pqZG3HnnnWLkyJEiJSVF/P3vf/fbaUmEsO46P3v2rMjNzRVpaWkiJSVFbNiwwaMxW3OtuyNmU9f5Tz/9JEaPHq3/e+6cB1iyefNmMWbMGDFmzBhx8803i0mTJokjR47otzv63ricFxEREZEXY585IiIiIi/GZI6IiIjIizGZIyIiIvJiTOaIiIiIvBiTOSIiIiIvxmSOiIiIyIsxmSMiIiLyYkzmiMjvVFVVITk5GREREbjrrrs8HU4XtbW1TolPq9XiqaeectvyZydOnMArr7zilnMR0a+YzBGRU40dOxbh4eEIDQ1FcnIyDh8+rN+2ceNGyOVyXLp0SV+2fft23HjjjYiIiEBOTo5bYuzevTt++OEH3HTTTW45nzm1tbVYvnw5zpw5oy+Ljo52OD4hBPLy8nDp0iVEREQ4IVLLkpKS8H//93949NFH3XI+ImrHZI6InGrv3r2YNWsWAgICUFxcjMGDB+u3ffbZZxBCYPfu3fqyyZMnY8OGDZgzZw4KCws9EbJH1dbWYsWKFQbJnDO88sor+Omnn/Cvf/3Lqcc1R6FQYPPmzXjppZewZ88et52XyN8xmSMip5swYQKuXLmCr7/+Wl+m1Wpx5MgRxMbG4rPPPjPYf/fu3ZgwYYK7w/Rpa9euxQMPPACZTObW84aHh+Pee+9FQUGBW89L5M+YzBGR040fPx4ADGrgvvvuO4wYMQJjx441KAfaa/PGjRuH5uZmPPjgg0hOTsbw4cORkpKCJ598Emq1GgDwzjvvoHfv3pDJZBg2bBgOHDgAAHjggQcQFxeHvn376mv3jh8/jkmTJuHaa6/FtddeixkzZuDs2bMWY7f0uvT0dMTGxiIrKwuvvfYabrnlFiQkJGDBggVoaWkxONaBAwcwYsQIJCQk4Oabb8abb76JpKQkxMXF4Xe/+x0KCwsxceJEAMA999yD5ORk/fOOnnnmGdx8883o27cvHnzwQVhaUvvnn3/G8ePHkZWVpS/bvn07Bg8eDJlMhn379gForyk1VpacnAyZTIYNGzZgwYIFGDJkCG644Qbs2bMH9fX1mDdvHm644QaMGDECP/30U5fz6/4fX7582eLvm4icQBARucCNN94obrnlFv3zp556Srz22mti48aNAoA4duyYEEKIuro6cfPNNwshhLhw4YLo1auXOHfunH7b6NGjxTPPPKM/zp49ewQAsW/fPoPzjR8/Xnz//fdCCCEqKipEr169xF133SW0Wq3QaDRi/vz5on///qKxsVH/mjFjxoj58+frn1v7uvnz54sePXqIDRs26OOOjY0VL7zwgn6fCxcuiIiICLFkyRL9se6++24RHBwsnnjiCf1+p0+fFgDE3r17u/wOx4wZI+Li4sTHH38shBDi559/FgEBAWLHjh1mf/cbNmwQCoVCaDQag3Jj5zJ1fgBi6NChorS0VAghxCOPPCK6d+8uli9fLmpqaoQQQsyaNUukpaV1Of+ZM2cEAItxEpFzsGaOiFxi/Pjx+Pbbb/UjKXVNqbrmVF1T6+eff44xY8YAAJRKJYqKitCnTx8AQGRkJGbPno1XX31Vf9ysrCwkJCRg8+bN+rLz589DpVIhOTkZAPDPf/4TlZWVeOaZZyCTySCXy7F69WqcOHECb731lsmYbXmdVqvFfffdBwCIi4tDWloaPv/8c/32f/3rX2hra8Py5cv1x3ryySe71N5Z0qtXL/z2t78FAAwePBg33HCDwXmMqaioQExMDORyx27x48ePxzXXXAMAmDFjBqqqqhATE4Po6GgAwO9+9zt89dVXXd6TUqnUx0FErsdkjohcYsKECWhra8MXX3yBpqYmVFVVISEhAQMGDMA111yjT+Y+++wzfYKnUChQUlKCCRMmYMiQIUhOTsbq1atx6tQp/XFlMhnmzJmDrVu3orm5GQDw1ltvYfbs2fp99u7di/79+6Nnz576st69eyM6OhpffPGFyZhteV2/fv0QEBCgfx4bG2swSvebb77Bddddh27dunU5li2uv/56g+edz2OMSqVCSEiITecxpn///gbn7VzWvXt3AOgSj+7cluIkIudgMkdELjFmzBgoFAp89tln+PLLL5GRkaHfNmHCBOzduxdarRZFRUX6bR9//DGmTp2KadOmoaSkBD/88ANWrlyJtrY2g2Pn5eXh8uXL+PjjjwEAW7ZsMUjmqqqqcO7cOSQnJxv8CwsLM1szZsvrwsLCDJ7L5XJoNBr98wsXLhhN3Domd9awdB5jFAqFxX51tp5bN5DCWFnneHTnVigUDsdARJbxSiMil4iMjMTIkSOxe/duKBQK/aAIoL357tVXX8Unn3yCbt26ITQ0FEB7DVtUVBT+9Kc/mT32jTfeiGHDhmHz5s0YMmQIunXrhr59++q3K5VKREVF4eDBgzbFbO/rjImPj8fFixe7lLtjUEDPnj3R1NRkcnvHRO/KlStOP39jY6M+DiJyPdbMEZHLTJgwAT/99BM++OADjB07Vl8+fvx4yGQyPProowZJXmtra5epNIwlRAAwd+5c7NixA//617+Ql5dnsG38+PE4ceJEl4Rm48aNeOedd0zGa+/rjLn55ptx6tQpg+Tt/PnzqK2tNdgvMDAQwK8J1pdffonq6mqbztVZQkICampqutRo6tTU1OgfHz161KFzGaNrXk1ISHD6sYmoKyZzROQy48ePhxACsbGxBk2OvXr1wo033ohDhw4ZzC+Xm5uLy5cvY9OmTQCAyspKg8EPHc2ePRsajQabN2/G7373O4NtDzzwAKKiovDII49Aq9UCAIqLi7F69WqzqyrY+zpjlixZgsDAQCxfvhxA+4CJlStXdlmNoWfPnggJCcG5c+eg0Wgwd+5ch2vvsrOzIYTAsWPHjG7/4IMPAABNTU148803HTqXMYcPH0ZkZCTS0tKcfmwiMsKTQ2mJyLe1traK8PBwsWzZsi7bHnjgARETE2MwfYZWqxV///vfRUJCghg2bJi4/fbbxeLFiwUAMWzYMFFcXGxwjOzsbDFz5kyj5z516pSYNm2aSEhIEMOHDxcTJkwQ33zzjRBCiMrKSjFs2DARHh4uYmJiREZGhlWvE0KI3NxcERMTI8LDw8XIkSOFEELMmDFDXzZixAj9vvv37xcpKSmiT58+Ij09XWzfvl0kJiaK5cuXG8S6bt06kZiYKIYMGSIefvhhIYQwiG/q1KlCCCHS0tL0ZZMmTTL7ux85cqQoKCgwKNNNQ9K/f3/Rr18/MXbsWFFYWCgAiOuuu048++yzori4WAwbNkwAEH379hVPPvmk2Llzpxg0aJB+v1dffVW8+uqr4rrrrhMAxKBBg8RHH32kP88f//hHMXv2bLPxEZHzyIRwQi9ZIiKySrdu3fD0009j0aJFLj3Pzp07ce+99+LYsWP6PolnzpzBtddei7179xpMKOxMFy5cwKBBg3DgwAGDpdyIyHXYzEpE5ALV1dX4y1/+YlB27tw51NXVYdCgQS4//2233Yb8/HxMnz7d4uhXZ2loaMCUKVOwYcMGJnJEbsSaOSIiF6ioqMC1116LL7/8EjfddBPUajXuuusunDhxwmDNWlfbsWMHsrKyEBoa6vKaufLycpw7dw4333yz049NRKZxahIiIhfo1q0b/vCHP2Du3LkIDAxEbW0t0tPT9YMP3CU3N9dt5+rTp49+9Q4ich/WzBERERF5MfaZIyIiIvJiTOaIiIiIvBiTOSIiIiIvxmSOiIiIyIsxmSMiIiLyYkzmiIiIiLwYkzkiIiIiL/b/A/fiPyDiOmBxAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot cross section\n", "spectrum = plot_cross_section(collection = cross_sections, \n", " labels = ['CO Cross Section'],\n", " filename = 'CO_Li2015_T1000_P1',\n", " y_min = 1e-30)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In a newly created `plots` folder, which is at the same directory level as `input` and `output`, you'll see the PDF file containing this plot. " ] } ], "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.19" }, "vscode": { "interpreter": { "hash": "5f7defddde1abfac0269c8c847bc53f3d7179ce483b0f295025c7fc1e5b0d9d7" } } }, "nbformat": 4, "nbformat_minor": 4 }