{ "cells": [ { "cell_type": "markdown", "id": "c4478ee5-edc2-4069-b339-b12e42e4ac7c", "metadata": {}, "source": [ "## Initial imports" ] }, { "cell_type": "code", "execution_count": 1, "id": "df986d72-f26b-4a3c-b82a-f9bcdaf2da7d", "metadata": {}, "outputs": [], "source": [ "import scm.plams as plams\n", "from scm.params import ParAMSJob, ResultsImporter\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "id": "17d5e6a2-e89e-4b61-ac0a-0fcf01e8194a", "metadata": {}, "source": [ "## Initialize PLAMS environment" ] }, { "cell_type": "code", "execution_count": 2, "id": "bb281ad1-1128-44f0-befa-c9df4597f20b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PLAMS working folder: /home/hellstrom/temp/temp-BiN-2024-Feb-28/plams_workdir.003\n" ] } ], "source": [ "plams.init()" ] }, { "cell_type": "markdown", "id": "6454d372-4445-40c5-ab97-4d0a6b4fb378", "metadata": {}, "source": [ "## Initialize results importer" ] }, { "cell_type": "code", "execution_count": 3, "id": "dc9b402b-9f38-44f3-859a-ef0339f5822e", "metadata": {}, "outputs": [], "source": [ "ri = ResultsImporter()" ] }, { "cell_type": "markdown", "id": "b0e1a5b4-3843-43fa-b3a9-9fde298584cb", "metadata": {}, "source": [ "## Initial water molecule structure" ] }, { "cell_type": "code", "execution_count": 4, "id": "758cdf98-01af-49ef-9a55-83fa00506796", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "molecule = plams.from_smiles(\"O\")\n", "for at in molecule:\n", " at.properties = plams.Settings()\n", "\n", "plams.plot_molecule(molecule)" ] }, { "cell_type": "markdown", "id": "a43a94dd-f3d5-4546-9411-fa1789923f37", "metadata": {}, "source": [ "## Reference bond scan #1: O-H" ] }, { "cell_type": "code", "execution_count": 5, "id": "bddd46c9-7a9a-4808-94f8-ea96e3d304a1", "metadata": {}, "outputs": [], "source": [ "s = plams.Settings()\n", "s.input.ams.Task = \"PESScan\"\n", "s.input.ams.PESScan.ScanCoordinate = [plams.Settings()]\n", "# Scan O-H bond from 0.8 to 1.2 angstrom in 7 steps\n", "s.input.ams.PESScan.ScanCoordinate[0].Distance = [\"1 2 0.8 1.2\"]\n", "s.input.ams.PESScan.ScanCoordinate[0].nPoints = 7\n", "# CalcPropertiesAtPESPoints is required to be able to extract the forces later\n", "s.input.ams.PESScan.CalcPropertiesAtPESPoints = \"Yes\"\n", "s.input.ForceField.Type = \"UFF\"\n", "s.runscript.nproc = 1" ] }, { "cell_type": "code", "execution_count": 6, "id": "85c234b8-8204-4aef-b8f0-a1746f2862ea", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[28.02|12:53:57] JOB OH_scan STARTED\n", "[28.02|12:53:57] JOB OH_scan RUNNING\n", "[28.02|12:53:57] JOB OH_scan FINISHED\n", "[28.02|12:53:57] Job OH_scan reported warnings. Please check the output\n", "[28.02|12:53:57] JOB OH_scan SUCCESSFUL\n" ] } ], "source": [ "refjob1 = plams.AMSJob(settings=s, molecule=molecule, name=\"OH_scan\")\n", "refjob1.run();" ] }, { "cell_type": "markdown", "id": "cd1f4258-ec65-4903-ba67-6f1d3c14285f", "metadata": {}, "source": [ "``add_pesscan_singlepoints`` will give points that ARE used for training/validation:" ] }, { "cell_type": "code", "execution_count": 7, "id": "20edf03e-bf4b-4717-9408-f78225048e8a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[\"energy('OH_scan_frame048')\",\n", " \"energy('OH_scan_frame097')\",\n", " \"energy('OH_scan_frame154')\",\n", " \"energy('OH_scan_frame168')\",\n", " \"energy('OH_scan_frame182')\",\n", " \"energy('OH_scan_frame196')\",\n", " \"energy('OH_scan_frame210')\",\n", " \"forces('OH_scan_frame048')\",\n", " \"forces('OH_scan_frame097')\",\n", " \"forces('OH_scan_frame154')\",\n", " \"forces('OH_scan_frame168')\",\n", " \"forces('OH_scan_frame182')\",\n", " \"forces('OH_scan_frame196')\",\n", " \"forces('OH_scan_frame210')\"]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ri.add_pesscan_singlepoints(refjob1, properties=[\"energy\", \"forces\"])" ] }, { "cell_type": "markdown", "id": "b081b922-00e8-48cd-9d8c-5febd2edd04d", "metadata": {}, "source": [ "``add_singlejob`` with ``task=\"PESScan\"`` gives a job that is used neither for training nor validation. Instead it will be part of the \"test set\", no matter if it's given in the training or validation sets in the input." ] }, { "cell_type": "code", "execution_count": 8, "id": "b1cb810e-dfb5-4607-b5a4-d833704d7591", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[\"pes('OH_scan', relative_to=3)\"]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ri.add_singlejob(refjob1, task=\"PESScan\", properties=\"pes\")" ] }, { "cell_type": "markdown", "id": "be09940c-0614-455b-acfb-6b11cc72c931", "metadata": {}, "source": [ "## Reference bond scan #2: H-H" ] }, { "cell_type": "code", "execution_count": 9, "id": "728121a4-1091-42fb-8998-40c946a95a6a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[28.02|12:53:58] JOB HH_scan STARTED\n", "[28.02|12:53:58] JOB HH_scan RUNNING\n", "[28.02|12:53:58] JOB HH_scan FINISHED\n", "[28.02|12:53:58] Job HH_scan reported warnings. Please check the output\n", "[28.02|12:53:58] JOB HH_scan SUCCESSFUL\n" ] } ], "source": [ "s = plams.Settings()\n", "s.input.ams.Task = \"PESScan\"\n", "s.input.ams.PESScan.ScanCoordinate = [plams.Settings()]\n", "# Scan H-H distance from 0.8 to 1.2 angstrom in 7 steps\n", "s.input.ams.PESScan.ScanCoordinate[0].Distance = [\"3 2 1.2 1.8\"]\n", "s.input.ams.PESScan.ScanCoordinate[0].nPoints = 7\n", "# CalcPropertiesAtPESPoints is required to be able to extract the forces later\n", "s.input.ams.PESScan.CalcPropertiesAtPESPoints = \"Yes\"\n", "s.input.ForceField.Type = \"UFF\"\n", "s.runscript.nproc = 1\n", "refjob2 = plams.AMSJob(settings=s, molecule=molecule, name=\"HH_scan\")\n", "refjob2.run();" ] }, { "cell_type": "markdown", "id": "b41e5327-34a4-4f3f-9812-07ad99d7bc64", "metadata": {}, "source": [ "For the H-H, we will *only* add it to the \"test set\" with task PESScan.\n", "\n", "This will clearly illustrate that while the O-H bond scan is well reproduced by the trained model, the H-H scan will not be well reproduced." ] }, { "cell_type": "code", "execution_count": 10, "id": "eb2c28a1-c3df-4017-85de-182a67f0b2d3", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[\"pes('HH_scan', relative_to=4)\"]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ri.add_singlejob(refjob2, task=\"PESScan\", properties=\"pes\")" ] }, { "cell_type": "markdown", "id": "c07ad05f-6677-469d-9154-7aee9af37930", "metadata": {}, "source": [ "## Reference geometry optimization" ] }, { "cell_type": "code", "execution_count": 11, "id": "f16ead80-bfc9-414a-86cc-0617f631a35a", "metadata": {}, "outputs": [], "source": [ "s = plams.Settings()\n", "s.input.ams.Task = \"GeometryOptimization\"\n", "s.input.ForceField.Type = \"UFF\"\n", "s.runscript.nproc = 1" ] }, { "cell_type": "code", "execution_count": 12, "id": "f8035a0e-2d69-4ab5-b742-f2cd2adde314", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[28.02|12:53:58] JOB geometry_optimization STARTED\n", "[28.02|12:53:58] JOB geometry_optimization RUNNING\n", "[28.02|12:53:58] JOB geometry_optimization FINISHED\n", "[28.02|12:53:58] JOB geometry_optimization SUCCESSFUL\n" ] } ], "source": [ "refjob3 = plams.AMSJob(settings=s, molecule=molecule, name=\"geometry_optimization\")\n", "refjob3.run();" ] }, { "cell_type": "markdown", "id": "020ddcb1-aa54-4aff-832f-096c87d18236", "metadata": {}, "source": [ "``add_trajectory_singlepoints`` will give points that ARE used for training/validation:" ] }, { "cell_type": "code", "execution_count": 13, "id": "9e4f7285-77e8-4ccf-9334-0877e8f43204", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[\"energy('geometry_optimization_frame001')\",\n", " \"energy('geometry_optimization_frame009')\",\n", " \"energy('geometry_optimization_frame017')\",\n", " \"energy('geometry_optimization_frame025')\",\n", " \"energy('geometry_optimization_frame034')\",\n", " \"forces('geometry_optimization_frame001')\",\n", " \"forces('geometry_optimization_frame009')\",\n", " \"forces('geometry_optimization_frame017')\",\n", " \"forces('geometry_optimization_frame025')\",\n", " \"forces('geometry_optimization_frame034')\"]" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ri.add_trajectory_singlepoints(refjob3, properties=[\"energy\", \"forces\"], N=5, data_set=\"validation_set\")" ] }, { "cell_type": "markdown", "id": "265e1c70-0440-4fbb-b914-dc9eba5cde51", "metadata": {}, "source": [ "``add_singlejob`` with ``task=\"GeometryOptimization\"`` gives a job that is used neither for training nor validation. Instead it will be part of the \"test set\", no matter if it's given in the training or validation sets in the input." ] }, { "cell_type": "code", "execution_count": 14, "id": "618fb039-177c-43d8-9561-66771f51f8bf", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[\"energy('geometry_optimization')\", \"distance('geometry_optimization',0,1)\"]" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ri.add_singlejob(refjob3, task=\"GeometryOptimization\", properties=[\"energy\", \"distance(0,1)\"])" ] }, { "cell_type": "markdown", "id": "ff17d494-5ca0-4e76-b33d-0f486755bf79", "metadata": {}, "source": [ "## Store the reference results in ParAMS yaml format\n", "\n", "Use ``ResultsImporter.store()`` to store all the data in the results importer in the ParAMS .yaml format:" ] }, { "cell_type": "code", "execution_count": 15, "id": "814705ef-5dae-4abd-8aeb-f2bb278651a4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['yaml_ref_data/job_collection.yaml',\n", " 'yaml_ref_data/results_importer_settings.yaml',\n", " 'yaml_ref_data/training_set.yaml',\n", " 'yaml_ref_data/validation_set.yaml']" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "yaml_dir = \"yaml_ref_data\"\n", "ri.store(yaml_dir, backup=False)" ] }, { "cell_type": "markdown", "id": "f475ebf7-7f1a-4d03-a114-51bf1b526a30", "metadata": {}, "source": [ "## Set up and run a ParAMSJob for training ML Potentials\n", "\n", "See the ParAMS MachineLearning documentation for all available input options.\n", "\n", "Training the model may take a few minutes." ] }, { "cell_type": "code", "execution_count": 16, "id": "389c9c72-4f74-4363-a147-886697da956f", "metadata": {}, "outputs": [], "source": [ "job = ParAMSJob.from_yaml(yaml_dir)\n", "job.name = \"params_training_ml_potential\"\n", "job.settings.input.Task = \"MachineLearning\"\n", "job.settings.input.MachineLearning.CommitteeSize = 1 # train only a single model\n", "job.settings.input.MachineLearning.MaxEpochs = 50\n", "job.settings.input.MachineLearning.LossCoeffs.Energy = 10\n", "job.settings.input.MachineLearning.Backend = \"M3GNet\"\n", "job.settings.input.MachineLearning.M3GNet.Model = \"UniversalPotential\"\n", "job.settings.input.MachineLearning.Target.Forces.Enabled = \"No\"\n", "job.settings.input.MachineLearning.RunAMSAtEnd = \"Yes\"" ] }, { "cell_type": "code", "execution_count": 17, "id": "73b541bd-bdac-4c7c-96db-d97b24d0598f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[28.02|12:53:58] JOB params_training_ml_potential STARTED\n", "[28.02|12:53:58] JOB params_training_ml_potential RUNNING\n", "[28.02|12:55:21] JOB params_training_ml_potential FINISHED\n", "[28.02|12:55:21] JOB params_training_ml_potential SUCCESSFUL\n" ] } ], "source": [ "job.run();" ] }, { "cell_type": "markdown", "id": "02c75f67-c9a2-4edc-9a48-afa5a6231d0b", "metadata": {}, "source": [ "## Results of the ML potential training" ] }, { "cell_type": "code", "execution_count": 18, "id": "4354d29d-beef-4e4b-a6d2-1c2f3c11b05a", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD5CAYAAAAp8/5SAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAA0rklEQVR4nO3deXxU1f34/9d7JpOE7DtLwhKQHULAiFRUxBXk06LWWty1Woqt3bVqf79qrfVT7Zf64eunLkU/VqtWpCiWKnVH0Y8Li7KDyiohLFnIvk7mfP84kzCEhNzAZJt5Px+dx52595wz54b6vmfOPfccMcaglFIqdLm6uwJKKaU6lwZ6pZQKcRrolVIqxGmgV0qpEKeBXimlQpwGeqWUCnERThKJyAzg/wJu4EljzANtpDsN+AT4rjFmSUfyBkpLSzNDhgxxdAJKKaVg7dq1RcaY9NaOtRvoRcQNPAJcAOQDq0VkmTFmSyvpHgTe6GjeloYMGcKaNWvaq5pSSik/EdnT1jEnXTeTge3GmJ3GmHpgETC7lXQ/Bl4CDp1AXqWUUp3ESaDPBPYGfM7372smIpnApcDjHc0bUMZcEVkjImsKCwsdVEsppZQTTgK9tLKv5bwJC4A7jDGNJ5DX7jRmoTEmzxiTl57eajeTUkqpE+DkZmw+MDDgcxZQ0CJNHrBIRADSgItFxOswr1KqB2hoaCA/P5/a2truroo6jujoaLKysvB4PI7zOAn0q4HhIpIN7APmAFcFJjDGZDe9F5GngVeNMa+ISER7eZVSPUN+fj7x8fEMGTIEf6NN9TDGGIqLi8nPzyc7O7v9DH7tdt0YY7zArdjRNFuBxcaYzSIyT0TmnUhex7VTSnWZ2tpaUlNTNcj3YCJCampqh391ORpHb4xZDixvsa/ljdem/Te0l1cp1TNpkO/5TuTfKCyejP1kZzFrdpd0dzWUUqpbhHyg//CrIq79n0/5z+Vbu7sqSqk2lJaW8uijj55Q3osvvpjS0tLjprn77rt5++23T6j8loYMGUJRUVFQyuoqIR3oN+0r4wfPrqGh0VBUWd/d1VFKteF4gb6xseWo7aMtX76cpKSk46b53e9+x/nnn3+i1ev1QjbQ7ymu4oa/riIpJpJZOf0pqdJAr1RPdeedd7Jjxw5yc3O5/fbbee+995g+fTpXXXUV48ePB+CSSy7h1FNPZezYsSxcuLA5b1MLe/fu3YwePZrvf//7jB07lgsvvJCamhoAbrjhBpYsWdKc/p577mHSpEmMHz+ebdu2AVBYWMgFF1zApEmT+MEPfsDgwYPbbbk/9NBDjBs3jnHjxrFgwQIAqqqqmDVrFhMmTGDcuHG8+OKLzec4ZswYcnJyuO2224L692uPo5uxvU1RZR3XP7UKr8+w6HuTeXPLAV7bsJ/ahkaiPe7urp5SPd69/9rMloLyoJY5ZkAC93xzbKvHHnjgATZt2sS6desAeO+991i1ahWbNm1qHkb41FNPkZKSQk1NDaeddhrf/va3SU1NPaqcr776ihdeeIEnnniCK664gpdeeolrrrnmmO9LS0vjs88+49FHH2X+/Pk8+eST3HvvvZx77rncddddvP7660ddTFqzdu1a/vrXv/Lpp59ijOH0009n2rRp7Ny5kwEDBvDaa68BUFZWRklJCUuXLmXbtm2ISLtdTcEWci36yjovN/51NQfKa3nqhtM4JSOOtNgoAIq1Va9UrzF58uSjxoo//PDDTJgwgSlTprB3716++uqrY/JkZ2eTm5sLwKmnnsru3btbLfuyyy47Js2HH37InDlzAJgxYwbJycnHrd+HH37IpZdeSmxsLHFxcVx22WV88MEHjB8/nrfffps77riDDz74gMTERBISEoiOjubmm2/m5ZdfJiYmpoN/jZMTUi36eq+PW55by5b95Txx3alMGmT/oVLjIgEorqwjM6lPd1ZRqV6hrZZ3V4qNjW1+/9577/H222/z8ccfExMTwznnnNPqWPKoqKjm9263u7nrpq10brcbr9cL2IeROqKt9CNGjGDt2rUsX76cu+66iwsvvJC7776bVatW8c4777Bo0SL+/Oc/8+6773bo+05GyLTofT7Dr5as54OvivjDZeM5d1Tf5mOpcf4Wvd6QVapHio+Pp6Kios3jZWVlJCcnExMTw7Zt2/jkk0+CXoczzzyTxYsXA/Dmm29y+PDh46Y/++yzeeWVV6iurqaqqoqlS5dy1llnUVBQQExMDNdccw233XYbn332GZWVlZSVlXHxxRezYMGC5i6qrhIyLfqKWi9b91dw+0UjuSJv4FHHUmNti76osq47qqaUakdqaipTp05l3LhxzJw5k1mzZh11fMaMGTz++OPk5OQwcuRIpkyZEvQ63HPPPVx55ZW8+OKLTJs2jf79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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "epoch, training_loss = job.results.get_running_loss(data_set=\"training_set\")\n", "plt.plot(epoch, training_loss)\n", "\n", "epoch, validation_loss = job.results.get_running_loss(data_set=\"validation_set\")\n", "plt.plot(epoch, validation_loss)\n", "plt.legend([\"training loss\", \"validation loss\"]);" ] }, { "cell_type": "markdown", "id": "e50a182f-3a8d-4256-aed3-90842d5b6f86", "metadata": {}, "source": [ "If you set ``MachineLearning%RunAMSAtEnd`` (it is on by default), this will run the ML potential through AMS at the end of the fitting procedure, similar to the ParAMS SinglePoint task.\n", "\n", "This means that also entries that are not used during the training/validation will be evaluated, for example the \"pes\" (energy vs. bond length) extractor and the \"distance(0, 1)\" (O-H optimized bond length) extractor." ] }, { "cell_type": "markdown", "id": "e9c2d54a-1c8a-4f96-84e4-0d2c07a0c71f", "metadata": {}, "source": [ "## Plot results for actual training/validation sets" ] }, { "cell_type": "code", "execution_count": 19, "id": "3cfb9f02-16ba-4617-b98b-1c0d4433e015", "metadata": { "filename": "YES", "tags": [] }, "outputs": [ { "data": { "image/png": "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YfzlL3/Z4tqvf/1rzj///EbzJKb3jznmGD788MOt0kycOJFf/OIXW11P5pFHHuGNNzaHH7rqqqt4+umnm2B9YfAwFkWiDOtssuGCU2bGjBnD5MmTt7g2efLkjA6UqUydOpWuXbvmVHeq4PzoRz/iiCOOyKmsfHDBKQIVKDbggpMbS16G568P73lyyimn8Nhjj/HZZ58BsGjRIt59910OPvhgzjvvPGpqathvv/34wQ9+kDZ/7969ef/9EPTwmmuuYZ999uGII45oCGEBYY3NgQceyMCBAzn55JP55JNPePHFF5kyZQrf/e53qa6u5p133mH8+PE8+OCDAEybNo1Bgwax//77M2HChAb7evfuzQ9+8AMGDx7M/vvvz7x587ayycNYlJkKFRtwwWk6S16GO46Dv10T3vMUnW7dujF06FCefDL4nk6ePJnTTjsNSVxzzTXMnDmTOXPm8OyzzzJnzpyM5dTW1jJ58mReffVVHnroIWbMmNFw76STTmLGjBnMnj2bfffdlz/84Q+MGDGC4447jp///OfMmjWLvn37NqT/9NNPGT9+PPfddx+vvfYadXV1/O53v2u43717d1555RXOO++8tN22RBiLWbNmMXPmTHr06LFFGItZs2bRqlWrhjAW7du3Z9asWdx99915PUuHihYbcMFpOoueh00bwDaF90XP511kcrcquTt1//33M3jwYAYNGsTcuXO36P6k8vzzz3PiiSfSoUMHunTpwnHHHddw7/XXX+eQQw5h//335+6772bu3LmN2vPWW2/Rp08f9t57bwDGjRvHc89tDjV00kknATBkyBAWLVq0Vf6DDjqIa6+9lp/+9KcsXryY9u3bbxHGorq6mmnTprFw4cJ4D8iJR4WLDfgsVdPpfQi0ahvEplXbcJ4nJ5xwApdeeimvvPIK69evZ/DgwfzrX//iF7/4BTNmzGCHHXZg/PjxWbdMybTLwfjx43nkkUcYOHAgkyZN4plnnmm0nGz+dYkQF5lCYHgYizKQsknd9LVhrc2QLlSM2IC3cJpOz6Ewbgp88crw3nNo3kV26tSJww47jAkTJjS0btauXUvHjh3ZfvvtWb58OU888USjZRx66KE8/PDDrF+/nnXr1vHnP/+54d66devYbbfd2Lhx4xbdls6dO7Nu3bqtyurfvz+LFi1iwYIFANx555184QtfiP15ksNY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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "job.results.plot_simple_correlation(\"forces\");" ] }, { "cell_type": "markdown", "id": "7f885e35-2448-4425-bd04-24ec04637f0b", "metadata": {}, "source": [ "## Plot results for \"test set\"\n", "These jobs or results were NOT used during the training/validation, even if the extractors were part of the training or validation sets!\n", "\n", "The jobs were simply run at the end of the parametrization (\"RunAMSAtEnd\") and the results extracted at that points.\n", "\n", "First let's plot the **energy vs. bond length** curves:" ] }, { "cell_type": "code", "execution_count": 20, "id": "58211c57-2094-4e00-a9a0-f3939792ba9e", "metadata": { "filename": "hello.png", "tags": [] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY4AAAJaCAYAAAA4Q6DYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAACVaUlEQVR4nOzdd3gU5fbA8e9Jp4YWkA4iRaSDCGJBFAEVEQQFC3bkWq693Hv92a5ee0UFUVERBUVBkCIdURGl9xZ66B1CIPX8/pgJrjFlU3Yn5XyeZ5/szrwz75mgOTvvvEVUFWOMMcZfIV4HYIwxpmixxGGMMSZXLHEYY4zJFUscxhhjcsUShzHGmFyxxGGMMSZXLHEYY4zJFUscxhQSIjJXRO7M47F1RCReREILOi5jMrLEYTwhIltF5LIM224VkV/82V/SZfz9qOp2VS2rqqkBqq+ziMQV8DmfERHN+O9sCj9LHMYEgYiEeR1DYSIiDYC+wG6vYzG5Z4nDFDsi8oSI7BSR4yKyXkQudbeHisi/RWSTu2+xiNR2970jIjtE5Ji7/UKf8z0rIt+IyEj3uNUi0s6POLa6sawATohImIh0EJH5InJERJaLSOcsjm0gIrNF5KCIHBCRL0WkgrvvC6AO8IPbPPW4iNRzv72HiUh/EVmU4XwPichE932kiLwuIttFZK+IDBORUtlcRxlgKlDDrS9eRGq453lbRHa5r7dFJDKn34vrPeAJIMnP8qYQscRhihURaQzcB5yrquWAbsBWd/fDwADgCqA8cDuQ4O5bCLQCKgFfAWNFJMrn1FcDY4AKwEScP3z+GABc6R5XDZgMvODW8yjwnYjEZHYpwEtADeBsoDbwLICq3gxsB3q6zVOvZjh2ItBYRBr6bLvBvS6AV4BG7vWeBdQEns7qAlT1BNAD2OXWV1ZVdwH/ATq452kJtAeeyu6XASAi/YAkVZ2SU1lTSKmqvewV9BfOH/N44IjPKwH4xZ/92Zz3LGAfcBkQnmHfeqCXn/EdBlq6758FZvrsawqc9PMab/f5/ATwRYYy04Bb3PdzgTuzONc1wNIM577M53M9QIEw9/Mo4Gn3fUPgOFAaJyGdABr4HNsR2JLDtXQG4jJs2wRc4fO5G7A1h/OUBTYC9TO7DnsVjZfdcRgvXaOqFdJfwD253P83qhoLPIjzx36fiIwRkRru7to4f+z+RkQeEZG1InJURI4A0UAVnyJ7fN4nAFF+PrfY4fO+LtDPbaY64tZzAVA9k3iqurHvFJFjOImgSsZy2fgK524HnLuN71U1AYjBSSCLfWL40d2eWzWAbT6ft7nbsvMcTvLckof6TCFhicMUO6r6lapegPOHWnGaZsD5I94gY3n3ecYTwHVARTdJHcX5dp7vcHze78D5o1nB51VGVV/O5LiX3GNbqGp54KYM8eS0HsJ0oIqItMJJIOnNVAeAk8A5PjFEq2rZXFxHul04v+N0ddxt2bkU+KeI7BGRPTjJ/BsReSKH40whYonDFCsi0lhEurgPaU/h/JFM76L6MfBfEWkojhYiUhkoB6QA+4EwEXka5xlIQRsF9BSRbu6D+ii3m2utTMqWw22qE5GawGMZ9u8FzsyqIlVNAb4FXsN5njLD3Z4GfAS8JSJVAUSkpoh0yyH2vUBlEYn22TYaeEpEYkSkCs5zklE5nOdSoBnOc5FWOInmbuD9HI4zhYglDlPcRAIv43yz3gNUBf7t7nsT+Abn2/gx4BOgFM5zhqnABpzmllP8tYmpQKjqDqCXG89+t47HyPz/w+eANjh3PpOBcRn2v4TzR/uIiDyaRZVf4TzrGesmknRPALHAArcZbCbQOIfY1+Ekis1unTVwHvIvAlYAK4El7rbsznNQVfekv3CS+mFVjc/uOFO4iKqtAGiMMcZ/dsdhjDEmVyxxmCJH/pyXKbNXnZIWR0ERZ3BkZtcy1YvzmMLLmqqMMcbkit1xGGOMyZUSMfFalSpVtF69el6HYYwxRcrixYsPqOrfBoeWiMRRr149Fi1alHNBY4wxp4nItsy2W1OVMcaYXLHEYYwxJlcscRhjjMmVEvGMwxhTfCQnJxMXF8epU6e8DqXYiIqKolatWoSHh/tV3hKHMaZIiYuLo1y5ctSrVw+RgpjAuGRTVQ4ePEhcXBz169f36xhrqjLGFCmnTp2icuXKljQKiIhQuXLlXN3BWeLIhqqy68hJr8MwxmRgSaNg5fb3aYkjG/8ev5J+w37jVHJqzoWNMSVGaGgorVq1olmzZvTs2ZMjR45kW37//v2cd955tG7dmp9//jk4QQaQJY5s9GxZg51HTjLiV1vl0hjzp1KlSrFs2TJWrVpFpUqVeP/97NehmjVrFk2aNGHp0qVceOGFftWRmlp4v7Ba4sjG+Q2qcNnZ1fhgziYOxCd6HY4xphDq2LEjO3fuBGDTpk10796dtm3bcuGFF7Ju3TqWLVvG448/zpQpU2jVqhUnT55k+vTpdOzYkTZt2tCvXz/i4511rOrVq8fzzz/PBRdcwNixY7Mt98wzz9CmTRuaN2/OunXrAIiPj+e2226jefPmtGjRgu+++w4gy/PklfWqysG/rmhCt7fm8daMDbzYu7nX4RhjfDz3w2rW7DpWoOdsWqM8z/Q8x6+yqampzJo1izvuuAOAQYMGMWzYMBo2bMjvv//OPffcw+zZs3n++edZtGgR7733HgcOHOCFF15g5syZlClThldeeYU333yTp59+GnC6xv7yyy8cOHCAPn36ZFmuSpUqLFmyhA8++IDXX3+djz/+mP/+979ER0ezcuVKAA4fPpxjfXlhiSMHDWLKclOHuoz8bSu3nF+PRtXKeR2SMcZjJ0+epFWrVmzdupW2bdvStWtX4uPjmT9/Pv369TtdLjHx7y0VCxYsYM2aNXTq1AmApKQkOnbseHr/9ddf71e5Pn36ANC2bVvGjXNWFp45cyZjxow5XaZixYpMmjQp2/PkhSUOPzxwaUPGLYnjf1PW8tlt7b0Oxxjj8vfOoKClP+M4evQoV111Fe+//z633norFSpUYNmyZdkeq6p07dqV0aNHZ7q/TJkyfpWLjIwEnAf1KSkpp4/J2EMqp/PkhT3j8EPFMhHc36Uhc9fvZ96G/V6HY4wpJKKjo3n33Xd5/fXXKVWqFPXr12fs2LGA8wd7+fLlfzumQ4cO/Prrr8TGxgKQkJDAhg0b8lzO1+WXX8577713+vPhw4fzdJ6cWOLw08Dz61KnUmlenLyW1DRbNdEY42jdujUtW7ZkzJgxfPnll3zyySe0bNmSc845hwkTJvytfExMDJ999hkDBgygRYsWdOjQ4fTD7byU8/XUU09x+PBhmjVrRsuWLZkzZ06ezpOTErF0bLt27bQg1uOYsnI393y5hJf6NGdA+yK3pLQxxcLatWs5++yzvQ6j2Mns9yoii1W1XcaydseRCz2anUG7uhV5Y/oG4hNTvA7HGGM8YYkjF0SEp65qyoH4RIbN3eR1OMYY4wlLHLnUqnYFerWqwUc/b7Z5rIwxJZIljjx4rFtjFHht2nqvQzHGmKCzxJEHtSqW5s4L6jN+6U6W7zjidTjGGBNUljjy6B+dG1ClbAQvTl5LSeiZZowx6Sxx5FG5qHAe6tqIP7YeYtrqPV6HY4wJIt9p1fv160dCQkKez3Xrrbfy7bffAnDnnXeyZs2aLMvOnTuX+fPnn/48bNgwRo4cmee688oSRz5c3642DauW5aWp60hKSfM6HGNMkPhOqx4REcGwYcP+sj+vU6J//PHHNG3aNMv9GRPH4MGDGThwYJ7qyg9LHPkQFhrCf648m20HExj521avwzHGeODCCy8kNjaWuXPncskll3DDDTfQvHlzUlNTeeyxxzj33HNp0aIFH374IeBMRXLffffRtGlTrrzySvbt23f6XJ07dyZ9sPKPP/5ImzZtaNmyJZdeeilbt25l2LBhvPXWW7Rq1Yqff/6ZZ599ltdffx2AZcuW0aFDB1q0aEHv3r05fPjw6XM+8cQTtG/fnkaNGhXIQlI2yWE+dW5clQsbVmHI7Fj6tq1FhdIRXodkTMkx9UnYs7Jgz3lGc+jxsl9FU1JSmDp1Kt27dwfgjz/+YNWqVdSvX5/hw4cTHR3NwoULSUxMpFOnTlx++eUsXbqU9evXs3LlSvbu3UvTpk25/fbb/3Le/fv3c9dddzFv3jzq16/PoUOHqFSpEoMHD6Zs2bI8+uijgLNAVLqBAwcyZMgQLr74Yp5++mmee+453n777dNx/vHHH0yZMoXnnnuOmTNn5utXZHccBeA/V57N8VPJvDNro9ehGGOCIH1a9Xbt2lGnTp3T63G0b9+e+vXrA87iSSNHjqRVq1acd955HDx4kI0bNzJv3jwGDBhAaGgoNWrUoEuXLn87/4IFC7joootOn6tSpUrZxnP06FGOHDnCxRdfDMAtt9zCvHnzTu/3nYJ969at+b5+u+MoAE3OKM/159bmi9+2cXOHupwZU9brkIwpGfy8Myho6c84MkqfEh2cJqkhQ4bQrVu3v5SZMmXK36Y+zyiz6dHzI7Mp2PPD7jgKyENdGxEZFsLLU/M366Qxpnjo1q0bQ4cOJTk5GYANGzZw4sQJLrroIsaMGUNqaiq7d+9mzpw5fzu2Y8eO/PTTT2zZsgWAQ4cOAVCuXDmOHz/+t/LR0dFUrFjx9POLL7744vTdRyDYHUcBqVouin90bsDr0zewYPNBOpxZ2euQjDEeuvPOO9m6dStt2rRBVYmJieH777+nd+/ezJ49m+bNm9OoUaNM/8DHxMQwfPhw+vTpQ1paGlWrVmXGjBn07NmTvn37MmHCBIYMGfKXYz7//HMGDx5MQkICZ555Jp9++mnArs2mVS9Ap5JT6fL6XCqVjWDivRcQElJwt5rGGIdNqx4YNq26R6LCQ3mse2NW7TzG98t2eh2OMcYEhCWOAtarZU1a1Irm1R/XczIpb4OAjDGmMLPEUcBCQoSnrmzKnmOn+PjnzV6HY4wxBS6giUNEuovIehGJFZEnM9kvIvKuu3+FiLRxt9cWkTkislZEVovIAz7HVBKRGSKy0f1ZMZDXkBft61ei+zlnMPSnTew7dsrrcIwpdkrCs9lgyu3vM2CJQ0RCgfeBHkBTYICIZJyEpQfQ0H0NAoa621OAR1T1bKADcK/PsU8Cs1S1ITDL/VzoPNmjCcmpabw5Y4PXoRhTrERFRXHw4EFLHgVEVTl48CBRUVF+HxPI7rjtgVhV3QwgImOAXoDv1I+9gJHq/BewQEQqiEh1Vd0N7AZQ1eMishao6R7bC+jsHv85MBd4IoDXkSf1qpRhYMd6jPh1C7ecX4+zq5f3OiRjioVatWoRFxfH/v37vQ6l2IiKiqJWrVp+lw9k4qgJ7PD5HAec50eZmrhJA0BE6gGtgd/dTdXcxIKq7haRqgUbdsH5Z5eGfLckjhcnr+WLO9oX6EhQY0qq8PDw01NxGG8E8hlHZn8lM95bZltGRMoC3wEPquqxXFUuMkhEFonIIq++mUSXDuefXRryS+wB5q63b0fGmOIhkIkjDqjt87kWsMvfMiISjpM0vlTVcT5l9opIdbdMdWAfmVDV4araTlXbxcTE5OtC8uOmDnWpX6UML05ZS0qqrdlhjCn6Apk4FgINRaS+iEQA/YGJGcpMBAa6vas6AEfd5icBPgHWquqbmRxzi/v+FmBC4C4h/yLCQniyRxNi98UzeuGOnA8wxphCLmCJQ1VTgPuAacBa4BtVXS0ig0VksFtsCrAZiAU+Au5xt3cCbga6iMgy93WFu+9loKuIbAS6up8LtcubVuO8+pV4e8YGjp1K9jocY4zJF5urKkhWxh2l53u/MPjiBjzZo4mnsRhjjD9sriqPNa8VTZ82NRnx6xZ2HMr7wvbGGOM1SxxB9Fi3xoQIvDptvdehGGNMnlniCKLq0aUYdOGZ/LB8F0u2H/Y6HGOMyRNLHEF298UNiCkXyQuT1tiUCcaYIskSR5CViQzj0csbsWT7Eaas3ON1OMYYk2uWODzQt21tmpxRjpd/XMupZFuzwxhTtFji8ECou2bHjkMn+Xz+Vq/DMcaYXLHE4ZELGlbhksYxvDc7loPxiV6HY4wxfrPE4aF/X3E2CcmpvDNro9ehGGOM3yxxeKhhtXIMaF+bL3/fTuy+eK/DMcYYv1ji8NiDlzWidHgoL01Z63UoxhjjF0scHqtSNpJ7LjmLWev28WvsAa/DMcaYHFniKARu61SPmhVK8cLktaSm2aBAY0zhZomjEIgKD+WJHk1Yu/sY3y2J8zocY4zJVraJQ0Q6isj7IrJCRPaLyHYRmSIi94pIdLCCLAl6tqhO6zoVeH3aek4kpngdjjHGZCnLxCEiU4E7cRZi6g5UB5oCTwFRwAQRuToYQZYEIsJTV57NvuOJDJ+32etwjDEmS2HZ7LtZVTM+rY0HlrivN0SkSsAiK4Ha1q3ElS2q8+G8TQxoX4czoqO8DskYY/4myzuOTJJGnsqY3HmyexPS0uD16bZmhzGmcMrx4biIdBCRhSISLyJJIpIqIseCEVxJVLtSaW7rVI/vlsSxaudRr8Mxxpi/8adX1XvAAGAjUArnuceQQAZV0t1zyVlULB3Bi5PX2podxphCx6/uuKoaC4SqaqqqfgpcEtiwSrboUuE8eFlDftt8kJlr93kdjjHG/IU/iSNBRCKAZSLyqog8BJQJcFwl3oD2dWgQU4aXpqwlOTXN63CMMeY0fxLHzUAocB9wAqgNXBvIoAyEh4bw7yvOZvOBE3y5YJvX4RhjzGnZdccFQFXT/2qdBJ4LbDjGV5cmVel0VmXembWR3q1rEV063OuQjDEm2wGAK90R45m+ghlkSSUi/OeKphw5mcx7c2zNDmNM4ZDdHcdV7k8BJgNXBD4ck1HTGuXp17YWn8/fxk0d6lK3sj1eMsZ4K7sBgNvc11Yg0efzNp/mKxMEj1zemNAQ4ZUf13kdijHG2Oy4RUG18lEMvrgBU1buYdHWQ16HY4wp4bJ7xtEm/QWUEpHWGbaZILrrovpUKx/JfyevJc3W7DDGeCi7Zxxv+LzfA7zp81mBLgGJqDBZMwE2zYGr3gIRT0MpHRHGY92a8OjY5fywYhe9WtX0NB5jTMmVZeJQVRsdvn8DLP4UKjeA8+/3Ohr6tK7Jp79u4dUf19PtnDOICg/1OiRjTAmUXVPVBdkdKCLlRaRZwYdUiFz0KJx9Ncx4GmJneR0NISHCf648m51HTjLi1y1eh2OMKaGyezh+rYjMF5GnReRKEWkvIheJyO0i8gUwCWfSw+JLBK4ZCjFnw7e3wyHvF1g6v0EVLju7Gh/M2cT+44leh2OMKYGy6477EHAlsBvoB/wXeBhoCHyoqhep6sLsTi4i3UVkvYjEisiTmewXEXnX3b/C96G7iIwQkX0isirDMc+KyE4RWea+Aju+JLIsDPjKSSKjb4DE4wGtzh//uqIJp5JTeWvmBq9DMcaUQNl2x1XVw6r6kareqqrdVPUaVf2Xqv6S04lFJBR4H+iBs+TsABFpmqFYD5xE1BAYBAz12fcZzpK1mXlLVVu5ryk5xZJvFetBv8/gwAYYPxjSvJ10sEFMWW7qUJcxf2xnw17vE5kxpmQJ5DiO9kCsqm5W1SRgDNArQ5lewEh1LAAqiEh1AFWdBxSeQQtndobLX4B1k2Deq15HwwOXNqRsZBgvTl7rdSjGmBImkImjJrDD53Ocuy23ZTJzn9u0NUJEKuYvzFzo8A9oeQPMfQnWTgpatZmpWCaC+7s05KcN+/lpw35PYzHGlCyBTByZDXzIOHLNnzIZDQUaAK1wnr+8kVkhERkkIotEZNH+/QX0h1XEGdNRow2Mvxv2efttf+D5dalTqTT/m7yWVBsUaIwJEn/WHF8kIvfm4Zt9HM7aHelqAbvyUOYvVHWvuxJhGvARTpNYZuWGq2o7VW0XExOTy9CzER4F14+C8NIw5gY4ebjgzp1LkWGhPNmjCev3HuebRTtyPsAYYwqAP3cc/YEawEIRGSMi3UT8Gka9EGgoIvXdFQT7AxMzlJkIDHR7V3UAjqrq7uxOmv4MxNUbWJVV2YCJrukkjyM7nG66aalBDyFdj2Zn0K5uRd6Yvp74xBTP4jDGlBw5Jg5VjVXV/wCNgK+AEcB2EXlORCplc1wKzqqB04C1wDequlpEBovIYLfYFGAzEItz93BP+vEiMhr4DWgsInEicoe769X0tUJw1j5/KHeXXEDqnAdXvg6bZsPMZz0JAZw1O566qikH4pMYNneTZ3EYY0oOUc25bVxEWgC34azJMQ34ErgAuFlVWwUywILQrl07XbRoUWBOPulhWPQJ9PkYWvQLTB1+eGDMUn5ctYc5j3amRoXiPS7TGBMcIrJYVdtl3O7PM47FwFs4TU8tVPWfqvq7qr6Bc7dQsnV/GeqcDxPvg13LPAvj8e5NAHht2nrPYjDGlAz+POPop6qXqupXqvqXOS5UtU+A4io6wiLgupFQugqMuRHivekaW7NCKe64oD7jl+5k+Y4jnsRgjCkZ/Ekc14jIwxled4hIq0AHV2SUjYH+oyDhAIy9BVKTPQnjH50bUKVsBC9OXos/TZDGGJMX/iSOdsBgnIF5NXGmBukMfCQijwcutCKmRmu4+j3Y9iv8+LdpuYKiXFQ4D3VtxB9bDzFt9R5PYjDGFH/+JI7KQBtVfURVH8FJJDHARcCtAYyt6GnRD87/Jyz8GBZ/7kkI17erTaNqZXlp6jqSUrydU8sYUzz5kzjqAEk+n5OBuqp6ErB5vTO67FlocClMfgS2/x706sNCQ/j3FWez7WACI3/bGvT6jTHFnz+J4ytggYg8IyLPAL8Co0WkDLAmoNEVRSGh0PcTqFAbvr4Jju4MegidG1flokYxDJkdy5GEpJwPMMaYXMg2cbgjxD8D7gKOAEeBwar6vKqeUNUbAx5hUVSqIvT/CpITnOSRfCroIfznirM5fiqZd2ZtDHrdxpjiLaf1OBT4XlUXq+o7qvq2qgZoJF0xU/Vs6DMcdi2BSQ9CkHs5NT6jHNefW4cvftvG5v3xQa3bGFO8+dNUtUBEzg14JMVRkyuh879g+WhYMDTn8gXs4a6NiAwL4eWp64JetzGm+PIncVyCkzw2uWtgpM8TZfxx0ePQ5CqY/hRsnhvUqmPKRXLPJWcxfc1eFmw+GNS6jTHFlz+JowdwJtAF6Alc5f40/ggJgd7DoEojGHsrHNoS1OrvuKA+NaKjeGHyGtJszQ5jTAHwZ3bcbThrZnRx3yf4c5zxEVkO+n8JmuZMS5IYvGcOUeGhPN69Cat2HmPc0uD38DLGFD/+THL4DPAE8C93UzgwKpBBFUuVG0DfT2H/WphwT1Afll/dsgZt6lTguYmr7UG5MSbf/Llz6A1cDZwAUNVdQLlABlVsnXUpXPYcrJkAP78etGpDQoR3B7QmLFQYPGoxCUm24JMxJu/8SRxJbrdcBXAH/pm8Ov9+aH4dzH4R1v8YtGprVSzNuwNas3FfPE9+t9ImQTTG5Jk/ieMbEfkQqCAidwEzcVbrM3khAle/C9VbwHd3wv4NQav6woYxPHp5YyYu38Vn87cGrV5jTPHiz8Px14Fvge+AxsDTqjok0IEVa+Gl4PovISwSxgyAk0eCVvU/Lm7AZWdX48XJa1m49VDQ6jXGFB9+9Y5S1Rmq+piqPqqqMwIdVIlQoTZc/wUc3grj7oK01KBUGxIivHFdS2pVLMU9Xy5h37HgT4dijCna/OlV1UdENorIURE5JiLHReRYMIIr9uqeDz1ehY3TYfYLQas2ulQ4w25uS/ypFO79agnJqTb9ujHGf/7ccbwKXK2q0apaXlXLqWr5QAdWYpx7B7S9FX55E1aNC1q1Tc4oz8vXNmfh1sO8NMWmJDHG+M+fxLFXVdcGPJKSrMdrULsDTLgXdgdvNpderWpy6/n1GPHrFiYu3xW0eo0xRZs/iWORiHwtIgPcZqs+ItIn4JGVJGERcN1IiKrgjCw/cSBoVf/7irNpV7ciT3y7gg17jwetXmNM0eVP4iiPM83I5ThzVKXPV2UKUrlqzrQk8XudOa1Sk4NSbURYCB/c2IayUWHc/cVijp0KTr3GmKLLn+64t2Xyuj0YwZU4Nds4Yzy2/gzT/hO0aquWj+L9G9qw/VACj3yz3CZDNMZky59eVY1EZJaIrHI/txCRpwIfWgnVsj90uBf++BCWBm9KsPb1K/HvK85mxpq9DJu3KWj1GmOKHn+aqj7CmeAwGUBVVwD9AxlUidf1eTizM0x6CHYsDFq1t3eqx1UtqvP6tPX8sjF4z1mMMUWLP4mjtKr+kWGbzZIXSKFhzky65ao7a5Yf2x2UakWEV65twVlVy/LPMUvZeeRkUOo1xhQt/iSOAyLSgD8nOewLBOcvWUlWuhIMGA2Jx+GbmyElMSjVlokMY9hNbUlKSeOeUYs5lRycEe3GmKLDn8RxL/Ah0EREdgIPAoMDGZRxVTsHeg+FuIUw+eGgreFxZkxZXu/XkuVxR3nuhzVBqdMYU3T406tqs6peBsQATVT1AnclQBMMTXvBRY85D8r/CN6kxN2bncE/Ojdg9B/b+WbhjqDVa4wp/PxeAlZVT6iqjRDzQud/Q6Me8OOTsOXnoFX7SNdGdDqrMk9NWMWqnUeDVq8xpmAEqmt9QNcOF5HuIrJeRGJF5MlM9ouIvOvuXyEibXz2jRCRfendgH22VxKRGe7EizNEpGIgr6FQCAmBPsOh8lkw9hY4sj0o1YaFhvBu/9ZUKRPB3V8s5vCJpKDUa4zJv+0HE+jxzs8s33GkwM8dsMQhIqHA+0APoCkwQESaZijWA2jovgYBQ332fQZ0z+TUTwKzVLUhMMv9XPxFlYf+X0FqCoy5AZISglJt5bKRfHBTW/YfT+SBr5eRaoMDjSn0jiYkc9tnf7D3+CnKRYUV+Pn9GQBYWkT+T0Q+cj83FBF/phxpD8S6z0iSgDFArwxlegEj1bEAZ5XB6gCqOg/IbKWhXsDn7vvPgWv8iKV4qHIW9B0Be1Y5EyIG6WF5q9oVePbqc5i3YT/vzAzeioXGmNxLSklj8KjFbD+UwIc3teXMmLIFXoc/dxyfAolAR/dzHODP4hE1Ad+nqnHuttyWyaiaqu4GcH9W9SOW4qPhZXDZM7B6HPz6dtCqHdC+Nv3a1uLd2bHMWrs3aPUaY/ynqvxn/Ep+23yQV/u24LwzKwekHn8SRwNVfZU/R46fBMSP4zIrk/Ersj9l8kREBonIIhFZtH///oI4ZeHR6UFodi3MfA42TA9KlSLCf69pRrOa5Xnw62VsPXAiKPUaY/z3wdxNjF0cxz8vbUjv1rUCVo8/iSNJRErx5wDABjh3IDmJA2r7fK4FZFz0wZ8yGe1Nb85yf+7LrJCqDlfVdqraLiYmxo9wixARuPo9OKMZfHcnHIgNSrVR4aEMvbEtoSHC4FGLOZlkgwONKSx+WL6L16atp1erGjx0WcOA1uVP4ngW+BGoLSJf4jyQftyP4xYCDUWkvohE4MxvNTFDmYnAQLd3VQfgaHozVDYmAre4728BJvgRS/ETUdp5WB4aBmMGwKngrOZbu1Jp3r6+Fev3Huff41eiQXrOYozJ2uJth3lk7HLOrVeRV/u2QMSfRqG882cA4HSgD3ArMBpop6pz/TguBbgPmAasBb5R1dUiMlhE0keeTwE2A7E4kynek368iIwGfgMai0iciNzh7noZ6CoiG4Gu7ueSqUId6Pc5HNwE4wZBWnDWDu/cuCoPXdaI8Ut38sUCGwtqjJe2H0xg0MhFVI+O4sOb2xEZFhrwOiWnb4wiMhEnYUxU1SLZsN2uXTtdtGiR12EEzu/DYepjzgjzLsGZ8T4tTblr5CJ+2rCfr+/uQNu6lYJSrzHmT0cTkukz9FcOxCcx/p7zC7wHlYgsVtV2Gbf701T1BnAhsEZExopIXxGJKtDoTP60vwta3wTzXoM1wWm5CwkR3ry+FTUrluKeL5ew/3hwJmE0xjiSUtL4x5dOt9vhNwem221W/Gmq+klV7wHOBIYD15HFA2njERG48k2odS6M/wfsXR2UaqNLhTP0xrYcPZnMfV8tISU1OE1lxpR06d1u5286yCvXBq7bbVb8Gjnu9qq6FmdW3HP5cwCeKSzCIuG6LyCyHIweAAmZjZ0seE1rlOelPs35fcshXvlxXVDqNKak8+1226dN4LrdZsWfkeNf4zzc7oIzhUgDVb0/0IGZPChfHfp/Ccd3w9hbnelJgqB361oM7FiXj37ewuQVtlSLMYE0aUXwut1mxd+R4w1UdbCqzlZVa48ozGq1g6vegi0/wYyng1btU1c2pU2dCjz27XJi99kkysYEwuJth3n4G6fb7SvXBr7bbVayTBwi0sV9WxroJSJ9fF/BCc/kSeub4LzBsOB9WDY6KFVGhIXwwY1tKR0RyqAvFnP8VHJQ6jWmpMjY7TYqPPDdbrOS3R3Hxe7Pnpm8/Jnk0Hjp8heg3oXwwwOwc3FQqjwjOoohA9qw7WACj3+7wgYHGlNA0me7TUlTPr31XCqVifA0niwTh6o+4759XlVv830B/w1OeCbPQsOdwYHlqsGYm+B4cCYm7NigMk92b8LUVXsYPm9zUOo0pjjz7Xb7YZC73WbFn2cc32Wy7duCDsQEQJnKzrQkp47ANwMhJTgLMd15YX2ubF6dV35cx/zYA0Gp05jiSFV56nun2+3LfVrQIcjdbrOS3TOOJiJyLRCd4fnGrYANACwqzmgOvd6HHQtg/N1BSR4iwit9W3BmTFnuH72U3UdPBrxOY4qjD+Zu4ptFTrfba9sGv9ttVrK742iM8yyjAn99vtEGuCvgkZmC06wPdH3eWcPjy75BmRCxbGQYw25qy6nkVP4xagmJKTaTrjG5URi63WbFn7mqOqrqb0GKJyCK/VxV/lr2FUy8H2LOhhvHOuM+Amzqyt3848sl3NShDi9c0zzg9RlTHCzedpgBHy2gRc1oRt15nmc9qPIzV9VSEblXRD4QkRHprwDEaAKt1Q1ww9dwaDN8cjnsD/wysD2aV+fui89k1ILtfLs4LuD1GVPU+Xa7HT7Q2263WfEncXwBnAF0A37CWWzJRngVVWddBrdNhpRTMOJy2L4g4FU+dnljOp5Zmf+MX8nqXUcDXp8xRdXRk4Wr221W/EkcZ6nq/wEnVPVz4ErA2hyKshqt4c4ZULoyjOwFa38IaHVhoSEMuaE1FUtHMHjUYo4m2OBAYzJKSknjH6MKV7fbrPiTONL/Lz8iIs2AaKBewCIywVGxHtw+3el19fXN8MdHAa2uStlIPripDXuOnuLBr5eSlmaDA41JV1i73WbFn8QxXEQqAv+Hs2zrGuDVgEZlgqNMZRg4ERr3gCmPwsznIICjvdvUqcjTPc9hzvr9vDt7Y8DqMaaoGfqT2+22y1mFqtttVsJyKqCqH7tvf8JZk8MUJxGlnenYpzwCv7zpzKzb810IC0zb6k3n1WHZ9iO8M2sjLWtV4JImVQNSjzFFxeQVu3n1x/Vc3bIGD3Vt5HU4fskycYjIw9kdqKpvFnw4xhOhYXDV21C+Fsx5AeL3wnUjnbU9CpiI8GLvZqzdfYwHxixl0v0XUqdy6QKvx5iiYMn2wzz0zTLa1a3Iq329m+02t7JrqiqXw8sUJyJw8WPOKPPNP8GnVwRsfquo8FCG3dQWgMGjFnMq2QYHmpJnx6EE7vq8cHe7zUqOAwCLAxsAmEsbZ8A3tzjPQG4aB1UCM2p1zrp93P75Qvq0rsXr/YrOty1j8uvoyWT6fPArB+KTGHfP+TQopD2o8jwAUEQaicgsEVnlfm4hIk8FIkhTSDTsCrdOguST8ElX2PFHQKq5pElVHri0Id8tiePL37cHpA5jCpvk1DTu8ZnttrAmjez406vqI+BfuN1yVXUF0D+QQZlCoGYbuGM6lKoIn/eEdZMDUs0/uzTkksYxPPfDapZuPxyQOowpLFSVp8av4tfYotHtNiv+JI7SqprxK2dwFrM23qp0JtwxA6qdA1/fBAs/KfAqQkKEt65vxRnRUdzz5RIOxCcWeB3GFBZDf9rE14t2FJlut1nxJ3EcEJEGgAKISF9gd0CjMoVHmSpwyw9wVleY/DDM+m+Bj/WoUDqCoTe25dCJJO7/aikpqbasvSl+imK326z4kzjuBT4EmojITuBBYHAggzKFTEQZZ0GoNgPh59dhwr2QWrDThjSrGc2LvZvz2+aDvDZ9fYGe2xivLdl+mIeLYLfbrPgzAHAzcJmIlMFJNCeB64FtAY7NFCahYc7AwPI1Ye5LcHyPO9aj4B7s9W1bi2U7DvPhT5tpVasCPZoHftp3YwItvdvtGdFRfHhz2yLV7TYr2a0AWF5E/iUi74lIVyABuAWIBa4LVoCmEBGBzk/C1UNg81z47EqI31egVfzfVU1pVbsCj327gth98QV6bmOCzZntdiEpacqIW8+lctnI4AZwIDBT+2TXVPUFziqAK3FW/JsO9AOuUdVeAYnGFA1tBsKA0XBgA3x8GRyILbBTR4aFMvSmNkSGhTB41GJOJFo/DFM0pXe73XbwBMNuCnK325REmPE0vHduQHpEZpc4zlTVW1X1Q2AA0A64SlWXFXgUpuhp1A1umQRJ8e5Yj4UFdurq0aUYMqA1m/fH8/i3KygJg1RN8ZKx223HBkHsdrt3NXzUBX59x/mSV/+iAq8iu8Rx+umnqqYCW1TVFnAyf6rV1umuGxXtjPVYP7XATn3+WVV4onsTJq/czSe/bCmw8xoTDMN+2szXi3ZwfzC73aalwq/vwvDOThPygK/h6ncDMudcdomjpYgcc1/HgRbp70XkWIFHYoqmyg2c5FG1CYy5ARZ9WmCnHnTRmXQ/5wxemrqOBZsPFth5jQmkySt288qP67i6ZQ0eDla328PbnC9vM/4PGl4O9/wGjbsHrLosE4eqhqpqefdVTlXDfN6XD1hEpugpG+M0WzW4FCY9CLNfLJCxHiLCa/1aULdyae77agl7jp7Kf6zGBFDQu92qwtJRMLQT7F4B1wyF60c5468CyJ9xHHkmIt1FZL2IxIrIk5nsFxF5192/QkTa5HSsiDwrIjtFZJn7uiKQ12D8FFnWeWDe+iaY9ypMvK9AxnqUiwrnw5vakpCUyr1fLSEpxQYHmsJpx6EEBo1cRLXyQep2G78fxtzojKuq3hL+8Su0usHp/RhgAUscIhIKvA/0AJoCA0SkaYZiPYCG7msQMNTPY99S1Vbua0qgrsHkUmg4XP0eXPS48y1o9ABIzH+X2obVyvFa35Ys3naYFyevKYBAjSlY6d1uk1OVT28LQrfb9VNhaEeInQGXv+DM7lCxbmDr9BHIO472QKyqblbVJGAMkLEbby9gpDoWABVEpLqfx5rCSAS6/MdZGGrTLPj8KuebUT5d2aI6d11Yn89/28b4pXH5j9OYAhLUbreJx2HCfTC6P5Q9Awb9BOffDyEBbTz6m0DWVhPY4fM5zt3mT5mcjr3Pbdoa4a6Hbgqbdrc505TsW+d01z24Kd+nfKJ7E86rX4l/jVvJ/NgDBRCkMfnj2+32pUB3u932m/MsY9mXcMFDcNcsqJaxESc4Apk4Mmtoy/jENKsy2R07FGgAtMKZbPGNTCsXGSQii0Rk0f79+f/Ga/KgcQ/nFvrUUfjkcohbnK/ThYWG8N4NbahRoRQ3fvI7L09dZ888jKd8u932DVS325REmPEMfNrDuaO/bSpc9iyEBXkUuo9AJo44oLbP51rALj/LZHmsqu5V1VRVTcNZK6R9ZpWr6nBVbaeq7WJiYvJ1ISYfap/rdNeNKOM0W22Ylq/TxZSLZNL9F9D/3NoM+2kTfYb+alOTGE9MWel0u+0ZyG63pwfzve0M5hv8C9TpEJi6ciGQiWMh0FBE6otIBM7iTxMzlJkIDHR7V3UAjqrq7uyOdZ+BpOsNrArgNZiCUOUsuHOmswTt6AGwZGS+Tlc6IoyX+rTgw5vbsvPwSa4a8jOjFmyzEeYmaJZsP8xDXy+jbd2KvBaIbrd/Gcy3FwaMCdhgvrzIcXbcvFLVFBG5D5gGhAIjVHW1iAx29w8DpgBX4EycmADclt2x7qlfFZFWOE1XW4G7A3UNpgCVrQq3TnbWMp94PxzbBRc/ka+ug93OOYNWtSvw6NjlPPX9Kuau38cr17YI/kRypkTx7XY7PBDdbg9vg+//Adt+hSZXQc93Aj4uI7ekJHxLa9eunS5atMjrMAw4Yzsm/hOWu+t7XPmWM2V7PqSlKZ/O38orU9dRvlQ4r/drQefGVQsoYGP+dPRkMn2HzmfvsVOMu6cTZ1UtwB5UqrDsK5j6hPP5ileh5YCgjMvIiogsVtV2GbcHtw+XMaHhcM0HcOGjTpPV1zdC0ol8nTIkRLjjgvpMuK8TlctEcOunC3l24mpOJacWUNDG/NntduvBE3x4c7uCTRonDjjLM0+4B6q3COpgvrywxGGCTwQu/T+48k3YON2ZY+dE/rvXnl29PBPu68Rtnerx2fytXP3eL6zdbdOqmfwLaLfb9T/CBx2c/xcuf8GZvieIg/nywhKH8c65dzjz6uxd7Yz1OLQ536eMCg/lmZ7n8Pnt7TmckEyv937l4583k5ZW/JtkTeAEpNtt4nHned/o693BfHM9GcyXF4U/QlO8NbkSBk6Ek4edsR47lxTIaS9uFMOPD1zIxY1jeGHyWm759A/2HrNJEk3uBaTb7fYFzmC+JV9ApwfdwXznFMy5g8ASh/FenfOcsR7hpeCzq2DjjAI5beWykQy/uS3/692cRVsP0/3tefy4ak+BnNuUDEsLutttShLMfNYZzAfOYL6uz3k6mC8vLHGYwqFKQyd5VD4TvrremSSxAIgIN5xXh0n/vIBaFUszeNRinvxuhS1Ja3K041ACdxVkt9u9a5zBfL+85cwi/Y9foW7Hggk2yCxxmMKj3Blw6xRnqcsJ98JPrxXIuh4ADWLK8t0/zueezg34etEOrhryC8t3HCmQc5vi5+jJZG7/bCFJKWmMuDWfs92mpcH8ITD8YojfA/1Hw9VDCs1gvrywxGEKl6jycMM30KI/zHnBWRgqtWDuDiLCQni8exNG39WBxORUrh06n/fnxJJqD86Nj+TUNO79cglbDpxg2M1t89ft9sh2p9fg9KfclfkWQJOiv4SQJQ5T+IRFQO9hcMHDsPgzp397UkKBnb7DmZWZ+sBFdG92Bq9NW8+A4QuIO1xw5zdF17FTyTz+7Qp+iT3AS32ac36DPI7YVoWlX8IH58Pu5dDrg6CszBcsNnLcFG5/fARTHoNa7WDA11Cm4PrPqyrjl+7k6QmrEYEXrmlGr1YZZ/43JcGp5FRG/raVD+Zu4khCMg9d1ogHLmuYt5OdOAA/PADrJkHdTs5yroV8XEZWsho5bonDFH5rf4Bv74DoWnDTd1CpfoGefsehBB78ehmLtx3mmlY1eP6aZpSPCi/QOkzhlJKaxreL43h75kb2HDvFxY1ieKxbY5rVjM7bCdf/6CybfOoodPk/6HgvhAR4CdkAssRhiaNo2/abs+pZaATcOBZqtCrQ06ekpvHB3E28M2sjZ5SP4q3rW9G+fqUCrcMUHmlpytRVe3hj+no2HzhB6zoVeLxbk7yPCE88DtP+7UyjU6059PmwSI3LyIolDkscRd/+9TDqWkg45KyA1mYglKtWoFWkT5e941AC93Q+iwcua0h4qD0KLC5UlV9iD/Dqj+tZufMojaqV5dHLG9O1abW8j9HYvgDG3+3MatvpAbjk30VuXEZWLHFY4igeju12uupumgUhYXB2Tzj3TqctuYAmhItPTOG5iasZuziOlrWiebt/a+pXKVMg5zbeWbbjCK/+uI75mw5Ss0IpHu7aiGta1yQ0JI//3aQkwdz/wa/vQHRt6P1hkR2XkRVLHJY4ipcDsbBoBCwb5bQnxzSBdrdDy/4Qlcf26QymrNzNv8atJDk1jWd6NuW6drULfsEeE3Ab9x7n9enrmbZ6L5XLRHB/l7MYcF4dIsPy8exh7xoYPwj2rITWN0P3l4r0uIysWOKwxFE8JSXA6nGw8BPYtQTCS0Pzfs5dSPUW+T797qMneeSb5czfdJBu51Tj5T4tqFgmogACN4EWdziBt2duZNySOEpHhDHoojO5/YL6lI3Mx/ovaWmw4H2Y9bzzBaXnu8ViXEZWLHFY4ij+di6BRZ/Ayu8g5STUOtdJIE2vgfCoPJ82LU35+JfNvDZtPZXKRPBGv1Zc0LB49Mcvjg7GJ/L+nE2MWrANBAZ2qMs9l5xFpfwm/CPbYfw/YNsv0PhKZ2W+sjEFE3QhZYnDEkfJcfIwLBvtJJGDsVCqErS+0WnKqnRmnk+7audRHvx6GbH74rnzgvo81r1x/po7TIGKT0zh458389G8zZxMTqVf29o8cFlDalQolb8Tq8Ly0c7KfKrQ42VodWOhXWSpIFnisMRR8qjClp+cZqx1k0FTocGlzl1Io2556l9/MimV/01ZyxcLttHkjHK8O6A1jaoVv7btouRUcipf/r6d9+fEcuhEElc0P4OHuzYumBX6fAfz1TnfmdGgiA7mywtLHJY4SrZju5w+9os/g+O7oXwtaHcrtM5bl95Za/fy+LcriE9M4V89mnDL+fXswXmQpaSmMW7pTt6ZuZGdR05ywVlVeKxbY1rWrlAwFaz/0Vlo6dQR6PIUdLyvSA/mywtLHJY4DEBqMqyf6jRjbZ6bry69+48n8vi3y5mzfj+dG8fwat8WVC2X92cpxj+qyrTVe3l9+npi98XTslY0j3dvQqezCui5U2K8O5jvc6jWzOlme0azgjl3EWOJwxKHySjTLr13QMvr/e7Sq6p8sWAbL05eS9nIMF7t24JLzy7YQYnmT/M3HeCVH9ezfMcRGsSU4bFujel2zhn5v9tLOOR8kYidBRunOU1UxWwwX15Y4rDEYbLyty69ZaB531x16d249zj/HLOMtbuPcVOHOvzniqaUiihZzRqBtDLuKK9OW8fPGw9QIzqKBy9rRJ82NQnL66j+tFTYtQxiZzqvnYtA05wvDA26QPu7i91gvrywxGGJw/gjH116E1NSeWP6BobP20yDmDK807913ifLMwBs2h/Pm9M3MHnlbiqWDufeS87ipg5187YaX/w+544idiZsmg0nDwECNdvAWZc5rxptIDQf4zyKGUscljhMbmTapfcmaHdbjl16f9l4gEfGLuPQiSQeubwxgy48k5C8TmtRQu0+epJ3Zm5k7OI4osJCuPPCM7nzwvqUy82sxanJELfQSRQbZ8CeFc72MjF/JoozLynQqfqLG0scljhMXmTWpfesy5xnIdl06T18Iol/j1/J1FV76HhmZd64rmX+xxOUAIdPJPHB3Fg+/20bKNzYoQ73XnIWVfxduvXIDmces9iZsPknSDwGEgq1z4OGbrKo1hxCbOJKf1jisMRh8itjl97o2tD2liy79KoqYxfF8ewPqwkLEV7q04IrW1QPftxFwInEFEb8soXh8zZzIimF3q1r8eBlDaldqXT2Byafgu3z/2yC2r/O2V6+Fpx1qXtXcXGBzV9W0ljisMRhCkqmXXqvhnPvyLRL79YDJ3jg62Us33GEa9vU4rle5+RvvqRiJCkljdF/bGfI7I0ciE/i8qbVeLRb46wHVarCoc1/PtTe8rPzLCo0wvndpzdBxTQuESO7A80ShyUOEwh+dulNTk1jyKyNvDcnlloVS/PW9a1oW7eih4F7KzVNmbBsJ2/O2EDc4ZN0OLMSj3dvQps6mfxOEuNh689/JovDW53tlRr8mSjqdYIIm/q+oFnisMRhAimzLr0t+jlJxKdL78Kth3jo62XsPnqK+7ucxX2XnJX3LqVFkKoyc+0+Xp+2nvV7j3NOjfI80b0JFzas8udYDFXYtxZiZziJYttvkJbszHxc/2K3CerSfM07ZvxjicMShwmWv3Xpbe80Y7ldeo+dSuaZCasZv3QnTc4oR4ta0VQtF0W18pHEuD+rlo8ipmwkEWHFJ6n8vvkgr/y4jiXbj1C/ShkeubwRVzSr7vQ4O3nEHYA303lecXyXc1DVc/58VlGnQ4kejOcFSxyWOEyw5dCld8KynYz4dSt7jp7kQHwSqWl//3+xUpkIqpZzEkm1cpFULR9JtfJRVC33Z5KJKRdZqGfpXb3rKK9NW8/c9fupVj6SBy9rRN82NQjfu+LPh9pxC50ea5HR0KCzkygaXArRNb0Ov0TzJHGISHfgHSAU+FhVX86wX9z9VwAJwK2quiS7Y0WkEvA1UA/YClynqoezi8MSh/GUH116U9OUgycS2XcskX3HT7HvWCJ73fd7jyWyP/1nfGKmCaZi6XCqlouiavnI03cvVcu5ScbdVrV8cBPM1gMneGPGBn5YvovoUuE8fH5FBlSOJWLLbKfLbMJBp2CN1n8+q6jZzgbgFSJBTxwiEgpsALoCccBCYICqrvEpcwVwP07iOA94R1XPy+5YEXkVOKSqL4vIk0BFVX0iu1gscZhCI2OX3lKVoHRliCjtPBeJKOPzvrTTrh/hbg8vTVp4aY6nRXA4OZxDyeHsPxXK3lOh7D4Zwq4Twvb4EPYeT2bf8URSMkkwFUqHn04oMeX+vHvx/RlTLjJvI7Nde4+d4t1ZG/l24VbahW7ivjpbOTd1CWF7ljsFSlfx6Sp7SbFfDKko8yJxdASeVdVu7ud/AajqSz5lPgTmqupo9/N6oDPO3USmx6aXUdXdIlLdPb5xdrFY4jCFTnqX3o3TISneebiedAKSTzjvk9M/J0DKqdydOzQSjShNWlhpUkJLkRQSxUmiSCCS+LRIjqWGczjZeR1ICuN4WoSzXyM5SSQJRCIRZSlVphxly5WnbNlooqOjqVihAlWjy7h3MM5djO98XEcTkhk1fT67l0ziApZxcfgaSqXGuwPw2v+ZLM5oaQPwioisEkcg7wlrAjt8Psfh3FXkVKZmDsdWU9XdAG7yqFqQQRsTFKHh0PRq55WTtNQ/k8jpnwlOwkl/n55w3OQjSQmEJicQmnSCyOQEyiWdcPfth7QEkBNAAoQmOo3BmTnhvnyc0nASiCSBKOI0ksSQKFJDS5EaVppyibu5lx0QAillqhPWuI+TKOpfDKUq5O/3ZQqVQCaOzEbfZLy9yaqMP8dmX7nIIGAQQJ06dXJzqDGFS0goRJV3XgUtNeXvdzmZ3Plo0glOnTjOyRPHOJVwnJST8cipeCLdBBaScoikUlXZ23Ig1VpfRVjVs20AXjEWyMQRB9T2+VwL2OVnmYhsjt0rItV9mqr2ZVa5qg4HhoPTVJXXizCmWAsNg9DoHKfkEKCU+zImkA2NC4GGIlJfRCKA/sDEDGUmAgPF0QE46jZDZXfsROAW9/0twIQAXoMxxpgMAnbHoaopInIfMA2nFXWEqq4WkcHu/mHAFJweVbE43XFvy+5Y99QvA9+IyB3AdqBfoK7BGGPM39kAQGOMMZnKqleV9YkzxhiTK5Y4jDHG5IolDmOMMbliicMYY0yuWOIwxhiTKyWiV5WI7Ae25fHwKsCBAgzHS3YthU9xuQ6wayms8nMtdVX1b7NQlojEkR8isiiz7mhFkV1L4VNcrgPsWgqrQFyLNVUZY4zJFUscxhhjcsUSR86Gex1AAbJrKXyKy3WAXUthVeDXYs84jDHG5IrdcRhjjMkVSxyAiIwQkX0isiqL/TeKyAr3NV9EWgY7Rn/5cS293OtYJiKLROSCYMfor5yuxafcuSKSKiJ9gxVbbvjxb9JZRI66/ybLROTpYMfoL3/+TdzrWSYiq0Xkp2DGlxt+/Ls85vNvssr9b6xSsOP0hx/XEi0iP4jIcvff5bZ8VaiqJf4FXAS0AVZlsf98oKL7vgfwu9cx5+NayvJnE2ULYJ3XMef1WtwyocBsnCn6+3odcx7/TToDk7yOs4CupQKwBqjjfq7qdcx5vZYMZXsCs72OOR//Lv8GXnHfxwCHgIi81md3HICqzsP5RWa1f76qHnY/LsBZkbBQ8uNa4tX9rwcoQy6X5A2mnK7FdT/wHVmsBFkY+HkdRYIf13IDME5Vt7vli8u/ywBgdADDyRc/rkWBciIiOF8eDwEpea3PEkfu3QFM9TqI/BCR3iKyDpgM3O51PHklIjWB3sAwr2MpAB3dZoSpInKO18HkQyOgoojMFZHFIjLQ64DyS0RKA91xvqAUVe8BZ+Mswb0SeEBV0/J6skCuOV7siMglOImj0D4X8IeqjgfGi8hFwH+ByzwOKa/eBp5Q1VTni1SRtQRnaod4EbkC+B5o6G1IeRYGtAUuxVmi/DcRWaCqG7wNK196Ar+qalG+a+wGLAO6AA2AGSLys6oey8vJ7I7DTyLSAvgY6KWqB72OpyC4t7cNRKSK17HkUTtgjIhsBfoCH4jINZ5GlAeqekxV4933U4DwIvxvEgf8qKonVPUAMA8otJ1J/NSfQtxM5afbcJoQVVVjgS1Ak7yezBKHH0SkDjAOuLmIf3NCRM5y2zkRkTZABFAkE6Gq1lfVeqpaD/gWuEdVv/c2qtwTkTN8/k3a4/x/WST/TYAJwIUiEuY28ZwHrPU4pjwTkWjgYpzrKsq249wFIiLVgMbA5ryezJqqABEZjdOzpYqIxAHPAOEAqjoMeBqojPONFiBFC+kEaH5cy7XAQBFJBk4C1/s8LC9U/LiWIsGP6+gL/ENEUnD+TfoX1X8TVV0rIj8CK4A04GNVzbY7tVf8/O+rNzBdVU94EqSf/LiW/wKfichKQHCaePM8+6+NHDfGGJMr1lRljDEmVyxxGGOMyRVLHMYYY3LFEocxxphcscRhjDEmVyxxGGOMyRVLHKZAuVNPp0+pvVxEHhaREHdfOxF5N5tj64nIDcGLNssYVmXY9qyIPOrz+W13uhZE5BP3OleIyLciUtbdfpWIPOdnnZ1FZFKGbZ/5ThPvnvtMESktIpNFZJ37O37Zp8x9vtNlu/NFrReRq3P7e8gLEblGRJoG6NwN3P+u4gNxfpM7ljhMQTupqq1U9RygK3AFzmAkVHWRqv4zm2Pr4cyuWmi56zF0cKdrAXhIVVuqaguc0bn3udsnA1e7o6fzW+c5QKiqpo/0fV1VmwCtgU4i0sPdPgLI+Pu9UVUn5jcGP10DZJo4RCRfg41VdZOqtsrPOUzBscRhAsadUnsQcJ84Tn+zFpGL5c9FcpaKSDngZZzpKpaJyEPut/+fRWSJ+zrfPbaz+236W/eb95c+U3acK85iW8tF5A8RKScioSLymogsdO8M7s7HZfUFfvS5xmNuvYIzqZ+62xWYC1yVj7rS3Yg75YWqJqjqHPd9Es4EibXS9wFb3WlL/kZE7nJ/B8tF5Lv0pObe3bzr/t42p9/piEiIiHzg3tlMEpEpPvteFpE17u/zdfff5mrgNfffr4H7b/Q/cRZzekBELnX/rVeKs/BQpHuurW6538RZXKyNiEwTkU0iMrgAfn+moHmx6Ii9iu8LiM9k22GgGj4LFgE/AJ3c92Vxpr85vd/dXhqIct83BBa57zsDR3H+YIYAv+HMWByBM//OuW658u55BwFPudsigUVA/Szir4cz7ccyn9ce4FF3/+dAzwzHfArsBeYApX223wgM8eN3ln49vnUewl2YCvgJaJ7JcRXc6z3TZ9t/gEfc93OBdj77Kvu8fwG4333/GTDW/V02BWLd7X1xFsgKAc5w/x37ApWA9fw580QFn/P09aljLvCB+z4K2AE0cj+PBB50328F/uG+fwtnupJyOAsO7cvpvy97Bf9ldxwmGDKb8/xX4E0R+SfOH57MFpUJBz4SZ36dsfy1GeQPVY1TZ02BZTh/8BsDu1V1IZyedTYFuBxnfq5lwO84845lN235JnWa21qp0zziOy9WdWC/b2FVvQ2ogTOZ3/U+u/a52/3xc4Y6fZuX/lan2/QzGnhX/2zCyqnOZu4d3EqcpOa77sf3qpqmqmtwkjw4yXisu30PTmIEOAacAj4WkT5AQjbX9bX7szGwRf+cJPRznFXr0qVf70qcFTaPq+p+4JSIVMjm/MYDljhMQInImUAqGVboU9WXgTtxmncWiEhmUzw/hPNNviXOFOoRPvsSfd6n4txZCJmvaCg4367T/zDXV9Xpebykkzjfnv9CVVNx/khe67M5CjjpNpWlN8s9L85CWumf/ZksM7M6hwMbVfXtDNuj3PKZ+Qy4T1WbA89lOKfv71My/PwLNxm3x1nY6Bp8mu4ykT45YE4LpqTXn5YhljRsMtZCxxKHCRgRicH5tv6eqmqGfQ1UdaWqvoLTdNQEOI7TRJEuGucOIg24GWd98eysA2qIyLluHeXcb+bTcGafDXe3NxKRMnm8rLXAWe55REROv8dZ8GedT9lGOGtAp/okradVdbzP50W5qdOt6wWc382DmZRtBGQ1G205YLf7e7jRj3p/Aa51n3WkNzUiTs+xaHXWDnkQaOWWz/jv52sdUC/994Xz7/mTHzGYQsgShylopdxv0quBmcB0nG+3GT0oIqtEZDnON+SpOG3bKe7D24eAD4BbRGQBzh/EbKe2Vudh8fXAEPe8M3C+VX8MrAGWiNPV9kPy/i12Mu4fUJxv0Z+7TT8rcZqUnvcpe4lbPr9O1ykitXCeYzTFuZ5lInKnT9lOOL/3zPwfTlPdDP6a4LLyHc7CTOm/s99xnsWUAyaJyAqcP/4PueXHAI+5D8Ab+J5IVU/hLCY01v19pVE8lvwtkWxadWNySUR+Aa5S1SPZlKkGfKWqlxZAfaVwni90cpvEsirXGnhYVW92P8/Feajvz11NVucsq86StpWBP9wY9uT1fPklIvGqWtar+o3D7jiMyb1HgDo5lKnjlss3VT2JMxamZg5Fq+DcVaQ7hLN4T34GAE5yOxX8DPzXq6Thdu9dhvPMy3jM7jhMiSQizYEvMmxOVNXzvIjHmKLEEocxxphcsaYqY4wxuWKJwxhjTK5Y4jDGGJMrljiMMcbkiiUOY4wxuWKJwxhjTK5Y4jDGGJMrljiMMcbkiiUOY4wxuWKJwxhjTK5Y4jDGGJMrljiMMcbkiiUOY4wxuWKJwxhjTK5Y4jDGGJMrljiMMcbkiiUOY4wxuWKJwxhjTK5Y4jDGGJMrljiMMcbkiiUOY4wxuWKJwxhjTK5Y4jDGGJMrljiMMcbkiiUOY4wxuWKJwxhjTK5Y4jDGGJMrljiMMcbkiiUOY4wxuWKJwxhjTK5Y4jDGGJMrljiMMcbkiiUOY4wxuWKJwxhjTK5Y4jDGGJMrljiMMcbkiiUOY4wxuWKJwxhjTK5Y4jDGGJMrljiMMcbkiiUOY4wxuWKJwxhjTK5Y4jDGGJMrljiMMcbkiiUOY4wxuWKJwxhjTK5Y4jDGGJMrljiMMcbkiiUOY4wxuWKJwxhjTK5Y4jDGGJMrljiMMcbkiiUOY4wxuWKJwxhjTK5Y4jDGGJMrljiMMcbkiiUOY4wxuWKJwxhjTK5Y4jDGGJMrljiMKSRE5FYR+SUfx08VkVsKMiZjMmOJw3jG/UO5UkQSRGSPiAwVkQruvmdFZFQmx6iInBX0YAuZzH4/qtpDVT8PYJ1bReSyAjjPKBHZLSLHRGSDiNxZEPGZ4LHEYTwhIo8ArwCPAdFAB6AuMENEIryMLVBEJMzrGAqJl4B6qloeuBp4QUTaehyTyQVLHCboRKQ88Bxwv6r+qKrJqroVuA4nedyUz/O3F5FF7jfavSLyps++C0RkvogcEZEdInKru/1KEVnqHrNDRJ71Oaaee6dzi4hsF5EDIvIfP+J4VkS+db9hHwNuFZFoEfnE/ca9U0ReEJHQLI5/x43lmIgsFpEL3e3dgX8D14tIvIgsd7fPFZE7RSTSvb5mPueKEZGTIlLV/XyViCxzy80XkRY5XMsXQB3gB7fOx93tV4vIavc8c0Xk7Jx+L6q6WlUT0z+6rwY5HWcKD0scxgvnA1HAON+NqhoPTAW65vP87wDvuN9oGwDfAIhIHff8Q4AYoBWwzD3mBDAQqABcCfxDRK7JcN4LgMbApcDT/vyRBHoB37rn/RL4HEgBzgJaA5cDWTXVLHRjrAR8BYwVkShV/RH4H/C1qpZV1Za+B7l/lMcBA3w2Xwf8pKr7RKQNMAK4G6gMfAhMFJHIrC5CVW8GtgM93TpfFZFGwGjgQZzf5xScxJLjHaOIfCAiCcA6YLd7rCkiLHEYL1QBDqhqSib7drv7Aa5zv8mefvl5/mTgLBGpoqrxqrrA3X4jMFNVR7t3OQdVdRmAqs5V1ZWqmqaqK3D+IF6c4bzPqepJVV0OLAdakrPfVPV7VU0DygM9gAdV9YSq7gPeAvpndqCqjnJjTFHVN4BInMTlj6/4a+K4wd0GcBfwoar+rqqp7nORRJzmwty4HpisqjNUNRl4HSiF88UgW6p6D1AOuBAnySVmf4QpTCxxGC8cAKpk0eZf3d0P8I2qVvB9+Xn+O4BGwDoRWSgiV7nbawObMjtARM4TkTkisl9EjgKD+TOBpdvj8z4BKOtHLDt83tcFwoHdPonwQ6BqFjE9IiJrReSoWzY6k5iyMhso5V5XXZw7l/E+cTySISHXBmr4ee50NYBt6R/c5LgDqOnPwW7S+gWoBfwjl3UbD1niMF74DecbZh/fjSJSBucb+az8nFxVN6rqAJw/yK8A37rn3kHWbelfAROB2qoaDQwDJD9xpIfj834HznVX8UmG5VX1nIwHuc8znsBpYqroJs2jPjFpxmP+UqnzR/wbnLuOG4BJqnrcJ44XMyTl0qo6OhfXArALJwmlxyw4CWhnDufJKAx7xlGkWOIwQaeqR3Eejg8Rke4iEi4i9YCxQBzwRX7OLyI3iUiM+8fziLs5FecZw2Uicp2IhIlIZRFp5e4vBxxS1VMi0h7nj22BUtXdwHTgDREpLyIhItJARDI2iaXHkwLsB8JE5Gmcpq50e4F6IpLd/8Nf4TQn3cifzVQAHwGD3bsREZEybueAcjlcwl7gTJ/P3wBXisilIhIOPIKTGOdndQIRqSoi/UWkrIiEikg3nOQ2O4e6TSFiicN4QlVfxekZ9DpwDPgd55vwpT49bvKqO7BaROJxHpT3V9VTqroduALnD9whnAfj6c8p7gGeF5HjwNO4D9QDYCAQAawBDuM8OK+eSblpOA/yN+A0B53ir81eY92fB0VkSWYVqervOA/9a7jnSt++COc5x3tuDLHArX7E/hLwlNu89aiqrsfpATcEp3mxJ87D86RszqE4zVJxbt2v4zzzmeBH/aaQENVs73iNMcaYv7A7DmOMMbliicMUSeLMyxSfyevfJTGOgiAidbK4lnh3DExQz2MKL2uqMsYYkyt2x2GMMSZXSsSka1WqVNF69ep5HYYxxhQpixcvPqCqMRm3l4jEUa9ePRYtWuR1GMYYU6SIyLbMtge0qcod3LVeRGJF5MlM9ouIvOvuX+FOvua7P1ScGUsn+WyrJCIzRGSj+7NiIK/BGGPMXwUscYgzVfT7OFNINAUGiEjTDMV6AA3d1yBgaIb9DwBrM2x7Epilqg1xpqb4W0IyxhgTOIG842gPxKrqZnck6RicKaZ99QJGqmMBUEFEqgOISC2c6a0/zuSY9FXOPgeuCVD8xhhjMhHIZxw1+esUCXHAeX6UqYkztfbbwOM4c/b4qubO+YOq7hZ3YZrcSk5OJi4ujlOnTuXlcJOJqKgoatWqRXh4uNehGGMCKJCJI7OZRTMOGsm0jDsN9j5VXSwinfNUucggnOYv6tT5+5ijuLg4ypUrR7169XAm9TT5oaocPHiQuLg46tev73U4xpgACmRTVRzOFMvpauFMw+xPmU7A1SKyFaeJq4uIjHLL7PVpzqoO7MusclUdrqrtVLVdTMzfepNx6tQpKleubEmjgIgIlStXtjs4Y0qAQCaOhUBDEakvzlKS/XHWO/A1ERjo9q7qABxV1d2q+i9VraWq9dzjZqvqTT7H3OK+vwXI86yaljQKlv0+jSlcdh89GZDzBixxuMuC3oczPfRanNXcVovIYBEZ7BabAmzGmdb5I5yprXPyMtBVRDbirE39coEHHyShoaG0atWKZs2a0bNnT44cOZJt+f3793PeeefRunVrfv755+AEaYwpklbEHaHTy7OZvnpPzoVzKaDjOFR1iqo2UtUGqvqiu22Yqg5z36uq3uvub+6uE5DxHHNV9SqfzwdV9VJVbej+PBTIawikUqVKsWzZMlatWkWlSpV4//33sy0/a9YsmjRpwtKlS7nwwgv9qiM1NbUgQjXGFDGfzljMF5Gv0KlMbhdkzJnNVVVIdOzYkZ07nX/gTZs20b17d9q2bcuFF17IunXrWLZsGY8//jhTpkyhVatWnDx5kunTp9OxY0fatGlDv379iI+PB5yR8s8//zwXXHABY8eOzbbcM888Q5s2bWjevDnr1q0DID4+nttuu43mzZvTokULvvvuO4Asz2OMKVzW7zlOvU2j6MRyypQqVeDnLxFTjuTkuR9Ws2bXsQI9Z9Ma5Xmm59+Wks5Uamoqs2bN4o477gBg0KBBDBs2jIYNG/L7779zzz33MHv2bJ5//nkWLVrEe++9x4EDB3jhhReYOXMmZcqU4ZVXXuHNN9/k6aefBpyusb/88gsHDhygT58+WZarUqUKS5Ys4YMPPuD111/n448/5r///S/R0dGsXLkSgMOHD+dYnzGm8Phk1nL+EzqNpIZXEFEt47jr/LPE4aGTJ0/SqlUrtm7dStu2benatSvx8fHMnz+ffv36nS6XmPj3lVQXLFjAmjVr6NSpEwBJSUl07Njx9P7rr7/er3J9+vQBoG3btowbNw6AmTNnMmbMmNNlKlasyKRJk7I9jzGmcNh64ASV135BdNgJ6PxYQOqwxAF+3xkUtPRnHEePHuWqq67i/fff59Zbb6VChQosW7Ys22NVla5duzJ69OhM95cpU8avcpGRkYDzoD4lJeX0MRl7SOV0HmNM4fDx7NU8GDqVpHqXEFGzTc4H5IE94ygEoqOjeffdd3n99dcpVaoU9evXZ+zYsYDzB3v58uV/O6ZDhw78+uuvxMbGApCQkMCGDRvyXM7X5ZdfznvvvXf68+HDh/N0HmNMcO08cpKIFaOoIkeJuOTxgNVjiaOQaN26NS1btmTMmDF8+eWXfPLJJ7Rs2ZJzzjmHCRP+PlQlJiaGzz77jAEDBtCiRQs6dOhw+uF2Xsr5euqppzh8+DDNmjWjZcuWzJkzJ0/nMcYE1ydz1nFX6A8k1uwAdc8PWD0lYunYdu3aacb1ONauXcvZZ5/tUUTFl/1ejfHGvuOneOfV/+PF0OFw0zg469J8n1NEFqtqu4zb7Y7DGGOKgRHzNnJXyAQSq7aEBl0CWpc9HDfGmCLu8IkkDv0+hnohe+GSNyHA0//YHYcxxhRxn/66mTsZT2LFxtD4ioDXZ3ccxhhThB0/lcz2+WNpFLITunwCIYG/H7A7DmOMKcK++G0rd6R9S2L5enBO76DUaYnDGGOKqJNJqaz5eTzNQ7YS2fkRCAkNSr2WODzkO616v379SEhIyPO5br31Vr799lsA7rzzTtasWZNl2blz5zJ//vzTn4cNG8bIkSPzXLcxxhuj/9jOwJRvSSxTA1r0D1q9ljg85DutekREBMOGDfvL/rxOif7xxx/TtGnWE5tlTByDBw9m4MCBearLGOONxJRU/pj7A+1D1hN50UMQFhG0ui1xFBIXXnghsbGxzJ07l0suuYQbbriB5s2bk5qaymOPPca5555LixYt+PDDDwFnKpL77ruPpk2bcuWVV7Jv358r6Hbu3Jn0AY8//vgjbdq0oWXLllx66aVs3bqVYcOG8dZbb9GqVSt+/vlnnn32WV5//XUAli1bRocOHWjRogW9e/fm8OHDp8/5xBNP0L59exo1amQLSRnjsXFLdnJD4jckRVWBNjcHte6A9qoSke7AO0Ao8LGqvpxhv7j7rwASgFtVdYmIRAHzgEg3xm9V9Rn3mGeBu4D97mn+rapT8hXo1Cdhz8p8neJvzmgOPfxbnDAlJYWpU6fSvXt3AP744w9WrVpF/fr1GT58ONHR0SxcuJDExEQ6derE5ZdfztKlS1m/fj0rV65k7969NG3alNtvv/0v592/fz933XUX8+bNo379+hw6dIhKlSoxePBgypYty6OPPgo4C0SlGzhwIEOGDOHiiy/m6aef5rnnnuPtt98+Hecff/zBlClTeO6555g5c2YB/KKMMbmVkprGnFk/Mjx0JXrBcxBe8GtuZCdgiUNEQoH3cZZ3jQMWishEVfVtfO8BNHRf5wFD3Z+JQBdVjReRcOAXEZmqqgvc495S1dcDFXuwpE+rDs4dxx133MH8+fNp37499evXB5zFk1asWHH6+cXRo0fZuHEj8+bNY8CAAYSGhlKjRg26dPn7SNEFCxZw0UUXnT5XpUqVso3n6NGjHDlyhIsvvhiAW2655S/Tu/tOwb5169Z8XbsxJu9+WLGLvgljSC4VTfi5dwS9/kDecbQHYlV1M4CIjAF6Ab6JoxcwUp0JsxaISAURqa6qu4H05eXC3VfgJtXy886goKU/48gofUp0cJqkhgwZQrdu3f5SZsqUKX+b+jyjzKZHz4/MpmA3xgRXWpoyZeYsPgpdTFrHJyGyXNBjCOQzjprADp/Pce42v8qISKiILAP2ATNU9XefcveJyAoRGSEiFQs88kKkW7duDB06lOTkZAA2bNjAiRMnuOiiixgzZgypqans3r2bOXPm/O3Yjh078tNPP7FlyxYADh1ylmcvV64cx48f/1v56OhoKlasePr5xRdffHH67sMYUzhMW72HnsdGkxJWmpDz7vYkhkDecWT2VTfjXUOWZVQ1FWglIhWA8SLSTFVX4TRn/dct91/gDeD2jCcRkUHAIIA6derk8RK8d+edd7J161batGmDqhITE8P3339P7969mT17Ns2bN6dRo0aZ/oGPiYlh+PDh9OnTh7S0NKpWrcqMGTPo2bMnffv2ZcKECQwZMuQvx3z++ecMHjyYhIQEzjzzTD799NNgXaoxJgeqyriZPzEs9Hek/f1QOvvm50AJ2LTqItIReFZVu7mf/wWgqi/5lPkQmKuqo93P64HOblOV77meAU5kfK4hIvWASaraLLtYbFr14LHfqzGBM2fdPvaNuou+Eb8R+vAqKFs1oPV5Ma36QqChiNQXkQigPzAxQ5mJwEBxdACOqupuEYlx7zQQkVLAZcA693N1n+N7A6sCeA3GGFMoqCqjZ/zKtWE/Q9tbAp40shOwpipVTRGR+4BpON1xR6jqahEZ7O4fBkzB6Yobi9Md9zb38OrA527PrBDgG1Wd5O57VURa4TRVbQW8aeQzxpgg+m3zQTrt/RIJF0IveMDTWAI6jsMdXzElw7ZhPu8VuDeT41YArbM4Z3BHuhhjTCEwauYfvBU2F23RH6JreRpLiR45XhKWzQ0m+30aExhLth+mxY4vCSeVsIse9jqckps4oqKiOHjwoP2xKyCqysGDB4mKivI6FGOKnc9mLObmsJmkNe0DlRt4HU7JXcipVq1axMXFsX///pwLG79ERUVRq5a3t9DGFDerdx2lwZYvKRN2Ci5+xOtwgBKcOMLDw09PxWGMMYXViJkreCZ0GskNryC8WtazXgdTiU0cxhhT2MXuiydmwyjKh52Azo95Hc5pJfYZhzHGFHYfzV7FnaFTSap3CdRs43U4p9kdhzHGFEI7DiVQZtVXVAk7Cpc87nU4f2F3HNn4dnEcj41d7nUYxpgSaPicddwV+gNJNTtA3fO9DucvLHFkIzxuPpWXfcBvmw56HYoxpgTZc/QUaUtHU10OEXFJ4Xm2kc4SRzaujFjGY+HfMHrSVBvvYYwJmo/nbWBQ6ASSqraEBpd6Hc7fWOLIRtjFj5IaVpZrDnzEj6v2eB2OMaYEOBifyJGFX1NX9hJxyeNQgIuxFRRLHNkpXYnQix+hS+gyZkweS3JqmtcRGWOKuRG/bGIQ40ms1BgaX+F1OJmyxJGD0A6DOVm6OrckfMo3C7d5HY4xphg7ejKZuN++o1HITiI7PwYhhfNPdOGMqjAJjyLq8qdpGbKZ1TNGkpBka20bYwJj5K9buEO/I7F8PTint9fhZMkShx+kxfUkVDqbu5NH8elPG7wOxxhTDJ1ITGHdr+NpEbKFyM6PQGjhHWZnicMfIaGUvuIF6obs49gvH3IwPtHriIwxxcxXv2/nltTvSCpTA1r09zqcbAU0cYhIdxFZLyKxIvJkJvtFRN51968QkTbu9igR+UNElovIahF5zueYSiIyQ0Q2uj8rBvIaTmtwKQm1LuRuvuWjmcuCUqUxpmQ4lZzKwp9+oH3IeiIuegjCIrwOKVsBSxzusq/vAz2ApsAAEck4tWMPoKH7GgQMdbcnAl1UtSXQCujurkkO8CQwS1UbArPcz4EnQukrXqCSxBO9+H12HEoISrXGmOJv7KId3JQ0lqSoKtCm8C9yGsg7jvZArKpuVtUkYAzQK0OZXsBIdSwAKohIdfdzvFsm3H2pzzGfu+8/B64J4DX8VY1WnGxyLbeFTOHjyT8HrVpjTPGVnJrG3DnTuCh0JeEX3A/hpbwOKUeBTBw1gR0+n+PcbX6VEZFQEVkG7ANmqOrvbplqqrobwP1ZteBDz1qpbs8QFgJN13/Aqp1Hg1m1MaYYGr90J9ef/JrkiGjk3Du8DscvgUwcmQ13zDhvR5ZlVDVVVVsBtYD2ItIsV5WLDBKRRSKyqEBX+atYl9R2d9I37Ce+nDi14M5rjClxUtOUH2fN4vLQxYR1/AdElvM6JL8EMnHEAbV9PtcCduW2jKoeAeYC3d1Ne0WkOoD7c19mlavqcFVtp6rtYmJi8ngJmYu85HFSwspy2a5h/LLxQIGe2xhTckxZuZtr4seQElYaOe9ur8PxWyATx0KgoYjUF5EIoD8wMUOZicBAt3dVB+Coqu4WkRgRqQAgIqWAy4B1Psfc4r6/BZgQwGvIXOlKhFz0CJeGLmXyD9+QlmYTIBpjcictTRk/cx5Xhv5OaPu7oHQlr0PyW7aJQ0Q6isj7blfZ/SKyXUSmiMi9IhKd3bGqmgLcB0wD1gLfqOpqERksIoPdYlOAzUAs8BFwj7u9OjBHRFbgJKAZqjrJ3fcy0FVENgJd3c9BF95xMAmlzqD/kY+YvGKnFyEYY4qwWev20e3waAgJR86/z+twciXLoYkiMhWn2WgC8CJOk1AU0Ai4BJggIm+qasa7iNNUdQpOcvDdNsznvQL3ZnLcCqB1Fuc8CHg/z3B4KWcqkgn3MH7Kp3Rr9h8iwmw8pTEmZ6rKmBm/8mHYz0jbO6BsUPv45Ft2f+luVtU7VHWiqu5S1RRVjVfVJar6hqp2BuYHKc5CKaRlf+IrNOG2UyP5esEmr8MxxhQRv8Qe4KL9XyEihFzwgNfh5FqWiUNVc3zq60+ZYi0klDJXvkjdkH3smfU+8Yk2AaIxJmcjZ/xB/7C50LI/RNfyOpxcy7FtRUQ6iMhCEYkXkSQRSRWRY8EIriiQsy7leI1O3J72LZ/PXuF1OMaYQm7h1kO03fUV4aQSeuHDXoeTJ/40yr8HDAA2AqWAO4EhgQyqSBGh3FX/o7IcJ2zBu+w/bhMgGmOy9umMJdwcNpO0c/pA5QZeh5Mnfj3NVdVYINQdlPcpzsNxk65GK+Ib9WYgk/nsxxL92McYk40VcUdovO1LynCKsIse8TqcPPMncSS44zCWicirIvIQUCbAcRU5ZXs8S3iIUnfFO2w5cMLrcIwxhdAns5ZzW9g0khteAdUyzvladPiTOG4GQnHGZJzAGel9bSCDKpIq1iOpze1cGzKXL3/40etojDGFzPo9x6m+4SvKc4Lwzo95HU6+5Jg4VHWbqp5U1WOq+pyqPuw2XZkMSl/6JMlhZeiweQjLdxzxOhxjTCHy0exV3Bk2leR6l0DNNl6Hky9ZJg4RWemOGM/0Fcwgi4zSlZALH+ay0KVM+P5rnPGNxpiSbuuBE5Rb8xVV5CjhlzzudTj5lt0dx1VAT+BqnKaqnhleJhORne7hRGQ1rt4/jHkbCnBWXmNMkTV89joGhU4iqWYHqHu+1+HkW3YDALe5r61Aos/nbaq6LXghFjHhpYi8/BlahWzm14kf2wSIxpRwO4+chBWjqS6HiLikaD/bSGeTKwVAWOv+HC3fiBuPf8rEpVu8DscY46GP567n7tCJJFVrCQ28n2avIGT3jKNN+gsoJSKtM2wzWQkJpdxV/6NuyD62TH2fxJRUryMyxnhg3/FTHF88lrqyl4jOj4NktnZd0ZPl7LjAGz7v9wBv+nxWoEtAIiomQhpexuEzzmfg7q/5+pdbGdi5udchGWOC7JN5mxgk40mq1JiIxld4HU6ByTJxqKqNDs8PESpe/T8Y3pnEuW9yrMNwykeFex2VMSZIjiQksfv372gUshM6fwwhxefJQHZNVRdkd6CIlM/tOuAlTo3WHGlwDTfpJL6avsDraIwxQfTpL1u4k3Ekla8H5/T2OpwClV0KvFZE5ovI0yJypYi0F5GLROR2EfkCmIQz6WGWRKS7iKwXkVgReTKT/SIi77r7V6Q/OxGR2iIyR0TWishqEXnA55hnRWSniCxzX4X6/q/CVc8RHqJUXvQGe4+d8jocY0wQHD+VzIb539MiZAsRnR+B0OyeChQ92XXHfQi4EtgN9AP+CzwMNAQ+VNWLVHVhVseLSCjwPtADaAoMEJGMk7P0cM/XEBgEDHW3pwCPqOrZQAfg3gzHvqWqrdzXX1YYLHQq1iOh5W30kbl8NWma19EYY4Jg1ILt3Jb2HUllakCL/l6HU+CybXRT1cOq+pGq3qqq3VT1GlX9l6r+4se52wOxqrpZVZOAMUCvDGV6ASPVsQCoICLVVXW3qi5xYziOs2Z5zVxfXSFR/vJ/kRxWhhbr3iZ2X7zX4RhjAuhkUiqL502ifch6Ii56EMIivA6pwAXyaU1NYIfP5zj+/sc/xzIiUg9n/fHffTbf5zZtjRCRigUWcaCUrkTq+Q9yacgSJnz/jdfRGGMCaMzC7QxMHktyVGVoM9DrcAIikIkjsw7LGYdRZ1tGRMoC3wEPqmr6qoNDgQZAK5xmtDcynsA9dpCILBKRRfv3ez/1R5mL7uN4RDUujRvCkm2HvA7HGBMAiSmpzJszjYtCVxJ+wT8hPNvHwEVWIBNHHM4U7OlqAbv8LSMi4ThJ40tVHZdeQFX3ugtKpQEf4TSJ/Y2qDlfVdqraLiYmJt8Xk2/hpYjo+hStQjbz07iPbAJEY4qhcUt2MiDxG5IjouHcO7wOJ2D8WXN8kYjcm4cmoYVAQxGp7y4E1R+YmKHMRGCg27uqA3BUVXeLiACfAGtV1XfgISJS3edjb2BVLuPyTGTbGzlctiG9D3/CnNVxXodjjClAKalpTJs9i8tDFxPWcTBElvM6pIDx546jP1ADWCgiY0Skm/uHPVuqmoKz+NM0nIfb36jqahEZLCKD3WJTgM1ALM7dwz3u9k44C0h1yaTb7avpU77jLGH7kH+XWgiEhFKu54vUC9nL2knvkmoTIBpTbPywYhe9T3xDSlhp5LzBOR9QhIm/TSYiEoIz1fpQIA0YAbyjqoW+wb5du3a6aNEir8NwqHLgg+7IvtXM6z6D3h3P9joiY0w+paUpt70xhhEn7iHk/PuRy5/3OqQCISKLVbVdxu1+PeMQkRY4D6Ffw3nu0Bc4BswuyCBLBBEqX/MyleU4R2a+zqlkmwDRmKJu2uo9XHF0DISEI+ff53U4AefPM47FwFs4zyxaqOo/VfV3VX0Dp5nJ5JLUbM2Bej3pnzKRb+f+4XU4xph8UFW+njmfa8N+RtoOhLJVvQ4p4Py54+inqpeq6leqmui7Q1X7BCiuYq9KrxcIlzRK/foaRxOSvQ7HGJNHczfs55KDoxERQjo9kPMBxYA/E6hck8mz8KPAYlVdVuARlRQV63G02S1cs3IEn0ydwaBrC/WUW8aYTKgqo2b8wQdhc5GWA6BC7ZwPKgb8ueNoBwzGGdFdE2dOqc7ARyJS9Fdd91DlK54iKbQMDZa/zq4jJ70OxxiTSws2H+LcPaMJJ5WQC4tOB8/88idxVAbaqOojqvoITiKJAS4Cbg1gbMVf6Uokdfgnl4YsZsIEm4rEmKLms5mLuTlsJnpOH6jcwOtwgsafxFEHSPL5nAzUVdWTQGLmhxh/RV/yT46FV6XjpnfYsOdYzgcYYwqFJdsP03THaMpwitCLHvE6nKDyJ3F8BSwQkWdE5BngV2C0iJQB1gQ0upIgvBShlz1Fq5BNzBr3kdfRGGP89MnM5dwWNo2URldAtYwrRhRv2SYOd4T4Z8BdwBGch+KDVfV5VT2hqjcGPMISoMy5N3GgzFn02PMhizbt8TocY0wO1uw6Ru1NoynPCcIufszrcIIup/U4FPheVRer6juq+raqFpIh2MVISCjlrnKmIlk6/m2bANGYQm747FXcFTaV5PpdoGYbr8MJOn+aqhaIyLkBj6SEi2zSjb2V29Pn+ChmLd/kdTjGmCzE7oun4rrRVJajhHcueXcb4F/iuAQneWxyF09Kn2DQFCSfqUh2T3mFlNQ0ryMyxmRi+Jx1DAqdRHKtDlD3fK/D8YQ/AwB7BDwKA0BY7bbsrn0lfbd/z6Rf7+aai/42t5gxxkM7DiUQunIM1cMOQQm92wA/7jhUdRvOYktd3PcJ/hxn8uaM3i8SJmkw9yVOJtkEiMYUJsPnrmdw6ESSq7WCBpd6HY5n/Jnk8BngCeBf7qZwYFQggyrJpFJ9Dp49kJ6psxg/fZbX4RhjXHuOniJhybfUlb3Os42clyUqtvy5c+gNXA2cAFDVXUDxXdqqEDjjqqdIDClF9YUvc/hEUs4HGGMC7qN5sdwdMp7kSo2hccmeW86fxJHkdstVAHfgn19EpLuIrBeRWBF5MpP9IiLvuvtXiEgbd3ttEZkjImtFZLWIPOBzTCURmSEiG92fuV3StvArU5kT7f/JJbKYHyaO9ToaY0q8g/GJ7PtjHI1Cdjp3GyElu7Xen6v/RkQ+BCqIyF3ATJxlXrMlIqHA+zgP15sCA0Qk4/DKHkBD9zUIZ3VBgBTgEVU9G+gA3Otz7JPALFVtCMxyPxc7MZc9yJGwGFqsfZO4Qye8DseYEm3EL5u5S8aRFF0PzuntdTie8+fh+OvAtzgr/zUGnlbVIX6cuz0Qq6qbVTUJGAP0ylCmFzBSHQtwklN1Vd2tqkvc+o/jrFle0+eYz933nwPX+BFL0RNeCr3k37QKiWWmTUVijGeOnkxm028TaRGyhYiLH4FQfzqjFm9+3W+p6gxVfUxVH1XVGX6euyaww+dzHH/+8fe7jIjUA1oDv7ubqqnqbjeu3UCxXW6rYsdb2FeqARdv/4A1Ow54HY4xJdLI+Vu5Xb8jqUwNaNHf63AKBX96VfVxnyccFZFjInJcRPyZxjWzLgcZ59LItoyIlMW503lQVXM1dayIDBKRRSKyaP/+/bk5tPAICaXMFS9QP2Qvi8e96XU0xpQ4JxJTWPbLZNqHrCfiogchLMLrkAoFf+44XgWuVtVoVS2vquVUtbwfx8XhjP9IVwvY5W8ZEQnHSRpfquo4nzJ7RaS6W6Y6sC+zylV1uKq2U9V2MTExfoRbOJVp1oOdFdrR49AX/L52i9fhGFOijP5jO7ekfEtyVBVoM9DrcAoNfxLHXlVdm4dzLwQaikh9EYkA+gMTM5SZCAx0e1d1AI6q6m53Vt5PgLWqmvGr9kTgFvf9LcCEPMRWdIhQpfcrVJFjbJ34sk2AaEyQnEpO5ee507kodCXhF9wP4aW8DqnQ8CdxLBKRr0VkgNts1UdE+uR0kKqmAPcB03Aebn+jqqtFZLCIDHaLTQE2A7E4PbXucbd3Am4GuojIMveV3nH6ZaCriGwEurqfi7XIuu3YXqMHPRPGM3vhcq/DMaZEGLs4jhuTviE5IhrOvcPrcAoVf7oHlMeZZuRyn20KjMu8uE8h1Sk4ycF32zCf9wrcm8lxv5D58w9U9SBQ4sb617z2JdKGtOPk9BdJbvs14aElux+5MYGUnJrG9Nmz+SJ0MdrxCYi0Mc++ckwcqnpbMAIx2QutXJ+dDW+kx4aRTJ4zl6sv6+J1SMYUW98v3Unfk9+QElmGsPMG53xACeNPr6pGIjJLRFa5n1uIyFOBD81kVPuap0kMKUX0r//jRGKK1+EYUyylpikTZv/MVaELCG1/J5Su5HVIhY4/7R0f4UxwmAygqitwHnSbIJMyVTjc5l4u1oVMnZxjS6ExJg+mrNxNz2NfQ0g4cv59XodTKPmTOEqr6h8ZttnXXY/U7PYwh0Or0HD5Kxw8fsrrcIwpVhJTUhkzcz7Xhv1MSNuBULbYji/OF38SxwERacCfkxz2BXYHNCqTtYjSJF/0L1pKLLNsKhJjCtR/J62h6+GvCQkJQTo9kPMBJZQ/ieNe4EOgiYjsBB4E7GmRh6peeBt7IuvTfvN7bN931OtwjCkWxi2JY/Xvs7g5fDYhrQZAhdo5H1RC+TPJ4WZVvQyIAZqo6gXuSoDGKyGhRPb4L/VkD79/+4bX0RhT5K3dfYzXx//Cx6WGEFKhFnR93uuQCjW/BwOo6gl3plpTCFRseRXby7flkr2fsmZLnNfhGFNkHTuVzH1f/MG7YUOoFBKPXPcFlCp+y/wUJBtFVlSJUKn3S1SRY6wf/z+vozGmSFJVHv1mOdcd/5x2ugq56i2o3sLrsAo9SxxFWNn657G5Wje6Hf2WBStWex2OMUXOh/M2I+smcXfoRGh3O7S6weuQigR/BgCWFpH/E5GP3M8NReSqwIdm/FHz2v8RLqkcnvw8aWk2AaIx/pq/6QBjp83h7agP0ZptoXuxn/auwPhzx/EpkAh0dD/HAS8ELCKTK5FVz2Lbmf25/NQ05vz6s9fhGFMk7Dl6ise/+o2Po94hKrIU0u9zCIv0Oqwiw5/E0UBVX+XPkeMnyWICQuONM3s/yykpRcTc50lKSfM6HGMKteTUNO79cjFPpgylnsYhfT+xrre55E/iSBKRUvw5ALABzh2IKSRCysWwt+U/uDB1ITN/HO91OMYUav+bspbmO8dwlfyKdHkKGlzidUhFjj+J41ngR6C2iHwJzAIeD2RQJvfqX/kIB0OqUGvRyxw/meR1OMYUSj8s38WK+dP4v/AvofGV0Okhr0MqkvwZADgd6APcCowG2qnq3MCGZXJLIsqQ0OlxWrCBud+P8DocYwqd2H3Hee27eXxUagghFetC76EQYh1L88KfXlUTcRZxmquqk1T1gL8nF5HuIrJeRGJF5MlM9ouIvOvuXyEibXz2jRCRfenTuftsf1ZEdmayMmCJV/uSO9kVUY8W695i3xEbq2lMuvjEFO4Z+TtvhbxDxZCTSP9REBXtdVhFlj/p9g3gQmCNiIwVkb4iEpXTQSISCrwP9ACaAgNEpGmGYj2Ahu5rEDDUZ99nQPcsTv+WqrZyX1OyKFPyhIQSevnz1JU9/D7WpiIxBpxBfk98t4J+R0bQljXI1e9CtXO8DqtI86ep6idVvQc4ExgOXAfs8+Pc7YFYd66rJGAM0CtDmV7ASHUsACqISHW33nnAIf8vxQBUa3s1W8q25vy4T9iyc4/X4RjjuRG/bkVXjeeusMnQfhC0uM7rkIo8vxr43F5V1+LMinsu8Lkfh9UEdvh8jnO35bZMZu5zm7ZGiIhNKuNLhApXv0RlOcba72y4jSnZFm49xDdTZvJm5HC0Vnu4/EWvQyoW/HnG8TWwFuiC0/TUQFXv9+PcmY31yDi02Z8yGQ0FGgCtcNYFybRNRkQGicgiEVm0f//+HE5ZvFRs1JH1VbrS+eA3rFq/3utwjPHE/uOJPDbqV4ZHvk1EqXLIdZ9DWITXYRUL/o4cb6Cqg1V1tqr6O8IsDvAdVVML2JWHMn+hqntVNdWN4yOcJrHMyg1X1Xaq2i4mJsbPkIuPWn1fIlxS2TPhGVRtKhJTsqSkpnH/V4t5MnkIddhNSL9PoXwNr8MqNrJMHCLSxX1bGuglIn18X36ceyHQUETqi0gEzjrlEzOUmQgMdHtXdQCOqmq2qwumPwNx9QZWZVW2JCtzRkM21rmOziem8cfC37wOx5igem36es7ZPoru8jty2TNQ/0KvQypWwrLZdzEwG+iZyT4FxmV3YlVNEZH7gGlAKDBCVVeLyGB3/zBgCnAFEAskALelHy8io4HOQBURiQOeUdVPgFdFpJUbw1bg7hyvsoQ669rnSHxrPKnTnyW13TRCQ2ymGFP8/bhqD8vmTearyDFwdk84/59eh1TsSE7NGCJSX1W35LStMGvXrp0uWrTI6zA8sfabZzh7zdv81GkkF3fN2KnNmOJl8/547njvB8aFPEl0pRhC7poNUeW9DqvIEpHFqtou43Z/nnF8l8m2b/MfkgmGxr0e56BUpvL8FziVlOJ1OMYETEJSCvd/8TtvyVtEhyURcv0oSxoBkt0zjiYici0QneH5xq1AjgMATeEQElmGQ+c9SjPdwNzvP/I6HGMCQlX5z/hV9D30Ia1YT0iv96BqE6/DKrayu+NoDFwFVMB5zpH+agPcFfDITIFpePnd7IhowPmrn2Pu3Bleh2NMgRv1+3ZSl4/ltrBp0OFeaHat1yEVa1k+HFfVCcAEEemoqtYtpygLCSXm7vEc++AyWsy5jd9KfU3H8zp5HZUxBWLp9sOM/uFHxkd+jNbqiHR9zuuQij1/nnEsFZF7ReQDd6T2CBGx6VeLmKjKdSl95yQICePMKTeyeNlSr0MyJt8Oxify2Kif+TDiLcJLl0eu+wxCw70Oq9jzJ3F8AZwBdAN+whmkZ1OvFkFlqzcm9JYJlApJIWb89axct87rkIzJs9Q05cExS3ni1LvUYh8h130O5c7wOqwSwZ/EcZaq/h9wQlU/B64Emgc2LBMo0fVakjxgLFXkKKXHXEvslm1eh2RMnrw9cwPnbPmUriELkctfgLrnex1SieFP4kh2fx4RkWZANFAvYBGZgKvcqCPxfb6kJvtIGtmbbTuzHaxvTKEze91eFs2dwOPh38A5faDDP7wOqUTxJ3EMd2eg/T+cKULWAK8GNCoTcFVbXMbBKz6ioW7l8Md92H3goNchGeOX7QcTeGnMTIZGvgdVGsLVQ0BsVoRg8mc9jo9V9bC7LseZqlrVnS7EFHE121/D7i7v0jxtLTuG9uXgUXt0ZQq3U8mp3D9qAW/wFuXDUp1BfpFlvQ6rxMmyO66IPJzdgar6ZsGHY4KtzkU3sfnkMdr/9i9+ee86Wjw0jvKlS3kdljGZembCaq7d/wEtwjZC75EQ08jrkEqk7O44yuXwMsXEmd3uYWPrf3NB8nwWD7mZk4nJOR9kTJB9vXA7SUu+YmDYDGfiwqY295pXshsAaKNoSpCGvZ5gw6ljXLL2PaYNuZPOD3xCZHh2kycbEzyrdh7lywlTGBs5Aq1zAXLpM16HVKL5swJgIxGZJSKr3M8tROSpwIdmgq3RdS+wvv5AusV/z6wPHiAl1d81u4wJnCMJSTz2xU8MDXuT8DIVkX6fQqh9qfGSP72qPgL+hdstV1VX4CzKZIobERoPfJd1NXpzxeFRTB3+b9LSbPVA4520NOXhMUt4LOEtqoccIuT6L6BsVa/DKvH8SRylVfWPDNtsfu7iSoQmd37C+ipd6bl3KJM/+58tPWs88/6cWM7e9AldQpYQ0u1/UDvTlaJNkPmTOA6ISAOcFfcQkb6AXyPGRKS7iKwXkVgReTKT/SIi77r7V4hIG599I0RkX3oTmc/2SiIyQ0Q2uj8r+hOLyYWQUBoN/ooN0edz5bbXmDL6Pa8jMiXQvA37WTjrWx4JH4s2vw7a26TchYU/ieNe4EOgiYjsBB4EBud0kIiEAu8DPYCmwAARaZqhWA+gofsaBAz12fcZ0D2TUz8JzFLVhsAs97MpYBIWwVn3fMfmMq3otv5ppo+zeS1N8Ow8cpKXR09nSOT7EHM20vNtG+RXiPgzAHCzql4GxABNcNYBv8CPc7cHYt3jk4AxQMb+c72AkepYAFQQkepuvfOAQ5mctxfwufv+c+AaP2IxeRASWZr6909kR1QjLl7+OHOmfON1SKYESExJ5YEvfuPVtDcoFw4h/UdBRBmvwzI+slsBsLyI/EtE3hORrkACcAsQC1znx7lrAjt8Pse523JbJqNqqrobwP1pT8oCKLRUeWreN4V9ETVp//t9/DJ3itchmWLuv5PW0GfvuzSTTYT0+RAqN/A6JJNBdnccX+CsArgSZ8W/6UA/4BpV9WfkTWb3lRmfsvpTJk9EZJCILBKRRfv37y+IU5ZYEeUqU+UfUzkWVpnmc+7kj99+8jokU0yNWxJH4sKR3BA2By54GJpc6XVIJhPZJY4zVfVWVf0QGAC0A65S1WV+njsOqO3zuRawKw9lMtqb3pzl/tyXWSFVHa6q7VS1XUxMjJ8hm6yUqlSDsoMmkxRaijN/vJllyxZ6HZIpZtbuPsao8RN5MfxT0up3hi42XKywyi5xnJ53QlVTgS2qmptZ8BYCDUWkvohE4Iz9mJihzERgoNu7qgNwNL0ZKhsTcZrMcH9OyEVMJh/KVTuTsFsnEhoC1cZfz9p1q70OyRQTx04l8/gXc3kv9C1Cy1UlpO8nEBLqdVgmC9kljpYicsx9HQdapL8XkWM5nVhVU4D7gGnAWuAbVV0tIoNFJL1X1hRgM85zk4+Ae9KPF5HRwG9AYxGJE5E73F0vA11FZCPQ1f1sgqRinXNIvXE8ZeUUZcb0YfOWTV6HZIo4VeWxr5fyaPzrnBFyhNDrv4AyVbwOy2RDSsLgrnbt2umiRYu8DqNY2b3qJ6K/vY6dVKXUXT9Sq2ZOfRqMydywnzZxasYLPBg2Dq56C9rd7nVIxiUii1W1Xcbt/ozjMOZvqje7mINXfUpddnH0k2vYu/+A1yGZIui3TQf5Y/po/hk2Hm05ANre5nVIxg+WOEye1W53BTsvG0rj1Fh2DbuGQ0dzbME05rQ9R0/x0ldTeTt8KFqtGXLVWzbIr4iwxGHypf4F17HlgtdpmbKK2Peu5fiJBK9DMkVAcmoaD335Gy+nvEaZyFDnuUa4LSBWVFjiMPnWsOsdbDj3Wdon/8GKIf05eSrJ65BMIfe/yWvos+tNmspWQq/9CCrV9zokkwuWOEyBaHLVg6w55xE6nfqJ39+7haTkVK9DMoXUD8t3cer3EfQLmwcXPwGNunkdksklSxymwDTt9zSrGtxF5/gpzPtgMKm2EJTJIHbfcb74bhzPh39O2pmXOonDFDmWOEyBanbTa6yq1Z/LDn/DrA8ftbU8zGnxiSk89vkc3g15i5Dy1Qnp+7EN8iuiLHGYgiVCs9uHsirmSi7f9wnTRzxrycOgqjz57VIePv4qVUOOEdr/CyhdyeuwTB5Z4jAFLySEcwZ/zpoKnem2421mfvmG1xEZj434dSuN177HhSErCbnqDajR2uuQTD5Y4jABIaHhNLnna9aVaU+XjS8w+7sPvQ7JeGTh1kP8MfUL7g/7Hm09ENoM9Dokk0+WOEzAhEREcdb949lcqhkXrPgX8yZ/6XVIJsj2H0/kpVGTeSN8KKlntESueM3rkEwBsMRhAiosqix17vuBnRH1af/HAyyYbZMZlxQpqWk88uV8/pf8KlGREe4gvyivwzIFwBKHCbjIshWpdu8U9oedQbOf7mbx/Jleh2SC4LVp67hm5+s0lh2E9fsEKtb1OiRTQCxxmKAoXaEa0XdP4XhoeRpMu4WVS37zOiQTQD+u2sOJX4fTJ/QX5JJ/w1mXeR2SKUCWOEzQlK9ah8jbfyAlJIIzJvRnw5rlXodkAmDz/nhGjh3LM+FfkHrW5XDho16HZAqYJQ4TVJVqNSbtpvGESyplv7mWLZvXex2SKUAJSSk8OXI2b8mbSHRNQq8dDiH2Z6a4Cei/qIh0F5H1IhIrIk9msl9E5F13/woRaZPTsSLyrIjsFJFl7uuKQF6DKXhVG7TixHVjKc8JZGRvdsZt9zokUwBUlf8bt4wHj75EldAThPUfBaUqeh2WCYCAJQ4RCQXeB3oATYEBItI0Q7EeQEP3NQgY6uexb6lqK/c1JVDXYAKnZtOOHLh6JNXYT8KIq9m/b6/XIZl8GvX7ds5a9Tbnh6whtOc7UL2F1yGZAAnkHUd7IFZVN6tqEjAG6JWhTC9gpDoWABVEpLqfx5oirl6brsRd/hH1Urez78OrOXz4sNchmTz6Y8shFkz6lH+E/YC2vR1aDfA6JBNAgUwcNYEdPp/j3G3+lMnp2Pvcpq0RImL3wkVYw/OvYdPF79Ik5f/bO/PwqqpzD7+/BMI8CzSIzCCKYsQACopioYDaam+1erFF1BYRtdbW22rn9rZKsU8rSisOD61ttbX1CkVURBkVQQjzILMUgchsmANJvvvH3qnHmJycQ3Kyg/ne58nDHtba67e+fdjfXsP+1nq2/uHLHD5yJGpJThJs3HWIu55fyoNPv8i4WhMpyOyFho2NWpaTYlLpOEpbA7JktLuy0sTL+wTQGcgCcoFSAyFJGiUpR1LOnj17EhLsREP3K7/Ge30e5sKTy1j7+PUcz8+PWpJTDpv3HObevy9jxKOTuXj9OKbX+RH16tWn1k1/gVp1opbnpJhaKbz2duCsmP22wM4E02SUldfM/tMZLulpYFpphZvZU8BTANnZ2R6etZpz3tV3svL4Qfqseoh3HhtO7/teoHatVP48nVPh/b1HeHzmRpYsX8qY2tP4bd25pAnU8yYYcD80aRu1RKcKSOX/zMVAV0kdgR3ATcDwEmmmEnQ7/R3oC+SZWa6kPWXllZRpZrlh/i8Dq1NYB6cK6fmV77Ps+EH6bZzAvAm30/+eP5Ke7lM5qwPb9h3lsVkbWbFsEXfVmspv6sxH6enowlug/73+VXgNI2WOw8wKJN0NvA6kA5PMbI2k0eH5icCrwFXAJuAocGu8vOGlx0nKIui62grckao6OFXPhcN/ybJJBxnwwZ+ZM7Ehl4+ZgFRaz6VTFXyw/ygTZm1i9bL53JU+hUcy3oVadVH2aOh3DzTOjFqiEwGqCYvsZGdnW05OTtQynEQxY9kTt3Hh7peY0/ZOLr/9YXceVcyOj44xYdYm1i+ZzZj0KQxKW0JRRkPS+oyCS+6CBmdELdGpAiQtMbPskse9E9mpfkhkjX6GFY8f4ortTzD3uUZc/rUfRq2qRpCbd4w/zN7MppwZjEmbzMO1V1JUpylc8gPS+o7yD/ocwB2HU01RWjrnj3meVeOv4/JN43jrxcZcdv09Ucv6zLLr4HGemL2JrTmvMEYv0afWOgrrnwH9fk5a79uhTqOoJTrVCHccTrUlrXYG3e95kbWPXk2/VT9mQd1GXHLNyKhlfabYfeg4E2dvZufiyYzWS2Slb6agQSZc9mvSe42AjPpRS3SqIe44nGpN7Tr16XT3FLaMH0Kvxd9lcd2G9B50fdSyTnv2Hs7n6bkb+XDhP7lDkzk3/d+cbNwOBjxKrazh/i2GExd3HE61p26DJrQZM42dEwZz3lt3sqJeQy7oPzRqWacl+4+c4Om5G9i/8Hm+yWS6pO/kRNPOMPBJap93PaT7I8EpH/+VOKcFDZqeQYs7prHvicF0mjGSuWu/TtPzh9G916XUyciIWl6156OjJ5g0dx15C/7CbZpC+7Td5Lc4B658iIxzvgRp6VFLdE4jfDquc1qxb8cW9j97M11PrAXggDViQ4OLONHhCs7qfQ3tO3Txqbsx5B07ybNz3+PwgkmM5F+00X6Ot7qAup9/ELoNBbeVE4eypuO643BOS44c+JAtC6dRsPEN2h14lxYWRNbdorPY0aIfdbsP5uy+Q2jcqHHESqPh4PGT/HXOGo4tfJoR9jItlcfRzD7UH/QgdBroDsNJCHcc7jg+u5iRu2EJO5dOo962uXQ5upIMFXDcavNenZ4cPvMyWl54NV17ZH/mQ5gczi/g+bkrOfnORIbbKzTTYQ63HUDDQQ9Ah/5Ry3NOM9xxuOOoMZw8dojNOTM4vOZ1Wu+Zz1mF2wH4kBZsadwHdbmSzn2voVXrNhErrTyO5BfwwtxlFL3ze75q02msYxxsN4jGX/gBtL0oannOaYo7DnccNZYDOzezddE0tHkmnQ7l0JgjFJnYUKsre1tfSqMeQzg7eyB165x+U1CPnijg/+bkwIIJfKVoBnV1gryOV9NsyAPwufOjluec5rjjcMfhAFZ4kq0r32bvitdosnMenfPXkS7jkNVjff1e5LcfyJnZ19C+c/dqPch+/GQhU2YvIG3BY1xbNItaKuSjLtfRYsiD0LJb1PKczwjuONxxOKVwNG8vmxe9wol1b9J2/wJaW7Do1zZlsr35JWScPZiufYfRpEn1iNF0/GQhr8x+i1oLxnNV0VwkcaDbDbQc+n1o3jFqec5nDHcc7jic8jAjd/NKdiyZRp1/z6XzkeXUVz4nLJ0NGT3IazOAFllD6dqzH+npVfvdQ35BIdNnz6bOgkcZXPg2harNvu7DyRz2P754kpMy3HG443CS5GT+MTYveZNDq6fTYtd8OhW+D8A+mrC5UW+s05V07PtFWrVplzINJwqKeHPW69Rb+CgDixZyXHXZd84I2gy7HzVqnbJyHQfccbjjcCrMgV3beH/RNNg0kw55i2jOQQA2pXVkd6v+NDx3CN16D6JuvYoHBjxZWMScN6fR4N1H6Ve0hCNqwN7zbqXd0O+gBi0qfH3HSYRIHIekocB4glX8njGzsSXOKzx/FcEKgCPNbGm8vJKaAy8AHQhWAPyqWfj1Vxm443AqGysqZOuahexe9iqNts+ja/4aaquQo1aHDfWyONZuAJm9rqF9t54oLfFvRwoKCnnrzSk0XvQ7LipaRZ4as+/8b9Jx2LdQvaapq5DjlEKVOw5J6cAGYDCwnWAN8v82s7Uxaa4C7iFwHH2B8WbWN15eSeOA/WY2VtIDQDMz+348Le44nFRz9NABNi2azvF1b9Bm7zu0tVwAcmnJtmaXUKvbILr0vZomzUtfOa+goJCFM/5Bk5xHOb9oHfvUnP1Zd9Bl6N2oTsOqrIrj/IcoHMclwM/MbEi4/yCAmT0ck+ZJYI6Z/S3cXw9cQdCaKDVvcRozy5WUGeY/O54WdxxOVZO79T0+WPwKGVtn0eXIUhpyjAJLY2PG2Rz43GU0v2AoXbMuB4klr/+Vpjnj6Va0mV1pLdmXNYZzht2JateLuhpODSeKpWPPBD6I2d9O0KooL82Z5eRtbRa8zoXOo1VlinacyiCzwzlkdjgHuJ+CE/msWzaHj1ZNp/mHb3PxtqdJ++Ap8qY14JAa08dy2ZGWyarsX9FjyCha1/Zov071JpWOo7Svp0o2b8pKk0je+IVLo4BRAO3apW7Wi+OUR62MOnTvOwT6DgHgoz25bF70CoUbZ9Lg6A72XPBdLhgykjNr1Y5YqeMkRiodx3bgrJj9tsDOBNNkxMm7S1JmTFfV7tIKN7OngKcg6Ko61Uo4TmXTtGUmF139DeAbUUtxnFMilaFCFwNdJXWUlAHcBEwtkWYqMEIBFwN5YTdUvLxTgVvC7VuAf6WwDo7jOE4JUtbiMLMCSXcDrxNMqZ1kZmskjQ7PTwReJZhRtYlgOu6t8fKGlx4L/EPS7cA24IZU1cFxHMf5NP4BoOM4jlMqZc2q+myvauM4juNUOu44HMdxnKRwx+E4juMkhTsOx3EcJynccTiO4zhJUSNmVUnaA/z7FLOfAeytRDmVhetKDteVHK4rOaqrLqiYtvZm1rLkwRrhOCqCpJzSpqNFjetKDteVHK4rOaqrLkiNNu+qchzHcZLCHYfjOI6TFO44yuepqAWUgetKDteVHK4rOaqrLkiBNh/jcBzHcZLCWxyO4zhOUtRoxyFpqKT1kjaF65eXPN9E0suSVkhaI+nWRPNGqGurpFWSlkuq1MiOCehqJmmypJWSFkk6L9G8EepKib0kTZK0W9LqMs5L0mOh5pWSeiVanwh1pfK3VZ6u7pIWSMqXdH+Jc1HaK56uKO11c3j/Vkp6R9IFMecqbi8zq5F/BOHaNwOdCBaOWgGcWyLND4Bfh9stgf1h2nLzRqEr3N8KnBGRvR4BfhpudwdmJpo3Cl0pttcAoBewuozzVwGvEax2eTHwbqptVRFdqbRVgrpaAb2BXwH3J3P/o9BVDezVD2gWbg+r7N9XTW5x9AE2mdkWMzsB/B24tkQaAxpJEtCQ4AFdkGDeKHSlkkR0nQvMBDCzdUAHSa0TzBuFrpRhZvMI7ktZXAv82QIWAk0VrGiZSltVRFdKKU+Xme02s8XAyRKnIrVXHF0pJQFd75jZgXB3IcEqqlBJ9qrJjuNM4IOY/e3hsVgmAOcQLFu7CrjXzIoSzBuFLgicygxJSxSsu15ZJKJrBfBfAJL6AO0JfrBR26ssXZA6e5VHWbpTaauK6ILobBWPqO0Vj+pir9sJWpFQSfZK5Zrj1R2VcqzkFLMhwHLgSqAz8IaktxLMW+W6zOwg0N/MdkpqFR5fF76dVIWuscB4ScsJHNoygpZQ1PYqSxekzl7lUZbuVNoqEeKVH5Wt4hG1veIRub0kDSRwHJcWHyolWdL2qsktju3AWTH7bQne4GO5FXgpbLZvAt4n6CNPJG8UujCzneG/u4HJBE3TKtFlZgfN7FYzywJGEIy/vJ9gnaLQlUp7lUdZulNpq4roitJW8YjaXmUStb0k9QSeAa41s33h4UqxV012HIuBrpI6SsoAbgKmlkizDfg8QNgnfjawJcG8Va5LUgNJjcLjDYAvAKXOukiFLklNw3MA3wDmha2gSO1Vlq4U26s8pgIjwllMFwN5ZpabSH2i0BWxreIRtb1KJWp7SWoHvAR83cw2xJyqHHulYsT/dPkjmEGygWCWwQ/DY6OB0eF2G2AGQffGauBr8fJGrYtgpsSK8G9NBLouATYC68IfbbNqYq9SdaXSXsDfgFyCQdPtBN0FsZoE/D7UvArIriJbnZKuKvhtlafrc+Hxg8BH4XbjamCvUnVVA3s9Axwg6NJeDuRU5u/Lvxx3HMdxkqImd1U5juM4p4A7DsdxHCcp3HE4juM4SeGOw3Ecx0kKdxyO4zhOUrjjcBzHcZLCHYdTqUgqDMNIr1EQ9v07ktLCc9mSHouTt4Ok4VWntkwdPSTNkrRB0kZJPw4DShafv07ST8LtAZKWSiqQdH1MmpaSpidR5uES+yMlTYjZ/7akEeH2I5LWKQiZPVlS0/D4+ZL+FJPnZ5J2SPpF8lZIHklZkq5K4fVnSzosKTtVZTiJ4Y7DqWyOmVmWmfUABhN8bPRTADPLMbNvxcnbAYjUcUiqR/Al7Vgz6wZcQBCiekxMsu8Bfwi3twEjgedjr2Nme4BcSf0rQVMt4LaYMt4AzjOzngQfcj0YlrkKaBt+NVzM78zsJxXVkCBZBPf7U4R1qBBmNhCo1HUtnFPDHYeTMiyI0TMKuDsMYXGFpGkAki4PWybLJS0LwzOMBS4Lj90XtkDeCt/ol0rqF+a9QtIcSS+Gb97PFbcIJPVWsHDNCgWLNjWSlB6+pS8O39LviCN7ODDfzGaEdTgK3A08EF6/G5BvZnvD81vNbCVQVMq1pgA3V9iQQTDLpWZWEJY5o3ibT4bMBniZIIzEp5DUJ7TNsvDfs8PjIyW9JGl62MIaF5Pn9rDlNUfS08WtIEk3SFod2nleGL7iF8CN4f27MWzxPCVpBvBnSe0lzQzvwcxiByfpT5KeCFsUW8LfxiRJ78W2oJzqQ02OjutUAWa2JeyqalXi1P3AXWY2X1JD4DjBw/l+M7sGQFJ9YLCZHZfUlSDMQnE3xYVAD4IAbfOB/pIWAS8AN5rZYkmNgWME4RjyzKy3pDrAfEkzzOz9UiT3AJaUqMNmSQ3D6/UHliZY/Rzglwmmracgem8xzfk4hlD/kppiuI2gzrFlPgCMKyXtOmCAmRVIGgQ8BHwlPJdFYNN8YL2kx4FC4McECwYdAmYRhNAA+AkwxMx2SGpqZifC7rtsM7sbgq4y4CLgUjM7JullgrU+npV0G/AYcF14vWYEDvJLBM6vP0FcscWSssws1jZOxLjjcKqC0kI5zwd+K+k5gki/26VPJasNTJCURfAQ6xZzbpGZbQcIH7gdgDwg14KFdbAgwCKSvgD01MdjEE2AroQRckvRWlYcHgMygT1lVbQEuwniiiXCMQui9wYipJF87CQzgfc+JVT6IUF4+OcSLLMJ8GzohI3AvsXMNLO88LprCdYsOQOYa2b7w+P/5ON7MB/4k6R/EMT/KoupZnYs3L6EcF0U4C980rm9bGYmaRWwK+x2Q9Iagnu7PE4ZThXjXVVOSpHUieChvzv2uJmNJXijrAcslNS9lOz3AbsIxhmyCZa6LCY/ZruQ4CWorIe+gHvCsZcsM+tY3BVVCmv4+IEdW4fDZnaIoAVTt4y8JakbpkfSH8MunFclnRXTTTc6get8qkxJtwDXADfbJwPO/afMUvhfYLaZnQd8scQ1y7JnqZjZaOBHBCG6l0tqUUbSI2Vdg0/eq+Lyi0poKcJfcKsd7jiclCGpJTARmFDi4Yakzma2ysx+TdC90p2gO6RRTLImBC2IIuDrBOslx2Md0EZS77CMRgoGZV8H7pRUOzzeTUGo69J4Drg07MopHix/jI/fjt8DupRfeyB4O18NYOF6IGZ2lZl9EOPEJiZwnU+UKWko8H3gS+EYTKlllkITYEe4PTKBchcBl0tqFtqxuFur+P69Gw687yVwICXvX0ne4ePxl5uBtxPQ4FRD3HE4lU298E16DfAmQfj3n5eS7tvFg6sEb8ivASuBgnDA9T6CmUu3SFpI8ECM9/aKBWso3wg8Hl73DYK36meAtcBSSauBJynjLTbsVrkW+JGk9QShxRcTLNcLMA+4sMRg/HbgBuDJsN7FDAReiac5QV4DBsTsTyB4QL8R2jrW+cQrcxzwsKT5lO+EMbMdBOMg7xLcy7UE3YEAj0haFdpzHsHYx2zg3OLB8VIu+S3gVkkrCV4E7i1Pg1M98bDqjpMkksYT9Mm/WU66eQSrrx2ohDInA98zs41x0tQB5hIMRheEg9OHzew3FSi3oZkdDlsck4FJZjb5VK9XUSTNIZhA4dNyI8RbHI6TPA8B9eMlCLvpflsZTiPkAYJB8ni0Ax6Imap7GBilin0A+LNw8sFqgskEUypwrQohaTbBAkkno9LgBHiLw6mRSDqfYGZPLPlm1jcKPY5zOuGOw3Ecx0kK76pyHMdxksIdh+M4jpMU7jgcx3GcpHDH4TiO4ySFOw7HcRwnKf4fosQSebcq74wAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "job.results.plot_all_pes()\n", "plt.subplots_adjust(top=2, hspace=0.5)" ] }, { "cell_type": "markdown", "id": "d0119fa2-5458-4b44-86d9-13ca09488b04", "metadata": {}, "source": [ "Above we clearly see that the O-H scan is perfectly well reproduced by the trained model but not the H-H scan. This is because we called ``add_pesscan_singlepoints`` on the O-H bond scan reference job.\n", "\n", "Then let's get the **reference and predicted optimized O-H bond length in water**:" ] }, { "cell_type": "code", "execution_count": 21, "id": "241fd54e-8196-4c70-85cb-f26399bd103e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "#Reference Prediction Unit Sigma Weight WSE* Row* Col* Expression\n", "#------------------------------------------------------------------------------------------------------------------------\n", "+0.990 +0.991 angstrom 0.050 1.0000 0.000 0 0 distance('geometry_optimization',0,1)\n", "#------------------------------------------------------------------------------------------------------------------------\n", "#WSE*: Weighted Squared Error: weight*([reference-prediction]/sigma)**2\n", "#Row*, Col*: For scalars both numbers are 0. For 1D arrays Col is 0.\n" ] } ], "source": [ "print(job.results.get_data_set_evaluator().results[\"distance\"].detailed_string())" ] }, { "cell_type": "markdown", "id": "803fa5b7-7fc7-46f5-ba56-da1aebd79cba", "metadata": {}, "source": [ "## Finish PLAMS" ] }, { "cell_type": "code", "execution_count": 22, "id": "c7016012-6e74-4466-9c70-9ad931580e53", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[28.02|12:55:21] PLAMS run finished. Goodbye\n" ] } ], "source": [ "plams.finish()" ] } ], "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.12" } }, "nbformat": 4, "nbformat_minor": 5 }