You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@singa.apache.org by wa...@apache.org on 2016/12/02 05:13:09 UTC

[06/17] incubator-singa git commit: SINGA-268 Add IPython notebooks to the documentation

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/0a8dbcde/doc/notebook/regression.ipynb
----------------------------------------------------------------------
diff --git a/doc/notebook/regression.ipynb b/doc/notebook/regression.ipynb
index fda0666..294b692 100755
--- a/doc/notebook/regression.ipynb
+++ b/doc/notebook/regression.ipynb
@@ -1,22 +1,37 @@
 {
  "cells": [
   {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Train a linear regression model\n",
+    "\n",
+    "In this notebook, we are going to use the tensor module from PySINGA to train a linear regression model. The training would be conducted using numpy. We use this example to illustrate the usage of tensor of PySINGA. Please install [PySINGA](http://singa.apache.org/en/docs/installation.html#install-pysinga) before executing the following code. "
+   ]
+  },
+  {
    "cell_type": "code",
-   "execution_count": 1,
+   "execution_count": 27,
    "metadata": {
-    "collapsed": false
+    "collapsed": true
    },
    "outputs": [],
    "source": [
     "%matplotlib inline\n",
     "import numpy as np\n",
-    "\n",
-    "import matplotlib.pyplot as plt\n"
+    "import matplotlib.pyplot as plt"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "To import the tensor module of PySINGA, run "
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 2,
+   "execution_count": 28,
    "metadata": {
     "collapsed": false
    },
@@ -26,8 +41,18 @@
    ]
   },
   {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## The ground-truth\n",
+    "\n",
+    "Our problem is to find a line that fits a set of 2-d data points.\n",
+    "We first plot the ground truth line, "
+   ]
+  },
+  {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 29,
    "metadata": {
     "collapsed": false
    },
@@ -35,18 +60,18 @@
     {
      "data": {
       "text/plain": [
-       "<matplotlib.legend.Legend at 0x7fb004d7ca10>"
+       "<matplotlib.legend.Legend at 0x7ff77e6437d0>"
       ]
      },
-     "execution_count": 3,
+     "execution_count": 29,
      "metadata": {},
      "output_type": "execute_result"
     },
     {
      "data": {
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiAAAAF5CAYAAACm4JG+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzt3XuUXGWZ7/HvE+RiIEQwXDxiEFAhHAjYLUrWIE4MKjgD\nWYCiPWElEIEjITKGpRBRBxQ8EMYRYyQcFXW4NnJ0DN4ZMBIHDbCmAwkeAgNpAoKIhMGAhnBJv+eP\nqg6VSvWtumrvunw/a9UKtWtX1dObXt2/fuq9REoJSZKkLI3JuwBJktR+DCCSJClzBhBJkpQ5A4gk\nScqcAUSSJGXOACJJkjJnAJEkSZkzgEiSpMwZQCRJUuYMIJIkKXO5B5CIuCAi+spu9w/xnA9HxOqI\neCEiVkbEMVnVK0mSRi/3AFL0O2APYM/i7YiBToyIKcANwLeAQ4ElwJKIODCDOiVJUg1E3pvRRcQF\nwPSUUscwz78RGJtSOq7k2HLgnpTSnDqVKUmSaqhROiBvjYgnImJNRFwXEW8a5NwpwG1lx24pHpck\nSU2gEQLIncApwAeAjwP7AL+OiB0HOH9P4KmyY08Vj0uSpCbwmrwLSCndUnL3dxFxN/AocBLw3WG+\nTAADfpYUEa+nEHDWAhurq1SSpLa0A/Bm4JaU0jO1etHcA0i5lNL6iPgv4C0DnPJHCgNWS+3O1l2R\nUh8Arq9BeZIktasZFCaB1ETDBZCI2AnYD7hmgFOWA9OAr5Uce1/x+EDWAlx33XVMmjSpBlVqOObN\nm8fll1+edxltxWuePa959rzm9fX44/CFL8CKFfChD8EHPrCa008/GYq/S2sl9wASEf8M/JjCxy5v\nBL4AvAJ0Fx+/Bng8pXR+8SkLgWURcQ7wU6AL6AROH+RtNgJMmjSJjo5hTbZRDYwfP97rnTGvefa8\n5tnzmtdHXx8sXgznnQe77Qa//CW8972FIFJU0yEMj
 TAIdS8KLZ0HgBuBp4HDSz5n2ouSAaYppeUU\nQscZwL3ACRSm8Q66eJkkSaqst7cQNj7xCTjlFLjvvsL9esq9A5JS6hri8a0uQUrpB8AP6laUJElt\noLTrsfvur3Y9stAIHRBJkpSxPLoepQwgqpuurkGbW6oDr3n2vObZ85qPTl8ffP3rcPDB8Oijha7H\nFVfATjtlW0fuS7FnISI6gJ6enp5BBy499thjrFu3LrvCVFMTJkxg4sSJeZchSQ2rtxdmz4Zly2DO\nHFiwYOjgsWLFCjo7OwE6U0orBj97+HIfA9IoHnvsMSZNmsSGDRvyLkVVGjt2LKtXrzaESFKZPMd6\nDMQAUrRu3To2bNjgWiFNavXq1Zx88smsW7fOACJJJUq7HmeeCZddlv3HLZUYQMq4VogkqRU0Ytej\nlINQJUlqMXnPcBkOA4gkSS2iUWa4DIcBRJKkFtAMXY9SBhBJkppYM3U9ShlAVBPXXnstkyZNYrvt\ntmPXXXfdfDylxMEHH8yll1464tecP38+U6ZMqWWZktRSmq3rUcoAolF78MEHOfXUU3nrW9/KVVdd\nxTe/+c3Nj91www08/vjjnHXWWSN+3Xnz5nHvvffyk5/8pJblSlLTa9auRymn4WrUbr/9dlJKLFy4\nkH322WeLx7785S/T1dXFuHHjRvy6e+yxB9OnT+fLX/4yf//3f1+rciWpqVWzmmkjsgOiUXvqqacA\n2Hnnnbc4fs8997By5UpOOumkql/7pJNO4o477uCRRx4ZVY2S1OxaoetRygDSBn71q18xZswYbr75\n5q0eu+GGGxgzZgx33XVXVa+9zz77cOGFFwKw2267MWbMGL74xS8CsGTJErbffnve/e53bz5/48aN\nTJo0iUmTJvHiiy9uPv7ss8/yhje8gSOOOGKL1z/qqKNIKfGjH/2oqvokqRWsWdO8Yz0GYgBpA1On\nTmXixIlcf/31Wz12/fXX85a3
 vIV3vetdvPTSSzzzzDPDuvVbuHAhxx9/PADf+MY3uO666zjhhBMA\nWL58OQcddBDbbLPN5vN32GEHrr76ah5++GE++9nPbj4+Z84cnn/+ea6++uot6tt5553Zb7/9+M1v\nflPTayJJzaCvDxYtgsmTW6PrUcoxIG1ixowZXH755Tz//PObx2OsW7eOW2+9lc9//vMAdHd3c+qp\npw75WhHBpk2bADjuuOO45557WLJkCSeeeOIWM2AeeOABDj/88K2e/853vpNzzz2Xyy67jOOPP54n\nn3yS733ve3zta19jv/322+r8fffdl/vvv7+qr1uSmtWaNfCxjzX/WI+BGECqsGEDPPBA/d/ngANg\n7NjavNbMmTO55JJL+P73v785ZNx4441s2rSJGTNmAHD00Udz22231eYNgWeeeYZddtml4mMXXngh\nP/vZz5g5cyZ/+ctfmDp1KnPnzq147i677MK9995bs7okqZH19RW6HPPnN+YeLrViAKnCAw9AZ2f9\n36enB2q1L97+++/PYYcdxvXXX785gNxwww0cfvjh7LvvvkBh1skee+xRmzcsSilVPL7tttty1VVX\ncdhhh/Ha176W73znO4O+RkTUtC5JakStMsNlOAwgVTjggEI4yOJ9amnmzJl88pOf5A9/+AMvvPAC\nd955J4sXL978+MaNG1m/fv2wXms4QeX1r389zz777ICP/+IXv9j8vg899BB77713xfOeffZZJkyY\nMKy6JKkZNfrOtfVgAKnC2LG160xkqauri3POOYfu7m42bNjAdtttt8UU2e9973sjHgMymAMOOGDA\n6bP33XcfF110EbNnz+bee+/ltNNO47777qu4XsgjjzzCoYceOuT7SVIzKu96XHopVLF0UtMxgLSR\nXXfdlWOOOYZrr72WjRs3cvTRR28xaLTWY0CmTJnCggULePnll9l22203H3/llVeYNWsWe+21FwsX\nLuSRRx7
 hHe94B/PmzeOqq67a4jWee+451qxZU9VKqpLUyMq7HkuXwtSpeVeVHQNIm5k5cyYf+tCH\niAguvvjiLR6r9RiQ6dOnc/HFF7Ns2TKOOuqozccvuugiVq1axdKlS9lxxx056KCD+Kd/+ic+97nP\nceKJJ3LMMcdsPvfWW28F4Nhjj61ZXZKUt3Ya6zEQ1wFpM8ceeyy77rorO++8M8cdd1xd36ujo4OD\nDz6Ym266afOxe+65h0svvZRPfOITHHnkkZuPz58/n8MOO4wzzjiD5557bvPx73//+xxxxBGbB8pK\nUjMrX8106dLWWddjpAwgbWbMmDFss802fPjDH2a77baryWtecMEFbNq0aYuPc/p96lOf4qabbtoc\nKt7+9rfz4osvcvnll29V11133cXvf//7zUu6//GPf+Tmm2/m05/+dE3qlKQ8Vdq5tp0+cilnAGkz\nP/zhD1m3bh0zZ87M5P1mzJjBxIkTueKKK0b83IULF3LIIYe4EZ2kpmbXozLHgLSJu+++m5UrV3Lx\nxRfT0dGx1Z4r9RIRrFq1qqrnXnLJJTWuRpKyVTrW48wz4bLLDB797IC0iSuvvJKzzjqLPffcc6v9\nViRJtVVp59rFiw0fpQwgbeK73/0uL730EnfddRcHHnhg3uVIUsvq7YVp01pr59p6MIBIklQDpV2P\ntWtba+faejCASJI0SmvWbD3Dxa7H4AwgkiRVqa8PFi2CyZNfHeth12N4DCCSJFWhv+tx9tkwa5Zd\nj5FyGm6Z1atX512CquD/N0lZ6esrdDnmz2+fnWvrwQBSNGHCBMaOHcvJJ5+cdymq0tixY5kwYULe\nZUhqYe7hUjsGkKKJEyeyevVq1q1bl3cpqtKECROYOHFi3mVIakHlO9fa9Rg9A0iJiRMn+gtMkrQF\nux714SBUSZIqqLSaqTNcascAIklSmUo71/qRS20ZQCRJKrLrkR0DiCRJ2PXIWsMFkIj4
 TET0RcRX\nBjlnVvGcTcV/+yJiQ5Z1SpJag12PfDTULJiIOAw4HVg5jNPXA28Dong/1asuSVJrcoZLfhqmAxIR\nOwHXAacBfx7GU1JK6emU0p+Kt6frW6EkqVXY9chfwwQQ4ArgxymlpcM8f6eIWBsRj0XEkog4sJ7F\nSZJaQ28vTJvmWI+8NcRHMBHxUeBQ4B3DfMqDwGxgFTAe+DTw24j4nymlJ+pTpSSpmfX1wZVXFlYz\n3W03VzPNW+4BJCL2Ar4KvC+l9PJwnpNSuhO4s+Q1lgOrgTOACwZ63rx58xg/fvwWx7q6uujq6qqi\ncklSs+jthY99DG6/3bEeg+nu7qa7u3uLY+vXr6/Le0VK+Y7djIjpwL8Bm3h1QOk2FAaVbgK2T8Mo\nMiJuAl5OKc2o8FgH0NPT00NHR0fNapckNbbyPVy+8x2YOjXvqprLihUr6OzsBOhMKa2o1es2whiQ\n24CDKXwEc0jx9p8UBqQeMszwMQY4CHiyjnVKkppIpXU9DB+NI/ePYFJKfwXuLz0WEX8FnkkprS7e\nvxp4IqV0fvH+5yl8BPMw8DrgXGBv4KoMS5ckNaDyrsfSpQaPRpR7ABlAedfjTRQ+jum3C/BNYE/g\nWaAHmJJSeiCb8iRJjch1PZpHQwaQlNJ7h7h/DnBOpkVJkhpWedfDGS6NrxHGgEiSVDX3cGlOBhBJ\nUlNyNdPmZgCRJDWd0q7HrFmwapVdj2ZjAJEkNY1KXY/Fi2HcuLwr00gZQCRJTcGxHq3FACJJamiO\n9WhNBhBJUsOy69G6DCCSpIZj16P1GUAkSQ2lfIaLXY/WZACRJDWEgWa42PVoTQYQSVLuHOvRfgwg\nkqTclHc9li51rEe7MIBIknJRqesxdWreVSkrBhBJUqbseggMIJKkDNn1UD8DiCSp7lzXQ+UMIJKk\nunKGiyoxgEiS6sKuhwZjAJEk1Vx512PVKrse2pIBRJJUMwN1Pca
 Ny7syNRoDiCSpJhzroZEwgEiS\nRsWxHqqGAUSSVDW7HqqWAUSSNGJ2PTRaBhBJ0oiUdj1mzbLroeoYQCRJw1La9Vi7ttD1WLzYroeq\nYwCRJA2ptxemTbProdoxgEiSBjRQ18N1PTRaBhBJUkXOcFE9GUAkSVson+GydKkzXFR7BhBJ0maV\nuh5Tp+ZdlVqRAUSSZNdDmTOASFKbs+uhPBhAJKlNuZqp8mQAkaQ2VN71WLXKGS7KlgFEktpIX1+h\nyzF58pZdD9f1UNYMIJLUJvq7HnPnupqp8mcAkaQW51gPNSIDiCS1MFczVaMygEhSC7LroUbXcAEk\nIj4TEX0R8ZUhzvtwRKyOiBciYmVEHJNVjZLUyOx6qBk0VACJiMOA04GVQ5w3BbgB+BZwKLAEWBIR\nB9a9SElqUHY91EwaJoBExE7AdcBpwJ+HOP0fgZ+nlL6SUnowpXQBsAKYW+cyJakh2fVQs2mYAAJc\nAfw4pbR0GOdOAW4rO3ZL8bgktQ27HmpWr8m7AICI+CiFj1LeMcyn7Ak8VXbsqeJxSWoLa9bAxz4G\ny5bBnDmwYIHBQ80j9wASEXsBXwXel1J6eTQvBaTaVCVJjat/NdP582H33QtdDz9uUbPJPYAAncBu\nQE9ERPHYNsCRETEX2D6lVB4s/gjsUXZsd7buimxh3rx5jB8/fotjXV1ddHV1VVu7JGWqtxdmzy50\nPc48Ey67zK6Haqe7u5vu7u4tjq1fv74u7xVb/27PVkTsCOxddvhfgdXApSml1RWecyPw2pTS9JJj\nvwFWppTmVDi/A+jp6emho6OjluVLUib6+mDxYjjvvELX49vftuuhbKxYsYLOzk6AzpTSilq9bu4d\nkJTSX4H7S49FxF+BZ/rDR0RcDTyRUjq/eMpCYFlEnAP8FOii0Ek5PbPCJSkjpV0Px3qoVTTSLJhS\n5W2ZN1EywDSltJxC6DgDuBc4AZieUrofSW
 oRznBRK8u9A1JJSum9g90vHvsB8IPMipKkDPX2Fma4\n3H67XQ+1pkbtgEhSW+qf4TJ5Mqxda9dDrcsAIkkNon8107lzYeZMVzNVazOASFLOKo31WLzYroda\nmwFEknLkHi5qVwYQScqBM1zU7gwgkpQxux6SAUSSMmPXQ3qVAUSSMlDa9Zg1y66HZACRpDpyhotU\nmQFEkupkzRrHekgDMYBIUo319cGiRYXVTB99FJYudayHVM4AIkk11D/W4+yzX+16TJ2ad1VS4zGA\nSFINlI/1sOshDc4AIkmjVGldD7se0uAMIJJUJdf1kKpnAJGkKriuhzQ6BhBJGoHSrsfata7rIVXL\nACJJw2TXQ6odA4gkDWGg1UzHjcu7Mql5GUAkaRDuXCvVhwFEkipwhotUXwYQSSpj10OqPwOIJBXZ\n9ZCyYwCRJApdj2nTnOEiZcUAIqmt9fUVuhyTJ7uuh5QlA4ikttXf9Zg7166HlDUDiKS2U76aqTvX\nStkzgEhqK+5cKzUGA4iktlA+w8Wuh5QvA4iklldpDxe7HlK+DCCSWtZAe7jY9ZDyZwCR1JLcuVZq\nbAYQSS2lfIaLXQ+pMRlAJLUMux5S8zCASGp6A431GDcu78okDcQAIqmpuXOt1JwMIJKakjvXSs3N\nACKp6dj1kJqfAURS07DrIbUOA4ikplDe9Vi1yq6H1MwMIJIa2kBdD2e4SM0t9wASER+PiJURsb54\n+21EHD3I+bMioi8iNhX/7YuIDVnWLCkbvb0wbZpjPaRW9Jq8CwB+D5wHPFy8fwpwc0QcmlJaPcBz\n1gNvA6J4P9W1QkmZ6usrrONx3nmw++6FnWvdPE5qLbkHkJTST8sOfS4izgQOBwYKICml9HR9K5OU\nh95emD0bli2DOXNgwQIHmUqtaMQfwUTEv0bEkfUoJiLGRMRHgbHA8kFO3Ski1kbEYxGxJCIOrEc9\nkrLjDBepvVQzBmQX4
 NaIeCgizo+IN462iIg4KCKeB14EFgPHp5QeGOD0B4HZwHHADApfw29rUYek\nfLiHi9R+RhxAUkrTgb2AK4GPAGsj4ucR8aGI2LbKOh4ADgHeVXzdayLigAHe/86U0nUppVUppf8A\nTgCeBs6o8r0l5WSgPVzsekitL1Ia3fjNiOgATgVOA/4CXAcsTik9NIrXvBV4OKV05jDPvwl4OaU0\nY5Aae4488kjGjx+/xWNdXV10dXVVW6qkKjnWQ2o83d3ddHd3b3Fs/fr1/PrXvwboTCmtqNV7jSqA\nRMQbgJkUPhJ5I/CD4r/vAc5NKV1e5ev+Eng0pTR7GOeOAX4H/Cyl9KkBzukAenp6eujo6KimJEk1\nUj7D5dvf9uMWqZGtWLGCzs5OqHEAGfEsmOLHLMdR6Hq8H1gFXA5cn1J6vnjO8cB3iseHer0vAT+n\nMB13HIVxHe8pvjYRcQ3weErp/OL9zwN3Upi2+zrgXGBv4KqRfi2SsmXXQ1K/aqbhPklh7Eg38M6U\n0r0VzvkV8Odhvt4ewDXAGyis77EKeH9KaWnx8b2AV0rO3wX4JrAn8CzQA0wZZNCqpJz19cGVVxa6\nHrvtVhjrYddDam/VBJB5wP9NKW0c6ISU0p+BfYbzYiml04Z4/L1l988BzhnOa0vKX2nX48wz4bLL\n7HpIqm4WzLWDhQ9JAme4SBpc7nvBSGo95TvXuq6HpHIGEEk142qmkobLACKpJspXM121yq6HpIEZ\nQCSNSmnXY+3aV8d6jBuXd2WSGpkBRFLV3MNFUrUMIJJGbKAZLnY9JA2XAUTSiKxZ4wwXSaNnAJE0\nLH19sGgRTJ7sDBdJo2cAkTSk/rEeZ59d6Ho4w0XSaBlAJA1ooHU9HOshabQMIJIqcjVTSfVkAJG0\nBVczlZQFA4ikzXp7Ydo0ux6S6s8AIom+vkKXY/LkV1czteshqZ4MIFKb6x/rMXcuzJxp10NSNgwg\n
 UpsqH+uxdGlhNVO7HpKyYACR2lClGS5Tp+ZdlaR2YgCR2kilrodjPSTlwQAitQm7HpIaiQFEanGu\n6yGpERlApBZW2vWYNcsZLpIahwFEakGVuh7OcJHUSAwgUotZs8Y9XCQ1PgOI1CL6+mDRosJqpo71\nkNToDCBSC+gf63H22XY9JDUHA4jUxJzhIqlZGUCkJlVpXQ+7HpKahQFEajJ2PSS1AgOI1ER6e2Ha\nNNf1kNT8DCBSEyjtejzyiOt6SGp+BhCpwbmaqaRWZACRGtRAq5mOG5d3ZZI0egYQqQE5w0VSqzOA\nSA3EGS6S2oUBRGoQdj0ktRMDiJSzvr5Cl8Ouh6R2YgCRctS/rsfcuc5wkdReDCBSDvq7HpMnw9q1\nrushqf0YQKSM2fWQJAOIlJnSGS5r18LSpY71kNS+cg8gEfHxiFgZEeuLt99GxNFDPOfDEbE6Il4o\nPveYrOqVqlFphsvUqXlXJUn5yT2AAL8HzgM6i7elwM0RManSyRExBbgB+BZwKLAEWBIRB2ZTrjR8\n5et62PWQpILcA0hK6acppV+klB4u3j4H/AU4fICn/CPw85TSV1JKD6aULgBWAHOzqlkajkp7uNj1\nkKSC3ANIqYgYExEfBcYCywc4bQpwW9mxW4rHpdwNtIeLXQ9JetVr8i4AICIOohA4dgCeB45PKT0w\nwOl7Ak+VHXuqeFzKVW8vzJ4Ny5bBmWfCZZcZPCSpkoYIIMADwCHA64ATgWsi4shBQki5ANJQJ82b\nN4/x48dvcayrq4uurq4Rlittqa+v0OU47zzYbbdC18OptZKaTXd3N93d3VscW79+fV3eK1Ia8vd2\n5iLiVuDhlNKZFR57FPiXlNLXSo5dCExPKb19gNfrAHp6enro6OioU9VqV6Vdjzlz4NJLYdy4vKuS\npNpYsWIFnZ2dAJ0ppRW1et2GGgNSYgyw/QCPLQemlR17HwOPGZHqYqCdaw0fk
 jS03D+CiYgvAT+n\nMB13HDADeA/w/uLj1wCPp5TOLz5lIbAsIs4Bfgp0UZi+e3rGpauNOdZDkkYn9wAC7AFcA7wBWA+s\nAt6fUlpafHwv4JX+k1NKyyOiC/hS8fYQhY9f7s+0arWl0rEeu+/uWA9JqlbuASSldNoQj2/14z2l\n9APgB3UrSqqgfKzHggV2PSSpWo06BkRqGKU715aO9TB8SFL1DCDSIMp3rl21yo9cJKkWDCBSBaVd\nj7VrneEiSbVmAJHK9O/h0t/1uO8+ux6SVGsGEKnInWslKTsGEIktd6495RR3rpWkejOAqK0NtJqp\nXQ9Jqi8DiNpWadfDsR6SlC0DiNpOpa7H4sV2PSQpSwYQtZVKYz3sekhS9gwgaguO9ZCkxmIAUcuz\n6yFJjccAopZl10OSGpcBRC3JGS6S1NgMIGopznCRpOZgAFHLcKyHJDUPA4iaXmnXo3TnWrsektS4\nDCBqao71kKTmZABRU6rU9Vi8GMaNy7sySdJwGEDUdOx6SFLzM4CoaQw0w8WuhyQ1HwOImoIzXCSp\ntRhA1NBczVSSWpMBRA3LrocktS4DiBqOXQ9Jan0GEDUUux6S1B4MIGoIdj0kqb0YQJQ7ux6S1H4M\nIMqNXQ9Jal8GEOXCrocktTcDiDJl10OSBAYQZcg9XCRJ/QwgqruB9nCx6yFJ7csAorpas8auhyRp\nawYQ1UVfHyxaBJMn2/WQJG3NAKKa6+96nH22M1wkSZUZQFQzlboeznCRJFViAFFN2PWQJI2EAUSj\nYtdDklQNA4iq1r+uh10PSdJI5R5AIuIzEXF3RDwXEU9FxA8j4m1DPGdWRPRFxKbiv30RsSGrmtud\nq5lKkkYr9wACvBtYBLwLOArYFvj3iHjtEM9bD+xZctu7nkWqwNVMJUm18Jq8C0gpfbD0fkScAvwJ\n6ATuGPyp6ek6lqYSfX2FdTzOOw92373Q9TB4SJKq1Qgd
 kHKvAxLw30Oct1NErI2IxyJiSUQcmEFt\nbam3F6ZNc+daSVLtNFQAiYgAvgrckVK6f5BTHwRmA8cBMyh8Hb+NiDfWv8r2UTrWY+1ax3pIkmon\n949gyiwGDgT+ZrCTUkp3Anf234+I5cBq4AzggnoW2C56e2H2bFi2DObMgQULDB6SpNppmAASEV8H\nPgi8O6X05Eiem1J6JSLuAd4y2Hnz5s1j/PjxWxzr6uqiq6trpOW2LMd6SFL76u7upru7e4tj69ev\nr8t7RUqpLi88oiIK4WM68J6UUm8Vzx8D/A74WUrpUxUe7wB6enp66OjoGHW9rcquhySp3IoVK+js\n7AToTCmtqNXr5t4BiYjFQBeF8Rx/jYg9ig+tTyltLJ5zNfBESun84v3PU/gI5mEKg1bPpTAN96qM\ny28Jdj0kSVnLPYAAH6cw6+X2suOnAtcU//tNwKaSx3YBvklh/Y9ngR5gSkrpgbpW2oLsekiS8pB7\nAEkpDTkTJ6X03rL75wDn1K2oNmDXQ5KUp4aahqtslK5m6roekqQ8GEDaiHu4SJIahQGkTZTv4bJq\nlV0PSVJ+DCAtrtJqposXw7hxeVcmSWpnBpAW5s61kqRGZQBpQZXGetj1kCQ1EgNIi3GGiySpGRhA\nWoQzXCRJzcQA0gIc6yFJajYGkCZWPsPlttsKYz3sekiSGp0BpElVGusxbVreVUmSNDwGkCYz0FgP\nZ7hIkpqJAaSJrFnjWA9JUmswgDSBvj5YtAgmT95yXQ/HekiSmpUBpMH1j/U4+2zX9ZAktQ4DSINy\nXQ9JUiszgDQgd66VJLU6A0gDcedaSVK7MIA0CFczlSS1EwNIzux6SJLakQEkR3Y9JEntygCSg0oz\nXOx6SJLaiQEkY+V7uDjDRZLUjgwgGXEPF0mSXmUAyYDrekiStCUDSB2Vz3C57TbHekiSBAaQuqk0\nw2XatLyrkiSpMRhAasx1PSRJGpo
 BpIbKZ7i4rockSZUZQGrAGS6SJI2MAWSUensLYzvsekiSNHwG\nkCr19RW6HJMnvzrW44orYKed8q5MkqTGZwCpQn/XY+5c93CRJKkaBpARKO96LF1q10OSpGoYQIap\nf4ZLaddj6tS8q5IkqTkZQIZQPsPFrockSaNnABlEpXU97HpIkjR6BpAKBlrXw66HJEm1YQApU2kP\nF2e4SJJUWwaQokpdj8WL7XpIklQPBhDcw0WSpKzlHkAi4jMRcXdEPBcRT0XEDyPibcN43ocjYnVE\nvBARKyPimJG+t2M96qu7uzvvEtqO1zx7XvPsec1bQ+4BBHg3sAh4F3AUsC3w7xHx2oGeEBFTgBuA\nbwGHAktUrqNgAAAH6UlEQVSAJRFx4HDftLzrsWqVXY9a84dE9rzm2fOaZ89r3hpek3cBKaUPlt6P\niFOAPwGdwB0DPO0fgZ+nlL5SvH9BRLwfmAvMGez9+voKYzvOOw92373Q9TB4SJKUrUbogJR7HZCA\n/x7knCnAbWXHbikeH9DjjzvWQ5KkRpB7B6RURATwVeCOlNL9g5y6J/BU2bGniscH9JGPwJ572vWQ\nJClvDRVAgMXAgcDfVPHcoNA5qWQHgCOOWM0FF8DYsbBiRZUVatjWr1/PCi90przm2fOaZ89rnq3V\nq1f3/+cOtXzdSGmg39nZioivA8cC704pPTbEuY8C/5JS+lrJsQuB6Smlt1c4/x+A62tbsSRJbWVG\nSumGWr1YQwSQYviYDrwnpdQ7jPNvBF6bUppecuw3wMqU0laDUCPi9cAHgLXAxlrVLUlSG9gBeDNw\nS0rpmVq9aO4BJCIWA13AccB/lTy0PqW0sXjO1cATKaXzi/enAMuA+cBPi8+fD3QMMXZEkiQ1gEYI\nIH1UHrtxakrpmuI5S4G1KaXZJc87EfgSsDfwEPDplNItGZQsSZJGKfcAIkmS2k8jrgMiSZJanAFE\nkiRlrmUCSE
 ScFRGPFDenuzMiDhvi/FFvZtfuRnLNI+K0iPh1RPx38XbrUP+PtLWRfp+XPO+jEdEX\nEf9W7xpbTRU/W8ZHxBUR8Yficx6IiKOzqrcVVHHNP1m8zhsi4rGI+EpEbJ9Vvc0uIt4dET+KiCeK\nPyeOG8Zz/jYieiJiY0T8V0TMGun7tkQAiYiPAP8CXAC8HVgJ3BIREwY4f9Sb2bW7kV5z4D0Urvnf\nAocDv6ew6eAb6l9ta6jimvc/b2/gn4Ff173IFlPFz5ZtKWwTMRE4AdgfOB14IpOCW0AV1/wfgEuK\n5x8AzAY+QmGSgoZnR+Be4CwGXtBzs4h4M/AT4JfAIcBC4KqIeN+I3jWl1PQ34E5gYcn9AB4Hzh3g\n/BuBH5UdWw4szvtraZbbSK95heePAdYDJ+f9tTTLrZprXrzO/wGcCnwX+Le8v45mulXxs+XjFGbl\nbZN37c16q+KaLwJuLTv2ZeDXeX8tzXgD+oDjhjhnAbCq7Fg38LORvFfTd0CKf3F0UkhiAKTC1biN\ngTenq2ozOxVUec3L7Qhsy+CbDqpoFNf8AuBPKaXv1rfC1lPlNT+W4h8zEfHHiLgvIj4TEU3/szYL\nVV7z3wKd/R/TRMS+wAcprBGl+jicGvwObbS9YKoxAdiGypvT7T/Ac6razE6bVXPNyy2g0JYu/yZW\nZSO+5hHxNxQ6H4fUt7SWVc33+b7Ae4HrgGOAt1LY42ob4OL6lNlSRnzNU0rdxY9n7ihuaLoN8H9S\nSgvqWml7G+h36M4RsX1K6cXhvEgrBJCBDLY5XS3O19aGdQ0jYj5wEoWl91+qe1WtreI1j4idgGuB\n01NKz2ZeVWsb7Pt8DIUfxGcU/3K/JyLeCHwKA8hoDHjNI+JvgfMpfPx1N/AW4GsR8WRKyWuenSj+\nO+zfo60QQNYBm4A9yo7vztYJrd8fR3i+tlTNNQcgIj4FnAtMSyn9v/qU15JGes33o7BK8I+
 LfxVC\ncdB5RLwE7J9SeqROtbaKar7PnwReKoaPfquBPSPiNSmlV2pfZkup5pp/Ebim5GPG/1cM4N/A0Fcv\nA/0OfW4kf1Q2/eeSKaWXgR5gWv+x4g/caRQ+G6xkeen5Re8rHtcQqrzmRMSngc8CH0gp3VPvOltJ\nFdd8NXAwhVlehxRvPwKWFv/793UuuelV+X3+Gwp/gZfaH3jS8DG0Kq/5WAoDJ0v1FZ8aFc7X6FX6\nHfp+Rvo7NO8RtzUatXsS8AIwk8I0rG8AzwC7FR+/BvjfJedPAV4CzqHww+FCCrvkHpj319Istyqu\n+bnFa3w8heTcf9sx76+lWW4jveYVnu8smDpfc2AvCrO7FlIY//F3FP5anJ/319Istyqu+QXAnylM\nvX0zhT8mHwJuyPtraZYbhUkBh1D4g6UP+GTx/puKj18CXF1y/puBv1AYy7c/MKf4O/WokbxvK3wE\nQ0rppuIgpC9S+KV2L4W/sp8unrIX8ErJ+csjoovCPPEvUfhmnZ7cSXfYRnrNgTMpzHr5ftlLfaH4\nGhpCFddco1TFz5bHI+L9wOUU1q94ovjfl2VaeBOr4vv8Igq/NC8C3gg8TaHb97nMim5+7wB+RWH8\nRqKwDgvA1RTWVdkTeFP/ySmltRHxd8BXgLMpTJP+WEppRJMK3IxOkiRlrunHgEiSpOZjAJEkSZkz\ngEiSpMwZQCRJUuYMIJIkKXMGEEmSlDkDiCRJypwBRJIkZc4AIkmSMmcAkSRJmTOASJKkzBlAJElS\n5gwgknIRERMi4smImF9ybEpEvBgRU/OsTVL9uRuupNxExDHAEmAK8CCFLex/mFL6dK6FSao7A4ik\nXEXEIuB9wH8CBwGHpZRezrcqSfVmAJGUq4jYAfgdsBfQkVK6P+eSJGXAMSCS8rYf8D8o/DzaJ+da\nJGXEDoik3ETEtsDdwD0UxoCcAxyUUno618Ik1Z0BRFJuIuKfgROAyc
 AG4HbguZTSsXnWJan+/AhG\nUi4i4j3A2cDJKaW/psJfQzOBIyLif+VbnaR6swMiSZIyZwdEkiRlzgAiSZIyZwCRJEmZM4BIkqTM\nGUAkSVLmDCCSJClzBhBJkpQ5A4gkScqcAUSSJGXOACJJkjJnAJEkSZn7/15PfDYl/9s5AAAAAElF\nTkSuQmCC\n",
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEPCAYAAABY9lNGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGO5JREFUeJzt3X+0VOV97/HPx0TEBFBjQFtUEEINuCJKNdrkXpyarCSm\ntzG3yk26ohwJUWuIkHKrN/UPPXizuoLJMm1WbX4aRfEXunqVqCSa2qmNjZQEqAqkmppa1HLObZCI\n4TbLyPf+MXNgGPfhzDkz+8fseb/WmuU+Zz+z58v2cB4++9nPsx0RAgCg2SF5FwAAKCY6CABAIjoI\nAEAiOggAQCI6CABAIjoIAECi1DsI2/9q+59sb7L9j8O0+YrtZ21vtn1q2jUBAEb25gw+Y6+kSkS8\nnLTT9rmSZkbELNtnSvqapLMyqAsAcBBZXGLyCJ9znqRbJSki1ks6wvYxGdQFADiILDqIkPQ92xts\nX5Kwf6qk7Q1fv1j/HgAgR1lcYnpPROywPVnSI7a3RcQPGvY74T2s/wEAOUu9g4iIHfX//l/b/0fS\nuyU1dhAvSDq+4evjJL3UfBzbdBoAMAYRkfQP8RGleonJ9ltsT6hvv1XSByQ93dRsraSF9TZnSdoV\nEQNJx4sIXhG69tprc6+hKC/OBeeCc7H/NTAQOv/80OzZoSeeqH2vHWmPQRwj6Qe2N0l6QtJ3IuJh\n25fZvlSSIuIhST+z/VNJX5f06ZRrAoBSiZDuvls65RTpHe+QNm6Uzjyz/eOmeokpIn4m6Q3zGiLi\n601ffybNOgCgrAYHpU9/Wtq6Vbr//s50DEOYSd2FKpVK3iUUBudiP87Ffr1yLtasqaWGmTM7lxoa\nud1rVFmxHd1SKwCkaXBQWrJEevpp6ZZbDt4x2FYUcZA6C9OnT5dtXm28pk+fnvf/RgAtGkoNM2ZI\nmzZ1PjU06voEUe8dc6ioPDiHQPGNJjU06ukEAQBlF
 pFtamiUxUxqAMAYDN2htGVL5+9QagUJAgAK\npnFew8yZ2aaGRnQQBTc4OKj58+friCOO0JVXXilJ2rp1q84444yW3n/++efr4YcfTrNEAB00OCgt\nWCD199dSw8qV0vjx+dRCB1Fw3/jGNzRlyhT94he/0Be/+EVJ0jXXXKOrrrqqpfd/7nOf09VXX51m\niQA6oHGsIc/U0IgxiIJ7/vnnNWfOnH1f79ixQ9VqVXfccUdL7z/jjDO0e/dubdy4UfPmzUurTABt\nyHusYTgkiBR96Utf0gUXXHDA96644gotX768pfcvWrRIq1at0sqVKzVp0iQ9+uijeuSRRzRv3jyN\nGzdOkvTcc8/p6KOP1ubNmyVJL730kiZPnqzHHnts33HOPvtsPfjggx36UwHolKKMNQyHBJGiCy+8\nUCtWrNArr7yiSZMm6fXXX9eaNWv03e9+V0uWLNEdd9yxbw6CXbtNOSI0bdo0bd68WTfffLMk6fjj\nj9d1110nSbrqqqt00kkn7fuMGTNm6Prrr9cnPvEJ/ehHP9KiRYv0yU9+UvPnz9/XZvbs2Xr88ccz\n/JMDGElRU0OjnkgQdvuvsTj22GM1f/583XPPPZKkdevWafLkyTrttNN044036uWXX9bOnTv3/Xdo\neygNJNm1a5cmTpx4wPcWL16sWbNm6cwzz9TAwIA+//nPH7B/4sSJ2rVr19j+EAA6qnnl1aKlhkY9\n0UFEtP8aq4ULF2r16tWSpNtvv10XXXRRW3+Wo446Srt3737D9z/1qU9py5YtuuKKK3TooYcesG/3\n7t068sgj2/pcAO0bukNpxYpaavjCF/K7Q6kVPdFB5OmjH/2onnzySW3ZskUPPPCALrzwQknS5Zdf\nrokTJ2rSpEkHvCZOnKh3vetdwx7vlFNO0TPPPHPA9375y1/qs5/9rBYvXqz+/v43pIVt27Zp7ty5\nnf/DAWhJWs9rSBtrMWXg0ksv
 1fr16zV58mR9//vfH9V7Fy1adMAYxODgoE4++WS9+OKL+waqFy9e\nrD179ujOO+/UZZddpl27dunuu+/ed4yTTjpJt99+u04//fTEz+iGcwh0q7GuodQprMVUcH19fXrq\nqae0cOHCUb/XTQMgU6ZM0TnnnKP77rtPkrR27Vo9/PDD+upXvypJuuGGG7Rp0ybdeeedkqQNGzZo\nwoQJw3YOANLRmBqyXkOpU0gQGdi+fbtmz56tHTt2aMKECW0fb9u2bbr44ou1fv36EdtecMEFuuSS\nS/TBD35w2DbdcA6BbtJ4h1IeqaFROwmCDiJle/fu1fLly/Xqq6/qW9/6Vt7lJCr6OQS6xdBs6GXL\npL6+2mB03oPQ7XQQzINI0Z49e3TMMcfoxBNP1Lp16/IuB0CKumFew2gxBpGit7zlLdq9e7eefPJJ\nTZ06Ne9yAKSg6LOh20GCAIAxKmNqaESCAIBRKnNqaESCAIBRGEoNW7eWMzU06voEMW3aNNnm1cZr\n2rRpef9vBAqvW2dDt6Prb3MFgLQ1poabb+6ujoGZ1ACQgl5MDY0YgwCABGW/Q6kVmSQI24fY3mh7\nbcK+PtuD9f0bbX8yi5oAYDhFezZ0XrJKEMskbZU0aZj9d0XE0oxqAYBEjSuv9mpqaJR6grB9nKQP\nSzrYQkRjfGYbAHTGUGro1pVX05BFgviypCslHXGQNn9g+79KekbS8oh4IYO6AIDUcBCpJgjbvydp\nICI2q5YSkpLCWknTI+JUSX8jaVWaNQGAVI7nNaQt7QTxXkkfsf1hSYdLmmj71ojY9+SciHi5of03\nJa0c7mD9/f37tiuViiqVSqfrBdADynyHUrVaVbVa7cixMpsoZ/tsSf8zIj7S9P1jI2JHffu/S7oy\nIt6T8H4mygFoSxGf15C2rnsehO0VkjZExAOSltr+iKTXJO2UdHEeNQEotzKnhrSw1AaAUuvF1NCo\n6xIEAGS
 B1NAe1mICUDq98ryGtJEgAJRKLz2vIW0kCACl0Osrr6aBBAGg65Ea0kGCANDVhtZQIjV0\nHgkCQFdiDaX0kSAAdB1WXs0GCQJA1yA1ZIsEAaDwhmZDkxqyRYIAUGjMhs4PCQJAITEbOn8kCACF\nQ2ooBhIEgMJong1NasgXCQJAITAbunhIEAByxRpKxUWCAJAbUkOxkSAA5GJoXsPMmaSGoiJBAMgU\ns6G7BwkCQGaYDd1dSBAAUkdq6E4kCACpYQ2l7kaCAJAKZkN3PxIEgI5iDaXyIEEA6BhSQ7mQIAC0\nrXGsgdRQHiQIAG0hNZQXCQLAmDDWUH4kCACjRmroDZkkCNuH2N5oe23CvnG277L9rO0f2j4hi5oA\njB7Pa+gtWSWIZZK2SpqUsG+xpJ0RMcv2xyRdL+njGdUFoEUDA7XZ0Ky82jtSTxC2j5P0YUnfGqbJ\neZJW1bfvlfS+tGsC0Lqh1DB3Ls9r6DVZJIgvS7pS0hHD7J8qabskRcTrtnfZfltE7MygNgAHMZQa\nGGvoTal2ELZ/T9JARGy2XZHkpGYJX0fS8fr7+/dtVyoVVSqVjtQJ4EBD8xqWLZP6+qTVq6Xx4/Ou\nCq2oVquqVqsdOZYjEn8Xd+bg9p9JulDSryUdLmmipL+OiIUNbdZJ6o+I9bbfJOnfI2JKwrEizVoB\n1DTeoXTLLaSGbmdbEZH0j/MRpToGERFXR8QJETFDtYHnRxs7h7rvSOqrby+Q9GiaNQEYHrOh0SiX\neRC2V0jaEBEPSLpJ0m22n5X0c3EHE5A5nteAJKleYuokLjEBnRch3XOPtHRpbaxhxQrGGsqmnUtM\nzKQGehSzoTES1mICegxrKKFVJAighwylBmZDoxUkCKAHNK+hxGxotIIEAZQcqQFjRYIASorUgHaR\nIIAS4g4ldAIJAigRnteATiJBACXBWAM6jQQBdDnGGpAWEgTQxVhDCWkiQQBdqDE1zJjB
 WAPSQYIA\nugx3KCErJAigS7CGErJGggC6AKkBeSBBAAVGakCeSBBAQZEakDcSBFAwpAYUBQkCKBBmQ6NISBBA\nATAbGkVEggByNjBQSw3btpEaUCwkCCAnQ6lh7lxp1ixSA4qHBAHkYHBQuvxyUgOKjQQBZGzNmtpY\nA6kBRUeCADLCyqvoNiQIIANDqYGVV9FNSBBAikgN6GYkCCAFPK8BZZBqgrB9mKTHJI2rf9a9EbGi\nqU2fpC9KeqH+rb+MiG+nWReQJtZQQlmkmiAi4leSfjciTpN0qqRzbb87oeldETGv/qJzQFdiDSWU\nTepjEBGxp755WP3zIqGZ064DSBNrKKGMRkwQtj9j+6ixfoDtQ2xvkrRD0iMRsSGh2R/Y3mx7je3j\nxvpZQNZYQwll1kqCOFbSBtsbJX1b0vciIikFJIqIvZJOsz1J0n2250TE1oYmayXdERGv2b5M0ipJ\n70s6Vn9//77tSqWiSqXSahlAx5EaUETValXVarUjx3Irv+ttW9IHJC2SdLqkNZJuioh/GdWH2ddI\nejUibhhm/yGSdkbEkQn7RtMvAamJqM1rWLZM6uuTVqyQxo/PuyogmW1FxJgu47c0BhERYXuHapeJ\nfi3pKEn32n4kIq46SGFvl/RaRPzC9uGS3i/pC01tjo2IHfUvz5O0VUBBkRrQS1oZg1hq+8eSrpf0\nuKR3RcTlkn5b0vkjvP03JP2t7c2S1qt2eeoh2yts/7d6m6W2n66PU3xG0sVj/LMAqWGsAb1oxEtM\ntq9T7XLS8wn7ZkfEtrSKa/osLjEhF42p4eab6RjQXdq5xDRigoiIa5I6h/q+TDoHIA9DYw2kBvQq\n1mICEjAbGmAtJuAAzIYG9iNBAHWkBuBAJAj0vMaxBlIDsB8JAj2N1AAMjwSBnsRYAzAyEgR6DqkB\naA0JAj2jeTY0qQE4OBIEegJrKAGjR4JAqbGGEjB2JAiUFqkBaA8
 JAqXUOK+B1ACMDQkCpTI4KC1Z\nIj39NKkBaBcJAqUxlBpmzOAOJaATSBDoeqQGIB0kCHStxjWUSA1A55Eg0JWYDQ2kjwSBrsIaSkB2\nSBDoGqQGIFskCBQez2sA8kGCQKGRGoD8kCBQSIw1APkjQaBwSA1AMZAgUBg8rwEoFhIECoGVV4Hi\nIUEgVzyvASguEgRywxpKQLGlmiBsH2Z7ve1Ntp+yfW1Cm3G277L9rO0f2j4hzZpQDKyhBBRfqgki\nIn5l+3cjYo/tN0l63Pa6iPjHhmaLJe2MiFm2PybpekkfT7Mu5IfUAHSP1McgImJPffMw1TqkaGpy\nnqRV9e17Jb0v7ZqQD1ID0F1SH4OwfYikH0uaKenGiNjQ1GSqpO2SFBGv295l+20RsTPt2pANUgPQ\nnVLvICJir6TTbE+SdJ/tORGxtaGJm95ivTFlSJL6+/v3bVcqFVUqlc4Wi44aWkNp2TKpr0+67TZp\n/Pi8qwLKrVqtqlqtduRYjkj8XZwK29dIejUibmj43jpJ/RGxvj5O8e8RMSXhvZFlrWhP42zoW24h\nNQB5sa2IaP6HeEvSvovp7baPqG8fLun9kn7S1Ow7kvrq2wskPZpmTUgXaygB5ZH2JabfkLSqPg5x\niKS7I+Ih2yskbYiIByTdJOk2289K+rm4g6lrMRsaKJdMLzG1g0tMxdU41nDxxVJ/P2MNQFG0c4mJ\nmdRoC6kBKC/WYsKYsIYSUH4kCIwaz2sAegMJAqPCs6GB3kGCQEuYDQ30HhIERsQaSkBvIkFgWKQG\noLeRIPAGjXcokRqA3kWCwAG4QwnAEBIEJLGGEoA3IkGA1AAgEQmih5EaABwMCaJHkRoAjIQE0WNI\nDQBaRYLoIay8CmA0SBA9gJVXAYwFCaLkSA0AxooEUWJDayiRGgCMBQmihFhDCUAnkCBKhpVXAXQK\nCaIkSA0AOo0E0eUieMobgHSQILoYdygBSB
 MJogsxrwFAFkgQXYY1lABkhQTRJZpTA2MNANJGgugC\njDUAyAMJosAYawCQp1QThO3jJN0q6VhJr0v6ZkR8panN2ZLul/Rc/Vt/HRGfT7OubkBqAJC3tBPE\nryUtj4g5kn5H0hLb70xo91hEzKu/er5zaJzXQGoAkJdUE0RE7JC0o779qu1tkqZK+klTU6dZR7dg\nNjSAIslsDML2dEmnSlqfsPss25tsP2h7TlY1FQlrKAEomkzuYrI9QdK9kpZFxKtNu38saVpE7LF9\nrqT7JP1WFnUVAakBQFGl3kHYfrNqncNtEXF/8/7GDiMi1tn+K9tvi4idzW37+/v3bVcqFVUqlVRq\nzkKEdM890tKlUl+fdNtt0vjxeVcFoNtVq1VVq9WOHMsR0ZEDDfsB9q2S/iMilg+z/5iIGKhvv1vS\nmoiYntAu0q41K42zoW+5hdQAID22FRFjGudNdQzC9nslfULSOfUxho22P2T7MtuX1ptdYPtp25sk\n/bmkj6VZU54a5zWw8iqAoks9QXRKtycIUgOAPBQ2QYDnNQDoXqzFlCJWXgXQzUgQKWCsAUAZkCA6\njNQAoCxIEB3C8xoAlA0JogMGBmqzoVl5FUCZkCDaMJQa5s7leQ0AyocEMUZDqYGxBgBlRYIYpcbU\nwB1KAMqMBDEK3KEEoJeQIFrEbGgAvYYEMQKe1wCgV5EghtG4hhJPeQPQi0gQCRhrAAASxAFYQwkA\n9iNB1A2lBmZDA0BNzyeI5jWUmA0NADU9nSBIDQAwvJ5MEKQGABhZzyUI7lACgNb0TILgeQ0AMDo9\nkSAYawCA0St1gmCsAQDGrrQJgjWUAKA9pUsQjamBNZQAYOxKlSC4QwkAOqcUCYI1lACg87o+QZAa\nACAdqSYI28fZftT2VttP2V46TLuv2H7W9mbbp7ZybFIDAKQr7UtMv5a0PCLmSPodSUtsv7Oxge1z\nJc2MiFmSLpP0tZEOO
 jgoLVgg9ffXUsPKldL48SlUX1DVajXvEgqDc7Ef52I/zkVnpNpBRMSOiNhc\n335V0jZJU5uanSfp1nqb9ZKOsH1M8vFIDRI//I04F/txLvbjXHRGZmMQtqdLOlXS+qZdUyVtb/j6\nxfr3BpqPsWABYw0AkJVMOgjbEyTdK2lZPUkcsDvhLZF0nJkzpdWre+tyEgDkxRGJv4s79wH2myU9\nIGldRPxFwv6vSfrbiLi7/vVPJJ0dEQNN7dItFABKKiKS/iE+oiwSxLclbU3qHOrWSloi6W7bZ0na\n1dw5SGP/AwIAxibVBGH7vZIek/SUapeNQtLVkqZJioj4Rr3dX0r6kKRfSloUERtTKwoA0JLULzEB\nALpT4ZbasP0h2z+x/Yzt/5Wwf5ztu+oT635o+4Q86sxCC+fij21vqU8wfMT28XnUmYWRzkVDuwts\n77U9L8v6stTKubD9P+o/G0/ZXp11jVlp4e/I8fXJuhvrf0/OzaPOtNm+yfaA7ScP0mbUE5IVEYV5\nqdZh/VS1S1CHStos6Z1NbS6X9Ff17Y9JuivvunM8F2dLGl/f/qNePhf1dhMk/Z2kf5A0L++6c/y5\neIekH0uaVP/67XnXneO5+Lqky+rbsyX9LO+6UzoX/0W1aQRPDrP/XEkP1rfPlPREK8ctWoJ4t6Rn\nI+L5iHhN0l2qTaRrdJ6kVfXteyW9L8P6sjTiuYiIv4uI/6x/+YTeOAmxLFr5uZCk/y1ppaRfZVlc\nxlo5F5dIujEiXpGkiPiPjGvMSivnYq+kSfXtI1WbZ1U6EfEDSS8fpEnLE5IbFa2DaJ4094Le+Etv\nX5uIeF3SLttvy6a8TLVyLhotlrQu1YryM+K5qEfm4yLioSwLy0ErPxe/Jekk2z+w/Q+2P5hZddlq\n5VyskHSR7e2q3W5/RUa1Fc1wE5IPqmirubYyaa65jRPalEHLEwhtXyjpt1W75FRGBz0Xti3py5L6\n
 RnhPGbTyc/Fm1S4zzZd0gqS/t33yUKIokVbOxR9Kujkivly/jX61pJNTr6x4Wv590qhoCeIF1X6g\nhxwn6aWmNtslHS9Jtt+k2nXWg0WrbtXKuZDt90v6U0m/X4/ZZTTSuZio2l/6qu2fSTpL0v0lHahu\n5efiBUn3R8TeiPhXSf8saVY25WWqlXOxWNIaSYqIJySNt/32bMorlBdU/71Zl/j7pFnROogNkt5h\ne5rtcZI+rtpEukbf0f5/KS6Q9GiG9WVpxHNh+zTVVr/9SET8PIcas3LQcxERr0TElIiYEREnqjYe\n8/tRzvk0rfwduU/SOZJU/2U4S9JzmVaZjVbOxfOS3i9JtmdLOqzEYzLW8Ml5raSFknSwCcnNCnWJ\nKSJet/0ZSQ+r1nndFBHbbK+QtCEiHpB0k6TbbD8r6eeq/VCUTovn4npJb5V0T/0yy/MR8dH8qk5H\ni+figLeopJeYWjkXEfE92x+wvUW1Jff/pIwpu8Wfiz+R9E3bf6zagHXf8EfsXrbvkFSRdLTtf5N0\nraRxqk9IjoiHbH/Y9k9Vn5Dc0nHrtz0BAHCAol1iAgAUBB0EACARHQQAIBEdBAAgER0EACARHQQA\nIBEdBAAgER0EACARHQQwRrZPt/1P9YdYvdX207bn5F0X0CnMpAbaYPs6SYfXX9sjYmXOJQEdQwcB\ntMH2oaotGvf/JL0n+AuFEuESE9Ceo1V71OlESeNzrgXoKBIE0Abb90u6U9KJkn4zInr1iWUooUIt\n9w10E9sXSXotIu6yfYikx21XIqKac2lAR5AgAACJGIMAACSigwAAJKKDAAAkooMAACSigwAAJKKD\nAAAkooMAACSigwAAJPr/r8gnZyjAzN0AAAAASUVORK5CYII=\n",
       "text/plain": [
-       "<matplotlib.figure.Figure at 0x7fb00d9534d0>"
+       "<matplotlib.figure.Figure at 0x7ff77e6434d0>"
       ]
      },
      "metadata": {},
@@ -54,20 +79,77 @@
     }
    ],
    "source": [
-    "\n",
     "a, b = 3, 2\n",
     "f = lambda x: a * x + b\n",
-    "x1 = np.linspace(0.,1,100)\n",
-    "y1 = [f(x) for x in x1]\n",
-    "plt.plot(x1, y1, label='y=f(x)')\n",
+    "gx = np.linspace(0.,1,100)\n",
+    "gy = [f(x) for x in gx]\n",
+    "plt.plot(gx, gy, label='y=f(x)')\n",
     "plt.xlabel('x')\n",
     "plt.ylabel('y')\n",
     "plt.legend(loc='best')\n"
    ]
   },
   {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Generating the trainin data\n",
+    "\n",
+    "Then we generate the training data points by adding a random error to sampling points from the ground truth line.\n",
+    "30 data points are generated."
+   ]
+  },
+  {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": 30,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "[<matplotlib.lines.Line2D at 0x7ff777debb50>]"
+      ]
+     },
+     "execution_count": 30,
+     "metadata": {},
+     "output_type": "execute_result"
+    },
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXkAAAEACAYAAABWLgY0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGqdJREFUeJzt3X9w3PV95/HnS5C4JA6kHESRIIFKJddibgaIbHxUd2zP\nnl6B1srdtISOctAc0+NCKMZcMnUZrog5SLhcLzi5JJOQ0gykzhBMU6QGM8BMso64FiMTfCWGXIhE\nUmDlPQiBVKHVGPS+P7Q2q9XK+u5qd7+7X70eM5p8d78fffXmG/m9X31+vD+KCMzMLJu60g7AzMya\nx0nezCzDnOTNzDLMSd7MLMOc5M3MMsxJ3swswxIleUknSNol6WlJBySdV6XNZyU9I2m/pLMbH6qZ\nmdXq2ITtPgPsjojflXQs8Lbyk5IuBPoj4ozSB8AXgY2NDdXMzGq17JO8pHcA/yoivgIQEa9HxM8q\nmg0Bd5XO7wVOkNTd6GDNzKw2Sbpr+oCXJH1F0ncl3S7puIo2pwDPlb1+ofSemZmlKEmSPxY4F/h8\nRJwLvAZsr2ijKt/neglmZilL0if/PPBcROwrvb4X+KMqbd5T9vpUoFB5IUlO/GZmdYiIag/Ty1r2\nST4iisBzkt5XemsT8FRFszHgMgBJG4FXSt9X7Xr+iuDGG29MPYZ2+fK98L3wvTj610oknV1zDbBT\n0luAKeDDkq6cz9lxe0TslnSRpB8CPwc+vKKozMysIRIl+Yj4P8D6ire/VNHm6kYFZWZmjeEVrynJ\n5XJph9A2fC/e5HvxJt+LxtBK+3tq+mFStPLnmZllgSSiWQOvZmbWuZzkzcwyzEnezCzDnOTNzDLM\nSd7MrEaFQoHx8XEKhUUL+9uOZ9eYmSU0MzPD8PDNTEy8m2LxLLq7D7B+/TQ7d97A2rVrm/ZzVzK7\nxknezCyhoaHtjI1tA8orqRfZsmUHo6OfbNrP9RRKM
 7MmKxQKTEz0sDDBA3QzMdHdtl03TvJmZglM\nTk5SLK6req5YXMfU1FSLI0rGSd7MLIH+/n66uw9UPdfdfYC+vr4WR5SMk7yZWQK9vb2sXz8NVFZR\nL7J+/UF6e3vTCGtZHng1M0to4eyadaXZNQc9u+bID3OSN7MMKBQKTE1N0dfX15IneCd5M7MM8xRK\nMzOryknezCzDnOTNzDIs0R6vkn4EvArMAYciYkPF+QuAUeY3+Qb4RkTc3MA4zcysDomSPPPJPRcR\nPz1Km+9ExJYGxGRmZg2StLtGCdrWNfJrZmbNkzTJB/CgpAlJf7BEm42SnpB0v6QzGxSfmZmtQNLu\nmvMj4qCkk4GHJT0dEY+UnX8cOC0iXpN0IXAf8L5GB2tmZrVJlOQj4mDpf1+U9FfABuCRsvMzZccP\nSPqCpBMj4uXKa42MjBw5zuVy5HK5uoM3M8uifD5PPp9vyLWWXfEq6W1AV0TMSHo78BBwU0Q8VNam\nOyKKpeMNwD0RcXqVa3nFq5lZjVay4jXJk3w38FeSotR+Z0Q8JOlKICLiduB3JH0EOAT8I/DBeoIx\nM7PGcu0aM7M259o1ZmZWlZO8mVmGOcmbWVsoFAqMj4+37YbYncpJ3sxSNTMzw9DQdgYG7iGXm2Vg\nYBdDQ9uZmZlZ/ps7TBofZB54NbNUDQ1tZ2xsG/MT+Q4rsmXLDkZHP5lWWA21cNvAs0rbBk4n3jbQ\nA69m1pEKhQITEz0sTPAA3UxMdGem62Z4+GbGxrYxPX0tc3ObmZ7eytjYNoaHb2n6z3aSN7PUTE5O\nUiyuq3quWFzH1NRU1XOdJO0PMid5M0tNf38/3d0Hqp7r7j5AX19fiyNqvLQ/yJzkzSw1vb29rF8/\nDRQrzhRZv/4gvb29aYTVUGl/kCWtQmlm1hQ7d95QNii5rjQoeZCdO29IO7SGOPxBNjZWpHJwuRUf\nZJ5dY2ZtoVAoMDU1RV9fXyae
 4MstnF2z8IOs2bNrnOTNrK0VCgUmJyfp7+/v+ORf7weZk7yZZc5S\nc8v/9E+v4ODBg5lI+kk5yZtZ5ixeJDUD3MCaNSdy6ND5NS8o6mRO8maWKYVCgYGBXUxPby17dzuQ\n7ZWxS/GKVzNLTTPqsSyeW14Asr8ythmc5M2sLs0sLLZ4bvkkkO2Vsc3iJG9mdWlmPZbFi6T6gWyv\njG0WJ3kzq1kr6rHs3HkDW7bcRk/PDrq6DrBmzSNkeWVssyQaeJX0I+BVYA44FBEbqrT5LHAh8HPg\n9yNif5U2Hng1y4Dx8XFyuVnm5jYvOtfV9TB79hzH4OBgQ37W4bnl3d3dfOxjd9S9oKiTNX12jaQp\n4P0R8dMlzl8IXB0RF0s6D/hMRGys0s5J3iwDqs9+mdfTs4N9+y5p2tN1llfGLqUVs2u0TNsh4C6A\niNgLnCCp8u84M8uINAuL9fb2Mjg42PEJvlW7RCUtUBbAg5ICuD0ivlxx/hTgubLXL5Teq/wNMLOM\nyHphsWZZvJJ3V1MXdSVN8udHxEFJJwMPS3o6Ih4pO1/tz4iq/TIjIyNHjnO5HLlcLmEIZtZO1q5d\ny+jorWXdJ83roukESWvsHJ6VdHjQenp6M2NjRYaHbzmyqCufz5PP5xsSV80rXiXdCPxDRHy67L0v\nAt+OiK+XXn8fuCAiihXf6z55M8uUWvZvrXcso6l98pLeJmlt6fjtwG8A36toNgZcVmqzEXilMsGb\nmWVRLesF0tglKsnAazfwiKQngEeBv46IhyRdKek/AUTEbuBZST8EvgRc1fBIzczaTK3rBdLYJWrZ\nPvmIeBY4u8r7X6p4fXUD4zIza3tJnszLu1/S2CXKK17NzOpUz5P5wpW8D9PTs4MtW25r2qwk7/Fq\nZlanep7MWz0ryfXkzcxWYKX7tybhTUPMzFLWzHILTvJmVrMsbZCddU7yZpZYLYt3rD04yZtZYos3\nyIbVsld
 qp/Ier2aWSCs2+7D24iRvtoqksaze0uUkb7aKpLGsvplaVZO9kznJm60iaW720UgzMzMM\nDW1nYOAecrlZBgZ2MTS0nZmZmbRDazseeDVrkE6ZktiKxTvNttoGjz27xixFnTolsVP3Sk1zf9m0\nOMmbpWi1PVWmbXx8nFxulrm5zYvOdXU9zJ49xzE4OJhCZM3jKZRmKfGUxNbL2uBxsznJm62ApyS2\nXlYGj1vFSd5sBfxUmY5W12TvZK4nb7YCaez0Y62vyd7JPPBqtkJZmJJo7a0ls2skdQH7gOcjYkvF\nucuB/wE8X3rrcxHx51Wu4SRvmdWpUxKt/a0kydfSXbMVeAo4fonzd0fENfUEYZYFvb29Tu7WdhIN\nvEo6FbgI+LOjNWtIRGbWNK71svoknV1zG/Bx4Gh9Lf9e0n5J95Q+FMysTbjWy+q1bHeNpIuBYkTs\nl5Sj+hP7GPC1iDgk6UrgTmBTteuNjIwcOc7lcuRyudqjNrOaDA/fvGBV7vT0ZsbGigwP3+JVuW0o\nn8+Tz+cbcq1lB14lfQL4EPA6cBzwDuAbEXHZEu27gJcj4p1Vznng1azFVmOtl6xpalmDiLg+It4b\nEX3ApcC3KhO8pHeXvRxifoDWzNqAV+WubnWveJV0k6TfKr28RtL3JD0BXA38fiOCM7OV86rc1a2m\nFa8RsQfYUzq+sez964HrGxuamTWCV+Wubl7xarYKeFVuZ3M9eTNLxKtyO5OTvJlZhnnTELNVxKtW\nrRZ+kjfrEIf71R999DhefPF4Tj75H9i48TX3q68C7q4xWwUuvvg6du+eA04HzgIOAM9y0UXHcP/9\n/zPV2Ky5nOTNMq5QKNDXdy2zs/+LymmQa9b8IVNTO1IbSC0UCkxOTtLf3+/B3CZxn7xZxu3du5fZ\n2fdTbcPw2dlzeeyxx1oek4uedQZv/2fWMc5Z4v2zgX9qZSCAi551Cj/JW+ZkcfbJeeed
 x5o1e6ue\nW7PmMTZs2NDSeAqFAhMTPVT7y2JiojtT977TOclbZmS5+6C3t5dNm14FihVnimza9LOG9IXX8uHo\nomedwwOvlhlDQ9sXdB/MK7Jly45MdB8cnkK5d+/JvPjiWZx88vc477wXVzyFcmHJg7NKJQ+mj3pd\nly9urVbt8WrWtpJ0H3R60lm7di2jo7eWlSb4vYb8N9XTt+6iZ53DSd4yIUn3QVYSTyM3DF/Jh+PO\nnTcsWfTM2oeTvGXCfM30XUxPb150br5m+iUpRNX+VvLhuPgvC3fRtCMPvFomHO4+qDYw6e6DpTVi\nQ5He3l4GBwd9j9uUn+QtM9x9UDv3rWefZ9dYXdp5KbtrptfGG4q0P9eusZapZ7qddQZ/OLavliR5\nSV3APuD5iNhSce6twF3A+4GXgA9GxN9XuYaTfIfL+lx0s3bUqgJlW4Gnljh3BfByRJwB7AA+VU8w\n1t68lN2s8yRK8pJOBS4C/myJJkPAnaXje4FNKw/N2o2Xspt1nqRP8rcBHweW6ms5BXgOICLeAF6R\ndOLKw7N20ojpdmbWWstOoZR0MVCMiP2SckC1fqHK98QSHwgjIyNHjnO5HLlcLmGoljZPtzNrjXw+\nTz6fb8i1lh14lfQJ4EPA68BxwDuAb0TEZWVtHgBGImKvpGOA6Yh4V5VreeC1w3m6nVnrtWwKpaQL\ngP9SZXbNVcBZEXGVpEuBD0TEpVW+30k+Izzdzqx1UqlCKekmYCIivgncAXxV0jPAT4BFCd6ypZFF\nssysebwYysyszXkjbzMzq8pJ3swsw5zkzcwyzEnezCzDnOTNzDLMSd7MLMOc5M3MMsxJ3swsw5zk\nzcwyzEnezCzDnOTNzDLMSd7MLMOc5M3MMsxJ3jpOoVBgfHzcG4ebJeAkb8tql6Q6MzPD0NB2Bgbu\nIZebZWBgF0ND25mZmUk1LrN25nrytqSFW/2dVdrqbzq1rf6GhrY
 zNraNyv1lt2zZwejoJ1sej1mr\nuJ68NcXw8M2MjW1jevpa5uY2Mz29lbGxbQwP39LyWAqFAhMTPSxM8ADdTEx0p/5Xhlm7cpK3qpqZ\nVOvp/pmcnKRYXFf1XLG4jqmpqbrjMcsyJ3mrqhlJdSV96v39/XR3H6h6rrv7AH19fTXHY7YaLJvk\nJa2RtFfSE5KelHRjlTaXS/p/kr5b+vqPzQnXWqUZSXUl3T+9vb2sXz8NFCvOFFm//qA3FTdbwrHL\nNYiIWUm/HhGvSToG+N+SHoiIxyqa3h0R1zQnTGu1w0l1bKxI5UBnPUk1SffPctfcufOGsoHgdaWB\n4IPs3HlDTbGYrSbLJnmAiHitdLim9D3VpsjUNfJr7auRSTVJ989ySX7t2rWMjt5KoVBgamqKvr5L\n/ARvtoxEUygldQGPA/3A5yPijyvOXw58AngR+AFwXUQ8X+U6nkLZgd5Mqn11J9VCocDAwC6mp7cu\nOtfTs4N9+5ywzZaykimUSZ/k54BzJB0P3CfpzIh4qqzJGPC1iDgk6UrgTmBTtWuNjIwcOc7lcuRy\nuXrithbq7e1dcQJudPePWZbl83ny+XxDrlXzYihJfwLMRMSnlzjfBbwcEe+scs5P8qvYwsVVC7t/\n0lhcZdYpVvIkv2ySl3QScCgiXpV0HPAgcGtE7C5r8+6IOFg6/nfAxyPi/CrXcpK3hnT/mK0mzU7y\n/4L57peu0tfXI+IWSTcBExHxTUmfALYAh4CXgY9ExA+qXMtJ3sysRk1N8o3kJG9mVjvXrklJu1Rn\nNDNbip/k69Bu1RnNLNvcXdNiLnlrZq3k7poWcslbM+skTvI1cslbM+skTvI1anXJWw/umtlKOMnX\nqFUlb72fqZk1ggde69CK5fke3DWzwzy7JiXNWp7vio1mVq7pVSitukZUZ6ymEbXXzczAffJtyfuZ\nmlmjOMm3Ie9namaN4j75NuXa62Z2mAdeM8
 y1183MSd7MLMNcu8bMzKpykjczyzAneTOzDHOSNzPL\nsGWTvKQ1kvZKekLSk5JurNLmrZLulvSMpL+V9N7mhGtmZrVYNslHxCzw6xFxDnA2cKGkDRXNrgBe\njogzgB3ApxoeqZmZ1SxRd01EvFY6XMN8vZvKeZBDwJ2l43uBTQ2JzszMViRRkpfUJekJ4CDwcERM\nVDQ5BXgOICLeAF6RdGJDIzUzs5olqkIZEXPAOZKOB+6TdGZEPFXWpHKSvlj8tA/AyMjIkeNcLkcu\nl6sl3o5SKBSYnJykv7/fq1XNLLF8Pk8+n2/ItWpe8SrpT4CZiPh02XsPACMRsVfSMcB0RLyryveu\nihWvC+vOnFWqOzPtujNmVpemljWQdBJwKCJelXQc8CBwa0TsLmtzFXBWRFwl6VLgAxFxaZVrrYok\n712dzKyRml3WoAf4tqT9wF7gwYjYLekmSb9VanMHcJKkZ4Brge31BJOFTasLhQITEz0sTPAA3UxM\ndHf0f5uZdZ62KFCWpe6N8fFxcrlZ5uY2LzrX1fUwe/Ycx+DgYAqRmVmn6vgCZcPDNzM2to3p6WuZ\nm9vM9PRWxsa2MTx8S9qh1cy7OplZO0k9yWete8O7OplZO0l9I+8sblq9c+cNS+7qZGbWSqn3yRcK\nBQYGdjE9vXVR+56eHezbd0nHJfnD6t3VyfPrzaxcR/fJZ7l7o7e3l8HBwcT/DTMzMwwNbWdg4B5y\nuVkGBnYxNLSdmZmZJkdqZlmV+pM8eNPqwzy/3syqycwer6t50+osd1uZ2cqsJMmnPvBarre3d9Um\nsiwOQJtZ+lLvk7d5nl9vZs3gJN8msjwAbWbpaas++dXOA9BmVk1mBl5t3moegDazxZzkzcwyrKMX\nQ5mZWfM4yZuZZZiTvJlZhjnJN0AWdrQys2zywOsKZGlHKzNrX83eyPtU4C7g3cAbwJcj4rMVbS4A\nRoGp0lvfiIibq1wrU
 0neBcXMrBWaXbvmdeC6iNgvaS3wuKSHIuL7Fe2+ExFb6gmiEyXZ0cpz3M0s\nbcv2yUfEwYjYXzqeAZ4GTqnStK5PmU6VpKCYmVnaahp4lXQ6cDawt8rpjZKekHS/pDMbEFtbc0Ex\nM+sEiZN8qavmXmBr6Ym+3OPAaRFxDvA54L7GhdieXFDMzDpBonryko5lPsF/NSJGK8+XJ/2IeEDS\nFySdGBEvV7YdGRk5cpzL5cjlcnWE3R68YbeZNUM+nyefzzfkWommUEq6C3gpIq5b4nx3RBRLxxuA\neyLi9CrtMjW75jAXFDOzZmr2FMpfA74DPAlE6et64DQgIuJ2SR8FPgIcAv4R2BYRi/rts5rkzcya\nyVUozcwyzFUozcysqo5L8q4TY2aWXMd017hOjJmtVquiT951Ysxstcp8n3ySOjFmZrZYosVQaSkU\nCkxOTvLSSy8tWyfG89PNzBZryyRf2f9+8snP8pa3PMrs7EZgYf/7fJ2YS9IJ1MyszbU8yR9+Ou/v\n71/y6Xt4+OYF/e/F4mbma8T8V+C2spauE2NmdjQtT/IDA/eUZsfsqjo75mj972vW/CInnHATL710\nvuvEmJkl0PLZNfNVEQ5bPDtmfHycXG6WubnNi76/q+th/vIvf85JJ53kOjFmtmp08OyaxbNjlqvT\nvmHDBgYHB53gzcwSSH0KZeUuSq7TbmbWOCl310BPzw727btkQfJeOLtmYZ12r241s9Wmo1a8Lu6T\nv43R0VurtneddjOzDkvyPT23+enczKwGHZXkX3jhBT+dm5nVoKOSvDcNMTOrTQdPoTQzs2Zykjcz\ny7Blk7ykUyV9S9JTkp6UdM0S7T4r6RlJ+yWd3fhQzcysVkme5F8HrouIM4F/CXxU0q+UN5B0IdAf\nEWcAVwJfbHikGZPP59MOoW34XrzJ9+JNvheNsWySj4iDEbG/dDwDPA2cUtFsCLir1GYvcIKkygpj\n
 Vsa/wG/yvXiT78WbfC8ao6Y+eUmnA2cDeytOnQI8V/b6BRZ/EJiZWYslTvKS1gL3AltLT/QLTlf5\nFs+VNDNLWaJ58pKOBb4JPBARn6ly/ovAtyPi66XX3wcuiIhiRTsnfjOzOtQ7Tz7ppiF/DjxVLcGX\njAEfBb4uaSPwSmWCX0mQZmZWn2Wf5CX9GvAd4Enmu2ACuB44DYiIuL3U7nPAbwI/Bz4cEd9tYtxm\nZpZAS8samJlZazVlxauk35T0fUk/kPRHVc6/VdLdpcVTfyvpvc2Iox0kuBfbJB0oLSJ7WNJ70oiz\nFZa7F2XtfkfSnKRzWxlfKyW5F5IuKf1uPCnpL1odY6sk+DfyntKCzO+W/p1cmEaczSbpDklFSX93\nlDa1LzqNiIZ+Mf/B8UPmu3PeAuwHfqWizUeAL5SOPwjc3eg42uEr4b24APiF0vF/Xs33otRuLbAH\n+Bvg3LTjTvH34peBx4HjS69PSjvuFO/Fl4ArS8e/CjybdtxNuheDzE9R/7slzl8I3F86Pg94NMl1\nm/EkvwF4JiJ+HBGHgLuZXyxVbgi4s3R8L7CpCXG0g2XvRUTsiYh/Kr18lOyuL0jyewHw34D/Dsy2\nMrgWS3Iv/gD4fET8DCAiXmpxjK2S5F7MAceXjt/J/DqczImIR4CfHqVJXYtOm5HkKxdGPc/ixHWk\nTUS8Abwi6cQmxJK2JPei3BXAA02NKD3L3ovSn5+nRsTuVgaWgiS/F+8D/rmkRyT9jaR/27LoWivJ\nvbgJ+A+SnmN+Kvcftii2dlPXotOkUyhrkWRhVGUbVWmTBYkXiUn6EPB+5rtvsuio90KSgNuAy5f5\nnixI8ntxLPNdNv8aeC8wLmnd4Sf7DElyL34P+EpE3Faaov0XwLqmR9Z+6lp02own+eeZ/6U87FSg\nUNHmOeA9AJKOYb7f8Wh/pnSqJPcCSZuBPwZ+u/QnaxYtdy/ewfw/3LykZ4GNw
 GhGB1+T/F48D4xG\nxFxE/Aj4v8AZrQmvpZLciyuAewAi4lHgFySd1Jrw2srzlPJmSdV8UqkZSX4C+GVJp0l6K3Ap84ul\nyv01bz6x/S7wrSbE0Q6WvReSzmG+aueWiPhJCjG2ylHvRUT8LCLeFRF9EfFLzI9P/HZkc71Fkn8j\n9wH/BqCU0M4AploaZWskuRc/BjYDSPpVYE2GxyjE0n/BjgGXARxt0WmlhnfXRMQbkq4GHmL+Q+SO\niHha0k3ARER8E7gD+KqkZ4CfMP9/bOYkvBefAt4O7Cp1Wfw4Ij6QXtTNkfBeLPgWMtpdk+ReRMSD\nkn5D0gHmy31/LIt/7Sb8vfgY8GVJ25gfhL186St2LklfA3LAP5P098CNwFspLTqNiN2SLpL0Q0qL\nThNdtzQdx8zMMsjb/5mZZZiTvJlZhjnJm5llmJO8mVmGOcmbmWWYk7yZWYY5yZuZZZiTvJlZhv1/\nC/2E8BD719MAAAAASUVORK5CYII=\n",
+      "text/plain": [
+       "<matplotlib.figure.Figure at 0x7ff77c270290>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "nb_points = 30\n",
+    "\n",
+    "# generate training data\n",
+    "train_x = np.asarray(np.random.uniform(0., 1., nb_points), np.float32)\n",
+    "train_y = np.asarray(f(train_x) + np.random.rand(30), np.float32)\n",
+    "plt.plot(train_x, train_y, 'bo', ms=7)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Training via SGD\n",
+    "\n",
+    "Assuming that we know the training data points are sampled from a line, but we don't know the line slope and offset. The training is then to learn the slop (k) and intercept (b) by minimizing the error, i.e. ||kx+b-y||^2. \n",
+    "1. we set the initial values of k and b (could be any values).\n",
+    "2. we iteratively update k and b by moving them in the direction of reducing the prediction error, i.e. in the gradient direction. For every iteration, we plot the learned line."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 31,
    "metadata": {
     "collapsed": false
    },
@@ -76,33 +158,28 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "9.43585917155\n",
-      "7.13088328044\n",
-      "5.39435068766\n",
-      "4.08607254028\n",
-      "3.10043207804\n",
-      "2.35786031087\n",
-      "1.79841181437\n",
-      "1.37692426046\n",
-      "1.05937461853\n",
-      "0.820129330953\n",
-      "0.639876937866\n",
-      "0.504068915049\n",
-      "0.401744302114\n",
-      "0.324645582835\n",
-      "0.26655163765\n",
-      "0.222775395711\n",
-      "0.189786291122\n",
-      "0.164923922221\n",
-      "0.146184015274\n",
-      "0.132056728999\n"
+      "9.18032938639\n",
+      "6.99725952148\n",
+      "5.33929697673\n",
+      "4.08013102214\n",
+      "3.12383524577\n",
+      "2.39755630493\n",
+      "1.84596570333\n",
+      "1.42704442342\n",
+      "1.10888010661\n",
+      "0.867236455282\n",
+      "0.6837073644\n",
+      "0.544314193726\n",
+      "0.438440195719\n",
+      "0.358023166656\n",
+      "0.29693962733\n"
      ]
     },
     {
      "data": {
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9wAAAKaCAYAAADMJlHYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzsnXmcjXX7x99fhJClpPQklb2EDEJo+5Fdq1I9VNSjpCzR\nRkqWQlkqbbRITeuTolJKlmxliISyPpYkw2TfZs71++M6w8yY5cyYc+6zXO/X637lnHPf576mub5z\nf6/v97o+lxMRDMMwDMMwDMMwDMPIXwp4bYBhGIZhGIZhGIZhRCMWcBuGYRiGYRiGYRhGELCA2zAM\nwzAMwzAMwzCCgAXchmEYhmEYhmEYhhEELOA2DMMwDMMwDMMwjCBgAbdhGIZhGIZhGIZhBAELuA3D\nMAzDMAzDMAwjCFjAbRiGYRiGYRiGYRhBwAJuwzAMwzAMwzAMwwgCFnAbhmEYhmEYhmEYRhAIesDt\nnBvknPNlOFYG+76GES7YGDCihbz4snPuZufcKufcQefcMudcq1DZaxj5ifm/EevYGDCMvBGqHe4V\nwFnA2f6jSYjuaxjhgo0BI1oI2Jedc42A94E3gDrAFGCKc+6iENhpGMHA/N+IdWwMGEYuKRSi+ySL\nyI4Q3cswwhEbA0a0kBtffgj4WkRe8L8e5JxrATwA3B8U6wwjuJj/G7GOjQHDyCWh2uGu4pzb6pxb\n55yb7JyrEKL7Gka4YGPAiBZy48uNgO8yvPeN/33DiETM/41Yx8aAYeSSUOxwLwTuBH4HygNPAXOc\nczVFZH9mFzjnzgCuBTYCh0Jgo2GkpShwPvCNiOzMh+/L1Rgw/zc8Jjv/z+3f87OB7Rne2+5/P1PM\n/40wIKsxEHT/BxsDhufYM8CIdfI7DgARCekBlAL+Ae7K5pzbALHDDo+P27wYA5j/2xEeR47+T86+\nfBi4JcN79wN/2t9/OyLgyHYMEAT/tzFgRxgd9gywI
 9aPfIsDQlXDfQwR2e2c+wOonM1pGwEmT55M\njRo1QmJXRnr37s3o0aM9ubfdP7T337wZJkyAr76C00+H1q1XMWnSHeD3w/wmgDGwEcz/7f6huf+R\nIzBlCrz5JiQmQuPGq5g3LzD/D8CX/0LFddJSjhN3PNKyEWLb/8PBhli6/549MHEifPABlCkDN9yw\nitdey3kMBMn/j903lseA3T909xeBH36AsWNh61a48spV/PCDPQNi5fdv94fkZHj/fXjtNShVCm6/\nfRUvvJC/cUDIA27nXAmgEjApm9MOAdSoUYO6deuGxK6MlCpVyrN72/1Dc/8NG2DoUHj7bTjzTHjh\nBbj3Xli1CiapdwYllSmAMWD+b/cP+v2PHIG33tIxsGULdOoETz4J+/dDXBwQgP8H4MsLgGuAcWne\na+5/Pyti3v/DwYZYuP/Ro/Dqq/D003DokPp/376werVOvMhhDATJ/4/dN5bHgN0/NPdPSIA+fWDO\nHGjRQjcejh61Z0Cs/P7t/rB4MfznP7B8OfTsCc88A2vWaExAPsYBoejDPdI518w5V9E51xj4DEgG\n4oN9b8PIjP/9D+65B6pWhalTYcQIWL8eHnoITj01/+9nY8AIJ44ehTfeUP+/7z64/HJYuRLeew+q\nVcv+2px82Tk3yTk3LM0lY4FWzrk+zrlqzrmngDjgpWD8bIYRCCLwxRdQs6b+3b/uOp1gDRwIxYpl\nfZ35vxEtbN4MnTtDvXqwcyd8/TV88w1cckn219kYMKKFvXuhVy+47DJ9vXAhjBkDp50WnPuFYof7\nXLQH3xnADuBHoKHkVxG6YQTIpk0wbJimzpYuDcOHa8BRvHjQb21jwPCco0c1c2PIEF106thRdzMu\nyl031Jx8+Vx08gWAiCxwznUChvqPNUAHEVl58j+RYeSepUt1R2/WLPi//4OPPoLatQO+3PzfiGj2\n7oXnnoPnn4eSJTXDo2tXKBR4
 NGBjwIh4pk6F+++HXbt0PPTqlasxkCeCHnCLSKdg38MwsmPLFg20\nJ0zQ2oyhQ3WghSDQBmwMGN6SnAzvvquB9vr1cNNN+rCpWTP335WTL4vI1Zm89ynwae7vZhj5x9at\nMGAAvPMOVK8O06ZB69bgXODfYf5vRCopKVpCNGAA7N4NvXvDo49q0J0bbAwYkcyff8KDD8Knn0LL\nljB+PFxwQWjuHfIa7kihUydvYyS7/8nff+tW3cV+4w0oUQIGD4YHHtB/G9kTDb//WL9/crKmiT/z\nDKxbBzfcAJ99BrVq5YOBUY7Xv/9wsCFa7r9vH4wcCaNGabr4Sy+pVkewdzMinWj5/dv9YcYM1Sb4\n9Ve47TadF513Xr59fVQSTb9/uz/4fKrL8eijULSoCqTdemvuFlxPmvySO8/PA6gLSEJCghhGbtm6\nVaRnT5EiRUTKlBEZOlRkz57Ar09ISEhtB1BXzP+NCOPoUZFJk0SqVBEBkQ4dRJYuDfx6838jGkhO\nFpk4UaR8eX0WPPKIyD//BHatjQEjGvjtN5FWrfQ50KSJyKJFgV1n/m9EEytWiDRurOOgWzeRnTtz\nviYYYyDoommGESr++kvrMCpV0hTaJ56AjRvh8ceDJ4JgGOFCSoqu2l58sYrhVK+uCrRTpkCdOl5b\nZxih4/vvVWW5a1e48kpVHX/2WS0pMoxo5++/VZ+mVi344w9Nn50zBxo08NoywwgdBw9qHFCnjtZq\nz56tGa+nn+6NPZZUZUQ827er0vj48VCkiKaM9OplkysjNkhJgY8/1tZGq1dDmzaaSl6vnteWGUZo\nWb0a+vXT+uxGjWDBAmjY0GurDCM0HDqkKsvDhkHBgjov6tFD50WGEUt8/z10765iyQMGaFzg9Tiw\nHW4jYvn7b3j4YRU8mDABHnlEd7QHDbJg24h+fD5VWK5VS3toX3ABLFqkwUaogm3n3GPOOZ9z7oVs\nzuniPyf
 F/1+fc+5AaCw0YoHERNXnqFkTfvsNPvwQ5s0LfrBt/m+EAyIQH69tHQcOhLvugrVrVY3f\n6yDDMEJJYiJ06aIdKM45B5Yt05ggHMaB7XAbEceOHSqA89JLuor78MOquFmmjNeWGUbw8fngv//V\nHe0VK6BFC5g4MfQ7ec65+sA9wLIATt8NVAVSJUokWHYZscOhQzBunHaeAE0b79kzNJMr838jHJg3\nTwXRFi2CDh1UIK1qVa+tMozQIqKlpH366BzpjTfg7ruhQBhtK4eRKYaRPTt3wmOP6U7e+PGaNr5x\no6qPW7BtRDsiqjJ+6aVw881w9tk62frmG0+C7RLAZKAb8E8Al4iI7BCRv/3HjuBaaEQzIrqLXaOG\nanT8+9+6o/fwwyELts3/DU9Zt06fA02awJEj8MMPqtcRymDbMjyMcGDtWmjeXHe2W7SAVaugW7fw\nCrbBAm4jAti1S2swzj8fXnxRUwc3bNBdDa/EDwwjVIjA559D3bra2qtsWZg7V3cyGjf2zKyXgaki\nMjPA80s45zY65zY556Y45y4KpnFG9LJgAVx+ubZ0ueQSzfJ46SU488yQmmH+b3hCUpIuLF10kY6F\nd96BxYtVHDCU5CHD4+w0R8UgmmbECEeOqF7BJZfoAtTXX6tw7FlneW1Z5lhKuRG2JCXB6NEqApKS\nooH2ww+HfGJlGJ4govXYTz0FS5bAVVepymazZt7a5Zy7FagDBFop/jtwN7AcKAX0A+Y75y4Wka3B\nsdKINjZsUOGbjz5S1dnvv4errw69Heb/hhccPQqvvqrPg8OHdROib1/tLR9qMmR4DAzgErGsDiM/\nWbAA7rlHhTJ799ZxUby411ZljwXcRtjxzz8aZI8erQ+Z+++H/v2hXDmvLTOM4CMCX32lD5DFi6Fp\nU00XDPUORmY4584FxgDNReRoINeIyEJgYZrvWACsAu4FBmV1Xe/evSmVQf2wU6dOdOrU
 KQ+WG5HK\n7t26izFmDJxxBrz5pra9K1gwf74/Pj6e+Pj4DPfcnem5ofR/sDFg6PPgiy90DrRmjQqiDRkC5cvn\nz/fnxv/TcCzDwzkXSMBdwjm3Ec2qXQI8LiIr82CuEePs3q1lRK+8ouKwixdHTttTC7iNsGH3bhg7\nVgPtQ4e0j2T//lqrahjRjghMn66B9k8/adrsd9/pLp5zOV4eKuKAM4EE545ZVRBo5px7ACgiItkK\nQolIsnNuKVA5u/NGjx5N3bp188NmIwI5ehRef13Hw4EDqt/Rr1/+72JkFsAuWbKEuLi4zE4Pmf+D\njYFYZ8kS3cWeNUtVlz/6CGrXzt975NL/LcPD8AQRFYvt2RP27tUF2B498m/hNRRYwG14zp49qjT7\nwgs6sereXVt85dcKrmGEMyJajz1oECxcqP2Dv/1WJ1hhFGin8h1wSYb33kZ37J7NKdgAcM4VAGoC\nX+W7dUbEIwJffqnB9e+/qxDO0KHa4iUMMP83gs7WrfDEEzBpElSvrqVFrVt7/zywDA/DCzZv1uB6\n6lRo3141OypUyL/vz2OWR66xgNvwjL17deCMGgX798O992qg/a9/eW2ZYQQfEa1DHTQI5s9XpfFv\nvlG1Ta8nVlkhIvuBdKmAzrn9wE4RWeV//Q6wVUQe978eiE641gKlgf6oaM6EEJpuRADLlumOXmp9\n9vvvqyp/uGD+bwSTfft0PjRiBJQoAS+/rHWqhcJnpm4ZHkbISEnRGGHAAChZEj79FK6/Pv/nR7nN\n8sgr4TOMjZhh3z59kIwcqUH3PfeoGM6553ptmWEEHxGtyX7qKVUbr19fa7ZbtgzfQDsHMk6wKgAp\naV6XAV5H1WmTgASgkYisDo15Rrjz558wcCC89RZUq6Y7GW3aRMx4MP83ToqUFFUbHzBAu7L07q1z\nogybu+GAZXgYIeGXX3QTbvFiLS8dNiwsx0OusIDbCBn792v/7BE
 jtF67a1cVP8jP1BDDCGdmzdJA\ne/ZsiIsLn1TBk0FErs7hdR+gT0iNMiKC/fvh+efhuedUbfnFF3WSdcopXlsWOOb/xsnw/fea1bFs\nGXTqpIHF+ed7bVXmWIaHEWz274enn9YS0xo1YN48LbOLBizgNoLOgQOqKDhihK7e3n23BtoVrROj\nESPMnQtPPqkB96WXqups27aRHWgbRl7x+eDdd/U5kJgIDz2k/y5d2mvLDCM0rF6tOgXTpkHjxqrf\ncdllXluVJyzDw8gXpk/X3ey//oJnntE2wJG0+JoTBUJ9Q+fcY845n3PuhVDf2wgtBw+qkuCFF2p6\nVPv28Mcf8NprsRtsm//HFvPmqfhZs2baV/6zzyAhAdq1s2DbiE1mzdJ2LnfeCU2awKpVuhhrwbYR\nCyQmwgMPQM2a8Ntvqjz+448RG2wjIlf7szjSvr47zes+InKBiJwqIueISDsRWe6NtUY4sn27Zne0\nagWVKsGvv2pXimgKtiHEAbdzrj5wD7AslPc1QsuhQ6o6fuGFukLVpo2qzb7xBlxwgdfWeYf5f+yw\nYAG0aKEBxd9/q9jHkiVw3XUWaBuxye+/Q4cOcNVVULiwLkZ9+KE+Jwwj2jl0SHVrKlWCyZNh+HBd\nbLr5ZnsmGLGJzwcTJmjq+HffqSr/jBlQOUc5vcgkZAG3c64EMBnoBvwTqvsaoePQIVUUrFRJRT+u\nvVYnWRMn2qTK/D82WLRIxc8aN1YhqI8+UvGPG26AAiHPJzIM70lMhAcf1B29ZcsgPl4XpBo39toy\nwwg+IrqwVKOG7tp17gxr12o6eZEiXltnGN6werUuvt5zj2a/rloF//53dC8+hXIK+DIwVURmhvCe\nRgg4fFjF0KpU0Vq8a67RwfT22xp8G4D5f1Tz88+aydGwIWzaBB98AMuX6+5FNAfagZZIOOduds6t\ncs4ddM4tc861CpWNhjccPqyCaJUr67NgyB
 B9Ltx6a/RMqsz/jexIXVi69Va45BJYsUKFAcuW9doy\nw/CGw4dVFK12bd2U+O47fT7EwpgIyVTQOXcrUAd4LBT3M0LDkSNaj12lCvTsCVdcAStXalpIlSpe\nWxc+mP9HL6n12A0awPr12jf411/hlluiO9CGwEsknHONgPeBN9BxMAWY4py7KOhGGiFHBD75BC66\nCB55BG67TXf0HnkEihb12rr8w/zfyIoNGzTIbtxYM/+++06FMqtX99oyw/COOXOgTh1dfO3XTzcl\nrrnGa6tCR9BVyp1z5wJjgOYicjQ31/bu3ZtSGRqvZdag3AgtR45oz8ghQ2DzZn2wPPlkZD5M4uPj\niY+PT/fe7t278+37zf+jk6VLtb3XF19o3+D33tMgu2BBry3LHXn1/wwlEgNzOP0h4GsRSd0FHOSc\nawE8ANyfW5uN8GXRIm1xNG+eZnxMm6aptNGG+b+RGbt3w9ChMHas7ti99ZamyUbac8Ew8pOkJOjf\nX+u1GzXS+VPNml5bFXpC0RYsDjgTSHDuWCJZQaCZc+4BoIiIZGwrAMDo0aOpW7duCEw0AuHoUQ20\nhw6F//0POnaEr7/WnYxIJbMAdsmSJcTFxeXXLcz/o4hlyzTQnjJFU2UnTVJ1zUIR2mDxJPz/WImE\nv89qdjQCns/w3jdAh9zYaoQv//uftvV6/32oVUuFb/7v/7y2KqiY/xvHSE6G11+HQYO0Derjj6tg\nbPHiXltmGN6Rql/w0EOa6fHKK3DvvdGf/ZcVofixvwMuQVOpavuPxejqcO2sgg0jfEhO1pXa6tVV\n4CAuTlNBPvggsoPtEGH+HwX8+ivcdJOmQy1frjVHqSIfkRps55U8lEicDWzP8N52//tGBLNnjwpB\nVasGM2eqQOaSJdEdbJv/G6mIaBbHJZdoq6927WDNGg28YyHYNg0DIys2bNAsp06doGlTnS917x67\nwTaEYIdbRPYDK9O+5
 5zbD+wUkVXBvr+Rd5KTdcdi8GBYt06Vlj/7THcwjMAw/49sVqxQ///4Y21p\n9+abcMcd0dcfMlBOpkQi41cB2S42WUlF+JKcrOmBTz4J+/ZpumD//lCihNeW5Z7clFWE0v/BxkA4\ns2yZlk98/z1cfbWq79ep47VVueckyopyq2HwCPAlcBuqYXCpiKzM7loj8khOhtGjddGpbFktu2vX\nzmurwgOv9mZsVy+MSUnRh8fgwbpae911KoITiQ+TMMX8P8xZuVL9/6OP4LzztId8ly6xG2inIS8l\nEn8BZ2V4rxwn7vqlw0oqwg8RmD5d02VXrtQWR0OHwrnnem1Z3sllWUXI/B9sDIQjf/4JAwdq1l/V\nqhpQtG0bucr7eSkrMg0DIzN+/llTxpcv11aQzzwTmYuwwcKTzX0RuVpE+nhxbyNrUlJ0R/viizVV\ntnp1VWH+7DMLtvMT8//wZfVqVVWuWVNburz6KvzxB3TrZsG2n7yUSCwAMmqRNve/b0QIy5drj/nW\nreHMM/XZ8M47kR1s5wHz/xhl/35tZ1SlCnz+ubb3+vVX3b2L1GD7JMhNm9NG6LhJyzf+940oYO9e\nrdNu2FBfL1qku9wWbKcnxqoPjczw+XQnb/BgrbNo0wYmT4Z69by2zDBCwx9/6Grs++/DOefAyy/D\n3XdDkSJeWxZeBFIi4Zx7B9gqIo/7TxkLzHbO9UFTCjuhO4X3hMxwI8/89Zfu6L35JlSqpIKB7dvH\nZJBh/h+D+Hzw7rsqhJaYqC1QBwyA0qW9tswb0mgYBDpDNA2DKOaLL1S/IDERRozQwDvWdG0Cxf63\nxDA+n6aKP/20pge2aqViUA0aeG2ZYYSGNWs00H7vPShfXnctuna1QDuXZNzVqwCkHPtQZIFzrhMw\n1H+sATpY/V54c+AAvPACPPssFC6s/77vPv23kQ7z/yjlhx+0TnvpUrj5Zh0LF17otVXeYRoGRip/\n
 /qlp459+qplP48erzk0kEuz2wKlYwB2D+Hzw3/9qoL1iBVx7re5eXHaZ15YZRmhYt077yL/7LpQr\np31Tu3WDokW9tizyEJGrs3vtf+9T4NOQGWXkGZ9PF6Aefxy2bz++o1emjNeWhSfm/9HH77+rCOAX\nX+i8aN48aNzYa6vCAtMwiHF8PnjtNXj0UZ0vffCBtgiO5IynELQHBjyq4Ta8QUTrsS+9VFdry5fX\nB8n06RZsG7HBhg26g12tmvr9889r8P3AAxZsG8acOZrh1LmzPhNWrtQxYsG2EQvs3Km7djVrqgp5\nfLxqeViwfQzTMIhhVqyAJk3g/vs1yF61Cm65JbKD7VBiO9wxgIiu1D71FPzyi7awmDtXB45hxAIb\nN6qa8ttvwxlnwKhR8J//wKmnem2ZYXjPmjXwyCO6INuggT0fjNji8GF46SXNevL59Fnx4IO2CJsR\n0zCITQ4e1LExYgRUrqwLs02bem1V5GE73FGMCEydquJn112nIh+zZ2vfSJtMGbHApk3Qvbu2b/n8\ncxg+HNavh169LNg2jF27dCxcdBEsXqximQsW2PPBiA1EVMfmoot0wem222DtWk0nt2A7YDLTMDgm\niCYiC9Ag+17gF+AGTMMgYpg5E2rV0k2KAQN0086C7bxhO9xRiAh8/bU2nl+8GJo1U/GPK6/02jLD\nCA1btsCwYTBhApQqpauzPXpA8eJeW2YY3nPkiIrcDB4Mycn6X1uEMmKJn36CPn20rK51a92cuOgi\nr62KPEzDIDpJTFTBwEmTNIaYOlVbBRt5x3a4owgRrUtt2FBbexUtqrvZs2ZZsG3EBlu3aj12pUra\n6u6ZZ7Ruu39/C7bzA+dcd+fcMufcbv8x3znXMpvzuzjnfM65FP9/fc65A6G02ThOqo7HxRfrZKpj\nR00nf+wxC7YDwfw/8vnf/3Qn+7LLYM8e+PZb+PJLC7YNA/QZMWmSBtdTp+qmx
 Q8/WLCdH9gOdxQg\nAjNm6I72woUq8DFjBlxzjYkZGLHBn39qy5bXX9fAetAgVVc+7TSvLYs6NgOPAGv9r+8EPnfO1Umt\n4cuE3UBVtBUMBNAOxsh/Fi/WHb25c7UzxZQpGngbucL8P0LZs0dLikaPVhHACRPgzjuhYEGvLTOM\n8GDtWi3B+/57XZR64QU4K6O+vJFnLOCOYER0YAwaBPPn64rt9OnQooUF2kZssG0bPPectqkoWlRr\njB58EEqW9Nqy6EREvszw1gDn3H1AQyCrgENEZEdwLTOyYvNmbfE1ebKqL0+frgG3kXvM/yOP5GQN\nrgcNgr17Ndupf38oUcJrywwjPDhyRGu0n3kGzj7bnhHBwlLKIxARFTJo1gyaN4ejR+Grr1Ts5tpr\nLdg2op/t2zUl9sILVXn80UdViXzAAAu2Q4VzroBz7lagGNm3eCnhnNvonNvknJvinLPkzRCwd6+O\nh6pVNW329ddh6VKbSOUX5v/hTaqWTe3acN990LIl/PGH6hVYsG0Yyvz5EBcHTz6pWYErVtgzIljY\nDneEMWuWrtTOmaODZNo0FfywINuIBf7+G0aOhJdfhlNO0Z2K3r1Vgd8IDc65mmiAURTYC1wvIquz\nOP134G5gOVAK6AfMd85dLCJbQ2FvrJGcDG++qROo3bt1YeqRR6y8Ir8w/w9/fv1V/X7GDLjiCi2n\niIvz2irDCB9271btjldf1bGxeDHUqeO1VdGNBdwRwty5Gmj/8ANceqm2OGrXzgJtIzZITNRA+6WX\ntObu4Yc10C5TxmvLYpLVQG2gNHAjMMk51yyzoENEFgILU1875xagqbf3AoOyu0nv3r0pVapUuvc6\ndepEp06dTvoHiFa+/VYDjRUr4PbbtWa1QgWvrQpv4uPjiY+PT/fe7t27s7skJP4PNgZyy19/wcCB\nuuBUqZLqFLRvb/Ok7MiD/xsRjAj897+6m713L4wZox1c
 TMsg+FjAHebMm6eB9vffa2rUZ59Bhw72\nADFig507tbboxRfV53v10oDi9NO9tix2EZFkYL3/5RLnXAPgIeC+QK51zi0FKud07ujRo6lbt+5J\n2Ror/PabLkJNn649Un/6CerX99qqyCCzAHbJkiXEZbElGir/BxsDgXLggIqhDR8ORYrov7t3h8KF\nvbYs/Mmt/zvnuqO+fr7/rd+AwSIyPYvzuwBvoWKBqTPXQyJS7KSNN3LF5s3axeWLL3Qh6qWXbEE2\nlFgNd5iyYIGKnzVpomm0n34KS5bAdddZsG1EP7t2wRNPwPnna7Dds6e29xo61ILtMKQAUCSQE51z\nBYCawLagWhQjbN8O//kP1Kql7b0+/RRmz7ZgO8SY/3uEzwfvvgvVqsHTT8O996rS8oMPWrAdRFKV\n+uP8x0xUqb9GNtfsBs5Oc1QMtpHGcVJSYOxYbX3388/wySea/WHBdmixHe4wY9Ei3dH+5htVlP34\nY7jhBihgSyNGDJCUpLsTY8boQ+KBB3Tn7swzvbbMAHDODQW+RiddpwG3A1cALfyfTwK2iMjj/tcD\n0ZTatWgKbn90sjUh5MZHEQcP6hgZNgwKFdIskB49LMgINub/4cOcOdrmLiEBbrxRu1VUquS1VdGP\nKfVHFr/8Avfco+Pkvvv0mZGhSiVmEBFmz57DqFHvsm3b35QvX45+/TrTrFlTXAh2MoMecOc2/SRW\n+flnDbS//lpXoT78EG66yQLtaMDGQM78848GEKNHq+p+jx7Qrx+UK+e1ZUYGzgImAeXRXYvlQAsR\nmen//FwgOc35ZYDX0V2NJCABaJSNyJSRDT4ffPCBit38+aeOk4ED4YwzvLYsZjD/95g1a1Qsc8oU\nzeSYO1czAY3Q48/Y6EiASv1oNsgS4HERWRl8C2OX/fvhqad0TlWjhpanNmrktVXekZSURIsWXVi3\nrg5JSQOBCsBm5s+fSKVKo5gxYxK
 lg6y+G4od7tT0k7X+13ei6Sd1RCSr1bCYISFBA+0vv9S0qPh4\nuPlmEzCIMmwMZMHu3Zrq9MILcPiwrsD276+9II3wQ0S65fD51Rle9wH6BNWoGOHHH3VH7+ef4frr\n4bvvoEoVr62KLcz/vWPXLm3p9fLLUL689pXv1Mk2JbzAlPrDm+nTdS61bZv21u7bN7azn0SEFi26\nkJAwEJG09VYVSUoaTELCz7Ro0YVFi6YEdac76AF3HtNPwppNmzaRmJh4Ut+xejW89pqmRZ13ng6K\na6/VQHvZsnwy1MiSsmXLct5554XkXtE4Bk6WPXtg3Dh4/nlNj+3eXVsXlS/vtWWGEV6sW6dj49NP\ntX3L7NnJMmhGAAAgAElEQVTQrJnXVhlGaDhyBMaP12D76FGt1e7dG0491WvLIo98TKm1ThVhyPbt\nOjbi4+Gaa7RrhS3Kwpw5c1m3rk6GYPs4Imv55ZdVNGnShDP86WLBUOoPaQ13LtJPwpZNmzZRo0YN\nDhw4kI/fqWmBAwfm21caOVCsWDFWrVoVsqA7lWgYAyfD3r2qjDlqlKY83XOPpseec47XlhlGeJGU\nBEOGqGjgWWfBpEna6st29IxYQES7svTvr4KZ99yjwfZZZ3ltWWSSnym11qkivPD5tBVev36q6fHO\nO/Dvf8emwLLP52PcuBcZNmwy+/btp0SJ4pQtW4ikpPezuaoTR4824vTTh/LFF28A2Sv155WQBNy5\nTD8JaxITEzlw4ACTJ0+mRo3sRBmNcGXVqlXccccdJCYmhizgjqYxkBf27dNUwJEjNeju1g0efxz+\n9S+vLTOM8OLoUXjlFQ0uDh+GJ5/UVPJi1kTHiBF+/lnTYOfOhZYttV67Zk2vrYpcQpBSmxel/q/y\nciMjPatXa6eKOXOgSxfdzChb1murvGHDhg3UrNmaAwfaAJ8AFTh4cDM7dowDWgPTyVogvwLbtv0d\nVPtCtcMdcP
 pJWsI5naRGjRq28hYFxMfHEx8fn+69YKSSkIcxEM7+Hyj792s64IgRWq/dtasG2taO\nIjwIof8bOSCi/VH799fWRnffraVGpmdgxAqbN+vzYfJkDbCnT9dSO+PkyDmltj5r19Zi7twfadas\nabbfZUr94cHhw/Dss6o6ft55qulxzTVeW+UdPp/PH2y/AzRI80lF4HngFqAVsILMO2Jvpnz5IKv0\nikjID2AG8Eo2n9cFJCEhQcKNhIQECVfbjMDI6XeY+jlQVzwYA+Hs/4Gyf7/IqFEi5cqJFCokcu+9\nIhs3em2VEQjZ+T/QHViGKjTvBuYDLTOel+Gam9GavYP+a1vlcH7E+39uSUgQueIKERBp3lxk2TKv\nLYptshoDofB/icExsGePyBNPiBQtqs+M114TOXrUa6sij5SUFBk9eoyceWY9OfXUGnLmmfVkzJhx\n0qrVXQIbRZf1sjo2SNu23UQkx2fABDSd/CDwF/AtcHWaz2cCb6Z5/QKwwX/+n8BUoFbG75UY9v/c\nMnu2SPXqOrd6/HGRAwe8tsh7xowZJ9A3Bx/vK/Bipp+VKTNAZs+ec+z7ghEHeNWHO+D0E8OIUqJy\nDBw8CK++qj1Rd+6EO++EJ56A88/32jIjn8iV4r5zrhHwvv+aL4HbgCnOuUvF2sKwZYuOj3ff1dYt\nX32lKbSxWHsXIZj/5yMpKVp7OnCgZkD16QOPPgqnnea1ZZFHVum0vXq9iHM/ADmJBAWWUium1O8Z\nu3ZpBtTEidC4MSxdGpulFiIniv/Nm7cY+DyHKx9AJZQeSPeucz9TufJymjYdHCSLlVD04c42/cQw\nop1YGAOHDsHrr8Pw4bBjB3TuDAMGwIUXem2ZkZ9I7hX3HwK+FpEX/K8HOedaoE+8+4NnaXizb5+W\nWYwaBSVKaNlFt24qeGOEL+b/+cc338DDD8OKFXDHHTB0qKbGGrkn+3TaUYh0RNNpV5J5Oi2
 EJKXW\nyBMi8MEH0KuXzrXGj9e67VgU0MxK/A/+z//v7KgAJAEbgfOATZQpM5HKlZfz7bfvBLUlGISmhvss\nYBJQHk3BWg60EJGZIbi3YYQDUTsGDh2CCRO0jmj7dlXGHDAAKueoP2pEOgEq7jdCC6jS8g3QIYim\nhS0pKaog+8QTqkLeu7fu6GWQajAiAPP/vPHbbxpoT58OTZvCTz9B/cxLi40syLjDd/DgDv/OdoMs\nrmgAtAHGk3F3L5UyZSbSr1/n4Bhs5JkNG7Sn9jffwI03ajvVWO3qIpK1+J/KA2wma1E0gM2ULl2C\nyy8fyl9/HW+L17Tp4KAH2xCaPtzZpp8YscW7777LsGHDWLduHSVKlGDXrl2ADqRatWpx++238+ij\nj+bqOx999FFmz57NggXh2WUrGsfA4cOa1jRsGGzbpu2KBg60no+xQC4V988Gtmd4b7v//Zjiu+9U\neXn5crjtNh07FbObGxhhifl/3ti+HQYNgjfegAsu0L7y119v5RO5JfMdvvpAzxyu7AlcT2YBd6hS\nao3ASU6G0aN1zJQtq4Ka7dp5bVVoybiwVLhwCqtX1yJz8b/OwIvAqGy+8SUGD+5Kz56ZLzoFG0tg\nyyVbt3ptQeTy+++/c9ddd9G6dWsee+wxiqXpc/P++++zZcsWevTokevv7d27N2PHjmXatGm0bds2\nP002MnDkCLz1lqb/bdmigcPAgVCtmteWGSEkT10n0uBQMZJsiQaVfoBVq3RH76uvtO5u4UK47DKv\nrTJSyYNSf0j8H6JjDBw8qIHD8OFaMjFqFPToAYULe21Z5JH1Dt9BAkmndW4vpUsPJCmpK6kptcWL\n9+aUUxZwxhmX0qGDJl5Ypwpv+flnuPdeXZzt2VO7VcSSroGIMG3al/z730+wb98ppKRUQ2UAXkd1\nKzOjB3AxmnSUWabHTxQv/hU9eqwIjtEBYAF3gGzcqEHGW295bUnkMm
 vWLESEsWPHcsEFF6T7bNSo\nUXTq1InT8vBX5ayzzqJDhw6MGjXKAu4gcfQovP22joFNm+DWW7U/cPXqXltmhBoRSUZVagGWOOca\noLWq92Vy+l9oSUVaynHirt8JjB49OqJbL+7YAU89Ba+9pjvZH3+sKYG2oxdeZBbALlmyhLi4uEzP\nD5X/Q2SPAZ9P604ffVSzoB54QBdnTz/da8vCn9SdvZEjJ7FmzXr++WcfpUsX5vTTS7F6de1MdviK\nE0g67Zlnns5HHzVn5Mi0KbV9aNq0SbqU2uz83wgee/fqGHnxRahVCxYtgnr1vLYqdIgIU6dOo1On\nXhw4UAgojC4ktQe+B5aiMkiZUQDts90S7bndk9RFJXiJ4sW/4rffvqaAh4XvMVhynzs2bVJxgqpV\n4fPPdbXJyBvbt+sco2TJkuneX7p0KcuWLaNjx455/u6OHTvy448/smHDhpOy0UjP0aOaOl61qo6D\nhg1V5Ob99y3YNo6RneL+AiBjd9DmZF3zGvEcOqQq/ZUrw3vvqTjaypVw000WbHuJiDBr1mzatu1G\nXFx72rbtxuzZc1LbEJ0M5v8Z+PFHfVbcfjvExan/jx5twXZO+Hw+hg0bTuHC1bjqqm589dUvrFlz\nHTt2fMSaNVezaNEm9u3LLLshNZ02O15iwIDOXHFFM6ZNe4PFiz9n6tQ3aNasaa7qV51z3Z1zy5xz\nu/3HfOdcyxyuudk5t8o5d9B/bauAbxgjTJ0KF1+sJRfPPae73LESbKcG2qVLX0yHDgM5cOBWtNvc\nMmAM2sZ9Cerjt5F1glBF4Etq1JhPuXIdKVbsEsqV68i4ceezZ88KKnpdw5Vf/cXy8yAMevBt2iTS\nvbvIKaeIlC0rMmKEyL590d2He+bMmeKckylTppzw2XvvvSfOOVm4cGGevvv8888X55wUKFBAnHPi\nnJOnn35aRESefPJJKVq0qCQnJx87/+DBg1K9e
 nWpXr26HDp06Nj7u3btkrPPPlsuv/zydN+/e/du\nKVCggIwZMyZHW8KhD3d2Rzj4/9GjIm++KXLhhdqj8KabRH791TNzjBCSQw/WoUAT9MlWExgOJOPv\nw4qKAw5Lc34j4AiaD1YNeAo4BFyU8bsljPw/L/h8IvHxIhUran/Unj1Fduzw2ipDRJ8b9eq1kzJl\nBvr7EacIbJQyZQZKvXrtJCkpKd352fThDrr/SwSPgbVrRW68UZ8ZcXHaL9jIGZ/PJ++/Hy8FC14g\n0Cedj2rv4Or+fy8QaCfgy9BHOMV/zqIs+g8vkuLFa0hKSkpA9uTwDGiDbiNW9h9DgMNAjYznyvEx\ncDTNGHjaf37UPQPywtatx8dMy5YiGzZ4bVFo2bVrl8TFtZUCBS4VuErgpyx8eIFAe//4mJNlr+2M\n/bTzSjDiAE8D6yyN8nCwbdki0qOHSOHCImecITJ8uMjevcc/j+aAW0SkYsWKcvPNN5/wfuvWraVK\nlSoiInL48GFJTEwM6Ejl888/lxtuuEEKFCggr7/+urz33nvyqz+Ca968udSrV++Eey5atEgKFSok\nffv2PfberbfeKsWLF5e1a9eecH6VKlUytT0jFnBnzdGjIm+/LVKpkv51uOEGkWXLQm6G4SE5TLYm\noOm0B9F02W9Tgw3/5zOBNzNccyNa93oQVei/NuP3Spj4f16ZN0+kYUMdM+3bi6xe7bVFRio+n0/q\n1WsnzmU+kXPuJ6lfv734fL5j12QTcAfd/yUCx8CuXSJ9+ugGxbnnikyaJBJgbBfz7Nq1S+rWbSNw\nYbYBM9TwB9aPZRFwbPSf00dgg//cDQJ9pXjxGrJx48aAbcrtHAjYCdyVxWcfAF9keG8BMD6b74so\n/88LKSki48eLlCwpUq6cLtam+RMUE6T+bYZXBToLDMwykNbjEYEPBW4K+G95XglGHGA13H7+/BOe\nfVZ7CRcrpsqAPXvGllAB
 wO23387o0aPZu3fvsXrqxMREZsyYwcCBAwEVmbnrrrty/C7nHCkpKQC0\nb9+epUuXMmXKFG688UZOT5Nbtnr1aho2bHjC9Q0aNKB///6MGDGC66+/nm3btvHhhx8ybtw4KlWq\ndML5F154IStXrszTzx3rpKRAfDwMHgxr1kCHDvDJJ1CnjteWGeGE5KC4LyJXZ/Lep8CnQTPKQ9av\n1xrVjz+GSy+FmTPhqqu8tip28fl8jBv3IsOGTWbfvv2UKFGcW25pzJo1WSnbgkh91q6txdy5P9Ks\nWdNsv9/8Pz1HjsArr+hz48gRnTf17q1zKCNnRFQEbcmS6kB1sm/r1Rpt63UvmmiR0VcrAisoWrQV\nRYtez5EjRyhRojgDBnSmR48VQaldtdZ4eWPFChVFW7AAunXTsqMyZby2KvTMmTOXdevqAD+jiUJd\nc7iiO5pQsRJ4HB0Loe+nnVdiPuDetk3rJV57DYoW1R7CDz4IGcqM88yBA7A6UO3SPFK9ev494Dp3\n7szw4cP55JNPjgXVH3zwASkpKdx+++0AtGzZku+++y5/bgjs3LmTMln8tXnqqaf46quv6Ny5M/v2\n7eOqq67igQey6iNZhl9++SXf7IoFUlLgww91wvT779C+vQrdRKhOj5ENIulbbKT2oMxtDZ8B//yj\nAoLjxmnLlrff1h70HuqxxDwbNmygZs3W/n7EnwAVOHhwMy+99CLwMXAPWYlKJSV1ZeTIoTkG3IYi\nopo2/fvDunVw992qpHx2zDU7OzmOBxxfoz6bHQ+gse19wIZMz3AugUsuKcqiRUuC+jfdWuPljYMH\nYcgQDbArV4bZs6FZM6+t8o6RIyf5W9v1RDeTc1bahy1AI0qU2MIll/ThyJGUkPfTzisxG3Bv365O\nP348FCmiuxS9ekGGDhwnzerVKhoSTBIS8i9AqlatGvXr1+e99947FnC///77NGzYkAsvvBBQVfCz\nzso
 ovHpyiKYRncApp5zChAkTqF+/Pqeeeipvvvlmtt8RzoMtnEhJ0V25wYO1bVHbtjB5cuyIdMQa\nmfdu3cz8+ROpVGkUM2ZMonTp0l6bGfYcPaqLs089pZOnxx/Xll/Fi3ttWWzj8/n8wfY7pN8lrIj2\nZe0ItAJWkLlWbAW2bfs7+IZGAUuWQJ8+Giw0b679tC+5xGurIpPjAYcuEGVPBWA/qkaeiMc7fCFr\njRctfP89dO+uQswDBmjMUSQrqcUoIruFfv2bWwFt3HCQQJT24QDQgBo1vmTevCkRNeePuYD7779h\n5Eh4+WU45RR45BENtIM116xeXQPiYJLfatGdO3emV69e/Pnnnxw8eJCFCxcyfvz4Y58fOnQo4D6N\ngQTmZ5xxBklJSVl+Pn369GP3XbNmTZZKg0lJSZQtWzYgu2IVn09TxZ9+WpVjW7XS3bkGWWWyGRFP\natriib1bK5KUNJiEhJ9p0aILixZF1sMrlIjAtGnQrx/88QfcdZfu6J1zjteWxR6ZTeAuuKC4f2c7\nkJTczDKkNlO+fLlgmRwVbNkCTzwBkybBRRdpX/mWLU15Pztyyio6HnAE1tZLz5sIjKNEiQme7fBJ\niFrjRUMf+sRE6NtXx02zZqpGHisdXnJa6C9bthTq151Rv54IDM7mG1/Gue3ExU3j228n5Zuvx8fH\nEx8fn+69oPSiz69i8Pw8CIJgwt9/i/TvL1KsmMhpp4kMGKBCH7kl2kXTRER27twphQsXllGjRsng\nwYOlSJEisnPnzmOfv/3228eUxrM7ChQokO57n3rqKSlQoEC67xJR0bS4uLhMbVm+fLkUKVJEunbt\nKnFxcVKxYkXZs2dPpueaaFrWpKSIfPyxSM2aKi5x7bUieRScN8IUn88nM2f+IJdd1lpKlqwlJUvW\nkoYNr5fRo8dK6dIDshUjSavsGY3+fzIsXSpy9dX6/+maa0R++cVri2KXrNTGnavh
 f521j6uAVP2A\nlG1tDBxn716RgQNFTj1V5MwzRV55RcU1jewJRBm/TZuu/s/GiaqRZ+e/fQUeFlVqXpRv4lCZkQfR\ntO/JIBaY5rMPgM8zvDePKBdN8/lE3nlHxZfLlBGZMCG2hAQDEausXv0q/9zEJ9BW4GrJTqW8QIEL\nZOrUaUHz+7SYaFoe2LkTRo3SRvLO6W52377WDzI7Tj/9dFq1asW7777LoUOHaNmyZTqRs/yu4W7U\nqBHPPfccR48e5ZRTTjn2fnJyMl26dOHcc89l7NixbNiwgXr16tG7d28mTJiQ7jv27NnDunXr6NGj\nR77ZFQ2IwJQpmgK7fLmmAL7+OjRq5LVlRn6SlJTE1Vd34tdfd5CS0hLdyavAwoWbWbjwBeA34B80\nAzCz6wOrYXXOPQZcjyr8HATmA4+IyB/ZXNMFeAt9eKUuSR8SkbCWVtq6VVP/3nkHqlXTnYk2bWxH\nzytEss7U0Dl6oCm56XHuZypXXk7TptntrKSeGzv+n5Ki2U8DBkBSkoqhPfZY/unbRBsi6Xez1637\nH7t334+mfaf+2tNnFY0Y0Yf58yeSlPQUcDFa+pBZlsZPwBTgQkqVqk3VqkM9E4dyzg1Fi843A6cB\ntwNXAC38n08CtojI4/5LxgKznXN9gC+BTkAcKqoQlaxdC/fdB999B506aQ/6fK7CDEvSjoE//ljP\nhg1HETlI+j99qefWZ/v2xpQrN5Pdu9sj8i7aY7s7cC1pyyXgBapUWcaiRQlZ6j1FAlEbcO/aBc8/\nr6I2Iqo43revCtwYOdO5c2duuukmnHMMGTIk3Wf5XcPdoUMHhgwZwuzZs/m///u/Y+8/88wzLF++\nnJkzZ1K8eHFq1qzJk08+yYABA7jxxhtp1arVsXNnzJgBQLt27fLNrkhG/KI2Tz8Nv/wCV18Nc+dC\nkyZeW2bkNyJC8+ad+eWXo8CrQPpgROc7C4Eu6KQts0lawDW
 sTYEXgcXo82M48K1zrobokzUrdgNV\n09w8bOv39u/XRdoRI1SM8qWX4J57tATJCB0ZA5jChVNYvTortfHAUnKdA5GNnETda9T7P2i9aZ8+\nukjbqRMMHw5ZVHIZwK5du2jUqC3r1xckObk48C/gDuBXVIx7EmkXO1OV8Z1zVKr0CwkJCYhMR3UG\nWqNlD6nBxjjgM84//wwuvvg8+vdvT9OmTbws/zkL/YHKo369HGghIjP9n5+LSk4DICILnHOdUGn1\nocAaoIOIRF1LmaNH9dkxeLAKCH79tZZdxAInjoEL0MB5BqqjkX4MACQldaNBgy2UKjWEtWtrkZT0\nMrARGAb8lwIFUoiLq8HIkQ/TrNnYiC95i7qAOylJV5PGjNEV2h49tO7uzDO9tiyyaNeuHaeffjop\nKSm0b98+qPeqW7cul1xyCR999NGxgHvp0qU8++yz9OzZk2ZpZBwfffRRPv/8c+69915+++03SvqX\n2z/55BOaNGlyTNgtVhF/remgQbB0KVx5pSlhRhuZBSK//VYauJT0wXZaGgI1gB85sZ0MBFrDKiKt\n0752zt0J/I3uWPyY/aWyI8cbeEhKitbZDRigdXcPPaQ1q/ktpGlkTapvDxs2kTlzFnLkSCFESgA1\n0YD6P1lc2RmNg0dl8+0v8sADzVm/fih//fV3nupeo9n/QXU9+vXT+uzLL4dFi0zfIyd27dpFhQqX\nc+DA9ah/ap2q1qMuA3qR2WJnUlJXRo0ayowZk2jRoos/4JgGTAVuAnZTqJBjyJBu9Ou3LihtvfKC\nWGu8TFmwQFt9rVqli1WDBsWOmGZexwBUIDExiZ9/nsKcOXMZOXKY/2/z+fTr96TXC0v5T37lpufn\nQR7qN5KSRAYN0ibyp54q0revyPbtAV8eMLFQwy0ikpycLOXKlZN77rknJPd79913pVSpUrJ79+5c\nX7tt2zY59dRTZerUqQGdH4013D6fyJ
 dfitSrp/UuTZuK/PBDwJcbEULmdYG3+Y9Aali75WsNN1AZ\nSAEuyuacLsARdOl6E/rUze78kNfvff+9SJ06+v/illtE1q8P2a0N0Xq/zz//QooXrybwYLqaVxgg\n0EKgu7/OLykTH04RqC6wKAvfXyTFi9eQlACLKAMdA8Hwf/FgDGzfLnLffSIFC4pceKHqfYSgTDLi\n8Pl88sMPs6RNm65St247ad36bqlQoYHAwiz87id/zfUTAnMyfJYscXHtj33vrFmzpU2bbhIX117a\ntu0ms2fPCUmtamZE4hzIK/75R+T++0WcE6lfXzU/YgmfzyfVql2ZxzGwQdq27eb1j5ApVsOdCbt3\nw9ixuqt96JDWTfTvb/0gT5bPPvuMxMREOnfuHJL73X777YwYMYKXX36Zxx57LFfXjh07ltq1a9O2\nbdsgWRe+iMA33+hq6k8/6a7E99/DVVdZrWmkIqK7fCNHTmLNmvX8888+SpcuTOXK1Vi/fgN//PEc\nImm3nfZCwD0sT0wbz00Na/rrnAPGAD9K9umBvwN3o6mHpYB+wHzn3MUisjVXN81nVq/W58XUqdCw\nIcyfb/oGoSYpKYmrrrqVZcvWAu8Dl6X5tCLwDFrDOhQYQOY7JQWA6WgKYxu0r2tqSu5LFC/+Fb/9\n9nW+7hJGg/8fOqRld0OH6vPiuefggQdio11RbslccfkTtIz5siyuqg/UAi5BU2rTZhcdzypyznHF\nFc244gpLRYsUROC//9Vy1b17Nau2Rw8oWNBry4JH6twkrep+8+a1WbfuUvIyBsqUmUi/fqGJMcKB\niA249+zRB8ULL8CBA9rf7pFHoHx5ry2LbH766SeWLVvGkCFDqFu3Lk1CVPTrnGP58uV5unb48OH5\nbE34IwIzZmigvXAhNG6sr6+5xgLtSEVEmDp1Gp069eLAgUJAYXQDrTs7dvzKmjWzgDqcKKoTeA/L\nQoWSSE7eSD71b
 h0PXARcnsPPtRAtIgfAObcAWIWqogzK6rpgtoRJTFR9g1degQoV4IMPoGNHGzuh\nRkT1B5Yt2wHcQtaTtgbohO0IOnnLrDSiIqVK3Ujnzvv48MOO7Nu3nxIlijNgQGd69FiRZbB9Ei1h\ngur/ELwxIAIffqi9gLduhfvvhyefhDPOOKmvjTrSLn7OmjWfAwfeJr2PfgsMzOFbugJDgPQVBeES\nbISsJVIUsXmzLkx98QW0a6dthivktN4d4WTV4uubb+4gOXlyDlefOAbyutAf0eTXVnlWB/AYujy9\nB+279xlQNYdrskwn2bNHZOhQkdNPFylSRKRnT5GtW/OWMpAXoj2l/M4775RTTjlFGjRoIL/99pvX\n5gSFUKeU53YMZOf/Pp/IjBkijRtrSk7DhiLTp1v6XyTj8/nkiy+mSsmSNQRqCzyeIaW2l0BrgRkC\n14q20EibljVboLPAwGxTyk877REZO3ZcjmmLgfg/8BLwP+C8rM7J7gA+At7L4rOgpRMeOiQycqRI\nqVJafvTccyIHD+b7bYwAmTVrtpQo0VmgiQReEpH63/SfO/dTvrVKymkMBNP/JchjYN48kcsu0/9n\n7duLrF6d77eICtKX73woWtqQ0Sfb+f9OZ+e3yf6/292C4qvBwFLKMyc5WWTsWJESJUTKlxf59NPo\nnnulllC0bn23FCtWPYu08dyMga4CG6RMmQFSv357SUpK8vpHzJJITSnPq6pnOvbt01WkkSM1feOe\ne7RFxb/+FSSrY5S33nqLt956y2szoo2THgMi8MMPuqP9449Qv74K27RsabtykUxSUhLNm3dm6dKt\n+HxnA89xosr4aHSDbDjHtZnS7u41BUYCW4CfyVw4bSHVq6+iZ8/hPPjgyTmMc+4lVHr3ChHZlIfr\nC6AqWF+dlCG5QAQ+/lh39DZt0oyoQYNMTNNrRo6cxL59yajKeKAlERWApWhJdL5kauSKSPR/gP
 Xr\n1f8//hjq1IGZM7X0yDgRkYwt6LqR+U52OQLJLNJ2dHcAG0Pqq0b+8csvKoq2eLGWrg4bFt2Cmul3\ntK8FziHzDKTAxoBze6hSZTVVqw7NtVhltBD0gFvyruoJaIuW8eO1Rcvu3dC1Kzz+ePSnbxjRw8mO\ngVmzNDiYMwfi4lSFvHVrC7QjneOTurZoO9+K5KwyXpsTawEdkHUPy4IFx1C79lq+/XbyST/gnHPj\n0T6q7YH9zrnU/oC7ReSQ/5x3gK3i78PqnBuIrhisRfuC9Pf/sBNOypgAWbhQVWMXLIC2beHLL6FG\njVDc2RA5seavX7/ONGvWFOecvxWdoG2UAglcdHJXsCA0aNCHI0dS8qQ2nlci0f//+UdrtMeN07ao\nb70F//53dNeanixz5sxl3bo6HG9Bl7rQk5HO6K/xmWy+7TWKFfuT6tWf55xzzorZYCNS2b8fnnpK\ndaJq1IB586Jf5yPwBScIdAxUrVqAVavmxrTfe1HDXRp9wu7K6cTJk/VISoK779ZA23pBGvnFQw8N\nZsiQPscmfyEkoDGwZAk8/LDubF96qfbVbtfOAu1IIadgI3VSp7vSyWidU3Z0J7NaQKU08CXFi3em\nYlSgTSsAACAASURBVMUf2bLlK5wTLrqoEsOH98pPH++O+u6sDO/fha4EgM5MU9J8VgZ4HTgbSAIS\ngEYisjo/DMqKjRs1C+qDD6BWLfjuO9U4MEJDVjV/8+dPpFKlUcyYMckvGnUQXSSaCGRXzzcOndy9\nRuXKRZk371MvJm8R4/9Hj8Jrr2mwcPCgtrjr2zd2WhXlhM/nY9y4Fxk2bPKxev8nnuhMz549GDly\nkt9nU8lqF68p2oruJ07U1gBYRPHin7N582LKlCkTnB8kxDjnHgOuB6qjg3c+8IiI/JHNNV2At9Cx\nkzpoD4lIsSCbe1JMn6672X/9Bc88o/OxU07x2qrgE/iCEwQ6BhYsmBfTw
 TYQ/BrutAc60KYBs3M4\nry4gBQsmSLdu4dWiJdpruGOB47UZ06RMmYFSr167dLUkwaxfCmQMpPo/JEjt2iKffRbddULRSObt\nuzam87c2bbr6P2sn2u4o0DqomzL9PL/qAiO9fu+ff0QeeUQ1Ps4+W2TiRK29M4KHz+eTmTN/kIYN\nr5OSJWtJyZK1pFixCwVekRM1B4776g8/zPLXcA/wj4OfsvD9hQJXCSyQ4sVryK5du4L680TyGPD5\nRKZOFalWTVsV3X13aHVuIoF169ZJkSKVBR6S9HoZfaVYsepy8cXXZPh7PFuy1shIEm171EdUXyBF\nYIMUKtRbqle/Kui+Ggyy83+0FOLfaMrVJf75zEbg1IznprmmC7rYdCa6elEOODOb8z2t4f7rL5Fb\nb9Xf7zXXiKxZ44kZnnF8bpLq4xlfZzYGrpVChXrHxBjI6xHqHe6AVD1TqVu3N9u3l+Khh46/l18q\ntYYB5UlKqsHixbO44ILqNG2qq3NBVugMeAxcdFFvKlQoxZtvwptv6nvm/+GJSPrd7HXr/sfu3fej\nqd2pq7oVSUoaTELCz7Ro0YXkZB+6ahy4yrjWAu4DHgYe4GRrWKNJoTY5GV5/Xcsv9u/XrhX9+kGJ\nEl5bFt0kJSVxzTW3s3x5NVJSxpC6k62bum8AnwPxaBaGIlKftWtr4ZyjWrVdJCRsAZ5AMzhqodke\nqW29XgM+o0CBq6ha9XHmz58XNbuF+c0vv+gu9syZms3x4YdQu7bXVoUXO3fupHLlaxD5gBNb0I3i\nwIGOrF7dCdXEu8D/WeouXmYaGaWBJ6hWrQ+VK+/mr792pClzeD7qdvUk7yVyIiKZpWeFDT6fllw8\n/LCWXEyaBHfcEZ1ZhT6fj7FjxzF48Nvs2bMP5wpQteoZvPzycP78czvpd7Q7k30GUmlKl67H00+f\nxbffDuWvv/6O6jGQZ/Ircs/pIBeqnoSpQqGI7XBH
 A8dXrhKOrdCVKTNAZs+ek+Hz/N3dCHQMhLP/\nGyeyc+dOqVq1kRQq1MS/A323HFe1bedf/U2/IlymzABp2LCNf9U4MJVxeFjgcoGFUq3a5dKmTdds\n1cbzSqTt7vl8Il9+KVKjhu7ode4ssmXLyf9/MHLG5/NJvXrtBBZk4bM/CVzjHwcZd7o3SNu23SQp\nKUkuvbSVFCxYV+BRgQ/8OyrXCjSUwoXPkxYt7shXH8+JSBsDW7eK3HWX+n+1aiLTpllWVFrSqi0X\nKnSuwGM5/K3tI0WLtsxiJ3tAul28SFBczi258X+0d2UKcFE253RBe/ptRFfRpuRwfsjnQKtWiTRr\npr/rzp1FduwI2a1Dzvr166VYsWr+rIz0GR5woZx2WlWBZWl83yfZZSCFu+p+XojYHe6TVfUMR1at\nWuW1CUYeyex3l5TUlZEjh9KsWcbervlDNI4BA3bt2kWFCpdz4MD1wH84vrs3EVgG9ELnGlM4vtOt\n/uZcH8qUmUhS0tMEojIOUylZsi3Vqg3j22+nUbp06UzOiy2WLdPdiO++gyuvVM2PunW9tio6ETlR\nk6B589qsXn0xKuqXGfWBRugcO6O6fgW2bfub0qVLk5DwJbNnz+Gxx0aycuXXafQHHvdCYyNi2L9f\nO7eMHAnFisGLL6qScizUmQbKiWrLf6B/q7OjJ8nJLXDuZ47XsZZG/47PBfpRrNhKrrqqEf37d4lZ\nETSnP/QY4EcRWZnNqb8DdwPLgVJAP2C+c+5iEdkafEuz5vBhePZZVR0/77zo1/rw+XzUrNmaAwcm\nkb7mWjM8oCN79/4b5+5EJAGdtzhUoqILGTOQTHU/cIIecAei6hlJlC1blmLFinHHHXd4bYpxEhQo\nUAyfr2yadyr4FXPzn2gbA7FKxoDj7LPP5NdfV3DgwNucmJo4GA2eh6BlbicGG0eOpFCp0i8kJCxG\nJGuVcXieIkWmc8UVDXniiQ4
 0bdok5h9s27bBwIFaalGligkKBpusBNC++eYOkpMn53B1VzRdPKO6\n/ma/aBo457jyyitYsOCKYJgfdaSkaLrrgAGQmAi9eqmobDS3KcoLIpmpLQfWgu6UUwpx6aVDWLu2\nFklJaQOMGVSufIRvv51ni54BlsiJyEJ01RgA59wCYBX6oBsUTAOzY84c+M9/YO1a6N9fx9Opp3pl\nTXBJnb/cf/+jHDjQmswFzvC/3w6RxWhJ0L3+923B6WQJxQ53IKqeEcN5553HqlWrSExM9NqUmGTP\nnj3cf/+TbNlSjb17rwPOQv8oHAB6Z3PlC2jrmVsA/MH2eWk+Pz75CwJRNQZikcwDjk+A08i8NyXo\n7l4tNODOPNh4992RtGjRxT+pexnNuBsG/JcCBVKIi6vByJEP06zZuLB4oOVFodZ/3c3oKsT56BbT\noyLydW7vf+AAPP88PPccFCkCY8aoiqzt6OU/qRO0kSMnMWvW/EwXlpKTyxBY/+y9qPbAccqUmUi/\nfp3z0+Sg47X/g3at6NNH67U7dtTduQsuyPm6WCRzteXAWtCddloJFi2awpw5cxk5MmNdqgUY/qy9\n1kBTEdmWm2tFJNk5txRNR8+S3r17UyrDKlJ+6NgkJWmAPWGCtvhauhRq1jyprwxr0s9fjgAP5nDF\nA8CNlCo1ngIFNkf9glPItGzyKzc9Pw+shjWmSVtvVaXKlXLmmfWkSpXG0qrVXVKt2pXi3KIMNST1\nJHsFRfHXXNXP8vNQ1HAHepj/hwdp/bBYseqiSslp/SYn5c5Uv+vqr/3L3N98Pp/MmjVb2rTpFpSa\n7NwSBIXaRsBRoA9QDXgaOEwWNXyZ+X9Kisg774j8618ihQuL9O0rEoHCpxFDepX9VD2CzPw70DFw\nm0C3iKn5y2oMhML/JYsxsHq1SLt2+v+vYUOR+fND+X8kMslcbflDyVkv40EZN+5Fr833jJzmQKge\nzWbgws
 w+z+kACgArgVFZfB6UOZDPJxIfL1KunEjJkiKvvKLPlmgmVWfDudT66xoSWEeUiyQurn1Y\nzU1CScTWcBtGIPh8Pp599jkGDXqL5GQBSqLqiO3ZseNN1qz5AajDiakw+wl8l+VEnPuZypWX07Rp\ndj1gjVjixLq/czhxJzu73pSpVEBrs4+fl9HfnHNccUUzrriiWb7ZHywkbwq1DwFfi8gL/teDnHMt\n0GX0+3O65+zZuqO3ZAncdJPu6FWqlOcfwcgBkczScAdmcXZn4FVgeDbfOBGdX98BbIzomj8v/D8x\nEZ5+Gl59Fc49V/vKd+xo5ROBoGViGdWWZ6D6GlnpZSyiaNGv6dFjdAgsjDwCKZFzzr0DbBWRx/2v\nB6Ip5WvR3OT+aIrBhFDZvXEj3H8/fP013HgjjBsH55wTqrt7x4lZHsUJrCNKUcqXLxcxc5NIoIDX\nBhiGiBAf/wGFC1fmiScSSU6egWps/Bcd+K3RSd/z6N9ryfANqX9AsmMzhQqlUKbMQHRDwodO/gZS\nr96QiJz8GcEhbcCRlDQY+Bb1v4yUIxC/0wWh1GAj6vytNDogd2VzTiPguwzvfeN/P0v+n70zD4+q\nSv73exJETdjiguCIqCCLC0sAhZ8GXBkVBHVmmIlLGAUdFVSC4riAMiiiA8imuIF+ATU64oggbqAQ\nUFYDCCiIYFCUZQSaHYUk9fvjdKDT6T29d73Pcx/o2/fec9L9qb63zqlT9eOPcN11NhlatWowfz68\n84462+FCRJg7t5CuXXvTpk03unbtTWHhPAoL53kIw/U2sJQDfIPL8kw3lgILqVVrBdnZI+nadSjT\npnVm8eJpyRKOGDH9g12n3bix/XfoUFizBv7619R0tr3pVcT9eeAodpmY6290DkeTWT6JHUjaSPnz\nADxMWloua9Z8SlqaPh574U7sbMhcYLPL1sPlmAZAPZfXWdg6gd8CM4EaQAcRWRvpzpa
 U2KSC55wD\nq1fD9OkwdWpqONsAw4dPdoaEl5MHjPNz1nMcd9zJCbfkJ97RGW4lpjgcDq644haWLVsDvIW3rIlw\nNbAaaEvlBFTlPyAjfLT0HCNH3kPLli11PZZCaWkp997bj1demUVJyWGqVTuGf/zjj4we/SxffPFl\ngA5HHnaA/gkfLb1ERsZmmjUbyamnnpJUegsiQ209YJvbvm1UfCCrxF/+An/4A7z5pnUy9Pk3fOzc\nuZP27buwYcN+ysoEO/Zewty5E0hPX8aePW+6HF3utHiaESnPXvsXbJR1f44m+3uZ9PRPaNHiFD7/\nfH6yONhHiLT+wWYdv/NOGDwYTj455K4mPN6S9i1YMJFGjUYwa9Zkj/oaMCCPBQsmOgdOoWK25fOB\n87CO988Ys4fTTvuNFSu+4oQTTojOH5aAiIjfX2IRucztdX/sj0NU+eoruP12WLkS7rkHnngCataM\ndi9iS+Uojz7Audjnak+J05YAMzj33Cbk5FwchR6mDupwKzGjfCZx2bJm2Bw0vrImXoNNiNkbGEpF\nh9v/D0hm5of07buatLQ0DY9JQUSOZhjfsGE9a9duBP6MnWhqwOHDm3juuXE8/3xjLrqoFQ7HaJez\nvTkcOdhBniV41t1iMjPfZ9Omr8jKygr/HxV7AspQ6wVD5VCVCjRokM8559SmoADK85mEI2FOqrNz\n505OO609Bw/WAK7FZqG1Dsz+/aOBE4F/YpcrG+zA0kRszi9P1KFOnQsZPPgU3n67P99+uwERw7nn\nNmDYsFFxX9arCglzIqp/gOzsfDZtqk0vlwmqVLOBykscymmIwzGEoqKldO7ck8WLp1XSWceOOTRq\nNIKiIm/lvca5ZVtOvQoQUUsYFUX27rVVLMaNgxYtYNEiaOdp9UAKcDTKo/z5JQ34GDuJdQ12ZUv5\nIOk44H3OP/9MZs+eknK2EHHCtRg8nBuaNCopKE861aVLL8nOvl
 a6dOklc+cWHkm4MHduoTMpTzBJ\nz0oqJaCy20ZnMoj+zmNLnf/eL5mZzWXjxo0B91uTpiUXFRNA/SDQTMA98V75tligocAhl32FPpLs\nOJx6rKi7atXypVmzS2VnAmb2CkT/2KQ5PwKnezvG5dgfgXvd9g0Glns5XvUfZlwTAFav3ljgUoEl\nXjS9UKC1U/ciUCZwrdfj4z0BWigEmDQqIvoXtYEKHH1O8P584JqE0h2HwyHt2nWTrKyBFX6js7IG\nSrt23cThcET5L4p/EvkZaPp0kQYNRDIyRIYPFzl8OLTPIFnwbj+lAmOdz9WNJT29sZxzTgeZM2du\nUv2Wh4omTVMShkBCwOzakkHY8kqBJJ/ajx2pq+7h/YbAa5x2Wm8OHZrPvn37qVEjk4ED8+jTZ7Wu\nx0pRRNxnR8YBXfAdTfEn7DK1ic595TPZnpLs1AEepWnT/jRuvJutW391WaowMilHiJ3lYLoDnUTk\npwBOWQhcDox12Xelc78SYSonADyMrU7lbcqnPXAFMBzoSMUw3BbYutrlJWISNwFaqKj+I4fI0Uik\nLVvssq8dO7Y4SyZ6x+HoxfDhQ+nYMafSe3Xq1NHyXinA5s1w773w7rtw1VUwfnzylcvzZB8DBuT5\njCLyHOUBdqb7HoxpT9u2T3qMEFHCizrcSpURsclMHnlkDN9++wMAJSX7OHBgAPAP7AMbuIeAlZSU\nYR3pQLMmZmJrbm8BHsA1FObog1/yrRVUQqdyhs7J2AEeX9yDfR4uJxCH44OU0F0oGWqBMUChMaY/\nNmFOLjar8+1R7XwKUnnAqTdQitWwL+4Gurq8dg3DHeAWhps6TovqP3J4G6RPTx+N/U2egtWhJxo4\n16p6JpEqQSjBUVYGL70EDz0Exx1nlx8lY2LBUPMYGGOYNWsynTv3ZP36Fm41tVNvwDSWqMOtVAmH\nw8Hll9/EypVNKS0dTfmPgE1I+QrwPlCA6
 41SpB3r17egadPlzmMDS3oGnbCJ00bStOn9NG68y21G\nMXUe/JTAOBpFUU6gJeRKMcbbur/UdTiwU/+CzVDryq3YUQko/wCdiMhCY0wuNvnCUOB7oLv4TjSl\nhIHKA07/w359/m0gLe13atce5PaANovGjQ/x6adfpsQAkwdU/xGg8sBQOQ0pLR2FzZPRE/sb7Om3\ndpNzraqSSqxeDXfcAQsXQu/e8MwzkIz57nzZh788BqBRHvGCOtxKwLiHs9SrdzIbNvzAd98Nw4Yh\nltMQ+1xxHfAw1qF+H9cbpcPRC2P6k5U1EYdjMP6zJk4DzqJ27ZY0afJUyswoxis//fQT27dvj3U3\n/LJhwzrgV2CHy96PgPo+ztpMtWplNGnyAJs2nc3evddhEwpvpWbNaTRo8D/Gjx9PTWe60+XLl0eq\n+xHjpJNO4vTTTw/6PAkhQ61z37vAu0E3GKckiv4HDnwWh+N2YJlzTxrwO4HYwLnnNuCeexoyeXI+\nO3bs5KSTTiAvrwutW1/HDz/8EOmuRxTVf9UIt/6Lipbx3XenIJLOUa26Ug04GbvMJ7vSuzVrjqd7\n9/YsW+bpXMUTodpAPHDwoC2T98wztkxkYSF0jHLwQjTvAf7sQySdtWtPZuLEiWRnV7aPcmrWrMGQ\nIXdV2JeIzy/hICb6D9di8HBuaMKQuKNi4qmNzoQLbwvk+0l2NlAgT2Ce2/4SadOmm7Rte60Ys8Ql\n6dn9bknP8gXOkDPOaCNduvSSwsJ5EU/okMgJQ6LBjz/+KBkZGeWfkW4JuGVkZMiPP/7o8ftV/ftG\n9Z/4my/9i6gN+EL1nxxbqPcA7CzKEmAPtrzde0AT9+M8nPcXYA1wEFsM/Wofx3rV/2efiTRuLFK9\nusjgwSK//RZefQeC2kDib7G4B+gMt+IRkaOz2Zs3b+OHHzayZ89ERFxnoD8FBnm7hJNewKPYaDvX\nhCY2BGzKlOEua0s+
 AGZgyzXtplo1w5NP9mbAgA2a9CyO2L59OwcOHOD111+nefPmse6OEiRr1qzh\n5ptvZvv27Qk7wxFLVP+Jjeq/aqj+E58q2kAOdg3gV9jQg2HAp8aY5iJy0NMJxpgOwJvYeoMzgRuB\nacaY1hLg0ort2+H++2HyZOjUCWbMgGbNgu16eFAbSGxidQ9Qh1upROXkDMXALCqHe/+PwNbD7gX2\nVdiblTWRAQPy3NaWDHOuLWntXFuSejUxE4nmzZv7DF9SlGRG9a+kMqr/1ERErnF9bYz5O/ZhsA3w\nhZfT7gM+EpFnna8fN8Z0xma+vdt3ezBlCvTvbxOkTZgAt90WH0nR1AaUYFCHW6mAiKfkDE/geSa7\nLoFlF68JZBzZY8xSGjdeSU7OEOdrzSCqKIqiKIqSYNTBht7u9HFMB2Ck275PsOX1vLJpEzz4IHz2\nGdx4Izz7LJxyiq8zFCV+0TjdFERE+PzzOZxzTg7VqjUhPb0xWVktGD16LHPnFrpltQXvM9l5wIt+\nWpuIldnNwEaysgbRtu2TWoZAURIQY0yOMWa6MeYXY0yZMaabn+M7OY9z3UqNMZpSWElI1AYUxWLs\nQ9xo4As/oeH1sOu9Xdnm3O+VHj3ghx/go4/gjTfU2VYSG53hTgFc12Nv2vQzxcU/sXdvdaALcAfQ\ngF27NpGfP4q0tFGUlU1xu4K3mewcbCmvRVTMUl7OUmAhtWpto3HjkZx66ilahkBREptMYAXwKoFn\nXRagCXZtid0h4r1orqLEN2oDimIZD5wDXBTCuQZrF175299g/HjIzAyla4oSX6jDneRUXI89ELtk\npj7wNFCxnh+Mpqzsb9iSot9wNAAiDztTPcTt6gabDO1m4CygP+X1WuFl0tM/oUWLU/j88/lawktR\nkgAR+Rj4GI7MbgTKryKyJzK9UpTooTagKGCMeQ64BsgRkS1+Dt8KuM9P16XyrHcFNm7MJze3doV9\
 nubm55ObmBtlbRfFOQUEBBQUFFfbt3r077O1EJaQ82BAsJTy4rsd2OIZgHeETsYOR7byc1R64Cjtw\nWU4OdkB/qYfj6wCP0aRJEe3b96d27dbUqnUdHTqs4rPPRlFUNDPlnW3Vv+LKlClTaN68OdWrV+eE\nE044sl9EOP/883n66aeDvuZDDz1Ehw4dwtnNcGKAFcaYzcaYT40x/y/WHVJiRwrqH9QGFCfJoH+n\ns90duFREfgrglIXA5W77rnTu98qoUaOYPn16hU2d7cQn3mwgNze3ks5GjRoV0rV8Ea013OUhWH3w\nE0KihI958+a7rceeDJRgS3X54j7nseWUz2Q/iU2ethEoo3xNdrt2Q1m8eCYLF/6XXbu+ZvfuFSxY\nMINOnTpq6LhF9a8A8N1333Hrrbdy9tlnM2HCBF5++eUj77355pv8/PPP9OnTJ+jr5ufns2LFCj74\n4INwdjccbAH+AfwJuAG7NmWuMaZVTHulxIQU1D8kgQ2ICHPnFtK1a29uuqlfrLuTsCSD/o0x44Gb\nsKW99htjTnFux7kcM8kY85TLaWOAq40x/Y0xTY0xg7FZzZ+LeIeVuCIZbCBUohJSXoUQLKUKDB8+\n2VnWq5z/Yf29QEt5uVIHmAa8TO3a19G4cUPq16+ra7IDQPWvlDN37lxEhDFjxnDmmWdWeG/EiBHk\n5uZSs2bNoK97yimn0L17d0aMGEHXrl3D1d0qIyLrgHUuuxYZYxoB+UBPX+fm5+dTu7aGEyYT8aj/\nSIcTJroNVC4T+iveI+QUXySJ/u/EPkjOddt/K0dnahoApeVviMhCY0wuMNS5fQ90D7QGt5I8xKMN\nRAtdw50guCY+27Llf0ec3Y4dc7w6u1u2uGcXrwscJJBSXtWqlVKz5iAcjl6Ur8vOyppI48Yr+fTT\nuSkfJq4oobBtm12yVqtWrQr7ly9fztdff12lMKYePXrQo0cPiouLK93I4owl
 BJBkZ9SoUVrjNMmI\nR/17cmCXLVtGmzZtQu5LAMSlDZSVlTF27Dieeup19u3bT40amRx7bAk///wicKHzqB1R60+ykQz6\nFxG/kbEicpmHfe8SeJJBJUmJRxuIFloWLAFwOBxccEF3brjhM2bOHMSyZdOYOXMQ118/mwsu6M6u\nXbs8nle/fnl28XLysGMsE/20OIaRI+/hvfeupEuXobRpcz1duw5l2rTOLF48TZ1tJWmZM2cOaWlp\nvP/++5Xee/PNN0lLS2Px4sUhXfvMM89k8ODBAJx88smkpaUxZIhNRDht2jSOPfZYcnJyjhz/22+/\n0bx5c5o3b87vv/9+ZL/D4aB+/fpcfPHFFa5/xRVXICJMnz49pP5FkVbYMFslzlD9R424s4Hi4mJq\n1jyX/PxN/PrrVA4eXM2vv07l558vx05Ken7OSCZU/0qqozYQOeJ6hjsewqlijWvis4q1sRvicAyh\nqGgpnTv3ZPHiaZVmugcMyGPBgonOhGlgk58NB37GJkDzFBa2iIyMj+nb9xvS0tLo1KljJP6suCFa\n2QlDIV707x5dkZGRvON0l156KaeffjpvvPEG3bt3r/DeG2+8QePGjbnwwgs5dOgQe/e6L7vwzIkn\nngjAmDFjmDRpEtOmTeOll14iMzOTFi1aALBw4ULOO+880tPTj5x33HHHMWnSJC666CIeffRRRowY\nAcDdd9/N3r17mTRpUoV2atWqRaNGjfjyyy+57777AupbsPo3xmQCjbGJHQDOMsa0BHaKyCZjzDDg\nVBHp6Tz+PqAYW/bgOOB24FJswhwlzkg1/YdCMtpAWVkZ5513DQcOTAIucHmnIbb051Js9Pu0WHQv\naqj+lVRHbSByxLXDnWohhZ7Cxq+8siXr17d0c7Zdz2nH+vUtmD//Czp2zKnwXseOOTRqNIKioqXO\n8w0wBZvr4k7gj9g63OWlvJ4lI2MW3377MWlpyetUuRK
 jcMKAiAf9V16/1wD4CKg8+umJAwdg7dpI\n9tDSrBlkZITnWjfddBOjRo1i7969R9YSbd++nVmzZjFokM2JUFBQwK233ur3WsYYSkvtUrZu3bqx\nfPlypk2bxp/+9KcK2TnXrl1L+/aVa9lfcMEFPPjgg/z73//m+uuvZ8uWLbz99tuMHTuWRo0aVTr+\nrLPO4ttvA18WF4L+2wJzsGv4BBjp3D8JuA2oR8V1LNWdx5wKHABWApeLyLyAO5ngRMMGVP+WYPUf\nIklnA+PGPc+BA12o6Gy70g5oAXyBzQEaOKr/pNO/EiRqA2oDEOcOdyrh2bHZxCefjKWkZDU2nMtz\nKLfD0Yvhw4dWcriNMcyaNZnOnXuyfn0Ll/XYz5OZ+RglJQWUlExFRKhVK4N//as3ffuOThlnW6lI\neSbahx8ezpo1PwNQWlrC/v33Ygdmyid06gd8zbVrIRpjF0VFEK6xiby8PIYNG8bUqVOP3FDeeust\nSktLuemmmwC46qqrmD17dngaBHbs2EFWVpbH9wYPHsyHH35IXl4e+/bt49JLL6Vv374ej83KymLF\nihVh65c7IlKIj6VIInKr2+vh2LCalCUaNqD6t0Ra/5CcNjB06GRgqp+jemFDy+8K6tqqf/8kkv5T\nkapG+akN+CcVbCAqDre/EKxo9CGe8RU2XlIyEptfpTycy1OCtAbOBGmVqVOnDosXT2PevPkMHz6U\nrVvLE67dQU7OZM0uHgUSQf8Oh4PLLstl1apfKS0tr8NuB33smv/u2ASkwa3fb9bM3ggiTbNm4btW\n06ZNadeuHW+88caRm82bb75J+/btOeusswCbEfOUU04JX6PY3wFPHHPMMUyYMIF27dpx/PHHF1bY\nNgAAIABJREFU8+qrr/q8htp0fBENG1D9H72G6j949u3bT2DVSzw/Z/hC9R8Yqv/4pKpRfqA2ECjJ\nbgPRmuH2F4KV1IgIc+bMpW/fx1
 i3bhsiZdSqlcHjj/fm3nv7Mn/+F271st25gKPhXDke3t/kTJDm\nGWMMnTp1TPr12HFMXOtfRLjyyjxWrDgMvEjFtf0NgSGEuoYvIyN8o67RJC8vj379+rF582YOHjzI\nokWLGD9+/JH3f/vtt4DX+gdyUzrxxBNxOBxe3//444+PtPv999/TsKHnKgMOh4OTTjopoH4pgeM6\nw7Fhwzr/J7iQiDag+k98gqlsUqNGJgcP+q9eYiudBIfqX/WfqHifDAs8yg/UBtQGLNGqw+0zBCuZ\ncTgcdOrUg1WrfgW6YENzG7Br1yby80fxyCPn0L59GxyOp/xcqTycq7LDnZU1kQED8sLedyU8xLv+\n582bz3ffnQC0xnt91dDX8CUiubm59O/fn4KCAg4cOED16tXp0aPHkffffvvtoNcv+aJZs2YUFxd7\nfG/VqlU88cQT3HbbbaxYsYLevXuzatUqj7Uqi4uLadWqld/2lMBJxTrEqv/ExtsStQULJtKo0Qhm\nzZpcodrIo4/m0a/fOGyCNG+Mw+Z5K4to3+MB1b93jDE5wACgDdbzvE5EvKaFNsZ0wk44uCJAfREJ\nPmQigrgvqyspOczvv5+AyEFsl+Nz5jQSqA2EH13DHQbKR5KHD5/M99//wK5d+6hTpzqNGzdlw4Yf\nWLcuDXiFyjOHozl4cBFz595EqOFcxiylceOV5OQMqXyKogTA8OGT2bevBDuo44vQ1vAlIieccAJX\nX301U6ZM4bfffuOqq66qkOAj3OuXOnTowDPPPMPhw4c55phjjuwvKSmhZ8+enHbaaYwZM4bi4mLa\ntm1Lfn4+EyZMqHCNPXv2sGHDBvr06RO2fqUaWofYovpPXEKpbHLPPX145JFzOXCgB54Tpy3huONm\ncNlluyguXs+aNdH4S2KH6t8nmcAK4FUCr6stQBPgSFrreHO2/S+rG0Eoy+oSFbWBCCAicbcB2YAU\nFRVJvLNz5
 05p2/ZaqVPnUYGNAqXOfwcKXCRwvcAgAfGxtXee4+uYYqlWLUeg2NlGsWRlDZR27bqJ\nw+GI9ceQVBQVFZWHfmdLguq/rKxM5syZK1269JLs7GulS5deMnduoZSVlVU6Njv7WoGuTl350mCJ\nQDcB+/kkgn1WhXfffVeMMZKWlibvvPNOWK45ePBgSUtLkx07dlTYX1RUJGlpaTJr1qwK+x977DFJ\nT0+XwsLCI/uGDh0qxhj58MMPKxw7depUSUtLkw0bNvjsQ7m+vX1/vvSPDbGZDvyCnerq5n6Mh3Mu\nAYqA34B1QE8/x8fk9/+HH36QjIxmAve7/ZbfL3CtgMNpB6r/UEkE/bsek4g2MHduoWRl+X7myMoa\nKIWF8yqct3HjRsnMbO7U+9HnDLhfMjOby8aNGwP+/JKBZNV/eXuh3gOkok796h/oBJQCtXwdJ2HS\nfyiUlZVJmzZdBS4TWOLFbpY4n3/K9B5QBeLBBqp6Dwh1i9sw10RApHwkeSC7dj2JnbVOc/77BHap\n7jr8L9PthzGjfB6RlTWBkSP/QpcuQ2nT5nq6dh3KtGmdWbx4WoXQMEVxOBxccEF3brjhM2bOHMSy\nZdOYOXMQ118/mwsu6M6uXbsqHG/X/9fCjuT6IrQ1fInKtddeywknnECtWrXo1q1bRNvKzs7m/PPP\n5z//+c+RfcuXL+fpp5/mnnvuoWPHo/kXHnroIdq1a8cdd9zBnj17juyfOnUqF1988ZGkJhGifHaj\nD/Zm5BNjzBnAB8BnQEtgDDDBGBM3NYjBvQ7xCCr+lo8ABmFzGPj9k5MG1b9X4toGhg+f7KxI4h1b\n2WRyhX0NGzZkz57VjB7dkLp1e5CRcT516/Zg7Ngz2LNntdc1k8mK6j+sGGCFMWazMeZTY8z/i3WH\nXDm6rO4iAltWlxqoDYSZcHnu4dyIsxlub7OFc+bM9TuSDPcJzPVzzGEx5kwxxvPImjFLpF
 27bh5n\nJ5Xwk8gz3GVlZdK27bVBaWnu3EKpUSNP/EdiPOzU8oyUGN0tKSmRunXryu233x6V9qZMmSK1a9eW\n3bt3B33uli1b5Pjjj5cZM2b4PTbKsxvPACvd9hUAH/o4J+q//6NHj3XO7PnS/0CBeSkzu5Gq+nc9\nJhFtwEYs+Y9WatOmW9DXdv1sVP/hJVr6F4n6PaAJcDs2SUx7bHz2IaCVj3Oieg/o0qWXwI0SSKQp\n9NZ7QIRIxHtAMJvOcPvB12zhddfd63ckGfoBL/s55mdOPLEObds+SVbWIGAj9ndsI1lZg2jb9kk+\n/XRS3Ka6V+KHefPm+8x4L9KO9etbMH/+0VHajh1zaNp0J/AlNhu5JxZRu/YHZGePJCdnYtj7HY+8\n9957bN++nby86CQkvOmmmzj99NN5/vnngz53zJgxtGzZkq5du0agZ1WiPeC+0OsToEMM+uIVW4f4\nHj9H9cKu4UsNVP9hI2w2IGKTOnXt2ps2bbrRtWtvCgvnlTspQHnEkv9oJV+VTRTVf7gQkXUi8oqI\nLBeRRSLSC1gA5Ps7Nz8/n27dulXYCgoKwt5HW1Z3D5EqjZeopIoNFBQUVNJZfr5feQaNJk1zIbCE\nOVCefMQ6KIEYqL8yMmN47LHb6Nu3j4d62Xnk5AxRZ1tBxH+ZFxtOOMjndWw44VA6drQZ740xzJ49\nhcsuu5GVK++ktPSP2Gz6pwM/kZ4+mpYt1/PZZ/OoU6cOy5Yto02b4MqDJRJLlizh66+/5sknnyQ7\nO5uLL744Ku0aY1i5cmVI5w4bNizMvQkb9YBtbvu2AbWMMceKyO8x6FMlIlmHONFQ/YedsNhAoJnH\nBwzIY8GCic5nFM9oZRPvqP6jwhJs/LZPRo0aRXYU6mnZwaeD2IEqX0snNgEnA5sj3qdYkmo2kJub\nS25uboV99jm3TcjX9IQ63E6Ki4uda/i6AFOBBs66lOOwmZk9ZSc8k
 8AM9CB25tDTrOMiMjI+pk+f\nb7RetuKVQB+27Eitf8fBHneUOnXqUFQ0k8LCeTz88HC+/fY6jBHOOacRw4b181i7NVl54YUXeOON\nN2jdujWvvfZarLuTjJQLyef61/z8fGrXrl1hn6cbozcCGaAqJ5J1iBONVNN/QUFBpVmzQOvLVoGg\nbWDevCXs3t0EaM5RnVbOPN6xYw6NGo2gqGipx0gnrWziG9V/VPTfCtgS6UYCvQcMGJBHYeFE9u2b\nCHi3i/T00TRqtJZTTpnI/PmR7n3sSDUbiBrhik0P50aU12+UlpY6s9Mu9rJuwzU7oev+QoFH/Kz5\neETgQoFWzjWwxXI0++c9kpHR7Ej2TyU+iLc13MGsy7ZrkfyvQ+ratXeVP59kX7+UrER5/V4h8Kzb\nvr8DDh/nVPn3v7x6hM2xcTTjeFbWIGnb9tpKlR0CW8PdX+BtgaWq/wQmBmu4q2wDwWYedzgc0q5d\nN8nKGijhrmyiv/+JTxUrVWRik/+1cuq/n/N1A+f7w4BJLsffB3QDGgHnAqOBw8Al7tcWL/oPhWDu\nAYFlKV945DlLbSCx0TXcMWTcuOedM9ue6k+C9+yEOcBKYJGX85YCq4ExNGmSQfPmX1CtWmfS0ppS\np053xow5m717v0m57J9KcASzLnvAgDyysnyvsdZwQiWKLAQud9vX2bk/IogcrUNsw2obUp5x3M4G\nDqJz557lD3aArUOckTETG+noCVuH+JprPqF58/sj1XUlOamyDQSbebxOnTosXjyN9967UiubKOGm\nLbAcW+ZOsOV4lgH/cr5fj4phdtWdx6wE5gLnA5eLyNxIdTDYe0D5srrWrY8lPf1O4BFccymlp/cj\nO1tzKSlVQ0PKKU+YM9XPUb2woeU5LvsMMJTatW/GmGvZtet2yte9wgTgK2rXPp8mTZ7i009n6k1O\nCYlg1mVPn/6yhhMqEcMYkwk05mhI7FnGmJbA
 ThHZZIwZBpwqIj2d778I9DXGPAO8inU8/gxcE6k+\nBjNAVZ7HIC0tjW+//Zhzz72a/fuvAfpy9Lf8OTIzP+Sbb2bRsGHDiKztUhKHWNhAKEuFdImaEglE\npBC8T9aJyK1ur4cDwyPdL1dCuQfosjol0iStwy0S+Pq9qiTMycp6h/feew6A4cOf5Pvvf2DXrn3U\nqVOds89uxoMPdiMn52I1VCVkgnnYMsYwa9ZkOnfuyfr1LZyzItZxyMqaSOPGK3WUVqkKbYE52JmN\n8tkNgEnAbbjNbojIRmNMF+BZ4F7gZ6CXiLhnbQ4boSQOhKN1iMeNe56nnupxJHHmwIF59OmzmrQ0\nDQhTgBjYwNHM476i4TTzuKJA6PcAYwyXXNKJhQs7RbqLSgqSlA53oAmmygk1YU75bGHHjkOOjCYr\nSrgJ9mGrPJxQM94r4SbY2Q2Xc6o8JRzoIGqoiQPBznTfd9893HefvxJhSqoSCxvQzOOKEjhVuQco\nSqRIOofbde1GxXCSytk8yx/SHn00j379xgEjfFx5HHAldk2HzhYq0SOUh61ohBOuWbMmYtdWIkci\nfm/BDKJGazYwET9HJTG/t3jMPJ6In6NiSdTvLtBBV70HKL6I2fcWruxr4dyoQobCYLN5igSSpXyx\nHHfc2XLNNbdJmzbdpGvX3lJYOE/KysqC7p8S/yRylvJo8OOPP0pGRkb5Z6RbAm4ZGRny448/evx+\nE13/odwDVP+ptfnSfzzagEhkM48Hg+o/ObZEugeIBJd1XO8BulVF/5GygYSa4RbxP7oVytqNYBLm\nKEq0ibd12aeffjpr1qxh+/btUWlPCT8nnXQSp59+eqy7ERDBJsCJ9Gyg6j/xSST9lxMvS4VU/8lB\nItmASHCRq3oPUPwRE/2He2QqHBtVGN3Kzr7W+Z73kS0okTZtulUa0SgtLZXRo8dK3brtpHr1P0jd\nuu1k7NhxUlpa6nUUJFK
 8+eabUW9T27fE4+iuiJ3pmzu3ULp06R3xSItU/v5Tvf14038oteWrOhsY\n6+8/HvqQyu3Hmw3EglT+/lO9/XjTfygz1ol+D9D2Y9t+QtfhNsb0McYUG2MOGmMWGWM8T1d4QCTw\nmnpH1274wvPajfKEOdu2LeGPf8xm27Yl3HNP35hkpy0oKIh6m9p+ZKmKDTjPp1OnjnzwwSt89dX7\nzJjxSsRKVcT689f241v/wWjZGNPTGFNmjCl1/ltmjDkQaFuhJMCpah3iePj8Y92HVG/fF9HUf6yI\n9eev7cen/o0xOcaY6caYX5xa7hbAOZcYY4qMMb8ZY9YZY3oG02awdegh8e8B2n586r8qRCWk3Bjz\nV2zpjDuAJUA+8IkxpomI+I3JCCakULN5KvFIVW1AUeKFELW8G2jC0drFEmh7oSbA0TrESiSItv4V\nJc7IBFZga8q/6+9gY8wZwAfAeOBG4ApggjFms4jMCqTBULOO6z1AiSeiNXWbD7wkIpNFZC1wJ3AA\nW7PSL8GMbtm1GyswZqnH446u3bg4uL9AUapGlWxAUeKIULQsIvKriPzPuf0aaGMDBuSRlTXR5zE6\niKpEkajqX1HiCRH5WEQeE5FpHB1A8sVdwA8i8qCIfCcizwNTsXYUEFWJXFWUeCHiDrcx5hhs/cnP\nyveJiACzgQ6BXCOY0a3yBFNt2z5JVtYgYCO2lNdGsrIG0bbtk1rKS4kq4bABRYkHqqDlGsaYjcaY\nn4wx04wx5wTapg6iKvFCLPSvKAlOe6x9uPIJQTz76KCrkgxEI6T8JCAd2Oa2fxvQ1Ms5x8HRWmkZ\nGWnAR0B9H81sJiMjjWXLlgHwwguPsWzZciZPzmfHjp2cdNIJ5OV1oXXr6/jhhx/8dnr37t1HrhUL\ntP3Yte9So++4MF0yWBuooP9YkMrff6q370f/ofyef4ed/VsJ1AYGAAuMMeeKyC8ejq+k/xEj7ufu\nux
 9g06az2bv3OqAesJWaNafRoMH3DB8+hOXLlwf09wVCrL//eOhDKrfvwwaiof8j7eo9QNuPBWF+\nBqqHZ3upZYw5VkR+93BOBf3XqJFJvXpzcTimAOd6OPwb6tefR2bmdWH7zFL5+9f2I+IHRD5LOdZL\nLgMudNv/b2CBl3NuJA7qtOmW8tuNsbABVP+6xcdWSf+E8Hvu4RrVgO+Bf+nvv25xvt0Ybf2rDegW\nR5vPZyCsLXTzc8x3wD/d9l0DlALVVf+6xfkWFj9AJDp1uLdjDesUt/11qTzqVc4nwE3YePDfItYz\nRfHMccAZWB2Gg2BtQPWvxBJf+g/l97wCIlJijFkONPZyiOpfiTXebCAa+ge1ASW2hPMZaCue7WWP\niBzyco7qX4k14fYDIu9wi8hhY0wRcDkwHcDYBdSXA2O9nLMDeDPSfVMUHywI14WCtQHVvxIHeNR/\nKL/n7hhj0oDzgA+9tKH6V+KBSjYQDf0721EbUGJNuJ6BFgJXu+3r7NzvEdW/EieEzQ+AKJUFA54F\nJjlvVOVlNDKA/4tS+4oSa9QGlGTBp5aNMZOBn0XkEefrQcAiYD1QB3gQW+NrQtR7rihVR/WvpCzG\nmExsdEZ55uGzjDEtgZ0isskYMww4VUR6Ot9/EehrjHkGW0rscuDP2LByRUkZouJwi8h/jDEnAUOw\noSUrgD+KlsZQUgS1ASVZCEDLpwElLqdkAS9jk+c4gCKgg9iSSoqSUKj+lRSnLTCHo2tcRzr3T8Im\nB6yHS1khEdlojOmCHai6F/gZ6CUi7pnLFSWpMc4EBYqiKIqiKIqiKIqihJGI1+FWFEVRFEVRFEVR\nlFQkJg63MaaPMabYGHPQGLPIGNPOz/F/McascR7/tTHGPQFDRPtgjOltjJlnjNnp3Gb563M423c7\n72/GmDJjzH+j2b4xprYx5nljzGbnOWuNMVdFsf1+zjYPGGN+MsY8a4w5NoR2c4w
 x040xvzg/x24B\nnHOJMabIGPObMWadMaanv3MCuGZMbUD1n5r6d14r5jag+k9t/YfYB70HqA0kjQ3oPUD1r/pPMf2H\nq75YoBvwV2ya/zygGfASsBM4ycvxHYDDQH+gKfAv4HfgnCj2YQpwJ9ACaIJN/OAA6kejfZfzGgKb\ngLnAf6P49x8DLAVmAO2B04Ec4PwotX8jcNB53unAFcAvwIgQ2r4Ku/buOmx5F381JM8A9mHrrDYF\n+jj1eGWi2oDqP3X1Hw82oPpPbf3H2gZirX+1AbWBWOo/HmxA9a/6T0X9h/RlVWXDZusc4/LaYJMo\nPOjl+LeA6W77FgLjo9UHD+enAbuBm6PVvrPN+cCtwGtVNLZgv4M7ge+B9BhpYBwwy23fCGBeFftR\nFoChPQOsdNtXAHwYxb8/rDag+lf9u1wn6jag+k9t/YfYB70HqA0kjQ3Ei/6d19F7gOpf9e/7mLDo\nP6oh5caYY4A2wGfl+8T2fDZ2BMsTHZzvu/KJj+Mj0Qd3MrEjPjuj2P7jwP9E5LVg2wxD+9fi/HEz\nxmw1xqwyxjxsbD3RaLS/AGhTHnJijDkLW1JiZrDth0B7Yq+/sNmA6l/1HwJhswHVf2rrvwp90HuA\n2kBS2EAC6h/0HuCO6l/1H7T+olWHu5yTgHRgm9v+bdhpek/U83J8vSj2wZ1nsOEMoZQ1CLp9Y8xF\n2FGtliG0V+X2gbOAy4DXgauBs4Hxzus8Gen2RaTA2DIsXxhjjPP8F0XkmSDbDgVv+qtljDlWRH4P\n8nqxtgHVv+o/WMJpA6r/1NZ/SH3Qe4DaAMljA4mmf9B7gDuqf9V/0PqPtsPtDYOt5xep48N2TWPM\nQ0APoJOIHIp0+8aYGtj1I7eLiCOM7QXUvpM0rLjucI5ELTfG/AF4gNAeuIJq3xhzCfAINqxlCdAY\nGGuM2SIi4Wo/GIzz33BqMNY2oPpX/QdDuG1A9Z/a+vfZhz
 i0Ab0HqA3oPcCi94AItq/6Tx79R9vh\n3o5doH6K2/66VB49KGdrkMdHog8AGGMeAB4ELheRb6LUfiNsooQZzpEdcGaXN8YcApqKSHEE2wfY\nAhxyGlo5a4B6xphqIlIS4faHAJNdQmm+cf4IvUR4H/g84U1/e0L8sY21Daj+Vf/BEk4bUP2ntv5D\n7YPeA9QGksUGEk3/oPcAQPWv+q9A0PqP6hpuETkMFAGXl+9zCuhybIy+Jxa6Hu/kSuf+aPUBY8wA\n4FHgjyKyPJS2Q2x/DXA+0AobTtISmA587vz/pgi3D/AldkTJlabAlmAftkJsPwOb2MCVMuepxsPx\n4cST/joTXf2FzQZU/6r/EAibDaj+U1v/VeiD3gPUBpLCBhJQ/6D3ANW/6r/q+pcwZJwLZsOGYhyk\nYjr4HcDJzvcnA0+5HN8BOMTRcgCDsenkq1IWLNg+POhs83rsKEf5lhmN9j2cX9UMhcH+/adhMzKO\nwa7d6IId8XkoSu0/DuzClgQ4A/tD+z3wZghtZ2J/pFphDbaf83UD5/vDgEkux5+BLQfwjFN/dzv1\neEWi2oDqP3X1Hw82oPpPbf3H2gZirX+1AbWBWOo/HmxA9a/6T0X9h/RlVXVzdnaj8wNfCLR1ee9z\n4FW34/8ErHUevxI7whS1PgDF2BAI9+2xaH0GbudWydhC/A4uxI4+HXAK/Z+AidLnnwYMAtYB+53n\njQVqhdBuJ6eBuX+Xr7p8tp97OKfI2dfvgVsS3QZU/6mp/3ixAdV/aus/ljYQD/pXG1AbiJX+48UG\nVP+q/1TTv3FeSFEURVEURVEURVGUMBLVNdyKoiiKoiiKoiiKkiqow60oiqIoiqIoiqIoEUAdbkVR\nFEVRFEVRFEWJAOpwK4qiKIqiKIqiKEoECMrhNsY8bowpc9u+9XPOX4wxa4wxB40xXxtjrq5alxUl\ndqgNKKmM6l9JZVT/SqqjNqAooRHKD
 PdqbP25es7tYm8HGmM6AG8Cr2DrnU0DphljzgmhXUWJF9QG\nlFRG9a+kMqp/JdVRG1CUIAmqLJgx5nGgu4hkB3j8W0CGiHRz2bcQWC4idwfbWUWJNWoDSiqj+ldS\nGdW/kuqoDShKaIQyw322MeYXY8wGY8zrxpgGPo7tAMx22/eJc7+iJCpqA0oqo/pXUhnVv5LqqA0o\nSpBUC/L4RcDfge+A+sBgYJ4x5jwR2e/h+HrANrd925z7vWKMORH4I7AR+C3IPipKVTkOOAP4RER2\nuL0XcRtQ/SsxRvWvpDrebECfgZRUQO8BSqrjywZCIiiHW0Q+cXm52hizBPgR6AG8FuBlDOAvjv2P\nwBvB9E1RIsBN2LVHR4iSDaj+lXhA9a+kOhVsQJ+BlBRD7wFKqlPJBkIl2BnuCojIbmPMOqCxl0O2\nYhMruFKXyqNd7mwEeP3112nevHlVuhgy+fn5jBo1KiZta/vRbf/QIXjtNXj1VahXD265ZQ3Dht0M\nTh36IkI2sBFU/9p+9NpftgyGDoVNm6BLlzVMn676j+X3Hw99SLX2P/4YnnoKateGO+5Yw+DB/m1A\nn4G0/WRpf8sWGDgQvv4arr9+Df/9r94DUun7T/X2S0th0iR44QU45xy49dY13H9/YDYQKFVyuI0x\nNYBGwGQvhywELgfGuuy70rnfF78BNG/enOzsgPIyhJ3atWvHrG1tP3rtz58Pd9wB69fDgw/aG86a\nNTBsGBBAKFOEbED1r+1HpX2Hw+p+wgTo0AFmzLADUNOnA6r/mLQdL31Ilfb37oW+fWHyZLjxRhg/\nHjZsgMGDAT82oM9A2n4ytP/OO3D77Xawad48yMiA//4X0HtATNrW9qPb/s8/wy23QGEhPPyw/e1f\nterI22Fb0hBsHe7hxpiOxpiGxpj/B7wHlAAFzvcnG2OecjllDHC1Maa/MaapMWYw0AZ4LjzdV5TQ\ncDjsDaZjR8jK
 guXL7Qzf8cf7Pk9tQEkGROCtt6BZM/jPf+yo7hdfwHnn+T5P9a8kE0uWQOvW1rmY\nPBneeMM6Hd5Q/SvJxP790KsX9OgBnTvDihVwsdcCXxa1ASWZmDYNWraE77+Hzz+3fsAxx0SmrWCz\nlJ+GjWVfC7wF/Aq0d1lQfhouiRBEZCGQC9wBrABuwJYT+LaK/VaUkCh3NJo3t47G+PGBORouqA0o\nCc3GjXDNNZCbCzk5NqLjzjshLbC7gepfSXjKyuCZZ+Cii+DEE62jccstAZ2q+leSgmXLIDsb3n4b\nJk60/2ZlBXSq2oCS8Bw4AHfdBddfD5062aUUl1wS2TaDTZqW6+f9yzzsexd4N8h+KUrYKS6Gu++2\na/X+/GcYMwZOPTW4a6gNKIlKSQmMHg2PPQYnnWTDxq+9NrhrqP6VROeXXyAvD+bMgX/+E4YMCXxG\nQ/WvJDplZTBqlA2dPf98KCqCpk0DP19tQEl0Vq60Ew7FxfDii3ZZqTGRbzeUOtwpQW6uz98UbT+B\n2i8pgeHD4dxzYfVq62i8807wznYqkUzfv7YPS5dCu3bWwfjHP+Dbb4N3tlOJWH//8dCHZGz//fdt\n+ODatTB7ts3VEanwwUQnGb//VG9/61a4+mp44AG47z5YuDA4ZzuVSMbvP9XbF4GxY+2zULVq8NVX\n9nkoGs62swMSdxuQDUhRUZEoSlVYulSkVSuRtDSR++4T2bPH/zlFRUWCLVmRLap/JYHZu9fqPi3N\n2sHSpf7PUf0rycaBAyJ33SUCItddJ7J9u+/j1QaUZGPmTJGTTxapV0/k0099H6v6V5KNbdtErrnG\n3gP69RM5eND38ZGwAZ3hVpKSvXuhXz+48EL7evFiG05bs2Zs+6Uo0WLGDFve4uWX4d//trPcbdvG\nuleKEl1WrbK6f+01mxzwv/+167YVJRX47Te4917o0gUuuMCuVb3yylj3SlGixyefQIsW9hlo5
 ky7\npOK446LfD3W4laRjxgwbPv7KKzYxjjoaSiqxebPNUdCtm7WDb76B+++3IVSKkiqIwLhxNnwwPd2G\nD955ZxTDBxUlxnzzjXWyX3rJ5qyZMQPq1o11rxQlOvz+u332ueoqu5Ro5UqbMDZWqMOcc8PuAAAg\nAElEQVStJA3ujsbq1XatkjoaSipQVmZn8Jo3t/XlCwrgww/hzDNj3TNFiS6//mpzFNx7ry3/uGSJ\nvScoSiogYpNBtW0LpaVW//feq4NNSurw3XfQoYMddB05Ej76COrV839eJFGHW0l41NFQUp3Vq239\n1Lvvhr/+1SaF+tvf9AFLST1mzbLhg4sX2xm9ceNiEz6oKLFgxw644QZb8ujvf7cRfi1bxrpXihId\nRGyZu+xsW/pr8WLo3z/gsqcRpUpdMMY8bIwpM8Y86+OYns5jSp3/lhljDlSlXUUpZ/VqW0v47ruh\nR4/oOhqqfyXWHDwIjz4KrVvDzp1QWGjXbAdYT1VRkoZDh2DAAOjc2ZY7WrkSunaNda8UJXrMmWOd\n63nz4L337ERERkase6Uo0cHhsBMOvXvbsl9FRfbZKF4IOdjWGNMOuB34OoDDdwNNgHI3SEJtV1HA\nOhpPPmmTQTVubB2Njh2j177qX4k1n31m16T+9JN1uh9+GI49Nta9UpTos26dfcBatQpGjID8/PiY\n0VCUaHD4MDz+ODz9NFxyCUyZAn/4Q6x7pSjRY/58uPlm2LPHlv39859j3aPKhHRLMsbUAF4HegO7\nAjhFRORXEfmfc/s1lHYVBayj0aKFfbAaOBBWrIi6s636V2LG9u02VPCKK2wt+a+/hsGDY+Nsa5SH\nEktEbPbx7GzYt8/WFb7//ug526p/JdZs2GCXEw0fDkOH2iUV0XK2Vf9KrCkpsYNNl1wCDRva56F4\ndLYh9JDy54EZIvJ5gMfXMMZsNMb8ZIyZZow5J8R2lRTGk6Px+OMxcTRU
 /0rUEYHJk6FZM5g+HSZM\nsCGEzZrFpj8hRHnUc9kaRrBrSgqwa5ddPnTbbfbfoiJo0yZ67av+lVgzZQq0amXXbX/5pY1ySk+P\nTtuqfyXWbNxoJ9uGDrWTDnPmwOmnx7pX3gna4TbG/A1oBTwc4CnfAbcB3YCbnG0uMMZowIsSEPHk\naKj+lViwfr2tndqzp12jumYN9OoVu7BZjfJQYskXX9i1qp98Am+/be8JNWpEr33VvxJL9uyx4bN5\neTZB2rJltvxXtFD9K7GmoMDeA7ZssTkLBg3yP9gkIsydW0jXrr1p06YbXbv2prBwHiLRWeUZ1Bpu\nY8xpwGjgShE5HMg5IrIIWORyjYXAGuAO4HFf5+bn51O7du0K+3Jzc8nNzQ2m20oCs369Xaf62Wd2\njd6oUXDKKeG7fkFBAQUFBRX27d692+Oxqn8l2hw6ZJdODBkC9evb0hZXXRW+6wejfzeORHkYYwYF\ncHwNY8xG7IDTMuAREfk2yO4qKU5JiZ3NGDLElnyZN8+GEcYA1b8SExYtghtvtBF/r78ON90Uk26o\n/pWYsHevLXH3f/9nI5tefBHcHpM94nA46Ny5Jxs2tMLhGAQ0ADaxYMFEGjUawaxZk6lTp05E+x5s\n0rQ2wMlAkTFH8kCnAx2NMX2BY8XPUIGIlBhjlgON/TU2atQosrOzg+yikgyUOxpPPGFr54Xb0SjH\nkwO7bNky2niOTVT9K1Fj4UK44w47m92/v10+kZkZ3jaC1D9QIcqjbYDNlEd5rARqAwOwUR7nisgv\nofRbST1+/NE6FwsXwmOP2USB1UJO+xo6qn8lFpSW2qRojz8O7drB7Nlw1lnR74fqX4kVS5fawaat\nW63DnZcXWEUiEaFz554UFQ1CpJ3LOw1xOIZQVLSUzp17snjxNEwESxwFe7uaDZzvtu//sDN2T/tz\nNgCMMWnAecCHQbatpAgLFsA//mEdjfx8uzYj3I5
 GiKj+lYize7ddi/fii9C2LXz1lV2nFw9EM8pD\nIzyUct5+294T6tSxs9oXXRS+a2uUkxLvbNoEt9xitf/II9bpPuaY8Fxb9a/EO2VldgLu0Ufts9BH\nH9nqRIEyb958Nmxo5eZsH0VkPStWrOHiiy/mxBNPBAKO9AsOEanSBswBnnV5PQl4yuX1IOBK4Eyg\nNVAA7Aea+bhmNiBFRUWipA67doncdZeIMSJt24osXx6bfhQVFQm2dFe2qP6VKFFWJjJ1qsipp4rU\nqCEyZoxISUn0++FL/0B3oBQ4BBx2bmUu+4z7OZ424D/AG17eU/0rIiKyd6/IrbeKgMhf/yricESn\nXW82EA39i9qA4sK774pkZYmcdppIYWF02lT9K/HCL7+IXH659QsefFDk99+Dv0aXLr0ENorNCOVt\nK5auXXsfOScYPyDQLRwBWe6zeg2cxldOFvAyNjOhAygCOojI2jC0rSQBIvDf/8I999j1GaNHQ58+\n0cu2WUVU/0qV2bTJan7GDOjWDZ57Dho0iHWvPKJRHkpUKCqyeTs2b4ZXX7UVKiIY7Rcoqn8lKuzf\nb5cSvfyyTYz2yitwwgmx7pXqX4ke06fbKhTVq9tyd5df7v+csrIyxo4dx1NPvc6+ffupUSOT6tUP\nAv7yFDdgy5b/haPbXqmywy0il/l53R/oX9V2lORk0ybo29caVpw7Gh5R/StVobTUan7gQKhZE6ZO\ntQ9XceBYeERE9gMVkt0YY/YDO0RkjfP1JOAXEXnE+XoQNqRwPVAHeBBbFmZCFLuuJAhlZTBypA0f\nbNECPvgAmjSJda8sqn8lGqxYYQebfvrJOty9e4fnniAiFBbOY8SIKWzZ8j/q16/LgAF5dOyYE9Da\nVdW/Eg0OHoQBA+D5561fMHEinHSS//OKi4s577xrOHCgCzAVaMDBg5uAccC5wKd4r0i3ifr164bp\nL/BMDFKOKEpFR6NWLXj3Xb
 j++vh1NBQl3KxYYZOiffUV3HUXPPVUYNk24xCN8lDCwpYtNhHO7Nn2\ngevJJ+3sRpyj+lfCQlkZjB0L//wnnHOOjfIIV/nTCGZpVv0rYWP1ajvYtH69dbjvuiswv6CsrMzp\nbE8CXGvkNQRGAD2Aq4HVeKqInZU1kQED8sLxJ3hFHW4l6iSRo6EoQbN/P/zrX/Dss9C8OXz5pS1x\nlKholIcSDj74AG691WYenzULrrgi1j0KDNW/Eg7+9z+7bOKjj6BfP5uR/Nhjw3NtkchlaVb9K+FA\nBMaPh/vvh7PPthnJzzsv8PPHjXveObPtrSD9BViHezzQt8I7xiylceOV5OQMCa3zAVLZzVeUCLF/\nv521aNvWhox8+aUdwVJnW0kVPv7Y3kTGjbMl75YtS2xnW1Gqym+/2fwd114L7dvDypWJ42wrSjj4\n+GO7fKKoCD78EEaNCp+zDYFkaW7H+vUtmD//i/A1qigBsn07dO9ul5f27g1LlgTnbAMMHToZuMfP\nUfdgzAvARmyuv41kZQ2ibdsn+fTTSREtCQY6w61EiY8/trPZW7daR+OBB8JX1kJR4p1t22yJu4IC\nm/hj1qzgylooSjJSHj74/fd2idHdd+uyIiV1+P13WwJy1Ci46ipbW/iUU8LfzvDhk51h5N5xOHox\nfPhQOnbMCX8HFMULn31mS94dOmRzOV17rf9zPOUi2LNnL3Y1gy8aUL16KVdcMZStW4/mMMjJGRJx\nZxvU4VYijDoaSipTVmYzLA8YYLPuT5pkby7qVCipjAi88IINH2zUyIYPnu+e+1hRkpi1a+Fvf4M1\na6zDfe+9kFbFmFNPGZoffTSPX37ZSiDOSKSzNCtKOYcO2RxOw4fbiKZJk+DUU/2f5y0XgTFXA5vw\nnhQNYBO1a9figw9eCcvfECxVMm9jzMPGmDJjzLN+jvuLMWaNMeagMeZrYz8ZJYkpK4MJE+wa1Vmz\nYPLk5
 HO2Vf+KL9auhUsvhdtvt5k21661CaHU2VZSme3bbYLMPn1syZdoOdsiwty5hXTt2ps2bbrR\ntWtvCgvnEUAlI0UJGyL22Sg72y6nWLTIrtmuqrNdXFxMzZrnkp+/iV9/ncrBg6v59dep9Ov3I6tW\nfQss8HOFyGdpVhSwEU0XXWQHmv79b/jkk8CcbddcBA7HEKxznQY0ROQubDZyXzzHwIGRTYzmi5Bn\nuI0x7YDbga/9HNcBeBP4JzATuBGYZoxpLSLf+jpXSUzWroV//APmzYOePWHEiMBS+icSqn/FG7//\nbhPePPWULXE3e3Zg9SMVJdn57DM76PT77/D++3YgKhpEMEOzogTMzp02Yey779p/n30WMjOrfl1/\nGZpLS3tgHz3W4W2eLRpZmpXURsTOZPftax3shQttTqdA8Z2LoA+29FcPPCdOW0Jm5of06bM6pL6H\ng5DG1IwxNYDXgd7ALj+H3wd8JCLPish3IvI4sAz3NHFKwvP77zb7csuWsHmzfbj6v/9LSmdb9a94\nZP58aNXKljMaMABWrVJnW1EOHYKHHoIrr7RRTytXRs/Z9jUrYjM0D6Jz5546061ElMJC+2z0+ecw\ndSq89FJ4nG0INENzd+y4f2WOZmm+ODwdUhQ3du2CG2+0lSh69LAJY/052+5RSX/5y/04HL28HJ0G\nfAzkAffjmhgNHiAz8+98881HpFU1lKQKhNry88AMEfk8gGM7ALPd9n3i3K8kCfPmHXU0HnjAPlBd\ndpn/8xIU1b9SgZ07beh4x46QlQXLl1tbOP74WPfsKBpSq8SC9evh4oth5EgYNgw+/TSw8MFwoRma\nlVhy+DAMGmSfh846C77+Gv70p/C2EWiG5mrV3icraxCxytKspCYLFlj/4KOPbD6nV1+FGjW8Hy8i\nzJjxAVlZrbjiivuZOfMgy5b159dfT8B3LoKGwCr+8IdPqVu3BxkZ51O3bg/Gjj2DPX
 tW07Chr/Xd\nkSfokHJjzN+AVkCggQD1gG1u+7Y59ysJjsMBDz5o1yR16GAdjWDT+ScSqn/FFRF4+2247z67Hm/8\neLucIoaDqB7RkFol2ojY3B19+0K9evahq51nnzeiaIZmJVYUF9tZvaVLbfTfww/b5JlVxT1L844d\nDgLL0HwM7713JcOHxyZLs5JalJTYpXX/+pct+Th3Lpxxhu9zdu7cSYcOXVm3ToD6wB+APwKfAZuB\n1UALH1f4hdat2zNjRmwSo/kiqMdCY8xpwGjgZhE5XIV2DaDTKgmMCLz1FjRrBv/5j3U0vvgi6Z1t\n1b9yhOJi6NLFljXq2NFmm73rrvhztiMZUquJAxVP7N4NN90Ef/873HCDDR+MhrPtKYpj3bo1wGl+\nzgwtQ7PqX/FGQYGd1du61S41GjgwPM62w+Hgggu6c8MNnzFz5iCWLZtGWVltbIZmX2yiRo1MOnXq\nyAcfvMJXX73PjBmv0LFjTsjOtupf8cZPP9mojn/9y2q/sNC/s71jxw5OPfVC1q27EHgL+BB4DFiF\nTZc0GrgNX4/P8ZyLINgZ7jbAyUCROWqh6UBHY0xf4Fip/NS2FXCvLFiXyrN+lcjPz6d27doV9uXm\n5pKbmxtkt5VwUlxs66V+/DH8+c8wZkx0QwTDSUFBAQUFBRX27d6929vhqn+FkhKbXfPxx21+gkBr\nR8YK3yG1BYgUsGLFWi6++GJOPPFEX/qvgCYOVDyxcKGd1du5E9580w5IRYPyKI61a89l376jURzp\n6aOBa4C3AW9RHMFnaFb9K57Yu9dGdUyebO1g/Hhwu42HjOvgacXf879jMzSP8HF2eDM0q/4Vb7zz\njk0KWKuWndXO8RM4VB5Cfv3191JW9hZwocu7DYEngCXAUOAi4BXgjkrXOZqLYEh4/pBwIyIBb0Am\ncI7btgSYBDT3cs5bwPtu+74ExvtoJxuQoqIiUeKHw4dFhg8XO
 f54kQYNRKZPj3WPIkNRUZFgh9Cy\nRfWvuLBkiUirViJpaSL33Seyd2+se3SUsrIy+fzzOXLhhddIrVotpFatFtK+/fVy4YXXCBSLjUvx\nthVL1669RcS7/qWiRmsA3wGXAXOAZ30c+xYw3W3fQm82oPpPTEpKRJ54QiQ9XaRDB5Effohe22Vl\nZdK69dUCC73oe6FAF4Eyj+9nZQ2UwsJ5R67nzwYiqX9RG0hYFi8WadRIpEYNkcmTRcrKwnv9uXML\nJStrkAcNlwo0E1jsRf+LJTOzuZSWlgbUjupfCYV9+0R69bKa69FDxOHwf87OnTulTZuu

<TRUNCATED>