{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "de48c1db-2a54-450d-a01f-a754ee24d65a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "source": [ "%pylab ipympl \n", "\n", "import multizone_plot as mzp\n", "from multizone import mppnp_reader" ] }, { "cell_type": "code", "execution_count": 2, "id": "e4b3a841-26a5-4d89-a49c-ce20238831c2", "metadata": {}, "outputs": [], "source": [ "mixing_cases = []\n", "\n", "for case in [\"MLT\", \"PPM\", \"PPM3\", \"PPM10\", \"PPM50\"]:\n", " for ing in [\"0.00E+00\",\"7.95E+01\",\"7.95E+02\",\"7.95E+03\"]:\n", " res = mppnp_reader(initialpath = \"/data/niagara_project/projects/ocmerger_issa2025/CONDITIONS/initial_abund.dat\",\n", " surfpath = f\"/data/niagara_project/projects/ocmerger_issa2025/RUNS/{case}_RUNS/hif{ing}/H5_surf\",)\n", " \n", " mixing_cases.append(res)\n", " \n", "for ing in [\"gosh\", \"gosh_stronger\", \"partial_merger\", \"partial_merger_stronger\"]:\n", " res = mppnp_reader(initialpath = \"/data/niagara_project/projects/ocmerger_issa2025/CONDITIONS/initial_abund.dat\",\n", " surfpath = f\"/data/niagara_project/projects/ocmerger_issa2025/RUNS/GOSH_RUNS/{ing}/H5_surf\",)\n", " mixing_cases.append(res)" ] }, { "cell_type": "code", "execution_count": 13, "id": "490de96e-6530-492c-8eb0-1f20ef046f8e", "metadata": {}, "outputs": [], "source": [ "def bar_OP(ifig, objs, isotopes, cycle):\n", " '''Plot the mass fractions against the solar mass fractions.\n", " INPUTS:\n", " objs - the mppnp object you want to plot\n", " isotopes - the isotopes you want to plot\n", " cycle - the cycle you want to plot for\n", " label - the label for the data\n", " lines - true/False, whether to connect isotopes with the same Z with a line (use with separated = False)\n", " separated - True/False, whether to plot the isotopes separate from each other.\n", " If True, shows shaded bands of max/min values instead of individual points.\n", " '''\n", " \n", " plt.close(ifig); plt.figure(ifig, figsize=(15,6))\n", " \n", " if not isinstance(objs, list): objs = [objs]\n", " \n", " jmax = len(objs) - 1\n", " ymin_glo, ymax_glo = 0, 0\n", "\n", " xpos = np.linspace(1, len(isotopes), len(isotopes))\n", " all_Xi_Xsol = []\n", "\n", " # Collect data and display averages\n", " for j, obj in enumerate(objs):\n", " Xi_surf = obj.get('surf', cycle, isotopes)\n", " Xi_solar = obj.get('initial', np.nan, isotopes)\n", " Xi_Xsol = np.log10(Xi_surf/Xi_solar)\n", " all_Xi_Xsol.append(Xi_Xsol)\n", "\n", "\n", " # Process data for shaded regions\n", " all_Xi_Xsol = np.array(all_Xi_Xsol)\n", " min_Xi_Xsol = np.min(all_Xi_Xsol, axis=0)\n", " max_Xi_Xsol = np.max(all_Xi_Xsol, axis=0)\n", "\n", " # Create individual shaded regions\n", " for i in range(len(isotopes)):\n", " x_points = [xpos[i] - 0.4, xpos[i] + 0.4]\n", " y_min = [min_Xi_Xsol[i], min_Xi_Xsol[i]]\n", " y_max = [max_Xi_Xsol[i], max_Xi_Xsol[i]]\n", "\n", " plt.fill_between(x_points, y_min, y_max, alpha=0.3, color='darkmagenta', edgecolor=None,zorder=5)\n", " plt.plot(x_points, y_min, 'darkmagenta', linewidth=1.5,zorder=5)\n", " plt.plot(x_points, y_max, 'darkmagenta', linewidth=1.5,zorder=5)\n", " \n", " print(isotopes[i], round(y_max[0] - y_min[0],2))\n", " \n", " # Set labels and limits\n", " plt.ylabel(r'$\\mathrm{OP}=\\log_{10}(X_i / X_{i,\\mathrm{ini}})$', fontsize=14)\n", "\n", " ymin, ymax = min(min_Xi_Xsol), max(max_Xi_Xsol)\n", " ymin, ymax = objs[0].round_to_nearest(np.array([ymin, ymax]), 0.5)\n", " xmin, xmax = -0.5, len(isotopes)+1\n", "\n", " # Finalize plot\n", " ax = plt.gca()\n", " ax = mzp.plot_ticks(ax, ymin, ymax, xmin, xmax, 0.25, 0.5, noxlabel=True)\n", " ax.tick_params(axis='y', labelsize=14)\n", " \n", " ymin, ymax = ax.get_ylim()\n", " \n", " # Add isotope labels\n", " yshift = 0.3\n", " for idx, isotope in enumerate(isotopes, 1):\n", "\n", " ele, A = isotope.split('-')\n", " iso = fr'$^{{{A}}}\\mathrm{{{ele}}}$'\n", "\n", " text_y = ymax-yshift*1.2 if idx % 2 == 1 else ymin+yshift*0.4\n", " if idx%2 == 1: plt.axvline(idx, color='lightgrey', lw=0.5,zorder=1)\n", " \n", " plt.text(idx-0.1, text_y, iso, ha='center', fontsize=14)\n", " \n", " if 0 < ymax and 0 > ymin: plt.axhline(0, color='grey', lw=3, zorder=1)\n", "\n", " plt.tight_layout()" ] }, { "cell_type": "code", "execution_count": 4, "id": "2c9c520e-0eba-44d4-84df-2fa03a86b4d8", "metadata": {}, "outputs": [], "source": [ "lightoddZ = ['P-31', 'Cl-35', 'Cl-37', 'K-39', 'K-40', 'K-41', 'Sc-45']" ] }, { "cell_type": "code", "execution_count": 8, "id": "1d946688-28cf-4217-af77-6d03eb95305e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "P-31 0.58\n", "Cl-35 1.76\n", "Cl-37 0.81\n", "K-39 2.42\n", "K-40 3.37\n", "K-41 2.13\n", "Sc-45 1.68\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "c7e938182a034bd891d9596ea4b130bc", "version_major": 2, "version_minor": 0 }, "image/png": "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jFuDYmv1UY8ePRobNmyAp6dns/ctKSnB3r170alTJ445ItFxrAEREWlKq6dpePjwIZ5//nn4+vri4MGDkMlkje5z8eJFvP7667C3t8eGDRvQrVu31oZBREREpDVa3YN16dIlHDp0CJGRkZg3bx4WLFiAPn36YPDgwejWrRs6d+6M0tJS/Pbbb/jpp5/w7bff4s8//4Senh6mT5+OjRs3ws7OToxjIVKi7rEG6qKNYw2IiEiZKDdG58yZg9mzZ+Orr77CwYMHkZqaWuercaRSKQYMGICJEydi/vz5sLa2FqN5ojqpe6yBuvDWIBGR9hPtyiORSDB27FiMHTsWAPDjjz/izp07KCoqgrGxMSwtLeHq6tqqRx6JiIiI2gKV/a99v3790K9fP1VVT0RERKS1RHkXIRERERH9l1oSrOLiYsTFxSE4OBiBgYEIDAxEcHAwDhw4gOLiYnWEUK/ExEQsWrQIHh4eMDIygkQiQUJCQrPqSE1NhUQiqfenufURERFR26by0b/Xrl1DQEAAKisr4ePjg2effRYA8ODBA6xatQoRERFITk5G//79VR1KnVavXo28vDx07doV1tbWyMvLa3Fd3t7e8PHxqbXe3d295QESERFRm6PyBCskJASjR49GfHw89PT0lLZVVlZi4cKFWLx4Mc6ePavqUOoUHx8PJycn2NvbY/PmzQgPD29xXT4+Pli3bp14wREREVGbpPIE69tvv0VcXFyt5Ar46+XPb731FgYNGqTqMOr1wgsvaKxtIiIiap9UnmB169YN3333Xb1PFH733XewsrJSdRhqkZOTg127duHx48ewsbGBn58fevbsqemwiIiISM1UnmAtXboU8+fPx3fffYdRo0YpXovz66+/4vTp03j33XexefNmVYehFkePHsXRo0cVy/r6+liyZAm2bt1aZw8eERERtU8qT7DeeOMNWFpaYteuXdizZw+qqqoAAHp6enjuuecQHx+PGTNmqDoMlbK0tMTmzZsxbtw4ODg4oKSkBBcuXMDKlSuxc+dOSCQSbN++vdF65HK50rKRkRGMjIxUFTYRERH9n7KyMpSVlSmWn74mN5dapmmYOXMmvvnmGzx69AgFBQUoKCjAo0eP8M0337T55AoAXF1dsWLFCri6usLExARWVlYYP348UlJSYGlpiT179uDBgweN1mNrawtzc3PFT3R0tBqiJyIioujoaKVrsK2tbavqU+tEowYGBrC2toa1tTUMDNr/y2q7d++O8ePHo7KyEpmZmY2Wz8/Ph0wmU/y05olGIiIiarrw8HCla3B+fn6r6tP4W3B///13fP7555g9e7amQ1GJrl27AgBKSkoaLWtmZgYzMzNVh0RERERPEXtYjsZflXP79m0EBwdrOgyVqem5cnBw0GwgREREpDYq78G6fft2g9vv3r2r6hBEU1hYiMLCQnTt2lXRMwUAly5dwuDBg2uV3717N1JSUuDk5ARPT091hkpEREQapPIEy8HBARKJpN7tgiA0uF3V4uPjce7cOQDA9evXFetSU1MBACNGjMD8+fMBADExMYiMjERERITSjO2TJ0+GgYEBPDw8YGNjg5KSEly8eBGXL19G586dkZiYyGkaiIiIdIjKE6wuXbpgw4YN8Pb2rnN7dnY2pk6dquow6nXu3DkcOnRIaV1GRgYyMjIUyzUJVn0WL16MkydPIj09HUVFRZBKpbC3t8ebb76JsLAw2NjYqCR2IiIi0k4qT7AGDx6M33//Ha6urnVur6yshCAIqg6jXgkJCUhISGhS2XXr1tX5rsEVK1ZgxYoV4gZGREREbZbKE6zFixc3+ASdnZ0dDh48qOowiIiIiNRG5QnWxIkTG9zepUsXzJkzR9VhEBEREamNxqdpICIiImpvRO/Bmjt3bqNlpFIpzMzM0KdPH4wbNw49e/YUOwwiIiIijRE9wUpISFBMu1DX4HWJRKK0fsmSJVi7di1Wr14tdihEREREGiH6LcIbN25g3LhxsLKywqZNm5CWlobs7GykpaVh06ZN6NatG15++WVkZmYiLi4OPXr0QEREBI4dOyZ2KEREREQaIXoP1rFjx5CZmYmrV6+iW7duivXOzs4YOXIkgoKC4O7ujpSUFCxfvhyBgYFwcXHBvn37MG3aNLHDISIiIlI70Xuw/vnPf2Lq1KlKydWTunfvjilTpuDAgQMAgJ49e2LcuHG4evWq2KEQERERaYToCdadO3cafRt1hw4dcOfOHcWynZ0dSktLxQ6FiIiISCNET7B69uyJTz75pN6EqbS0FJ988onSk4MPHjxAly5dxA6FiIiISCNET7DmzZuHGzduYMSIEfjss89QVFQEACgqKsJnn32GESNG4ObNm0rTOZw9exYDBw4UO5Q2x9PTEy4uLoiNjdV0KERERDopNjYWLi4u8PT0bFU9og9yX758OX788UckJiYqZnGXSqWorq4G8NfUDTNnzsTKlSsBAL/++ivGjh2L0aNHix1Km5OVlQUzMzNNh0FERKSzQkJCEBISArlcDnNz8xbXI3qCpaenh8OHDyMoKAhHjhzBtWvXIJfLYWZmhoEDB+L//b//h1GjRinKd+vWDTt37hQ7DCIiIiKNUdm7CP38/ODn56eq6omIiIi0Ft9FSERERCQylfVgZWRkICEhAVeuXFHcInR3d8ecOXMwYsQIVTVLREREpHEqSbCWLl2KPXv2KN45WPP+wUuXLuG9997DG2+8gR07dqiiaSIiIiKNE/0W4aFDh7B79244OTnh/fffx927d1FZWYl79+7h6NGjcHZ2xu7du3H48GGxmyYiIiLSCqInWO+88w5sbGyQmZmJGTNmoHv37pBIJOjWrRumT5+OixcvomfPnti3b5/YTRMRERFpBdETrO+//x6TJ0+ud+4Ic3NzTJ48Gd9//73YTRMRERFpBY08RSiRSDTRLBEREZFaiJ5gubq64vjx4yguLq5z+59//onjx4/D1dVV7KZbJDExEYsWLYKHhweMjIwgkUiQkJDQ7Hqqq6uxd+9euLm5wdjYGJaWlpgxYwZu3rwpftBERESk1URPsBYtWoQ7d+5g2LBhOH78OAoLCwEAhYWF+Oijj/C3v/0Nd+7cweLFi8VuukVWr16NuLg45OXlwdrausX1LFq0CKGhoRAEAaGhoRg9ejQ+/vhjeHp6IicnR8SIiYiISNuJPk1DcHAwLl++jJiYGEydOhVA7XcRLlmyBHPmzBG76RaJj4+Hk5MT7O3tsXnzZoSHhze7jpSUFMTHx8PLywunTp2CoaEhAGDmzJkYM2YMXn/9dZw8eVLs0ImIiEhLqWQerD179mDKlCm1Jhp97rnnMGfOHIwcOVIVzbbICy+80Oo6Dhw4AADYsGGDIrkCgMDAQPj4+CA5ORm3b9+GnZ1dq9siIiIi7aeymdxHjhypVYmUKqWmpsLExATDhw+vtS0gIACpqalIS0vDrFmzNBAdERERqZvKEixdUVJSgnv37qF///7Q09Ortd3JyQkAmjQOSy6XKy0bGRnByMhInECJiIioXmVlZSgrK1MsP31Nbq5WJ1hz585t0X4SiQT//Oc/W9u8xslkMgCod94vMzMzpXINsbW1VVqOiIjAunXrWhcgERERNSo6OhqRkZGi1dfqBKslUxoA7SfBElN+fr4iIQPA3isiIiI1CQ8Px7JlyxTLcrm8VsdHc7Q6wcrNzW1tFW1aTc9VfT1UNV2M9fVwPcnMzEwpwSIiIiL1EHtYTqsTLHt7ezHiaLNMTExgbW2N3NxcVFVV1RqHVTP2qmYsFhEREbV/GnlVTnvj7e2NkpISZGRk1NpWM/+Vl5eXusMiIiIiDWGC1QyFhYXIzs5WzE5fY+HChQCANWvWoLy8XLE+KSkJqamp8Pf31/mePiIiIl2i89M0xMfH49y5cwCA69evK9alpqYCAEaMGIH58+cDAGJiYhAZGVnr6T5fX1/Mnz8f8fHxGDRoEMaOHYt79+7h2LFjsLCwwN69e9V6TERERKRZOp9gnTt3DocOHVJal5GRoXS7rybBasj+/fvh5uaGuLg47N69G6amppg4cSKioqLQq1cv0eMmagpBEFDxqEJt7VU+qkR5SXnjBUVg0NEAEolELW0RETWXzidYCQkJTZ5qYt26dfXOSyWVShEaGorQ0FDxgiNqpYpHFdhjukfTYahEaHEoDE0MGy9IRKQBHINFREREJDKV9WBdu3YNV65cwezZs+tcJiLVM+hogNDiUOR+pZ756h4+fAhLS0uVt+M4xhEGHQ1U3g4RUUupLMH697//jfXr1ysSqqeXiUj1JBIJDE0Mod9BPaMB9Iz01NIWbw0SkbbjLUIiIiIikTHBIiIiIhIZEywiIiIikTHBIiIiIhIZEywiIiIikTHBIiIiIhIZEywt4unpCRcXF8TGxmo6FCIiIp0UGxsLFxcXeHp6tqoenX9VjjbJysqCmZmZpsMgIiLSWSEhIQgJCYFcLoe5uXmL62EPFhEREZHImGARERERiUxlCZa5uTns7OzqXSYiIiJqr1SWYL355pvIzc2td5mIiIioveItQiIiIiKRMcEiIiIiEhkTLCIiIiKRMcEiIiIiEhknGm2nBEFAxaMKtbVX+agS5SXlamnLoKMBJBKJWtoiIiJqCdESrAsXLuAf//gHsrKyIJFIMHToUERFRWHIkCFiNaEyWVlZiIiIwPnz51FRUQE3NzcsW7YMU6dObdL+CQkJCA4Ornd7SkoKfHx8RIq2aSoeVWCP6R61tqkuocWhMDQx1HQYRERE9RIlwbp+/TpGjRqF0tJSxbrTp0/j/Pnz+Oabb+Dq6ipGMyqRkpKCgIAAdOjQAdOnT0enTp1w/PhxTJs2Dfn5+QgLC2tyXePHj4e7u3ut9Q4ODuIFTERERFpPlARr8+bNKC0txT/+8Q8sWbIEwF8vS9ywYQO2bNmCw4cPi9GM6CorK7FgwQJIpVKkp6crkqO1a9diyJAhWLVqFV555RXY29s3qb4JEyYgKChIdQE3g0FHA4QWhyL3K/XMPfbw4UNYWlqqvB3HMY4w6Gig8naIiIhaQ5QE6+zZsxgxYgQ2bNigWBcZGYnU1FSkpaWJ0YRKnDlzBjdu3EBwcLBSz5O5uTlWrVqFoKAgHDp0CGvXrtVckC0kkUhgaGII/Q7qGWanZ6SnlrZ4a5CIiNoCUa6Iv/76K6ZPn15r/dChQ5GZmSlGEyqRmpoKAPD396+1LSAgAACalSBevnwZRUVFqKyshIODA1544QU888wzosRKREREbYcoCVZFRQVMTU1rrTcxMUFFhfqeZGuunJwcAICTk1Otbd27d4epqamiTFPs2aM8qNzY2BgRERFYsWJFk/aXy+VKy0ZGRjAyMmpy+0REVL+ap6srSys1HYqoykvK+XS1CMrKylBWVqZYfvqa3Fw6PU2DTCYD8NctwbqYmZkpyjTE0dERe/fuRUBAAGxsbPDbb7/hzJkzCA8Px8qVK9GxY0fF2LSG2NraKi1HRERg3bp1jR8IERE1ik9XU0Oio6MRGRkpWn2iJViJiYm4ePGi0rpffvkFADBmzJha5SUSCb788kuxmtcob29veHt7K5Z79uyJWbNmYdCgQfDw8MC6deuwePFi6Os3/HHn5+fDzMxMsczeKyIiIvUIDw/HsmXLFMtyubxWx0dziJZg/fLLL4qE6mknTpyotU4bujJreq7q66WSy+Xo0qVLi+t3dXXFiBEj8PXXX+PHH3+Em5tbg+XNzMyUEiwiIhJPzdPV7RGfrm49sYfliJJg5eaqZyoAsdWMvcrJycHgwYOVtt2/fx/FxcWtnii1a9euAICSkpJW1UNERK1T83Q1kTqIkmA1dZ4obePt7Y3o6GgkJyfXegry5MmTijItVVVVhW+//RZA2/2MiIiIqPlU9rLngoICfPvtt/j2229RUFCgqmZaZdSoUXj22Wdx9OhRXLlyRbFeJpNh06ZNMDQ0xOzZsxXr7927h+zs7Fq3FC9dulSr7qqqKqxcuRK//PILfH19YW1trbLjICIiIu0i6lOExcXF2LZtG957771aSVXPnj0xb948hIWF1Tmlgybo6+sjPj4eAQEB8PLyUnpVTl5eHrZt26b0mpvw8HAcOnQIBw8eVJqx3cPDAwMGDMCAAQPQs2dP/Pbbb0hLS8PPP/8MGxsbxMfHq//giIiISGNES7Bu3LiBwMBA3LhxA4IgoEePHorR9/n5+bhz5w7Wr1+Po0eP4sSJE3B0dBSr6Vbx9fXFuXPnEBERgWPHjile9rxlyxZMmzatSXWEhYXh4sWLOHXqFH777TcYGhqid+/eWL16NZYtW9aqgfJERETU9oiSYJWVlWHs2LH45ZdfMHPmTKxZswZ9+vRRKvPTTz9h48aNeP/99zFmzBhcuXJFa6YhGDJkCJKSkhotl5CQgISEhFrrt23bpoKoiIiIqK0SZQzWO++8g59//hkRERFITEyslVwBQJ8+fXDkyBFERkbip59+wrvvvitG00RERERaR5QE6/jx4+jdu3eTXoq8evVqODk54X//93/FaJqIiIhI64iSYP3www/w9/dv0uShEokE/v7++PHHH8VomoiIiEjriJJglZSU1Ps+v7qYmZlx4k0iIiJqt0RJsKysrOp9TU5dbty4AUtLSzGaJiIiItI6oiRYw4YNQ1JSEu7fv99o2fv37+PLL7/E8OHDxWiaiIiISOuIkmC99tprKC4uxsSJE1FYWFhvuaKiIkycOBGPHj3CwoULxWiaiIiISOuIMg+Wr68vFixYgAMHDqBfv35YtGgR/Pz8lCYaPX36NA4cOIDCwkLMmzcPfn5+YjRNREREpHVEm8l93759MDMzw86dOxEdHY3o6Gil7YIgQCqVYunSpXj77bfFapaIiIhI64iWYOnp6WHr1q1YuHAhEhIScOHCBcWYrO7du+Nvf/sbZs+eDWdnZ7GabHc8PT2hp6eHkJAQhISEaDocIiIinRMbG4vY2FhUVVW1qh5RX/YMAE5OToiKihK7Wp2QlZUFMzMzTYdBRESks2o6OeRyebOmoHqaKIPciYiIiOi/mGARERERiYwJFhEREZHImGARERERiYwJFhEREZHImGARERERiYwJFhEREZHImGARERERiUz0iUaJSHsIgoCKRxWoLK1US3tVZVVqaau8pBwGHQ0gkUhU3hYRUUswwcJfM6hHRETg/PnzqKiogJubG5YtW4apU6c2uY6ysjJs2bIFR44cQX5+PiwsLDBu3Dhs3LgRVlZWKoyeqH4Vjyqwx3SPpsNQidDiUBiaGGo6DCKiOul8gpWSkoKAgAB06NAB06dPR6dOnXD8+HFMmzYN+fn5CAsLa7SO6upqjB8/HidPnsTzzz+PyZMnIycnB/Hx8Th9+jQuXrwIS0tLNRwNERFR/dirrT46nWBVVlZiwYIFkEqlSE9Ph7u7OwBg7dq1GDJkCFatWoVXXnkF9vb2DdZz6NAhnDx5EjNmzMD777+v+ILfffddLF68GKtXr8b+/ftVfThEtRh0NEBocaja2su/nQ9bO1u1tGXQ0UAt7RC1J+zVVh+dTrDOnDmDGzduIDg4WJFcAYC5uTlWrVqFoKAgHDp0CGvXrm2wngMHDgAAoqOjlbLnRYsWYevWrXj//fexa9cuGBsbN1hPSUkJ9PT0Wn5AdSgtLRW1vvqUl5erpa2SkpJm76Ouz0BdWvIZqEultBIVqFBLWxWPmtcOz4P29/cA0O7fB21UUaKe309NeFTySNS/P609t3Q6wUpNTQUA+Pv719oWEBAAAEhLS2uwjtLSUmRmZqJPnz61erokEglefPFF7N+/H99++y1GjhzZYF179uxBhw4dmnEEjdP7SdyETdOqfqhq9j78DHScAKAC0MtpZ+fBlSrAAEAz7oi0t98FgL8PzSYAWKXpIFRj977dzfp9aExr/ydBpxOsnJwcAICTk1Otbd27d4epqamiTH1u3LiB6urqOut4su6cnJxGE6yysjKlZX19fejrt/Ar+r+LCtRzm119ytHsiwrpuArAZJOJpqNQiZJVJYD23BGhtkACnjP1qKysRGXlfy+aT1+Tm0unEyyZTAbgr1uCdTEzM1OUaU0dT5ZryM6dO5WWvb294evr2+h+deJFhYiIqMnOnj3b6F2r5tDpBEvbLF26FEZGRorlFvdeEdF/GfxfUt4ecZw/kWhGjhyJYcOGKZbLyspqdXw0h05fwWt6nerrXZLL5ejSpUur63iyXEPeeustRY9XawmCgMo31Hd/sKCgAD179lRLW/od9Zv1KO6tr26pLhgNcBjjoOkQ6nXnzh3Y2NhoOgyqh7p+FwoLC9G1a1e1tKXNvw/Utv8myOVyJlgt9eT4qMGDByttu3//PoqLizFkyJAG63j22WchlUrrHavV0Divp5mYmMDERMTbeqbiVdUY2WMZOlt1Vl+DzSD2gwOaJuo5IrIOHTpodXy6Tl2/C4aGhmpri+ebdmvLfxOqqlr3AIVOJ1je3t6Ijo5GcnIypk+frrTt5MmTijINMTY2xpAhQ3Dx4kXk5eUpPUkoCAJOnToFExMTeHh4iH8A1CB1T6inLto4oR4RESnT6QRr1KhRePbZZ3H06FGEhoYq5sKSyWTYtGkTDA0NMXv2bEX5e/fuQSaTwdraWumW38KFC3Hx4kWEh4crTTS6f/9+3Lx5EwsXLmx0DiwSHyfUIyIiTZFqOgBN0tfXR3x8PKqrq+Hl5YWFCxciLCwMAwcOxM8//4xNmzbBwcFBUT48PBz9+vXDv//9b6V65syZg4CAAHzwwQf429/+hpUrV+KVV17B//zP/8DR0REbN25U85ERERGRJul0DxYA+Pr64ty5c4iIiMCxY8cUL3vesmULpk2b1qQ6pFIpPv30U2zevBlHjhzBzp07YWFhgXnz5mHjxo18D6GGqPs1MerE18QQEWk3iSAIgqaD0HVyuRzm5uaQyWSiPUWobk+PPyPdxPNAu934/IZa2nnw4AGsrKzU0lavl3qppR1qmbb8N6G112advkVIREREpAo6f4uQiKi9U/cTtVVlVWpri0/VkrZigkVE1M615ydqAT5VS9qJtwiJiIiIRMYeLCKidk7dT9Tm386HrZ2t2trjU7WkjZhgERG1cxKJRK230PQ76vOWHek83iIkIiIiEhkTLCIiIiKRMcEiIiIiEhkTLC3i6ekJFxcXxMbGajoUIiIinRQbGwsXFxd4enq2qh4OctciWVlZbfZVOURERO1BSEgIQkJCFK/KaSn2YBERERGJjAkWERERkciYYBERERGJjAkWERERkciYYBERERGJjAkWERERkciYYBERERGJjAkWERERkciYYBERERGJTOcTLLlcjmXLlsHe3h5GRkZwcHDAW2+9heLi4mbVI5FI6v0JCgpSTfBERESklXT6VTklJSXw9vbGlStX4O/vjxkzZuDy5cvYtm0b0tLSkJ6ejg4dOjS5Pnt7+zqTKXd3d/GCJiIiIq2n0wnW22+/jStXrmDFihXYvHmzYv3KlSuxZcsW7Ny5E+Hh4U2uz8HBAevWrVNBpERERNSW6OwtQkEQEB8fD1NTU6xZs0Zp25o1a2Bqaor4+HgNRUdERERtmc72YOXk5ODu3bsICAiAiYmJ0jYTExMMHz4cJ0+eRH5+PmxtbZtU5x9//IG4uDgUFhbCwsICw4cPh5ubmyrCJyIiIi2m0wkWADg5OdW53cnJCSdPnkROTk6TE6yrV69i0aJFSutGjx6NQ4cOwcrKqtH95XK50rKRkRGMjIya1DYRERG1XFlZGcrKyhTLT1+Tm0tnbxHKZDIAgLm5eZ3bzczMlMo1JiwsDOfPn0dhYSHkcjnOnz+PwMBAnDhxAuPGjUNVVVWjddja2sLc3FzxEx0d3cSjISIiotaIjo5WugY3tXOlPm2+ByssLEwp42zMG2+8UW+vVWts27ZNaXnYsGH44osv4Ofnh7S0NHz66aeYNGlSg3Xk5+crEjsA7L0iIiJSk/DwcCxbtkyxLJfLW5VktfkEa//+/SgpKWly+VdeeQVOTk6Knqv6eqhqugbr6+FqCqlUigULFiAtLQ0ZGRmNJlhmZmZKCRYRERGph9jDctp8gtXcCUFr1PRi1YzFelpjY7SaqmvXrgDQrCSQiIiI2jadHYPl5OSEHj16ICMjo1byU1JSgoyMDDg6Orb6HmxmZiaAv+bIIiIiIt2gswmWRCLB/PnzUVxcjA0bNiht27BhA4qLi7FgwQKl9Y8ePUJ2djZu376ttP769euoqKio1cb58+exZcsWGBgYYMqUKeIfBBEREWmlNn+LsDWWL1+OTz/9FFu2bMHly5cxaNAgfPfdd0hOToanpyfefPNNpfLffPMNfH194e3tjdTUVMX67du348svv8SIESNga2sLAwMDfP/990hOToZEIkFsbCx69eql3oMjIiIijdHpBMvExARpaWlYt24djh8/jpSUFFhbWyMsLAwREREwNjZuUj3jx4/HH3/8gatXr+LUqVMoLy9H9+7dMX36dLz55psYMmSIio+EiIiItIlEEARB00HoOrlcDnNzc8hksjb7FGFeXh7s7e01HQZpGM8DAnge0H+15XOhtddmnR2DRbpp586dcHV1hampKTp37gw/Pz/FgwgAsG7dOkgkEqUfDw8PDUZMqtTY+SCXy/H666/D1tYWHTt2xKhRo5Cdna3BiEkdFi9eDIlEgpiYGMW6jz/+GC+++CIsLCwgkUhw69YtzQVIbQITLNIp9vb22LFjB65evYrz58+jd+/eCAgIQFFRkaLMwIEDce/ePcXPyZMnNRgxqVJj58P8+fNx7tw5HDt2DFeuXEHfvn3x4osvtnh6GNJ+X3zxBS5cuIAePXoorS8pKYGXlxfWr1+vociozRFI42QymQBAkMlkmg6lxW7duqXpEFqk5rNPTU0VBEEQIiIihMGDB6ukrdzcXAGAMGfOHJXUrw3a6nlQ48nz4dGjR4Kenp5w4sQJxfaqqirByspKiIuL02CU2q+tngf3798XbGxshGvXrgn29vbC3r17a5W5fv26AEDIzc1Vf4BtUFs9FwSh9ddm9mCRziovL0dcXBy6dOkCNzc3xfoff/wR1tbW6N27N4KDg3H//v0G67l06RLmzZsHJycnmJiYwNjYGL169cKsWbNw6tQpVR8GieTp86GyshJVVVVKD7tIpVIYGhoiIyNDad9bt25BIpFg9OjRdda9e/duSKVS2NnZ4aefflLpcVDLBQcHIzQ0VOnvQXPxXKAaTLBI55w9exampqYwNjbGzp07cerUKVhYWAAAhg4dioSEBCQnJyMmJgbff/89/Pz86nzfZXV1NZYtWwYPDw8cPnwYzz77LF577TW88cYbGDx4ML788kv4+/vXmmeNtEt950OnTp0wdOhQrF+/Hg8ePEBFRQW2bduGO3fu4N69e02uf+3atXjzzTfRp08fZGRkoE+fPio8GmqpmJgYlJSUICwsTGVt8FzQLTo9TQPpJg8PD1y5cgVFRUU4cOAApk6diszMTHTt2hWBgYGKcm5ubhg8eDDs7OzwxRdfYPLkyUr1rF69Gjt37oS7uzs++uijWnOdPX78GDExMUrju0j7NHQ+JCYmYs6cOejWrRv09PTg4+NTb8/E0wRBwJIlSxAbGwsPDw8kJSUpXp1F2iU7OxsbNmxAZmYmpFLx+x14Lugm9mCRzjE2Nkbv3r0xdOhQxMfHQyqV4uDBg3WWtbS0hIODA3Jzc5XW//LLL3j77bfxzDPP4MSJE3VOJGtsbIy33noLkZGRKjkOEkdD50Pv3r2RkZEBuVyOu3fv4uuvv8bvv/8OR0fHBuusqKjAq6++itjYWPj5+eHMmTO8oGqxixcv4uHDh+jduzf09fWhr6+PvLw8vPHGG3B3d29V3TwXdBd7sEjnCYJQ5y1AAPj999+Rl5dX612SCQkJqKqqwqJFi9CtW7cG6xfz7eykenWdD506dUKnTp1w8+ZNfPvtt1i3bl29+z9+/BivvPIKvvrqK0ycOBEffPABzwEtN2HChFrTsQQEBCAoKAjBwcEtrpfngm5jgkU6ZcWKFXj55ZdhY2OD3377Dfv27cOdO3cUt//eeustvPTSS7Czs8OdO3ewatUq9OzZE2PGjFGqp2aQs5+fn9qPgcTT2Plw4sQJSKVS9O7dGz/88APeeOMNjB07tt7bhHK5HP7+/jh37hzmzp2LuLg46OnpqfOQqAU6d+6Mzp07K60zMDBQPOwCAL/99htu376NGzduAAB++OEH/PHHH7Czs1OM4XwSzwVigqVFPD09oaenh5CQEISEhGg6nHbp7t27mD59Oh48eAALCwt4enri7Nmz6NevHwAgPz8f06dPR2FhIbp16wZvb28cOXIEHTt2VKqn5slCGxsbtR8Diaex8+H333/HqlWrUFBQACsrK7z66qsN9l5duHABADBs2DD885//VMchkJp89tlnSr1ZY8eOBQAcPHgQQUFBtcrzXGi7YmNjERsbi6qqqlbVw1flaAG+Kqft6devH7Kzs5Gdnd3kJ4Fu3boFR0dHzJkzBwkJCaoNUEN07TyoUfPduri44I8//sDdu3cRGRmJtWvXajo0jdDV8wDgufC0tnwu8FU5RBrQvXt3AEBBQYGGIyFtYmtri7S0NNjY2CAiIgIRERGaDok0hOcCMcEiaoHhw4cDAE6fPq3hSEjb9O7dG2lpabCzs8P69euxevVqTYdEGsJzQbcxwSJqgaCgIOjp6SEuLg4PHz5ssGx9TyhS+/Xss88iNTUV9vb2iIqKQnh4uKZDIg3huaC7mGARtUDv3r2xfPlyFBYWIjAwsNY8WQBQWlqKHTt2NDgomtovR0dHpKWlwdHREZs3b8by5cs1HRJpCM8F3cSnCIlaaOPGjSgtLcXOnTvRp08f+Pn5oX///jAwMEBubi6+/vprFBUVYePGjZoOlTTE3t4eaWlp8PX1xdatW1FVVYXt27drOizSAJ4LuocJFlELSaVS7NixAzNnzsQ777yD9PR0pKeno7q6GtbW1ggICEBwcDBeeOEFTYdKGlQz2NnX1xc7duxAVVUVdu3apemwSAN4LugWTtOgBThNA7UXPA8I4HlA/9WWzwVO00BERESkZZhgEREREYlMpxOsK1euYNWqVQgICIClpSUkEgl8fHxaXF9WVhbGjBmDzp07w8TEBM8//zw+/PBD8QImIiKiNkGnB7l/8skniI6OhqGhIZydnVFYWNjiulJSUhAQEIAOHTpg+vTp6NSpE44fP45p06YhPz8fYWFhIkZORERE2kyne7CmTJmCS5cuobi4GKdOnWpxPZWVlViwYAGkUinS09MRFxeH7du34+rVq3B2dsaqVauQl5cnYuRERESkzXQ6wXJ1dcWgQYNgYGDQqnrOnDmDGzduYObMmXB3d1esNzc3x6pVq1BeXo5Dhw61MloiIiJqK3Q6wRJLamoqAMDf37/WtoCAAABAWlqaOkMiIiIiDdLpMVhiycnJAQA4OTnV2ta9e3eYmpoqyjRELpcrLRsZGcHIyEicIImIiKheZWVlSu+Offqa3FxMsEQgk8kA/HVLsC5mZmaKMnWpmevV1tZWaf3KlSvbzItB//zzz1afjNT28TwggOcB/VdbOheio6OxefPmWutbOh97m0+wwsLClDLOxrzxxht19jRpo82bN9f5ZRMREZF2a/MJ1v79+1FSUtLk8q+88oroCVZNz1V9vVRyuRxdunSpd//GeriIiIhIMzp16tSi/dp8glVcXKzpEBQJW05ODgYPHqy07f79+yguLsaQIUPq3V8ikbTZdxASERFRbXyKUATe3t4AgOTk5FrbTp48qVSGiIiI2j8mWM1QUVGB7Oxs3LhxQ2n9qFGj8Oyzz+Lo0aO4cuWKYr1MJsOmTZtgaGiI2bNnqzlaIiIi0pQ2f4uwNbKzsxWDyB8/fqxYFxQUpCiTkJCg+HdBQQH69esHe3t73Lp1S7FeX18f8fHxCAgIgJeXl9KrcvLy8rBt2zY4ODio4YiIiIhIG0iElj5/2A6kpqbC19e3wTJPfjy3bt2Co6NjrQSrxjfffIOIiAicP38eFRUVcHNzw7JlyzBt2jSxQyciIiItptMJFhEREZEqcAwWERERkciYYBERERGJjAkWERERkciYYBERERGJjAkWERERkciYYBERERGJjAkWERERkciYYBERERGJjAkWERERkciYYBERERGJjAkWERERkciYYBERERGJjAkWERERkciYYBERERGJjAkWERERkciYYBERERGJjAkWERERkciYYBERERGJ7P8DscXWwCUV0XcAAAAASUVORK5CYII=", "text/html": [ "\n", "