{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Evrards Collapse" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Imports" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# %pip install ../\n", "\n", "import os\n", "\n", "import os\n", "os.environ[\"CUDA_VISIBLE_DEVICES\"] = \"4,5,6,7,8\" # second gpu\n", "\n", "# numerics\n", "import jax\n", "import jax.numpy as jnp\n", "\n", "# timing\n", "from timeit import default_timer as timer\n", "\n", "# plotting\n", "import matplotlib.pyplot as plt\n", "from matplotlib.gridspec import GridSpec\n", "\n", "# fluids\n", "from jf1uids import SimulationConfig\n", "from jf1uids import get_helper_data\n", "from jf1uids import SimulationParams\n", "from jf1uids import time_integration\n", "from jf1uids.fluid_equations.fluid import construct_primitive_state\n", "from jf1uids.option_classes.simulation_config import finalize_config\n", "\n", "from jf1uids import get_registered_variables\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Initiatization" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "👷 Setting up simulation...\n" ] } ], "source": [ "from jf1uids.option_classes.simulation_config import BACKWARDS, FORWARDS, HLL, HLLC, MINMOD, OSHER, PERIODIC_BOUNDARY, REFLECTIVE_BOUNDARY, BoundarySettings, BoundarySettings1D\n", "\n", "print(\"👷 Setting up simulation...\")\n", "\n", "# simulation settings\n", "gamma = 5/3\n", "\n", "# spatial domain\n", "box_size = 4.0\n", "num_cells = 64\n", "\n", "fixed_timestep = False\n", "dt_max = 0.001\n", "num_timesteps = 9\n", "\n", "# setup simulation config\n", "config = SimulationConfig(\n", " runtime_debugging = False,\n", " progress_bar = True,\n", " first_order_fallback = False,\n", " mhd = False,\n", " self_gravity = True,\n", " dimensionality = 3,\n", " box_size = box_size, \n", " num_cells = num_cells,\n", " fixed_timestep = fixed_timestep,\n", " differentiation_mode = FORWARDS,\n", " num_timesteps = num_timesteps,\n", " limiter = MINMOD,\n", " riemann_solver = HLLC,\n", " boundary_settings = BoundarySettings(BoundarySettings1D(left_boundary = REFLECTIVE_BOUNDARY, right_boundary = REFLECTIVE_BOUNDARY), BoundarySettings1D(left_boundary = REFLECTIVE_BOUNDARY, right_boundary = REFLECTIVE_BOUNDARY), BoundarySettings1D(left_boundary = REFLECTIVE_BOUNDARY, right_boundary = REFLECTIVE_BOUNDARY))\n", ")\n", "\n", "helper_data = get_helper_data(config)\n", "\n", "params = SimulationParams(\n", " t_end = 0.8,\n", " C_cfl = 0.4,\n", " dt_max = dt_max,\n", ")\n", "\n", "registered_variables = get_registered_variables(config)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Setting the initial state" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "from jf1uids.fluid_equations.fluid import construct_primitive_state3D\n", "\n", "R = 1.0\n", "M = 1.0\n", "\n", "dx = config.box_size / (config.num_cells - 1)\n", "\n", "rho = jnp.where(helper_data.r <= R - dx / 2, M / (2 * jnp.pi * R ** 2 * helper_data.r), 1e-4)\n", "\n", "overlap_weights = (R + dx / 2 - helper_data.r) / dx\n", "\n", "rho = jnp.where((helper_data.r > R - dx / 2) & (helper_data.r < R + dx / 2), rho * overlap_weights, rho)\n", "\n", "# Initialize velocity fields to zero\n", "v_x = jnp.zeros_like(rho)\n", "v_y = jnp.zeros_like(rho)\n", "v_z = jnp.zeros_like(rho)\n", "\n", "# initial thermal energy per unit mass = 0.05\n", "e = 0.05\n", "p = (gamma - 1) * rho * e\n", "\n", "# Construct the initial primitive state for the 3D simulation.\n", "initial_state = construct_primitive_state(\n", " config = config,\n", " registered_variables = registered_variables,\n", " density = rho,\n", " velocity_x = v_x,\n", " velocity_y = v_y,\n", " velocity_z = v_z,\n", " gas_pressure = p\n", ")" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "config = finalize_config(config, initial_state.shape)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Simulation" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " |████████████████████████████████████████████████████████████████████████████████████████████████████| 100.1% \r" ] } ], "source": [ "final_state = time_integration(initial_state, config, params, helper_data, registered_variables)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Visualization" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Cut" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'y')" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAg8AAAG2CAYAAAD4CGWCAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABNf0lEQVR4nO3df3DU1b0//udmIRt+JRFiEkLCj14UDT8SCUkMdgqUtLmRoUanvVxvRyIove1dHGha+4F+e/FjtY13FIhTU6P1g2ntMFDsgHdAEYyF1IIlBOINVhjxRojIBlCTkIVsyO77+0dgddnzCjm7783+yPMx854hh/N+79nd925Oznm9zrEYhmGAiIiIaIDiwt0AIiIiii7sPBAREZEWdh6IiIhICzsPREREpIWdByIiItLCzgMRERFpYeeBiIiItLDzQERERFrYeSAiIiIt7DwQERGRlojpPDz11FOwWCxYvXp1v/W2bduG2267DQkJCZg5cyZef/31wWkgERERAYiQzkNDQwNeeOEFzJo1q996Bw4cwP3334+HHnoIR48eRVlZGcrKynDs2LFBaikRERFZwr0xVldXF2bPno3f/va3ePLJJ5Gbm4uqqipl3SVLlsDpdGLnzp3esjvvvBO5ubmoqakZpBYTERENbcPC3QC73Y5FixahuLgYTz75ZL91Dx48iIqKCp+ykpIS7NixQzzH5XLB5XJ5f/Z4PPj8888xbtw4WCyWoNpORESDzzAMXLx4ERkZGYiLC90Aend3N3p6eoK+Tnx8PBISEkxoUeQIa+dhy5YtOHLkCBoaGgZU3+FwIC0tzacsLS0NDodDPKeyshKPP/54UO0kIqLI09raiszMzJBcu7u7GzePGIEuE66Vnp6OlpaWmOpAhK3z0NrailWrVmHv3r0hfUHXrl3rM1rR0dGBiRMnAlgPYETIHjc0roS7AQPQG+4GXNUd7gYMksua9aPtng9UpHxJh31wdwCGh7sBAbgM4CcYM2ZMyB6hp6cHXQB+DMAWxHVcADY6HOjp6WHnwQyNjY04d+4cZs+e7S1zu92or6/Hc889B5fLBavV6nNOeno62trafMra2tqQnp4uPo7NZoPNpnrrRyD6vkij4YsoUjoPQ4VuyFLsfHn1L1I+29HwmY3GzkOfwZh6HoXgPjXRcAcEImzZFgsXLkRzczOampq8x5w5c/D9738fTU1Nfh0HACgqKkJdXZ1P2d69e1FUVDRYzSYioiFkuAlHLApbp2jMmDGYMWOGT9moUaMwbtw4b/nSpUsxYcIEVFZWAgBWrVqFefPmYf369Vi0aBG2bNmCw4cP48UXXxz09hMRUewbhuB+UXLkIQxOnz6Ns2fPen+eO3cuNm/ejBdffBE5OTl49dVXsWPHDr9OCBEREYVO2Nd5GGydnZ1ISkoC8FtExrxopARBhjJWQTeoL9KurxIp71u0Csdgbig/76H+LomUv18jZRD+MoD/QEdHBxITE0PyCNd+V/wXgnt3LwP4PwBuvfVWWK1W2O122O12cxoZRpFyRxIREUUcs6YtGhoaQtbRCYeInrYgIiKiyMORByIiIkGwGROxmrzOzgMREZGA2RZqnLYgIiIiLbHaKSIiIgraMAQ3bRGreVnsPBAREQk4baHGaQsiIiLSEqudIiIioqAFm20RKctqmY0jD0RERIJo3Rjr3nvvxU033YTvfve7Ibk+Rx7CTufWCmXojVm3giqrOdRL96quH+olqyNhaXNA/3lGSrtDLVKeZzR8xcbq38bmiNaYh1WrVmH58uX4/e9/H5Lrc+SBiIgoxsyfPx9jxowJ2fXZeSAiIhJcS9UM9Ahk5KG+vh6LFy9GRkYGLBYLduzY4VenuroakydPRkJCAgoLC3Ho0KEAHilw7DwQEREJhplw6HI6ncjJyUF1dbXy/7du3YqKigo89thjOHLkCHJyclBSUoJz584F8GiBiYYJOSIioqjW2dnp87PNZoPNZlPWLS0tRWlpqXitDRs2YMWKFVi2bBkAoKamBrt27cKmTZuwZs0a8xrdD448EBERCczKtsjKykJSUpL3qKysDKg9PT09aGxsRHFxsbcsLi4OxcXFOHjwYEDXDARHHqKKWVHR0ZC1ESwpUCjW9riLlKyCcImU+y0cmCUxGMzKtmhtbUViYqK3XBp1uJELFy7A7XYjLS3NpzwtLQ3Hjx/3/lxcXIz33nsPTqcTmZmZ2LZtG4qKigJ6TJWh/MkjIiIaFAsXLoTVaoXdbofdbg/547311lshvT47D0RERIJgN8a69ku2oaHBZ+QhUCkpKbBarWhra/Mpb2trQ3p6etDXHyjGPBAREQnCkW3Rn/j4eOTl5aGurs5b5vF4UFdXZ+q0xI1w5IGIiCjE8vPzBzxt0dXVhZMnT3p/bmlpQVNTE8aOHYuJEyeioqIC5eXlmDNnDgoKClBVVQWn0+nNvhgM7DwQEREJzNoYS2fa4vDhw1iwYIH354qKCgBAeXk5amtrsWTJEpw/fx7r1q2Dw+FAbm4udu/e7RdEGUoWwzCMQXu0CNDZ2YmkpCQAvwUj1aNNKLNEaOhi1kL0uQzgP9DR0WFKHIHKtd8VRwCMDuI6XQBmAyFtazgw5oGIiEhg1vLU+fn5yM7OFleNjDactiAiIgoxs7ItIgU7D0RERAKzYh5iDactiIiIBGalanLagoiIiLRw2iKm6UTzx+pgVCTja04UG6Lnu3aYFRhuCeJ8A4DbtOZEDHYeiIiIBMOGAcPYefDDmAciIqIQY8wDERHREDE8yGmL4VeXYWTMAxER0RBhyrRFDOK0BREREWnhyAMREZFguBUYHsSf2cM95rUlkoR15OH555/HrFmzkJiYiMTERBQVFeGNN94Q69fW1sJisfgcCQkJg9hiIiIaUqwmHGDApKkyMzPx1FNP4ZZbboFhGPj973+Pe+65B0ePHsX06dOV5yQmJuLEiRPeny2WICajiIiI+jMMwf2ZfXXkgQGTJlq8eLHPz7/61a/w/PPP49133xU7DxaLBenp6YPRPCIiIlKImIBJt9uNLVu2wOl0oqioSKzX1dWFSZMmISsrC/fccw/ef//9fq/rcrnQ2dnpcxAREQ2IWZtbxJiwdx6am5sxevRo2Gw2/PCHP8T27duRnZ2trDtt2jRs2rQJr732Gv74xz/C4/Fg7ty5+OSTT8TrV1ZWIikpyXtkZWVd/Z8rikOH6nzdaxARxTIzvifD/F3LzoOSxTCMsGah9vT04PTp0+jo6MCrr76Kl156Cfv37xc7EF915coV3H777bj//vvxxBNPKOu4XC64XC7vz52dnVc7EM8CGGHSs/gq7r9ARNQnVL/kLwNYhY6OjpDFEXR2diIpKQkdk4HEIP7M7vQASR8jpG0Nh7D3ieLj4zF16lQAQF5eHhoaGvDss8/ihRdeuOG5w4cPxx133IGTJ0+KdWw2G2w2m2ntJSKiISQO3owJ+lLYpy2u5/F4fEYK+uN2u9Hc3Izx48eHuFVERDQkmTRtwVRNE61duxalpaWYOHEiLl68iM2bN2Pfvn148803AQBLly7FhAkTUFlZCQD45S9/iTvvvBNTp05Fe3s7nn76aZw6dQoPP/xwOJ8GERFRv5iqaaJz585h6dKlOHv2LJKSkjBr1iy8+eab+Na3vgUAOH36NOLivhwc+eKLL7BixQo4HA7cdNNNyMvLw4EDBwYUH0FERKRtGIKbtojRpYjCHjA52K4FwTBgksIv7CFHAeoNdwMoasRAwORMIDGIzkOnG0hqjr2AyYiLeSAiIqLIFq1/+hAREYUepy2U2HkgIiKSWMHflAp8SYiIiCRf2RkzIDEaVciYByIiItLCkQeigKg+OlL2zkihfKxQPkFRJkVp636EpUwJ1YZxZ4S6nwvll4TyyxrtIIowJu1PkZ+fD6vVCrvdDrvdHvwFw4ydByIiIolJnYdYWySK0xZERESkhSMPREREkhjeVjsYfEmIiIgkwe6q6TGrIZGF0xZERESkhSMPppPWcueeF5FtjFA+Tii/XVEmZU9ovveqT2WCRt3+SEkO3YpArt5MzYtL974qO+MDoe5nQvlFzbbQ4ArVHhYRINhpixhd54GdByIiIgk7D0qctiAiIiItHHkgIiKSBLs8NQMmiYiIhphhJhxhsHPnTkybNg233HILXnrpJdOvz5EHHzpL5vKli2zS+yMFARYI5cLS0jpBjRKpiWEJmNSoK35MhMDQ7jTFNRRlAOQlrg8J5Z8I5Vz+OrJF0XdtsLtqhmHkobe3FxUVFfjLX/6CpKQk5OXl4d5778W4cVIAuD6OPBAREcWQQ4cOYfr06ZgwYQJGjx6N0tJS7Nmzx9THYOeBiIhIYjXh0FRfX4/FixcjIyMDFosFO3bs8KtTXV2NyZMnIyEhAYWFhTh06MvRuU8//RQTJny5wd6ECRNw5oy00V1g2HkgIiKSmBTz0NnZ6XO4XC7xIZ1OJ3JyclBdXa38/61bt6KiogKPPfYYjhw5gpycHJSUlODcuXNmPOMBYeeBiIgoxLKyspCUlOQ9KisrxbqlpaV48sknce+99yr/f8OGDVixYgWWLVuG7Oxs1NTUYOTIkdi0aRMAICMjw2ek4cyZM8jIyDD1+TDqj4iISBJsxsTVgMnW1lafLbltNltAl+vp6UFjYyPWrl3rLYuLi0NxcTEOHjwIACgoKMCxY8dw5swZJCUl4Y033sB//ud/Bv4cFNh5oBigWhZ6tlBXyLaQshl0Mih0sy10rjPapMdUZVUAQJdGXV063zLdQnZL93zhBCnb4oiiTLVMNtENmNR5SExM9Ok8BOrChQtwu91IS/PNWEpLS8Px48cBAMOGDcP69euxYMECeDwe/OxnPzM10wJg54GIiCjk8vPzYbVaYbfbYbfbQ/543/nOd/Cd73wnZNdn54GIiEgS7JbcVyMLGxoaTBl5SElJgdVqRVtbm095W1sb0tPTg77+QDFgkoiISGJStkV+fj6ys7PFDIqBio+PR15eHurq6rxlHo8HdXV1KCoqCuraOjjyQEREFGI6Iw9dXV04efKk9+eWlhY0NTVh7NixmDhxIioqKlBeXo45c+agoKAAVVVVcDqdWLZsWaia74edByIiIkmwAZNu/VMOHz6MBQsWeH+uqKgAAJSXl6O2thZLlizB+fPnsW7dOjgcDuTm5mL37t1+QZShZDEMI0Z3G1fr7OxEUlISgGcBjLjuf0O53rqw7j8pSK/tLUK5Yl+KBIu6qm52gs6eEmZ1xVWZFSkadfujyqoAgAsadXWpPlY6e2z0R6rfrfpak/bH+FAo5/4YA3dFs36w37WXAaxCR0eHKXEEKtd+V3T8BEgMLKuy7zouIGk9cOuttw5qwGSoceSBiIhIYtLIg1kBk5GCAZNERESkhSMPREREkmC35I7R2S+OPBAREUkiLFUzUnDkgYiIKMRiLeZhCHceehHceJJ07hB+SbWNEcq/LpQLaUjJijLpbdAtl7IZdLItdG+VZEWZtHCcqm5/2jXqmvV8dLItpAwP3cdUZdu0FwqVJwvl7wjlF4Vy8mfGmL3ODRQCVgS3wmQw50awsE5bPP/885g1a5Z3w5CioiK88cYb/Z6zbds23HbbbUhISMDMmTPx+uuvD1JriYhoyDFp2iLWhLXzkJmZiaeeegqNjY04fPgwvvnNb+Kee+7B+++/r6x/4MAB3H///XjooYdw9OhRlJWVoaysDMeOHRvklhMREQ1crMU8RNwiUWPHjsXTTz+Nhx56yO//lixZAqfTiZ07d3rL7rzzTuTm5qKmpmZA1/9ykaj18F8kygxSN5OLRPnjtIVSsqIs1NMWDo26kTRtoVPeLtRFm1DOaYuBkxaJCtX0wmUAPxmcRaL+C0jUXVzuq9fpBpL+D0La1nCImGwLt9uNLVu2wOl0ipt7HDx4EMXFxT5lJSUlOHjw4GA0kYiIhppru2oGekTMb1lzhX02prm5GUVFReju7sbo0aOxfft2ZGdnK+s6HA6/tbvT0tLgcKj+bOrjcrngcrm8P3d2dprTcCIioiEq7J2HadOmoampCR0dHXj11VdRXl6O/fv3ix0IXZWVlXj88ccHWPuyxpVDMeURq8YK5aXq4gRhikdnHwedPSn6u3ayxnV0py2kNqqmKEI9baFqi9Qnl/aTMGPaQrqG7nSGqo3S/iBdwnRY93eEE1RB3Z8LdUktir5rgw16DPtv2dAI+4BKfHw8pk6diry8PFRWViInJwfPPvussm56ejra2nznJ9va2pCeLn2zAmvXrkVHR4f3aG1tNbX9REQUw7hIlFLE9Yk8Ho/PNMNXFRUVoa6uDqtXr/aW7d27V4yRAACbzQabLYgt0YiIaOgyaZ0HLhJlorVr16K0tBQTJ07ExYsXsXnzZuzbtw9vvvkmAGDp0qWYMGECKisrAQCrVq3CvHnzsH79eixatAhbtmzB4cOH8eKLL4bzaRAREQ0pYe08nDt3DkuXLsXZs2eRlJSEWbNm4c0338S3vvUtAMDp06cRF/flzMrcuXOxefNm/OIXv8DPf/5z3HLLLdixYwdmzJgRrqdARESxjDEPShG3zkOo9b/OgxlBPEN9nQfV2g1C4JluYKTOh1AKRtQNjJTCaVTX0Qno7K9+pkY7pCBAyQWhXBUc+YlQVwpelKjqS9eQgjTbNdsiBXWq6K450a1a0+C/hcpDZU0I3XUegv2uHcR1Hv4fkDgyiOtcApIe4joPRERENMSx80BERCRhtoVSjM7GEBERmYDZFkoceSAiIiItHHkgIiKSMNtCKUafFoWedOsodsQ0K6tCZ8lpqW6yUK7KcOivXJX9IF1bep5SG1UZFEJWRVyyU7iImqd9lPo/VM9Heu5SJoOUndCuKJOyKsz6RlJdR2cpa6Cf7BnF/dwt7QS7VygP1W6TZDp2HpQ4bUFERERaYrRPREREZIJrW3IHc34MYueBiIhIwmkLpRh9WkRERCZg50EpRgdUiIiIKFRitE8UiaS136N1z4tbhPI0/yKzsiqShXKdfSakPSKk8ska5dI+E8nC9jEJ6q3nRyf774cwepR6j4SRWnsEAJfS1HuydGX670nS1a7apwRAt7DFfbtFXa7aT8Ose0LK2tDZT6NdKJeyMFRt6Vbc9wDkz8kHQnmkk77HYphJi0Tl5+fDarXCbrfDbreb0bKwYueBiIhIYtK0BVeYJCIioiGNIw9EREQSK4L7TRnMlEcEY+eBiIhIwmwLJU5bEBERkZYY7RMFSidyXR21HnvGCuUF6uJkEx5SuiulCP2pijIp80Eq1822yPTPoBidrkorAMaN+kxZPhKXlOUjFOVSVkU81Bkbkh6oMyUujfK/ny+PGqmuC3X5Z85xyvIuh+JFTxAyM3QzbaT3U/VWnBTqSlkYEtX9mSzUbRc+J2gTyj/XbEy0iqLvWpOyLWINOw9EREQSTlsocdqCiIiItLDzQEREJLmWbRHoEaHTFvfeey9uuukmfPe73w3ofHYeiIiIJFYTjgi0atUq/OEPfwj4/BidjRkIae3ZgZICfoQlfSOedCvMVhdLAW+qy0hBcLpLEUsBk6qguclC3Uy98rhMp7I8Nc0/4C0F6sDIcUL5GEhLTvsHTKqCKAHAhh5lucSFeGX5ZUUQpBQYeVG4x8cIS2hf+Cf/8nOj1cs5e0aPUpaLAYmfCOUq0lLW0v3Wq1EuLmUtfE66hc8V9mk2JtLpLZ8+8GsE+/2tIUZjHubPn499+/YFfD5HHoiIiCJIfX09Fi9ejIyMDFgsFuzYscOvTnV1NSZPnoyEhAQUFhbi0KFDg9rGCO0TERERRYAwjDw4nU7k5ORg+fLluO+++/z+f+vWraioqEBNTQ0KCwtRVVWFkpISnDhxAqmpqQCA3Nxc9Pb6j1jt2bMHGRkZ+o26DjsPREREEpM6D52dnT7FNpsNNpt63ZXS0lKUlpaKl9ywYQNWrFiBZcuWAQBqamqwa9cubNq0CWvWrAEANDU1BdHoG+O0BRERUYhlZWUhKSnJe1RWVgZ0nZ6eHjQ2NqK4uNhbFhcXh+LiYhw8eNCs5t4QRx6IiIgERhxgBJExYVz9E721tdVnS25p1OFGLly4ALfbjbQ036DjtLQ0HD9+fMDXKS4uxnvvvQen04nMzExs27YNRUVFAz6fnQfTSVHRkf5Sa6Yh6GRQ6C43nSyUS0tIq7ItpKejWsoawOjJ55XlqaPOKcvTFMsLS1kV45RrJfeXbeEfXS4tZW2FW1kucQt5Y6rMikvCssBitoXwfFTlI9PUUfjnRqcqy7sSblaWi1RLTkv3j+7y1Kr6uplD3ZqfN3zcX4siQLRmg9yYe1jfEcz5ALBw4UJYrVbY7XbY7XZzGheEt956K6jzI/03GhERUdRraGjwGXkIVEpKCqxWK9rafP+AaWtrQ3q61EM2H2MeiIiIBNdGHoI5zBQfH4+8vDzU1dV5yzweD+rq6rSmHYLFkQciIiJBr9WCXquw2NeAzjcAGMjPzx/wtEVXVxdOnvxyG9iWlhY0NTVh7NixmDhxIioqKlBeXo45c+agoKAAVVVVcDqd3uyLwcDOAxERUYjpTFscPnwYCxYs8P5cUVEBACgvL0dtbS2WLFmC8+fPY926dXA4HMjNzcXu3bv9gihDiZ0HIiIigXvYMLiHBT7y4B5mALiidc78+fNhGEa/dVauXImVK1cG3K5gsfMwJKmi5QvUVaVocYnqjtLNqpACzqVYIFW5cA0pq2L8qE+V5Rk4qywPZbaFqlzaw8KsbAvVnhdSVoVUrsoS6Sv3zxSJl57PKHXU/tnJymJ0dQtZGO0DLAPM2SZBN9lAzMIQPofKe0t9/5C53FYr3EFMW7itfZ0HnWmLaMDOAxERkcADK9wIvPPgQd8IglnZFpEirNkWlZWVyM/Px5gxY5CamoqysjKcOHGi33Nqa2thsVh8joQE3T+PiYiIKFBhHXnYv38/7HY78vPz0dvbi5///Of49re/jX/84x8YNUrYmhdAYmKiTyfDYgm8V0hERCTphRW9QYw89KL/2IVoFdbOw+7du31+rq2tRWpqKhobG/GNb3xDPM9isQzqYhhERDQ0uWGFO4hBejc8AMCYh1Dq6OgAAIwdO7bfel1dXZg0aRI8Hg9mz56NX//615g+fbqyrsvlgsvl8v58/c5mREREoRZrMQ8R03nweDxYvXo17rrrLsyYMUOsN23aNGzatAmzZs1CR0cHnnnmGcydOxfvv/8+MjP9Q+wrKyvx+OOPh7LpUWicosx/bwMAclS4VK7KrEgW6kqDR1K2xeSBl8dlOpVVpb0qpKyKDKizMMzJtlBvqqDOtnApapqZbeG/Sc9FoX0XhSh/KSNE1Xbtdo9Sf1VdylTft54uxbSnlFUhZUroZFCYcQ0A6BY+h8rPLLMtBkPwIw+xOa0eMZ0Hu92OY8eO4Z133um3XlFRkc8SnHPnzsXtt9+OF154AU888YRf/bVr13oX2AD6Rh6ysrLMazgREcUsdh7UImJvi5UrV2Lnzp34y1/+ohw96M/w4cNxxx13+Czl+VU2mw2JiYk+BxER0WDKz89HdnY2qqurw90UU4R15MEwDDzyyCPYvn079u3bhylTpmhfw+12o7m5GXfffXcIWkhEREOZWSMPjHkwkd1ux+bNm/Haa69hzJgxcDgcAICkpCSMGDECALB06VJMmDABlZWVAIBf/vKXuPPOOzF16lS0t7fj6aefxqlTp/Dwww+H7XkQEVFscsOKXk5b+Alr5+H5558H0LeO91e9/PLLePDBBwEAp0+fRlzcl2/cF198gRUrVsDhcOCmm25CXl4eDhw4gOzs7MFqNhERDRFuDDMlVTPWhH3a4kb27dvn8/PGjRuxcePGELVIZ/OSESFqg5mkt/f2gVfVvbSqXKor7XkhZWFMFsoz/e+j1DT/bAhAnSURSHkq/LM2UoSsCikLQ2dvixGK/SEAYJhm1kKvkG1xWZFto9qTor9yqS06mRVSNkiPYu8NALiUpv4cOroUU6Ddwl+A6qQSCG+n3j1u1ueqV/GZxSdSZc0HDYdY+64deiIiYJKIiCgSuRF3Ne4h0KPv1ywDJomIiIaIa52AwM/vE2sBkxx5ICIiIi0ceSAiIhL0bYwV+MhDNESgBIKdh5gmBRop9g7RXYY6lAGTyUJ5inCZdP/IthRxqWhzylXBkVLdZLRrln/hVzYSl5V1zVqe+pLiXpGCNHUfU6cdqmWyAeCSsHz6RYxRlnel+5d3td+sbkyyuli8P80ImJQ+V9Jvmi7Vfj/S55vLVpvJg2FBTVt4YjRVk9MWREREpIWdByIiIkFwmRZfBlsy24KIiGiIYLaFGkceiIiISAtHHoiIiATXFokK/Pwbr6Qcjdh5iGnqCHVgeOgeUhUtrpurJGZhqD+E40b5ZznI2RPSEtK65f7Xl7InpGtI9W9y+5cnfiYs5+tSF4vUyQzoHOefWWG1Bp9VIZFS31zSMtRCZoGUbXFxlCLbIllK19GMhjfjHtem+sxKn29mW5gp+FRNdh6IiIiGlL6NsQL/VRm6Lnh4MeaBiIiItHDkgYiISOAJMtvCw2kLIiKioSX4VM3Y7Dxw2oKIiCjEuEgURSDpbVSth695CV2q60jr+EtZFeI+G+rUgpGKPRjGCBHn+uVdA66vu4dFikudETLqnMe/sE1ZFfhcKJcIt0Siyz+bw5qqbp+UsSEFlan+apP2qjDrfVPdE9L9gwThhtO5P0P5+RFJn2/hfYvZLZpCqxdxQWZb9H2eY22RKHYeiIiIBMFnW3DagoiIiIgjD0RERJLgAyYV05AxgJ0HIiIiATsPapy2ICIiIi0ceYhpE9TFqndduhN0MyWSFWXpQt1MoVzagiBZHVk/QhFZr4y2BzASl5XlZkT5J+MLZV3VXhWAkFUBAJ8qyt5RV8U2oVzyPaH86/5Fo4S/mNwZ7epyq/qvsx7FfhVytoX6xpLeN+l9Vt0T0v3TlSLc5NL96VCUdQt1dRMcpPqqz2ev8PnGh5oPSv1xB7m3RayOPLDzQEREJGC2hRo7D0RERILgt+SOza2xGPNAREQ0hLS2tmL+/PnIzs7GrFmzsG2b7vwnRx6IiIhEwWdbBH5uqAwbNgxVVVXIzc2Fw+FAXl4e7r77bowaNWrg1whh+yjshKVQVfFhuoGRQlCjMjhSCpiUyqWAyVHSUsT+wXSqgLm+uupyG3qEcvWSxuogTXVQX+Jn/ks/A5CXnFYER7b9VF3178IlJIXCCWnPKArnqesm2tTP51Kq+vmrXivpdZXeB53AyL76/m2R7p+ulJuV5Vr3rRQwqUsKmFR9PrtiZ6njSBaLnYfx48dj/PjxAID09HSkpKTg888/1+o8cNqCiIgogtTX12Px4sXIyMiAxWLBjh07/OpUV1dj8uTJSEhIQGFhIQ4dOhTQYzU2NsLtdiMrK0vrPI48EBERCYJP1dQ/1+l0IicnB8uXL8d9993n9/9bt25FRUUFampqUFhYiKqqKpSUlODEiRNITU0FAOTm5qK3138oa8+ePcjIyAAAfP7551i6dCl+97vfabeRnQciIiJB8Kmafes8dHZ2+pTbbDbYbOotaktLS1FaWipec8OGDVixYgWWLVsGAKipqcGuXbuwadMmrFmzBgDQ1NTUb7tcLhfKysqwZs0azJ07d6BPx4vTFkRERCGWlZWFpKQk71FZWRnQdXp6etDY2Iji4mJvWVxcHIqLi3Hw4MEBXcMwDDz44IP45je/iQceeCCgdnDkgYiISGBWwGRraysSE78McpVGHW7kwoULcLvdSEtL8ylPS0vD8ePHB3SNv/3tb9i6dStmzZrljad45ZVXMHPmzAG3Ywh3Hi4DQa38pY4sB0YEcU2zCW/vYC9PrSoDxKyKuGSnslzKZohXRO5LUftWYcEW3fJhinKprpBYAHwulCtSrqWsiiNCua7vqNK8pe+RNHWxGa+Vbrn0PqvuCen+ke43T4oQeZ48wDIA6NIslz6HyvJo+PqWvieDvYZZ6S03FvwiUX0D/AsXLoTVaoXdbofdbjereQH5+te/Do8nuGWzo+HuIyIiimoNDQ0+Iw+BSklJgdVqRVubb653W1sb0tOl/GLzhTXmobKyEvn5+RgzZgxSU1NRVlaGEydO3PC8bdu24bbbbkNCQgJmzpyJ119/fRBaS0REQ03v1WyLYA4zxcfHIy8vD3V1dd4yj8eDuro6FBUVmfpY/dHuPJSXl6O+vt6UB9+/fz/sdjveffdd7N27F1euXMG3v/1tOJ3qYUQAOHDgAO6//3489NBDOHr0KMrKylBWVoZjx46Z0iYiIqJrrmVbBHMAQH5+PrKzs1FdXX3Dx+zq6kJTU5M3Y6KlpQVNTU04ffo0AKCiogK/+93v8Pvf/x4ffPABfvSjH8HpdHqzLwaD9rRFR0cHiouLMWnSJCxbtgzl5eWYMEHaGrZ/u3fv9vm5trYWqampaGxsxDe+8Q3lOc8++yz++Z//GY8++igA4IknnsDevXvx3HPPoaamJqB2EBERqXiCDJj0XD1XZ9ri8OHDWLBggffniooKAH1/vNfW1mLJkiU4f/481q1bB4fDgdzcXOzevdsviDKUtEceduzYgTNnzuBHP/oRtm7dismTJ6O0tBSvvvoqrlwRluEdoI6ODgDA2LFjxToHDx70SVEBgJKSEjFFxeVyobOz0+cgIiKKVPPnz4dhGH5HbW2tt87KlStx6tQpuFwu/P3vf0dhYeGgtjGgmIebb74ZFRUVeO+99/D3v/8dU6dOxQMPPICMjAz8+Mc/xocffqh9TY/Hg9WrV+Ouu+7CjBkzxHoOh0OZouJwOJT1KysrfXJrdZfgJCKioetaqmYwB6A3bRENggqYPHv2LPbu3Yu9e/fCarXi7rvvRnNzM7Kzs7Fx40ata9ntdhw7dgxbtmwJpkl+1q5di46ODu/R2tpq6vWJiCh2XUvVDPzo+zXb0NCAf/zjH2FP0zSLdszDlStX8N///d94+eWXsWfPHsyaNQurV6/Gv/3bv3nnc7Zv347ly5fjxz/+8YCuuXLlSuzcuRP19fXIzMzst256erpWikp/S4ASERGRPu3Ow/jx4+HxeHD//ffj0KFDyM3N9auzYMECJCcn3/BahmHgkUcewfbt27Fv3z5MmTLlhucUFRWhrq4Oq1ev9pbt3bt3UFNUiIhoaOiFFdYgAiZ7vzJtESmLRJlBu/OwceNGfO9730NCgrT0IJCcnIyWlpYbXstut2Pz5s147bXXMGbMGG/cQlJSEkaM6FupcenSpZgwYYJ3HfBVq1Zh3rx5WL9+PRYtWoQtW7bg8OHDePHFF3WfChERUb+C3xir71yzFomKFNoxDw888EC/HQcdzz//PDo6OjB//nyMHz/ee2zdutVb5/Tp0zh79qz357lz52Lz5s148cUXkZOTg1dffRU7duzoN8iSiIiIzBPW5akN48Z7S+zbt8+v7Hvf+x6+973vBfnoI+C/cYNOqmkk7WEh8d/LXSwWqopLyEtr87cPsAwALqiLPe3qPQUupalf8x74x7S4EK+sK+Vr65arVo0Tc8GlkBspI1lxaxdKm1toEpO5VB8nqX3C8zHjtdItl95n1T1xSfjMSvebdH9q3ePS50T6XEmfQ2W5VDmSSN+TwX7XWgJoS2DMWuch1nBLbiIiIgFTNdW4MRYREVGIxVrMAzsPREREgl5YEWdCtkWsYeeBiIhI0Df1EEy2BTsPREREQ4o7yIBJdh4oCgmbgHUr5t10syp0SJm96u1IAPVioejKHKMsvzTKPxr7Mkaq6wrlUtS+S0gtUF1fiubvHHdJWZ7oEiLOv+5flPaMuup3tqnLRVKSkuIxIWzQ1zluuLJcev6q10p6XaX3QXrf5PfZvy1dTvX9I2ZVSPenqlyqK11bNwtDWc5N/qLJkF8kioiIaKgwa+SBAZNERERDBNd5UOM6D0RERKSFIw9ERESCXlhhYaqmH3YeYtoZdXGvYttz3eWpJao7Sgom+0QoF3Zl72pXB7xdHqUKXhx4IB0AXIT62heFyLaR8A+CjEePsq7V6laXp36mLB8Fj3/hPGVVYKZQLpGWnFYERzpT1QOTX1iTleXtuElZrnpt5ddbCIoV3jedQErp/hGDGqX7U3U/twt1Q7o8tfD5JlO5YUUcUzX9cNqCiIiItLDzQEREJODeFmqctiAiIhK4g1yeOlZTNTnyQERERFo48kBERCRgtoUaOw8xQQrR/jz4S+hSXUd36WtxiV71ksaqiHvdaH65/KKyXJVtYYWQVSG9uOqnA3dGu19Zok1YylpYQlokPKZqyWk5q0KvXJ1tMXrAdQMpV2ZhCPePKfdnKD8/IunzbVZjCAA8GBbUxlieGP01G5vPioiIyATuIEcemKpJREREBI48EBERidyIC3LkITb/RmfngYiISNAX8MiAyevFZpeIiIgognCRKIoi/hkBfVSR+/7R9gFR3VG6d5kU5d5uURZ/5hznVzZmlDpLYoyYPXFZWW4T9qsYJmRWmMFt9f9L5VKqun1Shod4beGvINXeEdJeFbrZFp/B//35DClCXd1y/2sD6ntCun/E+01ixj2uTfWZlT7fZCY3hsES1N4WfefG2iJR7DwQEREJPF9ZYjrQ82MRpy2IiIhIC0ceiIiIBO4gAyZjdZ0Hdh6IiIgE7DyocdqCiIiItHDkIaapI/SVa+J3C5skSHeIVK5aVl9aal/MqhDKLwiXcfhH4l/4J91sC3Xkug0uZbluloOK9BfJZcW+DCOE9ulmfUg556rH1N1PQsp8uKDIlBCzJDTLLwjlqntCun/E+026P3Xucalc3L9FKFfuYyF9vslMvYiDwUWi/LDzQEREJOhLtQw+VTPWxOazIiIiMgFjHtRiczyFiIiIlNrb2zFnzhzk5uZixowZ+N3vfqd9DY48EBERCTxBjjxE4iJRY8aMQX19PUaOHAmn04kZM2bgvvvuw7hx6hgiFXYefJi0RHPEkKK1PlBUFQImdS9tRsCkQygfLZQn+C87fG60+vmMTFMHmcULy1DrBEZKw5NSkOIlRZCiVG5W4KbURhdsfmVywKT6jdBZQroN6vdHt/xcm3DffqJYivpjdVXxfgtlwKRErK/4zGpfPJJEz3dtL6yIi7HOg9VqxciRfd8zLpcLhmHAMAyta3DagoiIKILU19dj8eLFyMjIgMViwY4dO/zqVFdXY/LkyUhISEBhYSEOHTqk9Rjt7e3IyclBZmYmHn30UaSkqDv/krB2HgbyAn3Vvn37YLFY/A6HQ/rTgYiIKHBuWOHGsCAO/ZEHp9OJnJwccQfOrVu3oqKiAo899hiOHDmCnJwclJSU4Ny5c9461+IZrj8+/fRTAEBycjLee+89tLS0YPPmzWhra9NqY1inLa69QMuXL8d999034PNOnDjhsztZampqKJpHRERDnBvWoNZ5uDZt0dnZ6VNus9lgs/lPFwJAaWkpSktLxWtu2LABK1aswLJlywAANTU12LVrFzZt2oQ1a9YAAJqamgbUvrS0NOTk5OCvf/0rvvvd7w7oHCDMIw+lpaV48sknce+992qdl5qaivT0dO8RF8fZFyIiilxZWVlISkryHpWVlQFdp6enB42NjSguLvaWxcXFobi4GAcPHhzQNdra2nDxYt+CeR0dHaivr8e0adO02hGVAZO5ublwuVyYMWMG/u///b+46667xLoulwsu15fBZtf3/oiIiCRmjTy0trb6jJhLow43cuHCBbjdbqSl+QYLp6Wl4fjx4wO6xqlTp/CDH/zAGyj5yCOPYObMmVrtiKrOw/jx41FTU4M5c+bA5XLhpZdewvz58/H3v/8ds2fPVp5TWVmJxx9/fJBbGuk+U5Splz9GtzojQKSKUNe9y3SXxE7wL/KMHqWsem60eorLOkovcl01j6nKWOgrj1eWS0tlj1FkM9hMyAYB+su28G+j/vLUwWdbfIrxyvJzTvX75vlE/T4rMytUZQDwiVAuhVK1K8qkzAztZaiFz6HyM0uDwe2xwvAE0Xm4eu7ChQthtVpht9tht9vNal5ACgoKBjytIYmqzsO0adN8hlbmzp2Ljz76CBs3bsQrr7yiPGft2rWoqKjw/tzZ2YmsrKyQt5WIiOiahoYGn5GHQKWkpMBqtfoFOLa1tSE9PT3o6w9U1AcLFBQU4OTJk+L/22w2JCYm+hxEREQD4e61ojeIw91r7joP8fHxyMvLQ11dnbfM4/Ggrq4ORUVFpj5Wf6Jq5EGlqakJ48erhzqJiIiC4e4dBktv4L8qjavn5ufnD3jaoqury+eP4paWFjQ1NWHs2LGYOHEiKioqUF5ejjlz5qCgoABVVVVwOp3e7IvBENbOw41eoLVr1+LMmTP4wx/+AACoqqrClClTMH36dHR3d+Oll17C22+/jT179oTrKRARUQxz98bBEsTogdHbN8CvM21x+PBhLFiwwPvztan38vJy1NbWYsmSJTh//jzWrVsHh8OB3Nxc7N692y+IMpTC2nm40Qt09uxZnD592vv/PT09+MlPfoIzZ85g5MiRmDVrFt566y2faxAREUWz+fPn33C56JUrV2LlypWD1CJ/FkN3Qeso19nZiaSkJAC/gn+YvnrfA7URmuVSPy1S1nifLJTPVxcnC9UVmQ/KMkDeq0K69lSh/LYBlvVzjdGTzyvLU0edU5anwX81tnFCRPw4XFCWS9kWIxX34UghCt+sbAvVfhqXhHs5lNkWUlZF18c3K8shhTupMtakLDbpGu1CuSqzQjerQro29gnlH0snDLIrQrmUrSR9pwb7XdsN4P9DR0dHyOLYrv2uGN7SCksQj2F0duLKlCzceuutEZNtYYaoj3kgIiIKld5eKyxXgpm26DvXrGyLSBH12RZEREQ0uNh5ICIiEhjuYfAEcRjuL7MtsrOzxc2uog2nLYiIiCS91r4jmPPBaQsiIiIa4jjyYLpofUmlBf6F8u5Mdbnq6UuB2NJ+ABJprwFVkL/0dKSmdKuj+S9lqvf2uJTmHwGuuxeEnG3hn1kxQsi2kPa8kEj7bFxWZluon7ucbeGfVQEAFxTl59rU2RbiXhWat6cywUVnrwpAvj9V97N0j4t7WOg+oUgXrd97A2DSyEOs4cgDERGRxG0BeoM43BYAjHkgIiIiTbEW88DOAxERkaQX8rTUQM+PQew8EBERSdh5UGLngYiISMLOg9IQ7jwkwH/NdDP2tohW0h1+RF3cPUFdnmBR1BUuLd19UrkU/a7eOkLvGu3qYk+XOvrf0TXF/9LpQrbFKHW5tF+FKrNCtd8FAMTDpSyX9MCmLFftY6HKwOirqy7/zKnOtuhyKNJhPlHcJ4C8hYOUKSG996py6b3X3ZdCK9tC2jpI+FzF3G8a6Xty6H3X6mzJHQ2GcOeBiIjoBnoh7wc20PPBgEkiIqKhw331COb8GMR1HoiIiEgLRx6IiIgkDJhUYufBR2wE5pjrc6H8kLq4vdC/LFm4hHT36S5nfVJRJgXYpQvl7UK5GEznH/DX1a5e4rorWbV+NoAEdbDj6GT/ZatHj5KWstYJPFMHRgJAl9M/qLOrXR3oiW510CXahSBIVfDix+qq2gGTUrnqXtFZblpXu/QfwudE/FwNFVH0XcvOgxKnLYiIiEgLOw9ERESSXhMOcG8LIiKiocON4KYermZbxFqqJkceiIiISAtHHoiIiCQMmFRi52HQDA93A0z2oVA+2b+oO01dVbr7pAyHdqFcFUWfoFG3v8fUyfxIFuqOFrIQEtSN7ErxL+9KUWdyxCU7hQdV87Srl9tWZkRISz9Lr5XO0t9SlsQnmuWqawPqNopLSAvlWlk/bUJl6XMSraTvsWCWYIxw7DwosfNAREQkuYLg+kYx2q9izAMRERFp4cgDERGRhHtbKLHzQEREJDEpVTPWcNqCiIgoxLhIFBEAuSv+jn9R93eEukLk9mihuhQVr2JWhLN0HVUmgtRuiVQ/U1Em7MnhSRGyJyRSBoUq+0HKcJCyKiQ6+0xIWRjtmm0x414Rr62KgFPc9/1enKKGSdkWsbZIFDsPREREEqZqKnHagoiIiLRw5IGIiEjCkQcldh6IiIgkzLZQ4rQFERERaeHIA5nsoqLsDXXV7lLhGppZGCq6EfS6VJ8c6dMktUXaf0OVcSBkW4j7aUjaNR5TynyQMhl0nr/0mrQL5dL7Jl1H5y9FrawKQH0/q+57igmctlAK68hDfX09Fi9ejIyMDFgsFuzYseOG5+zbtw+zZ8+GzWbD1KlTUVtbG/J2EhHREHXFhCMGhbXz4HQ6kZOTM+BFM1paWrBo0SIsWLAATU1NWL16NR5++GG8+eabIW4pERENSW4Tjgh16dIlTJo0CT/96U+1zw3rtEVpaSlKS6Wha381NTWYMmUK1q9fDwC4/fbb8c4772Djxo0oKSkJVTOJiIhizq9+9SvceeedAZ0bVQGTBw8eRHFxsU9ZSUkJDh48KJ7jcrnQ2dnpcxAREQ1IrwlHBPrwww9x/PhxrT/gvyqqOg8OhwNpaWk+ZWlpaejs7MTly5eV51RWViIpKcl7ZGVlDUZTiYgoFlxL1Qz0CGDaYiDxgNXV1Zg8eTISEhJQWFiIQ4cOaT3GT3/6U1RWVuo37qqYz7ZYu3YtKioqvD93dnb204EYMTiNGnI+F8r/W13c/XWhPE1dnqyqKzykbkaEVG5GtoVUX9V26fkkC+WSdqFclVkh1dV9PjrZFmZlVajK24W6aBPKpf0qmFkRPH7X9udaPODy5ctx3333+f3/1q1bUVFRgZqaGhQWFqKqqgolJSU4ceIEUlNTAQC5ubno7fX/IOzZswcNDQ249dZbceutt+LAgQMBtTGqOg/p6eloa/P9oLe1tSExMREjRqhvRpvNBpvNNhjNIyKiWNMLwBrk+YDflHl/v5tuFA+4YcMGrFixAsuWLQPQFw+4a9cubNq0CWvWrAEANDU1iee/++672LJlC7Zt24auri5cuXIFiYmJWLdu3YCfVlRNWxQVFaGurs6nbO/evSgqKgpTi4iIKKaZlKqZlZXlM4Ue6JRBT08PGhsbfeL/4uLiUFxc3G/831dVVlaitbUVH3/8MZ555hmsWLFCq+MAhHnkoaurCydPnvT+3NLSgqamJowdOxYTJ07E2rVrcebMGfzhD38AAPzwhz/Ec889h5/97GdYvnw53n77bfzpT3/Crl27wvUUiIiIbqi1tdVnS+5AR8QvXLgAt9utjP87fvx4UG3UEdbOw+HDh7FgwQLvz9diE8rLy1FbW4uzZ8/i9OnT3v+fMmUKdu3ahR//+Md49tlnkZmZiZdeeolpmkREFBrBrtVw9dzExESfzkOkePDBBwM6L6ydh/nz58MwDPH/VatHzp8/H0ePHjXh0YfB/+nr5NREVbhIhJICz/YK5beoi9sL/MsSLOq60pLQEjMCJnWZsbSybv0LJlxbohMwKQWGSqT63arvFSka/UOhPEJz7KKKbhTxQK8xiN+/Jm2MlZ+fD6vVCrvdDrvdHvDlUlJSYLValfF/6enSOvbm429AIiKiEGtoaDBl5CE+Ph55eXmoq6tDWVkZAMDj8aCurg4rV64M+voDxc4DERGRpBfBpRZcHbXQGXm4UTxgRUUFysvLMWfOHBQUFKCqqgpOp9ObfTEY2HkgIiKSXAEgzIIO+HzojTzcKB5wyZIlOH/+PNatWweHw4Hc3Fzs3r3bL4gylNh5ICIikpgUMKnjRvGAALBy5cpBnaa4XlSt80BERBSN8vPzkZ2dPeBdpCMdRx4oAkmhzR8I5Yrlhbtnq6t2Z6rLdbMwQnUNXboZEVJ2guo6upkPuo+pU1e8xidC+RFFmbRMOlE/TIp5MCtgMlKw80BERCQxKVUz1nDagoiIiLSw80BERCQxaW8LxjwQERENFW4E92f21WmLWIt54MgDERERaeHIA8UAVRT9PqGukG3RrdgfAwC6R6rLVZ8c3aAqnWX/dfbY6I/OnhJSXd3nqXNtXBLKpX0ppGwL7ktBJulFcItExeityJEHIiIiSa8JBxjzQERERJpiLeaBnQciIiJJsNMOMTptwc4DERGRxI3gYh5idJEodh6IiIgkHHlQYufBB1+O2CF9Yj8Wyj8TyscJl7/dv6xrrHCN4UK5QHUbSvtmhCPbQnRFKFdlw0j7lEjvw0XdxlBEG3rftfn5+bBarbDb7bDb7eFuTtCG3jtIREQ0UCaNPDBgkoiIaKjoBWAEcX6MxjxwnQciIiLSwpEHIiIiSbAjBzE68sDOg+k0g+MoQkgBeVK5alnkEUJdYYlrCAGWvRP8y7qkuVKzIiY7FWVnhLqqAEhAXlr6skY7KDpJ33tSEG0U4bSFEqctiIiIQozLUxMREQ0VJo08MNuCiIhoqOgF4Ani/GDOjWCctiAiIiItHHkgIiKSuBHctEWMjjyw80AUEFW2gG7GhrQU84f6zRlUzJSgIaQXwY3Rs/NAREQ0xLDzoMSYByIiItLCkQciIiLJFXDkQYEjD0RERBIP+oImAz2udh64SBQRERFp4SJRRGQSZi0QRbxeAJYgzg8mzTOCRcS0RXV1NSZPnoyEhAQUFhbi0KFDYt3a2lpYLBafIyEhYRBbS0REQ0avCUcMCnvnYevWraioqMBjjz2GI0eOICcnByUlJTh37px4TmJiIs6ePes9Tp06NYgtJiIiGtrC3nnYsGEDVqxYgWXLliE7Oxs1NTUYOXIkNm3aJJ5jsViQnp7uPdLS0gaxxURENGRcMeGIQWHtPPT09KCxsRHFxcXesri4OBQXF+PgwYPieV1dXZg0aRKysrJwzz334P333x+M5hIR0VATTKbFtSMGhbXzcOHCBbjdbr+Rg7S0NDgcDuU506ZNw6ZNm/Daa6/hj3/8IzweD+bOnYtPPvlEWd/lcqGzs9PnICIiosBFXbZFUVERioqKvD/PnTsXt99+O1544QU88cQTfvUrKyvx+OOPK640/OrxVTrjS9efS0REvqTvyWC/awc5CjFGMyaCEdaRh5SUFFitVrS1tfmUt7W1IT09fUDXGD58OO644w6cPHlS+f9r165FR0eH92htbQ263URERENZWDsP8fHxyMvLQ11dnbfM4/Ggrq7OZ3ShP263G83NzRg/frzy/202GxITE30OIiKioWzy5MmYNWsWcnNzsWDBAu3zwz5tUVFRgfLycsyZMwcFBQWoqqqC0+nEsmXLAABLly7FhAkTUFlZCQD45S9/iTvvvBNTp05Fe3s7nn76aZw6dQoPP/xwOJ8GERFRVDlw4ABGjx4d0Llh7zwsWbIE58+fx7p16+BwOJCbm4vdu3d7gyhPnz6NuLgvB0i++OILrFixAg6HAzfddBPy8vJw4MABZGdnh+spEBERDSkWwzCGVChIZ2cnkpKSAPwWwIjr/pcBk0REoRfsd+1lAP+Bjo6OkE1Ff/m74gKAYB6jE0CKVlvr6+vx9NNPo7GxEWfPnsX27dtRVlbmU6e6uhpPP/00HA4HcnJy8Jvf/AYFBQUDbtWUKVMwduxYxMXFYfXq1fj+97+v8ZwiYOSBiIiIvuR0OpGTk4Ply5fjvvvu8/v/aysz19TUoLCwEFVVVSgpKcGJEyeQmpoKAMjNzUVvr39Wyp49e5CRkYF33nkHEyZMwNmzZ1FcXIyZM2di1qxZA24jRx58cOSBiCj0omnkwYHgRx7S0dra6tNWm80Gm812w7MtFovfyENhYSHy8/Px3HPPAehLNMjKysIjjzyCNWvWaLfw0UcfxfTp0/Hggw8O+JywL09NREQUucxZnzorKwtJSUne41oSgK5AV2b+KqfTiYsXLwLoW7H57bffxvTp07XawWkLIiKiEFONPASiv5WZjx8/PqBrtLW14d577wXQt9zBihUrkJ+fr9UOdh6IiIhEwe6r3XfuwoULYbVaYbfbYbfbTWlZoL72ta/hvffeC+oa7Dz4YBxDZIvR7ekozPi5H3zR9Jr3Irjvnr7OQ0NDgynxGWaszGwGxjwQERFFCTNWZjYDRx6IiIhEXwY9Bn4+kJ+fP+Bpi66uLp/9mlpaWtDU1ISxY8di4sSJN1yZeTCw80BERCQyJ+ZBZ9ri8OHDPvtNVFRUAADKy8tRW1t7w5WZBwPXeaAowpgHCoVomn+nPoO5zsMRAIHt/9CnC8DskLY1HBjzQEREFGL5+fnIzs5GdXV1uJtiCk5bDElD+S/4YIYfKfKY8RUWrZ8HjpgMjsGftogG7DwQERGJzAmYjDWctiAiIgoxTlsQERENGZy2UGHngYiISGTOCpOxhtMWREREpIUjD1ElGgJvIqWXfTncDRgkus9zqKxtEinPM5RfsWZ9HzBro3/mTFvEGo48EBERia6YcDBgkoiIiDQxYJKIiGjI4LSFCjsPREREImZbqLDzQEREJOLIgwo7D2EXKRkUobzBQ535EI7Mikh533RFSrtDHeGvuidCmYEhXdusz1WkZG0wMyNQ+fn5sFqtsNvtsNvt4W5O0Nh5ICIiEpmztwUDJomIiIYMboylwnUeiIiISAtHHoiIiEQMmFRh54GIiEjEVE0VTlsQERGFGJenJiIiGjLMmbZgtgUREdGQcQXB/apktgURERERRx6IiIhkzLZQYech7HSWew3l8JdZt4LqgxLKZYGl64d6yepQP6eB0n2ekdLuUIuU5xkNX7Fccrp/zLZQiYY7m4iIKEw48qASETEP1dXVmDx5MhISElBYWIhDhw71W3/btm247bbbkJCQgJkzZ+L1118fpJYSERFR2DsPW7duRUVFBR577DEcOXIEOTk5KCkpwblz55T1Dxw4gPvvvx8PPfQQjh49irKyMpSVleHYsWOD3HIiIop9V0w4Yo/FMAwjnA0oLCxEfn4+nnvuOQCAx+NBVlYWHnnkEaxZs8av/pIlS+B0OrFz505v2Z133onc3FzU1NTc8PE6OzuRlJQE4LeInHnRgYqGmzBShujCsU13ODDmQS1Snmc0zAxHY8zDZQD/gY6OjpCtnfDl74o1ABKCuFI3gKdw6623cktus/T09KCxsRFr1671lsXFxaG4uBgHDx5UnnPw4EFUVFT4lJWUlGDHjh3K+i6XCy6Xy/tzR0fH1X9F4y8Xdh4GrjvcDRgkus/TEpJWkCQaOg+R8pnV0ff9PTh/+7puXGUA53ORKBNduHABbrcbaWlpPuVpaWk4fvy48hyHw6Gs73A4lPUrKyvx+OOPK/7nJwG1mYiIIsNnn312dXTAfPHx8UhPT4fDsTHoa6WnpyM+Pt6EVkWOaOgWB2Xt2rU+IxXt7e2YNGkSTp8+HbKbLhQ6OzuRlZWF1tbWqOu9Rmvb2e7BxXYPvmhte0dHByZOnIixY8eG7DESEhLQ0tKCnp6eoK8VHx+PhIRgpj4iT1g7DykpKbBarWhra/Mpb2trQ3p6uvKc9PR0rfo2mw02m82vPCkpKao+LNckJiZGZbuB6G072z242O7BF61tj4sLbcx/QkJCzP3SN0tYsy3i4+ORl5eHuro6b5nH40FdXR2KioqU5xQVFfnUB4C9e/eK9YmIiMhcYZ+2qKioQHl5OebMmYOCggJUVVXB6XRi2bJlAIClS5diwoQJqKysBACsWrUK8+bNw/r167Fo0SJs2bIFhw8fxosvvhjOp0FERDRkhL3zsGTJEpw/fx7r1q2Dw+FAbm4udu/e7Q2KPH36tM/Q1Ny5c7F582b84he/wM9//nPccsst2LFjB2bMmDGgx7PZbHjssceUUxmRLFrbDURv29nuwcV2D75obXu0tjuWhH2dByIiIoouYV9hkoiIiKILOw9ERESkhZ0HIiIi0sLOAxEREWmJyc5DtG7xrdPu2tpaWCwWnyMci5nU19dj8eLFyMjIgMViEfcY+ap9+/Zh9uzZsNlsmDp1Kmpra0Pezuvptnvfvn1+r7fFYhGXRQ+VyspK5OfnY8yYMUhNTUVZWRlOnDhxw/PCfY8H0u5Iuceff/55zJo1y7uQUlFREd54441+zwn36w3otztSXu/rPfXUU7BYLFi9enW/9SLhNR9KYq7zEK1bfOu2G+hbFe7s2bPe49SpU4PY4j5OpxM5OTmorq4eUP2WlhYsWrQICxYsQFNTE1avXo2HH34Yb775Zohb6ku33decOHHC5zVPTU0NUQvV9u/fD7vdjnfffRd79+7FlStX8O1vfxtOp1M8JxLu8UDaDUTGPZ6ZmYmnnnoKjY2NOHz4ML75zW/innvuwfvvv6+sHwmvdyDtBiLj9f6qhoYGvPDCC5g1a1a/9SLlNR9SjBhTUFBg2O12789ut9vIyMgwKisrlfX/5V/+xVi0aJFPWWFhofHv//7vIW3n9XTb/fLLLxtJSUmD1LqBAWBs37693zo/+9nPjOnTp/uULVmyxCgpKQlhy/o3kHb/5S9/MQAYX3zxxaC0aaDOnTtnADD2798v1omUe/yrBtLuSLzHr7npppuMl156Sfl/kfh6X9NfuyPt9b548aJxyy23GHv37jXmzZtnrFq1Sqwbya95rIqpkYdrW3wXFxd7ywayxfdX6wN9W3xL9UMhkHYDQFdXFyZNmoSsrKwb/kURKSLh9Q5Gbm4uxo8fj29961v429/+Fu7meLeY72+DoEh8zQfSbiDy7nG3240tW7bA6XSKS+JH4us9kHYDkfV62+12LFq0yO+1VInE1zzWxVTnob8tvqW5ad0tvkMhkHZPmzYNmzZtwmuvvYY//vGP8Hg8mDt3Lj755JPBaHLApNe7s7MTly9fDlOrbmz8+PGoqanBn//8Z/z5z39GVlYW5s+fjyNHjoStTR6PB6tXr8Zdd93V7wqrkXCPf9VA2x1J93hzczNGjx4Nm82GH/7wh9i+fTuys7OVdSPp9dZpdyS93lu2bMGRI0e82xLcSCS95kNF2JenpsAUFRX5/AUxd+5c3H777XjhhRfwxBNPhLFlsWnatGmYNm2a9+e5c+fio48+wsaNG/HKK6+EpU12ux3Hjh3DO++8E5bHD9RA2x1J9/i0adPQ1NSEjo4OvPrqqygvL8f+/fvFX8SRQqfdkfJ6t7a2YtWqVdi7d29EBGySWkx1HgZji+9QCKTd1xs+fDjuuOMOnDx5MhRNNI30eicmJmLEiBFhalVgCgoKwvaLe+XKldi5cyfq6+uRmZnZb91IuMev0Wn39cJ5j8fHx2Pq1KkAgLy8PDQ0NODZZ5/FCy+84Fc3kl5vnXZfL1yvd2NjI86dO4fZs2d7y9xuN+rr6/Hcc8/B5XLBarX6nBNJr/lQEVPTFtG6xXcg7b6e2+1Gc3Mzxo8fH6pmmiISXm+zNDU1DfrrbRgGVq5cie3bt+Ptt9/GlClTbnhOJLzmgbT7epF0j3s8HrhcLuX/RcLrLemv3dcL1+u9cOFCNDc3o6mpyXvMmTMH3//+99HU1OTXcQAi+zWPWeGO2DTbli1bDJvNZtTW1hr/+Mc/jB/84AdGcnKy4XA4DMMwjAceeMBYs2aNt/7f/vY3Y9iwYcYzzzxjfPDBB8Zjjz1mDB8+3Ghubo7odj/++OPGm2++aXz00UdGY2Oj8a//+q9GQkKC8f777w9quy9evGgcPXrUOHr0qAHA2LBhg3H06FHj1KlThmEYxpo1a4wHHnjAW/9///d/jZEjRxqPPvqo8cEHHxjV1dWG1Wo1du/eHdHt3rhxo7Fjxw7jww8/NJqbm41Vq1YZcXFxxltvvTWo7f7Rj35kJCUlGfv27TPOnj3rPS5duuStE4n3eCDtjpR7fM2aNcb+/fuNlpYW43/+53+MNWvWGBaLxdizZ4+y3ZHwegfS7kh5vVWuz7aI1Nd8KIm5zoNhGMZvfvMbY+LEiUZ8fLxRUFBgvPvuu97/mzdvnlFeXu5T/09/+pNx6623GvHx8cb06dONXbt2DXKL++i0e/Xq1d66aWlpxt13320cOXJk0Nt8LYXx+uNaW8vLy4158+b5nZObm2vEx8cbX/va14yXX3454tv9X//1X8Y//dM/GQkJCcbYsWON+fPnG2+//fagt1vVZgA+r2Ek3uOBtDtS7vHly5cbkyZNMuLj442bb77ZWLhwofcXsKrdhhH+19sw9NsdKa+3yvWdh0h9zYcSbslNREREWmIq5oGIiIhCj50HIiIi0sLOAxEREWlh54GIiIi0sPNAREREWth5ICIiIi3sPBAREZEWdh6IiIhICzsPREREpIWdByIiItLCzgNRDDh//jzS09Px61//2lt24MABxMfH++02SEQULO5tQRQjXn/9dZSVleHAgQOYNm0acnNzcc8992DDhg3hbhoRxRh2HohiiN1ux1tvvYU5c+agubkZDQ0NsNls4W4WEcUYdh6IYsjly5cxY8YMtLa2orGxETNnzgx3k4goBjHmgSiGfPTRR/j000/h8Xjw8ccfh7s5RBSjOPJAFCN6enpQUFCA3NxcTJs2DVVVVWhubkZqamq4m0ZEMYadB6IY8eijj+LVV1/Fe++9h9GjR2PevHlISkrCzp07w900IooxnLYgigH79u1DVVUVXnnlFSQmJiIuLg6vvPIK/vrXv+L5558Pd/OIKMZw5IGIiIi0cOSBiIiItLDzQERERFrYeSAiIiIt7DwQERGRFnYeiIiISAs7D0RERKSFnQciIiLSws4DERERaWHngYiIiLSw80BERERa2HkgIiIiLew8EBERkZb/Hz2fINKrCU56AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from matplotlib.colors import LogNorm\n", "\n", "a = num_cells // 2 - 10\n", "b = num_cells // 2 + 10\n", "\n", "plt.imshow(final_state[registered_variables.pressure_index, :, :, num_cells // 2].T, cmap = \"jet\", origin = \"lower\", extent=[0, box_size, 0, box_size], norm = LogNorm())\n", "plt.colorbar()\n", "plt.xlabel(\"x\")\n", "plt.ylabel(\"y\")" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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5ORo27Ztuueeeyyv5ezZszp37pyioqL0ww8/6OTJk5Y4v/32W/3www9VOhYAAEB5SEoBAIAq6dy5syIjIzV+/Hh99NFHys/PtyRSKio/P19S2QknHx8fSWUnrq72008/6frrr5eHh/V/c2688UbL85Xx7bffavjw4fL19ZWPj4/8/f0ti4b/fi2soKAgNW7c2KrshhtukCQdO3ZMkjRr1iw1adJE4eHhuv766xUbG6udO3da6p85c0a5ublavny5/P39rbaJEydKurxmVlUcPnxYZrNZs2fPLtH2nDlzrNp++umnlZubqxtuuEHdunXTzJkz9fXXX1fpuAAAALawphQAAKgRo0aN0oMPPqjvv/9enTp1qtA++/fvlyR17Nix1DqdO3eWJH3zzTfVD7KScnNz1a9fP/n4+Ojpp59Whw4d5O3trYyMDM2aNUvFxcWVbvPGG2/Ud999p48++khbtmzRe++9p5dfflmJiYmaO3eupc37779fMTExNtu4+g57lXGl7b/+9a+KioqyWefKv8Vtt92mI0eO6MMPP9Qnn3yif/7zn1q4cKGWLVumBx54oErHBwAAuBpJKQAAUCN+/fVXSSVHD5WmqKhIa9euVaNGjdS3b99S691www3q1KmTPvzwQ7300kuWKX+lue666/T111+ruLjYarTUlal21113XYXik6TU1FSdO3dO77//vm677TZL+dGjR23Wz8zMVEFBgdVoqe+//16SFBwcbClr3LixRo8erdGjR+vChQsaMWKEnn32WSUkJMjf319NmzZVUVGRIiMjKxxrRbRv317S5emMFWnbz89PEydO1MSJE5Wfn6/bbrtNTz31lCUpxd32AABAdTB9DwAAVIqtqWMXL17U6tWr1bBhQ4WEhJTbRlFRkWbMmKGDBw9qxowZlil6pZk7d67OnTunBx54QJcuXSrx/CeffKKPPvpIkjRo0CBlZWVp3bp1lucvXbqkJUuWqEmTJurXr1+58V3h6ekpSVZTEi9cuKCXX37ZZv1Lly7p1Vdftar76quvyt/fXz169JAknTt3zmqfBg0aKCQkRGazWRcvXpSnp6dGjhyp9957zzKS7GpnzpypcPy/17JlS/Xv31+vvvqqTp06VWbbv4+zSZMm6tixowoLCy1lV5Jvubm5VY4JAADUXYyUAgAAlfLggw/KZDLptttuU+vWrZWVlaU1a9bo0KFDevHFF0uMZMrLy9Obb74pSTp//rwOHz6s999/X0eOHNGYMWP0zDPPlHvM0aNH65tvvtGzzz6rL7/8UmPHjtV1112nc+fOacuWLUpJSdHatWslSVOnTtWrr76qCRMmaO/evQoODtb69eu1c+dOLVq0qMILpktSnz591Lx5c8XExGjGjBkyGAx64403Sl03KygoSM8995yOHTumG264QevWrdO+ffu0fPly1a9fX5J05513KjAwULfccosCAgJ08OBBLV26VIMHD7bENm/ePG3fvl0RERGaMmWKQkJClJOTo4yMDH366afKycmp8Gv4PaPRqL59+6pbt26aMmWK2rdvr+zsbKWlpennn3/WV199JUkKCQlR//791aNHD/n5+WnPnj1av369pk+fbmnrSqJtxowZioqKkqenp8aMGVPl2AAAQB3jxDv/AQCAWuitt94yR0ZGmgMCAsz16tUzN2/e3BwZGWn+8MMPS9Tt16+fWZJla9Kkifn6668333///eZPPvmk0sdOSUkx33XXXeaWLVua69WrZ/b39zcPGTKkxLGzs7PNEydONLdo0cLcoEEDc7du3cwrV64s0Z4k85w5cyyPV65caZZkPnr0qKVs586d5j/84Q/mhg0bmoOCgsyPP/64+eOPPzZLMm/fvt3qtXbp0sW8Z88ec+/evc3e3t7m6667zrx06VKrY7766qvm2267zXzNNdeYvby8zB06dDDPnDnTnJeXV+I1xMbGmtu0aWOuX7++OTAw0DxgwADz8uXLK/x+nTlzpsRrNJvN5iNHjpjHjx9vDgwMNNevX9/cunVr85/+9Cfz+vXrLXX+/ve/m8PDw83NmjUzN2zY0Ny5c2fzs88+a75w4YKlzqVLl8wPPfSQ2d/f32wwGMz81xIAAFSGwWyuxC1yAAAAYFP//v119uxZm1PuAAAAUBJrSgEAAAAAAMDhSEoBAAAAAADA4UhKAQAAAAAAwOFYUwoAAAAAAAAOx0gpAAAAAAAAOBxJKQAAAAAAADgcSSkAAAAAAAA4HEkpAAAAAAAAOBxJKQAAAAAAADgcSSkAAAAAAAA4HEkpAAAAAAAAOBxJKQAAAAAAADgcSSkAAAAAAAA4HEkpAAAAAAAAOBxJKQAAAAAAADgcSSkAAAAAAAA4HEkpAAAAAAAAOBxJKQAAAAAAADgcSSkAAAAAAAA4HEkpAAAAAAAAOBxJKQAAAAAAADgcSSkAAAAAAAA4HEkpAAAAAAAAOBxJKQAAAAAAADgcSSkAAAAAAAA4HEkpAAAAAAAAOBxJKQAAAAAAADic2yelcnNz1bNnT4WFhalr16567bXXnB0SAAAAAABAnef2SammTZtqx44d2rdvn3bt2qV//OMfOnfunLPDAgAAAGAnRqNRwcHB8vb2VkREhHbv3l1q3ddee0233nqrmjdvrubNmysyMrJE/QkTJshgMFhtAwcOtPfLAAC35/ZJKU9PTzVq1EiSVFhYKLPZLLPZ7OSoAAAAANjDunXrFBcXpzlz5igjI0OhoaGKiorS6dOnbdZPTU3V2LFjtX37dqWlpalNmza68847dfLkSat6AwcO1KlTpyzbW2+95YiXAwBuzeWTUjt27NCQIUMUFBQkg8GgDRs2lKhT3pWQ3NxchYaG6tprr9XMmTPVokULB0UPAAAAwJEWLFigKVOmaOLEiQoJCdGyZcvUqFEjrVixwmb9NWvW6C9/+YvCwsLUuXNn/fOf/1RxcbFSUlKs6nl5eSkwMNCyNW/e3BEvBwDcmssnpQoKChQaGiqj0Wjz+YpcCWnWrJm++uorHT16VGvXrlV2drajwgcAAADgIBcuXNDevXsVGRlpKfPw8FBkZKTS0tIq1Mb58+d18eJF+fn5WZWnpqaqZcuW6tSpk6ZNm8aSIABQA+o5O4DyREdHKzo6utTnr74SIknLli3Tpk2btGLFCsXHx1vVDQgIUGhoqP7zn/9o1KhRJdoqLCxUYWGh5XFxcbFycnJ0zTXXyGAw1NArAgDXZTab9csvvygoKEgeHi5/3cJlFBcXKzMzU02bNqW/AOD2XLmvOHv2rIqKihQQEGBVHhAQoEOHDlWojVmzZikoKMgqsTVw4ECNGDFC7dq105EjR/TEE08oOjpaaWlp8vT0tNkO5xYA6rKK9hUun5Qqy5UrIQkJCZay318Jyc7OVqNGjdS0aVPl5eVpx44dmjZtms32kpKSNHfuXIfEDgCu7MSJE7r22mudHUatkZmZqTZt2jg7DABwKHfsK+bNm6e3335bqamp8vb2tpSPGTPG8nu3bt3UvXt3dejQQampqRowYIDNtji3AIDy+4panZSqyJWQn376SVOnTrUscP7QQw+pW7duNttLSEhQXFyc5XFeXp7atm2rEydOyMfHx34vBABchMlkUps2bdS0aVNnh1KrXHm/6C8A1AWu3Fe0aNFCnp6eJZbryM7OVmBgYJn7zp8/X/PmzdOnn36q7t27l1m3ffv2atGihQ4fPlxqUopzCwB1WUX7ilqdlKqI8PBw7du3r0J1vby85OXlJaPRKKPRqKKiIkmSj48PHQeAOoVpBZVz5f2ivwBQl7hiX9GgQQP16NFDKSkpGjZsmCRZFi2fPn16qfs9//zzevbZZ/Xxxx+rZ8+e5R7n559/1rlz59SqVatS61w5t/g9+goAdUl5fYVrTQKvpOpcCSlLbGysDhw4oPT09OqGCAAAAMCB4uLi9Nprr2nVqlU6ePCgpk2bpoKCAssatOPHj7da/uO5557T7NmztWLFCgUHBysrK0tZWVnKz8+XJOXn52vmzJn673//q2PHjiklJUV33XWXOnbsqKioKKe8RgBwF7U6KXX1lZArrlwJ6d27txMjAwAAAOAMo0eP1vz585WYmKiwsDDt27dPW7ZssSz5cfz4cZ06dcpS/5VXXtGFCxc0atQotWrVyrLNnz9fkuTp6amvv/5aQ4cO1Q033KDJkyerR48e+s9//mNzJBQAoOJcfvpefn6+Dh8+bHl89OhR7du3T35+fmrbtq3i4uIUExOjnj17Kjw8XIsWLbK6ElIVv5++BwAAAKD2mD59eqnT9VJTU60eHzt2rMy2GjZsqI8//riGIgMAXM3lk1J79uzR7bffbnl8ZbHAmJgYJScna/To0Tpz5owSExOVlZWlsLAwqyshVREbG6vY2FiZTCb5+vpW+zUAAAAAAADAmssnpfr37y+z2VxmnbKuhAAAAAAAAMD11Oo1pQAAsMVoNCo4OFje3t6KiIjQ7t27y6z/7rvvqnPnzvL29la3bt20efNmB0UKAAAA1F0kpWwwGo0KCQlRr169nB0KAKCS1q1bp7i4OM2ZM0cZGRkKDQ1VVFSUTp8+bbP+F198obFjx2ry5Mn68ssvNWzYMA0bNkz79+93cOQAAABA3WIwlzc3rg67sqZUXl6efHx8nB0OANidO3zvRUREqFevXlq6dKmky3dlbdOmjR566CHFx8eXqD969GgVFBToo48+spT94Q9/UFhYmJYtW1ahY7rD+wYAFcV3XtXwvgGoSyr6ncdIKQCA27hw4YL27t2ryMhIS5mHh4ciIyOVlpZmc5+0tDSr+pIUFRVVan1JKiwslMlkstoAAAAAVA5JKRuYvgcAtdPZs2dVVFRU4g6sAQEBysrKsrlPVlZWpepLUlJSknx9fS1bmzZtqh88AAAAUMeQlLIhNjZWBw4cUHp6urNDAQC4oISEBOXl5Vm2EydOODskAAAAoNap5+wAAACoKS1atJCnp6eys7OtyrOzsxUYGGhzn8DAwErVlyQvLy95eXlVP2AAAACgDmOkFADAbTRo0EA9evRQSkqKpay4uFgpKSnq3bu3zX169+5tVV+Stm7dWmp9AAAAADWDkVIAALcSFxenmJgY9ezZU+Hh4Vq0aJEKCgo0ceJESdL48ePVunVrJSUlSZIefvhh9evXTy+++KIGDx6st99+W3v27NHy5cud+TIAAAAAt0dSygaj0Sij0aiioiJnhwIAqKTRo0frzJkzSkxMVFZWlsLCwrRlyxbLYubHjx+Xh8f/DRTu06eP1q5dqyeffFJPPPGErr/+em3YsEFdu3Z11ksAAAAA6gSD2Ww2OzsIV2UymeTr66u8vDz5+Pg4OxwAsDu+96qG9w1AXcJ3XtXwvgGoSyr6nceaUgAAAAAAAHA4klIAAAAAAABwOJJSAAAAAAAAcDiSUjYYjUaFhISoV69ezg4FAAAAAADALZGUsiE2NlYHDhxQenq6s0MBAAAAAABwSySlAAAAAAAA4HAkpQAAAAAAAOBwJKUAAAAAAADgcCSlAAAAAAAA4HAkpQAAAAAAAOBwJKVsMBqNCgkJUa9evZwdCgAAAAAAgFsiKWVDbGysDhw4oPT0dGeHAgAAAAAA4JZISgEAAAAAAMDhSEoBAAAAAADA4UhKAQAAAAAAwOFISgEAAAAAAMDhSEoBAAAAAADA4UhKAQAAAAAAwOFISgEAAAAAAMDhSEoBAAAAAADA4UhK2WA0GhUSEqJevXo5OxQAAAAAAAC3RFLKhtjYWB04cEDp6enODgUAAAAAAMAtkZQCAAAAAACAw5GUAgAAAAAAgMORlAIAAAAAAIDDkZQCAAAAAACAw5GUAgAAAAAAgMORlAIAAAAAAIDDkZQCALiNnJwc3XffffLx8VGzZs00efJk5efnl1n/oYceUqdOndSwYUO1bdtWM2bMUF5engOjBgAAAOomklIAALdx33336dtvv9XWrVv10UcfaceOHZo6dWqp9TMzM5WZman58+dr//79Sk5O1pYtWzR58mQHRg0AAADUTfWcHQAAADXh4MGD2rJli9LT09WzZ09J0pIlSzRo0CDNnz9fQUFBJfbp2rWr3nvvPcvjDh066Nlnn9X999+vS5cuqV49ukkAAADAXtx+pNSJEyfUv39/hYSEqHv37nr33XedHRIAwA7S0tLUrFkzS0JKkiIjI+Xh4aFdu3ZVuJ28vDz5+PiQkAIAAADszO3/x12vXj0tWrRIYWFhysrKUo8ePTRo0CA1btzY2aEBAGpQVlaWWrZsaVVWr149+fn5KSsrq0JtnD17Vs8880yZU/4kqbCwUIWFhZbHJpOp8gEDAAAAdZzbj5Rq1aqVwsLCJEmBgYFq0aKFcnJynBsUAKDC4uPjZTAYytwOHTpU7eOYTCYNHjxYISEheuqpp8qsm5SUJF9fX8vWpk2bah8fAFBzjEajgoOD5e3trYiICO3evbvUuq+99ppuvfVWNW/eXM2bN1dkZGSJ+mazWYmJiWrVqpUaNmyoyMhI/fDDD/Z+GQDg9lw+KbVjxw4NGTJEQUFBMhgM2rBhQ4k6Fe109u7dq6KiIk4eAKAWeeyxx3Tw4MEyt/bt2yswMFCnT5+22vfSpUvKyclRYGBgmcf45ZdfNHDgQDVt2lQffPCB6tevX2b9hIQE5eXlWbYTJ05U+3UCAGrGunXrFBcXpzlz5igjI0OhoaGKiooq0UdckZqaqrFjx2r79u1KS0tTmzZtdOedd+rkyZOWOs8//7wWL16sZcuWadeuXWrcuLGioqL022+/OeplAYBbcvmkVEFBgUJDQ2U0Gm0+X9FOJycnR+PHj9fy5csdETYAoIb4+/urc+fOZW4NGjRQ7969lZubq71791r23bZtm4qLixUREVFq+yaTSXfeeacaNGigjRs3ytvbu9yYvLy85OPjY7UBAFzDggULNGXKFE2cOFEhISFatmyZGjVqpBUrVtisv2bNGv3lL39RWFiYOnfurH/+858qLi5WSkqKpMujpBYtWqQnn3xSd911l7p3767Vq1crMzPT5gVzAEDFuXxSKjo6Wn//+981fPhwm89XpNMpLCzUsGHDFB8frz59+pR6rMLCQplMJqsNAFA73HjjjRo4cKCmTJmi3bt3a+fOnZo+fbrGjBljufPeyZMn1blzZ8uI2isJqYKCAr3++usymUzKyspSVlaWioqKnPlyAABVcOHCBe3du1eRkZGWMg8PD0VGRiotLa1CbZw/f14XL16Un5+fJOno0aPKysqyatPX11cRERFltsm5BQCUz+WTUmWpSKdjNps1YcIE3XHHHRo3blyZ7bFGCADUbmvWrFHnzp01YMAADRo0SH379rUaIXvx4kV99913On/+vCQpIyNDu3bt0jfffKOOHTuqVatWlo0peQBQ+5w9e1ZFRUUKCAiwKg8ICKjwTS9mzZqloKAgyznGlf0q2ybnFgBQvlp9972yOp0ri97u3LlT69atU/fu3S3Da9944w1169atRHsJCQmKi4uzPDaZTHQeAFCL+Pn5ae3ataU+HxwcLLPZbHncv39/q8cAgLpt3rx5evvtt5Wamlqh6dxl4dwCAMpXq5NSFdG3b18VFxdXqK6Xl5e8vLzsHBEAAAAAe2jRooU8PT2VnZ1tVZ6dnV3uTS/mz5+vefPm6dNPP1X37t0t5Vf2y87OVqtWrazavHKXb1s4twCA8tXq6XvV6XTKYjQaFRISol69elU3RAAAAAAO0qBBA/Xo0cOySLkky6LlvXv3LnW/559/Xs8884y2bNminj17Wj3Xrl07BQYGWrVpMpm0a9euMtsEAJSvVielqtrplCc2NlYHDhxQenp6TYQJAADqkPYJmxQcv0ntEzY5OxSgToqLi9Nrr72mVatW6eDBg5o2bZoKCgo0ceJESdL48eOVkJBgqf/cc89p9uzZWrFihYKDgy03vMjPz5ckGQwGPfLII/r73/+ujRs36ptvvtH48eMVFBSkYcOGOeMlAoDbcPnpe/n5+Tp8+LDl8dGjR7Vv3z75+fmpbdu2iouLU0xMjHr27Knw8HAtWrTIqtMBAABwpGKz9U8AjjV69GidOXNGiYmJysrKUlhYmLZs2WJZh/b48ePy8Pi/a/OvvPKKLly4oFGjRlm1M2fOHD311FOSpMcff1wFBQWaOnWqcnNz1bdvX23ZsqXa604BQF1nMLv4Cq+pqam6/fbbS5THxMQoOTlZkrR06VK98MILlk5n8eLFioiIqPIxjUajjEajioqK9P333ysvL08+Pj5Vbg8AaguTySRfX1++9yqJ9w1Xa5+wScVmycMg/Zg02NnhADWO77yq4X0DUJdU9DvP5ZNSzkTHAaCu4XuvanjfANQlfOdVDe8bgLqkot95Lj99DwAAAI534+x/69eLxWpY30MHn4l2djgAAMAN1eqFzu2Fu+8BAIC67teLxVY/AQAAahpJKRu4+x4AAAAAAIB9kZQCAAAAAACAw7GmFAAAAEo4No87BwIAAPtipJQNrCkFAAAAAABgXySlbGBNKQAAAAAAAPsiKQUAAAAAAACHIykFAAAAAAAAhyMpZQNrSgEAAAAAANgXSSkbWFMKAAAAAADAvkhKAQAAAAAAwOFISgEAAAAAAMDh6jk7AKA2aZ+wScVmycMg/Zg02NnhAAAAAABQazFSygYWOkdpis3WPwEAAAAAQNWQlLKBhc5RGg+D9U8AAAAAAFA1TN8DKoEpewAAAAAA1AxGSgEAAAAAAMDhSEoBAAAAAADA4UhKAQAAAAAAwOFISgEAAAAAAMDhWOjcBqPRKKPRqKKiImeHAgAAAAAAynHj7H/r14vFaljfQwefiXZ2OKggRkrZEBsbqwMHDig9Pd3ZoQAAAAAAgHL8erHY6idqB5JSAAC3kZOTo/vuu08+Pj5q1qyZJk+erPz8/ArtazabFR0dLYPBoA0bNtg3UAAAAAAkpQAA7uO+++7Tt99+q61bt+qjjz7Sjh07NHXq1Artu2jRIhkMBjtHCACwpaioSPPnz1d4eLgCAwPl5+dntQEA3BNJKQCAWzh48KC2bNmif/7zn4qIiFDfvn21ZMkSvf3228rMzCxz33379unFF1/UihUrHBQtAOBqc+fO1YIFCzR69Gjl5eUpLi5OI0aMkIeHh5566ilnhwegFvAwWP9E7cBC5wAAt5CWlqZmzZqpZ8+elrLIyEh5eHho165dGj58uM39zp8/r3vvvVdGo1GBgYEVOlZhYaEKCwstj00mU/WCB4A6bs2aNXrttdc0ePBgPfXUUxo7dqw6dOig7t2767///a9mzJjh7BABuLgfkwY7OwRUASOlAABuISsrSy1btrQqq1evnvz8/JSVlVXqfo8++qj69Omju+66q8LHSkpKkq+vr2Vr06ZNleMGAFz+Du/WrZskqUmTJsrLy5Mk/elPf9KmTZucGRoAwI5ISgEAXFp8fLwMBkOZ26FDh6rU9saNG7Vt2zYtWrSoUvslJCQoLy/Psp04caJKxwcAXHbttdfq1KlTkqQOHTrok08+kSSlp6fLy8vLmaEBAOyI6XsAAJf22GOPacKECWXWad++vQIDA3X69Gmr8kuXLiknJ6fUaXnbtm3TkSNH1KxZM6vykSNH6tZbb1VqaqrN/by8vDhJAoAaNHz4cKWkpCgiIkIPPfSQ7r//fr3++us6fvy4Hn30UWeHBwCwE5JSAACX5u/vL39//3Lr9e7dW7m5udq7d6969Ogh6XLSqbi4WBERETb3iY+P1wMPPGBV1q1bNy1cuFBDhgypfvAAgAqZN2+e5ffRo0erbdu2SktL0/XXX8/3MQC4MZJSNhiNRhmNRhUVFTk7FABABd14440aOHCgpkyZomXLlunixYuaPn26xowZo6CgIEnSyZMnNWDAAK1evdpy23Fbo6jatm2rdu3aOfolAAD+v969e6t3797ODgMAYGckpWyIjY1VbGysTCaTfH19nR0OAKCC1qxZo+nTp2vAgAHy8PDQyJEjtXjxYsvzFy9e1Hfffafz5887MUoAgC2ZmZn6/PPPdfr0aRUXF1s9x933AMA9kZQC6qDg+P+7i82xedw6Fe7Dz89Pa9euLfX54OBgmc3mMtso73kAQM1LTk7Wgw8+qAYNGuiaa66RwWCwPGcwGEhKAYCbIikFAAAAwKlmz56txMREJSQkyMODG4QDQF3BNz4AAAAApzp//rzGjBlDQgoA6hhGSgF1EFP2AACAK5k8ebLeffddxcfHOzsUAIADkZQCAAAA4FRJSUn605/+pC1btqhbt26qX7++1fMLFixwUmQAAHsiKQUAAADAqZKSkvTxxx+rU6dOklRioXMAgHsiKQUAAACH4O6vKM2LL76oFStWaMKECc4OBQDgQKwkCAAAAMCpvLy8dMsttzg7DACAg5GUAgAAAOBUDz/8sJYsWeLsMAAADlYnpu8NHz5cqampGjBggNavX+/scAAAAOokD4NUbL78E7ja7t27tW3bNn300Ufq0qVLiYXO33//fSdFBgCwpzqRlHr44Yc1adIkrVq1ytmhAAAA1Fk/JrGOFGxr1qyZRowY4ewwAAAOVieSUv3791dqaqqzwwAAAABgw8qVK2u0PaPRqBdeeEFZWVkKDQ3VkiVLFB4ebrPut99+q8TERO3du1c//fSTFi5cqEceecSqzlNPPaW5c+dalXXq1EmHDh2q0bgBoK5x+TWlduzYoSFDhigoKEgGg0EbNmwoUcdoNCo4OFje3t6KiIjQ7t27HR8oAAAAAKdbt26d4uLiNGfOHGVkZCg0NFRRUVE6ffq0zfrnz59X+/btNW/ePAUGBpbabpcuXXTq1CnL9vnnn9vrJQBAneHySamCggKFhobKaDTafL6ynQ4AAAAA13Lu3DnFxsYqJCRELVq0kJ+fn9VWGQsWLNCUKVM0ceJEhYSEaNmyZWrUqJFWrFhhs36vXr30wgsvaMyYMfLy8iq13Xr16ikwMNCytWjRolJxAQBKcvnpe9HR0YqOji71+as7HUlatmyZNm3apBUrVig+Pr5SxyosLFRhYaHlsclkqlrQAAAAACps3LhxOnz4sCZPnqyAgAAZDFVbDf/ChQvau3evEhISLGUeHh6KjIxUWlpatWL84YcfFBQUJG9vb/Xu3VtJSUlq27ZtqfU5twCA8rl8UqosNd3pJCUllZgrDqBiguM3WX4/No+FbAEAQMX95z//0eeff67Q0NBqtXP27FkVFRUpICDAqjwgIKBa6z9FREQoOTlZnTp10qlTpzR37lzdeuut2r9/v5o2bWpzH84tAKB8Lj99ryxldTpZWVmWx5GRkbr77ru1efNmXXvttaUmrBISEpSXl2fZTpw4Ydf4AQAAAEidO3fWr7/+6uwwShUdHa27775b3bt3V1RUlDZv3qzc3Fy98847pe7DuQUAlK9Wj5SqqE8//bRC9by8vMqcRw4AAACg5r388suKj49XYmKiunbtqvr161s97+PjU6F2WrRoIU9PT2VnZ1uVZ2dnl7mIeWU1a9ZMN9xwgw4fPlxqHc4tAKB8tTopZa9Ox2g0ymg0qqioqLohAnUGU/YAAEBVNWvWTCaTSXfccYdVudlslsFgqPD/yxs0aKAePXooJSVFw4YNkyQVFxcrJSVF06dPr7F48/PzdeTIEY0bN67G2gSAuqhWJ6Xs1enExsYqNjZWJpNJvr6+NRQtANQdwcHBmjRpkiZMmFDmIrAAAEjSfffdp/r162vt2rXVWuhckuLi4hQTE6OePXsqPDxcixYtUkFBgeXGSOPHj1fr1q2VlJQk6fI6tQcOHLD8fvLkSe3bt09NmjRRx44dJUl//etfNWTIEF133XXKzMzUnDlz5OnpqbFjx1bzlQNA3ValpNSPP/6o9u3b13QsNuXn51sNiz169Kj27dsnPz8/tW3bttxOBwDgeI888oiSk5P19NNP6/bbb9fkyZM1fPhwpjEAAGzav3+/vvzyS3Xq1KnabY0ePVpnzpxRYmKisrKyFBYWpi1btljWoT1+/Lg8PP5vad3MzEzddNNNlsfz58/X/Pnz1a9fP6WmpkqSfv75Z40dO1bnzp2Tv7+/+vbtq//+97/y9/evdrwAUJcZzGazubI7eXh4qF+/fpo8ebJGjRolb29ve8QmSUpNTdXtt99eojwmJkbJycmSpKVLl+qFF16wdDqLFy9WRERElY959fS977//Xnl5eRWexw4AtdmVEaI19b2XkZGh5ORkvfXWWyoqKtK9996rSZMm6eabb66BaF1HTb9vAODK7PGdd9tttykxMVGRkZE10p4roq8AUJdU9DuvSkmpffv2aeXKlXrrrbd04cIFjR49WpMnT1Z4eHi1gnY1dBwA6hp7fe9dvHhRL7/8smbNmqWLFy+qW7dumjFjhiZOnFitKRqugv4CQF1ij++8d999V0899ZRmzpypbt26lVjovHv37jVyHGeirwBQl9g1KXXFpUuXtHHjRiUnJ2vLli264YYbNGnSJI0bN84thrLScQCoa2r6e+/ixYv64IMPtHLlSm3dulV/+MMfNHnyZP38888yGo264447tHbt2hqI3LnoLwDUJfb4zrt6Ot0VBoOh0guduzL6CsC+2idsUrFZ8jBIPyZxEyZnq+h3XrUWOq9Xr55GjBihwYMH6+WXX1ZCQoL++te/6oknntA999yj5557Tq1atarOIZyCu+8BQPVkZGRYRtR6eHho/PjxWrhwoTp37mypM3z4cPXq1cuJUQIAXMXRo0edHQKAWq7YbP0TtUO1klJ79uzRihUr9Pbbb6tx48b661//arkCPnfuXN11113avXt3TcXqMNx9DwCqp1evXvrjH/+oV155RcOGDSsxDUOS2rVrpzFjxjghOgCAq7nuuuucHQKAWs7DIMtIKdQeVUpKLViwQCtXrtR3332nQYMGafXq1Ro0aJBl2G27du2UnJys4ODgmowVAFBL/Pjjj+WeYDRu3FgrV650UEQAgNrgwIEDOn78uC5cuGBVPnToUCdFBKC2YMpe7VSlpNQrr7yiSZMmacKECaVOz2vZsqVef/31agUHAKidbr/9dqWnp+uaa66xKs/NzdXNN9+sH3/80UmRAQBc0Y8//qjhw4frm2++sawlJclyMwyW1QAA91RyRcEK2Lp1q2bNmlUiIWU2m3X8+HFJUoMGDRQTE1P9CJ3AaDQqJCSEtU4AoIqOHTtm8wSisLBQJ0+edEJEAABX9vDD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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot the radial density profile rho over r in a log-log plot\n", "\n", "fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(12, 4))\n", "\n", "ax1.scatter(helper_data.r.flatten(), final_state[registered_variables.density_index].flatten(), label=\"Final Density\", s = 1)\n", "# x and y log scale\n", "ax1.set_xscale(\"log\")\n", "ax1.set_yscale(\"log\")\n", "ax1.set_xlim(1e-2, 6e-1)\n", "ax1.set_ylim(1e-2, 1e3)\n", "ax1.set_xlabel(\"r\")\n", "ax1.set_ylabel(\"Density\")\n", "\n", "# velocity profile\n", "v_r = -jnp.sqrt(final_state[registered_variables.velocity_index.x] ** 2 + final_state[registered_variables.velocity_index.y] ** 2 + final_state[registered_variables.velocity_index.z] ** 2)\n", "\n", "ax2.scatter(helper_data.r.flatten(), v_r.flatten(), label=\"Radial Velocity\", s = 1)\n", "# log x scale\n", "ax2.set_xscale(\"log\")\n", "ax2.set_xlim(1e-2, 6e-1)\n", "ax2.set_xlabel(\"r\")\n", "ax2.set_ylabel(\"Velocity\")\n", "\n", "# plot P / rho^gamma\n", "\n", "ax3.scatter(helper_data.r.flatten(), final_state[registered_variables.pressure_index].flatten() / final_state[registered_variables.density_index].flatten() ** gamma, label=\"P / rho^gamma\", s = 1)\n", "ax3.set_xlim(box_size / num_cells, 6e-1)\n", "ax3.set_xlabel(\"r\")\n", "ax3.set_ylabel(\"P / rho^gamma\")\n", "ax3.set_xscale(\"log\")\n", "ax3.set_ylim(0, 0.25)\n", "ax3.set_xlim(1e-2, 6e-1)\n", "\n", "fig.suptitle(\"3D Collapse Test\")\n", "\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Conservational properties" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " |████████████████████████████████████████████████████████████████████████████████████████████████████| 100.0% \r" ] } ], "source": [ "config = config._replace(return_snapshots = True, num_snapshots = 60)\n", "params = params._replace(t_end = 3.0)\n", "\n", "snapshots = time_integration(initial_state, config, params, helper_data, registered_variables)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "total_energy = snapshots.total_energy\n", "internal_energy = snapshots.internal_energy\n", "kinetic_energy = snapshots.kinetic_energy\n", "gravitational_energy = snapshots.gravitational_energy\n", "total_mass = snapshots.total_mass\n", "time = snapshots.time_points" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi8AAAGdCAYAAADaPpOnAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACAWklEQVR4nO3dd3gU1dfA8e+m94SEkAKB0HtvAtKkqlT1J/CiFAFBpKMUC4KIqAiCjaYSBBQsFEVB6dKkSegECEFaQk/v2Xn/uGbDkgQSyGZSzud57rMzk5ndk81m9+ytBk3TNIQQQgghCgkrvQMQQgghhMgNSV6EEEIIUahI8iKEEEKIQkWSFyGEEEIUKpK8CCGEEKJQkeRFCCGEEIWKJC9CCCGEKFQkeRFCCCFEoWKjdwB5zWg0cvXqVVxdXTEYDHqHI4QQQogc0DSNmJgY/P39sbK6f91KkUterl69SkBAgN5hCCGEEOIhXLp0iTJlytz3nCKXvLi6ugLql3dzc9M5GiGEEELkRHR0NAEBAabP8fspcslLelORm5ubJC9CCCFEIZOTLh/SYVcIIYQQhYokL0IIIYQoVCR5EUIIIUShUuT6vAghREGnaRqpqamkpaXpHYoQ+crW1hZra+tHvh9JXoQQIh8lJycTHh5OfHy83qEIke8MBgNlypTBxcXlke5HkhchhMgnRqORsLAwrK2t8ff3x87OTibTFMWGpmncuHGDy5cvU7ly5UeqgZHkRQgh8klycjJGo5GAgACcnJz0DkeIfOft7c2FCxdISUl5pORFOuwKIUQ+e9DU50IUVXlV0yj/QUIIIYQoVCR5EUIIUeAYDAbWrl2rdxiigJLkRQghRLYMBsN9y9SpU7O99sKFCxgMBoKDg/M8rgEDBmQZT+fOnfP8sUTBIx12hRBCZCs8PNy0vWrVKqZMmUJISIjp2KMOeX0UnTt3ZsmSJWbH7O3tLfqYycnJ2NnZWfQxxINJzYsQRYCmafx08ifm/T2PxNREvcMRRYivr6+puLu7YzAYTPulSpVizpw5lClTBnt7e+rVq8fGjRtN15YvXx6A+vXrYzAYaNOmDQAHDhygQ4cOlCxZEnd3d1q3bs0///yT69js7e3N4vP19aVEiRKmnxsMBr766it69uyJk5MTlStX5pdffjG7j+PHj/Pkk0/i4uKCj48PL774Ijdv3jT9vE2bNowYMYIxY8ZQsmRJOnXqBMAvv/xC5cqVcXBwoG3btixduhSDwUBkZCRxcXG4ubnx008/mT3W2rVrcXZ2JiYmJte/qzAnyYsQhVzo7VA6Lu/I/378H2P+GEODhQ3Yd3mf3mGJHNA0jbi4OF2KpmmPHP+8efOYPXs2H3/8MUePHqVTp05069aNs2fPArB//34ANm/eTHh4OKtXrwYgJiaG/v37s2vXLv7++28qV67MU089ZZEP9WnTpvH8889z9OhRnnrqKfr27cvt27cBiIyM5IknnqB+/focPHiQjRs3cu3aNZ5//nmz+1i6dCl2dnbs3r2bBQsWEBYWxnPPPUePHj04cuQIQ4cO5c033zSd7+zsTO/evTPVCi1ZsoTnnnsOV1fXPP89ix2tiImKitIALSoqSu9QhLCo5NRk7f2/3tcc3nPQmIrm8J6D5v2Rt8ZUNKtpVtprf7ymxSfH6x2muEtCQoJ28uRJLSEhQdM0TYuNjdUAXUpsbGyu41+yZInm7u5u2vf399dmzJhhdk7jxo214cOHa5qmaWFhYRqgHT58+L73m5aWprm6umq//vqr6RigrVmzJttr+vfvr1lbW2vOzs5m5e54AO2tt94y7ac/3xs2bNA0TdOmT5+udezY0ex+L126pAFaSEiIpmma1rp1a61+/fpm50ycOFGrVauW2bE333xTA7Q7d+5omqZp+/bt06ytrbWrV69qmqZp165d02xsbLTt27ff97ko6u79H7hbbj6/peZFiELo78t/03BRQ97Y+gaJqYm0K9+OY68c4/SI07xQ5wWMmpGP935MvYX12H1xt97hiiIoOjqaq1ev0qJFC7PjLVq04NSpU/e99tq1awwZMoTKlSvj7u6Om5sbsbGxXLx4MVcxtG3bluDgYLMybNgws3Pq1Klj2nZ2dsbNzY3r168DcOTIEbZt24aLi4upVKtWDYDQ0FDTdQ0bNjS7z5CQEBo3bmx2rEmTJpn2a9asydKlSwFYvnw55cqVo1WrVrn6HUXWpMOuEIVIdFI0b2x5gy8PfImGhpejF590+oQX6rxgmvxpWc9l9KrZi6Hrh3Lm1hlaLmnJqKajmPHEDJztnHX+DcTdnJyciI2N1e2x9dK/f39u3brFvHnzKFeuHPb29jRr1ozk5ORc3Y+zszOVKlW67zm2trZm+waDAaPRCEBsbCxdu3blww8/zHSdn5+f2eM8jMGDB/PFF18wadIklixZwsCBA2U5iDwiyYsQhcQ/4f/Q9fuuXI25CkD/uv35uOPHlHQqmencLlW6cGL4Ccb9MY4lwUuYt28e68+sZ8UzK2hapml+hy6yYTAYHvqDUW9ubm74+/uze/duWrdubTq+e/duUy1E+qice1fP3r17N19++SVPPfUUAJcuXTLrJJtfGjRowM8//0xgYCA2Njn/OKxatSq///672bEDBw5kOu+FF15gwoQJfPrpp5w8eZL+/fs/csxCkWYjIQoBTdMY/ttwrsZcpZJnJbb020JQj6AsE5d0Hg4efNP9Gzb03UAZtzKE3gml6/dduRF3Ix8jF0XZ66+/zocffsiqVasICQlh0qRJBAcHM3r0aABKlSqFo6OjqSNsVFQUAJUrV2bZsmWcOnWKffv20bdvXxwdHXP9+ElJSURERJiV3CRBr776Krdv36ZPnz4cOHCA0NBQ/vjjDwYOHJgp4brb0KFDOX36NBMnTuTMmTP88MMPBAUFAebT35coUYJnnnmG119/nY4dO1KmTJlc/44ia5K8CFEIbD6/mX1X9uFg48DOgTt5ovwTOb62c6XOnBh+gtqlanMj/gajN462YKSiOBk1ahTjxo1j/Pjx1K5dm40bN5qGEAPY2Njw6aefsnDhQvz9/enevTsAX3/9NXfu3KFBgwa8+OKLjBo1ilKlSuX68Tdu3Iifn59Zefzxx3N8fXrNUVpaGh07dqR27dqMGTMGDw+P+64/Vb58eX766SdWr15NnTp1mD9/vmm00b3zzAwaNIjk5GReeumlXP9+InsGTcuD8XIFSHR0NO7u7kRFReHm5qZ3OEI8Mk3TaBXUil0XdzG66Wjmdp77UPdz8OpBmn7VFKNmZG2vtXSv1j1vAxUPlJiYSFhYGOXLl8fBwUHvcEQemjFjBgsWLODSpUtmx5ctW8bYsWO5evWqTG7H/f8HcvP5LTUvQhRwO/7dwa6Lu7C3tmdCiwkPfT+N/BvxevPXAXjlt1e4k3Anr0IUotj58ssvOXDgAOfPn2fZsmXMmjXLrE9LfHw8oaGhfPDBBwwdOlQSlzwmyYsQBdy7O94FYFD9Qfi7+j/Sfb3T+h2qelUlPDac8X+Oz4vwhCiWzp49S/fu3alRowbTp09n/PjxZus8ffTRR1SrVg1fX18mT56sX6BFlDQbCVGA7bq4i5ZLWmJrZcu5Ueco6172ke9z98XdtFzSEg2NjX030qlSpzyIVOSENBuJ4k6ajYQoBqb/NR2AgfUG5kniAtCibAtGNR0FwJBfhxCdFJ0n9yuEEPlFkhchCqh9l/fxZ+ifWBusmfT4pDy97xlPzKC8R3kuRV9i0ua8vW8hhLA0SV6EKKDSa1361e1H+RLl8/S+ne2c+arbVwDMPzif7Re25+n9CyGEJUnyIkQBdOjqIX47+xtWBiveaPmGRR7jifJPMLThUAAG/zKY+JR4izyOEELkNUlehCiA3tv5HgD/V/v/qOR5/7VbHsVHHT4yzb779ta3LfY4QgiRlyR5EaKAORJxhLWn12LAwJst37ToY7nZu7GoyyIAPvn7Ew5dPWTRxxNCiLwgyYsQBUx6rcvzNZ+nWslqFn+8Jys/SZ9afdDQeGvbWxZ/PCH0cOHCBQwGA8HBwXqHIvKAJC9CFCAnrp/g55M/A/BWq/xLJKa3nY6NlQ0bz21k18Vd+fa4onAYMGAAPXr0yNU1BoOBtWvXWiQeS2nTpg0GgyFTGTZsmN6hiXtI8iJEATJj5ww0NJ6t/iy1StXKt8et6FmRl+qphePe2voWRWzuSlGIpaSk5OvjDRkyhPDwcLPy0UcfWfQxk5OTLXr/RZEkL0IUEGF3wlh1YhWQv7Uu6d5q9RZ21nbs+HcHW8K25Pvji8KjTZs2jBo1igkTJuDp6Ymvr6/Z1PiBgYEA9OzZE4PBYNoHWLduHQ0aNMDBwYEKFSowbdo0UlNTTT83GAzMnz+fbt264ezszIwZM5g6dSr16tVj2bJlBAYG4u7uTu/evYmJiTFdt3HjRh5//HE8PDzw8vKiS5cuhIaG5vp3c3JywtfX16ykz/aa3vS0evVq2rZti5OTE3Xr1mXv3r1m97Fr1y5atmyJo6MjAQEBjBo1iri4OLPnZ/r06fTr1w83NzdefvllABYvXkxAQABOTk707NmTOXPm4OHhYXpsKysrDh48aPZYc+fOpVy5chiNxlz/roWZJC9CFBA/nfwJo2akbWBb6vnWy/fHD3APYFhDVT0utS/5Q9M04pLjdCmP+vddunQpzs7O7Nu3j48++oh3332XTZs2AXDgwAEAlixZQnh4uGl/586d9OvXj9GjR3Py5EkWLlxIUFAQM2bMMLvvqVOn0rNnT44dO8ZLL6kawdDQUNauXcv69etZv349O3bs4IMPPjBdExcXx7hx4zh48CBbtmzBysqKnj17WuRD/c033+S1114jODiYKlWq0KdPH1MCFhoaSufOnXn22Wc5evQoq1atYteuXYwYMcLsPj7++GPq1q3L4cOHefvtt9m9ezfDhg1j9OjRBAcH06FDB7PnJTAwkPbt27NkyRKz+1myZAkDBgzAyqp4fZzL2kZCFBDNvm7G35f/5sunvuSVxq/oEkNEbAQVP61IfEo8v/T+ha5Vu+oSR1F177oucclxuMx00SWW2MmxONs55+jcAQMGEBkZaerD0qZNG9LS0ti5c6fpnCZNmvDEE0+YEgqDwcCaNWvM+sq0b9+edu3amS1UuHz5ciZMmMDVq1dN140ZM4ZPPvnEdM7UqVOZNWsWERERuLq6AjBhwgT++usv/v777yxjvnnzJt7e3hw7doxatWpx4cIFypcvz+HDh6lXr16W17Rp04Y9e/ZkWgF64cKF9O3b13QfX331FYMGDQLg5MmT1KxZk1OnTlGtWjUGDx6MtbU1CxcuNF2/a9cuWrduTVxcHA4ODgQGBlK/fn3WrFljOqd3797Exsayfv1607EXXniB9evXExkZCcAPP/zAsGHDCA8Px97enn/++YdGjRpx/vx5s9qtgkzWNhKiCLkcfZm/L/+NAQM9qvXQLQ5fF19GNhkJwNvb3saoFa+qaJFzderUMdv38/Pj+vXr973myJEjvPvuu7i4uJhKeh+T+PiMSRIbNWqU6drAwEBT4pLV4509e5Y+ffpQoUIF3NzcTB/mFy9ezNXv1bdvX4KDg81Kt27dzM65+3f38/MDMMVy5MgRgoKCzH7HTp06YTQaCQsLy/Z3DAkJoUmTJmbH7t3v0aMH1tbWpqQnKCiItm3bFprEJS/Z6B2AEALWnl4LQLOAZvi5+ukay+vNX+fLA19y5NoRfj75M/+r+T9d4ynKnGydiJ0cq9tjPwpbW1uzfYPB8MAmmtjYWKZNm8YzzzyT6Wd3fwt3ds5cI/Sgx+vatSvlypVj8eLF+Pv7YzQaqVWrVq47w7q7u1Op0v0nhrw7FoPBAGCKJTY2lqFDhzJq1KhM15Utm7G4ala/44PY2dnRr18/lixZwjPPPMN3333HvHnzcn0/RYEkL0IUAKtPrQbg2erP6hwJeDl5Ma7ZOKbtmMaU7VN4pvozWFtZ6x1WkWQwGHLcdFPY2NrakpaWZnasQYMGhISEPDA5yK1bt24REhLC4sWLadmyJaCaavTQoEEDTp48mevfsWrVqqa+Qenu3QcYPHgwtWrV4ssvvyQ1NTXLRLA4kGYjIXR2I+4GO/7dAUDPaj11jkYZ+9hYPB09OX3zNCuOrdA7HFEIBQYGsmXLFiIiIrhz5w4AU6ZM4dtvv2XatGmcOHGCU6dOsXLlSt5669FG15UoUQIvLy8WLVrEuXPn2Lp1K+PGjXuo+4qPjyciIsKspMefExMnTmTPnj2MGDGC4OBgzp49y7p16zJ12L3XyJEj+f3335kzZw5nz55l4cKFbNiwwVSzk6569eo89thjTJw4kT59+uDo6PhQv2dhJ8mLEDr7JeQXjJqR+r7183z16Ifl7uDOhOYTAJi6fSopafk714Yo/GbPns2mTZsICAigfv36AHTq1In169fz559/0rhxYx577DE++eQTypUr90iPZWVlxcqVKzl06BC1atVi7NixzJo166Hua/Hixfj5+ZmVPn365Pj6OnXqsGPHDs6cOUPLli2pX78+U6ZMwd/f/77XtWjRggULFjBnzhzq1q3Lxo0bGTt2bKZOrQCDBg0iOTnZNBKrOJLRRkLo7Onvnub3s7/zXtv3eLOVZdcyyo245DgqflqRa3HXWNhlIS83fFnvkAq9+420EOJeQ4YM4fTp02ajugCmT5/Ojz/+yNGjR3WK7OHJaCMhioCoxCg2haq5MZ6pXrDarp3tnHmj5RsATP9rOompiTpHJETR9vHHH3PkyBHOnTvHZ599xtKlS+nfv7/p57GxsRw/fpzPP/+ckSNH6hip/iR5EUJHv539jRRjCtVKVqO6d3W9w8nk5YYvU8atDJejL7Pw4MIHXyCEeGj79++nQ4cO1K5dmwULFvDpp58yePBg089HjBhBw4YNadOmTbFuMgILJy9//fUXXbt2xd/fP8eLdG3fvp0GDRpgb29PpUqVCAoKsmSIQugqfZTRM9UKVq1LOgcbB95u9TYA7+96n/iU+AdcIYR4WD/88APXr18nISGBEydOZFoQMigoiKSkJFatWoW1dfEeAWjR5CUuLo66devyxRdf5Oj8sLAwnn76adq2bUtwcDBjxoxh8ODB/PHHH5YMUwhdxKfEs+HcBgCeraH/EOnsDKw3kPIe5bked50FBxfoHY4QQlh2npcnn3ySJ598MsfnL1iwgPLlyzN79mxADQnbtWsXn3zyCZ06dbJUmELo4o9zfxCfEk8593LU962vdzjZsrW25c2WbzL418F8tPsjhjUa9sgTnAkhxKMoUH1e9u7dS/v27c2OderUKdOKnXdLSkoiOjrarAhRGKw+/V+TUfVnMs3lUND0q9uPQI9ANfJI+r4IIXRWoJKXiIgIfHx8zI75+PgQHR1NQkJCltfMnDkTd3d3UwkICMiPUIV4JMlpyfwa8itQMGbVfZD02heAD3d/KH1fhBC6KlDJy8OYPHkyUVFRpnLp0iW9QxLigbaGbSUqKQpfF1+aBTTTO5wcubv2ZdGhRXqHI4QoxgpU8uLr68u1a9fMjl27dg03N7dsp0C2t7fHzc3NrAhR0KWPMupRtQdWhgL1b5gtO2s7s9qXhJSsa0OFEMLSCtS7ZrNmzdiyZYvZsU2bNtGsWeH4ZipETqQZ00yrSBfkUUZZSa99iYiNYOEh6fsiMrRp04YxY8ZY/HEuXLiAwWAgODjY4o8lCi6LJi+xsbEEBwebXmRhYWEEBwdz8eJFQDX59OvXz3T+sGHDOH/+PBMmTOD06dN8+eWX/PDDD4wdO9aSYQqRr3Zd3MWN+BuUcChB63Kt9Q4nV+ys7XjjcTXrrtS+FB8DBgygR48eZsd++uknHBwcTKNDV69ezfTp0y3+uAEBAYSHh1OrVq2Hus/05Cer8vfff+dB1CI/WDR5OXjwIPXr1zctyjVu3DjTIlUA4eHhpkQGoHz58vz2229s2rSJunXrMnv2bL766isZJi2KlPQmo25Vu2FrbatzNLnXv15/yrmXIyI2Qvq+FFNfffUVffv2Zf78+YwfPx4AT09PXF1dLf7Y1tbW+Pr6YmPzaDN9bN68mfDwcLPSsGHDPIoyM03TSE1Ntdj9FzcWTV7atGmDpmmZSvqsuUFBQWzfvj3TNYcPHyYpKYnQ0FAGDBhgyRCFyFdGzWgaIl0YRhllRfq+FG8fffQRI0eOZOXKlQwcONB0/N5mo8DAQN5//31eeuklXF1dKVu2LIsWmSe7ly5d4vnnn8fDwwNPT0+6d+/OhQsXAJg6dSpLly5l3bp1ppqR7du3Z9lsdOLECbp06YKbmxuurq60bNmS0NDQ+/4eXl5e+Pr6mhVbW1vTY9erV49ly5YRGBiIu7s7vXv3JiYmxnS90Whk5syZlC9fHkdHR+rWrctPP/1k+vn27dsxGAxs2LCBhg0bYm9vz65du4iJiaFv3744Ozvj5+fHJ598Yvbcvfvuu1nWKtWrV4+33377vr9TcVKg+rwIUdQdvHqQy9GXcbZ1pkPFDnqH89D61+tPWfeyhMeGs/ifxXqHU3hpGsTF6VM0LdfhTpw4kenTp7N+/Xp69uz5wPNnz55No0aNOHz4MMOHD+eVV14hJCQEgJSUFDp16oSrqys7d+5k9+7duLi40LlzZ5KTk3nttdd4/vnn6dy5s6lmpHnz5pke48qVK7Rq1Qp7e3u2bt3KoUOHeOmllx65liM0NJS1a9eyfv161q9fz44dO/jggw9MP585cybffvstCxYs4MSJE4wdO5YXXniBHTt2mN3PpEmT+OCDDzh16hR16tRh3Lhx7N69m19++YVNmzaxc+dO/vnnH9P5L730EqdOneLAgQOmY4cPH+bo0aNmyWKxpxUxUVFRGqBFRUXpHYoQmUzcNFFjKtrzPz6vdyiPbOHBhRpT0fw+9tMSUhL0DqdQSEhI0E6ePKklJPz3fMXGappKI/K/xMbmOO7+/ftrdnZ2GqBt2bIly3Nat26tjR492rRfrlw57YUXXjDtG41GrVSpUtr8+fM1TdO0ZcuWaVWrVtWMRqPpnKSkJM3R0VH7448/TI/bvXt3s8cJCwvTAO3w4cOapmna5MmTtfLly2vJyck5+l3Sr3d0dNScnZ3NSrp33nlHc3Jy0qKjo03HXn/9da1p06aapmlaYmKi5uTkpO3Zs8fsvgcNGqT16dNH0zRN27ZtmwZoa9euNf08Ojpas7W11X788UfTscjISM3JycnsuXvyySe1V155xbQ/cuRIrU2bNjn6/Qq6TP8Dd8nN57fUvAiRj9JHGRXUhRhzY0C9ARm1L4ek9qWoq1OnDoGBgbzzzjvExsbm+Jp0BoMBX19frl+/DsCRI0c4d+4crq6uuLi44OLigqenJ4mJiQ9s8rlbcHAwLVu2NDX55NSqVatMA0ruHliSLjAw0KwPj5+fnyn2c+fOER8fT4cOHUyxu7i48O2332aKvVGjRqbt8+fPk5KSQpMmTUzH3N3dqVq1qtk1Q4YM4fvvvycxMZHk5GS+++67Yr+K9L0suraRECLD+TvnCbkVgo2VDZ0rddY7nEeWPvJo2G/DmLlrJkMaDsHBxkHvsAoXJyfIYSJgkcfOhdKlS/PTTz/Rtm1bOnfuzIYNGx7YQffehMJgMGA0GgE1GrVhw4asWLEi03Xe3t45jiu7OcAeJCAggEqVKmX78wfFDvDbb79RunRps/Ps7e3N9p2dnXMdW9euXbG3t2fNmjXY2dmRkpLCc889l+v7KcokeREin2w8txGA5gHNcXdw1zmavDGw/kBm7JzBpehLLDq0iFFNR+kdUuFiMMBDfLjppVy5cuzYscOUwGzcuPGhRxg1aNCAVatWUapUqWwnF7WzsyMtLe2+91OnTh2WLl1KSkpKrmtfHlaNGjWwt7fn4sWLtG6d8+kOKlSogK2tLQcOHKBs2bIAREVFcebMGVq1amU6z8bGhv79+7NkyRLs7Ozo3bv3QydpRZU0GwmRTzac2wBA54qFv9YlnZ21HW+1eguA9/56j5ikmAdcIQq7gIAAtm/fzvXr1+nUqdNDL4bbt29fSpYsSffu3dm5cydhYWFs376dUaNGcfnyZUA13Rw9epSQkBBu3rxJSkpKpvsZMWIE0dHR9O7dm4MHD3L27FmWLVtm6hicnVu3bhEREWFWEhMTcxS7q6srr732GmPHjmXp0qWEhobyzz//8Nlnn7F06dL7Xte/f39ef/11tm3bxokTJxg0aBBWVlaZFmcdPHgwW7duZePGjdJklAVJXoTIB4mpiWwN2wrAk5Wf1DmavDWw3kCqeFXhRvwNZu+drXc4Ih+UKVOG7du3c/PmzYdOYJycnPjrr78oW7YszzzzDNWrV2fQoEEkJiaaamKGDBlC1apVadSoEd7e3uzevTvT/Xh5ebF161ZiY2Np3bo1DRs2ZPHixQ+shWnfvj1+fn5mZe3atTmOf/r06bz99tvMnDmT6tWr07lzZ3777TfKly9/3+vmzJlDs2bN6NKlC+3bt6dFixZUr14dBwfzJtfKlSvTvHlzqlWrRtOmTXMcV3Fh0LSHGC9XgEVHR+Pu7k5UVJSscyQKjM3nN9NhWQd8XXy5Ou5qpm9Zhd3PJ3/muR+fw9nWmdBRofi4+Dz4omIoMTGRsLAwypcvn+nDShRPcXFxlC5dmtmzZzNo0CDTcU3TqFy5MsOHD2fcuHE6Rpi37vc/kJvPb6l5ESIfbDj7X5NRpc5FLnEBeKb6MzQp3YS4lDim/5W3U8QLUZQcPnyY77//3tTU1LdvXwC6d+9uOufGjRt8/vnnREREyNwu2ZDkRYh8sDFUddZ9slLRajJKZzAY+LD9hwAsPLSQc7fP6RyREAXXxx9/TN26dWnfvj1xcXHs3LmTkiVLmn5eqlQp3n33XRYtWkSJEiV0jLTgktFGQljYxaiLnLxxEiuDFR0qFN5ZdR+kTWAbnqz0JBvObeCtrW+x8rmVeockRIFTv359Dh06dN9zilhvDouQmhchLCy9yeixMo9RwrFof4ua2W4mBgysOrGKQ1fv/wYthBAPS5IXISysqDcZ3a2ub11eqPMCAJO2TNI5GiFEUSXJixAWlJyWzObzm4HikbwAvNv2Xeys7dh8fjObQjfpHY4QogiS5EUIC9pzaQ+xybGUci5Ffb/6eoeTLwI9Anm18asATNw8EaNm1DkiIURRI8mLEBaU3t+lU8VOWBmKz7/bGy3fwM3ejcMRh1l1fJXe4Qghipji824qhA5MSwIUgYUYc6OkU0kmtpgIwJtb3yQ5LVnniIQQRYkkL0JYyJXoKxy7fgwDBjpW7Kh3OPludNPR+Ln4ERYZxsKDC/UORxRyQUFBeHh4WOz+AwMDmTt3rsXuPysXLlzAYDAQHBycr49bFEjyIoSFpK8i3aR0E0o6lXzA2UWPs50zU9tMBeDdv94lKjFK34DEI4mIiGD06NFUqlQJBwcHfHx8aNGiBfPnzyc+Pt7ij9+rVy/OnDlj2p86dSr16tXL9f1klwQdOHCAl19++REitIw2bdpgMBgylWHDhukdmq5kkjohLCR9iHRxazK620v1X2LO3jmE3Arh7W1v8+mTn+odkngI58+fp0WLFnh4ePD+++9Tu3Zt7O3tOXbsGIsWLaJ06dJ069Yty2tTUlIeuEhiTjg6OuLo6PjI95Mdb29vi933oxoyZAjvvvuu2TEnJyeLPmZycjJ2dnYWfYxHITUvQlhAqjHVNEy4uAyRzoqNlQ2fP/U5AJ/v/5wDVw7oHJF4GMOHD8fGxoaDBw/y/PPPU716dSpUqED37t357bff6Nq1q+lcg8HA/Pnz6datG87OzsyYMYO0tDQGDRpE+fLlcXR0pGrVqsybN890zZ9//omDgwORkZFmjzt69GieeOIJwLzGJCgoiGnTpnHkyBFTTURQUBCgVm2uXbs2zs7OBAQEMHz4cGJjYwHYvn07AwcOJCoqynTd1KlTgczNRhcvXqR79+64uLjg5ubG888/z7Vr10w/T6/5WbZsGYGBgbi7u9O7d29iYmJM52zcuJHHH38cDw8PvLy86NKlC6Ghobl+/p2cnPD19TUr6QsXpjc9rV69mrZt2+Lk5ETdunXZu3ev2X3s2rWLli1b4ujoSEBAAKNGjSIuLs7088DAQKZPn06/fv1wc3Mz1UItXryYgIAAnJyc6NmzJ3PmzDH9HS5cuICVlRUHDx40e6y5c+dSrlw5jEbLjTSU5EUIC9h7aS9RSVF4OXrRyL+R3uHoqn2F9vSt3RcNjaHrh5JqTNU7pAJD0yAuTp+S0xnob926xZ9//smrr76Ks7Nzlufcu9jo1KlT6dmzJ8eOHeOll17CaDRSpkwZfvzxR06ePMmUKVN44403+OGHHwBo164dHh4e/Pzzz6b7SEtLY9WqVaaFC+/Wq1cvxo8fT82aNQkPDyc8PJxevXoBYGVlxaeffsqJEydYunQpW7duZcKECQA0b96cuXPn4ubmZrrutddey3T/RqOR7t27c/v2bXbs2MGmTZs4f/686THShYaGsnbtWtavX8/69evZsWMHH3zwgenncXFxjBs3joMHD7JlyxasrKzo2bOnRT7U33zzTV577TWCg4OpUqUKffr0ITU11RRn586defbZZzl69CirVq1i165djBgxwuw+0tdcOnz4MG+//Ta7d+9m2LBhjB49muDgYDp06MCMGTNM5wcGBtK+fXuWLFlidj9LlixhwIABWFlZMMXQipioqCgN0KKiovQORRRjb2x+Q2MqWp+f+ugdSoEQEROheXzgoTEV7ZO9n+gdjm4SEhK0kydPagkJCZqmaVpsrKapNCL/S2xszmL++++/NUBbvXq12XEvLy/N2dlZc3Z21iZMmGA6Dmhjxox54P2++uqr2rPPPmvaHz16tPbEE0+Y9v/44w/N3t5eu3PnjqZpmrZkyRLN3d3d9PN33nlHq1u37gMf58cff9S8vLxM+/feT7py5cppn3zyiaZpmvbnn39q1tbW2sWLF00/P3HihAZo+/fvNz2+k5OTFh0dbTrn9ddf15o2bZptLDdu3NAA7dixY5qmaVpYWJgGaIcPH872mtatW2u2tram5zq9LF++3Ow+vvrqq0yxnjp1StM0TRs0aJD28ssvm93vzp07NSsrK9NrsVy5clqPHj3MzunVq5f29NNPmx3r27ev2fO3atUqrUSJElpiYqKmaZp26NAhzWAwaGFhYVn+Pvf+D9wtN5/fUvMihAWkD5Euzk1Gd/Nx8TGtOv32tre5HH1Z54jEo9q/fz/BwcHUrFmTpKQks581apS5tvGLL76gYcOGeHt74+LiwqJFi7h48aLp53379mX79u1cvXoVgBUrVvD000/neoTR5s2badeuHaVLl8bV1ZUXX3yRW7du5apT8alTpwgICCAgIMB0rEaNGnh4eHDq1CnTscDAQFxdXU37fn5+XL9+3bR/9uxZ+vTpQ4UKFXBzcyMwMBDA7PfOib59+xIcHGxW7u1jVKdOHbM4AFMsR44cISgoCBcXF1Pp1KkTRqORsLAw03X3/t1CQkJo0qSJ2bF793v06IG1tTVr1qwBVJNe27ZtTb+rpUiHXSHyWERsBIcjDgMUyyHS2RncYDBLjyxlz6U9jNowitW9Vusdku6cnOC/7hi6PHZOVKpUCYPBQEhIiNnxChUqAGTZifbe5qWVK1fy2muvMXv2bJo1a4arqyuzZs1i3759pnMaN25MxYoVWblyJa+88gpr1qwx9WPJqQsXLtClSxdeeeUVZsyYgaenJ7t27WLQoEEkJyfneSfXezsiGwwGsyahrl27Uq5cORYvXoy/vz9Go5FatWqRnJy7eY/c3d2pVKlSjmNJb8ZLjyU2NpahQ4cyatSoTNeVLVvWtJ1ds+D92NnZ0a9fP5YsWcIzzzzDd999Z9afyVIkeREij/1x7g8AGvo1xMfFR+doCg4rgxULnl5Ag0UNWHN6Db+G/ErXql0ffGERZjDAQ3xe5CsvLy86dOjA559/zsiRIx/qA2737t00b96c4cOHm45l1XG1b9++rFixgjJlymBlZcXTTz+d7X3a2dmRlpZmduzQoUMYjUZmz55t6m+R3q/mftfdq3r16ly6dIlLly6Zal9OnjxJZGQkNWrUuP8v+59bt24REhLC4sWLadmyJaA6zeqhQYMGnDx58oEJ0L2qVq3KgQPmnezv3QcYPHgwtWrV4ssvvyQ1NZVnnnnmkeLNCWk2EiKPSZNR9mr71GZ8s/EAjNgwgthknaodRK6kfyg1atSIVatWcerUKUJCQli+fDmnT5/G2tr6vtdXrlyZgwcP8scff3DmzBnefvvtLD8E+/btyz///MOMGTN47rnnsLe3z/Y+AwMDCQsLIzg4mJs3b5KUlESlSpVISUnhs88+4/z58yxbtowFCxZkui42NpYtW7Zw8+bNLJuT2rdvT+3atU3x7N+/n379+tG6dessm8SyUqJECby8vFi0aBHnzp1j69atjBs3LkfX3is+Pp6IiAizcufOnRxfP3HiRPbs2cOIESMIDg7m7NmzrFu3LlOH3XuNHDmS33//nTlz5nD27FkWLlzIhg0bMnXQrl69Oo899hgTJ06kT58+Fh3Snk6SFyHyUJoxjT9D/wSK9/wu9zOl9RQCPQK5GHWRqdun6h2OyIGKFSty+PBh2rdvz+TJk6lbty6NGjXis88+47XXXmP69On3vX7o0KE888wz9OrVi6ZNm3Lr1i2zWph0lSpVokmTJhw9ejTLUUZ3e/bZZ+ncuTNt27bF29ub77//nrp16zJnzhw+/PBDatWqxYoVK5g5c6bZdc2bN2fYsGH06tULb29vPvroo0z3bTAYWLduHSVKlKBVq1a0b9+eChUqsGpVztfpsrKyYuXKlRw6dIhatWoxduxYZs2alePr77Z48WL8/PzMSp8+fXJ8fZ06ddixYwdnzpyhZcuW1K9fnylTpuDv73/f61q0aMGCBQuYM2cOdevWZePGjYwdOxYHB4dM56Y3zb300ku5/v0ehkHTcjpgrnCIjo7G3d2dqKgo0zh4IfLL3kt7af5NczwcPLjx+g1srKRlNiu/n/2dp797GmuDNYdePkRd37p6h5QvEhMTCQsLo3z58ll+AAhR0A0ZMoTTp0+zc+dOs+PTp0/nxx9/5OjRo/e9/n7/A7n5/JaaFyHy0O9nfwegQ4UOkrjcx1OVn+K5Gs+RpqUxdP1Q0oz374MghNDHxx9/zJEjRzh37hyfffYZS5cupX///qafx8bGcvz4cVOfqPwiyYsQeWhdyDoAulXNeqp0kWFe53m42rmy78o+Fh1apHc4Qogs7N+/nw4dOlC7dm0WLFjAp59+yuDBg00/HzFiBA0bNqRNmzb51mQE0mwkRJ45f+c8FT+tiLXBmuuvX8fT0VPvkAq8z/Z9xqiNo3Cxc+Gfl/+hsldlvUOyKGk2EsWdNBsJUcCsO61qXVoHtpbEJYeGNx5O63KtiU2Opc/PfUhOy938F0KI4kmSFyHyyNqQtQB0r9pd30AKEWsra5Y/sxxPR08OhR/ijS1v6B2SEKIQkORFiDxwM/4muy6qCagkecmdMm5l+KbbNwDM3jubDWc36ByR5RWx1nohciyvXvuSvAiRB9afWY9RM1LPtx7lPMrpHU6h071ad0Y0VhNm9V/bn4jYCJ0jsoz0Kdxzs86OEEVJ+tIID5rY8EFkLKcQeSB9lJHUujy8WR1n8dfFvzh67Sj91vRj4wsbsTIUre9X1tbWeHh4mBbMc3JyyjRbqRBFldFo5MaNGzg5OWFj82jphyQvQjyi+JR403pGPar10DeYQszBxoGVz66k4aKGbDq/iY/3fMyEFhP0DivP+fr6ApitPixEcWFlZUXZsmUfOWmX5EWIR7T5/GYSUhMo516Ouj7FY6ZYS6nuXZ1Pn/yUIb8O4c2tb9ImsA1NSjfRO6w8ZTAY8PPzo1SpUqSkpOgdjhD5ys7OzrRo5qOQ5EWIR7T29FpANRlJE8CjG1R/EJvOb+KHEz/Q5+c+HB56GDf7ojdnk7W19SO3+wtRXBWtBmUh8lmaMY1fz/wKqE6n4tEZDAYWdllIOfdynL9znmHrh8noHCGEGUlehHgEey7t4Wb8TUo4lKBl2ZZ6h1NkeDh48P2z32NtsOb749+z4OACvUMSQhQgkrwI8QjSRxk9XeVpbK1tdY6maGkW0IwZT8wAYMSGEfwS8ovOEQkhCgpJXoR4SJqmmfq79KjaQ9dYiqoJLSYwuP5gjJqR3j/1Zu+lvXqHJIQoACR5EeIhnbxxktA7odhb29OpUie9wymSDAYD87vM5+nKT5OQmkCX77tw+uZpvcMSQuhMkhchHlJ6k1H7Cu1xsXPROZqiy8bKhlXPraJJ6SbcTrhN5+WdCY8J1zssIYSOJHkR4iHdPURaWJaznTPr+6ynsmdl/o36lydXPEl0UrTeYQkhdCLJixAP4Ur0FQ5cPYABA12rdtU7nGLB29mbjS9spJRzKY5cO8Izq54hOS1Z77CEEDqQ5EWIh5A+8uWxMo/h6+KrczTFR4USFfj9/37Hxc6FLWFbGLhuIEbNqHdYQoh8JsmLEA9BFmLUT0P/hvz8/M/YWNnw3bHvmLBpgkxiJ0Qxky/JyxdffEFgYCAODg40bdqU/fv3Z3tuUFAQBoPBrDg4OORHmELkSFRiFFvDtgKyEKNeOlbsyNfdvgZg9t7ZjNowijRjms5RCVH0aJpGUmoS0UnR3Ii7weXoy5y7fY7zd87rGpfF1zZatWoV48aNY8GCBTRt2pS5c+fSqVMnQkJCKFWqVJbXuLm5ERISYtqX9WJEQbLx3EZSjClU9apK1ZJV9Q6n2OpXtx9RiVGM2jiKzw98zrW4ayzruQx7G3u9QxPC4lKNqcQmxxKbHEtcchxxKXHEJcep/f+241PizUpCaoLZfmJqIgmpCeo2JcFsP71k16+shncNTgw/kc+/dQaLJy9z5sxhyJAhDBw4EIAFCxbw22+/8c033zBp0qQsrzEYDKZl44UoaNaGrAWk1qUgGNl0JN7O3vRb048fT/7IjfgbrO21FncHd71DEyJbSalJ3Em8w+2E29xJuENkYiRRSVHqNjHKbD8mOYaYpBiik6JN2zHJMSSmJuoSu62VLfY29jjZOuny+OksmrwkJydz6NAhJk+ebDpmZWVF+/bt2bs3+5kyY2NjKVeuHEajkQYNGvD+++9Ts2ZNS4YqRI4kpyXz+9nfAenvUlD0rtUbbydveq7qyfYL22kd1JoNfTfg5+qnd2iiGEhOS+ZG3A1uxt/kRvwNbsTdMN3ejL/JzYSb3E64za34W9xOuM3thNvEpcTl2ePbWNngbOuMs50zLnYupu30WydbJ5xsnHCydcLR1lHt2zrhaOOIo60jjjaOONg44Gj73+1/+w42Dtjb2Ktba3vsbeyxs7bDylAwuspaNHm5efMmaWlp+Pj4mB338fHh9OmsZ8msWrUq33zzDXXq1CEqKoqPP/6Y5s2bc+LECcqUKZPp/KSkJJKSkkz70dEy94OwnF9DfiU6KRo/Fz+almmqdzjiP+0qtGPHgB08ueJJjlw7QrOvm/HHC39Is554KEbNyM34m4THhHM15ioRsRFExEZwLe6a+W3sNe4k3nmox7AyWFHCoQQeDh6m4u7gjod9xra7vTtu9m642rviauea6dbFzgU7a7ti2bXC4s1GudWsWTOaNWtm2m/evDnVq1dn4cKFTJ8+PdP5M2fOZNq0afkZoijGvj6sOon2r9u/wHwDEUp9v/rsGbSHTss7ce72OVp804Lf/u83STKFmaTUJC5HX+ZS9CV1G6Vur8ZeNSUr4bHhpBpTc3yfVgYrSjqVxNvJG29nb3X733ZJp5J4OXrh6eiJp6MnXk5q283eTd5DHoFFk5eSJUtibW3NtWvXzI5fu3Ytx31abG1tqV+/PufOncvy55MnT2bcuHGm/ejoaAICAh4+aCGycTn6Mn+E/gHAS/Vf0jkakZUKJSqw+6XdPP3d0xy8epAnvn2C75/9nm5Vu+kdmsgnscmxXIi8QNidMMIiw7gQeYELkRe4GHWRS9GXuB53PUf3Y8BAKedS+Ln64efih4+LDz7OPvi6+OLj7GPa93HxwdPRUxKRfGbR5MXOzo6GDRuyZcsWevToAYDRaGTLli2MGDEiR/eRlpbGsWPHeOqpp7L8ub29Pfb2MrpAWN7S4KUYNSOtyrWisldlvcMR2SjlXIpt/bfx3A/P8UfoH3Rf2Z3RTUfzYfsPZSRSEWDUjFyNuUro7VBC74Sabs/fOc+FyAvciL/xwPtwsHEgwC2AAPcAAtwCKONWhtKupfF39cfP1Q9/V398nH2wtbbNh99IPAyLNxuNGzeO/v3706hRI5o0acLcuXOJi4szjT7q168fpUuXZubMmQC8++67PPbYY1SqVInIyEhmzZrFv//+y+DBgy0dqhDZMmpGvgn+BoBB9QfpHI14EBc7F37p8wsTNk1g3r55zNs3j+0XtrPyuZVUK1lN7/DEA6SkpfBv1L+cu32O0NuhnLt9jnN31HZYZNgDR9qUcChBoEcg5UuUp7yHKmXdy5qSFU9Hz2LZT6QosXjy0qtXL27cuMGUKVOIiIigXr16bNy40dSJ9+LFi1hZZVS33blzhyFDhhAREUGJEiVo2LAhe/bsoUaNGpYOVYhs7biwg/N3zuNq58qz1Z/VOxyRA3bWdsztPJcOFTowYN0Ajlw7QsNFDZnXeR6D6g+SDy+dJaUmERYZxtlbZzl3+xxnb58l9I5KVP6N/Jc0LftJB60N1pTzKEfFEhWpWKIilTwrUaFEBcqXKE+gRyAeDh7594sIXRi0IjavdnR0NO7u7kRFReHm5qZ3OKKIeGH1C6w4toKXG7zMwq4L9Q5H5FJ4TDj91vZj8/nNADxX4zkWdVlECccSOkdWtKUZ07gQeYGQWyGE3Azh7O2zqtw6y8Woi2hk//HjaONIRc+M5KRiiYqm/bLuZaVJpwjKzee3JC9CPEBkYiR+s/1ITE1k3+B9NCndRO+QxEMwakY+3vMxb259k1RjKmXdy7LimRU8XvZxvUMr9OKS4zh18xQnrp/g9M3TKlm5FcK52+fuu/K3i50LlT0rU8mzEpU8K1HZszIVPVWy4ufiJ7VjxUxuPr8L3FBpIQqa7459R2JqIrVK1aKxf2O9wxEPycpgxYQWE2gb2JY+P/ch9E4orYNaM6zhMKa1nUZJp5J6h1jgpaSlcPb2WY5fP86xa8c4fkPdnr9zPttaFHtreyp7VaaqV1WqeFWhsmdlKnuphMXH2UcSFPFQJHkR4gHS53aRfhJFQ+PSjTk89DAjNozg2yPf8uXBL1lxbAVTWk9hRJMR2Fnb6R1igXEn4Q57L+9l18Vd7L60m/1X9mfbWdbbyZtapWpRrWQ107pfVb2qUta9LNZW1vkcuSjqpNlIiPsIjgim/sL62FrZcnX8Vfl2XsRsv7CdsX+MJTgiGIBKnpWY1WEW3at2L3aJapoxjdA7oey/sp/dF3ez69IuTlw/kalGxcXOhVqlalHLuxa1StWitk9tapWqRSnnrBfaFSKnpNlIiDzyzWE1PLpHtR6SuBRBbQLbcHDIQZYeWcqbW9/k3O1z9FzVk7aBbZnTaQ71fOvpHaJF3Em4w7HrxzgScYSj145y9PpRjl8/TnxKfKZzK3tWpkXZFjwe8DgtyragilcVmZBN6E5qXoTIRmJqIv6z/bmTeIcNfTfQuVJnvUMSFhSTFMMHuz5g9t7ZJKUlYcBAn9p96FenH0+Uf6LQjW4xakYuRl3kzK0zhNwMUbe3Qjh98zSXoi9leY2DjQN1fOrweMDjPF72cZoHNMfHxSfLc4XIazLaSJIXkQdWHl9Jn5/7EOAWQNjoMGm3Lyb+jfyXSVsmsfL4StOxkk4lea76c/Su1ZvHyz5eYF4LmqYRHhtuNlfKudvnOHPrDGdvn73vZG7l3MtRx6cOdX3qUsenDnV86lDJs1KB+d1E8SPJiyQvIg90WNaBzec383art3m37bt6hyPy2YErBwgKDuLHkz+aTTnv5+LH8zWfp1fNXjTwa2DRJQfSjGlci7vGpahLZgsJXoi6oGadvX0uy6aedLZWtlTyrETVklWp4lnF1Im2ZqmaMpGbKHAkeZHkRTyiC5EXKD+vPADnR52nfInyOkck9JJqTGVb2DZWnVjFz6d+JjIx0uzn3k7eam0ct9KUcS1j2i7pVJI0YxrJackkpyWTYkzJ2E5LISE1gbjkOOJT4olLMb+NSYrhSswVrsZcfeDqxlYGKwI9Ak3zpaQPRa7qVZVyHuWwsZKujaJwkA67QjyiJYeXANCufDtJXIo5GysbOlTsQIeKHfjy6S/5M/RPVh5fyS8hvxCTHMON+BvciL/B4YjDFnl8a4M1/q7+lHErY1qbp6x7WVOiUs6jnAzvFsWOJC9C3CPNmMaSYJW8yCKM4m521nZ0qdKFLlW6oGkatxNuczn6MpejL3Ml5opp+3L0ZW4n3MbW2hY7azvsrO2wtbpr29oWRxtHnGydcLZ1Vrd2zmbbfi5+BLgH4OviK7UnQtxD/iOEuMfm85u5FH0JDwcPelTroXc4ooAyGAx4OXnh5eRFXd+6eocjRLEiyYsQ91h4SC282LfW/+EYGQtnD8PZs6qcOQOhoVC6NAwaBE8/DTbybySEEPlJOuwKcZeD53bywyuteO4kNIx1xTo65v4X+PurJGbQIChXLn+CFEKIIkhGG0nyInIrLQ0tKIibr7+K950k858FBEDlylClirqtUAH27IElS+DmTXWOwQCdO8PLL0OXLlIbI4QQuSTJiyQvIqc0DX77DSZNghMnAPjXHZynvU/Jdl2hYkVwdMz62qQkWLcOFi2CLVsyjvv7w5dfQvfu+fALCCFE0ZCbz29ZoEIUX/v2QZs20LUrnDhBlJM14zvCF8tGUnL0ZKhVK/vEBcDeHp5/HjZvVv1hJkwAb2+4ehWefRZWrMi3X0UIIYoTqXkRxU94OIweDT/+qPbt7TnRpwOP+6zH6OFG6KjQh1+EMTkZhg1TTUoGAyxerPrDCCGEuC+peREiOxs3Qt26KnExGGDgQJJOHadLveNEOsLEFhMfbfVoOzv46it45RXVJDV4MHz+ed7FL4QQQpIXUUykpMDEifDkk3DjhkpggoPhm29YcO03LkRewM/Fj9FNRz/6Y1lZwRdfwLhxan/kSJg169HvVwghBCDJiygOwsKgZUv46CO1/+qr8PffUKcOUYlRTP9rOgDT2kzD2c45bx7TYICPP4a33lL7EybAtGmqNkYIIcQjkeRFFG0//QT166vOuR4e8PPPqhnHwQGAWXtmcSvhFlW9qjKw/sC8fWyDAaZPhxkz1P7UqTB5siQwQgjxiGQyClE0JSSoZpsFC9R+s2bw/fdmE8mFx4QzZ+8cAGa2m2m59WPeeAOcnGDsWPjwQ4iPh3nzVHIj8o7RCNevw8WLqly6pEpkJMTFQWxs5pKQAGlp6tp7i6aBtbX62zk7q9v04uysip+fek0FBmbc+viopkMhhMVI8iKKntOn1RDmY8fU/qRJ8O67YGtrdtq0HdNISE3gsTKPWX4NozFj1LDrYcPgs8/Uh97kyZZ9zKLKaFR/4/37VY3a6dMqWbl8WY32yktpaeo+IyNzfo2dnUpkypeHqlWhWrWMW39/SVqFyAMyVFoULd9+q0b6xMdDqVKwbBl07JjptJCbIdT8siZpWho7BuygVblW+RPfl1+qPjcGg5rgrmvX/HncwiwiQiUp+/aphOXAAYiOzvpcKyuVIJQtq2ZGDggALy9VS+Likrk4OqraFSurzMVggNRU9Vq6t8TFQUwMXLkC//4LFy6ocuWKSq6y4+Kikphq1dSMzemzNleuDK6ulnj2hCg0cvP5LTUvomiIi4MRIyAoSO0/8QQsX65qOLLw5tY3SdPS6FKlS/4lLgDDh6saoQULoG9f1XG4Ro38e/zC4uxZ1V/pxx/h8OHMP3dygkaNoEkTqFdP1XSULav+3vfUsOWrlBRVA/Tvv2oBz5AQVTN0+jScP6+aqg4eVOVevr4Zy1BUqQLVq6vXRvny0gwlxD2k5kUUfseOQa9ecOqUepOfOlX1M7G2zvL0bWHbeOLbJ7AyWHFk2BFqlaqVv/EmJ0OHDvDXX1CpkqpNKFEif2MoiEJCMhKWI0cyjhsMULMmNG2qSpMmar+wrR+VnKwSmvRk5syZjNXKr1/P/jpHR5XI1KypSo0aULu2StikCUoUIbK2kSQvxYOmwddfq3lUEhNVc8F330Hr1tlecubWGZp93YzbCbcZXH8wi7stzseA73LjBjRurL6hd+yo1lcqbB/GeSEiQv0NV63K6KMEKvFs1w7+9z/o0QNKPsLEgYVBVFRGInPmjConT6qEPCkp62vc3VWtU716akRdvXoqsdGz5kmIRyDJiyQvRV9MDAwdqkYQgVrR+dtv1dpC2bgZf5NmXzfj3O1zNCndhG39t+Fk65RPAWfhyBFo3lz1oRg3DmbP1i+W/KRpqrnss89UTUtKijpuYwPt26uEpXt31VeluEtLU81NJ06Yl1OnMp63u9nZqdqZBg1Us1rDhlCnjlqHS4gCTpIXSV6Kts2b1bT7//6rvqHPmAGvv37ffgGJqYm0/7Y9uy/tJtAjkL8H/Y2Pi08+Bp2NH39UI6MAli6Ffv30jceSEhNh5Uo1z86hQxnHmzdXf88ePaT5LKeSk1UCExysyuHD6jYqKvO5traqmalhQ5XQNGqkFh21s8vnoIW4P0leJHkpmqKjVZKyaJHaDwxUnXJbtLjvZZqm0Xd1X74//j3u9u7sGbSHGt4FqJPs22/De++pb8d//aX6dBQlV6+qhGXxYrh5Ux2zt4c+fVSTX4MG+sZXVGiaGvF0+DD8809Gx+BbtzKfa2+vmpoaN1avt8aNVWdh6RgsdCTJiyQvRc+mTerb+cWLav/VV+GDD9TQ0wd4e+vbvLfzPWysbNjYdyPtKrSzcLC5ZDTCM8+oodN+fuoDx99f76geXWSk+hvNm6dqXUANXR4+XP0ti3o/loJA09T/zMGDqrYrPaG5cyfzue7uqlbmscfUaL3mzU0zUQuRHyR5keSl6IiKUrUti//rWFu+PHzzDbRpk6PLg4KDGLhOTfv/dbevean+SxYK9BHFxKhZgE+cUB8g27blKDErkBIT1cKUM2ZkfEg2bw7jx0O3bsWzY3JBomlq1NOBAxnz5hw6lJFgprO3V7Wa7dqp0rCh/O2ERUnyIslL0fDHH+ob+uXLan/kSHj//Rx/qG8N20qn5Z1INabyxuNvMKPdDAsGmwdCQ9VQ4Fu31AikX38tXP0S0tJUM97bb6tp+UF1Hv3gA3j6aRnWW5ClpKjEef9+2LkTtmyB8HDzc9zc1Ei+tm3Vbd262U5HIMTDkORFkpfC7exZmDgR1qxR+xUqqNqW+wyBvtepG6do9nUzopKi6F2rNyueWYGVoRC05+/bp6rs4+NVn5Dlywt+PwRNgw0b1DIM6cOdy5RRSzL06ycfcIWRpql5d7ZsUWXbtsxLJLi7q9Xa27RR/5v16knNjHgkkrxI8lI43b6tVmH+/HM1LbuVlaptmTFDTe+eQ1vDttJvTT+uxFyheUBztvTbgoNNIWq7/+MP6NJFPQejRsHcuQW31uLMGRXjH3+ofQ8PNUHgiBFqcjVRNKSlqdFMW7fC9u2qdiYmxvwcV1eVzLRqpZKZhg1lzhmRK5K8SPJSuCQnqzV/3n03o4/Ek0/CrFmq2SGH4lPimbx5Mp/u/xSAql5V2TlwJ97O2c/9UmB9951aPgBU8vbGG/rGc6+4ONWE9/HH6u9nZ6eSmMmTwdNT7+iEpaWmqmRmx46MZObeYdpOTqofV6tWqjRtKgmtuC9JXiR5KRw0DdauhQkT4Nw5daxWLTVZWxaLKd7Pvsv76Le2H2dunQFgaMOhfNzxY1zsCmmnV1CjdMaMUduLF6v+P3rTNNWcN2ZMRr+Wzp3h00/VUFtRPKWlqUkXd+xQicxff2Ueom1rq4Zkt2ihOnA3b64WTxXiP5K8SPJSsBmNajr8Dz6APXvUMR8f1WT00ku56iORnJbMuzveZeaumRg1I/6u/nzd7Ws6V+psoeDz2RtvwMyZqgnt55/VRG56ubeJqGxZlWB1715wm7WEPoxGNYneX3+psmNH5g7AoNb2at48I6GpXl36SBVjkrxI8lIwJSer5pBZs9S6LaDmkRg/XnXQdXXN1d0du3aMfmv7ERwRDMD/1f4/Pn/yc0o4FqFZWjUNhgxR6//Y26vEIRcdl/NEdLRKNGfPzmgimjBBNRE56bi8gig80odn796tvrDs2aNGN9378ePqqqYKSJ88r0kT1flbkuNiQZIXSV4KlpgYNSvuJ5/AlSvqmJsbDBsGo0fnekK249ePs/DgQhb9s4jktGS8HL1Y0GUBz9V4zgLBFwCpqfDcc2oSOzc3dZvDeW4eSXIyLFigasTSZ8Z98klV2yJNROJRRUaqNa7SE5p9+1Rfqnv5+qpkpnFjNRtzgwZqMkfx0NLS0khOTiYlJeWBt9ltu7i40K1btzyNS5IXSV4KhkuXYP581Rk3vTOfn5/qLzF0qBpqmUPxKfH8eOJHFh5ayN7Le03Hu1bpyqKui/B18c3j4AuYhATo1En1JwD1/H34Ya6ewxwzGtWaS2+8oRYFBKhaVT1et27yLVhYRmqqamravz9j8ryjR1V/mnv5+KjlDRo0ULf166spFXR8baYnBElJSSQnJ2favrtkdzynJT2JyOrY3T+797z0faPR+Mi/b/Xq1TmZXoOeRyR5keRFP4mJqhPukiVqSv/0l1fVqmqm3BdeyNUKt8euHWPRoUUsO7qMqCSVANlY2dCtajdebvAyHSt2xFBcPkxjYtRzuHCh2i9dWiWGefntZ9s21SR08KDa9/WFqVNh0CCZw0Pkv/h4Napp/344eBDt8GE4fRpDFh++aS4uxFeoQGxgIFHlynG7dGlu+fsTa2NjShjuLvceuzupeNBtVsfyIiHQi8FgwM7ODltbW9Nt+nZ2x8uVK8fXX3+dp3FI8iLJS/7SNPVht2QJfP+9+WRWrVurmpZu3XI02VpUYhS7L+1m57872Ry2mYNXD5p+VqFEBQbXH8yAegPwcy3G1cY7dqiRR+kjtJ5/Xo328XnIVbLT0mDXLlWzsmGDOubiopKYceNyNceOKJo0TSMpKYmEhASSkpJITEw0lez27z5+77H0hCG77fsVB02jDlAfaPDfbW0gu69EF4FjwAng1F0l2sLP2d0f/Pb29tjb25uO3V2yO3530pDdsax+fneSYW9v/8AkxM7ODusC0klakhdJXvJHaKgaNhsUpDrfpStbFvr3hwEDVFXufYTHhLPz4k52/ruTnRd3cvTaUTQyXpI2Vjb0qNaDlxu8TLsK7QrHLLn5ISEBpk1T86ykpUGJEqpPUb9+Oas6T05WE46tXq1qym7cUMdtbOCVV+Ctt2QYawF0dxLxoJKYmJhpO6vb7I7dm5AURNbW1tjb2+NsZ0d1a2vqGgzUMBqpnpJClaQk/JKTs7020tmZ656e3PT25raPD9G+vsT6+5Pk7Y29o6NZYnG/26ySE1tb2+JTI5yHJHmR5MUyNE0t4LZ2reo0evx4xs8cHNTKyAMHqunt76plSUlL4ULkBc7cOmMqIbdCOHPrDFdirmR6mEqelWhZtiUty7bkqcpP4ePykDUKxcE//6gmneBgtd+gAVSrpvoW3Vs8PVXnyNWr1bpJd08qVqKE+vtNmqSGr4pcSU8q4uLiiI+PN91mV+Li4khISDA7dvd++nZ68nH3tt5v2QaDAQcHB7Nib29vdpvddvqHfFb7uTmWXh5YYxAVpd6njh5V/WlOnVIjHa9ezf4aBwf1P1C5MlSpom4rVVKLwpYuLUO5LUiSF0le8k5SkmqmWLdOlSsZyYZmbU3q48251eUJznZoyCWrGMJjwgmP/a/EhHM5+jJhkWGkGlOzvHsDBur41KFVuVa0LNuSx8s+XrybhB5GSooaxjx1qvp75ZSvL/TsqZKW1q2LxVTumqaRkJBATEwM0dHRxMTEEBsbS1xcHLGxsVmWuLi4bMvdiUp+93mwsrLC0dHxgcXBwcFs+979e4/b29tnOnZ3ElIkahWiouD0aZXIpCc1Z8+qDuopKdlfZ2sLgYEqkalQIeO2bFlVSpUq+GuRFWCSvEjykiWjZiQhJYHE1EQSUhPMtmOTY4lNjiU+LhLH4BN47TuG/8EQypy4iF1SRuIRb2/FjmqOrKuq8VP5BG455uzl42jjSBWvKqZS1asqVbyqUK1kNdwdLDBipjj69181GikiQk0Ill7S96Oi1Bvvs8+qhOWxxwrdG21aWhqRkZHcvn2bW7ducfv2be7cuUNUVBSRkZFERUVl2k5PUtJv07IavZKH7OzscHJywsnJCWdnZ9P23cccHR3NjmW1n34sq21HR8eikUQUNKmp6v/ozBmVzJw5o8r58+p4atZfwkzs7NS8NAEBqpQtq279/VXtp7+/6psmnd+zJMmLBZKXW/G3+PLAl/c9J72vhqZp2W4bNSNGzYjGXdv/HU/T0kgzppltp2kZ+6nGVFNJSUsx3zemkJyWnGVJSk0iKS2J5LTM7b92qVA/HNpcgLYX4PGL4HzPF48IZ/ilKqyrBlvKQ9I9X9Bd7Vzxc/XD39UfPxc/VVzVrb+rP5W9KuPv6i/9VfSWlKTeXAvQB56mady+fZvw8HCuX7/OtWvXTLfp29evXzclKpGRkXnWbOLq6oqLi4vpNqvi7Oz8wHJ3kuLs7IyNfDAVTWlpcPkyhIWpZCYsLGP74kX1BSEntW8Gg0pg0pMZX19VY5NVKVmyWCU6krxYIHk5c+sMVT+vmmf3pwfrNKhxAxpfhSbhVjS+CrUijNjd80U02sWO07V8OF+3LJcaVCK+ciAlnDwp4VCCEo4lMt0WqhWbRb5KTk7m/PnznD9/nkuXLpnK5cuXTbcJCQm5vl9XV1c8PT3x9PSkRIkSeHh44O7unuk2vbi6uuLq6oqbmxuurq44OztjVchqnUQBl5Ki+tJcuqSSmbtv764FzW3Nn4cHeHllFE9P820Pj6yLs3OB+qKSE7n5/C4+Kd0jcrd3Z2jDofc9R9M0DAYDBtQLJn377mNWBitTMRgM6va/c6wN1lhbWWNlsDJtWxv+27eyxtbKFhsrG2ysbLC1vmv7v+P2NvbYWdthZ22HU1Q8rucu4XLuIo5nzuN47BR2R09iMH1Q3PUNwctLLWXfti20aYNbrVo0sbKiiSWeSFHkaJrGxYsXCQkJ4cyZM5w9e5YzZ85w5swZLly4kKO+IJ6envj4+ODj40OpUqVM2z4+Pnh7e1OyZElTsuLp6YltMeifIwoZW1soV06V7KSlqZF94eEq0bl6Fa5dg+vXM5ebN9UgichIVUJDcxePtbVabsHVVc3Mnb59d3F2zro4OalbBwe1EriDQ+ZtnZP/fKl5+eKLL5g1axYRERHUrVuXzz77jCZNsv9o/PHHH3n77be5cOEClStX5sMPP+Spp57K0WMVqz4vSUkqsw8LU+2yJ09mlPShr/dKXzskff2QRo1UP4hClqELfWiaRmhoKIcOHTKVf/75h8i75/a5h4uLCxUrViQgICBTKVOmDKVLl8bBQWrvhDCTlqZW5r673L6deTsqSpX0JCcy8v6djvNKtWqqo3MeKlA1L6tWrWLcuHEsWLCApk2bMnfuXDp16kRISAilsphHYs+ePfTp04eZM2fSpUsXvvvuO3r06ME///xDrVq1LB1uwaFp6oWZ3tny6tWMNtb0cuVK5oXN7hYYCDVqqFKnjkpWqlTRPWMWhUdSUhK7d+9m06ZN7Nu3j3/++Yeou4dY/8fW1pZKlSpRpUoVU6lcuTJVqlTB19dXOpYKkVvW1hl9X3JD09Q8UJGRalHVmJiMcu9+XJx5iY83305MVPeVfnt3k5fOQ8YtXvPStGlTGjduzOeffw6A0WgkICCAkSNHMmnSpEzn9+rVi7i4ONavX2869thjj1GvXj0WLFjwwMcrcDUvmqYmBIuPVy+cO3dUuX078+21a+ZtoznJnp2c1HC9ihUzEpUaNVRWLDOjilzSNI2TJ0/y559/8ueff7Jjx45MfVLs7OyoW7cuDRs2pEGDBjRs2JBatWphZ2enU9RCiHyRmmqeyPjm7ZpyBabmJTk5mUOHDjF58mTTMSsrK9q3b8/evXuzvGbv3r2MGzfO7FinTp1Yu3ZtluenTxmdLjraQpM+X7mipkpPTVUlLS1jO30/JUX9Ue/NYB9laKaXl3qB+PtnzC9wd/H2liYf8UiSk5PZsGEDa9asYdOmTVy9ZwIvX19fOnToQKtWrWjUqBE1a9aUPidCFEc2NmrpEBcXvSOxbPJy8+ZN0tLS8LlnzRUfHx9Onz6d5TURERFZnh8REZHl+TNnzmTatGl5E/D9xMXBDz882n3Y2amZTD09s74tVcp8RlQfn1wtYihETmmaxsGDB/n222/5/vvvuXXrlulnjo6OtGrVio4dO9KhQwdq1aolzT5CiAKl0I82mjx5sllNTXR0NAEBAXn/QKVKwWefqXY+G5uMcve+tbVqxknvqZ1+m74t1epCZ5cuXWL58uV8++23Zl8g/Pz86NOnD0899RQtWrSQDrRCiALNoslLyZIlsba25tq1a2bHr127hm82bWW+vr65Oj99jQuL8/CAESMs/zhC5DFN0/jzzz/5+OOP2bJli2mSN0dHR3r27Em/fv1o3759gVlZVgghHsSiw07s7Oxo2LAhW7ZsMR0zGo1s2bKFZs2aZXlNs2bNzM4H2LRpU7bnCyGyZjQaWb16NY0bN6Zz585s3rwZTdNo06YN33zzDREREaxYsYJOnTpJ4iKEKFQs3mw0btw4+vfvT6NGjWjSpAlz584lLi6OgQMHAtCvXz9Kly7NzJkzARg9ejStW7dm9uzZPP3006xcuZKDBw+yaNEiS4cqRJGQkpLCypUrmTlzJqf+m4fBycmJl19+mdGjRxMYGKhvgEII8Ygsnrz06tWLGzduMGXKFCIiIqhXrx4bN240dcq9ePGi2TTdzZs357vvvuOtt97ijTfeoHLlyqxdu7Z4zfEixENITExkyZIlfPTRR1y4cAEAd3d3Ro4cyahRo/D29tY3QCGEyCOytpEQhZymafz444+8/vrrXLx4EQBvb2/GjRvH8OHD5f9ACFEoFJh5XoQQlnXkyBFGjx7Njh07AChTpgwTJ07kpZdewsnJSefohBDCMiR5EaIQunnzJm+//TaLFi3CaDTi6OjIxIkTef311yVpEUIUeZK8CFGIpKamMn/+fKZMmWJaDPH5559n1qxZlC1bVt/ghBAin0jyIkQhsWvXLoYNG8aJEycAqFu3LvPmzaN169Y6RyaEEPlLlhcWooCLiYlhxIgRtGzZkhMnTuDl5cX8+fM5dOiQJC5CiGJJal6EKMA2bdrEkCFD+PfffwEYNGgQH330EZ6enjpHJoQQ+pHkRYgC6M6dO4wfP54lS5YAEBgYyOLFi2nfvr3OkQkhhP6k2UiIAmbdunXUrFmTJUuWYDAYGDlyJMeOHZPERQgh/iM1L0IUEDdv3mTkyJGsXLkSgCpVqvD111/z+OOP6xyZEEIULFLzIkQBsHbtWmrWrMnKlSuxsrJi4sSJBAcHS+IihBBZkJoXIXR0+/ZtRo0axYoVKwCoUaMGQUFBNG7cWOfIhBCi4JKaFyF0sn79emrVqsWKFStMtS2HDh2SxEUIIR5Aal6EyGeRkZGMHTuWoKAgAKpWrUpQUBCPPfaYvoEJIUQhITUvQuSjjRs3Urt2bYKCgjAYDIwbN47Dhw9L4iKEELkgNS9C5IPr168zduxYvvvuOwAqVqxIUFCQdMgVQoiHIDUvQliQpmkEBQVRvXp1vvvuO6ysrBgzZgxHjhyRxEUIIR6S1LwIYSHnzp1j6NChbN26FVALKS5evFg65AohxCOSmhch8lhKSgozZ86kdu3abN26FQcHBz788EMOHDggiYsQQuQBqXkRIg9t2bKFcePGcfToUQDat2/PggULqFixos6RCSFE0SE1L0Lkgb///pt27drRvn17jh49ipeXF0uXLuXPP/+UxEUIIfKYJC9CPIKjR4/SrVs3mjVrxtatW7G1tWXkyJGcOnWKfv36YTAY9A5RCCGKHGk2EuIhnD17lnfeeYeVK1eiaRpWVlYMGDCAKVOmUK5cOb3DE0KIIk2SFyFyISQkhFmzZhEUFERaWhoAvXr1Ytq0aVStWlXn6IQQoniQ5EWIHNi9ezezZs3il19+QdM0AJ5++mnee+896tWrp29wQghRzEjyIkQ2jEYj69atY9asWezdu9d0vFu3bkycOJHmzZvrGJ0QQhRfkrwIcY+4uDhWrFjB7NmzOXPmDAB2dnb069eP8ePHU61aNZ0jFEKI4k2SF1HsaZrGiRMn2LhxIxs3bmTnzp0kJycD4OHhwfDhwxk5ciS+vr46RyqEEAIkeRHFVGRkJJs3bzYlLFeuXDH7eaVKlXj11VcZNGgQrq6uOkUphBAiK5K8iCIrMTGR0NBQzp49m6ncm6w4OjrStm1bOnfuTOfOnalUqZLM0SKEEAWUJC95QNM0jEajqWiaZir37qePVMlu++77vN/+g9z7wZvT/ZzcZvez7I7dHf+9t0ajkbS0tEwl/XhSUhKJiYkkJiaSkJBg2k5MTCQuLo7bt29z69atLMv169fv+7xVr17dlKy0bNkSR0fHbM8VQghRcEjykkNnzpyhXr16mZIUo9God2jiPtzc3KhcubKpVKlSxbTt6empd3hCCCEegiQvuZCQkKB3CEWelZUV1tbWplsHB4dMxdHR0XTr6emJl5cXXl5eZtteXl74+flRqlQpaf4RQogiRpKXHCpfvjwXLlzAysoKKysrDAaDafveY+lNKzkpQKb9dHn1oXt308m9zTZZHbvfbXY/y+qx0vcf1ARlbW1tSlgk0RBCCPEgkrzkkK2tbaFdsyarPilCCCFEYSWrSgshhBCiUJGalxxKToYLF8BgACsr83L3MQcHcHYGW1u9IxZCCFFQGY2QkgKpqZCWpkr69t3HjEZVNM38Nn37blkNrjQYMkr651V6sbbO/Hl29zFra7CxUbfpxcZG/Uxvkrzk0IULkJtFg21swMlJFWdndevqCp6eGcXLy3zbxwfKlIESJdQLSwghhGVpmvpyGhsLMTHq9t4SFwcJCRAfn/VtYiIkJaly93Z6SUnJXP5blL7Qql4dTp7U7/EleckhgwE8PDIy3nuzYaPR/MWYmgrR0arkloODSmJKl1alTBlVKlaEypUhMFBqdoQQIp3RCFFRcPs23Lqlbu8tUVFZl8hIlUwUFOk1IneXe2v4761Fuff6dJqWuaR/bt392XX3Z9jd+/eTy6nH8pwkLzlUuTLcuXP/c9Iz+Pj4rEt0dMY/V/o/2N234eHqNjERzp1TJSs2NiqBqVwZqlRRt9WqQb16qgZHCCEKu9RUuH4drl5VJSJC7V+/DjdumG/fvJk3NRkODuDiooqrq7p1dla3jo6qBj2rWwcHsLfPKHfv29mpYmubfbk3USkI0pObe5ux0vf1bh0waLmdurWAi46Oxt3dnaioKNzc3PQOJ9cSEtQ/6pUrcPmyur1yBS5ehLNnVUKTmJj99WXKQP36KpGpV09tBwbq/0ITQoh0SUkZ72t3l/REJTwcrl3L/bd7Fxfzpvn0UqKEqjl3d8+6uLmpa23k67yucvP5LclLIWM0qn/6s2fNy/HjcP581te4u0PjxtCyJbRqBU2bqm8LQghhCUaj+vIVGqrel0JDVblwQSUpERE5ux9ra/D1BX9/dVuqVEbx9jbf9vJSNR2i8JLkpQgnL/cTFQVHj0JwMBw+rG6PH8/cnmtra57MNG+uvpUIIURu3LwJp07B6dPqNiREJSlhYaoJ/X4cHSEgAMqWVSUgQNUc+/uDn5+6LVlSJTCieJDkpZgmL1lJTlY9wvfsgZ074a+/VLXs3ays4LHHoFs36NpV9SKXZiYhRLobN9QXo6NH1ftJesJy61b216T3zatYMaOULw/lyqlkxctL3meEOUleJHnJlqapb0V//ZWRzNzbMbhCBZXEdOumamdkZJMQxUNqqqo9OXJElaNH1W14ePbXlCunvvBUq6amk6hcWb2HBARIHxKRO5K8SPKSK5cuwfr18OuvsGWLeXWvuzs8/TT06wft20sVrhBFRfoXmQMHYP9+VQ4dUoMGslKxItStCzVrmicrTk75G7couiR5keTlocXGwqZNKpFZv15VF6crU0YlMQMHQqVK+sUohMi92Fj4+2/YtSsjWcmq2cfFBWrXVolKeqldWx0XwpIkeZHkJU+kpak3uO++gxUrzOe5adlSJTH/+5+8qQlREN2+rRKV9ObhQ4cyz4Via6umVGjSRJXGjVVtSkGZa0QUL5K8SPKS5xIT4ZdfYMkS+PPPjNkXnZ3hxRdhwgTVGU8IoY+YGNi+Xf1/7tgBx45lPqdcOfXF47HHVLJSp44MLxYFhyQvkrxY1JUr8O23KpE5e1Yds7aG//s/mDQJatTQNz4higOjUU2J8McfKmHZsyfztAjVqqnpEFq1UklL2bL6xCpETkjyIslLvtA09Q3vgw/UG2i6Z56BN96Ahg31i02IoigyEn77TZVNm9Q8K3erWBE6doR27VSyUqqULmEK8VAkeZHkJd8dPAgzZ8Lq1RnHOnVSSUyrVvrFJURhFx4O69bBmjWwbZt57YqrKzzxhPpf69hRJS9CFFa5+fy2aLes27dv07dvX9zc3PDw8GDQoEHExsbe95o2bdpgMBjMyrBhwywZpsgDjRrBzz/DiROqD4y1taqNad0auneHf//VO0IhCo9z52DWLDX7denS8MorqmkoJUU1y06erDrh3roFa9eqn0viIooTi9a8PPnkk4SHh7Nw4UJSUlIYOHAgjRs35rvvvsv2mjZt2lClShXeffdd0zEnJ6cc16JIzUvBEBYGH30EX32lJr5ydIQpU2DcOLXCqhDC3PXrsGoVLFum5l65W9Om0LOnKlWq6BOfEJZWIJqNTp06RY0aNThw4ACNGjUCYOPGjTz11FNcvnwZf3//LK9r06YN9erVY+7cuQ/1uJK8FCwnT8Lw4apvDKgOhF9+CW3b6huXEAVBQoJqElq+HDZuzBjKbG2t/kd69lQ1l6VL6xunEPmhQDQb7d27Fw8PD1PiAtC+fXusrKzYt2/ffa9dsWIFJUuWpFatWkyePJn4+Phsz01KSiI6OtqsiIKjRg3VTv/tt6rz4OnTqo3+hRdyvrKsEEVJekf3l14CHx/o00d1wE1LU/OszJun1h/btEkl/pK4CJGZxZKXiIgISt3T1d3GxgZPT08i7vOp9X//938sX76cbdu2MXnyZJYtW8YLL7yQ7fkzZ87E3d3dVAICAvLsdxB5w2BQ/WBOn1ZvxgaDmvSuWjWYP1+9mQtR1EVHw+efq+n127RRUw3ExKi5V958Uy12uH8/jBolo4SEeJBcL5s1adIkPvzww/uec+rUqYcO6OWXXzZt165dGz8/P9q1a0doaCgVs+iRNnnyZMaNG2faj46OlgSmgCpRAr74Qs3MO2yYmvFz+HA1sdbXX8tMvaJoOnZMNZUuWwZxceqYs7OqcenXD1q0kBlthcitXCcv48ePZ8CAAfc9p0KFCvj6+nL9+nWz46mpqdy+fRtfX98cP17Tpk0BOHfuXJbJi729PfYyRWSh0qgR7NsHn30Gr78OP/ygRimtXi2dEUXRkJysXs9ffKGm6E9XvTq8+qqqiZQueUI8vFwnL97e3nh7ez/wvGbNmhEZGcmhQ4do+N9sZVu3bsVoNJoSkpwIDg4GwM/PL7ehigLM2hrGjFFt/P/7n0peGjdW3067ddM7OiEeTny8GmE3axZcvqyO2diojrfDh6upAwwGfWMUoiiwWGVl9erV6dy5M0OGDGH//v3s3r2bESNG0Lt3b9NIoytXrlCtWjX2798PQGhoKNOnT+fQoUNcuHCBX375hX79+tGqVSvq1KljqVCFjlq0UM1Hjz+u+gR07w5vv515ATkhCrLISHj/fdV/ZfRolbj4+sLUqWqOox9+UP1cJHERIm9YtKV1xYoVVKtWjXbt2vHUU0/x+OOPs2jRItPPU1JSCAkJMY0msrOzY/PmzXTs2JFq1aoxfvx4nn32WX799VdLhil05ucHW7eqjooA770HXbqoVXGFKMiuX1ezSKd3ur15EypUgIUL1VxH77wD2cwKIYR4BLI8gChQli+Hl19W81+UL69mD5VKN1HQRESompbFi9WK66BGEU2eDL16qaYiIUTuFIh5XoR4GC+8AHv3qsQlLExN1HXkiN5RCaHExqqmoEqVVIfzxERo0kQl2UePQt++krgIkR8keREFTt26aqHHxx5TTUcdOqiZeoXQS2qqagqqVAmmTVNDnps2VRPJ/f236qslw52FyD/y7yYKJE9P2LABGjaEGzegXTs4e1bvqERxo2lq+v5atdTcRNeuqQUQf/xR1RC2by+dcIXQgyQvosDy8FArU9epo/oYPPGEakoSIj/s36+GNvfoASEhULKkaio6eRKee06SFiH0JMmLKNC8vFTVfI0aavjpE0/AxYt6RyWKsqgoNZHcY4/Bzp1qRfQ334TQUBgxQlZFF6IgkORFFHilSsHmzVC5Mly4oBKYq1f1jkoUNZqmZsWtUUNN569pavr+M2fU8H0ZvChEwSHJiygU0ueCKV9efQNu1071PxAiL1y6pJqHnn1WJcaVK6vX29KlUKaM3tEJIe4lyYsoNMqUUR8oAQFqher27WUiO/Fo0tJUP5YaNeCXX8DWFt56Sw17bttW7+iEENmR5EUUKoGBKoHx84Pjx6F/f1W9L0RuHT8OzZurmZ1jY9X24cMwfTo4OOgdnRDifiR5EYVOpUrw++9gbw/r18O8eXpHJAoTTYMFC9RCoPv3q74s8+erzrk1a+odnRAiJyR5EYVSvXowZ47anjBBTWonxIPcvq2GOb/yipod98kn4dQpNYeLTDInROEh/66i0HrlFejZE1JSoHdvtSq1ENnZtUslvatXq74ts2ermjtZOFGIwkeSF1FoGQzw9ddqRd/QUBg6VPq/iMzS0uDdd9WEc5cuqWbHvXth3DipbRGisJJ/XVGolSgB338P1tawcqVKZoRId/myGlb/zjtgNMKLL8I//6hlJ4QQhZckL6LQa9YMZsxQ26NGwYkT+sYjCoZt21Qz0Y4d4OwM336riqur3pEJIR6VJC+iSHj9dejUCRIS4PnnIT5e74iEnr7+Gjp2hFu3oEEDNQT6xRf1jkoIkVckeRFFgpWV+lbt66sWzhs9Wu+IhB7S0tTos8GDITVVdeTetUvNmCuEKDokeRFFRqlSsHy56sj71VeqD4woPmJj1fT+s2ap/alT4bvv1MKKQoiiRZIXUaS0a6dWAAY1+kjWPyoeLl+Gli1h3To1eeF336lOugaD3pEJISxBkhdR5LzzDjRqpOZ9eestvaMRlnbwIDRpAsHB4O2tlo/o00fvqIQQliTJiyhybGxg7ly1/fXX6kNNFE2rV0OrVhAerqb2379frVEkhCjaJHkRRVKLFtCrl5q0bswYmbyuKFq+HP73PzXCrHNn2LNHLdwphCj6JHkRRdaHH6r+Dzt2wNq1ekcj8tKSJdCvn5p4btAg+PVXtcCiEKJ4kORFFFnlysFrr6nt116DpCR94xF5Y9EieOklVZv2yitq38ZG76iEEPlJkhdRpE2apOZ+OX8ePv1U72jEo/riCzWKDNRsyl98IesTCVEcyb+9KNJcXGDmTLU9fboMnS7MPvkERoxQ2+PHq07ZMhRaiOJJkhdR5PXrp6aIj4mBKVP0jkY8jI8+UqtAA0yerCaik8RFiOJLkhdR5FlZZQyd/uorOHJE13BELs2YARMnqu0pU9S+JC5CFG+SvIhioWVLNazWaISxY2XodGHxwQcZEw1Onw7TpkniIoSQ5EUUI+lDp7dtg19+0Tsa8SDLlqkmIlD9lmS2ZCFEOkleRLFRvnxGv4nx42XodEG2ebMaDg1qmPukSfrGI4QoWCR5EcXK5Mng4wOhofD553pHI7Jy5Ag88wykpkLv3qrGTAgh7ibJiyhWXF1Vh09QI1gSEvSNR5i7eBGeekqNDGvTBoKCZB4XIURm8rYgip1+/dTsu9evwzff6B2NSHfnDjz5JFy9qhZZXLNG9VESQoh7SfIiih1b24xlA2bNgpQUfeMRqv9Rjx5w8iSULg0bNoCHh95RCSEKKkleRLH00kvg7Q3//gsrV+odTfFmNEL//vDXX2pxxQ0bICBA76iEEAWZJC+iWHJyUvO9gJpLxGjUN57ibMIEWLVK1YitWQO1a+sdkRCioJPkRRRbw4erb/onT8Kvv+odTfEUFASzZ2dsP/GEntEIIQoLSV5EseXurhIYUJOgyay7+evIEXjlFbU9bRr83//pG48QovCQ5EUUa2PGgIMD7NsH27frHU3xERkJzz4LiYlqaLTMniuEyA1JXkSx5uOTMZPrzJn6xlJcaBoMGKAmCgwMVMsAyFwuQojckLcMUey9/jpYW8OmTXDwoN7RFH2zZsG6dWBnBz/9BJ6eekckhChsJHkRxV5gIPTpo7al9sWyduzIWGzxs8+gYUN94xFCFE6SvAhBxsJ/a9bA6dP6xlJUhYdDr15qWHq/fjBkiN4RCSEKK0lehEBNR9+tm+qPIQsB5r2UFJW4XLum5nGZPx8MBr2jEkIUVpK8CPGf9OaM5cvVAoEi77zxBuzcqebV+flnNUmgEEI8LElehPjPY4+plYxTUzMmThOPbvVq+PhjtR0UBJUr6xqOEKIIkORFiLuk174sXgw3bugbS1Fw5QoMGqS2X3sNevbUNx4hRNEgyYsQd+nQQY2ASUhQ/TLEw9M0lbhERkKTJvD++3pHJIQoKiR5EeIuBgOMH6+2v/wSkpL0jacwW7gQ/vhDzWC8dKlaeFEIIfKCJC9C3OO558DfX42MWbVK72gKp9BQ1UwEatXuatX0jUcIUbRYLHmZMWMGzZs3x8nJCQ8Pjxxdo2kaU6ZMwc/PD0dHR9q3b8/Zs2ctFaIQWbK1hREj1PYnn8iCjbmVlgb9+0NcHLRtCyNH6h2REKKosVjykpyczP/+9z9eSV82Ngc++ugjPv30UxYsWMC+fftwdnamU6dOJCYmWipMIbL08svg6AjBwfDXX3pHU7jMmQO7d4OrKyxZIusWCSHynsXeVqZNm8bYsWOpXbt2js7XNI25c+fy1ltv0b17d+rUqcO3337L1atXWbt2raXCFCJLXl5qFliAuXN1DaVQOX48Y4XouXOhXDldwxFCFFEF5jtRWFgYERERtG/f3nTM3d2dpk2bsnfv3myvS0pKIjo62qwIkRdGj1a369apPhzi/pKTVcKXnAxdusDAgXpHJIQoqgpM8hIREQGAj4+P2XEfHx/Tz7Iyc+ZM3N3dTSUgIMCicYrio3p16NxZ9Xn57DO9oyn43nsPDh9Wq0QvWiTT/wshLCdXycukSZMwGAz3LafzeVW7yZMnExUVZSqXLl3K18cXRduYMer2m29AKvWyd+BAxjwu8+eDn5++8Qghijab3Jw8fvx4BgwYcN9zKlSo8FCB+Pr6AnDt2jX87nrnu3btGvXq1cv2Ont7e+zt7R/qMYV4kI4dVQ3MqVPw9dcwdqzeERU8CQmquSgtDXr3huef1zsiIURRl6vkxdvbG29vb4sEUr58eXx9fdmyZYspWYmOjmbfvn25GrEkRF4yGFTty9Ch8OmnMGoUWFvrHVXB8s47cPq0qm354gu9oxFCFAcW6/Ny8eJFgoODuXjxImlpaQQHBxMcHExsbKzpnGrVqrFmzRoADAYDY8aM4b333uOXX37h2LFj9OvXD39/f3r06GGpMIV4oBdeUP04LlyAX37RO5qC5cgRNTQa1Iy6np76xiOEKB5yVfOSG1OmTGHp0qWm/fr16wOwbds22rRpA0BISAhRUVGmcyZMmEBcXBwvv/wykZGRPP7442zcuBEHBwdLhSnEAzk5qZqXmTPVpHWyuKBiNKrnJS0Nnn0WunbVOyIhRHFh0LSiNX9odHQ07u7uREVF4ebmpnc4ooi4cgUCAyE1FQ4eVIs3Fnfz58Pw4WoyulOnoHRpvSMSQhRmufn8LjBDpYUoyEqXzuiIOm+evrEUBOHhMGmS2p4xQxIXIUT+kuRFiBxKH2m0cqX68C7Oxo5VQ8cbNVK1L0IIkZ8keREihxo1ghYtICUFvvxS72j0s2GDWm3bykpNRiejr4QQ+U2SFyFyIX3Suvnz1fwmxU18fEZNy+jR8F8/fCGEyFeSvAiRCz16QNmycOsWfPed3tHkv+nT1ZDxgAB49129oxFCFFeSvAiRCzY2MHKk2p43T617VFwcOwYff6y2P/8cXFz0jUcIUXxJ8iJELg0apOZ+OXYMtm/XO5r8kT6nS2qqqn3q1k3viIQQxZkkL0LkUokS0L+/2p47V9dQ8s1XX8Hevaq25dNP9Y5GCFHcSfIixEMYNUrd/vorhIbqG4ulXb8OEyeq7ffeU/1dhBBCT5K8CPEQqlWDzp1Vn5fPP9c7GsuaOBEiI9XIoldf1TsaIYSQ5EWIhzZ6tLr9+ms1YVtRtHs3BAWp7S+/VB2WhRBCb5K8CPGQOnZUNTAxMRkf8EVJampGTcugQfDYY/rGI4QQ6SR5EeIhWVll9H359FM1IqcomT8fjhxRHZRnztQ7GiGEyCDJixCPoF8/8PBQnXZ/+03vaPLOtWvw9ttq+/33wdtb33iEEOJukrwI8QicnWHIELVdlFabnjgRoqKgYcOM308IIQoKSV6EeESvvqqakLZsgePH9Y7m0e3aBUuXqu0vvpCFF4UQBY8kL0I8onLl4Jln1HZhr325u5Pu4MHQtKm+8QghRFYkeREiD6QPm16+HG7e1DeWRzF/Phw9Kp10hRAFmyQvQuSBFi2gQQNITITFi/WO5uFcuwZvvaW2Z86EkiX1jUcIIbIjyYsQecBggDFj1PYXX0BKiq7hPJQJE9Rkew0bqiYjIYQoqCR5ESKPPP88+PjAlSvw0096R5M7u3bBt9+qJOzLL6WTrhCiYJPkRYg8Ym8Pw4er7fffh7Q0fePJqeRkeOUVtT14MDRpom88QgjxIJK8CJGHRo1Sk9YdPw6rVukdTc7MmqXiLVlSJV1CCFHQSfIiRB7y8IDXXlPb77yjhh4XZGfOwPTpanvuXOmkK4QoHCR5ESKPjR6tptM/dy5jsreCyGiEl1+GpCTo1An+7//0jkgIIXJGkhch8piLC0yerLbffVclBwXRN9/Ajh3g5KTmdzEY9I5ICCFyRpIXISzglVegdGm4eBEWLdI7mswiIuD119X2u+9C+fL6xiOEELkhyYsQFuDgkDHh24wZEB+vbzz3Gj0aIiPVnC7pswMLIURhIcmLEBby0kuqRuPaNfj8c72jybB+Pfzwg5rLZfFisLHROyIhhMgdSV6EsBA7O5g6VW1/+CFERekaDgAxMRlzuowbB/Xr6xuPEEI8DElehLCgvn2hWjW4fRs++UTvaODNN+HyZahQISOxEkKIwkaSFyEsyNpadYgFmDMHbt3SL5a//85ovlqwQI0yEkKIwkiSFyEs7NlnoV491WTz0Uf6xJCcDEOGgKZBv37QoYM+cQghRF6Q5EUIC7OygvfeU9uffQbh4fkfw+jRGUsAzJ6d/48vhBB5SZIXIfLBU09Bs2aQkJD/6wctWqSaiQwGCAqSJQCEEIWfJC9C5AODIaP2ZeFCOHkyfx53924YMUJtv/cePP10/jyuEEJYkiQvQuSTJ56Azp0hJQW6dbN8593Ll1V/m5QU+N//MpYsEEKIwk6SFyHy0bffQmAghIbC88+rxMISEhKgZ081QV7durBkiaxdJIQoOiR5ESIfeXvDL7+oxRu3boWxY/P+MTRNrRZ98CB4ecHateDsnPePI4QQepHkRYh8Vrs2rFihakK++EKt6JyXPvkEli9Xc8z8+KOq6RFCiKJEkhchdNCtW8aoo5EjYdu2vLnfTZsyVov+5BNo2zZv7lcIIQoSSV6E0MnEiWr5gLQ0eO451Q/mUYSGQq9eYDTCwIEZo4yEEKKokeRFCJ0YDPDVV9CkiVr7qGtXiI7O/f1oGqxeDW3awJ078NhjqilKOugKIYoqSV6E0JGDg+pQW7o0nDoFffqompicCgmBTp3UkOjLl6FiRfj5Z7C3t1jIQgihO0lehNCZnx+sWweOjvD77yoRWb36/rUwMTGq2al2bdXPxd4epkyBo0fB3z//YhdCCD0YNE3T9A4iL0VHR+Pu7k5UVBRubm56hyNEjv3wg+qzks7GBlq0gCefVKV2bXV81SoYPx6uXlX7XbrA3Lmq1kUIIQqr3Hx+S/IiRAGyd69KTjZsgDNnzH9WujT4+sKhQ2q/QgWYN08lL0IIUdhJ8iLJiygCQkNVErNhgxpKnZCgjjs4wBtvqCHRDg76xiiEEHlFkhdJXkQRk5AAO3aoDrrdu8vEc0KIoic3n982+RSTEOIRODqqRR07d9Y7EiGE0J+MNhJCCCFEoWKx5GXGjBk0b94cJycnPDw8cnTNgAEDMBgMZqWzfNUUQgghxF0s1myUnJzM//73P5o1a8bXX3+d4+s6d+7MkiVLTPv2MtuWEEIIIe5iseRl2rRpAAQFBeXqOnt7e3x9fS0QkRBCCCGKggLX52X79u2UKlWKqlWr8sorr3Dr1q37np+UlER0dLRZEUIIIUTRVaCSl86dO/Ptt9+yZcsWPvzwQ3bs2MGTTz5J2n0We5k5cybu7u6mEhAQkI8RCyGEECK/5Sp5mTRpUqYOtfeW06dPP3QwvXv3plu3btSuXZsePXqwfv16Dhw4wPbt27O9ZvLkyURFRZnKpUuXHvrxhRBCCFHw5arPy/jx4xkwYMB9z6lQocKjxJPpvkqWLMm5c+do165dlufY29tLp14hhBCiGMlV8uLt7Y23t7elYsnk8uXL3Lp1Cz8/v3x7TCGEEEIUbBbr83Lx4kWCg4O5ePEiaWlpBAcHExwcTGxsrOmcatWqsWbNGgBiY2N5/fXX+fvvv7lw4QJbtmyhe/fuVKpUiU6dOlkqTCGEEEIUMhYbKj1lyhSWLl1q2q9fvz4A27Zto02bNgCEhIQQFRUFgLW1NUePHmXp0qVERkbi7+9Px44dmT59ujQLCSGEEMJEFmYUQgghhO5y8/ldoIZKCyGEEEI8SJFbVTq9IkkmqxNCCCEKj/TP7Zw0CBW55CUmJgZAJqsTQgghCqGYmBjc3d3ve06R6/NiNBq5evUqrq6uGAyGPL3v6OhoAgICuHTpkvSnyQF5vnJPnrPckecrd+T5yj15znLnUZ4vTdOIiYnB398fK6v792opcjUvVlZWlClTxqKP4ebmJi/iXJDnK/fkOcsdeb5yR56v3JPnLHce9vl6UI1LOumwK4QQQohCRZIXIYQQQhQqkrzkgr29Pe+8845MmpdD8nzlnjxnuSPPV+7I85V78pzlTn49X0Wuw64QQgghijapeRFCCCFEoSLJixBCCCEKFUlehBBCCFGoSPIihBBCiEJFkpd7fPHFFwQGBuLg4EDTpk3Zv3//fc//8ccfqVatGg4ODtSuXZvff/89nyItGHLzfAUFBWEwGMyKg4NDPkarr7/++ouuXbvi7++PwWBg7dq1D7xm+/btNGjQAHt7eypVqkRQUJDF4yxIcvucbd++PdNrzGAwEBERkT8B62zmzJk0btwYV1dXSpUqRY8ePQgJCXngdcX1fexhnq/i/D42f/586tSpY5qArlmzZmzYsOG+11jqtSXJy11WrVrFuHHjeOedd/jnn3+oW7cunTp14vr161mev2fPHvr06cOgQYM4fPgwPXr0oEePHhw/fjyfI9dHbp8vULMuhoeHm8q///6bjxHrKy4ujrp16/LFF1/k6PywsDCefvpp2rZtS3BwMGPGjGHw4MH88ccfFo604Mjtc5YuJCTE7HVWqlQpC0VYsOzYsYNXX32Vv//+m02bNpGSkkLHjh2Ji4vL9pri/D72MM8XFN/3sTJlyvDBBx9w6NAhDh48yBNPPEH37t05ceJEludb9LWlCZMmTZpor776qmk/LS1N8/f312bOnJnl+c8//7z29NNPmx1r2rSpNnToUIvGWVDk9vlasmSJ5u7unk/RFWyAtmbNmvueM2HCBK1mzZpmx3r16qV16tTJgpEVXDl5zrZt26YB2p07d/IlpoLu+vXrGqDt2LEj23OK+/vY3XLyfMn7mLkSJUpoX331VZY/s+RrS2pe/pOcnMyhQ4do37696ZiVlRXt27dn7969WV6zd+9es/MBOnXqlO35RcnDPF8AsbGxlCtXjoCAgPtm7KJ4v74eVb169fDz86NDhw7s3r1b73B0ExUVBYCnp2e258jrLENOni+Q9zGAtLQ0Vq5cSVxcHM2aNcvyHEu+tiR5+c/NmzdJS0vDx8fH7LiPj0+27eURERG5Or8oeZjnq2rVqnzzzTesW7eO5cuXYzQaad68OZcvX86PkAud7F5f0dHRJCQk6BRVwebn58eCBQv4+eef+fnnnwkICKBNmzb8888/eoeW74xGI2PGjKFFixbUqlUr2/OK8/vY3XL6fBX397Fjx47h4uKCvb09w4YNY82aNdSoUSPLcy352ipyq0qLgqtZs2ZmGXrz5s2pXr06CxcuZPr06TpGJoqKqlWrUrVqVdN+8+bNCQ0N5ZNPPmHZsmU6Rpb/Xn31VY4fP86uXbv0DqVQyOnzVdzfx6pWrUpwcDBRUVH89NNP9O/fnx07dmSbwFiK1Lz8p2TJklhbW3Pt2jWz49euXcPX1zfLa3x9fXN1flHyMM/XvWxtbalfvz7nzp2zRIiFXnavLzc3NxwdHXWKqvBp0qRJsXuNjRgxgvXr17Nt2zbKlClz33OL8/tYutw8X/cqbu9jdnZ2VKpUiYYNGzJz5kzq1q3LvHnzsjzXkq8tSV7+Y2dnR8OGDdmyZYvpmNFoZMuWLdm25zVr1szsfIBNmzZle35R8jDP173S0tI4duwYfn5+lgqzUCvOr6+8FBwcXGxeY5qmMWLECNasWcPWrVspX778A68pzq+zh3m+7lXc38eMRiNJSUlZ/syir61H7vJbhKxcuVKzt7fXgoKCtJMnT2ovv/yy5uHhoUVERGiapmkvvviiNmnSJNP5u3fv1mxsbLSPP/5YO3XqlPbOO+9otra22rFjx/T6FfJVbp+vadOmaX/88YcWGhqqHTp0SOvdu7fm4OCgnThxQq9fIV/FxMRohw8f1g4fPqwB2pw5c7TDhw9r//77r6ZpmjZp0iTtxRdfNJ1//vx5zcnJSXv99de1U6dOaV988YVmbW2tbdy4Ua9fId/l9jn75JNPtLVr12pnz57Vjh07po0ePVqzsrLSNm/erNevkK9eeeUVzd3dXdu+fbsWHh5uKvHx8aZz5H0sw8M8X8X5fWzSpEnajh07tLCwMO3o0aPapEmTNIPBoP3555+apuXva0uSl3t89tlnWtmyZTU7OzutSZMm2t9//236WevWrbX+/fubnf/DDz9oVapU0ezs7LSaNWtqv/32Wz5HrK/cPF9jxowxnevj46M99dRT2j///KND1PpIH8Z7b0l/jvr376+1bt060zX16tXT7OzstAoVKmhLlizJ97j1lNvn7MMPP9QqVqyoOTg4aJ6enlqbNm20rVu36hO8DrJ6rgCz1428j2V4mOerOL+PvfTSS1q5cuU0Ozs7zdvbW2vXrp0pcdG0/H1tGTRN0x69/kYIIYQQIn9InxchhBBCFCqSvAghhBCiUJHkRQghhBCFiiQvQgghhChUJHkRQgghRKEiyYsQQgghChVJXoQQQghRqEjyIoQQQohCRZIXIYQQQhQqkrwIIYQQolCR5EUIIYQQhYokL0IIIYQoVP4fp30I0CjrHkEAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "t_end = 3.0\n", "# plt.plot(time[time < t_end], (total_mass[time < t_end] - total_mass[0]) / total_mass[0], label=\"Relative Mass Change\")\n", "# plt.plot(time[time < t_end], (total_energy[time < t_end] - total_energy[0]) / total_energy[0], label=\"Relative Energy Change\")\n", "plt.plot(time, total_energy, label=\"Total Energy\", color = \"black\")\n", "plt.plot(time, internal_energy, label=\"Internal Energy\", color = \"green\")\n", "plt.plot(time, kinetic_energy, label=\"Kinetic Energy\", color = \"red\")\n", "plt.plot(time, gravitational_energy, label=\"Gravitational Energy\", color = \"blue\")\n", "# plot the zero line\n", "# plt.axhline(0, color = \"black\", linestyle = \"--\")\n", "# plt.ylim(-3, 3)\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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vr5eef+9a9euWrcxunbt2i6zYZrxHm3cuBG//OUv8fDDD2PFihViu2t5IOfPn292f59//jkKCgpwzz33uFx5UPVl9erVOHfuHH784x+32E+iYMMrD+RX3nvvPRw5cgSNjY2oqKjARx99hO3bt2PgwIH485//7DJBU35+Pn7wgx9gxIgRmDdvHm644QZUVFSgpKQEX375JT799FOt53799dfx8ssv495778WNN96Iixcv4j/+4z8QERGBu+++W9wuOTkZwNWyyQcffBCdOnXCtGnTnIOKUaNGYfjw4di0aROGDRuG0aNHt9iX1NRU9OjRA5mZmfjlL38Ji8WCdevWKecfSE5OxsaNG5GTk4OxY8eiW7dumDZtWrP9/fDDD7FixQrExcVh8ODBzmRHs3nyHu3Zswdz5sxBr169cOedd+KPf/yjy+9TU1OdVzf27NmDyZMnY8mSJS7rjiQkJGDGjBkYMGAAjh8/jtWrV6Nnz54oKChw2dfAgQMxc+ZM55wVf/3rX7FhwwYkJSW1WMpKFJR8VudBdJ1rZYLXHmFhYUZsbKxx1113GatWrTKqq6uV233xxRfGnDlzjNjYWKNTp05Gv379jHvuucfYvHmz276blmB+/PHHLqWF+/fvN2bNmmUMGDDAsNlsRnR0tHHPPfcY+/btc9kOTUo1DcMwli1bZvTr188ICQlRlm3+r//1vwwAxm9/+9tWH5NPPvnEmDBhgtG5c2cjLi7OeOaZZ5xlkteXQ9bU1BgPPfSQERUVZQBosWzzyJEjxu2332507tzZAOAs25RKNadOneq2DwBGVlaWS+z48eMGAOPFF190ibfmPVJpek40fbz22mvOttfey6bvy4MPPmjEx8cbYWFhRlxcnPHzn//cqKiocHuuxx9/3EhISDC6d+9udOrUyRgyZIjx61//WjzviIKdxTA4lRqRt61atQpPPfUUTpw44Va9QETU0XDwQORlhmEgMTERvXr1wscff+zr7hAReYw5D0ReUltbiz//+c/4+OOPcfDgQbz11lu+7hIRkSl45YHIS06cOIHBgwcjKioK//iP/4jnn3/e110iIjKF35RqvvDCC7BYLFiwYEGz7TZt2oRbbrkF4eHhGDFiBN5999326SCRpkGDBsEwDFy4cIEDByIKKH4xeNi7dy/WrFmDkSNHNttu165dmDVrFh577DEcOHAA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thZz584FAMyZMwf9+vVDbm4uAGD+/PmYOHEili9fjqlTp2LDhg3Yt28fXnnlFV++DCIioqDh88HDzJkzce7cOSxevBjl5eVISkrCtm3bnEmRp06dchldpqamYv369fjNb36Df/7nf8ZNN92ErVu3Yvjw4b56CUREREHF54MHAMjOzhZvUxQXF7vFZsyYgRkzZrTpuWw2G5YsWaK8leHPOmq/gY7bd/a7fbHf7a+j9r2j9juQWIz2qXUhIiKiAOHzGSaJiIioY+HggYiIiLRw8EBERERaOHggIiIiLQE5eMjPz8egQYMQHh6O8ePHY8+ePc2237RpE2655RaEh4djxIgRePfdd9upp650+l1YWAiLxeLy8MVkJjt37sS0adMQFxcHi8WCrVu3trhNcXExRo8eDZvNhiFDhqCwsNDr/WxKt9/FxcVux9tisYhrqnhLbm4uxo4di+7duyM6OhoZGRk4evRoi9v5+hxvS7/95RxfvXo1Ro4c6ZxIKSUlBe+9916z2/j6eAP6/faX493UCy+8AIvF4jIxoIo/HPNgEnCDh40bNyInJwdLlizB/v37kZiYiPT0dJw9e1bZfteuXZg1axYee+wxHDhwABkZGcjIyMChQ4f8ut/A1Vnhzpw543ycPHmyHXt8VW1tLRITE5Gfn9+q9sePH8fUqVMxefJklJWVYcGCBXj88cfx/vvve7mnrnT7fc3Ro0ddjnl0dLSXeqi2Y8cOZGVlYffu3di+fTsaGhrwox/9CLW1teI2/nCOt6XfgH+c4/3798cLL7yA0tJS7Nu3D3fccQemT5+Ow4cPK9v7w/FuS78B/zje19u7dy/WrFmDkSNHNtvOX455UDECzLhx44ysrCznz3a73YiLizNyc3OV7R944AFj6tSpLrHx48cbTzzxhFf72ZRuv1977TUjMjKynXrXOgCMLVu2NNvmmWeeMW699VaX2MyZM4309HQv9qx5ren3xx9/bAAwLly40C59aq2zZ88aAIwdO3aIbfzlHL9ea/rtj+f4NT169DBeffVV5e/88Xhf01y//e14X7x40bjpppuM7du3GxMnTjTmz58vtvXnYx6oAurKQ319PUpLS5GWluaMhYSEIC0tDSUlJcptSkpKXNoDQHp6utjeG9rSbwCoqanBwIEDER8f3+K/KPyFPxxvTyQlJaFv376466678Mknn/i6O84l5ptbIMgfj3lr+g343zlut9uxYcMG1NbWiuvp+OPxbk2/Af863llZWZg6darbsVTxx2Me6AJq8HD+/HnY7Xbn1NbXxMTEiPemy8vLtdp7Q1v6PXToUKxduxZvvfUW3njjDTgcDqSmpuLLL79sjy63mXS8q6urcfnyZR/1qmV9+/ZFQUEB/vSnP+FPf/oT4uPjMWnSJOzfv99nfXI4HFiwYAFuu+22Zqdn94dz/Hqt7bc/neMHDx5Et27dYLPZ8POf/xxbtmxBQkKCsq0/HW+dfvvT8d6wYQP279/vXNOoJf50zIOFX0xPTfpSUlJc/gWRmpqKYcOGYc2aNVi2bJkPexaYhg4diqFDhzp/Tk1NxRdffIGVK1di3bp1PulTVlYWDh06hL/+9a8+ef62am2//ekcHzp0KMrKylBVVYXNmzcjMzMTO3bsEP8Q+wudfvvL8T59+jTmz5+P7du3+0XCJqkF1OChd+/esFqtqKiocIlXVFQgNjZWuU1sbKxWe29oS7+b6tSpE0aNGoVjx455o4umkY53REQEOnfu7KNetc24ceN89oc7Ozsbb7/9Nnbu3In+/fs329YfzvFrdPrdlC/P8bCwMAwZMgQAkJycjL1792LVqlVYs2aNW1t/Ot46/W7KV8e7tLQUZ8+exejRo50xu92OnTt34qWXXkJdXR2sVqvLNv50zINFQN22CAsLQ3JyMoqKipwxh8OBoqIi8T5fSkqKS3sA2L59e7P3Bc3Wln43ZbfbcfDgQfTt29db3TSFPxxvs5SVlbX78TYMA9nZ2diyZQs++ugjDB48uMVt/OGYt6XfTfnTOe5wOFBXV6f8nT8cb0lz/W7KV8f7zjvvxMGDB1FWVuZ8jBkzBg8//DDKysrcBg6Afx/zgOXrjE2zbdiwwbDZbEZhYaHxt7/9zfjZz35mREVFGeXl5YZhGMbs2bONhQsXOtt/8sknRmhoqPH73//e+Oyzz4wlS5YYnTp1Mg4ePOjX/V66dKnx/vvvG1988YVRWlpqPPjgg0Z4eLhx+PDhdu33xYsXjQMHDhgHDhwwABgrVqwwDhw4YJw8edIwDMNYuHChMXv2bGf7v//970aXLl2Mp59+2vjss8+M/Px8w2q1Gtu2bfPrfq9cudLYunWr8fnnnxsHDx405s+fb4SEhBgffvhhu/b7F7/4hREZGWkUFxcbZ86ccT4uXbrkbOOP53hb+u0v5/jChQuNHTt2GMePHzf+53/+x1i4cKFhsViMDz74QNlvfzjebem3vxxvlabVFv56zINJwA0eDMMw/vCHPxgDBgwwwsLCjHHjxhm7d+92/m7ixIlGZmamS/s333zTuPnmm42wsDDj1ltvNd5555127vFVOv1esGCBs21MTIxx9913G/v372/3Pl8rYWz6uNbXzMxMY+LEiW7bJCUlGWFhYcYNN9xgvPbaa37f79/97nfGjTfeaISHhxs9e/Y0Jk2aZHz00Uft3m9VnwG4HEN/PMfb0m9/OccfffRRY+DAgUZYWJjRp08f484773T+AVb12zB8f7wNQ7/f/nK8VZoOHvz1mAcTLslNREREWgIq54GIiIi8j4MHIiIi0sLBAxEREWnh4IGIiIi0cPBAREREWjh4ICIiIi0cPBAREZEWDh6IiIhICwcPREREpIWDByIiItLCwQNRADh37hxiY2Px29/+1hnbtWsXwsLC3FYbJCLyFNe2IAoQ7777LjIyMrBr1y4MHToUSUlJmD59OlasWOHrrhFRgOHggSiAZGVl4cMPP8SYMWNw8OBB7N27FzabzdfdIqIAw8EDUQC5fPkyhg8fjtOnT6O0tBQjRozwdZeIKAAx54EogHzxxRf4+uuv4XA4cOLECV93h4gCFK88EAWI+vp6jBs3DklJSRg6dCjy8vJw8OBBREdH+7prRBRgOHggChBPP/00Nm/ejE8//RTdunXDxIkTERkZibffftvXXSOiAMPbFkQBoLi4GHl5eVi3bh0iIiIQEhKCdevW4S9/+QtWr17t6+4RUYDhlQciIiLSwisPREREpIWDByIiItLCwQMRERFp4eCBiIiItHDwQERERFo4eCAiIiItHDwQERGRFg4eiIiISAsHD0RERKSFgwciIiLSwsEDERERaeHggYiIiLT8f53A7zg/oqAdAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.animation as animation\n", "\n", "fig, ax = plt.subplots()\n", "\n", "def animate(i):\n", " ax.clear()\n", " state = snapshots.states[i]\n", " im = ax.imshow(state[0, :, :, num_cells // 2].T, cmap=\"jet\", origin=\"lower\", extent=[0, box_size, 0, box_size], norm=LogNorm())\n", " ax.set_xlabel(\"x\")\n", " ax.set_ylabel(\"y\")\n", " ax.set_title(f\"Density at time {time[i]:.2f}\")\n", " return [im]\n", "\n", "ani = animation.FuncAnimation(fig, animate, frames=len(snapshots.states), interval=100, blit=True)\n", "plt.colorbar(ax.imshow(snapshots.states[0][0, :, :, num_cells // 2].T, cmap=\"jet\", origin=\"lower\", extent=[0, box_size, 0, box_size], norm=LogNorm()), ax=ax)\n", "# save to gif\n", "ani.save(\"3d_collapse.gif\")" ] } ], "metadata": { "kernelspec": { "display_name": "f1uids", "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.10.15" } }, "nbformat": 4, "nbformat_minor": 2 }