{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "1c5c147f",
   "metadata": {},
   "source": [
    "# Inference for the Slope"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "a6440f3e",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:09.492922Z",
     "iopub.status.busy": "2026-10-23T03:50:09.492863Z",
     "iopub.status.idle": "2026-10-23T03:50:09.783488Z",
     "shell.execute_reply": "2026-10-23T03:50:09.783058Z"
    },
    "tags": [
     "hide-input",
     "thebe-init",
     "runnable"
    ]
   },
   "outputs": [],
   "source": [
    "path_data = '../../data/'\n",
    "\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "import matplotlib\n",
    "matplotlib.use('Agg')\n",
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "plt.style.use('fivethirtyeight')\n",
    "\n",
    "# Regression functions from 1202 (columns given by name, as in this chapter)\n",
    "def standard_units(any_numbers):\n",
    "    return (any_numbers - np.mean(any_numbers)) / np.std(any_numbers)\n",
    "\n",
    "def correlation(table, x, y):\n",
    "    return np.mean(standard_units(table[x]) * standard_units(table[y]))\n",
    "\n",
    "def slope(table, x, y):\n",
    "    r = correlation(table, x, y)\n",
    "    return r * np.std(table[y]) / np.std(table[x])\n",
    "\n",
    "def intercept(table, x, y):\n",
    "    return np.mean(table[y]) - slope(table, x, y) * np.mean(table[x])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0ae612b1",
   "metadata": {},
   "source": [
    "```{contents}\n",
    ":local:\n",
    ":depth: 2\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7530b23e",
   "metadata": {},
   "source": [
    "```{index} inference; regression slope\n",
    "```\n",
    "\n",
    "A regional manager at a retail chain wants to know whether advertising pays off. She has one month of records for 40 stores: each store's average weekly advertising spend and its average weekly sales, both in thousands of dollars. In {doc}`1202-regression-line` and {doc}`1203-least-squares` you learned how to fit the least squares line, and its slope tells the manager how much sales rise, on average, with each extra \\$1,000 of advertising.\n",
    "\n",
    "But the 40 stores are a **sample**. A different month, or a different set of stores, would give a different scatter plot and a different slope. Before the manager moves budget, she needs to know how much the slope could change. This section answers that question with the tools of Chapters 9 to 11: resample the data with the **bootstrap**, build a **confidence interval** for the slope, and use the interval to **test** whether there is any linear association at all.\n",
    "\n",
    "The data are in `store_ad_sales.csv`. The file is a teaching data set simulated to look like store records (see the chapter's materials file); the columns are the store ID, its region, weekly ad spend (`ad_spend`, \\$1,000s), number of staff (`staff`), years the store has been open (`store_age`), and weekly sales (`sales`, \\$1,000s)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "07a40f01",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:09.784712Z",
     "iopub.status.busy": "2026-10-23T03:50:09.784614Z",
     "iopub.status.idle": "2026-10-23T03:50:09.789782Z",
     "shell.execute_reply": "2026-10-23T03:50:09.789410Z"
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>store</th>\n",
       "      <th>region</th>\n",
       "      <th>ad_spend</th>\n",
       "      <th>staff</th>\n",
       "      <th>store_age</th>\n",
       "      <th>sales</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>S01</td>\n",
       "      <td>North</td>\n",
       "      <td>6.0</td>\n",
       "      <td>12</td>\n",
       "      <td>4</td>\n",
       "      <td>77.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>S02</td>\n",
       "      <td>South</td>\n",
       "      <td>7.2</td>\n",
       "      <td>13</td>\n",
       "      <td>11</td>\n",
       "      <td>85.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>S03</td>\n",
       "      <td>North</td>\n",
       "      <td>2.0</td>\n",
       "      <td>9</td>\n",
       "      <td>9</td>\n",
       "      <td>50.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>S04</td>\n",
       "      <td>North</td>\n",
       "      <td>3.4</td>\n",
       "      <td>7</td>\n",
       "      <td>24</td>\n",
       "      <td>69.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>S05</td>\n",
       "      <td>North</td>\n",
       "      <td>10.0</td>\n",
       "      <td>10</td>\n",
       "      <td>1</td>\n",
       "      <td>91.4</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  store region  ad_spend  staff  store_age  sales\n",
       "0   S01  North       6.0     12          4   77.3\n",
       "1   S02  South       7.2     13         11   85.3\n",
       "2   S03  North       2.0      9          9   50.2\n",
       "3   S04  North       3.4      7         24   69.8\n",
       "4   S05  North      10.0     10          1   91.4"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "stores = pd.read_csv(path_data + 'store_ad_sales.csv')\n",
    "stores.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d4335637",
   "metadata": {},
   "source": [
    "We use the `slope` and `intercept` functions from {doc}`1202-regression-line`. They are repeated here (and in the hidden setup cell, so the exercises can use them)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "0492834c",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:09.790789Z",
     "iopub.status.busy": "2026-10-23T03:50:09.790723Z",
     "iopub.status.idle": "2026-10-23T03:50:09.792684Z",
     "shell.execute_reply": "2026-10-23T03:50:09.792357Z"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "def standard_units(any_numbers):\n",
    "    \"Convert any array of numbers to standard units.\"\n",
    "    return (any_numbers - np.mean(any_numbers)) / np.std(any_numbers)\n",
    "\n",
    "def correlation(table, x, y):\n",
    "    return np.mean(standard_units(table[x]) * standard_units(table[y]))\n",
    "\n",
    "def slope(table, x, y):\n",
    "    r = correlation(table, x, y)\n",
    "    return r * np.std(table[y]) / np.std(table[x])\n",
    "\n",
    "def intercept(table, x, y):\n",
    "    return np.mean(table[y]) - slope(table, x, y) * np.mean(table[x])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a328c981",
   "metadata": {},
   "source": [
    "## The Slope Varies from Sample to Sample\n",
    "\n",
    "```{index} true slope\n",
    "```\n",
    "\n",
    "```{index} sampling variability; slope\n",
    "```\n",
    "\n",
    "Here is the scatter plot of sales against ad spend, with the least squares line."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "cb36077c",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:09.793631Z",
     "iopub.status.busy": "2026-10-23T03:50:09.793575Z",
     "iopub.status.idle": "2026-10-23T03:50:09.836618Z",
     "shell.execute_reply": "2026-10-23T03:50:09.836319Z"
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 500x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Slope:     3.87\n",
      "Intercept: 57.54\n"
     ]
    }
   ],
   "source": [
    "observed_slope = slope(stores, 'ad_spend', 'sales')\n",
    "observed_intercept = intercept(stores, 'ad_spend', 'sales')\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(5, 4))\n",
    "ax.scatter(stores['ad_spend'], stores['sales'], s=20)\n",
    "xs = np.array([1, 10])\n",
    "ax.plot(xs, observed_slope * xs + observed_intercept, color='gold', lw=3)\n",
    "ax.set_xlabel('Weekly ad spend ($1,000s)', fontsize=12)\n",
    "ax.set_ylabel('Weekly sales ($1,000s)', fontsize=12)\n",
    "plt.show()\n",
    "\n",
    "print('Slope:    ', round(observed_slope, 2))\n",
    "print('Intercept:', round(observed_intercept, 2))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0e9018fd",
   "metadata": {},
   "source": [
    "The slope is about 3.87: in these 40 stores, each extra \\$1,000 of weekly ad spend goes with about \\$3,870 more in weekly sales, on average.\n",
    "\n",
    "That number describes this sample. Imagine the line we would get from **all** stores and weeks the chain could have recorded. Its slope is the **true slope**, a population parameter. We do not know it. The slope from our sample is an estimate of it, just as a sample median was an estimate of a population median in {doc}`../11-estimation/1102-bootstrap`.\n",
    "\n",
    "To see that the estimate depends on which stores happen to be in the sample, split the 40 stores into two groups of 20 and fit a line to each."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "66906a9d",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:09.837579Z",
     "iopub.status.busy": "2026-10-23T03:50:09.837514Z",
     "iopub.status.idle": "2026-10-23T03:50:09.839916Z",
     "shell.execute_reply": "2026-10-23T03:50:09.839611Z"
    },
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Slope from the first 20 stores: 5.04\n",
      "Slope from the last 20 stores:  3.39\n"
     ]
    }
   ],
   "source": [
    "first_20 = stores.iloc[:20]\n",
    "last_20 = stores.iloc[20:]\n",
    "\n",
    "print('Slope from the first 20 stores:', round(slope(first_20, 'ad_spend', 'sales'), 2))\n",
    "print('Slope from the last 20 stores: ', round(slope(last_20, 'ad_spend', 'sales'), 2))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d55adf9d",
   "metadata": {},
   "source": [
    "The two halves give slopes of about 5.04 and 3.39. Neither is wrong; each is a fair estimate from a smaller sample. A fitted slope has **sampling variability**, and a manager who reads only one slope does not know whether the true slope might be 3, 4, or 5."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "50a2047a",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:09.840772Z",
     "iopub.status.busy": "2026-10-23T03:50:09.840714Z",
     "iopub.status.idle": "2026-10-23T03:50:09.842097Z",
     "shell.execute_reply": "2026-10-23T03:50:09.841816Z"
    },
    "tags": [
     "thebe-interactive"
    ]
   },
   "outputs": [],
   "source": [
    "### Exercise: Slope by Region\n",
    "#   1. Split stores into North and South stores using the region column.\n",
    "#   2. Compute the slope of sales on ad_spend for each region with the slope function.\n",
    "#   3. Print both slopes and the slope for all 40 stores, rounded to 2 decimals.\n",
    "#      Do the regional slopes match the overall slope?\n",
    "### Your code starts here.\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "### Your code ends here."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "31942e37",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:09.842827Z",
     "iopub.status.busy": "2026-10-23T03:50:09.842774Z",
     "iopub.status.idle": "2026-10-23T03:50:09.846488Z",
     "shell.execute_reply": "2026-10-23T03:50:09.846196Z"
    },
    "tags": [
     "hide-input"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "North: 4.41\n",
      "South: 2.92\n",
      "All:   3.87\n"
     ]
    }
   ],
   "source": [
    "### Solution\n",
    "stores = pd.read_csv(path_data + 'store_ad_sales.csv')\n",
    "\n",
    "north = stores[stores['region'] == 'North']\n",
    "south = stores[stores['region'] == 'South']\n",
    "\n",
    "print('North:', round(slope(north, 'ad_spend', 'sales'), 2))\n",
    "print('South:', round(slope(south, 'ad_spend', 'sales'), 2))\n",
    "print('All:  ', round(slope(stores, 'ad_spend', 'sales'), 2))\n",
    "# The regional slopes differ from each other and from the overall slope.\n",
    "# Each group is a smaller sample, so its slope varies more."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dab2a620",
   "metadata": {},
   "source": [
    "## Bootstrapping the Slope\n",
    "\n",
    "```{index} bootstrap; slope\n",
    "```\n",
    "\n",
    "```{index} bootstrap slope\n",
    "```\n",
    "\n",
    "We cannot go back and collect many new samples of stores. As in {doc}`../11-estimation/1102-bootstrap`, we **resample the sample**: draw 40 rows from `stores` at random **with replacement**, and fit a line to the resample. The slope of that line is a **bootstrap slope**.\n",
    "\n",
    "One detail matters for regression: resample whole **rows**. Each row keeps a store's ad spend and sales together, so the resample keeps the relationship between the two variables. Resampling the two columns separately would break every pair and destroy the association we want to measure."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "daef1875",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:09.847283Z",
     "iopub.status.busy": "2026-10-23T03:50:09.847235Z",
     "iopub.status.idle": "2026-10-23T03:50:09.848664Z",
     "shell.execute_reply": "2026-10-23T03:50:09.848351Z"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "def one_bootstrap_slope():\n",
    "    resample = stores.sample(len(stores), replace=True)\n",
    "    return slope(resample, 'ad_spend', 'sales')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b5ee76f8",
   "metadata": {},
   "source": [
    "Run the cell below a few times. Each run gives a slightly different slope."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "bd7d7c3f",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:09.849600Z",
     "iopub.status.busy": "2026-10-23T03:50:09.849538Z",
     "iopub.status.idle": "2026-10-23T03:50:09.851720Z",
     "shell.execute_reply": "2026-10-23T03:50:09.851399Z"
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4.193799443799443"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "one_bootstrap_slope().item()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "856c7205",
   "metadata": {},
   "source": [
    "Now repeat the process 5,000 times and collect the slopes, as we collected medians and means in Chapter 11."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "97be1d59",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:09.852569Z",
     "iopub.status.busy": "2026-10-23T03:50:09.852512Z",
     "iopub.status.idle": "2026-10-23T03:50:11.064301Z",
     "shell.execute_reply": "2026-10-23T03:50:11.063905Z"
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "5000"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Seed once so the example is reproducible; do not reset inside the loop.\n",
    "np.random.seed(42)\n",
    "\n",
    "num_repetitions = 5000\n",
    "bstrap_slopes = np.array([])\n",
    "for i in np.arange(num_repetitions):\n",
    "    bstrap_slopes = np.append(bstrap_slopes, one_bootstrap_slope())\n",
    "\n",
    "len(bstrap_slopes)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7b1886af",
   "metadata": {},
   "source": [
    "The 5,000 bootstrap slopes form the **empirical distribution** of the slope. The histogram shows how much the slope moves from resample to resample; the red line marks the slope of the original sample."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "bd4bd05d",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:11.066135Z",
     "iopub.status.busy": "2026-10-23T03:50:11.065907Z",
     "iopub.status.idle": "2026-10-23T03:50:11.171364Z",
     "shell.execute_reply": "2026-10-23T03:50:11.171059Z"
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "image/png": "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PDjPeAHvtEHPkiVLch9T//6PP/5Yqp8FAAC/800AIE8//bQdc8wxNn78eHcBoJo1a1qXLl3s+uuv36PPe6+99nIzBYa3/kXZAz2eH1r/AAD4LABQir9Xr17uVpgLLrjA3SLVqFHDDSYEAJStjLRUW5lV0c3DoVNxdTZOUQfkVktPsUzbWeplhE8DAABA8tqWFbI245aWaNn5PRtaZnrci4RkOAsAAACUHQIAAAACiAAAAIAAIgAAACCAGAQIX9piGbY5q+RXJslJ+HS0AOBvBADwJVX+LceWbDSxzL2IaaMBoCB0AQAAEEAEAAAABBABAAAAAUQAAABAABEAAAAQQAQAAAAEEAEAAAABRAAAAEAAEQAAABBABAAAAAQQUwGjVDCXPwD4GwEASgVz+QMojoy0VFuZVbHEG61aeopl2k42ejEQAAAAEm5bVsjajCv5BcDm92xomelxLVK5xxgAAAACiAAAAIAAIgAAACCACAAAAAggAgAAAAKIAAAAgADiNEAAQNJjHoHiIwAAACQ95hEoBwHAli1bbOrUqbZixQqrUaOGnXLKKVa7du2ErSfIYpnON8dS4l4eAEA5DQD+/e9/W58+fWz9+vW5j2VkZNiQIUPs0ksvLfP1BF0s0/nOvahR3MsDAKUlI4BTEfsmAFi1apX17NnTtdyPOuooa9u2rS1atMg++OADu/HGG+3ggw+2Y489tszWAwAIjm0BnIrYNwHA008/7Srtc88915555hlLSflvCnnEiBF2++23u9Z7USrueK3Hjyn4UGqapddpYutS0ywlK7VcRqQAgIAFAO+//767v+uuu3IrbbniiivsiSeesOnTp9umTZts7733LpP1+MHWrBw7/vXfSrz8tB4HxhSRplrI9slILfNlWT7Y2z5Uo4bl7NppKdVqlGg9Qd52ybx8MpddKqWl2Oqskh9wM9NTrKrtsrKUsmnTppKN8oqjrVu3Wv369e2ggw6yOXPm7PH8ZZddZhMnTrTJkydbhw4dSn09AACUd76YCOj333+3UCjkKu9ovMfXrl1bJusBAKC880UA8Ndff7n7SpUqRX1+r732yvO60l4PAADlnS8CAK/C3rFjR9Tnvce9Cry01wMAQHnniwBg//33d/eatCca73HvdaW9HgAAyjtfBACZmZlu4N7SpUtt5cqVeZ7Lycmxr776ylJTU61FixZl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",
      "text/plain": [
       "<Figure size 500x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(5, 4))\n",
    "ax.hist(bstrap_slopes, bins=25, density=True, ec='white')\n",
    "ax.axvline(observed_slope, color='red', lw=2)\n",
    "ax.set_xlabel('Bootstrap slope ($ sales per $ ad)', fontsize=12)\n",
    "ax.set_ylabel('Density', fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3fc4388d",
   "metadata": {},
   "source": [
    "Another way to see the same variability is to draw some of the bootstrap lines on the scatter plot. Each gray line comes from one resample."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "4ec9da06",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:11.172550Z",
     "iopub.status.busy": "2026-10-23T03:50:11.172483Z",
     "iopub.status.idle": "2026-10-23T03:50:11.235361Z",
     "shell.execute_reply": "2026-10-23T03:50:11.234950Z"
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgYAAAGLCAYAAAC8+Vo7AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjIsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvgI3uAAAAAAlwSFlzAAAPYQAAD2EBqD+naQAApBtJREFUeJztnQd8W9X1x4+3HTuJs/cig5BFNhnsGSij7FJG2RT+rAJldDBKKVB2aZllQ6FAGAEa9swikwyy9952vOLt/+d7zRGyI8myLdmSfL6fjz62np7eu+9Keud3zzn33Ljs7OwKMQzDMAzDEJF46wXDMAzDMBQTBoZhGIZheDBhYBiGYRiGBxMGhmEYhmF4MGFgGIZhGIYHEwaGYRiGYXgwYWAYhmEYhgcTBoZhGIZheDBhYBiGYRiGh0SJIDZu3Cgff/yxe6xatUp69eol77zzTsj2h4kTJ8obb7zh3tuqVSs54YQT5IorrpCkpKQwXJFhGIZhRBcRIww+/PBDOe+886psS0xMDNn+8Pvf/16effbZKtumTZsmn3zyiRMMycnJdWq7YRiGYcQKERNKKCoqkq5du8oll1ziRvSh3v+rr75yoiA9PV0eeughmT59urzyyivSrVs3+e677+Spp54K0ZUYhmEYRvQSFymLKGHoU1JS3P+lpaXStm1b6du3r8yaNSsk+5977rny0UcfyT/+8Q+54IILPNvnz58vhx12mHTv3l0WLFgQlmszDMMwjGghYjwGauTDtT9egdTUVDnrrLOqbD/wwANl+PDhsn79elmzZk2tjmkYhmEYsUbECINwsm3bNsnJyZF+/fo5cVAdxAGsWLGiEVpnGIZhGJFDxCQfhpPs7Gz3l3CDL9q0aVNlP38UFhZKU6OkpER27Ngh7dq1s5kb1r9Rh31/rX+jmZIQ3X99DYilqQuD8vJy9zc+3reDJCEhwZOrEIjNmzdLWVmZNEW2bt3a2E2Iaax/rX+jGfv+Rm7/Yt/222+/Wr2nSQgDZiIA4QRf6PbmzZsHPE7nzp2lqVFcXOxCMR06dLDpnNa/UYd9f61/o5niRrr/NglhgEGnU8khqKiokLi4uCqvL1++3P3t0aNHSN0xsQT915SvP9xY/1r/RjP2/Y2t/m0SyYcUPho2bJhkZWXJlClTqry2a9cumTp1qrRo0UL69+/faG00DMMwjEigSQgD0GmKN954o2daIsmGV155pUsqPO2008xVbhiGYTR5IiaUgJE+4ogjqmxbu3atG+lDx44dZfLkyXXen6JGr732msydO1dGjBghnTp1kp07d7pCScRvbr311jBfoWEYhmFEPhEjDMj2r15giKkaug0DXp/9merBegi33XabvPvuu7Jp0yaXa3D44YfLgw8+6ISEYRiGYTR1IkYYsNIho3l/6JTCuu6v72FNhMcee8zNDc3MzJSMjIx6ttwwDMMwYoeIEQbUGKjNXMva7l+9nDILMBmGYRiGEaHCwDAMI1Z4f22B3DcvV/JKKiQjKU5uHdZcTunZrLGbZRhBYcLAMAwjxKLg+mnZklX088K1PAcTB0Y00GSmKxqGYTQEeAq8RQHw/P55ufYBGFGBCQPDMIwQQvjAF7l+thtGpGHCwDAMI4SQU+CL5n62G0akYcLAMAwjhJBo2Cqlqgjg+S3DAi/SZhiRgiUfGoZhhBBNMCSngPABngJEgSUeGtGCCQPDMIwQgwgwIWBEKxZKMAzDMAzDgwkDwzAMwzA8mDAwDMMwDMODCQPDMAzDMDyYMDAMwzAMw4MJA8MwDMMwPJgwMAzDMAzDgwkDwzAMwzA8mDAwDMMwDMODCQPDMAzDMDyYMDAMwzAMw4MJA8MwDMMwPJgwMAzDMAzDgwkDwzAMwzA8mDAwDMMwDMODCQPDMAzDMDwk/vyvYRiGYRjh5v21BXLfvFzJK6mQjKQ4uXVYczmlZzOJFEwYGIZhGEYDioLrp2VLVlGFZxvPIVLEgYUSDMMwDKOBuG9ebhVRADy/f15ulW3l5eVSVFTUKJ+LeQwMwzAMo4HIK6kqCpTcn7ZXVFTIli1bZPXq1ZKYmCht2rRp8M/GhIFhGIZhNBAZSXF+t+/YsUNWrVoleXl50r59e+natavs2rWrwT8bCyUYhmEYRgNx67Dm0iqlqjjITBY5s8V2mT9/viQnJ8uoUaNkyJAh0qxZ4+QcmMfAMAzDMBqIU35KMCSnIKe4TJLKS+S0ZltkfEac9OkzTFq3bi1xcb69Cg2FCQPDMAzDaECO7RAnffrtlK1bt0paWprst99+0qFDh0YXBBErDMjCnDJliouzZGZmyllnnRVw/+LiYrf/xo0bpVWrVnLooYdKy5YtQ7a/YRiGYYQC7M+aNWtk06ZNkpSUJPvvv7907txZ4uMjK6ofMcJg2bJlcs8998iXX37pEi+gb9++AYXB7Nmz5cILL3RGXsnIyJDHHntMTj/99HrvbxiGYRj1pbS0VNavX+8e0KtXL+nWrZubdRCJREyrFi1aJJMmTXKJF4cffrh8/fXXAfcne/PMM8+UrKws6d+/v4wePVpWrlwp06ZNkyuuuEJ69OghI0eOrPP+hmEYhlEfqEWAdwAvAeIAMdCzZ0/nLYhkIkYY4FJ56aWX5Mgjj3Qxl7Zt2wbc/4knnnBG/qSTTpIXX3xREhIS3PYHHnjAeR7uvfdemThxYp33NwzDMIy6QC0C8geoRVBYWCidOnVyeQSpqakSDcRlZ2f7rrbQiKCsEAaEEmbNmuVzH6ZzrFixQubOnes6XCkpKZEBAwY4EUCeguYP1HZ/oxK+1Bs2bHBKN1q+1NGE9a/1bzQT69/f92u5pgGCYOfOnZ5aBO3atZM+ffpIenp6VPVvZGU8BElBQYELA9BZ3kYecNGMHz/eiYslS5bUaX/DMAyjafP+T2saLMkulQ35Ze4vz9nui+zsbJkzZ46rRYBdYTB64IEH1lkUNCYRE0qoDbhoUGbkBfhCt1NWsi77B1JvTTGL1vuvYf0bTdj31/q3rtw7N8fnmgZsP67jz2Pq/Px8l0NAhUKS2fFAM+ONqYf1sRl4HBjUen+P60ptvQ1RKQz27t3r/pKL4AutFqWdWtv9/bF582YpKyuTpsi2bdsauwkxjfWv9W80E4vf3+zCVJ9O9ezCEufex1hz3XgK8BB07NjRhaIRCjzqCmJi+/btsmfPHudtwMtdn/4ln666pzwmhUFKSor762/lKd2uKqm2+/uD+aZNDf3yU3yDGSOG9W80Yd9f69+6krkwW7YW7TsQbJmS6GwGHmamGxIuILmwvrUIGMCuW7fOiQLutUOHDpUWLVq4/LeGvv9GpTAgoUNH8L7QOgW6X23390csJtcEC1/Kpnz94cb61/o3monF7+9tw1u4nALvcELLxAo5JWWj7NyZ75IKQ1GLAA8BoQjsE/3IdHo8ENQ82L17t/NCNHT/RqUwoKNYdYrMT9QVq1Ap5BLMmDHDxXeI9dRlf8MwDKNpc8pPsw+YlbCnsEQSy4vl7BY75Yx+mdKz54H1HsHjdVi7dq2rc4C46N27t3P7E6YgrM2aCXipc3NzpaGJylkJcOyxxzqj/uCDD1bZ/t///tcpLYoVeddCqO3+hmEYRtOloqJCRqfskQfbr5TH2y+T14fulRuOHiz9+vWrlyggvMXUeYrrkRjfvXt353lAECxfvtwlMFKAb/jw4W5ZgMYgYjwGuFNefvllT7UoIPnimWeecf+ThHHuued69r/66qvltddec68TChg7dqzzCLz66qvu9RtuuKHK8Wu7v2EYhtE0BcGuXbucfWC0ToiZPAIMdn2gZg6DUAQAdOnSxf3FY8B0efIUmCGHrUM8cH62N8Y6ChFT4IgPAleKP3CpLF68uMq2999/X6688soqswkICdx2221y880373OM2u5vxH4Bk8bG+tf6N5qJte8vg9GVK1e6hD9G6+QR1HfUjnGnj0gsRHSQSAiEtXmObUMQ0H/0J+IBsQDMdCDM0ND9GzEeAy76sssu8/u6r4qEp5xyiisigcHHC0BMZsKECTJw4ECfx6jt/oZhGEbsw/RCBAFr6mRkZLgZAW3atKnXMsgIAuwMgoBp7ngetFQyuQQYex6EJRisUmCPmQ68RngBwUAeAm1qsh4DIzKJtRFBpGH9a/0bzUT795f2s54BBpn2M9+/Y8eO9RIEiABG/CQWEj5gAIogwAuBCMDozyltIw8syJec4jJJLi+R09O3yqGZRR5BgHhgYUG8BboSY5P0GBiGYRhGQ4DBxnAjajC+JBQS869PPL+8vNxNOWTqISN9vNwYc8LkFNdjoUDyCD7cUCQ3zMiSbE8xw0R5trSLDBiYKT3idslnn33mRAT1d2pbmChUmDAwDMMwmgTe8X5gCWRG6fWpRVBRUeE8DggCihSRPEg4gHwFwhKDBg3y5BVg8O+cniPZxVWXXd5TGie3T90iN8t0V4mX9yBWECqarNiQmDAwDMMwYhpG897ufbwDuOjrM+2woqLCVYUlFEGOAN4Bjke+AgmLrA6sU+BZcZFzIxbyy/r6PN7e8ngZMWqEe5+2q7HW5zFhYBiGYcQk3sab0Tz5A7jn/a2bE+wxd+zY4Y7JdEaqFDKyx4iTsIgXQmcycG4EAQsisbDSsGHDpM23pbI9u3Sf47ZvmSEDB/qfmdeQmDAwDMMwYgqMN+WEmWmgtQgGDx4szZs3r9cxd+7c6QRBTk6OEwMkKZJsSDVdphyytoHmGhCuwJOA14D8Al6jgNFhhVtknfSSAvnZW9EqJU5uHVb3tkWMMCBrkspNxD9wj6CQyJwcN26cJ55iGIZhGA0J9ojiQAgD7NKIESPcaL2uVPw0o4Bj8le3kUfgXZSI/AVqECAIKFCkYgTvBFMRly5d6oTCuFatpHfveHl+U6LklVRI86Q4uWVYc08J5qgTBrhK3nzzTXnhhRdk3rx5fvejlOOFF14oZ511VlROYTEMwzCiC2L7uh4OSX9UK2S0Xp+ph1lZWc5DgKcAzwDHYrYAa++QtIh9I2eBxENEgXcFQ4QDYgAvAbaTaYtjxoxx7+U4/qv2RJEwmDhxotxxxx3OU3D44YfLX/7yFycA8A7gnsFdw2tz586Vb7/9Vn73u9/JAw88IHfeeaecfvrp4b0KwzAMo0nivTohRpvF8DDO9REEe37yOiAyMPYcC68AYgDDTnIgUxIJVVDESCsY8jr74yHg/XgOyDs4+OCDa9Wm0pIiydn2gWQXD5PGIOgCR1zwVVddJRdffHGV1Qn9QYc+//zz8sQTTzglZUQn0V7AJNKx/rX+jWYa8/urtQgwzMT7mWWA0a5PLQIGuKtXr3YiA8PPNEZyA/AAMJOB5yQxEi5giiKGnnPyIEywbNkyZ+9oG96KIUOG1EoQFBVsk6LtT0rruDckPXmrzNv9uJQlj4ncAkcLFiyoVc1oxMOtt94qv/3tb+vaNsMwDMOoAi59jeUDRru+tQiYNYAgQGQUFha6Y5EjwAwDDDtig1AFhh/POK/zGmKBXIbZs2c7MYG3AEFAHYLaCIKCrFkSl/1PaZv8sSSmFHm2d06bKBvKxjT4NyDonqzrQhKNtWykYRiGETt4VxbUWgQYZ8IHdYVRPi5/RAaCgBBB586dnfeBwS2GnRkIeCaYosjr1BkghI5XnAR8XQyJkMEBBxzg3h+MIKgoL5WCHf+V1IJ/S6fUeSI+HALtUr+TrQWsldBNona6ImtMz5kzx60l3VilHA3DaBjeX1sg983LdZnVGUmV060iKbPaiA0wuhhfDDiGnFoErMRbn1oEhAMQGHpM3PR4HhAEbX5aPInEQwQBJY2pRti/f3+XQIg4mTJlinudtuEhoEohgiCYMEZZ8XYp2v6EtCz/j2QmbfcpCJTd+Z0lKX6XNDR1FgYzZ86Uxx9/XF555RX3fPr06W71QpIt6OTJkye7Yg6GYcSmKLh+WrZkFf2cosRzMHFghAqtRcCoHQNc31oEumgSxyQ0gLjAA8BAFu82hn7Xrl1OEGRnZ3tKGvOXXIoff/zRhR0AAcGyzAgCZiDURGneHCnf/Q9pnTBZEhKKRfy8pbw8XpZtHiRz146XksRRMmhQf2kjUSIMmHFw5ZVXep4/+uijroMffPBBefHFF+Xhhx/2iAbDMGILPAXeogB4fv+83CrCwLwKRl1ACGC8EQYsRlTfWgQkEiIImDqIIMADMHDgQOchQGioVwIvQm5urjsn0x3JJSCfgRw7vAzsRzsQEiQc1igIKkqlePebkpz/tLRJmi9SdYmEKhQUpcsPaw+SBRvGSWJqD4/ooC8kWoQBdQyYrggkXOBaeeSRR2Ts2LEug/KYY44JZTsNw4ggCB/4Itdru3kVjNqC0caAU0qY6YFk9ZMEWNeph+QiIDBIGmSkz8ifY2LYEQfeVQo5N6GCYcOGOZuG1wBhwjEAsUC4AftWY6Jj2Q4p2fGEZJS8Ki0TdwQUBFuyu8qc1eNlzY6R0qpNRxlx0P7uHIgQ9U5EjTDAJaPxlB9++MF16vjx4z0uFtwwhmHEJuQU+IIqbrX1KhhGqGsRYMzJH6CeALYJQYDXAQ8BoW5mNugqi5wb8UHZYrwCy5cvd14DDDPCgfcy6wFjzboIgajYWxkuaCn/k4T4Er8Wtqw8QZZtHixz14yXPcX9ZV3L/eXdZp2lsCBBUueXy7kbVsngiq1uqmR9PCUNLgzIBp00aZKcd955LmSAAiNLFFBavG4YRmxComH1HAPqvVPatTZeBaNpgwHHOGOkGWgSjsaOBBOz9wUjfTwEixcvdqNtDCvJ8AgCjLp6ArTWAImMnI9EwkWLFrmQQ0JCghMFzEBADOAlCCgIKkqkImeiJOQ+Ic0TFogEyD/ML2wu89YeJIs2jpP45MpZFVmp3eXZReWSXcwe5W6/R/a2lL8MbiVn9st0YilqhMFll10m11xzjfz1r3918zrvuusuz2uff/65TJgwIVRtNAwjwtARP6P/XD/13oPxKhhNE+8RO6NyRuQY4LrWIuB4hAvUQ4Dbn3V7MLwck6R4PAick/PhjWDKIVMQCYuzDSGAhyIuLs4JCd4baFnmuLLtUp71lKQVviwpCTv9JhPC5qweMnfNOFm9Y7i0aNlWBg3t4wQJMyKu+LZIsourCo+csnh5Zm2i/OqAugmkRhMGv/nNb1zSBrkFZG2yNoKCS+imm24KVRsNw4hAEAGBQgLBeBWaKk01KZOROCNg8ggw1hhHjHBdaxGoIMBDgJFlZsEhhxziRIYuhcy5Nm3a5PbnfLjmGcwiCPAOkGvAe/EgkFDYs2fPgFUG44tmS8Xuf0hGxWSJjyvxKwjKyhNl6eYDXbggu7CPC1eMHdfbiRZmPsyfP98Jkr3lfSPOs1avOgannXaae1SHGQmGYTRtgvEqNEWaYlImgoDROaN2RvS48DUBsK6CAO8AD4w6SYOjRo1yngdG/GzTssUYf7aTzIgoIYyA4UdE0BZCDlrUyK8gqCiW+PyJkrDnX9IsflHlNj+Or7zClvLDurGycMMYiUvs4LwTg3v0cH1AUiXnZ5qkVlVsPXmPbMsu3ec46QmVS0c3BvUucIQi44LrU2zCMIym6VVoijS1pEzvWgQkpuNhrmstAgQB3gEEAYmCHM97xUKMPDkEGGDCAJpbQKljPNmclxACyfE8ECjs40+gxJVtlfg9z0jK3hclKX53wPyBzVn7Oe/A6h0HSnpGpvTu1821D/HBuYFqiiQ54rXQxMpbh5XvIxQz4kplfN4SmT272FVTjHhhgBJ77rnn5P333/e4b4COJZOUIkeXXnqpCQXDMAwfNJWkTO9aBCQBMr2dkX1dIGkQe8MyxggC3PLMgtOEd1ZD1LLFDFKpjMiAFUFAQiEGGmPM8snUK0AcIAjwIuxDRYXEF8+U+D3/krTSjyQ+rsyvICgtT5TlW0a4YkRZBT1dmGDIgd2dKNHKicxqoCYB3oHqSYy08ai25XJTtzx5ck285JdRCLFMTk3bIqfu18YJnsaYslgrYYAKO/HEE13pYzr+sMMOcx2hHwzTPP785z/Lq6++Kh988EFQqzAahmE0JRo7KTPc+Q26/kAoahEQ96faIHkEGHiqH5JDgJHFqCI6tN4A52JWA/uxjfg9AoBBKzkFxPWxSRQuwljvQ0WhJBZMlIScJyRVfqzc5qfJuYWtZMH68bJww0FSHtfaCZ6Bvdq7c9IWwhecmxAFosj72vF6IBpoE2EF/m9eViZ/ychwQoBraNGijxMw5GE0BrUSBrfffrvrfBaOwDvgC1QdyzPfcccd8uSTT4aqnYZhGDFBYyZlhjO/AYOMy5xEP0bM9alFQIiacAGDTY6LsKDwEK5/zVfgXHglMLyMyBlZI0hIOsSTgOcAjwF5BggKKh2yb3XiyjZJYu6/JangRUmKywrYrs3ZfWXe2oNl1fZBkpqaIW07tHbHpL0YeAbKuP4RIN4zLHgdbwXtpj3UScALQhvJtaD9tBFRRf9RaVGTKdke0cLgs88+k08//dRdhD/4Mvz73/+W4447LhTtMwzDiDoCjcobMykzHPkNjIAx0oyAMcrYh6DKBfuAMAEeAgw8o2UEwdChQz2CgHPgDUAEYDQxqnirCVmQOMhz/pJ4iPHVpET1bHuoqJCEkumSkPOkpBb/T+IIF/jRL6VlybJ822j5Yd142Znb2Q2Ou3Zt5cICiBaMPgII74B6ImgrQgEvBYKA/7k2+or3IVyYOcF10Wd4B1iAUCstIqbYXp+lpOtDrc5KEgUdUBNcLPsahmE0NYIZlTdWUmYo8xu0FgFuftz1xOxrLAbkr115ec5DoNMY1eWPOx4jyygaQaAJh4yiMaLsjzFmQMp52QehQD6Bz/UVKvZKUsHbkpD7pKRULK4hXNBGFm06VBauHy3FZRnuGjt3rvQ40CbOSyIhbUEE0W68AQgB2oZowCtAeEHXWEAQYENJgtSkRGZKeOcR4EVAELEfIkSnWkasMMBF8vTTT8sNN9wQcD/2aYxMSsMwjMYmkmcdhCK/ASOHAcQo4+5mNI6bf59ReRBgxEkoxKAzUsYgkpPA4NK7CBJGVwUBhpeRuK5rwOgaA6uufJIcvbP+Ia5sgyTn/VsS81+SxLjA5fo3Zx8gCzYeJiu39Je4+ERnqFs0a+ZG8Hgj8Azw4H8MOnkCtImwhhZK0nLK/E+b2Z+/ulgTIRLvHALqONBm9qMP6FeO2VhLC9RKGCAILrjgAvnmm29cEiJJErpUJR8wSYkffvihfPvtt7ayomEYTZJInnVQn/yG6rUIGM0Tt8eA1aZAkbrZ8TRgVBEAuqQygsC7bDH/YyhxqXNuBAHnZV+OQ1t01gMhB8SDRxAQLiieIkl5T0ly0WSJiyv36x0oKUuWVTvGyfz1h8j2Pe0qCx+lpzrDriN4jDb2TmcbcN14BWgbHgBECQYdY493gToFXA8Cgv4i3MHoHwFB2zkHx8MzwPE5Fsfkmrhu+hTPia5JFLHC4OSTT5bnn39e/vjHP8rvf/97n/vgKnnhhReccDAMw2hqNPasg0DUNb8BY4hhYwDoMvB/SuQjvh4sKiwYLeM+V0HAsTCOWraYhEH2xcgDYgAwzBQqwrOAtwIjqqslVpn1UJ4vSYVvSVLuU5JUvrSGcEF7WbL1SFm0cZTk701yRjgtLcUZdow29oy/GHO8FwsXLnSeAFz8nJP9yWVgZI+hx5DTTkQC++EVQAyQG4Hhrzx+WmVho9at3T5cH8fmmhEYXCP9wv/0L/3R0MRlZ2fXWsbygc6ePdvNQNDKTPplGTlyZKMoHCM88MXkS8tiIoHKhBrWv5FIY3x/feUYMCp/dFxmo4cSagtGD0GA8dLsf+9aBMH0L8YPw8hxmMKI/cDoE27GiGIwCRcgFrAdHJ8RM2KEvAGOTTKjljdGXGCYSTTEEKsgiCtdK8n5zC54WRIkJ+B1bd4zWJZsPVqWb+4txcWlHoPNNXbu3NkZZdrFdeMF4HVc/bSb68TucS2IFIQD79GZCHgHEAN4PLzDCwgJBAPH4trYT4/La4gBXfmRa9RkTtrV0PffOqU8oowOOugg9zAMwzBiqxQ0xhAjjHGqay0CDBzGHi8Ao3sMJEafhD1G4iQSknDIOTCovIYxZpTNOfv37+9c8QgC8hAwxBhJBqBsd23BJV/0tSTnPy1JhR9LXJz/cW5JWaqs3nWoLN5yhGze2dx5KBISypwY0BE67Nq1y50LVz7bCZnjmeAauB7EEq9pIiFt5VppNyKJ/AvazDVxbIQDNpN8BN6PSEBgUAuIa2Y/DceTK8G5EUYL4jrIf3a1krzSCmm5MFv+MLxFg32HrCSyYRhGiInWUtDVaxEwqsf41cYLzCga97cWHsLoYRwxsIz8GSmzxDGjYjwCjJgRCRhe9mM2AgaZbQgChAOGuEpbyvMkueC/Ln8gsXxF5Yn9aJacwo6yatcE+XHTKNmVVfLTlMFKkcL5OB7XTbsZ0ffo0cOdH4NP+zHmtA3YjkHXXAauhdAIIkpzBxjZkwehMxUw+BxLExA5hwosrhHPAmKC/9U7MKe0jTw+p+Anr1OcbC0qa9D1NKwksmEYRhOHESrufIwUhhLjh4GqTS0CjKvOIsAYgtYa4FiMtCncw4gcQ6/JerjVNdeA/dWTgLFEnPTr18+NzmlXfOlqSc57VhLzX5UEyQ3Yns05w2TV7uNl8TrKChdIeXm+Oy+CgOMiSjDQPOf8GHu2FRQUODHA+bkmLWmMl4L3ISwY1atHRb0DGHWOjzhgHzwQKjK812Kgr/EucHyunfcShmDKJddPm857d1ujzmyJ6pLIxKweeOABmTp1qlNrqNEzzjhDrr76ap/raPOBUI3x9ddfd4qWL8QJJ5wgt9xyS52m2hiGYUQzGDC8A3gJcPVjwGtbi4BRsU6/0/n43E+pa8A9mXvzDz/84BL0GE3jXmekzXY8ALryoYYMMMoYSzwMCIKE+DhJLP5KkvEOFH0eMFxQXJYm6/ccKSt2HCurNsQ7I19RkePOyzkw8tz3deqjjt59GeuOHTt68g3UO0BYhAdt12JFHJe/CAOOSchFRYai5Zs5Pp4S+hpPCWIIO1ldgDX2zJZaJR9eccUVborJE088UWNJZNw+4SyJPHfuXDdLwtcCE0cccYS89dZb+1SNYqrlpEmT9tmfD+eTTz7xXT+7iWPJh9a/DU0oa/nb97fmWgSMimtcdtgH3HsZJHIM7rUYT4wkwgJjr9P68BRwXIwfxhWDiWDgwQhbkw8ZrLEP7+e1xPgCSd77uiTlPSOJ5asCtiWnsIuszTlJftwwTDZvzXXHpD2M1DHSHM87wU/7gAEtQgRRgDhANHT+qZYAbcGAMyDmOukvhAbbGXhyrZo4yEPDEtX7iPfprATegxjSaYz+GPvuNlniYynmAZmJMu3UDhJuorYk8nXXXec6ndUcGfHT2cStbr31Vvnqq6/kpZdekksuucSzP6tBIgr4Yjz++OMybtw4p/yuueYaV4Lz0UcflT/96U9hbbNhGI1Xy9+oNIbEy/G2YqQZreL99bnKoB90JUMMpsbmGVUzbx+PA4KA8r4cH+PHg/AARprEQ+7VCAneRzsIP2DEeT+CIlnWSHL+bZJU8B+JF/8VdCsq4mRr3ghZlXWCzF/RTvbsYQbAdic8iPFrCEKT/xTajLHmQRsZ6XNe2sX/wHYED4IATwf9RpsRAhwbw44YoN+qJ2TiQaFvOD6eBdrD/lrxMJgEzsZcT6PWHgM6hM6q6UuEwUY8oJLCAV8kClzwRZo1a1YVlw0uMaph4QUgxKAQYvj888/lxRdflF/+8pee7VwPtbQRDMS1bKplVWzEFV6sf8M7UrL+9V+LAEEQbAi1+kqGuNEZTWNwGfWTMMh9n5E/fc42Xsf4EzrAC6BTC9lGLgP3cUBMdO/WVdLKv5ak/KclufjLgG0pLk2XtdlHyvz142XNxjhniDku50F4cO+vbrBpC4JISxZzn6c9GGutksg+hFUWLlzoDHvlrIUE10cIB7wO2AlfxZyqH5/j4ang+LynLnYFkXzv3BzJLiyRzNQkuS1SZyVESklkPjTgC1A9FoY7jA8SLwA/BD50vtTTp093X5bqhZdIjBk9erR7nR8NKtMwjMahsWOrsQiufJ0yiPH0VTLYH1rC1zuhECPIfVcr9pFfQA6BVuvTLH8MI4JAz8XriAFEAcfA0PbslinppW9KUtazkli+NmBbsgu6yNLtx8qclf0le0+JVFSUOJc+AmfMmDFV6isoOkWQQSqGXsUDg1y1HXgEaD/tIlQQFxfnRvZMl9QZCL6SMOkbPAKIAa1pwPGxIRzfV55bbUAEHNcx/qc6Ee0it45BpJRE1i8A+Q58wbzVGHEq/QJj6PEGqMsIT4Kv1aoGDRrkhAE/HhMGhtF4RHLVwGgD971mzuMix8vqXRAoEFqUCEGAcdUcAsA9zwPPAbMMMKyaTY9xxG2OINCcLbwLOn2R/3lv725FklH8pCRlvSHxUuC/HRVxsm7XUJm//lBZubmLFBXhHSh1gz9qK+jiSd7QBgw1ggDDjYHWREJtE/Zg3rx57p6PvcCGMXDkeAMGDKhaWrkaeEQ0b4DjVK9pEAtEZUlkRvmEETD81157rdx2223ugyfx0duboQKBLwf4UpTAl9p7f3/UpvxnrKCLfOhfw/o3nNwwMFVunpUvWcVesdXkOPndwNQ6/f6a4veXa2X0i2HEaOJF1eV9GckHAsON0cOQ0986StUlkDkOgoAcAl0eWN+HB4D7v7raMZocixFvpWBoJ/27rJTmZQ9L6p4pAduxt7iZLN48XhZuGC8796S78ycmVrjjE7bACHNuzssDw45AQRCQ9c9z7veM+vnLvnhOGEwiBvAm8z7aiojB++xdwKmoWj+xLx4XxAB2gv3YHzukoigcNkLbUd/vb229DbWuY3Daaae5hL/GLol83333ybnnnuumRvLgg9FCGkcddZR88cUXQR8r2PZqfe+miIZvDOvfcDI0TuSW/eLl2fVJkl8WJ+kJFXJZ9xIZGpcvP4Wk60RT+P6q8dJiPDptTqckBgI3P/UFeGhIgPfhWsetznE06VC9tFrqV+v+424n7MB2DK9m+rdvkyRDe8+QjikTJbU4cN7Z9j2d3MqGSzcPl/yC8p+mBFYKAgQOCYzqgVCDybl4ID5oj3fhIgw5YoC/eD5oD9vxOJDboIsUYYCrr0lQUVHhxA3H1tLGeAQ4Nu/Xaoa+ZsbVB8QF5+OBQUdw1ef7SzsZTDeJksgTJkxwswzuv/9+mTlzpvvAyRWgrsFNN93k9iHpA7TUpb8lLPngvffzB66opoZm2IYiZmZY/wbDhd1ELhwWmm9LU/j+YrAYtOjAhXAoRi+YWgRqEBnZcxwMJX2GceJ/Ht5GXrP2uVdisDCSjNA1Zo8BxlvBcQ/Yr1T6tf1EMsrfl/g4/yPp8vJ4WbtrqCzfMUHWbu8qubl5ri24/bkWcgK8E/64RgQM5+KejmEnORBvBvsxWNWaAbSda2HgiDHHQBIC1+vwRUFBgfvOcM28l33JmeMawxHnR4DgzdDlpHVKJOcjP4N+b+jvb1SXRB4/frynLoGqWL4oxI60nCfoNBRyIPhSVU8kwfMBNamqpryIEP3ZlK8/3Fj/Wv/WFu67GEfyCLgPc5/jHhbM7xTjQ/4AxlMz6DHmjH4xRozOMarcMzFM7KOjcVzvGoPX+z/74pXYW5ArB3RbIT1bTpK0ipkilRV9fbK3JEPW7D5aVu0+RjZujXPnjo8vcJ4OnXWmOWFqPBE/muinBYK0dDHXo6N7ro99EAoqLjzrK/hA8xLojz179ngKHPHwLmEcKtSrgqjiQd/TvwxmNfyBndJZNQ19f4iZksgaDqBGAZ1JPoSqTF7Dm0DSJHUYjj/+eM/76PTvv//efdEt8dAwjGipRUCsHGPKqH7o0KFBJb5hXDGgGEFG+LyXe7iunoiwwGBRgVAFgdYFQBCwj3c7MGqIh2YpBTKk+0zpmvGBJMdtrRQEfthd0FPWZJ8ky7YMlV2786WoqMCTC0EiuLcBx3uB+EEQcK3c0/HcYl94zvR0kiwxrFyHzipANDCjAO+Av5G2LnmsUwx1qefBgwc7A12bctDBoOEa+ozzqQdGayKEQ4A0uZLIkydPdnkOv/71r90XirYhWB5++GH3JaueHEk+AsLgxhtvdO4vpregtKnmiFrkOKH+IhiGEZsVFRsLPKIkXfMX48esq2BqEbA/+QEYJIwRMXvi5xhdXPa44tmHe7jmUel+vOY90FNhwv1TCn+QMT0mS4/W0yQhzn+CXHlFgmzcM0ZW7pog63d0kZycXCktrSyRzKifh16HHt978SKuldcRCngmMKo6oqbdbEc0IAQYcWPgfcGxvasR8j7CItTdQfz4qlFQHxAs6hVAcCFGtK6DvwJJkUDUlkSeOHGip7KhJsLo/3gNEALe8PqZZ57pSUr0fg8ih+06O8H4GSsQE16sfxumf3+oaC83z87fp5Lco+Myo0IcYMzwEGBg1JBptr0/MIKMUNXFjgDAGOFqZzteXu55DOrUaHE8FQrkEFSv98/71qxeLhnyufRtM1naNFsSsN17S1rK6t3HyIrtR8iunBQ3oseocw1qxNVFrrMYdPEijDSv0S6un/PTNh3pa86YLo3sHXqoDsdDCHBs9TwgBLQaYSjJz8/3iAGdweBdOrk2IYHGuj/UShjgZqqpJDKgaCmJzBc5XPAFo/Tya6+95s6H8qLMMYmHzIzw18kkJ77xxhtOjaJAWUTprrvuch+YETlfzKaC9W/D9O/5C5vL0j1ljVZ7PhS1CPj9MYjBoNUkCEic03UKuM/hvcVIsV0XMkIgYFy1giHGS0sDV/eeuhj+6lmSKW9J37ZfSHpKZcK2P3bm95YVO46T9dkHSV5+ibtfcx7EDINGbAnn0MWLuB/TFp1CyDXwmpYhJhyg0wU1IRAhQO6Ad3jD1ywNxABCQqcYcn2B6hTUFi10pGIAYcC1cQ5dn6E2i1JFnTCIlJLI1ale5Chc72mKmOGy/o2F7++pczNkY0Glh9CbbukJsvCsjhJp4OLGsDNjAKOCEdSlhwPd0zCCeAgwxBhh7tkYdYwvxpURN2JB6/9zbIyXurarG0vu4ZtWvS9dmr0jvdvPlsR4/9O1y8oTZH3WGFm+4zjJKuzr2oAt4JgYY8IF/AVdvIjjs59eF+3BAGJMaSv7kUdAezG2tJFcMLwZ/qoR8h6tRoi4wCvCeRFHdTXQwSQPal/y0OTBaL3/RmVJ5OrUxcCbKDCMpkO0VFTEkDHdjweQP4VR8Oci1/dgZBEEWoiIgRmjZZIIMVC4y3UtA8DIYCwRBN5Jbxg8DOuG9aukLPtN6dfuUzlyv8ClivOLWsry7UfI+pwJUlLRxgmP3NzKxYzwcJDMxzkwcpyfa8Ooak0BRv94BRADGHGEAt7m+fPnu/wvBALH4Jr8rYCLZ0XzBng/x6TfuEZCJuFMHuzQoYNndcVIzBdoMiWRDcMwasONg9J85hg01Gp1NaEL+DA6xuC4dQR69gw4dx2jyWiSB+/R5XzxDrDSrC47jCDQAkd4e92iRd27ezy/jHYxeBi7rJ1LpXPaJBne8RtJb58bsM3bcvvI0q1Hy9pdwyU9o5Ub1RcUbPaUX9a1bDCk5J5p7gAiR9uhRZhUNFBiWZdm1hUSuSZfo28NQ2i9Ao6LV4BBaaiMdFFRkesXrgHPC58TIov+o+0IlVgRA3UOJcA777zjSiLzYfgCd9c999xTZQVDI3qxUIL1b6x8fz/ZWi73z8t1CzLhKUAUNHbiYV1qEbCfljzm/Uzf430ch9AD2xAUGFgeGC4MJcaMfuA1LajDg/h4i+Qlsl/mR9KzzSxJCBguSJTVOw+SVbuPl/hmo9x7VXQw6sco4yVAjDBQpO815k4uAOfH4CMGdIYB167JjxhaLXnvyzugqzxifzDWvIfz6oJOgTwrwVJQUFAleRDoPw0TNORU/KjIMfBO6mjskshGw2DCwPo3monU769m+OMyx0hjcDCo/lzlarDIO0AAYGjxKjCa1vUINFkPQ8x1sw/3ZcIRjKQx4lpdzxXUSaqQXm1nSafUidKmWeBE8fyiTFm2/SjZVnSypLfo6UkE5Jx4JZg2ibHnenQlRs3GJ1yhVRKxHbpaI8JGl2hGLGhipS/vAEJDZxXQdjwO6iGp7+fqL3mwdevWnuTBxqqaGRU5BpFUEtkwDCMawWgyk0qXhWcwFWiqNMIBQaAJhBhQDD1GctasWW7kzWCMODuGhH3w3GqhIIw4o3ddQbBbp3jpmPKJtJQ3JTUx8MJxW/b0lZU7J0h5+smS2CxNcnZvlJVr5jsbgLHiwbWwbLEuVsc1UXAJQYLbXSsjEt7A06FTD/EgMO2dY/gSRFrOmuvk2IQXuCadYlgfFz6eBkIf9Gn15ME+P00Fbcp1bervd/EBapBkE6sLYBiG4bsWAcbT37Q5XS0QQcAIH/c1U/MQBLjfqdaqK/khCDCimlDICJ5tnEunIfbr11c6tlwtSXn/kObyqcTH+Q8XlJYlyaqdY2Tz3lMls8PhEp9ZIKtXrnSChnNg8BEYjPinTJnijCqGlLwCcgI0d0GnWiIG8CxrESJCGoQKuJbqxheDrVMM+avlmllimZF7fbzReDdoh3oGYjl5MCKFActi0uGXX365XH/99e6LaRiG0RTBgGMgMXZa6c9f3X6t+sfgCmHASJoywRhFBMH06dOdqxsDynErlyNOdKNvXSWQ47I/j1aZaZK0d6Ik7PmXNMtf5nfdAsgtbC0rdh4jRannSeuOfaVi0yYXMtYsfwwoxlQrDyIAGF1zTRQqYh+dIcGD60Uc0C6EEN4BQgrVvQPqytcphiRVcj2IjPouHtRUkwcjUhicc8457stL8aEXXnjBM/XGMAyjqeBdiwDjjaHzV4sA44hRZH88C4xeGWAxEsfITps2zY3YdSlkjs1oG2OMEWVUzQMxgMGOL98kkvWIpG17VZLi94gE8Ipvzt5fNuafKmntz5KWvVq4KY5zfvjMGVWOjyHVaYwYae8Rv06v5DUVP7pEMfuyH2LAV+4AwkanGGIv8CbQP3g9gln3obbJg4iYhk4ejFbCIgy0FDJfduJKhmEYsbRmQSAwliSMac0AjCPG1FfGPIZeixIxusa4azU/DCaCQJfixZBybAwo+5HUh8FFPLjCPRUVElc4RWTr45JR8bnEx5WL+PG8l5QlyZpd4yUv6UJp2+UIycjLk7lz5zpxQpswnhhT2oyQ0RkF3nUBaC+igDL5CAEtqaz7YuSrewdoPwZbpxhybAQG14xnuS6jd115UcUAwkqTB5kl0ZjJg9FKWISBwodM3MkwDENFwfXTsqvUE+A5RLs40FoEjPpxhweqRaAueQwro3+MI/dKRucYTTXSGF+OpcaZxENGvlXi4RUFItkvSVLe09IsYUXlNj/2NWdvW1mfe6Iktr1cMvv1kg0//ijTP/jAGVZ1+WttGkIEtIvpkLoug4YKdLoggoU20jaEAI/q3gFNPtT3cAyd2sjx6zLFUJMHVQwgmhBHiACmO9LeUExdbKpYzxmG0WDgKfAWBcBz6gtEqzB4b02+3DM7W/YUlkiKlMsVPdrLJWOrrkioIALwJhBeYGROrgEjf8QDyYKMvomJIwYA44zAIM8AA+09oo4rWSdlu/8pGaVvSFJ8buBwwZ6Bkh13nqS0Pk1KJF9+mPujbN061Z0HD4S67zk+4oBz0TaMrSZCag4AI3LQmQV4L8ibwCh7o6s38j4MN54GrpXj1sWd7508qH1E/2h9gbp6HIwGFAZXXnllWFdXNAwj+iB84AuKDkUbGMbXFm6X234oktwyrHJlHf6HNqZKt+4VckrPfYsSaTEgRtYYM0bqeAd4TRcaYuTOqB3vAHkJ3ssqv78mX+6bu1XyivOlReJuuavPWjm9o+8KhSWlKbIh5wjJT7lIihL2cwZ6/azPnMEG3PwYdUbWOhUQQaCrDeIJQMTwPtqJYdbiSYzIuQbahgdBQwYYa51iSHyfY+sqht6ll4MFIaXJg4RUtAiSVk205MEoEwavv/66CQPDMKJyzYJgaxHcvzhTcstS/XpAMMLkDzByxuBrPgDGbvny5S5RD9GAwcOIapIcoqBKjf/yfHl30Sdy4/wDZHcpqwlyzjZyxY93uJdP7/iZZ9ecwvayMe8U2V1+imTnVLrxs7Onu2RC2sDInmOrgUcMsE1XO9SljzHEGHqMuS55jIH3Fg+0XYs1aVllniM4CI3ocWuTX4Ig0RCBLq2s/aJtN8KLhRIMw2gwMATVcwwiac2CmsDQ4/KnMA6GsiwpVaR03/32FJe5uv8IAk3mw/hj7DCcGD/EheYPYPCY8lc9J6GieJWU73pcmpe/LQ8te+UnUfAzu0payZ0rr3LCYFP2ENmQf4psyTlQysoqpKgo2430dcogrnbarKECjDyueO9QAdeFsUcM0F5EDEa5eu4A79FFmegPjqPGm/0ITwSbX8KxjmxTViV5kPYiLix5MAqEAfNQDcMw6oqODiNtzYK61iJouWW7bN7rQxkU5juPAEaeES7xe8QBhg/XO8YaDwHH0Op/npF1RYWU5X4s8XuekJYJUyQursLNLsgt9T2Fb3dRW5m87BHZW9b9J9d6gezatc2znDFCQNcTQBBo4iLXxKJNXBOCBwPN/ryGYadtCAL1DgBeB80b0Ox/js01VM8xCDa/5I5p2yWjwypLHoxWYcCXYfjw4UHFifjyG4ZhVAcREOlCQGFEzywDYu0YclaUJRlQaxE4D8jUbMkq/tngpUuJnNF8m+zfd3/PVDlqA/DQksUk4eFqZ3St99OKshwp2fmcNCt+QVomrt/n7tw8sTI3oDopCS2kQ7dD3f2Z0seIDkb6GGzaihjgPLQf74UadkIMiAHN3ueayANADHjPFuA9Wo2QcAHt1dLBCB4SKQOt8aDklpT73F4kic6uIFhsnZ0oFAZjxoyRP//5zzJu3Lga97VyyIZhxGItAowpI2xG/y3WrJEzykvkQ+khxXFJ0iIlXm4a1Ex+PWi8c+MTTsDVzkibUTjJhMww0Ol/UFa4VMp3/kNaynuSlFDg9658R+8n5LJFd0t22c8j+MwkkdOabZFvvlns2ow3g3YyZQ9BgOGmvYQtvCsLIk4Y7evsB607oN6B6jMRODb3dMIdiAZXN+EnT0qwyYPxxRx73xBD62aVuQ5GlAqDU089Vd59992ghIFhGEa0QVwdbycudowmxpK1ATCijLB1qWJGzroK3y+6dZAb9m/hXPWAi/27777zCAJCCdT6RxB4RtYV5VK8e5Ik5j4prZNnBJxqWFiSKuv3HCX9My+T+0e1l0eXlkj23mKJLymUI/Yulvb5WyW1eXM3gqetxOYZeXuHCggrYMx1+iHX5ss7gLdBqxFqKeTqhY1qwlfyIOe6dv9EuWd5XBXvSjTllzQlaiUMTjnlFPnDH/4Q1L433XRTXdtkGIbRoGAsSbzDmGPYdOoexn/JkiVu/jyjZgwqDwwpeQaMzHWUzb4zZ850uQjsgwhAEBB/13n75SVZUrzzGckoeVlaJm0SCVCQLyu/k+Qk/kbSOlwmHbq3caPvPgsXyv/lL/HE9zHqgwYd7UIGeCR0WWPEDUIGrwQGnfNzXVwnRt7bO+BdtIj3cG0cl8S/YBYW0kREjoEY0GJJWnkQoULbRopIu3YFUZdf0hSJy87Ojr4JxIY09fXsYwXr38btX4waRh9BwNRBXO8YdIw8xk4L/mBwNVsewUCOgI6g2c5qhwgC9tOVEynzqyPx4rz5UrH7n9Iq/gNJSvDvfq+oiJNtBQdJSscbJT79aMrHujAAgkOrJHIdCBJEh4ZsvUMFGHquAeHAqF8XJUI8qHdAr1urEeIp0QRF8gdqqhqooQbqMuCVIDSB8ddiQ1Z5MLrvDzZd0TCMJgnGlJkDGEcMPm52BAGGlFEuAgCjj7FFIJBn4H2DZt+pU6e6PAQEAUZ6xIgRrgYBx6soL5WC7f+VlIJnpV3KbK1/5JPCkmayR06XtE43SlpST2eoV69ZI/PmzfNMccRwk+elggOjQWKk9yJECACEAaN2hEH1mQVcjyYfEuZACBF+YL+aDA/XSAjFu/Ig7eDYtIkER0sejA1MGBiG0WTAwGLYfvyRksBb3XMMG6NcXaoYg4qxJ8Mfw4d3AEGgCXd4FqZMmeJGchhw3jN69GiX9OfWEyjaKXu3Pykty1+TzOStvvLtPGQVdJPCtEslreulkhqfLgV798qCud+70siaw8C5OT5txDjrIkSM+LVKIqECxADbEAfe6xBoGWZd+VCrHPJg30ChAoy/5gtwbM6PmNDcBI7FrAREi4mCJi4MNMPWm4kTJ8qbb77pvqC/+c1v5IgjjghVGw3DMOqMTrfDsOHuxzhiMDG4uOQx7NzP8CAgCDCCuMaZmojXQN3qxN8RBMTSEQSMkMeOHetJOizIniWy+5/SNnmyJCUW+21PeUWcbMkdLaUtrpKWvU6StLg4Z7QXLPjOGVmMMWEKll1mGh9to83kOmiogGQ+zkveANdV3TtA+3SKIX8x/nhBCD9wvYGMuL/kQe0r7yWRa5qVYDQRYfDVV1/Jo48+Ku+//75n2wcffCCXXHKJJ750+umny6RJk+Tggw8OdXsNwzBqhNg6BhGvgI7sMagMXDC2uL41Qx+DjwcBA4tBZrSNkVXjSTIfIQOMMiAWxo8f7wxtWWmxZK1/QdKKnpNOGYtEAqwNVFiSLhtyJ0hc66ukbb/hro0LFy1y9Q0wwLSF0T+CAFGCQFC3P94DXP2IES1BjJDx9g4gDhAQHE+nJfI6UyR5n7+lhzV5UMWAd/Ig0xNVOBlNZ1nxWguDf/7zn3LVVVdV2fbYY485Nfntt9+6pJe7775b/vGPf5gwMAyjQdBleL2nEqq3AAOJwcXYEhbQ5DsMPjF6jCmjbAoOYWDVtY6gIOmP/diGhwFBwOg5a+dK2bzobunSbJL0TNsdMH9gV3532ZD3S0lp9xtp27ebO97XX3/tjq8VEEkMJGGR89N+6h9oqEAHXBhsvBXVvQOM2vE0qIDAiPOarpgYKHlQxYC2AxFALoUurmQ0zWXFg/7ktdDHrFmzXJEjfU5YgQSZK664wrOQxoQJE+Sll17y7AP8IA3DMEIF9x5duEenE2IUMWqMlHkNo4kRxUvANgQEBhRBgBElNj5s2DBPwSEMJjMU5syZ4zHMJOcRMuD4W9d+IoXyquzXdroktfFRCvknyiviZUP2aNmY/0tp2fEEadEq3Rn1WbMnu+PqksGM9qlvgLHXyoUqZBhsuXNu3equlfYzgmf0Dxh09sfjQTsRFXhC/C0/jEjyXraY3APvmQSWJ1B/7ouRZcWDFgY333yz+4vL6W9/+5vni4fLii/c/PnzPfuoq+vGG290+/Eg/8AwDKOucF9hdK9eAf7n3sIInoEHggD3PNPnMPo6qmZ/DC8jdKb8MTrGEOo8fcAAM0OB+xguevZHEFA0KDc3S9YufFB6t/6fHNRhVcA2Fpa2kDW7j5GNeSdK6w6DJS0lTtaurVxdkRE/woRRPt4Ljs+5NNEQoUCYAmOt+RDqHdAVDREB7I9xp80Yc+9Ew+ogMryXLdbkQY5HH9SUfGg0zWXFgxYG//3vf93fkSNHyi233OKm5cBdd93lvqjvvPOOJw6FWwuvwdtvvx2udhuG0QTAsGEkVQwwyiU3ABGAa5+/xM7Zh9g6YoFtjMIxpBhjXPfckzRhkAQ8nb7H8RYvXiyLFi1ygx6Mqy5DXJi3Qcq23y3DO34tzTtUuoP9kV3YV1buniBb8g6R5i3aSUJquRvNY/h1aWKN2XNuDPXcuXM9oQLc94gavArVvQO6cBHhBY5FHgRCCMGghZO8QfioGND1EBBPCBHO5S+8YNSfjBhZVrzWQaQTTzzRhQ2uu+4692N86qmn5IQTTqiSnEL2LD8+wzCM2qDrEKgQ0KQ8cpfUYGPkdJSLEMCocy9iOwMWRtEY05UrV7qQAeKA2gKM/rUoEUaY9yEmdFog78cgZ6aulj7pT0uv7t9LYkKgcEGC7Cw6QpZsPVq25/aStLRmUlpW4or+cEyMOIYfA45RRpjgYUWkcC7c/pyXbYgTb+8ABp/thGkRFwgWRAJ5A97X791nCAFEkCYP0g+cAzFgyYMNw61Rvqx4nYXBDTfcIAsXLpRrrrnGPafcJ14Db1544QW54IILQtdKwzBiFtzbug4BYoARL0aSETaGDTFQvfgOhp1cAIwnI2AGIhhAjDHGnng9xhMjC8TrOQZCg3AB72Vf9kF0tGubKb3azpOeLSdJ++YrA7a3qKyV7Cw9XeavHyO796Q4o80EBgw47eK4eDWoa0Db8UQQxtCkQK6LdhDy8PYO0H6OgZihLzD4eD9IitT6CoolD0Ymp0TpsuIhK4mMy4sfAT+46nNicZGRYWsFL6IfK9lr/Ruu75UuSIQoQBwwStYiQ8T+vQ2h9/swnIzKMbTcfxhFM2Im2RmXO4Yao0ymP8clr4BtDGh4nfCECo/9eqRLt+aTpWvGR5KeHDhckF82SLaX/kpmL+spObmF7hiIDe5zGHSt70K8n+20CeHBczwBmvioOQ/qHWAfXbiI0AahBq4JD4H3SD8Skwft/hBeoq4ksipxX5ABbBiNTSzMJ44VdISrswh0HQLNvkcM4Ob3lwiHMcfwc5PE+BEWwPBzHGLvGEtunFqUCMOLscZFzwOjTRswpMTz+/fMkXYJr0mXFtMkId5/uKCsPFHyE06UjXm/lDmL452bPjW1yLVb1xvAQCNq8AYASYGcH28Hbn/ahheDm7x6BzDibCfsyjHJk0AoIAg0/0GvW/MFdOaFJQ8a4cYmqhoxSazMJ45mMJje0wkxchhARIAuD1zTXHlGycTk8RIw4mbkhDcAQUBIgONiKAlpqiueZGgy+om3qyAgXNC1a3vp3W6udEl7UtpmrA543qKytlKUdpEs2jRWFi8jvFG5wBKiQuP5WjCJ6+E6CB9g2DHwhEPwqtIWRILmB9AevAMIBUQQbSb/gb5QUYSA0PoC3smDnNuSB42IEgavvPKK/PrXv/bp3gv0o3799dflvPPOk3DBDWDatGnOtciPhqphOmPCF9yo/ve//7mbDa7E4447zv3gjNgiVuYTRxMYMEa/KgZIDGQbo2SdQRDs9Djeh2Hl943AYDTO75Rj/vDDD+6vVv0DjCieAQwpokHDBYzMm6flyZDu30jvNp9Ls+ScgOfNKztQ8pIvlnmre8radZuktLTyPoEYQYQgUDTsgdhALHDfwUuBxwOjT/vUO4DXgH0RKWxHTOBt0EWHtPqiig0eXJt38qCvHAvDiIgcA1x3qFZKH5955pnux+APfgRvvfWWPP/88+5LzrSdUMOP87bbbpPnnnvO/e/NscceK88884xnjrLyySefyGWXXebapKD0SZ78v//7v5C3MRaI1hji4De3yob8qt8L6JaeIAvP6iiRQrT2r4Kh855OyIiY3xTGFIOGGKhNRrwuckRyIMYS44l3gd8soQSMPsZYK/6xHRHAeRElKghSU1Oka5uN0rftJ9Kr7WxJiC/3e86y8iTJiTtRthefJQuWJ3gqHZIbwD0PY69rBvAZcW6uDTHAPngpEDGaO0CbuW5dyZBcLMSBhgoQEFwn71MxwD70G+/TBZ2iofJgtH9/I53CRurfoIUBP8AHH3zQGWIaS5yMBEO+7ChnfpQ6vQY3GV/+Sy+91M1iQDmHmieffNIJA348J598sostcn7qKdDWs88+W55++mnP/iQgsWQpP8DDDjvMVTLj5sPiT7goed+RRx4Z8nZGO9H6wx/77jZZkr1v7HhAZqJMO7WyclwkEI39i8FWrwAGk98PxlqFAIK8LklwCAymGGotAgQB9xUtW0wYAsPL+fjrvaIgwoBtKUkV0qfDHDmg4xfSvsX6gOcrLG0nWXKOrN59pKxZn+uOxQgew8xfjL1O/eP6aBOeA4w75+J1HnyGiAVdXwFhgeeCexPCgf3pE9rNdhUDmjxIv3FOxFS0JWxH4/c3miiMdGGgoHIpdvTxxx+7OuKoYoUfx0EHHeSKG5111llhEQQKtRMIIWD8EQEKooR65nQi4QWFqox4EVj5kbUdlBdffFGuv/56JxQmT54ctvZGK9H6w/eVY8B84kfHZUZUKCEa+td7HQIeiGt1dessAl+FdoIF44sgQGxwzyBkwH2GbdxfMMIMNFR8cG5G4t4zDJol75YDOn0rAztPlWYpP9+TfJFdPFS2l5wlyzb1lz05+R4vB9eDsWaAoTUIMNa0h0RH/keEcF9R7wCGn3ZxDRh7+orjIAYw9ngGqicPci28LxYqD0bD9zeaKYwWYeCNrkzGjxiXm78a3eGAcAHChOQerR2uUPWMHyI3Dm0P85zpYFZR855RwQ+Z1/ix40Hgx2/Exg8fcRDp84kjtX9pl3oF+I1j0GifegX4rdfX1Y3AIIeA3ynGFWOpBYC0wh8Glgfnw/hStpg28buNj4+TtulLZVCXr6Vvh4USHyBcUFqeLDsKj5G1OSfJpp1t3PVwDOC68EjodWq9AVYl5NyEKqt7B7hP8H5NcKT9mngI1ZMHEQAIAa4x0OyLaCNSv7+xQmG0TVcEvtz8QBrDmI4bN84JA0b5F154oWc7CT78gA855BDPj48bCqEEpkVVn2bJqABvATkRiAbeZ8QGiIBIEwLRsA4BD34z3usQIAgIGYbCoGFIKe6DGOe83PB0QSB+jwh9cpowtDznxjhjxgznteD8CfHF0qv1VDmw27fSIXNLwHPlF7eT5TuOlvU5x0hpeQvn2UhMLPbkJXFMXYlRkwU5N9eKMCKhUb0DGv/nPeQ7EG5ACPDgda6BqZO6hgNiBnHBe8xoGtFE5Ge3+AH3P6GE3/3ud/Lhhx+6HzPqnRkHGP8HHnjAsy/bQecZVwc3IfDDrkm9NTVwrXr/NWKnf3HDM6LFxa3TCTF2GDRydhD8PPc26PWB0TgGFS8Bx8J4ck6unRE3Mww4L0aU6X54BxAQhBNcnD95l/Rr97kM7j5TmqUUBDzX9vzBsmrX8bJ+94FSWlbhRuq6GiOeCsQA58XrgQAhZ4r7ANsYWJBwqJ4A+oF2sg0QCAgI3kv/MW3Su1qjr76L1XuH3R+io39rK0yjVhiQzPPEE0/I5ZdfLp9//rl7AD/yf/3rX06pV/9R+usc3c6POxDcMKrPgGgq4OI1ort/GZ1r9j6jWgykd6Y9xkzd3NyIcPGHAs5JeACBjoHFoOq0Z85HQh/GFuOPcGA/RHqleBDp2GKZDO3+rfTtvETi4/xHPkvKkmXljnGyePMRklfSo3Ltg5YpLtSJyOD3zfm10BHnVRctfTJlyhSPp0T7AW8B7cHTwPEw9vQd3g4tZKRhAkQE1xDKvosW7P4Quf3LdxRveZMQBiQ/XnTRRe4mc+6557ofuNYoOOWUU+SOO+5w3gTQxCh/ql0FgS6wUpdqj7GKJmPh3iUr3PDNB+uL5KFFe12VxfSkOLlpUJqc1D2l0fsXIYvrW70C/Aa4UWiuAGIg1AvsYHgZ5WNUMfSalIf4wAh71zZgJI8Bpm3sy6jctTGuUAZ2mS4Hdv9O2rcMfFPMLSRccIys23OkNMvoIr0HdHTnIWcI74ROT9brxjPBjRLDjgHXc+qyxwgSnvN5MNDgLx4G2qg1DPBQ1qYuQ6xi94fY7N+oFAbcWAgloM6//fZbN61JufPOO+Xoo4+Wv/71r3Lqqae6jGK9+ZBn4AtimFA9ibE6TTlOyJcyFq4/HGWSOebNs/OrzIDgeXJyUtDHDmX/6rK7CGXvdQiIhQdahyBUCyExwmaUrjMKtOY/o3WddaAZ+xhmrVLoEg6TtsmoHl/JoG4zJS05sPt9U/YgWbHzOMmTQ6RTp64yZmAnZ+xZqwWRoR4RXTuB6dXcC3RaJG0F+gZPAPvrrAJdkElFDe2mQqF6BpqyGIjl+0OkktzA/RuVwkCnKrEmg7coAH60Bx98sKtBTiIQNyESidiPGxDigJuE9w1t6tSp7gZGWVUjdglXmeTGrrKI4cIQa+KgLt6DgcOYzShoLo8sKZa8TYihUrl1WFFI2sVoRs+pU/E0DMFfBAHine14C/gt0iaeU5sA4125mmKBdGz+oxzc/xvp05FSwf7DBcWlKbJq53hZu+dEyWg9Urod0NmN3LkffP311x4XP+dFAPG7xxPIuWkjeUkIJ4QAYoW2Igi4b9A2XZtA+498AUseNJoaIRUGZBXPmTNHRo8eXeuYRm3gJoMhx/iTNext0Bm1fPHFF+5/ftjedQ/++c9/yt133+3qGajiJ0+Bm8qhhx66T6VEI7YIlwHH++ALpkmGCzXKGFYeOs0OI4kYIETASBkxdMvc0IghRvgYUV3dDzECjKYZiROfZxu/TS1ERHswysTnGYFzj0Cc8zstKcqS3u2myfBBU6Vti8CJv9kF7WXZ9qNlT8Wp0qnr/jJyYOW0QJITv/zyS2f0OZ/OFCBcwABAF1LSGK0WSdLpivQZgwPEFCEE+k1nYXgnDxpGU6LOwoCpgo8//rhbQwGmT5/uYvvcsHB5MI1w2LBhEg7wAFBE6aOPPpIjjjhCjjnmGE+OwaeffupiqtwUKLakUPL45ZdfdtMScSNSBZEYJPszurj11lvD0lYjcgiXASck4QtqJ4R6HQLv6YQaq+e7jiFDMFd3cddXDPkqbqTZ9xhfRtokFjJSZ7TN+XUxIQSBFv9hKjAhOwx4sqyXId2+kyHd50hqDeGCdbsGyuqsX0ha21Oky8Bu0jc93R2DcAEig2MD9xxmHTHCR6QgXnRNBYy+9o3mDgCCgId35cFQh1gMo0kJA6YDXnnllZ7njz76qPtRUjaZaoIPP/ywRzSEA0b//OBxHzJd0RumEtEG72QNblSvvfaaXHzxxa5sMw+9ofz97393dRGM2CZcBpw8BV9VFimoFI51CBiFM7UumHUI6iKGMPBa3Ii/POc8GE9m+3iHAxYtWuSpEojLHuOMUOF3hVeAAmTM5snO3i3t0n6QY/pPkd4dVwQMFxSVpMry7eNlZ9lZ0qn7oXLgAe09qxXiIdD1BwCDz6CAew+/d++Fl+grDL9OicToawhBKw/iybB8AcMIkTDAsBLjB24STPV55JFHXLEgfqiM4sMJN6f33nvPuQkJXzCq4cZEWAFPga+a4xQvYhTB1EZdXfGoo45yNwkj9gmXAdeRd32rLKqr3tc6BJo4iCGrTT39YMUQhldDBFqtT42utzdCBQHGl9E6xpbXEAM8MMa47XWGQX7uFunTbqpMGD1D2jTfFbCtu/M6yIpdx0lcywuk+8CB0ikx0YmA2bNnu2PSLtqphZcImXBOttEmwga0mz5DECAGNLzAb50ZB5Y8aBhhFAY6SgCMLaN31igARjK6Glm4QQjUJmmQmywhD6PpESoD7u/YdTkOhkvXCtDaAlqjn1Fwfdch8CeGbh6a4VndDzGgRYT8VeujnYQC8ADwPt2X5D4tEMZoHQONIIgvWSEH9vhOhoyYJylJ/ouzVFTEydqdg2RL4enSrsc50q93OyeMCBPQNvqGh04p1vZxj0EoLFy40N2LaJ/WKECsaIllzW1ARFjWvGGEWRgQP5w0aZKcd955LmRAsqFWFuTmwOuGEWlEQplk73UIMH4IAoQAXgGtmheqWHdVMVQuqfHlcmGHPGm9YaXMWlXsRtOID36/mrDoDYYWQ0+iL+1FEGBwtby4ehBw8W/evFE6ZMyVI/tNlz4dVwZsF+GCFTsOlb0pF0uP/Y+QHj9VFly2fLkTRxxXyxVr6XVChIQLmNqIx4/QilaEo93kHnEPon2aPKi15g3DaABhcNlll8k111zj6gXg7rvrrrs8r+GqJznQMIxK46rTCREE3usQ4ArHwFEwpz6eAX9gGEck7pYnelVOKXShicR0adeusyc04SvGTpsRLeQQYIgRBAgXRutMQ2QEj/eAkf2e3etk/07T5chx30vrjN0B27Mrr5Os3XOSpHW8VDoM7ulCBJQU1iJEnJd26qqteC4QIeqxYD88Axoi0D6kbdUFFTMy7p2bI9mFqdJyYbb8YXiLRheFhhHTwoDli4ktklvAaobeCxkxerjppptC1UbDiDo0gU89A7oOAcaY6XC4wr1HtKFKgNOqgxoi0AV9mIqL+OD8NVX4xEVPeNCFBOLj3SictQRoMwKHGQGUGE4oWybDe06TIcPnS3Ki/3BBeUWcrN81VHaWnyMde/1KMltVrkewbPkUZ+ARRBh0Bhga0kB8kDCMiMJboeECXcuBPiSEwXX56ruqNSviZWtRWUhqVhhGU6Beyy4bsY8tq1r7MsCIAU2EQzxjjHn4Kp8biv7FYGLMVQxwTJ29wIhbRUhNICJIKsZNTztpE/k7GGKOS8GwDevXSpeW82RE7+myX4fVAY9XWJIuq3cdIaXNL5eWbYd4lkLHQ4I4YXYAhh+RQMgAQaD9xL70J0mEtJ1rQAwQovQ1LbM6Y9/dJkuyS/fZPiAzUaadGrjCqRE8dn8IL1G57DKZx0xTpHKglhmFe++9V377299WKTBkGLEGcXAMsnoF1CDzvdcRdrh+zL6qDjLyRgjwYCQd7OwFjDOCgMJDGFwM8ODBg13Mnm3ffPONZO9eK4O6zpALD50pmemBE4t35XeVDXm/lKQ2F0h5m1TZtnWrrFg722PgETKEEPAsEpLQKoVspy8RD/QjIgEhQOIgbYn0olOGESvUWRgQXzzuuOPcjY9KhyQiKvzAX3rpJbeegWHEEroOgU7r47vO6FcT3mpjkENVdRBDXpdpeIzSdV0BwAgfeOCBLsGP3AKKEqXIchnZe7oMHrVAkhJL/B6rvCJeNmSNkN0V50pc+qGSl5AvO1ZsdO2mXzDuCBCteqizDBALGnYhnED/kVNALgOegUguOmUYsUqdhQGLFR122GHy9NNPO3HgXU745JNPliuuuMKEgRH1aOU/9Qqoy1tj9oyAMcjhAKPKuVUMVK86GEyBI1/gosdD4C0IqFKK14EKpmvXrpSebRbIyUNnSI92awMeq7AkQ9ZkHSM5Cb+WsrjOsjtrtxRtXe1G+Bh4Rv54ABAaOh1T11Tg+ggVIG6Y9sisA385A5FSs8IwmgJ1FgaED0g89OUq5UdOuWHDiEaIgasQUDe9r3UIwgHn0nNr0iLnZtStVQfrOpWRETtJhSoI8DQgCJh1QPXQ/Jx1MqT7TDn2qFnSslmlR8Ifu/J7yrqckySn4gQpLo13x05K2ulmB+C9UO+AJkB6CwLaj5eF2QSEXPC2hNrLogmGlbMSSiQzNUlus1kJhhEUifW5eaL0FW+Vz43AFiAxooXq6xBoJr+66REEwSS81SdfgLUGCA94Vx0k6x4jW99zcz0kDiIIODYGmaRCphq++eabkpG4Ukb3mSEDuy+QpIR9E/aU8vIE2bBntKzPPUVySwdJUVGxVFQUuP5hMIDnhERCKhVq0SStPqglk5lpgLeDmQ7hXl8ecXBcx/ifkreqFmwyDCMMwoCR0yeffCJnn322e+5942I7IwHDiFR8rUOgpXPJAMbYhctwYZwx1pqlz4gd17uuRRCKZX45ByJDFy/iOcaYx9KlS2Xi229I7/YL5IxR30u3tpUeBH/sLW4hK3cdJRtyT5C9JZUJxenpCe4egIeApEsSjyl0xHWRP0D/Ap4Vrof7AaGF+uQNGIYR4cLg3HPPlZtvvtndUMkpAG4QH3zwgcs/YHljw4gUNHlPhYCOzDHIjGIRAqGKbweawYAY8BYiFOhBBGA4a5t57wuuiWvE+DPtkOfqdcBDsGbl93Jgj5lyyrGzpHlaZVEhf2zP7SXLdxwrm3PHi8SluHZ27VpZX4C24oH46quvnLBRMYB3gD5khgS5C0OGDHGhAluoyDCagDBgZUUymq+99lq57rrr3A2IkRYx0bPOOkvOP//80LbUMGoJiW3eSwZjvIhva739+q5DUJvSx3gnaI8uiKQr+yEQGNHXN2eB3x9TACk8RGEizqWjc0byrdJWyaF9Z8iAbgslMb7M73HKyhNk9Y4RsnT7MZJduL/rnw4d2zkxgDdF1yegzSRi6tLFPDQpc+DAga7oWbhDBYZhhIc63424CTz33HPOczB58mQ3amDURSnkY489NrStNIxaGGP1Cqgxxrjx3UQI1Cd5rzZFjnQNBK06iBud84d6BgPXhxAg2ZffoFZY5O/mTWulb8cF8qux30vXNusDHie/qIUs2niwLN9+uMQnd3b9NaRfJydgEADkQDBjgWsib0DFgC5aRKXCkSNHuvwF8w4YRnRT79TqI4880j0MI5LWIcAYkxCnxjhcxipQ1UFdsjgcibi47THWFAnS89IWjHai7JRhvWbK8P1mSUZqbsDjbM7qKfPXHyIb9xwkma3aS78B3V2b8WRwTZQjVjHAQ9cp0HABCylR+wBhYILAMGKD8My5MkIGNd/vm5frKrlRtIX52U291jvGSYUAD57jtsYYE9fG5R3OWTEYSM6L4axv1cG6nBs3PvF92kB4RA12x5brZFT/6dK/yyJJCBguSJQlmw6UeWsPkaK4ga7PDjqgvafyILkJHJdj8lfPAfQzQoskRl1QyQSBYTRRYUCZ49py22231fo9hr+FYCppigvB+FuHgOmETOnztw5BKMGdrrkK5C3o+etadbC24BGgLgCCQFcfxHBLRZH077JARveZKZ1aBV5eOK8wU+asHi0/bhorLVv3lV4H9HACiushMREQNFwrfUyyJuECPCCIHRIOEV06G8EEgWE0cWFw//331/rgJgzqB54Cb1EAPL9/Xm7MCwPN4lcxoC56rfrH33DOS9eqg5ov4F11kBkEiJG6VB2sLRhpkgd5YKx5jiBIT86Wg/afJcN6zZJmKZVLFPtj4+79ZNaKg2RD9gjp3KWHHDCojTsOyYoIA5IUqTFArgJ9rt4BFQJ4CXid0AxJiOHyhhiGEWXCgBuk0bA0tYVgML6axd+Q6xAEU3Wwb9++zkiGK3GxOsT1GcXjISBvAmFUWloiXVqvk9F9vpd+nQkXlPu/lvIkWbzhQJm1aozkl/Z1I/wemSnuGulnvByIAsIG1DrQGQZsw/jzOufk+gk1EDowQWAYTYOghUG4SsAaTXchGF2HQL0C1dchwCAjDBpiUSS8ArSFNmnVwYYIUVT3UhAmwFAzeseAkwRYUb5XBnZbKKP7fi8dWm4KeIy8wlYye9VB8sPakRKf1M7Nwshs1sxTQAlxw+wFFkHjr3oH1CPAFEraQD+QQ4AgaCgxZBhGZFBva8/NZfXq1ZXxzmoccsgh9T18kyYWF4Lxtw6BrsAXznUIvKsOqleA0biKEbwC4a5t4K9NjNzxECBQNJmwWfIuObg/4YLZ0iw5P+AxNu7uI9+vGC0rtw6QlJR0aduhrWfkz4N+ZiEjphySn4Dhp5/xxiDC+AwQI4QrmFqJMLLBgGE0Tep8B2Z0RZEjahgE2seoO5pHQE4B4QM8BYiCaMovUEOsYqD6OgQYYkaz4RyV4yLX8sc8tOog58ZNzmyGxjCCGGumA+IhoE0YaxcuaLVKRvWZIf06LZH4QOGCsmT5ceNwmbVytOzM7eQSIAcP7u2uCTGA4CE34csvv3SllxEb9DO5GYgGVjPUdRrYzvuoQ2CCwDCaNnW+G95zzz2u7Oozzzwjl19+ubz22msuHvrGG284l6RVPgwNiIBoEgLVY/X8xfhgiHVufzjXIVAwtCoEqlcd1HyFxsqqRzAjBvi9ED6hvxITiuWALvNkVO8Z0r7l1oDvz9nbWuasHiPz146QkvLm7nqOHDXQs8wxfU5VUjx5eAe4dq34iBjDM4OnBNEAfCZst4XPDMOolzDAU/DEE0/IoYce6oTBL37xC7f9qquukhtuuMFNrTKa3joE3tP58ARQACfc6xA0VtXB2sBonZE5sX1mAyBcID15hwztO02G9pojacl7Ax5j3Y6+Mmf1OFm9/QBJSW0m3Xp2dqWHqSVA/yMEWMyI6+f4XD8CjD5ADOANQCThpcA7QbgAQWCli42miNWICYMwIB45YsQI9z8uS0aFeoO59dZb5fjjj5eLL764roc3IhxGod7TCXUdAnIEcFFjiMO9zK0mL2IIeTRU1cHaTnlEJGO0+R+BUFFRLj3arpZhvaZIn45LJD7O/yyT4tJkWbxphKtOmF/Sw/XpAQM6uLwAPADk+JA3QNEjb+8ACZT0A/shztjvhx9+cK+TUEjYoCGmWxpGJGI1YsIkDNQ1C2Qy45YkixkQCIyOjNiiMdchqF71UNuBGx5jSUxd29DY0+oYrSOcEQR4B/Be0M7kxBIZ2nOuDO0xVdq12BbwGNn5bWXhxkNl9a5DJT6ptSQ2i5cemZnOoCN2yBkgXMDnwOcCbMc7gAeB/UgsZL/Zs2c74a6CINyCzTAinaZcIyYYQpJxhefggQcekMcee8zdnMg/4AZkRDc64sXIYeAwQNXd80xzC3esPlDVwYZIXgwG2oRQ2bx5s6dQkFYnbN08W0YO+F4GdP5eUmsIF2zYPVCWbjtadhaOkqSkFElNL3N9jLHHQ0KoADFAn2DsEUEIdF0+mj7Ba0Mbvv/+e7cP28n7aejZFoYRqTS1GjENJgy4+SjkFJxyyinyzjvvuBsVo6N///vfdT200YjoOgD6QAzwwOBokZ9wu+e9qw7ywAg2RtXBYCCEomKAqX5anZDZBX06rZER+02Tnm0XS1zAcEGqrNl9mKzOmiB7yypnBSQmFrlrxhvH7wmPHJ4HLVPMZ4A44kGogPwB/qcdM2bMcJ8ZYgJB0Ji5FYYRicR6jZhGEwbETJVx48bJ559/LhMnTnTPyS8YO3ZsvRtnhB/vpD2dTqgjcuL0jEQx0hiecLqgMX6MhHWVQu+qg8TJG7LqYE0wcqedCAIVT/QR/ZiUUCjDey2QoT2nSuv0wOGCvOLOsib7FzJ/7VBp3rKLu97yvDwnLAjHIQA4D+KDY/O54D3gc+DzITTAZ8RzQgbMdEA4EEJgxUM+O8MwmkaNmFASssnb3Ih4GJGPGmGdUkhM3HsdAnIGdESO0WMUHA44tgoBLYGMMWuMqoPBgMEmdwYjTJ/plEiMceuMXXLc0FlyQOeZkpJUGfP3RUVFnOwuHiMrd02QjVkHSLNmGZKUkuMMP58J4oe+x3OjpZDxwtEXbOcvIg0vAZ+ZJhXSNvIsBg8e7BIPDcOI7Rox4SSkVV2o3DZnzhwZPXq0i0EbkUP16YQYYVzMuJsbYh0Cf1UHMfwkDDZW1cFgRBTGF0GAQKK96mEpKtorfTquklEjZkjPtksCH6e8mWwrOkmWbDlccos6/FSeuMSzOBLGnLABgkArQuI10EWM+HwQBLrMMefHa0cfIuQGDBjg3h9p2JQwI1KJxhoxES8MZs6cKY8//ri88sor7jlTpsgz4MaGa5M6B8OGDQtlW40QrEOgRhhjEu51CCK56mAwAoZQAUmXGtPHgHMNCZInQ/ebL8N7TZdW6TsCHqugtKdsLDhVlmwaIXEJzZ2bv2zPHldLAG8AnwFGHzgXINjwDnBOBASCgM8N6MtVq1a59iEaRo4c6Xl/pGFTwgwjOqnzHZlZCJREVh599FFncB588EF58cUX5eGHH/aIBqPx1yHQee8NYYS1HYQJdFojBjASqg4GgrwGwgQIAkbiWpeDbYiC1hnb5JjBM2Vgt7mSnFhZoMhfuCCrZLyszjpR1u3sLc2apUvb9i1cf+BRQ7TxWdAXOvWT/tHPB0HgVkPs0cOTOMg+WguB/hs+fHiVBOBIxKaEGUZ0UmcrMW/ePHdzAgzQlClT5JFHHnFJhyREHXPMMRJOuEFicALBaNQfuIO56UaigaqLax4Do9X+cCk35FQ+2oFHQvMF1OVOOxpyWmNd205+A2KAkAHPNUbPyHxvQZ707rhMjh/0vfRqvyLgsUrKM2Rb4YmydNuRsqegtft+ZWYmOU8ARl3DJhh/+ojPC+FGP7EvfUR+BQ/N8eB7znsRBuQX4IVDEERiX1bHpoQZRhMTBpoUBZr8NH78eI9BDvcCSqzcSLU3f3Dj5IbsXe4VMfDXv/7VredA+wh5TJgwwdVdIMM7GmBUq655X+sQNFS1P++qg7SFzHlNYBw4cGCDrIdQX6+GTjMk/wKjjCDAO0CuTLzkuGJEI/vMlFbpuwMeK6+kp2zMP01WbBstRSUJ7nuVnFzh+sZ7KWmErK7mqOECPk+2Uy0SMaczLxAOCAI+Y9pFYi+fbTQIAsWmhBlGExMGxIcnTZok5513ngsZMDJU40pCVbgLHDHy4qZbHbwXjMQQDt6GiZvv2WefLVOnTnXPGUnz/vfee89VkPvqq68CehgaCx2NqxDQAj8YCzLTMRaMOBvCYPirOkgbiIVHQtXBQNBvtB1BwF812GzHCLtwQfoWOXrQ9zKkxw+SlFgS4Fjxsn3vWFmfe4qs39lLSkpKJSkp0ZU75jgINg3l6GfI95HvGJ8V2zg3IQOECZ8logDhQFsQFZWrJQ52eQnRJAgUmxJmGE1MGFx22WVyzTXXuBE4o6y77rrL8xo1DRiJh5Nvv/3W53aqL95xxx1OsHjz+uuvO1FAIterr74qQ4YMcaPFSy+91G3/+9//Lvfff79EApGwDoHCuTVnQefSR1rVwZrA8Kp3AE8Booq2b9y4UZYvXy7FRXulb6el8ouDZ0rP9j/X5/BFUWmGbMo/XtZkTZBtu1Od5yQ+vnKdED4j+ovz0U8ID17ns+KzQyiwDUPP9xBBh+cNzxfCgbYQzsB7gdcF0RDpfRsImxJmGNFJXHZ2dp1rQFLpkNwCVni78MILPaNFKiHedNNNbhTU0FCemdEWq9h5T31j9UcEAEWYjjrqKM92RA0igdEZLuTGypBXA4wQQBToOgQYME3Ya4gCPxg0zb7XVQoxdIQpKK3LiDcaau1rcSAEAaKGzxWvhibxueTChFwZtt9cGd13trRIywp4vOy9PWVd7smyasdoycllIaQKT10B+gODzuemKxoSzsHA8z+eFp7ze6Afvb+XtId8HV17hEqF9HM0C4JIQoWXFoIyrH+jicJG+v7WSxhEGt99952cdNJJctFFF7lESIVRGzdlbuRr1qzZx93NNMtvvvnGCQdGag2Blv3VWQSMxjU5TRclaqiEPe+qg5q3gEHTIkO0LVoW36GtWoQIg6xhlnXr1jnjzbYOLbfKQfvPlIFd50tiwr7hgolbj5E7V14lOaXpkhpXIee23iQ998ZLYWFlmWKtOogxJ2yGIOA7pVUJMfw851w850fN/t65HwhBvot4LfjxI67p40gOxURj3QITBta/0UxhIwmDyJpAXk90emT1MAKjRr35+rrxUn8fYcCNuiGEweLFi52R0iI2GGByNHA3h8pjUdMN2l/VQQQUI2utOsh+GLFIhn4k0RRBgIeDPsRI0+4FCxa4vxUVJTKg23I5qO9M6dJ6ld9jIQouX3Sn7C79uTbA3zd1kN80Wyun7pfu3PsIuqVLlzqvA+eir1QU0I+0h9E/YR8KEnl/5+hPxARt5bPnc0dg0O+xIAqql5nlOVghGcOIHmJGGHCzJhmSkr6EE7zhBg7+CsHodt3PH7q8bSi8BRgYhADxbvUKYFB41JcP1hfJzbPyJavY6wY9NdsZzVHJlV4K9VDo1Eba4u3iJhYPeA+8//o610OL9joBkp4UJzcNSpOTuod/gSP6kM+LvAEEjrrrMbJah8CJndS9cujAeTKs1wzJSAkcLtiR20N+v/hPVUQB5EuSfBrXR04sWe9CZwgNjLoKAjxRfG58P+hHphtqrQbtN/oT5U978TpoWWPai6jx17/RxL1zc3wuZcv24zo2juip6ftrWP9GMsUh+v7W1tsQM8KAKYjcmH/961/v85oaXgyFL3R7TSM2DE5NtROCQWdL6Gp8oea+eamSVVz1WhAJeBD+lrnMeQZUlGCkuH48B4HQqnzefLEzXu5dmSJ7Sn8Od9z0fa7s2rVTjmrru6/rCwYYEahLDyMQ1LNBLgQCAbq02Saj+34v+3eaJ4kJ/sVWWXm8rNw2VOavP1Q27uoqWXHNRHxEb3blF7pFivAQaLiAvuOcPLRgEa8hunhoezVEw/eLfXT2C9+nQP0bbWQXcvPZ9zeUXVgScGpxQxAL/RvJWP9Gbv9yn6rtEgUxIwxefvllN2L81a9+tc9rWkOem7MvMDLe+/mjMZIpawvKsqAsx+drFcnNXOGp2risOR5fSlzi1esSvLgwW/aUVhVKiIQXt6TLhcMyQ56PwWibByN2rgEjjVGuXOa4VJISRUbuv0qGdv9OOrb0Hy6AgqLmsmDDOFm0cbzk7s1wP55OndpJm9wUyS7Yd/80KXMhFhVTuvAU3wnNX/EGgUL+ACEDwJNVPc+gpv6NNjIXZsvWon2Fc2ZqknTr1q5R2hRL/RuJWP/GZv/GhDCYPXu2i9sz84Cbd3Vw23NDZ9aBJtZ5s3DhQveXssGBiMTku+pVBwkXJJVRQ2LftmamVsbe6wJ9Vv368/0MxNkeir7CC4Bh1RoDeGtoB0aY6yRcwPW3blEiI/vOk/3bfyXpKYELa23d01PmrB4ny7cMEYlLdt6TQYN6unLeHO/sJbvlH3tbSV7Fzz+NjLgSuaBDvrTJaOPaxLX17t3bzR6onhOCQFm/fr170DYSCgnV1FR0ylf/Rhu3DW/hcylbtjf2tcVC/0Yy1r+x1b91FgannnqqnH/++c4YVx8tNTQvvfSS+3vuuef6fB1X87hx4+STTz5xBY3OOussz2skkSEsGPVxs4+2BZIQBN5VBxmZ3tGjudw0Mzfsa42Ho7Id18aMgpUrVzqlzMic7xcxe0SdXi8eg/49cmRI92+le+YMSYj3Hy4or0iUpZuHyswVo2VHbk/3I+vYqb3069fP9RleCKp3cvwBJSVyTsJ2+ai0hxTHJ0l6Ypyc02q3jEzKktTUli6hEPFZfbYIggAPAbMfEDDkGSAIGvu30ZBY3QLDiA3qLAwYfV988cUutoqhRSSQ9d/QEMt99913navl2GOP9bsfdRYQBr///e+dK5g1HTA+N954ozNGvB7Jc8dxTevURh7Vqw561zk4nQ82MSHsa42HsrIdMyOoPYFxJTygKzDi6cFwM2OEa85IT5ZDh26Qfu0+kbbpgcMFe0tayZxVo2TOqhFSVJbpjoV3AAHIyJ8YPzMEEFVaahqjflirTDm19S4nSvhu0L89eozyGWpif7waHIf2ITCjZWpnOLClbA2jCQuD+fPny8cffyzPP/+8PPPMM/L000+7BV4QCKeffnqDrQ1PwSLEASIl0FS/448/3gmYN998Uy655JIqr7EYFFUcIw0MpHoFtBQymfBktGOsAlUdbIgbdH1GiFwLnxvV/nC7ExrAC8B1MSrHrc8iRjy4xq4dE2RYr3nSo+Un0izZdw6Fsj23j0xbOkqWbOgviUlp7pi61DTGn7ATBl9rHCAQeI73AIGFRwJRoAWJfIVf2F8FAZ4GFQTeMzsMwzCikZAUOGI0h0B47bXX3I2Xm+PJJ5/sRMLBBx8s4eTMM890S9lOnjzZGZRAcDN/4YUX3AwGRqZ4O0444QRXqbGusfdwVh3UBXgwWFoBsaFHoqEssKGrQSIEMKi60BafA253PoMlS5Y4D0GlRyRFBvTKkf4dPpMuLaZLQrz/mQ7lFcmyYtsImbp4uGzJ6uS+g7jzycZFMBKWQIiwnf4kXIFhp01ayAkhxjXqCoe+8gL4DqkHA/FA/grVCuv6/bECPOHF+tf6N5opjIXKh1zE3XffLf/6178820jow/D6mkZo/Fx1UEME3lUHeYSy6FFjfDExpFwfhhhBgBjQYkqIARL42E5oCi8BI/jWmc1kWJ/l0rPlh9ImfU3A4+8tbSvz142TGUsHycySPvJV6gApS0iV5ikJcnGnAhlYVukNUA+LFhfiPFpdkj7nNTwxGHpfszYQECoI8CgQukJ0UMioPpjhCi/Wv9a/0UxhNFc+5Mb6/vvvy3PPPSczZsxwN1lWMiSmy3oKV111lYvn33777aE4XUx82CoEMJr+qg5Gs9jh2qjuiDHFS6DlgRld43KnD6gLwMqWvIYY6t09RQZ1nSI9Mj+VtKTAxaa25x0gc9eMkwVrqBwYJyub9ZIPkwZKbnmCSJnIjgKR+9ekye39e8mEzgnOE4HXQGsJ0BbyA1SgIMB89TmCgPchCPDg8PmwtgbfbcMwjFikXsKADOwXX3zRlSLGEFBamFUKzznnHM+Nk5UOEQx/+9vfTBj8ZGgIfWAYcaHjUdGRayyIHZ02qbUFSIjk+jRUwHfmyy+/9FRebNYsTYb02SP7t39PurScKfFx/sMFZeXJsjZrvMxbO17WbG7hWXiIkfuzG7pKbmHVRaYQCY8tK5bU5d952kF4wHuFQ38Gns+Ja2GqJG3lvZTLRrQZjU+krclgGLFEnYUBHoHPPvvM3WSZskhC36GHHrrPftz8WdSI1RaNyv4YPHiwi3XXNLc90tH6CZociecIg4oHBIOtqzFiWHV9CLwDbqXDthlyQJcfZP/2n0mrtLWBz1PcTlbtOlYWbTxItmwvdoKjWbNUZ9jpQ1z7/moqFJTFSZsObdw5mTpIkSHyB/y55Wg/sz9IeiS0gSdh1CjfMxKMxsHWZDCMCBUGLE7D1D+m+WEAAsFo7e23367rqWKOaB11avKgigEtSczny+gdI821Eafnf7wDFI9CGOgyxV3al8mgrt9I7zZfSUpiDeGC/MGyIe8UWbK+j2zbzhTNAud1QBDoOTHceKpa7SmW7Tn7ehvSEyucUec9vgoSeV8bUyYRBCSA4s1hzQ3+GpEFngJfazIwO8a8BobRiMKAG35tkuKOPvroup7KaEQY/TNyZlohBpNMfIw+Rp4Hz/EaESrAAOM5WLRokQsn4B3AQ5Ke3kx6dVgvg7t+LZ2bz5K4AOGC0vIU2VpwtGwpPF2WrU1y8f3S0q3Ow0LCHyN9xAH5GBh6hAru/mPKC2Sj9HALHiktEsrk94PTZdyB4wLmbCAIOAZ/uQamryIIojnPI5YhfOALpswahtGIwqAxM+WN8IKrHnc6XgFmE2B8CQkwOmeUznO8ALoyI+KB6Z+IRUSEeg9atUyWQd0XyIBOX0jz5BrCBSUdZXf5r2RzwXGybMV2d26Og/jASHMu8gIIBeCVIKmRipUkbyJOBpeXy/mpZfJRaXcpjk925Z9vG95GftnL/6wBhA4eAo5BrsHQoUPddZogiOycgm17y0JecdMwjJ8J2rrfe++9Ultuu+22Wr/HaBwwrhoiYOSMsccAMzJnlI7rntE7Bp+ROiN49iOkxF/ejzue17u0L5bhvaZKr1ZfSmJ84HBBdskoKUi5RFbv6S/Llq2U7OwfPcKCYkOIAabq0A7axNQdDU+Q08CDtrHvhT06y+3dO9eYyKleBrwazEpgloGvMsdG5OYU8El5+wfCUfLbMJoqQQuD+++/v9YHN2EQPcmDGEvQmRKIAUbSeAJ4jYQ9qgdiiNmGR4H38xyDmpKSLAd03yxDe3wnrZOnSVycf7duaXma5MafKiUZV8jCZSVuKmtu7ixn+PFEMWrXaY20h/NTLlmTFxEhzIIAZgtQ4thfQSJvEBN4CLhekiMp4U14wgRB9OUU8CwlXqR9WkLYSn4bRlMlaGHA6MqIbnwlDzLaxhAPGDDAuesx+JQIJiSAG5+ROt4BRvHkDvB+ZgEQbnBVGTOTZdT+y6Rv248lNW51wPMXlneT4vQrJC/hNPlhwRpZs2ahqzYIOp2QRaAQBRh5hADhAs6J8WZfjDvnxaBT6ZK/ukaEP7hOPAQcD8HDteL1MEEQ3TkFiIKFZ3Vs8PYYRqyTGK6cAgyJ0fgwCsfVr2JAkwdxneMZYESOCEAMsNIk+2OgceEjAPAOYFARFbqoEMWI+vWKl9F9Z0v7lI8kQQKHC/bGHy5lLa+SbblDZf6chbJhw6fO06DfK87F6J18BQQHlQk5L14BxAl/SWpEADC7AEFAG2sy7AgJChORJ8FxmL2AIPBV2dCIXMKxiqdhGP6pcwYhhY2YqugLjAiLEj3xxBN1PbwRouRBXYlRs/p1JUYMMwl8lCLGgBKXxx0PvAfjzHZEgy7r3Lx5uow8IEsO6PCRNJNvJa5KlLcqZRXpUtLsXClOv0zWb02VBV8skK1bP3CCEcPMyJ32HHjgge4v52DmA21CfNAehAjPOTcihpF+MFM9ORaljxE7TsT06+eSFk0QRCehXMXTMIwwCgMKFhEDPvzww/d57Q9/+IP897//NWHQgGBEtfKgllkm0957JUZAMJAwyL5aHpgROy56jClGVV32CAq8Cx3bN5Mjh2+QLunvSmJ54HBBsfSWsha/lYKkM2TVmu2ycOF81x7EIkaadhC6wEPAeZkZoO3hXLzOCB+PAfsTWqDiYDCrFuJZUEGAmCAnAkFQU6jBiGzqs4qnYRgNKAwuvfRSueCCC1z1Q+9VDUlSfOqpp+Txxx+v66GNIMGAa4gAAwt4AxhdIwbUmGLsibFjMBEQCAYy/REPhAkwwngQOAb7AiPzIf1TZECnrySj7G1JjN8r4qf8QEVFnBQnHy2lza+SvPIxsmTpUlm8+H/O24BRJtEPDwBtw1hTAIk2z5o1y+3D60yFpB24/vEmMFMAQRBMdUjajiDg/ZyPEsl4P2xKbezQEMuIG4ZRT2HA2gfcxCmN/Pnnn7uR59NPP+2mNd5zzz1y3nnn1fXQRi2TBzGqjKz5DBhlA0af6YWEBBixuzLE7dq5v8TrqUpIhj/H0EWOeK17964yZlCWdE57U5JLvqpM//YTki+ryJDitPOltPnlsjuvlSz4foGsWvWGEx+0gxABsX0ECt4lntOm6dOnu31oN23ie4QoQTxQbZCQQTBuf9rMdTCFkXwDzoGHxASBYRhGIwgDbtwsjjRhwgQ599xz3bLKt956qwsx/N///V89mmR4g4HHkDOy904e1Gl61ZdlJgSAZ4DYPIaTUTreAUbVOt2PB2JBZwTgQRg1vK8c2HOuNCv+oySWrxUp8f85FFX0ltIWV0lJ2lmyZVuuzJ06151PFzXCOAPGmnNj/Hn9+++/d9tpO/siCPAYED4YPXq0ywUIxu1P+1mqGUEAnIPExWhfe8IwDCMSqFf5Qm7ob7zxhit3fN1117nwwp/+9KfQta6JQmwfw63JgxjC6smD3hn57I/RxzvAyJvRumbtMyOBB2CE+R+RwD4Y0xGD06Rr+vuSvPcmiS+sFAq+qKiIl/z4o0Qyr5bC+LGyctUqWbhwsufY5A1wPOL8HJ9wAaIFDwGjejwHzAggVEHCI54KBMmYMWOcwAlGEHCdiAFEAYKJcAHnVC+JYRiG0YDCIFDOwMEHHyxfffWVGyl678fMBCM4MKaIAAy8d/KgjrgRYd5iQMMKeAcwvozAmXpI3QGMLwl87KMzFPAkQGXp38EyrO8mSS9+QpJLvhWpTCvwSUl5c9m69xeS2ukGKa7oLIt+WCQrVvzXGXY8FbSPmD5eDUQJgoRzIGrwEmgCJG398ccfXdvIXxg7dqxz/Qfj9ufayB8gj4D/SSjkvYgNw2hsbAloI9aIy87ODmrlEUaptQVjYdQ+eRAh4J086A3eA4w+3gGMva4loPUKtEQwhhhBwP5axnjokB7SM/MLScp7VhIrKt3w/sgv6+MqExYmnybzF6xwx0KAcHzahRjAOLONzxkBQI4AbeCceBAIK6hA4H3sQy2B2ggCrhOPA+9XQeBvyeRoBA8LXhAEVixdV1PpX1/lmplK+ei4zCaRLGnf39js36A9BpSSNeoPo3hi63gGMOz+kgervweDi3eA9wFiAC8Cx0AocBwMMl4HXeZYFwYa1LdCWpa/LEkFb0p8bmUpYV+UV8TLnvIjJa7VNVKaNFaWLlsmS5Z84TwYeCsY6Q8bNswZaIw9ZYppL9s5J0KHcAdGnzYxEwKPBe2gXkGweQCIHK6VfkIQIGqohhjMlEXDaEhsCWgjFglaGDACNOoPBhYjirFk1F09ebC6WsQAYyRxwTMix5OAAEAoYPwRBLj1GdFr7gCx90GD+kvPNgskKe+Pkpo/46eT+25TUWlzyYk/WxLbXiPZ+c1l8bzFsnbtm+6cJJnqQkOoVtpC3QGtS6BrJej0R81z4H/exzUGmwfAMbleBAHXjshAEOB5MIxIxJaANmKReiUf4uJ99NFHZerUqW5UyWI4wJTF3/72t25Ua+wLRjaQcWTUjwHWIkTqHcDg6gqHuNl1yiLv4fXBgwfL/n3aSOv4dyQx73eSkrMtYPfvKeote1Mvk8QO58rGjTtk6Rc/umMyyseQq+uec2H858yZ4wlV8GAEjyDAU6DFkbQt5BUEmwfAe/AwIAg4FoWP8DBoUSbDiFSsXLMRi9RZGOBGPu6441zcg6lmkyZN8rzGaPGll16S66+/PlTtjHkwiDrNkCmJGEVCC1rREEOMSGA/LXOsuQMubt8xW5Lyn5b0gvclIb7Yb+2B8vIE2VF0iJS1uEpK00a72QVrpnzivBgYfz5PzstIn5kFzABYsmSJe43z8TqGm/ABYpAQEx4MjDseDcQEo/xg4mG8h9AIIQcEDt4QxA3eFMOIBqxcsxGL1FkY3HnnnXLYYYe5okYYAe/kxJNPPlmuuOIKEwY1wEj81YXb5NElxa7Ua7P4eLmocys5rHWxSx7EWDNy1xE1xhMwwBjf3vt1l7Yp30lCziXSInd+5UH9CIK9JS1kR8mpktD6KsmuSJflC5bL9u0fe+oisLIi4SJG+QgCPBPqCcJLgBjAC4AHgNcw6IgFXVRJ8wBoW02oVwRBwBRK79UdDSOasHLNRixSZ2GA0ZgyZYrPkSEGwpIV/aOrGb6zMlf+taOd5FX8lJBXJvLQ+gTZW7BdDm4R74QAMXutSohxpqRw107Jkpz/kjQvek3SyneJBMjn25W/n+yJv0DKM86Q7bl7ZPWU5U50AEYezwShCm9B8M0337icBc6J0WY//hJm0BUP8V5g4JkeiXchmDwA9lcvA23gvCNHjqzTjBfDiBSsXLMRa9RZGDDS9F7pznuOPTd9q0Ln3ziSvIe34L97ukteRdWPgOev7mwpnXYscvsSxyd5jyJALZKXS3L+ndIu/wtJiC/1X6q4PEE27hkjhWmXS1HSUFcDYOvW751Rr1wlsbn7fFQQIDgw+l988YX7y2vkDvBgKiKGnBAGnzceAjwIuP0RBMG6/REEeAg4HkJg+PDhLvHSMAzDiBFhgKH65JNP3FoJ1YUB24l7G77R+Hxeqe8SEnsr4p3RxGi3a9dSkgs/kMzim6VN4nKRADP28otayPqc46U4/SIpkBayYfkGycmZ6Yy51jsgV4G/eHXIJUAIsBAWoQEEAR4JwgLMeqBCIeAN4P2ENjT/IJjljwEhgCDgenW6I9fm/X0xDMMwYkAYsD7CzTff7DwH5BQAI9IPPvjA5R/cfffdoWxnzIBB1Cl+aXG+lyts3SxZhg3uJGlFz0rnkg+kWVpl8SN/bN2zn2zee5oUp5wkOXsLZfu67VJYuMG5+zHqmrioOQQIA0IGH3/8sRMG5AgQ48cLwHYSS8kVILSAQEA0EP9npkCwbn9mUCAICEloHQMt02wYhmHEoDC48sorZe7cuXLttde6dRJwe+N6Jh5+1llnyfnnnx/alsYIjN4xxoykjy0vkDdkf8mXn+f4t0wokRs7PycDUp6QhLQyv8cpK0+UVTtGyfaSs6Q0cagz4Dk5a9zxGfkzKidcgSDA4CMIGLETVmB1Qww2XoBBgwY5oUDOw/Llyz3hBY7HDAmEBd4FCjAFM9OA/AkEAdfIe5llQKjCBIFhGEYTWV0Rz8HkyZPdqJIRKastHnvssaFtZYyhqxoe2bZMuqblyyvb4mRvWaFkJu2Su/s9Kqd3/Mzve/MKM2XZtiNkZ9mpUiZtnHu/qGiDE2YYbnISEGdAYqCWEKbmxLfffusMPvtgsPEKMNuBbRQTIpcBjwE1CdTtzz6IiZogUZJcBL4HvGfgwIHO42CCwDAMowkVOIIjjzzSPYzgBdX+++/vwi4VJRtlaNrDckufzyUtqXKmgD82Z+0ny7YfKzkVR0lZebwL4YhUVhjUHAC26SJDGHmMMkaeXAFc+2qwCR3o+gyIB8IDzH5YunTpPm5/2lmTIKAwEYICAUJIghwFEwSGYRjRiVU+bGAqysulomCK9El/T7p2minxcf7DBaXlibJsy0hZseNYKUkY5LaVl7N/ZYgAQUDYAA8EXgKdSYBAQAwgCjDceAgQI7oMMyLCzXJo0cIVMOJRW7c/VQ4RBIQbEBocH5FBuwzDMIzoxSofNjDJBU/L+K63Bdwnt7CVLFg/XtZkHSXxSe2d8WeaIdUOSSRkVI8BJoyAxwDvAF4C8hYWLlzoRu8YbgQAQgFDzxRS3ofHgNoF6klANNTG7Y8HgffiYUAQMIuBc9MuwzAMI/qxyocNTGnaSVKR8yeJ8+Ep2Li7r8xbd7Bsyxst6RktJaNlmjO4zGIA3PsIAUIAiAWmDZIbgBCYNWuWM/54DnQGAuA94H24+BEKGPXFixe7/0koxO0fzCif45CngCCgTX369HGCIJjlkw3DMIzoISYqH37//feeufiMkE888URn9HzBQk8TJ050CXVk7p9wwgly0EEHNVhbKxK6SmnaLySpsHJtidLyZFmyabj8sO5gKSjr4+L9Xbq2cMmEurohxh9xQC0A+rtfv36evIAZM2Y4o41g4D1alZDRP14AvAk8RxAw84BRPu/HqAcjCDgv4QLez3v5bOljEwSGYRixSVRXPiS2fvnll8uHH35YZTurO953333uNW9effVV+d3vfufJ2ofHHntMrr76avnrX/8qDQHGe3XWidI5bprMXTNGftx0kCQmt3ex/S4tWjhXPdelCxKRI4BHgBwAnTKIqGFqofY714Mw8F7xkKWXOZcKAgx5bdz+HBMPAe8nZEHBKvISrKKlYRhGbBPVlQ8vuugidy6K71A3gZEwo+q3337bJdR5Q8Y9qz0Sp//Vr34l48aNc14NFoH65z//KSNGjJBTTz017G3GgH/8bb6Uld4sLTNbS7/+PdxInPAAiYHUEUAk8D8eAfICqDXA+zZs2ODqBCAOeHCtCDTeT7gA7wChAWYmaB4AXoHajPLpH01I1LUQ+GyZ9miiwDAMI/aJ2sqHeAkQBbjLP/30U7fyn0LBpepz7//1r385o3fDDTfI7bff7tmOILjgggvk0UcfbRBhwGh98OAhbmRPeyg0hAEmXMA2wiGM1BEICAK8ByQJ0s9s0xACYQbEAWKAB0WMOB4zBfTa2Y4gCMag817ex7kRFngceD9tQ5AYhmEYTYOorXz4yiuvuL9/+MMfqogCYIRLW7whB4HRM2EDbxA1JPHNnz/fuewx0OGEfsJQE7fXxYoQCzznwcifbYRjlixZ4t6DBwFjjdHHrU+YAY8MngC8JSoIdJTP+zHqwQgCjovQwMPAcbyLIkFNdQwMwzCM2CJqKx+SdEcbfvnLX7plgvEgYNgYZZ955plV8h+YxkeFP+ba+1rRj+RDyvhiiMMtDNwaCWlpLt6PUWaUToIfgoBROh4E2kESIcYdTwFhEAQB0wypRoggUI8DBr36KJ/31gShCRUEnJ8QhB7XMAzDaLrUShg89NBDcuihhzrjpPHqxqh8SDyeB3kOTz75pEs29Obvf/+7vPnmm66CH+zcudP9JezgC0bJ3vv5IxSjZ0b0GGVmR2DYCQEwOkcQIF4w/lwXQgCPDH/JM2CZYjwjeAEQAbwfFz8eGow6ryEIOH6gdnJuPCN4FxAdeCMQEyoIqr9Xp0rqXyO0WP+GF+tf699opjhE999g1rmpszDQvAFG42PHjnUi4bDDDnMFchqyBK4aL4zp/fff73IDDj74YJfB/8Ybb7h5+uQNzJ492xnSyvLB4pL0fKHbdT9/kN2PUa4POlOAdnFeDDTHxPgjEhA8TAOlLRhrRALGG+8I59fVDhEV5Bwwy4DjsK2m8+I5QRQgJghBICj4wtQkiID3GeHD+je8WP9a/zbV729CQoILl4dNGJDk991337nFeHiQ/AeEEA455BAnEhALGLNwoqNbDN3vf/97+eMf/+h57YorrpAjjjjCiQPaijeDqX6AcPCFbtf9/KGehfqg9Qkw5Ize1fCTX8ByxyQbYrQJb2jVQt6DN0FH+XgHvEf5NZ2PdREIN3BsroH34pkIBpSq5l74E1ZG3bH+DS/Wv9a/0UxxI91/ayUMRo8e7R433nija/DMmTM9QuF///ufvPfee24/RrEIBNz84QCPBQ8S9M4444wqr+FOJ+8AYcB0RIQBncqIG+PoCxL3gjH8tXXH+ENLCZPvoKseYrSZcYAgwPB7CwLax+sICJRfMEZdBQG5E4QjyGEgtOKde1HbNofq+g3r34bGvr/Wv9FMcgPffxPr01Dc9zxuu+02NwomIfDFF1+USZMmyeuvvx42YQBDhw51BtWXFwBDqG0EXUSIpD5G5fzvHZbAdc++/qolhhoECKKFUAfnx0MwatSoKoIAjwL7cH2EGFjgiHBDTfBeQiwIAoQT4oNjcw7DMAzDqIl6F7onAQ4DjeeAB5nuGGKMUTg57bTT3HmpcPjSSy953OpUBHz55Zfd/yNHjvTsf9JJJzlhwPTG//znP57M/b/97W8ubn/88ccHZXjrC/kEtJtCRYzeqaOAICAO5D3K53VCNKxxEIxR571cB2KCPAXyDzg2fw3DMAwjWOKys7Mrgt5bxI1kvfMMcHOrEFAPAgY53PEQEujIaSBkQKiArH1G13gtCHNQn0AFguYj4KYnXsO0PowmRnTRokVOJHz++eduVB5uMOAseITRJ9bP7A62UcWQ9jDKx5gTMgjWqCMIEBP8RUSQt8B7Q5EQikcD8Ue+g4USQo/1b3ix/rX+jWYKG+n+WyuPATMRGHWrEDjnnHMaTAhUh6z+t956Sy677DKZNm2aq6UAGEPKND/88MNV9id+z+JJF198sfMqaHVADDRVERtCFGj76Ds12tWNOgInWKOOZwAxgajA20EOAbkEDTlDxDAMw4gtaiUMEAVk7lPU6Oijj3ZCoSHc7/4gyZGkR9qFsUcskHvgL4mQ4kesxDhnzhwnDDDAY8aMCaogUCjBcFc36rQbkRKMUcergJhgmiGJiEOGDHF5CCYIDMMwjAYVBiQUagjh2WefdZn+GDSmKvLAyNY05S8ckDQYbOIgxhMPh3f+QUPCFMWFCxe6XILaGnWSKhEEhHPoZ4QOYRQTBIZhGEajCAMS9HgAme+aa0A5YhYhYsSOK1yFAjkARlUQU4RiamPUyZ1QQUCciYREihOZIDAMwzAiZlYCbm/qBfAACvQgElhdkdLJDz74oEv4M/aF5aGDgdoFJHdSy4BwBwsnIQgQF4ZhGIYRkdMVcW9Pnz7d4z1YsGCBy7I36g41ISibTAlkkjoREuRTmCAwDMMwIk4YYLS8Kx6y0A91+4EpFcxU0DUUjNpPTVFBwDRGqiMiCKhxYBiGYRgRJwx+8YtfuGp9utgQJXqpF6BrJLBsr1F7qLuAIKA4FF4BahhQa0FXsDQMwzCMhqJWlodiQKw9oB4BkuCM+hVpYq0ECliQSEjBI6ogmiAwDMMwokIYkBlvbu3QCALEAKslaggGUcCsDsMwDMOIGmFgoiA0dQwosoQ4IFyAILDljA3DMIxIwYLYDQw5BKzuyAJKDV1x0TAMwzBqwoRBI0ClQ8MwDMOIRKxSjmEYhmEYHkwYGIZhGIbhwYSBYRiGYRgeTBgYhmEYhuHBhIFhGIZhGB5MGBiGYRiG4cGmKzYg768tkPvm5UpeSYVkJMXJrcOayyk9mzVkEwzDMAwjICYMGlAUXD8tW7KKfl6Smudg4sAwDMOIFCyU0EDgKfAWBcDz++flNlQTDMMwDKNGTBg0EIQPfJHrZ7thGIZhNAYmDBoIcgp80dzPdsMwDMNoDEwYNBAkGrZKqSoCeH7LsOYN1QTDMAzDqBFLPmwgNMGQnALCB3gKEAWWeGgYhmFEEiYMGhBEgAkBwzAMI5KxUIJhGIZhGB5MGBiGYRiG4cGEgWEYhmEYHizHwDCMOmElvg0jNjFhYBhGrbES34YRu1gowTCMWmMlvg0jdjGPQYRj7lojErES34YRu5gwiGDMXWtEKlbi2zBil6gVBllZWbJhwwafr8XHx8ugQYP8vjcnJ0e2bt0qrVu3lrZt20o0umutUJLR2CW+qy8jbiW+DSM2iFph8MEHH8i1117r87WUlBTZtm3bPtu3b98uN910k3z00UdSVlbmto0ePVoeffRRGTBggEQa5q41IhUr8W0YsUvUCgOle/fu0qJFi32EQXWKiork1FNPlR9//FGSk5Old+/esmXLFpk5c6acdNJJ8s0330jXrl0lkjB3rRHJWIlvw4hNon5Wwt133y1Tpkyp8vjiiy/22e/FF190omDgwIHyww8/OEGwbNkyJwp27dol9957r0Qajb0iIzkOh/8vW06alSqH/S/bPTcMwzBim6gXBsHy1ltvub8PPfSQdO7c2f3frFkzefzxx93f999/33kVIm1E9ui4TBmQmSjd0hPcX543RH6BJj4u3VMmW4viZdmeMvfcxIFhGEZsE/WhBFi7dq3LGejSpYukpqbu83pJSYnMnz9f2rRpI2PGjKnyWmZmpowfP14+++wzWbJkiQwdOlQiicZy11rio2EYRtMk6oXBVVddJfn5+e5/cgcmTJgg99xzj3Tr1s2zz+bNm5046NOnj89j9O3b1wmD9evXBxQGhYWF0lTILS73uT2nuLxJ9UO4KS4urvLXsP6NJuz7Gx3962vAHNPCgA4jkTA7O9vlCkyaNElmzJghn3/+uUtMBBUO1ZMUFd2el5cX8FwIDJ3NEOukSKrPSFOKlPidJmrUHV+zaIzQYf0bXqx/I7d/ExISZL/99msawoAZBC+99JKccMIJkpSU5LYtWrRIrrvuOpkzZ4787W9/k6eeesptT0ysvMzS0lKfx9Ltup8/NDehKXBrRZHcPCtfsoq95qknx8mtw1pKt277zvow6i5s+dF36NDBebyM0GL9G16sf2Ozf6NWGBx55JH7bKOo0auvvioHHHCAfP3111XyCGDHjh0+j6XbW7VqFVJ3TDRzZr9USU5Oknvn5kh2YYlkpibJbcNbWGGlMMGPvil9vxoa61/r32gmuYHvD1ErDPzRsWNHycjIcNUNlfbt2ztxsGLFCikoKHCzELyZN2+eJ9fA+BmSHo/rGO9CB926tTPDZRiG0QSI2umKGHhffPzxxy5XoEePHlW2H3bYYW464muvvVZl+6xZs2TBggXSq1cv6dmzZ1jbbBiGYRiRTtR6DIYNGyann366jBo1yuUbkHxI+OCFF15wr5999tlV9r/ssstcrYI///nPLqt+7NixsnLlSrnzzjvd65dffnmjXIdhGIZhRBJRKwyYfvjEE0/4fO2UU06Rq6++usq2gw8+2CUmPvbYY04ceHPMMcc44WAYhmEYTZ2oFQYULHr77bdl6tSpsm7dOjejgByBk08+WY4++mif77nrrrtcgaM33nhDNm7c6FZXZFbDBRdc4KZ0GIZhGEZTJ2qFQfPmzeWiiy5yj9pw/PHHu4dhGIZhGDGUfGgYhmEYRugxYWAYhmEYhgcTBoZhGIZheDBhYBiGYRhG9CcfGoF5f22BWzo5r6RCMpJY46C5lTM2DMMwasSEQYyKguunZUtW0c8LIPFcyxwbhmEYhj8slBCD4CnwFgXA8/vn5TZamwzDMIzowIRBDEL4wBe5frYbhmEYhmLCIAYhp8AXzf1sNwzDMAzFhEEMQqJhq5SqIoDntwxr3mhtMgzDMKIDSz6MQTTBkJwCwgd4ChAFlnhoGIZh1IQJgxgFEWBCwDAMw6gtFkowDMMwDMODCQPDMAzDMDyYMDAMwzAMw4MJA8MwDMMwPJgwMAzDMAzDgwkDwzAMwzA8mDAwDMMwDMODCQOjRhISEqyXwoj1b3ix/rX+jWYSGuH+G5ednW0r6xiGYRiG4TCPgWEYhmEYHkwYGIZhGIbhwYSBYRiGYRgeTBgYhmEYhuHBhIFhGIZhGB5MGBiGYRiG4SHx538Noyrbt2+XTZs2SUZGhuy33342HzxM7NixQ1auXOn+Hz16tPVzCMnJyZG1a9dKixYtpEePHhIXFxfKw0tT79t169a5+0O3bt0kMdHMSV3YtWuXrFixwvXfyJEjg9p//fr10rJlS3dfDgdWx8CowoYNG+Tpp5+WiRMnypYtWzzbW7duLVdeeaXceOONEh9vjqZQUVFRIb/4xS9k2rRp7jlGLDMz076VIfge/+EPf5CPP/5YSkpK3LbOnTvLLbfcIr/5zW+sf+vBjz/+KH/84x/l66+/9mxLS0uT3/72t3LzzTe7/43AZGVlycsvvyyTJ0+WmTNnSnl5ubvHrl69OqAguP766+Wjjz5y+0Pv3r3lsccek4MPPlhCiQkDowp8Wa+99lr3f7t27dzNFIGA9wAuu+wyeeCBB6zXQsRLL73kbqaof/rYhEH9WbNmjRx//PGydetWNwrbf//9nadg6dKl0qlTJ1m4cGEIztI02bhxo4wbN855C5o1a+YMU0FBgaxatcq9fuqpp8oLL7zQ2M2MeL7++mv55S9/6f5HEOzZs8fdA/wJg7KyMjnmmGNk7ty5kpKSIgcccIC7L2/bts0JsU8//VQGDx4csvbZ0M+oAi7Bu+++291EcW9988037v/777/fvf7888875WrUH4TAHXfc4bwwCDAjNODZQhRwI128eLFMnTpVpkyZ4ka6F110kXVzPXjttdecKGCESt9+9913MmfOHDeKRSi8++67VTyNhm9atWol1113nfMYcJ9NT0+XQPz3v/91oqBfv34yb948Jyzo/8svv1z27t0rd911l4QS8xgYQcMobPr06fLll1/K8OHDrefqycUXX+xEF+ILI/bDDz+Yx6CezJgxQyZMmCBdu3Z1LlqMlRE6fve73zmPwKuvvionnnhildfOOeccZ+gwWkOHDrVurwXdu3d33i1/HoPTTz9dvvjiC3nzzTfl2GOP9WwvLi52ngLylJYvXy5t27aVUGAeAyNocFnhku3SpYv1Wj357LPP5L333pN//OMfkpSUZP0ZInCpwgUXXOBEwebNm91IixunUX/69u3r/pJ06A0xb/I6+C737NnTujrE8B1OTU2Vww8/vMr25ORkOeqoo1z/M7AIFZZGagTFkiVL5Ntvv5UTTjhBOnToYL1WD/Lz8+WGG25wbsBgspCN4MG9CsOGDZNLLrnEJdEqhxxyiDz++ONmuOrB+eef78KJ99xzj+Tl5cmoUaPc3//85z+yaNEiuemmmyx5NsTQvyQrIsoQAtXp06eP+4swCxUmDIwa2b17txuBtWnTRh566CHrsXrCTRX+/Oc/W1+GGJK44OGHH3ZhL0aveA5IjiMezgwQ8g2I8Rq1p3nz5s7bhbC99957q3gT8X5xnzBCP5DQvveFbkdAhAoLJRgBwQV78sknO3HwzjvvSMeOHa3H6gHuPqaDPvLIIzUmHBl1X7t+/vz58sEHH7j+Zioof/EiUJeDEa9RNzA+11xzjUsypDbEkCFD3EiWWPett94qr7zyinVtiNH6EKWlpT5f1+2hDEmaMDD8gmtKp31xkx04cKD1Vj0gDkgmMombiAJGtPrQUcHs2bPdc+obGLWHqV9w3nnnudCBwjRFZttogqJRN/7yl7/Ihx9+KFdffbVLdiO8OGvWLBcDp4AU3+9QxroNcQIMwatTxquj20PpBbNQguGTZcuWyWmnneaKw3Aj6N+/v/VUPWGaFyNZQHD54owzznB/EWMkGxm1g+/ppEmTfHq2dJuKMKP2fPLJJ24Ee/vtt1eJdyMKrrrqKudNIAHUZiWEDjwBVDhkWiPJtNWnNjNdFKjXESrMY2DsA180DBcjXOYnmygIDdxQx4wZ4/NBWVkgmYvnVl2ybhx99NHuL3Hw6l4XqiBCr1696vlJNl0otIPrmkJc1cGDoPsYoUVnI/z73/+usp3aHOTMUIyOsE6oMI+BUQXmfjNntqioyLkNd+7c6R7eIBQseav2YPzVOPn64eOCfeuttyyrux6w1gQPwjFnnXWWCymQfEji4VNPPeX2+dWvflWfUzRpDj30UDcDAW8iHgIq8FH5kDn2WvHwsMMOa+xmRgXTp0/3/M8gDMGl2xgYHHTQQZ7XqThLbsyjjz7qvLhMUSTUe99997n3MsMplIMJK3BkVIFyx5o17w9fxU2M+qHCwEoi1x/6kNkHJBpWhwQ5HkbdIMTFb18X/aoO6yVgrIyaCbQmCmWPKXfszbPPPuvKp1f3hHHvoPCRr6mMdcU8BkYVqBiHKzuYBC8jdFC9jJwCW6Gu/jBFkTLIjLC+//57VzKWGO3ZZ58tY8eODcEZmi7kaZBwSIleXNgkvhEDZ80Eav+PHz++sZsYNYwJcJ/1ZeTxGpC7wcwPXTGUKojnnntuyFdkNY+BYRiGYRgeLPnQMAzDMAwPJgwMwzAMw/BgwsAwDMMwDA8mDAzDMAzD8GDCwDAMwzAMDyYMDMMwDMPwYMLAMAzDMAwPJgwMwzAMw/BgwsAwDMMwDA8mDAwjhNx5551BLYL0yCOPuP3y8vIiov8pcUt7Fi9eLLFKba/x6aefdosEFRYW+nyd1QQvuOACaeqwsA+lell4zYgNTBgYUQuruXGj97Vi4QknnOBee+211/Z57fzzz3fLlObn5zdQS41oIzs7W+6//3658cYb3RoWdYHFblgtj4VvWJGU7+MTTzxRq2Ps2bNHfv/737v3d+jQQcaNG+cWMWvIfWuClf34LSGkjNjAhIER1UvAAkvqesOiObNnz5b09HS34Ev1mzUL7IwYMcK9bhj+RGdxcbH8+te/3uc1vltnnnmmHHfccfLBBx/IqFGj5K677tpnefL58+e77SzgVJcVB1lOl6WjP/vsM3njjTfcwjmsXnjttdfKM8880yD7BgPLWrOQz+OPP+76zIh+TBgYUQsrurEaZHXjP2PGDHeDuvTSS/cRDQsXLpTdu3d7RIVhVAfx+OKLL8pJJ53kjJ43CxYscN6ovn37yuuvv+6Wd3755ZfdSnfPPfdclX1xr+PNwugyKq8tEydOdKtDPvjgg+5YaWlpLnTBKpF33313lTBUuPYNFoTGjh075MMPP6z1e43Iw4SBEdUccsghsmjRIsnKyvJsQyjsv//+ctppp8nmzZurrB2vQsFbGKxevdotacrNnhDD8OHDXQ4AIytvgt2vOsuWLXM34IMPPlg2bdrkc5///Oc/ztVcXcjA22+/7V778ssv/Z6DkAn76APBxJKskyZN2mffzz//XA477DBnrGgXhi1Y6M8rr7xSBgwY4JbgHT16tPz1r3+VnJycffIsMDD/93//J927d3ePSy65ZJ815oPtVz0m8f6bbrpJevXq5a7xN7/5jezatSuk10gOwrp163yKR8QAnqZ77rnHLT8eHx/v8hB+97vfyS233CKhhM+Ocx1xxBFVtiNYcnNz5Ysvvgj7vsF83sDrfHaTJ08O2fUbjYcJAyOq4ebNCM/boCIMMMKDBw92xsTbo8D/jJC4wcGSJUvk8MMPd6Odd999V9asWSN/+9vf5J///KeLLyvB7ledr7/+2hlohAqjxy5duvjcDxGDoak+6gS2YQQ5vz9w5RIX54FHZObMma5vLrzwQpkyZUqV9jAyHDRokHOJcyP/8ccf5f333w/Yz97nQegw6sR4qqGkT6pDDJtrR7i99dZbMnfuXGd8CgoK6tyvf/zjH9114aYnmZDPnfN4U99rxOMEw4YN2+c12k6SXUMkjdJmBFBCQkKV7XyX9PVw71ubzxtBN23atHpetREJmDAwohpGhaDCgJHMDz/84DwJjObGjh3rEQZlZWUuGWzMmDGSnJzstv3hD3+QjIwMN+LGkPD/hAkT5I477nDu5FWrVtVqP2/YfsYZZzgjhUeA9/iDBLfzzjtPPvrooyqjakavtJkbNNcTDOzXuXNn+dOf/iQDBw6sMlr+y1/+4owC8eBu3bpJp06dXJLdli1bajwuCWbz5s1zIoZRckpKigvnMFpm5F4dDOspp5zi3OwHHXSQPPnkky6T/5VXXvHsU9t+HTJkiJx88snumOPHj3deiPfee88JolBcI2zcuNH9ZYRcHUIHiAPawHkRCQjTcIDAa9my5T7bdRuvh3Pf2n7eeGfwMPA7M6IbEwZGVIMB7NOnj0cYkFiICxqPAfCXETM3bwQDwkFdxNz4EA1HH330PomIjGI1UTHY/bzBKDPivffee+Xvf//7PqMzX1x88cXupvrSSy9V8RbExcU5YRAIDBTGDyGEQdOQAjkVjMKBa+dGzyi+usjA4NUE147BJbMesbF169aA+x9//PFVniPI2rRp4xFqdelX2l7dhc3nvX79+pBco2bsgy8hx3H5TGg7no1PPvnEff9I3AtWeNQGPvtgXwv1vrX9vJs3b+4+s+phBiP6MGFgRD0Y+qVLl8r27dudQGB007ZtW48wIFuckXf1/AJi0xhiRrAYLFz5PFq1auVGpkDuQrD7eYPLtWfPnvLLX/4y6Otgf4wkwoDz4a5+8803nZEkRh+I66+/Xv7xj384tzquYEZ9jKIRCiUlJZ42cuNu3779Pu/3tc0XhASY0XHrrbe6qW4jR450MWdi08Eck206Iq1Lv1YfxWOMvI15KK5RR86+rglOP/10F6ohREG4itkJeIQIkzAjJlTQF96eEEWv1bteRrj2rc3nzTZEBd4cI7oxYWDE1LRFzS9QvPMMeHDTIhkNMECMKskax0hhsHhgXDRef9111wW9nzcYDRLlGDVv2LAh6GthJgUJiryfGDo3W+ouBKK0tNQlKOJVwO2LkdXRMnFhhevgxo2Aqo6vbb5gdIwhZ4obCX6ECihwQ5JhMMdkG+3Q9tS2XwONdEN1jYQfwFeipDf0s46omY5IkuucOXMkVOANwdtT3TVPzB8IvYR739p83vQXOTTBeMeMyMaEgRH1kE+AMSDmy2iZ54rmGZDRzxQt4tJ642K0yXOSAgON9ILdz5t+/fp5Ci8hDlasWBHU+/AY4DnAXc0DQxeMC5zrJwbszTfffONivoqKok8//XSfmRS1zSYnR4PR45///GfnXveVdFa98BT9jwDQvJC69GtNhOIaCXkAIYlgQSAAia2hAg8EIYuvvvqqynZqJxDmOPLII8O+b20+b5JL+a0Z0Y8JAyPqYeRGkp3Oofb2GOhzRjvcDKtPQSP+zwj1nHPOcRns7EOsGMNCERuNXQe7X/WRJ8YI1y3igEz6mkDIkGvATZvwB/PDqxv86iQmJjpBQQIfN2xCEAghXL64gb3hxs70QEbieCaIG992220+E+2qw4iYREoK4zA6xCNC/gZudW8xpmBYMTZ4PWbNmiVXXXWVG4GSZKnUpV9roj7XCISievTosU99DKCK4QMPPOByN2gro26u//bbb3fJlhoCqS0IJjxb3iWWSVyleBLTM/nuIJ4YveNJIodFwyjh2rc2nzffVWaWVM8rMaITEwZGTMAolNgyAkFd1Qo3Mc0cry4MMAIYAGL4TO3TOP/zzz8vV1xxhSe2H+x+1WFuN8aROfqM1IKZzoXh1DK8NYURFDLwjznmGLc/bX3qqadcFbvqCXSMBsl/wCBgyIiPM02NLPuaICOdWQD//ve/XT9S0e+GG25wQuZf//rXPvuTDMksCz4TQhwYTfrCO9Gwrv0aiPpco3pfLrroIic0vadWAgmleCKuueYadzy8HSQeUhPgnXfekaSkpH0y9TH4ajCZhaGJod5rNuj0R2/xgmeLGD/9gUhCrBC2wJVP+MWbcOxbm8+bXBi+6yeeeGJQfWxENnHZ2dnhmWtjGEadwBhhyBhdV3f3RgMUI8LI+EpwixZoO/PyMeTkffgCw05uQW2KJ/mD5EWmAZKjQM2KaPu+Er65+uqrnUgyoh/zGBhGhIHrFve7r7niRsPAiJ5M/Iceesjv6orB1pUIBvJBGIlHmyiAZ5991pWOxsNjxAbmMTCMCIJYM+5dYrrE3EOZzNZQxILHIBjI4qc0cig8BoYRSZjHwDAiBKaCEUJgAShqGUSjKGhK8FmZKDBiEfMYGIZhGIbhwTwGhmEYhmF4MGFgGIZhGIYHEwaGYRiGYXgwYWAYhmEYhgcTBoZhGIZheDBhYBiGYRiGBxMGhmEYhmF4MGFgGIZhGIYHEwaGYRiGYYjy/+6GinESyBfuAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 500x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "np.random.seed(7)\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(5, 4))\n",
    "ax.scatter(stores['ad_spend'], stores['sales'], s=20, zorder=3)\n",
    "xs = np.array([1, 10])\n",
    "for i in range(20):\n",
    "    resample = stores.sample(len(stores), replace=True)\n",
    "    a = slope(resample, 'ad_spend', 'sales')\n",
    "    b = intercept(resample, 'ad_spend', 'sales')\n",
    "    ax.plot(xs, a * xs + b, color='gray', lw=1, alpha=0.6)\n",
    "ax.plot(xs, observed_slope * xs + observed_intercept, color='gold', lw=3)\n",
    "ax.set_xlabel('Weekly ad spend ($1,000s)', fontsize=12)\n",
    "ax.set_ylabel('Weekly sales ($1,000s)', fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e36f1635",
   "metadata": {},
   "source": [
    "The bootstrap lines fan out most at the two ends of the ad-spend range and cross near the middle, where the data are densest. The slope is uncertain, but every line still rises."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "ee3f3f90",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:11.236366Z",
     "iopub.status.busy": "2026-10-23T03:50:11.236304Z",
     "iopub.status.idle": "2026-10-23T03:50:11.237859Z",
     "shell.execute_reply": "2026-10-23T03:50:11.237564Z"
    },
    "tags": [
     "thebe-interactive"
    ]
   },
   "outputs": [],
   "source": [
    "### Exercise: Bootstrap the Staffing Slope\n",
    "# Does sales rise with the number of staff?\n",
    "#   1. Write a function that resamples the rows of stores with replacement,\n",
    "#      using stores.sample(len(stores), replace=True, random_state=seed),\n",
    "#      and returns the slope of sales on staff.\n",
    "#   2. Collect 1,000 bootstrap slopes with seed = 0, 1, ..., 999.\n",
    "#   3. Print the observed slope, the number of bootstrap slopes, and the smallest\n",
    "#      and largest bootstrap slopes, rounded to 2 decimals.\n",
    "### Your code starts here.\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "### Your code ends here."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "71340555",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:11.238669Z",
     "iopub.status.busy": "2026-10-23T03:50:11.238609Z",
     "iopub.status.idle": "2026-10-23T03:50:11.532974Z",
     "shell.execute_reply": "2026-10-23T03:50:11.532553Z"
    },
    "tags": [
     "hide-input"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Observed slope: 1.95\n",
      "Number of bootstrap slopes: 1000\n",
      "Smallest and largest: -0.04 3.98\n"
     ]
    }
   ],
   "source": [
    "### Solution\n",
    "stores = pd.read_csv(path_data + 'store_ad_sales.csv')\n",
    "\n",
    "def one_bootstrap_staff_slope(seed):\n",
    "    resample = stores.sample(len(stores), replace=True, random_state=seed)\n",
    "    return slope(resample, 'staff', 'sales')\n",
    "\n",
    "staff_slopes = np.array([one_bootstrap_staff_slope(i) for i in range(1000)])\n",
    "\n",
    "print('Observed slope:', round(slope(stores, 'staff', 'sales'), 2))\n",
    "print('Number of bootstrap slopes:', len(staff_slopes))\n",
    "print('Smallest and largest:', round(staff_slopes.min(), 2), round(staff_slopes.max(), 2))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "25085ab1",
   "metadata": {},
   "source": [
    "## A Confidence Interval for the True Slope\n",
    "\n",
    "```{index} confidence interval; for a slope\n",
    "```\n",
    "\n",
    "```{index} slope confidence interval\n",
    "```\n",
    "\n",
    "The **bootstrap percentile method** from {doc}`../11-estimation/1103-confidence-intervals` works for slopes exactly as it did for medians and means. For a 95% confidence interval, take the 2.5th and 97.5th percentiles of the bootstrap slopes."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "afdd0f99",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:11.534102Z",
     "iopub.status.busy": "2026-10-23T03:50:11.534033Z",
     "iopub.status.idle": "2026-10-23T03:50:11.536211Z",
     "shell.execute_reply": "2026-10-23T03:50:11.535898Z"
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([2.79, 4.98])"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "left = np.percentile(bstrap_slopes, 2.5, method='nearest')\n",
    "right = np.percentile(bstrap_slopes, 97.5, method='nearest')\n",
    "\n",
    "np.array([left, right]).round(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "eb8e3731",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:11.537098Z",
     "iopub.status.busy": "2026-10-23T03:50:11.537038Z",
     "iopub.status.idle": "2026-10-23T03:50:11.569420Z",
     "shell.execute_reply": "2026-10-23T03:50:11.569134Z"
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgAAAAGGCAYAAAANeTmiAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjIsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvgI3uAAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAP8hJREFUeJzt3Qd8FNX+//9PQkJoAcECUpQiICDgVVSaYkUEfqJXwIaiWFABC1esKBYsoF6sgIoKCoIoYgEVxXIVlKtSFSlSRLrSDEUgIfk/3uf+J9/NsullZzOv5+Oxj012d2bPzuzO+ZzPOXMmbseOHRkGAAACJT7aBQAAACWPAAAAgAAiAAAAIIAIAAAACCACAAAAAogAAACAACIAAAAggAgAAAAIIAIAAAACiAAAAIAAIgCIIXv37rVVq1a5e0Qf+8M/2Bf+wv6IDQQAMebAgQPRLgJCsD/8g33hL+wP/yMAAAAggAgAAAAIIAIAAAACiAAAAIAAIgAAACCACAAAAAggAgAAAAKIAAAAgABKMJ/5+uuv7a233rJ169ZZtWrVrHPnzta9e3eLi4vL0/K9e/e2zZs35/iaDz74wMqWLVtEJQYAIPb4KgAYPny4Pfroo1kemzp1qk2bNs1ee+01i4/PPWExb948W7t2bbbPN2jQgMofABB4vgkAfvjhB1f5JyYm2m233Wbt2rWzFStWuMfef/99Gzt2rPXp0yfX9bz++usR58r/9NNPbcSIEXb55ZcX0ycAACB2+CYAGD16tLsfMmSI9e/f3/3doUMHa9y4sXXt2tVGjRqVpwDgH//4R8THH3/8cStTpoxdcsklRVxyAABij28CgC+//NK1/q+66qosj7dv396aNWtmixcvtt9//92OOuqofK/7t99+c2MLzj77bKtZs2YRlhpAUdtpSZaSmpGvZTLiEyyxZkPbEp9gVayMJds+dgwQCwHAli1bbNu2bda0aVOrVKnSQc+feOKJLgBYvnx5gQKAN954wzIyMqxXr15FVGIAxUWVf7Pxqwu8/OJe9Sw5sUiLBJRKvggAVPlL9erVIz5/xBFHuPvt27cX6JKUb775pjuj4LzzzsvTMpHGEPjB/v37s9wjutgfxUOt+UItn5Hu299wUPDbiI5y5crFXgCQlpbm7hMSIhfHezw1NTXf654xY4Zt3LjR+vbtm+fR/xs2bPD1taxzO80RJYv9UbSUyi+MtNQ0W7sh+zOBUHL4bZQcjXGrX79+7AUAFStWdPc7d+6M+Lz3uPe6/Bg3bpy7z0/636/jBBRV6welTAnzGEQf+6N4qB+/MBISE6xGnTpFVh7kH7+N2OCLAODII490rfyVK1dGfF6nA0p++//Vkp85c6a1aNHCmjdvXmxplJKmyt/vZQwS9kfhB/GFyrC8TfqVnbi4eH4fPsFvw98S/PIlOe6442zBggU2d+5cN+jPk5KSYrNnz7YKFSpYkyZN8rXeCRMmuFQ+g/+A2BnEt/Dy/KUxAcT4tQAuuugidz9o0KDMQYHq87/99ttt165dbi6A/LR6Nepfo/+TkpKsR48exVZuAABikW8CgGuuucYaNmzopvJVNuCMM86wY4891iZPnmxVqlSxe+65J8vrp0+fbp06dbKXX34523kFNG+AriVQtWrVEvoUAADEBt8EAErxa97/M8880/bs2WPz58+3rVu3urkB9HjdunWzvF6D4ebMmWNr1qzJdkpgIf0PAIBPxwB4ateube+++66r3NevX+/O3Q+v+D1dunRxYwKyG7E/YMAAd+rfKaecUsylBgAg9vgqAPDoNLfsJgXK62tCBxICAACfdgEAAICSQwAAAEAAEQAAABBABAAAAAQQAQAAAAFEAAAAQAARAAAAEEAEAAAABBABAAAAAUQAAABAABEAAAAQQAQAAAAEEAEAAAABRAAAAEAAEQAAABBABAAAAAQQAQAAAAFEAAAAQAARAAAAEEAJ0S4AABSlpIR4W59atkDLVk6Ms2Tbxw5BIBAAAChVdqdmWMsJqwu07OJe9Sw5sciLBPgSXQAAAAQQAQAAAAFEAAAAQAARAAAAEEAEAAAABBABAAAAAeTLAGD//v22fv162717d6HXtW/fPtuwYYOlpaUVSdkAACgNfBUAbN++3W688UY76qijrFmzZlanTh278MILbeXKlfle1/z5892ytWrVsqZNm7r7q6++2lasWFEsZQcAIJb4JgBITU21iy66yCZOnOgyAKqwExMT7csvv7QuXbrYpk2b8ryujz76yDp27OiWFW9dU6dOtbFjxxbjpwAAIDb4JgB44403bN68edaoUSObO3euLV682JYtW+YqclX+w4YNy9N69NobbrjBBRTKJqjFr3WtWbPGXn/9dbd+AACCzjcBwOTJk939U089ZfXq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AFDqJSXE2/rUsgVevnJinCXbviItE0qvfAcAquDV769pgM8880yrWbOmZWRk2IYNG+yLL76wV155xf09ceLE4ikxAJRSu1MzrOWE1QVefnGvepbMFCwojgBAFb8qeZ36F2mg32233WbTp093QcLnn39uZ511Vn5WDwAA/BgAvPPOO3bDDTfkOMq/S5cu1rdvX3ctgIIGAEuXLrV169a58QQtW7Z0Zxzkl65GuHLlStu2bZsdeeSR1rRpU4uPL9TFDwEACGYAoAv/vPTSS7m+rkePHi4IKMgVBq+77jr3Pp5atWrZyJEjrUOHDnlax+zZs23EiBH25Zdf2oEDBzIf1xwFjz/+uHXt2jXf5QLya6clWUpqRoE3XLr938yaABD1AGDjxo12zDHH5GmaYL02PzSb4IUXXuha/ocffrhr+a9atcrdLr30Utf1kJfphd977z2bOXOmyx40atTIypYta0uWLHHr1eREmqkwr8EEUFCq/JuNL3hf7sLL67PxARSrfOXEd+3aZZUqVcr1dcnJye61+aHMgirp9u3buwyAuhs006AyAnv27HFnFuSFltfEREr/6/6DDz6wxYsXW58+fdxshWPGjMlXuQAAsKAHABrtn1eqbPNDLXNRmr5ixYrub80v8OCDD7qrDs6YMcN2796d63q6detmrVu3znJxImUBbrnlFve35i0AACDo8n0a4MUXX1zkhdi3b58b+KfBescdd1yW5ypUqOBa9Tq7QKn8Vq1aFeg9tH7hKoUAAOQzANDkPl999VWeX5tXGi+gAXt169aN+Hz9+v/rD12/fn2eA4CffvrJ1qxZ4yYuUhfAq6++atWrV7d//etfuS67d+9e8yNdaCn0Hv7dHxnxhZ1lOyNKywZ9+Vguu7K06b44fnGsio5y5crl6/X5Okrpgj/FQX38kt34Aq9LID/jClThv/baa5n/H3/88TZu3Dg7+uijc11WExmFnkHgN8W1H1B0+yOxZsNCbc589LYV6bJBXz6Wyy5pqWm2dsNa8wuOVSVHp8t7jeUSuxhQUUhM/N/UVampqRGf96Yczk9WoXnz5m6+AgUXK1ascAMLNUfBpEmTDupmCKfZDf1IUbV+UMpkaFwD/Ls/thQyAxAyhKVElw368rFcdklITLAadepYtHGsig2+CAB0GeGcokXvlELvdXmhUf+6ed599113RoHmJ9Bc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bMmSJewinyEDEEOnOelUmi+//NL9mLp16xbtIgVWs2bN7JNPPskyKdUVV1zhBghqMGDjxo2jWr4gUPZLZ2Q8++yzNmfOnCxnasjGjRvtu+++cwFadpcHR9HS9z+UKn79Ln7++Wd78cUXXVAQPqAZ0UUAEAN27Nhhl1xyiRtYo9MCu3btGu0iIcTxxx/vWj9KdeoUTQKA4jdr1ix3r/7lSKZMmeJut99+uw0ePJjvaxQdddRRmRObwV8IAHxOff0XXnihS6e98cYbmdc6QHRmAqxSpUrE55T29Fo9KH5169Z13TCRJgBbtmyZGxOgiofWf3R/G5qW+d13383cZ/AXJgLyeeWvwWYaWav+zkgj/mvVqpUZYaN4abpfXVBK+0QHMw3A1P8ffvihS0eXLVvWfvzxR/ZHFE2bNs169erFREAlTH39mohJk2TVq1fPKlWq5BotugibZjTVJdg1e6seh3/QXPExDZrxJvp56qmn3C2cBp/p9DMUP41s1umXSvOH0xwAzzzzDJU/Akmtf/X16xbusMMOs9dff53K34cIAHz+o4qU5gxF67/k6JSz7t27uwFov/76qxv9r4PbP/7xD/c4p6JFn677od9MrF33I9ZdeeWV7loMkydPdl0w6orRHACnnHKKu3AZFy3zJ7oAAAAIIOYBAAAggAgAAAAIIAIAAAACiAAAAIAAIgAAACCACAAAAAggAgAAAAKIAAAAgAAiAABg27ZtczMc/vHHH77fGgcOHHBl3bRpU7G9x5o1a9x7cAW77K+5sGjRosz/daXS77//vtj2B4oHAQB847fffnMH3dDb119/bevWrSuR99eFfD777LMCLatrNqi8uvpZLNL0rb17985yUPcrXRJbF8cqzgvLaO76a665hqs7ZqNv377u6qQeBWO6aumGDRuKbZ+g6HEtAPjGF198YQMHDnRzimse8YyMDPvzzz9dxawrIb7wwgt26KGHFtv7jxw50n744YfMS/vmxyeffGL33HOPq0irV69eLOWD2a5du+yxxx6zAQMGFGsAsHDhQmvcuLG74iNy16VLF6tfv7498sgj7neK2EAGAL5z5513uhaYWhiqWD/66CP79NNPbfDgwdEuGqLs7bffth07dtill15arO+jTEjLli2L9T1Km8svv9ztny1btkS7KMgjMgDwvZNPPtld3W3BggUR+4N1sN64caO7Mt/xxx9vZcuWjbgetc5Xr15tFSpUcFfwS05OznxOXQ1KX/79998ule/5f//v/1l8/P/i5OXLl9vvv//ulmvSpIlVrlzZPa6MgXcZ1BkzZrirOEq7du1cmRTA1KpVy1Uo69evd6/V5zn22GPt448/tv3797vXJyQk2JFHHmktWrQ4KPU8c+ZMt96TTjopcx3KkujzeuXLzdq1a9012vX6pk2burLlhbbt4sWLXUamefPmVqNGjSzP68qIuuZ7586dLT093f773/9aamqqtWrVKnNbhFPKWJ9Br9fnDV9ndsaPH2+nnnqqu758JKp8VB7tR+0jbU+PumcUUHrUutd+0WcK/7waC6Fyhdu7d6/Nnz/fUlJSrEGDBnbMMcdkO4ZAXVplypSx4447LsvV8Lzt1bVrV3dFSa1P+0Tfj+yumqd16funrIfKG/rdFWXJFBgpU6ay6X+9d4cOHQ5a119//WVfffVV5v/lypXL8bPs2bPHZca0/7VPs8u8/POf/7S77rrL3nrrLevXr1/E18BfCADgezqg6YCsA38oHeSuvfZalxbWQVEHSAUEzz77rHXs2DHzdaow1Z+rCkcVv9alcQX33nuv3XTTTe41OiCqgtTBbsqUKZnLqlLTgfWSSy5xAcSJJ57oKhIFEjfccIPdfPPNLgDx+s6nT5+emTZu1KiRq2T1uosuusj9recVgOhArYOlBlOpEhC9t1LPCmCUAdF7eQYNGuQ+owKACRMmuG6GefPmubTrxIkTc7wUsSrj66+/3lV+OoAruNBn0TZ6+umns11OlZ362nWJV681rPKp9f3EE09kfk59hgcffNAFP+rCUWCiCkuVsdavSyV79Fn1GgVZWmdiYqKrAHU5WV1uWZVWdlRx6bXaFuH0HbjjjjtcWbygSPu7ffv2Nnr0aFfJaf+G7lt9rzR4TcGYHve6brx9GZoBUKAyfPhw102kba6KWoHOGWecYa+++qpbv+hz33LLLbZkyRK3v1QuVfj6/un7JkqRf/DBB27/6V4Vr7arAkFlvUK/51rPbbfd5r7b+lz6DNquzz33nAsgPLfffrv73mj7av3ly5d337NIAYC+z6HbQQNA9VvS+idNmpQlCPn888/tuuuuc59PXSL6Len3FYmCMm0b/ZYIAGIDAQB859tvv3UHe9EYALX6dHAeMmRI5mv0eI8ePVwrWhWUWkQ6gCogUGXyn//8xx2w1GpRhaWD3KxZs6xu3bpu+WHDhrk+e1WcF1xwgd1///3u4K2WjirfUE8++aQb5KeDtHdwVGWtg7eX+lR5tT4dHCONAVB5rrjiCvfZRC1xCe8v1Wfo06ePu6mCCK0QVTHpADtnzpzMVqb6XvXa0JZtOB3Up06d6iosbRNRoKTtmpP77rvPteZUWXgVicZpaLurgtE2DPXvf//bvY8qAlWYt956q914441uH6kVLNo/Gi2u9XiP6XOed955Lgugyi47ygBpvcpeRCqrtoteU61aNfeYArVx48ZlVs6qaMP3rYJBVXyvvPKK23+i/RwXF5dZPlHQovT2m2++mbktVDkrAND3w+ue6tWrl9WpU8e18L0sztatW11wFLof9X1U+fR90+v0/dF69T56TFTpa/8qk6T31ndc32eNf9B2bd26tQsq9Z3R+9WuXdsFtsoWedsrEgU84dtBGRkFhPoczz//vHtMlb0Ghp522mlu4KUCDJVTQW9aWlrEdWubffPNN9nuQ/gLYwDgOzqAqNLRTS1FVcw62Kll6dGBePv27a7V6KVDdYBSpaSD05gxYzJT+zrg6sDqVf5ei0kHQu9glxOlhL0WlUd/KyuQV2qF68DpUco1tEWm4OTDDz90XQL16tXLTCGHUotVWQOPyq/Wpio+VaI5lV+BhFcxiv7XwT07armq8lRaN7QVeeaZZ7rR3q+99tpBp8j17NkzMzWvFvhDDz3kKjdvX6hCUkWorEJo5XrCCSe4bamWek68UxQjDQRVgKUKPvQzKkOhzEcoVZZLly51LVt9t7777jtX2Sug8ygA0P7xvlcqsypADXAL3RbqYjj99NPtyy+/dP+rUveyTKFdOCrvZZdd5v7Wd1OVtTI5GszovU5dJQpElS3wgt/+/ftbxYoV7cUXX8wsi8qqjJJa+l6goO4ZfS59bxQceBTY5ETBgrcdFBxq+4V2DShA1PdAvzGvW03lVEYgu7Nd9Fn1u/S6teBvZADgy0GAOrCGtvaVMj///PNdcKDKS5W60sfhA7XU56t+XR3EQ9O5oel00Tp0oFb/fG6UwtZBUkGIKr+2bdu6m4KCvFI5w9Pbas0p86ADvFr2qtBVaenzehV3aKCgCsdrzXq8z6XPqYo0Eo1jUCpeZVaFrrS40szZ9TeLKkkdxMO3m6gb4Z133nGvCX1e2zOU1q/P5e0D7zxxBUNK1evz6+Y9tnnzZpfezm5sglepaL+H05kj6hpRJar9pUAltFtE76NgTzdVZqosVT61zhXINGvWLPO1Kq/GnXi0f/SeGvMRWm7dVEF6XThVq1Z1+0hBqDI8StGr9Rw6DkJdL+paUSWqyjyUF2BqvQrotL26devmsiXedtK9Ag3x3lfdIhIe7GRHFbQyMfotaZyDgjYFIhrfEjq3gn5DCqhCA2eJ9J3wePtG+zO7sTjwDwIA+J5a/kqzqyUye/Zsd1BVZaDKMNIAOLWavBaKDkTeY+F0wNXzSivnNJBOaVi1jJQOV3pVlakqavU5K82dF5EqtXfffdf15b788ssure5R5aqWqXfQDy1vOC8IyWn+AVVKyhKoRaeDvlr2+tzqKlH6OlK/u1fZRnpP77Hw94wUEOm1XutaFZ8o2+FVWqEU4OXEa/mrAgunrhcFNaqglcpX5aigUZkKDVpTa/uZZ55x/fXanx5te32nvIGAWrf62VVBetQ6Puqoo+y999476H1VQer7KKrQlS3Q9tV8Eur3F93r/cULhk455ZSD1qWWvAJYBSZeN4/2g7q4Im0rb5CitqUqW68cuVHQqeyBuqNCB/4p46CxLR59RyLtf71XdmM1tP30PYj0e4P/EAAgJngHFO8UIx2QdZBXWjh0RLgOWmrJqAXovU7UIgsf5ax+ffWbepV/eIsslA623gFXBzllKR544AH3Pno8p2WzW7cO8gpiNEAwlPqWIwk9OId+BlH2ICfaDl4ft0bIjxgxwg1qU8tZqftIrw9df17eU+ULHXWvAEbdGEp3i9eS1CQyoYM080pjCSS8a0RUIakbQTdVmmqFP/XUU65bRWNAVClrX4VW/l4QpgrNGxsRPgBQ61KGQJkFjTPIjbIESsPrpu+JBpmOGjXKBQH6/nnrDx9Jr/52jePQtgkNchSw5JZpUgCg72BeM1L63imbFf57CP/eaf+qe0Pfl9B16/elMSSR6DvgbUv4H2MAEBPUAlcl6lXCSsV76dlQGtyktKxXqaoVqP5TtfRCW9Qa/a0DYWjlq9acl1YNpRZhKKV6vRHYSiF7y3r99HmlwYJqFSv17VGAo0xDdn22oX20+jwavBbaCs1uuVA6mHuVvtfdEE6BkSpujbUI/Uwar6BUuyoQdbWECh9UqAGBWr+3r8455xyXllcGJVIFEr6dwymA0HuGj3cIDwhUoXtBh9cNoCyPbqFeeukll2lRheWlrr2uI+97pnWpItRYkvDlvW4aUZAQvi31PVHXgtbhZYC8AECj7kMpmNR+9AZB6gwSCd3fHn1Hve+pvj/qivE+b16/d/pOhP4e9D4amxCeZdCYBWVRQun/SBkAZYT0+cLP1oF/kQGAr88CUIWjtKoGKynl7rVa1A+t08F0Opr6LdWS1QAsVfQaia2+U1E6Vf2+6nNV37AOaqpw9Zj6eUNPKdOIbi2vlp7605UZUP+5zj5QpkHjEtQy1vIKPHTQ1QhtUf+6WvM6HU6tRVUo3jwA2VG3hk4rU/pf5VNFq8pfrUWtJ9xZZ53lzhrQ9lEFrdatKia1biOlaj2qxDWGQac0qk9eAZICJa0j9BS9cOqe0PZSxX311Ve7CkMHf/UX67lIXQ0600GvV6Wssmr7ee+hwENBglrkqiTUWlf2RpWRBvGpq0ct3pwoYNM6lOnRNtY2037RvtDYBp1JoNHzGnioMnuD9i6++GJXHqW/GzZs6LbbihUrMs+r96gC03YJHUw4dOhQt08U9GkMhba1BmmqK0P/6znNBaH9qG2s746CTvXh6wwMfUf1PdT20+s0OE8ZAg3gVMZAXT5qfWukv4IG0XdIAw/Vr6/PoTMf9FvQZ1Pw6o1d0fpUSYeOWciNUv3aB1dddZWde+65bjto+3uZEo+CSn02/R70ebWd9N1TIBY+FkX0G1XGJDyjBf+K27FjR9aORiBKlG4Mb23oQKpKV61Ir1UUSv2zOh1PQYAO2p06dXIVZTh1AehgrIpJFZEqZx2owifcUUWpQVc62HotbFU0ainqAKf0pw7SqvCVTg5dXgd8HczVElQL9+6773aVokZtq8WsA244lVvvoQOsWrfql1frTn3z3vLeADsdgDVSXpWkKir1iSuICB1Rnx21EhUwaDuo0lMLV5/f61pRxaKKTmdHhE6Ao1S0WvyqaJSBURn0nqEDCNWdoIBF21bpaPWVqyJQxaxKMXx8hT6fzvBQS14tWLWwFXxpm+ZG76FBaKocFVx469N3QK13BQQ6DU/PhX4Otd71OVSBqfJSsKBuCFWGKqOX0VFlp0F72g7hKXp9f5Ti1j5XIKrvZGgWRBNJ6fujba3vjoItZVq8LISW1X7Ud1zbT2VW5kDbVIFT+KBMrUNjGpSp0ndK61Ggo1MmvW2qilvfH3V5hHa/5EZBhL6rGlCo74++m3ovzbgZ/hvU4wrCVR4FdwquFZhoG+r76tFZJdpO3mmI8D8CACAGeAFA+PnbfhAaAOR0ZkFRUctZA+ZiraJRcKBKUoFipGA2limwVBZCYyoiTT4Ef2IMAICYohn11PL2JlOKFcraeNPuljbKUigwo/KPLYwBABBTNG4gtK86lgIADTjMabrjWKVuIcQeAgAgBuhsBu/UPL/RoDoNFmTil5xp/2msA+AXjAEAACCAGAMAAEAAEQAAABBABAAAAAQQAQAAAAFEAAAAQAARAAAAEEAEAAAABBABAAAAAUQAAACABc//B6uUyAl/TxV3AAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 500x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(5, 4))\n",
    "ax.hist(bstrap_slopes, bins=25, density=True, ec='white')\n",
    "ax.plot([left, right], [0, 0], color='yellow', lw=8)\n",
    "ax.set_xlabel('Bootstrap slope ($ sales per $ ad)', fontsize=12)\n",
    "ax.set_ylabel('Density', fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ce62b347",
   "metadata": {},
   "source": [
    "The approximate 95% confidence interval for the true slope runs from about 2.79 to 4.98.\n",
    "\n",
    "**Business interpretation.** Across the chain's stores, each extra \\$1,000 of weekly ad spend is associated with somewhere between about \\$2,790 and \\$4,980 more in weekly sales, at 95% confidence. As in Chapter 11, the 95% describes the method: intervals built this way from fresh samples would contain the true slope about 95% of the time. This particular interval either contains it or not.\n",
    "\n",
    "The interval is far more useful to the manager than the single slope. Suppose each dollar of sales brings 30 cents of gross profit. Then a dollar of advertising pays for itself only if the true slope is above $1/0.30 \\approx 3.33$. The interval reaches below 3.33, so the data do not show that advertising pays for itself: the manager should not expand the ad budget on these data alone.\n",
    "\n",
    "Two cautions carry over from Chapter 12:\n",
    "\n",
    "- The interval estimates the slope of an **association**. Stores that spend more on ads may also differ in location or size ({doc}`1201-correlation`). The interval does not show that ads cause the extra sales.\n",
    "- The interval applies to the range of ad spend in the data, about \\$1,000 to \\$10,000 a week. It says nothing about what would happen at \\$30,000."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "1168a69a",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:11.570684Z",
     "iopub.status.busy": "2026-10-23T03:50:11.570616Z",
     "iopub.status.idle": "2026-10-23T03:50:11.572268Z",
     "shell.execute_reply": "2026-10-23T03:50:11.571951Z"
    },
    "tags": [
     "thebe-interactive"
    ]
   },
   "outputs": [],
   "source": [
    "### Exercise: A 90% Interval for the Ad Slope\n",
    "#   1. Collect 1,000 bootstrap slopes of sales on ad_spend, using\n",
    "#      stores.sample(len(stores), replace=True, random_state=i) for i = 0, ..., 999.\n",
    "#   2. Compute a 90% confidence interval with np.percentile(..., method='nearest').\n",
    "#      (Which percentiles leave 5% in each tail?)\n",
    "#   3. Print the interval rounded to 2 decimals. In a comment, interpret it for the manager.\n",
    "### Your code starts here.\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "### Your code ends here."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "6f46e237",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:11.573156Z",
     "iopub.status.busy": "2026-10-23T03:50:11.573097Z",
     "iopub.status.idle": "2026-10-23T03:50:11.869092Z",
     "shell.execute_reply": "2026-10-23T03:50:11.868747Z"
    },
    "tags": [
     "hide-input"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "90% interval: 2.96 to 4.82\n"
     ]
    }
   ],
   "source": [
    "### Solution\n",
    "stores = pd.read_csv(path_data + 'store_ad_sales.csv')\n",
    "\n",
    "ad_slopes = np.array([\n",
    "    slope(stores.sample(len(stores), replace=True, random_state=i), 'ad_spend', 'sales')\n",
    "    for i in range(1000)\n",
    "])\n",
    "\n",
    "left_90 = np.percentile(ad_slopes, 5, method='nearest')\n",
    "right_90 = np.percentile(ad_slopes, 95, method='nearest')\n",
    "print('90% interval:', round(left_90, 2), 'to', round(right_90, 2))\n",
    "# With 90% confidence, each extra $1,000 of weekly ad spend goes with between\n",
    "# about these many thousand dollars of extra weekly sales. The 90% interval is\n",
    "# narrower than the 95% interval because it claims less confidence."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d0872da7",
   "metadata": {},
   "source": [
    "## Testing Whether the True Slope Is 0\n",
    "\n",
    "```{index} hypothesis test; slope\n",
    "```\n",
    "\n",
    "```{index} no linear association\n",
    "```\n",
    "\n",
    "A slope of 0 means a flat line: knowing $x$ tells you nothing about the average of $y$. So a natural first question about any regression is whether the true slope could be 0. In the language of {doc}`../09-test-hypothesis/0903-decisions-uncertainty`:\n",
    "\n",
    "- **Null hypothesis:** the true slope is 0. There is no linear association in the population, and the slope in the sample is not 0 only because of chance.\n",
    "- **Alternative hypothesis:** the true slope is not 0.\n",
    "\n",
    "A confidence interval gives a quick way to run this test. If 0 is **outside** the 95% confidence interval, reject the null hypothesis at the 5% cutoff: 0 is not among the plausible values of the true slope. If 0 is **inside** the interval, the data are consistent with no linear association.\n",
    "\n",
    "For ad spend, the 95% interval is about 2.79 to 4.98. Zero is far outside it, so we reject the null hypothesis: in the chain's stores, sales and ad spend are linearly associated.\n",
    "\n",
    "Now consider a different question. Do older stores sell more? Here is the slope of sales on `store_age`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "e9e47e08",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:11.870244Z",
     "iopub.status.busy": "2026-10-23T03:50:11.870170Z",
     "iopub.status.idle": "2026-10-23T03:50:11.872304Z",
     "shell.execute_reply": "2026-10-23T03:50:11.872041Z"
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-0.28"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "age_slope = slope(stores, 'store_age', 'sales')\n",
    "round(age_slope.item(), 2)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4527f8bd",
   "metadata": {},
   "source": [
    "In the sample, each extra year open goes with about \\$280 *less* in weekly sales. Is that a real pattern, or chance? Bootstrap the slope and check whether 0 is in the interval."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "ef7995b4",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:11.873356Z",
     "iopub.status.busy": "2026-10-23T03:50:11.873298Z",
     "iopub.status.idle": "2026-10-23T03:50:13.092867Z",
     "shell.execute_reply": "2026-10-23T03:50:13.092249Z"
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([-0.97,  0.37])"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def one_bootstrap_age_slope():\n",
    "    resample = stores.sample(len(stores), replace=True)\n",
    "    return slope(resample, 'store_age', 'sales')\n",
    "\n",
    "np.random.seed(42)\n",
    "age_slopes = np.array([])\n",
    "for i in np.arange(5000):\n",
    "    age_slopes = np.append(age_slopes, one_bootstrap_age_slope())\n",
    "\n",
    "age_left = np.percentile(age_slopes, 2.5, method='nearest')\n",
    "age_right = np.percentile(age_slopes, 97.5, method='nearest')\n",
    "np.array([age_left, age_right]).round(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "0b82c8b0",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:13.094292Z",
     "iopub.status.busy": "2026-10-23T03:50:13.094170Z",
     "iopub.status.idle": "2026-10-23T03:50:13.130846Z",
     "shell.execute_reply": "2026-10-23T03:50:13.130398Z"
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgAAAAGGCAYAAAANeTmiAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjIsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvgI3uAAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAPL5JREFUeJzt3Qd0FFX7x/EnIQk1dEURpEhTFCzYwK6gYkPFDoKoINYXFRs2xI76qthFRRDEhqAo+ioqItgLCqiAoDRFQJAOCcn//K5O/puwSbYlmd35fs7J2WR3Z/buzczc59ZJW716db4BAIBASa/oBAAAgPJHAAAAQAARAAAAEEAEAAAABBABAAAAAUQAAABAABEAAAAQQAQAAAAEEAEAAAABRAAAAEAAEQCUoU2bNtn8+fPdI8grjqvyV71jR8veZRf3CM5BzsHCMor8jQTbunUreUpeJRzHVWTSVq2y9JUrLT8ri/OQ44pzsAhaAAAACCACAAAAAogAAACAACIAAAAggAgAAAAIIAIAAAACiAAAAIAAIgAAACCACAAAAAggAgAAAAKIAAAAgAAiAAAAIIC4GRCAQtZaZVuTkx9zrtTMTLNs20yuAj5HAACgEBX+bV9YEHOuzOrRzLIzyVTA7+gCAAAggAgAAAAIIF92Aaxfv96WLFliWVlZ1rRp05j38+eff9rmzZttxx13tIwMX35VAAAqhG9KxVWrVtnrr79ukyZNso8//tgV3C1btrQvv/wyqv289dZb9vLLL9vkyZNt3bp17rmqVavaCSecYIMHD3bBAAAAQeebAOCDDz6wK6+80v1erVq1mPfTt29f14Ig9evXd48rVqxwQcH06dNt6tSpVqdOnQSlGgCA5OSbMQB169a1Pn36uIJ6zpw5Me/nuOOOs+eff94WL15s8+bNcz8KLho1auSee+aZZxKabgAAkpFvWgAOP/xw9yO5ubkx7+epp57a5rm9997bbr31VrvgggviCi4AAEgVvmkBKGv16tVzjw0aNKjopAAAUOF80wJQ1kaMGGHp6el25plnlvreTZs2JeQzt2zZUugR5FUyHFf56fFdFvLz8xJ2DsWrev4/Kxrm5+f7Jk1+xfUq+fOqSpUqUb0/EAHA8OHDbcKECXbddddZ27ZtS33/0qVLbevWrQn7/GXLliVsX6mOvKr4vMps2DKu7XNzcm3R0kXmB3Xy8txjXl6eLVrkjzT5HedgcuZVpUqVrHnz5lFtk/IBwMiRI+2aa66xc88916699tqItmnYsGFCPlvRoQ4QdTtoTQOQV8lwXK2IswUgIzPDdmjc2PxArX7eY2OfpMmvuF4FL69SOgAYNmyY3XTTTda7d2/773//a2lpaWXSjFIaHSCJ3meqIq8qPq/ScuIbGpSWlu6b49075/XolzT5HedgcPIqZQMALfqjQv/888+3++67L+LCHwCAIEi5AEB9fQMGDHBrAfTr18/uueeeik4SAAC+45sAQIPufvnll4LfvX4Wb95+ZmamNWvWrOD9q1evdmv9awEhb8U/Ff6q8WtJ4a5du7rfi87717LA9AUCAILONwGACvT99tuv0HO//fZbwXMamDd79uyC18aNG+eWDr700kvt9ttvd89t2LDBFf7y9ttvu5+iOnXq5O4XAABAkGX4aQqDbv5TnO23377Q37Vr13bv32677Qqe00jfkvYhWhIYAICg800AoAI9mjv/nXLKKe4nlG4iFO3dAwEACKLALAUMAAD+HwEAAAABRAAAAEAAEQAAABBABAAAAAQQAQAAAAFEAAAAQAARAAAAEEAEAAAABBABAAAAAUQAAABAABEAAAAQQL65GRCAxFhrlW1NTn7M2+dZGv8KIAAIAIAUo8K/7QsLYt5+xjnNE5oeAP5EFwAAAAFEAAAAQAARAAAAEEAEAAAABBABAAAAAUQAAABAABEAAAAQQKwDACChKmek25KcrJi3r5mZZtm2OaFpArAtAgAACbU+J9/aj459IaJZPZpZdmZCkwQgDLoAAAAIIAIAAAACiAAAAIAAIgAAACCACAAAAAggAgAAAAKIAAAAgAAiAAAAIIAIAAAACCACAAAAAogAAACAAPLVvQByc3Nt2rRp9s4779j8+fNtp512sgceeCCmfX333Xf28ssv2+LFi61u3brWtWtX69KlS8LTDABAMvJNADBlyhTr2bOnrVmzpuC5li1bxrSvxx9/3AYNGmR5eXkFz40YMcLtf9iwYQlJLwAAycw3XQArVqywDRs22MEHH2xDhgyJeT8zZsywG264wf3er18/e/755+3mm2+2mjVr2qhRo2zMmDEJTDUAAMnJNy0Ahx56qM2bN89q167tugJuuummmGv/+fn5LggYOHBgwfPt2rWz7t272yOPPGJnn312AlMOAEDy8U0LQP369V3hH6/JkydbpUqVrG/fvoWeP+qoo6x169Y2e/ZsW7p0adyfAwBAMvNNAJAIf/31ly1fvtxatWpltWrV2ub1Dh06uMeffvqpAlIHAIB/+KYLIBFWrlzpHhs0aBD29R133LEgUCjJpk2bEpKeLVu2FHoEeVUex1V+eryndX6Fbp+fn5ewc7B6/j9pUbdgovaZqrheJX9eValSJbgBQE5OjnvMzMwM+3pGxj9fd/PmzSXuR10EW7duTVi6li1blrB9pTryKv68ymwY2+wZz79lZoVtn5uTa4uWLrJEqPPvTCDNCFq0KDH7THWcg8mZV+r6bt68eXADgGrVqrnHdevWhX3de75GjRol7qdhw4YJSY+iQx0gapHIyspKyD5TFXmVuLxaEWcLQFqaVej2GZkZtkPjxpYI6enpBY+NE7TPVMU5GLy8SqkAQE38ioIWLFgQ9nUtLiSNGjVKaDNKaXSAJHqfqYq8ij+v0nLiHdqTVqHbp6WlJ+x8Sfs3GtEj52BkOAeDk1cpFQBUrlzZdt11V5s5c6b98MMPtsceexS8pjUGPvnkE/fP0nsAP1trlW1NTn6xffxq5ldNP1xhnxd3AQ4gCFIqAJCTTz7ZBQDXXnutWwpYzf3q/7vxxhvdKoMnnXRSQVcB4Fcq/Nu+EL4lqzQzzomuHxBAMPkmAFDhfOGFFxaM2PUG451xxhnud63nr0V+PO+9954NHz7cjj/+eLfEr0fz/7Xs7/Tp093iP/pR0//ChQutevXqbolgAACCLsNPI/jffffdQs+tX7++4LmiA/M0olevFb1fQHZ2to0fP94FAl9//bV99NFH7nkNAHrsscfcGgEAAASdbwIArdU/duzYYl+vWrVqob87d+7s3t+sWbNt3rvLLru4FQHnzp3r7gZYp04d1xLgjQgGACDofBMAaO7+McccE/H7VaMvbVqPWgdivaMgAACpjCoxAAABRAAAAEAAEQAAABBABAAAAAQQAQAAAAFEAAAAQAARAAAAEEAEAAAABJBvFgICAKmckW5LcmK/x3rNzDTLts1kJlAKAgAAvrI+J9/aj47tTogyq0czy85MaJKAlEQXAAAAAUQAAABAABEAAAAQQAQAAAAEEAEAAAABRAAAAEAAEQAAABBABAAAAAQQAQAAAAFEAAAAQAARAAAAEEAEAAAABBABAAAAAUQAAABAABEAAAAQQAQAAAAEEAEAAAABRAAAAEAAEQAAABBABAAAAAQQAQAAAAFEAAAAQAARAAAAEEAZ5kMLFy60JUuWWN26da1169Yx7SM/P9/tQz/bbbedNW7c2DIzMxOeVgAAkpGvWgB+++03O+6446xdu3Z27LHH2v77728dOnSwzz//PKr9TJw40W23++6729FHH2177723tWrVyh599FEXGAAAEHS+aQFYv369devWzRYsWGA1a9a0tm3b2q+//mrz5s2z7t2720cffWS77LJLqft5//33rWfPnq6gb9CggTVr1sz++OMPt69BgwbZxo0b7eqrry6X7wQAgF/5pgVg+PDhrvDfb7/97IcffrBJkybZzJkzrUePHrZ27Vq78847I9rP008/7Qr//v3726xZs+ydd96x7777zh577LGC1wEACDrfBACvvfaae7z33nutVq1a7vdKlSrZ3Xff7VoE3n77bVd7L82yZcvc42WXXWYZGf/fwHH22Wdbw4YNbfny5ZaXl1dm3wMAgGTgiwBgy5YtNnv2bNt+++1tzz33LPRajRo1rFOnTq7w//HHH0vdV5s2bdyjug5C/fXXX+5HYwHS033xtQEACPYYgKVLl1pubm6xffze84sWLXID+kpy5ZVX2rvvvmsXXHCBawVo2bKl/fnnn/bEE0+4z7jllltKTc+mTZssUYFN6CPIq0jlp8dzasY70DW5t8/Pzys4h6v/O+hX3YKJOq9TFder5M+rKlWqJF8AsGHDhoLafjje8xooWBrV8D/88EPr06eP3XTTTQXP77jjjvbGG29Yx44dIwpItm7daonidUuAvIpUZsOWMR8u8U50Sfbtc3NybdHSRe73Ov9296nbTxUIlI7rVXLmlbrMmzdvnnwBgDc/PycnJ+zrqrmHvq8k8+fPt3POOcd1FzRq1MjN/1+5cqXNmTPHzQ549tln7dBDDy1xHxorkAiKDnWAaDZCVlZWQvaZqsirwlbE0QKQlhbf/yLZt8/IzLAdGjd2v3vdfXrUtQDF4xwMXl75IgDQgj+ipvqSoizvfSVR0//PP//sZhVo+qBHMwFOOeUU69Wrl/u9du3aCWtGKY0OkETvM1WRV/9Iy4lnnEqcJWiSb5+Wll5wvqX9G03okXMwMpyDwckrX4yGq1evntWvX9/V0tesWbPN61999ZV7LG1VQA3y++abb2yPPfYoVPiLBheefPLJtnr1avviiy8S/A0AAAhIAHDaaafZhAkTim22j9YRRxzhmvrVRB9qypQprjlfo/vVpF8Sb3qflv/V2gGhNAjIm0XANECUtbVW2ZbkZMX8kxd3LRoAyqgLQIvsqDldNfczzjjD9a97U/BicdFFF9krr7xit99+u6ulH3jggW4q39ChQ93rF1988TYD9dRioH49b5aA0qLavxYS0hLAGgjojQHQvqdPn27Vq1e3Aw44IOZ0ApFYk5NvbV9YEHNmzTgnusE8AFBuLQDff/+9Pf/8827JXq2yp0K1c+fONnLkyG1q35HQ9D5N0dPo+wcffNAFFVq6V8HA6aef7gKMUFrhT0sHP/fcc4WeHzZsmOtS0LoCWvJX+1HwoJkB6q/Rvkvq/wcAIAhibgHQKnsnnXSS+1FN/ZlnnrExY8bY5Zdfbtdff70rnFVoR1Pb/s9//uNq/i+99JItXrzY6tSpY127dnWfEW6kvkbzt2jRYpu+/i+//NLGjh3rxgOsWrXKqlWrZrvttpudeeaZ7t4AAAAEXUJmAagQvuuuu+zmm292Tfi6697o0aPdjwbuXXXVVa4WHwndAVA/pTnmmGPcTziaLVC0ywBAMFTOSHfjKKSlpVkljfuxtILnSlIzM82ybXM5pBJIkQBAAwF1C15NvZs2bZqrcWuQYHZ2to0fP9769u3r+utvvPHGRHwcABRrfU6+tR/9z/iLRRu2moYOL9uwNaIxGbN6NLPs0pcbAVJCXAGAmulHjBhho0aNcnP1teyu7tqnG+94/exDhgyxJ5980g3mIwAAACDJAwAV8lpzX9QUrwV4DjvssIKFNzz6+8ILL7Trrrsu/tQCAICKDQC0OM+AAQOsd+/epc7P1xrFGpQHAACSPACYOXNmVGsgFzdgDwAAJNE6AFdccUWJr/fv3z/WXQMAAL8GAC+++GJcrwMAgBS7GZAW36lcuXJZ7BoAAJT3GID//ve/Jf4tmzdvdmsBtGrVKv7UAQCAig8ABg8eXOLf3rQ/3ZxHa+4DAIAUCAB+/fXXgt+bNm1a6G+PVgGMZnYAAADweQAQehe9jz/+mLvqAQAQtEGA7dq1S2xKAACA/1oAtJa/DBw4sNDfJfHeCwAAkjQAuOOOOwoV6t7fJSEAAAAgyQOAP/74o8S/AQBACgYAVapUKfFvAAAQ0JUA58+fb6+++mrY6YEAACAFAgDdDrhXr14Ff3/++ed24IEH2gUXXOAev/vuu0SlEQAA+CUAuPfee+3cc88t+Fsr/2kFwDfffNOOP/54e+CBBxKVRgAAUJELAYX69ttvbZ999nG/5+bm2tSpU+3++++3gw8+2K0S2KVLl0SmEwAA+KEFYOPGjZae/s/mM2bMsHXr1lmnTp3c39ttt52tXr06cakEAAD+CACaNGlib731lvt99OjR1qxZM2vUqJH7W4MA1QoAAABSLAA4//zz7ZJLLrHdd9/dnn322ULjAd577z26AAAASMUxAH369LEaNWrYJ5984oIABQSeefPmsQogAACpGADI6aef7n6Keuihh+LZLQAASKaFgAAAQABaABYtWmRjxoxxg/7+/vvvbV7XawAAIIUCgIkTJ9p5551neXl5btpfdnZ2YlMGAAD8FwDcdttt1q1bN7vrrrusfv36iU0VAADwZwCgZn+tA0DhDwBAgAYBtmjRwjZt2pTY1AAAAH8HADfffLNb+z8/Pz+xKQIAAP7tApg/f7799ddfbv3/o446yho0aGBpaWmF3nPxxRcnIo0AAMAvAcANN9xQ8Pvs2bPDvieWAOCdd96xsWPH2uLFi61u3brWtWtX69mzp1WqVCmq/WzZssVNQ9SyxH/++ac1btzYTjzxRDvppJO2CVQAAAiamAOAn3/+ObEpMbNbb73VHnzwwULP/e9//7O3337bFeYZGZEld+nSpXbqqafajz/+WPDcl19+aePGjXNLFA8aNCjhaQcAIBABgJr8E2natGmu8K9SpYprXejYsaO7p4CCAgUBTz/9tPXv37/U/eTm5tqZZ57pCv82bdrYZZddZq1bt7aVK1faK6+84loGAAAIurhXAnz44Ydd4a3xAD/99JN7/t5777W+ffta7dq1I97XU0895R6HDBliF154ofu9Q4cOtssuu1jnzp3d65EEAGop+P77723XXXd1gUPoAkVHH300MxcAAIhnFsDcuXPtkEMOsQkTJljTpk3tjz/+KHhNteznn38+qv1NmTLFsrKy7Jxzzin0/L777mvt27e3BQsWuLUHSvPSSy+5RzXzh1udUC0MAAAEXcwBgJrmNQPgu+++22bNfw22e/nllyPelwbprV692lq1amXVqlXb5vU999yzIOgoiZYl/uabb1wgccQRR9iTTz5pxx9/vB1z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fD8AAKQ6X0wD/PPPPy0/P98V3uF4zy9btqxc9gMAQKrzRQCwceNG91ilSpWwr1etWrXQ+8p6PwAApDpfBABegb1pkzrrtuU97xXgZb0fAABSnS8CgO233949atGecLznvfeV9X4AAEh1vggAsrOz3cC9BQsW2JIlSwq9lpeXZ9OnT7f09HTbbbfdymU/AACkOl8EAHLMMce4x7vuuqvQ888995wrzLWgT926dcttPwAApDJfTAOURYsWucJ5/fr1boregQceaL/88ouNHz/evf7666/bYYcdVvB+TfN77733bL/99rNDDz005v2UBQ0y/OGHH2zr1q221157FTsoMZycnBz76quvin1drRe1atWyVKHvq7zavHlzXN9N22vFR7X0aLXHVBznoeNp7ty57rs2b97ctXhFQ+dMcQNgGzVqVOzsGT/SbB+d15r6q1Y/3e+jIvfjd7/++qv99ddfttNOO1mDBg2i2lYtqn/88UfY12rWrGlt27a1VLJ48WJXjsT73bQqrfJNXc46v/zINwGA6OY9mqv/999/FzyXmZlpQ4YMsYsuuqjQe5999lm78sor7dJLL7Xbb7895v0kigqeUaNGuYWIPv7444IL7TfffOMu1pHSFMXWrVsX+7oCmbIOYMqD1mOYOHGiTZ482dasWRPXd3vooYfs/vvvL9hPjRo17LLLLrNrrrmm0GJQyezFF1+0m2++2ZYvX15wb4tzzz3X7rjjDsvKimwdeC2NrQAinKuvvtpuvPFGSwYK/K+66ipbuHBhwYIsJ598sjsGogkgE7UfP9P1R9fI2bNnu791PhxxxBE2bNgwa9iwYUT70BLqakENR5Wtd955x5Ldb7/9Zi+88IJbMn7mzJlxfTcFlMrzTz/9tOC5Dh062COPPGJt2rQxP/HNSoCiO/aplqJ/gqIwNdV37tzZReZF7bnnnu6ipX9SPPtJlA0bNtgVV1zhflftU7UzLUkcq+2228522WWXbZ5PlQvTwIEDXY1EgZlWZdTqjLHQ6o633HKL+71ly5aWkZFhP/74o+sC0sVOQUCyU6tV//793e8777yzOwZmzZplTz/9tAs0dWGJlAIHtUoVlSy1/88++8zOPvts13K04447utqsCrdXX33VrQPyxhtvlOt+/Gz+/PnWrVs3FxjXq1fPHTtz5sxxQfcpp5xiH330UVStkzpudPyE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",
      "text/plain": [
       "<Figure size 500x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(5, 4))\n",
    "ax.hist(age_slopes, bins=25, density=True, ec='white')\n",
    "ax.plot([age_left, age_right], [0, 0], color='yellow', lw=8)\n",
    "ax.axvline(0, color='red', lw=2)\n",
    "ax.set_xlabel('Bootstrap slope (sales on store age)', fontsize=12)\n",
    "ax.set_ylabel('Density', fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d34bb4a9",
   "metadata": {},
   "source": [
    "The interval runs from about -0.97 to 0.37, and it contains 0 (the red line). The data are consistent with a true slope of 0, so we do **not** reject the null hypothesis. The manager should not conclude that older stores sell less.\n",
    "\n",
    "Not rejecting the null hypothesis is not the same as proving it. The interval also includes slopes such as -0.8, a loss of \\$800 a week for each year open. With only 40 stores, the data cannot rule that out either."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "eba879db",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:13.132053Z",
     "iopub.status.busy": "2026-10-23T03:50:13.131981Z",
     "iopub.status.idle": "2026-10-23T03:50:13.133977Z",
     "shell.execute_reply": "2026-10-23T03:50:13.133612Z"
    },
    "tags": [
     "thebe-interactive"
    ]
   },
   "outputs": [],
   "source": [
    "### Exercise: Is Staffing Associated with Sales?\n",
    "#   1. Collect 1,000 bootstrap slopes of sales on staff, using\n",
    "#      stores.sample(len(stores), replace=True, random_state=i) for i = 0, ..., 999.\n",
    "#   2. Compute the 95% confidence interval with np.percentile(..., method='nearest').\n",
    "#   3. Print the interval and whether 0 is inside it. In a comment, state the\n",
    "#      conclusion of the test of \"true slope = 0\" at the 5% cutoff.\n",
    "### Your code starts here.\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "### Your code ends here."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "3bbabac6",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:13.135055Z",
     "iopub.status.busy": "2026-10-23T03:50:13.134991Z",
     "iopub.status.idle": "2026-10-23T03:50:13.436588Z",
     "shell.execute_reply": "2026-10-23T03:50:13.436286Z"
    },
    "tags": [
     "hide-input"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "95% interval: 0.86 to 3.05\n",
      "0 inside the interval: False\n"
     ]
    }
   ],
   "source": [
    "### Solution\n",
    "stores = pd.read_csv(path_data + 'store_ad_sales.csv')\n",
    "\n",
    "staff_slopes = np.array([\n",
    "    slope(stores.sample(len(stores), replace=True, random_state=i), 'staff', 'sales')\n",
    "    for i in range(1000)\n",
    "])\n",
    "\n",
    "staff_left = np.percentile(staff_slopes, 2.5, method='nearest')\n",
    "staff_right = np.percentile(staff_slopes, 97.5, method='nearest')\n",
    "print('95% interval:', round(staff_left, 2), 'to', round(staff_right, 2))\n",
    "print('0 inside the interval:', staff_left <= 0 <= staff_right)\n",
    "# 0 is outside the interval, so reject the null hypothesis at the 5% cutoff:\n",
    "# stores with more staff tend to have higher sales (an association, not proof of cause)."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6fc7fe29",
   "metadata": {},
   "source": [
    "## Predictions and Cautions\n",
    "\n",
    "```{index} bootstrap; prediction\n",
    "```\n",
    "\n",
    "```{index} confidence interval; for the regression line\n",
    "```\n",
    "\n",
    "### The Height of the Line at a Given Ad Spend\n",
    "\n",
    "The manager also wants to know: for stores that spend \\$8,000 a week on ads, what are average weekly sales? The fitted line gives one answer. To see how much that answer could vary, compute the height of each bootstrap line at $x = 8$ and take the middle 95%."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "153ee6bd",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:13.437737Z",
     "iopub.status.busy": "2026-10-23T03:50:13.437666Z",
     "iopub.status.idle": "2026-10-23T03:50:15.695992Z",
     "shell.execute_reply": "2026-10-23T03:50:15.695610Z"
    },
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitted value at $8,000: 88.5\n",
      "95% interval: [84.2 93.2]\n"
     ]
    }
   ],
   "source": [
    "def one_bootstrap_height(x_value):\n",
    "    resample = stores.sample(len(stores), replace=True)\n",
    "    a = slope(resample, 'ad_spend', 'sales')\n",
    "    b = intercept(resample, 'ad_spend', 'sales')\n",
    "    return a * x_value + b\n",
    "\n",
    "np.random.seed(42)\n",
    "heights_at_8 = np.array([])\n",
    "for i in np.arange(5000):\n",
    "    heights_at_8 = np.append(heights_at_8, one_bootstrap_height(8))\n",
    "\n",
    "fitted_at_8 = observed_slope * 8 + observed_intercept\n",
    "print('Fitted value at $8,000:', round(fitted_at_8, 1))\n",
    "print('95% interval:', np.percentile(heights_at_8, [2.5, 97.5], method='nearest').round(1))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9b1e4675",
   "metadata": {},
   "source": [
    "The fitted value is about \\$88,500 in weekly sales, and the 95% interval runs from about \\$84,200 to \\$93,200. This interval is for the **average** sales of stores that spend \\$8,000 on ads, the height of the true line. A single store varies much more around that average: the points in the scatter plot sit well above and below the line. An interval for one store's sales would have to be wider."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "c2477339",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:15.697176Z",
     "iopub.status.busy": "2026-10-23T03:50:15.697112Z",
     "iopub.status.idle": "2026-10-23T03:50:15.698725Z",
     "shell.execute_reply": "2026-10-23T03:50:15.698365Z"
    },
    "tags": [
     "thebe-interactive"
    ]
   },
   "outputs": [],
   "source": [
    "### Exercise: Average Sales at a $5,000 Ad Budget\n",
    "#   1. Collect 1,000 bootstrap heights of the regression line at ad_spend = 5,\n",
    "#      using stores.sample(len(stores), replace=True, random_state=i) for i = 0, ..., 999.\n",
    "#   2. Print the fitted value at 5 from the original sample and the 95% interval,\n",
    "#      rounded to 1 decimal.\n",
    "#   3. In a comment, compare the width of this interval with the one at 8.\n",
    "### Your code starts here.\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "### Your code ends here."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "a1711427",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:15.699726Z",
     "iopub.status.busy": "2026-10-23T03:50:15.699662Z",
     "iopub.status.idle": "2026-10-23T03:50:16.182816Z",
     "shell.execute_reply": "2026-10-23T03:50:16.182379Z"
    },
    "tags": [
     "hide-input"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitted value at $5,000: 76.9\n",
      "95% interval: [73.4 80.6]\n"
     ]
    }
   ],
   "source": [
    "### Solution\n",
    "stores = pd.read_csv(path_data + 'store_ad_sales.csv')\n",
    "\n",
    "heights_at_5 = []\n",
    "for i in range(1000):\n",
    "    resample = stores.sample(len(stores), replace=True, random_state=i)\n",
    "    a = slope(resample, 'ad_spend', 'sales')\n",
    "    b = intercept(resample, 'ad_spend', 'sales')\n",
    "    heights_at_5.append(a * 5 + b)\n",
    "\n",
    "fitted_at_5 = slope(stores, 'ad_spend', 'sales') * 5 + intercept(stores, 'ad_spend', 'sales')\n",
    "print('Fitted value at $5,000:', round(fitted_at_5, 1))\n",
    "print('95% interval:', np.percentile(heights_at_5, [2.5, 97.5], method='nearest').round(1))\n",
    "# The interval at 5 is narrower than at 8: 5 is near the middle of the ad spend\n",
    "# values, where the bootstrap lines cross, while 8 is closer to the edge."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e66e9b53",
   "metadata": {},
   "source": [
    "### When the Bootstrap Results Are Not Trustworthy\n",
    "\n",
    "```{index} bootstrap; limitations\n",
    "```\n",
    "\n",
    "The bootstrap interval is only as good as the sample and the line. Check these before you report one:\n",
    "\n",
    "- **Nonlinearity.** If the residual plot shows a curve ({doc}`1204-visual-diag-residual`), the slope summarizes the wrong shape. An interval for it is precise about the wrong thing.\n",
    "- **Outliers and influential points.** One unusual store can pull the line. Resamples that include it several times and resamples that leave it out give very different slopes, and the interval reflects that one store more than the chain.\n",
    "- **Uneven spread.** Fan-shaped residuals mean predictions are more accurate in some parts of the range than in others; one interval for the line hides that.\n",
    "- **Small samples.** The bootstrap treats the sample as a stand-in for the population. With only a handful of rows, the sample is a poor stand-in and the interval can be misleading.\n",
    "- **How the data were collected.** As in {doc}`../11-estimation/1103-confidence-intervals`, the bootstrap assumes a random sample. Stores the manager chose because they were doing well are not one.\n",
    "\n",
    "The first check is always the residual plot. For the store data, the residuals show no curve and no fan, so the bootstrap interval is reasonable."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "80331f8a",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:16.183978Z",
     "iopub.status.busy": "2026-10-23T03:50:16.183904Z",
     "iopub.status.idle": "2026-10-23T03:50:16.207012Z",
     "shell.execute_reply": "2026-10-23T03:50:16.206736Z"
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "image/png": "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Uwprk7cm0mkfuq75oGsXpKamRvsUHaNlMdfZom762qqguR86ssRaEVVnabzllltCvuIsLQoAACAgkhkBAEBABAoAACAgAgUAABAQgQIAAAiIQAEAAAREoAAAAAIiUAAAAAERKAAAgIAIFAAAQEAECkAYPfXUU0Et6vTvf//bHHf06FFbfB46Ja+eT3p6urhVSd/jq6++ahY9ysrKKvJ1XS2xV69eEut0oSKdWlgXkoM7ECjANXS1Or3wF7UiY6dOncxr77zzTqHXbr31VrMsa0ZGRoTOFE5z6NAhGTFihAwaNMiswVEauniPrgaoC/noiqv6fXz55ZdL9DcOHz4sDzzwgPn96tWrS+vWrc2ibJE89mR05UL9v6SBFdyBQAGuWvJW6RLCvnQRoBUrVkj58uXNAjb+F29dMOjPf/6zeR0IFIRmZ2fLzTffXOg1/W5df/31cvXVV8uMGTOkefPm8vTTTxdajn3NmjVmvy5IVZoVFXX5YF0q+7PPPpPJkyebhYB0dcb+/fvL+PHjI3JsMHQZb12YaNy4cabM4HwECnANXbFOV7v0DwaWLVtmLlh///vfCwUR33//vRw4cMAbZAD+NJh866235K9//au5Cfr67rvvTGtVgwYN5L333jPLWU+aNMms5DdhwoQCx2pzvLZ26U1Ya+0lNW3aNLP65ahRo8zfSklJMV0dugrm0KFDC3RbhevYYGng8csvv8jMmTNL/LuwHwIFuMpf/vIX+eGHH+TgwYPefRo4NGrUSLp16ya7du2STZs2eV+zAgffQGHLli1mCVe9+GuXRLNmzUwOgda8fAV7nL8NGzaYC3KbNm3k559/LvKYd9991zRN+wc2aurUqea1zz//POC/oV0seoz10ABKl6D9+OOPCx07b948ufzyy83NS89Lb3TB0vLs27evNGnSxCw5fOmll8qwYcPkt99+K5SnoTecfv36ydlnn20effr0kb179xb6m8GUq/U3NV9g8ODBcs4555j3eNttt8n+/ftD+h41h2H79u1FBpMaHGhL1PDhw81y6/Hx8SaPYeDAgTJkyBAJJf3s9N9q27Ztgf0awBw5ckTmz58f9mOD+byVvq6f3axZs0L2/hE9BApwFb2Yaw3Q9wargYLelC+88EJzc/FtcdCftQalFzy1bt06ueKKK0xt6IMPPpCtW7fKs88+Ky+++KLpn7YEe5y/BQsWmBu2Bi5au6xZs2aRx2lQozce/1qp0n16U9R/PxBt+tV+dX1oi8k333xjyub222+XRYsWFTgfrTlecMEFpgldL+xr166Vjz76qNhy9v13NPDRWqneTK0bp5aJP+0D1/eugVxaWpqsWrXK3IyOHTtW6nJ99NFHzfvSZn1NTtTPXf8dX2V9j9oipZo2bVroNT13TdqLRBKqnrMGRAkJCQX263fJej3cx5bk89YAb8mSJWV817ADAgW4itYalRUoaE1n9erVpqVBa3utWrXyBgq5ubkmuaxly5aSmJho9j3yyCNSoUIFUyPXG4v+3KFDB3nyySdN8/PmzZtLdJwv3X/dddeZm5a2GOjvBKIJcz179pRPPvmkQK1ba7d6znrB1vcTDD2uRo0a8thjj8n5559foDb9zDPPmJuE9ifXrl1bzjrrLJO0t3v37pP+XU1Y+/bbb01Qo7XopKQk0/2jtWmt2fvTG22XLl1Ms3yLFi3kP//5jxkp8Pbbb3uPKWm5XnTRRXLttdeav5mammpaKT788EMTIIXiPaqdO3eardag/WlXgwYLeg7672rQoIFqOGjAV6lSpUL7rX36ejiPLennra032gKh/8/gbAQKcBW9IdavX98bKGiiojZZa4uC0q3WqPVirgGEBhJWk7JeCDWIaNeuXaHERq3lWomPwR7nS2/SWiN+7rnn5H//938L1d6K0rt3b3ORnThxYoHWhLi4OBMoFEdvWHoz1MBIb3BWF4TmZGgtXel71wu/1vL9gw69AZ6Mvne9AWvmvgYfe/bsKfb4jh07FniuAVrVqlW9gVtpylXP3b/JWz/vn376KSTv0RoRoIoK7PTv6mei564tH3PmzDHfP00EDDYQKQn97IN9LdTHlvTzrlixovnM/Lsl4DwECnAdvfGvX79e9u3bZwIGrf2cfvrp3kBBs9G1Zu6fn6B923pj1hqu3sC06V8flStXNjVXpbkPwR7nS5to69atK127dg36fejxetPUQEH/PW3efv/9981NU/v4izNgwAAZO3asaYbXpmOtFWotWwOHnJwc7znqhbxatWqFfr+ofUXRLgQdMfLQQw+ZoXWXXHKJ6bPWvu1g/qbus2qspSlX/1q+3px8b+6heI9Wzbqo96S6d+9uuna0S0O7t3T0g7YYabeKjrgJFS0L35YSi/VefefrCNexJfm8dZ8GGdraA2cjUICrh0la+QkW3zwFfehFTJPblN6QtNapWel609IbmD70ZmP19993331BH+dLbyKaeKe16h07dgT9XnSkhiY86u9rH7xefHXeh+KcOHHCJDxqq4M2E+tN16pNa7+yRd+HXsg1oPJX1L6iaO1Zb+w6pE4TBrVrQSfc0aTFYP6m7tPzsM6npOVaXE04VO9RuytUUYmXvrScrRq3Dn/UpNmVK1dKqGhribYG+Tfla86A0q6acB9bks9by0tzcIJpPYO9ESjAdTQfQW8O2mestWl9brHyFHTEgA4J035t60KmtVF9rkmGxdUEgz3OV8OGDb0TQWmwsHHjxqB+T1sUtGVBm7f1oTe+YJrM9f1rH7KvhQsXmj5jixUkzZ07t9BIjZJmq2uOh9YuH3/8cdMcX1QSm/9EWFr+GhBYeSWlKdeTCcV71C4SpV0YwdKAQWmibKhoC4V2cXzxxRcF9uvcDdotcuWVV4b92JJ83pqsqv/X4HwECnAdrdlp0p41htu3RcF6rrUhvTj6D3nT/AGtwd50000mQ16P0b5mvdHopDpW33ewx/nXTPXmpE29Gixopv7JaGCjuQp6EdfuEh2f7h8A+CtXrpwJMDQhUC/g2mWhgZE2EWuzsS+90OtwRK2pa8uF9js//PDDRSbu+dMasyZm6kQ9WnvUFhPN/9BmeN/gzKI3Wr35aKvI8uXL5e677zY1VE3atJSmXE+mLO9RaddVnTp1Cs3PoXSWxZEjR5rcDz1XrZXr+3/iiSdM8qbVZVJSGkBpy5fvlNCaCKuTOelwUP3uaDCltXttadIcGKvbJVzHluTz1u+qjlzxz0uBMxEowJW0lqp90xowWE3bFr2oWZnp/oGC3hT0hqA5ADqU0MoTeOONN+TOO+/05gYEe5w/HVuuN0udI0BrcsEMH9MbqTVt8Mm6HSya4d++fXtzvJ7rK6+8YmbZ80/I09qi5k/oDUJvbNq/rsPiNIv/ZDTjXUcZvP7666YcdcbB+++/3wQ2L730UqHjNblSR3HoZ6JdInoT1bLwTVwsbbkWpyzv0WqdueOOO0zg6TuUU2mCqrZU3HvvvebvaWuIJjLqnATTp08Xj8dTaCSABgDWDVRHeViJpr5rTljDLX2DGW350hwBLQ8NmjR40W4ObfrX7hpf4Ti2JJ+35tLod71z585BlTHsLe7QoUPhGcsDICT05qQ3Nq19+zcPO4FOjqQ3naIS5pxCz13nBdAbu+aNFEVv9JqbUJLJnALRZEgddqg5DjpnhtO+r9rdc88995igCc5HiwJgc9rUq831RY1VR2RojV8z/UePHh1w9chg57UIhuaTaE3daUGCeu2118xU19oCBHegRQGwMe2r1uZg7RPWPvtQJsdFihtaFIKhowR0KudQtCgAdkKLAmBTOvRMuxx0QSudS8GJQUIs0c+KIAFuRIsCAAAIiBYFAAAQEIECAAAIiEABAAAERKAAAAACIlAAAAABESgAAICACBQAAEBABAoAACAgAgUAACCB/B+SzZfEmdoOdgAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 500x300 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "residuals = stores['sales'] - (observed_slope * stores['ad_spend'] + observed_intercept)\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(5, 3))\n",
    "ax.scatter(stores['ad_spend'], residuals, color='r', s=15)\n",
    "ax.axhline(0, color='darkblue', lw=2)\n",
    "ax.set_xlabel('Weekly ad spend ($1,000s)', fontsize=12)\n",
    "ax.set_ylabel('Residual', fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3055b058",
   "metadata": {},
   "source": [
    "To see the small-sample problem, bootstrap the slope from only the first 8 stores."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "1a1a560d",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:16.208184Z",
     "iopub.status.busy": "2026-10-23T03:50:16.208126Z",
     "iopub.status.idle": "2026-10-23T03:50:17.468329Z",
     "shell.execute_reply": "2026-10-23T03:50:17.467957Z"
    },
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Slope from 8 stores: 4.81\n",
      "95% interval, 8 stores:  [2.12 6.35]\n",
      "95% interval, 40 stores: [2.79 4.98]\n"
     ]
    }
   ],
   "source": [
    "few_stores = stores.iloc[:8]\n",
    "\n",
    "np.random.seed(42)\n",
    "few_slopes = np.array([])\n",
    "for i in np.arange(5000):\n",
    "    resample = few_stores.sample(len(few_stores), replace=True)\n",
    "    few_slopes = np.append(few_slopes, slope(resample, 'ad_spend', 'sales'))\n",
    "\n",
    "print('Slope from 8 stores:', round(slope(few_stores, 'ad_spend', 'sales'), 2))\n",
    "print('95% interval, 8 stores: ', np.percentile(few_slopes, [2.5, 97.5], method='nearest').round(2))\n",
    "print('95% interval, 40 stores:', np.array([left, right]).round(2))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "033ee55b",
   "metadata": {},
   "source": [
    "With 8 stores the interval is much wider than with 40, and with so few rows even its width is not reliable: some resamples repeat the same two or three stores. More bootstrap repetitions do not help, because they add no new stores. Only more data does."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "d63dc1bf",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:17.469437Z",
     "iopub.status.busy": "2026-10-23T03:50:17.469381Z",
     "iopub.status.idle": "2026-10-23T03:50:17.470938Z",
     "shell.execute_reply": "2026-10-23T03:50:17.470618Z"
    },
    "tags": [
     "thebe-interactive"
    ]
   },
   "outputs": [],
   "source": [
    "### Exercise: How Sample Size Changes the Interval\n",
    "#   1. Take the first 20 stores: stores.iloc[:20].\n",
    "#   2. Collect 1,000 bootstrap slopes of sales on ad_spend from these 20 stores,\n",
    "#      using .sample(20, replace=True, random_state=i) for i = 0, ..., 999.\n",
    "#   3. Print the 95% interval and its width (right minus left), rounded to 2 decimals.\n",
    "#      In a comment, compare the width with the 40-store interval (about 2.79 to 4.98).\n",
    "### Your code starts here.\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "### Your code ends here."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "a540b57c",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-23T03:50:17.471792Z",
     "iopub.status.busy": "2026-10-23T03:50:17.471737Z",
     "iopub.status.idle": "2026-10-23T03:50:17.772541Z",
     "shell.execute_reply": "2026-10-23T03:50:17.772167Z"
    },
    "tags": [
     "hide-input"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "95% interval, 20 stores: 3.63 to 6.35\n",
      "Width: 2.72\n"
     ]
    }
   ],
   "source": [
    "### Solution\n",
    "stores = pd.read_csv(path_data + 'store_ad_sales.csv')\n",
    "first_20 = stores.iloc[:20]\n",
    "\n",
    "slopes_20 = np.array([\n",
    "    slope(first_20.sample(20, replace=True, random_state=i), 'ad_spend', 'sales')\n",
    "    for i in range(1000)\n",
    "])\n",
    "\n",
    "left_20, right_20 = np.percentile(slopes_20, [2.5, 97.5], method='nearest')\n",
    "print('95% interval, 20 stores:', round(left_20, 2), 'to', round(right_20, 2))\n",
    "print('Width:', round(right_20 - left_20, 2))\n",
    "# The 20-store interval is wider than the 40-store interval (width about 2.2):\n",
    "# a smaller sample gives a less precise estimate of the true slope."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.13.16"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
