{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "#### PCA and creepy guys\n", "\n", "\n", "This is a small notebook intended to play around with the Olivetti dataset" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from sklearn.datasets import fetch_olivetti_faces\n", "from sklearn.decomposition import PCA\n", "\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Modified Olivetti faces dataset.\n", "\n", "The original database was available from\n", "\n", " http://www.cl.cam.ac.uk/research/dtg/attarchive/facedatabase.html\n", "\n", "The version retrieved here comes in MATLAB format from the personal\n", "web page of Sam Roweis:\n", "\n", " http://www.cs.nyu.edu/~roweis/\n", "\n", "There are ten different images of each of 40 distinct subjects. For some\n", "subjects, the images were taken at different times, varying the lighting,\n", "facial expressions (open / closed eyes, smiling / not smiling) and facial\n", "details (glasses / no glasses). All the images were taken against a dark\n", "homogeneous background with the subjects in an upright, frontal position (with\n", "tolerance for some side movement).\n", "\n", "The original dataset consisted of 92 x 112, while the Roweis version\n", "consists of 64x64 images.\n", "\n" ] } ], "source": [ "faces = fetch_olivetti_faces()\n", "print(faces.DESCR)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Here are the first ten guys of the dataset\n", "fig = plt.figure(figsize=(10, 10))\n", "for i in range(10):\n", " ax = plt.subplot2grid((1, 10), (0, i))\n", " \n", " ax.imshow(faces.data[i * 10].reshape(64, 64), cmap=plt.cm.gray)\n", " ax.axis('off')" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "PCA(copy=True, iterated_power='auto', n_components=None, random_state=None,\n", " svd_solver='auto', tol=0.0, whiten=False)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Let's compute the PCA\n", "pca = PCA()\n", "pca.fit(faces.data)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlMAAABSCAYAAABwglFkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsvcmOZFlW9b+s7zvvIyMjIqsyC6ooGDBCvAuvwJgXQGLO\ngIdgygwhIfSNEEJCVSBRZENlRniEd9Y37tb/B67ftmU3I9Nv/AsF3yfZkVwe4e527z3n7Gbttfc+\nN7PdbnUYh3EYh3EYh3EYh3EY//9G9n/7AQ7jMA7jMA7jMA7jMP5fHgcwdRiHcRiHcRiHcRiH8TuM\nA5g6jMM4jMM4jMM4jMP4HcYBTB3GYRzGYRzGYRzGYfwO4wCmDuMwDuMwDuMwDuMwfodxAFOHcRiH\ncRiHcRiHcRi/wziAqcM4jMM4jMM4jMM4jN9hHMDUYRzGYRzGYRzGYRzG7zAOYOowDuMwDuMwDuMw\nDuN3GAcwdRiHcRiHcRiHcRiH8TuM/Me82V/+5V9uLy8vNZ/PdX9/r/V6rYeHBy2XS61WK0nSdrvV\nfD7XdrvVarXSer2Ozz88PEiSNpuNFovFbhL5vHK53N69ttutFouFttttXGO73Wqz2Wg+n8e1uW8m\nk4mfZbPZuE+hUNDLly/1/Plz/cM//EPmqTn+0R/90fa7777Ter1WLpfTycmJOp2O6vW6Tk9PVS6X\nVSqVVCwWlcvllMlk4rskFYtFZTIZZTKZmFc2m41/ZzIZZbPZ+BzXyeVyKhQKymazymazKhaLyufz\nymazKpfL8Rlfn0wmo2KxqEKhED/70z/90x+d45//+Z9vJalUKimXy6nRaKharapYLKparapQKCif\nz6tUKmm73cZ9+Z7P55XJZMRrjPyZ2AvWfrPZSFLMj2tsNhstl8uQkfl8Hns5Go308PCg6XSq169f\nazgcajKZ6P7+XpVKRX//93//5B7+xV/8xfZXv/qVbm9vNR6PNR6PY52YK+vLXhWLxfi8z7lQKMS8\nkSvkkc/63PjdZrPRer3Wer3WZrPRarXSarXSYrFQv9/XZDLRdDpVt9tVoVBQrVZTPp9Xu93Wf/zH\nfzw5xz/7sz/bNpvNeJ5araZaraZisahSqaRCoaBcLhdz5FnQIZ7dn58v5pbNZrXZbEIXV6tVzIv9\ndf3mZ5vNJuzDarXSeDxWqVTSw8OD7u/vtd1u9bd/+7dPzvEf/uEftrlcTvP5XKPRSMPhUMvlUvP5\nXMvlMmQv+fw8N2O73cYXe8HzMk/Wx+eCLPi1sFPoRjabDd1ttVqq1+v65ptvNBwO9Zd/+Zc/OsdO\np7P94z/+Y52fn+v09FStVkvT6VTL5TJs6mq1iufmGZfLpTabjbLZbNgBH76H/C6TyYR9yeVy8XnX\nacZyuVQul1O5XI75NhoNTadTDQYD/fM//7Nub291c3Pz5B7+1V/91faLL75QsVjUw8ODrq+vQx7d\nPvozo3PY/uS+SYqfs3/Mm8/6z33/+Rz3Wi6XIc/X19caDAbq9Xq6u7vTfD7X//k//+fJOf785z/f\nzudztdttdTodffbZZyqXy2FT3c6wp7632MLtdht7hJ30wfx5Zve/6BZ/498nk4m2260qlYoWi4Xq\n9bparZa++OILSdLf/M3fPDnHf/qnf9rmcrmwX//2b/+mbrerXq+n+/v72C98NhgAP4pPy2azqtVq\noTPMF/vq/2bdNptN2DKuIT36MHxJPp8P+zqZTOLZ2JO//uu/fnKOHxVMSdpTTneyLAoTx5C6c8nl\ncnvGnMV2oMH31Wq1pwyS9sBTLpcLoeKZUCTu44ArKZg/NDBiDiSYZz6f3/tyI8DGJ426Oy3mkTSA\nKJKkvc+wzg5K/LNJUJNmjvP5PJ4ZEMZgXgAqn1/yO/voe8PPkg6ZPUGpuJfvP4rw8PCg1WoVc+Oa\n/DztQMkcbKOM5XI55ujPybz8uZFtZItn9z1hHZF77r9YLMJxMY9cLhfAAkf18PCgYrGo9Xq9F2Q8\nNb9CoRCgwp3tYrEII+ZBiq+fyyg6x54TkDigYp3Y66STZ+2QAxwU64qRzWQyEVQ9NTCSi8VCi8Vi\nT76TeoYNcQPMM/CcfB6Z9XklgwPXDXdu77MLLqOVSmVPPn5s4GwrlUqAfWSS/XNQ58PBAfvnwJj5\nYTM8KOPz/NtlxO2V6z/giq9k8PtDA12THvfT19jv6fdGTt4HFLEXrDG/T+4x82ffPBDAZ7jso5fV\nalWj0eiDbM12uw3dKRQKEXCzl273fR7Ik3+9bw0kxXMmr4WMIPfYIPadv3GZR39Xq5VqtVqqOWKf\nXGdY0+QzY0uWy2Xoh/sBdJV/81z8O+lj8AfJoMbtNnPEHvP7+Xyu2WyWao4fFUz5RuIMs9lssByS\n9gQEB8kiAG74HZ93gMIioHgIKc6RTcDQMjDcKC6bvFqtItJLM3hmR8Y8FwavUCgEo+ROB+V0Fsn/\n7T9LfvE55sfX+9goNyJcF6F9aszn81gjBxPMj4jKo9j3gTs3UOyjR4soOQ4CkOaRMXPy6Ip/8zd+\nr7QGjmeRdkrK3Gq1WszR19cBvs/XGZ4k4JK0p7wYMn4Hg8LfAWTv7+/3ANVisdB8PpcktVqtVHP0\nvUY/AFLz+fx7ztAZXkkxf59X0pj5vbg++4Que4DjMuF6Ie2AHJF42oHesz5uvF1PkC3Xf2QoyZg6\nMEoGKw6YeV7XrfexV8jNcrnUYrEIm/HUyOfzajabqtfrwWCwL9wrGYA6UMO5+b657EqP+8wciOr9\n99hxD4QKhcL3ggrsfLlcVrPZ1O3tbar9q1arYa/xBUkQznfk1e0I802CU3fQ/ntYO3QBufd/+x7W\n6/UAPtj1crkcz5hmuPwnnTnz86DkfSCeefI57Ijbe58vf1cqlWLt8JvYSj53f38fz4kdur+/13w+\nT21vSqWSxuPx3tq5D5e09+weUDngz+fzqlQq8fes9Xq9VrlcjrUgqPS9xVZht5BT5o+sF4tF1Wo1\nTSYTzefz1MHbRwVTUHcoPcpFmiGZkpMUUSWsA+mCcrkciNOBGAZwvV7vpZ0KhUIsrLMiLNRyudT9\n/X0AIdIJ8/k87plmQJWyUbVaTZVKRbVaLaLIarWqRqMRzwWYRGA81ZFUYASKLyI31tOBR9IwAk48\n6kYhoTyfGjimcrkc9yqVSmo0Gjo9PY0oGSo2mZ505zabzfTw8BDPAl1dqVQCjJJWK5VKkcoqFot7\nUWK/3w+aGgOBk8CB87s0o1KpxDqXSiVlMhm12201m02dnZ2pVCrFPiYZKhglADjO0Z2apL2UYa1W\nCznAYW02G81ms7jWcDgM+a/X6+p2u1qv1xoOh5IUxg/Q8NRAtjFc4/FYvV4vruVsbDLyzWazqtfr\nyufzqtVqOjs7U6VS0WazibVjrrC/4/FY0+lU0+k09ovfOdDgs4BznCkpANi6tPs4mUw0m81iP7BB\nzDOTyURqHVkFFHCffD6v2WwWz5qMlh3oS/tsozPcOGUHg+gIjmU2m4VDfmo0m0399Kc/VafTCRtS\nrVbjWqRxeA7/nslk9uwawRgMGTKLY3cw5Y7NHVLSmU+n0whGCUBqtZp++9vfihTzU+Po6Ejr9Vqz\n2Uyz2UzdbleLxULT6TT2xIGVtAOROF6Cu3a7vbdXyBl6+/DwoOFwqPF4rMlkon6/H8Dh4eEhAC+2\nifm0222dnJzo5OQkdCOXy2k0GqWa43q93mOkAHTlclmdTmcvGGe4vXSfyXrjx7g+nykWiwEMV6vV\nXorWU/Gwa6vVSs1mM+yr/914PNbLly9TzRFfOxqNNJ1OdX9/H2vp7LCzVM6eEiCXSqWwPcgkdgrb\nQzYArFEul8Nec01k3bMgrCc/K5fL+vWvf506ePuoYApjiWA4w1SpVPZoQFcOabcZDM8Ze7rH88E4\n/EKhEBsg7ahNHBafQWlIEfL9fZHNDw0HeLBQpVIpHCXfUXIU0kEHwsMzUBfkUYjnhT0qcgo0OTwK\nd0P7IcwUTEiSkmVuzK/RaMTz4BgcSDE3wAeGTdIeS1Cr1QJ0A14KhUIwgA5cV6tVrCmADMVEPtIM\nT1XyDICpRqMRYKrZbMY+EuGt12uNRiPd399rNpt9jzYHxAOwidSr1WqkQJA5ACcR4Ww2CweFg7m6\nuoo99zqgpwbOFEfU7XYlfT+FTMTrgB45KZVKymazAXAciPAZ9uXh4UGz2UyTySQiPmTbKXyeDefG\nM/C7JEP21HBG4+HhYa9eEhnDmS0WiwhCnLFxG+PpIGQWsMG8+TysG/cF1DNnPgtoRM9/SH+To9ls\n6vj4OFgpZ22LxWKsrwMimKRMJqPZbBYMA3YLwC7taohwcpVK5XvMd6PRCEDmAFRSAB+cNoxCvV5P\nnR4qlUqaz+eaz+eaTqe6vr5Wv9/XcDhUv98Pe+K6jb5kMhk1m80I9l68eBF1gThe9zfoU7/fV7/f\n193dXawH+4ftYj3a7bbq9bpGo9FeOp91TjNI7QLqsS+tVkunp6eSduw/9jSXy+2BZr6jWzyrA6bN\nZhOgGznF7mA/0PNer6fFYqHZbBa6UC6XNR6PJX2/ZOSpsVwuAwBPJpMIpthj5oYv9MDKGTMAVblc\nDr/luMJBFAE4wWoul4vgHT8r7bIHXH86nerh4SFssYPYHxsfFUw5NY6we2TP71A6hIN0m9PXng7w\ndA6/J0ry3CpCw2Y5zbhYLIJNub+/DycynU41n89Tgyk2khoDog2vmfFnlHZgxvPmAEOP1J2dcgr3\nfWss6b0G2e/7vvqHp4aDIP6PEfG9IWqECePZYBccDDkT4s/EXJN1LFyf6GY0GkX6CEUhGnEgl9a4\nIStEcQAnUipcm3/jKHhGHBNzctCKU4OprNVqqtfrqlQq8YWBSKZDeTb0Y7Va6dtvv91La6TdRwA7\noHo4HAaIbTabe9dB/ryGC0MIGFmv15rP5wEqeXZ+x74QXKALXhBarVZjnzz9B1NCaj4t+8ZzIhsY\nSRhoZ6OciWQd6vX6XurI5RSA5SlnL/B1hoAmBk83Ml/SX+yps75PjU6nE2ABR4zNwMZhj3A0LiON\nRiMc7nA4jICDfYa18yJf7oXTYu4Aaweh9Xp9D1DDviD3aUa5XNZwONR0OtV4PNbr16/19u1b9Xo9\njUaj7+2LtLN7hUIhgp/j42PlcjkdHx8Hg4+sSgr57fV6GgwGwaB4ustreLkn8rhcLnV0dKRGoxF+\nJi3QYL+xOa1WS81mMwJJT9F5qstLZdCZarUa/qrf70f9IzKL7eI6nmEAUAAkHh4eNJlMlM/nNZlM\nQv/G4/GeXU4zVqtdcxA60Gw2I/uAn16tVmEDAWzcZzqdhiyhd8wPm48Pxa4CppAN5sVnsM3sKza/\n0WhoMBgE6ZNmfPQC9NlsFkLRaDQkPRqQwWCgbDYbERq0qtPQyaI7nK8jdDfmnkJj0/kMgkIqxaM4\nojrpUSEHg0Hq+WUyGdXrdTUaDXU6naDgYRoWi4WGw6G63W4wGqR7yuWyjo6OQpAwykmD4UayXC7H\nmqJYTl3iFDCk1Wo11hOjB7Bx4/JDw50H64uhu7y8DPDo+5S8thsyUk2eUplOp5IeBXs2m0X6YzQa\nhaEYDod7dRHIBo5vvV6r0WhEerjf76dWfJSNNcfRLZfLuA4gh+gFah9Awdyn02k8V71eD6Vvt9vK\n5XIB+Jj/cDjUfD7XeDzWt99+GxE4EaHPT5I+//xzXV1dBcOQJj0kKRgvmNjz83O1222Vy+UAd0TL\nyOHNzU18ntqCRqOhk5OTMMasFcwXslipVFQqlYJNIc35/PnzPTaVuje6oe7v79XtdgMUvS+A+KEx\nHA6js6rX6+m7777TeDzWbDaLFA6MB6zmyclJOLKLi4sAvaVSac/OoGde+O1ArdvtajgcajAYqNvt\nRu0FOpnL5dTpdKKDb71eq91uq1ar7TUX/Nh49eqVjo+P4xkARnQukpbpdrsR0cOmtNttXVxc6PT0\nNJwyoJpuZJgM9g4GDFnDmXk6y1lJ7MN2uw15r9Vq+slPfqK7u7tUe0hwOxgMdHd3p9evX4eD/8lP\nfqJMJqNarRZdjJlMJpgPt4OwutSZsQ+lUin2U1KUXxwfH+snP/lJgMh6vR4MBewPekhQslwuQ0/b\n7Xb8+6kBID4/P9fPf/5znZ6eBpBw8ECjCXVMlUpFhUIhShharZY+++wzrVarKBEhpYa98nKAbDar\n6XQaQI37wCJhbwHA8/k8GHUYtLQsMan+fD6vRqOh8/PzsIvHx8ehCwQoZCFgWcfjcdjy169fh06x\nRgDRdrutSqWiFy9ehF2tVqvf695lL1erx27Fb775JogbSo622+0e8/rU+KhgCkPjRZ5eZM6CE8FM\nJpP4LBE0SuwRgtPu1B/goLmHo3HYgtlsFptEjpprOgv2IcWEoGhnU0jZOcPl1CkCC5gjvcT9yaE7\niPR0B0CKdJkX1fFF5MizSdorPpTez2Qlh6cis9msJpPJHotAlAONW6lUAnSA8p2hQYmhWukw87Tt\nw8ODBoNBOAhSRbAa1Wo11oAcOkYYJSqXy6n30Ou4AJ9cZzQahbxRr5TNZtVqtQJInJycxLxwbl5k\nnqyRcQW+vb1Vt9vV7e2t/uu//kuTySSOBoDpdBkmhS1pT7eeGsgltSTn5+eRtmQupCABRv/93/8d\nxh0DDqBiDzDS7AFyCtu12Wzi+tVqVS9evIhnhm3EUVC7QvAzHA61WCxSp2thlcfjsW5ubnR7exuB\nk9e0cU/sxcPDQ7COy+VSk8lEnU4nolhvP4fRkLRXKtDtdtXv99Xr9SKiXq/XEUC5HNzf36vf7++l\nJ9KM8/PzcPLYUZwoLeiLxUL/+Z//KUnhtLB71MNks1l1Op3QH5wkdSroAunryWSiwWCg6XSqyWQS\nekBNKHp8cXERDngymahWq2m1Wun4+Dhk9qmBXkuPAP7s7ExnZ2eqVqvqdDphR0hN4jfwFbBGy+Uy\nyg4ajcZeeh77V6/X1Ww2IyBsNpvhdD2F6oAeu+5MOU4YsuCpQbqfYnYCsM1mo16vp/V6HUwejL83\nApCG9HIJZJ/n8mwNTBN7hk1mLfyIHQ9cvSSDUoW0sgqwxh9TL7vdblWv1zWbzcJGz2az2AuCOcZ2\nu1W1Wo05AawhMahHZl6eSQFEElhgkym1IWh8eHgIoJeW6Zc+MpiCZaBmgBwqKJ/NwiAvl0tVq9Uo\nZnRmCkebZGOIFjCKIFz+FtBCpILT9zqQJKh4eHhIXTDJ5jkThiHFAWFEpV1KgLQDdUcIMg7ZAQhz\npdYCtoLiVtZX2megWAeGF2B6F9CPDU9JklsH3PI7X283hMyjUqlou93q6uoqol8vvgRMISMYcFgL\nHKwzUTw74JhIHefCvqcZPDOGlP/DwAGEBoNBAMHZbKZms6l2u73HamHEh8OhcrlcAPZGoxFguNls\nRnH21dWVLi8v9fr1a/3mN7+Js5GcNfr0008jQuUMLO+uSzM2m00YrGazqaOjowBT1OHU63WdnZ1F\njRr1K+v1Wre3t3uFoxgnGB7WACCGYeQ8JWojLi4uAmSjj/P5PP62WCxqMplos9mo0WhEkXyaQYqt\n1+vp9vY2giQMOOvQarVC53BsPB9sD0AKQyspbBTrQFTPzzyVgiP21DD3KhQKARZzuZyOjo5SsajI\nBKzF1dVVPO93332nu7s7TSYTvXv3TovFQjc3N6pUKmo0GqrX63r58mUw4n/wB38gSRH84Oi8tuTy\n8lK3t7fq9Xp69+6dBoNBNBMgN6Ru6vV62BcaN7CBnL2XZhAES4+256c//anq9XqkYL2mNJfLqdVq\nKZt9bCAaj8cRgE2n00hJw855eh6bfHZ2JkkRJBDE44zZV+xcu92WpL2zzLBpaWUV1g4gCPgmaAK0\nePAJiKecxO0faT/vcCZAJLD2o2L4ji6S/oKNxUcip/z96elp6uANPzUYDDSfz4Nt73Q6AaJgpAeD\ngfL5vJ49e7aXscCfUHtIMEoAz5oRiHmdJSl2MmD1el3tdjsCO5hEwBng8ezsTN9++22qOX5UMIWT\nJPK5urqKPK/TreSNMcjUxIA6C4VCKAlGDnoc+hgAJiloSgz+559/rrdv36rT6ej6+nrvXB3p0Qjf\n3t6qWCxGyi4tq4HQgcQ9WnWa8fT0NNIprVYrhNIPMQWA4JBRYACaI/37+3vd3d3FPACFfI4obTwe\nq1wuR24fJQWMPTWg6jncjDVGoBkXFxcR5fm6bLfbAFvUsdRqNXU6naCtc7ncHmMIawhA3Gw2UU9A\nKnAymUQEQgsuUQ4y9yFnouD8R6NRRPIcAEqtxsnJSbCojUZDtVotWBToaViH8Xi815kIm5XJZCIl\nNBqNdH19HemB8/NzHR8fa7Va6fr6Wjc3N+r1eppMJmq322o0GmE4S6WSLi4uUhu3Tqejk5OTcJTn\n5+dxuCxsR6FQiCLfxWIRNHqxWNTx8fH3GDpSLQQHnU4nwHun01Gj0VAul4sI8v7+PlJKi8VCJycn\nYTAxct1uV91uV7PZLBxH2mhxOp3q7du36na7wbpQlyHtUlI4fEC+p6ApdKU+xruIvdZkuVxqMBhE\nCgimq91uq9/vq1wuBxinJgU7x7pQs9NsNlN1ELGmXFN6dBw3NzeaTCYqFAp7wAEn9PbtW+Xz+VhT\nnMcvf/lLnZ2d6fT0VKPRKOpL+v3+3loOBgN98803EbQRbACyT09Pw3mhhy9fvowallwup1/84hep\n9pDaxHw+r08//TSYstlspru7uwAczWYzmAcCjs1mo9vb29BHL8putVrRVMJej8fjCGzW67Xevn0b\nDUrY3Pv7ez179ixs+zfffKPT01M1Go1Y59FoFAc0pxntdjv2Bjmo1+s6Pj7Ws2fPwv68efMmgmqY\npZOTEx0fH0dH7cuXL8MW4iNzuZyGw2GUtJACy+fz6vV6QSx89dVXOj8/D3sDaDw9Pd3L4ji7RePK\nU4MuST5fKBT07NkznZ+fR5qW4Bpwia2jmYeMR7vd1tXVlaQdpqhUKrq/v9f19XWkmAmGqavNZDLq\n9/s6OzsLlrXb7er4+FifffaZTk5OdH19Hc8Bu3txcZFqjh/9aAQM4Xw+13A4DAfnBozcPAYCShCj\nQ4oMZ0V0AsvC31BsR7QFXdlqtULBzs/PdX19re12G4BM2tHLRJCkcJ4a1Gp5NwffqVuq1Wp68eJF\ngA9SPBgnWCoiQy/q9GtiIFB0ctl8UYCJ0SeCQ3HpbPEU4lMDMEdUSH2H08AwDV5I7BE8uW/2HcX2\nSF5S1Lewrl7nABvj0SmGT9od4YCjk3ZMU5pBpALgI52BIzw7O9OrV6/2TgwH4C2Xy2Bhx+Ox7u7u\nNJ1O9bOf/UytVkutVitSM/V6PZww7E+xWNTZ2VmsZavV0tdff63JZKKvv/46nLWkqDMAMKY14KQT\nKP6EVeDzpK56vZ5ubm5Uq9V0f3+vi4sLHR0dqVwuB+VfrVajBssLPXEM6/U6gDtAhADht7/97V5H\nGXaAYABHCjBOeyippL0giegXFpUmE+pTONUZ/eVvSDnCuAGCiOBJqd3f32s0Gqnf7++luWAtCVi+\n++670MXBYBCpX5gy76xLs4fZbDYCsnfv3u3JfaPRiLU+OTkJlqpYLIZcwyB1u12Nx+NgVXge2GEC\nNa7vRentdlvPnj3TdrvVN998s1cnSG0cdvT8/DwC4zRjuVxG+os0OGAKYM19kB0cbKPRCJvAnlQq\nlVgfHK6neAqFQqQ+p9Op2u121As5C0b5x8PDQ5Rl4H+Gw2GkINMMzjQitZ7NZoM1mU6n6vV6UUuJ\nv+Q5CNyR72q1qrOzM/X7fV1dXYWPvLm5ifnBnhFcNJvN0NV2u603b96Ev0EeYOlGo1E0ikjf77r/\noUGAiz4SVAP07u7u1O/3JSlOgYeV5xgYGK3PPvtsr1xms9lEUC9p77xB/A8lEdTMffXVV2FjFotF\n1Coja3yNx+PUgPGjgikmAy0Nwi0UCup0OlGweXx8HMoyGAy02Wz07t27KPIltYdhhNEg3eBdBl5b\nQgEfkQcG/quvvoraG4CHdwBUq9XURtwLtAE1pACoeSGCQXFIbRJ1ecePn7lEWkHadZN4Z5QDPpwc\nxgOjy0DIAGqAlKcG7ADpGPbRa54otCZCACS2Wi31er1YFxwyg70iveL0OikSwN98Pt9LlfFct7e3\n4WT4GZ9Py9qQJshmHzvbSGWs12t1Oh29evVKn3zySUSQpVJJs9lMtVpNR0dH+uabb0KhXdYw1O12\nOwAQDCrXxznXajWt12udnZ2FEfyTP/kTvXr1Sn/3d38XdLsXxtJtk2YQscJeUnSN7nAYHvtKcIBz\nu7+/j3oGPy/Kjbz0/eYGUso4DmodYDuOjo4iKIBN5pgNSZF+SjOYH46fkgJqF09PT/Wzn/1MX375\npS4uLtRqtaJYm+eHdYMBpQDXu3NxvABiGEO+A7SlR6fys5/9TP1+X19++aX6/X4EhtwHfX9qAO6w\nObPZTMPhMLrfYHzfvHmzl66EbYe1abVaUXRMirVSqQQIweFQRjAajSKdwr5yjV/+8pdqNpu6vr4O\nZg9dpJi/XC7r3bt3qfbQ02xewgGIo2wAxgL7TqrWAQ3pU1I9zK3RaOjh4SFSTgRopL1oioF1I5vS\n7/d1eXkZjpuSEliPtICRY4HYexw5rDWpp4uLi6glZR4AIhw+dY7U4FGQT7lEu92Ovdxutzo5OVG9\nXtfV1VXocqPRCIb8xYsXUY7DcMD9IQ0vsIfYPIKR169fh43odrv64osv9MUXX8TrXCqVii4vL2MO\nb9++VaPRCBvEuhPUdbvdqG8F4E4mk5B7Xmv0/PnzmHur1Qr5wN9zdl7qeulUf/U/NMrlcnSxYWQ6\nnY7a7XYwR0zUU0+8G2gymUSHEMWVk8lEp6engTIrlYoGg4Hq9Xq0IzuL1e/3A4VieAaDQYCO8Xgc\nkbKkoHPTHilPOsHbNBE4HC8sCgYOQSDSAajw3Bh2InRSFV5gRyqCv6PjY7lcBhNCDtjz/wxSVE+N\nfD6vVqsVaQPAa7lc1vPnzyOFh2CuVo+vHDg9PY36NwxCoVCI+gDScKwVOXuKODFqPOdvfvObYAFg\nVCi45GyDJCqiAAAgAElEQVQUmCKv6Uozzs7OIlLt9/uR0jo5OdHFxUUYPwB6t9vV0dFRdDrd39/v\nHf7X6XR0cXERTgmWA8dE/Um5XA4QRyBBrc/R0VEYvJcvX4ZBpxC/1+vp+fPnqdk31hembTQa6e7u\nLpo1SqVS6GWhUAgdxDCVSqXQE1K2HHSIsSWlDBOJ8cOYwhpQz3J2dqbtdqu7uzt9/fXXkRYlmpxO\np/HMaQYRPvN98+aNer2eHh4e9MUXX+jFixchX999952kRxv17NkzHR8fRxkCgQ4Mkx8F4ql0HNty\nuYwi61qtpn/8x3+MNDdG+/j4WHd3d7GGpAQJutKAqXK5rFevXunm5iYYDGpFKBhvNpuaTCa6vLyM\nRojj4+MAI9SewICzdzSWUBYxmUz0X//1XyqXyzo+Pt7rzOr3+3r37p1Wq5U+/fTTqMGjzo00FGmd\nr7/+OtX+SQoWkCAXxlZS1GbBLLlTxbY+f/48bNHv//7vazgc6ssvv4wgfTqdRokB7f+1Wm0vvX59\nfa3f+73f06tXr7TdbvXmzRttt1v93u/9XjQmlEol/eIXv4iAajQapa4Lw9ET8JJBef36dQSNm81G\nNzc3KhQKEWyxnnQpsp+j0Uij0SjS5Ov1Wqenp+r1evr5z38eQJp0faPRUKvV0q9//Wv1er0I1Dud\nTnRQknU4Pz9XNpvV0dFRpOjSDEA04OXu7k5ffvmlRqORnj9/rpOTkyh3GY1G+pd/+Rc1Go0I3p49\ne6bVaqW7uzvV63Xd3t5qMBjoD/7gD6ImjwzScDjUzc1N+DOekXq+N2/eRM0UXZCXl5dxZh9NN9Qo\n/195zhQGgqi01+vtsVXkoheLRdDppKtOT08DtXs7vNPupLoAXThsp/olaTQaRWRC9O91Tt7S3u/3\n97pFnhogfk9PkS7kADhSQxhfr1sCLAE4PArnOpKCcSG6cpDinXJcI/maCtgiLyJOQ0uTbiMips7G\n6524Dx0zzIHONe7lKQ4vIsRB8cywewBqZw6pUYLpwZgCnryeIy3tDiP19u3bSJHw/F7/xHPT0g5V\nzvOzx+12e+/8ItbbC7YBpXTFAQRgLanh4GRiuqao4eF50kZRsJQA75ubm0gJAbAIRFg3ikjRL69p\n9I4h5MujaBoSqJlA/9B39opAwmuLqLXjKy0oZp0IKtgPAgEc6sXFhabTaUSjuVxO/X4/gCSMHSlR\nXxP0m4Ll8XgctTV3d3cRWJCWPTo6ihow9gF58LcHpGmWgBGkbvLVq1dxPg5yPJlM1Gq1ogwCe8v6\nMAfSWfl8PgJM5lgsFnV0dKSLi4sIdGm3J13kDSjUl+FsSVlVq9U4+iatLmYymfg8AS52D9/A35Gl\nIN0FkEfWG41GgBzKI5BRztwipYucdjqdKMjmmQl2ttutPv3002BCKKmg/i6tnI5Go73XVG2323gB\ncKfT0dHR0V6RNClMjq1gntidXq8XzSKUyJCFoJkKdpX5FItFPXv2LAI66jkpLfCMAcy6F74/NWC9\nqNWTFHJycXERrCKsEEH5fD7/XvfkarVSr9cL8AmIJiXPWkJIUOcL+HZ5AKz6GVY3NzcRJGKj0oyP\nfs4UqS7SQSwaApzP5+PkVdrCcbAYOknB8MD2uELjiJ2C9NdQDIfDSAmSnvC6DTaODhgi9DSDeiTY\nIq7FRhE1eg0Q90rWQ3kqE2dD5IuDIVIGTHjqBsOPQ0OZAKkYVYBK2sJejH8+nw8wJSk63XCerLcX\nTDIXnBDpEO9S4YwjnhvB9uJ71oo54TAB1kRSnjJJa9y8+B3AAvvV6/WiJuro6CjqFTBe3BMDdXR0\npHq9Hh2I7qAymUykY5AvgDFpZ+qghsPhXm2g14rQnebg8anB52ChptNp3BuQN5lMAqxhPH3NAXqw\nPV7XB7jn3C2OluAe6EAul4saDO6D/OIg2W/0/EPBFGnDo6OjvcDD28O9jZ2aNIw6z+vHUuAIXM5w\n8NgSUtWAbe5LFyjNNNLu4EYYijT7iJ4hEzCo0u54j+12u3e8hYNRirthy9BDzhdCl7CddMrh0HCK\nMNXYaG+KQDd83T6EJSYAQad5LyW2M9mMA7OL/XN/QfCNHNPZSEBH6pf0kJ+vBeCHbcN/UF+F7nNd\nnHuaQZMMvscbHJrNZgSpp6enwbT6PhaLxUhRbrfbYKU4moM0Xy6X02AwCHDGZ7kXzJAfb0Lx993d\nXaRXadT4EHuDrSNgghhhf7gO++cNW+jMw8NDEDCUWPihpOg2pAP6hj/1QJdgUdq9QJuawNvb273a\nybSlEx+9AB2Eulwu986SYuOg/70gmxOoQa/r9TrShRhLDDgRJE6BVBlGh8JPhhtCFJe0BLQ+uek0\nAwMH04RCw7ogIC5UOJrtdvcuwO12G8i5XC5HbRAK58qOYaeezEEajhkHjOBQayAp0oZp5kjhOmDH\nU348n+8PBdQe1TlzdXx8HIrL7/2ZUWAYEBQHgw3bATDz7kHWLK0yMADb1AzBJnqHCFGhF9VTiOzG\n6ec//7m+++67AM/UHVFngeGno4V74mQB04C1er0etH4+vzsvxg9STDMACoBN0jacTu2649f0c75I\nf69Wq71zvJDBTCYTXTiDwSBYX45z8EgRcEXNlXfCAiRx6F5T+NQceQUQOkR9DC3avV4vUiHMB5nj\nCIdmsxkvdHU2BnaRIJAC9uVyqevr63gOgBLAHOcIE0TqjMNM0YGnBnYtk8kEw4cOAIJYN5gab6wB\n5DUaDf3hH/5h1D3d3Nzs1WjCANF8wJEMXifHv/01UjgwyilIi38Iu0h9Lak0OkFhhf0EbP7e5Rpw\nKu2aGvwcLTosufZnn32m29vbPSaSgI7gwZnKWq2mVqsVwRe1k91uN3UAzhELsHasL3YOO4q/Y250\n2fJ8q9VKV1dXUZ6APVkuHw8ThSHHdkyn0zhAWtqdS0jTBD6TgJC0PbVv9/f3qc/SIjAeDodRN8zZ\nZtlsNpgmAA/BNT4Rphq/cHZ2tseKIYOAa0oTxuNxsKyVSkXT6TTAlJ/LBxDzhi/qXdOW+Hz018nw\ncJ4H9+iOVBs0LJENC0xUtFgsgpXC+DjVzCJBLXrxsTNWHk0nn1XadSukpfqSUaV31vF/wIMXyTuY\nIsrn5zgZBxH8DoFy4fPnRhm5r3f7Sftvuk8zALjOHjA/L7iEIUymt3AkrHkul4uCUX4GMMZQo4iw\ncig593EH5E6I2hqMaZp2c67JumD8UXrScDhBBoCO4lHkCoPtLCPy6zLmrBXrzDU8d48TQV5gUFar\nVUTtaQZRuncxEWx4m71/+ZsCiMJd55Bbr8GBnfKUMpE4Muu6zR66PjsQd+D91ED2kntDPZ134vHM\nAJxqtarT09Oow6C+D/nlWZBJatgInGCoHGjQ1YruOHvi751MCzb8TCscALWXXmiMzXRGHIdGPSN1\nRbSiA6Y8EPR0oZ8PKO1YX3/PqOu6NyJg39PKqTOwXBvbAkBPMvPoPIEOZRYcXeGBPQ4eRpzP+NlO\n7BXpXC91cLvDHntJxlODrmqYPGyqs8IOlNkPvgAQznATxBD08WzMATvGmiGfrLnLi5eWEPjBqn5I\nh7S0OzfMyz+Q32SQ7F150u7l8BSaezkLe+ZMG5kE5kg9nLQ7XifJjLm/RCbSBm8fFUxhWOiuQwEQ\nBhTdi7+8Dgfji7LzxXAgRc6UOhZPEXqHl6Q9oWRDeQavxUkzmFdyIEA8I1/8jvWBXYAtSiorg3sk\n18vXUNKe4fef+70d1D01MN7JbiY3Ym6EvTbKgRuCDwsIA+LKJCkOXiWykHYvJXWWir0DhMN08m8A\ne5qBnAFieSb2kMgQeaITR1LMA+aVguxknQ17SOTP33tNke9Hcg0B3jxrsmvuqQHb5WkFDBJRIAEP\nusHasuf82+fsYIr/u155bRzpQpdhvxfX8Tof0lVp95E122w2kbJhL2A2nL3AmFar1UjjsmduaJNB\nCeuQyWTi0FNOn4btwsiTrvROSQCbM9dpBrVg6B31hDhgfs96el0lp4jzOhO6pWB7AHfurGFGBoNB\npEEYpG4cTDEvZJ2gJG20D9BnDtgxOpmTwSB74iwnQJf0pZ/ijd5woCPpHToWYS9cRp3NYK+SzPqH\nlE2QNsS2kOriHsg/euPds26XqHNC5nheD+7wJYCSm5ub79neTCYTr+ICWME+e3PVh6T5CB45o9CD\nZK9fA+CBE5zM2GweO7o9SHZAxUDXms2mRqORBoNByD21b9g6ruNg3GvJqKdKMz760QgYYSJihM5B\nFY7JjSEK2e/3NRgM9g6dxOiTAoROf/PmTYCp2WwWhpS/QxB4DgdYKBCRUdoow5ExjoR6H6JPFwJp\nV2NC1IrB5ZlQaHfKgEp3BMyFNcAAuKA4Jc5cMU5pUgt0i3A+j0dM1MAxP18H5okxwzDSRg+AJB/u\nazkajYKVweBQH7Je707HZ00wNpwqvVwuIy2VZhQKBV1dXcXcUG4iXFI1AHScLGmR8Xisk5MTFYtF\nXV5ehrJ6pI6Mz+fzOCtqOp2GY2MvWTc3ODgBWCQv7nR268cGkR+H4/JZahucmUBeMH4wvW4AoeDR\nG/Ta0wbUCZEW8dopB3UOWt1WsA9p58g1pV2NJZGmF+tjfAEDDmrQycViEUdxoH8eEJFSyuVy0cHp\n56V5sbjLgNsWav7S2pvF4vFw4U8++SR0j731F+HybjJ0RHqU8WazqU8++USdTke3t7fRuUbKheMz\n0BvSfK9evdJisYhaOSJ8gliewZ05XXebzUZXV1d68+ZNqj3EsT88PMQLo/0Ubme9nYHz+tSjoyNJ\n0rt37zSfz6N+yGsraaJgb2q1mt69exe+BADh+4IOw0YRHOKk0zrher0eReg4b2w988N2siYOWjlq\nB5DIUS6Uyziwo1v93bt3evHihV68eBEBitduuV3mfLdcLhf+hgxK2lQm+0cqG5vl+wew4nk5UBVd\n4zBbmpCoEfO6Ofbh/Pxcg8FAn332mb766quwMU6QwEjCEgPa6W4GXKcFxR8VTPkZUGwaThUD5cwN\ng78fj8dxPoW/HJgFyefze6+iqdVqe4Kw2Wz2agdwDNKuFgn0KimowQ9JLfA5d07SfsqEOf7QZx1l\ns/EIGwDQWT1SNF4z5X/naUQK8zya4n5pwAZOmHNDMLYUrDpb4fPE8boDBmC4wMJEsFbQwslUka9f\nsVgMQAxg4TRugBu1Z2kHc2S9nApHeb0+g3lIu1ZcmFG+MADIKo6G9l/Whjmxhp5iA9BhiDhdHxlJ\nCxgxXDAX/IzrJNNvyB8GHj0G7FCHIu3LsDOVzOPk5CR0C8DqbJS0A27M39PaaVJg0k5HHKQB/D2i\nxsiyR9wbkIwxd0DEngO8vJuq3W6HQ+SICebmrCT39lQJz5mGCQfgDwaDcLB+HRh4wJwz99Jj4Xiz\n2dR8Po/XGHW73QADsAesI/rearXieIXhcLh3XV8/Ag3YLK55eXmZmtFA5kmzeSqZNKqnRnHuyCsO\nmddRcfyBp/S8jtdBPOdX0VgDE4YMIrNes+llFmmP8IBRnkwmUQ8Gk4PuSPu1iOgqa09JDK+ToT6N\nRhH2BhazUCio1+vp5cuXknbssss68yC4gUUmwOj3+/r0009TzRE/5TV+2Ff0z+fCHrOX1PN5zS/X\nZThhwHEZg8FAZ2dncYZaMkhCn1kb7B97x+/TjI/OTLGZXpuBoXGjycB5u1LRRZE0gFDTFOV1Oh0V\nCo+vxEAIoG+J/pJKgDIiWJ6qSDO868PrJZLGwyNUdyBOFzvgwyl5eg/nDoDwTi+iGP8M92Uk1zmt\ngaN7DsNK1ARIZR0AsJ6+cYfoHZYoktdo+NwymcdiZv6P43YDw1y9GBGAkgRgPzZYRxiRfD4fBfrU\n6dGSzN4AsDj0jxOHHVRylhYMaalUUqfTCSYAdgpZ4NoAN1f01Wq19/oW16s0gyiPPYdG5zmTeijt\nzvrKZDLhIJ35obAemcUwMx93QtVqNUDgDz2zOw4MsddwPDWg8pEJDyioLXIAyDN6OpLaIFLN/D3A\nGFl18O61WTgRZMSNs6cWeQa+0gzS2Pf391G/gqy4PgPyvOC2XC5HEfFwONR3332nd+/eRfoNppxn\np6h+u31s26clnXnhoOn0Yg6uv9QPwgylGTBRntrivDLkwJlFZ+8BRpPJJM6f41oweZ7GZL9dVji8\nlKM/3I4wB4IYAj4O9EzLTHW7XZ2dnQXjAuvvwQ2y6kwMewjoL5VKGg6H8XzoowfwDmYIbuh2Jehk\nbp49khRBnNujtOUv+AIOtiU7lCwdQNfZP2n/zRXsFzbGdQrdwf4fHR3FvylITwJRyBJsEYTMev3Y\nVU7TU5rx0cEUSs/koRQl7QEQuhP8xbLPnj0LKpTuGhwJXYBemMwhXZlMRt9++20sNsrM7/h7lJHn\ngoVwxX1qOI3oqUtPtbnCY7iJcryQEeYC6pE14jM4M5wWQiLtmCGGMwXu2FAoDM9TA4YEQwFApiPL\nHR5KgtFhLRaLRTCMOG/OTaGTDBoWRYZlpJuG4xiSTJynTknv+rliaQZRYZJ2prYC+eBvkGsAPe97\nzOfzOjo6ir3nMEgKRYm4eO+VgzjmibzwhTPx97xhUKi7SjNo1SdCJ0pEfp1xQ05Jb3Iw4Xg8jtd7\n8DJiZ9fcyUgKWeaLgzj9VR3oijMizoqRgkwzSPEn69CwEZ5GYe4UFQM+MplMvOuNIIVzbJgrwPHt\n27e6vr7WbDaLYwR4DmeikE8cI0GDMzppgjcOLvaOO0AuqW+idPbGwcDbt281nz++oPc3v/lNMDP1\nej0ABddYr9e6vLyM1yp9/vnnUafzvldtJe/FPvDOv7Sv6Oj1enE0AaARcEHWwfWPlCI6SsBOoOfO\nEiYL+1EsFuOddKShYekouHbGxAOBTCYT70PkaI20zNR4PI66qfV696ojAg+eIRmUcS5Zsfj4MnC6\n1Ak8KDKXFPIIoYD+YacKhUKk/JEp/BfZH+wfNqHT6aQuzj46OtLl5WXoLraN7mB0k0ATO4N/Wa1W\n0RXqvg+mv9Fo6OTkRA8PD3FoKe82lBSd+YDjpD5gk5CFo6MjDYfDyIilGf8rh3ZKCrTIZkPBYbCg\n9IgkmCQCBrWNIeMgQZyNp/vYMIAS3RgAJYy/AyA3Uh8yisWi5vN5OCRJe4CN7w6kpJ2RBUhArSbP\nXGIObLy0X5+A40FYpB3i97XHkHsNShowBcAATLix5VoAF67LmgISeH0K5wuRLkNJMQbJ+zpD52uJ\n3Dhbx73YR0+xPDUwHJ7S43m4LpGZywjzJMWDcXDK34sucQyS9s4lwqAxZ0lhyDhhnS8AiKch0gyA\nFKkhZzE8leoBEC3bOCtAKukESfG3AAjWHsBOYMIZPwA5WBZkH530iNPlPc1wNstTzlwDQOuBjUfw\ni8UizmL65S9/qWw2q/F4HKykv0ZE2qU0R6NROCmcurRLo3pgk5RfZ7CeGthJyh2QHdaZqJv5bjab\nPRkjBURKi9dtAF4cpHmqCCdIIEwXabLTETbP07iA67TR/na7jaAKuwbY5m0I1MHCFgKGnLVwptWz\nDoAygBWBYDab3Tvx3oMaD97crjJP2MK0ckodHwQBMkKNEjbRWXgAP/6LAIsCbU+9AzJphOh2u7Ff\nnDkFk8p+cV+K4VkzLwrHjqUZ+DD0AR/hR6rAsMGyQZ5wgPJoNIprAfLwkd7lDJEwnU7jrRXT6VT9\nfj9YuCQJQQlScj74tVRzTPVX/0MDx8DDsTEOYlB2nJbTipybAV0Ho7HdbuOgRf7t7AkvqJUeFYnX\nKoCAiYBRcpwA4MC7IZ4aGC8cIukvj2Il7TkGZ1W87smNBJsOo+aO038H2uY7w5Ufo+3G3J/pxwZ7\nBaByxfAIHDDAvTGEtCazts4QUsSMsmDI3AFJu4JP5uvPAggHSCXBXprB/TGuvoYUsm+3271UkaeH\nHawCkni1B+lqzjthnehqTAIvrwXEwXn3HvvPWqVtVcZAswcUD2P0AEREbJVKJV5w7JS5136RevAU\nJc/oh/XyRYoCPZT0vaiR4SxH2lRmkvl1J8BwIAzAIo1NR9/Lly+jtoQuR4Aa565Jikg2l8vp9vY2\nGAbv3GMOSQbPdRhZe2oAGJA1ABSBgK8lPwc4ICec04c9QdawveVyOU5VPzk5CX0n3QKYg0Ek3eyl\nFLAIyPiHsDYEtsg8uuYMOKw6pQCeXoYBB+DA6GJzCMRp/NhsNmGHCIq8eYi9cRbVQRv2FNYkzQBE\ncG23+V4H5Eyay5Ifhnl+fh739RS7ByWw9jDCzi55sOxzxH56I8iHnIDufo9nZx/RPexAtVrVycmJ\nfvrTn8ZhyZwVhTyu1481fMfHx/F6JvaQxiwaXpBv7s2eUZLg9/Y0IG9FSBuEf1QwhbKhSH5ytUc6\nHA8A+CASBDixySgZeVhpV3+1Wq32rk2NCHn7JO0u7eh4FtujurRRBgdtYjhg10iTSNoDRUmnQW4e\nZedZcHgYZmegiNr9ID1Pufn1vQbFOynSOmLWdzQaxbU4r4h0Si6XC0fJtTEMRGwwNqwPp20T6WI8\nALsOrJfLZdR2YGDYWz85n4YFmKS0BpyTx6WdfDjjBvXsuXuvheGAzcFgoG+//TbYRVKTnIhOmg7Q\nv9lsIhpG/h0UYuQYMBJEU+hJmgHwwYmSZnWgTk0GfwdFvlwu4y325XJZL168iGsCQlmr09PTYJ0c\nvJHOrFQqkSYaDoeRusEesMZQ/R9SU4TTBMx7dM/wdDQpWpgy6jJns5l++9vfBivnZ0IBGIfDod6+\nfatut6t3797p+vo6HA7vfgNMojcYc/ab5+JQ0afG3d2dbm9v1W63I8WEroxGo72glFR1p9OJIyI4\njJGUL5/nrCnqaSgzaLfbESReXV3Fa3G63e4eYwQ4QG5wZNhkL8d4apycnOjy8jI+hy3O5XIRiMAY\nOrNB/RilAZPJRP/+7/+u4XAYx2HQEZ48eLLT6cSaYNeur6/3AmWew4MHZ2oARWkGr7Bh/9Fz2DFk\nw9koSAEOuG2323G4LHvNSd6LxSKCmZOTEz1//jxszmAwiFQqIGKzeXyNGro4nU7jeQCwmUxGp6en\nqebHenhpDqfyI6/Up33yySdqt9s6OTnRp59+GjaRhidehbPZPB6T8Pnnn+vk5EQnJychY2SnJAW4\nWq8fD+zlvk6aSAp5QifH47E2m02kQ9OMj85MeaSCAlLb4hG3OyYMPCe4gqilRwfU6/XCYQKwcOII\naLLjIpmiknbFkj4ALWkL7TAcfA7h9EI+noMvDL6zD/l8Poq8C4XC3vvrvHXe6yxw7AgJc02mR5yN\nwkD4z35sEIHyvA5QUDSMMs/u0RV1LLz7jPXx19KwXoAJvnh+WBNPZdKSPJvN9s7L8Tq01BGG1ZQB\nCrxuB6OSTG2442+1WiGrnubgGZEBungY0+k0gCjP4BEpe+3RKl8+1zSD+XkXljNUAHdAA8EOAQrA\n+PT0NOQun89Hgbwzp6yppAC9RJdJyt/Tg9Ku5o7nTTtHWBN0AJvB9ZwFQvfu7u7C/iBTo9EoQPHR\n0ZE+++yzcD53d3eaTCa6u7vTr371q6h/g/3mOZAb1sMDNWde+X+a9An1crC03tDjXaysHQwOwebJ\nyUk0RGB/SZ/h4L0DG6aKYMJr7LCvpK8pc+DZPED4EJbYnbeXEgCkkBFPmfM86CgpH5wl5w6uVrtX\n4sCckL4GKCE/2CmXTbe7nuLDfqX1GXTKIZ/sEYGLBwLYIV5JxEvHYWFgZAiiqYHDXgKk1+vHs/p6\nvZ6k/W72pO1xO8v6er1hmuFHLUj7Hc/Ikr/HkXlMJhPd3t5qMpnEOwexFfV6PcAVgbiXY6Dz7P16\nvY57sZf4ZZ4LwO86mDYr9dHBFBvl1K3X4PAzab+tGlROhAfypLUag+gpK1+EpONlEV1JkvULSWeT\nZiBgTmV63p5n87khsJKijiGfz0e0BfvgdVNJtiyZuuDa0vc73jyd8L6//7HhYJSUCP/3lBeGOVmv\nAFieTCbBbvn1PN1KNMr/AVFE0dIuSuS+1O9gNF250g6nhB2weG0NETeA0aMdPxwSOSUVJu2Kc+l8\noijUGUn+3o20p0Z93xxEpzVuSYAIaEo6S+ZM+gdH7eleghuuxRzYc5x4oVDYS9F4k4UXvCcdpY8k\ns/Rjw1ldZw4Z6BJy4y+FhZEaj8e6vLwMtrLT6egXv/hFpBpubm6i+Pe///u/Q+e9ho3AxteE2hH+\n70w0v39qeJGwtH8uGTpHMCNpT7cAEg7W2VeXAZw468PrkrwOkecGODEfglpsF+uCTqcZzI3re8E4\nQI5ndBDFnlMTtFw+vnDazyKCUaZw3+t1SFt7gwI+ym2aB8vSLvWaLBH4sUFGwevUWFtshQPy9fqx\nOcfZx9vbW52ensaxCpyh5Ew6f3t9fR2pVthbGlBg0SWFvjpYRDbT+kOGB/KAPOwctge7Cbs+GAw0\nHA51c3MTQTL1c64/AEOei45Rgj7WkN/7K8f8vD9nVtGHbDYbwO+p8dG7+aSdEXMH6kwTaT5ADBEy\nCJNTVIk0QKqkBzzqQTkogHXBTyJuBJUoju9E6mkGwuE5eZwsw5kphIF0l4Mp6nN43QAKB6hw1sAV\nzZ0ua8s9vX6DZ0LQ0io/BoT06nw+D2frKUccsp8zg8GQdvUMPMN8/viuNIR6vV7HW9K3220wk5w1\n47Q4UQbvjaM2azKZxDqkNeDS7hBGnIe0ez0JoIOXkCKbGEHe2ZXL5SI1gjMmOiOS3263UZPy8PCg\ner0eBr7ZbEZkPB6Po27QAQtyyjOmneNisYgCYWdqstlspLHYO/YUGQEwZjKPHUyXl5d7oJI0L2AQ\nZ4yj4Uyt5fLxHBje9+WyAHiEAXMbkTaV6Y4YIOjsHgMnTdrRGci7uztdXl7q66+/lvRow05OTuIF\nuawltqhYfHzdxvPnz/eibwf8yCr6SIrD2cc0oPjm5kbdblfZbDbSOw5quRd6yZrAZEwmk2gEQD/8\n+NVQ2SoAACAASURBVAvkHMc1HA5DTubzx/elAaQBwsnyCewbtmm1WsW7ENMMGDfkDn10EIdDpFQB\nFmS9Xuv29laZzOPBn3/yJ38SbD9nb5HW4dxC9p+9x+ESHAFIVqtVnEHmQZKfB5c2gENfYEFJuWOz\n2UsAEGlnDufEzuXzeX3++efxaqCzszMVCo8H5r5+/ToOoQQ4SbsDXqVH+8YawI7jD91XEvShw2lG\nJpMJP8E9q9VqnJDvAQGZiLdv3+rt27d68+bNXqDz+vVr5XI5HR0dBYikfjqbfWwAeffuXQAqzkXj\nsGACMhg6/IN3i+Jzjo+Po+7zqfFRwZS063Zz9oZ/JwtEccrJ9BvGi0jHUbO0a8Fnk/gblATh9xZ4\nhAYHB/qFEUtL2bohY3iOXdpFjoASon1YHk8DAC4BURgJ5uPzZa7uNHw9pR3b5/f4IRbgfYM94u8x\nwr7GOFanUtkjnx9KjFORdikK9puOFAA20QL7BmDlPi4X/FvSHuP51MBQ+tviWSciKD9409M3PDP1\nRtDVXseBoXVWhBfEwoo42HZ21OvlWGtP96YF/c5uOquIofHUHNf1SI619PQdxwYQ2XGfzWYT7BTG\n2vcwKU/JQMt1B11NO0fWCWbDmSEYDOaBXXBAAai/vr6OlmvSRNlsNo5fYd+r1ara7XYU6ztAlPaB\nv3cSu31Lss4/NAAX4/F4r5jfdRE9INihdR97R8Tvx1NwLQcZ2+3j+VKZTCbqiThNmzkkU+HIrLPZ\nNOV8SDoaW8w+uuy4vPjxLtwTW0S3HHVwzrj5yed+TA8vuHcf4GlST18i88iY27CnhuszhADP4PVT\n/MzrcdFb5OD+/l7n5+dqt9uRQlssFhGswdbQSe2kBdfDd7p/Yh9gyD4kVSvtDgXl+ugM18Je4AM5\nSBbm19eCGuR+v6/Ly8u9wATQdnl5GS+ddlkBqEKyuL93O4Ft+BAG7qODKafzPYUAWEFYodc8+ufv\nySVTpOpdLY7mpZ1B5f9JRsgNAQNgxnP69Z4aALAkJewpTH7P83rnIvfydCFo3oGIMwqeCsIBYSz9\nbzyd54DKgddTw1MT0u5wTmfDkqk7T/f5XrdarWi9rVQqobzJuXm07uvJvXguQGey+8dz4mkGTgQj\n+b50GEYWucFYSDswBXvF37IOXgdGZMve+jkrzuTC0BJZubzhRD6EQfX9wDnQTs26+xe6x6GkBAMO\nphw4ADwxxIDJQqEQgCtpzD1F7Olx3xevA3pqYLSLxWI0nXjgwYAx5BlJ+UiKAu3RaKSrq6twSoD7\nVqsVe9VqtVStVqPQFVbPa0CdpeIeAA722d/N9tQejkYjVavVAHheD4L+IWvegSntXtMB45IMYvkd\nMgIrCjNIgTI6To2RpL3SCAcaNF2kDd48aEgCcNKcDhil/UMeN5tNOFR0C0C43W5Vr9ejgN7rZVar\nlXq9XsxfUgBofIbbeD6DTrEGaUaj0dBoNArbAJhC3t3es7fUF3ph/nK5jFpUmnpYM85KcpmARSX7\nQgDsvgp7wxw9qMEepRnIpbTLzLhO4A8lBUPX7XbjCCRkcbvdxt5VKhX1+/29TBDPBED2oGI8Hu/V\nZqOfSZvggSJMbqo5pvqr/6GBYvBFNOj5ZU9rtVotHR0dhXLgkMiPehs8js9PViaVhdHPZrPf23x+\nz6I66EDYPqTQzqNDj8ZgXHA+rpCuhO12OxTHDbz/3N9Oz71QZgwMERLORNq12vNZHLHXIj01iKa5\np6QoOoX1Ix25Wq0i9eNGkL04PT2NFAQG1+sNnF10JWeOfrYRkQt1HaRMeU4HPk8N0nP5fD7AGQbd\n3wfp0RAFyQ40t9ttHJC3XC7Vbrdjz+mmwakCSjudjqQda4pB5g3yXmtA4Srr3ul0UncQ4RC93duP\nXsCIO+v14sWL2AO6+ZbLZbyiY7PZBG3vxpP7kTbiBcK5XC7Oh4MhwBGwh96+jaNJm1rA+Obzj8Wt\n2Al03lmxYrGo4+NjffbZZ3HuDs71/v5eL1++1O3tra6urnR3dxf1RvV6PQph2+12nHnDIYmZTEa9\nXi9e04IdIGjEscBqAUzTpDI3m010g9INy/WYdyaTifW8u7uLQyml3cGt2ElkbLPZ7LW9e30K/2Zf\nsFH1el0nJyd7760kZVYsFnV7e6vBYKC3b99G6j3NYJ8IuJA/Z/IJZNB3gAK66u/rbDabqlar+vTT\nT6NGjDqjpO24u7sL39HtdlUoFAIso+/IOmwKe+AHZj41Go3GXi0YaU3mDzjjsN9SqaRXr15pNBpF\nAT1pLlJpvEMVefNnZb0ymUy86Jp50b03nU7j85TS4K/pgDw5OUl9yjtpOfSGvfLz8ngmguJsNhsy\nhS2AKED2kGHWkYDy+fPnIasAz/l8ruvr6+gKJAUMe0fAgD6RQUub0fioYOp9VDagAaPtgsPhmvx9\nMp0CM+HpCacQ3eFLu8JfnAUCizHxNBXCg9P8EEfsgNEjl2Sqj2elcBPww70dNLFORCmervB0nac1\npV3aJPn8gL4PSQ1Jj8cG+FlLAEbAmBeE+zz5mYNVfyWLA0CULQmIid58vg68nJXzpgYvMk0zMMS0\nUPM6ImcKATOwSNzPoyJezFyr1aK7EPqc6BNj5SluZMTTbE61eyoOI0n9QVo5lXay4cyIy6r/m2Jq\niuYLhUIYW3Tq4eEhaqkcdAOiYICc+cHJebqGvUym+VzP0wz2n3t6oTIOwtOLOFfqOWDAcJYUJsPk\nSIrXC1WrVbVaLRWLxTiMlGeYzWbBpGNnPGpmn5N6/dQYDAaaTqfxImBfGweSzkQjo9g19gI2yoMU\nSbHvgBpqFrHdXIO19Jd/+z5Ro0XK5kPYRcAmDtYDVWlX88kaoytu27DrgA2eIcmQeXqw0WgEU4WD\nB7wh5w562DdAQVr2jfUHwCf9madpvUSCOjtnYzzbAlCBlaVEgWemDKHT6ajdbqtWq0WNKvVVyAPz\nxd7V6/UPsjcA9IeHh7AdzpLhj7PZbIAmAhO6vDmigfWFNcIvwjxKuwwKftTlmvpWahopUoeoAdzx\n3Njqp8b/yutkpP1WfJQPxWexAFle+0A7PmehSArlwrlKO4ofOtENhDukJOWdBFPSrhspzfAUFXNB\naPz+/N5TeJ4GIyXiNQd8zlN9nsrzCITr4Zx+6FkBsG7If2z4WjhggllJptMAbNLuoEIvmvYaCxSe\nzwCuMKCeNnJDytpiSJz6p8OTNFia4XVafjiqM4aS9iI9zvbhfKnt9rFgHqYUB+S1CBh0aHoACfPi\nfuyl101IO2dBtPghtX1+5hlzw4l4ioiBDPlxEDyL76W36xPoMACfyMtms4maHVJGvoeeBsfJpE0r\nMCfS6uwjeu91EdiVfr+vq6srTadTdTqdSHWRgsa+YGxXq1WkcQElyO5oNIoUTK/X03q9jn32IM1T\nxjiItCzqeDxWt9tVu90ORwoTjB0g3cwbBz755JP4PGwE8sOz41BdTnAqsLOkFJFp7gVo9ZQcjDER\nPxmFNIP9k3blDDxPMoiUHnUSHUI/nJFHrmFU8B1+NAFsPwdGSorfO3jyAJL/O9ORln3zrAD/xhe4\n3HFtgifsT6fT0XK5jNekIUN0v2FjWBOuWalUIgBw34Iew+Q62YA8tVqtOIMszaDhBf/t9V4Aa/aC\ndy+it7VaTZ1OJ+QJu46/o9HFm2aQf74Abe/evQuW2wN16dE+UeiOPSazlGZ8VDBF7tpTGE63S7uC\nNL7TeQC6JKUDCl0sFmEoifxweA6WMNYoIRE2pxbzOQAGBcSSvveW+R8boH3YEehwrweBocEI8/co\nKgaAw+QAG0TzzMENhDM90u74B8AUhod/Y2D8QMY0aT7vIPT2aAdRrJ+DLtgKr0Ejj0+kQ5cmYMbr\nTYhUqC/CobljpNOFF5vSsYPhTx7O90ODF2Szdt4JBtgFgOKIhsPhHpjPZh9PUK7VatGhiONh70gh\nIoOeJoOVxPgBULzuQJKOj4/DifO6l7RjOBzuGR5nTFhzipOXy6W63W4YPFKKDl6J+JFf5AI5cMCB\n0/CgxjsdcYpJlurh4SH1HOlkwllwnlKSzaWrcDQa6V//9V9jHdrtdqQSODAYIIBs9Hq9AEaAQ9YW\np4GOSdLp6Wm0fzubWCgUQtbduf3Y6Ha7+vd///eQx/Pz871XZbHmpB8zmYxevnwZDlHa1dwB7P0d\nbw8PD5EeTdZ3rdfrcOieRuOapEwIgOjK8tP904zb29sISAByABuKoQF1pNthUcrlsj799NM4763R\naMT+XF5eqlarabl8fB0QHbikBZE76ZE9pdDZmXbkH2aDgAa7kJZBZT3ZR+6LP/LmAEnRrEJgen5+\nHowgXbOFQiHez0igx3PDkgPMpMd3IL5+/Tpk+urqKvwoTGupVNLz58/17NkzPX/+XCcnJ+EjnxrF\nYjG6DO/u7kK//SgJar6kxxexc6hspVLR2dlZyBfrBbBC/zjYE0DlTUSsAcfxDAaDsAXYP1J8MGCk\nSNOOjwqmoDF5aa2nTHxg7HBg/N87mur1ekQ3LDKRrbTrhEApqA1i89hAj8g9zYjR8LNW0gwUqlqt\nRmtmMtXFM3K/JLWfZMbYbJ7Vr+UsFJ/nerA2CJ6nEzzd5s7vqVGtVuOdbDAMGDI/fsIZMYCbz4d5\nOmuVpMw9beEO0OurWE8iHm9ThyWhxiGtAW80Gloul3FqPhEVBtQZNQeXnqrxdC0Fk95I4WlD5uzs\nKKlfT2+xTsimR2F+NlCaASBgz5KpQy/cZG050HKxWOjm5ibWgr8FLLNnnqJ3BtKZGOSamg+fpwM1\nDzbS6qKnLf3+fpAlawHj9N1338V9CQo4FNBTQAR7MJ/b7XavuNV1vNPpBPhwxtn11YHl+2o7f2gP\nR6ORer2ezs7ONJ1O9wqJuR7gqVQq6fPPP1e9Xt9jJkkhzWaz6GDj+l6ng0MFILN/o9FIk8kkdE7a\npZABA7zuCx1Oy0zd398H4CTog6WG6ZO0J1cASvQRUOA1YthOUtfOhLK36B51NzA1zkB6SQV2zsmA\nNGM6ncae4+eYE3spKc6V4u0OHNIJY8Q7/pBnaff+RlLNPBPzu7q6iv0jyGcvSWuz7hxGTOqtWq2m\nPh2cz33yySfabndv0CiVShoMBiEv1IBy6vloNIqaNZ7fbfB4PI7gG8zAWqBfMFGkgf0F8R6YAZ74\njh6nrtFM9Vf/QwOB5mWhLnCwVAAcwJC3M/uZNw4UpP3zqfh7WkUxGN5SijB5/ZXXRzlzk5aulRQR\nDrUwXB8j62lLhqc33WFguPkbTy9h2D314xQvxtSNqoMpd8hOy6eZH8ALAPU+8OZGDvbGwSC/8+fw\n1K/vCwYr6cz8AEJoaQpIcfrJ1ua0e8hakB7B4XlKGmfCniAvvBKGtQbgeFqQ936hrB6hERQ4S8S+\nEo3j8Lg2BiRtATqR6Ww2+15tIuvu8gOo4nR5B4e1Wi0iasAdMse6ecqQtYGZhfmFuWYdkmlbbEPq\ngtD8rukkqV/S98Eejou042w2izVttVrxWYw5rKU/H/KN3MO2AnKQG9bXA0J+lqz1/KGRy+XC4VCM\nzPlmAAEHubVaLV6jwnPgxAABsLKkPl0marVanJgOAAc4eHoKYEpgtVgs9l40L6U/D81BGWvvgZX7\njO32sYj+/Pw8WG2vE8pms3E0gmctqL3x2ixkg7QPco0D9pQx4A4bQEYibfBG4DSbzaK5RdoF29Ty\neCPB69ev4xTw29tblUol1ev1vW7RarUa9oQzAbGLyN3NzY36/b7W63XIBQEb34vFYqS9OTXfi73T\nDLpdK5WKxuNxkCFOLki7oxGoExuPx7q5uYnsDfaQU90lRdYKUMm80V3m+/DwoH6/H5kAB7DgA2n3\n7lc/1DbN+KhgqlKp6PT0NBAkpz57miuTyQQyRkERJibOF0AL40YhL87cuxEoxIPmJSrBsLuhKxQK\ncaw93XxpAVW73d5zps62MCeQMkYLI+xAks9wb9bCi1a9jkHS3ueknTPxrhtALF88A8/31ABM4Ygx\nnuwdcyddBfXuxhAAgTECcLhxwvjBBjHvpPFyIzMajTSdTuP/GD4MTdooilQtoI3uI/bMCy/ZZ06p\n324fX6+CIg4Gg/gb1p6aP5TWHbm0q5tw5hBDCFjj4EsiU69lSTMAntQyYHgAUC5r7A8HQ3qqgEjR\n61KIjJFlZIv5ASyg61k3r6WAanegTAT/IfWLmUwmZMHrUBz0sDeS9MUXXwTVT+o2m318p53fm7mQ\nbkYXPI1F19CzZ8/2HBCfd1Z1vV7HuVSwCE+Ndrutb775Rq9fv1az2dQf/dEfRVkEqa/VaqWjo6MI\n8jKZTLxTL5/P76XISaHS0ZVk9KgBIy3G2mC7q9VqrDVrj83FZni2IM1YLpfq9XrhN2CgAIA8tx+6\nyd5SE8azeecwoBz7AmsFM+X1U9vt4xEK6Cj6iu+BneRnzD8tM4XP4xVLvMMOlg29f/36ddi5y8vL\n8HcA3Gw2Gw0RSbDqQAFdmM1mcbgljROw+K9evQo26uLiQkdHR3r27JlevXqldrsd3eUfEqBiY168\neKGrqyuNx+MAwJ5axX5/+eWX6vf7cS4WdV7YZ2QahqzVaoU9cpyADSiXy9GliF8i0AI/EIiPx2NN\nJhNVq9X/O5kpolDSYHSGSNorLpZ252GwYSg8UZIXjiHUyW4uHBbfXZC4hqdWuA71NURiOKo0g0JM\n0kPj8ThqezA8/oxu0Dxv7kyMtKs7Yl1Ay366MfeQdo6E70SnAASnwaVdV1XaAe3vjo21TdLJgAZn\noogYiKRQdmcaMYoYMC8IJNqAHYDGRRkAAz7ntE4Y0INDIfLB+RIduVNYr9fxXBh69pu/QdZcBlzp\nPUVEdOqMIfP1oywAVZ4WTjNYv1KppPF4rOPjY0n73ZfcF9aYc7Nc3nK5XBhwWDKAPtG7txizB16v\n56DHAbUf1QAzRvt5muE1D7PZLACc7x9r7Ows4NubZUiN+d85qLy/v9dkMtk7MgNj7y9HdnYWXfF1\nh+1No4sENsxzsVjE8QHJkgXYI15sS+QPW09tHEDCi62lnWNvNBpRhwUw8SDV54KMsweUd6QFUtIu\nHUXayUtDsCfSflOGA0MCO9YLHfZgIfmd/YRhwp45SwHIBHwlT0FH3tMM0vowVPgCByvIJXaXn3lt\nj/8cGw+A5ToO/r02S9rZBAcYuVxOtVotDjzl2A/kLG3Kndq7TObxBcnOihYKhQB/1A4C3ql7hU0q\nlXbv6K1UKjo5OVG9Xg+Glr9BV3k+GPj1+vGwWbJHTlSwPhA3kvY6rZ8aHx1MQaX6QXkYHxyuU/kY\nVl4Gy+S9fRG6zgWLz2AsUAQAiTtphAZDSY0BxeEeuT41vDDZAQT3lXY0ohstrwHy1luU3A2/tOui\nkvZrSDAyfIaIydkoPudpv7SnEgMAWSMMMsbD2/896gUoJkEcxtaNGXPyL4AXkfz9/X0YOq8T4L6e\nfnDwmGaQ5uOsIG9ZZg5e24Ojx3m4XHmdH/uHsePzrsye5nQH60cQYMhoyccgfYhx4/U0MD7z+TyK\nSamRAfzwjF4szfOiN96d5ul7d8joF3U8OAbm7KAx2bRBxOqO4anhTRgO7jwF6XsBYPCz6jCqACG+\nw2rgUD1AcxtC5xNrx9ogNwByZ87SGnD0EPnwFA/vo+N5Aee3t7dR5NtutwPQ0X3o+4ZDdzaHLADt\n5dhel39Pk3E92KRsNvtBh3ZSA+PF5ugfz+SBDrJC4DEcDsMmufwRSHj9FWdNebDGOjiISn4hj6QW\nvd4xzQDEeuoY2eK66AxpLJpN/O84/wmWDmaetSFgmU6ncYAl94MhB7B6CQiMKkQIesvn0wQ3gH6y\nFHTYSbvOe+Q1n8+HLcL+4mfW63WwwNg9/A6Am9Ru8qgJ7Ifrg8spNoYGjA8pPpf+FwrQob+Hw2G8\n34pJkrqjnROjRPQHYiYHjtPkO47b0wYYOhQZocTxeE0NnQNE4BwYenFxkTrqh9VC0RBmNouIiEgu\naTQ9ooERSyq0M3ju2P1nACoUwruouI/T0p6G+bHx8PAQqUy6oHAMCLWkOC3Zu1pQZoygM2cwB06X\ns244HAr6MXq0xwKu/JwVUmBEMNRYpRnQ5Sg2BeTOauJUpN3rjbbb7d673SSFEXIwDTgENLDnm80m\n5J4IDVnGsLOmOLpOp7PH1qZJ1UrS27dvValUNBgMwrGQMqC+hucgndJut8PgYPzYD69t8QCAfQTU\noh/YAvTQ0z/Q/BS+U+swHo+12Tye+p1msCfMj8iYtfZ6QZwf6R6cLB2iDuQBri73pAJxFJyATvs5\neuy2inSDpL3SAC/k/rFRLpfV6XS0Wj0eoor8EAi6DZIebQ1dhpVKJewp3WHO8HogIynYOndsnvLF\nfrC2fA6m9uzsTHd3d3t1pGnGfD5Xu91WNpuNo0rm87mGw+Eeo+S2xwGyO99kOo7PIbM8Pz6FIAk/\ngSx7F7XXTlHj44dMphk0DpBeIiWVzWZ1dXWlTqcTDRqr1SrStexTq9UKO8eLnb1UAVnDRg4GA93f\n30c3L2BaUtQHUjBOSo8uOTIc+NPBYJCqSzqbfaxXY46dTketVkvj8XgvqCkWi3G4McXlBJAED8zN\nDwKGBUb2wRLIKZ28dGzie9hjMlnYHmmXrUlbh/rRD+1EANkgaRede2Eg//cOPIwt0R0OBgVAYfhb\nHDGGz5VM0l7URi0MYKpQ2LWnU5yYdo50DsIe8BwOKnh+jK9Hyx41e2rEmSoHSz6ciuZvWNfk3yQp\nzjSRlNdskarxZ2S9EVLqJZyJcpbNGTPPcTM8HYLBxOgTjfj++3MSRRE5pqXdnbInaiqXy5Euxpji\nTDBqAAaA62azCeXFcfOc6/V6j131Dhxp1zpO5OiMHVE2USHylCzm/LHhXWjNZlPj8ViDwWCvXsTl\nzGtJYP0A9a5zfLk+ExS57PheO2PraVPvrvH9TVvDwHohA6ThuJaDKKJ3avdgRNzZeloZuUSWne0l\nzYA98aJ85ApwwDr78yRTbD80KG2g5iXJVvv6errdZRQ5pW7I7419Qk+9VpAic+QWHSUo5hroodsh\nl7GnhvsG/g/7RX2elzcgG+iH1325bXSgiMMlRec2x2UF/4E+uO1Eblzu0g6emYDP0+TYjGw2G6ky\n9In7Mzdkz2tMmT+lIczN9QkGC6aHw4a9WxD7hQ8mwErL3szn8whKsT3YLmlXxkK5D+xms9mM+2GH\nT09P9+wqLDeBq7NesKjSLmvDOjAXviPvLnsfwoR/9G4+HphIB3raz6zhJF6EiQ1L1hk4OPHvUM8o\nkxsZFArAk8lk9ih4KFIMDkV4aQfKBnpH6DAmGBSAAf93loYvruU1P1zD6waknYH2z78PnLAGOGtP\nf6UxANwTo0zuGSVn+MF5CL0LM9dij5mf7yEKgdIDpLxGBFbE2Rnm423oHxINe8RLJJqs5+PLATtM\nImAnk8kEw4XMu7PCcSILybk4y4bTd3lwVhWjkVZWqbXbbB7f20XRNQWv6KQzi56iSYJY5uF1Pzyf\npzQdfCTl0v+GuXOfZMouzWDPKKzn/55Sx6jjFGGqCoVCFFPzWewKw5k3HIGXCHiHpdfNOfjl/zhQ\nB6ZpBnMgxYRtc+fJHgHecWKufwSM2FdPjbrNYd28KxrAC7BCNrEJ1Eq5br5v7983CEhYXxh9ng+Q\n72DVv7tuuv1MAiiXY2nXBMLeAmgI5B3AuU1Pgtk0g7IVbDjgWHo8pmU6ncYrX7bbbRyASno+m80G\nA0dWx7vYJMX6TyaTYKlIJ7NnkvbYHQr43fawRplMJjWDKu0HssgAGID377FPMMA8E4AcmwHwwbew\nH+whtgJ7BOjHbrCX6Av2ytfB9zctYPxfORqBFlBy+0yGA9Oo/M/n83sttr5QABFSJpL2nC8b4GAK\nZfAzeer1+l5umDopkO/5+Xk8e5pBHQtR7snJie7u7sJoMTBunkfGoPFFigVA4GBL2jdICDpCyXxx\n6s4AYFT8M1K6g/ScYuZF1Dhk5rVer+OEen6OkyF9BBBjjsn6GaIFOjIpLif9w2nj7Dv77KwmXZmk\nCdKmaj0Xzz6Ox+M9qh9nSEcKa+r1ad6J6bVTrJ+0OxiRz2Dkiab4v5+xA9jnHZbZ7O6U7rSU9Gaz\niZPa8/l8pApc9xqNRsyhUqnsvX4Bx+YHM3rdjqS9OVNvgQy4PAMCWUvSuKRt2XeKvHm9xFMjCXYA\nUaQpPc3nUS5RvzdJ3N3d7YEHBzHoF7VRyB1HuWCnYFNJOwEMlstl1GSOx+O9mrMfG6PRKFK95XI5\nTkO/uLiQtGOBKeIlpYsdJdiDEcF5eFDDczBvvnh3GQd9oi8cdOoAs9VqqdvtRlAJ45BmHB8fq9Fo\nxCnvb9++jb0l7YcOSTsfwDzZGxgcafemCN9P7JaDLWykd+5RK+Rrg8weHx8Ho7pcLlPrIud7SY9B\nzvX1tRaLRXRh8lywnLyS5e7uLlJ22Mqbm5u9khBpd2wQcgsAStbCsdalUknHx8dR9uL1gjc3N5Ie\n6+2olU0zAIEcrIm8eWp2vX58d2K32w274oE0tnA4HEagxr5jA/19kATDziLDjgEG6ZwkOMCXYEsp\nLUgzPjqYwglUKhXd3d3FWSx+PooXDgOcABjSDiwhZAyEg0VkAZ1pgDUApPhZGV5X5N1U0vdrm35o\ncE4JURhAAQftRsYRtLRLcwByPEJNsk7Mj3n9UKTnKThnhpLAJS1YxGiiXDB8FImyP9IudYVAQsu/\nbz6eSnLmx+l2IhKPgrmf18HwnA5ikrLyYwMQD4hBVpJsCtERhgDGjvmxph4p8/dETdLuLB1Pcfme\nsXbMCwAAIMChe3dsmkGdmtedDYfDvdoYwK/XihCkOPCg1smjPQIET+UiK+wTxe6ediTK9roV9jlt\npxtrhwN3pscBFfVUrC12BxCAswUwehAk7dI7ODv0nYgehhVgg87zfwc3rIcHPj82cNisrT8f4YCM\nNgAAB2FJREFUh3iyftR80aEK20ozgzPZ71tH1g977DWKBMc4XmyB654HvWlZKenxJGx0EP33kgLW\nkoGcSruiYoanQ5M1f15K4WlFaRd8Jm2kp8r8qIikHXxqDAaDAG+5XE7D4TDstpMHBOmc+8T9YV8A\n6Oy1szGsHbYFe+F+EBJB0p7NQy4Wi4V6vZ6azeYea55mAIb8tVH+Shcva+B58BuZTCbmtFgs9pg7\ngKTjCthmro3f9QYo2GoIHPwatX8ur2lr3z4qmMLBJBWYAjJABMaWBcB448TZRK/T8Hv4tUGoADAU\n3LttpF3RoqejMMLUEqQZOAxp1+kEmEp2EGBoUByn/vmdF2CTrkqmLXHSDAdhnvN3YMY6Oo2fRjG4\nvwMVDJR3XHo+GnCZzWajlZ9oiWtiTHhm79Dg385+OKDm3648vteeAkgzAHBei4By0hkKMAT8wRi5\nnHi9g6eR3Aj6d08BOs3sdTvsNbLg6V+YlDQDAEUUjsOlzR1ZpfCUZ4A9xRBxxInXNzm7CjjhmT3t\nx3N40ENA4QdGJmv6PqRmCqONnXDH7l2ofqwDjgRWgHVgbWmI8RQT82KO3jlGOsXThfwMQO5lCWmH\nAxZn2Th3KZvNBivlaVP2HQDIPdFr5gNI9IAh2fSDrsJoJmvjsCveYPQhKXfm4brMs7N20vuBFXNC\nZ0insd78LfLuaTwP3J3Z5378m79F95wBTwsasWus1WQyCXnF3mF3pJ2M+hx8TtgSb3JBzxnoN0wx\nBdwAD8DG/9feubQ0skVhdCtRGpU8UIj//38JToORSFIDSaP0QNbJV3UHt5oDlztYC5pu7TZddR77\nfPtRu7BHXBfrh2ue+xJghBFRzHzwI9Ow5/O5CaPT6dQe+Mgnt9m/RJvzrKaXI+OFjaqqdhbzNesI\n54ISBu6Nsf5fpvkeHx/b5v38/KzNZtNCtU9PT3U+n1uEChVLFIeBTm8/D3YWdUZ/SCVC9pDK8OXX\n19fIKFFTQLpj7vuHqqo1AmMSaPGf6hhPnknKR6FZBCziPAD4Oo1uekEcenhdGEPGIT1vjF1+b643\nnNdRdSnY3mw27aDJiNswDK0WoOryyh3y4nydkR9+nhTP798/zfvYVGyg/Bm8C8Yrn6Bi/OfAZ+C9\nf3//vJLmeDzW4XBo32e8EYfH47FFYrJmgv+f66m6iAiur+pSe8Havb+/r2EYRo0IGe+MnPIzeMdz\neH9/bx4ZUQZeE/T29jYqVuaN8qTcb25uarvdtnWI8Se9wLrjehHJ6WVyGO/3+yae6JLNW+4RQswB\nT4jO9YZp4sq+JmpHyhhBn5EO3jmIg4dAQEBUXdJnUwcr66GIFJBeoUaF+6ZxK1426/Nv0kOUSUwf\nUqED9Gq1qru7u9rv9yOxjoPCeGNHsUcZxc1odtZ4ZvnBdrttrxjJp0BJh2EL097M7RW2Wq1adLvq\nkg5ij/K5iJGskULU4ACkU8LnEGHNyAWH/DRKxdpGtCAKMqXL2GZk49/4+Pio5XLZ5nAYhmZDXl5e\n6vn5ue0bBMFyuRy1QaC2l9KDrDfCJmU922KxqIeHh9psNu3JU+aElBzzmGn2qqrX19dmG+aKqd1u\n19bRr1+/WvkG88T5TRd2bAKRIxxVHNO0/+lkZR861lm2k1iv16PMDP82hdQwDK2cgPU3h/9UTLGZ\nOGg4YLgRapnososBZCFNN2E2rOR3JoI/M2h4D4vF5SWIqGIGF0+Kz0NUodLngGeShYwZHiaSkGo6\nI2d4FhjsaQQOo4jhSI8pvTSuJQ81/j5z5Xktc+Ga8h6Z20zP5cHHQqXLb3pxeVBxnRhLIib5yDb3\nm4YeMUY4mDnlkMDwzSHnhLWT4fGsv8ixzflKr53vZ6qQ+UV4MP8pxBaLSzNADjI+P/cR18gczCHT\nSRyw1DPmoX86ndo6xVgh9jDUXEuu0Tzcc11S80DEBtGMeEvDRbSLsay6dNCfA6IJh2iaMs7aCfY+\na5H7IzKeKchMnTAHeMXp+OQ+mT5okPec+5S9Pqe+L+edsamq0aPf19c/LRu45rRzh8Oh3VN2iWfv\nTm1CptE5lDjESfNRk8LYMl/UKH1/X5pPzoGIAXVC/EqbQWQx0zeMZUaJplHRXJtT8cQcIMLy4M6I\n2PQVZ0Rpb29vZwsN6oTTOeNsQ8RkI8mMoq3X65bK5ryk7QV1q1WXhqXMP8Xl+b7ITGVTw4yQurr6\nqW2kEfVutxu9YmnOPeKgXl9ft/tjvyDWOad5wpg5Yh+yf7iPqhplfZiTbA5Ow1FqTNEaVTWqy8J5\nZ19yPXNt6tXfpD9EREREZMz8cISIiIiI/APFlIiIiEgHiikRERGRDhRTIiIiIh0opkREREQ6UEyJ\niIiIdKCYEhEREelAMSUiIiLSgWJKREREpAPFlIiIiEgHiikRERGRDhRTIiIiIh0opkREREQ6UEyJ\niIiIdKCYEhEREelAMSUiIiLSgWJKREREpAPFlIiIiEgHiikRERGRDhRTIiIiIh0opkREREQ6UEyJ\niIiIdKCYEhEREengD7agyyGwrnQFAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Now, the creepy guys are in the components_ attribute.\n", "# Here are the first ten ones:\n", "\n", "fig = plt.figure(figsize=(10, 10))\n", "for i in range(10):\n", " ax = plt.subplot2grid((1, 10), (0, i))\n", " \n", " ax.imshow(pca.components_[i].reshape(64, 64), cmap=plt.cm.gray)\n", " ax.axis('off')" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(1, 400)\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/home/nico/.virtualenvs/bordel/lib/python3.6/site-packages/skimage/util/dtype.py:122: UserWarning: Possible precision loss when converting from float64 to uint8\n", " .format(dtypeobj_in, dtypeobj_out))\n" ] } ], "source": [ "# Reconstruction process\n", "\n", "from skimage.io import imsave\n", "\n", "face = faces.data[0] # we will reconstruct the first face\n", "\n", "# During the reconstruction process we are actually computing, at the kth frame,\n", "# a rank k approximation of the face. To get a rank k approximation of a face,\n", "# we need to first transform it into the 'latent space', and then\n", "# transform it back to the original space\n", "\n", "# Step 1: transform the face into the latent space.\n", "# It's now a vector with 400 components. The kth component gives the importance\n", "# of the kth creepy guy\n", "trans = pca.transform(face.reshape(1, -1)) # Reshape for scikit learn\n", "\n", "# Step 2: reconstruction. To build the kth frame, we use all the creepy guys\n", "# up until the kth one.\n", "# Warning: this will save 400 png images.\n", "for k in range(400):\n", " rank_k_approx = trans[:, :k].dot(pca.components_[:k]) + pca.mean_\n", " imsave('{:>03}'.format(str(k)) + '.jpg', rank_k_approx.reshape(64, 64))" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.1" } }, "nbformat": 4, "nbformat_minor": 2 }