From 13fd717993dafb376acf65b8e3bf0317d956cad5 Mon Sep 17 00:00:00 2001 From: 1954346cc8b06b34603a827d87ca92b1 <1954346cc8b06b34603a827d87ca92b1@app-learninglab.inria.fr> Date: Wed, 9 Sep 2020 09:13:39 +0000 Subject: [PATCH] added my own file --- module2/exo1/Nasirworks.ipynb | 60 + module2/exo1/toy_notebook_fr.ipynb | 158 +- module2/exo2/exercice.ipynb | 225 +- ...nfluenza-like-illness-analysis-Nasir.ipynb | 2504 +++++++++++++++++ .../influenza-like-illness-analysis.ipynb | 373 --- 5 files changed, 2941 insertions(+), 379 deletions(-) create mode 100644 module2/exo1/Nasirworks.ipynb create mode 100644 module3/exo1/influenza-like-illness-analysis-Nasir.ipynb delete mode 100644 module3/exo1/influenza-like-illness-analysis.ipynb diff --git a/module2/exo1/Nasirworks.ipynb b/module2/exo1/Nasirworks.ipynb new file mode 100644 index 0000000..760b846 --- /dev/null +++ b/module2/exo1/Nasirworks.ipynb @@ -0,0 +1,60 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#the first ducument\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "2+2" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.6.4" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/module2/exo1/toy_notebook_fr.ipynb b/module2/exo1/toy_notebook_fr.ipynb index 0bbbe37..aeff30d 100644 --- a/module2/exo1/toy_notebook_fr.ipynb +++ b/module2/exo1/toy_notebook_fr.ipynb @@ -1,5 +1,158 @@ { - "cells": [], + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### toy_notebook_en" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "### March 28, 2019\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " On the computation of $\\pi$\n", + "## Asking the maths library\n", + "My computer tells me that $\\pi$ is *approximatively*" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3.141592653589793\n" + ] + } + ], + "source": [ + "from math import *\n", + "print(pi)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Buffon’s needle\n", + "Applying the method of [Buffon’s needle](https://en.wikipedia.org/wiki/Buffon%27s_needle_problem), we get the __approximation__" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3.128911138923655" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import numpy as np\n", + "np.random.seed(seed=42)\n", + "N=10000\n", + "x=np.random.uniform(size=N, low=0, high=1)\n", + "theta=np.random.uniform(size=N, low=0, high=pi/2)\n", + "2/(sum((x+np.sin(theta))>1)/N)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Using a surface fraction argument\n", + "A method that is easier to understand and does not make use of the $\\sin$ function is based on the fact that if $X\\sim U(0,1)$ and $Y\\sim U(0, 1), then $P[X^2+Y^2\\leq 1]=\\p/4$ (see [\"Monte Carlo method\"on Wikipedia](https://en.wikipedia.org/wiki/Monte_Carlo_method)). The following code uses this approach:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAP8AAAD8CAYAAAC4nHJkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzsvVlwXNeZJvhdZGJNJDKR2ImNAJiQSIIUJYICJduivEmW7ZJdbneX3YqemqqIdjjKVc/91vMwLzUdEzFd0+WZake3u1weRzm6NhVdXijJtijbkkCC2ggSJJIAsZEAsSSQWDKxJHDn4ePvc/Li3ps3gQRFWPgjEAByuffcc/59NUzTxAEcwAF89KDgw17AARzAAXw4cED8B3AAH1E4IP4DOICPKBwQ/wEcwEcUDoj/AA7gIwoHxH8AB/ARhQPiP4AD+IjCAfEfwAF8ROGA+A/gAD6i4P+wblxdXW0ePnz4w7r9ARzA7yxcuXJl1jTNmmyf+9CI//Dhw+jr6/uwbn8AB/A7C4ZhjHr53IHafwAH8BGFA+I/gAP4iMIB8R/AAXxE4YD4D+AAPqJwQPwHcAAfUTgg/gM4gI8oHBD/ARzARxSyEr9hGN81DGPaMIx+h/cNwzD+b8MwbhmG8YFhGE/kf5kHcAAHkG/wkuTz1wD+EsDfOLz/AoDo/Z8eAP/v/d8H8DBAPA7EYsDCAhAOA9EoEIl82Ks6AIEP8XyyEr9pmm8YhnHY5SNfAvA3JjuBvm0YRtgwjAbTNCfztEbP4HkfvXzwd4Fo4nGgtxcIBICqKiCZ5P89PQ/+Wez2E/jw93ivztl63epqYHZ2+/N/iOeTj/TeRgDj2v8T9197oMSfDc/lLFbG4zg03ouGaACheocNzwfRPAhkz4a4sRifIRDg//I7FuOzPCiw28/XXgNME2hoAPx+4Ne/Br77XaC1FThzBjh9Ovve7JZw88kc9bUYBjA/z2erqgKmpoALF4AnngDq69V9fD51PokEMD4OzMwAk5PAl7+85wwgH8Rv2Lxm2w/cMIxvAPgGALS0tOTh1gquXAFGR4F0GggGgeZm7mksRpyQM25YjmHVH0D/cAAtm8DCQgDJGSAwGcOhL/dwv3dLNHZI9eqrwPIysLHBn8JCYGQE+Oxnd3bITojb2akkzI0bQFdX5vfKyoC5udzvtxuw2894nH/X1ACXLwN37/LgpqeBf/5n4Je/BJ59Fujutt+ffBBuvpijrGVzk3t/5QqwtcWzDQS435WV/N3QoO7z7rvAxz5Gwu/vB0pLgdpa7sED0ADy4e2fANCs/d8E4K7dB03T/I5pmt2maXbX1GQtOsoA2d8LF/hbcEd/r6AACIWA9XXu5cYGaUA/Y9/yAorDZdjaAt64CGysA8HaMpjxBXXdhQUSiQ5lZXzdywJffpmIEAhQCgQCwMQE8M475PbhMH+PjhJRdgL6Q8k9NjeB8+eBtTUSRHExr59IqO8lk7z/gwS7/RQmOD7O9VVUUAOYmCARmCYwPLz9sAXsnl+4/W7Wle2c7SAW494PD/OZSkr4DL/6FZ9taYmIubSUeR+A5zE+zs+XlvLsampyf5YdQD6I/zyA/+W+1/8sgES+7X2hK8HptTWFE/E4ae3ePQrSlRW1j7EY8Vw/481gGAWrSSwskDmXlgK+tSRWS8IYHQW+/32g/04Yialk5iLciMa6wHgcGBpSRJdIAH19wJ07/FlZIbLE48A//IMzgruBHeLOzmYync5Ovj44SGJaWeGPmCAPCsJh7p8OhYX8WVqiulZUxEMMBvmTTvPHiQicGMrbb9tLCK/r2glzXFjg3gvilZeT8W5ukrCDQeJAMJh5n6YmMudf/YpMb3YWSKWotu6ECeUIWdV+wzD+FsCzAKoNw5gA8L8BKAQA0zT/CsBPAHwewC0ASQB/lO9FOmlnfX2Kho4epZY7MAA8+igF69gY0N7O19NpMuSi5SjapnsxGweqW8pQkEoiNbuCd9CFgipqD4u1UQy+04vOJ4BQfRkPamVluwrttMCaGmBxkQcPUA1ZXyf3T6f5P8AFBQKKm7mpebpNWVAA3LzJa9bUEFlCISJPdbX6TihE27m/nypnOMxn2KkquVMbW+wugEidTPJ7pkmkHxujrXvvHtViIZTWVmczRQhX9jyRICFVVDibQdY1263L7ZydIBwGrl4F6upo2q2s8HxCIdrvXV3U8tra+MzJJF83DK4hHqeqv7QEPPMMv7eysucamhdv/9ezvG8C+FbeVmQDCws8Tx3KymgyPf448X99HTh2jHs8NEQcKisjfbW0AD/6EYXLyZMRDJs9mB2K4XD9HLaKwhio6EJBERGiogJYLYvgZqAHQz+P4bHDczh0LIxQjwvRWBfY3ExkmJnhYRsGESOd5vvLy/w7EgEeeSS7rTk0RHV+c5MPNDfH6xYVkclcvQp0dJDj6cQPULqePbt7B59uY/v93PxXXuF1OzqcCQzg3z09fD5hQqdPA++9B1y6xNf9fq7/3j0ifnk5iWFqigdsBSvhDg7y785OZQYsLnLfTp+29wvYrWsnzDEaBd58k1rd7Czv39ysTJcnngBeeonvyX0qKxXz/+QnyaANg3sYieyMCeUI+yLDz0k7A3juzc3Ulnw+agD19RSOp04pHDh5kvs9PAwUN0TQ9gc9eK/2ecy09WB2KwLT5DXC4fv+gmAEM+09mHn8ebyZ7kEcLghhXWAoRIKIRIgQwSDw3HNUQzY3idQbG+RQR4+qB7FT8+JxIrDfTwZy545CoIoK/mxsUHK8+CI3YWVl52q+k3NFtJt0Grh2jfepqyPj+cEPyOisNpkOQmjPP8/1XLlCwjdN7ktxMffJ76fq3NBABiAeWytEIiT0W7e41ps3+blQSH3GagbZ+QX0dQmDdHIuOUEkwr2fmlLayJEjZOyf/CS1m1u3+NkzZ3gf01RmSyhEQg8Geb7FxQ8k3PehdfLJBZy0s2PH+Lfs3fg4aSAS4T7W1/M7S0vEy6oqaoddXdz7wkLu89YWf+QapaX8XkWFRwew3QJ9PoZrYjESRCDAC46PK8dET49CVidbU5xJ1dVE4M1NPtzCAl+ThxGPss9HqQxwg3INTzp50BcWSJgXL5KbVlbSMz05SfXc6sl227C+Pjpo1taovRQVkXm0tQGHDnGPlpb4nOXlzt7+wUES2cmTvGYsxv2UPbWaQXI+TtGO3UQQZD8mJpSzqbWVz1lYyDVOTVFDaG7mHooAALjm9nYKgwcUht0Xkl+Yc3Exz00Y4+nTSrhVVBB3jh8nzbW0KGEcDAKrq/wR34v43wDgi1/kOfn9PBPRAprvxzCy+l6cFhiJkDFYF/mxj3Hxfn92CS1EvrrK/4W4FhaUAymZJGPo7aUq+bGP0R4SM8MruHnQCwoorYXwNzboTEml7D3Zbhs2MKBU38JC3isYJCPx+3l4x4/zme/csZfA1rXaOTftzCA3h95OIwjCNIqLec9Dh8jc796lHVpayn0bHubzLS+TUbzzDp/5Q3LG7gvJDyj6soKTyaYLY3GqAny9r484UF1NR6vPRz/L3BzPJ52mxibgyQHstEA7u/Kzn+V7loXHEUGs12I6h8MktOFhfqe2Fnj/fS5yaooPs74OHD4MnDiRW8za6sAbGyNz0kEkpWGo/9fX+b+orhKqy2nDQLNhZkZ5yhMJ/l1Tw9fLysgk7RyiVj+LnXPzxRfJDFZWvDn0rNdMJLgnIiWcHJzCNEpKuC/Fxdyb8XGeF6BUypISXvfECfoCpqfJAHfrjN0B7BvidwIvNJdKURCaJoWOz8fzSacpsKanaTKeOQN8+tP0r5lmph9tN76XOCKIoQcLAMJgEUQkgoyFO2mcZzujqIzHqRLOzhJxIhE+1OAgkau2lkgvxChqr5OKG4+TG/b2kgNGoyQwibGLKgooQl5YIHENDKgklvJyZrL5fGQaklQxO8tni8ftkfnYMZomlZWU8IODtImPHOF7y8s8oJIS3i8Y5KbojMzq7QfsnZuVld4devo1JfHGMIDGRveIjDAN06TaPj3NZ/D7eW6mqWL9c3Pcl7fe4v4Fg/Q3fAiw74nfDewYg2lS01pYIK6XlNA38P77xMevfIVMeWCAODMyArzwws7X4NWMdApnDs5G0CNcrLCQyLW4SA7l89EHcPs2Fzo8TGJ84QUimp0ElgWNjpJpGAYdeF1dZAKxmHIixmKUwD09VPsLC0mcS0tcQzJJBO7sJHG8+y6l9lNP8bNOxHL6NNcxP6/UrLNnVbbj3/0dVeaiIh7Q6iqfN5VSB5qvMJ0O+jXHxpR209LirEnF49QMrl7lnkQilBipFLUx8e+UlPBzIyOMRYdCRML5eWcmucfwO038VpBzeustCq5QiAJmbY344/OR6AEy/VCItFNSsvNsS68ZpE7hzLk5bOdiFy6QOE2Tav/oKB9ofp7hs0iEHMxOZdG99qGQUufHx5WdLVKuuhp4+mki8nvvkcA2N8ktq6v5elcXJdytW8C5c5mSeHGRGViNjZkhwEiEhO6UM7C0RGYjntfSUq5L9yt4CdPl6sDTr3nnDtfd0uKsScn1a2u5trIyIlBbG9fc0cF7VlbyOaemyBCqqvg8pqkY7oOstbgPHxni18+pvJzCcm2NuF9QoPxC/f3Eo0iEpu30NOlkc9Mej7OBG1HrJvedO5nOX8DFdA6HKVlv3CDhi6PJ5yMTGBqiPW1XHCILEi+obocmk8rL+cwzSv0dHlac8OZN/nR18ScUUurUyZP8biJBIrh6letsbd2uNjvZawA1j6UlMheR/FtbmX4FwP0awM5y9/VrSpRGwHog+vXLyshA19a49iNHqAXpiGIYNAckiamjg880MqLO5gFWN35kiF8/p2efJRNeXiZudXURz4aGeBaSbSoa38AAX9vYIH5LUVplJXHS7bzsTNNkkgxHF0obG3T+6oVfjlpsNKqymba2eLHVVS6gqUnZqVYpGIuRYRQXk8uM3p/tYJqU3nLDy5cVx7I6qrq7KdGDwcwwZUMDf0sG4+QkuWxhoTIrAgGVheeG6M3NKplJCKWhwT7Zxw1c1aks4MWs0K8vIcbjx3l9Ozu+uXk7Q5mcVI7BB1zWuy9CffkAPRW8qQn4gz+gLwYgDp44QdwS/8zWFpl3VRW1hIICvm8YxO+REdKeW14LkBnp0yM6ppkZVWpoUM5fa7RwG0QiwGc+owh9bQ2pSAMmSjsQmyzF3bENJAo0CaXXHnR1kXhv3iRn29xkVl17u7qhnrS0tKSkr5RLbm2p7EV5oHPn+HtwkJ9Ppfj91lYyj/FxcjinIg3rpokT8exZ/vb5cg+D7SZ33y18u9Pr2yGDJDHtpkBph/CRkfxWCdzcDHzqUyS2hga+/8lPEm+PHaPw8vmIw+vrxHfRiMfH+XmJeLlpk06m6eXL2+tS6uspKD05fyMReid/8xsk78YxsRhE0SYQXJ9DsrIZ1+ejeEL8SFb1t7ubRDo6SuKySl9d6pWXk3OaJtVUyV4ULqXb2pWVvG5BAaV7JMLvmyYleCxG+yqbGp7PtNvdOAWzmRVO129s5OtW7cbuuZqaVDaawAMqu953xJ/P2hJJwrPr4XH8uIpaHTlCwSha7tISzQK9SMvtvOxwyMkcyKmW477X/F58AiWJuyhKryNd14SV576GokhE0ZRdTLy7mwvOFicNBOhIjEZJ0JI88+Uv87OxGDmZHMbZs5Toov6nUsqsmJmhAxFQzSsWF8lZneoBdgP5YiK5XL+xkQzQyclo91y7RoSdgcG6nAcP3d3dZq6DOnXi1BmtnXq800Y6Tt/T79vXR5zt7lYMYWVFaYb5fpZsF3r7+zFEChawWRHGWnMUm6HIbzN+n38eStXWESyXBXvZFHmAzk6F/BIulLi/aVK1EsYgdftbWzQPPoz2YtmeM9f1yF6n0ypNWeL9zz1nf8+8IIICwzCumKbZnfVz+4n4rTicSBDP1tYytVev+5nLWTt1adrNeeWrfVxW2t4DBHO9qYSvrA+m5xgUFHAj9XBhLtwzXyCHMD7On2g00+Oa6x5duMBnuXZNOUpTKfpVvvUt5zqFPLZ380r8+0rt17VXScAqKSEe6ZEkLxGenYaABeS8vGiTTmcracjynvh+8m7a7kb9dVq8nSd9Y4OJPvLZM2fsVXndLyB+BFFVHiToSDA1ReIfHOTeHD2qHG9uDMm6P4bB/6WxB8DXamqcr5UPE2cHsK+IX7eTBwYYJZGqPj0WPzmZPT9jt+3bvJ6XG5MBMt/Ti76am70zAk+0vRMEc1u812YaVm4aiSi/wIO0c+2YmLVMORIhwU5MEJmOH1dRC6drWvdnfp7ZgYcPk6GtrvIax4/veWeeXGFfEb9IuMVF+piWl2lOhsM8r8ZGEntjI02t/n6Vh2LFrZ2EgHeinVnxS0xAn4/rEgYkuTRS9OWluc+egxuH9NJMQz5rZTp7kZrrBk5MbHmZYcRr15TULiri69IH7vHHna9rtz/Smam/n9dqa1NmTXm5+xofcBvzfUX8Irx+8ANKybU1EnpxMWPx9+4xrb2lRdVkSCsvK27l6m332hpcumyZJn9u3OB6JFcmFKIg6O1lircU0cn74guTuhCfj34iN9zIZW2e8SoeZz88Uc+lVZhwSDmMK1eo6g8MeO8U7KSqACpEJpu4uKiSilpasi/eTcJbmZiojktLvPbQkNJITJPRCbfcArsqwKEhlfBTUMADldBSV5e781S6/169ShXwxRdpFu0R7CviB3juW1sknKkp2vxSEr64yN+hEM/yyhXuYXs7w3V6U5hEgvstGZiFhfbCR87q7bfJZOwEm94a3O9X5cOnT/M7r73Gz4gJODNDQfnOO7ze008T/3w+MgspzBMm0dHhHj3yIqBz6k+h16enUkwIevttbk5ra2amXTpN6Sg1/W7qlvUgrU4U6yYmk1yDtPQqLeXnnBafTcLrUFamQpd+Pwm1slJFIVKp7T4LK1glyPg4r9PaSmYpffinp1Vo1G59UqA1PMx7BwKslfhP/wn46le9zTDYAew74hcwTZ7n3Bz3UKSq5JOMjXEP6+v5s7jIcxgdVbMinn6aBPLWW8Qnu2iAnFVBAX/6+8lYEgkKjnv3SAuRCAl5YoI4BPDvzk6aKFNTPO+xMc6nED9XIsE29Z2dxBFJZ796VfWiuHiRzMvJP+FmwuzItyFfamgAfvpTSl3pgTY3x350+ucCARLCBx/wAaQSMFsttLW4obaW1+rv5/3m55lJJX3a5uZ46E6LzybhrWqeOFb8fs4JmJ5mTYRk3yUS7hV3VvNlZoZSRLQk3ZEZiShksq7v3Xf52dJSMoGhIRUSHRri7z2w//Zleu/Ro9yjdJoJUi0tVP+rqniOUo05PU0mXFhIIn39dQqUiQmFr2fOsIZFEtJ00HGpooLX3NoC3niDeHn3rjItUinirGgjJSWqhPvxx4lrohUeOaImOJ06RTwfHVV9Of1+pYmsrfE7bu3l3bJMd9SaXr60sEAVq7ycnnzDYA7y7Gzm54TbtrSo1l6xGDmaWwjEqd25pBRLQQWgNtRt8U4PKxLerrehVBiePs17ADyQI0d4IG5zFawpwFLOq/cR1LUfp/UB3NOSEoVAhsF1uLUv3yXsS+Lv7iYOJpPc8+VlEmUwSEFx6xb/rqvjuQwNcS8Ng87XWCxzjoWOT3r/yrffVrgnwmdqSqXDS/eoykoymtJS4pTeMgyg47etjUVB0qdydZUaSXk58NhjZGLd3XxvY4O+omPHMjt16aDjlFP9QDS6w/R2+ZI0P+zoADo7sXT4BK7O1uPyaxxwkigIZw6dqK7mg3ziEyQmYRJ2YG2ZVVND1Ur63K+uKi4IqA11W7zTwzY3Z8/Tn5jgAXV3k/Crq3m969ft7yWIcvky/z9zhqq9WwNVp/UdO8bvLSyo766t8fPB4J718N+XxB+JcJ+/9CUSeCpFbeCLX6Qkrari2dXXUyAVFys7vaxMVV8KCD5ZhZE+8EaahCaTxMmNDSUUW1pU+ntZGbWC+XnSgWTDvviiak6ztkb8EudvIqGa1cq5b22pStYjR7YT99QUTZkLF0hHtbWqke2tW0roujEGR5Av+f3c3FQK02Mp/Ox6M/ovJTG1GsbMDHB5PorFyRWqu+If8Dp0wioF9YKhpiZuoHDK+XlufFWV++LdHlaktHTp3Y0K7TRFBsjsKKwfhNv6Tp8mgqTT6tAbG8kMm5v3LAy6b23+SIRe8FBoe8hYHLzRKPFGiKypSYVtpShNjzJZTcbOTqbyDg5SIPj9lODRKAXI+jo/5/fz+zIB6NgxlYQE8P/KSgrQ6mpGKzY2+PlEgmt8+mmaE3V1xC2ZyfH442Rs3d3KOS4NZoqLST9TU6ocWEqOr1yhib61xfVJuNlTfo8Qit8P9PZiqbQaF2ePwyjyo6ZwBXerurAwDLS3RzBY1IPulUmqPjU1/BFHl4Qa7EIOhrHdDk+nafsXFnKzgsFMb7+1Pt5p3XoUIRBQyR8NDaw+tPOgHz3KhiWGoaoYFxYoTazg5FuQKTLSUTiZJPJUVjoX9shhRCLAH/4hryGNWMUfsUdh0H2V3msHFy6Q+UpDGoCEMTJCpvnaa6q7Un29YqTT09sbc9hda2GBRPzoo8pOHxxUfpmCAhKY9Prr6SExy4yN6mr+yHuRCL938WImPs7Okl76+9XIN2lc88ILwO//vsJ5a2Ztfz+fsaKCOCLdiSsqyDR2lc0bj6P/5RgG3lpA4FAYyw1RrJdHkEqRRhsagOfPxFWoym5T9Hx/ievLxJr6ej6sHiIRh8duJfTQEDltZaXyrs7P02FpZQDxOJElHleDVKV02roGJ6T7zW/IrXdaQ6GvZRcx/9/J9F47KCggouvTef1+ZebpoS6naj6BXHtCrq5uF0qAmrEhHbeHhxluFCd1R8d23Lt1i3Rw/TrP3OfjfQoKlN9Jmv5avfviWFxc5P+5lBxnxbNIBHcae7DyMWBhQ4UrS0ro9zh6FEqivfwyCUcfIbayYh+uaGggBysupre7ooJMQneW7ba91cWL3EQJv8jvixe3H4AQuheic0oSAewdetK2qa9P9Yk7dsw5hPeA0n33NfFLD8jFRZ7H2hr3t7VVEUouae1eE8/kmnbnIwJQZmwIsczOKt+VHQg+TU9zHeIb8Pv53qVLqgHOnTt89vV11X14eVm1APNacuy1vsHaPbykRDGo35rfkQhVqZMnMyViWVlmiy/9dWnIKdzM+j2919nYGB9MEo68SMPJSdWEQSAUynT46OCV6LJNkbFWnsXjdAym0+zpD5DhxeNUzdxGne0h7Gvij8VUL0mpnqyoUCaWgNczzUf5tz5jw1ZK3gerxBVzYn2dhLu2xmuIs290VPmX5ueBf/kXahOGwWefnGQ+iIQKFxaIVwJ2PiOvOQAyS1K6h9+7p5yYujlv3ggjWJxEU2dACXC9xZddOqXe/VbXGPReZ5ubjKsWFKgwoFuyj4AM/RSJDyjvqldwUo3cMhSBTFOmooIpqOm0CvEYhhrjJX3cCgt50Hamxh7AviZ+XWAIsu22OCyXgh07nHCTktXVxA2pHm1oIIFLQs8zz5DY33+f3nsxmYeGMud5rq0pM6KuTiWUSfPR9nYyCBkI5KTBZKtv0J9RUo1lvKBd+XSwK4qtK70Y6AOOni5DqDCpWnxJ7r94KGMxLvbNN1ULI+vQUZ+PF759m9+TzLtsyT4Cjz0G/Nf/yuvU1vL76+vA5z+f/YBlA9xUI7t7C1PQTZnr18m4ysvJOcvLiRjvvMP1SHLT6iqdVX199rX/eYZ9TfxOppdMrnLKg99JQw+nzD8rTjhJyWeeUT4vKdx5/XU6EuvqeK833qA0ra9XfifDIA7pTuelJTX4V6S7afJe4uvwUnLsVt9g94x2Pjhde9hCBJvdPSgajOFu/xxCZ7Ubi6Pk9m1KvGiUGyQdflpbKZX1dFjpdSZODUA1EvVShTU9zV5t165RuygvB/7dv/OeL7+b7r+6ZJIBpAA3ESChS5sovUW5TJZ5WIjfMIzPAfgLAD4A/800zT+3vB8C8P8BaLl/zf/TNM3/ka9FOhGjbnpJ05ixMeLFqVOqJ4O1hNatfsKLHZwNJ6wzNiT0KPM1Ll0iwxc8lnySe/e4rtOn6ZOS2ZfiABcIBonPdXXqtdVVXkdC6140GDcfh9MzWpvvjo8ziUlgMxSB2d2DsTngqH5/fUF1dbzgyAgvsrqaOUFVsuWEO+ltxr0k++iHVFurHBOTk1SrpBQ0W3un3XT/1Tlrc7Oa21dZydclz0HGeX0IkJX4DcPwAfg2gM8CmABw2TCM86Zp6qlP3wJw3TTN3zMMowbATcMwfmCa5vpuF+hF85LQaE0N/SkyFl2fXCXZkdb6iViM9RP/6l+pWHo2Zp8NJ+wIb3ycwkfOWxqRrK3x/fl54vT162Raeqh4akqFBcvK6BOYnFSzO8NhapXSiNQruPk4nHp19PZSi5GzGB/nc3iaNwCQO6+sUP2RoQgyPtn6ZeFOVVW0fSQBpqHBPfZtV5EI8Bp6//VXX1XhRjvkMgz7UJJb6addu6eKCraH3tzkmmR+XEeHmkSUTnNvpqcpuYaG9twR6EXyPwnglmmawwBgGMYPAXwJgE78JoCgYRgGgHIAcQA5joi1h2zEGImQwGVYzFtvKWEyPp5ZhQqomZA6E5C/NzeJU7okA7Yzezt1eWqK53bhgv1ZLS6qITT19fTzJBL8TjhMnAoEKJhqajKft76ez1NcTGE5NcVsxuvX+f1EQtXR2CW/uZkxThqCXQg1FqN2ofcm2NrimisqPJTmx+NU+YWA0mmWMR4+zIeUjDf5ss6dUinl0XVL9tErEgsKqGL196vKLOm/HgiQOAGl9lnLIe1CSYcP0yHndF9dSt1vq45Uivf9kz/Zbj+m02qsd1kZ11JTw/wEfYjDHjR38EL8jQD02MgEACu6/CWA8wDuAggC+APTNLfysUAvmpf+GdEQRaUGMoXJ1avUOoeHiR9AZv2EUwGYzuz1piKzs9Tm7txh628nUyEYVENoAgGaAxcuqCw9ielXVvKauiTVo2KA8g+1t6tkumSSZqLVt2HXmi4bHjmFUOfngSefVFWvUnY8O+sxg/CUEBQyAAAgAElEQVQ+Ua1cHcbk5CqSG1Wo8B1G7cgUyo4c4WZYv+wWV7UDsa+EQ4XD3LBYjOqUHvrb2CCz6e/n4QSDKg00FlODQqyhJGC7U8lOStXXuyf4SFHRyy+rCT9SClxZqew+T6WYuYMX4jdsXrOmBT4P4D0AnwLQAeBVwzB+ZZrmYsaFDOMbAL4BAC0tLZ4W6KXphtW86u8nMhoGfUbSPLa9XdVPLC9TfV5fJyJPT1OCLS3RL1Rf7yzJpHxXsvjSaV57ZoaMRTc15KxaWngfGULT1MSU3sJCnrlI17Gx7fUw1sIw65AY3UwGMoWQNAWxM4PsehLq1bXd3Zl4LyFLa3u61lZeNyteLiwgUVqPGyhDhTmOEBJIVtTjhnEEhz/1Va5fFr9TdVe3r06e5P83b3Kh1oq7hQUeelOT0kTu3aPabQ0lSeXi668Twazc1IvK6ARLS0oSyf961lYu18oBvBD/BAA9U6IJlPA6/BGAPzeZK3zLMIzbAB4FcEn/kGma3wHwHYDpvV4WaHVKSZRIGHg0mvmZigoSosyVbGlRQ2MHB2mvvvEGpZnPp5xWjz7K/S8szGy95iTJxDEnpkYo5GxqyDrjcUaohKnE43xdl/LV1ZSwTiPlvTBDXQgtL7ubQcB2jfXqVeLfiRPqvpIyPTCgSt5zbk8XDmPi3SQKq0NAcwhJAAWpFWCzmMwo6sHbmi0Uo9tXABNv5ue5YJ+Pqt3sLAlZbMRAQMVnxdaXXINAIHNcd0EBuenVq6o5hN+fGbJzOhgrDA1RggwPU+JsbvJePh9/67MJ96C4x0tV32UAUcMw2gzDKALwNVDF12EMwKcBwDCMOgCPABjOxwJFyt66BfzTPzH9ur6eTFYvptIrNmtq+P/nPsdKSznfQIDM/Q//EPi93+N+Ly6qGPrqKu/V0MCzdysA04vSdFND8vGtZ6WXft++zecJh4nHk5OqyEuvALSrPs1WpSe+rvffV4VF2dbmVl0roFfGSkFSURGZQ2GhR7yMRpGaWUGZycUXpFZgpFZgRKNkHtaFyN/irXWqptPHfYl9de0aN0GcEw0NPNxYjMQvU1EjEdU3IBAg95UhIrK5+rju8nIS+9QUbXVp1zU5ydecSi+t64zHVR74sWP8/O3bZACrq2RYVVU5lGLmDlklv2maacMw/hTABTDU913TNK8ZhvHN++//FYD/HcBfG4ZxFTQT/oNpmi7F3N4hHqfEPnJEJXg5qde62nnhguozIapreTnPt6dH9W/4/vd53aKi7F2knabq6qZGMLjdbyUg4cl4nOvXNZnVVV5HtAynULSbhz4epwP77l1eLxAgMykr47M7rc3qV2lupmCzq3wEiJ96rYTnorP7i08Ox1CemMNmMIy1ji4s+SMIl9ssBMhUU7J5f+NxEuH163xwses2N7kBw8OZ6prU3st9VlZoIkgZbmcnY65vvMFNOX2aCHXjRmaDE7F9KisV17aWXtr1XtPzwI8doyYxMUF19aWXyKT2YtLQffAU5zdN8ycAfmJ57a+0v+8C2JOsBL37rWhekm129qyzKRQOk7DEox8KkWCnpvi+9IL02kVaNDQ5r9LSzKm6knFXXm7vt7I+j9xPIkG5FH45eeivXCH+NDQQhzY2lG9DHJp2a7OaEm7j+IDsvTfdTPX27gh6N3uwbMc8Yllsmmzzznt7+dCRCAnvzh3WGxiGilM+9RS/FwxyU2ZmKB1OnFBdV+fneeAidZJJSuULF2i3SU+2QED1MDh+XLXbAoBXXuF1ZmaUQ0ef837jhiodLi0l4hw7Rp/D2bP21V95hoc+w09SS69dIxJL7Udfn7I79bJxgWiUCTx+v5r2PDJCc0HaY/X2qmpTwFmS6Rqa5O0vLvIe09PKaff009mZ827yRrLB9eukk7Iy5ZxbX+f6nYbFAN7mGOpgZT65DEBx01zmq6O4d74XiU2grLoMLdVJhHxZHB4SY5XR4+k0QynvvEOVbmGByR9DQyTC997jjPbmZhUOCod56AUFVAkrK1UlYjpNtVG45/y88hrX1CiVUaqyLlwgkr7+OpFNnEG9vUTYoiLV0mlqir+rqx2qpfYWHnriD4eZJl1aqrorp1I8q+Fhalu1tduRLRLh+S4vqz6Mjz6q8kkEfyQS4JYKa9XQxJckrcOtU3XdfFK5tgy3gtdS7/Jy/jQ0cL/cmNJuC5pyzYK101zicaB3MIJQtAeVszGkZ+dwbT6Moy92oVJ3eFi9v6J+CfHeu0eCqqzkYd+6RRu+pkYh0yOPKHXt2jVKXLHfxO6TSsRr13jwlZWK0Rw9SoJ+6im1jl//mvdYWaHaNTdHxJSahKUlIoxUPXZ2UoL4fKrJpF4t9QDgoSf+aJR2rDhSZfqxxMVPnFBl41Zka25WKr3ukZdSV2sLeicYGyPDkM68kp1qrdQDskvB3cyryHZtu2Y0d++qRiVuzGI3JeT50GaEgRQHIkg2cCHpFWBwFugR7dfKpaanSfgNDaq1kgxJkIyokhLVrtnnY7GPrq599av8rJUbSyWihN0Mg8jX1kYV//ZtZd/fvk0Cl3jorVtEzps3ed2SEqVuSpgqFKIPob9/e7XUA4KHnvjlvKWxa2Wl6nhbXOw8jgvIJDTrmHnAm8SVpDQx75aXiQ/V1WompQ5eMhJ3KmWzXVvi8oODFCoyz6C7O4ee/R7ByfkpkGtkyjMD0bmUdNQBlNe1rIxEXVjIsMfJk6pKMJUi8qTTSl0Tjio3FG4slYjSx1CGioqK39Ki1nHjBh9eVMLKSt4/maSan0iQAejz4wD7TjEPEB564gfIIMXkkmw3L/XqOqGVl28fM+82pEPUarHth4eZC7KwQMExNQX82Z9tJyIvSOxkM2dT5bNde35eZSiWlSnfV1lZ9o4+uYCsVwqkJiaoWX3608o/Jnvr1UzZkTmkf0k6rA4OkgjPnqVNODtL5NnaojR+991MJ5Fbbb7fz8+NjlJNP3XKW089acmUTivHlMw+cErgOBjXZQ/6+YyMULubn+c569N2xCSw67vgpczVTq3+xS94XfEzBAJMcTVN4pXE6/V6/lyQOBdnWbYS3PPnSQOtrcS3d94ho5PkHiA/zkXxgUgkpa2NAu7ttylgW1oyIwCBAGnm3XfpBBctxeqgzdkcsn7J7+fDy+ZVV3NTlpaIFFLTb3USWbmxHto5dEh5+ONx9XD64q32ls+negfMzqpGjisrlBx37vB7x47xd64jo/ME+6Z1t9jLgQAZsNRWvPmmSs4ZHHTO/xgaYpTltde499XV2/dVV6ulr0R/P+8hxWGlpVT3Fxbs75Vrq+xseS06uF1bCFIa48o6332Xa3v7bf68/rpqA7ZTWFhQBVKlpcoclgEqeihbwrTXrpEmpK7CmvOiJ0E5tdYHkDlYQQaD2H1JEkSiUapAq6skvMOHVb683SbroZ26On5XZvbpD6dDdzevu7nJzb11i8wiGqVP4sQJdc/xcZVQ8v77wPe+x2lBXpEgj7BviB/IJJRwmNl7585xH2dnnfdPmriurJCAV1b4/9BQ5vX1ATT9/VRnjxyhnX/jBpFYGoUII7LeyzMSW+6pg1PLe7dr6+3DAOWbuHWLTr9f/pIO6eFh4t/3vrf9+b1COKwGzAhY+wnozyYzPeTHaQiNPJ9jZqVdhp8QuPVLgiwyEKG2lqq/DGJw2mQ7Llpaqspr7SASoTRqbyezaGujNhAMEpEkpDg7S6ki7Znr6shkXnlFTYcR2KNBHTrsC7VfIJvN6/TetWvemrhKYtClSzwjSRU+epTm4tAQNT4p/HFaRy6e81zNBKdrW9uHDQ9TYNXWqjTme/fIKNvbuZfnzzPV2YtmaZ1CLG3tpW4gldreT0CeTW/EI+bvjsyPXGKKgiyJhAqjyfy//n5ugj5wVP+elyaMVrDWlvf3q6oxyZN+5x0ygMOHqUVIxlo8TrW0uzuzh6FbS6o8wL4i/myE4vReX5+3Jq7V1dQmZ2dJNGLTnzvH/xMJ4szWlvs6cvHd5GtUvbV9mCSQ9fQQb6Wib2WFOCWdg9ycf3rjXOm8JYVsDQ10Lq6tcd8kkqabN/JsTg7znOtUcmk6KCGIuTkS2sSEqnIyDH7u6ae330PnoisrysNbVMQH9bq+UAj41a9U3cDt22qmnGGopKOrV/n+xARtp4UFtUGmyUPcIz/AvlL73Wxeu/cmJ0mws7P0xywvq2vZNXGdnaWJJpV1jY38zOwsf8bHqS1UVPDaduvwUnuiQzYzQTdxvVynpoZr7uhgDorkJCwtqTZygL2aroP+HDK5a3iYGkQgwGft6eFYPil7t+KlrElShTc3GSIXh3nOiWzC/XWwNh2Uja+tpaQdGOBhLi+TIQgBNjfbE5EgUiLBw756lYfc06PacGdbn5T/ytiymRn+nD3LzZN6g4sXuZ72djoqZ2ZUh5fKSuUn2CM/wL6S/Nli5Pp7BQXK+frMM8CPfkQGcPIk931+fnsTV+kwJaWwDQ08k3ffJd489hidjYWFNA+kSYu+DqcpzF56PlohVyewfh2JaqVSpINr17gvjz6q0tHd2n55KQvWG4y4nZkUUYlQ3twkA7h8OUdtNpemgw0N/PzLL/PidXV8+IICcj07lV/AMPjQLS1qyq/Y524HKesbHVWTdmWTKyv54M88Q41ANJPWVq6ps1Nl+zU0kCk4DQDJE+wr4gfcCUVvn3bjhiLO5mZmTb71FkfIP/kkCV+394eGOG1pbY3EUlVFZiCNYJ56KlNTsGvSYtc6zql+3otZsJPmsQKnT6uOPOk0Hc6S7yD45ZZGnkt3JDuwe0YJt1onKHnWZm24/3xjFwZjERS8toCSxqrMPJq1Naoa4TBtb8mfd1L5h4aA736X9lAyqaq2UilyvePH1UHazVzr6FAagiBBRwe/u7ZG9aurC/jCF1ifXlCgcvulHHh1ldeScJN1lkEea/r3xay+XFppy6yEmzdV19tUinteUcGzs8vF/973eD6zs6oaU7L4mpvpo7GOZtOvJT6bX/5Sdb5pbWVrL79fMQo75HcaS+c2O7CxUY0KkwpF6/ftBoN47QmpzwPUe1kEg9RS3UbpuT1jLLa9inIn4+ys96kZ7sXa0hpWzAC6uu4zgF/+kg8tKb96Xfe//teZF5OQ0O3b5IrikX/uOR5+IqEKcmTaqtMMQOswRbvhiVeukLGMjJCBBIP8jjgcJQ3ZbhhkFi75OzOrL9dW2v39PBNp2xYO81zGxsigpXekjvgS3ZHBnffu8Tuzs/zMnTv8Wx8lZ2XCv/gFQ2nhMBnD+jrDuEVFPG9x4OUiza0OzkSCOOPzcU3S36C01H6AjZ2W5LVK1K47kpeS5WzPmM+qRv0+ay1RlPX3AgYwNlaGE+1JNSlF+p0BitNY4eJFHtbGBpGhpYWM4PXX2S21tFSZGC+/7B4+sks+OnxY9eWT0dsDA7TzCwpUYVJnp0oQOnFCNWmUWQYfJW9/rq20l5Z45svLVME7O3n+16+TQH7v95QTzi5GLtVwS0tk1qIeX75MLewzn1Fj4nWP/G9+o6I95eWMrd+7x6Sis2fV53JBfisOSelxcTF/ch1g4wROGsLUFKMdhkHi1+cbuIHbM0o4dW5O9cysqnI3wZ3WnGliRYCuHhSPxbB8Zw44GlY9227cyByXbBdKmZwkwdXVkdB8PqpuQ0P8/le/qgZrZpsBaOeckhFcIs1qa8kMXn6ZiHfiBEOJ16/zgRYXnZs05gkeem+/lyQYqxP4xg0iWGUlz/GNN2junTypvNW641QQXhxhpqneW18noXV38/fPfsazskrZVIqCQ2Bri5pEVRW/J556N4e1FayRgLU14h/A5xEHdm8vtdSxsdz2FtjuJJ+ZoUYrnv36ehJmbW12Z7eA2zNWV9MJLyPFFxf5f7Yomt2ahQlKd+44Iphp78HWZ55XzRaiUcXNJCPQjogaGvjwoRBTFX0+Lrqzkx7Lz35WfU9mAOpgDR85ZSxZM9W6u+lLKC/nvYNBXkufsroH/fuAfSD5vSTB6BISUK272ttJJDIT4e5dJT2lQ7N83zpia2VF4Ynkejz+uEqUseLP8eOq9Fuk+Ooqr6lrK7nG9XXVXcLTIyN8nnRapapPTW3vUrSTSsG5OTLNgQGVzpyrdpHNKf/EE7yeMIC2Nu57rlO0OjtVG/GSEp5ta6t0BdIeTIhyZcX5RufO0SMsElZ68507t13KnztHDglk2vx2MwCtapV1xJG1Z1pVFaMF1dV8fXZW1fnnGR56ye8lV16XkDL+qrVVNVZtbOQZ3L1LKba+TttZHGnWGPknPsEJPj5f9hRWgc9/XjGquTnV6/HjH+f7urYiRS6/+Y29FmEX29d76Tc28lnGxni/wkIyBJl7kS23QAerZiXZeHr6bjpNPHz/fara2a6bLQ25vp4E+tRT/F1fn1smq6xZCvlkqvHamraXueRNA2QI3/ymmp5bUkIiFweR9bMvvaRy9QMB5ezTwU6t+vWvgR//WKX9Ss+0SESllH7hC+TkUhQUjXpXu3KAh17ye61/1yXkr36lJiGZJv02iQQZqgy8TCYZETDNzFAUwD3u6+N+373L99bWVOhva2t727CODuDf/3v6fJJJnulTTymhoWdrBgLAxz6mJKIOTg5Ovz9zhoQMejVNrs2uS5FM2LGLSIlAku5X4swUrVNvV3bpkspEranxFpqTQiwReqL17LaTEbC9klcyF4uLlVl9904YK1eTKKsJoOV+pCzrjU6fVupNtpCIlx57uvaRSNCWqq+n+midSKw78155RRVBGIZyGn4IQzs+dMglV15698ko9EuXKM2iUUqIoSGeb3GxYsh6BAFQxPfCC8DPf04JHQwqbWJ+Hvj2t7eXplZWUv2XMlrriGwZyeXmvHRycL77LhmGPo58bY1aDGDfpejqVTX8RVrW/eAHFCzT07x2Vxe1oL4+4r5onUePUpu4dInab2srn0OS07LhoRMTy9Yz0Sl8bj1jJ7NC7huqjaJ6qRfJRaD/ahm6Oiz9AK2L3Ytaet3zKdVNlZVq9LKdF18eQNpTr65SSzh+XNmpeYJ9QfxO4HRmL77IopXRUSJOYyMR9tgxMtnxcUqwiortTS4ARXyBAPCVr1D9TiZVFKCigkQm8/2sTOPwYUrlWIznJSXgMnFaB7fRY/pngEyJ2dxMR6b4M0yTtv+TT6rP3rpFBmiNSP3jP9IPJdfq7iZB9vczMiFdo2/fVpWtoRB/+3x8T58abAdWJpZO8zwGB3kOdkNRJNRuZVYvvaQmfMtZd3aqNcqZxGLKoVsciCBZ1oPi8Rh8M3MYnw4j9GUblXEva+l1FUXsqdVVZffYefFjMTVPUG8YGYvR6ZRH2LfE73ZmHR2sVpOe/BIP9/ko8Scn+R3dj+NWHSjOtelp5QA0TaViW5kGYN+S24vK6xQKO3o0s8V8Mkk8qq1VdSGrq5l+EV1LEAiFKOl1JhQKkQHMzam1dnSoxrcbG3zm5WXe5+5dRqYkGcpOWOpMTJKESkpUUpueJCRn+cMf8v3aWjW3EKCJLCXUVVXcnzff5H0XFrZPzpLu3JuhCJKhnt/SWJcdLe8mjTIb6EMd791jGE98CYC9GSIPdO0a/xfbbnb2wQ/teJjAbp6c05lFIpk9+SUCMD3N71nHttlVB46PU7qOjFDqiwovzVqspak605DaDmnaYh0r5uTpl8pCPXlsYIDEPzFBHJDZfh//uHJkJxKZ0rurSxU2CRHJ5xobvdnd1gI3mQXg8/Es3nuPpoI1b0K+K0zs6lWaXBLalvteucI9lfHqiYSaYHzkiIp+vfkmfTW66SyFRrW1mXMIq6uJA2fOuD/bb2Eve6lHImqoY2EhEae2lgjl89nnHITD3NCuLiJgIsGH3YOuPg+9t1/A6jiNx1VTTwGrM1ePFEhI6fhx4I//WA1rcaoOnJwk4W9uksBKSmjrp1IkaqkZEMTSY9si6ZaWSGhOY8XsGn1IZaHEwAvun9Dly6q3gN/P9YlGCCjp/eij6prnznHN8/N0UsrfX/mKt25D0Sj3qb2dhC+NQCRLUkKCt29TUL38snJI6/F8w6Cv4MYNRYQyQ2N4WJkTiQQJ984dMgZpu15aqjQVMZ3DYeUA1kvmo1Ga0m7jzPRISqIgh8SLnYBI7NZWPmgyqcqE7QhaENDvJ7KePMnvSoJHHmHfEL+13ZU+T06IzdqiyinkJPUXdkQo35meJuJWVlLFlQ7Rd++SqK2lqU6j3Vpa7Dv9OHWrkVBYczOl++3bvOfGBglAxnmL000HK846RaROn/bWbUjWWlTE/ZB8F7+fzCCRINHLjEohrHg8k4nJrIpHH1XMWSIRkqsgE7WmpsgIlpaoWdy5Qw1H6HNpSbUll4iEPoewsND52ezKrS/PR7E4mUPfNa8gN/vRj+g1npigxFhcVNVnbqWZXltB7QL2jdrvNE9uZER1lykszN6bUcAtghCJUGJ//OPK3gVINOKMSqeJrHYlxTIlSqaQ9/fzzGX+o9s5irosYeCRERXuXV5WIb7KSiXh3JKFnCJSTqE4OwYQCrEITvpSVlZyLVev0icgiUA1NYrJLSyofaupIfMwTe7DygrX/vTTar6FMJFIhHu7vq60mU9+0r4F+xNPkNFaZyQ60YqteV8fweBqD7qLY2rG3o7qjaHs0uvXmRQhhSFbW1zo4cMqnv/++9vjxfqmP4B23vuG+K3OMsmNeOstEqhe+Wg3wCNXKCjgGUl33pYWImVFhbcxVmtrar6gNNPc2spkTHbRChlSMjGhaubjcV7r+nV681dX+fn2diUgcp2yk4uT2+qDqq3lPaem+PlUigyqooI4vbXFDMqhITKKQ4e4zliMTFGEWWEhz+utt2iOlJeTwZSXc8KytMD7xS+o/Swvq3F6p05RQ5Lwt1PBkb7HN25sZ45lZcBcKuKt3tgtJCgdf5eWeFChEDmdzDaPRFQVVmGhCk9kq0/fwzbe+4b4nebJPf749nLbXP01doUt8/NURTs76ajt66PP4Otfz34O1p4OAAm2pSUz3DU/TwS2El9BAb83Okoc8vv52Xff5Ro2NvjM1vbXds+Sj14BVh/U2hrNUL9fOUABqvamSeIfGCDDEmdjIMDvnDqVSWdTU5yelUrxGR99VA0alTOWCsZAQHW40sexy4xEu3McHFQMrriYvoTubofqTLdNkUO145aA6vi7tUXEEUklHE6cLocOkTNKqCLboiW0Ia2R88gI9g3xO2X6xWK7n31nPdPz57nHMgGnsJDE1t7uLf9c1qr3dKipoeYn4a6hIQoGmf+n41kgQAFx9CgRNpmk8JiY4DVeeMGZ8HOR5l7b4RUUKEZ1/LgyMb78ZT7j6Ki61uoqz2V5mc8qA2uCQTV8xbpHfj+98/okpMuXqcnJNaw1BnaNVJzOUVqHT07ydyzGhKltRX5um+LGGAA1zFGyqmS8U0kJ1ZJkkpsnQyCKi5lieukSkUPSSGXR1tCGnredJx+AJ+I3DONzAP4CgA/AfzNN889tPvMsgP8MoBDArGma53a9OgvYmUK7bYBpd6YyiUbmAAIqHyOXteqhRlH/ATKDpSVV52EdqHHsGDsO1dfzvj4f8ePUKa5tYECF/3QmkIs0NwxqM4mEal0mnX3tCEkGz4gjNBhUPQ6sjWsk5DY7q2LuAO9TXu68R3o41u8nsxgYUJqFdBKy0+ycznFkhEJ3a4v3r6+nJjE2RoaWMRfTLRFDxkVLGCcYzKwOE++j3FjstePHyQzef185psrL1YLr6ngY164RaQX5GhpUaEMePJ85CPBA/IZh+AB8G8BnAUwAuGwYxnnTNK9rnwkD+H8AfM40zTHDMGp3vTKP4DX33wnsmL0gLqDi7Ddu8OwLClRZdzbQGdPiIpn96ur2zk4CgmfyvXicji+/nwQ1N0cEfuwxfv6997h+KRX3GrKWIqF79/icMoQklSKeXrlCHJTsOUk0Aoh/Mnw2mSThHz1K/NRpRkynbA5Ja9OQtjZe/+RJ0om0ECstVY49p9wYu3N85x0y8Tt3uMaSEpWqva2a0E2S9PVxYyQBY3WV/586xf8lISIU4qbJvDRJCPmP/5EqiCSpPPEEOZNMPQGIFDry6VmB1umyeQAvkv9JALdM0xwGAMMwfgjgSwCua5/5twD+0TTNMQAwTXM6L6vzCLtxjtoxe0HcyUlK4LExqp4tLbS74/HM8u5s64rFKHkkTHX5Ms93cpJa4NGjauSYMK6vf11NjJIy4du3iZ8S8zYMpZ739HgvmonFVFfi1VUVZpMW3L/+tfJ5Ce4NDXF9H//4ds1COvwCmTTT3Mz9AqjNOIUTOzu35/NXVpIOq6p479VV7mFDw3YmEo+Tnqwt76qruTaJ4BUVkZm2tyv6zKAjN0miO5V0MIztNeGJBAn97Fk+uNVOv3CBHH16mveqrFRxzooKXmtycufTZT2CF+JvBKB3uJ8AYCW1TgCFhmG8DiAI4C9M0/wb64UMw/gGgG8AQIvEwT5kcHIkvviiQshIhIRfXq4cU141L8Enafsm05/SaZ5/eTm93T09mcQhKcpidycSfG9+np7vsjJqjCJMnJ7FTtqKlDRN4qbkJIhKPTNDQSNmSmmpytQLBrc3J5UuvtbOybW19JXYVS8KyFStI0co7UWbkP2IxVR1YTCozGNrHUxtLQnaWiz33HOqVF5oyOdT+7ONjpwkydYWVT5JcNCdGDrTKCykU88w+B07MAxqDZGIqgG/coWb2tysYrDhMK+fbbrsDsEL8duxPGvXTz+A0wA+DaAUwFuGYbxtmuZgxpdM8zsAvgOwgWfuy905OHnB5dx+8QtW76VSNNM6OymVV1bUnAdANYDNdZKSJL1cuqS84G1t6reUo+pgbeRx/jwJMRikBBsYoPoqCOzVBBINQVep5+a4R6+/zj0QLaWkRGkdEk6TzjldXSrbT1+rdNnx4nvI5qeQHyfQvy+jwX1UIrAAACAASURBVPRiOVmPhB43NqgN2GkQriAhj+Zm1Qz0vfdUhZMg1fy8CvltbHCD3nwzsweaIJOEL95+W7XqFkeTxESFEezEps0CXoh/AoDeyqQJwF2bz8yaprkCYMUwjDcAPAZgEA8BZPOCz88zNNvervLpf/ADSsXCwszJTaurfC1XzUsy92preZ5WaZvNjDMMag/xuGoXtr7O9dg1NnED0RBEpRbibmvjs0WjxN31deJ7PM73dGaxrXOO5Vm9psvvNrXeOiTHruWdFw0iK0gCxuioKnq4do0qod/PjXrtNRW+kLxm0yQR67PRdC1ibU1NPNna2u793cOEHy/EfxlA1DCMNgB3AHwNtPF1+GcAf2kYhh9AEWgW/F/5XOhuIJt0uXjRvhnr5CRV65ERniFAZGttzT370yptNzeJRyIc2tvdv7+1xQ5DN26QUAESXV1d7oJA1xBSKQowmU4klY59fVSPu7upDRQW0jchPfdmZsgA7HwfuTTs2G1zDy/fl+f1SkP2WmJEzfqTGfEnT/LGExOqmcC9e4rAZVrqwgKZhO6ckcQJgEghPc12sgk7hKzEb5pm2jCMPwVwAQz1fdc0zWuGYXzz/vt/ZZrmgGEYPwPwAYAtMBzYn69F7jbhKZt0cWvG+tJLJISBAb7++OP23v54nGbb9ftuUGsYTpe2uhNRRr/LAFcx+ewIam2NPqSzZ1UV3927ampwLnuiE0RFxfb5AKdPU7UX4VN7P34jU6iamojfg4OkCf3euYRfdxuqzdesQwFXLdE0eaiGQUeNSGmpLtvY4KHKAI7iYuXAk/7xPT3bFy0dVNraMru/5Mm2d4KHfmhHLkMunMA6QwHIHBTx3e/yf730dX6en//jP85+/Xg8UyMEyHAOH1ZhOPlcLMY6D3HgSYOQQMB9IIbdYJJkUoWXxUnptQlmLvsj9x4dVc48GYSiDySx7olXhr1b5p6PbFi5xttvZ7Y18yXi2BqMoXRtAUeD9+vIGxrUFF6ABC/dWlZWKC2k0cHKCrnkiRP8riCU20QVaeSxtbWjB/qdGdqRj14L2aRDLs1YddAR5u5d4oRTGA5Q0lbyRSYm6JmWDNDlZefn00Nily4R38JhImoolPvI7Vz2xy5jUZJ5nJKfcjFV3T7rhbB3axbrjFWav/T3A6da4qgf68VWSQDzBVVA7QZtnieeoOpz5QovcPo0N0xMg+lpqo2zszyo48fpKNHVertFS3PFHc8zyw0eeuK3qux2TTJyibfbOU2l9PXiRZ5ZQ8P2WX5WsCLM6qpq+iqVdxIVsCLw8rIqejEMfv/GDeVHcErMkZDYygqfXzrtZBu5nY2A9P0ZGVFOMb3Sz5qNJ7CXpqloVPPz1HakS7GXHAuv17dK+4oKCvTSUmDxnRjqmgNIIoDyChAxnniCxN3YSBvQNFWJ52c+wwtLymQ6zd9SwOFlMsledhaywENP/LpDR58ZpzfJ8MIUs0kHvfRVkEIq+uwYjH5GFRUk2HSa5t6RIyoqoHfsFRtSL3oJBFQpudjcTok5+v1kvPu9e8Q7p7biVhtWb4FlmipmLxWF8XhmBp++v/m2r7PBlSs0NWSfVlf5/5UrZAC7ASdp39KiajDSMwtYaapCalUTBPX1PFjrwEcdvvxle1tV9xI7ceS97CxkgYee+HWEu36dhy81EsJYd8IUrVN9xcQyDEqahoZMYtHzL6xn1NxMtf/uXUoNadYi1YZWRi7xcylYWVykr0fyz90Sc+R+H3yguve6jdy26x69tsbvS6ZbSQn3I1t34d2mUns9D6GF69dVpx5A9RH8yU92bA7b7otI+60tavWBADWrQoQR3UqioyugWr4lk+QUvb3eVCm7jXLzKuajt7lHeOiJX/axr4+2bmMjJavUWOyko7GUXm9uEvFnZ8lcZYb84iI1tMVFVVS1vJypaVh7x/f0MJVVGracOkXHsF3HXr3opatLee7X1pyHYFrv94lPUCWWWhGnkdt23aPjcUp9KT6TSjlpD66DVejkO+wcj3OY7iuvkBk+8giZZjxOJqi3KlteZphTBttkM4fdzB0rM+3tJfOWxqErK8BESRSPzfUCSQAV9yX45CQ5enGx+yLcNspL6TCw5+rVQ0/8APfR2k1GINeOxvG4Kr2urqYKvrxM5JiYoDYh1XaAc1GV3SDWY8eAP/qjTBxwqx2Qohe/n7kDbuaL9X6RCOdQVlbad9C1G8ohdSJCDEBmpRzwwITOb9f46qscshIMcp2Dg1yndAf+4AOVRbiwoIbXWsug7fwcTnMDZme3DyuRNvprazz7I0eAsrII3l/qwWoshq7UHCpawtxwvYopm01ux4HcVPu9VK8ssC+IH8hfR+NYTBXLGIbKB+/rozknY9Sk2s6pqErO6MoVVbxy9Oj2+7nVDszOej9fO5xwcnzpiK8P5ZAGpwUFiqD1Sjm79uB7adPHYmSCfr+aoWAYPI+REVXfv7bGzw0Ps6JR32cnc9hOuC4ukvGfPr19WEkqpRqUiDlmmkBiPYL0yR4MSDjzwoXswxcEnDiQDAF14rJ7mNWnw74gfqnaisdJ9Ovran5dKOTcf84O9HHcm5tEKoB/FxUR4dbWyAjEY+9WVDU/TwkiFZ16iS3gzshzjcl7xQkr4stQjnicSP3kk3QUzs9T6ykqorTr6VGScY+FDgDu1cYG7yPTkOUMbt5UNRaSSi+9CwFVVu/32++jXZSot5dMRXI4xFHa368SmUZGMrsvWduz52STO6n3MzOUYiKFrF1FDtp4EfSqrakp2mXinGpqIsLm4vXXe9FPTvK6o6Pce2nMubmphlbMzzsXVfX1EVl0b/TICF9/7jl1zwfEyH8LVsTXh3KcOUO88vn4/IuLqr1WYaGqqLP6pvYiWSccVnUSErqVNmDr6/y+5OsDlPivvcb9DYfJKOSMrL0w7aJEd+6oPhvSCkwGuX7qU2omYiqlEpmkbdhvaTsXm9xOvd/YoK156hS57OxsZleRvZwgZIGHnviFeabTatpLKqWm72Sz/aygl16PjhIZZBrzq6/ymh0dKoVXEFpKVX0+1di1r49MW/dGmybPVif+Bw1uwklP67XL7APUPuaChzvB2WiUzHJ0lPkKo6N0xkoJ9Xvv8TyCQTJmcWxKXX4wSKZmN8NSp1FppZ5KcW0VFXzuyUni1cgIr9/ZyfOVISJ6e/bf0nYuNrndQUjP8oYG+9HhB3F+BcI8r13j76Ym1QdOWqZJXbmXUKh+dtKRV+rl6+qIFAsLZARiUzs1dh0dzRwo8bCAVThNTfF5m5rU+15Cyrng4U5wNhLhHl+5QoaaSgHPPkvG/P77PPMTJ3gmfX30xxw6tL1hq12WoX7O0kq9s1O1wkun6fRrbeU119aU1tPdrTQYa3v2jItnAzstQXqW66Bv+kGcX4EwT/FUA5QApqk81UBuXmlJWFlcBP7+73nt+nrlcDpyZHvDDjvk7uykpCovJzKNjTH5q6ODzGNhQQ2RdCrYcYLdmH3WjL3xcX6/tJTOyVdf5fuG4W6+PojSXGEAIo0DAarojY1cRzyuOl1XVvJ3Msn9Fl+Ak92v0+jamsrhmJxUmbkbG1yjRBX8fq4nL0LWTkuQnuU66Jt+EOdXIMxTt8XE876wkDmswatXWpfiEt8eHSXRd3TwdWvDDjvkPnWKZ7q4yPMtK6MUWV9nYpD0oNMTabyYbvkw+3TEr63NnCFQW5uZXlxfb2++PsjSXH1/hdGXlPDcn3qK7wtTePddajPl5Vy3NEJxmoGhV1TeuaNCm4cO8f/6eqr7krvjtUejJ7BqCXK4gP2mH8T5Fcje+f3ck+pqeqtTKRKcdViDF4mpS/GGBtVyrbRUteqyNuywQ+7CQqqpExNkHDU1yns+PKx69euJNBKZcFtjPs0+3WwqLc2cMNzQoBKL7MxXNzx0ajdv91kd5Hvj46qGoKWFhCf7Kz0PAP6dSFBSi/S/d4/XKShQoctgMDPt17o+iWIA96v1fDwr0Yju3SNjkUGfss95d7xn8xkcxPkzQVRDycBbWFDDGgC+dvmyUusCAR701avbOygB27O7JicpAfTUXGvDDidC6OkhMZ08qcq8S0qUXwLITKQZGSFCuUl1NxXarm9AR4eqBrUiqJ3ZpIewpP+e077b5TLMz5PQpcv01askpmee4XM74awIvc1NNYhDhthIe/CGhu0Fc8JUJOxXXq4YbGUlmdf4OJ9F5llaNSex52VvFxeBv/s7nk1hodIajh9XGt+ONLB8lCEexPm3g5MGJYfT10d1sLiYHLyuzr7U1Zoq++STmam5dg073Biyfj2RWn5tZ/VEmsVF99Hi1vUJSEq5tW/Am2+y/+DHP545o95ajJM1hOUC6TT3RJje+fN8noEBEnI4TCJ64w33kmLRaG7f5rWsgzhWV1U059QprjWdpnZy+jTP6vp1En5/P5lFKESmPTxMRh6LqX2122PZW4BM5NYt3qepSfUnkNkCXjQwndZrl4bQefM8AsX34/cbG95tvQ8B9hXxW5mqpNzKoQiirK+rzjx2pa5eU3Ot4MSQ9euJ1BKJIuOxpWGkSFwdrI4xJy3D5+P1KitVeHF9XTmtGhqci3GyhrAcwClTrrdXdfBdX1ez+txME5G6uhaia0VOWoh0MQK4fxsb/Kyc1cYGryPzBwBnzenMGcVAxcsvA0Il+1L2xMtUIxE+tf44gr88j5FNP1oeq0ZwY5Ucqb19T8J0+YB9M6Lbbrxyby8PXkCkq/6aXamrEEQuU5Dl/jLXPR63v146Tan19NNq6lJjo+rR2NKiJI+AnQT2+aiN/OY3fFYxLwTRBTY2lPosIGm8+vqeew741rcowdNp75OfFxa2M6t0mvZyMKhqXAyDa3HramztYwi4D+IQ0MefNzWpMWfl5WQcppk5wFSX7gJ6noNEDQoLaUqcOKHGkOt74nYdIJMxlkzEUOzfREFVGFPThnKwiD32EMK+kfx2Eqimhq+fOcPXmptZ+Sfz3cfGuO9HjpAAge3aw5kz2QlArwJ00ubstAL9XgLZnLm6NPnYxzJ73ktGnN5NuLCQzEEiIAC/I30ErKankwAaGto+OKOjw9nRKVEMaSNumtm7Glu7BrsN4tBBN7nEJFhYYLZnOKzyNaTFPeC+x3orPgFrx18vZ6VrBr6lBaTD1ShJr2Jp5f7hlJRQ7bQr+ngIYN8Qv50KFo3SwaZXx50+TcTq6yNz6Owksc7PUx1/4w17IgbsvdDV1ZlVgKsetTk3Z5GbMzdbtadkxEnrxaIiEpAM4Ugm6feQPAgvjqqhIbYxq6wkA5XW5S+9lEkAGxtcx8QEE2303HwZsOlWZKUTca5ttHXGdeaMchxKhqwUS8k13PbYjqFNTVHyX7iwnVl6uc5mMAwjzbzxsnIA5v3CELs664cEHvoGngJOTSbX1qjC6RKur48Emk6r1NBkknnhIs1WVylFZMa95PQPDVGN3tpS2ZZLS3RIiaSQUGBDg3NDl95eJnPNzWXOuxP13wkuXNjeSVdGvDc3U5uZmlJNP8XbPzSkOgwXFHC9kj0qe2XXaBPI3sBUIgwSaq2r475IA9G5OX7+scfsp1PtBpz6XFqZdK4JVHq25tSUas0nTlOJ5ADOznv9OuZcHMs/70ViYRNd9bNoD86ivGIXXVV3Ab8zDTwF3EJt1kO3U+vGxlTdvmEotVlGqz3+uL0XenOT0k1Xtb1oc2NjaqyWPu/OLbQGOEul8XFGCdraSHyTk6qWf2iIxCce+ddf52tyb9kzp2w7t9blAPe3ooKhPFlXKKQqBSsqqHEJ4bz6qnOfgVzAam7Nz5M5PvFE5hiwnbYtF4k+Pc1rCrOUZ7xyRXWL8vszsyMlGiSh0N5rETS29eB4cQzGaiE+8B3F0RejqOx4+Lz8AvvG4efFSSec+MYNNX5aQKYei6MJUF18VlaoKfT2UqWVsepSTy6FWH19DA3duZNdm1taogSWIaylpdsdc3agO7dkwKSo/IGACn+NjnLNVVX8PTrK1w2D2kVBgSJewN2hJolOOkgSkIDV8SeVgoEACaGhwX5t4pjVHaReYGgI+C//hc++vMz7S9fiubnM9mgS3ssFBJ+ef57+oPr6zPfLyhhWlKKya9d45pIdKc+kM8aTz0bge6oH6598HunTPRicfXgJH9hHkh9wd1g5NbA4fZoqus/HENf0/fnBUqsvU1yXlniwKysk8KYmSi9Bto4OSu3paTKDb37TXdoYBglAes1JKq3evdntGXU7s6kpEznHx1UNvBCcdB8KhSjFr15VAyqzZYh6aV0uGok1p355OZMpWNcmUrSvL7OLULbS4PPnVV+FjQ0y3GRSzREU0JOfdpqJ55RXIde3y44UpqMnDumwR7U4eYV9RfxOMDREu3V6WnVXlgYW/f20Q5ubKb3LyigVEwkiV0EBkev2beU029hQuf6xGGu919eJdO3t/JyewWeFeJwIUVdHTWNhgUTS3b1dvbYDOyanI+fSEpmSePiDQT6L3n2oo4P74SVD1Evr8miUPpORkcxaetOkWSJDMnt71ZxJgY0Nvn7unDcHpHRbCgZ5v81NMu90mgxNH22mRzb0jEO7zE4ncDIpjx7dnh0pjOb998nYo9EHWouTV9j3xC+e6vl5NVX3Zz8DPvc5Etvt20Sa2lpK31iMCHL0KJFlbIzfi8f5dzDIQ93aovqcSmU6+wDnQRUCoqaL6iuNQaam3Ds+O4FdUtLCAp8PIEPp66NWIZLe52MHaa/ST29dbgcSHx8fV+m2hw/z3m+9RWYq+fLJJNeSSJBo3nuPr3/wgXLAbm4CL7+sqveszTVFM0ul+MymSd8EkBnZWFnhfmxucr9LS50zO92ezc6rD2RmRyaTNCkffZRm59aW6gvopa7hYYN9T/w//rEqnU2lqCYGg/TeRiJ8va5OceUzZ5Rqf+QIv7O2Rts+EFDz83TPeK5cXSbyijRMJFT57OXL1DZkXrybiqqrsj4f13nvnpoTOTjI7xYWkhArK/e2FiSRICE88giJUzoXDQ2RiAsKVJ8Aw1D97197jR750lIy4rv3ZzwXFrImwqoJSEafjCNfXOTzhsNskVZTk/mcly+ToYtqDthndrqBk0mpZ0cuL/PZA4HMcWWzsw+sFievsK+JPx6nxGtq4s/ICCV9ayulxMqKGqihQ1kZ3z95klKov5+fnZ9XvQJffJGfzbXCUvoNXr1KJNWn3lZVEVn0ohWnFmR2eQLSNfrUKfov3nsP+J//k8975kyeS1FtYHFROTEB/p6ZodSVXHxA9QC8dYsE095OgkinuTfimHzsMftOTDIN+/BhMhwxAZ55hve0Emk4zP2uq1Ov2WV27sQvINmR3d3A97/P5y8q2j6u7EG3assH7Dvi1w/wzh3Vk6+igsgiXWuOHlXc2E5yNzTwdyhEqfTGG2rwRTSaOX3WK1fX+w1KV+CrV5V/QKrSJJ4uk52B7RLKLtlHmo12dJAoCgv5fWl7vUet3n4LktWXSinJn0ySyemhUPGJSIl1IEDtQAhFzKFnnuFzSMxebGjZ86EhPmNbG5moDAW1QjRKG1+IWnI49CEmu+2REImocWXpNP1Ht2/z/85Ob5miDxt4In7DMD4H4C/AEd3/zTTNP3f43BkAbwP4A9M0/z5vq7wP1gO8ejUzHl1eztc3N5mcole1AZmS+9w5EvjiIiWxIG93t0o3tRbHWNdhlSA6wYrKPzNDJvXFL6qqNOtkZzvPsFPvRwEZwGGdKSB173vR+FVU97k53jMYVOFOGZxSoiW2BYPKodrQQFNMuiQfOqSSkiQ7UGxoiaNLjD2bxhWJUFM7f56qvrTI08Ox+eiREI0C//RP9HHMzKhmIjJ/oLvbubT6YYSsxG8Yhg/AtwF8FsAEgMuGYZw3TfO6zef+DwAX9mKhQGYzz2vXKOW3tijxt7Z48MEg8KUvKedVNsl9/jyvc+gQJfLoKK9hmkzqsB6kmwTRCVa6zpomi3Okc5O1UQVg70NwyqkXEA+0PlNAvOrPPKOSUl55RfWl2yki6g04JBpgmmrIRUMDtZ3ZWZ6BPpdgZoaSfnaW5yQVdM3NjEZI+bU0PhkdJVM+eza3NuIdHXTueZnQI7CTcNzkJM+ltJRMTKYkT0zQl3H69A67Lz2gdt06eJH8TwK4ZZrmMAAYhvFDAF8CcN3yuT8D8A8AzuR1hRrIaGuJu3Z0UJrEYiyCOXmSBPzJT2Z+z0lyv/02r/PYYzxEyewbGFD+AutBukkQp5DPsWOqOMdusrOdRLPTWCRXYGWFUsc6U0AawwpzFM/38DAl7k5MAp3ZHT5MBvOLX9DB19rK+62skBAaGmhuCd5WVmZ2Sk6nyRief54MS5y1RUU0HcRBWFCQ2VDTumanIiQ3u9sw6HfRU75lEpDdM9vRYSzG9TU2qopGGSiyvJxZUp2TZvEA23Xr4CXDrxGAliuGifuv/RYMw2gE8PsA/ip/S9sO4TA3U7y6Mt46GKSE4Vrcr6GXBst01qUlSphUikzg5k1+trNzeyaZXYmrlNDaZeetrJDI9ZLfxx+ng8yttNYuo/Gzn6W3u7hYNQ1tb1czBWZmuAYxCeRHH2iaK+jMzjDUuKzDh/lbOlCHQiRqu0rHmhpK9aNHaf40NfHz0SgZr8wrlDOtqHDO3pPQ7soKCXhlhf8PDbmf+fw8TbyiItUNeGpqe5amU+m45G5UV5NprK/z85LvsL7O93Swllbb3ujCBcY8NzdVs4Tbt8m9X34599TIHMCL5LcjJ2s10H8G8B9M09w0XKjPMIxvAPgGALS0tHhd428hGqUaW1dH4hobIyGcOsW9kzCeG7fVkVmms1ZX87fUdPt8qnOMgKiIXnriO5kY+fAGyz2knbjcyzC4XmluKdqA7dSZHMCqLou5sbioXnO7tqxX7ygkMXpdk1lc5FmuauOw7a578SK/J05T+X3xonOeQixGBlVSQq1rdpZ7ItqC9bNumt3GhhoeI8lV6TSvbyV+x5CwnfNqaUm1gJYuq9PTe6oBeCH+CQB6XloTgLuWz3QD+OF9wq8G8HnDMNKmab6sf8g0ze8A+A7Aqr5cFyuINDxMSbG+Tmni9ytpnA3Jrf37+vuJFFtb9CrX1tJ8EPtavNEzM7z/kSPuCR35Cvno+OFkv8u95LPt7ZSAW1s0Xdrbqdnk0rLLClZmJw019TRlL9e2Y4zSbDMWU4lVXV2K6VqvG48zvz8Y5DXq66kB6U5fOxBzcXRUtVAX887a8dfNN3DmDD/f1cX7ymTl556jABocVOXlriFhK4eRkdDiHBL7qKkpM484z+CF+C8DiBqG0QbgDoCvAfi3+gdM02yTvw3D+GsA/2Il/J2CxPLFM9zUxMOSg5c6bInxStmsE1j793V18dC2tlQXYIDEtLioSnwLC8kYBgcfzDw7q3PTzX63Rhn8fvpCJieJmF5bdtmB1fdQVUUiamvzVjegg84YrXb1F7/IvdU1A7smJ6EQnz+dVolaEk1wgnCYzFNPAjKM7Z165bNeNLvCQjID3S8nGaRZ8cLKYZqb6YD64ANVjCKxYulZtgeQlfhN00wbhvGnoBffB+C7pmleMwzjm/ff3zM7Px7PzCcHSIxVVfxfylk7OlRl2ugo89SdQHLU43Hua2EhD0gfrgnwkF9+mZ+RZJ1QSE1W2uuEDr3l9tYWw4XiS2hqykRaa5Th7Fk6pS5eJE6JUwzwPndPwCqxa2q4v7thfnb+rWxMVRjc008DP/0pibeoiK/L+HanZ7Oai5IHoHfqFciW1OWm2emamHSUtt1nK4cJhSh5amuVPXTsGKV/LJbbDPocwFOc3zTNnwD4ieU1W6I3TfN/3f2yCLEYN1JvWCm94iSUJqmei4tURdva1Ngz5+dx/x/gYTU2qpbcAvmu1nLyLAt+TE3R5CgpIbILw1tdde72m0iQmB55hCZCMkntSQZ05OpQtkP43fSncLKr3ZiqMLhAAHjhBdrusi9f+AK1P6uzXJjJwgJxZWlJzfjr6Mjs1Gt91p2m6npy3NtxmFQK+MpXMhM4Uinlxd0DeKgz/KRNlGlSxZP4ammp4tj19Zkqn7Xoxkpci4v8/JEj6jNOTsK9rtZyQxTBD93Zu75OpN3YyHS4WXFJ73Mv0Qo9OxDYWZJLvmAnMXf9LCSdW7oTSTTD2mH4/HkVd29vpyn0yCOZ3XqsA0i81l04gadkIjsOI6EdcWBIIcUehvseauKXuvBYjFK9vJzce26OZbuhkHN/+95elZQSjaoDlxg1oOK9FRX2iLfXk5OyIUpPD23VsTGaJ+3tqsBHb9hpxSW9zz1APJI059JSZcLsVotxy0txe28nTNXuLKamqBVeusQzbWlRzzw7q6JngCr1np5WjUZ1/444Vr3UXbiBU2bm9oQxizplbVt0+DAPW0o39wAe6k4+0SjVW+kOu7amKvAMwz6uPjlJKbe2xsQLv59OssVFSojFRf4v/eb7+4lEdojnpXuQG7i1+wbccwbk/p/+NJ1hjz6qUmM7Oojodmt9/nna/Hq0QgZcCDPt7+fru9Fi3OLhbu8B289NBmdKPwC70Lb1LFZX+d3iYhL+0pJ6LoDEbw291dfzs3o+gs6AJyZU3P6nP2W4fXPTe35EPE6t63vfA/72b+lvmZjgsxUXu3Q2ki9Go6pJYSxG1W0Pk3weaskfifD5QyE6/QCqbY8+qgpHrNpTZSXNpUBA9exbXVWhoCNH6FQdGCBH3twkQ/iTP3Few07UYi+2ny4BrSFFCUFFo/y7rS1T+3AzA+1m0+sRkJIS4lpr6861GDetRf530mj0c7t9mwSia2dO0lY/i95edc4tLSR8KSMWDclL3H1sjPu5vEyckLi9zFyU+oVsOCD5/TpR37xJid/UpHpK2poB+maKDSue5T1s/vlQEz/Ag62r46RWAUlvBbYT54ULSppKHr0+yhtQ7ZgAcmRJvc0neLH9hEjtwzYCQgAAIABJREFUQoo6AXR2ZqazPvaYexq4Tlwym/74cb6nV9Dtxpy0qreJBAlJzIu6Oq7VycTQz02KhUZGVJfjbL4Ia4Sjq4v3v3OHdRotLWoEm/Q8sJps8TjflzTfuTnuj4STCwoYPdLNEyeIxahxHjrEZ793j/8nEswBsEsYc9xM2w/lHx564s/V7talqSTxSJbb6io7sXR2KqmQSinVLp+OLy/nKQTgFFKUjkCDg9RYTp6kifLjH2e2mbaTlDpx6S3P5doy1nqnYNVa+vuV09owSITCdKXphZ2Jka8ux6EQJX5jIyW3DHKNxViFJz4U/Zn1jkurq/xeQYGaHQiQaSwv269B92vcuME1Nzby+cvLKWB8vsymsYCNBvIh9QF76Ik/19CLziykH5+ouI88opp7ZIv37ha8qPTyfG4hRasGMTenOvbYzeZz2498OS3jcTWvTwqJDIPOtJYWMtNf/Yp97goLgZ//nOO0vva17dfSuxwD/L266q3LsdM8Q32/JOXbjtnpHZeuX+eeysyGlRU+m2RJ2u2Bni9y965q9Z5Oq/Zi4TDX5Jr5t9eeZQd4qB1+ArozS7f53Obmra6ywUMgAPybf8MptmVl9OJubZEgi4q4v9nGTO0ExKk1OcnU7cVFpdK/+iqTTmT90uJLB2H8Vqeg5Na7zebTYbdOSyuIL6O4WJlily7xGerq+Prt2ySIpSXu9fQ0JeN//+98bv28Kir4mVSKDDmV4v9euxxbn8s03Z2oOgiDBnjPxx6jtnbokIq6bWzYz2fo66OZ4vPxOpJkdvGi6mwcjxMHnnkmy/7n+5A8wkMv+a3gxZEWifDgzp3bbq9JHYBTk4h8lVU7qfQApcz8vErAmZ9XCTjWNVk7Ee0kt94trXa3cWyZkwhw/Tdvcu1bW6p6T8aHmeb29OTmZpoHeoOQhgb3FG275xLIRYOWUWzDw1TTa2rUvmxskHGfPm0fbRsY4OdEY6mupgYn1X5S/djaSk0gq0mZr6KQHGBfSH4drCWmTqWfTmE0cXRZmSxAqfTtb9NR5PfvfOCEgKj0zz6rClakr72oyuLgray0Z/zV1QwV/fKX1CCKisgspIOthMy8JIFlC8F5Abt9jUZp0lRV8VpLS9S8JH+irk7NF7CWF0ejlJ5tbQxRtrXtbrydU1m1XemuRNeKisggZG6jVHuur+fWF9E06Zv5+tf5c/YsGeJDOqR3/0l+LzPT///2viy2ruNM8yvey03cN5G0REokTdmkJduy6DhOlMROvCaA0+nkIY6R7gm6ESRIBvPSQAbz0DPAYIDMW3ejkw6CIAimgU6A9HSnM0AyhjVJJ2nEi8jIi0QtFElxkUiREvd9q3n4+Lvqnlvn3LrkJX3Zuj8giLw895w6VfXXv39/Tw/huzc2GBbs6DAJQXaBhpAwxdCQ2ajnz1MKLS9TAqQDg21TUBKNj5vMRTvJyOXgsjeo3ZDy7FmqnO+8Y/L2fcaWCSirsOYdHR2mbn9x0WD7i4YyPc13Li5OrFXZbTptkHzvZ8/Fww+T0QXV+cEHqbVsbSViOdrU2UkhoZTBM9zcTM6/SNtvt4+IPgeO+SsryUCuBpgSax0a4iIMDlJazs5ygWMxtw/FrqATb/itW/yso2N3ZdXBLrcjI3zOI4+YhJvWVrea6wr/jo2R6c+cMbDXYRs0SJmIKAmO3YULnE9JQ6+q4t8EeffKFR5WCwumIUpNDcfY08Pwl1CmNV6f+7lKu2/fNmCrKysmSuE6HM+cMSAhMzP055w+zf3oVdbron1G9DlwzB+PA//yL5zsujpuLqnkk1irFAIVFzOUNDZG9StMeku998QET/7FRS7i5iZV47q6nZdV25LowgWqtWtrfJ5IjL4+hqVc4woyazBtNR3p7RuBSEXj45TqsZiRfPb8PPss7/XWWybkV1Ji4uaSbSloPnvs10ogEaxXrtC8kiQy8a8UFLihuYNUXc33DAppYBdaTCZUszToQDH/1BQhttvaTBus+XmGkaR6a33dzFlpKSX3zAxt77BFyMujNKquNg642Vl6fZeX+bzd5FzIASDMPDdHxrt1i4fX1paJOdtjdDmvXGmrvmPzTSqKor4+Ms3p04kty+/cMSnFwhjPPgv89Kf8zvw83/XmTTKV4PTtA1Td+5Sqn2NrK+fILhSLUtvDNIwd8+k+J/scKIdfXx+l3pEjdKx0dZG55SCQ3PXeXqbwXr/OeUsVypNsv5ISw+gLCwYX3/YX7IaEmaWZpqA1tbe7nW8u55Vv2iqQXFsAGCSk69cphWMxE/3wyWEXHDtXt2PXGCSOL5DeJSX8WQ61nWIL7oRswVpZyf1TXk6Vv7CQiMMSk0/XmZoRkg0iWVOvv87TyZVokAE6UMyfauPV1lKNnZ42HWTffZdqXNQCas3Tv6DAhKE+9jE6/wQcMxObwGZmybnXmv4JFyO4wr++GzTMsy9azalTBrX44kVqTD5eaZnn5WUTmxecftf8KEWbf2GB10rXHtEaIkEuM0xhbcYffJDz3Nb2gYTbDbW300bt7uaCFRSYXmV7AOSZ9Wq/jRl/4QKZc32dkrOmJnHj9fXREz40xA0HMHuvqSl6AaU3nO2YGRvz73LrS66ce7sM1aXhuVTLMLioYDejw4eTzcff/IY+DKX4T+LUvoAxUmjU2pqI0//xj7ud1FrTz7GywufF4zSnRNuK0qh24vjebSlxlLMwE474yHtUV3Nxp6cN6khXV7jXcZeU1cwv0mtzkx7tmRkytbTaamigZH7pJc6bpGs2NjLGCqTuqAu4syvT7XLrS7K5xO7u7U2NIx92D5vCAGElZ17ebWyMc3PpEj8rKuIc3bnjp9nYB1h+Ps2u2lquj8tJXV7OcdTUUJO6coV/v3OHuQvS4CNIO3F8p/rObrJoM+GId4GyvvYa7/F+PoHWpgRQyGcT74CyWu0XG21oyAA3SDnv2hp//9M/NVWPdrqmUCrJ8uabjOnH45RO+6HuheHIj43t3LQIJj/V1dFUtFFtpUeh+DIKCmgCpFvhF0y3vnMnPPGqvJzrdfUqD7vKSj5PfBdSuBTUan2TudL5zm6yaH3Gkwq/IQjKGotRO+vvt65PdxPvgrJa8ovzc3DQNKMsKCCjSntte+HSOdldJ/ni4s6ZPh2VsK+PGkptrUmUKS/3i9WHkQsQ9r336AOx0XClR2FJCU0i6f6rNTdtMGSVCtpqaoqgFXl5fAe7hPfGDWpt4qSdmCCUVn09QUok3dkFoybvIyHJ+XlGb0pKUuP82RRVSryb+ZV7C87E8HBqXAIblFVC0VqbXot9fcAT+1jkk9XM7zoE19bC66vTyRbbaUjVxeRAeiqhbAJptAHsXrNzlbi2tbn9FrbPIC/PxOplr732mqk1iIK2kvcuLOR9JGlJkmPm5nhIFxayym9zk88oLSWzlJeHw4lJMtfAAJmkooLzJr6v4Ly6WqNnKkrjml+A4xsZofSWKr6BgURTy95Pcg8pzgIcTVUynfIYQVnN/HIINjZS9Rc4L+m77nJQiW0nDOqKnwM7C6mG2X3BMtKNjcSGkz7x+91u0lR+izDNRJjXPgRtsM+LF8Nbisv1jY10JG5tmfTdzk6zqQcHDQyZJGUdOsQD48kn3e8ubbftZCitzdq60rODrdHb2sKzOjMxv7K3XKhRrkPN7lokuAeSR5IwB/tU5JPVNr/MwalTlBZ5eWT8oiJWS505k/wd3+KVnZhWYXbf5csmhCQhWukD6Bu/jwrXhdmQrrmy7dkTJzjmn/6UuHJSfBPsPxcs1FlfN+3A5+c530VFpoxYwnOSVCXp1DKngsHf3Gwk3cYGbVtRd0VLGBtzv7tU/EkVo5RfuwplZF0aG7lXyss5rokJPzPOZ55d83v0KMcDJKJGyTyFRRJaWxkl2dyk6SVNVd6fg3QWfheU1ZIf4IQ99xwdoD42dU+P6QgrXnRXam7wJB8f5zVih/pqC+vrtPukbHd+3oTPpOEkkPh8H81uJ97lYOmufD9MJe3udqvKdivwVC3F7U44Ev/f3DTRA5F0Q0O8vqiIh7YkX01MhEdVmpoSUYgAUzSUal0KC1MDggTnKdU8uwRyGGpUWPdl134uLbXW3w5x3bnDxfn97xkSyTCeX9Yzv5CPJmSrfwIJdfEiT9dgxyObAX1BJIMVbWLzNTRwI8/N0ZnzwANUN6MaToaF61LF6X3DvbaW4gIy7e2lHV5fz3GXlJjuPnl5/F/alJ87x++ePk1JbavSUZ1w5B1jMe5fyWuIxzlfn/qUAWJ1ka/vy16Xixd5EBUW0gyx19Fl+uwmnd4eX3k5JXpfH5lZWr/5HNRJC7e5aZwd9fUc8M9/ztBWBm3/A8P8Pt70nh7TbruqivNWXByewGIvQH19+AawE42uXjVdWWdmTE/F48dNddf4OMNgroaTYe/hG6f3dQra0tBWSW/dohp99arpTxiL8bARZ+pTT3HMk5PUDuJxXie5Fi+/bOZe0oUFiCPYCUckHcDrNjb4HmEdc1zrk8r3JUw4NMR3BJKr8uSaoIRfWDB4fUK+81xdnQyuumsBPTPDDWw3FqyspJ2Q4USfA8H8PpqQXNPQwI28sEDmOXKEP0fFz6MaLdiNP44f5wYbGOAmW19nimw8znucPEk78Nw5Mor0AqyqYpFLlIoZlEDSuPXyZdOsJB7331hhQKYLCybZ5/hxSiw5LO+7j2q2SP233+bnra3G6XbzJgFEH3iAz2hrM1WGUdK5qyv8uqgD0cfUk0Pi2jUTcgxW5YVJ+LGxnTtfBW9BwFWjyqu9Q8GVldzg0nkW4MSLlzuDlNUOPyFbE1pf57zE49SExBfS3U0GEVy1vDzTSz2V0yfo/JudNY0Wgo0/CgvJ8A0NdC6JN1rsy+Xl5FCkJGsFkzzefZeHSU9PsuOtqYnP/sMfEtO8h4cT8f/CfEG2U1FU0o0NSnuByhLBIgg7NgmopUBVKcU1EEYSx6E491IlzoQl2ABuB60kvviiDlVXM7LyyCPuNt9hyE527cbMDBO+fvtbznXYs+QQ//u/N/6lqEQk2wktmX3f/W4yzv/7CxeLcTACari8TObPcKLPgZD8qTQhUelE6m9tcd6OHycDpep4FNXrThhA7OWyMi7i/DzDWUEnT18fgSrsslD5XPwEly7xns3NprXYhz6UHKcvKOCaS5r3iRNGoxD8P5dvQqSMAIiWlfFZAmW9usq/Xb3KTRuLmUYVoiFJay+bbt8m0wKJDShcDTbDJF3wOtGEghgD//ZvDAOmY4tH+QiCWIjyjk1N/F53N79bV8fn5ueHz62MWSI6ktsQlrMQPPSlmrO/3+D7JeT3v/QSJdvt29wAjY27wzYLoQMh+SsrucHEngMSNaG+Pi5aaSlVsNJSTqqP1AeSpZLd6y4YwmlqMuAftkQtKeH3m5p4CNlVmQMDPERGRvhzdTXXsr+fG1Daj9lov7/+tckTePJJbq7Z2WT8v7AU09VVHn4yH8J8ohEcO2acm4BB4+noMJLw7Fm+q1TvSb2JbSO7qvLSwQoUiSzztbZGxpiY4PzYzVZSVQBGpe9GhVdlf9TVcW5HR5OxBoVs86G83BRHiSPVZTLIO0oDXvkX9gy0tdG597GPGTTTPcg395L8SqkXAPw1gBiAH2itvx34+ysAvrX96wKAr2ut38nUICXhQ6SIeJUbG41K195uTtXWVv59YsK/z6EtlaTKD0gO4cTjZBzBzpfmEPa6uDLT+vvJyNeu8XPJ6R8eZovpjQ1KdrtXo1LcGNKOfH7etJASCuIX/uxn/N8O3QFGYtpOtPZ2HgyCD1BaSgZvajI2++amyQcQPPuFBc5JWDFSOh50MblsxpC1ldoEl+NU3tdHu7DXN6wa8s03aU6mihLZ7b2UonkgAC1jY7z/0aO8VsYj7zg+zvtJAtbRoxHOxX1I9EnJ/EqpGIDvAHgWwCiA80qpn2ute63LBgF8Qms9rZR6EcD3AWRs5FGaUG0tmX5qitJrbc3YVjs9LMNCOCLdBaYq7LuuzLSqKuOBHh3l5ikp4WbPzyfj3blDjUOYZXaW6ui1a6ayc2Ym8UAThpANPDVFybm6atTRYBdi2Ve2BzzYB1De75lnjMki8FtVVaYY6fhxXmNTOtmTMobJSY5bTNzHHqM9HaxNsCHWd5MHYZNojqJ9SautmzcZjhQKtveSMuX5ec6HHKjBcHF7O53Aw8MmDCmZiOPjETDlewzm6SP5PwTgutZ6AACUUj8B8FkA7zO/1vr31vVvADiasRFuk2hC9lxIKamkdWpNSSVpna4MQB+STdLdTecMwE3nA+NcXW16x9vhr+FhMvdjj3GMUtQh0vTkSTqbbKapqOAzL14k47S1GaCSIEPI4VRXx40o9vrICNV0l6/IR0LbDHP4cCJqb1gxUjrpy3J/wU+oqzOeesFVdIX5Mgl3J5rj+fMMhUpashwCUksgzC3tvQSbcGOD/QuCadL2eCRqcv06tbeODn4vDL9xP8A8fZj/CACrMBSjiJbqfwbgl64/KKW+CuCrANAcxDj2oODJbTuLxKaanIzOGkuHNjeZH7C+zkV64w0+v6sr+t7NzcmZabW1hnEfeoj3m5xMvF+QaWZnjT3oAojMy+Mhd/486+RPnjRmCsDNODFh7Hm7ak/wD3wldDrFSOkWplVXc71sLUQgy6JAV2Xs4iiUBqTpCkgx88rK+Pz1da7T6dPUMIWB7fZeIyPmcC8t5XPFdxGsQmxvp8+noIBrL5ET+a5zrPsA5unD/MrxmXZeqNTTIPOfdf1da/190CRAV1eX8x5h5NKAgp1a7bjubhnf5aGtr+epPzNDZtracmtjYUU2L71E6b+8zI0VTPCxcwqKi8Or6STxyGaWwkJe39VFJhsZIeMXFiZX7b35Jv0L6VTBpZLmwfU5cYLv6luYlm4xm29Wnw/Jei0vUyKvrvLnzs7Ew1ApaoOSOt7ZaRKgALevZ3SUe1IqH6WYRxKQ5LtJtA9gnj7MPwqgyfr9KIBbwYuUUg8D+AGAF7XWGYUdCdOA4vG9a24aVnt965aJAYeF22Qj9/QYs6GjgwdGMEnHfrfjx8mkb79NxszPZzKNq697UDCcOJHoH2hpoZoeixn1FOD/c3PAj3/Md7p+nSr3zZuJvQ2CzCwm1txcYgORl15yr8+1a6lRd3yddS7yyerzvVeU6SG1BDYAi2gKQZ+Hy9dTXMzvnjhhDqnNTWphZWXmIJe1lfl4MK8SFXu1ubfJJ9R3HkC7UqpFKVUA4IsAfm5foJRqBvBPAL6stb6WsdFtU1g1nR2yyTTaql17bW8u2QypEjsAXnP6NPDRj/IeUegu8m6HDhnAkq4u/nzxItVJO9QlFXUSThSNYXU1dePKGzdYz1BebkA8+/sptcISb8S30tdn4MMFhae7270+Yag7mWgbJgy7umqSoOxYe6pkOBey8R/9EdXylpZk4Na+PpoAXV2cr7W1RJ9HWBViQQHXSXoDrK0xv2JpiSHcwkI6A197LXE+zk+3Y25sjzb3NqWU/FrrDaXUNwG8Cob6fqi1vqSU+tr2378H4C8B1AD4rmI624bW2jPIlprCNCBpceWrKtrSJgqdBkiuvV5aotNOmO6o5dKMSuxIZbIF3016+U1MRDvulKJmUVVlwlOSYCS59IBbXb96lYws9+7spAQTZCTbl2KPXToFBavsLlzgAWdTlIbqmpu5OYYpy8v5syQmRdnvktUX9K9EQZlL5EIOy6BnPmw/+fg8pApRnKK9vVT7Dx/m3ysqaOM/9BDf0zaZAOZkvD/fDdW4tvIEugo9N/cOyCvOr7X+BYBfBD77nvXznwP484yNKkBR9mYqVdG14FH2dFB1j8eZcDM3R1VQGmWWl/OED7OTfU224LtJLL+lxcSYxXF3+LBxmimXJ8bxucv/IIk0YRQ29rExmgbBz4H0zK/g/WdnqXmIypuXZ0qjb9zgAWcf0kDiIT48bDAI7FoKm2zTxE7ZlvFHga8AfhEMaVU2NMTPCwr4DpOTpmvU5CTH2GQZ0oKdEJzXu8t7G+s/EOm9O4E1m5pKTNnc2DALHouFo9PYc11dbTaRpGKKY0ygqFpb3WMJOofCEmKC7xaM5YvjTg4j2ZRbWzy4RkeN1/nMmeQcfZcj7bnn+D7Ly8Y+tZGRwja6oCYHP+/s5Bz4rk/w/iMjZGKB+ZJEn6Eh3sduZ37uHA+CxkYeIILDUFdHZpO5D1JYifPly3xuUVF0FyGfPVhdnYy8/fGP89qJCTJ9dbUpORey8RPsed0DzM4EOhDMH9zAgv9+/rxbZXd13X3nHUqteJxq7yOP8FpJHxWp7HJEbW0loinPzpLxb96kI88FxJHKORT2bq2tJiR46JBx3LmwBVZXeahIaKmvj98Pmz+h9nYeEnaTSRsZSZJSpqaMNK2uNuCfMl826ClgsBEkByAMQi3ISCINS0qMf6WoiOt04gQZSXwJQRX57l1WbpaXG0YMAoIGQUaVMnH6q1fpVAXCwVdc6xSmhc/N8b4LC+YzwXt4/nmzN+1mntXVxqzfY8zOBDoQzA+YyQ+GuFzedjtMV1HBxa6sJJN0dPAaFzqNUn5RhYoKMllHR3jGmIxPmKWxMRydN8iccgClqmE/d45qsaiYUQCXwee5mkza39GBQKxkKUYxgDT0qK8PXxv7feU+Ig3v3uW6FBcndmWy05lFRZZ4umh2S0uGWYIpz0GQ0bk5/q201Ph9VlaiwVfscYfR1BTHZGcAurowS2UfwD0kAsHXd5UpOjDML+TjSLOdM729VOsASpjGRkpgAak8c8Y4UuNx973Fyw/4ncwjI9QKDh2ihrGywu/YRSpR5BPyEhVzampnzV2iniGebZGuQKI0jfqeb16KFNv09ZEZ+/oMPt/KCrUtAUyx05nz8zkWCZsdPsy1nJ93+2BkTHaorabG4ArW1PBZrjLgdMmVAWh3YbYF10c/avaRzMc+YHYm0IFjfh88d4F9npvjBJeWUkWOxfg9AaKQ3nGCoXb+vLvmO92owtgYTQ45TOrrKXVE4mSKguYIkJnmLjvNL3E58oaHOW+XLiV68AHDCC0tBnFJ1qWsjD8H05mrqzmOggIyl6z18eM86ONxU2IsBUkiCCT5aW6O1335y2YcrpTpMArLUQjLAJRDMFXR1X7TgWN+WewoPHcpriktJWS0VGJ1dNDuD3qC7Xu7HFp5ebTZL1/mZ52d4eObmiLzr68blNreXm4KQXrdDQVx/tbXzWYLQ/tJtz7ENzc/eN+8PPM9KdFdWuJ1Ei5tbzcefLuO/+5damhaJ6b0Bk2gZ57hcxYW+L2qKuCFF+j4fOstSli7Hj8WM2OSLFBJ5hGfUTrZiFEp9zJv8pzZWZp9t25xfPPzPKSiiq72k7Ke+V2ZZqnw3KW45vZterUBxlalmCKMXB5dgZYeHuaiSfba8DDwuc8lb5K+Pkq3lRUu/uKiqQb0KWewQ5PBeDeQuPHW1wl6UVxMFdll9++kPsTHs+267/S08cRLF+KRkUQv/p07/L2/n1EHOSREhZ+YSByfSx12ofqOj5PxH3888VoBLpF3GR8nOtJjj/lnI9oUZdrY87a+bsLJ5eWmM49Un46NcY7uvz/joLzelNVgHq5MsGvXeAikwnOvqOBGy8/nJrx5k2i1YfFxwA0GIaGbqSnD/LdvA7/8JfCrXyXfQyrE8vKIiXfqFNVakXo+7zs5yfEuLlJqTE7y856exEw6wXmQ2H1hIc2AhgaTXReWHRmWfRc2D0HmcN23oYHzVVjI8Yujrq6OnxUWkvErK/lOwTr+1VVem2p8tbWci1//mrUJY2PuRqOHDpk+hPIuExNk/MZG//mw1+eNNxg5kqxLeY6NVixtz8vLjb+ispKH1rVr1CAFGer8eQNbtt+U1ZI/7JTVmqdlMNPMVkvn53my1tRQ/V9YINOeOhX9zKCkefVVMmA8zg1bUMB73r1LLL1PftIdghP7cnbWH1tA3ndwMDHeffcuDxBXJl1BAbWcJ580n9l2/07t91QOqFRZl4BRb4XsVmt1dVyzYB1/W1v0+AQ0s73d1BhMT1OrC8bLXYlgr766s/lwRQ3s1mSy9+RZtq9B0KDkd6UYYtSa8zA1BfzkJ8DXv773Hn6bslryh4Eu2k0RwtKeR0dNp5/FRf5/6hQ/T4cqK7nQU1NktIIC4yQsLEyWGAIXJaW7Dz/MGLoPopC8r11PIPBhdiadTfn5ZiO+/jr/Hx83mzEITir32G0CSar7yjw0NhrgipUVzsu77/KaWIzzOTGRmJsfNT45IKU7z9NPM2Lj2hNjYzx8bbBT17jHx6mpRIGi2lEDCUMWFfEgkr1n1wvcvMn7ApT4y8tcX1nXeJy+I0mzHhigX2k/Kaslf5jjSWzgVN73kpLE+OrSUjIsUyqS/O+BAYOQs7REle6BB6hdAInOtGBk4MgRP4ebvK9ICol3S7bg4iLVXTsnPT/faCTiZBoaAl55xYw/3exIoShHYar72unR4swrKKAWJZB0+fkmCUu85GGdboR86zwWFvhzURHNhPV1U11nJyq5fABBn0gwSai5mfMs+AF2MZTtj5H7NjQYNKiaGlZt3n9/Yp3G4cM0B6QuY49BfABkueT37Wnnos7ORPBJOXk7O9PvgffFL/L0npujlG1ooBpeU0NNIlidBnBDPP64KZ+9cIGMEFXBJu9rO9AmJ/lvbs5AQkkmnQCGnj1rCmLKy7nh7twx4xc79MYNlvAKY0S9d6rKOx+/gCQT/cVfAH/8x2TCU6eY8lpZaSS4+AmioL+FwjQOwTuUfP/Ll3kY1teTEQcGTN+HdHwAtrov1XzDw5z3Rx5hLYCg/AT9MY89ZpCI6uqIRPW1rxkYNCn+GRxMFHCZqHr0IaWDqVz7RF1dXbrbQ8+xT0CxlwQkwZaAkmZqn9avvUYGsgs+urpMf/pgimrUydrfnwiuWVtrPLxBmO7CwsQe3Fk1AAAT7ElEQVR68zAQB5dNHfT2j49zXCdOmLiwPOOJJ4wN64r1P/984n1deH1h7y2bL+hXCRu3D/mONYpc7zE+bqIMhw5RSzp/nmstTsflZe6BxsbEZ8mY5uYS80ZKS4EvfMHMgw0aIvBrx46Z+Uvn3X70I+Af/9HkKRQXc24/8xng85/nvpVaErsuxHfulVI9PlW1Wa32A+60Xp9e6GEprEGEHomNx+Ph8X/AYAj29PC0np3lhgpi24vzyJViDHCDPfRQuINJ3jfooLI3le2g8o3Jd3eHNzCVeQlDSXI9dycULHaqqCDjrq76q7auHHvRHGQONjaoRg8Pc64BMtrt2ya9WyiYNxKLMYKwsGBySFpakpOERN2X8aaDW3jkCA8mOVTicc51eXl6/SZ3S1nP/EJhVVlhvdABt8d6eJiboKeHCyjFHENDBqAzyt4SgA6RMAKd5eoQU1OTaL8XFfHQ8HG4yRiuXDHttl3pp+nE5EtL+fzr1+l0O3uW7zM1lZwHsLhIdTRVVaIvBYudpqbY4665mfD0YdV0LnJFZGzHcFkZmefaNVO5ODPj7nthoy1vbNBcUIrJYVL5KHkUkryzuMg1FUEAMOKyuWl8F1G+la0tvrMk/pSV8fsC6Cmw7dITAODnrn6Tu6EDw/xhjScl1urLUKOj3PxLSyYpBuCC9PTwALAdN+Pj3BxHj3Kh7M65QeisIJru0lIioKbWphd7lMPNNjGKikyq8pkzJrc96FiLcn729XFDCnpPdTXf5dw5Oi0ffTQZWOPqVT4rVVVi1FwHbXAJ9a2v0xsuSVv2uu0k1TUodZuaeMDffz/f4fZtAzkWPFgkIUzqBUpLeSBJ5qFoReXliWbG/LyZb1mzmhr+vrwcnSloh4MBkwkovSKam00TkKIi7pvJyYw37Dk4zG8vsG8v9CCJivu735EJFxa40ScnKQV7e40mIIs/MGAYdmSEKqGk6jY1JUJr2wtuY+KHofW6aGqKjB+PkzFWVkwn3YsX6WAKbiqXhmMz35UryYARBQW8Rhp32rUSt2+TaZ58MjVMt2v8No5CQwM39tWr5vBaXubfGhsT6x18zYowfEG5h6jRi4s8ZBobWY4clkknaMui6ot/pqyM45c1sM2MqSn+L5JZKQPXlerwCssEPHOG79XXR8EyO5tenki6dGCYfze90GWznDtHe0tCPLEY77W+TjVYVEc5RCT7zG5tvbXFjbG2xvEI3l7QPLAlssSxH3wwEcTBRX19iR17iov5szirfKRiMPW2sJDvJ624BMnm9Gky329+Q22ospKMYLdGk7lIVTBkM/3kJKX93bu898mT1JhGRw3wx9WrNLVqa6MRkcKeUVdnMAulWajk5+flkXHb2420DuueCyRDtgnzt7UZ7S1oZqyvJ9r3Ylr4NNK198aFC9yDYtaJNjk+nqhN+naeSocODPMH1VtXmywX2Yxw5AilmNhxhw/zVL99mxumuTkRAnt+3jhdFhf599FRLnB9PTewNAK9cIGb+ZlnEsc0O0uVt66On6eybWdmjMQXqRLmrAojF7LvxYs8wE6fNu3OpDpSQk2inivF94tqleWa46EhHsbd3Ryz9DG8cIHf7e01lXeFhTzQDh2iNiWNVsK0NxdAy6VLvL6kJLFZqITmfEqLAbO3YjFzsDz0kNH4jhzh53YBU35+4hqtrBgzyYdcmYBAcqOWvaztz+o4f5BkwqR4Q/Kio+KfNiM0N1OClZebXnm3bpm867o6MgpASVFaanIFRIoePcrvS8VaTQ03RyzGOLpEL2WzDgxws8Zipq3Y0BDbO7vGLmqspLtqbWrc5+b8chOCmZEVFWw7Ja2o8vPJmOPjjFU3NfFd19f5/7FjBnvOJ7/CjmzMzhq/wTvv8HAcHKRNfOwYnzE6ync7e5bazPo6taMo1dZ+ht3scmQkGa03LDM0VZPP554DvvENHpAbGwaH4R/+ITFPY3qaczg9zb9LToaYez4k++PKFe4ZG+shP5/m3fPP7426L3SgmB9IPwHC3ggCnywNEltbGcY5edLkDMjJu7pquv22tpKBxXn11FPceM3NLN4R9byy0pT9ujbr1hb9DdLa2TV2ac/e2mqcVbOzZJLCQr93diXC1NQwbm03fj161PgvjhxhKnJHB8fd1mZq58MSb2Qtzp3jIQcwpXZjw/xbXeW8LS2R+cvL+X9zswHReOopPj9qk8s6irMXMKnPQa1kNynNtoDZ3OQBaB/eGxvG33P6tDmkH300WesLI3sPnzzJg7K7m++4BwjdoXRg1H6hdNBigGRPsDhkqqvJ5AMDps+fIKrKySv5BX19XODpaS5KebnxzNpoNza5Qn3T09xQSoXjxdnmTX4+D5erV/ndwcFEEIieHt4nGJIMC/+5GDgsIhHVKgtwm1MLC6aS8vBhU9IsHv2tLR6oZWW8//y8GUMqxpR19Ime7CalWShVnsbyMjWFqNyQVPeW9ZfEszCH7l5R1jN/MOOtv5+L29xsmCDKS1xbm5yZZ7fOkrbUwtRSEBLsbWcfBHfvmkKOlRWqzzMz3ChPP83nujbrzIyp1GtrSwQCBQzzBhObVlf5jleuMMf8oYfIcJcuMVXWlZPugzyUbkQiCCQiYc/mZhMmk1bi0u5qbY2mVVUVNYuFBRMbB2i6yTOjsAftsTY1cR7EKXbiRDRG4E7s5t3maQTnK4j4E2zI2tXFse4nok9WM79s/s1NbjZBipG4d6oqsKkpk8wj0Fr19cDLL5P52tqSmVpScYO97WymAqgW/vM/0xaMxUy/POln72KslRUyysmTZJBXX6VaX1jI5924kdj+WyREcTEZX2L0t27x95aWcA3IFwdQmCTYP9CeQzl87UYX771nqg3FnBoepi/lwx82CLZ37phIweQk7ymq7d27PBA+8hGDvBNm48pYu7t50LS0UPLm57s9+bvFxEtH03CRD+KPTzbgXlJWM7+rvv3YMW6ylhaDmz8+7u5C291tIKME6urKFeA732EM2+4Ik66nuLqaG2N9PTkLzga6tBnr2We5UZeWCAZy6xbfqaGBB9PCgklLBoyE0NqondI0ZHk5ucnjTtJvw5gkqu/BoUP8TPLhJfOttZVmyuamQetpbuYzNjZYzQaQ4QsLDXKuqxdh2FgrKhizt1uFS3q2xMkzUQnnOrwlouDTqt0X8UfCzn19xuzciwo+F2U188vml5AbYBxeZWXUBu67z3RBDUrq7m5+d2SEm7migsx644bxaE9NGWkTLN0U+zqMqbSOBtB0MVZVFYEcpeAHMHH3/n5qKOXl3AC24+rBB+kRl25B99+fCG8N7F56iJQfHqZHfmsrse9BWxvfTQ7f+XmuhQ18Ke/7s59xriVsVlFBFR+g1vT666lTtF1q88wM50oaqFZU8CD81a84Nw0NmWln76MVRVFUbYR978HB5CK13Yw7Hcpq5g+rb5eSWol7B7vQAlT3h4b43dVVMtrgoEFTlYVoaUk8jQWpZXqaG76+nhusri4x1mszZzrqW3U1mbe4OLFWQWCv6uqMN19qz+NxAwtWVUWVc2mJ415cJJPZkikVbr+LXIVTvb2U0mVlnJe33uJ7K2UaUJaVue1qiR7YB6OdZZgqRTtMbY7F+K4SQQH4jK0tfkey+Hw0ibB58NEeUl0neyOooUhTFVsw1Nf7O7AzSVkd6nPVt0tsXcIhYTHd3l4yz/q6sU3X1niP++5LRMiZmUlEarl7lwdFXh7/Nj5uHFN2qK22dmd4A3NzJr69vs7vKMX/W1vNoSDM3NpK38Dmpkk+EaflygprDwDT9XUntd+uwqmqKgNWUljI97ahuIqLWRvgike7wm35+QZqy0a3EbQle+7CsAeVMvkHgtOwvMyxBlOYfbr12uQbRva5rr2d+6a723QRnpszeJBCO8lJyBRlNfPL6VhXR0lSUkKpOTFhmkgo5Y7pAoy9NjRwk0hIb2HBZPaVlSVW4YnzSoo4JF9bni+twoLM6QtEIVRWZlpMbW2ZBiL19UabsUEhg8kn8hzpIf+JT1CVFoAMX0BKm+xNKFK5qYkb+NIlhhuLijjvxcXczGfOJHf2EXIBsYhTbnHRpGjPztL3IUk0QDRQppTSbm0lArhWVoZj+PmSL9ipfd3cHAXFpUsGlx/ge1ZV8T2np6naa82fJZcf2DuYNR/yUvuVUi8A+GuwRfcPtNbfDvxdbf/90wCWAPwHrfUfMjFAu759asr0kBPv/d27nNRjx7jhpOpNAB07Oqh2LS9zIaRssrmZammwCq+khPfr7CQDFBQYn4OrCGUnXuXmZmOvDg5SMlRVcaxh6bRhz0m37j5MXbVNmMpK5uRPT5PBiovJDLW1TAx6/HFT2lpa6n6OK9wmjkz5rKAgUQPq76emIfUaYUCZ7e3UgmxAj6oqoz3tNLbvO5d245go2PGtLY710iX+XlTEffjmm8ZpmImchJ1SSsmvlIoB+A6AFwF0AnhZKRVsW/EigPbtf18F8HcZHicA472PxbgRhocNKCNAJ9LqqolTLy5Scj36KOPvx47x54oKg5wqC2VLKjutt6nJwITbPeN2czpLFt+pU4QI+9KXKPWPH08friwdyRGlrsr7j41xjgVRV5BmPv95qvjSndhnjHIA2GaB/ZlSZKxYjM+JxYh7NzoaDZTpghB79llm2KWrhe1kLuW6VLDjlZWJ/gmp0RcUKHuOdjPunZKP5P8QgOta6wEAUEr9BMBnAVipGvgsgP+liQn2hlKqUinVqLUey+RgL182m7G/n8xYWkob8JlnDMyUTNwTT3DT5OWZJBNh/GBChS2pSkoSE39qaqhltLT4t3SKIleR0iuv+HeNsSkdyZEqO/KJJ4yXXjDt7ruPTLi5aWL5Yd2J06XeXrOeAP+Px2kGPPVUNHJOmCa0GyeZ71zKdalgx9vbCe9eX2+agS4v029j2/S7zUnYKfkw/xEAI9bvowCCQ3VdcwRARpnfJpHQkmYLJKto1dVMOAli0YVJxqCJkQnmDCPXgu+kc0s62Wyp1Nrq6mQvve2RT9WdOBMkCL5AInKOfajvFfnOpVwnbb/q6oz/xe4fIdcNDBjNsa2NB1yYubSf5MP8rh43QTePzzVQSn0VNAvQ7NO7KkCdnXQMKWXw7dfWjOrpYuqd2lSZYs79IF/J4ROazARoii91dDDxRzIqBTRDwo37bQMD/nNZXc3aBxtM1DU/XV3J/on9fJ8o8vH2jwJosn4/CuDWDq6B1vr7WusurXVXnQ2o70lnztBuF3grCfEISIXLBv0gbapsIx8odPsa8cjbTUoyOXddXfRzbG5SK9nc5AH/8ssHY7189lY277+U0N1KqTiAawA+BeAmgPMAvqS1vmRd8xkA3wS9/U8A+But9Yei7usL3R2kIDacxHv3qrHBvzfySWLZj4YRH8Sz7hXyhe72wu1XSn0awF+Bob4faq3/h1LqawCgtf7edqjvbwG8AIb6vqK1juTsnTJ/jnKUo2jKKG6/1voXAH4R+Ox71s8awDfSHWSOcpSjD46yOsMvRznK0d5RjvlzlKN7lHLMn6Mc3aOUY/4c5egepRzz5yhH9yjlmD9HObpHKcf8OcrRPUpeST578mClJgEMeV5eC+DOHg5np5St4wKyd2zZOi7g38/YjmmtU+bPf2DMnw4ppbp9Mpb2m7J1XED2ji1bxwXce2PLqf05ytE9Sjnmz1GO7lE6KMz//Q96ACGUreMCsnds2Tou4B4b24Gw+XOUoxxlng6K5M9RjnKUYcoa5ldKvaCUuqqUuq6U+s+Ovyul1N9s//1dpdRjWTS2V7bH9K5S6vdKqUeyZWzWdY8rpTaVUl/IlnEppZ5SSr2tlLqklPrNfozLZ2xKqQql1P9RSr2zPbav7NO4fqiUmlBKXQz5e2Z5QGv9gf8DQUL6AbQCKADwDoDOwDWfBvBLEC/wwwDezKKxfQRA1fbPL2bT2KzrfgViMnwhG8YFoBJEgG7e/v1wtswZgP8C4H9u/1wHYApAwT6M7eMAHgNwMeTvGeWBbJH878ODa63XAAg8uE3vw4Nrrd8AUKmUasyGsWmtf6+13u67gzdADMP9IJ95A4D/COB/A5jIonF9CcA/aa2HAUBrnU1j0wDKthGqSkHm39jrgWmtf7v9rDDKKA9kC/OHQX+ne81eULrP/TPwdN4PSjk2pdQRAJ8D8D3sH/nM2QkAVUqpf1VK9Sil/iSLxva3ADpAENr3APwnrfXW/gwvkjLKA9nSpTdj8OB7QN7PVUo9DTL/2T0dkfVIx2fBsf0VgG9prTeVcl2+J+QzrjiAMyAwbDGA15VSb2itr2XB2J4H8DaATwJoA/CaUup3Wuu5pG/uL2WUB7KF+TMGD74H5PVcpdTDAH4A4EWtdUinvA9kbF0AfrLN+LUAPq2U2tBa/+wDHtcogDta60UAi0qp3wJ4BESK3kvyGdtXAHxb09C+rpQaBPAggLf2eGypKLM8sB9OFg9HRxzAAIAWGCfMQ4FrPoNEZ8dbWTS2ZgDXAXwk2+YtcP2PsD8OP5856wDw/7avPQTgIoCTWTK2vwPw37Z/rgch62v3aU2PI9zhl1EeyArJr7XeUEp9E8CrMPDgl2x4cNBT/WmQyZbA0zlbxvaXAGoAfHdbwm7ofSgQ8RzbvpPPuLTWl5VS/xfAuwC2wO7PzhDXfo8NwH8H8COl1Hsgo31La73n1X5KqR8DeApArVJqFMB/BZBvjSujPJDL8MtRju5RyhZvf45ylKN9phzz5yhH9yjlmD9HObpHKcf8OcrRPUo55s9Rju5RyjF/jnJ0j1KO+XOUo3uUcsyfoxzdo/T/AUC7Rv8D5vBgAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "np.random.seed(seed=42)\n", + "N=1000\n", + "x=np.random.uniform(size=N, low=0, high=1)\n", + "y=np.random.uniform(size=N, low=0, high=1)\n", + "\n", + "accept=(x*x+y*y)<=1\n", + "reject=np.logical_not(accept)\n", + "\n", + "fig, ax=plt.subplots(1)\n", + "ax.scatter(x[accept], y[accept], c='b', alpha=0.2, edgecolor=None)\n", + "ax.scatter(x[reject], y[reject], c='r', alpha=0.2, edgecolor=None)\n", + "ax.set_aspect('equal')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It is then straightforward to obtain a (not really good) approximation to $\\pi$ by counting howmany times, on average,$X^2+Y^2$ is smaller than 1:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3.112" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "4*np.mean(accept)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], "metadata": { "kernelspec": { "display_name": "Python 3", @@ -16,10 +169,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.3" + "version": "3.6.4" } }, "nbformat": 4, "nbformat_minor": 2 } - diff --git a/module2/exo2/exercice.ipynb b/module2/exo2/exercice.ipynb index 0bbbe37..09938c2 100644 --- a/module2/exo2/exercice.ipynb +++ b/module2/exo2/exercice.ipynb @@ -1,5 +1,225 @@ { - "cells": [], + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "14.113000000000001" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import numpy as np\n", + "x=np.array([14.0, 7.6, 11.2, 12.8, 12.5, 9.9, 14.9, 9.4, 16.9, 10.2, 14.9, 18.1, 7.3, 9.8, 10.9,12.2, 9.9, 2.9, 2.8, 15.4, 15.7, 9.7, 13.1, 13.2, 12.3, 11.7, 16.0, 12.4, 17.9, 12.2, 16.2, 18.7, 8.9, 11.9, 12.1, 14.6, 12.1, 4.7, 3.9, 16.9, 16.8, 11.3, 14.4, 15.7, 14.0, 13.6, 18.0, 13.6, 19.9, 13.7, 17.0, 20.5, 9.9, 12.5, 13.2, 16.1, 13.5, 6.3, 6.4, 17.6, 19.1, 12.8, 15.5, 16.3, 15.2, 14.6, 19.1, 14.4, 21.4, 15.1, 19.6, 21.7, 11.3, 15.0, 14.3, 16.8, 14.0, 6.8, 8.2, 19.9, 20.4, 14.6, 16.4, 18.7, 16.8, 15.8, 20.4, 15.8, 22.4, 16.2, 20.3, 23.4, 12.1, 15.5, 15.4, 18.4, 15.7, 10.2, 8.9, 21.0])\n", + "np.mean(x)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4.334094455301447" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.nanstd(x,ddof=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "14.113000000000001" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.average(x)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "14.5" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.median(x)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2.8" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.nanmin(x)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "23.4" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.nanmax(x)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "14.113000000000001" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.ma.average(x)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dtype('float64')" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.result_type(x)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "plt.hist(x)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "plt.plot(x)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], "metadata": { "kernelspec": { "display_name": "Python 3", @@ -16,10 +236,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.3" + "version": "3.6.4" } }, "nbformat": 4, "nbformat_minor": 2 } - diff --git a/module3/exo1/influenza-like-illness-analysis-Nasir.ipynb b/module3/exo1/influenza-like-illness-analysis-Nasir.ipynb new file mode 100644 index 0000000..43952b5 --- /dev/null +++ b/module3/exo1/influenza-like-illness-analysis-Nasir.ipynb @@ -0,0 +1,2504 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Incidence of influenza-like illness in France" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import isoweek" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The data on the incidence of influenza-like illness are available from the Web site of the [Réseau Sentinelles](http://www.sentiweb.fr/). We download them as a file in CSV format, in which each line corresponds to a week in the observation period. Only the complete dataset, starting in 1984 and ending with a recent week, is available for download." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "data_url = \"http://www.sentiweb.fr/datasets/incidence-PAY-3.csv\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is the documentation of the data from [the download site](https://ns.sentiweb.fr/incidence/csv-schema-v1.json):\n", + "\n", + "| Column name | Description |\n", + "|--------------|---------------------------------------------------------------------------------------------------------------------------|\n", + "| `week` | ISO8601 Yearweek number as numeric (year times 100 + week nubmer) |\n", + "| `indicator` | Unique identifier of the indicator, see metadata document https://www.sentiweb.fr/meta.json |\n", + "| `inc` | Estimated incidence value for the time step, in the geographic level |\n", + "| `inc_low` | Lower bound of the estimated incidence 95% Confidence Interval |\n", + "| `inc_up` | Upper bound of the estimated incidence 95% Confidence Interval |\n", + "| `inc100` | Estimated rate incidence per 100,000 inhabitants |\n", + "| `inc100_low` | Lower bound of the estimated incidence 95% Confidence Interval |\n", + "| `inc100_up` | Upper bound of the estimated rate incidence 95% Confidence Interval |\n", + "| `geo_insee` | Identifier of the geographic area, from INSEE https://www.insee.fr |\n", + "| `geo_name` | Geographic label of the area, corresponding to INSEE code. This label is not an id and is only provided for human reading |\n", + "\n", + "The first line of the CSV file is a comment, which we ignore with `skip=1`." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
weekindicatorincinc_lowinc_upinc100inc100_lowinc100_upgeo_inseegeo_name
0202011310170493652.0109756.0154142.0166.0FRFrance
1202010310497796650.0113304.0159146.0172.0FRFrance
22020093110696102066.0119326.0168155.0181.0FRFrance
32020083143753133984.0153522.0218203.0233.0FRFrance
42020073183610172812.0194408.0279263.0295.0FRFrance
52020063206669195481.0217857.0314297.0331.0FRFrance
62020053187957177445.0198469.0285269.0301.0FRFrance
72020043122331113492.0131170.0186173.0199.0FRFrance
820200337841371330.085496.0119108.0130.0FRFrance
920200235361447654.059574.08172.090.0FRFrance
1020200133685031608.042092.05648.064.0FRFrance
1120195232813523220.033050.04336.050.0FRFrance
1220195132978625042.034530.04538.052.0FRFrance
1320195033422329156.039290.05244.060.0FRFrance
1420194932566221414.029910.03933.045.0FRFrance
1520194832236718055.026679.03427.041.0FRFrance
1620194731866914759.022579.02822.034.0FRFrance
1720194631603012567.019493.02419.029.0FRFrance
182019453101387160.013116.01510.020.0FRFrance
19201944378225010.010634.0128.016.0FRFrance
20201943394876448.012526.0149.019.0FRFrance
21201942377475243.010251.0128.016.0FRFrance
22201941371224720.09524.0117.015.0FRFrance
23201940385055784.011226.0139.017.0FRFrance
24201939370914462.09720.0117.015.0FRFrance
25201938348972891.06903.074.010.0FRFrance
26201937331721367.04977.052.08.0FRFrance
2720193632295728.03862.031.05.0FRFrance
28201935310102.02018.020.04.0FRFrance
2920193431672279.03065.031.05.0FRFrance
.................................
181619852132609619621.032571.04735.059.0FRFrance
181719852032789620885.034907.05138.064.0FRFrance
181819851934315432821.053487.07859.097.0FRFrance
181919851834055529935.051175.07455.093.0FRFrance
182019851733405324366.043740.06244.080.0FRFrance
182119851635036236451.064273.09166.0116.0FRFrance
182219851536388145538.082224.011683.0149.0FRFrance
18231985143134545114400.0154690.0244207.0281.0FRFrance
18241985133197206176080.0218332.0357319.0395.0FRFrance
18251985123245240223304.0267176.0445405.0485.0FRFrance
18261985113276205252399.0300011.0501458.0544.0FRFrance
18271985103353231326279.0380183.0640591.0689.0FRFrance
18281985093369895341109.0398681.0670618.0722.0FRFrance
18291985083389886359529.0420243.0707652.0762.0FRFrance
18301985073471852432599.0511105.0855784.0926.0FRFrance
18311985063565825518011.0613639.01026939.01113.0FRFrance
18321985053637302592795.0681809.011551074.01236.0FRFrance
18331985043424937390794.0459080.0770708.0832.0FRFrance
18341985033213901174689.0253113.0388317.0459.0FRFrance
183519850239758680949.0114223.0177147.0207.0FRFrance
183619850138548965918.0105060.0155120.0190.0FRFrance
183719845238483060602.0109058.0154110.0198.0FRFrance
1838198451310172680242.0123210.0185146.0224.0FRFrance
18391984503123680101401.0145959.0225184.0266.0FRFrance
1840198449310107381684.0120462.0184149.0219.0FRFrance
184119844837862060634.096606.0143110.0176.0FRFrance
184219844737202954274.089784.013199.0163.0FRFrance
184319844638733067686.0106974.0159123.0195.0FRFrance
18441984453135223101414.0169032.0246184.0308.0FRFrance
184519844436842220056.0116788.012537.0213.0FRFrance
\n", + "

