{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Minimal working example" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Import packages" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from lgrt4gps.lgrtn import LGRTN" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Generate synthetic dataset" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# set input / output dimnesions\n", "dx, dy = 1, 1\n", " \n", "# number of training /test points\n", "ntr, nte = 300, 100\n", "f = lambda x: np.sin(x[:, :1])\n", "\n", "# generate training data\n", "xtr = np.random.uniform(1, 9,size=(ntr, dx))\n", "ytr = f(xtr)\n", "\n", "# generate test data\n", "xte = np.linspace(0, 10, nte).reshape(-1,1)\n", "yte = f(xte)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Process LGRT" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "# initialize LGRT\n", "lgrt_gp = LGRTN(dx, dy)\n", "\n", "# add data to LGRT\n", "lgrt_gp.add_data(xtr,ytr)\n", "\n", "# make predictions\n", "mu, s2 = lgrt_gp.predict(xte) \n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Visualize result" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " ___________x_0<5.020351__________\n", " / \\\n", " __x_0<7.014859_ __x_0<3.009612_\n", " / \\ / \\\n", "N=87 N=74 N=67 N=72\n", "\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD5CAYAAAAk7Y4VAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOydd1hUVxOH3wsiYAF7w9h7A9QoauyxxYbGXmJJjN2oUaPGGjVqTOzGRGPsSSwxqF80auxdsfduFOy9gbTz/TGwgAKiLOwC530eHti9d+8d4O7s3DkzvzGUUmg0Go0m6WNjaQM0Go1GkzBoh6/RaDTJBO3wNRqNJpmgHb5Go9EkE7TD12g0mmSCdvgajUaTTEgR1wMYhvEesAjICihgjlJq2iv7GMA04CPgBdBRKXU4puNmypRJ5cmTJ67maTQaTbLi0KFD95RSmaPaFmeHDwQBXyqlDhuGkRY4ZBjGJqXU6Qj71AMKhn6VB2aHfo+WPHny4O3tbQbzNBqNJvlgGMZ/0W2Lc0pHKXUzLFpXSj0FzgAur+zWGFikhH1AOsMwssf13BqNRqOJPWbN4RuGkQdwB/a/sskFuB7hsQ+vfyhoNBqNJh4xm8M3DCMN8CfQVyn15B2P8blhGN6GYXjfvXvXXKZpNBqNBvPk8DEMww5x9kuVUqui2MUXeC/C45yhz0VCKTUHmANQtmxZLfJjxQQGBuLj44O/v7+lTdEkIA4ODuTMmRM7OztLm6J5B8xRpWMA84AzSqnJ0ey2BuhlGMYfyGLtY6XUzbieW2M5fHx8SJs2LXny5EEuAU1SRynF/fv38fHxIW/evJY2R/MOmCPCrwS0B04YhnE09LmhQC4ApdRPwDqkJPMiUpbZyQzn1VgQf39/7eyTGYZhkDFjRnS6NfESZ4evlNoFxPiuV6LB3DOu59JYF9rZJz/0/zxxkzQ7bYOCwMfH0lZoNBqNVZE0Hf4334CrK2zcaGlLNFaOl5cXp0+ffvOOr7BmzRomTJgQDxZpNPFH0nT4HTqAiwvUqwcTJoCe6qWJhndx+EFBQTRq1IjBgwe/1Ws0GkuTNB1+/vywdy+0aAFDhkD79hAQYGmrNGbk6tWrFClShLZt21K0aFGaNWvGixcvANi8eTPu7u6ULFmSzp078/LlSwAGDx5MsWLFKFWqFAMGDGDPnj2sWbOGgQMH4ubmxqVLl7h06RJ169alTJkyVK5cmbNnzwLQsWNHunXrRvny5Rk0aBALFiygV69eJltq1KhBqVKlqFmzJteuXYvyNRFZsGABnp6e1KpVizx58jBz5kwmT56Mu7s7Hh4ePHjwACBae9auXUv58uVxd3fnww8/5Pbt2wCMGjWKzp07U61aNfLly8f06dPj+T+hSVQopazyq0yZMirOhIQoNW6cUo6OSh05EvfjaUycPn06/MEXXyhVtap5v774IsbzX7lyRQFq165dSimlOnXqpCZNmqT8/PxUzpw51blz55RSSrVv315NmTJF3bt3TxUqVEiFhIQopZR6+PChUkqpDh06qBUrVpiOW6NGDXX+/HmllFL79u1T1atXN+1Xv359FRQUpJRSav78+apnz55KKaUaNGigFixYoJRSat68eapx48ZRviYi8+fPV/nz51dPnjxRd+7cUU5OTmr27NlKKaX69u2rpkyZEqM9Dx48MP0uc+fOVf3791dKKTVy5EhVoUIF5e/vr+7evasyZMigAgICYvxbvi2R/vcaqwPwVtH4VbM0XlkthgFDh8Inn0DOnPKcvz84OFjWLo1ZeO+996hUqRIA7dq1Y/r06dSqVYu8efNSqFAhADp06MCsWbPo1asXDg4OfPrppzRo0IAGDRq8drxnz56xZ88emjdvbnou7O4AoHnz5tja2r72ur1797JqlfQbtm/fPlI0H91rAKpXr07atGlJmzYtzs7ONGzYEICSJUty/PjxGO3x8fGhZcuW3Lx5k4CAgEh18fXr18fe3h57e3uyZMnC7du3yRl2/WuSNUnb4YcRdrHPnw9Tp8KWLZAxo2VtSkpMnWqR075aIhhTyWCKFCk4cOAAmzdvZuXKlcycOZMtW7ZE2ickJIR06dJx9OjRKI+ROnXqt7YxptfY29ubfraxsTE9trGxISgoKEZ7evfuTf/+/WnUqBHbtm1j1KhRUR7X1tZWrx9oTCTNHH505MoF585B7drw6JGlrdHEkWvXrrF3714AfvvtNz744AMKFy7M1atXuXjxIgCLFy+matWqPHv2jMePH/PRRx8xZcoUjh07BkDatGl5+vQpAE5OTuTNm5cVK1YAku4M2y8mKlasyB9//AHA0qVLqVy5sll+v5jsefz4MS4uoj+4cOFCs5xPk/RJXg6/Zk1YtQpOnJAKntA3uiZxUrhwYWbNmkXRokV5+PAh3bt3x8HBgfnz59O8eXNKliyJjY0N3bp14+nTpzRo0IBSpUrxwQcfMHmyqIC0atWKSZMm4e7uzqVLl1i6dCnz5s3D1dWV4sWLs3r16jfaMWPGDObPn0+pUqVYvHgx06ZNe+NrYkt09owaNYrmzZtTpkwZMmXKZLbzaZI2hrLSksWyZcuqeBuA4uUFzZpBtWrwzz+QInlktszJmTNnKFq0qMXOf/XqVRo0aMDJkyctZkNyxdL/e03MGIZxSClVNqptydPTeXrCvHlw7x5Es6Cm0Wg0SY3k6fBBmrPCePQI0qWznC2atyZPnjw6utdo3pLklcOPisOHIW9eiEWuVqPRaBIz2uEXLQqFCkk3bmhlh0aj0SRFtMN3dIQVK2ThtkULaczSaDSaJIh2+CD1+QsXwpEjMGCApa3RaDTJmXisnNQOP4yGDcXZP38OwcGWtkaTQCRWeeQbN27QrFkzi51fE48EB0NgYLwcOvlW6UTFxIlgoz8DkxNeXl40aNCAYsWKxfo1YfLIjRo1eqvXpDBTv0dQUBA5cuRg5cqVZjmexkq4dw/Sp4/XviDt3SIS5uyPHoWvvtI6+lZMYpdH9vDw4NSpU6bH1apVw9vbmwMHDlChQgXc3d2pWLEi586dA0ROuVGjRtSoUYOaNWty9epVSpQoYTp/5cqVKV26NKVLl2bPnj0AbNu2jWrVqtGsWTPT3yqs0fLgwYNUrFgRV1dXypUrx9OnTwkODmbgwIG8//77lCpVip9//jle/neaKHjwQBpBP/00fs8TnYympb/MIo/8rkyapBQotXSp5Wywcl6TyI1K4njWLNn2/HnU2+fPl+13776+7Q0kdnnkyZMnqxEjRiillLpx44YqVKiQUkqpx48fq8DAQKWUUps2bVJNmzY1nc/FxUXdv3/f9PsXL1489M/7XPn5+SmllDp//rwKe+9s3bpVOTk5qevXr6vg4GDl4eGhdu7cqV6+fKny5s2rDhw4EOmcP//8sxozZoxSSil/f39VpkwZdfny5dds1/LIZsbfX6kPPlAqZUqlNm+O8+GIQR5ZR/hR0a8feHhA794QOlhCY328Ko+8a9cuzp0795o88o4dO3B2djbJI69atYpUqVK9dryIcsRubm507dqVmzdvmrbHJI/cpk0bQOSRd+3a9cbXtGjRwpSSWb58uSkf//jxY5o3b06JEiXo169fpLuAWrVqkSFDhteOFRgYSJcuXShZsiTNmzePtCZRrlw5cubMiY2NDW5ubly9epVz586RPXt23n//fUBE2lKkSMHGjRtZtGgRbm5ulC9fnvv373PhwoXo/vwac6AU9OgBu3bBokVQo0a8nk7n8KPC1hZ+/RXc3aFXLynb1MTMtm3Rb0uVKubtmTLFvD0aErM8souLCxkzZuT48eMsW7aMn376CYDhw4dTvXp1/vrrL65evUq1atXeeKwpU6aQNWtWjh07RkhICA4R5j28jVSyUooZM2ZQp06dt/kVNXFh5kzxNcOGQcuW8X46HeFHR9GiMHw4rFwJW7da2hpNFCR2eeSWLVvy3Xff8fjxY0qVKgVElj1esGBBrI7z+PFjsmfPjo2NDYsXLyb4DVVmhQsX5ubNmxw8eBCAp0+fEhQURJ06dZg9ezaBoRUi58+f5/nz57GyQfOOlCkDXbrA6NEJcjqzOHzDMH41DOOOYRhRipsYhlHNMIzHhmEcDf0aYY7zxjtffinDPSpUsLQlmihI7PLIzZo1448//qBFixam5wYNGsSQIUNwd3eP9eCSHj16sHDhQlxdXTl79uwb70RSpkzJsmXL6N27N66urtSqVQt/f38+++wzihUrRunSpSlRogRdu3bVw1Pii7Cyy4oVYc6cBKsONIs8smEYVYBnwCKlVIkotlcDBiilXp8rFw3xKo/8LiglIxM1gOUlcrU8suWw9P8+0RMcDB9+CFWrQoRJZeYiJnlks3ysKKV2AA/McSyrZMcOcHODO3csbYlGo0nsjB0ra1b58yf4qRMyh1/BMIxjhmGsNwyjeFQ7GIbxuWEY3oZheN+9ezcBTXsDWbLA6dPw9deWtkQTipZH1iRKduyAb74Rscb27RP89Anl8A8DuZVSrsAMwCuqnZRSc5RSZZVSZTNnzpxApsWCIkWkRHPePHH8Go1G87Y8fgxt20K+fDBrlkVMSBCHr5R6opR6FvrzOsDOMIzENYhz6FBInRpGjrS0JRqNJjFy4AA8fAhLlkDatBYxIUEcvmEY2YzQImnDMMqFnvd+QpzbbGTKJA1ZK1eCTiVoNJq3pVYtuH4dype3mAlmabwyDON3oBqQyTAMH2AkYAeglPoJaAZ0NwwjCPADWilzlAclNF9+CaVKwVsIbWk0mmTO8+ewaRM0biziaBbEXFU6rZVS2ZVSdkqpnEqpeUqpn0KdPUqpmUqp4kopV6WUh1JqjznOm+A4O0OzZlpR0wq4f/8+bm5uuLm5kS1bNlxcXEyPAwICYnytt7c3ffr0eeM5KlasaC5zIxEmlBYTU6dONYnBaRI5w4dDkyZWkRnQ0grvwowZUlb155+WtiTZkjFjRpMEwqhRo0iTJg0DIgyviUmOuGzZspQtG2WZciTCVCctwdSpU2nXrl2Umj+aRMTRozBtGnTvDiVLWtoaLa3wTgQFwapVsG+fpS1JNHgd8aXShC3kHfw3lSZsweuIr9nP8aoccXRSw9u2baNBA+kBHDVqFJ07d6ZatWrky5eP6dOnm46XJk0a0/7RyQyvW7eOIkWKUKZMGfr06WM6bkT8/Pxo1aoVRYsWpUmTJvj5+Zm2de/enbJly1K8eHFGhhYETJ8+nRs3blC9enWqV68e7X4aK0cp6NMHMmSAb7+1tDWAjvDfjS5dYMwYmDRJR/mxwOuIL0NWncAvUDRefB/5MWTVCQA83V3Mei4fHx/27NmDra0tT548YefOnaRIkYJ///2XoUOH8mcU/6+zZ8+ydetWnj59SuHChenevTt2dnaR9jly5AinTp0iR44cVKpUid27d1O2bFm6du3Kjh07yJs3L61bt47SptmzZ5MqVSrOnDnD8ePHKV26tGnbuHHjyJAhA8HBwdSsWZPjx4/Tp08fJk+ezNatW8mUKVO0+4Xp72islGXLYOdOkU5Il87S1gA6wn830qSRW7S//gItH/tGJm04Z3L2YfgFBjNpwzmznyuiHHFMUsMRqV+/Pvb29mTKlIksWbJwOwpJ7Khkhs+ePUu+fPnImzcvQLQOf8eOHbRr1w6AUqVKRXLUy5cvp3Tp0ri7u3Pq1Kloxy3Gdj+NFeHgAA0aQOfOlrbEhHb470rv3pAyJfzwg6UtsXpuPPJ7q+fjQkThsDCp4ZMnT7J27Vr8/f2jfE1sJITfRmY4tly5coXvv/+ezZs3c/z4cerXrx+ljbHdT2NleHrC2rUit24laIf/rmTLJosxHTta2hKrJ0c6x7d63ly8i9Tw21C4cGEuX77M1atXAVi2bFmU+1WpUoXffvsNgJMnT3L8+HEAnjx5QurUqXF2dub27dusX7/e9JqIss0x7aexQq5fh8mT4Q3VYpZAO/y40LWrTMbSxMjAOoVxtIsc5Tja2TKwTuF4Pe+7SA2/DY6Ojvz444+mGbhp06bF2dn5tf26d+/Os2fPKFq0KCNGjKBMmTIAuLq64u7uTpEiRWjTpo1pehfA559/Tt26dalevXqM+2mskDFjYMgQuHXL0pa8hlnkkeMDq5NHjo6rV+XTfPx4kV5IJrytRK7XEV8mbTjHjUd+5EjnyMA6hc2+YGsJnj17Rpo0aVBK0bNnTwoWLEi/fv0sbVa8ouWRY+DCBRme1LOnZAAsQEzyyLpKJ65cuyZ1+W5uVrU4Y214urskCQf/KnPnzmXhwoUEBATg7u5O165dLW2SxpKMGgX29qK9ZYXoCD+uKAUlSsjc1tCRcckBHeUlX/T/PhpOnABXV/jqK7njtxDxPgAlWWMY0K0beHvLVzLCWoMFTfyh/+cxEBgok6wGDrS0JdGiHb45+OQTifB//tnSliQYDg4O3L9/XzuAZIRSivv37+Pg4GBpU6yT0qVh40bprLVSdA7fHDg7S/dtMpp5mzNnTnx8fLCqyWSaeMfBwYGcOXNa2gzr47ffoEYNKde2YnQOX6PRaOLCxYtQuDAMGmTR3H0YOoefUCgFhw7Jd41Gkzz4/nuws4MvvrC0JW9EO3xz8uefULYsrFljaUs0Gk1CcOsWLFggHfdWns4B7fDNS+PGULy4fNI/f/5ux1AK7t2TnwMC4LPPRI/DCtu0NZp4JSgIzp6FkBBLWxI906ZJdU6EWQzWjHb45sTODmbPhv/+g3Hj3v719+7Bxx9DxYrygXH2rOjuN2oE5cqBj4/5bdZorI1Vq6B9e8iSRbpWy5UDCw6jiZG7d6FFCyhQwNKWxArt8M1N5crQoYPk9c6ejbwtJEQu3KFD4fx5eW75cqnysbeHzJnhf/+TqN7BQebn3r4tutqXL8vw49ApTxpNoiY4GI4cgc2bJRUacU7BhAmwbh00bCgzJ27fhnPml9I2C7/8AkuWWNqKWKOrdOKDO3fggw9g+nSoUEEuigsXJDVz44bcCXh5wUcfwenTMiDB0VG+mjSJehTa8eNQv75EPBs3JvzvpNGYC29v+PxzcfhhODjAgwfyHrh+HbJnh7ARlS9eSEBkaws7dkCZMpbXrVIKLl2yysg+piod7fDji+BguUDv34dMmWRoSq1aMgS9QQNwcnr7Y964IW+CLFlEwycgwCovOI0mRhYvFvmBb76BQoVkGlTmzOLkY8LHB/Lnhzp1ZPiQJXXm//1X3s8bNkDt2pazIwq0w7ckSsHjx5K2MWdjVqtWctF/+aWkiELnr2o0VseJE7K4WbiwyA4oJWtU73LNzpwpw4d69ZI7aEs1OzZpArt2yd2IlXUe6zp8S2IYEsGY+8KcPFkWi8aPlyhp8WLrrmbQJD9OnJA8fKlS0on65Ik8bxjvHqD06gX9+4vj79IFHj40n72x5do1Kb0OW2tLRJhFWsEwjF+BBsAdpVSJKLYbwDTgI+AF0FEpddgc504KDPM6wZJ911573tYwaF3+PcZ6RpHTz5FDnHyPHlIG+sknciF+/XUCWKzRvIHvv5fOU2dnqVjr1i1KjZlhXidYuu8a0eUZHO1sGN+0VGRp7UmTJLX5ww+yVpbQU+fCNLO6dUvY85oBs6R0DMOoAjwDFkXj8D8CeiMOvzwwTSlVPqZjJpmUThR4HfFlyKrj+AXGLiK3NSA49N9kGNC2fK7IHwIhIfD77xJNOTmFp5A0Gkuxf79U3gwe/Jqj9zriy9BVx3kRy+sfoJ1HrtcDnzNnJE1kYwMLF8pCbpMm8ZvbDwmBvHll/sXq1fF3njiQIDl8wzDyAP+LxuH/DGxTSv0e+vgcUE0pdTO64yVVhx9dNP+22NnApOZurw8V8feH99+Xjt958+TNoNGYi82bxbFGNdpz+3ZJdXz/fbQpzLZz97L70oM4m5E6pS3jmpSU618pifT37JFF3Z9+Epni+OL+fQmq8uWLv3PEAWvI4bsA1yM89gl9LhKGYXxuGIa3YRjeSVGFse3cvWZx9gCBIdB32VHyDP6btnP3hm9IkUIi/QULZFFLozEXSokjrVAhcknl48fw449SPbN+PTx6FOllXkd8KTB0HXkG/20WZw/wPCCYfsuO4nXEVz5cduyAlSul5Pnjj6VkMr7ImNFqnf2bSKgI/3/ABKXUrtDHm4GvlFLRhvBJLcKPKbK3CQmm4P3rlLx1kSAbW26nycjtNBnwcc5KQAq7WB2/Uv4MLO1SQR4oJbe269fDgQMyhUejiStXr0o6o3x52LdPGqJ69pRmwZcvoVIlSXNkzGh6SUwRvX3gS8r4nqHSf8cofvsyNkpSPAG2KTiVNT9HchThsEsRnjjEvMAb6W73v//A3R3y5JFrP4UZFeB9faU6bvJkuYu2Uqxhpq0v8F6ExzlDn0vyRHfBpwgOovaFfbQ6toEyvmdIHej/2j5Bhg2XM+TkXObceOcsxqaC5bnhlCXK8+y+9IBiw9fzbdgC1y+/SANXmzbS6OLoaPbfTZPMCOvyDrtzTJ9eGgc//xzathUJhNBUjtcRX/ovO8prWXqlKO17lo6H11Ln/F7sgwMJtLHlXOY8BNiKO0oV4E/1y4ewVSGEYOCdsygbClVkQ6EK+Dhnfc2ssLvdFd7XJOhZsgT8/Mzr7EGKJHbtkt87kZJQEX59oBfhi7bTlVLlYjpeYo/wo4voHQP86XRoDe0P/032Z/e57pyVfwuU41j2QpzIVgCFQdZnD8j29B4FHvhQ6O5Vit65Ss4ndwA4mTU/K0vUZKl7PQJto47+C2ZJzab+1WDTJhmqvHLlm5taNJo3MWoUjBkDT5/KhDeQu8lX8vXROftqlw4yYOcSSty+xBP71KwqXp1t+cpyMGcxntunirRvqgA/XG+ex+PaSWpf2EvRu1cB2J63NHPfb8KuPG5RrhNEutMFSS+lSxfHXzz09yxWTJood+6M+/HikXhftDUM43egGpAJuA2MBOwAlFI/hZZlzgTqImWZnWJK50DidvhROnulaHRmO0O2zif7s/vszO3GgrIN2ZqvLCE2UlWQPpUdIxsWj7QQ63XEl0Erj+Fy14daF/ZR79we3G+e41KGnHxTswvb85WJ0gbThR/FG1KjeSeOH5e7xc6dY9zNbfRGHvkFmh6nf/GYEZvn0uT0Ni5lcGHe+554FavGi5SR7zrDypDL5s7AqDWnTMewT2FD1ru+NDqznU8O/02W5w85kzkPoz/8nH25Sr12flNFj5eXlGxu2yZVNXFh/35ZqJ47V+rvrRjdaZvA5Bn8d6TH+e77MHH9dN73Pc2JrPkZ9WFXDuUsBkQRkUSD1xFfvvrzOC8Dg6l+2Zvhm+eS7+EN1hWqyKCP+vLslQgJ4OqE+vLDgwdSrx/Wyq7RxANRlVvWuHiA79ZPw9n/GbMqtGBWhRaR7kyjLLeMglqTt3HhznNSBgXS+PQ2euxbTq5Ht5lWqTUzK7QwBU2Rjlshi+ju2NnJB1WEtYW3pnt3Kf28edPqS561w08gXquvV4qWxzcycvMcXtqmZHy1Tqwo9SHKsIm5qSoGwu4e7IID+eygF1/uWMzlDDnp8vEw/kufI9K+Jod/7ZoMWM6RQxbbUr3+4aDRxMjTp7B1q6jBRpHDfu2uVil67FvBgB2LOZ01H1/W78e5zHlMm01px7cg4jlSBfgxduOPND21lV25Xfmi4UDup46cumnnkYuxOfygShUp2/znn3fP6y9aJIvWI0a82+sTEO3wEwBx9ifwCwwGwMn/GRPXT6fe+T3syu3Kl/X7cTttJiD2UX1MhF38Ff47xo9eEzBQ9Gw8mN15wm9dDSBHOkcG1imM591TULcutGsnkYpO82jehi1boGZNUWqtVSvSJq8jvvRdFi7b7RDoz6R102h4didexaryVd0+vLSzB97N0b9KqZH/8ORlMChF8xOb+GbTz9xwykzrVuO4kzY8ijeAKS3d8Dy6UdJQgwbBxIlxOndiwBrq8JM8kzacMzn79x7d4s8lA/nw4n7GVetM+5ZjzOrsAcZ6lqSdRy725nalUYcp3EqTkfkrRlHrwj7TPgrwfeRH/+VH8cpcXBbdFi8OF7DSaGJLWIVOFCW+Q1YdN/2c/sVjfv/9a+qf3cWEqh3p22CAydm388gVZ2cPcHx0XQpmSQ2GwYpStWnf8huyPrvPst8Hk/1JeP+OAkatOQWdOklK08Hh3a77TZsso9kTD+gI30zkHfw3Cijrc4o5q8Zho0Lo1mSoaVHJAK6EpVjMTNu5ezlx6hqLlo+g2O3L9PQczKaCkTsh7WzgwriPoE8fWcw6fFgkaTWa2PDJJ9Jl6xu5mjpi2bHL4zssWj4Clyd36N1okOkaNEXar3aFRyQgAFKmfCuTIq4ZlPY9w4LlI3nkmJbWrcfj6xxevmwY0Lbce4xt8voC7xt5/BiyZhXdnKlT3/71FkBH+AlAjnSONDm5haV/fM0jhzR4tv8hUgVBW49c8XbupV0qcHxqS9zOHOB01nz86DWe2uf3RtonMAS8jt6QGmpvb+3sNW/H0aPS0BSBWpO3mZx94btX+XPJADI9f0i7lmMiBRxtPXJF7exDQqRpq2pVCUTCnjt5MlYmebq7cHpMPdp55OKwS1HatxyDs/8zlv7xNZmfhfe+KAVL9l+XjvTNm6U3JTg4dr+3l5c0lbVuHbv9rRzt8M1BSAi/XlzNlL8nc8ilGE3a/8DVDHKB2xixrERYuVIu/LhEEc7OtG85hpNZCzBz9UQ+uHIk0ua+y44ybPVJiVj8/ORN9vvv734+TfLA31+EyiKUNg7zOsGFO88BKHXzPMt+GwxA87YT8c5ZHJDIfmpLt9ev/Z07ZfGzZEmRAblyRTpYQe48S5aUazMgIFbmhaU3j+UoTMfmo8n8/CGLlw3H2e9ppP12X3rA4R1H5ZofOFAmab2JP/6Qrt1yMbYNJRq0w48rfn7QujWF503nqmcrhnT5jieOaXFJ58jUlm5cHl8/emf/9Gl4TvHyZZnb2a+fDDV5R237Zw6p6dBiNJcy5uTnv8ZR6ub5SNuX7LvGMK8TMjJu714YMACePXunc2mSCSlTirZ9166mp37fL9JYZXxOs+SPYTyxT02zdpM4H6ESJ9o0zowZIpmcNq2sKV26BD/mPLQAACAASURBVNWqybb8+cXZz5ghFUH//ff66+/elYlTT8Md+ljPkqRPZccRlyJ83nQYeR/6smDFKFIF+EV6afuQYvDppzBlCuTOLY1k0eXn796V/H2rVkmmyEE7/Lhw7ZqUe61YAd99R55Vv7F9WB2uTKjP7sE1Ys5Z7t0rkcxPP8njfv1khGGfPqLV8ckn4RFOYKA0vcycCS1biv79nTtRHrZt+Vw8cUjDJy2+4UEqZ+avGEW++z6R9lmy75qoaE6fLudMBpULmjhgYwNFisB7oo7Sdu5egpXC49pxFi0fwb3U6WjRZmIk2YN2EdM4L16I9MLe0DTj5MnSAbtvn1SN2UXoGE+fXqZj/fknnD0rw1MmTZJtPj5QvLiM+KxVS0TcroWXgo5sWBxHO1t253GjT6NBlLx1gR+9JmAbEp6+eR4YQtvyn8pdRvnyMHq0DEyPii1bJPUTdveRBNAO/13ZuVMkiC9cEMGogQNjFwWEhIiDrVxZ9i9dWp63s5M31tSpMsVq27ZwXW9PT6mO6N1bJGB//DHa4QtjPUtSKX8G7qbJQPsW36AMg0XLh5PxeWQFw2FeJ+QN07atvKGuXInDH0OTpFm2TOrQCV+krXVhHwuXj8TXKQst20zgllMm0+6V8mcIv6u9cweqV5c0yokT8lzOnBLdx0TTppLeadQoXBohe3ZpHPz2Wykt9vGRa/jxY0By+uObliSVnQ0bClVkeO0eVLtyiCFbf4106N2XHjDsnrOsH9y4Ie8BeP2uumVLufMu9Q6LvVaKrtJ5W5SCWbMkIs+XT5x9kSKxe+2LF9LqvWIFNG8Oc+ZEr/Oxf79EICB5xIAAyfHnzi2pHxsbKFhQ0jEBAVEOmei77Cglb15gxW9fcThHEdq3HENwhI7EqS3d8MysZIhEgwbyxtZoXqVyZVAKrxnL6LvsKM2Pb2LCPzM4ka0AnZqN5GGq8M7TSHX2jx5J09PFizLi0NPTvHadOiUa/D16vLap4NC/CQyBkf/+TKdDaxlUtw/LXcOHjRsGXBkfoWpu/XoYOVKaszJkCHf+iXCehK7SMRdPn8oKf+/e0sS0f3/snT3ILe2qVRJRL1sWs6hT+QgDwVq1khRP7tzyuHBhcfZKiaOuVy9SPhMk2kllZ8OJ7AUZVrsHFa8dZ+CORZH26bf8KF53DYmWvv029r+HJvlw+jR4e3PpvUIMWXWCDofWMmn9NHbndqVNq3GRnH2kOns/P4nOz56VoMjczh4kvRPm7E+cMEX6IHLJAGNrfMaOPO6M3fgj5a6HV/8oJUGRCQcHSZsWLiwpI1tbaNZMFqyTENrhx5ZTp2SlfvlySbmsXh17Fb6wu6iaNSUFNGCAeRaBDEPuNA4dkjeXX+QFqm+byq3oypIfssStHt32/0ndc7sjmTVwxTG88leQxTKNJiIPHsh15ezMgNy18Q8I5Msdi9mRx51Pm414TfwsUnGCrS3kyiWpoFc6c83OnTsSIH35pekpT3cX2nnkItjGll6Nv+J6umzM8ppAlqf3Tfv0XXZUUpsgaae1a2XAy8cfw7Bh0KJFohtS/ia0w38TSsnQ4rJlZTV/82aZ0xnbW72XL6FGjfB0Sd685rWvcWOJ0Ldvl5xjhPrisIse4Juan3Mke2G+XzeVXA/DJ0sGhijpRrxyRfKmZ86Y1z5N4qVjR7h2jR3jf+IIacnz8CZOAS9YW7Tya9LclfKHphQDA2UwSsqUokufEAueWbJIIcO8ebBhg+npsZ4lsbOBJw5p6NpkKKkC/Zm5ZiIpgoNM+yzZdy080q9VS9YaZs+W6p0ktFgbhnb4MfHwoeTau3WTXOSxY+HlY7Fl4EBZgLW3jw8LhbZtpeJm7drXUjNjPUviaGdDQAo7engOJtiwYcr/fohUufDILxDSpJE85g8/xJ+dmsTF0KF4j5pMpwvSAVvy1kUATmYrEGk3k1zI8+eSuqlWLeFTISNHQtGiIl38SmrHxoCLmXIxpG5vyvmcZtD2hZFe2j+CDlBSRzv86Pj3XymbXL0avvtOnGHW16ftxMiKFVJP3K9f/OQwI9Kzp0QlUXQEjm9aCjsbg5tOmRleuwdlbpyl276VkXfKnFkiusWL4dat+LVVY90EhUbAHh60fZGf4BBJSZa4dZGXtnZcyCh3jY52tkxt6SbO/t49SVn+8w/07ZvwqRAHB5g/X6puWrQw/Q6e7i5MbiH5/DXFqrKwdH0+P/gXdc7tMb00BCLPhU7CaIf/Kn5+cntYq5ZEvXv2SJT+tqv1Pj7S4OHhARMmxI+tETEMyTsWKCBpqAfhreWe7i5Mau6KjSEX/ZqiVei7+zdKhEZsNkboAlb//nJLPmNG/NursV4aNYL+/RnmdYKXQeGliiVvX+RMlrwEhY4iHN+0pNTaBwfLa44elfr5CA1aCUr58jKgpGzZSDLInu4upE8lKahx1T/jaPZCTHoltWmu4erWjnb4EdmzR/RCpk+XSpzDh999WHFYJ+CiRW8tChVnevSQhrCrV01PhUU6drYGw2t1516qdExd+z32gS8JUdBv2VGGnfKX4eezZ+vu2+TKtm2wfj0njLQsjaBvb6gQit+6xIkI6RxTY9WcOVKB9ssv8X8n+yY6d5YuXpAh5lu2ANKUBRCQwo6ejQejDINZqyeQMih8Mlekqp0kinb4ILnHfv3ESfr5ieb39OlxGxTSsaNMxylY0GxmxpqWLeXWtkwZaQ0PxdPdhUnNXHmWyomBH/WlwAMfBuxcDIiU7JJ915jt0Qx69XpnaQdNIkYp+PprcHGhTzoPInbo5A5dsD2RVRx+pBqzZs0k7RnWwGQtDBsmRQ1Hj0YqYPB1zsKX9ftT8vYlhm6dZ9p91JpTlrI0wdAOf8MG6aSbOlXGmJ08ab4ysmzZzHOct6VaNTh4UCZc1a0bSTrB092FEKXYldedxe4f8enB1ZT1Cb/Qv7vvhFeTruDkJHcIsRSw0iQB/v5b7nJHjODq88gf+K8u2Lb1yCUfECEhsv4T207zhGTBAimdrl8ffHwY61lSdPSBfwuWZ+77nnQ8/D/qnd0FSPFCUo/yk6/Dv31bmqjq1pV837Zt0kH7ppbv2PDnnxJZ3L//5n3ji4IFRaukeXNZzI0gnZAjndRPj6/WCV/nLHz/91QcA6SqQiHDXHjyBCpWlOjt1fROqGAc//tfQv02moRg3DjIn5/VbrWxecV5l7h9iZe2dpzPlCtcOuGvv+QauXkzmgNamBw55EPs6VNpUHz6lE39q2EX6vW+q9qBI9kL8936aeR9II5+0oZzFjQ4/kl+Dj8oSBYlCxcWxzxqlHTYVa1qvnOsXCnONorZnwlK6tSwdKmUk0ao/x9YpzAG8CKlIwM/+oI8j24yaEd4qdqNR34S4Q8fLqWeWbPKh+OaNbKDo6PIPSxYkLC/jyZ+WbmS7SOmMHjtWYJfkVwpeesiZ7PkoVWlfFKVExIiIwP9/CBTpmgOaAWUKiXVcidPmoonwrpwA23t6On5FYG2dsz+61scA/zl2k/CJC+Hv3On5LX79JGu2ePHpX7XnDXygYFSwlm/vnXocNjaShetUtKYcuMGnu4upoEs+3KVYn6ZhnQ6tBaPazKqThEqrta9u9zit28vqa+PPxYxKYDataOWrtUkPp49k+vDxYWhN1KbRnWaUIoSty/hVMkjvJt2yxaRNf7qq8hql9ZInTrSMDlyJBC5aueGUxb6NBxIoXvXGL9hBjmck1Zn7atYgUdKAC5fltRGlSoi6PTnn+LAChc2/7l275bGj4YNzX/suODrK+WmzZpBYKBpaIQBfFelA1fTZWfi+umm1M6SfdekNrlCBZFwvnlT3jROTnK8AgVEFEuT+OnQQVIeSkUZ4eZ+dBOnl8/JW6dK+JNz5kDGjNKdnRioWlWq5e7dgy1bTFLKALvyuvND5XZ4nt7O7Ed73nCgxI1ZHL5hGHUNwzhnGMZFwzAGR7G9o2EYdw3DOBr69Zk5zvtGHj6U286iRUXzevRokQ5o2jT+FpjWrpULK771Q96WnDnDy+fmzwekC3dKSzf8UjowuF5vcj+6ZaraAalNNi1ipUwpH5hht+/588uH54PkUb+cZPHyEkG/ULnusPWdiJS6eUF+KFNGvt++Lfn7Dh0Sn9ZM797QsCGetvcZ37QkLukcMYDfqrdha8HyFJ80ij6NBuI2emOSXMCNs8M3DMMWmAXUA4oBrQ3DKBbFrsuUUm6hX7/E9bwx4ucnipT588P334smxvnzMlYtLqWWsaFAAZFiSJMmfs/zLrRuLRH76NEmobWwWup9uUqxyL0+nbzXUNonXE9n6KrjUR/L1VWEpl5R6dQkIp49kxLckiUZUaA2+YeswzeKCN/t7mWC7VKKOiXItT1jRrQzGayayZOlcqdNGzxds7N7cA2mtHTjWVAIPRoM5MB7xZnyv8nUOPgP/ZcfTXJO3xwRfjngolLqslIqAPgDaGyG474bly7JkIRBg6Tz7vBhERdziWH6lDnp3l0m9lgjhiFKnzduSEVSKLahdzsTq3bghlNmJq2fhn3gSwBeBIaEKwpGpGZNqfEPk2zWJD5++QV8fZnb6ksWed98baEWwCWdI42CbmLrWiq8gTB1anH2lugxiSvZs0vPwKlTstaGVOYEBiv8UjrQqdlI9uYqyfd/T6XFkX8YvSZ2A9UTC+Zw+C7A9QiPfUKfe5WPDcM4bhjGSsMw3ovqQIZhfG4YhrdhGN537959N2vy5BGp0y1b5B8aYfByvHPz5msSxVZH1aoS1RULvwlrXV7+Hc/tUzG4bm/yR2jIgtCRiJqkx++/Q5UqfPsk6iobA9id9y6ZTxwK7zjfv18mrln7dR4TLVrIuMbQ0YkR1y387Rz49OMR7MrjxoQNM/nply9hxw5LWWp2EmrRdi2QRylVCtgELIxqJ6XUHKVUWaVU2cyZM7/bmWxtRc6gevV3Nvad+eKLxDEObcYM+Ogj08OwsYhApIas8tfCI/soxaWqVrWcboom7mzfzoZB3/F6XA+OAf6MXz9d0qHu7tK1CjL8e/hw62uyehvs7KRRLEcOePnytXWLl3b2fNpsBCM+7EqeRzflOq9VSyTIrXRCYGwxh8P3BSJG7DlDnzOhlLqvlHoZ+vAXoIwZzmtdKCWRgIeHpS2JHU+eSC7/utycLe1SwbTp22qduZYuGz/8PYU0L18AMYhLnT4d76ZqzIxSEBSE15n79Nr9enNg1qf3WL2oPy2Ob4KhQ+W6zpFDRNL+/jtpDAbp3VvGLtrbM7DO69V6gbZ2LCrTkCqfz2VMjc946n1EOtg/+EAaDhOp9Ig5HP5BoKBhGHkNw0gJtALWRNzBMIzsER42ApLelI0LF6R6oXJlS1sSO+7eFe37pk1N2uWOoS2Ifikd6N+gP9mf3mP45rmml7yWy8+fX9ZMNImLjRuhYEEWzFtPYEjkiDXr03v8/vtQsj+9S5e246T7NqzO/swZWeitWNECRscTx4/jmVmZdHZe5aWdPfPe9+T9znM4NniclDc3bCjS6b/+KgOOEhFxdvhKqSCgF7ABceTLlVKnDMP4xjCMRqG79TEM45RhGMeAPkDHuJ7X6gjL81WpEvN+1kL+/KJ97+0tC3BKMb5peDrqsEtRZns0o+WJTSbt8KURpwOFHePmTRGf0yQevvsOAgM55Rg5dx/m7DM/f0jnlt/Q8MtPIr/uwAH5Xq5cAhkazzx4IGsTEycy1rMkNjFkqfzt7Onh7CGB3eLF8iH46aeyZvjNNxLsJQLMksNXSq1TShVSSuVXSo0LfW6EUmpN6M9DlFLFlVKuSqnqSqmz5jivVbFzp4hIxUczV3zRuLFISyxcCDNm4Onugm2Ei35apdYcy1aQSeumkveBb7jOThhhc3DDum811s+ePbBlCyebd4o0ptDJ/5nJ2Xdo/g1t+7UOlz8O4/p1abZKjNU5UZEhg3SRz5kDJ0/SpnzUUX4YNx75iaNv1w6OHJEqNTc36eDNlUv6Eg4csOo8f/LotE0I+vaV2beJbTFr+HDRMB8zBl684IcW4VVNgbZ29PAcQpBtCn76a9zrWiNubtCpU8Lr/WvejcBAWWTPmZO+6SKvNX2zaTa5Ht2iU/NRXClU6nVnD+LYbtywDskQczF+vHSPd+rE2AZFw2fzRkGkxV3DkD6U9evh7Fn4/HNpYCtfXgawzJ1rlTMlktB/zsK4u8vwkMSGjY1UNa1dC6lS4emWg3blw9fgfZ1Fa6TgvetM+GcGNkQYFFGkiOQxE9NdTXJm+XIREZs1i0sRPrcbnNmB5+ntTK/UGu+cxU3DQqIkqX24Z84sZabe3jBpEku7VDBJjkTE0c42ysVdQK7/GTMkv//jj/LB+vnnUvPfpYuUslpJ1K8dvjk4dEha1AMD37yvNZI2bXh10Q8/MHbZt3QsndV00YdpjTQ+s53ue/5g4Mpj4U5fKd1tm1ho0wa2bsXrvTIm+eOsT+8xduOPHM1eiFkVWpDO0S7q6P7AAYlozya9bCzNm0tqJ7TyKExyJEx2wSWdY/g4x5hwcpLGy2PHRFOreXOpBPLwkC7liRPlQ8GCpHjzLpo38ssv8o9NCroySsGyZYwqWhS3lp/Rf/lRQhT8WKE5Be5fZ8DOJTgEBTA6ZWd5A1SpIm+UCJO1NFaGUrKomC0bwx5lZMk/R03PT1o3jZTBgfRr8CUp7VMyqlE00f3u3SKely5dwtmdkCxcGCkd6+nu8mYHHx2GIZVMFSvKYKVly+T4gwdLmWuNGvLh27QpODub6ReIHTrCNwc7dkClStL0ldgZOFBSUz/8gGcuB8Kq9pRhw5f1+/Gbax167V1On7WzpBY5Z05dmmntrF4NBQqw9Y+Nkbqmm5/4lypXj/Bt9U+5mtEl5ij2wAFZmLTUFLf4xjDkel6+3DQH1yw4OUlaZ9cuqfD5+msZRtS5s8yZaNJEOp4T6C5ZO/y4cveuNB8llvr72DBmjCw4ffddpKdDbGwZWqcXv5RtTKdDa1n36VciFnftWuJNZyV1lIJvv4Vs2RhxOTyCTef3hCHb5nPQpRhL3eqiFDFHtPv3J51yzOgICZEIfODA+Mm5FyggJZwXLsjfs1s3+SBt0wayZBHnv2iRqPzGE9rhx5VdMg8z0dTfx4bixWUg9c8/k832lWEYhsHYGp9xKUNObPbs5s/H9tKBqYehWCdbt8p844EDuf4kfD7xoO0LcfJ/xvDa3VHGG9zA3bsSlSZ1h58ihUTghw+LnHp8YRjyt5w6VUpdd+6Uu4CDB6W0M0sWaNkyXk6tHX5c2b9fJJfLlrW0Jebl22/h8GEGNyuD3asdKYbB5Qw5yP3wJssehE4L08NQrJMJEyBrVta4fmh6qrTvGdoc28CvZRtzNouMvgybABUlDx/Kgm2lSvFtreVp106aqcaMSZjKGhsbkWuYPl3ulPfvhwED5G4gHtCLtnFl/Hjo0cO8YxKtgfekNNMTMAID+WLVqUibr6XLTqX/jnE+g4vU8ufJk/A2amLm0iXYtIlTfYbQb400zNmGBDN244/cTJORaZVam3aNsRSzUKHksyhvZyeLq926ye9cu3bCndvGRiL/eLyT0hF+XDEMWcxKiigFTZrQeOEkk2Z+GFfTZydV4EscVIjkJYsUsZCRmmjJnx9OnqRb6vcJDl19b3l8I8XuXOGbml14bi/DgKItxQwjICD6bUmRjh1FbTeRCqTFhHb4cWH1alltf/zY0pbED4Yh7efz5/Np0cgTvK6lEz28T7MHhw9ut5LmEg3hzqp4ca6HSLOUY4A/fXf9xoGcxVhfODw9E6kUMzhYSjBXrpRIt3JluXsNHQCeLLC3l0qdunUtbYnZ0Q4/LqxaBWvWSONSUqV/f/DzY+h/22nnkcsU6V9NLw7/zpFTHBk7TfT19++3pKWaiHTvLrIXET6EO3uvJsvzh0yo2slUc/5adB8SIjnl5s1lHGBQkFwDHTsm8C9gBTx+bJIPTypoh/+uKCWNKDVqJC1tkVcpXhzq1YOZMxlbtyA/tHDF0c4WX6csBBk2pPW9xidPcvPSwVFEqDSW57//RPIiTRqTY0//4jHd9q9kQ0EPDucsatp1VKPisijbsKF00drZSe768GFxeHv3iox23ryW+m0sg1IyFW7IEEtbYlaSsKeKZ86dkzbpmjUtbUn8M2AA3LkDS5YwacM5/AKDCbJNga9zFvI8uslT+1SsKlyFoN9/T7rprcTExIlgGGz46BMqTZAmol57l5Mq8CXfVelg2s0APF2zSynghg3h9d8ffijaUI6OURw8mWAYks7aujVJpSq1w39XNm+W7x9+GPN+SYHq1UUJ9OOPI6ll/pcuO7kf3gTgN9e6pPD3h6VLLWWlBiQImTePK41a0nfPfXwf+ZHz8W3aHfmbFSU/5FKmcGG8th655MNh7VpJ31SoEMOBkyHVq4s66IULlrbEbGiH/66kSCEjz/Lls7Ql8Y9hiPpf+vSRJGL/S5+d3I/E4Z/IVoCTWfMnn/I9a+X77yEkhAH56+EXKE1zfXb/DhhMrdQGAFvDoJ1HLsYal2VWbevW0LOnBY22UsLmYm/dalk7zIh2+O9K165yISQ2/fu44OXFgtPLTSqaV9NlJ53/M5z9noJh0LnFaLyGz7Coicmer76CJUs4ZIgoV94Hvnx8cguL3T/ilpNMuLo0/iPGNi4B06aFa7cnp+s4thQsKLN8tcNP5vj7J8ka3Tdy7BgFF/9M79wGBnAttFInLMq/kyod/ZYfY/SyAxY0MpmTLRu0bGmqpuq76zdeprBjtkdzgPB+CsOQVM66dZA6taWstW4MQxa/k1BJqnb478LkyfLGssKJNvHKZ5+BrS39r2xjSks3rqfPAUCe0Dw+QKUrR/iiY002rzSj4qDmzdy+DbVqwTGZVRCsFIXvXqXhmR3ML9OI+6lF1jjD0wci1vXkiTj6jBktbLiVU6cOFC365v0SCdrhvwvr14v0QJo0b943KeHiInNwf/0Vz6IZueqcFYDcD2+YdjmVNR82ISE4DBtqKSuTJ5MmwZYtbLryhIErjwHQb9dSnqV0ZE65pqbd+h9bLRLASay+PN4ICZFZF+aUTLYg2uG/LQ8fyiDojz6ytCWWoXt3uH8fVq4kY+Z03EyTkdyPbpk2P0zlzI8VWlDp3P4klfu0am7fltF6bdsy6LgfgcGKErcuUvf8Xua978ljR2kMzBb0guaH1kGrVtJfoXkzNjYimTxrlqUtMQva4b8tmzbJp35ydfg1aohut5MTA+sUlkqdCCkdgPllGuKbNjMPe/ZNnmsdCc2kSfDyJQwbxsMXMpeg366lPHJIw6/vNzbtNv/5flL4vRDJBE3sqV4dtm1LEteyWRy+YRh1DcM4ZxjGRcMwXruaDMOwNwxjWej2/YZh5DHHeS3CunWiL5PUtcGjw8ZGJCUaNcLT3QW7QgVNi7ZhvLSz5/sq7Ul/5rjosmjijwjRfdvt9wFwvXGOmpcOMqdcU57ay4KsY4A/RVcskI7aEiUsaHAipEYNGV969KilLYkzcZZHNgzDFpgF1AJ8gIOGYaxRSp2OsNunwEOlVAHDMFoBE4H4UfiPbzp1kk/8pDDOMC74+oKfH2Vqvg+b/yJVgB8vUobX6HsVr8b5TLnokiYfnhY0M8nj5ATjxjElZQF2X5KZyl/s/p0Hjk4sLN3AtFtmOyWpnHbtLGVp4qVWLfm+cSOULm1ZW+KIOSL8csBFpdRlpVQA8AfQ+JV9GgMLQ39eCdQ0jERa+Fu1qrSiJ3caNIAvvhAJXiBXhDw+yAzcU9kKMGTVcUk3aOIHR0fo148ZPvJWdrtxjhqXvZlbrolJ/higf6sKMHMmeHhYytLES7Zs4OoKJ05Y2pI4Yw6H7wJEXPL3CX0uyn2UUkHAYyDx1YNt3Qr79lnaCuugQAGZchU6mefVPH4Yn21bypNipUR2V2Neli+HefMgJMQ0bL7vrt+4/0p0X+fcHjyfX7GQkUmE7duThGyIVS3aGobxuWEY3oZheN+9e9fS5rzOkCHQt6+lrbAO8ueXOaehk67yPLoR5W4XMuXC6fJ5cU4a8xEcLNUj8+bhdUw+bN19z1LtyiHmlG9qSq85+T9jwoaZMGKEJa1N/Dg7W9oCs2AOh+8LvBfhcc7Q56LcxzCMFIAzcP/VAyml5iilyiqlymbOnNkMppmRu3dlwnxyrc55lQIFZPDJkyeQKRMfXj2Mk//rjWgbClXgXKZcMHZskqhysBrWrpURhv37M2mDjC/su1ui+8Xu9U27fbH7d9L5P4UpUyxladLhs88SfdetORz+QaCgYRh5DcNICbQC1ryyzxogLPHdDNiiVCLTHN24UWRStcMXwoYsX7wIgwdT9tpJ/v2lO3XP7Y4kJ6sMG2ZWaAmnT0t1j8Y8TJ4MuXOzOvf7+D7yw933LFWvHI4U3ee/f52OR/7G+OwzyUFr4saNG/DHH5a2Ik7E2eGH5uR7ARuAM8BypdQpwzC+MQyjUehu84CMhmFcBPoDia8QeO1ayJIl0a/Smw1XV1iyREr8vvwS48AB7qXNwE9e4/l2w6xITv/vIh/wX+b3YOpUCxqchPD2hp07OfFxRwavOQNIJP9qdD9q+3xsU6eSuytN3KlTB86fh6tXLW3JOxPnskwApdQ6YN0rz42I8LM/0Nwc57IIISGwa5fICiTl6VZvQ/r00LZt+OMyZbiwZjM7e/Wn64FVnMmSh8WhC4chNrZ8WbsXXVpXpY6FzE1S2NhA2bJ0t3fFLzAYtxvnqHblEBOqdjRF96lSGKSvXxsKdpBARRN3ateW7xs3ilx4IsQsDj/JY2Mj+dKnTy1tiXVx7JhITVSrBkDj93NTul4X8j3wYcTmuZzKkt80Ts87Z3GO7bnPpOw+eDq/NJVzat6B0qXx+vkvfJaLZs4Xu3/jgaMTi0qHR/fffuxKCXedfjQrRYqIhtaGDYnW4etwNbbY20OmTJa23GcaqAAAIABJREFUwroYORJ694701IjGJfnacyA+zlmYvXo8mZ89NG0LDFY86NVXupR9fBLa2sTPw4cysOTZM4b8JTXhrjfOUf3yIeaWa2KK7pvcOYXnyS26FNbcGIYs3CbiTmXt8N9EcLB01q5YYWlLrI/8+eXOJ0L1jae7C0PbVKBbk69J+/I509ZOwlDh2xeXqE2Qnz+0bKnn374tAwfChAnMnLsev0D5m/YNi+5Dc/c2IcGM3vErjBuXpGaxWg0jRsDo0Za24p3RDv9N7N2bZISTzE6BAuDnBzcjN115urtwLnMevqnRhYrXjtPiePjYwysZXOhXp4+UuHp4JKl5ofHK1q3SZDVgAFPuiD6OW4ToPqyrttWlPThdOgfffCNjODXmJygo0S7caof/Jv76C1KmhHr1LG2J9RGxNPMV0jna8YdrHfa9V4KhW38l87MHpm1rC3/Aztm/S29DvXryBtJEj1LQr5/MTx45kuDQyL3vrt8iaeakCA5i6IE/pIKqWTNLWpy0adYs0ZZna4cfE0qBlxfUrCkiVZrIhC28RuHwRzUqDobBkLq9cQgKYNS/P0fa3ueGExw8CPPn60j0TaxfLwvkI0bgdVY+OE1dteXC6+4/PrmZND7/wZgxuposPqlRA86cifK6t3b0VRETJ07A5cui/655nVy5RGOkadPXNnm6u2AgKZzpFVtR/9xual0I1yF6+CIQr0cpoXJl+WCdM0dPYYqO3Lmha1do04ZRa04B4V21EStz7qZOL2qYDRpEdySNOWjYUL6vXWtZO94B7fBjQilx9o0avXnf5EiKFFClitTkR0Fbj1wAzCnflDOZ8zB60084Bvibtg8KHcXHzZswYID8rf384t3sREfx4vDTT3idvMMjv0BK+555rasW4FzZqrB4sVSTaOKPvHmhZElY86qggPWjHX5MuLqKHEDWrJa2xHrZuVMWE6NgrGdJKuXPQKCtHSNqdSPH03t0PfCnaXtAsMLriC/kyCFKhIcPQ5cuurokIj/8IOkDYMCK0Fm1O5dKdO8enrvv5L2aIR+8KlKriTcaNpRr/+HDN+9rRWiHHx03bybalfgEZflyWVCMxkkv7VIBgIPvleB/RSrTbf+f5Hhyx7Q9LEVBw4aSe166FH79Nd7NThQcOSJ3Pn/9RflxmwgKUXhcO07l/47yo0dz/FI6ANDk1BZGbp5Lg0e64inB+PRT2LwZ0qa1tCVvhXb40TFzJhQsmOg+wROcAgWkA/nePam2adkSPD1l9F4oYRmG8dU6ATB42wLTtkd+gRLlg8hP16wpEtT3XxNTTX6MHQtp0/L3B57cfhoASjFgx2JupcnAktAu2hTBQfTZtwLKlIH69d9wQI3ZyJdPhiElsoID7fCjQilRxatRI9r8tCaUiKWZgwZJxL9unaTDDh8GoG15yeX7Omfh53JNaXRmB2V8widgmqJ8GxtYuFCa3DImvvk4ZmXTJkknDhjAoH+vAVDtsjdlfc8wvVJrXtrZA9Dk1Fbee3hTGoJ07j5hOXMGvvoKAgIsbUms0Q4/Kg4elOqcVq0sbYn1E+bwf/1VNNd79xZHX6aMREFILj+Mn8o342aajIzcPMfUgRspyndxgbp15WffV8cqJBP8/aFnT/nbDhrE84BgDBXCgJ1L+C9dNpaXlBmrqQL8+HLnYnj//fDKEU3Ccf48fPedVKolErTDj4o//pBmK12O+Wby5JHIPGzh9YcfRGvk778hXTpxXqtX45JOqkn8UjowsVpHSt26yMcnt5gOM3rtqcjH/d//pBri0KEE/GWshOBgaeyZNQscJE9f99weSty+xNRKbQiylTSCs/8zbmbLLbLTOrpPeGrXhtSpYeVKS1sSa7TDfxWl5Fa6Xj1xWJqYsbeXu6Hhw6FNG7Czi7x98mTw9GTGy2PY2YhTWl2sKodzFGbQ9oWkfvkCkLr8SFSpImPlBg5MflU7qVOLEw+V400REsyXO5dwPmMuVheratrtplNm3C8chooVLWVp8sbRUXoeVq1KNN3i2uG/imHIgInvv7e0JYmH3LmjX7waMABq1aL0mIEsziLVOcqwYXTNz8ny/CE994XPuh3mdSL8dU5Oosa5dSv88098Wm9d9O8v5X4RmPTiCAUe+PB9lfaE2NgC0OHQWnoUSGkJCzURadFCChYSSVpHO/yoyJQpPDetiRspU8Kff4KbGx6j++FiyALXsRyF+bN4dT496MV7j24BsGTftchO//PPTXnsZCH1e/CgrIPs2hX+nJ8fTVb/wvVCJdlcSEpcK107zuh/f2bQ7QMWMlRjol49yJkz0XSJa4cfEX9/yZ0mkk/rREPatDB7Njx6xM9+h0ypne+qdiDYxpavt4Y3bv2+P8IbJ2VKmDBBFse8vRPa6oRn/HhJI/bsyTCvE+Qfso6x9XuBjw8b2/fl0oT6XJ1Qn6U+62UQR//+lrZY4+gI//0HHTta2pJYoR1+RFavFqGqwMA376t5O95/H8aPp0SX1kxqLgO1b6fNxI8ezal7fi8Vrx4FMClBmmjaVEo+y5dPaIsTllOnRJm1d2+GbfmPJfuukcr/GT33rmB73tKMeZZV7n4OHZKUT79+4mw0lsfGRtaZEoEsiHb4EVmwQCKnGjUsbUnSZPBgKF4cT3cXbEOrSua+34TrzlkZuXkOtiHBpudNGIb8T8C6BqbcuiWa8+aqwR4/XhZrv/iCJfuk7v7z/atI7/+U76p2AGDpvmuymJsmDXTubJ7zauKOUlC2rHwIWzna4Yfh6yvDiTt00NKy8cnp09CrF23LZgfgpZ09Y2t8SuF712h3ZB2ty78X9et69JCBKdYyiGbsWFlU/uUX8xyvQgWRP74m4nLZn9zls4NerClahVNZRYZaKSXOvkcPqWDSWAeGIV35iaBaR3u2MBYvFmeSSHJxiZaLF2HWLL7xP007j1zYGgYbClZgd25XBu/9jbEfZI/6dRUrwtmz8O+/CWtvdJwK7RsoVChuxwkJkbuEnj1h0CAmbTgHwKDtC7FRIUys2jF8X8OQtZCJE+N2To35ad5cBvpY+fqfdvhh5M0L3bqFD/XQxA8NGojc78SJjG1cgkvjP+LqxAb4fz8ZO7/nLK3VnkoTtoR33obRvLmolk6fbhm7I+LnJ6Mv+/eHDz98t2OEhEhE6OoaqQTY95EfbjfO0eT0NuaWa4KvcxYA7ANfUurmeXNYr4kPPvpISomXLrW0JTESJ4dvGEYGwzA2GYZxIfR7lMIzhmEEG4ZxNPTLOkWkW7aU6EkTv9jYSK7zxAnYvx8AryO+9DoWwGL3+rQ+uoF0Z08wZNWJyE7f3h66d5cOXkvPwT1+XKLyGjWkBnvatNg3hwUHw7JlULo0fPyxHKdoUQDazt0LSjF881zupE7P7PLhYwo9T29jzaL/t3fucTbW2x9/L2MwqMQgxgmVS+5zGqojlbsIQypERUVULkmRhOJHIaqj5FJyOXUShkrILUWFch1McskxbsOYyAzG+P7+WHtm9piLYWb2s+39fb9e+7X3fvazv8962LOe77O+a33Wi5q6afE+goK09eHcuRAf77Q1mZLTGf4gYIUxphKwwvU+IxKMMXVcD+/rJvLDD961IOjrPPIIFC6s7Q2BsUujSEhMYsI9j3Gi8A2MXPYhZ88npoqqJdOzp1byTp7sgNFu3HmnOvrGjVUorl8/fc4OPXqoRtPZsyoUFxkJ7doRsSmatXtiab1zDXcc2sXYe7umNCYvlHiWF376L3FVa+jioMU76dNHe0N4sYJmTh1+W+BT1+tPgfAcjud5Tp/W27EBA5y2xH+47joNn5XReP2hOE1nO1WoKKMbdiP0cBQPb12eVlQN4KabVGNn+HAHjL6E4sVV56ZTJ600HjUq61l+8me9emkhWmQkPP54inMY8VUkQefPMmj1DCJL3cK8Go1TvvrcT3Mp99cxik3+t9XM8WZq19bJTAHvrYDOqcMvbYw57Hp9BMisNVQhEdkoIj+LiHddFGbPhr//1k5LFs8xfnyK4y5bLDWffH71RqwvV41B38+gWMKplEXMFJo10wuGU/o6p0+rmueaNfo+MFArgX/6SbN2MrJrzhztERAfrzP09u0hICDl44hN0ZyMT+T5n/5LyOkYhjXtmSKhcMuJg/T8ZZ72qr3vvvRjW7yLmBj4v//TBkpeyGUdvogsF5HtGTzauu9njDFAZn+F5Y0xYUBnYKKIZLgyKiI9XBeGjTExMVd6LleOMfDBBxpPrVcv749nScvFi/DbbwxsXiV1mwhDm/Xm+rN/M3DNTKLjEtIv4K5dC6GhmgvvaX74AZYuTVuc16MHdOumHbvGjk27/4oV+tmpU2mcvDtjl0Zxy4mDPLN+AV/WaMzGctVTPqt4MpozJUqlH9finZw4AUOGwH/+47QlGXJZh2+MaWKMqZHBYyFwVETKALiej2UyRrTreS+wGgjNZL8pxpgwY0xYyZIlr/KUroC1a2H7dr3NtrfKnmf8eAgLI7xEEjcWTlXZjCpZgRl3tKbT5qXUORSVfgG3VCnN5x861PM2r1ypt+zuCpX582vsdtKk1DvFPn20J0DLllClilbRFiyY4ZCHTsYzfPlHnA0syJj7n0zz2dnmD3DjoT81nGXxfqpW1cnjrFlOW5IhOQ3pLAKecL1+Alh46Q4icqOIFHS9DgbqAzsu3c8RVqzQApZOnZy2xD/p0EHvsmbOZFjr6gQFps6AJ9zzGEeLFmfU0kmcP3c+bWinUiV4/nlturJ1q2dtXrlSnf2lsgYiWhCV3CHt1Cm9MPXurXcEmUhtN31nNS2i1nLv/k2Ma9CF40X0+wUuJPLoH2uZ072eVy8CWjKga1fYssXzv81skFOHPwZoKiK7gSau94hImIgklyDeDmwUkS3AKmCMMcY7HP6wYRAVpSXtFs9TsSI0bAiffEJ47TKMbp/aGetMwcKMaNKD6sf28uTGRSkLuym89pperAcM8Fw8/8QJ2Lw5e9IbM2aoLtOECdocJgNqDVvC8f2HGLZiCpGlbmGOq08twJPblvDWvNGwbl0uGW/xGB076trOxx87bUk6cuTwjTEnjDGNjTGVXKGfWNf2jcaYp12v1xljahpjaruep2c9qodIjsGWzmyd2eIRnnlGG6gsXkx4aEhKZyyAJZX/xYpb6/Lij3MI5VTa7xUvrhfs5cs1vOMJYmK0McvVFlu58djUnzh9NpFxiydyY8IpXm7ZlyTXQm2Rc/EMWD9X0z4bNMjxsSweJjhYCwVjY522JB3+WWl74YK24RszxmlLLB06qDja7NkADGxeJTW0I8Kwps+Szxgm/fJp+u/26gXvv6+Vu5D3BS9Vq8Lq1ap7kwOSc+6f2hBB4z0bGNno6RS9HICnN0RQMC5WBdUs1yazZsHMmU5bkQ7/dPjz5qnGuqvC0eIggYE6S3c5/PDQEEa3r0lIsSAEMOUr8H3nXpRZvZRn2w1JK7tQoIDG8kEX38uX13h5XnD4MBzLMCfhihm7NIrQ6F288v2nfFv5X8wKbZXyWfH4v3hmwwJN3axbN1eOZ3GAZAHGQ4ecteMS/M/hG6PZIZUqQevWTltjARUgy58/patVeGgIawc1Yt+YVgxsXoWBIY2JLHULI5ZP5vSRmPRZO6Dx/DJlNF89L3KgR4xQO3PhLuJc9CHeX/QWR64L5pUH+qTJECtz+jjHbyylapyWa5u5c7UbVmTk5ff1EP7n8H/8UfVI+ve3MsjexKpVOkPfuzfN5rFLozh9UXjlgT4En4lj8KqPSUhMSi+78I9/wBdfwJkzKnGdmzLKJ07o7fnDD6skRA74at0fTJv3JiXiT9G77SBOFSqa5vMdpW+lwuF99u7TF2jYUO9gp0xx2pIU/M/jvfMOlCihTsHiPVSurCGTCRPSbE7Oztl+021MrRtOp63LuPvPrellF0Bj7O++C999l26cHPHRR6qQ2a9fzsa5eJGiPbtT6/Bu+rZ+iW1lKqV8VDE2mteXT+HddrfbmhBfIThYQ3MzZ3pNNyz/dPizZuV4pmbJZUJCoHNnTWVzq7J2l12YeE9n9hcrw+gl71Mo8Wz6WT7A00+ntkXMDc6fh3//WyUdqle//P5ZsPvJ3jTc/gOjGj3FssqpC79Fz8UzZf5Iwnd+T5uygVmMYLnm6NkT4uJUIdUL8D+HX7Gidpq3eB+DBqmKpFt2irvswtnAQgxu8QIV4g7z6qpPiEtI1D6v7ojA55/nntT1pk1w9GiO29fteH4QlWZ9xMzQVkwPS6NKwtuLJ1IxNpodE6emtnO0+Ab33afhOS8J6/iPwz9yRAWsvGgBxXIJVatqqO2DD9TJogu47rILP5WvxdS64Ty+6Rua7v6Z2T8fSB/aCXTtv3OnCp3lJB/6zju1cXjz5lc/xtixVJv0FvOrN2R4kx5pQja1Dv9Oy9/XsbpTb+555uGrP4bFOxHRiEJEhNOWAP7k8MePh6++8mrpUguqoPn112kK4oa1ThtKGXvvE2wvfStvL36Xm04dZ8RXmVzEY2J0MbhNmyuPoRoDGzfq6zp1rj6uPnEivPwyi26/l4Et+6WoYCbTY/0CEoteT5MPR13d+Bbv5447VGbDC/APhx8To7PGTp00HdPivdx8c2olq0sy4dJZ/vn8gfRpPZCCSeeZ8M14/vr7bPpZPmhV7OzZKk9QuLDq3Lz9dvbsmD5d8+BXr7668zhyRLuo9e/Pyhr30v/BASmVtO7MfLAHgbNnans8i++ydatWTe/Z46gZ/uHwJ0zQGd6QIU5bYskuQ4dC9+4pby+d5e8tUY5hTXpy94FtDFwzi/7/3Zw+ng+aSrlkicowdO2auvCaVdrmvn0as2/YUC8a2cUYLbT58EO4/XYSF0QwtkFXerR4MUNnHxQYQOfODaFt2wwGs/gUwcHa0vP99x01w/dl+GJj9R/54YdtbvO1hDEqQNa9OzRoQHhoCIPnbyUhMdVRz63ZlNqHd9Prly+JvqEUs2nJvpi/mfPMJdIHzZrpI5mjRzXMM2KExvjdOX5cP8uXT1swZlarsX27Vvkao2sGFy7o+tDx4wDsrVGXp+5+mn3FQzL8erXA80xbN5WyncYBGe9j8SHKltU7vunT9Xd3ww2OmOH7M/wCBTT747XXnLbEciW88grceqtWzsbFATC6fS0C87nF0l1aO8tvrcuI7ybTZPcvrN0Tm/FM350iRTTd8pFHVMY2mcREvTD88Yfq15cvn/kY48fD+vV6QUhI0O+2aQPvvceajxfQuOXrmTp7gMX5t1J25bc2596f6N9fu+tNm3b5ffMIMU61irsMYWFhZmPyopnFP1m/HurX17z6zz8HESI2RTPgiy0kuf1ug86f5bPPB1Ml5gCdO45ic0hV9o1plcXAwMGDmoFz5IiuGfToAQ89pOlzN9+cfubvzunT2pDkscfSpdtlZN+lFDkXT+SsXqqrv2hRtv4pLD5Co0Yqyb5nj/ZEzgNE5FdXh8F0+PYM/733VCjNcm1Sr57e/kZEwK5dgC7gjn+kNu7z4oQChXj6odc5WrQ4M+YOo+qxvRmP5065cvDzz/Dqqyqkt2yZbu/RI2tnDyrhEB+fZo0B1NkPnr8tS2cP0GfTQpVrcKJjl8VZ3nhDf3MO3dn57gz/4EHNyOnQwWvbjVmyQVKShliqVEmz+bWIbcz++UCabeX+OsoXc16hQFIiwb/+rHn92eHiRdXgue667O1fvz6cPKkxe7c/3GpDvyU+MWsNn1JnTrJuek/yt37Qa6ovLb6Ff87wR4xQZ/HGG05bYskJAQGpzn7CBNXKMYaR4TXT7XrwhtI81nEURoQjdevT8Nnpl4/ng8bhs+vsd+7UNM/u3dM4+9citl3W2QcF5mNox3rkf3mgVcP0Z5KSYPJkR4qxfNPh79qlmiy9e6uUguXaxxhtOt+vn9ZTnDlDl7tuTrfbvuIhPPboSApeSOSLWS8ROW9Z9px+dvnkE5Vy7to1ZVPEpuh0dxvuBIgw8dE67HzzAVrXr6zFZbYexH/Jl08d/qBBKZLgHju0R4/mKYYM0UwMm3fvO4ho7Hz0aNUZb9WKkU1voctdNxNwSTz095IVeKjLWM4UCOKzz18ldsZ/uH3otxkXZ10JiYmqfPjggymVwMlx+6wY/0htwkNDNPPo669zZoPl2kdEfVNUlMfXGH3T4bdrB2+9BSVLOm2JJTfJl09nRbNmwQ8/qNNvXY09o1uy/5KsnL0lytGu6zi2lb6NDxaOoe+yaQyZue7qZ/vGaDjp6NGUxdrkjJyExMxnaSIQXqesFn69/bbq8lgs7dtrXdDw4R6d5ftm4VWXLk5bYMlLOnfW2H5srD67CBBJkyFzsvANdOk4kmHLP+LZ9fNpH7mKsVGPM/RiN95sXzv7x/vzT83eWbYMGjdm4U21GDZiGXEJiZf9apewEHjuOa2+7d7d3nValIAAePPN1KSSJ5/0yGF9N0vH4j+cOAElSmSYuZNM7UNRvL5iKncc2sWOUhWZ3PhJGr3UnfB/lst83GPH1FGPGwfGsOWFV+lW8J/Ens3ejOzxsDK8MfctDUW9/DKMGWMLrSypGAPdusHjj2t+fi6RVZaOdfiWa5tVqzSmvmQJNGiQpdPHGNrsXEP/H2dT8eRhtpStQmLv5wjr1EoX90VUGuHXX9VJz5kD585BmzaMa9WLSXuTyM5fS1BgAKPb1yS8ZmlNHKhUCQYOzNXTtlgyI88cvog8DAwHbgfqGWMy9NAi0gJ4FwgAphljxlxubOvwLdnizBkVRAsKgs2boWDBrJ0+EHAxifbbV9B37WeUO6XdtWKDrichf0FCTuv7hPwFmVejEZ+EtWFPiew3JQkQ0UXaysU0ccAYO6u3ZM3Jk7o+NGBA9tODsyArh5/TGP52oD3wURYHDwAmAU2Bg8AGEVlkjNmRw2NbLOpUP/wQWrbUhfrXX2dkeE1+2XuC3cfOZPiVpHwBzK3VjPk1GlM1Zj+1D/9O7UO/U+jCeWaUvpXtN93Gtptu4++CV9YGM2Vmv+EbeGgMrFmjFb0WS1bs3q11QyK6uJ+H5EpIR0RWAy9lNMMXkbuB4caY5q73gwGMMaMv3dcdO8O3XBGdOsH8+SpBW6cOkHE1bl5xY+FAhrWuTvix7XrxadFCC2sCbY9aSzbo0AG+/VZTNXM4SXC60jYE+J/b+4NkogcrIj1EZKOIbIxxa2RtsVyWiROhWDH47beUTSPDa7J/TCsmPlonTQOV3KRYUCATH63DptebEV40Hjp2hBo1VDbBOntLdhk7VtMzBw3K08Nc1uGLyHIR2Z7BI9e7NhhjphhjwowxYSVtDr3lSihdWrVtunXT9999l6Yv7qbXmzHx0TqEFAvKlcMJ0OWum9k8rJkWVZ06pfLIAQGwcCEULZorx7H4CRUrwksvaaLAunV5dpjLxvCNMU1yeIxowH3Vq5xrm8WSuwQH6/OZMxriuXBBY6O9e0NgIOGhIYSHhhCxKZoXv9jMxauMZoYUC2Jg8yrq6JM5fx5CQnQ9oUKFHJ+KxQ8ZPBgOHMjTglFPFF5tACqJSEXU0XcEOnvguBZ/pUgR1d3p00e1d6ZOVQ2cunUBUhz1K/O2cu5C1oJnyaTE6EMzaWoSHKx3FTYjx3K1FCmi0h15SE7TMtsB7wMlgThgszGmuYiURdMvW7r2awlMRNMyPzbGjLrc2HbR1pJjjNHwSt++2jUrKkobl+QmSUnw4ovw7LO2habFK8iztExjzAJgQQbbDwEt3d4vBhbn5FgWyxUjAuHhcMcdsHRp7jt70MXZ996D+++3Dt/i9dhKW4t/sWED7NgBf/2lna7i46FBg9TF3ivh4kWoWVNF3bZsybzhucXiQfKy8MpiuXY4d06VVKNdOQPXX6+PwoXV4Z8+rXH/4cOzbmCezPz5evH47DPr7C3XBHaGb/EvDh6E/fuhcmXNhnBfZP3+e2jVSmP/b74JL7yQeS69MRAaCgkJ6vTdVDstFidxuvDKYvEeypWDe+6BUqXSZ9Tcd58674YNVdekVi0VZcuIc+egWTNN+7TO3nKNYGf4FsulGAPffAP9+2tBzNKlNt3Scs1gZ/gWy5UgopLLkZHanEJEm63ExqauA/z4o9NWWixXjF20tVgyo0ABlWwwRp18XJymeEZEwBNPOG2dxXLFWIdvsVwOERg6FNq2ha1btZArPNxpqyyWK8Y6fIslOzRpAitXwoIF8MYbTltjsVwV1uFbLNnlzjv1YbFco9hFW4vFYvETrMO3WCwWP8E6fIvFYvETrMO3WCwWP8E6fIvFYvETrMO3WCwWP8E6fIvFYvETrMO3WCwWP8Fr1TJFJAb4MwdDBAPHc8mcawV/O2d/O1+w5+wv5OScyxtjSmb0gdc6/JwiIhszkwj1VfztnP3tfMGes7+QV+dsQzoWi8XiJ1iHb7FYLH6CLzv8KU4b4AD+ds7+dr5gz9lfyJNz9tkYvsVisVjS4sszfIvFYrG44XMOX0RaiEiUiPwhIoOctievEZF/iMgqEdkhIpEi0tdpmzyFiASIyCYR+dppWzyBiBQTkS9FZJeI7BSRu522Ka8Rkf6u3/V2EflMRAo5bVNuIyIfi8gxEdnutq24iHwnIrtdzzfmxrF8yuGLSAAwCXgAqAZ0EpFqzlqV51wABhhjqgF3Ac/5wTkn0xfY6bQRHuRdYIkxpipQGx8/dxEJAfoAYcaYGkAA0NFZq/KEGUCLS7YNAlYYYyoBK1zvc4xPOXygHvCHMWavMeY88DnQ1mGb8hRjzGFjzG+u16dRJxDirFV5j4iUA1oB05y2xROIyA3AvcB0AGPMeWNMnLNWeYT8QJCI5AcKA4cctifXMcasAWIv2dwW+NT1+lMgV5oo+5rDDwH+5/b+IH7g/JIRkQpAKPCLs5Z4hInAy8BFpw3xEBWBGOATVxhrmogUcdqovMQYEw2MAw4Ah4G/jDHLnLXKY5Q2xhx2vT4ClM6NQX3/gbOIAAABoElEQVTN4fstIlIUmAf0M8acctqevEREHgSOGWN+ddoWD5If+CfwoTEmFDhDLt3meyuuuHVb9GJXFigiIl2ctcrzGE2lzJV0Sl9z+NHAP9zel3Nt82lEJBB19nOMMfOdtscD1AfaiMh+NGzXSERmO2tSnnMQOGiMSb57+xK9APgyTYB9xpgYY0wiMB/4l8M2eYqjIlIGwPV8LDcG9TWHvwGoJCIVRaQAusCzyGGb8hQRETSuu9MY847T9ngCY8xgY0w5Y0wF9P94pTHGp2d+xpgjwP9EpIprU2Ngh4MmeYIDwF0iUtj1O2+Mjy9Uu7EIeML1+glgYW4Mmj83BvEWjDEXROR5YCm6ov+xMSbSYbPymvpAV2CbiGx2bXvVGLPYQZssecMLwBzXZGYv0M1he/IUY8wvIvIl8BuajbYJH6y6FZHPgPuBYBE5CAwDxgBfiMhTqGrwI7lyLFtpa7FYLP6Br4V0LBaLxZIJ1uFbLBaLn2AdvsVisfgJ1uFbLBaLn2AdvsVisfgJ1uFbLBaLn2AdvsVisfgJ1uFbLBaLn/D/smCk/M/fjtgAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# display tree structure\n", "print(lgrt_gp)\n", "\n", "# plot\n", "beta = 2\n", "plt.figure()\n", "plt.scatter(xtr, ytr)\n", "plt.plot(xte, mu,'r')\n", "plt.plot(xte, mu + beta*s2,'r--')\n", "plt.legend(['posterior mean', 'posterior variance', 'Training data',])\n", "plt.plot(xte, mu - beta*s2, 'r--')\n", "plt.show()\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.6" } }, "nbformat": 4, "nbformat_minor": 4 }