{ "cells": [ { "cell_type": "markdown", "id": "beefd4b6", "metadata": {}, "source": [ "## The SASE Source Module\n", "XFEL pulses seldom come alone - in the following section, we demonstrate how the 'phenom.source' module can be used to generate large ensembles of XFEL pulses.\n", "\n", "To do so, we begin by importing the SASE source module" ] }, { "cell_type": "code", "execution_count": 1, "id": "81d3caff", "metadata": {}, "outputs": [], "source": [ "from phenom.source import SASE_Source" ] }, { "cell_type": "markdown", "id": "8629a440", "metadata": {}, "source": [ "### Store a Pulse" ] }, { "cell_type": "markdown", "id": "e8f1e60a", "metadata": {}, "source": [ "The SASE source class provides a mechanism of generating multiple pulses and storing them to individual .h5 files. In the simplest case, it takes as its inputs identical parameters to the sase_source function defined in the previous section." ] }, { "cell_type": "code", "execution_count": 2, "id": "53788877", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "\n", "## define the spatial/temporal mesh\n", "x = y = np.linspace(-250e-06, 250e-06, 500) \n", "t = np.linspace(-25e-15, 25e-15, 250)\n", "\n", "## define the pulse\n", "src = SASE_Source(x = x,\n", " y = y,\n", " t = t,\n", " photon_energy = 10e3,\n", " pulse_energy = 1e-03,\n", " pulse_duration = 15e-15,\n", " bandwidth = 1e-12,\n", " sigma = 50e-06,\n", " div = 2.5e-03,\n", " x0 = 0.0,\n", " y0 = 0.0,\n", " t0 = 0.0,\n", " theta_x = 0.0,\n", " theta_y = 0.0,\n", " domain = 'time'\n", " )" ] }, { "cell_type": "markdown", "id": "290889a3", "metadata": {}, "source": [ "which we can within a .h5 file:" ] }, { "cell_type": "code", "execution_count": 3, "id": "8af1dec0", "metadata": {}, "outputs": [], "source": [ "import os\n", "\n", "save_loc = \"./sase_field.h5\"\n", "src.generate_pulses(save_loc)" ] }, { "cell_type": "markdown", "id": "2aa2b4b3", "metadata": {}, "source": [ "### Load a Pulse from Memory" ] }, { "cell_type": "markdown", "id": "a75b70c0", "metadata": {}, "source": [ "The SASE_Source module stores pulses within a master .h5 file" ] }, { "cell_type": "code", "execution_count": 4, "id": "c506bcb0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pulses in the master file:\n", " \n", "\n", "Contents of each pulse:\n", " \n", "\n", "Pulse Mesh Fields:\n", " \n", "\n", "Pulse Parameters:\n", " \n", "\n", "Pulse Data:\n", "Type: complex128\n", "Shape: (500, 500, 250)\n" ] } ], "source": [ "import h5py as h5\n", "\n", "\n", "with h5.File(save_loc, mode = 'r') as hf:\n", " \n", " print(\"Pulses in the master file:\")\n", " print((hf.keys()), \"\\n\")\n", " \n", " print(\"Contents of each pulse:\")\n", " print(hf['pulse000'].keys(), \"\\n\")\n", " \n", " print(\"Pulse Mesh Fields:\")\n", " print(hf['pulse000']['mesh'].keys(), \"\\n\") \n", " \n", " print(\"Pulse Parameters:\")\n", " print(hf['pulse000']['params'].keys(), \"\\n\") \n", " \n", " print(\"Pulse Data:\")\n", " print(\"Type: \", hf['pulse000']['data'][()].dtype) \n", " print(\"Shape: \", hf['pulse000']['data'][()].shape) " ] }, { "cell_type": "markdown", "id": "38df5fd7", "metadata": {}, "source": [ "To complete this example, lets load the electric field and mesh of the first pulse, and plot its intensity as demonstrated eariler" ] }, { "cell_type": "code", "execution_count": 5, "id": "75abfc26", "metadata": {}, "outputs": [], "source": [ "with h5.File(save_loc, mode = 'r') as hf:\n", " \n", " x = sase_pulse = hf['pulse000']['mesh']['x'][()]\n", " y = sase_pulse = hf['pulse000']['mesh']['y'][()]\n", " t = sase_pulse = hf['pulse000']['mesh']['t'][()]\n", " \n", " sase_pulse = hf['pulse000']['data'][()]" ] }, { "cell_type": "code", "execution_count": 6, "id": "68d65798", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 0, 'Time (fs)')" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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qls++eQTVlxczEaOHMnuuusupqpqh8bw6quvssGDBzO3280GDBjAbrjhhm4fQyhvvPEGKywsZCNHjmSPPfZYp+7bYP78+WzgwIFMFEU2ePBg9uyzz7La2lp27bXXsoKCAnbttdeyc+fOmdtH+l10hPfff58BYCUlJebfwBtvvNHt4yCSl/ZcQ7qb9lxj4kV3XHvaSluvVfGiPdezeEEdXQmCIAiCSAgofEMQBEEQREJAooQgCIIgiISARAlBEARBEAkBiRKCIAiCIBICEiUEQRAEQSQEJEoIgiAIgkgISJQQBEEQncq5c+cwYcIETJgwAQMHDsTgwYMxYcIEZGVlYdmyZV1yzCeffBIvvPACAODQoUOYMGECLrnkEhw+fNhx+/nz56OysrJLxkK0H+pTQkTE6/Vi1qxZeOeddyAIQof2FQgEcP311+Odd94xZ04lCKLn88tf/hJZWVm4//77u+wYsixj4sSJ+PTTTyGKIlavXg2v14uVK1dGfM97772H//qv/8J//ud/dtm4iLZDTgkRkeeffx5z587tsCABALfbjeuuuw5/+ctfOmFkBEEkI9u3b8d3v/tdAJpYuf3223HDDTdg+PDhePXVV/Hzn/8cJSUlmDVrFiRJAgDs2bMH3/nOd3DppZdi5syZOHXqVNh+33nnHUycOBGiKGLLli148skn8eyzz2L69Olobm7GjTfeiPHjx2PcuHHmNWjatGl46623IMty9/0CiFYhUZKCfPLJJygtLYXP50NzczOKi4uxf//+sO1eeuklcy6Ea665Bl999RUAzZodN24cAG0a7DFjxuCOO+7AuHHjsGDBArz11lu48sorUVhYiF27dpn7u+mmm/DSSy91wxkSBJEMHD58GG+88QY2b96M73//+5g+fTq++OILpKen44033oAkSbj77ruxadMm7NmzB4sXL8aKFSvC9vPBBx/g0ksvBQCUlZVh6dKl+OlPf4p3330XFRUVGDRoEPbt24f9+/dj1qxZAACe51FQUIB9+/Z16zkT0SEfPQWZPHkyysvL8Ytf/AJerxff//73TZFhEAgE8O2332L48OEAgG+++QaFhYUAgM8//xwlJSXmtt988w02btyItWvXYvLkyXj55ZexY8cO/O1vf8NvfvMbvPbaawCAcePG4ZNPPumWcyQIIvGZPXs2XC4XSkpKoCiKKRhKSkpQVVWFr776Cvv378eMGTMAAIqiIC8vL2w/p06dQlFRkeMxSkpKcP/99+PBBx/Ed7/7XUybNs1cN2DAAJw8edIUNET8IVGSojz66KOYPHky0tLS8Mc//jFsfW1tLfr06QMAOHr0KAYPHgye14y1zz//HKWlpea2I0aMMEVKcXExrrvuOnAcZ15YDARBgNvtRmNjI7Kzs7vu5AiCSAo8Hg8AzbVwuVzgOM58LcsyGGMoLi7GRx99FHU/6enp8Pl8jutGjRqFPXv2YMuWLXj44Ydxww034NFHHwUA+Hw+pKend+IZER2FwjcpSl1dHZqamtDY2Oj4YbZ+yPfu3WsTIXv27LG9Ni4sgHYxsV5oQuO1fr8faWlpnXouBEH0TEaPHo2amhpTlEiShAMHDoRtV1RUhG+++cZxHydPnkRGRga+//3v4/7778enn35qrvv6669RXFzcNYMn2gWJkhRlyZIl+PWvf40FCxbgwQcfDFvft29fKIoCn8+Hffv2mQKlsrISmzdvtoVvYuXcuXPIzc2Fy+Xq8PgJguj5uN1ubNq0CQ8++CDGjx+PCRMm4MMPPwzbbvbs2fjHP/7huI8vvvgCl112GSZMmIDHH38cv/jFLwAAZ86cQXp6umM4iIgfFL5JQV544QWIoojbbrsNiqLgiiuuwDvvvINrr73Wtt0NN9yAHTt2YO/evUhPT8f48eNRWlqKoqIirF+/Ho888kibjvvuu++irKysM0+FIIgE55e//KX5/JprrsE111wTthwAmpqaHN8zYcKEiILDYNiwYejXrx8qKytRWFhoe//MmTMxc+bMsPe8/PLL+PGPfxzzeRDdA/UpISLy2Wef4f/9v/+Hjz76CJ999lmH80Dmzp2LVatWYfTo0Z00QoIgCI2vvvoKZ86cwdVXXx3T9uvWrcMPfvAD6puUYFD4hojIJZdcgkmTJoHjuA4LkkAggJtuuokECUEQXcLo0aNjFiQA8C//8i8kSBIQckoIgiAIgkgIyCkhCIIgCCIhIFFCEARBEERCQKKEIAiCIIiEgEQJQRAEQRAJAYkSgiAIgiASAhIlBEEQBEEkBCRKCIIgCIJICEiUEARBEASREPx/w5yXDlsh/isAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from matplotlib import pyplot as plt\n", " \n", "fig, [ax1, ax2] = plt.subplots(1,2, figsize = (9,3))\n", "\n", "### spatial intensity\n", "im = ax1.imshow((abs(sase_pulse)**2).sum(axis = 2),\n", " extent = [x.min() * 1e06,\n", " x.max() * 1e06,\n", " y.min() * 1e06,\n", " y.max() * 1e06],\n", " cmap = 'bone'\n", " )\n", "\n", "plt.colorbar(im, label = \"Intensity (W/mm$^2$)\", ax = ax1)\n", "\n", "ax1.set_xlabel(r'x ($\\mu$m)')\n", "ax1.set_ylabel(r'y ($\\mu$m)')\n", "\n", "\n", "ax2.plot(t*1e15, (abs(sase_pulse)**2).sum(axis = (0,1)))\n", "ax2.set_xlabel(\"Time (fs)\")" ] }, { "cell_type": "markdown", "id": "a95dbd0d", "metadata": {}, "source": [ "## Generating Multiple Pulses\n", "The advantadge that the SASE pulse class brings over the sase_pulse function is the capacity to generate ensembles of pulses in a pythonised manner. Each of the non-mesh variables of the SASE pulse class can take the form of a list, numpy.ndarray or python 'lambda'.\n", "\n", "The source module will generate and save N pulses to the SASE master .h5, where N is the length of the longest non-integer input of the function.\n", "\n", "Let's consider a few examples" ] }, { "cell_type": "markdown", "id": "c98fdd6b", "metadata": {}, "source": [ "### Pulses from Lists\n", "Suppose we want to consider a set of 5 pulses in the energy range 1-5 keV.\n", "If these pulses have identical properties, other than photon energy, we can generate them as follows:" ] }, { "cell_type": "code", "execution_count": 7, "id": "41bdb511", "metadata": {}, "outputs": [], "source": [ "energies = [1000,2000,3000,4000,5000] ### list of energies in eV\n", "\n", "## using the properties defined above\n", "src = SASE_Source(x = x,\n", " y = y,\n", " t = t,\n", " photon_energy = energies,\n", " pulse_energy = 1e-04,\n", " pulse_duration = 15e-15,\n", " bandwidth = 1e-12,\n", " sigma = 50e-06,\n", " div = 2.5e-03,\n", " x0 = 0.0,\n", " y0 = 0.0,\n", " t0 = 0.0,\n", " theta_x = 0.0,\n", " theta_y = 0.0\n", " )\n", "\n", "## storing these avefronts in the following location\n", "save_loc = \"./sase_field.h5\"\n", "src.generate_pulses(save_loc)" ] }, { "cell_type": "markdown", "id": "b63fe242", "metadata": {}, "source": [ "The .h5 master now contains 5 SASE pulses. We can check their paramters" ] }, { "cell_type": "code", "execution_count": 8, "id": "40ac83df", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pulses in the master file:\n", " \n", "\n", "Pulse Parameters:\n", "1000 eV \n", "\n", "Pulse Parameters:\n", "2000 eV \n", "\n", "Pulse Parameters:\n", "3000 eV \n", "\n", "Pulse Parameters:\n", "4000 eV \n", "\n", "Pulse Parameters:\n", "5000 eV \n", "\n" ] } ], "source": [ "import h5py as h5\n", "\n", "\n", "with h5.File(save_loc, mode = 'r') as hf:\n", " \n", " print(\"Pulses in the master file:\")\n", " print((hf.keys()), \"\\n\")\n", " \n", " for key in hf.keys():\n", " \n", " print(\"Pulse Parameters:\")\n", " print(hf[key]['params']['photon_energy'][()],\"eV\", \"\\n\") \n" ] }, { "cell_type": "markdown", "id": "9de2de49", "metadata": {}, "source": [ "We can compare their spectrums:" ] }, { "cell_type": "code", "execution_count": 9, "id": "263970c3", "metadata": {}, "outputs": [ { "data": { "image/png": "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9ephObxbb72VW2+9FYCenp4RH9fHZ3/w2O/XkOzO07E5Sc342D63L3o5fkkRyRyiEf+1D6xh7c6RPQhHyhENMf7nP2a85ePsbS7tvS1/o/m6b7/9dn7xi18AsHnzZs4++2xUVWXChAn885//fMN5u4vFIoFAgKVLl3Lfffdx6aWX8uyzz+62/ZNPPsnSpUt59NFHicViPPjgg6xdu5b3vOc9AOi6zvHHHw/AhRdeyAknnMDPfvYz7r77bi666KLR3p49ss+I/7HHHuMzn/lMaW7bQUHeH8TjcU455ZTdcnhXXHEFS5cuZenSpVRXV++38/n47IvOrUm6t6cBkNWR1T4UcyaSLFJWHdwt1XPDyzfwm5W/2e/t9BmisbGR1tbW0s9tbW00NDTsdfmu83UPfq1btw6AT3/606Vl8+bNY+HChaxYsYJ//vOfb3iuwXXnn38+AOeddx6vvfbaHtvb3NxMOp1m48aNgPvgWrBgQem8a9eu5fe//z0AY8eOpampiaeffpp//OMffPSjH90v92yfEf+vf/1rbr/9dq677jr6+/tHNbn5nujp6UFRFOLxOPl8nscff5yrr776LR3Tx2d/0d+RLX1vmSMrzSzmTNSQTCSukU0MT/U82/YsWSPLZ2d/FlE4eKun90dkfqA455xzuPnmm7nwwgtZsmQJZWVl1NfXU11dzaZNm9i2bRtjxozh7rvv5q9//euw+bovuOACHMfhtdde48gjj9znuc444wy+9a1vlTp0H330Ua6//noAPvShD7F48WIuvfRSnn76aaZMmbLHY4wfP54bb7yR8847j3vuuYf58+fzhS98gc2bNzNp0iRyuRxtbW2l/S+66CK++tWvMnHiRBobG/fLPdvnJ7G6upp4PM6NN97Io48+yiuvvPKWTtjR0cGpp57K7NmzOeaYY1iwYAEf/OAH39IxfXz2F5Zhl763LfsNthyimDMJhGRkVcTUh5c5J/UkfYU+Ng5s3K/tPFzY01zbALfccgu33HILAGeffTbNzc1MmjSJz3zmM/z6178GQJZlbr75Zs444wymT5/ORz/60dL823ubr3tfvNG83d/85jf5xz/+waxZs7jmmmu47bbb9nqcqVOn8pe//IULLriAVCrFH//4Ry666CJmz57N/Pnzh3U2X3DBBaxZs2a/dOoOss85d++//37OPffc0s833XQT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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize = (6,2))\n", "\n", "with h5.File(save_loc, mode = 'r') as hf:\n", " \n", " for key in hf.keys():\n", " sase_pulse = hf[key]['data'][()]\n", " t = hf[key]['mesh']['t'][()]\n", " photon_energy = hf[key]['params']['photon_energy'][()]\n", " \n", " ax.plot(t*1e15, (abs(sase_pulse)**2).sum(axis = (0,1)),\n", " label = '{:.2e} keV'.format(photon_energy*1e3))\n", " \n", " ax.legend()\n", " \n", " ax.set_ylabel(\"Intensity (W/mm$^2$)\")\n", " ax.set_xlabel(\"Time (fs)\")" ] }, { "cell_type": "markdown", "id": "adabe5c5", "metadata": {}, "source": [ "### Pulses from Arrays\n", "Let's now consider the case of a pulse with a fluctuating center-of-mass in the transverse-plane. If this process is determininstic, we can define a set of input parameters from an arbitrary function." ] }, { "cell_type": "code", "execution_count": 10, "id": "db33922c", "metadata": {}, "outputs": [], "source": [ "x0 = np.linspace(-100e-06,100e-06,5)\n", "y0 = np.linspace(-100e-06,100e-06,5)" ] }, { "cell_type": "markdown", "id": "86d526dc", "metadata": {}, "source": [ "Using these values as the input to the SASE_Source function yields:" ] }, { "cell_type": "code", "execution_count": 11, "id": "973b8a5d", "metadata": {}, "outputs": [], "source": [ "## using the properties defined above\n", "src = SASE_Source(x = x,\n", " y = y,\n", " t = t,\n", " photon_energy = 10e03,\n", " pulse_energy = 1e-04,\n", " pulse_duration = 15e-15,\n", " bandwidth = 1e-12,\n", " sigma = 50e-06,\n", " div = 2.5e-03,\n", " x0 = x0, ### provide coordinates here\n", " y0 = y0, ### and here\n", " t0 = 0.0,\n", " theta_x = 0.0,\n", " theta_y = 0.0\n", " )\n", "\n", "## storing these avefronts in the following location\n", "save_loc = \"./sase_field.h5\"\n", "src.generate_pulses(save_loc)" ] }, { "cell_type": "markdown", "id": "56e669fa", "metadata": {}, "source": [ "which we can check from the stored pulse intensites:" ] }, { "cell_type": "code", "execution_count": 12, "id": "c2b23dda", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1,5, figsize = (10,2))\n", "ax = ax.flatten()\n", "\n", "with h5.File(save_loc, mode = 'r') as hf:\n", " \n", " for itr, key in enumerate(hf.keys()):\n", " \n", " ax[itr].set_xticks([])\n", " ax[itr].set_yticks([])\n", " \n", " sase_pulse = hf[key]['data'][()]\n", " ax[itr].imshow((abs(sase_pulse)**2).sum(axis = 2),\n", " cmap = 'bone'\n", " )\n", " \n", " ax[itr].set_title(key)" ] }, { "cell_type": "markdown", "id": "1e32654d", "metadata": {}, "source": [ "Note that we can combine this method with the previous changes in photon energy if the length of the inputs are equivalent" ] }, { "cell_type": "code", "execution_count": 13, "id": "996e3d95", "metadata": {}, "outputs": [], "source": [ "energies = [1000,2000,3000,4000,5000] ### list of energies in eV\n", "\n", "## using the properties defined above\n", "src = SASE_Source(x = x,\n", " y = y,\n", " t = t,\n", " photon_energy = energies,\n", " pulse_energy = 1e-04,\n", " pulse_duration = 15e-15,\n", " bandwidth = 1e-12,\n", " sigma = 50e-06,\n", " div = 2.5e-03,\n", " x0 = x0, ### provide coordinates here\n", " y0 = y0, ### and here\n", " t0 = 0.0,\n", " theta_x = 0.0,\n", " theta_y = 0.0\n", " )\n", "\n", "## storing these avefronts in the following location\n", "save_loc = \"./sase_field.h5\"\n", "src.generate_pulses(save_loc)" ] }, { "cell_type": "code", "execution_count": 14, "id": "1342dfc5", "metadata": {}, "outputs": [ { "data": { "image/png": "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iLVAsdxcUDw3DxTLzcVM43lYpc7ERO68807Z7/dlr9eTu3btkmeddZYUQtjH/+3f/k12Oh25tLS0jkdJrAaK5eaC4rl5oFhuLuYVTxoeOmX++Z//Gdu3b8f27dvxzDPP4I477rAFWjt37sQ73/lOfO5zn0O73V7nIyVWgmK5uaB4bh4olpuLecWTlrQIgiAIgtj0UIaHIAiCIIhNDwkegiAIgiA2PVMRPDfddBPOPvtsRFGEK664YsXt//Iv/xInnHACOp0OrrzySqRpah979dVX8f73vx/NZhM7duzA1772tWkcYoWVXmMwGOCaa67Bsccei06ng3e84x1rfo3vfve7aDabY70H3vKWt+Cmm2467OOfFWma4qqrrsKOHTvQbrfxlre8BXffffeyz6FYbsxYGi677DKceOKJWFhYwKmnnoovfelLy25P8dzY8QSAZ555BrVabUU/Eorlxo7lBRdcgFqtZlu+3/jGNy67PcVzCvE8stpqxde//nX5T//0T/Lqq6+WO3fuXHbbe+65Rx5//PFy37598tVXX60MS5NSyksuuURedNFFstvtyr1798qFhQW5b9++NR/T7t275e7du8c+ttJrXHrppfLiiy+WL7/8smSMyX//939f8+tLqeaH3HLLLZX7vv/978swDOUrr7xyWPucJb1eT+7evVv+8Ic/lJxzuWfPHtlqteQPf/jDsdtTLDduLA379u2zQ/ueeOIJuW3btol/A4rnxo+nlFL+0i/9knz7298uL7300onbUCw3fizPP/98efPNN69qW4rndOI51bb06667bkXB8xu/8Rvy2muvtT/fd999ctu2bVJKdcINgkA+9dRT9vHLLrusEtg9e/bIM888U3Y6Hfm2t71NPvbYY2NfZ1LgVnqNJ598UrbbbXno0KEVf18ppTx48KC88sor5QknnCC3b98ur7vuOskYk1JK+ed//ufywgsvrGz/iU98Qr7//e9f1b43Am9+85vlP/7jP459jGJ5dMXyySeflCeccIL8h3/4h7GPUzw3fjxvv/12+aEPfUju3r17WcFDsdz4sVyL4KF4Tieec6/hefzxx3HmmWfan88880y89NJLOHDgAJ5++ml4nodTTz218vjjjz8OAHj00Udx5ZVX4m/+5m9w4MAB7Nq1C+9973srqb2VWOk1Hn74YezYsQO7d+/Gscceize/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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1,5, figsize = (10,2))\n", "ax = ax.flatten()\n", "\n", "with h5.File(save_loc, mode = 'r') as hf:\n", " \n", " for itr, key in enumerate(hf.keys()):\n", " \n", " ax[itr].set_xticks([])\n", " ax[itr].set_yticks([])\n", " \n", " sase_pulse = hf[key]['data'][()]\n", " ax[itr].imshow((abs(sase_pulse)**2).sum(axis = 2),\n", " cmap = 'bone'\n", " )\n", " photon_energy = hf[key]['params']['photon_energy'][()]\n", " ax[itr].set_title(\"Photon Energy:\\n{:.2e} eV\".format(photon_energy*1e3))" ] }, { "cell_type": "markdown", "id": "20b8fb54", "metadata": {}, "source": [ "### Pulses from Lambdas\n", "The SASE pulse model is inherently stochastic due to the partially random SASE spectral distribution. Using python lambdas, we can create a source that with properties that fluctuate in time." ] }, { "cell_type": "code", "execution_count": 15, "id": "1dc8d170", "metadata": {}, "outputs": [], "source": [ "energies = [1000,2000,3000,4000,5000] ### list of energies in eV\n", "\n", "## using the properties defined above\n", "src = SASE_Source(x = x,\n", " y = y,\n", " t = t,\n", " photon_energy = energies,\n", " pulse_energy = 1e-04,\n", " pulse_duration = 15e-15,\n", " bandwidth = 1e-12,\n", " sigma = lambda: np.random.rand()*250e-06,\n", " div = 2.5e-03,\n", " x0 = x0, ### provide coordinates here\n", " y0 = y0, ### and here\n", " t0 = 0.0,\n", " theta_x = 0.0,\n", " theta_y = 0.0\n", " )\n", "\n", "## storing these avefronts in the following location\n", "save_loc = \"./sase_field.h5\"\n", "src.generate_pulses(save_loc)" ] }, { "cell_type": "code", "execution_count": 16, "id": "4cccc032", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAACNCAYAAACzBqBjAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAAsTAAALEwEAmpwYAAB4oklEQVR4nO29e6wtSXUe/lVV997nce/cCzPMC4+H2AkmJgYckWAzloHISeTED9mxgRjwEEgyBDlRLMtKEE4msR0JIqNYMrGT4AhiY0Ok2HEYbBDBYqRBMYSYhHgILwczGHBmfgww93HO2bvr8fujalWtqq7e55x7z+ueU0vnqHvv3bu7d1d31Vff+tZawjnn0KxZs2bNmjVrdopNHvcJNGvWrFmzZs2aHbY1wNOsWbNmzZo1O/XWAE+zZs2aNWvW7NRbAzzNmjVr1qxZs1NvDfA0a9asWbNmzU69NcDTrFmzZs2aNTv1dmCA54UvfCF++Zd/+aB21+wYrbXl6bLWnqfHWlueLmvtebS2L8DztKc9Devr6zh37hxuu+02/K2/9bdw5cqV6z6Jpz3taXj/+99/3fup2dve9jYopXDu3Lns/0tf+tKhHO9GsdaWp8tae54ea215uqy158mxfTM8DzzwAK5cuYKPfvSj+MhHPoKf/dmfPYzzOlD79m//dly5ciX7v/POOw/0GFrrA93fUVhry7rdiG0JtPacshuxPVtb1u1GbEugteeUHXV7XrNL66lPfSq++7u/Gw8//HB875FHHsE999yD8+fP46/8lb+CL3/5y/Gzd73rXXjmM5+Jixcv4oUvfCE+8YlPAABe8YpX4POf/zy+93u/F+fOncO//Jf/cuX2gEe2P/dzP4dnPetZuHDhAl7ykpdgZ2fnmn7Hbvt697vfjec85zm4ePEinv/85+N//+//nX33jW98I571rGdhc3MTWmv8yq/8Cu6++27cfPPN+Jmf+ZmIwv/f//t/2NjYwOOPPx6///u///t4ylOegmEYruncD8paW56etgRae9J3T0N7trY8PW0JtPak7x5be7p92N133+3+63/9r8455z7/+c+7b/7mb3Y/9VM/5Zxz7gUveIH7hm/4BvepT33KbW1tuRe84AXuH/2jf+Scc+5Tn/qU29jYcO973/vccrl0b3zjG903fuM3usViMdrvXrf/C3/hL7gvfvGL7vHHH3fPeMYz3C/90i9Vz/mtb32ru+eee1b+pql9/f7v/757ylOe4j70oQ85rbV729ve5u6++263s7MTv/vsZz/bff7zn3dbW1vu4x//uNvc3HQPPfSQWywW7id+4idc13Xxt333d3+3+8Vf/MV47H/4D/+h+7Ef+zHnnHMXLlxwDz300H6a47qsteXpaUs6/9aep6M9W1uenrak82/teTLac9+AZ3Nz0124cMF9/dd/vft7f+/vua2tLeecb7if+Zmfidv+63/9r91f/at/1Tnn3E//9E+7H/7hH46fGWPcnXfe6T7wgQ/E/fKG28v2v/qrvxo//8mf/El33333Vc/5rW99q1NKuQsXLsT/b/iGb8h+09S+XvOa18Qbk+zpT3+6e/DBB+N3//2///fxs3/+z/+5e+lLXxpfX7161fV9H3/bO9/5Tvf85z/fOeec1trddttt7sMf/nD1vA/bWluenrZ0rrWnc6enPVtbnp62dK61p3Mnpz27/TJCv/Vbv4Xv+q7vqn52++23x/WNjY0ozPrSl76Eu+++O34mpcRdd92FL37xi9X97GX78lirxFTf9m3fhg9+8IOTn0/t65FHHsF/+A//Ab/wC78QP18ul9mx7rrrruy8+euNjQ3cfPPN8fX3f//34zWveQ0++9nP4tOf/jQuXLiAv/gX/+LkeR22tbY8PW0JtPY8Te3Z2vL0tCXQ2vOktOe+Ac+12J133ok/+IM/iK+dc/jjP/5jPPWpTwUACCH2tf1R2V133YXXv/71eP3rXz+5DT/3O+64A5/61Kfi6+3t7cz3uLa2hhe/+MX4tV/7NXzyk5/EK17xisM58UO01pbeTkNbAq09yU5De7a29HYa2hJo7Ul2kO15JIkHX/ziF+O3f/u38bu/+7sYhgFvetObMJ/P8fznPx8AcNttt+Gzn/3snrc/Kvs7f+fv4N/8m3+DD3/4w3DO4erVq/jt3/5tXL58ubr9D/3QD+GBBx7Af/tv/w3L5RL3338/nHPZNj/6oz+Kt73tbXjXu96Fl7/85UfxMw7UWlsmu9HbEmjtye1Gb8/Wlslu9LYEWntyO6j2PBLA803f9E14+9vfjr//9/8+brnlFjzwwAN44IEHMJvNAACve93r8LM/+7O4ePEifu7nfm7X7fdrv/d7vzfKJ/CRj3xk1+8997nPxVve8hb82I/9GJ70pCfhT//pP423ve1tk9s/85nPxC/8wi/gpS99Ke644w6cP38et956K+bzedzmnnvugZQSf/7P/3k87WlPi++fO3cODz300DX9vqO01panpy2B1p6nqT1bW56etgRaex5GewpXQqlmB2ZXrlzBxYsX8ZnPfAZ/6k/9qfj+X/pLfwk/8iM/gr/9t//2MZ5ds/1Ya8vTZa09T4+1tjxddqjteU1S52aT9q53vctdvXrVXblyxd13333uOc95jrPWxs//+3//7+7ChQvu0qVLx3iWzfZirS1Pl7X2PD3W2vJ02VG1ZyseesD2X/7Lf8Gdd96JO++8E5/5zGfwzne+Mwq07r33XnzXd30Xfv7nfx7nz58/5jNttpu1tjxd1trz9Fhry9NlR9WezaXVrFmzZs2aNTv11hieZs2aNWvWrNmptwZ4mjVr1qxZs2an3g4E8Lz5zW/Gc5/7XMznc7zyla/cdft/9a/+FW6//XZcuHABr3rVq7BYLOJnX/nKV/ADP/AD2NzcxN13341f//VfP4hTzGy3Y2xtbeG1r30tbrnlFly4cAHf+Z3fue9j/N7v/R42NzeruQe+9Vu/FW9+85uv+fwPyxaLBV796lfj7rvvxvnz5/Gt3/qteM973rPyO60tT2Zbkr385S/HHXfcgZtuuglPf/rT8cu//Msrt2/tebLbEwA+85nPYG1tbdd8JK0tT3ZbvvCFL8Ta2loM+f6mb/qmldu39jyA9rw+bbW33/iN33D/+T//Z/ea17zG3XvvvSu3fe973+tuvfVW9/DDD7uvfOUrWbE055x76Utf6l784he7y5cvu4ceesjddNNN7uGHH973Od1///3u/vvvr3622zFe9rKXuZe85CXusccec1pr9z/+x//Y9/Gd8/VD3vrWt2bv/cEf/IGbzWbuy1/+8jXt8zDtypUr7v7773d/9Ed/5Iwx7oEHHnDnzp1zf/RHf1TdvrXlyW1LsocffjgW7fvEJz7hbrvttslr0Nrz5Lenc8795b/8l913fMd3uJe97GWT27S2PPlt+YIXvMC95S1v2dO2rT0Ppj0PNCz99a9//a6A52/+zb/pXve618XX73//+91tt93mnPMDbt/37lOf+lT8/OUvf3nWsA888IB79rOf7S5cuOC+/du/3X3sYx+rHmeq4XY7xic/+Ul3/vx598QTT+z6e51z7mtf+5p71ate5W6//XZ35513ute//vVOa+2cc+5f/It/4V70ohdl2//kT/6k+4Ef+IE97fsk2Ld8y7e4//Sf/lP1s9aWN1ZbfvKTn3S33367+4//8T9WP2/tefLb8x3veIf74R/+YXf//fevBDytLU9+W+4H8LT2PJj2PHINz8c//nE8+9nPjq+f/exn49FHH8Xjjz+OT3/601BK4elPf3r2+cc//nEAwEc/+lG86lWvwr/9t/8Wjz/+OO677z583/d9X0bt7Wa7HePDH/4w7r77btx///245ZZb8C3f8i34jd/4jcn93Xvvvei6Dn/4h3+I//k//yfe9773RbfBK17xCjz00EP4/Oc/DwCw1uLXf/3X8aM/+qN7Pt/jtEcffRSf/vSn8cxnPrP6eWvLG6MtX/va12JjYwPPeMYzcMcdd+Cv/bW/Vt2utefJbs9Lly7hn/7Tf4o3velNu27b2vJktyXZ6173Otxyyy2455578OCDD05u19rzYNrzyAHPlStXcOHChfia1i9fvjz6jD4nf95b3vIW3HfffXje854HpRTuvfdezOdzfOhDH7rm45fH+MIXvoCHH34YFy5cwJe+9CW8+c1vxr333otPfOITo309+uijeM973oOf//mfx+bmJm699Vb8+I//ON75zncC8EXUXvCCF+Dtb387AOB3f/d3sbOzg7/+1//6ns/3uGwYBrzsZS/Dvffei2c84xnVbVpb3hht+Yu/+Iu4fPkyHnroIfzgD/5glrKdW2vPk92e/+Sf/BO8+tWvzipLT1lry5PdlgDwxje+EZ/97GfxxS9+EX/37/5dfO/3fi/+7//9v9VtW3seTHseOeA5d+4cLl26FF/T+vnz50ef0eeUbOiRRx7Bm970Jly8eDH+//Ef/3EsO/893/M98f03vOENeMMb3hBff8/3fE/1+OUx1tfX0fc9fuqnfgqz2QwveMEL8KIXvQjve9/7Rr/lkUcewTAMuOOOO+Jx7rvvPjz22GNxm3vvvRe/8iu/AgD41V/9VfzIj/wI+r6/rmt42GatxSte8QrMZrOVIrHWlie/LcmUUviO7/gOfOELX8Av/dIvVbdp7Xly2/N//a//hfe///348R//8T1t39ry5LYl2fOe9zycP38e8/kc9957L+655x78zu/8TnXb1p4H057dde9hn/bMZz4TH/vYx/DiF78YAPCxj30Mt912G26++Wasra1Ba43PfOYz+DN/5s/Ez8mlslvZ+Xe/+91x/Z/9s3+WLcme/vSnrzzGs571rD3/lrvuugvz+Rxf/vKX0XX1S/mDP/iDeO1rX4sPfOAD+M3f/M2VtOVJMOccXv3qV+PRRx/F7/zO76y8yVpbPrjn/Z8U01pPziJbez645/0ftT344IP43Oc+h6//+q8H4Gfcxhj8n//zf/DRj350tH1rywf3vP+TYkKIUZVwstaeD+55/yvtulVAzrlhGNz29rb7x//4H7uXv/zlbnt72w3DUN32Pe95j7vtttvcxz/+cfeVr3zFvehFL8rEVS95yUvcS1/6UnflyhX3wQ9+MFOCf+QjH3Ff93Vf5z70oQ85a627cuWKe/e7312tr7FKbb7qGMvl0n3jN36j++mf/mk3DIP74Ac/6M6dO+c+8YlPVPf1fd/3fe4f/IN/4J544glnjHF/+Id/6B588MFsm1e+8pXu7rvvdt/8zd+867U8brvvvvvc8573PHf58uVdt21tebLt0Ucfde94xzvc5cuXndbavfe973UbGxvut37rt6rbt/Y8uXb16lX3J3/yJ/H/J37iJ9zf+Bt/wz322GPV7Vtbnmz76le/6t773vfGsfLtb3+729jYcJ/85Cer27f2PBg7EMBz//33OwDZP120Rx55xG1ubrpHHnkkbv+mN73J3Xrrre78+fPula98ZQybdc65xx9/3H3/93+/29jYcHfddZf7tV/7texY73nPe9xzn/tcd+HCBXf77be7H/qhH9p3w+12jIcffth927d9m9vY2HB/9s/+Wfebv/mbk7/9a1/7mnvNa17jnvrUp7qbbrrJPec5z3HveMc7sm0+8IEPOADuDW94w+R+ToJ97nOfcwDcfD53m5ub8f/tb3+7c661pXM3Tls659xjjz3mvvM7v9NduHDBnT9/3v25P/fn3L/7d/8uft7a88ZqT25llFZryxurLR977DH33Oc+1507d85duHDBPe95z3Pve9/74uetPQ+nPVstrWbNmjVr1qzZqbdWWqJZs2bNmjVrduqtAZ5mzZo1a9as2am3BniaNWvWrFmzZqfeGuBp1qxZs2bNmp16a4CnWbNmzZo1a3bqbWXiQSHEUZ1Hswk7yCC662tPEfYx/Vl+rOnPrs/89ahflvGbabuTEYx4UO15fM9mftzjOI3xJTyetj38Z1MU1ze98O+X3xGj5672HI6PNf5eXKseZ7f773puivo1rV9rR3+j79ee+/E+XNzOWg1r7f5Pt2Jt3Dx+m3o2jzzTcrPjtnLAqr9OSzl6X9A+hMg+z7bh7/NjilUdr7fsZg3rLnZktLRwPo9UfN85G78z3j59zvc/tc5OoHqON5bVr/NU29deU3uO3+cDZHGc6+n4XTmM7d5msf0xbsvdXvMjHZcJIeNzlK1DxGctfc5eQ0BIOfpcChW+F15LVexTQko5ebxs+/J5zp53Oeo3yvXdjD+n+dI/57wfoGeZnv/4bIfn3lpb+dyMtrc2feerX330Oluv2Y1gDfCcYdsP2Invsc6XfzbVKaZtcuA0dQ61wcw5CxFeCwIyIQ07dWw+LXt4D9Yf3zn4hQvHoUE7AR+ezr2e2l3gxgY9+wc7NaCzK8gZ7U8Wr3cf/LJrL3IAE9szfFY3GfZj4/Gm2nY6jf/xtfd+wY4UkgEaGUBNAD4RBBWfTQCdtK9pUFUeq5zk+Ksn6cdkv6tmo+sfQY1lz74cTVo8AJIF+JEBwFgoKeDgv2ctAR0BZw2ccPF1PAfnrgubN7txrAGeM2rTA1x91pYDmN07xXK7uB/OFEyMXImdIWAy7vQQwA8BH9o+dm4EfByyAdKDHBkHxdMNenZ3RVwL0KmBnN2AUe08yuvMt/ftouI6/RwPfsfgJ4FaYAr41EBQtv90JjiO9t4r2JFSZc9aycTw7ekzD2gKUFQBOvyzOtPD+wRZPO91Vng3K1k652R6vwBB1BeU4MfG5zkBHQEHoURifIRfF7BwomR+G+I5C9YAzxm0VWBnN1Znv7M/mm1i1Cmu7mB8J6gqdLad6PRc4G24H16GsctGtod/drpBz7WBnf0AnZq7c/zd6biIqVugBlRSe4TBMLSzoLf3AHz2x/YcfXvvBnYi8KgAEQ6CMkAjie1Rk+CIsz3TrFEOcCb7ivJeAYAV9wC4GxLpmR+zOjI+5zXwA2si62OtiW1qrYmMj7X+PrDWA2Ypaf8N7JwVa4DnDNv1gJ1ylll2nPln+ffLY5dW8+cn9kYyX71JbI6zkE5kr1PHKTO2h7u49gd6bhRbDXb2yuqU98DUNiVYGn13n+YysBPeY/orYn9cdFnmLsz0XWrX1M78M1qn8z1e0MOelWsEO+TCKlkdWbyfAyA5AjrZvgsd0GhCE1xkdA13u7fIkrsyZ/GypbNhkpMYH//Mj8EPtR/dC1PAxzr/G2LfEdxce2Wjmt3Y1gDPGbPag10DO7uyOmyZ6wEqnTTrGOsswNi1wGd51PF5aprpdkLH5gWI1OEJOGujq8taE/Yoqy6u/YGeG4Hl2T/Y2SvQqTE5VXH6Hgc9blyvg3j907qL7ZNcl6nNAiuAMfBJtjvbc5ygRwh2DVeAHVGyN4K/ZiCmwuoQqJFSjYBODqAkBORIA8RBVDl5qd4fNbAryB2p4lu1AAO/zIXHcBZSJlaHgx8hSKsjYYWtAh9rLaQFc2dZzxPesBObZvu1BnjOqE0OWivATk6bp86VZoGxE40dZe77H7E8u2p4creVEDYHPzJ1ekLYOGtLnZiFlCp+31pE0OOQuz5OB+i5PrAzapfKQMa/V4Kc3QDUamO6DeSDXlhBTbCetxUDPoWri/ZZ6rfo/E4E6DkosCMK9oZtK6Vk4CZ9t/bM5u6v6Wd5N2C8m1Xb3Dk4dk9Qe9Okh8BPmgTJGHXlwY8HPonZCe4sITK2Jx23MTxnwRrgOYO2X7BT6yDTUmYdK6fRy5llLbqjZrkry3naGXxW58GPczllLSBgXZrNcbbHWhNmh359P6CncgVx8kDP3sBOybhMsTp7jcKr3UP58WTa7y42FqsHd2Sm6RgL1gVjfbzJ5OoatXP4HMCJi9a7BrBTm2RwF1bJ6nD3Vx0k1Vmi8nymnufsftgjiKi1e/6fAJCUZT9AIecy9AkWCBodIVL/gDAZonMktodEzXvEZs1ucGuA54xZfeDbG9gpWR3qNAnoCN6pjr5TdpapY+SWDXaZVsezOsTYWGthLXVyAeQIA1jB9hHYnvA9cm/5fYROEDxipw56VoOfk2D7AztVHU6F1dkL0Klul8349z7bT6BG0hvZYBhdlmwQDE5NRHZnSrsVLtOUtuf4QU/tetbBTo1RLScaHLDUnskIithzXAKdqWiuBK7CORftPRWlxV+X7mu/HD/743w6fgJEri1ieD1oGQMfIQwTK9OkKGd7pKS2bXbarQGeM2h84JsCOzUff+o4i45VKCil4oySd7L+dTkLFaCIj5FR5wdyQ1nWsXmKmjo3orQJ+Ph924ztARBdXFKCaXq8a2RKyFy7ZifTtXXtYGevrE4JdEaRPqMBr876lOdGNqXd4oOdELIYBNOAhzBA+kshUYvUI7ZnNxfXcYIeft3zoIDdwQ7X66TP2HvhOUwTlLSfGkAqXWGpTxDZe7VghHRfSf7jxj+Yt3uWeydnd0aTHwZ2pKCQ9DrwsVZAwCbmV9iM7QEAaxvcOSvWAM8ZtbKjQtF5rQI7SnWxo5Wqg5QKSioImYAPn0kSKMpyfJQDLmraHZ44zARwY2GNhg3gxxgNKSWM0WEmamAY2yNEmjVaiwz0EOvDQQ9dGxTRH/79k870XB/YuVagwz/j+/ef7z0nSylS59E5HNwIiJBALgGV9JkbJaUs2R7u4jpJoKd2bXO3k5wEOyVIGU9Q8meRg6Pd2dkc+ExNXvL2r2fmLq3G7iSAM2Z3CPhalyY8wrlJ4JMzvyaeD02KaKJUBWTNTp01wHPGrOyMAIQHP3djlWBHyS7OEJVSIFZHqS6CoHxdRZDDmaAywyudE1Bqd5JAMYEdA2sMrFIwxsAaDSmVBzsQsNLCGL5PDWsBpboIckrQI8Q4eqsc7KaBznGzPNMug+sFO2U+ljLlAI/gSXlaPMAZAVrW1vz8ymsaXVUsFwsJVB1cHOB4igK/Ti4Lm7m6anmZDg70HKz5MXc80SgBxxTYmdTrTEw8ymeyzgxxJog/uwK5iJm/n9rXX/I9AAnLwe04WIEAEIEc5xyElXDWQobABSvECPh4dscgMb+J7QH8nSEtWgntM2QnCPDUHoyTPZu+kS2fhRdUuhBVsBOZHenBjZIKMgAdD4S6wPDQa1rn7q0y2iNv9zG7YxPYsRZW6cDq2Ah8pJAwUsIY37kZIQBDgMaG7Wn/vocj0OMHUYxAz43m2toP2CFGrQQ715PrJR+Y83urPIfSyll+cl2No3OksLCOuzkFnBUs1DgxPhJydXoCIAO5xwt62CSgeD72CnZqrmTuwio1d8TOjqO48u1j27JQ9XRvhDaV42c6LidAj7PjcPRs3dgMAAlLAvbE7lC7SWkj8IFlIEcIoML2pNc2bt/s9NsxAp7Vfn2gTI9w/IPKabBVup1shr8b2GH/Uip0Xc8+UyNQVM44a4CHd3bJleUBiwc9Gsb4fft1CSkMtBCA8edNDE8yDaCLoCe5P4jpooR0MlLe/FrVXFsn2cZMyu5gpywnUGquSr0HAZ1V2XvL+4mfm2DP/jgHy7gopHN+Jk9tJ4JwldrEBmGqDzU2OYAKAg0udifQQ+6xGujh1/Oo2j1e/4zdUex67h/sTDGtdc3dGBgRm5O7zACh8jaWitoYEbTRb1plyY3JQY8HQ05Rm9vIAlnrYAPw8eA33QcJ+OQurRrbYwziJKjZ2bFjADz16I2pmV/qvOK7h36Gp9eKa1yd4Rf+fwZ2lOozNqdTPVTXB9dWH8BOXwVEtI+alodbxu5Y36FZS6BHR1eWNgOk7GDkEAdjrYdsUBVCQmsgBz2+lyM62wIQxA4IsdK1lS7byWJ5as9Oyfhk27DBM3dJFOwNG2xLvQd/T2Ri17pLjJ/TFMj1S1YqxCX3FbmrolBdiAz4kFjdZ9suovScz8lEzB7puQj08HOKOhEmouXX8TDBDwebGatWuf67gZ3yeVOqy7Yl93PN/eVBUgI6fpvQlordN1JASsZIMZaHX9MpzJOwTpmGgul4nINzCtaEiYe1kEbAOXhQY2UGfJI2xyC/txPbQ/0Bubj868bwnAU7YsBTRnIUYsdi5lfz5fpno4Gea7Vypp/NzFG2C+8QczaHgA2Bnk51YUkgiMAPY3uUjB2mlDJS3SICDMTOzloLZyysdR7sGANjvTvLmAFCKyilobUMYMd3bNojHO/W8v1aBD2+LIWKPnsTZvjc9bPKtXUSWZ7dXFnZAMQYvRo4mUomuZveg0f07RaRt8qlhUKoGvU61sJKGxmaLEKvdFlY43VbMkXpEcDhup7SlVlqeuhcj9S1VbKtAQBxBg0ib7cS7CQ2lZiccYABPc+R1ZH8/bKdxeiZJZAjC5bHn14CQGV7c9cWubPoemf3gHUR0BAAkjKweUbCqZCiwojE5hDwCfeFZ3wZywMNYnv8eQX3NzQUuup92ez02RECntzHW85O+EwQQKbd4Ov+s7jV0Z3+KTB6pqdcWTTo0QBWuqc42CmXfT8Lr7vR57KTngXqJKRSsaOUBHjCkjo6Guys8f9Gd7DawBgLrQcY00HKwQMf7oopxNhx5qgKLY4BnHDwUVpJxDzl2vLXbi8FJ4/PpsBO/Lza5tNgZyrH0ipmIA6KE2UJdnNpjSY41sKBnv3A4BQuC4rQGwtUTRSkUv4m0vUQ6IntzUBPuob7SUR5IC3I+sYUkZW/lwPODJAWYCcHMV1su3w7xf45CBoDHalEbFMZWR7/7Ma2HjE8e3dpZWLlMOmRoW6eNQkAC+lZOWslrLSR8aF7wgOdlHyU2B4AmVbHWh/UAHRe19PsTNgRAZ4c6NTFrl0Wnkwhx7SksGMSr56kweZGstrsv9TWSJHP9nIX1Rjk9P0MXTdDp3p07D3VK3R9B6kkur6D6gLd3tHgKvIoDptYPGstjDZwxsIYCzNo6MFADRJad1Cyw6BTCLwI4lkAWf4PDUARMHYWTvoIIBkigYQQUc8z5draG8tz9G6tqcGkDAkuwQ5nZHKQmxLRrXKJ8NQDiUGoaz9yBmAcrQUgBznxPyWbrLk3CfgYY/IIPcb2GOgIeqjNOOiRAQzVisvSddybcP36zYMDDhIlZHY9p9g1rtnJwQ6PpuTgRinln/EpgNSNgY6M4EdkICexPLuLl2vtXi6dc7EfsAR8GKPjlPJAxlhIKTLgIzQgRO/zcsHE+4Dr+3x7A5SuQiCFqjc7/XYEgCfd/Jn+o5uh72fo+7XoDqEBlzo1rZfQwxKDXvp1PcS9etADNJZnf0aDH4DUuZauLDZrVMoD1Oi+CqBnBHZCe/plj27WQ/UKfViqTkEpCdn5dVlQ32Q0s7fGeb1OYHbMoKAGAzMoyKWGGXwnr3V+/nE/rGxA/FcU/RNAT9DzcNdWEq7eOCxP1X3A3CI1ZmfM6Ilihp8zAwnc1AZOhcmBuXL80jiz491aCej45zxPS+BZHROBgbUSCBMiYnuy2TvLvg0g6jyABHJrxWVXubYOwyJQRN5O+fOZuxJLzc4qsFPbhrcfuZyVUnWgQ+ucoZU8ISGxPOxenAA92XVkcgVn0/MqHUVqBaFy52CNhbQiuq4I+Bgdjm8thA5sr0nsTkpDQc910PWBlzFtdtrtkAFPutnpoeu6Hn2/htlsDfP5BubzDcxma5jN5pDSn46zFoNeYrncxmKxhcViG8vleHbYQM+1Wc2VVU1aRiwcsTtBo8MZnr6fo+tmmPVr6PoZulmHftahm/Vhvc+YHgI+XPxIlijtHPDowcB0Cqo30AsPmvSyHunld2SZcNWyfypP4aKex4nTwfLUmLu0TcnmCXBGbwrs5JF5KovYU7JLA2WMxBtre0h4C5EG8dJq2XRr7mxrNIw0nqURpOkKEWNCwLBUBECavQMhWCskmSNXJhWXzULWXTnjPzrXFmfYYrsUOh2BIs/OiAXaX56s2MYdAR0PbmRHx8iBDn+dGB6scGvx+zD91r0Ilm2I1LLWRvATgY7MgQ+EgbQM+AS2xxgBAek1fcjdqXR/GIwBWbPTaYfO8ER2J8ww+n4N8/k6NjZuwvr6+bA8h/l8HV039x2XHrBYbmNn5wq2ti5ja+tSnI1z+tsXjmtgZ182we6QWyIXLnK3RehAGdghZmfWr6GfzT3AmfeYzXt0cwZ4OoV+1kF2AfiEDrUELFysarWB0RbGGHSDgR401FJ7lmipQRoCT6Fz7ZeD61MnqlSevMwpG11bVGNHSrVnluckWwkmxmxeYn04YyAZK5MyZq/Os5SnHFBZ+gGepDKyEkU2Xm4J7KR8O+TGMjakJDAaVnWQRkfgI4yMbA93WwgE4TqK2XsQrFO7wwmAsRHOOX+OTM9D17Xm2jpYC/cxA6ZepzMWKZdu6BK8TIGdjJmLgNY/i8TqkMaOT0qIkc0ZHlTcWgJSJWZnitHjlrm1CsGypNfWBy9kmp0C+JBnwIege4AjtAmgR8fjWZHaMb8/GuA5C3aIgCd3k8jgxprN1rCxcRM2Ny/i/Pkn46abbsb58xexftMG+nkPIQT0UmP7yjauXr6Ey5e/AqX8bZn59FmG1cby7M9q7E7G9BSurEysrLoq2OnnvQc7az36+Qw9AzzdrEPXK6jeL2WcSYaOkw041nra2oMeC601zGAwLAfPDnWe4SkjRKIGJNZasugyXYgNnaiP+JEhcy+xPFIqWOMiy1Mb/Grhysfp1romVxaL/KlqbybATtf1kdXJ0g/E7fggKqOrJMvdIpJmK7tuhXbLOeszajsDZf2AlSeZVBDRheVn8EKIEI2XGx/UnHNZZl0qLDvKx7Qn19bBtWNsu4ora0qknEfIsTw6ktoiTVYywMpZusLFXAM+GdtDDE/h1ipz8iSWB/G6TVmKvCV3NjE6SbBM4Mcam7G/BHyMNv5eD+wOtIEQYAlIOzoRCJHfJHR/NIbnbNiRMDwyPHh9P8N8voH19fM4f/7JePKTb8eTnnILLt56EeeedA7zDc/wDIsBV5+4iice20D/2JoXJQago/XgZ3uWQlQby7N34wNgzu7wLKsizATj4Ke6NKuPwCewPOTGCmBntjbzgGfNA6A+urY6D3g6NdLxRCOGJ3NndTBaQ/UKgxr8zLNwhfmvcmqcIjmIMTCw1nfmPpeLgbPk2rCxo0bBfpCLI2MA6EqeILcWMI7K4u9xhoCDoFKgXMugzcXqXsfVhcmLTzTZdezeqDAHyfWRrvHIWLtzho9SEiilQmSeBz5C67RfIaGFBkLCyXHiST+oSTh4zYYXMntXpvRgN4iYMz0PY/fSvXB4LI8QyKOyGJvDXZAxIosB1iwCi0Vf1cAOAdYIcMLkgbuaS7dzZHi4poc0PjKFqsdnaIVbi1vNneXvBenBr7FRsDxyZykBo4NYWSCwOiayPUbn7eexT739biwet9n12KECnki9hgfQu7M2sLFxE2666WY86Sm34Cl3PQW3fN0tuHDLBayfX4cQAsvtJS49fskDICVh9IDlsMAwLLBcbkPrJaQZ4HNpUKZNoLE8u1vW+YgCAIVBkcSQStEsMc3quxB63hHLUwE7s/VZWPeAp18LLE/XZQJmPjMEmEsruLJIv6OXQ9CLyBDplVPlPLoj6j26wPBYr/lQKuVzkVJ5ejwkspvS8hDLcyjT+QOyMcgRk64sMFeJlKp4XQc7CdiwNARSFTmXUuJJnoKAD5CluyMaRU9xsBNm8t6lqWB1H/MvGdNBigHaeMBupIpun9r1yE3DOe++lDI5M1KyurFri0dt0f4PZ4JVsjky9p+SRW15BoVPTvKw9DLytQp2ijQRxJxSBCUXL/N2zPJoVRiedH67i5bjdfYrAfDkbm2pZHBnybo7i7uvwsQlsj1CwEgBIQyM5seeGvIaw3MW7NAAD++AaAbSqQ6z2RrW18/h/PmLuHjrRdzydbfgtrtvw623PgkXNzYhhcDlnR08dtM6ZCehlxqLqzvY2r6E7e1L6Ps1KLUNEvAdp0vhRrWMfuYz/tDRcpCa2B2VMTxex9Ojn3WYzcmNlcDObH3G3q8ImJkmgCwBnhCZpQ3UUns3WDfEwTP8iPQdmxgCH8oawpithVEaivQgUkcwJ6WEsxJWSEDYeB2c92HF6+ScdzXkmo6TFa01YnemXFlFm+d6LRrIVoMd78rM0xMo5YFs13XR5Vi6RmhwrBaTtCkEmbszY5SettBaQukOWvuJjggJJ4XW2W/XGuiKXs2BWAMFEqxzETMHuqVrC86x/R82y5NHZcWkrCtdWckVWbI/UeOzB7BD65l4WRG7w0LVC7dWBmaJnYplJjjLU7RJTbRMrk1rfRsxEExJSK2xI3eWEIA1nuHxTM5u4CXdIM5ZSKgq8djs9NkhAZ4yckTEwXI2m2M+X8f6TRs496RzuHDLBdx665Nw9y1PwZM3N6GkxKXtbfRKYdgZcOWrV/DE//cE1tY2A9jp4oNNHXteEbnZKuMDYHw9CntNbq4U1poPhH0/C5FYXqDczz2TE8HO2gzztRl6YnrmPbq+QzfroDqFTkp0ivL+CNjQ8RlroQ0lGdTo+g56OST6vHSB2RR9RZ2hMj1UZ6CsRtf1QeTqQbe1xg8OpOVxoYqykIjRPSIBaRIv1wa94wc6E+wOOKjN9VnRlcXYg+gSkTkrQGDHg5xxgsmum6PrkjZL9bkuhNa524PP+PkM39qk3+CAl9bVIKEHAykFtFbst8nR9dAaUMplg2lcOplyMQkVc/Q44Uah6jWwW7vuB2WJiWNsTozKyiO0xCjAgANW/rwyt2UBdro+vMdTRqiC7WHrBHQiCFIMjK3Ix1O7ZtW2YcCXwK/X7DCGR3pAZbRJrI4UENJCSF84OOZhEkzLg1Lg1QHOQSlq24Z4zoIdvoYHaYClgbPrvMh1vjHH+vl1XNzYxJM3N3HzuXOQQqCTElcXCzx6bh1rm2uYrXv3iWI5QBokv04rBkM/e0xix9jJsoiPpOUIuXV65V1V4T8Kl+c95gH4EOtDDM+s6zDrFDqpoKSEYgyPdQ4mMDPaWiyGAUNnYkdbVl32fv4gdNaeFbCBFbCmh5EDjDR+ELAG1uo4YDhbCC25dqd0a+3/4uKo3KtT7I5fTaG4BGJLVxbptDi4XZVNmyeY9GL0LkbhqbCu+jRwZuHNldxLPDrHcsATGB4zGBhtYJSEkNoPrEMoE4DlaEAt28uDHy+EVqrzQCfkYvKReTKwPjaL2opgd1Rv6/BYngRwZGJ7IsBhrqwCsCqVAGrS9YyjsfYKdiJDV7A9ckWOnql8PLxtwovMRVzm35Hk3gqaHc76kZuz1O0QqCHAVdGuww91mh0XcIrFaLXh5EzYkdbS4p0T/5dCQEkJSe4vWlc5BY+ic6/l9Gi22spZV5mTp5z5R30HC0vuOs/W9LO+/j8nZoexPbMe834MeHwHDViWWl4bg6Ux6KTEQml/H6iK6ytkYzYmDIphXfUGUmvvfrMaSnWhDEUCzEZ48GNNWFrm1ioZw6KTpmt3klypu7E7MedO1IowZoCieaKOp55VO0swyYXoAfjQkmfW5tE+HLTy65eFHhsPWo220IOG7f1SB/2IXmpIzh4MBXji687nceFLKQvXlnHxnjfhO1k+psDylFqeQ2m/wO6U7ZcyL6usPYnRSZOUMFEp8uwk1q0OdgiocvFyjaUrdVnVUHUxbucpRqzmzopsn0pBBzGjsgm6HRN0OyYwPEJASBNz7XQIrI40xfFUceyQ981L1g+2QZudSDsywEPZUz1KH6CXGsNiwHJ7ics7O7i0vY0ugJ0ntrdweWcHi60FhsUSeqlh9AAbcnLEjKyHnhvjdFqm5yi0HVIUs8miY5XSd5ZSycjyqC4xPTE6a95HsLM2n2Gt94Bn3nXouw59cGmVGh5yafXWYhHOIbJAhc7DaIN+6PwAOWiYXsEMCrrjOWMIvPn6W/QbKeGckArCWTaw2FG01pRr47itBvin2J34+7jINbg6UlQezeAVOpXcWVWwU4vAI8Yn6LT4YMlrMZUMD082yV1aalAwg4kDrApLLeXKKbkfOAOrA6qi7oXqCjSwJteWsD6nF7F7DinBYC0f02FNtDi7w4XKkoGgWq6sLGqLRW+No7GYTqcCdjhIzQBQ5tZiep6iXfNUEYiMnr9mE6JlDnpZ/h3KqEyV0o3xTK8N7iyK0jKSua3IlSVrLixAOX5sFZeUaqDZ6bdDBzyUF4VqYg16icVy2+fZeeIqLj1+CY/dtI5eKVxdLKJo+Utf/SouPX4Jl796BVuXt7BYbGEYljBmgDXGDz4N9OzL/AyMBsQk/uWi1sQGcG1ACn2NLE/oKD3T4zUcfeHe6mYd5rMea32P9VkAPQHwkIZH1QCPNdDGQsnE/FmivonuNkHYOvhILtV3ntnpdOzUpe7ijNdH9aV8JiWrlTOH9TwrNR1P/p3jCEdPwLUcXGrsTnI58FwtpUA9ZNeWKgmUieVhYIei7zLg0zGdVs8G2SJfC1kEPEGUarQvH6EHA9UpaKXDICyhlfTakJrwmfZDkXmqgwp5mCj5JLm2JAGdAujyBJSk5SkjtuicD6cx2fUReRHR5ILMAWsSLBOoJ4BJ4GQMXkqwk/6JAVK5i6tIRjhZemJFIVF/P2bNlbc/KxjqjI01s6yp63You3JkeISBkAI6Azo56OGMoupC2yqXMT/NTrcdEuBhgxO5HkJtrGXIoHz18iU88dgG5htzyE5i2Bnw6Ll1SCWw2Frg0uOX8OUvfBlPPPY1XPnqFWxtX06gx/qioidtxn2jWT4wkm4giZbjLFJw0CNDpxlm3ER/95RnJwyAweU1D8zOWvif9x165d1aUiT3JeAFyx7wKGhpMjdN1PfMLPRg0M1C9uXed9BdF5idSMUn9xUHbUmnlACAvwYyf81T0Fdm+fwanjTXll+WkVn5YMk1PTFvS+nKihqeLsu3RGDHr3fo50VJEUoyWeRcIlfHCPAwlxYJlVXvWTvVKeilRBKtT7MFDiFpYWfDRIuxR5LATtjGeqYvsjzBjcVZnnQ9jybrdsnucDZyKiorLzJaAB/S4EiRR2OpKSCUouy6Lnd71cLUyc1F4Gw34XKtzeKSFwydqJklWDSWNCKAHQMhuTC5g8mqnwfQYxOwUXEZsrG7rIZMs1Nsh8rwJMDjc6HoYYnFYgtbW5dx+fJXfFLB4Je/8tUrWNtcgxACw2KJy1+9gice+xoe/5Ov4NKlL+Pq1Sew2LmKYdiB1gOMMalDcw4tB8/ejGaPU/qdnAlIM0hifITynaZgs8cuROl0JFgNYmav1+kwp/++w7zr0SuFWdehUznIcM7BBA3PwGbxxjnMg6tLG4N+1sEMOhy3g+67mH1ZBb2I4rR7jeEQyS0SwQ0DCw42DoInCdAkKzpo+k3gehDWxhPsThaNl2XX7mLdtK6bR0DDwQ6lHZh0cTGmgDMCdI50XcsMulYbXyi2U5BKR2ajxsYBYOzOPAEcaz2jYw2sUlDOuzB97i45ZnnYPU8RWxmYFaWO66AHSFG0W7pHa89nmpDky1QYNDExkkALuaVimyQ3FoEdH2mnVgqaidGhZy4CURamnlie+OvyJkPSSNUKhpJg2WiTgA+xPNIDHQJUicfJhcmA37c/jgrABux+cVC2ubTOkh2+Syv40qM7a7GNra1LXlSHUDfr6g6e+P+ewGx95m/gpcbW5S1c+eoVXLr0ZTzxxJextfUEdhZXMQwLGDPEhHInczA6qbb6oR53uEzbE2ePks0KVQQYUqkMAKlOYRb+e9LtqA69Upj3HvRQlFYGeKzNUrVY5zDvOlhrMRjj/ztdAJx0PoISGlKnLChfEwG3gvUoxPCTHd9owDt+y9xZ2XtjdofAT43d8Vl6VRK8kisrMjyhTXvmsgzMDqUjKJkeYniiRqQoOklW5lkx2jM7sjMwXUh0p6RPZsfYIe4Ksdais+QW60PSSRNdW9KaqGmpsTwxFxO8a4tYnhLwiiBePrz2TCLlUruzkt0RKn8+ZbpuntFRMYMyD03Pc/DkYIdrsKayMZfCZa/jCYCM9x0TzxSloqC2NM4Xg/bpIlwULBuT18yKkVmaRMpdxvAQ6HHOoUMHjcTmAICzCorl/FGu5eE5K3aIgCe5tXKXln84AC9QWw4LbG1fwtraJrpuBiF8ZuXFYgtb25dx9eoT2Np6AlevXsJisQ09LP0s0NkGdg7AyllzGkR5hEjB+EQQFDq7MsJD+tQCnfTRWL2U6KQMAMiDnk4p9Mp36tylVQ6GvfIh6p2S8Z/rDvzxA7jhHb7w54aS6agwHvxasBc3HGk4/j35b80SS3KBbNB8xLQPZbJJ0mtxlofAzVo/mWAyKxgrxAjgAgnkGmthnQuRWQpqMNDEJBZi58TsImXXNha279BZB2u1z8isDJSjwqMK0pn4e4nl8YOqhLUEckRk+PJrerhuLXIDcaYJbKJRsjt8EkJi8wiKmCvLgx6RdDtZ6PlYs8PBjipEzDU9T0xGGNqXAI4KrA+Q2B16zi3rt10YJ6xz6MK94KSEcSz/jjB5zSyRsigTAEqWQI+zyYXF2RwZ3FsqskuH1qzNTpgdAcPjYvkHrYes07LWYBgWKYNySBNvrcYQ3F+LnavYWVzFYrGN5WIbg16GaK3k0rrhRqZjtppOhb+epNIDTS1ZEjmeqDAKU1USJKsgTu6U1450yr/XKw+IJBMlCyEgrB9onHMwyqGzBp2RUCL9SyHGACd0sJ4NEJlosgR0YSW7Hjc0pU0DZHxZCJgFEy7HdmT5lgp2h5cSIY1UHyOwirxLnOkJJUa6CHj6CG47BnZo9u+cC2J0EqtbaKUwGC8+p8G6BEgxs3YAOp3xDJGzLPGk8nmXrJEewAWWJ0bnFe7cKFhm94dAIV4/ZJZvil2lyUfuXqZrmTRp0dUUoqc4qIkARSWAFNkbptmpgR0exk5RWjE/DwOyBHJUFlVWZ06jO5O5l6xzUFLCOgdpLaywME6w0hHj3Dv1rDu64sJSacnYHWl9+YpG8ZwNO2TAk9CztQmFU2el9YDlcjvLoCyECIzQgGFYYhh2MAwL6GGJQS9DPR3dwM512n4G+Kp2YgQoEDtrAkGKAZLYIYIir9L7AKAEy8vinM+MLEVkgGSxL5Hl/WD/IgcwcbbMfvMkqwNiRexo+/2PcwKHeW9yRiC9N+HOQto2A6gigUWew4WzO77+WcWdxZgeDnYi89N3Pu8SAR4VwCoTqQN+wLPWwjgLbWzMwbSo3XMgwAOfYZuYnbBUxqILCShjwVFlPNjhvzOyPP46OMvvl725tQ5+fKT24XozniIisXKZCD8yYAH4qLxNI8hRCaTw0PSYTHAUvbVazyOVyJKHcoaHXgsxZne4WecyhoeAr3/+BYyVkNZCwMC6kHtHlyxb7sKipYp1uYJ+J7I6aWmNhJQOVsomWT4jdgR5eFJ+hfhOCFO3wc1FtbGooJ9zIfmY1UGg7EXKnqrWETA1OzirASAaOPPtMAoLrjEoMi7TdqVfXxbb2mJf/Dt8+3jcMkQ5Azm7szY3NKtTWLX9RqxWHonHgQ4vTxCz9rJovCROp9DzPsuyTWCnn/eYEdgJSSZ71XnGjw2KZNGlRWJ1oyG1B7s7RRtyVseGrLtdH0qKDCZGEFJKAqUMTCgynGtgJEQsJ0IaLhuB7dS1PHTXBwep8b5nzNx+2B3FXocl1+2owPqUoeo8QeGknkeIyOASc7dfhie25wqGRwkLHfahjYHoU0JB78oqdTsdNHRyYTnF2EAJaT24kdLBht9O2zXEczbs6BIPMpBC+TKstSk/CouaQUD+PndPEB8GkJSDncbunFQjP71d0UTWOaiJjnC8n/219VnUd2XuGGJ2isSSkQWif3Ddk/SFJiXlXPLuDhmi7yjZZMfyLhHTQwBo1ndYm/WYdynnErE8UkqoCogxxPjSwCl0Bm7jgGhC7TTKxjzrfEK6wZ+XHFj+mJBdW8kOWgzpN0Lmv79kA5lblwrJkvvt8NuP6+N4zqgymlKyz8RKdidGZXVMD0W6m8lQ9eTGKsEO5c/ijF2vVJyQEIPnl9MMTxQsw2VZ1knPJYWI5SLiRMmY0YiVWJ2USDCGoHNXlk2voytLev2Wky3T8lmxIwI8KQTRp/BngCe4OdLsPCR1i3Sny/Q6qeM5ewPaYVqtQ6frzz93QegHm96P7VK0EZ+9cbqa1qOOg52DtSmHCu8Iy9kgLOVvcTH0FJHCzs951W9etc2NAppqBTTjenXAFJk7Kw2wYVAUlLuFRK4qJpukCDxyc6mQWVn1Krqx5t0451JZSoTMhj7BWAutZGR3+O+gdo/FYbWFCqHrXd/B9L7mVtd3nukhEbtQ0R0UXUXMrVUDghB2dA3pNliVj+m62xBTLskEaqjdEujhkVmr2Z0oYGauLA5+plxeHOxQZGUX9Hee5RER+KjghhYTUVp0XcsJDY/SklJCMdDDAakUAsIICKQ24FFYADKXlbPBdUXsjvXsjlQK0niWh94/RWRvsxV2pLW0eOSWv5GToLlM106ZbPmg1DQ7B2erB/pUMJFvmwSjORDxQGUMbqI/PqyT64LADgmUqUOzcbtURJS2j9F+IZpndExjEwBy5b8dvVf6J9JvHEf/XRvwOaL7dMJlMHpNgyjLqM0H00wbEpgdEQbQMtkk5VyiJbE85MaayrnUBdDBs2tT22proIyMgyWQXB7z3i+tNjCDgg0lRHwpkXRuPjeMjDmipFaQJv02wdxD8feX12Xq+hHLIw5JuMwPF89tLKyGyKPrEmMlULI7BGSSUFlm4CfLulyEqtfADonPS3cWAR/S55Hb0oOdcXAEWcnuSOeTDBqmw5NCZG4t/l0ycmE5l7usCMwo5V1b0kg45dkd1flIPWJ5mp0NO2LAA3C2h4CPH1Dqmpx8sGlg5yAsDu5wo9f8eo+BA/9nwlHSVRiqWu4TBFqWLFBb4zMoG5PN8Pk94OBgrAvb+7w7cT1E8VjnYIyFIbFqOIcMAFWBzzSQ2SsjdNKsHEhG2aKzUgW8lEjp3ioEszFUXUbwI7sEhGTm6vKh571SmCmWd6nIudQXLi2KzOukhHEOykrIEGYMhMzanZ/12xC9pel42kyeTzxvyYGAYqxJDiLi1F5IAHzylQuXObMzNYBfd2sWbUPsXM5GFcwUAzgUmTjF7pRRWrnriwTJclSWIgKbAG7IhUXRl6TNSqLlBCCJpQFytxbPwWOd85IFB1ghIJ2EEhaDELDxXs6vlnMO6MKSykO4WjRWcmERyCGhspQyAqNG8RyGldf0+PvXYwA8ZAn47GW7ZodjtcHegw+bAQXKlk0gw1KxR+Nn3jaEBPt/D0i0tViGQqDaWGiZZ1D20Ri1WloWg9YR8Axax9eDSdXRLf0bB6Ntdm6k9XDOELrO2R7sAnJuMPBTWo2t4HXUSL+TDa5ZBl+RgQe+zst3RDFzzK3UReBDOZfoP7m0RAS51jnvwmADI7WPZ/Q6aGX9/sllFfPCqMlzTELeAAJ5WD7T8aTrYqrX7CgtMU1lxmwOSsf6IyGQA5sKwOGuL+/SYi6uAvzw9xOwSWCHgI+UEj0J3WUeVUlMXgI7+W9NXmhyV0vP9gnhNV3he4bwqC00QCpodgLoiS6sAHKiC8syF1Y4V2J5pBKQVsIK2xQ81217uYK1bY62nz1GwEN2Yw8sN5a5wKgk4TiQ6OCaFscDiKChioJRX6k8ApwQCkwAxGgDrTUWw4BOSizIty8KsKMclOSzPmQZlRfDgIXWWFKGZaMxGA0zGF84VAdgpXUsSeD/fdZeYnyso2KzpWvLBvedLX53hW08wQBoanDO2R6mU0lfzN+PYAAx/41nEVLuJakq6yIkmlQp55LXeMgIdjgbMLoPpPSCVMAXjXQWxip0yqKjpJNRDDtxDmE9ukKUBwIC45xSfDa/Srhcu86HeRuszH+VfTYORaffleuyUm4qAjiZcDmCxKT74S4uqRjYkSpjeQjscDH6FMsDrBAtE7h1SPm4rIUtgE6p6er4c6xSQsEEcqR3YUmbfr/1YM5rdmy4Tj6bc0M812LTkaGrLJ9k8u0Pv489AYCn2ZFbwebwdT67TmLxkIrfGQ8kQqK3CHCMBzh66HyV66WvczV0BotQC4ly8AC+w+qVRWdNnBHGPBzORTfYQmv/PwzhX2NYauhBY1gOHugMOoIcAkA+ZNnEKL/I/DhywRlEYbwjcXwOcui9G83NBeQi5vrnJRAqmB4GGghMxErY0X2S1mNYsvADH7U3JZaMOg+RcjORWWsBa4EwaBnn0EkFHbQVSnhRbBxMi2PHde7OUWL0e+i6lABwt+voJlzth2EZwGHanEl3VubaCoAm6F8k5ckiPQ2BIJUDnAz8BMaMWJ6YZ0fIqN8hkMTBTh6anoAOabVk5VrTcxX1eM7BCsBYBykEBgN0ig+gBs75+lq94kDJQapx1JVUCdxI68JvdGMRd9imIZ792C56wX2yo6mPpe8dXp/bAM8ZNT+YyzjoI4AaXqPM/5O7Ssel0V1yWw0G3eCjZIzW0MsBXa+gl0McfLKK6M7XxtLWojMy6wxLl9YysDw7w4DtYcBiOUAvNfTSszx6qaEHE/61B0CaubsCuMnAG2wG7DJRfPGaX6vp63jyAdGUq6bG/gghvP+BtqP1MKiWA2wEswzoEOgRQiQAxMAOd2mBwI+1PtmkDblXiu8I/n2mV6FzoXNEsT4CdHu4HsdtnIWiSULeRrk7Kwc4vl0QAdBY0xOZIAZ+fHg60/2E600gR0kRgesqsCNFSkQYgTOxNeG3eHey8KwO0nMvnYCAD1ToARgrABgAKrs+1jl0ASArGXQ6nQfPGcsTfgsBISusB8kmLeN1O5KWvdFt9+cmX+dyBZttU+s3jwL4NMBzhsx7bbyfXKCITEIOAjxAyEGDMRo2uI7MoH2kTKci4+JztSjIbshm4UDIqOt81XMb3BQ88y4PTx2YhmfBwM6wGDDsLDEs/L9eDuFfB5DjE9CZwQSmR7P/9DsoJYK1NRdXnf2i11MurxsB+JBlrq5VXf1KcJS/pjwsfJArS0nwgTTu31pAhmRzIjEDUkzvu/zn55effuU9DiD2McxNddIHabvpd/JlkUcogr+xOysKmlX6rGR3chCUJxPslYosj4rfL6K0xP5cWgALSReAECrmVxPOFQUjErtjpb+vHEI29jBxM9Zm4MZJG6IMHYxJzJYwCRxKKTPtWLNVNt0X+PU8m3257mvR1SJ/V/WlAgcNehrgOaNWsho+P1IK/06ggECPBw7G6sjsqMFA9d6FpTqFQQ25cJSmdiGU3YSorcGYaqkBKjNAEVqD0VgMOoGdxRLLxYDlYsCw1PGfANewHKAHHbRFOndn2QDWLBdjJ/1ONphx1oddp9r1Oym2l057rx37FEW9irqe2nfpzqjuI1xLAjcAsvD03c59FejZi610bwlxpDLDGojj+p3RkjE5JesT3VmMASJGp8YACYEMlPIlZ3mIxautU54lLl7m15YmN4AHNuTOEvBsnxACJgAfAj3WOUgJyCBOtlJGdsfX1nLxHGM4egA51pjE7oTzs7RtiAqUSjaP1qTtDnTifUfbFiCILIIb53xSTwDOiV0mkQcLehrgOWNGg7sAZzVkdGtZa0AFFn0kloFVGsaoCCS0HqAGCTMo6IVMeVqIGpcy6+SiAHpWBzx8O8qzE0XKwYU17ASws7PEsJOWHggNidmJDA+VJNHRHec1SOSyS9FamZ4n5n+y/KLt9ypfTxNdk5EYfbdt9rqv2uup91ftm2bx2XbFvcHX8wy8u+9/t8/2YjU3Jvvwuva9V+NurPga02BsxHBRHblK0dwEeljJCs4AsaguYtj4f6yTFfPs8G1ysMPLh3B2D0iRWsIlFzaQcjEJ58PTvaML0eWp6NkMQMc4F8CPjSyPkTJqeSwTJHNhcrwW5NZi9fea1Sy/H/N7Mgc6PAqStvFLastagIz145BwI+Dj+zNiVQ8O9DTAc4Yt1/EwtxaxO0bDKgVjNKTsYI0OIKKD1h3kUnuhY1iSeDQ/RhI568Ggn3UYOh1r8qgC8KQ8Ox646CEAnsDuRLCzSGBHL72rSwchs6+/ZhjYSaCHu7MytxbT7/CQ9VX6nRvV6LfS+vSGE8knCwYsik7ZZzYwel1wVxFzCCkBnmU7Mop55XSekM5Wjj11HvnpV3QCvG330YkeFaNH7qq4XptJx/doG2J0EutDg3msNl9jgOifucGS4Dvtm7M7HsRUNDsF2Enb5m5T//tCGwgfmUn1s2AD2JEWzoW+wdoIdBwcjPW6MCtIzB6SC0oHbQo2K7JaEsbQNeHuQhEZn0bxlDYGOyOgI1gCTJHyXUX2ESXgCc9RALbUFzvn4KyJwIcXGo/fOSDQ0wDPGbPI6ghRRCklt5Zf+vplxhhI6V1C2gwQWkFKX6PIDBJ6mXKh8I6EH48SE3Yzr/2JNXuCriBaCCM3Iezdaoth6dmbYbHEsNQR7Cy3l1juLCLzE91bS1+Q1pgBRg/RteVcAkAkzM7D1MvQ9DEzUQKgKebjpNkUEzMGMeEaeLThN6J15/JkjiFaj7JfUztTNm3qyHxSQT8DR3BVQMq4//I7hoEjyrKdMnCnJJfludA5oljnv6vWXnthqY7KctdfXi6EDzDj2fY0qAGQmAyJ3P0l5Wh7ciXGyDhyTTF2J7qqkAObEuzwFASZhkckF7af4SfWB9aDHWJ+rXPpHMPxYkkim8pP0OTJCBvddZZATgnwiuvTKJ7SVoMdKSRELGuiwmu/XgKfzFxIEUJjgqWxxcAKD3S8a3M82Two0NMAzxkzPpiLCHQMBAScpKis4OsOFe09yyMhZQelPMszaMU6zIp+wnndTgwR1xZ68OHqsV5PoNWJFXIhd461NuTz8Tl2fGRWADXBjbXcWSQ9zyJFb2m9gNaD/zdDZHc86GHh6WGWQe4tYn+ii4v/jhOu3ynNMbdA/fOSGWGAgLM0htojgB2e0JGtp7IhDLhY68tF2CAMNQZQCgguS34ulIqAAI22Ji8t4tIxymN7IJYAkE+b4Ea/h67LKkaofh2PwQiorGAdeIh93H5XEBS2ZwwQPX/cBTUlNo/uCyFiXi0Z1ikbdAl2uEuLlnTdfT5rAA6QwvlJWAA6fsZP4EvASRlL0kgpIZ0dMVGezRG+3lblt0+9R99vllsJdlJJEwZ2pC/US+vxMyEBruFhHgQKgHHOxkmolBbGiBBpB1hQH3awoKcBnjNlxSAnRBgERKxO729uG29KKb12RwoDIwdonW56vy5i+G88ShiEfAZkg34IGXJ7Fasvx8rOQmSAJ6J/HTI2DyH0nADPIkVrLeO6FzQPg//XehlYHgOtOehJ7I6zpYC5xuhcy4B3XPqdcY+dua4qDFXOZlHBXuuBKgMNCYjmICiuOwdN2bSNgZYSWkkoI7NyEc75yJoy03ICSFROxIOeWJbEpLIi5TkYlmSSn7Nfh8+jU7J2WTuP2Z8pV9dRAN2xBiKBjLQcF4st3Vz884ztKQb4kRusBiIKhoTreTgrFD8vwA6ts5NKzI1LbkwVxjcXWAQrbHR30XGts5Fxqi1H1y4DOTmr04BOzcaguQQ7BHCU6or/3rs2VQfORgKpPyUNpZccDBEgGeMn3UZo72I0+lBATwM8Z8ycsxBinF2Zi5c5y2OMhhQSWiSfd6Q3kR6I7MZms21jDKzxuXK6XkH3XUhyVkRyIQEeAkta+6SCOubc0VGzU4Kd5XKZubK8jmeANZR8MITWUzJCyjvkEugZDYxIoGHKnXVSre66SoJsz2YVzE5MOJlcVOS24uuU64hKfOhB+1pXQWiupITU6f4AAKdUdG/RAMiTTfIM20utsdQmZNjWCfgMOjuuoVxLlXNMtHmYWfLcUkhtn1+X43Vv7ZYwcmRyYoD3L/LXlfdWucFKMEHAp4y84gOjZOCoBDslIKdfauOpCcAlwEb7suFceC6fjH0qwRXy3zIGf8V7Uox0h2fX9gZ26L/rZui6Hkr16PsZlOrjZwRk6FpHF3fUgZowMQ2a0GHpxxgjIETQ8DDQQ7XsaKJ0rdYAzxm0jBGIyJuYncTyGKM96pYSMB7s6DiQlZFYeU4bz9KEwXHQUH2HjgpOkn6nJnI2YcYehMvkCjPaJD3PzjJFbzGwMww7nuUJwCe6tZh4Oc8vVAjnyuzKlQerfNiOE/g4uMztwbVZ8TWLwAPUCNTxaDWeWTsDErFmWbEMbWt75YGKMZBaQgkdtR7+PLz7sJMKWkxXS9fGYhlrpvn6aQn4sOOtOJ8c9KQ6cAm45vdpbGMGejgAGrk4sYvQ+wAsgZZpABQBRwQ9le+z17u9VwKd0jjw4e9FIMIAB39dKx5KjA1/dqTwNbSk8AyPBarHmwJa5TFqQCf7/Q3o7GpJL5aDna7r0XUz9N0MXT9H38/D+iyCICm7DPB41lXDWBMkB77PXi53oHUAR4PfXmvqu1R0b/H9hLPDtbA8DfCcNYszXO/OsgBkCAkkLQ/lpxBCwEoPPISQ0HqIDwBGgCeJXH1RUQZ4egXVG+hO1fU7HHxN6Hi4gJncW3qpowuLwI5mYIfC0nPQk/ILce1ODQjQ79o7qDkG8OMcIMZurREwKxJL5r/XZNeFAIQj0GpC2Q6qXUb5lwYD2dFSYyFEJmoFQlg6HIxN5SIocseFGkpc87PULP+S1mHd51fSg4Emxi/cG/zcrHWwOpQPGWXa9oVkR1ql8rpMXb8VIPgwrcr67MEPU3Nxjtw6xXYc6JTsCTfO9PjX5ecMPFW2iTWzhIgOC7p/6TqPgA1ysFOzkUurEnJO4u1mpdXYHe9arIKdfg2z2Ryz2TpmszUPesJ7XTdDp3pI1TGGx7PsBHaG5Q4Wyx0o1WO53E5C58IMAGFdeA6u37XVAM8ZM2IF0kBO4Mf/W2eAwPZIYXw4pxBxqbUe75MNGH5wSa4sH16uIEMoOtfvUO2ftJ8JHY9OIepmMEnIrBchDH2RaXeGYQx6TJZA0Q/m2Wy/wu7wmXwpeOXL4zZyU/r1lI8nDezcXeki4xKrygewS9eFaqZ5QJHcV3rQUINn6MygYToF00lopWL0z04Bukzn27JTqTbWlEtLB5ZooBpqesDOcsAwaFZSJP3r8J+5uaiYrXWwVsfaabwALheuj0CumwY+JyFFwdRgD2DEWOwBF1W3q2VFngI3fJDihy+ZmdJ4AsK4ffE81d6r7WvPNsHorLqmZ8lykEn6yiRQJjdW369hPlvDbL6O+Xwd8/lG/PfgZw1dp6B6Dni8HnMYBgzDAsvlNrrFNhaLrZwJ4uV94nMpKZsFyLV1rdYAz1k0xvL4l2EgAPlI/SBhwk1oah0geeGdhetpUCXmxECZHlabyOyoIhSd9Ducbs5FsqECu02AJ+bmiZSoXxo9RDcWBzupeCj9M4bHpTITpZvj2tid47cIduJvkJPCZa7j4e49YzWU7YOvXTHXlYHtfekOrUIeJaVjAc+sYGcw6yjCqkNnbZanhZ8zhaWTBohYnp3lgOXAo/RY+oHBpPuClsHdRTmYPHOkI5Pn9Tw2//2uuD5R2G+Za/CY74HDGJAPeJ81V9JRWAMrB2Fjxo/rdzKw0808szNfx9p8E2vr57C2ton1sJxvzDFbm6GbdT4iV5L3wEUN5nJ7iZ2tNXTdLOh9SnFzAjuS3NLGjfqXa2F5GuA5Q+ZCMjeQS4FrPcJsKtazYa4tGBPf4+CHBg/aB5yD7TxroDoDa3pIrf1N3UkopaA6ySo4p0EyG3QszcRdLATqkxEmwVvU6ETh21AsdRahZU2qp5VpOxjDkc3yUZ/ZTw9+xzsoli4teo+WpOPJBvrMvZdcP8ZoKKVgdc/cRp7hoUKTeplYulpmbesc5n1gbtS4dhpZjNJyKcqLisYOPOnkDks9EACQXg4FyxNcW9qCJ5skd1aspZZF543Li9Ta+FhBz2Ece8U+7T5+Pz0n1jkI5x2VoOeZuTWvhZmpHbM8t4Nol2MHtCfIMnZH5KHnXdej670baz5fx9r6Oayvn8PmxgWsn9vE+rl1rJ9bw3xjjn4+g+oVVCjyaq2FXuoAdnbQX+7RX/EiZ7LkITBsUqoQNaZBO3o9LE8DPGfVAstDRd1K9xa5tsDK+AkhAV3XN3RhFk1LZTWMHKC6HkopSJ2U+8TylD75jGUh8TJzRRHQ8RXbvSCZgx/O7BDY0XqIYjkfls6LiOaurDjgcVqV/cbyNx+nleCVzmmUVNLZ0EmkKCwpQ8cik1sr6Xco71IXQKP0ZUSUDzVP1crpfzzLTm4zB60UOqVioUmuDaFrSDl2tE2lRzRjdpY7RVbtZZ5oktgdM2honfIu+fppOgM65M7ikVw5C7bCzQl+bxxVOwexObu2k9vaMq1CbX+1ezksUb/fbbFuHS8ZMg1krHOQ8PdHCXrKXExTz1ftGZy6Brb4nF+PsMH4vWYAcmE3aaYonw4PO+/7OWazNcznG1hb28TmxgVsnD+HzYub2LxpExs3rWO+sYb5+gzdrIdSoRyIsdDLAYutBbavzNHPe3R9BwQGCM4lZjb8G9NBSj9RkVLBmqTvutb+twGeM2WsYxGACP0VMRxSqujaAgAfteWXgIbWiHeMRhpglWKDhzUwSqPrehhpoKyuJKVS9bBZcNBjwoOSu6Monw5FXXlAYwL4SQxQCXZyfUrO9JQajvx8xtqd2nU9VgvAJ710KX1/6Ex8+8rst8a8GMR+GA2rupBd219LpTvowUBI775SDPhwlo4fO4nWvTuz67uY0G7SpRXy7OghT0UwLIfA8qTisTzRpImFY72by4usU4Zt62wCPY7XUSujCk2u36kMwkeFcnbtzDkIsK58a5KhqoGK8t4uwU0J9koj8EP5dHy5iAR0aN8EesrjW3Zcx8AUP17uaizdsy47zxHoqQE8i8AiN/BTAlau3fHL5NLqe+/S6vs55vMNrK+fw/q5TWxe3MT5J53D5gUPfNbPrQeWp4fqVMjKbrDcGbCztYPZ2jZUryJwcYG91zGlyBLaDFAUWWtC+Y84Ucrvrf1YAzxn1IgdAMvKG9kBBnqU8jN9f6t40OOUhaqG+foBRYXBU1JOBiEhg6+2rLdSq6gbB+kseigBnsT2pHVLD0wY3GimQGDHGgOu26EBrebKygDQ1LU7YRY1O46LllNSSQRAKoWN4MezPRSCbmCkgQx5l4jl0Xrw1bSVhF5qn/K/SNfvj5XE5s5SLTQvXDSDybVbJUCyNjJ6lMZAh+XAXFhUS63U9OilZt8bMnYnCtZNavu09OVFxvXUchfmqnvhUK1gd7KPKsxHbb3GVGbvZaAnvAUXo+v4ktc3I6Ah2T4BD4BE4I6Fc7EfqQVG2eJc+LPHgQtnlfh7tX3xa1ACuiroa8BnZDHXEZuo+hw7Pbo+iJYDw7N+bh2bN21i88I5nH/yeZx70jlsXtjE2uYa1voenZJwDhiMwc5iie0r2+hnPaRKEgrNxMzDsEA3zNCpJbRawlBGf0uuNmKsTXbGe510NsBzxowGxiwPD3NtEdPDAYGUyEBP2hcHPBbWKs/22FDF2FI2zQ4yZNVMPmI5Ynf4Pgl85KHFCfT42lhmBcCpg53E9FREqytcWSeR3cnYut3cWghidGf9QGRDvTQbkkuyUiJGKgitIcUQci8piEFDSgE9JTa3Ds4iFopV2sL2ClIb79JUYbaoKoAnlIuwJjB6geHhgGdYJmaHmB7O8mgCSXGWSEAnsTt0r3CXJt0HKMH7SnfW4bQ5d19Vj1uEzlOtsNTuOauX9rviPfbdVJ8M2bIs5JqDw8Tq+GzJEi6MP/xcS7jIj21DO3BXmWf+XPaajmvZ8Ut2J50XO75L7/HrcxInLsdhZQqAuJ4BHxmFyz4c3Wt11s+tYeOmdWxe3MS5J53DTU8+j/PnN3HT+jrWZzN0IefWYAyuLhZ4IpQWctZBD8bXR9xeYrG9wGyxhsVihr6fYRh6yKGLDJOUKupLr8ca4DmDltVaCq4tH62DOPDxWo8AIuhxjkVnKRc7D2utF6hZCyO9UNlaDSF8sdGYeROJLgWm9R9+v6zuVQFceC2WpPHRY2BUurEY2OGlJVB0flNC5ZPTSY7dLQ55Fm0RB20ZKhHTwOaL9XGWJ5UPMRABAGkjIXRRpXtFe0WNjDFQmtIRjBNNloCnJlInhkcXeZd4lm29yFmeWEeN11CzKT1Cye7k2Zdddi+M2nnU7ocFeupalvzINrYrP7dyUJ9iONI1T/+p0GoCESOwEYGJjODE17dSqS6f8+JlKVyqfRVcFzVhO4AIdrLjc0DF9m0obYVLAMdm58rAX3Hu9euSX7ezalk/TOsF2Bnl4VmbYb4xx3xjzTM9FzZx/vwmbj53Djetr2NzPkcXikMvBo21vo+lQszgC0EvthbY2djBfG2GnS3vMqOMzdEjIFhCS6S+6Fr64gZ4zpjxjidjCBx1pClRVMp94IGBlBJwYQYqVWRgnLIhfNALYRNoUqyCrvQdI3NlTTE8fpkiiXjoNGkwCNw4axKTw8BOVbOzAuxkHSwLS6+dG3vnoJrlwIzat8byOOfbRQgxYnmEkDBWQxgGcEDtJiGwXMHIIbmytIWZdVCDTzgpVZ6OoBZa6pzLXFo25NKh6Kss0WTQ9OhQODYVjQ2sjhlH6BnLmZ2c3eEuTT7AZud21O4segYq5zFindhAnm+bMxnEwJXghgME53waga4CeoyzkAHoGOvrWVnhk5ZaP1OC8DeCPw8hfG0sBxjqcyrPk0NikJKWy0Z2x7/n4vsZ+Aqf2aD/ot8Zf9+IseIgKH+vWW5ZHyB40dAOnerRdQrdrEM/n2G+7oHP2uYablpfx03r67i4sYGN+Qy96uCcw6LX6ELE1lJrLDaXmG/sYLY+w2zeo5v16Lo5VNeHMYOBnYnJ8bXoeBrgOYPmbxAb9TPOuQh6oksLCfQAfqCEXwUMdRYKUgYmRlpIGUCOkFnCKl85V2Q38CqGh5bE7PABKUXcmDhg+dl7nlk3FaoLg0TFjVUDO7XzOMlWglaedZlYHgI5UdPjcpaHMmkbQ699J0eurQhOhwrgCQOMNb6kQ9d7tqjrO5hBQoas2uTSmgI8cFQINCWcjIkmBy5Q1mMxc5ZhO6UhyNISWM7yFOwOu7ci2Dhid1Z2LZDcW1PHq4EVsPURg5MBBQfpEjMrnYzvuQBoVKhOTktiA60QvvSD82yLCM4qL0oOzHEAQLCeLJCi/hwR0ImgiiLoXIrcMwx4xfddErmXjFQEs8Z6IG5sdo+OmK5DbtOTbROCZa6rFCJk1aecPF6PqXqfZ0f1Ct2sRz/vsdb3WJ/NsDmfY2PulwR4COwshgEbMw9y+nmPfub35UPY2TFoHKHzYazT9cwzG+A5w1bqeRycZ3pYBxBBjxPRD++EgwS5TiScVD7FnRWR4ZHOwlkJI3QBdFKF5dI9Ek4qnks+GKUcMonpcQz45KwOfYcGsb0wO3RNamDnJLI7FHI+fk8F0IMoWI7X0rL8SjbVS7PWh6D6qsUSWuhR+ZDKCUTmraO6W8ZCDhKmN1CdhAxZmMvaaVnuJebS8sApMTyWAR8CORnwmciwrY1OriybQE50e7p0v4y1OwXwGDETh8v4eKZVFuC/PliHZph0Tzli3yjTtk37iSDHWLgusGzSwgW3A4EIYy2UtTACkE56xiawPMb5CC1jA9iRLKEpuR4m7iHuMst0PIzpyYCQpdf5ufEl/S56/ukejccxDAhGAOSverNkpLNMr8XoX0rhc6uFckGdkuikRKcketWhVx06FSbPzqGnFBVKoSOJg0wgJ44PlUSIB2UN8Jwxy2b/YdZPeh4hQkSPNXCBkQEQGAIJaT09LaUfUMnFZcMMUEoFEYCOlTYK3qIbJUZn5QNpSU2Wg40DBzzUkfFO0E4DokxUvTvYmbpmxTsH1RwHZpGlKxJKCqFCpx9YHkGuLHJneZAKo307hBIicRks63jYQNXRzDkwPGYwUL3yy44xPFSsscLwIDASZQ01yqxtWMRWrM4e3VgEeIYs0za5svgy3S9lHqY6uxOvYykWPqz2GwEZdlxaL5aRzXF1xocYnBHwMV6DZ42FU8oDTSkhXXBfWQsjBSQBm6DHUcKzPFYAgwF68DAGwDnPEjprfHSmEDGD++j3goEeuOi64m4tbUzm1iJ2p/ZP92H8fRn44dcrAZ3IAJ28R/rEmxvdg+PPsu2Qt3m5r6OwBnjOoO0F9JB7i6hMX7M2ZGC2DKQI8s8n4GOFZ3iEELBGp5wO0Y01TjpI58XXy1ktnGXgp3R35YDGa39csd3uYGcMuk52TzgVdcfFyz5qMwBFAEoKBkJ5vTQqEpsfowZIPQsx90Cn73x2bWM9LT2omFY+c2kx0XO2Tzb7JsBDqehjlu0gYKaQdaqjVpYTqSWhJFeWF7Hnbs7svtmF3Yn3zyGZQ34svxLOFTI/RxIuB+DCwQ0xN5nrylhIJVOOJBKsWxGXkRU1ElZYGCuhhIURKVnkwJ7XTgHG+teUl0uFqBwnBKywsVDsqM3Z7x0zNjYDP5qBGk1MYoXdsZwlJCDOmRxLbY3Y5mDtfdaNjwMxCzkAykTO+914ra3PxG5DwtDBGF/4N2h2CNwsjS8MTAWBtbVZvUVieJ2jftseykSjAZ4zaqtAD4BR9JYHLKHCcXBxkRhRSpUBHwgLa1NIowjgx+/W+4SBaboy6+wzMXEJgnLWh7M5dTfA/sDOxJW75mt+0EZtx1/XWB5Asogtn0Xbi01z1xYAGCPiUggRwU8ORvl179GFYrGdtpHVMYOB7HiRWE+BVws4WjYTpwEtMDzE9mitYbWtgJox6Ml1OxpZBB/TdtXyMpXsztR1PyyL0VdsVpzPlEsd2oSOJwAhn/TNQSrGbFj+zCR2x2ifL8lKC+M8u6O5C0MIWCFgBEJeFAFfzzpYiHKgrMpKysjulKJl/pu4hoc0O5HZCe9rYxLwcRZDZH5ydicrHWJtDoIMXY/c1eWzbZ9FC6I//k4E9YreyFI0UJqHmAqCZUPfWSxxdbEI+Xf8hKtXPrhlqQ2u7Ozg6mKBrcUSy+0Fhh3/vTiZiRnSbeZ6zSYelXtoP9YAzxkzPkhOgZ6or2Cgh4MhYn4ERAQ+pNMh4EOf20CFczHclGCZzomvczASO/TwAGaMTvZZhdXxO9kX2Bk/UCezW9wttxJQRmzR9UPm2hLCQiCnd7oOGePjBxITa6bZzkfG+WKxdlQzjdfakmpat2UNtZuNeXlMBD1FHbVYVkTHiCwOdqiWWl5DLbmycnDMgcVqQfuha3fc+N7Mq9zXdTwEXDJwQ+/HQd/CWpkYHGM9uKFlYHmM8feDCeyfZOyOrk5QFAAD6xyUc3ChrZXIy0lMPeulSysCH8bsaGMS8LEmsjz0+YjdMRTtlzRmzuZgKIEfut4n89k+Lov3VtRDmpjmQevBJwoMhUAXWwvsbO1g+8o2nug7n4vJeYEyaXgWWvs8PFtbuLS1je0rO9jZ2sFyZ4nl9tKnmdDJHZ1HUI6BPz/P/VgDPGfQrgn0OBNEiCQuK4CNcVn2ZD+QFkCHCZVXidESw8M1FDnwmQI6q1gd/n2/fhrAzgTLEyZv/LdRxBYZd22hADrclGLXx1lY1UXXYucMjOmglIk103wOjeTOIrDDXVrFj0iDEA1ewa1Vy6ytNS8roqFjuZEEdHgiSvpeJmK3Jntdgg1+T5XX+7DM36vBpRCEy3RMzt6MlmGgT5WpPbjhbq0oSA5L2sYY4xm4wPIIGZbW59vRxsT7ywOfMbvjnISU6TyFEBH4EKEnUAE8LCSdgA6Jl8mlRWBHGxNYH5eDIes1XpzdSS6SpC1L91YFBBl7Uh/vIzG6p7MJE7u/6DnhBZuHYRELgW5fmWO2RhmUveB9qTU2ZrPo1hqMxtZiiUtb27j6xBVcvXQVW5e2sHNlG4vthWd8lotcg2fyNBIEfPg579ca4DmjthfQE406rYLt8dvnwAfOszwAMvBDr/nSr4+jjPg50jKf9SaQkz6vAB3/YXV2sD+wc/JtxPKw92jdv5LIXFsWMPBZtAUManWIMxDgLFS41j6rtoFUJoASD3yMGSCFgtSUT0P6gVKIUJaiAGhMdMtF6LVyIiWIoVpqhtaLrNtct8MTUXIwXE1XUPz+o8zFUzI4Uzoe6wyEleAskLUW0ogs6opcViKwIIIG+wCSjDYQArBKepYnvDZCQPSAMJ7p0cYU55n6ARnYHQcHARFD2gFEhqj8jQCvoTWO0ipZHh2XocBsiOYjHYkJ7k8COPR+ZLm0yQT2maD5CNr1pFu85wS1iY3PjQlaG62XGJY7WC63sbO15quez3uo3mdTd9YnFVxsLn1+nRDgoq3FcnuB7Ss7uHrpKq5+zQOe7Ss72L6yg8ViG4vldigv4UGPG9W+a5mWm12H7QZ6qMp2tArbk76bgA9cGNxcqKpTCJa5ERji55TWiwSAGeNTZ33i9/bI6qxaZ2e16jIem5VtRu8BGLkj/ft2VCstRBLDCj+YeQfF2HwNNQcFBgysgVUdlPNuEhnAjpIhJbxhSSchRxFa/Hf49kpuSgoZN8TMBJq7xtxMlRghsDNZPNYygWSFEcwYH3ZtDwcQl641GZmolBHbxWtDQJIGbBFcVULmUVcR3AQglEBOcGUqGb/rgY5n4ayVENq7ttABwky7n62Ed2c5B2NFLBBrnY2ZcQFE99aowGfhznLOR4ppw1icELHFXVqG6720SUuTXKEc/CR2x0XAR+AHh9KmN66lQBAS/KeIyMVyB91i22dcvuKrnpNGSw8Gyx2fVLCf9yHgBTDGYAjFQ7cubWHr0haufu0Krj5xFdtXtrFYbGO53MEw7MSoS5rAkBsSExOS/fTPDfCccZsCPd4qpf8428OAD31XFOyO/0qocBvLCqLu2shPzC+KyJUaM1MCHfrebqzOqnV2IqvP8wRZmZfHhWi70rVFUVvECEACsKk9OOih66iUjQMw1UuzSkGyQrEyDM5apFIiuxWLpfPmrB13N/E0A2V9NAo3J2AUi4ZGNqfIwu3G9PiUK6s8v0O3QnzsAgDMNTweZDrJRM3OZ8qWRuTRWhR9Zby7mVxV0YVVgBwjDIQMy/AaACD9UhQw2OdV8Uslpd+3c167Y0OaimyiU2d4iN2Jbi3mzrJBoMyBjzae5Rm0YaJ2E1ygNgcyzMXF2R0T3KUR/JxpsJMLl4n9FcFl7cvO+FxqWg9YLnegVI/FYiuWmwBzpQ5LjcXWArP1GfqZn/gAiNXSlztL7FzxGp6rT1zF1SeuYmvrEra3r2Cx2MKwXEQtDxX8jekkRgL+JlputqvVlfkl6OHrU2wPkICPBzCSfcdl4Cd+jQY8IiJK90Z5thMgpQQxewE6+Xt70Wac/I6wxszxFAN+m/ReyqTtRcuUU4lEzGQysmMsTFU5SOe3t9JCOQUpVAQ+VD4kZkrdQ+00+g20dNZEfVDy37Ms2oYKgfJSEaZaWy3fRwI6iSafELcDo/cOl93xd1pimAqQ44J2Klxj7s6i1y64gqwd63E8yEkAiLussvdFeF+KOB/Jnk9ypSmFLpxXF6JwyK1F2btlYHdq7ix+jVM9LP86MjxBzzOEQU9bG9czsEOJKplLyxSvY5g6d3GNoroOpVlvGBv1ryI9K1Rc2JgOWissl9sxWWDcPiQIXW4vsbOxg9m8h+q7jOExQyoU6l1Z29jauoSdnSvY2bmK5XIHy+DS0nrw7G5gbsvI22u1BnjOpO0OeoA8G26V7QGqwMc5ZAApBzz7u1nrLoUxyMk/X+EWW7FeHHlf53mcth/Xlv8shapzEbMQFnBUzqADoOHCa6U6zx5I6xmeMAAr1UE6AykUq2xMwva8lMiq+mljDVaeLZu7owjcxBw7Idt2rK/Gt2OanbFI+SS4svh1CIzOhFuLAzaf3C+4qgRzWck86iqBnODCiloeD4yMtgBl3pYCRgtQlBaAuIzWsTYL18pICSUdlLNQwu+fwtjFLoCHljHSyqV8PNVoLWMzsGMG7UFO4cqKLi4T3tfMxcXYHUvX4AZ63g/biOVJ5Wf8ddTDMi/oyUTOxmgMw4DF9gLztRm6WdD1yJThWw8mRHYtvGZnsY3tbQ92Fostz/AEl1YMPAjsDtgzmT+H+2u3BnjOrNVBD5AnCKuxPd4KsTFSgUDvwgoDaQBAflWOBo0pqjt/z/IX2TH5d/YDdKaORXu+EYy3T/5+vU4agR5PVSOKmAn0+EEPUcicaqX5dpNSQoXBWIYSInSs5MLyep1UN6uoto48YqfUWWVAxNqo68ldXLnLixeSrZUZ4boguCRS5mkNONjh13Hquh+KFawOd2v59A4B7IhC0xPYHmtzMDOKurKFC0sIGJm/jvdBELJ70OvQhaHCOQfXJZBCQMdaGYFPjOaqMDx8EkVLYnnKsHQOfHw0VhIfV8GOZi4uSmgXNDpRuGxMvl1whd0gj/whmR8LaiyPn1T4LPlaCIghL/3gnM/Bpc2AYVhgtljDztbMFwJVaYJDEZde9LzAYuk1O4vFFlt60bIODA9nbnlgAR33WqwBnjNtY9AD7M72rAI+fq8uQ//0gHAQlI616vQKgII6eJkapPYPdm7cXm/KtRXbMeh5ShEzBz2+DIhNoMc5ZLXSHJUUUQEwyAh8aCAWMhUajEAHqfjfytxLcYBP+iLn7KjK/UjbU7q9LEVfTYOdGrPDz+eoXFnZdeBi/Ipby7Ne0ouBXRIvezZlmuXJoq6Yyyq+FgJCEsTpkn4ngh6/ppwCQo4fpxSkCvl/nIQRCfhQu0u2rBkXL69ieKwLeXW4QDlEaJkAXKj8SHRxaQaM2LY1AbM1ZzXx4LSVWh4jdFZuJro3A5NqtAc8i8UMfTcLVc9TPS4/MTExSaiPxtrBsFwEN9ZOjNDSxqebMIU7y+/n2tkdoAGeZvGmmXZx0WtgGvjU2Jt0hIKJuIbBYxVgmQI5e3nNz/JGtDoLNwFYGejx+p3VJUM8ACIAkLM91ooM+ESQYz2rI0WKylqVcLLsyLiAmYOTpMPhoMdlrI7LlilhWu6+yvfHwc5eXFmHB3w4u+VBDaj8h/BAJzE9geUJ7oYay2O0SK4qirqyKZLLg5yQYHCVCyswfcql+4AisqSVcJ2vYC6F2BPDk/3iAG4ARKBTMjyUeduZFHoegUzJ7BSsj2GurJrLi2t4rqVPOl02ZnmsNSyK098nPPM6PV82MDfdMEPfz6BUn2n4/N4ZOAqghxf91XrpmR0zwJB+J9PeXT+7AzTA0yza7i6u8r38xivp/zHzc11nNwIu0+HstddT74VPruvcjttqri1icKpaqsCkEMDxukIPfuCo2COBFAspVMb2CGchRQ58hBCwllxYuRtrBHgmXFp+Oc6nNBYcJ6CTv5frdYgd4sxJ6cbi12sEuirX+TAtAr2ggUGRX4eyYu/G8ggd2jVoeITOo69EyIVkRABFMndh5b+3G52fswrSOriQwJBcmVJZaJPC0jnYKVmekt2Jv5P+GdCJgmPS4dgc7BCzw0XLORAy0ZWVR2/ZWLqkWW4cXFhYIJSeyZhPYuWMhjYDOrXEMPRQqotu7rS/xNQS6MnLxKREohRx6UaTFj4haS6tZtdt0y4uYBr48Nf03lj/cH0AqKan2OugdFqBTs3GzFwRYRdm3gR6SNMjAqMDAcDaLHkkJCAgY7ZaIUQGfGiAJgo7ubIEc2VN10/jQCOsFCHjCagg+vNzoENC39KFlaj3cQFZANlxsnMozu2wzY8fPrkgJsTLkf2psDzWekGydzv0keURAejUXFuAbw+dgZ0c9OjI8DhYKf26dcGdKRPwURIyuLOMsL6MCBLLUzObtQF8qQcCpFxczEuNaFOUHSmYHWNgBpOxPgRqODNURm+deYIHAGd5yghPAj3OsRpbgVk0poMyGlotIYcuRWkWKTLoOfTFfE2WNDSvfWezCU3JvF6PNcDTrLC6iwtYDXz4+/X3rn8WNeky2+f74dPrPp+TZKtcWzXQA4yjt2IFdSGjrof2I2XIs2QdeN4ly/Q6zgqgJlKuRGeNGcKxdiZ2dM6yDnOswRm7vcYusRLs1NxYq3Q7RwF86DeomNfEeFdjYHZA9c4YywPr8/CkunXhtRaBdZMASyjoi8KaCG2MJFdWqdvxYmXlVMiETS7NsB4ZngR8rLCxQKww5T0wnYcntgHPfBxYHh9C7iJrQ/9ZNJYxI7ATWR8GhKx1GUvEWZ/T1h9cu41dWxTeYGFDQINvN+ksrFWQMmRa1ylSs+wDeDvzdBKjpKJZCHqaqNA+0jlemzXA02zC9gd8+Pv8s8MaKK4N5ACnq2PLGbn9gJ5S05MzcEnXQ6VCfGSWgs+o7fflGRybubV4GRH/uQRg9gx4/Eo9yVjs/CJzU+kYM3boxgE7mYaHg81dWB4PagIgIpCB4ObSTJisyygs0uvUaqgFVofpt5RzsEpGsCNVKAxLwMeIGJknWXSOx1m7haWzNjY5w+Oci6wOAZ9Mz5MJkle4uHTh4iKWJ7i2GsPDbTXoETa4tyP7aoI2rAQ747JB2cTEUlJBnitrnB/Lf/f6wQ7QAE+zXa3u5gLqAKf22dQ2ez6DPfRGZwvoTNv1gh7atlYjzYTPEvAJEVjhM9onD0cvwc7KKC3kgIMDlvDmNQEd/9WDBDuHB+LpXzAXwBTLY9k6gc0c/PSpPAQqbI7krA47B5uEycopf92CbgfkzjIB8EgPdDzIoQrsggnWA/CRRf9gi3ZwDs5611Z0SzKGJ6Ym4Bqe0q1VCJrNUGRjNpSo0LIQ95Cb6Yz0D3u3MehxjjHAEqFdfH9ghYCgiU+kkItnvfKM8uCB5MKyxfN5MGAHaICn2Z5smu2JW6wAP7VtrvuM9ryv096RjQHpvtxbQMrTwzJmJwvsj0CYiifgQ4VhOchxDpH5AeqRWZO/pOzgMoBSEzO7YptpVsdfqXEnelLAjt+1DwW21kAokbE8yd1IQMczOTYDmCbWrhIi5E8RPWAozxItawfXcDbl2wFCc1vG8NjE8GTuLOVgjUm5lyQXrIvJYxKz49cTwwMX3Fq8snlgdTI9T8n2VPQ8VhvoocIERaCkYY2ZaOuzbjWmBwALeBDwpUsQ7kFr8+d+tMcK25q9x7ah9XQu128N8DTbh/Gbbm/gJ259jezOqn3u8o3rOt6NZdcOeqJrqaLrqbE9Di5zdeVRWHYEcHg9td1/xTQI4QBlL0An7qfYLl+eHLDjwgxXxrD/XMujWL0iAQtLIeeWMzwisjuAF5ob4zU5QvgsykAt9DxZzLfjPNCha22thFIKzlpIpTJ3ljEkWLeB6QntvwvYzYCtcxFgrRIur9TzMFdVDezoQY/C2KnGWrMpS6CHu6E52wMQsxvAzgqGx++x1G+tAjp0DgdjDfA0u0bbnfXJtj6SGdRZAjml7R30eBsnjsxcXAXb479P+yuAD2x0Yfj98IgsOzngVX/FKlBSZWrG9HfJ6qT360Bn1To7sz3/hms1f44GznlQyrU8PC+PdROureCa8jNtkwGbvAlSQsFokcmh80jRWDEM3frcO9I4SBVcWcGdRYJlY2rszurJUQZUVwiXk1srCZB59BYXL9cSFHKwQ5l/bQiBxpH0TzeqTTE9Cfg4V4nErFzS/DkbA51ym4N+7hrgaXadtjfW52iOf9Ztb6CHr0+5uIDE9vDOjIAPQLM6xuC4sG9WLy3X70ynJphMHjkBcmi7EdAJ39krq7NqnZ3E5HkfpMWB3xq4IEZWkkTJAtHdJXzplpprC6EUQGZCwJgySnI6oaCyieGRNjE80kiozldGl1ZCyhCZpcSEO6sAO1zHk2l40u+PomXnMqDjnItAhXL01HLycDC0itnxJQsoR4+O90uzKUsT3PIZSX0JK1Gzak97evYOpz0a4Gl2gFbepIcBgFrHtNquDfR4qxSGdaE2GgM+uYvMjWZ4cHyWx6LIeHJKISZn1SVY8evTtDcHOvT9yW1G+z0ZYMcfPxRtFCn5oHUiZroFEAXMfr3u2ooRXFHsTKLkvXX3HABR7h0pHZziup0gWFYSIrq0fIkKcmftVbQcl45YHWJ5rNcQsRIQpZ7HGlOP3lqVjZkxO9aa5tLal6X+ZYq1531M+f7u7x3u89YAT7NDtL3cvOWD0QDN9dvuoAfIQ8OntD3k5orAp+rqItcF3xfC+gSrs6KZa+CkrrMZMzr171xrIdmjvBdz146ABWWupiKOq1xb9fDymo27fGfr0VgR6JBuJ7A6HPgIEyKzRAA/E+6s2m2Qmi//7QRynENkfHjW5RimbvMaW6PorRiRVQc7fP1oXO6nxcZyhr1ev+ntjub6N8DT7JitdTSHY6tBT/l6V7YHaXe5xidtW+qEOM2d7Ubs3lFOszBjNmdq+xutkCy55Yjl8a4kf/1qri3AR175IKwu0/OsBkAdHHdldekaKpvEypR7h3Q73J1FIegEcgj8ZK6sCXYn/l4bfVnRtRUBTwA5CIxPJlzO3FpjPU+sqM7Ey6VmJ2N5zF7BYrPcphn9vQGgo3/GGuBp1uzUWh30AOPEkDW2x5scfR53OWJ9kpeq1AXtF+T417bcIPyq1S6p6wM6/ghHbX6w9+G+ZFICJGCuuraAADYQ9TwJ6HQQMKg6a5yDUwrU/Xtwk5gW5RD0MxKqU7F0RHJnsdw7xtfSslSTS4gxy7ML4Ml1WD46i8DPKrcWZ3hKN1cGfArNztilVa+d1my/dvKvYQM8zZqdahuDHmB3tgeoA5+RFeAn7Y8zQJNynRWnXYCTXUCOX58QPu/hNT/S8Zhnd0QQhXIBM/0qys0D+BQAHgAlPQ8VjOBARwEZ6HHOQil+zRSgkljZBYAR3VfOTdTMslHHYwjgSM/0+PMLTM8E2InHj6And21RPh7S9EyFqkchc8H2kJuLajNlACdbNyF0/+QP1s2u3xrgadbs1Ns06AHqbE/5msDEKKKL20iOlYOgvZ/tanHjKibo2oGOP/JxmnMuurJK1xaxHZ7NCW0kAdiULVmhgw3JBTnQ4esSrII1KCIqz6zsiOGR0r+eqJllbdLsUP4dywTLQA54yvsKKFge7tpibq0M6FAUF3dfsWSEGdtjfaSWZdFY+XoCRI3gORvWAE+zZmfCxkLD+EmF7QFWAx//egX4iUetR2xMbn+N7q69AJuTx+rkRhoeACPXFn9Neh4AISoLYd1kdE4OdMbuI6U6xqpIKNel0hFSQnWB4anUzEruLA9uyvw7xPiQ1W4Bag4CN+kakFvLgx9ya3FXVpmMsCw9QUyOr5WlPSAKr0uwY21jeM6KrQQ8N998M572tKcd0ak0K+1zn/vcge6vtefx2kG2Z2vL47WDfjYvXryApz3tqfv8lgWwrH9ic5DUbLWtr/cHtq/2bB6vrXo2hWtqrWbNmjVr1qzZKbfp1KfNmjVr1qxZs2anxBrgadasWbNmzZqdemuAp1mzZs2aNWt26q0BnmbNmjVr1qzZqbcGeJo1a9asWbNmp97+f0514SR9WRRlAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1,5, figsize = (10,2))\n", "ax = ax.flatten()\n", "\n", "with h5.File(save_loc, mode = 'r') as hf:\n", " \n", " for itr, key in enumerate(hf.keys()):\n", " \n", " ax[itr].set_xticks([])\n", " ax[itr].set_yticks([])\n", " \n", " sase_pulse = hf[key]['data'][()]\n", " ax[itr].imshow((abs(sase_pulse)**2).sum(axis = 2),\n", " cmap = 'bone'\n", " )\n", " photon_energy = hf[key]['params']['photon_energy'][()]\n", " ax[itr].set_title(\"Photon Energy:\\n{:.2e} eV\".format(photon_energy*1e3))" ] }, { "cell_type": "markdown", "id": "3d1621ed", "metadata": {}, "source": [ "In the following example - we demonstrate how these properties can be used to make a custom represenation of your SASE source" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (Spyder)", "language": "python3", "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.12.3" } }, "nbformat": 4, "nbformat_minor": 5 }