1846 rows × 10 columns

\n", + "
" + ], + "text/plain": [ + " week indicator inc inc_low inc_up inc100 inc100_low \\\n", + "0 202011 3 101704 93652.0 109756.0 154 142.0 \n", + "1 202010 3 104977 96650.0 113304.0 159 146.0 \n", + "2 202009 3 110696 102066.0 119326.0 168 155.0 \n", + "3 202008 3 143753 133984.0 153522.0 218 203.0 \n", + "4 202007 3 183610 172812.0 194408.0 279 263.0 \n", + "5 202006 3 206669 195481.0 217857.0 314 297.0 \n", + "6 202005 3 187957 177445.0 198469.0 285 269.0 \n", + "7 202004 3 122331 113492.0 131170.0 186 173.0 \n", + "8 202003 3 78413 71330.0 85496.0 119 108.0 \n", + "9 202002 3 53614 47654.0 59574.0 81 72.0 \n", + "10 202001 3 36850 31608.0 42092.0 56 48.0 \n", + "11 201952 3 28135 23220.0 33050.0 43 36.0 \n", + "12 201951 3 29786 25042.0 34530.0 45 38.0 \n", + "13 201950 3 34223 29156.0 39290.0 52 44.0 \n", + "14 201949 3 25662 21414.0 29910.0 39 33.0 \n", + "15 201948 3 22367 18055.0 26679.0 34 27.0 \n", + "16 201947 3 18669 14759.0 22579.0 28 22.0 \n", + "17 201946 3 16030 12567.0 19493.0 24 19.0 \n", + "18 201945 3 10138 7160.0 13116.0 15 10.0 \n", + "19 201944 3 7822 5010.0 10634.0 12 8.0 \n", + "20 201943 3 9487 6448.0 12526.0 14 9.0 \n", + "21 201942 3 7747 5243.0 10251.0 12 8.0 \n", + "22 201941 3 7122 4720.0 9524.0 11 7.0 \n", + "23 201940 3 8505 5784.0 11226.0 13 9.0 \n", + "24 201939 3 7091 4462.0 9720.0 11 7.0 \n", + "25 201938 3 4897 2891.0 6903.0 7 4.0 \n", + "26 201937 3 3172 1367.0 4977.0 5 2.0 \n", + "27 201936 3 2295 728.0 3862.0 3 1.0 \n", + "28 201935 3 1010 2.0 2018.0 2 0.0 \n", + "29 201934 3 1672 279.0 3065.0 3 1.0 \n", + "... ... ... ... ... ... ... ... \n", + "1816 198521 3 26096 19621.0 32571.0 47 35.0 \n", + "1817 198520 3 27896 20885.0 34907.0 51 38.0 \n", + "1818 198519 3 43154 32821.0 53487.0 78 59.0 \n", + "1819 198518 3 40555 29935.0 51175.0 74 55.0 \n", + "1820 198517 3 34053 24366.0 43740.0 62 44.0 \n", + "1821 198516 3 50362 36451.0 64273.0 91 66.0 \n", + "1822 198515 3 63881 45538.0 82224.0 116 83.0 \n", + "1823 198514 3 134545 114400.0 154690.0 244 207.0 \n", + "1824 198513 3 197206 176080.0 218332.0 357 319.0 \n", + "1825 198512 3 245240 223304.0 267176.0 445 405.0 \n", + "1826 198511 3 276205 252399.0 300011.0 501 458.0 \n", + "1827 198510 3 353231 326279.0 380183.0 640 591.0 \n", + "1828 198509 3 369895 341109.0 398681.0 670 618.0 \n", + "1829 198508 3 389886 359529.0 420243.0 707 652.0 \n", + "1830 198507 3 471852 432599.0 511105.0 855 784.0 \n", + "1831 198506 3 565825 518011.0 613639.0 1026 939.0 \n", + "1832 198505 3 637302 592795.0 681809.0 1155 1074.0 \n", + "1833 198504 3 424937 390794.0 459080.0 770 708.0 \n", + "1834 198503 3 213901 174689.0 253113.0 388 317.0 \n", + "1835 198502 3 97586 80949.0 114223.0 177 147.0 \n", + "1836 198501 3 85489 65918.0 105060.0 155 120.0 \n", + "1837 198452 3 84830 60602.0 109058.0 154 110.0 \n", + "1838 198451 3 101726 80242.0 123210.0 185 146.0 \n", + "1839 198450 3 123680 101401.0 145959.0 225 184.0 \n", + "1840 198449 3 101073 81684.0 120462.0 184 149.0 \n", + "1841 198448 3 78620 60634.0 96606.0 143 110.0 \n", + "1842 198447 3 72029 54274.0 89784.0 131 99.0 \n", + "1843 198446 3 87330 67686.0 106974.0 159 123.0 \n", + "1844 198445 3 135223 101414.0 169032.0 246 184.0 \n", + "1845 198444 3 68422 20056.0 116788.0 125 37.0 \n", + "\n", + " inc100_up geo_insee geo_name \n", + "0 166.0 FR France \n", + "1 172.0 FR France \n", + "2 181.0 FR France \n", + "3 233.0 FR France \n", + "4 295.0 FR France \n", + "5 331.0 FR France \n", + "6 301.0 FR France \n", + "7 199.0 FR France \n", + "8 130.0 FR France \n", + "9 90.0 FR France \n", + "10 64.0 FR France \n", + "11 50.0 FR France \n", + "12 52.0 FR France \n", + "13 60.0 FR France \n", + "14 45.0 FR France \n", + "15 41.0 FR France \n", + "16 34.0 FR France \n", + "17 29.0 FR France \n", + "18 20.0 FR France \n", + "19 16.0 FR France \n", + "20 19.0 FR France \n", + "21 16.0 FR France \n", + "22 15.0 FR France \n", + "23 17.0 FR France \n", + "24 15.0 FR France \n", + "25 10.0 FR France \n", + "26 8.0 FR France \n", + "27 5.0 FR France \n", + "28 4.0 FR France \n", + "29 5.0 FR France \n", + "... ... ... ... \n", + "1816 59.0 FR France \n", + "1817 64.0 FR France \n", + "1818 97.0 FR France \n", + "1819 93.0 FR France \n", + "1820 80.0 FR France \n", + "1821 116.0 FR France \n", + "1822 149.0 FR France \n", + "1823 281.0 FR France \n", + "1824 395.0 FR France \n", + "1825 485.0 FR France \n", + "1826 544.0 FR France \n", + "1827 689.0 FR France \n", + "1828 722.0 FR France \n", + "1829 762.0 FR France \n", + "1830 926.0 FR France \n", + "1831 1113.0 FR France \n", + "1832 1236.0 FR France \n", + "1833 832.0 FR France \n", + "1834 459.0 FR France \n", + "1835 207.0 FR France \n", + "1836 190.0 FR France \n", + "1837 198.0 FR France \n", + "1838 224.0 FR France \n", + "1839 266.0 FR France \n", + "1840 219.0 FR France \n", + "1841 176.0 FR France \n", + "1842 163.0 FR France \n", + "1843 195.0 FR France \n", + "1844 308.0 FR France \n", + "1845 213.0 FR France \n", + "\n", + "[1846 rows x 10 columns]" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "raw_data = pd.read_csv(data_url, skiprows=1)\n", + "raw_data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Are there missing data points? Yes, week 19 of year 1989 does not have any observed values." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
weekindicatorincinc_lowinc_upinc100inc100_lowinc100_upgeo_inseegeo_name
160919891930NaNNaN0NaNNaNFRFrance
\n", + "
" + ], + "text/plain": [ + " week indicator inc inc_low inc_up inc100 inc100_low inc100_up \\\n", + "1609 198919 3 0 NaN NaN 0 NaN NaN \n", + "\n", + " geo_insee geo_name \n", + "1609 FR France " + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "raw_data[raw_data.isnull().any(axis=1)]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We delete this point, which does not have big consequence for our rather simple analysis." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
weekindicatorincinc_lowinc_upinc100inc100_lowinc100_upgeo_inseegeo_name
0202011310170493652.0109756.0154142.0166.0FRFrance
1202010310497796650.0113304.0159146.0172.0FRFrance
22020093110696102066.0119326.0168155.0181.0FRFrance
32020083143753133984.0153522.0218203.0233.0FRFrance
42020073183610172812.0194408.0279263.0295.0FRFrance
52020063206669195481.0217857.0314297.0331.0FRFrance
62020053187957177445.0198469.0285269.0301.0FRFrance
72020043122331113492.0131170.0186173.0199.0FRFrance
820200337841371330.085496.0119108.0130.0FRFrance
920200235361447654.059574.08172.090.0FRFrance
1020200133685031608.042092.05648.064.0FRFrance
1120195232813523220.033050.04336.050.0FRFrance
1220195132978625042.034530.04538.052.0FRFrance
1320195033422329156.039290.05244.060.0FRFrance
1420194932566221414.029910.03933.045.0FRFrance
1520194832236718055.026679.03427.041.0FRFrance
1620194731866914759.022579.02822.034.0FRFrance
1720194631603012567.019493.02419.029.0FRFrance
182019453101387160.013116.01510.020.0FRFrance
19201944378225010.010634.0128.016.0FRFrance
20201943394876448.012526.0149.019.0FRFrance
21201942377475243.010251.0128.016.0FRFrance
22201941371224720.09524.0117.015.0FRFrance
23201940385055784.011226.0139.017.0FRFrance
24201939370914462.09720.0117.015.0FRFrance
25201938348972891.06903.074.010.0FRFrance
26201937331721367.04977.052.08.0FRFrance
2720193632295728.03862.031.05.0FRFrance
28201935310102.02018.020.04.0FRFrance
2920193431672279.03065.031.05.0FRFrance
.................................
181619852132609619621.032571.04735.059.0FRFrance
181719852032789620885.034907.05138.064.0FRFrance
181819851934315432821.053487.07859.097.0FRFrance
181919851834055529935.051175.07455.093.0FRFrance
182019851733405324366.043740.06244.080.0FRFrance
182119851635036236451.064273.09166.0116.0FRFrance
182219851536388145538.082224.011683.0149.0FRFrance
18231985143134545114400.0154690.0244207.0281.0FRFrance
18241985133197206176080.0218332.0357319.0395.0FRFrance
18251985123245240223304.0267176.0445405.0485.0FRFrance
18261985113276205252399.0300011.0501458.0544.0FRFrance
18271985103353231326279.0380183.0640591.0689.0FRFrance
18281985093369895341109.0398681.0670618.0722.0FRFrance
18291985083389886359529.0420243.0707652.0762.0FRFrance
18301985073471852432599.0511105.0855784.0926.0FRFrance
18311985063565825518011.0613639.01026939.01113.0FRFrance
18321985053637302592795.0681809.011551074.01236.0FRFrance
18331985043424937390794.0459080.0770708.0832.0FRFrance
18341985033213901174689.0253113.0388317.0459.0FRFrance
183519850239758680949.0114223.0177147.0207.0FRFrance
183619850138548965918.0105060.0155120.0190.0FRFrance
183719845238483060602.0109058.0154110.0198.0FRFrance
1838198451310172680242.0123210.0185146.0224.0FRFrance
18391984503123680101401.0145959.0225184.0266.0FRFrance
1840198449310107381684.0120462.0184149.0219.0FRFrance
184119844837862060634.096606.0143110.0176.0FRFrance
184219844737202954274.089784.013199.0163.0FRFrance
184319844638733067686.0106974.0159123.0195.0FRFrance
18441984453135223101414.0169032.0246184.0308.0FRFrance
184519844436842220056.0116788.012537.0213.0FRFrance
\n", + "

1845 rows × 10 columns

\n", + "
" + ], + "text/plain": [ + " week indicator inc inc_low inc_up inc100 inc100_low \\\n", + "0 202011 3 101704 93652.0 109756.0 154 142.0 \n", + "1 202010 3 104977 96650.0 113304.0 159 146.0 \n", + "2 202009 3 110696 102066.0 119326.0 168 155.0 \n", + "3 202008 3 143753 133984.0 153522.0 218 203.0 \n", + "4 202007 3 183610 172812.0 194408.0 279 263.0 \n", + "5 202006 3 206669 195481.0 217857.0 314 297.0 \n", + "6 202005 3 187957 177445.0 198469.0 285 269.0 \n", + "7 202004 3 122331 113492.0 131170.0 186 173.0 \n", + "8 202003 3 78413 71330.0 85496.0 119 108.0 \n", + "9 202002 3 53614 47654.0 59574.0 81 72.0 \n", + "10 202001 3 36850 31608.0 42092.0 56 48.0 \n", + "11 201952 3 28135 23220.0 33050.0 43 36.0 \n", + "12 201951 3 29786 25042.0 34530.0 45 38.0 \n", + "13 201950 3 34223 29156.0 39290.0 52 44.0 \n", + "14 201949 3 25662 21414.0 29910.0 39 33.0 \n", + "15 201948 3 22367 18055.0 26679.0 34 27.0 \n", + "16 201947 3 18669 14759.0 22579.0 28 22.0 \n", + "17 201946 3 16030 12567.0 19493.0 24 19.0 \n", + "18 201945 3 10138 7160.0 13116.0 15 10.0 \n", + "19 201944 3 7822 5010.0 10634.0 12 8.0 \n", + "20 201943 3 9487 6448.0 12526.0 14 9.0 \n", + "21 201942 3 7747 5243.0 10251.0 12 8.0 \n", + "22 201941 3 7122 4720.0 9524.0 11 7.0 \n", + "23 201940 3 8505 5784.0 11226.0 13 9.0 \n", + "24 201939 3 7091 4462.0 9720.0 11 7.0 \n", + "25 201938 3 4897 2891.0 6903.0 7 4.0 \n", + "26 201937 3 3172 1367.0 4977.0 5 2.0 \n", + "27 201936 3 2295 728.0 3862.0 3 1.0 \n", + "28 201935 3 1010 2.0 2018.0 2 0.0 \n", + "29 201934 3 1672 279.0 3065.0 3 1.0 \n", + "... ... ... ... ... ... ... ... \n", + "1816 198521 3 26096 19621.0 32571.0 47 35.0 \n", + "1817 198520 3 27896 20885.0 34907.0 51 38.0 \n", + "1818 198519 3 43154 32821.0 53487.0 78 59.0 \n", + "1819 198518 3 40555 29935.0 51175.0 74 55.0 \n", + "1820 198517 3 34053 24366.0 43740.0 62 44.0 \n", + "1821 198516 3 50362 36451.0 64273.0 91 66.0 \n", + "1822 198515 3 63881 45538.0 82224.0 116 83.0 \n", + "1823 198514 3 134545 114400.0 154690.0 244 207.0 \n", + "1824 198513 3 197206 176080.0 218332.0 357 319.0 \n", + "1825 198512 3 245240 223304.0 267176.0 445 405.0 \n", + "1826 198511 3 276205 252399.0 300011.0 501 458.0 \n", + "1827 198510 3 353231 326279.0 380183.0 640 591.0 \n", + "1828 198509 3 369895 341109.0 398681.0 670 618.0 \n", + "1829 198508 3 389886 359529.0 420243.0 707 652.0 \n", + "1830 198507 3 471852 432599.0 511105.0 855 784.0 \n", + "1831 198506 3 565825 518011.0 613639.0 1026 939.0 \n", + "1832 198505 3 637302 592795.0 681809.0 1155 1074.0 \n", + "1833 198504 3 424937 390794.0 459080.0 770 708.0 \n", + "1834 198503 3 213901 174689.0 253113.0 388 317.0 \n", + "1835 198502 3 97586 80949.0 114223.0 177 147.0 \n", + "1836 198501 3 85489 65918.0 105060.0 155 120.0 \n", + "1837 198452 3 84830 60602.0 109058.0 154 110.0 \n", + "1838 198451 3 101726 80242.0 123210.0 185 146.0 \n", + "1839 198450 3 123680 101401.0 145959.0 225 184.0 \n", + "1840 198449 3 101073 81684.0 120462.0 184 149.0 \n", + "1841 198448 3 78620 60634.0 96606.0 143 110.0 \n", + "1842 198447 3 72029 54274.0 89784.0 131 99.0 \n", + "1843 198446 3 87330 67686.0 106974.0 159 123.0 \n", + "1844 198445 3 135223 101414.0 169032.0 246 184.0 \n", + "1845 198444 3 68422 20056.0 116788.0 125 37.0 \n", + "\n", + " inc100_up geo_insee geo_name \n", + "0 166.0 FR France \n", + "1 172.0 FR France \n", + "2 181.0 FR France \n", + "3 233.0 FR France \n", + "4 295.0 FR France \n", + "5 331.0 FR France \n", + "6 301.0 FR France \n", + "7 199.0 FR France \n", + "8 130.0 FR France \n", + "9 90.0 FR France \n", + "10 64.0 FR France \n", + "11 50.0 FR France \n", + "12 52.0 FR France \n", + "13 60.0 FR France \n", + "14 45.0 FR France \n", + "15 41.0 FR France \n", + "16 34.0 FR France \n", + "17 29.0 FR France \n", + "18 20.0 FR France \n", + "19 16.0 FR France \n", + "20 19.0 FR France \n", + "21 16.0 FR France \n", + "22 15.0 FR France \n", + "23 17.0 FR France \n", + "24 15.0 FR France \n", + "25 10.0 FR France \n", + "26 8.0 FR France \n", + "27 5.0 FR France \n", + "28 4.0 FR France \n", + "29 5.0 FR France \n", + "... ... ... ... \n", + "1816 59.0 FR France \n", + "1817 64.0 FR France \n", + "1818 97.0 FR France \n", + "1819 93.0 FR France \n", + "1820 80.0 FR France \n", + "1821 116.0 FR France \n", + "1822 149.0 FR France \n", + "1823 281.0 FR France \n", + "1824 395.0 FR France \n", + "1825 485.0 FR France \n", + "1826 544.0 FR France \n", + "1827 689.0 FR France \n", + "1828 722.0 FR France \n", + "1829 762.0 FR France \n", + "1830 926.0 FR France \n", + "1831 1113.0 FR France \n", + "1832 1236.0 FR France \n", + "1833 832.0 FR France \n", + "1834 459.0 FR France \n", + "1835 207.0 FR France \n", + "1836 190.0 FR France \n", + "1837 198.0 FR France \n", + "1838 224.0 FR France \n", + "1839 266.0 FR France \n", + "1840 219.0 FR France \n", + "1841 176.0 FR France \n", + "1842 163.0 FR France \n", + "1843 195.0 FR France \n", + "1844 308.0 FR France \n", + "1845 213.0 FR France \n", + "\n", + "[1845 rows x 10 columns]" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data = raw_data.dropna().copy()\n", + "data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Our dataset uses an uncommon encoding; the week number is attached\n", + "to the year number, leaving the impression of a six-digit integer.\n", + "That is how Pandas interprets it.\n", + "\n", + "A second problem is that Pandas does not know about week numbers.\n", + "It needs to be given the dates of the beginning and end of the week.\n", + "We use the library `isoweek` for that.\n", + "\n", + "Since the conversion is a bit lengthy, we write a small Python \n", + "function for doing it. Then we apply it to all points in our dataset. \n", + "The results go into a new column 'period'." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "def convert_week(year_and_week_int):\n", + " year_and_week_str = str(year_and_week_int)\n", + " year = int(year_and_week_str[:4])\n", + " week = int(year_and_week_str[4:])\n", + " w = isoweek.Week(year, week)\n", + " return pd.Period(w.day(0), 'W')\n", + "\n", + "data['period'] = [convert_week(yw) for yw in data['week']]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "There are two more small changes to make.\n", + "\n", + "First, we define the observation periods as the new index of\n", + "our dataset. That turns it into a time series, which will be\n", + "convenient later on.\n", + "\n", + "Second, we sort the points chronologically." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "sorted_data = data.set_index('period').sort_index()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We check the consistency of the data. Between the end of a period and\n", + "the beginning of the next one, the difference should be zero, or very small.\n", + "We tolerate an error of one second.\n", + "\n", + "This is OK except for one pair of consecutive periods between which\n", + "a whole week is missing.\n", + "\n", + "We recognize the dates: it's the week without observations that we\n", + "have deleted earlier!" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1989-05-01/1989-05-07 1989-05-15/1989-05-21\n" + ] + } + ], + "source": [ + "periods = sorted_data.index\n", + "for p1, p2 in zip(periods[:-1], periods[1:]):\n", + " delta = p2.to_timestamp() - p1.end_time\n", + " if delta > pd.Timedelta('1s'):\n", + " print(p1, p2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A first look at the data!" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "sorted_data['inc'].plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A zoom on the last few years shows more clearly that the peaks are situated in winter." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY0AAAEKCAYAAADuEgmxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJztvXl8nOV57/29ZkajXbJWb7Kx8RIwEExwDIRsDQkm6WmgDbTmkwa3pYc0IT3J25yeQE/fl4SU05CTJi1JQ0ICDdA0QFZICqEOBAhLDIaw2QYsgxfZRpKtXaPZr/eP537kkTSSRtJoGen6fj7zmdE9z33PPY9m5vdcy33doqoYhmEYRi4EZnsChmEYRuFgomEYhmHkjImGYRiGkTMmGoZhGEbOmGgYhmEYOWOiYRiGYeSMiYZhGIaRMyYahmEYRs6YaBiGYRg5E5rtCeSb+vp6XbVq1WxPwzAMo6B49tlnj6lqw3jHzTvRWLVqFTt37pztaRiGYRQUInIgl+PMPWUYhmHkjImGYRiGkTM5i4aIBEXkdyLyC/d3rYhsF5G97r4m49hrRaRZRF4VkS0Z7WeLyEvuuZtERFx7sYjc7dp3iMiqjD7b3GvsFZFt+XjThmEYxuSYiKXxaWBPxt/XAA+p6jrgIfc3IrIB2AqcBlwEfFNEgq7PzcBVwDp3u8i1Xwl0qupa4GvAjW6sWuA64BxgM3BdpjgZhmEYM0tOoiEiTcDvA9/NaL4YuN09vh24JKP9LlWNqeobQDOwWUSWAlWq+pR6m3jcMayPP9aPgAucFbIF2K6qHaraCWznhNAYhmEYM0yulsY/A/8LSGe0LVbVowDuvtG1LwcOZRzX4tqWu8fD24f0UdUk0A3UjTHWEETkKhHZKSI729vbc3xLhmEYxkQZVzRE5L8Bbar6bI5jSpY2HaN9sn1ONKjeoqqbVHVTQ8O4acaGYRjGJMnF0jgf+LCI7AfuAt4nIv8OtDqXE+6+zR3fAqzI6N8EHHHtTVnah/QRkRBQDXSMMZZhGAXIb/a288ax/tmehjEFxhUNVb1WVZtUdRVegPthVf1T4D7Az2baBtzrHt8HbHUZUavxAt5POxdWr4ic6+IVVwzr4491qXsNBR4ELhSRGhcAv9C1GYZRgHzmrue55bF9sz0NYwpMZUX4l4B7RORK4CBwGYCq7hKRe4DdQBK4WlVTrs8ngO8BpcAD7gZwK3CniDTjWRhb3VgdIvJF4Bl33PWq2jGFORuGMUuk0kpHJE4knhr/YGPOMiHRUNVHgEfc4+PABaMcdwNwQ5b2ncDpWdqjONHJ8txtwG0TmadhGHOPrkgcVYgmTDQKGVsRbhjGjNAZiQMQTaTHOdKYy5hoGIYxI3T0JwCzNAodEw3DMGaEjn5naSTN0ihkTDQMw5gRfNGImaVR0JhoGIYxI5yIaZhoFDImGoZhzAiD7ikLhBc0JhqGYcwInYMxDbM0ChkTDcMwZoTj/eaemg+YaBiGMSNkrtPwqgQZhYiJhmEYM4If0wCIWdptwWKiYRjGjNDZHycU8HY7iFkwvGAx0TAMY9qJJlL0x1Msrirx/rZgeMFiomEYxrTjxzOWLXKiYcHwgsVEwzCMacePZyytLgVsrUYhY6JhGMa00+mKFS5b5IuGWRqFiomGYRjTzvH+GGDuqfnAuKIhIiUi8rSIvCAiu0TkC6798yJyWESed7cPZfS5VkSaReRVEdmS0X62iLzknrvJbfuK2xr2bte+Q0RWZfTZJiJ73W0bhmEUHF0Rz9JYMhgIN/dUoZLLzn0x4H2q2iciRcDjIuJv0/o1Vf1K5sEisgFvu9bTgGXAr0Rkvdvy9WbgKuC3wP3ARXhbvl4JdKrqWhHZCtwI/ImI1ALXAZsABZ4VkftUtXNqb9swjJkk5rKlasrDgFkahcy4loZ69Lk/i9xtrOWcFwN3qWpMVd8AmoHNIrIUqFLVp9RbDnoHcElGn9vd4x8BFzgrZAuwXVU7nFBsxxMawzAKiLizLKpKigATjUImp5iGiARF5HmgDe9HfId76lMi8qKI3CYiNa5tOXAoo3uLa1vuHg9vH9JHVZNAN1A3xljD53eViOwUkZ3t7e25vCXDMGaQeDKNCJQXBwFb3FfI5CQaqppS1Y1AE57VcDqeq2kNsBE4CvyTO1yyDTFG+2T7ZM7vFlXdpKqbGhoaxnwvhmHMPLFUmnAwQEmRJxq2uK9wmVD2lKp2AY8AF6lqqxOTNPAdYLM7rAVYkdGtCTji2puytA/pIyIhoBroGGMswzAKiHhymGiYe6pgySV7qkFEFrnHpcD7gVdcjMLnD4GX3eP7gK0uI2o1sA54WlWPAr0icq6LV1wB3JvRx8+MuhR42MU9HgQuFJEa5/660LUZhlFAxJNpwqEAJSHvJ8cW9xUuuWRPLQVuF5Egnsjco6q/EJE7RWQjnrtoP/BxAFXdJSL3ALuBJHC1y5wC+ATwPaAUL2vKz8K6FbhTRJrxLIytbqwOEfki8Iw77npV7ZjC+zUMYxZIpDzRCAUDhAJilkYBM65oqOqLwFlZ2j82Rp8bgBuytO8ETs/SHgUuG2Ws24DbxpunYRhzF9/SACgpCpqlUcDYinDDMKaduAuEA5QUBSwQXsCYaBiGMe3Ek2mKnGgUh4LmnipgTDQMw5h2YkPcUwFbp1HAmGgYhjHt+IFw8GMaZmkUKiYahmFMO/FkmuJM0bCYRsFiomEYxrQTT52IaZQUBSx7qoAx0TAMY9rxV4SDBcILHRMNwzCmnfiwQLiJRuFiomEYxrSTSOkJ0QjZ4r5CxkTDMIxpJzPltrgoOLgpk1F4mGgYhjHtxJOpoSvCzdIoWEw0DMOYduK2TmPeYKJhGMa0k5k9VRIKkkwryZRZG4WIiYZhGNNKKq2klSHZUwDRpIlGIWKiYRjGtBJ34pDpngLbva9QMdEwDGNa8UUjc0U4mGgUKrls91oiIk+LyAsisktEvuDaa0Vku4jsdfc1GX2uFZFmEXlVRLZktJ8tIi+5525y277itoa927XvEJFVGX22udfYKyLbMAyjoIilPHEYTLkNeZZGIqWzNidj8uRiacSA96nqmcBG4CIRORe4BnhIVdcBD7m/EZENeNu1ngZcBHzTbRULcDNwFd6+4evc8wBXAp2quhb4GnCjG6sWuA44B9gMXJcpToZhzH18S6PYWRq+xZGwQHhBMq5oqEef+7PI3RS4GLjdtd8OXOIeXwzcpaoxVX0DaAY2i8hSoEpVn1JVBe4Y1scf60fABc4K2QJsV9UOVe0EtnNCaAzDKAB8i8K3NEJBAU6IiVFY5BTTEJGgiDwPtOH9iO8AFqvqUQB33+gOXw4cyuje4tqWu8fD24f0UdUk0A3UjTGWYeSd3+xt55bH9s32NOYdwwPhYbM0CpqcRENVU6q6EWjCsxpOH+NwyTbEGO2T7XPiBUWuEpGdIrKzvb19jKkZxuj89LnDfPvR12d7GvOO4YFw/z6ZtphGITKh7ClV7QIewXMRtTqXE+6+zR3WAqzI6NYEHHHtTVnah/QRkRBQDXSMMdbwed2iqptUdVNDQ8NE3pJhDBKJp+iPJ2d7GvOO+LBAeJFzTyXMPVWQ5JI91SAii9zjUuD9wCvAfYCfzbQNuNc9vg/Y6jKiVuMFvJ92LqxeETnXxSuuGNbHH+tS4GEX93gQuFBEalwA/ELXZhh5J5JIEU2kbaVynon57qmgH9Pw7uN2nguSUA7HLAVudxlQAeAeVf2FiDwF3CMiVwIHgcsAVHWXiNwD7AaSwNWq6idkfwL4HlAKPOBuALcCd4pIM56FsdWN1SEiXwSeccddr6odU3nDhjEaA87KiCRSVAVtCVO+GD2mYe6pQmRc0VDVF4GzsrQfBy4Ypc8NwA1Z2ncCI+IhqhrFiU6W524DbhtvnoYxVfpj3rVNJJaiqqRolmczf/DFwd8jvCjk3FNmaRQkdjllGI4Bt0LZ4hr5ZbRAuIlGYWKiYRiOiBOL/piJRj4ZHgg391RhY6JhGI5I3FkaMauJlE+GxzT8xX1maRQmJhqGAagqA040IuaeyivxYdlT5p4qbEw0DAMv/dNfbNZn7qm8Eh9WRqTI3FMFjYmGYcCglQEn3FRGfhhuaVgZkcLGRMMwGCoUFgjPL8NjGrYivLAx0TAMhoqGWRr5JZ5KEQwIwYAnFv69WRqFiYmGYTDUPWWWRn6JJ9ODLikAESEcDAzGOozCwkTDMBi6oM8W9+WXREoHXVI+RUGxGl8FionGPOeRV9u44T93z/Y05jxDAuG2TiOvxJJpwqHgkLaiUMDcUwWKicY8JpVWvvDz3XznN2/Q0hmZ7enMafw4RjAgZmnkmXgyPVh3yicUMPdUoWKiMY/51Z5W3jjWD8Bjrx2b5dnMbfwFfbXlYVsRnmfiqfRg5pRPOChmaRQoJhrzmFsee52mmlKWVZfw6Gtt43dYwPjFChsqis3SyDPxZGpIIBw895TFNAoTE415ykN7Wnn2QCf//V0n8563NPJE83G7shsD37poqCy2mEaeSaR0sBy6T1EwYCvCCxQTjXlINJHi8z/fxdrGCi7fvJL3rG+gL5bkuQOdsz21OctAPIkI1JWHrYxInhmecgueaNjOfYVJLtu9rhCRX4vIHhHZJSKfdu2fF5HDIvK8u30oo8+1ItIsIq+KyJaM9rNF5CX33E1u21fc1rB3u/YdIrIqo882EdnrbtswxuXfntjPoY4Brr/4NMKhAO9YWwfAswdNNEYjEk9RWhSkvDhkBQvzTDw5MqZRZDGNgiWX7V6TwGdV9TkRqQSeFZHt7rmvqepXMg8WkQ1427WeBiwDfiUi692WrzcDVwG/Be4HLsLb8vVKoFNV14rIVuBG4E9EpBa4DtgEqHvt+1TVfv3G4IVDXaxpKOcda+oBqCopIhwM0Bu1H8PRiCRSlIWDlBUH6bcV4XkllkpTHR66E6LnnjLRKETGtTRU9aiqPuce9wJ7gOVjdLkYuEtVY6r6BtAMbBaRpUCVqj6lqgrcAVyS0ed29/hHwAXOCtkCbFfVDicU2/GExhiDtt4oi6tKhrSVFQdtpfMYDMRTlIaDVIRDxJNp+0HLI9ndU2IxjQJlQjEN5zY6C9jhmj4lIi+KyG0iUuPalgOHMrq1uLbl7vHw9iF9VDUJdAN1Y4xljEFbb2yEaJSHQ5ZKOgb9sSTl4RBlxZ7xbcHw/JFIpQlnDYSbMBciOYuGiFQAPwY+o6o9eK6mNcBG4CjwT/6hWbrrGO2T7ZM5t6tEZKeI7Gxvbx/zfcx3VJW2nhiNlcVD2svN0hiTgYRnaZSHvZXLlnabP0YLhJtoFCY5iYaIFOEJxvdV9ScAqtqqqilVTQPfATa7w1uAFRndm4Ajrr0pS/uQPiISAqqBjjHGGoKq3qKqm1R1U0NDQy5vad7SPZAgnkrTMEI0QvZDOAaRuBfTKPctDTtXeWPUQHjS3FOFSC7ZUwLcCuxR1a9mtC/NOOwPgZfd4/uArS4jajWwDnhaVY8CvSJyrhvzCuDejD5+ZtSlwMMu7vEgcKGI1Dj314WuzRiFtt4YAI1Z3VP2QzgaXvZUiPJiz9LoM/dU3si2IrwoGCCRNkujEMkle+p84GPASyLyvGv7O+ByEdmI5y7aD3wcQFV3icg9wG68zKurXeYUwCeA7wGleFlTD7j2W4E7RaQZz8LY6sbqEJEvAs+4465X1Y7JvdWFQVuPE41hlkZZOMixvthsTKkgiMSTXvZU2I9pmMDmC889NbRgYdjcUwXLuKKhqo+TPbZw/xh9bgBuyNK+Ezg9S3sUuGyUsW4DbhtvnoZHW28UGCkaFeaeGhPfPVXh3FOWdps/4sl09hXh5p4qSGxF+DxjNPeUl3JrP4SjMRBPURYOUeYC4RbTyA/ptBJPpSkZVho9ZIv7ChYTjXlGW09syBWzT3mxxTRGQ1UH3VN+INxKieQHv1RISdGw/TSsjEjBYqIxz2jtjY5wTYEXCI8l01ZZNAuxZJq0Qmk4SFWJt3K5eyAxy7OaH0Rd9eDh+2mEQwGStrivIDHRmGe098RGuKaAwSto89WPxN+AqSwcpDQcpLQoSEdffJZnNT+IJb2LlOIiqz01XzDRmGe0jWppuEVr5nYZgR+/8OMZteVhOvpNNPJBLOHcU8NjGoEAybSSTpu1UWiYaMwz2npjNFaOtDTKbNHaqEQTQ/3udRVhjpto5IVo0rmnika6pwBbq1GAmGjMI/piSSLxFI1VIy2NClu0Niox/4ctZJZGvvEtjeLQ8EC4l4JrRQsLDxONeUS7S7dtqBgpGrZobXTiw/zuJhr5wxfkkhExDe9vS8woPEw05hHH3YrvuorwiOds0droDAZrncuktizM8X5bPZ8PTpzbkSm3gKXdFiAmGvMI3w9fn9XSsED4aIwQjYow0USaARPYKTNayq25pwoXE415xHGXJlpbPtLSOJFya6IxnFhiaEyjzp0/szamzugpty4QnjRLo9Aw0ZhHdLgfuTFFwyyNEYywNMo9S83iGlNnMKYxinsqadlTBYeJxjzieH+c8nBwRMkGgLIi3z1lLpfhxIf53WsHLQ0TjanipzOPZmnErWhhwWGiMY/o6I9TlyWeARAICGVh270vG8NdKL57ylaFT53hrj8ff/tXWxVeeJhozCM6+uNZXVM+ZeGQZU9l4cQ6De/rUOOLhlkaU8YX5OEpt6GAi2mYaBQcJhrziGN98cGr5GxU2D7hWfF/2PxVylUlIYqCYu6pPDB4brPsEQ6WcjsRkqk0L7Z0zfY0ctrudYWI/FpE9ojILhH5tGuvFZHtIrLX3ddk9LlWRJpF5FUR2ZLRfraIvOSeu8lt+4rbGvZu175DRFZl9NnmXmOviGzDGJWO/ti4loaVERmJv2rZ/2ETEWrKwnSaaEyZaCJFKCCEhomG756ySre5c+/zR/jwN57gUEdkVueRi6WRBD6rqqcC5wJXi8gG4BrgIVVdBzzk/sY9txU4DbgI+KaI+A7Nm4Gr8PYNX+eeB7gS6FTVtcDXgBvdWLXAdcA5wGbgukxxMk6gqmPGNADKbSOmrMRTI3/Yasut/lQ+iCXTWRMzBlNuzdLImd1HewDY1943q/MYVzRU9aiqPuce9wJ7gOXAxcDt7rDbgUvc44uBu1Q1pqpvAM3AZhFZClSp6lOqqsAdw/r4Y/0IuMBZIVuA7araoaqdwHZOCI2RQW8sSSKlY7qnym3L16zEEukRi8/qKsKDKczG5IklUyPOLVhMYzLsbfPEohAsjUGc2+gsYAewWFWPgicsQKM7bDlwKKNbi2tb7h4Pbx/SR1WTQDdQN8ZYxjA6xljY51Mett37shFLpikedjVcW15sgfA8EM0iyHDCPRU391TO7HOicbBQRENEKoAfA59R1Z6xDs3SpmO0T7ZP5tyuEpGdIrKzvb19jKnNX/zVy7VZ6k75mHsqO7FkakSgtq48zPG+OJ5RbEyW8dxTVrAwN/piSQ53DQAFIhoiUoQnGN9X1Z+45lbncsLdt7n2FmBFRvcm4Ihrb8rSPqSPiISAaqBjjLGGoKq3qOomVd3U0NCQy1uad/glROrLR49peCm3ZmkMx7M0hn4VmmpK6Y0lzdqYIrFEajArLROLaUwM38oIBwMc7BiY1bnkkj0lwK3AHlX9asZT9wF+NtM24N6M9q0uI2o1XsD7aefC6hWRc92YVwzr4491KfCwi3s8CFwoIjUuAH6hazOG4f+4jW9pJO3qeRjx5EgXyprGCgBeP9Y/G1OaN2Rz/UFmyq19FnOh2YnGOSfXcqgjMqvf4VwsjfOBjwHvE5Hn3e1DwJeAD4jIXuAD7m9UdRdwD7Ab+CVwtar6PpFPAN/FC47vAx5w7bcCdSLSDPwNLhNLVTuALwLPuNv1rs0Yhp/pM1YgvCwcIq1WWXQ4sWR6xIrlNfVONGY5U6XQiSayB8IHq9xawcKc2NvWR1FQeNe6evpiSboiiVmbS2i8A1T1cbLHFgAuGKXPDcANWdp3AqdnaY8Cl40y1m3AbePNc6HT0R+nbJS6Uz6+3z6WzO4yWKhky/BZXlNKOBRgX7tZGlMhlkxTVVo0ot3cUxOjua2X1fXlrHYXMwc7IoOVC2Ya++WYJxzvG3thH5yorRSzq7shxBIjYxrBgLC6rtwsjSkSy+L6g8wqt2b15kJzWx9rGytYWVsGzG4w3ERjntATTbKobOQVXSb+l9dEYyixZHpE9hTAmsZyszSmSGwc91TcPos50RlJ0FhZQlNNKWCiYeSB/lhycB/w0fD99vZFHUo8S0wD4OT6Cg52ROx8TYHRUm5FhFBAzD2VI5F4krJwkPLiEPUV4Vld4GeiMU/ojycH9wEfjROWhq3VyCSWTI1wT4FnaaTSysEOszYmy2grwsFzUZlojE88mSaR0sEtm5dUl9DWO3vVCkw05gn9sdTg7nyj4Qe//QJ9hsdofvc1DV7Q0VxUk8cr0ZI9OaMoKJbJlwN+kVHfk1BTFp7V9UMmGvOEvliSiuLRM6fghHvKYhpDyZZyC3ByQwUBgR/ubDEX1SSJJlMj9tLwCYfM0sgFfw+ccvf9rikL0xUx0TCmSCSXmEaRuaeyMdqq5YriEH/3oVP51Z5Wrv6P52xR5ARJpZVESsewNEw0ciESG25pFM2qpTHuOg1j7pNOK/3x8d1TvgvGrpqHEk9ld08B/OW7TqYzEudff72P9r4YjZUlMzy7wiWezL4/uE/I3FM5ERluaZSH6YkmSabSI/YpmQnM0pgHRNw+zOaemjjjXQ0DnL+2HoDX3rQ1GxMhmhi6je5wioIBu4DJgf4sMQ2AroHZWRVuojEP8Mud5xwIN/fUIONdDQO8ZXElAK+8OVZxZ2M4J/YHzy7IJaGgfRZzIOIqU5f7ouEW8c7WzpImGvOAQdEYd52GZU8Nx//RGu1qGKCuopj6ijCvtfbO1LTmBeOd25KiAFH7LI7LoKXhPAm1ztLonKX6UyYa8wB/j4ycYxoWfBzEvxoeyz0FsH5xJa+2mntqIox3bkvDQQYSZmmMx2BMw10U+pUfZisYbqIxD+gbdE+NE9NwbgKzNE7gu6fGK+D4liWV7G3tJW21knLGj2mMlnJbEgoOHmOMju9JKHWL+/wac7OVdmuiMQ/wP1S2Inzi5OKeAi+uEYmnaOmc3Q1wConxLI2SIhONXPAtDX9FuB8I7zDRMCbL8OyK0QgFBBHLnsrE96mPJxrrl3jB8FctrpEzvkU7WpJBscU0ciIS99YR+ZWBS8NBSooCFgg3Jo8f0xjP0hARikMBE40MBq+Gx9iHBGCd28nvVcugyplB99RoMQ2zNHIiEk9SHh56DmvKwnM3EC4it4lIm4i8nNH2eRE5PGwnP/+5a0WkWUReFZEtGe1ni8hL7rmb3JavuG1h73btO0RkVUafbSKy19387WCNYfTnGNMAz1VgufEnGEy5HcfSqCwpYll1CXvbLBieK7Fx0pnNPZUb/bHUCC9CTVl4Tlsa3wMuytL+NVXd6G73A4jIBmArcJrr800R8X/JbgauwtszfF3GmFcCnaq6FvgacKMbqxa4DjgH2Axc5/YJN4aRq3sKcJaGfVF9/HORy06GaxorBvdqNsYnp5TbZNrKs4xDJJ4ccUFYU15E51yNaajqY0Cu+3JfDNylqjFVfQNvL/DNIrIUqFLVp9T7hNwBXJLR53b3+EfABc4K2QJsV9UOVe0EtpNdvBY8/bEkpUVBgoHRduU9QXFRwLKnMojlaGkArG2sYF97n2VQ5Ugui/v8FfnG6PTHR7E05qp7agw+JSIvOveVbwEsBw5lHNPi2pa7x8Pbh/RR1STQDdSNMZYxjL4cyqL7hIMW08gk13Ua4IlGNJHmcJdlUOXCeGVE/BTSqFm+YxKJjbQ0asvDc9fSGIWbgTXARuAo8E+uPdulro7RPtk+QxCRq0Rkp4jsbG9vH2ve85L+HMqi+xRb6YYhxMb5Yctkrdtfo9n2Dc+J8QTZTz6wuMbY9MdTlBYNvShcVBameyBBchYW6k5KNFS1VVVTqpoGvoMXcwDPGliRcWgTcMS1N2VpH9JHREJANZ47bLSxss3nFlXdpKqbGhoaJvOWChrP55mbpVFcZJZGJv7q+LFqT/msdRlU+yyukRO+GIwWLyqxsjY5kS2mUVtWhCp0z0LRwkmJhotR+Pwh4GdW3QdsdRlRq/EC3k+r6lGgV0TOdfGKK4B7M/r4mVGXAg+7uMeDwIUiUuPcXxe6NmMYfbHkuHWnfCzldiiDawlycE/VVRRTU1ZkwfAcGYh7W72OFmvzYx1WSmRsItliGn7RwllwUY37SyMiPwDeC9SLSAteRtN7RWQjnrtoP/BxAFXdJSL3ALuBJHC1qvqfiE/gZWKVAg+4G8CtwJ0i0oxnYWx1Y3WIyBeBZ9xx16tqrgH5BUV/LEV9RTinY4tDwVkrqTwXmUggHDxro7mtjyeaj7G6vpxli0qnc3oFjfdjN7oYl5p7KicisZHrNOrKiwE43hdnbePMzmdc0VDVy7M03zrG8TcAN2Rp3wmcnqU9Clw2yli3AbeNN8eFTn8syUl1ZTkdGw4FBv34RkbKbY6b2axtrOCuZw7x0e/u4IJTGrn1z94+ndMraLJdIWdSMigaZvmORjqtRBIpyoa5n+srvYvE9r7YjM/JVoTPA/rjyXFXg/sUhwJW5TaDWDJNOBggkEO6MsDGFYtQhTUN5fxm7zF6oma1jcZAIjmYIZUNv5ChuadGJ5pMocoIS6OhwrM0jvWaaBiTINuK0dEoDgUt8JhBPDn6Vq/ZuOzsFfz22gv48qVnEk+leXhP2zTOrrAZzz1VYu6pcfFLBA23NGrKwgQDYpaGMXFU1VkaOabcWvbUEGLJVE6ZUz6BgLCkuoSzVixiSVUJ9790dBpnV9gMxFODcYtsmGiMTyTub7A29DwGAkJdeZhjvTMfCDfRKHAicWe+TsA9Zes0ThBLpHOOZ2QSCAgXnb6ER15rH6z9ZQxlIDGepWEpt+MxaGlk8SQ0VBabpWFMHL/uVM4rwi3ldgixZHrcCrejcd6aOuLJNPtssV9Wcg2EW0xjdCKDdeVGfkbrK4ppt5iGMVFObPWa+4rwuBWJGySaSE0oppHJylovY+1Qh5V8i5IAAAAgAElEQVQVycZAPDVq3SmwlNtcGNzqNcv3u6GymGNmaRgTZbAs+gQW94HtE+4Tiedet2s4K5xoHOyI5HNK84ZIPJljINw+i6MRGaOCtS8aM30BaKJR4Pgpn5UlRTkdf2LLV/uigufeG+uHbSwqikPUloc51GmikY3xsqeCAaEoKFawcAwGPQlZRKO+ophESme8lIiJRoHTM+BdiVSV5lp7yvsSW/DRIxJL5WylZWNFTSmHzNIYQSqtxJLpMddpgFcefSBuojEafswy23lsqPTWasx0XMNEo8DpdZZGVa6WRtC3NOyLCs7SyDEelI0VtWUmGlnwg9vjWXElYau6PBY9zorIdlHolw4y0TAmRE/UWRq5ioZLc7QtXz0i8SlaGrVlHO4aIGUbMw0hMniFPPa5LSkKWExjDLoHEpSFg1kLajb6lsYMB8NNNAoc39KoKJlYINxiGh7jBWvHY2VtGYmU8mZPNI+zKnx8l1PZOOnM5p4am65IgurS7BeEDRUlgFkaxgTpGfDqTuWy1SucKAFuouH53aOJdM4lWLKxosZlUB03F1UmObunioIWCB+DroHRRaOqNEQ4GOBY38yuCjfRKHB6owmqcrQyIMPSsNz4EyUaphTT8EqjWwbVUPz1BeMFwkuLgrZOYwy6IwkWlWUXDRGhviJsloYxMXqiiZzTbeHELmpmaZz4YZuKpbFsUSkBwYLhw/BdTmPVngIvxmYxjdHpHkiwqHT0vXIWV5fwyps9M7pWw0SjwOkZSOacbgsn3FMWCM9YGDkFS6MoGGDZolIOmHtqCLkKcolZGmPSNRAf1T0F8MebVrDrSA+/msFqy+OKhojcJiJtIvJyRlutiGwXkb3uvibjuWtFpFlEXhWRLRntZ4vIS+65m9y2r7itYe927TtEZFVGn23uNfaKiL8lrJFBb2xiloafPWWWRn4sDYBTllSx60h3PqY0b4iMsb4gExONsekawz0FcNnZTZxcX87/ffCVGcvgy8XS+B5w0bC2a4CHVHUd8JD7GxHZgLdd62muzzdFxP/U3Axchbdv+LqMMa8EOlV1LfA14EY3Vi3e1rLnAJuB6zLFyfDoGUhOLqZhwcdBS2Mq2VMAb22q5vVj/YOZbEZG9tS4MQ1zT41GNJEilkxTPYZohIIB/ueWt/Baax//8J+7Z8RNNa5oqOpjeHt3Z3IxcLt7fDtwSUb7XaoaU9U3gGZgs4gsBapU9Sn13tUdw/r4Y/0IuMBZIVuA7araoaqdwHZGiteCp3eCMQ3LnjpBJMcMn/E4o6kaVdh1pCcf05oXRHIUDcueGh2/PMhYMQ2AD56+hL84fzX/9sR+bnqoedrnNVm7fLGqHgVQ1aMi4m9tvhz4bcZxLa4t4R4Pb/f7HHJjJUWkG6jLbM/Sx8DbgKknOtGYhi3u84kMVgiemnvqjOXVALx8uJtzT66b8rzmA37KbS7uKVunkZ2uiCcaY8U0wMui+vvfP5XugQS7jnSTSmvOKfiTYWrflpFkm6mO0T7ZPkNfVOQqPNcXK1euHH+W84SBRIpUWieZPWVf1P4x9iqYCPUVxSyrLuHFFotr+ETiSYIBGXeDq5KiIDFXqt+FOQ1HV8RbfzFWTMMnEBBu/MgZANMqGDD57KlW53LC3fuh+xZgRcZxTcAR196UpX1IHxEJAdV47rDRxhqBqt6iqptUdVNDQ8Mk31LhMViscELuKdstzScywbLyY3FGUzUvHTbR8InEU5QVBccVghJLzBiVroHcLA2fUDBAaBK7UE6Uyb7CfYCfzbQNuDejfavLiFqNF/B+2rmyekXkXBevuGJYH3+sS4GHXdzjQeBCEalxAfALXZvh8MuiT8Q9FQoGCAbEvqRAv+93n0LKrc9bmxbxxrH+GS9TPVeJJlKU5GDBlbgYm7moRtLt3FO5WBozybi/NiLyA+C9QL2ItOBlNH0JuEdErgQOApcBqOouEbkH2A0kgatV1f80fAIvE6sUeMDdAG4F7hSRZjwLY6sbq0NEvgg84467XlWHB+QXNL0T3EvDpywcpM/2tc7ZhZILpy6tBKC5rY+zT7Ikv/H20vAZ3IjJ3KUjGAyEl40dCJ9pxhUNVb18lKcuGOX4G4AbsrTvBE7P0h7FiU6W524DbhtvjguVE+6piblXGipmZ0P6uUZ/zPthy4cvfUmVV06k1QoXAp5ojLcaHKA07Am2pd2OpGsgTjAglE8x5pZvbEV4ATPRXft86iuKOTYLG9LPNQamWBY9k6XVXsXRo90mGuCd25wsDXNPjUpXJMGi0qI5lyBgolHADO6lMYGYBkB9ZXhWNqSfa0x1A6ZMFpUVURwKmKXh8ErOj/+59IO8PbYwcgRdA4kxF/bNFiYaBcxEd+3zqSsv5nj/zJZTnotMdQOmTESEJdUlZmk4IvHUuGs0AGrKPX99h30eR9Az4Fkacw0TjQKmZyBJOBgYTKPNlfqKYroiCRKphe1H7o9NbQOm4SypKqHVRAPw1hDlcm5rTTRGZawNmGYTE40CxiuLHpqwz7O+0vuiHp/hzVvmGrlm+OTKkuoSjvYM5G28QibXc+unk3aaaIygayA+5zKnwESjoOmNJqmaxJVIfYW3t/BCj2t4MY38FUVYUl1Ca3dsRvc2mKsMxFOUFo1/botDQSqKQ3RETDSGY5aGkXd6BjxLY6L4orHQ024jsVRe0xmXVJUQT6UXvKtFVYnEk4PptONRWx42S2MYfbEkvdEki6tKZnsqIzDRKGA6I3FqJmG+NviWxgJPu801wydX/LTbNxd4BlVfLElac0/QqCkP0xGx7KlMDnd6bs6mmtJZnslITDQKmON9ceoqJi4afkxjpjekn0t4V8OpKe3aNxz/qvDNBR4MP9zl/eAtW5TbD15tWREd/Qv7AmY4h7u8nSCXm2gY+UJVOd4fG3Q1TYSycIiycHBBxzTiqTTJtObZ0vC+4Avd0vCvknP9waspD9PZb5ZGJi1maRj5JhJPEU2kB1MWJ0p9RfGCFg1/L418Zk/VV4QJiFkavqXRlKOlUVceXvBxoOEc7hwgHApQXz7xi8LpxkSjQPHTZesmLRoLe1W4v5dGvhb3gVdBuLGyxESjc4BwMJCzFVxTHmYgkbJSIhm0dA6wfFEpgWneG2MymGgUKMedD3gy7im/37HehXt1F8ljWfRMli0q4cDxSF7HLDRaugZYtqgk5x+8WpfM0Wlpt4O0dA3MSdcUmGgULL6lMVn3VN0Cd0/5KZ75zoM/c8UiXjzctaBX2x/uHJhQANdKiYzkcGeE5Tm692YaE40Cxbc0JpM9BdBQEaYjEieVXpgL0Y50TyzDJ1fevqqWaCLNriM9eR23kDjcNTChHzwrJTKUaCLFsb64WRpGfvELDtZNMlDWUFmMKhxfoNbGkS4v7rCsOr9fzE1uA6ad+xfmfmHRRIr23hjLF5Xl3McXDXNPebRMMPtsppmSaIjIfhF5SUSeF5Gdrq1WRLaLyF53X5Nx/LUi0iwir4rIloz2s904zSJyk9sSFrdt7N2ufYeIrJrKfOcTx/vilIeDOVUSzUajW1PQtkAX+B3uGqC2PDzp8zcajVUlrKwtY+f+zryOWyj4VX4n8oPnxzTM0vAYzD6ryV14Z5J8WBq/p6obVXWT+/sa4CFVXQc85P5GRDbgbeV6GnAR8E0R8b+xNwNX4e0pvs49D3Al0Kmqa4GvATfmYb7zguN9MWon6ZqCEwvRFur+D0ddsHY62HRSDTsPdCzIGlRH3A/eRNxTVaVFBMSKFvq0dLqFfQsopnExcLt7fDtwSUb7XaoaU9U3gGZgs4gsBapU9Sn1vmV3DOvjj/Uj4AKZa9tYzRLH++OTdk0BLK7y+rb2LExL40hXdHAxXr7ZtKqWY31x9i/ALKrJlL8IBoRFZWErWujYf6yfcCgwJ+tOwdRFQ4H/EpFnReQq17ZYVY8CuPtG174cOJTRt8W1LXePh7cP6aOqSaAbqJvinOcFx/vi1E/B0qivKEZk4VoaRyYYrJ0Ib22qBmDP0YUXDG/pjCDiVfydCLW2wG+QV97sZf3iCoJzcI0GwFRXNp2vqkdEpBHYLiKvjHFstjOgY7SP1WfowJ5gXQWwcuXKsWc8TzjeH+P05VWT7l8UDFBXXkxb78ITjZ5ogt5YctrcU2saKgDY19Y3LePPZV5o6WZtQwVFwYldjzZWFnO4a+F9FrOx52gPv/eWxvEPnCWmZGmo6hF33wb8FNgMtDqXE+6+zR3eAqzI6N4EHHHtTVnah/QRkRBQDYxIS1HVW1R1k6puamhomMpbKghUlY7+OHWTXNjns7iqeEG6p45MsKDeRCkNB1m+qJTm9oUlGslUmp37Ozjn5NoJ913XWMG+tr4FGQfKpL03xrG+OKcsnfwF4XQzadEQkXIRqfQfAxcCLwP3AdvcYduAe93j+4CtLiNqNV7A+2nnwuoVkXNdvOKKYX38sS4FHtaF/qkCeqJJEimddAkRn8VVJQvSPXXUT7edxkDjmsYK9i0w0dh1pIf+eIpzVk/cg7xucSV9sSRHFngJllfe9Fyapy6tnOWZjM5U3FOLgZ+6uHQI+A9V/aWIPAPcIyJXAgeBywBUdZeI3APsBpLA1arqF5v5BPA9oBR4wN0AbgXuFJFmPAtj6xTmO2/w11ZMdmGfz+KqYl5s6c7HlAqKwdLd0xQIB1jTUM4zb3SQTuucrB80Hex44zjApCyN9Yu9H8nXWnvnbNbQTODHwU5dMnctjUmLhqq+DpyZpf04cMEofW4AbsjSvhM4PUt7FCc6xgmODZYQmZp7qrGyhOP9MRKp9IR90IXMka4BQgGhoXL6KoiuaahgIJHizZ7otFo0c4HugQStPVF2vN7ByfXlNFZOPFa0frEXB9rb2jun/fnTzStHe1lSVTJYWmUukr8Sn8aMsf9YPwAn1U5t8c/iqhJUvb3Cpyv9dC5ypGuAJdUl05qdsrbRBcPb++a9aFz/8938+LkWRGDr21eM3yELi8rCNFQW81rrwnLpDWf30R5OmcOuKbAyIgXJa629FIcCrJiyaCzMtRrN7X2snOK5Gw8/g6p5nmdQqSqPvtbGKUsqeWvTIv7wrKbxO43C+sUV7G3tzePsCov+WJJ97X2cOoeD4GCiUZDsbetjTcPU87gX4qrw3miC3Ud62LRq4n73iVBfEaaqJDTvg+GvtvZyrC/Ole9czb1Xn8/m1ZM/r+saK9nb1kd6gRTRvP+lo3z+vl2DGWO/2tNKIqVz3j1nolGA7G3tHfQBT4VGZ2m0LSDRePZAJ2mFc6bw45YLIsKaxgpee3N+i8bje48BcP7a+imPtX5xJZF4arAC8XxGVfnq9tf43pP7+fffHgDg3uePsKy6ZLDo5VzFRKPA6I0mONIdZd3iqfs968qLCQZkQbmnnn6jg1BAOGvloml/rXNW1/HcwU56ovN3/+snmo9xckN5XuI2G5Z5bplnD8z/Yo+7jvTQ3NbHorIibrh/Dw/taeWx19r5g43L5ny2nYlGgbHX+cjX50E0ggFhSVUJhzoXTo2kp9/o4IymasryuM3raHxgQyPJtPLoq+3T/lqzQTyZZscbHbwzD1YGwFuXV9NQWcwvX34zL+PNZe59/jBFQeHuq86jurSIK2/fSTKtfPjMZbM9tXEx0Sgw/EBhPtxTAKcsqVwwNZKiiRQvtHRNye8+ETauqKGuPMyv9rTOyOvNNL/Z204knuI96/NThSEQEC46bQmPvNpOxO3hPh9JptLc98IR3rO+kbcsqeShz76XT1+wjivOO4kNczwIDiYaBcfe1j5KigJ5q7V/6tIq9rX3E02kxj+4wPndwS4SKWXzNAfBfYIB4X2nNPLrV9rm5favP9zZQn1FmHfnSTQAPnj6EgYSqXlrnakq//unL9PaExtMT64oDvH/fGA91198OoVQxNtEo4DY29rLY3vb85I55bNhWRWptM771FCAJ/cdIxiQGbM0AN6/YTE90SRP7js+Y685E3T0x3nolVYu2bg8rwtDN6+upaasiP986WjexpxLfOW/XuXunYf46/et5f0bFs/2dCaFiUaB8F+73uTCf36MQx0D/MX5q/M2rp8TvnsB7Gn9ePMx3tpUTWVJ0Yy95nvWN1BfUcwtj+2bsdecTlJp5f6XjvLFX+wmkVIu2zS5xXyjEQoG+MOzmnjg5Tfn3YXMz353mH/99T4u37yCv/nA+tmezqQx0SgAeqIJ/v5nL3PKkiqeuOZ9fOTsyS+gGs5JtWWUhYPsnudxjZ5oghdbuvMWtM2VkqIg//1dq3mi+Ti/O1j4WUFfemAPn/z+c/z0d4d559p63rIk/6uXP/l7aygJBfjKg6/mfezZ4le7W/lfP36Rc1bXFowbajRMNOYwqspT+47z2Xte4FhfjC/90RnU5rkmTSAgnLKksiBFQ1WJJXOLxex4vYNUWnnHmpkVDYCPnnsS1aVF3PxIYVsb/7HjIN/5zRt87NyT2PWFLdx55eZpeZ36imKuevcafrnrTZ7cd2xaXmMmuWfnIa66cyenLqnk5j89u+DrvBX27OcJvdEEP3muhS//8hXufubg4F7J//bEfi7/zm/59SttfPqC9Zy5YnrWFmxYVsWeoz0FtZeBqvL3P3uZs67fzo+ebRl17m09Uf7fn73Md3/zOiVFAd520vSvzxhORXGIj7ytiUdeay/YhIP9x/q5/he7eNe6eq77gw2UF4em9Wr5L9+1mpMbyvkfP/gdRwt4sV9nf5zrf76bc1bX8YOrzs37Rd9sYKIxy7zZHeXSm5/ib+55gW89uo/P/fgl3nnjwzzZfIyvP7yX89fW8fx1F/Lp96+btjmc2bSI3miSP/72UwWxsEpV+frDzXx/x0FqysL8zx++wNu+uJ0//vZTvOGKOfr8n/v3cOdvD7j1BA0Uh4KzMud3ra8nnkyzc//cP7+ZRBMpdh3p5nM/fpGiQID/e+mZhGbgSrm8OMQtHzubgXiKz9z1/LS/3nTxrcf20R9P8oWLT5uRtUEzwfx4FwVKTzTBZd9+ko6+OLdu28S71zew52gPn/z+c3z01h2owjUXnUpF8fT+m/7obU10DyS49fE3+IvvPcMv/vqdUy6GOF0cON7P3/7wRZ7e38ElG5fxlcvO5O6dh9h9pIcHXn6TS/71Cb71p2dz3po6Xmzp4mfPH+GT713Dn52/isrimQuAD2fzqlqKgsLjzcd457qZd5FNhmgixcXfeIJX3dqgGz9yxoT3/p4Kaxsr+dstb+HzP9/Nswc6OPukmct6myyReJIXDnVz9kk1HDjez+1P7ufiM5flZTHuXEEKySWRC5s2bdKdO3fO9jRy4nM/epEfPnuIez5+3pACentbe/nIzU/y3rc0ctPlZ83YfA4c7+e/ff1xasrCpNJKSVGAyzev5M/PXz1nNrm/4ran+d2BTq750ClsffvKIfM6eDzCX9z+DPuP9XPlu1azfVcr3QMJHvnb985oxtRo/PG3nmIgkeLnf/3OWZ1HJJ7k+UNdlBQFiSZSHOmK8vLhblJpZdmiUv7gzKU01ZTxD7/YzXcff4PrLz6Nt62s4fTl1bMy1/P+8WHOPbmWb39s04y//mik08r2Pa38+28PUFce5uKzlvN6ez+3PLaP1p4YK2pLOdYbp7w4yE8+cT4r6+bmRVgmIvKsqo57kgvC0hCRi4B/AYLAd1X1S9P1Wm8c6+fx5mMkU2nWNlZw+rJq0qpUlhQRDnlm+a4j3Ty+9xh/dv6qSbk7VJV7nz/C3TsP8VfvWTOi4uq6xZX85nPvozw8s66Uk+rK+eofb+RzP36RTSfV0NEf5x/+cw/lxSEu37wyr6+VTKXZdaSHipIQTTWlOZ3H11p7eey1dj77gfV89JyTRjy/sq6Mn3zyHVz9/ef49qOvs6ahnK/+ycY5IRjgFfX754deo7M/Pmub7Lze3sdVdz47Ip21LBwkHArQFUnw5QdfYXFlCa29UT527klccd6qWZmrN68QHzv3JP71kWZePtw9K8I1nLaeKH9zzws83nyM5YtKee5AJz97/ggAZzZV85n3r+f7Ow6woqaMr/3JxsFq0vOFOW9piEgQeA34ANACPANcrqq7sx0/WUujO5Lgq9tf5fs7DpLMUpo5ILC0upSGymJeaOlCFT6wYTHf/OjbKAoGON4X43cHuzjWF2PLaUuG/CjEk2meP9TFusYKOiNxvvDz3Tz6Wjtvbarmno+fR0nR7PjZx0NV+fA3nqA3muChz743q7WRTKV5en8HS6pKWF1fPmZwNJ1Wdh7o5Ml9x7jnmUOD+0HXlBXxR29rYuOKRayuL2d1fTnlWVxy1/z4RX76u8M8de0FYwYUk6k0+9r7Wb+4Yk6lNj57oIOP3PwUHzv3JD7z/nW8fKSHs1YuoipD1NJp5XDXAI1VxRSHghw8HuHWx1/nyX3HOXPFIt62soZTl1ayccWiCb23gXiK7/7mdW5+dB8lRUE+/+HTqCwOUVwUoLHS+98FA8LhrgF+uPMQR7ui1FWE+dT71s66L769N8YH/+UxeqJJPv7uk3nXugbOPqmGYEBo6YyQTCmNVcXTPs9oIsV/7DjIvzy0l1gyxd///ga2vn0F/fEUzx/qYm1jBcuqS+bUZ24i5GppFIJonAd8XlW3uL+vBVDVf8x2/GRF43hfjAu++ii/f8ZS/uo9aygNB3n5cDf72vsJBYTjfTEOdQ5wuHOAs1Yuoq4izP+5/xXOWF7N21fV8oOnDzLgMmMqikN8eOMyTq4vZ29rH7/a08rx/jihgCACJaEgn37/Ora9Y9WcT7974KWjfOL7z3HT5Wfx4TOXcaRrgCf3HefZAx30x1I8d7CTlk4vu+Xk+nL+dstbWN1QztGuKEe7o6RUWVRaxPrFldz4y1d4+JU2RLzS5JdvXkkqrWzf3cp/7W4llSHWjZXF1JSFiSSSRGIpIvEUA4kUl29ewT/+0Vtn63RMCVXluvt2ccdTBwbbTq4v50/PPYk7ntpPXyxJLJmmN5pkdX05F25YzL89sR9FefuqWnYd6aF7wKuYe/ZJNbxnfQMd/XHSWb7DARGv+mx1KUe6B7j5kX0c7Y6y5bTF/H9/cFrB7cPd1hvlf//0Zbbv9up4bVhaxWnLqvjRcy34b7+yOERjVTGLq0pYXFXC206q4d3r6mlu6+NQR4SjPVFePNRNbXmYD56xhD1He3izO0ZxUYDW7iiBgHD2STWUF4dIpxVV5eSGChKpND94+iC/2XuMWDLtMshOG9ydcb4wn0TjUuAiVf1L9/fHgHNU9VPZjp9KTKM3mpiQK+Mnz7XwjV8383p7Px88fQlXvnM1xaEg33p0H4++1k5fLEl1aRHvWFPHh85YysuHu0mklL9678mT2kd5NkillQ987VFeb++ntjxMh0sHri4tYlFZEcsXlXL55pV0DyS446n9Y27XWRQUrvngqVz6tiaqy4ae52gixf7j/bzR3s/rx/p5vb2f3miC8uIQZeEgZeEgFcVFXH7OioI5d6Pxq92tvHi4m9X1ZfzDL/ZwvD/OmU3VbFhWTTAAq+sr+N6Tb3CoY4APnbGE6/7gNBZXlQxaIY++1s7XH95La0+MyuIQoeDIK9tESumLnSj699amav73h07lnJPrZvKt5p2O/jiPvNrGVx58ldbeGFecdxKnLaumrTdKW0+Mtt4orT0xjnYNDFqyPqGAcOrSKlo6I3RGEgQDwuLKYmLJNA2VxQwkUhw4nr3ic0NlMb9/xlK2nLaEc0+uLVhrYizmk2hcBmwZJhqbVfWvM465CrgKYOXKlWcfOHAg61jTgarSGUmMcJeoKh39cWrLwwX/ATvcNcB9zx9hX3sfpyyp5B1r6jllSeWIuv/JVJrtu1tJqbK0upSl1SWEgkJbT4wXW7rZuGLR4J4Jhseb3VFebe3l3evqh3xOIvEkzW19vLUp+7qSVFpJpNKjujZVlTd7orT3xqgoDrGqrnzO79MwEaKJFAPx1KixIVVl15EenjvYySlLqji5oZyasjDBgBBNeO6kU5dWUV069OKlsz9OIpUmEBBU4dU3e4kmUrx7fcNgTHO+Mp9EY0bcU4ZhGAuZXEWjEKTzGWCdiKwWkTCwFbhvludkGIaxIJnzKbeqmhSRTwEP4qXc3qaqu2Z5WoZhGAuSOS8aAKp6P3D/bM/DMAxjoVMI7inDMAxjjmCiYRiGYeSMiYZhGIaRMyYahmEYRs6YaBiGYRg5M+cX900UEekFhm8uXA105/Fl5vp49UC+9smc6+813+P55OscFsL7ncufP5j753A+nL96oFxVG8YdTVXn1Q3YmaXtljy/xlwfb8Q5mENzm9Pj5fscFsL7ncufv0I4h/Ph/E3kNReKe+rnC2y8fDLX3+tcPndQGO/XzuHcGi/f5HV+89E9tVNzqJ8yn7FzMHXsHE4eO3dTYzbO30Recz5aGrfM9gTmAHYOpo6dw8lj525qzMb5y/k1552lYRiGYUwf89HSMAzDMKYJE40CQERWiMivRWSPiOwSkU+79loR2S4ie919jWuvc8f3icg3MsapFJHnM27HROSfZ+t9zST5OofuuctF5CUReVFEfiki9bPxnmaKPJ+7P3HnbZeIfHk23s9MM4nz9wERedZ9xp4VkfdljHW2a28WkZtkNnZ4y2dql92m5wYsBd7mHlcCrwEbgC8D17j2a4Ab3eNy4J3AXwHfGGPcZ4F3z/b7K6RziFcZug2od39/GW+TsFl/jwVw7uqAg0CD+/t24ILZfn9z8PydBSxzj08HDmeM9TRwHiDAA8AHZ/r9mKVRAKjqUVV9zj3uBfYAy4GL8b54uPtL3DH9qvo4EM0yHAAisg5oBH4zjVOfM+TxHIq7lburvCrgyPS/g9kjj+fuZOA1VW13f/8K+Mg0T3/WmcT5+52q+p+pXUCJiBSLyFKgSlWfUk9B7vD7zCQmGgWGiKzCuxLZASxW1aPgfTDxRCBXLgfudsmWMtoAAAOVSURBVB++BcVUzqGqJoBPAC/hicUG4NZpnO6cYoqfv2bgFBFZJSIhvB+8FdM327nHJM7fR4DfqWoMT2haMp5rcW0ziolGASEiFcCPgc+oas8Uh9sK/GDqsyospnoORaQITzTOApYBLwLX5nWSc5SpnjtV7cQ7d3fjWbj7gWQ+5ziXmej5E5HTgBuBj/tNWQ6b8Ys+E40Cwf1Y/Rj4vqr+xDW3OpMVd9+W41hnAiFVfXZaJjtHydM53AigqvuclXYP8I5pmvKcIV+fP1X9uaqeo6rn4dWI2ztdc55LTPT8iUgT8FPgClXd55pbgKaMYZuYBdeoiUYB4HzntwJ7VPWrGU/dB2xzj7cB9+Y45OUsMCsjj+fwMLBBRPzCbh/A81HPW/L5+RORRndfA3wS+G5+Zzv3mOj5E5FFwH8C16rqE/7BzoXVKyLnujGvIPfvfP6Y7cwCu41/w8tEUTxXyPPu9iG8bJSH8K7WHgJqM/rsBzqAPrwrlA0Zz70OnDLb76tQzyFeVtAeN9bPgbrZfn8FdO5+AOx2t62z/d7m4vkD/h7ozzj2eaDRPbcJeBnYB3wDt0B7Jm+2ItwwDMPIGXNPGYZhGDljomEYhmHkjImGYRiGkTMmGoZhGEbOmGgYhmEYOWOiYRgzjIj8lYhcMYHjV4nIy9M5J8PIldBsT8AwFhIiElLVb832PAxjsphoGMYEcUXnfolXdO4svFLXVwCnAl8FKoBjwJ+p6lEReQR4EjgfuE9EKoE+Vf2KiGwEvgWU4S3Y+gtV7RSRs4HbgAjw+My9O8MYG3NPGcbkeAtwi6q+FegBrga+Dlyqqv4P/g0Zxy9S1feo6j8NG+cO4HNunJeA61z7vwH/Q70aTYYxZzBLwzAmxyE9URfo34G/w9swZ7vbTC0IHM04/u7hA4hINZ6YPOqabgd+mKX9TuCD+X8LhjFxTDQMY3IMr7/TC+wawzLon8DYkmV8w5gTmHvKMCbHShHxBeJy4LdAg98mIkVuP4RRUdVuoFNE3uWaPgY8qqpdQLeIvNO1fzT/0zeMyWGWhmFMjj3ANhH5Nl6V0q8DDwI3OfdSCPhnvO06x2Ib8C0RKcOrPvznrv3PgdtEJOLGNYw5gVW5NYwJ4rKnfqGqp8/yVAxjxjH3lGEYhpEzZmkYhmEYOWOWhmEYhpEzJhqGYRhGzphoGIZhGDljomEYhmHkjImGYRiGkTMmGoZhGEbO/P+25kNxUd5IsAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "sorted_data['inc'][-200:].plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Study of the annual incidence" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Since the peaks of the epidemic happen in winter, near the transition\n", + "between calendar years, we define the reference period for the annual\n", + "incidence from August 1st of year $N$ to August 1st of year $N+1$. We\n", + "label this period as year $N+1$ because the peak is always located in\n", + "year $N+1$. The very low incidence in summer ensures that the arbitrariness\n", + "of the choice of reference period has no impact on our conclusions.\n", + "\n", + "Our task is a bit complicated by the fact that a year does not have an\n", + "integer number of weeks. Therefore we modify our reference period a bit:\n", + "instead of August 1st, we use the first day of the week containing August 1st.\n", + "\n", + "A final detail: the dataset starts in October 1984, the first peak is thus\n", + "incomplete, We start the analysis with the first full peak." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "first_august_week = [pd.Period(pd.Timestamp(y, 8, 1), 'W')\n", + " for y in range(1985,\n", + " sorted_data.index[-1].year)]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Starting from this list of weeks that contain August 1st, we obtain intervals of approximately one year as the periods between two adjacent weeks in this list. We compute the sums of weekly incidences for all these periods.\n", + "\n", + "We also check that our periods contain between 51 and 52 weeks, as a safeguard against potential mistakes in our code." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "year = []\n", + "yearly_incidence = []\n", + "for week1, week2 in zip(first_august_week[:-1],\n", + " first_august_week[1:]):\n", + " one_year = sorted_data['inc'][week1:week2-1]\n", + " assert abs(len(one_year)-52) < 2\n", + " yearly_incidence.append(one_year.sum())\n", + " year.append(week2.year)\n", + "yearly_incidence = pd.Series(data=yearly_incidence, index=year)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "And here are the annual incidences." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "yearly_incidence.plot(style='*')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A sorted list makes it easier to find the highest values (at the end)." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2014 1600941\n", + "1991 1659249\n", + "1995 1840410\n", + "2012 2175217\n", + "2003 2234584\n", + "2019 2254386\n", + "2006 2307352\n", + "2017 2321583\n", + "2001 2529279\n", + "1992 2574578\n", + "1993 2703886\n", + "2018 2705325\n", + "1988 2765617\n", + "2007 2780164\n", + "1987 2855570\n", + "2016 2856393\n", + "2011 2857040\n", + "2008 2973918\n", + "1998 3034904\n", + "2002 3125418\n", + "2009 3444020\n", + "1994 3514763\n", + "1996 3539413\n", + "2004 3567744\n", + "1997 3620066\n", + "2015 3654892\n", + "2000 3826372\n", + "2005 3835025\n", + "1999 3908112\n", + "2010 4111392\n", + "2013 4182691\n", + "1986 5115251\n", + "1990 5235827\n", + "1989 5466192\n", + "dtype: int64" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "yearly_incidence.sort_values()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, a histogram clearly shows the few very strong epidemics, which affect about 10% of the French population,\n", + "but are rare: there were three of them in the course of 35 years. The typical epidemic affects only half as many people." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "yearly_incidence.hist(xrot=20)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.6.4" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/module3/exo1/influenza-like-illness-analysis.ipynb b/module3/exo1/influenza-like-illness-analysis.ipynb deleted file mode 100644 index 87092fc..0000000 --- a/module3/exo1/influenza-like-illness-analysis.ipynb +++ /dev/null @@ -1,373 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Incidence of influenza-like illness in France" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [ - "%matplotlib inline\n", - "import matplotlib.pyplot as plt\n", - "import pandas as pd\n", - "import isoweek" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The data on the incidence of influenza-like illness are available from the Web site of the [Réseau Sentinelles](http://www.sentiweb.fr/). We download them as a file in CSV format, in which each line corresponds to a week in the observation period. Only the complete dataset, starting in 1984 and ending with a recent week, is available for download." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [ - "data_url = \"http://www.sentiweb.fr/datasets/incidence-PAY-3.csv\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This is the documentation of the data from [the download site](https://ns.sentiweb.fr/incidence/csv-schema-v1.json):\n", - "\n", - "| Column name | Description |\n", - "|--------------|---------------------------------------------------------------------------------------------------------------------------|\n", - "| `week` | ISO8601 Yearweek number as numeric (year times 100 + week nubmer) |\n", - "| `indicator` | Unique identifier of the indicator, see metadata document https://www.sentiweb.fr/meta.json |\n", - "| `inc` | Estimated incidence value for the time step, in the geographic level |\n", - "| `inc_low` | Lower bound of the estimated incidence 95% Confidence Interval |\n", - "| `inc_up` | Upper bound of the estimated incidence 95% Confidence Interval |\n", - "| `inc100` | Estimated rate incidence per 100,000 inhabitants |\n", - "| `inc100_low` | Lower bound of the estimated incidence 95% Confidence Interval |\n", - "| `inc100_up` | Upper bound of the estimated rate incidence 95% Confidence Interval |\n", - "| `geo_insee` | Identifier of the geographic area, from INSEE https://www.insee.fr |\n", - "| `geo_name` | Geographic label of the area, corresponding to INSEE code. This label is not an id and is only provided for human reading |\n", - "\n", - "The first line of the CSV file is a comment, which we ignore with `skip=1`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "raw_data = pd.read_csv(data_url, skiprows=1)\n", - "raw_data" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Are there missing data points? Yes, week 19 of year 1989 does not have any observed values." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "raw_data[raw_data.isnull().any(axis=1)]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We delete this point, which does not have big consequence for our rather simple analysis." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "data = raw_data.dropna().copy()\n", - "data" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Our dataset uses an uncommon encoding; the week number is attached\n", - "to the year number, leaving the impression of a six-digit integer.\n", - "That is how Pandas interprets it.\n", - "\n", - "A second problem is that Pandas does not know about week numbers.\n", - "It needs to be given the dates of the beginning and end of the week.\n", - "We use the library `isoweek` for that.\n", - "\n", - "Since the conversion is a bit lengthy, we write a small Python \n", - "function for doing it. Then we apply it to all points in our dataset. \n", - "The results go into a new column 'period'." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [ - "def convert_week(year_and_week_int):\n", - " year_and_week_str = str(year_and_week_int)\n", - " year = int(year_and_week_str[:4])\n", - " week = int(year_and_week_str[4:])\n", - " w = isoweek.Week(year, week)\n", - " return pd.Period(w.day(0), 'W')\n", - "\n", - "data['period'] = [convert_week(yw) for yw in data['week']]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "There are two more small changes to make.\n", - "\n", - "First, we define the observation periods as the new index of\n", - "our dataset. That turns it into a time series, which will be\n", - "convenient later on.\n", - "\n", - "Second, we sort the points chronologically." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [ - "sorted_data = data.set_index('period').sort_index()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We check the consistency of the data. Between the end of a period and\n", - "the beginning of the next one, the difference should be zero, or very small.\n", - "We tolerate an error of one second.\n", - "\n", - "This is OK except for one pair of consecutive periods between which\n", - "a whole week is missing.\n", - "\n", - "We recognize the dates: it's the week without observations that we\n", - "have deleted earlier!" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "periods = sorted_data.index\n", - "for p1, p2 in zip(periods[:-1], periods[1:]):\n", - " delta = p2.to_timestamp() - p1.end_time\n", - " if delta > pd.Timedelta('1s'):\n", - " print(p1, p2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "A first look at the data!" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "sorted_data['inc'].plot()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "A zoom on the last few years shows more clearly that the peaks are situated in winter." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "sorted_data['inc'][-200:].plot()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Study of the annual incidence" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Since the peaks of the epidemic happen in winter, near the transition\n", - "between calendar years, we define the reference period for the annual\n", - "incidence from August 1st of year $N$ to August 1st of year $N+1$. We\n", - "label this period as year $N+1$ because the peak is always located in\n", - "year $N+1$. The very low incidence in summer ensures that the arbitrariness\n", - "of the choice of reference period has no impact on our conclusions.\n", - "\n", - "Our task is a bit complicated by the fact that a year does not have an\n", - "integer number of weeks. Therefore we modify our reference period a bit:\n", - "instead of August 1st, we use the first day of the week containing August 1st.\n", - "\n", - "A final detail: the dataset starts in October 1984, the first peak is thus\n", - "incomplete, We start the analysis with the first full peak." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [ - "first_august_week = [pd.Period(pd.Timestamp(y, 8, 1), 'W')\n", - " for y in range(1985,\n", - " sorted_data.index[-1].year)]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Starting from this list of weeks that contain August 1st, we obtain intervals of approximately one year as the periods between two adjacent weeks in this list. We compute the sums of weekly incidences for all these periods.\n", - "\n", - "We also check that our periods contain between 51 and 52 weeks, as a safeguard against potential mistakes in our code." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [ - "year = []\n", - "yearly_incidence = []\n", - "for week1, week2 in zip(first_august_week[:-1],\n", - " first_august_week[1:]):\n", - " one_year = sorted_data['inc'][week1:week2-1]\n", - " assert abs(len(one_year)-52) < 2\n", - " yearly_incidence.append(one_year.sum())\n", - " year.append(week2.year)\n", - "yearly_incidence = pd.Series(data=yearly_incidence, index=year)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "And here are the annual incidences." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "yearly_incidence.plot(style='*')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "A sorted list makes it easier to find the highest values (at the end)." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "yearly_incidence.sort_values()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Finally, a histogram clearly shows the few very strong epidemics, which affect about 10% of the French population,\n", - "but are rare: there were three of them in the course of 35 years. The typical epidemic affects only half as many people." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "yearly_incidence.hist(xrot=20)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.6.1" - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} -- 2.18.1