From 056360373490f8b9dab247e0ca5f828fc8b1ac22 Mon Sep 17 00:00:00 2001 From: wfortner Date: Wed, 6 Sep 2023 20:19:09 +0000 Subject: [PATCH] Finished Practice0 --- wfortner.ipynb | 298 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 298 insertions(+) create mode 100644 wfortner.ipynb diff --git a/wfortner.ipynb b/wfortner.ipynb new file mode 100644 index 0000000..8302a2e --- /dev/null +++ b/wfortner.ipynb @@ -0,0 +1,298 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "IPython version: %6.6s 8.0.1\n" + ] + } + ], + "source": [ + "import IPython\n", + "import json\n", + "# Numpy is a library for working with Arrays\n", + "import numpy as np\n", + "# SciPy implements many different numerical algorithms\n", + "import scipy as sp\n", + "# Pandas is good with data tables\n", + "import pandas as pd\n", + "# Module for plotting\n", + "import matplotlib\n", + "#BeautifulSoup parses HTML documents (once you get them via requests)\n", + "import bs4\n", + "# Nltk helps with some natural language tasks, like stemming\n", + "import nltk\n", + "# Bson is a binary format of json to be stored in databases\n", + "import bson\n", + "# Mongo is one of common nosql databases \n", + "# it stores/searches json documents natively\n", + "import pymongo\n", + "print (\"IPython version: %6.6s\", IPython.__version__)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Make a 2 row x 3 column array of random numbers\n", + "[[0.55879981 0.44217195 0.47205605]\n", + " [0.52994942 0.56246567 0.92999026]]\n", + "Add 5 to every element\n", + "[[5.55879981 5.44217195 5.47205605]\n", + " [5.52994942 5.56246567 5.92999026]]\n", + "Get the first row\n", + "[5.55879981 5.44217195 5.47205605]\n" + ] + } + ], + "source": [ + "#Here is what numpy can do\\n\",\n", + "print (\"Make a 2 row x 3 column array of random numbers\")\n", + "x = np.random.random((2, 3))\n", + "print (x)\n", + "\n", + "#array operation (as in R)\n", + "print (\"Add 5 to every element\")\n", + "x = x + 5\n", + "print (x)\n", + "\n", + "# get a slice (first row) (as in R)\n", + "print (\"Get the first row\")\n", + "print (x[0, :])" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# IPython is quite modern: just press at the end of the unfinished statement to see the documentation\n", + "# on possible completions.\n", + "# In the code cell below, type x., to find built-in operations for x\n", + "x.any" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "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", + "heads = np.random.binomial(500, .5, size=500)\n", + "histogram = plt.hist(heads, bins=10)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "# Task 1\n", + "## write a program to produce Fibonacci numbers up to 1000000" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0\n", + "1\n", + "1\n", + "2\n", + "3\n", + "5\n", + "8\n", + "13\n", + "21\n", + "34\n", + "55\n", + "89\n", + "144\n", + "233\n", + "377\n", + "610\n", + "987\n", + "1597\n", + "2584\n", + "4181\n", + "6765\n", + "10946\n", + "17711\n", + "28657\n", + "46368\n", + "75025\n", + "121393\n", + "196418\n", + "317811\n", + "514229\n", + "832040\n" + ] + } + ], + "source": [ + "x1 = 0 \n", + "x2 = 1\n", + "print(x1)\n", + "print(x2)\n", + "res = x2\n", + "i = 1\n", + "while(1):\n", + " print(res)\n", + " i= i+1\n", + " x1 = x2\n", + " x2 = res\n", + " res = x1 + x2\n", + " if(res > 1000000):\n", + " break" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Task 2\n", + "## write a program to simulate 1000 tosses of a fair coin (use np.random.binomial)\n", + "## Calculate the mean and standard deviation of that sample" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.499270467782744\n", + "0.527\n" + ] + } + ], + "source": [ + "p = .5\n", + "\n", + "tosses = np.random.binomial(1, p, 1000)\n", + "\n", + "print(np.std(tosses))\n", + "print(np.mean(tosses))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Task 3\n", + "## Produce a scatterplot of y = 0.5*x+e where x has gaussian (0, 5) and e has gaussian (0, 1) distributions \n", + "### use numpy.random.normal to generate gaussian distribution" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYEAAAEWCAYAAACAOivfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAABKL0lEQVR4nO29eXRc933Y+/nee2cDBhgQKwHui0mTorVYlGXGS0lLttnYcV586sY9tZP0tFWT17ipEtVN6r466anTHj+1ao5f38tTkzStnYS20jR2lkeZtsPIjiXZ2kUSFsVF3ACCWGcwg9nuvb/3x50ZDsDBSoADDL6fcyhh7tw79/vFcr+/33cVYwyKoijK+sSqtwCKoihK/VAjoCiKso5RI6AoirKOUSOgKIqyjlEjoCiKso5RI6AoirKOUSOgKKsMEXlLRB6utxzK+kCNgNIwiMh7ReT7IpIUkTER+RsReeA2Pu/nROR7M479voj8u9uX9vYRkcMicrXecihrG6feAijKciAircCfA78AfA0IA+8D8vWUayYi4hhj3HrLoShldCegNAp7AIwxf2SM8YwxWWPMN40xrwGIyD8WkX4RmRSRMyLyztLxXxWR81XHf6p0fB/w28AhEUmLyISIPAL8feCzpWN/Vjq3T0T+p4gMi8hFEflnZaFE5NdF5I9F5CsikgJ+rurYV0v3fUlE7qmllIhEROQ/i8hA6d9/Lh1rBv4/oK8kS1pE+lbsu6s0LGoElEbhLOCJyH8Xkb8tIhvKb4jIJ4BfB34GaAU+BoyW3j5PsGNIAL8BfEVEeo0x/cDPA88aY+LGmDZjzJPAHwBfLB37CRGxgD8DXgU2AQ8B/1xEPlwl208Cfwy0la4vH3sKaAf+EPhTEQnV0OtzwLuBe4F7gHcB/9oYkwH+NjBQkiVujBlYyjdOWd+oEVAaAmNMCngvYID/CgyLyDdEpAf4RwQP7h+agHPGmEul654yxgwYY3xjzFeBNwketAvlAaDLGPNvjTEFY8yF0v0/WXXOs8aYPy3dI1s69qIx5o+NMUXgPwFRgof9TP4+8G+NMTeMMcMEhurTi5BPUeZEYwJKw1Bavf8cgIi8HfgK8J+BLQQr/lsQkZ8BfhnYXjoUBzoXcdttBC6ZiapjNvDdqtdXalxXOWaM8UsB3lrunD7gUtXrS7OcpyhLQo2A0pAYY34kIr8P/BOCB+6umeeIyDaCVftDBKt1T0ReAaT8MbU+esbrK8BFY8zb5hKnxrEtVXJYwGagljtngMDQnC693lp1nrYAVm4bdQcpDYGIvF1EfkVENpdebwH+HvAc8DvAYyJyvwTsLhmAZoIH6XDpmn8AHKj62CFgs4iEZxzbWfX6B8CkiPxLEYmJiC0iBxaQmnq/iHxcRBzgnxNkMT1X47w/Av61iHSJSCfwbwh2OGVZOkQkMc+9FGVW1AgojcIk8CDwvIhkCB6op4BfMcY8BXyBIAA7Cfwp0G6MOQP8R+BZggfqO4C/qfrM7xCswK+LyEjp2O8C+0vZQn9qjPGAjxIEbi8CIwRGZ74H89eBnwbGCXz8Hy/FB2by74AXgNeA14GXSscwxvyIwEhcKMmjbiJl0YgOlVGUO4uI/Dqw2xjzqXrLoii6E1AURVnHqBFQFEVZx6g7SFEUZR2jOwFFUZR1zJqqE+js7DTbt29f9HWZTIbm5ublF6iONJpOjaYPNJ5OjaYPNJ5Os+nz4osvjhhjumpds6aMwPbt23nhhRcWfd3Jkyc5fPjw8gtURxpNp0bTBxpPp0bTBxpPp9n0EZFLt54dUFd3kIg8KiKnReSUiPyRiETrKY+iKMp6o25GQEQ2Af8MOGiMOUDQb+WTc1+lKIqiLCf1Dgw7QKxUOt9E7d4piqIoygpR1xRREfklgnL+LPBNY8zfr3HOI8AjAD09PfcfO3Zs0fdJp9PE4/HblHZ10Wg6NZo+0Hg6NZo+0Hg6zabPkSNHXjTGHKx5kTGmLv+ADQS9WbqAEEE/l0/Ndc39999vlsJf/dVfLem61Uyj6dRo+hjTeDo1mj7GNJ5Os+kDvGBmea7WMzvoYYIWvOUOjn8C/Bg3OyQqiqKsOfoHkxw/NcS1iSyb2mIcPdDDvt7V2+i1njGBy8C7RaRJRISgp3t/HeVRFEW5LfoHkzz5zEWS2SK9iSjJbJEnn7lI/2Cy3qLNSt2MgDHmeYK5qy8RtMi1gCfrJY+iKMrtcvzUEIlYiEQshCVS+fr4qaF6izYrdS0WM8Z8Hvh8PWVQFEVZLq5NZOlNTC93aok6XJvIznJF/al3iqiiKErDsKktxmTOnXZsMueyqS1WJ4nmR42AoijKMnH0QA/JbJFktohvTOXrowd66i3arKgRUBRFWSb29SZ45P07SMRCDCZzJGIhHnn/jlWdHbSmGsgpiqKsdvb1Jlb1Q38muhNQFEVZx6gRUBRFWceoEVAURVnHaExAURTlDrEaW0qoEVAURbkDlFtKJGKhaS0l5sseWmnDoe4gRVGUO8BSWkrciV5EagQURVHuANcmsrREpztf5mspcSd6Eak7SFGUhma1+OE3tcVIZoskYqHKsflaStyJXkS6E1AUpWFZTa2dl9JS4k70IlIjoChKw7KaWjsvpaXEnehFpO4gRVEaltXW2nmxLSXKhqPanfXTD2xeVneWGgFFURqWpfjhVxsr3Yuoru4gEWkTkT8WkR+JSL+IHKqnPIqiNBZrsbXznabeMYHfAo4bY94O3IPOGFYUZRlZi62d7zR1cweJSAJ4P/BzAMaYAlColzyKoqwOljulc621dr7T1HMnsAMYBv6biLwsIr8jIs11lEdRlDqzmlI61wtijKnPjUUOAs8B7zHGPC8ivwWkjDH/x4zzHgEeAejp6bn/2LFji75XOp0mHo8vg9Srh0bTqdH0gcbT6U7oc2Myj+cbbEsqx8qvu1siy36/9fIzOnLkyIvGmIO1rqmnEdgIPGeM2V56/T7gV40xH5ntmoMHD5oXXnhh0fc6efIkhw8fXqKkq5NG06nR9IHG0+lO6PPYU6/Sm4hiyU0j4BvDYDLH45+4Z9nvt15+RiIyqxGomzvIGHMduCIie0uHHgLO1EseRVHqz52okFWmU+/soM8AfyAirwH3Ar9ZX3EURaknmtJ556lrsZgx5hWg5hZFUZT1x52okFWmoxXDiqKsKtZySudq6Vi6GNQIKIqy6lkLD9elTg6rN/WOCSiKoszJWqkdWE0dSxeD7gQURVnVVD9cgcr/j58aWvQKe+aOYh/essm52jqWLhTdCSiKsqpZyljGWtTaUYykC8u2o1ir6a1qBBRFWdUs18O1lrvGtmTZ3DVrNb1VjYCiKKua5Xq41tpRWCLL5q5Zqx1LNSagKMqqZrlqB2oNmPGNWVZ3zVpMb1UjoCjKqmc5Hq5HD/Tw5DMXgSCmMJlz6fLNqnfXrDTqDlIUZV1Qy13TGQ+vuZX7cqM7AUVR1g0zdxQnTw7UUZrVge4EFEVR1jG6E1AUZU0xXwuJtdBiYjWhRkBRlDXDbP15Ht7XxdmhDKcHklwdz7K3J87WjuY107+nnqgRUBRlzVAu+Cq4Hs9fTJHOuRQ9j5cvj3N4bzepbBGAN4bSxKMOnfFo5To1ArXRmICiKGuGaxNZckWXly5PkC96xCM2qWyRkck8Rc8jnfdojTpEHItzNzLA2ujfU090J6AoyoLIFT2eOHF2Tl/7Uvzxi7lmU1uMk2/cIOJYREM2AAXP0BS2OXcjQzzqkC96RByLVC7YFayF/j31pO47ARGxReRlEfnzesuiKEpt+geTjKQLc7ZzXkrL58Vec/RAD+NTRYwxGGPIFT0sEdqaQqRyRXZ3NZN3fVI5l5aIs2b699STuhsB4JeA/noLoSjK7Bw/NYRtyZy98qsbtI2m85wZTPH61SSf/8aZWR/qi+3Bv683wft2dyAiTOZdoiGbB3dswPMhbFt0xCPs6Y6DgURTaM3076kndXUHichm4CPAF4BfrqcsiqLMzrWJLH0RmXZspq+93E9/eDLHS5cn8H1DJl9kKJXl0a++ymc+sIuP3L3pls9dbA/+Tx3aVskQKrd/yBZ9+hJRBpM5dnTF+YUju/TBv0DEGFO/m4v8MfDvgRbgMWPMR2uc8wjwCEBPT8/9x44dW/R90uk08Xj8NqVdXTSaTo2mDzSWTjcm8zh+HteKVI55vsG2hO6WSOUczzdkix6eZ3D94NkiArYVGJAtGwLffCrnUnB9Cp5PyBIiJf9+rc+tRa7oVT4j7Fi0Rp1KjGAxNNLPCGbX58iRIy8aYw7WuqZuOwER+Shwwxjzoogcnu08Y8yTwJMABw8eNIcPz3rqrJw8eZKlXLeaaTSdGk0faCyd+geTvPjc9zknmyur72SuOM3VUvbvv341SSZfpOAFRmBDU4ipgstkzmNrR5iNrVG2tDfR0uxweTTDS5cnuG9LG9s6m2t+7krSSD8jWJo+9YwJvAf4mIi8BRwDPiAiX6mjPIqizMK+3gSd8fCcvfLLDdra42HSeZeIY9EUtrg2kWUkXcAYnytjU1wcyVD0goDu9s4479zaxvXJ/Jrqwd9I1G0nYIz5NeDXAEo7gceMMZ+qlzyKslpYrW0PoiGbRw/vmfOcfb0JfuNj+3n0q6+Sdz0GJ7IYAneQbVnkXB/HgnM3MpVCrq0dzYQcm8c/cc8d0EKZyWrIDlIUpcRS0ixXG/t6E3zmA7tIZV08AyFLiDkWjm3RHLaZyBYrOfygefz1ZlUYAWPMyVpBYUVZbyw2ZXK18pG7N3Hf1ja64hFCjk0s4tCbiNKbiDJV8Ajb1pqaw9vIaMWwoqwilpIyWQ8W4rK6qy9BU8jm7I00EccqVfG6dDaHOdDXymAyt+BRkavVRdYIqBFQlFVErTm41e6SO/kwnHmvfXj0Dyb5yrOX+O65UTY0hdjX21KzU2f/YJKRyRyvXE0SdSxczyeT93As4V8c3XtLvcB8ctTqHKoB5OVhVbiDFEUJOHqgp+IimekuuZPxglr3up7K8/jTZzk1kKItFqwfX7mSpOB601xW5WtDjs17drcTC9tM5j3etWMDT3zynkUZALjpIit6Hj+4OMbzF0c5cy3Jv3jqNR576lWeOHF2TcVMVhtqBBRlFVFrDm55xXsn4wW17uX5PiPpPAXPJxqyiYbsoFvncKbisuofDNpEvH41yZnBFIJweG83H3h7N10t0SWt3K9NZMm7Li9emiBX9LAFrqdyXBqdwrFYk8Hz1YS6gxRllTFzDm6ZOxkvqHUv30De9UjEwuSKXsUIpHMukzmXsC08+cxFBiam8DzDaCbP+Rtp3rV9A7t7WpYs58zOoVfH84RsC9sSLoxMcWhnB6AzA5aK7gQUZY2wqS3GZM6ddmyl0itr3csSiDg2u7uDTp25oke+6BGyhWS2iAC+75Mt+BQ8QyxkI8AP3hrn0khmyXKWO4dS6hw6VfAwQGc8TLok42oMnq8V1AgoyhphrnhBLfoHkzxx4uyS/Oa17mVbFp3xCCHb5r6twYp7POtyV18rj7x/B3nPMJjM0RkPA0EPoJAtuL7P2aH0vGmgs8m7rzfBe3d3gAjpvEdT2Ka9OYRjW8SjgTNDaw2WjhoBRVkj1IoXPLyvi+Onhm55cC40iDzXg3fmvTa2Rvj4O/s4M5ji++fHiIRs/uXRPfzmx+9mX2+CTW0xRjMFErEQfW1RHFvIuT7NYYctHbE5XTXzyfvpQ9vY2RXnbd3NbIiFGJzIcWlsig0xnRlwu2hMQFHWENXxgrlSJ6sDu0Dl/9V+8/lSL2fGJo6fuMK3+ofZ39vKgzvamcy5fKt/mJ1dcfb1Jjh6oIenT18nlXNpjTp0xiPkXZ893XF2dN3sbFkrzXU+eff1Jnh4Xxdf+vZ5XN+wvbOJvOvTfz1NRzyi6aK3gRoBRVmjzPXgXEgQeSGGoppUzp12fsH1uDCc5le+9hof3N/D0QM9fOYDu/jSt88zlinS3hxiW3sTtm1VVumzGZ50vsjbN7bOKe/ZoQzv3tUxrYaiXFOhBmDpqBFQlDVK9RCXc8MZ0jmXeMSmNRbirr7EnEVn1ddX0xJ1OD2QrDlLuOD6tDQHj4zy4JiILfjGn7aLeOKT90xb6e/paeb4qSF+93tvcXlsio0tkVsMz7WJLJMlI7NYeTUgfHuoEVCUNcqmthgXh9OVtgzxiE0q53IjlSNsC6cGJitVvdFQ4Dv/6Qc2T7t+pqG4NJLh6niWzRuabnERhR2r8qA+N5wh4gQhxUQsPG0X8egH98zqcnr58jipqSLxqENXS/BAb4k6tEYD+cqvJ3PuguTVgPDto4FhRVlmysHWq+PZFa1mPXqgh7NDaQAijhWkbRZcXB+uTeR4z+52AL5/foyC693iN6+VAXR2KM3ennjNgrTygzqZLTKZDYa9512f3d3NQO1V+cyis854BAReu5rk2QujnDgzxDNnh+luicxaJDeXvBoQvn10J6Aoy0j1yrfPtla0z82+3gRbOmIkp4pM5l1aoyH8WAgLKHg+3S0xuvfGZvWblzOAql03bc3BQ/jsjTSt0RC7u5tpb45wbSLLfV125XwERIT7tyUqcwFqrcpnunB2dzfzvTdHGMsU2dnZhGMF1w2l8gA8+sHZ5xXUknchzeeUuVEjoCjLSPXKV3KQiM4dbL1d9vdO9/2fODOEWNAavekyqW7pUKv5XLXr5ulT10HAtuCtkQz9gyl6W6Mc3L4BuJmddPRAT9AfyLbxjanpvoFbXTid8ShRx6Yp7FPwDa3REO/YnCBk2zW/R7VknstQKItH3UGKsoxcm8jSEp2+tlrJ4OVMF0nIDgqqyi4aYFpLh7nqBo6fGmJPT5xc0ePaeA5T+ryhdJ6BZI5c0aucO1ePo7nkS2aLZF2fI2/v4kP7N/LunR10xqM1v0eNMGBnLVDPQfNbgP8B9AAGeNIY81v1kkdRloM7Hbyc6SK5q6+VczfSnLqWIu+OE3FsOuMRNrZG5k0HvTaRZVtnM+dHMmQLHnnXx/V9jDGMZQqMZQq33Hu23U31Cj4Wsii6HoPJ4Pvw3t0dhB172vkzv0flRnSj6Tyd8Qi7u5srbiftEbS81NMd5AK/Yox5SURagBdF5IQx5kwdZVKU26LsJgHog8oqeKabZKnUco9cGE7z7IVRhlI5WiMOnu/jGRjNFHA9Q3KqQKbg8sD29mmfNXP1XTZgxgR9ea6n8thW0CTOGMNk3qV/MDlv5e+Xn73E90rzBvb3tRB2bJLZYmWnUF7hl2WY6Uoqvz+WLtDeFCJX9Hjx0gT3b2urxCeU5aOeg+YHgcHS15Mi0g9sAtQIKGuW6pV5Me2TiIeWLXhZq9Dq818/HbRPaArTHQ9zcWSKqYJLIuawqS1Wmeb15lCanpYI2ztvVu7OXH3f9PMLg8lc5XhHPIyI4FjCl5+9RFdLtOZQm7J8F4bTbCjNG3j5cpL7t7VVMozKu4e5ArzluEp7PEy+1K0UguH0+3ptTQldZsQYU28ZEJHtwDPAAWNMasZ7jwCPAPT09Nx/7NixRX9+Op0mHo/Pf+IaotF0ajR9YPl1ujGZx/MNtiWVY2OZAsZAJBSE9/JFH7/0Nx0Ll1wuBoqej2UJ8YiDbwy5oofrG+IRh47mcOVBmyt6jGYKTEwVsa3gwS8StJFuD/sM54SQLfgm6CrqWBY9rRGiIbsiXybvYomAgDEGEaE57FD0fDZvmP8BfnU8S8i2cH2fqYKHJSAIrm9oCtt0xm/Ke7s02u/dbPocOXLkRWPMwVrX1N0IiEgc+GvgC8aYP5nr3IMHD5oXXnhh0fc4efIkhw8fXpqAq5RG06nR9IHl1+mxp16lNxENHrAlfv/7F3FE2N3TAsDV8SmGJ3OA0NUS9O6xBbpaIjSHHaYKHhdGMsQjDvduSdDb1jTNVQPBiv6xp17j2ngWxxZ6E1HesSnBjuJl/suPwmzraKrUJUzmXA7tbOcLH7+7It/zF8cqK/iyG+nBHUG7h4Vk9jxx4mwlrlKuhh5LF2iPh/mNj+1f1nhAo/3ezaaPiMxqBOqaIioiIeB/An8wnwFQlPVKOQ5weiDJm0OTHNjUWgmSRh2bXNHjyvgUBdfHEvA8MBiKpdd5zzCUzBGPhmiNhdjV1YyIcGksi20J1yZy/PLXXuVD+zeyp6eZb/UP09kc4noyR9HzGZjI0tEUYnOTT3fLzVV4+SH/8pUgW6ccU9jd1cxLlyeAYCcQLtVLLDQuUh1X6YhHbokpKMtL3VJERUSA3wX6jTH/qV5yKMpqpjpN8p7NCdI5l2fPj3FjMksyW6QzHibn+UzlPUIWFFyDEXAsKPoGx7Loiocp+uAbw7WJLAMTOYbTebIFl+cvjmOMARMEsb/0nfOMpXMMTRboaA7TFLYpeobXByaxRIjNcMMIgcGBm+mgYcfm3i3Bw3oi63KgNG9goQ/whaafKstDPXcC7wE+DbwuIq+Ujv0rY8xf1k8kRVldHD81hOf5nBlMkc65iMB4Os+fvTpILGSTLbjYBB09XT9o82BhsG0LQ1A53BEK41gwOJHDsgTLAt+3GCt6hB0bEaEl5pSGufu8eSNDV0vg59/QHMYYw2imgGPlSec9EKm4g9J5jwd3BllH1QHfdN7l8N7uaYHjxTBX+qmyvNQzO+h7BAsJRVFKzEwBfe78CMmsSyRkIRhG0gU831B0PSyEgmtoiliAVWkW99yFMbIFj9ZYiGzR49LoFNmCh2VBSzRoMpfxfTzPYFs+edfnrr6gjXNHc5j+1OS0AG7e9eloDhOyLbZ2NDGWKQQFaE7w+tOHtlXO1Yf32kPbRijKKqFWCui54QytUYdEU4gr6Xwp5dPDN0IsbOMan6JniEcsklMFvvvmCK4fNHazLaEpbDM2VaToG+IhG0ssWqMh0vkiRcAS4Z1b2yodPXsTUc4OTXJhOIMhcCc1hW3u3pwgFrb57NG9NVtPKGsXNQKKskqoNeSlKRwERVtjIQpFH8sC1/MRkeAhH7KZzHsUXY90wcMYUzle8HwoBg/6kAVh28K2Bc81tDWFMQbaYmHCzs3+P+m8R18iykAqjxgwYih4gduntdPRlX4DokZAUVYJtYam9CaiDCazQUZOKV++NRoi53qVmoHWqMNUwQUgErIRhJZoUDns2BauYyh6Fq5v6IpHKgVkGPjMQ7s4O5SprOwLrRG2tDdRcL3KoJqQLZVaAKXxUCOgKMtArXYOi2Vm36HhyRzjUwVSOY/2oscD29p4YyhDwfUJOcJU3sOyhK54iGzRpy8RYn9fK89fHCfv+oRtYargkYg6hOzArRNxLEYzBUK2xWce2sVH7t7ER6rk/5vzo/S0RNjdHefQzg4gyCqqriBWGgs1AoqyCGZ72Ff78t8aSfPoV6/z97ZM8cSJswv2m1fnx+eKLt97c5R03qUpJFxP5rgxmWdXVxPjUy43Uh5F3wfPMJ4VNrZGuKuvtdIW4vmL42QKHvGIwz1b2kjlXPoSUfKe4dCuzprtHhKxEPGwzYXhDG8Mpdm8IcY9mxOEnXKrhvGV+aYqdUWNgKIskNmGpDeFrIovfySd443StC/PN4saKlOdYvnXZ2+Qzrt0t0RoawqRd31G0nmujee4e3MC1/PpiEfAwJ6eOJP5wJ+fzBbZ1d3CVN7l9YFJDDCYyvOzh7bykbs31bxvORZR9DymCkE7CceCkckcz1/w2NrRxGeP7mXojYHl/pYqqwA1AoqyQGoFbgGeOXuDzniEyXzQDdORoM9NtujxF28MkHd9vvvmMB/a38OnD22b0xiUA68nzgzR0u4QCwd/otGQTdENeulcT+WJhmyioaBa+Ppknv29rRRcj0QsxOmBJNcnC7x3dwdbO5qZzLl8q3+YnV3xmvcuxyJ+cDFFayxEPOowms6TKXhsTDj0JaLs600w9MYKfFOVuqNDZRRlgdQaGJMruoykC6RyLi0Rh8lskeupHMmpoPf+xFSBdM5lPFPgL09d5/NfP72goSgGc0sRTdEzWAKpXLEy5D3iWKRzLi1Rh4JnePSDe7irL8G7d3awvTN+y5zgWmxqizGZcyuf2xQOhsDv3djK+/d0kffq32RSWTl0J6CsC2YbrbgYag2M6R+cpKc1AgRFVeUWCnkv+No3IAKWJTginB1K85VnL/GFj989p6z5osf5sSxiQUvEob05ghFobw4H2UHFIDtoeDKPZwzPnB2uFHzVyjLKuy4nzoxxbSJLxJZSNbFhU1us0i8obFvkih4iUikgW8mBOMrqQHcCSsOzXGMKa41KHJ8qcnD7Bt65tY1IyAaEoNOzQNUC2hIh7ARtmcsN12aT9YvH36DgmuB8hFTOZTCZo681woamMOOZAmevp3hzaJKpgsuGWKgyrL1/MEnEFp45O8w3z1znuQujvDmU4vkL44RsIWTDsxfGeP7CGI4V9Av6Vv8wD+/r4kBfKxPZINX03i2JSuO2pWQ6KWsH3QkoDc9svvzFjimsNQzlfbs7CDk2iVioUnU7PJljeDIPBLsAx7II2YLnBy6eG5M5Hnvq1ZpDWT7/jTOcvT5JxBE2JmJki0GwNmQL2zubyRaDNg+RkE3e9fFNEC+4e0swrP0rz15iIJkjnXOJR4LeQt+/Pkk84nBXXyuvX02SybsUPJ/vvjnC4b1dJGIhzg5l+MLH7562Y0rElm8gjrJ6USOgNCzlUYd/8fogIduq9MXvaqk92Hy+z6p++P/D926vOSpxY0uEy6MZ2pvCQB7PB8GnKRwKMm88n83tTdN2JI+8fwdAZaSiYwnGwPhUkb62KJvabFK5Im+NZnnXjnbu3tzGiTNDxCOBIYiGbDrjUXxj+Hb/GO/a0U5vIlop9hIgEXMQgUtjU0RDFlHHYqoQjG28b2uCaxPBDkArgtcfagSUhqTsVrk8OkXEsXA9w5WxLGPpPG3NEfJFn/Z4eN6ZueXPqpUaWk77rN4dtEQdNm+IUfQMjm0RsgSfIF00ZAmt0Qjv2tFeCdgClYBteaTiZK4IGBwRxjIFOuMRIk7QBqIcmI5HHfJFj4hjMZTK8uyFUcbSBSayBXJFl57WWGVn8uz5EUYzBc7dyFRaQfvGVIrHzgxMcnhv98r8IJRVjxoBpSE5fmqIsUyBeNQhFrYZTOYwvs9IpkDONXTGw/S2RnjymYs8vK9rWuuEmUHjLz97iQvD6aBRW9Rhd1fztGyb6h3CyGSOA5uCmbqtmUn2boxzdSIY3tIScXj3rvbKQBiYPuy9NxFld1czN5JZRjMFPBMMhsnkPfb0xCuB2kQsVBnckpwqMJ4tks555F2PkG3xVz+6QVdLFM8YWqMhmkIWKdtiJJ2nIx5iYCIPAp3xEBjDeNZVv/86RgPDSkNybSJLwfWJOBbNEYfeRPBQ9H2DCBzcvoHtnXF83+dL3z4/a9C4fzDJ986NgjGB+6Xo8dLlCXJFl9MDtwacv3tulLzrMpLOkSkEbR12dzXTFgsTCdlkch4j6RzPXRjlm2euc/zUIG8MpjgzkOKZs8MA7OttRURwS7uJntYIzRGH9+zuqASmO+IR9nTHGc8WKXpBx9CtHU20RB1G0gWujE0RLzWfOz8yxU/d10tHPELBhc0bYmxqiwVJqCK8d3eHuoDWMboTUBqSTW0x3hyarPjMmyM3++ds74xXVuODyRyub2YNGh8/NcSGpuCYiFSaqPUPThIJ2Wze0DTt2g1NIc4MTBIN2exsp1LQ1V7aebx2NYmI4FgwPJknlXdpcmx2djdx/kaG/oEUYglRx6IvEeU9b+ukMx4YmLNDmWmupx1dcU4NJIlHbhaVTUwViUdsCr4hU/BpjYXY0x1nqmD4jY/tr7i1WqIOk7mguK16HoCy/lAjoDQkRw/08NrVCS6PToEJsveNgbBts7uruXLewEQW3xAEWkuuno54pOKiuTaRZX9fCy9fDnYGEcfCGMNE1mXvxsgtxWP7elv4/vkxQraLtAu5olfJue+IR3j9WpKQLVxP5XA9n0Q0hOsbTl+bJBKysKyg3gAMRc/GlNJMy26jmYHbb565Pq2orJw5FDLwwf2Bi6c8VrJWdpNm/yj1HjR/FPgtwAZ+xxjzH+opj7L6mK1h23yFX/t6E3z26F6+/OwlXr4ygSD82K52skW/0j//0kiGVCmVcnwqz2Ayy/kbaQ70tXDv1mBkYrlA7P5tbZy7kSGVKxK2Ld63u4POlugtxWPRkMN7d3dwbjiD66eJhGzu6mulq3RuJGTTEnGIhmyuTWQJ20EdQDl47NgWRc/DEiFb9Dk3nKGrJTpr0dZ9W9p4/sJYZeSjLZAt+mxpb6qcU32tZv8oM6mbERARG/gvwAeBq8APReQbxpgz9ZJJWV3Uysp5/Omz+MawraO5ZqZONft6E/zmjMrcaqNyfTLPnp5mzg5lCNkWsZDFVMHn5StJ/u4DW4CbnT0TsRDv2tFecaF8quRCqU4PLb9XTvl88bnvs7+3lZaoU/Hl37eljecvjtHRHC5lLfnkix7GQM41iOshEqzoc0Wfs9dTjKbzQevnD+y65Xv06UPbGEzmKiMf25rCMFVgV2dzZVBMMlvkpx/YvOw/H6UxqGdg+F3AOWPMBWNMATgG/GQd5VFWGdVFXuWUypF0nrFMYdqxufriVDNzV9EadbAkqB+IhiwKnqEpbFWKp+BmgVgiFmIwmSMRC1UMTvV7P7qe4sxgislcsSJLZzx8y3WfPrSNkB0MdWmLhcgUPDxzs7jYlP5jlb7O5F06msPs6Y7zrf7hW6qcyzuew3u7uWtTgqMHevk3P7GfHV3xW+RVlFqIMWb+s1bixiJ/BzhqjPlHpdefBh40xvzijPMeAR4B6Onpuf/YsWOLvlc6nSYej9++0KuIRtOplj5Xx7OEbAupcnons0WAaS4YY6Do+dOGo88kV/QYSRewLcESwTeGdN7F9w0h26LsWPd8E1T2CmxoCtMadeadqFXrsz3f0Oq4tLa03HJ+MlvkxmQeY4L7GWPwSn+HZVXLf5WWCG1NIUK2VZkk1t0SmXbvVM6l4PqEHWtB8i6VRvudg8bTaTZ9jhw58qIx5mCta+Z1B4nIZ4CvGGPqMlHCGPMk8CTAwYMHzeHDhxf9GSdPnmQp161mGk2nWvo8ceJs4HOP3nzgn7x0A2BacVMyWyQRD/Gpw3tm/fzP/clrnBpIUfB8WqMhdnc3k/ZcvndulK6WCLbA9VSOVNYlFrbZsiHGAzs6SI4V511JP3HiLBezaa5P5oN2DaXK4fe2DPOxWX5G5V3Jn75yjZ6WCP2DkxRcl6IPfskCRGwQsdje2cw7t7bREY8wmMzx+E/cU/mMSrZPc8kdtQB5l0qj/c5B4+m0FH0WEhPoIfDXvwT8HvC0WZ7twzVgS9XrzaVjyjqn/IA8PZDk6niWvT3xSl/8znik0ryt2g8/l8+7fzDJd8+NErFhIutycTjDy5fH2dwWpa8tymSuyGi6iGd8YiELS4RMwav055+vx9DpgSRXx7JEQlalluDsUJr7I96s11QHaJPZItmix5WxLI7n4xuD6wUZTa1Rh4hjVVpAXJ/MV/oOjUzmlqUnkrK+mTcmYIz518DbgN8Ffg54U0R+U0RujVItjh8CbxORHSISBj4JfOM2P1NZ41R3/NzX28qe7jhvXE/zo+spErEQj314D589uremj342jp8aQjBcGssyki7gej4A1yZyTGaL7O9tZWdXMyHbIh4NsXlDjEQsxLnhzIJ6DKVyLkhQE1CpJRAqLp65KHcm3dHRTFtTiKLn43o+sbBNyLZoawoRtoXBiSwvX5mgtzVyS2FaNYvtiaQoC8oOMsYYEbkOXAdcYAPwxyJywhjz2aXc2BjjisgvAk8TpIj+njHm9FI+S2kcZnb83NEVpz0eIREL8egHb7p7FrPSPTOYZGKqiOsFvn7PEHxN4Ht/azTLQ/u6iV4MCruiIRtjDMOpHM+cHabomVtmBVcHmYcnc/i+IeJYRBwrmCtgDHZ1MIPZZxqUc/enih4Fz8cWobctRmdziNFMkZF0MDPggW0bKjOEqwvTuvfejIVo/39lsSwkJvBLwM8AI8DvAP/CGFMUEQt4E1iSEQAwxvwl8JdLvV5pPGoNRLnd1W0yG6zUrZIBgCAAKwSdOi1LuDyaYSrvcmlsiljIJuwIk/lgwMqDOzfU7PhZTl1tjYYYTRfwfMONyVxpApjgGVNpUDdfE7paQ9/zrsu1ieDzwrYQC08P+JYL0xbjGlOUmSxkJ9AOfNwYc6n6oDHGF5GProxYynql1vSu213dtkYdHCvwfFolY2BKX4dsCwt46fIEzRGHLRuiDKUKDCYLbGqLcqjU8G0knePCcJpf/tqrtERDbGyJVGQ8sKmVZ8+PkXc9oo5DNATGBF1DH3/6LD2tEV6+MoHnBbuFTMEl5/pYEhi93/jY/ooRKO8MvvTtN/mbc6NYIvS1RSl4Pj+8OM6DO6XSHbRcmJaIhbQCWFky8xoBY8zn53ivf3nFUdY75eIsYFlWt/2DSVI5F1vAJ0gnFcCygl5ALREbzxju29JWye7Z2R1ncCJLT2u0YgBevDRB2A6sx2g6T2qqSDwazOLtjEd5cOcGTpy5QSIWojMeYXd3M7ZMcXEkw0g6T67oMZ4OOoNaIjh20H5icCJbs9jtwsgUvaVahnxpwHzB9Tk9kOL9eyLTCtP0oa/cDto7SFlVLGd/m7Jrpbc1QnKqQN71yRY8Ss0z2dwW466+BOeGM2zrbGZH18386nIPfoBzNzJ4vs/VVIGs64MJagvsq8LD+4JVecRxghx9x+L8cJrzw2m27HKxxTCZKzIyGRgC1w/u3Ry2sa3AZTQzA+n4qSGKnk9Hc3ha0zrP9yl6hsFkTlf9yrKhRkBZdSxXf5vqIHM86vDalSQXRzI0RxyOvL2LaMgptXJIVPr0QzAecmIqCMiefOMGN1JZ0nmPXNEjHnEQsZjMuVy4McnQplaiIYcrY1NkCy4j6QLRkAUGXN9nIJnDtoJCr3JlsDFQ8HyMGxiDmTGPaxNZOprDlQ6oEDSuG8t4fOTujdMC5Ipyu+g8AaVhuTaRJe+6PHdhlJcuT9AUcbhncyueMTx7YYwzgyke3tfFpw5tq/T2GUplef7CGK5v+LGdQRO5sSmXvOvREg3RFAmG1DRHbMQSXr2aJBEL0dMaoSUaxpJgOLxjW4gI2YKPYwmWFbSPtgjcUcYnmPIlckvMY1NbjN5ElFS2yFsjGc7dmOTCcLAb0eEvynKjRkBZdfQPJnnixFkee+pVnjhx9pZ+OQslYgvPXxgnV/RoiTiMZfK8ei1FR1OYj93Tx/7eVr7VHwxyKfcAevVqknjU4dCudvZsTHB4bzfdLRGMAccOZv+6peyfntYod/UlePSDeyh4QUuHTW1RbFsoeD5WKUW0HIQWERw7MAZI8HlCUCxW/XA/eqCHdD5IFzXG4PvgGkNHPHyb31lFuRV1Bykrymy58TPfe1c0X3nYz5VKuRgMTOu1n8q6WAghx2Isk+fcjSBo+9hTr3Hv5gR5zyAI+/tapo2A7E1EmZgqIAQP94hj0dYUIRqyKyv4TW0xXrsywWi2gG8g7Fg4VlXfH0twRLDtm3UEsZBD34bYLbrt603Q0xphJB2ZNtIy7NhaDawsO2oElBVjrtx4mP6w97KGJ5+5SFPIuqUVwngmz+e/cYat7U2zzg+oRcEzPLBjAxdGpkjnXDxj2NweZarg8uKliaC4yw5qBCamCmyIhRiYyHFlLENPa5SQY1Vm9HbGI4gI8YiNAOm8R3tbuLKC39PTzLEfFMgVfaIhi1zBo+j59LVF6WqJ0hJxODuUBgnSR9++sQXLsmY1bgXP8P49XZXdBNwcDqMoy4kaAWXFmFn9W93bBsD3ffoHU6RyRT6xycP3fV6+MslD+7oZSec4dyNTCdI2Rxwe3NG+qJ1Buebg0M4OAJ69MEoqWyTn+rREQ0RDNteTuaC1c9ZlfKqABWQKPrnRDG/riZPMFhnIu3zq3Vu4PJrl5StJDIYHd7bz6UPbKjKcHcrw7p0dnB/OcD2Vw7KCHcfdm9v49KFtlYrgVM4lEXPY3hmf05itRL2EotRCjYCyYlybyBKy4bkLwYO+NRpiZ1cT1yZcktkCl0eniJYmbRlj+NH1SQqez+XRDG8MpYk4Frmij29gquAxms5XCqXKhmSuCWMzaw5ijvCj8Syu8TG+oSUaIud6CEG2jkDFf1T04fzwFG/rjnPfljamCoYvzBhQM1PXrR3NlbYOAK3ZixTyZknZTstdL6Eos6GBYWXFmBmYzRU9nr8wTsQWklm3kgMvIpV/TWGHN4bSwfWORbboYVtCe3PQ0A2Ch+LpgZuN5qpdTdVB5OqhL/2DKYYmC7xza4K2WJiposdopkBXPEK2GBgCSyDn+tgCTmnEgOsbmiL2vG6YTW0xJnPTm7n5xix55T7XMBtFWU50J6CsGDMDs5Rel1skp6aK5IpeZXg7BuJhmxuTeVK5IiNpIWQJiaYQG5rCpEsP2cmcSyrnsnlD04JiB/t6Ezxx4mzl/E3tTbx4aQIAW4J0TSM+glQmejlWUNQVcSz6Bycr8wtmC3TXWrl3+ea2Ujp1HrByJ9CdgLJilAOzkZBNOu8RCdk8sGMDBc9wV1+CPT3xynsiQk9rmGTOpTUWYnNbjE1tMZoiDq5nKgPhy/n8iZhDSzRYw4ykc3y7f4jv/OgGPxpM0T+Q5M9fG+DRr77KX7wWjKi4NpGtnN8Zj3L/tjZaow7pgsfm9hgRx8EzEHJKk8yM0BwOuomOTwUpnNVtrmfuPmqt3DvjYX2IK6se3QkoK0L/YJLLY1OMpQu0x8PcuyVBV0u0EuwMVs5TlUHssWyGoVSBvRvjNEccXro8QcQJdgKjmQLuVIF8MUzR9SptJZLZIkXP48VLE4xnClgi5FyfgYkcfRuieD586dvn2dkVvyXQ2hmPErJtDpVk+eLxNzhTmjzWFLYrqZkiwvt2d1R2E3MNcZm5cj95cuDOf+MVZZHoTkBZdqp79tgWpLJFXro0wcXhdKUwaubK2baELR0xtnY009US5Z1b20qtmfP4Bn78wEb+1t5uporBQJjyMJZT11KES8VZBc+nOWQRdizGp4q0Rh1c33D81FDl/GS2WJlMVi3LZ4/u5eF93bREQ2ze0MSPv2Mjh/f2sLMrzqcObQOm7ybK6BAXZa2jRkBZdsqpods74xzcvoFELETR97k+mZ8W3NzXG1TbPv6Je+huibC/N1EJrna1RGmKOPS2xdi7sYWe1lhlFV5eeT/y/h0UvKCpWixs41hCNOzg+T7jmQJv3kgzVXA5PVDbXTNTli98/G7+30+/k8N7u3F9bjmnVvBX0zaVtU5d3EEi8n8CPwEUgPPAPzDGTNRDFmX5qR4M0xkPWi37Juh+OZePfGZwdSxdwLZgd3dz5ZyZK++WaChwOZUCx5m8S67oIaXsnohjcXU8W/HbV9+/3J5iZpB3Nhk1bVNpROq1EzgBHDDG3A2cBX6tTnIoK8BSV8wzV+vt8TBv33izhcNIOhj3eHogyb/6k9d4/OmzFZeT6xviEZupgodvDC2REC1Rh1TOJZMv8vlvnJmWPlp2Wb01kubyaOaWQPJC5NO0TaURqMtOwBjzzaqXzwF/px5yKAtnrh5AM98P28JQKg/tTYteMdcatXhxOM2FkTRvjWZxLOHBHRs4PZBiMudyaFc7u7qaeeVqksmcW2riFiNX9LkxmSdkW7ie3DK85fipIXzfrxSldTSHSeXcSiB5tge7pm0qjYYYY+orgMifAV81xnxllvcfAR4B6Onpuf/YsWOLvkc6nSYej89/4hriTuqUK3qMpAvYlmCJ4BuD5xs642GiIbvm+3nXJ2xLpZlaa9Sp9MZfjD7JbJEbk3lcL8jjty2p9N+5pUsnQt71KvN9BUEk6N8PEI/YREI23S0Rro5nKbg+BoOU+/OYYEfR1hSiuyVy29+3Rvu9azR9oPF0mk2fI0eOvGiMOVjrmhXbCYjIt4CNNd76nDHm66VzPge4wB/M9jnGmCeBJwEOHjxoDh8+vGhZTp48yVKuW83cSZ2eOHGWpD29j00yW2SYEI8e3lPz/bdG0gym8kHhVjzGO2bpk1PeQXQVz/Nmse+WHcYTJ86SjBZ5/uIoFjCRLTJVas7Wm4gyPlVkU1usYoxcP2iyNpV36WgO4xuD60N7c1BwtrWjmcd/4h6eOHGWP39toDK9C6gUrm21gnNul0b7vWs0faDxdFqKPitmBIwxD8/1voj8HPBR4CFT7+2IMifVgd4y1QHame+PpHP86Poknk+l6dsXj79BXyJK3jMVdxLc7CTaZ1s1m8OVP9sW4epElogtRB0L1/MZTOYQIGwLuaJH3vV559Y2Mrki+aJHzg1y/rtawjSFbcYyRQ7tCuISRw/08PTp66RybmWOb9712VaqNp6P+dxjirJWqEtgWESOAp8FPmaMmaqHDMrCmS/QO/P9czcyiAjt8WDSVsH1uDw6xamB1LRK2y8/e6mS9inCtBTQmfeWcr8JAndTU9jBsSBb9Hj5SpLzw2k6mkJ0tURJNIXZsqGpNCg+QlPYJpVzcSypGJ99vQk+84FdYGAsUyTiWOzpjmPb1rytHuaqHFaUtUa9soP+L6AFOCEir4jIb9dJDmUBzFVoVev9kXQeDOzuClI7zw1niEfsyrSt8sP+5SsT8xZflT87W/DZ1Bb46bNFn5AtFD1D1LFpjdo4lsXr11K8cnmM9uYwW9qb2NsTJ+JYlYHxn3lo17TV+kfu3sQTn7yHj9zdy9aOYND8QrJ9qltkV+tTbbwUZa1Qr+yg3fW473rldl0X5dTI6s/46Qc2Tyu0qn6/Ix5hY0uk0vY5nXNxLGiN3owZtEQdBJk24B1uTSUtf/bnv3GG0XSe7Z3N7O5u5uQbw5XAsF8a6m6M4c3hDL/7s0H86/ipIUKOzaFdnbPqvJRsn/ncY4qyltDeQQ3OXNO9FmsI5jq//H7/YJIvP3uJ750b5dLYFPv7WgjZwcP+HZuD60fSOU5dS5Etujx3fpQ9PXH64lR2EzNTSff1JviNj+2v6NESdRifKlIsDX+3LSFXdEt+/TxfefYSnzq0jUc/uGdp37R50IEvSiOhbSManDvpuigbnLBj82O72gH4m3NjbEpE2dHZzGTW5dv91/n6K4NcGp1iT3ecvRvjnL2RJlf0SMRCPLyvi+Onhm4ZMj+zUMsSiDo2ji2kckWK5aEwGJ69MMbjTy99QP18zOceU5S1hO4EGpw76bqoNjiJWIie1psr5j09zXzpO+cZSuVoClm0NYW5NJblnVvbePfODmKSrbRl8Dyf66kcr1ye4OlT1/nMQ7v4yN2bpu1Groxm6B+cZDJXxPVKyWWl/v8tUYeRdH5JQ9kX4jqbzz2mKGsJNQINzp10XcxncN69s4PnL47SEglaNOeKHueGMzy4o51Cxuf4qSE8z+fsjaCKt705FFTxfufWKt537+okGrL4wVvjGAy2CDFHaGkKE3EsUrniog3dYlxnWjmsNApqBBqc22l6VmtVDLPP9S0bnKLnce5GhlSuSNi2ONDXWjEQrdEQuaJHNGQTcSzSOZfJnMsWx+LaRJbrqRwRx6pUF7dGHUYzhVtW9UcP9HB5bIo9PS0MTmTxg8FkbGgKk3d9Io69aENXvZOBW+cFKEojojGBdUBTyOIHF8f4Vv8QhdJQlvkearVy4R9/+ixfPP7GrPnxRw/0cGVsimfPj5EtuIQtIZ1zGUjmiJSCw7u7m8m7flDcVfQI2UIyG/T+39QWq+Tsl8m7Ph3N4VtW9WWXzIG+VixLcH1De5ODJcFOpzMeWbSPXucFKOsRNQINTPlBHnJsHtrXzYM7OsiWhrLMR62A8kg6z1imQCIWYjSd58xgitevJisdOvf1JuhpjdASdXB9iIQdHtzZzraOZgxB9k/Itrlva2CAxrMud/W18sj7dxAN2Rw90INjCamcizGmUgXcm4jWXNWXZwD8t3/wAD/+jo04jo3rw6Gd7Tz24T2LXr3rvABlPaLuoAbmdtwbtfz7eddDEIYnc6XxjxYbmhxG0/mK77zgGd6/p6uSww+UZgm4VcFUl8N7u6e5kobeKFXxPrSLL33nPKOZAh3NYbZ3NGFZc1fx7utN8Jsfv3tJ36NqdF6Ash5RI9DA3E5mUK2AcsQJ/PTnhjMVv32u6NEZj1TSTucKRC8kmPqRuzexsytel748mvWjrEfUCDQwt5MZVGtV3BmP4BvDlbEsYRuuJ3PkXI+t7U3kii7pvMs/fO/2eVfT5YDzmcEkyWzQwO1D7flp07/q9eDVrB9lvaExgQbmdoqaak3ReuzDe/js0b1EQhaXx7OAYcuGGJYIP7w4TtiWeadvTZ/oNUUqW+TqWJZ80dMmbIpSB3Qn0MDcrntjtlXxvZsTZAseLVGHiGORd30MIPNcBzfjFP2DKaIhu+JSKvpm2hB5RVHuDGoEGpyVcG/kPcODOzdwYXiKVK5IazTE/r4W8uXK3TkoxylSuSItkeDXL+JY+L7RdExFqQNqBJRFU441vHtnR+VYMlukuyU0x1XTr22NhpiYKpDOu0wVPB5qM1wezbC9s3FG/SnKWkBjAsqiuZ1YQ/naWMhiYCJLJu8F84EFXro8wZ6e5juggaIoZXQnoCyI6hYSYVvIF11+cH0Sg+G+LW0Lbk1dPR+grSmMZwwR28Kxi9y3pY2zQxk+cgf0URQloK5GQER+BXgc6DLGjNRTFmV2qhurORY8f2EMAzy4cwMRxyGZLS7q8/b1Jtja3sSDO9orRWXx3EW2tTZrTEBR7jB1MwIisgX4EHC5XjIoC6O68vjMYIp4qb/OheGpSlxgsVk9y93dVAe/K8rSqGdM4AmCYfPzp5QodaW6sVo65xJxrEq7Zlhak7WZcQXPN0sezKKD3xVl6dRlJyAiPwlcM8a8KlU9ZpTVSfWqPR51yBc94ObM4KWs4GfWMGyJyrxxhdlW+9oCWlGWjhizMgtxEfkWsLHGW58D/hXwIWNMUkTeAg7OFhMQkUeARwB6enruP3bs2KJlSafTxOONlXp4J3XKFT1G0gVsS/CNIZMPjEBzxMYSwfMNnfFwZQbAUphPn2oZLJHK7qEzHmYkXSBkW1SvJ4yBouezeUP9OoA22u9do+kDjafTbPocOXLkRWPMwVrXrJgRmA0ReQfwbWCqdGgzMAC8yxhzfa5rDx48aF544YVF3/PkyZMcPnx40detZu60TjOzg4SgaGy5/O/z6fPEibO3xBCqX8/23koNm18IjfZ712j6QOPpNJs+IjKrEbjj7iBjzOtAd/n1fDsBZW4WExDtH0zy5Wcv8fKVCQThvi0JPnVo24JTO+vpWpmrI+pCmtYpilIbLRZbwywmINo/mOSLx9/g+QtjhC3BseDZC2M8/vTZFQug9g8meeLEWR576lWeOHF795lr4Mt8TesURZmduheLGWO211uGtcpiAqLHTw0xlikQjzoV372IMJLOr0gAdTFD2xfCfANf6r1TUZS1St2NgLI4yu6frnSWE5eHuGdLK3DTF54rujx/cfQW99C1iSwF1582Q7ec5jlfeudScvCXO2NHB74oysqgRmANUb267rMtQrbw/IVxDu0SOuNRhidz/PDiOPGoc8vqe1NbjDeHJsm7fmUnkHd9Io49Z3rnUlf0tzPVbDZ0ta8oy4/GBOrEUvzl1atrEbirrxUBTl1L4RvD6YEUBjiwqbUyHL7co//ogR7am8Okcy65gku24Famhc1VoFVr4Hz5M+dCh7YrytpAjUAdWGqFa3XlLkBXS5QHdmyg4PkMJnMUS33+O+M3V+DVq+++RBTfGK4lc6TzLod2tvPYh/fMu6KvvufMz5yN2+k0qijKnUONQB1YztV1NOTwof0befwT9/DB/T1EnOkP7MmcS9gWnnzmIiHH5qP39PHRu/u4Z8uGBaWHLnVFrxk7irI20JhAHViqv7w6Q6YPKqvrcobMbBk0TSFryUHa+bJy5kJ9+Iqy+tGdQB1YjtV10fNvWV3Ptvq+kc5zZiDJN89c57kLo4ykcwsO0uqKXlEaG90J1IHlWF2fPDnApw7f2hJh5uq7fzDJldEsCLRGHXJFjxcvTbC3J77gUY66oleUxkWNQB1Y7pz3ufL4j58aYk9PnLM30qWUUIu86/PGUJqfP7xrOdVSFGUNokagTizX6nq+PP5rE1m2dTYTjzqcG86Qzrm0Rh1aYyFd3SuKokZgrTNfZW55FkBXS5SuliAYPbPjJuhkLkVZr2hgeI0zXx7/QvL1dTKXoqxf1AiscebLNKrO7ukfTHFmMEU6X+T4qaHKQ36pdQuKoqx91AiscRay0t/Xm+DogR5aoiH297by9o2t01b7S60KVhRl7aNGYI2z0Dz+uVb72udHUdYvGhhuABaSaaSTuRRFqYXuBNYJOplLUZRa1G0nICKfAf4p4AF/YYz5bL1kWQ/oZC5FUWpRFyMgIkeAnwTuMcbkRaR7vmuU20MncymKUot67QR+AfgPxpg8gDHmRp3kWDJrsbhKV/uKosxEjDF3/qYirwBfB44COeAxY8wPZzn3EeARgJ6envuPHTu26Pul02ni8YU1S1sIuaLHSLqAbQmWCL4xeL6hMx6ujG5crvukci4F1yfsWLRWDYlfbp3qTaPpA42nU6PpA42n02z6HDly5EVjzMFa16zYTkBEvgVsrPHW50r3bQfeDTwAfE1EdpoaFskY8yTwJMDBgwfN4cOHFy3LyZMnWcp1s/HEibMk7emtF5LZIsOEeLRGZ8+lUN0TqKW55MMfK1YCtsutU71pNH2g8XRqNH2g8XRaij4rZgSMMQ/P9p6I/ALwJ6WH/g9ExAc6geGVkmc5WYkh6jOZryeQoijKclCvmMCfAkeAvxKRPUAYGKmTLIum3JSteiewHMVV1XGG0wNJ7tmcmHYPreJVFGW5qVedwO8BO0XkFHAM+NlarqDVykoMUZ/ZxC1sW/zw4jjDk7nKOVrFqyjKclMXI2CMKRhjPmWMOWCMeacx5jv1kGOprERx1cy2Dgc2tWKA0wOpZTM0iqIoM9G2EUtkudMtZ8YZOuNRHty5gVevpBhM5jSvX1GUFUHbRqwSarV1mMp7xKNqpxVFWTnUCKwSZsYZ3hpJ89LlCTa2RHTQi6IoK4YagVXCzDjDYCrPfVva2NEV10EviqKsGOprWEVUxxkee+rVFa9FUBRF0Z3AKkUHvSiKcidQI7BKWYlaBEVRlJmoEVil6KAXRVHuBBoTWMVo62dFUVaahjcC/YNJbkzmeeypV9dM339FUZQ7RUO7g8r9eDzfaK69oihKDRraCJT78ZSHv2iuvaIoynQa2ghcm8jSMqPtgubaK4qi3KShjYDm2iuKosxNQxuBcq695xvNtVcURalBQxuBcq69bYnm2iuKotSgLimiInIv8NtAFHCB/90Y84OVuNe+3gRDLREe/4l7VuLj56R6XKSmpyqKshqp107gi8BvGGPuBf5N6XVDMXNcpKanKoqyGqmXETBAa+nrBDBQJzlWjJnjIjU9VVGU1YjUY767iOwDngaEwBD9mDHm0iznPgI8AtDT03P/sWPHFn2/dDpNPB5fusBL4Op4lpBtIXLzmDFQ9Hw2b7j97KR66LSSNJo+0Hg6NZo+0Hg6zabPkSNHXjTGHKx1zYoZARH5FrCxxlufAx4C/toY8z9F5O8CjxhjHp7vMw8ePGheeOGFRcty8uRJDh8+vOjrbocnTpwlmS2SiIUqx8qvH/3gntv+/HrotJI0mj7QeDo1mj7QeDrNpo+IzGoEViwwPNdDXUT+B/BLpZdPAb+zUnLUi6MHenjymYtAUKA2mXNJZov89AOb6yyZoijKTeoVExgA/lbp6w8Ab9ZJjhVDW0ErirIWqFcX0X8M/JaIOECOks+/0dBW0IqirHbqYgSMMd8D7q/HvRVFUZSbNHTFsKIoijI3agQURVHWMWoEFEVR1jFqBBRFUdYxdakYXioiMgzUrCyeh05gZJnFqTeNplOj6QONp1Oj6QONp9Ns+mwzxnTVumBNGYGlIiIvzFYtt1ZpNJ0aTR9oPJ0aTR9oPJ2Woo+6gxRFUdYxagQURVHWMevFCDxZbwFWgEbTqdH0gcbTqdH0gcbTadH6rIuYgKIoilKb9bITUBRFUWqgRkBRFGUd09BGQEQ+ISKnRcQXkYNVx7eLSFZEXin9++16yrlQZtOn9N6vicg5EXlDRD5cLxlvBxH5dRG5VvVz+fF6y7QURORo6edwTkR+td7yLAci8paIvF76uSx+slOdEZHfE5EbInKq6li7iJwQkTdL/99QTxkXyyw6LfpvqKGNAHAK+DjwTI33zhtj7i39+/k7LNdSqamPiOwHPgncBRwF/m8Rse+8eMvCE1U/l7+stzCLpfR9/y/A3wb2A3+v9PNpBI6Ufi5rMa/+9wn+Nqr5VeDbxpi3Ad8uvV5L/D636gSL/BtqaCNgjOk3xrxRbzmWizn0+UngmDEmb4y5CJwD3nVnpVNKvAs4Z4y5YIwpAMcIfj5KHTHGPAOMzTj8k8B/L33934H/7U7KdLvMotOiaWgjMA87RORlEflrEXlfvYW5TTYBV6peXy0dW4v8ooi8VtrqrqnteYlG+llUY4BvisiLItIoQ6B6jDGDpa+vAz31FGYZWdTf0Jo3AiLyLRE5VePfXKuvQWCrMeY+4JeBPxSR1jsj8dwsUZ81wzz6/T/ALuBegp/Rf6ynrMo03muMeSeBm+ufisj76y3QcmKCXPlGyJdf9N9QvcZLLhtzDbSf45o8kC99/aKInAf2AHUPeC1FH+AasKXq9ebSsVXHQvUTkf8K/PkKi7MSrJmfxWIwxlwr/f+GiPwvArdXrVjbWmJIRHqNMYMi0gvcqLdAt4sxZqj89UL/htb8TmApiEhXOXAqIjuBtwEX6ivVbfEN4JMiEhGRHQT6/KDOMi2a0h9imZ8iCISvNX4IvE1EdohImCBg/406y3RbiEiziLSUvwY+xNr82czkG8DPlr7+WeDrdZRlWVjK39Ca3wnMhYj8FPAloAv4CxF5xRjzYeD9wL8VkSLgAz9vjLntAMtKM5s+xpjTIvI14AzgAv/UGOPVU9Yl8kURuZdgW/4W8E/qKs0SMMa4IvKLwNOADfyeMeZ0ncW6XXqA/yUiEDwz/tAYc7y+Ii0OEfkj4DDQKSJXgc8D/wH4moj8Q4IW9X+3fhIunll0OrzYvyFtG6EoirKOWZfuIEVRFCVAjYCiKMo6Ro2AoijKOkaNgKIoyjpGjYCiKMo6Ro2AoijKOkaNgKIoyjpGjYCi3AYi8kCpWVe0VFl7WkQO1FsuRVkoWiymKLeJiPw7IArEgKvGmH9fZ5EUZcGoEVCU26TUI+iHQA74sTXaskNZp6g7SFFunw4gDrQQ7AgUZc2gOwFFuU1E5BsEE8R2AL3GmF+ss0iKsmAauouooqw0IvIzQNEY84el9uTfF5EPGGO+U2/ZFGUh6E5AURRlHaMxAUVRlHWMGgFFUZR1jBoBRVGUdYwaAUVRlHWMGgFFUZR1jBoBRVGUdYwaAUVRlHXM/w8wdwIgRiAmQAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "num_samples = 250\n", + "x = np.random.normal(0, 5, num_samples)\n", + "e = np.random.normal(0, 1, num_samples)\n", + "\n", + "# equation\n", + "y = 0.5 * x + e\n", + "\n", + "\n", + "plt.scatter(x, y, alpha=0.5)\n", + "plt.xlabel('x')\n", + "plt.ylabel('y')\n", + "plt.title('Scatterplot')\n", + "plt.grid(True)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.10" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +}