Skip to content

Instantly share code, notes, and snippets.

@jni
Last active July 6, 2018 04:35
Show Gist options
  • Save jni/3339985a016572f178d3c2f18e27ec0d to your computer and use it in GitHub Desktop.
Save jni/3339985a016572f178d3c2f18e27ec0d to your computer and use it in GitHub Desktop.
Counting programming language mentions in astronomy papers
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Counting programming language mentions in astronomy papers\n",
"==========================================================\n",
"\n",
"\"2016 Edition\" Author: Juan Nunez-Iglesias.\n",
"\n",
"Adapted from code [written by](https://nbviewer.jupyter.org/github/astrofrog/mining_acknowledgments/blob/master/Mining%20acknowledgments%20in%20ADS.ipynb)\n",
"[Thomas P. Robitaille](http://mpia.de/~robitaille/)\n",
"and\n",
"[updated by](https://nbviewer.jupyter.org/github/ChrisBeaumont/adass_proceedings/blob/master/Mining%20acknowledgments%20in%20ADS.ipynb)\n",
"[Chris Beaumont](https://chrisbeaumont.org/).\n",
"\n",
"This work is licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported](http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_US) License.\n",
"\n",
"![license](http://i.creativecommons.org/l/by-nc-sa/3.0/88x31.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"A couple of years ago I came across [this tweet](https://twitter.com/BeaumontChris/status/517412133181865984) by Chris Beaumont, showing Python overtaking Matlab and rapidly gaining ground on IDL in astronomy.\n",
"\n",
"I've referred to that plot a couple of times in the past, but now that I wanted to use it in a talk, I thought it was time to update it. Hence, this notebook."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"First, let's import everything we need. You can install it all using either conda or pip."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import os\n",
"\n",
"import brewer2mpl\n",
"import numpy as np\n",
"import matplotlib as mpl\n",
"import matplotlib.pyplot as plt\n",
"import pandas as pd\n",
"from prettyplotlib.utils import remove_chartjunk\n",
"from datetime import datetime, date"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's set some nice Matplotlib defaults. Note that there is a deprecation warning when setting the default color cycle, but I can't be bothered tracking down the fix. (It is not the simple replacement suggested by the deprecation message.)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/nuneziglesiasj/anaconda/envs/ana3/lib/python3.5/site-packages/matplotlib/__init__.py:872: UserWarning: axes.color_cycle is deprecated and replaced with axes.prop_cycle; please use the latter.\n",
" warnings.warn(self.msg_depr % (key, alt_key))\n"
]
}
],
"source": [
"mpl.rcParams['axes.color_cycle'] = brewer2mpl.get_map('Paired', 'qualitative', 12).mpl_colors[1::2] + [(0.94, 0.01, 0.50)]\n",
"mpl.rcParams['figure.figsize'] = (9,6)\n",
"mpl.rcParams['font.size'] = 14"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Next, we import the [`ads` Python library](https://pypi.python.org/pypi/ads), which simplifies queries to the [Astrophysics Data System](https://ui.adsabs.harvard.edu). (The original notebooks used `requests` to create direct JSON queries, but the API appears to have changed in the meantime. I hope that using the `ads` library, someone else will take care of keeping the API queries up to date.)\n",
"\n",
"To run this notebook, **you need to get a free API key** to allow queries to the ADS system. Create an account at [ADS](https://ui.adsabs.harvard.edu), log in, and then look for \"Generate a new key\" under your user profile.\n",
"\n",
"Then, copy that key into a file called `.ads/dev_key` in your home directory. (You can also pass it as a string using the `token=<my_key>` keyword argument to `SearchQuery`, below)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import ads as ads"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The ADS system has a daily limit to the number of queries you can perform with a given key (I think 5,000, as of this writing). So that you're not wasting queries while you're developing, you can use the `ads.sandbox` package that will return mock results to your queries. Uncomment the following cell to use the sandbox instead of the real API."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# Uncomment the following line to use the sandbox\n",
"#import ads.sandbox as ads"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Next, we write a function that will count up how many results an individual query and year return, as well as a function to combine related queries (such as 'MATLAB' and 'Matlab')."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def yearly_counts(query='', years=(2000, 2017),\n",
" acknowledgements=False):\n",
" if acknowledgements:\n",
" query = 'ack:' + query\n",
" modifiers = ' '.join(['year:%i'])\n",
" full_query = ' '.join([query, modifiers])\n",
" filter_query = ['database:astronomy',\n",
" 'property:refereed']\n",
" results = []\n",
" for year in range(*years):\n",
" papers = ads.SearchQuery(q=full_query % year,\n",
" fq=filter_query)\n",
" papers.execute()\n",
" count = int(papers.response.numFound)\n",
" total_papers = ads.SearchQuery(q=modifiers % year)\n",
" total_papers.execute()\n",
" total_count = int(total_papers.response.numFound)\n",
" now = datetime.now().timetuple()\n",
" if year == now.tm_year:\n",
" days_in_year = date(year, 12, 31).timetuple().tm_yday\n",
" count *= days_in_year / now.tm_yday\n",
" total_count *= days_in_year / now.tm_yday\n",
" results.append([year, count, total_count])\n",
" return np.array(results)\n",
"\n",
"def combine_results(res):\n",
" combined = res[0]\n",
" for r in res[1:]:\n",
" combined[:, 1:] += r[:, 1:]\n",
" return combined"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Finally, create a dictionary mapping languages to queries. I've left some of the original queries commented out, but you can uncomment them if you care about those languages in astronomy.\n",
"\n",
"As a side note, a simple measure of how annoying a language's name is is given by the number of queries necessary to find its mentions."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"languages = {\n",
" 'IDL': ['IDL'], \n",
" 'Python': ['Python'], \n",
" 'Matlab': ['MATLAB', 'Matlab'], \n",
"# 'Fortran': ['Fortran', 'FORTRAN'], \n",
"# 'Java': ['Java'],\n",
"# 'C': ['C programming language', 'C language',\n",
"# 'C code', 'C library', 'C module'],\n",
"# 'R': ['R programming language', 'R language',\n",
"# 'R code', 'R library', 'R module'],\n",
"}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The next cell runs the queries. Don't waste those API hits!"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"results = {name: combine_results([yearly_counts(query)\n",
" for query in queries])\n",
" for name, queries in languages.items()}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Finally, define a function to plot the results:"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def trendlines(queries, norm=False):\n",
" for q in queries:\n",
" counts = queries[q]\n",
" x = counts[:, 0]\n",
" y = np.copy(counts[:, 1])\n",
" if norm:\n",
" y /= counts[:, 2]\n",
" plt.plot(x, y * 100, label=q, lw=4, alpha=0.8)\n",
" plt.xlim(np.min(x), np.max(x))\n",
" plt.xlabel('Year')\n",
" plt.ylabel('Percent of Refereed\\nPublications Mentioning')\n",
" plt.legend(loc='upper left', frameon=False)\n",
" remove_chartjunk(plt.gca(), ['top', 'right']) "
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlwAAAGJCAYAAABfB+2xAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4VMX6wPHv7KZsCiSBhCTU0HtPkA5WFBErcgFBxXJt\nV2xYrt177QiIP7uAWBDBxlVRRESqlFCkhp5QAwRCSNuU3fn9sZuQzaZsQrKbZN/P8+QhZ845c94g\nwrszc95RWmuEEEIIIUT1MXg6ACGEEEKIuk4SLiGEEEKIaiYJlxBCCCFENZOESwghhBCimknCJYQQ\nQghRzSThEkIIIYSoZpJwCSGEEEJUs1qZcCml7lNKHVBKZSul4pVSA8u4dohS6gel1DGlVKZS6m+l\n1O2lXBdv73OfUuqf1ftTCCGEEMJb1LqESyk1GpgO/BfoAawBflFKNS3llv7AVuBGoDPwPvCRUuof\nRfqMAX4GVtn7fA14Ryl1ffX8FEIIIYTwJqq2VZpXSq0Ftmit7ynStgdYoLV+2sU+vgYMWutR9uPX\ngeu01u2LXPMx0ElrPaBKfwAhhBBCeJ1aNcKllPIFegNLip36DdtIlqvqA6lFjvva+yhqMRCrlDJW\nNE4hhBBCiKJqVcIFhANG4ESx9hNAlCsdKKVGAJcAHxZpjiqlTx/7M4UQQgghKq22JVwXRCk1APgS\n+JfWeqOn4xFCCCGEd/DxdAAVlAJYgMhi7ZFAclk32t9k/Bl4Rmv9UbHTyaX0mW9/ppNPP/1U33bb\nba5FLYQQQoiaTlVn57VqhEtrnQdsBC4vdupyYHVp9ymlBgOLgOe01u+UcMlfJfR5BRCvtbaU1Gdi\nYqKLUQshhBDC29WqhMtuKnCbUuoOpVQHpdTbQDTwAYBS6lWl1O8FFyulhmJLtt4H5imlIu1fRddm\nfQA0UUpNs/d5JzABeNNNP5MQQggh6rDaNqWI1nq+UqoB8DS2RGs7cJXW+oj9kiigZZFbbgUCgMfs\nXwWSgFb2PhOVUsOBacA9wDFs67x+qM6fRQghhBDeodYlXABa6w+wj2iVcO72Eo6dKsuXcN9KILZK\nAhRCCCGEKKI2TikKIYQQQtQqknAJIYQQQlQzSbiEEEIIIaqZJFxCCCGEENVMEi4hhBBCiGomCZcQ\nQgghRDWThEsIIYQQoppJwiWEEEIIUc0k4RJCCCGEqGaScAkhhBBCVDNJuEStkZSUhMFg4LPPPqvw\nvcuXL8dgMDB//vxqiEwIIYQomyRcosLmzJmDwWDAYDCwevXqEq9p06YNBoOBSy65pML9v//++8yZ\nM+dCw3SilKryPoUQQghXSMIlKi0gIIC5c+c6ta9bt44DBw4QEBBQqX7fe++9akm4tNZV3qcQQgjh\nCkm4RKUNHz6cBQsWYLFYHNrnzp1Lx44dad26tYciE0IIIWoWSbhEpSilGDNmDGfOnGHx4sWF7Var\nla+//pqxY8c6jSi99dZbDBo0iIiICAICAujWrRszZ850uKZly5bs2LGDP//8s3DaslWrVqXGcejQ\nIe6//346depEUFAQYWFhXHPNNWzfvr3EmC0WC88//zxNmjQhKCiIK6+8kn379l3g74YQQghRNh9P\nByBqr6ZNmzJw4EDmzp3L8OHDAViyZAmnTp1i7NixzJs3z+H66dOnc8011zB69GiUUixcuJC77roL\ni8XC3XffDcDbb7/NAw88QL169XjmmWfQWhMcHFxqDBs2bGDVqlWMGjWK5s2bc+zYMT788EOGDh3K\njh07iIyMLLxWa81rr72G1Wpl8uTJpKamMn36dC655BK2bt1KaGhoNfwuCSGEEJJwedw1/7fKbc/6\n8YGBVd7n2LFjefTRR8nOziYgIIAvv/ySiy66iJYtWzpdu3fvXkwmU+Hx/fffz7Bhw5gyZUphwjVy\n5EiefvppIiIiGDNmTLnPHzFiBDfeeKND2/jx4+nYsSMzZ87k3//+t8O5kydPsmfPHurVqwfA0KFD\nufTSS5k6dSovvfRShX9+IYQQwhUypSguyKhRo8jNzeWHH37AbDazcOFCbrnllhKvLUi28vPzSU1N\n5fTp0wwdOpT9+/eTnp5eqef7+/sXfp+dnc2ZM2cIDg6mffv2bNy40en6W2+9tTDZArj44ovp3Lkz\nP/30U6WeL4QQonbLXvoHOWvXVvtzZIRLXJCwsDCGDRvGl19+idFoJDs7m9GjR5d47cKFC/nvf//L\nli1bHBbaK6VIS0tzSIRclZOTw7PPPsuXX37J8ePHHfoMDw93ur5NmzZObe3atWPZsmUVfrYQQoja\nTVutZMyciTU1lchfFlXrsyThEhds7NixTJgwgbS0NC677DIaNmzodM2qVau44YYbGDx4MB9++CGN\nGzfGz8+Pn3/+menTp2O1Wiv17AceeIBPP/2UBx98kH79+hEaGorBYGDSpEmV7lMIIYR3yNu6FWtq\nqlueJQmXh1XHuip3u/baa/H392fNmjWl1s/65ptvCAgI4LfffsPX17ewfenSpU7XVqRA6TfffMOt\nt97KW2+95dCemppKRESE0/V79+51atuzZw8xMTEuP1MIIUTdYF6+wm3PkjVc4oIFBATwwQcf8Pzz\nz3P99deXeI2Pj09hWYYCqampzJ492+naoKAgUl38xGE0Gp1Gsr766iuOHTtW4vWfffYZaWlphcd/\n/PEHO3bsYMSIES49TwghRN2g8/LIWVXybinVQUa4RKUUr7E1bty4Mq+/5pprmDp1Kpdddhnjx4/n\n9OnTfPLJJ0RHR3PixAmHa2NjY3n//fd56aWXaNeuHcHBwaUmRCNHjuTzzz+nXr16dOnShS1btvD1\n11+XWnQ1MjKSAQMGcMcdd5Camsrbb79NkyZNePjhhyvw0wshhKjtcjdtwppRuRe2KkMSLlEprk77\nFVw3ZMgQPvvsM1599VUefvhhmjZtyqRJkwgJCeGOO+5wuOe5557jyJEjTJs2jXPnztGiRYvChKv4\nc2fMmIGfnx/z589n1qxZxMXFsXjxYiZPnux0rVKKJ554gt27dzNlyhTOnj3L4MGDmTFjBmFhYZX9\nrRBCCFELmf9c7tbnKdlfrnJeeOEF/cILL3g6DCGEEEJUkDabOTVmLNpsLmyL/GWR6wuIK0HWcAkh\nhBDCq+SsX++QbBlLKCNU1SThEkIIIYRXKT6d6D9oULU/UxIuIYQQQngNa0YGuRviHdpMQ4dU+3Ml\n4RJCCCGE18hZ8xc6P6/w2BgdjU/bttX+XEm4hBBCCOE1zMsdpxNNQ4ZUqOB2ZUnCJYQQQgivYE1N\nJXfLFoc2d0wngiRcQgghhPAS5pWroMjuJD4xMfi0aOGWZ0vCJYQQQgivYF7huHeiu0a3QBIuIYQQ\nQngBy8mT5O3Y4dBmGiIJlxBCCCFElTEvdxzd8m3fHmNUlNueLwmXEEIIIeo8p7cT3TidCJJwCSGE\nEKKOyz9yhPz9+883GAz4Dx7s1hgk4RJCCCFEnVZ8Kx+/rl0xNmjg1hgk4RIVNmfOHAwGA+vXrwfg\nxRdfxGAwFH4FBQXRokULRo4cyaeffkpubq5TH7fddhsBAQHuDl0IIYSX0VqT41Ts1L2jWwA+bn+i\nqBOKV+VVSvHuu+9Sv359cnJyOHr0KIsXL2bixIlMnz6dn3/+mSZNmjhc747KvkIIIbxb/v4D5B85\nUnisjD74Dxzo9jgk4RJV5oYbbqBRo0aFx8888wxfffUV48ePZ9SoUaxZs8aD0QkhhPBGxRfL+/Xu\nhaFePbfHIVOKolqNGTOGO++8k3Xr1rF06VJPhyOEEMKLaKuVnOWeK3ZalCRcotqNHz8erTW//fab\np0MRQgjhRfJ2JWA5dbLwWPn549e3r0dikSlFDxv/02i3PevzEV+77VlFdenSBYD9RV/JFUIIIapZ\n8cXy/n0vwuChF7ZkhEtUu+DgYADS09M9HIkQQghvoS0WzCtXOrT5u3Ern+Ik4RLVLiMjA4B6Hlik\nKIQQwjvl/r0V69mzhccqKAj/2N4ei0cSLlHttm/fDkCbNm08HIkQQghv4VR7q39/lJ+fh6KRNVwe\n56l1Ve702WefoZRi2LBhng5FCCGEF9C5uZhXr3Zo8+R0IsgIl6hmc+fOZebMmfTv35+LL77Y0+EI\nIYTwArkbN6IzMwuPDaGh+PXo7sGIZIRLVJLW2un4m2++ISQkhNzc3MJK86tXr6Znz57Mnz/fqY/8\n/Hxefvllp/bg4GAmTZpUbbELIYSo24rvnWgaNAhlNHooGhtJuESllLS1z7/+9S8ATCYT4eHh9OjR\ng08//ZQxY8bg6+vr1IfFYuG5555zao+MjJSESwghRKVYs7PJWbvOoc1/sPv3TixOFR+pEK554YUX\n9AsvvODpMIQQQghRhHnZMtLeeLPw2BgeQcM5s1GGcldRVesGv7KGSwghhBB1hrnYVj7+Q4e4kmxV\nO89HIIQQQghRBazp6eTGb3RoM3n47cQCknAJIYQQok7IWb0abckvPDY2aYJP61YejOg8SbiEEELU\nGGfNZ1l+aBnbT21zehtaiPI4vZ04dKjTS16eIm8pCiGE8LisvCx+3v8/fj24iFxLDgCdw7tyZ7d/\nEh4Y4eHoRG1gOXOG3K1bHdpMQ2vGdCJIwiWEEMKD8ix5/J60mIV7vyczL8Ph3I6UbTy1/DHGdBrP\nxc0vrTEjFaJmylm5EoqMivq0bo1P06YejMiRJFxCCCHczqqtrD6ykm/3zOd0dkqp15ktZmZv+5j1\nx9fKaJcok9N0Yg1ZLF9AEi4hhBBuo7Vmy8lNzE/4iiPph0u8xtfgS541z6FNRrtEWSzJyeQlJDi0\nmYZ4vthpUZJwCSGEcIu9Z3YzL2Eue84klHjeZDRxdeuRXNlqOKuOrGTeri/JsZgLz8tolyhN8dpb\nvp06YWzUyEPRlEwSLiGEENXqSPphFiTMY9OJ+BLPG5UPl8Vcwcg211HfPwSAy2KuoHujHnz89wfs\nOr3D4XoZ7RLFmZfX7OlEkIRLCCFENTmdncJ3exaw8vAKNFan8wpF/yYDubH9zUQEOo9GRAQ24sm+\nz/BH0u+ljnZtOL6WO7rfQ3hAeLX+LKLmyk9KIv/gwfMNBgOmQQM9F1ApJOESNVZMTAydOnVi0aJF\nng5FCFEBGbkZ/LjvB5Yk/uq0FqtA90Y9ubnDGJrXb1FmXwZlKHO0a3vKNp7681HGdprA0OaXyGiX\nFyq+WN6ve3cMYWEeiqZ0UvhUVNicOXMwGAyFX76+vjRr1oyJEydy7NixCvX1119/8eKLL3Lu3Dmn\nc/IXpxC1S44lhx/3/cAjf/yLRQd+LDHZah3ahqf7Pc9jfZ4sN9kqqmC069Yud+BvNDmcM1vMzNr2\nEW+se5mUMt54FHWP1hrzCsf1WzWp9lZRMsIlKkUpxYsvvkirVq0wm82sXr2aOXPmsGLFCrZv347J\nZCq/E2DNmjW89NJL3H777dSvX7+aoxZCVAeL1cKKw3/y/d4FpJpTS7wmKqgxozuMoXdUXKU/TMlo\nlyguf+9eLEU+6CsfX/z79/dgRKWThEtU2hVXXEGfPn0AmDhxImFhYUybNo2FCxcyevRol/qQrTuE\nqL201sQnr2d+wjySM0se3Q4zhXFDu1EMajoUo8FYJc8tb23XrG0fsf74X7K2yws4TSfG9sYQHOyh\naMomU4qiylxyySUA7N69G4PBwPTp052u2bp1KwaDgQ8//JAXX3yRxx9/HLCt1zIYDBiNRlYUGx5e\nvXo1F110EQEBAbRu3ZrPP//cqd+kpCRGjx5NeHg4gYGB9OnTh4ULFzpcs3z5cgwGA/PmzeOVV16h\nWbNmBAQEcNlll7F///6q+m0QwisknN7Ji6ufYcbGqSUmW4G+QYzuMJY3L36boc0vrbJkq0DBaNer\nQ96kY8POTucLRruWJS2VD3Z1lLZabdXli6ip04kgI1yiCu3btw+A6Oho+vXrxxdffMFDDz3kcM0X\nX3yBv78/o0eP5vDhw+zZs4d58+bx9ttv07BhQwA6duxYeP2BAwcYNWoUd9xxB7fddhuzZs3i9ttv\nJzY2tvC6U6dO0a9fPzIzM5k0aRLh4eF88cUX3HDDDcydO9dptO2NN97Ax8eHyZMnk5aWxuuvv84t\nt9zCX3/9VZ2/PULUCUlpicxP+Iqtp7aUeN7X4MsVLa9iROtrCfar/pEGGe3yXnk7dmBJOb9mT5lM\n+F90kQcjKpskXB524qrhbntW5C9V+7ZfWloap0+fxmw2s2rVKv7zn/8QGBjIiBEjsFqt3HfffSQk\nJNChQwfANv0wb948RowYQWhoKKGhofTq1Yt58+Zx7bXX0rx5c6dn7N27lxUrVjBgwAAARo0aRbNm\nzZg9ezZvvPEGAK+++ionTpzgzz//ZNCgQQDcfffd9O7dm0ceeYSbbroJo/H8p+ucnBw2bNhQ2BYa\nGspDDz3Ezp076dSpU5X+HglRV5zKOsm3u+ez5ugqNM4jRgoDg5oN5oZ2o2jo5sRG1nZ5p+LTif59\n+6JcXD/sCTKlKCpFa82wYcOIiIigWbNmjB07lujoaH788Ueio6MZPXo0fn5+DtN/y5Yt48iRI4wf\nP97l57Rr164w2QIIDw+nffv2HDhwoLBt0aJF9OrVqzDZAjCZTNx3330kJyezadMmhz5vvfVWhwRs\n0KBBaK0d+hRC2JzLSeOLHXN4/M+HWX10ZYnJVu/IOF4Z8gZ3db/X7clWUeffZJxYxpuMr8ibjHWA\nzs8nZ+Uqh7aatpVPcTLCJSpFKcU777xDhw4dMJlMNG/enKZFdmUPDQ1l5MiRzJ07l5dffhmwTSc2\nbNiQ4cNdH9UradQrLCyM1NTzb0IlJSVx4403Ol3XsWNHtNYkJiYSFxdX2N6sWTOn/gCHPoXwdub8\nbH49sIif9/8Pc5FpuqLaN+jI6A5jaNugvZujK51ttGsY3Rv15KO/3yfh9E6H89tTtspoVx2Qu3kL\n1vTz5YQMwfXw693bgxGVTxIuUWmxsbGFbymWZMKECXzzzTesXLmSPn368N1333HLLbfg4+P6H7ui\nI1FFXcgi2OroU4i6QmvNskNL+Xb3fM7lppV4TdN6zRjdYSzdG/WssQlLRGAjnur7LH8kLWHerrml\nrO1ayx3d/ylru2qh4lv5+A/oj/L19VA0rqmVCZdS6j7gMSAa2AE8pLVeVcq1/sAHQC+gI7BKa31J\nsWuGAMuK3aqBjlrrPVUcvoOqXldVk1x55ZVERETw+eefk5ycTHp6utN0YlX8Zd2iRQt2797t1L5r\n1y6UUsTExFzwM4TwBjmWHD75+wPWHltT4vmGAeHc1H40/ZsMxKBq/ooUGe2qm3RODjlrHP+M1uS3\nEwvU/P9jilFKjQamA/8FegBrgF+UUk1LucUIZAPvAD+V0bXGlpBF2b+igb1VFLZXMhqNjBs3jgUL\nFjBz5kzatGnDRcXeIAkKCgIubDpvxIgRbNq0idWrVxe25eTk8P777xMVFUXvGj7MLERNcDo7hf+u\neb7EZCvYtx7jOk3gzaHTGdh0cK1ItooqGO2StV11Q86GeHR2duGxISwM327dPBiRa2rX/zU2DwOz\ntNaztNa7tdYPAseBe0u6WGudpbW+T2v9CXC0nL5Paa1PFvmSOaZSuPpbM2HCBNLS0liyZEmJi+Vj\nY2PRWvPkk0/y+eef8/XXX5OSUrG/9J544gmioqIYPnw4zz77LDNmzGDgwIEkJCQwbdo0DIba+Mdc\nCPfZe2Y3z638N4lpBx3a/Yz+jGxzPW9dMoMrW12Nr7FmT9mUpWC069Uhb9KhofPbyAWjXVK3q+Yz\n//mnw7Fp8CBULfh7vuZHWIRSyhfoDSwpduo34EJr+SsgXil1TCn1u1Jq6AX2V6e5OvTevXt3utk/\neYwbN87pfO/evXnttdfYtWsXEydOZOzYsezceX7Yv7TnFG2PiIhgzZo1XHXVVbz//vs8+eSTKKX4\n7rvvuPnmm12KW6YShLdafmgZr6x9yWm9VpPgprwy+A1GdfgHgb6BHoqu6rk62rX15Bay87I8FKUo\njTUri9z1GxzaTENq/nQigKpNmbxSKhrbKNXgomu2lFLPAmO11h1Lvdl23TtA5xLWcLUDhgIbAD9g\nAnCP/Tmri/cD8MILL+gXXnih8j+MF+nTpw/+/v6sLFYRWAjhORarha92fcHig87rSHtG9ua+nv/C\n5BPggcjc51TWyRLXdhVQGGgR0oL2DTrSvkEH2jXoQIh/iJujFEVlL/2Dc1OmFB4bIyNpOHtWVX1o\nrtZP3rVy0XxVsy+ML7o4fp1SKgaYDJSYcAnXbNmyhfj4eD7++GNPhyKEsMvIzeDdTW+zPWWr07mR\nba7nxvY317p1WpVR1puMABoriWkHSUw7WJiYRgU1pn2DDnRoaEvCwgMiZITcjXKKTycOGVJrfv9r\nW8KVAliAyGLtkUByFT9rHeDaDszCyY4dO4iPj2f69OlERUWVOJ0ohHC/YxlHmbbhTZIzjzu0+xr8\nuLv7vfRtcqGrM2qX8t5kLC458xjJmcdYfvgPAMJMDQpHwDo06Ejjek28Iln1BGtaGjmbNzu0+deS\n6URwU8KllJpQyikNmIF9WuvNpVxz/mKt85RSG4HLgW+LnLocWHDBgTrqiW0xvqiEb775hv/85z+0\na9eOefPmYarB2y0I4S3+PrmFdzdNJzs/26E9zNSAh2Mn0zK0lYci87yC0a7NJzby98kt7DmTwNGM\nI+Xel2o+w9pjq1l7zDYZEuQbTLsG7QuTsJiQlvgYatvYRs2Us3oNWCyFxz7NW+DTMsZj8VSUu/4U\nvIttbZQvYLW3GYA8+/e+SqnNwJVa61Pl9DUV+EwptQHbdN+92Eo4fACglHoViNNaX1Zwg1KqI+AP\nhAPBSqnuAFrrv+3nJwGJ2Gp6+QHjgZHADZX/kb3b888/z/PPP+/pMIQQ2N4qXnTgJ77e9aXT1jxt\nwtoxqfejhJpCPRRdzWFQBnpHxdE7yrYzRXruOXaf2c3u07vYfSaBxLSD6MJ/wkqWmZfB5hMb2Xxi\nI2B707NtWLvCJKxNWFv8jf7V/rPURU5vJw4ZXGumE8F9CddNwIvYSjoUvF4QB7wFvAwcAWZjS6bK\n3GhPaz1fKdUAeBpborUduEprXfBRJApoWey2RUDRPWI2YxtdKyg57ge8ATTFVrNrBzBca724Qj+l\nEELUMHmWPGZu/ZDVR51fWhnUdCi3d72zVpd7qE71/OoTGxVHrD0BM+dnsy91LwlnEth9eif7z+4j\nz5pXZh+5lhx2pGxjR8o2AAzKSMuQlnRo2Il2Ye1p16ADwX7B1f6z1HaWlBRyt293aKtN04ngprcU\nlVI7gIla63XF2vsCs7XWHZVSFwOfa61LK2Bao8hbikKImi7VfIbp8W9x4Ow+h3aFgbGdbmFYy+G1\naoSgpsmz5JGYdoDdZxJIOLOLPWd2k51f8VISTes1o32DjnRo0JF2DdrTIKBhNURbu2V99z3pRV6+\n8m3bjgYzplf1Y+rEW4qtgJL+FGYBMfbvDwJhbopHCCHqtANn9zM9/k1SzY67OAT6BvFAr0l0jeju\nocjqDl+jL20btKdtg/aM4Fqs2srhc4fYk5pAgn0aMi3nbLn9HEk/zJH0wyxN+g2AtmHtmdDlNmJC\nvHdNXXHmPx33TqwNW/kU566Eaz0wVSk1XmudDKCUigKmYHsbEKAttqlFIYQQF2DVkRXM2vqR03RX\nVFBjHo17nKjgaA9FVrcZlIEWITG0CInh8pgr0VpzIutE4Rqw3Wd2cTLrRLn97E3dzXMrn+aKlldy\nU/ub63w9tPLkHz1G3t4ilZuUwn/wIM8FVEnuSrjuBH4ADimljtnbGmOrfXWd/TgI2/6IQgghKsGq\nrcxP+Iqf9//P6Vy3iB7c32tSnaoaX9MppYgKiiIqKIohzS8GbNO8tuQrgd2nEziSfsjpRQaw1QBb\nfHAR64+vZXzn24iN6uO10785K1Y4HPt16YIxPNxD0VSeWxIurfVepVQX4Aqgvb05AVhSsF+h1voH\nd8QihBB1UVZeFu9tnsHfJ50r7FzdeiQ3dxgj9aFqgDBTA/o27k/fxrZ6Zxm5GexL3UPCmV3sOr3T\nab1dqvkMMzZOpUejXtzaZSLhgRGeCNtjtNZO04m1bbF8AbcVB7EnVovtX0IIIapIcsZxpsa/yfGM\now7tvgZfJna7m4FNB3soMlGeYL9gekT2okdkLwC2nNzMnG2zSMk+6XDdlpOb2Ll8B9e3u4krWw73\nmtpelsRE8g8lnW8wGDANHOC5gC6A2/6LKaUuAi4FGlFs02yt9YPuikMIIeqS7ae28s6m6WTlZTq0\nh/qH8VDsY7QOa+OhyERl9GjUk45Dp/D9nm/45cDPWPX5Qp+5lhy+3vUla46sYmK3O2kT1s6DkbqH\neXmx0a1evTCE1M79LN1Vaf4xbHWu9gHHwGHCuvbsni2EEDWE1prfEn/lyx2fORXjbBnSmodiH5Xy\nArWUv9Gff3Qcx8Amg5m57SP2pe5xOH84PYmXVj/HxS0u4+YOYwjyDfJQpNWrLk0ngvtGuCYBD2qt\n/89NzxNCiDorz5LHnO0zWX54mdO5/k0Gcke3f+Jn9PNAZKIqNa3fjGf7v8jyQ8v4OmEumXkZhec0\nmj+SlhB/fD23dL6Vvo3717lF9fkJCVhOnH+rU/n64d+/X5U/51TWSZYmLeEfHat3z193JVz1sVV7\nF0IIcQHSctJ4O/4t9qbudmhXKG7uOJarW11T5/7h9WYGZeDiFpfSKyqWr3Z+7rRjwLncNN7bPIMV\nh5dxa9c7iQqK8lCkVc+8vNjbiX3iMARWzVu2Wmt2pGzjt8Rf2XJiExpdZxKur4Argffc9DwhhKhz\nEtMOMG3DFM6YTzu0m4wm7u81qXDhtah7QvxDuKfnAwxsOoQ522eSnHnc4fz2lG38e/ljjGx7A1e3\nuqbWb9ekrVbMxcpBmKpgOjE7L4tVR1fw28HFJGceK/+GKuSuhOsw8KJSagCwlfObVgOgtZ7qpjiE\nEKJWWntsDR9teZ88a65De2RgFA/HTaZJvVqxK5q4QF0iuvLK4Df5cf8P/LjvB/Kt+YXn8qx5fLv7\na9YcXcVE/iQ+AAAgAElEQVTErnfSoWEnD0Z6YfK2bsWaen6XBBUQgH+fuEr3dyzjKEsSF7Pq8HLM\nFnNVhFhhpSZcSqlZrnaitZ5YziV3AhlAf/uXw+3YNq0WQghRjFVb+W73Ahbu+87pXOfwrjzQ6yHZ\n/NjL+Bp9uaHdKPo1HsDsbZ+w6/QOh/PHM47y8l8vMqjpUMZ0Gkc9v/oeirTynBbL9+uH8vevUB9W\nbWXLiU38lvhr4ebhpWlev0WFY6yoska4ildXGwxYgYKou2Ar77CCcmitW1YqOiGE8GLm/Gze3/x/\nbDoR73RuWMvhjOl4C0aD0QORiZogOrgxT/V9ltVHVzJ352ek56Y7nF955E82n9jIPzqOY3CzobVm\nbZ/OyyNn9RqHNtPQoS7fn5Gbzp+Hl7E0cYlTPbOiDMpIn+iLuCLmSreU2Cg14dJaX1PwvVLqKSAb\nuF1rnWlvCwJmcj4BE0IIUUVOZZ1k6oY3OJJ+2KHdqHy4veudhVvFCO+mlGJg08H0aNSLebu+ZPnh\nPxzOZ+Sl88nWD1h1ZDm3db2zVkw9527ahDXjfPJoqFcfv549yr0vKS2R3xJ/4a+jq532ES0qxD+U\nS1pcxiXNLyPUFFYlMbvC1TVcDwKXFiRbAFrrTKXUf4ClwMvFb1BKzQCesl83o6zOpfCpEELY3pw6\ndC6J+OT1/J74Gxl5jiMW9f1CmBT7KO0atC+lB+Gtgv2CubP7PxnUbAizt37M0YwjDucTzuzi6RVP\nMKL1SEa2vb5Glw1xmk4cOADlU3K6km/NJ/74en5L/NXpzd3i2oS1Y1jMVcRGx+FjcP9LBa4mXMHY\nNpveWaw9GijtHc2ugG+R70sjhU+FEF7Lqq3sOZNAfPIGNibHlzoF0qJ+DA/FTSY8oPZt2ivcp32D\nDvx38Gss2v8TP+z91mGkx6LzWbjvO/46tprbu95Jl4huHoy0ZNpsJmftWoc208VDna47az7LskO/\n80fS75zNSXU6X8DX4Eu/JgO4PGYYMSGtqjrcCnE14foWmK2UmgwU/E70BV4HnFdyAlrri0v6Xggh\nvF2eJY/tKVuJT17P5hMbndbeFHdRdD/u6nEv/saKLRoW3snH4MvIttfTt3F/5myfxdZTWxzOn8w6\nwevrXqZv4wGM6zSBUFOohyJ1lrN+Pdp8/i1CQ8OG+HbuDNhGgPel7uG3xMVsOL4Oi84vrRsaBoRz\nWYsrGNL84hrz0oCrCde9wFvAp5wftcrHtobrsaoPSwgh6pasvCy2nNzExuQNbD25xaVX030NvlzX\n9kauaXNdrVnwLGqORkGRPNbnSdYd/4svdswhLeesw/m1x1bz98nNjO44loubX4pBGUrpyX2KTyea\nBg0iX1v46/AKliT+SmLawTLv7xzelctjhtEzsneN+HmKcinh0lpnA/fZR7ha25v3F13TVR6l1GhK\n37x6pKv9CCFEbXHWnMqmExuJT17PzpQdZX4iL+Br8KVLRDd6R8bRK6p3jfl0LmonpRR9G/enW0QP\nFuyex9LE39BFVvJk52fx6bZPWHV4Obd3u8st5RFKY83IIHfD+Tdy8635LGuRyS+/3+u0nrEof6OJ\ngU0Hc1nMFTSt18wdoVZKRQufBti/tmitc1y9SSn1JvAQsAznzauFEKLOSM5MJj55PRuTN7A/da/D\nP26lCfQNomejXvSOiqNrRDdMPgFuiFR4k0DfQG7tMpGBTQYza9tHHDqX5HB+39m9PLPiSYY2v4RG\ngY3w9/HHz+CPv48/JqMJfx9//I0m/Ix+mIwmTD4m/I0mfAw+VTb6mrNmDTo/j+x8M+dy0kgOzmdB\n3l9QSv9RQdFcFjOMQU2HEOhbNVv+VCeXEi6lVD1gFnAjtmSpLXBAKfUBkKy1fqGcLiYAY7TW31xA\nrEIIUeNorUk6d5D44xuIT17v9HZYaUL9w+gdFUtsVB86NOyEj8FdG38Ib9Y6rA0vDXyVJYm/8s3u\n+eQUmdrWWFl26PcK9acw4G/0w9/HhL/RlpTZkrOSE7WCY9u1/rbEzd6W+eOX5KUfIddi201hT+dI\np2RLoejeqCeXxwyjS0S3GjdtWBZX/w9/Hdtbir2AVUXaf8JWEuKFcu43AFvKuUYIIWoFi9XCntQE\n4o9vYOOJDZzOTnHpvqigaHpHxREb1YdWoa1r1T8Wou4wGoxc2epq4qIv4vPtn7LxxIZK96WxYraY\nL3i7nIDMPG7ftAtlPT8ivKfT+cX8gb5BDGl2MZe2uJzIWrpBt6sJ10jgeq31FqVU0fHxXYAr71l+\nBNxC+YmZEELUSLmWXLaf2srGExvYlLyxzDUlRbUMaW1PsuJoHNxEFr+LGqNhQDgPxT3GpuR45myf\n5bQpuju12ZXmkGydbmQiNcJE03rNuSLmSvo3HVjr39J1NeEKA0r6L1EPsLhwfygwVil1OSVvXi2F\nT4UQNU5mXiZbTmwiPnkD20797TD9UhqFgY4NOxEbHUevyFgaSt0sUcP1ioqlU3hnNibHcyIrmVxL\nLuZ8MzmWHHIsZnLycwq/N+fbfs215JJjMTtsnn0h2u4s+galIr9/b57u9yjtG3SsMx9SXE24NmAb\n5ZpuPy5IQ/8JrCnxDkedOD+l2KHYOVlAL4TwOHO+mcPnkkg8d5CktEQS0w5yOP0wVl3+Z0pfgx/d\nIroTG92HHo16EuxXzw0RC1F1TD4BDGg6qML35VvzbclYvi0JM1vMhce2JC3HIXkrKZkzpKQSczwB\nfEwE+ARQ368+cbe+jLFh7Zw6LI2rCde/gcVKqc72ex6xf98H26bWZZLCp0KImiQjN53EtMTC5Crp\nXCLJGcdceqOwQJBvMD0a9SQ2qg9dG3Wv9dMdQlSGj8EHH4MPQb5Ble4jc/4CMoK3Fx77tm+PMapu\nJVvgeh2uNUqp/tiKnO7HVk9rE9BPa+3y5tVKKRPQBtuo1n6t9YWtshNCiDJorUk1nyEx7aBDcuXq\nIvfiwkwN6B0VR+/IODo07ChvFgpxgbTZTNYPPzi0mYYO8VA01cvlvy3sidWtlXmIUsoXeAV4APAD\nFJCjlHoHeFprXfq23kII4QKrtnIy80Sx5OpgudvmlCc6uAmx9jcLW4a0qjPrSYSoCbIX/YI19fxe\niMrfhGnoUM8FVI1cTriUUpHAeGxvJT6ntU5RSg0Ajmmty661bysrMQa4h/NlJQYBr2IrGSHbAwkh\nXJZvzedo+hES0w6SdM42anUoLfGCXk1XKCKDoogJaUmLkJbE1I+hRUiMVHoXopro7Gwy5y9waAu4\nZgSG0Jqzt2NVcrXwaW9gKXAQ6AxMAVKAy4F2wNhyuhgLTNRaLyrStl8pdQr4BEm4hBClKFjMnnQu\nsTDBOpJ++ILejjIoI03rNbUlV/VbEhPSkub1m0uFdyHcKOunn7GmnX87UQUEEHTTjR6MqHq5OsI1\nBXhba/28Uqro+Pxi4HYX7g/BtvaruP3YSkYIIQRZeVkcsidWB9MOkJh2kOMZx9FYK92nn9Gf5vVb\n2JOrGGJCYmgS3Axfo28VRi6EqAhrdjZZCxw3nwkcORJDSIiHIqp+riZcvYE7Smg/DkS6cP/fwIPA\n/cXaJyEV6IXwShm5GUXWWx3k4NkDnMhKvqA+g3yDCxOrFiExxIS0JCooWiq6C1HDZC9ciDX9XOGx\nCggg8MYbPBhR9XM14crGVvy0uA7ASRfufxxYpJS6DFhrb+uLbbugq1yMQQhRS6XlpNmSqyJfKdmu\n/NVRujBTA/uI1fk1Vw0DwmVRuxA1nDUzk6xvv3doC7z+egz16nb9OlcTroXA80qpUfZjrZSKwbYY\n/tvybtZar1BKtcM2wlVQ+HQB8J7W+liFIhZC1FjFyzAUJFep5jMX1G9UUHThqJXt15aE+NfdqQch\n6rKsHxZizTi/OkkFBRF4/XUejMg9XE24HgMWAaeAQGxvGkYCq4FnXOnAnlg9XYkYhRA1kNaa09kp\nhWutCr7O5aZVuk+FgcbBjYkJaVn41aJ+DAG+gVUYuRDCU6zp6WR97zi6FXTDDRiCgz0Ukfu4Wvj0\nHDBQKXUJ0AtbKYdNWuvfS7tHKdUL2KK1ttq/L6v/TRWIWQjhZlZt5WTWSRKLJVeZeRmV7rPom4Ix\nIS2Jqd+SZvVbYPIxVWHkQoiaJOv7H9CZmYXHhuB6BFx3rQcjcp9yEy570dJVwASt9R/AHy72HQ9E\nYVvjFY+tunxJiys0YHSxTyGEGyWc3sX/9n3PvtQ9ZOdnV7ofH4MPzeq1cBi5alavubwpKIQXsZ47\n51RVPvCmGzAEescIdrkJl9Y6TynVkopvMt0S2xRkwfdCiFpkSeKvfL59ToVLMvga/GhRvwUxoa2I\nsde4alKvCT4GSa6E8GZZ332Hzj7/wc1QP4SAkSM9GJF7ubqGaw5wFzDZ1Y611klFD4HDWmunpE0p\n1dzVPoUQ1S/fms8XOz5ladKScq81GU22NwSLfEUHNcZokEFrIcR51rNnyVr4P4e2wJtuxBDgPcWG\nXU24goBxSqnLgY1AZtGTWusHy7n/IBBNsRISSqmG9nPyt7MQNUBGbgb/t2k6O1Kc96QP9A0qHLGK\nCWlJy5BWNAqKlBpXQohyZX77Hdp8fustQ2gogSOu9mBE7udqwtURKFjY3qrYOVemGlUp1wUDld/8\nTAhRZZIzjvPWhtdJzjzu0G4ymrin5wP0ioyVGldCiAqzpqaS/b8fHdqCbh6F8qLRLXD9LcWLK9O5\nUmpGQRfAq0qprCKnjUAfpNK8EB63/dQ23tk0jaw8h8FrwgMa8UjcZJrVl5l/IUTlZM5fgM7NKTw2\nhIURMHy4ByPyDFdHuABQSoUDrbGVe8gp73qga8Gt2EbJcoucy8U2ajalIjEIIarW0qQlzNk2y2lx\nfNuw9kyKfVQKjAohKs1y+jTZPy9yaAsaPRrl7++hiDzHpYRLKVUPmAXciG20qi1wQCn1AZCstX6h\npPsKRsaUUrOBSfZ6XkKIGsBitfDlzs9Ykvir07mBTQczsevdUrZBCHFBsuYvQOedH2sxhocTcNWV\nHozIc1xd7fo6tn0Pe2HbV7HAT8D15d2stb5dki0hao7MvEymrH/NKdlSKEZ3HMfd3e+TZEsIcUEs\nKSlkL/rFoS1w9GiUn5+HIvIsV6cURwLXa623KKWKLn7fhfMieidKKRMwCbgUaESxRE9r3c3FOIQQ\nFyg5M5mpG97geMZRh3Z/o4l7ez5A76g4D0UmhKhLMud9jc7PKzw2RjQi4IrLPRiRZ7macIUBp0to\nrwdYXLj/PWwjYQuANVS8iKoQogrsOr2Dt+OnOm3J08DUkEfiHqdFSIxnAhNC1CmWEycw/7rYoS1o\njPeOboHrCdcGbKNc0+3HBQnTP7ElUOW5DhhV1t6LQojq9eehpczeNhOrdvyM1Ca0LZNiHyPUFOqh\nyIQQdU3mvK/RlvzCY2NkJKbLvXd0C1xPuP4NLFZKdbbf84j9+z7AYBfuzwIOVy5EIcSFsGorc3d+\nzuKDi5zO9W8ykDu73SPrtYQQVcZy/DjZSxx3qggaOwblU6HCCHWOS4vmtdZrgP6AH7Af21qsY0A/\nrfWmsu61ewNbkiZVE4Vwo+y8LN5a/3qJydZN7f/BPT0ekGRLCFGlMud9DZbzI+nG6GhMl17qwYhq\nhlLTTaXULGylHNKVUoOBNVrrWyv5nMuBQcCVSqmdQF7Rk1pr79m9Ugg3OZl5gqkb3uBoxhGHdj+j\nP/f0uJ+46Is8FJkQoq7KP3qU7N8dVw8FjRuHMsoOfmWN792CbSoxHVhGCXshVkAK8H0l7xVCVFDC\n6V3M2PgW6bnpDu1hpgY8EjeZmJByXy4WQogKy5z7FVjPF1H2adoU09AhHoyo5igr4UoE/qWU+g1b\npfh+SqnUki7UWq8o6yFa69srHaEQokKWH1rG7G2fYNH5Du0tQ1rzSNxkQk1hHopMCFGX5R8+jPnP\nPx3agsaNldEtu7ISrsnAJ8BT2N5KLG2ESmPbF7FcSqlYbFsD/aS1zlRKBQE5Whf7l0EIUWFWbeXr\nXXNZdOBHp3N9G/fnru734mf03leyhRDVK/PLuY6jW81b4D/YlffqvEOpCZfWeiGwUCkVCpwBOlPJ\nKUWlVCSwENtbjYVbAwFTATO2oqhCiEoy52fz3uZ32Hxio9O5G9qN4rq2NyLvrAghqkt+UhLmFY6T\nXUHjxqIMrm5oU/eV+46m1vqsUupiYO8FjERNA04ADYFDRdoXAO9Usk8hBHAq6yRTN7zJkfRDDu2+\nBl/u7nEffRv391BkQghvkfnlXNDna5r7xMTgP3CAByOqeVwqiqG1Xq6UilRKjcc2Jfis1jpFKTUA\nOKa1PlhOF5cCl2qtU4t9yt4PNK9M4EII2HNmN9Pjp5Ce67hVaah/GA/HTaZVaGsPRSaE8BZ5Bw5i\nXrnSoS3olltkdKsYlxIupVRvYClwENvU4pvY3jy8HGgHjC2niwAgt4T2CGxTikKIClp1ZAUzt35I\nvtVx4DkmpCUPx06mQUBDD0UmhPAmmV9+6XDs07o1/v37eSiamsvV9HMK8LbWuieQU6R9MeDKmOEK\n4LYix1opZQSewJbICSFcZNVW5id8xYdb3nVKtuKiL+KZ/i9KsiWEcIu8ffvIWeO4w1/wLeNkzWgJ\nXK2z3xu4o4T240CkC/c/DixXSsUB/sBb2EbKQnAtYRNCYFsc/8Hmd9l4YoPTuWvb3sgN7W7CoGQY\nXwjhHplfOI5u+bZth99FUlS5JK4mXNlAScV7OuDCm4ta651Kqa7AvdhGyEzYFsy/q7U+7mIMQni1\nlOwUpm14g0PnkhzafQ2+3Nn9Hvo3GeihyIQQ3ihvzx5y1q1zaAsaf4uMbpXC1YRrIfC8UmqU/Vgr\npWKA14FvXelAa50MPF/RAIUQsC91D9M2TOFcbppDe32/EB6Om0ybsLYeikwI4a0yP//C4di3Qwf8\nYnt7KJqaz9WE6zFgEXAKCARWYZtKXA08U9pNSqkGrnSutT7jYhxCeJWz5rNsSF7LVzu/IM/qsAUp\nzeu34JG4x2kYEO6h6IQQ3ip35y5y4uMd2oLGj5fRrTK4WhbiHDBQKXUJ0AvbYvtNWuvfy76TU+Wc\nV1SgUr0QdZ05P5tdp3eyI2U7O1K2cST9cInX9Y6M456e92PyCXBzhEIIAZlfFBvd6twZv549PBRN\n7eDqCBcAWus/gD+KtimlmmmtS/5XwZZQJQGfAsuxJVdCCLt8az77z+5jR8o2tp/axv6z+7BqS5n3\nXNPmOm5qP1oWxwshPCJ3+w5yN292aAuWtVvlqlDCVZRSKgp4FpiIrc5WSTphe7vxXuAWYDbwqdb6\nWGWfK0RtprXmaPoRtqdsZUfKdhJO78Rsca0UnY/Bhzu6/ZOBTWVvMiGE5xQf3fLr2g2/7t09FE3t\nUWbCZd9H8V3gCiAPeA3bVjzPYauhtRNbwlUirXUCMFkp9RRwjf3a55RSS4FPtNalbYgtRJ1xOjul\ncIpw+6ltTgvfy6Iw0Cq0FZ3DuzKo2VCigqKqMVIhhChb7tat5P79t0Nb0PhxHoqmdilvhOsVYBAw\nB7gS256IlwNBwFVa6+WuPMS+B+P3wPdKqabAZ8A3SqkIWTAv6prMvEx2pexge8o2dqRsJzmzYgO6\n0cFN6Bzehc7hXenYsBNBvkHVFKkQQrhOa+1Ud8uvRw/8unb1UES1S3kJ19XARK3170qp94B9wH6t\n9UMVfZBSqiW2Ea4J2NZy/Qdw/aO+EDVUniWPval7bCNYKds4ePYAGqvL94f4h9IlvCudw7vSObyL\nVIkXQtRIeVu2kLttm0Nb0PjxHoqm9ikv4WqMbdoQrfUBpZQZ+NjVzpVSJmAUtnVcfYD/AXcCv2ut\nZQG9qJWs2sqhc0m2EaxT29h9JoE8a0lbhZbMZDTRoWEnOod3pUtEV5oEN5XFpkKIGk1rTUaxulv+\nsbH4derooYhqn/ISLgO2tVsFLEBWBfpPBs5ie0vxTqBg+jCs6D8wMq0oaroz2af5++QWdtinCTPy\n0l2+16CMtAlrS+fwLnQJ70ar0Nb4GCr9vooQQrhd7sZN5O3a5dAWdIus3aqI8v7WV8AXSqmCDatN\nwMdKKYekS2s9spT769u/nsP2RmNJ/UsdLlFjaa1ZuO97vt/zTbnlGopqWq+5LcGK6EaHBh2kXpYQ\notbSWjtVlffv0wff9u09FFHtVF7CNafY8RclXlW6iyt4vRA1Rr41n9nbPmbF4T/LvbaBqSFdImzr\nsDo17EKoKbT6AxRCCDfI3bCBvD27HdqCxt/ioWhqrzITLq317RfSuatvMVaUUuo+bNsNRQM7gIe0\n1qtKudYf+ABbhfyOwCqt9SUlXDcEeAvoDBwF3tRaf1gd8Yuaz5yfzYyN09h26u8Szwf6BtGpYefC\nacLIoChZhyWEqHNKHN3q1w/fNm08FFHtVesWkiilRgPTgXuw7eV4P/CLUqqj1vpICbcYgWxs9cOG\nA05DD/aNuH8GPgHGYSuF8Z5S6qTUCvM+Z82pTFn/GknnEh3ag3yDuarVCLpGdCMmpKVUehdC1Hm5\na9eSt2+fQ1vQOFm7VRm1LuECHgZmaa1n2Y8fVEpdia2a/dPFL9ZaZwH3ASilulNCwmW/92iRche7\nlVIXYRtFk4TLixxNP8KU9a+Rku24DWh4QCMev+gpooMbeygyIYRwL221klGs7pb/wIH4tm7loYhq\nt1qVcCmlfIHewJvFTv0G9L+Arvva+yhqMTBBKWXUugKrpUWtlXB6F9Pjp5CZl+HQHhPSisf6PEmI\nf4iHIhNCCPfLWfMX+QcOnG9QiuBxYz0XUC1X2+ZEwrFNEZ4o1n4CuJA9T6JK6dPH/kxRx6079hev\nr/uvU7LVvVFPnu73nCRbQgivoq1Wp7VbpkGD8ImJ8UxAdUCpCZdS6g/7XooopSbYF59XGaVUG3th\nVCE8RmvNLwd+4v82TSffmu9wbmjzS3k4drKUdBBCeJ2clSvJP5R0vsFgkLpbF6isEa4BQKD9+9lA\npT/iK6VeUUrdav9eKaWWAHuA4/a1Uq5KwVZ8NbJYeyS2IquVlVxKn/n2Z4o6yKqtfLnzM+bu/Nzp\n3E3t/8HErndhNEiJOCGEd9FWK5lfzHVoMw0dik+zZh6KqG4oaw1XAvCKUmoZtgKlNyulzpV0odb6\ns3KeMw4Ybf/+KqAHtnVT44DXcLFel9Y6Tym1EdsG2t8WOXU5sMCVPkrxF3BdsbYrgHhZv1U35Vpy\neX/z/xGfvM6h3aCM3NX9HgY2HeyhyIQQwrPMfy4n/8jh8w0GA0Fjx3guoDqirITrXuBt4Fps1eBf\ns/9anAbKS7gigYKSDcOB+Vrr9UqpM0B8hSKGqcBnSqkN2MpC3IutHtcHAEqpV4E4rfVlBTcopToC\n/tjWYwXb31ZEa11QZOkD4H6l1DTgQ2Agtk22/1HB2EQtkJGbzlsb3mBf6h6HdpPRxKTYR+kS0c1D\nkQkhhGdpi4XMuY6jWwGXXopPkyYeiqjuKDXh0lqvAeIAlFJWoJXW+mQln3MaaIEt6boCeLLI8ytU\nLVJrPV8p1QBbCYhoYDtwVZEaXFFAy2K3LQKaFzneTJEthbTWiUqp4cA0bPW9jgH/0lr/UJHYRM13\nKuskb6x7heTM4w7tYaYwHo17khYhMZ4JTAghagDzH8uwHD16vsFgIGiMjD1UBVfLQrQETpV7Vem+\nBeYqpfYADbCVXADb1OK+Uu8qhdb6A+wjWiWcc6qOr7UunoCVdN9KILaisYja48DZ/by1/nXO5aY5\ntDcJbsrki56iYYC8kCqE8F46P995dOvyyzFGR3soorrFpYRLa52klIpUSt0PdMI2OrQTeE9rXbyc\nQkkeAZKwjTI9rrXOtLdHA+9XPGwhKmbLyc28s3EauZYch/YODTvxUOxjBPkGeSgyIYSoGcxLl2JJ\nPv/+mTL6EPSP0WXcISrCpYRLKTUA+BVbbaq/7M3jgIeVUsO01n+VejOgtc7Htk9h8fZpFQtXiIpb\nlrSU2ds+QWN1aO/beAB3d78XX6OvhyITQoiaQeflkTl3nkObadgVGKMupMSlKMrVKcUpwFfAPVpr\nK4BSyoBtWu8tXKjyrpQKxDaF2AjHchRa9isU1UFrzbe757Nw33dO565uPZKbO4yR/RCFEAIwL/kd\ny8nzE1bKx1dGt6qYqwlXD+C2gmQLQGttVUpNxbYAvUxKqcuwJWwNSzhduHhdiKqSb81j5taPWHVk\nhUO7wsCELrdxWcwwD0UmhBA1i/XsWTK+cKwqH3DVlRgjIjwUUd3k6sf7NJzf/MPedtaF+98Gfgaa\naq0Nxb4k2RJVKjsviynrX3dKtnwNfkyKfUSSLSGEsNNWK+emTsOamlrYpnz9CBx9swejqptcHeGa\nB8xUSj0OrLG3DQBexzZyVZ4YYKTW+liFIxSiAs5kn2bK+tc5nJ7k0F7Prx6PxD1Om7B2HopMCCFq\nnuyFC8nZsMGhLXDUTRgbljQhJS6EqwnX49jqZc0qck8etjcMnyztpiJWA+2B/RUNUAhXHTl3mDfW\nv0Kq+YxDe6PASCb3eYqoYHm1WQghCuTt3UvGzNkObb4dO0pV+WrialmIXGCSUuopoLW9eb/WOsvF\n53wATFFKNQa2YUvWiva/ycV+hCjRzpQdTI+fQna+4x/JVqFteCTucUL8K70VqBBC1DnWrCzSXn0N\nbckvbDMEBRPyxOMoo6z0qQ6ujnABYE+wtlXiOd/Yf/2opG6RRfPiAqw5uoqPtryPRec7tPeM7M39\nvSbhb/T3UGRCCFHzaK1J/793sRx33HGj3kOTMEZGeiiquq9CCdcFKLfSuxAVpbXm5/3/4+uEuU7n\nLm1xORO6TJSyD0IIUYz596WYly1zaAu4+mpMAwd4KCLv4JaES2udVP5VQrjOqq18tn02S5N+czo3\nusNYrm49EqUqtE2nEELUeflHjpD+7nsObT4xMdS7604PReQ93DXChVKqG/AYjlsDvam13u6uGETd\nkHQ1A2YAACAASURBVGPJ4b1NM9h0It6h3ah8uLvHvfRvMtBDkQkhRM2lc3Nt67ZyzIVtys+fkCef\nQPnL0ovq5tJ8i1KquSphuEDZNHfh/pHAJqAZ8Au2bYKaA5uVUtdULGThzc7lpPHqXy85JVsBPgE8\nftG/JdkSQohSZMyaRf6BAw5t9e79Jz4tWngoIu/i6gjXQWwbTZ8s1t7Afq68Re//BV7WWj9ftFEp\n9ZL93I8uxiG8WHJmMlPWvcqJrGSH9jBTAyb3eYpm9cvN/YUQwivlrF1L1sL/ObSZBg/GNEwKQbuL\nqwmXwjYNWFwwYC6hvbh2wOcltH+OrcaXEGXafSaBt+OnkJ6b7tDerF4LHuvzBA0CpEifEEKUxJKS\nwrm3pjm0GSMjqffgv2StqxuVmXAppWbYv9XAq0qpokWOjEAfYIsLzzkJ9Ab2FWvvDZxwvlwIm8S0\ng3y3ZwGbT2x0Otc5vCsP9n6EQN9AD0QmhBA1n7ZaOffGm1gzinxYNRoJefIJDEFBngvMC5U3wtXV\n/qsCOgK5Rc7lYluXNcWF53wMfKiUaoPj1kCPAW+6HK3wGklpiXy/5xs2nthQ4vkBTQZxZ/d/4mPw\ndXNkQghRe2TO/YrcbY7lM4NvvRXfDh08FJH3KjPh0lpfDKCUmg1M0lqfq+Rz/gtkAI8C/7G3HQOe\nB2aUdpPwPkfOHebbPQuIT15X6jUj21zPTe1Hy1C4EEKUIXfbNjK/ctzu2K9XLwJvvMFDEXk3V7f2\nuf1CHqK11sA0YJpSqp69Lb3su4Q3OZJ+mB/2fMv642vRJS4XhNahbbip/T/oEtG1xPNCCCFsrOfO\nce6NN8FqLWwzhIYS8tijKIMUhPYElxIupZQJmARcCjSiWDkJrXU3Vx8oiZYo6ljGUb7f8y3rjq0p\nNdFqGdKaG9vfTLeI7jKqJYQQ5dBac27qNCwpKQ7t9R97DENYmIeiEq6+pfgecD2wANsarJL/ZSxC\nKbUVGKK1TlVKbSvrnookbKJuSM44zg97v2XN0dX/3959h8dVnYkf/75T1SXbkiVbxTauwuCGwaY5\nAWwIKdQlCSQkJNm0Td0Ukk0IoSW/VEjIpmx2UyAkmw1JwBBCANPsgA24gYuw5S7JtoqtOpKm3fP7\n444sjTSSRrJmRuX9PI8eXZ177r3nSPLV63PPfQ8GK2admbmzuG7eDSyZukwDLaWUilPHY4/jfyV6\nWkbmDTfgPWdZilqkIP6A6xrgBmPMuiGc+y+Av8f2oEGaGv+O+46ztvIvvFT9z34DrbKcGVw37waW\nFS7XQEsppYYguG8/bf/zq6gy9/z5ZH7g5hS1SHWJN+BqB6qGcmJjzJ09tu8YyrFq/Knz1bJ231/Z\nULW+30CrJLuM6+fdwLKi5brotFJKDZHV0UHzd76DCQVPlUlGhr10jytpK/mpfsT7E/ge8AUR+URk\nAvyQiMhzwHXGmKZe5TnAo8aYS4d6TjU21LfXsbbyETZUv4hlwjHrFGeVcN38G1hedJ4GWkopNUxt\nP/8F4ZqaqLKcz30WZ1FRilqkeoo34FoDXAy8TUR2A8GeO40xVw1y/FsBT4zytMh51TjT0NHAY5WP\n8GLV8/0GWtOzirl27r9w3vSVGmgppdRp6HjueTqeeSaqLP1tbyNt1aoUtUj1Fm/A1QA8MtSTi0jP\nGXqLRORkj6+dwBVAdDiuxrSTHSd4bN8jvHDkecImFLNOUeZ0rp13PSunX6CBllJKnaZQzVFa//M/\no8pcZTPI/vjHUtQiFUui83Btxp4sb4CnY+zvAD4zzHOrUaSx8ySP7XuUF448S8iKHWgVZhRxzbzr\nuaD4Ig20lFJqBJhgkJbvfBfT0XGqTNwecr96K5KWlsKWqd6GNItORJYDs4G/GWN8IpIJ+I3pZygD\nZmEvC3QAe93F+h77AkCdMf08b1JjQlNnI3/b/xjPHX6GoBWMWacgYyrXzv0XLii+CKfDmeQWKqXU\n+NX2m98S3FcZVZb18Y/hmjUrRS1S/Yk38WkhsBY7aDLAXOwg6l6gEzspah/GmMORTR3OGGea/c08\nvu/RAQOt/PSpXDP3Oi4suRiXQ9+QUUqpkeR/7TXaH4me7eO98ELS335lilqkBhLvX8H7gFpgCnCk\nR/nDwE/iOYGIuLADtjJ6TaA3xjwYZztUirX4m3li/+M8c+gpglYgZp0p6flcPec6Li5dpYtLK6VU\nAoRPnKDlB/dGlTkLppLzuc9q/sJRKt6A6zLgskjW+J7l+7EDqAGJyALgcbofMYYj1w5iJ0fVgGuU\nC4aDPFr5F546+CT+cGfMOpPSJnPN3OtZVfoWDbSUUipBjGXR8r0fYLU0dxc6HOR89Ss4srNT1zA1\noHgDrnTsOVe9FWA/UhzMj4AtwBLgeORzLvBz4LY426BSpL69jvu33Meh5gMx909Km8RVc67lLaWX\n4nZqoKWUUonU/qc/EXjj9aiyrJvfj+fM8hS1SMUj3oBrPXAL8LXI10ZEnMBXgGfjOP5c7HUVfSJi\nAS5jzFYRuRX7kaSupThKvV63nZ9v+wm+YFuffbnePK6acy2XlF2mgZZSSiVBYNdu2n73UFSZZ/Fi\nMt797hS1SMUr3oDrVuBFETkX8AI/BBZij1JdGMfxgr08ENhvKhYDe4BqYM5QGqySwzIWj1b+hUf3\n/gXTaxnMHE8u75pzNZfOWIPHGSufrVJKqZFmtbbS8t3vgdW9PJojN4+cL38Jcei7aaNdvHm4dovI\n2cAnsedcpWFPmP+pMeZYHKfYCSzGfrPxVeArIhIGPgrsG07DVeK0Bdr4+baf8Eb99j77zik8l48t\n+Tcy3BkpaJlSSk1Mxhhafnw/4fq6qPKcL34B55QpKWqVGoq439U3xhwHvjnM63wLyIxs3wY8ATyP\nncFex0FHkUPNB/jx5vto6Ij+Ry04eHf5jbzjjHfpGzBKKZVkHU/8Hf9LL0WVZVx3Hd5zl6eoRWqo\n4s3D9Wmg0Rjz+17l7wdyjDE/G+h4Y8xTPbYPAOUiMjlyziEvhq0S44Ujz/Hgzl/3yauV7cnhU8s+\nx8L8s1LUMqWUmriCBw7S9sv/jipzz51H1i0fTFGL1HDEO8L1eSDWT/YQ8BtgwIBLRIqwJ8pXd5UZ\nY06KSImIBI0xtXG2QyVAMBzkgZ2/4sWq5/vsm5M3l8+c8+9MTtcha6WUSjbT0WEv3RPsThQg6enk\nfOVWxK0vK40l8QZcJcReZLo6sm8wDwH/C/yqV/kVwHuAy+NshxphdsqHeznUfLDPvjUz38ZNZ75f\nc2oppVSKtP7XLwlVHYkqy/nMp3EVT09Ri9RwxRtwdeXOOtSrfBn2PKzBLAf+LUb5BuD7cbZBjbD+\nUj54nF4+suhjXFB8UYpappRSqvPFF+l46qmosvQ1a0i75JIUtUidjngDrj8A94uID3ghUnYJdkLT\n3/d3UK/rxFq2PA07zYRKIstYPLL3z6yt/GuflA9FmdP43DlfpCSnNEWtU0opFT52jJb7o1fOc5WU\nkPXJT6SoRep0xRtwfRN7WZ6nsJflAXtB6oeBb8Rx/CvYKSU+2av8U8BrcbZBjYC2QCs/3/afMVM+\nLC86j48u/qSmfFBKqRQyoRDN3/kepr39VJm43OR89as40tNT2DJ1OuLNwxUEbhSRbwBLI8XbjTGV\ncV7n68BzIrIIeC5SdmnkXKuH0F51Gg42HeD+LffS0FEfVa4pH5RSavRoe+BBgnv3RJVlffRfcc8+\nI0UtUiNh0IBLRNxAFfbi1bsYRqJSY8wmETkf+DJwXaR4G/BvxpjX+z9SjZQXjjzLAzt/TcgKRZXn\neHL59Dmfo3zKwhS1TCmlVBf/lq20//nPUWXelStJf9c7U9QiNVIGDbiMMUERCQKnlS8rEli9/3TO\noYYuEA7wwM5fsb7qhT775kyax2eWfV5TPiil1CgQPtlIyw9+EFXmzM8n598/r08fxoF453D9BPgP\nEfmQMSY0aG1ARCYbY052bQ9Ut6ueGll1vlru33Ivh1sO9dl3+cwrufHM92nKB6WUGgVMOEzLD36A\n1dTUXehwkPOVW3Hk5KSuYWrExBtwXQy8BagRkZ2Ar+dOY8xVMY6pF5Fpxpg67NQRsUbIJFLujL/J\nKh7b67bx820/oT0Y9aPC4/Tyr4s+zvnF8aw5rpRSKtFMIEDzd75LYNu2qPLMm27Cc5au8DFexBtw\nNQB/GeK5LwW6Rq40aUiSdKV8eLSy74+rKHMan1v+RUqyNeWDUkqNBlZHB8133kXg9ejpzJ6zzybz\nxvemqFUqEeJ9S/FDQz2xMebFWNsqcdoCrfxs20/YUd/3PYTlRSv42OJPkK4pH5RSalSwWlpo+sY3\n+7yR6JxaSM6tX0YcjhS1TCVCvCNcAIjIcmA28DdjjE9EMgF/rHldg83b6knncJ2+A037uX/LvZzo\niE78Lzh4T/lNvP2Md+qkS6WUGiXCJ07Q9LXbCB05HFXuKi0j79v34MzPT1HLVKLEFXCJSCGwFjgP\ne87VXOAAcC/QCXwuxmH9zduKOjU6h+u0GGN4/siz/G7Xb2KmfPjMOZ9nwZQzU9Q6pZRSvYWOHqPp\na18jXFsbVe6eO4+8u+/EkZubopapRIp3hOs+oBaYAvRcRfNh7DcYY9F5WwkWCAf47Y5fsaH6hT77\n5kyax2fP+XcmpcU90KiUUirBggcO0nTbbViNjVHlnkWLyb3jds0kP47FG3Bdhp34tLHXY6n9QFms\nA3TeVmLV+Wr58ZYfcqTlcJ99V8x6O+8tfx8ux5CeGCullEqgwO4Kmm//JpavLarcu3Iluf/xVcTj\nSVHLJi7LMrxe3cS6ilq+fMWChF4r3r/I6UAgRnkB9iPFQYlIGnAT0PV8azfwv8aYjjjboCK21W7h\nF9t/2iflg9eZxr8u+jgriy9IUcuUUkrF4t+ylea778H4o/9kpl12mZ3Y1Kkza5KptqWTdRW1PFtR\nR32bH4AvX5HYa8YbcK0HbgG+FvnaiIgT+Arw7GAHi8gy4HEgA9gRKf4w8C0ReYcxZutQGj1RWcbi\nr3seZu2+v/bZV5Q5nc8t/4KmfFBKqVGmc8M/afnu9zDh6Hm2GVdfRdbHPqZvIyZJZzDMxv0neKai\nlh01zUm/frwB163AiyJyLuAFfggsBHKBeDJo/hJ4CfiQMcYHEHnD8deRfcuH2O4J50DTfh7c+Wv2\nN/VdylJTPiil1OjU8dRTtNz/E7CsqPLM97+fzJtu1LfHE8wYw57aVtZV1LJ+bwMdwXDK2hJvHq7d\nIrII+CTgB9KwJ8z/1BhzLI5TLAQ+0BVsRc7pE5G7gM1Db/bE0exv5k9v/iHmWoiCg/eW38SVmvJB\nKaVGHd+f/0Lbr37Vpzz7Ex8n4+qrU9CiiaPRF+C5PXU8W1FLVePAM5c8LgcXzk78msJxz6qOBFa3\nD/M6bwLTsedt9TQN2DvMc45rISvEukNP8de9D9MR6vvLoikflFJqdDLG4HvgAXz/96foHQ4HOV/4\nAumXXZqaho1zobDFa4cbWbe7ls2HT2INkphqflE2q8sLuXhOPpnexL9kNuAVRCQD+B5wDfajxGeA\nzxpjGgY6LnJsz3wEtwH3R0a0NkXKVkbKvzqMdo9rO+t38Ltdv+FoW03M/cuLzuMDZ31IUz4opdQo\nYyyL1p/+jI6//z2qXNwecr/2VbwrV6aoZePX4RM+nqmo5YU99TR3BAesm5fu5tIFU1ldXkjp5ORO\nwxkspLsT+BDwEPajxJuAnwM3xHHu3olPBfhDj7KuZ2Br0cSnANS31/GH3b9j8/FXY+6fnlXMzQtv\n4ayCRUlumVJKqcGYYJCWH/yQzvXro8olPZ28b96OZ/HiFLVs/Gnzh9hQWc8zu2uprGsbsK5DhPNm\nTWJ1eSHnlE3C5UzNSwqDBVzXAR8xxvwRQEQeAl4SEacxZrCZZ5r4NE7+sJ+/7VvLE/sfI2j1jc7T\nXelcN+8GVs+8QnNrKaXUKGQ6O2n+1rfxb46eluzIziHvnrtwz5uXopaNH5ZleKOmmXUVtby8v4Fg\neOBnhmWTM1hTXshb5xeQl5H6HGeD/fUuBTZ0fWGMeVVEQtjzsaoGOlATnw7OGMOrxzbxh92/42Tn\niT77BWFV6Vu5YcGN5Hp1qQellBqNrLY2mu64k+CuXVHlzvx88u65G9eMGSlqWXyMMfxzXwN/3lJN\nZyjM5AwPU7K8TM70MCUzentShgePK7kjRF05s557s466Vv+AdTM8TlbNK+Dy8kLmTM0aVS+UDRZw\nOemb8DQUx3FRInm4+jUR83BVt1Tx4K7fUHFiV8z9s/Pm8IGzPswZebOT3DKllFLxshobabztG4QO\nHIgqd06fzqRv3YOzqChFLYtPU3uAn7+4n5f3d/+n/2jTwPnMc9Jc/QZkXV9ne104HMMPdoaaM2tx\nSS6ryws5f/YUvK7ROUtpsMBJgIdEpGdImQb8t4i0dxUYY64a5Dybsedu9fzu9xwLHJ3fnQRoC7Tx\n170Ps+7Q0xisPvtzPLm8t/x9XFhyMQ7RZHhKKTVahevqaPza1wnXRL/g5Jo1i7x77sE5eVKKWjY4\nYwwbKhv4xfr9tHaGBj+gh5bOEC2dIQ42+Pqt43QIUzI9TI585EeCsp7bUzI9pLm7//wbY9hb28a6\nilperKynIzDwzKXCHC+XLijksgVTKcxJG1IfUmGwgOuBGGUPDeM6s3p97QaWAl8H/mMY5xtzLGPx\nwpHnePjNP9IWbO2z3yFOrph1JdfMvZ4MTWCqlFKjWqiqiqavfZ1wQ/RL++7ycvLuuhNHVlaKWja4\nWKNaIy1sGepa/XE9AuwKzE76AoPmzHI7hQtn57O6vJCzi3NPaxQt2QYMuIwxHxqJixhj+q6wDPtE\npBn4JvDkSFxntKo8uYcHd/2GQ80HY+4/K38RN591C9OzipPcMqWUUkMVrKyk6bbbsVqiH3V5ly8n\n92v/gaSnp6hlAxtsVGvu1CxuuWAmwbDhpC/ASZ+fE74AJ9oCnPQFOOEL0NQeYJD0VkPSHgjTHugY\nNNCaV5jNmvKpXDy3ICk5sxIh1a0+CCxJcRsSprHzJP9X8QdeqtkQc39++lTev/ADLCtcPqom9iml\nlIotsGMHTd+8A9MRHSCkrVpFzpe+iLjdKWrZwAYa1XI5hBvPK+P6ZSU4BxkxCluGxnY7AGto80cC\nswANbXaAdtIXoMEXGPRxYDzy0t1cEsmZVZbknFmJkJSAq1cSVLDnck0D7gD2JKMNyRQMB3nq0JOs\n3fsXOsN9Jx96nF6umnMtbz/jnbido/Mfp1JKqWj+V16h+Vv/DxOMfpcs/coryf70p0blItTxjGp9\n7rK5zJiSGdf5nA4hP8tLfpaXeYXZ/dbrCIQ52R7gRJs9SnbS13s7wMn2AOFe6eAdAufOnMzq8kKW\nz0hdzqxESNYIV+8kqGAHXVXAe5LUhqR4vW47D+36Lcd9sZeYXDn9At5b/j6mpOcnuWVKKaWGq+O5\n52n54Q/7LkJ9ww1kfuiWUfmUYqRGtYYj3eOk2JNOcV7/j1cty9DSGTz1uDJkGcqLskdFzqxESFbA\ndSnRAZcF1AP7jDFDez1ilDruO87vdz3A9rrYGS5Kssv44Fkf0rUPlVJqjGl/7HFaf/7zPuVZH/oQ\nme+OZ+GV5IpnVOvzq+el/DGdwyHkZXjIy/BwRkFKm5IUSQm4jDEvJOM6qdAZ6mBt5SP84+AThKy+\nv9iZ7iyun38Dl5atwemYMNkvlFJqzDPG0P7H/6PtwQejd4iQ85lPk37llalp2ABSOaqlBpbQgOt0\nFr8e7YwxvFzzT/5Y8RCNnY199gvCJTNW8y/z3022JycFLVRKKTVcxrJo++//of3RR6PKxeki59Yv\nkbZqVYpaFttYGdWayBI9wnU6i1/3S0T+DfgS9sT7XcDnjTH/HKD+WcB/AucBJ4BfGmPu7rH/LcDz\nvQ4zQLkxZm+sc66vfoED296Meb15kxdw88JbmJnbO/2YUkqp0c6Ew7T++H46nnkmqlw8XnJv+zre\nc5enqGWxDTaqddOKMq5bqqNaqZbogOt0Fr+OSUTeA/wI+ATwEvAp4EkRKTfGVMeon409svYCcA5Q\nDvxWRNqMMff1qGqAM4Gew1X1/bXjREcDJUQv2TApbRI3lt/MyukXjMoJlEoppQZmAgGav/s9/C+/\nHFUumZnk3XknnoWjZx6ujmqNLYkOuIa9+PUA/h34tTHm15GvPysibwM+iZ25vrf3A+nAB40xAaBC\nRMqBLwD39apbb4w5OdQGuRwurjzjnVw15xrSXKMz4Z1SSqmBWR0dNN91N4Ht26PKHXl55N1zD+7Z\nZ6SoZX3pqNbYk+iAa0QWv+4iIm7sUarv99r1NHBBP4etBDZEgq0uTwF3iciMHlnwBdgsImnAbuCe\neCb7L5m6jPct/CBFmaN7gVKllFL9M8FgzGDLObWQvG/fg6t4dKwEoqNaY1eiA66RWvy6Sz52EFfb\nq7wWuKyfY4roO5pWG2lbEXAYOIb9iPI1wAN8AHhWRFYZY16KddIsdzZfPO+rLJm6NM6mK6WUGo2M\nZdFy34/6BFuu0jLyvn0PzvzRkTdRR7XGtkQHXCO1+HVCRSbG95wc/4qIzAS+jD1PrI/LZqzRYEsp\npcYB328foPP56Pem3HPmkHfP3Thyc1PUqm46qjU+JDTgGqnFr3toAMJAYa/yQuB4P8cc76e+GeAY\ngFcYIAu+5tRSSqmxr33tY/gefjiqzFlcTN7dd42KYKupPcDPXtjPxgOxR7Xet2IG1y4t1lGtMSDV\ni1cPiTEmKCJbgDXAX3rsWgM8HPsoNgLfERFPj3lclwNHe8zfimUp9qNGpZRS41Dnhn/S+l//FVXm\nyMtj0t134cjLS1GrbMYY1lc28IsX99Pm11Gt8WBMBVwR9wIPishr2I/7Pomdj+sXACLy/4BzjTGr\nI/X/ANyOnQriW8B84CvAN7tOKCKfAw5h5/TyADcDV2GntVBKKTXOBHbsoOX7PwDTveqcpKWRd9ed\nOKdNS2HLdFRrvBpzAZcx5k8iMhk7BcQ0YCdwZY8cXEXArB71W0RkDfBT7EnxjcD3jTE/6nFaD3ZG\n/BKgAzvwersx5qlE90cppVRyhQ4fpvnOuzHBHi+vO53kfu1ruOfOTVm7dFRrfBtzAReAMeYXREa0\nYuzrM2/MGLMLeOsA5/s+fVNNKKWUGmfCDQ00fv0bhFpbCRsIW4awZai9+cMccxbR8vJBOoIWVqTc\nMvaHvU30tmUIR/ZbkbLwqW1D2KLX8QbLiq5jRdrQVS8YNn3arKNa48OYDLiUUkopiCwwHQjT0hmk\npSNES2eQ1h7bPcs7G1u4/E8/Ibchenrui8vWsNFXBC8fSk0nBqCjWuOHBlxKKaVOCYUt1lfWU3Gs\nFcsYHA7BKYLTIThEcDqwv3Y6cArR+yPbXZ9dXWUOwSHg7LXf6ej+cEjPbejoFUS1dARp6Yy1HcIy\nfUeFenOGQ7zn6d/2Cba2LljBxkVvTdB3c/h0VGv80YBLKaUUlmV4aX8Dv9t0mGPNnaluzogSY/HO\nDX+m7PiBqPK9ZWfyzMp3wSha+9YhsKQ0j49cdIaOao0zGnAppdQEt72qiQc3HqKyri3VTUmIS177\nB+UH34gqO140g03v+gBzsjLISXOTk+6KfHaT4XHidAgiXSNx9NgWpMdonfQYmROhx2ggOKR75M7R\nNconXdvdo34963V9qPFHAy6llJqg9te38cDLh9hW1ZTqppyWNLfDDpYigVN2mpucNBc56W7KXn6W\nwurNOPPSTwU3ntISzr/vh1yfk5PqpqsJRAMupZSaYI41d/DQpsOsr2yIud8hsObMQuZMze5+Ey/y\n1t6pbQPhsEW4x9t44V51LWMI9dgOW91v9nWX9fg4dW5DmstJdiRo6hp5yklzRW+nu8lOc+F1xV75\no/PFF2n+x8Pg7f5T55g0icnfuhuHBlsqyTTgUkqpCaKpPcAfX6viyZ3H+51ofsHsKdy8cgYlk8b2\n/KHA9u20fP+HUWWSnk7e3XfjLCpKUavURKYBl1JKjXMdgTCPbK/h0W01dATDMeucVZzLLefPZH5R\ndpJbN/KCBw7SdPc9mHB38lBxusj7xm24Z5+RwpapiUwDLqWUGqeCYYundh3nj69V0dwRjFln5pRM\nbrlgBsvKJiGj6G294QrX1dF0++2Y9vao8uwv/DuepUtT1CqlNOBSSqlxx7IMG/bZKR5qW2KneCjM\n8fK+82bwlnkFOMbJW3FWaytNt92OdSJ6DcKsD3+Y9EsvSVGrlLJpwKWUUuOEMYZtVU088PIhDjT4\nYtbJTnPxnuWlXHnWNDwuR5JbmDgmEKDpzrsIVR2JKs+4+ioy/uX6FLVKqW4acCml1DhQWdvKAxsP\n8Xp1c8z9XpeDa5YWc93SYjI84+vWbyyL5u99n+CuXVHl3osuIutjHxsXj0rV2De+/tUppdQEU9Nk\np3j4577+UjwIVyws5MZzy5iU6Uly6xLPGEPbL/4L/0svRZV7zjqL3C9/CXGMn1E8NbZpwKWUUmNQ\noy/A/752hKd21fab4uGiOfm8f+UMivPSk9y65Gl/+M+0P/54VJmrbAa5t38D8Yy/AFONXRpwKaXU\nGNIeCPGXrTWs3V6DP2TFrLOoxE7xMLdw7Kd4GEjHs8/R9pvfRJU58/PJu+cuHNnju+9q7NGASyml\nxoBAyOLJncf40+YqWjpDMeuckZ/JBy+YydLSvHE/b8m/dRst990XVSYZGeTddSfOgoIUtUqp/mnA\npZRSo5hlGV7cW8/vXz1MbYs/Zp3CHC83r5zJxXPyx02Kh4EE9+2n+Z57INydxFVcbvK+eTuuWbNS\n2DKl+qcBl1JKjULGGLYeaeSBjYc52E+Kh9x0N+89t5QrFhbhdk6MyeHh48ftxKYdHVHlOV/+Ip5F\ni1LUKqUGpwGXUkqNIp3BMK8ePMmTO4+x82hLzDrpbifXLC3m2iXFpHtiL9w8HlnNzTTe9g2s4hiE\nGgAAIABJREFUxsao8uyPfZS0VatS1Cql4qMBl1JKpVggZLHlSCMbKut59eDJfifDOx3ClWcV8Z7l\npeRlTKw38ExnJ0133kW4piaqPOO668i49toUtUqp+GnApZQadYwx7KtrY8O+Bprag5yRn8myGZMo\nnZQ+biaDh8IWr1c3sb6ygY0HTtARiL2odJdVc+0UD9Nyx2+Kh/6YcJjm73yXYEVFVHnaqlVkfeTD\nKWqVUkOjAZdSatRoag/w/J461lXUceRk9+LDz++BX710kCmZHs6ZMYllZZNYXJpHlnds3cIsy7Dr\nWAvr99bz0v4GWvt527CnpaV5fOD8mcyZmpWEFo4+xhhaf/oz/K+8ElXuWbSYnC9+QRObqjFjbN2t\nlFLjTihs8drhRtbtrmXz4cZ+k3gCnPAFeHp3LU/vrsUhMK8w+1QANqcga1S+oWeMYU9tKxsqG9hQ\n2UBje2DQY/KzPFw8t4BVcwsmbKDVpf2P/0fHk09GlblmziT39ts0sakaUzTgUkqlxKEGH+sqanlh\nbz3NHcEhH28ZePN4K28eb+X3rxwhO83FktI8zimbxNKySUxO4TI2xhgONvjsIGtffb/pHHrKS3dz\n4Zx8Vs0rYEFh9qgMHpOt4+mnaXvwwagyZ34BeXffhSMzM0WtUmp4NOBSSiVNa2eQF/fW82xFHfvq\n2was6xBYPmMyC6Zls+toCztqmgn0M5ncPnfo1CgSwKz8TJaW5nHOjEmUT8tJStqE6sZ21lc2sKGy\nnurGjkHrZ3ldXDB7ChfPLeDs4lycGmSd4n9tMy0/vj+qzJGZRd49d+HMz09Rq5QaPg24lFIJZVmG\nbVWNrKuoY9OBE4Ss/h8ZApRNzuCyBVO5ZP7UU4st33CO/Sbf7mMtbDncyNYjjVFzvGI52ODjYIOP\nv26rIc3tYFFxHstmTGJZWd6ITjyvbelkQ2UD6yvr+82X1VO628nKMyZz8dwClpTmTZj8WUMR3LuX\n5m99G6zuAFvcHnLvuB3XjBkpbJlSw6cBl1IqIWqaOni2opbn3qzjhG/geUsZHier5hWwekEh8wqz\nYr6J6HE5WFKax5LSPD7CLBra/Gw90sjWI01sr2rE5+//Lb/OoMWrh07y6qGTAEzLTWNZmT336+zi\n3CHnsjrR5uef+xrYsK+BPcdbB63vdgrnzpzMqrkFLJ85Ca9r4uTOGqpQTQ1Nt9+B8Xd2F4qQc+uX\n8Zx1VuoaptRp0oBLKTViOgJhNuyrZ11FLRXHBg5EBFhcmsfq8kJWnjF5yEFIfpaXy88s4vIziwhb\nhr21racCsMraVgYaRzvW3MkTO47xxI5jOB3Cwuk5pwKwmVMyYgZ8zR1BNu5vYH1lAztrmgc8P4BD\nhGVleayaW8CKMyaT4dHb7UCC+w/Q8dhjdD7/AiYYHaBnf+ITpF10YYpaptTI0DuAUuq0dKU6eGZ3\nLS/vb+g3aWeXotw0Vi+YyiULpjI1O21E2uB0COXTciiflsP7VsygpTPI9iNNbD3SyJYjjTS19z8p\nP2wZ3qhu5o3qZn778iEmZXhYVpbHsrJJzC/KZtfRZtbvbWBbVdOAb1CCPe/s7OJcLp5bwAWzp5Cd\n5h6R/o1XxrLwb9xEx9q1BHbsiFkn893vJuOqdyW5ZUqNPA24lFLDUtfSybNv1vHsm7WDvoWX5nZw\n4ex8VpcXsnB6TsKTl+akuVk1r4BV8wowxnDoRHtk9KuRXUdbCA8wj6yxPRDpV13c1yufls2quQVc\nODv/1Lwz1T+rrY2Op56m4/HHCdfW9lsv7dJLybzlg0lsmVKJowGXUipuncEwGw+c4NmKWt6oHvyx\n2sLpOVy2oJCL5uSnbM0/EWFWfiaz8jO5flkJHYEwO2qaTwVgx5o7Bz9JDHMKsrh4bj4Xzc0fsZG6\n8S5UXU372sfoXLcO09n/991ZWEjGddeR/s53jJuVBZTSgEspNaCuxJ3PVtTxYmX9oEvQTMn0cNmC\nqVxWXsj0vNG3DE26x8l5syZz3qzJABxr7mDrkSa2Hm7kjZomOoP9PxItm5zBqrn5XDS3gOJR2LfR\nyBhDYMtWOtauxb9584B1PYsWk3HNVXhWrNAM8mrc0YBLKRVToy/Ac3vqWFdRO2hOKbdTWHnGFFaX\nF7KkJG9MJe2clpvOO85O5x1nTyMYtqg41nJq8n11Yzv5WV4unpPPxXMLmNHPhHrVl+nooOPZ5+hY\n+xih6qp+64nbQ9olbyX96qtxnzEriS1UKrk04FJKnRIKW2w+3Mgzu2vZfPgkg6TMYu7ULFaXF3Lx\n3PxxMUHc7XSwqCSPRSV53HJBqlszNoVra2l//G90/uMpLF//yW0dU6aQ8c53kP62t+HIy0tiC5VK\nDQ24lFIcOdnOuopann+zjqZBltnJS3fz1vlTWXNmIWWTM5LUQjWaGWMI7txJ+9rH8G/cGJWwtDf3\n/PlkXHM13osuQlz6J0hNHPrbrtQE5fOH2FBZzzMVdeytHThnlkOE82ZNYnV5IeeUTcKl2dEVYAIB\nOl94kfbHHiO0f3//FZ1O0i66iIxrrsa9YEHyGqjUKKIBl1ITSHfOrOO8tP/EgGsTgj1JfE15IW+d\nX0BehqY7ULbwyUY6nniCjr//Haupqd96juwc0t9+JenvfIeuf6gmPA24lJoA6lv9PPdmLc9U1FHb\nMnAahHSPk7fMK+Dy8kLmTI29zI6amIJ799qPDV9cjwmH+q3nmjmTjGuuJu2tb0W83iS2UKnRSwMu\npcapQMjilYMnWFdRy7YjTYPmzFpUksvq8kLOP2MKaW5d60/ZTDiM/6WXaH90LcGKiv4riuBdscJ+\nbLhokQbqSvWiAZdS48yB+jaeqajlhT31tPn7H4UAyM/ysLq8kNXlhRTmaPJO1c1qbaXjyX/Q8fjf\nCDfU91tPMjJIv/xy0t/1LlzTpyWxhUqNLRpwKTUOtHYGeXFvPc/sruVAg2/Aul05s9aUF7J4jOXM\nUolldXQQ2LoN/8aN+Df8ExPof8km5/TpZFx1FWmXr8GRrklglRqMBlxKjVGWZdhe3cS6ilo27j9B\naJCkWbMLMlldXshb5hWMi5xZamSET5wg8Mqr+DdtIrD9dUwwMGB9z9KlZFxzNZ7lyzUbvFJDoAGX\nUmPM8eZO1r1Zy7MVtTS0DfzHMcvr4pL5BawuL+SMgqwktVCNZsYYQgcPEXjlFfwbNxGs3DvoMeLx\nknbZpWRcfRWuGTOS0Eqlxh8NuJQaAzqDYTbuP8EzFbXsqGkesK5DYGnpJNacWci5MyfjcekoxERn\ngkGCO3fi3/QK/k2vEK6rjes4Z34B6e96J+lXvg1HdnaCW6nU+KYBl1IpEAxb+PwhWjtDtPkjH50h\n2gL2Z58/REvkc5s/xMETvkEXjS7KTWNNeSGXLphKfpa+ij/RWW1tBDZvxr9xE/4tWzC+gef2dXEW\nFuJduRLvyhW4zz4bceobq0qNBA24lBqmUNg6FSy1RoKjVn93kNTW2WNfoLtOmz+Ef5CEo/Hyuhxc\nOCefNeWFLJyeo6/iT3Dh48fxb9qEf9MrBHbuhPDAQXoX9/z5eFeuwLtyJc4ZM/T3SKkE0IBLqX50\nBsPsr29jX10b++vbqG/10xoJpHyBEJ3BkQmahmNBUfapRaMzPPrPeKIylkWostIexXrlFUKHDsV1\nnLg9eJYuwXv+SjznnYdz8uTENlQppQGXUgD+UJiDDT721bVRWWcHWdWN7Qzy4l9S5aW7uXTBVFaX\nF1Kqi0ZPWMbvJ7B9uz0f65VXsBob4zrOkZuHd8V5eFeuwLNkCaKpHJRKKg241IQTDFscPtEdXFXW\ntXH4RDuWSV505RDI9LrITnOR6Yl89rrI8rrI9rrISnOR5XWT6XWSneYmJ81FyaQMnJoza0KyGhvx\nv/aa/ahw6zaMf+Dlmbq4ymbYAdaKFbgXzNc0DkqlkAZcalwLW4YjJ9sjwVUr++raONjgGzRnVTwc\nAhkeOzjK9nYHTL2/zk6LlPfYn+526jwZ1YcxBjo7sVpbsZqaCGx/Hf+mTQTffBPi+Q+Bw4Fn4UK8\nK1fiWXEeruLixDdaKRUXDbjUuGFZhuqmDvbVtZ56LHigwUfgNCaoT89LY05BFnOnZjNjSgbZae5T\no1EZbqdmaVf9MpaF8fmwWlowLS1YLS1YLa2Y1tbIdgtWayumpRWrpfnU9mCJR3uT9HS8y5fjWbEC\n77nLceTkJKhHSqnToQGXGpMsy3CspfPUyNX+ujb21/voCMb3VlYshTle5kzNZu7ULOYUZDF7ahZZ\nXv0nouw8VlZrK6bZDoysllY7iGqNEUS1tNhBlK8NrMS8WOHMz8ezciXeFSvwLDob8XgSch2l1MjR\nvyZq1DHGEAhbtPvDtAfDtPtD+AJhWjqCHGjontTePkheqoFMyfQwt9AeuZozNYs5U7PI0eVuJixj\nDFZjI+GqKkJV1YSrqwgdqSJ89KgdQHV0pLqJuGbPjuTHWolr9hn6SFqpMUYDLjWiQmErEiSFaQ+E\naA+E8QVCp4Innz9ER6TM/hymI2AHVO2BED5/mPZAeEQnsOelu5lbaAdWXaNXkzJ1RGAiMqEQ4WPH\n7KCqqopQdTXhI1WEqqsw7e2pbh4A4nIjOdk4srNxFhbiWb4c78oVOAsKUt00pdRp0IBLDcoYQ01T\nB29UN1Pd2B4JknoGTXZA5QuECIZTm0chO811KqiaU2g/HpyS6dHRgAnG8vkIV1fbo1TV1YSqqghX\nVRM6djTuZKAjQdLTceTk4MjJPRVEOXJykMhnR042kpOLI7JPcnKQtDT9fVVqHNKAS8VU19LJ69XN\n7Khp4vXqZk76hjaRNxkyPE47uJra/WhwarZX/1hNEMYYrIaGmKNV1smTI3sxhwNHdk4kKIoETrm5\n0YFTtv3ZDqhycGRnIW59TK2UsmnApQA46QvwRnUTb1Q380ZNE7Ut/pS2x+UQMr0u0j1OMj1O0j0u\nMj1OinLSTj0enJaTpm8JTgAmECB89GhkblWP0arqKkxnfPmo4iFpabhKSnGWleIqLcFZUoqrpBjH\nlClIZqbmsFJKnRYNuCao1s4gO2qa7QCruomqxpGZFOwQIkGSq9dnJxkeFxkep51SweOMfMTaduFx\n6R+3icRYFtaJE3ZAVXOUcE1NZLuGcG3tiL7t55gyBVdJCc7SUlylkeCqtNQOrHR0VCmVIBpwTRAd\ngTC7jjbzeiTAOtjgYyizrbwuB2dOy2Hh9BwmZXqiAqqeAVOa26F/tFS/rNZWwjU1dlBVXR3ZriFc\nczTu7OlxcTpxTS/GWVrSPVpVVoqzpARHhi6LpJRKPg24xil/KEzFsVZ2VDfxek0zlbWtQ1oX0OUQ\nFhRls6gkj0UlucwrzMbt1FEnNTgTCNhvAlbbo1Tho0ft+VU1R7Gam0b0WpKZiaukBFdZGc6SklOj\nVc6iIsSltzel1Oihd6RxIhi2qKxr441qe5L7m8dahrR8jUNgztRsFpfksqgkjwVF2aS5nQlssRrL\njGVh1df3HamqriZcVxffMjRD4CyYGhmtKo08CrRHrRyT8nREVSk1JmjANUybDpzgFy/ux+Ny4HU5\n8LqcPbYdkW0nXrcDr9OB1+08ta+r7uksRGxZhv31bbxR08yO6mZ2HWumMzi0eS6z8jNZVJLLouI8\nFk7PIVOzqivAhMOY9nZ7WZr2DoyvjfDxWsI11faoVdcjwCEuQTMYyczEVVyCs6TYnmNVPB1ncQmu\n6dOQ9PQRvZZSSiWb/oUdpgMNPp7Ycey0zuF0SHRw1iNgOxWs9QrmXE4HB+rb2Hm0GZ9/aPmESial\ns6gkj8UluSycnktuur6yPp6cWvi4vb07YPJFttt9mPZ2+2tfZLu9e9v42rE6Il+P4Jt/vYnLjXP6\ndJzF0+2gqqQY5/RiXCXFSG6ujlYppcYtDbiGae6RCpbseZWj+aXUTyrEDOOV8bBlaA+EI0vUBEe8\njYU5Xs4uzouMYuUyJcs74tdQiWU6Owns2EnowAGstrZTgZRp78Bq7w6W7ADKl7C1+4bKWTDVDqpK\nS+2RqunFuEpLcEydqukVlFITkgZcw1R44ihve/lRAEJON8enTOdYQQlH80s5WlBCc9YkSPL/1idl\neE7NwVpUkkthTlpSr69On7EsQgcOENiylcC2bQR37caERj4YHwmOrGx7hKrYHqFyFpfY29OnIWn6\nu6eUUj1pwDVMmV4XBdleLGM/yiloO8bC1qOY/a9iGYM/PZOTRWXUFZZRW1DCsfximj2Z+EMWgZCF\nPxQe0luDsWR5XfboVSTAKslL10cyY1C4vp7Atm12kLX9dayW5tQ2SMRekiYjA8nIRDIzcEyaFJlX\nVWy/DVg8HUdubmrbqZRSY4gGXMPkdTkGmQMVZsbJg3DyIFTYJc7CQtzz5+OaNw/X3DkwazZBjxd/\nMNwjELODsdjbFv5gmJx0N2cX5zJzSqZmWh+DrI4Ogjt2ENi6lcCWbYSqq0bs3OL2IJkZSGYmjkiw\nJBkZODIzkYx0O4DKyMARKbcDqszurzMz7bX89LGfUkqNKA24hsmzeDHes88muGcPVlN8uYXCtbV2\n1uz16+0ChwNXWRnuefPImD8f1/z5uGaUjdv8Qcay7PlHpyZz+zBtbd0TuX0+LF+krGuuUpvPnqvk\n82E6OnHk5XanBigrxVlahqusFEd2dqq71y9jWYT27bMDrK3bCO6uwIRDcR/vLCrCs3QpzsKpSHpG\nd4CUmYmk9wyeMnTtPqWUGqXEjHC+nInijjvuMHfcccepBXSDe/YS3LOH0J69BPdVYjqGt1SOeLy4\n5szGPW8e7vnzcM2bj3NaUUofFRrLgkAAEwxi/P7ugMnnw/giAVNkQndXwNS97cO0RwKpYX5P4uHI\ny8NVWhZZB68rGEvdci3h2lo7wNq2ncC27VhtrXEfK5mZeBYvxrNsGZ6lS3FNn5bAliqllIpI6B+L\n8TmUkkQigrOgAGdBAWkXXQjYAUq4qsoOwvbutYOwgwcgPHgaBxPwE9y9m+Du3afKHFnZuBfYjyLd\n8+fhmJIPoSAmEMAEQxDwYwJBTDAIwcDg25HgiWAwUhbo3g74IRTC+AOYyDXiaXeqWU1NBJqaYMcb\nUeWSkdFjQeLuQMxZVIQ4Ry6xq9XeTvCNNwhs3YZ/61bCNTXxH+xw4F6w4FSA5Z4/b0TbppRSKvU0\n4EoAcThwzZiBa8YM0i9fA9jLnYT27ye4d++pQCzeP8pWWyv+zZvxb96cyGaPS6a9neDePQT37okq\nF5fbTltQVtb9eLKk1M4H5R08fYYJhwnt3Yt/6zb7bcKKiiGlZHAWF+NdtgzP0iW4Fy3CkZk55L4p\npZQaOzTgShLxeHCXl+MuLz9VZrW2EqzcR2jvHoJv7hnSfLCxSjIyuidzZ2VFb2fak7gdWVmRyd6Z\n0fOV0tII19YRrq4idKSKcFUVocNHCNfUDGlOFIAJBQkdPkzo8OFeDRSchYXdjye7ArGyUkxr66kA\nK7B9O8bni/t6jqxs3EsW41221J6PVVQ0pPYqpZQa2zTgSiFHdjbeZUvxLlsK0Hc+2N5KgpV7Ezr3\nKV7i9iAeD3jc9htvmV3BUH/bkSApI7KdlWVP6j7Nt98cWVm4Z58RVWbCYcLHjxM+coTQkSpCVVWE\nj1QRqq4a+vfOGPtcx4/Da68Ov6FOJ54zz8QTCbBcc+fqm39KKTWBjcmAS0T+DfgSMA3YBXzeGPPP\nAeqfBfwncB5wAvilMebuXnXeAvwQWAjUAN83xvxXYnrQbzsHnw9WuQ/j70Q8XnC7EI8HcduBkLjd\ndlDkjrXtBrcHidTD7UG8HvuNSI8XiZwrqo7HY392uUZ1fi9xOnEVF+MqLsZ7/vmnyo0xWCdOREbD\njnSPilVVJWQk0VVSiuccO8ByL1qEQ9f/U0opFTHmAi4ReQ/wI+ATwEvAp4AnRaTcGFMdo3428Azw\nAnAOUA78VkTajDH3RerMBJ4A/gd4H3Ax8DMRqTPGPJLoPg0k1nwwFR8RwZmfjzM/HyKjiF2s1taY\ngVi4tjbu8zuyc/AsXYLnHHuyu7OgYKS7oJRSapwYcwEX8O/Ar40xv458/VkReRvwSeDrMeq/H0gH\nPmiMCQAVIlIOfAG4L1Lnk0CNMebzka/3iMgK7FG0lAZcKjEc2dl4Fp4JC8+MKjednYSqa04FYqce\nTx6tQcSBu+sx4bKluGbP1seESiml4jKmAi4RcWOPUn2/166ngQv6OWwlsCESbHV5CrhLRGYYYw5H\n6jzd67ingA+IiNMYM/rzIqgRIWlpuOfMxj1ndlS5sSx7yZtR/GhVKaXU6DXW/nueDziB3s99aoH+\nXvsq6qe+9DimvzquyDXVBCcOhwZbSimlhm2sBVxKKaWUUmPOmHqkCDQAYaCwV3khcLyfY473U9/0\nOKa/OqHINfu48847f3XnnXf2maSvlFJKqTHpFmPMbxN18jEVcBljgiKyBVgD/KXHrjXAw/0cthH4\njoh4eszjuhw4Gpm/1VXnml7HXQ5s7m/+ljHmX4fTB6WUUkpNPGPxkeK9wC0i8hERWSAiP8bOx/UL\nABH5fyKyrkf9PwDt2KkgForIdcBXsHNudfkFUCwi90XO+a/AB+g7OV8ppZRSasjG1AgXgDHmTyIy\nGTsFxDRgJ3BljxxcRcCsHvVbRGQN8FPgNaARO6npj3rUOSQib8dOE/EJ4CjwGWPMo8nok1JKKaXG\nNzHGpLoNSimllFLj2lh8pHjaROQ/RORVEWkWkToReUxEFsaod4eI1IhIu4g8LyJn9trvEZGfiEi9\niLSJyFoRKe5VJ09EficiTZGPB0UkN9F97E+y+i4iM0Tkf0Rkf+Qc+0Xk2yKSlox+9pbMn3mPul4R\neV1ELBFZlqi+DSbZfReRK0TkZRHxiUhjr0f8SZXkf+tzReSRSJ0WEdkoIlckuo/9GcG+f1REnov8\nLC0RKYtxjlFzn0tWv0fbPS7SpqT9zHvUHW/3ubj6Ppz73IQMuIBV2Gsrng9cgv024joRyeuqICJf\nwc5q/ylgOVAHPCMimT3O82PgWuA9wEVADvA3kaiETf8LLMGehH8FsAx4MDHdikuy+r4A+/fr48CZ\nwKex58X9iNRI5s+8yw+AI9hvxKZS0vouItdg/84/ACzGTir8q4T1bHDJ/Lk/AXgj11kC/BNYKyKz\nSI2R6nsGdiLob9L/7/Jous8lq9+j7R4Hyf2Zdxlv97lB+z7s+5wxZsJ/AJmRH847epQdBb7a4+s0\noAX4aOTrHMAPvLdHnRLstBVrIl+XAxawskedCyNlc1Pd70T2vZ9rfRKoT3Wfk9Fv4GpgBzA/8vNe\nluo+J7rv2H98DgMfTnUfU9D3KZGf81t61HFGrnVdqvs93L73Ov6cSJ/LepUvGM33uUT1u59rjZp7\nXDL6Pt7uc/H0/XTucxN1hKu3HOxvYiNA5H+kRdiLXgNgjOkE1tO9hNBy7JcOetapBip61FkJtBpj\nNvWo8xLgo/+liJItUX2PJbfrOqNAwvotIiXAz4Abgc5EdmKYEtX35diBSEhEtojIMRF5SkSWJLY7\nQ5KQvhtjTgC7gZtFJFNEukY+WoCXEtuluA2n7/E4n9F9n0tUv2MZTfc4SGDfx+l9Lh7nMMz7nAZc\nth8DW7HzcYH9QzEMvIRQIRCO3Gj7q1ME1Me4Xh39L0WUbInqexQRmQF8Eftt0dEgIf2O/KF9CPtN\n2J0JaPdISNTPfBb2kll3AvcAbweqgRdEpHdi4VRJ5O/75cDZ2EGWH7gd+w3q3udOleH0PR6j/T6X\nqH5HGYX3OEhQ38fxfS4eZzDM+9yED7hE5F7s6PZ6ExkvnCiS1ffIL+GTwFPGmB8n6jpDaE8i+/11\nwG+6046MqgUYE9z3rvvJPcaYR4wx24CPAc3Yc1tSKgm/7z/HXpniQuBc4M/AX0VkWgKuNSQT9T43\nUe9xoPc5RuF9bkIHXCJyH/Yk2EtMd9Z5sJf6EQZeQug44BSRKYPUKYhx6an0vxRRUiSh713XKQKe\nA95gdPzRTXS/LwUuFZGgiASBykj5JhH53Qh1Y1iS0Pdjkc8VXTuNvVJDJdDvW07JkOi+i8hlwDuA\nG40xm4wx240xn8Z+rPahEe3MEJ1m3+MxKu9zSeh313VG1T0OktL38Xqfi8ew73MTNuASO0N91w+l\nsuc+Y8xB7B/Amh7104CL6Z6PsQV7Ql7POiXYE+W76mwEskRkZY86F2C/BfHyCHcpbknqO5H/2T8P\n7AJuMsZYiehPvJLU71uw31rp+rgyUn4T9goHKZHgvr/co44fewJtVx0BZmNPMk2JJP3c0yOfey8F\nZpHC++wI9D0eo+4+l6R+j7p7HCSt77cwPu9z8Rj+fW6k3ggYSx/Yz9ibgbdiR7ddH5k96tyKPdnu\nWuAs4I/Yz2l71vkZ9uuwlwFLsf+Xs4VIQtlInb8Dr2NPoD8f+39Bj473vmOvArA3Ul7S61qO8drv\nGNedQYrf3kny7/t9kTqXA/OAn0TOWzie+479lmId9pqui4C52EuD+YElY7zvhdh/VG+K/C5fGfl6\nUo86o+Y+l6x+M8ruccn+mfe67ni6z8Xz+z6s+1xKvjGp/oh8E8MxPm7vVe92oAZ7LcbngTN77Xdj\nT8yrB9qAR4HiXnVysfPRNEU+HgByxnvfgQ/GuEbXtQd9vXqs9jvGdWdErpPKG1Eyf9+dwHewX79u\nwv5jtHiC9H0Z9jye+kjfNwJvGwd9/2Y/5/pAjzqj5j6XrH4zyu5xyf6Z96o/nu5z8fy+D+s+p0v7\nKKWUUkol2ISdw6WUUkoplSwacCmllFJKJZgGXEoppZRSCaYBl1JKKaVUgmnApZRSSimVYBpwKaWU\nUkolmAZcSimllFIJpgGXUkoppVSCacCllBrXROR3IrJNRFy9yi8TkUDPNQCVUipRNOBSSo13nwYm\nYy/ZAYCIZAO/Ar5rjNmUiIuKiDsR51VKjU0acCmlxjVjTDPwYeArIrI8Uvwj4CRwJ4AuY/p/AAAB\n/ElEQVSInCUifxeRVhGpFZGHRGRq1zlE5DwReVpE6kWkWUTWi8i5PfY7RcQSkY+LyKMi0tZ1bqWU\nAg24lFITgDHmWeBnwIMicj1wI/B+Y0xIRKYDLwBbsBegXo29GPMjPU6RDfwWuBA4D3gDeFJEcntd\n6g7sha3PAn6RoO4opcYgXbxaKTUhiEgasA2YC9xqjLk3Uv4tYJkx5soedQuA2kj59hjnksj+Txtj\n/iQiTiAI3GuM+VLie6OUGmt0hEspNSEYYzqBHwCdXcFWxDnApZHHia0i0gocAAwwG0BEporIL0Vk\nj4g0AS3Y88LKel1mS8I7opQak1yDV1FKqXEjBFi9yhzAY8CtgPTadzzy+fdADvBZ4AjgB14EPL3q\n+0aysUqp8UMDLqXURLcVuAo4bIzpHYx1uRD4qDHmKQARmQYUJal9SqlxQB8pKqUmup8A+cAfReRc\nEZklImtE5L9FxBupsxe4WUQWiMh5wP8CnalqsFJq7NGASyk1oRljarBHsBzAP4CdwP3YjweDkWof\nBPKwR8Mewn4Dsar3qZLRXqXU2KRvKSqllFJKJZiOcCmllFJKJZgGXEoppZRSCaYBl1JKKaVUgmnA\npZRSSimVYBpwKaWUUkolmAZcSimllFIJpgGXUkoppVSCacCllFJKKZVgGnAppZRSSiXY/wekxM/P\nj7C9YQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1166430f0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"trendlines(results, norm=True)\n",
"plt.savefig('/Users/nuneziglesiasj/Desktop/python-vs-matlab-vs-IDL-in-astro.pdf')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"There you have it: some time in early 2015, Python overtook IDL as the most mentioned (and probably the most used) programming language in astronomy!"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment