{ "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.10?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 your $GAMMAPY_DATA.\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": [ "fermi_3fhl_events_selected.fits.gz\r\n", "fermi_3fhl_exposure_cube_hpx.fits.gz\r\n", "fermi_3fhl_psf_gc.fits.gz\r\n", "gll_iem_v06_cutout.fits\r\n", "iso_P8R2_SOURCE_V6_v06.txt\r\n" ] } ], "source": [ "# Check that you have the prepared Fermi-LAT dataset\n", "# We will use diffuse models from here\n", "!ls -1 $GAMMAPY_DATA/fermi_3fhl" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 3, "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": 4, "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_DATA/fermi_3fhl/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": 5, "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": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "events.table.colnames" ] }, { "cell_type": "code", "execution_count": 6, "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": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "events.table[:5][[\"ENERGY\", \"RA\", \"DEC\"]]" ] }, { "cell_type": "code", "execution_count": 7, "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": 8, "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": 9, "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": 10, "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": 11, "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": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "counts.geom.axes[0]" ] }, { "cell_type": "code", "execution_count": 12, "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": 13, "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_DATA/fermi_3fhl/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": 14, "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": 15, "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": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAERCAYAAAB/4wAeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJztnXu8ZFV157+/++gGQQIGkqCotONkFBFB2xE1CQY7STtJyEONjkJGxZiH5iEzk/GRDwaMkwgxmUzUCBqVmDiJKCSEiMoo+BgFbN4PHTW2EieO2JgeBbSlu9f8cU7dPlV379p7nzrnVtW96/v51Oee2q+zzqm6tc9ea6+1ZGY4juM4zoCFaQvgOI7jzBY+MTiO4zhD+MTgOI7jDOETg+M4jjOETwyO4zjOED4xOI7jOEP4xOA4zoZB0tsl3SXptoy2PyLpBkl7JT1rpO4DknZLurw/aaeHTwyO42wk3glsz2x7J/AC4N2BuvOBM7oRafbwicFxnA2DmX0M+EazTNK/qlcA10v6uKRH1W2/ZGa3APsD43wY+NaaCD0FlqYtgOM4zpS5EPgVM/u8pCcBbwZOnbJMU8UnBsdxNiySDgWeAlwsaVC8eXoSzQY+MTiOs5FZAHab2YnTFmSWcBuD4zgbFjP7JrBT0rMBVPG4KYs1deTRVR3H2ShI+h/A04Ajga8BrwE+AvwZcDSwDPy1mZ0r6YnApcARwHeA/2tmj6nH+TjwKOBQ4G7gTDP74NpeTX/4xOA4juMM4aokx3EcZwifGMYg6V3TlqEP1uN1rcdrAr8uZzq4KmkMku41s0OmLUfXrMfrWo/XBH5ds8D27dtt165dWW2vv/76D5pZrmf1zDJ321Ul/RyV0WdludO8iNBxqn5TpB5Yfoz0ymZ97Hi5/rs50Xa5UbYcqI/JOmi7GKkfHDeXgEuNN0t1g4UFWIDl1x+sVy4tra7ftGl1WfM4VDZ6PBhjIXD+krFS9UOyiuV/PEOvbJbHriVVv7gUKBw6rj+NTcvj6+HATVhaXF3WPA6VVd2Wufj4Vw7fzMZYKzdj8+qypoxDZZsD9bFrGXwYEfmXAuNntF1aWlhm39nD16XBGM1vefMbPZCx+c1fTNS/6PeZkF27drFjx3VZbaXFIyc93ywwdyuGTZs22f333z9Upshxql6J+r1UX7VY/UKgPNW2RBYS9UXX3XjzDYMHabhscBwqaw4WGzM11pBciXOF+qXG/8q98NBDR+qbvzmNsQa/RalzJi+27QWkyhtlO++6ny3fN/ItDMlV8mEMHYduRmL8kKzJmzncdufO3WzZcvhog4AAk9Xv3Pktu/vuuydSmW/d+gTbseParLbS8vVmtnWS880Cc7diOOSQQ9i9ezfQ/4phU6B+PawYRsuax3O7YihYEczTioGFxdVl62DFEKzvYcWwdeubY7NIIavCJa1r5m5iaLIw8jd23Hc9HPh6xlYUoUeWUH2sf6gs9I0fqi/4/Rn8GEZ/nwYPlokf+2bb2P9/SJYSWZVZ36SkPngBQz+cgR/rhcQPf+xkwYsNjBWaDJpyxSaOlf4B+aPnbx4rMH5g4kt9cWJthz6MwTc69J/VLC/5j+0Knxgcx3GcFQyfGOaA0eeCLp74c+snpfn8E1odLEbaLo60G61fudbmKiDzYbXZNvWwt5xYBUD4iT60eojJmlzd9FA/9OC6IkBb9U/iiTs4VuJc0dVLSu+WUN+EVFVtrnVB4frQ6mLoZoe+xTGFaWhdnVpRdIFRWRw3DnM5MTiO46wtvmJwHMdxVnBV0oYipWoKlaWOU6qi2CI6ZHYLyRDbYrFSHxkgWyPQ0uBbosoZaDVCBueYLLG2pWXR+uTNCKhKouqfUNvYxSZUOUFDd+BmRncCDXYVRFQ9k15riSF+ZbvXpMrfkvqu6GZikHQQ8DGqDYxLwHvN7DUjbc4CXkylv/o68CIz+3Jd93rgJ+umrzWzv+lEsBH6uIOO4zjrjP2ZryR7gFPN7HHAicB2SSePtLkR2GpmJwDvBc4DkPSTwOPrfk8C/rOkwya7rjA+MTiO44xlYHzOeSVGqrinfrtcv2ykzVVmdl/99hrgmPr4OOCjZrbXzO4FbgZ6Cb8xd6oksXrB2HbhOa6spH+sbWhvRcx1J3fXUeickFalhDQGqZ1CzePlhJ9DGz+E5YQfRMmupSZt7kW7nTgZerXQrqKUn0JQVRRxQGvlZ1Dix5BZHzrn6HHSW2c5UBb6j2i6hobcPJv/OV3QrY1B0iJwPfBI4E1mNs6t+kzgivr4ZuA1kv4IeADwo8AdnQnWYO4mBsdxnLUne2I4UtKOxvsLzezCZgMz2wecKOlw4FJJx5vZbaMDSTod2AqcUvf7UJ086JNUtodP0dM+2g03MbQxZcUIxSpKjRXzUxh8ECnP59QqIvRk3Txu65Sa61tQ0jYly6TG6VR90HcBGgbhxN78lMF2SJgC421odZE0Pkee2FPG65QfQvD8CeN6U/6gZ3MspMVCoD7ksxD7L0tt4ZiE7IlhV26sJDPbLelqKnXQ0MQgaRvwauAUM9vT6PM64HV1m3cDn88VrIQ+7qDjOM46YqBKmtz4LOmoeqWApIOBbcBnR9qcBFwAnGZmdzXKFyV9b318AnAC8KEJLy7IhlsxOI7jlNOZjeFo4KLazrAAvMfMLpd0LrDDzC4DzqfKJX2xqoi0d5rZaVTGlY/XZd8ETjczVyUNGFUBpdQ3KYNxSVnMODwgFUQv1T9mNkuFiMz1MyhRz6TUQ12qekLHJWqxVPiP4Fgp9UzMoDtOqBxhk0HsAgHzUtFLk+efMLxHtD6gauo05MVyoL5EYdsF3YXEMLNbgJMC5Wc3jrdF+n6HamdS78zlxOA4jrO2uOez4ziOs4KHxJgLUiqice1y1Ucl40NarRTqE9pPkTp/bCNNiDbqmUlVTbG2oaisMfljYT1yyXYziPoWKFBfsJNnSJjMXUEpP4C2u4bGjdlsm/RzKAipEf2W5/oplCiHU4FnusInBsdxHGcFXzE4juM4q/CJYe4oURWl2rYZv1nedldRavzQInuoPqE+Ce1aGjpvR6omCG+kSW36CcmVs+mnjawr5TGnrBUBu0jU00IVUxKrpM2uoYl3JQXuS9CRDcL/PaGdSM3jmBtnSjmc+i9piyfqcRzHcVbhK4aZpk0QPRL1Jf1TISuapHZTN79qucbrofqUDbA5fosVRYnxOhQFoeQhtHktIVlDpFYvMVnDS45EmIdQ25TBOWus1BN9D8bhNrklYh/2So6FmG9CKOBd6Cm/eZz6jyzxFuoCtzE4juM4q/CJwXEcxxnCJ4a5po2qqKS+5Pxdkhp3UhtlG1VTzLjcJnrqYmDclMG5bSTZoPokRWvjc6ZPQWpXwKTG4UmNzzE/i2Swl5RxOdS25D8y1b8L3PjsOI7jDOE2BsdxHGcVPjHMPON2JY1rl1NfsnAt2aHUFSGVTbM8ttNnrVRNkPZjGLTtMqlQSu0VTMpT5ByRCH8R29UTHCuhwsoJtTF2/NDNahlSI5SUKOizkEq32WwbUzWFdi2FzpX6j831GirBJwbHcRxnBVclzQXjVgypJ/6S+nF9cki1bbPKiO3dD5VNY0VR0jZlyI71T61Ign4QRUuSTKN0jsF5UuNySKZJjduT1gd9FlJP+RAOohfygo71H5SXeEZ3hU8MjuM4zgq+K8lxHMdZha8YZp6uVEnj+sTaNgkZomN9cnfMxxbsQbkDK/6+U3em6mNtQ2qfVLqDxWbkhcBYRdqPoME1YaRMniBhcI6Vp9RGobZtZWkTUiPkszBsvW8cD8ZaCpRBODVnLIheKiRGqj5k3O4CtzE4juM4q/CJwXEcx1nBVwwzT5voqm1VRc1zdkVsrNDiN6QJSe397zt1Z4nGJEZy19LS6vOH0iWEyppjBX0XYsKWqHdStPJzSPlJ9LTrKVev1zpHQmgHUkphGlI/xc61FiExwCcGx3Ecp4HvSpoLul4xTLqiaEto/NiKok2Og9BDZDRHwch5YvWpFUXzOOQNHZM1ZGhOPcQms8nlGnZj5ZPmOIi1DZ4rVh9YSwYN6akPLmWcjtQr9ZQ/qFekPvQfFcvdEDIuhwzVsZgDIT+JrvAVg+M4jrOC2xgcx3GcVfjEMPN0pUqaJVImvq5Sc6bqh2Rqo75pHC9HVEEDFdGkfgopVdYQJaqWVJ9c9U3WuH3kaygwZCeTX4Q8dFJhLGJB9EI+DyFDc0xtNdou1r/rn7WNt2KY1d9Jx3GcGWJv5ms8kg6SdJ2kmyXdLumcQJuzJN0h6RZJH5b08EbdeXW/z0j675L6CCXrE4PjOM54BiuGnFeSPcCpZvY44ERgu6STR9rcCGw1sxOA9wLnAUh6CvBU4ATgeOCJwCmTXFmMDadKGjdOF8T2S4RURampvkQVtJjQGChR30Y9E6tvowoqia4aupYgsTAQofpUefDDiHyCbbaLlYSsKPkwkqqmgFpMIVVRzLcglI8htYMp1ja0wyk0Vtv/+EnoRpVkZgbcU79drl820uaqxttrgNMHVcBBwCaqm7QMfK0TwUbwFYPjOM5YOl0xIGlR0k3AXcCVZnbtmOZnAlcAmNmngKuAr9avD5rZZ1pcUJK5WzGUeD6HKKkPPeXHmDRsV+haUk/5ofLUiiLWP2S8Do2fs6IIyZLyXG6zOmq9oggGlgs8Uaee4ofGnHB1UvTE30KWkpsdfGKP/ZcNnv5jBudU29CKIPbflKsjmGoGtyMl7Wi8v9DMLmw2MLN9wImSDgculXS8md02OpCk04Gt1OoiSY8EHg0cUze5UtKPmNnHyq4lzZpODJIeCvwF8ANUd/pCM/sTSQ8G/hL4FvB8M7tnzDCO4zhrTPbEsMvMtuY0NLPdkq4GtgNDE4OkbcCrgVPMbE9d/HPANYPfR0lXACcDnU8Ma61K2gv8RzN7NNUFvVTSccBvAL8OvI0D+jTHcZwZYBASo5NdSUfVKwUkHQxsAz470uYk4ALgNDO7q1F1J3CKpCVJy1QriflXJZnZQDeGmX1L0meAh1CtHQdKuuQ6sGvjcwklaqtQv5hZLtcQHVOZtNruXmDDTNWHZGlqL0LhMUq0JyXXmhQ227icOEGWH0PK+DuoL8mnEJI1YQhPhewIGpwhHGYildozlo9hKVGfq+hN/cd3Tad+DEcDF0lapBL4PWZ2uaRzgR1mdhlwPnAocHG9G/VOMzuNaofSqcCttVAfMLO/70qwJlOzMUg6FjgJuBb4HPAu4P8Bz5uWTI7jOGE625V0C9Xv3mj52Y3jbZG++4Bf7kSQBFOZGCQdCrwP+C0z+ybwTeBHpiGL4zhOmo3l+bzmE0OtG3sf8Fdmdklmn3sHx5uXlzlopL5kYZkqSy1Gu/RTCDG0IE9oKkpSc4bGaeMHkdN/ZQdT49u1HNiVlNK+qEC+obGy9WYlu3sS6p0swcbUJ1VFMVVToH8oNWeqPvnNjqmKQt/8kPqo2SZWHyL3vzhcv3PnzqHfDzM7JNE5gIfE6JXaffvPgc+Y2R/l9jOzQwavBx7S4nN1HGdDsmXLlqHfj9YD7d+f91onrPWK4anAGcCttYMHwKvM7P0lg6SMyl0RCh8WWxHkGpdjq5MVn84Cg2zqYTS14gj1i7VL+Q6k5Ep5NjcZrBRSPhPR1dHKkqT5lJ3IepYyCKdom6Gt5BzB8+YapyP1KzcuZHBulsdyKCyNKRsdK+XHkCK1euglbBCYwV5P1NMbZvYJevv0HMdxesCAfetnNZDD3Hk+O47jrC22rtREOWzoiSF3EZtS/0D+Mihl4kvlO8jJhxBiUuN0rm9B8zhkMI4RMjSXqKqKovDl1jdpo9craZtUa7WQD2BpECQvpupKBaYLhakIqW9S6Tyhiv02WlZCqF/oP68HJbP5xOA4juMMMF8xOI7jOE0MNz7POs3oql0RG2+wOI6pf1JjxdRO40jtxEnVx9Q7JecaUDJWCYOHr9QOqpSmR0uxBonUm8n6zF1LMdr4PEwsa4Gfw5AOcXAcC00R2rVUUh9SMU36ZYopbkM7qLrAVwyO4zhOE9+V5DiO4wzjK4a5os2uopK2JWqjlNoptMgtUVGlEumsyFGgHQlREiajJA1o8/9qUrXUAZ+shABLKfXKhC41KfXN6PG4fqnop0W7lgKpO5diTmW5qqASVVLsmx36cU1+8xP1zf6hSLAdscEmhqw7KOnhdeIIJB0s6YH9iuU4jjMjGNV21ZzXOiG5YpD0S8BLgAcB/4oqrdxbgKf3K9p0CD2f5Dzlt3lGGTLLTbhdvc1TeBs/iLUkKl/wZoWewkvqJzVOR57Yx/XPkTXEkJ/Cct74QwbnpnyhFUEq2Euqf+zLsj9Q3/wxHZSXrBJCx10rQjZeSIycf/eXUsU4+iaAmX0e+L4+hXIcx5kZBn4MHkRviD1m9t06kxCSlqgWV47jOBuDdfSjn0POxPBRSa8CDpb0Y8CvAb2kk2tLW+Nyqn9oEZ3aIV0SfbVLUvkSghoFVtf3pVJqI0uT4a33maqctnq3pEE4oWoKjlWQujPYv61aK2Vczv2PmFRx2iSkPsoh1LYPP4kRjA03MeTcwVcAX6fKM/rLwPuB3+lTKMdxnNnBKj+GnNc6IbliMLP9wFvrl+M4zsbCDPZtLONzdGKQdCtjbAlmdkIvEq0hqYVpam9El4l6SlJndsWkaqMu1U5Jn4s2YSCiJ0iomialjaondS0lPhnBsUpSd9JhfVu10ThS4Tt6SPmywVRJ41YMP1X/fWn991313+cD9/UmkeM4zizh0VUPYGZfBpD0VDN7aqPqFZL+F3Bu38K1oc0zSYkpri/jcRuKYrnVx6mVR4lBuKQ+1LYkIGA7b+DIVoGJ/Rwyz98cN6dt9rkKZA2m7gzdl5BvQoy1/C9IrW5KVj8TsMEmhpw7eIikHxq8kfQUoH1SbcdxnHnD/RhWcSbwdknfU7/fDbyoP5Ecx3FmCLN1teMoh5xdSdcDj5N0GCAz+3/9i9UNuWqhmKmqjc9CW7VTKJ1lG7rwM5iUVMrQUFlY+xFT5UwYsmJSsn0HCmSJ1S+lrrX+5i0th+snVo62qW/+iHaZGyEVfiOUZrQDbOOFxMiJlXT2yHsAzGwmbQyO4zids44C5OWQ8xh1b+O1D3gGcGyPMjmO48wWHdkYJB0k6TpJN0u6XdI5gTZnSbpD0i2SPizp4XX5j0q6qfH6jqSf7eFqs1RJbxgR+g+By/oQJpfSvQepHdipspK8CTFapQnNVMlAOndCyk+iD2Lj56qaWoe0CPZJ5TAItC2JeJojQ7C+RerOZm6FpKoqpOQMChI5Hh0nRlv1UUrWGdiV1O121T3AqWZ2j6Rl4BOSrjCzaxptbgS2mtl9kn4VOA94jpldBZwIIOlBwBeAD3UlWJM2d/ABwCO6FsRxHGdm6WjFYBX31G+X65eNtLnKzAa+YtdQpToY5VnAFY12nZJjY2h6QC8CRwGv7UOYtkxqaos935Q8Y3WdfnzVuVoYdPtAsQfTBEWypvbur5QlfAfaku3HUHD+LjO0hWRtEnRGCQWbGz0OniBRH8qx0JbQE38qSF4qN0QHdOzgJmkRuB54JPAmM7t2TPMzgSsC5c8F/qgzoUbI2a76U43jvcDXzGxjmegdx9m4GHB/9k/ekZJ2NN5faGYXDg1ntg84UdLhwKWSjjez20YHknQ6sBU4ZaT8aOCxwAfzL6KMnInh98zsjGaBpHeNljmO46xPilYMu8xsa9aoZrslXQ1sB4YmhjqV8quBU8xsz0jXXwAuNbP7c4UqJWdieEzzTZ2o5wn9iNMtbRbJqdSeKVKhykLpPEso0Sg0CflJpEJmtFUVpXwyJg4I2CpkRcKg2+ZiW/sxTJpmNBAwL+q7kHtdMVVTH6TGT6m9ukywm0lH21UlHQXcX08KBwPbgNePtDkJuADYbmZ3BYb598ArOxEowrjoqq8EBgl6vjkoBr4LXBjr5ziOs67o1sZwNHBRbWdYAN5jZpdLOhfYYWaXAecDhwIX135jd5rZaQCSjgUeCny0K4FCjAui9/vA70v6fTPrdXZyHMeZaTqaGMzsFuCkQPnZjeNtY/p/CXhIJ8KMYdyK4VFm9lmqWevxo/VmdkOvko2hdMFYsmspRRc+DSFSm0+CshRoTyYlNyJqqn/zOBgGI9agS9pEZ02GsShI3Vm0w6mF2mxYyJG/o8c95C7olJI9hT36MXhIjBXOAl4CvCFQZ8CpvUjkOI4za3gQvQoze0l9+Awz+06zTtJBvUqVSepZKPXckHpWKnnuCBmXJyWWG2ESUoHruohLl1wRtKHEMzn1FN7qnJHVRbJtYvWRHWQvcS1DN7jkm537X9Qs6/RbXiBLG8/oDtiAiXpy7uAnM8scx3HWJ56PoULSD1AZOQ6ut08NpuvDqMJiOI7jbAw2WHTVcTaGnwBeQBWno+l6/S2qbaxzSckO6lCfLnwa2tCVcbrNOZtj5QTG69t2nE2Rb0ALS3rOBU4asC+oVkr5X4S+sSlZ2/oDTONDTvlc9JCPYc5WA5IOAb5tZvsl/SDwKKrYSllOceNsDBdR7bd9ppm9rxtxHcdx5oz53JX0MeCHJR0BfBjYATwHeH5O55yw2++T9JNUHtAHNcrPbSWu4zjOvDFnKwaqbJv3SToT+FMzO0/Sjbmdc6KrvoXKpvCjwNuowr1e11baLmmzn6KE1N6ONqqioT0WE67CUzkYkrI02qZCZqTOFfJvKKnvdCfPxDuQEqqmZP/EN2fS8BvhhgX1oYikMbrK55DTNpW6M/UfvxQo6wBjLicGSU+mWiGcWZflhEAC8u7gU8zsF4F/MbNzgCdTuWQ7juNsAKzyY8h5zQ6/SRVP6VIzu13SI4CrcjvnzCDfrv/eJ+nBwN3AlmIxO6Rrc9ekz2KxtkV5rHo22OaOP2lcupxz9MKk3satzpnxCQeD3DXrM/0YQn2ibVNP7yVP4UEBEvVdylKSbyF3dVPIHK4YzOxjVHaGwfsvAr+R2z9nYri8jht+PnAD1W16a6GcjuM4c4r5dtVRzGyQre19ki6nMkA/qlepHMdxZgVjHnclTUS2MQKgThixR9LFwMP6EWk8YvWCs62pKuWzEKKtqqiN0qIkN0KoPpX3IOV7EDKOx+pTURpC2o9g4LyYMKkgdyGSITNK9GYF4TW61KWF1GJNVm5i7BuW2oLRpVE7lzYhO5rHIYNzs7zrRLvz58cwKW2/wa2Vs5K2S/rfkr4g6RV12WMkfUrSRVIfEYIcx3EmYI5CYkj6CUln1rkbmuUvyh2j7Y+wtelUJ6d4E/AM4Djg30s6jiqS62lUThg/3lImx3Gc7rH52ZUk6b9SpQR9LPBhSb/eqH5Z7jjjYiX9PeEJQMD35p5ghH8LfKG2kCPpr4GfoVr7GbCfKQSIj52wD1XRkCpqwu32JfWpXUltfA/a5maYmD78GCZl0nOWpBnNDoPRJOW7MOk9S6myYucoCW+R2rWUUptNwIysBjL4aeAkM9sr6XeBd0t6hJm9nILf1nE2hj9sWTeOhwD/1Hj/FeBJwJ8A/wB8HnhLy7Edx3G6xwz2zY3xecnM9gLUeaV/Griwtgtvyh4kVmFmfeQUDc1YZmY3Uk0QjuM4s8f8rBj+UdIpg99vM9sHnCnp94Bn5g5StCupA77CsNf0McA/pzpJehfw8wCbl5c5si5vsyspFcYiVFYS+qLETWioX6YDWqhPrF+qLBmmIiHfxLK2jX4aPEFo11Js/ERE01zaqo/aJBCKypfrNFZSH3p+K7k/qbapay7ZYRVSoR0o27lzJ5LubTS6xMzOSAgwjIHtb2VWnQbPDhWa2e9I+rPcQdZ6Yvg08K8lbQH+D/Bc4HmpTvUHeQbA9x9xhLF7d69COo6zPtiyZQt33333IZOOMy8LBjMbRKpA0gnAsQz/zl+SM86aTgy1QeRlwAeppve3m9ntaylDk9Su5y53cLfZWd3mgTS22Te1esitzxl/cNzGuD48aOTJOhVmYrRdTtuhfj0Yt1uvLjKXghOHkizxc2j7wbaRoWjd3aJPGjPYv6/TIXtH0tuBE4DbqTb1QLXBp5uJQdKVwLPNbHf9/gjgr83sJ9oIbGbvB97fpq/jOM40mB9N0gonm9lxbTvnrBiOHEwKAGb2L5K+r+0JHcdx5gkz2JuV92ym+JSk48zsjjadcyaG/ZIeZmZ3Akh6OC0d3NaC1CI6N/p8kxw1UK6qqAvjbZs+IVVQm/oSmWL9V87RVlUzqaqnbz+HNVU75WYNifkL5PpEtFVVdamQHdBl0tw85sXG0OAiqsnh/wJ7qG6amdkJOZ1zJoZXA5+QNNi++iPAS9pI6jiOM2+YzaUq6e1UG3Zu5YCNIZuc6KofkPR44GSqWeflZrar9ESO4zjzyhyuGO40s8vadh4XEuNRZvbZelKAA/4GD6tVSze0PWnXtF1MptJ65O7wjtW38WNI0WU60FRE1pKIramorMlOJdFPV8piu5ZC/QOfXB9RUIv7JRxIRtu1psR3oGR3UOi610a9Ez9vx7uS6G5ikHQQVQKdzVS/v+81s9eMtDkLeDGwF/g68CIz+3Jd9zCqFMsPrUX7d2b2pcCpPivp3cDfU6mSqmsxm3hX0llUKqM3BOoMODXnBI7jOHNNt9tV9wCnmtk9kpap1PRXmNk1jTY3AlvN7D5JvwqcBzynrvsL4HVmdqWkQ4mriQ6uz9UMSjr5dlUzG9gRnmFm32nW1bPe3NCXqarNDusu6fSBN/Hg2qXxOduLObWiiJ5sjbyYc/pM6jLeGc3fj1AOg9S6OWWwbmvcHnfOnPKucy+sxgz2djQxmJkB99Rvl+uXjbRp5ma+BjgdoI5EvWRmV9bt7iGCmb1wEjlzvqGfzCxzHMdZl+zfl/fKQdKipJuAu4ArzezaMc3PBK6oj38Q2C3pEkk3Sjq/TmUQOsdFdUrmwfsjaqe3LMbZGH6AKhrqwZJO4sCD92HAA3JP4DiOM89YWQK3IyXtaLy/0MwuHB7P9gEn1j/cl0o63sxuGx1I0unAVuCUumgJ+GHgJOBO4G+AFwB/HpDjhID/2Um5FzHOxvAT9UmPobIzDCaGbwKvyj1Bn5QEBsilbaT63HOlDLNd5q9L2mMTBuNxjj7JAAAajklEQVRQfY6qKRkKo416JXUxqT7B87dUQ4T6laiy2rZdM1I5EtrmQFirVCvdn6dgu+ouM9ua07AOi301sB0YmhgkbaNyFTilTqkMVRDSGxv5bP6WardoaGJYkHSEmf1L3fZBFIRAGmdjuAi4SNIzzex9uQM6juOsJzrelXQUcH89KRwMbANeP9LmJOACYLuZ3dWo+jRwhKSjzOzrVBuAmquTJm8APinpvfUl/ALwulw5c6b5JwR0Vb+XewLHcZy5pg6JkfPK4GjgKkm3UP3QX2lml0s6V9JpdZvzgUOBiyXdJOkyWFFB/SeqlJ23Ui2N3hoU2ewvqPIvfI1qy+vPm9m7ci85Z2nxDDNbUR3Vuqp/B/xO7km6ZnQ2a7vYDjn75/bJqU8taPvQEkwa0bRNxNVYmyLfhhJVUXDX0oSCT5rcIsbKtSS+Da2/DLk6jpQfQkwJ249vQJjcHUwlu5Ymx+jO89nMbqGyEYyWn9043jam/5VUUVNzznUH0FuspEVJmwd6rnr5s7nNyRzHceaOMuPzuiBnYvhLqqXLO6gmzxdRBWiaOrnG55QprS0lJq425+0yyF7IeBwyGMfGCa1ESozX4RVByvBa4LsQ7J/IlJZa8ixFzt/HimSobd9G2jZ+CDFvoLbbNcbRNltdPxjzl49hUnJiJZ1X67OeTvXteK2ZfbB3yRzHcWYBXzGEMbMrOOBk4TiOs6GYw+iqE5GTwe1k4E+BRwObqNZ595rZYT3LlqRvs1gqyF4bWSZOd1nApMbtkv6p4HtFQe7a+CeUpPFM+SGEyoJB/iIqn0nDXzR/hQaPqkWPrCnjcex4XFlfJHcldNSnPWawd2+nQ848OSuGNwLPBS6m8sL7ReCRfQrlOI4zK8xjzudJyVUlfUHSYr2P9h2SPFaS4zgbBlclreY+SZuAmySdB3wVOKRfsaZHl4vUkoALXfk0pHYVpbb+d5kWYOLwHl2myCzZKTTYjVRys2KqrD52GDXVSourDkZIeesMykMRV9eakmwnIfqTe6MZn3Pu5BlU366XAfdSJYh4Zp9COY7jzAoDVVJX0VXngZztql+uD78NnNOvOGV0NYnHnkO69HLumzbOuip4IO/US3sh84k8OU6sf8AzOtQvZfxOrQK6zLHQfCQtGis3g1rM9yC1oghtwQj5PLRdS+d6I5X07xaju3wM88K4sNu3Msbf3syy3LIdx3HmGvdjGOKn1kwKx3GcGcYnhpqGCmnmKfnM2qT57CL0RUo7MPjiLQbKoudqEeWhScqnImU8LjnXxJT4OQT7h/wQCsZJhfRoE4QvRvOD319f95ACO/RvmzIux8qWxrTrmkm3dqTqB9+RbtN9bsTtqslvg6STJX1a0j2Svitpn6RvroVwjuM4s8B+y3utF9zBzXEcZwxdJuqZF9zBbYSSxWynG3UyB4upf5LRTTPPM5VMkqOEdi2NazfaNpU6NNenoU260XFt2hB6DF1IfQtLUm/m9k9FX43JlNrB1GZXUl//hREsOwnPusEd3BzHccZg60xNlEPOxHAG1bT8MuDlzJCDW2h11+WKb1Iv5+TqY8KHnUmNzyGCTrVdMOlSJfnEX+KHsBDv0+zXOshfD14tqdwVyafopkxDWxzG9GlLavXQLAvJVbK6maRdPq5KGqGxO+k7zJiDm+M4Tt9sRBtDdGqV9DOSXtp4f62kL9avZ62NeI7jOFPGQ2IM8dtUu5EGbAaeSGVfeAfw3h7lGkvXk3cqtEWXoS8m3TofI2SUTvkh7GvcyKxdCCNM7SmqK+NwUZC8lKqpJyNoKKCfQqqaSQ2+KWL9Q+PHvIVSsqTGCqma1sYQ7TaGA2wys39qvP+Emd0N3C3Jjc+O42wIzHclDXFE842Zvazx9qh+xHEcx5ktzGMlDXGtpF8ys7c2CyX9MnBdv2KtDX046MdUTbnhJWIpMlPajXFl48rHYX3/M6R270wcsiJ2M0LRUUtSg066nSwRniN5LanoqCn1TAm5e9Pa+jHExhhXFiO1q6k9rko6wMuBv5X0POCGuuwJVLaGn+1bMMdxnFlgI+5KGhdE7y7gKZJOBR5TF/+DmX1kTSRzHMeZBVyVtJp6IpibyaDNYnTS+raUbJRRSjsSKG+qpfr4Yic1Km31Wm0S9QyVt0jNGRwn4dSWI2ebSK5LDfXL0nL1dzGWenNQntoJ1Bcl/z2D45izXa7aK7ZrqR82ovG572+N4zjO3NNVdFVJB0m6TtLNkm6XtMppWNJZku6QdIukD0t6eKNun6Sb6tdl3V7lAdpsX59rStJ1lpC7Uok9OIZWBM3jxUR9avwUqRVF70vpPgy+TaGXEp9s0tJf8M1olS8isboZ+jYtNzsG6kueqLO/uYn6kkwnJSuaNqufbp93jU6d1/YAp5rZPZKWgU9IusLMrmm0uRHYamb3SfpV4DzgOXXdt83sxM6kieArBsdxnHHUNoacV3Koinvqt8v1y0baXGVm99VvrwGO6fBqsvCJwXEcJ0FXEwOApEVJNwF3AVea2bVjmp8JXNF4f5CkHZKukdTb7tC5VCXtj/wdPU7RxmxVEj5jqLxDtc/K+RNqpRC9RU9N0aXeqw1NBfDSQFXU4R1I+mQkIr2GDM7QMDqn8iGE1EslxOTPVfWkfBdKxmqbTLef75NR5MdwpKQdjfcXmtmFQ+NVeW1OlHQ4cKmk483sttGBJJ1OlRztlEbxw8zsnyU9AviIpFvN7B8LLieLNfvPlPT82phyi6RPSnpco+65km6Q9FtrJY/jOE4Og11JOS9gl5ltbbwujI9ru4Grge2jdZK2Aa8GTjOzPY0+/1z//WLd96QOL3WFtVQl7QROMbMTgNcCzRv2XKoAfSdLOnQNZXIcxxlPhzYGSUfVKwUkHQxsAz470uYk4AKqSeGuRvkRkjbXx0cCTwXu6Ooym6yZKsnMmulARw0qg7WjsRYbk0eIzY5tF7QrZQXak9Suozbb4dvQdvfRVFKCDgk7oVoolpQn1bZk3HH10e1mubuOuvwAUmmnJj1/TNWUy9p/2ToMiXE0cJGkRaoLeY+ZXS7pXGCHmV0GnA8cClwsCeBOMzsNeDRwgaT9dd8/MLP5nhhGGDWoXALsAP7SzL41HZEcx3FWY9bddlUzu4WA+sfMzm4cb4v0/STw2G4kGc+aTwySfpRqYvihQZmZXQRcNKbPvYPjzcvLHF4fT2p8zqXtruuh8gIv5zaE+k+abyE1/sT05Ryx8l884VW39a0o+bBX8i3EgvgNnshTBt2+nqJz/Rxi9ZN6KU+2uti5c+fQ74eZtUoZsNFCYvS6JpP00oaX3oMlnQC8DfiZOrdDFmZ2yOB12CGeCsJxnDy2bNky9PvRZoxBEL2utqvOA72uGMzsTcCbACQ9jEpldIaZfa7P8zqO43TJ3mkLsMaspSrpbOB7gTfXBpW9Zra1zxO2mcDbmtBCi+RQDoZohsZEfchG2XeQvDVl6jE5ErROhBEw5Ab9GBr/isnUnTGfgT6JKknX8FzTwehHRT3LrOWupBcDL16r8zmO43SFTwyO4zjOCr5imDP6/rAGi/S2/gyxNJ2zQl+pOye+1knVSkH1TYFvQnY+iMiYKVVTM/xFKHdEctdRSSTTrmje89A51zTASoT+7oVPDI7jOM4Khhuf54LR2Ts2m/dtFisxASbz07cQtks/hVw5Wq8G2hiPu/RsDpG82A5yMKQ8mwfHiq0IQgnuZ3D52Qmze12+YnAcx3FWcBuD4ziOswqfGDYQIePypIvZLsNctGFq+RZKGAi5v+AGlRikUyExJk29mWwbCG/RNFRHw1+sFEaOp8Hgvq5lyI229CerTwyO4zjOCq5KchzHcYbwXUlzwiSz91ouzFPaj1C6z5IxS1RFfUSUCIX0aE2JKijUp43irCQHw6Qkt6Ol1Eepm53yMyihGWM6d6w2feYHXzE4juM4Q/jEMEekPqxU/cQOuo3jwfNS7Mk8VF7ihzCNGHKdrgja0Lcfw9Aqpbl6SPSbNINbsH9sxbJWH0J3KcrSTPuLVYbbGBzHcZxV+MTgOI7jrOArhnVAyQc4aNvXfv+QqihmPA6pikqC3LVRNfWlKhrI0psfRe7FDqmKLFw+CakwF7G2TYIfQtG2gsEJCvp0ybTPvzb4riTHcRxnBV8xOI7jOKvwiWEOyI2uGqoP7SRaitTnnHtcfUpV5HRIG1XRWnwoIf+IZBiMtaSNKqjtbrFp5I6YHF8xOI7jOKvwiWEdEfowm/6ZqYvP9L8FwrvAU8bjUP20Vha95WHoiv2BO7y/4NMcMkSnbvyEZvOg8blLU3zP/h1zRUgf0O2X1UNiOI7jOKvwFYPjOI6zwka0MUxbQTAR+wkbokfL9zVe48YZfaUIjZvqv3//gVeoPEWzvzVeKRYWpqAOil3sWp53rc6/sHjgNVSeuvEL5P0blnwz+x5rgXy5S9rm0uW9KD/juFcKSQdJuk7SzZJul3ROoM1Zku6QdIukD0t6+Ej9YZL+j6Q3TnpdMeZ6YnAcx+mbwYqhi4kB2AOcamaPA04Etks6eaTNjcBWMzsBeC9w3kj9a4GPtriUbHxicBzHSdDVxGAV99Rvl+uXjbS5yszuq99eAxwzqJP0BOD7gQ+1vpgM1oWNIaq2CZRZoD7k2wCNMBaRMRcj5UFZWuxASm2k6YNO1U196a763lUUIpS7oe31FfXL3WkT+5YuBMq6vD+D8RcDZV2Tuhf7EvXt6HpXkqRF4HrgkcCbzOzaMc3PBK6o+y0AbwDOAJ7eoUirWBcTg+M4Tp8UPJcdKWlH4/2FZnZhs4GZ7QNOlHQ4cKmk483sttGBJJ0ObAVOqYt+DXi/mf2T1G9iKZ8YHMdxxlC4K2mXmW3NGtdst6Srge3A0MQgaRvwauAUM9tTFz8Z+GFJvwYcCmySdI+ZvSJfvDzW3cSQqz7qglRqk0nVRylCqqZmWWi30tQd1boklRWp6QCXurElEVFLaKUDLEmT2Y/6ZHYI3YuQqqxfuvrdkHQUcH89KRwMbANeP9LmJOACYLuZ3TUoN7PnN9q8gMpA3fmkAOtwYnAcx+maDh8ojwYuqu0MC8B7zOxySecCO8zsMuB8qhXBxbXK6E4zO607EdLM9cSQNPhm1jefSZYTfVJBGEpCbgz12z++z77AiqCE0IoiZYJcnFpct4CwQ8cB/WqJ8Tm1olhIfQtCMiU++di5FgfHzWsK3fi+n5L71VmXEbvWkPG52VaBssnp0vhsZrcAJwXKz24cb8sY553AOzsSaxVzPTE4juP0zUb0fPaJwXEcJ4FPDDNOaPaO7eAO+SmkPuCUn0PbHeAhVVFIrRPTnoTO26zft0bf3Bx7bCub7ZAqJ3OAmCpn/1KgvqVVP1hff0tiYg6dN9Bo6FrrY8XUI238GEqYNLVolwyuIeYhtBgoC8kfC37THp8YHMdxnBVcleQ4juOswieGOSJXVRT7UAcLzsw9KFmy9LUIH/gkrKsUoUMqlcCdG1IPLaw+br1Fy1b3TzmFtFF1DZ2zy/gmoZ04faXYnCX/iJDPRv8+DZ6ox3Ecx1nFenoey2EuJ4bRlUJJEL2Qz0Jbz+gSP4qQcblJbprPogyVCZp+CjPlET24iBKhSp74Q/VDY9XfiL33HyhryrLSX6vLoueK+AkM6hdDqwAIPyVP48PqOzBe8xzJmAKJ8m7X7W5jcBzHcVbhE4PjOI6zgq8Y5oRxKqQS43PugrVtmIsUJaqirozOk6qMSkJqxAfZt1qY/Y1PIxgRInQzOlQZpNQ/IbXS/oB6CcJG86G2gfqFRv+gT0Nsi0XuPZglXWGKkvAc8xVEb16Yy4nBcRxnrfBdSY7jOM4qfMUwh5TsSgqpj0pCZqSIqadSfgiD8mZoi1D4jLahL6a+6yjkB5DyDUj6OaRCV8TUO6FdSyn1T2rXU8YOpdx6J0Hsy9yfH8NG+5TWxcTgOI7TJz4xzBELI39jlKwomgyeIYee3CPHobYpQg+Oi5H6FCE/iNi5comtXlIc2JofWRGs+ClEDKdt/BhC/WOG2ZUnfltdNlQfWREMDNFD1xRZXQTLEqufxUTbIVJr4HFlkP9fNAuE7kVT7jZe4Hn4xOA4juOs4MbnOWDT5s089vGPBw54LjdjHTUvKFS/KVC/OdJ/cBzqEztvrH7gZbzUeJhZDBwvNTo12y4vr67fvGl1/abN4fpBv1CfZn3znM0H+kF9U+ZmojM1H9IGN6NZNtSxvhmLS5F6rS4LtV0M3KBm2+VGn+bxSv3y+PrQBwQHbtLSptVlMOxSPmgzdH2Ncyl0s0LfwmbZYuB4OVI/KG8+WYe+0THP6pB8ze2kiyPtYvLF2obGSp0rJuvguNtsdG5jmAP27N3LLq1NGsKdO3eyZcuWbgYbrPibjx5Tegzp9LqyCSnhursB07mm/vHrmvg8KXelLDbaxCCzTu7bukTSvWZ2yLTl6Jr1eF3r8ZrAr2sWkPQB4MjM5rvMbHuf8qwFc7dicBzHWUvWww99KfOwFcFxHMdZQ3xiGM8l0xagJ9bjda3HawK/LmcKuI3BcRzHGcJXDI7jOM4QPjGMIGlR0o2SLq/fP0bSpyRdJGnu7pekh0q6StJnJN0u6Tfr8gdL+oikv5N06LTlLEXSdkn/W9IXJL2iLpuLz0rSQZKuk3Rz/ZmcU5e/U9JOSTfVrxPr8u+R9PeN9i9sjPVySTdIes60rqeWo+ia6rqn1WW3S/poo/y59TX91jSuxQHMzF+NF3AW8G7g8vr9nwNHAb8ObJ+2fC2u52jg8fXxA4HPAccBfwA8Bvhp4FemLWfhNS0C/wg8gspb6+b6mubis6LywDq0Pl4GrgVOBt4JPCvQ/lXA6+vjo4Bv1Nd9aP1dXQL+bs6u6XDgDuBh9fvva9T9bf0Z//VgTH+t7Wtmn6qmgaRjgJ8E3tYoXuSA8+PaeNZ1iJl91cxuqI+/BXwGeAjVde1nPq/r3wJfMLMvmtl3qX5AfoY5+ays4p767XL9GmfsM+CBkkQ1GXyDyjtQjfqp0uKangdcYmZ31v3vatQ1r2tmP8f1jE8Mw/w34LcZdnT8E+AfgCcDH5qGUF0h6VjgJKqnuTcCFwC/Avzl9KRqxUOAf2q8/0pdNjefVa2yvAm4C7jSzK6tq14n6RZJfyxpEODkjcCjgX8GbgV+08z21xP9rcAO4G/W+BJWUXhNPwgcIelqSddL+sXGUJdQXdOO+hqdtWbaS5ZZeQE/Bby5Pn4atSppvbyonjSvB35+2rJ0cC3PBt7WeH8G8KfTlqvltRwOXAUcT6X2E1X4rouAs+s2zwL+uK57JLATOGzask94TW8ErgEOofIq/jzwg9OW3V/Vy1cMB3gqcJqkL1GpJk6VNG9P0kEkLQPvA/7KzNbD/vGvAA9tvD+G6ml67jCz3cDVVDaRr1rFHuAdVCozgBdSqV3MzL5ANTE8aioCZ5B5TV8BPmBm95rZLuBjwOOmIrCzCp8YaszslWZ2jJkdCzwX+IiZnT5lsSam1kv/OfAZM/ujacvTEZ8G/rWkLZI2UX1el01ZpmwkHSXp8Pr4YGAb8FlJR9dlAn4WuK3ucifw9Lru+4F/A3xxreUeR4tr+jvghyUtSXoA8CQq+5czA3ispPXPU6lULbfW+l+AV5nZ+6co00SY2V5JLwM+SGVwfruZ3T5lsUo4GrhI0iLVw9l7zOzyevvwUVSql5uo7D8ArwXeKenWuu6/1E/Zs0TRNZnZZ+rgdLdQ2fTeZma3RcZ21hj3fHYcx3GGcFWS4ziOM4RPDI7jOM4QPjE4juM4Q/jE4DiO4wzhE4PjOI4zhE8MjuM4zhA+MThDSPp+Se+W9MU6hs2nJP1cos+xklrtQZf0AkkPbrx/m6TjMvs+bRAevS8kfbL+e6yk57Xo/wJJb+xeMsfpD58YnBVq79S/BT5mZo8wsydQeRUf0+NpXwCsTAxm9mIzu6PH8xVhZk+pD4+ligjqOOsenxicJqcC3zWztwwKzOzLZvansPLU/PE6icoNkp4yOsC4NpJ+W9KtdTKXP5D0LGAr8Fd1wpaD62ibW+v22+sxbpb04dyLkPR0VcmWbpX09kFET0lfknROPeatkh5Vlx8l6cq6/AJJX5Z0ZF03CCX9B1QhHG5SlRxnaCUg6XJJT6uPXyjpc3Xymac22hwl6X2SPl2/VuocZ5bwicFp8hjghjH1dwE/ZmaPB54D/PfcNpKeQRUr50lm9jjgPDN7L1V45eeb2Ylm9u3BIHUYhbcCz6zbPzvnAiQdRJUc5jlm9liqsC+/2miyq5btz4D/VJe9hio21uOBS4GHBYZ+BfDxWs4/HnP+o4FzqCaEH6NKIDTgT4A/NrMnAs9kOO+H48wMHivJiSLpTcAPUa0inkiVfOWNqtIz7qOKqT9KrM024B1mdh+AmX0jcfqTqVRaOzPbD/g3wE4z+1z9/iLgpVS5NqCK9Q91CPL6+IeAn6vP8wFJ/5J5rhBPAq42s68DSPobhu/BcZXGDoDDJD3QPOeAM2P4xOA0uZ3qSRYAM3tprVLZURe9HPgaVXjkBeA7gTFibURZprHS9s1+49hT/93Hge9/myxhexlecR/UOI7JvQA8ubkycpxZxFVJTpOPAAdJaqpeHtA4/h7gq2a2nypi62JgjFibDwEvqkMsI+lBdfm3qHJRj/Ip4BRJW0bap/gscKykR9bvzwA+OqY9wCeAX6jP8+PAEYE2o3J+CThR0oKkh3Igz8C1wNMkfa+qPBhNFdiHgJcN3tSrKseZOXxicFawKtTuz1L9IO+UdB2VKua/1E3eDPwHSddQqUfuDQwTbGNmH6DKmbCjDv890O+/E3jLwPjckOXrwEuASyTdTDx15dMlfWXwokpd+kLg4jpM9X7gLZG+A84BflzSDcAzgK9STQRNbgH21obwlwP/iyphzq3AH1LbZszsq8DvUk1s/5Nhm81vAFtVpbm8gwNhtR1npvCw286Gp961tK/O8/Bk4M/MzJ/mnQ2L2xgcp9qF9B5JC8B3gV+asjyOM1V8xeA4juMM4TYGx3EcZwifGBzHcZwhfGJwHMdxhvCJwXEcxxnCJwbHcRxnCJ8YHMdxnCH+P1GGXNkbQTDbAAAAAElFTkSuQmCC\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": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([3.26723811e+11, 3.26671386e+11, 3.26469134e+11])" ] }, "execution_count": 17, "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": 18, "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_DATA/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": 19, "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": 20, "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": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Flux (cm-2 s-1 MeV-1 sr-1)')" ] }, "execution_count": 21, "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": 22, "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": 23, "metadata": {}, "outputs": [], "source": [ "filename = \"$GAMMAPY_DATA/fermi_3fhl/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": 24, "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": 25, "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_DATA/fermi_3fhl/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": 26, "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": 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", "\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", "spectrum = PowerLaw(index=2.3)\n", "psf_mean = psf.table_psf_in_energy_band(energy_band=erange, spectrum=spectrum)\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": 28, "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": 29, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAVUAAAELCAYAAABpiBWpAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3Xu4XFWd5vHvSxRCgkgwSJCLQY0i2hg0chGnjWBjYGxQcaZB5SaK2kRteOxWdB4E0afxQjM60KBgIDotouIFI3JRRAYRJGAERIQIQSKEyCVAiBCT/OaPvSqncqjLrpNVdXZVvZ/n2c+p2rVr7bVPnfqdtddVEYGZmeWxyXhnwMxskDiompll5KBqZpaRg6qZWUYOqmZmGTmompll5KDahKRvjHceNtYgXAMMxnX4GoaH3E+1MUlPRsTk8c7HxhiEa4DBuA5fw/BwSdXMLKOhK6luttlmscUWW7Q9buXKlZQ5TjkyVSfnf7nHV67kuSWuoazc11rWY5mvo6yc34zHVq5ky4zXsC5bSoUy11r2O7F27dpYsWLFRv0pz5kzJx566KFSx950002XR8ScZq9Lmge8BVgeEa9s8Pq/Au9KT58FvBzYJiIekbQEeAJYC6yJiFnt8jN0QVVS1guemDMxIGfomJQxLch/rblvk3IHmqcyp7cqY1orM6YFea91xowZ3HnnnRv1P3jWrFmxcOHCUsdKuqlVsJP09xS/sq83Cqqjjv1H4PiI2Dc9XwLMiohyEZ4iKpuZVVCef5MRcY2k6SUPPwy4cGPO5zpVM6ugANaU3PKQNAmYA1w8KiNXSLpJ0rFl0nFJ1cwqqnRJdaqk+rqCr0bEV8dwwn8EfhkRj9Tt2yci7pf0fOBKSXdExDWtEnFQNbMKCjoIqg+1qVOdBxxEkyYLSbOBH6aTrpB0UkR8Or28m6SfAxOAJcAeQMug2vPbf0lzJP1B0mJJH0/7XiHpV5LmS9ok7TtV0i2SFkm6QtIL0n5J+nJ6/y2SXp32T5d0da+vx8y6ZV3Jra0LgCPbHPOrlNgragFV0nOA/wQOAGYBewOPtztZT4OqpAnAWRSZ3BU4TNKuwAkU/0kWAvunw78QEbtFxExgAXBS2n8AMCNtxwJn9+4KzKw3aiXVLEH1g8D5wGaSlko6RtIHJH2g7phpwBUR8WTdvv2BqcD3gV8C1wLPa3eyXt/+7wEsjoi7ASR9CziYomhd+y0KICLq/yNMZqQr3cEUXSMCuF7SVpK2o+hHVl8XYmZ9LU+dakQcllr/F7ToUrUjxY3wT4CPRsTvKGLRtyPivRQvHg7s2S4zvQ6q2wP31T1fSpHJLwE/Bu4Czqm9KOmzwBHAY8AbW6SxfUQsBN7etZybWQ/VWv9LaVmnWsLNwAsjYqWkA4EfUNwJN+pr27afe6+DasNMRsRvaPAfICI+CXxS0onAXOBTzdJoeVLpyVavm1k+y5Yt2+A7N/b5AvL0U23XUEXR6v8xSVAMEpgkaSpFge1dkvakuBOeSlF92VKvG6qWUhSza3YA7i/xvm8Ch4w1jYiYXNs6yKuZjcG0adMyfOey1qleQOuGqseAN0TEbsBFFMHzYeBGioLnkRRVlw8Dl7Q7Wa9LqjcCMyTtDPwZOBR4Z6MDJc2IiLvS04OAO9LjS4C5qT52T+CxiHigu9k2s97LNvD4g8B+pIYqijveZwNExDnAdOBzktYAq4HHU5vNGkmPAN+muEOel+paW+ppUI2INZLmApdTNE61yuRpkl5G8Zu9F6i11F0KHAgsphhOfXR3c21mvddRP9XWKbVpqIqIM4EzASR9FNil7uVVFN2oAvhLmfP1vPN/RFxKERjbHXdIk/0BHJc7X2ZWNaUbqrKMqJL0RuAY4PV1uz2iyswGQb4RVWVI2g04DzggIh5en4uI+9PP5ZK+TxVHVJmZlZOtoaolSTsB3wMOj4g76/ZPTqOqkDSZYjDAbe3Sc0nVzCooX52qpD9SNEZt0qSh6iSKXkQ/l7QOuCcidgW2Ba6WtG1K6kcRcVm78zmomllFZWv9P5rWk1R/j2JQ0YGMDEYCWEFRsbsdRZS/SdKUiHi01cl8+29mFZXn9j81LLUawr5+6HtEXA/Uhr6/GbgyIh5JgfRKivlWWxq6kqqAzTKmt2XGtAC2rmhakHepF4BNM6e3OnN6uZcsyTkxRZVLQ3nWMutomOrGajj0vcX+loYuqJpZP+ioTnVju1Q1G/reF2P/zcxK6lmXqmZD35cCs0ftv7pdYlW+izCzodabLlUUQ9+PSBPg78XI0PfLgf0lTZE0haJL1eXtEnNJ1cwqKGuXqgspSpxTm3Spajj0PSIekXQqxZwlAJ8etX5VQw6qZlZB+RqqIuKwNq83HfoeEfOAeZ2cz0HVzCoqWz/VnnKdqplVVL461UYLjo56/Yy0yOgiSXdKWlH32tq61yo3n6qZWQlZ61RrC47+A0WL/o2SLomI29efLeL4uuM/BOxel8Rf0wKkpbikamYVla2kun7B0YhYDdQWHG3mMODCsebaQdXMKqij5VSmSlpYtx07KrHSI6MkvRDYGbiqbvfElO71kt7aLue+/Tezisq2mmonI6MOBb4bEWvr9u2UJqp+EXCVpFsj4o/NTuaSqplVUNaF/zpZLPRQRt36101UfTfFiKrdn/m2EQ6qZlZR2YLq+gVHJW1KETif0Yqf1sSbAvyqbt8USZulx1OBfYDbR7+3nm//zayCsi7813DBUUmfBhZGRC3AHgZ8Kw0GqHk58JU0efUmwGn1vQYacVA1s4rK1/m/0YKjEXHSqOcnN3jfdcDfdXIuB1Uzq6j+HFHloGpmFdTTSaqzclA1swrKV6faa279N7OK6unY/6Mk/aVujP976147UtJdaTuy3bmGrqQ6gbxrLeVeB2q7jGnt2P6QjkzLnN6kzOmtypzesszp3df+kHFTzTJh78b+JxdFxNxR792aYv7VWYysqHpJqxVVXVI1swrK2vm/07H/9TpeUdVB1cwqqNZQVWZrq+zY/0Mk3SLpu5JqN3odr6jqoGpmFZVtQpUyY/9/BEyPiN2AnwLzO3jvBoauTtXM+kFHrf/tJlRpO/Y/Ih6ue3ou8Lm6984e9d6rW2XGJVUzq6jejf2XVN9GfBDw+/S44xVVXVI1s4rq6dj/D0s6iKKS9hHgqPTejldUdVA1swrK2/m/3dj/iDgROLHJeztaUdVB1cwqyMNUzcwyq+aQhHYcVM2sohxUzcwy6d8JVRxUzayiHFTNzDJxSdXMLLP+bP2v7IgqSfMkLZd0W92+kyX9uW7OwwPT/tmSLhi3zJpZZllnqeqpygZV4AIaT7F1RkTMTNulDV43s0Gwbl25rWIqe/sfEddIml7y8NXAY93LjZn1VEQlA2YZVS6pNjM3zXk4L01wQERcFxEfGe+MmVlGLqn2xNnAqRQVLqcCpwPv6SSBTci7jEfu5VRyLoGyW851Y4CZM/Omt23m9VkezLz+yaJFedNjZb6kns6XFJB3KZpGE5B2LAL+1p8NVX0VVCPiwdpjSecCC8q8T9KTtcf9WDQ36ycPLFu2wXcuIiaPKaGoXim0jL6KMaPmPHwbcFuzY+tFxOTa1lf/Rcz60HbTpm3wnRtTIrU61Uy3/yVWUz1B0u2pavFnkl5Y99rauh5Hl4x+72iVjTGSLqSYcXuqpKUUKxrOljST4vZ/CfD+ccugmXVXpvrSkqup/gaYFRGrJH0Q+DzwT+m1v0ZE6cqvygbViDiswe6v9TwjZtZ7Qc5GqPWrqQJIqq2muj6oRsTP646/Hnj3WE/WV7f/ZjYsst7+d7oi6jHAT+qeT0wLCl4v6a3tTlbZkqqZDbHOWv+nSlpY9/yrEfHVuuelV0SV9G5gFvCGut07RcT9kl4EXCXp1oj4Y7PMOKiaWTWVv/3f6NVUASS9Cfgk8IaIWN9rLSLuTz/vlnQ1sDvQNKj69t/MqicoulSV2dors5rq7sBXgIMiYnnd/imSNkuPpwL7UFcX20ipkmrqXjAjIn4qaXPgWRHxRJn3mpl1Lt8w1ZKrqX4B2AL4jiSAP0XEQcDLga9IWkdRCD1tVK+BZ2gbVCW9DziWYvDQiymKzucA+43xGs3M2ss4BLXEaqpvavK+64C/6+RcZW7/j6Mo8j6eTnIX8PxOTmJm1pHMnf97qczt/9MRsToViZH0LJq0nJmZZRHAmsEd+/8LSZ8ANpf0D8A/Az/qbrbMbLgFrK1eKbSMMrf/Hwf+AtxKMSz0UuB/dTNTZjbkaiOqBvH2PyLWAeemzcysB6JvZ6lqGlQl3UqLutOI2K0rOTIzg0qWQstoVVJ9S/p5XPr5jfTzXeSd09bMbEMRg9dQFRH3AkjaJyL2qXvp45J+CXy625kzsyHWpyXVMg1VkyW9vvZE0uuAsU08a2ZWRqTW/zJbxZTpUnUMME/Sc9PzFXS4LlSVCJiYMb3My0CRc9mm3GtK7ffe6XkTnNNoBfKxe+Vll2VNj/OWZE1u+bX50sq8HFfW70Q2fVpSLdP6fxPwKklbAooILwVtZt3Vx0tUlxn7f9Ko5wBEhOtUzax7Bq1LVZ0n6x5PpOgV8PvuZMfMjMFs/a+JiNPrn0v6IqPmIjQzy25Qb/8bmAS8KHdGzMzWG/A61fqRVROAbYBTu5kpM7OBDaqMjKwCWAM8GBH9WdlhZv0hqGQf1DLKdP7/TETcm7Y/p6UJvtH+bWZmYxWwdk25rWLKlFRfUf8kTVL9mu5kx8yMvq5TbVpSlXSipCeA3SQ9nrYngAeBH/Ysh2Y2nPp0PtWmQTUi/j0ingN8ISK2TNtzIuJ5EXFiD/NoZsOoT4Nqq/lUd4mIOyiWbH316Ncj4uau5szMhlcf3/63qlM9gWJp6tMbvBbAvl3JkZkZ9G3rf6v5VI9NDw+IiKfqX5NUyUltzGxA9PEw1TJdqq4ruc/MLJ9YV26rmFZ1qtOA7SmWpt6dYipSgC0phqqamXXHgNapvhk4CtgB+I+6/U8An+hinszMBi+oRsR8YL6kQyLi4h7mycyG3YCWVAGIiIsl/XeKkVUT6/Z7kmoz655BDaqSzqGoQ30jcB7wDuDXXc5X14hyrXNlbZoxLchbWb1tzgWvIPuaUmx7dt705nwwa3LbLjgna3o5P9vcf3c5vxPR/pASiQT8bXBb/18XEUcAj0bEKcDewI7dzZaZDbVg8EZU1flr+rlK0guAh4Gdu5clM7OoZHepMsoE1QWStgK+ANxM8T/k3K7mysysgqXQMso0VNVm+b9Y0gKKxqpduporMxtutdv/PtRR/XREPB0RjwHf6VJ+NiBpjqQ/SFos6eNp386SbpB0l6SLJG2a9p8s6ahe5MvMui0NUy2zVcxYG/3U/pCNI2kCcBZwALArcJikXYHPAWdExAzgUeCYbufFzHosophQpcxWMWMNqll6TbSxB7A4Iu6OiNXAt4CDKWbH+m46Zj7w1vR4JSONambW7wat9V/Sj2gcPAU8r2s5GrE9cF/d86XAnsCKuoUHl6bjiIgv9iBPZtYLfVyn2qqhqlWQ6kUAa1TFMKHBvl6Ums2spwawS1VE/KKXGWlgKRsOMtgB+BOwlaRnpdLqDsD97RJKq7++HfKOHDGzZ3pg2TIkPVm363sRcXjHCfVpSbXKMeZGYEZq7d8UOBS4BPg5xVBZgCMpsQhhRBweEZMjYnLu4X1mtqHtpk2j9n1LW+cBNWDtmii1VU1lg2oqic4FLgd+D3w7In4HfAw4QdJiirrdr41fLs2sGyJg3dpyW9WUGVE1biLiUuDSUfvupugZYGYDbF31CqGltC2pSroyDVOtPZ8i6fLuZsvMhlkfz6dSqqQ6NSJW1J5ExKOSnt/FPJnZsItq3tqXUSaorpO0U0T8CUDSC3E3JjPrsiqWQssoE1Q/CVwrqdbF6u+BY1scb2a2USJgzaCWVCPiMkmvBvai6JB/fEQ81PWcmdnQ6uMBVS2Hqe4SEXekgAojnex3StUBN3c/e2Y2lAa0TvUEitv80xu8FhQTm/SdAHL+A1ydMS2AVRnTenBZxsSAV152Wd4EM68pReb85f795fxsc//d5fxO5JjCLujfLlWthqnW6k0PiIin6l+TNLHBW8zM8ujfFapLjai6ruQ+M7MsImDN38ptVdOqTnUaxbR6m0vanZFS/ZbkXW3XzOwZBu72H3gzcBTFTFCnMxJUHwc+0d1smdkwG8jW/4iYD8yXdEhEXNzDPJnZsBvwOtXXNBj7/5ku5snMrG9nqSoTVA8YPfYfOLB7WTKzYVfrUlVmq5oyw1QnSNosIp4GkLQ5sFl3s2Vmw6zW+t+PygTV/wv8TNL5FP9A3kOxiqmZWXf0cZ1qmbH/n5d0K7AfRQ+AUyPC86maWVdV8da+jFIz/0fET4CfdDkvZmZAWk6lT0uqZWb+30vSjZJWSlotaa2kx3uROTMbXoM88/+ZFCuZfgeYBRwBvKSbmTKz4RYDOkvVehGxWNKEiFgLnC/JY//NrKsGdpJqYJWkTYFFkj4PPABM7m62zGyY9XNJtUzn/8OBCcBc4ElgR+CQbmbKzGxg61Qj4t708K/AKd3NjpnZgE5SnfqmNr2siNitKzkyM+vjLlWtSqpv6VkuzMzqDOQw1brb/oESwFNtjypvZca0AHIui7RoUcbEAM5bkjW5bReckzW93GtK5f795cxe7r+7nN+JzTOl06+3/+78b2aVU5ukeiAbqnDnfzPrtT7uUuXO/2ZWSVUshZbhzv9mVjlR0Qmoyyjb+X8T3PnfzHokgDVrym1V00nn/6dw538z64U+rlNtWlKVdLCk4+qe3yDp7rS9ozfZM7NhNYhrVP0bRat/zWbAaynqU88HvtvFfJnZEOvnSapbBdVNI+K+uufXRsTDwMOS3FBlZl3Vr7f/rYLqlPonETG37uk23cmOmVkaptqnQbVV6/8Nkt43eqek9wO/7l6WzGzYDeqIquOBH0h6J3Bz2vcairrVt3Y7Y2Y2xAaxTjUilgOvk7Qv8Iq0+8cRcVVPcmZmQ20Q61QBSEHUgdTMeqafW//LjKjKQoUvS1os6RZJr6577XhJN0v6p7p98yQtl3TbqHROlvRnSYvSdmDaP1vSBb26HjPrrn7tp9qzoAocAMxI27HA2QCStqDo/7oH8M664y8A5jRJ64yImJm2S7uWYzMbF7VJqstsVVNqlqpMDga+HhEBXC9pK0nbMTLf7gb/cyLiGknTO0h/NfBYjoya2fjz7X972wP1gwmWAttHxBPArcBC4KKSac1NVQjzJE0BiIjrIuIjWXNsZuOitvCfb/9bU4N9ARAR/x4Ru0fEN0ukczbwYmAmxTSEp+fLoplVQgxmP9WNliZkqQ0guJFi2sCaHYD7O00zIh6sS/9cYEGJfDy5/jGwqtOTtvBIxrRgw6L8Rsu8kNHya/OmNylvclk/V8i7phTk/Wxz/93l/N09umzZBt+5iOh4WHvQv12qulpSjYizag1KwA+AI1IvgL2AxyLigU7TTPWwNW8Dbmt2bF0+Jte2CZ2e0Mw6st20aRt858aUiEuqpVwKHAgspvjHeHSrgyVdCMwGpkpaCnwqIr4GfF7STIp/ZkuA93cxz2Y2DiKqOQF1GT0LqqnV/7i2B44cf1iT/Ydny5SZVVYVS6Fl9LKkamZWSm1ClX7koGpmldSnMdVB1cyqyUHVzCyTAPq0ncpB1cyqJ3BJ1cwsKwdVM7OMHFTNzDLx7b+ZWWYOqmZmmbj138wsM5dUzcwycZ2qmVlmDqpmZpm4pGpmlpmDap9YS95VRnq5yFenns6cXu7lRTbNnN7qzOllXo0m6xIouZdTyXmtW2dIw63/ZmaZuaRqZpaJ61TNzDJzUDUzy8hB1cwsEzdUmZll5DpVM7PMHFTNzDJxSdXMLDMHVTOzjBxUzcwyceu/mVlGrlM1M8vMQdXMLCMHVTOzTHz7b2aWmYOqmVkmbv03M8vMJVUzs0xcp9pHAnhqvDPRQs4/pFUZ0wKYmDm93Ot75f4S5v47yfl55F4/K+e1RqZ0HFTNzDJxSdXMLDM3VJmZZeKSqplZZv0aVHO3FWQjaaKkX0v6raTfSTol7d9Z0g2S7pJ0kaRN0/6TJR01rpk2syxqJdUyW9VUNqgCTwP7RsSrgJnAHEl7AZ8DzoiIGcCjwDHjmEcz6xIH1cyiUOs58uy0BbAv8N20fz7w1vR4JfDXnmbSzLqmX4NqpetUJU0AbgJeApwF/BFYERG1hsGlwPYAEfHFccmkmWXnYapdEhFrgZmStgK+D7y80WG9zZWZdZtb/7ssIlZIuhrYC9hK0rNSaXUH4P5275f0ZJezaGbJsmXLNvjORcTksaTTr0G1snWqkrZJJVQkbQ68Cfg98HPgHemwI4EftksrIibXtm7l18wK06ZNy/Kdc51qftsB81O96ibAtyNigaTbgW9J+gzwG+Br45lJM8vPt/9dEBG3ALs32H83sEfvc2RmveSgamaWiVv/zcwyc0nVzCwT16mamWXmoGpmlolLqn1k0qRJ7LLLLtnS2yxbSoXNM6aVe/mT3NeqzOnlHlr3dOb0ci5ZknuSi5zXumpVnoVj3FDVJzbffHOk9l/ne+65h5133rntcatzZKpL6S0qeQ1VV/azqLKqX0OZf3Blr2H58uU5/r9dDkwteexDGc6XjSI8dL4RSU/2+wisQbgGGIzr8DUMj8oOUzUz60cOqmZmGTmoNve98c5ABoNwDTAY1+FrGBKuUzUzy8glVTOzjIYmqEqaI+kPkhZL+nja9wpJv5I0X9Imad+pkm6RtEjSFZJekPZL0pfT+2+R9Oq0f3qaQHu8rmuepOWSbqvbd7KkP6drWCTpwLR/tqQLxiuvrTT5fMZ15dwWK/peIOmeut/vzLR/iqTvp7+PX0t6ZV1ah0q6WdK/NDjPJVX5/LyK8cYbiqCa5mQ9CzgA2BU4TNKuwAnAQcBCYP90+BciYreImAksAE5K+w8AZqTtWODs3l1BSxcAcxrsPyMiZqbt0h7nqSMtPp/xXjm32Yq+AP9a9/tdlPZ9AlgUEbsBRwBfqkvrUOC1wF6StqjtlPR2ikUrRxuvz8+rGG+koQiqFPOvLo6IuyNiNfAt4GBgAiMj4gQQEY/XvW8yIwN1Dga+nlZ5vZ5iWZftgLXAI725jGeKiGs6OP9q4LEuZmesmn0+47pybosVfZvZFfhZeu8dwHRJ26bXav3ro/Y4BdcTgM+UzFLXPz+vYrzxhiWobg/cV/e8tgrrl4AfA3sDV9RelPRZSfcB72KkpNowjYi4LyLe3sW8j9XcdBs6T9IUgIi4LiI+Mt4Za6DZ59N05dyIuKgXGZM0QdIiYDlwZUTckF76bPr9niGpNoL3t8Db0/v2AF5IsY4aFC3nC4GFEfFE2ncqcDrQaFznuH1+o6+ZNqsY9+qz6BfDElQbjcKLiPhNROwZEe9OK7fWXvhkROwI/Bcwt1UaXchrDmcDL6a4fXuA4otbZY1+txMa7Ov57zsi1qaqoB2APVI96YnALhS381sDH0uHnwZMSQHpQxTL/axJ6cyPiN0j4nSAVA/7koj4foPTjuvnN/qa8SrGHRmWoLoU2LHuealVWIFvAodsZBo9FxEPpi/GOuBcqr/8TKPf7Z9IK+fW7Ru333dErACuBuZExAPpNvlp4HzS7zciHo+Io1NAOgLYBrinSZJ7A6+RtAS4FnhprcGzKp9f3TWvX8U4vVTZv/0qGJageiMwI7VgbkrRaHBJowMlzah7ehBwR3p8CXBE6gWwF/BYRDzQzUyPVarrrXkbcFuzYyui2efT8cq5Oanxir531H6/kkRRt3hber5VrVUceC9wzag6+vUi4uyIeEFETAdeD9wZEbNTOuP2+TW55jGtYjyshmKWqohYI2kuxcw3E4B5EfG7JoefJullFI1X9wIfSPsvBQ4EFlPUgR3d3VyXI+lCYDYwVdJS4FPA7HR7GcAS4P3jlsESmn0+kj7G+K6c22xF36skbUNRbbGIkb+RlwNfl7QWuJ2xt5B/fhw/P69ivJE8osrMLKNhuf03M+sJB1Uzs4wcVM3MMnJQNTPLyEHVzCwjB1Uzs4wcVIeIpG0lfVPS3ZJuUjHt4dvavGd6/bR0HZ7vKKWpE9Pz89LsU2XeO1vSgrGctyxJ16Wf0yW9cwzvP0rSmflzZv3MQXVIpNE/P6AY5fOiiHgNxcilHVq/c6McBawPqhHx3oi4vYvn60hEvC49nA50HFTNGnFQHR77Aqsj4pzajoi4NyL+D6wvrf2/NJHyzZJeNzqBVsdI+jdJt6bJjU+T9A5gFvBfKiZa3lzS1ZJmpePnpDR+K+lnZS9C0n6SfpPONa82Q5SkJZJOSWneKmmXtH8bSVem/V+RdK+kqem12hR3pwH/LeXz+NElUEkLJM1Oj4+WdKekXwD71B2zjaSLJd2YtvWv2ZCJCG9DsAEfpphkuNnrk4CJ6fEMiinqoCjF3dbmmAOA64BJ6fnW6efVwKy6c1xNEWi3oZjqb+f640flZzawYNS+iel9L03Pvw78S3q8BPhQevzPwHnp8ZnAienxHIqhn1PT85WNzkVRwj6z7vmCdMx2FBO9bANsCvyydhzF5DuvT493An4/3p+5t/HZhmLsvz2TpLMoJvJYHRGvpZiM+Mw05nwt8NIGb2t2zJuA8yNiFUBEtJs0ey+Kaoh7Sh5f8zLgnoi4Mz2fDxwH/O/0vLba502keU3TNb4tnecySY+WPFcjewJXR8RfACRdxIa/g12LWhYAtpT0nBiZO9WGhIPq8PgdI9MYEhHHpdvghWnX8cCDwKsoqoWeapBGs2NEZ/Nrdnp8/ftaeTr9XMvI33a79zSyhg2rxibWPW6W702AvSPCs+APOdepDo+rgImSPli3b1Ld4+cCD0Qxh+fhNJ4kutkxVwDvkTQJQNLWaf8TwHMapPMr4A2Sdh51fDu1JUpekp4fDvyizXuuBf5nOs/+wJQGx4zO5xJgpqRNJO3IyHymN1DMAPY8Sc8G/kfde65gZELz2iTUNoQcVIdERATF3J9vULES6K8pbp9rs9b/J3CkpOspbmmfbJBMw2Mi4jKK+U8Xqpj1/qPp+AuAc2oNVXV5+QvF4onfk/RboNlyHPvT7RZ4AAAAo0lEQVRJWlrbgN0pplz8jqRbKaZnPKfJe2tOAfaXdDNF3e8DFEG03i3AmtRodjxFXek9wK3AF4GbU74fAE6m+Kfw09r+5MPALBVLoNzOyHSANmQ89Z8NtNQ7YG0Uc7buDZwdxcz8Zl3hOlUbdDsB35a0CcVqpO8b5/zYgHNJ1cwsI9epmpll5KBqZpaRg6qZWUYOqmZmGTmompll5KBqZpbR/wciTtMiT1kJ0AAAAABJRU5ErkJggg==\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": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Background counts from Galactic diffuse: 13358.973\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": 31, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Background counts from isotropic diffuse: 411.5647\n" ] }, { "data": { "image/png": "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\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": 32, "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": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Excess counts: 1845.4635\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": 34, "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": 35, "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": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "FitResult\n", "\n", "\tbackend : minuit\n", "\tmethod : minuit\n", "\tsuccess : True\n", "\tnfev : 320\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": 37, "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, "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, "lenType": 16, "lenVar": 40 }, "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 }