{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "*This notebook contains an excerpt from the book [Machine Learning for OpenCV](https://www.packtpub.com/big-data-and-business-intelligence/machine-learning-opencv) by Michael Beyeler.\n", "The code is released under the [MIT license](https://opensource.org/licenses/MIT),\n", "and is available on [GitHub](https://github.com/mbeyeler/opencv-machine-learning).*\n", "\n", "*Note that this excerpt contains only the raw code - the book is rich with additional explanations and illustrations.\n", "If you find this content useful, please consider supporting the work by\n", "[buying the book](https://www.packtpub.com/big-data-and-business-intelligence/machine-learning-opencv)!*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "< [Preprocessing Data](04.01-Preprocessing-Data.ipynb) | [Contents](../README.md) | [Representing Categorical Variables](04.03-Representing-Categorical-Variables.ipynb) >" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "# Reducing the Dimensionality of the Data\n", "\n", "The **curse of dimensionality**: The number of data points needed to fill the available space grows exponentially with the number of dimensions.\n", "\n", "In practice, the curse of dimensionality means that for a given\n", "sample size, there is a maximum number of features above which the performance of our classifier will\n", "degrade rather than improve.\n", "\n", "That's why you often want to reduce the **dimensionality** of your data.\n", "\n", "> Here the book offers a detailed treatment of dimensionality reduction in 2D and 3D spaces, as well as intuitive explanations of PCA, ICA, and NMF." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Implementing Principal Component Analysis (PCA) in OpenCV\n", "\n", "One of the most common dimensionality reduction techniques is called **Principal\n", "Component Analysis (PCA)**.\n", "\n", "What PCA does is rotate all data points until the data lie aligned with the two axes (the two\n", "inset vectors) that explain most of the spread of the data. PCA considers these two axes to\n", "be the most informative, because if you walk along them, you can see most of the data\n", "points separated. In more technical terms, PCA aims to transform the data to a new\n", "coordinate system by means of an orthogonal linear transformation. The new coordinate\n", "system is chosen such that if you project the data onto these new axes, the first coordinate\n", "(called the first principal component) observes the greatest variance.\n", "\n", "Let's have a look at some random data drawn from a multivariate Gaussian:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "mean = [20, 20]\n", "cov = [[5, 0], [25, 25]]\n", "np.random.seed(42)\n", "x, y = np.random.multivariate_normal(mean, cov, 1000).T" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can plot this data using Matplotlib:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "plt.style.use('ggplot')\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmcAAAF6CAYAAABcEv/JAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X2UXNV55/tvVbW6JVqN7Xa3MMKOnQQnJgTHHjSOGL9I\nIRkDCQuiXLIXHiEbWyNijBMDnhjHmRt7kpBBayW8zQAJShtspETZ40SB5RtCfI0b2xM6N5jxGCck\nGeJxYlsM6nZD1GqjblRV949zqrrq1D5vVaeqTnX9PmuxJFXXyz67CtWjZ+/9PIVqtYqIiIiI5EOx\n3wMQERERkTUKzkRERERyRMGZiIiISI4oOBMRERHJEQVnIiIiIjmi4ExEREQkR0Z6+WLGmBLwBPAd\na+2lxpjvBw4Dk8CTwB5r7WovxyQiIiKSJ73OnH0IeLrhz/uB26y1rweeB/b2eDwiIiIiudKz4MwY\n82rgZ4Df9/9cAC4EPuPf5VPAz/ZqPCIiIiJ51MvM2e3AR4CK/+dXAi9Ya0/5f/42cFYPxyMiIiKS\nOz3Zc2aMuRQ4Zq39ijFmp39zwXFXZy8pY8w1wDUA1trzuzJIERERke5wxTyhenUg4K3AZcaYnwY2\nAqfjZdJebowZ8bNnrwaOuh5srb0XuNf/Y/XoUefdhtrU1BQLCwv9HkauaE7cNC9umhc3zUsrzYmb\n5sVt69atqR/Tk2VNa+2vWGtfba19HXAl8Ki1djfwBeAK/27vAR7sxXhERERE8qrfdc5uAm40xjyD\ntwdtps/jEREREemrntY5A7DWzgKz/u+/Abyl12MQERERyat+Z85EREREpIGCMxEREZEcUXAmIiIi\nkiMKzkRERERyRMGZiIiISI4oOBMRERHJEQVnIiIiIjmi4ExEREQkRxSciYiIiOSIgjMRERGRHFFw\nJiIiIpIjCs5EREREckTBmYiIiEiOKDgTERERyREFZyIiIiI5ouBMREREJEcUnImIiIjkiIIzERER\nkRxRcCYiIiKSIwrORERERHJEwZmIiIhIjig4ExEREckRBWciIiIiOaLgTERERCRHFJyJiIiI5IiC\nMxEREZEcUXAmIiIikiMKzkRERERyRMGZiIiISI4oOBMRERHJEQVnIiIiIjmi4ExEREQkR0Z68SLG\nmI3AF4Ex/zU/Y639uDHmfmAH8C/+Xa+21n61F2MSERERyaOeBGfACnChtfaEMWYD8GVjzMP+z37Z\nWvuZHo1DREREJNd6EpxZa6vACf+PG/z/qr14bREREZFBUqhWexMjGWNKwFeAs4G7rLU3+cuaF+Bl\n1j4PfNRau+J47DXANQDW2vNXV1d7MuZBMjIywqlTp/o9jFzRnLhpXtw0L26al1aaEzfNi9vo6ChA\nIc1jehac1RhjXg4cAX4R+C7wf4BR4F7gH621vx7zFNWjR492d5ADaGpqioWFhX4PI1c0J26aFzfN\ni5vmpZXmxE3z4rZ161ZIGZz1/LSmtfYFYBa42Fr7rLW26mfL7gPe0uvxiIiIiORJT4IzY8y0nzHD\nGLMJ+Cng74wxZ/q3FYCfBb7ei/GIiIiI5FWvMmdnAl8wxnwN+Gvgc9bazwKHjDFPAU8BU8Bv9mg8\nIiIiIrnUq9OaXwPe7Lj9wl68voiIiMigUIcAERERkRxRcCYiIiKSIwrORERERHJEwZmIiIhIjvSq\nt6aIiEjbKnOzVI88AIsLMDlFYdceitt39ntYIl2h4ExERHKtMjdL9YG7YNXv7rc4T/WBu6iAAjRZ\nl7SsKSIiuVY98sBaYFazuuLdLrIOKXMmIiJNGpcQ56e3UL1sd38zVIsh/RrDbhcZcMqciYhIXX0J\ncXEeqFKZf85bQpyb7d+gJqfS3S4y4BSciYhIXR6XEAu79sDoWPONo2Pe7SLrkJY1RURkTQ6XEIvb\nd1IBndaUoaHgTERE1kxO+Uuajtv7qLh9JygYkyGh4ExEROoKu/Y0l62AoV9CDNZYe/HdH4Bzz+/3\nsGQd054zERGpK27fSWHPdTA5DRQoTp9BYc91Q7uEGDwgweI8x++5pb8HJGTdU+ZMRESaNC4hTk1N\nsbAwvCUrnAckVvwDEo6AVZ0MJAsKzkRERMKkOCAx7J0MXnzsEcqfvluBaQa0rCkiIhIm9CBElfJN\ne5uWN/NYhqRXKnOzHL/nlqbl377XxxtgCs5EREQcKnOzsHIy/A7BACSHZUh6pXrkAVgZzsC0GxSc\niYiIBNSXKJeXou/YGIAMcyeDIQ5Mu0HBmYiISIBziTKMH4AMdSeDYQ5Mu0DBmYiISFCajI8fgATL\nkDA5PTRlSAq79sDYkAamXaDTmiIiIkFhnRKCAgHIsHYyKG7fyfjEBMd1WjMTCs5ERGRohdUlC+uU\nwAUXUvzbJ6nMH1MAErBpx0Usq3NCJhSciYjIUIqrSxbWbD3rwrwqXCtBCs5ERKSn8hKMRNYl276z\nJ0uUw164Vtx0IEBERHrG1auyb8VKc1D+YZgL10o4BWciItIzuQpG8lD+IQcBouSPgjMREemdHAUj\nuahLlocAUXJHwZmIiPROjoKRPNQly0WAKLmjAwEiItIzYSUq+hWM9LsuWdSpUBleCs5ERKRnFIy0\n6neAKPmj4ExERHoq62AkL6U54gzKOKX/ehKcGWM2Al8ExvzX/Iy19uPGmO8HDgOTwJPAHmvtai/G\nJCIig29Q6oQNyjglH3p1IGAFuNBa+2PAm4CLjTHbgf3Abdba1wPPA3t7NB4REVkHclWaI8KgjFPy\noSeZM2ttFTjh/3GD/18VuBD4d/7tnwI+AdzTizGJiMg6kKPSHJEGZZySCz3bc2aMKQFfAc4G7gL+\nEXjBWnvKv8u3gbNCHnsNcA2AtZapKdV/CRoZGdG8BGhO3DQvbpoXt7zPy/z0Firzz7XcXpze0rVx\ntzMn/Rhnr+X9szJIehacWWvLwJuMMS8HjgDnOO5WDXnsvcC9tftk2XB2vci6Ee96oDlx07y4aV7c\n8j4v1ct2g6M0R/Wy3V0bdztz0o9x9lrePyv9snXr1tSP6XkRWmvtC8AssB14uTGmFiC+Gjja6/GI\niEh6lblZyjftpbzvcso37e1Pb0zyUUg2iUEZp+RDr05rTgMvWWtfMMZsAn4K7zDAF4Ar8E5svgd4\nsBfjERGR9vXy5GGS8hODUicsbJwqsSFBvcqcnQl8wRjzNeCvgc9Zaz8L3ATcaIx5BnglMNOj8YiI\nSAIvPvZIS4asVycP60Hg4jxQXQsC+5Sl64ZhuEZJr1CtOrd55Vn16FGtfgZprb+V5sRN8+KmeWlV\nmZulevAuWGneJ9USmDUpZJb9Kd+01w9aAianKe3v37/ls/ys5PUa26H/h9z8PWeFNI9R43MREXGq\nHnmgOTADLzArRH3PZJj9GYbyE8NwjZKa2jeJiIhbWICQZMWltszZSfZsciokq+SVa1gXe7VirlGG\nk4IzERFxCwsckuow+1PYtaf54AHA6BiFXXsiDyXA4DRWj7pGGV4KzkRExKmwa0/rnrM0Osz+FLfv\npII70CrftNd9KOHwAXhpNfQkaZ6ybU2HK4pFqFS8Ehs5DialNxSciYiIU3H7TsYnJjj+6bvrwQwr\nJ2F5Kf7BGWV/QstkhGXlXGPzl1grkJvm4y2Zv0qlPmcKzETBmYiIhNq04yKWzz0f8AOKwwda7zQ6\nBhdcCE890XFGKnFmK+2S6+JCdAmQHgdEeRqL5I+CMxGRdaLdJbskj2vJ9NSMT1C4cl8m2Z40xW3D\n9mqxYdSdPZucautkpGtuuPSKdBeW5jV1SlNQcCYisi60W7Xf+biZWynP3ArjE7y470Y493x3pgdg\nbGNmy3Bpsklh+9GA0A323n2Tn4wMm5vv/vUXKX/7nzrLEuqUpkRQcCYiMmBc2ZyowCZsUz2EBEQ1\ny0sc/y+/SeHqD/Um05PwNVquf+8NQMM1jm/2M2gnmq63Zc8ZRO6NC5ubU197omFs7e1b0ylNiaLg\nTERkgIRlyEIDrODPg8FEXHBVLntBSlimp1igMjebTfYsQTbJef333wlUoVz2blte8gKdvTc0jSvq\n9KdT0sCzjb1iqcciQ0XBmYjIAKkePuDMkNVLMQQVi9FLhUk21i8uUNh7gzsIrFRiM0dJ98IlySY5\ns1nlU60vGrEcmjiISnPooI0M4qA0bJfeU/smEZEBUZmbDS9j4ZdiaDI65g7YoB5MFHbtaX1c0OQU\nxe07Key5zgv2glZXvH1qfmP04JiTNvauv8bkNF6PzmkKe65rDuTSBEEZFMFNTHvFJEPKnImIRMhT\n0dLqkQfCf+gXL3XuRYtYKqwvr83cGvrUtSCluH0n5Znbwsfg2H+VtmREbDYpTTYrgyK45Weehsce\njr6j9opJxpQ5ExEJkSbr0xMRmaBa0FjaP0PpwIOU9s94mShXZiwQTHiBVHgz81qgVZmbhWJU03PW\nqvTHjbnNrJbzekojUCo5XmPemc1Lo3TVtRT23tiUzdt48c9FZ/dEOqTMmYhIiNwVCg3LGhUKVGdu\no3zkgZbMXuKN5yHPXZw+A2gIVMOWSRstL1E+eI9XlJaQJultZrUiS2i4soQZdAGoZfNqWdSTjxyB\nV0y1HDgQyYqCMxGRMDkrFOrcMA9Q9QOgkEAkycbzsM34m3e/n2ViSm64RC0FJlgGjFpODr2eWs/N\nYICWQUDdbh05kXYoOBMRCdPDQqFJ9ra1ZI2KhdZMViAQSbpnLiwjtWnHRSwvLGQXkI5thJWT3gGC\n+26Ht19E6aprW+fi/jvWSmMszlO9/45kgVCXAurcZVFlXVNwJiISoleFQtNkZRqzRuV9l7uf0A9E\n0mZ7IjNsEUuq9cxdEisn135fqcBjD1Oe+wKsrKwdYjh8YC0wqymXvdvjAqFuBdQ5y6LK+qYDASIi\nIRKVdkihMjdL+aa9lPdd3rRRPTIrEyUs4PBvT/u8YeODkI34o2PwjovjS3HEWTlJ44GL0HIhYbc3\nOm9butuTiplrkSwpcyYiEiGrQqFRWax2szKxmb0Uz1s+eE/zPjF/fC9OTFBZWloL9GrFbv3SHcXt\nO6mcfU7TcijnbYPHH21tSp5kz1qafW0uTz2R7vaE1G5JeknBmYhID0RmscKW4sY3+xvc3fvF6nW4\nvvSIFzAVi3DBhWv3Ca0JVqW877J6gAW4N/CvrrA0czvVlZNrY/eL3YZt0K/vcQsEcpy3Lb5eWJzx\nCefNTfvqwk6Hdrj82LQn7/kF77Sm2i1Jlyg4ExFJoONitBFZLGdrpFIJTr64tpTn2C9WmZv1MlS1\nQwGVCjz+KJWzz6nXOEvUdzNCdelfWm8M2Qjfkh1sCORil2gbjU94197Ylqk0QuHKfS13bXnNMBks\nP9aC0KmpKRYWtNdMukfBmYhIDO/04J1rwYLfbDtVGYWIjequk5KsnGzdYxUIiqKycZWwnwe1u4zo\nCDYjs4NJM1ejY/UgLEkwnOgatfwoA0bBmYhIDO/0YKC5dvlUstODvrg9S8G9bXEnMVt+33Sf+WTZ\npCQmToel4623uzJRUXvcQpduJ7zyGq4gLMncRgZ9hb633BJph4IzEZE4nZwe9CWu1F8TkWmrL7GG\n7a8qFrMJzHZcwulvfgvH774l2Ub4iDGHBqdX7muag9qJ0cTLx2GvWSxSeO/1bQVleeqnKsNJwZmI\nDLXaF/FzXd7knfYLPyyY4bxt0VmxpKci44xPULrqWjZNTbFUO625OF8P/GpLp43XEJUdTBKcOk+0\nztxK+fAB2PY278Rl4LGh++oqlbYq+KsTgOSBgjMRWRfayXYk/iIen3BnyUJOD7b9Og3CTmLy1BPh\nwZd/+tLZYzKNUqlp8309sIq5hvr9Dh9Ym68No03PE7VUWT18wH1ty0vOMh+1164A1ftuj+2WkIQ6\nAUgeqAitiAy8evCzOE9jMdPGIqouSYu0Fq7c552ebBQIYKIKuLZTZDbsJGZ40FWgtH+mnk3qqDDs\nxtNagsZU1/DS6trvl5cSvReVudlUy8SNr13cvhMqGZXQUCcAyQEFZyIy8NqusJ/wi7i4fSeFqz/U\n3Cng6g81lbSIDA7b+MIPuyaKIX9tN2zQd3U2SGX5RPKxBm5v971IVWrD9dpZVfBXJwDJAQVnIjL4\n2s12pPgiLm7fSWn/DKUDD9YzVDWxAUmK11nbEB+SIatUWrN4gQ36riXeVAHa+OZEY3XeHvNehGYY\n28lMNbx2WHuptCU0QrOOi/MtGVGRblFwJiKDr81sR9wXetRSZZOYgCRp4NCcgYscub/fzf91wyjV\nmdu8sR68x5nF47xtyZc6T36v5VoTBz+uwM6/PTLDmDYzFXjtrPqgNj9PQK2l1WOPpBurSEqFajVk\nnT6/qkePHu33GHJHFatbaU7c1uO8OKvEj44l+nJeyzLNN7cb2nIm/N3Xmu8c8pyhma7JaUr7ZwKv\nE35gITJjFlQswtsvau1hGaZQgB8+r/WaokxOc/q7P8Dyuecnv4brd4cfnhjbGDpPsd0MHPfv9unJ\nsPejOH0Ghd860NXXHkTr8e+WLGzduhWgkOYxPTmtaYx5DfBp4FVABbjXWnuHMeYTwD6g9un/mLX2\nz3oxJhHJRh5qQqWuIeZ67CcbTvstzruDiJBTe0maYidqoJ5maa9SSderslpNF5gBLM5z/J5bKFzl\nBaSJrsG1X612e9jPFheiT102agh4G3XlcxjyflQWjlFy/kQkG70qpXEK+LC19kljzATwFWPM5/yf\n3Wat/e0ejUNEMpSnmlCJAocGiZpluzi+sDsJDpuENirvo5WUZSQiCtEC8YV1owKzkD1kXfschlxL\ncWpL+88pkkBP9pxZa5+11j7p/34JeBo4qxevLSLd0/YpSVLs5+qClr1PaYTsjWo8MFCrNZb22jou\ngdEtKTJ6UXvTojbbV2dujQ5Mi8XQZepOPodRwq5l8+73d/S8InF6XoTWGPM64M3AXwFvBT5ojHk3\n8ARedu15x2OuAa4BsNYyNaUjzUEjIyOalwDNiVuW8/Lc8yFf2s8vRL7Gi489wvGDd8FKQ6bj4F2M\nT0ywacdFmYwtyvxDh6i2WUX/9Hd/gE3durZLr+DFiQlOHPpdKgvHKE5tqQcCx+/8jeisUic2jDbX\nJgsoTm9J/pkJuYbatdd/Nv9c8vGNjXH6tR8Nnb92P4exQq5l4id/hk2nTsU/fsjo79zs9PRAgDFm\nM/AYcLO19k+MMWcAtTWF3wDOtNa+L+ZpdCDAQRsxW2lO3LKclyQb4bN8XFa8puJt/N234xJKV10b\n/dwZXVtwDxXnbUu++T+N8Ql/L1jMfDRsws9if1fiww8JNv/3+vOkv1vcNC9uuT0QAGCM2QD8MXDI\nWvsnANba5xp+fgD4bK/GIyKdS7IR3qnfVdjT7u0an6j3dizvuzw6IMng2lx7qHj8Ua99U9YB2vKJ\nZPPh7+MqP/N08xiCrZSSBm4J5yNJ4Nf251Akp3p1WrMAzABPW2tvbbj9TGvts/4fdwFf78V4RCQb\nbW+Ej9s03mXOL/NCEah6pxrr45muf8GHbTiH5utnfLO7lESKawvtDvDElxM/R2Ljm735uP9OKMcs\n1a2urPX6DNxea4TubFw+c2trBixhgJzkMEJmBzJEcqJXmbO3AnuAp4wxX/Vv+xjwLmPMm/Dy6d8E\nfqFH4xGRjKQ9JQmdZzo6XVZr/jJvrm8WWn/MteH88AFvr1ZjhitYvR+8GmPnbfOX38LH3FRzzSVN\n78nUEi7zhu17W1xwB5X1nzdn2BLXNYvJsLV8FvbeoKBMBp6K0K4TWutvpTlxy8u8tBtgdVJwNulz\nccGF8NQTa9mwLMpbFArNWbnAmJ1j6ZXRsc5fd3I6WVmSYGHemVsT3z8oy89CGnn5fyhvNC9uud5z\nJiLSqJ2MG8SUTUj5fKHLh43FXbOqOxb8h/DqCtX7bqc8c5sXAK6c7F5gFgwMg9K+bqkE5fLan/2s\nZ2TWr6YhE1bcvpNyzGOisqlZfhZE8kS9NUWkK7pWxyzLwwSdHEAYHfP7W3agUqHWY7KrS5aFVP9o\nj7fxNGcPy0R12gJ77wq79riXggF2XBKdAev3wRKRLlHmTEQy19XOAQkOEyReMg3bvB/62tNre9RW\nV7z6YKWR+I30/ZZ1fbTlE5RuP9Ryc8teviDHvsL6Yw4fWHsvapm+p56gMjcb/pkJ+yyENV8XGRDK\nnIlI5rpVsR2iK9CDo/p/LTDsNHNXO7k5OrYW7Cwvea/RaQZt0EScPF3rlPAQhb03OjNszsfcfsi7\n/+jY2hJs3Ht33jb37ctLlPdd1vPOEyJZUeZMRLLXxeWmuLIJqfYhhTXidqm1GAoql2Fso/98HS5N\njk94z5W3/pqNUpyqTbOvsDI36256HvLeVeZmvXprUfrY61WkEwrORCR7Xa5j5vrSjy1D4QoMszqJ\nmVEwVbhyn7dJ/vrdnQd6pZK3NyzLvWzFIlxwYeaBTj3bGVGmIyiybEcjHRCQAaRlTRHJXNzSY9bK\nB++Jb5ztCAzz1mi8+szT2QRmABtPo3Dlvmyvr1KBxx6mfP3uTJcLYwMtV1CfJgvruG/XDqyIZECZ\nM5EeyqInYZ6EXY9r6ZHztlE98kC9dEQ71+56PaC59EWYxXnKN+1tet3i9p1eOyJX1ft+SHIdSS0v\nUX3m6ciG5k1Gx2B1lUTFaJeXEi8XJvrMxwVarr1labKegeCuqwdWRDKg4EykR9bbF0Lc9TQuPWZx\n7WHPwYbR5IMOtBOqNxPPQ2DWjrjisWmCvQ2jsPn05AFPYLkwLHBO9L7HBVpPPdFyU+IOA46Mreqj\nSd4lWtY0xrwi5PZXZzsckfWrmycY+yHN9WRx7aEFY9tdAlyc94KXTgu/Fvu4O6SxEGynlpfS753z\nM15hJ2Srhw8ket9jl5cdmbXi9p0U9lzXfBp0743JToiqPprkXGTmzBjzQ8CDwA8bY54FbrDW2oa7\n/C1wehfHJ7J+rLcvhDTXk8W153We+pl163d9tfHNfr9QR1C3uhLZZ7Nxibm+DO46rQmhB0lCT4PG\nZb+6fGBFpFNx/+S7A/hvwCuB64BbjTEfbfh5xmWnRdaxsL/4c/KFkHqDdJrriblv+eA9lK+53KtN\nte8yytf9fOvr92OeikXYcYmfiRlSpdJaqZDg7SdfbP+kaqCGWXH7Tgrvvb4nB0l6fWBFJK244Oxf\nA//JWvu8tfZPge3AHmPMzd0fmsj6kucvhHYKt6a5nqj7lg/e4y0vNvZ+XF2h+snbml4/7Dm6VgB2\ndIzCe6+ndNW1lPbPrBVIHTblMoxPtCwXsvG0+Mzd2MboOQsscTYvVVLvxFA98kCmpymdS6JdbpYu\nkkbcgYAKMAG8AGCt/bYxZifwiDFmyEpii3QmrnhqP7WzQTrN9UTdt3zf7SGDqnqb9488sHbfxpOV\nfs2twtnnuIvD1oxsgFMvRU9AbWN9seg9d6HgXf/MrZQPH6jXH2u6hiSnGteLxYWWJcTyvsvjHzey\ngcKV+1LVn6vPc5cPz6QpkCvSa3HB2V8Cu4D7ajdYa+eNMRcCfwGc1sWxiaw7uf1CaHNPWJrrCb1v\n3J4t/4u5/MzTzScrKxV4/FEvRKr1YnSJC8wAVlfYePHPsXLW66jef2dzRmh5ier9d6wFBv41hO61\nWo/Clqrjrn95qT5nofPleO6ofyzk9R84IlmKW9b8ZeDrwRuttS8APwm8txuDEpEey3g/XJL9a5W5\nWa/gahKrK17GzHVaM7gk2qaTf/Gn3ulC11JduZz+hGEeJD1JGrM8nHip2qH+3rtqlYUt64f+Y2G+\nO31TRXImMnNmrf1fET9bAj6d+YhEpPfO2+auiRXWWDpCkppmLfdJ9MQpTkXWlifTqFSiy3IsLrTU\n8uKCC70aXIsL3vGoDILETLzhjfCNv082v7WG7uB8TzZe/HO8FLJUXX7m6dhaarVsl7MPZlgrqLCs\nnL8HrYnqk8k6pPZNIuIs8hl5e4QkNc0S90VsV6Wa/QnL8c0tWRsef5TCrj2UDjwI77g429frxN8/\nlWx+d1xCaf9MvZyFq27Yy37hP7Q8rJYZTdaZYSH8/Q75fIUe/kjRe1NkkKlDgMgQqczNMv/QISrz\nx5r362RZgy3iuWKbk8cpjSSs7VWFLWdmtyesVPJ+jdgH5cwM9UvSDF4gOEqyhzB11nNyKtHnKzIr\nOb7Zu1PYa+akHI1IVhSciQyJ2pdq1bHcGFeUM1VP0LDnqmWeOsmYpSm6+ndfa/91AgpXf4jqzG3u\nHy7OhxdPzbuQoKnx/Z6f3kL1st319ztV1tPfUxYakDd+vgJL4Tz+qJfJw73cGnwNkfUk1bKmMeY1\nxpjt3RqMiHRP1HJjVB2ytDXQQpek/NcbRF6pjohsVLcDs2LRO5GaNUfGKfh+V+af80qKXL/be8+T\nZlMbaofF1cSL+mxGBoOqTybrVKLMmTHm+4A/BN6E9zfUZmPMFcDF1tp/38XxiUhWIpaWIuuQ3bQ3\n1SbssOcKzTxJvGrVC9Cy7KUZknFy9sMEr6TIA3d5S4xRBydKJQpXf6gpYIqtidfWsnqB0v6ZiJ+L\nDK6ky5q/B/w/wNuB7/q3fQ74nW4MSkS6IGbpMnS/URtfnK7nKney12zYVaudB2ZjG+Gl1aYCvsGM\nU2VuNjrwWl2BDaORLxMMzGoi97PF9bpUH0wZMkmXNd8C3GKtreDn9q21/wK8rFsDE5Fstd0+KmUN\ntLAaZ6nqgnWrJVO31eqKJa0v1ivFoleMt7GA72MPe31MG96jYC03p+Wl8Pdncrq9Jcawki3nbcus\n7Vnq3rEifZQ0c/YccDbwD7UbjDE/AvxzNwYlItmrLS0VHjpEZf655r6FRLTFCTv1uOVMv+r72jIV\nhLfdSWx0zGv5E9WSqSaqM0A31do9BW5r3P+Uqw4CUXviFue9PWXPPJ1svMWi9/4EN+l3sjE/opRL\n8aprO+4KkKT2nkieJA3Ofhv4rDHmPwMjxph3AR8DbunayEQkc8XtOxmfmOD43bfEF4mNW4ZsPA1Z\nq9y+YdS9P+3wAW9JLe5AQLFYD3ASLYO+IkELoW5wLTFecKH3o1rAWiv/MCgeezhZsFuphPY5bTvQ\niVk677TQrFeoAAAgAElEQVTtWTu9Y0X6KVHu3Vr7SeAjwM8D3wLeDfzf1tpDXRybiHTBiUO/G1kk\ntvm0XgqrK+H7lZaXkp3U9L/4wd0yqEW/MlOukh6PP+pl+2qnWqP2boV5wxv72xIqSRZyctpbEnT0\nOW17qTDj9mEtsqzjJ9IDsZkzY0wJ+Dhws7X2T7s/JBHppsrCMfcP/C+qrlfvj1HedxmMT1C4cl/f\nxtCWTubMb6FU3L7TC45zXDetXrcsw0xUYdeeTJdJWwrahp0w1aECyanY4MxaWzbGXAd8ovvDEZF2\ntHwZnbdtrbp6YI9OcWqLt+csqH4yLuNsQqkEG09Ll0laXqJ6/53uvV1hxifay1blQGNJiOL2nZST\n7LfrhkLBvTRdMz4RPb42PzuxpTZScBa0LY14n8PG5WgVr5UcS7rn7FPA+4G7uzgWEWmD88uosedh\nYE/Z5t3vb95zBs1fVGFlDRoFv+giFWDb25L1YWxUPgUbN3m/Jnmtk99L9/x5URpp3qf20mr/xlKt\nUthznbdHMCTQLR+8J/zxHWSiOt1XVuPM6pVPecH72MaOgz+RXkganL0F+EVjzEfw9pzVNyZYa9/R\njYGJSDKJliEblpw27biIpaWl0CyFc4mpxl9+S1VQtnzKy+LtuCR9gLa8RGHvjWtjjarSn2WB1m4o\nFLz/XMuVtWC435m/WimM2vJqMEhbXop8D3ORiQrL3i2foHS7tknLYEganB3w/2uLMeY1wKeBVwEV\n4F5r7R3GmEngj4DXAd8EjLX2+XZfR2QoJV1KasiGRWUpkiwxpS4ou7hA6aprqZx9TrJAq4EXIJxI\nltHLs2q1ecN9segtIa6c7N5rJm4UT8syX/3EbIqAMReZqLiCtiIDIFFwZq39VIevcwr4sLX2SWPM\nBPAVY8zngKuBz1trbzHGfBT4KHBTh68lMlySBi0pCqPGLTE5s2ulkpcVcp74q1K+frf321qg9fxC\nstOBteBgkAMzl0qls8DsDW+EY8+Gz8uOSyjUg+GQ+xSLUKmGL/Ol2UM2OZ38vl2U9eECkX5I2lvz\nfWE/88tsRLLWPgs86/9+yRjzNHAWcDmw07/bp4BZFJyJpOItMybYQB5y+i94mKCpGXVI5iwsuwaE\nL4k2ZmDWW6DVD9/4+3pNONd7WH+/tu/09okFlyMDRXOdkgb+OQp+sjxcINIvSZc1g//XvQr4QeC/\nA7HBWSNjzOuANwN/BZzhB25Ya581xmxJ81wi4i8/RWzgrnNkNpyV0++/E2jo5VirID9za1PJh6a9\nSUce8PahTU55xVifeqL/AVi/ugdkbXTMOyQQvJaGfYTBgKSx60O9JllQgqKxhV17qB68C1aas1Br\n73E+g5+sDheI9EvSZc2fCN7mZ9POSfNixpjNwB8D11trjxtjkj7uGuAafyxMTWnvQNDIyIjmJWCY\n5uTFfTdy/J5bmr9EA0Ze/VpeOTXVNC/zDx2i6jrZFmZxnurBuxifmGDTjot48bFHON745b04D3OP\ncvq1H+X4Hb/ev+Bo4yaoViLnYyAUCpz+AX8uXZ5fYGpqyvk+1N6nE673GCj+7ZPx/39cegUrL385\nxz99F5WFYxSntrB59/vZtOOiDi9ssA3T3y1paF6yU6i2+ZenMaYILFhrJxPefwPwWeARa+2t/m1/\nD+z0s2ZnArPW2h+Oearq0aNH2xrzejY1NcXCgqpdNxq2OUlSvLSw90a2XHpFfV7K+y4n6cb8JpPT\nlPbPhPePrGXp+p09Ww9Gx7yDA84iqgneh9DDFwVKBx6Mfflh+/8oCc2Jm+bFbevWrQCFNI9Juucs\nuJP4NOAq4IWEjy8AM8DTtcDM9xDwHrwene8B4v+mEBGn+tJWxP6z6pEH4NIrAC+Yo1jwNoSnVdso\nHtoWZ96rKzUsatfajVIYqyvef8GTl437vKLaE4XtGysWvOA8h8uSIsMu6Z6zU7T+0+s7+EuNCbwV\nb9/aU8aYr/q31RqnW2PMXuCf8Xp3ikibYvef+V/i9b1mrixbkvILtS/2qODONYY0Ff8Hyba3Ubrq\n2qabQrNZbav6XRBOtAZUEeUjQuvW1d57R+N7EemvpMHZ9wf+vGytTZy7tNZ+mfCU3k8mfR4RcZ+u\nbPxSLVy5Lzx75td6iixcWz4FZ74Gnv1WxCBqDa9TZt3WY2AG8NjDlJ96ovm9OG9b+qK7UWoHNCan\nvE3/hw/4gfgJr7NASHuiltOLRUch3A76YopI9pIGZx+21v5S8EZjzO3W2uszHpPIuhEVSMUFWaHP\nFzxdGch6FLfvpPzM0+7SCXHLYDXPfiu+jlajfp6MHJ+Aky8mL7baLYFTre3VMCtAqRje7WB5aS0j\nGazcXxoJzaw1nl709hm6xt/ZXqF2Ps8i4pa0KuXVIbfno7CNSA7VA6nFeaC6FkjNzUb+LIoz41XL\nejQoXXUthb03+hvzC14JjMaaVkmqpf/d15IHGH0sWVG4cp+XNcqTxfn29p+VivC2d6YqGFxXPgVj\nGykdeJDS/pnwwCjsve+ggn67n2cRcYvMnDUUnx1xFKL9AUDHMkRCxAZSYT+LyKxFbvwOiKr1FNk/\ns1G/ez0mtV6WS8tleOoJCu+9Ptn7E5Qgy9mNCvqRn3Vlz0RSi1vWrP3fOkpzlqwKPId3wlJEXFIE\nUsGfhS1fMr45pKRCuqxH8z6kDDatB/c79Uqx2JI1HHiLC84q96ycjA+WE2Tc0lTQr8zNMv/QISrz\nx6KXKtv5rItIqMjgrFZ81hjzm9ba/9ibIYnkU+o9NXENmCN+FpaJYMNo64nHlFmPFx97hPKn7177\n0n/DG70lzE70IzADOOOs6IMLg8j/DAQzny0Bu0tEjbtGSSro116vGrG/sWnMajYukpmkHQLqgZlf\ns6zQ8LNkfxuIDLAkG/GD4paPIpeWwjIOy0uw45LErXOCASXnbeP43KPNFf1PHM8mQOuGqAKssP4C\ns4hAO1G2M8Pm42mWKtVsXCRbSYvQbgXuAt4BvDzw45ztxBXJXjt7auKWjyKXlqIaTj/+aHzDatwB\npbO0w+oKHHuWwt4bvb6a/T712Gi97CWLUix6Ga+GvqWhd23sZ9rtYCjl/kY1GxfJTtJSGr8HfA+v\nJtljeEHaJ4A/686wRHKmzT01UctHbW/YX12heviA87FNmTJXPasw/j6nRA3Ue229B2iVSlNg5RWv\njQ5wehIMpVyqVLNxkewkDc7+DfB91tplY0zVWvs//ar+fwkc6N7wRHIioz01SfetxbZiWl6iMjfb\n9NiWbEqaArG161g+kfwxkp1awP3SaujSueuzU9o/k/gl0u6Z1FKlSP8kLaZTxmvhBPCCMWYaWAbO\n6sqoRHKmsGuPt/+pUcovqrS1oIrbd0buIQqeUoys+h+l8Tqigs1ikVrNNN7wxvSvI9GWl0KXzjut\nI9bO44vbd3rL59Nn4KyVJyJdkzQ4+yvgp/3fPwL8EfAnwBPdGJRI3tS+qEKLuiaQtIBso8jgr2FJ\ntTI3m6wkxugYGy/+udDrKOzaE17QtVIBqrByksJbf2q4GptnKW2B2cWFtj47jdp9fHH7TqbvPRJf\n2FZEMpV0WXMPa4Hc9cCHgQng9m4MSiSPOt5T08a+tch9YH6Wq54VCX2SorfE6S9lvezSK3jp/7q6\n/uPK3OzaPqfxzTCyIbo0xvKSt9w6siH8PsOiNAKVcvIOCYUCvP0iePzRluXC0FOpfi9Np6R1xFSH\nTGSgJC2l8ULD718EfrNrIxJZr9rct1a4cl90SY6o5czRscgMX8s+tTSHAU69lPy+WamdbMyLtCdb\nq1WvDMoFF7aUQ4Hw8iqh5TOS7nlUHTKRgZK0lMYY8GvAu4BXWmtfZox5J/BD1tr/2s0BiqwX7W6w\njj2ZF5H9iFt6bXufWr+4sk6DZnE+tBxK2PtcIaYuXgxt7hcZLEmXNW/D2/y/G6gVSvob/3YFZyIJ\ndFL+IHJJNTQrMh3/3IO2rPXUExT2XJdd26l+CamRF/Y+d1o6Q3XIRAZL0uBsF3C2X0qjAmCt/Y4x\nRqc1RVLodN9aUzmE8c3eja6lyKRZkbBenXm1OL92/YOusY9qwvIqnXx2VIdMZHAkDc5Wg/f1y2l8\nN/MRiUiLytysVwerMZAKC6oSVJqvPScnX8xsjD3TjYzZ+ATF006jMv9c9s8dZnLKe18buzIszlO9\n/87ItmAisv4lDc7+G/ApY8wNAMaYM/FOah7u1sBE1qu0xUATNbyuKRbrpRdcX/CVuVnmHzpEZf5Y\nug4C61zhyn1snpjg+O3/Kctn9TKT3zvRepqzNOLtAzt4d+uhgvKp0A4QIjIckhbc+RjwTeApvN6a\n/ws4CmT5N5nIutdOMdBUm/Zrtcgcz1t7bS87VB2ewGzHJZQOPBRe0Hd8guL2nZw49LuZvmzpwIMw\nttFdZmPjJu/XlZPuBw/SUrOIZC40ODPGfLDhj99nrb3eWrsZOAOYsNbeYK1d7foIRQZUrX5Yed/l\nlG/au5YxS1sMtN39VYHnHbiTmVl54stARJeHK/cBUFk4lvw5J6eji/DWAsGw9275ROICsiIyfKKW\nNW9m7STmk8DpANbaAT4iJdIbLUuRfiYrNDiKCsDCTmMmsbjQsIya4f+6hULywqv91tCHNOrEYnFq\nS+I9Z6X9M5T3XR768/phjLADF1GFZUHdF0SGXFRw9o/GmN/BK5mxwRjzPtedrLWf7MrIRAZYWIYs\nVEQxUGeNqqTGN7f/2CiDEpj5amUrok4sbt79fo7ffUv8XE1Oe8vFxYK7ubwfWJWv3x2+PHneNr8I\nrTtgrmXzRGQ4RQVnVwIfwSs8uwGvhVNQFVBwJgMt7Qb9RNIsRcaUvWjO+ERkv0ql1rZLrs3oXVWg\nsPcGqvfdnv2ettKId4214Glso9elIKrVVE2C92PTjotYWlpqLlVy8sXmDfujY3DeNi/gdV3f6Bhs\ne1t8QPz4o16XAFdB3R2X6KSmyJALDc6stf8A/HsAY8znrbU/2bNRifRI2PJjx6UMki5FJix7Ucv4\neEtpIcFWpeIFB41f9r3OcBULABTee302GbvJ6YZA6Xut1/a2d8JjD4c/vv48ydoUBTNrrsC9eviA\n+7qKxbUCuXHXvboSKKirwrAisibRaU0FZrJetbVBPwHn5vPWe1HaP5PuyzgqyKhW+9PvslGlUm/C\nXthzXfgJySQmpyntn1k79RjMkK2uJAvMMmxTVH3m6fClykrVey9TNCMvbt9Zv8bUnwURWbeSltIQ\nWZ/CvkgX5+snLNtR3L4zPjhpp+n0ljOjf96N8hjjE7DjEv9aCt5hgCirK96yJt7G+cLeGxMEqq2a\nAqp2T6xOTsf2Fw3jKnsSGQzW3s80zchFRBySFqEVya2O9oxFLT92uMRZWyJzFpFtN5vzD1+PedFi\ndgHa6FhLYFOZm6U6c2v8Y/0MWm3uEu2Za+TXHqtLe2K1UKDwvhs6ykSlLT1Sez8THeBQ03ERiaDM\nmQy0doq6NopdfoxZ4nTVMgtqzqIVOsrmRAZepRK8/aK2slTNWsdYu85EgVmNP3epS3k01B6rjyjR\nMnHD/TsMzIB02bqGYNL1fjdlHjt5/0VkKChzJgMtcs/YpVfEPj5RVifkSzrNYYJ2m04Hs4KR9cXe\n9k5KV11LGeBLj7SXQSsWKbz3+tZs2f13JDsVGRRX363hdalUvWs8bxvVIw9QnrmtKRNafubpZNdV\nLGYT+CTN1jmCSTUZF5FOKHMmgy10z1jyrEdtU3bo/rCQvUHtHiZIkm2r3a9lz1OUp57wnuvxR90B\nzPgEhb03Upw+I2JwFaozt1I+eE/9purhA+0FZuAFXUmWBjeNw46LvXZGjz3ckgktH7wHvvwXyQLO\njJZ1wzoKKAsmIt2mzJkMtrDsRhubrZ17haL2BrURGKbJtjmDv6jSGH7D89Bg6CWv29rm3e+Pb/D9\n2MNUzj7HG1MnfR6TBkrLS+Gb7ZOeyqwJBNlRexIbfzY/vYXqZbubliejOgqIiHSLgjMZaKkDqgip\nv4zDWvOMb276Y1NwUCy0Biy1bFvwddKeUIxrCbS6QnXmVo4XkyXMnWPKu4b3vjI362X9Gt+jhmAY\naPrsVOafg0CgrOVJEemHngRnxphPApcCx6y1P+rf9glgH1BLe3zMWvtnvRiPrB9ZZzdcX8adnAZt\nyZS52v1AoAemv79sbMxb5guqLbU5AtJEG++TZrNqgd74RGfZs26rFapteG+cJ2RrGpeew5alFZCJ\nSB/1KnN2P14T9U8Hbr/NWvvbPRqDrFPdzG5ELUOyfML9oIbbE1fJD/bAjAqwNoxSuHKfM2CsQLoT\nlVH8peHClfuo3n9ncxujvBif8PYLBoRW8a9ZnAdC6rW1W1NNRCQjPTkQYK39IrDYi9cSyVLkpv+w\nfW3+7eWD9yQLzFyZsCjLJ7xyDbv21JcyayUrstwPVVseLG7fSeHqX6o39M7E+ETnJT9KI84G4ZW5\n2fhMX7EY+/6JiPRLv/ecfdAY827gCeDD1trnXXcyxlwDXANgrWVqSn95Bo2MjGheArKYk+eeD8mi\nPL/A6R/6NY7fcwusNARVY2Oc/u4PsGlqiue+9Ej4ExeLUK1SnNribdC/49cTj6k4vYXxv/kKxw/e\ntfbai/NUD97F+MQEJ6bP8PZPdaAw8TK2NJYiufQK5h86RCWr5c3vneD0D/0aJw79LpWFYxSntqQe\n8+m/+Kts2nFRy+3zDx0K6z66plLh9Hd/IPL9E4/+bmmlOXHTvGSnn8HZPcBv4HVx/g3gd4D3ue5o\nrb0XuNf/Y3VhQcsOQVNTU2hemmUyJ68IOQ36iimWzz2fwlWtjauXzz2f5YWF6L1dlQpMTlO9bDfL\n554f/jpBo2NUL9vN8U/f3RxUAKysxJ/CTGJ0DMzelrmrzB/r/LlravP3Wwco1W67aW/yQrWT02vz\nHJBonP7jG9+/on9aM+x5h5X+bmmlOXHTvLht3bo19WP6FpxZa+v/TDbGHAA+26+xiIQJbcWzOE95\n32XeZvTztsFTT9SXF8vPPO39OU7D/rXCrj0xe8UKzQVZZ27r5LIiXsbbh1WduY3ykQeaDz+kbaEU\nJuQ0baK2Rw2PDz2oETfOhtdv3K+oLxYRyYu+FaE1xjR2cN4FxDQNFOm9eiuesP1WtWbYwebYSYOY\n1RWqB+/2goQ3vNF9nx2XUDrwIKX9M82BUjviymhUq35w1NoKq7BrD5Ta+Pfc+ESioq31uY5qrD4+\n4d0HWtt2zdzqBcwrJ71WVi4qGisiA6BQjSpqmRFjzB8CO4Ep4Dng4/6f34S3rPlN4Bestc8meLrq\n0aNHuzLOQaZ/9a+pZ1SeX4BXZFM4tJxmya0dOy7xWi8dvGetRVGhABtGYXXVXTw16UnQmtExuOBC\nmHu0dUk0yvhEw+nQ+eYWUv7PgNaaYuBt2r/6l1LNf3nf5RCya6x04CHvPnHvR2kENm7yTs4mLH+i\n/4fcNC+tNCdumhc3f1kz4l+drXqyrGmtfZfj5tbz7yIdSlOBP5WOyysUopfbvvQIXHUtpauuhauu\njb2OlvpuruK2jYrFesZo/M1v8fasLS4QFgQ1WV6i+snb1gKy2q9+QFlTAUcPznT/+KvMzfrX4nhc\nY/Yy7v0on4KxjZRuP5Tq9UVE8kC9NWVdCS19cd/tsb0sI3VaXsHP3oQKBFZJ+nbWeoKWDjxI4b3X\nhy/lAVSq9eB0046L6o8L7Sca5MqwP/ZwfS4rc7NU77u9tQdnuRzba7Q+xFpAGhZknvze2nuX5P1Q\nvTIRGVAKzmR9CftCrlQI7qNK2oAcQppgJ1UqwcpJqlGb+IN7wcIybCHXV9y+E972zvDnDwtmztsW\n/pgEavXVIoOqhEFSZF9QaAr0Er0fqlcmIgOq33XORJzabpmU5ETh6oq3P+ql1cTLn/VlxPtuT97+\nCLyluJMvxhdFfftFDdccMf6QgKMyNwuPP+p+TMjpyMjHJBXXbB0ix9zUrirJnj4/0Gte1nU8rs3+\nqiIieaDgTHKnk31jicsxuIKlmL6K9YAg+PylElBobm9UGvFuT1Kp/u0XUTj7nETjrpeQaNx8X9uL\n5Xpsw16zoNigKom4ZusRgWHidlXB1/M1lsEIC+Y76Yvajl6/noisTwrOJHci91vFfNE1ZVSeX/BO\nFqbJdMUswYU1WqfxtvHN8L0TMb0oC96eL1/5pr2JA6WmzfkQHQA27DVr0emerLhm61kHhhHZsNCG\n9d04HBKi168nIuuXgjPJn7CgIWEwUfuinpqa4thnP5Ou5ETCJbhgRqRpv9qLy+4N9FGvk+TaJqe9\njFma8jfFgleawpXF6aSo7OT0WkHcZ572ars1Gh2LricWdb2T02tBLqQqh9GokyC/Hb1+PRFZvxSc\nSf6EBQ1tbPB2ZbqiApKkS3CNGZHywXuagxNXGYhGrgxQXKBUKiXoIuBQyxo2jBm/Z2biJeCAwt4b\nAW9Oy2HjueDC6EAq7n3Ye0Pn2aYOg/zcv56IrFs6rSm54zyJ18EG78aSE6X9M+HlI8Ynki/B+RmR\nytxsa9YocjDupb7Y04cbT4sPVkbHojsAOEpxFPZcl7ycBtT3t61V5w8R074q8noDnQnaFhbMd+sU\nZ69fT0TWLWXOJHfC9nW5gpN2NmA7M0ajY/VK9y0iMiJJa3gBkdXy69cclolaPuH9Oj4RvsesXI7f\nXxe4Fvem+pCgq1Ra6xQQl21bnPer+Lvfl9jTlhksB4a+zwmD/LSfrU5fT0SkRsGZ5JJrg3dQuxuw\n0wR/gLf3yRUQxZ1UDHrbv40dV9nVAgmgWKAyN+sFR/ff2XrYYHQs2fJkRBanJVALnAgtXLkvXdP1\nWtAVeF9aSmiEPr6z5cDU73ODdj5bnbyeiEgjBWcysDo91ZkkK1OZm4WT32v9QWkk+qSiS8xSX+hr\nAVQqVB+4y1uGfNu/Xeu/6Zfi4LE/j3/9FFmcyPlp5yBBbRkYkpfQyGA5MOn7HNTuZ6vd1xMRaaQ9\nZzK4erABu3rkgdaWRAAbN3l7ttJ0DogZV+hr1ayuUD14t7fHrbZ8Wal4hWRrJxuDikW8vp7T0acn\nU4i85qj9a0kK1tb0ezlQm/tFpI+UOZPBleGpzlBhX8b+HjDnadCVk+HLoO28VqOVk623ra7AhtHW\npc24chZtilu+8/aahbwvSUpo5GE5sBefLRGREArOZHCdt819UrLDfpFNwr6kxzeHbnhv2a8EyTJB\nndQdWz5BYe8NPdvvFFy+q/UprdcnK5Was4BxBWsnp72TtDmhzf0i0k8KzmRwhe3hitnblYbzS7o0\n4u0Nq2XHApvF29kYXpmbdWfFkhrf7OxaEHViMk7S04otwejykjdH4xMtBWSd7a9yGPRoc7+I9JOC\nMxlcPdgXlHjZMrBZPM3GcGemLa3G5uqL896JTqpr2StHEdooLYV1I04rOveRlU/B2EZKtx9qunmQ\ngh5t7heRflFwJoOrR/uCgl/S5X2Xu+/o1/bKpM1QGmMbW7Nurr6etQAyJjgLLawbdlpxQDbPqym5\niAwKndaUgRXVSaAyN8v8Nbso77uc8k17O68276vMzUKxEH6Hdqrbpw1iJqepn8DceyOspAjsErxW\nZGFd1+NTVMavZwkX54Fqdt0AYvTrdUVE2qHMmQyssCUy8PY1VVMWpw1qKZZ63javbEVcFf601e3T\nHARwbJwvp6m1Vizw4mOPwLnnh98n8kRla8CVZvN8v5qDqym5iAwSZc5koAX7Zha374z+Ik7IlWnh\nsYeTLz+myIYlrpUWEvCkqrVWqXD8nluiM0YRy8Ku12/u0RlTU61fS6ADsvQqIgLKnMl6lMEXccf7\nwFLse4vMACbYIxXbpzJoJTpj5MyEAey4JLJ1UaIMVL/qh6lumYgMEAVnsv5k8UXcSUaljdIQocFN\nwiW32uNDC8AGRdynmycq+1U/THXLRGSQKDiTdSeTL+Kk+8BGx+CCC73aank4BZgiqKzMzXaeCUup\nX6U0BqmEh4iIgjNZd2pfxIWHDlGZP9bWF3Fh1x6vVlhjSYrSiNd0PC+BmEuKwwXVwwf6shm+X/XD\nVLdMRAaFgjNZl4rbdzJ16RUsLHSy4bva8ufC2edQvOraTobWVaH7xVxc/T9FRKTvFJzJQOtWYdHq\nkQeae0MClMs9Lb3QzrU5Oxq0269TRET6QsGZDKyWtkdt1jNz6nPphU6uraWjwfW73Vmy8Ymshisi\nIhlSnTMZWFnUM2tUmZulfNNerz1TWBeAHpVeyPLaClfug1Kp+cZSybtdRERyR5kzGVwZZrdaMlWV\n4H4zelt6IcNrCy51Fqe3UL1sd74OMoiISJ2CMxlcGRYWDS06Wyx6gVrMnq/M975lXDS1calzamqq\nw4MSIiLSTVrWlIEV1fg8tbCMVKXa1BrKeZcuNNXO9NpERGSgKHMmAyvTwqIJM1WuDFno/rDDB/ym\n5OnHpqKpIiLDqyfBmTHmk8ClwDFr7Y/6t00CfwS8DvgmYKy1z/diPLJ+ZFVYNElXAecJyplbw590\neWntlGQbJ0lVNFVEZDj1alnzfuDiwG0fBT5vrX098Hn/zyKxGk9Vlm/aW18+DN7+4mOPJH6e6pEH\nvDZMk9NAASanKey5rimQ6rgZ+uoK1ZlbKe+7jPL1uzta9hQRkfWrJ5kza+0XjTGvC9x8ObDT//2n\ngFngpl6MRwZXWP2v8jNPw+OPNt1+/J5bKFx1nTNT5XoeHn+0JSBrkmWNs+UlqvffkU1NNhERWVf6\nuefsDGvtswDW2meNMVvC7miMuQa4xr8vU1O9qTU1SEZGRoZiXuYfOkTVsb+LLz0ClUrz7SsrFB46\nxNSlVyR+nrD7A8xPb6Ey/1zsGIvTZ1A9eZLq0r9E37Fcjny9bhmWz0pamhc3zUsrzYmb5iU7A3Eg\nwFp7L3Cv/8eqygC0GpbyCJX5YyE/qLhvnj/mnJew5wm7P0D1st0Q17dycprCbx2gOjcbf9+Y1+uW\nYToQk3MAAA1HSURBVPmspKV5cdO8tNKcuGle3LZu3Zr6Mf0spfGcMeZMAP/XkG9dkQZhdb6KIR/l\nsPunvR1v+bGw57qIwVE/QFC/7+R05P171XFAREQGRz+Ds4eA9/i/fw/wYB/HIjnk2vgfVv+Lt1/U\nevtYeF2wduuIFbfvDA+4xiea9o8Vt++ktH+Gwt4boeRIUpdKqlsmIiItelVK4w/xNv9PGWO+DXwc\nuAWwxpi9wD8DP9+LschgcG78v/8O2Hiad1ux6C1lTk7X639Vzj6nqS7Y6e/+AMvnnu98/k7qiIWW\n3QjpVVl/rcMH1kprjE9QuHKfDgOIiEiLQrXq6CGYb9WjR4/2ewy5s97W+ss37XUXhW00OhZ5urKb\nc5J5u6YeWm+flaxoXtw0L600J26aFzd/z1khzWMG4kCADKEkZStWV7wAqQ9BkQrEiohItyg4k3wK\na6cU5Ajialmt555fgFcMVlZLREREwdk6NcjLbhCyr8vF1fvSUaRWxV5FRGRQ9PO0pnRJPUBZnAeq\nawHKALULai5FUYDxidYTj47TlaFNyI880N0Bi4iIZESZs3UoMkAZoOxRcF9Xomxg2F61LFsv9cCg\nZz5FRKR9Cs7Wo3USoAQl2oQftldtgIq9amlWRGS4aVlzPWqj+v160W5x2TzR0qyIyHBTcLYOrYcA\npV1Ne9UKBa9IbUQttFxap5lPERFJRsua61An1e/Xg9ry58AWRFwHS7MiItI+BWfrlIqk5kuaDf6h\n7aGGIPMpIiIKzkS6Lu0G/2HPfIqIDDsFZyJd1k5pE2U+RUSGlw4EiHSbNviLiEgKCs5Eum2IS5uI\niEh6Cs5EumyYS5uIiEh62nMm0mXa4C8iImkoOJOh1cv+ldrgLyIiSSk4k6Gk/pUiIpJX2nMmQ0n9\nK0VEJK8UnMlwUnkLERHJKQVnMpxU3kJERHJKwZkMJZW3EBGRvNKBABlKKm8hIiJ5peBMhpbKW4iI\nSB5pWVNEREQkRxSciYiIiOSIgjMRERGRHFFwJiIiIpIjCs5EREREckTBmYiIiEiOKDgTERERyREF\nZyIiIiI50vcitMaYbwJLQBk4Za3d1t8RiYiIiPRP34Mz309Yaxf6PQgRERGRftOypoiIiEiOFKrV\nal8HYIz538DzQBX4PWvtvY77XANcA2CtPX91dbW3gxwAIyMjnDp1qt/DyBXNiZvmxU3z4qZ5aaU5\ncdO8uI2OjgIU0jwmD8HZVmvtUWPMFuBzwC9aa78Y8ZDq0aNHezS6wTE1NcXCglaGG2lO3DQvbpoX\nN81LK82Jm+bFbevWrZAyOOv7sqa19qj/6zHgCPCW/o5IREREpH/6GpwZY8aNMRO13wPvBL7ezzGJ\niIiI9FO/T2ueARwxxtTG8gfW2j/v75BERERE+qevwZm19hvAj/VzDCIiIiJ50vc9ZyIiIiKyRsGZ\niIiISI4oOBMRERHJEQVnIiIiIjmi4ExEREQkRxSciYiIiOSIgjMRERGRHFFwJiIiIpIjCs5ERERE\nckTBmYiIiEiOKDgTERERyREFZyIiIiI5ouBMREREJEcUnImIiIjkiIIzERERkRxRcCYiIiKSIwrO\nRERERHJEwZmIiIhIjig4ExEREckRBWciIiIiOaLgTERERCRHFJyJiIiI5IiCMxEREZEcUXAmIiIi\nkiMKzkRERERyRMGZiIiISI4oOBMRERHJEQVnIiIiIjmi4ExEREQkRxSciYiIiOSIgjMRERGRHBnp\n9wCMMRcDdwAl4Pettbf0eUgiIiIifdPXzJkxpgTcBVwC/AjwLmPMj/RzTCIiIiL91O9lzbcAz1hr\nv2GtXQUOA5f3eUwiIiIifdPv4Ows4FsNf/62f5uIiIjIUOr3nrOC47Zq8AZjzDXANQDWWrZu3drt\ncQ0kzUsrzYmb5sVN8+KmeWmlOXHTvGSj35mzbwOvafjzq4GjwTtZa++11m6z1m4zxnwFL6jTfw3/\naV40J5oXzYvmRXOiecnff/68pNLvzNlfA683xnw/8B3gSuDf9XdIIiIiIv3T18yZtfYU8EHgEeBp\n7yb7N/0ck4iIiEg/9TtzhrX2z4A/S/GQe7s1lgGneWmlOXHTvLhpXtw0L600J26aF7fU81KoVlv2\n34uIiIhIn/T7QICIiIiINOj7smZSavPkZoz5JrAElIFT1tpt/R1RfxhjPglcChyz1v6of9sk8EfA\n64BvAsZa+3y/xtgPIfPyCWAfMO/f7WP+9oKhYIx5DfBp4FVABbjXWnvHsH9eIublEwz352Uj8EVg\nDO878zPW2o/7B9kOA5PAk8Aev5j6UIiYl/uBHcC/+He92lr71f6Msj/87kdPAN+x1l7azmdlIDJn\navMU6yestW8a1sDMdz9wceC2jwKft9a+Hvi8/+dhcz+t8wJwm/+ZedMwfdH6TgEfttaeA2wHrvP/\nPhn2z0vYvMBwf15WgAuttT8GvAm42BizHdiPNy+vB54H9vZxjP0QNi8Av9zweRmqwMz3IbxDjjWp\nPysDEZyhNk8Sw1r7RWAxcPPlwKf8338K+NmeDioHQuZlqFlrn7XWPun/fgnvL9GzGPLPS8S8DDVr\nbdVae8L/4wb/vypwIfAZ//Zh/LyEzctQM8a8GvgZ4Pf9Pxdo47MyKMGZ2jyFqwJ/YYz5it9JQdac\nYa19FrwvHmBLn8eTJx80xnzNGPNJY8wr+j2YfjHGvA54M/BX6PNSF5gXGPLPizGmZIz5KnAM+Bzw\nj8ALfjkoGNLvpOC8WGtrn5eb/c/LbcaYsT4OsR9uBz6CtzUA4JW08VkZlOCs4Lht6CN031uttf8K\nb8n3OmPMO/o9IMm9e4AfxFuKeBb4nf4Opz+MMZuBPwaut9Ye7/d48sIxL0P/ebHWlq21b8LrYvMW\n4BzH3YbuOyk4L8aYHwV+BXgD8K/x9ljd1Mch9pQxpra/t7EjQFvxy6AEZ4naPA0ja+1R/9djwBG8\nvzjE85wx5kwA/9djfR5PLlhrn/P/Uq0ABxjCz4wxZgNeAHLIWvsn/s1D/3lxzYs+L2ustS8As3h7\n8l5ujKkdqhvq76SGebnYXx6vWmtXgPsYrs/LW4HL/IN6h/GWM2+njc/KoARn9TZPxphRvDZPD/V5\nTH1njBk3xkzUfg+8E/h6f0eVKw8B7/F//x7gwT6OJTdqAYhvF0P2mfH3gMwAT1trb2340VB/XsLm\nRZ8XM22Mebn/+03AT+Htx/sCcIV/t2H8vLjm5e8a/oFTwNtbNTSfF2vtr1hrX22tfR1enPKotXY3\nbXxWBqYIrTHmp/Ei0BLwSWvtzX0eUt8ZY34AL1sG3lHmPxjWeTHG/CGwE5gCngM+DvwpYIHvA/4Z\n+Hlr7VBtjg+Zl514S1RVvJIRv1DbazUMjDFvA74EPMXavpCP4e2vGtrPS8S8vIvh/ry8EW8Tdwkv\noWGttb/u//1bK4/wP4Cr/GzRUIiYl0eBabzlvK8C7284ODA0jDE7gf/gl9JI/VkZmOBMREREZBgM\nyrKmiIiIyFBQcCYiIiKSIwrORERERHJEwZmIiIhIjig4ExEREcmRkfi7iIj0hzHmh/GOoJ8N/Kq1\n9s4+D0lEpOsUnIlInn0EmLXWvrnTJzLGzAIHrbW/3/Gokr/mvcAO4PXA+6y19/fqtUVkcGlZU0Ty\n7LXA3/R7EAAN7VfS+J/AB4AnMx6OiKxjKkIrIrnkVxrfAbwEnAL+FfBPwM2AAcbwOmTcYK190Rjz\nCuAB4MfxVgX+O1518m8bY24GPtrwXPcDvw38b2CDtfaU/5qz+Nk1Y8zVwD7g/8NruXK3tfY/GmPe\nB/wy8Cr/Z9dYa/8p5lq+DPy+MmcikoQyZyKSS9baC/HaCX3QWrvZWvsPwH7gh/DaCZ0NnAX8mv+Q\nIl6j5dfitWB6Efiv/nP9auC5PphwGD8OfAPYAtxsjPlZvJZGP4fXouZLwB92eKkiIk2050xEBoLf\nSHkf8MZaz0tjzG8BfwD8irX2u8AfN9z/ZryGw504aq39L/7vTxljfgH4z9bapxte/2PGmNfGZc9E\nRJJScCYig2IaOA34ijGmdlsBr/EyxpjTgNuAi4FX+D+fMMaUrLXlNl/zW4E/vxa4wxjzOw23FfAy\neArORCQTCs5EZFAs4C1Vnmut/Y7j5x8Gfhj4cWvt/zHGvAn4H3jBE0Bwg+2y/+tpwHH/968K3Cf4\nmG8BN1trD7UxfhGRRLTnTEQGgrW2AhwAbjPGbAEwxpxljLnIv8sEXvD2gjFmEvh44CmeA36g4fnm\nge8AVxljSv5G/x+MGcbvAr9ijDnXf/2XGWN+PuzOxphRY8xGvABxgzFmozFGf++KSCT9JSEig+Qm\n4BlgzhhzHPh/8bJlALcDm/AybHPAnwceewdwhTHmeWNMrZjtPryTl98FzgX+MurFrbVH8A4lHPZf\n/+vAJREP+Qu8gPHfAPf6v39H/GWKyDBTKQ0RERGRHFHmTERERCRHFJyJiIiI5IiCMxEREZEcUXAm\nIiIikiMKzkRERERyRMGZiIiISI4oOBMRERHJEQVnIiIiIjmi4ExEREQkR/5/aNvV3s+66IUAAAAA\nSUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10, 6))\n", "plt.plot(x, y, 'o', zorder=1)\n", "plt.axis([0, 40, 0, 40])\n", "plt.xlabel('feature 1')\n", "plt.ylabel('feature 2');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In order to compute the principal components, we need to stack the `x` and `y` coordinates:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "X = np.vstack((x, y)).T" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then we can compute PCA on the feature matrix `X`. We also specify an empty array `np.array([])` for the\n", "mask argument, which tells OpenCV to use all data points in the feature matrix:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 0.71481632, 0.69931225],\n", " [-0.69931225, 0.71481632]])" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import cv2\n", "mu, eig = cv2.PCACompute(X, np.array([]))\n", "eig" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "Let's plot the eigenvectors of the decomposition on top of the data:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10, 6))\n", "plt.plot(x, y, 'o', zorder=1)\n", "plt.quiver(mean[0], mean[1], eig[:, 0], eig[:, 1], zorder=3, scale=0.2, units='xy')\n", "plt.text(mean[0] + 5 * eig[0, 0], mean[1] + 5 * eig[0, 1], 'u1', zorder=5, \n", " fontsize=16, bbox=dict(facecolor='white', alpha=0.6))\n", "plt.text(mean[0] + 7 * eig[1, 0], mean[1] + 4 * eig[1, 1], 'u2', zorder=5, \n", " fontsize=16, bbox=dict(facecolor='white', alpha=0.6))\n", "plt.axis([0, 40, 0, 40])\n", "plt.xlabel('feature 1')\n", "plt.ylabel('feature 2');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We said PCA rotates the data so that the two axes (`x` and `y`) are aligned with the first two principal components:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "X2 = cv2.PCAProject(X, mu, eig)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we plot this, we should see the blob of data rotated so that the most spread is along the `x` axis:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[-20, 20, -10, 10]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10, 6))\n", "plt.plot(X2[:, 0], X2[:, 1], 'o')\n", "plt.xlabel('first principal component')\n", "plt.ylabel('second principal component')\n", "plt.axis([-20, 20, -10, 10])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Implementing Independent Component Analysis (ICA)\n", "\n", "Other useful dimensionality reduction techniques that are closely related to PCA are\n", "provided by scikit-learn, but not OpenCV. We mention them here for the sake of\n", "completeness. **Independent Component Analysis (ICA)** performs the same mathematical\n", "steps as PCA, but it chooses the components of the decomposition to be as independent as\n", "possible from each other.\n", "\n", "In scikit-learn, ICA is available from the `decomposition` module:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "from sklearn import decomposition" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Like all other optimizers, first instantiate, then use the `fit_transform` method:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "ica = decomposition.FastICA()" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/ubuntu/anaconda3/envs/Python3/lib/python3.5/site-packages/sklearn/decomposition/fastica_.py:116: UserWarning: FastICA did not converge. Consider increasing tolerance or the maximum number of iterations.\n", " warnings.warn('FastICA did not converge. Consider increasing '\n" ] } ], "source": [ "X2 = ica.fit_transform(X)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can plot the projected data on the first two independent components:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAn4AAAF6CAYAAACHqVXrAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3X+cXGV99//XzCzZhM2ixA2aIFa4oYoUS0tKw601KVXA\nlpuY700uo2QBG0OBeKvY3gV/VFt/8E3st/xo5YeERSDEppe0FPpDUhWD0C97l1itKWAVKUoIhV0W\nSbIkGzIz9x/nzO78OOfMdWbOzM7MeT8fjzx298yZM9dcO9n5zHVdn8+VKRaLiIiIiEjvy852A0RE\nRESkPRT4iYiIiKSEAj8RERGRlFDgJyIiIpISCvxEREREUkKBn4iIiEhK9M12A0qMMWcD1wE54BZr\n7Yaq2z8GfBA4BIwBv2ut/al/24XAp/xTP2+tvb1tDRcRERHpEh0x4meMyQHXA+8G3gK8zxjzlqrT\nvgcssda+FbgL+KJ/3wXAZ4BfB04DPmOMObJdbRcRERHpFp0y4nca8IS19kkAY8xWYAXwWOkEa+23\ny84fBdb4358FfMNaO+Hf9xvA2cBftqHdIiIiIl2jI0b8gKOBp8t+3uUfC7MW+HqD9xURERFJpU4Z\n8csEHAvcS84YswZYAixr4L4XAxcDWGtPjd9MERERkVkTFPPE0imB3y7gmLKfXw/srj7JGPNO4JPA\nMmvtVNl9l1fdd3vQg1hrbwZu9n8s7t5d8xCpNzQ0xPj4+Gw3o6OoT4KpX4KpX4KpX2qpT4KpX4It\nXrw4ket0SuD3CHCCMeZY4BlgNfD+8hOMMb8CfBk421r7fNlN24CryhI6zgQ+3vomi4iIiHSXjljj\nZ609BHwIL4h73DtkHzXGfNYYc65/2p8C84GvGWO+b4y517/vBPA5vODxEeCzpUQPEREREZmRKRYD\nl8OlgaZ6A2iIvZb6JJj6JZj6JZj6pZb6JJj6JZg/1dv0Gr+OGPETERERkdZT4CciIiKSEgr8RERE\nRFJCgZ+IiIhISijwExEREUkJBX4iIiIiKaHAT0RERCQlFPiJiIiIpIQCPxEREZGUUOAnIiIikhIK\n/ERERERSQoGfiIiISEoo8BMRERFJCQV+IiIiIimhwE9EREQkJRT4iYiIiKSEAj8RERGRlFDgJyIi\nIpISCvxEREREUkKBn4iIiEhKKPATERERSQkFfiIiIiIpocBPREREJCUU+ImIiIikhAI/ERERkZRQ\n4CciIiKSEgr8RERERFJCgZ+IiIhISijwExEREUkJBX4iIiIiKaHAT0RERCQlFPiJiIiIpETfbDeg\nxBhzNnAdkANusdZuqLr9HcC1wFuB1dbau8puywM7/R9/Zq09tz2tFhEREekeHRH4GWNywPXAu4Bd\nwCPGmHuttY+VnfYz4CLgDwIusd9ae0rLGyoiIiLSxToi8ANOA56w1j4JYIzZCqwApgM/a+1T/m2F\n2WigiIiISLfrlMDvaODpsp93Ab8e4/5zjTE7gEPABmvt3wadZIy5GLgYwFrL0NBQg83tXX19feqX\nKuqTYOqXYOqXYOqXWuqTYOqX1uqUwC8TcKwY4/5vsNbuNsYcB9xvjNlprf1J9UnW2puBm0vXHx8f\nb6CpvW1oaAj1SyX1STD1SzD1SzD1Sy31STD1S7DFixcncp1OyerdBRxT9vPrgd2ud7bW7va/Pgls\nB34lycaJiIiI9IJOGfF7BDjBGHMs8AywGni/yx2NMUcCL1trp4wxQ8DbgC+2rKUiIiIiXaojRvys\ntYeADwHbgMe9Q/ZRY8xnjTHnAhhjfs0YswtYBXzZGPOof/cTgR3GmH8Dvo23xu+x2kcRERERSbdM\nsRhnKV1PKe7e7TybnBpaW1FLfRJM/RJM/RJM/VJLfRJM/RLMX+MXlBMRS0eM+ImIiIhI6ynwExER\nEUkJBX4iIiIiKaHAT0RERCQlFPiJiIiIpIQCPxEREZGUUOAnIiIikhIK/ERERERSQoGfiIiISEoo\n8BMRERFJCQV+IiIiIimhwE9EREQkJRT4iYiIiKSEAj8RERGRlFDgJyIiIpISCvxEREREUkKBn4iI\niEhKKPATERERSQkFfiIiIiIpocBPREREJCX6ZrsBIiJRCqPbKd69GSbGYcEQmZXDZJcun+1miYh0\nJacRP2PMRMjx55NtjojIjMLodoqbr4eJMaAIE2MUN19PYXT7bDdNRKQruU71HlZ9wBhzGJBLtjki\nIjOKd2+Gg1OVBw9OecdFRCS2yKleY8yDQBGYa4z5TtXNrwf+/1Y1TESEifF4x0VEJFK9NX63ABng\n14CRsuNF4Dng/ha1S0QEFgz507wBx0VEJLbIwM9aezuAMWbUWvvD9jRJRMSTWTnsrfErn+6d009m\n5fDsNUpEpIs5ZfVaa39ojDkTOAWYX3Xbp1vRMBGR7NLlFEBZvSIiCXEK/IwxXwIM8G3g5bKbiq1o\nlIhISXbpclCgJyKSCNc6fu8DTrHWPt3KxoiIiIhI67iWc3kB+HkrGyIiIiIireU64vdnwBZjzP+L\nl807zVr7ZOKtEhEREZHEuQZ+N/pfz6k6XkRFnEVERES6gmtWr+uUcMOMMWcD1+EFkrdYazdU3f4O\n4FrgrcBqa+1dZbddCHzK//HzpTI0IiIiIjIjVkBnjDnGGLM06UYYY3LA9cC7gbcA7zPGvKXqtJ8B\nFwFfrbrvAuAzwK8DpwGfMcYcmXQbRURERLqdazmXNwB/iVfHrwjMN8acB5xtrf1gAu04DXiitF7Q\nGLMVWAE8VjrBWvuUf1uh6r5nAd+w1k74t38DONtvr4iIiIj4XNf4fRn4B+A38DJ8Ab6Bl/SRhKOB\n8lIxu/BG8Bq979FBJxpjLgYuBrDWMjSkbZ+q9fX1qV+qqE+CqV+CqV+CqV9qqU+CqV9ayzXwOw34\nHWttwRhTBLDWvmSMeVVC7cgEHHMtDu18X2vtzcDNpXPGx7XRe7WhoSHUL5XUJ8HUL8HUL8HUL7XU\nJ8HUL8EWL16cyHVc1/g9BxxffsBfg/ezRFrhjdIdU/bz64HdbbiviIiISGq4jvj9f8Df+3X8+owx\n7wM+AWyIvpuzR4ATjDHHAs8Aq4H3O953G3BVWULHmcDHE2qXiIiISM9wGvGz1t4K/CGwCm893YXA\nH1lrtyTRCGvtIeBDeEHc494h+6gx5rPGmHMBjDG/ZozZ5bfhy8aYR/37TgCfwwseHwE+W0r0EBER\nEZEZmWLRdSldzynu3q0Z4WpaW1FLfRJM/RJM/RJM/VJLfRJM/RLMX+MXlNcQi+tUL8aYM/HKucwv\nP26t/XSzjRARERGR1nOt4/clwADfBl4uuym1w4UiEq4wup3i3ZthYhwWDJFZOUx26fLZbtasUX+I\nSKdwHfF7H3CKtfbpumeKSKoVRrdT3Hw9HJzyDkyMUdx8PQVIZbCj/hCRTuJazuUF4OetbIiI9Ibi\n3ZtngpySg1Pe8RRSf4hIJ3Ed8fszYItfzuW58htK26yJiADedGac471ulvpD08siEsQ18LvR/3pO\n1fEikEuuOSLS9RYMwcRY8PE0moX+0PSyiIRxCvysta5TwiKScpmVw5VBB8CcfjIrh2evUbNoNvoj\ncnpZgZ9IqjmXcwEwxrwBOBrYpUQPEQmSXbqcAqR6mrF6mpXTz4CdO9rXH5puF5EQruVcFgFbgdPx\nEj1eY4wZBVZba1UFWUQqZJcuT+3I0v4HttVMs/Lw/WSG17cv+NV0u4iEcJ3CvRH4N+BIa+0i4Ejg\ne8BNrWqYiEg32rflplnP4s2sHIY5/ZUHUzzdLiIzXAO/twO/b62dBPC//iHw31vVMBGRblQYfz74\nhjZOs2aXLiczvB4WLAQysGBhe0ccRaRjua7xexF4C96oX8mbUG0/EekAnVS6JDt0FIWx52pvaPM0\na5qn20UknGvg90Xgm8aYEeCnwC8AHwD+qFUNExFx4VK6pJ2B4fzzL2HPDRvantXcrufYSUG2iMTn\nNNVrrd0EvBcYAv6H//V91tqbW9g2EekRhdHt5K9YS37dCvJXrKUwuj2xa9fbGWM6MJwYA4ozgWGC\nbSg3b9lZ3jTrwODMwcPmtOSxStr1HNvdlyKSPOdyLtba+4H7W9gWEelBLS8mHFq6ZIz8uhWQzUCh\nUHlbO2ravXJw5vvJvS0toNyuun2qDyjS/VzLucwBPgW8D1gM7MYr7/IFa+2B1jVPRLpdnGChoWnE\nsNIl3qNDoRh8k0OyRaPTmm0PkNpVt0/1AUW6XpxyLmcAHwZ+zf+6DLihRe0SkV7hGCy4TCMGTRkH\nli5xUSfZoqlpzXYHSKHPpZjs1HrY46g+oEjXcA383gOcY639urX2MWvt1/1j72ld00SkJzgGC42u\n1QMqS5e4cEi2KG7dFNyer1xbP5CKESAlsf4xMvhNcB1eL9cHbOU6VJFO4hr4/RdweNWxecCzyTZH\nRHqNc7BQZ5QsKjDMLl1ObuMIuU33+AFggGwW15p2hdHtMLk35MZC3UDK9TknlSxRWbcvQEIFpHu1\nPqCSViRNXJM7NgP3GWP+AtgFHAOsB+4wxpxROslPABERmea8d2+9bcYcp08zK4crk0nAC7oiApSa\nvXWn6ixdrrNez/U5J7kWsFS3L79uBRCwrrHBaeagdY65jSMNXatTKWlF0sQ18Ps9/+snqo5f4v8D\n7y/NcUk0SkS6h0sChEsx4dCArTRK5rj/rHOgWd7+6r11XUyMkb9ibei1y59zqY/yI9dUtqcVawET\n3Ke35RnZnUJJK5IiToGftfbYVjdERLpPkoFBvYCtbmBYdS3XkZrA0R5XIc+3IhgemA8H9kP+UM19\nkgzSSuL0Uz2pGQlrwe9BpFM51/ETSYOg0SvOOW+2m9USSezAkHRgEBWwxR3Jc9bsqE7V893/wLbK\nwCtoraB/nySDtJJE+yklI2Gt+D2IdCrXOn6/DFwDnALM9w9ngKK1trUl6UXaJGz0av/gIJx06uw2\nLmGJjdS1OTBodv/ZwMA+bLRnYBD65/rPJaQWYEnZtO++e7e4jSBOjLcsmE1sn96UjIS17EOFSAdy\nHfH7S+Cv8er37W9dc0RmT9jo1b4tN5G5atPsNKpFEhupm6XAoJHRyrBgl9PPgIfvrx3tWb1u+pr5\nK9bWX/s3MUZx5Op6IeIMv4+aCdJavW9u4EgY1F3f2I0SC5ZFOpxr4Pc64NPWWue/aSJdJ2SUqjD+\nPLk2N6XlEhqpm40pskZHK8OCXXbuIDO8PjKACg2AGpXLwdQBLwO3wYCtHYkXlSNhVYFvxOOlacmE\nSLdxDfxuB94PbGlhW0RmV8joVXboqFloTIslNFI3G1NkDY9WRgS7Lhm4FQFQNlu7/2+UXA7mHg6T\n+2aSPUpr/2IGbDNBVcDvrwWJF9NlYoJGPQMeL01LJkS6kWvgtwF42BjzCeC58hustWcE30Wku4SN\nXs0//xImZ69ZLZHkSF3bp8gaHa2MCHZDg6nqoKzsedad/l2wMDAYzl+xtjbh4+AUxZGryfsJH86l\nZ4IE9EPUlLDzdLFjv6dpyYRIN3IN/O4C/hO4G63xkx4VNno1b9lZTI73VhZjUiN1rV5jFijGaGVN\nWZVcDvL5mRPm9MPJS6KDqZBRtMzKYYojV4e0cWF4keOoALXO6J9b6Zlixfq7qClhwH262LXf07Rk\nQqQLuQZ+pwCvsdYebGVjRGZbmhZ4N/tca8qWNLHGLE4A6TpaWRPwTO6FXJ+XrTu5b/pxnIKpgGAm\nu3Q5+Scehwe+XnlDf52R07AAqiRqutZ1DWbZ76LeHsiu0+ah6xynDlAY3T7z+wp5fpn5R/ijpMqa\nFZlNrnv1Pgi8pZUNEZHusm/LTdEBhaO4+6S67hcbGPDkD0H/XHKb7iG3cSR694xyIWsfM8ef6AWS\nJQODHHHplZEBTeA+vtXC2hRnDWbpdxE6RTsWHoCGBLqZ4fWVzxdgcq83Tf3R8ymMbg9+frk+ii/v\n0164Ih3AdcTvP4F/MsbcTe0av08n3ioR6XiF8eeDb4iZGdxIsobTaKXrWsB6I3AQOIIXuN7ulfqT\nIpGZsuVtCmlH0Ghn6Ihlae9h123o6jx+duly8ndvDi5KPbmX4ubryQyvr8mSZupA8LrGXtsBRKQL\nuAZ+hwP/AMwBjik7nlh5F2PM2cB1QA64xVq7oer2fuAO4FTgBeC91tqnjDFvBB4H/sM/ddRaewki\nkqjq6VjmD8LePbUnxq3h16oi0I5r0jIrhynedl3l2r9yy97tvt7u4BR7R66leNgcp72LA4PHiCSb\nsLWZoUFk6fY4pWjqJflE/V78YC63caQyEWbdivjXEpGWcN2r9wOtbIQxJgdcD7wL2AU8Yoy511r7\nWNlpa4EXrbXHG2NWAxuB9/q3/cRae0or2yiSZkEJAoEayQxOqLRMYBBVXXYloH3ZpcvJb90UPIo1\nMEhuzaXBDxjSB8W9L1WcE7XusZEkm6DRzgKEBpBBjxE1Ahg0bV6h3ghiUDCXkh1ARLqB8169xpgT\ngPcBRwPPAH9prf1xQu04DXjCWvuk/1hbgRVAeeC3Avhj//u7gC8ZYzIJPb6IRHBKgFiwsKEF+0mU\nlimMbqd46zVQrJqEKA/6slk4/Yzg9k3uC75wyPFYa9PCat2VZxs3qV4A6VyKZsHCyjIv5QHxwCCZ\n1evqjyAGBHOZlcMU77weprQXrshsc92r93/gFW/+e+CnwJuAHcaYYWvtvQm042jg6bKfdwG/HnaO\ntfaQMeYl4DX+bccaY74H7AE+Za19MOR5XAxc7F+DoSF92qzW19enfqmiPoHnXoyekssufC0Lb767\nsYufcx77BwfZt+UmCuPPkx06ivnnX8K8ZWc5X2Ls3i0Uq4O+aoUCjN7PYfPmcfC7/1zxWPsWHkVh\n7Lmau2QGj6D4iXU17Rq7d0u8dS4vjk+/hvY/sI095UFQ+UjjxBjF266jYEco7tsT2hf7H9hW21/n\nnOe8O8b+Cy5jz40bKgOx/n6OuOAy5g0NeW28/S/g0Cszt0/upXjbdRzxvz4Fl13JnpFraqf6y65R\n4ZzzmHr1q9lzx/UN/457kf62BFO/tJbriN9VwApr7bdLB4wxy4EvAUkEfkEjd9V/V8POeRZ4g7X2\nBWPMqcDfGmNOstbWLD6y1t4M3Fy673iP1WZLwtDQEOqXSuoT4Mjo6b3C2POBfVSzLvDkJbBzR+2o\n1Emnkrlq03Sdt0moWzux4tquYdjUFAfu+5uydj/Hnhs2wHFvgoDAr7hvz/TUbencvXv3UhwLSWwJ\nk8nw/N/f5U0r33FDZcBVLZ8PfMzpmnxV09LV5zg56VQya2q3qZs86VQmx8e9NpYHfWVt23PHDeQ2\njpC7+s7AMjyla1Qbevs7ybz5lFi/416nvy3B1C/BFi9enMh1XAO/1+OVdCn3kH88CbuoTBp5PbA7\n5Jxdxpg+4FXAhL9/8BSAtfa7xpifAL8I7EiobSKp18j0XuC6wPKad83W/Utq79yDU/Cjfw++rXoU\nsTRtGzdTtlDwSp488Xj8hAb/MQsQnoTSQIZs9fRw6THqlriZGKsoEK2sXJHu4hr4fR/4fbyEipKP\n+ceT8AhwgjHmWLz1g6vx9gYudy9wIfAwcB5wv7W2aIxZiBcA5o0xxwEnAE8m1C4RoSxICEqCCFmr\n5bQusMGSHm47WMQQZ9/diXEyay9vLPB84Ot+AemARJI6j1ncuik889g/J478nTeGBuL1EzgaD9rD\nzMouMCIp5Br4XQr8nTHmI3jr7I7BG6k/N4lG+Gv2PgRswyvncqu19lFjzGeBHf46whFgszHmCWAC\nLzgEeAfwWWPMISAPXGKtnUiiXSIyo6IEyd2b4cVxOLKBvV1jnlczXXzUovh16erJZGpH98IsGJoJ\nhMO2bKuneus4h8es+5xjJIkURrfX7jgC03sGO0mwDl/UtnIK/kSSlam7INrnT68uBRbjTcP+H2tt\nwCKQrlHcvbt6Nlm0tqKW+iRYvX7Jf/R8t5GtiH1tY0/p+tdyfuySjL+E2OXvoZ/dml26nPy6Bj/7\nhgWamQxkc94OIyVz+r2CyPUCslyOzEUfcQqUQrN6G5Db5LbMO+r1EpVlHLrncQ/Q35Zg6pdg/hq/\npquZOG3ZZow5BVhkrX3Ieh4CXmeM+eVmGyAinaswup38FWvJr1tB/oq1yW+xVaekR6wp3fJrhZVn\nCX2govuIn79DRWF0u79tXIDqbc2CHi/wOGQu+nDwdnT1rpnPe+sIXX5PCRZOLn+shl8vrSriLSI1\nXKd676R2WncOsBl4a6ItEpGO0PT0m0PwVV0suGZaN86oVFkSBAPz46+ji8N/LG/Xjz+vHKHrO4zM\n6nUUn3g8eDo1ij+NHDR9mlm9rvaxgrj8nhrZxi1Eabq3qddLzALPWg8o0jinET+8cikVCRPW2p8A\nb0y8RSLSESL30HVRb1eG/rm1Qd/m6/0AoNhYYOIHGy575jZtejSqavSu6CWKZI4/Md716ox+Zpcu\nLxsNrKPO7ymzctjb4zcJfj8083oJbE9IfwS9TqZHYEWkLtfAb5cx5lfLD/g/a5GcSA8qjG4PD7wc\nkjHqriHLZsmsuaziUGKZugenks34DbNgyGtzdZJGPk/x7s1eFq6TqindCNmly701b/WmfcEruxIy\n5ZpdupzM8PqKKWXe3ODkTSnAj5iuLYxuZ+zilbHaE9YfTX8gEUk516nea4B7jDFfBH4C/DfgD4Av\ntKphIpI8lymy6RGVMBEjeZHJGKV9c8O2dosKKMvuy1GL4Ic/CD+3EXGyemF6NKo4ck3w7XGKSvf3\ne6NWI1eT37ppOnEkkvMaxuLMtUeuruj78inl6ddFtXr9Uj4qFzZdOzCf4ubrKdaZAnauCaj1gCJN\ncQr8rLWbjDE/B9bilXJ5Gvh9a+1drWycSLukYc1Q4BqsgIAgcuSt0WQMl+zMqHVnhcL0Y2eXLo+f\ntVtPnKCvPKs3qK4hxFtDN3Vg5nt/W7S66+IaXaPnbwmXf+LxmR1UBubDgZcrRy7n9MNhc6L7uCqA\nD9tzGQgfoWvk/1jM9YAiUsl1xA9r7deAr7WwLSKzIg01xAqj2yl+5drwQsXlxXsjRk7Cpt9mAufG\npoeB4ESJcgnWjWuKvzaxMLodDuyvvT2X80cDG6zx508VV9RMrPpAUncnlTrXr0g6CQruXKbLj1pE\n8e7N5EeumW5bZnh9ZZHvVw6GX6fBEbqwADN0PWDIB7o0fNgTCeIc+In0qsg1Qz3wRjAd2NbbnaLe\ndmQLFoYHffWCkDqjMdNvwnUzVv1gIW65liRNjHkjjhDY3szh86NHA50eY7zuB5Ly7dbKA5cka/RF\nKp9unxijeOs1tSOnUSOpDY7QRT33clH9B/T8hz2RMAr8RHp8zVCspImw7cgipnjrXr/O9HC8Is1F\nL7BpdbmWeiIeu7j3peYzTEuJIxEfSML22m1qtLEZDayRbJTLesC6SSA9/GFPJIoCP5FeXzMUJ4At\n347MdRos6vphiRxlYmfzToxBrq/+tmcDg/DyvngBSRIymcanYaH+VPHEmBcsV48o+uv3mHt4Y4/b\nLg6viUQ08oGuRz7siURx3bljVcjx85Jtjkj7xakh1pVcA9iy51wqG5LbdA+5jSP1Ew0Cjy+sf19o\n7M02f6h+gHNgf/uDPvAes5lyMm8/0+uzbPif5+LI1cGjjvl88iOhmaZ3iJpR9ZoI2+kjkR1jwl6X\nA/PDb8tmVA9Qep5rHb+wdLybk2qIyGyJU0OsG4UFtix7d0PPufSm/Nz/8zZv2vXkJc0FzlGBaVSx\n4qgAJ5Opv16wU+3c4X2ttyazXd5xtvdaScLUgYrgLqgQc/7OGxMp0JxZOeyNClc7sD/4NQtQKKgY\ntPS8yKleY8xx/rdZY8yxVG4OfBxwoPZeIt3HuYZYF6qZuh2Y793wwH3eNO7ayyO3TavJhKxaFM/D\n98PpZ8yUB3HMkKybCTww6E15Rp0TZjZG+pLiT+XSP7ey1Eur5PqAYvC0+bJ3k1tzKQCF40+s3E7v\n5CUzv/M5c9xGOUv7HBO+Bo8Ht9UGvQ2svwtNsMkfgp07vAzkoEx3rfWTHldvjd8TeFVIM3iFm8v9\nF/DHLWiTiCSsFNjWzRStc3vom/XOHfXr9JVxSujwgwROP8MLLtuxG0eHaGqNYFxz58GSt9cN3Ot9\nOMrfeeNM0JbNwm+c5V+zKmgvBVZhU/yhJYcaWBIQlv09Me4FhpEFuEV6U2TgZ63NAhhjHrDWLmtP\nk0SkVeplitYtbZNQBrRzQocfVGaG11O884b2jIB1gnYGuZN74eH7Y031B40I59ZcCv7oYEl+3Yrg\ni5RGDeOM5DaSbFUvcavXE7tEArju3KGgTyRBSRaPjXWteoFbvduTeqOMEyiWzk1L0DcbAqY3g15X\nEFz/rmInkPLXYMTrJW4R6kaSreoVe45TDFqkVzgFfv76vi8ApwDzy2+z1r6hBe0S6VlJ7BQSuj6u\n3rWaHAFJ7I0yzmhPBq90SazrL2xPEeMoi46BZ5+e3TbE4a8tjJry57CAtXwHpyp3Ail7DUa9XoLK\nBkX9zqJ23KDqOuX7EUeVJopdukikB7jW8fsq3hq/3wdebl1zRHpfszuF1F0fF3Ktwuj24FGzGCMg\n2aXLvdGd8rVcp58RmRxSkQRQ2tor6HFyfVDIB+/+EKdEid/eyC3qWimTIfO7l88UCu4idRMvXKeg\n/ddgbuPIzPVeHIcjawMvygO6sNqFfnZ3YEB623VAWRZ31YefemsTezmxSySIa+B3EvA2a22H1BcQ\n6WJNrpNzWh9Xda3QYHFgkMzqdc4jIIXR7V6iRSmgKhTg4fspHH9i6EhR0GhQZni9t26v6nFqihK7\nymS8ALEsEM0/8XjlY7fJER/5NJMnnUp+NnbPaNbBqeQCZv81WAqshoaGGB8Pf41HBcoVo3rVr+Gg\nbGRl5oqEcg38vgP8CvDdFrZFJB2aXSfnEiD6hWhLAVtosPhybdZjzSjM3Zu97McFQ96IYdzkkGpl\no0HVb8yhWZZRSkEfVASimeNPpPid+9pb2mVgEMCrbxil3q4jsykq6BsYhFcOuo38ZTNeckdpOvac\nOvX+I16HdpfVAAAgAElEQVTX0yPKjawNJdk1tSLdzjXwewrYZoz5G7wyLtOstZ9OulEivazpdXIu\n6+NKhWjx3zTD3jCLRYq3/XngmsDA0bswE+PeaKDrurqw9sTN9ITawK4UiE4daH89vwMvs+e6z0Gx\nzohZpwZ9LsprNmYz4YFi6bg/yrt/cBBOOjX8uqEfiBbWPyfsejS+plbBovQq1507BoC/Aw4Djqn6\nJyIxNLtTSOBOHEHKN6SPGk3MH6L4lWtrtseKtYfuwHzvzdVVWHtOXuJ+jSgT48lvXeYin68f9HWz\nyb3e9PnJS8htuofMBz7q/Frct+WmyFNctk4MPCeX84tQB98vck1tiLBdRbSjh/QC13IuH2h1Q0TS\npJkF5bGyIUsjaycviV7vVjU6Uyi/bz2lN+I4tefCArzSdmXNamTkUNw98PWZdZ24vRYL488TsIHa\nNJcM27BziLpfA2tqm03AEulkrlO9GGNOBM4DXmut/ZAx5k1Av7X2By1rnYgEcs+GHJpJyHBVeoML\nexMfGPS2EyvL0izGXZsXFuAlsWNCLtc9Nf+y2fZkHi9798wuGgk9ZvEr185Ml5a/FkOSQ7JDR9Wd\nPnX5QBR6Ttj9GllTm1ChcpFO5DTVa4xZhZfgcTRwgX94EOjCtDWR3lIvGzLWlG3JxHj41NvqdeQ2\njvDav/nnmesTcy1d1Bq/ZszpBzKzM80bV66vPUHfwCC5NZeS2zhCbtO95L78t5Xr5hpVWkfqT38W\nRrdTvO3Pg5/TnH7mnPq2WZk+dZlCrhH2OtSOHtIDXNf4fRZ4l7X2EqC0KvnfgF9uSatExF29bMio\nUYpMJvj4gqHItYiF0e08d8HZ3khj2JRqri/8+hQr1hNON8d1/WKYg1Mz9dyqDQxOZ912hEK+uefa\nhMR2pvBHhwuj2yneek14359+Bge/+8+h06eF0e3kr1hbs840CY2sqW0oWBTpEq5TvUfhBXow89G+\nSOyP+SKSuHrZkBG3uxRsDioEXbztuujMVP/aQHix6fL1hJSt0RrwNwdKeL/a3LVbAo/XLYjdKsVi\nex5zcq9XXqZqejXfaM3EaqVdPaIyqB++n0LYcy3dv4mdbMLUTC2vvdzpmtrRQ3qZa+D3XWAYuKPs\n2GrgXxJvkYjE0sx+pI28wRW3bqpTjiTj1ejzzVw/IPg8OOWNGub6ZkaLWjFNm62c3KjZXeT0M7x1\nkO0O/tql1Pfle+smJZt1qt0Y6/YEEima3RpRO3pIr3IN/D4M/JMxZi0wYIzZBvwicGbLWiYiTprZ\nj7ShWmX1ArOqdVDTjx+1k0XYFGFSytad1d1dpBuUF62Oq3pv3WbM6W9dsNxkVrYyc0WCuZZz+aEx\n5s3AOcDfA08Df2+trS37LyJt18h+pM2OiISaGCN/xdqKIHLW963NZqd3kQjcfaTbtLswdblsFgrF\nmW32wkZzA+8XI5kldH1ofZHFxJWZKynnXM7FWvsyYFvYFhFpo0ZGRJwX3U+MURy5mvzWTWRWr5v9\nmnpldQo7UrvKusSR6wOKldP6c/prEiMKRKzjLLvf3DN+hwP3/4N70F0sVmw76Gr6A034hcn/3nu8\n/vbXomrtnqRJaOBnjHkQh+QNa+07kmiIMeZs4DogB9xird1QdXs/3hrDU4EXgPdaa5/yb/s4sBYv\n4/jD1tptSbRJpKdF1CoLmgIGvHIdcUzu9RJBJNycfjjuTfDDDiqJWp6cU74W8uQlFXs3h60T5eQl\nM9u6+T9PZ/XGmKZuZFrWqXxRQMFyBX+SFlEjfreUff/fgN8Fbgd+CrwBuBC4NYlGGGNywPXAu4Bd\nwCPGmHuttY+VnbYWeNFae7wxZjWwEXivMeYteIkmJwGLgW8aY37RWtvFm2GKtEFYtm/GD/BK6+5K\nWZeHzWlsLV4370vbDgenWhf0NTiSWDEKVl6cufp1Ub7Pc0DgVBjd7iUDPfD16eztWNPUjUzLxr2P\n1v1JyoQGftba20vfG2NGgbOstY+WHfsqXuD3mQTacRrwhLX2Sf/aW4EVQHngtwL4Y//7u4AvGWMy\n/vGt1top4D+NMU/413s4gXaJ9KzAbF/w3pirA7yDU92/Li6NGpw+Lo5cTf7uzZXrNLduqn1d5A95\nx8OCvmbL5DRSMLmR7fq07k9SxLWA84nAT6qO/Sfw5oTacTRewkjJLv9Y4DnW2kPAS8BrHO8rIlWm\nC9tmXf8MSNeL87uu3lkjLJt7cm9gAeaGdowp12DB5IaKgGtHDkkR1+SOB4DbjDF/hBdYHYM3+vZg\nQu0ISt+qng8IO8flvgAYYy4GLgaw1jI0pP/s1fr6+tQvVaL6ZP8D29i35SYK48+THTqK+edfwrxl\nZyX22K2+Puecx3O3uu2zmxl8FcX9L8OhV5J7fGmbzOCrKO7bE+9Ofp3FfFQpHqB45/UwVZYdXv6z\no763LqHw7NPNv9bPOY/9g4PT/2+YPwiTk95OKUH6+znigsuYNwt/9/T3Npj6pbVcA7+LgBuAR/GS\nL/LAXwMfSKgdpWCy5PXA7pBzdhlj+oBXAROO9wXAWnszcLP/Y3F8XMP71YaGhlC/VArrk+qprMLY\nc+y5YQN79+5NZKF4nOs3VI+v5Ei3qbHir/53Msef6G3NNZvlRNphTr9X1Pk79/XMcy3ufal1dfeq\ng7ypqej1hbkczD0cJvfNlIVZupwM3hsMwCQw2ejfopNOJXPVJu/N6oq1UAgJeP0klsmTTm38sZqg\nv7fB1C/BFi9enMh1XOv4TQCrjTFZYCEwZq1NsvbAI8AJxphjgWfwkjXeX3XOvXgJJQ8D5wH3W2uL\nxph7ga8aY67GS+44Ae0oIm0QVQ4lqqCya5DmWm6l2Xp8oWv9qu3cQXbNpV5GZ5hl7+6+YsjVstnp\nkiX5HQ+1ZieR2XJwygu6qhNuyndOSUqhEHzdgUEyq9cFvjab+gATJnT9XuUOMyJp4bzgwxjzKmAJ\nXvbscmPMGcaYM5JohL9m70PANuBx75B91BjzWWPMuf5pI8Br/OSNjwFX+vd9FK++4GPAfcB6ZfRK\nW4SWQ/GzYCfGgGLFWqnpIC3gNvfrVx6PDBAdZJcu90a36q3/Kj1u2HqoBQvJrbkUBgadHrcjZbMw\nb4DiyDXeSFEvBX0lfYfN/K6zWXjzW6HYqhqCRf/1kCG78LVk1n6M3LVbwoM+1/8bcYS9XrOZ5q8t\n0oWcRvyMMRfhlVvZB7xcdlMROC6Jhlhr/xH4x6pjny77/gCwKuS+XwC+kEQ7RJyFZQ8G7V1aHoi5\nFk0Ou371G5ljgBimMLrd26e2XgbowHzAYW/g1euaz+acDf1zvfWLpWCvU4s9N2vqwMz3hUL8UjIL\nFrr3TT4P/XPJXbul7vRdq7ZYCx3RLhQqy9GIpITrGr8vAOdZa7t8DkckOWEBUGjAExWIBdxWL8Ca\n5hogEjyV5px9eWD/9E4KBSBz7xYKY8+H7w28dVP3jJhlMl4f9Mh6vpY6eQk8uM29VIxrqZQEPsAE\nTRNPvx6D1qZGlKMR6VWuU719wD+1siEi3Wa6HMqChUDGWyg+vD58qnPBUMQ0ae3xsOtXj04Elq8I\nCBDDptLcR28OTY9aZpcuZ+HNd5PbdA+5jSM1bcouXU7u2i1k1n7Mb3+HKxajg75ueA7tsuOhePUB\nXadUw/5v+CPNUepNE2eXLg///XbLhxORhLiO+G0EPmWM+VzCSR0iXa16x4LC6HY48HLtibm+mS2w\nXEbxQq4fdk5UMklJ2FRarN0dYhS6rRiB6cS9aF1ls94oV7cnrSRlcq/34cY1YCoUKI5czUvPPAX/\n86LQ0zIrhyt3Bik58HLdPXtbNU2ctOpRyf0XXAYnnTrbzZKUcQ38LgdeB/yhMeaF8hustW9IvFUi\nXap49+bgLcrmzpvJ6qV+kBaXS4AYGrQVCu5lPhwL3dZkGhe6eAq1UFDQFyRmaZgD9/0NmaPfGPpa\nzy5dTj5oeUA+Xz+Ac5kmDgtW25SMFJR9v+fGDWTW1I7ii7SSa+C3pqWtEOkVYW9Ak/umv3UK0loh\ndC3gwpm1fn4wyslLvISPOiOTYeuqmt61QZJRb2Su0ZHYyX1k1l5OsU5h52p1A7iy/ycVJsajS704\nrHPNrF5H8bbrKj+Y5XJkVq+L9RwaFfh/YqrzRiWl97nW8Xug1Q0R6QkD84PfaGdhS6jqN8qoYC4o\nGC0cf2Ll/Y9aRPEr13q7OGSzvPBLv0rxhzsD6wdq79POUKqXFxY0Nbyf7oIhb4Tu7s3xsp/rvS7C\nAriB+ZG1Kl0SoVyXRLRMk8krIklxLefSD3waeB/wGmvtq4wxZwK/aK39UisbKNItvPV9+2tvyOUa\n2nO02bZUv1Hy8P1evb6dO5ze+MqDwfydN1ZOdxYKHPrBjto7ldZVRZW6qTfC1M3rATtMRSHvgN9z\nZTDkGMCVl+5xLf5dUucDUGim/KFXItfwuQZ1szbaDrGy70VayXWq9xrgaOB8oPTX/1H/uAI/EUrr\n+wJ2P5h7eNvX8IQmcuzc0dhuBQ9ucz93YtybBgx6Az/9jNpRx3Iu54i7suCooXIn1fxlAeWle/JP\nPF5b3iVo/V9/eBJTSVAAF5lYUzZaNqtBnYPAoNahT0SS5hr4rQSOt9ZOGmMKANbaZ4wxR7euaSJd\nxmF9X9skPa0UZwTOnwYMG4GpmEIuleoo27N1+pxuqgPYySbGIrf1A7xs2qigb05/YCmh0OLfB6e8\n7drmzpv+3R5xwWVMOmSwVgdw+SvWhp/cRaNlQf8nXPtEJEmugd/B6nONMQuBF4JPF0mhTprKSbot\nMaZfSyMYUdOLTiMzrxx0bh4QO8u0bTKZWS8MHZiEUb6bTNQ+vWV7F9dcNyqJJ39oetcOAB79rhfE\nxV1fF1n4fIz8FWvbu1avCdWv/XlDQ0xG7GYi0gquBZy/BtxujDkWwBizCG+Kd2urGibSbVwLKc9a\nWwCmDtQU0y2Mbid/xVry61aQv2JtcLHd3zjL+bHL34Cdrl2lMLqd4leujRfELVjoTRE3681vbf4a\n5TIZb2PLTjUxXncUOPOBj4YHVfVGkP1s3PxHz2fPtX/S2D689T6sTIxRHLnaW4cqInW5Bn6fAJ4C\ndgKvBn4M7Ab+pDXNEuk+rjtttLUt1TXKJvdWvOHW2/GgJLfmUm8v23rKdrhwvXa56fvETO7IrBz2\nklaa9aN/b/4a5d50cmdPR2Yz0Ttj+K+f0OC93nMrZeMGTdmXjzhGCP0QU+2Br7sFkiIplynGnILw\np3jHrbWd/DnWRXH37t2z3YaOU28j9TTq5j7xptaCa/flNo7Uvb3iWuvOjX6wqnVgca5dt7115Dbd\nW799SRoYrCyVUl0frqTdySpJZkTncvD2M4NLAPm/58hyMHP64bA5ddZpZshtuqfiSFASCpStjYsa\nQo14bXWibv7b0krql2CLFy8GyDR7Hdc1fhhjTgAMsBjYbYyx1tofN9sAEWmhekkejkkgdUdSqrI9\no689Rn7diuB1Xs3UNGt1GZiQoGI6szUo8/Tg1Mzx0lq/Vrazmevm+irX+vUd5u3L61xGZWzmuZWK\ngo9cE/2YVSOGgUkoI1dXBNqRHw5UE0+kLtc6fu8Hbgb+AfgpcDJwpTHm96y1X21h+0SkGfWSPMIK\nTldN/0VOyS17tzcV7PrY3hVrivBGtidKaTrbNeiJs89suYkx8h893/u+KguZHQ/Vv3+rg75yjTxO\ndYLH1AHvXxDHMiqRBZ4D1r+GJouUlijgl0UJ2zFklqfVI3cXEekQrmv8Pg/8trX2vdbaP7TWrgZ+\nG7iqdU0TkWYllnASNZISsrbOaW2W4zqvevLrVrif3D/XC4waMbnXDxpnAtf8nTe6B5KFgjfy12qF\nYmv3oO13WHNHxGtgYDB4/WvU68x/rWSXLodl7669fZYSqUoaWdMqMhtcp3oHgYerjo0CA8k2R0SS\nVFM7zB/JK45c443GhAUs1bUHo0bvQt6sax47bG1W+f0bqXkYd/RuYswL/sJGs+Ion8p11Y7SLv5o\nU+jaw2ZNHXAqzVLxGnhxHI6sMwoWOUrM9Gslt+bSmi0FZ3t0LaxouvbilU7jGvhdDVxljPkja+0B\nY8w8vIzeeDt0i0jblabiArdxC1M1Zdbo9FrFtm+hyR5Dld83kNwRWxJBX6eorhPobxEYuv4uqaC3\n9HsKmrIvU3oNlC/YD5sSrbsFXNlrpeN26tBevNIlXAO/y4DXAR8xxrwIHImXWfKsMWZ6cY+19g3J\nN1FEkhBZbLdcwJRZaAJDjOm10Df1k5dEn5PLeQHLLBdB7kj9c+HQoar1eTNTyWHB0XStxKTWGwaM\nbFUHd/svuAxOOjVyF5HpYDVo15ZZnsotCV3H10kF3EUiuAZ+a1raChFpvaiRhwUL606ZVU+vZRce\nRfHc80On1wLLcpx+Rm3w+PD9FI4/sXLf2KByHlEjQUnqgJ02nPUdVjt6lz9Ud3pxup+j+nRg0Lv2\noVfc2uLvojG9pODAyzPTzBNj7LlxA5k1692mRPvneoFfVZbwbCdKRAWtgR9aOiRYFSkXu45fD1Ed\nvwCqn1SrV/qkkbp6UaL6JbK+W5CQNlQEj1X7+nLykvbVx+tEA4P+msiwv+GZumvf6mWhJj4yWPqA\nEdjmDJm1lwcHT7NUCL1avf9DcbN6e+VvS9LUL8HaWsfPGNMPfBp4H/Aaa+2rjDFnAr9orf1Ss40Q\nkdZrdESikRIVztPKJQGjkTXB4+Rer71rL59+/MLxJyYbmHSLOf1kVq8LnhKdFlIyp0y9dXJBI7BN\nBdyla4RMiXZ8gkSddXwdt+5QJIBrTYNrgF8Czmfmo9qjQEDxLhGJo5H9bBvRyJZyDZeoiLugPWAd\nVGgQsHXT9I/ZpcvJfOCj8R4LvOncN7+18bIusymbJTO8nuITj7tlNDdZMie7dDm5jSPkNt3jfV1z\nac3ryFlp6j6sxFCnJ0iErdfTOj7pIq5/9VYC77fWPgwUAKy1zwBHt6phImnQ7tpf1W/iDY3cuQQS\ncd4Iw0Ydw97sJ/dW9E926fL4NeuKRfjxY905UlgoeMFvnDIyCWdKlzJwvdE7x6Csv38me3c6cMQL\nvkuvqbB9gzsksEqsLqbILHJN7jhYfa6/Z+8LibdIJEW6eWpr/wPbyN9xQ3Pr76IW7UeUdqnun8zq\ndeHlZsLkD7VvJ42kxa1d2MDIZmF0e+VUcinpZcHCmNO93lrDIy64jL1791YmgJRvEzcx5mVwV28d\n10GBVVjyUSesPxRx5Rr4fQ243RhzOYAxZhFwLbC1VQ0TSYVumNoKCr4G5rPnxg0wVbb+rmRizAsK\njnsT/PAH0df/+QsUR64mf/fmmezd6mSOIFX9k126nHzcwA+8oG9Of3IJInEyggcG4ZWD7UlOiRnc\nFka31xZ/Lj2viTH30cbypJ1Hv1u7ZrNaPu/1S//cjg2stI5Pup1r4PcJ4IvATuBw4MfAJrwiziLS\nqJi1v9q9F2hYQggwE/QFOTgFP/r3+g9QCkgmxijeek1l0BQ1qhXUPwsWBvdl1KieP+IY1Kc1I14u\n4lRJaGS/4EbFWYeHH3w3u+NH1Ujdvi03uQW5k/vIXbuluccWkVBOgZ+19iDwUeCj/hTvuLU2tXVg\nRJISJ9O2XuHbRkUFk2FTW8WRaxwuHHMK1TVoCumf0CD19DPgoX+qDWRyfTPPNSTjNXJbu26R9N7M\nLgYGyaxeV1kaZvx5t/t2yHo+kV4VGvgZY46LuN+gMQYAa+2TSTdKJC3irBlqxXpAl2AyKDDKl7YB\ni5Lk+jmHAtNRfVk4/sTK0buAwCRQElPuuT6YO6+7Ashmt87rn1vTt9mhoyiMPRd9vw5azyfSq6JG\n/J7AK92SYaaES6lwYPlH81wL2iWSGs5rhlqwHjCyZEpEmzIrhyneeX34dG/USFsjJsa8YK3O1HZ5\nX5ZGMvMj13iBzJK3w84dXn/1z3V73AYCoMzgqygeNqcm+Awt/ttqB6dCR4Yj98ytnnqvtuzd4Wv9\nAl6T88+/hD03bKjdjm/u4dNJQZ22nk+kF4UGftba6TQwY8wHgHcCfwz8FPgFvILO32px+0SkpBV7\ngdYpmRL2JpxdupyBwUH2hGT1TidqPPSNqjtmvQSIRoLByb1eIsgTj5NbE11CNGgksyJIqTNNPhMQ\nxQ/UBtd+lMmTTq05HjkVXQpIywPFdSsI35UjJn9kuGJEdGA+HNhfkVVb6hMAsrmqPYDLDAySW3Mp\n+Z07nF+T85adxd69extao9ruta0ivcw1ueNzwAnW2v3+zz82xvwe8CPgtlY0TEQqtWQv0BglU6rN\nW3ZWYIBTkr9ibW3gUCiUZW2OzUwHDwxWBiFRHvj69N6+YZx2DgmZJo+93Zyj0F0wAoI+oPnp1mp+\nYBeZVVteozHsd+HvGgLxX5ONZMS2am2rSFq5Bn5Z4I3A42XHfoEEpnmNMQuAv/Kv/xRgrLUvBpx3\nIfAp/8fPW2tv949vBxYBpaD0TGut4ypike7RihpiXqJGSBmUZoOO0NHE4KzNilGdOiNdddc1uk5/\nBzzH2NvNVdlz4wYyayp3RKkZsVp7ufdYEQFN6AihS5mcIH6h5Lrq9F35bi/tqGvX8bUuRbqMa+B3\nDXC/MeYrwNPAMcBF/vFmXQl8y1q7wRhzpf/zFeUn+MHhZ4AleO8I3zXG3FsWIJ5vrd2RQFtEOlrS\nNcSyS5eTjyhZEjXdW1fMqeny51Z3PVy9wC7GaFnNc2w2oWOqMigJG7HisDmRAU1NUFWaTv/hTm+E\nNE6ySJxahaXfT+DvbmFt0kar69p1eq1LkS7jVM7dWvunwAeA1wLnAq8Dftda+8UE2rACuN3//nbg\nPQHnnAV8w1o74Qd73wDOTuCxRVKvNG0XpJk9XpvZ3iqzcthb+B+m3rrGk5c4tNBT8xyTKCdSFpSE\njViFBm5lAVdpi73M2su9Ys+Te4FinRqHC73Ei9JuHdmst47QpZaf//vpqK3JtD+uSKJcR/yw1t4H\n3NeCNrzWWvus/xjPGmOOCjjnaLyRxpJdVO4T/BVjTB74a7xp4MB5ImPMxcDF/mMxNKQ/HNX6+vrU\nL1V6vk/OOY/nwqZ7XxwPfe51++Wc89g/OMi+LTdRGH+e7NBRzD//EuYtO8upTfsHB9lz40aYOlB5\nW38/R1xwGfMiHnvssX/FuZDMxBjFT6yjMP48mflHJLK2L7vwqOm+ee7F+CNTxU+sq+irsXu3UHRp\nV38/c0/7DQ58+x9mSukUCjB6P3N/83e842GZ2NksR1x25fRjNvy7C9Ho/6P9F1xWuUsMOL0GukHP\n/21pkPqltZwCP2PMHLyp3VOAin2UrLUXONz/m3ijhNU+6fL4zJSRKVcK7s631j5jjBnEC/yGgTuC\nLmKtvRm4uXT/8XFNFVQbGhpC/VIpFX0StuvFkeHP3alfTjqVzFWbphcDTwKTAfcJy9rMfckG3jZ5\n0qmB15m+3li8Zb6l+nLFvS/Ful+Y4rnnz/TN4fNj1/ArjD3Hnhs2sHfvXm/KN+r5VNU4PHD35trg\nbmqKA//yICw9A75zX22Zljn9ZIbXV/ar4+/OVcP/j046lcya9bFfA90gFX9bGqB+CbZ48eJEruM6\n4nc78MvA3wF1KnDWsta+M+w2Y8xzxphF/mjfIiDoL9wuYHnZz68HtvvXfsb/utcY81XgNEICP5G0\niFv+oiUZw3HaGpHkUG8NWcVznd7fdxY3Fho8YrqvC6PbvWzlatP16yICwvIEhtD1kmV74fryYbuq\nTIx5dRWrgz7XYtZNKIxuZ+zeLV4A20ACiPbHFUmOa+B3NnCstfbnLWjDvcCFwAb/6z0B52wDrjLG\nHOn/fCbwcWNMH/Bqa+24MeYw4Bzgmy1oo0jXaKT8hWt2ZnmQNbbwKIrnnt90wNBM1mbNc40KpEoZ\nsT/69+R2FAl4jCPWXs6k/6O3521AWZS5h5NZva5+2Rh/rWCswDwsSIyon9jqoK+4+fqZqWqVYxGZ\nVU7JHcDPgP66ZzVmA/AuY8yPgXf5P2OMWWKMuQXAWjuBV0vwEf/fZ/1j/cA2Y8wPgO8DzwCbWtRO\nka4QGUhFKCUS5DbdQ27jSHDQt/l6P6goUhh7znsDH93eXIObyNp0Lr2yYKGX4PDkf7Qu6FuwkMzw\n+sp1cBElbbJLl5MZXh+ddOEnMEyfOzA4c9thcwLv4iXGBHymD9uFo8VbyTX6ehSR1nAd8bsDuMcY\ncx1VU73W2vubaYC19gXgtwKO7wA+WPbzrcCtVedMAuEVZEXSqEXlL1pWT62ZHUkcn1Nm5XDT9fki\nBUy5esejn1tpCjOwaHTQiN4rB2e+n9wbPnJWiLczSlNle+pRORaRjuIa+H3I/3pV1fEicFxyzRGR\npjkGUrG3wWrRG3icaczqNjPgljiR6E4c1TXxItZCuj43l6l218C7ePfm6D12A7S0GHIrthoUkYY5\nBX7W2mNb3RARSYZLsNHQNlgNvoHXCzBjrS+s3n83l/OmNett9XZwamZ7uGrZLBSKlfsNZzPB5y5Y\nODN66BAwRz23oH4JHDUscQ28GwnEWzj6NpuJQyJSy7mOn4h0hyRHj8o18gbuGmC6ZG0GtjmfL9v7\ndzx6BLBQCB6t87cgmw7EJvfBvAE48HJlMoT/XOu1df8D28jfcUNkQNfSwLuRPX5bOPpWej1mmsjq\nFZHkhAZ+xpjHrbUn+t8/TUh9BGvtG1rUNhFpUN1AqoFp2+qAMuuQ1ZvoukDHvX9Dt3uLGK0LzA7O\n9flbo+1zynJmwRCcvIQ9o/fP1NELCehaGXhH7r/cP9ebBm7z6Ft26XKGzjlPtdlEOkDUiF/5Pk5r\nWt0QEWmjBqdtywNKpyKrSa4LrNPmmSAs4Jw6o3XBo4mHoH9uRVBZLnDq+YGv154YFNAlEHiHBaPZ\npcvJP/F4bVtyfWTWXAYO1xCR3hUa+FlrHyr7/oH2NEdE2qFt664SXNgf1eb8nTcGB10wPdKXdOJK\nrNibYtUAABoYSURBVCzh6uskEHhHya25lMLxJ4YHeAr0RFJLa/xEUsh19KhZSQaYYW0GIoO+yISJ\n6fMaCMTijFpWXacdgbd2uxCRIAr8RFKqHYFB0gFmUJvzV6wNv0NIcBa0No+H748XiLkmUTRYvkVE\npBUU+IlIS0UFmLFrCQaJGnkLGLELXJv38P3ezh47dzS3v3G1bHY6a7jmJo3IicgsUOAn0gaJBDg9\npqGSJkGiRt5OXlJzKCyjlp07pqeFS7+v/Mg1kUkUM6N2IQklIUFfM/RaEpFmRJVz2UxICZdy1toL\nEm2RSI9JLMDpMUmVeoksX7JzR+2xOokccX5f5aN20wHZi+NwZGsCMr2WFPiKNCsbcdsTwE/8fy8B\n7wFywC7/fiuAn7e6gSLdTpvUh0io1EvsbN2whA3/eKO/r+zS5eQ2jvDav/lnchtHWhKMpP21NB34\nTowBxZnAd3T7bDdNpGtElXP5k9L3xphtwO9Yax8sO/Z24I9a2zyRHqBN6oMluYfrgoXO1wpcm5fr\ng6kD5NetIHSioxN+Xz36WnIdxUu0ILhISkWN+JVbCoxWHfs/wOnJNkekB9UZYUqrzMphbwu1cg2W\nNIlzrezS5WSG13vBIhlvdw6K/lZvEatbFgxRGN1O/oq15NetIH/F2vaPNPXgaynWKF6PBr4i7eQa\n+H0PuMoYMw/A//oF4PutaphIr0gywOklNQHYgoUNJ0PEvVZpWja36R5vG7PyPXnDHLWordOMQUFm\nL76WYk1f92DgK9Jurlm9FwFfBV4yxrwIHAnsAM5vUbtEeoZqtoVLsqRJw9dyHS364Q9qj7VomjEs\niSMzvJ7M8Preei3FGMVr244zIj3MKfCz1j4F/HdjzDHAYuBZa+3PWtkwkV6imm0dzLUQc5gWTDNG\njYLlNo507WspaC1fnLWe+hAl0ry4dfymgDGgzxhzHIC19snEWyUi0iZOhZijtGKasQfXsu1/YFvg\nKCannxFr1xR9iBJpjlPgZ4w5GxgBFlXdVMQr8SIi0pWCRpGYOuAne9TRqmnGJDOeO8S+LTeFFs7u\nuelrkQ7mOuJ3PfA54HZr7f4WtkdEJFEupUKqR5Fq1tiBl1QRc1u3RtvL1IHaG7p8LVth/PngGybG\nNYon0kaugd+RwJettXV38hAR6RSN7nQxW2vJAgNOgIFBMqvXdfUoWHboKApjz9Xe0MWjmCLdyDXw\nGwE+ANzawraIiCSqmYK/szEKFdhegP65XR30Acw//xL23LBBGbkis8w18FsKfNgYcyXwX+U3WGvf\nkXirRESS0G1JEt3W3hjmLTuLvXv3ai2fyCxzDfxu8f+JiHSPbkuS6Lb2xqS1fCKzz7WO3+2tboiI\nSNK6reBvt7VXRLqPcx0/Y8wHgGHgaOAZYLO19iutapiISLO6reBvt7VXRLqPax2/TwIXAH8G/BT4\nBeAPjTGLrbVfaGH7RESa0m3Ti93WXhHpLq4jfh8Elltrf1o6YIzZBnwHUOAnIiIi0gWyjucN4G3V\nVu4FYF6yzRERERGRVnEd8bsP2OKXc/kZ3lTvF4BtrWqYiIiIiCTLdcTvQ8Be4N+AfcD3gUngf7Wo\nXSIiIiKSMNdyLnuAC4wxFwFDwLi1ttDKhomIiIhIslyzei8Avm+t/QHwvH/sl4G3Wms3N9MAY8wC\n4K+ANwJPAcZa+2LAeffh7SDykLX2nLLjxwJbgQXAvwLD1tqDzbRJRMRFYXR7TemV/YOD5O+4QeVY\nRKQjuU71fg54uurY08DnE2jDlcC3rLUnAN/yfw7yp3h1BKttBK7x7/8isDaBNomIRCqMbveKLU+M\nAUWYGKN423Xs+dJVlcc2X09hdPsst1ZExOMa+B0B7Kk69hLw6gTasAIo7QxyO/CeoJOstd/CW2c4\nzRiTAc4A7qp3fxGRJBXv3ly5wwZAPg+HXqk8dnDKO1dEpAO4ZvU+BvxPwJYdWwk8nkAbXmutfRbA\nWvusMeaoGPd9DfBza+0h/+ddeDuLBDLGXAxc7D8WQ0O9sf9lkvr6+tQvVdQnwdLeL8+9OO5+8ovj\nqe4r0OsliPokmPqltVwDvyuAfzTGvBf4CXA88FvAb7vc2RjzTeB1ATd90vHxw2QCjhXDTrbW3gzc\nXDpvfDzGH+6UGBoaQv1SSX0SLPX9cuSQP6Xrdm6q+wq9XoKoT4KpX4ItXrw4keu4ZvU+ZIz5JeD9\nwDHAvwAfsdZWr/sLu/87w24zxjxnjFnkj/Ytwk8ecTQOvNoY0+eP+r0e2B3j/iIiDcmsHPbW+JVP\n9+ZykMlWTvfO6SezMmh5sohI+7mu8cNa+zPgi8DnrbUbXIM+B/cCF/rfXwjcE6NNReDbwHmN3F9E\npFHZpcvJDK+HBQuBDCxYSOaij3DEhz5ReWx4vbJ6RaRjuJZzeTVwA16A9QowYIw5FzjNWvupJtuw\nAbDGmLV4u4Ks8h9zCXCJtfaD/s8PAm8G5htjdgFrrbXb8KahtxpjPg98Dxhpsj0iIk6yS5dDVVA3\nb2iIyZNOnZX2iIjU47rG7ya8Uim/gJfoAfAw8GdAU4GftfYFvPWC1cd3AB8s+/k3Qu7/JHBaM20Q\nERERSQPXqd7fAj7sZ98WAay1Y0CcDFwRERERmUWugd9LeFu1TTPGvAF4NvEWiYiIiEhLuAZ+twB/\nbYz5TSBrjDkdr1jyTS1rmYiIiIgkynWN30bgAHA9cBhwK/Bl4LoWtUtEREREEuZax68IXOv/ExER\nEZEu5FrO5TeBp6y1/2mMeR3eCGAe+IS19r9a2UARERERSYbrGr8b8AI9gKvxpnuLzGx/JiIiIiId\nznWN39HW2p8ZY/qAs/Dq+R1E26OJiIiIdA3XEb89xpjXAsuAx6y1+/zjh7WmWSIiIiKSNNcRv78A\nHgHmAB/1j70N+GErGiUiIiIiyXMa8bPWbgTeCbzNWrvVP/wMZVuqiYiIiEhncx3xw1r7o6ifRURE\nRKSzua7xExEREZEup8BPREREJCUU+ImIiIikhAI/ERERkZRQ4CciIiKSEgr8RERERFJCgZ+IiIhI\nSijwExEREUkJBX4iIiIiKaHAT0RERCQlFPiJiIiIpIQCPxEREZGUUOAnIiIikhIK/ERERERSQoGf\niIiISEoo8BMRERFJCQV+IiIiIimhwE9EREQkJRT4iYiIiKSEAj8RERGRlOib7QYYYxYAfwW8EXgK\nMNbaFwPOuw9YCjxkrT2n7PhtwDLgJf/QRdba77e21SIiIiLdZ9YDP+BK4FvW2g3GmCv9n68IOO9P\ngcOB3wu47X9ba+9qYRtFREREul4nTPWuAG73v78deE/QSdbabwF729UoERERkV7TCSN+r7XWPgtg\nrX3WGHNUA9f4gjHm08C3gCuttVNBJxljLgYu9h+LoaGhRtvcs/r6+tQvVdQnwdQvwdQvwdQvtdQn\nwdQvrdWWwM8Y803gdQE3fTKBy38c+C9gDnAz3jTxZ4NOtNbe7J8DUBwfH0/g4XvL0NAQ6pdK6pNg\n6pdg6pdg6pda6pNg6pdgixcvTuQ6bQn8rLXvDLvNGPOcMWaRP9q3CHg+5rWf9b+dMsZ8BfiDJpoq\nIiIi0rM6YY3fvcCF/vcXAvfEubMfLGKMyeCtD/z3RFsnIiIi0iM6IfDbALzLGPNj4F3+zxhjlhhj\nbimdZIx5EPga8FvGmF3GmLP8m7YYY3YCO4Eh4PNtbb2IiIhIl8gUi8XZbsNsKe7evXu229BxtLai\nlvokmPolmPolmPqllvokmPolmL/GL9PsdTphxE9ERERE2kCBn4iIiEhKKPATERERSQkFfiIiIiIp\nocBPREREJCUU+ImIiIikhAI/ERERkZRQ4CciIiKSEgr8RERERFJCgZ+IiIhISijwExEREUkJBX4i\nIiIiKaHAT0RERCQlFPiJiIiIpIQCPxEREZGUUOAnIiIikhIK/ERERERSQoGfiIiISEoo8BMRERFJ\nCQV+IiIiIimhwE9EREQkJRT4iYiIiKSEAj8RERGRlFDgJyIiIpISCvxEREREUkKBn4iIiEhKKPAT\nERERSQkFfiIiIiIpocBPREREJCUU+ImIiIikhAI/ERERkZTom+0GGGMWAH8FvBF4CjDW2herzjkF\nuBE4AsgDX7DW/pV/27HAVmAB8K/AsLX2YLvaLyIiItItOmHE70rgW9baE4Bv+T9Xexm4wFp7EnA2\ncK0x5tX+bRuBa/z7vwisbUObRURERLpOJwR+K4Db/e9vB95TfYK19kfW2h/73+8GngcWGmMywBnA\nXVH3FxEREZHOCPxea619FsD/elTUycaY04A5wE+A1wA/t9Ye8m/eBRzdwraKiIiIdK22rPEzxnwT\neF3ATZ+MeZ1FwGbgQmttwR/xq1aMuP/FwMUA1loWL14c5+FTQ/1SS30STP0STP0STP1SS30STP3S\nQsVicVb/rVq16j9WrVq1yP9+0apVq/4j5LwjVq1a9a+rVq1aVXYss2rVqvFVq1b1+T+fvmrVqm2O\nj7tjtp97J/5Tv6hP1C/qF/WL+kT90nn/kuqXTpjqvRe40P/+QuCe6hOMMXOAu4E7rLVfKx231haB\nbwPnRd1fRERERDqgnAuwAbDGmLXAz4BVAMaYJcAl1toPAgZ4B/AaY8xF/v0ustZ+H7gC2GqM+Tzw\nPWCkze0XERER6QqzHvhZa18Afivg+A7gg/73dwJ3htz/SeC0Bh765gbukwbql1rqk2Dql2Dql2Dq\nl1rqk2Dql2CJ9EumWAzNhRARERGRHtIJa/xEREREpA1mfaq3lbQdXC2XPvHPuw9YCjxkrT2n7Pht\nwDLgJf9Qaa1lV0ugX3rutQKx+uVC4FP+j5+31t7uH98OLAL2+7edaa19vrWtbg1jzNnAdUAOuMVa\nu6Hq9n7gDuBU4AXgvdbap/zbPo63q1Ae+LC1dlsbm95SjfaLMeaNwOPAf/injlprL2lbw1vMoV/e\nAVwLvBVYba29q+y2wP9PvaDJfskDO/0ff2atPbc9rW4thz75GN7St0PAGPC71tqf+rfFfq30+oif\ntoOr5dInAH8KDIfc9r+ttaf4/7o+6PM12y+9+FoBh37xg8PPAL+Ot972M8aYI8tOOb/s9dKtQV8O\nuB54N/AW4H3GmLdUnbYW/m97dxosRXWGcfxvxJiKxBUTFxY3XGLKJWpMSo3EqJgqNFZintLgVm7R\nknxwTWlwF0WsSBYlcUlQI0Qf13KJO2Kwyh0VQawEDMge14iKiEA+nHNNO8zl9p2598KdeX9VFDPT\nfbpPv3Nm5r2nT/fhPdvbACNJbYK83uFAy3fMqLy9bq+euGTTC22jkZK+MnF5EzgWGFtRtq3PU7dV\nT1yyRYX20ihJX5mYvATsbnsn0kxlI3LZmtpKoyd+MR3citqMCYDtx4GFXVWp1UDNcWngtgLl4jIQ\neNT2u7k38FFSgtNIvgNMs/1G7sm9lRSbomKs7gB+mNvGj4FbbS+2/W9gGrVdkLY6qicujazNuNie\nYXsSsKyibCN/nuqJS6MqE5MnbH+cnz4D9M6Pa2orjZ74xXRwK2pXTFoxTNIkSSPzaZxGUE9cGrWt\nQLm4bA7MKjyvPP7Rkl6WdF43/sFv6xi/sE5uC/8ltY0yZbureuICsKWklyQ9KWmfzq5sF6rnPW/2\n9rIyX5H0gqRnJDXKH9ftjcnxwIM1lgUaYIzf6jId3Oqko2LSinOA+aQE+TrSfRQv7oDtdrpOjEu3\nbSvQIXFZ2fEPtj1H0teAO0mnyW9ufy1XuTLvcWvrdOv20YZ64jIP6Gv7HUm7AfdI2tH2Bx1dyVWg\nnve82dvLyvS1PVfSVsA4Sa/ant5BdVtVSsdE0pHA7qRx9u0qW9TtEz/b+7e2TNICSZvanpcTu6rj\niyStCzwADLX9TH75bWB9ST3yX6m9gbkdXP1O0RExWcm25+WHiyWNBs6so6pdqhPj0m3bCnRIXGYD\nAwrPewPj87bn5P8XShpLOq3RHRO/2UCfwvNq73HLOrMl9QDWA94tWba7qjkueealxQC2X5Q0HdgW\neKHTa9356nnPW/08NYC6Pgt5OBa238gXju1KOkPXnZWKiaT9SX+M72t7caHsgIqy49vaYaOf6o3p\n4FbUZkxWJv/4t4xrOxSY3KG1W3VqjksDtxUoF5eHgQMlbZAHFh8IPCyph6ReAJLWAgbRfdvL80B/\nSVvm74zDSbEpKsbqMGBcbhv3AodLWjtf/d0feK6L6t3Zao6LpI1bLnLJPTj9gTe6qN6drUxcWlP1\n89RJ9exqNcclx2Pt/LgXsBfwWqfVtOu0GRNJuwLXAodUXCBXU1tp9MRvOHCApH8BB+TnSNpd0g15\nnZbp4I7N45BeVrrFC6TTmKdLmkYak9II08GViQmSJgC3kwZiz5Y0MC8aI+lV0iX1vYBLu7T2nafe\nuDRiW4EScbH9LnAJ6QvseeDi/NrapARwEvAyMAe4vusPoX65J3cI6Ut1anrJUyRdLKnl6sI/k6aV\nnAacTr4C2vYUwKQfqYeAU20v7epj6Az1xIX0vTtJ0iukiz5Ozu2m2ysTF0l7SJpNmqb0WklTctnW\nPk/dXj1xAXYAXsjt5QlguO1un/iV/AxdCfQEbs85yr25bE1tJWbuCCGEEEJoEo3e4xdCCCGEELJI\n/EIIIYQQmkQkfiGEEEIITSISvxBCCCGEJhGJXwghhBBCk+j2N3AOIbSfpO1Ic0JuQ7op6DeBObYv\n6YR97QPcYHu7GssvB/rbntaxNaudpGOBE2zvvarrEkII7RGJXwjN6WxgvO1d692QpBmkJOixastt\nTwBqSvqaweqY2K4uIsEOoePFqd4QmlM/YEqbawF5mq0QQggNIG7gHEKTkTSONMn3EuAz4NvAucBs\n20MlDQBuAf4AnAY8mv+/EdgbWEZKGvcFbgIGk+ZcXUq6c/yIiv0NAG6x3Ts/nwFcDRxNSkAfAo6x\n/UlefhZphoflwFDSzA/9bU/LUzYNI824szZpusXTbC8q1HtULv8h8GvbY/J2y5QdSZqFZSlwru3R\nuexGwGjSvJivk+6y/4OWnihJ2+d47Qa8BZxn23nZjcBHwBak2SpeA35ue7qkfwD7AB/n4z3e9m1V\n3rMT8zH1BmYBR9qeKGkH4I/ALqSZUc6xfW9hvx8DW+Z9vAL8lDRzxjHAAuAI2y8V3pdrgaOATYF7\ngFMK78uJOTYbAk+RZtqYm5ctB04BziDN6DMWGJKnrEPSccBZwCak6epOsj1zZWWB7YGXgLWARcBn\nttevjE0IoX2ixy+EJmN7P2AC6Ye5p+1/VlltE9IPfD/gJNKP8mxgY+AbpERxue2jgDeBg/O2RlTZ\nVjUCDiIlJTsBxwJIOgg4kzQ9XH9g/4pyVwDbkhKdbYDNgfMr6t0rv34McF0ez1i27Hr59eOBa/L8\nlwDXAJ+QEqLj8j9yndchJcdjga8DRwCjJO1Y2PYRwEXABsA0UgKK7e/n5Tvn+FVL+n4GXEhKlNcF\nDgHeyfMf3wc8kvf7S9KUisXT6iIlz71IyfnTwMT8/A7gqordDQYGAlvnWA3NddgPuDxvb1NgJmmM\naNEgYA9g57zewFz2UFJ7+Qmp/UwA/tZWWdtTgZOBp3NsIukLoQNE4hdCqGYZcIHtxbYXkXoHNwX6\n2V5ie0JLb06Nfm97bp5X8j5SMgbpR3+07cm2PyIlPGmBtAZwIqmX7l3bC4HLSJOaF52X6/0k8EAq\nWqrsElKP5RLbfyf1GG4naU1ST9n5tj+yPZnU09liEDDD9mjbn9meCNwJHFZY5y7bz+V5OccUjreM\nE4ARtp+3vdz2tNxb9l3S/J3DbX9qexxwPynJbHG37Rdzr93dwCe2b85zBd8GVI7xvNr2rPy+DCts\nazDwF9sTbS8GzgG+J2mLQtnhtt+3/SZpLtWWY/wFcLntqfn4LwN2kdSvRNkQQgeLsTshhGreajnF\nl11JSsIekQRwne3hdWx/fuHxx8Bm+fFmwIuFZTMLjzcGvgq8mOsAsAawZmGd93LCWCy/Wcmy7+TE\npFivnrlsD9Ip1mr16gfsKen9wms9gL8Wnlceb0/K6wNMr/L6ZsAs28sq6rV54fmCwuNFVZ5X1qPy\nGIvvy8SWBbY/lPRO3teM/HJrx9gP+J2k3xSWr5HLzmyjbAihg0XiF0Ko5gu9ebmH7AzgjHwK8wlJ\nz9t+vHLdOs0jJTot+hYev01KVna0PaeV8htIWqeQ/PUFJpcs25q3SGMh+5DG91XWaxbwpO0D2rnd\nsmaRTr1Wmgv0kfSlQvLXF6h26r6sytjPLezr8x66fHp7I9K4wrbMAoa1jLVspxiEHkIHi8QvhNAm\nSYNISc904APSxQ9L8+IFwFYdtCsDoyXdTOpJuuDzBfYySdcDIyUNsf0fSZsD37L9cGEbF0k6F9iT\ndBr2gnaUXbFC9lJJdwEX5osUtiCNH5yRV7kfGC7pKP4/7m0X4MM8Tq0tLfFr7XYuNwBXSXqK1Ou2\nNem09LOki0bOzr1pewEHk8bK1epUSfeTet3OJZ0OhjR+8VZJY4GppNO1z9qeUWKbfwIukfSy7SmS\n1gMOtH17ibILgN6Svmz70/YeTAhhRTHGL4RQRn/gMdK4t6eBUbbH52WXA0MlvS/pzHp2YvtB4LfA\nOFIiNK5ilV/l15+R9EGuU/FihvnAe6QeqjGkK09fL1l2ZYaQTj/OJ13dPLpQ54XAgaTxgnPzOleQ\nrhwu40Lgphw/VS7MCdIwUvK1kHS17YY5EToE+BGpR3MUcHTheGsxlnSxyBv536W5Do8D55HGLs4j\nJZ+VYyursn03KR635rhPznUuYxzpCvL5kt4ufxghhNbE7VxCCA2h8rYxoX3auhF3CKExRI9fCCGE\nEEKTiMQvhBBCCKFJxKneEEIIIYQmET1+IYQQQghNIhK/EEIIIYQmEYlfCCGEEEKTiMQvhBBCCKFJ\nROIXQgghhNAkIvELIYQQQmgS/wMdsJAtLJoSfgAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10, 6))\n", "plt.plot(X2[:, 0], X2[:, 1], 'o')\n", "plt.xlabel('first independent component')\n", "plt.ylabel('second independent component')\n", "plt.axis([-0.2, 0.2, -0.2, 0.2])\n", "plt.savefig('ica.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Implementing Nonnegative Matrix Factorization (NMF)\n", "\n", "Another useful dimensionality reduction technique is called **Nonnegative Matrix\n", "Factorization (NMF)**. It again implements the same basic mathematical operations as PCA\n", "and ICA, but it has the additional constraint that it only operates on non-negative data. In\n", "other words, we cannot have negative values in our feature matrix if we want to use NMF;\n", "the resulting components of the decomposition will all have non-negative values as well.\n", "\n", "In scikit-learn, calling NMF works exactly like ICA:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": true }, "outputs": [], "source": [ "nmf = decomposition.NMF()" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": true }, "outputs": [], "source": [ "X2 = nmf.fit_transform(X)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "However, the resulting decomposition looks noticeably different from both PCA and ICA,\n", "which is a hallmark of NMF:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[0, 7, 0, 15]" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmQAAAF6CAYAAAC3JUTKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XucXXV97//X3nsykzAZ1HQSIV5//GgVIaglD084XpLi\nqUClIOdHv0UhCA2hIBYR+zPUy/HXWq3Yn1ysgBCHW0il37ZSqRWjLU2UHtKe6FFzjqhFVMAomTHW\nJEMuZO99/lhrz+zLunzX2mvttffM+/l45EGyZ1++s2aT/cnn+/l+PqV6vY6IiIiIFKdc9AJERERE\n5jsFZCIiIiIFU0AmIiIiUjAFZCIiIiIFU0AmIiIiUjAFZCIiIiIFU0AmIiIiUjAFZCIiIiIFU0Am\nIiIiUjAFZCIiIiIFGyp6ASlo1pOIiIgMklLcHQYxIGPXrl1FL2FgjY+PMzU1VfQyBpKuXXd0/bqj\n69cdXb/0dO26s3z5cqf7actSREREpGAKyEREREQKpoBMREREpGAKyEREREQKpoBMREREpGAKyERE\nREQKpoBMREREpGAKyEREREQKpoBMREREpGAKyEREREQKpoBMREREpGAKyEREREQKpoBMREREpGAK\nyEREREQKpoBMREREpGBDvXgRY8wdwFnAbmvtSW1f+0Pgz4Gl1tqpXqxHREREpJ/0KkN2F3BG+43G\nmBcBvwk80aN1iIiIiPSdngRk1tqvAnsCvnQD8F6g3ot1iIiIiPSjwmrIjDFnAz+x1n6rqDWIiIiI\n9IOe1JC1M8YcBbwfeJPj/S8DLgOw1jI+Pp7j6ua2oaEhXb+UdO26o+vXHV2/7uj6padr1xuler03\nu4XGmJcCX7DWnmSMWQH8E/CM/+UXAruA11hrfxbzVPVdu3blt9A5bnx8nKkpnZ1IQ9euO7p+3dH1\n646uX3q6dt1Zvnw5QCnufoVkyKy1O4FljT8bY34ErNQpSxEREZmPelJDZoz5LPAI8DJjzFPGmHW9\neF0RERGRQdCTDJm19q0xX39pL9YhIiIi0o/UqV9ERESkYArIRERERAqmgExERESkYArIRERERAqm\ngExERESkYArIRERERAqmgExERESkYArIRERERAqmgExERESkYArIRERERAqmgExERESkYArIRERE\nRAqmgExERESkYArIRERERAqmgExERESkYArIRERERAqmgExERESkYArIRERERAqmgExERESkYArI\nRERERAqmgExERESkYArIRERERAqmgExERESkYArIRERERAqmgExERESkYArIRERERAqmgExERESk\nYArIRERERAqmgExERESkYArIRERERAqmgExERESkYArIRERERAqmgExERESkYArIRERERAqmgExE\nRESkYEO9eBFjzB3AWcBua+1J/m1/Dvw2cBj4AXCJtfY/erEeERERkX7SqwzZXcAZbbd9BTjJWnsy\n8H3gj3q0FhEREZG+0pOAzFr7VWBP221fttYe8f+4HXhhL9YiIiIi0m/6pYbs94AHi16EiIiISBGc\nasiMMZ+01l4VcPuN1tqru1mAMeb9wBFgc8R9LgMuA7DWMj4+3s1LzmtDQ0O6finp2nVH1687un7d\n0fVLT9euN1yL+i8GOgIyYC2QOiAzxrwdr9j/jdbaetj9rLW3A7f7f6xPTU2lfcl5b3x8HF2/dHTt\nuqPr1x1dv+7o+qWna9ed5cuXO90vMiAzxvxe435Nv284Dkj9EzLGnAFsAFZba59J+zwiIiIigy4u\nQ7bW/+9w0+8B6sDTwNtdXsQY81lgDTBujHkK+BDeqcoR4CvGGIDt1trLnVcuIiI9V9u+lfr9m2DP\nFCwZp3TuWsqr1hS9rL5dl4iryIDMWvsbAMaYP7XWfiDti1hr3xpw80Ta5xMRkd6rbd9KfdPNcPiQ\nd8OeSeqbbqYGhQY//boukSScasgawZgxZhmwuO1rj+ewLhER6TP1+zfNBj0Nhw95txcY+PTrukSS\ncD1leTpwB3Bs25fqQCXrRYmISB/aE1I2HHZ7r/TrukQScD1leQvwYeBua+2BHNcjIiL9ask47JkM\nvr1I/boukQRcG8M+D7hNwZiIyPxVOnctDI+03jg84t1eoH5dl0gSrhmyCeASvG1LERGZh8qr1lCD\nvjvN2K/rEknCNSBbBVxljLkW+FnzF6y1b8h8VSIi0pfKq9b0ZaF8v65LxJVrQPYZ/5eIiIiIZMy1\n7cXdeS9EREREZL5ybXtRAi4F3gqMW2tPNsa8ATjGWmvzXKCIiEi/06QA6ZbrKcs/AdbhDfh+sX/b\nU3izKEVEROatmUkBeyaB+uykgO1bi16aDBDXgOxi4Cxr7X14zWABfog3YFxERGTeipwUIOLINSCr\nAPv93zcCssVNt4mIiMxPmhQgGXA9ZflF4HpjzLthpqbsw8Df57UwERGRgZBgUoBqzSSMa4bsGmA5\n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\nESmYAjIRERGRgikgExERESmYAjIRERGRgikgExERESmYAjIRERGRgikgExERESmYAjIRERGRgikg\nExERESmYAjIRERGRgikgExERESmYAjIRERGRgikgExERESmYAjIRERGRgikgExERESmYAjIRERGR\ngikgExERESmYAjIRERGRgikgExERESmYAjIRERGRgikgExERESmYAjIRERGRgikgExERESnYUNEL\nMMacAdwEVIDPWGs/VvCSRERERHqq0AyZMaYC3AycCbwCeKsx5hVFrklERESk14resnwN8Ji19nFr\n7WHgPuCcgtckIiIi0lNFB2QvAJ5s+vNT/m0iIiIi80bRNWSlgNvq7TcYYy4DLgOw1rJ8+fK81zWn\n6fqlp2vXHV2/7uj6dUfXLz1du/wVnSF7CnhR059fCOxqv5O19nZr7Upr7UpjzNfxAjn9SvFL10/X\nTtdvMH/p+un66doN5i//+sUqOkP2P4BfNcb8X8BPgPOBtxW7JBEREZHeKjRDZq09ArwT2AI86t1k\n/3eRaxIRERHptaIzZFhrvwh8McFDbs9rLfOErl96unbd0fXrjq5fd3T90tO1647T9SvV6x019CIi\nIiLSQ0UX9YuIiIjMe4VvWbrSiKXuGGPuAM4CdltrTyp6PYPEGPMi4B7gGKAG3G6tvanYVQ0OY8xC\n4KvACN7fOX9jrf1QsasaLP5Ukx3AT6y1ZxW9nkFijPkRsA+oAkestSuLXdFgMcY8F/gMcBJeW6rf\ns9Y+UuyqBoMx5mXAXzXddBzw36y1NwbdfyAyZBqxlIm7gDOKXsSAOgK8x1p7ArAKuFLvv0QOAadZ\na18JvAo4wxizquA1DZp34R18knR+w1r7KgVjqdwEfMla+3Lgleh96Mxa+z3/ffcq4BTgGeD+sPsP\nSoZsZsQSgDGmMWLpO4WuaoBYa79qjHlp0esYRNbanwI/9X+/zxjzKN5ECb3/HFhr68B+/48L/F8q\nXnVkjHkh8GbgI8A1BS9H5hFjzNHAG4CLAfwRh4eLXNMAeyPwA2vtj8PuMCgBWdCIpf9U0FpkHvOD\n2lcD/1rwUgaKn+X+OnA8cLO1VtfP3Y3Ae4GxohcyoOrAl40xdeA2a61ODLo7DpgE7jTGvBLv/+F3\nWWuni13WQDof+GzUHQZiyxKv2207/QtbesoYsxj4W+Bqa+3eotczSKy1VT9t/0LgNcYY1TE6MMY0\n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\nDvsLIlrShyi11t0AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10, 6))\n", "plt.plot(X2[:, 0], X2[:, 1], 'o')\n", "plt.xlabel('first non-negative component')\n", "plt.ylabel('second non-negative component')\n", "plt.axis([0, 7, -0, 15])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we are familiar with some of the most common data decomposition tools, let's\n", "have a look at some common data types." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "< [Preprocessing Data](04.01-Preprocessing-Data.ipynb) | [Contents](../README.md) | [Representing Categorical Variables](04.03-Representing-Categorical-Variables.ipynb) >" ] } ], "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.5.3" } }, "nbformat": 4, "nbformat_minor": 1 }