{
"cells": [
{
"cell_type": "markdown",
"id": "3bbe8002-bdf3-490c-bde0-80dd3713a3d0",
"metadata": {},
"source": [
"## Association/Dissociation reaction `A + B <-> C`\n",
"#### with 1st-order kinetics for each species, taken to equilibrium.\n",
"#### Exploration of debugging and diagnostics options\n",
"(Adaptive variable time steps are used)\n",
"\n",
"_See also the experiment \"1D/reactions/reaction_4\"_ \n",
"\n",
"LAST REVISED: July 14, 2023"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "d28567a7-ae12-4df6-bf2f-8ea7b132596c",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Added 'D:\\Docs\\- MY CODE\\BioSimulations\\life123-Win7' to sys.path\n"
]
}
],
"source": [
"import set_path # Importing this module will add the project's home directory to sys.path"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "4bbaa8f3",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"from experiments.get_notebook_info import get_notebook_basename\n",
"\n",
"from src.modules.chemicals.chem_data import ChemData as chem\n",
"from src.modules.reactions.reaction_dynamics import ReactionDynamics\n",
"\n",
"from src.modules.visualization.graphic_log import GraphicLog"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "83c3cc5f-de21-4f66-9988-2806fbf0666d",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"-> Output will be LOGGED into the file 'react_3.log.htm'\n"
]
}
],
"source": [
"# Initialize the HTML logging (for the graphics)\n",
"log_file = get_notebook_basename() + \".log.htm\" # Use the notebook base filename for the log file\n",
"\n",
"# Set up the use of some specified graphic (Vue) components\n",
"GraphicLog.config(filename=log_file,\n",
" components=[\"vue_cytoscape_1\"],\n",
" extra_js=\"https://cdnjs.cloudflare.com/ajax/libs/cytoscape/3.21.2/cytoscape.umd.js\")"
]
},
{
"cell_type": "markdown",
"id": "9329208b-070f-4902-8f37-0f11ddf75ed6",
"metadata": {},
"source": [
"# Initialize the System\n",
"Specify the chemicals and the reactions"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "72b4245c-de4e-480d-a501-3495b7ed8bc4",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Number of reactions: 1 (at temp. 25 C)\n",
"0: A + B <-> C (kF = 5 / kR = 2 / Delta_G = -2,271.45 / K = 2.5) | 1st order in all reactants & products\n"
]
}
],
"source": [
"# Specify the chemicals\n",
"chem_data = chem(names=[\"A\", \"B\", \"C\"])\n",
"\n",
"# Reaction A + B <-> C , with 1st-order kinetics for each species\n",
"chem_data.add_reaction(reactants=[\"A\" , \"B\"], products=[\"C\"],\n",
" forward_rate=5., reverse_rate=2.)\n",
"\n",
"chem_data.describe_reactions()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "cb582868-431c-4022-aa0e-a2f554f80d6c",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[GRAPHIC ELEMENT SENT TO LOG FILE `react_3.log.htm`]\n"
]
}
],
"source": [
"# Send a plot of the network of reactions to the HTML log file\n",
"graph_data = chem_data.prepare_graph_network()\n",
"GraphicLog.export_plot(graph_data, \"vue_cytoscape_1\")"
]
},
{
"cell_type": "markdown",
"id": "98a9fbe5-2090-4d38-9c5f-94fbf7c3eae2",
"metadata": {},
"source": [
"# Start the simulation"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "c2f4a554-807b-49f9-8ca2-8d929fe6eeef",
"metadata": {},
"outputs": [],
"source": [
"dynamics = ReactionDynamics(chem_data=chem_data)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "ae304704-c8d9-4cef-9e0b-2587bb3909ef",
"metadata": {},
"outputs": [],
"source": [
"# Initial concentrations of all the chemicals, in index order\n",
"dynamics.set_conc([10., 50., 20.], snapshot=True)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "a605dacf-2c67-403e-9aa9-5be25fc9f481",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SYSTEM STATE at Time t = 0:\n",
"3 species:\n",
" Species 0 (A). Conc: 10.0\n",
" Species 1 (B). Conc: 50.0\n",
" Species 2 (C). Conc: 20.0\n"
]
}
],
"source": [
"dynamics.describe_state()"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "0ff2c242-a15b-456d-ad56-0ba1041c0b4c",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" B | \n",
" C | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.0 | \n",
" 10.0 | \n",
" 50.0 | \n",
" 20.0 | \n",
" Initial state | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B C caption\n",
"0 0.0 10.0 50.0 20.0 Initial state"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dynamics.get_history()"
]
},
{
"cell_type": "markdown",
"id": "fc516ca2-e62d-4784-b826-5372ff7f4c75",
"metadata": {
"tags": []
},
"source": [
"## Run the reaction"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "2502cd11-0df9-4303-8895-98401a1df7b8",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"* INFO: the tentative time step (0.004) leads to a least one norm value > its ABORT threshold:\n",
" -> will backtrack, and re-do step with a SMALLER delta time, multiplied by 0.5 (set to 0.002) [Step started at t=0, and will rewind there]\n",
"* INFO: the tentative time step (0.002) leads to a least one norm value > its ABORT threshold:\n",
" -> will backtrack, and re-do step with a SMALLER delta time, multiplied by 0.5 (set to 0.001) [Step started at t=0, and will rewind there]\n",
"* INFO: the tentative time step (0.001) leads to a least one norm value > its ABORT threshold:\n",
" -> will backtrack, and re-do step with a SMALLER delta time, multiplied by 0.5 (set to 0.0005) [Step started at t=0, and will rewind there]\n",
"Some steps were backtracked and re-done, to prevent negative concentrations or excessively large concentration changes\n",
"39 total step(s) taken\n"
]
}
],
"source": [
"dynamics.set_diagnostics() # To save diagnostic information about the call to single_compartment_react()\n",
"\n",
"# All of these settings are currently close to the default values... but subject to change; set for repeatability\n",
"dynamics.set_thresholds(norm=\"norm_A\", low=0.5, high=0.8, abort=1.44)\n",
"dynamics.set_thresholds(norm=\"norm_B\", low=0.08, high=0.5, abort=1.5)\n",
"dynamics.set_step_factors(upshift=1.5, downshift=0.5, abort=0.5)\n",
"dynamics.set_error_step_factor(0.5)\n",
"\n",
"dynamics.single_compartment_react(initial_step=0.004, reaction_duration=0.06,\n",
" variable_steps=True, explain_variable_steps=False,\n",
" snapshots={\"initial_caption\": \"1st reaction step\",\n",
" \"final_caption\": \"last reaction step\"})"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "80fbaee3-bd6f-4197-9270-23374d46a4a7",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" B | \n",
" C | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.000000 | \n",
" 10.000000 | \n",
" 50.000000 | \n",
" 20.000000 | \n",
" Initial state | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.000500 | \n",
" 8.770000 | \n",
" 48.770000 | \n",
" 21.230000 | \n",
" 1st reaction step | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.001000 | \n",
" 7.721948 | \n",
" 47.721948 | \n",
" 22.278052 | \n",
" | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.001500 | \n",
" 6.822960 | \n",
" 46.822960 | \n",
" 23.177040 | \n",
" | \n",
"
\n",
" \n",
" | 4 | \n",
" 0.002000 | \n",
" 6.047459 | \n",
" 46.047459 | \n",
" 23.952541 | \n",
" | \n",
"
\n",
" \n",
" | 5 | \n",
" 0.002500 | \n",
" 5.375236 | \n",
" 45.375236 | \n",
" 24.624764 | \n",
" | \n",
"
\n",
" \n",
" | 6 | \n",
" 0.003000 | \n",
" 4.790104 | \n",
" 44.790104 | \n",
" 25.209896 | \n",
" | \n",
"
\n",
" \n",
" | 7 | \n",
" 0.003500 | \n",
" 4.278941 | \n",
" 44.278941 | \n",
" 25.721059 | \n",
" | \n",
"
\n",
" \n",
" | 8 | \n",
" 0.004000 | \n",
" 3.830995 | \n",
" 43.830995 | \n",
" 26.169005 | \n",
" | \n",
"
\n",
" \n",
" | 9 | \n",
" 0.004500 | \n",
" 3.437373 | \n",
" 43.437373 | \n",
" 26.562627 | \n",
" | \n",
"
\n",
" \n",
" | 10 | \n",
" 0.005000 | \n",
" 3.090659 | \n",
" 43.090659 | \n",
" 26.909341 | \n",
" | \n",
"
\n",
" \n",
" | 11 | \n",
" 0.005500 | \n",
" 2.784622 | \n",
" 42.784622 | \n",
" 27.215378 | \n",
" | \n",
"
\n",
" \n",
" | 12 | \n",
" 0.006000 | \n",
" 2.513990 | \n",
" 42.513990 | \n",
" 27.486010 | \n",
" | \n",
"
\n",
" \n",
" | 13 | \n",
" 0.006500 | \n",
" 2.274277 | \n",
" 42.274277 | \n",
" 27.725723 | \n",
" | \n",
"
\n",
" \n",
" | 14 | \n",
" 0.007000 | \n",
" 2.061644 | \n",
" 42.061644 | \n",
" 27.938356 | \n",
" | \n",
"
\n",
" \n",
" | 15 | \n",
" 0.007500 | \n",
" 1.872792 | \n",
" 41.872792 | \n",
" 28.127208 | \n",
" | \n",
"
\n",
" \n",
" | 16 | \n",
" 0.008000 | \n",
" 1.704872 | \n",
" 41.704872 | \n",
" 28.295128 | \n",
" | \n",
"
\n",
" \n",
" | 17 | \n",
" 0.008500 | \n",
" 1.555413 | \n",
" 41.555413 | \n",
" 28.444587 | \n",
" | \n",
"
\n",
" \n",
" | 18 | \n",
" 0.009000 | \n",
" 1.422268 | \n",
" 41.422268 | \n",
" 28.577732 | \n",
" | \n",
"
\n",
" \n",
" | 19 | \n",
" 0.009500 | \n",
" 1.303562 | \n",
" 41.303562 | \n",
" 28.696438 | \n",
" | \n",
"
\n",
" \n",
" | 20 | \n",
" 0.010000 | \n",
" 1.197654 | \n",
" 41.197654 | \n",
" 28.802346 | \n",
" | \n",
"
\n",
" \n",
" | 21 | \n",
" 0.010500 | \n",
" 1.103105 | \n",
" 41.103105 | \n",
" 28.896895 | \n",
" | \n",
"
\n",
" \n",
" | 22 | \n",
" 0.011250 | \n",
" 0.976421 | \n",
" 40.976421 | \n",
" 29.023579 | \n",
" | \n",
"
\n",
" \n",
" | 23 | \n",
" 0.012000 | \n",
" 0.869918 | \n",
" 40.869918 | \n",
" 29.130082 | \n",
" | \n",
"
\n",
" \n",
" | 24 | \n",
" 0.012750 | \n",
" 0.780288 | \n",
" 40.780288 | \n",
" 29.219712 | \n",
" | \n",
"
\n",
" \n",
" | 25 | \n",
" 0.013500 | \n",
" 0.704791 | \n",
" 40.704791 | \n",
" 29.295209 | \n",
" | \n",
"
\n",
" \n",
" | 26 | \n",
" 0.014250 | \n",
" 0.641153 | \n",
" 40.641153 | \n",
" 29.358847 | \n",
" | \n",
"
\n",
" \n",
" | 27 | \n",
" 0.015000 | \n",
" 0.587476 | \n",
" 40.587476 | \n",
" 29.412524 | \n",
" | \n",
"
\n",
" \n",
" | 28 | \n",
" 0.015750 | \n",
" 0.542179 | \n",
" 40.542179 | \n",
" 29.457821 | \n",
" | \n",
"
\n",
" \n",
" | 29 | \n",
" 0.016875 | \n",
" 0.484816 | \n",
" 40.484816 | \n",
" 29.515184 | \n",
" | \n",
"
\n",
" \n",
" | 30 | \n",
" 0.018000 | \n",
" 0.440819 | \n",
" 40.440819 | \n",
" 29.559181 | \n",
" | \n",
"
\n",
" \n",
" | 31 | \n",
" 0.019125 | \n",
" 0.407050 | \n",
" 40.407050 | \n",
" 29.592950 | \n",
" | \n",
"
\n",
" \n",
" | 32 | \n",
" 0.020813 | \n",
" 0.368149 | \n",
" 40.368149 | \n",
" 29.631851 | \n",
" | \n",
"
\n",
" \n",
" | 33 | \n",
" 0.022500 | \n",
" 0.342763 | \n",
" 40.342763 | \n",
" 29.657237 | \n",
" | \n",
"
\n",
" \n",
" | 34 | \n",
" 0.025031 | \n",
" 0.317892 | \n",
" 40.317892 | \n",
" 29.682108 | \n",
" | \n",
"
\n",
" \n",
" | 35 | \n",
" 0.028828 | \n",
" 0.299973 | \n",
" 40.299973 | \n",
" 29.700027 | \n",
" | \n",
"
\n",
" \n",
" | 36 | \n",
" 0.034523 | \n",
" 0.294024 | \n",
" 40.294024 | \n",
" 29.705976 | \n",
" | \n",
"
\n",
" \n",
" | 37 | \n",
" 0.043066 | \n",
" 0.295518 | \n",
" 40.295518 | \n",
" 29.704482 | \n",
" | \n",
"
\n",
" \n",
" | 38 | \n",
" 0.055881 | \n",
" 0.293836 | \n",
" 40.293836 | \n",
" 29.706164 | \n",
" | \n",
"
\n",
" \n",
" | 39 | \n",
" 0.075103 | \n",
" 0.297939 | \n",
" 40.297939 | \n",
" 29.702061 | \n",
" last reaction step | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B C caption\n",
"0 0.000000 10.000000 50.000000 20.000000 Initial state\n",
"1 0.000500 8.770000 48.770000 21.230000 1st reaction step\n",
"2 0.001000 7.721948 47.721948 22.278052 \n",
"3 0.001500 6.822960 46.822960 23.177040 \n",
"4 0.002000 6.047459 46.047459 23.952541 \n",
"5 0.002500 5.375236 45.375236 24.624764 \n",
"6 0.003000 4.790104 44.790104 25.209896 \n",
"7 0.003500 4.278941 44.278941 25.721059 \n",
"8 0.004000 3.830995 43.830995 26.169005 \n",
"9 0.004500 3.437373 43.437373 26.562627 \n",
"10 0.005000 3.090659 43.090659 26.909341 \n",
"11 0.005500 2.784622 42.784622 27.215378 \n",
"12 0.006000 2.513990 42.513990 27.486010 \n",
"13 0.006500 2.274277 42.274277 27.725723 \n",
"14 0.007000 2.061644 42.061644 27.938356 \n",
"15 0.007500 1.872792 41.872792 28.127208 \n",
"16 0.008000 1.704872 41.704872 28.295128 \n",
"17 0.008500 1.555413 41.555413 28.444587 \n",
"18 0.009000 1.422268 41.422268 28.577732 \n",
"19 0.009500 1.303562 41.303562 28.696438 \n",
"20 0.010000 1.197654 41.197654 28.802346 \n",
"21 0.010500 1.103105 41.103105 28.896895 \n",
"22 0.011250 0.976421 40.976421 29.023579 \n",
"23 0.012000 0.869918 40.869918 29.130082 \n",
"24 0.012750 0.780288 40.780288 29.219712 \n",
"25 0.013500 0.704791 40.704791 29.295209 \n",
"26 0.014250 0.641153 40.641153 29.358847 \n",
"27 0.015000 0.587476 40.587476 29.412524 \n",
"28 0.015750 0.542179 40.542179 29.457821 \n",
"29 0.016875 0.484816 40.484816 29.515184 \n",
"30 0.018000 0.440819 40.440819 29.559181 \n",
"31 0.019125 0.407050 40.407050 29.592950 \n",
"32 0.020813 0.368149 40.368149 29.631851 \n",
"33 0.022500 0.342763 40.342763 29.657237 \n",
"34 0.025031 0.317892 40.317892 29.682108 \n",
"35 0.028828 0.299973 40.299973 29.700027 \n",
"36 0.034523 0.294024 40.294024 29.705976 \n",
"37 0.043066 0.295518 40.295518 29.704482 \n",
"38 0.055881 0.293836 40.293836 29.706164 \n",
"39 0.075103 0.297939 40.297939 29.702061 last reaction step"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dynamics.get_history()"
]
},
{
"cell_type": "markdown",
"id": "b1366038-2dea-4d69-a655-ae464ca22922",
"metadata": {},
"source": [
"## Note: \"A\" (now largely depleted) is the limiting reagent"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "1598a75b-0322-45ac-bf2c-21fd09049966",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"From time 0 to 0.0105, in 21 steps of 0.0005\n",
"From time 0.0105 to 0.01575, in 7 steps of 0.00075\n",
"From time 0.01575 to 0.01913, in 3 steps of 0.00113\n",
"From time 0.01913 to 0.0225, in 2 steps of 0.00169\n",
"From time 0.0225 to 0.02503, in 1 step of 0.00253\n",
"From time 0.02503 to 0.02883, in 1 step of 0.0038\n",
"From time 0.02883 to 0.03452, in 1 step of 0.0057\n",
"From time 0.03452 to 0.04307, in 1 step of 0.00854\n",
"From time 0.04307 to 0.05588, in 1 step of 0.0128\n",
"From time 0.05588 to 0.0751, in 1 step of 0.0192\n",
"(39 steps total)\n"
]
}
],
"source": [
"dynamics.explain_time_advance()"
]
},
{
"cell_type": "markdown",
"id": "9fb5f6b8-dde3-415d-9e90-b8d102bfd748",
"metadata": {},
"source": [
"### Notice how the reaction proceeds in smaller steps in the early times, when the concentrations are changing much more rapidly.\n",
"#### The argument argument _variable_steps=True_ dynamically adjusts the initial_step (which is initially found to be too large, leading to some backtracking"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "226c1b6e-6838-46f3-aab1-9cb20c409724",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
" \n",
" "
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"hovertemplate": "x=%{x}
y=%{y}",
"legendgroup": "",
"line": {
"color": "#636efa",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "",
"orientation": "v",
"showlegend": false,
"type": "scatter",
"x": [
0,
0.010500000000000006,
0.010500000000000006,
0.01575000000000001,
0.01575000000000001,
0.019125000000000014,
0.019125000000000014,
0.022500000000000017,
0.022500000000000017,
0.02503125000000002,
0.02503125000000002,
0.02882812500000002,
0.02882812500000002,
0.03452343750000002,
0.03452343750000002,
0.04306640625000002,
0.04306640625000002,
0.05588085937500002,
0.05588085937500002,
0.07510253906250003
],
"xaxis": "x",
"y": [
0.0005000000000000004,
0.0005000000000000004,
0.0007500000000000007,
0.0007500000000000007,
0.001125000000000001,
0.001125000000000001,
0.0016875000000000015,
0.0016875000000000015,
0.0025312500000000022,
0.0025312500000000022,
0.0037968750000000016,
0.0037968750000000016,
0.005695312499999997,
0.005695312499999997,
0.008542968750000005,
0.008542968750000005,
0.012814453125,
0.012814453125,
0.019221679687500007,
0.019221679687500007
],
"yaxis": "y"
}
],
"layout": {
"autosize": true,
"legend": {
"tracegroupgap": 0
},
"margin": {
"t": 60
},
"shapes": [
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0,
"x1": 0,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.0005,
"x1": 0.0005,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.001,
"x1": 0.001,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.0015,
"x1": 0.0015,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.002,
"x1": 0.002,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.0025,
"x1": 0.0025,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.003,
"x1": 0.003,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.0035,
"x1": 0.0035,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.004,
"x1": 0.004,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.0045000000000000005,
"x1": 0.0045000000000000005,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.005000000000000001,
"x1": 0.005000000000000001,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.005500000000000001,
"x1": 0.005500000000000001,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.006000000000000002,
"x1": 0.006000000000000002,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.006500000000000002,
"x1": 0.006500000000000002,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.007000000000000003,
"x1": 0.007000000000000003,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.007500000000000003,
"x1": 0.007500000000000003,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.008000000000000004,
"x1": 0.008000000000000004,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.008500000000000004,
"x1": 0.008500000000000004,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.009000000000000005,
"x1": 0.009000000000000005,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.009500000000000005,
"x1": 0.009500000000000005,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.010000000000000005,
"x1": 0.010000000000000005,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.010500000000000006,
"x1": 0.010500000000000006,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.011250000000000007,
"x1": 0.011250000000000007,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.012000000000000007,
"x1": 0.012000000000000007,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.012750000000000008,
"x1": 0.012750000000000008,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.013500000000000009,
"x1": 0.013500000000000009,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.01425000000000001,
"x1": 0.01425000000000001,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.01500000000000001,
"x1": 0.01500000000000001,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.01575000000000001,
"x1": 0.01575000000000001,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.01687500000000001,
"x1": 0.01687500000000001,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.018000000000000013,
"x1": 0.018000000000000013,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.019125000000000014,
"x1": 0.019125000000000014,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.020812500000000015,
"x1": 0.020812500000000015,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.022500000000000017,
"x1": 0.022500000000000017,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.02503125000000002,
"x1": 0.02503125000000002,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.02882812500000002,
"x1": 0.02882812500000002,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.03452343750000002,
"x1": 0.03452343750000002,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.04306640625000002,
"x1": 0.04306640625000002,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.05588085937500002,
"x1": 0.05588085937500002,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.07510253906250003,
"x1": 0.07510253906250003,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
}
],
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"sequentialminus": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "Simulation step sizes"
},
"xaxis": {
"anchor": "y",
"autorange": true,
"domain": [
0,
1
],
"range": [
-4.459770728176961e-05,
0.0751471367697818
],
"title": {
"text": "SYSTEM TIME"
},
"type": "linear"
},
"yaxis": {
"anchor": "x",
"autorange": true,
"domain": [
0,
1
],
"range": [
-0.0005400933159722221,
0.02026177300347223
],
"title": {
"text": "Step size"
},
"type": "linear"
}
}
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA+sAAAFoCAYAAAAvu2oWAAAAAXNSR0IArs4c6QAAIABJREFUeF7tnXmcVMW5sN8ZFgEFZBGQiLigAtGIC4obokZFFJOgIqJGRBA1uYlI4IJew8/rVQjE5UtyQcIFt6siKlFRXCIGkSS4XkSDuIG4ICBrRmVYhvl+1ZOe092c7j5dp/pUV59n/klsqt6q87zVZ+bpOm91RW1tba3wAwEIQAACEIAABCAAAQhAAAIQgEDJEKhA1ksmF0wEAhCAAAQgAAEIQAACEIAABCCQIICssxAgAAEIQAACEIAABCAAAQhAAAIlRgBZL7GEMB0IQAACEIAABCAAAQhAAAIQgACyzhqAAAQgAAEIQAACEIAABCAAAQiUGAFkvcQSwnQgAAEIQAACEIAABCAAAQhAAALIOmsAAhCAAAQgAAEIQAACEIAABCBQYgSQ9RJLCNOBAAQgAAEIQAACEIAABCAAAQgg66wBCEAAAhCAAAQgAAEIQAACEIBAiRFA1kssIUwHAhCAAAQgAAEIQAACEIAABCCArLMGIAABCEAAAhCAAAQgAAEIQAACJUYAWS+xhDAdCEAAAhCAAAQgAAEIQAACEIAAss4agAAEIAABCEAAAhCAAAQgAAEIlBgBZL3EEsJ0IAABCEAAAhCAAAQgAAEIQAACyDprAAIQgAAEIAABCEAAAhCAAAQgUGIEkPUSSwjTgQAEIAABCEAAAhCAAAQgAAEIIOusAQhAAAIQgAAEIAABCEAAAhCAQIkRQNYtJuTOabPl9SXLZerEkdKqZXOLM2FoCEAAAhCAAAQgAAEIQAACECglAmUp63PmLZSbJ83cjfN9d4+Vnj261r+uZHney6/JtEmj5ODOHSPPi66sb9pSJdeOvUuO69FVbhgxMG3en6xaLSPG3CH9Tj9+t3+L/AKzDKh73VHPP7mOMtdN1PNgPAhAAAIQgAAEIAABCEAgfgTKSta3Vm+X8ZNnytvvfbSbgCtBnPHIPLl1zFAZ0K93ItPIup0Fj6zb4c6oEIAABCAAAQhAAAIQgIA7BMpK1t9YslyGXD9Rsu2Eql3nj1d+IWf3Oa4kMqQrrbl21kviwvJMQve6Xbg25ggBCEAAAhCAAAQgAAEIQMAEgbKSdfXY8pT7nwr8WHumNCYleGD/Pgm2qY/SJ3fkkzv0SfipO/XqNTWH2XMX7FaHrj5IGDdhetrcMsdPPhnw7PzFabk994xecsvoodK0SWNJzvHd91f4tlm9dn3iMfjrrvhR/RMEqqFfv8wPNZKP0Ku+mddfyKPgmYyO6HZQPY/Mf1Pj7Nu+TRqX5IcuyQtM7Z98Lcnu9nHD5cYJ0yXJI5VVvjdI5jiqfep1Zq4nv/bZ5hjkGvzyXcj8810f/w4BCEAAAhCAAAQgAAEIuEugrGQ9KUhBhSebrCvxS5Xw1Br4zNczPxwIK+uTp86SSwf8sL6GPil0aollCnuumvVUWU+V8GQJQJJV6vUk2321dsNu1x/0Q5BsH0Ckzj/XzrpfaYLfhzBJ6U8VeT9W2d6afk9hZI4T5MMfP45BrqHQvLp7i2HmEIAABCAAAQhAAAIQgIAOgbKSdQXA73C5zJ3bJKhcO+tJqVVtU3fc870eRtZziWXqrnyQA+aSsp5LYDNl1E/qc11/5nxzzeuFBa9L7149Ek8HZJP15PgTxg1POwjQL262GPlKIbLlPvn6ex+slKZN9kh8WJJP1pPzPfrwQ+o/SAl6DdlYq3wtXLykZEo1dG4q9IEABCAAAQhAAAIQgAAEwhMoO1lPIkndJU6+lintpSrr+T5wKETWs33QoJhkim0+WffbyU9dgqmPdWeWB6S2yyba2T7oUH1VnzXrNtZLcT7hzywDyHyrJBnnegojl6wnuaq4qV+9F/QaqrdtS5zor57iKKTEIPxbnggQgAAEIAABCEAAAhCAgAsEylbWM+H77YKWmqwnBXD9xi271XDr7qxnE3DFJ/Pfwsq6iulXh53vQ5Jkrvzq2VPzmCrW2WQ914cT2YQ99fV8ZQ6pc/X72r9CrsHvHAG/+nwXbiTMEQIQgAAEIAABCEAAAhAwSyA2sq6wZQpeqcl6tp3czMPpSnVn3W9pJj8AaNu6Zdohc68vWb7bIXy5dqUzY4fdWc+Ml/ohQ3KnO1s+krvyfk8PFHINmXMo9MwFs7cCokEAAhCAAAQgAAEIQAACpUSgrGRd1UV3OXC/+sPZUkH71W4XS9b9DmMLchp8rjrs1J315LV0aNdabhgxMG09Ze6Om6xZz/cYvPoQQT3W3bvXkWlz8ju4LduJ+bm+ei81aFBW2d5sqTX0yTaZ7PxkPSnUV13Sbzf2Kk7Qmnk11tbqbXL4YQemTZGvtSul2yNzgQAEIAABCEAAAhCAgD0CZSXr2eqQk8L69nsf5fzqtEIOklMp82uf6+T1fI+D+4le8rV8fbMJp3o9Oad+px9fL5i5ToPP9rVvQWRd1WGntvP7sCCX0CYfI8+s41Z9Xn1taf38/aTW7zqzvbX8+uc7DT6Z7/07tquvnfeLH+Qa/NZJricm7N0iGBkCEIAABCAAAQhAAAIQsEGgrGQ9dWczE6bfTmgxdtb95qDGPuX4H+T9nvVC+mbWhifruU19z7rfqff5ZD31gwH19W/JHz/2qYfo5fuedRXH78OKGY/M2+09k+tgu9TGfrX1mfXifvJ+86SZvu9TnWvw+972oPO3cbNgTAhAAAIQgAAEIAABCEAgOgJlJ+vRoWMkmwR4XNwmfcaGAAQgAAEIQAACEIAABIpNAFkvNmHiF4UAsl4UrASFAAQgAAEIQAACEIAABEqEALJeIolgGoURQNYL40VrCEAAAhCAAAQgAAEIQMAtAsi6W/lithCAAAQgAAEIQAACEIAABCAQAwLIegySzCVCAAIQgAAEIAABCEAAAhCAgFsEkHW38sVsIQABCEAAAhCAAAQgAAEIQCAGBJD1GCSZS4QABCAAAQhAAAIQgAAEIAABtwgg627li9lCAAIQgAAEIAABCEAAAhCAQAwIIOsxSDKXCAEIQAACEIAABCAAAQhAAAJuEUDW3coXs4UABCAAAQhAAAIQgAAEIACBGBBA1mOQZC4RAhCAAAQgAAEIQAACEIAABNwigKy7lS9mCwEIQAACEIAABCAAAQhAAAIxIICsxyDJXCIEIAABCEAAAhCAAAQgAAEIuEUAWXcrX8wWAhCAAAQgAAEIQAACEIAABGJAAFmPQZK5RAhAAAIQgAAEIAABCEAAAhBwiwCy7la+mC0EIAABCEAAAhCAAAQgAAEIxIAAsh6DJHOJEIAABCAAAQhAAAIQgAAEIOAWAWTdrXwxWwhAAAIQgAAEIAABCEAAAhCIAQFkPQZJ5hIhAAEIQAACEIAABCAAAQhAwC0CyLpb+WK2EIAABCAAAQhAAAIQgAAEIBADAsh6DJLMJUIAAhCAAAQgAAEIQAACEICAWwSQdbfyxWwhAAEIQAACEIAABCAAAQhAIAYEkPUYJJlLhAAEIAABCEAAAhCAAAQgAAG3CCDrbuWL2UIAAhCAAAQgAAEIQAACEIBADAgg6zFIMpcIAQhAAAIQgAAEIAABCEAAAm4RQNbdyhezhQAEIAABCEAAAhCAAAQgAIEYEEDWY5BkLhECEIAABCAAAQhAAAIQgAAE3CKArLuVL2YLAQhAAAIQgAAEIAABCEAAAjEgUJayvmlLlVw79i559/0ViRTed/dY6dmja9Z05mr/xpLlMuT6ifV9zz2jl9wyeqg0bdI4BsuDS4QABCAAAQhAAAIQgAAEIAABGwTKTta3Vm+X8ZNnSq9jusuAfr3lk1Wr5aYJ0+W2ccPl4M4dd2Ocr/2ceQulU8d2CdlPtu3QrrXcMGKgjXwxJgQgAAEIQAACEIAABCAAAQjEgEDZybqS88lTZsmEG4dLq5bN6wU7Ke+ZOS20vZL3xW8tS9tdr9q6U6q+2xGD5VJ+l9i+VRP5ess22bWrtvwuLgZX1LblHrLl2x2yY+euGFxt+V1i6+aN5bttNVK9vab8Li4GV9Ryz0ays6ZWvq3eGYOrLb9L3LNJQ2nYoCJxD+XHPQJNGjeQZns0kI1V292bPDOWRg0rZe89GyX+Bi33n45tmpb7JRb1+spO1tVj63dMmy1TJ45MyLr6uXPa7MT/+u2GF9o+M9Ytt9wiN4y+UZSwJ38+WLZU1q5ZLb1P75uWvCdnPyAn9TlL9mnXof71DevXyYKX5skFg4aktV204EVp3baddD+8R9rrM6b8Vq685gaprKysf/2j5e/Jl198Jn1+2C+t7dw5D0vPXr2lQ8f96l/fsnmjvPDMHBl42bC0tosXvSx77tVCjuhxbNrr9027Wy698jpp1Nh77H/FR8tl5YoP5Yyzz09rO++p2XLk0cfJ9zodUP/6P7dslueeni0XX351Wts3/r4wEbPHMb3SXn9wxh/kosFDpUnTZvWvr1r5sSimZ507IK3tC888Id2+f6Tsf2CX+te//fYbeWr2AzL4yuvS2r79+l9F6fgxx52U9vqjD9wj/S+4VJrtWbdW1M8Xn62Ud5e8Keecf1HWN9+sB6bJuT8eJM1btPRt887br8m26mo57sRTff99+/Zt8sh998gVV/8y6xgvvzhXOh/QRQ4+tJtvm6++/Fzeen2RnPeTS7LGeOyhGXJmvx/L3q3a+LZZ9u7/yaaN6+WkU8/MGiPzH+Y8er+cenpfabNP+0B91q9bI6/+5QX5ycVXBGqvGmVb/5kBgsj6/OefkgO7dJWDuhwWePxsDZ/90yw56rgTpeP39g8dK0iAbO/tIH2jblPoulDzKydZ97tXRp2DqMcrFVlX97D5zz8tFw4eGjUCp8dD1uvSl+3vg1JPLrJe6hnKPb+4yPr0P0yS8ePHu50sy7MvS1l/bO6CtJ3vfLIetL2f2CtZv+k/bpaalJ3Zpe8skS+++EL6nXteWnrvv3emnNW3r+y7r/c4/rp1a+WZp5+WocOGp7V94fnnpF27dnLU0cekvT5p4u3yqzFj02T93XeXymeffirn9k+X54cefEB69+kjnTp5YrFxwwZ5/PHZcvWIa9Pizn/pz9KiRQvpedzxaa/f+dtJ8vNfXC+NU2T9/feXyYfLl8uPfpIuz7MeeUh69TpRDjjwwPoYmzdtklmzHpZrrv1ZWtxXFvwlEfOEE9Pl+Xd33ynDrr5GmjXzZP2jDz+UpUuXyAUXppcePP7Yo9Kjx9HS5ZBD6mNXVVXJA/fNlJ/9W7oEL3p1YaLNyaf0TpvHlD/8Ti776ZDEtSd/Vq5YIa+/vlguHjQ469tz6pQ/yODBl0nLvff2bbP473+T6upq6XPa6b7/vm3bNlFjjxw1OusYTz/5J+ly6KHSvfv3fdt89tkqWbRwoQy+7PKsMab/8R4ZMOBCadO2rW+bt996U9avXy9nnZ3+wVKu+9K9M/5H+p13nrRv733olKv9mjVfyfPz5smQoVcFvt1lW/+ZARo1qJSdu2qltjb7kxFP/ukJ6dq1u3Tt5v+hR+BJicjDDz0oJ5/cW/bv3LmQbtpts723tQMWsWOh60JNpWGDysRTLbty5K+IUzYa2u9eaXSAgMHUTrfaLY3iR+VPvfdSf/9FMW7mGOvXfy1Pzpkjw64eYWN4Z8dsUFkhaqWoe2icf7L9fVDqTCorKqSyskJ21vBkWannym9+FRUV0rCyQnaUef4m3v5fyHrIBVqWsl6MnXUl6uMmTJdpk0al1b4rWR/97zclHuVM/rz/j6Xy1eov5PQz03e6H3tE7UieJe3a71vfdv3X62T+i8/IxZem7wi88vIL0qZtOzn8B0elpXjq7ybJiJ//Kk3Wly97N7GzfsZZ56a1nfPYQ9LrxN7S8Xud6l/fvGmjPPv043LpFek73YtemS/NW7SQI4/qmRbjj1PulCHDfp4m6x9/+L588vGHcna/H6W1fXrOLDnq2F7SaX9vZ33Lls0yd84suezKa9LaLv7rK4md9WN6npD2+sxpv5NLfjpMmqbsrK/85CN5f9lS6df/grS26jq+f3gPOeCglJ31b6rksVkPyJBh6R8OvLF4UWJn/bheJ6fFeHDmFLng4svTdtY/W7VS3nn7den/k4uzvr0enDlVfnThYGmRZWf97TcXJ3bWTzi5j2+M7du2yf0zp8jwa0dmHePF556WAw/qIocc1t23zeovPpPXFi+Sn1yY/UOFhx+YLuecN0BatfbfWX/3nbcTO+u9Tzsr8K3k0YfuldPP6if7BNxZ/3rdGvnLS8/LwMHpT4/kGjDb+s/s03KvRvLt1p2JR3Gz/bzw7JNy8KFdpcsh2Q+ZDHrxTz6unlY5Wb63XzQ769ne20HnG2W7QteFmluLZg2lescu2b7D/T82/e6VUfJPjqXeCdGousieTRtKTU2t9TKGjRvWywvznpRLLk9/YswGf5fGVDuzDRpUJO6hcf7J9vdBqTNp3KhSmjSqlH9+F+/8lXqess1Pfai6V9OGsvmb8i5D+e+7JyLrIRdp2cl6oTXoQdpnE/Uke1WvnvoYfMic0D1CAtSsRwi7CEMFeQy+CMMS0hCBcnoM3hASp8KUymPwTkErocnyGHwJJUNjKjwGrwGthLrE5TF4hZya9XALr+xkPd/p7krOR4y5QyaMG552wnu20+P9Hn3PRI6sh1uENnsj6zbphx8bWQ/P0GYEZN0m/fBjI+vhGdqMgKzbpB9+bGQ9PEObEZB1m/TdGrvsZF3hz/W96Zmynq+9qnef8ci8tKzu275N2uPwyLpbiz51tsi6u7lTM0fW3c4fsu52/pB1t/OHrLudP2Td7fwh627nL8rZl6WsRwmQ0+A92pwG77HgNHiPBafB69+ROA1en13UPTkNPmri3nicBq/HHlmv48Zp8Hrrh17hCMRF1jkNPtw6Ub2R9ZAMkXVk3W8JIevIeshbS6I7sm6CYjQxkPVoOPuNgqzrsUfWkXW9lUMvEwSQdRMU4xEDWQ+ZZ2QdWUfWc7+J2FnXv8kg6/rsou6JrEdN3BsPWddjj6wj63orh14mCCDrJijGIwaybiDP1KwbgGgpBDXrlsAbGpaadUMgLYWhZt0SeEPDUrNuCKSlMMh6Hfhf/2dDSxlgWAiUP4E+p+6SywbsUf4XWsQrRNYNwEXWDUC0FAJZtwTe0LDIuiGQlsIg65bAGxoWWTcE0lIYZB1Zt7T0GDZGBJD18MlG1sMzFGTdAERLIZB1S+ANDYusGwJpKQyybgm8oWGRdUMgLYVB1tNl/T9/vdNSJvSG5TR4PW6l0isuj8Er3nzPerhVh6yH4yfUrHsAOQ3eY8EBcx4Latb1bzLUrOuzi7onNetRE/fGo2Zdjz2yXsftt5P/nvjfX40+QQ+kpV7IuiXwhoaNi6xzGnz4BYOsh2SIrCPrfksIWUfWQ95aEt2RdRMUo4mBrEfD2W8UZF2PPbKOrOutHHqZIICsm6AYjxjIesg8I+vIOrKe+03Ezrr+TQZZ12cXdU9kPWri3njIuh57ZB1Z11s59DJBAFk3QTEeMZB1A3mmZt0AREshqFm3BN7QsNSsGwJpKQw165bAGxqWmnVDIC2FQdbrwCdPg6dm3dJCjOmwcZF1lV5q1sMtcmQ9HL9Eb2TdAERLIZB1S+ANDYusGwJpKQyybgm8oWGRdUMgLYVB1pF1S0uPYUUEWWcZBCWArAcllaMdsm4AoqUQyLol8IaGRdYNgbQUBlm3BN7QsMi6IZCWwiDryLqlpcewyDproAACyHoBsPyaUrPuUeE0eI8FB8x5LKhZ17/JULOuzy7qntSsR03cG4+adT32yHodN06D11s/9ApHIC4765wGH26dqN7IekiGyDqy7reEkHVkPeStJdEdWTdBMZoYyHo0nP1GQdb12CPryLreyqGXCQLIugmK8YiBrIfMM7KOrCPrud9E7Kzr32SQdX12UfdE1qMm7o2HrOuxR9aRdb2VQy8TBJB1ExTjEQNZN5BnatYNQLQUgpp1S+ANDUvNuiGQlsJQs24JvKFhqVk3BNJSGGS9DjynwVtagDEfNi6yrtLMafDhFjuyHo5fojeybgCipRDIuiXwhoZF1g2BtBQGWbcE3tCwyLohkJbCIOvIuqWlx7AcMMcaKIAAsl4ArGxNkXUDEC2FQNYtgTc0LLJuCKSlMMi6JfCGhkXWDYG0FAZZR9YtLT2GRdZZAwUQQNYLgOXXlJp1jwqnwXssOGDOY0HNuv5Nhpp1fXZR96RmPWri3njUrOuxR9bruHEavN76oVc4AnF5DJ7T4MOtE9UbWQ/JEFlH1v2WELKOrIe8tSS6I+smKEYTA1mPhrPfKMi6HntkHVnXWzn0MkEAWTdBMR4xkPWQeUbWkXVkPfebiJ11/ZsMsq7PLuqeyHrUxL3xkHU99sg6sq63cuhlggCyboJiPGIg6wbyTM26AYiWQlCzbgm8oWGpWTcE0lIYatYtgTc0LDXrhkBaCoOs14HnNHhLCzDmw8ZF1lWaOQ0+3GJH1sPxS/RG1g1AtBQCWbcE3tCwyLohkJbCIOuWwBsaFlk3BNJSGGQdWbe09BiWA+ZYAwUQQNYLgJWtKbJuAKKlEMi6JfCGhkXWDYG0FAZZtwTe0LDIuiGQlsIg68i6paXHsMg6a6AAAsh6AbD8mlKz7lHhNHiPBQfMeSyoWde/yVCzrs8u6p7UrEdN3BuPmnU99sh6HTdOg9dbP/QKRyAuj8FzGny4daJ6I+shGSLryLrfEkLWkfWQt5ZEd2TdBMVoYiDr0XD2GwVZ12OPrCPreiuHXiYIIOsmKMYjBrIeMs/IOrKOrOd+E7Gzrn+TQdb12UXdE1mPmrg3HrKuxx5ZR9b1Vg69TBBA1k1QjEcMZN1AnqlZNwDRUghq1i2BNzQsNeuGQFoKQ826JfCGhqVm3RBIS2GQ9TrwnAZvaQHGfNi4yLpKM6fBh1vsyHo4foneyLoBiJZCIOuWwBsaFlk3BNJSGGTdEnhDwyLrhkBaCoOsI+uWlh7DcsAca6AAAsh6AbCyNUXWDUC0FAJZtwTe0LDIuiGQlsIg65bAGxoWWTcE0lIYZB1Zt7T0GBZZZw0UQABZLwCWX1Nq1j0qnAbvseCAOY8FNev6Nxlq1vXZRd2TmvWoiXvjUbOuxx5Zr+PGafB664de4QjE5TF4ToMPt05Ub2Q9JENkHVn3W0LIOrIe8taS6I6sm6AYTQxkPRrOfqMg63rskXVkXW/l0MsEAWTdBMV4xEDWQ+YZWUfWkfXcbyJ21vVvMsi6PruoeyLrURP3xkPW9dgj68i63sqhlwkCyLoJivGIgawbyDM16wYgWgpBzbol8IaGpWbdEEhLYahZtwTe0LDUrBsCaSkMsl4HntPgLS3AmA8bF1lXaeY0+HCLHVkPxy/RG1k3ANFSCGTdEnhDwyLrhkBaCoOsWwJvaFhk3RBIS2GQdWTd0tJjWA6YYw0UQABZLwBWtqbIugGIlkIg65bAGxoWWTcE0lIYZN0SeEPDIuuGQFoKg6wj65aWHsMi66yBAggg6wXA8mtKzbpHhdPgPRYcMOexoGZd/yZDzbo+u6h7UrMeNXFvPGrW9dgj63XcOA1eb/3QKxyBuDwGz2nw4daJ6o2sh2SIrCPrfksIWUfWQ95aEt2RdRMUo4mBrEfD2W8UZF2PPbKOrOutHHqZIICsm6AYjxjIesg8I+vIOrKe+03Ezrr+TQZZ12cXdU9kPWri3njIuh57ZB1Z11s59DJBAFk3QTEeMZB1A3mmZt0AREshqFm3BN7QsNSsGwJpKQw165bAGxqWmnVDIC2FQdbrwHMavKUFGPNh4yLrKs2cBh9usSPr4fgleiPrBiBaCoGsWwJvaFhk3RBIS2GQdUvgDQ2LrBsCaSkMso6sW1p6DMsBc6yBAggg6wXAytYUWTcA0VIIZN0SeEPDIuuGQFoKg6xbAm9oWGTdEEhLYZB1ZN3S0mNYZJ01UAABZL0AWH5NqVn3qHAavMeCA+Y8FtSs699kqFnXZxd1T2rWoybujUfNuh57ZL2OG6fB660feoUjEJfH4DkNPtw6Ub2R9ZAMkXVk3W8JIevIeshbS6I7sm6CYjQxkPVoOPuNgqzrsUfWkXW9lUMvEwSQdRMU4xHDSVnfWr1dxk+eKc/OX5zI0q1jhsqAfr2zZixo+zunzZYDOnVIi/XJqtUyYswd8tXaDfXxj+h2kEydOFJatWwuyDqyjqznvlmys67/ywRZ12cXdU9kPWri3njIuh57ZB1Z11s59DJBAFk3QTEeMZyUdSXV6ueGEQNl05YquXbsXTJqxEDp2aOrb9bytZ8zb6HcPGmmr/grWb9pwnS5bdxwObhzR9/41Ky7+2ahZt3d3KmZU7Pudv6oWXc7f9Ssu50/ZL0uf5wG7/Y6dnX2cZF1lR9Ogw+3Sp2TdSXn426fLqOvG1Qvz6kynomjkPbZdtaR9XCLrJR7I+ulnJ38c0PW8zMq5RbIeilnJ//ckPX8jEq5BbKOrJfy+iz3uSHr5Z5hc9fnnKz77XSrnfHFby2TW0YPlaZNGqfRKaR9kMfgUx+BTw7Ezrq5BRl1JGQ9auJmx0PWzfKMOhqyHjVxs+Mh62Z5Rh0NWUfWo15zjOcRQNZZDUEJOCnrk6fMkgk3Dk/UjKuffLIetL2frGeCVG3WrNtY/8GAqlm/+eZfy67a2vqmS5YskS+/+FzOPa9/WveZM2fIOX3PkX07eo/Tr127VuY+/ZQMG351Wtvnnpsn7du1l6OPOSbt9Qm33yb/PnacVFZW1r++dOlSWfXpSul//o/S2j7wwP1yWp/TpNP++9e/vmHDBnls9qNyzbXXpbX9859flJYtWspxxx+f9vrkSb+RX14/Uho39j4EWbZsmXyw/H35yYAL0to+/NBDcsKJJ8iBBx5U//qmTZvkkYcfkut+9vO0tn/5y8uyR+M95MSTTkp7/a4775AR11wrzZo1q3/9ww8/kHeWvCMXDRyY1nb2o4/KUUcfJYcccmj961VVVXLvzBnyi19en9Yb65i9AAAgAElEQVT21YULpVZqpXfvU9Ne//3v/p9cMeRKadGiRf3rK1Z8Iq8tfk0uGTw46/vov//we7n0sstl77339m3z97/9TbZWb5XTTz/D99+3bdsmauxfjR6TdYwn/zRHDjn0MPn+97/v2+azVavklYWvyOWX/zRrjGn3TJULLrxI2rZt69vmrTfflK/Xfy19+54T9J4hM/5nemJtd+jQIVCfr776SubNe1auumpYoPaqUbb1nxmgQWWF7KoVqU15/2W2mfPEE9Ktezfp1q174PGzNfzfBx+UU3qfIp07HxA6VpAA2d7bQfpG3abQdaHmV1lZISp1ufIX9XXojud3r9SNFabfjp27RP0RGMWPyp/UStrvvyjGzRzj66+/lj/NeUKuHnGNjeGdHbOyoiIx99S/X5y9mBATH3PTgkTvSbf1CREl+q4VFRWiUrhL/RLkxzkCKn/qFlpT5vm77b9ulfHjxzuXn1KasJOynvlYej5ZD9o+iKyrnfpU+VeyPmrMTfJt9c76vC7/x1JZ89WX0ueH6QI059EH5OQ+Z0q79vvWt92wfp28/OKzctHgK9PWxat/eVFat91Hvn/EUWmv//EPk2XYdaPSZP2D99+T1V+sktPOPDet7VOPPyTHnXiq7Ntxv/rXN2/aKM8/84QMunx4Wtu/vfqy7LVXc/nBUT3TXp9xz13y06E/k0Ypsv7JR8tlxccfyJnnpH848MyTj0qPo4+X/fb3ROafWzaLen3wFSPS4r72t1ekceM95Khje6W9fv/038vAy66Spk09Wf90xUeyfNm70ve8AWltn5v7hHQ//EjpfGCX+te//aZK5sx+UC4fmv5hxJuv/VXUX5XHHn9yWoyH75sqP77oMmm2Z90HP+rn81UrZen/vSHn/jj9w4HUjg/dd4+cP+ASad6ipe/7eclbr0l19VbpdZL/L//t27fJ/86cKkOvSf9QITXYS88/LQccdIh0ObSb7xirv/xc3lz8qpx/QfYPFR793/+Rs/r9RFq1buMb4x9L35aNGzfIKX3ODHxfevyR+xJru+0+7QP1+XrdGln48gtywaArArVXjbKt/8wArZo3FvVky86a7H+s/Pm5p+SgLofJwYf4n2kReFIi8vScR+TY406Sjvt5H4AV0r/Qttne24XGiaJ9oetCzWnvPRvJ1u01sm3HriimWNQx/O6VRR0wS3D1oWSF1ElYsX+aN2uYeO9t3VZT7KFyxlcHzL047ym5+LKrrM7DtcGb7tFAGjaokKrvvL9fXLsGE/P9zW/+lgjz7/9+oolwkcXYo1GlNG3cQDZ/uyOyMRnIHAH13mvRrJFsrNpuLmgJRrrnd79B1kPmxTlZL6QGXbEppL2urN8w+kap2ur9svtg2VJZu2a19D69b1p6npz9gJzU5yzZp523I6lkfcFL8+SCQUPS2i5aoGS9nXQ/vEfa6zOm/FauvOaGNFnPdmL03DkPS89evaVDiqxv2bxRXnhmjgy8LH2Xc/Gil2XPvVrIET2OTRvP74TjFR8tl5UrPpQzzj4/rS3fs+7h4KvbPBacBq9/l+Y0eH12UffkNPioiXvjcRq8Hnseg6/jxves660feoUjEJfH4Pme9XDrRPV2TtbVpPOd7p75qHq+9kmMfrL+woLXpcuB++U8zI6a9fAL0VYEatZtkTczLjXrZjjaikLNui3yZsalZt0MR1tRkPU68pwGb2sFxnvcuMi6yjKnwYdb607Ker7vTc+U9XztU7+6TeHct30bmTZpVELQ31iyXIZcP7Ge8rln9NrtIDtkPdwitNkbWbdJP/zYyHp4hjYjIOs26YcfG1kPz9BmBGQdWbe5/uI+NrIe9xUQ/PqdlPXglxdNS2Q9Gs7FGAVZLwbV6GIi69GxLsZIyHoxqEYXE1mPjnUxRkLWkfVirCtiBiOArAfjRCtHH4MvpcSpA+aoWa/LCDXr3sqkZt1jQc26/h2LmnV9dlH3pGY9auLeeNSs67FH1uu4UbOut37oFY5AXGSdmvVw60T1Zmc9JENk3QOIrCPrfm8nZF3/JoOs67OLuieyHjVxZD0scWQdWQ+7huivTwBZ12cXt57IesiMI+vIut8SYmfdo4Ks699kkHV9dlH3RNajJo6shyWOrCPrYdcQ/fUJIOv67OLWE1k3kHFq1g1AtBSCmnVL4A0NS826IZCWwlCzbgm8oWGpWTcE0lIYZL0OPKfBW1qAMR82LrKu0sxp8OEWO7Iejl+iN7JuAKKlEMi6JfCGhkXWDYG0FAZZtwTe0LDIuiGQlsIg68i6paXHsCKCrLMMghJA1oOSytEOWTcA0VIIZN0SeEPDIuuGQFoKg6xbAm9oWGTdEEhLYZB1ZN3S0mNYZJ01UAABZL0AWH5NqVn3qHDAnMeCmnWPBTXr+jcZatb12UXdk5r1qIl743EavB57ZL2OG6fB660feoUjEJeddU6DD7dOVG9kPSRDZB1Z91tCyDqyHvLWkuiOrJugGE0MZD0azn6jIOt67JF1ZF1v5dDLBAFk3QTFeMRA1kPmGVlH1pH13G8idtb1bzLIuj67qHsi61ET98ZD1vXYI+vIut7KoZcJAsi6CYrxiIGsG8gzNesGIFoKQc26JfCGhqVm3RBIS2GoWbcE3tCw1KwbAmkpDLJeB57T4C0twJgPGxdZV2nmNPhwix1ZD8cv0RtZNwDRUghk3RJ4Q8Mi64ZAWgqDrFsCb2hYZN0QSEthkHVk3dLSY1gOmGMNFEAAWS8AVramyLoBiJZCIOuWwBsaFlk3BNJSGGTdEnhDwyLrhkBaCoOsI+uWlh7DIuusgQIIIOsFwPJrSs26R4XT4D0WHDDnsaBmXf8mQ826Pruoe1KzHjVxbzxq1vXYI+t13DgNXm/90Cscgbg8Bs9p8OHWieqNrIdkiKwj635LCFlH1kPeWhLdkXUTFKOJgaxHw9lvFGRdjz2yjqzrrRx6mSCArJugGI8YyHrIPCPryDqynvtNxM66/k0GWddnF3VPZD1q4t54yLoee2QdWddbOfQyQQBZN0ExHjGQdQN5pmbdAERLIahZtwTe0LDUrBsCaSkMNeuWwBsalpp1QyAthUHW68BzGrylBRjzYeMi6yrNnAYfbrEj6+H4JXoj6wYgWgqBrFsCb2hYZN0QSEthkHVL4A0NWyqy/vW6Cvn2uwpDVxWfME0aN5AGlSLfVtfE56J9rnTmA5WJV//z1zud4qDy12yPBrKxartT82aydQSQdVZCUALIelBSOdoh6wYgWgqBrFsCb2hYZN0QSEthkHVL4A0NWyqy/shjlfL++3XCxQ8EdAkg67rk6KdDAFnXoRbPPsh6yLxTs+4B5DR4jwUHzHksqFnXv8lQs67PLuqe1KxHTdwb76FHNsqWtU9KTeNh0qwZO+xBM9GgskIqKkR21tQG7VKW7Wq3LxKRWhl29YlOXR87606la7fJxkXWOQ0+/DotSNa3Vm+X8ZNnyrPzF8u+7dvItEmjpGP7tonXeh3TXQb06x1+Ro5FQNaRdb8li6wj6yZuZci6CYrRxEDWo+HsN8rDj2yUzWuflN5nDZPDu++yNxHHRqZmvS5hb7/+V1EfVxxz3ElOZRBZdypdyLrb6bI6+4Jk/c5ps+WATh3knNN7yeSps+TSAT+Ugzt3lDeWLJfH5i6QW0YPlaZNGlu9oKgHR9aRdWQ997uOnXX9uxKyrs8u6p7IetTEvfGQdT32yDqyrrdy6GWCADvrJijGI0ZgWd+0pUrG3T5dRl83KLGbnirrn6xaLZOnzJIJNw6XVi2bx4NcylVSs+5uyqlZdzd3aubUrLudP2rW3c5fqdSsz3qsUpa9XykDL9zFznoBSwpZLwBWCTZlZ70Ek1LAlOIi6woJp8EXsDB8mhqR9TjvrCumyHq4RWizN7Juk374sZH18AxtRkDWbdIPPzayHp6hzQjIuk364cdG1sMztBkBWbdJ362xA8u6uqw58xbK4reWybhfXCq/n/mnxGPwrfduLteOvUsG9u8Ty5p1ZN2tBZ85W2Td7fwh627nD1l3O3/Iutv5Q9bdzh+y7nb+kHW38xfl7AuSdTUxtYs+5PqJaXO87+6x0rNH1yjnXTJjUbPupYLT4D0WHDDnsaBmXf92Rc26Pruoe1KzHjVxbzxq1vXYI+t13DhgTm/90CscgbjIOqfBh1snqnfBsh5+yPKKgKwj634rGllH1k3c6ZB1ExSjiYGsR8PZbxRkXY89so6s660cepkggKyboBiPGMh6yDwj68g6sp77TcTOuv5NBlnXZxd1T2Q9auLeeMi6HntkHVnXWzn0MkEAWTdBMR4xAsu6Og1e1abv37Hdbl/RxmnwO6Rq6854rJgyu0pq1t1OKDXrbuePmnW380fNutv5Q9bdzh81627nLy6yrrLEafDh1mpBsq6+uq1jh7by6FMvS2qdOrKOrIdbhvZ6I+v22JsYGVk3QdFeDGTdHnsTIyPrJijai4Gs22NvYmRk3QRFezGQdXvsXRu5YFlX37OePAFeXezUiSNl4+YqvmednXXX1n5ivsi6k2mrnzSy7nb+kHW384esu50/ZN3t/CHrbucPWXc7f1HOXkvWD+7cMTHH5MnwF//odFm9Zr1MuHG4tGrZPMr5Wx+LmnUvBZwG77HggDmPBTXr+rcpatb12UXdk5r1qIl741GzrsceWa/jxmnweuuHXuEIxEXWOQ0+3DpRvUPJugqwtXq7jJ88Uz5bvS6xy46si3ywbKmsXbNaep/eNy1DT85+QE7qc5bs065D/esb1q+TBS/NkwsGDUlru2jBi9K6bTvpfniPtNdnTPmtXHnNDVJZWVn/erY/6OfOeVh69uotHTruV992y+aN8sIzc2TgZcPS4i5e9LLsuVcLOaLHsWmv+/0BuuKj5bJyxYdyxtnnp7VF1pF1v1sSsq5/o0bW9dlF3RNZj5o4sh6WOLKOrIddQ/TXJ4Cs67OLW8/Ash43MEGvl511jxSyjqwj60HvHMHaIevBOJVCK2TdXhbYWddjj6wj63orh14mCCDrJijGIwaybiDPVd9xwJwBjFZCULNuBbuxQalZN4bSSiBq1q1gNzYoNevGUFoJhKxbwW5sUGrWjaG0Eigusq7gchp8uCWGrIfjl+iNrBuAaCkEsm4JvKFhkXVDIC2FQdYtgTc0LLJuCKSlMMi6JfCGhkXWDYG0FAZZtwTewWHzynry+9WvvLiv3Pvo8/Lu+yt8L/OIbgfFsmYdWXdw1adMGVl3O3/Iutv5Q9bdzh+y7nb+kHW384esu50/ZN3t/EU5+7yyHuVkXByLmnUva9Sseyw4Dd5jwQFz+nc2atb12UXdk5r1qIl741GzrsceWa/jxmnweuuHXuEIxEXWOQ0+3DpRvZH1kAyRdWTdbwkh68h6yFtLojuyboJiNDGQ9Wg4+42CrOuxR9aRdb2VQy8TBJB1ExTjEaMgWb9z2mxZs26j3DJ6aIKO+sq2Z+cvln3bt5Fpk0ZJ8vvX44Gu7iqRdWQdWc/9jmdnXf+OiKzrs4u6J7IeNXFvPGRdjz2yjqzrrRx6mSCArJugGI8YgWU9Wbs+asRA6dmjq7yxZLk8NndBQtzfW76i/v83bdI4HuRSrpID5txNOTXr7uZOzZyadbfzR8262/mjZt3t/CHrbuePmnW38xcXWVdZ4jT4cGu1IFkfd/t0GX3doMQOutplVz83jBgon6xaLZOnzJIJNw6XVi2bh5uRg72RdQeT9q8pI+vu5g5Zdzt3avbIuts5RNbdzh+y7nb+kHW384esu52/KGcfWNa3Vm9PPPZ+Uf8+0uXA78m1Y++S1F32O6bN5jT4KDPHWEYIIOtGMFoLws66NfRGBkbWjWC0FgRZt4beyMDIuhGM1oIg69bQGxkYWTeCMRZBAsu6oqF20EeMuUO+WrtBrrqkX2JXPfl4/HE9uib+O24/1Kx7Gec0eI8FB8x5LKhZ178rUrOuzy7qntSsR03cG4+adT32yHodN06D11s/9ApHIC6yzmnw4daJ6l2QrIcfLpoIyQ8Qkt8Jf9/dYxN19tl+grTP9qg/so6s+60rZB1ZN3G3Q9ZNUIwmBrIeDWe/UZB1PfbIOrKut3LoZYIAsm6CYjxilJ2sJx/X73VMdxnQr3fiaYCbJkyX28YN9z2tPl/7VJE/ottBuz3qj6wj68h67pslO+v6v0yQdX12UfdE1qMm7o2HrOuxR9aRdb2VQy8TBJB1ExTjEaPsZD1zBzxTxjPTGrR9rkP0OGDO3TcLNevu5k7NnJp1t/NHzbrb+aNm3e38Ietu54+adbfzFxdZV1niNPhwa7XsZF19pVzmYXepJ9dn4graHlkPt9BKtTeyXqqZCTYvZD0Yp1JthayXamaCzQtZD8apVFsh66WamWDzQtaDcSrVVsh6qWam9OZVlrKe/P735He+55P1IO1zyXptbW3pZZYZQQACEIBAUQlUVFQUNb5O8OrtNaL+iI/Tz5SZO+Xtd2rlmisbyrE9Si8nUeaCv0eipM1YEIBAEAKl+LsyyLxLpU1ZynqUO+vUrHtLmdPgPRYcMOexoGZd/3ZPzbo+u6h7UrMeNXFvPGrW9dizs17HjdPg9dYPvcIRiMvOOqfBh1snqnfZyXrQGvQkuqDtOQ2+cf1qW/HRclm54kM54+zz01Ygso6s+92SkHX9GzWyrs8u6p7IetTEkfWwxJF1ZD3sGqK/PgFkXZ9d3HoWLOtz5i2UmyfNrOe0b/s2Mm3SKN+T1m3AzHe6e/K74ieMG574Ord87bNJffJ1dta9LCPryDqybvauh6yb5VnMaMh6Menmjs3Ouh57ZB1Z11s59DJBAFk3QTEeMQqSdSXqs+cuSPv6skz5LQVsub433W++udpn/pu6vqsu6Sc3jBhYf6mcBl8KWdebAwfM6XErlV4cMFcqmdCbBwfM6XErlV4cMFcqmdCbB7Kux61UenHAXKlkQm8ecZF1RYfT4PXWSLJXYFlPSuuoEQMTO9KpP+pE9cxD2sJNy63eyLpb+UqdLbLubu7UzJF1t/OHrLudP2Td7fwh627nD1l3O3/Iutv5i3L2Bcn6uNuny+jrBu32yHuuk9KjvBhbYyHrtsiHHxdZD8/QZgRk3Sb98GMj6+EZ2oyArNukH35sZD08Q5sRkHWb9MOPjayHZxiXCIFlPVnbfVH/PrvtrMdZ1qlZ994q1Kx7LDgN3mPBAXP6v06oWddnF3VPatajJu6NR826HntkvY4bp8HrrR96hSMQF1nnNPhw60T1DizrqnG2x91VLfunn69Jq+MOPzU3IiDryLrfSkXWkXUTdzBk3QTFaGIg69Fw9hsFWddjj6wj63orh14mCCDrJijGI0ZgWfc7aC0boiO6HZR2CF05o0TWkXVkPfc7nJ11/Tsgsq7PLuqeyHrUxL3xkHU99sg6sq63cuhlggCyboJiPGIElvV44NC7SmrW9biVQi9q1kshC/pzoGZdn10p9KRmvRSyoD8Hatb12ZVCT2S9FLKgPwdq1vXZlULPuMi6Ys1p8OFWHLIejl+iN7JuAKKlEMi6JfCGhkXWDYG0FAZZtwTe0LDIuiGQlsIg65bAGxoWWTcE0lIYZN0SeAeHLUjWk4fMPTt/sezbvo1MmzRKOrZvK+Mnz5Rex3SXAf16O4gg/JSR9fAMbUVA1m2RNzMusm6Go60oyLot8mbGRdbNcLQVBVm3Rd7MuMi6GY62oiDrtsi7N25Bsn7ntNlyQKcOcs7pvWTy1Fly6YAfJr7GLc7fs07NurfoOQ3eY8EBcx4Latb1fzFQs67PLuqe1KxHTdwbj5p1PfbIeh03ToPXWz/0CkcgLrLOafDh1onqHVjW1QFzye9ZV7vpqbLOV7fdKFVbd9Zn44NlS2XtmtXS+/S+aRl6cvYDclKfs2Sfdh3qX9+wfp0seGmeXDBoSFrbRQtelNZt20n3w3ukvT5jym/lymtukMrKyvrXs/1BP3fOw9KzV2/p0HG/+rZbNm+UF56ZIwMvG5YWd/Gil2XPvVrIET2OTXvd7w/QFR8tl5UrPpQzzj4/rS2yjqz73ZKQdf0bNbKuzy7qnsh61MSR9bDEkXVkPewaor8+AWRdn13cehqRdXbWkXX1xkHWkXVk3eyvEGTdLM9iRfvr3yvlH2/eKV9u+oXUSuNiDUPcLAQaNVgvbfacI73PGiaHd98Fp4AEkHVkPeBSoVkRCCDrRYBapiEDy7q6fvV96ovfWibjfnGp/H7mnxKPwbfeu7lcO/YuGdi/DzXrZbpIyvmyqFl3O7vUrLudv3KpWVey/sKfvaed3M6Ku7MfeOEuZL2A9CHrBcAqwabUrJdgUgqYUlxkXSHhNPgCFoZP04JkXfVXu+hDrp+YFuq+u8dKzx5dw83E4d4cMOdu8pB1d3OnZo6su52/cpP1E3vtkr5nxWdnt1QOmHP7XWBv9si6PfYmRkbWTVC0FwNZt8fetZEDy3pqzbo6VC71J86PwSsOyLpry96bL7Lubu6Qdbdzp2aPrLudQ2Td7fwh627nD1l3O3/Iutv5i3L2RmSdA+aoWVeLlpp1763LafAeCw6Y07+lU7Ouzy7Knsma9f0O+bn069swyqGtjlUqsr5p43qZ//zTcuHgoVZ5uDY4sl6XMU6Dd23llsd84yLrnAYffr0akfVkLfsto4dK0ybxOlyHr27zFiGyjqz73ZKQdf0bNbKuzy7Knsi6920oUXJPjoWs61FH1pF1vZVDLxMEkHUTFOMRI6+sq13zEWPukK/WbshKZN/2bWTapFGJ71yP2w+yjqz7rXl21j0qyLr+XRFZ12cXZU9kHVmPcr2ZGgtZR9ZNrSXiFE4AWS+cWVx75JX1+k+uU75nPY5SnmuBULPu7tuHmnV3c6dmzgFzbuePmnW381cqj8G7TdHe7JF1e+xNjEzNugmK9mLERdYVYU6DD7fOAst6uGHKuzey7m5+kXV3c4esu507NXtk3e0cIutu5w9Zdzt/yLrb+UPW3c5flLNH1g3QRtYNQLQUAlm3BN7QsOysGwJpKQyybgm8oWGRdUMgLYVB1i2BNzQssm4IpKUwyLol8A4OG0jW1QFyU+5/Kq0uPfX71m8dM1QG9Ovt4OWHnzI16x5DDpjzWFCz7rGgZl3/PkPNuj67KHtSs07NepTrzdRYyHodSU6DN7WiiFMIgbjIOqfBF7Iq/NsGkvU7p81O9L5hxMDE/6Z+53rH9m1l/OSZclH/PtKzR9fwM3IsArKOrPstWWQdWTdxK0PWTVAsfgxkHVkv/iozPwKyjqybX1VEDEoAWQ9KinZ5ZV2J+bVj75JRIwbWy7jaVX9s7gJJflVb5n/HCSuyjqwj67nf8eys698RkXV9dlH2RNaR9SjXm6mxkHVk3dRaIk7hBJD1wpnFtUcgWR93+3QZfd2g+q9my9xpV1/vNnnKLJlw43Bp1bJ57FhSs+5uyqlZdzd3aubUrLudP2rW3c4fNetu5w9Zdzt/1Ky7nb+4yLrKEqfBh1ur2rJ+QKcO9XXqyPoOqdpqd2ch3DKIb29k3e3cI+tu5w9Zdzt/yLrb+UPW3c4fsu52/pB1t/MX5ezzyvrW6u1pNemZ/60mqx6Dv2PabJk6cSQ761Fmj7FCE0DWQyO0GgBZt4o/9ODIemiEVgMg61bxhx4cWQ+N0GoAZN0q/tCDI+uhEcYmQF5ZVyTUafCL31qWqFF/b/mK3cQ887H42NATEWrWvWxzGrzHggPmPBbUrOvfEalZ12cXZU9q1u0+WbZp43qZ//zTcuHgoVGm3fmxkPW6FHIavPNL2ckLiIuscxp8+OUZSNbVMErIZzwyLzHifXePTTtsbsj1E9NeCz8tdyIg68i632pF1pF1E3cxZN0ExeLHQNaR9eKvMvMjIOvIuvlVRcSgBJD1oKRoF1jWQeVPAFlH1pH13HcHdtb1757Iuj67KHsi68h6lOvN1FjIOrJuai0Rp3ACyHrhzOLaA1k3kHlOgzcA0VIIatYtgTc0LDXrhkBaCkPNuiXwhoalZt0QSEthkHVL4A0NS826IZCWwsRF1hVeToMPt8iQ9XD8Er2RdQMQLYVA1i2BNzQssm4IpKUwyLol8IaGRdYNgbQUBlm3BN7QsMi6IZCWwiDrlsA7OCyybiBpyLoBiJZCIOuWwBsaFlk3BNJSGGTdEnhDwyLrhkBaCoOsWwJvaFhk3RBIS2GQdUvgHRwWWQ+ZNGrWPYCcBu+x4IA5jwU16/o3GWrW9dlF2ZOadWrWo1xvpsZC1utIchq8qRVFnEIIxEXWOQ2+kFXh3xZZD8kQWUfW/ZYQso6sh7y1JLoj6yYoFj8Gso6sF3+VmR8BWUfWza8qIgYlgKwHJUU7ZD3kGkDWkXVkPfebiJ11/ZsMsq7PLsqeyDqyHuV6MzUWso6sm1pLxCmcALJeOLO49kDWDWSemnUDEC2FoGbdEnhDw1KzbgikpTDUrFsCb2hYatYNgbQUBlm3BN7QsNSsGwJpKUxcZF3h5TT4cIsMWQ/HL9EbWTcA0VIIZN0SeEPDIuuGQFoKg6xbAm9oWGTdEEhLYZB1S+ANDYusGwJpKQyybgm8g8Mi6waShqwbgGgpBLJuCbyhYZF1QyAthUHWLYE3NCyybgikpTDIuiXwhoZF1g2BtBQGWbcE3sFhkfWQSaNm3QPIafAeCw6Y81hQs65/k6FmXZ9dlD2pWadmPcr1ZmosZL2OJKfBm1pRxCmEQFxkndPgC1kV/m2R9ZAMkXVk3W8JIevIeshbS6I7sm6CYvFjIOvIevFXmfkRkHVk3fyqImJQAsh6UFK0Q9ZDrgFkHVlH1nO/idhZ17/JuCLrH3xYKS89d69s/OY82VHTXv+CHe65X6vfyn6H/Fz69W3o8FUUNvVSeQx+08b1Mv/5p+XCwUMLu4CYt0bWkfWYvwWsXj6ybhW/U4Mj6wbSRc26AYiWQlCzbgm8oWGpWTcEMmQYJesPzScpB1YAACAASURBVKoMGcX97if22iV9z9rl/oUEvIJSkfWA06VZBgFk3e0lQc262/mLi6yrLHEafLi1iqyH45fojawbgGgpBLJuCbyhYZF1QyBDhknK+qGH7JLLLgkuq+VywFxIfM52R9adTV1i4si62/lD1t3OH7Ludv6inD2yboA2sm4AoqUQyLol8IaGRdYNgQwZBlkPCdDR7si6o4n717SRdbfzh6y7nT9k3e38RTl7J2V9a/V2GT95pjw7f3GC1a1jhsqAfr2zcsvXftOWKrl27F3y7vsrEjHuu3us9OzRNfH/P1m1WkaMuUO+WruhPv4R3Q6SqRNHSquWzYWadQ87p8F7LDhgzmNBzbr+Ld21mvXmrfvJTy/fJ/AFl9PO+n3T7pZLr7xOGjVuHPj6XW9YKrJOzbreSkLW67hxGrze+qFXOAJxkXVOgw+3TlRvJ2X9zmmzE1d+w4iBkhTtUSMG1gt2JpZc7ZMi3+uY7gnhV3J+04Tpctu44XJw5467/XdmbGQdWfd7GyLryHr427M7p8EnD5hD1pF1E+u+0BjIeqHE6toj68i63sqhlwkCyLoJivGI4ZysKzkfd/t0GX3doIRMq59UGc9MW772Ss4nT5klE24cntgpzyfvyLrIio+Wy8oVH8oZZ5+fhoOddQ8Hso6sm/gVws66CYrRxGBnPRrOfqMg63rskXVkXW/l0MsEAWTdBMV4xHBO1jN3vlWa5sxbKIvfWia3jB4qTZukP4KYr/17y1fIHdNm1z/Wnin/mY/Bpz4Cn1wi32zdKd9U2/2e2XgsV/NXuU/LPWRD1XbZtavWfHAiFp1Am+aN5Z/f7ZQdNcEPNSv6pGI4wPIPKuR/H6mUww6tlcsHB89Fq70aydZtu6R6R00MqRXrktW9rKJYwdPitmjWUHbWiHy3jd9/kQA3PEizPRpKwwaSuIfy4x6BJo0aSNM9KmXTNzvcmzwzlkYNKqVls4ayvmp72dPo0KpJ2V9jMS/QSVlP3QkPIuu52itZf2zugjTRz7VTr/5tzbqNae1ra2ulFtcr5jotWuzKygpEvWh0ix+4orJC1PtPeP8VH3aOEd55r1b+e0aN/OD7FfLzYQ0Cz6WiokJqVfLIX2Bm+RruqKmVRg2ikXWVP5U8fv/ly0pp/nsiffKve2hpTpFZ5SJQobJH/pxdJCp/6ndgDDaL1N/a/OgTcFLWU2vKg8h6rvb5dtYz0WY+Nq/+ndPg9Reg7Z6cBm87A+HG5zT4cPxM9eY0eFMk3YpTKgfMuUWtdGbLY/ClkwudmXAavA610ukTl8fgFXG+Zz3cunNO1vPVoGfiyNc+X816PlnngDmPEDXrHgtq1j0WnAavf5OmZl2fXdQ9qVmPmrg3HjXreuyR9TpunAavt37oFY5AXGSd0+DDrRPV2zlZV5POdxp85qPqYU6Df2HB69LlwP2yHmaHrCPrfm9DZB1ZD3975jR4EwyjioGsR0V693GQdT32yDqyrrdy6GWCALJugmI8Yjgp6/m+Nz1T1vO1z/U9628sWS5Drp9YvxrOPaNXWr06so6sI+u5b5bsrOv/MmFnXZ9d1D2R9aiJe+Mh63rskXVkXW/l0MsEAWTdBMV4xHBS1kstNdSsl1pGgs+HmvXgrEqxJTXrpZEVatZLIw9Rz4Ka9aiJmx0PWTfLM+po1KxHTdzseHGRdUWNmvVwawdZD8cv0RtZNwDRUghk3RJ4Q8Mi64ZAhgyDrIcE6Gh3ZN3RxP1r2si62/lD1t3OH7Ludv6inD2yboA2sm4AoqUQyLol8IaGRdYNgQwZBlkPCdDR7si6o4lD1t1O3L9mj6y7nUZk3e38RTl7ZD0kbWrWPYCcBu+x4IA5jwU16/o3GWrW9dlF3ZOa9aiJe+NRs67Hnp31Om6cBq+3fugVjkBcZJ3T4MOtE9UbWQ/JEFlH1v2WELKOrIe8tSS6I+smKEYTA1mPhrPfKMi6HntkHVnXWzn0MkEAWTdBMR4xkPWQeUbWkXVkPfebiJ11/ZsMsq7PLuqeyHrUxL3xkHU99sg6sq63cuhlggCyboJiPGIg6wbyTM26AYiWQlCzbgm8oWGpWTcEMmQYatZDAnS0OzXrjibuX9NG1t3OHzXrbucvLrKussRp8OHWKrIejl+iN7JuAKKlEMi6JfCGhi13WX/siQbyzypDsIoY5rtqka/XVchhh+6SSwftCjxS6+aN5bttNVK9vSZwHxqWDgFkvXRyoTMTZF2HWun0QdZLJxc6M0HWdajFsw+ybiDvyLoBiJZCIOuWwBsattxl/c7fNZDNmysM0Sp+GGS9+IxLaQRkvZSyUfhckPXCmZVSD2S9lLJR+FyQ9cKZxbUHsh4y89SsewA5Dd5jwQFzHgtq1vVvMr///TKp2b5KzujbT5rvWdrSvvjVe+WY486RQw5rF/iCy2lnnZr1wGk33pCadT2kyHodN06D11s/9ApHIC6yzmnw4daJ6o2sh2SIrCPrfksIWUfWQ95aEt2Tsn7F0H7SqlWtiZBFizHn0fvl1NP7Spt92gceA1kPjKokG5bKzjqyrrc8kHVkXW/l0MsEAWTdBMV4xEDWQ+YZWUfWkfXcbyJ21vVvMsi6Pruoe7KzHjVxbzxkXY89so6s660cepkggKyboBiPGMi6gTxTs24AoqUQ1KxbAm9o2LjUrI/8t5qS31nXSWk57azrXL/rfUplZ911jrbmj6zbIm9mXGrWzXC0FSUusq74chp8uFWGrIfjl+iNrBuAaCkEsm4JvKFhkXVDIC2FQdYtgTc0LLJuCKSlMMi6JfCGhkXWDYG0FAZZtwTewWGRdQNJQ9YNQLQUAlm3BN7QsMi6IZCWwiDrlsAbGhZZNwTSUhhk3RJ4Q8Mi64ZAWgqDrFsC7+CwyHrIpFGz7gHkNHiPBQfMeSyoWde/yVCzrs8u6p7UrEdN3BuPmnU99sh6HTdOg9dbP/QKRyAuss5p8OHWieqNrIdkiKwj635LCFlH1kPeWhLdkXUTFKOJgaxHw9lvFGRdjz2yjqzrrRx6mSCArJugGI8YyHrIPCPryDqynvtNxM66/k0GWddnF3VPZD1q4t54yLoee2QdWddbOfQyQQBZN0ExHjGQdQN5pmbdAERLIahZtwTe0LDUrBsCaSkMNeuWwBsalpp1QyAthUHWLYE3NCw164ZAWgoTF1lXeDkNPtwiQ9bD8Uv0RtYNQLQUAlm3BN7QsMi6IZCWwiDrlsAbGhZZNwTSUhhk3RJ4Q8Mi64ZAWgqDrFsC7+CwyLqBpCHrBiBaCoGsWwJvaNgoZX3z5gp5e4mhiQcM8/fXK2VbdYWM/GWNtGpZG7CXO82QdXdy5TdTZN3t/CHrbucPWXc7f8i62/mLcvbIekja1Kx7ADkN3mPBAXMei3KpWV/1WYXMfWKWbNl6smzb2TnknSNY9z33eFf2aPipXDGsX8nL+pxH75dTT+8rbfZpH+ziRKScZJ2a9cBpN96QmnU9pMh6HTdOg9dbP/QKRyAuss5p8OHWieqNrIdkiKwj635LCFkvX1nfWXmS/ODITiHvHMG6V21+T7Z+s0p+fOG50qRJae+sI+t3y6VXXieNGjcOltwyaFUqO+vIut5iQtaRdb2VQy8TBJB1ExTjEQNZD5lnZB1ZR9Zzv4nKZWf901UV8sycWdKkxUky7Kr9Qt45gnX/aPl78uUXn0mfH/YL1sFiK2QdWbe1/JB1PfLIOrKut3LoZYIAsm6CYjxiIOsG8kzNugGIlkJQs24JvKFho6xZV7I+8/4G0nn/WrlqSI2hK4h3mHJ6DD6OmSyVnfU4sjdxzci6CYr2YlCzbo+9iZHjIuuKFafBh1sxyHo4foneyLoBiJZCIOuWwBsaFlk3BNJSGGTdEnhDwyLrhkBaCoOsWwJvaFhk3RBIS2GQdUvgHRwWWTeQNGTdAERLIZB1S+ANDYusGwJpKQyybgm8oWGRdUMgLYVB1i2BNzQssm4IpKUwyLol8A4Oi6yHTBo16x5AToP3WHDAnMeCmnX9mww16/rsou7JafBRE/fGo2Zdjz2yXseN0+D11g+9whGIi6xzGny4daJ6I+shGSLryLrfEkLWkfWQt5ZEd2TdBMVoYiDr0XD2GwVZ12OPrCPreiuHXiYIIOsmKMYjBrIeMs/IOrKOrOd+ExW6s75jh8icx/4sjZvsIy1bH5UzeLMmDaV6e43s2pX9a83Wfv6U7NniMNmrZddQ7/bNWypk9YpHpEnzk2TYME6Dz4TJafCcBh/qDRaiM7KuBw9ZR9b1Vg69TBBA1k1QjEcMZN1AnqlZNwDRUghq1i2BzzHsd1srZOLkBqU3sX/NqHOnWrnqSk6DN5EgatZNULQXg5p1e+xNjIysm6BoLwY16/bYmxg5LrKuWHEafLgVg6yH45fojawbgGgpBLJuCXwAWW/UUOSkE3NLcZCdddNXuHerCjn6yF2mw8YyHrLudtqRdbfzh6y7nT9k3e38Ietu5y/K2SPrBmgj6wYgWgqBrFsCn2PYb78V+c0dDaVZM5Gxv9qZc4JRngZfeqTcnxGy7nYOkXW384esu50/ZN3t/CHrbucvytkj6yFpU7PuAeQ0eI8FB8x5LAqtWVey/sd7XhKpbCcjR/4gtKzPf/4pObBLVzmoy2Eh3+0iz/5plhx13InS8Xv7h44VJAAHzAWhVBptOGDOXh6oWddjj6zXceM0eL31Q69wBOIi65wGH26dqN7IekiGyDqy7reEkHVkPeStJdEdWTdBMZoYyHo0nP1GQdb12CPryLreyqGXCQLIugmK8YiBrIfMM7KOrLss63OfWiLffbte9ul4ZuB3whcf3yf7fO8c2aNp+0B9tm1dI19/+YLs1+WKQO3VafDLlv5ZpGIfGXnDkTn7BHkMnp31QNhDN+I0eE6DD72INAMg63rgkHVkXW/l0MsEAWTdBMV4xEDWDeSZmnUDEC2FiHvN+oTJDWTr1gpL9HMP26xprYwdnfuAuSCyXpIXx6QSBKhZd3shULPudv6QdbfzR8262/mLi6yrLHEafLi1iqyH45fojawbgGgpBLJeJ+snnVAjjRpZSkKWYRs3rpST85wGj6yXVs4KnQ2yXiix0mqPrJdWPgqdDbJeKLHSao+sl1Y+Cp0Nsl4osfi2R9YN5B5ZNwDRUghkvaFs3Vp36ro6fd21H2TdtYylzxdZdzt/yLrb+UPW3c4fsu52/pB1t/MX5eyR9ZC0qVn3AJbLafCPP75KNn39hlQ2vTjr6tj13VSpaHKJVFTu7dumdvtiqa3dKpV7nOYfo3ab7Pr2v6VyrxuyjlFb/ZRIg0OkolF3/zY1n8mu7a9KZdNLc8zzj1LR5AKpqGzj22bDurelYeV6ueZnPxT12HmQn0Jrkws9DV7NYdGCF6V123bS/fAeOacURNapWQ+S1fBtCl0XasRyknUOmAu/hnQjULOuRw5Zr+PGafB664de4QjERdY5DT7cOlG9kfWQDJH18pP1P05fJdVVb8j6bwZlXR377j1F1v1zsNTs8pf15k3+LpUV1bJlq7+sV1Zsk31b/kG+3Dwq6xht9npSvtt+qGzd7i/rezT8TFo0XShfV12WNUaHln+U9VUDZOeutr5t9mryFrJewD2Ar27LDgtZ54C5At5KRpsi63o4kXVkXW/l0MsEAWTdBMV4xEDWQ+YZWS9fWe91ykBpt4//Aln08lQ5ptdgadqspW+DTz9ZLDu2V8sh3fr4/vvOndvk1ZemyGl9R2Zdge++/bTs076LdPiev6xv2vCZfPLhIjn2hMFZY/xtwXQ58tgBsude/jvrn3/6tnz7zXrpe94PA78TCpUydtYDo92tIV/dps8u6p7srEdN3BsPWddjj6wj63orh14mCCDrJijGIwayHjLPTz1XI3Of3xUyCt1LkcDwoTXSab9gj4aX4vzjMKcgj8HHgYOr11hOj8G7moMw86ZmPQw9+32Rdfs5CDMDatbD0LPfNy6yrkhzGny49YasB+A3Z95CuXnSzETLc8/oJbeMHipNmzRO/DeyHgCgo02Q9dJPHLJe+jnKNUNk3e38Ietu5w9Zdzt/yLrb+UPW3c5flLNH1vPQfmPJcrlj2myZOnGktGrZXO6cNjvR44YRA+t7chp8lEvW7FhxPw3eLM3ooyHr0TM3OSKybpJm9LGQ9eiZmxwRWTdJM/pYyHr0zE2OiKybpFnesZD1PPlVcn5Apw4yoF/vRMtMeadm3QNYLqfBf/HZSnl3yZtyzvkXZV0dsx6YJuf+eJA0b+Ffs/7O26/JtupqOe7EU31jbN++TR657x654upfZh3j5RfnSucDusjBh3bzbfPVl5/LW68vkvN+cknWGI89NEPO7Pdj2buVf836snf/T1S950mnnhn4TkfN+onS8Xv7B+YVpiE162HoRduXmvVoeaeORs26HntkvY4bp8HrrR96hSMQF1nnNPhw60T1RtZzMNxavV3GT54pvY7pXi/rn6xaLTdNmC63jRsuB3fuKMg6su63hJB1jwoHzOnfqJF1fXZR90TWoybujYes67FH1pF1vZVDLxMEkHUTFOMRA1kPIOsX9e8jPXt0TbT0k/X/+I9fy85d3kFkS99ZIl988bn0O7d/WvT7750hZ/U9R/bdt2P96+vWrZVnnn5Khg67Oq3tC8/Pk3bt2stRRx+T9vqkibfJr8aMk8rKyvrX3313qXz26Uo5t/+P0to+9OD90rvPadKpk7cLuHHDBnn88Ufl6hHXpbWd/9KL0qJFS+l53PFpr9/529/Iz38xUho3rqvRVz/vv79MPlz+vvzoJxektZ31yEPSq9cJcsCBB9W/vnnTJpk16yG55tqfp7V9ZcHL0rjxHnLCiSelvf67u++QYVdfK82aNat//aMPP5ClS9+RCy70Sg/UPz7+2KPSo8dR0uWQQ+vbVlVVyQP3zZCf/dv1aXEXvbpQRGrl5FPSd7qn/OH/yeVXXCnNm7eob79yxSfy+uuvycWDsp+yPnXK72Xw4Mul5d7+X922+O9/k+rqrdLntDN8V9i2bdtEjT1y1JisK/DpJ+dIl0MPk+7dv+/b5rPPVsmiha/I4Mt+mjXG9D9OlQEDLpI2bf2/uu3tt96U9eu/lrPOPifwHe/eGdOl33n9pX37DoH6rFnzlTw/71kZMnRYoPaqUbb1nxmgUcMKqamplZS3325jPPmnJ6Rr127StVuW76sPPCuRhx96UE4++RTZv/MBBfTSb5rtva0fsXg9C10XaiaNGlRITW2t7CqDMzr97pXFo10akRs2qJDaWpGaXG/ACKaq7mFPznlChl19TQSjlc8QDSorpKJCZGdNvA9Szfb3QalnWv0Z2KCiQnbEPH+lnqds86usEFH30O07y/v9N/H2W2X8+PGupqkk5o2s50hDkJ31ksgik4AABCAAAQhAAAIQgAAEIACBsiKArOdJZ76addV967Ya+W5bTVktjLhcTKvmjWXzt9ultgx29uKSs9TrVAdcfVu9M/Y7Q67mvnmzhrJtxy7ZvoM3oIs53LNJA6nZJVK9nd9/LuZPHVDWoFLk22ry52L+GjeqlD0aVUrVdztdnH7s56x21fdq0lA2f7uj7Fm0aeE9nVv2F1uEC0TW80DlNPgirLoSCslp8CWUDI2pcBq8BrQS6sJp8CWUDI2pcBq8BrQS6kLNegklQ2MqnAavAa2EusSlZl0h53vWwy08ZD0Av1zfs84Bcx5AToP3WHDAnMeCA+YC3GSyNOGAOX12UffkgLmoiXvjccCcHntkvY4bp8HrrR96hSMQF1nnNPhw60T1RtZDMkTWkXW/JYSsI+shby2J7si6CYrRxEDWo+HsNwqyrsceWUfW9VYOvUwQQNZNUIxHDGQ9ZJ4Tsj7mJqn6zqs5+WDZUlm7ZrX0Pr1vWvQnZz8gJ/U5S/Zp552ivWH9Olnw0jy5YNCQtLaLFrwordu2k+6H90h7fcaU38qV19yQdhp8tj/o5855WHr26i0dOu5XH2PL5o3ywjNzZOBl6SdzL170suy5Vws5osexaeP5/QG64qPlsnLFh3LG2eentWVn3cOBrCPrIW8tyLoJgBHGQNYjhJ0xFLKuxx5ZR9b1Vg69TBBA1k1QjEcMZD0eeeYqIQABCEAAAhCAAAQgAAEIQMAhAsi6Q8liqhCAAAQgAAEIQAACEIAABCAQDwLIejzyzFVCAAIQgAAEIAABCEAAAhCAgEMEkHWHksVUIQABCEAAAhCAAAQgAAEIQCAeBJB1zTxv2lIl1469S959f0Uiwn13j5WePbpqRqObKQJbq7fL+Mkz5dn5ixMhbx0zVAb06501fJD2Ktfjbp8uo68bJAd37mhqqsTxIRAkH6ndcrXP/Dfep9EsuVxfdek3g1zt75w2W2Y8Mq++G/fZ4ufQZP5SZ6ty+fqS5TJ14khp1bJ58S8kpiO8sWS5DLl+YuLqj+h2UF7eudqnroUkzqsu6Sc3jBgYU7rFv2yT+VOzLfR3avGvsLxHKNQNcrXP/P2XJMfvwfJeQ35Xh6xr5Dx58+t1TPeECH6yarXcNGG63DZuODKnwdNkF3VzUz/qj4nkTXDUiIFZP0jJ1T71l9y+7dvItEmjyK/JZPnEMpk/lf97Zz0n117xY2napLGoP4LGTZhOHouYQ8X4jmmz6wUhNZ9+w+Zqn5k/7rNFTNy/QpvMX6aoqw9dgshj8a+yfEfIfI8o2V781jK5ZfTQxD0w8ydf+3z9y5eknSvLl49C85f5t6qdq4rPqIW6QaHt1fqYPGWWTLhxOB94xmdZJa4UWddIeOYbhhuiBsQidPHbAc8lC0Hbs7NehGT5hAyaj2RXnfbqaZhcH95Ec6XlO4p6vx3QqUP90yyZ8pd55YW0D/LhW/mSjebKCsmHmlGQ9kr4Pv18jZxy/A/SPsiJ5oriNUqSdXLnO98HXPnaI+vRrp98+cicTb72mf8e7dXEb7RC3aDQ9pn32/gRju8VI+sauff7AzTfDpLGMHQpkIDfHya5/tgI2h5ZLzARms2D5iMZ3kR7zanSzYeA34eWuWSh0PY8GVHcZVdoPoK0T73/vrd8BbJe3BQmPjxRP0lZz/cBV772mY/B8wh8cROYLx9+H3bmynfmY9Q8IVjc/BXqBoW0Z1e9uLkr9ejIukaG1BvssbkL0h4tQ9Y1QBru4nczyyfrmY8U+bVH1g0nKku4YuVPDcfTL8XPYZLxRf371JedBJH1fO1VjBFj7pCv1m7gbJAiptF0/jZu+mfa78l8T1kU8dJiEzpz5y2IrKc+CZOrffLfBvbvk/McmNjALsKFmszf4V0PSpzfk3p/VX/fzJ67IO85BkW4tFiELNQNCmnPrnosllDWi0TWNfJfyKdhGuHpoknAxE4rsq4J30C3YuUvKSEd2rXmYCQDecoWIshOa2rfQtvnE48iXlosQheaj3zt3/nHx3LzpJm7saNuvXjLyfTObOZMeay6eLlTkU3mz0/WuYcWN3+FukHQ9nzQWdy8uRAdWdfIUqF1JhpD0EWDgE4Nc+Yp735PSLCzrpEMjS7FyB+irpGIEF2C1DCnhg/bPsRU6epDIGw+cv1RyR+cxV9y+WqY88l3oTXuxb+ieI1gOn9+O/V8s03x1lShbhCkPU8FFi9fLkVG1jWyVegJjhpD0EWTQK7TxP0e4wty+jiyrpkMjW758qH+fc26jfUlKEFO809+a4PGdOhSIIF8p4ln5i9Xe/WHzPxX35KrL+ufmEXycfgJ44bzNZkF5iVo83z5y3yMNl/71HGR9aBZ0G+X7zTxzPzlaq9m8cSzr8gF556aOEmeXVn9vATtmS9/mffAfO0zz/ngwMCgmdBrl88NMvOXr72aBfdNvVyUWy9kXTOjhX6XouYwdCuQQK7vFPWT9UK/p/vcM3pl/RqcAqdKcx8C+b4TNlP2crVPrXVOHYpDkoq79PJ9b3rqhy1qJtnaZ+ZWteX7ZYubu1z5SP5bZs1r0O9l54/O4ucu+cd9tu9Z96tZzvW93pkHlN06Zij16kVOY658+H1gme972VPfn5SgFDl5IvUfar37/orEYKm/s/zyl8sl+ICs+PlyZQRk3ZVMMU8IQAACEIAABCAAAQhAAAIQiA0BZD02qeZCIQABCEAAAhCAAAQgAAEIQMAVAsi6K5linhCAAAQgAAEIQAACEIAABCAQGwLIemxSzYVCAAIQgAAEIAABCEAAAhCAgCsEkHVXMsU8IQABCEAAAhCAAAQgAAEIQCA2BJD12KSaC4UABCAAAQhAAAIQgAAEIAABVwgg665kinlCAAIQgAAEIAABCEAAAhCAQGwIIOuxSTUXCgEIQAACEIAABCAAAQhAAAKuEEDWXckU84QABCAAAQhAAAIQgAAEIACB2BBA1mOTai4UAhCAAAQgAAEIQAACEIAABFwhgKy7kinmCQEIQAACEIAABCAAAQhAAAKxIYCsxybVXCgEIAABCEAAAhCAAAQgAAEIuEIAWXclU8wTAhCAAAQgAAEIQAACEIAABGJDAFmPTaq5UAhAAAIQgAAEIAABCEAAAhBwhQCy7kqmmCcEIAABCEAAAhCAAAQgAAEIxIYAsh6bVHOhEIAABCAAAQhAAAIQgAAEIOAKAWTdlUwxTwhAAAIQgAAEIAABCEAAAhCIDQFkPTap5kIhAAEIQAACEIAABCAAAQhAwBUCyLormWKeEIAABCAQGYE58xbKzZNmpo13RLeDZOrEkfLxyi9lyPUT5b67x0rPHl3T2tw5bba8vmR5ol2rls0lV5yNm6tkxJg75Ku1G7Je161jhkqnju0S4/n9JOfwxpLliTbnntFLbhk9VJo2aVzfPNe/qUabtlTJtWPvknffX5F1Hldd0k8O6NQhjYma24B+veWTVasT19G2dcv6604G8vu35HxyXU9kiWYgCEAAAhCAQAkTQNZLODlMDQIQgAAEoieQKdzJGajXTzn+BwlBVxI+e+6CNDlV9v9b4gAABy5JREFUYnrThOly27jhcnDnjhIkTurVqZiL31rmK9vjJkyXaZNGJeL6/SQFeN/2bdLaba3eLuMnz5Rn5y/2Fflsse6YNns38VZt1TiZc0kKufrQIfMDDMVgxiPzJPlBh/oAwy9G9FlmRAhAAAIQgEDpE0DWSz9HzBACEIAABCIikNxlHti/T2LXONtPUoI7tGstN4wYKMn/7nVM90S/oHFMyroS7NNPOkq++XZrYk5JuX5s7gLZa69m8s033+32QYApWVcfUpx35omydNkn9WMoiZ88ZZYcfcQh8vJf/69e/pH1iBYzw0AAAhCAgPMEkHXnU8gFQAACEICAKQKZEp4rbnJHecK44fL56nVpO+2FxEmOEXZnXcn6qBED5Y57Hk3b3VePr3/6+RpZs25jUWV91DUXS3IOyacP1Lhq/NSnEJB1U6uVOBCAAAQgUO4EkPVyzzDXBwEIQAACBRHIrKlOfYQ7M1DyMW/1euYj4IXEUf1zyXqQmvXko+v3znouMc0f9T05sbM94cbhol4rtqyrx//f+cfHiUf5R159kdxy5/0y+rpBidcyZT3f9RSUMBpDAAIQgAAEypQAsl6mieWyIAABCEAgHIHUem8VKbMeXL2WfNz9uB5d6x89zxw1SJx8sh6kZj0p6+rgOvVYuvoZeP5picfy1YcKUch6672bJw6ra9l8Tzns4E4JJpn1/eysh1uX9IYABCAAgfgQQNbjk2uuFAIQgAAENAlke6w9s1Y9X/hcj8ebeAw+eQp95uF2Ucm6OgBPXceU+5+qP+gOWc+3Kvh3CEAAAhCAgD8BZJ2VAQEIQAACEPgXAbVTrr7CrHevI3djooRX/SQPb1P/P5usFxpHxTIp66qe/uOVX8jZfY5LzDlKWVfXPm/+Yrl0wJmJsZF13l4QgAAEIAABPQLIuh43ekEAAhCAQBkSSD7Wvn/HdmmHsSXrzzPr0nPJunocPGgc07KemZooZT1zbGS9DN8oXBIEIAABCERCAFmPBDODQAACEICAKwSSwq522JM/fvXq6t9yPQZfSJx8sp7vQDb1YUK270ZXsU3IupLumyfNrGdy65ihiXr4zO+XDyLr+a7HlbXCPCEAAQhAAALFJICsF5MusSEAAQhAAAIQgAAEIAABCEAAAhoEkHUNaHSBAAQgAAEIQAACEIAABCAAAQgUkwCyXky6xIYABCAAAQhAAAIQgAAEIAABCGgQQNY1oNEFAhCAAAQgAAEIQAACEIAABCBQTALIejHpEhsCEIAABCAAAQhAAAIQgAAEIKBBAFnXgEYXCEAAAhCAAAQgAAEIQAACEIBAMQkg68WkS2wIQAACEIAABCAAAQhAAAIQgIAGAWRdAxpdIAABCEAAAhCAAAQgAAEIQAACxSSArBeTLrEhAAEIQAACEIAABCAAAQhAAAIaBJB1DWh0gQAEIAABCEAAAhCAAAQgAAEIFJMAsl5MusSGAAQgAAEIQAACEIAABCAAAQhoEEDWNaDRBQIQgAAEIAABCEAAAhCAAAQgUEwCyHox6RIbAhCAAAQgAAEIQAACEIAABCCgQQBZ14BGFwhAAAIQgAAEIAABCEAAAhCAQDEJIOvFpEtsCEAAAhCAAAQgAAEIQAACEICABgFkXQMaXSAAAQhAAAIQgAAEIAABCEAAAsUkgKwXky6xIQABCEAAAhCAAAQgAAEIQAACGgSQdQ1odIEABCAAAQhAAAIQgAAEIAABCBSTALJeTLrEhgAEIAABCEAAAhCAAAQgAAEIaBBA1jWg0QUCEIAABCAAAQhAAAIQgAAEIFBMAsh6MekSGwIQgAAEIAABCEAAAhCAAAQgoEEAWdeARhcIQAACEIAABCAAAQhAAAIQgEAxCSDrxaRLbAhAAAIQgAAEIAABCEAAAhCAgAYBZF0DGl0gAAEIQAACEIAABCAAAQhAAALFJICsF5MusSEAAQhAAAIQgAAEIAABCEAAAhoEkHUNaHSBAAQgAAEIQAACEIAABCAAAQgUkwCyXky6xIYABCAAAQhAAAIQgAAEIAABCGgQQNY1oNEFAhCAAAQgAAEIQAACEIAABCBQTALIejHpEhsCEIAABCAAAQhAAAIQgAAEIKBBAFnXgEYXCEAAAhCAAAQgAAEIQAACEIBAMQkg68WkS2wIQAACEIAABCAAAQhAAAIQgIAGAWRdAxpdIAABCEAAAhCAAAQgAAEIQAACxSSArBeTLrEhAAEIQAACEIAABCAAAQhAAAIaBJB1DWh0gQAEIAABCEAAAhCAAAQgAAEIFJMAsl5MusSGAAQgAAEIQAACEIAABCAAAQhoEEDWNaDRBQIQgAAEIAABCEAAAhCAAAQgUEwCyHox6RIbAhCAAAQgAAEIQAACEIAABCCgQQBZ14BGFwhAAAIQgAAEIAABCEAAAhCAQDEJIOvFpEtsCEAAAhCAAAQgAAEIQAACEICABoH/Dxc0r6MSoOYwAAAAAElFTkSuQmCC",
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"dynamics.plot_step_sizes(show_intervals=True)"
]
},
{
"cell_type": "markdown",
"id": "6ac3dd4e-9dd0-4d3a-aa83-76102bd79524",
"metadata": {
"tags": []
},
"source": [
"## Plots of changes of concentration with time"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "5f73e330-2d43-4cef-b2a0-c6eb379eea2e",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"hovertemplate": "Chemical=A
SYSTEM TIME=%{x}
concentration=%{y}",
"legendgroup": "A",
"line": {
"color": "red",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "A",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
0.0005,
0.001,
0.0015,
0.002,
0.0025,
0.003,
0.0035,
0.004,
0.0045000000000000005,
0.005000000000000001,
0.005500000000000001,
0.006000000000000002,
0.006500000000000002,
0.007000000000000003,
0.007500000000000003,
0.008000000000000004,
0.008500000000000004,
0.009000000000000005,
0.009500000000000005,
0.010000000000000005,
0.010500000000000006,
0.011250000000000007,
0.012000000000000007,
0.012750000000000008,
0.013500000000000009,
0.01425000000000001,
0.01500000000000001,
0.01575000000000001,
0.01687500000000001,
0.018000000000000013,
0.019125000000000014,
0.020812500000000015,
0.022500000000000017,
0.02503125000000002,
0.02882812500000002,
0.03452343750000002,
0.04306640625000002,
0.05588085937500002,
0.07510253906250003
],
"xaxis": "x",
"y": [
10,
8.77,
7.72194775,
6.822959834615675,
6.047458939057545,
5.3752361871637655,
4.790104422090738,
4.27894112452324,
3.8309947280785526,
3.4373729590262045,
3.0906594580159465,
2.7846224130427775,
2.5139902443674065,
2.274276862314362,
2.0616440611044653,
1.872792070346196,
1.704871695894351,
1.5554131858603673,
1.4222681786415994,
1.3035619756688566,
1.1976540315652777,
1.1031050364288733,
0.9764214707046686,
0.8699183720612123,
0.7802878962912525,
0.7047910954990079,
0.641152505199803,
0.5874763636560679,
0.542179462770219,
0.48481566290028155,
0.44081916847935443,
0.4070499537838652,
0.36814879424040353,
0.3427625098046691,
0.31789182007449174,
0.2999727582082435,
0.29402448591811875,
0.29551781268525235,
0.2938358894366579,
0.297938808560594
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=B
SYSTEM TIME=%{x}
concentration=%{y}",
"legendgroup": "B",
"line": {
"color": "violet",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "B",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
0.0005,
0.001,
0.0015,
0.002,
0.0025,
0.003,
0.0035,
0.004,
0.0045000000000000005,
0.005000000000000001,
0.005500000000000001,
0.006000000000000002,
0.006500000000000002,
0.007000000000000003,
0.007500000000000003,
0.008000000000000004,
0.008500000000000004,
0.009000000000000005,
0.009500000000000005,
0.010000000000000005,
0.010500000000000006,
0.011250000000000007,
0.012000000000000007,
0.012750000000000008,
0.013500000000000009,
0.01425000000000001,
0.01500000000000001,
0.01575000000000001,
0.01687500000000001,
0.018000000000000013,
0.019125000000000014,
0.020812500000000015,
0.022500000000000017,
0.02503125000000002,
0.02882812500000002,
0.03452343750000002,
0.04306640625000002,
0.05588085937500002,
0.07510253906250003
],
"xaxis": "x",
"y": [
50,
48.77,
47.721947750000005,
46.82295983461568,
46.04745893905755,
45.37523618716377,
44.79010442209074,
44.27894112452324,
43.83099472807856,
43.43737295902621,
43.090659458015956,
42.78462241304279,
42.51399024436742,
42.27427686231437,
42.061644061104474,
41.87279207034621,
41.70487169589436,
41.55541318586038,
41.422268178641616,
41.30356197566887,
41.19765403156529,
41.103105036428886,
40.97642147070468,
40.86991837206122,
40.78028789629126,
40.70479109549902,
40.64115250519981,
40.58747636365608,
40.54217946277023,
40.48481566290029,
40.440819168479365,
40.407049953783876,
40.36814879424041,
40.34276250980468,
40.3178918200745,
40.29997275820825,
40.29402448591812,
40.295517812685254,
40.29383588943666,
40.297938808560595
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=C
SYSTEM TIME=%{x}
concentration=%{y}",
"legendgroup": "C",
"line": {
"color": "green",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "C",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
0.0005,
0.001,
0.0015,
0.002,
0.0025,
0.003,
0.0035,
0.004,
0.0045000000000000005,
0.005000000000000001,
0.005500000000000001,
0.006000000000000002,
0.006500000000000002,
0.007000000000000003,
0.007500000000000003,
0.008000000000000004,
0.008500000000000004,
0.009000000000000005,
0.009500000000000005,
0.010000000000000005,
0.010500000000000006,
0.011250000000000007,
0.012000000000000007,
0.012750000000000008,
0.013500000000000009,
0.01425000000000001,
0.01500000000000001,
0.01575000000000001,
0.01687500000000001,
0.018000000000000013,
0.019125000000000014,
0.020812500000000015,
0.022500000000000017,
0.02503125000000002,
0.02882812500000002,
0.03452343750000002,
0.04306640625000002,
0.05588085937500002,
0.07510253906250003
],
"xaxis": "x",
"y": [
20,
21.23,
22.278052250000002,
23.177040165384327,
23.95254106094246,
24.62476381283624,
25.209895577909265,
25.721058875476764,
26.169005271921453,
26.5626270409738,
26.909340541984058,
27.215377586957228,
27.486009755632598,
27.72572313768564,
27.938355938895537,
28.127207929653807,
28.295128304105653,
28.444586814139637,
28.577731821358405,
28.696438024331147,
28.802345968434725,
28.89689496357113,
29.02357852929533,
29.13008162793879,
29.219712103708748,
29.295208904500992,
29.358847494800198,
29.412523636343934,
29.457820537229782,
29.51518433709972,
29.559180831520646,
29.592950046216135,
29.631851205759595,
29.657237490195328,
29.682108179925507,
29.700027241791755,
29.705975514081878,
29.704482187314746,
29.70616411056334,
29.7020611914394
],
"yaxis": "y"
}
],
"layout": {
"autosize": true,
"legend": {
"title": {
"text": "Chemical"
},
"tracegroupgap": 0
},
"shapes": [
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0,
"x1": 0,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.0005,
"x1": 0.0005,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.001,
"x1": 0.001,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.0015,
"x1": 0.0015,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.002,
"x1": 0.002,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.0025,
"x1": 0.0025,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.003,
"x1": 0.003,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.0035,
"x1": 0.0035,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.004,
"x1": 0.004,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.0045000000000000005,
"x1": 0.0045000000000000005,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.005000000000000001,
"x1": 0.005000000000000001,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.005500000000000001,
"x1": 0.005500000000000001,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.006000000000000002,
"x1": 0.006000000000000002,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.006500000000000002,
"x1": 0.006500000000000002,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.007000000000000003,
"x1": 0.007000000000000003,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.007500000000000003,
"x1": 0.007500000000000003,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.008000000000000004,
"x1": 0.008000000000000004,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.008500000000000004,
"x1": 0.008500000000000004,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.009000000000000005,
"x1": 0.009000000000000005,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.009500000000000005,
"x1": 0.009500000000000005,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.010000000000000005,
"x1": 0.010000000000000005,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.010500000000000006,
"x1": 0.010500000000000006,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.011250000000000007,
"x1": 0.011250000000000007,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.012000000000000007,
"x1": 0.012000000000000007,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.012750000000000008,
"x1": 0.012750000000000008,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.013500000000000009,
"x1": 0.013500000000000009,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.01425000000000001,
"x1": 0.01425000000000001,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.01500000000000001,
"x1": 0.01500000000000001,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.01575000000000001,
"x1": 0.01575000000000001,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.01687500000000001,
"x1": 0.01687500000000001,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.018000000000000013,
"x1": 0.018000000000000013,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.019125000000000014,
"x1": 0.019125000000000014,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.020812500000000015,
"x1": 0.020812500000000015,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.022500000000000017,
"x1": 0.022500000000000017,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.02503125000000002,
"x1": 0.02503125000000002,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.02882812500000002,
"x1": 0.02882812500000002,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.03452343750000002,
"x1": 0.03452343750000002,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.04306640625000002,
"x1": 0.04306640625000002,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.05588085937500002,
"x1": 0.05588085937500002,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.07510253906250003,
"x1": 0.07510253906250003,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
}
],
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"sequentialminus": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "Reaction `A + B <-> C` . Changes in concentrations with time (time steps shown in dashed lines)"
},
"xaxis": {
"anchor": "y",
"autorange": true,
"domain": [
0,
1
],
"range": [
-4.551669034090911e-05,
0.07514805575284093
],
"title": {
"text": "SYSTEM TIME"
},
"type": "linear"
},
"yaxis": {
"anchor": "x",
"autorange": true,
"domain": [
0,
1
],
"range": [
-2.4676176722613055,
52.76145356169796
],
"title": {
"text": "concentration"
},
"type": "linear"
}
}
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA+sAAAFoCAYAAAAvu2oWAAAAAXNSR0IArs4c6QAAIABJREFUeF7snQm4FNWZ/t/uu1/2C7LJIoiybypINKKjMlESl8FRIWBQFBB13PjLIFkcM0lkdFSSGBUZCCYuBJVEZREEvAIiKIqKwSUiQdkFLvfC3Zf+P6ebaqr7VnWf2qtuv+3jA3Sf851Tv++rU/XWOeerUCQSiYAfEiABEiABEiABEiABEiABEiABEiAB3xAIUaz7xhfsCAmQAAmQAAmQAAmQAAmQAAmQAAlECVCsMxBIgARIgARIgARIgARIgARIgARIwGcEKNZ95hB2hwRIgARIgARIgARIgARIgARIgAQo1hkDJEACJEACJEACJEACJEACJEACJOAzAhTrPnMIu0MCJEACJEACJEACJEACJEACJEACFOuMARIgARIgARIgARIgARIgARIgARLwGQGKdZ85hN0hARIgARIgARIgARIgARIgARIgAYp1xgAJkAAJkAAJkAAJkAAJkAAJkAAJ+IwAxbrPHMLukAAJkAAJkAAJkAAJkAAJkAAJkADFOmOABEiABEiABEiABEiABEiABEiABHxGgGLdZw5hd0iABEiABEiABEiABEiABEiABEiAYp0xQAIkQAIkQAIkQAIkQAIkQAIkQAI+I0Cx7jOHsDskQAIkQAIkQAIkQAIkQAIkQAIkQLHOGCABEiABEiABEiABEiABEiABEiABnxGgWPeZQ9gdEiABEiABEiABEiABEiABEiABEqBYZwyQAAmQAAmQAAmQAAmQAAmQAAmQgM8IUKz7zCHsDgmQAAmQAAmQAAmQAAmQAAmQAAlQrDMGSIAESIAESIAESIAESIAESIAESMBnBCjWfeYQdocESIAESIAESIAESIAESIAESIAEKNYZAyRAAiRAAiRAAiRAAiRAAiRAAiTgMwIU6z5zCLtDAiRAAiRAAiRAAiRAAiRAAiRAAhTrjAESIAESIAESIAESIAESIAESIAES8BkBinWfOYTdIQESIAESIAESIAESIAESIAESIAGKdcYACZAACZAACZAACZAACZAACZAACfiMAMW6zxzC7pAACZAACZAACZAACZAACZAACZAAxTpjgARIgARIgARIgARIgARIgARIgAR8RoBi3WcOYXdIgARIgARIgARIgARIgARIgARIgGKd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",
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"dynamics.plot_curves(colors=['red', 'violet', 'green'], show_intervals=True)"
]
},
{
"cell_type": "markdown",
"id": "c02a8f55-a671-4771-86c9-fc4d1b126bf8",
"metadata": {},
"source": [
"### Check the final equilibrium"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "765f6f39-4b2e-4a86-b6a9-ace9d1941663",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0: A + B <-> C\n",
"Final concentrations: [C] = 29.7 ; [A] = 0.2979 ; [B] = 40.3\n",
"1. Ratio of reactant/product concentrations, adjusted for reaction orders: 2.47387\n",
" Formula used: [C] / ([A][B])\n",
"2. Ratio of forward/reverse reaction rates: 2.5\n",
"Discrepancy between the two values: 1.045 %\n",
"Reaction IS in equilibrium (within 2% tolerance)\n",
"\n"
]
},
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Verify that the reaction has reached equilibrium\n",
"dynamics.is_in_equilibrium(tolerance=2)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "fcc82495-c952-4200-b316-157aac1ef22f",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"id": "5c747824-a170-439e-96a5-dd35bc81e08b",
"metadata": {},
"source": [
"# Everthing below is just for diagnostic insight \n",
"### into the adaptive variable time steps"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "06c8c7e9-edd9-45e1-b4a0-508f0b379c42",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" START_TIME | \n",
" Delta A | \n",
" Delta B | \n",
" Delta C | \n",
" norm_A | \n",
" norm_B | \n",
" action | \n",
" step_factor | \n",
" time_step | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.000000 | \n",
" -9.840000 | \n",
" -9.840000 | \n",
" 9.840000 | \n",
" 3.227520e+01 | \n",
" NaN | \n",
" ABORT | \n",
" 0.5 | \n",
" 0.004000 | \n",
" excessive norm value(s) | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.000000 | \n",
" -4.920000 | \n",
" -4.920000 | \n",
" 4.920000 | \n",
" 8.068800e+00 | \n",
" NaN | \n",
" ABORT | \n",
" 0.5 | \n",
" 0.002000 | \n",
" excessive norm value(s) | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.000000 | \n",
" -2.460000 | \n",
" -2.460000 | \n",
" 2.460000 | \n",
" 2.017200e+00 | \n",
" NaN | \n",
" ABORT | \n",
" 0.5 | \n",
" 0.001000 | \n",
" excessive norm value(s) | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.000000 | \n",
" -1.230000 | \n",
" -1.230000 | \n",
" 1.230000 | \n",
" 5.043000e-01 | \n",
" 0.123000 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 4 | \n",
" 0.000500 | \n",
" -1.048052 | \n",
" -1.048052 | \n",
" 1.048052 | \n",
" 3.661378e-01 | \n",
" 0.119504 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 5 | \n",
" 0.001000 | \n",
" -0.898988 | \n",
" -0.898988 | \n",
" 0.898988 | \n",
" 2.693931e-01 | \n",
" 0.116420 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 6 | \n",
" 0.001500 | \n",
" -0.775501 | \n",
" -0.775501 | \n",
" 0.775501 | \n",
" 2.004672e-01 | \n",
" 0.113660 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 7 | \n",
" 0.002000 | \n",
" -0.672223 | \n",
" -0.672223 | \n",
" 0.672223 | \n",
" 1.506278e-01 | \n",
" 0.111158 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 8 | \n",
" 0.002500 | \n",
" -0.585132 | \n",
" -0.585132 | \n",
" 0.585132 | \n",
" 1.141264e-01 | \n",
" 0.108857 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 9 | \n",
" 0.003000 | \n",
" -0.511163 | \n",
" -0.511163 | \n",
" 0.511163 | \n",
" 8.709597e-02 | \n",
" 0.106712 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 10 | \n",
" 0.003500 | \n",
" -0.447946 | \n",
" -0.447946 | \n",
" 0.447946 | \n",
" 6.688532e-02 | \n",
" 0.104686 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 11 | \n",
" 0.004000 | \n",
" -0.393622 | \n",
" -0.393622 | \n",
" 0.393622 | \n",
" 5.164603e-02 | \n",
" 0.102747 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 12 | \n",
" 0.004500 | \n",
" -0.346714 | \n",
" -0.346714 | \n",
" 0.346714 | \n",
" 4.007008e-02 | \n",
" 0.100866 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 13 | \n",
" 0.005000 | \n",
" -0.306037 | \n",
" -0.306037 | \n",
" 0.306037 | \n",
" 3.121956e-02 | \n",
" 0.099020 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 14 | \n",
" 0.005500 | \n",
" -0.270632 | \n",
" -0.270632 | \n",
" 0.270632 | \n",
" 2.441392e-02 | \n",
" 0.097188 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 15 | \n",
" 0.006000 | \n",
" -0.239713 | \n",
" -0.239713 | \n",
" 0.239713 | \n",
" 1.915417e-02 | \n",
" 0.095352 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 16 | \n",
" 0.006500 | \n",
" -0.212633 | \n",
" -0.212633 | \n",
" 0.212633 | \n",
" 1.507090e-02 | \n",
" 0.093495 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 17 | \n",
" 0.007000 | \n",
" -0.188852 | \n",
" -0.188852 | \n",
" 0.188852 | \n",
" 1.188836e-02 | \n",
" 0.091603 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 18 | \n",
" 0.007500 | \n",
" -0.167920 | \n",
" -0.167920 | \n",
" 0.167920 | \n",
" 9.399084e-03 | \n",
" 0.089663 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 19 | \n",
" 0.008000 | \n",
" -0.149459 | \n",
" -0.149459 | \n",
" 0.149459 | \n",
" 7.445949e-03 | \n",
" 0.087666 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 20 | \n",
" 0.008500 | \n",
" -0.133145 | \n",
" -0.133145 | \n",
" 0.133145 | \n",
" 5.909198e-03 | \n",
" 0.085601 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 21 | \n",
" 0.009000 | \n",
" -0.118706 | \n",
" -0.118706 | \n",
" 0.118706 | \n",
" 4.697054e-03 | \n",
" 0.083463 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 22 | \n",
" 0.009500 | \n",
" -0.105908 | \n",
" -0.105908 | \n",
" 0.105908 | \n",
" 3.738831e-03 | \n",
" 0.081245 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 23 | \n",
" 0.010000 | \n",
" -0.094549 | \n",
" -0.094549 | \n",
" 0.094549 | \n",
" 2.979837e-03 | \n",
" 0.078945 | \n",
" OK (low) | \n",
" 1.5 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 24 | \n",
" 0.010500 | \n",
" -0.126684 | \n",
" -0.126684 | \n",
" 0.126684 | \n",
" 5.349575e-03 | \n",
" 0.114843 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.000750 | \n",
" | \n",
"
\n",
" \n",
" | 25 | \n",
" 0.011250 | \n",
" -0.106503 | \n",
" -0.106503 | \n",
" 0.106503 | \n",
" 3.780970e-03 | \n",
" 0.109075 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.000750 | \n",
" | \n",
"
\n",
" \n",
" | 26 | \n",
" 0.012000 | \n",
" -0.089630 | \n",
" -0.089630 | \n",
" 0.089630 | \n",
" 2.677874e-03 | \n",
" 0.103033 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.000750 | \n",
" | \n",
"
\n",
" \n",
" | 27 | \n",
" 0.012750 | \n",
" -0.075497 | \n",
" -0.075497 | \n",
" 0.075497 | \n",
" 1.899922e-03 | \n",
" 0.096755 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.000750 | \n",
" | \n",
"
\n",
" \n",
" | 28 | \n",
" 0.013500 | \n",
" -0.063639 | \n",
" -0.063639 | \n",
" 0.063639 | \n",
" 1.349957e-03 | \n",
" 0.090294 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.000750 | \n",
" | \n",
"
\n",
" \n",
" | 29 | \n",
" 0.014250 | \n",
" -0.053676 | \n",
" -0.053676 | \n",
" 0.053676 | \n",
" 9.603761e-04 | \n",
" 0.083718 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.000750 | \n",
" | \n",
"
\n",
" \n",
" | 30 | \n",
" 0.015000 | \n",
" -0.045297 | \n",
" -0.045297 | \n",
" 0.045297 | \n",
" 6.839364e-04 | \n",
" 0.077104 | \n",
" OK (low) | \n",
" 1.5 | \n",
" 0.000750 | \n",
" | \n",
"
\n",
" \n",
" | 31 | \n",
" 0.015750 | \n",
" -0.057364 | \n",
" -0.057364 | \n",
" 0.057364 | \n",
" 1.096869e-03 | \n",
" 0.105802 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.001125 | \n",
" | \n",
"
\n",
" \n",
" | 32 | \n",
" 0.016875 | \n",
" -0.043996 | \n",
" -0.043996 | \n",
" 0.043996 | \n",
" 6.452305e-04 | \n",
" 0.090749 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.001125 | \n",
" | \n",
"
\n",
" \n",
" | 33 | \n",
" 0.018000 | \n",
" -0.033769 | \n",
" -0.033769 | \n",
" 0.033769 | \n",
" 3.801200e-04 | \n",
" 0.076606 | \n",
" OK (low) | \n",
" 1.5 | \n",
" 0.001125 | \n",
" | \n",
"
\n",
" \n",
" | 34 | \n",
" 0.019125 | \n",
" -0.038901 | \n",
" -0.038901 | \n",
" 0.038901 | \n",
" 5.044334e-04 | \n",
" 0.095569 | \n",
" OK (stay) | \n",
" 1.0 | \n",
" 0.001688 | \n",
" | \n",
"
\n",
" \n",
" | 35 | \n",
" 0.020813 | \n",
" -0.025386 | \n",
" -0.025386 | \n",
" 0.025386 | \n",
" 2.148211e-04 | \n",
" 0.068957 | \n",
" OK (low) | \n",
" 1.5 | \n",
" 0.001688 | \n",
" | \n",
"
\n",
" \n",
" | 36 | \n",
" 0.022500 | \n",
" -0.024871 | \n",
" -0.024871 | \n",
" 0.024871 | \n",
" 2.061837e-04 | \n",
" 0.072560 | \n",
" OK (low) | \n",
" 1.5 | \n",
" 0.002531 | \n",
" | \n",
"
\n",
" \n",
" | 37 | \n",
" 0.025031 | \n",
" -0.017919 | \n",
" -0.017919 | \n",
" 0.017919 | \n",
" 1.070309e-04 | \n",
" 0.056368 | \n",
" OK (low) | \n",
" 1.5 | \n",
" 0.003797 | \n",
" | \n",
"
\n",
" \n",
" | 38 | \n",
" 0.028828 | \n",
" -0.005948 | \n",
" -0.005948 | \n",
" 0.005948 | \n",
" 1.179398e-05 | \n",
" 0.019829 | \n",
" OK (low) | \n",
" 1.5 | \n",
" 0.005695 | \n",
" | \n",
"
\n",
" \n",
" | 39 | \n",
" 0.034523 | \n",
" 0.001493 | \n",
" 0.001493 | \n",
" -0.001493 | \n",
" 7.433416e-07 | \n",
" 0.005079 | \n",
" OK (low) | \n",
" 1.5 | \n",
" 0.008543 | \n",
" | \n",
"
\n",
" \n",
" | 40 | \n",
" 0.043066 | \n",
" -0.001682 | \n",
" -0.001682 | \n",
" 0.001682 | \n",
" 9.429553e-07 | \n",
" 0.005691 | \n",
" OK (low) | \n",
" 1.5 | \n",
" 0.012814 | \n",
" | \n",
"
\n",
" \n",
" | 41 | \n",
" 0.055881 | \n",
" 0.004103 | \n",
" 0.004103 | \n",
" -0.004103 | \n",
" 5.611315e-06 | \n",
" 0.013963 | \n",
" OK (low) | \n",
" 1.5 | \n",
" 0.019222 | \n",
" | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" START_TIME Delta A Delta B Delta C norm_A norm_B \\\n",
"0 0.000000 -9.840000 -9.840000 9.840000 3.227520e+01 NaN \n",
"1 0.000000 -4.920000 -4.920000 4.920000 8.068800e+00 NaN \n",
"2 0.000000 -2.460000 -2.460000 2.460000 2.017200e+00 NaN \n",
"3 0.000000 -1.230000 -1.230000 1.230000 5.043000e-01 0.123000 \n",
"4 0.000500 -1.048052 -1.048052 1.048052 3.661378e-01 0.119504 \n",
"5 0.001000 -0.898988 -0.898988 0.898988 2.693931e-01 0.116420 \n",
"6 0.001500 -0.775501 -0.775501 0.775501 2.004672e-01 0.113660 \n",
"7 0.002000 -0.672223 -0.672223 0.672223 1.506278e-01 0.111158 \n",
"8 0.002500 -0.585132 -0.585132 0.585132 1.141264e-01 0.108857 \n",
"9 0.003000 -0.511163 -0.511163 0.511163 8.709597e-02 0.106712 \n",
"10 0.003500 -0.447946 -0.447946 0.447946 6.688532e-02 0.104686 \n",
"11 0.004000 -0.393622 -0.393622 0.393622 5.164603e-02 0.102747 \n",
"12 0.004500 -0.346714 -0.346714 0.346714 4.007008e-02 0.100866 \n",
"13 0.005000 -0.306037 -0.306037 0.306037 3.121956e-02 0.099020 \n",
"14 0.005500 -0.270632 -0.270632 0.270632 2.441392e-02 0.097188 \n",
"15 0.006000 -0.239713 -0.239713 0.239713 1.915417e-02 0.095352 \n",
"16 0.006500 -0.212633 -0.212633 0.212633 1.507090e-02 0.093495 \n",
"17 0.007000 -0.188852 -0.188852 0.188852 1.188836e-02 0.091603 \n",
"18 0.007500 -0.167920 -0.167920 0.167920 9.399084e-03 0.089663 \n",
"19 0.008000 -0.149459 -0.149459 0.149459 7.445949e-03 0.087666 \n",
"20 0.008500 -0.133145 -0.133145 0.133145 5.909198e-03 0.085601 \n",
"21 0.009000 -0.118706 -0.118706 0.118706 4.697054e-03 0.083463 \n",
"22 0.009500 -0.105908 -0.105908 0.105908 3.738831e-03 0.081245 \n",
"23 0.010000 -0.094549 -0.094549 0.094549 2.979837e-03 0.078945 \n",
"24 0.010500 -0.126684 -0.126684 0.126684 5.349575e-03 0.114843 \n",
"25 0.011250 -0.106503 -0.106503 0.106503 3.780970e-03 0.109075 \n",
"26 0.012000 -0.089630 -0.089630 0.089630 2.677874e-03 0.103033 \n",
"27 0.012750 -0.075497 -0.075497 0.075497 1.899922e-03 0.096755 \n",
"28 0.013500 -0.063639 -0.063639 0.063639 1.349957e-03 0.090294 \n",
"29 0.014250 -0.053676 -0.053676 0.053676 9.603761e-04 0.083718 \n",
"30 0.015000 -0.045297 -0.045297 0.045297 6.839364e-04 0.077104 \n",
"31 0.015750 -0.057364 -0.057364 0.057364 1.096869e-03 0.105802 \n",
"32 0.016875 -0.043996 -0.043996 0.043996 6.452305e-04 0.090749 \n",
"33 0.018000 -0.033769 -0.033769 0.033769 3.801200e-04 0.076606 \n",
"34 0.019125 -0.038901 -0.038901 0.038901 5.044334e-04 0.095569 \n",
"35 0.020813 -0.025386 -0.025386 0.025386 2.148211e-04 0.068957 \n",
"36 0.022500 -0.024871 -0.024871 0.024871 2.061837e-04 0.072560 \n",
"37 0.025031 -0.017919 -0.017919 0.017919 1.070309e-04 0.056368 \n",
"38 0.028828 -0.005948 -0.005948 0.005948 1.179398e-05 0.019829 \n",
"39 0.034523 0.001493 0.001493 -0.001493 7.433416e-07 0.005079 \n",
"40 0.043066 -0.001682 -0.001682 0.001682 9.429553e-07 0.005691 \n",
"41 0.055881 0.004103 0.004103 -0.004103 5.611315e-06 0.013963 \n",
"\n",
" action step_factor time_step caption \n",
"0 ABORT 0.5 0.004000 excessive norm value(s) \n",
"1 ABORT 0.5 0.002000 excessive norm value(s) \n",
"2 ABORT 0.5 0.001000 excessive norm value(s) \n",
"3 OK (stay) 1.0 0.000500 \n",
"4 OK (stay) 1.0 0.000500 \n",
"5 OK (stay) 1.0 0.000500 \n",
"6 OK (stay) 1.0 0.000500 \n",
"7 OK (stay) 1.0 0.000500 \n",
"8 OK (stay) 1.0 0.000500 \n",
"9 OK (stay) 1.0 0.000500 \n",
"10 OK (stay) 1.0 0.000500 \n",
"11 OK (stay) 1.0 0.000500 \n",
"12 OK (stay) 1.0 0.000500 \n",
"13 OK (stay) 1.0 0.000500 \n",
"14 OK (stay) 1.0 0.000500 \n",
"15 OK (stay) 1.0 0.000500 \n",
"16 OK (stay) 1.0 0.000500 \n",
"17 OK (stay) 1.0 0.000500 \n",
"18 OK (stay) 1.0 0.000500 \n",
"19 OK (stay) 1.0 0.000500 \n",
"20 OK (stay) 1.0 0.000500 \n",
"21 OK (stay) 1.0 0.000500 \n",
"22 OK (stay) 1.0 0.000500 \n",
"23 OK (low) 1.5 0.000500 \n",
"24 OK (stay) 1.0 0.000750 \n",
"25 OK (stay) 1.0 0.000750 \n",
"26 OK (stay) 1.0 0.000750 \n",
"27 OK (stay) 1.0 0.000750 \n",
"28 OK (stay) 1.0 0.000750 \n",
"29 OK (stay) 1.0 0.000750 \n",
"30 OK (low) 1.5 0.000750 \n",
"31 OK (stay) 1.0 0.001125 \n",
"32 OK (stay) 1.0 0.001125 \n",
"33 OK (low) 1.5 0.001125 \n",
"34 OK (stay) 1.0 0.001688 \n",
"35 OK (low) 1.5 0.001688 \n",
"36 OK (low) 1.5 0.002531 \n",
"37 OK (low) 1.5 0.003797 \n",
"38 OK (low) 1.5 0.005695 \n",
"39 OK (low) 1.5 0.008543 \n",
"40 OK (low) 1.5 0.012814 \n",
"41 OK (low) 1.5 0.019222 "
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dynamics.get_diagnostic_decisions_data()"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "4e3012c6-c870-411c-bb80-7e1076233ca3",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Reaction: A + B <-> C\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" START_TIME | \n",
" Delta A | \n",
" Delta B | \n",
" Delta C | \n",
" time_step | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.000000 | \n",
" -9.840000 | \n",
" -9.840000 | \n",
" 9.840000 | \n",
" 0.004000 | \n",
" aborted: excessive norm value(s) | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.000000 | \n",
" -4.920000 | \n",
" -4.920000 | \n",
" 4.920000 | \n",
" 0.002000 | \n",
" aborted: excessive norm value(s) | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.000000 | \n",
" -2.460000 | \n",
" -2.460000 | \n",
" 2.460000 | \n",
" 0.001000 | \n",
" aborted: excessive norm value(s) | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.000000 | \n",
" -1.230000 | \n",
" -1.230000 | \n",
" 1.230000 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 4 | \n",
" 0.000500 | \n",
" -1.048052 | \n",
" -1.048052 | \n",
" 1.048052 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 5 | \n",
" 0.001000 | \n",
" -0.898988 | \n",
" -0.898988 | \n",
" 0.898988 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 6 | \n",
" 0.001500 | \n",
" -0.775501 | \n",
" -0.775501 | \n",
" 0.775501 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 7 | \n",
" 0.002000 | \n",
" -0.672223 | \n",
" -0.672223 | \n",
" 0.672223 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 8 | \n",
" 0.002500 | \n",
" -0.585132 | \n",
" -0.585132 | \n",
" 0.585132 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 9 | \n",
" 0.003000 | \n",
" -0.511163 | \n",
" -0.511163 | \n",
" 0.511163 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 10 | \n",
" 0.003500 | \n",
" -0.447946 | \n",
" -0.447946 | \n",
" 0.447946 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 11 | \n",
" 0.004000 | \n",
" -0.393622 | \n",
" -0.393622 | \n",
" 0.393622 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 12 | \n",
" 0.004500 | \n",
" -0.346714 | \n",
" -0.346714 | \n",
" 0.346714 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 13 | \n",
" 0.005000 | \n",
" -0.306037 | \n",
" -0.306037 | \n",
" 0.306037 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 14 | \n",
" 0.005500 | \n",
" -0.270632 | \n",
" -0.270632 | \n",
" 0.270632 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 15 | \n",
" 0.006000 | \n",
" -0.239713 | \n",
" -0.239713 | \n",
" 0.239713 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 16 | \n",
" 0.006500 | \n",
" -0.212633 | \n",
" -0.212633 | \n",
" 0.212633 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 17 | \n",
" 0.007000 | \n",
" -0.188852 | \n",
" -0.188852 | \n",
" 0.188852 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 18 | \n",
" 0.007500 | \n",
" -0.167920 | \n",
" -0.167920 | \n",
" 0.167920 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 19 | \n",
" 0.008000 | \n",
" -0.149459 | \n",
" -0.149459 | \n",
" 0.149459 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 20 | \n",
" 0.008500 | \n",
" -0.133145 | \n",
" -0.133145 | \n",
" 0.133145 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 21 | \n",
" 0.009000 | \n",
" -0.118706 | \n",
" -0.118706 | \n",
" 0.118706 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 22 | \n",
" 0.009500 | \n",
" -0.105908 | \n",
" -0.105908 | \n",
" 0.105908 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 23 | \n",
" 0.010000 | \n",
" -0.094549 | \n",
" -0.094549 | \n",
" 0.094549 | \n",
" 0.000500 | \n",
" | \n",
"
\n",
" \n",
" | 24 | \n",
" 0.010500 | \n",
" -0.126684 | \n",
" -0.126684 | \n",
" 0.126684 | \n",
" 0.000750 | \n",
" | \n",
"
\n",
" \n",
" | 25 | \n",
" 0.011250 | \n",
" -0.106503 | \n",
" -0.106503 | \n",
" 0.106503 | \n",
" 0.000750 | \n",
" | \n",
"
\n",
" \n",
" | 26 | \n",
" 0.012000 | \n",
" -0.089630 | \n",
" -0.089630 | \n",
" 0.089630 | \n",
" 0.000750 | \n",
" | \n",
"
\n",
" \n",
" | 27 | \n",
" 0.012750 | \n",
" -0.075497 | \n",
" -0.075497 | \n",
" 0.075497 | \n",
" 0.000750 | \n",
" | \n",
"
\n",
" \n",
" | 28 | \n",
" 0.013500 | \n",
" -0.063639 | \n",
" -0.063639 | \n",
" 0.063639 | \n",
" 0.000750 | \n",
" | \n",
"
\n",
" \n",
" | 29 | \n",
" 0.014250 | \n",
" -0.053676 | \n",
" -0.053676 | \n",
" 0.053676 | \n",
" 0.000750 | \n",
" | \n",
"
\n",
" \n",
" | 30 | \n",
" 0.015000 | \n",
" -0.045297 | \n",
" -0.045297 | \n",
" 0.045297 | \n",
" 0.000750 | \n",
" | \n",
"
\n",
" \n",
" | 31 | \n",
" 0.015750 | \n",
" -0.057364 | \n",
" -0.057364 | \n",
" 0.057364 | \n",
" 0.001125 | \n",
" | \n",
"
\n",
" \n",
" | 32 | \n",
" 0.016875 | \n",
" -0.043996 | \n",
" -0.043996 | \n",
" 0.043996 | \n",
" 0.001125 | \n",
" | \n",
"
\n",
" \n",
" | 33 | \n",
" 0.018000 | \n",
" -0.033769 | \n",
" -0.033769 | \n",
" 0.033769 | \n",
" 0.001125 | \n",
" | \n",
"
\n",
" \n",
" | 34 | \n",
" 0.019125 | \n",
" -0.038901 | \n",
" -0.038901 | \n",
" 0.038901 | \n",
" 0.001688 | \n",
" | \n",
"
\n",
" \n",
" | 35 | \n",
" 0.020813 | \n",
" -0.025386 | \n",
" -0.025386 | \n",
" 0.025386 | \n",
" 0.001688 | \n",
" | \n",
"
\n",
" \n",
" | 36 | \n",
" 0.022500 | \n",
" -0.024871 | \n",
" -0.024871 | \n",
" 0.024871 | \n",
" 0.002531 | \n",
" | \n",
"
\n",
" \n",
" | 37 | \n",
" 0.025031 | \n",
" -0.017919 | \n",
" -0.017919 | \n",
" 0.017919 | \n",
" 0.003797 | \n",
" | \n",
"
\n",
" \n",
" | 38 | \n",
" 0.028828 | \n",
" -0.005948 | \n",
" -0.005948 | \n",
" 0.005948 | \n",
" 0.005695 | \n",
" | \n",
"
\n",
" \n",
" | 39 | \n",
" 0.034523 | \n",
" 0.001493 | \n",
" 0.001493 | \n",
" -0.001493 | \n",
" 0.008543 | \n",
" | \n",
"
\n",
" \n",
" | 40 | \n",
" 0.043066 | \n",
" -0.001682 | \n",
" -0.001682 | \n",
" 0.001682 | \n",
" 0.012814 | \n",
" | \n",
"
\n",
" \n",
" | 41 | \n",
" 0.055881 | \n",
" 0.004103 | \n",
" 0.004103 | \n",
" -0.004103 | \n",
" 0.019222 | \n",
" | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" START_TIME Delta A Delta B Delta C time_step \\\n",
"0 0.000000 -9.840000 -9.840000 9.840000 0.004000 \n",
"1 0.000000 -4.920000 -4.920000 4.920000 0.002000 \n",
"2 0.000000 -2.460000 -2.460000 2.460000 0.001000 \n",
"3 0.000000 -1.230000 -1.230000 1.230000 0.000500 \n",
"4 0.000500 -1.048052 -1.048052 1.048052 0.000500 \n",
"5 0.001000 -0.898988 -0.898988 0.898988 0.000500 \n",
"6 0.001500 -0.775501 -0.775501 0.775501 0.000500 \n",
"7 0.002000 -0.672223 -0.672223 0.672223 0.000500 \n",
"8 0.002500 -0.585132 -0.585132 0.585132 0.000500 \n",
"9 0.003000 -0.511163 -0.511163 0.511163 0.000500 \n",
"10 0.003500 -0.447946 -0.447946 0.447946 0.000500 \n",
"11 0.004000 -0.393622 -0.393622 0.393622 0.000500 \n",
"12 0.004500 -0.346714 -0.346714 0.346714 0.000500 \n",
"13 0.005000 -0.306037 -0.306037 0.306037 0.000500 \n",
"14 0.005500 -0.270632 -0.270632 0.270632 0.000500 \n",
"15 0.006000 -0.239713 -0.239713 0.239713 0.000500 \n",
"16 0.006500 -0.212633 -0.212633 0.212633 0.000500 \n",
"17 0.007000 -0.188852 -0.188852 0.188852 0.000500 \n",
"18 0.007500 -0.167920 -0.167920 0.167920 0.000500 \n",
"19 0.008000 -0.149459 -0.149459 0.149459 0.000500 \n",
"20 0.008500 -0.133145 -0.133145 0.133145 0.000500 \n",
"21 0.009000 -0.118706 -0.118706 0.118706 0.000500 \n",
"22 0.009500 -0.105908 -0.105908 0.105908 0.000500 \n",
"23 0.010000 -0.094549 -0.094549 0.094549 0.000500 \n",
"24 0.010500 -0.126684 -0.126684 0.126684 0.000750 \n",
"25 0.011250 -0.106503 -0.106503 0.106503 0.000750 \n",
"26 0.012000 -0.089630 -0.089630 0.089630 0.000750 \n",
"27 0.012750 -0.075497 -0.075497 0.075497 0.000750 \n",
"28 0.013500 -0.063639 -0.063639 0.063639 0.000750 \n",
"29 0.014250 -0.053676 -0.053676 0.053676 0.000750 \n",
"30 0.015000 -0.045297 -0.045297 0.045297 0.000750 \n",
"31 0.015750 -0.057364 -0.057364 0.057364 0.001125 \n",
"32 0.016875 -0.043996 -0.043996 0.043996 0.001125 \n",
"33 0.018000 -0.033769 -0.033769 0.033769 0.001125 \n",
"34 0.019125 -0.038901 -0.038901 0.038901 0.001688 \n",
"35 0.020813 -0.025386 -0.025386 0.025386 0.001688 \n",
"36 0.022500 -0.024871 -0.024871 0.024871 0.002531 \n",
"37 0.025031 -0.017919 -0.017919 0.017919 0.003797 \n",
"38 0.028828 -0.005948 -0.005948 0.005948 0.005695 \n",
"39 0.034523 0.001493 0.001493 -0.001493 0.008543 \n",
"40 0.043066 -0.001682 -0.001682 0.001682 0.012814 \n",
"41 0.055881 0.004103 0.004103 -0.004103 0.019222 \n",
"\n",
" caption \n",
"0 aborted: excessive norm value(s) \n",
"1 aborted: excessive norm value(s) \n",
"2 aborted: excessive norm value(s) \n",
"3 \n",
"4 \n",
"5 \n",
"6 \n",
"7 \n",
"8 \n",
"9 \n",
"10 \n",
"11 \n",
"12 \n",
"13 \n",
"14 \n",
"15 \n",
"16 \n",
"17 \n",
"18 \n",
"19 \n",
"20 \n",
"21 \n",
"22 \n",
"23 \n",
"24 \n",
"25 \n",
"26 \n",
"27 \n",
"28 \n",
"29 \n",
"30 \n",
"31 \n",
"32 \n",
"33 \n",
"34 \n",
"35 \n",
"36 \n",
"37 \n",
"38 \n",
"39 \n",
"40 \n",
"41 "
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dynamics.get_diagnostic_rxn_data(rxn_index=0)"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "a5cee533-a63c-4ff8-9427-e9b64cf4885a",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" TIME | \n",
" A | \n",
" B | \n",
" C | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.000000 | \n",
" 10.000000 | \n",
" 50.000000 | \n",
" 20.000000 | \n",
" | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.000500 | \n",
" 8.770000 | \n",
" 48.770000 | \n",
" 21.230000 | \n",
" | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.001000 | \n",
" 7.721948 | \n",
" 47.721948 | \n",
" 22.278052 | \n",
" | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.001500 | \n",
" 6.822960 | \n",
" 46.822960 | \n",
" 23.177040 | \n",
" | \n",
"
\n",
" \n",
" | 4 | \n",
" 0.002000 | \n",
" 6.047459 | \n",
" 46.047459 | \n",
" 23.952541 | \n",
" | \n",
"
\n",
" \n",
" | 5 | \n",
" 0.002500 | \n",
" 5.375236 | \n",
" 45.375236 | \n",
" 24.624764 | \n",
" | \n",
"
\n",
" \n",
" | 6 | \n",
" 0.003000 | \n",
" 4.790104 | \n",
" 44.790104 | \n",
" 25.209896 | \n",
" | \n",
"
\n",
" \n",
" | 7 | \n",
" 0.003500 | \n",
" 4.278941 | \n",
" 44.278941 | \n",
" 25.721059 | \n",
" | \n",
"
\n",
" \n",
" | 8 | \n",
" 0.004000 | \n",
" 3.830995 | \n",
" 43.830995 | \n",
" 26.169005 | \n",
" | \n",
"
\n",
" \n",
" | 9 | \n",
" 0.004500 | \n",
" 3.437373 | \n",
" 43.437373 | \n",
" 26.562627 | \n",
" | \n",
"
\n",
" \n",
" | 10 | \n",
" 0.005000 | \n",
" 3.090659 | \n",
" 43.090659 | \n",
" 26.909341 | \n",
" | \n",
"
\n",
" \n",
" | 11 | \n",
" 0.005500 | \n",
" 2.784622 | \n",
" 42.784622 | \n",
" 27.215378 | \n",
" | \n",
"
\n",
" \n",
" | 12 | \n",
" 0.006000 | \n",
" 2.513990 | \n",
" 42.513990 | \n",
" 27.486010 | \n",
" | \n",
"
\n",
" \n",
" | 13 | \n",
" 0.006500 | \n",
" 2.274277 | \n",
" 42.274277 | \n",
" 27.725723 | \n",
" | \n",
"
\n",
" \n",
" | 14 | \n",
" 0.007000 | \n",
" 2.061644 | \n",
" 42.061644 | \n",
" 27.938356 | \n",
" | \n",
"
\n",
" \n",
" | 15 | \n",
" 0.007500 | \n",
" 1.872792 | \n",
" 41.872792 | \n",
" 28.127208 | \n",
" | \n",
"
\n",
" \n",
" | 16 | \n",
" 0.008000 | \n",
" 1.704872 | \n",
" 41.704872 | \n",
" 28.295128 | \n",
" | \n",
"
\n",
" \n",
" | 17 | \n",
" 0.008500 | \n",
" 1.555413 | \n",
" 41.555413 | \n",
" 28.444587 | \n",
" | \n",
"
\n",
" \n",
" | 18 | \n",
" 0.009000 | \n",
" 1.422268 | \n",
" 41.422268 | \n",
" 28.577732 | \n",
" | \n",
"
\n",
" \n",
" | 19 | \n",
" 0.009500 | \n",
" 1.303562 | \n",
" 41.303562 | \n",
" 28.696438 | \n",
" | \n",
"
\n",
" \n",
" | 20 | \n",
" 0.010000 | \n",
" 1.197654 | \n",
" 41.197654 | \n",
" 28.802346 | \n",
" | \n",
"
\n",
" \n",
" | 21 | \n",
" 0.010500 | \n",
" 1.103105 | \n",
" 41.103105 | \n",
" 28.896895 | \n",
" | \n",
"
\n",
" \n",
" | 22 | \n",
" 0.011250 | \n",
" 0.976421 | \n",
" 40.976421 | \n",
" 29.023579 | \n",
" | \n",
"
\n",
" \n",
" | 23 | \n",
" 0.012000 | \n",
" 0.869918 | \n",
" 40.869918 | \n",
" 29.130082 | \n",
" | \n",
"
\n",
" \n",
" | 24 | \n",
" 0.012750 | \n",
" 0.780288 | \n",
" 40.780288 | \n",
" 29.219712 | \n",
" | \n",
"
\n",
" \n",
" | 25 | \n",
" 0.013500 | \n",
" 0.704791 | \n",
" 40.704791 | \n",
" 29.295209 | \n",
" | \n",
"
\n",
" \n",
" | 26 | \n",
" 0.014250 | \n",
" 0.641153 | \n",
" 40.641153 | \n",
" 29.358847 | \n",
" | \n",
"
\n",
" \n",
" | 27 | \n",
" 0.015000 | \n",
" 0.587476 | \n",
" 40.587476 | \n",
" 29.412524 | \n",
" | \n",
"
\n",
" \n",
" | 28 | \n",
" 0.015750 | \n",
" 0.542179 | \n",
" 40.542179 | \n",
" 29.457821 | \n",
" | \n",
"
\n",
" \n",
" | 29 | \n",
" 0.016875 | \n",
" 0.484816 | \n",
" 40.484816 | \n",
" 29.515184 | \n",
" | \n",
"
\n",
" \n",
" | 30 | \n",
" 0.018000 | \n",
" 0.440819 | \n",
" 40.440819 | \n",
" 29.559181 | \n",
" | \n",
"
\n",
" \n",
" | 31 | \n",
" 0.019125 | \n",
" 0.407050 | \n",
" 40.407050 | \n",
" 29.592950 | \n",
" | \n",
"
\n",
" \n",
" | 32 | \n",
" 0.020813 | \n",
" 0.368149 | \n",
" 40.368149 | \n",
" 29.631851 | \n",
" | \n",
"
\n",
" \n",
" | 33 | \n",
" 0.022500 | \n",
" 0.342763 | \n",
" 40.342763 | \n",
" 29.657237 | \n",
" | \n",
"
\n",
" \n",
" | 34 | \n",
" 0.025031 | \n",
" 0.317892 | \n",
" 40.317892 | \n",
" 29.682108 | \n",
" | \n",
"
\n",
" \n",
" | 35 | \n",
" 0.028828 | \n",
" 0.299973 | \n",
" 40.299973 | \n",
" 29.700027 | \n",
" | \n",
"
\n",
" \n",
" | 36 | \n",
" 0.034523 | \n",
" 0.294024 | \n",
" 40.294024 | \n",
" 29.705976 | \n",
" | \n",
"
\n",
" \n",
" | 37 | \n",
" 0.043066 | \n",
" 0.295518 | \n",
" 40.295518 | \n",
" 29.704482 | \n",
" | \n",
"
\n",
" \n",
" | 38 | \n",
" 0.055881 | \n",
" 0.293836 | \n",
" 40.293836 | \n",
" 29.706164 | \n",
" | \n",
"
\n",
" \n",
" | 39 | \n",
" 0.075103 | \n",
" 0.297939 | \n",
" 40.297939 | \n",
" 29.702061 | \n",
" | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" TIME A B C caption\n",
"0 0.000000 10.000000 50.000000 20.000000 \n",
"1 0.000500 8.770000 48.770000 21.230000 \n",
"2 0.001000 7.721948 47.721948 22.278052 \n",
"3 0.001500 6.822960 46.822960 23.177040 \n",
"4 0.002000 6.047459 46.047459 23.952541 \n",
"5 0.002500 5.375236 45.375236 24.624764 \n",
"6 0.003000 4.790104 44.790104 25.209896 \n",
"7 0.003500 4.278941 44.278941 25.721059 \n",
"8 0.004000 3.830995 43.830995 26.169005 \n",
"9 0.004500 3.437373 43.437373 26.562627 \n",
"10 0.005000 3.090659 43.090659 26.909341 \n",
"11 0.005500 2.784622 42.784622 27.215378 \n",
"12 0.006000 2.513990 42.513990 27.486010 \n",
"13 0.006500 2.274277 42.274277 27.725723 \n",
"14 0.007000 2.061644 42.061644 27.938356 \n",
"15 0.007500 1.872792 41.872792 28.127208 \n",
"16 0.008000 1.704872 41.704872 28.295128 \n",
"17 0.008500 1.555413 41.555413 28.444587 \n",
"18 0.009000 1.422268 41.422268 28.577732 \n",
"19 0.009500 1.303562 41.303562 28.696438 \n",
"20 0.010000 1.197654 41.197654 28.802346 \n",
"21 0.010500 1.103105 41.103105 28.896895 \n",
"22 0.011250 0.976421 40.976421 29.023579 \n",
"23 0.012000 0.869918 40.869918 29.130082 \n",
"24 0.012750 0.780288 40.780288 29.219712 \n",
"25 0.013500 0.704791 40.704791 29.295209 \n",
"26 0.014250 0.641153 40.641153 29.358847 \n",
"27 0.015000 0.587476 40.587476 29.412524 \n",
"28 0.015750 0.542179 40.542179 29.457821 \n",
"29 0.016875 0.484816 40.484816 29.515184 \n",
"30 0.018000 0.440819 40.440819 29.559181 \n",
"31 0.019125 0.407050 40.407050 29.592950 \n",
"32 0.020813 0.368149 40.368149 29.631851 \n",
"33 0.022500 0.342763 40.342763 29.657237 \n",
"34 0.025031 0.317892 40.317892 29.682108 \n",
"35 0.028828 0.299973 40.299973 29.700027 \n",
"36 0.034523 0.294024 40.294024 29.705976 \n",
"37 0.043066 0.295518 40.295518 29.704482 \n",
"38 0.055881 0.293836 40.293836 29.706164 \n",
"39 0.075103 0.297939 40.297939 29.702061 "
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dynamics.get_diagnostic_conc_data()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "1918451d",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.8.10"
}
},
"nbformat": 4,
"nbformat_minor": 5
}