{
"cells": [
{
"cell_type": "markdown",
"id": "408a6524",
"metadata": {},
"source": [
"# Information Value analysis with the **vivainsights** Python library\n",
"\n",
"This notebook provides a demo on the Information Value (IV) functions for the **vivainsights** package. For more information about the package, please see:\n",
"- [Documentation](https://microsoft.github.io/vivainsights-py/)\n",
"- [GitHub Page](https://github.com/microsoft/vivainsights-py/)\n",
"\n",
"In this notebook, we will demo how to create analysis and visualizations with the IV and plot-WOE queries from Viva Insights.\n",
"\n",
"## Background\n",
"\n",
"Information Value (IV) is a powerful methodology that provides a measure of the predictive power of an individual independent variable in relation to the dependent variable. In the context of Viva Insights, independent variables could be a collaboration metric (e.g. Emails sent, 1:1 meeting time with managers), whereas a dependent variable could be a categorical variable indicating whether a person is engaged, a top performer, or at risk of attrition - likely provided through a survey. \n",
"\n",
"IV quantifies the amount of information a variable provides about the outcome. It is based on the following logic: a variable that is highly informative of the outcome will have different distributions of values for different outcome classes. For example, if we are predicting employee engagement, a variable like collaboration hours might have a different distribution for the engaged and non-engaged classes, indicating that it is informative of the outcome.\n",
"\n",
"The IV is calculated for each potential predictor variable, and the variables are then ranked based on their IVs. This allows for the selection of the most predictive variables for use in the model. The IV methodology solves the problem of selecting the most predictive variables for a predictive model. By ranking variables based on their IVs, it allows for the selection of variables that are most informative of the outcome, improving the predictive power of the model. It also helps in identifying and excluding variables that are not predictive of the outcome, which can improve model performance and interpretability.\n",
"\n",
"## Set up\n",
"\n",
"We start with loading the **vivainsights** package, and loading the default person query dataset with `load_pq_data()`:\n"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "bf518f05",
"metadata": {},
"outputs": [],
"source": [
"import vivainsights as vi\n",
"import numpy as np\n",
"\n",
"# load in-built datasets\n",
"pq_data = vi.load_pq_data() # load and assign in-built"
]
},
{
"cell_type": "markdown",
"id": "d9e05451",
"metadata": {},
"source": [
"The following shows a preview of the Person Query demo dataset: "
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "bbd364ce",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Unnamed: 0
\n",
"
PersonId
\n",
"
MetricDate
\n",
"
After_hours_call_hours
\n",
"
After_hours_chat_hours
\n",
"
After_hours_collaboration_hours
\n",
"
After_hours_email_hours
\n",
"
After_hours_meeting_hours
\n",
"
After_hours_scheduled_call_hours
\n",
"
After_hours_unscheduled_call_hours
\n",
"
...
\n",
"
Working_hours_meeting_hours
\n",
"
Working_hours_scheduled_call_hours
\n",
"
Working_hours_unscheduled_call_hours
\n",
"
LevelDesignation
\n",
"
Layer
\n",
"
SupervisorIndicator
\n",
"
Organization
\n",
"
FunctionType
\n",
"
WeekendDays
\n",
"
IsActive
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
1
\n",
"
a6afe34c-8524-32d3-a368-1517b29b68cd
\n",
"
2022-05-01
\n",
"
0.0
\n",
"
0.0
\n",
"
18.675938
\n",
"
0.722722
\n",
"
18.25
\n",
"
0.0
\n",
"
0
\n",
"
...
\n",
"
19.50
\n",
"
0
\n",
"
0
\n",
"
Manager
\n",
"
3
\n",
"
Manager
\n",
"
Sales and Marketing
\n",
"
G_and_A
\n",
"
[SUNDAY, SATURDAY]
\n",
"
True
\n",
"
\n",
"
\n",
"
1
\n",
"
2
\n",
"
d6368140-9312-380b-bbc9-9a32bcef4b83
\n",
"
2022-05-01
\n",
"
0.0
\n",
"
0.0
\n",
"
4.827803
\n",
"
0.925556
\n",
"
4.00
\n",
"
0.0
\n",
"
0
\n",
"
...
\n",
"
8.75
\n",
"
0
\n",
"
0
\n",
"
Support
\n",
"
3
\n",
"
Individual Contributor
\n",
"
Finance
\n",
"
Sales
\n",
"
[SUNDAY, SATURDAY]
\n",
"
True
\n",
"
\n",
"
\n",
"
2
\n",
"
3
\n",
"
60bf99b0-65fd-3c3f-94fb-8ceb451d59e7
\n",
"
2022-05-01
\n",
"
0.0
\n",
"
0.0
\n",
"
1.497806
\n",
"
0.812806
\n",
"
0.75
\n",
"
0.0
\n",
"
0
\n",
"
...
\n",
"
12.50
\n",
"
0
\n",
"
0
\n",
"
Support
\n",
"
3
\n",
"
Individual Contributor
\n",
"
Product
\n",
"
IT
\n",
"
[SUNDAY, SATURDAY]
\n",
"
True
\n",
"
\n",
"
\n",
"
3
\n",
"
4
\n",
"
93fddd74-3667-392b-ba5a-92d855772cb0
\n",
"
2022-05-01
\n",
"
0.0
\n",
"
0.0
\n",
"
59.265892
\n",
"
2.283668
\n",
"
59.00
\n",
"
0.0
\n",
"
0
\n",
"
...
\n",
"
28.50
\n",
"
0
\n",
"
0
\n",
"
Director
\n",
"
2
\n",
"
Manager+
\n",
"
Sales and Marketing
\n",
"
Analytics
\n",
"
[SUNDAY, SATURDAY]
\n",
"
True
\n",
"
\n",
"
\n",
"
4
\n",
"
5
\n",
"
53183116-2cb2-32ee-9042-d62eb7061407
\n",
"
2022-05-01
\n",
"
0.0
\n",
"
0.0
\n",
"
2.146806
\n",
"
0.520167
\n",
"
1.75
\n",
"
0.0
\n",
"
0
\n",
"
...
\n",
"
7.50
\n",
"
0
\n",
"
0
\n",
"
Support
\n",
"
3
\n",
"
Individual Contributor
\n",
"
Sales and Marketing
\n",
"
IT
\n",
"
[SUNDAY, SATURDAY]
\n",
"
True
\n",
"
\n",
" \n",
"
\n",
"
5 rows × 155 columns
\n",
"
"
],
"text/plain": [
" Unnamed: 0 PersonId MetricDate \\\n",
"0 1 a6afe34c-8524-32d3-a368-1517b29b68cd 2022-05-01 \n",
"1 2 d6368140-9312-380b-bbc9-9a32bcef4b83 2022-05-01 \n",
"2 3 60bf99b0-65fd-3c3f-94fb-8ceb451d59e7 2022-05-01 \n",
"3 4 93fddd74-3667-392b-ba5a-92d855772cb0 2022-05-01 \n",
"4 5 53183116-2cb2-32ee-9042-d62eb7061407 2022-05-01 \n",
"\n",
" After_hours_call_hours After_hours_chat_hours \\\n",
"0 0.0 0.0 \n",
"1 0.0 0.0 \n",
"2 0.0 0.0 \n",
"3 0.0 0.0 \n",
"4 0.0 0.0 \n",
"\n",
" After_hours_collaboration_hours After_hours_email_hours \\\n",
"0 18.675938 0.722722 \n",
"1 4.827803 0.925556 \n",
"2 1.497806 0.812806 \n",
"3 59.265892 2.283668 \n",
"4 2.146806 0.520167 \n",
"\n",
" After_hours_meeting_hours After_hours_scheduled_call_hours \\\n",
"0 18.25 0.0 \n",
"1 4.00 0.0 \n",
"2 0.75 0.0 \n",
"3 59.00 0.0 \n",
"4 1.75 0.0 \n",
"\n",
" After_hours_unscheduled_call_hours ... Working_hours_meeting_hours \\\n",
"0 0 ... 19.50 \n",
"1 0 ... 8.75 \n",
"2 0 ... 12.50 \n",
"3 0 ... 28.50 \n",
"4 0 ... 7.50 \n",
"\n",
" Working_hours_scheduled_call_hours Working_hours_unscheduled_call_hours \\\n",
"0 0 0 \n",
"1 0 0 \n",
"2 0 0 \n",
"3 0 0 \n",
"4 0 0 \n",
"\n",
" LevelDesignation Layer SupervisorIndicator Organization \\\n",
"0 Manager 3 Manager Sales and Marketing \n",
"1 Support 3 Individual Contributor Finance \n",
"2 Support 3 Individual Contributor Product \n",
"3 Director 2 Manager+ Sales and Marketing \n",
"4 Support 3 Individual Contributor Sales and Marketing \n",
"\n",
" FunctionType WeekendDays IsActive \n",
"0 G_and_A [SUNDAY, SATURDAY] True \n",
"1 Sales [SUNDAY, SATURDAY] True \n",
"2 IT [SUNDAY, SATURDAY] True \n",
"3 Analytics [SUNDAY, SATURDAY] True \n",
"4 IT [SUNDAY, SATURDAY] True \n",
"\n",
"[5 rows x 155 columns]"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pq_data.head()"
]
},
{
"cell_type": "markdown",
"id": "8939ef2c",
"metadata": {},
"source": [
"## Calculating Information Value (IV)\n",
"\n",
"To run the IV methodology, a binary dependent variable is required. \n",
"\n",
"We can simulate such a variable by the following, and in this example we can name the variable `IsLargeNetwork`:"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "9e7ea31c",
"metadata": {},
"outputs": [],
"source": [
"pq_data[\"IsLargeNetwork\"] = np.where(pq_data[\"Internal_network_size\"] > 40, 1, 0)"
]
},
{
"cell_type": "markdown",
"id": "04d626a7",
"metadata": {},
"source": [
"We can then define a list of predictors, and assign this to `predictor_list`. \n",
"\n",
"As shown below, `create_IV()` is the primary function for analyzing and visualizing Information Value for a selected outcome variable. We use the `predictors` argument to supply the list of predictors, and `outcome` to specify which varible to use as the dependent variable. \n",
"\n",
"In `return_type`, we specify a plot to be returned:"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "59fefd00",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAiwAAAJNCAYAAAAS3y4WAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAACCGUlEQVR4nO3dd1QU198G8Gcpgg1QUUBFUWPDAiqK2I0o9hp7r9HYsWLvJZbYxYpd7ERj70bFHjSW2LECKgoIIgj7ff/wZX6sYAKK7IDP55w9CbN3hruX9e6zd+7c0YiIgIiIiEjFDPRdASIiIqL/wsBCREREqsfAQkRERKrHwEJERESqx8BCREREqsfAQkRERKrHwEJERESqx8BCREREqsfAQkRERKrHwEKkZ+Hh4ejRowesra2h0WgwaNAgfVcpxUyYMAEajUbf1UgRNWrUQI0aNfT2+y9cuIAMGTLg0aNHKXbMkSNHwtnZOcWOR/QtMbAQfaU1a9ZAo9Hg0qVLX7T/tGnTsGbNGvTp0wfr169Hx44dU7iG39a7d+8wYcIEnDhxQt9VAQDs3LkTGo0GK1eu/GyZw4cPQ6PRYMGCBalYs68zevRotG3bFvnz51e21ahRAyVLlgQAXLlyBRqNBmPGjPnsMe7evQuNRgN3d3cAwKBBg3D16lXs3r3721aeKAUwsBDp2bFjx1CxYkWMHz8eHTp0QLly5fRdpWR59+4dJk6cmGhgGTNmDCIjI1O1Pg0aNIC5uTk2bdr02TKbNm2CoaEh2rRpk4o1+3J+fn44cuQIevfu/dkyZcuWRbFixbB58+bPlolrkw4dOgAArK2t0aRJE8yePTtlK0z0DTCwEOnZixcvYGFhkWLHi4mJQXR0dIod72sYGRnB1NQ0VX+niYkJfvrpJ5w8eRLPnz9P8Pz79++xa9cu1K5dG7ly5UrVun0pLy8v5MuXDxUrVvzXcu3bt8eDBw9w7ty5RJ/fvHkzihUrhrJlyyrbWrVqhdOnT+PBgwcpWmeilMbAQvQNdOnSBVmyZMGzZ8/QtGlTZMmSBTlz5sTQoUMRGxsLADhx4gQ0Gg0ePnyIvXv3QqPRQKPRwN/fH8DHINO9e3dYWVnB1NQUDg4OWLt2rc7v8ff3h0ajwezZszFv3jwUKlQIJiYmuHnzpjJ/5M6dO+jQoQPMzc2RM2dOjB07FiKCJ0+eoEmTJjAzM4O1tTXmzJmjc+zo6GiMGzcO5cqVg7m5OTJnzoyqVavi+PHjOr8/Z86cAICJEycqr2HChAkAEp/DEhMTg8mTJyt1tbOzw6hRoxAVFaVTzs7ODg0bNsTp06dRoUIFmJqaomDBgli3bt1/tn+HDh2g1Wrh7e2d4Lm9e/ciNDQU7du3B/AxDPz444/IlSsXTExMYG9vj6VLl/7n74g7FRj394oT93f9dMTp/PnzqFu3LszNzZEpUyZUr14dZ86c+c/fAwA+Pj748ccf/3M+UNxrSmx06fLly7h9+7ZSJo6rqysA4Pfff09SXYj0hYGF6BuJjY2Fm5sbcuTIgdmzZ6N69eqYM2cOli9fDgAoXrw41q9fD0tLSzg6OmL9+vVYv349cubMicjISNSoUQPr169H+/btMWvWLJibm6NLly6YP39+gt/l5eWFhQsXolevXpgzZw6yZ8+uPNe6dWtotVrMmDEDzs7OmDJlCubNm4fatWsjT548mDlzJn744QcMHToUp06dUvYLCwvDypUrUaNGDcycORMTJkzAy5cv4ebmBj8/PwBAzpw5lQ/3Zs2aKa+hefPmn22XHj16YNy4cShbtix+++03VK9eHdOnT0/09My9e/fw008/oXbt2pgzZw6yZcuGLl264MaNG//a9tWqVUPevHkT/eDetGkTMmXKhKZNmwIAli5divz582PUqFGYM2cObG1t8csvv2Dx4sX/+juS49ixY6hWrRrCwsIwfvx4TJs2DSEhIfjxxx9x4cKFf9332bNnePz4sc6oyOcUKFAAlSpVwtatW5VgHCeuLdq1a6ez3dzcHIUKFUpyeCLSGyGir+Ll5SUA5OLFi8q2zp07CwCZNGmSTtkyZcpIuXLldLblz59fGjRooLNt3rx5AkA2bNigbIuOjhYXFxfJkiWLhIWFiYjIw4cPBYCYmZnJixcvdI4xfvx4ASC9evVStsXExEjevHlFo9HIjBkzlO1v3ryRjBkzSufOnXXKRkVF6RzzzZs3YmVlJd26dVO2vXz5UgDI+PHjE7RNXB3i+Pn5CQDp0aOHTrmhQ4cKADl27JhOuwCQU6dOKdtevHghJiYmMmTIkAS/61PDhg0TAHL79m1lW2hoqJiamkrbtm2Vbe/evUuwr5ubmxQsWFBnW/Xq1aV69erKz3F/94cPH+qUO378uACQ48ePi4iIVquVwoULi5ubm2i1Wp3fW6BAAaldu/a/vo4jR44IANmzZ0+C56pXry4lSpTQ2bZ48WIBIAcPHlS2xcbGSp48ecTFxSXR31GnTh0pXrz4v9aDSN84wkL0DX06SbJq1apJmiuwb98+WFtbo23btso2Y2NjDBgwAOHh4Th58qRO+RYtWiinZj7Vo0cP5f8NDQ3h5OQEEUH37t2V7RYWFihatKhO3QwNDZEhQwYAgFarxevXrxETEwMnJydcuXLlP1/D514XAOUqlThDhgwB8PF0TXz29vaoWrWq8nPOnDkT1PNz4iaWxh9l2bFjB96/f69zWiRjxozK/4eGhuLVq1eoXr06Hjx4gNDQ0KS+tM/y8/PD3bt30a5dOwQHB+PVq1d49eoVIiIiUKtWLZw6dQparfaz+wcHBwMAsmXLlqTf17p1axgbG+u87pMnT+LZs2cJTgfFyZYtG169epWMV0WU+hhYiL4RU1PTBCEiW7ZsePPmzX/u++jRIxQuXBgGBrr/RIsXL648H1+BAgU+e6x8+fLp/Gxubg5TU1NYWlom2P5p3dauXYvSpUvD1NQUOXLkQM6cOZU5IF/i0aNHMDAwwA8//KCz3draGhYWFgle16d1B5LehqVLl0bJkiV1rprZtGkTLC0t4ebmpmw7c+YMXF1dkTlzZlhYWCBnzpwYNWoUAKRIYLl79y4AoHPnzsiZM6fOY+XKlYiKikrS7xGRJP2+HDlywM3NDbt27cL79+8BfHzdRkZGaNWq1WePnV7Wy6H0y0jfFSBKrwwNDVPtd8UfJUhKPT5Xt/gfihs2bECXLl3QtGlTDBs2DLly5YKhoSGmT5+O+/fvf1V9k/rhmJR6/psOHTpg5MiRuHTpEvLmzYvjx4/j559/hpHRx67v/v37qFWrFooVK4a5c+fC1tYWGTJkwL59+/Dbb7/968jH517Dp3NH4o4xa9YsODo6JrpPlixZPvt7cuTIAQBJCmlxOnTogD/++AN//PEHGjdujB07dqBOnTqfHYV78+ZNggBLpDYMLEQqlD9/fly7dg1arVZnlOWff/5Rnv/Wtm/fjoIFCyoLscUZP368TrnkfDPPnz8/tFot7t69q4wWAUBQUBBCQkJS/HW1bdsWHh4e2LRpE/Lnz4/Y2Fid0yJ79uxBVFQUdu/erTOaE/9KqM+JO0UTEhKis/3TUaJChQoBAMzMzJQrcpKjWLFiAICHDx8meZ/GjRsja9as2LRpE4yNjfHmzZvPng6KO7aDg0Oy60aUmnhKiEiF6tevj8DAQGzZskXZFhMTg4ULFyJLliyoXr36N69D3OhG/NGM8+fPw9fXV6dcpkyZACT84E5M/fr1AQDz5s3T2T537lwAHxd9S0n58uVD1apVsWXLFmzYsEG5iiZOYq8xNDQUXl5e/3nsuCAS/8qq2NhY5SqwOOXKlUOhQoUwe/ZshIeHJzjOy5cv//X35MmTB7a2tslaSTljxoxo1qwZ9u3bh6VLlyJz5sxo0qRJomVDQ0Nx//59nXYhUiOOsBCpUK9evbBs2TJ06dIFly9fhp2dHbZv344zZ85g3rx5yJo16zevQ8OGDbFz5040a9YMDRo0wMOHD+Hp6Ql7e3udD96MGTPC3t4eW7ZsQZEiRZA9e3aULFlSWTI+PgcHB3Tu3BnLly9HSEgIqlevjgsXLmDt2rVo2rQpatasmeKvo0OHDujVqxeeP3+O0aNH6zxXp04dZMiQAY0aNcLPP/+M8PBwrFixArly5UJAQMC/HrdEiRKoWLEiPDw88Pr1a2TPnh3e3t6IiYnRKWdgYICVK1eiXr16KFGiBLp27Yo8efLg2bNnOH78OMzMzLBnz55//V1NmjTBrl27kjXXpEOHDli3bh0OHjyI9u3bI3PmzImWO3LkCETks4GGSC04wkKkQhkzZsSJEyfQvn17rF27FkOGDMHr16/h5eWFgQMHpkodunTpgmnTpuHq1asYMGAADh48iA0bNsDJySlB2ZUrVyJPnjwYPHgw2rZti+3bt3/2uCtXrsTEiRNx8eJFDBo0CMeOHYOHh0eii7ylhJ9++gkmJiYAkOC0SNGiRbF9+3ZoNBoMHToUnp6e6NWrV5LbeOPGjahUqRJmzJiBadOmoWbNmpgxY0aCcjVq1ICvry+cnJywaNEi9O/fH2vWrIG1tTUGDx78n7+nW7duePbsWbLWSvnxxx9hY2MDIOHrjm/btm2oUqWKMmJEpFYaSersNSIi0ptatWohd+7cWL9+fYodMzAwEAUKFIC3tzdHWEj1GFiIiNKA8+fPo2rVqrh7926KTU4eOXIkjh079p+r7RKpAQMLERERqR7nsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqpYuF47RaLZ4/f46sWbPyBl5ERERphIjg7du3yJ07d4KbvX4qXQSW58+fw9bWVt/VICIioi/w5MkT5M2b91/LpIvAErdM+ZMnT2BmZqbn2hAREVFShIWFwdbWNkm3G0kXgSXuNJCZmRkDCxERURqTlOkcnHRLREREqsfAQkRERKrHwKJCp06dQqNGjZA7d25oNBr4+Pj85z4bN26Eg4MDMmXKBBsbG3Tr1g3BwcHfvrJERESpgIFFhSIiIuDg4IDFixcnqfyZM2fQqVMndO/eHTdu3MC2bdtw4cIF9OzZ8xvXlIiIKHWki0m36U29evVQr169JJf39fWFnZ0dBgwYAAAoUKAAfv75Z8ycOfNbVZGIiChVcYQlHXBxccGTJ0+wb98+iAiCgoKwfft21K9fX99VIyIiShEMLOlA5cqVsXHjRrRu3RoZMmSAtbU1zM3Nk3xKiYiISO0YWNKBmzdvYuDAgRg3bhwuX76MAwcOwN/fH71799Z31YiIiFIE57CkA9OnT0flypUxbNgwAEDp0qWROXNmVK1aFVOmTIGNjY2ea0hERPR1OMKSDrx79y7BTaMMDQ0BfLyxFBERUVrHwKJC4eHh8PPzg5+fHwDg4cOH8PPzw+PHjwEAHh4e6NSpk1K+UaNG2LlzJ5YuXYoHDx7gzJkzGDBgACpUqIDcuXPr4yUQERGlKJ4SUqFLly6hZs2ays/u7u4AgM6dO2PNmjUICAhQwgsAdOnSBW/fvsWiRYswZMgQWFhY4Mcff+RlzURElG5oJB2cMwgLC4O5uTlCQ0N580MiIqI0Ijmf3zwlRERERKrHwEJERESql+w5LKdOncKsWbNw+fJlBAQEYNeuXWjatOlny3fp0gVr165NsN3e3h43btwAAEyYMAETJ07Ueb5o0aL4559/klu9b6L87if6rkKacbGxrb6rQERE6VCyR1iSe2O++fPnIyAgQHk8efIE2bNnR8uWLXXKlShRQqfc6dOnk1s1IiIiSqeSPcKS3BvzmZubw9zcXPnZx8cHb968QdeuXXUrYmQEa2vr5FaHiIiIvgOpPodl1apVcHV1Rf78+XW23717F7lz50bBggXRvn17nct2PxUVFYWwsDCdBxEREaVfqRpYnj9/jv3796NHjx46252dnbFmzRocOHAAS5cuxcOHD1G1alW8ffs20eNMnz5dGbkxNzeHrS3nTRAREaVnqRpY1q5dCwsLiwSTdOvVq4eWLVuidOnScHNzw759+xASEoKtW7cmehwPDw+EhoYqjydPOCmWiIgoPUu1lW5FBKtXr0bHjh2RIUOGfy1rYWGBIkWK4N69e4k+b2JiAhMTk29RTSIiIlKhVBthOXnyJO7du4fu3bv/Z9nw8HDcv3+fdxkmIiIiAF8QWJJ7Y744q1atgrOzM0qWLJnguaFDh+LkyZPw9/fH2bNn0axZMxgaGqJt27bJrR4RERGlQ8k+JZTcG/MBQGhoKHbs2IH58+cnesynT5+ibdu2CA4ORs6cOVGlShWcO3cOOXPmTG71iIiIKB3izQ+TgCvdJh1XuiUioqTizQ+JiIgoXWFgISIiItVjYCEiIiLVY2AhIiIi1WNgISIiItVjYCEiIiLVY2AhIiIi1WNgISIiItVjYCEiIiLVY2AhIiIi1WNgISIiItVjYCEiIiLVY2AhIiIi1WNgISIiItVjYCEiIiLVY2AhIiIi1WNgISIiItVjYCEiIiLVY2AhIiIi1WNgISIiItVjYCEiIiLVY2AhIiIi1WNgISIiItVjYCEiIiLVY2AhIiIi1WNgISIiItVjYCEiIiLVY2AhIiIi1WNgISIiItVjYCEiIiLVY2AhIiIi1WNgISIiItVjYCEiIiLVY2AhIiIi1WNgISIiItVjYCEiIiLVY2AhIiIi1WNgISIiItVjYCEiIiLVS3ZgOXXqFBo1aoTcuXNDo9HAx8fnX8ufOHECGo0mwSMwMFCn3OLFi2FnZwdTU1M4OzvjwoULya0aERERpVPJDiwRERFwcHDA4sWLk7Xf7du3ERAQoDxy5cqlPLdlyxa4u7tj/PjxuHLlChwcHODm5oYXL14kt3pERESUDhkld4d69eqhXr16yf5FuXLlgoWFRaLPzZ07Fz179kTXrl0BAJ6enti7dy9Wr16NkSNHJvt3ERERUfqSanNYHB0dYWNjg9q1a+PMmTPK9ujoaFy+fBmurq7/q5SBAVxdXeHr65vosaKiohAWFqbzICIiovTrmwcWGxsbeHp6YseOHdixYwdsbW1Ro0YNXLlyBQDw6tUrxMbGwsrKSmc/KyurBPNc4kyfPh3m5ubKw9bW9lu/DCIiItKjZJ8SSq6iRYuiaNGiys+VKlXC/fv38dtvv2H9+vVfdEwPDw+4u7srP4eFhTG0EBERpWPfPLAkpkKFCjh9+jQAwNLSEoaGhggKCtIpExQUBGtr60T3NzExgYmJyTevJxEREamDXtZh8fPzg42NDQAgQ4YMKFeuHI4ePao8r9VqcfToUbi4uOijekRERKQyyR5hCQ8Px71795SfHz58CD8/P2TPnh358uWDh4cHnj17hnXr1gEA5s2bhwIFCqBEiRJ4//49Vq5ciWPHjuHQoUPKMdzd3dG5c2c4OTmhQoUKmDdvHiIiIpSrhoiIiOj7luzAcunSJdSsWVP5OW4uSefOnbFmzRoEBATg8ePHyvPR0dEYMmQInj17hkyZMqF06dI4cuSIzjFat26Nly9fYty4cQgMDISjoyMOHDiQYCIuERERfZ80IiL6rsTXCgsLg7m5OUJDQ2FmZpbixy+/+0mKHzO9utiYk5+JiChpkvP5zXsJERERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEP2/U6dOoVGjRsidOzc0Gg18fHz+tfzOnTtRu3Zt5MyZE2ZmZnBxccHBgwdTp7JERN8ZBhai/xcREQEHBwcsXrw4SeVPnTqF2rVrY9++fbh8+TJq1qyJRo0a4a+//vrGNSUi+v4Y6bsCRGpRr1491KtXL8nl582bp/PztGnT8Pvvv2PPnj0oU6ZMCteOiOj7xhEWohSi1Wrx9u1bZM+eXd9VISJKdxhYiFLI7NmzER4ejlatWum7KkRE6Q5PCRGlgE2bNmHixIn4/fffkStXLn1Xh4go3WFgIfpK3t7e6NGjB7Zt2wZXV1d9V4eIKF3iKSGir7B582Z07doVmzdvRoMGDfRdHSKidIsjLET/Lzw8HPfu3VN+fvjwIfz8/JA9e3bky5cPHh4eePbsGdatWwfg42mgzp07Y/78+XB2dkZgYCAAIGPGjDA3N9fLayAiSq+SPcLyLRbXmjBhAjQajc6jWLFiya0a0Ve5dOkSypQpo1yS7O7ujjJlymDcuHEAgICAADx+/Fgpv3z5csTExKBv376wsbFRHgMHDtRL/YmI0rNkj7DELa7VrVs3NG/e/D/Lxy2uNW3aNFhYWMDLywuNGjXC+fPnddaqKFGiBI4cOfK/ihlx8IdSV40aNSAin31+zZo1Oj+fOHHi21aIiIgUyU4F32pxLSMjI1hbWye3OkRERPQdSPVJt59bXOvu3bvInTs3ChYsiPbt2+sMvX8qKioKYWFhOg8iIiJKv1L9vEtii2s5OztjzZo1KFq0KAICAjBx4kRUrVoV169fR9asWRMcY/r06Zg4cWJqVpv0oPzuJ/quQppxsbGtvqtARPRNpeoIS9ziWlu3btVZXKtevXpo2bIlSpcuDTc3N+zbtw8hISHYunVrosfx8PBAaGio8njyhB9sRERE6VmqjbAkZ3EtCwsLFClSROcS0/hMTExgYmLyLapJREREKpQqIyzJXVwrPDwc9+/fh42NTSrUjoiIiNQu2SMs32JxraFDh6JRo0bInz8/nj9/jvHjx8PQ0BBt27ZNiddIREREaVyyR1i+xeJaT58+Rdu2bVG0aFG0atUKOXLkwLlz55AzZ86vfX1ERESUDiR7hOVbLK7l7e2d3GoQERHRd4Q3PyQiIiLVY2AhIiIi1WNgISIiItVjYCEiIiLVY2AhIiIi1WNgISIiItVjYCEiIiLVY2AhIiIi1WNgISIiItVjYCEiIiLVY2AhIiIi1WNgISIiItVjYCEiIiLVY2AhIiIi1WNgISIiItVjYCEiIiLVY2AhIiIi1WNgISIiItVjYCEiIiLVY2AhIiIi1WNgISIiItVjYCEiIiLVY2AhIiIi1WNgISIiItVjYCEiIiLVY2AhIiIi1WNgISIiItVjYCEiIiLVY2AhIiIi1WNgISIiItVjYCEiIiLVY2AhIiIi1WNgISIiItVjYCEiIiLVY2AhIiIi1WNgISIiItVjYCEiIiLVY2AhIiIi1Ut2YDl16hQaNWqE3LlzQ6PRwMfH5z/3OXHiBMqWLQsTExP88MMPWLNmTYIyixcvhp2dHUxNTeHs7IwLFy4kt2pERESUTiU7sERERMDBwQGLFy9OUvmHDx+iQYMGqFmzJvz8/DBo0CD06NEDBw8eVMps2bIF7u7uGD9+PK5cuQIHBwe4ubnhxYsXya0eERERpUMaEZEv3lmjwa5du9C0adPPlhkxYgT27t2L69evK9vatGmDkJAQHDhwAADg7OyM8uXLY9GiRQAArVYLW1tb9O/fHyNHjvzPeoSFhcHc3ByhoaEwMzP70pfzWeV3P0nxY6ZXFxvbptix2O5Jl5LtTkSUWpLz+f3N57D4+vrC1dVVZ5ubmxt8fX0BANHR0bh8+bJOGQMDA7i6uiplPhUVFYWwsDCdBxGlXck5JfzhwwdMmjQJhQoVgqmpKRwcHJQvP0SUfn3zwBIYGAgrKyudbVZWVggLC0NkZCRevXqF2NjYRMsEBgYmeszp06fD3Nxcedja8tslUVqV3FPCY8aMwbJly7Bw4ULcvHkTvXv3RrNmzfDXX3+lcs2JKDWlyauEPDw8EBoaqjyePOGpA6K0au7cuejZsye6du0Ke3t7eHp6IlOmTFi9enWi5devX49Ro0ahfv36KFiwIPr06YP69etjzpw5qVxzIkpNRt/6F1hbWyMoKEhnW1BQEMzMzJAxY0YYGhrC0NAw0TLW1taJHtPExAQmJibfrM5ElDriTgl7eHgo25JyStjU1FRnW8aMGXH69OlvWlci0q9vPsLi4uKCo0eP6mw7fPgwXFxcAAAZMmRAuXLldMpotVocPXpUKUNE6dOXnBJ2c3PD3LlzcffuXWi1Whw+fBg7d+5EQEBAalSZiPQk2YElPDwcfn5+8PPzA/DxsmU/Pz88fvwYwMfTNZ06dVLK9+7dGw8ePMDw4cPxzz//YMmSJdi6dSsGDx6slHF3d8eKFSuwdu1a3Lp1C3369EFERAS6du36lS+PiNKb+fPno3DhwihWrBgyZMiAfv36oWvXrjAwSJNnuIkoiZJ9SujSpUuoWbOm8rO7uzsAoHPnzlizZg0CAgKU8AIABQoUwN69ezF48GDMnz8fefPmxcqVK+Hm5qaUad26NV6+fIlx48YhMDAQjo6OOHDgQIJvXUSUvlhaWib7lHDOnDnh4+OD9+/fIzg4GLlz58bIkSNRsGDB1KgyEenJV63DohZch0U9uA6LfqTldVicnZ1RoUIFLFy4EMDHU8L58uVDv379krQO04cPH1C8eHG0atUK06ZN+9bVJaIUlJzP728+6ZaI6N+4u7ujc+fOcHJyQoUKFTBv3jydU8KdOnVCnjx5MH36dADA+fPn8ezZMzg6OuLZs2eYMGECtFothg8frs+XQUTfGAMLEenVf50Sfvz4sc78lPfv32PMmDF48OABsmTJgvr162P9+vWwsLDQ0ysgotTAU0JJwFMTScdTQvqRlk8JEdH3S1VL8xMRERF9LZ4SIiIdHNlKOo5sEaUejrAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6n1RYFm8eDHs7OxgamoKZ2dnXLhw4bNla9SoAY1Gk+DRoEEDpUyXLl0SPF+3bt0vqRoRERGlQ0bJ3WHLli1wd3eHp6cnnJ2dMW/ePLi5ueH27dvIlStXgvI7d+5EdHS08nNwcDAcHBzQsmVLnXJ169aFl5eX8rOJiUlyq0ZERETpVLJHWObOnYuePXuia9eusLe3h6enJzJlyoTVq1cnWj579uywtrZWHocPH0amTJkSBBYTExOdctmyZfuyV0RERETpTrICS3R0NC5fvgxXV9f/HcDAAK6urvD19U3SMVatWoU2bdogc+bMOttPnDiBXLlyoWjRoujTpw+Cg4M/e4yoqCiEhYXpPIiIiCj9SlZgefXqFWJjY2FlZaWz3crKCoGBgf+5/4ULF3D9+nX06NFDZ3vdunWxbt06HD16FDNnzsTJkydRr149xMbGJnqc6dOnw9zcXHnY2tom52UQERFRGpPsOSxfY9WqVShVqhQqVKigs71NmzbK/5cqVQqlS5dGoUKFcOLECdSqVSvBcTw8PODu7q78HBYWxtBCRESUjiVrhMXS0hKGhoYICgrS2R4UFARra+t/3TciIgLe3t7o3r37f/6eggULwtLSEvfu3Uv0eRMTE5iZmek8iIiIKP1KVmDJkCEDypUrh6NHjyrbtFotjh49ChcXl3/dd9u2bYiKikKHDh3+8/c8ffoUwcHBsLGxSU71iIiIKJ1K9lVC7u7uWLFiBdauXYtbt26hT58+iIiIQNeuXQEAnTp1goeHR4L9Vq1ahaZNmyJHjhw628PDwzFs2DCcO3cO/v7+OHr0KJo0aYIffvgBbm5uX/iyiIiIKD1J9hyW1q1b4+XLlxg3bhwCAwPh6OiIAwcOKBNxHz9+DAMD3Rx0+/ZtnD59GocOHUpwPENDQ1y7dg1r165FSEgIcufOjTp16mDy5Mlci4WIiIgAfOGk2379+qFfv36JPnfixIkE24oWLQoRSbR8xowZcfDgwS+pBhEREX0neC8hIiIiUj0GFiIiIlI9BhYiIiJSPQYWIiIiUj0GFiIiIlI9BhYiIiJSPQYWIiIiUj0GFiIiIlI9BhYiIiJSPQYWIiIiUj0GFiIiIlI9BhYiIiJSPQYWIiIiUj0GFiKi79TixYthZ2cHU1NTODs748KFC/9aPiQkBH379oWNjQ1MTExQpEgR7Nu3L5VqS987I31XgIiIUt+WLVvg7u4OT09PODs7Y968eXBzc8Pt27eRK1euBOWjo6NRu3Zt5MqVC9u3b0eePHnw6NEjWFhYpH7l6bvEwEJE9B2aO3cuevbsia5duwIAPD09sXfvXqxevRojR45MUH716tV4/fo1zp49C2NjYwCAnZ1dalaZvnM8JURE9J2Jjo7G5cuX4erqqmwzMDCAq6srfH19E91n9+7dcHFxQd++fWFlZYWSJUti2rRpiI2NTa1q03eOIyxERN+ZV69eITY2FlZWVjrbrays8M8//yS6z4MHD3Ds2DG0b98e+/btw7179/DLL7/gw4cPGD9+fGpUm75zDCxERPSftFotcuXKheXLl8PQ0BDlypXDs2fPMGvWLAYWShUMLERE3xlLS0sYGhoiKChIZ3tQUBCsra0T3cfGxgbGxsYwNDRUthUvXhyBgYGIjo5GhgwZvmmdiTiHhYjoO5MhQwaUK1cOR48eVbZptVocPXoULi4uie5TuXJl3Lt3D1qtVtl2584d2NjYMKxQqmBgISL6Drm7u2PFihVYu3Ytbt26hT59+iAiIkK5aqhTp07w8PBQyvfp0wevX7/GwIEDcefOHezduxfTpk1D37599fUS6DvDU0JERN+h1q1b4+XLlxg3bhwCAwPh6OiIAwcOKBNxHz9+DAOD/32ntbW1xcGDBzF48GCULl0aefLkwcCBAzFixAh9vQT6zjCwEBF9p/r164d+/fol+tyJEycSbHNxccG5c+e+ca2IEsdTQkRERKR6HGEhIlKB8ruf6LsKacbFxrb6rgLpAUdYiIiISPUYWIiIiEj1GFiIiIhI9RhYiIiISPUYWIiIiEj1GFiIiIhI9RhYiIiISPUYWIiIiEj1GFiIiIhI9RhYiIiISPUYWIiIiEj1GFiIiIhI9b4osCxevBh2dnYwNTWFs7MzLly48Nmya9asgUaj0XmYmprqlBERjBs3DjY2NsiYMSNcXV1x9+7dL6kaERERpUPJDixbtmyBu7s7xo8fjytXrsDBwQFubm548eLFZ/cxMzNDQECA8nj06JHO87/++isWLFgAT09PnD9/HpkzZ4abmxvev3+f/FdERERE6U6yA8vcuXPRs2dPdO3aFfb29vD09ESmTJmwevXqz+6j0WhgbW2tPKysrJTnRATz5s3DmDFj0KRJE5QuXRrr1q3D8+fP4ePj80UvioiIiNKXZAWW6OhoXL58Ga6urv87gIEBXF1d4evr+9n9wsPDkT9/ftja2qJJkya4ceOG8tzDhw8RGBioc0xzc3M4Ozt/9phRUVEICwvTeRAREVH6lazA8urVK8TGxuqMkACAlZUVAgMDE92naNGiWL16NX7//Xds2LABWq0WlSpVwtOnTwFA2S85x5w+fTrMzc2Vh62tbXJeBhEREaUx3/wqIRcXF3Tq1AmOjo6oXr06du7ciZw5c2LZsmVffEwPDw+EhoYqjydPnqRgjYmIiEhtkhVYLC0tYWhoiKCgIJ3tQUFBsLa2TtIxjI2NUaZMGdy7dw8AlP2Sc0wTExOYmZnpPIiIiCj9SlZgyZAhA8qVK4ejR48q27RaLY4ePQoXF5ckHSM2NhZ///03bGxsAAAFChSAtbW1zjHDwsJw/vz5JB+TiIiI0jej5O7g7u6Ozp07w8nJCRUqVMC8efMQERGBrl27AgA6deqEPHnyYPr06QCASZMmoWLFivjhhx8QEhKCWbNm4dGjR+jRoweAj1cQDRo0CFOmTEHhwoVRoEABjB07Frlz50bTpk1T7pUSERFRmpXswNK6dWu8fPkS48aNQ2BgIBwdHXHgwAFl0uzjx49hYPC/gZs3b96gZ8+eCAwMRLZs2VCuXDmcPXsW9vb2Spnhw4cjIiICvXr1QkhICKpUqYIDBw4kWGCOiIiIvk8aERF9V+JrhYWFwdzcHKGhod9kPkv53ZzUm1QXG6fcFVts96Rju+sH210/UrLdSb+S8/nNewkRERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqMbAQERGR6jGwEBERkeoxsBAREZHqfVFgWbx4Mezs7GBqagpnZ2dcuHDhs2VXrFiBqlWrIlu2bMiWLRtcXV0TlO/SpQs0Go3Oo27dul9SNSIiIkqHkh1YtmzZAnd3d4wfPx5XrlyBg4MD3Nzc8OLFi0TLnzhxAm3btsXx48fh6+sLW1tb1KlTB8+ePdMpV7duXQQEBCiPzZs3f9krIiIionQn2YFl7ty56NmzJ7p27Qp7e3t4enoiU6ZMWL16daLlN27ciF9++QWOjo4oVqwYVq5cCa1Wi6NHj+qUMzExgbW1tfLIli3bl70iIiIiSneSFViio6Nx+fJluLq6/u8ABgZwdXWFr69vko7x7t07fPjwAdmzZ9fZfuLECeTKlQtFixZFnz59EBwc/NljREVFISwsTOdBRERE6VeyAsurV68QGxsLKysrne1WVlYIDAxM0jFGjBiB3Llz64SeunXrYt26dTh69ChmzpyJkydPol69eoiNjU30GNOnT4e5ubnysLW1Tc7LICIiojTGKDV/2YwZM+Dt7Y0TJ07A1NRU2d6mTRvl/0uVKoXSpUujUKFCOHHiBGrVqpXgOB4eHnB3d1d+DgsLY2ghIiJKx5I1wmJpaQlDQ0MEBQXpbA8KCoK1tfW/7jt79mzMmDEDhw4dQunSpf+1bMGCBWFpaYl79+4l+ryJiQnMzMx0HkRERJR+JSuwZMiQAeXKldOZMBs3gdbFxeWz+/3666+YPHkyDhw4ACcnp//8PU+fPkVwcDBsbGySUz0iIiJKp5J9lZC7uztWrFiBtWvX4tatW+jTpw8iIiLQtWtXAECnTp3g4eGhlJ85cybGjh2L1atXw87ODoGBgQgMDER4eDgAIDw8HMOGDcO5c+fg7++Po0ePokmTJvjhhx/g5uaWQi+TiIiI0rJkz2Fp3bo1Xr58iXHjxiEwMBCOjo44cOCAMhH38ePHMDD4Xw5aunQpoqOj8dNPP+kcZ/z48ZgwYQIMDQ1x7do1rF27FiEhIcidOzfq1KmDyZMnw8TE5CtfHhEREaUHXzTptl+/fujXr1+iz504cULnZ39//389VsaMGXHw4MEvqQYRERF9J3gvISIiIlI9BhYiIiJSPQYWIiIiUj0GFiIiIlI9BhYiIiJSPQYWIiIiUj0GFiIiIlI9BhYiIiJSPQYWIiIiUj0GFiIiIlI9BhYiIiJSPQYWIiIiUj0GFiIiIlI9BhYiIiJSPQYWIiIiUj0GFiIiIlI9BhYiIiJSPQYWIiIiUj0GFiIiIlI9BhYiIiJSPQYWIiIiUj0GFiIiIlI9BhYiIiJSPQYWIiIiUj0GFiIiIlI9BhYiIiJSPQYWIiIiUj0GFiIiIlI9BhYiIiJSPQYWIiIiUj0GFiIiolS0ePFi2NnZwdTUFM7Ozrhw4cK/lt+2bRuKFSsGU1NTlCpVCvv27UulmqoLAwsREVEq2bJlC9zd3TF+/HhcuXIFDg4OcHNzw4sXLxItf/bsWbRt2xbdu3fHX3/9haZNm6Jp06a4fv16Ktdc/xhYiIiIUsncuXPRs2dPdO3aFfb29vD09ESmTJmwevXqRMvPnz8fdevWxbBhw1C8eHFMnjwZZcuWxaJFi1K55vrHwEJERJQKoqOjcfnyZbi6uirbDAwM4OrqCl9f30T38fX11SkPAG5ubp8tn54xsBAREaWCV69eITY2FlZWVjrbraysEBgYmOg+gYGBySqfnjGwEBERkeoxsBAREaUCS0tLGBoaIigoSGd7UFAQrK2tE93H2to6WeXTMwYWIiKiVJAhQwaUK1cOR48eVbZptVocPXoULi4uie7j4uKiUx4ADh8+/Nny6dkXBZaUvoZcRDBu3DjY2NggY8aMcHV1xd27d7+kakRERKrl7u6OFStWYO3atbh16xb69OmDiIgIdO3aFQDQqVMneHh4KOUHDhyIAwcOYM6cOfjnn38wYcIEXLp0Cf369dPXS9CbZAeWb3EN+a+//ooFCxbA09MT58+fR+bMmeHm5ob3799/+SsjIiJSmdatW2P27NkYN24cHB0d4efnhwMHDigTax8/foyAgAClfKVKlbBp0yYsX74cDg4O2L59O3x8fFCyZEl9vQS90YiIJGcHZ2dnlC9fXrkGXKvVwtbWFv3798fIkSMTlG/dujUiIiLwxx9/KNsqVqwIR0dHeHp6QkSQO3duDBkyBEOHDgUAhIaGwsrKCmvWrEGbNm3+s05hYWEwNzdHaGgozMzMkvNykqT87icpfsz06mJj2xQ7Fts96dju+sF214+UbHfSr+R8fidrhOVbXEP+8OFDBAYG6pQxNzeHs7Pzd3mdORERESVklJzC/3YN+T///JPoPv91DXncf5NznXlUVBSioqKUn0NDQwF8TGrfQuy7t9/kuOlRSv4N2O5Jx3bXD7a7fnyrvp5SX9zfMikne5IVWNRi+vTpmDhxYoLttrYcJtQ3c31X4DvFdtcPtrt+sN3Tn7dv38Lc/N//sskKLN/iGvK4/wYFBcHGxkanjKOjY6LH9PDwgLu7u/KzVqvF69evkSNHDmg0muS8pDQrLCwMtra2ePLkyTeZt0OJY7unPra5frDd9eN7a3cRwdu3b5E7d+7/LJuswBL/GvKmTZsC+N815J+7xCruGvJBgwYp2+JfQ16gQAFYW1vj6NGjSkAJCwvD+fPn0adPn0SPaWJiAhMTE51tFhYWyXkp6YaZmdl38aZWG7Z76mOb6wfbXT++p3b/r5GVOMk+JeTu7o7OnTvDyckJFSpUwLx58xJcQ54nTx5Mnz4dwMdryKtXr445c+agQYMG8Pb2xqVLl7B8+XIAgEajwaBBgzBlyhQULlwYBQoUwNixY5E7d24lFBEREdH3LdmBpXXr1nj58iXGjRuHwMBAODo6JriG3MDgfxcfxV1DPmbMGIwaNQqFCxdOcA358OHDERERgV69eiEkJARVqlTBgQMHYGpqmgIvkYiIiNK6ZK/DQuoQFRWF6dOnw8PDI8HpMfp22O6pj22uH2x3/WC7fx4DCxEREakeb35IREREqsfAQkRERKrHwEJERESqx8BCREREqsfAQkRERKrHwEJE9J3QarU6P/Mi0dTDtv56DCwqEb8jef/+vR5r8n35tAOn1MMOPHVptVplUc9t27bh3r1738291/RNq9UqbX3jxg28evVKzzVKmxhYVCB+R7JkyRKsWbMGz54903Ot0r/47b5v3z6cO3dOzzX6fsTvwB8/fqzn2qR/IqK81z08PDB48GDs3r0bkZGReq5Z+he/nxkzZgx69+6NCxcu8IvpF2BgUYG4N/Pw4cMxYcIEZMyYEYaGhnquVfoWvwMfMWIEhgwZAj8/P7x+/Zrf/L+x+B34tGnT0K9fP5w9e1bPtUrf4sLhlClTsHLlSvj4+KB3797ImDGjnmuW/sUPKytXrsSIESNQqVIl3nrmCyT7XkL0bXh6emLDhg04fPgwHBwcAAAxMTEICwtD9uzZ9Vy79CeuA586dSq8vLywc+dOuLi4MCimgvgBfc2aNVixYkWSbi1PyRc/HIaHh+PEiROYPXs2nJyc8PTpU5w/fx4rVqxA1apV4erqisKFC+u5xumHiCj9zLVr17Bp0yZs2bIF1atXx9u3b3H37l1cuHABdnZ2qFy5sp5rmzYwsOhJbGyszofj48ePUbt2bTg4OOD+/fv4888/sWDBAuTIkQMtWrRA79699Vjb9CN+Bx4aGoo9e/Zg/vz5qFKlCp4+fYo7d+5gy5YtyJ8/P0aNGqXn2qZfBw4cwLZt27Bv3z44OTkhNjYWb968wbVr11CtWjXOrUghce/1P/74Aw0bNsSDBw/w119/IV++fFiyZAmePn2KDBkyYNy4cQgNDcXIkSN1Pmjpy8TvZx4+fAitVgsLCwvExsbi/Pnz2LBhA44cOYIPHz4gNjYWS5cuRd26dfVca/XjKSE9iQsrCxcuxMGDBxEWFobbt29jxIgR6NixI3bv3o2KFSuicOHCWL58OQIDA3mq4ivFPw30xx9/IDIyEpkzZ8apU6dw4MABDBo0CKNGjYK/vz8mTZqEESNG6LnG6Uf8yc1arRaGhoYwMDCAk5MTbt68iUmTJqFChQqoX78+GjZsqMeapg/x23vixIlo3LgxAgICMHXqVGzatAnNmjVDoUKFMHXqVJw8eRItWrTA1atXAYBh5SvF72fc3d0xfPhwxMTEIDY2FqNGjULVqlWh1WoxY8YM7Nu3D9mzZ0dAQICea502cIQllcVP3kuXLoWHhwdu3ryJokWLYvTo0Th16hRat26NWrVqoVSpUti+fTuuX7+OTJkysSP5CvG/NU6ePBnr1q3Dli1bUKNGDRw8eBCrVq3C4MGD0a9fP9SoUQP9+vXD69ev9Vzr9CF+Bz5s2DAEBwejR48eMDU1RdmyZREUFIS6deti+PDhKF++PMqWLYuDBw/Czc1NzzVPu+La+6+//kJkZCSOHj0KGxsbtG3bFjVr1kRERAQKFSoE4GOfdP/+fZQrV06fVU434vqZe/fu4dSpU/jtt9/g5OSEPXv24MKFC7C0tETVqlWVL608DZ10DCypLK4jOX36NN69e4elS5ciX758AAAvLy9ERUUha9asAIDo6GisWbMGlpaWyjb6MvEvKbx27RqWLFmCsmXLomTJkujevTsiIiJ0zt///fffcHFx0Vd10434QfHYsWM4dOgQVq9ejVKlSmHBggU4cuQInJycUL16dVhaWiIwMBAVKlSAubm5nmue9v3xxx/o2bMnTExM0LlzZwAf58VZW1sD+Din5dKlS5gzZw6CgoIwZcoUfVY3XZk+fTouXbqEH374AU5OTgCAfPnyKX19ZGQk3rx5g+7duyM2NhadOnXSZ3XTDAYWPfjnn39QrVo1AMD8+fOV7RkyZECGDBkQFhYGHx8fbNmyBU+ePMHly5eh0Wh0Rmco+VasWIFFixZBo9GgYMGCAD62edyEz4iICNy6dQujR49GSEgIO/AUEBdWfHx8sHv3blSvXl35Jl+rVi3UqlULAPDhwwe8evUKPXv2hIGBAcqXL6+3OqdVn/YPWbJkQa1atbB161Zcv34dxYsXh5GRkRIi//rrL8yfPx+xsbG4fPkyjIyMEsyto6T5tO2zZcuGXbt2oWDBgggJCVGuxoo7VbdgwQLs27cPWq0W586dg6GhIds+Cfjplwrizz2JjY1FsWLF8Pvvv8PMzAxnzpxBWFiYTvnY2Fj8+eefsLKywpUrV2BsbIyYmBiGlWT6dFG4atWqwdDQEDdu3MCZM2cSlPvjjz/w66+/wsDAAJcuXVI6cEq+uPe8VqtFaGgo5s2bB29vb9y9e1cpE9e279+/h7e3N1q2bImgoCCcPHlS6cAp6eL6h+3btwMAatSogYEDB6JJkyYYPnw49u3bB+B/IbJMmTKYPHky/vjjD6WP4Qfml4k/wfbDhw/o3bs3Nm7cCH9/fyxYsEB5LxsYGMDAwADt2rVDx44dceLECbZ9cgilmiVLlsjWrVslMjJSRER27NghxsbG4u7uLtHR0SIiotVqRUQkPDxc+f+YmBj9VDid2L9/v9y9e1dERPz9/aVMmTJSrVo1OXr0qE65d+/eia+vr8TGxoqIyIcPH1K9runNq1evRETkyZMn0rp1a8mXL594enoqz2u1Wnn//r1s375dZs2apbQ52/7L3Lt3TzQajTRo0EDZ5uvrKx06dJASJUrIvn37Et0v7j1PX27dunWSO3du2b9/v9Kfr1q1SgwMDGTChAlKG8f163HYvycdA0sqqlSpkuTPn192794t79+/FxGRbdu2ibGxsQwZMkR5k8f36Zubkuf8+fNStGhR6dmzpzx8+FBEPnbqpUuXltq1a8uxY8cS3Y8d+NfbuHGjuLi4yM2bN0VE5PHjx9KkSROpXr26rF27Vqds/PZmB550n/YP0dHRsmfPHrGyspImTZoo28+cOSMdO3aU0qVLy86dO1O5lt+HmJgYcXFxEQcHBzlw4IBOaDEyMpJJkybxvf2VGFi+kc994DVq1Eh++OEH8fHxUULL9u3bJWPGjNK9e3d+s/wGZs2aJZUrV5bevXvLgwcPRETk7t274ujoKHXr1pX9+/fruYbp09q1a6V69erSoEEDuXXrloh8HOFq3Lix1KhRQ9atW6fnGqZPHz58kL1794qlpaU0atRI2e7r6ysNGzaU9u3b67F26cPn+veYmBipWrWqlCxZUg4cOKD056tXrxaNRiOrV69OzWqmOwws39jz588TfAuqX7++FCxYUH7//XcltKxbt06qVavGEZWvEL/t4to1zpw5c8TZ2Vl69+4t/v7+IvJxpMXGxkYGDRqUqvVMjz7XgW/dulVq1aoldevWVUZa/P39pVmzZlKiRAmGxRTw22+/SefOnXW2RUdHyx9//CFmZmbSunVrZfvff//N0cMU5OXlJZcuXdLZFhMTI5UrV5bChQvLwYMHlZGWPXv28AvpV2Jg+YZWrFghNjY2cu7cuQRBpGbNmlKgQAHx8fGRd+/e6TzHDuXrrFq1SoYPHy7BwcE622fPni2FCxeWvn37yuPHj0VE5OnTpxymTUF79uyRZ8+e6WzbsmWL1KpVS+rVqyd37twREZH79+/LiBEj2PZfKSoqShYuXCgWFhbSv39/nediYmJk4MCBotFo5Mcff9R5jn3M14uKipJs2bKJo6OjXL16Vee52NhYsbOzkypVqsjOnTt1ggpDy5djYPmGPnz4IMWLF5fSpUvL+fPnRavVKsHlwoULYmRkJDY2NnLq1Ck91zR96d27t5QuXVomT54sr1+/1nmuffv2kjNnTmnTpo3OBys/OL/exYsXxd7eXjp27CiBgYE6z61evVosLS2lcePG8vfff+s8x7ZPusSCxuvXr2XVqlViaWkpffv21XluwYIF8tNPP0nz5s0ZUr5SYqPfoaGhUrhwYXFychI/Pz+dCyXq168vxsbG0qlTp9SuarrF62RTyKeX0AKAkZERrl27Bq1Wi65du+LixYvKc5GRkRgwYADatGmDSpUqpWZV05XE2n3p0qWoU6cOdu3ahQULFiA4OFh5rmjRoihQoABsbGyUBbQArjb5JeSTW0U4OTmhW7du8Pf3x8iRIxEYGKg816FDB+TNmxeXL1/G6tWrdfZn2ydN/LU+rl69ij///BPPnj2Dubk5unbtiunTp2PLli3o27cvACAkJASnT59GjRo1sGPHDhgYGCT674X+m1arVS4Hf/HiBcLCwvDmzRuYmZnh4sWLyurNfn5+yiXKtra2uHr1Kry8vPRc+/RDI5/2OpRs8TuSXbt24c6dO7C0tMQPP/yA6tWrIyYmBmXKlIGBgQGGDBkCR0dHjBkzBvb29pgxYwaAhDdDpP8Wv92vXLkCAwMDxMTEKCtLjhgxAkeOHEGDBg3Qq1cv5M6dG+3bt0eTJk3QunVrLsb3FT5tt8jISGVxrEWLFmHjxo0oXrw4Zs2ahRw5ciAwMBAjR45E3bp10apVK7Z5Mkm8FYNHjhyJzZs348OHDwgPD0fbtm3Rr18/lCpVCuvWrcPAgQNhamqKrFmzwsTEBH/99ZfOgnGUPPHbbdKkSTh8+DCePHmCUqVKoWPHjmjVqhVCQ0Ph7OwMExMTFC5cGC9fvkRwcDCuXbsGAwMD9u8phIElBQ0fPhzr169HoUKFEBYWhmfPnmHMmDEYPHgwYmNj0bBhQ9y8eRMxMTGwtbXFn3/+CWNjY31XO036tAPftm0bIiMjERUVhRYtWmDevHnIlCkTxowZg8OHD+PRo0fInTs3IiMj8ffff8PIyIhh5QvFb7d58+bh1KlTCA4ORpUqVTBkyBBkz54dS5cuxYYNG6DRaNC2bVvs3LkTxsbG2Ldvn/JNn22ffIsXL8aECROwefNmlChRAvv27cP69ethaWmJKVOmoFixYnjy5Am2bdsGMzMzdOnShSvYppDx48dj8eLFmD9/PgICAnD79m2sWbMGnp6e6N69O96+fYuxY8ciODgYxsbGWLZsGYyNjfleT0n6OheV3vz++++SM2dOOXv2rIh8XHNi+vTpYmhoKIsWLRKRj+dA//rrLzl37pxy3p4TsL7OvHnzJEeOHHL69Gk5f/687N69W8zNzaVp06ZKmUOHDsm8efN0FibjvImvN3LkSLG0tJQhQ4bI0KFDxdzcXGrXri3Xrl0TEZGdO3dK8+bNpVSpUtK0aVPlagnOpUi+uPlvrVq1SjC5dteuXVKqVCmZPn16ovvyvf71Xrx4IS4uLrJhwwZlW3BwsIwfP16yZMkiR44cEZGE81zYv6csBpYUMn/+fKlUqZLOtrCwMBk1apQ4ODgoi5bFx47k67Vv314GDx6ss+3atWtiYmIi48aNS3QftvvX+/vvv8XOzk7pqEU+XvlTpEgRnVVWtVqtvHz5UunI2YF/mbj2a9WqlXTp0kVEdN/HQ4cOlQIFCkhUVJRe6pfePX36VLJkySJeXl46258/fy61atWSKVOmiIhuGOcSFSmP41QpJEeOHHjw4AHu3bunbMuaNSuqV6+OR48eITw8PME+HKL9ciKCDx8+4M6dOzr3YoqOjkapUqUwatQoHDp0CGFhYQnuScN2/3oxMTH48OGDMnE5OjoaBQsWxO7du3HkyBFs2rQJwMf71lhaWirzhYyMeL/V/yIiCSbHxp3+LFq0qDJPLv77uGjRorC1teWk2hSQWBtaW1ujTp06OHXqlM5kchsbG5iamir9fvxTP5wvlPIYWJLpczdkK1q0KKytreHl5YXHjx8r2/Pnz488efLg/fv3qVXFdCmxDtzY2BgdO3bEwYMHceTIEQAf774MABkzZoShoSEyZcrEgPKVJJFpbtmyZcPr169x/vx5AB+viIuJiUGBAgVgb2+PV69eJdiH5/GTRqPRKG118OBBHDx4EL6+vgA+TvosU6YM6tati8uXL+PFixd49+4dvL29kTNnTpiamuqz6mle/PkmT58+xaNHjwB8/JJTo0YNnDt3DuvWrcOLFy8AAO/evUNYWBjy5cuntzp/T/h1J4nevn2LrFmzKh9+K1euxJMnT2BgYICxY8fCyckJHTt2xPLly/H69Ws0adIE1tbWGDFiBMzMzFC2bFk9v4K06cOHDzA2NlY6kTNnzuDNmzdwcXFB9uzZUb9+fZw8eRJTp05FbGws3NzcEBISgmPHjiFfvnwMK18prv0BIDg4GDly5EBsbCzy58+PgQMHYsKECciWLRuaNWsGAwMDREVF4cOHD8oVQ5R0/fv3R44cOTBhwgQAwODBg5WRKhsbGzRs2BBTpkzBrl270KZNG7i6uiJHjhzInDkzRAT79+8HAF4N9AVmzZqF7t27I3v27ACAUaNGYdu2bYiIiEDVqlWxfPly9O/fH69evcLatWuxc+dOFC1aFHfv3kVYWBjGjh2r51fwndDrCak0okePHlK2bFl5+fKliIiMHj1azMzMpG7dumJhYSFOTk5y7949Efl4R+Y6deqIRqOR0qVLS+XKlTnZ8AsNHjxYVq1apZyXd3d3l1y5comFhYUUKlRIVq5cKTExMXLhwgVp06aNZMqUSYoXLy729vZSunTpBHfApqTbsWOHvHnzRvl5ypQpUqVKFalUqZKsXr1aQkJCJCAgQHr27CkWFhYybNgwmTFjhtSuXVtKlizJuSrJ9OLFC+ndu7cUL15cfvvtN3n06JGUL19e/Pz85MqVKzJ9+nSxs7OTIUOGKPts3bpVvLy8ZM2aNZzE/xXu3r0rGo1GfvrpJwkPD5d169aJra2trFu3Try8vCR//vxSsWJFefLkiYh8vMBizJgx0qpVKxk5ciQn8qciBpYkuHr1qtja2kqdOnXk/v370rRpU7ly5YrExMTIixcvpFSpUlKyZEll2fF3797J33//Lbdu3VJCCjuS5Ktatao4ODjI5s2b5cCBA+Lk5CQnTpyQ58+fS7du3aREiRLy22+/SXR0tLx9+1ZOnDghs2fPlg0bNrAD/worVqyQ/Pnzy4wZMyQ2NlZWr14t2bNnl4ULF0r9+vWlbNmyMnjwYAkJCZHQ0FBZsGCB2NvbS61ataRdu3ZKUGQHnjz+/v4ycuRIKVGihLRr10569eqlhO1Xr17Jb7/9Jvnz5//sva/Y3l/u4sWLkjNnTunQoYMsWbJE5yaFz549k4IFC4qzs7M8evRI2R7/Cyj7mdTBdViS6NatW3B1dUWePHlgZmaGdevWIXfu3ACA0NBQVK1aFRqNBt7e3ihWrJjOkCyvw0+e+O3VvHlzPH/+HDVr1oSIKAvtAUDfvn1x4sQJ9OzZE506dVKGc+Nw7Ykvo9VqMWjQIPj6+qJVq1Z4+vQpatWqhcaNGwMApk2bBh8fH1SuXBmjRo1Czpw5ERERgUyZMinv+5iYGE6w/QL+/v5YtmwZNm7ciKJFi+Lw4cPKc8HBwdiwYQMWLlyIGjVqYOXKlXqsafpz8eJFNGzYEC9fvsT06dMxYsQI5fRaQEAAqlatity5c2P58uUoVqyYvqv7fdJvXkpbbt68KSVLlpTMmTPLjRs3ROR/KTs0NFQcHR3FxsZGHjx4oM9qpgvxvy02bdpUNBqN1K1bN8G3yL59+4qDg4NMnDhR3r59m9rVTHfi2jc2NlZ++eUXcXZ2FltbWzl8+LBOualTp4qzs7MMHDhQGSqPw1NwX8ff31+GDx8uWbNmlZkzZ+o8FxwcLJMnT5YWLVqwnb+BK1euiK2trbi6usqrV69E5H/v5+fPn0vmzJmld+/e+qzid42BJZlu3bol+fLlk1q1asmLFy9E5H9v6Ddv3kjHjh05NJtC4rdju3btJF++fLJu3boEd7du3769dOzYkR14CokfWuIWhPvll18kNDRUp9z06dOlYMGC8ttvv+mhlunb48ePZcSIEVKsWDGZPXu2znOhoaHKe53z4lLexYsXJUeOHNKiRQsJCQkREdE5Ncf+XX94SugL3Lp1C3Xq1IG9vT02btwIS0vLBKd9eDoiZcRvx2bNmuHBgwcYOXIkmjVrpnMJZ1z7C6+QSBFx7S4icHd3x6lTp9CyZUv07dsXWbNmVcqtX78e7dq143v9G3j06BGWLl2K33//Hb169cLgwYN1nud7/du5ePEi6tWrh5o1a2LlypUwNzfXaW/27/rBwPKFbt26BTc3N5QoUQJr1qyBlZWVvquUbsXvHJo2barcDbhJkyY6l89yrlDKimt3rVaLgQMH4ty5c2jRogX69euHLFmyJFqWUtajR4+wbNkyLF26FEuXLkWbNm30XaXvxqVLl9CgQQOUKFECe/bsQebMmfVdpe8ee/f/t3fvXrx9+zbJ5YsXL45Dhw7hyJEjOhNBKeUZGhoqC/b5+PigUKFCGDRoEM6cOaNTjmElZcW1u4GBARYsWIBKlSrBx8cH06ZNw7t37xKUpZSXP39+dO/eHdOmTUPLli31XZ00LbmrADs5OWHXrl0wNTXlukIqwREWAFu3bkWbNm0wf/58dO3aNcG3x3/z6NEj5M2blx32F/p0WPvfhrnjn6YYNWoUpkyZwnZPBfHbvXPnzsiQIQNWrFjB0xHJlNgIYHJHBTmK+GUePXqE/PnzAwB+//13uLi4IFeuXMk6Bq980z8Glv83depUTJgwAXPmzEG3bt2SFFo+7TzYmSRP/HDy9OlT5M2bN8H2T33aacRfiZWSLrE2/rd2jz9HSEQ4XyiZ4vcNfn5+MDIyQt68eWFhYfGv/Ub85+JWGqbkOXv2LAYPHowJEybgyJEjWLJkCe7du4c8efL86358f6vPd/3pOnToUFy8eBEAMHr0aIwbNw6DBw/G6tWrE71ZYXxxnTYA/PXXXwB4SiI5tFqt0hls2rQJffr0Ue6XotFoEr1/DZDw1APDSvLF74i9vb2xdetWAP/e7gYGBvjw4YPOfW7YmSddXJuNHDkStWvXRoMGDVCuXDlcv379s/1G/D5m6dKlGDdunM6NPilpTExMUKBAAfz888/w8vLC9evXkSdPns/eFw7Q/Teyfv16LFmyJLWqS//iu/2EffToER48eIAyZcoo28aOHYvx48f/Z2iJ/2b29PREy5Ytcfv27VSpd3oQ/1vjn3/+iYMHD+Ls2bOYPXu2EiAT+/CM3+5z585F8+bNU7fi6UD8oHjx4kUsXboUs2fPVm4e+bnQIiJKONy9ezcCAgJSr9JpWPy2PHXqFLy9veHt7Q1PT0+ULVsWVapUwZ9//pnofnF/p+XLl2Pw4MGoWbMmzMzMUq3u6UW5cuVgb2+PZ8+ewc7ODjdv3gQAZUL5pz7t3/v16wc7O7vUrDJ9zre8ZlqtPl27YPPmzXLw4EHl54kTJ4qBgYHMnz8/wWJk8df68PT0lKxZs8r27du/bYXTKXd3dylQoIAMHTpUOnfuLFmzZpWWLVvK2bNnlTJx7R2/3ZctWybZsmWT9evXp3qd04u4e6E4OTmJqampODs7y549e5Tn47f3p22v0Wjk5MmTqVrftG7x4sWyePFi+fXXX5VtYWFh0qFDBzEzM5M///xT2f5pH2NmZiY7duxI1fqmdXFtGLdmysGDB+X333+X9u3bS5UqVWTLli3/eQxPT08xNzdn/64i32VgiaPVauXVq1diY2MjderUkePHjyvPxYWWBQsWKKGFHUnKOXPmjOTKlUtOnz6tbNu5c6c4ODhIs2bN5OLFi8r2+As1sd2/3tKlSyVr1qzy559/yosXL2T//v3i6uoq1atXl7179yrltFptgve8hYUF2z6ZQkNDpWLFiqLRaGTAgAEi8r++5O3bt9KhQwfJnj27HDlyRGc/fmB+mfhfSONunBrH19dXWrVqJVWqVJFt27Yp21etWiVBQUHKz8uWLRMzMzO2vcp814Elzs2bN6V06dJSv359OXbsmLJ94sSJYmxsLFOnTpWIiAhl++LFi8XCwoJv5q9w4cIFsba2lgsXLuhs3759uxgaGkrLli3F19dX5zl2IimjW7du8tNPP+lsO378uDg6OoqTk5POaGPcB2tcUGTb/7fEVly+e/eutGjRQnLlyiW3b9/WKRceHi4NGzaU2rVrK+X5Xv8y8cPKkiVLpEOHDtK6dWtZvHixcoNCX19fad26tTg7O8ukSZOkQYMGki9fPmXfpUuXSsaMGRnMVei7Ciz/toz1jRs3xN7ePkFoGTJkiFSpUkXpXA4dOiTm5uaydevWb17f9CKx0zoXLlyQnDlzKp1C3B1+RURKliwpJUqUkB49eij3qVm+fLloNBrZuXNnKtY8fYlr/2HDhomrq6uEh4frPL948WIxMTGRH3/8UQ4cOKBsnz9/vmTPnp0fnkkQv4+JjIyU169fKz8/e/ZMatasKXny5FHuNxb3N3n37p3OvjNmzOAH5lcYMWKE5MyZU0aPHi3dunUTR0dH6dWrl9LPXLp0SQYMGCBOTk7SsGFDZfvjx4+ldevWfK+r1HcTWOJ3Bp6enjJgwABp2bKlHD9+XLnJVVxoadCggc7pofgftL6+vnLu3LlUq3daF7/d37x5o3Mb9p9//lnMzc11RllevXolnTp1krlz54q5ubnSaS9btkx27dqVavVODz4X0NevXy+ZMmUSb29vnTJbt26Vhg0bSuPGjaVTp04SEREhDx48kJw5c8rmzZtTq9ppVvx+Ytq0aVKnTh3Jmzev9OnTR/bt2yciIgEBAVKzZk3JmzdvgtAiIjr/PujLrFu3TooUKaKcVt6xY4dkyJBBChQoIG3btlXCydu3b+Xt27cJ7ssUd484Up/vJrDEiUvegwYNknr16kmpUqVk8uTJEhgYKCIfQ0upUqXE2dlZrly5IiIfOxTeZOzrTJkyRZycnKRu3boyefJkZftPP/0kpqamMmHCBJk7d67UqlVLqlatKiIi5cuXl169eokIO/Lkiv8huHnzZlm2bJmsW7dO2davXz/JmDGjrFq1Sq5fvy7BwcHSsGFDmTdvnmzatEk0Go3cunVLRD7epZY+79NTQGPGjJEcOXLI7NmzZfbs2VKuXDmpXr26eHl5iYjI06dPpU6dOmJoaMi2/QZWrFghw4YNExERHx8fyZYtm/z2228yc+ZMMTc3lx49eiSY2xIbG8ubp6YB31VgWb16tdjZ2SlB5OjRo6LRaKR48eIyduxYJVn7+flJ+/btGVK+Qvy2W7p0qWTPnl1mzZol7dq1k1KlSkmnTp2U58eOHSsuLi7i6OgojRs3lvfv34uISKVKlRLcqZb+W/yOd8iQIZI9e3YpXry42NraSv369XWes7GxESsrKylQoIAUK1ZMPnz4IDdu3JAiRYrIvXv39FH9NOXTO4ffu3dPSpQooXPF1Z07d6RTp05SvXp1+fvvv5VyAwcO5J1/v9LnQsaTJ0/kxYsXUqZMGZk5c6aIiDx69Ejy5s0rZmZmMmbMmNSsJqWQ7yawxMTEyIoVK5TLCnfu3CkWFhbi6ekp/fv3FwsLCxk/frw8ffpUZz+GluSL3wkfOXJEZs6cKT4+PiLycRh25cqVUqRIEenQoYNS7tWrV8q3Hq1WK2PGjBEbGxu5c+dO6lY+Dfu083758qXUr19f/v77bwkKCpK9e/dK3rx5pXr16kqZM2fOyL59+2TXrl3K323gwIFSunRp5VQpJa5nz54yY8YMnW3Pnz8XW1tbZQ5EXP/x4MEDyZUrlyxZsiTBcRhavkz8vvn169cSEhKi8/zp06clX758cvPmTRH5OHreqlUr2bZtG/v1NCrdBpbEkvfjx48lMDBQHj9+LA4ODjJ37lwR+djJWFpaiq2trSxbtuyz+9O/a9mypQQEBCg/nzlzRvLlyyfZs2fXmRP09u1bWbVqlRQrVkwntIiI3L59W37++WextrZWRsLov929e1fn5wULFkjZsmWlefPmEhYWJiIfPxiPHj0qefPmlRo1aiQ4xpUrV6Rz586SI0cO8fPzS5V6p1UfPnyQ5cuXK/Mh4k/aLFCggEycOFFEPrZ53Iejm5ubDB48WD8VTkd27NghwcHBys9jx46VypUri52dnSxatEi5PDlupHDYsGFy48YNqVu3rrRp0ybBGi2UdqTLlW7jr+YZGRmJyMhIAICtrS2srKzg7++Pd+/eoVatWgCA58+fo379+hg8eDC6d+8OgMuOJ9etW7eQLVs2nXud2NraokePHjA0NIS3t7eyPUuWLGjVqhVGjBiBvXv3YvLkycpzVlZWaNWqFc6cOaOzCjF93qhRo9C1a1cAH1fpjI6ORqZMmRAWFobr168ja9asAD6u7Fm9enWsW7cODx8+ROnSpZVjfPjwAVFRUYiMjMTx48fh4OCgl9eSFogIjIyM0LNnTxgbG2PVqlXo1asXwsLCYGtri2HDhmHixIlYt24dDA0NYWBggPfv3+PFixewsbHRd/XTtL179+Knn37CsmXLEBUVBU9PT6xYsQI//fQTmjZtisGDB2P69Ol4+vQpfvjhB7Rt2xbbt29HnTp1EBISgnXr1imrOfPGqWmQngPTNzVp0iSpWrWquLm5KRPeRET2798vhQsXFk9PT/n777+lYcOG0q1bN+V5Ju+vs3DhQmX+Q0BAgEydOlWKFCkiI0aM0CkXFhYmf/zxB9v7K718+VKZlBw3eTwkJEQ2btwoFhYW0q5dO53yMTExsm/fPmnatGmCofG4+UP0eZ+22cSJE6VcuXIyYMAAZTRr3LhxotFopF27dvLzzz/Ljz/+KCVKlODk8RTg6ekpGo1G5s2bJ+PGjVNON4uIeHt7i5mZmfTv319ev34tUVFR4u/vL2fOnFH+bvwbpF3pNrAsXrxYbGxsZOzYsdKxY0cxNDSUKVOmKM+3a9dO8ufPL7lz55by5csrQ7o8FZR88QNH3ES3fPnyib+/v4h8XH9i6tSpUrx4cRk5cuR/HoOS5tOVaLdu3SoajUY5lRYWFiYbNmwQGxsb6dixo86+8T902fZJd/bsWWURydGjR8uKFSvkw4cPMnXqVHF2dpb+/fsr69ts375d2rRpI02bNpVffvlF6WPY3l/m8uXLsmvXLnn06JF4eXmJRqORzJkzy6ZNm3TKeXt7i7m5uQwcOFAePnyo8xzbPm1LN4Hl0289np6eyiJj4eHhsmTJEjE0NJTx48crZXx9feX06dPKm5jJO3k+DXdx6x6cO3dO3NzcpGDBgkqHERdaSpUqJX369EntqqZL8RfbCw0NlaCgIGnUqJFYWlrKX3/9pWzfsGGD5MmTR7p06aKnmqYPQUFBYmpqKm3atJE+ffqIubm5XLt2TUQ+/i2mTJkizs7O0q9fPwkNDRWRj4vHxcc+5sts2LBBHB0dpUGDBuLh4SEiH5fTj7vdQfwF+kT+F97nzZunj+rSN5IuAkv8D87t27fLunXrpGLFijo3x3v//r0sXbpUjIyMZMKECQmOweT9ZeLabenSpVKxYkVl+4ULF6RWrVoJQsvIkSOlffv2HMn6SocPH1Ymjf/888/SuHFj+fDhgzx//lyaNWsmFhYWOqFl48aNYmBgoLMGDiXfnTt3xNTUVLJkySJnzpwRkf/9G4gLLS4uLjJgwAAltMThe/7LrF27VjJmzCibN2+WN2/e6Dy3aNEi0Wg0Mn369ARXCR09epQBMZ1J84El/siKh4eHGBsbS7ly5cTIyEi6d++us07C+/fvlfOf8ee0UPIMHDhQunfvrrNtyZIl0r59e51tcaGlUKFCyumhly9fJrpUPyVddHS0dOjQQZycnKRWrVqSPXt2uX79uvJ8YqElJCREDh48yGD+FWJiYuTSpUui0WgkS5Ys0qFDB+UDNK4fio6OlqlTp4qdnZ0SKOnLXb9+XUqUKCErVqzQ2R4/iMyfP18JLZ+GxE/LUtqW5gNLnJs3b0rNmjXl0qVL8uTJE9m4caMYGRnJiBEjdFY1fP/+vezatYtv4i/09u1bGTNmjJQsWVKGDBmibB81apQyTyL+h+KFCxfEzc1NMmXKpLOqJ8PK1ytXrpxoNJoEk5lFPoaW5s2bi6WlZYIbTDK0JF1i79OwsDC5du2aWFhYSOvWrRN8s9dqteLt7c12TgEHDx6UAgUKyO3btxP8LeKvTrt06VLRaDTi4eGR4B5ZlH6k2cCyY8cOOXz4sIh8vG9H7dq1pUWLFjrnjL29vZXQEv98fxyGli/z6tUr+fXXX6VEiRIyaNAgEREZOnRogomdcS5cuCD9+/dnB55CoqKiJDAwUDp06CBNmjSRSpUqyW+//aZc4RP3bT8gIECqVasmbm5u+qxumhV/9Pbx48cJVv49c+aMWFhYSPv27SU4OFi0Wq20b99e5xYIfM9/nWnTpomlpaXyc2IB8saNG+Lv7y+LFy+WSpUq8ctQOqYREdH3pdXJ5enpiYEDB+LQoUOoXr069uzZgyZNmiBXrlw4ceIEihUrppTdunUrOnfujC5dumDhwoUwMjLSY83TNq1WCwODj0v3BAcHY9WqVVizZg1atGiBLFmyKOvZZMyYEebm5nj//j0CAgJQr149mJiYAABiY2O5/sEXiN/2n27v3r07bt68ibZt26JPnz5KW79+/RpGRkbIkiVLovvS58Vv70mTJmHbtm0IDw9HpkyZsGrVKjg6OsLU1BS+vr6oX78+7OzsYGBggIiICPz9998wNjbW8ytIH7Zt24bOnTvDx8cHderUSbTM8OHDERISguXLl0NElHVWuJZWOqTfvJR8np6eYmRkpFwBFMfX11cMDQ2lR48eCW4o5uXlJdWqVWPy/grxv23G3b7g9evXMmPGDClVqpRoNBrJnTu3lClTRmxsbCRv3rySN29e+fHHH7kM9lf69E7j3bt3l0aNGomnp6eIfLyfTdeuXaVSpUoyY8YMefnypVSvXl3nfk38G3yZcePGiY2NjXh7e0tAQICUK1dO7O3txcfHRxnRevjwoQwcOFAmTJigjNpyZCVl3L9/X8zNzaVFixby6NEjZXtcXx4aGiotWrRQrgb69FJ/Sl/SVGBZvny5ZMiQQXbt2qWz3dPTU2JiYuTgwYNiYGAgP//8s84S8fHxzZx88T/sJk6cKG5ubspkzpcvX8qMGTPE2dlZWrdurZQLDAyUt2/fKvuy3b/e8OHDJU+ePDJ48GCZOXOmaDQa5a60ERER0rt3bylRooTY2tpK2bJlE9yRlv5b/Pfp2bNnpUKFCsqp5/3794u5ubmUKlVKsmXLJj4+PvL27VsR0f03wlPNKWvz5s1iYmIi7dq107ldx7Nnz6RevXpSuXJltvl3Is0EluPHj4tGo1Hu0RGnYcOG4uTkpNxp+cCBA2JkZCS//PJLghsZ0tcZMWKE2NjYyMaNG+XZs2fK9pcvX8rMmTOV+3Z8it/uv97JkyfFzs5OfH19ReTj/AkDAwNZs2aNUiYyMlJOnTqlcyNDduRJF/99GhUVJUFBQbJ06VIR+XiJbK5cuWT58uUiIuLo6Cj29vayefNmBsNvLO7GtcbGxpI3b16pW7eu1KlTR5ydnXUW/eSoVvqXZgLLnTt3pGrVqtK4cWNlgbIWLVpI6dKllXU+4jrngwcPikajSXAnVfpyJ06ckLx58+qsPfHixQs5c+aMBAcHS1RUlMyaNUssLS1lwYIFeq5t+uPj4yM//vijiIhs27ZNsmTJonyYvnnzJsGVQCLswJMj/shK165dpUqVKiIiyo30mjdvLoMHDxatVitRUVHSpEkTMTc354TmVPTXX39J//79pU6dOtK9e3dZtGgRg/l3Js3MQC1cuDBWrVqFAQMGYMKECQgNDUVERAR+//132NnZKTck02q1KFmyJG7fvo0CBQrou9rpRmhoKLJly4ayZcvi0qVL2LVrF7Zt24bg4GBUrVoVixYtQpcuXWBjY4M2bdrou7rpjomJCYKDg7FixQoMHToUv/76K3r37g0AOHXqFJYuXYqVK1ciT548yj6c3Jx0cRM07969i0ePHmHixIkAgFy5ciE8PBz+/v6oXLkyNBoNjI2NkTVrVly9ehW2trb6rPZ3xdHREQsWLEiwPTY2lhdTfCfS3FVCd+/exS+//IKLFy9ixYoVaNmypc6Mfjc3N7x58wYXLlwAAMTExPDNnEySyAz7+/fvo3DhwqhevTquXr2KZs2awdXVFdmyZUP79u2xdetW5e7XAK8G+lKfuxro1atXaNu2Lf7880+MGjUK48aNA/DxbuRt2rRB1qxZsX79el4Z8RW8vLywbt06ZM+eHZs3b4aRkZHyt2jSpAmuXr2KTp064dixYwgNDYWfnx8MDQ0/+zejlJdY30TfjzT3SV64cGF4enqib9++8PLygpWVFapVqwYAqF+/Pvz9/XH9+nWlPMNK8sTvfENDQ5EpUybExsaiUKFCuHjxIrZv344BAwagRo0ayJYtG6KiolCwYEFER0frHIdhJfnit72npydu3LiBoKAgNGjQAG3atEG/fv0QGBgIPz8/+Pj4IDo6GqtXr8bz589x5coVaDQafnh+oXfv3uHevXvw9/dHSEgIMmTIAACIioqCiYkJtm/fjjZt2sDX1xc2NjY4fvw4w4oeMKx839LcCEucu3fvYsCAATAwMMCoUaMwd+5cXL9+HdevX4exsTFHVr5A/M531qxZOH78OAICAlC3bl107twZxYoVU9o1Ojpa+Xb/5s0bnDlzhiElhYwYMQJeXl4YMGAAnjx5giNHjqBatWrw8vLCqlWrsH//fuzbtw9OTk6wtrbGxo0bYWxszFGtZEgsaDx//hzr1q3D1KlT0aNHD/z2228AgA8fPijrqrx79w6ZMmUCwNFbolSnx/kzX+3OnTvSoEEDMTY2lqJFiyqzxTkB6+t4eHhIjhw5ZPny5TJz5kypWLGiVKtWTblfTWRkpMybN08qVaokFSpU4Cz9FHTixAn54Ycf5Pz58yIisnv3bjE1NZXVq1frlHv48KFERkYqk0X5nk+6+FcDPXjwQB4+fKjcE+jNmzcydepUKVq0qIwcOVIp9+mVQLxMnyj1penAIiJy69Yt6d+/v9Jhs+P+Ojt27JDixYsrV2IdOHBATExMpGTJkuLs7Cy3bt0SEZHTp0/L1KlT2e5f6eDBg7J582bl561bt0rZsmVF5OPVQFmzZlWuBgoLC5ODBw/yw/MrxG+rMWPGSNGiRcXW1lZsbGxk2bJlEhERISEhITJlyhSxt7eXUaNG6bG2RBRfmg8s8fFD8+udOHFCuT/Qnj17JEeOHOLp6Sk+Pj5iaWkpVatWFT8/P519OLLyZU6fPi0ajUacnJxk7dq1IiKyb98+qVu3rvj4+EjWrFllyZIlSvk//vhD+vXrJ0+ePNFXldONGTNmSI4cOeT333+X48ePy5gxY8TMzEzGjRsnsbGx8uLFC5k2bZrkyJFD529ARPqTrgILJc+NGzfk3bt3IiIya9YsZT2bV69eSUREhFSvXl2mTJkiIh/DYLly5SRPnjzSvXt3fVU5XfHx8RGNRiPVqlWTJk2aiLe3t7x7907y5s0rGo1GVq5cqZSNjIyUevXqSYcOHTii8pXev38vtWrVkmnTpulsX7hwoZiYmMju3btF5ONKqmvXrmUgJ1IJTm//Tl28eBFt2rTB8uXL0b9/fwwfPhzv378HAOTIkQNBQUG4c+cOSpcuDQB48eIFfvjhByxYsADLly/XZ9XTjSZNmqBDhw7QaDQwNDTE4sWLcezYMezcuRM2NjY4ePAgdu/eDR8fHzRu3BhPnz6Fl5eXcnM3Sj6tVovo6Gg8f/4cGTNmBPDxSiAA6NevH5o1a4YFCxYgJiYGuXPnRqdOnWBoaIjY2Fh9VpuIADCwfGeuXr0KAChfvjxq1qyJGTNmYM2aNTh79qxyFRAAZMqUCcWLF8fq1avh4+ODrl274vXr12jatCkMDAyg1Wr1+TLSvLgPSTc3NxQpUgTDhw9Hzpw58euvv+LmzZvw8fHB/fv30b9/f0ybNg0WFha4fPkyjIyMEBsby8s7k+jT96mBgQGyZs0KJycnLF26FCEhITAxMcGHDx8AANbW1siaNWuCq3949RWR/jGwfEeGDBkCT09PpXMuV64coqKikC9fPpw/fx5hYWFKR21lZYUOHTrgzZs3GDx4MGJjY7F3714lrHDtieQ7fvw4Vq1aBeDjyrUA8OOPP2Lfvn24efMmFi9eDEtLS3h5eeHVq1e4fPkyLl26hD179mDLli3K5fr88Ey6uPfpnTt3cOvWLbx58wYA4OHhgWzZsqFly5YICQmBsbExtFotrl69ipw5c+qzykT0GWl2HRZKvjNnzsDZ2RlGRkZ48eIFMmTIgDdv3mDevHk4e/YsfvrpJ/zyyy/ImjWrsk9ERARevnyJfPnywcDAgGtPfKHjx48rKwHXqVMHTZs2RZUqVVCyZEl4e3tj06ZN2LRpEx49eoTx48cjODgYHTp0QPfu3ZVjCFf5TJJ58+bBxcUFzs7OAIChQ4di9+7dePLkCZydnVG1alVMnjwZR48exahRo3Dv3j2UKVMGr1+/RlRUFPz8/GBsbMz2JlIZfk3+DsRl0sqVK8PIyAgbN25Ew4YNcfXqVRQoUACzZ8+Gk5MTtm/fjmXLluHdu3cAgMGDB+P169ews7NTRlYYVr6Mra0tqlatipo1ayIqKgo3b95EjRo1MH/+fAQEBCAiIgJ+fn4oUaIEJk2aBADw8/PTmavCD8//duPGDXh4eGDRokW4fv06tm7diq1bt+K3337Drl27UKVKFWzevBm//PILatWqhf3792PkyJGoWLEi2rRpg6tXryojWWxvInXhCMt3IP43xXfv3uHSpUuYPHkyMmTIgKFDh6JmzZqIjY3FgAEDcOHCBRQsWBBv3rzBlStXEBgYyJCSQu7cuQMPDw98+PABAwYMQGxsLJYvX47IyEgcOHAATZo0wfbt22FoaAh/f39lVIvf9JPn5MmT6NatG2rXro0sWbLAysoKw4YNAwCEhYVh586dmDp1KoYOHYqff/45wf5cMZhInRhY0rndu3fD2toaFSpUwNChQxEYGIgNGzZg//79WLhwIWJjYzFy5EgltMycORO3b99GTEwM1qxZwyXfU9jt27cxaNAgaLVazJ8/H4ULF8bt27cxd+5c9O/fHw4ODjoBhfOFkieu7Y4fP45u3brh0aNH6N+/P+bPn6+UCQ8PR4cOHZAtWzZ4eXnpsbZElBwMLOlYbGwsGjRogHPnzqF+/fr4448/8Oeff8LBwQEAEg0tcfvFBRTOWUl5d+/eRb9+/QAAY8aMQdWqVZXnGFC+Tlx3ptFo4Ovri3bt2iFbtmxYtGgRKlWqpJQbM2YMTp06hUOHDsHU1FRf1SWiZGDPmA6tWrUKgYGBMDQ0xIEDB2Bqaopdu3Zh6dKlcHBwUNaUqFevHvr37w8jIyPMmjULhw8fBvC/SzhFhGHlGyhcuDAWLVoEAwMDTJs2DadPn1aeY1hJvviXLms0GmV0ysXFBWvWrFEmlh87dgwA8ObNGxw/fhx2dnYMK0RpCEdY0pmLFy/C2dkZ/fv3x8iRI2FhYQEXFxdkypQJ/v7+2LlzJypWrKhz2uHAgQPKN/24O9TSt3f37l0MHjwYQUFBWLVqlbJIHyVd/BGpNWvW4O7du3j79i06d+4Me3t7ZMyYEceOHUP37t0RGRmJkiVLwszMDAEBATh16hSvBiJKQxhY0qHdu3ejefPm6N27NxYuXKh0xg0bNsTly5exa9cuVKxYUSkfHR2NBw8eoEiRIvyGn8pu3bqFlStXYtasWWz7rzBixAh4eXmhcePGuHbtGjQaDdq3b49u3bohS5YsOH36NLp06YLY2FjMmjULzZo1g6GhIU95EqUlqXYTAPrmYmNjlfvMxN2npm/fvvL8+XMREYmOjpZGjRpJ7ty55cSJE/L69Wtp3ry59OnTR+cYpB9s+6SLfz+lZcuWSf78+eXy5csi8vEmkRqNRhwdHWX27NkSHh4uIh/vPN6iRQtlX7Y3UdrCEZZ0QuINa3/48AHGxsbw8fFB8+bN0bdvX4wZMwZWVlaIiYlBq1atsGfPHhQvXhwfPnzAtWvXYGxsrOdXQPTfOnbsiGbNmqF58+YQEURHR2PRokXQaDRwd3fHzp070b17d0yYMAFnz57Fn3/+iWHDhqFHjx46CyJycjNR2sPAks54eXkhIiIC3bp1Q6ZMmRINLQCwceNGAEDr1q1hZGTEoXFSvYCAAAwcOBBHjhzBxo0bUa9ePWi1Wjx48ABZs2bFu3fv0KhRI3Tv3h2DBw/GrVu3UKlSJeTIkQMTJ05E+/btOV+FKA3jJ1Q6Ehsbiy1btuDFixfIlCkT2rRpg6ZNm2Lnzp1o3rw5NBoNRo4cidy5c6N9+/Y6+zGskNrZ2Nhg6tSpyJ49O9q2bYtNmzahfv36KFCgAAwNDbF3716ICJo2bQoACAoKQr169VCiRAm0bdsWAFcLJkrLOCaahn16y3tDQ0P4+PigaNGi8PT0xKZNm/Du3TsltHh6emLkyJF4/fp1gv2I1Kpz585wdXUF8PGS8CFDhqBVq1Zo164d9u3bp7x/IyIiEBMTgwsXLuDx48eYO3curK2tMXr0aBgYGCT490JEaQtPCaUD9+/fR4ECBZRz8u/fv0enTp3g7++P3r17o23btsiYMSM2b96MxYsX49SpUzx/T2nGnj170K1bN9SqVQve3t4APl4SPmvWLGzdulUZaQkJCUGrVq2UlZqtra1x7tw5XrpMlE4wsKRBhw4dwuvXr9GmTRt4e3tjwoQJmD17NurXr68EkcjISDRt2hR37tzBuHHj0KpVK2TOnFk5BicdUlohIjhy5AjatGmDWrVqYevWrQB0Q8u6devQuHFjhIaG4uLFi/jw4QPq1KnDS5eJ0hEGljTmzJkzqFq1KsqVKwcPDw/UqVMH9evXh1arxahRo1C3bl0liFy/fh2VK1eGtbU1Zs2ahcaNG/ObJqVJIoLDhw+jbdu2iYaW7du3Y926dWjYsKHOfrwPFlH6wa/YacyrV68AAJkyZcKqVavw559/4sCBA8iQIQMmT56M/fv3K2XfvHmDn376CS1atECDBg0AcNIhpQ3xl9sHPr5vf/zxR2zevBlHjhxBq1atAHyc0zJs2DC0atUKjRs3hq+vr85+DCtE6QdHWNKgTp064fHjx8iRIwdevHihLKvfsGFDREVFoWXLlvjxxx8xevRo2NvbY+bMmQD4bZPShvinK69du4awsDAUKlQIOXLkQIYMGXDo0CG0bt0atWvXVkZabt26hT179sDd3Z2nf4jSKQaWNCQqKgomJibYuHEjTp48ie7du+PXX39FYGAgxo0bh2rVqqFPnz44efIkPnz4gHz58uHkyZOcdEhpRvz36ciRI7F582ZER0cjMjISbdu2xc8//wxHR0ccOnQIbdu2Re3atZWJuHE4Z4UofWJgUbnjx4/jwYMH6N69u7ItICAA5cuXx+TJk1GvXj307dsXQUFBGDVqFOrXrw9/f38EBATA2dkZBgYG7MApzVm0aBEmTpyIzZs3w97eHnv37sXGjRuRM2dOTJw4Efb29jh8+DDc3NwwevRoTJ48Wd9VJqJvjIFFxY4fP45atWoBAOrUqYOmTZuiSpUqKFmyJLy9vbFp0yZs2rQJjx8/xrhx4xAcHIyOHTuiW7duyjF4GojSGhFB69atkTt3bsybN0/ZvnPnTkyYMAEdOnTA8OHDERMTgytXrqBs2bIM5ETfAU66VTFbW1tUrVoVNWvWRFRUFG7evIkaNWpg/vz5CAgIQEREBPz8/GBvb49JkyYBAP766y/Ez6AMK6R2iU2wBYCwsDAA/1sgsXnz5qhTpw48PT0RHR0NIyMjVKhQQbm1BBGlbwwsKvbDDz9gxYoVsLCwQNasWdG4cWNs3LgRp06dwuHDh3H8+HHMmTMHsbGxsLe3h5eXF+bPnw+NRgMOnFFaEH+C7YULFxAdHQ0AKFGiBHbt2oW7d+/qhO5ixYohX758CUIOR1iI0j+eEkoDbt++jUGDBkGr1WL+/PkoXLgwbt++jblz56J///5wcHDQmazIReEoLYj/nh07diy2bduGcePGoV27dgCA2rVr48GDB9i2bRvy5s2LLFmyoHHjxsiWLRu2bdumz6oTkR4wsKQRd+/eRb9+/QBAuYw5DgMKpWWTJ0/GwoULsXXrVhQrVgzW1tYAPk4u79GjB86ePYscOXIgc+bMEBFcvnyZV74RfYcYWNKQu3fvYsCAAQCA0aNHo0qVKnquEdHXefXqFZo0aYIePXqga9euiZbZuXMnQkNDYWBggA4dOnC5faLvFANLGnP37l0MHjwYQUFBWLVqFUqXLq3vKhF9sfv378PBwQE+Pj5wdXXVGTWJjIyEkZERjI2NdfbhlW9E3yeeR0hjChcujFmzZqFatWooWbKkvqtD9FVsbGxQvHhxHDt2DFFRUdBoNMpVQSdOnMCCBQsSTLBlWCH6PjGwpEHFixfHnDlzYGBgkKAzJ0pLTE1N4eTkhAMHDmD79u0APgaSqKgoLFmyBL6+vpynQkQAeEqIiPQk7vRPZGQk2rdvj4cPH8LKygpFixbF+fPnER4ejr/++osTbIkIAAMLEelR3HyUqKgoeHl54fTp03j37h0KFiyIGTNmKIvCcYItETGwEJFefTqJNv5oCsMKEcXhHBYiSnHx51ZFRkb+a9lPJ9HGhRURYVghIgV7AyJKUfEXMpwzZw6io6PRvn175MuX71/3iz+yEh0djQwZMnzzuhJR2sERFiJKUXFhZfjw4Zg9ezZy5swJU1NTnTKfnomOH1Y2bdoET09PfPjwIXUqTERpAkdYiCjFrV27FmvXrsWRI0dQqlQpAB9PDYWHhyNnzpzQaDTKSEz8sLJs2TL069cPe/bsSbBgHBF93zjCQkRfLW6xtzgvXrxAzZo1UapUKdy5cweLFi2Co6MjWrRogdGjRwNAomFlxIgR8Pb2Rt26dVP9NRCRuvEqISJKMVOmTIGTkxP+/PNPeHp6omvXrjh48CCKFSsGe3t7hIWF4fjx49izZw9sbW2V/ZYtW4bhw4dj9erVaNGihR5fARGpFU8JEdEXiz/Bdtu2bZg0aRL8/PwwdepUhIeH4/bt2+jTpw9cXV1RpEgRnDt3DidPntSZw7JixQoMGTIEa9euZVghos/iCAsRfbWtW7fi7du3iImJwc8//6xsj4yMRMaMGQEAUVFRaN68OQBgz549MDAwwJs3b9CpUyd069YNzZo100vdiShtYGAhoq/y7NkzlChRAmFhYZgwYQLGjRunsxhcREQEPD09ceTIEQQEBODixYswNjZWyrx9+xZZs2bV86sgIrXjpFsiSpZPv+PkyZMHe/fuRenSpbF37168e/cOhoaGSrnMmTMjIiICefLkwaVLl2BsbIyYmBgl0DCsEFFScISFiL7IjBkzYG5ujp9//hkGBgbw9fVF69atUaxYMRw6dAiA7rL7cVcEfboUPxFRUnCEhYi+SEBAAPr27Yv169dDq9XCxcUFW7Zswa1bt+Dm5gbg47L7cZc8azQaiAjDChF9EY6wENF/in81UHxjxozBr7/+imXLlqFz587KSEvbtm2RI0cOXL58WQ+1JaL0iJc1E9F/igsr/v7+sLOzU7ZPmTIFWq1WuTKoU6dOcHFxwdq1azFv3rzPBh0iouTiCAsRJcmePXvQpEkTHDx4ELVr19Z5zt3dHStWrMCyZcvQqlUrnbssM7QQUUpgL0JESdKgQQO0a9cObdq0weHDhwH874qhjh07Ijo6Gh06dMDBgwd19mNYIaKUwBEWIkrg30ZFOnTogD179mD79u3KSMuNGzewefNm5MuXD926ddMZYSEiSgkMLESkI35Y2bBhA27evAkTExOUKVMGjRs3BvAxtPj4+GDGjBkoUqQIFi9ejIwZM8Lb2xsAEBMTw9BCRCmKgYWIEjVs2DB4eXmhZs2auHnzJrRaLSpXroyVK1cC+DhvZePGjciSJQusra1x4sQJGBsb67nWRJReMbAQUQJHjx5Fp06dsHXrVlSuXBlhYWHYunUrZs2ahTp16mDhwoUAgNu3b8PQ0BAFCxaEgYEBR1aI6Jthz0JECTx58gQZM2aEo6MjAMDMzAwtW7bEmzdvsG3bNjx48AAFCxZE0aJFlX20Wi3DChF9M5y+T0SKuAHXvHnzQqPR4Pr168pz5ubmqFu3Lq5cuYKHDx8m2JdXAxHRt8Qehug7JSLQarWJPpcvXz4YGBhg5cqV8Pf3V7abm5ujZMmSMDU1TaVaEhF9xPFbou/Qq1evYGlpCY1GAwBYsGAB/vnnH8TGxmLs2LEoUqQIFi5ciNatWyMiIgI1a9ZE8eLFMXnyZBgbG6NixYp6fgVE9L3hCAvRd2bcuHHIkycPnjx5AgAYPXo0Jk2ahKCgIJw9exYlS5bEmTNnUKdOHezYsQMhISEYP348fvnlF8TGxuLs2bM6NzUkIkoNHGEh+s506tQJp0+fRtWqVXHs2DGEh4dj//79KF++PIKDg9GvXz80aNAAf/zxB3788Uc4OTkhMjISERERKFCgADQaDa8GIqJUx8uaib5D/v7+6NKlC27cuAFbW1ts3LgRxYsXBwC8ffsWvXr1woEDB7B3715UqlRJZ1/eG4iI9IG9DtF3yM7ODqtXr0aNGjVw7do1vHv3DsDHMJI1a1YsX74cDRo0QJUqVXSuFAJ4NRAR6QdHWIi+Y/fv30evXr1w584dnD17Fra2thARaDQahIaG4rfffsOYMWN4+oeI9I6Bheg79/DhQ3Tr1g3379/HmTNnYGtrm+C0D+esEJG+MbAQER4+fIju3bvD398fR48eRYECBfRdJSIiHQwsROlUcifH+vv7o1GjRihcuDB27tz5DWtGRJR8DCxE6VDcPBQAOHz4MMqUKQNLS8v/3C8gIABWVlacWEtEqsNeiSid0Wq1SlgZO3YsBg8ejODg4CTta2Njo4QVfpchIjVhYCFKZ+ICh7+/P27evIn58+fr3FU5MfHDia+vL4KDg5XQQ0SkBgwsROnQokWLULlyZTx+/Bj58+f/17LxTx8tWbIEnTp1wvPnz1OjmkREScbAQpQOtW/fHubm5rh8+TJu3rz52dM78cPKsmXL4OHhgWnTpqFUqVKpWV0iov/ESbdEadynVwPFhZCQkBCUK1cO5ubmWLNmDUqXLq2z36dhZfjw4fDy8kLz5s1Ttf5EREnBwEKUhsUPKzt27MDt27dhZGSE8uXLo2bNmnj9+jXKlSsHKysrLF++PEFoAT6eBho1ahRWrVqFFi1apPZLICJKEp4SIkrD4sLK8OHD4e7ujnPnzuHatWuoVasWNm/ejOzZs+Ovv/7Cy5cv0adPH1y+fFln/2PHjmHq1KlYsWIFwwoRqRoDC1Eat2PHDmzcuBFbt27F7t270aBBAwBAVFQUAMDCwgKXLl3ClStXsGzZMp19bW1t8fvvv6Nly5apXm8iouTgzUGI0pi400Bxc1AePnyIWrVqwdnZGTt37kSvXr2wbNkydOnSBWFhYXjy5AlKlCiBly9fImPGjDrHKly4sJ5eBRFR8nCEhSgNiYmJUU4DRUZGAgAMDQ1hYGCAbdu2oXPnzpg1axZ69uwJANi/fz9Wr16N4OBgZMmSBYaGhoiNjdVb/YmIvhQDC1EasWfPHpw4cQIAMHDgQLRp0wYigoIFC+L06dPo0qULpk6dit69ewMA3r59i7Vr10Kr1SJHjhzKcQwNDfVRfSKir8JTQkQq16ZNG4waNQpz5szB33//jZo1a+LYsWM4efIkNBoNmjRpglOnTmHhwoXIkCEDrly5AgAYNWoUXrx4gd27dwPQvYyZiCit4WXNRCrWrl07+Pr64uHDhwCA4sWL4/bt2/D09ESvXr10yvbq1QsXLlzA9evXUb58eWTOnBn79++HsbExYmNjObJCRGkaR1iIVCowMBBXr17F3LlzAQDTp0+HiYkJXFxcMGnSJNjZ2aFWrVpKEFm+fDkePnyIp0+fInfu3ChQoAAMDAwQExMDIyP+UyeitI0jLEQq1rZtW1y9ehUuLi44evQoTp48ifz586NOnTq4ceMG1qxZg5o1ayqBJDw8HFmyZFH2/3QVXCKitIqBhUiF4uab3LlzB66urggICMDOnTvRqFEjpUydOnXwzz//YOnSpXB2dkbXrl2RPXt2rF27lvNViCjdYWAhUpn4oyLe3t5wd3eHnZ0dIiMjsXXrVp21Uxo0aIDLly/DwsICGTJkwOXLl2FsbKyvqhMRfTMMLEQq4u3tjUOHDmHkyJEoVKgQwsPDER4ejmfPnmH06NF48eIFduzYgR9++EHZZ+vWrdBqtfjpp59gZGTEOStElC4xsBCpRFhYGMqWLYuwsDBYWVmhfPnyqFGjBjp16gQAuHjxIkaOHImXL19i586dOqElDq8GIqL0ioGFSCViY2MxduxY5M+fH+XLl1duTFi3bl2UK1cOgwYNwpkzZ7Bw4ULcu3cPmzdvRvHixfVdbSKiVMHLB4hUwtDQEFWrVsWwYcNgZGSEoUOHIiAgAIULF8bw4cNRpUoVXLhwAZUrV0a+fPkwbdo0fVeZiCjVcISFSGX69u0LAFi8eDEAoESJEihSpAgKFiyIO3fuYO/evZg0aRJGjRrFS5aJ6LvBmXlEKlO2bFl4eXnhzZs3qFWrFrJly4a1a9fCzMwMT548wblz59CsWTMYGBhwnRUi+m5whIVIhSpUqIBLly6hWrVq2LlzJ7Jnz56gDK8GIqLvCb+aEalI3PeHAQMGoESJEpgzZw6yZ8+OxL5XMKwQ0feEgYVIReJWp61ZsyaCg4Nx+PBhne1ERN8rBhYiFcqTJw88PDwwe/Zs3Lx5U9/VISLSO44pE6lU/fr1cenSJRQrVkzfVSEi0jtOuiVSsbibGHIFWyL63jGwEBERkepxDgsRERGpHgMLERERqR4DCxEREakeAwsRERGpHgMLERERqR4DCxEREakeAwsRERGpHgMLERERqR4DCxEREakeAwsRERGp3v8B6VXSTWRlL6gAAAAASUVORK5CYII=",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"predictor_list = [\n",
" \"Email_hours\",\n",
" \"Chat_hours\",\n",
" \"Meeting_hours\",\n",
" \"After_hours_collaboration_hours\",\n",
" \"Multitasking_hours\",\n",
" \"Meeting_and_call_hours_with_manager_1_1\"\n",
"]\n",
"\n",
"\n",
"vi.create_IV(\n",
" pq_data,\n",
" predictors = predictor_list,\n",
" outcome = \"IsLargeNetwork\",\n",
" return_type = \"plot\"\n",
" )"
]
},
{
"cell_type": "markdown",
"id": "8864fa41",
"metadata": {},
"source": [
"Here's a general guideline on how to interpret the IV values:\n",
"\n",
"- IV < 0.02: The predictor is not useful for modeling (it has no predictive power).\n",
"- 0.02 <= IV < 0.1: The predictor has only a weak predictive power.\n",
"- 0.1 <= IV < 0.3: The predictor has a medium predictive power.\n",
"- 0.3 <= IV < 0.5: The predictor has a strong predictive power.\n",
"- IV >= 0.5: The predictor has a suspiciously high predictive power, and may potentially indicate overfitting. \n",
"\n",
"These are just guidelines and the thresholds can vary depending on the context and the specific problem you're working on. With real data, always consider the business context and use your judgement when interpreting the IV values. \n",
"\n",
"## Other return options\n",
"\n",
"In total, there are five return options that can be supplied to `create_IV()`, via `return_type`: \n",
"\n",
"- \"plot\"\n",
"- \"summary\"\n",
"- \"list\"\n",
"- \"plot-WOE\"\n",
"- \"IV\"\n",
"\n",
"The below shows the results when `return_type = 'summary'`, which returns a DataFrame containing one row per predictor and its associated IV and p-value:"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "86f854f1",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Variable
\n",
"
IV
\n",
"
pval
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
Email_hours
\n",
"
1.774995
\n",
"
0.000000
\n",
"
\n",
"
\n",
"
1
\n",
"
Multitasking_hours
\n",
"
1.248193
\n",
"
0.000000
\n",
"
\n",
"
\n",
"
2
\n",
"
Meeting_hours
\n",
"
0.944530
\n",
"
0.000000
\n",
"
\n",
"
\n",
"
3
\n",
"
After_hours_collaboration_hours
\n",
"
0.586598
\n",
"
0.000000
\n",
"
\n",
"
\n",
"
4
\n",
"
Chat_hours
\n",
"
0.000000
\n",
"
0.003346
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Variable IV pval\n",
"0 Email_hours 1.774995 0.000000\n",
"1 Multitasking_hours 1.248193 0.000000\n",
"2 Meeting_hours 0.944530 0.000000\n",
"3 After_hours_collaboration_hours 0.586598 0.000000\n",
"4 Chat_hours 0.000000 0.003346"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"vi.create_IV(\n",
" pq_data,\n",
" predictors = predictor_list,\n",
" outcome = \"IsLargeNetwork\",\n",
" return_type = \"summary\"\n",
" )"
]
},
{
"cell_type": "markdown",
"id": "e37b7343",
"metadata": {},
"source": [
"It's also possible to return Weight of Evidence (WoE) as a plot too. The WoE for a given interval is calculated as the natural logarithm of the proportion of positive outcomes to the proportion of negative outcomes. In other words, it measures the evidence in favor of a particular outcome given the value of the independent variable.\n",
"\n",
"Here is the output for `return_type = 'plot-WOE'`:"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "9e17de5e",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA+cAAAK9CAYAAABGnB2ZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABNG0lEQVR4nO39eZxWdcE//r8uFIZNEJBV2URRMFHTVHBB1K+C5lLdZpuKmTupN+qtVu5+QtHMcs9KrOy2ul2yUlzBXNBUIncTF0AEl5BFUNbr9wc/RkcWZ2CGIzPP5+NxHsw511leF74Z5zXnXOeUyuVyOQAAAEBhGhUdAAAAABo65RwAAAAKppwDAABAwZRzAAAAKJhyDgAAAAVTzgEAAKBgyjkAAAAUTDkHAACAginnAAAAUDDlHAAaoKFDh6ZHjx5VlpVKpZx33nnV3scbb7yRUqmUyy67rHbDAUADpJwDwFowatSolEqllU6PP/540REBgAKtX3QAAGhILrjggvTs2XO55ZttttlazXHDDTdkyZIla/WYAMDKKecAsBYNGTIkO+ywQ9Ex0rhx46Ij1LolS5ZkwYIFadq0adFRAKDGXNYOAJ8Tn/wM99VXX51NN900zZs3zz777JMpU6akXC7nwgsvzCabbJJmzZrloIMOyowZM6rs489//nP233//dOnSJRUVFenVq1cuvPDCLF68uMp6K/rM+Zr4xS9+kV69eqWioiJf+tKX8uSTTy63zoMPPpjddtstLVq0yIYbbpiDDjooL774YrVynXfeeSmVSlWWlUqlDBs2LDfffHO22mqrVFRUZPTo0UmSW265Jdtvv3022GCDtGrVKltvvXV+9rOf1dr7BYDa5sw5AKxFs2bNynvvvVdlWalUSrt27Srnb7755ixYsCDf//73M2PGjIwcOTJf//rXs+eee2bs2LE544wzMnHixFx55ZU57bTT8utf/7py21GjRqVly5YZPnx4WrZsmQcffDDnnHNOZs+enUsvvbRO3tPvf//7zJkzJ8cee2xKpVJGjhyZr371q3nttdcqz9Dff//9GTJkSDbddNOcd955+fDDD3PllVdml112yfjx41f7FwUPPvhg/vjHP2bYsGHZaKON0qNHj9x333355je/mb322iuXXHJJkuTFF1/Mo48+mpNPPrm23jYA1CrlHADWor333nu5ZRUVFfnoo48q56dOnZpXXnklrVu3TpIsXrw4I0aMyIcffpinnnoq66+/9H/f7777bm6++eZce+21qaioSLK0KDdr1qxyX8cdd1yOO+64XHPNNbnooosq16tNkydPziuvvJI2bdokSbbYYoscdNBBueeee/LlL385SXL66aenbdu2GTduXNq2bZskOfjgg7Pddtvl3HPPzU033bRax3755Zfz7LPPpm/fvpXLTjnllLRq1Sr33HNP1ltvvTV8dwCwdrisHQDWoquvvjr33Xdflenuu++uss4hhxxSWcyTZKeddkqSfOc736ks5suWL1iwIFOnTq1c9sliPmfOnLz33nvZbbfdMm/evLz00kt18p4OPfTQymKeJLvttluS5LXXXkuSTJs2LRMmTMjQoUMri3mS9OvXL//f//f/5a677lrtYw8cOLBKMU+SDTfcMHPnzs1999232vsFgLXNmXMAWIt23HHHz7whXLdu3arMLyvqXbt2XeHy999/v3LZ888/nx/96Ed58MEHM3v27Crrz5o1a7Vzr8qn8y4r6styTZo0KcnSM+qf1qdPn9xzzz2ZO3duWrRoUeNjr+jO9yeccEL++Mc/ZsiQIdl4442zzz775Otf/3oGDx5c4/0DwNrizDkAfM6s7FLslS0vl8tJkpkzZ2bgwIH517/+lQsuuCB/+ctfct9991V+7rquHp32Wblq4tM3fVvm0ze0W+aTVwos06FDh0yYMCF33nlnDjzwwIwZMyZDhgzJEUccUeM8ALC2OHMOAPXE2LFj85///Ce33XZbdt9998rlr7/+eoGpku7duydZ+vnwT3vppZey0UYbVZ41b9OmTWbOnLncesvOvldXkyZNcsABB+SAAw7IkiVLcsIJJ+T666/P2WefvdafKQ8A1eHMOQDUE8vOYH/yjPWCBQtyzTXXFBUpSdK5c+dsu+22uemmm6oU7+eeey733ntv9ttvv8plvXr1yqxZs/LMM89ULps2bVpuv/32ah/vP//5T5X5Ro0apV+/fkmS+fPnr+a7AIC65cw5AKxFd9999wpvzDZgwIA0arRmvzMfMGBA2rRpkyOOOCInnXRSSqVSfvvb367W5eW17dJLL82QIUPSv3//HHXUUZWPUmvdunXOO++8yvW+8Y1v5IwzzshXvvKVnHTSSZk3b16uvfba9O7dO+PHj6/Wsb73ve9lxowZ2XPPPbPJJptk0qRJufLKK7PtttumT58+dfQOAWDNKOcAsBadc845K1x+4403Zo899lijfbdr1y5//etfc+qpp+ZHP/pR2rRpk+985zvZa6+9su+++67RvtfU3nvvndGjR+fcc8/NOeeck8aNG2fgwIG55JJLqtzUrV27drn99tszfPjw/M///E969uyZESNG5JVXXql2Of/Od76TX/ziF7nmmmsyc+bMdOrUKYceemjOO++8Nf4FCADUlVL58/DrdAAAAGjA/PoYAAAACuaydgCgisWLF+fdd99d5TotW7ZMy5Yt11IiAKj/lHMAoIopU6ZU+Rz4ipx77rlVbuQGAKyZdaacjxgxIrfddlteeumlNGvWLAMGDMgll1ySLbbYouhoAFCvdOrUKffdd98q19l0003XUhoAaBjWmRvCDR48ON/4xjfypS99KYsWLcoPfvCDPPfcc3nhhRfSokWLouMBAADAaltnyvmnvfvuu+nQoUMeeuih7L777kXHAQAAgNW2zlzW/mmzZs1KkrRt23al68yfPz/z58+vnF+yZElmzJiRdu3apVQq1XlGAAAAGrZyuZw5c+akS5cuadRo5Q9MWyfPnC9ZsiQHHnhgZs6cmUceeWSl65133nk5//zz12IyAAAAWN6UKVOyySabrPT1dbKcH3/88bn77rvzyCOPrPLNffrM+axZs9KtW7dMmTIlrVq1WhtRAQAAaMBmz56drl27ZubMmWnduvVK11vnLmsfNmxY/vrXv+bvf//7Kot5klRUVKSiomK55a1atVLOAQAAWGs+66PV60w5L5fL+f73v5/bb789Y8eO/cznrwIAAMC6Yp0p5yeeeGJ+//vf589//nM22GCDTJ8+PUnSunXrNGvWrOB0AAAAsPrWmc+cr+wSgBtvvDFDhw6t1j5mz56d1q1bZ9asWS5rBwAAoM5Vt4euM2fO15HfIQAAAECNrfwhawAAABTq75P+ngP+94B0+UmXlM4v5Y6X7vjMbW5+5uZsc902af7/mqfzTzrnu3/+bv4z7z91H5Y1opwDAAB8Ts1dMDfbdNwmV+93dbXWf3Tyozn8jsNz1HZH5fkTns+fDvlT/jH1Hzn6L0fXcVLW1DpzWTsAAEBDM2TzIRmy+ZBqrz/uzXHpsWGPnLTTSUmSnm165tjtj80lj15SVxGpJc6cAwAA1BP9N+mfKbOm5K5X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Q7gkqaioyJ577pnzzz8/Dz30UKZNm5azzjorb731Vq677rq6yLjazjrrrMyaNatyKupyfAAAAFiVGt8QbsGCBRk3blzGjh2bsWPH5oknnsjGG2+c//qv/8rAgQPrImOSZKONNsp6662Xt99+u8ryt99+O506dVrhNhUVFamoqKizTAAAAFAbql3OL7jggsoy3r179+y+++455phjcvPNN6dLly51mTFJ0qRJk2y//fZ54IEHcvDBBydJlixZkgceeCDDhg2r8+MDAABAXanRZ867deuWn/zkJznkkEPSrl27usy1QsOHD88RRxyRHXbYITvuuGOuuOKKzJ07N0ceeeRazwIAAAC1pdrl/O67786YMWMyatSonHzyyendu3f22GOPDBw4MAMHDkz79u3rMmeS5NBDD827776bc845J9OnT8+2226b0aNHL3eTOAAAAFiXVLuc77vvvtl3332TJHPmzMnDDz+chx56KCNHjsy3v/3tbLbZZhk0aFCuuuqqOgubJMOGDXMZOwAAAPVKje/WniQbbLBB9ttvv/z4xz/Oz372swwfPjxvvvlmrr322trOBwAAAPVeje7WvmTJkjz11FMZM2ZMxo4dm0cffTRz587NJptskq985SsZNGhQXeUEAACAeqva5XzIkCF57LHHMmfOnHTp0iWDBg3KT3/60wwaNCibbrppXWYEAACAeq3a5XzDDTfMpZdemkGDBmXzzTevy0wAAADQoFS7nP/v//5vXeYAAACABqtaN4S75ZZbqr3DKVOm5NFHH13tQAAAANDQVKucX3vttenTp09GjhyZF198cbnXZ82albvuuivf+ta38sUvfjH/+c9/aj0oAAAA1FfVuqz9oYceyp133pkrr7wyZ511Vlq0aJGOHTumadOmef/99zN9+vRstNFGGTp0aJ577rl07NixrnMDAABAvVHtz5wfeOCBOfDAA/Pee+/lkUceyaRJk/Lhhx9mo402ynbbbZftttsujRqt1mPTAQAAoEGr0XPOk2SjjTbKwQcfXAdRAAAAoGFyqhsAAAAKppwDAABAwZRzAAAAKJhyDgAAAAVb7XK+YMGCvPzyy1m0aFFt5gEAAIAGp8blfN68eTnqqKPSvHnzbLXVVpk8eXKS5Pvf/34uvvjiWg8IAAAA9V2Ny/lZZ52Vf/3rXxk7dmyaNm1auXzvvffOH/7wh1oNBwAAAA1BjZ9zfscdd+QPf/hDdt5555RKpcrlW221VV599dVaDQcAAAANQY3PnL/77rvp0KHDcsvnzp1bpawDAAAA1VPjcr7DDjvkb3/7W+X8skL+y1/+Mv3796+9ZAAAANBA1Piy9h//+McZMmRIXnjhhSxatCg/+9nP8sILL+Sxxx7LQw89VBcZAQAAoF6r8ZnzXXfdNRMmTMiiRYuy9dZb5957702HDh0ybty4bL/99nWREQAAAOq1Gp85T5JevXrlhhtuqO0sAAAA0CDV+Mz5XXfdlXvuuWe55ffcc0/uvvvuWgkFAAAADUmNy/mZZ56ZxYsXL7e8XC7nzDPPrJVQAAAA0JDUuJy/8sor6du373LLt9xyy0ycOLFWQgEAAEBDUuNy3rp167z22mvLLZ84cWJatGhRK6EAAACgIalxOT/ooINyyimn5NVXX61cNnHixJx66qk58MADazUcAAAANAQ1LucjR45MixYtsuWWW6Znz57p2bNn+vTpk3bt2uWyyy6ri4wAAABQr9X4UWqtW7fOY489lvvuuy//+te/0qxZs/Tr1y+77757XeQDAACAem+1nnNeKpWyzz77ZJ999qntPAAAANDgrFY5f+CBB/LAAw/knXfeyZIlS6q89utf/7pWggEAAEBDUeNyfv755+eCCy7IDjvskM6dO6dUKtVFLgAAAGgwalzOr7vuuowaNSqHHXZYXeQBAACABqfGd2tfsGBBBgwYUBdZAAAAoEGqcTn/3ve+l9///vd1kQUAAAAapBpf1v7RRx/lF7/4Re6///7069cvjRs3rvL65ZdfXmvhAAAAoCGocTl/5plnsu222yZJnnvuuSqvuTkcAAAA1FyNy/mYMWPqIgcAAAA0WDX+zPkyEydOzD333JMPP/wwSVIul2stFAAAADQkNS7n//nPf7LXXnuld+/e2W+//TJt2rQkyVFHHZVTTz211gMCAABAfVfjcv7f//3fady4cSZPnpzmzZtXLj/00EMzevToWg0HAAAADUGNP3N+77335p577skmm2xSZfnmm2+eSZMm1VowAAAAaChqfOZ87ty5Vc6YLzNjxoxUVFTUSigAAABoSGpcznfbbbf85je/qZwvlUpZsmRJRo4cmUGDBtVqOAAAAGgIanxZ+8iRI7PXXnvlqaeeyoIFC/I///M/ef755zNjxow8+uijdZERAAAA6rUanzn/whe+kH//+9/Zddddc9BBB2Xu3Ln56le/mn/+85/p1atXXWQEAACAeq3GZ86TpHXr1vnhD39Y21kAAACgQapWOX/mmWeqvcN+/fqtdhgAAABoiKpVzrfddtuUSqWUy+WUSqXK5eVyOUmqLFu8eHEtRwQAAID6rVqfOX/99dfz2muv5fXXX8+tt96anj175pprrsmECRMyYcKEXHPNNenVq1duvfXWus4LAAAA9U61zpx379698utDDjkkP//5z7PffvtVLuvXr1+6du2as88+OwcffHCthwQAAID6rMZ3a3/22WfTs2fP5Zb37NkzL7zwQq2EAgAAgIakxuW8T58+GTFiRBYsWFC5bMGCBRkxYkT69OlTq+EAAACgIajxo9Suu+66HHDAAdlkk00q78z+zDPPpFQq5S9/+UutBwQAAID6rsblfMcdd8xrr72Wm2++OS+99FKS5NBDD823vvWttGjRotYDAgAAQH1X43KeJC1atMgxxxxT21kAAACgQapWOb/zzjszZMiQNG7cOHfeeecq1z3wwANrJRgAAAA0FNUq5wcffHCmT5+eDh06rPJRaaVSKYsXL66tbAAAANAgVKucL1myZIVfAwAAAGuuxo9SmzJlSl3kAAAAgAarxuW8R48eGThwYG644Ya8//77dZEJAAAAGpQal/OnnnoqO+64Yy644IJ07tw5Bx98cP7v//4v8+fPr4t8AAAAUO/VuJxvt912ufTSSzN58uTcfffdad++fY455ph07Ngx3/3ud+siIwAAANRrNS7ny5RKpQwaNCg33HBD7r///vTs2TM33XRTbWYDAACABmG1y/mbb76ZkSNHZtttt82OO+6Yli1b5uqrr67NbAAAANAgVOtRap90/fXX5/e//30effTRbLnllvn2t7+dP//5z+nevXtd5AMAAIB6r8bl/KKLLso3v/nN/PznP88222xTF5kAAACgQalxOZ88eXJKpVJdZAEAAIAGqdqfOR85cmQ+/PDDymL+6KOPVnl82pw5c3LCCSfUfkIAAACo56pdzs8666zMmTOncn7IkCGZOnVq5fy8efNy/fXX1246AAAAaACqXc7L5fIq5wEAAIDVs9qPUgMAAABqh3IOAAAABavR3dp/+ctfpmXLlkmSRYsWZdSoUdloo42SpMrn0QEAAIDqq3Y579atW2644YbK+U6dOuW3v/3tcusAAAAANVPtcv7GG2/UYQwAAABouHzmHAAAAAqmnAMAAEDBlHMAAAAomHIOAAAABatWOR8+fHjmzp2bJPn73/+eRYsW1WkoAAAAaEiqdbf2K6+8MmeccUZatGiRQYMGZdq0aenQoUNdZwOAOnf8rn2LjgAAUL1y3qNHj/z85z/PPvvsk3K5nHHjxqVNmzYrXHf33Xev1YAAAABQ31WrnF966aU57rjjMmLEiJRKpXzlK19Z4XqlUimLFy+u1YAAwGool5Nzz01uuCGZOTPZZZfk2muTzTdf+TY9eiSTJi2//IQTkquvrqukAECq+Znzgw8+ONOnT8/s2bNTLpfz8ssv5/33319umjFjRl3nBQCqY+TI5Oc/T667LnniiaRFi2TffZOPPlr5Nk8+mUyb9vF0331Llx9yyNrJDAANWLXOnC/TsmXLjBkzJj179sz669doUwBgbSmXkyuuSH70o+Sgg5Yu+81vko4dkzvuSL7xjRVv17591fmLL0569UoGDqzLtABAaljOk2TgwIFZvHhxbr311rz44otJkr59++aggw7KeuutV+sBAYAaev31ZPr0ZO+9P17WunWy007JuHErL+eftGBB8rvfJcOHJ6VS3WUFAJKsRjmfOHFi9t9//7z55pvZYostkiQjRoxI165d87e//S29evWq9ZAAQA1Mn770z44dqy7v2PHj1z7LHXcs/az60KG1GAwAWJlqfeb8k0466aRsuummmTJlSsaPH5/x48dn8uTJ6dmzZ0466aS6yAgArMrNNyctW348LVy45vv81a+SIUOSLl3WfF8AwGeq8Znzhx56KI8//njatm1buaxdu3a5+OKLs8suu9RqOACgGg48cOkl68vMn7/0z7ffTjp3/nj5228n22772fubNCm5//7ktttqNSYAsHI1LucVFRWZM2fOcss/+OCDNGnSpFZCAQA1sMEGS6dlyuWkU6fkgQc+LuOzZy+9a/vxx3/2/m68MenQIdl//zqJCwAsr8aXtX/5y1/OMccckyeeeCLlcjnlcjmPP/54jjvuuBx44IF1kREAqIlSKTnllOSii5I770yefTY5/PCll6gffPDH6+21V3LVVVW3XbJkaTk/4ojEk1kAYK2p8f91f/7zn+eII45I//7907hx4yTJokWLcuCBB+ZnP/tZrQcEAFbD//xPMnducswxS2/stuuuyejRSdOmH6/z6qvJe+9V3e7++5PJk5PvfnetxgWAhq7G5XzDDTfMn//850ycOLHyUWp9+vTJZpttVuvhAIDVVColF1ywdFqZN95Yftk++yy9LB4AWKtW+3q1zTbbTCEHAACAWlDjz5wDAAAAtUs5BwAAgIIp5wAAAFCwGpfzyZMnp7yCG8WUy+VMnjy5VkIBAABAQ1Ljct6zZ8+8++67yy2fMWNGevbsWSuhAAAAoCGpcTkvl8splUrLLf/ggw/S9JPPTgUAAACqpdqPUhs+fHiSpFQq5eyzz07z5s0rX1u8eHGeeOKJbLvttrUeEAAAAOq7apfzf/7zn0mWnjl/9tln06RJk8rXmjRpkm222SannXZa7ScEAACAeq7a5XzMmDFJkiOPPDI/+9nP0qpVqzoLBQAAAA1Jtcv5MjfeeGNd5AAAAIAGq8blfO7cubn44ovzwAMP5J133smSJUuqvP7aa6/VWjgAAABoCGpczr/3ve/loYceymGHHZbOnTuv8M7tAAAAQPXVuJzffffd+dvf/pZddtmlLvIAAABAg1Pj55y3adMmbdu2rYssAAAA0CDVuJxfeOGFOeecczJv3ry6yAMAAAANTrUua99uu+2qfLZ84sSJ6dixY3r06JHGjRtXWXf8+PG1mxAAAADquWqV84MPPriOY3y2//f//l/+9re/ZcKECWnSpElmzpxZdCQAAACoFdUq5+eee25d5/hMCxYsyCGHHJL+/fvnV7/6VdFxAAAAoNbU+G7tRTn//POTJKNGjSo2CAAAANSyGpfzNm3arPDZ5qVSKU2bNs1mm22WoUOH5sgjj6yVgGti/vz5mT9/fuX87NmzC0wDAAAAK1bju7Wfc845adSoUfbff/+cf/75Of/887P//vunUaNGOfHEE9O7d+8cf/zxueGGG+oib42MGDEirVu3rpy6du1adCQAAABYTo3PnD/yyCO56KKLctxxx1VZfv311+fee+/Nrbfemn79+uXnP/95jj766FXu68wzz8wll1yyynVefPHFbLnlljWNmSQ566yzMnz48Mr52bNnK+gAAAB87tS4nN9zzz0rLNR77bVXTj311CTJfvvtlzPPPPMz93Xqqadm6NChq1xn0003rWnEShUVFamoqFjt7QEAAGBtqHE5b9u2bf7yl7/kv//7v6ss/8tf/pK2bdsmSebOnZsNNtjgM/fVvn37tG/fvqYRAAAAoF6pcTk/++yzc/zxx2fMmDHZcccdkyRPPvlk7rrrrlx33XVJkvvuuy8DBw6s1aCTJ0/OjBkzMnny5CxevDgTJkxIkmy22WZp2bJlrR4LAAAA1qYal/Ojjz46ffv2zVVXXZXbbrstSbLFFlvkoYceyoABA5Kk8vL22nTOOefkpptuqpzfbrvtkiRjxozJHnvsUevHAwAAgLVltZ5zvssuu2SXXXap7SyrNGrUKM84BwAAoF6qVjmfPXt2WrVqVfn1qixbDwAAAKieapXzNm3aZNq0aenQoUM23HDDlEql5dYpl8splUpZvHhxrYcEAACA+qxa5fzBBx+svBP7mDFj6jQQ8Plx/K59i44AAAANQrXK+SfvvF7bd2EHAACAhq7R6mz08MMP5zvf+U4GDBiQqVOnJkl++9vf5pFHHqnVcAC17rbbkn32Sdq1S0ql5P//WMZVev755GtfS3r0WLrNFVfUcUgAABqaGpfzW2+9Nfvuu2+aNWuW8ePHZ/78+UmSWbNm5cc//nGtBwSoVXPnJrvumlxySfW3mTcv2XTT5OKLk06d6i4bAAANVo3L+UUXXZTrrrsuN9xwQxo3bly5fJdddsn48eNrNRxArTvssOScc5K9967+Nl/6UnLppck3vpFUVNRdNgAAGqwal/OXX345u++++3LLW7dunZkzZ9ZGJgAAAGhQalzOO3XqlIkTJy63/JFHHsmmm25aK6EAAACgIalxOT/66KNz8skn54knnkipVMpbb72Vm2++OaeddlqOP/74usgIsHpuvjlp2fLj6eGHi04EAAArVK1HqX3SmWeemSVLlmSvvfbKvHnzsvvuu6eioiKnnXZavv/979dFRoDVc+CByU47fTy/8cbFZQEAgFWodjl//fXX07Nnz5RKpfzwhz/M6aefnokTJ+aDDz5I375907Jly7rMCVBzG2ywdAIAgM+5apfzXr16pXv37hk0aFD23HPPDBo0KH379q3LbAC1b8aMZPLk5K23ls6//PLSPzt1+vgxaYcfvvQs+4gRS+cXLEheeOHjr6dOXfp89JYtk802W6vxAQCon6r9mfMHH3wwRxxxRF577bUcffTR6datWzbffPMce+yxueWWW/L222/XZU6A2nHnncl22yX77790/hvfWDp/3XUfrzN5cjJt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1plyPmjQoPzxj3/Myy+/nFtvvTWvvvpq/uu//qvoWAAAALDGSuVyuVx0iNVx55135uCDD878+fPTuHHjam0ze/bstG7dOrNmzUqrVq3qOCEAAAANXXV76PprMVOtmTFjRm6++eYMGDBglcV8/vz5mT9/fuX8rFmzkiz9ywEAAIC6tqx/ftZ58XWqnJ9xxhm56qqrMm/evOy8887561//usr1R4wYkfPPP3+55V27dq2riAAAALCcOXPmpHXr1it9vdDL2s8888xccsklq1znxRdfzJZbbpkkee+99zJjxoxMmjQp559/flq3bp2//vWvKZVKK9z202fOlyxZkhkzZqRdu3Yr3YbaNXv27HTt2jVTpkzxUQLqLeOchsA4pyEwzmkIjPO1r1wuZ86cOenSpUsaNVr5bd8KLefvvvtu/vOf/6xynU033TRNmjRZbvmbb76Zrl275rHHHkv//v3rKiJryOf8aQiMcxoC45yGwDinITDOP78Kvay9ffv2ad++/Wptu2TJkiSpcmYcAAAA1kXrxGfOn3jiiTz55JPZdddd06ZNm7z66qs5++yz06tXL2fNAQAAWOetE885b968eW677bbstdde2WKLLXLUUUelX79+eeihh1JRUVF0PFahoqIi5557rv9O1GvGOQ2BcU5DYJzTEBjnn1/r7HPOAQAAoL5YJ86cAwAAQH2mnAMAAEDBlHMAAAAomHLewOyxxx4plUoplUqZMGFC0XFqRY8ePSrf08yZM4uOw+dAfRzn9fE9sWbq45ioj++JNVMfx0R9fE+smfo4Jvx8vnqU8wbo6KOPzrRp0/KFL3whSTJ58uTsv//+ad68eTp06JDTTz89ixYtWun2b7zxRo466qj07NkzzZo1S69evXLuuedmwYIFqzzuRx99lBNPPDHt2rVLy5Yt87WvfS1vv/32Krf54IMPMmzYsGyyySZp1qxZ+vbtm+uuu67KOk8++WRuvfXWar57Goo1HedJ8u9//zsHHXRQNtpoo7Rq1Sq77rprxowZs8ptbrvttuyzzz5p165djf4n+6c//SlbbrllmjZtmq233jp33XXXcvv9xz/+Ua190XB8epyfdNJJ2X777VNRUZFtt922WvtYne/NqzPOb7jhhuy2225p06ZN2rRpk7333nu5MW2csyJrOs5nzJiR73//+9liiy3SrFmzdOvWLSeddFJmzZq1yu1WZ5yPGjWqspAsm5o2bbrcfo1zPq02vp9/suQvm4477rhqZzjuuONSKpVyxRVXVHubiy++OKVSKaecckqV5X4+Xz3KeQPUvHnzdOrUKeuvv34WL16c/fffPwsWLMhjjz2Wm266KaNGjco555yz0u1feumlLFmyJNdff32ef/75/PSnP811112XH/zgB6s87n//93/nL3/5S/70pz/loYceyltvvZWvfvWrq9xm+PDhGT16dH73u9/lxRdfzCmnnJJhw4blzjvvrFynffv2adu2bc3+Eqj31nScJ8mXv/zlLFq0KA8++GCefvrpbLPNNvnyl7+c6dOnr3SbuXPnZtddd80ll1xS7ayPPfZYvvnNb+aoo47KP//5zxx88ME5+OCD89xzz1Wu07Zt27Rv377a+6Rh+OQ4X+a73/1uDj300GrvY3W+N6/OOB87dmy++c1vZsyYMRk3bly6du2affbZJ1OnTq1cxzhnRdZ0nL/11lt56623ctlll+W5557LqFGjMnr06Bx11FGr3G51xnmStGrVKtOmTaucJk2aVOV145wVqY3v58nHJX/ZNHLkyGptd/vtt+fxxx9Ply5dqn2sJ598Mtdff3369eu33Gt+Pl9NZRqUgQMHlk8++eTK+bvuuqvcqFGj8vTp0yuXXXvtteVWrVqV58+fX+39jhw5styzZ8+Vvj5z5sxy48aNy3/6058ql7344ovlJOVx48atdLutttqqfMEFF1RZ9sUvfrH8wx/+sMqyMWPGlJOU33///Wpnpv6qjXH+7rvvlpOU//73v1cumz17djlJ+b777vvMDK+//no5Sfmf//znZ6779a9/vbz//vtXWbbTTjuVjz322NXeJ/Xfp8f5J5177rnlbbbZ5jP3sbrfm5dZkzG5aNGi8gYbbFC+6aabam2f1D+1Mc5X5I9//GO5SZMm5YULF37mujUZkzfeeGO5devWtbpP6r/aGuer2s+qvPnmm+WNN964/Nxzz5W7d+9e/ulPf/qZ28yZM6e8+eabl++7776VHtfP5zXnzHkDN27cuGy99dbp2LFj5bJ99903s2fPzvPPP1/t/cyaNWuVvx17+umns3Dhwuy9996Vy7bccst069Yt48aNW+l2AwYMyJ133pmpU6emXC5nzJgx+fe//5199tmn2tlgdcZ5u3btssUWW+Q3v/lN5s6dm0WLFuX6669Phw4dsv3229d6vk/+21iWb1X/NqA2rO735towb968LFy40JkVCjFr1qy0atWqylnK2vLBBx+ke/fu6dq1aw466KAa/TwFa+rmm2/ORhttlC984Qs566yzMm/evFWuv2TJkhx22GE5/fTTs9VWW1X7OCeeeGL233//5X5+Yc3U/nck1inTp0+vUliSVM6v6tLdT5o4cWKuvPLKXHbZZas8TpMmTbLhhhsud6xVHefKK6/MMccck0022STrr79+GjVqlBtuuCG77757tbJBsnrjvFQq5f7778/BBx+cDTbYII0aNUqHDh0yevTotGnTZq3kq+6/QVhdq/u9uTacccYZ6dKlix/sWOvee++9XHjhhTnmmGNqfd9bbLFFfv3rX6dfv36ZNWtWLrvssgwYMCDPP/98Ntlkk1o/HnzSt771rXTv3j1dunTJM888kzPOOCMvv/xybrvttpVuc8kll2T99dfPSSedVO3j3HLLLRk/fnyefPLJ2ojNJyjnrJGpU6dm8ODBOeSQQ3L00UfX+v6vvPLKPP7447nzzjvTvXv3/P3vf8+JJ57oBzrqXLlczoknnpgOHTrk4YcfTrNmzfLLX/4yBxxwQJ588sl07ty56Iiwzrr44otzyy23ZOzYscvdLAvq0uzZs7P//vunb9++Oe+882p9//3790///v0r5wcMGJA+ffrk+uuvz4UXXljrx4NP+uQvnLbeeut07tw5e+21V1599dX06tVrufWffvrp/OxnP8v48eNTKpWqdYwpU6bk5JNPzn333ef7dx1wWXsD16lTp+XuyrtsvlOnTqvc9q233sqgQYMyYMCA/OIXv/jM4yxYsGC5Rym8/fbbKz3Ohx9+mB/84Ae5/PLLc8ABB6Rfv34ZNmxYDj300FWepYdPW51x/uCDD+avf/1rbrnlluyyyy754he/mGuuuSbNmjXLTTfdtFbyfda/QVhTq/O9eU1ddtllufjii3Pvvfeu8CZCUFfmzJmTwYMHZ4MNNsjtt9+exo0b1/kxGzdunO222y4TJ06s82PBp+20005JstLx9/DDD+edd95Jt27dsv7662f99dfPpEmTcuqpp6ZHjx4r3Obpp5/OO++8ky9+8YuV2zz00EP5+c9/XnkTXlafct7A9e/fP88++2zeeeedymX33XdfWrVqlb59+650u6lTp2aPPfbI9ttvnxtvvDGNGq16KG2//fZp3LhxHnjggcplL7/8ciZPnlzlN8yftHDhwixcuHC5fa+33npZsmRJdd4eJFm9cb7sM1qfHn+NGjWq9fHXv3//Kv82luVb2b8NqC2r8715TYwcOTIXXnhhRo8enR122KHW9w8rM3v27Oyzzz5p0qRJ7rzzzrV2xm/x4sV59tlnXW1FIZY9/m9l4++www7LM888kwkTJlROXbp0yemnn5577rlnhdvstddeefbZZ6tss8MOO+Tb3/52JkyYkPXWW6+u3k6DoJw3cPvss0/69u2bww47LP/6179yzz335Ec/+lFOPPHEVFRUJEn+8Y9/ZMstt6x83M2yYt6tW7dcdtlleffddzN9+vRVfj6xdevWOeqoozJ8+PCMGTMmTz/9dI488sj0798/O++8c+V6W265ZW6//fYkSx9FMnDgwJx++ukZO3ZsXn/99YwaNSq/+c1v8pWvfKUO/1aob1ZnnPfv3z9t2rTJEUcckX/961/597//ndNPPz2vv/569t9//5Uea8aMGZkwYUJeeOGFJEuLzoQJE6r8+zj88MNz1llnVc6ffPLJGT16dH7yk5/kpZdeynnnnZennnoqw4YNq4u/DuqxiRMnVo63Dz/8sPIHpwULFiRZ+v17yy23rHzGcnW/N3/a6ozzSy65JGeffXZ+/etfp0ePHpX/3/jggw/q4q+Ceqym43xZMZ87d25+9atfZfbs2ZXjb1Vn+VZnnF9wwQW5995789prr2X8+PH5zne+k0mTJuV73/teXfxVUI/VdJy/+uqrufDCC/P000/njTfeyJ133pnDDz88u++++0qvUmrXrl2+8IUvVJkaN26cTp06ZYsttqhcb6+99spVV12VJNlggw2W26ZFixaV+2INFX27eNauFT3q4I033igPGTKk3KxZs/JGG21UPvXUU6s8WmTZYxBef/31crm89DEhSVY4fVKS8o033lg5/+GHH5ZPOOGEcps2bcrNmzcvf+UrXylPmzZtldtMmzatPHTo0HKXLl3KTZs2LW+xxRbln/zkJ+UlS5ZU2c6jGvik2hjn5XK5/OSTT5b32Wefctu2bcsbbLBBeeeddy7fddddVfbbvXv38rnnnls5v7J/H59cZ+DAgeUjjjiiyn7++Mc/lnv37l1u0qRJeauttir/7W9/W+59efQOn7SicT5w4MAVjr9l43rZGBozZkzlNtX53lwb47x79+6fuc0nMxrnlMu1M86XfX9f1Tblcu2M81NOOaXcrVu3cpMmTcodO3Ys77fffuXx48cv976Mcz6pNsb55MmTy7vvvnu5bdu25YqKivJmm21WPv3008uzZs2qst9Pj/NPW9Gj1D5rG49Sqz2lcrlcrqWezzpgjz32yLbbbpsrrriiTo/z+uuvp3fv3nnhhRey+eab1+mxkmTs2LEZNGhQ3n///eXuOkzDs7bG+bx589KuXbvcfffd2WOPPer0WEnyxhtvpGfPnvnnP/+Zbbfdts6Px+ebcU5DYJzTENTXce7n85pzWXsDdM0116Rly5Z59tln6+wYd911V4455pi1Usy32mqrDBkypM6Pw7plbYzzMWPGZM8991wr/4MbMmRIjZ4/SsNgnNMQGOc0BPVtnPv5fPU4c97ATJ06NR9++GGSpFu3bmnSpEnBidbcpEmTsnDhwiTJpptu+pk3p6P+q4/jvD6+J9ZMfRwT9fE9sWbq45ioj++JNVMfx4Sfz1ePcg4AAAAF8ysMAAAAKJhyDgAAAAVTzgEAAKBgyjkAAAAUTDkHAACAginnANCA9ejRI1dccUXlfKlUyh133PGZ273xxhsplUqZMGFCnWUDgIZEOQeAz4GhQ4emVCotNw0ePLhOj/vkk0/mmGOOqdNjAACfbf2iAwAASw0ePDg33nhjlWUVFRV1esz27dvX6f7rwsKFC9O4ceOiYwBArXLmHAA+JyoqKtKpU6cqU5s2bZIsvdz8+uuvz5e//OU0b948ffr0ybhx4zJx4sTsscceadGiRQYMGJBXX321cn+vvvpqDjrooHTs2DEtW7bMl770pdx///1Vjvnpy9pr6rXXXsugQYPSvHnzbLPNNhk3blyV12+99dZstdVWqaioSI8ePfKTn/ykyusruox+ww03zKhRo5J8fPn8H/7whwwcODBNmzbNzTffnEmTJuWAAw5ImzZt0qJFi2y11Va56667Vvt9AEDRlHMAWEdceOGFOfzwwzNhwoRsueWW+da3vpVjjz02Z511Vp566qmUy+UMGzascv0PPvgg++23Xx544IH885//zODBg3PAAQdk8uTJtZbphz/8YU477bRMmDAhvXv3zje/+c0sWrQoSfL000/n61//er7xjW/k2WefzXnnnZezzz67snjXxJlnnpmTTz45L774Yvbdd9+ceOKJmT9/fv7+97/n2WefzSWXXJKWLVvW2vsCgLXNZe0A8Dnx17/+dbmC+YMf/CA/+MEPkiRHHnlkvv71rydJzjjjjPTv3z9nn3129t133yTJySefnCOPPLJy22222SbbbLNN5fyFF16Y22+/PXfeeWeVEr8mTjvttOy///5JkvPPPz9bbbVVJk6cmC233DKXX3559tprr5x99tlJkt69e+eFF17IpZdemqFDh9boOKecckq++tWvVs5Pnjw5X/va17L11lsnSTbddNNaeT8AUBRnzgHgc2LQoEGZMGFClem4446rfL1fv36VX3fs2DFJKsvpsmUfffRRZs+enWTpmfPTTjstffr0yYYbbpiWLVvmxRdfrNUz55/M1Llz5yTJO++8kyR58cUXs8suu1RZf5dddskrr7ySxYsX1+g4O+ywQ5X5k046KRdddFF22WWXnHvuuXnmmWdWJz4AfG4o5wDwOdGiRYtsttlmVaa2bdtWvv7Jm6CVSqWVLluyZEmSpWe1b7/99vz4xz/Oww8/nAkTJmTrrbfOggULai3zqo5fHaVSKeVyucqyhQsXLrdeixYtqsx/73vfy2uvvZbDDjsszz77bHbYYYdceeWVNYkOAJ8ryjkA1FOPPvpohg4dmq985SvZeuut06lTp7zxxhtr7fh9+vTJo48+ulym3r17Z7311kuy9G7x06ZNq3z9lVdeybx586q1/65du+a4447LbbfdllNPPTU33HBD7YUHgLXMZ84B4HNi/vz5mT59epVl66+/fjbaaKPV2t/mm2+e2267LQcccEBKpVLOPvvsGp3VXlOnnnpqvvSlL+XCCy/MoYcemnHjxuWqq67KNddcU7nOnnvumauuuir9+/fP4sWLc8YZZ1TrMWmnnHJKhgwZkt69e+f999/PmDFj0qdPn7p8OwBQp5w5B4DPidGjR6dz585Vpl133XW193f55ZenTZs2GTBgQA444IDsu++++eIXv1iLiVfti1/8Yv74xz/mlltuyRe+8IWcc845ueCCC6rcDO4nP/lJunbtmt122y3f+ta3ctppp6V58+afue/FixfnxBNPTJ8+fTJ48OD07t27SukHgHVNqfzpD3oBAAAAa5Uz5wAAAFAw5RwAWM6Pf/zjtGzZcoXTkCFDio4HAPWOy9oBgOXMmDEjM2bMWOFrzZo1y8Ybb7yWEwFA/aacAwAAQMFc1g4AAAAFU84BAACgYMo5AAAAFEw5BwAAgIIp5wAAAFAw5RwAAAAKppwDAABAwf5/QvkIpFJUmvEAAAAASUVORK5CYII=",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"[None, None, None, None, None]"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"vi.create_IV(\n",
" pq_data,\n",
" predictors = predictor_list,\n",
" outcome = \"IsLargeNetwork\",\n",
" return_type = \"plot-WOE\"\n",
" )"
]
},
{
"cell_type": "markdown",
"id": "fc77305d",
"metadata": {},
"source": [
"It's also possible to return more detailed outputs behind the calculations for `return_type = 'plot-WOE'`.\n",
"\n",
"When `return_type = 'IV'`, a list of three items is printed AND returned. "
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "e0b1c03b",
"metadata": {},
"outputs": [],
"source": [
"result_iv = vi.create_IV(\n",
" pq_data,\n",
" predictors = predictor_list,\n",
" outcome = \"IsLargeNetwork\",\n",
" return_type = \"IV\"\n",
" )"
]
},
{
"cell_type": "markdown",
"id": "074fb00f",
"metadata": {},
"source": [
"The first item in the list output is a dictionary of data frames that contain information about WOE, IV, odds, and probabilities. \n",
"The second item in the list output is a DataFrame of IV and p-value, identical to the output in `return_type = 'summary'`.\n",
"The third item in the list output is the natural log odds. \n",
"\n",
"You can extract them as follows: "
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "45c5e5c8",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
"
],
"text/plain": [
" Variable IV pval\n",
"0 Email_hours 1.774995 0.000000\n",
"1 Multitasking_hours 1.248193 0.000000\n",
"2 Meeting_hours 0.944530 0.000000\n",
"3 After_hours_collaboration_hours 0.586598 0.000000\n",
"4 Chat_hours 0.000000 0.003346"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"result_iv[1]"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "c4967af8",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"-0.9694005571881036"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"result_iv[2]"
]
},
{
"cell_type": "markdown",
"id": "a0a962a0",
"metadata": {},
"source": [
"Here is a guide on interpreting WoE, odds, and probabilities: \n",
"- A positive WoE value indicates that the odds of the event are higher for the group in question than for the entire dataset. In other words, the event is more likely to occur for this group.\n",
"- A negative WoE value indicates that the odds of the event are lower for the group in question than for the entire dataset. In other words, the event is less likely to occur for this group.\n",
"- A WoE of zero indicates that the odds of the event for the group are the same as for the entire dataset.\n",
"\n",
"**Odds**: The odds of an event occurring is the ratio of the probability of the event occurring to the probability of the event not occurring. \n",
"\n",
"**Probability**: This is the likelihood of the event occurring, a value between 0 and 1. "
]
},
{
"cell_type": "markdown",
"id": "62e34397",
"metadata": {},
"source": [
"To return only this dictionary of DataFrames, you can also run `return_type = 'list'`, which returns the identical dictionary: "
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "7afac66d",
"metadata": {},
"outputs": [],
"source": [
"result_iv_full = vi.create_IV(\n",
" pq_data,\n",
" predictors = predictor_list,\n",
" outcome = \"IsLargeNetwork\",\n",
" return_type = \"list\"\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "ddf716ad",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Email_hours
\n",
"
n
\n",
"
percentage
\n",
"
WOE
\n",
"
IV
\n",
"
ODDS
\n",
"
PROB
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
[0.2,0.8]
\n",
"
200
\n",
"
0.2
\n",
"
-2.694161
\n",
"
0.675652
\n",
"
0.025641
\n",
"
0.025
\n",
"
\n",
"
\n",
"
1
\n",
"
[0.8,1.0]
\n",
"
200
\n",
"
0.2
\n",
"
-1.071255
\n",
"
0.847590
\n",
"
0.129944
\n",
"
0.115
\n",
"
\n",
"
\n",
"
2
\n",
"
[1.0,1.2]
\n",
"
200
\n",
"
0.2
\n",
"
-0.726511
\n",
"
0.935044
\n",
"
0.183432
\n",
"
0.155
\n",
"
\n",
"
\n",
"
3
\n",
"
[1.2,1.5]
\n",
"
200
\n",
"
0.2
\n",
"
0.458575
\n",
"
0.981046
\n",
"
0.600000
\n",
"
0.375
\n",
"
\n",
"
\n",
"
4
\n",
"
[1.5,4.4]
\n",
"
200
\n",
"
0.2
\n",
"
1.840623
\n",
"
1.774995
\n",
"
2.389831
\n",
"
0.705
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Email_hours n percentage WOE IV ODDS PROB\n",
"0 [0.2,0.8] 200 0.2 -2.694161 0.675652 0.025641 0.025\n",
"1 [0.8,1.0] 200 0.2 -1.071255 0.847590 0.129944 0.115\n",
"2 [1.0,1.2] 200 0.2 -0.726511 0.935044 0.183432 0.155\n",
"3 [1.2,1.5] 200 0.2 0.458575 0.981046 0.600000 0.375\n",
"4 [1.5,4.4] 200 0.2 1.840623 1.774995 2.389831 0.705"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"result_iv_full['Email_hours']"
]
},
{
"cell_type": "markdown",
"id": "3f7ed03f",
"metadata": {},
"source": [
"## Notes \n",
"\n",
"### Additional arguments\n",
"\n",
"There are two other arguments `create_IV()`, i.e. `siglevel` and `exc_sig` which controls whether significance results are shown in the outputs. These are optional. \n",
"\n",
"### Methodology choice\n",
"\n",
"When contemplating whether to use the Information Value methodology, it's worth noting that WoE has several advantages:\n",
"\n",
"1. It can transform a continuous variable into a set of categories, which can capture non-linear effects.\n",
"1. It creates monotonic variables, which are often better handled by some statistical models.\n",
"1. It allows you to compare the predictive power of variables from different scales and distributions.\n",
"\n",
"### Function architecture\n",
"\n",
"The `create_IV()` function calls a few other functions: \n",
"\n",
" - `calculate_IV()`\n",
" - `map_IV()`\n",
" - `create_bar_asis()`\n",
" - `p_test()`\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.2"
}
},
"nbformat": 4,
"nbformat_minor": 5
}