{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Models VIII: Multiple Categorical Predictors & ANOVA"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's keep working with the *poker dataset* from the previous notbook and explore models with **multiple categorical variables**\n",
"\n",
"The experiments used a 2 (skill) x 3 (hand) x 2 (limit) design\n",
"\n",
"| Variable | Description |\n",
"|------------|---------------------------------|\n",
"| skill | a player's skill (expert/average)|\n",
"| hand | the quality of the hand experimenters manipulate (bad/neutral/good)|\n",
"| limit | the style of game (fixed/no-limit)|\n",
"| balance | a player's final balance in Euros|\n",
"\n",
"### Slides for reference\n",
"\n",
"[Modeling VII](https://stat-intuitions.com/lectures/wk8/1.html)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import polars as pl\n",
"from polars import col\n",
"import seaborn as sns\n",
"import matplotlib.pyplot as plt\n",
"from statsmodels.formula.api import ols\n",
"from statsmodels.stats.anova import anova_lm\n",
"\n",
"# Load data\n",
"df = pl.read_csv('./data/poker-tidy.csv')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"# Calculate means of each level\n",
"bad = df.filter(col('hand') == 'bad')['balance'].mean()\n",
"good = df.filter(col('hand') == 'good')['balance'].mean()\n",
"neutral = df.filter(col('hand') == 'neutral')['balance'].mean()\n",
"\n",
"means = np.array([bad, good, neutral])\n",
"\n",
"# And the grand-mean\n",
"grand_mean = means.mean()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Review: One-way ANOVA\n",
"\n",
"Previously we estimated the model: $$balance \\sim hand$$ where $hand$ had 3 levels: $bad$, $neutral$ and $good$\n",
"\n",
"By using the `anova_lm()` function we can perform an F-test to see if adding `skill` to the model is *worth it* relative to a model with just an intercept. This doesn't test *which levels* of `skill` are different, just whether including `skill` in the model make a difference in our ability to predict `balance`.\n",
"\n",
"And we observe that it is: F(2,297) = 75.70, p < .001"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
sum_sq
\n",
"
df
\n",
"
F
\n",
"
PR(>F)
\n",
"
\n",
" \n",
" \n",
"
\n",
"
Intercept
\n",
"
3530.142225
\n",
"
1.0
\n",
"
208.830766
\n",
"
3.272007e-36
\n",
"
\n",
"
\n",
"
C(hand)
\n",
"
2559.401402
\n",
"
2.0
\n",
"
75.702581
\n",
"
2.699281e-27
\n",
"
\n",
"
\n",
"
Residual
\n",
"
5020.583223
\n",
"
297.0
\n",
"
NaN
\n",
"
NaN
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" sum_sq df F PR(>F)\n",
"Intercept 3530.142225 1.0 208.830766 3.272007e-36\n",
"C(hand) 2559.401402 2.0 75.702581 2.699281e-27\n",
"Residual 5020.583223 297.0 NaN NaN"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"one_way = ols('balance ~ C(hand)', data=df.to_pandas())\n",
"one_way_results = one_way.fit()\n",
"\n",
"anova_lm(one_way_results, typ=3)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We also learned that for any categorical predictor with *k-levels* (k = 3 for `hand`), we can represent in our GLM represents it using *k-1 parameters* (2 betas for `hand`) depending on a variety of **coding schemes** with different parameter interpretations. And yet all of these yield the same F-test...\n",
"\n",
"The same **One-way ANOVA** results"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"1. **Treatment (Dummy) Coding**\n",
" - Default coding scheme\n",
" - Intercept = reference level\n",
" - Other parameters = differences from reference level\n"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Intercept 5.9415\n",
"C(hand)[T.good] 7.0849\n",
"C(hand)[T.neutral] 4.4051\n",
"dtype: float64"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"treatment = ols('balance ~ C(hand)', data=df.to_pandas()).fit()\n",
"treatment.params"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Intercept = Bad mean 5.941\n",
"B1 = Good - Bad 7.085\n",
"B2 = Neutral - Bad 4.405\n"
]
}
],
"source": [
"print(f\"Intercept = Bad mean {bad:.3f}\")\n",
"print(f\"B1 = Good - Bad {good - bad:.3f}\")\n",
"print(f\"B2 = Neutral - Bad {neutral - bad:.3f}\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"2. **Deviation (Sum) Coding**\n",
" - Intercept = grand-mean\n",
" - Other parameters = differences from grand-mean\n"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Intercept 9.7715\n",
"C(hand, Sum)[S.bad] -3.8300\n",
"C(hand, Sum)[S.good] 3.2549\n",
"dtype: float64"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sums = ols('balance ~ C(hand, Sum)',data=df.to_pandas()).fit()\n",
"sums.params"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Intercept = Grand mean 9.771\n",
"B1 = Bad - Grand mean -3.830\n",
"B2 = Good - Grand mean 3.255\n"
]
}
],
"source": [
"print(f\"Intercept = Grand mean {grand_mean:.3f}\")\n",
"print(f\"B1 = Bad - Grand mean {bad - grand_mean:.3f}\")\n",
"print(f\"B2 = Good - Grand mean {good - grand_mean:.3f}\")\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"3. **Orthogonal (Polynomial) Coding**\n",
" - Intercept = grand-mean\n",
" - Other parameters = trends across levels (e.g. linear, quadratic, cubic)\n"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Intercept 9.771500\n",
"C(hand, Poly).Linear 3.114876\n",
"C(hand, Poly).Quadratic -3.986422\n",
"dtype: float64"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"polys = ols('balance ~ C(hand, Poly)',data=df.to_pandas()).fit()\n",
"polys.params"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Intercept = Grand mean 9.771\n",
"Linear contrast = 3.114\n",
"Quadratic contrast = -3.984\n"
]
}
],
"source": [
"# Approximately the linear contrast Poly uses\n",
"lin_con = np.dot([-.707, 0, .707], means)\n",
"\n",
"# Approximately the quadratic contrast Poly uses\n",
"quad_con = np.dot([.408, -.816, .408], means)\n",
"\n",
"print(f\"Intercept = Grand mean {grand_mean:.3f}\")\n",
"print(f\"Linear contrast = {lin_con:.3f}\")\n",
"print(f\"Quadratic contrast = {quad_con:.3f}\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Multiple Categorical Predictors\n",
"\n",
"In the original study the authors also had players of different `skill` levels participant: $expert$ and $average$ players. \n",
"\n",
"Let's extend our model to test if this additional information is *worth* adding to our model and whether we need to think more carefully about the *coding* scheme we're using... \n",
"\n",
"Let's do some visual inspection to look at the effects of `hand` and `skill` and their interction:\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Challenge\n",
"\n",
"Make 3 boxplot figures all of which plot `balance` on the y-axis and:\n",
"1. `hand` on the x-axis (\"main effect\" of hand)\n",
"2. `skill` on the x-axis and on `hue` (\"main effect\" of skill)\n",
"3. `hand` on the x-axis and `skill` on the `hue` (\"interaction\" of hand and skill)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"1. The effect of `hand` we estimated in the one-way ANOVA above:"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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7I7SAAAAgGbHrfdxmTx5spKSkrRv3z7dfffdWrZsmQICAipsW1BQoAkTJuibb76RZVkN/kf/p59+KofD4fo+NzfXdexwOJScnFym/aRJk8p8n5WVpeHDhysiIkKjR4/W1VdfrY4dO8q2bR04cEApKSlKSUlxzbbMmzdPXbt2bdCfAQAAAGgp3Bpcrr/+eo0fP15vv/223n//fX3++ee67777dOONN+riiy+WZVk6cuSINm7cqCVLlujQoUOyLEvR0dENvsxqyZIlWrZsWYXnNm3apE2bNpV57PzgUiI9PV3p6emVPk9AQIDmz5+vmJiYOtcKAAAAtHRuDS6StHTpUuXm5mrNmjU6fPiwZs+eXWG7kpmKm2++udKA4UnXXHON/vnPfyo9PV3btm3T0aNHlZubq6KiIrVv316XX365RowYoXvvvVcdO3b0dLkAAABAk+b24OLv76///Oc/WrhwoebNm1fpNschISF69NFH9cADD1R5d/q6Sk5OLrccrDbatGmje+65R/fcc0/DFQUAAACgQm4PLpJkWZYefPBBxcXF6YsvvtDOnTtd15h06NBBAwYM0FVXXdUogQUAAABA0+OR4FLCsiz1799f/fv392QZAAAAAAzn1u2QAQAAAKAuCC4AAAAAjOexpWJffvmlPvnkEx04cEAnT57U2bNnq2xvWZaSkpLcVB0AAAAAk7g9uHz99deaMmWKNm/eXOM+tm0TXAAAAIAWzK3B5fDhw7rxxhuVm5vruk9LUFCQ2rdvLy8vVq0BAAAAqJhbg8tf//pXff/997IsS/fee69mzpypvn37urMEAAAAAE2QW4PLRx99JMuyNGHCBCUmJrrzqQEAAAA0YW4NLkeOHJEkTZgwwZ1PCwAAUCWr8LQCv3jb02UAtWYVnvZ0CW7j1uDSvn175eTkqF27du58WgAAgCpZsmUVFni6DABVcGtwGThwoD788EN988036t+/vzufGgAAoFK2LNk+rT1dBlBrVuFpWbI9XYZbuDW4xMXFadWqVUpMTNRdd93lzqcGAAColO3TWqeuHu/pMoBaC/zi7RYzW+jWPYhvvvlm/fGPf9S6det0//33q7Cw0J1PDwAAAKCJcuuMy9///ndddtlluv7665WYmKiVK1cqOjpaYWFhCggIqLY/F/UDAAAALZNbg8ukSZNkWZbr+6NHj2rRokU16luy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/lXeff6ee+6xJdl+fn724sWL7a+++sret2+fvW/fPvu7776r0c9zvuzsbNvPz8+WZLdu3dp+/PHH7bVr19pbt261k5OT7Wuuuabce7+iMSdOnFhl7UB1jh8/bnfu3Nn17+yee+6xP/roI3v79u32O++8Y19//fW2JHvw4MGuNllZWWXGSEtLsy3LsiXZQUFB9pw5c+xPP/3U3rx5s/3iiy/aHTt2dPV9+eWXK6zjb3/7m6tNx44d7RdffNHevHmzvWnTJnvOnDl2UFCQLcm2LMtetWpVhWPExsa6xggLC7Nff/11e9u2bfbatWvt6dOn215eXvbAgQNdbeLj4xv65YQHEVyAapT+A+3AgQN2z549Xd+f/zVu3Di7sLCw3Bhz5syptI8k+5FHHrFff/31KoOLbdv2888/b3t5eVU4RkBAgL1q1Sp76NChBBc0uoYILrZt21lZWfagQYOqfH+UfE2ePLnC53j33XftVq1aVdjH39/ffvfdd6v943/nzp2ukHH+18SJE2v885xv6dKllb5nJdl33XWXvWbNGoILGt0XX3xhX3TRRZX+W5w0aZKdlJTk+v7YsWPlxkhOTq70fSLJbtWqlT137twq6/jrX/9a5XvCz8/PXrZsWaX9nU6nPXbs2Er79+zZ0z5w4ADBpZliqRhQCz179tT27ds1a9Ys9evXTwEBAWrbtq1uvPFG/fOf/1RKSkqFuyM99dRTWrVqlW655Ra1b99evr6+6tatm8aOHavVq1dr3rx5NXr+mTNn6pNPPtHYsWPVsWNH+fn5qXv37poyZYq2bdumkSNHNvSPDDSq7t276/PPP9cHH3yg8ePHq2fPngoICJCPj48uuugiXX/99XrkkUe0YcMGJSUlVTjGnXfeqc8++0xjxozRRRddJF9fX4WEhGjixInatm2b7rzzzmrruPrqq5Wenq7f/OY3uuSSS+Tn59cgP9/kyZP1ySef6I477tBFF10kHx8fXXzxxbrtttv0zjvv6O233652W2WgIVx11VXas2ePHnnkEfXp00d+fn7q0KGDhg8frjfffFOvv/66fvrpJ1f7kutiSps4caIyMzP14IMPql+/fgoMDFTr1q3Vu3dv3Xfffdq5c6cef/zxKuuYNWuWdu7cqfvuu0+9e/dW69atFRgYqH79+unBBx9UZmama2lbRXx8fLR8+XL94x//0A033KC2bdsqICBA/fr106xZs7R9+3ajtk1Hw7Jsmyt5AQAAWrp7771XSUlJ6tatW4XXoACexowLAABAC3f69GnX7pbXXXedh6sBKkZwAQAAaOb2799f6VbIZ8+e1f3336/c3FxJ55aEASZiqRgAAEAzN2nSJG3ZskXjx4/Xtddeq44dO+r06dPatWuXXnvtNe3YsUOSNGLECH388ceubYcBk5S/ihgAAADNzt69e6u8Z9KQIUP0zjvvEFpgLGZcAAAAmrmvv/5ay5cv18cff6z//e9/+v7771VYWKgLL7xQAwcO1F133aXx48fLy4urCGAuggsAAAAA4xGrAQAAABiP4AIAAADAeAQXAAAAAMYjuAAAAAAwHsEFAAAAgPEILgAAAACMR3ABAAAAYDyCCwAAAADjEVwAAAAAGI/gAgAAAMB4BBcAgFvNnj1blmXJsixPl+I2WVlZrp85OTnZ0+UAQJNEcAEAAABgPIILAAAAAOMRXAAAAAAYj+ACAAAAwHgEFwAAAADGI7gAADzqzJkzev755zVgwAC1adNGbdq00eDBg5WQkKCioqIK+zidTq1cuVKxsbEaNGiQ2rdvLx8fH1144YW69tprNXv2bOXm5lb5vD169JBlWZo0aZIkKTMzU/fdd5969OghPz8/derUSWPGjNHmzZur/RnOnj2rv/3tb7r22mt1wQUXqG3bthowYIDmzZunn3/+udavCQCgPG9PFwAAaLm+++473Xrrrfryyy/LPL5161Zt3bpVq1evVmpqqry8yn7OFhMTo2XLlpUbLy8vT1u2bNGWLVuUkJCgFStWaMiQIdXW8f777+t3v/udCgoKXI/l5OQoNTVVK1eu1BtvvKG77rqrwr4nT57U7bffrk2bNpV5fOfOndq5c6fefvttvfbaa9XWAACoGjMuAACPGTt2rPbu3au4uDh9/PHH2r59u958803169dPkrRy5coK/+gvKipSr1699Mgjj+idd95Renq6tm7dqpSUFE2fPl2+vr46fvy4xowZo5ycnCpr2LVrl+655x516tRJCQkJ2rx5s9LT0zV79mz5+/vr7NmziomJ0ffff19h/3vuuccVWgYPHqy33npL27Zt06pVq3TnnXdq+/btmjZtWj1fKQCAbAAA3Cg+Pt6WZEuyfXx87HXr1pVrc/z4cbtTp062JPvKK68sd97hcNjFxcWVPseuXbvsoKAgW5L95JNPVtime/furjquueYa+4cffijX5p///KerzYsvvlju/L/+9S/X+ZEjR9qFhYXl2syZM8fVRpL9+uuvV1o3AKByzLgAADxmxowZGjZsWLnHg4ODNXnyZEnnZkR+/PHHMud79+4ty7IqHfeKK67QvffeK0lKTU2tto6lS5eqbdu25R6/++671aVLF0nSJ598Uu78K6+8Ikny8/PTa6+9Jm/v8iuwn3zySYWHh1dbAwCgagQXAIDH3HPPPZWeu+aaa1zHBw8erHKcEydOaP/+/dq9e7cyMjKUkZGhdu3aSZL27NmjwsLCSvteccUVuvLKKys8Z1mW+vfvL0k6cOBAmXNFRUXasGGDJOmWW25xBZzzeXl5aeLEiVXWDwCoHhfnAwA8JiwsrNJzwcHBruOTJ0+WO//VV19p/vz5+ve//61jx45VOk5xcbFOnDihjh071rqG0nWcX8P+/ftdF/MPGjSoyjEGDx5c5XkAQPUILgAAjwkICKj0XOmdxM6ePVvmXFJSkqZPn17pdsnnO336dJ1qKF3H+TWcOHHCdVxZKCrRqVOn6koEAFSDpWIAgCYlMzPTFVo6duyo559/Xtu3b9fx48fldDpl27Zs21ZSUpKrj23bDV5H6TGrut6msZ4fAFoaZlwAAE1KcnKyioqK1KpVK61fv961dfL5Ss+INIbSS9m+++67KttWtyUzAKB6zLgAAJqU3bt3S5KuuuqqSkOLJG3btq1R6+jdu7drmdnWrVurbFvdeQBA9QguAIAmpeS6ltJ3uT/fsWPHtGLFikatw9vbW0OHDpUkrV69WkePHq2wXXFxsZYtW9aotQBAS0BwAQA0KX369JEkffPNN9q8eXO58wUFBbr77rurvCC/odx///2SpJ9//lnTpk0rdwG/JD399NP66quvGr0WAGjuCC4AgCbld7/7naRzMxkjR47UM888o40bN2rLli165ZVXdPXVV2vdunUaMmRIo9cyevRojR49WpK0cuVKDRkyRO+884527Nihjz76SOPHj9eTTz5Z7XbJAIDqcXE+AKBJGTRokObMmaP4+HidOHFCjz/+eLk2jzzyiMLDw7Vp06ZGr+eNN97Q7bffrk2bNunzzz/X+PHjy5wfMGCAXn31VQ0YMKDRawGA5owZFwBAk/PUU09p1apVuuWWW9S+fXv5+vqqW7duGjt2rFavXq158+a5rZY2bdpo/fr1WrRokQYNGqSgoCC1adNGV199tZ5++mlt2rRJ7du3d1s9ANBcWTabywMAAAAwHDMuAAAAAIxHcAEAAABgPIILAAAAAOMRXAAAAAAYj+ACAAAAwHgEFwAAAADGI7gAAAAAMB7BBQAAAIDxCC4AAAAAjEdwAQAAAGA8ggsAAAAA4xFcAAAAABiP4AIAAADAeAQXAAAAAMYjuAAAAAAwHsEFAAAAgPEILgAAAACMR3ABAAAAYDyCCwAAAADjEVwAAAAAGI/gAgAAAMB4BBcAAAAAxiO4AAAAADAewQUAAACA8QguAAAAAIz3/wHK8977r/7nxgAAAABJRU5ErkJggg==",
"text/plain": [
"
"
]
},
"metadata": {
"image/png": {
"height": 390,
"width": 389
}
},
"output_type": "display_data"
}
],
"source": [
"# Solution\n",
"grid = sns.catplot(data=df, x='skill', y='balance', hue='skill', kind='box',height=4)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"3. The *interaction* between them, which we can think of as either:\n",
"- the difference between `skill` levels at each level of `hand`\n",
"- the difference between `hand` levels at each level of `skill`"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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NqalpSWdnZ0544wzMnnyZMshAAAA/YKZtQBAvzBlypTuonbEiBG59NJLM3r06AwZMiRJUl1dndGjR+eSSy7JAQcckCTp7OzMlClTShUZAABgjShrAYCy9+CDD3YvfVBbW5vTTjstFRUVPV5bWVmZ008/vXsDzqampjQ3N/dZVgAAgLWlrAUAyt7MmTO7jxsaGlZa1C5TUVGRMWPG9DgeAACgXClrAYCy99KZsQcddFCvxowcObLH8QAAAOVKWQsAlL2Ojo4kS5c4qK6u7tWY6urq7hm4y8YDAACUM2UtAFD2qqqqkizdMKy9vb1XY9rb27N48eLlxgMAAJQzZS0AUPbq6uq6j2+88cZejbnhhht6HA8AAFCulLUAQNkbNWpU93FjY2P3jNmV6ezszPTp03scDwAAUK6UtQBA2dtll11SX1+fJGlpacmkSZNWWth2dnZm0qRJaWlpSZLU19ebWQsAAPQLyloAoF+YMGFCKisrkyQ33XRTjj/++MyYMaN7Ddv29vbMmDEj48aNy6xZs5IkgwYNyoQJE0oVGQAAYI0UisVisdQhWHvz589PbW1tkqUzjYYOHVriRACw/syePTtnnHFGOjs7l3u9oqJihZm2gwYNyplnnpnhw4f3ZUSADVJDQ0NaW1uz9dZbp7GxsdRxAGCDZWYtANBvDB8+PJMnT+5eEmGZlxe19fX1Of/88xW1AABAvzKw1AEAANbEsGHDMmXKlDQ3N2fmzJlpbm5OR0dHqqqqUldXl1GjRlmjFgAA6JeUtQBAv1RXV5dTTjml1DEAAADWmY12GYS//e1vmTRpUg499NDU1tZm0KBBqa6uzq677pqxY8fmT3/60xrd77rrrstRRx2VoUOHZtCgQRk6dGiOOuqoXHfddevpCQAAAACADclGucHY/vvvn1tuuWW113384x/PxRdf3L3zdE+KxWI+9alPZerUqSu9Zvz48bnoootSKBTWKu+q2GAMAABY32wwBgB9Y6OcWfvYY48lSXbYYYecfPLJaWxszO23357Zs2fne9/7Xnbcccckyc9+9rOMHTt2lff68pe/3F3U7rXXXrnyyitz++2358orr8xee+2VJJk6dWr+93//d/09EAAAAADQ722UM2tHjRqVY445JmPGjMkmm2yywvnW1tbsu+++eeCBB5Ikt9xyS971rnetcF1zc3N22223LFmy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AAAAAKAMKGsBAAAAAMqAshYAAAAAoAwoawEAAAAAyoCyFgAAAACgDChrAQAAAADKgLIWAAAAAKAMKGsBAAAAAMqAshYAAAAAoAwMLNUbNzc356c//Wlmz56df//731m4cGGuu+661NXVdV/T1NSUf/3rXxkyZEj233//UkUFAAAAAFjv+rys7erqyhe+8IWcd9556erqSrFYTJIUCoV0dnYud21LS0tGjRqVgQMH5pFHHsmOO+7Y13EBAAAAAPpEny+DcMIJJ+R73/teXnzxxeywww5paGhY6bWHHnpoXve61+XFF19MY2NjH6YEAAAAAOhbfVrWzpo1K5dcckmS5LTTTsu8efPyi1/8YpVjPvCBD6RYLOamm27qi4gAAAAAACXRp8sgXHTRRUmSww47LF//+td7NWafffZJksyZM2e95QIAAAAAKLU+nVk7e/bsFAqFjBs3rtdjhg4dmiT597//vb5iAQAAAACUXJ+WtQsWLEiSvPa1r+31mIEDl07+Xbx48XrJBAAAAABQDvq0rN10002TJB0dHb0e869//StJsuWWW67TLAsWLMjMmTPzla98JYceemi23nrrFAqFFAqFjB07tlf3mDZtWveY1f1MmzZtneYHAAAAADYsfbpm7Wtf+9rcc889ufvuuzN8+PBejZk5c2aSZPfdd1+nWbbddtt1ej8AAAAAgFeiT8vagw8+OHfffXemTp2aT33qUxkwYNUTe++666787Gc/S6FQyHvf+971lqu2tja77bZbfv/736/1Pa6//vrssMMOKz2/bO1dAAAAAICe9GlZO2HChEyePDn/+Mc/8slPfjIXXXRRKioqerx2+vTp+dSnPpXOzs5svvnmGT9+/DrN8pWvfCVve9vb8ra3vS3bbrtt5s2bt0Zr6b7crrvump133nndBQQAAAAANip9WtbuuOOOmTx5cj75yU9m2rRp+f3vf58jjjii+/wll1ySjo6O3HDDDXn44YdTLBZTKBQyderUbL755us0y1lnnbVO7wcAAAAA8Er0aVmbJOPGjUuhUMjEiRPz2GOP5Yc//GEKhUKS5LzzzkuSFIvFJMmgQYNy0UUX5QMf+EBfxwQAAAAA6FOrXjR2PTn++OMzd+7cfPazn83rX//6FIvF5X523HHHnHjiibn//vtz7LHHliIiAAAAAECf6vOZtcsMHTo03/3ud/Pd7343zz33XBYsWJAXX3wxW221VbbeeutSxVprY8eOzf33359nnnkmm222Werq6jJy5MiceOKJ2XHHHUsdDwAAAAAocyUra19qs802y2abbVbqGK/IzTff3H389NNP5+mnn85f//rXnHPOOTnvvPNywgknrNV958+fv8rzTzzxxFrdFwAAAAAoL2VR1vZnr3vd63LUUUdl+PDhqa2tTZI8/PDDmT59ehobG/PCCy/kU5/6VAqFQsaPH7/G9192TwAAAMrPs4sG5OTbtih1DMrYs4tKsgIl0E/1aVn73//+N+eee26SZPz48dluu+1Wef0TTzyRH/3oR0mSU089NZtuuul6z7gmjjzyyBx77LHdG6Qt87a3vS0f+tCHMnPmzBx11FFZvHhxPvOZz+R973vfap8ZAACA/qOYQp5ZtEmpYwCwgejTsnbGjBk588wzs8suu+QrX/nKaq/fbrvtcvnll6e5uTnDhg3LBz/4wT5I2Xubb775Ks+PGjUqZ5xxRr785S+no6Mjl1xySU4//fQ1eo+WlpZVnn/iiSeyzz77rNE9AQAAWDcKKWaLQV2ljkEZe3bRgBRTWP2FAOnjsvZXv/pVCoVCr0vXQqGQD3/4w/na176WX/7yl2VX1vbGJz/5yfzv//5visVibr755jUua4cOHbqekgEAAPBKbTGoK+fv+2ypY1DGTr5tC7OvgV7r04VT5s6dmyR55zvf2esxw4cPT5Lcd9996yXT+rbNNttk6623TpI89thjJU4DAAAAAJSrPi1r58+fnyTZfvvtez1m2Rqv/bnoLBaLpY4AAAAAAJS5Pi1rBwxY+nYdHR29HrPs2iVLlqyXTOvbggUL8vTTTydJdthhhxKnAQAAAADKVZ+Wtctm1N555529HrPs2mUzbPubqVOnds+s3X///UucBgAAAAAoV31a1r7rXe9KsVjMD37wgyxevHi11y9evDg/+MEPUigUst9++/VBwt6bN29e7r777lVeM3PmzHzta19LkgwePDjHHXdcX0QDAAAAAPqhgX35Zscdd1wuueSSPPjgg/noRz+an/zkJ6mqqurx2o6OjhxzzDF54IEHUigU1nnReeutt6a5ubn799bW1u7j5ubmTJs2bbnrx44du9zv8+bNy4gRIzJ8+PAcccQR2XPPPbPNNtukWCzm4YcfTmNjYxobG7tn1X73u9/NjjvuuE6fAQAAWPfGjx+ftra2UscoK8s+j7a2tjQ0NJQ4TXnwrxEA1oc+LWvf+c535sMf/nB+/vOf51e/+lX++te/5pOf/GTe/e53Z/vtt0+hUMjjjz+eW265JRdffHHmz5+fQqGQhoaGdb6EwMUXX5yf/OQnPZ677bbbctttty332svL2mVmz56d2bNnr/R9qqqqcu6552b8+PFrnRUAAOg7bW1ty03m4P90dXX5bABgPerTsjZJLr300rS2tuaGG27IY489ljPPPLPH65bNSH3Pe96z0lK1lN761rfmsssuy+zZs3PnnXfmiSeeSGtra5YsWZItt9wye+yxRw466KB84hOfyDbbbFPquAAAwBoqppBixaaljkGZKizuSKHUIQDY4PR5WTt48OBcf/31mTx5cr773e/mscce6/G62tranHrqqfn0pz+dQmHd/1fgtGnTVljqYE286lWvytFHH52jjz563YUCAADKRrFi0zy/54dLHYMyVX3Hj5MUSx0DgA1Mn5e1SVIoFHLyySdn4sSJueeee3L33Xd3f5Vm6623zlve8pa8+c1vXi8lLQAAAABAOSpJWbtMoVDIXnvtlb322quUMQAAAAAASm5AqQMAAAAAAKCsBQAAAAAoCyVbBuHee+/Nn/70pzz88MP573//mxdffHGV1xcKhVxyySV9lA4AAAAAoG/1eVn7z3/+M8cff3z+8pe/9HpMsVhU1gIAAAAAG7Q+LWsfe+yxvPvd705ra2uKxWKSpLq6OltuuWUGDLAiAwAAAACw8erTsvYb3/hGnnrqqRQKhXziE5/I5z//+ey66659GQEAAAAAoCz16XTW6667LoVCIcccc0ymTp2qqAUAAACALN2vqVAo5Mwzz1yr8TvvvHMKhULGjh27wrl58+Z133/atGkrnJ82bVr3+Xnz5q3V+7Nu9GlZ+/jjjydJjjnmmL58WwAAAACAstenZe2WW26ZJNliiy368m0BAAAAAMpen5a1e++9d5LkgQce6Mu3BQAAAIAN2rx581IsFntc5oD+o0/L2okTJ6ZYLGbq1Kl9+bYAAAAAAGWvT8va97znPfmf//mf3HTTTTnxxBOzePHivnx7AAAAAICyNbAv3+ynP/1pdt9997zzne/M1KlTc80116ShoSHDhg1LVVXVasfbmAwAAACAcvf4449n8uTJ+f3vf5+HHnooCxcuTE1NTV796lenvr4+hxxySI466qhsttlmvb5nsVjMSSedlO9///tJkk996lP5/ve/nwEDls7F3HnnnfPoo4/m2GOPtRRCP9anZe3YsWNTKBS6f3/iiSdywQUX9GpsoVBQ1gIAAABQ1v70pz9l1KhRee6555Z7/cknn8yTTz6Zpqam/PznP8/WW2+dUaNG9eqeS5YsybHHHpsrrrgiSfKlL30pkyZNWufZKb0+LWuTpX8FAAAAAIANzaJFi/LhD384zz33XF71qlflxBNPzIgRI7LNNttk8eLFefTRRzN79uxMnz691/dcuHBhGhoa8tvf/jZJ8t3vfjef+9zn1tcjUGJ9WtY+8sgjffl2AAAAANBnbrvttjz++ONJkiuuuGKFmbNvf/vb88EPfjDf+c530tHRsdr7/ec//8moUaNy6623ZpNNNsmPfvSjHHfcceslO+WhT8va17zmNX35dgAAAADQZ/797393H7/73e9e6XUDBw5c7Xq1Tz75ZA455JDce++9GTRoUK688soceeSR6ywr5WlAqQMAAAAAwIZg++237z7+8Y9/vNb3mTdvXvbbb7/ce++9qa6uzrXXXquo3UgoawEAAABgHdhvv/3yute9LklyyimnZJ999sk3v/nN/PnPf05nZ2ev7nH//fdnv/32S3Nzc7baaqvceOONOeigg9ZnbMqIshYAAAAA1oGKiopcc8012W233ZIkd9xxR0477bTsu+++2WKLLXLooYfmiiuuyIsvvrjSe/ziF7/IY489liS58MILs88++/RJdspDn65Z+1I33XRTZsyYkXvvvTetra1ZuHBhisXiSq8vFAp56KGH+jAhAAAAAKyZ3XffPf/4xz9yzTXX5JprrsnNN9+chx56KAsXLsx1112X6667Lt/73vfy29/+Nttss80K4w855JDceuutef755zNhwoTsscce2X333UvwJJRCn5e1CxYsyIc//OHcfPPNSbLSgrZQKCx3rlAo9Ek+AAAAAHglNtlkk7z//e/P+9///iTJE088kd/97nf5wQ9+kLvuuit33XVXTjjhhPz6179eYew73vGOfOlLX8phhx2WBQsW5KCDDsqsWbPyhje8oY+fglLo02UQFi9enEMPPTQ333xzisVi9txzzxx++OFJlpaxH//4xzNq1KjssMMOKRaLKRQKeetb35pjjz02xxxzTF9GBQAAAIB1Yvvtt8/xxx+f2bNn5y1veUuSZObMmVm4cGGP1++///6ZOXNmNt100/z73//OiBEj8uCDD/ZlZEqkT8vaadOm5e67706ydEe8u+66K2effXb3+Z/85Cf5zW9+k/nz5+fXv/51tt9++9x3330ZNWrUK9pBDwAAAABKraKiIvvvv3+SZMmSJXn22WdXeu2IESNyzTXXZNNNN80TTzyRESNGpLm5uY+SUip9WtZOnz49SfLe9743xx577CqvHT16dG6++eZUVlZm7Nix/noAAAAAQFn705/+tMpCtbOzs3tp0Orq6rz61a9e5f0OOuigXH311Rk8eHAee+yxHHjggXn44YfXaWbKS5+Wtffee28KhUI+9rGP9Xj+5evXvv71r8/JJ5+c559/Pueff35fRAQAAACAtXLjjTfmDW94Qw444IB85zvfyfXXX5+//e1vue222/LjH/8473rXu/K3v/0tSfKJT3wiAweufjup97znPfn1r3+dQYMGpaWlJQceeGAeffTR9f0olEifbjDW1taWJHnta1/b/VplZWX3cUdHR4YMGbLcmIMOOihf/epX84c//KFvQgIAAADAWurq6srNN9/cPYO2J0cddVS++c1v9vqe733ve/OrX/0qRx55ZB599NGMGDEis2bNyk477bQuIlNG+nRm7bJi9qUF7WabbdZ9/Nhjj60wZvDgwSs9BwAAAADl4n/+53/y29/+Np/5zGfyjne8IzvttFMGDx6cwYMHZ+edd86HPvShXHvttZk+fXp359Vbhx12WKZPn57Kyso88sgjOfDAAzN//vz19CSUSp/OrN1pp50yd+7cPPnkk92vbbvttnnVq16V9vb2/PWvf82uu+663Jg5c+YkSQqFQl9GBQAAAIA1UlVVlUMPPTSHHnroGo99+fKgPRk1alQWLVrU47l58+atdNzOO++8yvuPHTs2Y8eOXe37s/716czat7zlLUmSu+++e7nX3/3ud6dYLOb8889f7l9w//nPf/Ltb387hUIhu+++e19GBQAAAADoU31a1h500EEpFou59tprl3v9U5/6VJKlJe4b3/jGnHrqqfn0pz+dN77xjZk7d26S5JhjjunLqAAAAAAAfapPl0F4//vfnzPPPDPz58/PQw89lNe//vVJksMPPzzHH398Lr300jQ3N+d73/tekv+b/n3wwQfnxBNP7MuoAFCWxo8f371hJ0st+zza2trS0NBQ4jTlp6amJlOnTi11DIAN1rOLBuTk27YodQzK2LOL+nSeHNDP9WlZu8UWW6x0/YyLL744w4cPz8UXX5w5c+ZkyZIl2WWXXXLMMcfk5JNPzoAB/sMNANra2tLa2lrqGGWpq6vLZwNAnyumkGcWbVLqGABsIPq0rF2dcePGZdy4caWOAQBlr5hCihWbljoGZayweGEKWf0mFQCspUIhKRYzYMCA1NTUlDpNWWhra0tXV5fPZCV8JkBvlFVZCwD0TrFi0zy/54dLHYMyNuSen6ewuKPUMQA2WMWBg1NY3JGampo0NjaWOk5ZaGhoSGtrq88E4BWwtgAAAAAAQBlQ1gIAAAAAlIH1sgzCgQceuM7vWSgUcuONN67z+wIAAAAAlIP1UtbOmjUrhUIhxeIr39Ri2X0KhcI6SAYAAAAAUJ7WS1n77ne/W7kKAAAAALAG1tvMWgAAAAAAes8GYwAAAAAAZUBZCwAAAABQBpS1AAAAAABlYL2sWbsmXnzxxTzzzDNZuHBhisXiKq/daaed+igVAAAAAEDfKklZ29ramgsuuCAzZszIfffdl66urtWOKRQKWbJkSR+kAwAAAADoe31e1v75z3/OUUcdlaeeemq1M2lhbY0fPz5tbW2ljlGWampqMnXq1FLHAAAAAOBl+rSsffrppzN69Og8/fTTqa6uzic+8YlsscUWOfPMM1MoFHLxxRfnmWeeyZ133pmrr746L7zwQvbdd9+MGzeuL2OyAWhra0tra2upYwBAyRSWvJBk6X8nNjQ0lDhNeVj2h1yfyYr8MRcAoDz0aVk7ZcqUPP300xk0aFBmz56dPfbYI3PmzMmZZ56ZJDnuuOO6r/33v/+dj370o7n55pszfPjwfOtb3+rLqPRzNTU1pY7Qra2tLV1dXRkwYEBZ5CqHDAD0gf/3Daauri5/wHwZnwkAAOWqT8va3/3udykUCjn++OOzxx57rPLa7bbbLtdee23e/OY357vf/W4OOeSQHHjggX2UlP6unGaGNDQ0pLW1NTU1NWlsbCx1HAA2MoUUs8Wg1e8PwMbp2UUDUkyh1DEAAPh/+rSsbW5uTpKMHDmy+7VC4f/+x+GLL76YTTbZpPv3TTfdNJ/5zGfy6U9/OhdddJGyFgBgDW0xqCvn7/tsqWNQpk6+bYs8s2iT1V+4kSosXpgh9/y81DEoU4XFC0sdAUpiY9kjxhJB5WtZl3jGGWd0f1t/Q9KnZe1zzz2XJHnNa17T/drgwYO7j//73/9miy22WG7M3nvvnST561//uv4DAgAA/D+FFFNY3FHqGABlxR4xsH71aVlbXV2d//znP1myZEn3ay9dP3PevHnZc889lxvzwgtLN8dYsGBBn2QEAABIkmIKKVZsWuoYlKnC4oUppFjqGFAyG+p/Rvr3NqXWp2VtXV1d7rrrrvzrX//KPvvskyTZYostst122+XJJ5/MTTfdtEJZ++c//zlJMmTIkL6MCgAAbOSKFZvm+T0/XOoYlKkh9/zczGs2ahvqf0b69zalNqAv3+ztb397kuSOO+5Y7vX3vve9KRaL+fa3v50HHnig+/Xbb7893/72t1MoFPK2t72tL6MCAAAAwHp3++2355Of/GR23XXXVFdXZ8iQIRk2bFg+/elP58EHH1zu2mKxmPe+970pFArZZJNNcuutt670vueff34KhUIKhUJOP/305c5Nmzat+9y8efOyaNGifPe7381b3vKWbL755tlss83y9re/Pd///vfz4osvrvYZisViGhsbM2bMmNTW1mbw4MHZcssts88+++RrX/tann322ZWOHTt2bAqFQnbeeeckyRNPPJEvfOEL2WOPPfKqV70qhUIhs2bNys4777zc3ldnnXVW9zMs+xk7duxqs5a7Pi1rDznkkBSLxfzqV79a7vXPfvazGThwYBYsWJD6+vq87W1vyx577JF99903zzzzTJLk5JNP7suoAAAAALDeLFmyJP/f//f/5e1vf3suvvjiPPjgg3n++efT0dGRf/7zn/nBD36QPfbYIz/60Y+6xxQKhUybNi1bb711urq68vGPf7x7j6iXuu+++/LFL34xydL9oFa1EdczzzyTfffdN6eeemruvvvuPPfcc/nvf/+b22+/PRMmTMgBBxyQ//73vysd/9RTT+Vd73pXPvCBD+RXv/pV5s+fn0WLFuXZZ5/NHXfcka985SsZNmxYr/aj+stf/pI3velN+fa3v5377rsv7e3tqx2zoenzsvaYY47JO97xjjzyyCPdr9fX1+fCCy/MJptskiVLluSuu+7K/fff393cn3nmmXnve9/bl1EBAAAAYL0ZN25cLrzwwiTJoYcemssuuyy333577rjjjvzoRz/KHnvskcWLF2f8+PG55pprusdtt912ueSSS5Is3f/p05/+9HL37ezszEc/+tG88MILqaqqyuWXX56KioqV5jjhhBNy11135UMf+lB++9vf5s4778wVV1zR/S33W2+9NUcffXSPY59//vnsv//+ue2221JZWZkTTjghV199df72t7/lT3/6U77xjW9kq622ypNPPplDDz00jz766EpztLe3Z8yYMXnhhRdy+umnZ9asWbn99ttzySWXZPvtt8/vf//7/OMf/+i+/sQTT8w//vGP5X6+8Y1vrOZTL399umZtRUVFpk2b1uO5cePGZb/99su0adMyZ86cLFmyJLvssks+/vGPZ++99+7LmAAAAACw3kyfPj0//elPkyQ/+tGP8olPfGK583vvvXc+9rGP5fDDD88f//jHTJw4MYceemgGDlxa5b3vfe/L+PHjM3Xq1Fx22WU5/PDD8+EPL11D+PTTT8+9996bJDn33HOz6667rjLLHXfckUmTJuVLX/pS92tvfetb84EPfCCjRo3K9ddfn2uuuSbXXnttDj/88OXGfvGLX8z999+fzTffPDfccMMKHd5+++2Xo48+OsOHD88TTzyRL3/5y/nZz37WY46nn3461dXVufXWW/PmN7+5+/WVLY26zTbbpL6+fpXP1h/16cza1XnDG96Qb37zm/nNb36T3/72tzn//PMVtQAAAABsUL75zW8mSY488sgVitplBg8enClTpiRZOoN21qxZy50/99xz84Y3vCHJ0lmm//rXv3LTTTflnHPOSfJ/he7qvOlNb8oXvvCFFV4fOHBgLr744u5ZuT/4wQ+WO9/a2pqLL744SfLVr351pR3ea17zmvzv//5vkuSqq65KR8fKN3D7n//5n+WK2o1RWZS1S5YsyVNPPZWnnnoqS5YsKXUcAAAAAFgvHnvssdx1111Jkg9+8IOrvHa33XbL1ltvnSSZPXv2cudeusTBs88+m6OPPjrHHntsisVitttuu+4idXWOPfbYDBjQc0U4dOjQHHzwwUmSWbNmLbfZ2PXXX58XXnihV8/x7ne/O0myePHi7mfvycqWW9iYlKysnTNnTk466aTstttuGTx4cLbbbrtst912GTx4cHbbbbecdNJJaWpqKlU8AAAAAFjn7rzzzu7jj3zkIykUCqv8aW1tTZL8+9//XuFeb33rW/PVr341ydK1ZVtaWpIkP/7xj/PqV7+6V3lWtszAMvvss0+SpKOjIw8//HCPz7H99tuv8hleulxBT8+RJNXV1Xnd617Xq8wbsj4va7u6unLKKadkzz33zA9+8IP885//TFdXV4rFYorFYrq6urp3vNtrr73ymc98Jl1dXX0dEwAAAADWuQULFqzVuJUtH/A///M/y61L+4lPfCLvfe97e33fbbbZZpXnt9122+7jtra27uN1/RxbbLHFWt1vQ9OnG4wlyYc//OFMnz49xWIxSbLHHntkn332ybbbbptisZgFCxbkjjvuSFNTU1588cVMnjw5jz/+eK666qq+jgoAAAAA69RLlxK4/PLL86Y3valX47bccsseX7/uuuvywAMPdP9+6623ZuHChdl00017dd9CobDK88s6vJdb9hyVlZWrXNrg5YYOHdrj65tsskmv77Eh69Oy9oorrkhjY2MKhULe/OY3Z+rUqSudan3nnXfmhBNOyN13353Gxsb8/Oc/797VDgAAAAD6o6222qr7+OVLBKypp556Kscff3ySZLPNNstzzz2XuXPn5vOf/3y+//3v9+oeTz755HIzc1/upTNoa2pquo+XPUdnZ2e22mqrbL/99mvzCLxMny6D8KMf/ShJsuuuu+bWW29d5ZoYe++9d2655Za84Q1vSLFYzA9/+MO+igkAAAAA68Vee+3Vffz73//+Fd1r3LhxefLJJzNgwIDMmDGje6LjD37wg/zud7/r1T3uuOOOXp2vqqpabk3Zdfkc/J8+LWv//ve/p1Ao5Atf+EKGDBmy2uuHDBmSL3zhC0mSe++9d33HAwAAAID1qq6uLrvvvnuS5Oc//3n+9a9/rdV9LrroolxzzTVJks997nMZMWJELrzwwtTW1iZJjjvuuDz11FOrvc/PfvazlS518Nhjj3UXsQcccMBySxUceuihqaioSJKce+65WbJkyVo9x5oaPHhwkmTRokV98n59rU/L2s7OziTp9VocL7128eLF6yUTAAAAAPSlL3/5y0mSF154IUcdddQqS9VFixblBz/4QV544YXu1x544IF87nOfS5K8+c1vzte//vUkSzfp+slPfpIBAwbkySefzCc/+cnVZrnnnnvyne98Z4XXlyxZkk9+8pPdfd6JJ5643Pkdd9wxxx13XJKlkyxPOOGEVRa2CxYsyMUXX7zaPKuzbLmFhx566BXfqxz1aVn7mte8Jknyn//8p9djnnvuueXGAgAAAEB/9pGPfCTHHntskuSuu+7K7rvvni9/+cv5wx/+kHvuuSe33XZbfvrTn+aTn/xkdthhh3z605/uLkIXL16co48+Oh0dHRk8eHAuv/zyVFZWdt97xIgR+exnP5skufrqq7uXJV2ZvffeO1/4whfy0Y9+NNddd13+9re/5aqrrsq+++7bvZTCEUcckVGjRq0w9pxzzulec/fSSy/Nm9/85px//vm59dZbc88992TWrFn5/ve/nyOPPDK1tbW56KKLXvFn9853vjNJ8pvf/CY//OEP09TUlObm5jQ3Ny+3vm5/1acbjI0ZMyZf+9rXMn369IwYMaJXY5ZtSHbkkUeu53QAAAAA0DcuueSSbLvttjnnnHPS2tqab3zjG/nGN77R47VDhgzpXoLgzDPPzJ133pkk+da3vpU99thjheu/8Y1v5A9/+EPuvffefOYzn8mIESNSV1fX472nTp2acePG5corr8yVV165wvl99903l19+eY9jq6urc/PNN+foo4/Oddddl/vuuy+nnHLKSp95s802W+m53vr85z+fxsbGLFq0KJ/61KeWO3fsscdm2rRpr/g9SqlPy9rPfvazufzyy/PDH/4w7373u/PBD35wldc3Njbmhz/8YV772tfm85//fB+lBAAAAGBVCosXZsg9Py91jHWusHhhn73XJptskm9961sZN25cpk6dmj/+8Y+ZN29ennvuuVRVVWWnnXbKnnvumYMPPjhHHnlkNt1009x66605++yzkyQHH3xwTjrppB7vXVlZmcsvvzx77713nn/++XzsYx/LrbfemoEDV6wCt9xyy/z5z3/Oeeedl6uuuioPPfRQisVidttttxxzzDE58cQTl1ur9uVqamryu9/9Ln/84x9z2WWX5dZbb80TTzyRF154IZtttlle//rXZ5999snhhx+egw8++BV/bnvuuWdmz56d73znO7ntttvy5JNPblDr1/ZpWbv55pvnhhtuyIc+9KF85CMfyRVXXJGxY8fmbW97W7bZZpsUCoU8+eSTueOOO/KTn/wkv/nNb7L33nvnF7/4RTbffPO+jAoAAADAShRSTGFxR6ljbBB23XXXfPe73+3Vtfvtt19efPHFXl27xx57ZOHC3pXPgwcPzhe/+MV88Ytf7NX1PTnwwANz4IEHrvG4adOmrfFs2L322itXXHHFGr9Xf7BeytpVte3LFIvFXHPNNd271q3smjvvvDOve93rUigU+mxXOQAAAABWVFNTU+oIfWJjeU7Kz3opa4vF4jq7rrf3AgAAAGD9mjp1aqkjwAZtvZS1Z5xxxvq4LQAAAADABktZCwAAAABQBgaUOgAAAAAAAMpaAAAAANiojB07NsViMcViMTvvvHOp4/ASyloAAAAAgDKgrAUAAAAAKAPKWgAAAACAMqCsBQAAAAAoA8paAAAAAIAyoKwFAAAAACgDyloAAAAAgDKgrAUAAAAAKAPKWgAAAACAMrDRlrULFizIzJkz85WvfCWHHnpott566xQKhRQKhYwdO3aN73fdddflqKOOytChQzNo0KAMHTo0Rx11VK677rp1Hx4AAAAA2OAMLHWAUtl2223XyX2KxWI+9alPZerUqcu9/thjj+XXv/51fv3rX2f8+PG56KKLUigU1sl7AgAAAAAbno12Zu1L1dbW5uCDD16rsV/+8pe7i9q99torV155ZW6//fZceeWV2WuvvZIkU6dOzf/+7/+us7wAAAAAwIZno51Z+5WvfCVve9vb8ra3vS3bbrtt5s2bl9e+9rVrdI/m5uZ8+9vfTpLsvffeueWWW7LpppsmSd72trflfe97X/bff//ceeed+da3vpXjjjsur3/969f5swAAAAAA/d9GW9aeddZZr/ge5557bpYsWZIkueCCC7qL2mWqqqpywQUXZPjw4VmyZEnOO++8XHDBBa/4fQEAeuvZRQNy8m1blDoGZerZRb5oBwBQTjbasvaVKhaLufrqq5Mkw4YNyzve8Y4er3vHO96RN7zhDfnnP/+ZGTNmZPLkydauhTIyfvz4tLW1lTpGWaqpqVlhPW6g/ymmkGcWbVLqGADABmJj+Wco/zxEqShr19IjjzySxx57LEmy//77r/La/fffP//85z8zf/78tVpuAVh/2tra0traWuoYAOtNIcVsMair1DEoU88uGpBiTCQAoPf8MxSsX8ratXT//fd3Hw8bNmyV1770/P3336+shTJSU1NT6ghJlv4Pnq6urgwYMKBsMpVLDuCV2WJQV87f99lSx6BMnXzbFmZeA7BWNtQ/CPtDJqWmrF1LLS0t3cdDhw5d5bW1tbU9juuN+fPnr/L8E088sUb3A5ZXLl9raWhoSGtra2pqatLY2FjqOAAAAKu0of5B2B8yKTVl7Vr673//231cXV29ymuHDBnSfdze3r5G7/PSohcAAAAA2HDZ/nUtvfDCC93HlZWVq7x20KBB3ccLFy5cb5kAAAAA6B+ampry9a9/PYccckiGDh2aQYMGpbq6OrvsskuOPfbY/OUvf1lhTEdHR171qlelUCjkYx/72Grf4/bbb0+hUEihUMgFF1zQ4zUdHR0577zzMmLEiGy77baprKzMNttsk4MPPjg//vGP8+KLL670/jvvvHMKhULGjh2bJLnrrrsyduzYvPa1r82gQYNSKCy/pMTDDz+cc845J0cccUR23nnnbLrpptl0003zmte8Jh/60Idy3XXXrfaZkuT555/PV7/61bzxjW/MkCFDstVWW2W//fbLpZdemmKxmFmzZnU/96xZs1Z6n2KxmMbGxowZMya1tbUZPHhwttxyy+yzzz752te+lmeffbZXedYlM2vX0uDBg7uPOzs7V3ntokWLuo833XTTNXqf1S2b8MQTT2SfffZZo3sCAAAAUDqzZs3KiBEjVni9s7Mzzc3NaW5uzk9/+tN88YtfzDe/+c3u81VVVXn/+9+fyy67LDNmzMjzzz+/3De6X+6KK65IkmyyySb50Ic+tML5O+64I0ceeWQee+yx5V5/6qmn8oc//CF/+MMfctFFF+U3v/lNtt1221U+00UXXZSTTjopS5Ys6fH8I488kte//vU9nvvXv/6Vf/3rX/nFL36Rj33sY/nxj3+cgQN7ri1bWlpy4IEHprm5ufu1jo6O3Hbbbbntttvy61//OhMnTlxl1mXPeOSRR+a2225b7vVFixbljjvuyB133JHvf//7ufrqq/P2t799tfdbV5S1a+lVr3pV9/HqljZ4/vnnu49Xt2TCy61uPVwANk6FxQsz5J6flzoGZa1Y6gAAAKzEkiVLMmTIkBx++OE58MADM2zYsGy22WZZsGBB5syZk8mTJ+fRRx/N2WefnV133TXHHXdc99ijjz46l112WZ5//vlcffXV+ehHP9rje7z44ou56qqrkiTvec97ss022yx3/h//+EdGjBiR559/Pttss01OPPHEvOtd78pWW22VBQsW5De/+U1++MMf5vbbb8/o0aPzpz/9KRUVFT2+1x133JHLLrsstbW1+fznP5+3vvWtefHFF/OnP/1puTyVlZU55JBD8p73vCe77757ampq0tbWlgceeCDf//73M2fOnFx22WV53etel7POOmuF9+ns7Mxhhx3WXdQeeuihGT9+fGprazN//vxMnTo1M2fOzFNPPbXKz//555/P/vvvn/vvvz+VlZU57rjjcthhh6W2tjbPP/98brnllnzve9/Lk08+mUMPPTR33313XvOa16zynuuKsnYtvbREXd0mYC+dHWsNWgDWhUKKKSzuKHUMAABgLey5556ZP39+tthiixXOHXLIIZkwYUJGjRqVP/zhDznrrLNyzDHHZJNNlm58tqx4XbBgQa644oqVlrV//OMf8+9//zvJ0oL3pYrFYj72sY/l+eefz5vf/ObccMMN2XrrrZe75uCDD86oUaNy+OGH569//Wt++tOfZty4cT2+13333Zc3vvGNueWWW5Z7pn333bf7ePvtt8+8efOy/fbbrzD+oIMOyqc+9akcf/zxmTZtWs4555x89rOfzeabb77cdd///vfT1NSUJJkwYcJySzu89a1vzejRo3PSSSdlypQpPeZc5otf/GLuv//+bL755rnhhhuy9957L3d+v/32y9FHH53hw4fniSeeyJe//OX87Gc/W+U91xVr1q6l3Xffvft47ty5q7z2ped322239ZYJgI1HMYV0VVT58bPSH/NqAQDK19Zbb91jUbtMZWVlvvOd7yRJHn300dxzzz3d5166pMH111+f1tbWHu9x+eWXJ/m/pRNe6tprr83f//73JMlPf/rTFYraZd773vemoaEhSfLjH/94lc/0/e9/f5XPNGTIkB6L2mUKhULOOeecbLLJJnn++edzww03rHDND3/4wyTJDjvs0P35vNx3vvOd7LDDDit9n9bW1lx88cVJkq9+9asrFLXLvOY1r8n//u//JkmuuuqqdHT0zWQZM2vX0mtf+9rssMMOefzxx3PzzTev8tpbbrklSbLjjjtm55137oN0AGzoihWb5vk9P1zqGJSx6jt+HEshAAD0D4sWLcqTTz6Z9vb2dHV1JVk6+3WZe++9N29961u7f//Yxz6WCy64IEuWLMkvf/nLnHjiicvd74UXXsivf/3rJMno0aNXWJbz6quvTpK84Q1vyJve9KZVZnv3u9+dX/ziF7njjjvy4osvds/wfana2tq8613vWoMnThYvXpwnn3wy//3vf5fbxGzZMgz33ntvxowZ0/36Y489ln/+859Jkg9+8IPL7Sf1UoMHD84HPvCBnH/++T2ev/766/PCCy9032dV3v3ud3dnveuuu9b4GdeGsnYtFQqFjB49OhdeeGHmzp2bv/zlL3nHO96xwnV/+ctfumfWjh49eoVd8DYk48ePT1tbW6ljlJ1ln0lbW1v3X6NYqqamJlOnTi11DAAAAOhzzz//fCZPnpyf//znmTNnznKF5cu9fPbsPvvsk1122SUPPvhgLr/88hXK2muuuSbPPfdckhWXQEiSO++8M0nyz3/+s9ddVWdnZ9ra2vLqV796hXOrK3yXWbx4caZOnZqf/exnufvuu9PZ2bnSa1/+zMuWP0iyXHHdk5XNlk3+79mTrHKm78stW1JifVPWvgKnnHJKfvSjH2XJkiU56aSTcsstt2TTTTftPr9w4cKcdNJJSZKBAwfmlFNOKVHSvtHW1rbSqfckXV1dPh8AAAAg8+bNy4EHHphHHnmkV9cvXLhwhdc++tGP5qyzzsqf//znzJs3b7lvcy9bAmHrrbfOwQcfvMLYBQsWrFXulS0FsOWWW652bFtbWw4++ODcddddvXqvlz/zM88803388s3SXq6nQnmZdf3s69pGW9beeuut3TvHJcu39c3NzZk2bdpy148dO3aFe+y66675/Oc/n7PPPjt33nln9t1333zhC1/I61//+jz00EP51re+lbvvvjtJcuqpp2aXXXZZL89SbooppFix6eovZKNVWLwwBV/NBQAAYCP18Y9/PI888kgKhUKOO+64fPjDH85uu+2WV7/61Rk0aFCSpZO+li058NIlEZY5+uijc9ZZZ6VYLObKK6/Ml770pSRLS83f/e53SZZ+zb+iomKFsctm8e6777656KKLep17ZWvB9rQ0wsudfPLJ3UXt+9///hx//PF505velG222SaDBw/unuG70047paWlpcdnXheWPXtlZWWvi+MkGTp06HrJ83IbbVl78cUX5yc/+UmP52677bbcdttty73WU1mbJN/4xjeyYMGCXHrppbn77rvz4Q+vuH7guHHj8vWvf/0VZ+4vrKPI6gy55+d2sQcAAGCjNHfu3Nx6661Jki996Uv5xje+0eN1L51J2pNddtkl++yzT26//fZcfvnl3WVtY2Nj9/ICPS2BkCxdF/bJJ5/MU089lfr6+rV9lF577rnnctVVVyVZOiN42czfnqzsuV86e3d1s2OfeuqplZ7baqutkixd1mGrrbZao6UQ+sJGW9auKwMGDMgll1ySMWPGZOrUqbnjjjvS2tqarbfeOm9729tywgkn5NBDDy11TAAAADZQ5bJ/SDnu12GfDMrRnDlzuo97mvS3zEvXVl2Zo48+OrfffnvmzJmTv//973nTm96UK664Ikmy8847Z/jw4T2O22uvvXLfffflgQceyKOPPprXvOY1a/gUa+bBBx/M4sWLk6z6mf/5z3+mvb29x3N77LFH9/Gdd96Zj33sYyu9z6o+u7322qv7+Pe//32OPfbYlV5bChttWTtt2rQVljp4JQ477LAcdthh6+x+AAAA0Bvltn+I/Tpg1ZYsWdJ9vKp1UHuzPMGHP/zhfPazn82LL76Yyy+/PDU1NbnllluSLC1yV7Z52Pve977u2a3f/va38/3vf39NHmGNrYtnHjp0aHbdddc88MAD+eUvf5mzzz47gwcPXuG6F154Ib/85S9Xep9DDz00FRUVWbx4cc4999wcffTRGTiwfCrS8kkCAAAArLGamppSRyhbPhvK0Uv3NPrJT36St7/97Stcc+GFF2bGjBmrvdc222yTkSNH5vrrr8+VV16ZrbbaKl1dXUmWLjewMmPGjMluu+2W+++/PxdeeGHe8pa3ZNy4cSu9vqmpKY888kiOOOKI1WbqSV1dXQqFQorFYn7605/mQx/60ArXzJw5MxdccMEq73PCCSfkc5/7XB5//PGceuqpPV5/6qmn5vHHH1/pPXbcccccd9xxmTp1au69996ccMIJ+eEPf7jSwnbBggX5zW9+k0984hOrecp1Q1kLAAAA/Ziv+UP/stdee6W+vj5NTU258MIL8+yzz+boo4/O9ttvn5aWllx22WVpbGzMvvvuu8KeSj352Mc+luuvvz4tLS355je/2f0eu++++0rHbLLJJrnqqqvyzne+M+3t7fnEJz6RX/7yl/noRz+aN7zhDamoqMiCBQty9913Z+bMmfnzn/+cz33uc2td1m611VY57LDDcu211+a3v/1t3vve9+aEE07ITjvtlAULFmT69OmZNm1aXve61+XZZ59d6ZqzEyZMyI9//OM0NTVlypQpefjhh3PCCSdk6NChmT9/fqZOnZprr722ey3fJD3OLj7nnHPy5z//OU1NTbn00kvzl7/8JePHj89b3/rWVFdX59lnn82cOXNyww035Le//W3e+MY3KmsBAAAAYENTKBTys5/9LAceeGCeeeaZXHnllbnyyiuXu+aNb3xjfvnLX2aHHXZY7f3e//73p6qqKh0dHXn22WeTrHxjsZe/x2233ZaGhoY8+OCDuf7663P99dev9PrNNttstfdclQsvvDD77bdf/vWvf/X4XjvttFNmzJixymVGKysrc+211+bAAw/MQw89lN/+9rf57W9/u9w1Bx98cD7zmc907yHV01IJ1dXVufnmm3P00Ufnuuuuy3333ZdTTjllpe/7Sp99TShrAQAAAFgjzy4akJNv26LUMda5ZxcN6JP32XPPPXPPPffkm9/8Zn73u9/l8ccfz6te9arU1dXlgx/8YD796U/3WDL2pLq6OqNHj+4ufAcMGLDKTbxe6k1velPuu+++XHHFFfn1r3+du+66K0899VS6urqy1VZb5Q1veEP222+/HHnkkXnLW96y1s+bJLW1tfnb3/6Wb33rW7n66qvz6KOPZvDgwdl5553z/ve/PyeffHK23HLL1d5np512yr333ptzzjknv/zlL/PQQw9l0KBBGTZsWI455piccMIJ+c1vftN9/eabb97jfWpqavK73/0uf/zjH3PZZZfl1ltvzRNPPJEXXnghm222WV7/+tdnn332yeGHH56DDz74FT37mlDWAgAA9KCweGGG3PPzUsegTBUWLyx1BCipYgp5ZtEmpY7Rr+2000658MILV3lNsVjs1b2uuOKKXHHFFWuVY+DAgTnmmGNyzDHHrPHYefPmrdH1W221Vb797W/n29/+9iu655AhQ/KVr3wlX/nKV3o839TUlGTps+28886rvNeBBx6YAw88cLXv2VeUtQAAAD0opJjC4pXvWA2wMdpYNm3bWJ5zQ1QsFnPVVVclWTqDubczlMuFshYAAOAl/AP6itra2tLV1ZUBAwb4fF7G58HGxoZ2lNq8efMydOjQDBzYc635la98pXtm7bHHHtuX0dYJZS0AAMBLKCJW1NDQkNbW1tTU1KSxsbHUcQDYiE2bNi0//vGP89GPfjT77rtvdthhhyxevDj3339/fvKTn2TWrFlJkt133z2f/OQnSxt2LShrAQAAAIB+41//+lfOPvvslZ4fNmxYrr322gwaNKgPU60byloAAAAAoF8YN25cNt9881x//fVpbm7OU089lYULF6ampiZvfvObc+SRR+b4449PZWVlqaOuFWUtAAAA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",
"text/plain": [
"
"
]
},
"metadata": {
"image/png": {
"height": 390,
"width": 693
}
},
"output_type": "display_data"
}
],
"source": [
"# Solution\n",
"grid = sns.catplot(data=df, x='hand', y='balance',hue='skill', kind='box', height=4, aspect=1.5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"After some visual inspection of the figures it looks like the best way to incorporate additional information about a player's `skill` is to estimate a model that includes an **interaction** between `hand` and `skill`. Why? Because it looks like the differences between `bad`, `good`, and `neutral` hands are *different* for `expert` vs `average` players"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Challenge\n",
"Fit 2 new models that estimate $$balance \\sim hand * skill $$\n",
"\n",
"- For one of the models using the default *treatment* coding. \n",
"- For the other model use *sum* coding\n",
"\n",
"Use `anova_lm(your_model, type=3)` to inspect the F-table for each model *separately*. \n",
"\n",
"For which model to the results make sense with respect to the figures you made above?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"*Your response here*"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
"
],
"text/plain": [
" sum_sq df F PR(>F)\n",
"Intercept 28644.6637 1.0 1772.1137 0.0000\n",
"C(hand, Sum) 2559.4014 2.0 79.1692 0.0000\n",
"C(skill, Sum) 39.3494 1.0 2.4344 0.1198\n",
"C(hand, Sum):C(skill, Sum) 228.9817 2.0 7.0830 0.0010\n",
"Residual 4752.2521 294.0 NaN NaN"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Solution\n",
"twoway_sums = ols('balance ~ C(hand,Sum) * C(skill, Sum)', data=df.to_pandas()).fit()\n",
"\n",
"anova_lm(twoway_sums, typ=3).round(4)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Two-way Factorial ANOVA\n",
"\n",
"You should have noticed that using the *treatment* coding scheme made it seem like the effect of `skill` was *also* significant even though $expert$ and $average$ players clearly don't look different from the figure above. So what's going on?\n",
"\n",
"It turns out that ***how* we code categorical matters for valid F-tests in multiple regression**. \n",
"\n",
"In fact this type of multiple regression has a special name, it's called a **factorial ANOVA (analysis of variance)**.\n",
"\n",
"| | Expert | Average |\n",
"|----|--------|---------|\n",
"| **Bad** | hand = bad, skill = expert | hand = bad, skill = average |\n",
"| **Neutral** | hand = neutral, skill = expert | hand = neutral, skill = average |\n",
"| **Good** | hand = good, skill = expert | hand = good, skill = average |\n",
"\n",
"ANOVA is a statistical process initially [developed by Ronald Fisher in 1925](https://higherlogicdownload.s3.amazonaws.com/AMSTAT/1484431b-3202-461e-b7e6-ebce10ca8bcd/UploadedImages/Classroom_Activities/HS_8__FISHER_and_Design_of_experiments.pdf), for analyzing experiments with *only* categorical *factors*. ANOVA provides a mathematical \"trick\" we can use to efficiently calculate the *change in a model's residual variance* attributable to each factor - in the table above the first factor `hand` had 3 levels and the second factor `skill` had 2 levels. \n",
"\n",
"ANOVA allows us to decompose this variance to test *joint-hypotheses* - are *all the parameters* encoding *all the levels* of `skill` (or `hand`) *worth it?* For this reason we often refer to an F-test as an **omnibus test** because it tests all of the parameters encoding a factor at once.\n",
"\n",
" We've seen this \"change in residual variance\" before - it's the **Proportional Reduction in Error (PRE)** when we compare nested models! In fact the **F-distribution** is named in honor of Ronald Fisher - and describes how this change in variance changes as we have more/less factor levels and observations. \n",
"\n",
"\n",
"
\n",
"\n",
"
\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"However, in order to use this trick and calculate ANOVA correctly there are several **key requirements**:\n",
"- We have to use a valid **contrast** coding scheme for our categorical variable\n",
"- We have to calculate our sum-of-squared residuals using the \"type III approach\"\n",
"\n",
"There are certain situations in which these conditions won't matter as much (e.g. perfectly balanced data and factor levels) - but in practice you should follow the guidelines above whenever you plan to conduct F-tests using multiple categorical predictors.\n",
"\n",
"Let's take a look at each of these now"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Valid Contrast coding schemes\n",
"\n",
"You should refer to this week's reading, especially Chapter 8 of Data Analysis: A Model Comparison Approach, for more additional background details, but in general we consider a categorical coding scheme to be a valid **contrast scheme** if using values if 2 conditions are met:\n",
"- If the codes within each column sum-to-zero\n",
"- If overall-sum of codes across columns equals zero\n",
"\n",
"This ensure that our comparisons are orthogonal to each other and yields valid \"main effect\" and \"interaction\" F-tests from our ANOVA. \n",
"\n",
"Let's see the difference between *treatment* and *sum* coding:"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
"from helpers import plot_design_matrix"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can see that the *treatment/dummy* coding using 0s and 1s and therefore doesn't meet these conditions:"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABOsAAAOpCAYAAABLq6OtAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAB7CAAAewgFu0HU+AACH0UlEQVR4nOzdd5RV1fk/4PcOvQiCdAvFhoIixi7FGjXGir1gN7EbjTHGKGhiSUxIs8SCWGLXWNBYgr33BqixgAVQREBA6jDn94c/5stluDDDzNxz8D7PWrOW59xzzn7nMozDO5+9dy5JkiQAAAAAgNSVpV0AAAAAAPA9zToAAAAAyAjNOgAAAADICM06AAAAAMgIzToAAAAAyAjNOgAAAADICM06AAAAAMgIzToAAAAAyAjNOgAAAADICM06AAAAAMgIzToAAAAAyAjNOgAAAADICM06AAAAAMgIzToAAAAAyAjNOgAAAADICM06AAAAAMgIzToAAAAAyAjNOgAAAADICM06AAAAAMgIzToAACDT7rzzzsjlcpHL5aJBgwYxevTotEsqKePHj698/3O5XHTr1i3tkqDOZPXre+bMmdGxY8fKus4666y0S6KINOsAaiBJkthhhx3y/oe+xhprxLffflur55aXl0ffvn3znrvBBhvEvHnz6qhyAErJ3Llzo2fPnnn/X+nTp08sWLBghZ+533775T2vbdu2MWnSpDqseum+++67OPPMMyuPjzzyyOjdu/cy7znyyCPzal3aR1lZWTRr1izatGkT66yzTmy77bYxePDguOSSS+LJJ5+M2bNn1/enRglasjG0+McZZ5xRq2e///77BZ89dOjQuvkEKJpVVlklzj///Mrjv/3tb/Hee++lWBHFpFkHUAO5XC6GDx8eLVq0qDw3YcKEWv9wdemll8Zbb71VeVxWVhYjRoyIJk2a1Oq5AJSmpk2bxvXXXx9lZf/34/4777wTF1988Qo976677op77rkn79xf/vKX6Ny5c63qrI7f//738cUXX0RERJMmTeLCCy+sk+cmSRJz586N6dOnx8cffxwvvPBC3HzzzfGb3/wmdthhh1httdVi3333jZEjR0aSJHUyJizLLbfcEuXl5St8/4033liH1dSvG264IYYOHVr5MX78+LRLyqTjjz8+1l577YiIWLBgQZx66qkpV0SxaNYB1FD37t3j0ksvzTt3/fXXx6OPPrpCzxs7dmz87ne/yzt3xhlnxFZbbbXCNQLANttsEyeffHLeuYsuuijefffdGj1nypQpVZ6z6667xhFHHFHrGpdn4sSJ8be//a3y+KijjorVV1+93seN+D6deO+998aee+4ZvXv3jv/+979FGZfSNXny5HjkkUdW6N6Kior417/+VccV1Z8bbrghLrjggsoPzbqla9SoUfzqV7+qPB41alQ8/vjjKVZEsTRMuwCAldFJJ50Ud999dzz99NOV544//vgYPXp0rLLKKtV+zsKFC+Poo4+O+fPnV55bb7316iw1AEBpu+SSS+LBBx+MTz75JCK+T2YcffTR8dJLL0WDBg2q9YxTTjklJk+eXHncqlWruOaaa+ql3iVdeOGFMWfOnIiIaNCgwQqv2bTuuusuNQU/b968mDZtWkyfPj0+++yzePnll2PixIlVrhs7dmz8+Mc/jhNPPDH++te/RqNGjVaoDliem266KX7605/W+L5Ro0ZVJlD5YTniiCPiggsuqPzedO6558aOO+6YclXUN806gBWwaDrsxhtvXLmmzWeffRZnnXVW/POf/6z2c/7yl7/Eyy+/XHm8aPprs2bN6rxmAEpP8+bN49prr42ddtqpcirna6+9Fn/605/i7LPPXu799913X9x+++155/74xz/GmmuuWS/1Lm7ChAlx/fXXVx7vueee0aNHjxV6VpcuXeLnP/95ta797LPP4l//+ldcccUVVRp3V155ZXzxxRdx9913l1TDrlu3bqYC16ONNtqoMvH6wAMPxPTp02PVVVet0TMWnwKby+WiV69eNmKppqx/fTdp0iR+/vOfV65f9/LLL8djjz0WP/7xj1OujPpkGizAClp77bWrrP1zzTXXxBNPPFGt+z/66KO8RWMjIk477bTYZptt6qxGANhhhx3iuOOOyzs3dOjQ+OCDD5Z537Rp0+KEE07IO7f99tvH8ccfX+c1Ls0//vGPvA0xijXuWmutFb/5zW9i/PjxMWTIkLx1/yK+b6b84he/KEotlIbFp5TPmzcv7rjjjhrdP2PGjLj33nsrj7fbbrvo2rVrndVH+o455pi8NPSwYcNSrIZi0KwDqIVTTjkl+vXrV3mcJEkce+yx8d133y3zviRJ4phjjqmc2hMRsc4668RFF11Ub7UCULouu+yyvDTc3Llz4+ijj46KioqC95x22mnx5ZdfVh43b948rrvuusjlcvVaa0TEnDlz4uqrr648XmONNYqeImnUqFEMHTo0HnzwwSobPl1xxRXWsKPO7LPPPnnLqNR0o4g777wz72fKYqwnSXF16dIldtttt8rjRx991M6wP3CadQC1UFZWFtdff33etNVx48bFr3/962Xed8UVV8QzzzxTeZzL5ao8BwDqSqtWrfKaXxERL7zwQvzjH/9Y6vUPPfRQ3HzzzXnnLrnkkhWehlpT//73v2P69OmVx4MGDaqScCuW3XbbbakpljPOOCPTU+dYeTRv3jz233//yuMXX3wxPvzww2rfv3hzr0WLFjFo0KA6rY9sWPxrJCJixIgRKVVCMVizDqCW1l133fj9738fZ555ZuW5K664Ivbff/8YMGBAles//fTTOOecc/LOnXLKKdG/f/96rxWA0rXbbrvF4MGD46abbqo8d+6558Yee+yR14T79ttv42c/+1nevdtuu22VHWHr0+I1RkTst99+RRt7aU488cQYOXJk3k6do0ePjlGjRsXOO++8Qs8cP358vPnmmzF58uT45ptvYpVVVokOHTrEJptsEuuvv36ta547d26MHj06xo4dG1OnTo1Zs2ZF48aNo2XLlrH66qtH9+7dY4MNNijq2nszZ86MZ555Jr744ouYMmVKtGjRItZee+3YZpttYrXVVqv38T/44IN49dVXY+LEiZEkSbRr1y423HDD2GKLLaq94Up9GTx4cN4ajTfddFP87ne/W+59H3/8cTz33HOVx/vuu2+0bNmyTmqaOXNmjB07Nj744IP45ptvYvbs2bHKKqtE27ZtY/3114++fftGw4bZbilMnDgxXnnllRg/fnzMmjUrmjVrFptvvvlSf0bPur322isaN25cuTHdLbfcEpdccknqX7vUkwSAWlu4cGGy9dZbJxFR+bHOOusk3333XZVrd95557zrevTokcyaNSuFqgEoNVOnTk06deqU9/+hHXbYIamoqKi85uijj857vWnTpskHH3xQtBqnTZuWNGjQoHL8Vq1aJeXl5TV6xhFHHJH3OQwcOLDWdY0aNSrvmRGRHHbYYTV6xrfffpsMHTo0WW+99ao8a/GP7t27J5deemkye/bsGtf5zjvvJIceemjSokWLZY4REUmzZs2SAQMGJMOGDUumTp1a8Jnjxo3Lu69r1641qunjjz9O9t9//6Rp06ZLraNBgwbJXnvtlYwePbrynoEDB+Zd8+STTy5zjGVdf9dddyUbb7xxwfehbdu2yUUXXbRC73dNLfleRkQyadKkpKKiIunevXvee7z438tCzjvvvLxnjRo1KkmSJNl9993zzg8ZMqRa9b388svJWWedlWy66aZJWVnZMr9+WrRokRxyyCHJO++8U61nL/lnVJOPESNGVHnekCFDCn6ODz30ULLNNtss9Vl77bVX3nNq8vV95pln5l3bpEmT5PXXX6/W57/IXnvtlfeMDh06JBMnTqzWvQMGDMi799lnn63R2Kw8TIMFqAOLdnFt2rRp5bmPPvoozj333Lzrrrvuurw1bhbtKtuiRYui1QpA6WrTpk1ceeWVeeeeeOKJuOaaayIi4rHHHstL90REXHDBBbHeeusVrcbHHnssFi5cWHncv3//TCRHdtxxx+jZs2feuYcffniZ6/4t7uabb44ePXrE0KFD43//+98yr120pMb6668fr7/+erVr/N3vfhd9+/aNW265Zbnr50Z8vzbgM888E2eccUY8/fTT1R6nJoYPHx69e/eOu+66K+bOnbvUaxYuXBj3339/bLrppnU6tW/OnDlx8MEHx/777x/vvPNOweumTp0a5557bgwcODC++eabOhu/JnK5XBx++OGVx59++uly/0ySJMmbrr7mmmvG9ttvv8I1HHTQQbHlllvGZZddFm+88cZyv7a/++67uPXWW6NPnz5x3nnnZWJa+IIFC+LYY4+N3XffPV544YU6f/6ll16atxncvHnzYv/9949vv/22WvcPGzYs7r///srjsrKy+Ne//hWdO3eu1v1L/vk+9NBD1bqPlY9mHUAdWX/99ePCCy/MO/f3v/+98geFCRMmxC9/+cu810888cTYbrvtilUiAMQ+++xTZe2jX/3qVzF27Ngqu8Zuvvnmecs8FMNjjz2Wd7z4Rk5pW/L/2d9880189NFHy7wnSZL47W9/G4MHD15qI6hBgwbRtm3bKptYRER8/vnnMXDgwHj88ceXW9sll1wS559/fl6jc5GGDRtGmzZtok2bNkVtfF599dVx3HHH5W1+sEiDBg2iTZs2eRuWzJ8/P4455pi46667aj12eXl57LvvvnH77bfnnW/SpEmsuuqqS73n1VdfjUGDBqXWdBo8eHDe8fI2mnj66adj/PjxlceHH354rdZ2XHydyMXlcrlo1apVwa+fJEni97//fZXp82k47rjjYvjw4Xnnlva1tqIaNmwYd9xxR9607U8++SSOPvro5d770ksvVVnX+txzz63RVPolvx8++uij1b6XlYtmHUAdOuOMM2LLLbesPK6oqIijjz465s6dGz//+c/zfuvWrVu3uPTSS9MoE4ASd/nll0e7du0qj2fMmBFbbLFFfPbZZ5XnGjduHNdff33RU20vv/xy3vHGG29c1PGXZauttqpy7u23317mPX/605+q7Pbeo0ePGDZsWIwdOzYWLFgQ33zzTcydOzfGjRsXw4YNi06dOlVe+91338WBBx4YX3zxRcExPv300xg6dGjeuXXWWSeuvPLK+Oijj2Lu3LkxderUmDp1apSXl8cXX3wRjzzySJx99tmx4YYbVuMzr7nXXnstTjrppLzGV6NGjeIXv/hFvPXWWzF//vyYOnVqzJ8/P5577rk44ogjIpfLRZIkcdxxx+XtRLwihgwZUrnGYM+ePeP666+PiRMnxty5c2PatGkxc+bMuPPOO6ukRp9++um44YYbajX2ilp77bXzmjF33313zJ49u+D1S9a5ZLNvRW2wwQbxy1/+MkaOHBnjxo2LhQsXxrffflv55/Xee+/F3/72t1h33XXz7rv22mvj1ltvLfjcM844I6666qq46qqrqtz7i1/8ovK1pX1svfXWy637rrvuqmxwtm7dOi688MLKv2NTp06NefPmxSuvvFLrNTDXWGONuPnmm/Oaf//+97/j73//e8F7pk6dGgceeGAsWLCg8tz2228fQ4YMqdHYffr0yTt+5513lvk1wkosxSm4AD9IY8eOTZo0aZK3nsRWW22Vd5zL5ZLHH3887VIBKGG33HLLMteIuuCCC4pe0+zZs/PWq4uI5LPPPqvxc+pjzbokSZI33nijyvt02WWXFbz+xRdfTBo2bJh3/UknnZTMnTt3meN8/fXXybbbbpt33+67717w+ksvvbTKzx01WQ/32WefTcaOHVvw9ZquWVdeXp707t077542bdokr7322jLve+CBB5LGjRsv9euxpmvWLfo4/vjjkwULFhS8b9q0aUmfPn3y7unbt+8yx6qNQmvWLXLttdfmvXbzzTcv9TmzZs1KWrZsmfdnvrgVWbPu73//e/LCCy9U+3OZO3ductxxx+WNs/baaycLFy5c7r01XZNwaZZcs27RR+/evau9BlySrPiajOecc07efY0bN05eeeWVKtdVVFRU+fPo2LFj3p97TSy57uhzzz23Qs8h2yTrAOrYBhtsUOW32y+99FLe8c9+9rPYYYcdilgVAOQ75JBDYs8991zqa3369Kmyc3kxfPjhh3nTOBs1ahSrr7560esopE2bNlXOLSsBdtZZZ0V5eXnl8c9+9rO4/PLLlzrldXHt2rWLBx54ILp27Vp57qGHHop33313qde/8cYbecdDhw6t0Xq4/fr1iw022KDa1y/PQw89FKNHj847d88998SPfvSjZd63xx57xBVXXFFndey5555x9dVXL3PH0lVXXTWuu+66vHNvvvlmfPzxx3VWR00ccMAB0axZs8rjQlNh77nnnpg1a1bl8RFHHFHrsU855ZRqJdgWadKkSVx99dV508M//vjjvF2Ti61Nmzbx2GOPVXsNuNr43e9+FwMHDqw8nj9/fhxwwAFVphP/8Y9/zFtbrqysLG655Za8BG1NdOvWLe/4vffeW6HnkG2adQD14KyzzorNN998qa+ttdZa8cc//rHIFQFAVSeccMJSz19//fXRqFGjIlcTeetvRUR07ty5Vmtw1bWlrXVWaCOHF198MZ577rnK49VXXz3+/Oc/V3ustm3bVvnl37XXXrvUa6dNm5Z33L1792qPUx8WbViyyAEHHFDtjQ+OOeaY2GyzzWpdQ6NGjard+Ntss81i0003zTv32muv1bqGFdGqVavYe++9K4+feOKJpU6BXryJ16RJkzjwwAOLUV4VuVwufvWrX+Wde+KJJ1KpJSLivPPOK0qjLuL7tfBuu+226NChQ+W58ePHx1FHHVV5/Nxzz8Vvf/vbvPvOP//82HHHHVd43DXWWCPveMnvm/wwZOf/fAA/IA0aNIgRI0ZE48aNq7x23XXXxSqrrJJCVQDwfxYsWBBnn332Ul9b1s6Z9WnixIl5x4v/IzgLWrZsWeXc/Pnzl3rtkmt3HX300TXe/X3QoEF5qbBCu4Mu2URMq9EU8f3GDks2a44//vhq35/L5Wp0fSG77757labGsmy77bZ5x++//36ta1hRi689V1FREf/617/yXv/ss8/iySefrDzeY489lpr6LJYl13Jcct3JYmnUqFGdJAxronPnznHLLbfk/VLhvvvui7/85S/x9ddfx0EHHZSXrt1hhx3ivPPOq9WYS35fXPL7Jj8MhfPAANRKr169YtCgQXHbbbdVntt6661rtOMTANSXiy++uGBT7owzzojddtstOnbsWNSaFp/WFxF50wGzYObMmVXOFZrSumRjbZdddqnxeKusskqsu+66ldPcRo8eHbNmzarSNNxiiy3ydlD9xS9+EV26dEllx/m33347b/fXZs2a1biO3XbbrdZ1LD49sTp69OiRd1xoZ9Ri2HnnnaNz584xadKkiPg+Rbf4LqI33XRT3sYd9dmgmj17dowZMyYmTZoUM2fOjO+++y4qKiqWec/iG9UUU58+faJt27ZFH3ennXaK8847Ly644ILKc2effXbceuutMWHChMpznTp1iltvvbXWaeHmzZvnHS/5fZMfBs06gHq0ZLJuaUk7ACi20aNHx8UXX1zw9WnTpsVJJ50Ud999dxGrirwmT0RE06ZNizr+8iy+q/siS/7DOeL7qbFLrtn2/PPPF1xzblnmzZtX+d8VFRXx1VdfVWnWHX744TFkyJDKXSEnT54c22+/fWyxxRax//77x8477xwbbbRRUaYUL5lI6927d413FF5jjTWiXbt2MWXKlBWuY8l1vZZnyVkPM2bMWOGxa6tBgwZx2GGHxWWXXRYR37+nr776auUSKzfddFPltR06dIhdd921TsefMGFCjBgxIu68884YM2bMcptzS0qr0bnRRhulMm7E91Nbn3vuuXj88ccj4vvk8uIJ17Kysrj11lvr5BcgS/4Sw26wP0yadQAAUEIWLlwYRx11VN70zXXXXTeOP/74OOussyrP3XPPPXHvvffGPvvsU7Tallwnb/HpY1kwderUKueWtj7W5MmT85JPEVFwyvGK1LD22mvnnevYsWNcc801MXjw4LzGyiuvvBKvvPJKRHw/VXaLLbaIAQMGxPbbbx9bbbVVvTTvllw/b0XXD+vUqVOtmnWtW7eu0fVLNhQX3+gkDUcccURlsy7i+3Td5ptvHs8//3x8+OGHlecPPfTQZW6gURNJksSll14av//972vVAFpaArUY0kjVLbJo04i+fftWJiIXN3To0Gqv27g8CxYsyDtOY31R6p816wAAoIT86U9/ykt85HK5GD58eJx55pnRr1+/vGtPOumkoqZklkypLZm0S9vbb79d5dziO7YusrSmXl0p1EQ59NBD4z//+U+VRt4i06dPj8ceeyx++9vfxrbbbhtrrrlm/PrXv47JkyfXaX1Lpg9XdJ3eVq1a1aqOXC5Xq/vT1qtXr7zdc2+//faYP39+ld1h63IK7HHHHRe/+c1vap3UWrJRXSxLW1OymDp27BinnHJKlfObbLJJnHvuuXU2zpJ/PjVdC5OVg2YdAACUiA8++KDKDqMnnnhi9O/fP3K5XFx33XV5a7BNmjQpzjzzzKLVt9pqq+UdL23aaZqWtnD+JptsUuVcoU0n6sKyGiG77LJLvPfee3HnnXfGPvvss9TdaxeZOHFi/OEPf4gePXrEDTfcUGf1LbmG34q+F/X5Hq4sFm/EffPNN3H33XfHnXfeWXmuT58+0adPnzoZ66abborhw4fnnWvZsmUcffTRceONN8Yrr7wSEyZMiJkzZ8aCBQsiSZK8DyI+/vjjuPTSS6ucf/fdd+P555+vs3GWnKKdZqKQ+qNZBwAAJaCioiKOOeaYmDt3buW5rl275v3jcv3114/zzz8/777rr7++ch2m+rZkSm3xxdmzYPEdOCO+Xy9saUm2Jf/x3Lhx41i4cGGVBseKfCxvs4ZGjRrF/vvvH//+97/jm2++iTfffDP+8Y9/xIEHHrjUKanfffddHHXUUXH99dfX/A1ZiiUbhCvacM1aozYNBx98cN4Ux1NPPTXvfamrVF2SJFV2KN1hhx1i/PjxMXz48Bg8eHBsvvnm0aVLl2jZsmWVabc2OPh+bckDDjhgqWsdLly4MA4++OD4+uuv62SsJb8v1nR9RlYOmnUAAFAC/v73v1dJd1xzzTVVpo796le/ir59++adO+6444qyiPmSO3LOmDEj1YX+F/ff//43/ve//+Wd+8lPfrLU6Zbt27fPO54/f3588cUX9Vrf0pSVlcUmm2wSJ598ctx+++0xYcKEeO211+KEE06oss7VL37xizqZvtupU6e84w8++KDGz5g3b16MHz++1rWs7Nq1axc/+clPKo+/+eabyv9u2LBhHHLIIXUyzuuvv563g+uqq64ad999d5WkayG1WVvwh+KMM86IN954o/K4RYsWeZtJTJgwIQ4//PA6SSEu+b1kye+b/DBo1gEAwA/cJ598UmXNpKOOOip+/OMfV7m2YcOGMXz48Lz0zLhx4+K3v/1tvdfZpUuX6NChQ9659957r97HrY4//elPVc4deeSRS722bdu2sdZaa+Wde+aZZ+qjrBrJ5XLxox/9KK688sp46qmn8hp2M2bMiJEjR9Z6jEU7li7y6aefxpdfflmjZ7zxxhtVFtEvVYXSc7vsskud7CwaEfHOO+/kHe++++7Rpk2bat//6quv1kkdK6u77rorrrzyyrxzV155Zdx22215m7g8+uijS50mWxPz58+Pjz76KO/ckr9c4YdBsw4AAH7AkiSJY489Ni8Z17lz5xg2bFjBe/r27Ru//OUv88797W9/W+qabXVt8UX1I6o2EtJwxRVXxGOPPZZ3btNNN42BAwcWvGennXbKO158rbEs2GabbWLffffNO1cX73XHjh2je/fueeduv/32Gj3j1ltvrXUdPxQ//elPl5pwq8uNJZbcZGTJRvPyrEiTd8mptGnvvruiPv744zj22GPzzh111FExePDg2H777assK3DeeefFs88+u8Ljvffee3mN7Pbt2y91kxtWfpp1AADwA3b11VdXWWvtqquuWubmAxERQ4YMifXXX7/yeNGad/W98P+SDbDFd65NwyOPPFJlk41cLrfMZmdExH777Zd3PHLkyMwlkJZsqn333Xd18twlp2cOGzas2s/+/PPP63TDi5Vdo0aN4oILLogDDzyw8uOQQw6JPffcs87GaNy4cd5xTXaA/vzzz+OOO+6o8ZhL7hKclenuNTFv3rzYf//982rv3bt3XH755ZXH5513Xl7jftH6dSs6dfj111/POx4wYMAKPYfs06wDAIAfqM8//zx+9atf5Z078MADY6+99lruvU2bNo3rrrsub022MWPGxMUXX1zndS5ut912yztestFYLAsWLIgLLrggdt9995g3b17ea2eeeeYyU3UR338eS04JPeSQQ/LWHaupQutdlZeXr9Dz3n///bzjJdebW1HHH398NGjQoPL4888/j5NOOmm563XNnTs3jjjiCBsWLOGkk06K22+/vfLjlltuqbLrbm2sscYaecePPvpotZJuCxcujMGDB69QA3/JKbxZme5eE6effnq8+eablcctWrSIO++8M5o3b155rqysLP71r3/l/d2qzfp1S34/XHxNQ35YNOsAAOAH6vjjj4+ZM2dWHrdr1y7+8Y9/VPv+fv36xYknnph37pJLLokxY8bUWY1L2njjjfOmdX344Yfx+eef19t4S/r888/jkksuiW7dusXQoUOjoqIi7/UDDjig2utO/elPf8qb7vfRRx9Fv379ajTdNEmSePLJJ2OvvfaK++67b6nXbLTRRvH73/++ynTGZfnPf/5TZfri9ttvX+37l2WttdaqMo36xhtvjAMPPLBgjR9//HHsuuuulc2Ipk2b1kktLN/AgQPzmvKffPJJld1hl/Tdd9/FoEGD4qmnnlqhMZdcZ+2mm26qs2RnMdx5553xz3/+M+/cVVddFRtssEGVazt27Bi33XZbXgP7kUceiT/84Q81HnfxZl1ZWZlm3Q9Yw+VfAgAArGxuuOGGeOSRR/LO/f3vf6+yU+nyXHrppTFy5MjK3SLnz58fxxxzTLzwwgt5i6fXpUMOOSQuueSSyuP7778/Tj755BV+3sSJE6v8wzri+2ls06dPj+nTp8fnn38eL730UkyYMKHgc375y1/GpZdemveP7mUZMGBADBs2LE499dTKc++//35suummsc8++8QhhxwS2267bd6mGgsWLIhPPvkk3n777XjmmWfivvvuq6zp8MMPX+o4kyZNivPOOy+GDh0aAwYMiD322CM222yz2GijjfKmO3/33Xfx+uuvx8033xwjRozIS0/17du3TqfUXXDBBfHwww/nNSbvuuuuePDBB2PXXXeNTTbZJNq0aRNTpkyJl156KZ588snKtbh22223mD17djz99NOV9y5t113qRseOHWPvvfeOe++9t/Lcoqb8L3/5y9hqq60qNyP59NNP4/77748//vGPlV+XAwYMqPEGKj/5yU+irKysshn+wQcfRM+ePWOvvfaKtddeO5o1a5Z3/fbbb583LT9NH374YZV16o455piCfz8jIrbbbrsYMmRI3hp25513XvTr1y/69etXrXFfeeWVvO9PO+20U52lYcmgBIB6c8QRRyQRUfkxcODAtEsCoARMmjQpadOmTd7/g/bYY48Vft7DDz+c96yISIYNG1aHFed77733avX/zyX//1vbjz59+iRPP/30Cn8+l156adKgQYOCz2/UqFGy2mqrJc2bN19mHXfddddSn9+6detlPrtdu3ZJq1atCl7Tpk2bZPTo0QXrHzduXN71Xbt2rdbn/dVXXyW9evWq0Xu90UYbJVOnTk0GDBiQd/6ll15a5lgDBw7Mu/7JJ5+sVo2LjBgxIu/+I444okb3V9eS72VEJJMmTarzcXbfffe8MYYMGbLM6z/88MNk1VVXXeqfScOGDZPVVlstady4cZXXVl999eTzzz+vcr46jjzyyGp/XYwYMaLK/UOGDKnR51hITb6+586dm2yyySZ51/fu3TuZPXv2csdZuHBhsvPOO+fdu8YaayRff/11teo866yz8u7917/+Vd1PkZWQabAAAPADc8IJJ8S0adMqj1u3br3UZFl17brrrlVSI7/97W9j3LhxK/zMZenZs2dst912lcfPPvtsZbKvWJo1axb77bdf/Oc//4m33nqrVqmzs88+Ox555JEqGzossmDBgvjmm2/yduxdUvv27WP11Vdf6mvLSp0tWLAgpkyZUnAB/969e8fzzz8fvXr1WsZnsGI6dOgQzz77bBxzzDHVSsYdcMAB8eyzz0abNm2q1Lu8DVGonXXWWSfuv//+pe48W15eHt98802Vtel69uwZTz31VJU176rr8ssvr9b6mVly2mmnxVtvvVV53KJFi7jrrruqJAGXZtH6dZ07d64898UXX8TgwYOXu35dRUVF3kYe7du3j0GDBtX8E2CloVkHAAA/ILfffnuVtc3+/Oc/R5cuXWr13L/+9a95i8LPnj07jjvuuFo9c1kW34G1oqIihg8fXqfPz+Vy0aRJk2jdunX06NEjttlmmzj88MPjkksuiSeffDKmTp0ad911V5UNL1bUTjvtFP/73//ixhtvjH79+lVOK1yWrl27xtFHHx33339/TJw4MbbeeuulXvf+++/H8OHDY//996/Wn3Mul4ttt902rrvuunjrrbeWus5WXWnTpk1cd9118fbbb8c555wTP/rRj6Jjx47RsGHDaNWqVWyyySZxyimnxGuvvRZ33HFHtG7dOiKiytp2bdq0qbca+d6AAQPizTffjCOPPHKZX59dunSJiy66KN58881YZ511Vni8Fi1axH333RfPPvtsnHzyybH11ltHhw4dqtX4SsMdd9wRV199dd65f/7zn9GzZ89qP6NDhw5x66235k2lf/jhh5e7ft3DDz+c9wuLE0880bqOP3C5ZHktXAAAgCJLkiR69+4dY8eOjYiI1VdfPcaNG1etJtfKYPbs2fHyyy/HF198Ed98803MmjUrWrRoEa1bt47u3bvHBhtssMLrUX3xxRfxv//9L8aNGxfTp0+P2bNnR7NmzaJ169axzjrrRJ8+faJt27Z1/BnVnUmTJuU1HVdbbbWYMmVKihWVnpkzZ8bzzz8fH3/8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QEZo1gEAAABARpTUNNg2rWenXQIAAAAAFCRZBwAAAAAZUVLJuqdntE+7BACAolon7QIAAKgRyToAAAAAyIiSStZt3WRa2iUAAAAAQEGSdQAAAACQEZp1AAAAAJARJTUNdtWOs9MuAQAAAAAKkqwDAAAAgIwoqWTdN5Napl0CAEBRdUm7AAAAakSyDgAAAAAyIpPJuo8//jimTJkS3bp1i44dO9bZc9+f26rOngUAsDLYKO0CAACokaIm677++uu48sor48orr4xvv/22yusfffRR/OhHP4r11lsvttlmm1h99dVjv/32i+nTpxezTAAAAABIRVGbdffcc0+cfPLJ8Y9//CNat26d99q8efNit912i7feeiuSJIkkSaKioiLuvffe2HvvvYtZJgAAAACkoqjTYB977LHI5XIxaNCgKq/dcMMN8fHHH0cul4s999wzdtxxxxg1alSMHDkynn322bjzzjvjgAMOqNX45bla3Q4AAAAA9aqoyboPPvggIiK22GKLKq/ddtttERGxww47xH333RennHJK3H///bHTTjtFkiSVrwMAAADAD1VRk3Vff/11RER06dIl7/ycOXPixRdfjFwuF8cff3zea0cffXSMGjUq3njjjVqPv2mrqbV+BgAAAADUl6Im6xZtFFFWlj/sSy+9FAsWLIhcLhc77bRT3mvdu3ePiIjJkycXpUYAAAAASEtRk3UtW7aMb7/9Nr788su880899VRERGy44YbRpk2bvNcaNWoUERENG9a+1CnTW9T6GQAAK5P10y4AAIAaKWqyrmfPnhER8cgjj+Sdv+eeeyKXy8XAgQOr3LOosdexY8f6LxAAAAAAUlTUZN3uu+8eL730UlxzzTWxwQYbRP/+/eOGG26IsWPHRi6Xi3333bfKPYvWqltjjTWKWSoAAAAAFF1Rm3Unn3xyXHnllTFp0qQ4+eST817beuutY/vtt69yz8iRIyOXy0X//v1rPf4TTZrU+hkAACuTbdMuAACAGinqNNjWrVvHqFGjYtNNN40kSSo/+vfvH3feeWeV699+++149dVXIyJi5513LmapAAAAAFB0RU3WRURssMEG8dprr8W4cePiyy+/jM6dO0e3bt0KXj9ixIiIiNhmm21qPfbmcxfW+hkAAAAAUF+K3qxbpHv37tG9e/dlXtOnT5/o06dPkSoCAAAAgHQVdRos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HBnjx4+PXC4XO++8c63Hv2TWm7V+BgDAyuTktAsAAKBGckmSJGkXUci0adNixowZERHRtWvXWj9v9Ta9av0MAICVyYRpY1IZd8GUT1IZl4hmXfqnXQIAlJzy+RPq7FlFTdbVVJs2baJNmzZ19rwDWm9UZ88CAAAAgLpW1DXrAAAAAIDCUkvWlZeXx/333x+jRo2K0aNHx9SpUyMiom3bttG7d+/YaaedYq+99oqGDTMd/gMAAACAOpPKmnX33XdfnHLKKTFx4sTKc4vKyOVylec6d+4cl19+eey99951Mm7rlmvXyXMAAFYW3876OJVxrVmXHmvWAUDx1eWadUWfBvuXv/wlBg0aFBMnTqxs0HXr1i222mqr2HLLLaNbt24R8X3zbuLEiTFo0KD461//WuwyAQAAAKDoipqse+mll6Jfv35RUVERrVq1inPPPTeOOuqoaNeuXd51U6ZMiREjRsTFF18c3377bTRo0CCee+652HLLLWs1/s+67V+r+wEAVjZXj78rlXEl69IjWQcAxbfSJuuGDRsWFRUV0bp163jhhRfirLPOqtKoi4ho165dnHXWWfHCCy9E69ato6KiIoYNG1bMUgEAAACg6Iq6e8Nzzz0XuVwuzj777Nhwww2Xe/0GG2wQZ599dvzmN7+JZ555ptbj3z7ljVo/AwBgZXJ12gUAAFAjRU3WTZs2LSIitt9++2rfs+ja6dOn10dJAAAAAJAZRW3Wde7cOZV7AQAAAGBlUNRpsDvttFMMHz48nn766WpvFvHUU09FRMQOO+xQ6/EbNyjqpwsAAAAANVLU3WA/+OCD+NGPfhSNGzeOl156KdZbb71lXv+///0vttpqq1iwYEG89tprsf7669dq/Pata3c/AMDK5utvP0hlXLvBpsdusABQfHW5G2xRo2brr79+3H333XHIIYfEVlttFeeff34MHjw42rZtm3fdtGnT4qabborf/e53ERFx55131rpRFxFxeJu+tX4GAAAAANSXeknWLW/K6oQJE+LDDz+MXC4XuVwuunfvHh06dIhcLhdfffVVjBs3LhaVte6660aXLl0il8vF448/Xqu6zuh2UK3uBwBY2Qwbf3sq40rWpUeyDgCKry6TdfXSrCsrK4tcLhdLe3Qul4uIWOprS7PoOblcLhYuXFirurZevfq70AIA/BC8OOHJVMbVrEuPZh0AFF/mp8EOGDCgsikHAAAAAFRPvTTrFu3gCgAAAABUX1E3mEjbPg1XT7sEAAAAACgotWbdl19+Gd98803MmDEjWrVqFauttlp06tQprXIAAAAAIHVFbdY99NBDMWLEiHjuuefi66+/rvJ6+/bto1+/fnHUUUfF7rvvXufjXzv7vTp/JgBAlv0q7QIAAKiRetkNdknvvPNOHH744TF69OiIWPZOsIs2pujVq1fcfPPN0adPnzqrY932P6qzZwEArAw+/Pr1VMa1G2x67AYLAMWX+d1gF3fPPffEYYcdFvPnz69s0jVv3jz69OkTHTt2jBYtWsSsWbPiq6++infeeSdmz54dERGjR4+OrbbaKm6++ebYb7/96qSWA1qsXyfPAQAAAID6UK/Nuueffz4OO+ywmDdvXkRE7L777nHqqafGjjvuGGVlZVWur6ioiP/+97/xj3/8I/7zn//EvHnz4vDDD49OnTpFv3796rNUAAAAAEhd1Y5ZHamoqIif/exnMW/evGjSpEncdtttMXLkyNh5552X2qiLiCgrK4tddtklHnzwwbj11lujcePGMW/evPj5z38eFRUV9VUqAAAAAGRCvSXr7r777hg7dmzkcrm46aabYv/996/R/QcddFCUlZXFQQcdFO+9917cfffdccABB9SqpmcXfFWr+wEAAACgPtVbsu6BBx6IiIgdd9yxxo26RQ444IDYYYcdIiLi/vvvr7PaAAAAACCL6i1Z9+qrr0Yul4uDDz64Vs859NBD44knnohXX3211jW9NX1crZ8BAAAAAPWl3pJ1X331/ZTT9dev3Q6sPXv2zHseAAAAAPxQ1VuybsGCBRER0bhx41o9p1GjRhERUV5eXuuaNlm1e62fAQAAAAD1pd6SdR06dIiIiE8//bRWz1l0f/v27WtdEwAAAABkWb016zbccMOIiBg5cmStnrNoo4pevXrVuiYAAAAAyLJ6mwa7++67x8MPPxy33XZb/PKXv4zevXvX+BnvvPNO3HbbbZHL5WL33XevdU0tGzSp9TMAAAAAoL7UW7LusMMOi9VWWy3Ky8tjjz32iHHjarYT6yeffBJ77rlnlJeXR9u2beOwww6rp0oBAAAAIBvqLVnXqlWruOSSS+L444+Pzz77LDbZZJMYOnRoHHvssbHKKqsUvG/mzJlx7bXXxgUXXBAzZ86MXC4XF110UbRq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uVTr2G677SKXy8V2222Xah0AAACUBs06AAAAAMgIzToAAAAAyAjNOgAAAADIiIZpFwAAAGm48MILIyLixBNPjHbt2lXrnmnTpsU//vGPiIg4//zz6602AKB0SdYBAFCShg4dGhdccEFMnjy52vdMnTq18j6A+lJRURFfffVVfPfdd2mXUpKefPLJ2GGHHWLHHXdMuxRKlGYdsFKYPn16DBkyJHr16hUtW7aMtm3bxnbbbRe33HJLwXvmz58fI0eOjJNPPjk233zzaNOmTTRq1ChWW2212HLLLWPo0KExZcqUWtU1bdq0GDFiRBx22GGx4YYbRsuWLaNx48bRqVOn2GWXXeKaa66J+fPnF7x//Pjxlbve3nDDDRER8d///jf22GOP6NSpUzRp0iS6d+8eJ5xwQnzxxRfVqun555+PY489NtZff/1o1apVtGzZMnr27Bl777133HTTTTFjxoyC937xxRdxzjnnxKabbhpt2rSJpk2bxlprrRUHHnhgPPnkkzV6bwCgrj3//PNx9NFHxzHHHJN2KSu1t99+O/7973/HfffdF++//3617/v666/jwgsvrEylUnMPPfRQnH322XHaaafFVVddVeXnsokTJ8Zhhx0WrVu3ji5dukSrVq2iR48eMXTo0JgzZ05KVZeeyZMnx1NPPRVPPfVU2qWUjMmTJ8cll1wSu+66a2y00Uax0UYbxS677BIXX3xxTJo0Ke3yii8ByKAhQ4YkEZFERPLJJ58ka6+9duXxkh/77bdfsmDBgirPOOKIIwres+hjtdVWS5577rmCdQwcODCJiGTgwIFLfb1r167LHaNv377JpEmTlnr/uHHjKq8bMWJEcvbZZxd8Tvv27ZOxY8cWrHX27NnJwQcfvNx6hgwZstT7r7vuuqRZs2bLvPeYY45Z6nsNsDLK5XJJWVlZMmbMmGrf89577yW5XC5p0qRJPVZGITfccEPlnxs198gjjyTrrrtuUlZWlvex8cYbJw8++OBy7x89erT3fwVNnTo16devX5X3vkOHDpU/i3711VdJ165dk7KysiSXy1V+LLq2T58+yZQpU1L+TErD7bff7mu9jtx4443JjTfemHz77bcFr7n22muTli1bVvn7seijefPmyVVXXVXEqtNnzTog8w488MAYN25c/PznP4/99tsvWrduHe+880784Q9/iP/9739x9913R+fOnePvf/973n3l5eXRo0eP2GeffWKLLbaItdZaKxo2bBiffvppjBo1Kq6//vr45ptvYp999onRo0dHhw4dalzbwoULY8stt4yf/vSn0bdv3+jYsWPMnz8/xo0bF//617/ikUceiTfffDMOOuig5f5m7tprr40XXnghBg4cGD/72c9ivfXWi+nTp8dNN90UN910U3z99ddx9NFHx4svvljl3oqKithrr73iv//9b0RErLvuunHiiSfGZpttFs2bN49JkybFCy+8EHfeeedSx77++uvj2GOPjYiI3r17x89+9rPo27dvNG/ePMaNGxfDhw+P//znPzF8+PBo3bp1/PnPf67xewXwQ/DWW29FRET79u3TLQRq6K677opDDz00Fi5cGEmS5L02evTo2HPPPePII4+Myy+/PJo1a5ZSlT9c++67bzz//PNVzn/99dexzz77xNixY+PYY4+Nzz77LJo3bx7bbrtttG/fPiZMmBAvvvhizJ8/P9599904+uij4/7770/hM1h59ejRo8b3LD79eMn7c7lcfPzxx7Wuq1QceeSRkcvlYrPNNosNN9ywyuvXXHNNnHDCCRERkSRJ5HK5aNeuXSRJEt98800kSRJz5syJk046KRo1alQ6yep0e4UAS7d4si4ikltvvbXKNTNmzEj69OmTRERSVlaWvPPOO3mvf/TRR0lFRUXBMd55552kZcuWSUQkv/3tb5d6zfKSdf/73/+W+Xlcf/31lZ/DqFGjqry+eLIuIpLjjjtuqTUfe+yxlde88cYbVV7/61//Wvn6Pvvsk8ydO3ep9SxcuDCZMGFC3rnPPvssad68eRIRyRFHHFEwOfeb3/ym8r3+4IMPlvl5A2TRot/uL/pYlJq4+OKLq7y25Mc111yTnH322Un79u2TsrKyZJ999kn70ylJknUrZtKkSUmrVq0q37v99tsvueKKK5Jhw4Yle+21V9KwYcPK17bYYouC6S3JuhVz//33V75vgwYNSl5++eVk9OjRyW9+85vK5NBpp52WNGjQINlzzz2rvP9ffPFF0r9//8pnvPDCCyl9JiunRe/b4mnF2nz4+q+ZZaXYJ0yYkDRr1izJ5XJJ48aNk4suuiiZPHly5euTJ09Ofve73yVNmjRJcrlc0rJly+Trr78uZvmpySXJEr9WAciAxRfv/ulPfxojR45c6nWvvPJKbLnllhHx/W5+V1xxRY3G+cUvfhF//etfo3fv3vHuu+9WeX277baLp59+OgYOHLjCa1Zsuumm8eabb8bJJ59cuYPgIuPHj4/u3btHRETnzp1j3Lhx0aRJkyrP+OCDD6Jnz54REfG3v/0tTj311MrXKioqYq211ooJEybE6quvHu+//360bNmy2vX98pe/jD//+c/RpUuX+Pjjj6Np06ZLva68vDy6desWEyZMiHPPPTd+//vfV3sMgCwoKyuLXC5Xebzox+DFzy1PkiRRVlYWjz/+eAwcOLDOa/yheuaZZ+rkOQ8//HD84Q9/iFwuFwsXLqyTZ5aCCy64IC644IJo2LBh3H333bHnnnvmvf7222/HscceG6+//nrkcrno2bNnjBo1Kjp37px33ZgxY2KjjTby/tfQQQcdFHfeeWdstNFG8dZbb+V9zznmmGNixIgRkcvlYt1114133nknGjduXOUZM2bMiJ49e8ZXX30VJ554YpWfKSls0ff+VVZZJdq0aVOte7777ruYMmVK5HK5WGuttaq8Pm7cuLou8wdr0fv/7rvvVknWnXfeeXHRRRdFWVlZPPDAA/GTn/xkqc948MEHY6+99oqIiIsuuih+/etf13vdaTMNFsi8o446quBrW2yxRfTq1SvGjBkTo0aNWuZzpk2bFlOnTo25c+dW/gNt1VVXjYiIsWPHxoIFC6JRo0YrXGeSJPHVV1/FjBkz8jaV6NKlS7z55pvx9ttvL/P+/fbbb6mNuoiI9ddfP1q2bBmzZs2KTz75JO+1t956KyZMmBAREccdd1yNGnURUTmVYo899ijYqIuIaNiwYWy99dZx9913L3UqLsDKYGm/p67u764bN24cm2++eZxzzjkadTW03Xbb1agpSt169NFHI5fLxbHHHlulURcR0adPn3j++efjpJNOiuHDh8f7778f/fr1i8cffzy6detW/IJ/YF599dXI5XLxs5/9rMrfg+OOOy5GjBgREREnnHDCUht1ERGtWrWKY445Ji666KJ4+eWX673mH5Ju3brF+PHjY8GCBXHsscfG2WefHQ0bLrsVcscdd8TBBx8cERpz9WnUqFGRy+Viv/32K9ioi/g+vDFo0KC4++674/HHH9esA8iCzTfffJmvb7HFFjFmzJj48MMPY/78+Xk/5Lz77rvxl7/8JR5++OH48ssvCz6joqIipk2btkLr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",
"text/plain": [
"
"
]
},
"metadata": {
"image/png": {
"height": 468,
"width": 629
}
},
"output_type": "display_data"
}
],
"source": [
"twoway_treatment = ols('balance ~ C(hand) * C(skill)', data=df.to_pandas())\n",
"plot_design_matrix(twoway_treatment, plot_names=['intercept','b1','b2','b3','b4','b5'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If we add up the rows of our design matrix, ignoring the intercept, our columns do **not** sum to zero!"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([300., 100., 100., 150., 50., 50.])"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"twoway_treatment.exog.sum(axis=0)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can also see this by inspecting the coding matrix that `ols` is using like we did in a previous notebook. This shows the mapping between each level of our categorical predictor and the corresponding reprsentation in the model, like a mini design-matrix. \n",
"\n",
"You can see that it matches the design matrix above (without the intercept)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[1., 0., 0., 0., 0.],\n",
" [0., 1., 0., 0., 0.],\n",
" [0., 0., 1., 0., 0.],\n",
" [0., 0., 0., 1., 0.],\n",
" [0., 0., 0., 0., 1.]])"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from patsy.contrasts import Treatment\n",
"\n",
"# All dummy-coded levels of our 2 categorical variables\n",
"levels = twoway_treatment.exog_names[1:]\n",
"\n",
"# Generate the coding matrix\n",
"treatment_codes = Treatment().code_with_intercept(levels).matrix\n",
"treatment_codes"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"And that it fails out first requirement: rows sum-to-zero"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([1., 1., 1., 1., 1.])"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"treatment_codes.sum(axis=0)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"And our second requirement: the overall sum across columns should be zero"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"np.float64(5.0)"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"treatment_codes.sum(axis=1).sum()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's compare this to *deviation/sum* coding"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABOsAAAOpCAYAAABLq6OtAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAB7CAAAewgFu0HU+AACGtUlEQVR4nOzdd5RV1fk/4PcOvQiCVFEBSyygiLGLYI0aYwv2AvbEblRijAXU2KIhzRILYoldY0FjCfbeUQErgiigSFOQzpzfH/6YL5fhAsPM3HPwPs9as5bn3HPOfucyjMM7n713LkmSJAAAAACA1JWlXQAAAAAA8CPNOgAAAADICM06AAAAAMgIzToAAAAAyAjNOgAAAADICM06AAAAAMgIzToAAAAAyAjNOgAAAADICM06AAAAAMgIzToAAAAAyAjNOgAAAADICM06AAAAAMgIzToAAAAAyAjNOgAAAADICM06AAAAAMgIzToAAAAAyAjNOgAAAADICM06AAAAAMgIzToAAAAAyAjNOgAAINPuvffeyOVykcvlok6dOjF8+PC0SyopY8aMqXj/c7lcdOrUKe2SoMZk9et7+vTp0bZt24q6+vXrl3ZJFJFmHUAVJEkSO+20U97/0NdYY4347rvvqvXc+fPnR/fu3fOeu+GGG8acOXNqqHIASsns2bNjgw02yPv/Srdu3WLevHkr/Mz9998/73ktW7aMCRMm1GDVS/bDDz/EmWeeWXF85JFHRteuXZd6z5FHHplX65I+ysrKolGjRtGiRYtYd911Y7vttos+ffrEZZddFs8++2zMnDmztj81StDijaFFP84444xqPfujjz4q+OwBAwbUzCdA0ayyyipxwQUXVBz//e9/jw8//DDFiigmzTqAKsjlcjFo0KBo0qRJxblx48ZV+4eryy+/PIYNG1ZxXFZWFoMHD44GDRpU67kAlKaGDRvGzTffHGVl//fj/vvvvx+XXnrpCj3vvvvuiwceeCDv3F//+tdo3759tepcHn/605/iq6++ioiIBg0axEUXXVQjz02SJGbPnh3Tpk2LUaNGxSuvvBK33357/PGPf4yddtopVltttfj1r38dQ4YMiSRJamRMWJo77rgj5s+fv8L333rrrTVYTe265ZZbYsCAARUfY8aMSbukTDr++ONjnXXWiYiIefPmxamnnppyRRSLZh1AFXXu3Dkuv/zyvHM333xzPPnkkyv0vJEjR8bFF1+cd+6MM86IrbfeeoVrBIBtt902Tj755Lxzl1xySXzwwQdVes6kSZMqPWf33XePvn37VrvGZRk/fnz8/e9/rzg+6qijokOHDrU+bsSP6cQHH3ww9t577+jatWv873//K8q4lK6JEyfGE088sUL3lpeXx7///e8arqj23HLLLXHhhRdWfGjWLVm9evXi97//fcXx0KFD4+mnn06xIoqlbtoFAKyMTjrppLj//vvj+eefrzh3/PHHx/Dhw2OVVVZZ7ucsWLAgjj766Jg7d27FuZ/97Gc1lhoAoLRddtll8eijj8bnn38eET8mM44++uh47bXXok6dOsv1jFNOOSUmTpxYcdysWbO44YYbaqXexV100UUxa9asiIioU6fOCq/ZtN566y0xBT9nzpyYOnVqTJs2LcaOHRuvv/56jB8/vtJ1I0eOjF/84hdx4oknxt/+9reoV6/eCtUBy3LbbbfFr371qyrfN3To0IoEKj8tffv2jQsvvLDie9O5554bO++8c8pVUds06wBWwMLpsJtssknFmjZjx46Nfv36xb/+9a/lfs5f//rXeP311yuOF05/bdSoUY3XDEDpady4cdx4442xyy67VEzlfOutt+Kqq66Ks88+e5n3P/TQQ3H33Xfnnfvzn/8ca665Zq3Uu6hx48bFzTffXHG89957x9prr71Cz1p99dXjt7/97XJdO3bs2Pj3v/8d11xzTaXG3bXXXhtfffVV3H///SXVsOvUqZOpwLVo4403rki8PvLIIzFt2rRYddVVq/SMRafA5nK56NKli41YllPWv74bNGgQv/3tbyvWr3v99dfjqaeeil/84hcpV0ZtMg0WYAWts846ldb+ueGGG+KZZ55Zrvs/++yzvEVjIyJOO+202HbbbWusRgDYaaed4rjjjss7N2DAgPj444+Xet/UqVPjhBNOyDu34447xvHHH1/jNS7JP//5z7wNMYo17lprrRV//OMfY8yYMdG/f/+8df8ifmym/O53vytKLZSGRaeUz5kzJ+65554q3f/999/Hgw8+WHG8ww47RMeOHWusPtJ3zDHH5KWhBw4cmGI1FINmHUA1nHLKKdGjR4+K4yRJ4thjj40ffvhhqfclSRLHHHNMxdSeiIh11103LrnkklqrFYDSdeWVV+al4WbPnh1HH310lJeXF7zntNNOi6+//rriuHHjxnHTTTdFLper1VojImbNmhXXX399xfEaa6xR9BRJvXr1YsCAAfHoo49W2vDpmmuusYYdNWa//fbLW0alqhtF3HvvvXk/UxZjPUmKa/XVV4899tij4vjJJ5+0M+xPnGYdQDWUlZXFzTffnDdtdfTo0fGHP/xhqfddc8018cILL1Qc53K5Ss8BgJrSrFmzvOZXRMQrr7wS//znP5d4/WOPPRa333573rnLLrtshaehVtV//vOfmDZtWsVx7969KyXcimWPPfZYYorljDPOyPTUOVYejRs3jgMOOKDi+NVXX41PP/10ue9ftLnXpEmT6N27d43WRzYs+jUSETF48OCUKqEYrFkHUE3rrbde/OlPf4ozzzyz4tw111wTBxxwQPTs2bPS9V988UWcc845eedOOeWU2H777Wu9VgBK1x577BF9+vSJ2267reLcueeeG3vttVdeE+67776L3/zmN3n3brfddpV2hK1Ni9YYEbH//vsXbewlOfHEE2PIkCF5O3UOHz48hg4dGrvuuusKPXPMmDHx7rvvxsSJE2Py5MmxyiqrRJs2bWLTTTeN9ddfv9o1z549O4YPHx4jR46MKVOmxIwZM6J+/frRtGnT6NChQ3Tu3Dk23HDDoq69N3369HjhhRfiq6++ikmTJkWTJk1inXXWiW233TZWW221Wh//448/jjfffDPGjx8fSZJEq1atYqONNoott9xyuTdcqS19+vTJW6Pxtttui4svvniZ940aNSpeeumliuNf//rX0bRp0xqpafr06TFy5Mj4+OOPY/LkyTFz5sxYZZVVomXLlrH++utH9+7do27dbLcUxo8fH2+88UaMGTMmZsyYEY0aNYottthiiT+jZ90+++wT9evXr9iY7o477ojLLrss9a9dakkCQLUtWLAg2WabbZKIqPhYd911kx9++KHStbvuumvedWuvvXYyY8aMFKoGoNRMmTIladeuXd7/h3baaaekvLy84pqjjz467/WGDRsmH3/8cdFqnDp1alKnTp2K8Zs1a5bMnz+/Ss/o27dv3ufQq1evatc1dOjQvGdGRHL44YdX6RnfffddMmDAgORnP/tZpWct+tG5c+fk8ssvT2bOnFnlOt9///3ksMMOS5o0abLUMSIiadSoUdKzZ89k4MCByZQpUwo+c/To0Xn3dezYsUo1jRo1KjnggAOShg0bLrGOOnXqJPvss08yfPjwint69eqVd82zzz671DGWdv19992XbLLJJgXfh5YtWyaXXHLJCr3fVbX4exkRyYQJE5Ly8vKkc+fOee/xon8vCzn//PPznjV06NAkSZJkzz33zDvfv3//5arv9ddfT/r165dsttlmSVlZ2VK/fpo0aZIceuihyfvvv79cz178z6gqH4MHD670vP79+xf8HB977LFk2223XeKz9tlnn7znVOXr+8wzz8y7tkGDBsnbb7+9XJ//Qvvss0/eM9q0aZOMHz9+ue7t2bNn3r0vvvhilcZm5WEaLEANWLiLa8OGDSvOffbZZ3HuuefmXXfTTTflrXGzcFfZJk2aFK1WAEpXixYt4tprr80798wzz8QNN9wQERFPPfVUXronIuLCCy+Mn/3sZ0Wr8amnnooFCxZUHG+//faZSI7svPPOscEGG+Sde/zxx5e67t+ibr/99lh77bVjwIAB8cknnyz12oVLaqy//vrx9ttvL3eNF198cXTv3j3uuOOOZa6fG/Hj2oAvvPBCnHHGGfH8888v9zhVMWjQoOjatWvcd999MXv27CVes2DBgnj44Ydjs802q9GpfbNmzYpDDjkkDjjggHj//fcLXjdlypQ499xzo1evXjF58uQaG78qcrlcHHHEERXHX3zxxTL/TJIkyZuuvuaaa8aOO+64wjUcfPDBsdVWW8WVV14Z77zzzjK/tn/44Ye48847o1u3bnH++ednYlr4vHnz4thjj40999wzXnnllRp//uWXX563GdycOXPigAMOiO+++2657h84cGA8/PDDFcdlZWXx73//O9q3b79c9y/+5/vYY48t132sfDTrAGrI+uuvHxdddFHeuX/84x8VPyiMGzcuzjrrrLzXTzzxxNhhhx2KVSIAxH777Vdp7aPf//73MXLkyEq7xm6xxRZ5yzwUw1NPPZV3vOhGTmlb/P/ZkydPjs8++2yp9yRJEuedd1706dNniY2gOnXqRMuWLSttYhER8eWXX0avXr3i6aefXmZtl112WVxwwQV5jc6F6tatGy1atIgWLVoUtfF5/fXXx3HHHZe3+cFCderUiRYtWuRtWDJ37tw45phj4r777qv22PPnz49f//rXcffdd+edb9CgQay66qpLvOfNN9+M3r17p9Z06tOnT97xsjaaeP7552PMmDEVx0cccUS11nZcdJ3IReVyuWjWrFnBr58kSeJPf/pTpenzaTjuuONi0KBBeeeW9LW2ourWrRv33HNP3rTtzz//PI4++uhl3vvaa69VWtf63HPPrdJU+sW/Hz755JPLfS8rF806gBp0xhlnxFZbbVVxXF5eHkcffXTMnj07fvvb3+b91q1Tp05x+eWXp1EmACXu6quvjlatWlUcf//997HlllvG2LFjK87Vr18/br755qKn2l5//fW840022aSo4y/N1ltvXence++9t9R7rrrqqkq7va+99toxcODAGDlyZMybNy8mT54cs2fPjtGjR8fAgQOjXbt2Fdf+8MMPcdBBB8VXX31VcIwvvvgiBgwYkHdu3XXXjWuvvTY+++yzmD17dkyZMiWmTJkS8+fPj6+++iqeeOKJOPvss2OjjTZajs+86t5666046aST8hpf9erVi9/97ncxbNiwmDt3bkyZMiXmzp0bL730UvTt2zdyuVwkSRLHHXdc3k7EK6J///4VawxusMEGcfPNN8f48eNj9uzZMXXq1Jg+fXrce++9lVKjzz//fNxyyy3VGntFrbPOOnnNmPvvvz9mzpxZ8PrF61y82beiNtxwwzjrrLNiyJAhMXr06FiwYEF89913FX9eH374Yfz973+P9dZbL+++G2+8Me68886Czz3jjDPiuuuui+uuu67Svb/73e8qXlvSxzbbbLPMuu+7776KBmfz5s3joosuqvg7NmXKlJgzZ0688cYb1V4Dc4011ojbb789r/n3n//8J/7xj38UvGfKlClx0EEHxbx58yrO7bjjjtG/f/8qjd2tW7e84/fff3+pXyOsxFKcggvwkzRy5MikQYMGeetJbL311nnHuVwuefrpp9MuFYASdscddyx1jagLL7yw6DXNnDkzb726iEjGjh1b5efUxpp1SZIk77zzTqX36corryx4/auvvprUrVs37/qTTjopmT179lLH+fbbb5Ptttsu774999yz4PWXX355pZ87qrIe7osvvpiMHDmy4OtVXbNu/vz5SdeuXfPuadGiRfLWW28t9b5HHnkkqV+//hK/Hqu6Zt3Cj+OPPz6ZN29ewfumTp2adOvWLe+e7t27L3Ws6ii0Zt1CN954Y95rt99++xKfM2PGjKRp06Z5f+aLWpE16/7xj38kr7zyynJ/LrNnz06OO+64vHHWWWedZMGCBcu8t6prEi7J4mvWLfzo2rXrcq8BlyQrvibjOeeck3df/fr1kzfeeKPSdeXl5ZX+PNq2bZv3514Vi687+tJLL63Qc8g2yTqAGrbhhhtW+u32a6+9lnf8m9/8JnbaaaciVgUA+Q499NDYe++9l/hat27dKu1cXgyffvpp3jTOevXqRYcOHYpeRyEtWrSodG5pCbB+/frF/PnzK45/85vfxNVXX73EKa+LatWqVTzyyCPRsWPHinOPPfZYfPDBB0u8/p133sk7HjBgQJXWw+3Ro0dsuOGGy339sjz22GMxfPjwvHMPPPBA/PznP1/qfXvttVdcc801NVbH3nvvHddff/1SdyxdddVV46abbso79+6778aoUaNqrI6qOPDAA6NRo0YVx4Wmwj7wwAMxY8aMiuO+fftWe+xTTjlluRJsCzVo0CCuv/76vOnho0aNyts1udhatGgRTz311HKvAVcdF198cfTq1avieO7cuXHggQdWmk785z//OW9tubKysrjjjjvyErRV0alTp7zjDz/8cIWeQ7Zp1gHUgn79+sUWW2yxxNfWWmut+POf/1zkigCgshNOOGGJ52+++eaoV69ekauJvPW3IiLat29frTW4atqS1jortJHDq6++Gi+99FLFcYcOHeIvf/nLco/VsmXLSr/8u/HGG5d47dSpU/OOO3fuvNzj1IaFG5YsdOCBBy73xgfHHHNMbL755tWuoV69esvd+Nt8881js802yzv31ltvVbuGFdGsWbPYd999K46feeaZJU6BXrSJ16BBgzjooIOKUV4luVwufv/73+ede+aZZ1KpJSLi/PPPL0qjLuLHtfDuuuuuaNOmTcW5MWPGxFFHHVVx/NJLL8V5552Xd98FF1wQO++88wqPu8Yaa+QdL/59k5+G7PyfD+AnpE6dOjF48OCoX79+pdduuummWGWVVVKoCgD+z7x58+Lss89e4mtL2zmzNo0fPz7veNF/BGdB06ZNK52bO3fuEq9dfO2uo48+usq7v/fu3TsvFVZod9DFm4hpNZoiftzYYfFmzfHHH7/c9+dyuSpdX8iee+5ZqamxNNttt13e8UcffVTtGlbUomvPlZeXx7///e+818eOHRvPPvtsxfFee+21xNRnsSy+luPi604WS7169WokYVgV7du3jzvuuCPvlwoPPfRQ/PWvf41vv/02Dj744Lx07U477RTnn39+tcZc/Pvi4t83+WkonAcGoFq6dOkSvXv3jrvuuqvi3DbbbFOlHZ8AoLZceumlBZtyZ5xxRuyxxx7Rtm3bota06LS+iMibDpgF06dPr3Su0JTWxRtru+22W5XHW2WVVWK99darmOY2fPjwmDFjRqWm4ZZbbpm3g+rvfve7WH311VPZcf69997L2/21UaNGVa5jjz32qHYdi05PXB5rr7123nGhnVGLYdddd4327dvHhAkTIuLHFN2iu4jedttteRt31GaDaubMmTFixIiYMGFCTJ8+PX744YcoLy9f6j2LblRTTN26dYuWLVsWfdxddtklzj///Ljwwgsrzp199tlx5513xrhx4yrOtWvXLu68885qp4UbN26cd7z4901+GjTrAGrR4sm6JSXtAKDYhg8fHpdeemnB16dOnRonnXRS3H///UWsKvKaPBERDRs2LOr4y7Loru4LLf4P54gfp8Yuvmbbyy+/XHDNuaWZM2dOxX+Xl5fHN998U6lZd8QRR0T//v0rdoWcOHFi7LjjjrHlllvGAQccELvuumtsvPHGRZlSvHgirWvXrlXeUXiNNdaIVq1axaRJk1a4jsXX9VqWxWc9fP/99ys8dnXVqVMnDj/88Ljyyisj4sf39M0336xYYuW2226ruLZNmzax++671+j448aNi8GDB8e9994bI0aMWGZzbnFpNTo33njjVMaN+HFq60svvRRPP/10RPyYXF404VpWVhZ33nlnjfwCZPFfYtgN9qdJsw4AAErIggUL4qijjsqbvrneeuvF8ccfH/369as498ADD8SDDz4Y++23X9FqW3ydvEWnj2XBlClTKp1b0vpYEydOzEs+RUTBKccrUsM666yTd65t27Zxww03RJ8+ffIaK2+88Ua88cYbEfHjVNktt9wyevbsGTvuuGNsvfXWtdK8W3z9vBVdP6xdu3bVatY1b968Stcv3lBcdKOTNPTt27eiWRfxY7puiy22iJdffjk+/fTTivOHHXbYUjfQqIokSeLyyy+PP/3pT9VqAC0pgVoMaaTqFlq4aUT37t0rEpGLGjBgwHKv27gs8+bNyztOY31Rap816wAAoIRcddVVeYmPXC4XgwYNijPPPDN69OiRd+1JJ51U1JTM4im1xZN2aXvvvfcqnVt0x9aFltTUqymFmiiHHXZY/Pe//63UyFto2rRp8dRTT8V5550X2223Xay55prxhz/8ISZOnFij9S2ePlzRdXqbNWtWrTpyuVy17k9bly5d8nbPvfvuu2Pu3LmVdoetySmwxx13XPzxj3+sdlJr8UZ1sSxpTcliatu2bZxyyimVzm+66aZx7rnn1tg4i//5VHUtTFYOmnUAAFAiPv7440o7jJ544omx/fbbRy6Xi5tuuilvDbYJEybEmWeeWbT6VltttbzjJU07TdOSFs7fdNNNK50rtOlETVhaI2S33XaLDz/8MO69997Yb7/9lrh77ULjx4+PK664ItZee+245ZZbaqy+xdfwW9H3ojbfw5XFoo24yZMnx/333x/33ntvxblu3bpFt27damSs2267LQYNGpR3rmnTpnH00UfHrbfeGm+88UaMGzcupk+fHvPmzYskSfI+iBg1alRcfvnllc5/8MEH8fLLL9fYOItP0U4zUUjt0awDAIASUF5eHsccc0zMnj274lzHjh3z/nG5/vrrxwUXXJB3380331yxDlNtWzyltuji7Fmw6A6cET+uF7akJNvi/3iuX79+LFiwoFKDY0U+lrVZQ7169eKAAw6I//znPzF58uR4991345///GccdNBBS5yS+sMPP8RRRx0VN998c9XfkCVYvEG4og3XrDVq03DIIYfkTXE89dRT896XmkrVJUlSaYfSnXbaKcaMGRODBg2KPn36xBZbbBGrr756NG3atNK0Wxsc/Li25IEHHrjEtQ4XLFgQhxxySHz77bc1Mtbi3xeruj4jKwfNOgAAKAH/+Mc/KqU7brjhhkpTx37/+99H9+7d884dd9xxRVnEfPEdOb///vtUF/pf1P/+97/45JNP8s798pe/XOJ0y9atW+cdz507N7766qtarW9JysrKYtNNN42TTz457r777hg3bly89dZbccIJJ1Ra5+p3v/tdjUzfbdeuXd7xxx9/XOVnzJkzJ8aMGVPtWlZ2rVq1il/+8pcVx5MnT67477p168ahhx5aI+O8/fbbeTu4rrrqqnH//fdXSroWUp21BX8qzjjjjHjnnXcqjps0aZK3mcS4cePiiCOOqJEU4uLfSxb/vslPg2YdAAD8xH3++eeV1kw66qij4he/+EWla+vWrRuDBg3KS8+MHj06zjvvvFqvc/XVV482bdrknfvwww9rfdzlcdVVV1U6d+SRRy7x2pYtW8Zaa62Vd+6FF16ojbKqJJfLxc9//vO49tpr47nnnstr2H3//fcxZMiQao+xcMfShb744ov4+uuvq/SMd955p9Ii+qWqUHput912q5GdRSMi3n///bzjPffcM1q0aLHc97/55ps1UsfK6r777otrr70279y1114bd911V94mLk8++eQSp8lWxdy5c+Ozzz7LO7f4L1f4adCsAwCAn7AkSeLYY4/NS8a1b98+Bg4cWPCe7t27x1lnnZV37u9///sS12yraYsuqh9RuZGQhmuuuSaeeuqpvHObbbZZ9OrVq+A9u+yyS97xomuNZcG2224bv/71r/PO1cR73bZt2+jcuXPeubvvvrtKz7jzzjurXcdPxa9+9aslJtxqcmOJxTcZWbzRvCwr0uRdfCpt2rvvrqhRo0bFsccem3fuqKOOij59+sSOO+5YaVmB888/P1588cUVHu/DDz/Ma2S3bt16iZvcsPLTrAMAgJ+w66+/vtJaa9ddd91SNx+IiOjfv3+sv/76FccL17yr7YX/F2+ALbpzbRqeeOKJSpts5HK5pTY7IyL233//vOMhQ4ZkLoG0eFPthx9+qJHnLj49c+DAgcv97C+//LJGN7xY2dWrVy8uvPDCOOiggyo+Dj300Nh7771rbIz69evnHVdlB+gvv/wy7rnnniqPufguwVmZ7l4Vc+bMiQMOOCCv9q5du8bVV19dcXz++efnNe4Xrl+3olOH33777bzjnj17rtBzyD7NOgAA+In68ssv4/e//33euYMOOij22WefZd7bsGHDuOmmm/LWZBsxYkRceumlNV7novbYY4+848UbjcUyb968uPDCC2PPPfeMOXPm5L125plnLjVVF/Hj57H4lNBDDz00b92xqiq03tX8+fNX6HkfffRR3vHi682tqOOPPz7q1KlTcfzll1/GSSedtMz1umbPnh19+/a1YcFiTjrppLj77rsrPu64445Ku+5WxxprrJF3/OSTTy5X0m3BggXRp0+fFWrgLz6FNyvT3avi9NNPj3fffbfiuEmTJnHvvfdG48aNK86VlZXFv//977y/W9VZv27x74eLrmnIT4tmHQAA/EQdf/zxMX369IrjVq1axT//+c/lvr9Hjx5x4okn5p277LLLYsSIETVW4+I22WSTvGldn376aXz55Ze1Nt7ivvzyy7jsssuiU6dOMWDAgCgvL897/cADD1zudaeuuuqqvOl+n332WfTo0aNK002TJIlnn3029tlnn3jooYeWeM3GG28cf/rTnypNZ1ya//73v5WmL+64447Lff/SrLXWWpWmUd96661x0EEHFaxx1KhRsfvuu1c0Ixo2bFgjtbBsvXr1ymvKf/7555V2h13cDz/8EL17947nnntuhcZcfJ212267rcaSncVw7733xr/+9a+8c9ddd11suOGGla5t27Zt3HXXXXkN7CeeeCKuuOKKKo+7aLOurKxMs+4nrO6yLwEAAFY2t9xySzzxxBN55/7xj39U2ql0WS6//PIYMmRIxW6Rc+fOjWOOOSZeeeWVvMXTa9Khhx4al112WcXxww8/HCeffPIKP2/8+PGV/mEd8eM0tmnTpsW0adPiyy+/jNdeey3GjRtX8DlnnXVWXH755Xn/6F6anj17xsCBA+PUU0+tOPfRRx/FZpttFvvtt18ceuihsd122+VtqjFv3rz4/PPP47333osXXnghHnrooYqajjjiiCWOM2HChDj//PNjwIAB0bNnz9hrr71i8803j4033jhvuvMPP/wQb7/9dtx+++0xePDgvPRU9+7da3RK3YUXXhiPP/54XmPyvvvui0cffTR233332HTTTaNFixYxadKkeO211+LZZ5+tWItrjz32iJkzZ8bzzz9fce+Sdt2lZrRt2zb23XffePDBByvOLWzKn3XWWbH11ltXbEbyxRdfxMMPPxx//vOfK74ue/bsWeUNVH75y19GWVlZRTP8448/jg022CD22WefWGeddaJRo0Z51++444550/LT9Omnn1Zap+6YY44p+PczImKHHXaI/v37561hd/7550ePHj2iR48eyzXuG2+8kff9aZdddqmxNCwZlABQa/r27ZtERMVHr1690i4JgBIwYcKEpEWLFnn/D9prr71W+HmPP/543rMiIhk4cGANVpzvww8/rNb/Pxf//291P7p165Y8//zzK/z5XH755UmdOnUKPr9evXrJaqutljRu3Hipddx3331LfH7z5s2X+uxWrVolzZo1K3hNixYtkuHDhxesf/To0XnXd+zYcbk+72+++Sbp0qVLld7rjTfeOJkyZUrSs2fPvPOvvfbaUsfq1atX3vXPPvvsctW40ODBg/Pu79u3b5XuX16Lv5cRkUyYMKHGx9lzzz3zxujfv/9Sr//000+TVVdddYl/JnXr1k1WW221pH79+pVe69ChQ/Lll19WOr88jjzyyOX+uhg8eHCl+/v371+lz7GQqnx9z549O9l0003zru/atWsyc+bMZY6zYMGCZNddd827d4011ki+/fbb5aqzX79+eff++9//Xt5PkZWQabAAAPATc8IJJ8TUqVMrjps3b77EZNny2n333SulRs4777wYPXr0Cj9zaTbYYIPYYYcdKo5ffPHFimRfsTRq1Cj233//+O9//xvDhg2rVurs7LPPjieeeKLShg4LzZs3LyZPnpy3Y+/iWrduHR06dFjia0tLnc2bNy8mTZpUcAH/rl27xssvvxxdunRZymewYtq0aRMvvvhiHHPMMcuVjDvwwAPjxRdfjBYtWlSqd1kbolA96667bjz88MNL3Hl2/vz5MXny5Epr022wwQbx3HPPVVrzbnldffXVy7V+ZpacdtppMWzYsIrjJk2axH333VcpCbgkC9eva9++fcW5r776Kvr06bPM9evKy8vzNvJo3bp19O7du+qfACsNzToAAPgJufvuuyutbfaXv/wlVl999Wo9929/+1veovAzZ86M4447rlrPXJpFd2AtLy+PQYMG1ejzc7lcNGjQIJo3bx5rr712bLvttnHEEUfEZZddFs8++2xMmTIl7rvvvkobXqyoXXbZJT755JO49dZbo0ePHhXTCpemY8eOcfTRR8fDDz8c48ePj2222WaJ13300UcxaNCgOOCAA5brzzmXy8V2220XN910UwwbNmyJ62zVlBYtWsRNN90U7733Xpxzzjnx85//PNq2bRt169aNZs2axaabbhqnnHJKvPXWW3HPPfdE8+bNIyIqrW3XokWLWquRH/Xs2TPefffdOPLII5f69bn66qvHJZdcEu+++26su+66KzxekyZN4qGHHooXX3wxTj755Nhmm22iTZs2y9X4SsM999wT119/fd65f/3rX7HBBhss9zPatGkTd955Z95U+scff3yZ69c9/vjjeb+wOPHEE63r+BOXS5bVwgUAACiyJEmia9euMXLkyIiI6NChQ4wePXq5mlwrg5kzZ8brr78eX331VUyePDlmzJgRTZo0iebNm0fnzp1jww03XOH1qL766qv45JNPYvTo0TFt2rSYOXNmNGrUKJo3bx7rrrtudOvWLVq2bFnDn1HNmTBhQl7TcbXVVotJkyalWFHpmT59erz88ssxatSomDZtWtSrVy/atWsXm2yySXTr1s0agkW21157xaOPPhoREY0bN47Ro0fnrXXJT48NJgAAgMzJ5XJx0UUXxf777x8REePGjYs777wz+vbtm3JlNaNx48Y1tvvq4tZYY40VnpqYBYsnQ7fYYot0Cilhq6yySuy+++5pl0FEjBgxIh577LGK41NPPVWjrgSYBgsAAGRS7969Y/PNN684vuKKK5a5thMrt1mzZsXAgQPzzu2yyy4pVQPpu/zyyyu+7zVv3jx+//vfp1wRxaBZBwAAZNaijZsPP/ww7r777hSroSoW35BgWRYsWBDHHXdcfPbZZxXnGjZsGEceeWQNVwYrh48++ijuuuuuiuP+/ftbv7FEaNYBAACZtf322+ftRHvuuedWuQlEOs4555zo3bt3/O9//4t58+Yt9dq33347dt5557jjjjvyzv/2t79d4g6lUArOPvvsWLBgQUREdOnSJU455ZSUK6JYrFkHAABk2pVXXhlrr712xfGYMWPiZz/7WYoVsTwWLFgQ//nPf+I///lPrLrqqrH11ltH165do02bNtG4ceP4/vvvY+zYsfHyyy/HBx98UOn+Ll26xGWXXZZC5ZC+GTNmxGabbRbdu3ePiB83mahbVwunVNgNFgAAgBp3+umnx9///vcVunfTTTeNRx55JNZcc80argog+0yDBQAAoMatvfba0aBBgyrds8oqq8TZZ58dL730kkYdULIk6wAAAKgV33//fTz55JMVU13HjBkTkyZNipkzZ0bdunWjRYsW0apVq/j5z38evXr1in322ccC+kDJ06wDAAAAgIwwDRYAAAAAMkKzDgAAAAAyQrMOAAAAADJCsw4AAAAAMkKzDgAAAAAyQrMOAAAAADKibtoFFNPWq++QdgkAAEX12vjnUhl33qTPUxkX0vbepmekXUJJ23rim2mXAKl5rc0WaZdQ0jb/6qEae5ZkHQAAAABkREkl69rWbZp2CQAAAABQkGQdAAAAAGRESSXrto9V0y4BAAAAAAqSrAMAAACAjNCsAwAAAICMKKlpsKPK5qZdAgAAAAAUJFkHAAAAABlRUsm6b5LZaZcAAAAAAAVJ1gEAAABARmjWAQAAAEBGlNQ02LnJgrRLAAAAAICCJOsAAAAAICNKKlm3aVnztEsAAAAAgIIk6wAAAAAgI0oqWff0vAlplwAAUFR/SrsAAACqRLIOAAAA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/W5+2hUAAAAAQGGSdQAAAACQEZp1AAAAAJARJTUNtkXzmWmXAAAAAAAFSdYBAAAAQEaUVLLu+e9bp10CAEBRrZt2AQAAVIlkHQAAAABkREkl67ZpMDXtEgAAAACgIMk6AAAAAMgIzToAAAAAyIiSmga7atuZaZcAAAAAAAVJ1gEAAABARpRUsm7yhKZplwAAUFSrp10AAABVIlkHAAAAABmRyWTdqFGjYtKkSdGpU6do27ZtjT33o9nNauxZAAArg43TLgAAgCoparLu22+/jWuvvTauvfba+O677yq9/tlnn8XPf/7z+NnPfhbbbrttdOjQIfbff/+YNm1aMcsEAAAAgFQUtVn3wAMPxMknnxz//Oc/o3nz5nmvzZkzJ/bYY48YNmxYJEkSSZJEeXl5PPjgg7HvvvsWs0wAAAAASEVRp8E+9dRTkcvlonfv3pVeu+WWW2LUqFGRy+Vi7733jp133jmGDh0aQ4YMiRdffDHuvffeOPDAA6s1/vxctW4HAAAAgFpV1GTdxx9/HBERW265ZaXX7rrrroiI2GmnneKhhx6KU045JR5++OHYZZddIkmSitcBAAAA4KeqqMm6b7/9NiIiVl999bzzs2bNildffTVyuVwcf/zxea8dffTRMXTo0HjnnXeqPf5mzaZU+xkAAAAAUFuKmqxbuFFEWVn+sK+99lrMmzcvcrlc7LLLLnmvde7cOSIiJk6cWJQaAQAAACAtRU3WNW3aNL777rv4+uuv884/99xzERGx0UYbRYsWLfJeq1evXkRE1K1b/VInTWtS7WcAAKxM1k+7AAAAqqSoyboNNtggIiKeeOKJvPMPPPBA5HK56NWrV6V7Fjb22rZtW/sFAgAAAECKipqs23PPPeO1116LG264ITbccMPYfvvt45ZbbomRI0dGLpeLX//615XuWbhW3RprrFHMUgEAAACg6IrarDv55JPj2muvjQkTJsTJJ5+c99o222wTO+64Y6V7hgwZErlcLrbffvtqj/9MgwbVfgYAwMpku7QLAACgSoo6DbZ58+YxdOjQ2GyzzSJJkoqP7bffPu69995K17/33nvx5ptvRkTErrvuWsxSAQAAAKDoipqsi4jYcMMN46233orRo0fH119/He3bt49OnToVvH7w4MEREbHttttWe+wtZi+o9jMAAAAAoLYUvVm3UOfOnaNz585LvaZb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U2aX17iyBTXyHAAAAACoDbXarOvbt2/e8VFHHRUREfvuu29stNFGtTk0AAAAAKx0arVZt7hnn302Ipa8ll0xnLv9xFTGBQAAAIDlUdRmXa9evYo5HAAAAACsVIrarEvb/Cnz0y4BAAAAAApKrVmXJEkMGzYs3nvvvZg0aVLMmjVrmbvEXnDBBUWqDgAAAACKL5Vm3a233hoXXnhhfPHFF1W6T7MOAAAAgJ+yojfrzj333Lj88suXmaKLiMjlcst13fK6YfiaNfYsAICVwTlpFwAAQJWUFXOw119/PS677LKIiNh1111j2LBh8c4770TEj425BQsWxKRJk+KJJ56IffbZJ5IkiR49esSECROivLy8mKUCAAAAQNEVNVl33XXXRUREx44d47HHHou6devGiBEjKl7P5XLRsmXL+MUvfhG/+MUv4rrrrouTTjopdt9993j99dejfv361Rq/Xs2F9AAAAACgxhU1WffKK69ELpeLU089NerWXXaf8IQTTojevXvH+++/H9dee20RKgQAAACA9BQ1WTdhwoSIiOjSpUvFubKy/+sXzps3L+rVq5d3zxFHHBEPPPBA3HPPPXH66adXa/xXct9X634AAAAAqE1FTdbNmzcvIiLatGlTca5p06YV//3tt99WumfNNX/cFOKzzz6r5eoAAAAAIF1Fbda1bt06IiK+//7/Em5t27aNOnXqRETEhx9+WOmehWm86dOnF6FCAAAAAEhPUafBdunSJcaPHx8fffRRbL/99hERUb9+/ejSpUt88MEHcc8998TOO++cd88dd9wRERGrr756tcc/dO4q1X4GAAAAANSWoibrtt9++0iSJJ599tm88wcddFAkSRI333xzXHDBBTFixIh488034+STT4677rorcrlc7LHHHsUsFQAAAACKLpckSVKswUaMGBEbb7xxNG3aNL766qto1qxZRETMnDkzunbtGmPGjIlcLpd3T5Ik0bJlyxg2bFisscYa1Rp/VNfdqnU/AMDKZp3hT6Yy7rxJn6cyLhHvbXpG2iWUtG7DBqZdQklrtPr2aZdQ0l5rs0XaJZS0rSe+mXYJJW3+3HE19qyiJuu6dOkSzz77bDz44IMxf/78ivONGzeOZ599NrbbbrtIkiTvo2vXrvH0009Xu1EHAAAAAFlX1DXrIiJ69eq1xPMdO3aMF198MT7++OMYMWJEzJ8/P9Zbb73o3r17jY19+/RWNfYsAICVwYC0CwAAoEqK3qxblvXXXz/WX3/9tMsAAAAAgKIr6jTY8vLyYg4HAAAAACuVoibrOnToEAcffHAceuihscUWxV948nc7fVP0MQEAAABgeRU1WffNN9/EP/7xj9h6663jZz/7WVx00UXx6aefFrMEAAAAAMisXJIkSbEG++UvfxlDhw6t2Ak2l8tFRMTmm28ehx9+eBx44IHRtm3bWhu/Z4eda+3ZAABZ9MK4p1MZd96kz1MZF9L23qZnpF1CSes2bGDaJUBqfP9J1+ZfPVRjzypqsu6///1vTJgwIa6++urYdtttI0mSSJIk3nrrrTj99NNjjTXWiN133z1uv/32mDFjRjFLAwAAAIDUFTVZt7gvvvgi7rzzzrjjjjti5MiRPxb0/9N2DRs2jL333jsOO+yw2H333aNu3eovr7dZ+x7VfgYAwMrknQkvpTKuZB2lSrIlXZJ1lDLff9K10ibrFtexY8c455xzYvjw4fHuu+9Gv379okOHDpEkScyaNSvuvffe2GeffaJ9+/Zx4oknplkqAAAAANS6VJt1i+rWrVtcccUVMXbs2Hj22Wfj2GOPjVVXXTWSJInJkyfH9ddfn3aJAAAAAFCrqj+3tBb06tUrunfvHt27d49zzz03pk2bViPPXa9+qxp5DgAAAADUhkw16+bOnRuPPvpo3HnnnfHf//435syZk3ZJAAAAAFA0mWjWPfPMM3HHHXfEf/7zn/j+++8jImLhvhfrrrtuHHrooXHYYYdVe5xvFthhFgAAAIDsSq1Z984778Qdd9wR99xzT0yYMCEi/q9B17p16zjooIPisMMOi6222iqtEgEAAACgqIrarBs1alTceeedcccdd8Snn34aEf/XoGvSpEnss88+cfjhh8euu+4aderUqfHxv18wu8afCQAAAAA1pajNuvXWWy9yuVxFg65u3bqx6667xmGHHRb77rtvNG7cuJjlAAAAAECmFH0abJIksdVWW8Vhhx0WBx10ULRu3brYJQAAAABAJhW1WTdgwIA4/PDDY+211y7msBUWJvoAAAAAIIvKijlYp06d4qWXXorXX3+9mMMCAAAAwEqhqMm6I488MnK5XNx1112p7PK6V8NORR8TAAAAAJZXUZN1zZs3j4gfN5oAAAAAAPIVtVnXuXPniIiYOnVqMYcFAAAAgJVCUafB7rfffjFs2LAYMmRI7LTTTsUcOiIiZkZ50ccEAAAAgOVV1GTdaaedFh07dozrrrsunnnmmWIODQAAAACZV9RkXbNmzeJ///tf7L///rHbbrvFUUcdFYceemhssskm0aJFi8jlcrU6/lzJOgAAAAAyrKjNujp16lT8d5IkMWjQoBg0aNBy3ZvL5WL+/Pm1VRoAAAAApK6ozbokSZZ6XNu+LJ9Z1PEAAAAAoCqK2qzr379/MYcDAAAAgJWKZh0AAAAAZERRm3Vpq+0NLAAAAACgOsrSLgAAAAAA+FGqybrPP/88Xn311fj6669j5syZccIJJ0SrVq1qbbwpC2wwAQAAAEB2pdKse/fdd+P000+Pl156Ke98796985p111xzTVx44YXRvHnzGDlyZNSrV6/YpQIAAABA0RS9WffYY4/F/vvvH3Pnzo0kSSrOL2k9ub59+8Yf/vCHmDx5cjz66KOx3377VWvsd6eNrtb9AAAAAFCbirpm3ddffx2HHHJIzJkzJzbaaKN4/PHHY/r06QWvb9q0aey7774REfH4448XqUoAAAAASEdRm3V//etfY8aMGdGxY8d48cUXY7fddosmTZos9Z4ddtghkiSJt99+u0hVAgAAAEA6ijoN9sknn4xcLhdnnnlmrLrqqst1z/rrrx8REWPGjKn2+N2ad6r2MwAAAACgthQ1WTd69I9rxm255ZbLfc8qq6wSEREzZsyolZoAAAAAICuKmqybN29eRESVdnWdNm1aRMQyp8sujxnlc6r9DAAAAACoLUVN1rVr1y4i/i9htzxeffXViIhYY401aqUmAAAAAMiKoibrtttuu/jiiy/iwQcfjF//+tfLvH7mzJnxr3/9K3K5XPTs2bPa40+cM63azwAAAACA2lLUZF3fvn0jSZK466674qmnnlrqtTNmzIgDDzwwxo4dGxERxxxzTDFKBAAAAIDUFLVZt8suu8S+++4b5eXlsffee0e/fv3ijTfeqHh9ypQp8frrr8fFF18c66+/fjz++OORy+WiT58+0b1792KWCgAAAABFl0uSJCnmgDNnzoxf/epX8dxzz0Uulyt43cKydt5553j00UejQYMG1R57s/Y9qv0MAICVyTsTXkpl3HmTPk9lXEjbe5uekXYJJa3bsIFplwCp8f0nXZt/9VCNPauoybqIiMaNG8fQoUPjyiuvjHbt2kWSJEv8aNmyZVx66aXx5JNP1kijDgAAAACyrqgbTCxUVlYWZ555Zpx22mnxxhtvxFtvvRUTJ06MBQsWxGqrrRbdu3ePHj161HiTbvr8WTX6PAAAAACoSak06yoGr1s3tt1229h2223TLAMAAAAAMiHVZl2x1ckVfdYvAAAAACy3zDXrvvnmm3j00Udj0qRJ0blz59hrr72iUaNGaZcFAAAAALWuqM26Dz/8MPr37x+5XC6uv/76WHXVVfNef+SRR+LQQw+NWbP+b225NddcMx555JHYZJNNilkqAAAAABRdUZt1Dz30UNx///3Rs2fPSo26iRMnxuGHHx4zZ87MOz927NjYa6+9YuTIkdGkSZNqjd+grF617gcAAACA2lTURdyefvrpyOVy8atf/arSa9dee23MmDEj6tatGwMHDoz33nsv/vznP0dZWVl89dVXceONNxazVAAAAAAouqIm68aOHRsREd26dav02n/+85/I5XLRp0+fOP300yMiYuONN45PP/00brzxxnjkkUcqzq+o/Rt0rtb9AAAAAFCbipqs+/bbbyMionXr1nnnJ02aFCNGjIiIiEMPPTTvtb333jsiouJ1AAAAAPipKmqybuF6dLNnz847/9JLL0WSJNGgQYPYbrvt8l5r3759RERMmzat2uPXjVy1nwEAAAAAtaWoybqWLVtGxP9Nh13o6aefjoiIzTffPBo0aJD32vz58yMiomnTpkWoEAAAAADSU9Rm3cK16u68886Kc7NmzYr77rsvcrlc7LTTTpXu+eKLLyIiom3btsUpEgAAAABSUtRpsAcffHA89dRTMWTIkDj44IOjR48ecc8998TEiROjrKwsDjnkkEr3vP766xERsfbaa1d7/FXKq/0IAAAAAKg1RU3W9enTJ3r06BFJksR9990Xp512WrzyyisREXHUUUfFBhtsUOmehbvELil1BwAAAAA/JUVN1pWVlcXjjz8e/fv3j/vuuy++/vrraN++ffTt2zfOP//8StcPGTIkxowZE7lcLnbddddqj3/ZjHer/QwAgJXJyWkXAABAlRS1WRcR0aRJk7jqqqviqquuWua1PXr0iNGjR0dERMeOHWu7NAAAAABIVdGbdVXRokWLaNGiRY0978DmG9fYswAAAACgphV1zToAAAAAoLDUknXz58+Phx9+OIYOHRrDhw+PKVOmREREy5Yto2vXrrHLLrvEPvvsE3XrZjr8BwAAAAA1JpVO2EMPPRSnnHJKjB8/vuJckiQREZHL5eKVV16JG264Idq3bx9XX3117LvvvjUy7s2T3qyR5wAArCz+mnYBAABUSdGnwf71r3+N3r17x/jx4ysadJ06dYqtt946ttpqq+jUqVNE/Ni8Gz9+fPTu3Tv+9re/FbtMAAAAACi6oibrXnvttejXr18kSRLNmjWLc889N4466qho1apV3nWTJk2KwYMHx6WXXhrfffdd9OvXL7bZZpvYaqutqjX+wa02q9b9AAAAAFCbipqsGzhwYJSXl0fz5s3jlVdeiX79+lVq1EVEtGrVKvr16xevvPJKNG/ePMrLy2PgwIHFLBUAAAAAiq6oybqXXnopcrlcnH322bHRRhst8/oNN9wwzj777PjjH/8YL7zwQrXHv3vSO9V+BgDAyuT6tAsAAKBKipqsmzp1akRE7Ljjjst9z8Jrp02bVhslAQAAAEBmFLVZ1759+1TuBQAAAICVQVGnwe6yyy4xaNCgeP7555d7s4jnnnsuIiJ22mmnao9fv05RP10AAAAAqJKiJuvOPPPMaNSoUVx++eXxySefLPP6Tz75JK644opo0qRJ9OvXrwgVAgAAAEB6iho1W3/99eP++++PQw89NLbeeuu44IILok+fPtGyZcu866ZOnRq33XZbXHzxxRERce+998b6669f7fGPaNG92s8AAAAAgNpSK826ZU1Zbd26dXz66adx5plnxllnnRWdO3eONm3aRC6Xi2+++SZGjx4dSZJERMR6660XV155ZVx11VXx9NNP10a5AAAAAJAJtdKse+655yKXy1U03BaVy+Uq/jtJkkiSJEaNGhWjRo1a4rM+/fTT+OSTT/LuW1Gvzvum2s8AAAAAgNpSK826nj171khzDQAAAABKSa0l6wAAAACAqinqBhNp269uh7RLAAAAAICCUmvWff311zF58uT4/vvvo1mzZrHaaqtFu3bt0ioHAAAAAFJX1GbdY489FoMHD46XXnopvv3220qvt27dOnr06BFHHXVU7LnnnjU+/o0zP6zxZwIAZNnv0y4AAIAqKUqz7v33348jjjgihg8fHhGxxF1iIyImTpwYDz74YDz44IPRpUuXuP3226Nbt27FKBEAAAAAUlfrzboHHnggDj/88Jg7d25Fk65x48bRrVu3aNu2bTRp0iRmzJgR33zzTbz//vsxc+bMiIgYPnx4bL311nH77bfH/vvvXyO1HNhk/Rp5DgAAAADUhlpt1r388stx+OGHx5w5cyIiYs8994xTTz01dt555ygrK6t0fXl5efzvf/+Lf/7zn/Hf//435syZE0cccUS0a9cuevToUZulAgAAAEDqKnfMakh5eXn85je/iTlz5kSDBg3irrvuiiFDhsSuu+66xEZdRERZWVnstttu8eijj8add94Z9evXjzlz5sRvf/vbKC8vr61SAQAAACATai1Zd//998fIkSMjl8vFbbfdFgcccECV7j/44IOjrKwsDj744Pjwww/j/vvvjwMPPLBaNb0475tq3Q8AAAAAtanWknWPPPJIRETsvPPOVW7ULXTggQfGTjvtFBERDz/8cI3VBgAAAABZVGvJujfffDNyuVwccsgh1XrOYYcdFs8880y8+eab1a5p2LTR1X4GAAAAANSWWkvWffPNj1NO11+/ejuwbrDBBnnPAwAAAICfqlpL1s2bNy8iIurXr1+t59SrVy8iIubPn1/tmjZdtXO1nwEAAAAAtaXWknVt2rSJiIgvvviiWs9ZeH/r1q2rXRMAAAAAZFmtNes22mijiIgYMmRItZ6zcKOKLl26VLsmAAAAAMiyWpsGu+eee8bjjz8ed911V5x11lnRtWvXKj/j/fffj7vuuityuVzsueee1a6paZ0G1X4GAAAAANSWWkvWHX744bHaaqvF/PnzY6+99orRo6u2E+vnn38ee++9d8yfPz9atmwZhx9+eC1VCgAAAADZUGvJumbNmsVll10Wxx9/fIwdOzY23XTTGDBgQBx77LGxyiqrFLxv+vTpceONN8aFF14Y06dPj1wuF5dcckk0a9as2jU1ztXapwsAAAAA1Var3atjjz02Pv744/jLX/4SM2bMiLPOOivOP//86NmzZ2y22WbRrl27aNKkScyYMSO+/vrrePfdd+OFF16IWbNmRZIkERFx2mmnxfHHH1+bZQIAAABAJtR61OzKK6+MTp06Rb9+/WL27Nkxc+bMePLJJ+PJJ59c4vULm3QNGjSIP//5z3HKKafUWC1PTRpeY88CAAAAgJpWa2vWLeqkk06Kjz76KE477bRo2bJlJElS8KNly5Zx2mmnxYcfflijjToAAAAAyLqiLeK21lprxV//+tf4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Lho0aBCdO3eOE044Ib766qvlqunll1+OY489NtZff/1o1qxZNG3aNDbYYIPYd99947bbbovvv/++4L1fffVVnHPOObHZZptFixYtomHDhrHWWmvFQQcdFM8++2yV3hsAqGkvv/xyHH300XHMMcekXcpK7b333ov//Oc/8dBDD8VHH3203Pd9++23cdFFF1WkUqm6xx57LM4+++w47bTT4rrrrqv0c9n48ePj8MMPj+bNm8fqq68ezZo1i7XXXjsGDBgQs2bNSqnq0jNx4sR47rnn4rnnnku7lJIxceLEuOyyy2L33XePjTfeODbeeOPYbbfd4tJLL40JEyakXV7xJQAZ1L9//yQikohIPv/882SdddapOF78Y//990/mzZtX6Rl9+/YteM/Cj9VWWy156aWXCtbRq1evJCKSXr16LfH1jh07LnOM7t27JxMmTFji/aNHj664bvDgwcnZZ59d8DmtW7dORo4cWbDWmTNnJocccsgy6+nfv/8S77/pppuSRo0aLfXeY445ZonvNcDKKJfLJWVlZcmIESOW+54PP/wwyeVySYMGDWqxMgq55ZZbKv7cqLonnngiWW+99ZKysrK8j0022SR59NFHl3n/8OHDvf8raMqUKUmPHj0qvfdt2rSp+Fn0m2++STp27JiUlZUluVyu4mPhtd26dUsmTZqU8mdSGu6++25f6zXk1ltvTW699dbku+++K3jNjTfemDRt2rTS34+FH40bN06uu+66IladPmvWAZl30EEHxejRo+O3v/1t7L///tG8efN4//3344orrohPPvkk7r///mjfvn384x//yLtv/vz5sfbaa8d+++0XW265Zay11lpRt27d+OKLL2Lo0KFx8803x+TJk2O//faL4cOHR5s2bapc24IFC2KrrbaKX/3qV9G9e/do27ZtzJ07N0aPHh3//ve/44knnoh33303Dj744GX+Zu7GG2+MV155JXr16hW/+c1v4mc/+1lMmzYtbrvttrjtttvi22+/jaOPPjpeffXVSveWl5fHPvvsE//73/8iImK99daLE088MTbffPNo3LhxTJgwIV555ZW49957lzj2zTffHMcee2xERHTt2jV+85vfRPfu3aNx48YxevToGDRoUPz3v/+NQYMGRfPmzeMvf/lLld8rgJ+CYcOGRURE69at0y0Equi+++6Lww47LBYsWBBJkuS9Nnz48Nh7773jyCOPjKuvvjoaNWqUUpU/Xb/+9a/j5ZdfrnT+22+/jf322y9GjhwZxx57bIwdOzYaN24c2223XbRu3TrGjRsXr776asydOzc++OCDOProo+Phhx9O4TNYea299tpVvmfR6ceL35/L5WLUqFHVrqtUHHnkkZHL5WLzzTePjTbaqNLrN9xwQ5xwwgkREZEkSeRyuWjVqlUkSRKTJ0+OJEli1qxZcdJJJ0W9evVKJ1mdbq8QYMkWTdZFRHLnnXdWuub7779PunXrlkREUlZWlrz//vt5r3/22WdJeXl5wTHef//9pGnTpklEJOedd94Sr1lWsu6TTz5Z6udx8803V3wOQ4cOrfT6osm6iEiOO+64JdZ87LHHVlzzzjvvVHr9b3/7W8Xr++23XzJ79uwl1rNgwYJk3LhxeefGjh2bNG7cOImIpG/fvgWTc3/84x8r3uuPP/54qZ83QBYt/O3+wo+FqYlLL7200muLf9xwww3J2WefnbRu3TopKytL9ttvv7Q/nZIkWbdiJkyYkDRr1qzivdt///2Ta665Jhk4cGCyzz77JHXr1q14bcsttyyY3pKsWzEPP/xwxfvWu3fv5PXXX0+GDx+e/PGPf6xIDp122mlJnTp1kr333rvS+//VV18l22+/fcUzXnnllZQ+k5XTwvdt0bRidT58/VfN0lLs48aNSxo1apTkcrmkfv36ySWXXJJMnDix4vWJEycmF198cdKgQYMkl8slTZs2Tb799ttilp+aXJIs9msVgAxYdPHuX/3qVzFkyJAlXvfGG2/EVlttFRE/7uZ3zTXXVGmc3/3ud/G3v/0tunbtGh988EGl13fYYYd4/vnno1evXiu8ZsVmm20W7777bpx88skVOwguNGbMmOjcuXNERLRv3z5Gjx4dDRo0qPSMjz/+ODbYYIOIiPj73/8ep556asVr5eXlsdZaa8W4ceOiQ4cO8dFHH0XTpk2Xu76zzjor/vKXv8Tqq68eo0aNioYNGy7xuvnz50enTp1i3Lhxce6558af/vSn5R4DIAvKysoil8tVHC/8MXjRc8uSJEmUlZXF008/Hb169arxGn+qXnjhhRp5zuOPPx5XXHFF5HK5WLBgQY08sxRceOGFceGFF0bdunXj/vvvj7333jvv9ffeey+OPfbYePvttyOXy8UGG2wQQ4cOjfbt2+ddN2LEiNh44429/1V08MEHx7333hsbb7xxDBs2LO97zjHHHBODBw+OXC4X6623Xrz//vtRv379Ss/4/vvvY4MNNohvvvkmTjzxxEo/U1LYwu/9q6yySrRo0WK57vnhhx9i0qRJkcvlYq211qr0+ujRo2u6zJ+she//Bx98UClZd/7558cll1wSZWVl8cgjj8Qvf/nLJT7j0UcfjX322SciIi655JL4wx/+UOt1p800WCDzjjrqqIKvbbnlltGlS5cYMWJEDB06dKnPmTp1akyZMiVmz55d8Q+0VVddNSIiRo4cGfPmzYt69eqtcJ1JksQ333wT33//fd6mEquvvnq8++678d577y31/v3333+JjbqIiPXXXz+aNm0aM2bMiM8//zzvtWHDhsW4ceMiIuK4446rUqMuIiqmUuy1114FG3UREXXr1o1tttkm7r///iVOxQVYGSzp99TL+7vr+vXrxxZbbBHnnHOORl0V7bDDDlVqilKznnzyycjlcnHsscdWatRFRHTr1i1efvnlOOmkk2LQoEHx0UcfRY8ePeLpp5+OTp06Fb/gn5g333wzcrlc/OY3v6n09+C4446LwYMHR0TECSecsMRGXUREs2bN4phjjolLLrkkXn/99Vqv+aekU6dOMWbMmJg3b14ce+yxcfbZZ0fduktvhdxzzz1xyCGHRITGXG0aOnRo5HK52H///Qs26iJ+DG/07t077r///nj66ac16wCyYIsttljq61tuuWWMGDEiPv3005g7d27eDzkffPBB/PWvf43HH388vv7664LPKC8vj6lTp67QunWPPfZYXHfddfHCCy/E9OnTC163rJ1nFybnCmnRokXMmDGj0hjvvvtuxX/37NlzOSr+P99991189tlnERFx/fXXx/XXX79c9y3tvQTIqkX/wZUkSay99tqRy+XiySefjPXWW6/gfblcLho2bBirrbZa1KlTpxil/mSZ1JOOjz/+OCJ+XDetkPr168eNN94Ya6+9dpx77rkxZsyY2H777eN///vfMn9GYem++eabiFjyz3qLfu/ZfPPNl/qc7bbbLiI0j6pqxIgRcf7558ff//73uOCCC+LOO++M6667rso/N1PzFv47pHfv3su89oADDoj7778/RowYUdtlZYJmHZB5y2qgtW3bNiJ+/AfA1KlTK44HDRoUv/3tb2P+/PnLNc6sWbOqVFeSJHHcccfFoEGDauT5jRs3XurrZWVlERGVpp0s2gRcfLrKskycOLFK1y80c+bMFboPIE0dO3Zc4vnVV1+94GvUjPr168e8efNik002if3222+FnzNs2DCL66+Ahb/oW56NUc4555xo2bJlnHTSSTF+/Pjo2bNnPPXUU7HpppvWcpU/XQt/dlvSFMzVVlut4r8XzvgopF27dhHx45RYll+jRo3iqquuisMOOyyOO+64eOedd2LHHXeMPn36xJVXXhmtWrVKu8SStfBreXk2AVl4zdSpU2u1pqzQrAMyb1nTZpb0W/qPPvqoolHXpk2b6NevX+y0007RqVOnWGWVVSqmu958880VOwpV9bf9N998c0WjbtNNN43TTz89ttpqq+jQoUM0bty4In3Rp0+fuP3224uSJqjqFKNFG3+nn376cu+uVGiKBsDKpLy8PO0SSsYmm2wSb731VtStWzf69++/ws+59dZbNetWwCqrrBLTpk2LyZMnL9f1v/nNb6JZs2bRt2/fmDRpUuy4447x+OOPxyqrrFLLlf40tWrVKsaPHx/ffvvtUq9b1s9xC38Bvaxf8LJk3bt3jzfeeCP+9re/Rf/+/eO2226LIUOGxBVXXFE6O4xmTIsWLZb592KhhX8/ljWF+aeiND5LYKX2zTffxJprrlnw9YXpsFwuV/Eby1tuuSXmz58fderUieeeey423HDDJd5bnd/M3HjjjRERsc4668Qrr7wSjRo1qvExlseivw0cP358rL/++st976K/zZ05c2Z07dq1RmsDgIgfl7R46623Yvjw4ZWWrKD2rbfeevHmm2/GW2+9FTvttNNy3XPIIYdEkyZN4qCDDorvvvsufvGLX9hcagW1adMmxo8fX3AZkZ49e0Yul4smTZos9TkL7184i4SqKysrizPOOCP233//OOGEE+Lxxx+P448/Pm655Zb417/+FV26dEm7xJ+sCRMmVFpbe8MNN4xvv/02vvzyy/j5z3++1PsX/puvVJKQZWkXALAsb7755nK9vt5661X88L9wLYNu3boVbNRFRLz11lsrXNfCMfbZZ5+CjbokSeKdd95Z4TGWx2abbVbx31Xdba9169bRoUOHiPhxgVdrCQGl7O23344rrrgijjjiiNhzzz1jzz3/X3v3H1t1df9x/HUuLbUwoRVXtrYp1EjAKlAKKxt1VGiHDm0j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",
"text/plain": [
"
"
]
},
"metadata": {
"image/png": {
"height": 468,
"width": 629
}
},
"output_type": "display_data"
}
],
"source": [
"twoway_sum = ols('balance ~ C(hand, Sum) * C(skill, Sum)', data=df.to_pandas())\n",
"plot_design_matrix(twoway_sum, plot_names=['intercept','b1','b2','b3','b4','b5'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Again we can check out the model matrix and see it how it maps the different levels of our categorical predictors to numerical values:"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 1., 0., 0., 0.],\n",
" [ 0., 1., 0., 0.],\n",
" [ 0., 0., 1., 0.],\n",
" [ 0., 0., 0., 1.],\n",
" [-1., -1., -1., -1.]])"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from patsy.contrasts import Sum\n",
"\n",
"# All sum-coded levels of our 2 categorical variables\n",
"levels = twoway_sum.exog_names[1:]\n",
"\n",
"# Generate the coding matrix\n",
"sum_codes = Sum().code_without_intercept(levels).matrix\n",
"sum_codes"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can see that this scheme **is a valid contrast** because both rows and sum of columns equal 0:"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([0., 0., 0., 0.])"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sum_codes.sum(axis=0)"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"np.float64(0.0)"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sum_codes.sum(axis=1).sum()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Challenge\n",
"Using the examples above and the starter code below, can you check if the *polynomial* scheme is a **valid contrast**?\n",
"\n",
"*Note: often in python you'll see very small number written using scientific-notation like `-2.22044605e-16`. For all intent-and-purposes, this is the **same as 0** and is due to the way that your computer (and Python) represents the precision of floating-point numbers.*"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABOsAAAOpCAYAAABLq6OtAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAB7CAAAewgFu0HU+AACG5UlEQVR4nOzdd5RV1fk/4PcOvQiCVBtgiQUUMXYRrFFjbMFewJ7YjUqMFTSxRUOaJRbEErvGgsYS7L0rAlYEUUCQpiCdOb8//DFfLsMFhpm55+B9nrVmLc+555z9zmUYh3c+e+9ckiRJAAAAAACpK0u7AAAAAADgR5p1AAAAAJARmnUAAAAAkBGadQAAAACQEZp1AAAAAJARmnUAAAAAkBGadQAAAACQEZp1AAAAAJARmnUAAAAAkBGadQAAAACQEZp1AAAAAJARmnUAAAAAkBGadQAAAACQEZp1AAAAAJARmnUAAAAAkBGadQAAAACQEZp1AAAAAJARmnUAAAAAkBGadQAAAACQEZp1AABApt13332Ry+Uil8tFnTp1YtiwYWmXVFJGjx5d8f7ncrno2LFj2iVBjcnq1/f06dOjbdu2FXX17ds37ZIoIs06gCpIkiR23nnnvP+hr7nmmvHdd99V67nz58+Pbt265T13o402ijlz5tRQ5QCUktmzZ8eGG26Y9/+Vrl27xrx581b4mQcccEDe81q2bBnjx4+vwaqX7Icffoizzjqr4vioo46KLl26LPWeo446Kq/WJX2UlZVFo0aNokWLFrHeeuvF9ttvH717947LL788nnvuuZg5c2Ztf2qUoMUbQ4t+nHnmmdV69scff1zw2f3796+ZT4CiWWWVVeKiiy6qOP773/8eH330UYoVUUyadQBVkMvlYuDAgdGkSZOKc2PHjq32D1dXXHFFvP/++xXHZWVlMWjQoGjQoEG1ngtAaWrYsGHccsstUVb2fz/uDx06NC677LIVet79998fDz74YN65v/71r9G+fftq1bk8/vSnP8XXX38dERENGjSISy65pEaemyRJzJ49O6ZNmxYjR46MV199Ne64444477zzYuedd47VVlstfv3rX8fgwYMjSZIaGROW5s4774z58+ev8P233XZbDVZTu2699dbo379/xcfo0aPTLimTTjjhhFh33XUjImLevHlx2mmnpVwRxaJZB1BFnTp1iiuuuCLv3C233BJPPfXUCj1vxIgR8cc//jHv3JlnnhnbbLPNCtcIANttt12ccsopeecuvfTS+PDDD6v0nEmTJlV6zh577BF9+vSpdo3LMm7cuPj73/9ecXz00UfHGmusUevjRvyYTnzooYdin332iS5dusT//ve/ooxL6Zo4cWI8+eSTK3RveXl5/Pvf/67himrPrbfeGhdffHHFh2bdktWrVy9+//vfVxwPGTIknnnmmRQroljqpl0AwMro5JNPjgceeCBeeOGFinMnnHBCDBs2LFZZZZXlfs6CBQvimGOOiblz51ac+9nPflZjqQEAStvll18ejz32WHzxxRcR8WMy45hjjonXX3896tSps1zPOPXUU2PixIkVx82aNYsbb7yxVupd3CWXXBKzZs2KiIg6deqs8JpN66+//hJT8HPmzImpU6fGtGnTYsyYMfHGG2/EuHHjKl03YsSI+MUvfhEnnXRS/O1vf4t69eqtUB2wLLfffnv86le/qvJ9Q4YMqUig8tPSp0+fuPjiiyu+N51//vmxyy67pFwVtU2zDmAFLJwOu+mmm1asaTNmzJjo27dv/Otf/1ru5/z1r3+NN954o+J44fTXRo0a1XjNAJSexo0bx0033RS77rprxVTOt99+O66++uo455xzlnn/ww8/HPfcc0/euT//+c+x1lpr1Uq9ixo7dmzccsstFcf77LNPrLPOOiv0rNVXXz1++9vfLte1Y8aMiX//+99x7bXXVmrcXXfddfH111/HAw88UFINu44dO5oKXIs22WSTisTro48+GtOmTYtVV121Ss9YdApsLpeLzp0724hlOWX967tBgwbx29/+tmL9ujfeeCOefvrp+MUvfpFyZdQm02ABVtC6665bae2fG2+8MZ599tnluv/zzz/PWzQ2IuL000+P7bbbrsZqBICdd945jj/++Lxz/fv3j08++WSp902dOjVOPPHEvHM77bRTnHDCCTVe45L885//zNsQo1jjrr322nHeeefF6NGjo1+/fnnr/kX82Ez53e9+V5RaKA2LTimfM2dO3HvvvVW6//vvv4+HHnqo4njHHXeMDh061Fh9pO/YY4/NS0MPGDAgxWooBs06gGo49dRTo3v37hXHSZLEcccdFz/88MNS70uSJI499tiKqT0REeutt15ceumltVYrAKXrqquuykvDzZ49O4455pgoLy8veM/pp58e33zzTcVx48aN4+abb45cLlertUZEzJo1K2644YaK4zXXXLPoKZJ69epF//7947HHHqu04dO1115rDTtqzP7775+3jEpVN4q477778n6mLMZ6khTX6quvHnvuuWfF8VNPPWVn2J84zTqAaigrK4tbbrklb9rqqFGj4g9/+MNS77v22mvjxRdfrDjO5XKVngMANaVZs2Z5za+IiFdffTX++c9/LvH6xx9/PO644468c5dffvkKT0Otqv/85z8xbdq0iuNevXpVSrgVy5577rnEFMuZZ56Z6alzrDwaN24cBx54YMXxa6+9Fp999tly379oc69JkybRq1evGq2PbFj0ayQiYtCgQSlVQjFYsw6gmtZff/3405/+FGeddVbFuWuvvTYOPPDA6NGjR6Xrv/zyyzj33HPzzp166qmxww471HqtAJSuPffcM3r37h233357xbnzzz8/9t5777wm3HfffRe/+c1v8u7dfvvtK+0IW5sWrTEi4oADDija2Ety0kknxeDBg/N26hw2bFgMGTIkdttttxV65ujRo+O9996LiRMnxuTJk2OVVVaJNm3axGabbRYbbLBBtWuePXt2DBs2LEaMGBFTpkyJGTNmRP369aNp06axxhprRKdOnWKjjTYq6tp706dPjxdffDG+/vrrmDRpUjRp0iTWXXfd2G677WK11Var9fE/+eSTeOutt2LcuHGRJEm0atUqNt5449hqq62We8OV2tK7d++8NRpvv/32+OMf/7jM+0aOHBkvv/xyxfGvf/3raNq0aY3UNH369BgxYkR88sknMXny5Jg5c2asssoq0bJly9hggw2iW7duUbdutlsK48aNizfffDNGjx4dM2bMiEaNGsWWW265xJ/Rs27fffeN+vXrV2xMd+edd8bll1+e+tcutSQBoNoWLFiQbLvttklEVHyst956yQ8//FDp2t122y3vunXWWSeZMWNGClUDUGqmTJmStGvXLu//QzvvvHNSXl5ecc0xxxyT93rDhg2TTz75pGg1Tp06NalTp07F+M2aNUvmz59fpWf06dMn73Po2bNntesaMmRI3jMjIjniiCOq9Izvvvsu6d+/f/Kzn/2s0rMW/ejUqVNyxRVXJDNnzqxynUOHDk0OP/zwpEmTJksdIyKSRo0aJT169EgGDBiQTJkypeAzR40alXdfhw4dqlTTyJEjkwMPPDBp2LDhEuuoU6dOsu+++ybDhg2ruKdnz5551zz33HNLHWNp199///3JpptuWvB9aNmyZXLppZeu0PtdVYu/lxGRjB8/PikvL086deqU9x4v+veykAsvvDDvWUOGDEmSJEn22muvvPP9+vVbrvreeOONpG/fvsnmm2+elJWVLfXrp0mTJslhhx2WDB06dLmevfifUVU+Bg0aVOl5/fr1K/g5Pv7448l22223xGftu+++ec+pytf3WWedlXdtgwYNknfeeWe5Pv+F9t1337xntGnTJhk3btxy3dujR4+8e1966aUqjc3KwzRYgBqwcBfXhg0bVpz7/PPP4/zzz8+77uabb85b42bhrrJNmjQpWq0AlK4WLVrEddddl3fu2WefjRtvvDEiIp5++um8dE9ExMUXXxw/+9nPilbj008/HQsWLKg43mGHHTKRHNlll11iww03zDv3xBNPLHXdv0Xdcccdsc4660T//v3j008/Xeq1C5fU2GCDDeKdd95Z7hr/+Mc/Rrdu3eLOO+9c5vq5ET+uDfjiiy/GmWeeGS+88MJyj1MVAwcOjC5dusT9998fs2fPXuI1CxYsiEceeSQ233zzGp3aN2vWrDj00EPjwAMPjKFDhxa8bsqUKXH++edHz549Y/LkyTU2flXkcrk48sgjK46//PLLZf6ZJEmSN119rbXWip122mmFazjkkENi6623jquuuirefffdZX5t//DDD3HXXXdF165d48ILL8zEtPB58+bFcccdF3vttVe8+uqrNf78K664Im8zuDlz5sSBBx4Y33333XLdP2DAgHjkkUcqjsvKyuLf//53tG/ffrnuX/zP9/HHH1+u+1j5aNYB1JANNtggLrnkkrxz//jHPyp+UBg7dmycffbZea+fdNJJseOOOxarRACI/fffv9LaR7///e9jxIgRlXaN3XLLLfOWeSiGp59+Ou940Y2c0rb4/7MnT54cn3/++VLvSZIkLrjggujdu/cSG0F16tSJli1bVtrEIiLiq6++ip49e8YzzzyzzNouv/zyuOiii/IanQvVrVs3WrRoES1atChq4/OGG26I448/Pm/zg4Xq1KkTLVq0yNuwZO7cuXHsscfG/fffX+2x58+fH7/+9a/jnnvuyTvfoEGDWHXVVZd4z1tvvRW9evVKrenUu3fvvONlbTTxwgsvxOjRoyuOjzzyyGqt7bjoOpGLyuVy0axZs4JfP0mSxJ/+9KdK0+fTcPzxx8fAgQPzzi3pa21F1a1bN+699968adtffPFFHHPMMcu89/XXX6+0rvX5559fpan0i38/fOqpp5b7XlYumnUANejMM8+MrbfeuuK4vLw8jjnmmJg9e3b89re/zfutW8eOHeOKK65Io0wAStw111wTrVq1qjj+/vvvY6uttooxY8ZUnKtfv37ccsstRU+1vfHGG3nHm266aVHHX5ptttmm0rkPPvhgqfdcffXVlXZ7X2eddWLAgAExYsSImDdvXkyePDlmz54do0aNigEDBkS7du0qrv3hhx/i4IMPjq+//rrgGF9++WX0798/79x6660X1113XXz++ecxe/bsmDJlSkyZMiXmz58fX3/9dTz55JNxzjnnxMYbb7wcn3nVvf3223HyySfnNb7q1asXv/vd7+L999+PuXPnxpQpU2Lu3Lnx8ssvR58+fSKXy0WSJHH88cfn7US8Ivr161exxuCGG24Yt9xyS4wbNy5mz54dU6dOjenTp8d9991XKTX6wgsvxK233lqtsVfUuuuum9eMeeCBB2LmzJkFr1+8zsWbfStqo402irPPPjsGDx4co0aNigULFsR3331X8ef10Ucfxd///vdYf/318+676aab4q677ir43DPPPDOuv/76uP766yvd+7vf/a7itSV9bLvttsus+/77769ocDZv3jwuueSSir9jU6ZMiTlz5sSbb75Z7TUw11xzzbjjjjvymn//+c9/4h//+EfBe6ZMmRIHH3xwzJs3r+LcTjvtFP369avS2F27ds07Hjp06FK/RliJpTgFF+AnacSIEUmDBg3y1pPYZptt8o5zuVzyzDPPpF0qACXszjvvXOoaURdffHHRa5o5c2beenURkYwZM6bKz6mNNeuSJEnefffdSu/TVVddVfD61157Lalbt27e9SeffHIye/bspY7z7bffJttvv33efXvttVfB66+44opKP3dUZT3cl156KRkxYkTB16u6Zt38+fOTLl265N3TokWL5O23317qfY8++mhSv379JX49VnXNuoUfJ5xwQjJv3ryC902dOjXp2rVr3j3dunVb6ljVUWjNuoVuuummvNfuuOOOJT5nxowZSdOmTfP+zBe1ImvW/eMf/0heffXV5f5cZs+enRx//PF546y77rrJggULlnlvVdckXJLF16xb+NGlS5flXgMuSVZ8TcZzzz0377769esnb775ZqXrysvLK/15tG3bNu/PvSoWX3f05ZdfXqHnkG2SdQA1bKONNqr02+3XX3897/g3v/lN7LzzzkWsCgDyHXbYYbHPPvss8bWuXbtW2rm8GD777LO8aZz16tWLNdZYo+h1FNKiRYtK55aWAOvbt2/Mnz+/4vg3v/lNXHPNNUuc8rqoVq1axaOPPhodOnSoOPf444/Hhx9+uMTr33333bzj/v37V2k93O7du8dGG2203Ncvy+OPPx7Dhg3LO/fggw/Gz3/+86Xet/fee8e1115bY3Xss88+ccMNNyx1x9JVV101br755rxz7733XowcObLG6qiKgw46KBo1alRxXGgq7IMPPhgzZsyoOO7Tp0+1xz711FOXK8G2UIMGDeKGG27Imx4+cuTIvF2Ti61Fixbx9NNPL/cacNXxxz/+MXr27FlxPHfu3DjooIMqTSf+85//nLe2XFlZWdx55515Cdqq6NixY97xRx99tELPIds06wBqQd++fWPLLbdc4mtrr712/PnPfy5yRQBQ2YknnrjE87fcckvUq1evyNVE3vpbERHt27ev1hpcNW1Ja50V2sjhtddei5dffrnieI011oi//OUvyz1Wy5YtK/3y76abblritVOnTs077tSp03KPUxsWbliy0EEHHbTcGx8ce+yxscUWW1S7hnr16i1342+LLbaIzTffPO/c22+/Xe0aVkSzZs1iv/32qzh+9tlnlzgFetEmXoMGDeLggw8uRnmV5HK5+P3vf5937tlnn02lloiICy+8sCiNuogf18K7++67o02bNhXnRo8eHUcffXTF8csvvxwXXHBB3n0XXXRR7LLLLis87pprrpl3vPj3TX4asvN/PoCfkDp16sSgQYOifv36lV67+eabY5VVVkmhKgD4P/PmzYtzzjlnia8tbefM2jRu3Li840X/EZwFTZs2rXRu7ty5S7x28bW7jjnmmCrv/t6rV6+8VFih3UEXbyKm1WiK+HFjh8WbNSeccMJy35/L5ap0fSF77bVXpabG0my//fZ5xx9//HG1a1hRi649V15eHv/+97/zXh8zZkw899xzFcd77733ElOfxbL4Wo6LrztZLPXq1auRhGFVtG/fPu688868Xyo8/PDD8de//jW+/fbbOOSQQ/LStTvvvHNceOGF1Rpz8e+Li3/f5KehcB4YgGrp3Llz9OrVK+6+++6Kc9tuu22VdnwCgNpy2WWXFWzKnXnmmbHnnntG27Zti1rTotP6IiJvOmAWTJ8+vdK5QlNaF2+s7b777lUeb5VVVon111+/YprbsGHDYsaMGZWahltttVXeDqq/+93vYvXVV09lx/kPPvggb/fXRo0aVbmOPffcs9p1LDo9cXmss846eceFdkYtht122y3at28f48ePj4gfU3SL7iJ6++23523cUZsNqpkzZ8bw4cNj/PjxMX369Pjhhx+ivLx8qfcsulFNMXXt2jVatmxZ9HF33XXXuPDCC+Piiy+uOHfOOefEXXfdFWPHjq04165du7jrrruqnRZu3Lhx3vHi3zf5adCsA6hFiyfrlpS0A4BiGzZsWFx22WUFX586dWqcfPLJ8cADDxSxqshr8kRENGzYsKjjL8uiu7ovtPg/nCN+nBq7+Jptr7zySsE155Zmzpw5Ff9dXl4eEyZMqNSsO/LII6Nfv34Vu0JOnDgxdtppp9hqq63iwAMPjN122y022WSTokwpXjyR1qVLlyrvKLzmmmtGq1atYtKkSStcx+Lrei3L4rMevv/++xUeu7rq1KkTRxxxRFx11VUR8eN7+tZbb1UssXL77bdXXNumTZvYY489anT8sWPHxqBBg+K+++6L4cOHL7M5t7i0Gp2bbLJJKuNG/Di19eWXX45nnnkmIn5MLi+acC0rK4u77rqrRn4BsvgvMewG+9OkWQcAACVkwYIFcfTRR+dN31x//fXjhBNOiL59+1ace/DBB+Ohhx6K/fffv2i1Lb5O3qLTx7JgypQplc4taX2siRMn5iWfIqLglOMVqWHdddfNO9e2bdu48cYbo3fv3nmNlTfffDPefPPNiPhxquxWW20VPXr0iJ122im22WabWmneLb5+3oquH9auXbtqNeuaN29epesXbyguutFJGvr06VPRrIv4MV235ZZbxiuvvBKfffZZxfnDDz98qRtoVEWSJHHFFVfEn/70p2o1gJaUQC2GNFJ1Cy3cNKJbt24VichF9e/ff7nXbVyWefPm5R2nsb4otc+adQAAUEKuvvrqvMRHLpeLgQMHxllnnRXdu3fPu/bkk08uakpm8ZTa4km7tH3wwQeVzi26Y+tCS2rq1ZRCTZTDDz88/vvf/1Zq5C00bdq0ePrpp+OCCy6I7bffPtZaa634wx/+EBMnTqzR+hZPH67oOr3NmjWrVh25XK5a96etc+fOebvn3nPPPTF37txKu8PW5BTY448/Ps4777xqJ7UWb1QXy5LWlCymtm3bxqmnnlrp/GabbRbnn39+jY2z+J9PVdfCZOWgWQcAACXik08+qbTD6EknnRQ77LBD5HK5uPnmm/PWYBs/fnycddZZRatvtdVWyzte0rTTNC1p4fzNNtus0rlCm07UhKU1Qnbffff46KOP4r777ov9999/ibvXLjRu3Li48sorY5111olbb721xupbfA2/FX0vavM9XFks2oibPHlyPPDAA3HfffdVnOvatWt07dq1Rsa6/fbbY+DAgXnnmjZtGsccc0zcdttt8eabb8bYsWNj+vTpMW/evEiSJO+DiJEjR8YVV1xR6fyHH34Yr7zySo2Ns/gU7TQThdQezToAACgB5eXlceyxx8bs2bMrznXo0CHvH5cbbLBBXHTRRXn33XLLLRXrMNW2xVNqiy7OngWL7sAZ8eN6YUtKsi3+j+f69evHggULKjU4VuRjWZs11KtXLw488MD4z3/+E5MnT4733nsv/vnPf8bBBx+8xCmpP/zwQxx99NFxyy23VP0NWYLFG4Qr2nDNWqM2DYceemjeFMfTTjst732pqVRdkiSVdijdeeedY/To0TFw4MDo3bt3bLnllrH66qtH06ZNK027tcHBj2tLHnTQQUtc63DBggVx6KGHxrffflsjYy3+fbGq6zOyctCsAwCAEvCPf/yjUrrjxhtvrDR17Pe//31069Yt79zxxx9flEXMF9+R8/vvv091of9F/e9//4tPP/0079wvf/nLJU63bN26dd7x3Llz4+uvv67V+pakrKwsNttsszjllFPinnvuibFjx8bbb78dJ554YqV1rn73u9/VyPTddu3a5R1/8sknVX7GnDlzYvTo0dWuZWXXqlWr+OUvf1lxPHny5Ir/rlu3bhx22GE1Ms4777yTt4PrqquuGg888EClpGsh1Vlb8KfizDPPjHfffbfiuEmTJnmbSYwdOzaOPPLIGkkhLv69ZPHvm/w0aNYBAMBP3BdffFFpzaSjjz46fvGLX1S6tm7dujFw4MC89MyoUaPiggsuqPU6V1999WjTpk3euY8++qjWx10eV199daVzRx111BKvbdmyZay99tp551588cXaKKtKcrlc/PznP4/rrrsunn/++byG3ffffx+DBw+u9hgLdyxd6Msvv4xvvvmmSs949913Ky2iX6oKped23333GtlZNCJi6NChecd77bVXtGjRYrnvf+utt2qkjpXV/fffH9ddd13eueuuuy7uvvvuvE1cnnrqqSVOk62KuXPnxueff553bvFfrvDToFkHAAA/YUmSxHHHHZeXjGvfvn0MGDCg4D3dunWLs88+O+/c3//+9yWu2VbTFl1UP6JyIyEN1157bTz99NN55zbffPPo2bNnwXt23XXXvONF1xrLgu222y5+/etf552rife6bdu20alTp7xz99xzT5Wecdddd1W7jp+KX/3qV0tMuNXkxhKLbzKyeKN5WVakybv4VNq0d99dUSNHjozjjjsu79zRRx8dvXv3jp122qnSsgIXXnhhvPTSSys83kcffZTXyG7duvUSN7lh5adZBwAAP2E33HBDpbXWrr/++qVuPhAR0a9fv9hggw0qjheueVfbC/8v3gBbdOfaNDz55JOVNtnI5XJLbXZGRBxwwAF5x4MHD85cAmnxptoPP/xQI89dfHrmgAEDlvvZX331VY1ueLGyq1evXlx88cVx8MEHV3wcdthhsc8++9TYGPXr1887rsoO0F999VXce++9VR5z8V2CszLdvSrmzJkTBx54YF7tXbp0iWuuuabi+MILL8xr3C9cv25Fpw6/8847ecc9evRYoeeQfZp1AADwE/XVV1/F73//+7xzBx98cOy7777LvLdhw4Zx8803563JNnz48LjssstqvM5F7bnnnnnHizcai2XevHlx8cUXx1577RVz5szJe+2ss85aaqou4sfPY/EpoYcddljeumNVVWi9q/nz56/Q8z7++OO848XXm1tRJ5xwQtSpU6fi+KuvvoqTTz55met1zZ49O/r06WPDgsWcfPLJcc8991R83HnnnZV23a2ONddcM+/4qaeeWq6k24IFC6J3794r1MBffApvVqa7V8UZZ5wR7733XsVxkyZN4r777ovGjRtXnCsrK4t///vfeX+3qrN+3eLfDxdd05CfFs06AAD4iTrhhBNi+vTpFcetWrWKf/7zn8t9f/fu3eOkk07KO3f55ZfH8OHDa6zGxW266aZ507o+++yz+Oqrr2ptvMV99dVXcfnll0fHjh2jf//+UV5envf6QQcdtNzrTl199dV50/0+//zz6N69e5WmmyZJEs8991zsu+++8fDDDy/xmk022ST+9Kc/VZrOuDT//e9/K01f3GmnnZb7/qVZe+21K02jvu222+Lggw8uWOPIkSNjjz32qGhGNGzYsEZqYdl69uyZ15T/4osvKu0Ou7gffvghevXqFc8///wKjbn4Omu33357jSU7i+G+++6Lf/3rX3nnrr/++thoo40qXdu2bdu4++678xrYTz75ZFx55ZVVHnfRZl1ZWZlm3U9Y3WVfAgAArGxuvfXWePLJJ/PO/eMf/6i0U+myXHHFFTF48OCK3SLnzp0bxx57bLz66qt5i6fXpMMOOywuv/zyiuNHHnkkTjnllBV+3rhx4yr9wzrix2ls06ZNi2nTpsVXX30Vr7/+eowdO7bgc84+++y44oor8v7RvTQ9evSIAQMGxGmnnVZx7uOPP47NN9889t9//zjssMNi++23z9tUY968efHFF1/EBx98EC+++GI8/PDDFTUdeeSRSxxn/PjxceGFF0b//v2jR48esffee8cWW2wRm2yySd505x9++CHeeeeduOOOO2LQoEF56alu3brV6JS6iy++OJ544om8xuT9998fjz32WOyxxx6x2WabRYsWLWLSpEnx+uuvx3PPPVexFteee+4ZM2fOjBdeeKHi3iXtukvNaNu2bey3337x0EMPVZxb2JQ/++yzY5tttqnYjOTLL7+MRx55JP785z9XfF326NGjyhuo/PKXv4yysrKKZvgnn3wSG264Yey7776x7rrrRqNGjfKu32mnnfKm5afps88+q7RO3bHHHlvw72dExI477hj9+vXLW8PuwgsvjO7du0f37t2Xa9w333wz7/vTrrvuWmNpWDIoAaDW9OnTJ4mIio+ePXumXRIAJWD8+PFJixYt8v4ftPfee6/w85544om8Z0VEMmDAgBqsON9HH31Urf9/Lv7/3+p+dO3aNXnhhRdW+PO54oorkjp16hR8fr169ZLVVlstady48VLruP/++5f4/ObNmy/12a1atUqaNWtW8JoWLVokw4YNK1j/qFGj8q7v0KHDcn3eEyZMSDp37lyl93qTTTZJpkyZkvTo0SPv/Ouvv77UsXr27Jl3/XPPPbdcNS40aNCgvPv79OlTpfuX1+LvZUQk48ePr/Fx9tprr7wx+vXrt9TrP/vss2TVVVdd4p9J3bp1k9VWWy2pX79+pdfWWGON5Kuvvqp0fnkcddRRy/11MWjQoEr39+vXr0qfYyFV+fqePXt2stlmm+Vd36VLl2TmzJnLHGfBggXJbrvtlnfvmmuumXz77bfLVWffvn3z7v33v/+9vJ8iKyHTYAEA4CfmxBNPjKlTp1YcN2/efInJsuW1xx57VEqNXHDBBTFq1KgVfubSbLjhhrHjjjtWHL/00ksVyb5iadSoURxwwAHx3//+N95///1qpc7OOeecePLJJytt6LDQvHnzYvLkyXk79i6udevWscYaayzxtaWlzubNmxeTJk0quIB/ly5d4pVXXonOnTsv5TNYMW3atImXXnopjj322OVKxh100EHx0ksvRYsWLSrVu6wNUaie9dZbLx555JEl7jw7f/78mDx5cqW16TbccMN4/vnnK615t7yuueaa5Vo/M0tOP/30eP/99yuOmzRpEvfff3+lJOCSLFy/rn379hXnvv766+jdu/cy168rLy/P28ijdevW0atXr6p/Aqw0NOsAAOAn5J577qm0ttlf/vKXWH311av13L/97W95i8LPnDkzjj/++Go9c2kW3YG1vLw8Bg4cWKPPz+Vy0aBBg2jevHmss846sd1228WRRx4Zl19+eTz33HMxZcqUuP/++ytteLGidt111/j000/jtttui+7du1dMK1yaDh06xDHHHBOPPPJIjBs3LrbddtslXvfxxx/HwIED48ADD1yuP+dcLhfbb7993HzzzfH+++8vcZ2tmtKiRYu4+eab44MPPohzzz03fv7zn0fbtm2jbt260axZs9hss83i1FNPjbfffjvuvffeaN68eUREpbXtWrRoUWs18qMePXrEe++9F0cdddRSvz5XX331uPTSS+O9996L9dZbb4XHa9KkSTz88MPx0ksvxSmnnBLbbrtttGnTZrkaX2m4995744Ybbsg7969//Ss23HDD5X5GmzZt4q677sqbSv/EE08sc/26J554Iu8XFieddJJ1HX/icsmyWrgAAABFliRJdOnSJUaMGBEREWussUaMGjVquZpcK4OZM2fGG2+8EV9//XVMnjw5ZsyYEU2aNInmzZtHp06dYqONNlrh9ai+/vrr+PTTT2PUqFExbdq0mDlzZjRq1CiaN28e6623XnTt2jVatmxZw59RzRk/fnxe03G11VaLSZMmpVhR6Zk+fXq88sorMXLkyJg2bVrU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0y4BAKCodku7AAAAqkSyDgAAAAAyoqSSdb+bn3YFAAAAAFCYZB0AAAAAZIRmHQAAAABkRElNg23RfGbaJQAAAABAQZJ1AAAAAJARJZWse+H71mmXAABQVOulXQAAAFUiWQcAAAAAGVFSybptG0xNuwQAAAAAKEiyDgAAAAAyQrMOAAAAADKipKbBrtp2ZtolAAAAAEBBknUAAAAAkBEllaybPL5p2iUAABTV6mkXAABAlUjWAQAAAEBGZDJZN3LkyJg0aVJ07Ngx2rZtW2PP/Xh2sxp7FgDAymCTtAsAAKBKipqs+/bbb+O6666L6667Lr777rtKr3/++efx85//PH72s5/FdtttF2ussUYccMABMW3atGKWCQAAAACpKGqz7sEHH4xTTjkl/vnPf0bz5s3zXpszZ07sueee8f7770eSJJEkSZSXl8dDDz0U++23XzHLBAAAAIBUFHUa7NNPPx25XC569epV6bVbb701Ro4cGblcLvbZZ5/YZZddYsiQITF48OB46aWX4r777ouDDjqoWuPPz1XrdgAAAACoVUVN1n3yyScREbHVVltVeu3uu++OiIidd945Hn744Tj11FPjkUceiV133TWSJKl4HQAAAAB+qoqarPv2228jImL11VfPOz9r1qx47bXXIpfLxQknnJD32jHHHBNDhgyJd999t9rjb95sSrWfAQAAAAC1pajJuoUbRZSV5Q/7+uuvx7x58yKXy8Wuu+6a91qnTp0iImLixIlFqREAAAAA0lLUZF3Tpk3ju+++i2+++Sbv/PPPPx8RERtvvHG0aNEi77V69epFRETdutUvddK0JtV+BgDAymSDtAsAAKBKipqs23DDDSMi4sknn8w7/+CDD0Yul4uePXtWumdhY69t27a1XyAAAAAApKioybq99torXn/99bjxxhtjo402ih122CFuvfXWGDFiRORyufj1r39d6Z6Fa9WtueaaxSwVAAAAAIquqM26U045Ja677roYP358nHLKKXmvbbvttrHTTjtVumfw4MGRy+Vihx12qPb4zzZoUO1nAACsTLZPuwAAAKqkqNNgmzdvHkOGDInNN988kiSp+Nhhhx3ivvvuq3T9Bx98EG+99VZEROy2227FLBUAAAAAiq6oybqIiI022ijefvvtGDVqVHzzzTfRvn376NixY8HrBw0aFBER2223XbXH3nL2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/vGPscYaaxS8L5fLRcOGDaN9+/bRrVu3ZU6ZXV5jyxbUyHMAAAAAoDbUarOuT58+ecdHH310RETst99+sfHGG9fm0AAAAACw0qnVZt3innvuuYhY8lp2xXD+DhNTGRcAAAAAlkdRm3U9e/Ys5nAAAAAAsFIparMubfOnzE+7BAAAAAAoKLVmXZIk8f7778cHH3wQkyZNilmzZi1zl9iLLrqoSNUBAAAAQPGl0qy77bbb4uKLL44vv/yySvdp1gEAAADwU1b0Zt35558fV1xxxTJTdBERuVxuua5bXjcOW6vGngUAsDI4N+0CAACokrJiDvbGG2/E5ZdfHhERu+22W7z//vvx7rvvRsSPjbkFCxbEpEmT4sknn4x99903kiSJ7t27x/jx46O8vLyYpQIAAABA0RU1WXf99ddHRESHDh3i8ccfj7p168bw4cMrXs/lctGyZcv4xS9+Eb/4xS/i+uuvj5NPPjn22GOPeOONN6J+/frVGr9ezYX0AAAAAKDGFTVZ9+qrr0Yul4vTTjst6tZddp/wxBNPjF69esXQoUPjuuuuK0KFAAAAAJCeoibrxo8fHxERnTt3rjhXVvZ//cJ58+ZFvXr18u458sgj48EHH4x77703zjjjjGqN/2ru+2rdDwAAAAC1qajJunnz5kVERJs2bSrONW3atOK/v/3220r3rLXWj5tCfP7557VcHQAAAACkq6jNutatW0dExPff/1/CrW3btlGnTp2IiPjoo48q3bMwjTd9+vQiVAgAAAAA6SnqNNjOnTvHuHHj4uOPP44ddtghIiLq168fnTt3jg8//DDuvffe2GWXXfLuufPOOyMiYvXVV6/2+IfNXaXazwAAAACA2lLUZN0OO+wQSZLEc889l3f+4IMPjiRJ4pZbbomLLroohg8fHm+99Vaccsopcffdd0cul4s999yzmKUCAAAAQNHlkiRJijXY8OHDY5NNNommTZvG119/Hc2aNYuIiJkzZ0aXLl1i9OjRkcvl8u5JkiRatmwZ77//fqy55prVGn9kl92rdT8AwMpm3WFPpTLuvElfpDIuEc90Pi/tEkrar6a+lHYJJW36PSenXUJJe+HEoWmXUNLOK/s67RJK2rvjX66xZxU1Wde5c+d47rnn4qGHHor58+dXnG/cuHE899xzsf3220eSJHkfXbp0iWeeeabajToAAAAAyLqi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kbHbNFi1Rp4DAAAAALWhqMm6iIjGjRvHkCFD4qqrrop27dpFkiRL/GjZsmVcdtll8dRTT0WDBg2KXSYAAAAAFF3Rk3UREWVlZXHWWWfF6aefHm+++Wa8/fbbMXHixFiwYEGsttpq0a1bt+jevXuNN+mmz59Vo88DAAAAgJqUSrOuYvC6dWO77baL7bbbLs0yAAAAACATUm3WFVudXNFn/QIAAADAcstcs27ChAnx2GOPxaRJk6JTp06x9957R6NGjdIuCwAAAABqXVGbdR999FH069cvcrlc3HDDDbHqqqvmvf7oo4/GYYcdFrNm/d/acmuttVY8+uijsemmmxazVAAAAAAouqI26x5++OF44IEHokePHpUadRMnTowjjjgiZs6cmXd+zJgxsffee8eIESOiSZMm1Rq/QVm9at0PAAAAALWpqIu4PfPMM5HL5eJXv/pVpdeuu+66mDFjRtStWzcGDBgQH3zwQfz5z3+OsrKy+Prrr+Omm24qZqkAAAAAUHRFTdaNGTMmIiK6du1a6bX//Oc/kcvlonfv3nHGGWdERMQmm2wSn332Wdx0003x6KOPVpxfUQc06FSt+wEAAACgNhU1Wfftt99GRETr1q3zzk+aNCmGDx8eERGHHXZY3mv77LNPRETF6wAAAADwU1XUZN3C9ehmz56dd/7ll1+OJEmiQYMGsf322+e91r59+4iImDZtWrXHrxu5aj8DAAAAAGpLUZN1LVu2jIj/mw670DPPPBMREVtssUU0aNAg77X58+dHRETTpk2LUCEAAAAApKeozbqFa9XdddddFedmzZoV999/f+Ryudh5550r3fPll19GRETbtm2LUyQAAAAApKSo02APOeSQePrpp2Pw4MFxyCGHRPfu3ePee++NiRMnRllZWRx66KGV7nnjjTciImKdddap9virlFf7EQAAAABQa4qarOvdu3d07949kiSJ+++/P04//fR49dVXIyLi6KOPjg033LDSPQt3iV1S6g4AAAAAfkqKmqwrKyuLJ554Ivr16xf3339/fPPNN9G+ffvo06dPXHjhhZWuHzx4cIwePTpyuVzstttu1R7/8hnvVfsZAAArk1PSLgAAgCoparMuIqJJkyZx9dVXx9VXX73Ma7t37x6jRo2KiIgOHTrUdmkAAAAAkKqiN+uqokWLFtGiRYsae95BzTepsWcBAAAAQE0r6pp1AAAAAEBhqSXr5s+fH4888kgMGTIkhg0bFlOmTImIiJYtW0aXLl1i1113jX333Tfq1s10+A8AAAAAakwqnbCHH344Tj311Bg3blzFuSRJIiIil8vFq6++GjfeeGO0b98+rrnmmthvv/1qZNxbJr1VI88BAFhZ/DXtAgAAqJKiT4P961//Gr169Ypx48ZVNOg6duwY22yzTWy99dbRsWPHiPixeTdu3Ljo1atX/O1vfyt2mQAAAABQdEVN1r3++uvRt2/fSJIkmjVrFueff34cffTR0apVq7zrJk2aFIMGDYrLLrssvvvuu+jbt29su+22sfXWW1dr/ENabV6t+wEAAACgNhU1WTdgwIAoLy+P5s2bx6uvvhp9+/at1KiLiGjVqlX07ds3Xn311WjevHmUl5fHgAEDilkqAAAAABRdUZN1L7/8cuRyuTjnnHNi4403Xub1G220UZxzzjlx3nnnxYsvvljt8e+Z9G61nwEAsDK5Ie0CAACokqIm66ZOnRoRETvttNNy37Pw2mnTptVGSQAAAACQGUVt1rVv3z6VewEAAABgZVDUabC77rprDBw4MF544YXl3izi+eefj4iInXfeudrj169T1E8XAAAAAKqkqMm6s846Kxo1ahRXXHFFfPrpp8u8/tNPP40rr7wymjRpEn379i1ChQAAAACQnqJGzTbYYIN44IEH4rDDDottttkmLrrooujdu3e0bNky77qpU6fG7bffHn/84x8jIuK+++6LDTbYoNrjH9miW7WfAQAAAAC1pVaadcuastq6dev47LPP4qyzzoqzzz47OnXqFG3atIlcLhcTJkyIUaNGRZIkERGx/vrrx1VXXRVXX311PPPMM7VRLgAAAABkQq00655//vnI5XIVDbdF5XK5iv9OkiSSJImRI0fGyJEjl/iszz77LD799NO8+1bUa/MmVPsZAAAAAFBbaqVZ16NHjxpprgEAAABAKam1ZB0AAAAAUDVF3WAibfvXXSPtEgAAAACgoNSadd98801Mnjw5vv/++2jWrFmsttpq0a5du7TKAQAAAIDUFbVZ9/jjj8egQYPi5Zdfjm+//bbS661bt47u3bvH0UcfHXvttVeNj3/TzI9q/JkAAFn2+7QLAACgSorSrBs6dGgceeSRMWzYsIiIJe4SGxExceLEeOihh+Khhx6Kzp07xx133BFd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G28cTZs2jfr160e7du1i9913jxtvvDHmzp1b8P7Ro0dX7Hp76623RkTE//73v9h7772jXbt20aBBg+jUqVOceOKJ8fXXXy9XTa+88kocd9xxscEGG0SzZs2iadOmseGGG8Z+++0Xt99+e3z//fcF7/3666/j3HPPjc033zxatGgRDRs2jLXXXjsOPvjgeO6556r03gBATXvllVfimGOOiWOPPTbtUlZqH3zwQfznP/+Jhx9+OD7++OPlvu/bb7+NSy65pCKVStU9/vjjcc4558Tpp58e119/faWfy8aNGxdHHHFENG/ePFZfffVo1qxZrLPOOtG/f/+YNWtWSlWXnokTJ8bzzz8fzz//fNqllIyJEyfG5ZdfHnvssUdssskmsckmm8Tuu+8el112WYwfPz7t8oovAcigfv36JRGRRETyxRdfJOuuu27F8eIfBxxwQDJv3rxKz+jTp0/BexZ+rLbaasnLL79csI6ePXsmEZH07Nlzia936NBhmWN069YtGT9+/BLvHzVqVMV1gwYNSs4555yCz2ndunUyYsSIgrXOnDkzOfTQQ5dZT79+/ZZ4/80335w0atRoqfcee+yxS3yvAVZGuVwuKSsrS4YPH77c93z00UdJLpdLGjRoUIuVUcitt95a8edG1T355JPJ+uuvn5SVleV9bLrppsljjz22zPuHDRvm/V9BU6ZMSbp3717pvW/Tpk3Fz6ITJkxIOnTokJSVlSW5XK7iY+G1Xbt2TSZNmpTyZ1Ia7rnnHl/rNeS2225LbrvttuS7774reM1NN92UNG3atNLfj4UfjRs3Tq6//voiVp0+a9YBmXfwwQfHqFGj4re//W0ccMAB0bx58xg6dGhceeWV8emnn8YDDzwQ7du3j3/84x95982fPz/WWWed2H///WOrrbaKtddeO+rWrRtffvllDBkyJG655ZaYPHly7L///jFs2LBo06ZNlWtbsGBBbL311vGrX/0qunXrFm3bto25c+fGqFGj4t///nc8+eST8d5778UhhxyyzN/M3XTTTfHqq69Gz5494ze/+U387Gc/i2nTpsXtt98et99+e3z77bdxzDHHxGuvvVbp3vLy8th3333jf//7X0RErL/++nHSSSfFFltsEY0bN47x48fHq6++Gvfdd98Sx77lllviuOOOi4iILl26xG9+85vo1q1bNG7cOEaNGhUDBw6M//73vzFw4MBo3rx5/OUvf6nyewXwU/D+++9HRETr1q3TLQSq6P7774/DDz88FixYEEmS5L02bNiw2GeffeKoo46Ka665Jho1apRSlT9dv/71r+OVV16pdP7bb7+N/fffP0aMGBHHHXdcjBkzJho3bhzbb799tG7dOsaOHRuvvfZazJ07Nz788MM45phj4pFHHknhM1h5rbPOOlW+Z9Hpx4vfn8vlYuTIkdWuq1QcddRRkcvlYosttoiNN9640us33nhjnHjiiRERkSRJ5HK5aNWqVSRJEpMnT44kSWLWrFlx8sknR7169UonWZ1urxBgyRZN1kVEctddd1W65vvvv0+6du2aRERSVlaWDB06NO/1zz//PCkvLy84xtChQ5OmTZsmEZFccMEFS7xmWcm6Tz/9dKmfxy233FLxOQwZMqTS64sm6yIiOf7445dY83HHHVdxzbvvvlvp9b/97W8Vr++///7J7Nmzl1jPggULkrFjx+adGzNmTNK4ceMkIpI+ffoUTM6dd955Fe/1J598stTPGyCLFv52f+HHwtTEZZddVum1xT9uvPHG5Jxzzklat26dlJWVJfvvv3/an05JkqxbMePHj0+aNWtW8d4dcMABybXXXpsMGDAg2XfffZO6detWvLbVVlsVTG9J1q2YRx55pOJ969WrV/LGG28kw4YNS84777yK5NDpp5+e1KlTJ9lnn30qvf9ff/11ssMOO1Q849VXX03pM1k5LXzfFk0rVufD13/VLC3FPnbs2KRRo0ZJLpdL6tevn1x66aXJxIkTK16fOHFi8sc//jFp0KBBksvlkqZNmybffvttMctPTS5JFvu1CkAGLLp4969+9asYPHjwEq978803Y+utt46IH3fzu/baa6s0zu9+97v429/+Fl26dIkPP/yw0us77rhjvPDCC9GzZ88VXrNi8803j/feey9OOeWUih0EFxo9enR06tQpIiLat28fo0aNigYNGlR6xieffBIbbrhhRET8/e9/j9NOO63itfLy8lh77bVj7NixscYaa8THH38cTZs2Xe76zj777PjLX/4Sq6++eowcOTIaNmy4xOvmz58fHTt2jLFjx8b5558ff/rTn5Z7DIAsKCsri1wuV3G88MfgRc8tS5IkUVZWFs8880z07Nmzxmv8qXrxxRdr5DlPPPFEXHnllZHL5WLBggU18sxScPHFF8fFF18cdevWjQceeCD22WefvNc/+OCDOO644+Kdd96JXC4XG264YQwZMiTat2+fd93w4cNjk0028f5X0SGHHBL33XdfbLLJJvH+++/nfc859thjY9CgQZHL5WL99dePoUOHRv369Ss94/vvv48NN9wwJkyYECeddFKlnykpbOH3/lVWWSVatGixXPf88MMPMWnSpMjlcrH22mtXen3UqFE1XeZP1sL3/8MPP6yUrLvwwgvj0ksvjbKysnj00Ufjl7/85RKf8dhjj8W+++4bERGXXnpp/OEPf6j1utNmGiyQeUcffXTB17baaqvo3LlzDB8+PIYMGbLU50ydOjWmTJkSs2fPrvgH2qqrrhoRESNGjIh58+ZFvXr1VrjOJEliwoQJ8f333+dtKrH66qvHe++9Fx988MFS7z/ggAOW2KiLiNhggw2iadOmMWPGjPjiiy/yXnv//fdj7NixERFx/PHHV6lRFxEVUyn23nvvgo26iIi6devGtttuGw888MASp+ICrAyW9Hvq5f3ddf369WPLLbeMc889V6OuinbccccqNUWpWU899VTkcrk47rjjKjXqIiK6du0ar7zySpx88skxcODA+Pjjj6N79+7xzDPPRMeOHYtf8E/MW2+9FblcLn7zm99U+ntw/PHHx6BBgyIi4sQTT1xioy4iolmzZnHsscfGpZdeGm+88Uat1/xT0rFjxxg9enTMmzcvjjvuuDjnnHOibt2lt0LuvffeOPTQQyNCY642DRkyJHK5XBxwwAEFG3URP4Y3evXqFQ888EA888wzmnUAWbDlllsu9fWtttoqhg8fHp999lnMnTs374ecDz/8MP7617/GE088Ed98803BZ5SXl8fUqVNXaN26xx9/PK6//vp48cUXY/r06QWvW9bOswuTc4W0aNEiZsyYUWmM9957r+K/e/TosRwV/5/vvvsuPv/884iIuOGGG+KGG25YrvuW9l4CZNWi/+BKkiTWWWedyOVy8dRTT8X6669f8L5cLhcNGzaM1VZbLerUqVOMUn+yTOpJxyeffBIRP66bVkj9+vXjpptuinXWWSfOP//8GD16dOywww7xv//9b5k/o7B0EyZMiIgl/6y36PeeLbbYYqnP2X777SNC86iqhg8fHhdeeGH8/e9/j4suuijuuuuuuP7666v8czM1b+G/Q3r16rXMaw888MB44IEHYvjw4bVdViZo1gGZt6wGWtu2bSPix38ATJ06teJ44MCB8dvf/jbmz5+/XOPMmjWrSnUlSRLHH398DBw4sEae37hx46W+XlZWFhFRadrJok3AxaerLMvEiROrdP1CM2fOXKH7ANLUoUOHJZ5fffXVC75Gzahfv37MmzcvNt1009h///1X+Dnvv/++xfVXwMJf9C3PxijnnntutGzZMk4++eQYN25c9OjRI55++unYbLPNarnKn66FP7staQrmaqutVvHfC2d8FNKuXbuI+HFKLMuvUaNGcfXVV8fhhx8exx9/fLz77rux0047Re/eveOqq66KVq1apV1iyVr4tbw8m4AsvGbq1Km1WlNWaNYBmbesaTNL+i39xx9/XNGoa9OmTfTt2zd23nnn6NixY6yyyioV011vueWWih2Fqvrb/ltuuaWiUbfZZpvFGWecEVtvvXWsscYa0bhx44r0Re/eveOOO+4oSpqgqlOMFm38nXHGGcu9u1KhKRoAK5Py8vK0SygZm266abz99ttRt27d6Nev3wo/57bbbtOsWwGrrLJKTJs2LSZPnrxc1//mN7+JZs2aRZ8+fWLSpEmx0047xRNPPBGrrLJKLVf609SqVasYN25cfPvtt0u9blk/xy38BfSyfsHLknXr1i3efPPN+Nvf/hb9+vWL22+/PQYPHhxXXnll6ewwmjEtWrRY5t+LhRb+/VjWFOafitL4LIGV2oQJE2KttdYq+PrCdFgul6v4jeWtt94a8+fPjzp16sTzzz8fG2200RLvrc5vZm666aaIiFh33XXj1VdfjUaNGtX4GMtj0d8Gjhs3LjbYYIPlvnfR3+bOnDkzunTpUqO1AUDEj0tavP322zFs2LBKS1ZQ+9Zff/1466234u23346dd955ue459NBDo0mTJnHwwQfHd999F7/4xS9sLrWC2rRpE+PGjSu4jEiPHj0il8tFkyZNlvqchfcvnEVC1ZWVlcWZZ54ZBxxwQJx44onxxBNPxAknnBC33npr/Otf/4rOnTunXeJP1vjx4yutrb3RRhvFt99+G1999VX8/Oc/X+r9C//NVypJyLK0CwBYlrfeemu5Xl9//fUrfvhfuJZB165dCzbqIiLefvvt/9fe/cdWWd1xHP+cS0stTGhFy9aSQo0ERIFSWNmoo0IZOpBOfk1F20odwpAt6AQyNDI2swzDkLhAmk0swwlYSoYFDEzoD7cO6A+hFIKiUAYUsUyCRDrtj3v2B+tVpLSXwu1z6fN+JTeh957z3E+/Grj3+zzPOW3O1fQeP/7xj6/YqLPW6r333mvze/gjISHB9+er3W3vtttuU0xMjKSLC7yylhAANysvL9eSJUuUlpam8ePHa/z48UpLS9OSJUtUXl7udLwbWmJioiSpvr5e+/btczaMCyUmJspaqy1btlzVvNTUVG3ZskVdu3bVhQsX9PTTTwcoYcc2cOBASRfXUm5OYWGhCgoKWr0dv+nvoeZ2J8XViY2N1datW7V27VpFRUWpuLhYCQkJWrBgAcu9BMjYsWMVFxd3yaPpu8vu3btbnd/0b8fVLvtzo6JZByDo/eUvf7nia01n6SVpzJgxvuebbhNo6R/b06dPX9OtNP68R15enk6dOtXm9/DH4MGDfVcevvrqq/r888+van7TrnBHjx5Vbm7udc8HAMGurKxMw4cPV2JiohYuXKi1a9dq27Zt2rZtm9auXauFCxcqMTFRw4cPv6aTPG7W1KyTpJKSEgeTuFPTZ6Ti4mLfZhP+SklJ0fbt29W9e/dARHOF7373u7LWqri4+JqOs2nTJhljdM8991ynZHj44Yd16NAhZWZmqqGhQUuXLtWAAQP0zjvvOB2tQ7HWtvjYuHFjq8fYvHmzjDGtbsTSUdCsAxD08vLylJOTc9nzn3/+uZ588klJFy9pnzlzpu+1pp21Dh8+3OyZmtraWk2bNu2qN5X4uqb32Lx5c7O3uh45ckSzZ89u8/H95fF4NG/ePEnSyZMnlZ6errq6umbHer3ey5qH8+bNU1hYmCRp1qxZrX4Rffvtt7V///7rkBwAnJeTk6OkpCSVlZX5vjSEhoaqZ8+eioqKUmhoqO/50tJSJSUlacOGDU7HvuH0799fq1ev1muvvabhw4e3+TgZGRnyer2XbbaElt1333361re+JWutfv3rX1/1/BEjRig/P9+vDSpwuZSUFD366KPq169fm9fKLCgoUEVFhST5fSsz/BMREaFXX31VBQUF6tu3r44fP67s7GynY3UY2dnZrT6ef/5530Y4zdm3b5927dolSfr+97/fXtEdxZp1AILesGHDNG3aNBUVFWnKlCnq1q2b9u/fryVLlvjODj/11FMaNGiQb05aWpr++Mc/yuv1aty4cZo/f75GjBihm266SeXl5Xr55Zf14YcfKikpqc1nOdPT0zVv3jxVV1drxIgRmj9/vu666y598cUXys/P1/Lly/Xll18qISEh4LfCPvXUU9q8ebPeeecd/e1vf9PAgQM1e/ZsDRs2TF26dNHp06e1e/durVu3TtOmTbvkg3pcXJyysrI0ffp0nT17VklJSUpLS9MDDzyg2NhYNTQ06OTJkyopKVFubq6OHDmizZs3X1JvALgRvf/++8rIyFB9fb1CQkI0Y8YMZWZmKj4+3rdJUGNjoyoqKrRq1Sr9+c9/Vn19vdLT0zVw4ED179/f4d/gxmGMUXp6utMxXCssLEzFxcU6f/68b3f5qxUfH69//etf+sc//nGd03V8/fv31+uvv35Nx+jVq5cKCgokuadZ0d5Gjhyp/fv368UXX9RLL710xZPfuDoZGRnXfIzIyEjf//+trW3XYVgACEKLFi2ykqwke/ToURsXF+f7+ZuPyZMn2/r6+suOsXjx4ivOkWR/+ctf2uzsbN/PVVVVlx0jOTnZSrLJycmXvVZXV2fHjh17xeOHh4fbnJwcm5GRYSXZ3r17X3aMqqoq3/js7OwWa9K7d28ryWZkZDT7+oULF+yUKVNa/J0l2UWLFjU7f/369bZbt26tzvd4PDY/P7/FrABwI3j88cetMcaGh4fbgoKCVscXFhba8PBw6/F47PTp0wMfEAAAuBK3wQIIenFxcSovL9fChQt15513qkuXLurevbtGjhypv/71r8rNzW12C+8XXnhBW7du1dixYxUZGanOnTurV69emjRpkv7+979r6dKl15QrNDRUW7du1SuvvOK7gi08PFx33HGHZs2apffee09Tp069pve4Gl26dNGGDRuUn5+vtLQ0xcXFKTw8XDfffLP69++vSZMmae3atb5bZr/poYce0rFjx/T73/9e9957r+/2ry5duuj222/XhAkTtGzZMh07dkyjRo1qt98LAAJl586dMsZo7ty5uvfee1sdn5ycrLlz58paqx07dgQ+oEs1NDTozJkzOnPmjG99WLQf6u8s6u8s6u8s6v8VYy1b/wEAAMB9wsPDVVdXp6KiIr8XbC8uLtYPfvADhYWFXdO6p7jUwYMHlZWVpR07dujDDz/07U5ujFHfvn01ZswYzZw5U3fffbfDSTsm6u8s6u8s6u8s6t88mnUAAABwpdjYWFVXV2vPnj1+7y5X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",
"text/plain": [
"
"
]
},
"metadata": {
"image/png": {
"height": 468,
"width": 629
}
},
"output_type": "display_data"
}
],
"source": [
"# Define model and plot design matrix here\n",
"# Solution\n",
"twoway_poly = ols('balance ~ C(hand, Poly) * C(skill, Poly)', data=df.to_pandas())\n",
"plot_design_matrix(twoway_poly, plot_names=['intercept','b1','b2','b3','b4','b5'])"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [],
"source": [
"# Solution\n",
"from patsy.contrasts import Poly\n",
"\n",
"# Fill in with your model's design matrix\n",
"levels = twoway_poly.exog_names[1:]\n",
"\n",
"# Generate the coding matrix\n",
"poly_codes = Poly().code_without_intercept(levels).matrix"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 0., -0., 0., -0.])"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Your code checking validity here\n",
"# Solution\n",
"poly_codes.sum(axis=0).round(5)"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"np.float64(-0.0)"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"poly_codes.sum(1).sum().round(5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Type III sums of squares - valid inferences with unbalanced designs\n",
"\n",
"The other requirement for a valid ANOVA is to know what's refered to as \"type III sums of squares.\" This isn't technically a requirement but more of *default practice* in Psychology and most other social science because of its ability to handle **unbalanced designs with interactions**. \n",
"\n",
"Fisher's original formulation of ANOVA assumed that each combination of factor levels had the **same number of observations**. In experimental terms you might say you have the same $n$ in each \"cell\" of your design. When running a factorial ANOVA model with *different* $n$ in each cell, the type III method will partition variance for each factor in the way that you expect:\n",
"\n",
"$$ \n",
"SS(A | B, AB)\\ \\text{for independent variable A} \\\\\n",
"SS(B | A, AB)\\ \\text{for independent variable B} \\\\\n",
"$$\n",
"\n",
"In other words it will calculate the *change in model error* when adding factor A accounting for both factors B *and* the interaction between A and B. Intuitively, you can think of this as the same interpretation as when we interpret our parameter estimates: the *unique variance* of predictor `a` when accounting for the other predictors `b` and their interactions `a*b`.\n",
"\n",
"In other types of SS calculations (I and II) the *order* in which factors are entered into the model *changes* the results! This is **almost never what you want in practice**, so we won't go into the details of these calculations. Instead you can check out this [article](https://mcfromnz.wordpress.com/2011/03/02/anova-type-iiiiii-ss-explained/) for a more detailed explanation with code examples in R.\n",
"\n",
"In your day-to-day work **always prefer type III sums-of-squares** which you can calculate by making sure to `typ=3` with `anova_lm`"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Mini-Exercise\n",
"\n",
"Imagine you were running a replication of the poker study and you didn't quite get a chance to finish collecting the full set of data. Using the data we've loaded for you in the next cell complete the following exercises:"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"shape: (5, 4)
skill
hand
limit
balance
str
str
str
f64
"average"
"bad"
"no-limit"
7.84
"expert"
"bad"
"fixed"
8.36
"expert"
"good"
"no-limit"
15.95
"average"
"neutral"
"fixed"
11.89
"expert"
"bad"
"fixed"
11.04
"
],
"text/plain": [
"shape: (5, 4)\n",
"┌─────────┬─────────┬──────────┬─────────┐\n",
"│ skill ┆ hand ┆ limit ┆ balance │\n",
"│ --- ┆ --- ┆ --- ┆ --- │\n",
"│ str ┆ str ┆ str ┆ f64 │\n",
"╞═════════╪═════════╪══════════╪═════════╡\n",
"│ average ┆ bad ┆ no-limit ┆ 7.84 │\n",
"│ expert ┆ bad ┆ fixed ┆ 8.36 │\n",
"│ expert ┆ good ┆ no-limit ┆ 15.95 │\n",
"│ average ┆ neutral ┆ fixed ┆ 11.89 │\n",
"│ expert ┆ bad ┆ fixed ┆ 11.04 │\n",
"└─────────┴─────────┴──────────┴─────────┘"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Load incomplete data\n",
"df_inc = pl.read_csv('./data/poker-tidy-incomplete.csv')\n",
"df_inc.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's just focus on the `skill` and `hand` variables. How many observations per *cell* of the design in these data? And how does this compare to the original data (`df` variable)?"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
"
],
"text/plain": [
"shape: (6, 3)\n",
"┌─────────┬─────────┬─────┐\n",
"│ hand ┆ skill ┆ len │\n",
"│ --- ┆ --- ┆ --- │\n",
"│ str ┆ str ┆ u32 │\n",
"╞═════════╪═════════╪═════╡\n",
"│ bad ┆ expert ┆ 50 │\n",
"│ neutral ┆ average ┆ 50 │\n",
"│ bad ┆ average ┆ 50 │\n",
"│ neutral ┆ expert ┆ 50 │\n",
"│ good ┆ expert ┆ 50 │\n",
"│ good ┆ average ┆ 50 │\n",
"└─────────┴─────────┴─────┘"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Solution\n",
"df.group_by(['hand','skill']).len()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Below we've estimated a model with the same predictors `hand` and `skill`, input to the model in two different orders. For some reason the F-statistics and `mean_sq` (error) of each factor are different between the models.\n",
"\n",
"Can you figure out why? What can you change so that the order doesn't matter?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"*We need to use **type 3** sums of squares*"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
"
],
"text/plain": [
" sum_sq df F PR(>F)\n",
"Intercept 1968.384433 1.0 118.570935 1.224542e-22\n",
"C(skill) 22.950190 1.0 1.382466 2.408662e-01\n",
"C(hand) 1974.382034 2.0 59.466108 1.220272e-21\n",
"Residual 3917.812805 236.0 NaN NaN"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Solution\n",
"anova_lm(skill_hand_treatment, typ=3)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Looking back at either model, it turns out we may not actually be calculating a **valid ANOVA** based on our coding scheme...\n",
"\n",
"Fit a new model that estimates a valid ANOVA. Compare the **F statistics** of this model and the previous two models. What do you notice?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"*The F-stat for `hand` matches `skill_hand_treatment` and the F-stat for `skill` matches `hand_skill_treatment` because type I SS is *sequential* so it first accounts for variance from the first entered term before calculating remaining variance for the second. Type III does this automatically, calculating **unique variance** for each factor irrespective of order!"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
sum_sq
\n",
"
df
\n",
"
F
\n",
"
PR(>F)
\n",
"
\n",
" \n",
" \n",
"
\n",
"
Intercept
\n",
"
1968.3844
\n",
"
1.0
\n",
"
118.5709
\n",
"
0.0000
\n",
"
\n",
"
\n",
"
C(skill)
\n",
"
22.9502
\n",
"
1.0
\n",
"
1.3825
\n",
"
0.2409
\n",
"
\n",
"
\n",
"
C(hand)
\n",
"
1974.3820
\n",
"
2.0
\n",
"
59.4661
\n",
"
0.0000
\n",
"
\n",
"
\n",
"
Residual
\n",
"
3917.8128
\n",
"
236.0
\n",
"
NaN
\n",
"
NaN
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" sum_sq df F PR(>F)\n",
"Intercept 1968.3844 1.0 118.5709 0.0000\n",
"C(skill) 22.9502 1.0 1.3825 0.2409\n",
"C(hand) 1974.3820 2.0 59.4661 0.0000\n",
"Residual 3917.8128 236.0 NaN NaN"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Solution\n",
"skill_hand_sum = ols('balance ~ C(skill,Sum) + C(hand,Sum)', data=df_inc.to_pandas()).fit()\n",
"anova_lm(skill_hand_treatment, typ=3).round(4)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Additional Coding Systems for Categorical Variables\n",
"\n",
"We've only been focusing on the 3 most common coding schemes that you'll use in practice:\n",
"- treatment (not valid for ANOVA)\n",
"- deviation (valid for ANOVA)\n",
"- polynomial (valid for ANOVA)\n",
"\n",
"Below we've linked to a few other resources that cover additional coding schemes that you may consider in practice. \n",
"- [Coding Systems for Categorical Variables](https://stats.oarc.ucla.edu/spss/faq/coding-systems-for-categorical-variables-in-regression-analysis-2/#DEVIATION%20EFFECT%20CODING) *conceptual overview, but examples are in R*\n",
"- [Contrasts in StatsModels](https://www.statsmodels.org/stable/contrasts.html) *Shorter Python version of the guide above*\n",
"- [How to use different coding schemes in formulas](https://patsy.readthedocs.io/en/latest/API-reference.html#categorical-coding-ref)\n",
"\n",
"In a later notebook we'll explore how to **parameterize** our model to test specific planned comparisons and to follow up an estimate with additional **post-hoc** comparisons"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "201b",
"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.11.10"
}
},
"nbformat": 4,
"nbformat_minor": 2
}