{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "
\n", "**This is a fixed-text formatted version of a Jupyter notebook.**\n", "\n", "- Try online [![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/gammapy/gammapy-webpage/v0.9?urlpath=lab/tree/fermi_lat.ipynb)\n", "- You can contribute with your own notebooks in this\n", "[GitHub repository](https://github.com/gammapy/gammapy/tree/master/tutorials).\n", "- **Source files:**\n", "[fermi_lat.ipynb](../_static/notebooks/fermi_lat.ipynb) |\n", "[fermi_lat.py](../_static/notebooks/fermi_lat.py)\n", "
\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Fermi-LAT data with Gammapy\n", "\n", "## Introduction\n", "\n", "This tutorial will show you how to work with Fermi-LAT data with Gammapy. As an example, we will look at the Galactic center region using the high-energy dataset that was used for the 3FHL catalog, in the energy range 10 GeV to 2 TeV.\n", "\n", "We note that support for Fermi-LAT data analysis in Gammapy is very limited. For most tasks, we recommend you use \n", "[Fermipy](http://fermipy.readthedocs.io/), which is based on the [Fermi Science Tools](https://fermi.gsfc.nasa.gov/ssc/data/analysis/software/) (Fermi ST).\n", "\n", "Using Gammapy with Fermi-LAT data could be an option for you if you want to do an analysis that is not easily possible with Fermipy and the Fermi Science Tools. For example a joint likelihood fit of Fermi-LAT data with data e.g. from H.E.S.S., MAGIC, VERITAS or some other instrument, or analysis of Fermi-LAT data with a complex spatial or spectral model that is not available in Fermipy or the Fermi ST.\n", "\n", "Besides Gammapy, you might want to look at are [Sherpa](http://cxc.harvard.edu/sherpa/) or [3ML](https://threeml.readthedocs.io/). Or just using Python to roll your own analyis using several existing analysis packages. E.g. it it possible to use Fermipy and the Fermi ST to evaluate the likelihood on Fermi-LAT data, and Gammapy to evaluate it e.g. for IACT data, and to do a joint likelihood fit using e.g. [iminuit](http://iminuit.readthedocs.io/) or [emcee](http://dfm.io/emcee).\n", "\n", "To use Fermi-LAT data with Gammapy, you first have to use the Fermi ST to prepare an event list (using ``gtselect`` and ``gtmktime``, exposure cube (using ``gtexpcube2`` and PSF (using ``gtpsf``). You can then use [gammapy.data.EventList](..\/api/gammapy.data.EventList.rst), [gammapy.maps](..\/maps/index.rst) and the [gammapy.irf.EnergyDependentTablePSF](..\/api/gammapy.irf.EnergyDependentTablePSF.rst) to read the Fermi-LAT maps and PSF, i.e. support for these high-level analysis products from the Fermi ST is built in. To do a 3D map analyis, you can use [MapFit](..\/api/gammapy.cube.MapFit.rst) for Fermi-LAT data in the same way that it's use for IACT data. This is illustrated in this notebook. A 1D region-based spectral analysis is also possible, this will be illustrated in a future tutorial. There you have to extract 1D counts, exposure and background vectors and then pass them to [SpectrumFit](..\/api/gammapy.spectrum.SpectrumFit.rst).\n", "\n", "## Setup\n", "\n", "**IMPORTANT**: For this notebook you have to get the prepared ``3fhl`` dataset provided in the [gammapy-fermi-lat-data](https://github.com/gammapy/gammapy-fermi-lat-data) repository. Please follow the instructions [here](https://github.com/gammapy/gammapy-fermi-lat-data#get-the-data) to download the data and setup your environment.\n", "\n", "Note that the ``3fhl`` dataset is high-energy only, ranging from 10 GeV to 2 TeV." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "README.md\r\n", "gll_iem_v06_cutout.fits\r\n", "iso_P8R2_SOURCE_V6_v06.txt\r\n", "make.py\r\n" ] } ], "source": [ "# Check that you have the prepared Fermi-LAT dataset\n", "!ls -1 $GAMMAPY_DATA/fermi_3fhl" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "README.md\r\n", "gll_iem_v06_cutout.fits\r\n", "iso_P8R2_SOURCE_V6_v06.txt\r\n", "make.py\r\n" ] } ], "source": [ "# We will use diffuse models from here\n", "!ls -1 $GAMMAPY_DATA/fermi_3fhl" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from astropy import units as u\n", "from astropy.coordinates import SkyCoord\n", "from astropy.table import Table\n", "from astropy.visualization import simple_norm\n", "from gammapy.data import EventList\n", "from gammapy.irf import EnergyDependentTablePSF\n", "from gammapy.maps import Map, MapAxis, WcsNDMap, WcsGeom\n", "from gammapy.spectrum.models import TableModel, PowerLaw, ConstantModel\n", "from gammapy.image.models import SkyPointSource, SkyDiffuseConstant\n", "from gammapy.cube.models import SkyModel, SkyDiffuseCube\n", "from gammapy.cube import MapEvaluator, MapFit, PSFKernel" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Events\n", "\n", "To load up the Fermi-LAT event list, use the [gammapy.data.EventList](..\/api/gammapy.data.EventList.rst) class:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "EventList info:\n", "- Number of events: 697317\n", "- Median energy: 1.59e+04 MeV\n", "\n" ] } ], "source": [ "events = EventList.read(\n", " \"$GAMMAPY_FERMI_LAT_DATA/3fhl/allsky/fermi_3fhl_events_selected.fits.gz\"\n", ")\n", "print(events)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The event data is stored in a [astropy.table.Table](http://docs.astropy.org/en/stable/api/astropy.table.Table.html) object. In case of the Fermi-LAT event list this contains all the additional information on positon, zenith angle, earth azimuth angle, event class, event type etc." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['ENERGY',\n", " 'RA',\n", " 'DEC',\n", " 'L',\n", " 'B',\n", " 'THETA',\n", " 'PHI',\n", " 'ZENITH_ANGLE',\n", " 'EARTH_AZIMUTH_ANGLE',\n", " 'TIME',\n", " 'EVENT_ID',\n", " 'RUN_ID',\n", " 'RECON_VERSION',\n", " 'CALIB_VERSION',\n", " 'EVENT_CLASS',\n", " 'EVENT_TYPE',\n", " 'CONVERSION_TYPE',\n", " 'LIVETIME',\n", " 'DIFRSP0',\n", " 'DIFRSP1',\n", " 'DIFRSP2',\n", " 'DIFRSP3',\n", " 'DIFRSP4']" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "events.table.colnames" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "Table length=5\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
ENERGYRADEC
MeVdegdeg
float32float32float32
12856.5205139.64438-9.93702
14773.319177.0445460.55275
23273.527110.2132537.002018
41866.125334.8528717.577398
42463.074316.8667648.152477
" ], "text/plain": [ "\n", " ENERGY RA DEC \n", " MeV deg deg \n", " float32 float32 float32 \n", "---------- --------- ---------\n", "12856.5205 139.64438 -9.93702\n", " 14773.319 177.04454 60.55275\n", " 23273.527 110.21325 37.002018\n", " 41866.125 334.85287 17.577398\n", " 42463.074 316.86676 48.152477" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "events.table[:5][[\"ENERGY\", \"RA\", \"DEC\"]]" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2008-08-04 15:49:26.782\n", "2015-07-30 11:00:41.226\n" ] } ], "source": [ "print(events.time[0].iso)\n", "print(events.time[-1].iso)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "mean = 28905.451171875 MeV\n", "std = 61051.7421875 MeV\n", "min = 10000.03125 MeV\n", "max = 1998482.75 MeV\n", "n_bad = 0\n", "length = 697317\n" ] } ], "source": [ "energy = events.energy\n", "energy.info(\"stats\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As a short analysis example we will count the number of events above a certain minimum energy: " ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Events above 10 GeV: 697317\n", "Events above 100 GeV: 23628\n", "Events above 1000 GeV: 544\n" ] } ], "source": [ "for e_min in [10, 100, 1000] * u.GeV:\n", " n = (events.energy > e_min).sum()\n", " print(\"Events above {0:4.0f}: {1:5.0f}\".format(e_min, n))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Counts\n", "\n", "Let us start to prepare things for an 3D map analysis of the Galactic center region with Gammapy. The first thing we do is to define the map geometry. We chose a TAN projection centered on position ``(glon, glat) = (0, 0)`` with pixel size 0.1 deg, and four energy bins." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "gc_pos = SkyCoord(0, 0, unit=\"deg\", frame=\"galactic\")\n", "energy_axis = MapAxis.from_edges(\n", " [10, 30, 100, 300, 2000], name=\"energy\", unit=\"GeV\", interp=\"log\"\n", ")\n", "counts = Map.create(\n", " skydir=gc_pos,\n", " npix=(100, 80),\n", " proj=\"TAN\",\n", " coordsys=\"GAL\",\n", " binsz=0.1,\n", " axes=[energy_axis],\n", ")\n", "# We put this call into the same Jupyter cell as the Map.create\n", "# because otherwise we could accidentally fill the counts\n", "# multiple times when executing the ``fill_by_coord`` multiple times.\n", "counts.fill_by_coord(\n", " {\n", " \"skycoord\": events.radec,\n", " # The coord-based interface doesn't use Quantity,\n", " # so we need to pass energy in the same unit as\n", " # used for the map axis\n", " \"energy\": events.energy,\n", " }\n", ")" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "MapAxis\n", "\n", "\tname : energy \n", "\tunit : 'GeV' \n", "\tnbins : 4 \n", "\tnode type : edges \n", "\tedges min : 1.0e+01 GeV\n", "\tedges max : 2.0e+03 GeV\n", "\tinterp : log " ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "counts.geom.axes[0]" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "counts.sum_over_axes().smooth(2).plot(stretch=\"sqrt\", vmax=30);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exposure\n", "\n", "The Fermi-LAT datatset contains the energy-dependent exposure for the whole sky as a HEALPix map computed with ``gtexpcube2``. This format is supported by ``gammapy.maps`` directly.\n", "\n", "Interpolating the exposure cube from the Fermi ST to get an exposure cube matching the spatial geometry and energy axis defined above with Gammapy is easy. The only point to watch out for is how exactly you want the energy axis and binning handled.\n", "\n", "Below we just use the default behaviour, which is linear interpolation in energy on the original exposure cube. Probably log interpolation would be better, but it doesn't matter much here, because the energy binning is fine. Finally, we just copy the counts map geometry, which contains an energy axis with `node_type=\"edges\"`. This is non-ideal for exposure cubes, but again, acceptable because exposure doesn't vary much from bin to bin, so the exact way interpolation occurs in later use of that exposure cube doesn't matter a lot. Of course you could define any energy axis for your exposure cube that you like." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "HpxGeom\n", "\n", "\taxes : skycoord, energy\n", "\tshape : (49152, 18)\n", "\tndim : 3\n", "\tnside : 64\n", "\tnested : False\n", "\tcoordsys : CEL\n", "\tprojection : HPX\n", "\tcenter : 0.0 deg, 0.0 deg\n", "\n", "MapAxis\n", "\n", "\tname : energy \n", "\tunit : '' \n", "\tnbins : 18 \n", "\tnode type : center \n", "\tcenter min : 1.0e+04 \n", "\tcenter max : 2.0e+06 \n", "\tinterp : log \n", "\n" ] } ], "source": [ "exposure_hpx = Map.read(\n", " \"$GAMMAPY_FERMI_LAT_DATA/3fhl/allsky/fermi_3fhl_exposure_cube_hpx.fits.gz\"\n", ")\n", "# Unit is not stored in the file, set it manually\n", "exposure_hpx.unit = \"cm2 s\"\n", "print(exposure_hpx.geom)\n", "print(exposure_hpx.geom.axes[0])" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "exposure_hpx.plot();" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "WcsGeom\n", "\n", "\taxes : lon, lat, energy\n", "\tshape : (100, 80, 4)\n", "\tndim : 3\n", "\tcoordsys : GAL\n", "\tprojection : TAN\n", "\tcenter : 0.0 deg, 0.0 deg\n", "\twidth : 10.0 x 8.0 deg\n", "\n", "MapAxis\n", "\n", "\tname : energy \n", "\tunit : 'GeV' \n", "\tnbins : 4 \n", "\tnode type : center \n", "\tcenter min : 1.7e+01 GeV\n", "\tcenter max : 7.7e+02 GeV\n", "\tinterp : log \n", "\n" ] } ], "source": [ "# For exposure, we choose a geometry with node_type='center',\n", "# whereas for counts it was node_type='edge'\n", "axis = MapAxis.from_nodes(\n", " counts.geom.axes[0].center, name=\"energy\", unit=\"GeV\", interp=\"log\"\n", ")\n", "geom = WcsGeom(wcs=counts.geom.wcs, npix=counts.geom.npix, axes=[axis])\n", "\n", "coord = counts.geom.get_coord()\n", "data = exposure_hpx.interp_by_coord(coord)\n", "exposure = WcsNDMap(geom, data, unit=exposure_hpx.unit)\n", "print(exposure.geom)\n", "print(exposure.geom.axes[0])" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEPCAYAAABCyrPIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJztvXm4ZVdd5/353iEDRCSaqJEQIk3bEEJIoGgCqMFQauEQB0BoSHyBIA7gQLrbZvAJnSCtJKKvLSgpEChRXiWQaIwEyAsJQ0MSKvMADcgQaWlC1DQkgUBV/fqPvc+tfU6tddZaezjDvb/P85zn7rOmvfY+59y112+UmeE4juM4K/OegOM4jrMY+ILgOI7jAL4gOI7jODW+IDiO4ziALwiO4zhOjS8IjuM4DuALguM4WwBJb5Z0h6RbMtr+kKTrJO2R9PSJuvdIukvSpcPNdn74guA4zlbgrcCOzLa3A88F3h6oOx84o58pLR6+IDiOs+kxsw8B/9Isk/Rv6if+ayV9WNLD67afN7ObgH2Bcd4PfG0mk54Da/OegOM4zpzYCfyymX1a0uOBPwFOnfOc5oovCI7jbDkkHQY8EbhQ0qj44PnNaDHwBcFxnK3ICnCXmZ0474ksEq5DcBxny2FmXwU+J+kZAKp49JynNXfk0U4dx9nsSPr/gCcDRwBfBl4JfAD4U+AoYB34KzM7V9LjgIuBw4FvAP/bzB5Zj/Nh4OHAYcA/A2ea2XtnezXD4QuC4ziOA7jIyHEcx6nxBSGApLfNew5DsBmvazNeE/h1OfPBRUYBJN1jZvef9zz6ZjNe12a8JvDrWgR27Nhhd955Z1bba6+99r1mlusJvbAsjdmppJ+lUuZsbGuakw8dp+oPitQD64+UXtasjx2v138PTrRdb5StB+pjcx21XY3Uj46bW721xpu1usHKCqzA+msO1cvW1g6sP+igA8uax6GyyePRGCuB85eMlaofm6tY/4cz9LJmeexaUvWra4HCseP60zhofXo97L8Ja6sHljWPQ2VVt3UuPP5l4zezMdbGzTj4wLLmHMfKDg7Ux65l9GFE5r8WGD+j7drayjp7zx6/Lo3GaH7Lm9/o0Ryb3/zVRP3zf5eO3HnnnezefU1WW2n1iK7nWwSWZocgaTkm6jjOQmBmSreKs23bY2337quz2krr15rZti7nWwSWZofQZOgdwkGB+s2wQ5gsax4v7Q6hYAewTDsEVlYPLNsEO4Rg/QA7BOlM+uGAcEabmqVeEFYCZbOsh/1fS2W0nVYf6x8qCz32jNUX/N8Z/ROM/l9aOXDM2P/Ljf+Bkd99aC4lc1VmfZOS+uAFjP3DDPyTXkn8w4+dLHixgbFCi0BzXrEFY6N/YP7R8zePFRg/sOClvjixtmMfxugbHfplNctLfrF94QuC4ziOg+ELwgIz+RzQxxN+bn1Xms87od3AaqTt6kS7yfqNa20+9Wc+nDbbph7u1hNP/RB+gg/tFmJzTe5mBqgfe1DdmEBbMU/iCTs4VuJc0d1KSr6WENOERFJtrnVF4frQbmLsZoe+xTHBaGgfndpB9IEBe3oec7FZqgXBcRxntvgOwXEcx3GR0dYgJVIKlaWOUyKh2GY5pE4LzSFmP7dRHxkge+ffUpFbIrIZSS9CiuTYXGJtS8ui9cmbERCJRMU8obaxi02IbIIK7MDNjFr2jKwFIiKdrtdaomDfMN/qKuQtqe+LfhYESYcAH6IySFwD3mlmr5xocxbwAio51VeA55vZF+q61wA/UTd9lZn9dS8Tm2CIO+g4jrNJ2Jf5SnIfcKqZPRo4Edgh6eSJNtcD28zsBOCdwHkAkn4CeEzd7/HAf5b0gG7XFcYXBMdxnCAjpXLOKzFSxd312/X6ZRNtrjCze+u3VwFH18fHAR80sz1mdg9wIzBImIylEhlNbgzbbjCnlZX0j7UN2UrEXG5yrYhC54S0yCQkGUhZ/jSP1xN+Cm38CNYTfgwlVkhN2tyLdpY1GfKzkJVQys8gKBKKOI618hMo8UPIrA+dc/I46W2zHigL/SKaLp0h98zmL6cP+tUhSFoFrgUeBrzezKa5QZ8JXFYf3wi8UtIfAPcDfhi4rbeJNViqBcFxHGe2ZC8IR0ja3Xi/08x2NhuY2V7gREkPBC6WdLyZ3TI5kKTTgW3AKXW/99VJez5KpVv4GAPZw26ZBaGNiiqGAsepsWJ+BqMPIOWpnNo1hJ6km8dtnUhzfQNK2qbm0lXpnKoP+h5AQ9GbsK1PKWLHJlOglA3tJpJK5cgTekopnfIjCJ4/oTRvzj/oiRwLPbESqA/5HMR+ZSnTjC5kLwh35sYyMrO7JF1JJfYZWxAkbQdeAZxiZvc1+rwaeHXd5u3Ap3MnVsIQd9BxHGcTMBIZdVcqSzqy3hkg6VBgO/DJiTYnARcAp5nZHY3yVUnfWR+fAJwAvK/jxQXZMjsEx3GccnrTIRwF7Kr1CCvAO8zsUknnArvN7BLgfKpczRdKArjdzE6jUp58uC77KnC6mbnIaFLUkxLTpBTBJWUxpe+IVHC7VP+YOiwVvzfXT6BEDJMSA/Up0gkdl4i/UmE6gmOlxDAxRe20SeVMNhlcLhDILhVNNHn+jmE4ovUBkVKvoSnWA/Ulgtk+6C90hZndBJwUKD+7cbw90vcbVJZGg7NUC4LjOM5scU9lx3Ecx0NXLDYpUdC0drliopLxIS0+CvUJ2Uekzh8zjAnRRgzTVaQUaxuKkhqbfyz8Ri7ZbgJR3wAF6gssc8Ymk2nlk7Ljb2sFNG3MZtukn0JB6IvotzzXz6BECJwKENMXviA4juM4vkNwHMdx9uMLwtJQIhJKtW0zfrO8rZVQavzQZnqsPiEmCVkhjZ23J5EShA1jUkY8oXnlGPG0metGecyZamOCfSTIaSFyKYkp0sYKqLOVUeC+BB3QIPzrCVkWNY9j7pcpIXDqV9IWT5DjOI7jbOA7hIVl8jmhZAdQ8rwR6p8KLdEkZQ3d/IrlKqXH6lO6veb4LXYQJUrpULSCkofO5rWE5hoitVuJzTW8xUiEYwi1TSmSs8ZKPcEPoPRtk9sh9mFv5DiI+RaEAtGFnuqbx6lfZIm3Tx+4DsFxHMfZwBcEx3EcB/AFYUlpIxIqqS85f5+kxu2qe2wjUoopjdtEM10NjJtSJLeN7BoUk6RorVTO9AlIafu7Kn27KpVjfhLJoCwppXGobckvMtW/D1yp7DiO4wCuQ3Acx3Ea+IKwsEyzMprWLqe+ZINaYnHUFyHRTLM8ZrkzK5ESpP0QRm37TOaTEm8Fk+EUOTckwlTErHSCYyVEVTkhMaaOH7pZLUNfhJIBBX0OUmktm21jIqWQFVLoXKlfbK7XTwm+IDiO4zguMlpspu0QUk/4JfXT+uSQattmVxGzvQ+VzWMHUdI2paCO9U/tQIJ+DEVbkExlc44iuavSODSnrkrrrvVBn4PUUz2Eg9uFvJZj/UflJZ7MfeELguM4juNWRo7jOM5+fIewsPQlMprWJ9a2SUjBHOuTa/Ee25gH5x3Y2Q+dIjNVH2sbEu+k0g2sNiMkBMYqknIEFakJ5WPyBAlFcqw8JR4KtW07lzahL0I+B+Na+cbxaKy1QBmEU2DGgtulQlek6kNK6z5wHYLjOI6zgS8IjuM4ju8QFpu+REa5tgh9WjXHxgptckMSj5Tt/tApMkskIzGSVkhrB54/lK4gVNYcK+h7EJtsiRgnRSs/hZSfw0BWTLnyu9Y5CkIWRSnBaEjMFDvXLEJXgC8IjuM4Dm5ltOD0vUPouoNoS2j82A6iTY6B0ENjNEfAxHli9akdRPM45L0cm2tIgZx6aE1mb8tV2MbKu+YYiLUNnitWH9g7BhXkqQ8upXSO1Cv1VD+qV6Q+9IuK5U4IKY1DCuhYjICQn0Nf+A7BcRzHcR2C4ziOsx9fEBaWvkRGi0RKdddXCsxU/dic2ohpGsfrEZHPSBTU1c8gJbIao0SkkuqTK6bJGneIfAkFCupk8omQh00q3EQsuF3IZyGkQI6Jpybbxfr3/e9s6+0QFvX/pOM4zgKwJ/M1HUmHSLpG0o2SbpV0TqDNWZJuk3STpPdLekij7ry63yck/XdJQ4R29QXBcRwnzGiHkPNKch9wqpk9GjgR2CHp5Ik21wPbzOwE4J3AeQCSngg8CTgBOB54HHBKlyuLsWVERtPG6YOY/UNIJJRa2ktEPqsJyYAS9W3EMLH6NiKfkminoWsJEgvXEKpPlQc/jMgn2Mb8qyS0RMmHkRQpBcRfComEYr4BoXwIKYukWNuQxVJorLa/+C70IzIyMwPurt+u1y+baHNF4+1VwOmjKuAQ4CCqm7QOfLmXiU3gOwTHcZwgve4QkLQq6QbgDuByM7t6SvMzgcsAzOxjwBXAl+rXe83sEy0uKMmm3CFM65tTH3qqj9E1nFboWlJP9aHy1A4i1j+klA6Nn7ODCM0l5WncZjfUegcRDPgWeIJOPbWPjdlxN1L0hN9iLiU3O/iEHvuVjZ72Y4rkVNvQDiD2a8qVCcw1Y9oRknY33u80s53NBma2FzhR0gOBiyUdb2a3TA4k6XRgG7VYSNLDgEcAR9dNLpf0Q2b2obJrSTPTBUHSg4E/B76H6k7vNLM/kvS9wF8AXwOeY2Z3TxnGcRxnRmQvCHea2bachmZ2l6QrgR3A2IIgaTvwCuAUM7uvLv5Z4KrR/0VJlwEnA70vCLMWGe0B/qOZPYLqgl4k6Tjg14FfA97EfrmZ4zjOHBmFrujFyujIemeApEOB7cAnJ9qcBFwAnGZmdzSqbgdOkbQmaZ1q57D8IiMzG8nAMLOvSfoE8CCqveJIGBfd9/WtVC6hRDwV6hdTt+UqmGOikVbm6gW6yVR9aC5NKUUojEWJlKTkWpOTzVYaJ06Q5YeQUuqO6kvyGYTmmlBwp0JrBBXJEA4HkUqhGcuHsJaozxXopn7xfdOrH8JRwC5Jq1QTfoeZXSrpXGC3mV0CnA8cBlxYW5XebmanUVkcnQrcXE/qPWb2d31NrMncdAiSjgVOAq4GPgW8Dfg/wLPnNSfHcZxxerMyuonq/91k+dmN4+2RvnuBX+plIgnmsiBIOgx4F/CbZvZV4KvAD81jLo7jOHG2lqfyzBeEWgb2LuAvzeyiRNt7ptWXbCBTZalNZ59+BiHGNt4JiURJCszQOG38GHL6b1gkNb5V6wEro5SURQXzGxsrWz5WYq2TEONkTWxKfVIkFBMpBfqHUmCm6pPf7JhIKPTND4mJmm1i9SFyf8Xx+ub/DzO7f6JzgK0XumLWVkYC/gz4hJn9Qap980OUZNPaOo7jNGm3CEywzxeEIXkScAZwc+2gAfByM3t3TueUsrgvQmG9YjuAXKVxbDey4YNZoGhNPXymdhihfrF2Kdv/1LxSnshNRjuDlM9DdDe0sQVpPlUnsoylFL0p2mZEKzlH8Ly5SudI/caNCymSm+WxHAZrU8omx0r5IaRI7RYGCesDZrDHE+QMhpl9hME+PcdxnB4xYK/vEBzHcRzMRUZbgdzNakrMA/nbnZTqLpVvICcfQYiuSudc34DmcUgRHCOkQC4RSRVFx8utb9JGflfSNim+ajE/gLVR8LqYSCsVMC4UTiIkpkmlzYQqJttkWQmhfqFf3gDCZPMFwXEcxzHfITiO4zhQR65wpfLC0veGMDbeaBMcE/OkxoqJl6aRsqxJ1cfEOCXnGlEyVgmjh62URVRKoqO1WINEistkfaYVUow2Pgud51rgpzAmKxwdx0JIhKyQSupDoqSuX6aYgDZkEdUHvkNwHMdxwK2MHMdxnBG+Q1gK2lgJlbQtEQ+lxEuhzWyJKCqVwGZjHgVSkBAl4SxK0m02f09dxU/7fakSE1hLiVE6usKkxDSTx9P6paKRFlkhBVJkrsWcwXJFPiUio9g3O/RPNfnNT9Q3+4cis/bEFlsQsu6gpIfUiRuQdKikbxt2Wo7jOHPGqMxOc16bhOQOQdIvAi8EvgP4N1Rp3N4APGXYqc2W0PNIzlN9m2eSMXVbR3PzNk/dbfwYZkl0fsGbFXrqLqnvqnSOPKFP658z1xBjfgbreeOPKZKb8wvtAFJBWVL9Y1+WfYH65j/RUXnJriB03LfAY+uFrsj5ub+IKgbRVwHM7NPAdw05KcdxnLkz8kPIeW0ScpbU+8zsm3UGHyStUW2mHMdxNjeb6J99DjkLwgclvRw4VNKPAL8KDJK+rZS2SuNU/9BmOWXhXBINtU9S+QqCkgMOrB9KdNRmLk3GTeczRTZt5WtJRW9CpBQcqyBFZrB/W/FVSmmc+4voKiBtEhIT5RBqO4SfwwTGllsQcu7gS4GvUOXz/CXg3cBvDzkpx3Gc+WOVH0LOa5OQ3CGY2T7gjfXLcRxna2AGe7eWUjm6IEi6mSm6AjM7YZAZzYDUBjRl69BngpySFJV90VU81Kd4Kekz0SZcQ/QECZFSV9qIdFLXUuJTERyrJEUmPda3FQ9NIxVmY4BUK1tMZDRth/CT9d8X1X/fVv99DnDvYDNyHMdZBDza6X7M7AsAkp5kZk9qVL1U0v8Azh16ciW0eQYpUbENpRRuQ1GMtfo4tdMoUfSW1IfalgTqa+e9GzEB6OynkHn+5rg5bbPPVTDXYIrM0H0J+RbEmOWvILWbKdntdGCLLQg5d/D+kn5g9EbSE4Huyasdx3EWHfdDOIAzgTdL+vb6/V3A84ebkuM4zgJgtqksiHLIsTK6Fni0pAcAMrP/M/y0upEr/ompoNr4HLQVL4XSRrahDz+BrqRSc4bKwlKOmMimY2iJrmTb/hfMJVa/lrrW+pu3th6u7ywEbVPf/OfZZ26CVJiMUDrPHrCtF7oiJ5bR2RPvATCzhdIhOI7j9M4mClyXQ87j0z2N117gqcCxA87JcRxnMehJhyDpEEnXSLpR0q2Szgm0OUvSbZJukvR+SQ+py39Y0g2N1zck/cwAV5slMnrtxKR/H7hkiMmkKLUlSFlQp8pK8hbEaJWOM1P0AuncBSk/hyGIjZ8rUmodeiLYJ5VDINC2JAJpzhyC9S1SZDZzGyRFUiFhZnAikePJcWK0FROl5roAVkb9mp3eB5xqZndLWgc+IukyM7uq0eZ6YJuZ3SvpV4DzgGea2RXAiQCSvgP4DPC+vibWpM0dvB/w0L4n4jiOs3D0tEOwirvrt+v1yybaXGFmIx+vq6hSDUzydOCyRrteydEhND2WV4EjgVcNMZlSuqrQYs8zJc9Ufaf1PuBcLRS1Q6DYg2iCormmbO83yhK2/23J9kMoOH+fGdFCc20SdCYJBYGbPA6eIFEfynHQltATfip4XSo3Qw/07JgmaRW4FngY8Hozu3pK8zOBywLlzwL+oLdJTZBjdvqTjeM9wJfNbGup3h3H2XoY8K3sf3VHSNrdeL/TzHaODWe2FzhR0gOBiyUdb2a3TA4k6XRgG3DKRPlRwKOA9+ZfRBk5C8LvmNkZzQJJb5sscxzH2VwU7RDuNLNtWaOa3SXpSmAHMLYg1KmKXwGcYmb3TXT9eeBiM/tW7qRKyVkQHtl8UyfIeeww0+mHNpvhVArNFKkQYqG0mSWUSA6ahPwcUqEt2oqEUj4VnQP1tQotkVDUtrnY1n4IXdN5BgLZRX0Pcq8rJlIagtT4KfFWn4lsM+nJ7FTSkcC36sXgUGA78JqJNicBFwA7zOyOwDD/AXhZLxOKMC3a6cuAUWKcr46KgW8CO2P9HMdxNgX96hCOAnbVeoQV4B1mdqmkc4HdZnYJcD5wGHBh7e91u5mdBiDpWODBwAf7mlCIacHtfhf4XUm/a2aDrkqO4zgLSU8LgpndBJwUKD+7cbx9Sv/PAw/qZTJTmLZDeLiZfZJqtXrMZL2ZXTfozAKUbgxLrJBS9OGTECJlTBKcS4GUpCu5EUpT/ZvHwXAVsQZ90iZaajLcREGKzCKLpRbisfFJTvydPB4gd0CvlNgIDuiH4KErNjgLeCHw2kCdAacOMiPHcZxFwYPbVZjZC+vDp5rZN5p1kg4ZdFYJUs8+qeeE1LNRyXNGSGnclVhugi6kAsr1ES8uuQNoQ4knceqpu9U5I7uJZNvEbiM7+F3iWsZucMk3O/dX1Czr9VteMJc2nsw9sAUT5OTcwY9mljmO42wuPB9ChaTvoVJiHFqbQ42W6QdQha9wHMfZ3GyxaKfTdAg/BjyXKp5G01X6a1TmqEtFiQV0qE8fPglt6Evp3OaczbFyAtYNrRPOpsi2v4WGPOcCuwbSC4qPUv4ToW9saq5t7fnn8SGnfCYGyIewZE//ku4PfN3M9kn6fuDhVLGPspzZpukQdlHZzT7NzN7Vz3Qdx3GWhOW0MvoQ8IOSDgfeD+wGngk8J6dzTvjrd0n6CSqP5UMa5ee2mq7jOM6ysGQ7BKqslvdKOhP4YzM7T9L1uZ1zop2+gUpn8MPAm6jCr17TdrZ90MY+ooSUrUYbkdCYzUTH3XYqB0JyLo22qdAWqXOF/BNK6nu1zOlsUZQQKSX7J745XcNkhBsW1IcihMboK59CTttUiszUL34tUNYDxlIuCJKeQLUjOLMuywlRBOTdwSea2S8A/2pm5wBPoHKhdhzH2cRY5YeQ81ocfoMq3tHFZnarpIcCV+R2zlk5vl7/vVfS9wL/DHxf8TR7oG81Vtdnr1jborxRAytic8fvGi8u5xyD0NU7uNU5Mz7hYPC5Zn2mH0KoT7Rt6mm95Kk7OIFEfZ9zKcl3kLubKWQJdwhm9iEqPcLo/WeBX8/tn7MgXFrH7z4fuI7qNr2xcJ6O4zhLhrnZ6SRmNsqO9i5Jl1Iplh8+6Kwcx3HmjbGMVkadyFY2ANQJG+6TdCFwzDBTijO5sWyrgkr5HEw7d6x/jDbCiZLcBKH6VN6BlO9ASOkdq09FUwhJOYIB7WKTSQWfC5EMbVEiHysIg9GnzCwk/mqycRNj37CUaUWfyupc2oTWaB6HFMnN8r4T2i6fH0JX2n6DWwthJe2Q9D8lfUbSS+uyR0r6mKRd0hCRfBzHcVqwRKErJP2YpDPr3AnN8ufnjtH2n6+16VQnh3g98FTgOOA/SDqOKrLqaVROFD/ack6O4zj9YctjZSTpv1Gl3nwU8H5Jv9aofnHuONNiGf0d4X/8Ar4z9wQT/HvgM7XmG0l/Bfw01V7PgH3MMFB77ERDiITGRE4dzeVL6lNWRm18B9rmRujMEH4IXel6zpJ0ntnhKpqkfA+63rOUyCp2jpIwFCkrpJR4rAML8vSfwU8BJ5nZHkn/FXi7pIea2Uso+J86TYfw+y3rpvEg4B8b778IPB74I+DvgU8Db2g5tuM4Tn+Ywd6lUSqvmdkegDpv808BO2t970HZg8QqzGyI3J2hlcrM7HqqhcFxHGdxWJ4dwj9IOmX0f9vM9gJnSvod4Gm5gxRZGfXAFxn3cj4a+KdYY0lvA35u9L6LlVEq3ESorCRERYl7z1i/TMexUJ9Yv1RZMpxEYn6d59o2GmnwBCErpNj4iQijubQVE7VJ3BOdX66zV0l96Hmt5P6k2qauucRiKiQqGx9f0j2NtxeZ2RmJCYxjYPtaqUvnwTNChWb225L+NHeQWS8IHwf+raTvA/4X8Czg2bHG9Qd4BoCkpflkHMeZP2Z2/65jLMsGwcxGESWQdAJwLOP/3y/KGWemC0Kt8Hgx8F6qZf3NZnbrLOcAaavlPi2w21hGt3kAjRnrpnYLufU544+O2yjNxweNJZ5PhIOYbJfTdqzfAErr1ruJzK1f5xCPJX4KbT/YNnMo2me36JPGDPbt7XXIwZH0ZuAE4FYqIx2oDHb6WRAkXQ48w8zuqt8fDvyVmf1Ymwmb2buBd7fp6ziOM0uWR2K0wclmdlzbzjk7hCNGiwGAmf2rpO9qe0LHcZxlwAz2ZOUZWyg+Juk4M7utTeecBWGfpGPM7HYASQ+hpWPakKQ2y7nR35vkiHtyRUJ9KGXb9AmJfNrUl8wp1n/jHG1FMl1FOkP7KcxUvJSbtSNm75/r09BWJNWn4HVEn8lp81gWHUKDXVSLwv8G7qO6aWZmJ+R0zlkQXgF8RNLIDPWHgBe2manjOM6yYLaUIqM3Uxni3Mx+HUI2OdFO3yPpMcDJVKvNS8zsztITOY7jLBtLuEO43cwuadt5WuiKh5vZJ+vFAPb7CxxTi5Cua3vSvmi7aUyl08i10I7Vt/FDSNFn2s1UhNSSCKqpKKnJTiXRSDfKYlZIof6BT26IqKTF/RIOIJPtWlNi+19i7RO67tmIceLn7dnKiP4WBEmHUCWuOZjq/+47zeyVE23OAl4A7AG+AjzfzL5Q1x1DlcL4wfXUftzMPh841SclvR34OyqRUXUtZp2tjM6iEg29NlBnwKk5J3Acx1lK+jU7vQ841czulrROJYa/zMyuarS5HthmZvdK+hXgPOCZdd2fA682s8slHUZcHHRofa5mkNDuZqdmNtITPNXMvtGsq1e7hWcoFVQbC+k+6fUBN/Gg2qdSOdvrOLWDiJ5sRl7HOX26unj3RvP/RiiHQGqfnFJEt1VaTztnTnnfuQ8OxAz29LQgmJkBd9dv1+uXTbRp5j6+CjgdoI4IvWZml9ft7iaCmT2vyzxzvqEfzSxzHMfZVOzbm/fKQdKqpBuAO4DLzezqKc3PBC6rj78fuEvSRZKul3R+nUogdI5ddcrj0fvDa2e1LKbpEL6HKjrpoZJOYv8D9wOA++WewHEcZxmxsoRpR0ja3Xi/08x2jo9ne4ET63/YF0s63sxumRxI0unANuCUumgN+EHgJOB24K+B5wJ/FpjHCQG/sZNyL2KaDuHH6pMeTaVHGC0IXwVennuCIShx4M+lbaT43HOlFK595olL6lkTiuBQfY5IKRmyoo0YJXUxqT7B87cUN4T6lYis2radGakcBW1zEMwqxUn/5ykwO73TzLblNKzDU18J7ADGFgRJ26lM/U+pUxZDFRT0+kYemb+hsvoMLQgrkg43s3+t234HBSGKpukQdgG7JD3NzN6VO6DjOM5moGcroyOBb9WLwaHAduA1E21OAi4AdpjZHY2qjwOHSzrSzL5CZdDT3I00eS3wUUnvrC/h54FX584zZ3l/bEAm9Tu5J3Acx1lK6tAVOa8MjgKukHQT1T/4y83sUknnSjqtbnM+cBhwoaRTJ9lpAAAZXElEQVQbJF0CG6Km/0SVGvNmqq3QG4NTNvtzqvwHX6YyXf05M3tb7iXnbCWeamYbIqJaJvXjwG/nnqQvJlevtpvqcPT0vD459amN6xDSgK4RRttEQI21KfJNKBEJBa2QOk68a3KJGBvXkvg2tP4y5MoyUn4EMWHrMLb9YXItkkqskLpj9OepbGY3UekAJsvPbhxvn9L/cqoopjnnug0YLJbRqqSDR/KsertzcJuTOY7jLA1lSuVNQc6C8BdUW5W3UC2az6cKoDQ3cpXKKRVZW0pUV23O22fwu5BSOKQIjo0T2nmUKKXDO4CUQrXA9yDYP5GZLLXFWYucf4gdyFjboZWvbfwIYt48bc0wptE2O9wwGMuXD6ErObGMzqvlVk+h+na8yszeO/jMHMdx5onvEMKY2WXsd5JwHMfZEixhtNNO5GRMOxn4Y+ARwEFU+7p7zOwBA88tytDqrlTwuzZz6ZxWsoCuSuuS/qmgeEXB59r4F5Sky0z5EYTKgsH3IqKdrmEqmv99Ro+mRY+oKaVw7Hha2VAkrQ166tMeM9izp9chF56cHcLrgGcBF1J5z/0C8LAhJ+U4jjNvljGncldyRUafkbRa28O+RZLHMnIcZ9PjIqMDuVfSQcANks4DvgTcf9hpzZ4+N6MlgRH68klIWQmlTPf7DMvfOQxHn6koSyx/RtZFJTcrJrIawmKoKT5aPeBggpS3zag8FAF11pRkGwkx3Ly3mlI5506eQfXtejFwD1WChqcNOSnHcZx5MxIZ9RXtdBnIMTv9Qn34deCcYaeTR1+Lduy5o0+v5KFp41yrggfwXr2qVzKfwJPjxPoHPJlD/VJK7dRTf585DpqPoEVj5WYsi/kOpHYQIdOKkM9C271zrjdRSf9+MfrLh7AsTAt/fTNT/OPNLMuN2nEcZylxP4QxfnJms3Acx1lAfEGoaYiKFpaSz6pNOs0+QlSkpACjL9xqoCx6rhbRGJqkfCJSSuGSc3WmxE8h2D/kR1AwTir0RpvgeDGaH/y++rrHBNShn2tKaRwrW5vSrm+6mmyk6kffkX7Tam5Fs9Pkt0HSyZI+LuluSd+UtFfSV2cxOcdxnHmyz/JemwV3THMcxwnQZ4KcZcEd02pKNq29Gt5kDhYT8ySjjWaeZy4ZGycJWSFNazfZNpWiM9cnoU1az2lt2hB67FxJfQtLUlzm9k9FQ43NKWWR1MbKaKhfYQTLTn6zaXDHNMdxnAC2ycRBOeQsCGdQLccvBl7CAjimhXZxfe7sunolJ3cbHR9uuiqVQwSdYPug69Yk+YRf4kewEu/T7Nc6+N4AXimp3BHJp+bmnMZMF6b0aUtqt9AsC82rZDfTpV0+LjKaoGFt9A0WxDHNcRxnaLaiDiG6pEr6aUkvary/WtJn69fTZzM9x3GcOeGhK8b4LSrrohEHA4+j0h+8BXjngPMK0vdinQpB0WeIiq6m7zFCyuaUH8Hexo3MsiqYYG5PTX0pfYuC16VESgMpN0OB9hQSyXRV5KaI9Q+NH/P2Sc0lNVZIpDQbBbPrEPZzkJn9Y+P9R8zsn4F/luRKZcdxNjXmVkZjHN58Y2Yvbrw9cpjpOI7jLAbmsYzGuFrSL5rZG5uFkn4JuGbYaQ3LEI70MZFSbhiIWCrKlBRjWtm08mnY0D+ClDVO59ASsZsRilZakoKzq3lYIoxG8lpS0UpTYpgScm3N2vohxMaYVhYjZaXUHhcZ7eclwN9IejZwXV32WCpdws8MPTHHcZx5shWtjKYFt7sDeKKkU4FH1sV/b2YfmMnMHMdx5omLjA6kXgAWfhFos+nsWt+WEsMXpaQggfKm+GmIL3RSctJWftUmQc5YeYsUmMFxEs5oOfNsE1l1rSFmWVuv/q7GUlyOylOWPUNR8usZHcec5HLFWzErpGHYikrlob81juM4S0tf0U4lHSLpGkk3SrpV0gFOvpLOknSbpJskvV/SQxp1eyXdUL8u6fcq99PGDH0pKUmLWULuziT2oBjaATSPVxP1qfFTpHYQg2+Zh1DkNie9lvhkkxr8gm9Gq3wNid3M2LdpvdkxUF/yBJ39zU3Ul2QaKdnBtNnt9Pt8a/TqdHYfcKqZ3S1pHfiIpMvM7KpGm+uBbWZ2r6RfAc4DnlnXfd3MTuxtNhF8h+A4jhOi1iHkvJJDVdxdv12vXzbR5gozu7d+exVwdI9Xk4UvCI7jOBH6WhAAJK1KugG4A7jczK6e0vxM4LLG+0Mk7ZZ0laTBrDyXSmS0L/J38jhFG3VUSZiLsfIexTsb50+Ij0IMFs00RZ/yrTY0BbxrI5FQj3cg6VORiLwaUiRDQ5mcykcQEiOVEJt/rkgn5XtQMlbbpLXDfJ+MIj+EIyTtbrzfaWY7x8ar8smcKOmBwMWSjjezWyYHknQ6VTKyUxrFx5jZP0l6KPABSTeb2T8UXE4WM/tlSnpOrSy5SdJHJT26UfcsSddJ+s1ZzcdxHGcaIyujnBdwp5lta7x2xse1u4ArgR2TdZK2A68ATjOz+xp9/qn++9m670k9XuoGsxQZfQ44xcxOAF4FNG/Ys6gC550s6bAZzslxHCdMjzoESUfWOwMkHQpsBz450eYk4AKqxeCORvnhkg6uj48AngTc1tdlNpmZyMjMmmk3JxUmo72iMQsD45rYath247pRViAlSVkRtTFnb0Nba6K5pN4cm2xH8U8sGU6qbcm40+qj5mO5VkR9fgCpdE9dzx8TKeUy+y9bj6ErjgJ2SVqlupB3mNmlks4FdpvZJcD5wGHAhZIAbjez04BHABdI2lf3/T0zW+4FYYJJhclFwG7gL8zsa/OZkuM4zn7M+jM7NbObCIh5zOzsxvH2SN+PAo/qZybTmfmCIOmHqRaEHxiVmdkuYFeg7T3N930plXNpazU9Vl7gldyGUP+u+Q5S43dmKOeGjV9vx6tu6xtR8mFv5DuIBdcbPYGXJLnvk1w/hVh9V6/irruJ8f8fZtYqZL+HruiROuPaL9Zvfxw4AngT8NQ6t8JUmh+ipC0Wd9BxnC60XQQ2+uMLQq+Y2euB1wNIOoZKNHSGmX1qyPM6juP0wZ55T2DGzFJkdDbwncCf1AqTPWa2bYgTtVnU26rGQpvhUA6EaCbERH1I9zh08LqZMvfYGQlaJ6IIKGiDfgiNn2AyRWbM5n9IosLQGZ5rPhjDiKIXmVlaGb0AeMGszuc4jtMVXxAcx3Ec3yEsC0N/SKPNeFt/hFg6zEVhqBSZna+1q/goKKYp8C3IzscQGTMlUmqGqQjlbkhaEZVEFu2L5j0PnXOmgVAiDHcvfEFwHMdxMFypvNBMrtax1XtodVeJai+Z973FZPv0M8idR+un/zZK4T49kUMkL7aHHAgpT+TRsWI7gFDi+AXcbvbC4l6X7xAcx3Ec1yE4juM4+/EFYQsQUhp33bT2GY6iDXPLd1DCaJL7Cm5QiaI5Fbqia4rLZNtAGIqmAjoapmKjMHI8D0b3dZahMdoy3Fx9QXAcx3FcZOQ4juNUuJXRgtNltZ7lBjwl5Qil1SwZs0QkNETkh1DojdaUiHxCfdoIyEpyIHQlaV6WEhOlbnbKT6CEZqzn3LHa9FkefIfgOI7jAL4gLAWpDylV39mhtnE8ej6KPYmHykv8COYR263XHUAbhvZDGNuVNHcLiX5dM6YF+7dNct8Xs4wqP+8vVhmuQ3Acx3E28AXBcRzH8R3CMlPywY3aDmWvHxIJxZTCIZFQSfC5NiKloURCo7kM5geRe7FjIiELl3chFY4i1rZJ8EMoMhcYnaCgT5/M+/yzwa2MHMdxHN8hOI7jOPvxBWGByY12GqoPWQatRepzzj2tPiUScnqkjUhoFh9KyL8hGa5ilrQR+bS1/ppH7obu+A7BcRzH2cAXhE1A6ENs+lOmLjrTXxYIW3GnlMKh+nntJAbLg9AX+wJ3eF/BpzmmYE7d+I7q8KBSuU8V+8D+GUtFaP/f75fVQ1c4juM4G/gOwXEcx9mSOoR5CwRasY+wgnmyfG/jNW2cyVeK0Lip/vv27X+FylM0+1vjlWJlZQ5in9jFzvK8szr/yur+11h56savkPfzK/lmDj3WCvnzLmmbS5/3ovyM014pJB0i6RpJN0q6VdI5gTZnSbpN0k2S3i/pIRP1D5D0vyS9rut1xVjKBcFxHGdoRjuEPhYE4D7gVDN7NHAisEPSyRNtrge2mdkJwDuB8ybqXwV8sMWlZOMLguM4ToS+FgSruLt+u16/bKLNFWZ2b/32KuDoUZ2kxwLfDbyv9cVksNQ6hKh4JlBmgfqQbwI0wk1ExlyNlAfn0sKiKGUYMwS9ipWGklENbSUUIpQ7oe31FfXLtZyJfUtXAmV93p/R+KuBsr5J3Yu9ifp29G1lJGkVuBZ4GPB6M7t6SvMzgcvqfivAa4EzgKf0OKUDWOoFwXEcZ0gKnseOkLS78X6nme1sNjCzvcCJkh4IXCzpeDO7ZXIgSacD24BT6qJfBd5tZv8oDZvQyRcEx3GcAIVWRnea2bascc3uknQlsAMYWxAkbQdeAZxiZvfVxU8AflDSrwKHAQdJutvMXpo/vTw2zYKQKybqg1RKka5iohQhkVKzLGR9NHcHsz5JZSNqOq6lbmxJhNISWsn6StJRDiMmWRxC9yIkEhuWvv5vSDoS+Fa9GBwKbAdeM9HmJOACYIeZ3TEqN7PnNNo8l0rx3PtiAJtoQXAcx+mbHh8kjwJ21XqEFeAdZnappHOB3WZ2CXA+1Q7gwlo0dLuZndbfFNIs5YKQVORm1jefQdYTfVLBEkpCY4z12ze9z97ADqCE0A4ipVpcnVu8tcBkx44D8tMSpXJqB7GS+haE5pT45GPnWh0dN68pdOOHfioeViZdRuxaQ0rlZlsFyrrTp1LZzG4CTgqUn9043p4xzluBt/Y0rQNYygXBcRxnaLaip7IvCI7jOBF8QVhgJj+cmAV2yM8g9cGm/BTaWnCHREIh8U1MShI6b7N+74y+sTl61la62DGRTeYAMZHNvrVAfUttfbC+/pbEpjl23kCjsWutjxUTg7TxQyihawrPPhldQ8zDZzVQFpp/LEhNe3xBcBzHcVxk5DiO4+zHF4QlIFckFPswRxvLTJuSrLkMtdke+RRsqlScY6KTwJ0bEwOtHHjc2uTKDuyfcupoI9IaO2efcUhCljVDpbJcJP+GkM/F8D4JniDHcRzH2WAzPYflsFQLwuTOoCS4XcjnoK0nc4kfREhp3CQ3nWZRJsgETT+DhfJgHl1EyaRKnvBD9WNj1d+IPd/aX9acy0Z/HVgWPVfEzn9Uvxp66ofwU/E8PqyhA9Y1z5GMAZAo73ef7joEx3EcZwNfEBzHcRzfISw600RFJUrl3I1p23AUKUpEQn0pk7uKhkpCX8QH2XvgZPY1Po1g5IbQzehRNJAS84TER/sCYiQIK8PH2gbqVxr9gz4JMdOJ3HuwSDLBFCVhNJYruN2ysFQLguM4zqxwKyPHcRxnA98hLBElVkYhMVFJaIsUMTFUyo9gVN4MQREKc9E2RMXcrYhCdvwp2/6kn0IqxERMjBOyQkqJeVJWTBkWR7n1ToLYl3k4P4St9ikt9YLgOI4zJL4gLAErE39jlOwgmoyeGcee1CPHobYpQg+Kq5H6FCE/hti5contVlLsN62P7AA2/AwiCtE2fgih/jGF68YTvh1YNlYf2QGMFMxj1xTZTQTLErud1UTbMVJ73mllkP8rWgRC96I57zZe23n4guA4juO4UnnRedRjHgPs9zRuxiJqXkio/qBA/cGR/qPjUJ/YeWP1I6/gtcbDy2rgeK3Rqdl2ff3A+oMPOrD+oIPD9aN+oT7N+uY5mw/wo/rmnJuJxdR8KBvdjGbZWMf6ZqyuRep1YFmo7WrgBjXbrjf6NI836ten14c+INh/k9YOOrAMxl3AR23Grq9xLoVuVuhb2CxbDRyvR+pH5c0n6dA3OuYJHZpf0yx0daJdbH6xtqGxUueKzXV03G/2t62oQ5BZyip/MZC0HBN1HGchMLNOK4QkyxWo7YNrzWxbl/MtAkuzQ+j64ZYg6R4zu/+szjcrNuN1bcZrAr+uBeG9++CIzLZ3DjqTGbE0C4LjOM4sMbMd857DrFkGEwPHcRxnBviCEOaieU9gIDbjdW3GawK/LmcO+IJQI2lV0vWSLjWzMyQ9UtLHJO2StHT3SdKDJV0h6ROSbpX0G/V1fa+kD0j6W0mHzXuepUjaIel/SvqMpJcu02cl6RBJ10i6sf5MzqnL3yrpc5JuqF8n1tf17ZL+rtH+eY2xXiLpOknPnN8VlV0TQH1dT67LbpX0wcZYz6qv6TfndT1bHjPzV2VpdRbwduDS+v2fAUcCvwbsmPf8WlzPUcBj6uNvAz4FHAf8HvBI4KeAX573PAuvaRX4B+ChVDaUN9bXtBSfFZVd5GH18TpwNXAy8Fbg6YH2LwdeUx8fCfxLfd2H1d/VNeBvl+yaHgjcBhxTv/+uRt3f1J/xX43G9NdsXwv7NDVLJB0N/ATwpkbxKvtNkWdm4dQXZvYlM7uuPv4a8AngQVTXtY/lvK5/D3zGzD5rZt+k+sfx0yzJZ2UVd9dv1+vXNHNqA75NkqgWgX+h8pVSo36utLimZwMXmdntdf87GnXN61rYz3Ez4wtCxf8L/Bbjfih/BPw98ATgffOYVF9IOhY4ierp7XXABcAvA38xv1m14kHAPzbef7EuW5rPqhZN3gDcAVxuZlfXVa+WdJOkP5Q0cjN8HfAI4J+Am4HfMLN99QJ/M7Ab+OsZX8IBFF7T9wOHS7pS0rWSfqEx1EVU17S7vkZn1sx7izLvF/CTwJ/Ux0+mFhltlhfVk+W1wM/Ney49XMszgDc13p8B/PG859XyWh4IXAEcTyXeE5Xz/C7g7LrN04E/rOseBnwOeMC8597xml4HXAXcn8rG/9PA98977v6qXr5DgCcBp0n6PJUI4lRJy/bkHETSOvAu4C/NbDNYd3wReHDj/dFUT89Lh5ndBVxJpfP4klXcB7yFSjQG8Dwq8YqZ2WeoFoSHz2XCGWRe0xeB95jZPWZ2J/Ah4NFzmbBzAFt+QTCzl5nZ0WZ2LPAs4ANmdvqcp9WZWu78Z8AnzOwP5j2fnvg48G8lfZ+kg6g+r0vmPKdsJB0p6YH18aHAduCTko6qywT8DHBL3eV24Cl13XcD/w747KznPY0W1/S3wA9KWpN0P+DxVPotZwFwT+XNy5OoRCo31/JdgJeb2bvnOKdOmNkeSS8G3kulSH6zmd0652mVcBSwS9Iq1cPYO8zs0toM+EgqEcsNVPodgFcBb5V0c133X+qn6kWi6JrM7BOS3gPcRKWze5OZ3RIZ25kxSxPcznEcxxmWLS8ychzHcSp8QXAcx3EAXxAcx3GcGl8QHMdxHMAXBMdxHKfGFwTHcRwH8AXBqZH03ZLeLumzdYyZj0n62USfYyW1siGX9FxJ39t4/yZJx2X2fbKkS9ucNxdJH63/Hivp2S36P1fS6/qfmeMMhy8Izsib9G+AD5nZQ83ssVRewEcPeNrnAhsLgpm9wMxuG/B8RZjZE+vDY6kidDrOpscXBAfgVOCbZvaGUYGZfcHM/hg2npI/XCcvuU7SEycHmNZG0m9JurlOovJ7kp4ObAP+sk6Ucmgd/XJb3X5HPcaNkt6fexGSnqIqydHNkt48irAp6fOSzqnHvFnSw+vyIyVdXpdfIOkLko6o60YhnX+PKtTCDaqS0ow9+Uu6VNKT6+PnSfpUnfTlSY02R0p6l6SP16+NOsdZJHxBcKBKmHPdlPo7gB8xs8cAzwT+e24bSU+limXzeDN7NHCemb2TKszxc8zsRDP7+miQOtzBG4Gn1e2fkXMBkg6hSsryTDN7FFVYll9pNLmzntufAv+pLnslVeyqxwAXA8cEhn4p8OF6nn845fxHAedQLQQ/QpW4Z8QfAX9oZo8DnsZ43g3HWRg8lpFzAJJeD/wA1a7hcVRJT16nKg3iXqqY9pPE2mwH3mJm9wKY2b8kTn8ylejqc5ntR/w74HNm9qn6/S7gRVS5LmB/Lt9rgZ+rj38A+Nn6PO+R9K+Z5wrxeOBKM/sKgKS/ZvweHFdJ5gB4gKRvM4/57ywYviA4ALdSPbkCYGYvqkUnu+uilwBfpgpTvAJ8IzBGrI0oy+xV2r7Zbxr31X/3sv973yYr1x7Gd9aHNI5j814BntDcCTnOIuIiIwfgA8Ahkpoilvs1jr8d+JKZ7aOKoLoaGCPW5n3A8+tQx0j6jrr8a1S5nif5GHCKpO+baJ/ik8Cxkh5Wvz8D+OCU9gAfAX6+Ps+PAocH2kzO8/PAiZJWJD2Y/XH+rwaeLOk7VeWhaIq63ge8ePSm3kU5zsLhC4KDVSFvf4bqH/HnJF1DJXL5L3WTPwH+H0lXUYlB7gkME2xjZu+hylmwuw7DPZLfvxV4w0ip3JjLV4AXAhdJupF4isinSPri6EWVIvR5wIV1uOh9wBsifUecA/yopOuApwJfoloAmtwE7KkV3C8B/gdVopqbgd+n1r2Y2ZeA/0q1oP3/jOtkfh3Ypiqd5G3sD2/tOAuFh792tiy1FdLeOs/CE4A/NTN/ene2LK5DcLYyxwDvkLQCfBP4xTnPx3Hmiu8QHMdxHMB1CI7jOE6NLwiO4zgO4AuC4ziOU+MLguM4jgP4guA4juPU+ILgOI7jAPB/AYs875TArab+AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Exposure is almost constant accross the field of view\n", "exposure.slice_by_idx({\"energy\": 0}).plot(add_cbar=True);" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([3.26723811e+11, 3.26671386e+11, 3.26469134e+11])" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Exposure varies very little with energy at these high energies\n", "energy = [10, 100, 1000] * u.GeV\n", "exposure.get_by_coord({\"skycoord\": gc_pos, \"energy\": energy})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Galactic diffuse background" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Fermi-LAT collaboration provides a galactic diffuse emission model, that can be used as a background model for\n", "Fermi-LAT source analysis.\n", "\n", "Diffuse model maps are very large (100s of MB), so as an example here, we just load one that represents a small cutout for the Galactic center region." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "WcsGeom\n", "\n", "\taxes : lon, lat, energy\n", "\tshape : (88, 48, 30)\n", "\tndim : 3\n", "\tcoordsys : GAL\n", "\tprojection : CAR\n", "\tcenter : 0.0 deg, -0.1 deg\n", "\twidth : 11.0 x 6.0 deg\n", "\n", "MapAxis\n", "\n", "\tname : energy \n", "\tunit : 'MeV' \n", "\tnbins : 30 \n", "\tnode type : center \n", "\tcenter min : 5.8e+01 MeV\n", "\tcenter max : 5.1e+05 MeV\n", "\tinterp : log \n", "\n" ] } ], "source": [ "diffuse_galactic_fermi = Map.read(\n", " \"$GAMMAPY_EXTRA/datasets/fermi_3fhl/gll_iem_v06_cutout.fits\"\n", ")\n", "# Unit is not stored in the file, set it manually\n", "diffuse_galactic_fermi.unit = \"cm-2 s-1 MeV-1 sr-1\"\n", "print(diffuse_galactic_fermi.geom)\n", "print(diffuse_galactic_fermi.geom.axes[0])" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "WcsGeom\n", "\n", "\taxes : lon, lat, energy\n", "\tshape : (100, 80, 4)\n", "\tndim : 3\n", "\tcoordsys : GAL\n", "\tprojection : TAN\n", "\tcenter : 0.0 deg, 0.0 deg\n", "\twidth : 10.0 x 8.0 deg\n", "\n", "MapAxis\n", "\n", "\tname : energy \n", "\tunit : 'GeV' \n", "\tnbins : 4 \n", "\tnode type : center \n", "\tcenter min : 1.7e+01 GeV\n", "\tcenter max : 7.7e+02 GeV\n", "\tinterp : log \n", "\n" ] } ], "source": [ "# Interpolate the diffuse emission model onto the counts geometry\n", "# The resolution of `diffuse_galactic_fermi` is low: bin size = 0.5 deg\n", "# We use ``interp=3`` which means cubic spline interpolation\n", "coord = counts.geom.get_coord()\n", "\n", "data = diffuse_galactic_fermi.interp_by_coord(\n", " {\n", " \"skycoord\": coord.skycoord,\n", " \"energy\": coord[\"energy\"]\n", " * counts.geom.get_axis_by_name(\"energy\").unit,\n", " },\n", " interp=3,\n", ")\n", "diffuse_galactic = WcsNDMap(\n", " exposure.geom, data, unit=diffuse_galactic_fermi.unit\n", ")\n", "\n", "print(diffuse_galactic.geom)\n", "print(diffuse_galactic.geom.axes[0])" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "diffuse_galactic.slice_by_idx({\"energy\": 0}).plot();" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Flux (cm-2 s-1 MeV-1 sr-1)')" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Exposure varies very little with energy at these high energies\n", "energy = np.logspace(1, 3, 10) * u.GeV\n", "dnde = diffuse_galactic.interp_by_coord(\n", " {\"skycoord\": gc_pos, \"energy\": energy}, interp=\"linear\", fill_value=None\n", ")\n", "plt.plot(energy.value, dnde, \"*\")\n", "plt.loglog()\n", "plt.xlabel(\"Energy (GeV)\")\n", "plt.ylabel(\"Flux (cm-2 s-1 MeV-1 sr-1)\")" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "# TODO: show how one can fix the extrapolate to high energy\n", "# by computing and padding an extra plane e.g. at 1e3 TeV\n", "# that corresponds to a linear extrapolation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Isotropic diffuse background\n", "\n", "To load the isotropic diffuse model with Gammapy, use the [gammapy.spectrum.models.TableModel](..\/api/gammapy.spectrum.models.TableModel.rst). We are using `'fill_value': 'extrapolate'` to extrapolate the model above 500 GeV:" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "filename = \"$GAMMAPY_FERMI_LAT_DATA/isodiff/iso_P8R2_SOURCE_V6_v06.txt\"\n", "interp_kwargs = {\"fill_value\": None}\n", "diffuse_iso = TableModel.read_fermi_isotropic_model(\n", " filename=filename, interp_kwargs=interp_kwargs\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can plot the model in the energy range between 50 GeV and 2000 GeV:" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "erange = [50, 2000] * u.GeV\n", "diffuse_iso.plot(erange, flux_unit=\"1 / (cm2 MeV s sr)\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PSF\n", "\n", "Next we will tke a look at the PSF. It was computed using ``gtpsf``, in this case for the Galactic center position. Note that generally for Fermi-LAT, the PSF only varies little within a given regions of the sky, especially at high energies like what we have here. We use the [gammapy.irf.EnergyDependentTablePSF](..\/api/gammapy.irf.EnergyDependentTablePSF.rst) class to load the PSF and use some of it's methods to get some information about it." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "EnergyDependentTablePSF\n", "-----------------------\n", "\n", "Axis info:\n", " rad : size = 300, min = 0.000 deg, max = 9.933 deg\n", " energy : size = 17, min = 10.000 GeV, max = 2000.000 GeV\n", "\n", "Containment info:\n", " 68.0% containment radius at 10 GeV: 0.16 deg\n", " 68.0% containment radius at 100 GeV: 0.10 deg\n", " 95.0% containment radius at 10 GeV: 0.71 deg\n", " 95.0% containment radius at 100 GeV: 0.43 deg\n", "\n" ] } ], "source": [ "psf = EnergyDependentTablePSF.read(\n", " \"$GAMMAPY_FERMI_LAT_DATA/3fhl/allsky/fermi_3fhl_psf_gc.fits.gz\"\n", ")\n", "print(psf)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To get an idea of the size of the PSF we check how the containment radii of the Fermi-LAT PSF vari with energy and different containment fractions:" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(8, 5))\n", "psf.plot_containment_vs_energy(linewidth=2, fractions=[0.68, 0.95])\n", "plt.xlim(50, 2000)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In addition we can check how the actual shape of the PSF varies with energy and compare it against the mean PSF between 50 GeV and 2000 GeV:" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfgAAAFGCAYAAACG6I16AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3Xt8zuX/wPHXdd/3jnZgGLPJaY6zOc3pK1q/nHPOaRQh5VtSKTpI33y/qaRzOlCEUiMVElIpCmGTnBkhOzjtaOx8X78/7u222zYbtt3bvJ/1edyf+/053O/7Vt6fw/W5LqW1RgghhBCVi8HeCQghhBCi5EmBF0IIISohKfBCCCFEJSQFXgghhKiEpMALIYQQlZAUeCGEEKISkgIvhBBCVEJS4IUQQohKyGTvBHIppQzA/wAPIFxrvcTOKQkhhBAVVqmewSulFimlziml9l8V762UOqKUOqaUeiYnPBDwBTKBqNLMSwghhKjsSvsS/WKgd96AUsoIvA/0AVoAoUqpFkBTYLvWeirw71LOSwghhKjUSvUSvdZ6i1Kq/lXhDsAxrfXfAEqpMCxn76eBjJx1sgvbp1LqQeBBgCpVqrRr1qxZCWcthBBClE8REREXtNY1i7OuPe7B+2Ip5rmigI7AO8B7SqmuwJbCNtZaLwAWAAQHB+vw8PBSTFUIIYQoP5RSp4q7rj0KvCogprXWl4EJZZ2MEEIIURnZ4zG5KKBunvd+QIwd8hBCCCEqLXsU+F1AY6VUA6WUIzASWHM9O1BK9VdKLUhKSiqVBIUQQoiKrlQv0SulvgRCgBpKqSjgP1rrhUqpycAPgBFYpLU+cD371Vp/B3wXHBw8saRzFkKIiiQzM5OoqCjS0tLsnYooQc7Ozvj5+eHg4HDD+yjtVvShhcTXAetK87OFEOJWEBUVhbu7O/Xr10epgpo4iYpGa01cXBxRUVE0aNDghvcjXdUKIUQFlpaWRvXq1aW4VyJKKapXr37TV2WkwAshRAUnxb3yKYk/0wpZ4KWRnRBCCHFtFbLAa62/01o/6Onpae9UhBBCiHKpQhZ4IYQQ5YfRaKR169a0bNmSYcOGcfnyZQBmz55NQEAAQUFBtG7dmh07dgAQEhJC06ZNad26Na1bt2blypUF7jc5OZmZM2fSpk0b2rRpw8iRIzlwoPCHrubNm4e/vz9KKS5cuGCNa62ZMmUK/v7+BAUFsXv3buuyJUuW0LhxYxo3bsySJQUPYpqVlcVzzz1H48aNrTnPnj37mr/J/fffz/z5821iq1atom/fvtfcriSVm+Fib8TJ5JOM2zAOpRS5/1j+zflHFR4rNJ5z30OhMCiD7Xp5ts27Xt5tVU5HfYWta1AGDMqAURkxGAwYyHlvMF6J512niPm87wuMGyyvCpXvM4zKiKPREQeDg2UyWl5zYwYlx39CiKK5uLiwZ88eAEaPHs1HH31E586dWbt2Lbt378bJyYkLFy6QkZFh3WbZsmUEBwcXus/4+Hh69+7N+PHj2bZtGy4uLkRERPDAAw/w1ltv0alTp3zbdOnShX79+hESEmITX79+PZGRkURGRrJjxw7+/e9/s2PHDuLj45k1axbh4eEopWjXrh0DBgygWrVqNts///zznDlzhn379uHs7MzFixd54403rvmbhIaG8uqrr/LQQw9ZY2FhYYSGFvhwWamo0AX+UuYlws9KX/SlxaiM+Yq/zYGAwdE2Xoz1XE2uuJhccHVwtcw7uOBqcrW+z311MjpJwyEhrlP9Z74vlf2efPXuYq/btWtX9u7dS/369alRowZOTk4A1KhR47o+88knn2TWrFn06dPHGmvXrh1r1qzhnnvuYcuW/EOWtGnTpsB9rV69mjFjxqCUolOnTiQmJhIbG8uvv/5Kjx498PLyAqBHjx5s2LDBpghfvnyZjz/+mJMnT+Ls7AyAu7s7L774onWdzz//nHfffZeMjAw6duzIBx98QPfu3bn//vuJjY3Fx8eHy5cv89NPP/Hxxx9f1+9wMypkgVdK9Qf6121Ul0W9FmHWZjQarTUajeVfbRsD67z1tZB1c+PW/eYsA2zXKyiWN35VLPc1W2dj1maydXa+92Zttk7WuDkbjbZ5b9ZmzJgxm81F7q+weJY5iyxzFpnmTDKzM8kwZ9jMZ+tssrOzSctOg8yy/TM2KIOl4OcU/bwHBQW9upgsBwqeTp54OXtRzbkaVZ2q4uHoIQcKQpSRrKws1q9fT+/evenZsyf//e9/adKkCd27d2fEiBHccccd1nVHjx6Ni4sLAD///DPVq1e3LktJSeHEiRP06dOHHTt2MHnyZGrUqIGPjw+zZs2ibdu27N69m7Zt2xYrr+joaOrWvdJDup+fH9HR0YXG8zp27Bi33XYb7u7uBe770KFDLF++nK1bt+Lg4MDDDz/MsmXLGDNmDEOGDGHFihU89thjrFmzhjvvvLPQ/ZSGClng8/Zk1752e3unUynlHhBkZOcUfXOm5WDgqgOBTHPO+5x565Sdfz49O520rDQuZ122TJmW19TMVJv3lzMvk2HOICUzhZTMFEi98e9hUiaqOlelmnM1qjlVs75aDwKcq+LlZJnPPSgwGSrk/xZCXNeZdklKTU2ldevWgOUMfsKECTg6OhIREcFvv/3GL7/8wogRI3j11Ve5//77gWtfoj906BDt2rUDYPr06Xz99de4ubnRtm1bXnjhBZo2bcrx48eLXeBzT7ryUkoVGr+WTz/9lHfeeYe4uDi2bdvGzz//TEREBO3bt7f+Ft7e3oDlMv20adN47LHHCAsLY8yYMcXKt6TI32SiQEopTMpkt2KXac4kNSv1mgcBqVm2sUuZl0hKTyIhLYH4tHgS0hO4lHmJC6kXuJB6oegPzeHh6GE9AKjmVI06bnXwdfPF180XP3c/fN18cXVwLcVvL0TFkvcefF5Go5GQkBBCQkIIDAxkyZIl1gJ/LVprjEYjAAaDgdtuuw2Ajh07AnDu3DlatGhR7Pz8/Pw4ffrKKOVRUVHUqVMHPz8/fv31V5v41ffv/f39+eeff7h48SLu7u6MGzeOcePG0bJlS7KzLVdHx44dyyuvvJLvc7t06UJsbCx//fUX27ZtIywsrNg5lwQp8KJccjA44ODogIejx03tJyM7g4S0BBLSc4p+WgKJ6YnW+dxlufOJ6YkkZySTnJHMyeSThe7Xy9kLPzc/m6Lv6+6Ln5sftavUlqsA4pZ35MgRDAYDjRs3BmDPnj3Uq1evWNs2a9aMXbt2AZCdnU1UVBRubm7s2LGDqKgofvnlF5599tli5zJgwADmzZvHyJEj2bFjB56envj4+NCrVy+ee+45EhISANi4cWO+Qu3q6sqECROYPHky8+fPx9nZmezsbGuDwbvuuouBAwfyxBNP4O3tTXx8PBcvXqRevXoopRg+fDhjx46lb9++1nv4ZUX+FhKVmqPRkVpValGrSq1irZ9tziY5I9l6FSAuLY7YlFiiUqKISoki+mI00SnRxKfFE58Wz94Le/Ptw6iM1K5S23IAkFP0fd18qe9ZH/+q/jgaHUv6awpR7qSkpPDoo4+SmJiIyWTC39+fBQsWFGtbDw8PfHx8WL16NXPmzGHw4MHUqFGDPn368NZbb/HJJ5/g6Jj//6N3332X1157jTNnzhAUFETfvn355JNP6Nu3L+vWrcPf3x9XV1c+/fRTALy8vJg5c6b18voLL7xgbXCX1+zZs5k5cyYtW7bE3d0dFxcXxo4dS506dXB0dOSll16iZ8+emM1mHBwceP/9960HM6GhocydO5dXX331Rn/KG6YKugdRUQQHB+vwcGlFL8qWWZs5f/k80SnR1qIflRJF1MUoolOiOXf5nLVh59VMBhONqzamefXmNPdqTvPqzWlSrQkuJpcy/haisjh06BDNmze3dxol7uzZs9x9991Mnz6dIUOGYDKZOHz4MHv27GHkyJH2Tq9MFPRnq5SK0FoX/nxhHhXyDD63FX3zerXgz2WgFJaH1Qt6pfB4odsU9MpNbJvzCqAMYDBYXpUx533Oa+5kfW+89jKb99JSvKwYlMF6VaBtrfyNfDKyM4hJibEcAOQU/aiUKI4lHuNk0kkOxR/iUPwhm/019GxoLfjNvZrTzKsZbo5uZfm1hChXatWqZb1kPmfOHAwGA82bN+c///mPvVOrMCr2GXwdow5/UP4StFCFHAAUdjCRc/BgdACjo+XVkDtvsrwaHHKW58QNpivr2qxfnHVy4g6uOZMLOFa58t5wa3SqcznzMkcSjnAw7iAH4w5yKP4Qfyf+TbbOzrduPY96NkW/uVdzqjpXtUPWojyrrGfw4hY9g7dyrQ6thoDWWB5oL+Yr5MxzE9vq698HgDZbJnPOq87OeZ995X2hy8z5182NoS3vs/MXigrB5Gwp9I5VLMW/WPNVwNHVdt65KrhUA1cvy7rl7MqGq4Mrbbzb0Mb7SoccaVlpRCZEcij+kLXoRyZEcir5FKeST7Hh5Abruk2rNeVfvv+iS50utPFuI/fzhRCFqtAFPtW1Dvvb/g8Ag+FKF7GW95YzQgeTCYPBcOVqfe6l8jwd0iilUCr3Nbdb2Zz1r9ruyntsZgpbnveZSpWzXCmF0aAwKDDkfLZBqZzpBoYJ1DkHEQUdLBR6MJFtec3OhOwMMGfmzOe+z7K85sbMmbbvr7lObvzqdTIgMxUyL0PGZctr7pSVZplS46/vu1+L0RFcvK4UfJdq4FK1gNhV7x3K9n64s8mZwJqBBNYMtMYyszM5nnScQ3FXiv7h+MMcSTjCkYQjfLr/U1xMLrSv3Z5/1bEU/Hoe9aRTHyGEVYW+RK+UKjL52mPfxqm2f774xT0biP9hXnE+JffDrBGvng/j3rp3vjUzzh4n9rOncnOz3d46a7knr6z31S2X1qu0uAOvuyZaPypvsT81/6GcuMGyX4PhyrwyoAwq570BlbvMoHCt4UfzYU9izHsQYbC8Hlr9IalxsRhNDhhNJowmEyaTCaPRhMnBAZPRaHk1OWByMGEyOeBgsizrNnA0jg4OmIwKk0FhMhpwMCpiT0SSeD4WR0cHHB0ccLK+OuLkaMLJ0Qn3Ki54uFfB070KVd2r4O7ijIuDAScyMGSlQsalnIOASzkHAXnnL+c/OLCZvwRpSXA5HlITIOsGe8gxudgWfI864OkHHr7gWdcy7+kLzmU7mmF6djq7z+5mW8w2tsZsJTIh0ma5r5svnet0pkudLnT06Yi7Y9n1mCXsRy7RV1639iX6YvDxdMbNy9IpyZUua+GMq4ninStedUkfcHc2UdPdKU/IMnMpyUhsdmberYra6xVZaSh15WQ8W2uyc9bMuHA63/bFcfliMsfOpRS4LHb/TjLOHLuh/e716IgyGPPF4zZ+QMqf665vZ8qAMjngPfwlPOsH4OxgxNnBYHk1GUk5eYRTv32Do6MTjs7OODk54+zsgrOLM87Ozri4VMPVxRdXVxfcqrhSraoH3nW9qFXDi0a+NajrYcTNnIxjRpLl6kBqwpUDgNR4SE20fX853nJgcDEVLsZcO3cnjzyF38928vC1TKaSu4TuZHSic53OdK7TmSd5knOXz7EtZhvborexPXY70SnRrDy6kpVHV2JURoJqBlnP7ltUb4GxgD8zIUTlVekL/Cdj2xfYneH8+ZFM+vbG9vlc3+Y8+GD3fPHw8Gq0/+jG9jmqY30+euVuS5/1GsxaY9aQbTbjOufG9tmktgdfP9HNsi+zZZ+5+x6x1pUjZ25sv0/0aEa21mRma7LNZjKzNVlmM9+FO5P/qfAiaDM6Mx1lNJKeZSY9y0xSnhPvi0cjif/z1xvKs2rIODw73gOAk8mAh0sVPJw9cUivxqGv38bVzR13dw88qjaiqqcnXtWqUr1aVWp5uuDj6YCPm4E6VTT1XFJxuBQLSVGWKTna8pqeDOcOWqYCKXCrZTnb9/SDag3AuwV4N4eaTcHkdEPfK5e3qzeD/AcxyH8Q2eZsDsUfspzdR29l7/m9/HnuT/489yfv73mfak7V6Fm/J4P8BxFQPUAu5YsSZTQaCQwMJCsri+bNm7NkyRJcXV2ZPXs2X3zxBUajZWTL+fPn07FjR0JCQoiNjbX2Rf/8888zdOjQfPtNTk5m7ty5rF27FoCmTZsyc+ZMAgICCsxjwoQJhIeHo7WmSZMmLF68GDc3N9LT0xkzZgwRERFUr16d5cuXU79+fQBeeeUVFi5ciNFo5N1336VXr1759puSksK0adPYuHEjHh4eGAwGJk2axMSJEwv9TUJCQnj22Wdt9vf2229z9OhRPvjgg2L/tjejQhb43MfklFI4OTnZDO6S9zVn3Wvtp8C+iIvx+de9TVFy2wzktgcw5Fzaz86+8Vsork4ONKlV8GVaZ9ONfQeTycTjPZoUuCx6tcf1F/gcG6beRZPmAaRlZpOWlU1appm0zGwWL9jPaxuK3r4g3jW8cKviSFJqJulZZs5fTOf8xXTSz5zkzO5fi78jZcDBrRquVWvQKDiEnvf+j1pNHfFzTqeuMY7aXMAr6xxOl2JxvBSTcyAQbbkCkHLGMkVHXLVPI1RvZCn23gE5ry3Aq4Hl6YbrZDQYaVmjJS1rtOTBoAdJyUhhx5kdbIu2XM6PTolm+ZHlLD+ynIaeDRnoP5B+Dfvh7ep93Z8lxNXKy3Cxb731Fh4elt4vp06dyrx583jmmWdYuHAh1apV49ixY4SFhfH000+zfPlyDh48SFhYGAcOHCAmJobu3btz9OhRaze5uR544AEaNmxIZGQkBoOB8+fPs2jRomv+JqGhoYSFhdkU+LCwMObOnVv0D1pCKmSBzzvYzI12dPPQQw/ZjNObZ9/55q9+NRTySFfbtm1JTU295gGH2WwucCqsC0ODwcChQ4cK3S7vlJ2dbfP+WqMWzZ07l/j4eDIzM8nKyrJ5vVbsWgIDA+ndu3e+feTOZ2RkkJaWRlpaGqmpqaSmplr3WaWKKy6ORlwcbf/Hqu5y4wdT/xvWgeHDe6C1Ji3TTHJaJsmpmWzalMWkJdexI20m82IcSRfjOOpVn7id/1y1gita1+P0m1MxOjrj4lkDd6+aVK/RBd8aHtSv7kIjLxPNq2bStmoytdNPoBL+hgtHLdPB1Vd2ZXK2nN3nnunnFn+POtf1RICboxt33XYXd912F1prjiYcZfXx1Xz/9/f8nfQ3b0W8xTu736Fznc4MbDSQO+veibOpbLvRFKXgxVJqF/JiUrFXtedwsbnFXWtNamqq9WRs9erV1uFdhw4dyuTJk9Fas3r1akaOHImTkxMNGjTA39+fnTt30rlzZ+s+jx8/zs6dO/niiy+sf/fXrFmTp59+2rrO3LlzWbFiBenp6QwePJhZs2YxdOhQnn/+edLT03FycuLkyZPExMRw++23X9fvcDMqZIEvTTat3q/zTN1gMJR4X8NKKZo1a1ai+wTLuMclberUqUydOvW6tsnKyiItLc16qe5qgwYNomHDhqSmptocGFw9paWlcfnyZZKTk0lKSiIpKck6opNSynrwUMvDmf3O5hv+jgM6B9B7YABnk9M5m5zGuYuW15iz5/knK4OsrAwuXk7mYuzfxAD7CtiH0akK1WrXpb5vDQJ93fjXbY7c29KAU/xRVHIUxP5lmfJy8oRaLaBuB6h3O9zWsdiN/JRSNPVqynSv6TzR7gm2Rm9lzfE1/HL6F7ZGb2Vr9FbcHdzp1aAXAxsNpFXNVnIJX9yQ8jBc7Lhx41i3bh0tWrTgjTfeAGyHizWZTHh6ehIXF0d0dLTNlYCChos9cOAArVq1KvTEbuPGjURGRrJz50601gwYMIAtW7bQrVs3OnTowIYNGxg4cCBhYWGMGDGiTP/fkgIv7MpkMuHmVnhnRU2aNKFJk4JvCdyoDh06sGLFCpKSkkhMTLQeEBQ0n5CQQFLSlbOX24P8ua9z/Xz7PHjwIAHF7Go6O/0SF04d5sIpCAe+8AvgJdMcnB0MtPSCzu7nCHKMoaH+h4O7d+GrY2jqlkiV9O3wz3bY+o7lCYzagVCvS870L0ur/yI4GBwIqRtCSN0QEtMSWX9yPauPreZA3AFrA716HvUY0GgA/Rv2x8fNp5i/qigXruNMuySVp+FiP/30U7Kzs3n00UdZvnw548aNK9HhYmfPns1XX33FuXPniImJYePGjWzcuJE2bSx9W6SkpBAZGUm3bt2sl+lzC3xRl/VLmhR4ccvx9fVl2LBhxV4/NTWVM2fOEBsba22Yc7ULFy7ccJsOn9saUN3NkQspGYSfhfCzNYAaQBCnFyzDnHYRAA9PTwLqVqWrn6Zr9Xg6pPyJd+xf8EdOgx3vFleKfb0u4H7tAXaqOlcltFkooc1COZZwjDXH17D277WcSj7Fe3++x7w/5/GvOv9iQuAEgmsFy1m9KFR5Gy7WaDQyYsQI5s6dy7hx46zDxfr5+ZGVlUVSUhJeXl6FDiObV4sWLfjrr78wm80YDAZmzJjBjBkzrCcmWmueffbZAm/5Dho0iKlTp7J7925SU1OLPX59SZECL0QRXFxcaNCgAQ0aNCh0nW7dupGRkcG5c+esBwNXTydOnCAyMpLLly/bbDtpwO08/XQPklIzOXHhEn+fT+HEhUscPBHDopziDpCclMT2pCS274fXcmLe1dxpf5szXb0v0bHOXtqdPoD7ro8tC6s3thT7+rdbCr6nb6H5+1fzZ2rwVKa0ncL2mO2sOb6GTf9sYmvMVrbGbKV1zdZMDJpIV9+uUuhFsZT1cLFaa44fP46/vz9aa7777jvr7c0BAwawZMkSOnfuzMqVK/m///s/lFIMGDCAUaNGMXXqVGJiYoiMjKRDhw42+/X39yc4OJjnn3+e//3vfxiNRtLS0qwH87169WLmzJmMHj0aNzc3oqOjcXBwwNvbGzc3N0JCQhg/fjyhoaE39XveCCnwQpQQk8lEnTp18p0B5KW1tv5FcvToUeulPABPFwda161K67qW/uZ37EikqAt65xIu8n3CRb7Pea8UNKzpytBmilfvjIS4SNid06LQpxW0GAjNB0KN/J0/gWW0u65+Xenq15Wk9CS+OPwFyw4tY8/5PTzy8yM0rdaUBwIfoEe9HvJcvbimsh4uVmvN2LFjSU5ORmtNq1at+PDDDwHL43P33Xcf/v7+eHl5ERYWBkBAQADDhw+nRYsWmEwm3n///Xwt6AE++eQTpk2bZt3excWFOXMszy/37NmTQ4cOWRvmubm58fnnn1vbAIWGhjJkyBDrZ5alCt2TnQwXKyqz8PBwXnjhBY4ePcrJkyfJvo5xBtwC7uCu/oO53eEId7oco2XmPpzMlisHZq0x1A6E5gMsBd/72o04L2de5qujX7HkwBLOp54HLAPhjG85nv4N++NgdLjxLyluWmXtyU6Gi735nuykwAtRAWRmZnLkyBF27dplnf766y8yMzMLXL/r2OnoFr04HW/pNciJDLoa9tHXuIPH3/uBtrUVvf1N9PY3Ud+/uaXQtxgItQIKfRwvPTudNcfXsGjfIqJSogCo5VqLcS3HMaTxEBnT3k4qa4EHy7Pwr7zyCps2bbIZLrZRo0b2Tq1M3JIFPrejG39//4mRkZFFri9EZZSWlsbevXvZuXOntegfPnwYrTXbt2+nU6dOXEhJZ88/iew8Gc+mw+fYv3sXZ5dNs9lPsxoGejeyFPs72jTGudVgaDEAfFoXWOyzzFlsOLmBhfsWcizR0t1xNadq3NfiPkY0G4GHo0eZfH9hUZkL/K3ulizwueQMXghbycnJRERE0Llz5wL7ZHh82rO883rhz/O5mCCkvone/kb6tL0N/5BQVPB4qJa/cZRZm/n19K98vPdj9sftB8DNwY0JgRMY02KMDGVbRqTAV15S4KXAC1Fsffv2Zf369cVev1E1RWigI2MG3kXj/k9Ao/+Dqzr80FrzR+wffLLvE3ae2QlAXfe6TG8/nTv87pBW96VMCnzlJQVeCrwQxaa1Zu/evaxfv54NGzawdevWIrsgzrVsiAuhdzRFtX8AWo+yDKV7le0x25mzcw7Hk44D0MW3C0+3f5oGnoU/YihujhT4yksKvBR4IW5YcnIyP//8Mxs2bGD9+vU2nX7kZVCKiKm30dotAQCzyRlD0HBoPxF8gmzWzTRnsvzwcj7Y8wEXMy9iUiZGNx/NpFaTcHMsvNdCcWOkwFdeN1vgC+5cVwhxS/Dw8GDw4MHMnz+fU6dOceDAAV5//XW6d+9u85xxi04hPFVrIRMzprIlOxBDVhrsXgrzu7L+8bZEhM1BZ6YDlu5w721xL2uHrOWexveQrbNZcnAJ/b7tx6pjqzDrGx8LQJRPRqOR1q1b07JlS4YNG2btzGn27NkEBAQQFBRE69at2bFjB2AZSrVp06a0bt2a1q1bs3LlygL3m5yczMyZM2nTpg1t2rRh5MiRHDhwoNA85s2bh7+/P0opLly4YI1rrZkyZQr+/v4EBQWxe/du67IlS5bQuHFjGjduzJIlV0ahioiIIDAwEH9/f6ZMmVJoL5Wff/45QUFBBAQE0KpVKx544AESExMLzXHx4sX5Or25cOECNWvWJD09vdDtbohl/PGKObVr104LIUpHYmKi/uSTT3S3bt30ihUrtNls1uEn4/T0r/7SfWcu1AtnDNeJM2vpJtUNGtDNvR30KxN66Ogje2z2s//Cfj36+9G65eKWuuXiljp0bajee26vnb5V5XPw4EF7p6CrVKlinR81apR+44039LZt23SnTp10Wlqa1lrr8+fP6+joaK211nfccYfetWvXNfcZFxen27dvrz/88EN9+fJlrbXW4eHhulOnTnr79u0FbrN792594sQJXa9ePX3+/Hlr/Pvvv9e9e/fWZrNZb9++XXfo0MH6GQ0aNNBxcXE6Pj5eN2jQQMfHx2uttW7fvr3etm2bNpvNunfv3nrdunX5Pm/9+vW6bdu2OioqSmutdVZWll64cKE+fPhwod8rKSlJV69eXV+6dMka+/DDD/X48ePzrVvQny0QrotZI6UnOyFEgTw9PZkwYQITJkywxtrV86JdPS8uD2jBun09Gbl8DUfjHgHg0LlMnl34Iy8sbk3o/wUxffYHBLTvQkD1AD7r8xnfn/ieN8PfZN+FfYxaN4q+m41fAAAgAElEQVRB/oN4rO1j1HC5vmFEReEClwSWyn73jS1oXMSC2XO42NwBX662evVqxowZg1KKTp06kZiYSGxsLL/++is9evTAy8syUFOPHj3YsGEDISEhJCcnW3unGzNmDKtWrbLJBSxXKF5//XV8fS3dQBuNRsaPH29dHhERwdSpU0lJSaFGjRosXrwYHx8funXrxnfffceIESMAyzjxzz///HX9PsUhl+iFENfN1dHE0HZ+NLyU/3JpZjYs/XEvLTvczt2dmrLlR0tHuv0a9uO7wd8xoeUEHAwOrDq2iv7f9mfN8TU3NEiPKH9yh4sNDAykZ8+enD59miZNmvDwww+zefNmm3VHjx5tvUQfFxdns+zq4WLbt29Pnz59GD9+PGlpadbhYosr73CxcGVY2GvF/fz88sWvduDAgUIHkMnMzOTRRx9l5cqVREREMH78eGbMmAFgHWUOICYmhqNHj3LnnXcW+/sUl5zBCyFuWN++fTl9+jTr168vsDX+uh1HWdezH8HN6vLsi68wcOhIHm/3OEMaD2HOrjlsidrCjN9nsOmfTbzQ+QW8nIse8lYU7nrOtEtSeRoutiAFHUBea7jYwuLXsm/fPu677z4uXrzIyy+/TEBAAPv376dHjx6AZdAcHx/L8Mv9+vXj4YcfJjk5mRUrVjB06NAC+8C/WXIGL4S4YXfffTdr1qwhOjqat99+G3//ggexCT98mntG3kuT22ox//13qelQk3n/N4+XuryEm4MbP//zM4NXD2bTP5vK+BuIkpA7XOyePXt47733rA00c4eLnTVrFvPmzePrr78u1v50AcPFenl52QwXmzuYS3EUNizsteJRUVH54lcLCAiwXkkIDAxkz5499OnTh9TUVLTWBAQEWH+Xffv2sXHjRuvv1bt3b7799lvCwsJKbaQ5KfBCiJvm7e3NY489xuHDh/n666/zDbmZ6++YOCZNfozb6nhzITaKgf4D+XrA13So3YH4tHge++UxZm6dSUpGShl/A1HSjhw5Qt6uxG92uNjExESb4WJz748Xx4ABA1i6dKmlU6Y//sDT0xMfHx969erFxo0bSUhIICEhgY0bN9KrVy98fHxwd3fnjz/+QGvN0qVLGThwYL79Pvvsszz11FM2BwOpqZbxH5o2bcr58+fZvn07YLlkn/cJgNDQUN58803Onj1Lp06div1drktxW+OVpwnoDyzw9/cvtKWiEMJ+zGaz3rx5s+7Xr58G8k0h9Y067r8N9T8/vKd1VqbONmfrzw58ptt91k63XNxS9/yqp94Zu9PeX6NCKG+t6HOFh4frzp076+bNm+vAwEA9ePBga8v24rSiDw0N1atWrdLbtm3TwcHBunfv3nrSpEl6yJAhOjIyssBt3nnnHe3r66uNRqP28fHREyZM0Fpb/nt8+OGHdcOGDXXLli1tPnvhwoW6UaNGulGjRnrRokXW+K5du3RAQIBu2LChfuSRR7TZbC7wMxcvXqxbtmypmzdvrjt37qwnTpyoY2JitNZa//nnn7pr1646KChIt2jRQi9YsMC6XWZmpq5Ro4Z++umnC/0NbrYVvXR0I4QoVQcPHuT111/n888/t45+91FofR5qEg/AaSd/nAa+jXeLrvyd+DfP/v4sB+MOAnBfi/uY0mYKzqb8/eoLi8ra0Y0MFysd3QghyrkWLVqwaNEiTpw4wbRp0+jSpQuDPzzAKv/ZROsa1E0/hveKfuz74D6cErMYnjmcSUGTMCojnx38jBFrR3DgQuGdm4jKqVatWmzcuJFdu3bRsWNH2rdvz8svv0z79u3tnVqFIWfwQogypbW2tkiOOX+B/V++QEhcGI4qm8d+zObdbZfoevvt/Hvmw3xx6QtOJp/EqIxMajWJiYETMRpKvrVxRVZZz+CFnMELISqYvI8b1alZg55TPuDokB9Yl9KU+TsuAfDb778zqtcoXFe40tezL9k6m/f3vM8jmx4hMa3wbkCFEFdIgRdC2F3LVu1ZFtuY9Gzb+IqwFbw94m0CtwfilunG1uitcsleiGKSAi+EKBeee+45+vbtmy+ekZHBl/O/5PD0w7hEuBCdEs196+9j5dGV0gOeENcgBV4IUS4EBATw/fff8+OPP9KqVat8yxMTEtn13i4uz7tMypkUZm2fxQvbXiAtK80O2Yq8SmM0ufr169O1a1ebWO5niOKRrmqFEOVK9+7diYiI4PPPP2fGjBn5+gA/EXECxwOOeA/25lvztxyJP8IbIW9Q171uIXsUpS23Jzuw9DH/0Ucf0blzZ9auXcvu3btxcnLiwoULZGRkWLe5Vle1uS5evMjp06epW7cuhw4dKtXvUBnJGbwQotwxGo2MHTuWo0eP8tJLL+Hq6mqzPCMtg6gvo4h6OYo///qTEWtHsPn05kL2dmtRSt3QlNv3+83q2rUrx44dIzY2Nt9ocgV193otw4cPZ/ny5QB8+eWXNl26ZmdnM23aNNq3b09QUBDz588HLAPV3HXXXbRt25bAwEBWr14NwMmTJ2nevDkTJ04kICCAnj17Wnudq6ykwAshyi1XV1dmzJjBvn376N69e77lSceScNjuyMWMi0zeNJn3/nyPbHN2AXsSZaGkRpPLNXToUL755hsAvvvuO/r3729dtnDhQjw9Pdm1axe7du3i448/5sSJEzg7O/Ptt9+ye/dufvnlF5588klrW43IyEgeeeQRDhw4QNWqVYvdN35FJQVeCFHuNWzYkI0bN7Jo0SKqenpY4z5uiplBtzHA514MysCCvQt4+OeHSc5ItmO2t57c0eSCg4O57bbbmDBhAm5ubkRERLBgwQJq1qzJiBEjWLx4sXWbZcuWWQdiqV69eoH79fLyolq1aoSFhdG8eXObKzkbN25k6dKltG7dmo4dOxIXF0dkZCRaa5577jmCgoLo3r070dHRnD17FoAGDRpYR71r164dJ0+eLLXfpDyQe/BCiApBKcW4cePo06cPkx95hK+/+YZ373ZnqNM2orcegfpj2OKyiW0x27h33b28f9f7cl++jOS9B59X7mhyISEhBAYGsmTJEutwscU1YsQIHnnkEZuDA7B0mPTee+/Rq1cvm/jixYs5f/48ERERODg4UL9+fdLSLA0xc28X5OYml+iFEKIcqV27Niu//prt27cz+N1dnPMIwFfFMfvUW4w+7o2Pcz1OJJ1g6GdD+fPcn/ZOt8wVdyCSq6eIiIgSzeNmRpPLa/DgwUyfPj1fIe/VqxcffvihdXyDo0ePcunSJZKSkvD29sbBwYFffvmFU6dO3dwXqcDkDF4IUSHlDrHp/dgW4n94BY+dbzEp80c6HfRlQrInu+btoP+2/nw460P6N+pfxN5ESUtJSeHRRx8lMTERk8mEv78/CxYsuO79uLu78/TTT+eLP/DAA5w8eZK2bduitaZmzZqsWrWK0aNH079/f4KDg2ndujXNmjUria9TIUlf9EKISiE7ajfJX4zj0pm/CfroEgmplr/b3Fu78/ybzzMtZJpNN7mVhfRFX3ndkn3RK6X6K6UWJCUl2TsVIUQ5YfRri+eU3xmxroq1uANc3HORGffMYNR7o0jPTrdjhkKUrQpZ4LXW32mtH/T09LR3KkKIcsTg7M7j/30XTzcXm3hWQhZhj4fRfkx7zqWcs1N2QpStClnghRCiMMOGD+fPvQfo2OaqLk017PtiH806NuP3A7/bJ7lSUpFvtYqClcSfqRR4IUSl06BBA37bsZtnnno837KEgwnc2elO5i6Za4fMSp6zszNxcXFS5CsRrTVxcXE4Ozvf1H6kkZ0QolLbuGED94YO43xiSr5lox8bzdI3l2IwVNxznczMTKKioqzPeovKwdnZGT8/PxwcHGzi19PITgq8EKLSO3PmDPcN689Pv+f/+6J9j/Zs+mYTbm5udshMiOtT6VvRCyHE9ahduzY/bN7BnP8+j8lg+6jcrh930axds0rfq5m49UiBF0LcEgwGA9Nn/o9NP2+ihodtK/uMphnM3TNXBqoRlYoUeCHELaVrSAjhew8R1NgPgH+1cKLOQG++OvoV07ZMk2flRaUhBV4IccupV68e2/48zFMPjGDVYC8+OX8O12z48dSPTPpxEikZ+RvkCVHRSIEXQtySqlSpwtyPw6j5+BaaGWuzNDYWrywz4WfDGbt+HOcunSMxMdHeaQpxw6TACyFubTX8cZu8GZ8aHVgWG0vdzCyOJh6m8/h/EdQ6iEOHDtk7QyFuiBR4IYRwqYbHA6up2nw0n8WcwX17HH+vOM7pU6fp1LkTmzdvtneGQlw3KfBCCAFgdMBtyLvENH6MvYtireHkpGR69OzBF198YcfkhLh+UuCFECKXUjQbOoPQwX1twpkZmYwePZpXX31VuoQVFYYUeCGEyMPBwYEFYWuZ/eyUfMueffZZ/v3vf5OVlWWHzIS4PlLghRDiKkopnnv5HZZ9/B4ORtue7+bPn8/AgQNJSZFH6UT5JgVeCCEKMeqByWxctwYPF5NNfN26ddxxxx2cOXPGTpkJUTQp8EIIcQ0hPfuxbfsu/KpXsYnv3r2bTp06yWN0otySAi+EEEUIaNWanXuP0qpRbZv4qVOn6NatG7t377ZTZkIUTgq8EEIUg0+dOvy+J5KenQNt4hcuXODOO+8kOjraTpkJUTAp8EIIUUxubm58v2U344f1sYn7922OTx0fO2UlRMGkwAshxHUwmUx8svx7nnzoPgC8u3uR3iuFB79/QoabFeWKFHghhLhOSinmfriE1UvfJ6xHVVy1ZkfcJh5Y86gUeVFulJsCr5QKUUr9ppT6SCkVYu98hBDiWpRSDLjvYUIe+Ik58RoXs5nwpN+4/9tJZJmlIxxhf6Va4JVSi5RS55RS+6+K91ZKHVFKHVNKPZMT1kAK4AxElWZeQghRUpRXA0Im/sScBAdczWb2pPzBfV9P4OVXX+bNN9+0d3riFmYqepWbshiYByzNDSiljMD7QA8shXyXUmoN8JvWerNSqhbwJjC6lHMTQogSoTzqcOekTbz6cR+e80hh85ofCfvc8tfepUuXmDlzpp0zFLeiUj2D11pvAeKvCncAjmmt/9ZaZwBhwECttTlneQLgVNg+lVIPKqXClVLh58+fL5W8hRDiurl6ceeknwjZlEXs51dGo3vhhRd48cUXZZAaUebscQ/eFzid530U4KuUGqKUmg98huWsv0Ba6wVa62CtdXDNmjVLOVUhhLgOTu50v/ctnJ2MNuFZs2bxwgsvSJEXZcoeBV4VENNa62+01g9prUdorX8t66SEEKIk3NWrLz//uAlXZ9s7oC+99BIzZsyQIi/KjD0KfBRQN897PyDGDnkIIUSp+FfXbvz8869UuWqQmldeeYVnnnlGirwoE/Yo8LuAxkqpBkopR2AksOZ6dqCU6q+UWpCUlFQqCQohxM3q9K8ubNr0G1VcHGzir732GtOmTZMiL0pdaT8m9yWwHWiqlIpSSk3QWmcBk4EfgEPACq31gevZr9b6O631g56eniWftBBClJAOnTrx6+atuLk62sTfeOMNpk6dKkVelCpVkf8DCw4O1uHh4fZOQwghrml3RAQhd3Th4qV0m/iUKVN4++23UaqgpklC5KeUitBaBxdn3XLTk50QQlRWbdu1Y/OWbXi42T4B/O677zJ9+nQ5kxelQgq8EEKUgTZt27Ll9x14uDvbxF9//XXWrVtnp6xEZVYhC7w0shNCVEStWrXi96078XR3scaa9K1P917d7ZiVqKwqZIGXRnZCiIoqMDCQXzZvpYqrE/WH1MRhWBUmLB9GpjnT3qmJSqZCFnghhKjI2rRpw7HjJ3ln0HA8zWb+yjrBv1eMkqFmRYmSAi+EEHZQu3ZtBtz7Ho/TEVezmR3ph3ns6/sxW4flEOLmSIEXQgh7UYph4xbxaGYgzmYzmy/v4enVk1i8eDHbtm2zd3aigquQBV4a2QkhKg2lGP3AF0xKbYJJaz7/6jvGjRvH3XffzV9//WXv7EQFViELvDSyE0JUJspgYNxDK/Fdkc6ZL84AkJiYSM+ePTl69KidsxMVVYUs8EIIUdkYjEbaBofaxM6dO0f37t35559/7JSVqMikwAshRDkxa9YsJk+ebBM7ffo0PXr04OzZs3bKSlRUUuCFEKKcUErx7rvvMmbMGJv40aNH6dWrF4mJiXbKTFREUuCFEKIcUUqxaNEiBg4caBP/66+/uPvuu7l06ZKdMhMVTbEKvFLKWyk1WCn1iFJqvFKqg1LKbgcH0opeCFGZGY1GVqxYwZ13/Z9NfNu2bQwePJj09PRCthTiimsWaaXUnUqpH4DvgT6AD9ACeB7Yp5SapZTyKP00bUkreiFEZefo6MjaNd/RvkMHm/iPP/5IaGgoWVlZdspMVBRFnYX3BSZqrdtrrR/UWj+vtX5Kaz0AaAX8CfQo9SyFEOIW5Orqyo8bN9IiIMAm/u233/LQQw/JMLPimq5Z4LXW04AopdTwApZlaa1Xaa2/LrXshBDiFufp6cmvv/xCg4YNbeKLFi3iP//5j52yEhVBkffRtdZm4NEyyEUIIUQBatasyZbNm/GpU8cmfjrmhJzFi0IVt6HcRqXUU0qpukopr9ypVDMTQghh5efnxy+bNuGR0/ao1tBanO28n+TUeDtnJsorVZyjP6XUiQLCWmvdsIB4mQkODtbh4eH2TEEIIcrUH3/8wRffruCk/3pOOJporquwOPQnXJ3c7J2aKANKqQitdXCx1q2Il3eUUv2B/v7+/hMjIyPtnY4QQpS5Rd8s5sv41zjjYKS9oQbzR/2Ag9HR3mmJUnY9Bb64z8EPU0q558w/r5T6RinV5maSvBnymJwQ4lY3bvBY7nYcR9XsbHaZLzD9q3swazOZmZn2Tk2UE8W9Bz9Ta31RKXU70AtYAnxUemkJIYS4FqUUj977FL0z++NiNvNT+kkGTupMx44dSU5Otnd6ohwoboHPznm9G/hQa70akGtBQghhR0aD4snxL9PzYmfOrzzD2gU7+fPPPxk+fLh0hCOKXeCjlVLzgeHAOqWU03VsK4QQopQ4OxjxzArk7NoL1tgPP/zAo48+Ko/Q3eKKW6SHAz8AvbXWiYAXMK3UshJCCFFsj0yaSOu27WxiH330EW+99ZadMhLlQbEKvNb6stb6G611ZM77WK31xtJNTQghRHG4urqy/vu1+Pj62cSfeuopVq1aZaeshL3JZXYhhKgEateuzcYN66niduV5eK01o0aFIv2F3JqkwAshRCXRsmVLvv3mGwwGozWWmppGv/79+Oeff+yYmbCHooaL/UEp9YRSqllZJVQcMh68EEIUrEePHnz00Yc2sbNnznL33X3l8blbTFFn8GOBBOBFpdRupdSHSqmBSim79okoHd0IIUThJk6cyFNPPWUT27//ACNHjiQ7O7uQrURlU9RwsWe01ou11iOBYGAp0A74QSn1k1JqelkkKYQQ4vrMmTOHQYOH2MTWr1/Ps88+a6eMRFkr9j14rbVZa71da/2C1roLMBKILr3UhBBC3CiDwcCyzz+jTTvbbsvnzp3LZ599ZqesRFm64UZ2WusLWutlJZmMEEKIkuPq6sraNavxru1jE9/821o7ZSTKkrSiF0KISqxOnTqsXbMaB0cnDEZFnfvr8E+ng8QnFDQKuKhMpMALIUQl1759e5Z9/hmPz/mQDp2qEWuER1cNIyPjsr1TE6Xohgu8UmpcSSYihBCi9AwbNozXpz5IM5eZ1Mwys9eQzvMrB6LNZnunJkrJzZzBzyqxLIQQQpQ6pRT/CR1K08v34mI2sz7zDAvWTbR3WqKUFNXRzd5Cpn1ArTLKUQghRAlxdjAy6/4nCIrrgtKa9y7sYPITg1i3bp29UxMlTF1rOEGl1FmgF5bObmwWAdu01nVKMbciBQcHa+ljWQghrt/+6CReXzacNd/vImFLAm5uruzaFUGzZuWq41JxFaVUhNY6uOg1i75EvxZw01qfumo6Cfx6k3neMOmqVgghbk7z2m6EL08iYYvl/C0l5TL97u5DQsLV53OioiqqJ7sJWuvfC1k2qnRSKpp0VSuEEDfHaDQy4d4RNrHjf59k5IhhZGVl2SkrUZKKugdfZJ/z9u6XXgghxI15/PHHGTv2fpvYxh9/5unp0gt5ZVDUJfrVSqk3lFLdlFJVcoNKqYZKqQlKqR+A3qWbohBCiNKglGL+/I/o2KmTTfzNt95i8eLF9klKlJiiLtHfBfwMPAQcUEolKaXigM+B2sBYrfXK0k9TCCFEaXBycmLVt9/iU8fXJv7ggw+wfft2O2UlSsI1W9GXd9KKXgghSkZERARdutxOenqaNeZdsxp7/jqAj4/PNbYUZakkW9ELIYS4BbRr145PP11kEzt3PoEhg/qRkZFhp6zEzZACL4QQAoDQ0FCeeeYZm9gfO3fz+JTJdspI3Awp8EIIIaxeeuklevToYRP7cP7HLP70UztlJG5UUY/JDckzX6300xFCCGFPRqORL7/8ktvq1bOJP/TQRKKiouyUlbgRRZ3BP59n/ufSTEQIIUT5UL16dVavWoWTszMAylFx2/21yTr3o50zE9ejqAKvCpkXQghRibVu3ZpPPv6YWr630fmJNjh3qcaU3a9x8fROe6cmiqmoAu+ilGqjlGoHOOfMt82dyiJBIYQQ9nHvvfdyIvIwvW5fgHe6AyccTDyzfjzmi2ftnZoohqJGk/sVKGwFrbX+v9JIqrjkOXghhCh92WbNfYtW8bfhBS4Z4dFsDx4c8wuYHO2d2i3nep6DN11rodY6pEQyEkIIUWEZDYoPRt3N8PlHuFztc+YZkmixahxNur6Jd61a9k5PFKKoVvTtlVK187wfo5RarZR6VynlVfrpCSGEKA+qujrybujDVE8IJjtDM3juWjq0C5DhZcuxou7BzwcyAJRS3YBXgaVAErCgdFMrnIwHL4QQZa9ZbQ9GNZnIqVmnuLAzmVPRcYwa3Buz2Wzv1EQBiirwRq11fM78CGCB1vprrfVMwL90UyucjAcvhBD2cfCnlVyKuWR9v2HzTl6c/pgdMxKFKbLAK6Vy79PfBWzKs+ya9++FEEJUPq+++iodOna0if3vjXms/upLO2UkClNUgf8S2KyUWg2kAr8BKKX8sVymF0IIcQtxcnLi65UrqVnT2yZ+79gxHDt61E5ZiYIUNR78bOBJYDFwu77yTJ0BeLR0UxNCCFEe+fn5sXLlV5hMVy7kpqRmMbjvHaSmptoxM5FXUa3onYFOWC7P35t7uV5rfVRrvbsM8hNCCFEOdevWjddff90mtv/4GR4dO6SQLURZK+oS/RIgGNgH9AHeKPWMhBBCVAhTpkxh2LBhNrGFX21g6QevF7KFKEtF9WS3T2sdmDNvAnZqrctNF7XSk50QQthXcnIy7YKDORYZaY05ORgI37Gdlm062DGzyul6erIr6gw+M3dGa511U1kJIYSodDw8PPh65Uqcc0aeA0jPNDOoX3cuJifbMTNRVIFvpZRKzpkuAkG580op+ZMTQghBUFAQH3zwgU3seMxFxg++g2tdJRalq6hW9EattUfO5K61NuWZ9yirJIUQQpRv48aNY9y4cTax1b//ReSmZXbKSBR1Bi+EEEIUy7x58wgMDATAyceJev9pxMED/4XEf+yc2a1JCrwQQogS4erqysqVKxk7bgKBT0zH2deZ2e4ORK4IhUx5Pr6sSYEXQghRYpo0acLiRZ/w6aipGJKDSDMYeFLFcfm7x0Dux5cpKfBCCCFKXEvfqkzr+CKm9GqccHTgpZif0Ds/tndatxQp8EIIIUrFvR0a07nqMxjMRr5zr8IXP7/Ivh8+t3datwwp8EIIIUrNm4N7UTVtFGnRaTwwL467ht3PmWP77J3WLUEKvBBCiFLj7GBkMNU5PuskabEZnL+YTeiAO8nOSLd3apWeFHghhBCl6nzU3+iMK52h/noojlce7G3HjG4NUuCFEEKUqlmzZnHHHXfYxP6z9Fd++2yOnTK6NUiBF0IIUapMJhPLli2jRo0a1phZw7BHZ3Dh6C47Zla5SYEXQghR6nx9fVm6dKlN7GxSNvfd0xNzWoqdsqrcpMALIYQoE3369GH69Ok2sQ37E3lzUg/pBKcUSIEXQghRZl566SU6depkE3vmsz/YsfQFO2VUeZWrAq+UqqKUilBK9bN3LkIIIUqeg4MDYWFhVK1a1RrLNsM9j79MwoFf7ZdYJVSqBV4ptUgpdU4ptf+qeG+l1BGl1DGl1DN5Fj0NrCjNnIQQQthXvXr1+PTTT21i0YlmxoUORF+Ks1NWlU9pn8EvBmwedlRKGYH3gT5ACyBUKdVCKdUdOAicLeWchBBC2NmgQYOYMmWKTWz1vmQ+eKQ7mM12yqpyKdUCr7XeAsRfFe4AHNNa/621zgDCgIHAnUAnYBQwUSlVYG5KqQeVUuFKqfDz58+XYvZCCCFK02uvvUbbtm1tYm/+uJ+sX16zU0aViz3uwfsCp/O8jwJ8tdYztNaPA18AH2utCzyE01ov0FoHa62Da9asWQbpCiGEKA1OTk4sX74cd3d3AKp2qYrXTH9its+F45vsnF3FZ7LDZ6oCYtbnI7TWi8suFSGEEPbk7+/PokWLiDofzyI2k+ayl+ne1fls5QQcJv0Gnn72TrHCsscZfBRQN897PyDGDnkIIYQoB4YOHcrj/36QV7v9D3NGVQ44OfG2ixlWjIWsDHunV2HZo8DvAhorpRoopRyBkcAaO+QhhBCiHOkb0JC+taaBViz19GBL/H7YOMPeaVVYpf2Y3JfAdqCpUipKKTVBa50FTAZ+AA4BK7TWB65zv/2VUguSkpJKPmkhhBB288rd/aiZNRiAGTVr8PuGBVz64zM7Z1UxKV2BuwcMDg7W4eHh9k5DCCFECYpJvEyvL+8jIWIHZz+L4b6WzixaHwHeze2dmt0ppSK01sHFWbdc9WQnhBBCeJjM1FyfTfTCaLIyNE8Vo/IAABKCSURBVJ/uTuXzp/pC+kV7p1ahSIEXQghR7sRGHrF5/+Dykxz9cIwMSnMdKmSBl3vwQghRebm5ubF8+XKcnZ2tsdQMuGfOGtI2v2vHzCqWClngtdbfaa0f9PT0tHcqQgghSkFQUBDvvPOOTWz/GTNTpz8N//xhp6wqlgpZ4IUQQlR+EydOZMSIETaxD3els/L5eyDlnJ2yqjikwAshhCiXlFIsWLCARo0a2cTHrYjl7w9GQnaWnTKrGKTACyGEKLc8PDxYsWIFjo6O1lhKumb4O1vI2DjLjpmVfxWywEsjOyGEuHW0bduW119/3SYWEZPNM/99DSJ/slNW5V+FLPDSyE4IIW4tkydPZtCgQTaxt/7I4LvZ90KyDGdSkApZ4IUQQtxalFIsWrSIevXq2cTHrDjH6QWj5H58AaTACyGEqBCqVatGWFgYJtOVkc4TUzVLN/wBv75ix8zKJynwQgghKoxOnTrx8ssvA6AcDfhO8MXtbm/47Q04Jvfj8zIVvYoQQghRfjz55JNER0dTs0sQX156m4Vouqal0fabh2DS7+DhY+8Uy4UKeQYvreiFEOLWZTAYePvtt5kxbDyt3AejFUz1rs3F1Dj4//buPc6mev/j+OtjZpgLwy8UcjtURJKUQqcf6Uc3+lXSuJWj3CIKlcs5RI86LjmnqFMkpONW6qAopVy68OsnKVIc+ekk1xAmjJnZ3/PHrMZsP8PM2HvW7D3v5+Mxj8fe37XWd32Y72Pee6211/q++YCux3siMuD1LXoREQF4pd1wEgI12B/rGFmhEvzwCawc43dZRUJEBryIiAhAfFxJXmwzAQIl+aB0HIuTktjwxlj4/iO/S/OdAl5ERCJa4yp16HxxPwJpAe5deJwrJqeyYlwXOLzL79J8pYAXEZGId0tyY34Y9RMHPj1IwEGn2bvZN71rsb4er4AXEZGIt3v3bn7defKL17tSHfc+v4LAyvE+VuUvBbyIiES81q1bM3To0KC297Zm8syfRxfb+eMV8CIiEhVGjx5N8+bNg9qGfXicNRM6wbGDPlXln4gMeN0HLyIip4qNjWXOnDmcd9552W2ZDjrN3M6heQ+Ccz5WV/giMuB1H7yIiJxOtWrVmDFjRlDb//3i6D1hPm7dTH+K8klEBryIiEhu2rZtS//+/YPa5m7M4NWn+8O+LT5VVfgU8CIiEnXGjh3L5Q0vD2rr+/ZhNr+QAhlpPlVVuBTwIiISdeLj45k3dx4JiQnZbUfTIWXyV6Qt+aOPlRUeBbyIiESlunXrMmnipKC29bsDDHl6IvzzA5+qKjwKeBERiVrdu3fn7g53B7W99MUJdkx/AI7s8amqwqGAFxGRqGVmTJk8harVqwJQqkopHupXj6olf4EFvSEQ8LnC8InIgNd98CIiklflypXj9bmv0zqlNbVH1ubdBglsjU3OmnFuzQt+lxc2ERnwug9eRETyo2nTprw3+z2u+931EJNGt/+oiwNYNgp2ful3eWERkQEvIiKSX2bGk81HkRRbhkOldzMosQkE0mH+/ZCW6nd5IaeAFxGRYuP8xPMZ2exPALxf8QCrYqrz6+6t/DJ/gM+VhZ4CXkREipWbat5E6xqtsRIn6HUimaunHqXbkzNxX7/hd2khpYAXEZFixcwYfs1w0j47weZxq/l2XyYLN2cwaXgPOLjd7/JCRgEvIiLFTnJcMjH/UwJ34uQMc4OXHGLthA6Qme5jZaGjgBcRkWInNjaWxW8tplRSqey29ADc87e1HHrnCf8KCyEFvIiIFEu1atXi5akvB7VtO+joMWw8btsqn6oKHQW8iIgUW11TunLnfXcGtb2xKZ3Jj3aAowd8qio0FPAiIlKszXppFpUvqRzU9vDCPayf2AWcy2Wrok8BLyIixVp8fDxLFywlJj4muy0tE+55ZilHVv7Nx8rOTUQGvJ5FLyIiodTg0gY8+dcng9q27A/QZ8Ag3O5vfKrq3ERkwOtZ9CIiEmpDew/l2juuDWqb9XUaMx+7HdKP+VRVwUVkwIuIiITDu6++S3KN5KC2vnO/Z+uMfj5VVHAKeBEREU+5MuWYPWc2VtKy235Nh+HPzYTvlvhYWf4p4EVERHK4temtdHysY/b7yxtczNS2CbiFfeHwTh8ryx8FvIiIyCmmPzGdGjfUoGqvqliPG1kX2xA7dgDe6gmBTL/LyxMFvIiIyClKxpRkyetLKN+sPIHkT3gkph0/u2TY/jF8+qzf5eWJAl5EROQ06pWvx33178PhSLjoQx7J6AmA++gp2LHW5+rOTgEvIiKSiz4N+1AzuSaHM3/ih5qpvJxxC+Yy2f/qvXD8sN/lnZECXkREJBfxsfGMajYKwzhcaikvJrRk9BfJ1Bz9LavGd/K7vDNSwIuIiJzBlRdcSUrdFNKPp7Pn/acY+c4OUk9Ax/FL2Lv85bN34BMFvIiIyFkMuHIACT8lsHPVv7Lbdh5xdOn5EIH923ysLHcKeBERkbNIiktiYs+JVLitQlD7B1vTePqB1pCZ4VNluVPAi4iI5EGzC5vRY1APEi9JDGofufB7Vk560KeqcqeAFxERyaPHmz5Ow0caElPm5NSyAQcd/zSVPV8UrUfZKuBFRETyqGypsoy+eTRVe1YNat+V6ujc6R4yjxadacwjMuA1H7yIiPjlxho3cudtd1LxtopB7R9uSWVcn1t8qur/i8iA13zwIiLip2HXDOOiey4isU7w9fgRf/+Mz+dP9KmqYBEZ8CIiIn6qkFCBx699nGq9qxFbOja7PSMAHXsN4sju7f4V51HAi4iIFEC72u1oUb8FVbpXCWrfdiCDPne3BOd8qiyLAl5ERKQAzIwRTUdwQZMLOO+G84KWzfpkO8tfGeFTZVkU8CIiIgVUpXQVBlw5gEoplUiqlgRAXFwcU9vG02znK/DLj77VpoAXERE5Byl1UmhQuQGVe1ameoPqvDB/GVUbNqNU4FdS5/WEQMCXuhTwIiIi5yCmRAwjm44ksXoiZQeVpVnz8qxr+AT7XDKld33G8U+e96UuBbyIiMg5urT8pXS5tAsOx+jVo+nf9hpeKD0AgJjlo3F7NhV6TQp4ERGREOh7RV8qJVVi0/5NLNj2Bl279eYNdwNxLp2Df+/Gof37CrUeBbyIiEgIJMYlMqzJMAAmrptIUmIqpW4dw6bjFXh45nqaX3UZx44dK7R6FPAiIiIh0rJ6S1pVb8XRjKOM/XwstRLTuWHmcV77Op1vtu+l3x9SCq0WBbyIiEgIDWkyhMTYRJb9axmDRw1mz66d2cumzVvE7FenFUodCngREZEQqpRUiYcaPQRAWts0al9UO2h5z1692LJlS9jrUMCLiIiEWMe6HalXvh4/u59pO7ItpUqVyl72a1oG7W+/hRMnToS1BgW8iIhIiMWUiGFE0xGUsBIsDyxnyFNDgpZv+O57/jhsSC5bh4YCXkREJAzql69Pp7qdyHSZbK6zmbvuuito+TN/+SsrVqwI2/4V8CIiImHSr1E/zk88n437N9JmcBsuvPDC7GXOQceUDhw8eDAs+1bAi4iIhElSXBJDmwwFYNq2aTw35TnMLHv57j37+EP37rgwTC2rgBcREQmjVtVb0aJqC1LTU1mdtJrBgwcHLV+4YAGTJk0K+X4V8CIiImFkZgy9ZigJsQks3b6UNr3a0KhRo6B1Bg0cyJo1a0K6XwW8iIhImFUpXYUHGz4IwISvJvDa7NdITk7OXp6RmUnHzl0IhHBqWQW8iIhIIehcrzO1y9bmxyM/siZ9DdOnT89eVr9iCUbdXIG9h9NCtj8FvIiISCGIKxHHY00eA2DK11P4/U2/Z+DAgXTucAcf9ajIvRW+ZcGMcWQGQvOFuyIT8GZ2qZm9ZGbzzayP3/WIiIiEWrMqzWhRrQVHM47y7LpnGTduHK/NfZP4duMB6HTwJV57f3VI9hXWgDezaWa218w2ntJ+k5ltNrOtZjYEwDn3rXOuN9ABuCqcdYmIiPjl0aseJa5EHIu+X8SmA5swM5KbdGF/lRYk21GqfTacL384cM77CfcR/AzgppwNZhYDvADcDNQDOppZPW9ZO+AT4MMw1yUiIuKL6snV6VqvKwBjPh9DwAXAjPIpL3I8pjStSqzjnVnPcuDI0XPaj4Xj5vqgHZjVBN5xzl3mvW8KPOGca+O9HwrgnPtzjm0WO+duzaW/nkBP7+1lwMbTrRfhygKHonT/oei7oH3kd7v8rJ+Xdc+2TgXg5zzuL9L4OaY1nvO/jcbzmfk5ni92zpXN05rOubD+ADWBjTnetwem5njfFXgeaAFMBCYDffPY99pw1+/HDzAlWvcfir4L2kd+t8vP+nlZ92zrROt4DtXvvSjuO5LGc3620XgO/++9MPYdm7cPDCFlp2lzzrkVwIrCLaXIejuK9x+KvgvaR363y8/6eVnX79+rn/z8t2s8538bjeczi4jxXCRP0eej77XOOX0hT6KCxrNEE41n//lxm9z/Aheb2e/MrCSQAiwqYF9TQleWiO80niWaaDz7LKxH8GY2h6xr6xWAPcBI59wrZnYL8CwQA0xzzj0VtiJERESKobCfohcREZHCV2SeZCciIiKho4AXERGJQgp4ERGRKBS1Aa/JaySamNl/m9nLZrbQzFr7XY/IuTCzWmb2ipnN97uWaFYkAz4/k9TkxmnyGikiQjSeFzjnegDdgHvCWK7IGYVoPG9zzt0f3kqlSH6L3syuB1KBmTkekBMDbAH+C9hB1v30Hcm61e7Uh+R0d87t9SavGQI875ybXVj1i+QUqvHsbTcBmOWcW1dI5YsECfF4nu+ca19YtRc3fjyq9qycc6u8J+Dl1ATY6pzbBmBmc4HbvSfg3ZZLP4uARWa2GFDAiy9CMZ7NzIAxwLsKd/FTqP4+S/gVyVP0ubgQ+DHH+x1e22mZWQszm2hmk4El4S5OJJ/yNZ6Bh4AbgfZm1juchYkUQH7/Ppc3s5eARr89rlxCr0gewefitJPU5LayJq+RIi6/43kiWbMtihRF+R3P+wF9UA2zSDqC3wFUy/G+KrDTp1pEzpXGs0QTjeciKJICPpST1Ij4TeNZoonGcxFUJAPem6RmNVDHzHaY2f3OuQygH7AU+BZ43Tn3jZ91iuSFxrNEE43nyFEkb5MTERGRc1Mkj+BFRETk3CjgRUREopACXkREJAop4EVERKKQAl5ERCQKKeBFRESikAJeJEKZWaaZrTezjWb2tpmVy+f2T5jZYO/1aDO7MQQ1JZjZSm92sVOXzTCzAs0cZmYNzGzGudYnUpwo4EUi1zHn3BXelJ0HgL4F7cg5N8I5tywENXUH3nLOZYagr2zOuQ1AVTOrHsp+RaKZAl4kOqzGm73LzEqb2Ydmts7MNpjZ7b+tZGbDzWyzmS0D6uRozz66NrPtZlbBe32Vma3wXv+nd8ZgvZl9aWZlTlNHZ2Cht76Z2fNmtsmbsvn8HPtr7B3pf2FmS82sstd+tZl9bWarzWy8mW3M0ffbZD0CVUTyQAEvEuG80+GtOPns7+PAHc65K4GWwAQvbBuTFZCNgDuBq/O5q8FAX+fcFcDvgWOn1FESqOWc2+413UHWh4gGQA+gmbdeHDAJaO+cawxMA57ytpkO9HbONQVOPQuw1tuviORBJE0XKyLBEsxsPVAT+AL4wGs34Gkzux4IkHVkfwFZ4fgP59xRADPL72QgnwJ/MbNZZJ2G33HK8grALzneXw/M8U7X7zSzj7z2OsBlwAdmBhAD7PK+Q1DGOfeZt95s4LYc/e0FquSzZpFiS0fwIpHrmHc0XQMoyclr8J2BikBjb/keIN5blpfJJzI4+bfht+1wzo0BHgASgDVmVvfUenKuf4b9GfCN9/2BK5xzDZxzrTn9nOI5xXPKWQMRyZ0CXiTCOecOAf2Bwd7p77LAXudcupm1JOsDAMAq4A7vm+5lgLa5dLkdaOy9vuu3RjOr7Zzb4JwbS9bp8qCAd84dBGLM7LeQXwWkmFmMd429pde+GahoZk29fuPMrL63/REzu9Zb79Tr7ZcAGxGRPFHAi0QB59yXwFdkheIs4CozW0vW0fx33jrrgHnAeuBN4ONcuhsFPGdmHxN8Hfxh75a8r8g6kn73NNu+D1znvf4H8E9gA/AisNKr4wTQHhjr9bUe7/o8cD8wxcxWk3VEfyhH3y2BxWf9zxARQNPFikgImVkjYKBzrmsBty/tnEv1Xg8BKjvnBphZKbI+IFznzT0uImehL9mJSMg45740s+VmFlPAe+FvNbOhZP1t+gHo5rVXB4Yo3EXyTkfwIiIiUUjX4EVERKKQAl5ERCQKKeBFRESikAJeREQkCingRUREotC/ATpapmdHbAxyAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(8, 5))\n", "\n", "for energy in [100, 300, 1000] * u.GeV:\n", " psf_at_energy = psf.table_psf_at_energy(energy)\n", " psf_at_energy.plot_psf_vs_rad(label=\"PSF @ {:.0f}\".format(energy), lw=2)\n", "\n", "erange = [50, 2000] * u.GeV\n", "psf_mean = psf.table_psf_in_energy_band(energy_band=erange, spectral_index=2.3)\n", "psf_mean.plot_psf_vs_rad(label=\"PSF Mean\", lw=4, c=\"k\", ls=\"--\")\n", "\n", "plt.xlim(1e-3, 0.3)\n", "plt.ylim(1e3, 1e6)\n", "plt.legend();" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "# Let's compute a PSF kernel matching the pixel size of our map\n", "psf_kernel = PSFKernel.from_table_psf(psf, counts.geom, max_radius=\"0.5 deg\")" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "psf_kernel.psf_kernel_map.sum_over_axes().plot(stretch=\"log\", add_cbar=True);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Background\n", "\n", "Let's compute a background cube, with predicted number of background events per pixel from the diffuse Galactic and isotropic model components. For this, we use the use the [gammapy.cube.MapEvaluator](..\/api/gammapy.cube.MapEvaluator.rst) to multiply with the exposure and apply the PSF. The Fermi-LAT energy dispersion at high energies is small, we neglect it here." ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Background counts from Galactic diffuse: 13358.972\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "model = SkyDiffuseCube(diffuse_galactic)\n", "\n", "evaluator = MapEvaluator(model=model, exposure=exposure, psf=psf_kernel)\n", "\n", "background_gal = counts.copy(data=evaluator.compute_npred())\n", "background_gal.sum_over_axes().plot()\n", "print(\"Background counts from Galactic diffuse: \", background_gal.data.sum())" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Background counts from isotropic diffuse: 411.5647\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAUEAAAEFCAYAAAB9x1VLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAHJ5JREFUeJzt3Xn0JWV95/H3p38szb62UYEWTEQCczQiiQhMwqBjIHGicUmICQ4aNcmAUZw5Rpk5nmFMTpzEJRnR4ASXjjGbgSOKiDpBTAyKQgdtEUXCJglHjYpAszTd/Z0/qm7/qpu71K1bTy23Pq9z7vnVdqueunV/z32+9VR9SxGBmdlQrWm7AGZmbXIlaGaD5kpwDEkfbLsMqSzrvi3rfsHy7ltX9ks+J/hokjZHxD5tlyOFZd23Zd0vWN5968p+uSVoZoPWm5agpH4U1Mw6KSI0bvpuTRekDn90YPZ3/frVafvuuzq8xx7jh6dZU6JNXGaZeZdNsc6U61Ci2GGlwZikjs+xj7Zvb7sEsG3BMmzbujq8Zcvq8P33rw7feWf299zbC/OnrHOgXwczs0yvWoKjFuBrrnhONnD0k1dnHnjg6vDKnoV3FYfHmfU7kHr+2BZ6xXUVrcyxbNVtpHh/0+ttav116EBTbqY6yzhuXY8Uhh9eHYx7Vodvvjn7e/pf7ph09u2Tt9KHI29mlkyvWoI7zgGOWoCH/Hhh7sGF4WKv+6yTgm23BMv8Ds3TWpxnvVWWLara2qyzDF1Z/7JI0dqsY53b8r+Fk4I8uDqo760OH539KfYZcPvkNfubYWaD5krQzAatV+HwjstgdnSCFEPgQwrDe00YHidVODsrhE3RyVH1N62J0Dn1uppY71Cl6pCpst7CdTE8MH4RZfVD8bK5afxtMbNBcyVoZoPWq3B4x90fO64DnBT27lcY3n30phlrL/N7UCU0rqN3eKRKL/G826jyu9inXuKmttEnqa8/rLN3eFKVVfz/z+qH0neLVS2SmdkycCVoZoPWq3B4ZUdpRwO7F+YWb48rTk/RO1wmLF00DK4SYjbRy9v0+8qqeqqgrCbaC324LW6k7qROVfa9GO8++lbZlZK1m1uCZjZovWoJTldnKyhVa6fO1l/qFlkdv491/sYuQ0tvljrLkLpVOel4VG0hjtv3cftQZyfc5C2bmQ2GK0EzG7SehsMru/ytQxeyuaSSusOkT2EvdOOYpDbPPtYZOo87fnWEyOnC+yF8G8zMJnIlaGaD1qtwuPzDeMaFyV3NWJKqR7jL1wyODKHHtw9mfU6LhqJ19CTPf0tq2frC3xIzGzRXgmY2aL0Kh6tp8mlw86w3RRjc5RC476Fv/RfpPtq22Yu0ouyFzPMqficWvQ2v+vF3S9DMBm0ALcEq6kyNX1XbnSB17GOq1l+Kz7+Jlt4si5ahyZbkpGNQtYVY9vrCOvJ+LrK0mdmScSVoZoO2ROFwFzoFFu0MaTsEnnfZkT6FvdCN0DeFefYrVehcZydKnR0nk7klaGaD5krQzAatp+Hwml3+Tpo/a1pRE9lLFtWlEBgW/8ya/A1e1hC4qlmfR53hch09yen+P90SNLNB62lLsEld6gyZxa2/jFt9i2uipbhovsA1E4bzKU6gYGY2mytBMxu0XoXDZZu3u7xrxvxl6xBJIVUSiUU1GfY2fQy6/gziSZ991TB59PnO2m/fNmdmVitXgmY2aL0Kh5tTx8PZF+0VbvuawK6FwKlD3661BxYtT1vh9LjjNE+IXHd2mupbNDMbBFeCZjZoSxQOz1Of96FHeJZU4XJbD5hf5p7eNrT18PVxisd20d7j+g3h22BmNlFPW4JVEijUud1JUneGdKn1N+82xnHrrxtSP3e4qM7rC+uJ6PzNMLNBcyVoZoPW03C4ii48QW4ZVP2cHPr2V6rnDheNvh/Nd5w0+m2RdISkz0i6SdKNkl6TT3+8pKskXSZp3ybLZGbD1nRLcCvwXyNio6T9gOslfRp4KfBq4InArwEXNVwuMxuoRivBiLgbuDsfvk/STcBhZG3h7fmrZxfxNXF7XIoHpjfxMQ/tVrchSXV726xrCus/5q2dE5R0JPA04FrgZuCDwA+Bl7RVJjMbnlYqwfy83yXAayPiXuBe4KfHLLe56bKZ2XIq1icRsc9ouPFKUNLuZBXghyLi0mnLFgsqqeLTlxftFe5DyNWl2+JShcBtHYeuHv+uJl2tsye56u12WRl2TcJcrE8evXRDJAl4L3BTRLy9yW2bmY3TdEvwZOAsYJOkG/Jp50fEFWXeXC29fluavEUuhaG1vNr+vOdVpbxttR6bzxE4j6Z7hz9H73p/zWyZ9e3nz8ysVkt021ydGVYWzRbThFSdIVV+F6t+Hl34De5CGZpSZl+bDFHnefj66Dv2SNJSmJkNjitBMxu0JQqH+6DrPcLz6sJpgbL69tm2pckEq+O2O8/66zmm/maY2aD1vCXYdB2+aLKERXWpM6SqJrbl3/Z0msgt2Cx/W8xs0FwJmtmglaoEJT1B0rPz4b3yhKgtWsP0oq8psUwd7xmilcJrHqk/Wx+/9nThs69ehpnvkPRK4G+B9+STDgc+MveWzMw6qEy1eQ5Z4oN7ASLim8BjUhbKzKwpZXqHH46ILVkWLJC0G1Axt1+bupqdpM70+l3tEU5lGfZh2cxzK1yV99d/zMus8bOSzgf2kvQfgQ8DH6u9JGZmLShTCb4B+C6wCfgN4Argf6QslJlZU2aGwxGxHfjT/DVAbV8g3QVdyxLT9mfe1vb7dlFylVvh6jBfytKJlaCkTUw59xcRT5lrS2ZmHTStJfjc/O85+d8P5n9/FXggWYmsgmXtEOlCWbtQhpFFy9LXliSkLPvESjAi7gCQdHJEnFyY9QZJ/wj8r2SlMjNrSJmfln0knTIakXQSMPbRdWZmfVPmOsFfB94n6YB8/B7g5emK1LSuXj/YV4vul49HOm099a2ZsPZRWy15SMv0Dl8PPFXS/oAi4oeLFc3MrDtmVoKS3rTLOAAR4XOCZtZ7ZcLhzYXhtWS9xjelKU4KKcKcOm91S/X+RfUpdf4i2v6cu6CdcLUryoTDbyuOS3or8NFkJTIza1CV9Pp7A0+suyA2r2W7NnDZUvz3Veq7PKq2OtMdszLnBIt3jqwA64A3JyuRmVmDyrQEn1sY3gp8OyK2JiqPmVmjyrQxfzci7shf/xIRWyV9cPbb+qxqCvmh6kJ69Vn6UMYu6cPnVU8Zy7z7uOJInlT16Qtt1cysIyZWgpLeKOk+4CmS7s1f9wHfBi5rrIRmZglNrAQj4vcjYj/gDyNi//y1X0QcEhFvbLCMCfShqd+WJk8DpD4OPs71WO7PcVo+wWMi4uvAhyUdv+v8iNiYtGRmZg2Y1jv8OuBVwNvGzAvgtCQlMjNr0LR8gq/KB8+IiIeK8yStTVqqpbWc4UT3+HMenvlS6heV+bZcU3KamVnvTDsn+FjgMLJHbT6N1ap2f7Jb5zqm+i9BfbqUNKGJ1lCVbbiV1m913lbXjcQN084J/ixwNnA48PbC9PuA8xOWycysMdPOCW4ANkh6YURc0mCZzMwaUyaV1iWSfp7szpG1hekDTKrqUK67fGysmpnfHEkXAb8MvJrsxNuLgSckLpeZWSPK/HyeFBEvBX4QERcAzwSOSFssM7NmlKkEH8z/PiDp8cAjwFHpimSTqfCqk7PmWF/U/z9QJp/g5ZIOBP4Q2Eh2t8if1lYCM7MWlekYGWWRvkTS5WSdI8ckLZWZWUPm6lKLiIfz5w5/OFF5plqzpvwDlS2VLmUU6VJZbDHtHceqW60ckEs6XdI3JN0i6Q35tOMkfV7SBkn+RptZY6pWODF7kUeTtAK8CzgDOBb4FUnHkmWs+QXgOuA5FctkneYWm3XTtHuHP8b4yk7AIRW391PALRFxa76NvwKeR9YtGWQ3EHbhJmAzG4hpHSNvrThvmsOAbxXG7wKeAfwx8HHgm8BFFddtZja3afcOfzbB9sa18iIi/omsMtx54eypdi9IUI4xfI2cWXndyAAz3vjTLpI2F0YvjYizoNx1gnW6i53vNjkc+NdJC+eFPAtAUqXzkGZmABGxz7jpTZ+p/hLwJElHSdoDOBP4aMNlMDPbodGWYP7g9nOBT5LFn++LiBurr9G9jcPk4271KZNF5tP5bXOj8YMkfbLqBiPiiog4OiJ+NCJ+r+p6zMzqUOYn9dCIuGc0EhE/AB6TrkhmZs0pUwlul7R+NCLpCVS8WNrMrGvKnBP878DnJI0umflpsucRm5n1XpksMldKOh44kew6v/Mi4t+Sl8wS83WRZjAlHJZ0TP73eGA92fV8/wKsz6eZmfXetJbg68jC3reNmRfAaUlKZGbWoGm3zY3O+50REQ8V50laO+YtLeja7Tpm1jdleoevKTnNzKx3pqXSeixZ1pe9JD2N1eQH+wN7N1A2M7Pkpp0T/FngbLIkB29jtRK8Fzg/bbHG2+7o18xqNu2c4AZgg6QXRsQlDZbJzKwxZc4JPn3MvcO/m7BMLdlWeHVVFF6L6sP+mqVXphI8Y8y9wz+XrkhmZs0pUwmuSNpzNCJpL2DPKcubmfVGmXuH/xz4O0nvJ4vDXg5sSFoqMxuYOns951tXmXuH/0DSJuBZZD3Eb46IyvkEzcy6pFRm6Yj4BPCJxGUxM2tcmczSJ0r6kqT7JW2RtE3SvU0UzswstTIdIxcCv0L2TOC9gFcA70xZKDOzppQNh2+RtBIR24D3S/K9w2a2FMpUgg/kj8e8QdIfAHcDY5/fufxGvU6pnnZW7NXyE9UmS30cbLbluYe1zLfoLLI0xOcCm8kenv7ClIUyM2tKmUtk7sgHHwQuSFucvpvVkhtyS8+tN9tVN1qT01JpbWLKTaoR8ZQkJTIza9C0luBzGyuFmVlLpqXSumPSvG7yo5B3lir07lJI36WyWDPq/z/3xdJmNmi+WNrMBm2gF0s7jGqPP/t+60aPbp18sbSZDVrZi6XX4IulG7a98BqnC6n2p5XPrB/muVj6IXyxtJktmYktQUnPk3ROYfxaSbfmrxc1Uzwzs7SmhcOvBz5aGN8T+EngVOC3EpapA/wktmbMCvnbWpftbLmP07RweI+I+FZh/HMR8T3ge5LcMWJmS2FaS/Cg4khEnFsYXZemOGZmzZpWCV4r6ZW7TpT0G8AX0xWpbima3mWa9IvOb8synAbo6mdr6VS/WmJaOHwe8BFJLwE25tOeTnZu8Plzb8nMrIOmJVD4DnCSpNOA4/LJH4+IqxopmZlZA8pcJ3gV4Iqv11LfqlbH+p10tVvaexh60/yNM7NBK5VAoXtS/Er1+fdgdDJYNa6z2DmyUuN6m+RkDfPrdqttZ/WU1d8MMxs0V4JmNmg9DYeb1IWwsM6QvevPTm7isQBFbgekC4H70bnib4CZDVpjlaCkX5X0lfx1jaSnFuadKWmjpNc2VR4zM2i2JXgb8DP584rfDPzfwrwzyTLUnChp3/KrnHT72rjpqbJXzFrvovO7YNGkq1X3rYnPpuuffSp9+N41o7FzghFRfC7JF4DDC+OjazuCeq/zMDObqq1zgr8OfKIwfilwHXBdRNzXTpHMbIga7x2W9B/IKsFTRtMiYgOwYcyym4vj291yn6GYQWNWg7pvFxI3eevfOH34jCZp8h+nuz3CxfokInbkRE1aCebp+UfpuH4OOBS4GDgjT9A6VbGgkup/9LyZDUaxPilKWglGxLuAdwFIWk8W9p4VETfXv7VFfzX60DLqQhmrXjfZp2sdp22zK8bte1tl7Gbrr2zk2GQ4/CbgEODdkgC2RsQJDW7fzOxRmuwdfgXwiqa2Z2ZWhm+bm8soFJwUBs4KVxedP4+udpLUua0unB5oS9vheYrrbesyX/fB0L45ZmY7cSVoZoM20HB4GcKo1NlWyqxz1umBstsqu72m1mWTtd0TXP9pAH9bzGzQBtASrJJ6vgutirY6SaqoI+di368jXDZ9yDFYz3r9LTGzQXMlaGaD1tNwuO1rpMqEf7NCsrbCv7KnB6qG44uGxqk6S4r82z9Ziv+t7oXARf42mNmguRI0s0HraTg8Mi1l/bzrmBW2TlsmtbZ7O7sQGhelCJOH1h5o4pRSnduY99EO5Q3tyJuZ7cSVoJkNWs/D4aJZTe9UFwzPCvmazBwzz7pSX0C9q0VvsStKcXpg2XqSlyHBaroQuKivR9jMrBa9agmmfdBSmVZU6g6KOluNqVqFi7Zc67jFrq6yzLuNsppoW7R9rWyq7TfT+ityS9DMBs2VoJkNWq/C4fp0tZNkHstw/WKq0Hik7c9lGbXd8VFm+9kyZU+fuSVoZoPmStDMBm0A4XCVkK2OXtqyT6Zr4na9Kj3FTSehHRca9aH3eFn1rffXSVXNzCrpaUtw+y5/J80vo0rLp2l15iYsu2zVzqM6W1+pO07A7QBI35FTR+tvXBnne77wJP4GmNmguRI0s0HraTg8zqwmfdUwbdFOkq5eO9hEsoVUofFInckYipatbdDkdYt1dnw0U+5lO9pmZnNxJWhmg7ZE4fA8xoVpZUK+Ra/tazL3YKpr5OoIjUdShMiQrid5libbFF26Na9/IXCRW4JmNmiuBM1s0HoVDm+r1FKucttc06nnx+lqWv6iRS80TxWyp+pJnqVLIWoqbd/2Vj6LTFluCZrZoPWrJbh1NPRw/ndLYe7DheFZuzWu7i/zezBrmXnmPzJm/qwW1Ty/WbOWnadlVMdvZYrf23nWOe7zrmO9fdJ0S7XO7Y3WVfw/n/T/n1UUj2yllGU92mZmpbgSNLNB61U4vGXU+t2WN31XNhfm7j3hXaM28aT6vkqIW6YjoOzvS5mwdNEwvMqyKdY5r1SdUv7tn0+qMLpKFphiCHx/YfjBwvBDADz8ULk1+ttgZoPmStDMBq1X4fD9o9bvvfdmfw/6YWFuMaxcWxjeI/9bZzhc5/w6Q+syy5XtFa76+9jE72rbPc3LLHUP8qLrL/YCF0Pg7xeG7wEK9cUMPvJmNmiuBM1s0HoVDt91Vz5w8zeyv0cXZh544Oqw9izM2D3/21Y4XOcF0LNC2SZ6dLscJrexrarK9nzX8xyN5qS4QLqoeAV0sfv3ntXBf74ZgDvvLLeVPnxbzMySUUQ/fmkk7Sjo/zk4+7t+/er8ffddHd5jj9Xh3fK27poZ1f2s+fMuO8/6UpVhRHMsu1Ljz2KVz6AP27LJtifqVxmtd2uhIbilcMlgsRNk1AI899bVafcCETG2+e2vjpkNWq/OCR5//PEArDsgGz/gsavz9t5rdXj33VeHV/LTaLNaQ2vmuDmhTKtjntZXlTLMs37Nsd46W4JVPoOq5vnsLJ3tiQLLGLUEC5m8divmxHhgdfDg/bK/Ty10E/zDxo0T193LcNjMbF6TwuHeVIJNkrQ5IvZpuxwpLOu+Let+wfLuW1f2y+cEzWzQXAma2aC5Ehzv0rYLkNCy7tuy7hcs7751Yr98TtDMBs0twZykFUn/JOnyfPw4SZ+XtEFq8mKP+kg6QtJnJN0k6UZJr8mnP17SVZIuk7TvrPV0kaTTJX1D0i2S3pBP68Uxk7RW0hclfTk/Lhfk0z8g6TZJN+Svn8inHyDpY4XlX1ZY13mSNkr65bb2p2jefcvnnZpPu1HSZwvTz8z37bVJCx0RfmWt4dcBfwFcno+/F1gHvBo4ve3yVdynxwHH58P7ATcDxwJvAY4D/hPwm22Xs8J+rQD/DDyRLFfal/P96sUxI7txeN98eHfgWuBE4APAi8Ysfz7wv/PhdWR5o/YA9s2/s7sBl7W9XxX37UDga8D6fPwxhXkfyY/1X43WmeLV2V/LJkk6HPh54OLC5BWyu9e3097DhxcSEXdHxMZ8+D7gJuAwsn3bTn/37aeAWyLi1ojYQvZP8jx6cswiM7rRa/f8Ne28VAD7SRJZxfd9skwCKszvhAr79hLg0oi4M3//dwrzivuX7Hi6Esz8EfB6dk5b8cfAx4FnAp9qo1B1knQk8DSyX+YLgfcAvwn8eXulquww4FuF8bvyab05ZvnplxuA7wCfjohr81m/J+krkt4h7UiHdCHw48C/ApuA10TE9vyHbRNwHfDXDe/CRHPu29HAQZKulnS9pJcWVnUp2b5dl+9rGm03n9t+Ac8F3p0Pn0oeDi/Ti6z1cD3wgrbLUtP+vBi4uDB+FvDOtstVcV8OBD4D/Duy0xcC9gQ2AG/Kl3kR8I583o8BtwH7t132mvbtQuALwD7AocA3gaObLKdbgnAy8AuSbicLq06T1MfW0ViSdgcuAT4UEZ24JKEGdwFHFMYPJ2sl9U5E3ANcTXYO8+7IPAy8nyzsB3gZWcgYEXELWSV4TCsFnkPJfbsLuDIiNkfEvwF/Dzy1yXIOvhKMiDdGxOERcSRwJnBVRPxay8WqRX4O6b3ATRHx9rbLU6MvAU+SdJSkPciO20dbLlNpktZJOjAf3gt4NvB1SY/Lpwl4PvDV/C13As/K5/0I8GTg1l3X2wUV9u0y4N9L2k3S3sAzyM5dN6ZXWWRsbieThYqb8nM0AOdHxBUtlmlhEbFV0rnAJ8k6Q94XETe2XKx5PA7YIGmFrCHyNxFxeX7Z0jqysPEGsnO2AG8GPiBpUz7vd/JWUxfNtW8RcZOkK4GvkJ2Tvzgivjph3Un4YmkzG7TBh8NmNmyuBM1s0FwJmtmguRI0s0FzJWhmg+ZK0MwGzZWg7UTSj0j6C0m35vdyfl7SL854z5GSKl3bJelsSY8vjF8s6diS7z11lPosFUnX5H+PlPSSCu8/W9KF9ZfM6uJK0HbIr+b/CPD3EfHEiHg62d0Yhyfc7NnAjkowIl4REV9LuL25RMRJ+eCRZBlPbMm4ErSi04AtEXHRaEJE3BER74QdraF/yBNdbpR00q4rmLaMpNdL2pQn3HyLpBcBJwAfypNq7pVnEzkhX/70fB1flvR3ZXdC0rOUJcjdJOl9o4wlkm6XdEG+zk2Sjsmnr5P06Xz6eyTdIenQfN4oLdRbyG7vukFZItOdWniSLpd0aj78Mkk35wlCTy4ss07SJZK+lL92zLMWtZ1pwq/uvIDfBt4xZf7ewNp8+ElkKY4gayV9dcYyZwDXAHvn4wfnf68GTihs42qyinEdWbqso4rL71KeU9kl6w+wNn/f0fn4nwGvzYdvB16dD/8X8kw0ZJlM3pgPn06Wv+7QfPz+cdsia8FeWBi/PF/mcWT3+q4jS3z6j6PlyBKgnpIPrye7p7v14z70l+8dtokkvQs4hax1+JNkCTIvVJYafRtZLrhdTVrm2cD7I+IBgIj4/ozNn0gWlt9WcvmRJwO3RcTN+fgG4ByynJGw+nCf64EX5MOnAL+Yb+dKST8oua1xngFcHRHfBZD01+z8GRybnXUAYH9J+0XKXHk2kytBK7oReOFoJCLOycPC6/JJ5wHfJkt1tAZ4aMw6Ji0j5suAPO/yxfdN83D+dxur3/8qWYu3svPppLWF4UnlXgM8MyIerLA9S8TnBK3oKmCtpN8qTNu7MHwAcHdEbCfLTrMyZh2TlvkU8PI8XRKSDs6n30f2/JNdfR74GUlH7bL8LF8HjpT0Y/n4WcBnpywP8Dngl/LtPAc4aMwyu5bzduAnJK2RdASr+fGuBU6VdIiyXI4vLrznU8C5oxEVHjZk7XElaDtEdrLq+WSVz22SvkgWTv5Ovsi7gf8s6QtkId7mMasZu0xEXEmW8++6PK3Xf8uX/wBw0ahjpFCW7wKvAi6V9GUmp49/lqS7Ri+yRwi8DPhwnnpqO3DRhPeOXAA8R9JGsnOXd5NVekVfAbbmnTTnkZ3ru40svf1bgdGzXO4G/idZJf7/RtNzvw2coCzF/NdYTZVlLXIqLRu8vPd4W2R5Cp8J/ElEuJU2ED4naJb11P6NsmcVbwFe2XJ5rEFuCZrZoPmcoJkNmitBMxs0V4JmNmiuBM1s0FwJmtmg/X8tg1FY22IWIQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "model = SkyModel(SkyDiffuseConstant(), diffuse_iso)\n", "\n", "evaluator = MapEvaluator(model=model, exposure=exposure, psf=psf_kernel)\n", "\n", "background_iso = counts.copy(data=evaluator.compute_npred())\n", "background_iso.sum_over_axes().plot()\n", "print(\"Background counts from isotropic diffuse: \", background_iso.data.sum())" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "background = background_gal.copy()\n", "background.data += background_iso.data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Excess and flux\n", "\n", "Let's compute an excess and flux image, by subtracting the background, and summing over the energy axis." ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Excess counts: 1845.4633\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "excess = counts.copy()\n", "excess.data -= background.data\n", "excess.sum_over_axes().smooth(2).plot(\n", " cmap=\"coolwarm\", vmin=-5, vmax=5, add_cbar=True\n", ")\n", "print(\"Excess counts: \", excess.data.sum())" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "flux = excess.copy()\n", "flux.data /= exposure.data\n", "flux.unit = excess.unit / exposure.unit\n", "flux.sum_over_axes().smooth(2).plot(stretch=\"sqrt\", add_cbar=True);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Fit\n", "\n", "Finally, the big finale: let's do a 3D map fit for the source at the Galactic center, to measure it's position and spectrum." ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [], "source": [ "model = SkyModel(\n", " SkyPointSource(\"0 deg\", \"0 deg\"),\n", " PowerLaw(index=2.5, amplitude=\"1e-11 cm-2 s-1 TeV-1\", reference=\"100 GeV\"),\n", ")\n", "fit = MapFit(\n", " model=model,\n", " counts=counts,\n", " exposure=exposure,\n", " background=background,\n", " psf=psf_kernel,\n", ")\n", "result = fit.run()" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "FitResult\n", "\n", "\tbackend : minuit\n", "\tmethod : minuit\n", "\tsuccess : True\n", "\tnfev : 316\n", "\ttotal stat : 20257.21\n", "\tmessage : Optimization terminated successfully.\n", "\n" ] } ], "source": [ "print(result)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercises\n", "\n", "- Fit the position and spectrum of the source [SNR G0.9+0.1](http://gamma-sky.net/#/cat/tev/110).\n", "- Make maps and fit the position and spectrum of the [Crab nebula](http://gamma-sky.net/#/cat/tev/25)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Summary\n", "\n", "In this tutorial you have seen how to work with Fermi-LAT data with Gammapy. You have to use the Fermi ST to prepare the exposure cube and PSF, and then you can use Gammapy for any event or map analysis using the same methods that are used to analyse IACT data.\n", "\n", "This works very well at high energies (here above 10 GeV), where the exposure and PSF is almost constant spatially and only varies a little with energy. It is not expected to give good results for low-energy data, where the Fermi-LAT PSF is very large. If you are interested to help us validate down to what energy Fermi-LAT analysis with Gammapy works well (e.g. by re-computing results from 3FHL or other published analysis results), or to extend the Gammapy capabilities (e.g. to work with energy-dependent multi-resolution maps and PSF), that would be very welcome!" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [], "source": [] } ], "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.6.0" }, "nbsphinx": { "orphan": true }, "toc": { "base_numbering": 1.0, "nav_menu": { "height": "237px", "width": "253px" }, "number_sections": false, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": "block", "toc_window_display": false }, "varInspector": { "cols": { "lenName": 16.0, "lenType": 16.0, "lenVar": 40.0 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }