{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Run an EasyVVUQ campaign to analyze the sensitivity for the Ishigami function with noise\n", "\n", "This is done with PCE providing a normal distributed noise value" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2021-12-10T08:41:19.729525Z", "start_time": "2021-12-10T08:41:14.617602Z" }, "code_folding": [] }, "outputs": [], "source": [ "# Run an EasyVVUQ campaign to analyze the sensitivity for the Ishigami function with noise\n", "# This is done with PCE providing a normal distributed noise value.\n", "import os\n", "import easyvvuq as uq\n", "import chaospy as cp\n", "import pickle\n", "import numpy as np\n", "import matplotlib.pylab as plt\n", "import time\n", "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2021-12-10T08:41:19.734097Z", "start_time": "2021-12-10T08:41:19.730725Z" }, "code_folding": [ 0, 1 ] }, "outputs": [], "source": [ "# Define the Ishigami function\n", "def ishigamiSA(a,b):\n", " '''Exact sensitivity indices of the Ishigami function for given a and b.\n", " From https://openturns.github.io/openturns/master/examples/meta_modeling/chaos_ishigami.html\n", " '''\n", " var = 1.0/2 + a**2/8 + b*np.pi**4/5 + b**2*np.pi**8/18\n", " S1 = (1.0/2 + b*np.pi**4/5+b**2*np.pi**8/50)/var\n", " S2 = (a**2/8)/var\n", " S3 = 0\n", " S13 = b**2*np.pi**8/2*(1.0/9-1.0/25)/var\n", " exact = {\n", " 'expectation' : a/2,\n", " 'variance' : var,\n", " 'S1' : (1.0/2 + b*np.pi**4/5+b**2*np.pi**8.0/50)/var,\n", " 'S2' : (a**2/8)/var,\n", " 'S3' : 0,\n", " 'S12' : 0,\n", " 'S23' : 0,\n", " 'S13' : S13,\n", " 'S123' : 0,\n", " 'ST1' : S1 + S13,\n", " 'ST2' : S2,\n", " 'ST3' : S3 + S13\n", " }\n", " return exact\n", "\n", "Ishigami_a = 7.0\n", "Ishigami_b = 0.1\n", "exact = ishigamiSA(Ishigami_a, Ishigami_b)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "ExecuteTime": { "end_time": "2021-12-10T08:41:19.736546Z", "start_time": "2021-12-10T08:41:19.734786Z" }, "code_folding": [ 0 ] }, "outputs": [], "source": [ "# define a model to run the Ishigami code directly from python, expecting a dictionary and returning a dictionary\n", "def run_ishigami_model(input):\n", " import Ishigami\n", " qois = [\"Ishigami\"]\n", " del input['out_file']\n", " N = input['N']\n", " del input['N']\n", " return {qois[0]: Ishigami.evaluate(**input)+N}" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2021-12-10T08:41:19.740153Z", "start_time": "2021-12-10T08:41:19.737318Z" }, "code_folding": [ 0 ] }, "outputs": [], "source": [ "# Define parameter space\n", "def define_params():\n", " return {\n", " \"x1\": {\"type\": \"float\", \"min\": -np.pi, \"max\": np.pi, \"default\": 0.0},\n", " \"x2\": {\"type\": \"float\", \"min\": -np.pi, \"max\": np.pi, \"default\": 0.0},\n", " \"x3\": {\"type\": \"float\", \"min\": -np.pi, \"max\": np.pi, \"default\": 0.0},\n", " \"a\": {\"type\": \"float\", \"min\": Ishigami_a, \"max\": Ishigami_a, \"default\": Ishigami_a},\n", " \"b\": {\"type\": \"float\", \"min\": Ishigami_b, \"max\": Ishigami_b, \"default\": Ishigami_b},\n", " \"N\": {\"type\": \"float\", \"min\": -100.0, \"max\": 100.0, \"default\": 0.0},\n", " \"out_file\": {\"type\": \"string\", \"default\": \"output.csv\"}\n", " }" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2021-12-10T08:41:19.744486Z", "start_time": "2021-12-10T08:41:19.741899Z" }, "code_folding": [] }, "outputs": [], "source": [ "# Define varying space\n", "def define_vary():\n", " return {\n", " \"x1\": cp.Uniform(-np.pi, np.pi),\n", " \"x2\": cp.Uniform(-np.pi, np.pi),\n", " \"x3\": cp.Uniform(-np.pi, np.pi),\n", " \"N\": cp.Normal(0, 10.0)\n", " }" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2021-12-10T08:41:19.752409Z", "start_time": "2021-12-10T08:41:19.745560Z" }, "code_folding": [ 0 ] }, "outputs": [], "source": [ "# Set up and run a campaign\n", "def run_campaign(pce_order=2, use_files=False):\n", "\n", " times = np.zeros(7)\n", "\n", " time_start = time.time()\n", " time_start_whole = time_start\n", "\n", " # Set up a fresh campaign called \"Ishigami_pce.\"\n", " my_campaign = uq.Campaign(name='Ishigami_pce.')\n", "\n", " # Create an encoder and decoder for PCE test app\n", " if use_files:\n", " encoder = uq.encoders.GenericEncoder(template_fname='Ishigami.template',\n", " delimiter='$',\n", " target_filename='Ishigami_in.json')\n", "\n", " decoder = uq.decoders.SimpleCSV(target_filename=\"output.csv\",\n", " output_columns=[\"Ishigami\"])\n", "\n", " execute = uq.actions.ExecuteLocal('python3 %s/Ishigami.py Ishigami_in.json' % (os.getcwd()))\n", "\n", " actions = uq.actions.Actions(uq.actions.CreateRunDirectory('/tmp'), \n", " uq.actions.Encode(encoder), execute, uq.actions.Decode(decoder))\n", " else:\n", " actions = uq.actions.Actions(uq.actions.ExecutePython(run_ishigami_model))\n", "\n", " # Add the app (automatically set as current app)\n", " my_campaign.add_app(name=\"Ishigami\", params=define_params(), actions=actions)\n", "\n", " # Create the sampler\n", " time_end = time.time()\n", " times[1] = time_end-time_start\n", " print('Time for phase 1 = %.3f' % (times[1]))\n", "\n", " time_start = time.time()\n", " # Associate a sampler with the campaign\n", " Sampler_PCE = uq.sampling.PCESampler(vary=define_vary(), polynomial_order=pce_order)\n", " my_campaign.set_sampler(Sampler_PCE)\n", "\n", " # Will draw all (of the finite set of samples)\n", " my_campaign.draw_samples()\n", " print('PCE order = %s' % pce_order)\n", " print('Number of samples = %s' % my_campaign.get_active_sampler().count)\n", "\n", " time_end = time.time()\n", " times[2] = time_end-time_start\n", " print('Time for phase 2 = %.3f' % (times[2]))\n", "\n", " time_start = time.time()\n", " # Run the cases\n", " my_campaign.execute(sequential=True).collate(progress_bar=True)\n", "\n", " time_end = time.time()\n", " times[3] = time_end-time_start\n", " print('Time for phase 3 = %.3f' % (times[3]))\n", "\n", " time_start = time.time()\n", " # Get the results\n", " results_df = my_campaign.get_collation_result()\n", "\n", " time_end = time.time()\n", " times[4] = time_end-time_start\n", " print('Time for phase 4 = %.3f' % (times[4]))\n", "\n", " time_start = time.time()\n", " # Post-processing analysis\n", " results = my_campaign.analyse(qoi_cols=[\"Ishigami\"])\n", " \n", " time_end = time.time()\n", " times[5] = time_end-time_start\n", " print('Time for phase 5 = %.3f' % (times[5]))\n", "\n", " time_start = time.time()\n", " # Save the results\n", " pickle.dump(results, open('Ishigami_results.pickle','bw'))\n", " time_end = time.time()\n", " times[6] = time_end-time_start\n", " print('Time for phase 6 = %.3f' % (times[6]))\n", "\n", " times[0] = time_end - time_start_whole\n", "\n", " return results_df, results, times, pce_order, my_campaign.get_active_sampler().count" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "ExecuteTime": { "end_time": "2021-12-10T08:47:01.246304Z", "start_time": "2021-12-10T08:41:19.753371Z" }, "code_folding": [ 0 ], "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Time for phase 1 = 0.026\n", "PCE order = 1\n", "Number of samples = 16\n", "Time for phase 2 = 0.070\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|████████████████████████████████████████████████| 16/16 [00:00<00:00, 2804.15it/s]" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Time for phase 3 = 0.021\n", "Time for phase 4 = 0.032\n", "Time for phase 5 = 0.054\n", "Time for phase 6 = 0.003\n", "Time for phase 1 = 0.011\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PCE order = 2\n", "Number of samples = 81\n", "Time for phase 2 = 0.124\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|████████████████████████████████████████████████| 81/81 [00:00<00:00, 3330.87it/s]" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Time for phase 3 = 0.033\n", "Time for phase 4 = 0.004\n", "Time for phase 5 = 0.133\n", "Time for phase 6 = 0.001\n", "Time for phase 1 = 0.008\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PCE order = 3\n", "Number of samples = 256\n", "Time for phase 2 = 0.207\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████████████████████████████████████████| 256/256 [00:00<00:00, 4990.55it/s]" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Time for phase 3 = 0.062\n", "Time for phase 4 = 0.005\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Time for phase 5 = 0.269\n", "Time for phase 6 = 0.001\n", "Time for phase 1 = 0.008\n", "PCE order = 4\n", "Number of samples = 625\n", "Time for phase 2 = 0.421\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████████████████████████████████████████| 625/625 [00:00<00:00, 5099.29it/s]" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Time for phase 3 = 0.143\n", "Time for phase 4 = 0.012\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Time for phase 5 = 0.656\n", "Time for phase 6 = 0.001\n", "Time for phase 1 = 0.007\n", "PCE order = 5\n", "Number of samples = 1296\n", "Time for phase 2 = 0.774\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|████████████████████████████████████████████| 1296/1296 [00:00<00:00, 2887.71it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Time for phase 3 = 0.498\n", "Time for phase 4 = 0.109\n", "Time for phase 5 = 2.258\n", "Time for phase 6 = 0.002\n", "Time for phase 1 = 0.018\n", "PCE order = 6\n", "Number of samples = 2401\n", "Time for phase 2 = 1.281\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|████████████████████████████████████████████| 2401/2401 [00:00<00:00, 4844.01it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Time for phase 3 = 0.560\n", "Time for phase 4 = 0.092\n", "Time for phase 5 = 5.140\n", "Time for phase 6 = 0.002\n", "Time for phase 1 = 0.015\n", "PCE order = 7\n", "Number of samples = 4096\n", "Time for phase 2 = 1.867\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|████████████████████████████████████████████| 4096/4096 [00:00<00:00, 5006.41it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Time for phase 3 = 0.943\n", "Time for phase 4 = 0.107\n", "Time for phase 5 = 13.187\n", "Time for phase 6 = 0.014\n", "Time for phase 1 = 0.024\n", "PCE order = 8\n", "Number of samples = 6561\n", "Time for phase 2 = 3.065\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|████████████████████████████████████████████| 6561/6561 [00:01<00:00, 5320.48it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Time for phase 3 = 1.469\n", "Time for phase 4 = 0.089\n", "Time for phase 5 = 34.744\n", "Time for phase 6 = 0.005\n", "Time for phase 1 = 0.019\n", "PCE order = 9\n", "Number of samples = 10000\n", "Time for phase 2 = 4.579\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████████████████████████████████████| 10000/10000 [00:01<00:00, 5055.38it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Time for phase 3 = 2.305\n", "Time for phase 4 = 0.256\n", "Time for phase 5 = 85.647\n", "Time for phase 6 = 0.008\n", "Time for phase 1 = 0.016\n", "PCE order = 10\n", "Number of samples = 14641\n", "Time for phase 2 = 7.401\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████████████████████████████████████| 14641/14641 [00:02<00:00, 5216.68it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Time for phase 3 = 3.314\n", "Time for phase 4 = 0.266\n", "Time for phase 5 = 169.084\n", "Time for phase 6 = 0.009\n" ] } ], "source": [ "# Calculate the polynomial chaos expansion for a range of orders\n", "\n", "R = {}\n", "for pce_order in range(1, 11):\n", " R[pce_order] = {}\n", " (R[pce_order]['results_df'], \n", " R[pce_order]['results'], \n", " R[pce_order]['times'], \n", " R[pce_order]['order'], \n", " R[pce_order]['number_of_samples']) = run_campaign(pce_order=pce_order, use_files=False)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "ExecuteTime": { "end_time": "2021-12-10T08:47:01.296719Z", "start_time": "2021-12-10T08:47:01.247807Z" }, "code_folding": [ 0 ] }, "outputs": [], "source": [ "# save the results\n", "\n", "pickle.dump(R, open('collected_results.pickle','bw'))" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "ExecuteTime": { "end_time": "2021-12-10T08:47:01.372146Z", "start_time": "2021-12-10T08:47:01.297577Z" }, "code_folding": [ 0 ] }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TotalPhase 1Phase 2Phase 3Phase 4Phase 5Phase 6
10.2065710.0260800.0701310.0207850.0320490.0543900.002557
20.3058320.0109710.1242410.0332820.0038210.1326830.000605
30.5527540.0075020.2070280.0623290.0054700.2694070.000714
41.2403220.0080900.4212250.1426000.0116070.6558240.000745
53.6491080.0072650.7735990.4982960.1089622.2582570.001887
67.0941460.0184171.2808570.5599890.0923205.1401180.001978
716.1335470.0152761.8672430.9432530.10686513.1869060.013542
839.3973490.0244173.0645701.4693530.08880834.7443860.005351
992.8143300.0192284.5787812.3050100.25585085.6466460.008496
10180.0909700.0157627.4006233.3139080.265976169.0842530.009452
\n", "
" ], "text/plain": [ " Total Phase 1 Phase 2 Phase 3 Phase 4 Phase 5 Phase 6\n", "1 0.206571 0.026080 0.070131 0.020785 0.032049 0.054390 0.002557\n", "2 0.305832 0.010971 0.124241 0.033282 0.003821 0.132683 0.000605\n", "3 0.552754 0.007502 0.207028 0.062329 0.005470 0.269407 0.000714\n", "4 1.240322 0.008090 0.421225 0.142600 0.011607 0.655824 0.000745\n", "5 3.649108 0.007265 0.773599 0.498296 0.108962 2.258257 0.001887\n", "6 7.094146 0.018417 1.280857 0.559989 0.092320 5.140118 0.001978\n", "7 16.133547 0.015276 1.867243 0.943253 0.106865 13.186906 0.013542\n", "8 39.397349 0.024417 3.064570 1.469353 0.088808 34.744386 0.005351\n", "9 92.814330 0.019228 4.578781 2.305010 0.255850 85.646646 0.008496\n", "10 180.090970 0.015762 7.400623 3.313908 0.265976 169.084253 0.009452" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# produce a table of the time taken for various phases\n", "# the phases are:\n", "# 1: creation of campaign\n", "# 2: creation of samples\n", "# 3: running the cases\n", "# 4: calculation of statistics including Sobols\n", "# 5: returning of analysed results\n", "# 6: saving campaign and pickled results\n", "\n", "Timings = pd.DataFrame(np.array([R[r]['times'] for r in list(R.keys())]), \n", " columns=['Total', 'Phase 1', 'Phase 2', 'Phase 3', 'Phase 4', 'Phase 5', 'Phase 6'], \n", " index=[R[r]['order'] for r in list(R.keys())])\n", "Timings.to_csv(open('Timings.csv', 'w'))\n", "display(Timings)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "ExecuteTime": { "end_time": "2021-12-10T08:47:01.538700Z", "start_time": "2021-12-10T08:47:01.372805Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Volumes/Samsung8TB/dpc/GIT/EasyVVUQ/env/lib/python3.9/site-packages/easyvvuq-1.1+0.g6b4d4dda.dirty-py3.9.egg/easyvvuq/analysis/results.py:417: UserWarning: Matplotlib is currently using module://matplotlib_inline.backend_inline, which is a non-GUI backend, so cannot show the figure.\n", " fig.show()\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAJICAYAAABlvD5NAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAsOUlEQVR4nO3debhd49248ft7hkQiIpMhiUjMxFBEYihKzJRSVVNfpYZqaemvSnVAvS+lvB201ariVaq01VbUEKqEmKIiErMgEkkMGYTIdM4+z++PtZLsHAlJcM7Jk/tzXbly9l7DftY+Sc6dtdZeK1JKSJIk5aymtQcgSZL0STN4JElS9gweSZKUPYNHkiRlz+CRJEnZM3gkSVL2DB4pAxHxvYj4/QdMPzoi7mrJMZWv++mIeDEiZkbEwR9hPSkiNlzCtNbatnXL7aptgdfaJSKe/6RfR8pZeB0e5SIixgFrAY1ABXgG+APwu5RSUysOrUVFRD/gFaA+pdTYymO5BxiSUvrFEqaPA05IKf3rQ9aTgI1SSmM//lFKWhm4h0e5OTCltBrQF7gIOAu4qnWHtFLrCzzd2oNYkUVEXWuPQcqBwaMspZRmpJSGAIcDX46ILQAion1EXBoR4yPijYj4bUR0mL9cRHwuIkZFxDsR8VJE7Fs+3ysihkTEtIgYGxEnVi1zXkT8JSKuj4h3I2JMRGwcEWdHxJsRMSEi9q6a/76I+HFEjIiIGRFxS0R0q5p+UEQ8HRFvl/NuVjXtrIiYWL7O8xGxR9UYri9nu7/8/e3ykMuOEXFsRAyvWs9OEfFY+fqPRcROzcb33xHxYPk6d0VEjyW91xFxYvmeTCvfo17l8y8B6wO3luNo/0Hfs4jYMCKGlWOaEhE3NZtlz/Lw2PSI+HVERLlc823bu3xvZkTE5eU6TyinbRAR/46IqeVr/DEiulQtOy4ivhMRoyPivYi4KiLWiog7yvfiXxHRtZy3X3mo7X1BEhHfjYi/NnvuFxFxWfn1cRHxbLnOlyPiq1Xz7RYRr5Xf69eBa+Y/12z9L5XLPxMRh1RNOzYihkfx53x6RLwSEftVTe8WEddExKRy+j+qpn02ij//b0fEQxGx1Qd9z6QVicGjrKWURgCvAbuUT10MbAxsDWwI9AbOAYiIQRSHwL4DdAF2BcaVy/2pXE8v4AvAhfNjo3QgcB3QFXgCGErx96s3cD5wRbOhHQN8pVxfIzD/B+HG5WudDqwB3E4RDO0iYhPgVGBguRdrn6rxVdu1/L1LSqlTSunh6ollXN1WvmZ34KfAbRHRvWq2o4DjgDWBdsAZi3kdImIw8GPgi0BP4FXgRoCU0gbAeIq9bp1SSnMXt44q/w3cRfEergP8stn0zwIDgU+Vr7fPYsbTA/grcHa5bc8DO1XPUo63F7AZ0Ac4r9lqDgX2ovhzciBwB/A9oAfF9/SbH7IdUHwP94+IzuW4assx31BOf7Pcns4U7/PPImLbquXXBrpR7CE7aTHrf4niz/TqwI+A6yOiZ9X07ctt7wH8BLhqfiBS/DntCGxO8f39WTnGbYGrga9SvHdXAEM+LFSlFYXBo5XBJKBb+Q/+icC3UkrTUkrvAhcCR5TzHQ9cnVK6O6XUlFKamFJ6LiL6ADsDZ6WU5qSURgG/B/6r6jUeSCkNLc+Z+QtFrFyUUmqgCIB+1XsSgOtSSk+llN4Dfgh8sfyheDhwWzmGBuBSoAPFD+0K0B7oHxH1KaVxKaWXluP9OAB4MaV0XUqpMaX0J+A5ih/u812TUnohpTQb+DNFIC7O0eV7NrIMmrOBHaM4j2hZNVD8gO9Vvs/Dm02/KKX0dkppPHDvEsa0P/B0Sulv5ffiMuD1+RNTSmPL93ZuSuktitj7TLN1/DKl9EZKaSLwAPBoSumJcvv+DmzzYRuSUnoVGAkcXD41GJiVUnqknH5bSumlVBhGEXq7VK2iCTi3HOfsxaz/LymlSeWf05uAF4FBVbO8mlK6MqVUAa6liNG1yijaDzg5pTQ9pdRQvj4UfzeuSCk9mlKqpJSuBeYCO3zY9korAoNHK4PewDSKCOkIPF7usn8buLN8Hor/7S8uIHoB8wNpvlfL9c73RtXXs4Ep5Q+b+Y8BOlXNM6HZuuop/jfeq3wMQHmy9QSgd3nC7ukUeyTejIgb5x8+WkaLvMYStuf1qq9nNRv7EteVUpoJTG22rqV1JsUemBFRHNL7SrPpSzOmXlS9t6n4VEb1oaA1y/dtYkS8A1xP8b5Xa/69bP54Se9FczcAR5ZfH8XCvTtExH4R8Uh5GPBtilCrHsdbKaU5S1pxRBxTdejpbWCLZstXR96s8stOFH/Gp6WUpi9mtX2Bb89fZ7nePhTvqbTCM3iUtYgYSPHDdzgwheIH1uYppS7lr9VTSvN/gE0ANljMaubvIVqt6rl1gYkfYWh9mq2roRzfJIofPPPHH+W8EwFSSjeklHYu50kUh+ia+7CPXi7yGlVjWJ7taT7eVSkOhyzzulJKr6eUTkwp9aI4rHJ5LOGj6B9gMsXhsPnjierHFIezErBVSqkz8CWKyPok/AXYLSLWAQ6hDJ7yENHNFHvv1kopdaE4dFk9jiV+DyOiL3AlxeHN7uXyT7F02zGB4s9ylyVMu6Dq70aXlFLHcg+gtMIzeJSliOgcEZ+lOJx0fUppTLm35EqK8yXWLOfrHRHzzwW5CjguIvaIiJpy2qYppQnAQ8CPI2KV8kTO44E/foQhfiki+kdER4pzfP5a7hH6M3BAOYZ64NsUhxUeiohNImJw+QNzDkW8VRaz7rcoDomsv4TXvh3YOCKOioi6iDgc6A/8czm24waK92zrclwXUhwCGresK4qIw8o4AJhO8UN/cdv3QW4DtoyIg8uTiU+hOB9mvtWAmRQndPemOF/rE1EeMrsPuAZ4JaX0bDmpHcWhybeAxvKE4r0Xu5LFW5XivXkLihOgKfbwLM2YJlOck3R5RHSNiPqImH/O15XAyRGxfRRWjYgDmoW+tMIyeJSbWyPiXYr/rX6f4hyN46qmnwWMBR4pD2n8C9gEFpzgfBzFSZwzgGEs3HtxJNCPYo/G3ynOr7j7I4zzOuD/KA49rEJ5ImxK6XmKvQ6/pNjjcyDFSb/zKH5IXlQ+/zrFCaffa77i8hDGBcCD5aGJHZpNn0pxwuy3KQ4/nQl8NqU0ZVk3IqV0D8U5SDdT7F3ZgIXnRC2rgcCjETETGAKcllJ6ZRnHMwU4jOJE3akUIfcfimiE4gTfbSm+v7cBf1vOsS6tG4A9qTqcVR4a/SZF3E6nONw1ZGlXmFJ6Bvhf4GGKw21bAg8uw5j+i2KP4nMUJ0+fXq73PxTn8fyqHNdY4NhlWK/UpnnhQamFRcR9FHudlnhlZH08IqKG4hyeo1NK97b2eCS1HvfwSMpKROwTEV3KQ2zfozi35ZFWHpakVmbwSMrNjhSftpt/SPDgxX20W9LKxUNakiQpe+7hkfSxi+K2C08tYdr5EbHnhyx/XkQs9urOLeWDtkHSiseb0klqUSmlcz7p14iI2qoLPy7tMnXpI9xdfnleU1LLcQ+PpE9KbURcWV41+a4ob9IaEf8XEV8ov94/Ip6L4maXl0VE9bWA+kdxI9OXI2LB/asi4ktR3Hh1VERcUd6SgyhuUHp+RDxKcR4PVctsXV7ZeHRE/D0W3gD0voi4MCKGAadFxICIeDIiHqa4hs/85Wsj4pIobrQ6OsqbfUZxU897I+IGYEx57ZrbynU8VV7jSFIbYPBI+qRsBPw6pbQ58DbFTTkXiIhVKG5QuV959eg1mi2/KcUNQgcB55YXyduM4n5jn04pbU1xYcKjy/lXBZ5KKW2/mPtw/YHiXmhbAWOAc6umdUkpfSal9L8UFwn8Zkppx2bLHw/MSCkNpLhe0IkRsV45bRDw/ZRSf2BfYFJK6VMppS0obl0iqQ0weCR9Ul5JxY1WAR6nuHBjtU2Bl6suLtj8Fga3lTfPnEJxgby1gD2AAcBjETGqfDz/itIVigsgLiIiVqeImvk3ybyWhXeUB7hpCfNdVzXP3sAx5Ws+SnH7jI3KaSOqtmEMsGdEXBwRu6SUZjQfj6TW4Tk8kj4pc6u+rlDc9b3ah937qfnydeUy16aUzl7M/HOW8xya96rGs6SPrQbwjZTS0EWejNitanlSSi9ExACKm4H+OCLuSimdvxxjkvQxcw+PpNbyHLB+RPQrHy/N+S73AF+ouhdatyhuprlE5V6W6RGxS/nUf1HcNqT5fG8DMyJi5/Kpo6smDwW+Vt7fjIjYOIobpS4iirvXz0opXU9xc9Btl2KbJLWA5boOz+F/P6JNX7znpkNuXOq7H3/9+YPb9LZIK6J3XpvF7V97hCNuHQzAqKvG0jCrkYHf2JR/f3ckfXdbmw327cW4f7/Ow5c8zSpd27Hmll2ZPXUue146gMd++Rz1HevY+vjiZuk3Hvhv9v/NDnRepyNjb5/IyN+9QGqCmrpgl3O2Yu2tu3Hltv/kxJGfXex4pjw7g2HnPUnj7Aqd+3Rk8IXb0H71dtzyX8PZ8czNWXPLrgC89dTb3Pv9J6hbpZY+O6/JS3dN4ohbB5OaEo/+/Flevfd1EtCha3v2/fUgpjwzgyevHsv+VxS3Kxv/wJs8fMnTRA3U1NWw67lbLVi3pI/X5Zv8Y6l/1oPBY/BIrajhvUbqV60jpcQD549m9b6d+NSxG7T2sCStAJY1eDyHR1KreeYvr/L8P8bT1NBEj8260P/wDzw6JUnLzeCR1Go+dewG7tGR1CI8aVmSJGXPPTyS2pTxD7zB8AvGkJpgsy+sy7YnbbzI9JQSD14whlfvf5O6VWoZ/ONtWGPzLsycPJt7zhrJrClziJqg/xf7stUxxd6jKc/N4P5zn6RhViOr9e7InpcOoF2negCmPj+DYec8ybz3GomAQ//6Gera1/LPEx5m1ltzaKokeg7ozi7nbEVN7TKdMiCpDTF4JLUZTZXi5OUDr96JVdfqwM2HDaPf4LXptmHnBfOMv/9N3n71PY4augdvPDmd+3/0JIf++TNEbbDTWZuzxuZdmDezgb8eOox1dlqDbht25r4fjGKnMzen16AePHvzq4y6aiyDTtuMpsYm/vWdkezxk23psenqzJk+j5q6Ysf33j/fjnad6kkpMfSbj/HSnRPZ6IB1WuutkfQRrfSf0pLUdkTEjsB5KaV9ysdnA6SUflw1zxXAfSmlP5WPnwd2SylNbrauW4BfpZTujoh3gNVTSiki+gBDU0r9I2J/4KiU0pc+YEz1wN+A61NKN32sGyypxXgOj6S2pDcwoerxa+VzyzRPeTHDbShuAwHwFHBQ+fVhQJ/y642BFBFDI2JkRJzZbD1DKW5r8S7w1+XYHklthMEjqS1Z3N7Z5nuUP3CeiOhEcU+t01NK75RPfwU4JSIeB1YD5pXP1wE7U1xVeWfgkIjYY8FKiz1NPYH2wOBl3hpJbYbBI6kteY2Fe18A1gEmLe085eGnm4E/ppT+Nn+GlNJzKaW9U0oDKG5S+lLVuoallKaklGYBt9PsdhAppTnAEOBzH3HbJLUig0dSW/IYsFFErBcR7YAjKGKj2hCKO5dHROwAzEgpTY6IAK4Cnk0p/bR6gap7b9UAPwB+W04aCmwVER0jog74DPBMRHSKiJ7lMnUUNwN97pPYYEktw+CR1GaklBqBUylC5FngzymlpyPi5Ig4uZztduBlYCxwJfD18vlPU9wYdHBEjCp/7V9OOzIiXqCIlknANeXrTQd+ShFao4CRKaXbgFWBIRExGniS4jye+ZEkaQXkp7QkSVL23MMjSZKyZ/BIkqTsGTySJCl7Bo8kScreSn8vrZuob9MnYEuSpPc7nIZl+oCSe3gkSVL2DB5JkpQ9g0eSJGXP4JEkSdkzeCRJUvYMHkmSlD2DR5IkZc/gkSRJ2TN4JElS9gweSZKUPYNHkiRlz+CRJEnZM3gkSVL2DB5JkpQ9g0eSJGXP4JEkSdkzeCRJUvYMHkmSlD2DR5IkZc/gkSRJ2TN4JElS9gweSZKUPYNHkiRlz+CRJEnZM3gkSVL2DB5JkpQ9g0eSJGXP4JEkSdkzeCRJUvYMHkmSlD2DR5IkZc/gkSRJ2TN4JElS9gweSZKUPYNHkiRlz+CRJEnZM3gkSVL2DB5JkpQ9g0eSJGXP4JEkSdkzeCRJUvYMHkmSlD2DR5IkZc/gkSRJ2TN4JElS9gweSZKUPYNHkiRlz+CRJEnZM3gkSVL2DB5JkpQ9g0eSJGXP4JEkSdkzeCRJUvYMHkmSlD2DR5IkZc/gkSRJ2TN4JElS9gweSZKUPYNHkiRlz+CRJEnZM3gkSVL2DB5JkpQ9g0eSJGXP4JEkSdkzeCRJUvYMHkmSlD2DR5IkZc/gkSRJ2TN4JElS9gweSZKUPYNHkiRlz+CRJEnZM3gkSVL2DB5JkpQ9g0eSJGXP4JEkSdkzeCRJUvYMHkmSlD2DR5IkZc/gkSRJ2TN4JElS9gweSZKUPYNHkiRlz+CRJEnZM3gkSVL2DB5JkpQ9g0eSJGXP4JEkSdkzeCRJUvYMHkmSlD2DR5IkZc/gkSRJ2TN4JElS9gweSZKUPYNHkiRlz+CRJEnZM3gkSVL2DB5JkpQ9g0eSJGXP4JEkSdkzeCRJUvYMHkmSlD2DR5IkZc/gkSRJ2TN4JElS9gweSZKUPYNHkiRlz+CRJEnZM3gkSVL2DB5JkpQ9g0eSJGXP4JEkSdkzeCRJUvYMHkmSlD2DR5IkZc/gkSRJ2TN4JElS9gweSZKUPYNHkiRlz+CRJEnZM3gkSVL2DB5JkpQ9g0eSJGXP4JEkSdmra+0BTH9lOiOveJyG2Q1ETbDZof1Zd+d1W3tYkiQpI60ePHXt6xj0ze1ZrddqzJ42m7vPuIu1t1mbdqu2a+2hSZKkTLToIa1pL05l6LfupDKvQuOcRu487Q6aGiqs1ms1ADp060D71dszd8bclhyWJEnKXIvu4em2UXd6DezNmBvGUJlXoe+ufVm9b5cF06e+OJWmxiY6rd2pJYclSZIy1+InLfc/rD9vPPk601+axiYHb7rg+dnTZjPiF48y6NRBRE209LAkSVLGWvwcnnkz59E4p5FUSTQ1NFFTW0PDrAYeuOB+tjhqS7pv0qOlhyRJkjLX4nt4Hv/Nf9jiyC1Zd9e+jL7uSSoNFR68eDj9dutHn536tPRwJEnSSqBF9/CMu/cVojbou2tfmipN/Pt79zBh+HjeeuYt5r07j3H3jgNg4DcG0XW9ri05NEmSlLEWDZ5+u69Hv93XA6CmtoY9L95rwfOSJEmfFK+0LEmSsmfwSJKk7Bk8kiQpe8t9Ds/kkZMZdfUTpKbEenuuz2af32yR6SklnrjqCV4fOZna9rUMOnUQXTfoBsA/v3or9R3qiZogaoO9LtkbgDE3jGHSYxOJCNqv3p5B39ieDt060NTYxGOXP8bbL0+nqdJEv936sdmh/Ytl/jiacfeNo+G9Bj5/w6HLuzmSJCljyxU8TZUmRl75OJ85dzc6dO/Av868m14De7F6n9UXzPP6yMnMnPwu+/16f6a9MJXHf/f4gpOUAXY7f3fad26/yHo3PXhTtjxqSwBeuO0Fnv7z02x38nZMeGgCTQ0V9vn5vjTObeTOb97Burv0ZdU1V6XXdr3YcL+NuOPU25dnUyRJ0kpguQ5pTRs7jU49V6PT2p2ora9l3Z3XZdKIiYvMM3HERPrt1o+IoPsmPWh4r4HZ02Z/4HrrO9Yv+Loyp5EoL7gcAY1zKzRVmqjMq1BTV0Ndh6LVum/Sgw7dOizPZkiSpJXEcu3hmT11Nh27L4yMDt07Mu3FqYvOM202HXp0rJqnQ/Fctw5EBMN+dB8Rwfp7b8AGe2+wYL75h6jqO9az2/m7A7DOjn2YOGIitx4/hMa5jWx93Da0X23RvUOSJElL8sldhyct5rlyj83gC/egQ7cOzHl7DsN+dB+de6/GGpuvCcCWR2/FlkdvxbM3P8PYO8ayxRFbMO3FqURNcODvD2LezHnc+4N/s9ZWa3mTUUmStFSW65BWh+4dmDV14eGp2VNnve+wUofuHZg9ZVbVPLPp0LWYZ/68q3RZhd7br8PUF6e97zXW3aUvrz08AYBXHxjP2tv0pKauhlW6rEL3TXsw/aX3LyNJkrQ4yxU83TbsxszJ7zLzjZlUGiqMHz6eXgN7LzJPr4G9GXffOFJKTH1+CvUd6+nQrQONcxppmN0AQOOcRt548nVWX7c42fndSe8uWH7SYxPp3LszAB17dOTNMW+QUqJxTiPTXpjKauU0SZKkD7Nch7RqamvY9oRtuf/8YcXH0vdYn9XXXZ2xQ8cCsOE+G9JzQE8mj5zM7V+/jbr2dQw8dRAAc96ew4MXDwcgNSXW3aUvPbftCcDo60fz7sR3iJqg4xqrMuCrA4r17bchj/1qBENPvxMS9Bu8Hl36dQHgyT88yfj7X6VxbiO3njCE9fZcHw75SO+JJEnKTKS0uJNtPtjhfz9i2RdqQTcdcmMs9bzUt+ltkSRJ73c4DUv9sx680rIkSVoJGDySJCl7Bo8kScqewSNJkrJn8EiSpOwZPJIkKXsGjyRJyp7BI0mSsmfwSJKk7Bk8kiQpewaPJEnKnsEjSZKyZ/BIkqTsGTySJCl7Bo8kScqewSNJkrJn8EiSpOwZPJIkKXsGjyRJyp7BI0mSsmfwSJKk7Bk8kiQpewaPJEnKnsEjSZKyZ/BIkqTsGTySJCl7Bo8kScqewSNJkrJn8EiSpOwZPJIkKXsGjyRJyp7BI0mSsmfwSJKk7Bk8kiQpewaPJEnKnsEjSZKyZ/BIkqTsGTySJCl7Bo8kScqewSNJkrJn8EiSpOwZPJIkKXsGjyRJyp7BI0mSsmfwSJKk7Bk8kiQpewaPJEnKnsEjSZKyZ/BIkqTsGTySJCl7Bo8kScqewSNJkrJn8EiSpOwZPJIkKXsGjyRJyp7BI0mSsmfwSJKk7Bk8kiQpewaPJEnKnsEjSZKyZ/BIkqTsGTySJCl7Bo8kScqewSNJkrJn8EiSpOwZPJIkKXsGjyRJyp7BI0mSsmfwSJKk7Bk8kiQpewaPJEnKnsEjSZKyZ/BIkqTsGTySJCl7Bo8kScqewSNJkrJn8EiSpOwZPJIkKXsGjyRJyp7BI0mSsmfwSJKk7Bk8kiQpewaPJEnKnsEjSZKyZ/BIkqTsGTySJCl7Bo8kScqewSNJkrJn8EiSpOwZPJIkKXsGjyRJyp7BI0mSsmfwSJKk7Bk8kiQpewaPJEnKnsEjSZKyZ/BIkqTsGTySJCl7Bo8kScqewSNJkrJn8EiSpOwZPJKyckQ0ct23Kwse33ppE385r/IBS0haGRg8krJS3x5G/C3xzpTU2kOR1IYYPJKyUlMHe5xUw+0/a2rtoUhqQwweSdnZ+5Rg+B8Ts2a4l0dSweCRlJ2OnYNdjwnuuMzgkVQweCRlaf/Ta7j3qibmvtfaI5HUFhg8krLUqVuw4xeDe6/yXB5JBo+kjB3w7RrendLao5DUFtS19gAk6eN07cyF/6x1WSv4wyz/mZPkHh5JkrQSMHgkSVL2DB5JkpQ9D25LalNG3dnEtac10VSBwSfU8LnvLvr/slkzEr/6UhNTxieaGuGzZ9Sw23E1THo+8YvDF94z682X4bDza9j/9BrGjUr8/uQKDXOgtg6+cnktGw4Kxo5IXHlSsUxK8IXzahh0SPF6D93UxD8uKMaxzQHB0T+pbbk3QdLHzuCR1GY0VRJXn9LE9++upfs68L2BFQYcFKzTPxbMM/TXid794cxb63jnrcS3Nqmw89FBr02Ci0fVLVjP13pXGHhIsdwfz2zi0HNr2Ga/Gp64vYk/nlnh3Pvq6LMFXPifWmrrgumTE2d9qsKAA4NZM+CP32nix4/X0nmN4PIvVxhzTxNb7uFOcWlF5d9eSW3G2BGw9obBWusHde2CnY6o4T+3LHq15AiY8y6klJgzEzp1K+6fVW3MPYm1NoA1+saCZWa/U0ybNQO69iqeb98xqK0rvm6YU8wHxd6hnhsHndconthiz2DEzV61WVqRuYdHUpsxbWKie5+Fj7utA2MfXTQ09jk1uOSgxNd6VZj9Lpx2Uw01NbHIPA/fmNjpyIX/n/vyz2u4cJ8K15/RRGqC8x9aeHjqxUcTV3ylwluvwinX1VBbF6y1YWLSc4k3xyW6rwP/+Ueicd4ns82SWoZ7eCS1HYvZiRKLtgxPDk303Rp+M6mWi0fVcs2pTcx6Z+GCjfMSjw9J7HDYwgXv/k0Tx/yshssn1HHMz2q44viFV1/eaPvg0qfruPCxWm75cRPz5iQ6dQ2O/00Nvzi8wnm7VFijX3Huj6QVl8Ejqc3otk4wdcLCx9NeW3j4ab5h1yQGfb6GiGDtDYM11wsmPbdw+qg7Ev22DbqstXC5YdcmBn2+eLzDYcFLI95fVr03C9qvGkx4qng84MAaLni0jv9+uI6emwRrb/TxbaeklmfwSGozNhgIr7+YePOVROO8xEM3NjHgoEWDp/u68NQ9xR6at99ITHo+seb6C6c/+KfEp49cdJmuveCZYUXkPPXvtCBe3nwlUWksnn/r1cTk5xNr9CumzXizeH7m9MTdlzex+wn+cymtyNxJK6nNqK0LjvtVcb5NUwV2/0oNfTYP7v5tETh7nVzD539Yw2+ObeI7WzaSEhx1cQ2dexSBM3dWYszdiROvWDROTrqylmtPq1BpbKJ+FTjxd8U5PM8NTwy5qInaeoga+MrlC9d17WlNvPpkET2HnlNDr42bHVuTtEKJlJb9kweH//2INv1xhZsOuXGp/2W6ifo2vS2SJOn9Dqdhmf4X4j5aSZKUPYNHkiRlz+CRJEnZM3gkSVL2DB5JkpQ9g0eSJGXP4JEkSdkzeCRJUvYMHkmSlD2DR5IkZc/gkSRJ2TN4JElS9gweSZKUPYNHkiRlz+CRJEnZM3gkSVL2DB5JkpQ9g0eSJGXP4JEkSdkzeCRJUvYMHkmSlL1IKbX2GFrVTdSv3G+AJEkroMNpiGWZ3z08kiQpewaPJEnKnsEjSZKyZ/BIkqTsGTySJCl7Bo8kScqewSNJkrJn8EiSpOwZPJIkKXsGjyRJyl7d8ix08wMvtOnbMRy6y8bLdLlpSZKUN/fwSJKk7Bk8kiQpewaPJEnKnsEjSZKyZ/BIkqTsGTySJCl7Bo8kScqewSNJkrJn8EiSpOwZPJIkKXsGjyRJyp7BI0mSsmfwSJKk7Bk8kiQpewaPJEnKnsEjSZKyZ/BIkqTsGTySJCl7Bo8kScqewSNJkrJn8EiSpOwZPJIkKXsGjyRJyp7BI0mSsmfwSJKk7Bk8kiQpewaPJEnKnsEjSZKyZ/BIkqTsGTySJCl7Bo8kScqewSNJkrJn8EiSpOwZPJIkKXsGjyRJyp7BI0mSsmfwSJKk7Bk8kiQpewaPJEnKnsEjSZKyZ/BIkqTsGTySJCl7Bo8kScqewSNJkrJn8EiSpOwZPJIkKXsGjyRJyp7BI0mSsmfwSJKk7Bk8kiQpewaPJEnKnsEjSZKyZ/BIkqTsGTySJCl7Bo8kScqewSNJkrJn8EiSpOwZPJIkKXsGjyRJyp7BI0mSsmfwSJKk7Bk8kiQpewaPJEnKnsEjSZKyZ/BIkqTsGTySJCl7Bo8kScqewSNJkrJn8EiSpOwZPJIkKXsGjyRJyp7BI0mSsmfwSJKk7Bk8kiQpewaPJEnKnsEjSZKyZ/BIkqTsGTySJCl7Bo8kScqewSNJkrJn8EiSpOwZPJIkKXsGjyRJyp7BI0mSsmfwSJKk7Bk8kiQpewaPJEnKnsEjSZKyZ/BIkqTsGTySJCl7Bo8kScqewSNJkrJn8EiSpOwZPJIkKXsGjyRJyp7BI0mSstcmgud/zjieY/bfjgvP+mprD0WSJGWorrUHAHDQkScwb85s7hpyU2sPRZIkZahF9/CMfXY0/+/YA5k3dy5zZs/i9GMOYPzLL7DVgB1ZpeOqLTkUSZK0EmnRPTwbbrYVAz89mD/9/ufMmzuHXfc+iHXX37glhyBJklZCLX4OzxeOPYXR/3mQl55/is8deUJLv7wkSVoJtXjwzHxnBnNmz2LOrPdomDe3pV9ekiSthFo8eK645Icccfxp7LLXgVz/20tb+uUlSdJKqEXP4bnvzn9QU1vHLnsdSKVS4ftfP4Ixjz/MTdf8kkmvvsyc2bM46dBd+fpZF7D1oF1acmiSJCljkVJa5oVufuCFZV+oBR26y8axtPPeRH2b3hZJkvR+h9Ow1D/roY1ceFCSJOmTZPBIkqTsGTySJCl7y33S8hOP3s81l11AU1MTexxwGId86aRFpqeUuPqyC3jikWG0a78Kp559Eetvsjnz5s7lnG8cTUPDPCqVCjvutg+Hf+WbALzy4rP87n/PpWHeXGpqaznxW+exUf+teHfGdC4955u89NxT7LbvIZzwrXMAmD1rJj889egFrzn1rdfZda+DOHSXa5d3syRJUoaWK3gqlQq//9n5nPPTa+i2xlp896QvsN3Og+nTb8MF8zzxyP1Mfm0cv7zhLl585kl+99PzuOiKv1Dfrh3n/vxaOnRclcbGBn5wylFss/2ubLz51lz3m0s47NhT2HaHzzDy4WFc99tLOP+y66hv154jjj+N8a+8yISXX1zwGh06duLSq29Z8PjMEz7P9rvu/RHeDkmSlKPlOqQ19tnRrN27L2v16kN9fTs+vccBPDb8nkXmeWz4Pey2z8FEBBtvvjWzZr7D9ClvEhF0KO+bVWlspNLYCFGcaB0RzH7vPQBmvfcu3XqsCcAqHTqy2Vbb0a5d+yWOafKEccyYPpXNPrXd8mySJEnK2HLt4Zk25Q16rLn2gsfd11iLF58Zvcg8U6e8QfeqebqtsTZTp7xB1x5rUqlUOOvEz/P6xPHsc/BRbNz/UwAc943v8T9nHM8fLr+YlJq44PIbl3pMw+/5JzsN3p+IZfqUmiRJWgks1x6exV27532h8QHz1NbWcunVt3DFX4cx9rnRjH/5BQCG3vInjj31bK64eRjHnno2l1/8/aUe04P33M7Oex6wDFshSZJWFssVPN3XWJspb76+4PHUt4o9N83nmVo1z7S3Xqdb90XnWXW1zmy+9fY88egDAAy78+9s/5niHJwdd9+Psc8uutdoScaNfY5KpcIGm2yxPJsjSZIyt1zBs+GmWzL5tXG8MWkCDQ3zePCe2xj46cGLzLPdzoO5b+g/SCnxwtOj6LjqanTtsSYz3p7Ge+++A8DcuXMY/fhD9O67PgBdu6/J06NGADBm5CP0XKffUo1n+L/+6d4dSZK0RMt1Dk9tXR0nnH4O/3PGCTQ1VRi8/6H0WW8jht7yJwD2+dyRCz5pdeqRe9G+fQe+fvaFAEyf+ia/uvC7NFUqpJTYafd92W6n3QE4+cz/5prLLqRSaaS+XXu++p3zF7zm1744mNnvzaSxsYERw//FD//36gWfCnvo3jv4/k9+95HeCEmSlC/vpeW9tCRJWuF4Ly1JkqRmDB5JkpQ9g0eSJGXP4JEkSdkzeCRJUvYMHkmSlD2DR5IkZc/gkSRJ2TN4JElS9gweSZKUPYNHkiRlz+CRJEnZM3gkSVL2DB5JkpQ9g0eSJGXP4JEkSdkzeCRJUvYMHkmSlD2DR5IkZc/gkSRJ2TN4JElS9gweSZKUPYNHkiRlz+CRJEnZM3gkSVL2DB5JkpQ9g0eSJGXP4JEkSdkzeCRJUvYMHkmSlD2DR5IkZc/gkSRJ2TN4JElS9gweSZKUPYNHkiRlz+CRJEnZM3gkSVL2DB5JkpQ9g0eSJGXP4JEkSdkzeCRJUvYMHkmSlD2DR5IkZc/gkSRJ2TN4JElS9gweSZKUPYNHkiRlz+CRJEnZM3gkSVL2DB5JkpQ9g0eSJGXP4JEkSdkzeCRJUvYMHkmSlD2DR5IkZc/gkSRJ2TN4JElS9gweSZKUPYNHkiRlz+CRJEnZM3gkSVL2DB5JkpQ9g0eSJGXP4JEkSdkzeCRJUvYMHkmSlD2DR5IkZc/gkSRJ2TN4JElS9gweSZKUPYNHkiRlz+CRJEnZM3gkSVL2DB5JkpQ9g0eSJGXP4JEkSdkzeCRJUvYMHkmSlD2DR5IkZc/gkSRJ2TN4JElS9gweSZKUPYNHkiRlz+CRJEnZM3gkSVL2DB5JkpQ9g0eSJGXP4JEkSdkzeCRJUvYMHkmSlD2DR5IkZc/gkSRJ2atr7QFI0ifhrVcTP/18haYKVBpgn2/UsNfJ/h9PWlkZPJKy1LUnnP9QLfXtgzkzE2dsUWHAQUG3XtHaQ5PUCvzvjqQV3kuPJc7cqpF5cxJz3kucsXkjk1+A+vZF3DTMhdTUyoOU1KrcwyNphbfBwGDAQcFNP2iiYTbs/KUa+mwRTJmQ+MkBFV4fC0dfUuPeHWkl5h4eSVk49JwaxtydeOk/iYPOLMKmR5/gJ6Pr+PnYWu6/tom330itPEpJrSVS8h8ASSu+iFgbeBCYCwxMKb3XbPo1wG0ppb+2xvgktS6DR1IWImIIcCOwHtATuAiYmlKaHRFdgUeBQ1NKY1pxmJJaiefwSFrhRcQxQGNK6YaIqAUeAjYHLomIBARwqbEjrbzcwyNJkrLnScuSJCl7Bo8kScqewSNJkrJn8EhqUyJi34h4PiLGRsR3FzM9IuKycvroiNj2w5aNiG4RcXdEvFj+3rVq2tnl/M9HxD5Vzw+IiDHltMsiwqsWSiswg0dSm1F+wurXwH5Af+DIiOjfbLb9gI3KXycBv1mKZb8L3JNS2gi4p3xMOf0Iik907QtcXq6Hcr0nVb3Wvh/39kpqOQaPpLZkEDA2pfRySmkexXV1Ptdsns8Bf0iFR4AuEdHzQ5b9HHBt+fW1wMFVz9+YUpqbUnoFGAsMKtfXOaX0cCo+yvqHqmUkrYAMHkltSW9gQtXj18rnlmaeD1p2rZTSZIDy9zWXYl2vfcg4JK1ADB5JbcnizpNpfrGwJc2zNMsu7estz7oktWEGj6S25DWgT9XjdYBJSznPBy37RnmYivL3N5diXet8yDgkrUAMHkltyWPARhGxXkS0oziheEizeYYAx5Sf1toBmFEepvqgZYcAXy6//jJwS9XzR0RE+4hYj+Lk5BHl+t6NiB3KT2cdU7WMpBWQ99KS1GaklBoj4lRgKFALXJ1SejoiTi6n/xa4Hdif4gTjWcBxH7RsueqLgD9HxPHAeOCwcpmnI+LPwDNAI3BKSqlSLvM14P+ADsAd5S9JKyjvpSVJkrLnIS1JkpQ9g0eSJGXP4JEkSdkzeCRJUvYMHkmSlD2DR5IkZc/gkSRJ2fv/bzSZnEcX0WIAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "R[10]['results'].plot_sobols_treemap('Ishigami')" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "ExecuteTime": { "end_time": "2021-12-10T08:47:01.542229Z", "start_time": "2021-12-10T08:47:01.539399Z" } }, "outputs": [ { "data": { "text/plain": [ "({'Ishigami': {'x1': array([0.03817368]),\n", " 'x2': array([0.05380603]),\n", " 'x3': array([1.60762508e-29]),\n", " 'N': array([0.87838626])}},\n", " {'Ishigami': {'x1': array([0.06780771]),\n", " 'x2': array([0.05380603]),\n", " 'x3': array([0.02963403]),\n", " 'N': array([0.87838626])}})" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "R[10]['results'].sobols_first(), R[10]['results'].sobols_total()" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "ExecuteTime": { "end_time": "2021-12-10T08:47:02.215700Z", "start_time": "2021-12-10T08:47:01.542892Z" }, "code_folding": [] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot the convergence of the mean and standard deviation to the analytic result\n", "\n", "mean_analytic = exact['expectation']\n", "std_analytic = np.sqrt(exact['variance'])\n", "\n", "O = [R[r]['order'] for r in list(R.keys())]\n", "plt.figure()\n", "plt.semilogy([o for o in O], \n", " [np.abs(R[o]['results'].describe('Ishigami', 'mean') - mean_analytic) for o in O],\n", " 'o-', label='mean')\n", "plt.semilogy([o for o in O], \n", " [np.abs(R[o]['results'].describe('Ishigami', 'std') - std_analytic) for o in O],\n", " 'o-', label='std')\n", "plt.xlabel('PCE order')\n", "plt.ylabel('RMSerror compared to analytic')\n", "plt.legend(loc=0)\n", "plt.savefig('Convergence_mean_std.png')\n", "plt.savefig('Convergence_mean_std.pdf')" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "ExecuteTime": { "end_time": "2021-12-10T08:47:02.475338Z", "start_time": "2021-12-10T08:47:02.216434Z" }, "code_folding": [ 0 ] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot the first Sobols as a function of PCE order\n", "O = [R[r]['order'] for r in list(R.keys())]\n", "plt.figure()\n", "for v in list(R[O[0]]['results'].sobols_first('Ishigami').keys()):\n", " plt.semilogy([o for o in O],\n", " [R[o]['results'].sobols_first('Ishigami')[v] for o in O],\n", " 'o-',\n", " label=v)\n", "plt.xlabel('PCE order')\n", "plt.ylabel('1st sobol')\n", "plt.ylim(1e-2,10)\n", "plt.legend(loc=0)\n", "plt.savefig('Convergence_sobol_first.png')\n", "plt.savefig('Convergence_sobol_first.pdf')" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "ExecuteTime": { "end_time": "2021-12-10T08:47:02.735073Z", "start_time": "2021-12-10T08:47:02.477460Z" }, "code_folding": [ 0 ] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAEMCAYAAADal/HVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAA1FklEQVR4nO3deXxU1dnA8d8zM1knEGQngBKWooCIGFTcFRUsgqiIu1ZRtG+16KsothapttUKrwhaFyqKuIK4IipaFbXiAgiyyCqLBIJAgITsycx5/7gzySSZmUyS2Uier598Zubc7ck13GfOPeeeI8YYlFJKqUBssQ5AKaVUfNNEoZRSKihNFEoppYLSRKGUUiooTRRKKaWC0kShlFIqKE0USimlgtJEoZRSKqi4TxQi0l1EZonI/FjHopRSzVFMEoWIPC8ie0RkTY3yYSKyQUQ2i8hEAGPMFmPM2FjEqZRSKnY1itnAMN8CEbED/wIuAPoAV4pIn+iHppRSypcjFgc1xnwpIt1qFJ8IbDbGbAEQkdeBi4CfQtmniIwDxgE4nc4Tjj766PAFrJRSTdzy5cv3GWPa+VsWk0QRQGdgh8/nbOAkEWkD/B04XkTuM8Y87G9jY8xMYCZAVlaWWbZsWaTjVUqpJkNEtgdaFk+JQvyUGWNMLnBrtINRSilliadeT9lAV5/PXYBdMYpFKaWURzwliqVALxHJFJFE4ArgvfrsQERGiMjMvLy8iASolFLNUUxuPYnIa8BZQFsRyQYeMMbMEpHbgEWAHXjeGLO2Pvs1xiwAFmRlZd0c7piVUsqrvLyc7OxsSkpKYh1KvSUnJ9OlSxcSEhJC3iZWvZ6uDFD+AfBBlMNRSql6yc7OpkWLFnTr1g0Rf82r8ckYQ25uLtnZ2WRmZoa8XTzdemo0vfWklIqGkpIS2rRpc1glCQARoU2bNvWuCTWpRGGMWWCMGZeenh7rUJRSTdzhliS8GhJ3k0oUSimlwk8ThVJKNSHDhg2jVatWXHjhhWHbZzw9cKeUUk3SOyt2MmXRBnYdLCajVQoThvZm1PGdI3KsCRMmUFRUxLPPPhu2fTapGoU2Ziul4s07K3Zy31ur2XmwGAPsPFjMfW+t5p0VOxu136VLl9K/f39KSkooLCykb9++rFmzhiFDhtCiRYvwBO/RpGoU+hyFUira/rpgLT/tyg+4fMUvBylzuauVFZe7uGf+Kl77/he/2/TJaMkDI/oGPe6gQYMYOXIk999/P8XFxVxzzTX069ev/r9ACJpUolBKqXhTM0nUVV4fkyZNYtCgQSQnJzNjxoxG7y8QTRRKKdUIdX3zP/WRz9h5sLhWeedWKcy9ZXCjjr1//34KCgooLy+npKQEp9PZqP0Fom0USikVQROG9iYlwV6tLCXBzoShvRu973HjxvHQQw9x9dVXc++99zZ6f4E0qRqFtlEopeKNt3dTuHs9zZkzB4fDwVVXXYXL5eKUU07hs88+44EHHmD9+vUUFBTQpUsXZs2axdChQxt1LDHGNGoH8UgnLlJKRdK6des45phjYh1Gg/mLX0SWG2Oy/K3fpG49KaWUCj9NFEoppYLSRKGUUiqoJpUotNeTUkqFX5NKFDrMuFJKhV+TShRKKaXCTxOFUko1EStXrmTw4MH07duX/v37M3fu3LDst0k9cKeUUnFp1Tz49EHIy4b0LjBkEvQfE/bDpKamMmfOHHr16sWuXbs44YQTGDp0KK1atWrUfrVGoZRSkbRqHiz4I+TtAIz1uuCPVnkj+BtmvKysjF69egGQkZFB+/bt2bt3b6N/Ba1RKKVUY3w4EXavDrw8eym4SquXlRfDu7fB8hf9b9PxWLjgkaCHrWuY8e+//56ysjJ69OgR6m8SUJNKFCIyAhjRs2fPWIeilFKWmkmirvJ6CDTMeE5ODtdeey0vvvgiNlvjbxw1qUShgwIqpaKujm/+TOvnue1UQ3pXuGFhow7tb5jx/Px8hg8fzt/+9jdOPvnkRu3fS9solFIqkoZMgoSU6mUJKVZ5I9UcZrysrIyLL76Y6667jssuu6zR+/dqUjUKpZSKO97eTWHu9eRvmPHXX3+dL7/8ktzcXGbPng3A7NmzGTBgQKOOpcOMK6VUPekw40oppZQPTRRKKaWC0kShlFIqKE0USimlgmpSiULno1BKqfBrUolC56NQSqnwa1KJQimlmrPt27dzwgknMGDAAPr27cszzzwTlv3qA3dKKRVhC7csZPoP09lduJuOzo6MHzie4d2Hh/04nTp1YsmSJSQlJVFQUEC/fv0YOXIkGRkZjdqv1iiUUiqCFm5ZyOQlk8kpzMFgyCnMYfKSySzc0rhxnvwNM75x40aSkpIAKC0txe12h+NX0BqFUko1xj+//yfr968PuHzV3lWUucuqlZW4Spj09STmb5zvd5ujWx/NvSfeG/S4gYYZ37FjB8OHD2fz5s1MmTKl0bUJ0EShlFIRVTNJ1FVeH/6GGe/atSurVq1i165djBo1itGjR9OhQ4dGHUcThVJKNUJd3/zPn38+OYU5tco7OTvxwrAXGnVsf8OMe2VkZNC3b1+++uorRo8e3ajjaBuFUkpF0PiB40m2J1crS7YnM37g+Ebvu+Yw49nZ2RQXFwNw4MABvv76a3r37t3o42iNQimlIsjbuyncvZ78DTO+du1aJkyYgIhgjOHuu+/m2GOPbfTvoMOMK6VUPekw40oppZQPTRRKKaWCalKJQgcFVEqp8GtSiUIHBVRKqfBrUolCKaVU+GmiUEopFZQmCqWUOgyJCHfddVfl56lTpzJ58uSIHEsThVJKRVjeggVsOmcI647pw6ZzhpC3YEGj95mUlMRbb73Fvn37whBhcJoolFIqgvIWLCDnL5Oo2LULjKFi1y5y/jKp0cnC4XAwbtw4pk2bFqZIgxwr4kdQSqkmbPc//kHpusDDjBf/+COmrPpIsaakhJw/38/BeW/43SbpmKPp+Kc/1XnsP/zhD/Tv35977rmnfkHXk9YolFIqgmomibrK66Nly5Zcd911lUOMR4rWKJRSqhHq+ua/6Zwh1m2nGhwZGRz10pxGH/+OO+5g4MCB3HDDDY3eVyBao1BKqQhqf+cdSHL1YcYlOZn2d94Rlv23bt2aMWPGMGvWrLDszx9NFEopFUHpI0bQ6aEHcWRkgAiOjAw6PfQg6SNGhO0Yd911V0R7P+mtJ6WUirD0ESPCmhgACgoKKt936NCBoqKisO7fl9YolFJKBaWJQimlVFCaKJRSqgEO19lBGxK3JgqllKqn5ORkcnNzD7tkYYwhNzeX5Bq9sOqijdlKKVVPXbp0ITs7m71798Y6lHpLTk6mS5cu9dom7hOFiDiBp4AyYLEx5pUYh6SUauYSEhLIzMyMdRhRE5NbTyLyvIjsEZE1NcqHicgGEdksIhM9xZcA840xNwMjox6sUko1c7Fqo5gNDPMtEBE78C/gAqAPcKWI9AG6ADs8q7kiFVAkhgE+nONQSimvmNx6MsZ8KSLdahSfCGw2xmwBEJHXgYuAbKxksZIIJTbvMMCmpASgchhgIOwPyRwOcSillK94aqPoTFXNAawEcRIwA3hSRIYDAb9ei8g4YBzAkUceWa8D75n2eOXF2cuUlJAz6QEKFn/he5AA72vFQpCF/t8D+R995DeO3X/7OyDYWqRhT0vDlpaGLa0F9jQntrQ0xBH+/415CxawZ9rjVOTk4OjUifZ33tFsk5WeC9XcxVOiED9lxhhTCNQ5LKIxZiYwEyArK6tefdYqcnL877O4mJI1VjOKwWeXvnuv2T3O93OQZdX259mnKS72G4c7L49dEyb4XQYgKSnY0pzYnWnYWrSw3nuSiZVUnNh937fwvHemYW/hSTxOJ2K3A1qz8RVP5yJeEpbGEV8xRCOOeEoU2UBXn89dgNpj80aAo1OngMMA91j0UTRCAIIMR9yhA0e+8ALugkO4CwpwFRTgPlSAu9DnfYHns+d92b5ca5nnp1bS8sOWmootLY2K/fuhoqLaMlNSwu6/PkjFr79WJhab00o8NqezqqbjdCJJSTVqVQ0TqT9+43LhLiqqPDeuggLchUWV59BdUICrsBB3QSEHXn89YG2zaPlybElJSFIykpyEzfuanIwkJWNL9ixLSqxelpxsbZecHPK5ipeEpXHEVwzRikNi9cCIp43ifWNMP89nB7ARGALsBJYCVxlj1tZjnyOAET179rx506ZNIcdS80SDNQxwuEd4jFUcxhhMUVG1xOGqllwO4S4o9Fw0D5E3/83G/SIOh5U8nM6qpJLmk1ScfsqqrZdGwX//y55H/lnrXLSfMAHnKYMDXti9v5+7sBBXYUFVWWFh5XomxMHTJCUlYC0PwN6mDaakBHdpaa3EWh/iSRq2xETrNblm8kmm8OuvayUsAElNpeVvLwCXG9xujNv76gK3AbcL4/JT5jbgcmGMu/q2Lpf1EJnLBcbts631Wp6zy1q/JpsNR7t2VbdTRSrvEQi+Zf7e+6znd3nVet6kWrp1m/9z7nCQ1L27/xNd72td8PWDxpDZrZ7HarhAcTgyMuj12ach70dElhtjsvwti0mNQkReA84C2opINvCAMWaWiNwGLALswPP1SRIAxpgFwIKsrKyb67Od9yIc6ypkpOIQEcRpXZDp0KHO9QuXfBOghtWJHu+/b12ECzwX4cLC2hfrQp8LdpG1ruvgQcp37vQpr/9Il6akhF8feij4Sg5HrQRlb30EiUd29akF+asJeW7L+WwrDkfQSWd8/xGaigrcJaWY0pLK5FH5WlqKu6QE41nu9n0tKcFd6llWVlqrzFVwCLNvn98kAWCKiij86r9gsyE2W7VX7DZEbGC3+y8TQewOSBDEZq/a1m4HW40ymw2x28h7N9v/eXe7cZ52qicoqi7K1V6N562pugb7Lq+8kJuqJ5591/NZt3TTZv9xVFSQeFSwNsp61nSD1PaCxpAZIFlFQKA4At1Sb4iY1SgiKSsryyxbtizWYRy2olHDMm63dfunsEYtwJOAcoLMGpYx5VHrwu50+rTHhPe2l1e81DZDTVgaR/TiiIcYwhlHsBqFjvWkaonGRCtis2FPSyOhQweSevQg5bjjcJ5yCi3PP59Wl1xsHdsPR0YG6SNG0OKcs3GedCIpffuSeNRRONq0sdoBwpgkIDrnIhSRniVN4zg8Y4hWHE2qRtHQNgoVf+Llm3w8aS49bA6nOOIhhnDFEaxG0aQShZfeemoa4uUfoVLNQdw1ZisVikhMH6mUqj9to1BKKRVUk0oUIjJCRGbm5eXFOhSllGoyAt56EpFLgm1ojHkr/OE0TkOfo1BKKRVYsDaKYDeHDRB3iUIppVT4BUwUxpg6B+JTSinV9NXZRiEi6SLymIgs8/z8n4ikRyM4pZRSsRdKY/bzwCFgjOcnH3ghkkE1lDZmK6VU+NX5wJ2IrDTGDKirLJ7oA3dKKVU/jR3rqVhETvPZ2alA4LGXlVJKNSmhPJn9e+BFT7uEAPuB6yMalVJKqbhRZ6IwxqwEjhORlp7P+ZEOSimlVPwIpddTGxGZASwGPheR6SLSJuKRKaWUiguhtFG8DuwFLgVGe97PjWRQDaW9npRSKvxCSRStjTEPGWO2en7+BrSKcFwNYoxZYIwZl56uj3kopVS4hJIoPheRK0TE5vkZAyyMdGBKKaXiQ7BBAQ9hjekkwP8CL3sW2YAC4IGIR6eUUirmgo311CKagSillIpPIc1wJyIjgTM8HxcbY96PXEhKKaXiSSjdYx8BxgM/eX7Ge8qUUko1A6HUKH4LDDDGuAFE5EVgBTAxkoE1hIiMAEb07Nkz1qEopVSTEepUqK183sdt31PtHquUUuEXSo3iYWCFiHyO1QPqDOC+iEallFIqboQy1tNrIrIYGISVKO41xuyOdGBKKaXiQyiN2acC+caY94AWwD0iclTEI1NKKRUXQmmjeBooEpHjgAnAdmBORKNSSikVN0JJFBXGmgbvImCGMWY6Vs1CKaVUMxBKY/YhEbkPuAY4Q0TsQEJkw1JKKRUvQqlRXA6UAmM9jdidgSkRjUoppVTcCKXX027gMZ/PvxCnbRT6wJ1SSoVfqA/cHRb0gTullAq/JpUolFJKhZ8mCqWUUkEFm7hoNdbERbUWAcYY0z9iUSmllIobwRqzL4xaFEoppeJWsBnutkczEKWUUvEplLGeThaRpSJSICJlIuISkfxoBKeUUir2QmnMfhK4EtgEpAA3AU9EMiillFLxI6Q5s40xm0XEboxxAS+IyJIIx6WUUipOhJIoikQkEVgpIo8COYAzsmEppZSKF6HcerrWs95tQCHQFbgkkkEppZSKH6EkilHGmBJjTL4x5q/GmP9Fu84qpVSzEUqiuN5P2e/CHEdYiMgIEZmZl5cX61CUUqrJCPZk9pXAVUCmiLzns6glkBvpwBrCGLMAWJCVlXVzrGNRSqmmIlhj9hKshuu2wP/5lB8CVkUyKKWUUvGjrieztwODRaQDMMizaJ0xpiIawSmllIq9UJ7Mvgz4HrgMGAN8JyKjIx2YUkqp+BDKcxT3A4OMMXsARKQd8B9gfiQDU0opFR9C6fVk8yYJj9wQt1NKKdUEhFKj+EhEFgGveT5fDnwYuZCUUkrFkzoThTFmgohcApyGNWnRTGPM2xGPTCmlVFyoM1GIyD+NMfcCb/kpU0op1cSF0tZwnp+yC8IdiFJKqfgU7Mns3wP/A3QXEd8H7FoAX0c6MKWUUvEh2K2nV7EarR8GJvqUHzLG7I9oVEoppeJGsCez84A8rNntlFJKNVP6PIRSSqmgNFEopZQKShOFUkqpoDRRKKWUCiruE4WIdBeRWSKigxAqpVQMRDRRiMjzIrJHRNbUKB8mIhtEZLOITAy0PYAxZosxZmwk41RKKRVYKIMCNsZs4ElgjrdAROzAv7Ce+M4GlnqmWrVjPbPh68YaI9eq5mTVPPj0QcjLhvQuMGQS9B8T66iUanYimiiMMV+KSLcaxScCm40xWwBE5HXgImPMw8CFDT2WiIwDxgEceeSRDd2Niher5sGCP0J5sfU5b4f1GTRZKBVlsWij6Azs8Pmc7SnzS0TaiMgzwPEicl+g9YwxM40xWcaYrHbt2oUvWhUbnz5YlSS8youtcqVUVEX61pM/4qfMBFrZGJML3Bq5cFRcysuuX7lSKmJiUaPIBrr6fO4C7IpBHCqepbX3X57eJbpxKKVikiiWAr1EJFNEEoErgPfCsWMRGSEiM/Py8sKxOxUrv3wLJfn4rXweMzLq4SjV3EW6e+xrwDdAbxHJFpGxxpgK4DZgEbAOmGeMWRuO4xljFhhjxqWnp4djdyoWNn4Mc0ZBemcY9jCkdwUEWnaGVkfB8hdg5w+xjlKpZkWMCdg8cNjKysoyy5Yti3UYqr5WvQHv3Aod+sLVb0JajU4JBXvguSFQXgI3fwqttHebUuEiIsuNMVn+lsX9k9n1obeeDmPfzYS3boIjB8P179dOEmC1W1w9H1yl8MplUHww6mEq1Rw1qUSht54OQ8bA5w/DhxPg6AutRJDcMvD67XrD5S9D7s8w71qoKIterEo1U7HoHquUxe2Gj+6F72fCgGtgxHSwh/AnmXkGXPQkvH0LLBgPo54C8dfrOjzeWbGTKYs2sOtgMRmtUpgwtDejjg/46E+Tp+ej+dFEoWKjogze+T2smQ+n3A7nPVS/i/1xV8CB7bD4H9A6E868JyJhvrNiJ/e9tZrichcAOw8Wc99bqwGifnGMhwu0no/4iyEacWiiUNFXVgTzroPNn8C5k+G0Oxu2nzPvgQPb4PO/Wz2ijrs8nFEC8Oii9ZUXRa/icheT3l3D/sIykhPsJCfYSE6wk5JgJ8nzPtlRVV65jsOOzdawmk+0LtDGGMpdhnKXm7IKN2U1Xv/+wTq/5+NvC3+ifcskxNOlWaSqc7OIvzLAZ13vp8p1q5VXXw9g8cY9PPHpZkor3IB1Pu59cxU7DxZzdu/2GD/P8Na3346/9X33u3jDHv71+c+1YvhlfyFn9Q7wHFAE+Isj3H8bTarXk4iMAEb07Nnz5k2bNsU6HOVP8QF49XLIXgoXToMTfte4/VWUwSuXwvZv4Nq3IfP0Ru3O5Tasy8nn2y25fLsll/+sC++YlIkOG8mOGgnEk1iSEmyk1CxPsJPssDF7yTbOKlvMPY55ZMg+dpm2PFoxhsWJZ3HDqZmUudyU+7mwl1W4rYt+ZbnxlLs825ha26imoXOrFL6eeE7I6wfr9dSkEoWXdo9tvIhUZQ/thpcuhtzNcOlz0Oei8ARbfBCeHwqHcmDsJ1aDd4gqXG5+ysnnuy37+XZLLt9v28+hkgoAMts6+TW/hKIyV63tMtKT+WD86ZSUuykpd1FS4ap6X/nj87nCXbvM+7nCz/o1ykfa/ssjCc+RKlWN90UmkYnlN/Ge+zQS7EKi3UaCw0ai3Uai76vDRoK96nOC3UZSZbl41rWT4BCSam5TY3/3v7OG3MLaHQjapiXyxJUDAc+3bs9lxXt1Mabq27gxvuWmar3KbUzlt3njsx/fdW95aXnA/6fPXHMC4P9OZqD6nAS47emv1Lvq2BcDX2NmXe/3ehsRgeIQYOsjw0PeT7BEobeeVC0Ruc2xf4v1IF3hPrhqHvQ4O0zRAimtrH0+dy68Mhpu+jTgECAVLjdrd1k1hu+27mfp1v0cKrUSQ/e2Ti7sn8HJ3VtzUmYbOqYn1zoXACkJdu4ZdjStUhPD9zsEYYxh91/Hk0r1C3SqlDEp8VUen/hnbMlpUYmltMLt93zcP7wPg3u0iUoMYH1b3nmw2G/5sH4dYx7DkGM6RCWGYHFktEoJ2zE0Uahapiza4Pc+9J/fWc2hknIy26bRrW0qGekpod1z370aXroE3BVw/QLockL4gz7iKLhqLswebt3a+t1CSEylwuVmjTcxbMll6bYDFHgTQzsnIwZkcHL3NpyU2ZoOLZNr7dabGGPZYCkidGSf32VtOQiPdIHW3aFjP+hwrOe1nzUuVph7g8XD+QCYMLS334Q1YWjotcmmEEO04mhSt560jSI8uk1cGNJ6SQ4bR7VJJbOtk25tnXRv66RbGyeZ7Zy0S0uyqvPbv7Eu3ElpVhtCPW4LNUTFT+9jn3cNW9uexYMp97J0ex6FnltHPdo5Obl7m8rE0N5PYohLP71nNf77G2Q5tQ0Muhl+XWP9HNhWtSy5lZUwOvaznnbv0A/aHwMJ4fumGUvx0OMoHmIIVxzN5taTMWYBsCArK+vmWMdyuPpi496Ayzq3SubN35/Kln0FbNtXxNZ9BWzdV8TmPQV8tn4P5a6qC1lakoPRLdfyp4JHKEjuyPcnPUeH4vZ0LyonPTUhbPGWu9ys3pnnaXzez/JtDka7ruOv+15kRGILugy8h5O7t+HEzNa0b3GYJAYvVwV89iB8PR1adYOC3VBRUrU8IQWGPVJ9IqeSfNjzk1WL+3UN7F4DP8yB8iJrudigTa+qWkfHY60k0qJTRJ9FiYRR9q8ZlfQgJGdDUhewTwKiO6lVPMQQjTiaVI3CSxuzG2bptv1cO+s7Wqcmsr+ojJLyqh4wKQl2Hr7k2IDfUipcbnYdLGFrbiFb9xbQYtPbjNr2EJtsmVxTPIF9pupp6yNSE6rVQry3sjLbOklNrPru4u9b0m+P7cTqnQf51tP4vHz7gcrG5t90SOOkTKvGcPa2aaT+8CwM+yecfBhOZ1KwF+bfANu+gqwbrYTw07sNmxrW7bJqGr7J49c11qyBXimta9+6atcbHEm19xfrKWqNgZWvwMK7ocLn3rwj2Xoep89FVkIUm6dPrlR9xud9tXVs9U+UNWdhBCt5j5gR3fMRpji015Oq05qdeVw581vatUhi3q2D+e+mfQ2vyn77jPXEdbfT4YpXKXU42bG/mK37Ctm2r5Atntet+wrZnV9SbdMOLZPIbOtEgKXbDlDhrvr7tAnYRSj3lPXu0IKTureurDG0TfO5qLld1u2a9Qvhilfg6NB7f8Tcju9h3vVQvN/qQjzgqsgcp/gA/LrW+vEmkT3rqmotNge07W3VOLzJY/9W+OT+ui9KxkBFKZQVQnmh9exM5WsRlBX4vC/0vHrKve8DrV9eBCZC3XhDSSbedUoO+o9DbOD015mixrW21rXX34MbdaxjTOA40rvCnWv8xOGfJgoV1OY9BYx59htSEuy8cevghveWMAYWPwxf/NMat+nSWZAQ/HZPUVkF2/YVsS3XShzenxW/HMDt50/TmWRn6ujjODGzNW3S/Hzb9VVWZDVu71kHNyyEzhFoRA8nY2Dpc/DRfdAywxrTqlP/6MbgqoD9P3sSx9qqGsihOuYWsyVYtQvfi3y9LuYCiU5ISIXEVEhMq3qf4PS8esoTU+HLKYF3Nfwx69jGeGLwvFb+mNrvg67j+T2qLXdb/68CGXgdfjvX1qq1SB3LQ1gnYBwCkw8GDLF2aM2kjULVX/aBIq6d9R02EV6+6aSGJwm32xrYb+lzcPw1cGFo4zalJjrok9GSPhnVBwLMDNCgXlTq4oJjO4UWU2Kq1RPquSHw6hVw03+s3lHxqKwQ3r8TVs2FXkPhkmch5Yjox2F3WLec2vWGY0dXlRfmWkljToCJo9zlViKuvLA7A1/kq5V51nUk1+/Wz4+vV7915pXeFQaNrd/v3FAbFwWOYeQT0YkhaBzhmw2ySSUKn15PsQ7lsLDnUAnXPPcdhaUVzL1lMJltnQ3bUUWZNY/EmjfhlD/CeQ82umE0I1x9w71Dk886zxqafOzH1nMX8ST3Z5h7rdUIffb9cPpdYIuzgZ2dbaD7mdZFMNDFcfSs6MUzZJL/+/JDJjWvGKIUR5z9NTaODjMeuoNFZVz73PfsOVTK7BtP5JhOQYb2DqasEF6/0koS5/4Vzq/n4H4BTBjam5QEe7WyBvcNb9cbLn/Feuhv7jXxNTT5+g9g5tnWrZ1r5sOZE+IvSfgaMql299pYXBz7j7HaRbwzIKZ3jX4jcjzEEKU4tI2iGSooreCa577jp135vHDDIE7t2bZhOyrabz0jsXOZNUT4wOvCGmfY+6j/OBfeHgfHXQmjno5td1C3yxrM8Kv/g04DYMyc+L0tVlOsez2piNA2ClWppNzFuDnLWL0zj6evHtjwJJGfAy9fYo3bdNmL0CfAvetGGHV85/A+vHTc5XBwu3WBPqIbnDUxfPuuj8JcePNG2LLYSq4XTKmz0T+u9B+jiaGZ0UTRjJS73Nz26gqW/JzLtMuP4/y+DRwTJ/dneGmUVaO4er517/pwccYE65mCxQ9bc25HqutpINnLrW67hXutBs8w18KUigRNFB7x8ih+pLjdhglv/Mh/1v3KQxf15eLjG9gjImcVvHypZ9ym9+K/y2lNInDh49Ztk/duh5ado5PojIHlL8CH90JaRxi7CDKOj/xxlQqDOG41ix7vCKE7DxZjqBot9Z0VO2MdWlgYY5j03hreWbmLCUN7c+3gbg3b0fYl1nMJ9gS4cdHhlyS8HIlWm0CbXp7eRusje7zyYnj3D1b3126nwy1faJJQh5UmlShEZISIzMzLy6vXdoFGS52yaEM4w4uZKYs28PK3v3DLmd35n7N6NGwnGz6y5pJI62AliXa/CW+Q0ZbSCq6eZ7UNvHIZHPo1MsfZv9XqmrvyFTjzXrj6DUhtHZljKRUhTSpRNLR77C4//fWDlR9Onl78M08t/pmrTzqSicOODjhBSy2r5sG0fjC5FfwzE167whp59MaPoFXXiMYcNa2OhCtfh6J98NrlVlffcNr4Mcw8Ew7+Ys2XcfafwGavezul4kyTShQNFeghLoddWLurfrWTePLSt9v550fruWhABg9d1K9+SWLBHz0PVhlrzCERa3A6ZwN7ScWrzgNh9POQ8yO8ebPVbbWx3C74/B/w6mWQfiSM+wJ+M7Tx+1UqRjRR4P/hrkS7kOSwMfLJr3n0o/WUlIfhAhJF76zYyaR313DuMe2ZetlxoU0w5PXpg9Wf8gRrbJsvHg1vkPGi9wXWKLMbFsKiPzduX0X74dUx1nhXx10FN30CrTPDE6dSMaK9ngg8a9dZvdvxt4XreGrxz3y0ZjePXNqfEzPj//7yJz/9yl1v/MjJmW148qqBJNjr8X3AVe5/iAawego1VSeNs7rNfvsv68G3k39f/33sWgFzr7PmjbhwGpxww2E3x4NS/uiT2SH4cuNe/vT2arIPFHPtyUdxz7DetEgO3+Q74bRk8z5+N3spx3RqySs3nURaUojfBcpLYMVL8PUMyPvF/zr1HLb4sNOYocl/mGPNj+BsZ/WoisR0r0pFULAns/XWUwjO+E07Ft1xBjeemsnL323n/Glf8tn6CPWSaYQVvxzgpjnLyGzj5MUbBoWWJEoLYMkTML0/fHA3tOwEg/8YH+P5RJvNDpf822q3mD8Wdi6ve5vyEut5jPduh6MGwy1fapJQTY7WKOrph18OcO/8VWzaU8BFAzKYdGGfuudFiIL1u/O5/NlvaZWawBu3DK57Pujig/D9v+Hbp6zG6swzraeWu51m3S5pzuP5FOyB58615la46T8sPLCW6T9MZ3fhbjo6OzJ+4HiGdx9u9Waaey3krLRGfD37z82iV9PCLQv9n49mGEc8xBCuOHTiojArrXDx1Oc/89TizbRITmDShX24aEBG6L2KwmzbvkJGP/MNDpvwxq2D6do6NfDKhfus5PD9v6E0H34zDE6/G7oOil7Ah4O9G2HWuSxs1ZbJaTZKXKWVi5LtyUzufinDv3rGul118TNRmUEvlhclYwzFFcW89/N7TF02lVKf85FoT+TW/rdyepfTEZ9Jdrz/HsTzn7esch2hqhzxu361dXyWf/bLZzz+w+PV4kiyJ3HHwDsYcuQQK2af2eBMjZnhfK971ZbVnEAuyD4+/+Vznlz5ZK0YbhtwG2d1PYtoWbxjca04ku3JTD5lcr3+PppNovCZj+LmTZs2Rfx4G3Yf4t43V7Fyx0HO7t2Ov198bMMn/mmgnLxiRj/9DcXlLubdcjI927fwv2J+jnWLafkLVo+mPhdZ34KjPYPa4WTbfzn/05vJcdS+hZfsdnO+K5HEHueQ7GxPkj2JJEcSyfZkkuxJJDs8r/ZkkhxJ1d7XXCfJnlTnl4yFWxYyeclkSlxVU8cGuhi4jZuSihKKKoooKi+q9lpYXlj5vriiuNrywvLCyvfFFcW1tq95oVTxrZOzEx+P/jjk9ZtNovCK5jDjLrdh9pJtTF20AZvAxAuO5uqTjqpfd9QGyi0oZcyz37Anv5TXxp1Mv85+HjQ8sB2+fhxWvGx9++0/Bk7738P/yeoocLldDHhpgP+FBjLSOlLiKqPUVUppRSkVpqLBx/ImjECJZdmvy6p9Y/RKsCXQo1WPaomguCL0B0XtYifVkUpKQgqpjlScCU5SE1JJdXh+ElJJcaRUlj3+w+MB9zXtrGmA9c3be13xJheDqfy2Hmi5v2/5vuv5Lp+0JHB72YOnPOi3vGYy9lf7qVkebB/3fXVfwPUeOf2RgMvCbeJX/kdBFoRV168KeT86zHgE2W3C2NMyOb9PB+57azV/eXct7/24i0cu7U+PdmkRO25ecTnXPf89Ow8WM+fGk2oniX2b4KvHrKk1bXYYcDWcdoc1vLaq05KdS5i6fGrA5Z3chkWjP6lWVuGuoNRVSklFifXqKqG0otRKJJ6fmstKXCWVicb7vuY6+WX5fpMEQLm7nI7OjpUX9Wqv3vc1y31eE22J9bplOnfDXHIKc2qfD2cnzj3q3JD301hP//h0wDgu7nVxVGKY8cOMgDFEs51i+g/T/cbR0dnA0aH90EQRJl1bp/LS2BOZvzybh97/iQumf8X4Ib0Yd0b3+j3HEILiMhdjZy9l46+H+Pd1WdWf7di9Gr6cCj+9a81DfNItcMrt0DIjrDE0VZsPbGbq8ql8vfNrOqd15sq8fN5ukUaJz6xzyW4343MP1NrWYXPgsDlwJjRwStkgzp9/fsCL0hPnRG9+5vEDx/u9BTZ+4PioxRAvccRDDNGKQxNFGIkIl2V15cze7Zj83lqmLNrA+6tyePTS/hzbJTzTs5ZWuLjl5eX88MsBnrhyIGf1bm8t2LEUvpoKGz+CxBZw2p1w8v9AWruwHLep21e8j6dWPsWbm97E6XByd9bdXHn0lSTOGMhx+3KZfkQrdjvsdKxwMf7AQYY72kQ1vni5KHm/Kce6p088xBEPMUQrDm2jiKBFa3fzl3fWkFtYxk2nZ3Lnub8hOaHh3ScrXG5uf20FH67ZzaOX9mdMVhfY9l/4cgps/QJSjrCSw4k3W+9VnUoqSnjpp5d4bvVzlLnKuPzoy7m1/620Sm5lreAd96rmxPUxmBs5XrpiqqZJG7NjKK+4nIc/WMfrS3fQrU0qD1/Sn8E96v9t1O023PvmKt5Yns1fhh/D2I4/Wwlix3fgbG/dXsq6EZIi1y7SlLiNm4VbFjJjxQx2F+7mnK7ncOcJd9ItvVvtlZvzMyWq2dBEEQeWbN7HxLdW88v+Iq488Uju++3RtAxxGBBjDA++/xOzv97CjAE7GZH3qjXaaXpXOHU8HH9N7SepVUDLdi9j6rKprM1dyzGtj2HCoAkM6qjPkajmTXs9xYFTerZl0R1nMO0/G3nuqy18tv5X/jbqWM7r06HObad/so7937zMd60+pP36rdC6O4x8Evpfbs3WpkKyPX87jy17jM92fEaH1A7847R/MLz7cGyiI9koFYzWKGLgxx0HuffNVazffYjh/TsxeURf2rXwDANS7TZHZ9anZpGycwlH2fZg2vdBTr8L+l7cLIaKCJeDJQd5ZtUzzF0/l0R7ImOPHcu1fa4lxaG1MKW89NZTHCp3uXn2i5+Z8elmUpPs/GV4Hy5JWILUbDgF9to70vrSqdiPHg42/fYbqjJXGa+tf41nVz1LYXkhl/S6hD8M+ANtU5rY5EtKhYHeeopDCXYbt53Ti2H9OnLvm6u5640fOdP5Z9q6aj9V29bpQPqMiEGUhydjDJ9s/4Rpy6eRXZDNqZ1P5a4T7qLXEb1iHZpShyVNFDHWs30L3rhlMC99u53Wi/bgd/SA/J1Rj+twtWrvKqYum8qKPSvo2aonz577LKd0PiXWYSl1WGtSicJnUMBYh1IvNptw/SndyPm4LZ3YV2v5r7QlfA/jN007C3Yyffl0Ptz2IW2S2/DA4Ae4uOfF2LUtR6lGa1I3vI0xC4wx49LTw/MUdLQ9UjaGIlO9F1ORSeThsstiFFH8O1R2iMeWP8bIt0fy+Y7PGdd/HAsvWcjo34zWJKFUmDSpGsXhblnL87g/38Vjic9iDOw0bXm0YgzLW54X9Vji/Sngcnc58zfO5+mVT3Og9AAje4zk9uNvD+tAaEopiyaKODJhaG8mvVUIPMuUist5ynURKQl2Hh7aO6px1Jz7IKcwh8lLJgPEPFkYY/gi+wseW/4YW/O2MqjjIO7Oups+bfrENC6lmjJNFHFk1PGdsbnK4H3rc+dWKUwY2ptRx3eOahzTf5hebfA5gBJXCfd9dR//Wvkv0hPTSU9Kp2ViS1omtaRlYsvKz76v3vfJjjqmZQ2gZq1mdK/RfLf7O77f/T3dWnZjxtkzOKvrWTGbWVCp5kITRZwZOSAD3od7hvXmntPPiUkMuwt3+y03GPq17Ud+WT75pflkF2STV5pHflk+buMOuL8ke1K1JNIyqSXpielBX7/L+Y4pS6dUq9U8sfIJUuwp3HfifVzW+zISbKENgaKUahxNFKqWjs6OAec+ePSMR2uVu42bwvLCyqRR8zW/NJ+8srzK15yCHNaXrSe/NJ+iiqJ6xdYyqSVXHXNVg383pVT9aaJQtYwfOJ5JX0+izF1WWRZs7gOb2GiR2IIWiQHm6w6i3FVuJRFPQvEmmD/9909+199TtKfex1BKNY4mClXL8O7D2XhgI8+veR6wahKR6vWUYE+gbUrbWsNqPLHiiYhP76iUCk2Teo5ChU9WB2vIl5d/+zIfj/446r2dxg8cT7K9eiN4LGZ0U0ppjSL+xMkgjS7jAsAhsfkTiZdpJpVSmijiWGy7fLrcnkRhi92fyPDuwzUxKBUH9NaT8qvCVABgFx0GQ6nmThOF8stbo9DxkpRSmiiUX7Fuo1BKxQ9NFMqvCrfn1pPWKJRq9jRRKL+8NQpto1BKaaJQfmkbhVLKK+4ThYiMEpF/i8i7InJ+rONpLry9nrSNQikV0UQhIs+LyB4RWVOjfJiIbBCRzSIyMdg+jDHvGGNuBn4HXB7BcJUPrVEopbwi/XVxNvAkMMdbICJ24F/AeUA2sFRE3gPswMM1tr/RGOMdBe5+z3YqCrSNQinlFdFEYYz5UkS61Sg+EdhsjNkCICKvAxcZYx4GLqy5D7FmpXkE+NAY80Mk41VVKrvHxvDJbKVUfIjFVaAzsMPnczZwUpD1bwfOBdJFpKcx5hl/K4nIOGCc52OBiGwIR7Ax89e72sJd+2IdRtLvkmIdAkBbIObnIo7o+ahOz0eVxpyLowItiEWi8DeIUcCR8IwxM4AZde3UGDMTmNmIuOKKiCwzxmTFOo54oOeiOj0f1en5qBKpcxGLXk/ZQFefz12AXTGIQymlVAhikSiWAr1EJFNEEoErgPdiEIdSSqkQRLp77GvAN0BvEckWkbHGmArgNmARsA6YZ4xZG8k4DlNN5jZaGOi5qE7PR3V6PqpE5FyIiZOJcpRSSsWnuH8yWymlVGxpolBKKRWUJoo4IiJdReRzEVknImtFZHysY4oHImIXkRUi8n6sY4k1EWklIvNFZL3n72RwrGOKFRG50/PvZI2IvCYiybGOKZr8DZEkIq1F5BMR2eR5PSIcx9JEEV8qgLuMMccAJwN/EJE+MY4pHozH6vigYDrwkTHmaOA4mul5EZHOwB+BLGNMP6whgK6IbVRRNxsYVqNsIvCpMaYX8Knnc6Npoogjxpgc7zAlxphDWBeBzrGNKrZEpAswHHgu1rHEmoi0BM4AZgEYY8qMMQdjGlRsOYAUEXEAqTSz57GMMV8C+2sUXwS86Hn/IjAqHMfSRBGnPGNkHQ98F+NQYu1x4B7AHeM44kF3YC/wgudW3HMi4ox1ULFgjNkJTAV+AXKAPGPMx7GNKi50MMbkgPXFE2gfjp1qoohDIpIGvAncYYzJj3U8sSIiFwJ7jDHLYx1LnHAAA4GnjTHHA4WE6dbC4cZz7/0iIBPIAJwick1so2q6NFHEGRFJwEoSrxhj3op1PDF2KjBSRLYBrwPniMjLsQ0pprKBbGOMt5Y5HytxNEfnAluNMXuNMeXAW8ApMY4pHvwqIp0APK976lg/JJoo4ohnSPVZwDpjzGOxjifWjDH3GWO6GGO6YTVUfmaMabbfGo0xu4EdItLbUzQE+CmGIcXSL8DJIpLq+XczhGbasF/De8D1nvfXA++GY6c62UB8ORW4FlgtIis9ZX8yxnwQu5BUnLkdeMUzTtoW4IYYxxMTxpjvRGQ+8ANWb8EVNLOhPDxDJJ0FtBWRbOABrLl75onIWKxkellYjqVDeCillApGbz0ppZQKShOFUkqpoDRRKKWUCkoThVJKqaA0USillApKE4VSNYiIS0RWekYlfUNEUj3lHUXkdRH5WUR+EpEPROQ3ItJNRIo923h/rgtTLGfpqLkq1vQ5CqVqKzbGDAAQkVeAW0VkGvA28KIx5grPsgFAB2AH8LN3m8YQEbsxxtWI7R2e6YaVChtNFEoF9xXQHzgbKDfGPONdYIxZCZUDONZJRIZgDWTnAJYCvzfGlHqGKHkeOB94UkQOYg2GuA/rgTLv9k7gCeBYzz4mG2PeFZHfYY2wmww4gXMa+Lsq5ZfeelIqAM/w1RcAq4F+QLDBCXvUuPV0eo19JWPNH3C5McZ7of+9zyolxpjTgHeAfwMjgNOBjj7r/BlrGJNBWIlris/osYOB640xmiRU2GmiUKq2FM8QKsuwhkGYFcI2PxtjBvj8fFVjeW+sQew2ej6/iDW3hNdcz+vRnvU2GWvYBN9BEM8HJnpiW4xVgzjSs+wTY0zNuQmUCgu99aRUbcU12xtEZC0wuhH7lDqWF/q8DzSujgCXGmM21IjtpBrbKxVWWqNQKjSfAUkicrO3QEQGiciZIW6/HugmIj09n68FvgiwXqaI9PB8vtJn2SLgds9oqYjI8fX5BZRqKE0USoXAcxvoYuA8T/fYtcBkqqbfrNlG8cca25dgjfT6hoisxpqx7xlq8Kw3DlgoIv8FtvssfghIAFaJyBrPZ6UiTkePVUopFZTWKJRSSgWliUIppVRQmiiUUkoFpYlCKaVUUJoolFJKBaWJQimlVFCaKJRSSgX1/4/+laGeGORYAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot the total Sobols as a function of PCE order\n", "O = [R[r]['order'] for r in list(R.keys())]\n", "plt.figure()\n", "for v in list(R[O[0]]['results'].sobols_total('Ishigami').keys()):\n", " plt.semilogy([o for o in O],\n", " [R[o]['results'].sobols_total('Ishigami')[v] for o in O],\n", " 'o-',\n", " label=v)\n", "plt.xlabel('PCE order')\n", "plt.ylabel('total sobol')\n", "plt.ylim(1e-2,10)\n", "plt.legend(loc=0)\n", "plt.savefig('Convergence_sobol_total.png')\n", "plt.savefig('Convergence_sobol_total.pdf')" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "ExecuteTime": { "end_time": "2021-12-10T08:47:02.943687Z", "start_time": "2021-12-10T08:47:02.735811Z" }, "code_folding": [] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAEICAYAAABWJCMKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAA+XUlEQVR4nO3de3xU5Z348c83k5B7IECAyC2AQS4JBAw3FcQbRbFS27IVqwXWSrHqq9qtFdva7fVXd+vW1pXV1XrB1q211kXWolZRBFSEgOGuXBIugUASCLkQQi7z/f0xJ+kQEjJJJpmZzPfNa14z55znOec7JJnvnOec53lEVTHGGBN+IgIdgDHGmMCwBGCMMWHKEoAxxoQpSwDGGBOmLAEYY0yYsgRgjDFhyqcEICKzReRzEdknIkub2S4i8rizfZuITGyy3SUin4rIG17reovIOyKy13lO7vjbMcYY46vI1gqIiAtYBlwHFACbRGSlqu7yKnY9kO48pgBPOs8NvgPsBpK81i0FVqvqI05SWQo8eKFY+vbtq2lpaa2FbIwxxsvmzZtLVDWl6fpWEwAwGdinqnkAIvIyMBfwTgBzgRfV06tsg4j0EpFUVS0UkUHAHOCXwHeb1JnpvF4OrKGVBJCWlkZOTo4PIRtjjGkgIgebW+9LE9BA4LDXcoGzztcyvwW+D7ib1OmvqoUAznM/H2IxxhjjJ74kAGlmXdPxI5otIyI3AkWqurnNkTXsWGSxiOSISE5xcXF7d2OMMaYJXxJAATDYa3kQcNTHMpcDN4nIAeBl4GoR+aNT5riIpAI4z0XNHVxVn1bVbFXNTkk5rwnLGGNMO/lyDWATkC4iw4AjwC3ArU3KrATuca4PTAHKnGadh5wHIjIT+J6q3uZVZwHwiPP8eofeiTFdrLa2loKCAqqrqwMdijEAxMTEMGjQIKKionwq32oCUNU6EbkHeBtwAc+p6k4RWeJsfwpYBdwA7AOqgEU+HPsR4BURuQM4BMzzKWJjgkRBQQGJiYmkpaUh0lwrqDFdR1U5ceIEBQUFDBs2zKc6vpwBoKqr8HzIe697yuu1Ane3so81eO70aVg+AVzjU5TGBKHq6mr78DdBQ0To06cPbblWaj2BjekA+/A3waStv4+WAIwxJkxZAjAmhLlcLrKyssjIyGDevHlUVVWds37s2LGMHz+e3/zmN7jdnq44a9asoWfPnmRlZZGVlcW1114byLdgAsinawDGGC/56zzPdQlwtgKiEwMWSmxsLLm5uQB8/etf56mnnuK73/3uOeuLioq49dZbKSsr46c//SkA06dP54033mhhryZc2BmAMd3E9OnT2bdv33nr+/Xrx9NPP80TTzyBzQFuvNkZgDF+8G8b/43PTn7m132O6j2KBydfcHisRnV1dbz55pvMnj272e3Dhw/H7XZTVOTpb7lu3TqysrIAmDdvHj/84Q/9ErMJLZYAjAlhZ86cafwgnz59OnfccUeLZb2//VsTkAFLAMb4ha/f1P3Nu63/QvLy8nC5XPTr14/du3d3fmAmJNg1AGO6ueLiYpYsWcI999xj/RbMOewMwJhuqKFpqLa2lsjISG6//Xa++93vtl7RhBVLAMaEsMrKymbX19fXt1hn5syZzJw5s5MiMqHEmoCMMSZM2RmAMZ3pbMW5ywHsNGZMU3YGYEwbFZ09xbd3LONETQWHq0s4WnaQY+WHKCov4OyZk4EOzxifWQIwpo2WHXyDj0s/w41SXV9DRd0ZSmsrKa4pI6/qGJU1zbfLGxNsrAnImDbYf2o/K459zK0DryKlRxLp8Rc1bqt113PoTBEHyw+SmpBK75jeAYzUmNbZGYAxbfD4lseJdUWzeMj5Qy5ERbhIixtAQmQMhZWFHCs/jI28Y4KZnQEY46PcolzeO/we96Z9keSoBI6dPXf7x/mnnFc9OFFTzba648S7TtG3R89/dMCKqvH5eNNG9Lng9gMHDnDjjTeyY8eO87b9+Mc/ZsaMGS0O9bxixQpGjhzJmDFjfI4nGMyfP5+dO3eyaNEi7r///kCH41czZ87k0UcfJTs7u8uO6dMZgIjMFpHPRWSfiCxtZruIyOPO9m0iMtFZHyMiG0Vkq4jsFJGfetX5iYgcEZFc53GD/96WMf6lqjy2+TH6xvbltoFXt1q+T48kevdI5HT9WYpqyrogwnP97Gc/u+A4/ytWrGDXrl1+OVZdXZ1f9tOaY8eO8dFHH7Ft27YLfvh3VTzdQasJQERcwDLgemAMMF9Emn5tuB5Idx6LgSed9WeBq1V1PJAFzBaRqV71HlPVLOdxzpzDxgSTtQVr2VK0hbvG30WcK9qnOkmRcST3SOBM/VlqtXM+lOrr67nzzjsZO3Yss2bN4syZMwAsXLiQV199FYClS5cyZswYxo0bx/e+9z0++ugjVq5cyQMPPEBWVhb79+8nNzeXqVOnMm7cOG6++WZKS0sB2LRpE+PGjWPatGk88MADZGRkAPDCCy8wb948vvjFLzJr1iwqKyu55pprmDhxIpmZmbz++uuA5yxl1KhRfPOb3yQjI4Ovf/3rvPvuu1x++eWkp6ezcePG895TdXU1ixYtIjMzkwkTJvD+++8DMGvWLIqKisjKymLdunXn1Fm4cCHf/e53ueqqq3jwwQfZuHEjl112GRMmTOCyyy7j888/B+CGG25g27ZtAEyYMIGf/exnADz88MP8/ve/P2efp0+fZs6cOYwfP56MjAz+/Oc/A57kOmnSJDIyMli8eHHjIHszZ87k/vvvZ8aMGYwePZpNmzbx5S9/mfT0dH70ox+d8/+xYMECxo0bx1e/+tXGSXy8/f3vf2fatGlMnDiRefPmNXb4a/qz7DBVveADmAa87bX8EPBQkzL/Dcz3Wv4cSG1SJg7YAkxxln8CfK+143s/Lr30UjWmq9XV1+mXVnxJ57w2R2vqa1Tz1qrmrdVd27aoVpc3Pj7afei8x7pdB/RPmzfpG9t2etbtK/H50Zr8/Hx1uVz66aefqqrqvHnz9A9/+IOqqi5YsED/8pe/6IkTJ3TkyJHqdrtVVbW0tPSc7Q0yMzN1zZo1qqr68MMP63e+8x1VVR07dqx++OGHqqr64IMP6tixY1VV9fnnn9eBAwfqiRMnVFW1trZWy8rKVFW1uLhYR4wYoW63uzHGbdu2aX19vU6cOFEXLVqkbrdbV6xYoXPnzj3vfT366KO6cOFCVVXdvXu3Dh48WM+cOaP5+fmNx29qwYIFOmfOHK2rq1NV1bKyMq2trVVV1XfeeUe//OUvq6rqr371K33iiSe0rKxMs7OzddasWaqqOnPmTP3ss8/O2eerr76q3/zmNxuXT506para+J5VVW+77TZduXKlqqpeeeWV+v3vf19VVX/7299qamqqHj16VKurq3XgwIFaUlKi+fn5Cuj69etVVXXRokX661//urH+pk2btLi4WKdPn66VlZWqqvrII4/oT3/60xZ/lk3t2rXrvHVAjjbzmepLE9BA4LDXcoGzzqcyIuISkVygCHhHVT/xKneP02T0nIgk+xCLMV3ujbw32HdqH/dOuJeoiKg21XVJBHGuGCrrqjtlMpZhw4Y1Dgd96aWXcuDAgXO2JyUlERMTwze/+U1ee+014uLizttHWVkZp06d4sorrwRgwYIFrF27llOnTlFRUcFll10GwK233npOveuuu47evT13OqkqP/jBDxg3bhzXXnstR44c4fjx440xZmZmEhERwdixY7nmmmsQETIzM8+LF2D9+vXcfvvtAIwaNYqhQ4eyZ8+eVv8v5s2bh8vlanxP8+bNIyMjg/vvv5+dO3cCnmGw165dy/r165kzZw6VlZVUVVVx4MABLrnkknP2l5mZybvvvsuDDz7IunXr6NmzJwDvv/8+U6ZMITMzk/fee69x3wA33XRTY92xY8eSmppKdHQ0w4cP5/Bhz0fk4MGDufzyywG47bbbWL9+/TnH3bBhA7t27eLyyy8nKyuL5cuXc/DgQZ9+lm3lSwJobvjApr/JLZZR1XpVzQIGAZNFJMPZ/iQwAk/TUCHwH80eXGSxiOSISE5xcbEP4RrjP2frz7IsdxkZfTKYNXRWu/aREBmLW92crj/beuE2io7+R3OUy+U6r/07MjKSjRs38pWvfIUVK1a0OGFMc1pLWPHx8Y2vX3rpJYqLi9m8eTO5ubn079+f6urq82KMiIhoXI6IiGi2vb69idI7nocffpirrrqKHTt28H//93+NsUyaNImcnBzWrVvHjBkzmDBhAs888wyXXnrpefsbOXIkmzdvJjMzk4ceeoif/exnVFdX8+1vf5tXX32V7du3c+eddzbu2/u9er/Ppu+16YisTZdVleuuu47c3Fxyc3PZtWsXzz77bId+li3xJQEUAIO9lgcBR9taRlVPAWuA2c7ycSc5uIFngMnNHVxVn1bVbFXNTklJ8SFcY/wgfx3kr+O1Db+m8HQh9116X7uHUo519SAqwkVl/Rk/B9m6yspKysrKuOGGG/jtb3/bOHdAYmIiFRWeYSp69uxJcnJyY7v6H/7wB6688kqSk5NJTExkw4YNALz88sstHqesrIx+/foRFRXF+++/z8GDB9sd84wZM3jppZcA2LNnD4cOHTrv23lrysrKGDjQ01DxwgsvNK7v0aMHgwcP5pVXXmHq1KlMnz6dRx99lOnTp5+3j6NHjxIXF8dtt93G9773PbZs2dL4Yd+3b18qKysbr7O0xaFDh/j4448B+NOf/sQVV1xxzvapU6fy4YcfNk7vWVVVxZ49e1r8WXaEL7eBbgLSRWQYcAS4Bbi1SZmVeJpzXgamAGWqWigiKUCtqp4SkVjgWuDfAEQkVVULnfo3A+ffy2ZMgL1b/CkXx13ElNQprZadNqxXi9tKaiI4fvYUI3rFExMZ48cIL6yiooK5c+dSXe1pgnrssccAuOWWW7jzzjt5/PHHefXVV1m+fDlLliyhqqqK4cOH8/zzzwPw7LPPcueddxIfH8/MmTMbm0Ga+vrXv84Xv/hFsrOzycrKYtSoUe2O+dvf/jZLliwhMzOTyMhIXnjhhXO+Tfvi+9//PgsWLOA3v/kNV1997l1b06dPZ/Xq1cTFxTF9+nQKCgqaTQDbt2/ngQceICIigqioKJ588kl69erFnXfeSWZmJmlpaUyaNKnN72/06NEsX76cb33rW6Snp3PXXXedsz0lJYUXXniB+fPnc/as56zxF7/4BYmJic3+LDtCfDndcm7R/C3gAp5T1V+KyBIAVX1KPF+NnsDz7b4KWKSqOSIyDlju1IsAXlHVnzn7/AOe5h8FDgDf8koIzcrOztacnJx2vE1j2ih/HRV1Z5jx8QN8Y9C13D/sS+cV2V2ZwOiRF/u0uzp1s6eygOTY3qTGp/o52M5TWVlJQkICAI888giFhYX87ne/C3BUoetCfTf8Zffu3YwePfqcdSKyWVXP62DgU0cw9dyiuarJuqe8XitwdzP1tgETWtjn7b4c25hA2VD6GXXqZkbvjNYLtyJSIkiMiuNU9Sn6x/UnQkKjE/7f/vY3fvWrX1FXV8fQoUPPaU4xoc96AhvTgrUnd5AYGcv4pGF+2V/vqATKa6soP1tOr5heftlnZ/va177G1772tUCH0W2kpaV16rf/tgqNryHGdDG3ullfupPLk8cQKS6/7DPOFUMPVw9Kz5b6ZX/GdJQlAGOasbuygJKacqb3Huu3fQqQHJNMVW0V1XXVrZY3prNZAjCmGetO7kAQLk/2XwIA6BXdCxGhtNrOAkzgWQIwphnrTu4gI3EofXr4dwrHyIhIknokcersKdzq9uu+jWkrSwDGNHGy+iTbKw4yva13/xz8qPVH/jr6HNtFzOEczux9p7HDWbOPVhw4cKBxcLamfvzjH/Puu++2WNefo4F2pfnz5zNu3Ljz7oH3HvyuJWvWrOHGG2/szPA6JC0tjZKSki49pt0FZEwTHx75EEWZ4cf2f2/RkTG4IiKoqikn3ntDVMfHdmnQMMplS1asWMGNN97ol/kA6urqiIzs/I+ShuGgO9LL2JzLzgCMaWJtwVr6RCUxOmFw64XbIQIhNjKOqvqzuDs4PpwNB32+hx9+mIULF+J2u3nrrbcYNWoUV1xxBa+99lpjmdOnT/PP//zPTJo0iQkTJjTG662wsJAZM2aQlZVFRkZG4zHvuususrOzGTt2LP/6r//aWD4tLY0f/OAHTJs2jezsbLZs2cIXvvAFRowYwVNPebpNrVmzhhkzZnDzzTczZswYlixZgtt9flPgH//4RyZPnkxWVhbf+ta3qK+vp76+noULF5KRkUFmZqZfegL7PBRzMDxsOGjT2Wrra3Xa/0zTH775zcZhn1t6NB0OWj9/q/WHU/f0nrc079MX9fSuledta3y0woaD/oeG9/PAAw/o4sWL1e1265kzZ3TQoEG6Z88edbvdOm/ePJ0zZ46qqj700EON/1elpaWanp7eOPyydxy/+MUvVFW1rq5Oy8vLVfUfw0HX1dXplVdeqVu3blVV1aFDh+p//dd/qarqfffdp5mZmVpeXq5FRUWakpKiqqrvv/++RkdH6/79+7Wurk6vvfbaxp/D0KFDtbi4WHft2qU33nij1tTUqKrqXXfdpcuXL9ecnBy99tprG+PrquGgjQkbW4u3UlFT4ZfevxcSExmLS4TT9R27HdSGg/6Hn//855w6dYr//u//RkT47LPPGDZsGOnp6YgIt912W2PZv//97zzyyCNkZWUxc+ZMqqurOXTo0Dn7mzRpEs8//zw/+clP2L59O4mJnhsCXnnlFSZOnMiECRPYuXPnOddSvIeDnjJlComJiaSkpBATE8OpU6cAmDx5MsOHD8flcjF//vzzhoNevXo1mzdvZtKkSWRlZbF69Wry8vIYPnw4eXl53Hvvvbz11lskJSW1+n/SGrsGYIyXdQXriJRIpiWPbr1wB0QgxLqiG5uBIto30Oh5w0E3NAE1aBhCePXq1bz88ss88cQTvPfeez7tW9s5HHRUVBRpaWldPhz0pEmT2Lx5MydPnmxMTC2N4Kqq/PWvf73gKKMzZsxg7dq1/O1vf+P222/ngQceaBw9dNOmTSQnJ7Nw4cJOGQ56wYIF/OpXvzovpq1bt/L222+zbNkyXnnlFZ577rkL/Ze0ys4AjPGy9shaJvSfQGJkbOccoLaq8RHvisGtSrXb94ni2yqchoOePXs2S5cuZc6cOVRUVDBq1Cjy8/PZv38/4Bl6ucEXvvAF/vM//7Mx2Xz66afn7e/gwYP069ePO++8kzvuuIMtW7ZQXl5OfHw8PXv25Pjx47z55pttfn8bN24kPz8ft9vNn//85/OGg77mmmt49dVXKSoqAuDkyZMcPHiQkpIS3G43X/nKV/j5z3/Oli1b2nzspuwMwBjHsdPH2Fu6l+9e+t327WDoZW0qHqNK9ekjlEbGEhfTB6L92+cAwm846Hnz5lFRUcFNN93EqlWrePrpp5kzZw59+/bliiuuaByH5+GHH+a+++5j3LhxqCppaWm88cYb5+xrzZo1/PrXvyYqKoqEhARefPFFhg0bxoQJExg7dizDhw9vnNmrLaZNm8bSpUvZvn174wVhb2PGjOEXv/gFs2bNwu12ExUVxbJly4iNjWXRokWNF42bO0NoK5+Ggw4WNhy06UyvfP4KP9/wc1bMXcGI0qZzHp2vLcNBt+RI9QnK685wSfxAImI63qbrbzYctH+tWbOGRx999Lxk409tGQ7amoCMcaw7so6L4i9ieM/hXXbMpMg43OqmqhOmi/SHv/3tb+fcBvmjH/0o0CEZP7ImIGPwjP655fgWrh16bbunfmyPeFcMESKU1VWR0GVH9Z0NB+1fM2fOZObMmYEOo5GdARgD5JflU15TTlZKVpvqdbQJNUKExMg4KuqqbGwg02Ft/X20BGAMkFuUC0BWTb1P4/AAxES4OVFa1uEkkBQZS726qaqt6tB+THhTVU6cOEFMjO9zTvvUBCQis4Hf4Znb9/eq+kiT7eJsvwHPnMALVXWLiMQAa4Fo51ivquq/OnV6A38G0vDMCfxPqmpj5JqAyC3OpVdkPGmx/XyuMyimioKTRRR3cAAvVTh+tpTyqHJ6Rffq0L5MeIuJiWHQoEE+l281AYiIC1gGXAcUAJtEZKWqeg8leD2Q7jymAE86z2eBq1W1UkSigPUi8qaqbgCWAqtV9RERWeosP+hz5Mb4UW5RLllJw9vU/h8VAcPi/POt/YWCP/BJRR6r560mMsIuzZmu4UsT0GRgn6rmqWoN8DIwt0mZucCLzrATG4BeIpLqLFc6ZaKch3rVWe68Xg58qQPvw5h2K60u5UD5AbJ6jghYDLNSJnCy+iRbjne8c48xvvIlAQwEDnstFzjrfCojIi4RyQWKgHdU9ROnTH9VLQRwnn0/9zbGjxrb/5O67vbPpi5LHk2ERLDp+KaAxWDCjy/nms2dEze96tViGVWtB7JEpBfwvyKSoao7fA1QRBYDiwGGDBniazVjWudc7M3Nf4NIcTE2IXC/X3GuGEYmj2Rr0daAxWDCjy9nAAWA98Dog4Cm3SRbLaOqp4A1wGxn1XERSQVwnouaO7iqPq2q2aqanZKS4kO4xrRNbtl+xiQMJsbVI6BxjI9OYVvRp9TnfRDQOEz48CUBbALSRWSYiPQAbgFWNimzEviGeEwFylS1UERSnG/+iEgscC3wmVedBc7rBcD5MzIY08lq3XXsqDhIVlLg2v8bjE8azun6avZXFQY6FBMmWm0CUtU6EbkHeBvPbaDPqepOEVnibH8KWIXnFtB9eG4DXeRUTwWWO3cSRQCvqGrDIBiPAK+IyB3AIWCe/96WMb7ZXXmYGq0LaPt/g4YYtpbnMzLAsZjw4NP9Zqq6Cs+HvPe6p7xeK3B3M/W2ARNa2OcJ4Jq2BGuMv31angcE9gJwg0ExfekdlUBueZ59GzJdwnoCm7C2tTyPgTF9SIlufpjjriQijEsazjYnKRnT2SwBmLClqnxavj8ovv03GJ84jANniiittk7xpvNZAjBh60j1CUpqypkQBBeAGzQko23F2wIciQkHlgBM2Pq03DNVYDCdAYxNHEqkRLC12PoDmM5nCcCEra3lecS7Yrg4/qJAh9Io1tWDkfGDLAGYLmEJwISt3PJ8xiWm4ZLg+jMYnzSM7SXbqXPXBToU080F12++MV2ksqaSvaePBFXzT4OspOGcqTvD3tK9gQ7FdHOWAExY2layDTca0BFAWzK+oUOYNQOZTmYJwISl3KJcIhDGJaYFOpTzXBTdm76xfS0BmE5nCcCEpdyiXNLjB5IQGRvoUM4jImSlZDUOU21MZ7EEYMJOvbuebSXbyEoaFuhQWjTelUhBZQEnPl/l8xzFxrSVJQATdvLK8jhde7qxrT0YNV4HsGEhTCeyBGDCzvaS7QBkBmH7f4MxiUOIFBe5lgBMJ7IEYMLO9pLtJPZIZEhs8E4wFB0RxZiEwWwtzw90KKYbswRgws6Okh1k9MkgIsg6gDU1Lmk4OysPUuuuD3QoppsK7r8AY/ysoYNVZkpmoENp1fikYZx11/L56cOBDsV0U5YATFjZfWI39VpPZt/gTwBZiZ67lKwZyHQWSwAmfOSvY/sez3TWGVWnAxxM6wbE9KZfj15sKz8Q6FBMN+VTAhCR2SLyuYjsE5GlzWwXEXnc2b5NRCY66weLyPsisltEdorId7zq/EREjohIrvO4wX9vy5jmba/I9/S07ZEU6FB8cknCQPZWHQl0GKabajUBOBO6LwOuB8YA80VkTJNi1wPpzmMx8KSzvg74F1UdDUwF7m5S9zFVzXIe58w5bExn2FF+kIwgvv2zqfT4geRXHafWXRvoUEw35MsZwGRgn6rmqWoN8DIwt0mZucCL6rEB6CUiqapaqKpbAFS1AtgNDPRj/Mb47ERNBUfOniAzcWigQ/FZetxF1Gk9B8oOBDoU0w35kgAGAt63IRRw/od4q2VEJA2YAHzitfoep8noORFJbu7gIrJYRHJEJKe4uNiHcI1p3s6KAwBkBvEQEE2lO5PV2NDQpjP4kgCkmXXaljIikgD8FbhPVcud1U8CI4AsoBD4j+YOrqpPq2q2qmanpARvxx0T/LZVHCACYXTC4ECH4rPhcQOIlAj2lO4JdCimG/IlARQA3n8xg4CjvpYRkSg8H/4vqeprDQVU9biq1quqG3gGT1OTMZ1mR8VBLo6/iDhXdKBD8VlURCRpsQPYe8rOAIz/+ZIANgHpIjJMRHoAtwArm5RZCXzDuRtoKlCmqoUiIsCzwG5V/Y13BRFJ9Vq8GdjR7ndhTCtUle0VB4J6/J+WpMdfZE1AplNEtlZAVetE5B7gbcAFPKeqO0VkibP9KWAVcAOwD6gCFjnVLwduB7aLSK6z7gfOHT//LiJZeJqKDgDf8tN7MuY8hyoOUV5XFZIJYGT8RbxZnENFTQWJPRIDHY7pRlpNAADOB/aqJuue8nqtwN3N1FtP89cHUNXb2xSpMR3QMAJoRgjdAdQgPd5zP8W+U/uY0G9CgKMx3Yn1BDZhYUfJDmIjornYuasmlNidQKazWAIwYWF78XbGJA7GFeQjgDYnNbo3CVEJdieQ8bvQ+2swpo1q62vZfXJ3SLb/g2eO4PTkdDsDMH5nCcB0e3tK91Drrg3ZBACQ3suTADyX24zxD0sAptvbVrINCO4pIFuTnpxORW0Fx6uOBzoU041YAjDd3o6SHfSJ6cOA6GZHGwkJ6cnpAHYdwPiVJQDT7W0v2U5m30w8/RJD08W9LgbsTiDjX5YATLdWXlNOfll+SEwBeSE9o3vSP66/DQlh/MoSgOnWdpR4RhjJ6JsR4Eg6zu4EMv5mCcB0a1uObyFCIhjXd1ygQ+mwkckjySvLs8lhjN9YAjDd2qZjmxjTewwJPRICHUqHpSenU+eu42DZwUCHYroJSwCm2zpTd4ZtJduYlDop0KH4RXovz51Adh3A+IslANNtbS3eSp27jkn9u0ECyF/H8NKjnslh8lcHOhrTTVgCMN3WpmObcImr24yg6Zkcpj97Tx8JdCimm7AEYLqtnGM5jOnTPdr/G6THD2Tv6aYT8hnTPpYATLfU0P6fPSA70KH4VXr8RRw9e5LKmspAh2K6AUsApltqbP8nDvLXeR7dQMPcAPtO7QtwJKY7sARguqWNhRtxiYuJSSMCHYpfjXRmB7MxgYw/+JQARGS2iHwuIvtEZGkz20VEHne2bxORic76wSLyvojsFpGdIvIdrzq9ReQdEdnrPIfuSF0m6OQcz2Fsn7HER8YEOhS/So3uTYIrxnoEG79oNQGIiAtYBlwPjAHmi8iYJsWuB9Kdx2LgSWd9HfAvqjoamArc7VV3KbBaVdOB1c6yMR1WVVvF9pLt3a79HzyTw1wcf5H1BTB+4csZwGRgn6rmqWoN8DIwt0mZucCL6rEB6CUiqapaqKpbAFS1AtgNDPSqs9x5vRz4UsfeijEeje3/A7rB/f/NGBk/kD2le2xyGNNhviSAgcBhr+UC/vEh7nMZEUkDJgCfOKv6q2ohgPPcr7mDi8hiEckRkZzi4mIfwjXhrrvd/9/UqITBVNRUcKTS+gOYjvElATQ3iHrTrx4XLCMiCcBfgftUtdz38EBVn1bVbFXNTklJaUtVE6Ya2/+j4gMdSqcYkzAEgF0ndgU4EhPqfEkABcBgr+VBQNOeKC2WEZEoPB/+L6nqa15ljotIqlMmFShqW+jGnK9q37tsL95GduyAbnPrZ1Pp8alESiS7T+4OdCgmxPmSADYB6SIyTER6ALcAK5uUWQl8w7kbaCpQpqqF4pmC6Vlgt6r+ppk6C5zXC4DX2/0ujHHkludRp/VM7jky0KF0mh4RUVycfDG7T1gCMB3TagJQ1TrgHuBtPBdxX1HVnSKyRESWOMVWAXnAPuAZ4NvO+suB24GrRSTXedzgbHsEuE5E9gLXOcvGdEjOqT24iGBCz+GBDqVTjY5KZnfxVjRvbaBDMSEs0pdCqroKz4e897qnvF4rcHcz9dbT/PUBVPUEcE1bgjWmNZvK9jI2cShxru51/39ToxOH8L/HP+Z4zSkGBDoYE7KsJ7DpNqpqq9hRcYBJzrj53dnoBM8lt92Vh1spaUzLLAGYbiO3OJc6dTOpG7f/NxgZP5AIhN0VhwIdiglhlgBMt5FzLCcs2v8B4lzRDIsbYGcApkMsAZhu49OiTxmdOLjbt/83GJMwmF2VdgZg2s8SgOkW6tx17Dyxk/GJwwIdSpcZnTCEopoySs6UBDoUE6IsAZhuYU/pHs7UnWF8Uvdv/mnQeCHY+gOYdrIEYEJf/jq2fubpZD4+KXzOAEYlDAKwHsGm3SwBmG5ha3keKT16khrdO9ChdJmEyFiGxvazMwDTbpYATLewtTyf8UnD8Iw+Ej5GJwy2MwDTbpYATMg7UVNBQXVJWF0AbjA6YTBHKo9QdrYs0KGYEGQJwIS8reV5AGF1AbjBaGdoaDsLMO1hCcCEvK0V+USKizGJQwIdSpcb3XAh2K4DmHawBGBC3tbyPEYnDCY6IirQoXS5XlEJDEwYaJPDmHaxBGBCWq27lp0VB8Pq9s+mRvcebU1Apl0sAZiQtqd0D9Xu2rC8ANxgdJ/RHCw/SGVNZaBDMSHGEoAJaVuLtgLheQG4wejeowH47ORnAY7EhBpLACakbS3eSr8ePRkQnRzoUAJmdB9PArBmINNWlgBMSNtavJXxScPDrgOYt76xfelnPYJNO/iUAERktoh8LiL7RGRpM9tFRB53tm8TkYle254TkSIR2dGkzk9E5EgzcwUb45OSMyUcqTwS1heAG4zuYxeCTdu1mgBExAUsA64HxgDzRWRMk2LXA+nOYzHwpNe2F4DZLez+MVXNch6rWihjTLO2Fjvt/2F8AbjB6D6jySvL40zdmUCHYkKIL2cAk4F9qpqnqjXAy8DcJmXmAi+qxwagl4ikAqjqWuCkP4M2BjwJIDIiktFh2AGsqYw+GbjVzY6SHa0XNsbhSwIYCHjPO1fgrGtrmebc4zQZPScizV7FE5HFIpIjIjnFxcU+7NKEi61FWxnde3RYdgBramL/ibjExYbCDYEOxYQQXxJAc1fXtB1lmnoSGAFkAYXAfzRXSFWfVtVsVc1OSUlpZZcmXNS6a9l1YhfjU8YHOpTAy19H4pFcxiYM4ZMD7wQ6GhNCfEkABcBgr+VBwNF2lDmHqh5X1XpVdQPP4GlqMsYne07uobq+2hKAl6nJo9hRfpCKmopAh2JChC8JYBOQLiLDRKQHcAuwskmZlcA3nLuBpgJlqlp4oZ02XCNw3AxY46XxWW5xLoAlAC9Te11CPW5yjuUEOhQTIlpNAKpaB9wDvA3sBl5R1Z0iskREljjFVgF5wD483+a/3VBfRP4EfAxcIiIFInKHs+nfRWS7iGwDrgLu99ebMt3f1uKt9Ivtx4D4AYEOJWiMTxpGTESUXQcwPov0pZBzi+aqJuue8nqtwN0t1J3fwvrbfQ/TmHNtLdrK+H7jw7oDWFM9IqK4tGc6nxR+EuhQTIiwnsAm5BytPMrR00e5tP+lgQ4l6EztdQn7y/ZTVFUU6FBMCLAEYEJOznFPG3d2/+wARxJ8piSPArCzAOMTSwAm5OTsfYOkyDjSTx2D/HWBDieoXBI/kF7Rvew6gPGJJQATcnLK9jGx58VEiP36NhUhEUxJncKGwg14Ls0Z0zL7CzIh5fjp4xyuLia7Z3qgQwlaU1KnUFRVRH55fqBDMUHOEoAJKQ3t/5MsAbRoaupUADYctWYgc2GWAExIyTmeQ6IrlksSBgU6lKA1OHEwAxMG2oVg0ypLACak5BzLYULPEbis/f+CpqZOZdOxTdS56wIdigli9ldkQkbJmRIOlB+w9n8fTE2dSkVtBbtO7Ap0KCaIWQIwIaPx/n9LAK2anOoZW9GagcyFWAIwISPnWA5xkXGMThzceuEw1zumN5ckX2L9AcwF+TQWkDHBIOdYDhP6TSBSXIEOJbg5neOmxg/if46u5UzdGWIjYwMclAlGdgZgQsLJ6pPsL9tP9gAb/sFXU3uNotZdy6fHPw10KCZI2RmACQmbj28GnPF/Trc84cnOo+XNrh97UVKbjuev/QTSxJ4XExURxfqj67ls4GWBDscEIUsApkt9vP9Es+unjehzwXo5x3KIjYxlbN+xcLp7tGt3dpKJc0UzecBk1has5fuTvu+XfZruxZqATEjIOZ7D+JTxRNkE8G1yZdwgDpYfJH/nqzZwnjmPJQAT9Mr2vMXe0r1k90ixD7E2urJ3BgAfnNgW4EhMMPKpCUhEZgO/A1zA71X1kSbbxdl+A1AFLFTVLc6254AbgSJVzfCq0xv4M5AGHAD+SVVLO/h+TDe0uWwfipLdKzzu//dn09BFMX0YGT+QNSe3s3Dwde2Kp73Ndib4tXoGICIuYBlwPTAGmC8iY5oUux5Idx6LgSe9tr0AzG5m10uB1aqaDqx2lo05T07ZXqIjoshMHNrufew8Wt7sIxxc2TuT3LI8ympPBzoUE2R8aQKaDOxT1TxVrQFeBuY2KTMXeFE9NgC9RCQVQFXXAieb2e9cYLnzejnwpXbEb8JATtlexicOo4e1/7fLlX0yqcfN+lIbFsKcy5cmoIHAYa/lAmCKD2UGAoUX2G9/VS0EUNVCEennQywmzJTXlPNZZQF3Db0h0KGErMzEofSOSuSDE9uZE+hggky4N2/5kgCkmXVNpxrypUy7iMhiPM1KDBkyxB+7NC0Ixj+GtQVrUZRpyaMDFkOwa+2aQYREMKN3BqtLcql115KT33z5cPnQM//gSxNQAeA9+Mog4Gg7yjR1vKGZyHkuaq6Qqj6tqtmqmp2SkuJDuKY7eefAO/Tr0YtxiWmBDiWkzeyTSUX9GXKLcgMdigkivpwBbALSRWQYcAS4Bbi1SZmVwD0i8jKe5qGyhuadC1gJLAAecZ5fb0vg4SgYv6F3ptO1p1l/ZD3/lHq5zf/bQdOSRxElkaw5vIYreg8PdDgmSLSaAFS1TkTuAd7Gcxvoc6q6U0SWONufAlbhuQV0H57bQBc11BeRPwEzgb4iUgD8q6o+i+eD/xURuQM4BMzz5xszoaW55LaxeDU17hqu6zshABF1L3GuGCb3GskHBR9wRe9/DnQ4Jkj41A9AVVfh+ZD3XveU12sF7m6h7vwW1p8ArvE5UhN2tpR8QEpsCllJwf+NNRjHDmoa00hXOh+Wvs6xqkMMiLPracbGAuoS4dZ04w9n68+wvfQTvpJ+szX/+MnE+FE8X/I6205+3KkJoK2/7y2Vv1Ad4x+WAEy7dWZi2176CbXus8xKmwVnqju8P39pa+exYOpslhKVzKC4EWw7+RGzBn0t0OF0iH2p8g9LAN1YKP+RbCn5gMSoZCb2mwgHPzpvezB9sIaSzN7TeLvgfzhdV0F8ZGKgwzEBZufWJuicra9m+4kPmRI7ElczH/6m/cb3noYbNztO2lzBxs4AjA8u1Ebrj/JN7SrdxFmtYUpCZof2Y86XljiaxKhktp78kCn9rg10OCbALAF0Ax39wA02m0+sITEinjGxwwIdSrcTIRFk9bmCjUXvcLa+mmhXTKBDuqDu9rsdbCwBmKBS6z7L1pMfcXlCJi5xWVu/F3/8XyQd28DMiAGsc1ezN285Genfave+7MM59FkCMEFlZ2kOZ+vPMCUho/XC/jheGCaY0bHDSHYl8WFlLt7/y/aBHn4sAZigsqXkA+IjkxgbOyLQoXRbERLBtIRxvF32cZfeDWQJJvhYAvAj+wXvmFp3DbknP+TSvlcSKa5Ah9OtXZ6Yxaqy9XxaspYrBtgg0b4K5Vurm2MJoI3sQ77z7D6VQ3X9aSb2uRJq/DKauGnB8OiBDIjqw8bi1ZYAmhEuf+fWD8AEjXXH/kZiVC9G95oY6FC6PRHhsoTxfF6WS1lNeHzYmfPZGUAYCsZvNyfPFrHt5Md8YdAtRNrUj13i8sQsXit9j5ySNVxz0VcCHY4JAEsAAdTd2hM7YuO+pwDlBtcgko5tCHQ4YWFgj34Mih/BpuLV3SYB2N9U21gTkAm4Oncd75dvIituJP2iegc6nLAyOeUa8ip2UVLd2vxNpjuyBGACbuvJ9ZTWV3Bdz2mBDiXsXKXJAGzLeyGwgZiAsARgAm5N4ev0jexFVtzIQIcSdlKikrkkZigfVuYGOhQTAJYATEAVVh3k87JPuTZpik38EiCXJWRxuOY4R07nBToU08V8+osTkdki8rmI7BORpc1sFxF53Nm+TUQmtlZXRH4iIkdEJNd53OCft2RCydpjK3FJJFclTQp0KGFrakImEUSwsfi9QIdiulirCUBEXMAy4HpgDDBfRMY0KXY9kO48FgNP+lj3MVXNch6rMGHlbH01Hx9/m4l9ZtAzMiHQ4YStnpEJZMR67gZya32gwzFdyJczgMnAPlXNU9Ua4GVgbpMyc4EX1WMD0EtEUn2sa8LUpuL3qKqv5MpU+5UItKt7TqLkbCE5JWsCHYrpQr4kgIHAYa/lAmedL2Vaq3uP02T0nIgk+xy16RY+OPY6F8WlkZ40LtChhL3J8RlcFDeM/zv0gp0FhBFfEoA0s67pQC0tlblQ3SeBEUAWUAj8R7MHF1ksIjkiklNcXOxDuCYUHKj4jIOVnzMrbhw9j9v0hIEWIRF8cchCjp85zMbi1YEOx3QRXxJAATDYa3kQcNTHMi3WVdXjqlqvqm7gGTzNRedR1adVNVtVs1NSUnwI14SC1Uf/SrREMSPRxv0JFhP6TGdQ/AjeOLSceq0LdDimC/iSADYB6SIyTER6ALcAK5uUWQl8w7kbaCpQpqqFF6rrXCNocDOwo4PvxYSIQ5V72Vj8Ltf1nEZckE9JGE4iJIKbhiyiqPoInxS9G+hwQsrH+080+wh2rY4FpKp1InIP8DbgAp5T1Z0issTZ/hSwCrgB2AdUAYsuVNfZ9b+LSBaeJqEDQPvnpjMhQ1V5JX8Z8ZFJ3Jx8VaDDMU2M7305Q+JH8sbhF5mcci2RETZcWHfm00/XuUVzVZN1T3m9VuBuX+s6629vU6SmW8g9uZ49ZbncOuI+4iU20OGYJkSEm4Yu4oldD7Gh6G2bK6Cbs66XpsvUuWv5a/5TpMYOZfqAGwMdjmlBZvJU0hJGs+rAM8QVrrfRWbsxSwCmy3y857cUVR/hG72uJvl4TqDDMS3wnAUspKTuFGvKNwc6HNOJrIEvCIXCxaO2qqwt47WTqxkfN5IJ8ZcEOhzTDO9v+tNUeTNmCK+VvseVSZcGMCr/6I5/U/5gZwCmS7xxaDlV7rPc1seGfAoFIsI/9Z7FyTpP4jbdkyUA0+kKqw6ypnAF1yRNZnD0gECHY3yUGXcxVyZeyorSNewvt7u0uyNLAKZTqSp/yX+SHq5Y5vW+LtDhmDZakPJF+kb24tk9/4/quqpAh2P8zBKA6VRvFrzEjtIN3DRkoY34GYLiImK4u//XOFF9jD/nPxHocIyfWQIwnWb3vmdYcfD3XJ6Qxc0RgwIdjmmnUbFpzB40nw+Pr+LTE+sCHY7xI0sAplMcrPycZcdfIT16CN/q9xVEmhsX0ISKLw5ZyJD4kfxh76OU1dgdNd2FJQDjd6fOlrBs1w9JcsXzL6m30yMiKtAhmQ6KjIjijkt+yFn3GZbv/Xc8nf9NqLMEYPzqbH01y3b/gDP1p3kgdQG9IhMDHZLxk9S4oXwlbQk7Sj9h1a6fklD4EUnHNlhP4RBmHcFaYB1H2q5e63h+z684VLmXb4/+JUNr7ftFd3NV6s0cPr2P14+vYl/1Ye7tf4sl+RBmCcD4RV7FLl7a9xiHT+/lq2lLGN/nMrBvht2OiPCNix8gU+N4rvh1Hjz8O+7p/zWGMjXQoQWllr5IThvRp4sjaZ4lANMhp2vLee3gM6w/9gY9e/Rh8aifkN13ZqDDMn7WtJlnZlI2I6IH87vjL/H/jj7HDa4abhyyAJfYR0oosZ+WaRdV5eOit/jr/ic47T7DDb2u4Ku9r6W275WBDs10kcHR/fnloHt4vnglfzv8B3aUbuSLQxaSmTzV7voKEZYATJvUus/ySdG7vHv0LxytOsDImKHckfIlhkZ7JniLtWafsBId0YMl/b/KxRddz/8eeIYndj1EWvRFfDn5arLjxxAhEZQPsOahYBX2CcAu9vqmvKaUNYUr+ODY61TUniKtRyr39P8alyWMJ0LsYm+4m5xyDRP7XMnG4nd468Cz/ObYHxnUoz83J1/FmP7Z1jQUpOynYppV567l0Om97C/fyf7y7Ww7+TF1Wsu45GnMjc1gTOxwO803jRquEcwmmeuG3M/Hldv535Pv8Z/HX6b3qfe5OvXLXDFgDnE2HEhQ8SkBiMhs4Hd45vX9vao+0mS7ONtvwDMn8EJV3XKhuiLSG/gzkIZnTuB/UtXSjr8l0x4JhR+xp/oQW07vZqf7BAcrPqdOawHoE92fKwbM4erULzMgbojd920uyCUurkjM4rKEcWw5vZuVVdt49cCT/N/hF7ii/w1cfdFXSIm5KNBhGkBa69EnIi5gD3AdUABsAuar6i6vMjcA9+JJAFOA36nqlAvVFZF/B06q6iMishRIVtUHLxRLdna25uS0byYpa+o5X3V9FbtKc9h68kN2lKyjwl2FCxcjYgaRHjOEkTFDSI8ZSu/IpECHakJY+YCpHKzcw7tH/sKmkvdQddMvdhBD4tMZkjCSwQkXMyQ+nYSonoEONeA66/ZQEdmsqtlN1/tyBjAZ2Keqec6OXgbmAru8yswFXnQmh98gIr1EJBXPt/uW6s4FZjr1lwNrgAsmANM2qkq91lOvdVTWnuJIVT5Hq/I5cjqPI1X5FFYdpF7riItMZGL8JWTHj2Zc3EjiImICHbrpRpKObSATyOx5DSfjs/mgfAt5Zw+Tf2oLm0re+0e5qGT6xqTSN+YiUpznXj360CMihh6uaM9zRDRRET1wqxs3btxaT73W49Z6IiSCCHERgQuXuIgQz7NLInFFROKSyKC/XnWhL6qdkRx8SQADgcNeywV4vuW3VmZgK3X7q2ohgKoWiki/NsQdUvIqdvHYjn/x/46bOXtTwO38QbhxN1stObofA+OGkZE8hbHJk7k4KcPm6DVdondkT27ufVXjckX9aQ6cPcqBs0cprC3heO1J8ks3k1NX1uLvb0cIEbjE5XktAojzD+iia1pTU2bx9Yvv75JjtcaXBNDc/0rTT56WyvhS98IHF1kMLHYWK0Xk87bUv4C+QImf9tXVLPauF6pxQ+jGHqpxwwVi38wmlvHLLg6Hoc2t9CUBFACDvZYHAUd9LNPjAnWPi0iq8+0/FShq7uCq+jTwtA9xtomI5DTXJhYKLPauF6pxQ+jGHqpxQ+jE7kuD2CYgXUSGiUgP4BZgZZMyK4FviMdUoMxp3rlQ3ZXAAuf1AuD1Dr4XY4wxbdDqGYCq1onIPcDbeG7lfE5Vd4rIEmf7U8AqPHcA7cNzG+iiC9V1dv0I8IqI3AEcAub59Z0ZY4y5IJ/6AajqKjwf8t7rnvJ6rcDdvtZ11p8ArmlLsH7m92alLmSxd71QjRtCN/ZQjRtCJPZW+wEYY4zpnoL7plhjjDGdJiwTgIjcKyKfi8hOp0dyw/qHRGSfs+0LgYzxQkTkeyKiItLXa13Qxi4ivxaRz0Rkm4j8r4j08toWtHE3EJHZTnz7nF7rQUlEBovI+yKy2/nd/o6zvreIvCMie53n5EDH2hIRcYnIpyLyhrMc9LE7HV9fdX7Hd4vItFCIG8IwAYjIVXh6IY9T1bHAo876MXjuUhoLzAb+yxnKIqiIyGA8Q2sc8loX7LG/A2So6jg8Q4M8BCERd8NQKMuA64ExwHwn7mBUB/yLqo4GpgJ3O7EuBVarajqw2lkOVt8Bdnsth0LsvwPeUtVRwHg88YdC3OGXAIC7gEdU9SyAqjb0P5gLvKyqZ1U1H88dTZMDFOOFPAZ8n3M71AV17Kr6d1WtcxY34OkPAkEet6NxKBRVrQEahjMJOqpa2DAIo6pW4PkgGogn3uVOseXAlwISYCtEZBAwB/i91+qgjl1EkoAZwLMAqlqjqqcI8rgbhGMCGAlMF5FPROQDEZnkrG9pOIugISI3AUdUdWuTTUEfu5d/Bt50XodC3KEQ43lEJA2YAHxCk2FXgGAdduW3eL7ceI8BEeyxDweKgeedpqvfi0g8wR830E3nAxCRd4EBzWz6IZ73nIznFHkSnr4Iw/HDsBX+0ErsPwBmNVetmXVdGvuF4lbV150yP8TTTPFSQ7VmygfbbWmhEOM5RCQB+Ctwn6qWh8K8DSJyI1CkqptFZGaAw2mLSGAicK+qfiIivyNIm3ua0y0TgKpe29I2EbkLeM3pu7BRRNx4xu3wZciLTtdS7CKSCQwDtjp/0IOALSIymSCI/UL/5wAisgC4EbhG/3HvccDj9kEoxNhIRKLwfPi/pKqvOat9GnYlwC4HbhLP0PIxQJKI/JHgj70AKFDVT5zlV/EkgGCPGwjPJqAVwNUAIjISz3hFJXiGprhFRKJFZBiQDmwMVJBNqep2Ve2nqmmqmobnF2+iqh4jyGMXz6RADwI3qWqV16agjtvhy1AoQUE83wyeBXar6m+8NgX9sCuq+pCqDnJ+t28B3lPV2wjy2J2/v8Micomz6ho8w90HddwNuuUZQCueA54TkR1ADbDA+Ua6U0RewfPDqwPuVtX6AMbpM2dojmCO/QkgGnjHOXvZoKpLQiDu1oYzCTaXA7cD20Uk11n3A0J72JVQiP1e4CXnC0IenqFwIgj+uK0nsDHGhKtwbAIyxhiDJQBjjAlblgCMMSZMWQIwxpgwZQnAGGPClCUAE5ZEpLI920VkiYh8o3Oi6rpjGAN2G6gJUyJSqaoJ7d1uTHdgZwAmrIlIqoisFZFcEdkhItO9tv1SRLaKyAYR6e+s+4mIfM95PUk8cxx8LJ45D3Y469NEZJ2IbHEelznrZzoDEL4iIntE5BER+bqIbBSR7SIyoukxjOlMlgBMuLsVeFtVs/CM5Z7rrI/H02N5PLAWuLOZus8DS1R1GuDdg7kIuE5VJwJfAx732jYez5j3mXh67Y5U1cl4hkC+10/vyRifWAIw4W4TsEhEfgJkOuPog2eYkDec15uBNO9K4pnVLFFVP3JW/Y/X5ijgGRHZDvwFz0Qyjcdzxu0/C+wH/u6s3970GMZ0NksAJqyp6lo8E3ocAf7gdfG11mvU0nrOHzfrQmMs3w8cx/NtPxvPgIMNznq9dnstu5s5hjGdyhKACWsiMhTPOPTP4BlJc6Iv9VS1FKgQkanOqlu8NvcEClXVjaeZJ6imuTSmgX3jMOFuJvCAiNQClUBbbr+8A09Tz2lgDVDmrP8v4K8iMg94Hzjtt2iN8SO7DdSYdhKRBFWtdF4vBVJV9TsBDssYn9kZgDHtN0dEHsLzd3QQWBjYcIxpGzsDMMaYMGUXgY0xJkxZAjDGmDBlCcAYY8KUJQBjjAlTlgCMMSZMWQIwxpgw9f8BpgzkhLm5/4YAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot the distribution function\n", "\n", "results_df = R[O[-1]]['results_df']\n", "results = R[O[-1]]['results']\n", "Ishigami_dist = results.raw_data['output_distributions']['Ishigami']\n", "\n", "plt.figure()\n", "plt.hist(results_df.Ishigami[0], density=True, bins=50, label='histogram of raw samples', alpha=0.25)\n", "if hasattr(Ishigami_dist, 'samples'):\n", " plt.hist(Ishigami_dist.samples[0], density=True, bins=50, label='histogram of kde samples', alpha=0.25)\n", "t1 = Ishigami_dist[0]\n", "plt.plot(np.linspace(t1.lower, t1.upper), t1.pdf(np.linspace(t1.lower, t1.upper)), label='PDF')\n", "plt.legend(loc=0)\n", "plt.xlabel('Ishigami')\n", "plt.savefig('Ishigami_distribution_function.png')" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "ExecuteTime": { "end_time": "2021-12-10T18:01:30.914454Z", "start_time": "2021-12-10T18:01:30.761815Z" } }, "outputs": [ { "data": { "text/plain": [ "0 -52.525277\n", "1 -40.006931\n", "2 -29.296497\n", "3 -19.405615\n", "4 -9.933955\n", " ... \n", "14636 9.999347\n", "14637 19.471007\n", "14638 29.361888\n", "14639 40.072323\n", "14640 52.590669\n", "Name: 0, Length: 14641, dtype: float64" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results_df.Ishigami[0]" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "ExecuteTime": { "end_time": "2021-12-10T08:47:03.625057Z", "start_time": "2021-12-10T08:47:02.949261Z" }, "code_folding": [ 0 ] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot the RMS surrogate error at the PCE sample points\n", "_o = []\n", "_RMS = []\n", "for r in R.values():\n", " results_df = r['results_df']\n", " results = r['results']\n", " Ishigami_surrogate = np.squeeze(np.array(results.surrogate()(results_df[results.inputs])['Ishigami']))\n", " Ishigami_samples = np.squeeze(np.array(results_df['Ishigami']))\n", " _RMS.append((np.sqrt((((Ishigami_surrogate - Ishigami_samples))**2).mean())))\n", " _o.append(r['order'])\n", "\n", "plt.figure()\n", "plt.semilogy(_o, _RMS, 'o-')\n", "plt.xlabel('PCE order')\n", "plt.ylabel('RMS error for the PCE surrogate')\n", "plt.legend(loc=0)\n", "plt.savefig('Convergence_surrogate.png')\n", "plt.savefig('Convergence_surrogate.pdf')" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "ExecuteTime": { "end_time": "2021-12-10T08:47:04.695307Z", "start_time": "2021-12-10T08:47:03.625838Z" }, "code_folding": [ 0 ] }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|████████████████████████████████████████████| 1000/1000 [00:00<00:00, 5315.98it/s]\n" ] } ], "source": [ "# prepare the test data\n", "test_campaign = uq.Campaign(name='Ishigami.') \n", "test_campaign.add_app(name=\"Ishigami\", params=define_params(), \n", " actions=uq.actions.Actions(uq.actions.ExecutePython(run_ishigami_model)))\n", "test_campaign.set_sampler(uq.sampling.quasirandom.LHCSampler(vary=define_vary(), count=100))\n", "test_campaign.execute(nsamples=1000, sequential=True).collate(progress_bar=True)\n", "test_df = test_campaign.get_collation_result()" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "ExecuteTime": { "end_time": "2021-12-10T08:47:04.774788Z", "start_time": "2021-12-10T08:47:04.696114Z" }, "code_folding": [ 0 ] }, "outputs": [], "source": [ "# calculate the PCE surrogates\n", "test_points = test_df[test_campaign.get_active_sampler().vary.get_keys()]\n", "test_results = np.squeeze(test_df['Ishigami'].values)\n", "test_predictions = {}\n", "for i in list(R.keys()):\n", " test_predictions[i] = np.squeeze(np.array(R[i]['results'].surrogate()(test_points)['Ishigami']))" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "ExecuteTime": { "end_time": "2021-12-10T08:47:05.019483Z", "start_time": "2021-12-10T08:47:04.775561Z" }, "code_folding": [ 0 ] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot the convergence of the surrogate\n", "_o = []\n", "_RMS = []\n", "for r in R.values():\n", " _RMS.append((np.sqrt((((test_predictions[r['order']] - test_results))**2).mean())))\n", " _o.append(r['order'])\n", "\n", "plt.figure()\n", "plt.semilogy(_o, _RMS, 'o-')\n", "plt.xlabel('PCE order')\n", "plt.ylabel('RMS error for the PCE surrogate')\n", "plt.legend(loc=0)\n", "plt.savefig('Convergence_PCE_surrogate.png')\n", "plt.savefig('Convergence_PCE_surrogate.pdf')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "jupytext": { "cell_metadata_filter": "-all", "executable": " /usr/bin/env python", "main_language": "python", "notebook_metadata_filter": "-all" }, "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.9.1" }, "latex_envs": { "LaTeX_envs_menu_present": true, "autoclose": false, "autocomplete": true, "bibliofile": "biblio.bib", "cite_by": "apalike", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 1, "hotkeys": { "equation": "Ctrl-E", "itemize": "Ctrl-I" }, "labels_anchors": false, "latex_user_defs": false, "report_style_numbering": false, "user_envs_cfg": false } }, "nbformat": 4, "nbformat_minor": 4 }