Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save mikewlange/e23abda09335bfd5982cdd9712ef229e to your computer and use it in GitHub Desktop.
Save mikewlange/e23abda09335bfd5982cdd9712ef229e to your computer and use it in GitHub Desktop.
e23abda09335bfd5982cdd9712ef229e
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"celltoolbar": "Initialization Cell",
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python",
"version": "3.6.9",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"toc": {
"nav_menu": {},
"number_sections": false,
"sideBar": false,
"skip_h1_title": false,
"base_numbering": 1,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": false,
"toc_window_display": false
},
"varInspector": {
"window_display": false,
"cols": {
"lenName": 16,
"lenType": 16,
"lenVar": 40
},
"kernels_config": {
"python": {
"library": "var_list.py",
"delete_cmd_prefix": "del ",
"delete_cmd_postfix": "",
"varRefreshCmd": "print(var_dic_list())"
},
"r": {
"library": "var_list.r",
"delete_cmd_prefix": "rm(",
"delete_cmd_postfix": ") ",
"varRefreshCmd": "cat(var_dic_list()) "
}
},
"types_to_exclude": [
"module",
"function",
"builtin_function_or_method",
"instance",
"_Feature"
]
},
"gist": {
"id": "",
"data": {
"description": "/Pictures/MLTOOLING/ml-workspace/gpu-flavor/Demos/interpret/examples/python/notebooks/Fannie Mae Single-Family Historical Loan Performance 2016-2018.ipynb",
"public": true
},
"public": false,
"description": "/Pictures/MLTOOLING/ml-workspace/gpu-flavor/Demos/interpret/examples/python/notebooks/Fannie Mae Single-Family Historical Loan Performance 2016-2018.ipynb.ipynb",
"extension": ".ipynb"
},
"colab": {
"name": "e23abda09335bfd5982cdd9712ef229e",
"provenance": [],
"collapsed_sections": [],
"include_colab_link": true
},
"accelerator": "GPU"
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/mikewlange/e23abda09335bfd5982cdd9712ef229e/notebook.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "code",
"metadata": {
"trusted": true,
"id": "2lzCZiuwkRZ-",
"colab_type": "code",
"colab": {},
"outputId": "52972d9a-da5c-4e86-9661-ac539933f883"
},
"source": [
"!jupyter labextension install dask-labextension"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"Building jupyterlab assets (build:prod:minimize)\n",
"\\"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "iFO823_Dl_9G",
"colab_type": "code",
"colab": {}
},
"source": [
"import os\n",
"\n",
"os.environ[\"MODIN_ENGINE\"] = \"dask\" # Modin will use Ray\n",
"# os.environ[\"MODIN_ENGINE\"] = \"dask\" # Modin will use Dask\n",
"\n",
"import modin.pandas as pd\n",
"\n",
"# featuretools for automated feature engineering\n",
"import featuretools as ft\n",
"from beakerx import *"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"start_time": "2019-11-30T20:41:12.281327Z",
"end_time": "2019-11-30T20:41:12.286783Z"
},
"init_cell": true,
"trusted": true,
"id": "I4RQT50_kRaE",
"colab_type": "code",
"colab": {}
},
"source": [
"import numpy as np\n",
"import h5py\n",
"import torch\n",
"from torch.utils.data import Dataset\n",
"from torch.utils.data import DataLoader"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"start_time": "2019-11-30T20:41:12.295668Z",
"end_time": "2019-11-30T20:41:12.304245Z"
},
"init_cell": true,
"trusted": true,
"id": "tPT84WgSkRaG",
"colab_type": "code",
"colab": {}
},
"source": [
"DATA_DIR = \"Housing\"\n",
"OUT = \"./\"\n",
"TARGET = \"foreclosure_status\"\n",
"NON_PREDICTORS = [TARGET, \"id\"]\n",
"MINIMUM_TRACKING_QUARTERS = 7"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"start_time": "2019-11-30T20:41:12.308424Z",
"end_time": "2019-11-30T20:41:12.325377Z"
},
"init_cell": true,
"trusted": true,
"id": "XUbdBGnckRaJ",
"colab_type": "code",
"colab": {},
"outputId": "17f56869-5a42-4f1d-c203-fb438335eaca"
},
"source": [
"# IMPORTING LIBRARIES\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from PIL import Image\n",
"\n",
"%matplotlib inline\n",
"import pandas as pd\n",
"import seaborn as sns\n",
"import itertools\n",
"import warnings\n",
"\n",
"warnings.filterwarnings(\"ignore\")\n",
"from wordcloud import WordCloud, STOPWORDS\n",
"import io\n",
"import base64\n",
"from matplotlib import rc, animation\n",
"import folium\n",
"import folium.plugins\n",
"import plotly.offline as py\n",
"\n",
"py.init_notebook_mode(connected=True)\n",
"import plotly.graph_objs as go\n",
"import plotly.tools as tls\n",
"import os"
],
"execution_count": 0,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/html": [
" <script type=\"text/javascript\">\n",
" window.PlotlyConfig = {MathJaxConfig: 'local'};\n",
" if (window.MathJax) {MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}\n",
" if (typeof require !== 'undefined') {\n",
" require.undef(\"plotly\");\n",
" requirejs.config({\n",
" paths: {\n",
" 'plotly': ['https://cdn.plot.ly/plotly-latest.min']\n",
" }\n",
" });\n",
" require(['plotly'], function(Plotly) {\n",
" window._Plotly = Plotly;\n",
" });\n",
" }\n",
" </script>\n",
" "
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"start_time": "2019-11-30T20:41:12.327100Z",
"end_time": "2019-11-30T20:41:12.343149Z"
},
"init_cell": true,
"trusted": true,
"id": "i-i0unA9kRaL",
"colab_type": "code",
"colab": {},
"outputId": "58ae0efa-6cba-443a-e8ef-422114afe934"
},
"source": [
""
],
"execution_count": 0,
"outputs": [
{
"output_type": "error",
"ename": "ModuleNotFoundError",
"evalue": "No module named 'modin'",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-60-075a2e977ad0>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;31m# os.environ[\"MODIN_ENGINE\"] = \"dask\" # Modin will use Dask\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 6\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mmodin\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpandas\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 7\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0;31m# featuretools for automated feature engineering\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'modin'"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-29T19:59:42.651784Z",
"start_time": "2019-11-29T19:59:42.642907Z"
},
"trusted": true,
"id": "37PPY-ZDkRaO",
"colab_type": "code",
"colab": {}
},
"source": [
"HEADERS = {\n",
" \"Acquisition\": [\n",
" \"id\",\n",
" \"channel\",\n",
" \"seller\",\n",
" \"interest_rate\",\n",
" \"balance\",\n",
" \"loan_term\",\n",
" \"origination_date\",\n",
" \"first_payment_date\",\n",
" \"ltv\",\n",
" \"cltv\",\n",
" \"borrower_count\",\n",
" \"dti\",\n",
" \"borrower_credit_score\",\n",
" \"first_time_homebuyer\",\n",
" \"loan_purpose\",\n",
" \"property_type\",\n",
" \"unit_count\",\n",
" \"occupancy_status\",\n",
" \"property_state\",\n",
" \"zip\",\n",
" \"insurance_percentage\",\n",
" \"product_type\",\n",
" \"co_borrower_credit_score\",\n",
" \"mortgage_insurance_type\",\n",
" \"relocation_mortgage_indicator\",\n",
" ],\n",
" \"Performance\": [\n",
" \"id\",\n",
" \"reporting_period\",\n",
" \"servicer_name\",\n",
" \"interest_rate\",\n",
" \"balance\",\n",
" \"loan_age\",\n",
" \"months_to_maturity\",\n",
" \"months_to_legal_maturity\",\n",
" \"maturity_date\",\n",
" \"msa\",\n",
" \"delinquency_status\",\n",
" \"modification_flag\",\n",
" \"zero_balance_code\",\n",
" \"zero_balance_date\",\n",
" \"last_paid_installment_date\",\n",
" \"foreclosure_date\",\n",
" \"disposition_date\",\n",
" \"foreclosure_costs\",\n",
" \"property_repair_costs\",\n",
" \"recovery_costs\",\n",
" \"misc_costs\",\n",
" \"tax_costs\",\n",
" \"sale_proceeds\",\n",
" \"credit_enhancement_proceeds\",\n",
" \"repurchase_proceeds\",\n",
" \"other_foreclosure_proceeds\",\n",
" \"non_interest_bearing_balance\",\n",
" \"principal_forgiveness_balance\",\n",
" \"repurchase_make_whole_proceeds_flag\",\n",
" \"foreclosure_principal_write_off_amount\",\n",
" \"servicing_activity_indicator\",\n",
" ],\n",
"}\n",
"\n",
"SELECT = {\n",
" \"Acquisition\": HEADERS[\"Acquisition\"],\n",
" \"Performance\": [\"id\", \"foreclosure_date\"],\n",
"}"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"start_time": "2019-11-26T16:49:38.530Z"
},
"trusted": true,
"id": "p94afJ6DkRaQ",
"colab_type": "code",
"colab": {}
},
"source": [
""
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-26T20:17:27.477872Z",
"start_time": "2019-11-26T20:17:04.056246Z"
},
"trusted": true,
"id": "N8aqdbxckRaS",
"colab_type": "code",
"colab": {}
},
"source": [
"ac_2016_q1 = pd.read_csv(\n",
" \"Housing/Acquisition_2016Q1.txt\", sep=\"|\", names=HEADERS[\"Acquisition\"]\n",
")\n",
"# ac_2016_q2 = pd.read_csv(\"Housing/Acquisition_2016Q2.txt\", sep=\"|\", names=HEADERS[\"Acquisition\"])\n",
"# ac_2016_q3 = pd.read_csv(\"Housing/Acquisition_2016Q3.txt\", sep=\"|\", names=HEADERS[\"Acquisition\"])\n",
"# ac_2016_q4 = pd.read_csv(\"Housing/Acquisition_2016Q4.txt\", sep=\"|\", names=HEADERS[\"Acquisition\"])\n",
"\n",
"per_2016_q1 = pd.read_csv(\n",
" \"Housing/Performance_2016Q1.txt\", sep=\"|\", names=HEADERS[\"Performance\"]\n",
")\n",
"# per_2016_q2 = pd.read_csv(\"Housing/Performance_2016Q2.txt\", sep=\"|\",names=HEADERS[\"Performance\"])\n",
"# per_2016_q3 = pd.read_csv(\"Housing/Performance_2016Q3.txt\", sep=\"|\",names=HEADERS[\"Performance\"])\n",
"# per_2016_q4 = pd.read_csv(\"Housing/Performance_2016Q4.txt\", sep=\"|\",names=HEADERS[\"Performance\"])"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-26T20:17:31.301089Z",
"start_time": "2019-11-26T20:17:31.288479Z"
},
"trusted": true,
"id": "-YSCigDZkRaV",
"colab_type": "code",
"colab": {},
"outputId": "cfef7099-4deb-496d-d5d6-aea143bc1b81"
},
"source": [
"print(\"Acquisition_2016Q1 :\", ac_2016_q1.shape)\n",
"print(\"Performance_2016Q1 :\", per_2016_q1.shape)\n",
"# print (\"Acquisition_2016Q2 :\",ac_2016_q2.shape)\n",
"# print (\"Performance_2016Q2 :\",per_2016_q2.shape)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"Acquisition_2016Q1 : (404588, 25)\n",
"Performance_2016Q1 : (14263096, 31)\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"trusted": true,
"id": "oFKHTvMckRaX",
"colab_type": "code",
"colab": {}
},
"source": [
""
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-26T20:17:46.082597Z",
"start_time": "2019-11-26T20:17:46.031373Z"
},
"trusted": true,
"id": "UiGfnDixkRaZ",
"colab_type": "code",
"colab": {},
"outputId": "95df1c1f-9710-44b6-bca3-56346b0d4d74"
},
"source": [
"TableDisplay(\"Acquisition_2016Q1\")\n",
"TableDisplay(ac_2016_q1.head(3))"
],
"execution_count": 0,
"outputs": [
{
"output_type": "display_data",
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "bc804385f4f549efbf4eb279607187ab",
"version_major": 2,
"version_minor": 0
}
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-26T16:06:08.257531Z",
"start_time": "2019-11-26T16:06:08.212600Z"
},
"trusted": true,
"id": "lvqWFTF8kRac",
"colab_type": "code",
"colab": {},
"outputId": "017bd996-e28e-4331-8630-e3b9b303f556"
},
"source": [
"TableDisplay(\"Performance_2016Q1\")\n",
"per_2016_q1.head(3)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>id</th>\n",
" <th>reporting_period</th>\n",
" <th>servicer_name</th>\n",
" <th>interest_rate</th>\n",
" <th>balance</th>\n",
" <th>loan_age</th>\n",
" <th>months_to_maturity</th>\n",
" <th>months_to_legal_maturity</th>\n",
" <th>maturity_date</th>\n",
" <th>msa</th>\n",
" <th>...</th>\n",
" <th>tax_costs</th>\n",
" <th>sale_proceeds</th>\n",
" <th>credit_enhancement_proceeds</th>\n",
" <th>repurchase_proceeds</th>\n",
" <th>other_foreclosure_proceeds</th>\n",
" <th>non_interest_bearing_balance</th>\n",
" <th>principal_forgiveness_balance</th>\n",
" <th>repurchase_make_whole_proceeds_flag</th>\n",
" <th>foreclosure_principal_write_off_amount</th>\n",
" <th>servicing_activity_indicator</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>100000512540</td>\n",
" <td>02/01/2016</td>\n",
" <td>OTHER</td>\n",
" <td>3.75</td>\n",
" <td>NaN</td>\n",
" <td>1</td>\n",
" <td>359</td>\n",
" <td>359.0</td>\n",
" <td>01/2046</td>\n",
" <td>12260</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>N</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>100000512540</td>\n",
" <td>03/01/2016</td>\n",
" <td>NaN</td>\n",
" <td>3.75</td>\n",
" <td>NaN</td>\n",
" <td>2</td>\n",
" <td>358</td>\n",
" <td>357.0</td>\n",
" <td>01/2046</td>\n",
" <td>12260</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>N</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>100000512540</td>\n",
" <td>04/01/2016</td>\n",
" <td>NaN</td>\n",
" <td>3.75</td>\n",
" <td>NaN</td>\n",
" <td>3</td>\n",
" <td>357</td>\n",
" <td>356.0</td>\n",
" <td>01/2046</td>\n",
" <td>12260</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>N</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>3 rows × 31 columns</p>\n",
"</div>"
],
"text/plain": [
" id reporting_period servicer_name interest_rate balance \\\n",
"0 100000512540 02/01/2016 OTHER 3.75 NaN \n",
"1 100000512540 03/01/2016 NaN 3.75 NaN \n",
"2 100000512540 04/01/2016 NaN 3.75 NaN \n",
"\n",
" loan_age months_to_maturity months_to_legal_maturity maturity_date \\\n",
"0 1 359 359.0 01/2046 \n",
"1 2 358 357.0 01/2046 \n",
"2 3 357 356.0 01/2046 \n",
"\n",
" msa ... tax_costs sale_proceeds credit_enhancement_proceeds \\\n",
"0 12260 ... NaN NaN NaN \n",
"1 12260 ... NaN NaN NaN \n",
"2 12260 ... NaN NaN NaN \n",
"\n",
" repurchase_proceeds other_foreclosure_proceeds non_interest_bearing_balance \\\n",
"0 NaN NaN NaN \n",
"1 NaN NaN NaN \n",
"2 NaN NaN NaN \n",
"\n",
" principal_forgiveness_balance repurchase_make_whole_proceeds_flag \\\n",
"0 NaN NaN \n",
"1 NaN NaN \n",
"2 NaN NaN \n",
"\n",
" foreclosure_principal_write_off_amount servicing_activity_indicator \n",
"0 NaN N \n",
"1 NaN N \n",
"2 NaN N \n",
"\n",
"[3 rows x 31 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 25
}
]
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-26T16:16:00.720822Z",
"start_time": "2019-11-26T16:15:56.157384Z"
},
"trusted": true,
"id": "4_1HssKzkRae",
"colab_type": "code",
"colab": {},
"outputId": "8d002116-3bc6-4577-c061-3db1ae8c8169"
},
"source": [
"plt.figure(figsize=(15, 20))\n",
"\n",
"plt.subplot(231)\n",
"sns.heatmap(\n",
" pd.DataFrame(per_2016_q1.isnull().sum() / per_2016_q1.shape[0] * 100),\n",
" annot=True,\n",
" cmap=sns.color_palette(\"cool\"),\n",
" linewidth=1,\n",
" linecolor=\"white\",\n",
")\n",
"plt.title(\"per_2016_q1\")"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Text(0.5, 1.0, 'per_2016_q1')"
]
},
"metadata": {
"tags": []
},
"execution_count": 23
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1080x1440 with 2 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-26T16:16:55.892831Z",
"start_time": "2019-11-26T16:16:55.132284Z"
},
"trusted": true,
"id": "8XfJg4MQkRag",
"colab_type": "code",
"colab": {},
"outputId": "4e13302a-efe3-43c4-cd59-f24649fe7825"
},
"source": [
"plt.figure(figsize=(15, 20))\n",
"\n",
"plt.subplot(231)\n",
"sns.heatmap(\n",
" pd.DataFrame(ac_2016_q1.isnull().sum() / ac_2016_q1.shape[0] * 100),\n",
" annot=True,\n",
" cmap=sns.color_palette(\"cool\"),\n",
" linewidth=1,\n",
" linecolor=\"white\",\n",
")\n",
"plt.title(\"ac_2016_q1\")"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Text(0.5, 1.0, 'ac_2016_q1')"
]
},
"metadata": {
"tags": []
},
"execution_count": 24
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1080x1440 with 2 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-27T04:04:02.620956Z",
"start_time": "2019-11-27T04:04:02.616396Z"
},
"trusted": true,
"id": "HfG6qrHYkRal",
"colab_type": "code",
"colab": {}
},
"source": [
"def concatenate(prefix=\"Acquisition\"):\n",
" files = os.listdir(DATA_DIR)\n",
" full = []\n",
" for f in files:\n",
" if not f.startswith(prefix):\n",
" continue\n",
"\n",
" data = pd.read_csv(\n",
" os.path.join(DATA_DIR, f),\n",
" sep=\"|\",\n",
" header=None,\n",
" names=HEADERS[prefix],\n",
" index_col=False,\n",
" )\n",
"\n",
" data = data[SELECT[prefix]]\n",
" full.append(data)\n",
"\n",
" full = pd.concat(full, axis=0)\n",
"\n",
" full.to_csv(\n",
" os.path.join(OUT, \"{}.txt\".format(prefix)),\n",
" sep=\"|\",\n",
" header=SELECT[prefix],\n",
" index=False,\n",
" )"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-27T04:05:06.991975Z",
"start_time": "2019-11-27T04:04:05.204812Z"
},
"trusted": true,
"id": "9_sX6refkRan",
"colab_type": "code",
"colab": {}
},
"source": [
"concatenate(\"Acquisition\")"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-27T04:22:48.150841Z",
"start_time": "2019-11-27T04:05:17.975196Z"
},
"trusted": true,
"id": "Otg4k5KgkRap",
"colab_type": "code",
"colab": {}
},
"source": [
"concatenate(\"Performance\")"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-27T03:51:06.550933Z",
"start_time": "2019-11-27T03:51:05.714072Z"
},
"trusted": true,
"id": "S5gDHijzkRar",
"colab_type": "code",
"colab": {}
},
"source": [
"!export MODIN_MEMORY=200000000000"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-27T04:01:55.016030Z",
"start_time": "2019-11-27T04:01:46.968221Z"
},
"trusted": true,
"id": "qna3SdRxkRat",
"colab_type": "code",
"colab": {}
},
"source": [
"df = pd.read_csv(os.path.join(\"./\", \"Acquisition.txt\"), sep=\"|\", low_memory=False)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-27T04:02:03.968766Z",
"start_time": "2019-11-27T04:02:03.949952Z"
},
"trusted": true,
"id": "UfMQj1RmkRaw",
"colab_type": "code",
"colab": {},
"outputId": "66a165eb-2609-4480-fd4a-36116a8fab61"
},
"source": [
"df.columns"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Index(['id', 'channel', 'seller', 'interest_rate', 'balance', 'loan_term',\n",
" 'origination_date', 'first_payment_date', 'ltv', 'cltv',\n",
" 'borrower_count', 'dti', 'borrower_credit_score',\n",
" 'first_time_homebuyer', 'loan_purpose', 'property_type', 'unit_count',\n",
" 'occupancy_status', 'property_state', 'zip', 'insurance_percentage',\n",
" 'product_type', 'co_borrower_credit_score', 'mortgage_insurance_type',\n",
" 'relocation_mortgage_indicator'],\n",
" dtype='object')"
]
},
"metadata": {
"tags": []
},
"execution_count": 191
}
]
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-27T03:54:47.905170Z",
"start_time": "2019-11-27T03:54:47.881227Z"
},
"trusted": true,
"id": "sHcI9cJNkRaz",
"colab_type": "code",
"colab": {}
},
"source": [
"import os\n",
"import pandas as pd\n",
"\n",
"\n",
"def read():\n",
" acquisition = pd.read_csv(os.path.join(\"./\", \"Acquisition.txt\"), sep=\"|\")\n",
" return acquisition\n",
"\n",
"\n",
"def count_performance_rows():\n",
" counts = {}\n",
" with open(os.path.join(\"./\", \"Performance.txt\"), \"r\") as f:\n",
" for i, line in enumerate(f):\n",
" if i == 0:\n",
" # Skip header row\n",
" continue\n",
" loan_id, date = line.split(\"|\")\n",
" loan_id = int(loan_id)\n",
" if loan_id not in counts:\n",
" counts[loan_id] = {\"foreclosure_status\": False, \"performance_count\": 0}\n",
" counts[loan_id][\"performance_count\"] += 1\n",
" if len(date.strip()) > 0:\n",
" counts[loan_id][\"foreclosure_status\"] = True\n",
" return counts\n",
"\n",
"\n",
"def get_performance_summary_value(loan_id, key, performance_summary):\n",
" value = performance_summary.get(\n",
" loan_id, {\"foreclosure_status\": False, \"performance_count\": 0}\n",
" )\n",
" return value[key]\n",
"\n",
"\n",
"def annotate(acquisition, performance_summary):\n",
" acquisition[\"foreclosure_status\"] = acquisition[\"id\"].apply(\n",
" lambda x: get_performance_summary_value(\n",
" x, \"foreclosure_status\", performance_summary\n",
" )\n",
" )\n",
" acquisition[\"performance_count\"] = acquisition[\"id\"].apply(\n",
" lambda x: get_performance_summary_value(\n",
" x, \"performance_count\", performance_summary\n",
" )\n",
" )\n",
" for column in [\n",
" \"channel\",\n",
" \"seller\",\n",
" \"first_time_homebuyer\",\n",
" \"loan_purpose\",\n",
" \"property_type\",\n",
" \"occupancy_status\",\n",
" \"property_state\",\n",
" \"product_type\",\n",
" ]:\n",
" acquisition[column] = acquisition[column].astype(\"category\")\n",
"\n",
" for start in [\"first_payment\", \"origination\"]:\n",
" column = \"{}_date\".format(start)\n",
" acquisition[\"{}_year\".format(start)] = pd.to_numeric(\n",
" acquisition[column].str.split(\"/\").str.get(1)\n",
" )\n",
" acquisition[\"{}_month\".format(start)] = pd.to_numeric(\n",
" acquisition[column].str.split(\"/\").str.get(0)\n",
" )\n",
" del acquisition[column]\n",
"\n",
" acquisition = acquisition[acquisition[\"performance_count\"] > 7]\n",
" return acquisition\n",
"\n",
"\n",
"def write(acquisition):\n",
" acquisition.to_csv(os.path.join(\"./\", \"train.csv\"), index=False)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-27T03:58:05.681984Z",
"start_time": "2019-11-27T03:54:49.208495Z"
},
"scrolled": true,
"trusted": true,
"id": "bYruJprJkRa2",
"colab_type": "code",
"colab": {},
"outputId": "d7db026d-a928-48d0-8565-bf275b2bcfb2"
},
"source": [
"acquisition = read()\n",
"performance_summary = count_performance_rows()\n",
"acquisition = annotate(acquisition, performance_summary)\n",
"write(acquisition)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"distributed.comm.tcp - WARNING - Closing dangling stream in <TCP local=tcp://127.0.0.1:56626 remote=tcp://127.0.0.1:44207>\n",
"distributed.comm.tcp - WARNING - Closing dangling stream in <TCP local=tcp://127.0.0.1:56628 remote=tcp://127.0.0.1:44207>\n",
"distributed.comm.tcp - WARNING - Closing dangling stream in <TCP local=tcp://127.0.0.1:56704 remote=tcp://127.0.0.1:44207>\n",
"distributed.comm.tcp - WARNING - Closing dangling stream in <TCP local=tcp://127.0.0.1:56816 remote=tcp://127.0.0.1:44207>\n",
"distributed.comm.tcp - WARNING - Closing dangling stream in <TCP local=tcp://127.0.0.1:56868 remote=tcp://127.0.0.1:44207>\n",
"distributed.comm.tcp - WARNING - Closing dangling stream in <TCP local=tcp://127.0.0.1:56920 remote=tcp://127.0.0.1:44207>\n",
"distributed.comm.tcp - WARNING - Closing dangling stream in <TCP local=tcp://127.0.0.1:56964 remote=tcp://127.0.0.1:44207>\n"
],
"name": "stderr"
}
]
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-27T05:10:02.171631Z",
"start_time": "2019-11-27T05:09:54.951619Z"
},
"trusted": true,
"id": "ddqbrozSkRa4",
"colab_type": "code",
"colab": {}
},
"source": [
"pp = pd.read_csv(\"./train.csv\")"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-27T05:10:04.125342Z",
"start_time": "2019-11-27T05:10:03.991490Z"
},
"trusted": true,
"id": "Ux8BsJOekRa7",
"colab_type": "code",
"colab": {},
"outputId": "3a6879aa-790e-489a-9383-81abc6a2c798"
},
"source": [
"pp.query(\"foreclosure_status == True\")"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>id</th>\n",
" <th>channel</th>\n",
" <th>seller</th>\n",
" <th>interest_rate</th>\n",
" <th>balance</th>\n",
" <th>loan_term</th>\n",
" <th>ltv</th>\n",
" <th>cltv</th>\n",
" <th>borrower_count</th>\n",
" <th>dti</th>\n",
" <th>...</th>\n",
" <th>product_type</th>\n",
" <th>co_borrower_credit_score</th>\n",
" <th>mortgage_insurance_type</th>\n",
" <th>relocation_mortgage_indicator</th>\n",
" <th>foreclosure_status</th>\n",
" <th>performance_count</th>\n",
" <th>first_payment_year</th>\n",
" <th>first_payment_month</th>\n",
" <th>origination_year</th>\n",
" <th>origination_month</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>504</th>\n",
" <td>100919899030</td>\n",
" <td>R</td>\n",
" <td>OTHER</td>\n",
" <td>4.125</td>\n",
" <td>178000</td>\n",
" <td>360</td>\n",
" <td>97</td>\n",
" <td>97</td>\n",
" <td>1</td>\n",
" <td>27.0</td>\n",
" <td>...</td>\n",
" <td>FRM</td>\n",
" <td>NaN</td>\n",
" <td>2.0</td>\n",
" <td>N</td>\n",
" <td>True</td>\n",
" <td>17</td>\n",
" <td>2016</td>\n",
" <td>6</td>\n",
" <td>2016</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1460</th>\n",
" <td>102526639505</td>\n",
" <td>R</td>\n",
" <td>OTHER</td>\n",
" <td>5.125</td>\n",
" <td>446000</td>\n",
" <td>360</td>\n",
" <td>90</td>\n",
" <td>90</td>\n",
" <td>1</td>\n",
" <td>45.0</td>\n",
" <td>...</td>\n",
" <td>FRM</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" <td>N</td>\n",
" <td>True</td>\n",
" <td>23</td>\n",
" <td>2016</td>\n",
" <td>8</td>\n",
" <td>2016</td>\n",
" <td>6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7979</th>\n",
" <td>114064133628</td>\n",
" <td>R</td>\n",
" <td>OTHER</td>\n",
" <td>4.125</td>\n",
" <td>71000</td>\n",
" <td>360</td>\n",
" <td>63</td>\n",
" <td>63</td>\n",
" <td>2</td>\n",
" <td>28.0</td>\n",
" <td>...</td>\n",
" <td>FRM</td>\n",
" <td>634.0</td>\n",
" <td>NaN</td>\n",
" <td>N</td>\n",
" <td>True</td>\n",
" <td>36</td>\n",
" <td>2016</td>\n",
" <td>5</td>\n",
" <td>2016</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9097</th>\n",
" <td>115995140179</td>\n",
" <td>R</td>\n",
" <td>LOANDEPOT.COM, LLC</td>\n",
" <td>4.375</td>\n",
" <td>198000</td>\n",
" <td>360</td>\n",
" <td>80</td>\n",
" <td>80</td>\n",
" <td>1</td>\n",
" <td>39.0</td>\n",
" <td>...</td>\n",
" <td>FRM</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>N</td>\n",
" <td>True</td>\n",
" <td>23</td>\n",
" <td>2016</td>\n",
" <td>6</td>\n",
" <td>2016</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12532</th>\n",
" <td>122159215261</td>\n",
" <td>R</td>\n",
" <td>WELLS FARGO BANK, N.A.</td>\n",
" <td>4.250</td>\n",
" <td>125000</td>\n",
" <td>360</td>\n",
" <td>71</td>\n",
" <td>71</td>\n",
" <td>1</td>\n",
" <td>30.0</td>\n",
" <td>...</td>\n",
" <td>FRM</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>N</td>\n",
" <td>True</td>\n",
" <td>29</td>\n",
" <td>2016</td>\n",
" <td>6</td>\n",
" <td>2016</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4086263</th>\n",
" <td>982336827813</td>\n",
" <td>R</td>\n",
" <td>FRANKLIN AMERICAN MORTGAGE COMPANY</td>\n",
" <td>4.250</td>\n",
" <td>70000</td>\n",
" <td>240</td>\n",
" <td>86</td>\n",
" <td>86</td>\n",
" <td>1</td>\n",
" <td>42.0</td>\n",
" <td>...</td>\n",
" <td>FRM</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" <td>N</td>\n",
" <td>True</td>\n",
" <td>22</td>\n",
" <td>2017</td>\n",
" <td>5</td>\n",
" <td>2017</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4089682</th>\n",
" <td>989347753728</td>\n",
" <td>R</td>\n",
" <td>OTHER</td>\n",
" <td>4.625</td>\n",
" <td>54000</td>\n",
" <td>360</td>\n",
" <td>91</td>\n",
" <td>97</td>\n",
" <td>1</td>\n",
" <td>40.0</td>\n",
" <td>...</td>\n",
" <td>FRM</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" <td>N</td>\n",
" <td>True</td>\n",
" <td>19</td>\n",
" <td>2017</td>\n",
" <td>5</td>\n",
" <td>2017</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4090723</th>\n",
" <td>991527843261</td>\n",
" <td>R</td>\n",
" <td>OTHER</td>\n",
" <td>4.625</td>\n",
" <td>360000</td>\n",
" <td>360</td>\n",
" <td>80</td>\n",
" <td>80</td>\n",
" <td>1</td>\n",
" <td>26.0</td>\n",
" <td>...</td>\n",
" <td>FRM</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>N</td>\n",
" <td>True</td>\n",
" <td>21</td>\n",
" <td>2017</td>\n",
" <td>6</td>\n",
" <td>2017</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4093356</th>\n",
" <td>997017995239</td>\n",
" <td>C</td>\n",
" <td>U.S. BANK N.A.</td>\n",
" <td>5.500</td>\n",
" <td>167000</td>\n",
" <td>360</td>\n",
" <td>95</td>\n",
" <td>95</td>\n",
" <td>1</td>\n",
" <td>32.0</td>\n",
" <td>...</td>\n",
" <td>FRM</td>\n",
" <td>NaN</td>\n",
" <td>1.0</td>\n",
" <td>N</td>\n",
" <td>True</td>\n",
" <td>12</td>\n",
" <td>2017</td>\n",
" <td>5</td>\n",
" <td>2017</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4094283</th>\n",
" <td>998998046089</td>\n",
" <td>R</td>\n",
" <td>OTHER</td>\n",
" <td>4.500</td>\n",
" <td>56000</td>\n",
" <td>240</td>\n",
" <td>68</td>\n",
" <td>68</td>\n",
" <td>1</td>\n",
" <td>34.0</td>\n",
" <td>...</td>\n",
" <td>FRM</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>N</td>\n",
" <td>True</td>\n",
" <td>16</td>\n",
" <td>2017</td>\n",
" <td>5</td>\n",
" <td>2017</td>\n",
" <td>3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1429 rows × 29 columns</p>\n",
"</div>"
],
"text/plain": [
" id channel seller \\\n",
"504 100919899030 R OTHER \n",
"1460 102526639505 R OTHER \n",
"7979 114064133628 R OTHER \n",
"9097 115995140179 R LOANDEPOT.COM, LLC \n",
"12532 122159215261 R WELLS FARGO BANK, N.A. \n",
"... ... ... ... \n",
"4086263 982336827813 R FRANKLIN AMERICAN MORTGAGE COMPANY \n",
"4089682 989347753728 R OTHER \n",
"4090723 991527843261 R OTHER \n",
"4093356 997017995239 C U.S. BANK N.A. \n",
"4094283 998998046089 R OTHER \n",
"\n",
" interest_rate balance loan_term ltv cltv borrower_count dti \\\n",
"504 4.125 178000 360 97 97 1 27.0 \n",
"1460 5.125 446000 360 90 90 1 45.0 \n",
"7979 4.125 71000 360 63 63 2 28.0 \n",
"9097 4.375 198000 360 80 80 1 39.0 \n",
"12532 4.250 125000 360 71 71 1 30.0 \n",
"... ... ... ... ... ... ... ... \n",
"4086263 4.250 70000 240 86 86 1 42.0 \n",
"4089682 4.625 54000 360 91 97 1 40.0 \n",
"4090723 4.625 360000 360 80 80 1 26.0 \n",
"4093356 5.500 167000 360 95 95 1 32.0 \n",
"4094283 4.500 56000 240 68 68 1 34.0 \n",
"\n",
" ... product_type co_borrower_credit_score mortgage_insurance_type \\\n",
"504 ... FRM NaN 2.0 \n",
"1460 ... FRM NaN 1.0 \n",
"7979 ... FRM 634.0 NaN \n",
"9097 ... FRM NaN NaN \n",
"12532 ... FRM NaN NaN \n",
"... ... ... ... ... \n",
"4086263 ... FRM NaN 1.0 \n",
"4089682 ... FRM NaN 1.0 \n",
"4090723 ... FRM NaN NaN \n",
"4093356 ... FRM NaN 1.0 \n",
"4094283 ... FRM NaN NaN \n",
"\n",
" relocation_mortgage_indicator foreclosure_status performance_count \\\n",
"504 N True 17 \n",
"1460 N True 23 \n",
"7979 N True 36 \n",
"9097 N True 23 \n",
"12532 N True 29 \n",
"... ... ... ... \n",
"4086263 N True 22 \n",
"4089682 N True 19 \n",
"4090723 N True 21 \n",
"4093356 N True 12 \n",
"4094283 N True 16 \n",
"\n",
" first_payment_year first_payment_month origination_year \\\n",
"504 2016 6 2016 \n",
"1460 2016 8 2016 \n",
"7979 2016 5 2016 \n",
"9097 2016 6 2016 \n",
"12532 2016 6 2016 \n",
"... ... ... ... \n",
"4086263 2017 5 2017 \n",
"4089682 2017 5 2017 \n",
"4090723 2017 6 2017 \n",
"4093356 2017 5 2017 \n",
"4094283 2017 5 2017 \n",
"\n",
" origination_month \n",
"504 4 \n",
"1460 6 \n",
"7979 3 \n",
"9097 4 \n",
"12532 4 \n",
"... ... \n",
"4086263 3 \n",
"4089682 3 \n",
"4090723 4 \n",
"4093356 3 \n",
"4094283 3 \n",
"\n",
"[1429 rows x 29 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 202
}
]
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-27T05:23:10.898241Z",
"start_time": "2019-11-27T05:23:09.620262Z"
},
"trusted": true,
"id": "hIbfeQk7kRa9",
"colab_type": "code",
"colab": {},
"outputId": "b6e06175-acd8-4bec-b374-4be2935e8ab2"
},
"source": [
"plt.figure(figsize=(15, 20))\n",
"df = pd.read_csv(\"train.csv\", nrows=200000)\n",
"df = df.fillna(-1)\n",
"\n",
"\n",
"plt.subplot(231)\n",
"sns.heatmap(\n",
" pd.DataFrame(df.isnull().sum() / df.shape[0] * 100),\n",
" annot=True,\n",
" cmap=sns.color_palette(\"cool\"),\n",
" linewidth=1,\n",
" linecolor=\"white\",\n",
")\n",
"plt.title(\"ALL ZEROS\")"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Text(0.5, 1.0, 'ALL ZEROS')"
]
},
"metadata": {
"tags": []
},
"execution_count": 204
},
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAb0AAAIdCAYAAACp2qM3AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzs3Xm4XFWZ9v/vnTATDYM0DQrGhgAShpCEIUwGRJxFBERBIeivIwpherHlbXgFUVoGlXkQEcIQGYLQHRQJMYEQIwFCIAmJBmgSBByYA0HG5Pn9sVaRnaLqjHVO1am6P9d1rlO199p7r6qcnOestXftWxGBmZlZK+hX7w6YmZn1Fhc9MzNrGS56ZmbWMlz0zMysZbjomZlZy3DRMzOzluGiZ2ZmLcNFz6yPkHS3pJckrV62fJykH1XZJiRt3oF9L63w9bakJ/L60ZKWVWizcV6/WNLrednfc58GlB1jV0lTJb0qaYmk2yRtXdbmPyUtyvt5WtKNnX2fzNriomfWB0gaBOwBBPCFWu8/IgYUv4AtgBeBHxaa3VveLiL+Wlj/+bztUGAH4P8W+j8SuBP4H2Bj4CPAHGCGpH/LbQ4Hvg7sk/czAphS69dqrc1Fz6xvOAyYCYwDDu/JA0laBbgJuC0irurs9hHxd2ASqfiVnA1cExHnR8SrEfFiRJxCek2n5TY7ApMi4n9L+4mIy7vxUszew0XPrG84DBifvz4pacMePNbZwNrA0V3ZWNKHgE8Dj+fnawG7AhMqNL8J+ER+PBM4TNJ3JY2Q1L8rxzdri4ueWYOTtDvwYeCmiHgQ+F/gkB461gHAEcABEfFG2epdJL1c+PrfsvX/LelV4CngWeDUvHw90u+av1U45N+ADwBExHXAWOCTwDTgWUnfq8XrMitx0TNrfIcDd0bE8/n5r+iBKU5JWwC/BA6PiCcqNJkZEesUvjYrW//FiHgfMArYilzMgJeA5cBGFfa5EVB6XUTE+IjYB1gHOBL4oaRPdud1mRW56Jk1MElrAl8GPpavivw7cDywvaTta3ictYBfA5dFxMTu7CsippHOPf4kP38NuBc4qELzL1PhYpWIeDsiJgBzgW260x+zolXq3QEza9MXgWXAtsBbheU3kc7z/Z/8vL+kNQrrl0dEqf1qZevejohlZce5DHgBOLlG/T4PWCxp+4iYA5wETJL0Z+Aq0u+e/wOMJF3AgqTRwHPAPcBrpGnOIcB9NeqTmUd6Zg3ucOCqiPhLvprx7/nqyIuAQ/OVlpCKyuuFr6mFfcwvW3dE8QCSNiV9VGAXYEn5Z/EKTUdW+JzejpU6HRHPAdcA38/P/0AqYl8incd7kvSxht0j4rG82SvAfwJ/AV4mXVDz7bytWU3IIbJmZtYqPNIzM7OW4aJnZmYtw0XPzMxahouemZm1DBc9MzNrGf6cnjUyX1pstjJ1pvHjg3v+/9Dmj3WuT/XmomcN7cJj6t0Ds8Yw9oJ696A5eHrTzMxahouemZm1DE9vmllVm34U9vwSqB8suBce/H29e2TWPR7pWY+S9Mcqy8dJOrC3+2MdJ8Gog2DiZTD+v2CL4bDuv9a7V2bd46JnPSoidq13H6xrNvwwvPwcvPICLF8Gj86Gf9u23r0y6x4XPetRpbv0K7lI0kJJvwf+pc5ds3asvQ4sfXnF86Uvw4CB9euPWS246Flv2R/YEtialANXcQQoaYykWZJmXX755b3ZPzNrAb6QxXrLnsD1Obz0r5KmVmoUEZcDpWoX/pxe/bz2MgxYZ8XzAevA0iX1649ZLXikZ2YV/eMvsM4G8P71oF9/2GIYLJpX716ZdY9HetZb7gG+Jelq0vm8vYBf1bdL1pZYDtNuhi98B/r1gwUz4cW/17tXZt3jome95VZgb2AB8Bfg3vp2xzriyQXpy6xZuOhZj4qIAfl7AEfXuTtm1uJ8Ts/MzFqGi56ZmbUMpVkns4bkH06zlTlPr5s80jMzs5bhC1msofnD6WaJQ2RrwyM9MzNrGS56ZmbWMjy9aWZVOUTWmo1Hei2qniGukgZJeqQex7aOc4isNSMXPTOryCGy1oxc9FqEpMMkzZU0R9K1efGekv4o6YnSqE/SAElTJM2WNE/Sfnn5IEl/kvQLSfMl3SlpzbzubklnSbpf0qOS9sjL+0s6R9ID+djfqsuLty5xiKw1Ixe9FiBpCHAKsHdEbA8cm1dtBOwOfA44My97A9g/IoaRkhB+Kqn04dPBwMURMQR4GTigcJhVImIn4Djg1Lzsm8CSiNgR2BH4d0kfaaevDpE1sx7jC1law97AhIh4HiAiXsx17L8jYjmwQNKGua2A/5K0J7Ac+CBQWrcoIh7Ojx8EBhWOcUuF5fsC2xXOHQ4kFc5Hq3XUIbKNwyGy1oxc9Frbm4XHpdHcocAGwPCIeFvSYmCNCu2XAWtW2NcyVvxcCRgbEZOKB5U0qLsdt55XDJFduiSFyE66ut69MuseF73WMBW4VdLPIuIFSeu10XYg8GwueHsBH+7GcScB35Y0Ne9vC+CZbuzPepFDZK0Zuei1gIiYL+kMYJqkZcBDbTQfD9wmaR4wC/hzNw59BWmqc3Y+L/gc8MVu7M96mUNkrdk4ZcEamc/pmWX53ptOWegmX71pZmYtw0XPzMxahqc3rZH5h9NsZZ7e7CaP9MzMrGX46k1raL6QxSxxiGxteKRnZmYtw0XPzMxahqc3zawqh8has/FIz7qlGEabI4ZG1LtPVhsOkbVm5KJndSOpf737YNU5RNaakYuevYektSX9NgfOPiLpYEnDJU2T9KCkSZI2amcf+0q6N4fRTpA0IC9fnANnZwMH9coLsi5xiKw1Ixc9q+RTwF8jYvuI2Aa4A7gQODAihgNXAmdU21jSB0ihtfvkMNpZwAmFJi9ExLCIuKHCtg6RNbMe4wtZrJJ5pMT0s4DfAC8B2wCTc/hsf+BvbWy/C7A1MCO3Xw24t7D+xmobOkS2cThE1pqRi569R0Q8KmkY8BngR6Q8vvkRMbKDuxAwOSK+WmX9azXopvUwh8haM3LRs/eQtDHwYkRcJ+ll4DvABpJGRsS9klYFtoiI+VV2MRO4WNLmEfG4pLWBD0bEo730EqwGHCJrzchFzyrZFjhH0nLgbeDbwDvABZIGkn5uzgMqFr2IeE7SaOB6SavnxacALnp9jENkrbskfQo4n3Ra5IqIOLNs/erANcBw4AXg4IhYnP+4vgIYRvqdc01E/Li7/XHRs/eIiEnApAqr9qzQdnTh8ajC46nAjhXaD6pFH82s8eWPJV0MfAJ4GnhA0sSIKP4p9U3gpYjYXNJXgLOAg0lXd68eEdtKWgtYIOn6iFjcnT756k0zM+spOwGPR8QTEfEWcAOwX1mb/YDS2eKbgY8rXQEXwNqSVgHWBN4CXuluh1z0zMysy4ofM8pfYwqrPwg8VXj+dF5GpTYR8Q6wBFifVABfI10p/hfgJxHxYnf76+lNa2iOUzFrbGUfM6qlnYBlwMbAusB0Sb+PiCe6s1OP9MzMrKc8A2xSeP6hvKximzyVOZB0QcshwB0R8XZEPAvMALp9b1+P9Kyh+cPpZkkfnfV4ABgs6SOk4vYVUjErmggcTrqBxYHA1IgISX8B9gauzR972oV01Xi3eKRnZmY9Ip+jO5p0NfifgJsiYr6k0yV9ITf7JbC+pMdJtys8KS+/GBggaT6peF4VEXO72yeP9MzMrMdExO3A7WXLvl94/AYVbj4fEUsrLe8uFz0zq8ohstZsPL1pZhU5RNaakYteA5D0xw60OS7flaAn+zFU0mdqtK9BkspPWFsf4hBZa0Yueg0gInbtQLPjgE4VvS4kkw8lJSt0dP9tTY8P4r1XaVkf4hBZa0Yueg1A0tL8fZSkuyXdLOnPksYrOYb0Ac27JN2V23YomVzSZpLuyInn0yVtldsdlFPR50i6R9JqwOnAwZIelnRwlb6eJulaSTNIlxIPyvudnb9KBfxMYI+8r+Ml9Zd0jqQHJM2V9K0q+3eIrJn1GF/I0nh2AIYAfyV9GHO3iLhA0gnAXhHxfFky+WuSvke61Pf0vI8XcmI5kqYAR0bEY5J2Bi4hffbl+8AnI+IZSetExFuSvg+MiIij2+nj1sDuEfF6nnL9RES8IWkwcD3pA6QnASdGxOdyP8YASyJix3xX9RmS7oyIRcUdO0S2cThE1pqRi17juT8ingaQ9DBpmvAPZW06lEyeR3+7AhNyO4BS1M8MYJykm4BbOtnHiRHxen68KnCRpKGkWwZtUWWbfYHtJB2Ynw8EBgOLqrS3OnOIrDUjF73G82bh8TIq/xt1NJm8H/ByRAwtbxARR+aR32eBByUN70Qfi8nnxwP/ALbPx3ujyjYCxubYIusDHCJrzchFr+94FXgf8DwdTCaPiFckLZJ0UERMyHEd20XEHEmbRcR9wH2SPk26913pGJ0xEHg6IpZLOpwUFFnsb8kk4NuSpkbE25K2AJ6JiNewhuUQWWs2vpCl77gcuEPSXRHxHDCalEw+lzS1uVWV7Q4FvilpDinpvJRldY6keZIeAf4IzAHuArZu60KWCi4BDs/734oVo8C5wLJ8oczxpATkBcDsfMyf4z+6zKyXKSLq3Qezanwhi1mWbzitdpqt5PHB9Pgv+M0f61yf6s0jPTMzaxke6VlFko4Aji1bPCMijurFbviH02xlHul1k4ueNTL/cJqtzEWvm3whgTU0n9MzS/poiGzD8Tk9MzNrGS56ZmbWMjy9aWZVOUTWmo1Hei0gJyE80on24wr3yLQW5RBZa0YuemZWkUNkrRm56LWOVXI+359yXt9akr6f8+0ekXS5ClEMJdXa5Ny/syTdL+lRSXvk5f0l/SS3nytpbF4+XNK0nOs3SdJGvfvyrbMcImvNyEWvdWwJXBIRHwVeAb4DXBQRO0bENsCawOcqbNdWm1UiYidSqvupedkYUhzS0IjYDhgvaVXgQuDAiBgOXAmcUamTDpE1s57kC1lax1MRMSM/vg44Blgk6T+AtYD1SDekvq1su73aaFPK4XuQVOgA9gEui4h3ACLiRUnbANsAk/NAsT/wt0qddIhs43CIrDUjF73WUX5nhiAlJIyIiKcknQasUWwgaY122pSy/6rl/r27K2B+RIzsevettzlE1pqRpzdbx6aSSkXnEFaksT+fE9YrXa25RgfalJsMfEvSKgCS1gMWAhuUji9pVUlDuvg6rJcUQ2S/djI89pBDZK3v80ivdSwEjpJ0JSnX7lJgXeAR4O/AA+UbRMTLkn7RVpsKrgC2AOZKehv4RURclD8CcYGkgaSfu/NIU6XWwBwia83GN5y2RuZzemaZ8/RqwyM9M7Mm9djgnj/G5j1/iJryOT0zM2sZHulZQ3OcipnVkkd6ZmbWMjzSs4bmC1nMEs961IZHemZm1jJc9MzMrGV4etPMqnKIrDUbj/TMrCKHyFozctHrwyQt7aXjjJa0cW8cyxqHQ2StGbnoWUeMBjpV9Eo3nLa+yyGy1oxc9JqAknNyWvk8SQfn5QMkTZE0Oy/fLy8flBPUfyFpvqQ7Ja1ZZd8HAiNIYbAPS1qzWgp6TlM/T9Is4FhJ4yRdKmmmpCckjZJ0ZT72uCrHc4ismfUYF73m8CVgKLA9KcT1nFyI3gD2j4hhwF7AT5VTXIHBwMURMQR4GTig0o4j4mZgFnBoRAwF3qHtFPTVImJERPw0P18XGAkcD0wEzgWGANtKGlrheJfn7UeMGTOmi2+H1YJDZK0Zueg1h92B6yNiWUT8A5gG7Ei6I/t/SZoL/B74ILBh3mZRRDycHxeTz9uzJStS0B8GTgE+VFh/Y1n72yJFecwD/hER8yJiOSlWqKPHtDoohsj2659CZBfNq3evzLrH512a26HABsDwiHhb0mJWBMO+WWi3DKg4vVlBeynor5U9Lx1nedkxl+Ofv4ZWDJHt1w8WzHSIrPV9/qXTHKaT0sqvBtYD9gS+CxwMPJsL3l7Ah7u4/1eB9+XH76agR8S9klYFtogIB8I2IYfIWrNx0WsOt5LOm80BAviPiPi7pPHAbZLmkc7L/bmL+x8HXCbp9Xwcp6CbWZ/k5HRrZE5ON8u6kpz+u8/0fHL6p2/vW8npvpDFzMxahqc37V2SLgZ2K1t8fkRcVY/+gONUzKy2XPTsXRFxVL37YGbWk1z0rKH5nJ5Z4lmP2vA5PTMzaxkuemZm1jI8vWlmVTlE1pqNR3pWU6WMv5zkcEi9+2Nd5xBZa0YuetZTBgEuen2YQ2StGbnoWU85E9gjZ/AdnzP1hpRW5uy9EXXsn7XDIbLWjFz0rKecBEyPiKERcS4pcujLADnrb6OImFW+kUNkzawnuehZb7mJdKNqSMXv5kqNHCLbOBwia83IRc96RUQ8A7wgaTtS5FF52Kw1GIfIWjPyRxaspxQz+EpuBP4DGBgRc3u/S9YZDpG1ZuSiZz1lLrBM0hxgXD6vdzNwPvDDuvbMOswhstZsXPSspiJiQP7+NrB32bp/4J85M6sjn9MzM7OW4aJnZmYtw1NN1tAcp2JmteSRnpmZtQyP9KyhOUTWLPGsR214pGdmZi3DRc/MzFqGpzfNrCqHyFqz8UjPakbSaZJOzI9HS9q43n2yrnOIrDUjFz3rKaMBF70+zCGy1oxc9KzLJB0maa6kOZKuLSw/EBgBjM8hsp+WNKGwfpSk39Sjz9ZxDpG1ZuSiZ12SU9BPAfaOiO2BY0vrIuJmYBZwaEQMBSYDO0taOzc5GLihyn4dImtmPcZFz7pqb2BCRDwPEBEvVmsYEe8AdwCfl7QK8Fngf6q0dYhsg3CIrDUjFz3rLTeQEtP3BmZFxKt17o+1wyGy1oz8kQXrqqnArZJ+FhEvSFqvbH15iOw04Erg36kytWmNxSGy1oxc9KxLImK+pDOAaZKWAQ8BiwtNxgGXSXodGBkRr+eLV0YDh/dyd62LHCJrzcZFz7osIq4Grq6y7tfAr8uWHQ0c3QtdMzOryOf0zMysZbjomZlZy/D0pjU0x6mYWS15pGdmZi3DIz1raA6RNUs861EbHumZmVnLcNEzM7OW4elNM6vKIbLWbDzSM7OKHCJrzchFr4YkDZL0SL370egk/We9+2Dtc4isNSMXvQYhqX/Z8x6deu7p/bfDRa8PcIisNSMXvdpbRdJ4SX+SdLOktSR9XNJDkuZJulLS6gCSFks6S9Js4CBJd0s6T9Is4Ng8cpya08mnSNpUUn9Ji5SsI2mZpD3z/u6RNFjS2vk49+fj7pfXj5Y0UdJUYEq1FyDpe7mvcySdmZcNlTQz9+VWSevm5XdLGpEff0DS4sKxbpF0h6THJJ2dl58JrJkT1cdXOLZDZM2aiKRPSVoo6XFJJ1VYv7qkG/P6+yQNKlu/qaSlkk6sRX9c9GpvS+CSiPgo8ApwAilx4OCI2JZ08dC3C+1fiIhhEVGK21kth6j+FLgQuDoitgPGAxdExDJgIbA1sDswG9gjF9JNIuIx4GRgakTsBOwFnFNILR8GHBgRH6vUeUmfBvYDds6J6GfnVdcA38t9mQec2oH3YigpJX1b4GBJm0TEScDrETE0Ig4t38Ahso3DIbLWXXkG62Lg06TfWV+VtHVZs28CL0XE5sC5wFll638G/K5WfXLRq72nImJGfnwd8HFgUUQ8mpddDexZaH9j2fbF5yOBX+XH15KKHMD0vI89gR/n5TsCD+T1+wInSXoYuBtYA9g0r5vcVso5sA9wVUT8E1IiuqSBwDoRMa3Ka6hmSkQsiYg3gAXAhzuwjTUIh8haDewEPB4RT0TEW6Qszf3K2uzHirSWm4GPSxKApC8Ci4D5teqQP7JQe1H2/GVg/Tbav9bO80ruIY0WNwa+D3wXGEUqhgACDoiIhcWNJO3cwf13xjus+ONpjbJ1bxYeL8M/b32KQ2StBj4IPFV4/jSwc7U2EfGOpCXA+pLeAL4HfAKoydQmeKTXEzaVNDI/PgSYBQyStHle9nVSinhH/BH4Sn58KCuK2v3ArsDyPIp6GPgWqRgCTALGFv5a2qET/Z8MHCFprbztehGxBHhJ0h4VXsNiYHh+fGAHj/G2pFU70SerkycXwHU/gmtOh1l31rs31oiK5+HzV63OS5wGnBsRS2u0P8B/efeEhcBRkq4kTekdA8wEJuQrJh8ALuvgvsYCV0n6LvAccARARLwp6am8X0jF8Kukc20APwTOA+ZK6keaHvhcRw4YEXdIGgrMkvQWcDvpasvDSUnoawFPlPoC/AS4Kf+g/7aDr+vy3LfZlc7rmVnfERGXk/5PV/IMsEnh+Yfyskptns6/IwcCL5BGhAfmi+DWAZZLeiMiLupOfxVRPhtn1jDCN5w2S/INp9WZbX73mfecbqm5T99evU+5iD1KurbhGdIf/YdExPxCm6OAbSPiSElfAb4UEV8u289pwNKI+El3++uRnpmZ9Yh8ju5o0imX/sCVETFf0unArIiYCPwSuFbS48CLrDil0yM80mtRkrYlXRFa9GZElJ9krif/cJqtrE+N9BqRR3otKiLmkT5HZ2bWMlz0rKH5nJ5Z4hDZ2vBHFszMrGW46JmZWcvw9KaZVeUQWWs2HulZj5F0mqQTc+LCxoXlV1S46aw1GIfIWjNy0bPeMJp0n1AAIuL/i4gF9euOdYRDZK0ZuehZTUk6WdKjkv5AilkCGAGMzxl6axYz+KxxOUTWmpHP6VnNSBpOupvCUNLP1mzgQdJNt0+MiFm5Xd36aGatzSM9q6U9gFsj4p8R8QowsbM7cHJ643CIrDUjFz1rKE5ObxwOkbVm5KJntXQP8MV83u59wOfz8leB99WvW9YVxRDZr50Mjz3kEFnr+3xOz2omImZLuhGYAzxLihEBGEfK4nsdGFllc2tATy5IX9Y3Pb55+21ajYue1VREnAGcUWHVrwuPR/VOb8zMVubpTTMzaxkuemZm1jI8vWkNzXEqZlZLHumZmVnL8EjPGppDZM0Sz3rUhkd6ZmbWMlz0zMysZXh608yqcoisNRuP9MysIofIWjNqmqInaZCkR+rdj0YiabGkD+THf8zfB0k6pL49s77AIbLWjJqm6HWHpP5lz3t02rc7++/qthGxa344COjVotfT76f1DIfIWjNqtqK3iqTxkv4k6WZJa0n6uKSHJM2TdKWk1eHdUdBZkmYDB+U07/MkzQKOzSOiqZLmSpoiaVNJ/SUtUrKOpGWS9sz7u0fSYElr5+Pcn4+7X14/WtJESVOBKdVegKTv5b7OkXRmXlbetw0k/VrSA/lrt9xufUl3Spov6QpAhf0uzQ/PBPbIKebHV+nDkNz/h/PrH5yXH5afz5F0bV72nvcpLx8n6TJJ9wFnV3tfzMx6U7MVvS2BSyLio8ArwAmkO/wfHBHbki7c+Xah/QsRMSwibsjPV8tZbj8FLgSujojtgPHABRGxDFgIbA3sTkoG3yMX0k0i4jHgZGBqROwE7AWcI2ntvP9hwIER8bFKnZf0aWA/YOeI2B44u7C62LfzgXMjYkfgAOCK3OZU4A8RMQS4Fdi0wmFOAqZHxNCIOLfK+3gkcH5EDAVGAE9LGgKcAuyd+3Zsbvue96mwnw8Bu0bECe28L8X3wCGyDcIhstaMmq3oPRURM/Lj64CPA4si4tG87Gpgz0L7G8u2Lz4fCfwqP76WVOQApud97An8OC/fkRUxOvsCJ0l6GLgbWIMVxWdyRLzYRv/3Aa6KiH8ClLW9sazdRfkYE4H3SxqQ+3Rd3va3wEttHKst9wL/Kel7wIcj4nVgb2BCRDxf1rdq7xO5/bL8uK335V0OkW0cDpG1ZtRs51qi7PnLwPpttH+tneeV3EMaLW4MfB/4LikqZ3peL+CAiFhY3EjSzh3cf0f62g/YJSLeKDtGN3a/QkT8Kk9Lfha4XdK3urirYp8rvi/WuIohsv36wYKZDpG1vq/ZRnqbSiqFlB4CzAIGSSpFKX4dmNbBff0R+Ep+fCgritr9wK7A8lx0Hga+RSqGAJOAscoVSNIOnej/ZOAISWvlbder0u5OYGzpiaSh+eE95ItU8lTpuhW2bTfFXNK/AU9ExAXA/wDbAVNJ5z7XL+tbtfepXHfeF6uTJxfAdT+Ca06HWXfWuzdm3ddsRW8hcJSkP5F+4Z8LHAFMkDQPWA5c1sF9jSUVoLmkYnksQES8CTwFzMztppOKSGni54fAqsBcSfPz8w6JiDtI05Wz8jTgiVWaHgOMyBePLCCdgwP4AbBnPu6XgL9U2HYusCxfjFLxQhbgy8AjuQ/bANdExHxSOOw0SXOAn+W2Fd+nCrr8vpiZ1YoiymcEzRpG+IbTZkm+4XSnzmFceMx7TvnU3NgLOtenemu2kZ6ZmVlVzXYhS58gaVvSlY5Fb0bEzr3cj08CZ5UtXhQR+/dmP9riOBUzqyUXvTqIiHnA0HYb9nw/JpEuMDEzawkuetbQfE7PLPGsR234nJ6ZmbUMFz0zM2sZnt40s6ocImvNxiM9M6vIIbLWjJqu6Ek6Rila6CVJJ3Viu3bDVSUNlfSZwvMvdOYYnaVCCGxvyBFGI3rreNbYHCJrzajpih7wHeATEbFuRJxZvlLVA00H0X646lDg3aIXERMrHcPalzMJm/Hnr2k4RNaaUVP90pF0GfBvwO8kHS/pory8PND0Yzkg9eEcaPo+2glXlbQacDpwcG5zsFIwbPEYl0qaKekJSaNyaOqfJI0r7GdfSfdKmi1pQo4EasvY3HaepK3yPtaT9N/53pszJW2Xl58m6WpJ0yU9KelLks7O294hadXcbrikaZIelDRJ0kaF4309v75HJO1U2O+79wHN6wZJOl3ScYXlZ0g6Nj/+rlLA7VxJP8jLBklaKOka4BFgk/b/Vc3Maqepil5EHAn8lRRSWp4lVww0PRE4Koek7gG8TjvhqhHxFilK6MbcpjyLD9JNrkcCx5NuHH0uMATYNk+NfoAUxLpPRAwjpUCc0M7Lej63vZQVN6D+AfBQDm79T+CaQvvNSNl3XyBl692VA3RfBz6bC9+FpDDb4cCVpBtJl6yV35fv5HVtuRI4DCCP2r4CXCdpX2AwsBNpdDxcOWE+L78kIoZExJPlO5RDZBuGQ2StGbXS1ZvFQNMZwM8kjQduiYinVZssutsiInKiwz9gZj5xAAAgAElEQVTynVfIqQKDSIV3a2BGPt5qpMDWttySvz9ISk6AFNR6AEBETJW0vqT353W/i4i3cx/6A3fk5fNyH7YkJSdMzn3oD/ytcLzr837vkfR+SYVfeyuLiMWSXlCKCdqQVIhfyEVvX+Ch3HQAqdj9BXgyImZW3mMKkQVK1c43nK6jYojs0iUpRHbS1fXulVn3tFLRezfQNCLOlPRb0vm5GfkelLXwZv6+vPC49HwVYBkpPf2rXdjnMjr27/UmQEQsl/R2rIjRKPVBwPyIGFll+/K7sgfwDivPCqxReHwFMBr4V1aMDAX8OCJ+XtyRpEF0L0jXepFDZK0ZNdX0ZkdJ2iwi5kXEWcADwFZ0IFy1g23aMhPYTTnUVtLakrbown6mkwJbkTSKNAX6Sge3XQhsoBy2K2lVSUMK6w/Oy3cHlkTEEmAxMCwvHwZ8pND+VuBTwI6suI/nJOAbpfOVkj4o6V86+RqtAThE1ppNK430io6TtBdp9DMf+F1+vEwpIHVcpfN6wF3ASUrhqj/u7EEj4jlJo4HrJa2eF58CPNrJXZ0GXKkU3PpP4PBO9OEtSQcCF0gaSPoZOI/0PgC8IekhUuDrN/KyXwOH5Wna+4r9zfu7C3i5NH0cEXdK+ihwb55CXQp8jTRaNTOrG4fIWrfkC1hmAwdFxGM13r3P6ZllDpGtjZac3rTakLQ18DgwpQcKnplZzbXq9Gab1MvhqpJuZeXzZADfy3l3DSsiFpA+F9ljHKdiZrXkoldBb4erNlJSuZlZM3PRs4bmc3pmiWc9asPn9MzMrGW46JmZWcvw9KaZVeUQWWs2HumZWUUOkbVm5KJXJ5KW1rsPZm1xiKw1Ixc9q0qJf0ZalENkrRn5F1qd5cJyTg5mnSepdMPnAZKmFAJk98vLB+Vg2l9Imi/pTklrtrH/uyWd34lg2PcEvUpaKuncfLwpkjbI2wxVCrGdK+lWSevm5cdIWpCX35CXra0Uqnu/UnDvfj31npqZVeOiV39fIgWtbg/sA5yjlGT+BrB/DpDdC/ipVoT+DQYujoghwMvkbL02dCYYtrT/YtDr2sCsfLxpwKm53TWkO8dsR8rrKy0/CdghLz8yLzsZmBoRO+XXc46ktcsP7BDZxuEQWWtGLnr1tztwfUQsi4h/kIrKjqQby/5XTlL4PfBBUlArpFuiPZwfP0gKh23Lu8GwQJvBsFl50OtyoJQUfx2we05oWCcipuXlVwOldPS5wHhJXyNl8UEKlS0lVNxNyuTbtPzAEXF5RIyIiBFjxoxpp5vWk4ohsv36pxDZRfPq3Suz7vFHFhrXocAGwPCchL6YFeGtxYDaZUDV6c2ss8Gw7QW9tnfn9s+SCuDngZMlbUsq4gdExMJ2trUG4RBZa0Ye6dXfdOBgSf3zubI9gfuBgcCzueDtBXy4G8fobDBsuX7AgfnxIcAf8j5ekrRHXv51YFq+8GWTiLgL+F5+HQNI9zIdW5qilbRDN16P9RKHyFqz8Uiv/m4FRgJzSCOo/4iIv0saD9wmaR4wC/hzN47RqWDYCl4DdpJ0CvAsuYiSwmsvk7QW8ARwBNAfuC5Pfwq4ICJelvRDUljt3FwYFwGf68ZrMjPrNIfINjlJdwMnRsSsbuxjaUQMqF2vOswhsmaZQ2Rrw9ObZmbWMjy92SQkXQzsVrb4/IgY1d1912mUBzhOxcxqy0WvSUTEUfXug5lZo3PRs4bmc3pmiWc9asPn9MzMrGW46JmZWcvw9KaZVeUQWWs2Hum1kJygcEgXtx0ladda98kal0NkrRm56DUYSf17aL+rkG5M3aWiB4wCXPRaiENkrRm56PWiPNL6s6TxORPvZklrSVos6SxJs4GD2sipq5aNVzGrTtJoSRMlTQWmAGcCe+Ttj5d0j6Shhf79QdL2lfpNigg6Pm+7h6RFklbN699fet7ZPlrjcoisNSMXvd63JSmr7qPAK6SMO4AXImJYRNxA9Zw6qJyN11ZW3TDgwIj4GCnnbnpEDI2Ic4FfAqMBJG0BrBERc8o7HBGLgcuAc/O200nxQJ/NTb4C3BIRb3exj2ZmvcJFr/c9FREz8uPrSHl6kPPq2smpg8rZeG1l1U2OiBer9GUC8Lk8YvsGMK4Tr+MK0g2myd+v6kYf3+UQ2cbhEFlrRr56s/dVyraD9jPs2tq+YladpJ3b2m9E/FPSZGA/4MvA8A72gYiYkadrRwH9I+KRrvSxwn4vB0rVzjecrqNiiOzSJSlEdtLV9e6VWfd4pNf7NpU0Mj8+BPhDcWW1nLpCk0rZeB3NqnsVeF/ZsiuAC4AHIuKlNvpdadtrgF+x8iivu320BlEMkf3ayfDYQw6Rtb7PI73etxA4StKVwALgUmBsWZtKOXUllbLxOppVNxdYJmkOMC4izo2IByW9wnsLV7nbgJvzBShj83m98cCPyNOZNeqjNZAnF6Qvs2bhotf73omIr5UtG1R8EhEPA7tU2f66iDiurP3rwLfKG0bEOArn6fKFJnsX20jamDTibzMXOyIeBbYrW7w7cHNEvFy2vMN9NDPrTS56LUzSYcAZwAkRsbyT214IfBr4TE/0zcysJ7jo9aJ86f823dh+VM06k/Z3Dem83LskHQEcW9Z0Rnl0UUSUT8n2SB/NzGrJRc9WEhFX0f75vV7jOBUzqyVfvWlmZi3DIz1raP6cnlniWY/a8EjPzMxahouemZm1DE9vmllVDpG1ZuORnplV5BBZqwVJn5K0UNLjkk6qsH51STfm9fflKLPSuv+bly+U9Mla9MdFr8lJGiHpgvy47unnOSvQH2jvAxwia92VQ7EvJt3IYmvgq5K2Lmv2TeCliNgcOBc4K2+7NSm2bAjwKeCSWoRsu+g1uYiYFRGlayBHUf/086H4Li59gkNkrQZ2Ah6PiCci4i3gBlKqS9F+pAg1gJuBj+cb0+8H3BARb0bEIuDxvL9ucdHrY3KczyOF5ydKOi0nlp+Vk8kfLaU05NHdbyqln1fZ/4Y5rX1O/to1Lz8hJ6E/Ium4tvqSH7+nP5JWA04HDs59OLhH3iQzaxQfBJ4qPH86L6vYJiLeAZYA63dw207zhSzNZZWI2ClPH54K7FNaERGLJV0GLI2In7SxjwuAaRGxf55KGCBpOCnpYWdSLt59kqYBbUURvac/EbGPpO8DIyLi6EobSBoDjAH4+c9/XnpodeAQ2b7vscE9f4zi/9ns8pyL2ZBc9JrLLfn7g5QlN3TC3sBhABGxDFiSc/FujYjXACTdAuwBTKx1fxwi2zgcImsdUfZ/ttwzwCaF5x/Kyyq1eVrSKsBA4IUObttpLnp9zzusPC29RuHxm/n7Mnrn37atvtSjP1ZDxRDZfv1gwUyHyFqnPQAMlvQRUsH6Cik8u2giKUP0XuBAYGpEhKSJwK8k/QzYGBgM3N/dDvkXUd/zD+BfJK0PLCUFsd7RwW1fBd7fTpspwLeB80rTm8B0YJykM0nTm/uTEt270pdKCezWoBwia90REe9IOhqYBPQHroyI+ZJOB2ZFxETgl8C1kh4HXiQVRnK7m0hh2+8AR+XZp25x0etjIuLt/ANzP+kvpz93YvNK6efljgUul/RN0gjt2xFxr6RxrPgr64qIeAigC325CzhJ0sPAjyPixk7038z6mIi4Hbi9bNn3C4/fAA6qsu0ZpMzPmlFE1HJ/ZrXkc3pmWb7htDqzzTEX0uO/4C8Y27k+1Zs/smBmZi3D05stStLJvHdKYUKeTmgYjlMxs1py0WtRPTFXbmbW6Fz0rKH5nJ5Z4lmP2vA5PTMzaxkuemZm1jI8vWlmVTlE1pqNR3pWUUdz75yP17wcImvNyEXPqulo7p3z8ZqUQ2StGbnotaNKjtxhkubmvLlr87L35NB1IG/u/Jwr94iknfLynSTdK+khSX+UtGVePlrSLZLukPSYpLML+/2UpNn5uFMk9cttNsjr+0l6vPS8wms8KPdhjqR7KuXeVepXlXanSTqxsO9H8vuwtqTf5mM84iy9xucQWWtGPqfXhio5cg8ApwC7RsTzktbLzd+TQwes284h1oqIoZL2BK4EtiHdv3KPfKPWfYD/Ag7I7YcCO5DSCxZKuhB4A/gFsGdELJK0XkQsl3QdcChwHilXb05EPFelH98HPhkRz0haJyLeKs+9k/T+8n5FxAEV2p1W5RifAv4aEZ/N7fzr08x6nUd6bXs3Ry4ilpLy4UaQ7lzyPEBEvJjb7g1cmpcti4iOxG1en9vfA7xf0jqkLKkJeYR4LjCk0H5KRCzJN2hdAHwY2AW4JyIWlfXnSnIuHvAN4Ko2+jGDlKLw76Q7oVfSVr86Yh7wiZymvke190fSGEmzJM26/PKGzaFsCQ6RtWbkotez2subK78ZbAA/BO6KiG2Az1M5Lw/ayaiLiKeAf0jaG9gJ+F0bbY8kjV43AR7MUUHl2upXUcXXHBGPAsNIxe9HeYRYqS+XR8SIiBgxZoxT0+upGCLbr38KkV00r969MuseF722TQe+KGktSWuTcuRmAQeVCkNherOUQ4ek/nn67t28OUmrk/Lmig7O7XcHluTRz0BWpAOP7kAfZwJ75pDGYn8ArgCuI41Mq+ZQSdosIu7LcR/PkYpfee5dtX6Vt1tMKm5IGgaU+rUx8M+IuA44p9TGGlcxRPZrJ8NjDzlE1vo+n9NrQ0TMrpAjN0PSGcA0ScuAh0hFoFoOXVt5c29IeghYlTQFCXA2cLWkU4DfdqCPz0kaA9wiqR/wLPCJvHoiaVqzralNgHMkDSadt5wCzAH+QiH3ro1+3VXW7tfAYZLmA/cBj+Z22+bjLAfeJv+BYI3NIbLWbJynVyeS7gZOjIhZPXiMEcC5EbFHTx2jhzlPzyxznl5teKTXpCSdRBpNHVrvvpiZNQoXvTqJiFE9vP8zgTOLy9RHMvTMzHqKpzetkfmH02xlnt7sJl+9aWZmLcPTm9bQfCGLWeIQ2drwSM/MzFqGi56ZmbUMT2+aWVUOkbVm45Fek8uxPof09v5qfVzrfQ6RtWbkotcAchRRT+x3FWAQUMvi09H91fq41sscImvNyEWvh+URz58ljZf0J0k35xtYL84xO7NJN7AeKmmmUjjtrZLWzdtXC5tdW9KVku7Pwa775eWjJU2UNJV0H80zgT3y9sfnkNihhf79QdL2Vfr+sbzdw/kY76uwv0GSpiuF2M6WtGvevLxdf0nnSHogv8Zv9dR7brXhEFlrRj6n1zu2BL6Zb1Z9JfCdvPyFiCglEswFxkbEtHyT6lOB43K7SmGzJwNTI+IbOYfvfkmlMy7DgO0i4kVJo0j3+PxcPs6LpBtkHydpC2CNiJhTpd8nAkflfg8gBdaeVLa/tYBPRMQb+abV15MyB8vbjSElSeyYEydmSLqzlANoZtYbPNLrHU9FxIz8+DpSOC3AjfBuivg6ETEtL78a2LOwfaWw2X1ZkW5wNym3btPcfnIhTLbcBOBzkkrJDuPa6PcM4GeSjsn9e6dCm1WBX0ial/e9dZV97UtKX3iYlL6wPjC4vJFDZBuHQ2StGXmk1zsqhcUCvNaN7QUcEBELiysk7dzWfiPin5ImA/sBXwaGt9H2TEm/BT5DGpl9skKz40m5gduT/oh6o8ruRBrJTqp2vHzMy4FStXPKQh0VQ2SXLkkhspOurnevzLrHI73esamkkfnxIcAfiitzeOxLkkoRQF8HphWaVAqbnQSMlaS8bocqxy4PeYUULnsB8EBEvFSt0zlcdl5EnAU8AGxVYX8Dgb9FxPLc79JFOeXtJgHfziNMJG2hFMxrDcohstaMPNLrHQuBo/L5vAXApcDYsjaHA5flc2RPAEcU1lUKm/0hcB4wN4fHLuK9yewAc4FlkuYA4yLi3Ih4UNIrtB8ue5ykvYDlwHzgd/nxu/sDLgF+Lekw4A5WjDLnlrU7n3RF5+xcqJ8DvtjO8a3OHCJrzcYpCz1M0iDgNxGxTRe3v5sah81K2ph0HnCrPEJrVJ7eNMscIlsbnt5sMXlEdh9wcoMXPDOzmvP0Zg+LiMWkjxh0dftRNetM2t81wDXFZZKOAI4tazojIo6q5bHNzOrNRc+IiKto//xeXThOxcxqydObZmbWMjzSs4bmC1nMEs961IZHemZm1jJc9MzMrGV4etPMqnKIrDUbj/Ssx0i6Pd8c2/ogh8haM3LRsx4TEZ+JiJfbb2mNyCGy1oxc9KwmJB1ZCJxdJOmuHJT7gWpBuvXus7XNIbLWjFz0rCYi4rKIGArsCDwN/KysyZbAJRHxUeAVVgTpmpn1Ghc9q7XzSYnut5UtrxakuxKHyDYOh8haM/LVm1YzkkYDHwaOrrC6WpDuygsdItswHCJrzchFz2pC0nDgRGCPKukNm0oaGRH3UiFI1xpPMUS2Xz9YMNMhstb3uehZrRwNrAfclcPcy/P/KgXpWoNziKw1Gxc9q4mIOKLaOkkDgHci4mu92CUzs/fwhSxmZtYyPNKzHtfdIF0zs1px0bOG5jgVM6slT2+amVnL8EjPGpo/p2eWeNajNjzSMzOzluGiZ2ZmLcPTm2ZWlUNkrdl4pGdmFTlE1ppR0xQ9SX+sdx+amaRRknatdz+s9zhE1ppR0xS9iOixX8iS+uQ0cI37PQpw0WshDpG1ZtQ0RU/S0vx9lKS7czp3Ka1bed2ZkhZImivpJ3nZOEkHVtnPdEkTSTdIRtJ/S3pQ0nxJY4rbSDpD0hxJMyVtmJdvKOnWvHxOaaQk6WuS7s8p4z+X1L+t1yXp3HzMKZI2yMs3k3RH7s90SVsVXs9lku4DzpY0QNJVkubl131AbrevpHslzZY0Id8fk5x2/oO8fJ6krSQNAo4Ejs993kPS5yXdJ+khSb8vvOYNJE3O/b1C0pOSPtDZ121m1hOapuiV2QE4Dtga+DdgN0nrA/sDQyJiO+BHHdjPMODYiNgiP/9GRAwHRgDH5H0CrA3MjIjtgXuAf8/LLwCm5eXDgPmSPgocDOyWk8aXAYe20Ye1gVkRMQSYBpyal18OjM39ORG4pLDNh4BdI+IE4P8BSyJi2/y6p+YidAqwT0QMIyUinFDY/vm8/FLgxHwbscuAcyNiaERMJ0UD7RIROwA3AP+Rtz2VFCI7BLgZ2BSgo6/bIbKNwyGy1oz65LRdB9wfEU8DSHoYGATMBN4AfinpN8BvOrifRYXnx0jaPz/eBBgMvAC8Vdjfg8An8uO9gcMAImIZsETS14HhwAN5ALom8GwbfVgO3JgfXwfckkdluwIT8j4AVi9sMyEfD2Af4CulFRHxkqTPkf4gmJG3Xw24t7D9LYXX8qUq/foQcKOkjfL2pfdpd9IfF0TEHZJeyss/3pHX7RDZxuEQWWtGzVr03iw8XgasEhHvSNqJ9Mv3QFL+297AO+QRr6R+pF/gJa+VHkgaRSogIyPin5LuBtbIq9+OiFIS+DLafl8FXB0R/7drL43I/X05j5gqea3K8mIfJkfEV6usL71/bb2WC4GfRcTE/N6c1oFjdud1Wy9ziKw1o2ad3nyPPDoaGBG3A8cD2+dVi0kjEIAvAKtW2cVA4KVc8LYCdunAYacA387H7y9pYF52oKR/ycvXk/ThNvbRj1SkISeOR8QrwCJJB+V9SNL2VbafDBxVeiJpXdKodzdJm+dla0vaosr2Ja8C7ys8Hwg8kx8fXlg+A/hy3u++wLp5eWdftzWAJxfAdT+Ca06HWXfWuzdm3dcyRY/0C/s3kuaSzkeVzmH9AviYpDnASKqPku4AVpH0J+BMUuFoz7HAXpLmkaYKt46IBaTzaXfmvkwGNmpjH68BO0l6hDQyPT0vPxT4Zu73fGC/Ktv/CFhX0iO57V4R8RwwGrg+9+FeYKt2XsttwP6lC1lII7sJkh4Eni+0+wGwb+7vQcDfgVe78LrNzGpOK2blrBFJWhoRA+rdj46StDqwLE8njwQubWMatj0+p2eW5RtOq51mKznmQnr8F/wFYzvXp3pr1nN6Vj+bAjfl86NvseJKVjOzunPRaxD5c3Wrly3+el8a5QFExGOkj4zUhONUzKyWXPQaRETsXO8+mJk1Oxc9a2g+p2eWeNajNlrp6k0zM2txLnpmZtYyPL1pZlU5RNaajUd6ZlaRQ2StGbnoNQlJg/JdULqybbsBsZK+KGnrrvXO+iKHyFoz8vRmg5PUv5CY0FNGAUuBttLnv0hKkljQw32xBlEpRPZffbfUPuXxzevdg8bjkV4d5dFZKej2T0rBt2vlINezJM0GDpI0VCmcdq5SKO26efvhygG1rHxT6dGSLio8/01OQkDSp3JA7BylUNpBlAXEVujnrqSbcZ+T22yW+1ZaP7j0PPf9bKUA2vsLN7XeQNKvJT2Qv3ar+RtqZtYOF7362xK4JCI+CrwCfCcvfyEihkXEDcA1wPdyCOw8VgTJXkUKkq2WsLASpdT1XwAH5G0OqhIQu5KI+CMwEfhubvO/pGzA0j01j8h9KVkSEdsCFwHn5WXn52PsCBwAXFGljw6RbRAOkbVm5KJXf09FxIz8+DpSCCvk4NgcR7ROREzLy68G9pS0Tl5+T15+bQeOtQtwTykYNyJe7Ea/rwCOkNSflIj+q8K66wvfR+bH+wAX5VDficD7c9zTSiLi8ogYEREjxowZ043uWXcVQ2T79U8hsovm1btXZt3jc3r1V34X9NLz9oJg2/JuMG62RrWG3fBr0ohzKvBgRLxQWBcVHvcDdomIN3qgL9YDHCJrzcgjvfrbNEfwQA6JLa6MiCXAS4VzbV8HpkXEy8DLkkojw0MLmy0GhkrqJ2kTYKe8fCZplPgRSEGueXl5QGwlK7XJxWsScCkrT21CGvmVvt+bH98JjC01KEyNWgNziKw1Gxe9+lsIHJXDadclFZFyh5MuIpkLDGVFkOwRwMV5yrCYaTUDWES60vICYDZADo8dA9ySL365MbcvD4it5Abgu5IekrRZXjYeWE4qaEXr5r4eS0qpBzgGGJEvxllAunjGzKxXOUS2jvKVk7+JiG3q3JUukXQiMDAi/l9h2WJgREQ8X3XDjnOIrFnWlRDZz/yu50Nkb/+0Q2StBUi6FdgM2LvefTEz6yiP9Gwlkk4GDipbPCEizqhDd/zDabYyj/S6ySM9W0kubvUocGZmPc5Fzxqaz+mZJQ6RrQ1fvWlmZnUhaT1JkyU9lr+vW6Xd4bnNY5IOr7B+YkdvuO+iZ2Zm9XISMCUiBgNT8vOV5M8TnwrsTPrM8anF4ijpS6Qb5neIi56ZmdXLfqRbK5K/f7FCm08CkyPixYh4CZgMfAog38rwBOBHHT2gz+mZWVVOTrcetmFE/C0//juwYYU2HwSeKjx/Oi8D+CHwU+CfHT1gU4z0JI2TdGC9+9FIivFCko6UdFhh+cb17Z31BU5Ot44oJqPkrzFl638v6ZEKX/sV20X6/FyHP2KRb2W4WUTc2pn+tvxIT9IqEfFOtec9dMwuBcN2tW8RcVnh6WjgEeCvnd1PV0gS6fOgy3vjeFY7xeR0WJGc/qBvOm0FEXE5UDUHLCL2qbZO0j8kbRQRf5O0EfBshWbPkIKuSz4E3E1KcBmR7wK1CvAvku6OiFG0oWFGepIOy/dlnCPpWqWA1al52RRJm7azi33yXxmPSvpc3ucakq7KgaYPSdorLx+dr/aZCkyRNErSdEkTycngkk4o/EVyXF72XUnH5Mfn5u2RtLek8fnxvpLuVQpqnVCKz1FZMGyV92Dz/FfRnLz9ZlX69jWlgNaHJf08x/sg6Yj8+u8Hdivs9zRJJ+bR8AhgfN52zSr9OFPSgvze/yQv21ApwHZO/tq1jfdpkKSFkq4hFdhNqr0v1rgqJacPGFi//lhTmki6tzD5+/9UaDMJ2FfSuvkCln2BSRFxaURsHBGDSJFsj7ZX8KBBip6kIcApwN453PRY4ELg6hycOp504+S2DCJd2fNZ4DJJa5DSxCMHmn4VuDovBxgGHBgRHys8PzYitpA0nHQz551JGXT/LmkHYDpQuiHzCGCApFXzsnskfSC/jn0iYhgwi3SStaQYDFvJeODi/B7sCpTmuot9+ygpvWC3iBgKLAMOzX8l/YBU7HYHti7feUTcnPt0aA6Dfb28jaT1gf2BIfm9L50gvoCU7rB97s/8Nt4ngMGkcNwhpJiktt6X4vEdImvWOs4EPiHpMVLm5pkAkkZIugLezf38IfBA/jq9O1mgjTK9uTfpVlfPQ3qRSnE7X8rrrwXObmcfN+UptMckPQFsRfrlf2He558lPQlskdtPLnvj7i+Fq+btbo2I1wAk3UIqbJcCwyW9H3iTlF4wIq87hvSLf2tgRprVYzVWROvAilSD95D0PuCDpfnpUu5c3k+xbx8HhgMP5HVrkqYEdgbuzkkKSLqx8Fo7YwnwBvDL/7+9O4+Tq6j3Pv75ssgqYZELiCLKIpsQSAiyGnYeHhQQkE0wBo0gu+IjCmoAgYBXXFCEwA0BjF52iIAECIQlEJKQkISEJUjgAhcVZBFkMYTf80dVM2c63dM9mZlMT/f3/XrlRffpOqfqnJnXFFXndH0l3QLckrfvAhyZ27aAlJxe7TqNBZ6LiEl531rX5UNlUyVecLoXOTndelrO4dy1wvapwDcK70cBozo4zrNAXQv3N0qn1x2qhbFWUx7SWjO0NSLmS5pHui/2IDAT2BlYH3ictADznRFxaJ111qu4n0gj4B8UC0iq9Khvp0XE+5IGkX4RDwSOY9EWlS5vc0fXxRpQMTn9rTdScvq4K2rvZ9bIGmJ6k5S+fVCeWit9GfFB4JD8+eGkqcWOHKQUmroe8BlSTt39eV8kbQisk7fXcj+wn6TlJa1Amu67v/DZKcB9+fXRwPT85NEkYHtJ6+c6V8j11hQRbwIvlDovSctIWr5C0fHAgZL+I5dbVdKngIeBL0haLU+5VrxvSI3A2HyvrV9E3EbKwtuiUO8xucySkvrR8XUqWuTrYr2nmJz+1dNg7nQnp1vf1/aaSokAACAASURBVBAjvYiYLels4F5JC4DppJTtyyV9D3iZdO+oI/8DTAZWAo6OiHclXQT8TtIs4H1gSES8l6fYOmrPNEmj8/EALouI6fn1/cBpwEMR8S9J7+ZtRMTLkoYAf5S0TC5/OvBUXRcipaJfIulMYD4VOq6ImCPpdOAOSUvkcsdGxCRJw0nThq8Dj1apYzTpnuc7wLYV7ut9FLg53/sUbffeTgRGSjqKdB/xmIh4qNJ1UsoJLLa5q9fFeslzc9I/s2bhaCFrZL6nZ5Y5RLZ7NMr0ppmZWY9riOnNeqmxAk4XmaTfUvgeXfariLh8MbfjRuDTZZu/HxHjFmc7OuI4FTPrTp7etEbmX06z9jy92UV9aqRnrcf39MwSz3p0D9/TMzOzluFOz8zMWoY7PTMzaxm+p2dmVTlE1ppN04z0JPWXtHcDtONLkk7t7XZ0t0a5vrb4OETWmlFTdHqSlgL6A73+RzkixkbEiJ46fj7X3tAQ19cWn2KI7AcL2kJkzfqyXu30ctjoE5JG5/DTMZJ2kzRR0lxJg/KCyjflQNNJkjbP+w5XCpudSIoeOhM4WCkc9WBJq0u6U9JsSZdJei7n3ZGP90j+bFihPUfldkyWdKmk3+Ttq0u6XtKU/K/8i+XFcxpS2G+0pF9LelDSM0ohrkhaS9J9ua2PSdoxb3+rcJwD87qWpeNcLOlh4Px8XR5SCsZ9UNJnC3XfIOn2fP3OLxxvL6UA1xmSxudtK0galc93uqR9q5zTRypc37mSVs+fLyHp6XydSm0tD/RdUtLP8vWbKelbnfhVsV7gEFlrRo1wT2990iorQ0kBgYeR8uy+BPwQeJ6UYrCfpF2AK0mjDkgZbTtExDt5QeOBEXEcQO547o6IcyXtBRxVqHNozuxbjpRLdz2wDPAjUkDqm6Tkhxm5/K+AX0TEA0oJ7uOAjes8v7Xy+WxEypm7Lp/juIg4Wyn1vFKaQrlPANtFxAKlPL8dcwzQbsA5wAG5XH9gS1Le35OSLiTl410K7BQR85RSLCAtnH13RAyVtDIwWdJdpXy8koj4t6Qf0/76bkRKsPglKfxxRl5YGtoCfdcD7lFKVzgSeCMits6LTk+UdEchJ5B83GHAMIBLLrmk9NLMrFs0Qqc3LyJmAUiaDYyPiFBKRlgX+BT5D3pE3K0UnbNS3ndspfTvbAdS1A0Rcbuk1wqfnSBp//z6k6SU7zVJyeCv5rZcS1sI627AJmpLZ1hJ0ooR8Ra13ZTDbedIWiNvmwKMUooAuikiqiUiFF2bw1sB+pFS4DcgrVqydKHc+Ih4I5/DHNL1WwW4r9TBFMJz9wC+JOmU/H5ZUvzS43W0ZxRwM6nTGwoUl1CrFOi7B7B5abSbz2EDoF2n5xDZxuEQWWtGjdDpvVd4/UHh/Qek9s3vYN9Oh7JKGkzqxLaNiLclTSD9se/IEsDnS2nmnVQ8PwFExH2SdgL+LzBa0gURcSXtl90qb1PxXM8C7omI/ZVifCZUqW8BHf+MBRwQEfVkDLYTEc9L+lsefQ8i5xaWPi4vnus6vpHW9bSOOUTWmlFfeJClGAQ7GHglIv5ZoVx5OOpE4Ct5vz1Iox1II4zXcoe3EfD5vH0KKYR1FaWHRQ4oHOsOUr4f+Xj96QKl0Ne/RcSlwGWkKVWAv0naWCknb/+qB0jn8GJ+PaSOKicBO0n6dK6/NL05DjheeQgracsOjlEpfPYy4Pe0H4VC5UDfccAxeXSLpA2VgmetQTlE1ppRI4z0ahlOmgqcCbwNfK1KuXuAUyU9CpwLnEEKLT2CFKz6V9If7tuBoyU9TvpjPAkgIl6UdA4pEPVV4AmgNJlzAvDb3IalSKnpR3fhnAYD35M0H3iLdL8L4FTgFlJo7lRgxSr7n0+a3jwduLVWZfle2zDghtyh/h3YnTRi/CUwM2+fB+xT5TDtrm9EXE26R3k57ac2oXKg72Wk6eppuZN9GdivVtutdzlE1ppN06Ys5IclFuSHPbYFfhcRHY7QSvfp8kjvRmBURNy4ONrbF0kaSHrAZ8fCttHALRFxXTdU4Xt6ZplDZLtHXxjpLap1gGvyCObfwDfr2Gd4fhpyWdKU5k092L4+TekL+MfQ/l6emVlDa9pOLyLmkh7d78w+p9QulUj6OnBi2eaJEXFsZ+psNJL2BM4r2zwvItrdY8xfwF/oS/gRMaTnWmdm1jVNO71pTcG/nGbteXqzi/rC05tmZmbdommnN605+EEWs8TJ6d3DIz0zM2sZ7vTMzKxleHrTzKpyiKw1G4/0zKwih8haM+q2Tk/ShLxCR3cdr11Stxo8kVzSYEnbNUA7jpZ0ZO2S7fb58Gcn6bYcM9TZehvi/K37OETWmlGnpjfzmonKsTE9rT8wELgNUiI5aa3HhpOXLRtMWkfzwd5sS0Rc3MX9FzUdfTCdPH9JS0XE+4tYn/WwSiGya36q99pj1h1qjvSU0s2flHQl8BhwhFJq9zRJ10paaFFkSYdKmqWUCn5eYXul9O6FUsBVOam7mEi+rqS7lRK4xysFu1ZNKq9yXoMl3Svp5lx2hKTDlVLEZ+WEgFp1ldLMryEtQH1ybu+OktZTSnqfJemnyqnoklbMx5mWP9u30KYf5Wv9gKQ/Kufc5WPdrpT2fr9SOkS18xpe2G+CpPPyOT2ltoT25ST9t6THJd0ILFfY/1m1Jcwfmc97hqSr8rYvSno4/7zukrSGUrxR+fnXc93Op4ykYUqp61NHjhxZ/rGZWZfUO9LbgJRu8DRwA7BbRPxL0veB75A6KAAkfZy0jNUA4DXgDkn7kaJ+KqV3P0FZCnhEHKCFk7qHFNpzIXBFRFwhaSjwa9pW7K+UVF7NFqQE9FeBZ4DLImKQpBNJUUIn1airmGY+HHgrIv4zt/cW4FcR8UdJxUSGd4H9I+KfuXOZJGksaVR7QG7T0sA04JG8z0hSWsFcSdsAFwG7dHBeRUvlc9ob+AkpS/AY4O2I2FjS5rmudiRtCpyez++Vws/rAVK2YEj6BvD/IuK7ki4uO/8/1XPdyut1iGzjcIisNaN6O73nImKSpH2ATYCJShFsHyHF9hRtDUyIiJcBJI0BdiIFmlZK7+4oBbyabYEv59dX0X7EUCmpvJopEfFSbudfSItMA8wCdq6jrvIcufI2lv7I/wH4z/xawDlKIbIfAGsDawDbAzfnoNp3c6eB0kh6O+BatSW3L1PjvIpuyP99hBTtA+nn8WuAiJipFJlUbpd8fq/kcqWf1yeAqyWtRfr5z6uwLyz6dbMG4RBZa0b1dnql1G4Bd0bEod3Yho5SwBfFQknldZatlNpeS6eT20mpBKsDAyJivqRn6Ti5fQng9VqxSB0onVOtFPV6XQhcEBFjlUJ9hy/CMRblutliVgyRXWIJmDPJIbLW93X26c1JwPaS1geQtIKkDcvKTCYlkH9M0pLAocC9VE/vrpYCXimpu+RB4JD8+nBSunpPqbeu8vZOoi19/ZDC9n7A33OHtzNQejRgIvBFScvm0d0+ADklfp6kgyA9TCRpiy6e033AYfl4mwGbVyhzNykBfbVcrtLPqxjoW37+i/NnZD3kuTnw+5/ClWfC1DtqlzdrdJ3q9PKU5RBSIvlM0tTmRmVlXiIlgN8DzAAeiYib876l9O4ZwNV5l/OBcyVNp/1I5B5gk/xgxMFlTTke+HpuwxEsHPHTneqt60/A/qUHOUj3A7+T91ufthT2McBASbNIielPAETEFNI9yJnAn0lTrKV9DgeOytdtNvDhwy+L6HfAikrp8WfSdu/wQxExGzgbuDfXe0H+aDhpqvUR4JUOzn9x/ozMzOriaKEeIml54J38wMchwKER0WFnpbbk9uVJo7FhEbHQQyYtxA+ymGVOTu8eXoas5wwAfqP09MnrwNA69hkpaRPSPb4rWrzDMzPrdk0/0pP0OdLTg0XvRcQ2vdGe7iLpNOCgss3XRsTZvdGeHtLcv5xmneeRXhc1fadnfZp/Oc3ac6fXRZ7etIbme3pmiUNku4dTFszMrGW40zMzs5bh6U0zq8ohstZsPNIzs4ocImvNyJ1eBZJOyLE7Y3ro+KPVQexRI1CKcvp4d5WzvschstaM3OlV9m1g94g4vFZBpQDZhtGN7RkC1NOZ1VvO+phKIbIr9uu99ph1B3d6ZXIu3GeAP0v6rqSbchDqpJw9VwpqvUrSROAqSUtK+pmkKbnstwrH+75SWOwMSSMq1LerUiDrLEmjJC2Tt4+QNCcfr5RR126EqLZg2sFK4bJjgTl521eVwmMflXRJXvy70vkumY/7WG7DybmOgcCYvP9ykn6cz+8xSSPzwteVyhVDaAdKmpBffyGXeTSfb8XFxOUQWTPrQQ01SmkEEXG0pL1IeXo/AaZHxH6SdgGuBEoRP5sAO0TEO5KGAW9ExNa505oo6Q7SYtz7AttExNuFpAIAJC0LjAZ2jYinlNLpj1FKKd8f2Civ3bkytW0FbJYDejcGDga2z2kOF5EWrb6ywn79gbUjYrPcppUj4nVJxwGnRMTUvP03EXFmfn0VsE9EXFehXLX2nQIcGxETlVIk3q1UyCGyjcMhstaMPNLr2A7kJcwi4m5gNUkr5c/GRsQ7+fUewJGSHgUeBlYjpc3vBlweEW/nY7xKe58F5kXEU/n9FaSA1zdIncJ/Sfoy8HYdbZ1cCugFdiWt/Tklt2lX0ui1kmeAz0i6MHf2/6xSbmdJD+d0iF2ATetoU9FE4AJJJwArR8T7ndzfFrNiiOwSS6YQ2XmzertVZl3jkd6iKwahCjg+IsYVC0jac1EOHBHvSxpE6qwOBI4jdTTvk/9HRdISpOTyau25IiJ+UEddrynl8+0JHA18hbLFsfOI9CJgYEQ8L2k41YNvP2xjsUxEjJB0K7A3aSS8Z0Q8Uat91nscImvNyCO9jt1PmhZEKSX8lRzqWm4caVpy6Vx2Q0krAHeSMuWWz9tXLdvvSWBd5VBeUu7cvXn6r19E3AacDJRCY58ljeAAvgQsXaXd44EDJf1HqV5Jn6pUMN9/WyIirgdOJ02TQvtQ2FLn9UpuW/HJ0/Lw2GIbSyG6SFovImZFxHnAFMpyGK0xOUTWmo1Heh0bDoxSCkJ9m/ZJ4UWXAesC05Ruar0M7BcRt0vqD0yV9G/gNuCHpZ0i4l1JXyeFsi5F6gwuBlYFbs4jLAHfybtcmrfPAG6n/ejuQxExR9LpwB15RDgfOBZ4rkLxtYHLczmA0uhwNHCxpHeAbXPdjwF/ze2kSrkzSNOyZwETCuVOUkqK/4AUhPvnSm03M+tJTlmwRuYHWcwyh8h2D09vmplZy/D0ZguR9DCwTNnmIyKiYZ/Jc5yKmXUnd3otpK+nxZuZdZU7PWtovqdnlnjWo3v4np6ZmbUMj/TMzJrU3A16uwWNx52emVXlEFlrNp7eNLOKHCJrzcidXhdJWj0vxDxd0o693Z6+QNJJpaXZrHE5RNaakTu9LshLh+0KzIqILSPi/jr3q5ht10JOAtzpNTiHyFozavlOT9K6kp6QNEbS45Kuk7S8pAGS7pX0iKRxktbK5SdI+qWkqcCJwPnAvoUQ1UNzGOtjks4r1POWpJ/ndTO3zWGr5+b9pkraKtfzF0lH531WlDRe0rR8zH0LbX5c0qWSZku6Q9Jy+bP1Jd2lFFo7TdJ6efv31BZye0aNa3JkLjcjZ+eV6rw7bx8vaZ28vaNg2wn5epaur3K00MeBeyTdU6Fuh8iaWY9p+U4v+yxwUURsTMqTOxa4EDgwIgYAo4CzC+U/EhEDI+LnwI+BqyOiP7AKcB4pBqg/sLWk/fI+KwAPR8QWEfFA3vY/eb/7SQs3Hwh8nrRoM6RMvf0jYitSqO3P84LWkPL6fhsRmwKv05ZoMCZv3wLYDnhJ0h65/KDcrgGSdqp0ISRtSkpb2CUf48T80YWkuKLNcx31fGtoS9KobhNSnt/2EfFr4H+BnSNi5/IdImJkvrYDhw0bVkcV1lMcImvNyJ1e8nxETMyvf0/KltsMuFMphPV04BOF8ldXOc7WwISIeDmHpI4hhcICLACuLys/Nv93FqlDfDMiXgbeU0pLF3BOTnm4i5SIsEbeZ15EPJpfP0KKKPooKQX9RkgpDjnAdo/8bzowjRTrU+1h5l2AayPilXyMUvDttsAf8uurSAG7tUyOiBci4gPgUVIShfURDpG1ZuSvLCTlK5G/CcyOiG2rlK8Y6VPDuxGxoGzbe/m/HxRel94vRcryWx0YEBHzJT1LW7ZdsfwCYLkO6hZwbkRcsgjtrqWjYNvyNvr3rQ9xiKw1I4/0knUklTq4w4BJwOqlbZKWztN+tUwGviDpY/lhlUOBe7vQrn7A33OHtzNQMQi2JCLeBF4oTalKWiY/JTkOGJoDYJG0tnLAbAV3AwdJWi2XLQXfPggckl8fTpqShfqDbYvKg2etQTlE1pqNO73kSeBYSY+T7stdSLq/dl5+8ORR0v2xDkXES8CpwD3ADOCRiLi5C+0aAwyUNAs4Eniijn2OAE7IU6IPAmtGxB2kqcmH8rGuo0qnExGzSfcv783nfkH+6HhSCvzMXEfpXt+lpI5+BmkKtJ5R8Ejg9koPspiZ9aSWD5GVtC5wS0Rs1stNsYU5RNYsW5QQ2Q2e7vkQ2bnrO0TWzMysIbX8SK9V5Xt24yt8tGtE/GNxt6cK/3KateeRXhf5aboWlTu2/r3dDjOzxcmdnjU039MzSxwi2z18T8/MzFqGOz0zM2sZnt40s6ocImvNxiM9M6vIIbLWjNzpAZJOyFE9r0k6tRP7rSvpsJ5s2+Ig6Ye93QZrPA6RtWbkTi/5NrB7RKwSESPKP8xhsZWsS1qrs6/rlU7PYbqNzSGy1oxavtOTdDEp6+3Pkk6W9Ju8fbSkiyU9DJwv6Qs58PVRSdNzjM8IYMe87eQqxx8i6eYcqDpX0k8Kn92kFFI7W9KwvG2opF8WynxT0i/UFnY7WtJTOZR1N0kT83EH5fIrSBolaXJu576Fdtwg6fZc/vy8fQSwXD6HMVXO4UxJJxXeny3pxPy6YjhtpXPL29uF6VaoyyGyZtZjWv5Blog4WtJepJDWfco+/gSwXUQskPQn4NiImJjTCt4lLS59SkSU71duECmf721giqRbI2IqMDQiXlVKPZ8i6XrgGuA0Sd+LiPnA14Fv5eOsDxwEDAWmkEaZO5DSDX4I7AecBtwdEUNzJt9kSaXHD/qTgl3fA56UdGFEnCrpuBxmW80o4Abglzk+6BBgUFk4rYCxknaKiPsqnVv+QnwpTPe7lSqKiJGkBanBa2/2KofIWjNq+ZFeDdcWMvAmAhdIOgFYOYfE1uvOiPhHRLxD6jxKAawn5BHPJOCTwAYR8RYp3mcfSRsBS0dEKbpzXkTMyqGss4HxkdaRm0VbQOsewKk5/HYCKX9vnfzZ+Ih4IyLeBeZQI6qoJCKeBf4hact8/Om5A+sonHahc8vbK4XpWgNyiKw1o5Yf6dXwYUxORIyQdCuwNzBR0p6dOE75+nchaTCwG7BtRLwtaQJtAbGXkUZuTwCXF/YrD5othtCWfpYCDoiIJ4sVStqGroW6XgYMAdYkjfxKdS0UTlvj3CqF6VoDcoisNSN3enWStF4ecc2StDVpVPM89YWh7p7DWN8hTUEOBdYGXsudwkbA50uFI+JhSZ8EtgI272RTxwHHSzo+IkLSlhExvcY+8yUtnadTq7kROJMUElt6eGcccJakMRHxlqS1gfmk8NuK52Z9y3Nz0j+zZuHpzfqdJOmxHKI6H/gzMBNYIGlGtQdZssmkKb2ZwPX5ft7twFJKwbUjSNOARdcAEyPitU628yxSxzRT0uz8vpaRuXzFB1kAIuLfpHDca0ojtQ7CaWudm5lZr3C0UA+TNAQYGBHHdXK/W4BfRESl+J/FLj/AMg04KCLmLqZq/SCLWeYQ2e7hkV6DkbSypKeAdxqow9sEeJr0IMzi6vDMrMlJWlXSnflrVHdKWqVKua/lMnMlfa2w/VBJs/JXpm6X9LGadXqk1z3ygy3nlW2eFxH790Z7FoUaL1jWv5xm7TXVSC9/X/jV/KDgqcAqEfH9sjKrAlOBgaS/CY8AA4A3gf8FNomIV/Kx3o6I4R3V6QdZuklEjCM92NFnOVjWzBazfYHB+fUVpK9Zfb+szJ6kr329CiDpTmAv0jMEAlaQ9A9gJdKMVIfc6VlD8z09s6RRQ2TzikvDCptG5kUm6rFGRLyUX/8VWKNCmbVJT8qXvACsHRHzJR1D+p7yv4C5wLG1KnSnZ2Zmi6xsFaWF5BWhKuVznFZ2nJBU93SspKWBY0irTD0DXAj8APhpR/u50zMzsx4TEbtV+0zS3yStFREvSVoL+HuFYi/SNgUKaXnICeRbMRHxl3ysa0hLQ3bIT2+aWVXrbAxfPQ2O+BEMqPqny2yRjQVKT2N+Dbi5QplxwB6SVslPd+6Rt70IbCJp9Vxud+DxWhV6pGdmFZVCZG/6bYoVOvgUeOYxeM1LkVn3GQFcI+ko4DngKwCSBgJHR8Q38sL1Z5EW2Qc4s/BQyxnAfZLm5/2H1KqwqUd6cjhsb+XkrSzp24X3g/OX7a0PcYis9bS8EP+uEbFBROxW6swiYmpEfKNQblRErJ//XV7YfnFEbBwRm0fEF+v5alVTd3o4HLa3EtFXJl1768McImvNqGk7PTkctp5w2HrrXjWf00xJkyRtnrcPz22aIOkZpdgl8vVbL9f9s7xtRUnX5frGSKr4hVY5RNbMelDT3tNzOGxd4bD11n0GKUNvP0m7AFfS9iX2jfI1/miu+3f5+m1WqlspamhLYFPSCgoTge2BB8ob4xDZxuEQWWtGTTvSq8HhsG3qqXsH4CqAiLgbWE3SSvmzWyPivYh4hfS4caUvlwJMjogXcj2PFo5tDcohstaMmnakV4PDYTtXd737d1R3V9povcAhstaMWv4PjxwOW4/7gcNJgbGDgVci4p9VbstBWgi2nutnDc4hstZsWnV6s6ilw2HrNBwYkK/RCNq+TFpRfmx4Yr6uP+uorJnZ4uRooUWkJgmHbXB+kMUsc4hs9/BIbzFRA4bDmpm1Go/0apDDYXuTfznN2vNIr4vc6Vkj8y+nWXvu9Lqo5Z/etMbme3pmSaOGyPY1vqdnZmYtw52emZm1DE9vmllV62wMO30ZtATMeQgeuav2PmaNzCM9M6uoFCI79mIYcw5sOABWWbO3W2XWNe70FgNJt+VkhI7KnClpt0U8fn9Jexfef0mdCM01q8QhstaMPL3Zg3JmnCJi71plI+LHXaiqPzAQuC0faywwtgvH63GFa/NBb7fFKqsUIrtmZ/I7zBqQR3pdJOk7eY3JxySdlINZn5R0JfAY8ElJz0r6WC7/o/z5A5L+KOmUvH20pAPz62clnSFpmqRZeeFqJA2S9FAOkX1Q0mclfQQ4Ezg4h7YerBQsWwrNXVfS3TkAdrykdQr1/Tof55lS3VXO8UpJ+xXej5G0r6QlJf1M0pR8/G/lz1fMdZXaXwq8XejaVKjLIbJm1mPc6XWBpAGkMNhtSGkK3wRWATYALoqITSPiuUL5rYEDgC2A/0ManVXzSkRsBfwOOCVvewLYMSK2BH4MnBMR/86vr46I/hFxddlxLgSuiIjNgTFA8ds+a5Gy8vYhLSRdzX8BQ/I59AO2A24FjgLeiIitga2Bb0r6NCmId//c/p2Bn6stkqHitSmJiJERMTAiBg4bNqyDJllPc4isNSN3el2zA3BjRPwrh8TeAOwIPBcR5ekKkNLCb46IdyPiTeBPHRz7hvzfR2gLXO0HXCvpMeAXpCTyWrYF/pBfX0Vb0C3ATRHxQUTMoXr4KxFxL7CBpNWBQ0mJEu+Tgm2PzMG2DwOrkTo1AefkVIa7SHFLpeNXuzbWYBwia83I9/R6xr9qF6mpFLpaDFw9C7gnIvaXtC4pQb076oDayxtdCXwVOIQ0ui3tc3xEjCsWzAkUqwMDImK+pGdpC9Ltjmtji4FDZK0ZeaTXNfcD+0laXtIKwP55WzUTgS9KWlbSiqRpxc7oB7yYXw8pbO8otPVBUkcFKQi2o/Z1ZDRwEkAeGUIKtj1G0tIAkjbM16Ef8Pfc4e0M+PGHPuq5OfD7n8KVZ8LUO3q7NWZd506vCyJiGqkzmEya3rsMqBoOGxFTSE9VziSF1c4COnOX5HzgXEnTaT9KvwfYpPQgS9k+xwNfz1ONRwAndqK+Ytv/BjwOXF7YfBkwB5iWp1wvye0aAwyUNAs4knQv0sys1zllYTGTtGJEvCVpeeA+YFjuPBtabu8sYKuIWFyPMzhE1ixziGz38Ehv8RuZH/yYRnogpC90eLuRRnkXLsYOz8ys23mkZx+S9DnSE55F70XENr3RHpynZ1bOI70u8tOb9qGImEVa3cXMrCm507OG5nt6ZolDZLuH7+mZmVnLcKdnZmYtw9ObZlaVQ2St2XikZ2YVOUTWmpE7vS5wOGxlOULosML7D6OOrO9wiKw1I3d6i0DJEhGxd0S83lHZiPhxRCzqpFB/4MNOLyLGRkRHEUCNYl3gsFqFrLFVCpFdsV/vtcesO7jTq6JFwmEHS7pX0s257AhJh0uanNu33iLWNQLYMbf75Lzt45JulzRX0vkdtMkhsmbWY9zpVdBC4bDkNh8NbExakHrDiBhEWkz6+EWs61Tg/tzuX+Rt/YGDgc+ROvKFUtPBIbKNxCGy1ozc6VXWEuGw2ZSIeCki3gP+ApQCZGYV2tcddY2PiDci4l1SMoPjhhqcQ2StGfkrC53TjOGwxbIfFN5/QH2/H/XWVSxXPHdrUA6RtWbkkV5lrRQOW4/O1tVRu60PcYisNRt3ehW0UjhsnTpb10xggaQZhQdZzMx6naOFuklfDYdtcA6RNcscIts9fF+l+4yUtAmwLOlJR3d4ZmYNxiO9FtCA4bD18i+nWXse6XWROz0z65CkYRHhlQKsKfhBFjOrxasEWNNwp2dmZi3Dk/JC4wAAAPBJREFUnZ6ZmbUMd3pmVovv51nT8IMsZmbWMjzSMzOzluFOz8yqkrRXzol8WtKpvd0es67y9KaZVSRpSeApYHfgBWAKcGiOkTLrkzzSM7NqBgFPR8QzOdT4v4F9e7lNZl3iTs/MqlkbeL7w/oW8zazPcqdnZmYtw52emVXzIvDJwvtP0BZ2bNYnudMzs2qmABtI+rSkjwCHkMKSzfos5+mZWUUR8b6k44BxwJLAqIiY3cvNMusSf2XBzMxahqc3zcysZbjTMzOzluFOz8zMWoY7PTMzaxnu9MzMrGW40zMzs5bhTs/MzFqGOz0zM2sZ/x8hWjctiiAnfQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 1080x1440 with 2 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "zAZ_ZDThkRa_",
"colab_type": "text"
},
"source": [
"Now that we have two years of data. Let's do some good old fashiond data mungung. \n",
"\n",
"- First we have to balace out this dataset. There are 1429 foreclosure_status as true in the two years worth of data. And I still ahave to check the dates of contract execution. I would love for there to be an qual amount of true and folse, but that's not how life works. So we're going to do wide. What I mean by that is break out the feature engineeing skills and trurn those 29 colums into hundreds. First. Let's munge. \n",
"\n",
"1. What's the goal here. We obviously have to remove the performance_count as that' will allow 100% accuracy and we want to creaet a dataset that would be similar of not exatly wo the data a bank or llnder wound have at the tim e od decision making. "
]
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-27T02:30:06.030427Z",
"start_time": "2019-11-27T02:15:49.004Z"
},
"trusted": true,
"id": "_vLXxBVzkRbA",
"colab_type": "code",
"colab": {}
},
"source": [
"from sklearn.model_selection import train_test_split\n",
"\n",
"\n",
"df = pd.read_csv(\"train.csv\", nrows=1000000)\n",
"df.fillna(0, inplace=True)\n",
"\n",
"df.pop(\"performance_count\")\n",
"\n",
"predictors = df.columns.tolist()\n",
"predictors = [p for p in predictors if p not in NON_PREDICTORS]\n",
"\n",
"\n",
"cols = list(df.columns.values) # Make a list of all of the columns in the df\n",
"cols.pop(cols.index(\"foreclosure_status\")) # Remove class from list\n",
"\n",
"\n",
"df = df[cols + [\"foreclosure_status\"]]\n",
"\n",
"\n",
"# df[\"target\"] =df['foreclosure_status']\n",
"train_cols = df.columns[0:-1]\n",
"label = df.columns[-1:]\n",
"\n",
"\n",
"X = df[predictors]\n",
"y = df[TARGET]"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-27T02:30:06.041180Z",
"start_time": "2019-11-27T02:15:49.545Z"
},
"trusted": true,
"id": "fAXQzMtKkRbC",
"colab_type": "code",
"colab": {}
},
"source": [
"seed = 1\n",
"X_train, X_test, y_train, y_test = train_test_split(\n",
" X, y, test_size=0.20, random_state=seed\n",
")"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-27T02:30:06.049836Z",
"start_time": "2019-11-27T02:15:51.955Z"
},
"trusted": true,
"id": "GV79FepEkRbE",
"colab_type": "code",
"colab": {}
},
"source": [
"TableDisplay(X_train.head(30))\n",
"X_train.columns"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"trusted": true,
"id": "sf8XVsTUkRbG",
"colab_type": "code",
"colab": {}
},
"source": [
""
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-27T02:30:06.058633Z",
"start_time": "2019-11-27T02:15:53.148Z"
},
"trusted": true,
"id": "KTsWHSuikRbI",
"colab_type": "code",
"colab": {}
},
"source": [
"from interpret.provider import InlineProvider\n",
"from interpret import set_visualize_provider\n",
"\n",
"set_visualize_provider(InlineProvider())"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-27T02:30:06.066792Z",
"start_time": "2019-11-27T02:15:54.241Z"
},
"trusted": true,
"id": "hNAWnnkhkRbL",
"colab_type": "code",
"colab": {}
},
"source": [
"from interpret.glassbox import ExplainableBoostingClassifier\n",
"\n",
"ebm = ExplainableBoostingClassifier()\n",
"ebm.fit(X_train, y_train)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-27T02:30:06.079971Z",
"start_time": "2019-11-27T02:16:15.055Z"
},
"trusted": true,
"id": "nPORCIkikRbN",
"colab_type": "code",
"colab": {}
},
"source": [
"import pickle\n",
"\n",
"pkl_filename = \"fannie_model.pkl\"\n",
"with open(pkl_filename, \"wb\") as file:\n",
" pickle.dump(ebm, file)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"trusted": true,
"id": "rb17_qp_kRbQ",
"colab_type": "code",
"colab": {}
},
"source": [
""
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-27T02:30:06.088354Z",
"start_time": "2019-11-27T02:16:15.704Z"
},
"trusted": true,
"id": "v7jhFT9ukRbT",
"colab_type": "code",
"colab": {}
},
"source": [
"from interpret import show\n",
"from interpret.data import ClassHistogram"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-27T02:30:06.106914Z",
"start_time": "2019-11-27T02:16:16.700Z"
},
"trusted": true,
"id": "fNc1cAWokRbU",
"colab_type": "code",
"colab": {}
},
"source": [
"ebm_global = ebm.explain_global(name=\"EBM\")\n",
"show(ebm_global)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-27T02:30:06.118000Z",
"start_time": "2019-11-27T02:16:17.698Z"
},
"trusted": true,
"id": "hNVitomlkRbW",
"colab_type": "code",
"colab": {}
},
"source": [
"from interpret import show\n",
"from interpret.data import ClassHistogram\n",
"\n",
"hist = ClassHistogram().explain_data(X_train, y_train, name=\"Train Data\")\n",
"show(hist)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-27T02:30:06.126851Z",
"start_time": "2019-11-27T02:16:18.789Z"
},
"trusted": true,
"id": "G0TsBbUdkRbY",
"colab_type": "code",
"colab": {}
},
"source": [
"ebm_local = ebm.explain_local(X_test[:1000], y_test[:1000], name=\"EBM\")\n",
"show(ebm_local)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-27T02:30:06.134674Z",
"start_time": "2019-11-27T02:16:19.508Z"
},
"trusted": true,
"id": "eDbYUH_FkRbb",
"colab_type": "code",
"colab": {}
},
"source": [
"from interpret.perf import ROC\n",
"from treeinterpreter import treeinterpreter as ti\n",
"\n",
"ebm_perf = ROC(ebm.predict_proba).explain_perf(X_test, y_test, name=\"EBM\")\n",
"\n",
"show(ebm_perf)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-27T02:30:06.143234Z",
"start_time": "2019-11-27T02:16:20.972Z"
},
"trusted": true,
"id": "Z56rGrwlkRbd",
"colab_type": "code",
"colab": {}
},
"source": [
"from interpret.glassbox import LogisticRegression, ClassificationTree\n",
"\n",
"# We have to transform categorical variables to use Logistic Regression and Decision Tree\n",
"X_enc = pd.get_dummies(X, prefix_sep=\".\")\n",
"feature_names = list(X_enc.columns)\n",
"X_train_enc, X_test_enc, y_train, y_test = train_test_split(\n",
" X_enc, y, test_size=0.20, random_state=seed\n",
")\n",
"\n",
"lr = LogisticRegression(random_state=seed, feature_names=feature_names, penalty=\"l1\")\n",
"lr.fit(X_train_enc, y_train)\n",
"\n",
"tree = ClassificationTree()\n",
"tree.fit(X_train_enc, y_train)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-27T02:30:06.152741Z",
"start_time": "2019-11-27T02:16:21.837Z"
},
"trusted": true,
"id": "h1LJdIXPkRbg",
"colab_type": "code",
"colab": {}
},
"source": [
"from beakerx import *\n",
"\n",
"lr_perf = ROC(lr.predict_proba).explain_perf(\n",
" X_test_enc, y_test, name=\"Logistic Regression\"\n",
")\n",
"tree_perf = ROC(tree.predict_proba).explain_perf(\n",
" X_test_enc, y_test, name=\"Classification Tree\"\n",
")\n",
"\n",
"\n",
"l = TabbedOutputContainerLayoutManager()\n",
"l.setBorderDisplayed(False)\n",
"o = OutputContainer()\n",
"o.setLayoutManager(l)\n",
"o.addItem(show(lr_perf), \"Logistic Regressio\")\n",
"o.addItem(show(tree_perf), \"Classification Tree\")\n",
"o.addItem(show(ebm_perf), \"ebm\")\n",
"\n",
"o"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"ExecuteTime": {
"end_time": "2019-11-27T02:30:06.161684Z",
"start_time": "2019-11-27T02:16:22.787Z"
},
"trusted": true,
"id": "blPJxnF-kRbj",
"colab_type": "code",
"colab": {}
},
"source": [
"lr_global = lr.explain_global(name=\"LR\")\n",
"tree_global = tree.explain_global(name=\"Tree\")\n",
"\n",
"show(lr_global)\n",
"show(tree_global)\n",
"show(ebm_global)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"trusted": true,
"id": "Wh759-RHkRbl",
"colab_type": "code",
"colab": {}
},
"source": [
""
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"trusted": true,
"id": "6xsQCE8zkRb2",
"colab_type": "code",
"colab": {}
},
"source": [
""
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"trusted": true,
"id": "Ncs4dcg2kRb3",
"colab_type": "code",
"colab": {}
},
"source": [
"# Explainers:\n",
"# 1. SHAP Tabular Explainer\n",
"from interpret.ext.blackbox import TabularExplainer\n",
"\n",
"# OR\n",
"\n",
"# 2. Mimic Explainer\n",
"from interpret.ext.blackbox import MimicExplainer\n",
"\n",
"# You can use one of the following four interpretable models as a global surrogate to the black box model\n",
"from interpret.ext.glassbox import LGBMExplainableModel\n",
"from interpret.ext.glassbox import LinearExplainableModel\n",
"from interpret.ext.glassbox import SGDExplainableModel\n",
"from interpret.ext.glassbox import DecisionTreeExplainableModel\n",
"\n",
"# OR\n",
"\n",
"# 3. PFI Explainer\n",
"from interpret.ext.blackbox import PFIExplainer"
],
"execution_count": 0,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment