{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Chapter 6 - Linear Model Selection and Regularization"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[6.2 Shrinkage Methods](#6.2-Shrinkage-Methods)\n",
"> [6.2.1 Ridge Regression](#6.2.1-Ridge-Regression)
\n",
"> [6.2.2 The Lasso](#6.2.2-The-Lasso)
\n",
"> [6.2.3 Selecting the Tuning Parameter](#6.2.3-Selecting-the-Tuning-Parameter)\n",
"\n",
"[6.3 Dimension Reduction Methods](#6.3-Dimension-Reduction-Methods)\n",
"> [6.3.1 Principal Components Regression](#6.3.1-Principal-Components-Regression)\n",
"\n",
"[6.5 Lab 1: Subset Selection Methods](#6.5-Lab-1:-Subset-Selection-Methods)\n",
"> [6.5.1 Best Subset Selection](#6.5.1-Best-Subset-Selection)
\n",
"> [6.5.2 Forward and Backward Stepwise Selection](#6.5.2-Forward-and-Backward-Stepwise-Selection)\n",
"\n",
"[6.6 Lab 2: Ridge Regression and the Lasso](#6.6-Lab-2:-Ridge-Regression-and-the-Lasso)\n",
"> [6.6.1 Ridge Regression](#6.6.1-Ridge-Regression)
\n",
"> [6.6.2 The Lasso](#6.6.2-The-Lasso)\n",
"\n",
"[6.7 Lab 3: PCR and PLS Regression](#6.7-Lab-3:-PCR-and-PLS-Regression)\n",
"> [6.7.1 Principal Components Regression](#6.7.1-Principal-Components-Regression)
\n",
"> [6.7.2 Partial Least Squares](#6.7.2-Partial-Least-Squares)"
]
},
{
"cell_type": "code",
"execution_count": 381,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"from numpy import linalg\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"\n",
"from sklearn.preprocessing import scale, StandardScaler\n",
"from sklearn import model_selection\n",
"from sklearn.linear_model import LinearRegression, Ridge, RidgeCV, Lasso, LassoCV\n",
"from sklearn.decomposition import PCA\n",
"from sklearn.cross_decomposition import PLSRegression\n",
"from sklearn.model_selection import KFold, cross_val_score\n",
"from sklearn.metrics import mean_squared_error\n",
"\n",
"import itertools\n",
"from itertools import combinations\n",
"\n",
"%matplotlib inline\n",
"plt.style.use('seaborn-white')"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Income | \n",
" Limit | \n",
" Rating | \n",
" Cards | \n",
" Age | \n",
" Education | \n",
" Balance | \n",
"
\n",
" \n",
" \n",
" \n",
" count | \n",
" 400.000000 | \n",
" 400.000000 | \n",
" 400.000000 | \n",
" 400.000000 | \n",
" 400.000000 | \n",
" 400.000000 | \n",
" 400.000000 | \n",
"
\n",
" \n",
" mean | \n",
" 45.218885 | \n",
" 4735.600000 | \n",
" 354.940000 | \n",
" 2.957500 | \n",
" 55.667500 | \n",
" 13.450000 | \n",
" 520.015000 | \n",
"
\n",
" \n",
" std | \n",
" 35.244273 | \n",
" 2308.198848 | \n",
" 154.724143 | \n",
" 1.371275 | \n",
" 17.249807 | \n",
" 3.125207 | \n",
" 459.758877 | \n",
"
\n",
" \n",
" min | \n",
" 10.354000 | \n",
" 855.000000 | \n",
" 93.000000 | \n",
" 1.000000 | \n",
" 23.000000 | \n",
" 5.000000 | \n",
" 0.000000 | \n",
"
\n",
" \n",
" 25% | \n",
" 21.007250 | \n",
" 3088.000000 | \n",
" 247.250000 | \n",
" 2.000000 | \n",
" 41.750000 | \n",
" 11.000000 | \n",
" 68.750000 | \n",
"
\n",
" \n",
" 50% | \n",
" 33.115500 | \n",
" 4622.500000 | \n",
" 344.000000 | \n",
" 3.000000 | \n",
" 56.000000 | \n",
" 14.000000 | \n",
" 459.500000 | \n",
"
\n",
" \n",
" 75% | \n",
" 57.470750 | \n",
" 5872.750000 | \n",
" 437.250000 | \n",
" 4.000000 | \n",
" 70.000000 | \n",
" 16.000000 | \n",
" 863.000000 | \n",
"
\n",
" \n",
" max | \n",
" 186.634000 | \n",
" 13913.000000 | \n",
" 982.000000 | \n",
" 9.000000 | \n",
" 98.000000 | \n",
" 20.000000 | \n",
" 1999.000000 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Income Limit Rating Cards Age \\\n",
"count 400.000000 400.000000 400.000000 400.000000 400.000000 \n",
"mean 45.218885 4735.600000 354.940000 2.957500 55.667500 \n",
"std 35.244273 2308.198848 154.724143 1.371275 17.249807 \n",
"min 10.354000 855.000000 93.000000 1.000000 23.000000 \n",
"25% 21.007250 3088.000000 247.250000 2.000000 41.750000 \n",
"50% 33.115500 4622.500000 344.000000 3.000000 56.000000 \n",
"75% 57.470750 5872.750000 437.250000 4.000000 70.000000 \n",
"max 186.634000 13913.000000 982.000000 9.000000 98.000000 \n",
"\n",
" Education Balance \n",
"count 400.000000 400.000000 \n",
"mean 13.450000 520.015000 \n",
"std 3.125207 459.758877 \n",
"min 5.000000 0.000000 \n",
"25% 11.000000 68.750000 \n",
"50% 14.000000 459.500000 \n",
"75% 16.000000 863.000000 \n",
"max 20.000000 1999.000000 "
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_credit = pd.read_csv('Data/Credit.csv', index_col=0)\n",
"df_credit[\"Gender\"] = df_credit[\"Gender\"].astype('category')\n",
"df_credit[\"Student\"] = df_credit[\"Student\"].astype('category')\n",
"df_credit[\"Married\"] = df_credit[\"Married\"].astype('category')\n",
"df_credit[\"Ethnicity\"] = df_credit[\"Ethnicity\"].astype('category')\n",
"df_credit.describe()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Gender | \n",
" Student | \n",
" Married | \n",
" Ethnicity | \n",
"
\n",
" \n",
" \n",
" \n",
" count | \n",
" 400 | \n",
" 400 | \n",
" 400 | \n",
" 400 | \n",
"
\n",
" \n",
" unique | \n",
" 2 | \n",
" 2 | \n",
" 2 | \n",
" 3 | \n",
"
\n",
" \n",
" top | \n",
" Female | \n",
" No | \n",
" Yes | \n",
" Caucasian | \n",
"
\n",
" \n",
" freq | \n",
" 207 | \n",
" 360 | \n",
" 245 | \n",
" 199 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Gender Student Married Ethnicity\n",
"count 400 400 400 400\n",
"unique 2 2 2 3\n",
"top Female No Yes Caucasian\n",
"freq 207 360 245 199"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_credit.describe(include='category')"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Int64Index: 400 entries, 1 to 400\n",
"Data columns (total 11 columns):\n",
"Income 400 non-null float64\n",
"Limit 400 non-null int64\n",
"Rating 400 non-null int64\n",
"Cards 400 non-null int64\n",
"Age 400 non-null int64\n",
"Education 400 non-null int64\n",
"Gender 400 non-null category\n",
"Student 400 non-null category\n",
"Married 400 non-null category\n",
"Ethnicity 400 non-null category\n",
"Balance 400 non-null int64\n",
"dtypes: category(4), float64(1), int64(6)\n",
"memory usage: 26.9 KB\n"
]
}
],
"source": [
"df_credit.info()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 6.2 Shrinkage Methods"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Age | \n",
" Cards | \n",
" Education | \n",
" Income | \n",
" Limit | \n",
" Rating | \n",
" Ethnicity_Asian | \n",
" Ethnicity_Caucasian | \n",
" Gender_Female | \n",
" Married_Yes | \n",
" Student_Yes | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" 34 | \n",
" 2 | \n",
" 11 | \n",
" 14.891 | \n",
" 3606 | \n",
" 283 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
" 1 | \n",
" 0 | \n",
"
\n",
" \n",
" 2 | \n",
" 82 | \n",
" 3 | \n",
" 15 | \n",
" 106.025 | \n",
" 6645 | \n",
" 483 | \n",
" 1 | \n",
" 0 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
"
\n",
" \n",
" 3 | \n",
" 71 | \n",
" 4 | \n",
" 11 | \n",
" 104.593 | \n",
" 7075 | \n",
" 514 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Age Cards Education Income Limit Rating Ethnicity_Asian \\\n",
"1 34 2 11 14.891 3606 283 0 \n",
"2 82 3 15 106.025 6645 483 1 \n",
"3 71 4 11 104.593 7075 514 1 \n",
"\n",
" Ethnicity_Caucasian Gender_Female Married_Yes Student_Yes \n",
"1 1 0 1 0 \n",
"2 0 1 1 1 \n",
"3 0 0 0 0 "
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"y = df_credit.Balance\n",
"\n",
"X = df_credit[df_credit.columns.difference(['Balance'])]\n",
"# Use K-1 columns for K categories so Yes/No uses only one column 0/1\n",
"X = pd.get_dummies(X, drop_first=True)\n",
"X_scaled = scale(X)\n",
"X.head(3)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 6.2.1 Ridge Regression"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"n_lambdas = 200\n",
"lambdas = np.logspace(5, -2, n_lambdas)\n",
"\n",
"coefs = []\n",
"scores = []\n",
"for lam in lambdas:\n",
" ridge = Ridge(alpha=lam)\n",
" # it's very important to scale the data for Ridge regression\n",
" ridge.fit(X_scaled, y)\n",
" coefs.append(ridge.coef_)\n",
" scores.append(ridge.score(X_scaled, y))"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA3oAAAEWCAYAAAAw+uVwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3Xd4VGX68PHvTHrvJCQhkAIPoYTeexMBkaKIIKj4U9d3XVcsa1kbll3rWteuiA1sYKMoEKoIAUIJJXkIEEhCEkogpJA+8/4xAxuREiDJSbk/18WVmTOn3Ofk8OTc8zST1WpFCCGEEEIIIUTjYTY6ACGEEEIIIYQQNUsSPSGEEEIIIYRoZCTRE0IIIYQQQohGRhI9IYQQQgghhGhkJNETQgghhBBCiEZGEj0hhBBCCCGEaGQcjQ5ACCGEEEKIqpRSZuAR4E2tdaHR8QjREEmiJ4QQQggh6oxSygrsBCoBK+AO5AP/T2u92b7aBOBhoAR41b5dDPAuEAQ4Ax9rrf9Tt9H/j1KqMzAfyAOu01ofqMF9Pwls11r/qJR6Btirtf6spvZ/nmPW2vlU49gHgOur/P6rs81lXxellA/wvdZ6qP39NmCw1jrvUvdVn0miJ4QQQggh6toQrfWx02+UUg8CbwF97Iv+AdwEvK6UektrXQ7MAeZorT+yP6hvUkpt1VqvqOPYT7sWWKm1vr0W9j0U2A2gtX6yFvZ/LrV5PjXuCq+LH9Czyr46X3lE9Y8kekIIIYQQwjBKKUcgAjhufz8IQGu9UCk1BZgCfAZ8DHxt/+ykUmov0PIc++sNvAS4AM2BZVrr/7Mf5y2gH1AO7AdmnN009Hzbn7XOTcBfAQellBuwDFuN1DX2z289/V4pNQdbjWVHoAWQBNystS5USvUC3gQ8gDLgQSAW6A68rJSqBMYBO7XWryilBgAvY6sFLQMe11r/Yj/eBMACtAZOAbdorZPPcX2esF/TCmAP8DdgWNXz0VrfdNY2pcCPQCdsCXgR8AYQADhga2I7277uI8D/AQXAGmC81rqV/Trs1Fq/Yl/vD+/ty8zAa0BvwAswAbdrrdfZ1/cHooGFQDC2muG1wPtVwo0AdmmtByilbgP+gq0G2B94QWv9LvAJ4GavyetmvxZBWutj57o+WuscpdQqYD22+ycCWA7cqbW2nH2N6wsZjEUIIYQQQtS1lUqpJKVUFraHaYAZ9p8PAW/bX78J/EMpZdJaf6K1PgWglLoa6Av8co593ws8qbXuBbQDrlVKdcNWWzgY6KS17oYt0Yu7hO3P0Fp/CbwHfH12UnQe3YCrsSVxrYBJSikn4AfgGa11B+AObMnTu8Bm4B9a6+9P70ApFQB8B9yrtY4DbgG+UEpF2lcZBNxj31cCtj6Of6CUmgGMAnrY97ETWy3pxc7HGfhZa62AbfY4HrFfx0HAg0qp3kqpkcCtQA/7OXtV49pU1QsIBfpordsBn551Hu5a6/Za64dPL9BaJ2itO9tr5e4ACoE7lFKe9vejtdZdgMnYEniw3WvF9u0qL3Z9qhw/Gts9FGdfb9Alnl+dkho9IYQQQghR14bYa0+6AouxNRk8AqC1HnN6Ja11AraasDOUUjdj67d3vdY6+xz7vgUYrZT6J9AWcAM8ge3Y+gUmKKV+BeZrrTdewvZX4hetdak9/h3Yapc6ApVa60X2c008fa5KqXPtoxe2PmkJ9vV3KaXWYUs8rECi1jrTvu4WYOI59jEK+ERrXWR//wbwmFLKuRrnsNb+sw22hGd2lTjdgC7Yrte3p/u6KaXexlZbWC1a6/VKqceBvyilTidVBVVW+e1829r7cC4ApmmtU+zLrgHGKKVaA525+O/xYtfnZ3sNXr69Rtm/uudmBKnRE0IIIYQQhtBabwHuA+YopVpdaF2llEkp9R/gWWC41nr5eVZdA4wGUoBngEOAyZ58dMLWPLIS+Fop9dfqbn+RU7Getc7ZiVPxOdatsL+ueo4d7E1Mz8Xh7PWxPcs7XeAYF9uHGVvFz8XOD2w1Zaf3cfJ0LZq9Jq03tuaQFWftq7LK64tdI5RSY4BF9rc/YqtlrLrNOUdgVUo1A5Zgq2VcbV8Wjq32sSW2BPHxapzjxa5Pda5xvSGJnhBCCCGEMIzWeh6wEVvfrAt5CRgIdNdabzvXCkopX2zNBh/WWi8AwoEYbH3PrgHigd+11rOw9fvrUd3tLxLbUaCDUsrV3iTz+ousD6ABq1JqhP3YXYEV2J7PK/hfAnfaeqCtUqqnff322K7Hqmoc67RfgNuUUh72938H1pyubawmDRQrpabZ42iBrYljN2xJ2nX2wXLA1lfvdOJ0FFvfQ5RSoZy72eMIbLVmp5uvjuci197eRHMRtlFYv6zyUXf7MZ8DlgKn+086YLu+DkqpsxO1mrg+9YYkekIIIYQQwmh/w9ZccuS5PrTXztwPBALLlFLb7P9mVF3PXmv3PLBFKbUTW/+uddiStSXALmCnUmoztj5+T1/C9heyFFiNrRZwDbYk5YLsycNE4Cn7oCDvARO11mXAT8DzSqlbqqx/DJgEvGVv/jkX22Aye/689/P6GNsgIhuVUslAV2yDq1SbPb5xwO1KqSRs5/6E1nqdfQTUD4H19mvsg21gGLANhNNcKaWx1f6da7TU94DB9vPbAuwDIu2DtJzPPdhqaicopbaevjfscWViS0yTsQ2gchTb7zIb25cLu+x9H0+74utTn5is1rNrgIUQQgghhBDi0iilugN9tdZv2t/fD/TSWk82NrKmSQZjEUIIIYQQQtSEPcDDSqk7sTXZTAfuNDakpktq9IQQQgghhBCikZE+ekIIIYQQDYRSqpd94uazl49VSm1SSq1XSt1hQGhCiHqmQdboKaVcsI2IlM0fh20VQjRcDkBzYFNDHd0KpHwSopGqF+WTUuohYDpQpLXuXWW5E7bBJnoARdgGDxmrtc6pso6UTUI0PhcsmxpqH70e/G/SRiFE4zKAC0yI2gBI+SRE42V0+bQP2yiNn5+1PBbbRNonAJRSv2GL9dsq60jZJETjdc6yqaEmetkAX375JSEhIUbHIoSoATk5Odx0001g///dgEn5JEQjU1/KJ631/PNMKu4NnKzyvgDbsPZVSdkkRCNzsbKpoSZ6lQAhISGEh4cbHYsQomY19CZFUj4J0XjV1/IpH/Cq8t4LyDtrHSmbhGi8zlk2NdRETwghhBBC2CQDrZVS/kAhMBB4xdiQhBBGk0RPCCGEEKIBUkpNBTy11h/YJ6b+FduI6rO11oeMjU4IYTRJ9IQQQgghGgit9QGgt/313CrLfwZ+NigsIUQ9JPPoCSGEEEIIIUQjI4meEEIIIYQQQjQyTaLpZnlpJZjA0dGMyWwyOhwhhBBCGMxisWKWZ4LzOnmqHIvVasixTWf9Wkz8acFF1j/7c9NFPr/w8c7+HMBsMmE2gYPZ9Kf9C1FfNPpE7/CBfBa8lIjFYiusHBzNODqbcXJxwNnNEWdXB5xdHXFydcTFzQEnN0ecXR1x83TCzcsZd2/bTzcvZ1zcHeU/sxBCCNHA5aSdZNF/k7j23s4ERXhdfIMmZsGWTO7/ZrvRYTQoZtPp5M+EyfS/RPDMe7PtMycHE86OZpwdzDg7OuDsaMbFwWz76WjGy9URbzcnfNyc8HZ1wtvNET93Z0J93Qj1dcPP3UmeRUW1NfpELyDMg0FTFSVF5VSUVVJRbqGizEJ5aQVlJZWUFVdQcqqCguMllBVXUFpSSUXpuafJMTua8PJ3xTvAFa9AN7wDXPEOcMOnmRv+zT1wdHao47MTQgghxKWoKK9kxafJODqb8Q5yMzqcemmwasaz49pTaan7Gr2zj3h2peKfP79wjH/e3nqRzy+8PXCmprPSYsVitWKx2uI4/dpitWK12mqN//feSqXVSnmFlbJKC2UVFkorLJRVWigtr6SorILjRRZSj1SQX1JOfnE557r8rk5mQn3ciG7mSWxzb2JDvOgY7kO4n/sFr4Nomhp9oufo5EC7/qGXtI2l0kJJUQXFBWWcyi878/PUyTIKjpeQf6yYY9uOUlxQfmYbkwm8g9wICPMkINSD4CgfQiK9cXF3qulTErVsfmIm32zOqNF93tC9Bdd1u/AEtR988AG///47ZrMZk8nEfffdh5OTE/n5+fTo0aNax+nXrx/r1q27pNjy8vJYu3YtY8eOPefnK1as4LXXXmP+/Pk4OzsD8Pzzz+Pk5MSDDz54SccSNnKP/ZHcY6IubVp4gBM5pxh7Tydc3Br9Y9Bl8fdwZnqfVkaH0aRZrVYKSyvIL6kgt7CUrLwSsk8Wk5VXTOaJYvYcLiA++fCZZDDC351+MQH0jQ5kSNtmeLrIvS2aQKJ3OcwOZty9nXH3diYg7PzrlZVUUJBbQt7hU+QeKiQ3q4jcQ4Xs33bU9pWQCfybe9A82ofQNr5ExAbg6imJn/izvXv3smLFCubNm4fJZCI5OZmHH36YESNGEBgYWO2H8MuhtWbFihXnfQgfOnQoy5cv55133mHmzJls2bKFxMRE5s2bV2sxiZon95gQcORgPluXpRPbtzkR7QOMDkeI8zKZTHi5OuHl6kSYrxtx5/ger6S8kj2HC0g8eIJ1e3NZuD2beRszcHUyM6xtMJN7tGBA60Bp6tmESaJ3BZxdHW01eGGeRHdtdmZ5WUkFhw/kk7PvJDn7TpK66TC71mZhMkGzVt606hhAdNdm+IV4GBi9OJ/ruoVftGakpvn7+5OVlcV3333HwIEDiY2N5d1332X69Ok4OTnRvn17Zs6cyZIlS3BxceGVV14hKiqKcePG8cQTT7B3715atGhBWVkZANnZ2TzxxBOUlpbi4uLCs88+S2VlJQ888AAhISFkZGTQsWNHnn76ad577z1SUlL4+uuvmTx58jnj++c//8nEiRMZMWIEzz33HC+//DJOTk6Ul5fz1FNPcfDgQSwWCzNnzqRXr1689tprbNiwAYvFwpgxY7j11lvr8GrWf3KP/ZncY6K2VZZbiP80GXcvJ/pdH2N0OEJcMVcnB+LCfYkL92VGv0gqKi1sSc9jYVIWi5KyWbQjm+ggD+4YEMV13cJxcpDB9psaSfRqgbOrIy3a+tOirT9ga6N95GA+6TtzObjrOAk/p5HwUxoB4Z607t6MNj1D8PJ3NThqYSR/f3/effddvvjiC95++21cXV257777mDBhAoGBgcTFxZ1zuzVr1lBaWso333xDVlYWv/76KwAvvvgi06dPZ9CgQaxfv55XXnmF++67jwMHDvDxxx/j5ubG8OHDOXr0KHfddRdfffXVeR/AATw9PXnuuee45ZZbeOCBB4iOjgbg22+/xc/Pj3//+9+cOHGCadOmsWjRIn744Qe++OILgoODWbBgQc1fMHHJ5B4TTd2WpQc5nlXEmLvjpFuFaJQcHcz0jPSnZ6Q/j42JZfGObGb/doBHFuzgvdX7eHCkYkzH5lLD14RIolcHzGYTIZE+hET60HNsFEV5pexNPMLexMNs+GE/CT/up2WHANoPCCOiQ4AM99wEHTx4EE9PT55//nkAduzYwZ133smYMWMIDAz80/qnO5+npqaeeUAPDQ2lefPmAOzZs4f333+fjz76CKvVipOT7aEmIiICT09PAIKCgigtLa12jD179sTb25uJEyeeWbZnzx4SExNJSkoCoKKighMnTvDqq6/y6quvcuzYMQYMGHCpl0PUArnHRFOWf6yYxF8OEt21Ga06/vl+F6KxcXF0YEKXcMZ3DiM++QivLNX8be5Wvm6dwb/GdyQiQAZvaQok0TOAh68LnYa1oNOwFuQfK2b3b1ns/j2bAzuS8ApwpfPwCGL7NcdJRvFsMrTWzJs3j/feew8XFxciIyPx8vLC19cXi8UCgLOzM0eOHCE8PJyUlBSio6OJiopi0aJF3HLLLRw+fJjDhw8DEBUVxW233UbXrl3Zt28fmzZtAv48lxCA2Ww+c4xLFRUVRUhICHfddRclJSW8++67eHh48Msvv/Dqq69itVoZM2YMY8aMISzsAh1eRa2Te0w0Zb99m4rJbKL/JGmyKZoWk8nE8HbBDGnbjM/XH+DlXzVXvb6aZ67twKTu4VK718hJomcw70A3eo+PpsfYSNK2HWN7fAZrv97DpkVpxA0JJ25oCxkVrAm46qqr2LdvH5MmTcLd3R2r1cpDDz2Eo6MjL730EtHR0dx+++3ceeedhIWF4e3tDcDw4cNJTExk0qRJhIaG4ufnB8DDDz/MrFmzKC0tpaSkhMcee+y8x46IiGDPnj3MmTPnkvs53XjjjTz++ONMmzaNwsJCpk6dirOzMz4+PowbNw4fHx/69etHaOiljXwrap7cY6KpOrgzl7Ttx+gzIRpPP+kmIZomB7OJW/tFMrJDCA9+u52H5iexYX8uz03ogLuzPGc2VqaLzT9S05RSzYBEYARQAczBNkblTuBurbVFKfUUMMb++Uyt9caz9tEKSIuPjyc8vG4HNKgLWXvz2PrrQQ7syMXF3ZGuI1vScUi41PCJRi0zM5Nhw4YBRGqtDxgRg5RPQjQulRUW5j2dgNnBxOTHe+LgeHmDUdSH8ulKSdkkTqu0WPnvir28Hr+HDqE+zL61B0FeLkaHJS7DxcqmOk3hlVJOwPtAsX3Rq8DjWutVSqn3gHFKqYPAIKAX0AKYD9TeuN/1UGiML6ExvhxNL2DDj/tZ//0+klZk0PPaKGL7NMckffhELYiPj2fOnDl/Wn7zzTczYsSIug+ojkn5VPua+j0m6t7ONYc4ebSYa+7pdNlJnhCNjYPZxL3DW9MhzJu/zd3KhHfW8eltPYkO8jQ6NFHD6rqu9hXgPeBR+/tuwGr76yXAVYAGlmqtrUC6UspRKRWktT5ax7EaLijCi7H3dCIrNY/13+9l5ecp7FqbxcAb2xDcytvo8EQjM2zYsNPfCjVVUj7VMrnHRF0qK65g8+IDhLf1I6Kdv9HhCFHvDIsN5uu/9Oa2OZuY/P4GvrqzNzHNJNlrTOrs6y2l1K3AUa31r1UWm+wPTAAFgA/gDZysss7p5U1WaGtfJv6jG8NntKPweAnfvbiZlZ8nU1xQZnRoQjQKUj4J0fhsXZZOSWE5fSZEy4ATQpxHXLgvX93ZB4ApH25g39FCgyMSNaku2zHcBoxQSq0COgOfAc2qfO4F5AH59tdnL2/STCYTqlcINz3dm87DWpCyPocvn9qATsihrvtZCtEISfkkRCNSdLKUbcvTad29Gc1aSgsYIS4kppkn8+7ohdVq5aYPE8g+WXzxjUSDUGeJntZ6oNZ6kNZ6MLANuBlYopQabF9lFLAWWAeMVEqZlVIRgFlrfayu4qzvnN0c6Xd9ayY/3hO/EA+Wf7KbJe/t4FS+1O4JcbmkfBKicUlcfABLpZVe46KNDkWIBqF1sBef/18vCksrmPHJJgpKyo0OSdQAo3smPwA8rZRaDzgD32mtE7E9UK3HNtDB3QbGV2/5h3ow4cGu9L0uhvRdx5n3dAKpmw8bHZa4AgkJCdx3331/WHbfffdRVnbxJD45OZn//ve/ACxbtuzMXGfiijSq8knuL9FUFJ0sZfe6bNr2aY5PkJvR4QjRYMQ29+adm7qSeqSQv365hYrKy5v/VNQfhkycYf/W/LRB5/h8FjCrjsJpsMxmE11GRNCyQwDxc3az9KNd7NtylEFT2+Dm6Wx0eA1WyoZsktdl1+g+Y/s1p23v5pe83WuvvVa9/cfGEhsbC8Bnn33GrFmzCA4OvuTjibopn+rLPSb3l2iMti5Nx2Kx0nVkS6NDEaLBGdgmiH9P6MDD83fw8q+aR0fHGh2SuAIyQ2Ij4N/cg+se6sbWZels/DmNrNQTDJ7alqguQUaHJq7Q0KFDWbJkCU899RSOjo5kZWVRVlbG6NGjWblyJdnZ2bzzzjtkZ2fz1VdfMW7cOJKTk3n44YeZO3cuzs6S8Ivzk/tLNDan8svYteYQqmew1OYJcZkm94hgx6GTvL9mP10ifLm6w6V/US3qB0n0Ggmzg5luV7eiVcdAls/ZzZL3d9CmZzADJrfB1cPJ6PAalLa9L6/2rbaFhYXx3HPP8eSTT5KZmcmHH37Im2++yYoVK87UtgwePJjY2FhmzZolD+H1WH28x+T+Eo3BtuXpVFZY6DaqldGhCNGgPXFNO3ZknuTBb5NQId5EBnoYHZK4DEb30RM1LCDMk+sf6U7PsZHs3XyEeU8ncCBJxopoDNq1aweAt7c3MTExZ15Xp4+VEBcj95do6EoKy9mx+hAx3YPxDXY3OhwhGjQXRwfemdYNB7OJmV9tpVz66zVIkug1Qg4OZnqMieT6R7rj5uXEoneSiP90N6WnZASlhqy680CZTCaZckNcMrm/REO3fUUGFWWVdJfaPCFqRJivG/+e0JHtmSd5a8Veo8MRl0GabjZiQRFeTHq0B5sWpbHl13QyU04wZFpbItoHGB2aOI9169YxceLEM+8vpzalS5cuPPTQQ8yePRtfX9+aDE80cHJ/icaqpKicpBUZRHcJwj9UmpgJUVPGxDUnPjmMt1fuZbAKomuEn9EhiUtgaojfzCqlWgFp8fHxhIeHGx1Og3D4QD7xc3ZzIucU7fo1p+/1rXFxkzxf1B+ZmZkMGzYMIFJrfcDgcC6blE9C1L2NC9PYtDCNyY/3IDDcq8b33xjKJymbxOXKLyln1OtrcXUys/jeAbg4OhgdkrC7WNkkTTebiOBW3tzwWA+6XBVB8u/ZzJu1QfruCSGEaPDKiitIWpFBZKfAWknyhGjqvF2d+PfEjuw7WsTbK/cZHY64BJLoNSGOTg70nRjD9Y90x9XT1ndv6ce7KC6UwRaEEEI0TEmrMik9VUGPMZFGhyJEozWoTRATuoTx7qq97DlcYHQ4opok0WuCmrX0ZtKjPehxTST7tthG5kzdfFgGWBBCCNGglBZXsG15Oi07BhAUIbV5QtSmx8fE4uniyCPzk7BY5JmxIZBEr4lycDTT85pIbvhnD7z8XVn60S4W/nc7eYdPGR2aEEIIUS2Jiw9QeqqCXmOjjA5FiEYvwNOFx8a0Y0t6Hgu2HjI6HFENkug1cQFhnlz3UDf6T2pNzr6TzHs2gQ0/7qO8rNLo0IQQQojzOnn0FNtXZNC2d4jU5glRRyZ2CaNLhC8vLEmhoESm7arvJNETmB3MdBrWgqlP96Z1t2ASlxxk3qwE9m05Is05hRBC1DtWq5U1X6VidjTTe1y00eEI0WSYzSZmjW1PblEpb8anGh2OuAhJ9MQZHj4uDJ/RjgkPdMHJ1YFfPtjJgpe3kL3vpNGhNQmZmZnccMMNRochGim5v0Rjsvu3LNJ35dJnfBQevi5GhyNEk9KphS83dGvBJ+sOsP9oodHhiAuQidTEn4S29mPyYz1I/j2bjT+nseDlRKK7BNF7fDS+we5Gh1fr8n74gZPzF9ToPn2um4jv+PE1uk/RcMk9JsTlO5pRwG/fphKm/Og4SOaDE8IID45U/JyUxX+W7uHtm7oaHY44D0n0xDmZHcy0HxBG6x7BbI/PYMvSdNK2H0P1CaHb1S3xCWr8CZ9Rpk+fTtu2bUlNTaWwsJA33niDsLAw3nnnHZYvX05lZSVTpkzhxhtvZPbs2SxatAhHR0e6d+/OP/7xD9566y0OHjzIiRMnOHnyJFOnTmXp0qWkpaXx4osv0rlzZz7//HMWLlyIyWRi9OjR3HzzzUaftqgjcn+JhqzoZCmL30nC1cOJEbe1w2Q2GR1SnVFKmYF3gE5AKXC71npvlc8fBKYAFuDfWuvvDQlUNAlBXi7cPiCKN+NT+UtmHnHhvkaHJM5BEj1xQc6ujvQYE0m7/qEk/nKQ3WuzSFmfg+oZTLdRrRplDZ/v+PGG14zExcXx2GOP8dprr7Fo0SL69+/PmjVr+PbbbykrK+M///kPWmuWLFnCV199haOjI/fccw8rV64EwNXVlY8//pgPPviA1atX89577zF//nwWLVqEp6cnixcvZu7cuZhMJm699Vb69+9PVJSMWldXjL7H5P4SDVHB8RJ+fH0rJacqmPhgVzx8mlyTzfGAq9a6j1KqN/AfYByAUsoX+DsQA3gA2wBJ9EStumNAJF9sOMiLv6Tw5e29jQ5HnIP00RPV4uHjwsDJbZj+rz7EDQlnb+IR5s7awLJPdnEip8jo8Bqddu3aARASEkJpaSlpaWnExcXh4OCAm5sbjz/+OPv376dTp044OTlhMpno3r07qampf9jey8uLmJgYAHx8fCgtLWXPnj1kZWVx6623csstt5CXl0d6eroxJyoMIfeXaGhyDxXy/X+2UJxfxrV/70xQiyY5ymZ/4BcArfUGoHuVz4qAg9iSPA9stXpC1CovVyf+NiSGdXtzWZt61OhwxDlIoicuiYePC/0ntWb6v/rSaXgE+7ceZe7TCSz9aCe5WdIht7ZERUWxe/duLBYL5eXlzJgxg8jISJKSkqioqMBqtbJp0yYiIyMBMJnO35wpKiqKmJgYPvvsMz7//HMmTpxImzZt6upURD0k95eoz/SGbL57YTOV5RbG3deF5tE+RodkFG+g6uholUqpqi2zMoDdwBbgzboMTDRdN/WOINzPjRd/SZFJ1OshabopLou7tzP9rouh61URbFuewY5VmaRuPkJ01yC6j44kMNzT6BAbldjYWAYMGMCUKVOwWCxMmTKFtm3bMmrUqDPLunXrxvDhw0lJSbngvtq2bUufPn2YMmUKZWVlxMXFERwcXEdnIuojub9EfVR0spS1X6eyb8sRQlv7ctXt7Ztic82q8oGqVZlmrXWF/fUooDkQaX//q1JqndZ6Y10GKJoeF0cH7h/Rhvu/2c6iHdmM7RRqdEiiClNdzpOmlHIAPgQUUAnMAEzAHMAK7ATu1lpblFJPAWOACmBm1cJKKdUKSIuPjyc8XEbcqg9KCsvZviKDpBUZlJVUEtkpkB5jImUSW1FtmZmZDBs2DCBSa32gLo9dU2WTfV+tkPJJiMtWWWlh99osNvy4n8pyC91Ht6TryJaYHYxrhGRk+XSaUuo6YKzW+lZ7H72ntNaj7J8NAB4FxmitrUqpH4G3tdZLq2zfCimbRC2otFgZ9cYarFb4deZAzE1okCSjXaxsqusavbEAWusRmABSAAAgAElEQVR+SqnBwKvYHqYe11qvUkq9B4xTSh0EBgG9gBbAfKBHHccqLoGrpxO9ro2i07AWJK3MJGlFBt/8e5MkfKKhkLJJCINZLVb2Jh4h4af9nDxaTJjyY/BU1SgH/bpM3wMjlFK/YyufZiil7gf2aq1/UkoNBzYopSzAb8AyA2MVTYiD2cTdQ2K496ttLN2dw9UdmhsdkrCr00RPa/2DUmqh/W1L4DC2b8ZX25ctAa4CNLBUa20F0pVSjkqpIK219PSs51w9nOh5TSSdhoaTtDKT7fGS8In6T8omIYxjqbSwb8tREn89SG5mIQFhHoy5O46WHQIu2B+0qdFaW4C7zlqcUuXzp4Cn6jQoIeyuiQvl9eWpvLViLyPbh8j/3Xqizvvoaa0rlFKfAhOA64Fr7A9NAAWAD7YOx7lVNju9XB6mGggXdyd6jIkkbsifE77e46Pxb+5hdIhC/IGUTULUrfKySpLXZbNteToFuSX4BrszfEY7WvcIlqZfQjQwDmYT/29wNA99l8QqfZQhbZsZHZLAoMFYtNa3KKUeBhIAtyofeQF5/LnD8enlooE5k/ANbUHSigy2LUvnq2c30q5/KD2vicTd29noEIU4Q8omIWpf3uFT7FxziJT12ZSeqiAkypv+k1oTGRfYpCZAF6KxmdAljDeWp/LWilQGqyCp1asH6jTRU0pNB8K11s8Dp7DN87JZKTVYa70K26hRK4G9wEtKqVeAcGwjSx2ry1hFzXJxs0283mFQGJsWHWDX6kPsScih68gIOg2PwMnZwegQRRMmZZMQtctSaeFAUi47VmeSmXICs9lEVJcgOg4JJzTG1+jwhBA1wMnBzF2Do3nih52s359L3+hAo0Nq8uq6Rm8B8IlSag3gBMwEkoEPlVLO9tffaa0rlVJrgfXY5vq7u47jFLXEzdOZgZPbEDc4nPXf7yPhpzR2r8tm4I1taNVRCgRhGCmbhKgF+ceKSdmQw+7fsijKK8XTz4Ve10YS2y+0qU+VIESjNKlbOG/Fp/LfFXsl0asH6nowliLghnN8NOgc684CZtVySOIyWa1WTp3M41j6QfKPHaG4IJ/ignxKiwoxmcyYHR0wmx1w9fTC0z8A78BmBEa0xN3HF5PJhG+wO6Pu6sihPSdYPVez6O0korsE0f+GNnj6Nc0//gkJCcycOZOYmBgAioqKCA8P55VXXsHZ+c9NXLOyskhJSWHo0KH861//YsaMGYSGyvw1l6MplE1yf4m6Ulpcwb7EI6RsyCZ7r21+74h2/vYv9AL+NE2CxVJJwbGjnMjOIi8nm1P5Jyk9VURZ8SkcHJ1w8fDAw9efkOgYQmLaYDZLCxAh6itXJwduHxDJvxensPPQSTqE+RgdUpNWrURPKWXGNpRvXyBBa11Wq1GJesdSWUnOvlTSd24nY1cSRw6mUVKQ/4d1HJ2ccfH0xGqxYKmsxFJZQVlx8R/WcfPyJlS1I7xtOyK79CC0dTiTH+/J1mXpbF58gIzkDQy4sQ2ql3EjNu1aHc/OVTU7KnWHwSNoP2jYRdfr3bs3r7322pn3DzzwACtWrODqq6/+07obNmxg//79DB06lMcee6xG421IGmL5ZNQ9JveXqC2VlRYydh1HJ+SQtv0YlRUWfIPd6TUuijY9g/EOsHV5rayo4HBaGof3p3J4315y9qeSm3GQyoqKP+zP2c0NZzd3KsvLKT1VhKWyEgB3H186jRhN92vG4+wm0y4IUR9N7hHB68tTmb0ujVdv6Gx0OE3aRRM9pdSLwH5sQ453xTbs+C21HJeoByorKkjfsY2UdavZl7iR0lNFAAS1jKR1zz4EtmhJYIuW+AY3x83bGycX13Pso5yivBPk5WRzLCOdI2n7OKR3sW/zBlZ/MRu/5qGovgPpMHg4rbv3JP7TZOLnJJO2/RiDb1K4eTbdwVrKyso4cuQIPj4+PPbYY+Tk5HDixAkGDhzIPffcwwcffEBJSQldunRhzpw5zJo1i8WLF5OZmUlubi5ZWVk8+uijDBgwgJUrV/Lmm2/i6emJj48PSinuueceo0/xikn5dPnk/hJXymq1cjS9AJ2QQ+qmwxQXlOPq6US7/qGo3iE0a+mFpbKCnL2p7F69g8zknRzSu6koLQXAxcOD4KjWdBl1LX7Nw/BrHopfSCjuvr5/qLWzWq0UnsjlUMpukteuZP13c9m1Op6xMx8mJKaNUacvhDgPHzcnJnULZ+7GdB65ui3NvP/8fCjqRnVq9PprrR9WSq3UWg9RSsXXelTCUCdystj2y0KSf1tFcUE+Lh4exPTsQ2TnbrRoH4e7d/Wr4R0cnfAObIZ3YDMiOnQ6szz/2FH2J24kddN6Niz4mg3zv6JlXBe6jZlAyw5RbFyYxrxnTjJiRjtaxPrXxmmeV/tBw6pV+1YbNmzYwPTp08nNzcVsNnPDDTfQokULOnfuzKRJkygtLWXgwIHMnDmTO++8k/379zNs2DDmzJlzZh/Ozs589NFHrFu3jtmzZ9O3b1+ee+45vv76awIDA3nggQcMObda0iDLJ6PuMbm/RE0oOF7Cno056ITDnMguwuxoIjIuENUrhPC2vhxJS2V/4iLWfL6DrD2aijJbYhcU0YqOQ64iVMUSEt0Gn2bB1Wq5YTKZ8PIPpG3fgbTtO5BDKbtZ/N//8M2zjzHx0VmEt21f26cshLhEM/pF8tmGg3yx4SD3X6WMDqfJqk6i56CU6gkcsA9KEFTLMQkDWK1W0nduZ8viH9m/dTNmswMxPfsQ238wrTp1xdHJqUaP5x0YROeRY+g8cgz5x46ya/Vyti9bwoLnn6RZq2j6jLue3b878tOb2+g1NopuV7dsEsNun25ad+LECW677TbCw8Px9fVlx44dbNiwAU9PT8rKLtwyMTY2FoCQkBDKyso4fvw4np6eBAbaOkV3796dY8cazUCRUj5dArm/xOUqK6lg/9aj6IQcMvUJsELzaB8G36QIbmUmO3UHO+MXsuj1bbbWHyYTQRGtiBs2kvD2HQlv2x43L+8aiSWsbTumPPMS3zz7GN+/8DTTXngdvxDpPypEfdIq0INhbYP5IiGdvw6JwdVJ+tYaoTqJ3qfAW8BtwEvA67UakahTVquVg9u38Pt3c8lO1bj7+NJ74o10GjEKT7+6qUnzDgyiz3VT6HHt9ST/tpKN339L/EcvEqraE95mOAk/7Scn7STDb22Hq0fNJpz1lZ+fHy+//DI333wzU6dOxcvLi2eeeYaDBw/yzTffYLVaMZvNWCyWP2179jfkAQEBFBUVcfz4cfz9/dm+fTthYWF1dSq1TcqnyyD3l6gOi8VKZspx9IYc9m87SkWZBe9AV7pdHY5PQB5HDmxn80+fcCz9AACefv607tWXVp26EdGxE26eXhc+wBXw9A/g+n8+w+cP/52fX32eqf96tca/kBRCXJnb+rdi+YeH+XHbISb3iDA6nCapOolehta6l/31TKXUuUamEw1QZvJO1s79lKw9yXgFBDH89rtpP3i4YX8sHZ2c6DjkKtoNGMKO+KX25PMtWsYNI31XLN++cIqxf+uEb3DT6IAfExPD9OnTSU5OJi0tjcTERNzc3GjZsiVHjhyhTZs2vPvuu7Rvf+FmS2azmSeeeII77rgDLy8vLBYLLVu2rKOzqHVSPl0mub/E+eQeKiRlQw57NuZw6mQZLu6ORHX2xN0rm2Pp69k4fyvlpSWYHRwJj23HwJtm0KpzNwJbtKzTQbS8g5px9d338cNLz7L55wX0nji5zo4thLi4PlEBxDb35uPf0rihewuZQN0AJqvVes4PlFLXAP2AKcBc+2IzME5rHVs34Z2bUqoVkBYfH094eLiRoTRIJ4/ksOaLT9iTsA5P/wB6TZhMhyEj6t23ocWFBaz54hN2rlyKh18QOA7F0bklo/9fR0Jb+xkdXoPy/vvvM2PGDJydnXnwwQfp378/48ePNzqsP8jMzGTYsGEAkVrrAxdaV8qn+qUh3F/iwopOlpK66TApG3LIzSzEbDYRElWJm8chTmTtJCs1BaxWPP0DiO7Wk8gu3WnRPg5nVzejQ+fn115gf+JGbnnlbXxDmtfKMS6lfKqvmmLZJIz37eYM/vFdEl/e3ot+MTKvXk27WNl0oRq97UAAUAxo+zIL8FUNxyjqSFnxKRJ++JbERT9gMpvpe8NNdL9mwjlHy6wP3Dy9GHnX32k3cAjLPvgvJ3K+wcO/Lz+8Vs6wm9uhetfOH/TGyMPDgxtuuAFXV1fCwsIYPXq00SFdKSmf6pFGeH81CeVllaRts/W7y9h9HIvFgk9QHsERmeTl7GL/pmwAW7/p624kuntvmrWKqnffyg+55Q4ObE9k1ecfM/4fjxsdjhCiirGdQvnX4mTmJqRLomeA8yZ6WusM4FOl1Oda6z931BANhtVqRa9fy6pPP6Qo7wTtBg6l/5Sb8fJvGP/hWrTryPQX32DlnA/YsWIprl6ZLJtdyKmCLnQZIW2+q2PatGlMmzbN6DBqjJRP9Utju78aM6vFyqHUPHRCDvu2HKGsuBRn1yy8fNM5mbObI6mFODg60qJDJ7pfM4Gorj3wDqzfYxx5+gfQY+x1rPvmCw7pZMKUoZX6QogqXJ0cuK5rOJ/+foCjBaUEebkYHVKTUp0+eg8rpR4GTmGblNiqtZbhrRqIvMM5xM9+lwPbEgmOimHcPx6neUzDG+bWycWVq/7yd1q0j2PZh29jqfyS377Ko6x4AD3HRta7b5hFnZHySYhqOJ5dhE6w9bsryC3ARDqu7ulUnkqhIK+EMncPorr1JKZHb1rFdWlwk5F3GzOerb8uZO3cOUye9YL8TRCiHpnSM4KPf0vj28QM/jo4xuhwmpTqJHqTgVCt9anaDkbUnMqKCjYv/J4N383D7OjAkFv/QueRo/8wCW1DFNt/MMFRrfnx5Wc5kb2AhO/zKS0eyYBJrZvE9AviT6R8EuI8igvKSN18GL0hh8NpR7FUpuHsfIDywr1YKsoxWXyIHTCINj370qJDHA6O9auf9qVwcnWlz/VTif/4HdK2biaqaw+jQxJC2MU086RXpD9fbczgroHRmOV5rc5UJ9E7gK0fjGggDqXsZtmH/yU3M53Wvfoy5NY7G0wzzerwDw1jyrOv8NOr/yZj169sWZxHRdl1DLkpVpK9pucAUj4JcUZFeSUHknLRCTkcTMqgvHQvDg77KSs6gNVSiYt/AJ2GX03rXn0Ja9uuwX/5V1XHoVeRuOh71s6dQ6vOXRvVuQnR0E3tFcG9X21j3b5jDGhdv5uDNybVSfScgR1KqR2AFUBrPbVWoxKXpbggn7XzPmVH/K94BQYx/qEnie7W0+iwaoWrpyfX/fMZ4j9+lx0rfmX70nwczDMYODVWmuw0LVI+iSbParVyOC2flPXZ7Nl0kOKTKZgsqZSXpoPVgkdwCB0Hj6NNr36ERLfGZDYbHXKtcHB0pP+NN7Pw9RdJXruK9oOGGR2SEMLu6g4h+Lk7MTchXRK9OlSdRO/FWo9CXBGrxcKu1fGs+fITSooK6T52In2vn4qTa/0cTbOmODg6MuLOv+EdFMS6r79gy5L3MTnexYAb2kqy13RI+SSarPzcYvYk5LB73UHysnZiqdBYytOxWivxCW5O277X06Z3f4JaNp1+zKeT2XVff4HqMwBHZ2ejQxJCAC6ODlzfLZxP1h3gSEEJzbwa9zNqfVGdRG8L8DDQHFgEJNVqROKSHE0/QPzH73AoZTehqh3Db/8rQRGtjA6rzphMJnpPvBFnNw9WznmfxJ/ewuzwN/pdJzV7TYSUT6JJKSupYN+WoyT/fpDM3VupLEvBWnEQq7UCr4AgVN9xtO07kGaR0U2yDDSZzQy8aQbfPPNPtv7yMz2uvc7okIQQdlN6RvDh2jS+3ZzJ3UNkUJa6UJ1EbzawBBgEfGz/N6g2gxIXV1ZSzPrv5pG46AdcPDwZede9tB80rNE2ybmYrqPG4uzmxq/vvsHGBa/j4HA/fSa0NTosUfukfBKNnsVi5dCeEyT/lkHqxgTKTqVgqUgDaznuPn607Tsa1XcAzWNUk/0bUFWL9nFEdulOwg/f0GHoVbh5ehkdkhACiAqyDcryXWImfx3cNL+MqmvVSfQCtNazlVLTtNa/K6Xkt2Igq9WK/n0Nq7/8hMLcY3QcehUDpt6Km5e30aEZrsPg4Ti5uLLwjZfY8N3ruHs/TKdhkUaHJWqXlE+i0TqRU0Ty71nsWp1A4fEkLOWpYC3Hxd2LtoOHo/oObHQDqtSUgVNv5bOH/k7C998wePr/GR2OEMLuum7hPPRdElsz8uga4Wd0OI1edRI9lFJt7T/DgcpajUicV+bunaz+4mNy9qUS1DKSa+59WCaGPYvq05/KinKW/PdVVsx+BU//x4juItOqNWZSPonGpKSonD0bc9i5ahtH0jZTWZYC1iIcXdxoO2AQsQMGEdE+DrODJHcXEhjRinaDhrLtl5/pevVYvIOaGR2SEAIY1SGEJ3/cyYItmZLo1YHqJHr3Ap8AscB3wF9rNSLxJ7mZGayZ+wn7EzfiGRDI1X+9j9gBg+Vb3PNoN2AI5SVlLP/oLX5+7QUmPzWL5tH+RoclaoeUT6LBs1isZKYcZ3t8Mmlbf6OiOBmrJReT2YFWcV3pOGw4UV16yMAil6jfDdPQv69l9RezGXvfI0aHI4QAvFydGNk+hJ+3Z/PENe1wcZRn2dp00URPa70D6FMHsYizHMs4yIYFX7Nn/W84ubrQ/8ab6TpmHE7OLkaHVu91GjGSspIy1nzxPt8++xw3v/g0vsHST6OxkfJJNGT5x4rZsXofO1eupujEDqwVmQAEtVJ0Gj6ZNr37S7P8K+AVEEiv8ZNY980XHEzaRsu4zkaHJIQAJnYN58dtWaxMOcLVHZobHU6jdt5ETyn1ndb6eqVUNvb5qU7TWl9yWzillBO2gRNaAS7Ac8BuYI59/zuBu7XWFqXUU8AYoAKYqbXeeKnHa8iy9qSw+ecFpG78HScXV7qPnUD3sRNx9/YxOrQGpcfYsZQWlZLw/RzmPvE8M16dhZunfCPeGEj5JBqqivJK9iZmk7h4DUf2b8JSvh+oxMMvmLhhN9Fu4BB8g0OMDrPR6D52IrtWxxP/yXvc8vJbODg6GR2SEE1e/5hAmnm5MH/LIUn0atl5Ez2t9fX2n82VUh5a6yKlVKjWOusyjzUNyNVaT1dKBQBbgW3A41rrVUqp94BxSqmD2EbN6wW0AOYDPS7zmA1GZUU5e9b/xpZffiZn7x6c3dzpPXEyXUePk290r0D/G6+nKO8kO1d+z9wn3uDWlx7AwUlGpWvopHwSDc3R9AISl2wmNWEVZad2gbUEJ1dP2vUfSafhwwmObi0j0NUCR2dnhs74CwtemEXioh/pOe56o0MSoslzMJuY0CWMj39LI7ewlABPaalWWy7adFMp9STgAzwAvKGU2qy1vpxJir/F1ofmtAqgG7Da/n4JcBWggaVaayuQrpRyVEoFaa2PXsYx6zWr1crh/XvZvWYFKetWU1yQj19oOENvu4v2A4fi7OZudIiNwlV/uY38Y8dI37Gab/7lz41P3obJLA9UjYGUT6I+KykqZ/fa/Wz9dRknD2/BWnkEk8mBFu260W3MKFp16oKDY7XGRBNXILJLd6K792b9/Hm07TcQ70AZmEUIo03sGs77a/bz8/Ysbu0nI6TXlur8hRmnte4GoLWepJRaB1zyg5TWuhBAKeWF7YHqceAV+wMTQAG2BzZvILfKpqeXN4oHKavVypG0fezdtJ49Cb9z/FAGDk5OxHTvTYchI2jZsbPMg1TDTCYT1z36IJ8+dJys5B9Y/E4AY/423uiwRM2Q8knUK1arlUOpJ9j4wyrSd66jsnQvUIlXYAs6j7yDjkOGSCsNAwy55Q7mPPhXln34NhMfmSW1p0IYTIV40T7UmwVbD0miV4uqk+hZlFLOWusyez+Wy85ClFItgO+Bd7TWc5VSL1X52AvIA/Ltr89e3mAVnjhOxu4dZOxK4sD2LRQcO4rJZCYsth3dRo+jTZ/+uHp4Gh1mo2Z2cOCm52bx8cz7SVk7B59m/vS/YaDRYYkrJ+WTqBdKT5WzdWkS25ctozB3G1gLcXByp23/EfQYO5pmraKMDrFJ82kWzIApt7JyzvvsWh1Ph8HDjQ5JiCZvQpcwnluUzL6jhUQHyXNwbahOovcesFMptQNoC7x0kfXPSSkVDCwF/qa1jrcv3qqUGqy1XgWMAlYCe4GXlFKvAOGAWWt97HKOaYSK8nJyMw5yOG0vh/fvJXP3To5n2UZSc3H3oEX7jvSddBNRXXvI4Cp1zNnNjekv/JvZM2eSsOBNfIL86Diko9FhiSsj5ZMwjNVqJVMfYf38XzmU/DuW8kzARFDL9nQfO5o2vfvg6CSDf9QXXUaOYc+G31j16Ye0jOuMl3+g0SEJ0aRdExfKc4uSWZSUzd+HtTY6nEapOtMrfKyU+gmIAvZdwUPNPwE/4Aml1BP2ZfcCbyqlnIFk4DutdaVSai2wHtu383df5vFqjdVqpfRUEScP53A8+xAnsg5xIvsQuYcyyM04iKXSNmezi7sHoSqWDkOvIqJ9HEGtImXuO4N5+vkx5Znn+OKfD7Lsg+fxDnqBlh0ijA5LXCYpn4QRykoq2Lx4M0nLf6EoNwkow8UjkHbDJ9Pj2lGSQNRTJrOZkXf9nc/+cQ/LP3yb8Q89KU04hTBQiI8rPVr5sTApSxK9WnKh6RUe11o/p5SaR5Xhy5VSaK2nXuqBtNb3YntwOtugc6w7C5h1qce4EpbKSkqKCikpLLD/+9/ropN5FB7PpfD4MQqOH6cw9xjlpSX/29hkwjswCP/QcCI7dyM4MppmkTH4NAuWPyL1UFDLFox/6EkWPP8437/4NNOef5nAcJlQvSFpauWTqB+y9+Wy7pvFZOxag6U8G0wOhKoe9J44llad4qS8bwD8mofRf8rNrPrsI3avWUH7QcOMDkmIJu2auFCe+mkXew4X0EbmO65xF6rRy7f//BQoroNYasWpk3n8/u2XnMo/SXlpKRWlpZSXllBeUkJ5WaltWUkJFeVl592HyWzG0y8Az4AAglq0JLJzNzz9A/ANDsGveRi+wc1xdJb52RqSyE7tGXHngyx7/wXmPTmL2157AQ8fGeW0AWkU5ZOo/yrKK9m6dDtbFy+iIHcbWEtx8Qii/VXT6DVhNO4ysEqD02XUWPZu2sCKT96jZcfOePoHGB2SEE3WqI4hPP3zLhZuz+L+q5TR4TQ6F0r0pimlPgYeAUYADfKrypKiQg6l7MZqteLo7IKTqwvuPr44Bbng5OqKo4srTi4uOLm44urphZunJ66eXrZ/XrafLu7u0uSyEYob2o/8o7eTsOBDvnj0X/zf68/g6Cy/5waiUZRPov7KO1zAmnmL2b9lFZWlGYCZ4Jiu9LluHFFdOkvtXQNmNjsw6u77+fW9NygvKzU6nGpTSpmBd4BOQClwu9Z6b5XPRwFP2d9uAe6uMnKwEPVSMy9XekUGsDApm/tGtJGytYZdKNFbim3C4HBsc0eB7WHKiq0/TIPgHxrOLa+8bXQYop7qP3kceYePotf9wNwnXmP68w/IHHsNQ6Mon0T9YrVaSVmfQsL3P5GbsRmsxTi5+tN+xGT6Xn8NHr5+Rocoaoh3UDMmPfEvo8O4VOMBV611H6VUb+A/wDg4MzXMy8BgrfUxpdRDQCAy9YtoAK7p1JzHvt/J7ux82ofKQIU16UKJ3nat9eNKqSe11s/UWURC1LEx9/wfBceOkaVX8f0rAUx8aIbRIYmLk/JJ1Jiy4nJ++3Y5u1ctobRoP2DCP7wjvSZcS2zfnjK3qagv+gO/AGitNyilulf5rC+wA/iPUioK+EhrLUmeaBBGdWjOkz/uYmFStiR6NexCid6jSqndwGj7gAdnqjm01ntqPTIh6ojJZOKGJx9kzgMnSEucT/wngQybMdbosMSFSfkkrtiRg0dZ/cUPZOxajbUyD7OjF617X8vAqePxDW5mdHhCnM0bOFnlfaVSylFrXYGt9m4I0BkoBNYqpdZLeSgaAn8PZ/pGB7AwKYuHRippvlmDLpTofQS8DijggyrLrcDQ2gxKiLrm4OjItOdn8dHf72fbLx/h0yyA7mP6Gh2WOD8pn8RlsVqt7Fqzg4TvfyAveytQjrtvS7pcPY3u1wyTee9EfZYPVB2W0GxP8gBygU1a6xwApdQabEmfJHqiQRgbF8pD85NIyjxJpxa+RofTaJw30dNavwP8f/bOPLyK6mzgv1nunn0PCRAIYQigoICCiiiouO+4a9Uu1i5WbbXWz7V1qVpba+3uWrUuVXFDRQGlimJxQ0AYWUJYEyD7epeZ+f6YuTc3AUKAJDcJ5/c85znrzLz3Jved857znnP+omna93Vd/2cvyiQQJASP3z5Q/Ynrr2Xh078nNTudksNKEy2WYBcI/STYW0LBEItenM/y998i1FQGKOQOn8hRF55L0cHidy7oFywCTgNedNboLYur+xwYq2laFlALTAaEbhT0G2aOyePm2ct4e3mFMPS6kT0emA584hwQnAY8CyzXdf3NnhVLIEgMKVnpnHf7b3ju1ht486HfcP6d9zOopDDRYgl2j9BPgk6pqajh/adepnzp+5hGHbKajHbkmUy7+BySM8XmKoJ+xWzgeE3TPsZ2V79C07TrgTW6rr+uadqvgLlO2xd1XV+eKEEFgr0l1e9iSnEmc1dU8MsThftmd9EVQ++PwBXYI0OPAW8DoiMlGLDkFw/h9Otv5bXf3cZ/fn0b3/ndg6Tlig5hH0XoJ8EuKVu6mv8++yI7ypcAEXwpRRxy4qVMOl24Zwr6J7qum8APOxSviqt/Hni+V4USCLqRmWPyuOXV5aze1igOT+8murSVmHNOi+Xs4NTQsyIJBIlnxMSxTL/i50RCO3jm5ltoaRBncvdVhH4SRDFNk8/f+lhPENMAACAASURBVJi/XX0Dr9xzHTvK/0fm4EM444b7+NE/H2HKOScKI08gEAj6KCeMzkWS4J3lFYkWZcDQlRm9ak3TrgICmqZdgO37LRAMeA6ZeST1O77PZ6//nadvupMrH/qN6CT2PYR+EhBuDfPf595ixQdzCLduQZK9DDn4RKZffh6ZBWL3TIFAIOgP5KR4OXRIOnNXVHDNjJJEizMg6Iqh913gZmAHMNHJCwQHBNMuPo2Gqir0RS/x71se4JJ7b0IWZ2r1JYR+OoBprK5n3hMvUfb5PEyjHsWdwdjpFzPt4jPxJvkSLZ5AIBAI9pKZY3K5561VbKxuZnCGP9Hi9Hv2aOjpul7vbHZQbWf16p4XSyDoO5x6zeU0VFWzZdUCZt//T8656apEiyRwEPrpwKSybDMLnnyeLfoisEJ4k4uYcMqVHHb6sciKkmjxBAKBQLCPzByTxz1vrWLuigq+N3V4osXp9+zR0NM07V6gBPgI+I6maUfruv7zHpdMIOhDnH/bz3jiFzWs//IN3v1nJid8/9xEiyRA6KcDjXVfrWLh089SvekrAFJzD+bI82ZRetT4BEsmEAgEgu5gaGaAUXnJwtDrJrriunm0rutHAmia9kdgcc+K1L2srmzg8ieW0ByKxMo6btkan9t5N1dpt3WdXSft5jrJeb4k2eWyJCFLklNu18lOOdhxtF18vcSuyiRkORpLqLKEslMs27Ei4YrmlZ3buRQZr0vBo8p4XDIe1UmripO30363QpJHJcmr4lIGrkujrChc+ttbeOyaG1k27ymSM9OYcvZxiRZL0M/1k2DPWJbFNx9+xqIXXqBhxyqQXOQMn8qxl11AYemQRIsn6AVM06KuJUx1c4j6ljD1rREnDtMQl65vidASNggbJqGIaceG1ZaOmBimRcS0Y4+q8NSVhzEiJynRH1EgEMQxc0weDy9YzfaGINnJnkSL06/piqHn0jRNdrb1lQCrh2XqVrKSPJw6Lp+WkAGA1UF6K+7j7FzHbuvo7DorvlX7StOy6y0sO7YsTAtMy25pWXa56ZRH21g4bay22MLCNJ3YAssysQy73rDsl2PEtDBM04ktIkbbSy5iWhiG1VZnmpj78df1qDLJXhfJXtU2/jwq6QEXmQEPmUluspI8ZMViD3mpXryu/uNm5fZ4uPS3d/H4ddfz8QuP4EsKMP6EKYkW60CnX+snwe4xDYPP5nzAktdfprVhA5LsZ/DYk5lxxflkFmYmWjzBfhCMGFQ3hToNVU0hapx0TXOo03eTKkuk+ux3j8+t4lYk3KqMS5Hxu2XcqoxbsQc1XYo92CnLEslelawkd+99cIFA0CVOHJvHH+ev5r1vKrnocDGgtz90xdB7AVikadpi4HD62Rkt6QE3vzqpNNFi9BuixmHYMAlGTIIRg2C4Ld0abitrjRi0hAwagxEaWiPt4kZnpFWvaGBHYxV1LeFdPi83xcPgdD+DM/wUpvsYmhlAy01mRE4SPnffMwKT0pO55J57efqXv2D+4w/gCdxG6ZHCbSyB9Gv9JNiZSCjMRy+8xdfzXiXcuh1ZSWHE4bOYfvk5JGeImZe+iGVZ1DaH2d4YZEdDkO2NQbY32GFHo22oVTWFqG4KUtMUpjEY2eV9ZAnS/W7SA24yAm5G5CSRHnCTGXCT7rfLUv0uUrwqKV4XKT4XKV4XXpcsDlcWCAYQo/KSGZLhZ+6KCmHo7Sdd2YzlQU3T5gKjgMd0XV/e82IJEoUsS7hlezQ00I2z5aGISU1ziB2N9ot/e0OQzTUtbKxpZmN1M/8rq+a1r1pio7aSBEWZAUbmJnFwYRqHDEljXGEaAU9XxiZ6loxBWVxw5938+9YbefuRu/EE7mL4eC3RYh2QCP00cGhtauH9p15GX/QWRqQexZ3NQTOuYNolp+LxC9ed3sayLJpChmOstRlusdDYVr6jMUjY2HnKza3KZAXcZCS5yQh4GJbpJyPgISPgcmJ3LGQG3KT4XCiyMNgEggMdSZI4YXQu//qknMZghKQ+0Pfrr+z2m9M0zQXcCfxa1/XlmqYNBS7RNO0WXdd3PRwnEOwGtyqTm+IlN8W72zZhw2RDdTPfVjSgVzagVzSwqqKBuSsqAXu0d1ReChOL0jm6JJspxZkJM/xyhxdwzq9+w0v33Mxr99/OrNt/S6FWlBBZDkSEfho41O+oYf4TL1L2xTwsswW3fzATTrucI86dgaL2vVn9gYBhWmxvCLK1roXK+la21rVSUd9KRZ0T6lvZVh+kJWzsdK0iS2QG3GQne8hO9qDlJpOdbLvjR8uiIdmjipk2gUCwT8wozeXRj8r4aPV2Thybn2hx+i2d9ZL/AIQB08l/AswEfg9c08NyCQ5AXIpMcXYSxdlJnHRQ24+6tjnElxtr+XJDLV9uqOGlzzfxr0/KcSkSE4dmcPTIbGaOyWV4du+6dQ0ZO5zTrr+dN353Ky/95hYuuvsBcoYKZdRLCP3Uz9m+YQvzH3+Ozas+AiuMP20kh50xi0NPmiyMg/3ANC22NQTZXNvMppoW24iLM+Aq6lrZ1tC605o3tyKTm+ohP8XHwYVp5CR7yOlguGUneUj3u5HFrJtAIOhhJhalk+JVmbdymzD09oPODL0Juq7HdprQdb1a07SfAZ/uzwM1TTscuE/X9WM0TRsBPIm9gcJy4Me6rpuapt0OnAJEgGt1Xf/f/jxT0L9J87s5VsvhWC0HsBfyf15ew8Jvt7NQ385976zivndWMbYghdMOHsSp4wZRkNY7hyWXTCxl5tU3885ff8Nzt97MZfc9QHp+Vq88+wBH6Kd+ysZv1rLgqWfZsf4zwCIlZxxHXXA+pUcelGjR+gURw6SivpXNNS1sqmlhc20Lm2qanbiFrbWthAyz3TXJHpW8VC95qV5KcrJi6byUtjgj4BYGtkAg6DO4FJljtBwWrNqGYVrCrXsf6czQa+lYoOu6pWla074+TNO0G4FLgeg9fg/couv6B5qm/Q04Q9O0cmAa9sYKg4GXgUn7+kzBwMOjKhxRnMURxVn86qRStta1MOfrrbyxdAv3vr2Ke99exWFFGVw8eQgnjs3D08PuX2OmHUpr0y/44KkHePqmG7n0vgdIzxO7AvYwQj/1M/TFS/nw389RV7kcUMkaOpljLruQoWOHJVq0PkdLyKC8uon1O5opr2pifZWd3lDdTEV9K0aH6bicZA+F6fZM3EljfRSm+yhI91GY5iM/zSfWtwgEgn7JcaNzeX3pFr7aWMOEoRmJFqdf0pn2365p2kRd1z+LFmiaNhFo3o/nrQXOBp528hOAhU76beAEQAfe1XXdAjZomqZqmpat6/r2/XiuYACTn+rje1OH872pwymvauKNpVv4z+eb+NnzX5GV5Ob8SYO58LAhFKb7e0yGCScfSSQc4aN//4Gnf3kjl91/P2m5wtjrQYR+6gdYlsVX7y5i8Ssv0ly7DiQPg0Ydz4wrLiCnKDfR4iWUpmCE8irbkCuraqJ8RzPrq5oor7KNuXgyA26KsgIcNizDNuLSfBSm+ylI95Hfz46pEYCmaZOBP2MPWN2k6/pHTvlsXdfPSqhwAkEfYtrIbFRZYt7KbcLQ20c6M/R+DrymadoGYB0wBCgCZu3rw3Rdf1nT2u1YITkdJoAGIBVIAari2kTLRUdKsEeGZgb4yfQSfnTMCD5cs4OnPynnrx+s5a8frOWkg/L58TEjGD0opUeeffgZ0wCLj/79EP+68UYue+B+0nKEsddDCP3UhzGMCJ+89C5fvjObUPNWJDmJYYeeyYwrZ5GanZpo8XqVqsYgq7c1siYurN7WQGV9sF27rCQPRZl+jirJoijTz9DMAMOyAgzJ9JPidSVIekEP8SBwIeACntY07SZd198F0hIrlkDQt0j1uZhUlMH8lZX88sRRiRanX7JbQ0/X9U2apk0CjgIGAS8Bi+M6Pt1B/EKCZKAWqHfSHcsFgi4jyxLTRmYzbWQ2m2qaeWbxBp5ZXM6cr7dyXGkOPz52BIcMSe/25x5+xjFYFix67g/868Zf2sZethiF6m6EfuqbhFqDLHzmNVYsfBMjVI3iyqD06Es49rIz8CX3zrrZRFHdFGLl1nq+rWywDbvKRtZsb6S6KRRrE3ArjMhJ4sgRWRRnJ1GUGWBopp+irIBwrzywCOu6/i2ApmknA+9pmnYR9npggUAQx4zSHO6as5INVc0Myew5z6yBSqdvFl3XTeC/Pfj8LzVNO0bX9Q+Ak4D3gTXA/Zqm/Q4oBGRd13f0oAyCAU5hup+bThrF1dOKefLj9TzxcRln/eVjppZk8csTRzG2oHtnGCafeQxYJoue/yP/+sUNXHLPb8koyO7WZwiEfupLNNU1MP/x/7B2ybuYRiMubz7jTvkhR10wE5d7YM1GRQyTdTuaWLm1npVbG1i5tZ5VFfXtZujS/C5KcpKYOSaXETnJjMhJoiQnifxUr9jwRABQr2naNcDfdV2vcIy8FwFxYKRA0IHjR+dy15yVzFtZyZVHiTXde0uihxB/DvxT0zQ3sBJ4Sdd1Q9O0D7G3S5eBHydSQMHAIdXv4mfHlfDdqcN4dnE5f1u4llP/9BGnjxvEDTM1Bmd030jR5LOmgySz6LmH+NdNP+eCO+4mr3hwt91f0CsI/bQHarZuZ97jz7Fx2UIsK4g3eTgTTr2aw06biqzIiRZvv2kNG6zcWs+yzXUs21THyop6vq1sJBSxJ3tdisSInGSOHJFFaV4KpfkpaHnJZCWJHSwFnXIJcD22YRfUdX2ZpmnnAPckViyBoO8xNDPAiJwk5q8Sht6+0OuGnq7r64HJTvpb7B3sOra5A7ijN+USHDgkeVSumlbMhYcP4e8L1/LYR2W8vXwrl0weyjXTS0gPuLvlOZPPPAZvwMf8x+7nudt+ydm/+jVDx47olnsLegahn7rG1jUbmP/4v6lcuxiIkJQ5liPOm8XYaYf2WwMnFDH5trKBrzfVsWxzLUs31vFtZQMRZ4fLzICb0YNSuPyIIkrzkxmVl0JxdhJutf8btILeRdf1ehwdomna6bquv67r+jfAmQkVTCDoo8wozeGxD8uobw2LNct7yW4NPU3TnmA3/uK6rl/ZYxIJBL1EitfFDTNHcenkIh6a9y1Pfbye2V9u5saZozh/0uBuObNl/PGH4/XfwVuP/IaX776ZU6+7lZGHifPC9hehnxLDui9W8sHT/6Zmy1eARHrBBKZdeiHFh4xMtGh7zebaFj4vr+GL8hq+3FjLyq31sZm6NL+LgwpSuWrUcA4qSOPgwlThdinoVjRNOxPba+B/wOsJFkcg6NMcV5rL3xeuY6G+ndPGDUq0OP2Kzmb0nnfiq4GPgUXY50Ud1tNCCQS9SV6ql9+eczCXH1nEba+t4ObZy3h+yQbuPH1Mt2zYMurIg3D77+K1B+7gjd/fwfQrrueQmUd2g+QHNEI/9RKWZbHs/f/xyUsv0Fj1LUguckdMY/rlFzCopDDR4nWJsGHyzZZ6Pi+v4fMNtnG3tc4+wsDvVji4MJUrjijioMJUDi5IY3CGTxh1gh5D07RfAJcBJ+q6viXR8ggEfZ1Dh6ST7ncxf2WlMPT2ks523ZwLoGnaz3Vdv98pXqRp2nu9IplA0MuMykvhhR9M5vWlW7h7zkrO+svHnD9xMDeeqJGZtH9r5IcfMpLz7riP//zmNhY8fh/VWy9nxuVnd5PkBx5CP/U8pmHw6Wvz+XzObIKNG5FkP4MPOpnjv3sB6fl9eyfZmqYQX2yosQ278hqWbqqlNWzP1hWk+ZhUlMGEoelMGJrOqLxk1AGwnlDQr/gD9jEtL2uaNk/X9VsTLZBA0JdRZIljR+Uwf+U2IoYpdPZe0JU1ekmapk0HlgBHAN2zgEkg6INIksQZ4wuYUZrLw/NX8/hHZbyzooJfnDCSiw4ful/unAUjB3PFg3/gmf+7ja/efpyaLVs4+6YfIctCYe0HQj91M+FgkP8++ybLP3iDSHAHsprKyCnnM+OKs/GnBhIt3i6paQrxaVk1i9dV8cnaKvTKBgBUWWJMQSoXHTY0ZtjlpXoTLK1AgATUAf+HfTwMmqblAg/run5+IgUTCPoqx5Xm8soXm/m8vIbDh4szirtKVwy9K4HfAH8CVgFCCQkGPEkelZtPLmXWhEJuf30Ft762gueXbOTXZ4xlwtB9d+dMzUnjew8/wLP/dy/lS9/h8eu2cNFvbsafktSN0h9QCP3UTTTXNbDgyZdZ/b+5mJEGVE8O42Z+j2kXnYKrjy1+r2sO82lZFYvXVfPJuipWVdRjWeBzKUwsSuf08YOYODSdgwvT8LmVRIsrEHTkWSAC5AGzNU07BXgM+GNCpRII+jBTS7JwKRLzV20Tht5esEdDT9f1VZqm/R8wAvgaqOxxqQSCPkJJbjLPfu9w3lpWwV1zvuGcv37MOYcWctNJo8hO3jd3To/Pw+W/u43Z9z/K+i/f4J8/vYazf3kLg0cP72bpBz5CP+0/1Vu3M//xF9i47H0sK4gnqYgJJ3+fw888ps8ckVDfGmZJWTWfrK3ik3VVfLPVNuw8qszEonSuP24kU4ozObgwTeyCKegPFOu6PtE5uuVzIAgcq+v6ygTLJRD0WZK9LiYPz2TeN5XcfHJposXpN+zR0NM07SfAWUAG8CRQAvykZ8USCPoOkiRxysH5HKNl88j7a3j0w3W8u6KCnx1XwneOKMK1D51hWZY556Yf8OmrI1n0wp958dc3cOT5VzP5rON64BMMXIR+2ne2rC5n/hP/ZtvaT7GPSBjNlHNmcdD0iQnfiKQxGGFJ1BVzXRXLN9dhWuBWZQ4dksa1M0YyeXgG44ek4VHFjJ2g31EPoOt6SNM0GThB1/XqBMskEPR5jivN5fbXV7BueyPDs4UnVFfoiuvmBcBUYIGu63/UNG1JD8skEPRJAh6VX544ilkTCvn1m99w15yVPL9kI7efNpqpJdn7dM/DzzyGQVoRs397F4uef4i1n33OuTdfgyfg62bpByxCP+0laz5bwcJnn6N2y1LsIxIOZdrFF1A8YVTCZGoKRvisvIZP1laxeF0VyzbXYZgWbkVm/JA0fjK9hCnDMzlkSBpelzDsBAOKSmHkCQRdY0ZpDre/voL5K7cJQ6+LdMXQi05XRM+sCvaQLAJBv2B4dhJPXD6JBau28es3v+HSx/7HCaNzueWU0QzJ9O/1/QaXFvH9R/7ES/c8TMWaD/nb1as45ae/YMSkMT0g/YBD6KcuYFkWX8//lE9efpGm6rYjEmZccQH5I3r/iITmUITPy2tim6d8vamOiGmhyhLjB6fxo2OKmTw8k0OHpIs1doKByBhN0/6NvSlLNA2ArusXJU4sgaBvU5juZ1ReMvNWVvL9o8Vyl67QFUPvOeC/wFBN094CXu1ZkQSCvo8kScwozeWokiwe/bCMRxas4bg/LOQ7U4byo2NGkB7Yu80ffck+Lr33lyyePYmPX/w7r/3uZoYdehKn/OwKPN79O9phgCP0UyeYhsEnr8zjy7dnE2zahCT7GTruVGZceR7peb13REJLyIgZdovXVbF0Uy1hw0KRJQ4uTOUHRw9nSnEmE4am43d35bUkEPRrzotL/y1hUggE/ZAZpTn8beE66prDpPr71kZhfZGubMbyJ03T5gFjAR3Y0ONSCQT9BI+q8ONjR3DOoYU8MFfn0Y/KeH7JRn44rZgrjxy217MRk8+azohJY3nlt3+g7Is3+dsPFnPMd37IuBmTe+gT9G+Efto1oWCQhc+8wTcL3yASrEJW0xh11AUc+52z8Kf0/BEJLSGDLza0GXZfbWwz7A4qSOV7U4czeXgmE4emE/AIw05wYKHr+sJEyyAQ9FdmlOby5/fX8sG32zhjfEGixenzdGUzlrXA2bqu/8fJLwCm97RgAkF/Ii/Vy4PnjeMHRw/ngbmreGCuzlMfr+cn00dw3sTBe7WuKKswhx88ci8fvzSPT2c/wbx/3MXncw7lpB//gPzi3nez68sI/dSehuo6Fjz5Eus+m4dpNKB6cznk5O8z9cKTcbl7buSzNWzwRWzGrpqvNtYSMkxkCQ4qTOPKo4YxeXgmk4oySBKGnUAgEAj2kfGFaWQluZm3Uhh6XaErb9xm4M+apt2q6/r72D7lAoFgF2h5yTz6nUksWV/N/e+s4rbXVvDw/NVcceQwLp0ylJS9OI/siHOPY9zxk3ntwX+wVV/Iv2/+MYNGTePkn1xBava+n+U3wBD6Cags28yCJ59ni74IrBDe5GFMOOUHHHb6tB45IqGqMchn5TV8Xl7DkvXVLN9cR9iwbMOuIJUrjiyyZ+yK0knuY2fwCQQCgaD/IssSx2o5vLOigrBh7tPO5wcSXTH0tgPnAK9qmpaFfcinQCDohElFGbx41RQ+LavmLx+s5YG5On/7YC0XTx7KpVOGUpDWtV01A6lJXPTr69msn8s7f3uMLasW8OhPF1FYOpUZV15I1uDcHv4kfZ4DWj+tXrKCD597gZrNXwEWqbkHM2XWLMZMHd9tz7Asi7Xbm/hsfXXMuCvb0QSAW5E5qDCVK48cxuHDM5hYlLFXgxkCgUAgEOwtM0pz+c/nm1iyvpojirMSLU6fpiuGnqTreo2maacALwEH97BM3YtlQcXXEGqG2NlQUidpOmkjgSS3BVlx0vHlyi7adLguvk20XjDgkCSJycMzmTw8k+Wb6/jrwrX84792OFbL4eLJQ5g2MgdF3vPfv0Abwnf/cCffLl7OB888w6Zv5vHUL94na+gkjjzvHEZMPGAPD+3f+mkfME2TL97+iCWvv0Jz7Rp7B83iozjmsvMoHFW03/evbw2zbFMdSzfV8oVj2NU0hwFI97uYMDSD8ycNZuLQdMYWpIrjDgT9CyMMLbXQUg2mATml4h0sEPQzppZk4VZk5q/cJgy9PdAVQ+9XALquN2qadhrws54VqZvZsBieODHRUnSO4raDrLalFbX7ymVX+zayC5RoiG/vlEXbywoxIzdqrMaM3V3kwX6JmmEwIk4cikuH2+JdtguDGelCu7j7WYb9srasuLQTY+3687p84EkBbyp4U8CTaqeTciA5DwLZzmffeyzTpHXFClq+/JKWZcsJlZcTqaxEra3lJ+EwszypzC05ineCE5m/ahuZZivHu+s4ZZCLcdogvNooXAWDdntg9cjJYxk5+bes/3oNHzz9PDvKl/DaA4tx+wsomXwsR513MknpKfskez+lf+unvSAcDPHh83NYvuBNwq2VSHKAokNOY8YV55GW23VXXqOxkUhlJZFt22jcWsk3G2tYXhNheavKStPPBrntbKLC5iom1ZQzuqqMMdvWUNC43R4LUxQkWWa9y4Xs96MEAsiBAHJSEkpaGmp2NmpOTix2Dy7EVVCApPax9XmmAaEmCLeAEYRIyImDtq5pF8fXhyDS2pY2I216J14HxWLTbrNTmWGXx04H6S6kuIHI+EFJpUN+F/Wd1UkyyHKHth3uuVOZ4lzTsayjfB3vt4dnWBaEm+2/X6gRgo3QWgctNU6ojkvXQLMThxraf1XffQ8GH9bN33/P4Byu/hdgHPZRMt/TdX3NLtrMAV7TdV3s6CkYkAQ8KlOKM5m/spJbTindbZ9J0Imhp2na93RdfxQ4Q9O003tRpu5lyGRbkYca7bxlEXupWsSlrS6kTcegMO2XdSxttr204/O7Ch3btDNqQm3GjRHadXmoGcy6uHLH8Immzbj0QECS2wy1eINUVu24XUdAat9hQLI7Ae2+o7DdOWits7/f3T0z4Bh9KQWQXgQZw+yQPgzShtjPjiO4Zg01z79Aw3vvEamsBEDNzcVTPBxP8REoGelILhdZskxpUxM/rFvKwmYv75qZvEwBz29Qyf9mE5Mr5jK5fj0TcjwkaRqeURreUaPwlJQge72x5xUdPILLH7iFqs07WPTim5R9uZAVC55hxYLnSMosoXjCZCaeOp203N7bQr83GTD6qQs01tSz4MmXWbvkXXuDFXcWY6dfxrRLTscb8O7U3jJNIhUVhDZsIFS+gfDGDYQ2bKR+0xZW14RY405nbVoh36YPpiwlH0POASAj1Mio1h0cb61ltBpkjN8gNdOFnO9Gco1Gco8HScYyDTBs/WWFI5jNzZiNjZhNTRhNjQTXrqXpk08wGzp0qF0u3IMH4y4qwj2sCG/paHxjx+AaMgRJ7uIaC9OEYL39+42F2rZ0qMkx3JptXRlusuNQU1s6Zhw02YZadyCrbXpHVnc2XnZVFqtzjJfuJPaucQbA2r17onmzQ95oe6/t1NYZOOsvSAr40ttCUh7kjG5f5kuHlEFQOCnR0u4NZwJeXdenaJo2GXgQOKNDm7uAgan4BYI4jivN4dbXVrB2exMjcsTh6bujs+HVjU68qjcE6TEkqd+M1nUrlrXr2bGYMdjRmAzvbCiaJmC1GbREDdvd5YmbEXS1T0cNs9gMm9p5u1i+h9zCLMsekW+tg9Z6u7PYuA0atkJDBTRW2HH1Oli7ACItbddKCqQWQsZwWhoz2P7+ZpqWbUByu0iaehTJP78e/+GTceXmdCrCZU6oaw4zZ8k63v7Kw5zkTGZb0wiYIcauL2PspwsYW/UoI+q34B82FO+oUrylo/Boo/CWjiKzIIvTr7sc07yMFf/9kqXvzWd72VcsffdJlr77FJ5AITnDRzPy8EmUHjEezy4Mg37KwNBPnVBZtsXZYOUjZ4OVIg496bscfsaxyKqCZVmEKysJrl5DcPVqgmtW2+k1a6g2ZNalDmJtagHr0gopy5zIppJ0TGfUM1mxGJPhZkZhKuNL8hhfnENeirdbR0XNlhYi27cT2baNUPkGQuvXE1pfRqisjKaPPsQK2QMtst+Ld1gevqGZ+Ial4R/sRcEZjGmpbW/UBevZo8Ehu8DtB3cSuPxtaX8WpPnBFQB3wC6Ppl1eUDygemwd1S72gOpui1Vv+zLFdWC4/sUPbHacmdxlWYeZy3Zlie13tgAAIABJREFURntDs921u/DO6PiM6HvHHQBPsvM39IMvzTbgPCkD9W9yFPAOgK7rizVNmxhfqWnauYAJvJ0A2QSCXuXYUTnw2grmr6wUhl4ndGbotWiadjRQ1lvCCLoRSWozogQ7I0m2C6fLZ8/cdYZpQmOlbfTVlEF1GZFN37L99RXULl+F4jHJGttEekkzqudZ0N+DbUXODGBR+5CUZ7skxZHqd3HRNI2Lpmk0BSMsWrOD9/XtfLounceyNQC8kklpuIZh29dTtPQDiuueZXDDNnxZGXhKR+EZUULhsCKKz5qOOuQKVq/ayPIPPmLb+m/YuOxdNi6by/xHZVy+XNJyi8gbMZJh40YzZExxfzX+Bqx+sjdYeZGazV8CFim5B3PEuedQMjyX1hUr2PHww7SuWEHrN99Q19hCeXIeG5Jz2ZgzlI0FMykrvpAqq+13X5DmZfSgVM7KT2H0oBRG56dQmO7bN6POsmzviHYzarsILbXIrbW4W+twt9bhb62DcB1k1UOmiXUoBOtVWqtdtFS7ad1aT/VKF5YpgWThy5HwD/ESGJ6Kr3gQct5Yx9W6k+BJsTv9Quf1DJJkD3KhiO84caQAdXF5Q9M0Vdf1iKZpY4GLgHOB2xIinUDQixSm+xmVl8z8ldu4alpxosXps3Rm6F3txMWAG1gCHAI0Asf0rFjdh9kcpuHDzVghY+8v3g9PFcvq4sW7arara3d3u5iH6W4adPX+u2or4bzcnawct1mNUx7rLMa3jdXZaUmRQJFs9yzFycuSfb9YXm5rp0hILgVJlZFc8UGx4y5sXtKtyDKk5Nuh6EgaFy1iyz/mYtSFybjiSrKuvBglvA2qy2xjsLYcatZD+Sew7D9ts51gzwakDbFdhpIH2UZmsnPv5HwCyXmcMCqXE8bYxuf2hiBL1lfz6boqlm7K4C1fNq35E+xbYZFvtZDfVEXuF5vIX/ienW6uJstlMakgF3fBIILDp1IWUqlsbKS2tpLt5V+wff0nLJtn/+EUVxre5BxSsgaRlpdLWm4uGYW55A4tIDU3HbmrbnW9y4DQT1HaNliZTXPtapBcZOWO49DsVFLKVlL5fzfwmuFmQ3IuG9IGsSnnMMqnncIO3LF7+FwKI3KSOCY3OWbQjc5PIdUf1ymPhOxZseqtbTNk0Vnt+HS7ug7trD3oUndSewMsZZC94UVcmeRNxetNw+tNJc0pM/HSsnIdTf9bQvPixVR9sZyqJZXIgUaSpg0m+bhpBCYdjZIkRm4ThWVZ9nyRZWGZFjjBTjv1htW+3gKrY5lp2WrRtHZxjXP/jmVm/D3jnrmLsvZtcd5L7PTekrwKyVMLkX19bO3o7qkHkuPysq7r0Z2GLwMKgAVAERDSNG29ruvv9K6IAkHvcVxpLn/5YA01TSHSA+49X3AAslvtpuv6hQCaps0BznBGjBTsRb49TlcWHXeFivItPPvJ80SsTnZd7yG7oS+taJA6+ZA71+y6badfU4cPK+0hJyEhWU7s1EdTUlxp+9q2OlmSkGUFVVZQJAVFkVFkBVVRUVUFVVVRVBXVZccutwvVpaK6XahuFy6Piupxo3pdqB4XLq8bl8+N4pGQlAiKYiHLoCgSYGFZBqYRofrpp6h58XncJYPJ+cVteIcNJyiFkKRMSM9BGjEFSVLagmFA/Vak2o1OKEeqKbfdQsv+a7uImrv43/Skgj+dbF86J/syONmXDsMyMErTKYtk8U1TMisbfJQ3+ylvTOKDjCE0hNr/EVTLJD3cRNqmOjJa6kgJmSSFA/jDBUiqG9PvB1UCKYzV3IRc9jXquhCqGUG17CCjoKhJKC4/qtuPx5eE25+ELzkFf2oqvtQUPH4fHp8PT5IPXyBgx8l+/Ml+3H5vjxiKidRP3aWbAELBEB8+N4cVC96gMVxLnSsXI3A4cl09y6rcPBNKYkvmKTTleGLX+FQoSZeZlmJSkhRkZKCJEm8dBUodcrgRgg2wtRHKOhps9e1dkHdHdKOiaJwyCDyj2jYv8qbFDDbLk4LlTQZPshMnYcmyM/BkYFkmlt2jx7KMXZdjYZ+K0QjjcwiMP5XAD07FaG6mddkymj/9lNpPPqL6sznwoIpv/DiSjjyKwNSpKIFAB+HbdkqWJBlJUpy0YnsEIoElO2NdEpYVDWAZElhgGAaWYWIZJoZhYpkWpmFiGQaWYWGYTr1Tbpp2Wzu27Nh08rE2Fla03DCxHKPENO3vwTQsTGfdnGlamFa0vV3evr1lX+MYSZbVoY1lYmGv1TSdNeamFd/Wvt7CKSM6UGg5S9KdMqzYOnYrGsd909GctVMJ7WqsDnUdcztdL3Xl/h2v79B2Fy+rtndg27UqKpcMvZh8bfDOF/RNFgGnAS86a/SWRSt0Xb8xmtY07Q6gQhh5goHOjNIcHnl/DR98u42zDilMtDh9kq4MY+V3aN/5wqPuoyuLjvdI2tBsxh85gXB4Nxtv9DB9YSegzmYXe6POspwOg2V3PuI7LdGOkmkaTtzWGWrrMMV3esJIUhBLCmEQIiwFQQqCHEaSQ0hyGJQQshxGUSLISgRFiaAQQTYjKKEIsmEgByMosoGsRJBlA1k2UJQIkrQH81wDbgVYx+ZtV8O2zptHMZEI4yKkeghmewhmeQlb+ZjWYCKoRCwXhqVioBJBxbQUIqgYlgsDhYilYGBittRgUQdusDJkPBkSIy2JEaZEMOKmqdVDS9BDa8hFa9hNMOSiNpxMRSiDcEQlHFEwzK6ve5QkC0U2kWULSbKQsJAlC0Ig7QCpKoQsBUGqteslkHBiJz9UquXlG6/q8jP3kkTop27RTQDnPfQE68KZtAw5g3AkTh3nWHjdYQK+IJm+eoZ4W0nytZDia8bvCSJLJiYm30oWq7GQgyaSZCJZJpLiRvKlIftTkShAxgLJQsZEwUCRjFgs2/9dKJjIkv3fJ0sGimWgSBEUWpClBlQ2IBO2y1siKK3ReqPnT6g/3AkAhIHFdlj2ux55XJvxJzl5uV15m4EodxLLcfeR99DWiU0nTYd8tA0yVnSnY+ydLC1LhliQsGTFSSsgS3aM0tYGBcmJY+UogHONZBvIICHHz3xFZ8KQnLQddwx2Obssi78mdk+5rT1Izp40Usx7ZOdn4VzjlMtt92p3353+prvW6263m7Qh/Wpr9tnA8ZqmfYz9j3CFpmnXA2t0XX89saIJBL3PuMI0spI8zFspDL3d0RVD71FghaZpy4HR9J7vd6eLjrtKE0FeTtpMs7Frd6P244zRwp3LYu2cOqnd2GX7cUxnDshu44yESnH3kOLatsVm7L5W9P5WxzYW7e0QM67eckZgnRgLExPJillYxEbPnYXtFqbdCXTSku0HY8dOkJwReCnaJlbvlMddI2MvrFclO5aIIOHEkmGnFRPJcmLn+S4JPDK4JQu3BB7Jwu3kPRJ2mWzXKXvRqzQtCFkQNiXCpkzEUgibMqapYhoKhFWsoI+I4SVs+QiZAcKWn7DlI2L5CEluQpKbCG6kiJsILppdblpUF2HJRVhSCckqYVkhLNvpkGSnw7JKWFIJyy5CkkpE7rCmJZH2v2lBxEQKO3HEtF2nDAvJtGJpTAvJsAgbbS5QUsx1C2fThLZYctynYj8Jw0KyLMKpPbqeJxH6qVt0E8A6Xza1JGGlqpgBF5ZfxQqoWD6VVkWitttE7jkky/7ty5aJYllxaTuWiaYtO47L28HcqVyxDGTa2suWYd/byaumgWpauE0DxbSvs2QDS7aQMJFwjFnLNmblqGFr2eUytpFqG7W2cSsTQbYMZCns1EWQMRzdZSJJzs6TkmEPdkimPTAkOUa2ZNdJkoEkW7Eye4DERJasWLAHQyxkCbvMGRyRscv2Rs91N7GfP22xidSWtsCIxXa50aHcRIrFbX8R21g17WGFuKDY5ZKCRTRImJKKhQySimlJIKlYkoyFihVtK7nt6yU1FkxJBRRMyeW0UbEkF6BgSc5up9j3CahuxhPEhy9h3/feoOu6CfywQ/FOG1Lpun5HrwgkECQYWZaYPiqbt5dVEIqYuNU+udQkoXTF0FsJTAJGAet0Xd/RsyLF2O2i4725ycKtX/Bq6/julawv07GDkPgJxXZIluG4YDpGJnGzROB0Bex09OcaXZInRcskKTayLDtxzJ1Tkp062elsSBhYtm1j2aZuLG1ZRJzOyd7ilSW8soRPlvApMh5JwoeFN2ISCRsEgwbB1ggtrRGMliassIlkmE5vyEKxLAIulRSPQopHJcWj4ncrBFSVZLeC362Q5FJJdst4VQWfKuNVFDyKjEuRcasybkXGpUq4ZAVFth2TFCnO2VWSnI6k891FR8GdtBxzg3XqiO4TE62zlaj9HTv3o22pixw3ip5AEqGfukU3AXx9zdnt8qZpErEgYlpELNP+dzEtIpaFYVp2p9o0CRkWIcMgFDHtYFi0RgzChp0PmiahsEnYsAiZBiHDJBQxaA6btIQNWiImLZEILRGT1ohJq2ESMkyChkmrYRA0LFpNi2DEJAJYzkyK1WEtriXZ/yMul4zbpeBSZVyqgkt1o6oyiiLFYlmWkRVnFiZuxiYCGJZF2LIIWhZhsy1vx+3zkT7gEx/VRbZxJsW+Ejk6Exars8tw0tGlYrE2tFsGTWw4sJ2rZHSwbhdltM1WtXOc3KltXGx1dHyMy8WN01hxw5mm41MZHY5sG5aU2rW1YmVRLR8d1kxg56v9R2yHFDaZufVLzhx+bK+KJBAIuo8Zpbm8+NkmPltfzREj+tUMfa/QFUPvTl3Xjwb+19PCdKCzRcddZlr2BH65+l+07O7MtE5o34eNvvQkZ8atfRnEvU4laeeyuPvY+ba1JO3mCGPrE+xO+M5zenJMtrh5vpjAbR3vuOudDpWF5MgWfZ4EkuxcLzsdN7s7Yt9Hcdxk7ENtZUl2zrty1r/I9vX2Whi7TJZVFFVBkVTnaATZMd1k51myMyobDbaMzvp7LMcQs0eO2zokphWbs4ytr4/NXcZ1TuKvUSQJRQIFCdUxehRJQnWMFAUJV5yx5pNl/IocS3tNg4YHf4f16acM+fn15JxwAm5gR10rZTuaWLOtkbWVjazZVs+abY3Ut7b9ewbcCkMzAwzO8FGYmc7gdB+F6X4K0n3kJHtI97uRe3tTmYFJIvRTt+imXSHLMm7ArYDtUpdYLMuiNWxS3xqmoTVMfWuE+pYwDa0RGlojsfKGaHmTXVbX0kJdS5iqljCtYbPTZ/jdCqk+F6k+Fyk+FyleVyxvB5VUv1PvdZHiVUnyufB7VFRVJmzZhnBrVTU1c+ZQNedtQtXVkJuL/6QT8c04Dis1lYhlOQb0ro3I+PqIY1BGLKtNL9Gmh6I6KKpv4vWVZbWtPIzXZcTy8XVWTH/1FW0gOy6asQGiOEM2OkgUb6y2N2SldgNLHY3Z6L3i2wLO4F7b/J/tEWJhmQYRM4JpGEQMA8OMYBiGvY7SjGCaETuOy5vO8UGmac/IymYERTKQLCdvRecYTbySi6lZl/X+lywQCLqNqSVZuFWZeSu3CUNvF3TF0LM0TZsN6Di+grqu39yjUtnsdtHx3lDXqvDK12Np2ctdN+O9NzsOBsb7++9c1/W2HQviszutc+vsGdHOgjNLZYeOD9tfou6cXcetyHhcMj6Xgs+t4HMpeFwKfpdCslclxeeyY6+rQ9qJnXSy14XSi0aRZVlUNQap+NWvSJ/3DkvPu5rZNTmse2QR66uabFdGh6wkDyNyApw+fhAjspMozkliRE5St59JJtgtidBP3aKb+gOSJNm/XbdCbsq+HcMRjBjUtYSpbwlT1xJx4p1DtHxTTTPfbLHTTXvQ2x5VbmckpvoOIm3WOErXf82oT+eSdd+9mA/+juZjTkA972LSRxbH2vtciviN7gWWZc/wBsMmrRGD1rBBa9h0YsOeGXbSu2rTEjYJRpx8xCAYf30k/l6mXRcx2unarqE6wYtblW0PBynO6Ix6Jjhlfo/CmRMUMrv/6xIIBL2E361yRHEm81dVcuuppUKvd6Arht7jPS7Frtlp0fG+3GRETjIf3ji9WwXrL1jOaHTU8GsbVW7LW2bcqHTUSHRcpyKG7foVMU0ihkU4mjdMwubO9SHDfkG3hA1aQvbLvCVkOC95Jx0xaQ5G2FDdTH2LPUPQGNzzZEiSRyXZGw2uDrFtGCZ7VbwuBY/quDcqsu1KpkiYJoQdOSOG7b5W29y+o7m1roWKula21rVy+jfzuPKbd3h61Am8GBnB0G2NFGcnMaM0l+LsAMOzkxiRndR+63pBIkiEfuoW3XSg4FEVcpIVcpL33lAMG2ZMT+zOMKxrDjuziGEq61v5tiXMe6FBNJReSmHhTM5Y9yHHL5iLa95bfJQ/hpdKjmVVxlBkyT6SwhsLcmxAyhsXfC45llZlCVWRcUVjRUKVJZSdymRUp05yZshijhc4m4c4nzFaH39SjeG46pqWheHoaNO0di7fqcwOEdMiHLHdcUOGSTgS1d9RV18zps/b5+22Iadd2Lm+NWwQjJi7PZlnTyiyhFdt+x49Ltsl3et8tyk+l51W7cHAaHl8m2jsaVemxK6Lb+NWZOExIRAcQBxXmsstry7n28pGtLzkPV9wANEVQ+9Z7DUwLux30KAelchhN4uOBXtBdJcyuc84Be0aw7RodNzA6lvD1LdEXcIiTidv53RVY4j1O5piLmQhY+9mG+NJ9tiuYbkpXsYWpHKZtYHJK9+m+ajpfPeeu7gzM4BLEQt8+yi9rp+Ebuo9XIpMZpKHzCTPnht3wDAtGlrD1LWcR/2WbbS+9AKT33yFI//7J2pHjOHb6WeyoeQQe51iuG32qSVk0BiMsL0hSDBiOgNUdn3EsI2o/oRble21vc6gV3QQzO0MiEXLkjyqPTgW19ajyqiy3M6w8qidG1lel+wYY21lQn8KBIKe5ITRudz62nLmrqgQhl4HumLovYJ9IHEB9qKRLcBzPSmU4MBCkSV7Dc5+zI4FIwYNrRFaQkbb6HQkumGFFRtddyn2SLtXVWLuXvFuoaENGyg7+xHcY8Yw6pEHkb375q4m6DWEfhLsEkWWSPO7SfO7IXMYHHQT5o0/pfbll1GffJK0f9zN0WPGkPWTH5N0zDFddvexomv5DKvNSyDmLdBWFjZMDDP+nLq2TWrbNlKJLyN2rp0i25tLKbKEIknIMrF8x/K2dFvsdgw4Re4TGyYJBAJBj5KT4uWQwWnMXVHBNTNKEi1On6Irhl6qruvTNE17FPgp8F4PyyQQ7DUeVcGTtH+bV5ihEJuvux5kmYKHHhJGXv9A6CdBl5EDATIuu4z0Cy+k7vXX2fHXv7Hp6h/h3QuDT5IkZxYMfH1gwxyBQCAQwMwxedz79io2VjczOMOfaHH6DF3xp4huVxnQdb0Fe/RcIBhwbH/wQVpXrGDQPXfjLixItDiCriH0k2CvkVwu0s45h+K33yL/7rsx6uvZdPWPWH/uLBref3+3B2wLBAKBoG8yc0weAO9+U5lgSfoWXTH0ZmuadhuwVNO0xdhbiwsEA4rGjxZR/dS/SL/kEpKPOy7R4gi6jtBPgn3GNvjOpvitOe0MvvKLLqb5s88SLZ5AIBAIukhRVgAtN5m5KyoSLUqfYo+um7qu/zma1jRtDrC6RyUSCHoZo76erbfcgru4mJwbfpFocQR7gdBPgu4gavClnn4atbNns+ORP1N+yaUEph1NznXX4R01KtEiCgQCgWAPzByTyyPvr6GqMbhPm3gNRHZr6Gma9gS7OPrN4cqeEUcg6H0q77mXyPbtFP3pYWSPUAz9AaGfBD2B5HKRft55pJ5+OjXPPsuOf/yTsjPPIuXUU8m+5qe4hwxJtIgCgUAg2A0zx+bx8II1zFtZyfmThL6Gzl03nwdeADKAVcBjwNeA2KFCMGBoXLiQuldfJfMH38d30EGJFkfQdYR+EvQYstdL5ne/y4j33iXzqqtomDePtSefQsU992DU1iZaPIFAIBDsgtH5KRSm+5i7QqzTi7JbQ0/X9bm6rs8F/Lqu36/r+iJd1x8CsntPPIGg5zCbm6m489e4RxSTffXViRZHsBcI/SToDZSUFHKuu5bid+eSdvbZ1DzzLGtOmEnVk09ihUKJFk8gEAgEcUiSxMwxeXy0egeNwUiixekTdGUzliRN06ZrmpasadpMxK52ggHC9j//mfCWLeTfeSeSW/xb91OEfhL0OK6cHPJ/fSfDXp2N7+CD2fbb+1h72mnUv/ee2KFTIBAI+hAzx+QRMkzeX7Ut0aL0Cbpi6F0JXA18CvwAOL9HJRIIeoHWVauofvIp0madi3/ChESLI9h3hH4S9BrekSMZ8ug/GfzPfyC73Wz+6TWUX3opLcuWJ1o0gUAgEAAThqaTnexhztdbEy1Kn6Aru26uAmb1giwCQa9gGQZbb78dJTWVnJ//PNHiCPYDoZ8EiSBp6lQCU6ZQ+9LLbH/4YdbPmkXqGaeTfe21uPLzEy2eQCAQHLAossQpB+Xz3P820NAaJtnrSrRICWWPhp6maTcDNwLNgARYuq4P6mnBBIKeovbFF2ld+jWD7r8PJS0t0eII9gOhnwSJQlJV0i84n5RTT6Hq7/+g+qmnqH9nLpnfvZLM738f2edLtIgCgUBwQHLauHye/Hg981ZWctYhhYkWJ6Hs0dADzgMG6bre3NPCCAQ9TaSmhm0P/RH/4YeTctppiRZHsP8I/SRIKEpSEjk/v560889n++9/z46//JXa2a+Se+MNJJ94IpIkJVpEgUAgOKA4ZHA6g1K9vLl06wFv6HVljd56oKWH5RAIeoUdf/oTZkMDuf93s+iADQzWI/SToA/gLiyg4PcPMvTZZ1DS0th83fVs+M7ltOrfJlo0gUAgOKCQZYlTDs7nv6u3U9ccTrQ4CaUrhp4bWKZp2nNO+HdPCyUQ9ASt+rfUPP8C6RdcgHfkyESLI+gehH4S9Cn8EyYw7KX/kHfH7QR1nbKzzqLiN3eJ8/cEAoGgFzlt3CDChsXcFRWJFiWhdMV1874el0Ig6GEsy6LynnuQk5PJ+ulPEi2OoPsQ+knQ55AUhfQLLiDlxBPZ/vCfqHnuOernzCH72mtJm3UukqIkWkSBQCAY0BxUkMqQDD9vfL2F8yYNTrQ4CaMrM3rLgEHAUKAIOKInBRIIeoKGefNo/vRTsq/5KWp6eqLFEXQfQj8J+ixKWhp5t93KsNmv4CkpoeKOOyg7dxbNn3+eaNEEAoFgQCNJEqcenM/Ha6uoagwmWpyE0RVD7yVgGnAVcBmiIyXoZ5jBINvuux9PyQjSzxfHrA0whH4S9Hm8msaQfz1Fwe8fxKipofziS9h8w41Etm9PtGgCgUAwYDlt3CAM0+Lt5Qeu+2ZXDD10Xf8hoAPHA2I6RNCvqH7iScKbNpF7881Iale8lQX9CaGfBP0BSZJIOflkit+aQ+YPr6LhnXdYe9LJVD/9DFYkkmjxBAKBYMAxKi+Z4uwAry/dkmhREkaXer2apnmBAGABSfvzQE3TzgJm6bp+kZOfDPwRiADv6rp+p6ZpMvAXYBwQBL6n6/qa/Xmu4MAkXLmNHf/4B8nHH0dgypREiyPoAbpLPwndJOgNZL+fnGuvJfWMM6i8624q776b2ldeIe+2W/EfckiixRMIBIIBgyRJnDm+gAff+5aN1c0MzvAnWqRepyszen8GrgXeBTYCq/b1YZqm/RG4t8Nz/wZcBBwFHK5p2qHAmYBX1/UpwE3Ag/v6TMGBzfbf/x7CYXJuuCHRogh6hm7RT0I3CXobz7BhDH70nxQ89AeM6mrKL7yILbfcQqSmJtGiCQQCwYDhrEMLAHjli80JliQxdMXQK9d1/be6rj8GjAb+uh/P+xi4OprRNC0F8Oi6vlbXdQuYC8zA7li9A6Dr+mJg4n48U3CA0vL119S99hoZl38H95AhiRZH0DN0l34SuknQ60iSRMqJJzJ8zhwyrrySuldfY92JJ1HzwotYpplo8QQCgaDfU5juZ8rwTF75chOWZSVanF5nt66bmqZNxe44Xadp2u+dYhn4CTC2s5tqmvZd4LoOxVfouv6CpmnHxJWlAPVx+QZguFNeF1duaJqm6rouFjIIuoR9nMK9KFlZZF71w0SLI+hm9lU/Cd0k6IsoSQFyb7yBtLPOpOLOX1Nx++3Uvvwyebfdhm/smESLJxAIBP2asw8t4IaXvubz8homFmUkWpxepbM1ejVAHuAB8p0yE7hxTzd1Rtcf68Lz64HkuHwyUAv4O5TLoiMl2Bvq35xDy1dfkX/3XShJgUSLI+h+9kk/Cd0k6Mt4SkoY8vS/qH/jDSrvf4D1s2aRfuGFZF/7M5SUlESLJxAIBP2Skw7K57bXVvDyF5sOOENvt66buq4v13X9TuBIJ/4j8JCu629118N1Xa8HQpqmFWuaJgEzgQ+BRcDJENsQYVl3PVMw8DFbWtj24IN4RpeSeuaZiRZH0AP0tH4SukmQKCTp/9u77/ioqvSP45+ZFAIhlBAg0ov6KMi6KAK2teEKKKhYVkFFLIuLu/ZV0f3p2t0C2FZdFezYsYBg110EFdta14cFlKL0GpAkpPz+uDcakYSWzJ0M3/frlVcyd8r5ziRzcp+5554To/HAgXSe/CJNhwxh5eOPM7tff1Y999wOOexIRGR7NayXTr898pn0yULWF5dGHSehqiz0zGwvM/sYWGpmgwimL//AzAbUcIZzgEeBGcDH7v4e8CxQaGbTgTH8fKiVSJWWjx1HyaJF5F9xBbG0tKjjSC1IUP+kvkkik9aoEfl/upKOTz9FZps2LLx8JHNPPZXCmTOjjiYiUuec0KMtBUUlvPjZwqijJFR1QzdvAIa6+wYzux7oB8wCpgATt7VBd38LeKvS5XeB3hvdpoxgJ0tkq2xYuJDl991HTt++NOiheTJSWI33T+qbJBlldelC+8fGs3rCBJb8fRRfHzuI3NNOI+/cczUsXURkC/UszKn5AAAgAElEQVTulEunvGwemzGP4/duE3WchKlu1s24u39qZq2AbHf/KBzOpKnAJGktGTUayspoccklUUeR2qX+SXYYsXicJscfT6cpk2kyaBArHniAOUceyZqXX9FwThGRLRCLxTi5Zzs+nLsSX1QQdZyEqbbQC7/3BV4DMLN6/HQiApGk8f3HH7Nm0iRyzxhGZpvWUceR2qX+SXY46U2bstN119Lh8cdIy83l2/PPZ/4551C8YEHU0UREkt5xe7chMy3OYzPmRR0lYaobuvmamU0D2gIDzawzwRpVTyQkmchWKC8rY/FNN5PevDl5Z58ddRypfeqfZIdVf8896fjUk6x89FGW3nobc44aQN6IETQ7fSixzMyo40ktMbM4cCewJ1AEnOXusypdfyFwUnhxcjhRlYiEcrMz6btHPhM+WsBlfXejfmbqz+NQ3aybfwHOArq7+3/CzXe5+00JSSayFdZMnEjhp5/S/KKLiGfrvJVUp/5JdnSx9HRyhw6l0+QXaXjggSwdPZqvjzuO7z/4IOpoUnuOAbLcfV/gcmBUxRVm1gkYAuwH7Av82sx+EUlKkSQ2uFc71hSW8MIn30YdJSGqO6KHu/+30s+zgdm1nkhkK5WtW8eSUaPJ6taNxkcPjDqOJIj6JxHIyM+nze23UfDmmyy+7nrmnnIqjY8bRItLLiG9adOo40nNOgB4CYLJosys8oxj84G+7l4KYGYZQGHiI4okt14dc9ktP4f7p33DiT3aEovFoo5Uq6o7R0+kTlh2332ULFlCy5EjicX1Jy0iO56cQw6h06SJNDv7LFY//wJz+vVn1YRnNVlLamkErK50udTM0gHcfYO7LzOzmJn9nWBJGK3FIbKRWCzGGQd05KtFBbwze3nUcWqd9oqlTiueP58V4+6n0ZFH0mCv7lHHERGJTLxBA1pcfDEdJzxDZqdOLLziCuadehpFs2Zt/s5SF6zhpxNOxd29pOKCmWURrP2ZA4xIcDaROmPgnq1olp3JuGlfRx2l1qnQkzqrvLycRddeRywtjRaX/jHqOCIiSSFr111p/8jD7HT9dRT973/MOeZYloweQ9n69VFHk+0zDegPYGa9gc8qrjCzGPA88Im7D68YwikiP5eVkcaQ3u15/aslfL1sXdRxapUKPamzCl5+mXVTp9L8gvPJaNky6jgiIkmj8tp7jQcMYPk99zBnwEDW/vvfUUeTbfcsUGhm04ExwIVmdpGZDSSYqOUgoJ+ZvRV+7RtlWJFkdkrvdmTE44x9e07UUWpVtZOxiCSr0oICFt9wI1ldutB08OCo44iIJKX03Fxa3XQjjY89hkXXXMv83w4n54gjaHnFSH1AVse4exlwzkabv6r0c1YC44jUaS1ysjhu79Y8+cECzjt0F1o0Ss23j47oSZ209NbbKFm2jPxr/kwsXZ9XiIhUJ7tnTzo9O4HmF5zP2rfeYk7/I1nx0MOUl2qEn4jsmM45qDMlpWXcOzV1j+qp0JM6Z/1nn7Fy/Hiannwy9bt1izqOiEidEMvMJO+cc+g08QXqd+/O4htv5JsTTmT9Z59HHU1EJOHaN8vm6F+25tH35rFiXXHUcWqFCj2pU8qKivhu5EjS8/JofuEFUccREalzMtu1o+2999B6zGhKli7lmxNPZNF111NaUBB1NBGRhBpxcGe+Ly7l/hSdgVOFntQpy26/neJZs9nphutJy8nZ/B1ERORnYrEYjfr1o9PkF2k6ZAgrx49ndv/+rJk8WWvvicgOY5eWOfTvls+4t79m+dqiqOPUOBV6Umd8/9HHLB93P01OOJ6GBx4YdRwRkTovLSeH/D9dSYcnnySjeQu+vehi5p/9W4rnzYs6mohIQlx0uLF+Qyl3vJl6a46q0JM6oWz9ehaOHElGfj4tLrss6jgiIimlfrc96PDUk7S88krWf/wxcwYMZNldd1FWnJrnrYiIVNi5RUNO7NGWR9+dx/wV30cdp0ap0JM6Ycmo0RTPnctON95IWsOGUccREUk5sbQ0ck89hU6TJ9PwkENYeuttfH3Msax7b0bU0UREatUFfXYlFoMxr86MOkqNUqEnSW/Nq6+y8pFHaHrqqWT37hV1HBGRlJbRsgVtbhlD23v+SXlxMfOGDuW7yy6nZPnyqKOJiNSK/MZZDNu/I8/+51s+mb8q6jg1RoWeJLXiefNYeMWVZHXrRos/XhJ1HBGRHUbDX/2KThNfoNnw4ayePJnZ/Y9k5ZNPUl5WFnU0EZEad+4hnclrWI+rnv+csrLUmJRKhZ4krbKiIr694EKIxWg9ZgzxzMyoI4mI7FDi9evT4sIL6PTsBLJ22YVFV13N3MFDKHSPOpqISI3Kycrgyv6788mC1Tzxwfyo49SI9EQ1ZGaNgUeARkAmcJG7v2NmvYFbgRLgFXe/xsziwJ3AnkARcJa7p95UOFKtxTffTOGXX9Lmzn+Q2aZ11HEkRalvEtm8ejvvTLuHH2L1c8+z5K9/5etBx5E7dCjNzx1BPDs76ngiIjXi6F+2YvyMefz1pa/o2zWfptl1+yBDIo/oXQS87u4HAacD/wi33w0MBg4AepnZXsAxQJa77wtcDoxKYE5JAquefppVjz1O7hlnkHPooVHHkdSmvklkC8RiMZocewydJr9Ik0GDWDFuHLOPGkDBa69p7T0RSQmxWIxrj+5KQWEJV7/wRdRxtlsiC70xwD/Dn9OBQjNrBNRz99nuXg68DBxGsGP1EoC7vwv0SGBOidi6d99j4Z+vIXv//Wlx0YVRx5HUp75JZCukN23KTtddS/vxj5KWk8OC3/+BBSPOZcO330YdTURku+2W34jzDtuFFz75jimfLYw6znaplaGbZnYmsPEe+jB3f9/M8gmGSV1AMFRqTaXbFACdwu2rK20vNbN0dy+pjbySPIrmzGHB+eeT2aE9rW8ZQyw9YaOLZQegvkmk5jTYay86PvM0Kx56mKV33MHsowaQN+J3NDv9dGIZGVHHExHZZr87uDOvfrmYK5/7nH065pLXsF7UkbZJrexFu/tYYOzG282sG/A4cIm7/yv81Dyn0k1ygFVAg422x7Ujlfo2fPcd8848i1haGm3vuou0nJzN30lkK6hvEqlZsYwMmp15Bo369WXRjTeydNRo1rzwAvlXX02DHjrgLSJ1U0ZanFEn7slRt73NJU99wrih+xCPx6KOtdUSNnTTzLoATwGD3X0KgLuvAYrNrLOZxYAjgKnANKB/eL/ewGeJyinRKFm2jHlnnEnZ2rW0G3sfmW3bRh1JdhDqm0S2X0arVrS94w7a3PkPStetY+4pp/LdlVdSsnJl1NFERLbJri1z+L8BXXjLl3LXv2ZHHWebJPIcvZuALOBWM3vLzJ4Pt58DPArMAD529/eAZwnOk5lOcP6MTtRKYRuWLGHesGFsWLyYtv+8m6zdd486kuxY1DeJ1JCcQw+l86RJNDv7LFY//wJz+vVn1TPPaO09EamTTunVjoF7tmLUK870WcuijrPVEnYClLsfXcX2d4HeG20rI9jJkhS3YeFC5p0+jA1Ll9L2rrtosNdeUUeSHYz6JpGaFW/QgBYXX0yjAQNYdM21LLzyT6ya8Cz5V19F1q67Rh1PRGSLxWIxbhrUjS8XruHc8R8xYcT+dMyrO0vKaMF0iUzhzJl8M2QIJStW0G7sfWT37hV1JBERqSFZu+5K+4cfYqcbrqd41iy+HnQcS0aNouz776OOJiKyxbLrpXPfaT2IxWKcfv8Mlq8tijrSFlOhJ5FYO/Vt5p48GEpKaf/QgzTo3j3qSCIiUsNi8ThNjjuOTi9NofHRA1l+733MOWoABW+8GXU0EZEt1iEvm3tP68Gi1YWc9dAHrCuqG/OwqdCThCovK2PZPfcyf/hwMtq1o8OTT+icPBGRFJfetCmtbriB9o88TDy7AQtGjGD+73/Phu++izqaiMgW2bt9U249qTufLljNsPvfrxPFngo9SZiSFSuY/7vfsXT0aBr1PYL2Dz9MRn5+1LFERCRBGvToQcdnnqH5xRex7u1pzD5qAMvHjqN8w4aoo4mIbFbfPfK55Te/5MN5Kxl2//usTfJiT4WeJMSal19hzlED+H76O7S86v9oNWoUaQ3rzsmsIiJSM2KZmeSdfTadJk0iu2dPlvztb3x93PF8/9HHUUcTEdmsAXu2+qHYO+Hud1i0ujDqSFVSoSe1qnjePBb84Q98e/75ZOy0Ex2eeZrcwYOJxereopMiIlJzMtu0ps1dd9LmjtspLShg7uDBLPy/qyhdtSrqaCIi1RqwZyvGDu3BvOXrOPbOaXzx3eqoI22SCj2pFaUFBSz+69+Yc+RRrJ02neYXXkiHxx/T1NoiIvKDWCxGTp8+dJ40kdwzzmDVhAnM7tefVc8+R3l5edTxRESqdLC14Mlz9qW8HAbdOZ0n3p+XdP2WCj2pUSUrVrD0ttuZ3edwVtx/P40GDKDzlCnkDf8tsYyMqOOJiEgSimdn0/LSP9JxwjNktm/PwpEjmXfaUIpmz446mohIlbq2asyk8w6gR4emXPbMZ1zwxH9Y9X1x1LF+kLAF0yW1FfpMVj3xOKuemUB5URENDzuMvBG/o37XrlFHExGROiLLjPbjH2XV00+zZNRo5hxzLM2GDSPvnOHEGzSIOp6IyM/kNazHQ2f04o43ZnH7G/9j2qzlXHd0V/rukR/5qUoq9GSblSxfzpoXJ7P6ueco/PJLYhkZNDp6IM3OOIN6nTpFHU9EROqgWDxO0xNPJKdPH5b89W8sv+ceVj/3HC0uvohGAwYQi2swkogkl7R4jPP77EKfLi249OlP+d2jH7Ff52b86cgudGnVKLJcKvRki5WXlVE0cyZr3/oXa998k/Wffgrl5WR16ULLK66g0VFHkp6bG3VMERFJAem5ubS6+SaanHgii2+6ie8uu5wVj46n5cjLadC9e9TxRER+pmurxjx37v6Mf28eY16byZG3T6Vv13xGHLwz3do0TngeFXpSpdJVqyj8yin8/DO+/+BDvv/4Y8pWB7MKZXXrRt7vzyWnz+FkmSZYERGR2tFgr+50eOJx1kycyJJRo5l78mAa9e9P3rkjqNe5c9TxRER+IiMtztD9OnDML1tzz9TZPPTOXKZ8vogDds7jzAM6cuAueaSnJWZkggq9HVx5SQkbFi1iw/z5FM+fz4b58ymcOZMin0nJokU/3C6zY0ca/fpw6u+9N9n77UdGixYRphYRkR1JLB6n8dFHk9OnD8vHjmX5/Q+wZsoUcvr0Iff0odTv3l1DOkUkqTRukMEfj9iN4Qd1Zvx78xj79tcMe+B9mufUY1D31gzaqw27tmxYq+fxqdBLIeUlJZStW0dpwVrKCtZQWlBA2dq1lK5ZQ9maAkpWLKdk2TJKly6jZNmPX5SW/vggGRnU69iRBj33Ict2o54ZWV1215BMERGJXDw7m+bnnUfTU09lxUMPsfKRRyl49VUyWrWi4cEHU3+vvcjq2oXM1q2JZWZGHVdEhEZZGZxzUGfO2L8jb/oSnv5wAWPf/pp//nsO7XIbcOhuLTh0txbs0yGX+plpNdp2yhd6ZcXFFEyZQtn69T9urLTGxc/Wuygvh/KK7+VA8L18c9vLyjba9vPb/2R7aQnlJaWUl5ZCafC9vLQEftgWXl9W+sO28uJiygsLKSsqoryoiLKiQsoLi4JtxcVQUlL9i5GWRnpuLmnN80jPy6OeGenNm5PZri0ZbdqS2bYN6S1bEkur2T8yERGRmpTetCktzj+fvLPOouD111n94ousfu45Vo4fH9wgHic9vyXpzfJIa9yYtCZNSGvcmHiDBsTqZxHPqk9a06Y0PrK/CkIRSYjM9DhHdM3niK75LFtbxEufL+LNr5bw2Ix5PDD9G9LjMfZo3Zh9OjTlpJ7t6Ny84Xa3mfKFXpE73428IizEIhaL/fAVS08PCqq0tOB7eLnyz6TFiaVVul1mJvHsbNKaNSOeVY9YvSxi9TKJ18silhX8nJadTbxhDvFGOaTl5BBvmENaTkPiOTmkNW6sIk5ERFJGPDubxgMH0njgQMpLSih0p+h//2PDvPkUL5hP6YqVlK5eTfHcuZSuXh186LthQ3DntDTq7bIL9ffQMkAiklh5DetxSu/2nNK7PeuLS3n36+W8//UK3v9mBQ9On8vaohJuGvSL7W4n5Qu9+t26sev0aZRXdOwVKo+H3XhsbEVBBsG42Y2/iIXfwsvxeFC8Vb5v5aIu4jU0REREUl0sPZ36Xbtudv3W8g0bKCsqgvJy0nJyEpRu+5lZHLgT2BMoAs5y91mVrj8bGA6UANe7+6RIgorIVqmfmcYh1oJDLJj/orikjIy0mqkdUr7QA0hr0iTqCCIiIpIEYhkZpGVkRB1jWxwDZLn7vmbWGxgFHA1gZvnAeUAPIAt428xedfeiyNKKyDbJTK+5iaU0RZWIiIhI8jsAeAnA3d8lKOoq9ASmuXuRu68GZgHbP+5LROo0FXoiIiIiya8RsLrS5VIzS6/iugIg8aszi0hSSdjQTTPLBsYDucA64FR3XxoOP7iVYEz5K+5+zebGoYuI1BT1TSJSR6wBKp9UGHf3kiquywFWJSqYiCSnRB7ROxv40N0PBB4H/hRuvxsYTDAkoZeZ7UWlcejA5QTj0EVEaoP6JhGpC6YB/QHCD6I+q3TdDOBAM8sys8bA7sDniY8oIskkYYWeu98C3BBebAcsNrNGQD13n+3u5cDLwGFUPw5dRKTGqG8SkTriWaDQzKYDY4ALzewiMxvo7ouA24CpwBvAle5eGGFWEUkCtTJ008zOBC7caPMwd3/fzN4AugGHE4wpX1PpNgVAJ6oYh15piIKIyFZT3yQidZW7lwHnbLT5q0rX3wvcm9BQIpLUaqXQc/exwNgqrjvUzHYDXgS6s+kx5Q2oehw6QBrAokWLajK2iESo0vs5rbbaSEDfBOqfRFJOIvqnBFDfJJJiNtc3JXIylpHAAnd/mGDCg1J3X2NmxWbWGZgDHAFcA7QBBgBPbmIcOsBOAEOGDElUfBFJnJ2A2YlqrIb7JlD/JJLKEto/1TD1TSKpa5N9UyIXTB8HPBgOnUoDhoXbzwEeDbe94u7vmdn7wOHhOPRYpdtWeB84EFgIlCYivIjUujSCjur9BLdbk30TqH8SSUVR9U81SX2TSOqptm+KlZeXJzaOiIiIiIiI1CotmC4iIiIiIpJiVOiJiIiIiIikmESeoycissMxszhwJ7AnUASc5e6zKl1/NjAcKAGud/dJkQStZAsyXwicFF6c7O7XJD7lT20uc6XbvAg87+53Jz7lT23B69wPuDq8+BFwbriuY2S2IPMlwMlAGXCjuz8bSdBNMLNewF/c/eCNtg8AriJ4D44LlykQEanzduhCz8wOA4YSTJl+nbt/EkGGQ4HB7n5WAtvcj2DHEuB8d1+VqLYrZUj4867UdqS/dzPbG7gY2ABc6u6LE9l+mKEFwQ56whf8NrNfEizsOwd40N3fTHSGBDsGyHL3fcOZOkcBRwOYWT5wHsHC61nA22b2qrsXRZY2UF3mTsAQoBdQDkw1s2fd/dPI0gaqzFzJ9UBuwpNVrbrXOQf4G3Cwuy8zs0uBPGBpZGkD1WVuQvD3vDOQDfyHYJHvyIWv36kEM+tW3p5BsPj4PuF108xsYrgAuWxC1P9Dwwzad0p829p3qoP7Tjv60M0GBH+0NwC/TnTjZrYzsBfBDl4i/ZagsxoL/CbBbUf5vCtE+nsneN4jCI4s7Jvoxs0sBlwKzE1026GewCKCWd++iChDIh0AvATg7u8SFHUVegLT3L3I3VcDs4BfJD7iz1SXeT7Q191LwwWcM4DCxEf8meoyY2bHExxlmpL4aFWqLvN+BMt3jDKzqcBid4+6yIPqM68j6Feyw6+yhKer2mxg0Ca27w7McveV7l4MvE0wM6VUTftO2nfSvlPibdO+0w5V6JnZBWY2Kfy60t0nEvzhngc8GEH7s9z977Xd7iakuXshwRTLOyW68Qifd0X7Cf29b6L9aUAX4BLg40S3z4/LBqyPoG0IdqTOBv5C8BqkukbA6kqXS80svYrrCoDGiQpWjSozu/uG8AhTzMz+Dnzs7jMjSflTVWY2sz2AwQTD85JJdX8becAhwGVAP+ACM9s1wfk2pbrMEHwQ8CXBUNPbEhmsOu7+DMGRgI0l63swaWjf6Qfad9K+U53bd9qhhm66+y3ALRWXzawZwQt2lbsvSXT7EfrezOoRdFQ73PCURP/eN9H+PsAHBDtvI0l8sXM4wfk1Pc3sBHd/KsHt/5LgH+VKdow+aA2QU+ly3N1LqrguB0j4cKBNqC4zZpZFsP5gAcEnrMmgusynAa2BN4AOQLGZfePuLyU24s9Ul3k58H7FEEIz+zfBeyfqorq6zP0I/q90DC+/bGbT3H1GIgNupWR9DyYN7Tv9QPtO2neqc/tOKbOTVfkk6y05KT80BmgO3GRmz7n70wluv8ZtYY57gH8SDLkaXuWD1V77tWYL26+x3/s2tt+IYCc5BtxeU21vafvuPii87SM13VFt4fP/huB5bwAin8QjAaYBA4Anw3OaPqt03QzghrBwqkcwjOzzxEf8mSozh8NXngfecPe/RJRvU6rM7O6XVvxsZn8GFiVBkQfV/218COxhZnkEhUdvIBkmCaku80qCT7uL3L3czFYBTSLIuDX+C+xiZrnAWuBXQGRHTRJN+05blUP7Ttp3qnP7TilR6G3iJOstOSkfdz8tyvYr5TglkTnc/UPg9Jpoc1var7h9TT3vrW2/pn7v29H+68DrUbVfcfsIX//pwPSabDvJPQscbmbTCf5BDTOziwjOC3rBzG4DphIMpb8yHBoUtSozA2nAQUA9C2aFBBjp7u9EE/UH1b7O0Uar0ub+NkYCL4e3fdLdk+FDgM1l7gO8a2ZlBEONXo0wa5XMbDDQ0N3vCfO/TPAeHOfu30abLjG077R1ObTvpH0nqHv7TilR6PHjSdYPh5d/crK4mdX27DhRt58sOdS+2k+G90FS8WDCknM22vxVpevvJTmO1Pxgc5mJbjKAKm1B5orb/TkhgbbAFvxtPA48ntBQm7EFma/mxyUhkoq7f0NwZBR3H19p+0RgYkSxohR1nx11+8mSQ+2r/VprPyUmY/Gfn2S9uZPFU6r9ZMmh9tV+lO2LiMiWi7rPjrr9ZMmh9tV+bbafEoXeJlQ7kcAO0H6y5FD7aj8Z3gciIrJ5UffZUbefLDnUvtqvsfZTtdCbBvQH2MTJ4jtC+8mSQ+2r/WR4H4iIyOZF3WdH3X6y5FD7ar/G2k/VYVQ/O1l8B2s/WXKofbWfDO8DERHZvKj77KjbT5Ycal/t11j7sfLy8hpJJSIiIiIiIskhVY/oiYhILTGzg4HngG7uPj/cdjPwlbs/UIvtdgAed/feZvY4cJq7F2/jY70LnBTOxFix7QFgL2AFwSepzYBR7n6/mV1OsHbgjEq3zyJ4zh227RltPzPrCdwPvAC8B1xPsN7XwRXrPm3iPrcAo9193la0kwWc4u73bX9qERFJBBV6IiKyLYqB+83scHdP+NAQdz+plh76Ug8XU7dgEe0vzOwBd7+5ltrbXr8G7nb3283sPoI1DScCt1V1B3e/YBvayQfOAlToiYjUESr0RERkW7xBMKHXucAdla8ws4uBk4AS4N/ufpmZ/RnYD2gInAk8AMwHOhCsFbcH0B140d2vMLOD+HE9tgbAaQTFZUUb3wC7AbcCFm7uEeZ5g+CoVhZQCPzW3eeb2Q1A37DdvC14jvlAobuXh0f7HidYBPxRoCnBAvIVeXoC/wAKgCXh/U43sz8Ag4FygqORPynAzOyoSs/zY4I16g4jODJXCCwHznD3VWZ2E/Argtd9NDCXoPgqNrM1wFFATzNbBjzr7vlm1it8jWLAt8AQYErYzkJgLMGRS4Dz3P0zM/sfwYQABiwGjgOuBLqY2VUEixaPIpgSfCUwxN0LtuD1FBGRBErVWTdFRKT2/Q640Mx2qdhgZt2AEwmKuv2AXcJiBuC/7r4fsB7oRFDwHQVcB1wE9Aq3AXQlGCp4KMGwxBM2FcDdh7v7wcBjBCexPwT8HbjN3Q8Jf77ZzPYgKJL2ISgaczb1eMBfzWyqmc0jKKY2bvd04HN3/xXwz0rb7wZOD/PODl+LLsBvCBbAPQA4xswqilLCtZHuAI50932ABUBbgiJ1kLsfBPwL+JOZ9QM6uvv+wCEEhddMgoJ5tLs/SLDI7qXu/k6lXPcAw9y9F/AasHul664AXg9fp98Cd4XbOwH/5+77As3D1+wG4Et3vxY4BpgAHASMIyh6RUQkyajQExGRbeLuy4ELCIqNiv8nuwHvuvuGcEjnVIKiDcAr3X2Ou68GVgGL3X2FuxcSHPmC4OjTbeGRtEOAjKpymNmJwNEER77KgW7AFWb2FnAV0CLM8IG7l7n7GqqesvpSdz+Q4IhXa8KirZKuwIzw+b/HjwvdtnL3L8Kfp4bf9wDaExwBe4PgyNnOlR4rD1jp7kvCx7sW+B5Y4+7fhrf5d9hmN2Dv8Dm9FL4e7at6TSpp6e7/DR//Tnf/qNJ13YAzwse8lx8LtmUV514SHP3M2ugxbyR4TV8Hjueni/2KiEiSUKEnIiLbLDwfzAmOdAF8BfQys3QzixEcRZsZXldW6a6bO6/vPoIjUacD3xEMPfwZM+sL/AE4wd0rCo6vgMvCI33DgafDjD3NLG5m2UCXzTyvyQQTztyz0VVfAfuGbXfnxwJ0fngED6B3xcMAXwCHhFke4KcF5hKgSXguIGZ2G8HRtEZmtlN4m4MIXr+vgDfDxzkUeBKYU91zCH1XccTVzC4zs2M3ei5jwsc8kWBIKmz6d1PGj/sMQ4AHwiOBXxAcDRQRkSSjQk9ERLbXBQTDMXH3zwiKkGkER76+ISiYttbDwHtmNo1gmGWrKm73DEGxNcnM3jKzi4BLgKvN7F8EQ3SnPNkAAAKiSURBVDk/dff/AE8B7xOca7dkCzJcB+xuZkdW2vYPoLWZvU1wPmBRuH0EMM7MXgN6Ahvc/ROCo15vm9kHwC4ERyoBcPey8H4vho8XI3jNzgYmhM+9T5hjIrDWzKYCHwLlW3he3PAw178IzoGcXOm6G4ATKx0l/Lyax1kCZJrZXwhewwfDxzyU4DUWEZEko3X0pNaZ2enAbu5++TbctwPhdOrV3KYvwTTpp29rRhGR7WFm5wJPuvtSM7seKA6HYoqIbDXtO0lN0KybIiIi228x8IqZrQVWA0MjziMiIjs4HdGTWlfxqRTBeR89CIZh/dfdh4VTru9MMClBLnAnwVTeuxLsKC0iGPr0BcHJ/y+6+3VmtjvBbG/rwq+V4VTmvwcGEQzlWk0wc902LagsIiIiEgXtO0lN0Dl6kiiZBB3K4QRTrvc2s9bhdevdvS/BdN393X0AcDPBOlwQrLt1KrA/0M/M9iQ4Z+Uqd+8DTAcwszjBrHZ9wlnzMgimBRcRERGpa7TvJNtFQzclUcqBFmb2GLCWoAOqmK2uYrrvVcCX4c8r+XFK70/CadgxsxkEn1j9MMU5waQPu7t7mZkVA4+Fw6faUM2U7CIiIiJJTPtOsl10RE8S5RCgrbufTLBIb31+nC59c+OHdzezhuHiwr0IhiL8MMU54SdPZvYL4Bh3/w3BdOtxqpiSXURERCTJad9JtouO6EmizCBY7PddgunI51D1dOkbWwE8ATQHnnD3L81sBPCEmf0RWAoUArOAdeE05kXAwq1oQ0RERCSZaN9JtosmYxEREREREUkxGropIiIiIiKSYlToiYiIiIiIpBgVeiIiIiIiIilGhZ6IiIiIiEiKUaEnIiIiIiKSYlToiYiIiIiIpBgVeiIiIiIiIinm/wHDaQPRWk0OEQAAAABJRU5ErkJggg==\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(15,4))\n",
"\n",
"# get the four largest (in abs value) coefficient positions\n",
"ind = np.argpartition(np.abs(coefs[-1]), -4)[-4:]\n",
"\n",
"# firt plot\n",
"ax1.plot(lambdas, coefs)\n",
"ax1.set_xscale('log')\n",
"ax1.set_xlabel('lambda')\n",
"ax1.set_ylabel('Standardized Coefficients')\n",
"ax1.legend(np.array(ax1.get_lines())[ind], X.columns[ind])\n",
"\n",
"# second plot\n",
"no_ridge_norm = linalg.norm(coefs[-1])\n",
"norm_coefs = linalg.norm(coefs/no_ridge_norm, axis=1)\n",
"ax2.plot(norm_coefs, coefs)\n",
"ax2.set_xlabel('Normalized Ridge coefficients')\n",
"ax2.set_ylabel('Standardized Coefficients')\n",
"ax2.legend(np.array(ax2.get_lines())[ind], X.columns[ind]);\n",
"\n",
"# third\n",
"ax3.plot(lambdas, scores)\n",
"ax3.set_xscale('log')\n",
"ax3.set_xlabel('lambda')\n",
"ax3.set_ylabel('R^2')\n",
"ax3.set_title('R^2 as a function of regularization');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 6.2.2 The Lasso"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"n_lambdas = 200\n",
"lambdas = np.logspace(3, 0.5, n_lambdas)\n",
"\n",
"coefs = []\n",
"scores = []\n",
"for lam in lambdas:\n",
" lasso = Lasso(alpha=lam)\n",
" lasso.fit(X_scaled, y)\n",
" coefs.append(lasso.coef_)\n",
" scores.append(lasso.score(X_scaled, y))"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(15,4))\n",
"\n",
"# get the four largest (in abs value) coefficient positions\n",
"ind = np.argpartition(np.abs(coefs[-1]), -4)[-4:]\n",
"\n",
"# firt plot\n",
"ax1.plot(lambdas, coefs)\n",
"ax1.set_xscale('log')\n",
"ax1.set_xlabel('lambda')\n",
"ax1.set_ylabel('Standardized Coefficients')\n",
"ax1.legend(np.array(ax1.get_lines())[ind], X.columns[ind])\n",
"\n",
"# second plot\n",
"no_lasso_norm = linalg.norm(coefs[-1], ord=1)\n",
"norm_coefs = linalg.norm(coefs/no_lasso_norm, axis=1, ord=1)\n",
"ax2.plot(norm_coefs, coefs)\n",
"ax2.set_xlabel('Normalized Lasso coefficients')\n",
"ax2.set_ylabel('Standardized Coefficients')\n",
"ax2.legend(np.array(ax2.get_lines())[ind], X.columns[ind]);\n",
"\n",
"# third\n",
"ax3.plot(lambdas, scores)\n",
"ax3.set_xscale('log')\n",
"ax3.set_xlabel('lambda')\n",
"ax3.set_ylabel('R^2')\n",
"ax3.set_title('R^2 as a function of regularization');\n",
"\n",
"# the values for lambda are different here than in the text\n",
"# most likely the function that is minimized is a bit different in scikit-learn and R\n",
"# there's probably a factor of N or 2N (N=len(y)) difference."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 6.2.3 Selecting the Tuning Parameter"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"lambdas = np.logspace(0.5, -4, 100)\n",
"ridgeCV = RidgeCV(alphas=lambdas, store_cv_values=True)\n",
"ridgeCV.fit(X_scaled, y)\n",
"MSE_alphas = np.mean(ridgeCV.cv_values_, axis=0)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(1, 1, figsize=(5,4))\n",
"ax.plot(lambdas, MSE_alphas)\n",
"ax.axvline(ridgeCV.alpha_, color='k', linestyle='--')\n",
"ax.set_xscale('log')\n",
"ax.set_xlabel('lambda')\n",
"ax.set_ylabel('CV MSE');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 6.3 Dimension Reduction Methods"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 6.3.1 Principal Components Regression"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"components = list(range(1, X_scaled.shape[1]+1))\n",
"coefs = []\n",
"scores = []\n",
"for comp in components:\n",
" pca = PCA(n_components=comp)\n",
" X_pca_comp = pca.fit_transform(X_scaled)\n",
" # use the first comp components\n",
" #X_pca_comp = X_pca[:, 0:comp+1]\n",
" linear = LinearRegression(fit_intercept=False)\n",
" linear.fit(X_pca_comp, y)\n",
" coefs.append(linear.coef_)\n",
" scores.append(linear.score(X_pca_comp, y))"
]
},
{
"cell_type": "code",
"execution_count": 382,
"metadata": {},
"outputs": [],
"source": [
"coefs = np.array(list(itertools.zip_longest(*coefs, fillvalue=0))).T"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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adOmsXbtWsBJct59911mz55NVVUVq1ev5tJLL+X000/nggsuYNq0aXTp0oWpU6dSVlZGOBzm7rvv5o033qBHjx5s3bqVbdu2MW3aNMrKyjj11FMZP348K1as4O677+Yf//hHk7G98MILTJgwgb59+/Lqq68yefJkqqurufbaawkEAlRVVfHzn/+cMWPGcNhhhzFnzhwWLFiwPTGrqqri7rvvJj09nRtvvJE+ffqwZs0a9t9/f26//fZWfMomniTHz0tFWyirC9LJ17FHVBrTnoVCYW58fhFrt1Ty7E/H0quTP9EhmTbUZDKmqkuAJSLyf6q6TkS6AEF35FCzGhuZVO/YMSKSD7yJ0+RZv+dhZORRdoP93pYkYok2b948Lrjggu2vjzrqKE477TR69OjBAQccAMAZZ5zBqFGjmDp1KnPmzAEgEAgwY8YMVq5cyeWXX/69mq9jjjmG8847j7lz5/Lll19uP3bFFVfw1FNPMW3aNObNm8ezzz7L+PHjefHFFznzzDObjDMQCLBw4UJ+//vfM2zYMK688komT57M6tWr2bhxI4899hibNm1i5cqVO11XUFDAH//4R3r37s3DDz/MrFmzOPXUU1m5ciUzZswgKyuL4447jpKSEnr27NkWH6mJkUgn/uXlVYzsnJPgaIwxTXlo9gr++3URvzl1X0YP7tiz1aei5popR+AkVIeIyOk4nVm3ishNqvpGSwsSkV8Aa1X1SZwO/EFVLRWRGncm629wJpe9HegPnAo87/YZW9zUfZuSM7J1tVhtoalmyvr2289p6e3RowdVVU6fnfx8p/2/b9++1NTU7HT+t99+uz2xGjduXKP3BBgzZgx33HEHmzZtYs6cOdxwww1Nxvn6668TCoW47LLLACgpKWHu3LmMGzeO888/nxtuuIG6urqdEkuA3r17c8cdd5CdnU1RUREjRowAYODAgdubOXv27El1dXWTZZv2YfsalZaMGdNufVhQwj1vKz88sB8/PnRwosMxMdBcM+UdOGux1bqjg07CGbY9E2hxMgY8ijPCaArOOm4Xu/svB552972tqvNF5BPgeBH5GGeU0sWN3TCZeDweQqHQTq8bO6cpQ4YMYfHixeTn5/PJJ5/wwQcf4PfvqKYOuyuwejweTj31VO644w4OO+ww0tObnnvmxRdf5OGHH2bYsGGAk5w9/fTTdOvWjfLy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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10,4))\n",
"\n",
"# get the four largest (in abs value) coefficient positions\n",
"ind = np.argpartition(np.abs(coefs[-1]), -4)[-4:]\n",
"\n",
"# firt plot\n",
"ax1.plot(components, coefs)\n",
"ax1.set_xlabel('Number of PCA components')\n",
"ax1.set_ylabel('Standardized Coefficients')\n",
"ax1.legend(np.array(ax1.get_lines())[ind], X.columns[ind])\n",
"\n",
"# third\n",
"ax2.plot(components, scores)\n",
"ax2.set_xlabel('Number of PCA components')\n",
"ax2.set_ylabel('R^2')\n",
"ax2.set_title('R^2 as a function of regularization');\n",
"\n",
"# i'm not sure what Figure 6.20 is displaying\n",
"# this is not the same"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 6.5 Lab 1: Subset Selection Methods"
]
},
{
"cell_type": "code",
"execution_count": 93,
"metadata": {},
"outputs": [],
"source": [
"df_hitters = pd.read_csv('Data/Hitters.csv', index_col=0).dropna()\n",
"df_hitters.index.name = 'Player'\n",
"df_hitters.index = df_hitters.index.map(lambda x: x.replace('-', '', 1))\n",
"df_hitters[\"League\"] = df_hitters[\"League\"].astype('category')\n",
"df_hitters[\"Division\"] = df_hitters[\"Division\"].astype('category')\n",
"df_hitters[\"NewLeague\"] = df_hitters[\"NewLeague\"].astype('category')"
]
},
{
"cell_type": "code",
"execution_count": 94,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" AtBat | \n",
" Hits | \n",
" HmRun | \n",
" Runs | \n",
" RBI | \n",
" Walks | \n",
" Years | \n",
" CAtBat | \n",
" CHits | \n",
" CHmRun | \n",
" CRuns | \n",
" CRBI | \n",
" CWalks | \n",
" League | \n",
" Division | \n",
" PutOuts | \n",
" Assists | \n",
" Errors | \n",
" Salary | \n",
" NewLeague | \n",
"
\n",
" \n",
" Player | \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",
" Alan Ashby | \n",
" 315 | \n",
" 81 | \n",
" 7 | \n",
" 24 | \n",
" 38 | \n",
" 39 | \n",
" 14 | \n",
" 3449 | \n",
" 835 | \n",
" 69 | \n",
" 321 | \n",
" 414 | \n",
" 375 | \n",
" N | \n",
" W | \n",
" 632 | \n",
" 43 | \n",
" 10 | \n",
" 475.0 | \n",
" N | \n",
"
\n",
" \n",
" Alvin Davis | \n",
" 479 | \n",
" 130 | \n",
" 18 | \n",
" 66 | \n",
" 72 | \n",
" 76 | \n",
" 3 | \n",
" 1624 | \n",
" 457 | \n",
" 63 | \n",
" 224 | \n",
" 266 | \n",
" 263 | \n",
" A | \n",
" W | \n",
" 880 | \n",
" 82 | \n",
" 14 | \n",
" 480.0 | \n",
" A | \n",
"
\n",
" \n",
" Andre Dawson | \n",
" 496 | \n",
" 141 | \n",
" 20 | \n",
" 65 | \n",
" 78 | \n",
" 37 | \n",
" 11 | \n",
" 5628 | \n",
" 1575 | \n",
" 225 | \n",
" 828 | \n",
" 838 | \n",
" 354 | \n",
" N | \n",
" E | \n",
" 200 | \n",
" 11 | \n",
" 3 | \n",
" 500.0 | \n",
" N | \n",
"
\n",
" \n",
" Andres Galarraga | \n",
" 321 | \n",
" 87 | \n",
" 10 | \n",
" 39 | \n",
" 42 | \n",
" 30 | \n",
" 2 | \n",
" 396 | \n",
" 101 | \n",
" 12 | \n",
" 48 | \n",
" 46 | \n",
" 33 | \n",
" N | \n",
" E | \n",
" 805 | \n",
" 40 | \n",
" 4 | \n",
" 91.5 | \n",
" N | \n",
"
\n",
" \n",
" Alfredo Griffin | \n",
" 594 | \n",
" 169 | \n",
" 4 | \n",
" 74 | \n",
" 51 | \n",
" 35 | \n",
" 11 | \n",
" 4408 | \n",
" 1133 | \n",
" 19 | \n",
" 501 | \n",
" 336 | \n",
" 194 | \n",
" A | \n",
" W | \n",
" 282 | \n",
" 421 | \n",
" 25 | \n",
" 750.0 | \n",
" A | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" AtBat Hits HmRun Runs RBI Walks Years CAtBat CHits \\\n",
"Player \n",
"Alan Ashby 315 81 7 24 38 39 14 3449 835 \n",
"Alvin Davis 479 130 18 66 72 76 3 1624 457 \n",
"Andre Dawson 496 141 20 65 78 37 11 5628 1575 \n",
"Andres Galarraga 321 87 10 39 42 30 2 396 101 \n",
"Alfredo Griffin 594 169 4 74 51 35 11 4408 1133 \n",
"\n",
" CHmRun CRuns CRBI CWalks League Division PutOuts \\\n",
"Player \n",
"Alan Ashby 69 321 414 375 N W 632 \n",
"Alvin Davis 63 224 266 263 A W 880 \n",
"Andre Dawson 225 828 838 354 N E 200 \n",
"Andres Galarraga 12 48 46 33 N E 805 \n",
"Alfredo Griffin 19 501 336 194 A W 282 \n",
"\n",
" Assists Errors Salary NewLeague \n",
"Player \n",
"Alan Ashby 43 10 475.0 N \n",
"Alvin Davis 82 14 480.0 A \n",
"Andre Dawson 11 3 500.0 N \n",
"Andres Galarraga 40 4 91.5 N \n",
"Alfredo Griffin 421 25 750.0 A "
]
},
"execution_count": 94,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_hitters.head()"
]
},
{
"cell_type": "code",
"execution_count": 126,
"metadata": {},
"outputs": [],
"source": [
"X = df_hitters[df_hitters.columns.difference(['Salary'])]\n",
"X = pd.get_dummies(X, drop_first=True)\n",
"y = df_hitters['Salary']"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 6.5.1 Best Subset Selection"
]
},
{
"cell_type": "code",
"execution_count": 88,
"metadata": {},
"outputs": [],
"source": [
"# we could also use Exhaustive Feature Selector from mlxtend\n",
"# http://rasbt.github.io/mlxtend/user_guide/feature_selection/ExhaustiveFeatureSelector/\n",
"def best_subset(estimator, X, y, max_size=8, cv=5):\n",
" n_features = X.shape[1]\n",
" subsets = (combinations(range(n_features), k + 1) for k in range(min(n_features, max_size)))\n",
"\n",
" best_size_subset = []\n",
" for subsets_k in subsets: # for each list of subsets of the same size\n",
" best_score = -np.inf\n",
" best_subset = None\n",
" for subset in subsets_k: # for each subset\n",
" estimator.fit(X.iloc[:, list(subset)], y)\n",
" # get the subset with the best score among subsets of the same size\n",
" score = estimator.score(X.iloc[:, list(subset)], y)\n",
" if score > best_score:\n",
" best_score, best_subset = score, subset\n",
" # to compare subsets of different sizes we must use CV\n",
" # first store the best subset of each size\n",
" best_size_subset.append(best_subset)\n",
" \n",
" # compare best subsets of each size\n",
" best_score = -np.inf\n",
" best_subset = None\n",
" list_scores = []\n",
" for subset in best_size_subset:\n",
" score = cross_val_score(estimator, X.iloc[:, list(subset)], y, cv=cv).mean()\n",
" list_scores.append(score)\n",
" if score > best_score:\n",
" best_score, best_subset = score, subset\n",
"\n",
" return best_subset, best_score, best_size_subset, list_scores"
]
},
{
"cell_type": "code",
"execution_count": 75,
"metadata": {},
"outputs": [],
"source": [
"# very slow!, results are given below\n",
"#lm = LinearRegression()\n",
"#best_subset(lm, X, y, max_size=8, cv=5)"
]
},
{
"cell_type": "code",
"execution_count": 76,
"metadata": {},
"outputs": [],
"source": [
"# results of best_subset(lm, X, y, max_size=8, cv=5)\n",
"best_subset, best_score, best_size_subset, list_scores = (\n",
" (1, 5, 9, 11, 14, 16), \n",
" 0.41901698933468134,\n",
" [(5,),\n",
" (5, 9),\n",
" (5, 9, 11),\n",
" (5, 9, 11, 16),\n",
" (1, 5, 9, 11, 16),\n",
" (1, 5, 9, 11, 14, 16),\n",
" (2, 3, 4, 9, 11, 14, 16),\n",
" (1, 4, 6, 7, 9, 11, 14, 16)],\n",
" [0.2814147499343555,\n",
" 0.3666886710091333,\n",
" 0.364425331129966,\n",
" 0.37839204327295717,\n",
" 0.39425582486482524,\n",
" 0.41901698933468134,\n",
" 0.39758595297949645,\n",
" 0.40534090030548126])"
]
},
{
"cell_type": "code",
"execution_count": 78,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1 ['CRBI']\n",
"2 ['CRBI' 'Hits']\n",
"3 ['CRBI' 'Hits' 'PutOuts']\n",
"4 ['CRBI' 'Hits' 'PutOuts' 'Division_W']\n",
"5 ['AtBat' 'CRBI' 'Hits' 'PutOuts' 'Division_W']\n",
"6 ['AtBat' 'CRBI' 'Hits' 'PutOuts' 'Walks' 'Division_W']\n",
"7 ['CAtBat' 'CHits' 'CHmRun' 'Hits' 'PutOuts' 'Walks' 'Division_W']\n",
"8 ['AtBat' 'CHmRun' 'CRuns' 'CWalks' 'Hits' 'PutOuts' 'Walks' 'Division_W']\n"
]
}
],
"source": [
"# same results as the book\n",
"for subset in best_size_subset:\n",
" print(len(subset), X.columns[list(subset)].values)"
]
},
{
"cell_type": "code",
"execution_count": 86,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"