Skip to content

Instantly share code, notes, and snippets.

@MaxHalford
Last active January 25, 2023 00:54
Show Gist options
  • Save MaxHalford/d60643d323defbcecdfd5d4ce230960c to your computer and use it in GitHub Desktop.
Save MaxHalford/d60643d323defbcecdfd5d4ce230960c to your computer and use it in GitHub Desktop.
Tree experiments
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Example on the moons dataset"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"SMALL_SIZE = 12\n",
"MEDIUM_SIZE = 20\n",
"BIGGER_SIZE = 24\n",
"\n",
"plt.rc('font', size=SMALL_SIZE) # controls default text sizes\n",
"plt.rc('axes', titlesize=MEDIUM_SIZE) # fontsize of the axes title\n",
"plt.rc('axes', labelsize=MEDIUM_SIZE) # fontsize of the x and y labels\n",
"plt.rc('xtick', labelsize=SMALL_SIZE) # fontsize of the tick labels\n",
"plt.rc('ytick', labelsize=SMALL_SIZE) # fontsize of the tick labels\n",
"plt.rc('legend', fontsize=SMALL_SIZE) # legend fontsize\n",
"plt.rc('figure', titlesize=BIGGER_SIZE) # fontsize of the figure title\n",
"\n",
"%matplotlib inline\n",
"%config InlineBackend.figure_format = 'retina'"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"%run fast_trees.py"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Generate some data points."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"from sklearn import datasets\n",
"from sklearn import preprocessing\n",
"\n",
"X, Y = datasets.make_moons(n_samples=2000, noise=.25, random_state=42)\n",
"X = preprocessing.minmax_scale(X)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## scikit-learn"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1080x360 with 6 Axes>"
]
},
"metadata": {
"image/png": {
"height": 330,
"width": 901
},
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"from mpl_toolkits.axes_grid1 import ImageGrid\n",
"import numpy as np\n",
"from sklearn import ensemble\n",
"from sklearn import tree\n",
"\n",
"n_cols = 3\n",
"fig = plt.figure(figsize=(5 * n_cols, 5))\n",
"grid = ImageGrid(\n",
" fig, 111,\n",
" nrows_ncols=(1, n_cols),\n",
" axes_pad=0.5,\n",
")\n",
"\n",
"# Scatter observations\n",
"ax = grid[0]\n",
"ax.grid(alpha=.5)\n",
"ax.scatter(X[:, 0], X[:, 1], color=plt.cm.coolwarm(Y.astype(float)), marker='+')\n",
"ax.set_title('Training set', fontsize=16)\n",
"ax.set_xlabel(r'$x_1$')\n",
"ax.set_ylabel(r'$x_2$')\n",
"ax.set_aspect('equal', 'box')\n",
"ax.spines['top'].set_visible(False)\n",
"ax.spines['right'].set_visible(False)\n",
"ax.set_xlim(-0.05, 1.05)\n",
"ax.set_ylim(-0.05, 1.05)\n",
"\n",
"# Decision tree\n",
"clf = tree.DecisionTreeClassifier(max_depth=7, random_state=42)\n",
"clf = clf.fit(X, Y)\n",
"h = .005\n",
"xx, yy = np.meshgrid(np.arange(0, 1, h), np.arange(0, 1, h))\n",
"y_pred = clf.predict_proba(np.vstack((xx.ravel(), yy.ravel())).T)[:, 1]\n",
"ax = grid[1]\n",
"ax.contourf(xx, yy, y_pred.reshape(xx.shape), cmap=plt.cm.coolwarm, corner_mask=False)\n",
"ax.set_title('Decision function with 1 tree', fontsize=16)\n",
"ax.set_xlabel(r'$x_1$')\n",
"ax.set_ylabel(r'$x_2$')\n",
"ax.set_aspect('equal', 'box')\n",
"ax.spines['top'].set_visible(False)\n",
"ax.spines['right'].set_visible(False)\n",
"ax.set_xlim(-0.05, 1.05)\n",
"ax.set_ylim(-0.05, 1.05)\n",
"\n",
"# Random forest\n",
"clf = ensemble.RandomForestClassifier(n_estimators=10, max_depth=7, random_state=42)\n",
"clf = clf.fit(X, Y)\n",
"y_pred = clf.predict_proba(np.vstack((xx.ravel(), yy.ravel())).T)[:, 1]\n",
"ax = grid[2]\n",
"ax.contourf(xx, yy, y_pred.reshape(xx.shape), cmap=plt.cm.coolwarm, corner_mask=False)\n",
"ax.set_title('Decision function with 10 trees', fontsize=16)\n",
"ax.set_xlabel(r'$x_1$')\n",
"ax.set_aspect('equal', 'box')\n",
"ax.spines['top'].set_visible(False)\n",
"ax.spines['right'].set_visible(False)\n",
"ax.set_xlim(-0.05, 1.05)\n",
"ax.set_ylim(-0.05, 1.05)\n",
"\n",
"for ext in ('pdf', 'pgf'):\n",
" fig.savefig(f'figures/batch.{ext}', bbox_inches='tight')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Uniform random trees"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"model = FastTreesRegressor(n_trees=10, height=7, padding=0., predict_method='leaf', seed=42)\n",
"\n",
"for x, y in zip(X, Y):\n",
" \n",
" # Convert to a dictionary\n",
" x = dict(enumerate(x))\n",
" \n",
" model.fit_one(x, y)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABO0AAALDCAYAAABJrfRiAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdebikV10n8O8vSwdCliZha0LTjXFJk0BCY0IMCIhEYYBBQB0VQXBExZlRRBwVR1mUzQ11dARRBBXQQUAFFBBknRgTsylJ2ALdxhC2hiydrUPnzB9vXVJduWvfWt577+fzPPVUvW+d97yn3nuTe/pb5z2nWmsBAAAAAPrjkFk3AAAAAAA4kNAOAAAAAHpGaAcAAAAAPSO0AwAAAICeEdoBAAAAQM8I7QAAAACgZ4R2AAAAANAzQjsAAAAA6BmhHQAAAAD0jNAOAAAAAHpGaAcAAAAAPSO0AwAAAICeEdoBAAAAQM8cNusGAMypqm1JHpzknkk2J2lJbkjyuSSfSfKx1treFdS3K8m2weYHW2uPHGd7+2qjfm4AYP2oqq1JvjnJCUmOTHJVkk8mOb+11mbZNoBpEdoBM1VVxyV5dpJn5fagaSG3VdVlST6c5J1J3tdau3nCTQQA2NCq6pAkO5KcnuSMwfMDk2waKvbM1trrxnCuRyT55SSPzPx3hn2mql6V5Ddba/tXez6APnN7LDAzVfX4JJcl+dUsHdgl3f+zTkkX8r0jyXdPrnXMSlU9o6ra0OORs24TAGxEVfXdVfWBJNcm+WiSP0nXD/vmHBjYjet8v5rkH5M8Kgv/W/V+SV6R5ENVdcK42zDUltcN90cmdR6AxRhpB8xEVX1vkjcmOXTkreuS/Fu6W2JvSXLXJPdN9+2uLxoAAKbnYUkeMY0TVdULkvziyO4vJbkg3XQpJyW5/9B7ZyV5R1U9rLV2wzTaCDBtQjtg6qrqxCR/mgMDu4+m66j9XWvtq/Mcc1S6TuP3JHlSkmOm0FQAAO7o2iR70803t2pV9ZgkLxja1ZL8ryS/NTwVyuDW2TcMnfe0JH+Q5OnjaAdA3xi1AszCS5IcMbT93iRntNb+dr7ALklaa3tba+9srT0jyX2SPDfdaLwFtda2t9Zq8HjkeJoOALCh3JTkn5L8bpKnpRvxdtckfzSOyquq0t3uWkO7f7q19tLRuYtbax9M8q3pQsM5P1hVp42jLQB9Y6QdMFVVdeck/3lo161Jfqi1dtNy62itXZ/kleNuGwAAB3hJkuctcBfEuM7x5HSLWsw5N11AOK/W2meq6vlJfn+uKelG6T1pXA0C6Asj7YBp25nkzkPb57TWPjurxgAAML/W2hcXugtijH5gZPu3W2tLLfzw2iTXDG0/rqqOHW+zAGbPSDtg2u41sn3VTFqxQlV1cpIHJNma5KtJrk7yodUGjlV1zyQPTzc3y2FJ/iPJpa21f1tdi1enqu6XbmW4eyQ5NsmeQds+3Fq7bpZtW63BnIqnJdmSbm7ELyR5fWvt1iWOOyzJGUlOTHddDhkce3mSf2mt3TaGth2X5KGDth2fbr6gz6ULt9fEfysAsFxVtSnJdwztuiHJXy91XGvt5qp6a5IfHuw6PMljk/zF2Bs5IVV1epKvT/c3f1OSj7bW3rGM445K11e4T5K7J7k5yeeTnN9a+9SY2jaRfuCg3tPStf3oJLel+5lfleSKdH3gSYfEsKYI7YBpO3xk+7hJnaiqdiXZNtj84GLz2i1Utqr+U5IXJjl9gePeneS5rbXLVti2b0p3i+93Zp5Rz1V1cZJfaa29daWf5WANOs4/nuQnknzTAsVurap3JXl+a+2jYz7/Qt+qv3+RW3BeP5jncLieD+T2le52t9a2D/Y/Id1iJw+Zp56/yoHf2A/Xty3JL6e7fWfzAu34YlW9Ksmvtdb2LtTYhVTV45L8QpJvyQKj4KvqwiQvWE6HHgDWiG9JctTQ9nmttVuWeeyHc3tolyRnZ5WhXVU9Msn7F3hvsdF/z2ytvW6R8q9vrT2jqg5JNy/zTyS530gdlyRZ8G98VT00yS8l+bZ0Id98ZT6e5KVJ/mwZoxVHj51IP3AwZ+Ezk/xUDrwNej43VtWHk7y2tfZ/l9dyWN/cHgtM2xdGth9WVQsFITNVVS9P13maN7Ab+M4k51bVw1dQ7/en65g9Ngv/f/i0JG+pqt9cbr2rUVUPTHJZkt/Jwh21pAtdn5Dk4qp6zjTatlrV+e0kf5v5A7vFjn1uko+n+0fBYr+nd0/Xkb5sMCpzufXfdRD8viPdt+aL/V3emeTtVfWmQccaANa60b+Z563g2HOXqKtXququSd6X5Ndzx8BuseOOqKo/S/KRdP3OxfoA35Tk9Unet5LbhSfVD6yqI5O8K8kfZ+nALkmOTPcZn7+MsrAhGGkHTNsFSfYnOXSwfVSSP62qHziYEUqTUlX/K8nPDTZvS3Jhkt2D1zuSnDJU/Ogkb66qHa21Ly9R7xOT/Flu//xz/jXJJ9NNpvwN6W7FTZLnDkbZTcwgcHx7ultFh12RrgN3fbpbNc9It1pc0rX/lVV1p9bayyfZvjH4n+m+3Z1zabprfWuS+6a7/eMOBkHfT43s3pfud+GqdL/H2wbHz/08tyb5cFU9tLV2+WKNqqp7p1s5ecfIW19MclGSL6X77+PU3D7KMkm+L8mxVfX4cdySCwAzNBoQfXoFx+5aoq4+qSR/nuSRg+2vJjk/yZVJ7pSu73fHg6qOTvJ3SR428ta16frUXxgcf9LgMefb0t2p8NClFnubcD/wD3Pg7c9J8pV0X15/Pt11OCZdP+ekLB5IwsbUWvPw8PCY6iPdqKI28vhsupW/HpCkxnSeXUP1f2AFZfekC+daktck2TJP+TOT/PvIZ3jFEue4e7pAZviYDyTZMU/Z+yf54KDMzenmNjuYz7JU2Xun6/ANt+kvFmjToelGnF07VParSR46pp/X9sHjeSPt+b6h90Yfd5unng8MHXvToI0tyd8nOWme8ickOWxk37NG2nB9kp9OctQ8x98ryZ+MlL84yRGLfNZDh36+c49/SfLoBco/Mt3cecPlf27a/+16eHh4eHjMPdJNHzL8d+kZB1HHaJ/wsSs8frRfdfwqP9OdhvoYfzVS90J9ke0L9A9G+xEtXf/yt5IcN0/57fPse8NIPZ9K8pQkh8xT9kFJ/mmk/B8s8Xkn1g9M9wX3cL2fH7T90AXKb0p3i/MfppvLd+a/4x4efXi4PRaYhV9MMjpfyZZ0nb9/TfKlqnpnVf1SVZ1dVXeZcvuOS/eN6P9srT2rtXb1aIHW2rnpbm8dXrzg6YO5ShbywiR3G9p+d5Kz2zwjslo3R97ZSd6T5Igkk7oGr0kXJs75mdba9y3Qpv2ttdemWzjjhsHuQ9N1PlettbartbYr3QizYZ+be2+ex2jZUXcatPGNSR7XWvvYPOe9qg1NelxV9013e8icLyQ5vbX2yjbPaNDW2udaa89M8qtDu0/NgfPsjHpuuus45y1JzmqtvXe+wq21D6Sb92d4/phfrqrjFzkHAPTd6C2cX1zh8aPlV7WCbGvt5qH+yN6R9xbqi+yar38wYm7evme31p7b5rkzY3DOr6mq78mBK+uek+RBrbW3tHlG2rfWLkr3Jd/7hnb/WFXdf5F2TbIf+LiR7acM2r5/vsKttX2ttX9orf1okkct0mbYUIR2wNS11i5J8rR0I8jmc1yS/5TkxelCq69U1Yer6seqanTo/qS8u7X264sVaK1dmu5b2Dn3ygK3ZgyCx6cN7bou3TfSC65Y2lrbl+QZ6b6dHbuqOjXddZ7zhtbakgHc4Of3C0O7zqiqbxl3+8bos0l+fL4O7gJ+Osmdh7Z/cL6wbx6/nG603Jx553qpqiPShXZzrhicY99ilbfWrkny1HTfVifdvC8/uox2AUBfHTWyvVDfcCGjt36O1tcnb2+tvXoF5Yf7Wtck+a7W2qJ9wtYt4vHUJDcOdlXuONVH98bk+4H3HXr9pdbaR5aqe+gcK/09gHVLaAfMRGvtzUnOSjep7lIOTzeXx6uSfLqqfqIWWU50TH5tmeX+bmT71AXKPSbd3Hdz/rS19rmlKh+M8vvTZbZlpX5iZPuXV3Dsa3J7hzC547epffLqpTq5cwYLPPzXoV0faq39w3KOba21JP97aNc3VtXXz1P0yekC3jkvWW7ntLX2r+lu/53T5+sOAEsZvZNgpWHNaPlp352xEr+x3IKDEOxBQ7t+t7W2rFGIrbXPJ/nLoV0L9RWm2Q88ZvClJbBCQjtgZlprF7XWvjXdMPs/zh1Xlp3P8Ul+P8lfTHAFzRuTfGiZZUdHYN193lLdHHjD3rKC9qyk7EoM33pwUWtt2ZM/D0Km84d2PXRsrRq/t6+g7Ok5MFxd6bUf/b2Z77oMX/eW5K2rOMc36wQDsI60pYssWn7SX+oerGuTfHgF5UdvD11Nf+SEqto2T5lJ9wM/PvR6Uw6cRgRYJqvHAjPXWvtwBh2ZwbwbZ6VbkfP0JKdl/i8Yvjfd3Gf/bQJN+tTwHGdLuHZke6Hbd0eXub9oBe25cAVll6Wq7pFkeBTYZ6pq+wqrGR699nWrbdOE7M+B88AtZbTT+cUVXpfRAG2+6zJ8jquT3LWq7jpPuYUM31J9RLpJpD+zguMBoC9uGNm+87ylFjZafqm55WblksGI/OUa7ivsT3LjCvsjo+f6uiS75zam1A98a5Jfz+0rwj6vqh6RbpTe25dzxwkgtAN6ZrAAw2VJ/ihJqmpzku9KN8/YaPD1E1X12tbaBWNuxmgQt5jROekOX6Dc8IIB17XWln2O1tq1VXV9DhwBtlr3Gdl+8uBxsI5bxbGTdM1i8wbOY/S6vHGV55/vugyfYxyB23FjqAMAZmE0tLvTCo8fLd/X0G6lC2wM9xUOTfLJVZ5/tD8y8X5ga+0/qup/5cApZ04fPFJVH0vy/9KNCnx/a+3KVZwf1i23xwK91lq7prX2unQj7l48T5H/MYHTLnfBgpUYXs3sYBaWuG5cDRkYd8jW14mfV9p5n+h1qarDMt7w9Q7nAIA1ZPRLzLut8PjRaUlW8sXrNPWqPzKF+pMkg0XdfiTJHVbLTXJSunmEX5/k36vqvKr6r4O+EjAgtAPWhNZ5QQ6cWDdJHj2L9hyE4ZVBFxqNt5hxz1t2MG3YCMZ9XUbn1pnEde/r/D0AsJQrRra3LvfAqrpTDgztrm2t7RlLq2ZvLfZH5tVa++N0t8/+tyTvz8KLjZye7k6bi6rqm6bUPOg9oR2w1vzvke0Tqmql85/MwleGXh+7ktVvq+qQLDxX3sEa/cbzRa21Ws1jzO2bldHrcr9VXpdnDFfWWrspyU1Duz642uveWvvAhK8JAEzK6IJeK5kjd/sSda1lw/2R3WPoK7xukfqTCfcDW2vXttb+T2vtUUk2J3lYkp9P8u4kt4wUPyXJ+6pqpaMuYV0S2gFrzSXz7FvJJP6z8u9Dr4/IgZP/LuUbcvskvuPy+XnOwXSuy/Aqya47ABvZpSPbD1nBsaNlL1tlW/pkuD+ydQIrxc+sH9hau6W19v9aa69orT0m3WjJ/54Dg8QTkvzstNoEfSa0A9aa+eabG/d8b5Nw3sj2I1Zw7MPH2ZAkaa3tSjK8ate3rWT034StZHW1cTt3ZPvbJ3yOe1fVSRM4BwCsBefmwPnezlhBQPWtI9vvGU+TvqYv/ZFDknzbOCvvUz+wtXZ9a+330y08N3zNnzCL9kDfCO2AtWZ0jou9rbW+rhQ27P0j289cwbErKbsS7xt6vSXJd07oPCs1epvEuEcZLubDOXD+we+vqnGf/70j288Yc/0AsCa01m7JgWHbXdKFN4sazGf3lKFdtyb5+/G27sD+yAT6A4uZRl+hV/3A1tqHk3x6aNf2GTUFekVoB0xVVd2zqu65iip+eGT7A6uoa2paa5ck+ZehXWdV1fctdVxVfX+Sb5lQs141sv2KnswPOLry272mdeLW2g1J/mxo130z/tsz/m8OnOPwf1SV22QB2KjeOLL9nGWM+vrhdHOjzXlna23cK8fOrD+S7sveTwxtf29VPWzM5+hjP3D47pl9C5aCDURoB0zbjiSfrqqXV9U9VnJgVT0lybNHdo+uJttnLxvZ/uOqWnD126o6O90qWhPRWvtIDvwm94FJ3lRVd1luHdV5/Ep/lkv4+Mj2WG8JWYaX5MCO4our6ukrqaCqNg9+X++gtXZdkt8c2nVkkndW1f1WeI7TquqbV3IMAPTQW5P869D2mUl+cqHCVbU9yUuHdrUkL5pAu2bWH2mt7U/y4qFdleStVfWgldRTVV9fVY9c4BwT7QdW1TOqatsK6jo5yalDu0avP2xIQjtgFo5M8nNJ/qOq3lZVT6mquy9UuKp2VNUfphuhdOjQWxfmjt/O9lZr7a1J3ja068gk76mqN1XVd1XVyVV1SlU9qar+It2KWkcm+ackV02oWc/MgZMRPzHJhVX1AwvNKVNVh1TVA6vqBelWant7kuPG1aDW2qeT/MfQrqdX1a9X1bcOOp/bhx5jX1mstfaZdBMizzkkyeur6i8W6yxX1V0GHdfXJrkyi4/Qe0WSDw5tf0OSi6rq56pqwWtZVfetqv9WVR9MclESoR0AEzXyd/drjxw40i1J7rZA2UVHqLXWWrp+4fB8Zq+squcPboMdbsvD001lcezQ7je01i4+2M+3iA+NbP9WVf1kVT24qr5u5DMeNe6Tt9bekAP7uXdP8k9V9dKqOmGh46rqHoPA7B3pgq/HLHKaSfYDn5HkU1X111X11Ko6fpH6Hp+u3zucT/z5Iu2GDaO6/0cCTMfg277R+d3mfCrdKqtfSrfgxF2T3D/J1nnK/keSRwwCnoXOtSvJ3Dd8H2ytPXIcZUeO257kM0O7XtRae+Ei5Y9JN3fLcldH25PkwekCnrn2faC1tuC3vSv9LFV1ZpJ35o4drpvTBUNXJ7kpyTFJ7pnk5HRzzgzb0Vr72BKfZdmq6ueSvHwZRV/fWnvGyLEfyO0LfexurW0/yDa8NMkvzPPW59KNCNiTrnO5Ocn90q0IPNzZ/OfW2pmL1H/3JP+QA79VTrrf/Y8m2ZXk+nTB7XHp/lsYDbef3Vobvb0FAMamqlb7D8Zl9asGIdALR3Z/Md30IjcmOSldH2TYxUkeNpjeYuyq6u+zeOg155mttdeNHDt83e7QX1nm+e+cLhSbb2GsTyT5ZJJrktwpXb/5pCT3Hin3itbazy9yjon0A0f6Y3M+M2jzV5LsT9evOS137N+cn+Ss1tpXF2o3bBSHzboBwIbz5XSh3HwjpL5+8FjKe5M8a7Dy1ZrSWruuqr4jye8ledoSxS9M8pTW2u6ROUbGuvBGa+3cwW2Wb04XEM65U5Y3n97Ng8c4/cagLd8z5nqXrbX2/Kq6NMn/SddRnXOvLG9em68s9mZr7YtVdVaSVyf5waG3Dkl3i8oDl2pi7jjfDgCsVS9Ot/jUz+f2L8HunuSxC5Q/J8n3TiqwG/iv6UaAnTLBcyyotXZTVX1nuhH6z8mBd5x84+CxlGuWOMc0+4H3GzwW84EkTxbYQcftscBUtdb+NV3g8agkv5Xu29P9yzj05nRznjyhtXb2Wgzs5rTWrmutPT3dnC3/J8nl6SbevSHdt6ZvS/KkJA8Z+pzDt4GMPagZ3BJ6erqV2D6cZKmO0g3pVml7dpIt4/55tNb2t9a+N8nZSV6b5JJ0Idit4zzPMtrxhnSrl70o3ci3pexONw/h2Uket4z6b2ytPS1dJ/nNWTqQ3Z/k3CQvSHJia+1Ny2gTAPRe6/xiuj7i+3Pg7bLDdqUL9h7eWpvU9CFzbfpsuqkofijJW9KNErsu3aj4qRj0iZ6XbsT9a9N9Ab7oIen6Ta9I8oDW2pJ3LkyoH/isdLc9fyDdSL2lnJvuS8xHtdYW/eITNhK3xwIzV1VH5vZvC++R5OjBW9el65hcmuSyjfqN22CBguHbgH+rtfYzEz7n0UnOSnJCkuOTHJ7uVs3PpQsZP95am2qA1gdV9XXpAra7pbsN5dZ0v6efSfc7+h+LHL6c+g9LckaSE9Nd97uk6xjvSTcvzWWttbGOtASAPqqq+6YLzE5Icuckn003lco/tw38j9iqOiTdLaU70vUVjkl3+/BX0oWKl6429Bp3P7CqDk8XOn79oM6jcvsdA7uSXNha+9xq2gzrldAOoOeq6mlJ/nRo19NaaybnBQAAWMfcHgvQf88a2T5vJq0AAABgaoR2AD1WVT+Y5FuHdl3QWvvErNoDAADAdAjtAKaoqk6tqldV1X2WUfZp6RY1GPZ7k2kZAAAAfWJOO4ApqqpvTnJ+ulVA/yHJu5NclOQL6SbkvVu6hQi+L90qXsP+McmjN/LkywAAABuF0A5gioZCu5X61ySPaa1dPeYmAQAA0ENujwWYrhuT3LyC8rcmeU2ShwnsAAAANg4j7QCmrKqOSvKYJI9IcmqS7UmOT3KnJHuT7EnysSTvT/Lm1tqumTQUAACAmRHaAQAAAEDPuD0WAAAAAHpGaAcAAAAAPSO0AwAAAICeEdoBAAAAQM8I7QAAAACgZ4R2AAAAANAzQjsAAAAA6BmhHQAAAAD0jNAOAAAAAHpGaAcAAAAAPSO0AwAAAICeEdoBAAAAQM8I7QAAAACgZ4R2JEmq6g1V9YZZtwMAYK3RjwIAJuGwWTeA3jhp586dO5P8wCQq37VrV5Jk+/btk6ieRbj2s+G6z45rPzuu/exM6drXJCtf4/Sj1inXfjZc99lx7WfHtZ+dPvejjLQDAAAAgJ4R2gEAAABAzwjtAAAAAKBnhHYAAAAA0DNCOwAAAADoGaEdAAAAAPSM0A4AAAAAekZoBwAAAAA9I7QDAAAAgJ4R2gEAAABAzwjtAAAAAKBnhHYAAAAA0DNCOwAAAADoGaEdAAAAAPSM0A4AAAAAekZoNwZVdXRV/eeq+pWq+vuq+lJVtcHjpDHUf0xV/WpVXV5VN1bVnqp6X1V99zjaDwAAAEC/HDbrBqwT357kbZOouKruk+RDSe432LU3yTFJHpXkUVX1qtbasydxbgAAAABmw0i78flCkr9L8qIkPzqOCquqkvxVusBuV5KHttaOTnJ0kv+Z5LYkP15VzxrH+QAAAADoByPtxuPtrbW/ntuoqu1jqveJSR6SLpx7Umvt4iRprd2c5Ner6t5JnpPkxVX1+tbavjGdFwAAAIAZMtJuDFpr+ydU9VMHz++dC+xG/EaSluRe6W6XBQAAAGAdENr12yMHz++e783W2lVJLh1sCu0AAAAA1gm3x/ZUVd0jyd0Gm5cuUvSyJKckuf8y671ggbdO2rdvX3bt2rXsNq7Enj17JlIvS3PtZ8N1nx3XfnZc+9mZxrXfvn37xM/Rd/pRG49rPxuu++y49rPj2s9On/tRRtr115ah159dpNzce1sWKQMAAADAGmKkXX/dZej1TYuUu3HwfNRyKm2tPXi+/VV1waZNm3ZO+lt039LPjms/G6777Lj2s+Paz45rP1n6URuXaz8brvvsuPaz49rPTh+vvdCuv2rodZtZK9aIJ/33T866Cb31jSd8JUnyiatunXFLNhbXfXZc++l42+99w6ybABvGH7zpC0n8f20W/E2ZDdd9dtbbtT/tzO3ZuaOWLriAkzfvzpYrzxtji5J955+TK9510R327z3l1CTJlz96yVjP1xc73/eRWTdhTXJ7bH/tHXp95CLl5t7bu0gZAAAAANYQoV1/Dc9jd+9Fys29d/UE2wIAAADAFAnteqq19sUkXxpsnrxI0blVYy+bbIsAAAAAmBahXb+9f/B89nxvVtUJuT3Qe99UWgQAAADAxAnt+u2Ng+fvqKpT53n/uekWrLg6twd8AAAAAKxxQrsxqaq7zT2S3HXorc3D71XVISPHtcHjhfNU+zdJ/jndz+ltVXXm4JgjqupnkjxnUO4FrbV9Y/9QAAAAAMzEYbNuwDryxQX2/9PI9v2S7FpOha21VlXfneRDg+P+qar2JrlTbv/Zvaq19pqVNxcAAACAvjLSrudaa/+R5LQkL03ysXRh3fXpbof93tbas2fYPAAAAAAmwEi7MWmt1aSOa61dl+QXBw8AAAAA1jkj7QAAAACgZ4y0AwAAABhx6TXbkq3JlivPG1udm04/KyfOs/+zx56QJLnpo5eM7VxJcuJjHjTW+pguoR0AAACwLl14eTvoY3fu6GazunrrGeNqTpJkyzz7Dr3lsOzffcVEQrZNp5819jpX6tNXXJFLr9mWJzxYDLUSrhYAAADAjB267cRsOmLbrJuR5MCgclwjDU/evDtvv6Afn29O30PEfrcOAAAAgJkYV2C35crzcvXWM3Ly5t1jqW985rtZuT8sRAEAAAAAPSO0AwAAAICeEdoBAAAAQM8I7QAAAIB15bQzt6/q+LmVY2GWhHYAAAAA0DNCOwAAAIApuXrrGbNuAmuE0A4AAAAAekZoBwAAAAA9I7QDAAAAgJ4R2gEAAABAzwjtAAAAAKBnhHYAAAAA0DNCOwAAAADoGaEdAAAAAPSM0A4AAAAAekZoBwAAAAA9I7QDAAAAgJ4R2gEAAABAzwjtAAAAAKBnDpt1AwAAAADojy1XnjfrJhAj7QAAAACm6uqtZ+TqrWfMuhn0nNAOAAAAYMiFl7ckyaXXbJvoeebCu2uP255rj9s+0XOx9rg9FgAAAGAB4wzuTt68e2x1sf4ZaQcAAAAAPSO0AwAAAICeEdoBAAAAQM8I7QAAAACgZyxEAQAAADAFl16zbdHFKK7eesZYzrPlyvPGUs+4DH+uSa/IuxJfN+sGLEFoBwAAALCOXL31jFUFd3Mh28HWsVD42KfAbi1weywAAADAlIwGV5desy1X33jc2M9zsKP2xjXab5TAbuWEdgAAAADQM0I7AAAAAOgZoR0AAAAA9IzQDgAAAAB6RmgHAAAAAD0jtAMAAACYkpM3777D9pYjvzz282y58rypHrdUHaOfm6UdNusGAAAAAGwEywmuxhGardYkgrurt57Rw+DuxFk3YFFCOwAAAGBNOO3M7VM5z84d9bXX0wyaxh3Y7Tv/nBUfs+n0s1Z1/Ggdc7ZceV6u3nrGQdW3Ubk9FgAAAIAkBx/UMX5COxnfFq4AACAASURBVAAAAADoGaEdAAAAAPSM0A4AAAAAekZoBwAAAAA9I7QDAAAAgJ4R2gEAAABAzwjtAAAAAKBnhHYAAAAA0DNCOwAAAADoGaEdAAAAAPSM0A4AAAAAeuawWTcAAAAAYCPacuV5SZKv3jKIZ44YX937zj9nJsfOHb/p9LPusH/u8/bGiSfOugWLEtoBAAAAa8LF5+5aVrnTzty+qvNceHnLzh2VJLn0mm1f23/y5t2rqndO78KrCRgN/uYL8Vic22MBAAAApmQjBHaMh9AOAAAAAHpGaAcAAAAAPSO0AwAAAFhHVruQBP0gtAMAAAAYceHl7Q77hhelgEkT2gEAAABAzwjtAAAAAKBnDpt1AwCA1TntzO1Jkp07airnm+9WEQCA9Wa+vtXJm3dP/LzrdT66feefk02nnzXrZqwpQjvWhbf93jfcYd+L/vzWGbSkf44/vBtQe+TW+864JRuL6z47G/Ha79xRefT1b06un875Hn2fJPn+6ZwMAGDClvvF5zgCuy1Xnrfo++s1sJsjuFsZoR3r1rRGnPRd29s9bzvK9Zgm1312NuK1f/T1b87lv/L70z3pPOfbe8qpSZIvf/SS6bZlg9v5vo/MugkAMDVzdxiMy1L/bpzGyLo5+3dfMbVzzVKfgsk7P7LfX0Sb0w4AAAAAekZoBwAAAAA9I7QDAAAAgJ4R2gEAAABAzwjtAAAAAKBnhHYAAABM3bhXAQVYb4R2AAAATNVcYCe4g2Tf+edk/+4rZt0MeuiwWTcAAAAAYKEQ9+Jzdx10wLtzRx18gxaw5crzxlbXvvPPGVtdrD9G2gEAAAAztVgoN6vA7uTNu1d1/FIEdixFaDdGVXWvqvqdqrqiqm6uqs9X1dur6ttXWe+TquodVXV1Vd1aVddX1cVV9fKquue42g8AAADT5jZpmJ/Qbkyq6oFJPprkJ5N8XZJbktwtyeOT/ENV/fxB1HlIVf15krcmeVySeyW5Kcmdk5ya5OeSXFZVp4/lQwAAAADQC0K7MaiqOyf52yTHJ7koySmttWOT3DXJbyapJC+rqu9YYdXPSvLUwevfSXLP1toxSe6U5DFJ/j3JcUneVFV+lgAAAADrhKBnPH4sybYke5M8obV2aZK01q5rrT0vyV8Pyr1shfX+wOD5/a2157TWvjCo96uttXcn+aHB+ycmeeBqPgAAAAAA/SG0G4+50XBvbK1dNc/7vz543llVJ62g3rn56i5c4P0Lhl7fZQX1AgAAANBjQrtVqqqjkzx4sPnuBYqdm+TawetHraD6XYPnBy3w/tx5b0ly2QrqBQAAgF64+Nxds24C9NJhs27AOrAj3Zx1SXLpfAVaa7dV1ceTnJHk/iuo+zVJvjPJo6rqlUle1lr7QlUdluTbk/zhoNyLW2tfWU6FVXXBAm+dtG/fvuzatWsFzVu+PXv2TKTexbS9+6d+zj5qt3x51k3YkFz32dmI1/7KWw7L3lNOnXUzcsu97zPrJmxIu3btmsrf2e3bt0/8HH03q37UPTffMJF6WZprPznHH377+JFvPOHAf8q47rMzy2s//DsxLm3v6o7fc9v8/cqv3jKeKGX/sSd87fU1d948ljpZma/0vB9lpN3qbRl6/dlFys29t2WRMgdorb0lyS8m2Z/kOUk+X1XXJbk5ybuSXJ/kma21l66oxQAAAAD0mpF2qzc8l9xNi5S7cfB81Arrf1mS3UlePTjX0SPnvltVHdJau205lbXWHjzf/qq6YNOmTTsn/S36NL+l/7c9X53audaCOmrbrJuwIbnus7ORrv3Wdl72fvSSWTfja47qUVs2guG/rUbDTdas+lGfv+YLSZJPXHXXidTP0lz78Tty632/9voTV83/TxnXfXZmce2HfyfGZdtRtXShRRy/wOC3LTd8alX1ztl37R2nxL/3PPuYnGN73o8y0m71Vvd/gcUq7ubLe3uSP0/y/iQPSRfabU/y40mOSbfIxRsm1QYAAAAApk9ot3rDd8nfeZFyR85Tfim/leRxSd7bWntCa+281tre1tru1tqrkzwpSUvyfVX12BW1GgAAANaxCy9vs27Cojadftasm0DPuT129Ybnsbt3ko8vUO7eg+erl1NpVR2T5JmDzd+er0xr7UNVdWG6VWSfmOTvl1M3AAAAbARLBXc7dyx889yl12zLyZt332H/1VvPOOj2bLnyvAO254K7Q285LPt3X3HQ9bI+GWm3eh9LN9otSU6er0BVHZLkmwably2z3m9Icujg9WcWKffpwfP2ZdYLAAAAZOlQ79JrpjdP8qHbTpzauVgbhHar1Fq7Psm/DDbPXqDYQ5IcO3j9vmVWPTwb62Izcs79H+T6ZdYLAAAAQM8J7cbjjYPnp1bVlnnef97g+YLW2kK3z476WJKbB69/dL4CVbUzyc7B5j8vs14AAAAAek5oNx6vTrI73cqu76iq+yfd6q9V9WtJnjwo9/zRA6uqDR4vHN7fWrspyZ8ONp9UVa+pqq2DY+5UVU9M8tfp5iW8Lsnrxv6pAAAAYMJOO3P7rJvQGxanYJiFKMagtXbTIER7X7qRb5dW1XVJjkoXjLYkz2+tvWeFVf9MkvsneViSH0nyI1V1Q7pVaucC1+uTfE9r7Uur/yQAAACwcSy2EMWcuXnt5luUYhLGEdztO/+cMbSEWTPSbkxaa5ckOSXJ76ZbHOKIJHuSvDPJ2a21lx9EnXuTPDLJDyd5T5IvDuq9KclHk7wyyQMOIgwEAAAApmw1K8+y8RhpN0attc8l+anBY7nHLBrrt9b2J/mTwQMAAACADcBIOwAAAADoGaEdAAAAU2PRAYDlEdoBAAAAQM8I7QAAAACgZ4R2AAAAANAzQjsAAAAA6BmhHQAAAAD0jNAOAAAAAHpGaAcAAAAAPSO0AwAAAICeEdoBAAAAQM8I7QAAAACgZ4R2AAAAANAzQjsAAAAA6JnDZt0AAAAANq7Tztyei8/dNetmwLxO3rx7rPVtufK8sdbH+ia0AwAAYEmnnbl9KnUff3h3Q9iRW++7ojqGg79JtnWcphlWLueaHOy1X6t27qhZNwEWJbRjXXr7BV+ddRMAAKA3VhJizRckrYUQbC20cdRSowznPtNKw73R49bitVnINIO2lYyyG+cIun3nnzO2uljbhHZMzR+86Qv5xFW3TuVcP/zM+03lPAAAAGxsbnllUoR2AAAAwIa1mnnrBHZMktAOAAAAYJkmGdS5NZZhQjsAAIA1bj3NWQYb1f7dV8y6CfSM0A4AAABgBuZG1u0/9oQZt4Q+OmTWDQAAAAAADiS0AwAAAICecXssAAAArEPrba7DnTtq1k0Yu02nn5UkOfSWLp7ZdMS2sdRrQYv1wUg7AAAAWCfWW1DXN5NcOXac5sJA1jahHQAAANBr63GU3aQJ7tY+oR0AAAAA9IzQDgAAAAB6xkIUAAAAwEz1+fbXtTKP3SiLUax9RtoBAADAOnHxubtm3YQ15eTNuxd9f60GdqwPRtoBAADwNVYf7ZeDCeEONrj7xhO+kiT5xFW3HdTxc/wOwXgYaQcAAAAAPSO0AwAAWMOMalrf1trPd621F/rM7bEAAABrgDCE5TrY35XjD+/G9Ry59b5jbA1wsIR2AAAAKyRAY1xOO3P7vHPQHezvmN9NWD/cHgsAAAAAPSO0AwAAAICecXssAAAA9NhCt7zO3VbrllhG7Tv/nFk3gTEQ2gEAAMAatF7Cup07atZNmNeWK8+b+DnmwrX9x57QbV971UTPd8W7Lppo/fM58TEPmui55+pfj4R2AAAAAEzEpIPC+epfL0GeOe0AAAAAoGeEdgAAAADQM0I7AAAAAOgZoR0AAAAA9IzQDgAAAAB6RmgHAAAAAD0jtAMAAACAnjls1g0AAAAAgHG54l0XLavczp+dcENWyUg7AAAAAOgZoR0AAAAA9IzQDgAAAAB6RmgHAAAAAD0jtAMAAACAnhHaAQAAAEDPCO0AAAAAoGeEdgAAAADQM0I7AAAAAOgZoR0AAAAA9IzQDgAAAAB6RmgHAAAAAD0jtAMAAACAnhHaAQAAAEDPCO0AAAAAoGeEdgAAAADQM0I7AAAAAOgZoR0AAMAKnHbm9lk3AYANQGgHAAAAAD0jtAMAAACAnhHaAQAAADOxc0fN7Nwnb949s3PDchw26wYAAAAA688kAjlBGxuJ0A4AAIBVWU44c+HlbQotWZvW4+Imay2w23LleROreyH7zj9n6udkbRHaAQAAsGwHG8bMHXfh5e2AOlYS5h3scfTfLEfQrSSwWyxo23T6WUuWgZUQ2gEAALAs4xg9NVrHzh0lgFtnZjlP3UotJ7BbbggnrGPcLEQBAAAAAD0jtBujqrpXVf1OVV1RVTdX1eer6u1V9e1jqPseVfWSqrqkqq6tqr1V9cmqelNVPXEc7QcAAACgH9weOyZV9cAk/5jk+MGu65LcLcnjkzyuqp7fWnv5Qdb9n5L8eZK7DnbdlGR/kq8fPO6e5G8OvvUAAAAA9ImRdmNQVXdO8rfpAruLkpzSWjs2Xcj2m0kqycuq6jsOou5vTfK2QV1/meQBrbUjW2tHD8735CR/N5YPAgAAAKu0luYovHrrGbNuAizISLvx+LEk25LsTfKE1tpVSdJauy7J86rqxCTfleRlSd6z3Eqr6k5J/iTJpiR/2Fr7seH3W2tfThfoAQAAwJp16TXbFn1/lqvLwqwYaTceTx08v3EusBvx64PnnVV10grq/S9JTkzylSQ/s4r2AQAAALCGCO1WqaqOTvLgwea7Fyh2bpJrB68ftYLq58LAv2qt7T2I5gEAAACwBgntVm9HujnrkuTS+Qq01m5L8vHB5v2XU2lVVZKHDDY/UlU7q+qtVfXFwcq0n6qq36+qxccQAwAAALDmmNNu9bYMvf7sIuXm3tuySJlh90xyzOD1yUn+KMnhSW5Mcmu622Z/IslTq+oJrbUPL6fSqrpggbdO2rdvX3bt2rXM5q3Mnj17cs/NN0yk7vm0vfLoOe2WL8+6CRuS6z47G/HaX3nLYdl7yqmzbkZuufd9Zt2EDWnXrl3Zs2fPxM+zffv2iZ+j72bVj5pmH4oDLXTtjz984/Y1J3X/z/GH3/76Locu/Ld8+PzDxzAei137lRr378qe2ybXx/vqLYtHI/uPPWFi555zzZ03T/wcSbL3lNumcp61ou/9qI3712Z87jL0+qZFyt04eD5qmfUO/xf7s0k+n+TsJEcNVo59aJJPJDk2yV9V1V2XWS8AAAAAPWek3erV0kUOynCgWkl+sLX2wbkdrbVzquq7k1yc5B5JfiS3L3ixoNbag+fbX1UXbNq0aeckv0X//DX784mrppMtPuwodw2PKtdkJlz32dlI135rOy97P3rJrJvxNUf1qC0bwfDfbqPhJmtW/ajPX/OFJJlaP4o7Gr32R26974xaMnvbjprMP3/23Nrm2XfH6zx8/vmOYTzmu/YrNe7fleMnOBBtyw2fWvT9fdfOt97kZNx7wue6ST/tAH3vRxlpt3rDg37vvEi5I+cpv9x6LxkO7Oa01v4tyXsHm49eZr0AAAAA9JzQbvWG57G79yLl5t67epn1fj7J/sHrjy9Sbu69rcusFwAAAICeE9qt3seSzI3LPnm+AlV1SJJvGmxetpxKW2u3JLlibnM5hyynXgAAAAD6T2i3Sq2165P8y2Dz7AWKPSTdghFJ8r4VVD9X9qRFysy9t3sF9QIAAADQY0K78Xjj4PmpVbVlnvefN3i+oLW22K2uo/5s8HxqVT1y9M2qekCSbx9s/t0K6gUAAACgx4R24/HqdCPdjk7yjqq6f5JU1dFV9WtJnjwo9/zRA6uqDR4vHH2vtfZPSd422Pyzqvr2qqrBcd+S5K/S/Qx3J3nteD8SAAAAALNy2KwbsB601m6qqiemu511Z5JLq+q6JEelC9Vakue31t5zENU/I90iE9+cbqXYG6tqf7qAMOkWtnhia+3G1X0KAAAAAPrCSLsxaa1dkuSUJL+b5NNJjkiyJ8k7k5zdWnv5QdZ7XZKzkvxMkgvSrSh7WLoFLV6e5NTBuQEAANatnTtq1k0AmCoj7caotfa5JD81eCz3mCX/8rTWbk3yW4MHAADA1E0yNBuuu+3tnrcdtfj5du6oXHh5m1ib6JdLr9mWkzfPZv3FTaeflSTZd/45Mzk/G5fQDgAAgK9ZSyPaFmqrMI9J2HT6WYI7psrtsQAAACRZW4Ed/SY4hdUT2gEAALBmzOoWSYBpE9oBAACwJswFdoI7YCMwpx0AAADQa7MMatfLPHZXvOuiWTeBFRLaAQAAAMyjL4GdwG1jEtoBAAAAY7fYYhQWPYGlmdMOAAAAAHpGaAcAALBMp525fdZNAGCDcHssAADAwHAod/zh3RiHI7fed0atma6+365oxVhgoxHaAQAAa5JRbxvHSgO7vgeQcxab8w3A7bEAAAD01kKB3XoYebdzR62ZgBGYPiPtAAAAmJnR8G3PbV9Okhy/eXnHXnrNtkk0a6oWCu426ki89RDIwjgI7QAAAFi21QQqcwHbOEOZ9RLcrUcHM4pw2oHdlivPW/T9TaeflX3nnzOl1sCBhHYAAAAsaRxhihFUAMsntAMAAFjn1sKIJ+5o547KhZe3Zf38+nYr7Vr4nVtqlF0So+yYKaEdAADAGmQBg9vNF/asl1tml/tzngv4+mCWgd1ygjhYK4R2AAAAa8ykA7v1MMpu3J9hLYSAo8HdSn9P2t7uedtRsw2EBW/QEdoBAADAOrEWR2Cuh5B40k58zIOSJFe866JVHT/sYOtiemYe2lXVDyT5niRfn2R/ksuT/EVr7W+WcezJSf4tyW2ttZl/FgAAAGD5RgO7Po2y6+N8dvOFb32oa7kEhSszs6Crqo5J8jdJHj7y1gOSfG9VnZ/kaa21Ty6nunG3DwAAAOacvHn3mrhFFvpsqaBQqHegWY5Oe0OSRwxt70lyeJJjBtunJ7mwqp7eWnvbtBsHAAAAwzbiPHnA7Bwyi5NW1XcmeVySluScJA9srd29tbY5yc4kb0s3eu4uSf5vVT1zFu0EAAAAgFmYSWiX5OmD508mObu19tG5N1prF7fWnpLk+5PckOTQJH9UVf9j+s0EAAAAgOmbVWj3kHSj7H67tXbTfAVaa3+Z5KFJrko36u63q+oXptdEAAAAAJiNWYV29xo8/8tihVpr/5rkW5NckS64+9WqesmE2wYAAADAFFmE4o5mFdrNLYCx5KqvrbVd6VaYvWxQ/uer6pWTaxoAAAAAzNasQrsvDJ6XtVROa+3qdCvNXpwuuPvJqnp1lhH6AQAAQB+NezVaYH2ZVWh36eD54cs9oLW2J8m3JfnndGHdjyR51fibBgAAAACzNavQ7iPpgrfvrqplt6G1dm2SRyf54OD4b5lM8wAAAOijLVeeN+smAEzFYUsXmYi/T/IrSe6Z5ClJ3rzcA1trN1TVY5O8NcljJtM8AIDx2/m+j8y6CQAArBEzGWnXWrswyYeTfDrJ0w7i+JuTPDFdcAcAAAAA68qsRtqltfaIVR5/a5LvHlNzAAAAWCPmbpG9eusZM27J6p28eXcuvWZZazQCG8zEQruqemlr7fmTqh8AAICNbaH57dZamDffKrKCPGCSI+1+vqru2lp79gTPAQAAAAfYcuV5ay64G7URRuDNF1ayfl3xrotm3YQ1Z9K3x/5oVR2b5Omtta9O+FwAAADAGiCw67/lhGwnPuZBY6uLO5rGnHb/JcmxVfWUwQISB62qqrXWxtQuAAAAWNdWEo7tue3LSZLjN0+qNfTJOII0YdxkTTK0OyfJWUlaksckeU9VPb61dt3BVFZVj0/ysiQPGF8TAQAAYP1ayS227cbu+XOHTOe2XKPtYHGHTLDuRyf5uyQ12H5okg9U1d1XUklVPbiq/jHJ3yS5/3ibCAAAAMzCep+zD1ZrYqHd4FbYJyZ5Y24P7k5L8uGq2rrU8VW1rarekOSfkzxiqA4AAABgHRgN7vq0gMim08+adRPY4CY50i6ttf2ttR9M8r/ThW4tyTcm+UhVfdN8x1TV5qr6jSQfS/J9k24jAAAAAPTNVAKx1tpPJXlhbg/utqYbcffguTJVdXhV/UySK5L8dJIj5g4fHPcvSb5jGu0FAACgf7Zced6sm8CYmdcOFjaN1WOTJK21F1fVF9ONukuSuyX5x6r6riRbkrwkyX1ze7A3F9Z9LMkvtdbeMq22AgAAwKytNNCab444q8fC2jW10C5JWmt/UFVfTvKng3MfneS9g7fn5qybC+uuTPKiJK9rrd02zXYCAADQL0bZLe3kzbu/FtwZwQZr31RDuyRprf1lVR2V5DW5PaDL0OsvJ3lZkt9vrd0y7fYBAAD9d9qZ22fdhJnZuWPtrtE3X/B29dYzDtj/1Vu6f6ZuueFTU2sXQB9NNbSrquOS/GKSZ6cL6ZIDg7s3J/mR1tr102wXAADASq3l8GwxkxqhtdBIOSPoAOY3lYUoquouVfXLST6d5DlJ7jT3Vm6fw66SPDZJf9Z3BgAAemcjj7JbC7ZceZ4gDmAMJhraDVaE/al0Yd0Lkhwz/HaSjyR5fpL96YK7o5K8o6qePMl2AQAAAECfTez22Kp6ZrqgbmvuOG/dJ5L8fGvtrwdlP5rkL9ONwDsiyV9W1U+01l4zqfYBAADAemMBCpbjinddNOsmsAyTnNPuj3N7SDf3/KV0K8K+urW2f65ga+0dVfXYJH+bbkXZQ5O8qqqOb629fIJtBAAAYApGF5yAhVy99eBnzfI7tjSB3doxrYUobk7yyiSvWGiRidbah6rqUUn+Psnd0oV8LxkEdz87pXYCAAAwIcNhjHCFSZj7HduIv1/CuPVn0qFdS/L6JL/UWrtqycKtXVhVD0/yniT3SRfcPbeqjk+3quxtE20tAAAAU2HkHZO03NF6S/0Objr9rOw7/5xxNAlWbJILUbwnyYNaaz+8nMBuTmvt40kelm7eu6QL7n4oyVuqatP4mwkAAAAA/TKx0K619pjW2r8d5LFXpgvuLhza/Z+TvGscbQMAAGC2jLIDWNy05rRbsdba/2/v3qMlu+r7wH9/0DRItKQG8VBLaqmNQpCQAqIVCY1CjAJBZmwehuVlD5EnmYRxMLEHY8CzbBxPsLERA3YwDB5H8Vrj2JPBM8AYjLBHYAgDw8iKhF4ZCQmC4MptEDK0rEcLoUbqPX9UXXV1cx91762659yqz2ets6rqPPbZte+9dfb91j7n7K+qi5NckeSFw9kvXH4LAAAA+kxQBzC+3oZ2SdJaO1BVL03ywSQv77o+AAAALO3oQE5AB7AxvQ7tkqS19lBVvTrJ7ye5tOv6AAAA3brx6oWce+GerquR629t2XtWdV2NiTp75x1jrSeQA5i+3od2SdJaeyTJP66qu7uuCwAA0L0+BXddWE9YOG4gtxqBHcDm2BKh3aLW2hu7rgMAANAPN169MLGy+hAAbgVbKbDbSnVdyZ27Lxjrvdy5+4JNqA2wmaZ291gAAAD6YRKj7GYlBNtqxm13Px+YPUI7AAAAViQQYhaN83t98NqrNqEmsLQtdXosAAAAwEomFTIL7OiakXYAAADATBDYMUuMtAMAAAA64/RrWJrQDgAAANh0wjpYmdNjAQAAAKBnhHYAAAAA0DNCOwAAAADoGaEdAAAAAPSM0A4AAAAAekZoBwAAAAA9I7QDAAAAgJ4R2gEAAABAzwjtAAAAAKBnhHYAAAAA0DNCOwAAAIAt7PYrb+i6CkyB0G6CquqkqnpvVd1eVd+tqruq6oqqevEE9/HYqvpCVbXh9LZJlQ0AAABsLQK72SW0m5Cqek6Sm5O8IckzkjyU5ClJXpbkz6vqFye0q/8uyXkTKgsAAAAYcfDaq7quAiQR2k1EVR2T5GNJTkxyQ5JzWmsnJHlSkt9KUkkuq6pLNrifU5O8PckdSe7aUKUBAAAA6C2h3WS8LsnpSQ4keXlr7ZYkaa3d11p7S5KPDte7bIP7+Z+S7MhgNN93N1gWAAAAdGLXvmu6rsKSttooO6fGzrZtXVdgRlw6fPxAa+3rSyx/d5IfTbK3qs5srd221h1U1SuGZXy8tfaxqnrf+qsLAAAARzrh7oUkya4HvtJtRTbZVgvqFgnsZp/QboOq6rgcvsbcJ5ZZ7eok9yY5IcmLkqwptKuqJyZ5f5IHMxhlBwAAAMwZQd18cXrsxp2VwTXrkuSWpVZorR1K8qXhy2evYx9vT7I7yTtaa19bx/YAAADAUbbqKDvmg5F2G7dr5Pk3VlhvcdmuFdb5PlX1vAxG1305ybvWVrUly7tumUVnHjx4MAsLCxvdxZL279+fp+98YCplL6UdkEcvag/d3XUV5pJ27848tv2+h7blwDnP7boaeejkU7uuQu9N8zg7bXv27Jn6Pvquq37UZvah5tmJj/v+/uMTH9vfY0o7sLb19x/a2Ht5+KHN+9fxbx5e/Fn4d3Wt7r17Yz/nQ3PY9o+ccErXVUiS3HPMzrHWO3DOoSnXZL4sLCz0uh81P3+J0/PEkecPrrDed4aPO8YtuKoek+TyJI9N8rOttYNrrx4A0Bd/+Z53T7zM037+FyZeJgAA3RPabVytvsq6/UyS85N8sLX255MosLV23lLzq+q67du3753mt+h33fNIvvz1J02t/FEv2HH6puxnKylt0gnt3p15avvd7ZocuPmmrqvxqB09qss8GD12Gw03XV31o+6656+TZNP6UfPq2N2nLbts//eWX9aV03es7d+QE8cbxLOszb0xweDf1N2Pf3gT9zkbtj35yRva/uHhjSjmqe0P3rvUvSS7c/Iq9XlQP2ui+t6PEtpt3OjA9GOS3L/Mescusf6yqurkJL8+XP9N664dAADMqHMv3NN1FbaEs3fe0XUV2AJ27bsm+0QE0Cv+Ijdu9Dp2J+fwDSeOdvLw8c4xy70syfFJfiXJvVV19Gm1i1+tbV9c1tpasNPUbQAAIABJREFUr2wBAABsJXvPGm+E3SSCul37rtlwGcDkuHPs/HG1/o27LUkbPj97qRWG16Z71vDlF8csd/G8rrdnMHrv6GlxjP4vjcwDAABmlMCO1az157Zr3zWPTvSbwG4+Ce02qLV2f5IvDF++ZJnVnp/khOHzT0+9UgAAAABsaUK7yfjA8PHSqtq1xPK3DB+va60td/rsEVprF7fWarkpyeLXZ786Mg8AAACAGSC0m4zLMwjRjkvy8ap6dpJU1XFV9a4krx6u99ajN6yqNpzetlmVBQAAAKDf3IhiAlprD1bVKzM49XVvkluq6r4kOzIIRluSt7bWPtlhNQEAAADYIoy0m5DW2k1JzknyviRfTfL4JPuT/GmSl7TW3tlh9QAAgDkwiZtQMB/cfCI5eO1VXVcBVmSk3QS11r6Z5OeG07jbrOtadK21PevZDgAAmK5x7/K6UQI6liKME8YxO4y0AwAAmBCBHWslYJqcg9depT2ZKUI7AAAAAOgZoR0AAAAA9IzQDgAAYAI269RYAOaDG1EAAACskYCOSdl+/kVdV2FmbD//Ite0Y6YYaQcAALAGAjsANoORdgAAwJZz7oV7uq5CZ8a5c+yufdesq+w7d1+w7m0BmCwj7QAAAEiy/rAPgMkT2gEAAABAzwjtAACALWWeT40FYH4I7QAAAACgZ4R2AAAAANAzQjsAAAAA6JltXVcAAAAAYF7dfuUNOXDOoSTJgzff1HFt6BOhHQAAAMCYbr/yhq6rwJxweiwAAAAA9IzQDgAAAAB6RmgHAAAAAD0jtAMAAACAnhHaAQAAjGnvWdV1FQCYE0I7AAAAAOgZoR0AAADAGG6/8oauq8AcEdoBAAAAW97Ba6/qugowUUI7AAAAAOiZbV1XAAAAAGAtjKpjHgjtAAAA2DIWw5rt51/UcU2YJCEcfD+hHQAAwJiuv7Vl71nVdTW2hKNDmEmEbKNlrhTyCPS2DmEdLM817QAAAJiopYIY4QzA2gjtAAAAAKBnnB4LAAD03rkX7um6CgCwqYy0AwAAeq1PgZ3r2Y1n+/kXfd915TbzOnNOxQVmgZF2AADAESYVkt149UJn+16PowO5dmDwePoOQd16uSEEKxGuwsqMtAMAAB7Vp1FtAH1zxkuf13UVmCNCOwAAAADoGafHAgAAj7rx6gWj7Xrq7J13jLXern3XTLkm0z2t8ZETThns496vb6icLk+9XM9pwUfX16nF/XT7lTd0XQXmiNAOAACYuPVcz65r19/ajnh94uMGj/u/d3j+Zt6IYqWQbjOCuaW4Btl4JtFOB6+9ak3B3ST2OanAdCsSxtFHQjsAAOAISwVuaxl9txUDu3Fdf2tbV3A37ii5rgnltiY/t40R2NFXrmkHAACsapaDOADoI6EdAAAAAPSM02MBAACgx5z+CvPJSDsAAABgLrmeHX0mtAMAAHphLTe7AIBZ5/RYAACgc1slsFvPnWO3ku3nX7TkfKdnAmw+I+0AAACm6Oydd0y8zDt3XzDxMleyXJgHwPQYaQcAADA0OpKuHRg8nr5jtkfXjWv7+RcZcQewiYy0AwAAyHROfZ3GKDsA5oPQDgAAAAB6RmgHAAAAAD0jtAMAAACAnhHaAQAAQE+5+QfML6EdAAAA9JDADuab0A4AAAAAekZoBwAAAAA9I7QDAABWde6Fe7quAgDMlW1dVwAAAOgXAR0AdM9IOwAA4FECOwDoB6EdAAAAAPSM0A4AAAAAekZoBwAAPOrGqxc2tO1GtgcADnMjCgAA4AhdBG9r2ee0rrt3/a0te8+qiZZ5yz2n5+ydd0y0zEV37r4gu/ZdM5Wyl3Lw2qs2bV8AGGkHAABsMdMMFa+/tU2t7Gm4c/cFXVcBgCkx0g4AANhybrx6Yaoj7pLkxMcNXu//3uEgb9Ij8QBgOUbaAQAAAEDPCO0AAAAAoGeEdgAAAADQM0I7AAAAAOgZoR0AAAAA9Iy7x7IlfeT9z1xx+RXXPbxJNQEAAACYPCPtmEkvP08eDQAwy869cE/XVQCAqZJsAMAWdvbOO5L7u64FwGzZe1YlSdqBwevTd1SHtVnZrn3XdF0FAKZEaMfM+of3f6jrKvTCvocGf+a7mw7dZtLu3Zm7tr8/ufXtv9N1LQAmog+j5xYDu0k5e+cdEy1v1GYGdgevvWrT9sX8uv3KG7quAvSK0I6Z5Z/YgQPnPHfwePNNHddkvmj37mh7gI2ZRHB249ULnex3o9YT2E0zlFvJaoHdLIdsi8HOGS99Xsc1YRIEdbA817QDAAAmaq0BXB8CO7aG0YBH2APMOqEdAAAAAPSM0A4AAAAAekZoBwAAAAA9I7SboKo6qareW1W3V9V3q+quqrqiql68zvKeWlWvq6oPjZT5QFXdWlXvr6q/Nen3AAAAAED33D12QqrqOUn+Q5ITh7PuS/KUJC9L8iNV9dbW2jvXWOw3cuTP6ECS7UnOHE6vrap/1lr7ow1VHgAAAIBeMdJuAqrqmCQfyyCwuyHJOa21E5I8KclvJakkl1XVJWsseluSzyX5J0l2tdaOS3JskhckuTHJE5L84TAwBAAAAGBGCO0m43VJTs9gJNzLW2u3JElr7b7W2luSfHS43mVrLPeFrbUXttb+sLX2zWGZj7TW/t8klyT56wyCvZ+fxJsAAAAAoB+EdpNx6fDxA621ry+x/N3Dx71Vdea4hbbWPrfCsm8l+bPhy/PGLRMAAACA/nNNuw2qquNyODT7xDKrXZ3k3iQnJHlRktsmtPv9w8fHTqg8AACYiHMv3NN1Fabq7J13dF0FAGac0G7jzsrgmnVJcstSK7TWDlXVl5JckOTZE9z3C4ePN0+wTAAAYBnrDet27btmwjUBYNYJ7TZu18jzb6yw3uKyXSusM7aqemWSvzt8+ftr2O66ZRadefDgwSwsLGy0akvav39/nr7zgYmVN049D5zz3Intbyt76ORTu67CXNLu3dH23dH23VhYWMj+/ftXX3GD9uzZM/V99F1X/ahJ9qHGceLj5vMKOqedlLQDR85rD919xOtdx96d/UfOGssJdy9k3yb/6/XICads6v4m6Z5jdi677MA5h454/Y0t/D77aKW2n5ajf6bzSj+qG33vR83nEXmynjjy/MEV1vvO8HHHRndYVack+bfDlx9rrV250TIBAAAA6A8j7TauVl9lgjur2pHB3WifluSOJK9dy/attSVvWlFV123fvn3vNL9Fv+ueR/Llrz9pImWNU8+7b75pIvuaFTu0Rye0e3e0fXe0/eYaPSYaDTddXfWj7rrnr5NkYv2o1Ry7+7RN2U/fnL5j+W597Tg9SXLiOgch7XrgK+vbcAMO3rvU/fG2lpOXeA8PHnWMOflU41CmYam2n5ajf6bzTj9qc/W9H+UTbuNGB9Efs8J6xy6x/ppU1ROS/EkGp8V+K8kPtda+vd7yAAAAAOgnod3GjV7H7uQV1ltcdud6dlJV25N8OIO7z96T5JLW2pfWUxYAAAAA/Sa027jbkrTh87OXWqGqHpPkWcOXX1zrDqpqW5I/SvIjGYzU++HW2o1rryoAAAAAW4HQboNaa/cn+cLw5UuWWe35SU4YPv/0WsofBn5/kOTVGdzo4hWttb9YR1UBAAAA2CKEdpPxgeHjpVW1a4nlbxk+XreWU1qrqjK4S+w/SnIwyatba5/ZUE0BAIB1ueWe07uuAgBzRGg3GZdncCfX45J8vKqenSRVdVxVvSuDUXJJ8tajN6yqNpzetkS5/zqDu8M+nOTHW2tXTqPyAADAeNYT3N25+4Ip1ASAWbet6wrMgtbag1X1ygxOfd2b5Jaqui/JjgyC0Zbkra21T45bZlWdluSNi7tIcnlVXb5CHU5ab/0BAAAA6Beh3YS01m6qqnOS/FKSlyU5Jcn+JNckeU9rbU3XssuRoyAfl+TpE6koAAAAAL0ntJug1to3k/zccBp3m1pm/kKSJZcBAAAAMNtc0w4AAAAAekZoBwAAAAA9I7QDAAAAgJ4R2gEAAABAzwjtAAAAAKBnhHYAAAAA0DNCOwAAAADoGaEdAAAAAPSM0A4AAAAAekZoBwAAAAA9I7QDAAAAgJ4R2gEAAABAzwjtAAAAAKBnhHYAAAAA0DNCOwAAAADoGaEdAAAAAPSM0A4AAAAAemZb1xUAAABYj71nVddVAICpEdoBAACM6eydd6xruzt3XzDhmiS79l2z7LLt51+Ug9deNfF9ArB5nB4LAABsOV2MsltvYDctqwWB28+/aJNqAsA0CO0AAAC2qGmM4AOgH4R2AAAAANAzQjsAAIBV9O3UWABmnxtRAAAAjFgM6PYfujtJcuLOLmsDwLwy0g4AANhSpnkTCiPqAOgLoR0AAAAA9IzQDgAAAAB6RmgHAAAwo7aff1HXVQBgndyIAgAAYIZNIrg7eO1VE6jJxp3x0ufl9itvePQ5wCwT2gEAAEmScy/cs+LycW4Acf2tbUK1geUJ7IB5ILQDAABWNe4dW/eeVesK7qZ5R1gA2IqEdgAAwBE2GqAJ4ABg44R2AADAo1YK3M7eeceq299yz+mTrA4AzC13jwUAAFY1TmC3lvUAgJUZaQcAAEzU2Tvv2LIj7kbr3b4zePzmY04XRq7B4t1dj+bmEQBrY6QdAAAAU7dcmLeeMiZRFkDfGWkHAACwgq04yu7gtVd1sl9hGsDkGGkHAAAAAD1jpB0AAAAzaxKj/1yPD+iC0A4AAICZJXADtiqnxwIAAABAzxhpBwAAjGXXvmtWXefO3RdMvR6bdWOI/YfuHj578qbsbz3G+ZlM2kZONx1n2wPnHEqSPHjzTesua3F0Xd9vjDHvowD7/vOBrgntAACAIywViu3ad00OXnvVqv9kn/Urg+BuK95xdTVdBGTrMc07x26VkGWr1XOc8G4z3tO4gSmwOYR2AADAo1YK28YJDQ5ee1V2ZXNG3PH9BHZb01JtOxrkaXuYT0I7ZtbeT3++6yo86voXv6DrKgAAjOWWe05fcv4zLj4jey9+zVhlXHHdw8k9G6vHLI7UA4C1ENoBAABJkhuvXkiyZ8llLz9v/HKuv7Wta/97z6pHn99yz+mCOwDmmtAOAAB41CC4W8JPPnPjZazg3Av3HBH27T2rBHcAzLXHdF0BAAAAAOBIRtqxaV7/mqdlz549XVcDAAAAoPeEdgAA0GOvf83TkuSILz9f9bP/uaPaAACbxemxAAAAANAzQjsAAADomduvvKHrKgAdE9oBAABATwnvYH4J7QAAAKCHBHYw34R2AAAAANAzQjsAAAAA6JltXVcAAPpg76c/33UVtryFhYUkyZ49ezqtxzRc/+IXdF0FAADmjJF2AAAAANAzRtoBAKzCSEwAADabkXYAAAAA0DNCOwAAAADoGaEdAAAAAPSM0A4AAAAAekZoBwAAAAA9I7QDAAAAgJ4R2gEAAABAzwjtAAAAAKBnhHYAAACr2LXvmq6rAMCc2dZ1BQAAAPpiNJx7+KHBv0u7HvhKV9UBYI4ZaQcAAHTuxqsXvm/e2Tvv2PyKAEBPGGkHm2Dvpz/f2b4XFhaSJHv27OmsDtNy/Ytf0HUVAIAlfOT9z1zXdldc9/Cjz7sI7FY7BfbgtVc9+nz7+RdNuzpjGa0TALNFaAcAAPRCn0fWHR2OzWNYdsZLn5fbr7yh62oAzA2hHQBkvJGbXY6aBZgHzzjjjHz19ts72/+duy/Irn3XPBrIPXLCKUmSg/d+/dF1br/yhpzx0ud1Ur8+WO29C/UAJkdoB2xZfQ5QJnVaslOAAZg3zzjjjG4rcMYZufXtv5MkOXDOoSTJgzffdMQq8x7crcRoPIDJEdoBAAAwMRsNNL8xHOF48qlH3jdRGAjMG3ePBQAAAICeEdpNUFWdVFXvrarbq+q7VXVXVV1RVS/eYLnHV9WvV9WtVfWdqtpfVZ+uqh+bVN0BAAAA6A+h3YRU1XOS3JzkDUmekeShJE9J8rIkf15Vv7jOck9NcmOSX05yZpJHkhyf5EVJPlRVv7vx2gMAAADQJ0K7CaiqY5J8LMmJSW5Ick5r7YQkT0ryW0kqyWVVdckay60kH07yA0kWkvy91tpxSY5L8t8nOZTkp6vqpyb0VgAAAADoAaHdZLwuyelJDiR5eWvtliRprd3XWntLko8O17tsjeW+MsnzMwjnXtVau2pY7ndba+9O8r7her9WVds3+B4AAAAA6Amh3WRcOnz8QGvt60ssf/fwcW9VnbmOcj/VWrtxieW/maQlOSmD02UBAAAAmAFCuw2qquOSnDd8+YllVrs6yb3D52sJ1y5eqdxhQHjLOsoFAAAAoMeEdht3VgbXrEsOB2hHaK0dSvKl4ctnj1NoVT0tgxtZLFvu0BfXUi4AAAAA/bet6wrMgF0jz7+xwnqLy3atsM7Uy62q65ZZdObBgwezsLAwTjFrtn///qmUy+q0fTcm1e4HznnuRMqZJw+dfOrUyp7WZ+Ss8HnTnc1o+z179kx9H33Xp37U3z7lb6ayr5XM02fg4vF3pWPKN044ZbOqM3fuOWbnkvMPnHNok2syf6bZj2Jl2r4bCwsLve5HCe027okjzx9cYb3vDB93dFwusIWc9vO/0HUVtpzFg+6JJ57YcU0Apuf1r3la11WYaYvHX8eUbnxn2O7HHNXup13SRW3mi9/57mh7liK027hafZUNl9smVWhr7byl5lfVddu3b9877W/RfUvfHW3fDe3eHW3fHW3fHW0/XfpR80vbd0O7d0fbd0fbd6ePbe+adht3YOT5MSusd+wS649b7rHLrrX2cgEAAADoOaHdxo1eb+7kFdZbXHZnx+UCAAAA0HNCu427LYdPXz17qRWq6jFJnjV8+cWl1jlaa+1bSb69UrlDi3eNHatcAAAAAPpPaLdBrbX7k3xh+PIly6z2/CQnDJ9/eg3Ff2alcqvqlBwO9NZSLgAAAAA9JrSbjA8MHy+tql1LLH/L8PG61tqX1lHuJVX13CWWvymDG1bcmcMBHwAAAABbnNBuMi5PckeS45J8vKqenSRVdVxVvSvJq4frvfXoDauqDae3LVHunyT5jxn8nD5SVRcOt3l8Vb05yRuH6/2r1trBSb4hAAAAALqzresKzILW2oNV9coMTlHdm+SWqrovyY4MAreW5K2ttU+usdxWVT+W5HNJfiDJX1TVgSRPyOGf3b9prf3ehN4KAAAAAD1gpN2EtNZuSnJOkvcl+WqSxyfZn+RPk7yktfbOdZb7V0nOTfKODG56sS3J/RmcDvvjrbXXb7z2AAAAAPSJkXYT1Fr7ZpKfG07jblNjrHNfkl8eTgAAAADMOCPtAAAAAKBnhHYAAAAA0DNCOwAAAADoGaEdAAAAAPSM0A4AAAAAekZoBwAAAAA9I7QDAAAAgJ4R2gEAAABAzwjtAAAAAKBnhHYAAAAA0DNCOwAAAADoGaEdAAAAAPRMtda6rgM9UFX7jznmmCefddZZUyn/4MGDSZLt27dPpXyWp+27od27o+27o+27sxltf/3113+gtXbp1HawhelHzS5t3w3t3h1t3x1t350+96OEdiRJquprSY5PsjClXZw5fLxtSuWzPG3fDe3eHW3fHW3fnc1o+9uEdkvTj5pp2r4b2r072r472r47ve1HCe3YFFV1XZK01s7rui7zRtt3Q7t3R9t3R9t3R9vPNj/f7mj7bmj37mj77mj77vS57V3TDgAAAAB6RmgHAAAAAD0jtAMAAACAnhHaAQAAAEDPCO0AAAAAoGfcPRYAAAAAesZIOwAAAADoGaEdAAAAAPSM0A4AAAAAekZoBwAAAAA9I7QDAAAAgJ4R2gEAAABAzwjtAAAAAKBnhHasSVWdVFXvrarbq+q7VXVXVV1RVS/eYLnHV9WvV9WtVfWdqtpfVZ+uqh+bVN23ukm3fVU9tapeV1UfGinzgeHP4P1V9bcm/R62qmn93h+1j8dW1Reqqg2nt02q7K1smm1fVU+rqt+oqpuq6t6qOlBV/7mq/qiqXjmJ+m9lU/y8f1VVfbyq7qyq71XV/VV1Y1W9s6qePqn6b0VVdVxVvaKq3l5V/1dVfXvkM+HMCZTvWNsx/aju6Ed1Rz+qO/pR3dGP2nwz249qrZlMY01JnpPk20nacLo3ySPD54eS/OI6yz01yVdHyr0/yfdGXv9u1++962kabX9UGy+2+0Mjrx9M8pqu33vX07R+75fYzxuP+nm8rev33vU0zbZP8sNJ7h4p+zvDv4HF15/q+v3PWttn8EXhvz/q9/y+JA+PvN6f5Pyu33+H7f6jR7XP6HTmBst2rO3+56sfNUNtrx/VXdsvsx/9qE1se/2ozW97/aix2mgm+1GdN6xpa0xJjkmyMPyFvD7J2cP5xyf5zZFf1kvWWG4luXq47deSXDSc/4QkvzDy4fZTXbfBDLZ9S/LZJP84yUnDeY9N8veS3DBc/r0kz+m6DWat7ZfYz6nDD/6FJN+MzuZU2z7J38/hf6z+9yTnjCx7cpJXJXlT120wa22f5HUj2/52kqcN529L8kNJ7hgu+0qSx3TdDh21/Y8muSvJnyZ5W5KfygQ6m4613U9T/Lvys+2u7fWjOmr7JfajH7WJbR/9qE7aPvpR47TRTPajOm9Y09aYcvjbq/uTnLLE8o8Ml1+3xnIX0/BHkpy7xPL3DJffmWR71+0wY23/gysse+rwA68l+f2u22DW2n6Fcl4xcpB/W9fvfxbbfnhw/cpw28u7fp99nKbY9p8dbvcflll+8UjH6vuOB/MwJXnsUa/3TKiz6Vjb/c9WP2r22l4/qqO2X6Ec/agpt71+VKdtrx+1ehvNZD/KNe0Y16XDxw+01r6+xPJ3Dx/3rvF88cVyP9Vau3GJ5YvfRpyU5EVrKHeWTKXtW2ufW2HZt5L82fDleeOWOYOm9Xv/qKp6RQYHgo+31j62njJm1LTa/ieSnJHkb5K8eQP1m2XTavvF66xcv8zy60aeP3EN5c6M1tojUyrasbZ7+lHd0Y/qjn5Ud/SjuqMf1ZFZ7UcJ7VhVVR2Xwx2OTyyz2tUZnKufrO0X9eKVyh1+0N2yjnJnwpTbfjX7h4+PnWCZW8ZmtH1VPTHJ+zO47s0b1rr9rJpy2y8edD/cWjuwjurNtCm3/cLw8XnLLF/c70NJvriGclndxcNHx9oO6Ed1Rz+qO/pR3dGP6o5+1My6ePjYybFWaMc4zsrgPO7k8C/jEVprh5J8afjy2eMUWlVPS/KUlcodWvzQGavcGTOVth/TC4ePN0+wzK1kM9r+7Ul2J3lHa+1r69h+Vk3rM6eSPH/48vNVtbeq/riqvjW8q9dXqup3qur0jVR+i5vm7/3vDR9fVFXvGR4DUlXbquqHkvzBcPmvtdb+Zm3VZjmOtb2gH9Ud/aju6Ed1Rz+qO/pRM6YPx1qhHePYNfL8Gyust7hs1wrrbEa5s6STNhrepv3vDl/+/iTK3IKm2vZV9bwMvhX+cpJ3ra1qM29abf/0DC4CnCRnZ/BN56uSHJvBxcLPSPIvktxUVX9/7NrOlqn93rfW/s8kv5zB9UDemOSuqrovyXeTXJnBtV/+aWvtHWuqMatxrO2eflR39KO6ox/VHf2o7uhHzZ7Oj7VCO8Yxek78gyus953h446Oy50lm95GVXVKkn87fPmx1tqVGy1zi5pa21fVY5JcnsEpMz/bWju49urNtGm1/c6R57+QwUXCX5JkR2vtuAzu+PflJCck+XBVPWnMcmfJtD9zLkvyT5I8MHx9XA6fOvbEJE8Z/n0wOY613dOP6o5+VHf0o7qjH9Ud/ajZ0/mx1g+UcdTqq2y43DalfWx102r7pXdWtSPJR5M8LYPbhr92M/ffM9Ns+59Jcn6SD7bW/nyK+9mqptX2o8e8SvKTrbVPteFtn1prVyX5sSSHMvgb+G+nVI8+m9rv/fA6L1ck+fdJPpPBKTbHZXBnr5/O4Nv7dyf536ZVhznlWNs9/aju6Ed1Rz+qO/pR3dGPmj2dH2uFdoxj9CKjx6yw3rFLrD9uuccuu9bay50l02r771NVT0jyJxmczvGtJD/UWvv2esubAVNp+6o6OcmvD9d/0/qqNvM24zPnptbaZ49eobX2/yX51PDlPxyz3Fkyzc+cf53kRzK489bLW2vXtNYOtNbuaK1dnsEpNi3Jf1VV/+Waas1KHGu7px/VHf2o7uhHdUc/qjv6UbOn82Ot0I5xjJ67ffIK6y0uu7PjcmfJprRRVW1P8uEM7nZzT5JLWmtfWnmrmTettr8sg2/C/sck91bVjtEph7/N2T4yb95Mq+3vyuA6IMnhCwAvZXHZ7jHLnSVTafuqOj7JPx2+/O2l1mmtfS7J9cOXrxynXMbiWNs9/aju6Ed1Rz+qO/pR3dGPmj2dH2uFdozjthweCnr2UisMz51/1vDlWLeYbq19K8niN5BLlju0eAeWebx19VTa/qjttyX5owy+uTmQ5IdbazeuvaozZ1ptv3hHrbdncMHYo6fThst/aWTevJnWZ85DSW5ffDnOJuOUO2Om9Xv/zBy+5spKd/j76vBxz5jlsgrH2l7Qj+qOflR39KO6ox/VHf2oGdOHY63QjlW11u5P8oXhy5css9rzM7joaJJ8eg3Ff2alcocX813841hLuTNhym2/eND4gySvzuDCmq9orf3FOqo6c6bd9ixvym2/uO6ZK6yzuOyONZQ7E6bY9odGnp+27FqH/xmbx3+ypsmxtkP6Ud3Rj+qOflR39KO6ox81szo91grtGNcHho+XVtVStzF+y/DxujWeDrBY7iVV9dwllr8pg2Hud+bwH8u8mUrbV1VlcHezf5TkYJJXt9bmtY2XM/G2b61d3Fqr5aYc7uD86si8eTStz5z/dfj43Kq6+OiFVfV3krx4+PLP1lDuLJlG29+W5LvD5/98qRWqam+SvcOX/3HMchmPY2339KO6ox/VHf2o7uhHdUc/avZ0e6xtrZlMq04ZXEhzIYPhvtclefZg8lEpAAAHv0lEQVRw/nFJ3jWc3zK4hsfR2y4ue9sSyyrJ1cPlX01y4XD+45O8OYPrJrQkP9V1G8xg279nuOx7SV7Z9fvs4zSttl9lnwvr2W7Wpmm2fZI/Hi7fl0HHsobz/4sMrsPShvs+tut2mKW2T3L5yPLfS7J7OP8JGVx75S+Hy+5N8pSu26HD9n/KyPS8kTa78Khlj1lD2zvWdv9z1Y+avbbXj+qo7VfZ58J6tpu1aZptH/2oTto++lHjtv/M9aM6b1TT1pmSPDeD87kXf6HvHfkFPZTkF5fZbrUP/lOHv/yL692fQQdo8fXvdv3eu54m3fYZDKteXHYwyTdXmrp+/7PU9mPsb2E9283iNMXPnOOTXDuy3gNJ7ht5/Y0kz+36/c9a2yfZkeT/GVmnZXD9p0dGXt+XJTqx8zQd1T4rTXvGbfvhcsfa7n+2+lEz0vbRj+qs7cfY38J6tpvFaYqfOfpRHbR99KPGbfuZ60c5PZaxtdZuSnJOkvdl8Av7+CT7k/xpkpe01t65znL/Ksm5Sd6RwdDfbRn8EXwmyY+31l6/8dpvbVNo+9G//cclefoq09ya1u89q5viZ859SS7K4Jux6zLo7GzL4MKx78ygo3nTht/AFjaNtm+tHUhycZJ/luSTSb41LPfBJDdnMGrl77TWPjmBt8BRHGu7px/VHf2o7uhHdUc/qjv6UbOny2Pt4lBWAAAAAKAnjLQDAAAAgJ4R2gEAAABAzwjtAAAAAKBnhHYAAAAA0DNCOwAAAADoGaEdAAAAAPSM0A4AAAAAekZoBwAAAAA9I7QDAAAAgJ4R2gEAAABAzwjtAAAAAKBnhHYAAAAA0DNCOwAAAADoGaEdAAAAAPSM0A4AAAAAekZoBwAAAAA9I7QDAAAAgJ4R2gEAAABAzwjtAAAAAKBnhHYAAAAA0DNCOwAAAADoGaEdAAAAAPSM0A4AAAAAekZoBwAAAAA9I7QDAAAAgJ4R2gEAAABAzwjtAAAAAKBnhHYAAAAA0DNCOwAAAADoGaEdAAAAAPSM0A4AAAAAekZoBwAAAAA9I7QDAAAAgJ4R2gEAAABAzwjtAAAAAKBnhHYAAAAA0DNCOwAAAADoGaEdwAyrqk9UVRuZXjvmdsdU1eeP2vad064vAEBf6EcBXavWWtd1AGBKquo5SW7I4S9p9iV5ZmvtoRW22Zbko0l+ZGT277XW/vnUKgoA0DP6UUDXjLQDmGGttf+U5A9HZu1O8i+WW7+qKsm/y5EdzQ8m+elp1A8AoK/0o4CuGWkHMOOq6tQkX05yzHDWt5M8o7V2/xLrvjfJG0ZmfSLJK1prB6deUQCAntGPArpkpB3AjGut/VWS94zMekqSNx+9XlX9Dzmyo3lVklfraAIA80o/CuiSkXYAc6Cqjk/ylSRPHc66P4Nvib89XP76JP/zyCb/KckLW2v3bGpFAQB6Rj8K6IqRdgBzoLV2X5JfHZl1XJJfTpKq+okk7x9Z9pUkl+hoAgDoRwHdMdIOYE4M72Z2S5K/PZz1UJKfzeCb4ccN5309yQtaawurlLUzyflJLhh53DVc/NnW2sWTrDsAQJf0o4AuCO0A5khVvSrJHy+zeH+SH2ytfXGMcr6WZM8yi3U2AYCZox8FbDanxwLMkdbaR5J8folFB5L88DgdzaEaeX5Xko9vtG4AAH2mHwVstm1dVwCATfdnSV5w1LxXtdauWUMZ70/ytSTXttb+MkmqytBtAGDW6UcBm0ZoBzBHquplSX5tiUUnraWc1tpvTqZGAABbg34UsNmcHgswJ6rqB5N8MEt/YfMbVfX4Ta4SAMCWoB8FdEFoBzAHqmpvkiuSHDOc9UCSD4+sclqSN2x2vQAA+k4/CuiK0A5gxlXVs5JcmeT44ayDSV6d5LUZ3Ols0Vur6smbXD0AgN7SjwK6JLQDmGFVtTvJJ5M8dTjrUJKfbK19srV2X5LLRlbfmeRfbnIVAQB6ST8K6JrQDmBGVdVTMuhonjYy+2daax8aef07SfaNLq+qH9iM+gEA9JV+FNAHQjuAGVRVx2VwKseZI7P/ZWvt34yu11r7bpJfHZm1Pck7pl9DAIB+0o8C+kJoBzBjquoJST6W5LyR2e9prf3GMpv8uyS3jbz+iao6f0rVAwDoLf0ooE+EdgAzpKq2Jfk/klw8MvsPk7x5uW1aa48k+ZXRYpK8exr1AwDoK/0ooG+EdgAzoqoqyf+S5BUjs69I8trWWltp29bah5N8YWTWC6vq5ZOvJQBA/+hHAX0ktAOYHb+d5L8eef25JD/eWnt4zO1/6ajX76yqx06kZgAA/aYfBfROrfKlAQCMpaoWDyifba1d3GVdAAC2Ev0oYClG2gEAAABAzwjtAAAAAKBntnVdAQC2nqo6N8m5yyw+qar+m6PmXdla++Z0awUA0H/6UcC4XNMOgDWrqrcl+Vdr2OQftNb+7+nUBgBg69CPAsbl9FgAAAAA6Bkj7QAAAACgZ4y0AwAAAICeEdoBAAAAQM8I7QAAAACgZ4R2AAAAANAzQjsAAAAA6BmhHQAAAAD0jNAOAAAAAHpGaAcAAAAAPSO0AwAAAICeEdoBAAAAQM8I7QAAAACgZ4R2AAAAANAzQjsAAAAA6BmhHQAAAAD0jNAOAAAAAHpGaAcAAAAAPfP/A5p4T2t+BzsdAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 720x360 with 4 Axes>"
]
},
"metadata": {
"image/png": {
"height": 353,
"width": 630
},
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"n_cols = 2\n",
"fig = plt.figure(figsize=(5 * n_cols, 5))\n",
"grid = ImageGrid(\n",
" fig, 111,\n",
" nrows_ncols=(1, n_cols),\n",
" axes_pad=0.5,\n",
")\n",
"\n",
"# Decision function of first tree\n",
"for i, x in enumerate(np.vstack((xx.ravel(), yy.ravel())).T):\n",
" x = dict(enumerate(x))\n",
" y_pred[i] = model.predict_one(x, tree_num=0)\n",
"\n",
"ax = grid[0]\n",
"ax.grid(alpha=.5)\n",
"ax.contourf(xx, yy, y_pred.reshape(xx.shape), cmap=plt.cm.coolwarm, corner_mask=False)\n",
"ax.set_title('Single tree', pad=12)\n",
"ax.set_xlabel(r'$x_1$', labelpad=12)\n",
"ax.set_ylabel(r'$x_2$', labelpad=12)\n",
"ax.set_aspect('equal', 'box')\n",
"ax.spines['top'].set_visible(False)\n",
"ax.spines['right'].set_visible(False)\n",
"ax.set_xlim(-0.05, 1.05)\n",
"ax.set_ylim(-0.05, 1.05)\n",
"\n",
"# Overall decision function\n",
"for i, x in enumerate(np.vstack((xx.ravel(), yy.ravel())).T):\n",
" x = dict(enumerate(x))\n",
" y_pred[i] = model.predict_one(x)\n",
"ax = grid[1]\n",
"ax.grid(alpha=.5)\n",
"ax.contourf(xx, yy, y_pred.reshape(xx.shape), cmap=plt.cm.coolwarm, corner_mask=False)\n",
"ax.set_title(f'{len(model.trees)} trees', pad=12)\n",
"ax.set_xlabel(r'$x_1$', labelpad=12)\n",
"ax.set_aspect('equal', 'box')\n",
"ax.spines['top'].set_visible(False)\n",
"ax.spines['right'].set_visible(False)\n",
"ax.set_xlim(-0.05, 1.05)\n",
"ax.set_ylim(-0.05, 1.05)\n",
"\n",
"for ext in ('pdf', 'pgf'):\n",
" fig.savefig(f'figures/uniform_moons.{ext}', bbox_inches='tight')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Centered random trees"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"model = FastTreesRegressor(n_trees=10, height=7, padding=0.5, predict_method='leaf', seed=42)\n",
"\n",
"for x, y in zip(X, Y):\n",
" \n",
" # Convert to a dictionary\n",
" x = dict(enumerate(x))\n",
" \n",
" model.fit_one(x, y)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABO0AAALDCAYAAABJrfRiAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdebhkV1kv/u8bQoCQQCBMISZpRCAhDCHIHAaBKApcZNCrIkq4ouKIwE8RFZArkyjOCqIIKqAXAa+AAoKMFyJDEpSEMdARwpyQkUwk7++PXcdUn5xz+pzuGnZ3fz7PU0/V3rX22qv2Od29+ltrr1XdHQAAAABgPPZbdgMAAAAAgB0J7QAAAABgZIR2AAAAADAyQjsAAAAAGBmhHQAAAACMjNAOAAAAAEZGaAcAAAAAIyO0AwAAAICREdoBAAAAwMgI7QAAAABgZIR2AAAAADAyQjsAAAAAGBmhHQAAAACMzP7LbgDAiqo6Ksldk9w8ySFJOsnFSb6c5HNJPtHdF22hvu1Jjppsvru7HzDL9o7Vvvq5AYC9R1UdkeQ7kxye5MAkZyf5dJIPdXcvs20AiyK0A5aqqm6c5ElJnpirg6b1XFVVZyR5b5I3J3lHd1865yYCAOzTqmq/JMckuVuSu0+e75TkgKliJ3X3K2ZwrvsneWaSB2TtO8M+V1UvSfK73X3l7p4PYMzcHgssTVU9LMkZSX4rOw/skuHvrDtkCPnelOQx82sdy1JVj6+qnno8YNltAoB9UVU9pqreleT8JB9L8lcZ+mHfmR0Du1md77eS/FuSB2b9/6veKskLk7ynqg6fdRum2vKK6f7IvM4DsBEj7YClqKofTPLqJNda9dYFSf4zwy2xlyW5UZIjM3y764sGAIDFOSHJ/Rdxoqp6VpJfW7X760k+kmG6lKOT3H7qvXsneVNVndDdFy+ijQCLJrQDFq6qbp3kr7NjYPexDB21f+7ub61xzEEZOo0/kOSRSW6wgKYCAHBN5ye5KMN8c7utqh6S5FlTuzrJryd58fRUKJNbZ181dd7jkvxZkh+bRTsAxsaoFWAZnpvkOlPbb09y9+7+p7UCuyTp7ou6+83d/fgk35bkKRlG462ru7d1d00eD5hN0wEA9imXJPlAkj9M8rgMI95ulOQvZlF5VVWG211ravcvdffzVs9d3N3vTnLfDKHhih+tquNm0RaAsTHSDlioqrpekv8xteuKJD/e3Zdsto7uvjDJ7826bQAA7OC5SZ62zl0QszrHozIsarHi5AwB4Zq6+3NV9Ywkf7LSlAyj9B45qwYBjIWRdsCiHZ/kelPb7+/uLy6rMQAArK27v7beXRAz9COrtn+/u3e28MPLk5w3tf3QqrrhbJsFsHxG2gGLdotV22cvpRVbVFXHJrljkiOSfCvJl5K8Z3cDx6q6eZL7ZZibZf8kX0hyenf/5+61ePdU1a0yrAx3syQ3THLOpG3v7e4Lltm23TWZU/G4JIdlmBvxq0le2d1X7OS4/ZPcPcmtM1yX/SbHfjzJh7v7qhm07cZJ7jNp26EZ5gv6coZwe4/4swIAm1VVByT57qldFyf5x50d192XVtXrkzxhsuvaSb43yd/NvJFzUlV3S/IdGf7NPyDJx7r7TZs47qAMfYVvS3LTJJcm+UqSD3X3Z2bUtrn0Ayf1Hpeh7QcnuSrDz/zsJGdm6APPOySGPYrQDli0a6/avvG8TlRV25McNdl890bz2q1Xtqq+L8mzk9xtnePemuQp3X3GFtt2uwy3+H5P1hj1XFWnJfnf3f36rX6WXTXpOP90kp9Jcrt1il1RVW9J8ozu/tiMz7/et+rv3OAWnFdO5jmcrudduXqlu7O6e9tk/8MzLHZyjzXq+Yfs+I39dH1HJXlmhtt3DlmnHV+rqpck+e3uvmi9xq6nqh6a5FeT3CvrjIKvqlOSPGszHXoA2EPcK8lBU9sf7O7LNnnse3N1aJckJ2Y3Q7uqekCSd67z3kaj/07q7ldsUP6V3f34qtovw7zMP5PkVqvq+GiSdf+Nr6r7JPmNJN+VIeRbq8wnkzwvyd9sYrTi6mPn0g+czFl4UpJfzI63Qa/lm1X13iQv7+7/s7mWw97N7bHAon111fYJVbVeELJUVfWCDJ2nNQO7ie9JcnJV3W8L9f5who7Z92b9v4ePS/K6qvrdzda7O6rqTknOSPIHWb+jlgyh68OTnFZVT15E23ZXDX4/yT9l7cBuo2OfkuSTGf5TsNHv6U0zdKTPmIzK3Gz9N5oEv2/K8K35Rv8uH5/kjVX1mknHGgD2dKv/zfzgFo49eSd1jUpV3SjJO5K8KNcM7DY67jpV9TdJ3peh37lRH+B2SV6Z5B1buV14Xv3AqjowyVuS/GV2HtglyYEZPuMzNlEW9glG2gGL9pEkVya51mT7oCR/XVU/sisjlOalqn49ya9MNq9KckqSsyavj0lyh6niByd5bVUd093n7qTeRyT5m1z9+Vf8R5JPZ5hM+TYZbsVNkqdMRtnNzSRwfGOGW0WnnZmhA3dhhls1755htbhkaP/vVdV1u/sF82zfDPxyhm93V5ye4VpfkeTIDLd/XMMk6PvFVbsvz/C7cHaG3+OjJsev/DyPSPLeqrpPd398o0ZV1S0zrJx8zKq3vpbk1CRfz/Dn4865epRlkvxQkhtW1cNmcUsuACzR6oDos1s4dvtO6hqTSvK3SR4w2f5Wkg8l+XyS62bo+13zoKqDk/xzkhNWvXV+hj71VyfHHz15rPiuDHcq3Gdni73NuR/459nx9uck+UaGL6+/kuE63CBDP+fobBxIwr6puz08PDwW+sgwqqhXPb6YYeWvOyapGZ1n+1T979pC2XMyhHOd5GVJDluj/D2T/Neqz/DCnZzjphkCmelj3pXkmDXK3j7JuydlLs0wt9mufJadlb1lhg7fdJv+bp02XSvDiLPzp8p+K8l9ZvTz2jZ5PG1Ve35o6r3Vj5usUc+7po69ZNLGTvIvSY5eo/zhSfZfte+Jq9pwYZJfSnLQGsffIslfrSp/WpLrbPBZrzX18115fDjJg9cp/4AMc+dNl/+VRf/Z9fDw8PDwWHlkmD5k+t+lx+9CHav7hN+7xeNX96sO3c3PdN2pPsY/rKp7vb7ItnX6B6v7EZ2hf/niJDdeo/y2Nfa9alU9n0ny6CT7rVH2Lkk+sKr8n+3k886tH5jhC+7per8yafu11il/QIZbnP88w1y+S/8d9/AYw8PtscAy/FqS1fOVHJah8/cfSb5eVW+uqt+oqhOr6voLbt+NM3wj+svd/cTu/tLqAt19cobbW6cXL/ixyVwl63l2kptMbb81yYm9xoisHubIOzHJ25JcJ8m8rsHLMoSJK57a3T+0Tpuu7O6XZ1g44+LJ7mtl6Hzutu7e3t3bM4wwm/bllffWeKwuu9p1J218dZKHdvcn1jjv2T016XFVHZnh9pAVX01yt+7+vV5jNGh3f7m7T0ryW1O775wd59lZ7SkZruOK1yW5d3e/fa3C3f2uDPP+TM8f88yqOnSDcwDA2K2+hfNrWzx+dfndWkG2uy+d6o9ctOq99foi29fqH6yyMm/fk7r7Kb3GnRmTc/63qvqB7Liy7vuT3KW7X9drjLTv7lMzfMn3jqndP1VVt9+gXfPsBz501fajJ22/cq3C3X15d/9rd/9kkgdu0GbYpwjtgIXr7o8meVyGEWRruXGS70vynAyh1Teq6r1V9VNVtXro/ry8tbtftFGB7j49w7ewK26RdW7NmASPj5vadUGGb6TXXbG0uy9P8vgM387OXFXdOcN1XvGq7t5pADf5+f3q1K67V9W9Zt2+Gfpikp9eq4O7jl9Kcr2p7R9dK+xbwzMzjJZbseZcL1V1nQyh3YozJ+e4fKPKu/u8JI/N8G11Msz78pObaBcAjNVBq7bX6xuuZ/Wtn6vrG5M3dvdLt1B+uq91XpLv7+4N+4Q9LOLx2CTfnOyqXHOqj+GN+fcDj5x6/fXuft/O6p46x1Z/D2CvJbQDlqK7X5vk3hkm1d2Za2eYy+MlST5bVT9TGywnOiO/vcly/7xq+87rlHtIhrnvVvx1d395Z5VPRvn99SbbslU/s2r7mVs49mW5ukOYXPPb1DF56c46uSsmCzz8r6ld7+nuf93Msd3dSf5oatdtq+o71ij6qAwB74rnbrZz2t3/keH23xVjvu4AsDOr7yTYalizuvyi787Yit/ZbMFJCHaXqV1/2N2bGoXY3V9J8vdTu9brKyyyH3iDyZeWwBYJ7YCl6e5Tu/u+GYbZ/2WuubLsWg5N8idJ/m6OK2h+M8l7Nll29Qism65ZapgDb9rrttCerZTdiulbD07t7k1P/jwJmT40tes+M2vV7L1xC2Xvlh3D1a1e+9W/N2tdl+nr3klevxvn+E6dYAD2Ir3zIhuWn/eXurvq/CTv3UL51beH7k5/5PCqOmqNMvPuB35y6vUB2XEaEWCTrB4LLF13vzeTjsxk3o17Z1iR825JjsvaXzD8YIa5z352Dk36zPQcZztx/qrt9W7fXb3M/albaM8pWyi7KVV1syTTo8A+V1XbtljN9Oi1b9/dNs3JldlxHridWd3p/NoWr8vqAG2t6zJ9ji8luVFV3WiNcuuZvqX6Ohkmkf7cFo4HgLG4eNX29dYstb7V5Xc2t9yyfHQyIn+zpvsKVyb55hb7I6vP9e1JzlrZWFA/8PVJXpSrV4R9WlXdP8MovTdu5o4TQGgHjMxkAYYzkvxFklTVIUm+P8M8Y6uDr5+pqpd390dm3IzVQdxGVs9Jd+11yk0vGHBBd2/6HN19flVdmB1HgO2ub1u1/ajJY1fdeDeOnafzNpo3cA2rr8urd/P8a12X6XPMInC78QzqAIBlWB3aXXeLx68uP9bQbqsLbEz3Fa6V5NO7ef7V/ZG59wO7+wtV9evZccqZu00eqapPJPl/GUYFvrO7P78b54e9lttjgVHr7vO6+xUZRtw9Z40iPz+H0252wYKtmF7NbFcWlrhgVg2ZmHXINtaJn7faeZ/rdamq/TPb8PUa5wCAPcjqLzFvssXjV09LspUvXhdpVP2RBdSfJJks6vYTSa6xWm6SozPMI/zKJP9VVR+sqv816SsBE0I7YI/Qg2dlx4l1k+TBy2jPLpheGXS90XgbmfW8ZbvShn3BrK/L6rl15nHdxzp/DwDszJmrto/Y7IFVdd3sGNqd393nzKRVy7cn9kfW1N1/meH22Z9N8s6sv9jI3TLcaXNqVd1uQc2D0RPaAXuaP1q1fXhVbXX+k2X4xtTrG25l9duq2i/rz5W3q1Z/4/mb3V2785hx+5Zl9XW51W5el8dPV9bdlyS5ZGrXu3f3unf3u+Z8TQBgXlYv6LWVOXK37aSuPdl0f+SsGfQVXrFB/cmc+4HdfX53/2l3PzDJIUlOSPL0JG9Nctmq4ndI8o6q2uqoS9grCe2APc1H19i3lUn8l+W/pl5fJztO/rszt8nVk/jOylfWOAeLuS7TqyS77gDsy05ftX2PLRy7uuwZu9mWMZnujxwxh5Xil9YP7O7Luvv/dfcLu/shGUZL/lx2DBIPT/L/LapNMGZCO2BPs9Z8c7Oe720ePrhq+/5bOPZ+s2xIknT39iTTq3Z911ZG/83ZVlZXm7WTV20/aM7nuGVVHT2HcwDAnuDk7Djf2923EFDdd9X222bTpP82lv7Ifkm+a5aVj6kf2N0XdvefZFh4bvqaP3wZ7YGxEdoBe5rVc1xc1N1jXSls2jtXbZ+0hWO3UnYr3jH1+rAk3zOn82zV6tskZj3KcCPvzY7zD/5wVc36/G9ftf34GdcPAHuE7r4sO4Zt188Q3mxoMp/do6d2XZHkX2bbuh37I3PoD2xkEX2FUfUDu/u9ST47tWvbkpoCoyK0Axaqqm5eVTffjSqesGr7XbtR18J090eTfHhq172r6od2dlxV/XCSe82pWS9Ztf3CkcwPuHrlt1ss6sTdfXGSv5nadWRmf3vG/8mOcxz+fFW5TRaAfdWrV20/eROjvp6QYW60FW/u7lmvHLu0/kiGL3s/NbX9g1V1wozPMcZ+4PTdM5evWwr2IUI7YNGOSfLZqnpBVd1sKwdW1aOTPGnV7tWryY7Z81dt/2VVrbv6bVWdmGEVrbno7vdlx29y75TkNVV1/c3WUYOHbfVnuROfXLU901tCNuG52bGj+Jyq+rGtVFBVh0x+X6+huy9I8rtTuw5M8uaqutUWz3FcVX3nVo4BgBF6fZL/mNq+Z5JfWK9wVW1L8rypXZ3kN+fQrqX1R7r7yiTPmdpVSV5fVXfZSj1V9R1V9YB1zjHXfmBVPb6qjtpCXccmufPUrtXXH/ZJQjtgGQ5M8itJvlBVb6iqR1fVTdcrXFXHVNWfZxihdK2pt07JNb+dHa3ufn2SN0ztOjDJ26rqNVX1/VV1bFXdoaoeWVV/l2FFrQOTfCDJ2XNq1knZcTLiRyQ5pap+ZL05Zapqv6q6U1U9K8NKbW9McuNZNai7P5vkC1O7fqyqXlRV9510PrdNPWa+slh3fy7DhMgr9kvyyqr6u406y1V1/UnH9eVJPp+NR+i9MMm7p7Zvk+TUqvqVqlr3WlbVkVX1s1X17iSnJhHaATBXq/7d/e9HdhzpliQ3WafshiPUursz9Aun5zP7vap6xuQ22Om23C/DVBY3nNr9qu4+bVc/3wbes2r7xVX1C1V116r69lWf8aBZn7y7X5Ud+7k3TfKBqnpeVR2+3nFVdbNJYPamDMHXQzY4zTz7gY9P8pmq+seqemxVHbpBfQ/L0O+dzif+doN2wz6jhr8jARZj8m3f6vndVnwmwyqrX8+w4MSNktw+yRFrlP1CkvtPAp71zrU9yco3fO/u7gfMouyq47Yl+dzUrt/s7mdvUP4GGeZu2ezqaOckuWuGgGelfe/q7nW/7d3qZ6mqeyZ5c67Z4bo0QzD0pSSXJLlBkpsnOTbDnDPTjunuT+zks2xaVf1Kkhdsougru/vxq459V65e6OOs7t62i214XpJfXeOtL2cYEXBOhs7lIUlulWFF4OnO5r939z03qP+mSf41O36rnAy/+x9Lsj3JhRmC2xtn+LOwOtx+Unevvr0FAGamqnb3P4yb6ldNQqBnr9r9tQzTi3wzydEZ+iDTTktywmR6i5mrqn/JxqHXipO6+xWrjp2+btfor2zy/NfLEIqttTDWp5J8Osl5Sa6bod98dJJbrir3wu5++gbnmEs/cFV/bMXnJm3+RpIrM/Rrjss1+zcfSnLv7v7Weu2GfcX+y24AsM85N0Mot9YIqe+YPHbm7UmeOFn5ao/S3RdU1Xcn+eMkj9tJ8VOSPLq7z1o1x8hMF97o7pMnt1m+NkNAuOK62dx8epdOHrP0O5O2/MCM69207n5GVZ2e5E8zdFRX3CKbm9fmGxu92d1fq6p7J3lpkh+demu/DLeo3GlnTcw159sBgD3VczIsPvX0XP0l2E2TfO865d+f5AfnFdhN/K8MI8DuMMdzrKu7L6mq78kwQv/J2fGOk9tOHjtz3k7Osch+4K0mj428K8mjBHYwcHsssFDd/R8ZAo8HJnlxhm9Pr9zEoZdmmPPk4d194p4Y2K3o7gu6+8cyzNnyp0k+nmHi3YszfGv6hiSPTHKPqc85fRvIzIOayS2hd8uwEtt7k+yso3RxhlXanpTksFn/PLr7yu7+wSQnJnl5ko9mCMGumOV5NtGOV2VYvew3M4x825mzMsxDeGKSh26i/m929+MydJJfm50HslcmOTnJs5Lcurtfs4k2AcDo9eDXMvQR35kdb5edtj1DsHe/7p7X9CErbfpihqkofjzJ6zKMErsgw6j4hZj0iZ6WYcT9yzN8Ab7hIRn6TS9Mcsfu3umdC3PqBz4xw23P78owUm9nTs7wJeYDu3vDLz5hX+L2WGDpqurAXP1t4c2SHDx564IMHZPTk5yxr37jNlmgYPo24Bd391PnfM6Dk9w7yeFJDk1y7Qy3an45Q8j4ye5eaIA2BlX17RkCtptkuA3ligy/p5/L8Dv6hQ0O30z9+ye5e5JbZ7ju18/QMT4nw7w0Z3T3TEdaAsAYVdWRGQKzw5NcL8kXM0yl8u+9D/8ntqr2y3BL6TEZ+go3yHD78DcyhIqn727oNet+YFVdO0Po+B2TOg/K1XcMbE9ySnd/eXfaDHsroR3AyFXV45L89dSux3W3yXkBAAD2Ym6PBRi/J67a/uBSWgEAAMDCCO0ARqyqfjTJfad2faS7P7Ws9gAAALAYQjuABaqqO1fVS6rq2zZR9nEZFjWY9sfzaRkAAABjYk47gAWqqu9M8qEMq4D+a5K3Jjk1yVczTMh7kwwLEfxQhlW8pv1bkgfvy5MvAwAA7CuEdgALNBXabdV/JHlId39pxk0CAABghNweC7BY30xy6RbKX5HkZUlOENgBAADsO4y0A1iwqjooyUOS3D/JnZNsS3JokusmuSjJOUk+keSdSV7b3duX0lAAAACWRmgHAAAAACPj9lgAAAAAGBmhHQAAAACMjNAOAAAAAEZGaAcAAAAAIyO0AwAAAICREdoBAAAAwMgI7QAAAABgZIR2AAAAADAyQjsAAAAAGBmhHQAAAACMjNAOAAAAAEZGaAcAAAAAIyO0AwAAAICREdqRJKmqV1XVq5bdDgCAPY1+FAAwD/svuwGMxtHHH3/88Ul+ZB6Vb9++PUmybdu2eVTPBlz75XDdl8e1Xx7XfnkWdO1rnpXv4fSj9lKu/XK47svj2i+Pa788Y+5HGWkHAAAAACMjtAMAAACAkRHaAQAAAMDICO0AAAAAYGSEdgAAAAAwMkI7AAAAABgZoR0AAAAAjIzQDgAAAABGRmgHAAAAACMjtAMAAACAkRHaAQAAAMDICO0AAAAAYGSEdgAAAAAwMkI7AAAAABgZoR0AAAAAjIzQbgaq6uCq+h9V9b+r6l+q6utV1ZPH0TOo/wZV9VtV9fGq+mZVnVNV76iqx8yi/QAAAACMy/7LbsBe4kFJ3jCPiqvq25K8J8mtJrsuSnKDJA9M8sCqekl3P2ke5wYAAABgOYy0m52vJvnnJL+Z5CdnUWFVVZJ/yBDYbU9yn+4+OMnBSX45yVVJfrqqnjiL8wEAAAAwDkbazcYbu/sfVzaqatuM6n1EkntkCOce2d2nJUl3X5rkRVV1yyRPTvKcqnpld18+o/MCAAAAsERG2s1Ad185p6ofO3l++0pgt8rvJOkkt8hwuywAAAAAewGh3bg9YPL81rXe7O6zk5w+2RTaAQAAAOwl3B47UlV1syQ3mWyevkHRM5LcIcntN1nvR9Z56+jLL78827dv33Qbt+Kcc86ZS73snGu/HK778rj2y+PaL88irv22bdvmfo6x04/a97j2y+G6L49rvzyu/fKMuR9lpN14HTb1+osblFt577ANygAAAACwBzHSbryuP/X6kg3KfXPyfNBmKu3uu661v6o+csABBxw/72/RfUu/PK79crjuy+PaL49rvzyu/XzpR+27XPvlcN2Xx7VfHtd+ecZ47YV241VTr3tprWCP8sif+/Q19t328G8kST519hUzPdcb/vg2M61vT7DW9V3PvK77IuyLP1sAxmEr/9Yuwp787/mezHVfnkVfe/1O2JjbY8froqnXB25QbuW9izYoAwAAAMAeRGg3XtPz2N1yg3Ir731pjm0BAAAAYIGEdiPV3V9L8vXJ5rEbFF1ZNfaM+bYIAAAAgEUR2o3bOyfPJ671ZlUdnqsDvXcspEUAAAAAzJ3QbtxePXn+7qq68xrvPyXDghVfytUBHwAAAAB7OKHdjFTVTVYeSW409dYh0+9V1X6rjuvJ49lrVPt/k/x7hp/TG6rqnpNjrlNVT03y5Em5Z3X35TP/UAAAAAAsxf7LbsBe5Gvr7P/Aqu1bJdm+mQq7u6vqMUneMznuA1V1UZLr5uqf3Uu6+2Vbby4AAAAAY2Wk3ch19xeSHJfkeUk+kSGsuzDD7bA/2N1PWmLzAAAAAJgDI+1mpLtrXsd19wVJfm3yAAAAAGAvZ6QdAAAAAIyM0A4AAAAARkZoBwAAAAAjI7QDAAAAgJER2gEAAADAyAjtAAAAAGBkhHYAAAAAMDJCOwAAAAAYGaEdAAAAAIyM0A4AAAAARkZoBwAAAAAjI7QDAAAAgJER2gEAAADAyAjtAAAAAGBkhHYAAAAAMDJCOwAAAAAYGaEdAAAAAIyM0A4AAAAARkZoBwAAAAAjs/+yGwDsmR75c59edhOYkz39Z3vbw7+RJPnU2VfstOwb/vg2824OAADALjHSDgAAAABGRmgHAAAAACMjtAMAAACAkRHaAQAAAMDICO0AAAAAYGSEdgAAAAAwMkI7AAAAABgZoR0AAAAAjIzQDgAAAABGRmgHAAAAACMjtAMAAACAkRHaAQAAAMDICO0AAAAAYGSEdgAAAAAwMkI7AAAAABgZoR0AAAAAjIzQDgAAAABGRmgHAAAAACMjtAMAAACAkRHaAQAAAMDICO0AAAAAYGSEdgAAAAAwMkI7AAAAABgZoR0AAAAAjIzQDgAAAABGRmgHAAAAACMjtAMAAACAkRHaAQAAAMDICO0AAAAAYGSEdgAAAAAwMvsvuwHsG/7sNV9Nknzq7CuW3BKAqz3y5z697CYs1Bv++DbLbgKwC/SjgL3VntQXW3Y/6pQHnbCwcx3/jvct7FxszEg7AAAAABgZoR0AAAAAjIzQDgAAAABGRmgHAAAAACMjtAMAAACAkRHaAQAAAMDICO0AAAAAYGSEdgAAAAAwMkI7AAAAABgZoR0AAAAAjIzQDgAAAABGRmgHAAAAACMjtAMAAACAkRHaAQAAAMDICO0AAAAAYGSEdgAAAAAwMkI7AAAAABgZoR0AAAAAjIzQDgAAAABGRmgHAAAAACMjtAMAAACAkRHaAQAAAMDICO0AAAAAYGSEdgAAAAAwMkI7AAAAABgZod0MVdUtquoPqurMqrq0qr5SVW+sqgftZr2PrKo3VdWXquqKqrqwqk6rqhdU1c1n1X4AAAAAxkFoNyNVdackH0vyC0m+PcllSW6S5GFJ/rWqnr4Lde5XVX+b5PVJHprkFkkuSXK9JHdO8itJzqiqu83kQwAAAAAwCvsvuwF7g6q6XpJ/SnJokm/jrdoAACAASURBVFOTPK67T6+qGyR5ZpKnJnl+VZ3S3W/bQtVPTPLYyes/SPK87v5qVe2f5EFJ/jzJkUleU1W37e6rZvSRAAAAgCRPOOlWOf9FP58z33Lq3M5x0R3unCQ592Mfnds52PMYaTcbP5XkqCQXJXl4d5+eJN19QXc/Lck/Tso9f4v1/sjk+Z3d/eTu/uqk3m9191uT/Pjk/VsnudPufAAAAAAAxkNoNxsro+Fe3d1nr/H+iybPx1fV0Vuod2W+ulPWef8jU6+vv4V6AQAAABgxod1uqqqDk9x1svnWdYqdnOT8yesHbqH67ZPnu6zz/sp5L0tyxhbqBQAAAGDEzGm3+45JUpPXp69VoLuvqqpPJrl7kttvoe6XJfmeJA+sqt9L8vw15rRLkud09zc2U2FVfWSdt46+/PLLs3379i00b/NufsjFc6mXnXPtl8N1Xx7Xfn3z+jt+xTnnnDPX+lnfIq79tm3b5n6OsdOP2ve49svhui+Pa7+2vmi/fPGGh+eiO8xvGvnLbvltc6t7q+bdZxybMfejjLTbfYdNvf7iBuVW3jtsgzI76O7XJfm1JFcmeXKSr1TVBUkuTfKWJBcmOam7n7elFgMAAAAwakba7b7pueQu2aDcNyfPB22x/ucnOSvJSyfnOnjVuW9SVfttduXY7r7rWvur6iMHHHDA8fP6Fv0r5301SfKps280l/rZOdd+OVz35XHtr2lRI6WMyFoe136+9KP2Xa79crjuy+Pa7+iEg47KLc8/O5csYGXXg0aweuy+2p8Y4+c20m731c6L7GLFw3x5b0zyt0nemeQeGUK7bUl+OskNMixy8ap5tQEAAACAxRPa7b6Lpl5fb4NyB65RfmdenOShSd7e3Q/v7g9290XdfVZ3vzTJI5N0kh+qqu/dUqsBAAAAGC2h3e6bnsfulhuUW3nvS5uptKpukOSkyebvr1Wmu9+T5JTJ5iM2Uy8AAAAA4ye0232fyDDaLUmOXatAVe2X5HaTzTM2We9tklxr8vpzG5T77OR52ybrBQAAAGDkhHa7qbsvTPLhyeaJ6xS7R5IbTl6/Y5NVTy8sceQG5Y6aPF+4yXoBAAAAGDmh3Wy8evL82Ko6bI33nzZ5/kh3f3KTdX4iyaWT1z+5VoGqOj7J8ZPNf99kvQAAAACMnNBuNl6a5KwMK7u+qapunwyrv1bVbyd51KTcM1YfWFU9eTx7en93X5Lkryebj6yql1XVEZNjrltVj0jyj0n2T3JBklfM/FMBAAAAsBT7L7sBe4PuvmQSor0jw8i306vqgiQHZQhGO8kzuvttW6z6qUlun+SEJD+R5Ceq6uIMq9SuBK4XJvmB7v767n8SAAAAAMbASLsZ6e6PJrlDkj/MsDjEdZKck+TNSU7s7hfsQp0XJXlAkickeVuSr03qvSTJx5L8XpI77kIYCAAAAMCIGWk3Q9395SS/OHls9pjayftXJvmryQMAAACAfYCRdgAAAAAwMkI7AAAAABgZoR0AAAAAjIzQDgAAAABGRmgHAAAAACMjtAMAAACAkRHaAQAAAMDICO0AAAAAYGSEdgAAAAAwMkI7AAAAABgZoR0AAAAAjIzQDgAAAABGZv9lNwAA9lVPOOlWy24CAMAeaZH9qAdf+Np8/C2nLux8sEJoBwBL8ISTbpX7/dsvLfakd/2jxZ4PAGAOnnDSrfLgC1+bJLn8Q++f+/kEdiyL0A4AluDYQ87KmYvuAL7lhLlWf9Ed7pwkOfdjH53reTbj+He8b6nnP+VB873W05b9WQFg0Y495Kxc/m/zD+v2VYvsxyzb2PtR5rQDAAAAgJER2gEAAADAyAjtAAAAAGBkhHYAAAAAMDJCOwAAAAAYGaEdAAAAAIyM0A4AAAAARkZoBwAAAAAjI7QDAAAAgJER2gEAAADAyAjtAAAAAGBkhHYAAAAAMDJCOwAAAAAYGaEdAAAAAIyM0A4AAAAARkZoBwAAAAAjI7QDAAAAgJER2gEAAADAyAjtAAAAAGBkhHYAAAAAMDJCOwAAAAAYGaEdAAAAAIyM0A4AAAAARkZoBwAAAAAjI7QDAAAAgJER2gEAAADAyAjtAAAAAGBkhHYAAAAA67j1Q+6y7CawjxLaAQAAAHuM0887atlNgIUQ2gEAAADAyAjtAAAAAGBkhHYAAAAAMDJCOwAAAAAYGaEdAAAAAIyM0A4AAAAARkZoBwAAAAAjI7QDAAAAgJER2gEAAADAyAjtAAAAAGBkhHYAAAAAMDJCOwAAAAAYGaEdAAAAAIyM0A4AAAAARkZoBwAAAAAjI7QDAAAAgJER2gEAAADAyAjtAAAAAGBkhHYAAAAAMDJCOwAAAAAYGaEdAAAAAIyM0A4AAAAARkZoBwAAAAAjI7QDAAAAgJER2gEAAADAyAjtAAAAAGBkhHYAAAAAMDL7L7sBALviuHtuW3YTNnTotYfvRA484sglt2TrTjt5+7KbAADM0b7Wj9K3AfZUQjtgly2rw3f8MZVjDzlr4ec9/byjNl22Lxqejzqo5tSaedqmc7sAf/OBI/PLv/GzCzvfx//3nyzsXADs3DKDs+OPGXf/ZPb9qG0zqmdz9KPm75SPd4591JNz2Oc/uJDzXf6h9y/kPLCa0A7Yo6wEdov6B3raYflgvnTE3TdV9pyrzk2SHHrIPFs0H8feKxHczd9pJ2/Pb9/zMQs73+P+/O457yd/fGHnW7ZTHnTCspsAMDorYd0yvvxMtvYF6CwtOqQ87eSFnm6fNPRTt+X4YxbzO/XguyW3TnLmW05dyPlghdAOAJZkkcHo8cfcKvd7yF10NgGAvcYpH++FnOfYe909hxptxxJYiGKGquoWVfUHVXVmVV1aVV+pqjdW1YNmUPfNquq5VfXRqjq/qi6qqk9X1Wuq6hGzaD8AAAAA42Ck3YxU1Z2S/FuSQye7LkhykyQPS/LQqnpGd79gF+v+viR/m+RGk12XJLkyyXdMHjdN8n93vfUAAAAAjImRdjNQVddL8k8ZArtTk9yhu2+YIWT73SSV5PlV9d27UPd9k7xhUtffJ7ljdx/Y3QdPzveoJP88kw8CAAAAwCgYaTcbP5XkqCQXJXl4d5+dJN19QZKnVdWtk3x/kucnedtmK62q6yb5qyQHJPnz7v6p6fe7+9wMgR4AAAAAexEj7WbjsZPnV68Edqu8aPJ8fFUdvYV6/2eGRWq+keSpu9E+AAAAAPYgQrvdVFUHJ7nrZPOt6xQ7Ocn5k9cP3EL1K2HgP3T3RbvQPAAAAAD2QEK73XdMhjnrkuT0tQp091VJPjnZvP1mKq2qSnKPyeb7qur4qnp9VX1tsjLtZ6rqT6rqqN1pPAAAAADjY0673XfY1OsvblBu5b3DNigz7eZJbjB5fWySv0hy7STfTHJFhttmfybJY6vq4d393s1UWlUfWeetoy+//PJs3759k83bmpsfcvFc6mXn5nntD7324nP/vig556pz863LlvPX1/nnnrupchdfvGf/zh967eS2h39j2c3YJf6+WVtftF++eMPDc9EdrprbOS675bfNrW7Wt3379pxzzjlzP8+2bdvmfo6x04/a9+yN/ahk6EstQ39zk+UuW077ZmVP7UMle9bfN4v8M3TOuefmMv2ovdLY+1FG2u2+60+9vmSDciv/RB20yXoPmXr9/yX5SpITkxw0WTn2Pkk+leSGSf6hqm60yXoBAAAAGDkj7XZf7bzILpkOVCvJj3b3u1d2dPf7q+oxSU5LcrMkP5GrF7xYV3ffda39VfWRAw444Ph5fYv+lfO+miT51NmyxWWZx7U/8IgjZ17nzhx1UOXQQ5LDLv7Mws+dJPvf+MZbKn/oFsuPxTmfPDKfOnt+3yQugr9vdnTCQUflluefnUs+9tG5n+ugBZyDq03/22003HzpR+279qZ+VJIceshOCs7Jl/fb2sw+ddCeORPQnt6HSvaMv28W+Wfo0Bsnh+pH7ZXG3o8y0m73TS8Qcb0Nyh24RvnN1vvR6cBuRXf/Z5K3TzYfvMl6AQAAABg5od3um57H7pYblFt570ubrPcrSa6cvP7kBuVW3jtik/UCAAAAMHJCu933iSQ9eX3sWgWqar8kt5tsnrGZSrv7siRnrmxu5pDN1AsAAADA+AntdlN3X5jkw5PNE9cpdo8MC0YkyTu2UP1K2aM3KLPy3llbqBcAAACAERPazcarJ8+PrarD1nj/aZPnj3T3Rre6rvY3k+c7V9UDVr9ZVXdM8qDJ5j9voV4AAAAARkxoNxsvzTDS7eAkb6qq2ydJVR1cVb+d5FGTcs9YfWBV9eTx7NXvdfcHkrxhsvk3VfWgqqrJcfdK8g8ZfoZnJXn5bD8SAAAAAMuy/7IbsDfo7kuq6hEZbmc9PsnpVXVBkoMyhGqd5Bnd/bZdqP7xGRaZ+M4MK8V+s6quzBAQJsPCFo/o7m/u3qcAAAAAYCyMtJuR7v5okjsk+cMkn01ynSTnJHlzkhO7+wW7WO8FSe6d5KlJPpJhRdn9Myxo8YIkd56cGwAAAIC9hJF2M9TdX07yi5PHZo+pTZS5IsmLJw8AAAAA9nJG2gEAAADAyAjtAAAAAGBkhHYAAAAAMDJCOwAAAAAYGaEdAAAAAIyM1WMBAACYu2MPOWtT5c656twkyaGH7P45Tz/vqN2vBGBJhHYAW3DY5z+4qXLfumz46/Wwiz8zz+bMxZeOuPuymwAAe7Xj7rktSXL8MbXwc282ONtbLPrznn7eUTnuntty2snbF3refcnKnx/YFwjtAAAAFmwZgd2KzX4JuSx78pefOSI5JUcuuxULI0CD+TKnHQAAAACMjNAOAAAAAEZGaAcAAAAAIyO0AwAAAICREdoBAAAAwMgI7QAAAABgZIR2AAAAADAyQjsAAAAAGBmhHQAAAACMjNAOAAAAAEZGaAcAAAAAI7P00K6qfqSq3lBV/1lVp1XVa6rqEZs89tiquqqqvjXvdgIAAADAouy/rBNX1Q2S/N8k91v11h2T/GBVfSjJ47r705upbtbtAwAAAIBlWeZIu1cluX+GwK2SnJvkwqntuyU5paoeubQWAgAAAMASLCW0q6rvSfLQJJ3k/Unu1N037e5Dkhyf5A0ZgrvrJ/k/VXXSMtoJAAAAAMuwrJF2PzZ5/nSSE7v7YytvdPdp3f3oJD+c5OIk10ryF1X184tvJgAAAAAs3rJCu3tkGGX3+919yVoFuvvvk9wnydkZRt39flX96uKaCAAAAADLsazQ7haT5w9vVKi7/yPJfZOcmSG4+62qeu6c2wYAAAAAS7Ws0G5l1dqdrvra3dszrDB7xqT806vq9+bXNAAAAABYrmWFdl+dPB+1mcLd/aUMK82eliG4+4Wqemk2EfoBAAAAwJ5mWaHd6ZPn+232gO4+J8l3Jfn3DGHdTyR5yeybBgAAAADLtazQ7n0ZgrfHVNWm29Dd5yd5cJJ3T46/13yaBwAAAADLs6zQ7l8mzzdP8uitHNjdFyf53iRvidtjAQAAANgLLSW06+5Tkrw3yWeTPG4Xjr80ySOSvH7GTQMAAACApdt/50Xmo7vvv5vHX5HkMTNqDgAAAACMxtxG2lXV8+ZVNwAAAADszeZ5e+zTq+rP5lg/AAAAAOyV5j2n3U9W1auramm34QIAAADAnmYRYdr/THLDqnr0ZAGJXVZV1d09o3YBM3D8MYtfxPmwz38wSXL5h96/sHMecLd7L+xcAMC+4dhDzlp2EwAYsXmGdu9Pcu8kneQhSd5WVQ/r7gt2pbKqeliS5ye54+yaCOyq4+65LY+713/9d4C2SIsM63b1nFfe8PDhuPPPnkdz5uqwJMcfc1ROO3nZLVmM4+65bdlNWAj/MQQYl2MPOWsp/ahkOX2prdCP2jMsuw+1jMEDsGjzDO0enOQfknxfhuDuPkneVVXf091f22wlVXXXJC9KslurzQKz9bh7/VcOff3v5/JlN4S5WVZH7LSTty/sXMvubAKwbzr+mFrqF59nvuXUhZ97Ky66w1VJkks+9tGZ1Hfrh9xlJvVs1rGHnLXH9jEOvfYwg9aBRxy55JZsbNGB3WGf/6D/97AUc5vTbnIr7COSvDrJyp+o45K8t6qO2NnxVXVUVb0qyb9nCOzE6AALMPZv3wEAAPYFc12Ioruv7O4fTfJHGUK3TnLbJO+rqtutdUxVHVJVv5PkE0l+aN5tBAAAAICxWUgg1t2/mOTZuTq4OyLDiLu7rpSpqmtX1VOTnJnkl5JcZ+XwyXEfTvLdi2gvAAAAACzTIlaPTZJ093Oq6msZRt0lyU2S/FtVfX+G+Tqfm+TIXB3srYR1n0jyG939ukW1FQAAAACWaWGhXZJ0959V1blJ/npy7oOTvH3y9sqcdSth3eeT/GaSV3T3VYtsJwAAAAAs00JDuyTp7r+vqoOSvCxXB3SZen1ukucn+ZPuvmzR7QMAAACAZVtoaFdVN07ya0melCGkS3YM7l6b5Ce6+8JFtgsAAAAAxmQhC1FU1fWr6plJPpvkyUmuu/JWrp7DrpJ8b5K7L6JNAAAAADBWcw3tJivC/mKGsO5ZSW4w/XaS9yV5RpIrMwR3ByV5U1U9ap7tAgAAAIAxm1toV1UnJfl0khcnuWl2HFH3qSSP6u77dfcLkjwqyaWT96+T5O+r6onzahsAAAAAjNk8R9r9ZZIjcnVYlyRfT/JzSY7t7n9cKdjdb8pwa+yFk7LXSvKSqnr6HNsHAAAAAKO0kDntMoyie16S7+juP+3uK1cX6O73JHlghmBvZUTec6vqRQtqIwAAAACMwrxDu07yiiS37e5f39mqsN19SpL7JflCrg7unlJVL6+qRQWMAPu0A+5272U3AQAAYJ83zyDsbUnu0t1P6O6zN3tQd38yyQkZ5r1LhuDux5O8rqoOmH0zAQAA9n6+mAPYs8wttOvuh3T3f+7isZ/PENydMrX7fyR5yyzaBuy+0887atlNAABgF9z6IXdZdhMA2ITR3nLa3eckeUCSd2cYbVdJ7r/MNgEAAADAIow2tEuS7r4oyUOSvHHZbQEAAACARRl1aJck3X1Zkkcl+dtltwUAAAAAFmH/ZTdgM7r7yiQ/VlXnLrstAAAAADBvox9pN627n7zsNgAAAADAvO1RoR0AAAAA7AuEdgAAAAAwMkI7AAAAABgZoR0AAAAAjIzQDgAAAABGRmgHAAAAACOz/7IbAADLdPwxtewmAADskZbZjzr2kLMWd7ILF3cqmCa0A2Cft9BO35Ic9vkP5vJlNwIA2Ossqx912Oc/uLBzXf6h9+fMt5y6sPPBCqEdAPus44+pfSKwA2A8jrvntmU3IUly64fcZSHnEXTsvZbZj1pkYAfLZE47YJcIOgAAAGB+hHYAAAAAMDJCOwAAAAAYGaEdAAAAAIyM0A4AAAAARkZoBwAAAAAjI7QDAAAAgJER2gEAAADAyAjtZqiqblFVf1BVZ1bVpVX1lap6Y1U9aIbnuFZVfbiqevJ49qzqBgAAAGAchHYzUlV3SvKxJL+Q5NuTXJbkJkkeluRfq+rpMzrVzye564zqAgAAAOD/b+/eoyW76vvAf39S0yDRLQHiodYDtUNsBFJ4NGGwHcUoEGTGNmC0vOxJFE8exMGOvWzCY5aN85CNjQjYwQ8SR/Fa49iTkWdsxmDAHoGRGRiCFUCvBGGkILgKFqBACyS1EGqQ9vxR504Xzb2376Pqnn3rfj5rnVV1ztlnn12/rlvn1786dU6HFO1moKpOSfKOJGckuSHJha2105M8OskvJ6kkV1TVJVvczzlJXpfk9iR3bmnQAAAAAHRL0W42Xp7kvCRHkryotXZzkrTW7mmtvTrJ24d2V2xxP7+eZF8mZ/N9dYt9AQAAANApRbvZuGx4vKq1dscK6980PB6qqvM3s4OqenGS70/yrtbaOzbTBwAAMK4br10aewgA7BCKdltUVftz7Bpz716l2bVJ7h6eP28T+3hkkrckuT+Ts+wAAAAAWGCKdlv3lEyuWZckN6/UoLX2UJJbhtmnbmIfr0tybpLXt9Y+vYntAQAAANhB9ow9gAVwYOr5Z9dot7zuwBptvklVPTOTs+tuTfLGjQ1txf6uW2XV+UePHs3S0tJWd7GiJzzqvrn0y4nNK/aH76o8cPrZc+l7EXz5lEeNPYRNO/mBPWl1e8542Dj7/7azv7Sl7Tfynm9HTsrhh+7a0v52iq8/sCcPnn52jlz40Nz28cBZ58ytb1a3tLSUw4cPz30/Bw8enPs+eieP2n3mFft25KR85oFx/iv24Dbnb5s57sz6ePLZbXzNJz+wJ3ffdddoedRWPfLk9edF7UhGy6O+vs1/P/POoRJ51Fh6z6Ocabd1j5x6fv8a7b4yPO5bb8dVdVKSK5OcnOQnWmtHNz48AAAAAHYaZ9ptXZ24yab9eJJnJ/m91tqfzKLD1tqzVlpeVdft3bv30Ly+Rb/zy/89SXLrHY+eS/+c2Kxjf8ZjTsoZd6903xWmnbUDY7T34eflln3n5fDX2ij7v/WO2XyLuZ73/EX7zssZO/ekyA05cN8nc/TuO3L/x26a+772bcM+OGb62O1suPmSR+1es479RfvOy7ntwzPtc72ObnNuspXjzqyOJ2eds33nqux9+HnZ85jH5PAtT9y2fc7D4a+dePzn7avR8qgD931yW/e3XTlUIo/abr3nUc6027ojU89PWaPdqSu0X1VVnZXkF4b2r9zc0AAAAADYiRTttm76OnZnrdFued3n1tnvFUlOS/Ivk9xdVfumpxw7w2/v1DIAAAAAFoCi3dZ9Isnyb8guWKnBcG26Jw+zH19nv+cNj69Lcu8K0/L5yj8ztQwAAACABaBot0WttXuTfHSYfcEqzZ6T5PTh+TVzHxQAAAAAO5qi3WxcNTxeVlUHVlj/6uHxutbaLevpsLV2cWutVpuS3D40/bmpZQAAAAAsAEW72bgykyLa/iTvqqqnJklV7a+qNya5dGj32uM3rKo2TJdv12ABAAAA6NuesQewCFpr91fVSzL56euhJDdX1T1J9mVSGG1JXttae8+IwwQAAABgh3Cm3Yy01m5KcmGSX0vyqSQPT3I4yR8leUFr7Q0jDg8AAACAHcSZdjPUWvt8kp8apvVus6lr0bXWDm5mOwAAAAD650w7AAAAAOiMM+2ALbnt6hvGHkKXjlz4UJLk/o/dNPJINuHqG/JdL/xQLrj0FaPs/tBTvmVL27cjk++jLtp33gnbXvCo23PgMx/e0v52iqMf+ZC/V4A1POPbD37TsjMeNjmmnHruE2e6rwsedXty7+SzebvtxmPBdr7mJyU5kOSHv2PbdjlTh++6K0lyxmPW136sPGqMvx0Yg6IdAN/ktqtvyJPyK6Ps+28++zu3tP1nHpgc2s5tJ04ij/7ph3J0S3vbOXbjf9IA1mulgt28+TJlMU1yqOSMEYpKe7eYQyXJ14c86sB9nzxh26MfkUfBvCnaAbCiMZKTJ73wmTn6kQ/NJOnsmcQPAMcCZm0WZ589ePrZk77uvmPLfc2Tvx92C9e0AwAAAIDOKNoBAAAAQGcU7QAAAACgM4p2AAAAANAZRTsAAAAA6IyiHQAAAAB0RtEOAAAAADqjaAcAAAAAnVG0AwAAAIDOKNoBAAAAQGcU7QAAAACgM4p2AAAAANAZRTsAAACYkduuvmHsIQALQtEOAAAAADqjaAcAAAAAnVG0AwAAAIDOKNoBAAAAQGcU7QAAAACgM4p2AAAAANAZRTsAAAAA6IyiHQAAAAB0RtEOAAAAADqjaAcAAAAAnVG0AwAAAIDOKNoBAAAAQGcU7QAAAIAd4barbxh7CLBt9ow9AAAAAFgkYxSWnvTCZ277PhXQYL6caQcAAOxqN167NPYQYMsU0GDxKNoBAAAAQGcU7QAAAACgM4p2AAAAANAZRTsAAAAA6IyiHQAAAAB0RtEOAAAAADqjaAcAAAAAnVG0AwAAAIDOKNoBAAAAQGcU7QAAAACgM4p2AAAAANAZRTsAAAAA6IyiHQAAAAB0RtEOAAAAADqjaAcAAAAAnVG0AwAAAIDOKNoBAAAAQGcU7QAAAACgM4p2AAAAANAZRTsAAAAA6IyiHQAAAAB0RtEOAAAAADqjaAcAAAAAnVG0AwAAAIDOKNoBAAAAQGcU7QAAAACgM4p2AAAAANAZRTsAAAAA6MyesQcAAMtuu/qGPOmFz8zRj3xo0308ePrZSZKjd9+x7n0CACyCreY1Ry58KEly/8dumsVwgC1StGNb/NjfenyS5ODBg+MOZBdaWlpKMqfYv+bXk6svmn2/7GqSTYBvtJvyqJf+xH8dbd83Xrv0Tcu+7ewvJUluveOhme7rh7/jpDzphc/0xREAa/LzWAAAAADojKIdAAAAAHRG0Q4AAAAAOqNoBwAAAACdUbQDAAAAgM4o2gEAAABAZxTtAAAAAKAzinYAAAAA0BlFOwAAAADojKIdAAAAAHRG0Q4AAAAAOqNoBwAAAACdUbQDAAAAgM4o2gEAAABAZxTtZqiqzqyqX62q26rqq1V1Z1W9s6qev8n+HldVL6+q35/q876q+vOqektV/eVZvwYAAAAAxrdn7AEsiqp6WpI/TXLGsOieJI9N8n1JvreqXttae8MGu/1svvHf6EiSvUnOH6aXVdU/aK397pYGDwAAAEBXnGk3A1V1SpJ3ZFKwuyHJha2105M8OskvJ6kkV1TVJRvsek+SDyT5u0kOtNb2Jzk1yUVJbkzyiCS/MxQMAQAAAFgQinaz8fIk52VyJtyLWms3J0lr7Z7W2quTvH1od8UG+31ua+25rbXfaa19fujzwdbaf0xySZL/nklh75/M4kUAAAAA0AdFu9m4bHi8qrV2xwrr3zQ8Hqqq89fbaWvtA2us+0KSPx5mn7XePgEAAADon6LdFlXV/hwrmr17lWbXJrl7eP68Ge7+8PB48gz7BAAAAGBkinZb95RMrlmXJDev1KC19lCSW4bZDtB6agAAG+RJREFUp85w388dHj82wz4BAAAAGJm7x27dgannn12j3fK6A2u0WbeqekmSvzrM/tYGtrtulVXnHz16NEtLS1sd2ooOHz584kbMxbxjf+TCp8+1/53qgbPOGXsIu5bYj0fsx7G0tLQtx9mDBw/OfR+9k0fN37ed/aWxh/ANnvCo++bS7+G7Kg+cfnaOXPjQXPrf6RxPxiP24xH7cfSeRznTbuseOfX8/jXafWV43LfVHVbV2Un+3TD7jtba1VvtEwAAAIB+ONNu6+rETWa4s6p9mdyN9vFJbk/yso1s31pb8aYVVXXd3r17D837W3Tf0o9nXrG/62M3zaXfRbFPfEYj9uMR++01/fnuODtf8qj5u/WOr409hBXdesejZ9rfGY85KWfcfUfu93m5JseT8Yj9eMR+e/WeRznTbuuOTD0/ZY12p67QfkOq6hFJ/jCTn8V+Icl3t9a+uNn+AAAAAOiTot3WTV/H7qw12i2v+9xmdlJVe5O8NZO7z345ySWttVvW3goAAACAnUjRbus+kaQNzy9YqUFVnZTkycPsxze6g6rak+R3k3xvJmfqfU9r7caNDxUAAACAncA17baotXZvVX00ybOTvCDJH6zQ7DlJTh+eX7OR/oeC328nuTSTG128uLX2Z5sfMczWoWs+OPYQts31z79o7CEAAHPwtrd864rLl+8IPJfrHL3m15Or5RYArM6ZdrNx1fB4WVUdWGH9q4fH6zbyk9aqqkzuEvu3kxxNcmlr7X1bGikAAAAA3VO0m40rM7mT6/4k76qqpyZJVe2vqjdmcpZckrz2+A2rqg3T5Sv0+68yuTvs15P8YGvt6nkMHgAAAIC++HnsDLTW7q+ql2Ty09dDSW6uqnuS7MukMNqSvLa19p719llVT0zyiuVdJLmyqq5cYwxnbnb8AAAAAPRF0W5GWms3VdWFSX4myfclOTvJ4SQfTvLm1tqGrmWXbzwL8mFJnjCTgQIAAADQPUW7GWqtfT7JTw3TerepVZYvJVlxHQAAAACLzTXtAAAAAKAzinYAAAAA0BlFOwAAAADojKIdAAAAAHRG0Q4AAAAAOqNoBwAAAACdUbQDAAAAgM4o2gEAAABAZxTtAAAAAKAzinYAAAAA0BlFOwAAAADojKIdAAAAAHRG0Q4AAAAAOqNoBwAAAACdUbQDAAAAgM4o2gEAAABAZxTtAAAAAKAzinYAAAAA0BlFOwAAAADojKIdAAAAAHRG0Q4AAAAAOqNoBwAAAACdUbQDAAAAgM4o2gEAAABAZxTtAAAAAKAze8YeAACw+A5d88GxhwDsAG97y7eOPQSAXU/e1g9n2gEAAABAZxTtAAAAAKAzinYAAAAA0BlFOwAAAADojKIdAAAAAHRG0Q4AAAAAOqNoBwAAAACdUbQDAAAAgM4o2gEAAABAZxTtAAAAAKAzinYAAAAA0BlFOwAAAADojKIdAAAAAHRmz9gDAAAA2I0OXfPBsYewba5//kVjDwFgx3GmHQAAAAB0RtEOAAAAADqjaAcAAAAAnVG0AwAAAIDOKNoBAAAAQGcU7QAAAACgM4p2AAAAANAZRTsAAAAA6IyiHQAAAAB0RtEOAAAAADqjaAcAAAAAnVG0AwAAAIDOKNoBAAAAQGcU7QAAAACgM3vGHgDATnHomg+uu+3S0lKS5ODBg/MZzJxd//yLxh4CAACQjf0/hMXiTDsAAAAA6IyiHQAAAAB0RtEOAAAAADqjaAcAAAAAnVG0AwAAAIDOKNoBAAAAQGcU7QAAAACgM4p2AAAAANAZRTsAAAAA6IyiHQAAAAB0RtEOAAAAADqjaAcAAAAAnVG0AwAAAIDOKNoBAAAAQGcU7QAAAACgM4p2AAAAANAZRTsAAAAA6IyiHQAAAAB0RtEOAAAAADqjaAcAAAAAnVG0AwAAAIDOKNrNUFWdWVW/WlW3VdVXq+rOqnpnVT1/i/2eVlW/UFV/XlVfqarDVXVNVf3ArMYOAAAAQD8U7Wakqp6W5GNJfjLJX0ryQJLHJvm+JH9SVT+9yX7PSXJjkp9Ncn6SB5OcluR5SX6/qn5j66MHAAAAoCeKdjNQVackeUeSM5LckOTC1trpSR6d5JeTVJIrquqSDfZbSd6a5FuSLCX5a621/Un2J/lfkjyU5Eer6kdm9FIAAAAA6ICi3Wy8PMl5SY4keVFr7eYkaa3d01p7dZK3D+2u2GC/L0nynEyKcy9trX1o6PerrbU3Jfm1od3PV9XeLb4GAAAAADqhaDcblw2PV7XW7lhh/ZuGx0NVdf4m+n1va+3GFdb/UpKW5MxMfi4LAAAAwAJQtNuiqtqf5FnD7LtXaXZtkruH5xsprl28Vr9DgfDmTfQLAAAAQMcU7bbuKZlcsy45VkD7Bq21h5LcMsw+dT2dVtXjM7mRxar9Dj6+kX4BAAAA6N+esQewAA5MPf/sGu2W1x1Yo83c+62q61ZZdf7Ro0eztLS0nm427PDhw3PplxMT+3Hs9LgfufDpYw9h0x4465yxh7BrrRX7eR1fmNiOz5yDBw/OfR+9k0ftPmI/OxvJLRzLxyP245FHjafnPErRbuseOfX8/jXafWV43DdyvwAn9MR/8pqxh7BpywfdM844Y+SR7D5iD8BqNpJbOJ6MR+zHI/asRNFu6+rETbbcb5tVp621Z620vKqu27t376F5f4vuW/rxiP04xH08Yj8esR+P2M+XPGr3EvtxiPt4xH48Yj+eHmPvmnZbd2Tq+SlrtDt1hfbr7ffUVVttvF8AAAAAOqdot3XT15s7a412y+s+N3K/AAAAAHRO0W7rPpFjP1+9YKUGVXVSkicPsx9fqc3xWmtfSPLFtfodLN81dl39AgAAANA/Rbstaq3dm+Sjw+wLVmn2nCSnD8+v2UD371ur36o6O8cKehvpFwAAAICOKdrNxlXD42VVdWCF9a8eHq9rrd2yiX4vqaqV7pH+ykxuWPG5HCvwAQAAALDDKdrNxpVJbk+yP8m7quqpSVJV+6vqjUkuHdq99vgNq6oN0+Ur9PuHSf5TJv9Ob6uqbx+2eXhVvSrJK4Z2/6K1dnSWLwgAAACA8ewZewCLoLV2f1W9JJOfqB5KcnNV3ZNkXyYFt5bkta2192yw31ZVP5DkA0m+JcmfVdWRJI/IsX+7f9ta+80ZvRQAAAAAOuBMuxlprd2U5MIkv5bkU0kenuRwkj9K8oLW2hs22e9fJHlGktdnctOLPUnuzeTnsD/YWvuxrY8eAAAAgJ44026GWmufT/JTw7TebWodbe5J8rPDBAAAAMCCc6YdAAAAAHRG0Q4AAAAAOqNoBwAAAACdUbQDAAAAgM4o2gEAAABAZxTtAAAAAKAzinYAAAAA0BlFOwAAAADojKIdAAAAAHRG0Q4AAAAAOqNoBwAAAACdUbQDAAAAgM5Ua23sMdCBqjp8yimnPOYpT3nKXPo/evRokmTv3r1z6Z/Vif04xH08Yj8esR/PdsT++uuvv6q1dtncdrCDyaMWl9iPQ9zHI/bjEfvx9JxHKdqRJKmqTyc5LcnSnHZx/vD4iTn1z+rEfhziPh6xH4/Yj2c7Yv8JRbuVyaMWmtiPQ9zHI/bjEfvxdJtHKdqxLarquiRprT1r7LHsNmI/DnEfj9iPR+zHI/aLzb/veMR+HOI+HrEfj9iPp+fYu6YdAAAAAHRG0Q4AAAAAOqNoBwAAAACdUbQDAAAAgM4o2gEAAABAZ9w9FgAAAAA640w7AAAAAOiMoh0AAAAAdEbRDgAAAAA6o2gHAAAAAJ1RtAMAAACAzijaAQAAAEBnFO0AAAAAoDOKdmxIVZ1ZVb9aVbdV1Ver6s6qemdVPX+L/Z5WVb9QVX9eVV+pqsNVdU1V/cCsxr7TzTr2VfW4qnp5Vf3+VJ/3Df8Gb6mqvzzr17BTzet9f9w+Tq6qj1ZVG6bLZ9X3TjbP2FfV46vqF6vqpqq6u6qOVNV/rarfraqXzGL8O9kcP+9fWlXvqqrPVdXXqureqrqxqt5QVU+Y1fh3oqraX1UvrqrXVdX/XVVfnPpMOH8G/TvWjkweNR551HjkUeORR41HHrX9FjaPaq2ZTOuakjwtyReTtGG6O8mDw/OHkvz0Jvs9J8mnpvq9N8nXpuZ/Y+zXPvY0j9gfF+PluD8wNX9/kr819msfe5rX+36F/bziuH+Py8d+7WNP84x9ku9JctdU318Z/gaW59879utftNhn8kXhfzjufX5Pkq9PzR9O8uyxX/+Icf/+4+IzPZ2/xb4da8f/95VHLVDs5VHjxX6V/cijtjH28qjtj708al0xWsg8avTAmnbGlOSUJEvDG/L6JBcMy09L8ktTb9ZLNthvJbl22PbTSb5zWP6IJK+Z+nD7kbFjsICxb0nen+R/TnLmsOzkJH8tyQ3D+q8ledrYMVi02K+wn3OGD/6lJJ+PZHOusU/y13PsP1b/R5ILp9Y9JslLk7xy7BgsWuyTvHxq219J8vhh+Z4k353k9mHdJ5OcNHYcRor99ye5M8kfJbk8yY9kBsmmY+340xz/rvzbjhd7edRIsV9hP/KobYx95FGjxD7yqPXEaCHzqNEDa9oZU459e3VvkrNXWP+2Yf11G+x3uRr+YJJnrLD+zcP6zyXZO3YcFiz237XGuscNH3gtyW+NHYNFi/0a/bx46iB/+divfxFjPxxcPzlse+XYr7PHaY6xf/+w3Z+usv7iqcTqm44Hu2FKcvJx8wdnlGw61o7/byuPWrzYy6NGiv0a/cij5hx7edSosZdHnThGC5lHuaYd63XZ8HhVa+2OFda/aXg8tMHfiy/3+97W2o0rrF/+NuLMJM/bQL+LZC6xb619YI11X0jyx8Pss9bb5wKa1/v+/1dVL87kQPCu1to7NtPHgppX7H8oyZOSfCnJq7YwvkU2r9gvX2fl+lXWXzf1/JEb6HdhtNYenFPXjrXjk0eNRx41HnnUeORR45FHjWRR8yhFO06oqvbnWMLx7lWaXZvJb/WTjb1RL16r3+GD7uZN9LsQ5hz7Ezk8PJ48wz53jO2IfVU9MslbMrnuzU9udPtFNefYLx9039paO7KJ4S20Ocd+aXh85irrl/f7QJKPb6BfTuzi4dGxdgTyqPHIo8YjjxqPPGo88qiFdfHwOMqxVtGO9XhKJr/jTo69Gb9Ba+2hJLcMs09dT6dV9fgkj12r38Hyh866+l0wc4n9Oj13ePzYDPvcSbYj9q9Lcm6S17fWPr2J7RfVvD5zKslzhtkPVtWhqvqDqvrCcFevT1bVv66q87Yy+B1unu/73xwen1dVbx6OAamqPVX13Ul+e1j/8621L21s2KzGsbYL8qjxyKPGI48ajzxqPPKoBdPDsVbRjvU4MPX8s2u0W153YI0229HvIhklRsNt2v/qMPtbs+hzB5pr7KvqmZl8K3xrkjdubGgLb16xf0ImFwFOkgsy+abzpUlOzeRi4U9K8o+T3FRVf33do10sc3vft9b+ryQ/m8n1QF6R5M6quifJV5Ncncm1X/5+a+31GxoxJ+JYOz551HjkUeORR41HHjUeedTiGf1Yq2jHekz/Jv7+Ndp9ZXjcN3K/i2TbY1RVZyf5d8PsO1prV2+1zx1qbrGvqpOSXJnJT2Z+orV2dOPDW2jziv2jpp6/JpOLhL8gyb7W2v5M7vh3a5LTk7y1qh69zn4Xybw/c65I8neT3DfM78+xn449Msljh78PZsexdnzyqPHIo8YjjxqPPGo88qjFM/qx1j8o61EnbrLlftuc9rHTzSv2K++sal+Styd5fCa3DX/Zdu6/M/OM/Y8neXaS32ut/ckc97NTzSv208e8SvJ3WmvvbcNtn1prH0ryA0keyuRv4B/OaRw9m9v7frjOyzuT/Ick78vkJzb7M7mz149m8u39m5L87/Mawy7lWDs+edR45FHjkUeNRx41HnnU4hn9WKtox3pMX2T0lDXanbpC+/X2e+qqrTbe7yKZV+y/SVU9IskfZvJzji8k+e7W2hc3298CmEvsq+qsJL8wtH/l5oa28LbjM+em1tr7j2/QWvsvSd47zP7Ndfa7SOb5mfOvknxvJnfeelFr7cOttSOttdtba1dm8hObluR/qqr/cUOjZi2OteOTR41HHjUeedR45FHjkUctntGPtYp2rMf0b7fPWqPd8rrPjdzvItmWGFXV3iRvzeRuN19Ocklr7Za1t1p484r9FZl8E/Yvk9xdVfumpxz7Nmfv1LLdZl6xvzOT64Akxy4AvJLldeeus99FMpfYV9VpSf7+MPsrK7VprX0gyfXD7EvW0y/r4lg7PnnUeORR45FHjUceNR551OIZ/ViraMd6fCLHTgW9YKUGw2/nnzzMrusW0621LyRZ/gZyxX4Hy3dg2Y23rp5L7I/bfk+S383km5sjSb6ntXbjxoe6cOYV++U7ar0ukwvGHj89cVj/M1PLdpt5feY8kOS25dn1bLKefhfMvN7335pj11xZ6w5/nxoeD66zX07AsbYL8qjxyKPGI48ajzxqPPKoBdPDsVbRjhNqrd2b5KPD7AtWafacTC46miTXbKD7963V73Ax3+U/jo30uxDmHPvlg8ZvJ7k0kwtrvri19mebGOrCmXfsWd2cY7/c9vw12iyvu30D/S6EOcb+oannT1y11bH/jO3G/2TNk2PtiORR45FHjUceNR551HjkUQtr1GOtoh3rddXweFlVrXQb41cPj9dt8OcAy/1eUlVPX2H9KzM5zf1zOfbHstvMJfZVVZnc3exvJzma5NLW2m6N8WpmHvvW2sWttVptyrEE5+emlu1G8/rM+d+Gx6dX1cXHr6yqv5Lk+cPsH2+g30Uyj9h/IslXh+f/aKUGVXUoyaFh9j+ts1/Wx7F2fPKo8cijxiOPGo88ajzyqMUz7rG2tWYynXDK5EKaS5mc7ntdkqcOy/cneeOwvGVyDY/jt11ed/kK6yrJtcP6TyX59mH5w5O8KpPrJrQkPzJ2DBYw9m8e1n0tyUvGfp09TvOK/Qn2ubSZ7RZtmmfsk/zBsP4zmSSWNSz/jkyuw9KGfZ86dhwWKfZJrpxa/5tJzh2WPyKTa6/8t2Hd3UkeO3YcRoz/Y6emZ07F7NuPW3fSBmLvWDv+v6s8avFiL48aKfYn2OfSZrZbtGmesY88apTYRx613vgvXB41elBNO2dK8vRMfs+9/Ia+e+oN+lCSn15luxN98J8zvPmX292bSQK0PP8bY7/2sadZxz6T06qX1x1N8vm1prFf/yLFfh37W9rMdos4zfEz57QkH5lqd1+Se6bmP5vk6WO//kWLfZJ9Sf7fqTYtk+s/PTg1f09WSGJ303RcfNaaDq439sN6x9rx/23lUQsS+8ijRov9Ova3tJntFnGa42eOPGqE2Ecetd7YL1we5eexrFtr7aYkFyb5tUzesA9PcjjJHyV5QWvtDZvs9y+SPCPJ6zM59XdPJn8E70vyg621H9v66He2OcR++m//YUmecIJp15rX+54Tm+Nnzj1JvjOTb8auyyTZ2ZPJhWPfkEmiedOWX8AONo/Yt9aOJLk4yT9I8p4kXxj6vT/JxzI5a+WvtNbeM4OXwHEca8cnjxqPPGo88qjxyKPGI49aPGMea5dPZQUAAAAAOuFMOwAAAADojKIdAAAAAHRG0Q4AAAAAOqNoBwAAAACdUbQDAAAAgM4o2gEAAABAZxTtAAAAAKAzinYAAAAA0BlFOwAAAADojKIdAAAAAHRG0Q4AAAAAOqNoBwAAAACdUbQDAAAAgM4o2gEAAABAZxTtAAAAAKAzinYAAAAA0BlFOwAAAADojKIdAAAAAHRG0Q4AAAAAOqNoBwAAAACdUbQDAAAAgM4o2gEAAABAZxTtAAAAAKAzinYAAAAA0BlFOwAAAADojKIdAAAAAHRG0Q4AAAAAOqNoBwAAAACdUbQDAAAAgM4o2gEAAABAZxTtAAAAAKAzinYAAAAA0BlFOwAAAADojKIdAAAAAHRG0Q4AAAAAOqNoBwAAAACdUbQDAAAAgM4o2gEssKp6d1W1qell69zulKr64HHbvmHe4wUA6IU8ChhbtdbGHgMAc1JVT0tyQ459SfOZJN/aWntgjW32JHl7ku+dWvybrbV/NLeBAgB0Rh4FjM2ZdgALrLX2n5P8ztSic5P849XaV1Ul+ff5xkTz95L86DzGBwDQK3kUMDZn2gEsuKo6J8mtSU4ZFn0xyV9qrd27QttfTfKTU4veneTFrbWjcx8oAEBn5FHAmJxpB7DgWmt/keTNU4sem+RVx7erqn+eb0w0P5TkUokmALBbyaOAMTnTDmAXqKrTknwyyeOGRfdm8i3xF4f1P5bk30xt8p+TPLe19uVtHSgAQGfkUcBYnGkHsAu01u5J8nNTi/Yn+dkkqaofSvKWqXWfTHKJRBMAQB4FjMeZdgC7xHA3s5uTfNuw6IEkP5HJN8MPG5bdkeSi1trSCfp6VJJnJ/kfph4PDKvf31q7eJZjBwAYkzwKGIOiHcAuUlUvTfIHq6w+nOS7WmsfX0c/n05ycJXVkk0AYOHIo4Dt5uexALtIa+1tST64wqojSb5nPYnmoKae35nkXVsdGwBAz+RRwHbbM/YAANh2f5zkouOWvbS19uEN9PGWJJ9O8pHW2n9Lkqpy6jYAsOjkUcC2UbQD2EWq6vuS/PwKq87cSD+ttV+azYgAAHYGeRSw3fw8FmCXqKrvSvJ7WfkLm1+sqodv85AAAHYEeRQwBkU7gF2gqg4leWeSU4ZF9yV561STJyb5ye0eFwBA7+RRwFgU7QAWXFU9OcnVSU4bFh1NcmmSl2Vyp7Nlr62qx2zz8AAAuiWPAsakaAewwKrq3CTvSfK4YdFDSf5Oa+09rbV7klwx1fxRSf7pNg8RAKBL8ihgbIp2AAuqqh6bSaL5xKnFP95a+/2p+X+d5DPT66vqW7ZjfAAAvZJHAT1QtANYQFW1P5Ofcpw/tfifttb+7XS71tpXk/zc1KK9SV4//xECAPRJHgX0QtEOYMFU1SOSvCPJs6YWv7m19ourbPLvk3xiav6HqurZcxoeAEC35FFATxTtABZIVe1J8n8muXhq8e8kedVq27TWHkzyz6a7SfKmeYwPAKBX8iigN4p2AAuiqirJ/5rkxVOL35nkZa21tta2rbW3Jvno1KLnVtWLZj9KAID+yKOAHinaASyOX0nyw1PzH0jyg621r69z+585bv4NVXXyTEYGANA3eRTQnTrBlwYAsC5VtXxAeX9r7eIxxwIAsJPIo4CVONMOAAAAADqjaAcAAAAAndkz9gAA2Hmq6hlJnrHK6jOr6u8dt+zq1trn5zsqAID+yaOA9XJNOwA2rKouT/IvNrDJ32it/T/zGQ0AwM4hjwLWy89jAQAAAKAzzrQDAAAAgM440w4AAAAAOqNoBwAAAACdUbQDAAAAgM4o2gEAAABAZxTtAAAAAKAzinYAAAAA0BlFOwAAAADojKIdAAAAAHRG0Q4AAAAAOqNoBwAAAACdUbQDAAAAgM4o2gEAAABAZxTtAAAAAKAzinYAAAAA0BlFOwAAAADojKIdAAAAAHTm/wP3coFpZ4JaaQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 720x360 with 4 Axes>"
]
},
"metadata": {
"image/png": {
"height": 353,
"width": 630
},
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"n_cols = 2\n",
"fig = plt.figure(figsize=(5 * n_cols, 5))\n",
"grid = ImageGrid(\n",
" fig, 111,\n",
" nrows_ncols=(1, n_cols),\n",
" axes_pad=0.5,\n",
")\n",
"\n",
"# Decision function of first tree\n",
"for i, x in enumerate(np.vstack((xx.ravel(), yy.ravel())).T):\n",
" x = dict(enumerate(x))\n",
" y_pred[i] = model.predict_one(x, tree_num=0)\n",
"\n",
"ax = grid[0]\n",
"ax.grid(alpha=.5)\n",
"ax.contourf(xx, yy, y_pred.reshape(xx.shape), cmap=plt.cm.coolwarm, corner_mask=False)\n",
"ax.set_title('Single tree', pad=12)\n",
"ax.set_xlabel(r'$x_1$', labelpad=12)\n",
"ax.set_ylabel(r'$x_2$', labelpad=12)\n",
"ax.set_aspect('equal', 'box')\n",
"ax.spines['top'].set_visible(False)\n",
"ax.spines['right'].set_visible(False)\n",
"ax.set_xlim(-0.05, 1.05)\n",
"ax.set_ylim(-0.05, 1.05)\n",
"\n",
"# Overall decision function\n",
"for i, x in enumerate(np.vstack((xx.ravel(), yy.ravel())).T):\n",
" x = dict(enumerate(x))\n",
" y_pred[i] = model.predict_one(x)\n",
"ax = grid[1]\n",
"ax.grid(alpha=.5)\n",
"ax.contourf(xx, yy, y_pred.reshape(xx.shape), cmap=plt.cm.coolwarm, corner_mask=False)\n",
"ax.set_title(f'{len(model.trees)} trees', pad=12)\n",
"ax.set_xlabel(r'$x_1$', labelpad=12)\n",
"ax.set_aspect('equal', 'box')\n",
"ax.spines['top'].set_visible(False)\n",
"ax.spines['right'].set_visible(False)\n",
"ax.set_xlim(-0.05, 1.05)\n",
"ax.set_ylim(-0.05, 1.05)\n",
"\n",
"for ext in ('pdf', 'pgf'):\n",
" fig.savefig(f'figures/centered_moons.{ext}', bbox_inches='tight')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Us"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"model = FastTreesRegressor(n_trees=10, height=7, padding=0.2, predict_method='leaf', seed=42)\n",
"\n",
"for x, y in zip(X, Y):\n",
" \n",
" # Convert to a dictionary\n",
" x = dict(enumerate(x))\n",
" \n",
" model.fit_one(x, y)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x360 with 4 Axes>"
]
},
"metadata": {
"image/png": {
"height": 353,
"width": 630
},
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"from mpl_toolkits.axes_grid1 import ImageGrid\n",
"import numpy as np\n",
"from sklearn import ensemble\n",
"from sklearn import tree\n",
"\n",
"n_cols = 2\n",
"fig = plt.figure(figsize=(5 * n_cols, 5))\n",
"grid = ImageGrid(\n",
" fig, 111,\n",
" nrows_ncols=(1, n_cols),\n",
" axes_pad=0.5,\n",
")\n",
"\n",
"# Decision function of first tree\n",
"for i, x in enumerate(np.vstack((xx.ravel(), yy.ravel())).T):\n",
" x = dict(enumerate(x))\n",
" y_pred[i] = model.predict_one(x, tree_num=0)\n",
"\n",
"ax = grid[0]\n",
"ax.grid(alpha=.5)\n",
"ax.contourf(xx, yy, y_pred.reshape(xx.shape), cmap=plt.cm.coolwarm, corner_mask=False)\n",
"ax.set_title('Single tree', pad=12)\n",
"ax.set_xlabel(r'$x_1$', labelpad=12)\n",
"ax.set_ylabel(r'$x_2$', labelpad=12)\n",
"ax.set_aspect('equal', 'box')\n",
"ax.spines['top'].set_visible(False)\n",
"ax.spines['right'].set_visible(False)\n",
"ax.set_xlim(-0.05, 1.05)\n",
"ax.set_ylim(-0.05, 1.05)\n",
"\n",
"# Overall decision function\n",
"for i, x in enumerate(np.vstack((xx.ravel(), yy.ravel())).T):\n",
" x = dict(enumerate(x))\n",
" y_pred[i] = model.predict_one(x)\n",
"ax = grid[1]\n",
"ax.grid(alpha=.5)\n",
"ax.contourf(xx, yy, y_pred.reshape(xx.shape), cmap=plt.cm.coolwarm, corner_mask=False)\n",
"ax.set_title(f'{len(model.trees)} trees', pad=12)\n",
"ax.set_xlabel(r'$x_1$', labelpad=12)\n",
"ax.set_aspect('equal', 'box')\n",
"ax.spines['top'].set_visible(False)\n",
"ax.spines['right'].set_visible(False)\n",
"ax.set_xlim(-0.05, 1.05)\n",
"ax.set_ylim(-0.05, 1.05)\n",
"\n",
"for ext in ('pdf', 'pgf'):\n",
" fig.savefig(f'figures/moons.{ext}', bbox_inches='tight')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Hoeffding"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
"from creme import compat\n",
"from creme import ensemble\n",
"from skmultiflow import trees\n",
"\n",
"model = compat.SKL2CremeClassifier(\n",
" trees.HoeffdingTree(leaf_prediction='mc', grace_period=100, split_confidence=1e-2),\n",
" n_features=2,\n",
" classes=[False, True]\n",
")\n",
"model = ensemble.BaggingClassifier(model, n_models=10)\n",
"\n",
"for x, y in zip(X, Y):\n",
" x = dict(enumerate(x))\n",
" model.fit_one(x, y)"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x360 with 4 Axes>"
]
},
"metadata": {
"image/png": {
"height": 353,
"width": 630
},
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"n_cols = 2\n",
"fig = plt.figure(figsize=(5 * n_cols, 5))\n",
"grid = ImageGrid(\n",
" fig, 111,\n",
" nrows_ncols=(1, n_cols),\n",
" axes_pad=0.5,\n",
")\n",
"\n",
"# Decision function of first tree\n",
"for i, x in enumerate(np.vstack((xx.ravel(), yy.ravel())).T):\n",
" x = dict(enumerate(x))\n",
" y_pred[i] = model[0].predict_proba_one(x)[True]\n",
"\n",
"ax = grid[0]\n",
"ax.grid(alpha=.5)\n",
"ax.contourf(xx, yy, y_pred.reshape(xx.shape), cmap=plt.cm.coolwarm, corner_mask=False)\n",
"ax.set_title('Single tree', pad=12)\n",
"ax.set_xlabel(r'$x_1$', labelpad=12)\n",
"ax.set_ylabel(r'$x_2$', labelpad=12)\n",
"ax.set_aspect('equal', 'box')\n",
"ax.spines['top'].set_visible(False)\n",
"ax.spines['right'].set_visible(False)\n",
"ax.set_xlim(-0.05, 1.05)\n",
"ax.set_ylim(-0.05, 1.05)\n",
"\n",
"# Overall decision function\n",
"for i, x in enumerate(np.vstack((xx.ravel(), yy.ravel())).T):\n",
" x = dict(enumerate(x))\n",
" y_pred[i] = model.predict_proba_one(x)[True]\n",
" \n",
"ax = grid[1]\n",
"ax.grid(alpha=.5)\n",
"ax.contourf(xx, yy, y_pred.reshape(xx.shape), cmap=plt.cm.coolwarm, corner_mask=False)\n",
"ax.set_title(f'{len(model)} trees', pad=12)\n",
"ax.set_xlabel(r'$x_1$', labelpad=12)\n",
"ax.set_aspect('equal', 'box')\n",
"ax.spines['top'].set_visible(False)\n",
"ax.spines['right'].set_visible(False)\n",
"ax.set_xlim(-0.05, 1.05)\n",
"ax.set_ylim(-0.05, 1.05)\n",
"\n",
"for ext in ('pdf', 'pgf'):\n",
" fig.savefig(f'figures/hoeffding_moons.{ext}', bbox_inches='tight')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Mondrian"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [],
"source": [
"import sys\n",
"\n",
"sys.path.append('scikit-garden')"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [],
"source": [
"import skgarden\n",
"\n",
"model = compat.SKL2CremeClassifier(\n",
" skgarden.MondrianTreeClassifier(),\n",
" n_features=2,\n",
" classes=[False, True]\n",
")\n",
"model = ensemble.BaggingClassifier(model, n_models=10)\n",
"\n",
"for x, y in zip(X, Y):\n",
" x = dict(enumerate(x))\n",
" model.fit_one(x, y)"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x360 with 4 Axes>"
]
},
"metadata": {
"image/png": {
"height": 353,
"width": 630
},
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"n_cols = 2\n",
"fig = plt.figure(figsize=(5 * n_cols, 5))\n",
"grid = ImageGrid(\n",
" fig, 111,\n",
" nrows_ncols=(1, n_cols),\n",
" axes_pad=0.5,\n",
")\n",
"\n",
"# Decision function of first tree\n",
"for i, x in enumerate(np.vstack((xx.ravel(), yy.ravel())).T):\n",
" x = dict(enumerate(x))\n",
" y_pred[i] = model[0].predict_proba_one(x)[True]\n",
"\n",
"ax = grid[0]\n",
"ax.grid(alpha=.5)\n",
"ax.contourf(xx, yy, y_pred.reshape(xx.shape), cmap=plt.cm.coolwarm, corner_mask=False)\n",
"ax.set_title('Single tree', pad=12)\n",
"ax.set_xlabel(r'$x_1$', labelpad=12)\n",
"ax.set_ylabel(r'$x_2$', labelpad=12)\n",
"ax.set_aspect('equal', 'box')\n",
"ax.spines['top'].set_visible(False)\n",
"ax.spines['right'].set_visible(False)\n",
"ax.set_xlim(-0.05, 1.05)\n",
"ax.set_ylim(-0.05, 1.05)\n",
"\n",
"# Overall decision function\n",
"for i, x in enumerate(np.vstack((xx.ravel(), yy.ravel())).T):\n",
" x = dict(enumerate(x))\n",
" y_pred[i] = model.predict_proba_one(x)[True]\n",
" \n",
"ax = grid[1]\n",
"ax.grid(alpha=.5)\n",
"ax.contourf(xx, yy, y_pred.reshape(xx.shape), cmap=plt.cm.coolwarm, corner_mask=False)\n",
"ax.set_title(f'{len(model)} trees', pad=12)\n",
"ax.set_xlabel(r'$x_1$', labelpad=12)\n",
"ax.set_aspect('equal', 'box')\n",
"ax.spines['top'].set_visible(False)\n",
"ax.spines['right'].set_visible(False)\n",
"ax.set_xlim(-0.05, 1.05)\n",
"ax.set_ylim(-0.05, 1.05)\n",
"\n",
"for ext in ('pdf', 'pgf'):\n",
" fig.savefig(f'figures/mondrian_moons.{ext}', bbox_inches='tight')"
]
},
{
"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.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment