Skip to content

Instantly share code, notes, and snippets.

@vitillo
Created December 16, 2014 12:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vitillo/6105522e83540a9a4d59 to your computer and use it in GitHub Desktop.
Save vitillo/6105522e83540a9a4d59 to your computer and use it in GitHub Desktop.
ClientID Mode EDA
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "",
"signature": "sha256:f1a9bee332a7b51539f8e63ea8370c9d3d81284d035845644733a7b52d2913dd"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"ClientID \"Mode\" EDA"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import simplejson as json\n",
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"from moztelemetry.spark import get_pings\n",
"from __future__ import division\n",
"from operator import itemgetter"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 205
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%capture\n",
"\n",
"pings = get_pings(sc, \"Firefox\", \"nightly\", \"37.0a1\", \"*\", (\"20141208\", \"20141214\"))"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 206
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%capture\n",
"\n",
"def extract(ping):\n",
" ping = json.loads(ping)\n",
" info = ping[\"info\"]\n",
" simple = ping[\"simpleMeasurements\"]\n",
" \n",
" ping_subset = dict(info.items() + simple.items())\n",
" ping_subset[\"clientID\"] = ping.get(\"clientID\", None)\n",
" ping_subset.pop(\"UITelemetry\", None)\n",
" ping_subset.pop(\"addonManager\", None)\n",
" \n",
" return ping_subset\n",
"\n",
"pings_summary = pings.map(extract)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 207
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%%capture\n",
"df = pd.DataFrame(pings_summary.collect())\n",
"df = df[df[\"uptime\"] >= 0]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 208
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"table = pd.pivot_table(df, index=\"clientID\", \\\n",
" values=[\"uptime\", \"memsize\", \"cpucount\", \"firstPaint\", \"shutdownDuration\", \"failedProfileLockCount\"], \\\n",
" aggfunc=[len, np.median])\n",
"table = table.swaplevel(0, 1, axis=1).sortlevel(0, axis=1)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 209
},
{
"cell_type": "heading",
"level": 4,
"metadata": {},
"source": [
"EDA"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's compare the distributions of some metrics to see if we spot interesting differences. Given a metric, we are comparing the distribution of the **median** client measurement to the distribution of the metric in the sessions."
]
},
{
"cell_type": "heading",
"level": 5,
"metadata": {},
"source": [
"Summary Statistics for clients"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"percentiles = [0.1, 0.25, 0.5, 0.75, 0.9]\n",
"table.swaplevel(0, 1, axis=1).sortlevel(0, axis=1)[\"median\"].describe(percentiles=percentiles)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>cpucount</th>\n",
" <th>failedProfileLockCount</th>\n",
" <th>firstPaint</th>\n",
" <th>memsize</th>\n",
" <th>shutdownDuration</th>\n",
" <th>uptime</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td> 75620.000000</td>\n",
" <td> 3279.000000</td>\n",
" <td> 7.561900e+04</td>\n",
" <td> 75620.000000</td>\n",
" <td> 7.472100e+04</td>\n",
" <td> 75620.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td> 4.129913</td>\n",
" <td> 2.115584</td>\n",
" <td> 1.815358e+04</td>\n",
" <td> 6505.502975</td>\n",
" <td> 2.290299e+04</td>\n",
" <td> 845.903313</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td> 2.297999</td>\n",
" <td> 5.006241</td>\n",
" <td> 1.364399e+06</td>\n",
" <td> 5722.442852</td>\n",
" <td> 1.991885e+06</td>\n",
" <td> 51529.107735</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td> 1.000000</td>\n",
" <td> 1.000000</td>\n",
" <td> 1.810000e+02</td>\n",
" <td> 191.000000</td>\n",
" <td> 3.500000e+01</td>\n",
" <td> 1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10%</th>\n",
" <td> 2.000000</td>\n",
" <td> 1.000000</td>\n",
" <td> 1.168400e+03</td>\n",
" <td> 2005.000000</td>\n",
" <td> 1.322500e+03</td>\n",
" <td> 5.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td> 2.000000</td>\n",
" <td> 1.000000</td>\n",
" <td> 1.892000e+03</td>\n",
" <td> 3683.000000</td>\n",
" <td> 1.782000e+03</td>\n",
" <td> 12.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td> 4.000000</td>\n",
" <td> 1.000000</td>\n",
" <td> 3.629000e+03</td>\n",
" <td> 4091.000000</td>\n",
" <td> 2.046500e+03</td>\n",
" <td> 35.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td> 4.000000</td>\n",
" <td> 2.000000</td>\n",
" <td> 7.080000e+03</td>\n",
" <td> 8104.000000</td>\n",
" <td> 2.553000e+03</td>\n",
" <td> 129.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>90%</th>\n",
" <td> 8.000000</td>\n",
" <td> 3.000000</td>\n",
" <td> 1.383680e+04</td>\n",
" <td> 15740.300000</td>\n",
" <td> 4.009000e+03</td>\n",
" <td> 531.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td> 64.000000</td>\n",
" <td> 141.000000</td>\n",
" <td> 2.713677e+08</td>\n",
" <td> 262134.000000</td>\n",
" <td> 3.376794e+08</td>\n",
" <td> 7331914.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 225,
"text": [
" cpucount failedProfileLockCount firstPaint memsize \\\n",
"count 75620.000000 3279.000000 7.561900e+04 75620.000000 \n",
"mean 4.129913 2.115584 1.815358e+04 6505.502975 \n",
"std 2.297999 5.006241 1.364399e+06 5722.442852 \n",
"min 1.000000 1.000000 1.810000e+02 191.000000 \n",
"10% 2.000000 1.000000 1.168400e+03 2005.000000 \n",
"25% 2.000000 1.000000 1.892000e+03 3683.000000 \n",
"50% 4.000000 1.000000 3.629000e+03 4091.000000 \n",
"75% 4.000000 2.000000 7.080000e+03 8104.000000 \n",
"90% 8.000000 3.000000 1.383680e+04 15740.300000 \n",
"max 64.000000 141.000000 2.713677e+08 262134.000000 \n",
"\n",
" shutdownDuration uptime \n",
"count 7.472100e+04 75620.000000 \n",
"mean 2.290299e+04 845.903313 \n",
"std 1.991885e+06 51529.107735 \n",
"min 3.500000e+01 1.000000 \n",
"10% 1.322500e+03 5.000000 \n",
"25% 1.782000e+03 12.000000 \n",
"50% 2.046500e+03 35.000000 \n",
"75% 2.553000e+03 129.000000 \n",
"90% 4.009000e+03 531.000000 \n",
"max 3.376794e+08 7331914.000000 "
]
}
],
"prompt_number": 225
},
{
"cell_type": "heading",
"level": 5,
"metadata": {},
"source": [
"Summary statistics for sessions"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df[table.columns.levels[0]].describe(percentiles = percentiles)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>cpucount</th>\n",
" <th>failedProfileLockCount</th>\n",
" <th>firstPaint</th>\n",
" <th>memsize</th>\n",
" <th>shutdownDuration</th>\n",
" <th>uptime</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td> 947542.000000</td>\n",
" <td> 4279.000000</td>\n",
" <td> 9.471660e+05</td>\n",
" <td> 947542.000000</td>\n",
" <td> 7.827300e+05</td>\n",
" <td> 947542.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td> 4.213679</td>\n",
" <td> 2.214536</td>\n",
" <td> 2.182672e+04</td>\n",
" <td> 6688.532153</td>\n",
" <td> 1.861458e+04</td>\n",
" <td> 1033.239616</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td> 2.331205</td>\n",
" <td> 4.976688</td>\n",
" <td> 9.109550e+06</td>\n",
" <td> 5688.972728</td>\n",
" <td> 1.384553e+06</td>\n",
" <td> 77354.866387</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td> 1.000000</td>\n",
" <td> 1.000000</td>\n",
" <td> 1.300000e+02</td>\n",
" <td> 191.000000</td>\n",
" <td> 2.400000e+01</td>\n",
" <td> 0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10%</th>\n",
" <td> 2.000000</td>\n",
" <td> 1.000000</td>\n",
" <td> 8.590000e+02</td>\n",
" <td> 2013.000000</td>\n",
" <td> 6.200000e+02</td>\n",
" <td> 0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td> 2.000000</td>\n",
" <td> 1.000000</td>\n",
" <td> 1.350000e+03</td>\n",
" <td> 3817.000000</td>\n",
" <td> 1.704000e+03</td>\n",
" <td> 2.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td> 4.000000</td>\n",
" <td> 1.000000</td>\n",
" <td> 2.702000e+03</td>\n",
" <td> 4095.000000</td>\n",
" <td> 1.999000e+03</td>\n",
" <td> 15.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td> 4.000000</td>\n",
" <td> 2.000000</td>\n",
" <td> 6.134000e+03</td>\n",
" <td> 8124.000000</td>\n",
" <td> 2.531000e+03</td>\n",
" <td> 80.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>90%</th>\n",
" <td> 8.000000</td>\n",
" <td> 4.000000</td>\n",
" <td> 1.426400e+04</td>\n",
" <td> 16107.000000</td>\n",
" <td> 4.135000e+03</td>\n",
" <td> 313.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td> 64.000000</td>\n",
" <td> 141.000000</td>\n",
" <td> 8.842326e+09</td>\n",
" <td> 262134.000000</td>\n",
" <td> 5.272277e+08</td>\n",
" <td> 18376554.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 227,
"text": [
" cpucount failedProfileLockCount firstPaint memsize \\\n",
"count 947542.000000 4279.000000 9.471660e+05 947542.000000 \n",
"mean 4.213679 2.214536 2.182672e+04 6688.532153 \n",
"std 2.331205 4.976688 9.109550e+06 5688.972728 \n",
"min 1.000000 1.000000 1.300000e+02 191.000000 \n",
"10% 2.000000 1.000000 8.590000e+02 2013.000000 \n",
"25% 2.000000 1.000000 1.350000e+03 3817.000000 \n",
"50% 4.000000 1.000000 2.702000e+03 4095.000000 \n",
"75% 4.000000 2.000000 6.134000e+03 8124.000000 \n",
"90% 8.000000 4.000000 1.426400e+04 16107.000000 \n",
"max 64.000000 141.000000 8.842326e+09 262134.000000 \n",
"\n",
" shutdownDuration uptime \n",
"count 7.827300e+05 947542.000000 \n",
"mean 1.861458e+04 1033.239616 \n",
"std 1.384553e+06 77354.866387 \n",
"min 2.400000e+01 0.000000 \n",
"10% 6.200000e+02 0.000000 \n",
"25% 1.704000e+03 2.000000 \n",
"50% 1.999000e+03 15.000000 \n",
"75% 2.531000e+03 80.000000 \n",
"90% 4.135000e+03 313.000000 \n",
"max 5.272277e+08 18376554.000000 "
]
}
],
"prompt_number": 227
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Of the considered metrics the ones that exhibit a difference are uptime, firstPaint and shutdownDuration (in the lower quartile) and failedProfileLockCount (in the upper quartile)."
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"uptime"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As the plot below shows, using the median session uptime for a client does increase significantly the perceived uptime duration, i.e. we are overrepresenting sessions with short uptimes when not aggregating by clients."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def compare_distributions(metric, max_min):\n",
" stat = table[metric][\"median\"]\n",
"\n",
" plt.figure(figsize=(18, 5))\n",
" plt.ylabel(\"density\")\n",
" plt.hist(df[metric], 120, range=(0, max_min), normed=1, alpha=0.5, label=\"Session \" + metric)\n",
" plt.hist(stat, 120, range=(0, max_min), normed=1, alpha=0.5, label=\"Median client \" + metric)\n",
" plt.legend(loc='upper right')\n",
" plt.show()\n",
" \n",
"compare_distributions(\"uptime\", 120)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\nqevnuH+Pqj6b27Zte7KsrExrMplkzpw5C1555ZUPTSaT/PTTT3369u2bVlpaamEwGFw9PDxOlX/H\n1nQotmeFUlJTU/t7e3sfcnV1zbW0tCwNCwuLS0xMHNbUdaFlat++/XkfH58sERFbW9trPXv2PJib\nm+ualJQUEh4evlpEZNKkSWv4jKKpGAwGXVJSUsgf//jHf5pMJk1ZWZnFnj17BowaNWq9CJ9PNI2C\nggKnjIyM3s8888w6ERGtVmu0t7e/yncn1MDR0fGilZVVyfXr1x8sLS21vHHjxgOdOnU6w3cnmsKg\nQYN2ODg4XKr8WnXflYmJicPKX/fz80sv3/+v8atGS1DVZ/PJJ5/8j1arNYqIPPbYYz/m5ua6ivz2\n2Rw/fvyXFhYWZa6urrne3t6H9u7d28/cPZpdWHHnk0F0Op2BfwihBtnZ2R5paWkBAwcO3Pnrr7+2\nc3JyKhARadu27YX8/Hznpq4PLdPMmTM/XLx48azyf3Hk5+c7t23b9kJ5u6uray7foWhsv/zyyyPt\n2rX7ddy4cfE+Pj5ZkydPXlVYWGjHdyfUwNHR8eJrr732QadOnc507NjxbJs2bS77+Phk8d0Jtaju\nuzI3N9eV35OgFp9//vkLI0eO3CDy22dTp9MZyttq+9lsdmGFRqMxNXUNwJ2uXbtmGxoamvD3v//9\nZXt7+6tNXQ8gIvLtt98+7ezsnO/n55duMpk0IiLl/ws0JaPRqE1LSwuYNWvW4qysLB9HR8eL77zz\nzrymrgsQETlx4sTDH3300SvZ2dkeZ8+e7Xjt2jXbrVu3/r6p6wJq485/z/O7E5rCu++++5dWrVrd\nmjhx4tr6jNPswgqdTmfIyclxKz/Pyclxq5wgAo2tpKTEauzYsV9NnDhxbfn00Hbt2v164cKFtiK/\npd/Ozs75TVslWqJdu3Y9unHjxhGdO3c+9cwzz6zbtm3b7+bMmbOw/LMp8ttstcpJN9AY3Nzcclxd\nXXMDAgLSRERCQ0MTMjIyejs7O+fz3Ymmtnfv3n6PPvroLicnpwJLS8vSMWPGfL19+/bH+e6EWlT3\n35l3/p7E5xRNYeXKlc8mJiYOW7t27cTy16r6bNbmd/hmF1YEBASkZWVl+eTm5rqWlJRYxcfHjwsO\nDt7c1HWhZTKZTJrnn39+uZeX1+GZM2d+WP56SEhI0po1ayaJiKxZs2ZSSEhIUtNViZbqvffe+5+c\nnBy3U6dOdf7yyy/H/+53v9u2evXq8AEDBuxZv379KBE+n2gabm5uOW3btr1w7NixbiIi33///WBP\nT8+fg4ODN/PdiabWtWvX43v27BlQVFRkYzKZNN9///3gHj16HOG7E2pR3X9nhoSEJJX/grh//37/\n8v0BmrJWtCzJyclDFy1aNHvjxo0jrK2tb5a/HhISkhQXFxdWvo9KVlaWT79+/faaHbCpdxGty5GU\nlBTs7e2d5enpefi99957o6nr4Wi5x44dOwZqNBpjr169Mnr37p3eu3fv9M2bNw+t/Eip3//+99/x\n+D2Opj5SUlKeKH8aCI/f41DDkZGR0atv375pXl5eh4KDg5MuXrzowHcnh1qO+fPnR3Xt2vWXbt26\nHQ0LC/uyqKjImu9OjqY4xo8fv87FxeWslZXVLZ1Ol/PFF188V9N35UsvvbSk/NGl+/bt82/q+jnu\n3+POz+by5cundO3a9ZdOnTqdLv+9KDIy8rPy/u++++7/eHp6Hvb29s5KTk4Oqs09NCYTy5gAAAAA\nAIB6NLtlIAAAAAAA4P5GWAEAAAAAAFSFsAIAAAAAAKgKYQUAAAAAAFAVwgoAAAAAAKAqhBUAAAAA\nAEBV/h8lwjqvJUFiXQAAAABJRU5ErkJggg==\n",
"text": [
"<matplotlib.figure.Figure at 0x7f7f2530f450>"
]
}
],
"prompt_number": 211
},
{
"cell_type": "heading",
"level": 4,
"metadata": {},
"source": [
"firstPaint"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The startup duration is considerably higher if we don't overcount submissions from the same users."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"compare_distributions(\"firstPaint\", 10000)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\n/LOcO3eufhvGRx99JOvWrZNvv/1Wjh07Jp9//vkV1zbcviIiEh8fL6dPn5by8nLp2bOnzJ49+4r+\n7733nmzdulXOnDkjGo1Gli9vevvPZ599JnFxcfL2229LVVWV5OfnW9zKYlZZWSmjRo2SOXPmyLlz\n52TXrl3y3HPPyb59++r7pKWlySuvvCKVlZXSr1+/+uc0P9fBgwelqqpKHnvssSvGfuihh2TXrl1y\n2223SVVV1VXBUMPnS0lJkaqqKunatassXLhQ9uzZI+fPn5d9+/bJoEGD5N5775W1a9dKWFiYVFVV\nya+//lr/XZpDkfPnz8vWrVulf//+IiIyYsQI+f777+X8+fMyZ84ceeyxx+TSpUv11zWWn58vx44d\nk7y8PFmxYoUUFRXJ6NGjZcmSJTJ58mSpqqqSgoICq9+no9gtEDEYDFp/f/8S83utVmswGAxaS33U\narXi7e1dUV5e7lNaWuqn1WoNja8tLS31szbm9OnTN5pXnDz11FPrRS6vENm+ffuEoKCgQ1FRUTsa\nbstpKCEhof4nNze3xb4HAAAAAHBWMTExsnnzZvnXv/4lgYGB4ufnV9/2+++/S0pKiqxatUrc3d2l\nc+fOsnDhQklPTxcRkQ8++ECeeuop6dOnj3Ts2FESExOvGt/8S7ynp6eMGTNGNBqNdO7cWRYtWnRF\ngKJSqWT69OnSq1cv6dSpk0yaNEkOHDjQ5Jw3btwos2fPluHDh4uIiI+Pj9x9991WnzMzM1Puueee\n+poigYGBMnHiRPnwww/r+0yYMEGCg4NFo9HI1KlTLd6/Kba2wKhUKpkxY4b06dNHVCqVdO7cWTQa\njRw6dEiqq6vF29tb7r33XotjmUwm+dvf/iaenp7Su3dvOXv2rGzdulVERCZNmiRubm4icnm1iEaj\nkcLCQotj/c///I906NBBgoODZcCAAfXP2dytPLm5uVf8fm5PdiuqqlKprm3TUgvYuHHjdEVR1HFx\nccmvvPLK/yxdujQxKipqx9SpU7d26NChdsOGDTOnTp26NS8vb3jja+39RQMAAACAM1GpVBITEyP3\n33+/nDhx4qrtMr/88osYjUYJDQ2t/8xkMkltbW19+x/+8If6toZhSmO//fabPPPMM/Kvf/1LLly4\nICaTSYxGo5hMpvpVDL6+vvX9O3fuLEajscmxysrKrtgK0xwGg0Hy8/PF09Oz/rPa2tr6FTEqlUp6\n9OjRrPtfr549e9a/7tKli6Smpsrf/vY3mT59ugwdOlRee+01CQoKavJalUolCxYskL/85S9Xtf31\nr3+VzZs3S3l5uajVajl37pycP3/e4jwafs+33HLLNT9neHi4hIeH179vKghrKXZbIaLVag0lJSX+\n5vclJSX+DVd3mPucPHmyl4iIoijqiooK7+7du//S+FrzSpLmjKlWq5XJkye/v3fv3jAREU9Pz7Md\nOnSoFRGZOXPmhgMHDvS3zxMDAAAAABrq1auX9OnTR3bt2iUTJky4os3b21tcXFzkhx9+kLNnz8rZ\ns2elsrKy/pdtHx8fMRjqNw5c8drMHHasWrVKSktL5cCBA1JZWSlffPHFdRUXFRG57bbb5Pjx49d0\nTc+ePeWhhx6qf46zZ89KVVXVTTkJxywiIkL27Nkjp0+fFp1OJ0899ZSINL3NRaTp1R6ffPKJvPXW\nW5KVlSW//fabnD17Vry9va/re22NxXTtFogMHjz4m6Kion6lpaV+NTU1Lunp6ZMiIiJ2NewTGRmZ\nvWXLlmkiIpmZmY+EhYXt1Wg0dZGRkdlpaWnRtbW1HQwGg7aoqKjfkCFDvrY2ZnFxcYDI5ZohO3bs\niNLpdIUiIuXl5T7m++3cuXPsXXfd9YO9nrk9WLx4hcTGJlj80esLb/YUAQAAALQhGzZskE8//VQ6\nd+58xeedOnWSmJgYef7556WyslJELq/OMBftfPTRR2XDhg1y/PhxMRqNV61eaBh4XLx4UVxcXMTd\n3V3OnTsnf/3rX6+aR3N/iY+NjZV169bJl19+KSIip0+flh9+sP5r5Lhx42T//v3y4YcfSl1dnSiK\nIgUFBfL99983695eXl5y4sSJZs3Pkob3KC8vl127donRaJQOHTrILbfcImq1uv5ep06dkpqamiav\nbejChQuiVqula9euUltbKytXrqyvO3KtvL29paSk5LrCFHuxWyDSqVOnS6tXr547atSoj/v3739g\nwoQJ2wcOHLhv6dKliTt37hwrIhIXF5f8888/36bT6QpXrVq1wHwyTGhoqH78+PEfBQcHHxw9enTO\n2rVrZ7u4uNRYGlNRFPWUKVNSzcfunjp1qufSpUsTRUT+/ve/PxccHHwwKCjo0IoVKxalpKTE2OuZ\n24OysmoJCEiw+FNdXXezpwgAAACgDenTp48MHDiw/n3DlQLJycni6ekpffv2FQ8PDxkxYoQUFRWJ\n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\n",
"text": [
"<matplotlib.figure.Figure at 0x7f7f2522f290>"
]
}
],
"prompt_number": 212
},
{
"cell_type": "heading",
"level": 4,
"metadata": {},
"source": [
"shutdownDuration"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We are overcounting very short shutdown durations when not aggregating by client."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"compare_distributions(\"shutdownDuration\", 10000)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAABD0AAAE1CAYAAADkn5uyAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XtY1GXi///XDOApQQ4eUMBYyw7gmIpaRCa1pYJ5XBNL\n2cjazM3ssB8Pue1HbCtPn9pdlzLtoK2nxVzFA0q2GR6yyNAUNLMylEGRxBMqjsjw+6Mf8wViGFRm\nhPH5uC6uZea+3/f7vmecrp0X98FQVlYmAAAAAAAAd2O81h0AAAAAAABwBkIPAAAAAADglgg9AAAA\nAACAWyL0AAAAAAAAbonQAwAAAAAAuCVCDwAAAAAA4JacGnqkpaX1M5lMWWFhYftmzpw5qWq5xWJp\nHBcXl2wymbKioqI+P3To0I3lZdOnT38pLCxsn8lkytq4cWOf8udHjx79QZs2bY6ZTKasim29+OKL\nb4aFhe0LCwvb99BDD60rLCwMcObYAAAAAABA/ea00MNisTQeO3bs3LS0tH579uzpvGLFimG7du3q\nWrFOUlLSuLZt2x7NysoyTZgwYfb48ePnSFJmZmbEypUrh2ZlZZnS0tL6jRkzZl5JSYmXJD3++OML\n0tLS+lW934ABA9ZmZ2d32rdvX1inTp2yX3311ZedNTYAAAAAAFD/OS30yMjIuDM8PHxvUFBQnqen\n56W4uLjk1NTU/hXrrF+/PjY+Pn6RJA0cOHDN9u3b77ZarcbU1NT+I0aM+LeHh0dpUFBQXnh4+N6M\njIw7JalXr15b/fz8Tla933333feZ0Wi0SlJUVNTneXl5Qc4aGwAAAAAAqP88ndWw2WwODgkJyS1/\nHBwcbE5PT4+2V8doNFoDAgIKCwoKWufl5QXdf//9mypeazabg2t77/nz5z81YsSIf1d93mAwlF3R\nYAAAAAAAgFOVlZUZ6rpNp4Ue1ypgeO211/7cqFGjiyNHjlxSXXlZGbkHUJ3ExEQlJiZe624A9Raf\nEaBmfEaAmvEZAWpmMNR53iHJiaFHcHCwOTc3N6T8cW5ubkjFmR/ldQ4fPty+devWBVar1VhYWBjQ\nqlWrn6teW3XWiD0ffvjhY6mpqf03bdp0f92OBgAAAAAANDRO29OjR48eO7Kzszvl5eUFlZSUeC1f\nvnx4TEzMhop1YmNj1y9evHiUJK1evXpQZGTkFx4eHqWxsbHrk5OT4y5duuRpNpuDs7OzO/Xs2fOr\nmu6XlpbWb9asWRPXrFkzsEmTJhecNS4AAAAAANAwOC30aNKkyYW5c+eO7du378d33HHH7qFDh67s\n1q3bzqlTp05bu3btAEkaN25c0pEjR9qZTKas2bNnT5gzZ854SYqIiMgcMmTIqs6dO+/p169f2rx5\n88Z4eXmVSNIjjzyy7O67795+4MCBW0JCQnIXLFjwuCQ9++yz/zx79mzzBx988JOuXbvu+uMf//i2\ns8YGuKPo6Ohr3QWgXuMzAtSMzwhQMz4jwLVhuJ72uDAYDGXX03gBAAAAAGgIDAZDw9rIFAAAAACc\nyd/fXydPnrzW3QBwGfz8/HTixAmX3Y+ZHgAAAAAapP//L8PXuhsALoO9z62zZno4bU8PAAAAAACA\na4nQAwAAAAAAuCVCDwAAAAAA4JYIPQAAAACggdu6datuu+02l94zOjpa77//vtPaT0xMVHx8vNPa\nr6+uxXvpzji9BQAAAIDbmDx5pvLzi53WfmBgU82YMalWdTdt2qSJEyfq22+/lZeXl2677TYlJSWp\ne/fudd6vXr16af/+/XXebk0MBoMMhivbdzIxMVE//vijFi1aVGP7rrRw4UI98cQTatasmTw8POTv\n76/o6Gi99NJL6tixo9PuazQa9cMPP6hDhw6Srs176c4IPQAAAAC4jfz8YoWGJjqt/Zyc2rV94sQJ\nDRo0SAsWLNDvfvc7Xbp0SZ9//rmaNGnitL7h6kVFRWnLli2SpCNHjugf//iHunfvru3btys8PPyy\n2ystLZWHh4fDepxC5DwsbwEAAACAOrZ//341atRIw4YNk8FgkJeXl6Kjo9WpUydbnX/+858KDQ2V\nj4+PevfurR9//FHSL1+U//jHP8rf318+Pj4KDw9Xdna2JCklJUUdO3ZU8+bN1a5dO82aNUuSlJ6e\nrpCQEFvbu3bt0p133ilvb2/dfPPNSk5OtpUlJCTomWee0YABA+Tt7a0uXbrowIED1Y7j7NmziouL\nU4sWLdSiRQtFRETo559/tpXn5OSoV69eat68ue69915bWdX+SFJoaKg+/fRTpaWlafr06UpOTpa3\nt7e6du0qSfruu+/Uo0cP+fj4qE+fPjp+/Hil65ctW6YOHTrI29tbkZGR2r17tyRpwYIFGjhwoK1e\nx44dNXz4cNvjkJAQ7dmzR9IvsyrmzZunW2+9Vc2bN9eTTz5ZKXCo+Hu7du00c+ZMxcbGKjExscZx\nbdq0SdIvM1iGDRum+Ph4+fn56cMPP9RXX32lHj16qEWLFvL399eTTz4pi8UiSbr33nslSXfccYe8\nvb310UcfOe29vF4RegAAAABAHQsLC1NpaalGjx6tjz/+WIWFhZXKly5dqn/+85/67LPPdObMGcXE\nxGjYsGGSpPXr1+urr75STk6Ozpw5ozVr1qhVq1aSpCeeeEILFy7U2bNndeDAAfXr1+9X97ZYLHro\noYc0YsQIFRUVadGiRfrDH/5gCwkkKTk5Wa+99ppOnTqlTp066aWXXqp2HAsWLFBxcbGOHTum06dP\n68MPP7TNVikrK9PSpUu1ZMkSHT9+XB4eHpoxY4bd16R8OUy/fv00ZcoUW/927dolSYqLi9ODDz6o\n06dP67XXXtOiRYtsS1x2796tp556SosWLVJRUZEeeeQR9e/fXxcvXlTv3r21detWSb/MzigpKdGX\nX34pSTp48KDOnTunzp072/qRlpamXbt26dtvv9WaNWu0bt26Gt5JadCgQbb27Y2rotTUVI0cOVIn\nT57UyJEj1ahRI82fP1+nT59Wdna2vvrqK/3tb3+TJNuskj179qioqEgPP/xwpbbq8r28XhF6AAAA\nAEAd8/X11bZt21RSUqInnnhCrVu3VmxsrPLz8yVJ7777riZPnqzf/OY3kqSJEyfqwIEDOnDggJo3\nb66ioiLt379fVqtVN910k9q0aSNJat68ufbt26eioiI1b9680pf5clu2bJHRaNQLL7wgSYqMjNSQ\nIUP073//21Zn6NCh6ty5szw8PDRy5MhKX6Irat68uQoLC/XDDz9Ikjp16iRvb29Jv3zZHz16tNq3\nb68mTZpo+PDhdtupqqysrNKsigMHDmj//v2aOnWqDAaDevTooSFDhtjKly9frsGDBysqKkqSNH78\neHl6eio9Pd02+2PXrl3asmWL+vbtq3bt2um7777T5s2bbbMpyk2YMEHNmjVTSEiI7rvvPod9btmy\npU6cOFGrcUnSPffcYwujGjdurC5duthms7Rr105PPfWULexwpC7fy+sVoQcAAAAAOEGnTp20aNEi\nmc1mfffddzp+/LieeeYZSZLZbNZzzz0nPz8/+fn5KSAgQJJ0/Phx3XfffXr66af19NNPq3Xr1ho9\nerROnz4t6Zcv/2vWrNGNN96oe+65p9oZCMeOHfvVEoz27duroKBA0i9hRXmIIklNmza1LbeoKj4+\nXr/97W81fPhwtW3bVi+++KIuXrxoKw8MDKxVO44UFBTI399fjRs3tj0XFBRUqbzqmEJCQnTs2DFJ\nUu/evZWenq6tW7eqd+/e6t27tzZv3qwtW7aod+/ela6r2OdmzZpVGk91jh8/Ln9//1qPpWL7krR3\n71716dNHLVu2lK+vryZNmqRz587Vqq26fC+vV4QeAAAAAOBkN998sx5//HHt3btXktS2bVstWLBA\nJ0+etP2cO3dOd999tyTphRde0M6dO7V//37l5OTYlo3ceeedWrt2rY4fP66HH3640t4V5dq0aaPc\n3NxKzx0+fLjSl+Pa8vT01CuvvKJ9+/bpq6++0scff6wFCxY4vK5Ro0Y6f/687bHVatXJkydtj6su\nCWndurVOnDihCxcu2J4zm82VxnT48OFK15jNZtuYevfurc8++0xbt25VdHS0LQTZvHnzr0KPy5WS\nkmKbLeJoXNUZM2aMevToIbPZrFOnTmnmzJmyWq21unddvpfXK0IPAAAAAKhjBw4c0FtvvWX7i3xu\nbq6WLVumHj16SJKeeuopvf7667ZlI2fPnlVKSookaefOndq5c6esVquaNm2qxo0by2g0qqSkRMuX\nL9e5c+dkNBrVvHlzGY2//krXq1cvWa1W/eMf/1BZWZm+/PJLpaSk2AKSyzkpZMuWLfr2228lSTfc\ncIO8vLwq3dNeW7fffrvOnj2r9evXy2q1atasWZVmNwQEBCg3N9d2/S233KJbb71Vr776qqxWq77+\n+mutXr3aVn/YsGFavXq1tm/frrKyMiUlJamkpMQWaJSHHhcuXFC7du10zz33KC0tTSdOnLAtLalO\n1WU2FR05ckQvvfSS1q9fr6lTp9ZqXNU5f/68mjRposaNG+vgwYOaO3dupXJ/f3/99NNP1V5bl+/l\n9YrQAwAAAADqWPPmzfXpp5+qc+fOuuGGGxQREaGbbrpJ//znPyVJo0aN0lNPPaWYmBj5+Pjo1ltv\ntYUeJ0+e1O9//3v5+PgoKChIPj4+mjhxoiTpvffeU3BwsG644QYlJSVpyZIltnuWz55o0qSJ1q5d\nq6VLl8rHx0cjR47UO++8oy5dutjqVZ1pUfVxObPZrIEDB6p58+bq2LGjIiMjlZCQUO11Fdv18/PT\nP/7xD8XHx6tdu3by8vKqtEzj4YcfVnFxsVq0aKHu3btL+mVDzo8//li+vr6aMmWK4uPjbfW7dOmi\nefPmadSoUfLx8dHixYu1bt0623KYjh07ytvbW7169ZIk+fj46KabblJUVNSv+lh13OXPGQwGffHF\nF/L29laLFi109913Kz8/Xzt27LAdV+toXNW9trNnz9bChQvl4+OjhIQE24k+5V5++WXFxcXJz89P\nK1asqNRGXb6X1yvD9ZQMGQyGsutpvAAAAIA7MxgMv/pL9+TJM5WfX+y0ewYGNtWMGZOc1j7g7qr7\n3FZ4vs4TG0IPAAAAAA2SvS9PAOovV4ceLG8BAAAAAABuidADAAAAAAC4JUIPAAAAAADglgg9AAAA\nAACAWyL0AAAAAAAAbonQAwAAAAAAuCVCDwAAAAAA4JYIPQAAAACgATEajTp48KAkaezYsXr11Vdd\nev/o6Gi9//77kqQlS5aob9++Lr1/dSq+Js5QcczXk+nTp+sPf/jDte7GVfG81h0AAAAAgLoyOXGy\n8k/lO639QN9AzUicUau6oaGhOnr0qI4cOaKAgADb8127dtXu3buVk5Oj9u3bX1V/5s6de1XXXwmD\nwSCDwSBJGjlypEaOHFkn7RqNRv3www/q0KFDnbRXW9HR0YqPj9cTTzxht07FMbtCQkKCli1bpsaN\nG8toNCokJEQDBgzQ5MmT5ePj45R7pqenKz4+Xrm5ubbnXnrpJafcy5UIPQAAAAC4jfxT+QodHOq0\n9nNScmpd12AwqEOHDlq2bJnGjRsnScrKylJxcbFLv0A3JGVlZS6/Z318LwwGgyZNmqRXXnlF0i//\nbiZPnqyoqChlZGSoWbNml9Ve+etaH8fqbCxvAQAAAAAnGTVqlP71r3/ZHn/44Yf6/e9/X+nLfXFx\nscaOHavWrVvLz89Pjz32mIqLi23l06ZNk7+/v9q3b68PPvigUvsJCQn6y1/+Ikk6efKk+vbtq5Yt\nW8rb21sPPPCADh06ZKsbHR2t//3f/1WvXr3UvHlz3Xvvvfr555/t9n3p0qW6/fbb5e3trd/85jdK\nS0v7VZ2FCxeqV69etsfffPONevXqJR8fH914442Vxp6QkKBnnnlGAwYMkLe3t7p06aIDBw5Iku69\n915J0h133CFvb2999NFHv7rXt99+q7vvvlvNmzdXQECAHn744Urln3zyiW699VY1b95cTz75pO01\nTkxMVHx8vK1eTk6OjEajSktL9ec//1lbt27VuHHj5O3trfHjx0uS1qxZoxtvvFH+/v569tlnVVZW\nZmvParXqpZdeUps2beTr66uHH35YJ0+elCQ99thjevPNNyVJeXl5MhqNevvttyVJP/74o23GT3p6\nuoKDg/Xmm2+qbdu2atmypd55551K46n4b8RkMmnVqlUqKirSggULahyX1WqV9Mv7/fLLLysqKkre\n3t46ePCg3nvvPdtrFBwcrL///e+SpHPnzikmJkZHjhyRt7e3fHx8dPTo0V/dY9myZerQoYO8vb0V\nGRmp3bt328pCQ0P1xhtvqGvXrrrhhhs0ePDgSv+OrxVCDwAAAABwkrvuuktnzpzR/v37VVpaquTk\nZI0aNapSneeee04FBQX68ccfdeTIEZ05c8a2rGDVqlWaP3++vv76a/3www/asmVLpWurLrsYP368\njh07poKCArVt21ZjxoypVH/ZsmVasmSJjh8/Lg8PD82YUf1Snc8++0zjxo3Tu+++q6KiImVkZDhc\ndnLq1Cn17dtXTz/9tM6cOaMNGzboxRdf1M6dO211kpOT9dprr+nUqVPq1KmTbZzl49qzZ4+Kiop+\nFWhI0ssvv6wBAwbo7NmzOnbsmCZMmFCpPC0tTbt27dK3336rNWvWaN26dbbXqDoGg0GvvfaaevXq\npbfeektFRUWaM2eOjhw5opEjR+rtt9/WiRMnFBYWps8//9zWzttvv62UlBTt2rVL+fn58vT0tO17\nER0drfT0dEnS5s2b1aFDB9vYNm/ebAt3JOnYsWM6f/68jhw5okWLFum5556zhSfVadSokWJiYrR1\n61b7b0IVy5Yt06JFi1RUVKTQ0FC1b99emzZt0tmzZ/XRRx/pL3/5i7788kvdcMMNSktLU7t27VRU\nVKQzZ86obdu2lV673bt366mnnrK198gjj6h///66ePGi7fVcsWKF/vvf/8psNuvAgQN67733at1X\nZyH0AAAAAAAnio+P17/+9S998sknCgsLU1BQkK3s4sWLWrRokWbPni1vb281bdpUEydO1PLlyyVJ\nH330kZ588kl16NBBjRo10rRp037VfvmMAD8/P/Xv318eHh5q2rSpJk2aVCkkMRgMevzxx9W+fXs1\nadJEw4cPr/SX+ooWLFigMWPG6J577pEktW7dWrfcckuN41y9erVuvfVW2x4fYWFh+t3vfqcVK1bY\n6gwdOlSdO3eWh4eHRo4caff+1WnevLkOHTqkI0eOyNPTUz179qxUPmHCBDVr1kwhISG67777bG3X\nZslMxTrr1q1Tt27d1L9/f0m/bBYbHBxsK1+2bJn+53/+R+3atVOTJk30+uuva/Xq1SouLta9996r\nbdu2qaysTFu3btXEiRP1+eefS/ol9Ojdu7etHS8vL02ZMkUGg0ExMTHy9fXVvn37auxnQECATpw4\n4XA80i/v9+jRo9WhQwcZDAZ5eHioT58+tn9/kZGR6tevn+3fSHWvU8Xnli9frsGDBysqKkrSLwGb\np6enLeSRpGeffVYBAQHy8/PTgAEDLuv9dRZCDwAAAABwEoPBoPj4eC1ZsqTapS0///yzLBaLIiIi\n5OfnJz8/P8XExOjMmTO28opfuCsGJlWdPn1aCQkJCgoKkq+vr6KiomSxWCrdLzAw0PZ706ZNZbFY\nqm0rPz//sjcUNZvNysjIsI3Dz89PS5cutc1eMBgMatOmTa3uX50ZM2bo4sWL6tGjh26//XbNnz+/\nUnnFsTVr1sw2A6E2Ks5oKCgo+NXrXPE9KCgoqLQBbUhIiEpLS3X8+HHddNNNuuGGG/TNN99o69at\neuihh9SuXTsdOHBAW7ZsqRR6BAQEyGj8f1/JmzVr5vD1OH78eKVNcR1p27ZtpcerVq1SRESEfH19\n5efnpzVr1ujcuXO1aqugoEAhISGVngsJCdGxY8dsj2v778uV2MgUAAAAAJyoffv26tChgzZs2PCr\nPTkCAgLk5eWl77//Xi1btvzVta1bt5bZbLY9rvh7ufIv7LNnz1ZeXp52796tli1bKjs7W507d1ZZ\nWdllb2DZrl27yz4Ctm3btnrggQeUmpp6WdddTvvlr98XX3yh++67T9HR0Q5noDRq1Ejnz5+3PS4s\nLKxUXvW1adOmjT755JNKz1V83du0aVNpr5Tc3FwZjUbb+9e7d2999NFHKikpUbt27dS7d28tXLhQ\nJ0+eVJcuXWo93qr9slgs2rBhgyZNmlSrcVV19uxZPfLII/rPf/6jmJgYGY1GPfzww7Xe5LRNmzbK\nycmp9JzZbK4UZNXU/2uFmR4AAAAA4GTvv/++Nm3apKZNm1Z6vkmTJoqPj9ef/vQnnTp1StIvsyw+\n/fRTSdKwYcP0/vvv6+DBg7JYLLbTPMpV3GDz/Pnz8vLykre3t86cOaO//vWvv+pHbU9HSUhI0Pz5\n87V9+3ZJv+w/8f3339d4zeDBg/XNN99oxYoVKi0tldVq1a5du/Tdd9/V6t7+/v766aef7JanpKQo\nP/+X44h9fHxkNBrtfrGu+Lp06dJFW7ZsUW5urs6dO/erfUyq3rd///7KzMzU+vXrJUnvvPNOpdAj\nLi5Ob775po4cOaILFy7o5Zdf1qBBg2zvbe/evZWUlGTbvyM6OlpJSUnq1atXrYOAiv0vKytTdna2\nhg0bJm9vbz3++OO1Glf5teVKSkpUUlIib29vGY1Gffrpp/r4448rvQ4nT55UUVFRtX0aNmyYVq9e\nre3bt6usrExJSUkqKSmpNHvF3r2vJUIPAAAAAHCyDh06qFu3brbHFb/8JiUlyc/PT7fffrt8fHzU\nu3dvZWdnS5KGDBmiJ554QhEREerYseOvvjhX3Mj0hRde0OnTp+Xn56e77rpLv/3tb3/1JdvetVVF\nR0drzpw5SkhIsJ3UUd3Mj4pt+Pv7Ky0tTe+88478/f0VEBCgF154QRcuXLB7v4qPX375ZcXFxcnP\nz6/SPiDltm3bZjsZJDY2VrNmzVLHjh1/1U7Ve8XGxmrQoEG67bbbFBERob59+1aq/+yzz2rx4sVq\n0aKFnn/+ebVr106LFy/W2LFj5e/vr71799r2NpGkcePGaeDAgerSpYvatGkji8VSacPOe++9V2fP\nnrWFHlFRUbb9PuyNvbrXddasWfLx8ZGfn59GjBihTp06afv27bZwxdG4qt7Dz89Ps2fP1tChQ+Xv\n768PP/xQDz30kK3cZDJp4MCBCg4Olr+/v44ePVrpdezSpYvmzZunUaNGycfHR4sXL9a6devUuHFj\nu2OoD7M9DPUlfXEFg8FQdj2NF9eXyYmTlX8q3255oG+gZiRWvzs3AABAQ2QwGH7112RH/5/oavH/\nqYCrU93ntsLzdZ6SsKcH4CbyT+UrdHCo3fKclByX9QUAAOBaIZAAUBHLWwAAAAAAgFtyauiRlpbW\nz2QyZYWFhe2bOXPmpKrlFoulcVxcXLLJZMqKior6/NChQzeWl02fPv2lsLCwfSaTKWvjxo19yp8f\nPXr0B23atDlmMpmyKrZ14sQJ/wcffPCTzp077+nbt+/Hp06d8nXm2AAAAAAAQP3mtNDDYrE0Hjt2\n7Ny0tLR+e/bs6bxixYphu3bt6lqxTlJS0ri2bdsezcrKMk2YMGH2+PHj50hSZmZmxMqVK4dmZWWZ\n0tLS+o0ZM2ZeSUmJlyQ9/vjjC9LS0vpVvd/UqVOn9e/fP3XPnj2dY2JiNkydOnWas8YGAAAA4Nrz\n8/OzbZbIDz/8NIwfPz8/l/53wmmhR0ZGxp3h4eF7g4KC8jw9PS/FxcUlp6am9q9YZ/369bHx8fGL\nJGngwIFrtm/ffrfVajWmpqb2HzFixL89PDxKg4KC8sLDw/dmZGTcKUm9evXa6ufnd7Lq/Sq2NWrU\nqMVV7wUAAADAvZw4ccJ2tCc//PDTMH5OnDjh0v9OOG0jU7PZHBwSEpJb/jg4ONicnp4eba+O0Wi0\nBgQEFBYUFLTOy8sLuv/++zdVvNZsNgfXdL+ff/65VUBAQKEktWzZ8nhBQUHr6uolJibafo+OjlZ0\ndHR11YB6pTa7kGd+k1njRqYAAAAAUF+kp6crPT3d6fdxWuhhMBjq5dmwFUMPoKFwdDKLJG37aptr\nOgMAAAAAV6nqJIRp05yzQ4XTlrcEBwebc3NzQ8of5+bmhlSc+VFe5/Dhw+0lyWq1GgsLCwNatWr1\nc9Vrq84aqU6rVq1+Pn78eEvpl1kfrVu3LqjbEQEAAAAAgIbEaaFHjx49dmRnZ3fKy8sLKikp8Vq+\nfPnwmJiYDRXrxMbGrl+8ePEoSVq9evWgyMjILzw8PEpjY2PXJycnx126dMnTbDYHZ2dnd+rZs+dX\nNd2vYluLFy8eFRsbu95ZYwMAAAAAAPWf05a3NGnS5MLcuXPH9u3b92Or1WqMj49f1K1bt51Tp06d\n1r17968HDBiwdty4cUnx8fGLTCZTlre3d9HSpUsflaSIiIjMIUOGrOrcufMeo9FonTdv3hgvL68S\nSXrkkUeWbd68uXdhYWFASEhI7iuvvPK/jz/++IJp06ZNjYuLS/7ggw9GBwYG5i9fvny4s8YGAAAA\nAADqP0NZWb3cesMpDAZD2fU0XriPhOcTHO7psXjKYo16fZTd8pyUHC38+8K67RgAAAAA1AGDwaCy\nsjJDXbfrtOUtAAAAAAAA15LTlrcAqF8yMzOV8HyC3fJA30DNSJzhug4BAAAAgJMRegDXieLS4hqX\nyOSk5LisLwAAAADgCixvAQAAAAAAbonQAwAAAAAAuCVCDwAAAAAA4JYIPQAAAAAAgFsi9AAAAAAA\nAG6J0AMAAAAAALglQg8AAAAAAOCWCD0AAAAAAIBb8rzWHQDgWGZmtr5RTo11CgtPuaYzAAAAANBA\nEHoADUBx8SUF+0bXWOdg6R7XdAYAAAAAGghCD8BNWCwWpaSk2y1nJggAAACA6w2hB+AmrFbJt4bZ\nIMwEAQAAAHC9YSNTAAAAAADglgg9AAAAAACAWyL0AAAAAAAAbonQAwAAAAAAuCVCDwAAAAAA4JYI\nPQAAAABrvVi0AAAgAElEQVQAgFsi9AAAAAAAAG6J0AMAAAAAALglQg8AAAAAAOCWCD0AAAAAAIBb\nIvQAAAAAAABuidADAAAAAAC4JUIPAAAAAADglgg9AAAAAACAWyL0AAAAAAAAbonQAwAAAAAAuCXP\na90BAK5hsViUkpJut7w086zrOgMAAAAALkDoAVwnrFbJ1zfabvlu89tKeD6hxjYCfQM1I3FG3XYM\nAAAAAJyE0AOAJKnU45JCB4fWWCcnJcclfQEAAACAusCeHgAAAAAAwC0RegAAAAAAALdE6AEAAAAA\nANwSoQcAAAAAAHBLTg090tLS+plMpqywsLB9M2fOnFS13GKxNI6Li0s2mUxZUVFRnx86dOjG8rLp\n06e/FBYWts9kMmVt3Lixj6M2V61aNSQsLGxfp06dsu+6664vv/vuu1udOTYAAAAAAFC/OS30sFgs\njceOHTs3LS2t3549ezqvWLFi2K5du7pWrJOUlDSubdu2R7OyskwTJkyYPX78+DmSlJmZGbFy5cqh\nWVlZprS0tH5jxoyZV1JS4lVTm+PHj5+zatWqIdnZ2Z0ee+yxD1999dWXnTU2AAAAAABQ/zkt9MjI\nyLgzPDx8b1BQUJ6np+eluLi45NTU1P4V66xfvz42Pj5+kSQNHDhwzfbt2++2Wq3G1NTU/iNGjPi3\nh4dHaVBQUF54ePjejIyMO2tqMzg42Hz69OkWknTq1CnfG2+88ZCzxgYAAAAAAOo/T2c1bDabg0NC\nQnLLHwcHB5vT09Oj7dUxGo3WgICAwoKCgtZ5eXlB999//6aK15rN5uCysjKDvTaTkpLG9enTZ2Oz\nZs3O+/j4nPnyyy/vqq5fiYmJtt+jo6MVHR1dXTUAAAAAAOAk6enpSk9Pd/p9nBZ6GAyGMme1Xa6s\nrMxQ/r/x8fGL0tLS+vXo0WPH//3f//3Piy+++Oa77777h6rXVAw9gPpicuJk5Z/Kt1teeOqogl3Y\nHwAAAABwpqqTEKZNm+aU+zgt9AgODjbn5uaGlD/Ozc0NqThLo7zO4cOH27du3brAarUaCwsLA1q1\navVz1WvLZ4RYrVZjdc8fO3aszcWLFxv16NFjhyQNHz58ed++fT921tiAupZ/Kl+hg0PtlpeuK3Fd\nZwAAAADATThtT48ePXrsyM7O7pSXlxdUUlLitXz58uExMTEbKtaJjY1dv3jx4lGStHr16kGRkZFf\neHh4lMbGxq5PTk6Ou3TpkqfZbA7Ozs7u1LNnz6/stRkQEFBYVFTk/f3333eUpE8++eTBm2+++Qdn\njQ0AAAAAANR/Tpvp0aRJkwtz584d27dv34+tVqsxPj5+Ubdu3XZOnTp1Wvfu3b8eMGDA2nHjxiXF\nx8cvMplMWd7e3kVLly59VJIiIiIyhwwZsqpz5857jEajdd68eWO8vLxKvLy8SqprU5Lmz5//1KBB\ng1YbDIYyX1/fUx9++OFjzhobAAAAAACo/wxlZU7feqPeMBgMZdfTeNFwJDyfUOPyljefnKNuo8bX\n2Mbn785W1B8mXHH5zsVz9OJ7Nd8jJyVHC/++sMY6AAAAAHC5DAaDbd/OuuS05S0AAAAAAADXEqEH\nAAAAAABwS4QeAAAAAADALRF6AAAAAAAAt+S001sA1F5mZra+UY7dcovlous6AwAAAABugtADqAeK\niy8p2DfabrnVusN1nQEAAAAAN8HyFgAAAAAA4JaY6QFAkmSxWJSSkl5jndLMs67pDAAAAADUAUIP\nAJIkq1XyrWGJjSSZi1Nc0xkAAAAAqAMsbwEAAAAAAG6J0AMAAAAAALglQg8AAAAAAOCWCD0AAAAA\nAIBbIvQAAAAAAABuidADAAAAAAC4JUIPAAAAAADgljyvdQcANByFhUeU8HyC3fJA30DNSJzhug4B\nAAAAQA0IPQDUWqnHJYUODrVbnpOS47K+AAAAAIAjLG8BAAAAAABuidADAAAAAAC4JUIPAAAAAADg\nlgg9AAAAAACAWyL0AAAAAAAAbonQAwAAAAAAuCWHoceaNWsGWq1WwhEAAAAAANCgOAwzkpOT426+\n+eYfJk6cOGv//v23uaJTAAAAAAAAV8th6LFkyZKRu3bt6tqhQ4eDCQkJCyMjI7+YP3/+U0VFRd6u\n6CAAAAAAAMCVqNWylRYtWpweNmzYiri4uOQjR460W7Vq1ZA77rhj99/+9rcXnN1BAAAAAACAK+Ew\n9Fi9evWgIUOGrIqOjk4vKSnx2rFjR48NGzbE7N27N/ytt956xhWdBAAAAAAAuFyejiqsXLly6Asv\nvPC3e++9d0vF55s2bVr8zjvvPO28rgEAAAAAAFw5hzM92rRpc6xq4DFp0qSZkvTAAw/811kdAwAA\nAAAAuBoOQ49PPvnkwarPrV27doBzugMAAAAAAFA37C5vmTt37ti33377jz/++ONNJpMpq/z58+fP\nN+vSpcs3rukeAAAAAADAlbEbejz66KNLY2JiNkyePHnGzJkzJ5WVlRmkX/byaNOmzTHXdREAAAAA\nAODy2Q09DAZDWWhoaM5bb731jMFgKKtYduLECX9/f/8Tzu8eAAAAAADAlbEbejzyyCPLUlNT+0dE\nRGRWDT0k6aeffvqNc7sGoL6xWCxKSUm3W16aedZ1nQEAAAAAB+yGHqmpqf0lKScnJ9RlvQFQr1mt\nkq9vtN1yc3GK6zoDAAAAAA44PL1l27Zt95w7d+4GSfrXv/71+/Hjx8/58ccfb6pN42lpaf1MJlNW\nWFjYvpkzZ06qWm6xWBrHxcUlm0ymrKioqM8PHTp0Y3nZ9OnTXwoLC9tnMpmyNm7c2Kc2bf75z39+\nrXPnznvCw8P3zpkzZ3xt+ggAAAAAANyTw9Bj7Nixc2+44YZzO3fu7Pb3v//9+VtuueXA6NGjP3B0\nncViaTx27Ni5aWlp/fbs2dN5xYoVw3bt2tW1Yp2kpKRxbdu2PZqVlWWaMGHC7PHjx8+RpMzMzIiV\nK1cOzcrKMqWlpfUbM2bMvJKSEq+a2nzrrbeeOXHihP+ePXs67927N3zkyJFLrvRFAQAAAAAADZ/D\n0MPT0/OSJK1du3bAM88889a4ceOSioqKvB1dl5GRcWd4ePjeoKCgPE9Pz0txcXHJ5Utmyq1fvz42\nPj5+kSQNHDhwzfbt2++2Wq3G1NTU/iNGjPi3h4dHaVBQUF54ePjejIyMO2tq87333ntyypQpr5e3\nHRAQUHi5LwYAAAAAAHAfdvf0KOft7V00a9asiUuWLBm5ZcuWe61Wq7GkpMTL0XVmszk4JCQkt/xx\ncHCwOT09PdpeHaPRaA0ICCgsKChonZeXF3T//fdvqnit2WwOLisrM9hr8+DBgx3mz5//1OrVqwe1\nbNny+Ntvv/3H2267bX/VfiUmJtp+j46OVnR0dNUqAAAAAADAidLT05Wenu70+zgMPZYuXfro0qVL\nH33//fefCAwMzDebzcF/+tOf3nB0XXUnvtS1srIyQ/nvFy5caOLv739iz549nVetWjXkscce+zAj\nI+POqtdUDD0AAAAAAIDrVZ2EMG3aNKfcx2HoERwcbJ44ceKsio8TEhIW1ua63NzckPLHubm5IRVn\naZTXOXz4cPvWrVsXWK1WY2FhYUCrVq1+rnpt+YwQq9VqrO55SQoJCckdOnToSkkaPHhwyqhRoxY7\n6iMAAAAAAHBfDvf0WLp06aOhoaE5zZs3P+vt7V3k7e1d5OPjc8bRdT169NiRnZ3dKS8vL6ikpMRr\n+fLlw2NiYjZUrBMbG7t+8eLFoyRp9erVgyIjI7/w8PAojY2NXZ+cnBx36dIlT7PZHJydnd2pZ8+e\nX9XUZv/+/VM3bdp0vyRt3ry5d8eOHb+/spcEAAAAAAC4A4czPSZPnjzj448/7nv77bd/ezkNN2nS\n5MLcuXPH9u3b92Or1WqMj49f1K1bt51Tp06d1r17968HDBiwdty4cUnx8fGLTCZTlre3d9HSpUsf\nlaSIiIjMIUOGrOrcufMeo9FonTdv3hgvL68SLy+vkuralKRXXnnlf0eOHLnkjTfe+FPjxo0tH3zw\nwegre0kAXKnCwiNKeD6hxjqBvoGakTjDNR0CAAAAcF1zGHqEhobmXG7gUS4mJmZD1dkd06ZNm1r+\ne+PGjS3Lly8fXt21U6ZMeb3iaSw1tSlJLVq0OL1u3bqHrqSfAOpGqcclhQ4OrbFOTkqOS/oCAAAA\nAA5Dj65du+565JFHlg0cOHBNo0aNLkq/bFJavn8GAAAAAABAfeQw9Dh9+nSLxo0bWzZu3Nin4vOE\nHgAAAAAAoD5zGHosXLgwwQX9AAAAAAAAqFMOT2/Zu3dv+D333LPttttu2y9J+/btC6u4LwcAAAAA\nAEB95DD0GD169AdvvPHGn5o2bVosSbfffvu39jYfBQAAAAAAqC8chh4XLlxocuedd2aUPzYYDGUe\nHh6lzu0WAAAAAADA1XEYevj7+5/44Ycfbi5/vG7duocCAgIKndstAAAAAACAq+NwI9N33nnn6YSE\nhIX79++/rX379odbtWr1c3JycpwrOgcAAAAAAHCl7IYeb7zxxp/Kfx8yZMiqIUOGrCorKzMYDIay\nNWvWDHzxxRffdE0XAQAAAAAALp/d0KOoqMjbYDCUfffdd7fu2LGjx8CBA9dI0tq1awf07NnzK9d1\nEQAAAAAA4PLZDT0SExMTJSk6Ojp99+7ddzRr1uy8JP31r3/9S2xs7HoX9Q8AAAAAAOCKONzI1Gw2\nB3t5eZWUP/b09LxkNpuDndstAAAAAACAq+NwI9NHH310aURERObQoUNXlpWVGVJSUgaPHDlyiSs6\nB6BhsVgsSklJr7FOaeZZ13QGAAAAwHXPYejxyiuv/G9MTMyGrVu39jIajdZ58+aNueuuu750RecA\nNCxWq+TrG11jHXNxims6AwAAAOC65zD0kKTIyMgvIiMjv3B2ZwAAAAAAAOqKwz09AAAAAAAAGiJC\nDwAAAAAA4JZqtbwFAOpKYeERJTyfYLc80DdQMxJnuK5DAAAAANwWoQcAlyr1uKTQwaF2y3NSclzW\nFwAAAADujeUtAAAAAADALRF6AAAAAAAAt0ToAQAAAAAA3BKhBwAAAAAAcEuEHgAAAAAAwC0RegAA\nAAAAALdE6AEAAAAAANwSoQcAAAAAAHBLhB4AAAAAAMAtEXoAAAAAAAC3ROgBAAAAAADckue17gCA\n64vFYlFKSrrd8tLMs67rDAAAAAC3RugBuMDkxMnKP5Vvt7zw1FEFu7A/15LVKvn6RtstNxenuK4z\nAAAAANwaoQfgAvmn8hU6ONRueem6Etd1BgAAAACuE+zpAQAAAAAA3BKhBwAAAAAAcEuEHgAAAAAA\nwC2xpwfgApmZ2fpGOXbLLZaLrusMAAAAAFwnCD0AFyguvqTgGk4ssVp3uK4z9Vxh4RElPJ9gtzzQ\nN1AzEme4rkMAAAAAGiynLm9JS0vrZzKZssLCwvbNnDlzUtVyi8XSOC4uLtlkMmVFRUV9fujQoRvL\ny6ZPn/5SWFjYPpPJlLVx48Y+tW1z/Pjxc7y9vYucNyoAzlTqcUmhg0Pt/tR09C8AAAAAVOS00MNi\nsTQeO3bs3LS0tH579uzpvGLFimG7du3qWrFOUlLSuLZt2x7NysoyTZgwYfb48ePnSFJmZmbEypUr\nh2ZlZZnS0tL6jRkzZl5JSYmXoza//vrr7qdOnfI1GAxlzhoXAAAAAABoGJwWemRkZNwZHh6+Nygo\nKM/T0/NSXFxccmpqav+KddavXx8bHx+/SJIGDhy4Zvv27XdbrVZjampq/xEjRvzbw8OjNCgoKC88\nPHxvRkbGnTW1WVpa6jFx4sRZs2bNmlhWVmZw1rgAAAAAAEDD4LQ9Pcxmc3BISEhu+ePg4GBzenp6\ntL06RqPRGhAQUFhQUNA6Ly8v6P77799U8Vqz2RxcVlZmsNdmUlLSuEGDBq0ODAysce57YmKi7ffo\n6GhFR0fbrQsAAAAAAOpeenq60tPTnX4fp4UerlxicvTo0bYrVqwYlp6eHu1olkfF0AMAAAAAALhe\n1UkI06ZNc8p9nLa8JTg42JybmxtS/jg3Nzek4iyN8jqHDx9uL0lWq9VYWFgY0KpVq5+rXls+I6S6\nNoODg827du3q+sMPP9x88803/9ChQ4eD58+fb3bLLbcccNbYAAAAAABA/ee00KNHjx47srOzO+Xl\n5QWVlJR4LV++fHhMTMyGinViY2PXL168eJQkrV69elBkZOQXHh4epbGxseuTk5PjLl265Gk2m4Oz\ns7M79ezZ86vq2oyNjV0fGxu7/ujRo21/+umn3/z000+/adas2fkDBw7c4qyxAQAAAACA+s9py1ua\nNGlyYe7cuWP79u37sdVqNcbHxy/q1q3bzqlTp07r3r371wMGDFg7bty4pPj4+EUmkynL29u7aOnS\npY9KUkREROaQIUNWde7ceY/RaLTOmzdvjJeXV4mXl1dJdW1WvTentwAAAAAAAKeFHpIUExOzoers\njmnTpk0t/71x48aW5cuXD6/u2ilTprw+ZcqU12vTZlVnzpzxudI+AwAAAAAA9+C05S0AAAAAAADX\nklNnegDA5bJYLEpJSbdbXpp51nWdAQAAANCgEXoAqFesVsnXN9puubk4xXWdAQAAANCgsbwFAAAA\nAAC4JUIPAAAAAADglgg9AAAAAACAW2JPDwANSmHhESU8n1BjnUDfQM1InOGaDgEAAACotwg9ADQo\npR6XFDo4tMY6OSk5LukLAAAAgPqN5S0AAAAAAMAtEXoAAAAAAAC3ROgBAAAAAADcEqEHAAAAAABw\nS4QeAAAAAADALXF6C4AGxWKxKCUlvcY6pZlnXdMZAAAAAPUaoQeABsVqlXx9o2usYy5OcU1nAAAA\nANRrLG8BAAAAAABuiZkeANxOYeERJTyfYLc80DdQMxJnuK5DAAAAAK4JQg8AbqfU45JCB4faLc9J\nyXFZXwAAAABcOyxvAQAAAAAAbonQAwAAAAAAuCVCDwAAAAAA4JYIPQAAAAAAgFsi9AAAAAAAAG6J\n01tcbPLkmcrPL7ZbHhjYVDNmTHJhjwD3Y7FYlJKSbre8NPOs6zoDAAAA4Joh9HCx/PxihYYm2i3/\nz38G1BiKSAQjgCNWq+TrG2233Fyc4rrOAAAAALhmCD3qmeJijxpDEUnKyam5HAAAAAAAsKcHAAAA\nAABwU4QeAAAAAADALRF6AAAAAAAAt8SeHg1QZmamEhIS7Zaz0SkAAAAAAIQeDZKjzU7Z6BQAAAAA\nAJa3AAAAAAAAN0XoAQAAAAAA3BLLW+rY5MkzlZ9fbLc8MzNLoaGu6w+AXyssPKKE5xPslgf6BmpG\n4gzXdQgAAACAUxB61LH8/OIa99vYtm2w6zoDoFqlHpcUOjjUbnlOSo7L+gIAAADAeQg9AFx3LBaL\nUlLS7ZaXZp51XWcAAAAAOA2hB4DrjtUq+fpG2y03F6e4rjMAAAAAnMapG5mmpaX1M5lMWWFhYftm\nzpw5qWq5xWJpHBcXl2wymbKioqI+P3To0I3lZdOnT38pLCxsn8lkytq4cWMfR22OGDHi32FhYftu\nu+22/fHx8YssFktjZ44NAAAAAADUb06b6WGxWBqPHTt27rZt2+5p06bNscjIyC/69OmzsWvXrrvK\n6yQlJY1r27bt0eTk5LiUlJTB48ePn7N69epBmZmZEStXrhyalZVlys/PD7znnnu2HThw4Bar1Wq0\n1+aTTz753gMPPPBfSXr00UeXvvPOO08/99xz/3DW+AC4L0cbnUpsdgoAAAA0BE4LPTIyMu4MDw/f\nGxQUlCdJcXFxyampqf0rhh7r16+PnTVr1kRJGjhw4Jo//OEP71qtVmNqamr/ESNG/NvDw6M0KCgo\nLzw8fG9GRsadVqvVaK/N8sBDkiIjI7/Izc0NcdbY6rvMzEwlJCTWWCcwsKlmzPjV5BsAcrzRqcRm\npwAAAEBD4LTQw2w2B4eEhOSWPw4ODjanp6dH26tjNBqtAQEBhQUFBa3z8vKC7r///k0VrzWbzcFl\nZWUGR22WlJR4LVy4MGHOnDnjq+tXYmKi7ffo6GhFR0dXV61BKy72qPEEGUnKyam5HAAAAAAAZ0lP\nT1d6errT7+O00MNgMJQ5q+2aPPPMM2/17t17c1RU1OfVlVcMPQCgOo5Od5E44QUAAAC4GlUnIUyb\nNs0p93Fa6BEcHGyuuMQkNzc3pOIsjfI6hw8fbt+6desCq9VqLCwsDGjVqtXPVa8tnxFitVqNNbU5\nbdq0qcePH285f/78p5w1LgDuz9HpLhInvAAAAAANgdNOb+nRo8eO7OzsTnl5eUElJSVey5cvHx4T\nE7OhYp3Y2Nj1ixcvHiVJq1evHhQZGfmFh4dHaWxs7Prk5OS4S5cueZrN5uDs7OxOPXv2/KqmNt97\n770nN27c2Gfp0qWPOmtMAAAAAACg4XDaTI8mTZpcmDt37ti+fft+bLVajfHx8Yu6deu2c+rUqdO6\nd+/+9YABA9aOGzcuKT4+fpHJZMry9vYuKg8sIiIiMocMGbKqc+fOe4xGo3XevHljvLy8Sry8vEqq\na1OSxo4dOzc0NDQnMjLyC0n63e9+95+XX375VWeND8D1zdEJL5zuAgAAAFx7Tgs9JCkmJmZD1dkd\n06ZNm1r+e+PGjS3Lly8fXt21U6ZMeX3KlCmv16ZN6ZcNTOuizwBQG45OeOF0FwAAAODac2rogfrL\n0bG2HGkLAAAAAGjoCD2uU46OteVIWwAAAABAQ0foAQBXwNGxthxpCwAAAFx7hB4AcAUcHWvLkbYA\nAADAtUfoAQBO4Oh0F4kTXgAAAABnI/QAACdwdLqLxAkvAAAAgLMReqBanO4CAAAAAGjoCD1QLU53\nAa6Oo41OJTY7BQAAAJyN0AMAnMDRRqcSm50CAAAAzkboAQDXiKPNTtnoFAAAALg6hB4AcI042uyU\njU4BAACAq0PoAVylyYmTlX8qv8Y6haeOKthF/UHD4WjfD/b8AAAAAK4OoQeuiKPTXaTr54SX/FP5\nDo8mLV1X4prOoEFxtO/HbvPbLH8BAAAArgKhh4sVnturlPQEu+XmU5trLK9NncJze6+sc5fB0eku\nEie8AFeL5S8AAADA1SH0uAyTJ89Ufn5xjXUyM7MUGmq/vNTLIt9o+xVKv79YY3lt6hw8uKnG61G3\nMjOz9Y1yaqxjsVx0TWfgVlj+AgAAAFwdQo/LkJ9f7HB2w7Ztg13TGdQbxcWXFOzgaFKrdYdrOgO3\n4mj5C0feAgAAADUj9KhjjpavWC6dcl1nrjFH+35cL3t+AAAAAACuDUKPOuZo+Yr1+1Kn9+HChVMO\n9wWpD/t+sOcHcHUKC4/UuNGpxGanAAAAuL4RerihMq9Sh/uCsO8H0PCdv3TO4X4ypZ9ma0aiS7oD\nAAAA1DuEHgDQQDna80Pi2FsAAABc3wg9cM2w5wfgfBx7CwAAgOsZocd1ytG+H67Y88N8fL88cgLs\nludt/q/yL3xbYxv8lRqomaNjb/NS9ytBCXbL+YwBAACgISP0uE452vfDFXt+ONr09eDi8zX+hVri\nr9SAI46WwHx7YUeN+4KwJwgAAAAaMkIP1FuO/kItSaWZZ13TGcBNOQpFHO0JIjEbBAAAAPUXoQeq\nVRfLXwrP7a2xDculUzVeXxebNO7P3q/bOt1mt5wva0DNanNCTN6SNOWfyrdbzucMAAAA1wqhB6rl\naPnLvn0raww0JOm84ViNbVi/L72yzlXgaJPGbV9tYxNH4CrUJnw8WLaHzxkAAADqJUIPXBFHoYhU\nN6GGI46WwBQW1jybJDMzk6n7wFVis1QAAADUV4QeaNAcbtJ4fkeNX8bMBUf1Owebpf7nL/+pcep+\n4amjCnbQT8CdsVkqAAAA6itCj8uQufe/+iYnp8Y6jvapgGs5+jJ2sHSPwzaKS4trnLpfuq7kCnoG\nXD8cb5b6vhISEmtsIzCwqWbMmFS3HQMAAIDbI/S4DMVlZxVcD5Z0AIA7OXfutMNA+cD61Vrx32V2\ny1t6++rLz9LrtmMAAABo8Ag9cF2rzbG4jvYFAXB1arNHUMn3FxX80GC75V++84Zu7t6lxjYIRgAA\nAK4/hB64rtXmZApH+4JYLBfrtlMALluph7XGUESSdn9Y8zIaltAAAAC4H0IPwAFHwYjVusN1nQFw\nxRwto2EJDQAAgPsh9AAAXBccLaOpiyU0+XmHFRjU3m75+aIT6hNzv91yju8FAACoW4QeAADUQm2W\n0Bx6d3aNdb54f3aNx/fmLflM+TlNarzH/kPpuu2OULvlBCcAAAD/D6EHAAAu4mi53L7TOx2eZLP/\n+526cIf98gPzV2rFurQa2zh/8rz69HrUbrkr9jeZnDhZ+afy7feB8AYAANQBQg8AAOqJ2pxkU/p9\naY3BSYlhh8MZKdvffvOq9jdxFJpI0satS9XMr5nd8iPHDuqW33WzW563JK3GUEQiGAEAAI4RelQw\nefJM5ecX2y0vLDypYBf2B3ClMkvpte4CUK+502fkavc3cRSaSFJhcb5uiX/Rbvmhd2fXGN58e2FH\njUuBJMezWhztsVKbOle7T4t0/YQz6enpio6OvtbdAOotPiPAteHU0CMt7f9r7+6DmjjzOIA/SeC8\na5FRXkIxCcKIQJJFSAsUGL2bsYgkKnBKCSDoeLa1nSrKOZTamavX6RS1lqKeM+3NeY6W8FpPQZuA\nL3U66iEvClwJqNAKRxJEXqRt8AUhu/cHt2P0hOCREITvZ+b7Rzab3WcXnjzkx2afipjMzMy9JpOJ\nt379+qNZWVl7zJ8fHByctW7duq+am5slzs7OvxQUFKTMnz//34QQsmvXrh15eXlpPB7PlJOTsz06\nOvrMWNtsa2vzSUlJKRgYGHCSSqVNeXl5aY6OjkPP0l71t6cI70XfUZ+/N9j/zOcA4HnBPKTt3QSA\nKQ195JHxXJFCt06sSDSeKcUtXdVi6R4r41lnovdpIWTixZnJKN5YYx8dN24QL3//CW3D0ixJlr4W\nRVePoJQAAAs2SURBVMjEi0zj2cd17XUSQAXYrA1ThTXO92T8zJ4XKHoA2IfNih6Dg4Oz3nnnnS8u\nXbq02MPD43ZERMTl6OjoMzKZrJ5d5+DBg5s9PT1vFRcXK0tLS+PT09MPlJWVxV29evWV48ePr25s\nbAzs6up6afHixZdaWlr8aJrmjrbN9PT0A1lZWXvi4+NLt23btu/gwYObMzIycp+lzfeZASIc44+4\nif4BBwAAANPLZBRnJqN4Y419tLVkT3gblmZJsvS1KEImXmQazz6ut2jJA2r0mw6P5946U6FQZY1z\nYelYJ+Nn9rwUBm+3t5H2n9pHff5M+XnywmyXMfcxGbOAWSpUWSr6jWediT5PiHUKbjOlgDnT2azo\nUV1d/apUKm0SCAQGQghRKpXFarV6hXnRQ6PRKD799NP3CCEkNjb25Jtvvvk3mqa5arV6RVJSUhGP\nxzMJBAKDVCptqq6ufpWmae7TthkYGNhYVVUVfurUqVWEEJKamqp6//33dz+t6NHT0zNqm00mE2EY\nhnA4HCufDQAAAACwxNIsSZa+FkWIdYpMlvZhMtVO+N46U6FQZY1zMZ7zjcLgiPbc7DGvDOu7d4f4\nJf9hzH1YurrMGgU3S4UqS0W/8awz0ecJsU7BbaIFzOel4DYV9jHedWyCYRibJD8/P+Xtt9/+gn1c\nWFiYtGnTpi/N1/Hz87tx+/ZtPvvY39//+q1bt1566623/lpUVKRkl2/atOnLwsLCpIKCguSnbbOz\ns9MzICDgGru8s7PT09/f//qTbSKEMAiCIAiCIAiCIAiCTL3YojZhsys9OBwOY6tt/78YhsElHAAA\nAAAAAAAzhM2KHkKhUK/T6UTsY51OJxKJRLon1+no6PDi8/ndNE1z+/r6XN3d3XuefK1erxeKRCId\nTdPcp22Tz+d39/b2upmvLxQK9bY6NgAAAAAAAACY+ri22nBoaGitVqulDAaDYGhoyLGkpCRRLpeX\nm6+jUCg0KpUqlRBCysrK4iIiIi7zeDyTQqHQFBcXK4eHhx30er1Qq9VSYWFhNaNtk8fjmcLDw6tK\nS0vjCSFEpVKlKhQKja2ODQAAAAAAAACmPs5/73VhE+Xl5fLMzMy9NE1z09LS8nbs2LFr586dH4WE\nhFxZtWrVqcHBwVlpaWl5165dE8+ePdtYUFCQ4u3t3U4IIdnZ2R+oVKpULpdL5+TkbF++fPnp0bZJ\niHWmrAUAAAAAAACAacRWNzKdaikvL4+hKKpRLBY37969O8ve7UGQyUhHR4doyZIlFyiKavTz87ux\nZ8+e9xiGIX19fS5RUVFnAwMDv4+Ojj7d398/h33Nli1bDkgkkiaZTFZXV1cnY5cfOXJkvUQiaZJI\nJE1Hjx5dZ+9jQxBrZnh4mBccHFy/cuXKUwzDkJs3b/qEh4dfpiiqUalUFj18+NCRYRjy4MGDWYmJ\nicUURTVGRkb+s729fT67jezs7B1isbiZoqjG06dPR9v7mBDEWunv75+TkJDw9aJFi/4VEBBw7fLl\ny+EYRxDkUT788MOPFi5c2OLv7399zZo1x+7evfsCxhFkJmfDhg2H+Xz+bYqiGtll1hw3rly58kpw\ncHC9RCJpSk9P32+pPXY/IZORBw8ezPL29m7T6/WCoaEhh5CQkFrzk4kg0zVdXV0ejY2NFMMwxGg0\nOi1cuLCloaEhaPPmzX/Jzc3dxjAMyc3N3ca+WRw7dmxNXFxcKcMwpK6uThYUFNTAMCMzIi1YsOAH\no9HoZDQanRYsWPBDV1eXh72PD0GslZycnD+mpKTkr1q16iTDMGTlypWnTpw4Ec8wDNm6deu+zz//\nPINhGPLZZ59t37p16z6GYciJEyfiY2NjyxhmZPANCQmpHR4e5un1eoG3t3fb4ODgr+x9XAhijSQk\nJHxdUFCQzDAMMZlM3J9//tkZ4wiCjKS1tdXXx8fnJvuen5iYWHzo0KGNGEeQmZwLFy4sqaurk5kX\nPawxbrAzvwYGBn7Pfp6Pi4srPX78+O/Hao/N7ukxlVRXV78qlUqbBAKBwcHBYVipVBar1eoV9m4X\ngK15eHjcpihKSwghTk5OA4sWLfreYDAINBqNIi0tLY8QQlJTU1Vsf1Cr1SvY5TKZrJ69r87Zs2eX\nyeXycicnpwEnJ6eBmJiYirNnzy6z35EBWI9erxdqNBrFG2+8cYhhGI7JZOJVVVWFx8fHlxLyeB8x\n7zuxsbEnKysrI2ma5qrV6hVJSUlFPB7PJBAIDFKptKmmpibMnscFYA19fX2uDQ0NwcnJyYWEEMLl\ncmlnZ+dfMI4AjHBxcbnj6Og4dPfu3ReHh4cd7t2794KXl1cHxhGYyZYsWXJx7ty5/ebLrDFunDlz\nJrqjo8OLpmmuTCarf3Jbo5kRRQ929hf2sVAo1Ov1eqE92wQw2drb271ra2tDFy9efKmnp8fd1dW1\njxBC3Nzceru7u/mEEGIwGARP6ysGg0FgPiMS+hBMJxkZGbl79+7N5HK5NCGEdHd3893c3HrZ5wUC\ngYH9fTcfT7hcLu3q6trX3d3NRx+B6aq1tXWhu7t7T2JiYglFUdp169Z9ZTQaZ2McARjh4uJyZ/v2\n7TleXl4d8+bN65wzZ85PFEVpMY4APM5a48aT65v3r9HMiKIHh8Ox3d1aAZ4DAwMDTgkJCcf279+/\n1dnZ+Zex1mUYhjNZ7QKwt2+++WYln8/vlslk9ezvPvoAwCM0TXNra2tDMzMz92q1WsrFxeXOxx9/\n/KexXoM+BDPJjz/+uGDfvn3b2tvbvTs7O+cNDAw44SomgGdj63FjRhQ9hEKhXqfTidjHOp1OZF4d\nApjOhoaGHNesWfOPtWvX5rOXWbq7u/f09va6ETJSdeXz+d2E/G9fYf8bgT4E01VlZWXkyZMnY318\nfNqSk5MLz58/vzQrK2sP2z8IGekH7H8ahEKhvqOjw4uQkQ+DfX19ru7u7j2j9Z3JPyIA6xKJRDqB\nQGAIDQ2tJYSQhISEYw0NDcF8Pr8b4wgAITU1NWGRkZGVrq6ufQ4ODsOrV68+fuHChd9iHAF4nLU+\nfzxtffMrQp5mRhQ9QkNDa7VaLWUwGARDQ0OOJSUliXK5vNze7QKwNYZhOBs3bvy7RCJpzsjIyGWX\nKxQKjUqlSiWEEJVKlapQKDTs8vz8/LWEEFJXV/cy+73S11577duKiooYo9E422g0zq6oqIiJioo6\nZ5+jArCe7OzsD3Q6naitrc2nqKgoaenSpefz8vLSwsPDq0pLS+MJ+d8+wvadsrKyuIiIiMs8Hs+k\nUCg0xcXFSvZ7qFqtlgoLC6ux57EBWINIJNK5ubn1trS0+BFCyLlz56LEYvE1uVxejnEEgBBfX98f\nqqqqwu/fv/8bhmE4586diwoICLiOcQTgcdb6/CESiXRcLpeur6+XEUJIfn7+WnZbo7L3nV0nKxqN\nRi6VSrVisbg5Ozt7h73bgyCTkYsXLy7mcDh0UFBQQ3BwcH1wcHB9eXl5jPmUUcuWLTtjPmXUu+++\ne5CdMurq1asvs8sPHz68QSwWN4vF4uYjR46st/exIYi189133/2Onb1lrKkGX3/99RKKohojIiIq\n29ravNnXf/LJJx+IxeJmqVSqraioWG7v40EQa6WhoSEoJCSkViKRNMnlcs2dO3fmYhxBkEfZuXPn\nn319fVv9/PxuKJXKovv37/8a4wgyk5OUlFTo6enZ6ejo+FAoFOoOHz68wZrjhvmUtVu2bDlgqT0c\nhsHtLgAAAAAAAABg+pkRX28BAAAAAAAAgJkHRQ8AAAAAAAAAmJZQ9AAAAAAAAACAaQlFDwAAAAAA\nAACYllD0AAAAAAAAAIBpCUUPAAAAAAAAAJiW/gP+bZeZHM19XQAAAABJRU5ErkJggg==\n",
"text": [
"<matplotlib.figure.Figure at 0x7f7f25176350>"
]
}
],
"prompt_number": 213
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment