{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# CS109A Introduction to Data Science \n",
"\n",
"## Lecture 35 (Interpreting Machine Learning Models)\n",
"\n",
"**Harvard University** \n",
"**Fall 2020** \n",
"**Instructors:** Pavlos Protopapas, Kevin Rader, and Chris Tanner \n",
"\n",
"\n",
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Title\n",
"\n",
"**Exercise**\n",
"\n",
"# Description\n",
"\n",
"For this exercise you will be working on a notebook in Ed to interpret various machine learning (ML) models: mostly a random forest and neural net model. The steps of this notebook are:\n",
"\n",
"1. Read and wrangle the data (the `Heart.csv` data we have used before\n",
"2. Fit 5 different ML models\n",
"3. Calculate the default variable importance measures for the tree-based models\n",
"4. Use `eli5` to calculate permutation importance measures.\n",
"5. Interpret the models based on the plots of predictions (how does Age relate to AHD): both at the means of the other variables and for every observation in the training data set.\n",
"6. Use `lime` to better understand how variables are related to the response for specific predictors.\n",
"\n",
"# Hints:\n",
"\n",
"eli5.permutation_importance : To get permutation importance metrics \n",
"\n",
"lime.lime_tabular : To get LIME explanations for a tabular data set like ours\n",
"\n",
"Note: This exercise is **auto-graded and you can try multiple attempts.**"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2.2.0\n"
]
}
],
"source": [
"import pandas as pd\n",
"import sys\n",
"import numpy as np\n",
"import scipy as sp\n",
"import sklearn as sk\n",
"import matplotlib.pyplot as plt\n",
"\n",
"#from sklearn.linear_model import LogisticRegression\n",
"#from sklearn.decomposition import PCA\n",
"from sklearn import tree\n",
"from sklearn import ensemble\n",
"\n",
"# Here are the decision trees\n",
"from sklearn.tree import DecisionTreeClassifier\n",
"from sklearn.ensemble import RandomForestClassifier\n",
"from sklearn.ensemble import AdaBoostClassifier\n",
"\n",
"import tensorflow as tf\n",
"\n",
"print(tf.__version__) # You should see a 2.0.0 here!\n",
"\n",
"# sns.set(style=\"ticks\")\n",
"# %matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Part 1: Data Wrangling"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"heart_df = pd.read_csv('data/Heart.csv')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(303, 15)\n"
]
},
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" Unnamed: 0 \n",
" Age \n",
" Sex \n",
" ChestPain \n",
" RestBP \n",
" Chol \n",
" Fbs \n",
" RestECG \n",
" MaxHR \n",
" ExAng \n",
" Oldpeak \n",
" Slope \n",
" Ca \n",
" Thal \n",
" AHD \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 1 \n",
" 63 \n",
" 1 \n",
" typical \n",
" 145 \n",
" 233 \n",
" 1 \n",
" 2 \n",
" 150 \n",
" 0 \n",
" 2.3 \n",
" 3 \n",
" 0.0 \n",
" fixed \n",
" No \n",
" \n",
" \n",
" 1 \n",
" 2 \n",
" 67 \n",
" 1 \n",
" asymptomatic \n",
" 160 \n",
" 286 \n",
" 0 \n",
" 2 \n",
" 108 \n",
" 1 \n",
" 1.5 \n",
" 2 \n",
" 3.0 \n",
" normal \n",
" Yes \n",
" \n",
" \n",
" 2 \n",
" 3 \n",
" 67 \n",
" 1 \n",
" asymptomatic \n",
" 120 \n",
" 229 \n",
" 0 \n",
" 2 \n",
" 129 \n",
" 1 \n",
" 2.6 \n",
" 2 \n",
" 2.0 \n",
" reversable \n",
" Yes \n",
" \n",
" \n",
" 3 \n",
" 4 \n",
" 37 \n",
" 1 \n",
" nonanginal \n",
" 130 \n",
" 250 \n",
" 0 \n",
" 0 \n",
" 187 \n",
" 0 \n",
" 3.5 \n",
" 3 \n",
" 0.0 \n",
" normal \n",
" No \n",
" \n",
" \n",
" 4 \n",
" 5 \n",
" 41 \n",
" 0 \n",
" nontypical \n",
" 130 \n",
" 204 \n",
" 0 \n",
" 2 \n",
" 172 \n",
" 0 \n",
" 1.4 \n",
" 1 \n",
" 0.0 \n",
" normal \n",
" No \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Unnamed: 0 Age Sex ChestPain RestBP Chol Fbs RestECG MaxHR \\\n",
"0 1 63 1 typical 145 233 1 2 150 \n",
"1 2 67 1 asymptomatic 160 286 0 2 108 \n",
"2 3 67 1 asymptomatic 120 229 0 2 129 \n",
"3 4 37 1 nonanginal 130 250 0 0 187 \n",
"4 5 41 0 nontypical 130 204 0 2 172 \n",
"\n",
" ExAng Oldpeak Slope Ca Thal AHD \n",
"0 0 2.3 3 0.0 fixed No \n",
"1 1 1.5 2 3.0 normal Yes \n",
"2 1 2.6 2 2.0 reversable Yes \n",
"3 0 3.5 3 0.0 normal No \n",
"4 0 1.4 1 0.0 normal No "
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"print(heart_df.shape)\n",
"heart_df.head()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" Unnamed: 0 \n",
" Age \n",
" Sex \n",
" RestBP \n",
" Chol \n",
" Fbs \n",
" RestECG \n",
" MaxHR \n",
" ExAng \n",
" Oldpeak \n",
" Slope \n",
" Ca \n",
" \n",
" \n",
" \n",
" \n",
" count \n",
" 303.000000 \n",
" 303.000000 \n",
" 303.000000 \n",
" 303.000000 \n",
" 303.000000 \n",
" 303.000000 \n",
" 303.000000 \n",
" 303.000000 \n",
" 303.000000 \n",
" 303.000000 \n",
" 303.000000 \n",
" 299.000000 \n",
" \n",
" \n",
" mean \n",
" 152.000000 \n",
" 54.438944 \n",
" 0.679868 \n",
" 131.689769 \n",
" 246.693069 \n",
" 0.148515 \n",
" 0.990099 \n",
" 149.607261 \n",
" 0.326733 \n",
" 1.039604 \n",
" 1.600660 \n",
" 0.672241 \n",
" \n",
" \n",
" std \n",
" 87.612784 \n",
" 9.038662 \n",
" 0.467299 \n",
" 17.599748 \n",
" 51.776918 \n",
" 0.356198 \n",
" 0.994971 \n",
" 22.875003 \n",
" 0.469794 \n",
" 1.161075 \n",
" 0.616226 \n",
" 0.937438 \n",
" \n",
" \n",
" min \n",
" 1.000000 \n",
" 29.000000 \n",
" 0.000000 \n",
" 94.000000 \n",
" 126.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 71.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 1.000000 \n",
" 0.000000 \n",
" \n",
" \n",
" 25% \n",
" 76.500000 \n",
" 48.000000 \n",
" 0.000000 \n",
" 120.000000 \n",
" 211.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 133.500000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 1.000000 \n",
" 0.000000 \n",
" \n",
" \n",
" 50% \n",
" 152.000000 \n",
" 56.000000 \n",
" 1.000000 \n",
" 130.000000 \n",
" 241.000000 \n",
" 0.000000 \n",
" 1.000000 \n",
" 153.000000 \n",
" 0.000000 \n",
" 0.800000 \n",
" 2.000000 \n",
" 0.000000 \n",
" \n",
" \n",
" 75% \n",
" 227.500000 \n",
" 61.000000 \n",
" 1.000000 \n",
" 140.000000 \n",
" 275.000000 \n",
" 0.000000 \n",
" 2.000000 \n",
" 166.000000 \n",
" 1.000000 \n",
" 1.600000 \n",
" 2.000000 \n",
" 1.000000 \n",
" \n",
" \n",
" max \n",
" 303.000000 \n",
" 77.000000 \n",
" 1.000000 \n",
" 200.000000 \n",
" 564.000000 \n",
" 1.000000 \n",
" 2.000000 \n",
" 202.000000 \n",
" 1.000000 \n",
" 6.200000 \n",
" 3.000000 \n",
" 3.000000 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Unnamed: 0 Age Sex RestBP Chol Fbs \\\n",
"count 303.000000 303.000000 303.000000 303.000000 303.000000 303.000000 \n",
"mean 152.000000 54.438944 0.679868 131.689769 246.693069 0.148515 \n",
"std 87.612784 9.038662 0.467299 17.599748 51.776918 0.356198 \n",
"min 1.000000 29.000000 0.000000 94.000000 126.000000 0.000000 \n",
"25% 76.500000 48.000000 0.000000 120.000000 211.000000 0.000000 \n",
"50% 152.000000 56.000000 1.000000 130.000000 241.000000 0.000000 \n",
"75% 227.500000 61.000000 1.000000 140.000000 275.000000 0.000000 \n",
"max 303.000000 77.000000 1.000000 200.000000 564.000000 1.000000 \n",
"\n",
" RestECG MaxHR ExAng Oldpeak Slope Ca \n",
"count 303.000000 303.000000 303.000000 303.000000 303.000000 299.000000 \n",
"mean 0.990099 149.607261 0.326733 1.039604 1.600660 0.672241 \n",
"std 0.994971 22.875003 0.469794 1.161075 0.616226 0.937438 \n",
"min 0.000000 71.000000 0.000000 0.000000 1.000000 0.000000 \n",
"25% 0.000000 133.500000 0.000000 0.000000 1.000000 0.000000 \n",
"50% 1.000000 153.000000 0.000000 0.800000 2.000000 0.000000 \n",
"75% 2.000000 166.000000 1.000000 1.600000 2.000000 1.000000 \n",
"max 2.000000 202.000000 1.000000 6.200000 3.000000 3.000000 "
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"heart_df.describe()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"X = heart_df[['Age','Sex','ChestPain','RestBP','Chol','Fbs','RestECG','MaxHR','ExAng','Oldpeak','Slope','Ca','Thal']]\n",
"y = 1*(heart_df['AHD']=='Yes')"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"#X['ChestPain']=X['ChestPain'].astype('category')\n",
"#X['ChestPain']=X['ChestPain'].cat.codes\n",
"\n",
"#X['Thal']=X['Thal'].astype('category')\n",
"#X['Thal']=X['Thal'].cat.codes"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"X = X.assign(ChestPain=X['ChestPain'].astype('category').cat.codes)\n",
"X = X.assign(Thal=X['Thal'].astype('category').cat.codes)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"X.describe()\n",
"X['Ca']=X['Ca'].fillna(0)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.model_selection import train_test_split\n",
"itrain, itest = train_test_split(range(X.shape[0]), train_size=0.80)\n",
"\n",
"X_train = X.iloc[itrain, :]\n",
"X_test = X.iloc[itest, :]\n",
"y_train = y.iloc[itrain]\n",
"y_test = y.iloc[itest]\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Q1.1**: How were the categorical variables handled? How were missing values treated? Were these wise choices?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"*your answer here"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Part 2: Fitting Five ML Models"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"DecisionTreeClassifier(max_depth=10)"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# fit a possibly underfit (depth = 3) decision tree classifier\n",
"dt3 = tree.DecisionTreeClassifier(max_depth = 3)\n",
"dt3.fit(X_train,y_train)\n",
"\n",
"# fit an overfit (depth = 10) decision tree classifier\n",
"dt10 = tree.DecisionTreeClassifier(max_depth = 10)\n",
"dt10.fit(X_train,y_train)\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"AUC on train for dt3: 0.9026515151515151\n",
"AUC on test for dt3: 0.9008620689655171\n",
"AUC on train for dt10: 1.0\n",
"AUC on test for dt10: 0.818426724137931\n"
]
}
],
"source": [
"# Evaluate using AUC\n",
"\n",
"print(\"AUC on train for dt3:\",sk.metrics.roc_auc_score(y_train,dt3.predict_proba(X_train)[:,1]))\n",
"print(\"AUC on test for dt3:\",sk.metrics.roc_auc_score(y_test,dt3.predict_proba(X_test)[:,1]))\n",
"\n",
"print(\"AUC on train for dt10:\",sk.metrics.roc_auc_score(y_train,dt10.predict_proba(X_train)[:,1]))\n",
"print(\"AUC on test for dt10:\",sk.metrics.roc_auc_score(y_test,dt10.predict_proba(X_test)[:,1]))\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"# fit random forest and adaboost models\n",
"\n",
"np.random.seed(109)\n",
"randomforest = RandomForestClassifier(n_estimators=100, max_features='sqrt', max_depth=10)\n",
"randomforest.fit(X_train,y_train);\n",
"\n",
"adaboost = AdaBoostClassifier(\n",
" base_estimator=DecisionTreeClassifier(max_depth=4),\n",
" n_estimators=1000,\n",
" learning_rate=.8)\n",
"adaboost.fit(X_train,y_train);"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"AUC on train for randomforest: 1.0\n",
"AUC on test for randomforest: 0.9617456896551724\n",
"AUC on train for adaboost: 1.0\n",
"AUC on test for adaboost: 0.9267241379310345\n"
]
}
],
"source": [
"# evaluate using AUC\n",
"print(\"AUC on train for randomforest:\",sk.metrics.roc_auc_score(---,---)\n",
"print(\"AUC on test for randomforest:\",sk.metrics.roc_auc_score(---,---)\n",
"\n",
"print(\"AUC on train for adaboost:\",sk.metrics.roc_auc_score(---,---)\n",
"print(\"AUC on test for adaboost:\",sk.metrics.roc_auc_score(---,---)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"15\n",
"Model: \"sequential\"\n",
"_________________________________________________________________\n",
"Layer (type) Output Shape Param # \n",
"=================================================================\n",
"dense (Dense) (None, 15) 210 \n",
"_________________________________________________________________\n",
"dense_1 (Dense) (None, 15) 240 \n",
"_________________________________________________________________\n",
"dense_2 (Dense) (None, 1) 16 \n",
"=================================================================\n",
"Total params: 466\n",
"Trainable params: 466\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n"
]
}
],
"source": [
"# build a NN model\n",
"\n",
"tf.random.set_seed(109)\n",
"\n",
"NN_model = []\n",
"nodes_layers =[15,15] \n",
"\n",
"#reset the model \n",
"NN_model = tf.keras.models.Sequential()\n",
"\n",
"# input layers \n",
"NN_model.add(tf.keras.layers.Dense(nodes_layers[0], activation='tanh', input_shape=(X_train.shape[1],)))\n",
"\n",
"# hidden layers \n",
"for s in nodes_layers[1:]:\n",
" print(s)\n",
" NN_model.add(tf.keras.layers.Dense(units = s, activation = 'tanh'))\n",
"\n",
"# output layer \n",
"NN_model.add(tf.keras.layers.Dense(1, activation='sigmoid'))\n",
"\n",
"\n",
"# Summary \n",
"NN_model.summary()"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
"# compile it and run it\n",
"# your code here \n",
"X_test_std = ((X_test-X_train.mean(axis=0))/(X_train.std(axis=0)+0.2))\n",
"X_train_std = ((X_train-X_train.mean(axis=0))/(X_train.std(axis=0)+0.2))\n",
"\n",
"batch_size = 32\n",
"epochs = 100\n",
"\n",
"\n",
"\n",
"#opt = tf.keras.optimizers.SGD(lr=0.002,clipvalue=0.7)\n",
"\n",
"\n",
"NN_model.compile(optimizer='sgd', loss='binary_crossentropy', metrics=['acc'])\n",
"\n",
"# fit it \n",
"history_basic = NN_model.fit(X_train_std, y_train, \n",
" batch_size=---, \n",
" epochs=---, \n",
" validation_split=.3, \n",
" verbose=False)\n"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"AUC on train for NN_model: 0.9013774104683195\n",
"AUC on test for NN_model: 0.9461206896551724\n"
]
}
],
"source": [
"print(\"AUC on train for NN_model:\",sk.metrics.roc_auc_score(---,---)\n",
"print(\"AUC on test for NN_model:\",sk.metrics.roc_auc_score(---,---)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Q2.1**: Which model performs best? Which models are overfit? How do you know?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"*your answer here"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Part 3: Variable Importance"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/kevinrader/opt/anaconda3/lib/python3.7/site-packages/sklearn/tree/_classes.py:590: RuntimeWarning: invalid value encountered in true_divide\n",
" return self.tree_.compute_feature_importances()\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"#Default Variable Importance\n",
"\n",
"plt.figure(figsize=(24,6))\n",
"#plt.set_xticks()\n",
"#plt.set_xticklabels(X.columns)\n",
"num=10 \n",
"\n",
"plt.subplot(1, 4, 1)\n",
"dt3_importances = dt3.feature_importances_\n",
"order = np.flip(np.argsort(dt3_importances))[0:num]\n",
"plt.barh(range(num),dt3_importances[order],tick_label=X.columns[order]);\n",
"plt.title(\"Relative Variable Importance for dt4\")\n",
"\n",
"plt.subplot(1, 4, 2)\n",
"dt10_importances = dt10.feature_importances_\n",
"order = np.flip(np.argsort(dt10_importances))[0:num]\n",
"plt.barh(range(num),dt10_importances[order],tick_label=X.columns[order]);\n",
"plt.title(\"Relative Variable Importance for dt10\")\n",
"\n",
"plt.subplot(1, 4, 3)\n",
"rf_importances = ---\n",
"order = ---\n",
"plt.barh(---,---);\n",
"plt.title(\"Relative Variable Importance for rf\")\n",
"\n",
"plt.subplot(1, 4, 4)\n",
"adaboost_importances = adaboost.feature_importances_\n",
"adaboost_importances = pd.Series(adaboost_importances).fillna(0)\n",
"order = np.flip(np.argsort(adaboost_importances))[0:num]\n",
"plt.barh(range(num),adaboost_importances[order],tick_label=X.columns[order]);\n",
"plt.title(\"Relative Variable Importance for adaboost\");\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Q3.1**: How do these variable importance measures compare for these 4 models? Which predictor is most important in general? How is it related to `AHD`? "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"*your answer here"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Part 4: Using Eli-5 "
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/kevinrader/opt/anaconda3/lib/python3.7/site-packages/sklearn/utils/deprecation.py:143: FutureWarning: The sklearn.metrics.scorer module is deprecated in version 0.22 and will be removed in version 0.24. The corresponding classes / functions should instead be imported from sklearn.metrics. Anything that cannot be imported from sklearn.metrics is now part of the private API.\n",
" warnings.warn(message, FutureWarning)\n",
"/Users/kevinrader/opt/anaconda3/lib/python3.7/site-packages/sklearn/utils/deprecation.py:143: FutureWarning: The sklearn.feature_selection.base module is deprecated in version 0.22 and will be removed in version 0.24. The corresponding classes / functions should instead be imported from sklearn.feature_selection. Anything that cannot be imported from sklearn.feature_selection is now part of the private API.\n",
" warnings.warn(message, FutureWarning)\n"
]
}
],
"source": [
"import eli5"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {},
"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",
" Weight \n",
" Feature \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 0.0918\n",
" \n",
" ± 0.0626\n",
" \n",
" \n",
" \n",
" Ca\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 0.0820\n",
" \n",
" ± 0.0672\n",
" \n",
" \n",
" \n",
" Thal\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 0.0574\n",
" \n",
" ± 0.0643\n",
" \n",
" \n",
" \n",
" ChestPain\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 0.0443\n",
" \n",
" ± 0.0330\n",
" \n",
" \n",
" \n",
" Sex\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 0.0393\n",
" \n",
" ± 0.0334\n",
" \n",
" \n",
" \n",
" MaxHR\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 0.0328\n",
" \n",
" ± 0.0486\n",
" \n",
" \n",
" \n",
" Age\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 0.0230\n",
" \n",
" ± 0.0262\n",
" \n",
" \n",
" \n",
" ExAng\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 0.0180\n",
" \n",
" ± 0.0230\n",
" \n",
" \n",
" \n",
" Oldpeak\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 0.0164\n",
" \n",
" ± 0.0293\n",
" \n",
" \n",
" \n",
" Slope\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 0.0148\n",
" \n",
" ± 0.0177\n",
" \n",
" \n",
" \n",
" Chol\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 0.0000\n",
" \n",
" ± 0.0388\n",
" \n",
" \n",
" \n",
" RestBP\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 0\n",
" \n",
" ± 0.0000\n",
" \n",
" \n",
" \n",
" RestECG\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 0\n",
" \n",
" ± 0.0000\n",
" \n",
" \n",
" \n",
" Fbs\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"
],
"text/plain": [
""
]
},
"execution_count": 57,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#permutation importance for the random forest\n",
"from eli5.sklearn import PermutationImportance\n",
"\n",
"seed = 42\n",
"\n",
"perm = PermutationImportance(randomforest,random_state=seed,n_iter=10).fit(X_test, y_test)\n",
"eli5.show_weights(perm,feature_names=X.columns.tolist())\n",
"#eli5.explain_weights(perm, feature_names = X_train.columns.tolist())\n"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {
"scrolled": true
},
"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",
" Weight \n",
" Feature \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 0.1529\n",
" \n",
" ± 0.0508\n",
" \n",
" \n",
" \n",
" MaxHR\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 0.0243\n",
" \n",
" ± 0.0272\n",
" \n",
" \n",
" \n",
" RestBP\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 0.0229\n",
" \n",
" ± 0.0329\n",
" \n",
" \n",
" \n",
" Age\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 0.0170\n",
" \n",
" ± 0.0258\n",
" \n",
" \n",
" \n",
" Chol\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 0.0138\n",
" \n",
" ± 0.0055\n",
" \n",
" \n",
" \n",
" ChestPain\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 0.0045\n",
" \n",
" ± 0.0032\n",
" \n",
" \n",
" \n",
" RestECG\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 0.0045\n",
" \n",
" ± 0.0028\n",
" \n",
" \n",
" \n",
" Ca\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 0.0014\n",
" \n",
" ± 0.0020\n",
" \n",
" \n",
" \n",
" ExAng\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 0.0013\n",
" \n",
" ± 0.0019\n",
" \n",
" \n",
" \n",
" Thal\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 0.0012\n",
" \n",
" ± 0.0033\n",
" \n",
" \n",
" \n",
" Slope\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 0.0003\n",
" \n",
" ± 0.0008\n",
" \n",
" \n",
" \n",
" Fbs\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 0.0002\n",
" \n",
" ± 0.0017\n",
" \n",
" \n",
" \n",
" Sex\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" -0.0016\n",
" \n",
" ± 0.0019\n",
" \n",
" \n",
" \n",
" Oldpeak\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"
],
"text/plain": [
""
]
},
"execution_count": 58,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#permutation importance for the NN model: need to define a scoring metric since there is no tf.score() by default\n",
"\n",
"def aucscore(model, X, y):\n",
" y_pred = model.predict(X)\n",
" return sk.metrics.roc_auc_score(y, y_pred)\n",
"\n",
"aucscore(NN_model,X_train_std, y_train)\n",
"perm = PermutationImportance(NN_model, random_state=seed,n_iter=10, scoring=---).fit(---,---)\n",
"eli5.show_weights(---,---)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Q4.1**: How do the permutation importance measures compare to the default variable importance in the random forest? How does the NN model compare to the random forest?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"*your answer here"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Part 5: Plotting Predictions\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"yhat_rf_train = randomforest.predict_proba(X_train)[:,1]\n",
"plt.scatter(X_train[['Age']],yhat_rf_train);\n",
"yhat_rf_test = randomforest.predict_proba(X_test)[:,1]\n",
"plt.scatter(X_test[['Age']],yhat_rf_test,marker='x');\n",
"plt.title(\"Predicted Probabilities vs. Age from the RF in train and test\");"
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXUAAAEICAYAAACgQWTXAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO2de3xV1Zn3v09yAgkoiSi2TbgaUeqFAWXEDp0qtsVYvERtnVINtVCZceq001amZKSoqb6hpTNt37ZjX1vQcqnWG6kVCTgVO1OsKIqCKF6C3BIveAkoJECS9f6x90n2OWfvfS7snOvz/Xzyydm3ddt7/9baz3rWWmKMQVEURckPijKdAEVRFCU4VNQVRVHyCBV1RVGUPEJFXVEUJY9QUVcURckjVNQVRVHyiLwUdREZLSJGREL29moR+Woa4r1FRJb3dzx2XDtE5HMpXvuEiHzd49hIEflIRIqjzxWRq0VkrU+4fy8ir6SSpnxGRKaIyGt2udZmOj1BkOl7Hf2cZpKjeRf7g4yJul0QHfaNeVtE7hKRY/ojLmPMRcaY3yaYpn65OSJyvoj02Pn9UEReEZGv9UdcR4MxZpcx5hhjTLfLsRXGmGnhbbviPNlx/H+NMaemK61Hi4gMtu/Ho/0cVQPwC7tcm/o5rhjs5/ptERns2Pd1EXnCsW1EZIuIFDn23SYid7uFeTT3WkSuFZG/pHKtI37P5zSbEJG7ReS2AMKJaKj6kemW+iXGmGOAs4C/BeZHnyAWmU5nULTZ+R0CfA/4tYicFn1SIjdOCYQvAoeAaSLyiX6MZxSw1e1AGp/vEPCtOOdUAl9OQ1rikg0t8FwlK8TSGNMKrAbOgN5P/ttFZD1wEDhJRMpFZLGIvCkirXYrImwiKBaRH4vIuyKyHZjuDD/a3CAi14nIy3aL+SUROUtElgEjgT/arbd/s889V0SeFJF2EXlBRM53hDNGRP5sh/MYcEKC+TV2i+0D4DRHLTxbRHYBj9vhXyoiW+24nxCRT0YF9bd2+j+wv3RK7euOE5FHRGSvfewRERkedW21iDwtIvtE5A8iMtS+1rNF4Gxhicj/2LtfsMvrH+yvkT2O8ytF5EE7HW+IyDcdx84RkY0ist9uRf6nW1nZ9+lix3bIvs9niUipiCwXkffsMnpGRD6WyD2w+SrwK2AzcHVUvGeJyCb73t4vIr93trhE5GIRed6O90kRGe+R/hbgJPqeq4Eez3eliDwsIu+LyOsicp0jjFvsNCy307NFRE4RkXoReUdEdovINLf4HSwCbhSRCp9zfgTc6nbvXfIVfa93iMiNIrLZfqZ+H34eo677JFaZf8ouj3Z7/90icoeIPCoiB4CpIjLdvgf77Tze4ggn2sT6hIj8QETW22W0VkRc38d470e8sESkTkR22s/dTT5lNAfrufo3O69/tPen8l6E37d2O6xPecWLMSYjf8AO4HP27xFYLZkf2NtPALuA07FaGCVAE/D/gMHAicDTwD/a5/8TsM0OZyiwDjBAyBHe1+3fXwJasb4MBDgZGBWdJnu7CngP+AJWBfh5e3uYffyvwH8CA4HPAB8Cyz3yez6wx/5dBFwOHAFOBUbb6V1q568MOAU4YMdZAvwb8DowwJHWFx15Xg/cZh87HrgSGAQcC9wPNDnS8oRdBmfY8T0YTrcjLW5ldy3wF0c4BjjZJ4/PAguAAVjCth240FF2dfbvY4BzPcptAbDCsT0d2Gb//kfgj3Y+i4GzgSEJPn8jgR7gNOC7wGbHsQHATqyWbQlwBXDYUb5nAe8Ak+14v2rfj4HxnnWf5/vPwH8BpcAEYC/wWfv8W4BO4EL7/KXAG8BN9rXXAW/Ee9eAhxx5+DrwRNS9HGvfs/D9vg24O97z7IjjaazW/lDgZeCfPK6NeI7sfXcD+4Ap9rNTasdxpr09HngbqPV5Tluw3psye3uhR/yJvB+uYdnPy0dY7/tArPe/y3l/XfJ1m2M7pfciOr++z/bRinOqf/ZD8BHQjvUC/RdQ5ijUBse5H8P6TC5z7JsBrLN/P+58gIBpLjc8/KCuAb6V4Mv3PWBZ1DlrsF7ikfbNHOw49jv8Rb3Hzu/7wPPAl6Nu2EmO878P3Bf1MLQC5zvS6szzF4AWj7gnAB9EPbQLHdunYYlWcfTDQ+qiPhnYFZWOeuAu+/f/ALcCJ8R5Tk7GqiwH2dsrgAX271nAk8D4FJ6/+cDz9u9KoBuYaG9/xi5rcZz/F/oE8Q7sBojj+CvAeQk+V08Q+XyPsOM/1rGvEVtQsUT9McexS7DenWJ7+1j7XlT4xY9Vie8DhuEu6ifbz9EuLMFKVtSvcWz/CPiVx7URz5G9725gaZx79lPgJ1HvjPM5ne8495+B5gSfBbf3wzUsLDG+13FsMNa7k6iop/ReROfX7y/T5pdaY0yFMWaUMeafjTEdjmO7Hb9HYbVI3rQ/d9uxWu0n2scro87f6RPnCKxaOBFGAV8Kx2nH+2ngE3acHxhjDiQYL1g29QpjzFBjzARjzL1Rx515qHSGZ4zpsY9XeZy/074GERkkIv/P/kTcj/WgVEiknTL62hISNB8lyCigMqrs/h2rggaYjdUS2mabTS52C8QY8zpWq+8SERkEXIpVeQIsw6pk7xWRNhH5kYiUJJi+mVgVBMaYNqyW8lftY5VAq7HfJpvo5/G7UXkbYV+XKNH3+n1jzIeOfTuJvNdvO353AO+avk7C8Hvj62hgjHkReASY53POo1iiPsc39e685fh9MF56XHCWCSIyWUTW2WaKfVhf5H7PaELxJ/h+eIUVoTX2+/9enHw5CeS98CObO+SiX6hDWLVXl8u5b2K9VGFG+oS7G6hOIM7wucuMMddFnygio4DjRGSwQ9hHuoSRDM5r27A+PcPxCVYeWx3nROe5zf79XSyzzmRjzFsiMgHYhGVu8rr2CPBu1P6jYTeWSWCs20FjzGvADLE6Ca8AHhCR46MqyTD3YH2ZFQEv2UKPMeYIVqvmVhEZDTyK1WJe7JcwEfk7LFNDvYh81959LHC6iNyI9TxViYg4hN3ZGNgN3G6MuT1OGfgRfa+HisixDmEfSeS9DoqbgeeA//A5Zz5wL32VZ9B4vSPR+38H/AK4yBjTKSI/JZiGRyLvhxdvAr19W3ZD43if8900Jen3wiUcTzLdUk8IY8ybwFrgP0RkiIgUiUi1iJxnn3If8E0RGS4ix+HTEgF+g9VhdLZYnGwLNFitoZMc5y7HaiFeKFZnbKlYHUTDjTE7gY1YgjJARD6N9VkcFPcB00Xks3br87tYFduTjnO+Yed5KFZt/3t7/7FYrbd2+9jNLuFfIyKn2Q9lA/CASd49LLq8nDwN7BeR74lImV1+Z4jI3wKIyDUiMsz+Amm3r/GK/14sk9r1OIRGRKaKyJl2C2s/VsWUSB6+CjyGZXaaYP+dgWVjvQjLrtkN3CBWx+xlwDmO638N/JPdkhSxXCOni8ixCcQdgzFmN9Z9bbSfsfFYLbYVqYQXJ67XsZ6Tb/qc8wSwhb4vl6B5GxguIgPinHcs1hdMp4icA3wloPgTeT+8eAC4WEQ+bae/AX8djX5HUn0v9mKZb73et15yQtRtZmJ1LLyE5TXyAJYZBKyXbA3wAlYr5CGvQIwx9wO3Y4nDh1gdsEPtw43AfPuz6Eb7ZbsMSzD3YtWyc+krt69g2cjex3owlgaRUTudrwDXAD/HakFfguUCethx2u+wKrvt9l/YO+OnWB087wJPAc0uUSzDsve9hdUp5fmS+3AL8Fu7vK6KSn+3neYJWJ1672JVqOX2KTXAVhH5CPgZVv9Cp1skdqX+V+Dv6Ku4AD6O9RzsxzLR/BmrIkZEfiUiv4oOSyyPjKuAnxtj3nL8vYFVJl+1y/gKLGFtx7oPj2BVqhhjNmJ1Tv4C61l8HctOfDTMwLKbtgErgZuNMY8dZZheNGDZgv2YT997ETSPYzlGvCUi7/qc989Ag4h8iGXLvi+g+BN5P1wxxmwFvoH17r2Jdf/3+FyyGMvDrV1EmlJ9L4wxB7F0a70d1rleEUqk2VBRFDdEZANWx99dmU6LoviRSy11RUkbInKeiHzcNr98FculLuEWnaJkimzuKFWUTHIq1uf+MVgdpF+0zUCKktWo+UVRFCWPUPOLoihKHpEx88sJJ5xgRo8enanoFUVRcpJnn332XWPMMK/jGRP10aNHs3HjxkxFryiKkpOIiO/IdTW/KIqi5BEq6oqiKHmEirqiKEoeoaKuKIqSR6ioK4qi5BEq6oqiKHmEirqiKEoeoaKuKIqSR6ioK4qi5BEq6oqiKHmETr2rKIo/xoCI93YSNG1qZdGaV2hr76Cyooy5F55K7cSq+BcqCaMtdUVRvFnXCM31lpCD9b+53tqfJE2bWql/aDOt7R0YoLW9g/qHNtO0qT/W1y5cEhJ1EakRkVdE5HURiVnUWURGicifRGSziDwhIsODT6qiKGnFGOjcBxvu6BP25npru3Nfn9AnyHuP3MpcczcQvs4w19zNe4/cGnTKC5q45hd7pfZfAp/HWmD1GRF52BjzkuO0HwNLjTG/FZELsBZwruuPBCuKkiZEoMZukW+4w/oDmHy9tT8ZE4wxyKF9zApZKwI2dNWxILSMWaFmlhyqOSqTjhJJIi31c4DXjTHb7VXW7wUuizrnNOBP9u91LscVRclFnMIeJllBt8NZPHgOS7pqmBVqZkfp1Zagd9WwePAcFfQASUTUq4Ddju099j4nLwBX2r8vB44VkeOjAxKROSKyUUQ27t27N5X0KoqSTsImFydOG3sSzK0ZxyK5NmLfIrmWuTXjjiKBSjSJiLpbFRp9R28EzhORTcB5QCvQFXORMXcaYyYZYyYNG+a5cIeiKNmA04Y++Xq4ud3677SxJ0HthEoeGbsqYt8jY1dRO6EyyFQXPIm4NO4BRji2hwNtzhOMMW3AFQAicgxwpTFmX1CJVBQlA4hAaXmkDT1siiktT9qmTnM91duX9YXXXE/1hjug+ZjUTDqKK4mI+jPAWBEZg9UC/zLwFecJInIC8L4xpgeoB5YEnVBFUTLA1PrITsywsKdgUw+sglB8iSvqxpguEbkBWAMUA0uMMVtFpAHYaIx5GDgfaBQRA/wP8I1+TLOiKOkkWnBTFeCgKgjFFzEpdHgEwaRJk4wuPK0oipIcIvKsMWaS13GdJkBRcgAdXh+Llok7KuqKkuVYw+u30HGkGwgPr98CULAipmXijc79oihZzqI1r/SKV5iOI90sWvNKhlKUebRMvFFRV5Qsp629I6n9QKwPeSJ9Z17XpBJWKiQRT0plkirpyn9AqPlFUfoBP3tvsrbgyooyWl3EqrKizD2s9qXWhFthz5LwIKLScphan9w1b22mpfgkZrZeTtu+TirLS1latZLqEVXeYU2sSn663nWNtOxu9YwnmTIJlHWNvmXpRqZt/SrqihIwfvZewNsWPKHSVQjnXnhqxDUAZSXFTB03jLn3v8CRHtMb1tz7n+fMca1Ub1/GfRt3870DM/jh4Hu4qvsRmHw9Tc/toX7li1Hxb+bMse7XtA8ZR/X+9czu2ksDdcw+cCfV25tpoY4trmFtYdy2XzCuvAcuWtgnhKvnQVkF8/ddzD0bdtNtDMUizJg8gtsuO4OW3Vb8XvEsWvtqhEhOHTeM5U/tJHLAu2HquABHqjtnqYTeAVO9I2xdKqpssPWrS6OiJEAyra8pCx93bUVW2a1It2PfH/wHZk8amlTr+paHt9LecSQmrEElwjxZysyi1b37lvZcxJDaH7No7auu8VeUhvhOz10x1/xn0bV8s+uu3tkVgYhJuGLDMqwqu4XTzWvc1XUht3bN5ObQUr4WWsPustP4+w9uInrmkWvOHcm6l99h9oE7Y+L5ecksOrtMTIX2reIHGND1IQ1ddXZ4hgWhZZiB5cz+/p0x+UsZ51QJYXxmqfS79+vnXRBIkuK5NKqoK0ocoltfYAlL4xVnugr7mHmrYiZHgj4piz1meqehdQ6h720RegjI6HmrYvY5w9xRenXfuZ0rqKoYRJu9QEWi14QFM3q/2LnxzUsUS7pqHCLcR7EIPcZgPOP3jiMcpnN71g/upen5tuBMIMbArRV92ze3e5qS/O79GwunpxZ/dFhxRF07ShUlDsl6WnjZdSsryjyOWdPStpxUZwn5rRWw4Q5rO6URl5boOVkQWkZb+0EqBpUkdQ30uO6vLC/1zEtDVx1Lumoi9noJOkC3MVSWl3rE7y6R4TjcpvFter6N+oe2RK2wtCW1FZaSnKXS796nCxV1RYmD2+e03/65F55KWUlxxL6ykmLmXniq57GpnzyRi1+LbMld/Np0mp6PmDsvguNcBTqyFTu6c0Wv+P1w8D2YHkOsUPZ4XtNcOt91/9KqlcyddoprXsLpiE6XF8UCS6tWusZze+kK12srygZ4TuMbmLtjCrNU+t37dKEdpYoSh2IRul1e4GKPFnT4M9/v8z/62KLmbfZSb33MNXezqHmOp9ng5ktOZ+4DL3Ckuy9tJcVFjK76BEvfvIiGrmsIt2pDRcI5p47k2q33MiR0MMoWvZzTinawtCf2mi8M20tL+d+zuPVyZF8niwfP4byqYVSPqKL6rOEgEpmXaafw/kPfYVZoTURaw9sNXTOJbq3PmDyS6vIqWqiLiefskmMpeykUY/q65ZLTOPPFhbC9L5xHxq6iekIN3/79867llbS7YwqTkCVy7/sbFXVFiYOboPvtB+vl9nqRY44Zw6iVlzAx1BJjI57Y8RqYZ5MSkAsmfoGm5/ZQ1esxMogh037MuIlVPHvrV7ia2CXlVvAFhlzyI6oeey3imhPOGs4JxrA+wivngt70uOXlhT+0AMTk5eziFq45eyT3PL0n0vul9kzgTKo94mmM7iSedgq1b/8CPKbxrSz/PK37OmPKKyUTSAqTkPnd+3Sgoq4ocajy8Imu6hc7qYn674+XgNSeNZzas2LXf/+xXMuhIz3MCjX3dmZaXibXsunsEdSePSLmmqRmaRRh4Lhp3LX15N6vgYauOgT41Okncdvl47nt8vGe1yYUT5wW9Nyaca4d2ymbQIKapTJNqKgrShy8/MQDs5OKcPnhBhaEljIrtKbXVLGk60IaumayI0ARae/oooG6CO+Uhq46pCtmobKUGTejkW1RXwrHTfsPxrlUMvHw9Pu+YmakX7+jBV1rX1uok32pqCuKjZcvup+dNKjRg1UVg2honxlhi27omklVxaDA8gdQWV7K7AORftwLQsssv/MU8Cwzjy+FZPHr9IwpZ0fll2kTSCZRUVcU4o8EdBOJIEcPzp12CvubbozY1zBgOUOm/Til/LhijDX0fnusf/d5VcMibOWJkI7Rk2md4yVPUJdGRSG1Wf+CdJ2rffsXzCxazX3FFzOmcwX3FV/MzKLVVodgUAMERageUUXLSXUsHjwHcfjHV4+oStpWnI6ZErPB7zvX0Ja6opBaizCwVqSj4++qmkauEgEzvW+agCA75qbWe3qZJEs6WtH93p+Rh6ioKwqpzfoX6EyB6Vy/MyBvjnTMlJiO/ox8Q0VdUUitRRh4KzLHXOfS1Yru7/6MfENt6oqCJQSNV5xJVUUZguWD7jVh19Fck09kMv+68pE32lJXlKOgkF3nIHP5V68Yb1TUFQX9nM9m3GznaVv5KAdR84uioJ/z2Uq4so2eRnfquGEZnw0xW1FRVxT0cz5b8aps123bW9D9GX4kZH4RkRrgZ0Ax8BtjzMKo4yOB3wIV9jnzjDGPBpxWRek30vk5r654ieNX2RZ6f4YXcVvqIlIM/BK4CDgNmCEip0WdNh+4zxgzEfgy8F9BJ1RR+pN0LW7gZU6ItypP06ZWpix8nDHzVjFl4eOpreKTg+iI0uRJxPxyDvC6MWa7MeYwcC9wWdQ5Bhhi/y4HvJdrUZQACUrs0uWel4rtPtWKIB9ItbIt1EoQEjO/VAG7Hdt7gMlR59wCrBWRfwEGA59zC0hE5gBzAEaOHJlsWhUlgqA9VtLxOZ+K7T6pmQoTIJfMP6msJFTonkyJiLr7ct6RzADuNsb8h4h8ClgmImcYY3oiLjLmTuBOgEmTJgU0S5FSqAQtdumgvKyE9o4jrvu9CLITN5sFz2/q42TSlovPRZAkIup7AOdyKMOJNa/MBmoAjDF/FZFS4ATgnSASqShuL3wueqz4LebjRZCduNna6g+yssnF5yJIErGpPwOMFZExIjIAqyP04ahzdgGfBRCRTwKlwN4gE6oULl425YpB7q3bbO5E++BgbCvdbz9YduWS4kjVLymWlDpx+6PVH4StP8hxAoXeuRpX1I0xXcANwBrgZSwvl60i0iAil9qnfRe4TkReAO4BrjUmqEmglULH64U3howPQEm2Q67Yo0nutb+X6LcpxbcrSMELUoiDrGzS5cmUrSQ0+MgY86gx5hRjTLUx5nZ73wJjzMP275eMMVOMMX9jjJlgjFnbn4lWCguvF3tfx5GMDkBJpaXa7dHW8doPlnge6Yk8fqTHpCSecy88lZKiqFZ/UeZb/UFWNoU+0ZrO/aJkPX425UwOQEnFPl3lkZcqH/FKRTx9bd3RHwVxPhK8wgrS1h/0NL6FPDBJpwlQsp5s/ZxORWxTyUuyrVi/L4hFa17hSHdUq7/bu9XvF1aQ96XQW9dBoi11JetJxVc5HaTSUq2dWMXGne9zz4bddBtDsQhXnu3fqky2Fev3BZFsReQX1vp5F/SeE8R9KeTWdZCoqCs5QTa+8KmYDJo2tfLgs629NvRuY3jw2VYmjRrqmb9kKzU/4U62IopXCWTjfSl0VNQVJUVS+YLwtcNPqIx0WHesWZqMePoJ99Rxw1j+1K6YY1PHDUs6LCU7UVFXlDDOhZ/dtl3wEluvzkWvlu+XPloGzWv7Fps2BprrobTcWpQ6Cfy+ILxs5+u2uQ8rSdc6pEpwqKgrCsC6RujcF4io+o2OdJ8mwDAs1Akb7rA2axqtuDfcAZOvT6hyceL3BfHt3z/veo1XZZNqf0YuzS+Tb6ioK3lLwsJijCXoAYmqn4nFPRjhx3ItV58zyooznI7J1/dVMkni9QXhZ04Jau6VbJ5fphBQUVfykqSERcQSTwhEVFNxdWzv6LLiCscNkXGnYBpyw8ucMnXcsMCEON5IU23B9y/qp67kJUkPYXcKe5gUW8l+fuWex8pLra8DJ831lniva+z7DX2moXWNsQHFwcsffN22vf0+5D9cURTivPDpRFvqSl6SdGs5LJROmutTEvZ4nYuxx4pYWrUSNizr+zoIm3+MsUZ8bviVdfJRmobA3TSTrK09jJvJxsvEUyxS0FPipgsVdSWCfOngSsoVLyzoYaF0CickLeyJdC5GH6tufx6GOcw94a+G0nI4fx4ggdnb3UjFddHLxHXl2VU8+GxrTKUWLehhCmVK3HQhmZpMcdKkSWbjxo0ZiVtxJ/olBetlzMXh2knnJUXvl0ArQT+7uTFwa0XfsZvbAxN0SO3eT1n4uOc8NmH3SWe5LFrziuf54dGp+U4Qz4uIPGuMmeR1XFvqSi/5tGJM0q54U+sjRTTcWvYRzqC9PJqeb3NPb4CmIS9ScV30M3F5ecwUss97uryCVNTzgYA8I/JtxZikh7BHl1mcMgyyEvR84Y2h9u1fBGYa8iPZgVTJmmyydQ6fdJGuRpOKeq4T4KCZnBwS7lOhBWkaaXpuD4vWvtoX1rRT7MrOEDl3rUmpEvR84de+Su3k8kgbutPeHqAJxq0sm55vo/6hzXQcsZYbtiqbzUBqo03TNVdMNvYNpavRpKKeywQ8aCbnhoT7VGhNFTMD+9Tddk89+19+g9bD1wBCa/tB9jfdyP2lO9ncNZKGrjosYTcsCC3DDCynadMET1FJer3VqfVWpfLDdY5K5QZqzxrO/KYtETM+zpg8gttqz0xe1DzKcuTT/8NcM4IG+vI419zNe4+UM/v7dwLZ1/LO1sFP6Wo0qajnMkczaMalVRb053G/tpbiVGiLmrcF86lrDJtf38XMotV0hQwNXXUsCC1jZlEz2xjNrFAzQO/+WaFmnjzuS8yOad1u6Q3STXDcpw/oG+n5nftfILz4UWt7B9+5/wXuf3Y361ve7z232xiWP7WLN/Z+xHO79iUuaj5lObBnlGselxyq6fObzzKytW8oXY0m9X7JB5L1jAjQZONFWjxpnK6IYewKbXT9o56X7Vg4Paloxsx7hO/bYhZmSVcN+ynl2qHbqNi/rXd/+5BxPPjReH5wsDYmnPDqRm6tteMGldB5pMe1vL734GYOdfUklWY3fL1MPMpy9J+nsCC0PCbvDV11/PQfJmalt9SYeatcl3AV4I0k733QpMP7RUeU5jpenhFelbWzVRY+L/wyd+4LrPUV5KLEnviMAk15gWcXKisG2SaWPhq6rqFyYFeEoANU7N+GHN6P28rQbe0dnmaW9oPe660GIejh+D3xKkuKXPJumWLSco9TIMj1ToOmdmIV6+ddwBsLp7N+3gX9Uvmp+SWXSWXQTMDznHiRlk4hH1e/VBZ49mLutFPY33RjxL6GASsYcNGPYONOeKvPtMLHz2Tx+9fB/kMx4VT6tNTTsd6qr6h5lGWxfJqbipdF7F4QWsbt3TOz1lsq5/qGAkZb6rmMiGUyifaMmHy9v2dEgPOceNHvraXoCu3mduu//QVSVV7qepnfAs9e8dS+/QtmFq3mvuKLGdO5gvuKL2Zm0WpqN34lUtAB3trC0uFNlJVEvlphUUnHeqtTqodSUhR5L0uKxDsOn7L83/JbLBt6Vw2jO1ewpKuGWaFmllWttOarcSHTLeJCX+9UW+q5TgqDZtIxmCXZFXaSxqtCAygtZ27NuGBaa454rqpp5CoRMNOt8nprM3z8zJiWevWIShrPHJ/UNAF+gjOlemhEh2iYsScOpmXvgd4OVIAigTHDjuHpHR9E5SOxPEaXZeVbm3nywARub70cgNu7ZzLu48fyd6dXM7cioDLuBwp5mT3tKC00/Ew2AZpg/IaQBzokPE1+6jHx9PTAmn/v93IMc/Wv/xoh7FOqh7LjvQ7PibPczEzxyt7NF7/2rOHpK2MlIQKZJkBEaoCfAcXAb4wxC6OO/wSYam8OAk40xlSgZB9xWrg5ZVy+qZYAACAASURBVFMH31GggbbWouMpKkpLOYZZcd2nYvaNmbfK9VyvfgO/sm/a1Er9yhcj3SBXvggi7vPP29ROqIw8nqVujoVEXFEXkWLgl8DngT3AMyLysDHmpfA5xphvO87/F2BiP6RVCYpUTDZJkpOjU5MlDeXoh98Ut27C7lf2Kfl2p8E1VkmeRDpKzwFeN8ZsN8YcBu4FLvM5fwZwTxCJU/qRJOc5SZZ0dAimStOmVqYsfJwx81YxZeHjR7dIQz+Xox9eZTxj8oiky96tcvDbny7XWCV5EjG/VAG7Hdt7gMluJ4rIKGAM8LjH8TnAHICRI0cmlVAlt8jWyZuydQh5KviV8aRRQ5Mqe6/Wvadff5pcY5XkidtRKiJfAi40xnzd3q4DzjHG/IvLud8Dhrsdi0Y7SpVMkLYO3CzGrXPzXz1WPoI4I3D7eZ53JZYgOkr3ACMc28OBNo9zvwx8I/HkKUp6ydYBM6niNaGXF15fKscNKuGDg7Fzz/j69afBNVZJnkRE/RlgrIiMAVqxhPsr0SeJyKnAccBfA02hogRIPnXgzm/aEjEWIDyhF+BpfvHqEB0YKopZcs7XDh/wEoBKcMTtKDXGdAE3AGuAl4H7jDFbRaRBRC51nDoDuNdkyvFdURIgmztwk+WeDbtd9694ahf1D22htb0DQ19rvGlTq+cXyb4O77lnXEl1NLPS7+jgI6XgyJcBM6M9/NS98JslMuU+hYBW3VISR9coVZQo8mUIuZfHihdt7R385B8mBDu0P4MunYo7OqGXouQoMyaPcN0/eECx6/7wTJCFPNlVIaAtdUXJUW6rPZM39n4UMyfMlyaN9G2N58uXiuKOttQVJUdp2tTKc7v2RewLb2trvHDRlrqi5Ch+87X016o6R0u+dFJnMyrqipIlJCt4uTaQKp+maMhm1PyiKFlAWPDcfMu9yOa1ON3I1jVN8w0VdUXJAlIRvFwbSJVrXxa5ippfFCULSEXwsnUmTC8qPOaXqRhUkoHU5C8q6oqSBaQ6J00uuSd6jZPSiUWCRc0vipIF5JopJRX2dcS20v32K6mhLXVFyQLimVLywRUwn2bIzGZU1POYfBCCQsLLlJIvroBzLzw12HlnFFdU1POUfBGCoyFfKrWUFoXOQnKtYzdXUVHPU/JFCFIlnyq1fHIFzKWO3VxFO0rzlHwSglTIp4EumR5k1LSplSkLH2fMvFVMWfi474AoJfOoqOcpmRaCTBN4pRbtd5dGP7xMesakMtJVySwq6nlKIbjI+RFopbbOXn8zLOTh9TnXNR5FChMnk3Og59MXT6GgNvU8pdA7pQLztDAGOvdFLqjsXHA5Tcu3ZcoWXehmvFxERT2PKeROqcAqtfCCymAJeVjcnQsuJ0lavHICWjtUfctzD114WlESwRi4taJv++b2lAXd7QsiUHPKukbr6yJc6YTNRaXlMLU++9KrJEW8hafVpq4o8QiLohOnjT0J+t1G7TQXhdMYNhd17ks6zbqmae6h5hdF8cMpimGTS3gbkjbBWLZoAzivMXFt1AmbbPrBXFTIZrxcREVdSTs5NdJTxDJbOEUxLJql5UmL5PzBf0AO7aOhqw5L2A0LQsswA8uB6a7XJD2QKpzGsKBDyoIeNDl173OUhERdRGqAnwHFwG+MMQtdzrkKuAWrGfKCMeYrAaZTyRNycqTn1PrIjsawaPqIZNNze1i09tU+8Zp2CrUTqzh/1ACqtzcD0NBVx4LQMmaFmmkZVRd7jS14SY8O9jIXOW3sAXSiJku8e6+CHwxxRV1EioFfAp8H9gDPiMjDxpiXHOeMBeqBKcaYD0TkxP5KsJLb5Oz0BdGi5yOC2+6pZ//Lb9B6+BpAaG0/yP6mG9n2yhjG1f2cJ3/Zyax372dWyBL3J0/4Eu+cMY/6lS+6Cl5SboXxzEWlQ6BzfyCdqMkSrz8h5yr7LCWRjtJzgNeNMduNMYeBe4HLos65DvilMeYDAGPMO8EmU0mJIEdBphKWyzV9NuWIA30ClcGRm7709PhvhzGGza/vYmbRahaElhE2r8wsWs3m13fRtKmV2W9fGXHJ7Lev5NZHXvIUPN+BVG7l42Yumnw9DLQFPaBOVD/cphZwc40ES8B1kFNwJGJ+qQJ2O7b3AJOjzjkFQETWY5lobjHGNAeSwhwgXZ+NScUTx61tftMW7tmwm25jKBZhxuQR3FZ7Jlf/+q+sb3m/N5gp1UNZcfITvmFdfeeTrN/+Qd81Jx3HirF/pmV3KzNbL6dtXyeV5aUsrVrJg2XP8fyREe425XWbXa+pHlEF589L2mTw+f98gtfeOdC7PfbEwTz2nfPd83jdp7zL964v8PruNj538AdY7aAe/nvQ9zl5RCXzj/thTDmuODCDj0JdzAo197bGl3TV8IPOGVSueYW55u6IdM41d9NwMFwekbS1d/CTf5jg6la4eNRjtCx7yLW8mj52A4t+uM5h/rmB2rOGgzG07P2IakcnastJdVT7mJP8nju352jSqKGurW7rbsdSLKKDnAIkEVF3u9PR9yYEjAXOB4YD/ysiZxhj2iMCEpkDzAEYOXJk0onNRpo2tTL3/hc40mMVSWt7B3PvfwEI9rMxKVt0nFGQ81duZvmGvnq62xiWP7WLx7a+xdsfHo4Ian3Le6xu38ZFB5pcw3rwx9fz2fb3WU+fSH921894+a3tfLLnVWZ37aWBOmYfuJPq7c20lY5llnGxKY+8hpbde6jevjzmmvc/GM8Hu/Yws+2KWLH3MBlECzrAa+8cYNxNj9LZHfn4rm95n8//5xPs+aAztnx7ejhjdxsn97zBqgE3Mf3w7awacBMn9+zk5R09LH9lB+EP3nA5FovQ0FXXK+jhvA4qKWL2gTuZFWpmSVdNRP7D50S/bgaPgVTTTqHkxUeo3r4sprye3P8l6t/eQseRnr68rHyxV7TrX5vOy8XLeuO4+LXpND7flvRc7ht3vs/yp3b1nhvO/8rnWl1b3V50G0OVDnIKjLiDj0TkU1gt7wvt7XoAY0yj45xfAU8ZYzVBRORPwDxjzDNe4ebL4KMJt66l3WU5roqyEp6/eVpg8UxZ+LjrQ19VUcb6eRfEXuD8tA5jf5JX//tqupP61DbsOO8vsWFd+H9YsmCGq0gt6aoBDLNCa3ovWdJVw+JB17F0eBPV2/tEpeWkOqrrfs6UhY/3ip7zmoEh4WpWx8QRvs6thTl63qok8ueNJTYHWDXgJk4v2tm7f2vPKKYfvh1LhCPdE4EIsQ7n4wfddXyr+EGGcDDmS2U/g/hp1xdd07BjobtXzJTGP7mW1+3dM+l2ub1VtrnG7ZrFg+ewvv6zsXH4PHdv7etM8jlyp8pu/esgp8SIN/gokZb6M8BYERkDtAJfBqI9W5qAGcDdInICljlme2pJzi3cBN1vf6ok/Xnq49aW/IvoHZYlTsSYGvr294l6Q1cdsv+QJcS39ol6WJjb9nXSQGwLly44FDIxcSxuvZz1/ey1YZVvEdMP386O0mt6908/fDv/GnrIRaCXMrHodSYWtfi0xqGvIhDXFnpCafMqL8+8HOT7jko3Im0HAHNBTAXp99wl+xQdN6iEziM9rvPxFPpcRUESt6PUGNMF3ACsAV4G7jPGbBWRBhG51D5tDfCeiLwErAPmGmPe669EFyLlZSVJ7fcbBVmctBD6jaiUGCEJb1sdhX0sCC2jcshAz7AqykKu1zjDdMbRtq8zyXwkj/X538OqATdF7F814CaG8BGzQs0RHaLhSqyvYrPKZ0lXDR8ymNiWPS7bCaatvNS1vIo9gqusGIQZWO6aNjPQ3efer5PW6zkScJ0h9OZLTvcdnVo7sYr18y7gjYXTWT/vAhX0FEnIT90Y8yjwaNS+BY7fBviO/VdQHDeohA8OxrbKjxvkIbYp4qXDrvvjuLXNOOcrETb1MB87dkCMTR0Mdxx/P2xocg1ryphL+Ozu/xtxxYLQMirKQlxxJLZFeEXpDtiwLTYsY7jR7OJqD3tzdDfOgtAyFg+e41leY08cHGNT96NYYECoOLYV+fmxjP3DdE4v2tlrcnGaYpZ0TYv5grjnuH/itb0HiG6NX3PuKMZufy+pdA0ZWOx+wBirX2F7bHmN+/ixzH77yl6bem9eLjwVuJn6hzYD4WPCIrmWxovHu0bjN9tltE09zNXnjmTSqKGerW4V6/5FR5QeJTdfcjpzH3iBIw4jZkmxcPMlpwcaT7tLxeG5P84oyNsuGg8iCXq/HM9FJ4+DTrewhrBi5B/hTRchPnESLQOuYXHbFci+ThYPnsN5VcOo7t4On3RP196ud1hCZCsSYGLRa67mjPOqhrmaDAAe+875rt4v35g6lm///vmIKkKA/7hqAuD++f/uk8PYuhfbhl7UK+wfGzaM7cO/Dy+s7Q1r+9k38djl4128QkZyW+2ZgLdXzvibm9l/qE88hwwsZvOtNa73HRGqR1TRQh2LWy+PKOO/G1FF45TxvqaMRM0cfmaR8DG358h5rZJedJbGAEiHS2PSHaUQ6MhB1xGSZw33d530ckP0SJeVx4NEdzx+f/DDnD9qgLurYwoDZpK9X02bWpn7wCaOdPelq6TYsOjKCdS+/QvXzui0DcnP0OhQJXPE6yhVUc8RMjkFaty4AxIW33gmVGZMvNwrVMOPBt/DVd2PxJqS0i3sSaLD8XObILxflCwgk94BcYf2JzGE3o+k8phGwXT3ABHaDg2AKcFM9JUucnLuHSUptKWuxGXMvFWu7msCvOHhQ51P+Jq+vjc1p8wfKZnxlKxCF8lQjppAF3HOQXwX8Q7oKyVd6HD8/EdFXYmLr6gVAPm0+k+hV9CFgNrUlbjoaL/8Wf3Hz+9cyQ9U1JWEyBdRK3S0gs5/VNQVpcDQCjq/UZu6oihKHqEtdUUJk8WjM3XAkJIo2lJXFLCmO+ideZK+6Q7WNfpflwbCA4Za7eluwwOGmja1ZjppShaioq4ozpWi+nntzlTQ9TuVZFDzi6I4h/g71u7MljlcdMCQkgzaUlcUiBT2MFkg6KADhpTkUFFXFPBdKSrTFPqIXiU5VNQVJXqlqJvbrf9OG3sGSds0BdH5zIIKTUketakrSpyVorLBBNPvA4b8FjtJYSESJXOoqCu5QX/7kE+tjwwzLOxZIOj9jtP7B2IX/Mgif30lPirqSvaTrlZkjk2jGxhZ7v2jJIfa1JXsJst9yPOGLPb+UZJDW+pKdqOtyPTg5f2jZZxzaEtdyX60Fdm/ZLn3j5IcKupK9pPFPuR5gZf3z+Trs8b7R0mchMwvIlID/AwoBn5jjFkYdfxaYBEQnmHoF8aY3wSYTqVQiW5FOj0zQFvsQVHI3j95RlxRF5Fi4JfA54E9wDMi8rAx5qWoU39vjLmhH9KoFDJZ4kMe5NS3WTuNbqF6/+QZibTUzwFeN8ZsBxCRe4HLgGhRV5T+IcOtyPDUt+GZEsNT3wJJi3GQYSmKG4nY1KuA3Y7tPfa+aK4Ukc0i8oCIjHALSETmiMhGEdm4d+/eFJKrFCwZbEUGOfWtTqOr9DeJiLrb2xPdQ/VHYLQxZjzw38Bv3QIyxtxpjJlkjJk0bNiw5FKqKBkiyKlvdRpdpb9JRNT3AM6W93CgzXmCMeY9Y8whe/PXwNnBJE9RMk+QU9/qNLpKf5OIqD8DjBWRMSIyAPgy8LDzBBH5hGPzUuDl4JKoKJklyKlvdRpdpb+J21FqjOkSkRuANVgujUuMMVtFpAHYaIx5GPimiFwKdAHvA9f2Y5oVJa2EOzCD8FgJMixFcUNMhgZwTJo0yWzcuDEjcSuKouQqIvKsMWaS13EdUaooipJHqKgriqLkESrqiqIoeYSKuqIoSh6hoq4oipJHqKgriqLkESrqiqIoeYSKuqIoSh6hoq4oipJHqKgriqLkESrqiqIoeYSKuqIoSh6hoq4oipJHqKgriqLkESrqihImehrqDE1LrShHQ9xFMhQlm2na1BrMghPrGqFzH9Q0WotaGwPN9VBaDlPrg094QASWfyVv0Ja6krM0bWql/qEttLZ3YIDW9g7qH9pC06bW5AIyxhL0DXdYQh4W9A13WPuztMUeWP6VvEJFXclZFq15hY4j3RH7Oo50s2jNK8kFJGK10Cdfbwn5rRXW/8nX97Xcs5DA8q/kFSrqSs7S1t6R1H5fwsLuJIsFHQLOv5I3qKgrOUtlRVlS+30Jm1ychE0xWUqg+VfyBhV1JYKmTa1MWfg4Y+atYsrCx7PaPjv3wlMpKymO2FdWUszcC09NLiCnDX3y9XBze58pJouFPbD8K3mFer8ovYQ73sJ22nDHG5CVHhXhNB2194eI5eXitKGHTTGl5Vlrggks/0peISZDrZBJkyaZjRs3ZiRuxZ0pCx+n1cUeW1VRxvp5F2QgRWnGmEgBj95WlCxARJ41xkzyOq7mF6WXgu94ixZwFXQlB0lI1EWkRkReEZHXRWSez3lfFBEjIp61iJK9aMdbZsml/gwle4kr6iJSDPwSuAg4DZghIqe5nHcs8E1gQ9CJVNJDujreVLxi0YFESlAk0lI/B3jdGLPdGHMYuBe4zOW8HwA/AjoDTJ+SRmonVtF4xZlUVZQhWLb0xivODLTjTcXLHR1IpARFIt4vVcBux/YeYLLzBBGZCIwwxjwiIjcGmD4lzdROrOpX7wk/8Spkrw2r38IATju+SWt/hs4jkx8kIupuvUW9LjMiUgT8BLg2bkAic4A5ACNHjkwshUpeUfCdsbiL5/zBf0AO7aOhqw7rlTMsCC3DDCwHpqclTbnkzqp4k4j5ZQ8wwrE9HGhzbB8LnAE8ISI7gHOBh906S40xdxpjJhljJg0bNiz1VCs5S6F3xrqbnzbzyeN6mBVqZkFoGWFBnxVq5vxRA9Iy+EnNP/lDIqL+DDBWRMaIyADgy8DD4YPGmH3GmBOMMaONMaOBp4BLjTHqhK7EkBWjIDM4b7q7ePYw98MZtJxUx6xQMztKr2ZWqJmWk+qorvt5Wlwr9Qsqf4gr6saYLuAGYA3wMnCfMWariDSIyKX9nUClj3zwGklHZ6wv6xojh/6HpwhY1+h/XUB4iue+TkvAHaRL0EG/oPKJhKYJMMY8CjwatW+Bx7nnH32ylGjyyeYZZGdsUp17znnTwZoKwDHnS9Nze1i09tV+7SisrChzHbVbWV7qPqFYmmaKnHvhqRHPF+g8MrmKzv2SIxS614ibeAPJVXTOOV023NEn7pOvp+ljN1C/8sV+rzTdxbOIpVUrYcOyvvlnwpUN+Ap7UB4rtROr2Ljzfe7ZsJtuYygW4cqz+9cTSukfdJqAHKGQbZ5evu23/nFr8p17HvOmL1r7alo6Ct3NT+OpHlEVO6HY5Ot9JxQL0ue/aVMrDz7bSrdtluo2hgefbc1JE1+hoy31HMHzs70AbJ5eXynR+8L4VnQe86a3tX8aN+/d/qg03c1P9ZETiIWF3cf0EuTXW6F/CeYT2lLPEbLCayRDJCusnhWdz7zpPxx8D47hF/HD6g+SnFAsyK+3Qv4SzDe0pZ4jFPLc2V5fKRVlJRzq6vHs3HO1N3vMmz6+XSh7KZS1HYUxnbjTTgn0662QvwTzDZ1PXcl6oj1/wBLcxivOBNwrOt9rjIkRyNqzhmftMPlt99Tz9MtvsODwNYRHmzYMWM7wT3ycb7TVuOYx2XT7lVc2lIHSR7z51LWlriSEn+B5HQvSMwO8v1LcwvSyEd/y8NaI1n1rewf1K18EkX6f9yYljGHz67uYWbSarpChoauOBaFlzCxq5r53L6bx8jMCccMs5C/BfENb6kpcrFbcZjqO9PTuKyspovGK8QCuLbwrz67iwWdbk2pdB8noeauSOr/KTkcmRc2rEhw975HeaQPCLOmqoaGrjh0LL05b+pTsIF5LXUU9n0lleTaXaxbf9o+ek00tKfmyqy22WKTXPc7JcYNK6DwSawcP+jO/uv5R1/gtYmdDBKGspNg7XUmWZbJfKX7mj+/e9wLdpocdpVf3HhvduYJiKaKl8QueYSr5iZpfgiQda1gGFce6Rlp27mbmm1fStq+TyvJSln7iQapHjYCp9Z7X0LmvrxPRGFg9j7OObGRiqAWg9/N/VqiZJYdqaDtwEDdXQC9B/eDgkZh9Ea5zSeZ/ftOWiAEzMyaP4LbaMz3j/9fQAwzhYEwF9SGD+cmRK93T1b6Ult2tzGy9vK8sq1ZavuUuZdm0qZW5D2ziSLeV7tb2DuY+sAnA0yzl51LYbXrsib76WBBaZudBUSLJKVHPaEfWukbPF3v+votdhcUPVzEqf8RXPLzyHxPWOcO5adsSqg+9w+yuvTTwVWYf+BXVO9bS8eaJlJ0/j8n/5795+8PDven52DElbDjbGkJ/1/o3uLWrjptDy/haqJkBRWPZ2jOKWaHmXhPA1p5RmIFDqDxmUFItdS/a2jtgXSOrN27j+ve+RFhw7zj+fi6aNM5VPOc3bWH5U7t6t7uN6d2ucvXmMJRzkK/ZeYiooLpqiG3BQ1v7QVp2t1K9fZldlnXMPnAn1dubaaGOapdKZ/gfvkhT8QGmd9+O5TXcQ1PxTXT8YTBNPOA6CtbL5761/SA/GnwPV3U395pcwmk+ZmAIzHRdS1WJIGf81DO6Yo4xfS/2gTsxGPvFXsbqjdtY/tTOiJF4y5/axfymLZ7BhcUo8pqdrN64zTWOlt2tND23xzX/V//6r7FhbdjJ9g7LFW1WaK09699aALZ3lDH5trURgg7w9kdHGPeXv2dJVw1fs2cK/FqomSVdF7Khq5rTi3ZGnH960U5Ch/czqMRdUEo8niyvB66iLMTqjdu46EBTxPSzFx1oYvXGba4zKf5uw67YgOz9o493c8UTbu2qY0lXTcRsiGGxdPviqKwYxMzWy12vmdl6eayg9vRQ1nOA04t2smrATUAPqwbcxOlFOynrOcCi1S+7tsi9EcafPJKlPRf1prGhq46lPRcx/uSRKuhKDDljU5+y8HHXFmFVRRnr510QZNLc42/8E7MP3OnaWeUmBsUinvZOb3uvce0QWzx4Doi45t+bPjEJs7VnFNMPh1uPXpgY2y2YFMNKnIqyEto7DifVIejXGer/peCWR2+b+rd//zzG5RpBeGNh7AIWo+f90bO8hCKXIU7+7Fg43dVPvfas4UmGpOQD8WzqOdNSz/SIt7Z9nTE2TC9BB2+bsv8xcY2jbV9nCvkUNvREDpyxtv1adsbFdruUBaHlri31BaHluI3CTIV9HUfwyr9/mt3xE3Q3+zQYzymBK8tLXa+pLC91jaGibKBd4fUx/fDtVJQNTHowT7HdEq89azjr513AGwuns37eBSroiic5I+qZnu/Z68X2ErVin89i72PuglNZXppkPg0LQr/tNbmEmRVay4LQbz3SbCLsy6M7V9gmhzVMLHqVrT2jIs7e2jOK/ZSRiuC6YeXPW3DdKPOw8ZSVFHmUsVcerRWHaidURgqn3XG7tGql6zVLq1a6moVuufiTPDrgpoh9jw64iVsu/qTndA9Tqoe65mXG5BGu+xXFi5wR9YzOfeLzYt9x/P24iY7fy+h+zOoU9BKPudNOSUIMDJcUbwAs8R3dubxXlC8LPc3HBpe4XCMclMERJqWGrjqWdF0ICKcX7YxI1+lFOzmhuJMpJx3nmsePHTvAdf+U6qHu93HaKZ75v+P4+13Fs/GK8TEPcJG9372MhdCgCpc81jC66hPu9mkRqkdU0XJSHYsHz0EQFg+eY61KNKLK1aZe+8wMTivayasyhjGdy3lVxnBa0U5qn5lB7d98wvWLYMV1n+Kac0f2VkbFIlxz7si4He6KEk3O2NRBvV8S9n6ZPILbPvger+9u43MHf0DYA+O/B32fk0dUwtceZfLtj0V6vxw7gA03fZ75Kzdzz9N7IjxpbqtYxfInXmD+ob5h6rcNXM415/8NTK3n6l//lfUt7/eGNaV6KCuu+5Snu6HnfUzS+wX8nwmv+F3zePl4//ufjKvlXV+AQ/thzv9AURH09MCdn4GBQ+Brj7pfoygJooOPgiSX/NTBEpOiIu/tTKUrG+Lpb4Ise0VxkDcdpVlBklOjZjyOaBE5GlFJR97TGU9/E2TZK0oS6JOmKIqSR6ioK4qi5BEq6oqiKHmEirqiKEoeoaKuKIqSR6ioK4qi5BEq6oqiKHmEirqiKEoeoaKuKIqSR2RsmgAR2QvsjHti8pwAvNsP4eYCmvfCpZDzX2h5H2WMGeZ1MGOi3l+IyEa/eRHyGc17YeYdCjv/hZx3N9T8oiiKkkeoqCuKouQR+Sjqd2Y6ARlE8164FHL+CznvMeSdTV1RFKWQyceWuqIoSsGioq4oipJH5Kyoi0ipiDwtIi+IyFYRudXeP0ZENojIayLyexFxXwE5DxCRYhHZJCKP2NuFlPcdIrJFRJ4XkY32vqEi8pid/8dExH1V7BxHRCpE5AER2SYiL4vIpwoo76fa9zz8t19E/rVQ8p8IOSvqwCHgAmPM3wATgBoRORf4IfATY8xY4ANgdgbT2N98C3jZsV1IeQeYaoyZ4PBRngf8yc7/n+ztfORnQLMxZhzwN1jPQEHk3Rjzin3PJwBnAweBlRRI/hMhZ0XdWHxkb5bYfwa4AHjA3v9boDYDyet3RGQ4MB34jb0tFEjefbgMK9+Qp/kXkSHAZ4DFAMaYw8aYdgog7y58FmgxxuykMPPvSs6KOvSaH54H3gEeA1qAdmNMl33KHqAqU+nrZ34K/BvQY28fT+HkHawKfK2IPCsic+x9HzPGvAlg/z8xY6nrP04C9gJ32aa334jIYAoj79F8GbjH/l2I+Xclp0XdGNNtf4YNB84BPul2WnpT1f+IyMXAO8aYZ527XU7Nu7w7mGKMOQu4CPiGiHwm0wlKEyHgLOAOY8xE4AAFaGqw+4suBe7PdFqyjZwW9TD25+cTwLlAhYiE7EPDgbZMpasfmQJcKiI7gHuxzC4/pTDyDoAxps3+/w6W8jajvQAAATdJREFUTfUc4G0R+QSA/f+dzKWw39gD7DHGbLC3H8AS+ULIu5OLgOeMMW/b24WWf09yVtRFZJiIVNi/y4DPYXUYrQO+aJ/2VeAPmUlh/2GMqTfGDDfGjMb6BH3cGHM1BZB3ABEZLCLHhn8D04AXgYex8g15mn9jzFvAbhE51d71WeAlCiDvUcygz/QChZd/T3J2RKmIjMfqECnGqpzuM8Y0iMhJWK3XocAm4BpjzKHMpbR/EZHzgRuNMRcXSt7tfK60N0PA74wxt4vI8cB9wEhgF/AlY8z7GUpmvyEiE7A6yAcA24GvYb8D5HneAURkELAbOMkYs8/eVxD3PhFyVtQVRVGUWHLW/KIoiqLEoqKuKIqSR6ioK4qi5BEq6oqiKHmEirqiKEoeoaKuKIqSR6ioK4qi5BH/H+6zne1fGjjUAAAAAElFTkSuQmCC\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"yhat_nn_train = NN_model.predict(---)\n",
"plt.scatter(---,---);\n",
"yhat_nn_test = NN_model.predict(---)\n",
"plt.scatter(---,---);\n",
"plt.title(\"Predicted Probabilities vs. Age from NN in train and test\");"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Q5.1** How do the random forest and NN model compare in the interpretation of Age with AHD? Which is more reliable?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"*your answer here"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [],
"source": [
"# Create the data frame of means to do the prediction\n",
"means1 = X_train.mean(axis = 0)\n",
"means_df = (means1.to_frame()).transpose()\n",
"\n",
"# Do the prediction at all observed ages\n",
"Ages = np.arange(np.min(X['Age']),np.max(X['Age']))\n",
"means_df = pd.concat([means_df]*Ages.size,ignore_index=True)\n",
"means_df['Age'] = Ages\n"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"#plots at means\n",
"yhat_nn = NN_model.predict(means_df)\n",
"plt.scatter(X_train['Age'],y_train)\n",
"plt.plot(means_df['Age'],yhat_nn,color=\"red\")\n",
"plt.title(\"Predicted Probabilities vs. Age from NN in train\");"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAaIAAAEICAYAAAAdjPDnAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOy9d5xlV3Xn+9s3VY4dpW61hAgiCKFEkg1mLJIRIhkDwgZsE8ZjezwzHzxje4ZnY8Z+w/N7nje8GT9j7AdYZCyPSSbZBoEBMSBAEghJKKfOXV05193vj3W+vdfdfW91dXe1Wiqd9fnUp6ruPWens8/6rbxDjFEllVRSSSWVdLqocroHUFJJJZVU0qObSiAqqaSSSirptFIJRCWVVFJJJZ1WKoGopJJKKqmk00olEJVUUkkllXRaqQSikkoqqaSSTiudViAKIZwTQoghhFrx/xdCCG96CPp9Zwjhw6e6n6Kve0IIzz/Be68NIbylw3e7QgjTIYRqfm0I4RdDCF9epd3nhBBuO5ExbWQKIfxUCOH2Yl1fcbrHsx50up91vk9P4P5/FULYV7Sxab3Hl/X1yyGEb7j/YwjhcSfQzkPGX9aTHir+246OCUQFI50rNsK+EMIHQgj9p2IwMcafizH+9RrHdELMfQ1tPy+E0CzmOxVCuC2E8Cunoq+ToRjjfTHG/hjjSpvvPhJjfCH/5y9UjPGfY4znPVRjPVkKIfQVz+Pzp7ird0n6H8W6fuoU93UUFft6Xwihz332lhDCte7/GEL4YQih4j77oxDCB9u1eTLPOmfMJ0Kr7dM19F+X9F8lvbBo49DJjKWkRO3Acq3891TQWjWiK2OM/ZIulvR0Se/ILwhGG8XUt7uY76Ck35H0lyGEJ+cXocmVdMrp1ZIWJL0whHDGKeznbEk3t/viIdzfNUn/5hjXnCnpdQ/BWI5JJ6rprJG2SepWh2eyGm0wfnQUbTTec1wPKsb4oKQvSDpfOmIO+uMQwjclzUo6N4QwFEL4/0IIe0IIDxbSGuajagjh/wohHAwh3CXpCt9+booKIbw1hHBLoZn8OIRwcQjhQ5J2SfpsISX/h+LaZ4UQvhVCGA8h3BhCeJ5r5zEhhK8V7fyDpM1rnG8sJOPDkp4ckinxzSGE+yR9pWj/ZSGEm4u+rw0hPClr6unF+A8XGmV3cd9ICOFzIYQDxXefCyHszO59bAjhOyGEiRDCp0MIo8W9LWbNbB2PSLIhhK8XH99YrNdrC63vAXf9mSGEvy3GcXcI4bfcd88IIVwfQpgspPX/2m6tiuf0Uvd/rXjOF4cQukMIHw4hHCrW6LshhG1reQYFvUnSeyXdJOkXs34vDiH8oHi2fxNC+EQI4Y/c9y8NIdxQ9PutEMIFHcZ/p6RzlfZVV4f9fWYI4TMhhLEQwh0hhLe6Nt5ZjOHDxXh+GEJ4Qgjh90II+0MI94cQXtiuf0f/p6TfDiEMr3LNn0j6w7UwozbP+p4Qwm+HEG4q9tQn2I/ZfU+Srfmzi/UYLz7/YAjhz0MInw8hzEj6FyGEK4pnMFnM8Z2undz8fm0I4T+HEL5ZrNGXQwhHvY8hhCdIwqQ4HkLgXbus2D8Txe/L3D1HPa827f5uCOHOkHjKK4+1hh3WteM+KKi7WNupEML3QwhPc/f+TjDeiMXl8uLzihvfoRDCJ8PR7/sR3hNC+GII4Tezcd0YQnhV8fd7iucxGUL4XgjhOcXnL5b0HyW9tni2N7r1e4sbyztCCPcWe/fqEMJQNpY3hRDuC/ae/yc3hjXxjBaKMa76I+keSc8v/j5LJp385+L/ayXdJ+kpMkmuLulTkv5CUp+krZK+I+lfFtf/mqRbi3ZGJX1VUpRUc+29pfj7FyQ9KNPAgqTHSTo7H1Px/w5JhyS9RAauLyj+31J8f51Mxe+S9FxJU5I+3GG+z5P0QPF3RdIrJS1JOk/SOcV4ry7m1yPpCZJmij7rkv6DpDskNdxYf+Tm/E1Jf1R8t0nSz0vqlTQg6W8kfcqN5dpiDc4v+vtbxu3G0m7tflnSN1w7UdLjVpnj9yT9vqSG7OW9S9KL3Nq9ofi7X9KzOqzb70v6iPv/Ckm3Fn//S0mfLeZZlXSJpMFj7b3i3l2SmpKeLOntkm5y3zUk3SvTIOqSXiVp0a3vxZL2S3pm0e+biufRday9vsr+/pqk/1cmqV8o6YCky4vr3ylpXtKLiuuvlnS3pP9U3PtWSXcf612T9D/dHN4i6drsWT6+eGY87z+S9MFj7WfXx3dkWtWopFsk/VqHe1v2UfHZByVNSPqpYu90F308tfj/Akn7JL1ilX16p+y96Sn+f3eH/vN7R2VC4RuK9b2q+H9Tp+fVps1fKOZekfRa2bt7xlrem6ydY+2DJZkmX5f028U+qMv4yP2SznRzfGzx97+V9G1JO2W86i8kfSxbC8973ijpm25MT5Y0rmJ/S/olGY+pyd6dvZK63Rg/nM3pWqU99asyPnau7L3/n5I+lI3lL4txPE1msXjS8fCMlr7XwAjukTRdTPDeYvF73MDf5a7dVgyox312laSvFn9/RW7TS3qhOjPTL0n6N2tkGL/DIrnPviRjPLskLUvqc999NH8I2YvbLOY7JukGSa/LHsC57vr/TdIn3f8VGXg8z43Vz/klku7s0PeFkg5nG+Pd7v8nyxhtVesHRM+UdF82jt+T9IHi769L+kNJm4+xTx4nA/je4v+PSPp9t6m/JemCY+23Nu2+Q9INxd9nSlqRdFHx/3OLtQ7u+m8oMfE/VyE0ue9vk/Qza9xX16p1f59V9D/gPvsvKkBA9nL/g/vuStm7Uy3+HyiexfBq/csEjwlJW9QeiB5X7KP7ZAzreIHol9z/fyLpvR3ubdlHxWcflHT1MZ7Zf5P0f2fvjN+n73DX/rqkL3ZoJ7/3DZK+k11znaRfbve81ri/bpD08rW8N8e5D77tvqtI2iPpOcWz218853rW7i0qwKz4/wwZoNXUnvcMyID07OL/P5b0/lXmeljS09wYVwOif5L06+6789qMZaf7/jtKfHJNPMP/rNU094oY43CM8ewY46/HGOfcd/e7v8+Wof6ewhQyLkP1rcX3Z2bX37tKn2fJJKe10NmSfoE+i35/WvYgz5Qx95k19iuZj2g4xjgaY7wwxvjx7Hs/hzN9ezHGZvH9jg7X31vcoxBCbwjhLwr1d1L2AIdDq909v7euNZoW10hnSzozW7v/KBMqJOnNMun11sIU8tJ2jcQY75C9SFeGEHolvUwG+JL0IZlg8PEQwu4Qwp8Ec0Svhd4oAzXFGHfLJNE3Fd+dKenBWOz+gvL9+PZsbmcV962V8mc9FmOccp/dq9Znvc/9PSfpYEyOet6bVYN9Yow/kvQ5Sb+7yjWflwHR21YdfXva6/6ePdZ42pBfE4UQnhlC+Gow0+6EzPKx2h490f5b3rWC8vW/X6tQCOGNIZlqx2Wgf7zv01r2wZFxFDzhAZkWdIdM83mnpP0hhI+HENiPZ0v6Oze2W2SAt61Du1OS/l7JX/g6Fe9KMde3BzOZTxTtDR3HXPO1vlcGQn4snZ7jmniGp/Vw5uVMYEGGhMPFz2CM8SnF93tkjADatUq790t67Br65NoPuT6HY4x9McZ3F32OBBeJdIx+10K+/92yDSTJnKSyOT7orsnnvLv4++0ySeOZMcZBmYQvmSmy071Lkg6ezOAzul9mLvJrNxBjfIkkxRhvjzFeJRMm/g9J12Rr6eljMg345ZJ+XLx0ijEuxRj/MMb4ZEmXSXqpDGBWpcL+/3hJvxdC2BtC2CvT4K4qfA57JO0o1hzy63W/pD/O5tYbY/zYWhdHRz/r0RDCgPtsl1qf9XrRH8hMeTtWueYdMrNf7ynoXzr6Pev0+UclfUbSWTHGIZlvKRx118lTy7tWUL7+ncasEMLZMnPSb8rMecMys/nxjnUt++DIPgwWNLGzuE8xxo/GGH+6mEuUvVeS7defy/ZrdzTffKf5fUz2PjxbZib7atHnc2SWotdIGinmOuHm2nGd3Bz9WmNZ2tf+cjfA4+MZktY5jyjGuEfSlyX9aQhhsHB4PTaE8DPFJZ+U9FshhJ0hhBGtIvFJ+iuZ0/aSYPS4YiNJthjeEflhmST+omABEd3BnLQ7Y4z3Srpe5txthBB+WmYyWS/6pKQrQgiXF1L+22Vg/C13zW8Ucx6VaRufKD4fkEnJ48V3f9Cm/V8KITy50DLeJemaePyhsPl6efqOpMlgDtSeYv3ODyE8XZJCCL8UQthSSHXjxT2d+v+4zNz6r5S0IYUQ/kUI4amFpjcpA9O1zOFNkv5BZpK8sPg5X8Z4f05mllmR9JvBgiNeLukZ7v6/lPRrhcQegoWBX5ExkDVTjPF+2XP9L8Ueu0Am/X1k9TtPqK87ZPvkt1a55lpJP1TSENeb9knaGUJoHOO6AZmGMB9CeIak15+i8Xxe0hNCCK8vnvdrZXvjc2u8v0/GgA9IUrC0jPOPdxBr3AeXhBBeVQhM/1bGE74dQjgvhPCzIYQumT9xTuldeK+kP4bPhRC2FHt6Nfq8DDDeJekTxXsq2TNZLuZaCyH8viwKGNon6ZzQObLwY5L+XbBAr35J/3vR/vIxxnO8PEPSqUlofaPMifxjmU3yGpmJTDLG8CVJN0r6vswB1pZijH8js3l+VOZ7+JTMWSmZPfYdhQr728XGeLmMyR+QSRb/Xml+r5dJ0mMyZn/1eky0GOdtMqfgf5dpKlfKwt0X3WUflQH0XcUPUV3/TSbFHJQ5Kb/YposPyezye2WO0Y6MaRV6p6S/LtbrNdn4V4oxXyhzqB6UCQFDxSUvlnRzCGFa0ntkduD5dp0Ugsh1Mq3nE+6r7bJ9MCkzN3xNJjwohPDeEMJ787aCRXK9RtJ/jzHudT93y9bkTcUav0rGBMZlz+FzspdeMcbrZVrF/5DtxTtkfoCToatkNvLdkv5O0h/EGP/hJNvsRO+SMc/V6B1K78V601dkwUl7QwiraeG/LuldIYQpWdDKJ0/FYKLlEb1UJuwdkgUGvTTGuCYLQYzxx5L+VLZH98kCLL55gsM51j74tCwYguCKV8UYl2Q+vXfL3rO9Mq3hPxb3vEemWX65WMtvy/jWanNakPHR58sJfzI++wVJP5GZ1ebVarb8m+L3oRDC99s0/X7Ze/Z1GV+Yl/SvVxuLozXzDCi0mtdLKumRTSGE/yVzvn/gdI+lpJJKWhtt2ISvkh4dFEL4mRDC9sJU8yZZ+HA7zbKkkkp6mNK6A1EI4f3BEqB+1OH7EEL4f4Ilgd0UQrh4vcdQ0qOKzpOZeidkJptXFybCkkoq6RFC626aCyE8V5Y7cXWM8ShHYAjhJTJb40tk9s/3xBhXtYOWVFJJJZW0cWndNaIY49dlQQGd6OUykIoxxm/L8mZOZf2wkkoqqaSSHsZ0Ogrn7VBr9MYDxWdHmVNCCG9TkbDX19d3yROf+MSHZIAllVRSSRuBvve97x2MMW453eM4Fp0OIGqXPNbWPhhjfJ+k90nSpZdeGq+//vpTOa6SSiqppA1FIYRjVZF5WNDpiJp7QK3Z70cyjksqqaSSSnr00ekAos9IemMRPfcsSRNllFNJJZVU0qOX1t00F0L4mKzi7+Zg56D8gaxQp2KM75WVpHiJLMt9VtLD7vTTkkoqqaSSHjpadyAqit2t9n2U9Bvr3W9JJZVUUkmPTCorK5RUUkkllXRaqQSikkoqqaSSTiuVQFRSSSWVVNJppRKISiqppJJKOq1UAlFJJZVUUkmnlUogKqmkkkoq6bRSCUQllVRSSSWdViqBqKSSSiqppNNKJRCVVFJJJZV0WqkEopJKKqmkkk4rlUBUUkkllVTSaaUSiEoqqaSSSjqtVAJRSSWVVFJJp5VOxwmtJZVU0iOEYtuzk4/93Xq0fyqoU39rHUez2f5eftq1dSJzbDZb7xsaOv42HklUAlFJJT3CyTPCdkyxHZP0TK7T36eLYMKd5tLu72bTflZW0nf+7+Vl+5/r6IPP6NcDwMpK+jwfn++Xv/3Y/fd+fKv97eeUt/uWt5z8uj6cqQSikkp6mJNnWDnjaiehewoh/eZvSapUWr/P/273f6fPVus3p3bMuR0j9u1w7cqKAQo/Kyut4JL/L6W2Q7A5sw781Gqt/+fj9P/naw6Q0aefU34f86g4Z0i7ftv1/3AQDk41lUBUUkkPI/LMzTM4T5VK+skZqQeYtYLGqSIPIPy0Y6qMm+sBmYUFaWmpvYZEO4BJtWo/lYpUr6fPajX7rFpN/XhAAtQWF61P+ssBMoSjNS6AhXbpw/ftAVBqBSKIOefrlY/jdD/PU0klEJVU0mkkbzbyZiKplZH6n4crAaJeY/FM1IOj13SWlw0AlpZawapaNVDxAALD9+ADALVbHxg5fczPJ4BbWkpjACxom3496NE34/L9+/7amdzydco1XACIfmi/XpcajfV/Vg83KoGopJIeYgJ8YLxSYoKewT2cyftYlpdbtRfpaNDwIATT5fqVFbu2ry+BgHS05uMZv18fxrG42AqCy8vWPqDjAafRkPr77XejkYCN8XgTW96nBxK0KU9eO821L+7LTXRdXQlQfX8bWQvyVAJRSSU9BAT48CMZ0+nqSlrPw4W8VO/9Iv5/D6SYqGDqaBPeVAggeKDI7/HAJqXv/frw/dxca3te6wAwAJLubgOdrq7UnmfwzaaByfx8agdgQitqBzjePOo1Mt8268ScWMtc+6I/yO+XZtNAeiNTCUQllXQKKUZjYJiBYK71+kMPPrmvJQeadmYkqRVUPOPv6rJ5IM236w9thPvwoXBvtWrfLywkE16jkdrDnOa1Ggjm3dub2vKRcPTFT05ei+J6gATgYP65v2m1Z+fnnUck+jExZv+9F1a8SbD0EZVUUknHTQAQUnS9fjTjOdn2j/enHeUmpPw3zG9pKc3FaxbtKGfwaD/d3Un6r1QMfBYW7HvP3GdnW5kxzJ/7fRusBeOLMV2baz4QpkQCFHIzmAfD4zGPxZhMlFKrZhajjYd2eSYAFvf5CD/muLKysUFIKoGopJLWlTDzwIxwNnv/iHR0HsyxPmv3XSfygQEw0jyybi1Rdbk2V6121n6kFOmGuQ4tIze/zc6aluMBCNCin1rNNB0YdzsNpB0ArTa+hQXrm+sbDQMsAOdETaRe6MD/02ymtSD4YGXF5u19ZAB2HtmH75DnXia0llTSw5Rys8ex/j7Z/1f7DsYDk8P0wufH6sd/jl+iHVjkkWf87Z36/I+Zql1feY5KDnhI6Z6R5lFk/F5eTtFoeV4TY1xcNL/O3FyaG5qBN6PBjKvV9smmgBVrLbUycSkxce5fWpKmp1v9Ul6b82HTzKmdGZO2AB6v+S0ttQIQc8qBhXtoS0pA6yMoeXb8fO5z7ffLRqESiEo6LdQpN8QzOc+E+N2Ogfrfq/3dyUfCdZ4J+c869e8ZMYwJ84vv2zO5TgwunzcaAuYpnPQwV+/IbpdU6a+HUfowYR9R5vvwUjtjbJdD4/N9fJRZu+fJte2eTTuzYb7uft2OFRbt7/O5S/4ZekBdTQNtN5/cr/ZQUR5pt9GoBKKSTgm1y5PIJc92L3pOXvpv95u/+WnH1PN2vXmKseTaR56A6PNe/Pzm55OU7X0CnebIuPx1nmESieaBo908cPzn2gPXAS7c4/0p3uGO1sbaLS+bGYgQ6hwoYYj+WebhyZ5hogm0I6/5dWL+uZbCPGu19Dnr5ZNg0VxiTM/FrwHjrVZb/VE+sZT5tJtLrpV6DYj/2+35vHqDb4Nng38oxuRX3MggJJVAVNI6UF4JIM8K91Jo7hBv93f+I3VOhvRmjE6A0wkQ2vlN+N2JGcKspqdNCwrB/AxoQR64fFt+bbymkldPYI4+UZN+Ya6YdPL6aTwD74+CEXuTl89XqddTOLR3qvOsiPDy4/A+MN8v2iD+kLk5a5v76/Xkk/FCABobhNnM+1YWFlo1wKmpZOLyIfHezNfbK/X0tOYHYW6cn7efubn0mV8/zHe00dPTOo/eXvt/fl6amUltY5ZjXLTV1WUh2D7SsKcn/c+65SZGTH85iG00KoGopOMm/9Lyk+dyACxeolstKutYBMPq1JfP5ZBaGaTXCvIMfcbhr/dhtzBnTFiLi8ZsSELs729tx4/Vhy77nBvm39d3dHUAD1wwXx9N5SV8GDa+D8YrJdAhUMKvEfOdn5cmJmxOMMuc6UL4Pubn7TrGuLRk1zKXGC0gYGnJQKenJwUrSK3hyUtLNpa+vrRP6DdGA4mDB629ublW02BXl4EBewiA47nVaik6Dt8UgMP+qdVM+6vVpIGBlG/U22v/Dw2ltUbwWFgw4Nm/XxofT/Ov1eze7dulwcGUH8Ya+P3azrzHMyGAwVd94OfhnuR8MlQCUUlrok7FJqWjKwKsV0kaL+36CgQ4tb0W5aOQPPDkdcg85WHGtE/fgAdSMiahvr4kaXtNB9Dxjmj+r9dT5QAfRedNYr5CAY54D1wwJuYBmObz9aHHMHfAlLaZ98iI/QwOJjOVD232gMxzBiAbDbuXNZ6bM4ZdraY1qtXSOs/Pp3n39EjDwykUm35nZ03bmZiQDh9O80KbGBhI10vJhJgHV6ClEJFG6Dd7pqvLPuvrM8AZHEx9VKs2jtlZG8f4uI1pbk6anLTPAbHNm6XRUfu7q8vm6KP40CArlVatzwtkgDzATPi5D4LYyNqQVAJRSatQzlx9XgeSa17g8WTJM0wPdL4MC9RsHp2QuBrwdGrft4vUj6kJ04kPVIB5sB605Uu4sBaUkenubtW8uB5Q8HkkrHHum0ET6OpqnRthy+TYeM3Mm4xg3tWqgQDSPwDg/UokijabSSPxZXJGRw0U8LVMTNjvnh5j6rWaXY95LkZj9D6PZmUlAc/8fBoDwRIw+OFhm18IaR4w8cVFAz8iE9FGu7oSCK2sJPMpc+7tTX+znouLBmDT0zam/fulAwdan29Pj/S4x0k7d9rYGo1khpyYSCHpPGspPQ+0NsLVvXYGCC4vp/VmHv39J/4+PVKoBKKSWgjGilTns9R9Icb1dqACej6ktV1Sojd7oSWhBawGhnmpFdpHYiV7H2kZk9LSkjGnpaU0b0DB+3nQXPy4SfykD8YAMPDjTYUwWCkx/Vot+RNiTJoFn6MteT8Ca4lJq7vbgIO5wwzHxuwznq93lM/MJNMdc+vvNwYMUM7O2nUxGgDV6za+ycmkSaJ9MDY0rrm5ZIZqNm2tentNy6Kfri5rZ2amVdNYWTGzHaDkNSN+A9wDAzY2/D2AEvOcm7N1YL7j49KhQzY3tL7+fmnTJtOABgaS1uvNhl5b9b411tsHLyD4YLabnLT5eFPnli1JUyw1opIeFeSd0D4aCsaEtL3e0Tu+6jIMpdE4up8cIAEMrwF0ah+nNo5j70wnr6VeT4wPRjcxYd8DLjAT2vMSL5FzfkwrK8ZgYLysrU92xdTEPd4MCSASUICm1tNjTBVQhrFh4sGsJhlDAwQ8GCO5e4bJmi8tJd+ML6FDginXHD5s/QG6mK6aTft/cDD17QUINEAYN3XU8CmiaSAELCykdZbsuczPJ6c/z8Wvb29v0trQRFhn9vrMjM0B09vkpH02N2fXnXOOtHWrgRC+sxCS+Q2zLWP3AQje54PwARAhRIRg/U9N2d/9/Tbm3l5r//BhGxNaXadKFhuBNvDUSloLwVh9FJTUWg/rVLwASHowo06gkgPQsbLnIQ9A1Wry6SwtJVOQlJzevu/pafuJMX1HpJVnPJAP344xgQFmJF9jLQRrE+0HH4rX8LyTf3k5+TsaDWPurAnATeABDBvgROqH6RKuzHrkQSPNpjHl8XH7HLMV4C0lBjk7m7QdzFOSjW9gwD4HrKkXxxjplzGwht3dCWCJaOM7nufsbHpuzN2Hbvf0SGecYVoM+4d5A0Ah2HqMjRngzsyk6LdaTdq1S9q2LQVRdHcnnw2AUKmk58ue7OlJ2psPIQdgcy1setru37rVtJ9aLQVo8N3wsGliGzlQQSqB6FFLSM+YqpAq0YByP8R6kU/+hBm1A7ocgLwTfjVaDYCQrmNsZfbQwkLydWBOwvzkw75zXxmaojeLwYRhQjBfH0YNaCEpe7NRs5nAo9Ew5g5TRbODoc3Pt/rRGBNaHd/jsJdaQQjmefiw/Y2mkYeeA+LLy9bW8LC1hXbF+PPgi7m5ZOZCQ0LKZwxEH2JOxEwKuLJXWWvGg3mzVjPw2bTJxg5QAyLQ4qL5fvbsMcAF9Op16ayzpB07ko8L0yfCGs8cEx6CCqHcs7Ppefr1YM3x/0xOWnt9fQZ4XV0GPGNjKTqv0bC5AE6s9UalEogeZQTz8xE6PhqLsNP1Jp/D4aOY2pGvxrxWAPIaFkyA6KpcA8LcBXBwzdxcCuXFBOPD02HIMFTawQeA5kFODpqGj/BDK5qfT23iu0DCx2dFZBZjRAMhRBr/kg9jZq0mJ21OMaYjEAAWxoIwMj5u7bEHAAlMjbVa6/qMjtpY0aIZvw/cwAc0M5Oi6FgL1gZN0q+JP4qBoAWizgBfItrYS8PDNqaRkfS8ACDAO0bTNPbsSf6rWs3a37nTQGjLltacqBBsbTAbx2hgMT9v89m82X6jtbI32B+YVAlIwdTb12daW2+vAc/Bg8kXB7hh6pTS89jIWtEpAaIQwoslvUdSVdJfxRjfnX2/S9JfSxourvndGOPnT8VYSjLyPiB8Il7CXg0YTrZfD3yYctqRB6u1muC8Zuc1LDQKoo+w8XsAyp3tSLZI8awPwQCY8TDXeZqZSXklee6Uj+bjGSDd40fh+eCfIwiBQAjaxK9F/o3XZLu6WiXu3t4EAPgmPNhNThoDXFho1R4xkXV12XeHD9v1PT0G0vh6Go00Tpg9TBfGTDuYfKWkaXd1pefOfcwZU6i/b2HBGDdrPDKSAKheTyZM9rKPPtyzR7r//qRhNpt23dCQdOaZ9nwmJqyfRqPV7Nbba99NTdl1556bTKRTUynaj/XgeeJLmpqyvVGt2ngHB+2ePXtsPlTn6OtL+wHtOV+zjUrrDkQhhKqkP5P0AkkPSPpuCOEzMcYfu8veIemTMcY/DyE8WdLnJZ2z3mMpyYiXHA0Dv4GX4E5FVI7vd+pHKUoAACAASURBVLV+crBaCyh6pucBjrbQGBqN1vBfaGHBGAQMlTUZH0/+EiRbH7WWjwu/yuHDSdPL83zwAxElVqm0MhzWyEfe0TZmNhial/bR0AAXAgxqtWTWoV3AH21ifDz5awYGEkiz9s1mMhXRHoAj2T1I/N5HQ3VrzJ6YyZgPUZcADqY41opw7Onp1srbMGzJ2ty6NUWzIVBUq6k8EcLD5KT0k59IDz6YhBv8dFu22N7An+PNuF1d1lazKe3da5+NjJgWhLDig1l8DhLghD9tZcXWa2TE2tu9Owkk1aqt7eho6+F3XijbyEEK0KmY4jMk3RFjvEuSQggfl/RySR6IoqTB4u8hSbtPwTge9ZT7SwiFJfwXp/l6k5dmj+Vv8ma4tYKiN8N5fwZMDcZGtJOfI5FsSKHefJebAr2Tud248DfMzSXQkhJTxR9EbhL5IjB9GCCaU+4MB2zQcNCg6BtNCy0oRmOevb0JpGBiMHL8NVLKpfERf5jh8JURdcbaAVaY4XwE2vx88mcB4JgZ2X+NRgplpwIDAEcuDj48EmwRGKpVm/8ZZxjjJkgC7Q8Ni+CIBx+Ubr/d2qVqAom03I85k7ynZjOB6KFDBti1mvmOWNexMfvBz8N+QbjxybnVagr5Zo3QXln//v6ktfJsEU783xs5hPtUANEOSfe7/x+Q9MzsmndK+nII4V9L6pP0/HYNhRDeJultkrRr1651H+hGpTwiDWaMX4LSI+u9sXPNplMggtQKVj48ejXKzXAAqU+6xKwFs/djm5lpBRykTqk1xBeGC3NuV5FhetoY1fJyqpjgI+MIFiDZ0h9X7XOBiIzjfx+SjPaC1tLdnZg4QQbj44kRkyfE+gBS5EjB1NDwiIbzALFnTyrjs2VLa0UHX02CIAb8QJgKSbiV0vjJ5ZGSqZTnIKVQcHwv+OioJycZcKAFAYQ5Y2d/T01J99xjQsLKit27ZYu1PTyc9hoA7HN1urttjPfdZ30PDNj9MaZw6slJWze0mEYj+beazaS5DgwYCDWbKQrT70nSBXxeGm340k4b/Swi6dQAUTv2FrP/r5L0wRjjn4YQni3pQyGE82OMzZabYnyfpPdJ0qWXXpq3sSbydcnaMV5fasV/9kiUPjoFBBAVhZ+jk4/mZGitms3xgJWnvMZbJzOcd8xDCwtJq/AZ+USqeQe9lMxw+bgAEJhRpWLMxiek4oPCn9FsGvPr7U1RYDCkej1pKt7BTZgyvi3uBVCQlL0ZDnMaIe44x1k7nOa+YKc3gWKGk4zZI+XjJ2HPEA1IzbWFhdY8I4BqctLGOjiYfCLkGbF2vpROvZ5CptHaEAiGhuwHMEOzW1lprTk3P2/AfPfdVhGhq0s6+2xbf4QFzJX4jsbHk2ZdrRoATUzY/+QQsYYA46ZNBmzswbGxlIe0sGD97thhfQKWBGjgi8QMx3p6/y3Pq6fHgMxH/W1UOhVA9ICks9z/O3W06e3Nkl4sSTHG60II3ZI2S9q/3oNpd1jX8RCgxA9mFJjPw8GJ6BMV84AAzBRoEOs93jzAYDXN5kTMcLmZzydnIu0T/uvNcIAUGomPhCIizAMNPiHWLh8Xocve9AeIoskQJEEAQE9Pa3Im/qGeHmvz8GH7nLEjTQNM+LaWlqxNwBsz38BAKsOD8EEEF6YcAIA1qtfTOoWQytmQBAqYAChegkdSJwjEl8zBlIl5KgRj5D09xux377bfUtI+ea74ekIwP5f3GQ0PG9Mn8RchAj8Zte8OH5buvVd64AGb08iIgcHQUIq0Y/8zbwCov9/a2LvX5rx9u/2EkKL/Jidt7Fu3GrASxr1/f6r6UKnYWHfssP7GxpJPTbL5jIykSFUfQOTLadVq1g9gNTPT6j/aiHQqgOi7kh4fQniMpAclvU7S67Nr7pN0uaQPhhCeJKlb0oFTMJYjL31OMa7+NxvF//DCx0w386DkQ3VPJWGjx64NAPmoMBIrT4Up7ng0GxIu1wJW7drPo+GoS4aD2ecD4TPAL+MrKkhpnRBOYEb4PvJxEX1HRJb3rwE+MO65uWRyIkOeXB8vIHhfCIU/0QJ88ICUimxCBCt4MxljZoyY5PBXEBiB/6vZTIAK6I2OJs3Ha4esGUIEWhNVFtAKpKQlUU6oWjXt5L77rD0Ki2LS8+sIIOLbCyEFB7AWMbbm2czNmeazZ4/5g8bG7L4dO+wHEx7RcZjhlpetX573gQPWd6NhWllvb/JZ8VOvJ812YcHMsmhAtZrNbdOm5Fvye09KNQfZ17TvKzQQaj88bOOamEj16x772IeH0HuqaN2BKMa4HEL4TUlfkoVmvz/GeHMI4V2Sro8xfkbS2yX9ZQjh38nMdr8cY87e14dOxcMDlPIfL/34BMb1Aif6zWuytQMBbPEw2PWkEzXDrTUazieyoqV4Mxzg6m3sPufHJx9KyVfmtSUpjaldNBz9oS3AjGEWvghrs5l8HL29xkiIrMIMxzgpI0PgAX4ekkQRGAgr9/kj9E1oMt9xxAHaHo70nh5jjj4SD5BGgif6zT9H9g7JqVQd8GY4TFw+ao+QbSLH7rrLAKKryxh8rWZM2vtmuA+NjACEkRFbR8yMaCdEOa6sSPv2JQBaXrY+du60YAZAoK/PfvyeRSCYmjINrNm0vbRlS/I9Iej4On0hmNZEZQl8U1TxJorOgzjnEPnoQn+sujfXbdrUGvpNoi21/TYyhVPE/9edLr300nj99def7mEck4hW8r+h3KSHeYTv/G+vgfnfXNOp9hsSOPbz9fQH5UmjnTSbdmCyFjNcnsjqqyIjvfPye2YspRcaYcDnoOA897SaGc77P5gr7fnD1rh2YiKZkXp7E8PBT+cj5whc6O5udbajsbAO+DYBF8CM9UVrmZhITBEfUq2WouHwGWEOwqFPRKAHYuaNBklRT0K4fW06xkOuEQx9YMAY/N13G8PetMm0E/Yv/pwcZD14Awpo997EiOnz4EHTZGZmUhWC7dtNg2Lt2T88Oz5bXLR7iabbvDkFO1DVgfVijebnU1g5/hvCtgFr9grvZy408PyZN4BMQVb2E9Gf7IVKxQD2RMAohPC9GOOlx3/nQ0uPggj1h5Z46b2EzUsIoPgAirUQEq03A7Vj6phciHBar/yDk6mKsJZSQTnAkY+xvJw0CO/XwUfEi4xvxFe3JmHR9+01rHaFVfEDeWm1UknmT58gSkQckvzQUPLfoGn5BFZ8AJjNDh60Pn3NNPYGwCulOfqcKTQwIrGI9OPaatW+o1wQQIjGgp8IDSQEaw//hPcdScmkRxAH5XjQ5g4dSprG3r3G5EOQLrrIAIU92dtrYzhwIJmzaA/f0+CgaUO+cjhHMwC6aJ+VSkpq3bbNngHPrtForRaBVeDgQdtT1aoB19BQa0UMwAVzPBXKiQ6s11sj5QBgr3Ui/PlD/dCmeXd5Vt3d1j6litgHBCysLEcNT92vXVedIVVOQcb5w4RKIHoICPDw5KV575fitzftrcW3g91dWr/8IA9AxzKttctZWmtZHhgsGh5MgcgpmBWRbH5d/BEOvPCMFcc0ki0glI/LlwFiroAUmin5P758DXktPT2tFSsIvYaRwkwBaPwgMDTGST5Qs5m0DUx/RKpxDX451gFNRUogQ24LfgZyVihKKiVHvA+Bnppq1Xrxp/g0AMxXhw+neVMbb8cOc7aTiCrZXPftM9AC0Bnz2JiNgeTUAwdac2oAXbTKet00IJ/U2tNjc2GMvEOAwtSU9bO0ZNrX0JD9vW9fAkrWOzfN+Tp3BFRwAKCU5sG+pzIHwM9+8u91T4+1ybORpPrCtPruulndt9+k3p/cqKF7b9LQfTepPjOh5lO+r8olF63txX0EUglEp4lgHutBPg+FcOR2tFYtDB+UL7CJo9WDJyY4z2DRWtBQuM7fg3QP0yefBUZD7kh3d3K0twMPfCOYRhYXW/09SMa+8jGf42vzEqvU6o/xYd5oIfwNGDJm2iZiDuaMXwh/BdWp0UQA0wMH7F60SHw1PAdCs5eXk0Pbry2mWgBmetr6xYw0MJAYNkEHMzPpmpWVpEFgLuIICRj00lKKNqM6A2ZDTH0wY7QXfKf79qXqBCTqxpiqEJDr4wF1cjKFlaNRbd1qcx8eTs+UoqE8fzSPpSWLapucbI3yo7qBD55BKCCcHgDB1EvCK0EmgDnrTpqErwG4ZUtrKgGRkD09UnN8UpUbvq/6Tder60ffU+3G7ynceYdCm5d0ZWSTKvv3re3lfYTShgciQl3bMeG1MOb1dKHlUXi+/U6/V/tbSgwZKQsJNGf+UqsfKm8HUIHpeT9UrpHBxH0VahzYPsIr93thOpNShBYVBojwApiIhIPpQdjafbkcn8gqpagqX+jTmz7wNx0xf6y0VsimX8JysfP7ZE7+BiCQqn14ti/6SUIqeSeY4A4dSlJxrnECdoAWEXH1ejKlYZoD9OgzRhsHZibyn9BwCX0nTwgtcmSktTwPZj+00/n5lNgJuNbrCVDwXU1Pp/XErLpzp2lL3txJ1YLNm1vNfbt3m+bhgy689uP3N2ZOhCUSl9FqAACCHHx+FhrU9LSFfnPYHkIX5lS0GZJi6Z+6dITXNxqp9h3Psh4XNXzPDer+wXUK3/2Oqjdcr/pdP1FOzVpdUzufpMnHXKDZx16g6XMv0OzjLtDKlu16znND2wTNjUIbHojagVC7JNb8u2O11e7vdiDTCQTXSj651o8NzQIQ8iHJnebc7jNMR1LKNcqPC6BNgAQG4qsA+Gv9OL3vBic6Ei/aBM7h/v72fUspgdOfu4OdHuZPRBeM1FcF4H6vRXmbPQyfedLP0FCS4InuIhGTtj3Q+7BcjpMYGEihuMwFvwcgSM6QN/Ewf8xhuc8Kf46vQ0e9taGhZP7xeUaEimPCxOTpTYU+CAYAxxzH+g0NpXv98QfMe2DA5kTC79CQgQ3aGOMYGbEfQrH370918BoNu2d0NPmlqtUEqICO1175H38gARBo2bwrABjBGHv3psRakorxF/EM0JYPHUrr7gNyCPtevG+vajd8Sz23XKehH1+n/lu/p8rifMu716w3NH3uBTp49qW6e/OlunvkEh3Y8mQ1+htHUhKqVamyIFV2r2/qxcORNjwQdcojgjwzWe3nWEmxnhn7H/9Zu79X+w3lwQ74CzARtDvkLP+BWfryIT5/gQALn7DLffxwDc7rTiHbSJK+ba7Hl+OTb0dG2vtukPDx3xBBBJDhWxocTADnv8NWz9+EOPvIRSRdHyAAeOIzwTlOhWWeN9oIzwy/yshIMpP6DHrmjrbic08wayEc0ObycmLcmIY8uMCE+/qSD4ixAVjMCVMc+VfUQAO4vbmQ6ghoj8yN8eKH2b/ftBd8N4ODdrIpkWhTU/Y5YHz4cALWuTm75t570xqzx7Zssb44hwnN0p+Oylqy9mjx7FdvEiMwAO2YAAT2F4nFgPvIiIEna83z4L3jGXV1SQNj92rouq9r6Iavafimr6tv9+1HvRfTZz1RU095liae+CwdfMzTtWfT+dp9sHHE3NvbKw0NpGeI2ReBY6PThp8iL2MngOlEnqnD/Dox+fWUVgCHPGRbajV1SCnsc7WoNEAUkwTtkeTqy54AUN7xLyUJHW0lBwzGTB95/2gTXionYsr7ZDD3YV7yAQQ+2dKXaSFPREpMGyYHeDBG7PisFz4qr11QHQCtDCc50VK5uRJtylcsAGgx8QGirG+1alI+kVweoFgLnsfsbPK3AI70NTiYQsYxzWFq9Em9vANLS0kzoSwQwR/+Hpz1XgtrNFI+DEVRx8ZMe2k0UkWBrVtbo8YkAxOi63hGExPWLvuxt9fyfwATDqfDJFirJa3M+y/9mVDsNTR7CqHib/Pg4+vCLS+nSgZohwMDNv6DB5M5k/eh79B92v7jf9LWm7+q0R9+Td377mt9H3r6NH3+szR7wbM1+7Rn6+DjnqX53tEjGvn4uDR5wNrbvj0daU71CDQt/FBrDVh6JNOGByIiuTxoIA0/FMCyGnktx5vIpMTgMNUwZkxRmEU6teclZiiPZvOhot7EhJnMa0V5aLQnGBmMIO8f8PDhxEjctEmUHEzch91yH4wT01mlYpL0vn2tPh8Yhtd4vPkNjQ6mzpjwN/E5B6hRz8yHfOPLgpHHmAIEuAdm59cDRosPyu9Fnh/rePhw0iioGu1NYlKarz+eGp9ajOk4g1otVXsGkAEpX6GDz/DrAGw8Hx+EUK0a+GzblrQr9sKePSlP5847kzmLJOHubgNDr8X5KEl/VLivvACQE2CABuSj0TCl4oMbG0sRfWjhUoqyI2eJvbV/v3TDDQYY9bo0vHxQZ93xVe249Z+0+cZ/UvcDd7Ts/+WBYU1f9BzNXPJcTV/8M5o49yItNmvpkMQ5aXkq7dtq1c5AorYeJkCEIMZIlKYPkNmotOGBiAS6hwN5wGkHEpg8cgmIjYj0hsQJo/OmQ2+WaAeu2LR92wAdv6VWgPSaElK2rw7sfS3e7IWWIaVQbR8J5oMFWAOioGD6BCsQOeWTLvnez8cnXhLxxTi8Jgezp1wQbWP+I4cGydx/R78+ko22yG9iPrm51Zu1AHmCLriOkOXZWWPSHKYGo0SzYF29ZocPpKcngQ5r50PivXYMoX3CsAmiAJCot4bmIKX3a3LSxiyl8OaurmQSZF/PzaWEVZI4yd1Cw6VCgZQi8BYWUhURhBNKPnnTNTk5efUCXxyV4ItGw8CTYqloXFNjS9px/7d18V1f1I4ffVF9P/lBSzTbct+gxp76PB268HJNXfI8zZ57viq1yhGgWTmUnj/FWtnHRDCixRMAAXAyP/yQj4YjIKRHARDde28qtgh5BzzUzkzXzqTnv/P3+u95KWASXttBQ+C3Z6i+3Vxb8gmfRBcxD8aZg5c39fjP/YvLOL2j2X/n18CPLw9IaLdeq60t4IhW4U2ffJ/772CmUgqS8Ca1PJEYhk//3tTpAYW+iLDEFIipBOblgc8HO7B2S0vJzwYYommg3eWBHd4J7oF+bs76Hxy0Pcw4c1OtP34CkEMrAVwxPdKP3388P+/Q91UdKLpKYIX30cHccf6jOU1NJW2FoA7A3FdW8M8WQYG+vYaCEESADACEKZF19BUtWBN+EF5iTAVQazXTphcWpOqeB3TmTV/U+Td/UWfd9o/qmps4ss4r9S4dOu+ntO/8y3Xowss1/5RL1DtYOxLcUm8m0y/BPoToV6sJSAcH7RrMkyHY9eSOAbTz8ym4hSTjs8/e2L6iDTw1o7e+NcX+54x5tUCEdj6kdgzVM+icWef3eLBox6h9UAH/tzODrUZ5G7Sft9Mp+MIHN3hTZn6N1y78nPy9MAUPuj4QotPYvfM5vw6m5tvI1z0HTg84/sevu9dQPYPP10NqnYvvF1DhByAHlLwZjn7amVA9I+Y++uU62gF4/Bi5Bs3GX+v3PuviK30wdzQrwJE+qT/nc8a81ovpjHGg4TabqbwODnr69yHS9AGwkUzqUwRCSPd4IGYtWD+0bqm1za4uaXmxqflvfF+7bviszv3RZ7R19w0t+2x6x3naf+nP6cDFL9bkhc9VfbBHfX3Slt4U8EDIvpRKAZH4C9geOmTA193dWgkDXxQAiYa5Z49F8HEmlC/XtJFpwwPRZZclM4uX5mFMnjF4DcUTn3lJONd2vFbSjoHnfXGNf5H9GLzZBr8CkmCu+WDqyoMcPPPNtYfcByW1Vi3w13hHsM81yjW9HDi8b4s5+M+lVjNRDqAwNBgPDn2kYe9A9uvHve1Mjn6OrIev/4VZyz8X/0xZC6+xSin502s3zNnnKMEcffIuz4Z7CYxgz6FxMm7WjT2SB7WwJzBP+jwo+gIEfF1Cv++qVQMMklb9Mdr4KKmOQD09iq3ynKmgwN6kqjZrCsh5DcZbEsgD6u1NuTloR2i/fo39e8jeIFpuaUmaOjCv3m9/RaPf/Iy2feez6j2cTqdZ6enTzDMv1+LlP6eln32RFnc8RrUgnd1ImixnJ83N2VjJucKchgY0N2cAdOCA/b9zZwqo8BGK7OFm07SivXtTaaYzz0xRfKVpbgPQb/xGa7RWuwCAXPIlfNeHOfNSeJu8Z2j+SAAvqeaMvZNmwG+YO/Z8HLDeVEU5He9sRkr1oMVL6HNDvDbRaXNj0vGlSvCRePOgz+bH6c8a+1BwCDs4laUJkvDrxHWeUXPeDGVWAAzmiTTKS+7NVN48kz9r6ogdPGjXk3vD88j3Bwzea3oxth5DwXh5bgQlUODU+9bI9M9P6fQM2WuIfM/4vEmOdahUkl8Bk5k3R6KpUV6Ggqbsa5j3zIx9jo8Df06tZpFeAINk1952m90/OpqOtqBwKmczhZDMv5gCh4YSuPPuYNKcn7e2RkbSnpGS9uDTCKis4AG3p0eKM7OKn/+Cqn93jUav+5xqc9NH9uPS9p1aeOHLtPTiK7V42fNU6++WolSX1NdI/fD8eG6AMAEsJP1yGCGBGqOjKYHXC774izDn4g/s6pLOPdfmS3Siz1fLo1U3Em14INq8eXWm66UnGLz/jcTCi0XYMUyKNqSjgcdf04no35fEwWmMqg8wEHaKKYeXlmxzmHO7gIdjEcyf6CQk5RBS6C4SrvdFrKVdXmTfJtWJYbrUUSNMmbWX7LuBgRRl5UN2/U8785cnNBjan5w0ybW/3/YJofD5/YzPhwyjrfrTYgFO+jl06OgCsL5qAeV20PR8UVKpVRNnfoB9u7BeAgoI8/ZaHtoM4cv4LXwwQ1eXrQMJst3dxkg5fM+HncMoORF1ZcX8GNu3p37xxxAhyfqx70kJ8IIDuUfT0xZVVqmk2nM8c8yGJDTPziafniQ1J6fV84+fV/3T16j7K3+v6nwqzTH/5Iu0/JKXa+4FL1O46EKtNMOR6hJSaz1C8qjYh2iqaEEIM4DU4cMm2NTrdn4QCbxEgubaPMJktWrrBvBRUYJ3j2jEjUwbHog6PUDvBCVu3+cnoEFRmoUoLh/xBoPxtuq1EiaaXMJF6mdTEkFEfzBwr4F4s87xEJFeOVBQpgRpvV3u0GrEy0YuEA5XX7WB70lk9GtQqaRrcdDmibsegFZ7SdFifHInZqGZGWOs27e3Bjnk88DMxlog0fOcCLUmdJs+6vXWA/IAYZ7t+HhyWrMXfEgymqV/zp0AFgd3COmMIa6fnU2g6MP16QfTV1+fjengQbtv+3Zri/2O1od2ggmqv98Y79BQOvBufl66//4UDo9PhGoPMR6dl9ZopBNP6/WkNQM6vGckfAJufX2SFhYUP/0F9X36o+r5p8+qspAqGUw++Zmav+LVqr7m5xXPecyR/chz9No02iDHPQAGfk9WKkkwkWyMPMuhIcuH6utL4fzeXMk+xO+G8BNjqo6BNgfgoxVtZPPchgeinJAKMf3kEWfY+v1LwoaFIfFCHK/WgdnPm6R4wZCIfT6HD8f15iifiHgi5LPsAZ9qNVUoIEHyeDc+ZhgYFVIv2fis44EDydQJsPoIKkKPObNHSv6ItYIiGgvmFK8ZwLR7ekzqzkGIe71UigmIhFtMdfv3GwjB0KhwwBr6orD0w+mpnkGF0Hrgnvc5dCKAEq2gqysdJsd+IilYSiVofH4XB7JVKjaXvXtTbg1OeSoxEI6Nk35pyYDqjDOs3+npFAZ9//0pUXR01Bh0vZ7Mlr6EESZjDp3zpZuIXEQr7+5OyalxeUU93/ma6td8VD1/f42qUynSbfKCn9L+57xaC1e8SsMX7DqSW7S82BqOj4DT3Z32JgDkfV2+mjl8AH/Q+Lj93rzZfiQbH6f1EihBlQ8+8xGxrAO8x0cBcv9Gpg0PRDB/XyjTbzRABWbjX37s1D78tp3kvJYx5EzRnxdEJWQ0MqlVEwH0fAXpEyG0gOnpJGVhavBHEpxIuxwcRjY+DJlM8cnJ9D1McHi4NWqKumyAFomZFKxcCzB6LUZqNfvAnA8dss99FQAILRGNAe0FTQKptVaz+XCM9I4dSRMBpHwpo0olgRJVJvyheVQa96DXiRgLoLK8nKplM0eEjBBSBQ5MaTBCnO3Ly6YFjY3Ztdu323UEBVA1HOHNB25s3mzfccSDPyjwsY9NGqGUqlT4Y+vR2u691+7HFO0rf+OLkQoLwbdvVN81V6vvsx9Tdd+eI+sy/+SLdOiFr9eh579WK2eepf5+aetw8psRlEFI+/BwCgpBmJBScVSEJAILSB3gHRwfT4FQ27en40C4lveVozUQzLAIENEn2Xr5eXpf11rN4I9k2vBARCQPZplaLR2VwAP22fVSazHDHDSOh7xkTd8e6FDpcdzCjH0SZn7PiRAAdCTTu2mbnsS6EwU3NBx8O2hVtAkAYZ6Qkg1eStFHOMS5B9ON96kci3I/Tl68EwY9Pm7fcywz5KV/7pdSsitBBzCoqSmb79atSdpn//gKFIASwIQAQEgu2sbIyLHnmWtqgCs+C18XL4RUhcFrbvV6mjv9T03Z3Pr7TRNCYx0ZsecZQmKk+MOmpux7SbrjjlT1fXHRGPyuXanmHlFh8/Otx5RQufrOO+1+DhhEQ+FdrVallQf3avYvP6LuT1ytoVtvOrImS2c/VlNXvl6HXnCVZs9+kpkzq9JAt7WV556hkQFCaMfNZnrPiNTDN4Z2j2DIOi8stO5RnjcWBvKFEFYww2GRwaLCmU+04f15S0sp6KQ0zT2CyWfV53kYMCsfsYY0fLIAAJP2gQ68gM1mcsjOzrb6TwAFQOlkJCECBZBEkQh9peUTbZeoOhg1wIb0SNAD68kLG0LyefX3G7PCVMLL6U0zaxkjkWrej+Nf2hhbTxwdGUlSutTqcEYDBTgZz9RU2kcw1KGh1sodBCwQju4/51kTKef35FqeBVo9YFCppHOQ6nUDWKp7Dw8noOMU0clJGyumO/Y1VSvqdVsX8l62bLE5opUiQKAVNpsp4IHw7mbTfp95pq2NZJ8hbPm6iI2GjenOO20/cNCdr0Debx1TCQAAIABJREFUE+YVrvm0Vj5wtSr/+CUNFA645sioZl52lSaufINmnvIMLS0HE1zq6V3DDMma49sj7Jr+Mf329qbAJHyjCEW8i4A2CahEpWIpaTRSBBwmU9rG3+OPSK9WkxmXdanXk+9NMo1ydLTUiB7xlPtS0DK8eSCXhk/mmG3PjLDBezDjREw2JGeiEMKL/fxkTHDMB0mXlwZtxdvnT6RdH1pNgUryRZAAfW0vQnQx4dXriYn7oyxYdx9+vBrlgoN/pp48CHkTFgET/iiJ3By6vGzMBfBE62NOEECBNudzdcbGUh4N9n/qzR0LbL2mdyQkOSazW7Np2s78fAo6IGx6ZibVWaNIKr4yyT5HGxgZSWVxNm2y68bHbbyAGgySBE18YpgIGw0DkyPRa810KirMFgDeu9fMcTFKZ51lfdZqtsm6fvg9NT78fsWPfUwaH1dVUqzVtHjFKzT/C2/U2LOv0EJsmElXCSik1mg6SuawHvW6AbGUzIhYPPgeYZDnjebInvZFWL0vM4RU1w6tlSAITHFoOETfUZVCSjxqctIEh95eM/d1d7f6EjcqbXggYhPgl8iZfC5prtUX0Y68SY8XAlpZSU5N7MfY7jH9nGz/zMdrQTh8sbmfqGRFbhNmRPxLAwPJaeurXvM9Dm4k66Ehm7eUJEa/VgDEapGAXnDwANaOACGfAEmIOP3jsPbBJwgUFPlEQ0abzIUYpGefuzQ7a4ypWrV5EyyBSXBmZvXnnWt6MFRfE25qytbAH5nA+UCYTIk0AzwQGPB3jYykSDC+X1pKoI0WtHevPd+tW803hDbFnIi0lFKOFsIWpvCVFemuu8yn1NNjIDQ4KFUO7lf9Ex9W4yMfULj5R5KkIGn+KZdo/qpfVu0XX6e5vs1HUgsAe6wW+HwrldbjyTH/8ewI28fkRdSjT5Xw+XtYFSi4urSUANjnQB04YOtDgjLvHM/JV09nXX2aAKA9OWnfb91qbd1/v31/zjkbWyva8EBEnTlUYCjXXGBEJ0JEuSEp5SY1zHAwPp+Vnud6nCgxHzQSJFSqG5+MhufP9iG8HIkOcwUAiykDhgSTRiInOonrci3GJ3u2o+MRHDhqGpMs2gcmGOaQrzt9YFpEaiaYAEIjI9KRiEaYCqHL+L8wG0pJo2k3TzSefD8hVfM8YIqc58Ra45iHIQP+jUaS7JHOAUjC7CUbI8d2owXs3WvjOvtsMxVRow2zFMEphKKPjVlb+IRo6557bFyjo9LO7cvq/foXVf/w+1X7wmcVigHETZs1+Yo3aOKVv6KBy55qgSEz0tR4Agnvc/HMHFMcUYvsPSp6UzMPnwy+H6ovsC8BMIJL+A4AwiSLRnrffdbX4GDKNUSIwDpAxXHvm2TPU9aHQw0p3koQy0b2D0mPAiBCKuHFxGcEw8s1l+MlL7V6yRxgQPryJVf6+lLS48n2LyUJlxcGvwN5Gye6iWG02LvJOSHBDu0HCVxK9nU0qBjTywWjkNpHIK6mDXktCAm8nYSIBIrPBN8GOWGYzrDv52sD8yFTn2AKyvVDHgzQtLHvj48nvxl5Qb4vKhu0M5F6Tc2vEQwR81m1moIJ0IIAxBjNvBOjSdbDw6n6AD49NJ6enlSodGXFrt22zfogFHtszNbhnHNsTLt32zjZB5jvyB+iCjcgH4IB1969dt9Zcz/RmZ/+gLo+/teq7LWot1itKl7xUk2/5le1/+lXqNrTOBIMMTmZzMwAEBUwfKkpHwXKXmCfkC/HHiV8WmqNpOOZUE3Er/fwcKoawR7Yv980PCmZJdnHlUoK0x8aMvBFg8KPODOT8rY4SoPjQTZvTqkdG50eFUAkJXMDDIbQzBPVQrxG5SV7X8aGzd1stp6f4v1HJ6tuI7nD9JEG6etECYZMKHSlkrRKzH9EgWGSgikiuSPNUUGA6zqBSCffkPcFtQPuvAYeeUz0TZ+AaTsQJLoK0xfmHEKcPYj4g+5wUsdojBuJHWZJPlC+tj5PRVodaDGBEfGIFoR26Z/Ryooxx2YzBQ3gL8JMt7ycqk/jJ1pcNC1oy5Zk1oV59/RYFNziovTgg8kU6LXuEKwdn/dVqVhfe/ZIk3tmtO1rf6MzvvB+dX/3n9O6P/4JqrzlzVp8zRt0uPsMy4dqpERa/FwUAfU+Pp4Xe8afsIr/zUc8SskMS24XICQlXxHCFcJUd3cSptgHMzM2r/vvt+e1a1fSogBf/G8EYSBgEAE3PZ2iBbduTeZc3mEA6GSEyUcKbXgggticSMI4onGoH0+SqjcP+TBYEtB8rgXSMkmby8utIcwnSs1m0oKQvgA7HyJ7Iu3yghMRRR02ciK8dO7Dh4mmW1lJJgp8MsfSPqmAkAeXwGjzwA9fD5AXG8aH852+8GF1An+0Gxg658aMjrY+J68Feb8NgSFoUDip2z0HNDavDXmg9XuDaLuJiRQhNzSUHO5oQZjw8EkRANDfb/NG+CLQAa2dMS8tGQAND5s2g2mPAIgtW1JuEsLF4mICITSwhYUUARqjNDMdNfXl6zR6zfv1hK98QtVZsxXGvj4tv/I10pvfrPrPXKbJqWDgN5fyhvCr7N6dNDWeB0DBfqEWHu8cVSyoqzc7m/Kp0ABzEMJsiQCJmZJTcL2WNTZmGh5+rp07E2j29dm4OAhwZCTVqvRpIpgI0bKYL8ES5MFVKrbuo6OrvLQbgB4VQOQLUXoTCyqyL3AqtdZqg1nwG00B7QMpR0rSFwxbSg57mFc7n8TxEg5XpLZ6PUXwrIeZEWYrJR8TwIcTnPkMDiYgziPiAOe1aH+5NuT9biSW8pkHHwQIKflP8A8gZOAHyE1huXZD7gaH0dFuOy2IZGiegxdy/MFx7ebptSFv2vV7Y2XFAGh8PPkmyH1BSIBZVqvGHMnlOussGwsBCTynajXlv7A2JKV2dyczMvNFe8C/SbkrQIhnjEbFuq88sEfx6qs1/IkPaPs9tx2Z+8ozn62lN7xZS698jXq2DqjZlA4cbE02BSz37zdG32ikIquAAPln+O14TkRmMj4pCYX40RCK0CbxHaJxsu8bjdS+r4ixd68FJuBf27Qp5SmyVgcP2nPCtMhaATDj4ymqrqvL1p1nga+O4Bp8YGh4G5U2PBB5Zp0zIhgCG80XH0Xlh3KpFa2KIplcD/PFVCW1+odORsXGF8CJliTD9fUlU8iJkGe0Phx6YCBJjd4XhO0dLSjPJarX20v4q82LsFac8swPhkJSoQcfGJAHUII+vPnL52dBMHMYL89tcDBFkfm2YdxoQcvLJvX6RF1Ml50EDa8N5QEJfm8sLBhgUKEAbQDNjv0J4+Uk1f7+5A8iRaDRSJ/t2WPXoqVzcigmKAQpNFofxsxzZfxdXSkVYWVF6q3Mq/Gpz6jxiavV9dUvKhQOmOUt27X0ujeq8uZf0dJjnyhJqteS2c8HenR321568EFj6AMDZvLq7rZxc46RDwiQksDoBQLWkYjFej19j2mOPeprEfpK8gQUEXyyZ0+q/kBuEH5nAj7m51t9RX6/4OsiwZZoRF+BgaokvAuMqzTNPcIJyWIt/hI0Ic84vWSOzd9n7GOmg4l7UxXM60RLA3kiOs2bJHp7U3DAybQLE/eSOVFv7XxB2OKZc62WkigxMbTLoepEaEOYl7xm6qtSkOPjQ6dh5mioMCS03xz8c+0GEJTSiaj4WnjumHkAP/wtvjSRzydZbZ5oaByIlge4wHDn5pIWNDjYmgxJ9j2+MJgtbVMMtLfXAGxpyZj7gQMpbcC3iUBF9RHC3PF/svb4p5Dcp6eiur5/nUY/9dfq/swnVJm0jNpYq2ni8ldp9rW/ov5Xv1hdfTUTYJaTkODzzDCr7t9vjL7ZtPp1BE088IA9i74+00CIfmUdABWfOO6jOzG7MX7MnTxnBC/MzzwXgP/BB81EiFaIsON9ll7rrlRsfmiMaJQ8LwQkqo+z/j09yXJA/hgCWglEj3A6GSbtfUGEgEJ+o2AuwgTiX+KT1YJwtGIWQyonBPxkQs7xi/jQc8J8MVPhC5KS6YTCl1SLzrWgdtpnJyK4wTNQX9S1U9VpH5WHA57P0EZzMyWg68sIwWS7ulJgC1qH9x+yJmNjrQmcPT0pPHs1IoiFcj/53lhcNCY8Pp4ipojQAjip3k1ljsXF5BMkHBwQpmzS5KSFFo+PJ6c4fk0OvSOggbHx7BCefLWPhQVp/sd3qeuaj2jHp69W/d47jsxx/vxLNPGyN2rsRVepZ9cWbduWgjgQFAjkQfsiv2jfvgSKw8M2hn37km+Pg+LIRQK8qJKNsImAiIBAn5iI9+5Na4RmSNQfoIQVYP9+AyCOdvCV1AEeHxDBvgIASWmAR6ChkhDN/QiVXgvyUZtEzm1kMNrwQHQi1C5hMg/dxWSDOo29F6nyZKozQAsL7X1B7ST945mbd7pTVYBwb4DP51x4H4+vi0epHMxzJ1KVYmoqvejY0jFVdDI1+gAGzDkwN2qp+XvRgpg3kjRMhXHDsAiBRgsiDDeviI7zey3PgdBpQuq9FjQ9bdrKzIyBx+hoCjVHC0LrY+4U7aRUDZGgVA+o1axywf79xgyHhy3oALPg/v2pLhygm/vyfFmsxfv2qnrNJ9T76Y9p0w//15F5rWw9Q5Mv+yVNvfKNWnzC+UdK+YyOJr8L60X0npTmzx4nZJn9xP+bNhnTRutgPxJUgr+HPYOGhADjjyLxVcp5X3kW+MdCsPOV0M7Y59u2pcrfaFAIMZjLl5aSnxZzLgLI0lKqzo21wZt6pRTkwNEgWFZO1qf8SKASiBxhpkFyzf0bvsYaGxKpGMnoeLSBTrSyYhsbXxASFtLviW5MNAKYspRK9JADg+SGGQl/GA5lqTWXCG3peKpC+BJElP2n2OVqc+PZ+ORRzoGp1VKyoQ+1RmhAq/AmEM+AeZ5SchzD1PCNsR4EhqzF3Oo1S5/0iVlxfDwl3W7blgqFInwQBYjAg0CC34tjC/r7Uzb/9LR06622vl1dpgX5iDGeLwmfVBkgLJp5rhwaV/NTf6fG335UI9/5ikKxQLGvTwsvfoXGrniDDl98uZqVmvmP5pNvhQAGn+SL0IOZmRNiuQe/o/dhAZzsPW8Kr1ZTZQ98OfiRAGhKDNE/0W8xJs0SrYVQccZ09tn2PPD3+Orx+Muoct5oJLMhZjvPI7ZutR98cLx7CH5EJWJlwLJCThva+kalEoh0NADl1RGWl5PajYOVxDokNenktSDaR8LHJAgInaifCQD15XcAN0Dm8OEk1WGWoQoBEprPT8rzaNYSKME4fKb6wIC9oKsBkC8gS5UDHMjkufjjrAE6D7o+8bJeT1ofa8oz9KVoCJv2ASrtTH7tyIMm/hqCV+bmbL0xjfX3p1wT5glIIgDwLGDsMZqZSUrlfZaXLa9lzx67j0gxKkgADj46jGKnCCmNqUOqfeHTqn/2Gg1d94+qLNuFsV7Xwguv1OQVV+nAs67UTOw1c+5SMh+ihRBV5o/Q8MVgifDr6UlnGXnBiPFKSXNHe/eJ1c2mMW/2nq8oMj6eIg5h+GhqvKeVSvLb+AKo5F9R8odk2unplFNE9GK1moqS1utJiESjI/+u0Uj5XQAn+W+8d/hfp6fNLOkTxc8889h77pFMj2ogagdA1K6SEgPEru39PgAVZWNOBoCQxvwhZjAQNvHxaliEpnv7NPZ/ii02m8acJidThBFrgKTmizsidS4uHl9ZIs9EYAxUWiAAoR35vCSABJDB/o70iOQMo8UZzvh93btDh1J5HNbVCx34Xxgr2sZazKE5aFLOBf/KwYPJZ4IZjvpuhJ/7nDQvEEitwRZUV5DMoX/okD3LajWdOsvaHzyY9gBCzuhocUrurfu06Ruf0qavXqPB731VlaZ1FisVTVzysxp70VXac9nPa6IyYuPYm0ybVArwWkcIrRGE7GmEGhKF2QP796cKHFKq9ICwAnAihKDVEJQgWR/j4ymIhmTSoaHWKE/Mc5OTtmaANlrm4KCN8Z57WtM7SP8guIAkY4JW2NvedIfm6/07aGI8X8CZ9cGch9+JNi6//Jiv2SOaHpVA5DPxcwDipcIk4w/DIvoN5nkyAATT5DhhXwkY09GJ+IEACrQBbzpDm8ExjonGV5vGPu8ZOBI4UXNr0fw8YPjQWMwtRyTwxtH3AaA4pemLufAik+fhJVsfwktRWZKXYRzLy61zoD00RikFhPhkyU4EA8Hh7wuxIm0j+caYjr9AguasHtYKAPURYWh1BMKgQdx9d9LcCP0dGDAnO8EfPFP2d60atf3Qzer/wWe1/frPavjWbysUKmGzWtOBS16k8Z/9eY099xVaGt6SoiDrrbXzMKVSjw9TNmYkEmypm8b8BwaSWZazegis8BU9YNKY6mq1dAQF642GjdaOpgEY7tuXLACULUIYmJ5O4OL9cPh18tBuv/4kdnsegiUBgETLRutmT/uyRAgYABbka+g9GmjdgSiE8GJJ75FUlfRXMcZ3t7nmNZLeKSlKujHG+Pr1HkdO7TLxcTb6zeWLSkpJ8kf6PxkAgjnDNGEw+Eg4jKtdlNhqxIu5uJjCrXk5KENPhBHROEQd4XcgQgzzW6PRGjbK/8cywSEV+gKoOIe9ZkfAA85wDz6sFdcyNkyAhw8njYOD4AixJuDBa0hSa74TSZOsvx8rfjhC9Ts9BwCfMfvgBioNjI+btI/dv7s7nQdE9J3XtgFrzsIhYARTFOtClWY0STQMxkvSJO3FKG0aWNRZd39dm7/9WW359mfVu/fuNJdaQwcufqHGX/Bqzf7slVoZGj1iJQgx+T4AHiK9eDaYvtAS7r03aR6zs+nvGFOdRfYR+9AnBvskckylzB2NAqaNgEjoPdeiDe7fb+tF8AHCF341QAi/IPcifKGJAYTeTMjnW7em4ybYZwgOPsXAV9LgB+sKfeKDRDA+WWvLI4XWdYohhKqkP5P0AkkPSPpuCOEzMcYfu2seL+n3JP1UjPFwCGHreo4hp3aZ+JjUvDTqqwkg2WDO8QmUxyulILVRjgcbN2YbsuWPp/o2EhUaj2eIXrvBvOZDtKXUP3PB/OSjj6S15WAhQfoCkUQDcVBePi/GS56Gj1SjX8bGfCSThvftS6VnqCSA05qxYyLyY/Rh6JzRhIaH3R/w8eAI80OI8UnPfqwwJ19YFGFg8+ak+RHB5eeMJsMzwxTEfkSzYo0lY34wdebhperBgaiBvbdr5J+/rG03fEkjN3xV1bmZI2uyNLJFY5e9VOM/faXmfvoFaoz2p6jAkNYTP6g3LSHVT07a80CLg8H7dWKt0XoIsiDfrFZLQglBPgS++AoW7Bv6YW2lpInNzlqo+uHD1u/u3cn0jvkN3483UXvrA3uIZ8oRIjwfhFWvdfuqI8ybcaMBEqGHT5l3n+MneGcRiqUEVhu5ogK03lj7DEl3xBjvkqQQwsclvVzSj901b5X0ZzHGw5IUY9y/zmNoIV4KKQEPmxPHvJQkETbp8YAPUprP8PdVCNhYnOqJdJwnaOZt8tIjhflx48SGKfhIMRiZ39D0wwuCJIn0j7bjgSxPBGWePgPfj4VqDJilPBP3DviJifS5lAQE7OFc78OuOUojxlRHDgbkE1Axp2DeQePwFQzwB6D58bwBrHyezN2vN3NhfD63hT4QgmBefl7e1MO+BNB9KDogznNBYFheTtWs8Z31zR/S6E3Xatf1X9a2G7+svv33tOypqXPO195Lr9TYT12pySc+Q9191RThuZgi6/zR1+wjtDYvWB040BrByBhDSCeZViqpWgUaNu/E4GBrKLN/3/xzRcPgB2GSABv8nP5QuqWlFPSwZUsqWgqhXXtzmJRA1ftCMc1iBvRCAlF6CBRLS8myke8xohYxNbLXOfGV/70Qxru30Wm9gWiHpPvd/w9IemZ2zRMkKYTwTZn57p0xxi+2ayyE8DZJb5OkXbt2ndCAyIj20rY3twE+fE6mN8wIMxeAlgMDkq23/fosfF5smDNt+5DiHGR8iCrMrJ09OTdZeJ8KLzLzzIMfeBH9D+TNZF5TYU2k1rl7EwLVwBkzfhNMZMwLidevqQcnz7QZB/lOBHZ4uz7jgiEwJ8Kz8fcwbyRPzFh+HACN1zzRjrjGZ+R7PxbCCCYZmF0IrWDktRf2XAitvh4i9Sh7BGNnjYZXDumxD35dZ9x2rbbecq1G77+pZe8vDGzS/qe9QPsueKEefMoLNd63Q7296XwiH5zC+Iho9I54zwgxvVKZoL8/FTsl2ZajwSkv5OsOevMWEXTtBDGYPqDMOrGHAB/eaXw6mOmokci7F2MSQjEt+hJdCGIIZT6BHF+u13bRFumf940UAnyX8JSVFQuMIGAIbd4DIaY5rgfsuG4j+4zWG4jaLVUmc6gm6fGSnidpp6R/DiGcH2McP+rGGN8n6X2SdOmll+btrInOO+9E7irpkUztJN1O5o12L7gHCP87/5v/876kpKV6X0g+jnaMBZD0AlEIUmxGnaO79cyV6/SM5W/pWSvf0PkrrcAzry5dX3+2vl5/vr7aeJFublyk5u1V6XZJf5sYsF8fPx4Pjl7Q8XMEpDEvMU4/Z+8vy+cPCAMA3jeTJyH7fC7y9LyW79dKak1QBQC4DyHCa9H4iD0AELRCgIYPGvHBOpj0MOHTDhGqe/emdUZLB+gww/v5+6RWhCusND6VZKPSegPRA5LOcv/vlLS7zTXfjjEuSbo7hHCbDJi+u85j2fC0GoNc7VooZ6DHI3F5BuCZuW/Dt7/aWNtFCMGIkLK5zvedv5yeiR5r7Pk8vHml3Vjzz/KQXN9WJ4DJQQiG7K+HKfc0Z3T+0g90yeJ1umj+Ol2y8C1tae5raXMhdOkHPZfp+r7n6bt9z9OPep+heXUfkcS3tQE/wMFr/8zBAxGM0WulMEhy6DBn+mAN73f0pjoIEymAQRsQGjbMmefPMfXMhf74zfEYmGcpyMv80cbw9eCXoSCpz3PyR7ygqaP9eo1raKj1JGJ8lYwZ0z8AhjmO5wwoYupkT/l0CZ87VWpEa6fvSnp8COExkh6U9DpJeUTcpyRdJemDIYTNMlPdXes8jiN0441JGmnHPDsxs06Sb864/A/MJt80eT+5tJszpfy3/2n3WTvGm5t++CzXFtrNPzfF+bIy3p/izWHt7vP9xJiYhA+H9vPAVMa4eElJIJaSNA5zxI+Aqcz7/jwzbbdWucaSM2g/Rn+fr/2G0xwpl3whfywCQSCMUUrm0hCkhckF9d5xk/puuV7V739X1RuuV/0nNx+pZAA1RzZp/pLLtHDxZVp55mWqPvsZumCoWxdVpV9dSflP+Dl9rTXq0uXPe3k5HegXYwIYSu/g58TshWkvBLuPxNX+/pS/Q7UOHPM+kKGnJ1UDR8vwuVeARQg2n927U+g54ycScXQ0nXza22ufT00lM5t/v5aWUmAQn62spFNo2dtzc+b7IoeLRGGi5LZuteRScpmkZHL1tQoxJcfYGnTiU0Xwly4spLJOaJmYYkMw/1oJRMdBMcblEMJvSvqSzP/z/hjjzSGEd0m6Psb4meK7F4YQfixpRdK/jzEeWs9xeNq+PanzUqt9vpP0esQc4hh5LvV6c0IODP6eHHT4zreVU27uYEx+DvlY27Xtf7drwzvlc/DArwODwPTg1yIH99zflAPqzExijgAJPgcc0l7S5ZA2GFquucBwABwYnT+mw2sAHmgYn98PPpAA8iCHv4i1wBTkIwuRbru6jLl4ibvZlKozk+q+7UZVfniD9P0fKNx4g2q3/UgBbsWzqla19KQLNH/hsxSffZlqz71Mi7sep2otaCDL44oxnY7a359AgPUilNj7wBAwCIWnbBNh2FSJ9v5FovfGxhLj3rIlARcgRLFWBAOeFXlpPg+K4IdKJRUCBQz27UuVCwYGbF3vu8/6fcITUgVxqjlwbAb7h8AcEp8JycZ/x7H1zO3AAWu/UkllkcjF6u+3A/A2bWp9pwBSkqXxK1H9Y3zc/idCDyGO4BsppW6gSRHKXqm0huVvZArxWHaMhwldeuml8frrrz/u+w4fTk78nPHnjNdrJbkW4m26uaSfawM5ddJq/P15W50iZY4FfL4tn6+Qg47XCH2/tOPPJfIlUbinndaW9+0jy5Cu0QzaOf0BKUB+cTHZ4unT+wz8/DFfwDj9OubJijnoes3Ir4P/jjZ8qLvXLnzwycqK1N/bVOW+e7T8/ZsUb7xJ9VtuUv3HN6h6951HPdMYgpqPf6KWL7xUK5c8XfHiS9W84EIt1Xpa8mg61TGkJExXl4WKA7CYmQh398ITJ7cSXo5/g3QGJHpMUbOzCRj6+tLBgTzjsTFre3Q01WFjvXySKWtcqaRwf0xR5MHt32+g0tdnQBej9T02ZiB33nnW5uSk7Zf5+QSOFE3Fr0I+IEe+ezNcCKlo7r59FkzQaEiPeYz95pyn4eFUc86nIsSYygKxRzDfEdBRrabitOxTwI2EbNokCMMLBifrGwohfC/GeOnJtXLqacOnSnkGw2/vJGzHVHMHbh7K264P7xxtx6DzsOfcdCW1gl7O+HmJffkPH/JJuzmo+HHkNvt2mg3SKhFHSNb+mnbh2z5cOk9MlXSkKjMmDcxlMFd/yJmUJPL+/tWBj3BncjeQsBljLkzAGL1Qka+Zf6ZErGGCo2QP0v7KijR3737FH/5IjdtvVvctPzLQufWHCjMpb+fIfmo0pKecr6WnXqTmUy9U82kXaeG8CxQGB47sIY6cWJ5JDBUNz+9JSubs2ZNMOD4XDkDifCn2NSeEcgw2JiJftYAQ9FrNknMPH7Y2tm9PpXIwk44XYUabNtkYMYVjImRv+Ool5BdxBtDsrPVBkdKtW60/TqmN0Q7JO/vspC1TJeTAgZQnNDubIg4xG3ICLdXApRS1OT5uIDQxYSC6c2cCcEyOaL55PpwvtSSlZ0SEHXX8mPPERDoyfNOmtOebTfuOKhP+mPtHC214IEIV9mYjz9hgrN6BmdzxAAAgAElEQVT8AuPxxD0+ITZ3NCNx46j0PoG8HcxKXsPw7Xhmj38mBzEPJIzNh9HSltQ6Tt+nXweYGJUQpFbJOi8k6utkASowa/wi2MLn55OZyldByNcTKdZLhH7e+IzIbfG5Hpj1vKMcMPFz8aHwjJ1rvbZFBFWzaWVxtGev5m+9VeHWW1S55WZVbrlZtVtuVs/YwbZ7r7n9DOmCC1S54KnSU58qXXihmk94kmaX6i3aKv4lMuwJgfcmxnwf8Ew4CvyMM44GbRgxGu3iYgpVJ4eHCuBolIA3/jcqjWzbZj8EDkCTk3Yf4cqYyhAwvKkSQQGfz8hIYsJjYzaOri4Dg1otnVE0MGCAuXmzjWtsLOUXHT6c+qSoLX4gQBjthkMcMdEdOmTa19KSAQOgLKXq15jZ8nPNCOlmn5HLRcg5OYOMgyPaCXTwpnfAN//u0UQbHojy8uk5c/cMSWrVRnKfhycPOt70A3lw8JpXO/LA5YGmnYbjGW07bS83Ofm+PZPN+ydnhOx+/DP+SGXGQbgr0iJ5ST6Iwa8zdnLvc/B5TJ4AOSpk53lamBLJXRkeTkcHeP+P90H5ZwMIA5L+nhillckZLd1+pxZvvl3N225X/c5bVb/zFlVvv1WBxJV8LwwOKjzlKVo673wtPO4pqlx4gfTUp6rnrM0ta72y0pobg5kLJi0Zk9+/38bIGUn5ngKsiboaHU3FTz35nBkKfYaQfFcwctYZAcE7zTEFDg21+nbws2BiooiuN+WSo+XNVQsLCTCoP8eZSSMjZopbWDAQWlgw8EMgQWvjeeL7QuuhBh7Azd+AAPt0acm0PM7BIghiZSUV0fUnuvrABPYWWhpnJeHr9PPDwgBwYh70zwfXAb6go/ZWTNr+RqYND0Re8uzEkDyT7kQecHJNx2tKnZg9lPtuAEJv9vNmNQ8iuV8pn0+uBRxrPv9/e+cWI1mWneV/R0ReKiPvt7r3dLenNRdb9nhoxkaWDNgDGgtrhgcjjcESIFvzggUIWcgICYlBSGA/GD9YiJExQkjgy0gWLctgLF8eMdODzWXGjNzT3e6ua2ZWZWblrTIzIjYPO77aK3aeyMyqypyozli/lKrKyBPnss85699rrX+tjaeC2opZtA3v2LoJPCXbc85eB9+zxEHx6sLC0aRrGVbc28vG0nY3tx0RMJgYS1t9bsm877iEmGI577yjzjffUfvtd6S3vqnw1p8ovP2WGndTtUFlZGRuTvrYx9T68EfV+sjHFb792zX6ye9QuHFdrXbQwwe5u0QZWkGFRvdpPD7GkJ5srE1EeKZ8ptiWMFSj0dsxADAO4+O58SoFprVa+u7t29lD4nwWFjIB8kzSpJa8Soz5OcEblTIJ4QVTrDo5mSc63DdyVPfupWOx9MKjR4mYUJJNTPQWluJ1k5uq1xMJ4cEQEcCj4/og+/39dEw8rbGx9PxfupSX02BBSFtQbJ9Z+gTSusmKeqwXixhEStdivSr7t4WF6lAc3idh4YvsKV14IrKJ1zL8chws8RALl6q9kuMekOOIxx6L82P/Vv1Tfld6tuvBO+DF2dhILyGzSsJDtCCybYgIkdmuC+WYEIaw5InggJmg9VII79mwW62Wk7v22lCsIUhA9GC7qEtS7XBfI/duqX7nfdVuv6/anVtpkZ733lN85x3Fd99V6Mqlat2fnvs1MqLOK98mffjDqn/kNemjH5U+9rH07+Ki9h6HJyopjAfx/04nLzLI5+SsWOID5Vi93hvi6nSSAWQ576pGl5AQXiGS5DJ3IeWJBe2RxsbStp1OWv7gvfdyO5rl5eSJoJrjvLivEBL3gVxgq5WJjRAW9xznEaEDJIQntrWVF/Uj73TnTvoshGTkl5d7c0vkn2zHEdr3YKzZP2Ml5Wd7e7uX5MbH0+9jY5kImZRRa2TJI8a8Gi7PqF1wUcoh593d9Ew0GmlSYe8n4dCqv9nnARI67SrAH2RceCLiJp50I0ul13GexknAYNs+d6XSzqreCGthUGxtBeABL8NJx11PSTz8y4tMshhhAvJS9s+YYHRsTspuByFwXcw+MYYhZGNkxwSyQs2EQquUJj/eizpcT9KwkYf3pfv3dXDnjsL9u6rfu6uR+3dUu3dXundXYXW175gwZHF2VvHlV6SXX1F45WWFb3tVeu01Pb75mg6vvqSxiXrlDJVQVElCtINBfgxZc62stGs7ejNOeA9bW7kR5kkkNDaWDDaKwhLWO2SF39HRFO5aXU0z8bGxlFfCA4LY9/ayN04YjneA0Bz3e3o6n6tdSt6GtagVYkFCSIjmtUtL6Xt372bP5OrV9DlEgsHHS2OfCwvJkKPOQ5AASZEPqtWSB3T3bvr+lSvp+u/cSdd140a6dwhfpN48KWPKsjD0U+R5IDQHGeP5cj+tzdjezrVOLKhXdf84D18q/ILgNOEpaxyfhXj6kZiFJQ6bTCfBy0uOp9Qvj3Ec7PXYBqwYD45JaIj6hTK3UhJGOSbEvq06jpeesAl1JVb8AfGMjUkNtdTYWFP94arad1dUu72ikfUVNR6upGnqyoo69+4r3ruvsdX7Grfuw3H3ol6Xrl9X5/pNda7dVLxxU/H6DYWXbiq8+orq3/ayavOzPb2oyHcQyqqKx/cjIUJqVOpvb+dxwSPZ3889yMou6zREJeFfRYCWhCYmskqtKiQn9TbnxEjTILTVkq5fzzJrroccB2o3roMwE14QISc7TpaEeIaRbENC9Xoy0KjU2u1ECFNTOXw2NZVyQgsLWeE2MZGFMuSFWq1cyErYbXQ0CyNarfxc1+u5E3e7nYtR79xJ5/nyy1k0QXcDG16TsnfCfW42e58XPPpLl7Jizi73Dba2MtlS1FvCkhDjOgy48ERUwhra0uhbr+Qk4HHwI/V6OaWqDUUb4TaMtf2uVZKd1hXnZecFtctCEK7A2+GlkXLVv92HHRMIg5eZ7dg314UX1T5o6/DOQ+3fX1Xn/qoObq+ofn9VU9sraqyvqv5gReHBqsLqigKLxHQHqKHqB9G+g/HSpSfSrXD5cpo2X7smXb2q9uVrai9fVWv5mtrzS1K9fmTMj7uPz0NCGF/I2RoyCGlurjqExkSh08nh0Kr7a0kI4io9R87p4CCF3sgJ4THVannJeYpwq0hoYiIvmYEx5zllksF9R1CB98SEwwpbKPRcX89EVKslApiaSh7a/n4ujp2by/3akImz9AWlApcuZfLgnrXbWRk3NZWLr/f3kyfUaqXHZXIy/b63l+Tgi4tp36zTZevZpEwMXD85K54X8qoQ4dZWXhbevsN4grYzRYlhJSFpCIjIthEpDS2GysbciwL3HljyKb0Fq26z+7eJfbt0g5Rl3JzHaQFxcL52ZU+OTc2OzfMw8yYBa2tBpOwtNToHCpsb0oMHimsPdLjyUJ3VB4oPHqi2/lCX1tdUe7imsLqquLYmra2p8fCBRqpcwX7oJgI6i0vqLF1WuLyszuKyDmaWdTi3LC0va/TGssZeuqz6tcsKha61ijwbDWm8cXoityTUb9VZxqg0ThsbyVgSprLr3DQaaZudnbzWUUlCdvmMMgxkr9ESRKeTZd30OGM7wkorK+ncms3kWTSbeV0du3w3CjJIiBApXgUeAeNDdwvUaPSbwxAjKLC90eigAXlCblevpn8fPszr/SwvZ/n0o0eZwCwJcR6Qup04kO8kXIg3evt2lp9PTaXx2d1NpLS0lL7LUiEQLATDZMN680QduM9I0TuddN7cb/v8Uaha9TcwzCQkDQERsc6L1Bs+6pHsVuRxLGzMX+pVpGEE2L+t5eFBtt+19TZSfsGQolbV+EjZk+OHXA+eD1Lg8bGoS+GxGjubqq9sSpubiusb2l/ZlDY2Nbq1obi5qfbGhupbmxrZ3FBtc13aWFfY2EhTV94IpbzKccrRnhDX3Jzi0rLi4pI6i8uqX1lS7XI3E760lKwNP/Pz2tlvaGcnt4NBBQWJVsnMS2/2CXk+g6qIxQKPIyFqccih7Oyk+hPCPyEkw2ir7tvtrIiiYNPCVveT2ygND+GgEPJxID5CchhQvCpa88zOJmPfbOYwHd4RJITcmh5qtKShG8DYWF6biYQ9OSMkzXiBEM/2dvq+XXKEiR21vdevp++yymytlkgCwcH6ep4YQgJM3ur1LJe2kvetrURE1AyRz7p9O53b4mLyoFZX0z55HJF5b26m/UDOTCx5DdjOej8IEsDGRi5Gtc8h6jiECU5C1bjwRMQM5GkNlVVkWe+J5DzkhYLO7t8m+AltVdX+8POkbmjvQHHzkbS1pbCdVhaLG92FVx49UtxMv9cfPVJza1P1rU3Vdx+pvp3+r0ebCpubR9y6IKliwt0XsV5XnJmV5hekhXlpYUFxbkHt2Xm1ZxfUnllQZ2FJteVF1S6nf0euLKg+1pCitNudJY5cOrpvxnV/JxknjA4EVLa8xwst81HPSj4AT5mZbdXfMTrtdiKfg4PsoVy9mg2ebZ9DDVankxeDK68fz9SGYnvGP/YaJkJMu7vZU9jaymotO1NvNpOxn5nJbWasog0jbo8BqXDek5Np/1JeBZZnHkIjHMeibu129gjm53Me5fHjXHR682b6LmE6KavearVU2yPlGjLGgs7ZKBIhAu7T6mrvebXbmYTm59MPjV1nZ3vl0uTN6LQA6SLmQZ7Ne882eLO1WrqWRiMdxz6P1AnV60d71Nl7TfpzWElIGgIieppWGTY8R4U5oTtm41LXhW+01djfUW07WdS4ta3DjW21N7cVt7alnW2N722rtret+u52zlTan+3t9BTzu61efM6LjrOzitMzajdn1JmaUW1+RvX5WYXZGYW52dw3f2ZG7ek5HU7OqTU5qzg7p/rMpEZGw5PxsKq4JyHHRq9nB9jOjns5rhSkMtt/ImAw+6ryQpkFP6+UlXyGNWjlNRDupBUNE4q5uawAIywDCcWYO1LPzh6txq+SRpfbSJmoICFqcpAlo4QjP8M41WrJ2UQBBgFgwDGiVUS3uZk7dENCMzOZ/PHYJydz3mp7O5Pc5mbO3ZDLoq/azk4SJtCyhxV6Z2dzg1SKPvE0mKTt7WU1JWFlwpitVhI+hJA7O3Q6uWP33Fzyhvb20lhQJ0XobXc3kzt5PUifSYq1BXiv3IMYc/lDqYAjLyb1V8dJvR3pjyt4v+gEdbGJqNVKNSToLnnyit/b27vqbO0q7uxKe7sa291R7XGKc8SdXWl3R43d9Ln2dhXQiBoQwnqeAujYaEhT04qTU2o3p9SZmlGnOa325LQ6k9OqzUwrTE9JszOqzc2osTCjxvyMwsy0NJMI53BiRof18SR7fpxf0pHC4OJpoHLiRUPFR9iKEBikU3p/JVBWEc7AM5TyjHxnJ8/eSZxzTuROkIIzUz2rFxGRCEnpEjs7eQlsRB5054C8KKxlG0DD0JmZ6mp8DKyUDXgJGy6UcqeFzc1kSMsu0hA793lmJnc0ODjo7TaAAbdr9lDcurOTtiMcuLCQnx/uCd0QkFBDEDQcnZ3Nkm0KpdfXk9ezsJCXD6feiloelkJApk1OhlwVXbYphpXSGK2uZtInjL22lo4zNZVI6PAwjR+/E5lotXKdDyRNNwjus518Qvy8VzZ0Sj85e6/xLhcW+ud/ITyr0CuBKrNfWO+i4GIT0e3b0quvnrhZvfvztIjNpuJE80mDqzA1qWDXKbY/U1O9P93PWpemdHhpWofjUzqsjengMPTkQCgGtR0NMPCPWzmnhFGSpEY9K4pskl3qzTXh4TBLRoRREgcv60mKQowzklkIzsbtkRVPT+eeYKX30+jjbT0vbE6kqkYEJ5VqfQpPSehb8sJD4Bwx5ijTLGz4BYKuau2PIrFWS9szV9rbS0Z7djafL2Rv1/GhIJUGmpAWOSAp56aQm7OGEB4VXh+TgYODRDSsU2TDkUjJd3fTsScmMtGTS5udTV4aLYbwuubn0znt7GQSxOjX67ngc2Ymr+1kl0pg2QuKZENI5/ngQdruypX02b176Th0C+dZx1uBBKw4guskJ2fb/KCYYx5ahl/Zd6uVJfJVsITXbxtCnxe9vY900Ymo2Uw6UbLfExOKlybUGU8/8dIl1ZoTCs30lLfGJhTH07b16abqUxOqTTXT95tNtccmdDja1OFomsrXR2o9a9GcFnbmb72G1n5OyrLUQNWDiiFF5mrDJqikiHtDQqV3wsvG7JY4P55RVe7rOGAc2AfnSLNNihypl5mYOBoGPWvvx6IqJ0LoDU+FTgELC/kcIC/qa6QsluB3jPnoaLq2Esyg8aSq8kKHh8noQERI75HQMxvHaBJaIn/BswKZ2iWmuV6IjnEm90X4a2QkG35yNBsb6W+sO4QBpnUQXkuzmYlrdzd5JhMTSZ12cJC9nmYzkfzERO/ib3jfjUYWD8zP5/wQK5/GmI67sZEnaLVa7lk3Pp7ED41GCoY0GokIeR4JQ9JVgrHD0yEEzHt16VKvMMM2wq3qks1yJ1WhWWAJr9827XaWuverObpIuNhEtLgovfOOpGz4bRiK2Snega0nKpOOtkhxdOTZDCbHgiggIlt/Mj3d2xT0uH1IvQuatVp5sS0e8vK62S/KOwwAxMPPaeupuA5yKsyMMXworzB81FnxOUb2rL0fizInQudk8lR25VIbqy8TyTwTdrG3Tqe3P1xpMAi/QEJlXojZ9dpaDj/R1496HrxiSMnWMCEVHxvLbWWsqg1DXYYkO50U2qKtEIozPBRyNc1m8i4QJ5A7QWZNSJDGqjs76VpGRvKSCix/gJABKTp5ISZEo6O5nmdxMYcf5+byPdnbS9+jpqfRyLVC3YqAnoLV69d7a+L29rKsHo+f8CT3GZHF6GgOX0JUyNltmBBw/cjkq1A1sanaZmMj/Ts/750VLgRQP0E0tggNbQAqLHvDy3wF330WpZYtOLWkRluQiYle76dq/5a4MIIlWZGUHRlJxoFKcWZ5XBPej3SUgE5bf1N6MyHk3IgtqOU88d4Yv6rzPy+Qd4kxG/x6vdczOzg4Gqtn5mtJiPAlZEJXgMXFowaDe0aXAZsXYlZMo1dqaSCJra28nMDcXC950WmAsYPkkRBDQramycq02+00Do8eJaOJMpDcTrOZFWIk2iEynhG8Cpp5knpdX0/jDAFQb4WqjLFcW8tjjkQcAQSeBqo3Jil0cqf/GhOB27fTv4uL6Xookr12LU8YuUbyQoTzOC73+fAw/Y6Kk3vKvcKTsnVcnBvSdZrZlrATm3794xBAHBxkqfow4MITETMum3x84tmM5gcSdDq93QOeNV9hjbVtu4MMlnADL1TV/kuDf5xyjGsj1s5CZhi2crE4QnNVYaJ+qMovXbqUj0tPLxtWard7FwpDcfatCjUwg8YrodYDQugXq7eiAUswEABhMMQJpcGwxp/fyaEw42YyMjWV62jsxKkbET7StZnJEUWmFM/GmNckguit8UNIsLmZw3dSOg9CutPTOfyFd26vZWQk54Ugckuojx8nEiJ/tLmZvUW6eVDPAynRQmhzM3v4eBY2HIqyzxad3r6djs16Qt1KhyeNVAmhkrthXPmXqADEQG6T55RnhGu06wwB6sbIr/V7tu3Ept8E7DRe1UXEhSciDCWSWDybqvoOm0N51hk7cXIIyBIR4Qeb/6nav93HacJXzIZJ6lLISGsa9kly/WnDb1Vjw/eZQeIVMdtstfJMk4Xu+lWVnwdarTQmGIjZ2Tz7t9dVFauHbEuSJsRJ6xlatpwkToC8aH6KB2DX8LHeOftAUmyvyUqL6/Xc0ungILeVqVLIjY1lAQTkwGSMvBD3dH29N+9jiYxqA9rY0EuPvM3ycjLGEEKMWZ8zPp67KRBWY3K0sZHOZXExS6rJt+Eh2sLckZEkRNjczAo8clPz81k9aGukDg/zNTFJst29CdfasBvqOLo9lE1MkezjkfWzF7YtUL/3jhZBqBGHCReeiGwuomr2X4a8nrVWxXpStgAT480sjvxPvwrr0hsrQ4YWvEhIYqniJ/SE4bGLr/U7dhXKsbEeJGTJLJNjU2PC+Uvpum146zxB/gfZa7NZvawCBraM1fcjJ66X0CJhsKrGo1acQJiFThnkb9rtXIMCsY+O5skDxy9FE3gEhJQIp01OZq/UKrwOD7OwAcJ40oWja/DwlsfG0nVB3CH0zuJRvnHdeMhbW/0VchMTefHCR4/S84J2iPAwdUVLSzl/wkJ/dGygaJRJ5Pp6FkQsLqZjrawkUrpyJYcR6/UsIKBLFOpAQnCQNLkj64lA3CMjuebJgn1XFS+D0yjkmDjRPeKiixNKXHgiIllbzmLKkFe/hpcnoUf1ZggIA4Cyh3h91QNm93Ea9ZgliP39rLIjtMMLPjmZZ9r9ijerYAUOZTgQg8xMOIQ8e0NRhVGFiMuO02cNrptEN57Z0tLR5pOgKlbP7LcqkYwnMzqaZvXS0Up6tmPM79/PoTe7BMTeXl4KgGJTW0hpc2hcH6t/2oaqSOERGvC8ofCig7aUvddGI4ed2A/3aHs7J8jppo3UG2WglHvnYbwfPkzHvXYth9DIbyHTZi0gQm+MEeE8liFvt/PSENwnWgHRFWJnJ3lDIyNZ1LC6mvZ9/XpWHhI+JdSFKGJ8PPeWYwkSiA51npR7xKH0LJ8JhB0so1IFJjb9ipd57sqxHTZceCKyM+GnDXkdhyoBAso1pNSE3/rt/2m9sZIgCIdJvcWntBIi7IIRs10ASvQTZ9hiU9thGUNh+3BZj4kZPF7deQD1GAWy1J0gB+7nhdn8j1XIQaRlIpmJxehoTtIvLBwdSwwX41irJaPKDJvnBSNNaxup91lg5m/3S6Ew4VwrZkDObVcGXVnJRcPj49nI8zxyTwjJ4VmR7+IabFNR5O2ssEqtEC2PpN4QGrm47e1EFBAT47y9nTsgoNKzXger2uJdEma/ezf9HcJ88CCr9HgPWC9oZyeHAbnnFM2i3rPLanBPkdMfHOSwrgXndhpxgvVSq7YpF9sbRlx4IpKePuTVD9aTsjLqUoAAAVXtv+xocJI3VhIEMytCIlYRR/ud8tjMAFnfpfQOLTmX36/6ewjZ+0BubAmUFxDjeNagAJUZPAKE8fFMlv1i8VxL2VLIJq1LTxTPD2NNEh9QqEuHAVZhxbAR+kIGTCK6JEGeIRuSs+IEwrv0ahsZyUW3ENT6evbYKMq1hZG2byKhKSkb7ImJ3lk8YbC9vbx+Fe17CDvSyHR9PeefWHvJNiRdXMxhS0QTzWYywOSNIG1bV8WEMYREQvv7aSLA/mNMRIgnSC84W0/F57yrPJePHmWC5R20OSmEJBa07zmNOEE6foVVwsjT0/3Jahhw4YnIJuzPQoBQ1gIhQGDmeVYChCoCILSwt5f7fBF6PO7aCNlYMrL7l44awKrzRcbLtc/MHE3US739s84y1o03gQhibCwrA/k7s/gqYieUWXpp/chJyvdcyjU3zI4RweCVsUQBzTAZKxsCIjRk7xMkRO6CcyvFCXgXDx7k+h08Y86DtX2Wl7MEemsrPz94W4SmGo3cxYCZvQ1P0sGABiEQPe16Fhd71WqEallcD2POOkOQKqvELi5mRSWdI2igChkSqkacQJkAcuqlpTw5QyjD/YCEbPgTrxDVow27kZOCPEuisV0ZTuoh129iA3iPqwQvw4YLT0T9ZNqngfWkbDdujDOJ57MUIJTb2/5vzNq3t9NntDc5TXEtxpD+X7yY5ffL49frOdTFjJ2CvqqXx+YczirWfXiYl4CW0rhbea2Uu1qX7XtAv/xPP3KScu4JD4yCY7oHkDdqt/NSEORl8Hgwescp8WxjV9tLjWUoKKw8PEwht8PDRDRSblCKWm5uLrf2Ia9jC5kJTUlpG7pgQ2oITeicQPhpejrnMre30zM0M5POg+UfyIfZfoKEtSCwEBKRSrkhab2ePBzuE2FHiHJiIgkTaN9DR3A6GJBzov2QbeNEyHZkpFecAEk2m0fFCQ8epG3KYtKyfU+/SWS/e22BXJ1natjECSUuPBE9S2joOAGC1CtA6JfTeVo5eJVgQTrahw2jSQuRp1XA8QIT1rGJ+pKAOC97/uTAqhKvVnF2FrFuBAi2U3ezefTltiRTFd7oV0h4nDhByjkb212BVjX2O3isNLpkhm3HsJ9MnLWsGNNaLZ8X3h3HYVG3ubneFjTI0mnrNDKS/k+IjjEhdElBLstqkxdCIYe3wdpEeEp0ylhbS9ugTmNlVK6ZayXcxCSqXk9Gfn8/iRN41mmpRP0S3j4inEeP0rVLefVV6pCQnpOXtEIFvEyujeeDsC5jZztmkPOanz/6DNu6sbNs3/OtKOp+0XHhiehpUAoQbBPQWi13QLCLcvXbx3FFsxZVLXj4vOyAQFiBlionoUodiCfDddrWLUhbpd7zL72yqgJc8hzPmxdiP3gW9pz7hTxPisWX3ab5Xtl7zsLmMVqtvNRBo5HDsHhqFGRiwOyz0Y/sMFgYYPIxXA+5EWbVKyvpB28jhNwIle/Y9j2sxI6aks+ZqePR2W4YeLL7+7mDAbJkQnxra+n7166lvxO6QziDt2yLyG0d1fZ2VhvG2NuRAvKz9Xb7+3ltoeXl9Bmezfx8fj8JW+NFxZj2SU9G7jMe3chIOk8rFmHBQ9oEWUCQVU1tARMOb9/z9Bh6IjptBwQEBc/bAcFubxVoVMFDSmUHBBKstBk6Dv06IJQhoYcPcwgNg8hxy/O31fX91tB5nrwQ3QFYc4daleP2hwGm5UsVUZXdpvnecSti0mbl/v1cfzIykmXSUm9PNkI/dkkLrqlc90fKXhZjLmXDhSfEJGBsLBHQN7+Z1Zi2e7UNSdIYlR5ukBCeONtR7Ixowk4wDg+zigyvm1zGw4fpvK5ezbklBBqQ89xcfgekHL5kfSTELZAc9wTSx1ujzdC776ZxXlzMxa4xJi+KSQvvDrlSnmOWPuf5oHaL/JrtekG3CNabsrAKuaqmtuyjXFG3hEXgPR4AAB8tSURBVCvk+mNoicgaa+sJ2QakJ3VAOI3BL7cvw18YI8ivqgMCNRcn1Tod1wFBOkqAUnqRkbHavnMWJ3kdNIIs2+GcBnRmwMBQvX6anF6/NjyAgs7Sg+3XaoXxefgwyY0PDpLBv3Kltx8bIgUKM6uKFe2YWcNkPSS24++QkJSbm77/fjLGjUZSp1GThIdjQ07kMFAzSkcVcuQYER9YIsMgt9tZhcjKsLRJunEjL/V9504O7c3Pp+9QP0eIDo9obS13a+h0ertTQ362wWunI739diKn+flEfowPq53SgUHq9YR4JgipEx6kfc/MTK9C7tGjvN5TKU44jULuNF65lBVy3ENHxtARkQ27YZRtA1Je8uMECGXe5qSWOdbLkrIEGuKw4TergMM4ETKpIqFSDl4VDoQAIVkph9BYSmB2tj+BHuftVHkcJ4EZMnkOKUueT1tUfNJxSY6XhbyQps3hYCwpnkQAcP16moVjrGPM1z89nVVpVV0YqsjOGizuv639oUhYyv3NWNrgQx/KrW3wKKzxg4Tw4KQcHrPER26Eju32b4SMrBR+dzeTxNWr6RwIE+7vJ5K4fDk9P3gfdMTmPaEbN/30rFSZjgKIQZrN9Nm776Z7sbSU7gO93mZn83kzAeGYRBLwfnhvUFsSNuRe4aE8eJC+Uy7n3W73Fi8fFxo+qYcc/RarGqY6hoSIyvAbXgkFqFSb91v/p9xHv/DVSdsTNiDsRwEq4bfSG8HYlovbSUe9MeLStnuDJUxLQPxLOxNktVUGHa+jqi4H7+C41iXlOe/sZHIlGd0v/9MP3L9+x0UEgNG252tJnTwN6jRycuPjyWhOTmZjz0TDLqXQLx9Q5akRDsRztsICwlKEjZB3cw1LS9nTtiE8jB/J71Yrh46YkBAuooccMmkbSgoh52ZIxB8cpOvY2MiEcOlSklCvrmbl2LVruWiaSALPU6uVSEjKtThWbYmggrZDtC1iqe/Ll5M3ikiC7thSFhnQq4/JHOOB0IN7HGMOH3I/NjczCbFmEWi309/a7eNXWT3JK5cSAW1tVTdMdSRceCLCyFj5M4aZWDSx/aoHydYNSVkW2s/wluExajcsMUk5lNBPzm2lu5aESu+qKvxmOzhDgjz8VYSH54XyCRxn8G3lfT91EOfDzBqDQDU6LW+eBngN/Y5rVUvltUC2NoQVY9oX6qzDw6yKpFaJCYQVN1SF3aTeyYPNSUEc9ALkntGnjS4JhCUfPkz7Qv7caGTPxxo/CpshkRjzGCMe4XpZisHm1lCqdTrZWyD0uLmZzgMPZmUl/V6vJ2K6di29P1zb6Ggu+u10MmHR68/WyyAO2NnpJfmVlbS/xcXkgSHnZhxrtXQ+TBpsZw88IcQR/J97RtisJCEW/QMlCfXL5ZwmGuAkdDpceCKiiBMPpFbrLT6t8miqvJnj6nWqtrdhHzwg6aj300/lBQFYtZP1fkpvrPR+8IA43+PCh8zw7RIHEHeVDLWfsS+3oemqVR1Wya9PC8al33H71RIxo0bVhDdGHViMSZiwsZGM8dJSbw0IogO8FWvc7P2zHiLGC8+DDhDUJSEqsHkLQkMrK/lcaCbLefIsY/Q5L+p8pExC3AdEFfPz6bPd3ZzLYTsa4xLGWl9P59FspvPY3MyNXhcWErkwFvbaGJv799O4sxyDJYJWK+17Z6e3VdXDhzncd/Vqup61tfQvS8uzsKGUSYhnC08YsuG5ow7LkhD98ZaWjtajnZaETooG7OzkbtpOQsdjKIiIhDUvQz+DXOZ+MFZVzUp50PmRepursi8k0RDBcbkka2ggGQyVlAUM1kDa7gcYIo4J4fVrtmphpbYQa1XY6bjCUWbr5J3Y77N6PxYQGuRcAuIjcU8OZmsrN67EkyUfZhPpdAm4cuVoiMa2K7JScLtd1fnZsFC9ntfTQZ1m2wFNTaVj3buXzmVmppeEpNxRggJZm5/i3nOO3MPHj7OnhfeD+tEWeyLG2NhIJLG5mZdNtwsuLi0lorA1SeSE8DBv307/v3o1F7haErp9O3kKfD46mo67tZW2v3Il58eQxCMUoB6JfTEpsX0Qpd5wuCUhckLj489OQic9i1IuBnYSOh0uPBEh02SGWz4QtmMCyejjvJ+q7W0Nhf0c0jnO+7H7JaFKp2TpqPdDqKusM5LyC8rxnrZQjhnugwdZVWXPGcNmjT3nQzIZQ0lH4mf1foAl56pcmZTDdeQZCA9h+EnO20XWMNYUKV65kmb5ZbIaEsLLQOVmQ6FV52e9sDL8xUSBcBIdAO7dS+djSYh2TBg/DPDhYZ5k4BVw7RDs4WFeC6jTycW4hBp5VsglPXyYSJnQ2MJCNqgs57CwkJ8TnlWOdXCQesG1WklgYImU8O+f/mluq4PgY3U1L+GwuJjOgxZAV65kdZ8VJTBZg3jt0htSLn3g2IT4IKHl5acnodM8i1JeBmNsrLexraM/zoWIQgifkfTzkuqSfjHG+C/6bPcjkn5N0p+NMb55Hudi27oDCIPeXzy0/JRgezyPdO69IQDi1GXo7TQPIZXezNpLMuEYyFFRB0mZfEpv6VlAWKNKLciMF0+IPALkgyG0SxI8L2xYqx+psWy2lA0+IZp6PYeQyN1JR5t5zs6m2fFJJCT1ekJV54cXRkNWJih4YngqeFjIv0nQT0/nTgfj42l7uktYb5qJiZXdE3aEMGdn8yqkNPfk+eJeEqra2spLbKOCI7dHDz1ICKOPh0JT1bW1tM+bN3PRtV1C4t69XMQ6PZ0+f++9dOxmMxHO2lq6XrxTCqmJNvB/xhvpP/fJenqQEMff3KwmIfJVnU5/EjrNs8jExvYddBI6Hc6ciEIIdUm/IOkvSbol6SshhDdijF8vtpuS9Hcl/cFZn0PvcdK/VWSCUOA0nhIzSL4LkRECI4R3XOgNEEY7PMwSZiq9ES5APiSmrcrOdlDm53kMfznTo3qdOg07bp1Obg2DMeXnLMMPZWudckzb7WT87NLk3AvGxBpdiLLRSL/fv5+uaW4u/ViDgYdFfgESsvJcW6xKTo0F3AgF04KJMcVTk7IntLeXzoUOzCyzwLhvbKT9NZs5fAYJEPKjRxwTlRByN2mk0XSEgFwwxCj21tbSfq9dS6Gwra0sEpiby8ox7km93rseEed//Xqvkd7YSD87O+ma5ubymkJ37qQxo3kuLZKuX0/b8Z5Q44QgAqLg/jMBsipYvN/d3XR9e3u5TsiSEH8PoT8JnfQsss3GRhpPQq1OQqfHeXhEn5L0VozxbUkKIfyypM9J+nqx3T+T9DOSfuoczuEJmCVa8qky3jz0tqgVw196PlKOPR/nSVmUOSXUb/Sbsi8SMuNS4m1Dfc9LPsDO9KwacGIiGYnbt5OBQ76NYUVhddYvG6E+xsZ2TIC8yxVAbf1RWVzLWOFZkiMIIYd97LFtjo6wEyE0zoPWPogeSs8Q7wpFHmRGUSl5kfX1rCybnMzr99Tr2ciGkENcthMHnpCU2yHhSVM0Crlwn2hXBEETvmTphg99KBerQl4LC5moGQvk3jQ/bbfTWNJ5HDEFZNZu504QiDFu3UqfLy/nvnfck6mpPLmwZGRl7RA+qldC1YTMCHXT6mh+Pjd25V5vbKT7RhF1v7wx6sN+3TsODvJKxbzLjqfDeRDRdUnvm99vSfoeu0EI4bsl3Ywx/kYIoS8RhRC+IOkLkvTSSy8908kwa8SwWOON4cfoW7kzf7dqOxLDEM9Jng/EZlVzvFgh9CrItrfz9mxnxQ1n4fmUsE03me3zGcb+8eNszKmGP6+ZHse2Brzdzl4jeQjyI4RYEEngWbLQmj1PDDPhmcuXj8riCWkREiMfxiSBHnjke/BaqD2iLss2FpV6Q2vs6/btZAhHR9P5QjYU+kKmU1N5coJXTh6OvJyUnxW8Fgw76jq+z7Xt7GRPYXo6K/bu3s25pcXFfL62YS5rUT14kPa/uJjzRoTH8JZomspnd+/2Nk2t1/O5UjBrBT9MfEZHc584xBa0CIIo8FbsMhU8D7Y/3MFBrruamjqaC5V6yyB4Bqq2QRnH+3HagmxHL86DiKpMZXzyxxBqkn5O0t86aUcxxi9J+pIkvf766/GEzSthW2lUEQ//8nept9OBfcGZWfcDhGMJxe6HPAWzWcI7yHktYVryOWtg2OxxSexzjhQA3riRZ6GMz1kDI8+Ykdgmr2HFIAgSmB0TjqrVckeA0tM9OEieB4u7LS723kfyHKgEbRumWi3PnDH65HY4L5LmUs6fjI5mcUeM2Qva2clhQbpH8yyQ30JqjfHmGUXggPDA5k7wuPHUyNMhgCHk227nKn8pkcHMTE7kUyNE81a8UytIoSSCPAjdv23boZ2dtH+IYXc3qxMhXs5tero3b2MLxlEIQppSLool1EkojknL1lZuwVQ2oUV8Uaul56AqFGcnRP2UcbRDQpXoooTnw3kQ0S1JN83vNyTdMb9PSfoOSb8fksW4IumNEMJnz0OwYLto4+Ews4RwrEHG0Fmvp8oLwXuy5GNrd5iR2/YxdFTG8CAywEhwvPN6oDFUVoHFsTiurbOyy0xgFMkbnYV3Rl3P1laeeXI+/J8+YRAFkl+S0lImAuuhQkDr63n9psuXe5tW2uJg7tXaWr5PfMZY0YSVc7cJcsKp1JDhxVE2ICUCIg9iO4qjkqzX0/4pKiU/CCBIvDfGieeH0BmiCcaU/NLjx7l4ttnM+ZK7d3PLHLwScnD0d4OEOAYKN6vopGktTVtpOrq5ma+bBD6rsy4s5FAc7yDPFtfJ5M2uRWR7E5IjwxMk3G3JwXpTSKrLiAYTojIUWG5jxUXUN7k8+/lwHkT0FUmvhRBekXRb0ucl/XX+GGPclLTI7yGE35f0U+elmmOBLpvzgTB46MmNQBJVD5UN09lQm5TDdul68sNKAplQSplT4vjnRTwYI4y9XRCNGTovMtfW7wWs13MVPfuxeauTXkTGn1zJ7m6eIHAPGH8MG0Rlu05DQP1mrBCQbZmDHNpKqzGwXDdEQlLfzs4nJrJxhICQ+GOkISBUc5xzrZYXdaNNzfx8bpjKMRA38Oyg6GTMEFBAdhyfDhB4R1L25qamskexupq7Z+M54ulRq0OOZ3W1tzwAIw8BzcxkDwTxis3FMglbXU0/jx+ncyHsVq/n3BN5IOvZES5m/1wneS2eUwjcemATE71NRS0B1Wr9VxVmfBHglCE2OmvQxWJ8PK+N5Hh+nDkRxRhbIYSflPRbSvLtX4oxfi2E8EVJb8YY3zjrYx4HG7qBACzplEaUcF1JPIBwjK0IxzDyMNvEMWsYMWs9D4/HCiHowEA4BYNGrJwZN0aTWbaVxPYDcXirQLRegDXebGNzOzYcSA6IGTX3wZIihs+G4dhHSZgczy5Z3Wzm3Eurlb0jFIDW6yHXQWEvJM45YSwhTDoQMLlhPBhrCjtRUtGRgLVueG6kLNMnP4T3zD3k+jDIVpFnCzcZewh7fz9Jppm9oy6jlY6UCV7KXgvvA0YccqH7AhOEkZGcL6NtEV0q1tZyvRDjyvghULDPFaRrlak2VG1LLbgf5OvIfbGsBUpJS0BVnkun09uxxCot7bvFRI7WTahbHWeHELnrLzhef/31+OabT+80MeNjJmZVMzz8/NjwGttIvS8HL52Vd7MthbNIc/F2zsptL5V3NuxIaAPSZNY8Otpb20MdS9m+6FleLJLYeEmQfqn4g6iojbEKPO4JxohZNd0omPXaXn9I7jkWoRKS/PQQZJty6Q1CizwX3CuS+tbrYOKCkbVjzn3AO8P4oxaLMRmthYXepQdsSQASfkKm1nO3vQgnJ/MEgrGyz6olEEJwNk9Tq6XP+QzPpuyJR00Q+RtyOHhRKMcgTe456w0Rmhsfz1J0+gJSXMu7aJ8Nronnl3tj3ze2w5vFk7RkitAGL5UQqH0Hyw4qVf0e6dRBGHtkJI3DcX0VX0SEEL4aY3x90OdxEi58ZwVmuDzQvMD2x87E+J2XHINjE/XMnpihMruval76NODYHM+SjjXsUp4ZYrDxzmzIzxbU8uLx8tnap35Eab1Dq/7rV1xrY+sIPKzwwk4GrDKKfUnZ+GKkCdPY0BjS5q2t3m4UGEqr9CLUMjnZOxHhmm0RrJTlz9ZLQ4Vlw2P2WWJsrOhhYSEvN82sen09h9kImVpRC+FS7gvPlC1UtvfAemMowba3U1jSPicY+JGRdE5LS3kpCaTQfNf2OKSuiTDX4WHuIUdIDHKzAoPZ2ZyXIixKWI5ngPfETq4smdK5gWcV2T7eMN4dHh7CASYEpQfEuFVNwNiGnBQeKdv4+kHnjwtPRCsr+eGTslChhJ1dYtRLMYEN79nQ3mlgjbYlG/t/GwIEVj1nw4HWS2M7a/B56TguXoYt4MVY2xCk9fbsOUHSUm/hKLN0K7Qof6zRrzovKd8f2y2dfAznSagRgqEImGaY1riVIRiMbpkrJH9H+BSyYyltfuz5cg2ld0QekNwRPdesKIbni2Pa5rtMKkrisUuWczwS8xABdUw2VIcnMj2djWmrlXJFLNJm120ibEboydbiWA+I6+baCNux7HizmcgIMYR9FiCEshO+9erLCAQTDSZ+jA0hM8jHhsEtwdlIB3VceMtMHmwYFALtVzfkOHtceCKyhgDY5Kg1ojZcY2fv1vuwIT2bF8BIlaE+6zGUICxhlUI2V8K5lt+3IS3CF4SgkO/ac7LEZT8vf9g3hGsVWbYwtBwTSzRSHhvrPVT9WA/UGukyPIoHSpiRxQsJJ7K/sgsF48L5cV3WcyTkRmgM8QE5GrwWniNr1CgOZfYv5ZZDjA0GXuo9ts07ERKLMUvWebYgQs6l/D9GGjJjYoCyEGn+ykq+Lp4H8k3UXRGepO4JL4R7yf0gAjA9nTyshYXcm5A8EuPDc8kkwobEuCfcJ/ss8R7Y6IOU1XJsw7PQaOR7Tt6I/fOuQHh4tzaMTejtaRZ4dJwdLvyQs7Z9ledSFaKzszQbpitj8uV++NcaaUs0Uq/Qwe6fZGl5POkoafCZDbPZmaQliNKLslJtXnRrHEtPsUzaIhSw41R6UmXYqvR6OJ/yfO352fGxEwCMGQWVkIKdTVedv5Xs411h5DGyhHWsAo3j28kKBtsa3Hq991r5HjU7NhnPeGEErSjBemF4XVyzFXBwTAw0pEIoCbC99d4ReNh8C4pKe0/thAylH+Euugfg/RFKRRBiw63leZfPv30+Ec0wntaLIiRnC7z5G0q6MnRdTrwA9xHyPqkhseP8ceGJ6Cd+oncGJh01WKU3UIbp2AaDUvU9/rUGseo49m/2+/08Agu7TUku1uuxyX/7b3lepfGu8pL6eXT9iLnqs34vub0ee/zSoJT7hnwsqVWNta0PKs/b3jNr3Jk0WO+P8Svvvw3xlRMFYEOb5bNjP7PPnQ0xEq6DCMnt1Gq94gX2IeVwmCVPS/6W8DkWYS08TfJt1uOALFZXe0OVdnzseZeTMq6tKnxbTpw4LzsJIC9lnwk78bJhNK6NiUMZVne8WLjwRPQrvzLoM3C8aCgNWRUpVf29/KwkALvvqr9hAK2RLsOseDSEiyCow8McOuM7e3tHPQRCVISybB4MwwyB2TwS/5fyvqy0vyQSG960529DzVYZWeYw7XXbf8sJVklSpYdfFUq35+v4YODCE9EnP9m71HCJkx7Y0z7Qz7qf48Jhz4Iqw2n3WxrhKpSGtfyReo1G1XdLAy8dDYGUs+V+x67a1oYZ7TFtgWFVLqskHbvffsa2anuuxRp0e5xSZFLutzxvQmv2uOXvVsnHZ5yf9Qj6EW3pMRz3vdLg9yNrO74WVc/FSSRf7sMxPLjwRPTVrw76DBwOh8NxHHwO4nA4HI6BwonI4XA4HAOFE5HD4XA4BgonIofD4XAMFE5EDofD4RgonIgcDofDMVA4ETkcDodjoHAicjgcDsdA4UTkcDgcjoHCicjhcDgcA4UTkcPhcDgGCicih8PhcAwUTkQOh8PhGCiciBwOh8MxUDgRORwOh2OgcCJyOBwOx0DhRORwOByOgcKJyOFwOBwDhRORw+FwOAYKJyKHw+FwDBRORA6Hw+EYKJyIHA6HwzFQOBE5HA6HY6BwInI4HA7HQOFE5HA4HI6BwonI4XA4HAPFmRNRCOEzIYRvhBDeCiH8dMXf/0EI4eshhP8dQvidEMKHzvocHA6Hw/HBwZkSUQihLukXJP2QpI9L+tEQwseLzf5Q0usxxu+U9GVJP3OW5+BwOByODxbO2iP6lKS3YoxvxxgPJP2ypM/ZDWKMvxdj3O3++t8l3Tjjc3A4HA7HBwhnTUTXJb1vfr/V/awfflzSf+n3xxDCF0IIb4YQ3lxdXT2jU3Q4HA7Hi4SzJqJQ8Vms3DCEH5P0uqSf7bezGOOXYoyvxxhfX1paOqNTdDgcDseLhMYZ7++WpJvm9xuS7pQbhRA+LekfS/rzMcb9Mz4Hh8PhcHyAcNYe0VckvRZCeCWEMCrp85LesBuEEL5b0r+R9NkY48oZH9/hcDgcHzCcKRHFGFuSflLSb0n6Y0m/GmP8WgjhiyGEz3Y3+1lJk5J+LYTwRyGEN/rszuFwOBxDgLMOzSnG+JuSfrP47J+Y/3/6rI/pcDgcjg8uvLOCw+FwOAYKJyKHw+FwDBRORA6Hw+EYKJyIHA6HwzFQOBE5HA6HY6BwInI4HA7HQOFE5HA4HI6BwonI4XA4HAOFE5HD4XA4BgonIofD4XAMFE5EDofD4RgonIgcDofDMVA4ETkcDodjoHAicjgcDsdA4UTkcDgcjoHCicjhcDgcA4UTkcPhcDgGCicih8PhcAwUTkQOh8PhGCiciBwOh8MxUDgRORwOh2OgcCJyOBwOx0DhRORwOByOgcKJyOFwOBwDhRORw+FwOAYKJyKHw+FwDBRORA6Hw+EYKJyIHA6HwzFQOBE5HA6HY6BwInI4HA7HQOFE5HA4HI6BwonI4XA4HAOFE5HD4XA4BgonIofD4XAMFE5EDofD4RgozoWIQgifCSF8I4TwVgjhpyv+PhZC+JXu3/8ghPDyeZyHw+FwOF58nDkRhRDqkn5B0g9J+rikHw0hfLzY7MclrccYPyzp5yT9y7M+D4fD4XB8MHAeHtGnJL0VY3w7xngg6Zclfa7Y5nOS/n33/1+W9IMhhHAO5+JwOByOFxyNc9jndUnvm99vSfqeftvEGFshhE1JC5LW7EYhhC9I+kL31+0QwjfO+FwXy2MOIXwMfAwkH4OLev0fGvQJnAbnQURVnk18hm0UY/ySpC+dxUlVIYTwZozx9fPa/wcBPgY+BpKPwbBf/6BxHqG5W5Jumt9vSLrTb5sQQkPSjKSH53AuDofD4XjBcR5E9BVJr4UQXgkhjEr6vKQ3im3ekPQ3u///EUm/G2M84hE5HA6H4+LjzENz3ZzPT0r6LUl1Sb8UY/xaCOGLkt6MMb4h6d9K+g8hhLeUPKHPn/V5nBLnFvb7AMHHwMdA8jEY9usfKII7Ig6Hw+EYJLyzgsPhcDgGCicih8PhcAwUQ0NEIYTxEML/CCH8rxDC10II/7T7+SvdNkN/0m07NDrocz1PhBDqIYQ/DCH8Rvf3Ybv+d0MI/yeE8EchhDe7n82HEH67Owa/HUKYG/R5nidCCLMhhC+HEP5fCOGPQwh/bpjGIITwke795+dRCOHvD9MYvGgYGiKStC/pB2KM3yXpE5I+E0L4XqX2Qj8XY3xN0rpS+6GLjL8n6Y/N78N2/ZL0F2OMnzB1Iz8t6Xe6Y/A73d8vMn5e0n+NMX5U0ncpPQ9DMwYxxm907/8nJP0ZSbuSfl1DNAYvGoaGiGLCdvfXke5PlPQDSm2GpNR26K8O4PS+JQgh3JD0VyT9Yvf3oCG6/mNgW05d6DEIIUxL+n4l5apijAcxxg0N0RgU+EFJ34wx/qmGdwwGjqEhIulJWOqPJK1I+m1J35S0EWNsdTe5pdR+6KLiX0n6h5I63d8XNFzXL6XJx38LIXy120JKki7HGO9KUvff5YGd3fnjVUmrkv5dN0T7iyGEpoZrDCw+L+k/df8/rGMwcAwVEcUY2113/IZSc9aPVW32rT2rbw1CCD8saSXG+FX7ccWmF/L6Db4vxvhJpe7wfyeE8P2DPqFvMRqSPinpX8cYv1vSjoY0BNXNh35W0q8N+lyGHUNFRKAbivh9Sd8rabbbZkiqbkd0UfB9kj4bQnhXqSP6Dyh5SMNy/ZKkGOOd7r8rSnmBT0m6H0K4Kkndf1cGd4bnjluSbsUY/6D7+5eViGmYxgD8kKT/GWO83/19GMfghcDQEFEIYSmEMNv9/yVJn1ZK0v6eUpshKbUd+s+DOcPzRYzxH8UYb8QYX1YKR/xujPFvaEiuX5JCCM0QwhT/l/SXJf1f9bacutBjEGO8J+n9EMJHuh/9oKSva4jGwOBHlcNy0nCOwQuBoemsEEL4TqUEZF2JgH81xvjFEMKrSh7CvKQ/lPRjMcb9wZ3p+SOE8Bck/VSM8YeH6fq71/rr3V8bkv5jjPGfhxAWJP2qpJckvSfpr8UYL2wT3hDCJ5QEK6OS3pb0t9V9JzQ8YzChtBTNqzHGze5nQ/UcvEgYGiJyOBwOx4uJoQnNORwOh+PFhBORw+FwOAYKJyKHw+FwDBRORA6Hw+EYKJyIHA6HwzFQOBE5HA6HY6BwInI4HA7HQPH/AfwiaqJpJ/hHAAAAAElFTkSuQmCC\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"#Plots for all observations. And then averaged\n",
"\n",
"yhat_nns = []\n",
"for i in range(0,X_train.shape[0]):\n",
" obs = X_train.iloc[i,:].to_frame().transpose()\n",
" obs_df = pd.concat([obs]*Ages.size,ignore_index=True)\n",
" obs_df['Age'] = Ages\n",
" yhat_nn = NN_model.predict_proba(obs_df)\n",
" yhat_nns.append(yhat_nn.transpose())\n",
" plt.plot(obs_df['Age'],yhat_nn,color='blue',alpha=0.05)\n",
"\n",
"plt.plot(obs_df['Age'],np.mean(yhat_nns,axis=0)[0],color='red',linewidth=2);\n",
" \n",
"plt.ylim(0,1)\n",
"plt.title(\"Predicted Probabilities vs. Age from NN in train for all observations\");"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Q5.1** Interpret the two plots above. What is the difference in the interpretations? Is there anyu evidence of interaction effects between Age and the other predictors? How do you know?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"*your answer here"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Part 6: Using LIME"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [],
"source": [
"# pip install lime\n",
"import lime"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [],
"source": [
"from lime.lime_tabular import LimeTabularExplainer\n",
"#explainer = LimeTabularExplainer(X_train)#class_names = [0,1])\n",
"\n",
"explainer = LimeTabularExplainer(X_train.values,\n",
" feature_names=X_train.columns,\n",
" class_names = [0,1],\n",
" mode='classification')\n"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Observation #: 42\n",
"Probability(AHD) = 0.32\n",
"True class: 0\n"
]
}
],
"source": [
"idx = 42\n",
"\n",
"exp = explainer.explain_instance(X_train.values[idx], \n",
" randomforest.predict_proba, \n",
" num_features = 13)#X_train.values[idx].size)\n",
"\n",
"print('Observation #: %d' % idx)\n",
"print('Probability(AHD) =', randomforest.predict_proba(X_train)[idx][1])\n",
"print('True class: %s' % y_train[idx])"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"### Plot the results\n",
"# exp.as_list()\n",
"exp.as_pyplot_figure();"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# change the observation number and see what changes.\n",
"idx = ---\n",
"exp = explainer.explain_instance(X_train.values[idx], \n",
" randomforest.predict_proba, \n",
" num_features = 13)\n",
"\n",
"print('Observation #: %d' % idx)\n",
"print('Probability(AHD) =', randomforest.predict_proba(X_train)[idx][1])\n",
"print('True class: %s' % y_train[idx])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"### Plot the results\n",
"# exp.as_list()\n",
"exp.as_pyplot_figure();"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Q6.1** Interpret the LIME results above. Do they agree with the other interpretations for the random forest model seen so far?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"*your answer here*"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.5"
}
},
"nbformat": 4,
"nbformat_minor": 4
}