updated Jupyter notebooks for 1.17
diff --git a/community-artifacts/Deep-learning/Load-model-architecture-v1.ipynb b/community-artifacts/Deep-learning/Load-model-architecture-v1.ipynb
deleted file mode 100644
index 8e04b3c..0000000
--- a/community-artifacts/Deep-learning/Load-model-architecture-v1.ipynb
+++ /dev/null
@@ -1,752 +0,0 @@
-{
- "cells": [
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# Load model architecture\n",
-    "This utility function loads model architectures and weights into a table for use by deep learning algorithms in Keras.  \n",
-    "\n",
-    "The model architecture loader was added in MADlib 1.16.\n",
-    "\n",
-    "## Table of contents\n",
-    "\n",
-    "<a href=\"#define_model_arch\">1. Define model architecture</a>\n",
-    "\n",
-    "<a href=\"#load_model_arch\">2. Load model architecture</a>\n",
-    "\n",
-    "<a href=\"#load_model_wts\">3. Load model weights</a>\n",
-    "* <a href=\"#load_model_wts_madlib\">3a. Load weights from previous MADlib run</a>\n",
-    "* <a href=\"#load_model_wts_keras1\">3b. Load weights from Keras using a PL/Python function</a>\n",
-    "* <a href=\"#load_model_wts_keras2\">3c. Load weights from Keras using psycopg2</a>\n",
-    "\n",
-    "<a href=\"#delete_model\">4. Delete model</a>"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 1,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "/Users/fmcquillan/anaconda/lib/python2.7/site-packages/IPython/config.py:13: ShimWarning: The `IPython.config` package has been deprecated since IPython 4.0. You should import from traitlets.config instead.\n",
-      "  \"You should import from traitlets.config instead.\", ShimWarning)\n",
-      "/Users/fmcquillan/anaconda/lib/python2.7/site-packages/IPython/utils/traitlets.py:5: UserWarning: IPython.utils.traitlets has moved to a top-level traitlets package.\n",
-      "  warn(\"IPython.utils.traitlets has moved to a top-level traitlets package.\")\n"
-     ]
-    }
-   ],
-   "source": [
-    "%load_ext sql"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 2,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "u'Connected: fmcquillan@madlib'"
-      ]
-     },
-     "execution_count": 2,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "# Greenplum Database 5.x on GCP for deep learning (PM demo machine)\n",
-    "#%sql postgresql://gpadmin@35.239.240.26:5432/madlib\n",
-    "        \n",
-    "# PostgreSQL local\n",
-    "%sql postgresql://fmcquillan@localhost:5432/madlib"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 3,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>version</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>MADlib version: 1.16, git revision: rc/1.16-rc1, cmake configuration time: Mon Jul  1 17:45:09 UTC 2019, build type: Release, build system: Darwin-16.7.0, C compiler: Clang, C++ compiler: Clang</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'MADlib version: 1.16, git revision: rc/1.16-rc1, cmake configuration time: Mon Jul  1 17:45:09 UTC 2019, build type: Release, build system: Darwin-16.7.0, C compiler: Clang, C++ compiler: Clang',)]"
-      ]
-     },
-     "execution_count": 3,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%sql select madlib.version();\n",
-    "#%sql select version();"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"define_model_arch\"></a>\n",
-    "# 1. Define model architecture\n",
-    "\n",
-    "Import Keras libraries"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 4,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "Using TensorFlow backend.\n"
-     ]
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Couldn't import dot_parser, loading of dot files will not be possible.\n"
-     ]
-    }
-   ],
-   "source": [
-    "import keras\n",
-    "from keras.models import Sequential\n",
-    "from keras.layers import Dense"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Define model architecture"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 5,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "_________________________________________________________________\n",
-      "Layer (type)                 Output Shape              Param #   \n",
-      "=================================================================\n",
-      "dense_1 (Dense)              (None, 10)                50        \n",
-      "_________________________________________________________________\n",
-      "dense_2 (Dense)              (None, 10)                110       \n",
-      "_________________________________________________________________\n",
-      "dense_3 (Dense)              (None, 3)                 33        \n",
-      "=================================================================\n",
-      "Total params: 193\n",
-      "Trainable params: 193\n",
-      "Non-trainable params: 0\n",
-      "_________________________________________________________________\n"
-     ]
-    }
-   ],
-   "source": [
-    "model = Sequential()\n",
-    "model.add(Dense(10, activation='relu', input_shape=(4,)))\n",
-    "model.add(Dense(10, activation='relu'))\n",
-    "model.add(Dense(3, activation='softmax'))\n",
-    "    \n",
-    "model.summary()"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 6,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "'{\"class_name\": \"Sequential\", \"keras_version\": \"2.1.6\", \"config\": [{\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"dense_1\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"dtype\": \"float32\", \"activation\": \"relu\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 10, \"batch_input_shape\": [null, 4], \"use_bias\": true, \"activity_regularizer\": null}}, {\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"dense_2\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"relu\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 10, \"use_bias\": true, \"activity_regularizer\": null}}, {\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"dense_3\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"softmax\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 3, \"use_bias\": true, \"activity_regularizer\": null}}], \"backend\": \"tensorflow\"}'"
-      ]
-     },
-     "execution_count": 6,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "model.to_json()"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "'{\"class_name\": \"Sequential\", \"keras_version\": \"2.1.6\", \"config\": [{\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"dense_1\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"dtype\": \"float32\", \"activation\": \"linear\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 2, \"batch_input_shape\": [null, 3], \"use_bias\": true, \"activity_regularizer\": null}}, {\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"new_dense\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"linear\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 10, \"use_bias\": true, \"activity_regularizer\": null}}], \"backend\": \"tensorflow\"}'\n",
-    "        "
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"load_model_arch\"></a>\n",
-    "# 2. Load model architecture\n",
-    "\n",
-    "Load into model architecture table:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 7,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>model_id</th>\n",
-       "        <th>model_arch</th>\n",
-       "        <th>model_weights</th>\n",
-       "        <th>name</th>\n",
-       "        <th>description</th>\n",
-       "        <th>__internal_madlib_id__</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>{u'class_name': u'Sequential', u'keras_version': u'2.1.6', u'config': [{u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_1', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'dtype': u'float32', u'activation': u'relu', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 10, u'batch_input_shape': [None, 4], u'use_bias': True, u'activity_regularizer': None}}, {u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_2', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'activation': u'relu', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 10, u'use_bias': True, u'activity_regularizer': None}}, {u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_3', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'activation': u'softmax', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 3, u'use_bias': True, u'activity_regularizer': None}}], u'backend': u'tensorflow'}</td>\n",
-       "        <td>None</td>\n",
-       "        <td>Sophie</td>\n",
-       "        <td>A simple model</td>\n",
-       "        <td>__madlib_temp_86175082_1566932966_2506754__</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, {u'class_name': u'Sequential', u'keras_version': u'2.1.6', u'config': [{u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_1', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'dtype': u'float32', u'activation': u'relu', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 10, u'batch_input_shape': [None, 4], u'use_bias': True, u'activity_regularizer': None}}, {u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_2', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'activation': u'relu', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 10, u'use_bias': True, u'activity_regularizer': None}}, {u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_3', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'activation': u'softmax', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 3, u'use_bias': True, u'activity_regularizer': None}}], u'backend': u'tensorflow'}, None, u'Sophie', u'A simple model', u'__madlib_temp_86175082_1566932966_2506754__')]"
-      ]
-     },
-     "execution_count": 7,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS model_arch_library;\n",
-    "SELECT madlib.load_keras_model('model_arch_library',  -- Output table,\n",
-    "                               \n",
-    "$$\n",
-    "{\"class_name\": \"Sequential\", \"keras_version\": \"2.1.6\", \"config\": [{\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"dense_1\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"dtype\": \"float32\", \"activation\": \"relu\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 10, \"batch_input_shape\": [null, 4], \"use_bias\": true, \"activity_regularizer\": null}}, {\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"dense_2\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"relu\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 10, \"use_bias\": true, \"activity_regularizer\": null}}, {\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"dense_3\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"softmax\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 3, \"use_bias\": true, \"activity_regularizer\": null}}], \"backend\": \"tensorflow\"}\n",
-    "$$\n",
-    "::json,         -- JSON blob\n",
-    "                               NULL,                  -- Weights\n",
-    "                               'Sophie',              -- Name\n",
-    "                               'A simple model'       -- Descr\n",
-    ");\n",
-    "\n",
-    "SELECT * FROM model_arch_library;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Load another model architecture:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 8,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n",
-      "2 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>model_id</th>\n",
-       "        <th>model_arch</th>\n",
-       "        <th>model_weights</th>\n",
-       "        <th>name</th>\n",
-       "        <th>description</th>\n",
-       "        <th>__internal_madlib_id__</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>{u'class_name': u'Sequential', u'keras_version': u'2.1.6', u'config': [{u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_1', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'dtype': u'float32', u'activation': u'relu', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 10, u'batch_input_shape': [None, 4], u'use_bias': True, u'activity_regularizer': None}}, {u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_2', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'activation': u'relu', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 10, u'use_bias': True, u'activity_regularizer': None}}, {u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_3', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'activation': u'softmax', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 3, u'use_bias': True, u'activity_regularizer': None}}], u'backend': u'tensorflow'}</td>\n",
-       "        <td>None</td>\n",
-       "        <td>Sophie</td>\n",
-       "        <td>A simple model</td>\n",
-       "        <td>__madlib_temp_86175082_1566932966_2506754__</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>{u'class_name': u'Sequential', u'keras_version': u'2.1.6', u'config': [{u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_1', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'dtype': u'float32', u'activation': u'relu', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 10, u'batch_input_shape': [None, 4], u'use_bias': True, u'activity_regularizer': None}}, {u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_2', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'activation': u'relu', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 10, u'use_bias': True, u'activity_regularizer': None}}, {u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_3', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'activation': u'softmax', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 3, u'use_bias': True, u'activity_regularizer': None}}], u'backend': u'tensorflow'}</td>\n",
-       "        <td>None</td>\n",
-       "        <td>Maria</td>\n",
-       "        <td>Also a simple model</td>\n",
-       "        <td>__madlib_temp_82870028_1566932968_1094668__</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, {u'class_name': u'Sequential', u'keras_version': u'2.1.6', u'config': [{u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_1', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'dtype': u'float32', u'activation': u'relu', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 10, u'batch_input_shape': [None, 4], u'use_bias': True, u'activity_regularizer': None}}, {u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_2', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'activation': u'relu', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 10, u'use_bias': True, u'activity_regularizer': None}}, {u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_3', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'activation': u'softmax', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 3, u'use_bias': True, u'activity_regularizer': None}}], u'backend': u'tensorflow'}, None, u'Sophie', u'A simple model', u'__madlib_temp_86175082_1566932966_2506754__'),\n",
-       " (2, {u'class_name': u'Sequential', u'keras_version': u'2.1.6', u'config': [{u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_1', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'dtype': u'float32', u'activation': u'relu', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 10, u'batch_input_shape': [None, 4], u'use_bias': True, u'activity_regularizer': None}}, {u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_2', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'activation': u'relu', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 10, u'use_bias': True, u'activity_regularizer': None}}, {u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_3', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'activation': u'softmax', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 3, u'use_bias': True, u'activity_regularizer': None}}], u'backend': u'tensorflow'}, None, u'Maria', u'Also a simple model', u'__madlib_temp_82870028_1566932968_1094668__')]"
-      ]
-     },
-     "execution_count": 8,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT madlib.load_keras_model('model_arch_library',  -- Output table,\n",
-    "                               \n",
-    "$$\n",
-    "{\"class_name\": \"Sequential\", \"keras_version\": \"2.1.6\", \"config\": [{\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"dense_1\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"dtype\": \"float32\", \"activation\": \"relu\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 10, \"batch_input_shape\": [null, 4], \"use_bias\": true, \"activity_regularizer\": null}}, {\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"dense_2\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"relu\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 10, \"use_bias\": true, \"activity_regularizer\": null}}, {\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"dense_3\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"softmax\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 3, \"use_bias\": true, \"activity_regularizer\": null}}], \"backend\": \"tensorflow\"}\n",
-    "$$\n",
-    "::json,         -- JSON blob\n",
-    "                               NULL,                  -- Weights\n",
-    "                               'Maria',               -- Name\n",
-    "                               'Also a simple model'  -- Descr\n",
-    ");\n",
-    "\n",
-    "SELECT * FROM model_arch_library;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"load_model_wts\"></a>\n",
-    "# 3.  Load model weights\n",
-    "\n",
-    "<a id=\"load_model_wts_madlib\"></a>\n",
-    "## 3a. Load weights from previous MADlib run\n",
-    "\n",
-    "Use UPDATE to load directly into the table.  For example, if 'model_data' are the weights in the output table 'iris_model' from a previous run of 'madlib_keras_fit()' :"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 9,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>count</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1L,)]"
-      ]
-     },
-     "execution_count": 9,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "UPDATE model_arch_library SET model_weights = model_data FROM iris_model WHERE model_id = 2;\n",
-    "\n",
-    "-- Check weights loaded OK\n",
-    "SELECT COUNT(*) FROM model_arch_library WHERE model_weights IS NOT NULL;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"load_model_wts_keras1\"></a>\n",
-    "## 3b. Load weights from Keras using a PL/Python function \n",
-    "We need to flatten then serialize the weights to store as a PostgreSQL binary data type.  Byte format is more efficient on space and memory compared to a numeric array.  The model weights will be de-serialized when passed to Keras functions."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 13,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>count</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(2L,)]"
-      ]
-     },
-     "execution_count": 13,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "CREATE OR REPLACE FUNCTION load_weights() RETURNS VOID AS\n",
-    "$$\n",
-    "from keras.layers import *\n",
-    "from keras import Sequential\n",
-    "import numpy as np\n",
-    "import plpy\n",
-    "\n",
-    "# create model\n",
-    "model = Sequential()\n",
-    "model.add(Dense(10, activation='relu', input_shape=(4,)))\n",
-    "model.add(Dense(10, activation='relu'))\n",
-    "model.add(Dense(3, activation='softmax'))\n",
-    "\n",
-    "# get weights, flatten and serialize\n",
-    "weights = model.get_weights()\n",
-    "weights_flat = [w.flatten() for w in weights]\n",
-    "weights1d =  np.concatenate(weights_flat).ravel()\n",
-    "weights_bytea = weights1d.tostring()\n",
-    "\n",
-    "# load query\n",
-    "load_query = plpy.prepare(\"\"\"SELECT madlib.load_keras_model(\n",
-    "                        'model_arch_library',\n",
-    "                        $1, $2, $3, $4)\n",
-    "                    \"\"\", ['json','bytea', 'text', 'text'])\n",
-    "plpy.execute(load_query, [model.to_json(), weights_bytea, \"Ella\", \"Model x\"])\n",
-    "$$ language plpythonu;\n",
-    "\n",
-    "-- Call load function\n",
-    "SELECT load_weights();\n",
-    "\n",
-    "-- Check weights loaded OK\n",
-    "SELECT COUNT(*) FROM model_arch_library WHERE model_weights IS NOT NULL;"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 14,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "3 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>model_id</th>\n",
-       "        <th>name</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>Sophie</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>Maria</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>Ella</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, u'Sophie'), (2, u'Maria'), (3, u'Ella')]"
-      ]
-     },
-     "execution_count": 14,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT model_id, name from model_arch_library ORDER BY model_id;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"load_model_wts_keras2\"></a>\n",
-    "## 3c. Load weights from Keras using psycopg2\n",
-    "Psycopg is a PostgreSQL database adapter for the Python programming language.  As above we need to flatten then serialize the weights to store as a PostgreSQL binary data type.\n",
-    "\n",
-    "Note that the psycopg2.Binary function will increase the size of the Python object for the weights, so if your model is large it might be better to use a PL/Python function as in 3b. above."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 15,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>count</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(3L,)]"
-      ]
-     },
-     "execution_count": 15,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "import psycopg2 as p2\n",
-    "#conn = p2.connect('postgresql://gpadmin@35.239.240.26:5432/madlib')\n",
-    "conn = p2.connect('postgresql://fmcquillan@localhost:5432/madlib')\n",
-    "cur = conn.cursor()\n",
-    "\n",
-    "from keras.layers import *\n",
-    "from keras import Sequential\n",
-    "import numpy as np\n",
-    "\n",
-    "# create model\n",
-    "model = Sequential()\n",
-    "model.add(Dense(10, activation='relu', input_shape=(4,)))\n",
-    "model.add(Dense(10, activation='relu'))\n",
-    "model.add(Dense(3, activation='softmax'))\n",
-    "\n",
-    "# get weights, flatten and serialize\n",
-    "weights = model.get_weights()\n",
-    "weights_flat = [w.flatten() for w in weights]\n",
-    "weights1d =  np.concatenate(weights_flat).ravel()\n",
-    "weights_bytea = p2.Binary(weights1d.tostring())\n",
-    "\n",
-    "query = \"SELECT madlib.load_keras_model('model_arch_library', %s,%s,%s,%s)\"\n",
-    "cur.execute(query,[model.to_json(), weights_bytea, \"Grace\", \"Model y\"])\n",
-    "conn.commit()\n",
-    "\n",
-    "# check weights loaded OK\n",
-    "%sql SELECT COUNT(*) FROM model_arch_library WHERE model_weights IS NOT NULL;"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 16,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "4 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>model_id</th>\n",
-       "        <th>name</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>Sophie</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>Maria</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>Ella</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>4</td>\n",
-       "        <td>Grace</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, u'Sophie'), (2, u'Maria'), (3, u'Ella'), (4, u'Grace')]"
-      ]
-     },
-     "execution_count": 16,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT model_id, name from model_arch_library ORDER BY model_id;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"delete_model\"></a>\n",
-    "# 4. Delete model"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 17,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n",
-      "3 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>model_id</th>\n",
-       "        <th>name</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>Maria</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>Ella</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>4</td>\n",
-       "        <td>Grace</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(2, u'Maria'), (3, u'Ella'), (4, u'Grace')]"
-      ]
-     },
-     "execution_count": 17,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT madlib.delete_keras_model('model_arch_library',   -- Output table\n",
-    "                                  1                      -- Model id\n",
-    "                                );\n",
-    "SELECT model_id, name from model_arch_library ORDER BY model_id;"
-   ]
-  }
- ],
- "metadata": {
-  "kernelspec": {
-   "display_name": "Python 2",
-   "language": "python",
-   "name": "python2"
-  },
-  "language_info": {
-   "codemirror_mode": {
-    "name": "ipython",
-    "version": 2
-   },
-   "file_extension": ".py",
-   "mimetype": "text/x-python",
-   "name": "python",
-   "nbconvert_exporter": "python",
-   "pygments_lexer": "ipython2",
-   "version": "2.7.10"
-  }
- },
- "nbformat": 4,
- "nbformat_minor": 1
-}
diff --git a/community-artifacts/Deep-learning/MADlib-Keras-MLP-v1.ipynb b/community-artifacts/Deep-learning/MADlib-Keras-MLP-v1.ipynb
deleted file mode 100644
index aa61065..0000000
--- a/community-artifacts/Deep-learning/MADlib-Keras-MLP-v1.ipynb
+++ /dev/null
@@ -1,3206 +0,0 @@
-{
- "cells": [
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# Multilayer Perceptron Using Keras and MADlib\n",
-    "\n",
-    "E2E classification example using MADlib calling a Keras MLP.\n",
-    "\n",
-    "Deep learning works best on very large datasets, but that is not convenient for a quick introduction to the syntax.  So in this workbook we use the well known iris data set from https://archive.ics.uci.edu/ml/datasets/iris to help get you started.  It is similar to the example in user docs http://madlib.apache.org/docs/latest/index.html\n",
-    "\n",
-    "For more realistic examples with images please refer to the deep learning notebooks at\n",
-    "https://github.com/apache/madlib-site/tree/asf-site/community-artifacts\n",
-    "\n",
-    "## Table of contents\n",
-    "\n",
-    "<a href=\"#class\">Classification</a>\n",
-    "\n",
-    "* <a href=\"#create_input_data\">1. Create input data</a>\n",
-    "\n",
-    "* <a href=\"#pp\">2. Call preprocessor for deep learning</a>\n",
-    "\n",
-    "* <a href=\"#load\">3. Define and load model architecture</a>\n",
-    "\n",
-    "* <a href=\"#train\">4. Train</a>\n",
-    "\n",
-    "* <a href=\"#eval\">5. Evaluate</a>\n",
-    "\n",
-    "* <a href=\"#pred\">6. Predict</a>\n",
-    "\n",
-    "<a href=\"#class2\">Classification with Other Parameters</a>\n",
-    "\n",
-    "* <a href=\"#val_dataset\">1. Validation dataset</a>\n",
-    "\n",
-    "* <a href=\"#pred_prob\">2. Predict probabilities</a>\n",
-    "\n",
-    "* <a href=\"#warm_start\">3. Warm start</a>\n",
-    "\n",
-    "<a href=\"#transfer_learn\">Transfer learning</a>\n",
-    "\n",
-    "* <a href=\"#load2\">1. Define and load model architecture with some layers frozen</a>\n",
-    "\n",
-    "* <a href=\"#train2\">2. Train transfer model</a>"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 1,
-   "metadata": {
-    "scrolled": false
-   },
-   "outputs": [
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "/Users/fmcquillan/anaconda/lib/python2.7/site-packages/IPython/config.py:13: ShimWarning: The `IPython.config` package has been deprecated since IPython 4.0. You should import from traitlets.config instead.\n",
-      "  \"You should import from traitlets.config instead.\", ShimWarning)\n",
-      "/Users/fmcquillan/anaconda/lib/python2.7/site-packages/IPython/utils/traitlets.py:5: UserWarning: IPython.utils.traitlets has moved to a top-level traitlets package.\n",
-      "  warn(\"IPython.utils.traitlets has moved to a top-level traitlets package.\")\n"
-     ]
-    }
-   ],
-   "source": [
-    "%load_ext sql"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 2,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "u'Connected: fmcquillan@madlib'"
-      ]
-     },
-     "execution_count": 2,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "# Greenplum Database 5.x on GCP (PM demo machine)\n",
-    "#%sql postgresql://gpadmin@35.184.232.200:5432/madlib\n",
-    "  \n",
-    "# Greenplum Database 5.x on GCP for deep learning (PM demo machine)\n",
-    "#%sql postgresql://gpadmin@35.239.240.26:5432/madlib\n",
-    "        \n",
-    "# PostgreSQL local\n",
-    "%sql postgresql://fmcquillan@localhost:5432/madlib"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 30,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>version</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>PostgreSQL 11.4 on x86_64-apple-darwin16.7.0, compiled by gcc (Homebrew gcc 5.2.0) 5.2.0, 64-bit</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'PostgreSQL 11.4 on x86_64-apple-darwin16.7.0, compiled by gcc (Homebrew gcc 5.2.0) 5.2.0, 64-bit',)]"
-      ]
-     },
-     "execution_count": 30,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "#%sql select madlib.version();\n",
-    "%sql select version();"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"class\"></a>\n",
-    "# Classification\n",
-    "\n",
-    "<a id=\"create_input_data\"></a>\n",
-    "# 1.  Create input data\n",
-    "\n",
-    "Load iris data set."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 4,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "Done.\n",
-      "150 rows affected.\n",
-      "150 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>id</th>\n",
-       "        <th>attributes</th>\n",
-       "        <th>class_text</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>[Decimal('5.1'), Decimal('3.5'), Decimal('1.4'), Decimal('0.2')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>[Decimal('4.9'), Decimal('3.0'), Decimal('1.4'), Decimal('0.2')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>[Decimal('4.7'), Decimal('3.2'), Decimal('1.3'), Decimal('0.2')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>4</td>\n",
-       "        <td>[Decimal('4.6'), Decimal('3.1'), Decimal('1.5'), Decimal('0.2')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>5</td>\n",
-       "        <td>[Decimal('5.0'), Decimal('3.6'), Decimal('1.4'), Decimal('0.2')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>6</td>\n",
-       "        <td>[Decimal('5.4'), Decimal('3.9'), Decimal('1.7'), Decimal('0.4')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>7</td>\n",
-       "        <td>[Decimal('4.6'), Decimal('3.4'), Decimal('1.4'), Decimal('0.3')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>8</td>\n",
-       "        <td>[Decimal('5.0'), Decimal('3.4'), Decimal('1.5'), Decimal('0.2')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>9</td>\n",
-       "        <td>[Decimal('4.4'), Decimal('2.9'), Decimal('1.4'), Decimal('0.2')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>10</td>\n",
-       "        <td>[Decimal('4.9'), Decimal('3.1'), Decimal('1.5'), Decimal('0.1')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>11</td>\n",
-       "        <td>[Decimal('5.4'), Decimal('3.7'), Decimal('1.5'), Decimal('0.2')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>12</td>\n",
-       "        <td>[Decimal('4.8'), Decimal('3.4'), Decimal('1.6'), Decimal('0.2')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>13</td>\n",
-       "        <td>[Decimal('4.8'), Decimal('3.0'), Decimal('1.4'), Decimal('0.1')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>14</td>\n",
-       "        <td>[Decimal('4.3'), Decimal('3.0'), Decimal('1.1'), Decimal('0.1')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>15</td>\n",
-       "        <td>[Decimal('5.8'), Decimal('4.0'), Decimal('1.2'), Decimal('0.2')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>16</td>\n",
-       "        <td>[Decimal('5.7'), Decimal('4.4'), Decimal('1.5'), Decimal('0.4')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>17</td>\n",
-       "        <td>[Decimal('5.4'), Decimal('3.9'), Decimal('1.3'), Decimal('0.4')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>18</td>\n",
-       "        <td>[Decimal('5.1'), Decimal('3.5'), Decimal('1.4'), Decimal('0.3')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>19</td>\n",
-       "        <td>[Decimal('5.7'), Decimal('3.8'), Decimal('1.7'), Decimal('0.3')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>20</td>\n",
-       "        <td>[Decimal('5.1'), Decimal('3.8'), Decimal('1.5'), Decimal('0.3')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>21</td>\n",
-       "        <td>[Decimal('5.4'), Decimal('3.4'), Decimal('1.7'), Decimal('0.2')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>22</td>\n",
-       "        <td>[Decimal('5.1'), Decimal('3.7'), Decimal('1.5'), Decimal('0.4')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>23</td>\n",
-       "        <td>[Decimal('4.6'), Decimal('3.6'), Decimal('1.0'), Decimal('0.2')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>24</td>\n",
-       "        <td>[Decimal('5.1'), Decimal('3.3'), Decimal('1.7'), Decimal('0.5')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>25</td>\n",
-       "        <td>[Decimal('4.8'), Decimal('3.4'), Decimal('1.9'), Decimal('0.2')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>26</td>\n",
-       "        <td>[Decimal('5.0'), Decimal('3.0'), Decimal('1.6'), Decimal('0.2')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>27</td>\n",
-       "        <td>[Decimal('5.0'), Decimal('3.4'), Decimal('1.6'), Decimal('0.4')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>28</td>\n",
-       "        <td>[Decimal('5.2'), Decimal('3.5'), Decimal('1.5'), Decimal('0.2')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>29</td>\n",
-       "        <td>[Decimal('5.2'), Decimal('3.4'), Decimal('1.4'), Decimal('0.2')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>30</td>\n",
-       "        <td>[Decimal('4.7'), Decimal('3.2'), Decimal('1.6'), Decimal('0.2')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>31</td>\n",
-       "        <td>[Decimal('4.8'), Decimal('3.1'), Decimal('1.6'), Decimal('0.2')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>32</td>\n",
-       "        <td>[Decimal('5.4'), Decimal('3.4'), Decimal('1.5'), Decimal('0.4')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>33</td>\n",
-       "        <td>[Decimal('5.2'), Decimal('4.1'), Decimal('1.5'), Decimal('0.1')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>34</td>\n",
-       "        <td>[Decimal('5.5'), Decimal('4.2'), Decimal('1.4'), Decimal('0.2')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>35</td>\n",
-       "        <td>[Decimal('4.9'), Decimal('3.1'), Decimal('1.5'), Decimal('0.1')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>36</td>\n",
-       "        <td>[Decimal('5.0'), Decimal('3.2'), Decimal('1.2'), Decimal('0.2')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>37</td>\n",
-       "        <td>[Decimal('5.5'), Decimal('3.5'), Decimal('1.3'), Decimal('0.2')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>38</td>\n",
-       "        <td>[Decimal('4.9'), Decimal('3.1'), Decimal('1.5'), Decimal('0.1')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>39</td>\n",
-       "        <td>[Decimal('4.4'), Decimal('3.0'), Decimal('1.3'), Decimal('0.2')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>40</td>\n",
-       "        <td>[Decimal('5.1'), Decimal('3.4'), Decimal('1.5'), Decimal('0.2')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>41</td>\n",
-       "        <td>[Decimal('5.0'), Decimal('3.5'), Decimal('1.3'), Decimal('0.3')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>42</td>\n",
-       "        <td>[Decimal('4.5'), Decimal('2.3'), Decimal('1.3'), Decimal('0.3')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>43</td>\n",
-       "        <td>[Decimal('4.4'), Decimal('3.2'), Decimal('1.3'), Decimal('0.2')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>44</td>\n",
-       "        <td>[Decimal('5.0'), Decimal('3.5'), Decimal('1.6'), Decimal('0.6')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>45</td>\n",
-       "        <td>[Decimal('5.1'), Decimal('3.8'), Decimal('1.9'), Decimal('0.4')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>46</td>\n",
-       "        <td>[Decimal('4.8'), Decimal('3.0'), Decimal('1.4'), Decimal('0.3')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>47</td>\n",
-       "        <td>[Decimal('5.1'), Decimal('3.8'), Decimal('1.6'), Decimal('0.2')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>48</td>\n",
-       "        <td>[Decimal('4.6'), Decimal('3.2'), Decimal('1.4'), Decimal('0.2')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>49</td>\n",
-       "        <td>[Decimal('5.3'), Decimal('3.7'), Decimal('1.5'), Decimal('0.2')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>50</td>\n",
-       "        <td>[Decimal('5.0'), Decimal('3.3'), Decimal('1.4'), Decimal('0.2')]</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>51</td>\n",
-       "        <td>[Decimal('7.0'), Decimal('3.2'), Decimal('4.7'), Decimal('1.4')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>52</td>\n",
-       "        <td>[Decimal('6.4'), Decimal('3.2'), Decimal('4.5'), Decimal('1.5')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>53</td>\n",
-       "        <td>[Decimal('6.9'), Decimal('3.1'), Decimal('4.9'), Decimal('1.5')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>54</td>\n",
-       "        <td>[Decimal('5.5'), Decimal('2.3'), Decimal('4.0'), Decimal('1.3')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>55</td>\n",
-       "        <td>[Decimal('6.5'), Decimal('2.8'), Decimal('4.6'), Decimal('1.5')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>56</td>\n",
-       "        <td>[Decimal('5.7'), Decimal('2.8'), Decimal('4.5'), Decimal('1.3')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>57</td>\n",
-       "        <td>[Decimal('6.3'), Decimal('3.3'), Decimal('4.7'), Decimal('1.6')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>58</td>\n",
-       "        <td>[Decimal('4.9'), Decimal('2.4'), Decimal('3.3'), Decimal('1.0')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>59</td>\n",
-       "        <td>[Decimal('6.6'), Decimal('2.9'), Decimal('4.6'), Decimal('1.3')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>60</td>\n",
-       "        <td>[Decimal('5.2'), Decimal('2.7'), Decimal('3.9'), Decimal('1.4')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>61</td>\n",
-       "        <td>[Decimal('5.0'), Decimal('2.0'), Decimal('3.5'), Decimal('1.0')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>62</td>\n",
-       "        <td>[Decimal('5.9'), Decimal('3.0'), Decimal('4.2'), Decimal('1.5')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>63</td>\n",
-       "        <td>[Decimal('6.0'), Decimal('2.2'), Decimal('4.0'), Decimal('1.0')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>64</td>\n",
-       "        <td>[Decimal('6.1'), Decimal('2.9'), Decimal('4.7'), Decimal('1.4')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>65</td>\n",
-       "        <td>[Decimal('5.6'), Decimal('2.9'), Decimal('3.6'), Decimal('1.3')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>66</td>\n",
-       "        <td>[Decimal('6.7'), Decimal('3.1'), Decimal('4.4'), Decimal('1.4')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>67</td>\n",
-       "        <td>[Decimal('5.6'), Decimal('3.0'), Decimal('4.5'), Decimal('1.5')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>68</td>\n",
-       "        <td>[Decimal('5.8'), Decimal('2.7'), Decimal('4.1'), Decimal('1.0')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>69</td>\n",
-       "        <td>[Decimal('6.2'), Decimal('2.2'), Decimal('4.5'), Decimal('1.5')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>70</td>\n",
-       "        <td>[Decimal('5.6'), Decimal('2.5'), Decimal('3.9'), Decimal('1.1')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>71</td>\n",
-       "        <td>[Decimal('5.9'), Decimal('3.2'), Decimal('4.8'), Decimal('1.8')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>72</td>\n",
-       "        <td>[Decimal('6.1'), Decimal('2.8'), Decimal('4.0'), Decimal('1.3')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>73</td>\n",
-       "        <td>[Decimal('6.3'), Decimal('2.5'), Decimal('4.9'), Decimal('1.5')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>74</td>\n",
-       "        <td>[Decimal('6.1'), Decimal('2.8'), Decimal('4.7'), Decimal('1.2')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>75</td>\n",
-       "        <td>[Decimal('6.4'), Decimal('2.9'), Decimal('4.3'), Decimal('1.3')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>76</td>\n",
-       "        <td>[Decimal('6.6'), Decimal('3.0'), Decimal('4.4'), Decimal('1.4')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>77</td>\n",
-       "        <td>[Decimal('6.8'), Decimal('2.8'), Decimal('4.8'), Decimal('1.4')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>78</td>\n",
-       "        <td>[Decimal('6.7'), Decimal('3.0'), Decimal('5.0'), Decimal('1.7')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>79</td>\n",
-       "        <td>[Decimal('6.0'), Decimal('2.9'), Decimal('4.5'), Decimal('1.5')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>80</td>\n",
-       "        <td>[Decimal('5.7'), Decimal('2.6'), Decimal('3.5'), Decimal('1.0')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>81</td>\n",
-       "        <td>[Decimal('5.5'), Decimal('2.4'), Decimal('3.8'), Decimal('1.1')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>82</td>\n",
-       "        <td>[Decimal('5.5'), Decimal('2.4'), Decimal('3.7'), Decimal('1.0')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>83</td>\n",
-       "        <td>[Decimal('5.8'), Decimal('2.7'), Decimal('3.9'), Decimal('1.2')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>84</td>\n",
-       "        <td>[Decimal('6.0'), Decimal('2.7'), Decimal('5.1'), Decimal('1.6')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>85</td>\n",
-       "        <td>[Decimal('5.4'), Decimal('3.0'), Decimal('4.5'), Decimal('1.5')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>86</td>\n",
-       "        <td>[Decimal('6.0'), Decimal('3.4'), Decimal('4.5'), Decimal('1.6')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>87</td>\n",
-       "        <td>[Decimal('6.7'), Decimal('3.1'), Decimal('4.7'), Decimal('1.5')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>88</td>\n",
-       "        <td>[Decimal('6.3'), Decimal('2.3'), Decimal('4.4'), Decimal('1.3')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>89</td>\n",
-       "        <td>[Decimal('5.6'), Decimal('3.0'), Decimal('4.1'), Decimal('1.3')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>90</td>\n",
-       "        <td>[Decimal('5.5'), Decimal('2.5'), Decimal('4.0'), Decimal('1.3')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>91</td>\n",
-       "        <td>[Decimal('5.5'), Decimal('2.6'), Decimal('4.4'), Decimal('1.2')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>92</td>\n",
-       "        <td>[Decimal('6.1'), Decimal('3.0'), Decimal('4.6'), Decimal('1.4')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>93</td>\n",
-       "        <td>[Decimal('5.8'), Decimal('2.6'), Decimal('4.0'), Decimal('1.2')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>94</td>\n",
-       "        <td>[Decimal('5.0'), Decimal('2.3'), Decimal('3.3'), Decimal('1.0')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>95</td>\n",
-       "        <td>[Decimal('5.6'), Decimal('2.7'), Decimal('4.2'), Decimal('1.3')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>96</td>\n",
-       "        <td>[Decimal('5.7'), Decimal('3.0'), Decimal('4.2'), Decimal('1.2')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>97</td>\n",
-       "        <td>[Decimal('5.7'), Decimal('2.9'), Decimal('4.2'), Decimal('1.3')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>98</td>\n",
-       "        <td>[Decimal('6.2'), Decimal('2.9'), Decimal('4.3'), Decimal('1.3')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>99</td>\n",
-       "        <td>[Decimal('5.1'), Decimal('2.5'), Decimal('3.0'), Decimal('1.1')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>100</td>\n",
-       "        <td>[Decimal('5.7'), Decimal('2.8'), Decimal('4.1'), Decimal('1.3')]</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>101</td>\n",
-       "        <td>[Decimal('6.3'), Decimal('3.3'), Decimal('6.0'), Decimal('2.5')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>102</td>\n",
-       "        <td>[Decimal('5.8'), Decimal('2.7'), Decimal('5.1'), Decimal('1.9')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>103</td>\n",
-       "        <td>[Decimal('7.1'), Decimal('3.0'), Decimal('5.9'), Decimal('2.1')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>104</td>\n",
-       "        <td>[Decimal('6.3'), Decimal('2.9'), Decimal('5.6'), Decimal('1.8')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>105</td>\n",
-       "        <td>[Decimal('6.5'), Decimal('3.0'), Decimal('5.8'), Decimal('2.2')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>106</td>\n",
-       "        <td>[Decimal('7.6'), Decimal('3.0'), Decimal('6.6'), Decimal('2.1')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>107</td>\n",
-       "        <td>[Decimal('4.9'), Decimal('2.5'), Decimal('4.5'), Decimal('1.7')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>108</td>\n",
-       "        <td>[Decimal('7.3'), Decimal('2.9'), Decimal('6.3'), Decimal('1.8')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>109</td>\n",
-       "        <td>[Decimal('6.7'), Decimal('2.5'), Decimal('5.8'), Decimal('1.8')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>110</td>\n",
-       "        <td>[Decimal('7.2'), Decimal('3.6'), Decimal('6.1'), Decimal('2.5')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>111</td>\n",
-       "        <td>[Decimal('6.5'), Decimal('3.2'), Decimal('5.1'), Decimal('2.0')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>112</td>\n",
-       "        <td>[Decimal('6.4'), Decimal('2.7'), Decimal('5.3'), Decimal('1.9')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>113</td>\n",
-       "        <td>[Decimal('6.8'), Decimal('3.0'), Decimal('5.5'), Decimal('2.1')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>114</td>\n",
-       "        <td>[Decimal('5.7'), Decimal('2.5'), Decimal('5.0'), Decimal('2.0')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>115</td>\n",
-       "        <td>[Decimal('5.8'), Decimal('2.8'), Decimal('5.1'), Decimal('2.4')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>116</td>\n",
-       "        <td>[Decimal('6.4'), Decimal('3.2'), Decimal('5.3'), Decimal('2.3')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>117</td>\n",
-       "        <td>[Decimal('6.5'), Decimal('3.0'), Decimal('5.5'), Decimal('1.8')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>118</td>\n",
-       "        <td>[Decimal('7.7'), Decimal('3.8'), Decimal('6.7'), Decimal('2.2')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>119</td>\n",
-       "        <td>[Decimal('7.7'), Decimal('2.6'), Decimal('6.9'), Decimal('2.3')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>120</td>\n",
-       "        <td>[Decimal('6.0'), Decimal('2.2'), Decimal('5.0'), Decimal('1.5')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>121</td>\n",
-       "        <td>[Decimal('6.9'), Decimal('3.2'), Decimal('5.7'), Decimal('2.3')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>122</td>\n",
-       "        <td>[Decimal('5.6'), Decimal('2.8'), Decimal('4.9'), Decimal('2.0')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>123</td>\n",
-       "        <td>[Decimal('7.7'), Decimal('2.8'), Decimal('6.7'), Decimal('2.0')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>124</td>\n",
-       "        <td>[Decimal('6.3'), Decimal('2.7'), Decimal('4.9'), Decimal('1.8')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>125</td>\n",
-       "        <td>[Decimal('6.7'), Decimal('3.3'), Decimal('5.7'), Decimal('2.1')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>126</td>\n",
-       "        <td>[Decimal('7.2'), Decimal('3.2'), Decimal('6.0'), Decimal('1.8')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>127</td>\n",
-       "        <td>[Decimal('6.2'), Decimal('2.8'), Decimal('4.8'), Decimal('1.8')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>128</td>\n",
-       "        <td>[Decimal('6.1'), Decimal('3.0'), Decimal('4.9'), Decimal('1.8')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>129</td>\n",
-       "        <td>[Decimal('6.4'), Decimal('2.8'), Decimal('5.6'), Decimal('2.1')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>130</td>\n",
-       "        <td>[Decimal('7.2'), Decimal('3.0'), Decimal('5.8'), Decimal('1.6')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>131</td>\n",
-       "        <td>[Decimal('7.4'), Decimal('2.8'), Decimal('6.1'), Decimal('1.9')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>132</td>\n",
-       "        <td>[Decimal('7.9'), Decimal('3.8'), Decimal('6.4'), Decimal('2.0')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>133</td>\n",
-       "        <td>[Decimal('6.4'), Decimal('2.8'), Decimal('5.6'), Decimal('2.2')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>134</td>\n",
-       "        <td>[Decimal('6.3'), Decimal('2.8'), Decimal('5.1'), Decimal('1.5')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>135</td>\n",
-       "        <td>[Decimal('6.1'), Decimal('2.6'), Decimal('5.6'), Decimal('1.4')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>136</td>\n",
-       "        <td>[Decimal('7.7'), Decimal('3.0'), Decimal('6.1'), Decimal('2.3')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>137</td>\n",
-       "        <td>[Decimal('6.3'), Decimal('3.4'), Decimal('5.6'), Decimal('2.4')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>138</td>\n",
-       "        <td>[Decimal('6.4'), Decimal('3.1'), Decimal('5.5'), Decimal('1.8')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>139</td>\n",
-       "        <td>[Decimal('6.0'), Decimal('3.0'), Decimal('4.8'), Decimal('1.8')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>140</td>\n",
-       "        <td>[Decimal('6.9'), Decimal('3.1'), Decimal('5.4'), Decimal('2.1')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>141</td>\n",
-       "        <td>[Decimal('6.7'), Decimal('3.1'), Decimal('5.6'), Decimal('2.4')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>142</td>\n",
-       "        <td>[Decimal('6.9'), Decimal('3.1'), Decimal('5.1'), Decimal('2.3')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>143</td>\n",
-       "        <td>[Decimal('5.8'), Decimal('2.7'), Decimal('5.1'), Decimal('1.9')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>144</td>\n",
-       "        <td>[Decimal('6.8'), Decimal('3.2'), Decimal('5.9'), Decimal('2.3')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>145</td>\n",
-       "        <td>[Decimal('6.7'), Decimal('3.3'), Decimal('5.7'), Decimal('2.5')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>146</td>\n",
-       "        <td>[Decimal('6.7'), Decimal('3.0'), Decimal('5.2'), Decimal('2.3')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>147</td>\n",
-       "        <td>[Decimal('6.3'), Decimal('2.5'), Decimal('5.0'), Decimal('1.9')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>148</td>\n",
-       "        <td>[Decimal('6.5'), Decimal('3.0'), Decimal('5.2'), Decimal('2.0')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>149</td>\n",
-       "        <td>[Decimal('6.2'), Decimal('3.4'), Decimal('5.4'), Decimal('2.3')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>150</td>\n",
-       "        <td>[Decimal('5.9'), Decimal('3.0'), Decimal('5.1'), Decimal('1.8')]</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, [Decimal('5.1'), Decimal('3.5'), Decimal('1.4'), Decimal('0.2')], u'Iris-setosa'),\n",
-       " (2, [Decimal('4.9'), Decimal('3.0'), Decimal('1.4'), Decimal('0.2')], u'Iris-setosa'),\n",
-       " (3, [Decimal('4.7'), Decimal('3.2'), Decimal('1.3'), Decimal('0.2')], u'Iris-setosa'),\n",
-       " (4, [Decimal('4.6'), Decimal('3.1'), Decimal('1.5'), Decimal('0.2')], u'Iris-setosa'),\n",
-       " (5, [Decimal('5.0'), Decimal('3.6'), Decimal('1.4'), Decimal('0.2')], u'Iris-setosa'),\n",
-       " (6, [Decimal('5.4'), Decimal('3.9'), Decimal('1.7'), Decimal('0.4')], u'Iris-setosa'),\n",
-       " (7, [Decimal('4.6'), Decimal('3.4'), Decimal('1.4'), Decimal('0.3')], u'Iris-setosa'),\n",
-       " (8, [Decimal('5.0'), Decimal('3.4'), Decimal('1.5'), Decimal('0.2')], u'Iris-setosa'),\n",
-       " (9, [Decimal('4.4'), Decimal('2.9'), Decimal('1.4'), Decimal('0.2')], u'Iris-setosa'),\n",
-       " (10, [Decimal('4.9'), Decimal('3.1'), Decimal('1.5'), Decimal('0.1')], u'Iris-setosa'),\n",
-       " (11, [Decimal('5.4'), Decimal('3.7'), Decimal('1.5'), Decimal('0.2')], u'Iris-setosa'),\n",
-       " (12, [Decimal('4.8'), Decimal('3.4'), Decimal('1.6'), Decimal('0.2')], u'Iris-setosa'),\n",
-       " (13, [Decimal('4.8'), Decimal('3.0'), Decimal('1.4'), Decimal('0.1')], u'Iris-setosa'),\n",
-       " (14, [Decimal('4.3'), Decimal('3.0'), Decimal('1.1'), Decimal('0.1')], u'Iris-setosa'),\n",
-       " (15, [Decimal('5.8'), Decimal('4.0'), Decimal('1.2'), Decimal('0.2')], u'Iris-setosa'),\n",
-       " (16, [Decimal('5.7'), Decimal('4.4'), Decimal('1.5'), Decimal('0.4')], u'Iris-setosa'),\n",
-       " (17, [Decimal('5.4'), Decimal('3.9'), Decimal('1.3'), Decimal('0.4')], u'Iris-setosa'),\n",
-       " (18, [Decimal('5.1'), Decimal('3.5'), Decimal('1.4'), Decimal('0.3')], u'Iris-setosa'),\n",
-       " (19, [Decimal('5.7'), Decimal('3.8'), Decimal('1.7'), Decimal('0.3')], u'Iris-setosa'),\n",
-       " (20, [Decimal('5.1'), Decimal('3.8'), Decimal('1.5'), Decimal('0.3')], u'Iris-setosa'),\n",
-       " (21, [Decimal('5.4'), Decimal('3.4'), Decimal('1.7'), Decimal('0.2')], u'Iris-setosa'),\n",
-       " (22, [Decimal('5.1'), Decimal('3.7'), Decimal('1.5'), Decimal('0.4')], u'Iris-setosa'),\n",
-       " (23, [Decimal('4.6'), Decimal('3.6'), Decimal('1.0'), Decimal('0.2')], u'Iris-setosa'),\n",
-       " (24, [Decimal('5.1'), Decimal('3.3'), Decimal('1.7'), Decimal('0.5')], u'Iris-setosa'),\n",
-       " (25, [Decimal('4.8'), Decimal('3.4'), Decimal('1.9'), Decimal('0.2')], u'Iris-setosa'),\n",
-       " (26, [Decimal('5.0'), Decimal('3.0'), Decimal('1.6'), Decimal('0.2')], u'Iris-setosa'),\n",
-       " (27, [Decimal('5.0'), Decimal('3.4'), Decimal('1.6'), Decimal('0.4')], u'Iris-setosa'),\n",
-       " (28, [Decimal('5.2'), Decimal('3.5'), Decimal('1.5'), Decimal('0.2')], u'Iris-setosa'),\n",
-       " (29, [Decimal('5.2'), Decimal('3.4'), Decimal('1.4'), Decimal('0.2')], u'Iris-setosa'),\n",
-       " (30, [Decimal('4.7'), Decimal('3.2'), Decimal('1.6'), Decimal('0.2')], u'Iris-setosa'),\n",
-       " (31, [Decimal('4.8'), Decimal('3.1'), Decimal('1.6'), Decimal('0.2')], u'Iris-setosa'),\n",
-       " (32, [Decimal('5.4'), Decimal('3.4'), Decimal('1.5'), Decimal('0.4')], u'Iris-setosa'),\n",
-       " (33, [Decimal('5.2'), Decimal('4.1'), Decimal('1.5'), Decimal('0.1')], u'Iris-setosa'),\n",
-       " (34, [Decimal('5.5'), Decimal('4.2'), Decimal('1.4'), Decimal('0.2')], u'Iris-setosa'),\n",
-       " (35, [Decimal('4.9'), Decimal('3.1'), Decimal('1.5'), Decimal('0.1')], u'Iris-setosa'),\n",
-       " (36, [Decimal('5.0'), Decimal('3.2'), Decimal('1.2'), Decimal('0.2')], u'Iris-setosa'),\n",
-       " (37, [Decimal('5.5'), Decimal('3.5'), Decimal('1.3'), Decimal('0.2')], u'Iris-setosa'),\n",
-       " (38, [Decimal('4.9'), Decimal('3.1'), Decimal('1.5'), Decimal('0.1')], u'Iris-setosa'),\n",
-       " (39, [Decimal('4.4'), Decimal('3.0'), Decimal('1.3'), Decimal('0.2')], u'Iris-setosa'),\n",
-       " (40, [Decimal('5.1'), Decimal('3.4'), Decimal('1.5'), Decimal('0.2')], u'Iris-setosa'),\n",
-       " (41, [Decimal('5.0'), Decimal('3.5'), Decimal('1.3'), Decimal('0.3')], u'Iris-setosa'),\n",
-       " (42, [Decimal('4.5'), Decimal('2.3'), Decimal('1.3'), Decimal('0.3')], u'Iris-setosa'),\n",
-       " (43, [Decimal('4.4'), Decimal('3.2'), Decimal('1.3'), Decimal('0.2')], u'Iris-setosa'),\n",
-       " (44, [Decimal('5.0'), Decimal('3.5'), Decimal('1.6'), Decimal('0.6')], u'Iris-setosa'),\n",
-       " (45, [Decimal('5.1'), Decimal('3.8'), Decimal('1.9'), Decimal('0.4')], u'Iris-setosa'),\n",
-       " (46, [Decimal('4.8'), Decimal('3.0'), Decimal('1.4'), Decimal('0.3')], u'Iris-setosa'),\n",
-       " (47, [Decimal('5.1'), Decimal('3.8'), Decimal('1.6'), Decimal('0.2')], u'Iris-setosa'),\n",
-       " (48, [Decimal('4.6'), Decimal('3.2'), Decimal('1.4'), Decimal('0.2')], u'Iris-setosa'),\n",
-       " (49, [Decimal('5.3'), Decimal('3.7'), Decimal('1.5'), Decimal('0.2')], u'Iris-setosa'),\n",
-       " (50, [Decimal('5.0'), Decimal('3.3'), Decimal('1.4'), Decimal('0.2')], u'Iris-setosa'),\n",
-       " (51, [Decimal('7.0'), Decimal('3.2'), Decimal('4.7'), Decimal('1.4')], u'Iris-versicolor'),\n",
-       " (52, [Decimal('6.4'), Decimal('3.2'), Decimal('4.5'), Decimal('1.5')], u'Iris-versicolor'),\n",
-       " (53, [Decimal('6.9'), Decimal('3.1'), Decimal('4.9'), Decimal('1.5')], u'Iris-versicolor'),\n",
-       " (54, [Decimal('5.5'), Decimal('2.3'), Decimal('4.0'), Decimal('1.3')], u'Iris-versicolor'),\n",
-       " (55, [Decimal('6.5'), Decimal('2.8'), Decimal('4.6'), Decimal('1.5')], u'Iris-versicolor'),\n",
-       " (56, [Decimal('5.7'), Decimal('2.8'), Decimal('4.5'), Decimal('1.3')], u'Iris-versicolor'),\n",
-       " (57, [Decimal('6.3'), Decimal('3.3'), Decimal('4.7'), Decimal('1.6')], u'Iris-versicolor'),\n",
-       " (58, [Decimal('4.9'), Decimal('2.4'), Decimal('3.3'), Decimal('1.0')], u'Iris-versicolor'),\n",
-       " (59, [Decimal('6.6'), Decimal('2.9'), Decimal('4.6'), Decimal('1.3')], u'Iris-versicolor'),\n",
-       " (60, [Decimal('5.2'), Decimal('2.7'), Decimal('3.9'), Decimal('1.4')], u'Iris-versicolor'),\n",
-       " (61, [Decimal('5.0'), Decimal('2.0'), Decimal('3.5'), Decimal('1.0')], u'Iris-versicolor'),\n",
-       " (62, [Decimal('5.9'), Decimal('3.0'), Decimal('4.2'), Decimal('1.5')], u'Iris-versicolor'),\n",
-       " (63, [Decimal('6.0'), Decimal('2.2'), Decimal('4.0'), Decimal('1.0')], u'Iris-versicolor'),\n",
-       " (64, [Decimal('6.1'), Decimal('2.9'), Decimal('4.7'), Decimal('1.4')], u'Iris-versicolor'),\n",
-       " (65, [Decimal('5.6'), Decimal('2.9'), Decimal('3.6'), Decimal('1.3')], u'Iris-versicolor'),\n",
-       " (66, [Decimal('6.7'), Decimal('3.1'), Decimal('4.4'), Decimal('1.4')], u'Iris-versicolor'),\n",
-       " (67, [Decimal('5.6'), Decimal('3.0'), Decimal('4.5'), Decimal('1.5')], u'Iris-versicolor'),\n",
-       " (68, [Decimal('5.8'), Decimal('2.7'), Decimal('4.1'), Decimal('1.0')], u'Iris-versicolor'),\n",
-       " (69, [Decimal('6.2'), Decimal('2.2'), Decimal('4.5'), Decimal('1.5')], u'Iris-versicolor'),\n",
-       " (70, [Decimal('5.6'), Decimal('2.5'), Decimal('3.9'), Decimal('1.1')], u'Iris-versicolor'),\n",
-       " (71, [Decimal('5.9'), Decimal('3.2'), Decimal('4.8'), Decimal('1.8')], u'Iris-versicolor'),\n",
-       " (72, [Decimal('6.1'), Decimal('2.8'), Decimal('4.0'), Decimal('1.3')], u'Iris-versicolor'),\n",
-       " (73, [Decimal('6.3'), Decimal('2.5'), Decimal('4.9'), Decimal('1.5')], u'Iris-versicolor'),\n",
-       " (74, [Decimal('6.1'), Decimal('2.8'), Decimal('4.7'), Decimal('1.2')], u'Iris-versicolor'),\n",
-       " (75, [Decimal('6.4'), Decimal('2.9'), Decimal('4.3'), Decimal('1.3')], u'Iris-versicolor'),\n",
-       " (76, [Decimal('6.6'), Decimal('3.0'), Decimal('4.4'), Decimal('1.4')], u'Iris-versicolor'),\n",
-       " (77, [Decimal('6.8'), Decimal('2.8'), Decimal('4.8'), Decimal('1.4')], u'Iris-versicolor'),\n",
-       " (78, [Decimal('6.7'), Decimal('3.0'), Decimal('5.0'), Decimal('1.7')], u'Iris-versicolor'),\n",
-       " (79, [Decimal('6.0'), Decimal('2.9'), Decimal('4.5'), Decimal('1.5')], u'Iris-versicolor'),\n",
-       " (80, [Decimal('5.7'), Decimal('2.6'), Decimal('3.5'), Decimal('1.0')], u'Iris-versicolor'),\n",
-       " (81, [Decimal('5.5'), Decimal('2.4'), Decimal('3.8'), Decimal('1.1')], u'Iris-versicolor'),\n",
-       " (82, [Decimal('5.5'), Decimal('2.4'), Decimal('3.7'), Decimal('1.0')], u'Iris-versicolor'),\n",
-       " (83, [Decimal('5.8'), Decimal('2.7'), Decimal('3.9'), Decimal('1.2')], u'Iris-versicolor'),\n",
-       " (84, [Decimal('6.0'), Decimal('2.7'), Decimal('5.1'), Decimal('1.6')], u'Iris-versicolor'),\n",
-       " (85, [Decimal('5.4'), Decimal('3.0'), Decimal('4.5'), Decimal('1.5')], u'Iris-versicolor'),\n",
-       " (86, [Decimal('6.0'), Decimal('3.4'), Decimal('4.5'), Decimal('1.6')], u'Iris-versicolor'),\n",
-       " (87, [Decimal('6.7'), Decimal('3.1'), Decimal('4.7'), Decimal('1.5')], u'Iris-versicolor'),\n",
-       " (88, [Decimal('6.3'), Decimal('2.3'), Decimal('4.4'), Decimal('1.3')], u'Iris-versicolor'),\n",
-       " (89, [Decimal('5.6'), Decimal('3.0'), Decimal('4.1'), Decimal('1.3')], u'Iris-versicolor'),\n",
-       " (90, [Decimal('5.5'), Decimal('2.5'), Decimal('4.0'), Decimal('1.3')], u'Iris-versicolor'),\n",
-       " (91, [Decimal('5.5'), Decimal('2.6'), Decimal('4.4'), Decimal('1.2')], u'Iris-versicolor'),\n",
-       " (92, [Decimal('6.1'), Decimal('3.0'), Decimal('4.6'), Decimal('1.4')], u'Iris-versicolor'),\n",
-       " (93, [Decimal('5.8'), Decimal('2.6'), Decimal('4.0'), Decimal('1.2')], u'Iris-versicolor'),\n",
-       " (94, [Decimal('5.0'), Decimal('2.3'), Decimal('3.3'), Decimal('1.0')], u'Iris-versicolor'),\n",
-       " (95, [Decimal('5.6'), Decimal('2.7'), Decimal('4.2'), Decimal('1.3')], u'Iris-versicolor'),\n",
-       " (96, [Decimal('5.7'), Decimal('3.0'), Decimal('4.2'), Decimal('1.2')], u'Iris-versicolor'),\n",
-       " (97, [Decimal('5.7'), Decimal('2.9'), Decimal('4.2'), Decimal('1.3')], u'Iris-versicolor'),\n",
-       " (98, [Decimal('6.2'), Decimal('2.9'), Decimal('4.3'), Decimal('1.3')], u'Iris-versicolor'),\n",
-       " (99, [Decimal('5.1'), Decimal('2.5'), Decimal('3.0'), Decimal('1.1')], u'Iris-versicolor'),\n",
-       " (100, [Decimal('5.7'), Decimal('2.8'), Decimal('4.1'), Decimal('1.3')], u'Iris-versicolor'),\n",
-       " (101, [Decimal('6.3'), Decimal('3.3'), Decimal('6.0'), Decimal('2.5')], u'Iris-virginica'),\n",
-       " (102, [Decimal('5.8'), Decimal('2.7'), Decimal('5.1'), Decimal('1.9')], u'Iris-virginica'),\n",
-       " (103, [Decimal('7.1'), Decimal('3.0'), Decimal('5.9'), Decimal('2.1')], u'Iris-virginica'),\n",
-       " (104, [Decimal('6.3'), Decimal('2.9'), Decimal('5.6'), Decimal('1.8')], u'Iris-virginica'),\n",
-       " (105, [Decimal('6.5'), Decimal('3.0'), Decimal('5.8'), Decimal('2.2')], u'Iris-virginica'),\n",
-       " (106, [Decimal('7.6'), Decimal('3.0'), Decimal('6.6'), Decimal('2.1')], u'Iris-virginica'),\n",
-       " (107, [Decimal('4.9'), Decimal('2.5'), Decimal('4.5'), Decimal('1.7')], u'Iris-virginica'),\n",
-       " (108, [Decimal('7.3'), Decimal('2.9'), Decimal('6.3'), Decimal('1.8')], u'Iris-virginica'),\n",
-       " (109, [Decimal('6.7'), Decimal('2.5'), Decimal('5.8'), Decimal('1.8')], u'Iris-virginica'),\n",
-       " (110, [Decimal('7.2'), Decimal('3.6'), Decimal('6.1'), Decimal('2.5')], u'Iris-virginica'),\n",
-       " (111, [Decimal('6.5'), Decimal('3.2'), Decimal('5.1'), Decimal('2.0')], u'Iris-virginica'),\n",
-       " (112, [Decimal('6.4'), Decimal('2.7'), Decimal('5.3'), Decimal('1.9')], u'Iris-virginica'),\n",
-       " (113, [Decimal('6.8'), Decimal('3.0'), Decimal('5.5'), Decimal('2.1')], u'Iris-virginica'),\n",
-       " (114, [Decimal('5.7'), Decimal('2.5'), Decimal('5.0'), Decimal('2.0')], u'Iris-virginica'),\n",
-       " (115, [Decimal('5.8'), Decimal('2.8'), Decimal('5.1'), Decimal('2.4')], u'Iris-virginica'),\n",
-       " (116, [Decimal('6.4'), Decimal('3.2'), Decimal('5.3'), Decimal('2.3')], u'Iris-virginica'),\n",
-       " (117, [Decimal('6.5'), Decimal('3.0'), Decimal('5.5'), Decimal('1.8')], u'Iris-virginica'),\n",
-       " (118, [Decimal('7.7'), Decimal('3.8'), Decimal('6.7'), Decimal('2.2')], u'Iris-virginica'),\n",
-       " (119, [Decimal('7.7'), Decimal('2.6'), Decimal('6.9'), Decimal('2.3')], u'Iris-virginica'),\n",
-       " (120, [Decimal('6.0'), Decimal('2.2'), Decimal('5.0'), Decimal('1.5')], u'Iris-virginica'),\n",
-       " (121, [Decimal('6.9'), Decimal('3.2'), Decimal('5.7'), Decimal('2.3')], u'Iris-virginica'),\n",
-       " (122, [Decimal('5.6'), Decimal('2.8'), Decimal('4.9'), Decimal('2.0')], u'Iris-virginica'),\n",
-       " (123, [Decimal('7.7'), Decimal('2.8'), Decimal('6.7'), Decimal('2.0')], u'Iris-virginica'),\n",
-       " (124, [Decimal('6.3'), Decimal('2.7'), Decimal('4.9'), Decimal('1.8')], u'Iris-virginica'),\n",
-       " (125, [Decimal('6.7'), Decimal('3.3'), Decimal('5.7'), Decimal('2.1')], u'Iris-virginica'),\n",
-       " (126, [Decimal('7.2'), Decimal('3.2'), Decimal('6.0'), Decimal('1.8')], u'Iris-virginica'),\n",
-       " (127, [Decimal('6.2'), Decimal('2.8'), Decimal('4.8'), Decimal('1.8')], u'Iris-virginica'),\n",
-       " (128, [Decimal('6.1'), Decimal('3.0'), Decimal('4.9'), Decimal('1.8')], u'Iris-virginica'),\n",
-       " (129, [Decimal('6.4'), Decimal('2.8'), Decimal('5.6'), Decimal('2.1')], u'Iris-virginica'),\n",
-       " (130, [Decimal('7.2'), Decimal('3.0'), Decimal('5.8'), Decimal('1.6')], u'Iris-virginica'),\n",
-       " (131, [Decimal('7.4'), Decimal('2.8'), Decimal('6.1'), Decimal('1.9')], u'Iris-virginica'),\n",
-       " (132, [Decimal('7.9'), Decimal('3.8'), Decimal('6.4'), Decimal('2.0')], u'Iris-virginica'),\n",
-       " (133, [Decimal('6.4'), Decimal('2.8'), Decimal('5.6'), Decimal('2.2')], u'Iris-virginica'),\n",
-       " (134, [Decimal('6.3'), Decimal('2.8'), Decimal('5.1'), Decimal('1.5')], u'Iris-virginica'),\n",
-       " (135, [Decimal('6.1'), Decimal('2.6'), Decimal('5.6'), Decimal('1.4')], u'Iris-virginica'),\n",
-       " (136, [Decimal('7.7'), Decimal('3.0'), Decimal('6.1'), Decimal('2.3')], u'Iris-virginica'),\n",
-       " (137, [Decimal('6.3'), Decimal('3.4'), Decimal('5.6'), Decimal('2.4')], u'Iris-virginica'),\n",
-       " (138, [Decimal('6.4'), Decimal('3.1'), Decimal('5.5'), Decimal('1.8')], u'Iris-virginica'),\n",
-       " (139, [Decimal('6.0'), Decimal('3.0'), Decimal('4.8'), Decimal('1.8')], u'Iris-virginica'),\n",
-       " (140, [Decimal('6.9'), Decimal('3.1'), Decimal('5.4'), Decimal('2.1')], u'Iris-virginica'),\n",
-       " (141, [Decimal('6.7'), Decimal('3.1'), Decimal('5.6'), Decimal('2.4')], u'Iris-virginica'),\n",
-       " (142, [Decimal('6.9'), Decimal('3.1'), Decimal('5.1'), Decimal('2.3')], u'Iris-virginica'),\n",
-       " (143, [Decimal('5.8'), Decimal('2.7'), Decimal('5.1'), Decimal('1.9')], u'Iris-virginica'),\n",
-       " (144, [Decimal('6.8'), Decimal('3.2'), Decimal('5.9'), Decimal('2.3')], u'Iris-virginica'),\n",
-       " (145, [Decimal('6.7'), Decimal('3.3'), Decimal('5.7'), Decimal('2.5')], u'Iris-virginica'),\n",
-       " (146, [Decimal('6.7'), Decimal('3.0'), Decimal('5.2'), Decimal('2.3')], u'Iris-virginica'),\n",
-       " (147, [Decimal('6.3'), Decimal('2.5'), Decimal('5.0'), Decimal('1.9')], u'Iris-virginica'),\n",
-       " (148, [Decimal('6.5'), Decimal('3.0'), Decimal('5.2'), Decimal('2.0')], u'Iris-virginica'),\n",
-       " (149, [Decimal('6.2'), Decimal('3.4'), Decimal('5.4'), Decimal('2.3')], u'Iris-virginica'),\n",
-       " (150, [Decimal('5.9'), Decimal('3.0'), Decimal('5.1'), Decimal('1.8')], u'Iris-virginica')]"
-      ]
-     },
-     "execution_count": 4,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql \n",
-    "DROP TABLE IF EXISTS iris_data;\n",
-    "\n",
-    "CREATE TABLE iris_data(\n",
-    "    id serial,\n",
-    "    attributes numeric[],\n",
-    "    class_text varchar\n",
-    ");\n",
-    "\n",
-    "INSERT INTO iris_data(id, attributes, class_text) VALUES\n",
-    "(1,ARRAY[5.1,3.5,1.4,0.2],'Iris-setosa'),\n",
-    "(2,ARRAY[4.9,3.0,1.4,0.2],'Iris-setosa'),\n",
-    "(3,ARRAY[4.7,3.2,1.3,0.2],'Iris-setosa'),\n",
-    "(4,ARRAY[4.6,3.1,1.5,0.2],'Iris-setosa'),\n",
-    "(5,ARRAY[5.0,3.6,1.4,0.2],'Iris-setosa'),\n",
-    "(6,ARRAY[5.4,3.9,1.7,0.4],'Iris-setosa'),\n",
-    "(7,ARRAY[4.6,3.4,1.4,0.3],'Iris-setosa'),\n",
-    "(8,ARRAY[5.0,3.4,1.5,0.2],'Iris-setosa'),\n",
-    "(9,ARRAY[4.4,2.9,1.4,0.2],'Iris-setosa'),\n",
-    "(10,ARRAY[4.9,3.1,1.5,0.1],'Iris-setosa'),\n",
-    "(11,ARRAY[5.4,3.7,1.5,0.2],'Iris-setosa'),\n",
-    "(12,ARRAY[4.8,3.4,1.6,0.2],'Iris-setosa'),\n",
-    "(13,ARRAY[4.8,3.0,1.4,0.1],'Iris-setosa'),\n",
-    "(14,ARRAY[4.3,3.0,1.1,0.1],'Iris-setosa'),\n",
-    "(15,ARRAY[5.8,4.0,1.2,0.2],'Iris-setosa'),\n",
-    "(16,ARRAY[5.7,4.4,1.5,0.4],'Iris-setosa'),\n",
-    "(17,ARRAY[5.4,3.9,1.3,0.4],'Iris-setosa'),\n",
-    "(18,ARRAY[5.1,3.5,1.4,0.3],'Iris-setosa'),\n",
-    "(19,ARRAY[5.7,3.8,1.7,0.3],'Iris-setosa'),\n",
-    "(20,ARRAY[5.1,3.8,1.5,0.3],'Iris-setosa'),\n",
-    "(21,ARRAY[5.4,3.4,1.7,0.2],'Iris-setosa'),\n",
-    "(22,ARRAY[5.1,3.7,1.5,0.4],'Iris-setosa'),\n",
-    "(23,ARRAY[4.6,3.6,1.0,0.2],'Iris-setosa'),\n",
-    "(24,ARRAY[5.1,3.3,1.7,0.5],'Iris-setosa'),\n",
-    "(25,ARRAY[4.8,3.4,1.9,0.2],'Iris-setosa'),\n",
-    "(26,ARRAY[5.0,3.0,1.6,0.2],'Iris-setosa'),\n",
-    "(27,ARRAY[5.0,3.4,1.6,0.4],'Iris-setosa'),\n",
-    "(28,ARRAY[5.2,3.5,1.5,0.2],'Iris-setosa'),\n",
-    "(29,ARRAY[5.2,3.4,1.4,0.2],'Iris-setosa'),\n",
-    "(30,ARRAY[4.7,3.2,1.6,0.2],'Iris-setosa'),\n",
-    "(31,ARRAY[4.8,3.1,1.6,0.2],'Iris-setosa'),\n",
-    "(32,ARRAY[5.4,3.4,1.5,0.4],'Iris-setosa'),\n",
-    "(33,ARRAY[5.2,4.1,1.5,0.1],'Iris-setosa'),\n",
-    "(34,ARRAY[5.5,4.2,1.4,0.2],'Iris-setosa'),\n",
-    "(35,ARRAY[4.9,3.1,1.5,0.1],'Iris-setosa'),\n",
-    "(36,ARRAY[5.0,3.2,1.2,0.2],'Iris-setosa'),\n",
-    "(37,ARRAY[5.5,3.5,1.3,0.2],'Iris-setosa'),\n",
-    "(38,ARRAY[4.9,3.1,1.5,0.1],'Iris-setosa'),\n",
-    "(39,ARRAY[4.4,3.0,1.3,0.2],'Iris-setosa'),\n",
-    "(40,ARRAY[5.1,3.4,1.5,0.2],'Iris-setosa'),\n",
-    "(41,ARRAY[5.0,3.5,1.3,0.3],'Iris-setosa'),\n",
-    "(42,ARRAY[4.5,2.3,1.3,0.3],'Iris-setosa'),\n",
-    "(43,ARRAY[4.4,3.2,1.3,0.2],'Iris-setosa'),\n",
-    "(44,ARRAY[5.0,3.5,1.6,0.6],'Iris-setosa'),\n",
-    "(45,ARRAY[5.1,3.8,1.9,0.4],'Iris-setosa'),\n",
-    "(46,ARRAY[4.8,3.0,1.4,0.3],'Iris-setosa'),\n",
-    "(47,ARRAY[5.1,3.8,1.6,0.2],'Iris-setosa'),\n",
-    "(48,ARRAY[4.6,3.2,1.4,0.2],'Iris-setosa'),\n",
-    "(49,ARRAY[5.3,3.7,1.5,0.2],'Iris-setosa'),\n",
-    "(50,ARRAY[5.0,3.3,1.4,0.2],'Iris-setosa'),\n",
-    "(51,ARRAY[7.0,3.2,4.7,1.4],'Iris-versicolor'),\n",
-    "(52,ARRAY[6.4,3.2,4.5,1.5],'Iris-versicolor'),\n",
-    "(53,ARRAY[6.9,3.1,4.9,1.5],'Iris-versicolor'),\n",
-    "(54,ARRAY[5.5,2.3,4.0,1.3],'Iris-versicolor'),\n",
-    "(55,ARRAY[6.5,2.8,4.6,1.5],'Iris-versicolor'),\n",
-    "(56,ARRAY[5.7,2.8,4.5,1.3],'Iris-versicolor'),\n",
-    "(57,ARRAY[6.3,3.3,4.7,1.6],'Iris-versicolor'),\n",
-    "(58,ARRAY[4.9,2.4,3.3,1.0],'Iris-versicolor'),\n",
-    "(59,ARRAY[6.6,2.9,4.6,1.3],'Iris-versicolor'),\n",
-    "(60,ARRAY[5.2,2.7,3.9,1.4],'Iris-versicolor'),\n",
-    "(61,ARRAY[5.0,2.0,3.5,1.0],'Iris-versicolor'),\n",
-    "(62,ARRAY[5.9,3.0,4.2,1.5],'Iris-versicolor'),\n",
-    "(63,ARRAY[6.0,2.2,4.0,1.0],'Iris-versicolor'),\n",
-    "(64,ARRAY[6.1,2.9,4.7,1.4],'Iris-versicolor'),\n",
-    "(65,ARRAY[5.6,2.9,3.6,1.3],'Iris-versicolor'),\n",
-    "(66,ARRAY[6.7,3.1,4.4,1.4],'Iris-versicolor'),\n",
-    "(67,ARRAY[5.6,3.0,4.5,1.5],'Iris-versicolor'),\n",
-    "(68,ARRAY[5.8,2.7,4.1,1.0],'Iris-versicolor'),\n",
-    "(69,ARRAY[6.2,2.2,4.5,1.5],'Iris-versicolor'),\n",
-    "(70,ARRAY[5.6,2.5,3.9,1.1],'Iris-versicolor'),\n",
-    "(71,ARRAY[5.9,3.2,4.8,1.8],'Iris-versicolor'),\n",
-    "(72,ARRAY[6.1,2.8,4.0,1.3],'Iris-versicolor'),\n",
-    "(73,ARRAY[6.3,2.5,4.9,1.5],'Iris-versicolor'),\n",
-    "(74,ARRAY[6.1,2.8,4.7,1.2],'Iris-versicolor'),\n",
-    "(75,ARRAY[6.4,2.9,4.3,1.3],'Iris-versicolor'),\n",
-    "(76,ARRAY[6.6,3.0,4.4,1.4],'Iris-versicolor'),\n",
-    "(77,ARRAY[6.8,2.8,4.8,1.4],'Iris-versicolor'),\n",
-    "(78,ARRAY[6.7,3.0,5.0,1.7],'Iris-versicolor'),\n",
-    "(79,ARRAY[6.0,2.9,4.5,1.5],'Iris-versicolor'),\n",
-    "(80,ARRAY[5.7,2.6,3.5,1.0],'Iris-versicolor'),\n",
-    "(81,ARRAY[5.5,2.4,3.8,1.1],'Iris-versicolor'),\n",
-    "(82,ARRAY[5.5,2.4,3.7,1.0],'Iris-versicolor'),\n",
-    "(83,ARRAY[5.8,2.7,3.9,1.2],'Iris-versicolor'),\n",
-    "(84,ARRAY[6.0,2.7,5.1,1.6],'Iris-versicolor'),\n",
-    "(85,ARRAY[5.4,3.0,4.5,1.5],'Iris-versicolor'),\n",
-    "(86,ARRAY[6.0,3.4,4.5,1.6],'Iris-versicolor'),\n",
-    "(87,ARRAY[6.7,3.1,4.7,1.5],'Iris-versicolor'),\n",
-    "(88,ARRAY[6.3,2.3,4.4,1.3],'Iris-versicolor'),\n",
-    "(89,ARRAY[5.6,3.0,4.1,1.3],'Iris-versicolor'),\n",
-    "(90,ARRAY[5.5,2.5,4.0,1.3],'Iris-versicolor'),\n",
-    "(91,ARRAY[5.5,2.6,4.4,1.2],'Iris-versicolor'),\n",
-    "(92,ARRAY[6.1,3.0,4.6,1.4],'Iris-versicolor'),\n",
-    "(93,ARRAY[5.8,2.6,4.0,1.2],'Iris-versicolor'),\n",
-    "(94,ARRAY[5.0,2.3,3.3,1.0],'Iris-versicolor'),\n",
-    "(95,ARRAY[5.6,2.7,4.2,1.3],'Iris-versicolor'),\n",
-    "(96,ARRAY[5.7,3.0,4.2,1.2],'Iris-versicolor'),\n",
-    "(97,ARRAY[5.7,2.9,4.2,1.3],'Iris-versicolor'),\n",
-    "(98,ARRAY[6.2,2.9,4.3,1.3],'Iris-versicolor'),\n",
-    "(99,ARRAY[5.1,2.5,3.0,1.1],'Iris-versicolor'),\n",
-    "(100,ARRAY[5.7,2.8,4.1,1.3],'Iris-versicolor'),\n",
-    "(101,ARRAY[6.3,3.3,6.0,2.5],'Iris-virginica'),\n",
-    "(102,ARRAY[5.8,2.7,5.1,1.9],'Iris-virginica'),\n",
-    "(103,ARRAY[7.1,3.0,5.9,2.1],'Iris-virginica'),\n",
-    "(104,ARRAY[6.3,2.9,5.6,1.8],'Iris-virginica'),\n",
-    "(105,ARRAY[6.5,3.0,5.8,2.2],'Iris-virginica'),\n",
-    "(106,ARRAY[7.6,3.0,6.6,2.1],'Iris-virginica'),\n",
-    "(107,ARRAY[4.9,2.5,4.5,1.7],'Iris-virginica'),\n",
-    "(108,ARRAY[7.3,2.9,6.3,1.8],'Iris-virginica'),\n",
-    "(109,ARRAY[6.7,2.5,5.8,1.8],'Iris-virginica'),\n",
-    "(110,ARRAY[7.2,3.6,6.1,2.5],'Iris-virginica'),\n",
-    "(111,ARRAY[6.5,3.2,5.1,2.0],'Iris-virginica'),\n",
-    "(112,ARRAY[6.4,2.7,5.3,1.9],'Iris-virginica'),\n",
-    "(113,ARRAY[6.8,3.0,5.5,2.1],'Iris-virginica'),\n",
-    "(114,ARRAY[5.7,2.5,5.0,2.0],'Iris-virginica'),\n",
-    "(115,ARRAY[5.8,2.8,5.1,2.4],'Iris-virginica'),\n",
-    "(116,ARRAY[6.4,3.2,5.3,2.3],'Iris-virginica'),\n",
-    "(117,ARRAY[6.5,3.0,5.5,1.8],'Iris-virginica'),\n",
-    "(118,ARRAY[7.7,3.8,6.7,2.2],'Iris-virginica'),\n",
-    "(119,ARRAY[7.7,2.6,6.9,2.3],'Iris-virginica'),\n",
-    "(120,ARRAY[6.0,2.2,5.0,1.5],'Iris-virginica'),\n",
-    "(121,ARRAY[6.9,3.2,5.7,2.3],'Iris-virginica'),\n",
-    "(122,ARRAY[5.6,2.8,4.9,2.0],'Iris-virginica'),\n",
-    "(123,ARRAY[7.7,2.8,6.7,2.0],'Iris-virginica'),\n",
-    "(124,ARRAY[6.3,2.7,4.9,1.8],'Iris-virginica'),\n",
-    "(125,ARRAY[6.7,3.3,5.7,2.1],'Iris-virginica'),\n",
-    "(126,ARRAY[7.2,3.2,6.0,1.8],'Iris-virginica'),\n",
-    "(127,ARRAY[6.2,2.8,4.8,1.8],'Iris-virginica'),\n",
-    "(128,ARRAY[6.1,3.0,4.9,1.8],'Iris-virginica'),\n",
-    "(129,ARRAY[6.4,2.8,5.6,2.1],'Iris-virginica'),\n",
-    "(130,ARRAY[7.2,3.0,5.8,1.6],'Iris-virginica'),\n",
-    "(131,ARRAY[7.4,2.8,6.1,1.9],'Iris-virginica'),\n",
-    "(132,ARRAY[7.9,3.8,6.4,2.0],'Iris-virginica'),\n",
-    "(133,ARRAY[6.4,2.8,5.6,2.2],'Iris-virginica'),\n",
-    "(134,ARRAY[6.3,2.8,5.1,1.5],'Iris-virginica'),\n",
-    "(135,ARRAY[6.1,2.6,5.6,1.4],'Iris-virginica'),\n",
-    "(136,ARRAY[7.7,3.0,6.1,2.3],'Iris-virginica'),\n",
-    "(137,ARRAY[6.3,3.4,5.6,2.4],'Iris-virginica'),\n",
-    "(138,ARRAY[6.4,3.1,5.5,1.8],'Iris-virginica'),\n",
-    "(139,ARRAY[6.0,3.0,4.8,1.8],'Iris-virginica'),\n",
-    "(140,ARRAY[6.9,3.1,5.4,2.1],'Iris-virginica'),\n",
-    "(141,ARRAY[6.7,3.1,5.6,2.4],'Iris-virginica'),\n",
-    "(142,ARRAY[6.9,3.1,5.1,2.3],'Iris-virginica'),\n",
-    "(143,ARRAY[5.8,2.7,5.1,1.9],'Iris-virginica'),\n",
-    "(144,ARRAY[6.8,3.2,5.9,2.3],'Iris-virginica'),\n",
-    "(145,ARRAY[6.7,3.3,5.7,2.5],'Iris-virginica'),\n",
-    "(146,ARRAY[6.7,3.0,5.2,2.3],'Iris-virginica'),\n",
-    "(147,ARRAY[6.3,2.5,5.0,1.9],'Iris-virginica'),\n",
-    "(148,ARRAY[6.5,3.0,5.2,2.0],'Iris-virginica'),\n",
-    "(149,ARRAY[6.2,3.4,5.4,2.3],'Iris-virginica'),\n",
-    "(150,ARRAY[5.9,3.0,5.1,1.8],'Iris-virginica');\n",
-    "\n",
-    "SELECT * FROM iris_data ORDER BY id;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Create a test/validation dataset from the training data"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 5,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "1 rows affected.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>count</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>120</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(120L,)]"
-      ]
-     },
-     "execution_count": 5,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS iris_train, iris_test;\n",
-    "\n",
-    "-- Set seed so results are reproducible\n",
-    "SELECT setseed(0);\n",
-    "\n",
-    "SELECT madlib.train_test_split('iris_data',     -- Source table\n",
-    "                               'iris',          -- Output table root name\n",
-    "                                0.8,            -- Train proportion\n",
-    "                                NULL,           -- Test proportion (0.2)\n",
-    "                                NULL,           -- Strata definition\n",
-    "                                NULL,           -- Output all columns\n",
-    "                                NULL,           -- Sample without replacement\n",
-    "                                TRUE            -- Separate output tables\n",
-    "                              );\n",
-    "\n",
-    "SELECT COUNT(*) FROM iris_train;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"pp\"></a>\n",
-    "# 2. Call preprocessor for deep learning\n",
-    "Training dataset (uses training preprocessor):"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 6,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>independent_var</th>\n",
-       "        <th>dependent_var</th>\n",
-       "        <th>buffer_id</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[5.3, 3.7, 1.5, 0.2], [6.3, 3.4, 5.6, 2.4], [7.2, 3.2, 6.0, 1.8], [5.7, 4.4, 1.5, 0.4], [5.4, 3.7, 1.5, 0.2], [5.0, 3.0, 1.6, 0.2], [4.7, 3.2, 1.3, 0.2], [5.0, 2.3, 3.3, 1.0], [5.7, 2.8, 4.5, 1.3], [4.8, 3.0, 1.4, 0.1], [5.7, 3.8, 1.7, 0.3], [5.5, 4.2, 1.4, 0.2], [7.7, 3.8, 6.7, 2.2], [6.0, 2.2, 5.0, 1.5], [6.5, 3.0, 5.2, 2.0], [4.6, 3.6, 1.0, 0.2], [6.9, 3.1, 4.9, 1.5], [5.1, 3.8, 1.9, 0.4], [6.7, 2.5, 5.8, 1.8], [6.0, 2.7, 5.1, 1.6], [6.3, 3.3, 4.7, 1.6], [6.7, 3.1, 4.7, 1.5], [6.1, 3.0, 4.9, 1.8], [5.6, 2.9, 3.6, 1.3], [4.9, 3.1, 1.5, 0.1], [5.7, 2.6, 3.5, 1.0], [5.6, 2.8, 4.9, 2.0], [5.2, 2.7, 3.9, 1.4], [6.1, 2.8, 4.0, 1.3], [5.0, 3.2, 1.2, 0.2], [7.1, 3.0, 5.9, 2.1], [5.8, 2.7, 5.1, 1.9], [6.7, 3.0, 5.0, 1.7], [5.7, 2.9, 4.2, 1.3], [6.4, 2.9, 4.3, 1.3], [5.6, 3.0, 4.1, 1.3], [7.4, 2.8, 6.1, 1.9], [6.3, 2.7, 4.9, 1.8], [4.6, 3.4, 1.4, 0.3], [7.7, 2.6, 6.9, 2.3], [4.9, 3.1, 1.5, 0.1], [5.2, 3.5, 1.5, 0.2], [7.7, 2.8, 6.7, 2.0], [4.8, 3.0, 1.4, 0.3], [6.3, 2.5, 4.9, 1.5], [5.7, 2.5, 5.0, 2.0], [5.8, 4.0, 1.2, 0.2], [5.2, 3.4, 1.4, 0.2], [5.8, 2.7, 4.1, 1.0], [4.5, 2.3, 1.3, 0.3], [6.2, 2.9, 4.3, 1.3], [7.9, 3.8, 6.4, 2.0], [5.0, 3.4, 1.6, 0.4], [5.6, 2.5, 3.9, 1.1], [5.5, 2.4, 3.7, 1.0], [5.1, 3.7, 1.5, 0.4], [5.9, 3.0, 4.2, 1.5], [5.0, 3.4, 1.5, 0.2], [4.6, 3.2, 1.4, 0.2], [5.5, 2.5, 4.0, 1.3], [5.1, 3.5, 1.4, 0.3], [4.8, 3.1, 1.6, 0.2], [5.4, 3.9, 1.7, 0.4], [5.5, 3.5, 1.3, 0.2], [7.6, 3.0, 6.6, 2.1], [5.0, 3.5, 1.3, 0.3], [5.7, 3.0, 4.2, 1.2], [4.9, 2.4, 3.3, 1.0], [6.3, 2.5, 5.0, 1.9], [6.7, 3.1, 5.6, 2.4], [6.4, 3.1, 5.5, 1.8], [6.8, 2.8, 4.8, 1.4], [5.1, 3.8, 1.6, 0.2], [6.4, 2.7, 5.3, 1.9], [6.1, 2.9, 4.7, 1.4], [6.4, 2.8, 5.6, 2.2], [5.5, 2.6, 4.4, 1.2], [4.9, 3.1, 1.5, 0.1], [6.0, 3.0, 4.8, 1.8], [6.7, 3.1, 4.4, 1.4], [6.2, 2.8, 4.8, 1.8], [4.8, 3.4, 1.6, 0.2], [5.4, 3.4, 1.7, 0.2], [7.2, 3.0, 5.8, 1.6], [6.2, 3.4, 5.4, 2.3], [4.4, 2.9, 1.4, 0.2], [4.9, 3.0, 1.4, 0.2], [5.8, 2.8, 5.1, 2.4], [6.7, 3.3, 5.7, 2.5], [6.9, 3.1, 5.1, 2.3], [7.3, 2.9, 6.3, 1.8], [6.8, 3.2, 5.9, 2.3], [5.4, 3.4, 1.5, 0.4], [5.2, 4.1, 1.5, 0.1], [7.2, 3.6, 6.1, 2.5], [6.5, 3.0, 5.8, 2.2], [6.0, 2.2, 4.0, 1.0], [6.4, 3.2, 5.3, 2.3], [6.2, 2.2, 4.5, 1.5], [6.9, 3.2, 5.7, 2.3], [6.7, 3.0, 5.2, 2.3], [6.1, 2.8, 4.7, 1.2], [5.4, 3.0, 4.5, 1.5], [4.8, 3.4, 1.9, 0.2], [6.7, 3.3, 5.7, 2.1], [5.1, 2.5, 3.0, 1.1], [6.0, 2.9, 4.5, 1.5], [5.1, 3.8, 1.5, 0.3], [6.3, 3.3, 6.0, 2.5], [6.8, 3.0, 5.5, 2.1], [6.1, 2.6, 5.6, 1.4], [5.0, 3.5, 1.6, 0.6], [4.3, 3.0, 1.1, 0.1], [5.1, 3.5, 1.4, 0.2], [6.4, 2.8, 5.6, 2.1], [7.0, 3.2, 4.7, 1.4], [5.6, 3.0, 4.5, 1.5], [5.0, 3.6, 1.4, 0.2], [7.7, 3.0, 6.1, 2.3], [5.9, 3.2, 4.8, 1.8]]</td>\n",
-       "        <td>[[1, 0, 0], [0, 0, 1], [0, 0, 1], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [0, 1, 0], [0, 1, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [0, 0, 1], [0, 0, 1], [0, 0, 1], [1, 0, 0], [0, 1, 0], [1, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 0], [0, 1, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 1, 0], [0, 0, 1], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 0, 1], [0, 0, 1], [0, 1, 0], [0, 1, 0], [0, 1, 0], [0, 1, 0], [0, 0, 1], [0, 0, 1], [1, 0, 0], [0, 0, 1], [1, 0, 0], [1, 0, 0], [0, 0, 1], [1, 0, 0], [0, 1, 0], [0, 0, 1], [1, 0, 0], [1, 0, 0], [0, 1, 0], [1, 0, 0], [0, 1, 0], [0, 0, 1], [1, 0, 0], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 1, 0], [1, 0, 0], [1, 0, 0], [0, 1, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [0, 0, 1], [1, 0, 0], [0, 1, 0], [0, 1, 0], [0, 0, 1], [0, 0, 1], [0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 0, 1], [0, 1, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 0, 1], [0, 1, 0], [0, 0, 1], [1, 0, 0], [1, 0, 0], [0, 0, 1], [0, 0, 1], [1, 0, 0], [1, 0, 0], [0, 0, 1], [0, 0, 1], [0, 0, 1], [0, 0, 1], [0, 0, 1], [1, 0, 0], [1, 0, 0], [0, 0, 1], [0, 0, 1], [0, 1, 0], [0, 0, 1], [0, 1, 0], [0, 0, 1], [0, 0, 1], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 0, 1], [0, 0, 1], [0, 0, 1], [1, 0, 0], [1, 0, 0], [1, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 0, 1], [0, 1, 0]]</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[([[5.3, 3.7, 1.5, 0.2], [6.3, 3.4, 5.6, 2.4], [7.2, 3.2, 6.0, 1.8], [5.7, 4.4, 1.5, 0.4], [5.4, 3.7, 1.5, 0.2], [5.0, 3.0, 1.6, 0.2], [4.7, 3.2, 1.3, 0.2], [5.0, 2.3, 3.3, 1.0], [5.7, 2.8, 4.5, 1.3], [4.8, 3.0, 1.4, 0.1], [5.7, 3.8, 1.7, 0.3], [5.5, 4.2, 1.4, 0.2], [7.7, 3.8, 6.7, 2.2], [6.0, 2.2, 5.0, 1.5], [6.5, 3.0, 5.2, 2.0], [4.6, 3.6, 1.0, 0.2], [6.9, 3.1, 4.9, 1.5], [5.1, 3.8, 1.9, 0.4], [6.7, 2.5, 5.8, 1.8], [6.0, 2.7, 5.1, 1.6], [6.3, 3.3, 4.7, 1.6], [6.7, 3.1, 4.7, 1.5], [6.1, 3.0, 4.9, 1.8], [5.6, 2.9, 3.6, 1.3], [4.9, 3.1, 1.5, 0.1], [5.7, 2.6, 3.5, 1.0], [5.6, 2.8, 4.9, 2.0], [5.2, 2.7, 3.9, 1.4], [6.1, 2.8, 4.0, 1.3], [5.0, 3.2, 1.2, 0.2], [7.1, 3.0, 5.9, 2.1], [5.8, 2.7, 5.1, 1.9], [6.7, 3.0, 5.0, 1.7], [5.7, 2.9, 4.2, 1.3], [6.4, 2.9, 4.3, 1.3], [5.6, 3.0, 4.1, 1.3], [7.4, 2.8, 6.1, 1.9], [6.3, 2.7, 4.9, 1.8], [4.6, 3.4, 1.4, 0.3], [7.7, 2.6, 6.9, 2.3], [4.9, 3.1, 1.5, 0.1], [5.2, 3.5, 1.5, 0.2], [7.7, 2.8, 6.7, 2.0], [4.8, 3.0, 1.4, 0.3], [6.3, 2.5, 4.9, 1.5], [5.7, 2.5, 5.0, 2.0], [5.8, 4.0, 1.2, 0.2], [5.2, 3.4, 1.4, 0.2], [5.8, 2.7, 4.1, 1.0], [4.5, 2.3, 1.3, 0.3], [6.2, 2.9, 4.3, 1.3], [7.9, 3.8, 6.4, 2.0], [5.0, 3.4, 1.6, 0.4], [5.6, 2.5, 3.9, 1.1], [5.5, 2.4, 3.7, 1.0], [5.1, 3.7, 1.5, 0.4], [5.9, 3.0, 4.2, 1.5], [5.0, 3.4, 1.5, 0.2], [4.6, 3.2, 1.4, 0.2], [5.5, 2.5, 4.0, 1.3], [5.1, 3.5, 1.4, 0.3], [4.8, 3.1, 1.6, 0.2], [5.4, 3.9, 1.7, 0.4], [5.5, 3.5, 1.3, 0.2], [7.6, 3.0, 6.6, 2.1], [5.0, 3.5, 1.3, 0.3], [5.7, 3.0, 4.2, 1.2], [4.9, 2.4, 3.3, 1.0], [6.3, 2.5, 5.0, 1.9], [6.7, 3.1, 5.6, 2.4], [6.4, 3.1, 5.5, 1.8], [6.8, 2.8, 4.8, 1.4], [5.1, 3.8, 1.6, 0.2], [6.4, 2.7, 5.3, 1.9], [6.1, 2.9, 4.7, 1.4], [6.4, 2.8, 5.6, 2.2], [5.5, 2.6, 4.4, 1.2], [4.9, 3.1, 1.5, 0.1], [6.0, 3.0, 4.8, 1.8], [6.7, 3.1, 4.4, 1.4], [6.2, 2.8, 4.8, 1.8], [4.8, 3.4, 1.6, 0.2], [5.4, 3.4, 1.7, 0.2], [7.2, 3.0, 5.8, 1.6], [6.2, 3.4, 5.4, 2.3], [4.4, 2.9, 1.4, 0.2], [4.9, 3.0, 1.4, 0.2], [5.8, 2.8, 5.1, 2.4], [6.7, 3.3, 5.7, 2.5], [6.9, 3.1, 5.1, 2.3], [7.3, 2.9, 6.3, 1.8], [6.8, 3.2, 5.9, 2.3], [5.4, 3.4, 1.5, 0.4], [5.2, 4.1, 1.5, 0.1], [7.2, 3.6, 6.1, 2.5], [6.5, 3.0, 5.8, 2.2], [6.0, 2.2, 4.0, 1.0], [6.4, 3.2, 5.3, 2.3], [6.2, 2.2, 4.5, 1.5], [6.9, 3.2, 5.7, 2.3], [6.7, 3.0, 5.2, 2.3], [6.1, 2.8, 4.7, 1.2], [5.4, 3.0, 4.5, 1.5], [4.8, 3.4, 1.9, 0.2], [6.7, 3.3, 5.7, 2.1], [5.1, 2.5, 3.0, 1.1], [6.0, 2.9, 4.5, 1.5], [5.1, 3.8, 1.5, 0.3], [6.3, 3.3, 6.0, 2.5], [6.8, 3.0, 5.5, 2.1], [6.1, 2.6, 5.6, 1.4], [5.0, 3.5, 1.6, 0.6], [4.3, 3.0, 1.1, 0.1], [5.1, 3.5, 1.4, 0.2], [6.4, 2.8, 5.6, 2.1], [7.0, 3.2, 4.7, 1.4], [5.6, 3.0, 4.5, 1.5], [5.0, 3.6, 1.4, 0.2], [7.7, 3.0, 6.1, 2.3], [5.9, 3.2, 4.8, 1.8]], [[1, 0, 0], [0, 0, 1], [0, 0, 1], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [0, 1, 0], [0, 1, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [0, 0, 1], [0, 0, 1], [0, 0, 1], [1, 0, 0], [0, 1, 0], [1, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 0], [0, 1, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 1, 0], [0, 0, 1], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 0, 1], [0, 0, 1], [0, 1, 0], [0, 1, 0], [0, 1, 0], [0, 1, 0], [0, 0, 1], [0, 0, 1], [1, 0, 0], [0, 0, 1], [1, 0, 0], [1, 0, 0], [0, 0, 1], [1, 0, 0], [0, 1, 0], [0, 0, 1], [1, 0, 0], [1, 0, 0], [0, 1, 0], [1, 0, 0], [0, 1, 0], [0, 0, 1], [1, 0, 0], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 1, 0], [1, 0, 0], [1, 0, 0], [0, 1, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [0, 0, 1], [1, 0, 0], [0, 1, 0], [0, 1, 0], [0, 0, 1], [0, 0, 1], [0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 0, 1], [0, 1, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 0, 1], [0, 1, 0], [0, 0, 1], [1, 0, 0], [1, 0, 0], [0, 0, 1], [0, 0, 1], [1, 0, 0], [1, 0, 0], [0, 0, 1], [0, 0, 1], [0, 0, 1], [0, 0, 1], [0, 0, 1], [1, 0, 0], [1, 0, 0], [0, 0, 1], [0, 0, 1], [0, 1, 0], [0, 0, 1], [0, 1, 0], [0, 0, 1], [0, 0, 1], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 0, 1], [0, 0, 1], [0, 0, 1], [1, 0, 0], [1, 0, 0], [1, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 0, 1], [0, 1, 0]], 0)]"
-      ]
-     },
-     "execution_count": 6,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS iris_train_packed, iris_train_packed_summary;\n",
-    "\n",
-    "SELECT madlib.training_preprocessor_dl('iris_train',         -- Source table\n",
-    "                                       'iris_train_packed',  -- Output table\n",
-    "                                       'class_text',        -- Dependent variable\n",
-    "                                       'attributes'         -- Independent variable\n",
-    "                                        ); \n",
-    "\n",
-    "SELECT * FROM iris_train_packed ORDER BY buffer_id;"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 7,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>source_table</th>\n",
-       "        <th>output_table</th>\n",
-       "        <th>dependent_varname</th>\n",
-       "        <th>independent_varname</th>\n",
-       "        <th>dependent_vartype</th>\n",
-       "        <th>class_values</th>\n",
-       "        <th>buffer_size</th>\n",
-       "        <th>normalizing_const</th>\n",
-       "        <th>num_classes</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>iris_train</td>\n",
-       "        <td>iris_train_packed</td>\n",
-       "        <td>class_text</td>\n",
-       "        <td>attributes</td>\n",
-       "        <td>character varying</td>\n",
-       "        <td>[u'Iris-setosa', u'Iris-versicolor', u'Iris-virginica']</td>\n",
-       "        <td>120</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>3</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'iris_train', u'iris_train_packed', u'class_text', u'attributes', u'character varying', [u'Iris-setosa', u'Iris-versicolor', u'Iris-virginica'], 120, 1.0, 3)]"
-      ]
-     },
-     "execution_count": 7,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT * FROM iris_train_packed_summary;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Validation dataset (uses validation preprocessor):"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 8,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>independent_var</th>\n",
-       "        <th>dependent_var</th>\n",
-       "        <th>buffer_id</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[5.1, 3.4, 1.5, 0.2], [5.7, 2.8, 4.1, 1.3], [6.6, 3.0, 4.4, 1.4], [5.4, 3.9, 1.3, 0.4], [5.6, 2.7, 4.2, 1.3], [6.9, 3.1, 5.4, 2.1], [6.5, 3.0, 5.5, 1.8], [6.1, 3.0, 4.6, 1.4], [4.4, 3.2, 1.3, 0.2], [4.9, 2.5, 4.5, 1.7], [6.5, 2.8, 4.6, 1.5], [4.6, 3.1, 1.5, 0.2], [6.3, 2.3, 4.4, 1.3], [5.0, 3.3, 1.4, 0.2], [6.3, 2.9, 5.6, 1.8], [6.5, 3.2, 5.1, 2.0], [6.3, 2.8, 5.1, 1.5], [5.8, 2.7, 5.1, 1.9], [5.8, 2.7, 3.9, 1.2], [6.4, 3.2, 4.5, 1.5], [6.0, 3.4, 4.5, 1.6], [5.1, 3.3, 1.7, 0.5], [5.0, 2.0, 3.5, 1.0], [5.5, 2.4, 3.8, 1.1], [4.4, 3.0, 1.3, 0.2], [5.5, 2.3, 4.0, 1.3], [5.9, 3.0, 5.1, 1.8], [6.6, 2.9, 4.6, 1.3], [5.8, 2.6, 4.0, 1.2], [4.7, 3.2, 1.6, 0.2]]</td>\n",
-       "        <td>[[1, 0, 0], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 1, 0], [0, 0, 1], [0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 1, 0], [1, 0, 0], [0, 0, 1], [0, 0, 1], [0, 0, 1], [0, 0, 1], [0, 1, 0], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 1, 0], [0, 0, 1], [0, 1, 0], [0, 1, 0], [1, 0, 0]]</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[([[5.1, 3.4, 1.5, 0.2], [5.7, 2.8, 4.1, 1.3], [6.6, 3.0, 4.4, 1.4], [5.4, 3.9, 1.3, 0.4], [5.6, 2.7, 4.2, 1.3], [6.9, 3.1, 5.4, 2.1], [6.5, 3.0, 5.5, 1.8], [6.1, 3.0, 4.6, 1.4], [4.4, 3.2, 1.3, 0.2], [4.9, 2.5, 4.5, 1.7], [6.5, 2.8, 4.6, 1.5], [4.6, 3.1, 1.5, 0.2], [6.3, 2.3, 4.4, 1.3], [5.0, 3.3, 1.4, 0.2], [6.3, 2.9, 5.6, 1.8], [6.5, 3.2, 5.1, 2.0], [6.3, 2.8, 5.1, 1.5], [5.8, 2.7, 5.1, 1.9], [5.8, 2.7, 3.9, 1.2], [6.4, 3.2, 4.5, 1.5], [6.0, 3.4, 4.5, 1.6], [5.1, 3.3, 1.7, 0.5], [5.0, 2.0, 3.5, 1.0], [5.5, 2.4, 3.8, 1.1], [4.4, 3.0, 1.3, 0.2], [5.5, 2.3, 4.0, 1.3], [5.9, 3.0, 5.1, 1.8], [6.6, 2.9, 4.6, 1.3], [5.8, 2.6, 4.0, 1.2], [4.7, 3.2, 1.6, 0.2]], [[1, 0, 0], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 1, 0], [0, 0, 1], [0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 1, 0], [1, 0, 0], [0, 0, 1], [0, 0, 1], [0, 0, 1], [0, 0, 1], [0, 1, 0], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 1, 0], [0, 0, 1], [0, 1, 0], [0, 1, 0], [1, 0, 0]], 0)]"
-      ]
-     },
-     "execution_count": 8,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS iris_test_packed, iris_test_packed_summary;\n",
-    "\n",
-    "SELECT madlib.validation_preprocessor_dl('iris_test',          -- Source table\n",
-    "                                         'iris_test_packed',   -- Output table\n",
-    "                                         'class_text',         -- Dependent variable\n",
-    "                                         'attributes',         -- Independent variable\n",
-    "                                         'iris_train_packed'   -- From training preprocessor step\n",
-    "                                          ); \n",
-    "\n",
-    "SELECT * FROM iris_test_packed ORDER BY buffer_id;"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 9,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>source_table</th>\n",
-       "        <th>output_table</th>\n",
-       "        <th>dependent_varname</th>\n",
-       "        <th>independent_varname</th>\n",
-       "        <th>dependent_vartype</th>\n",
-       "        <th>class_values</th>\n",
-       "        <th>buffer_size</th>\n",
-       "        <th>normalizing_const</th>\n",
-       "        <th>num_classes</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>iris_test</td>\n",
-       "        <td>iris_test_packed</td>\n",
-       "        <td>class_text</td>\n",
-       "        <td>attributes</td>\n",
-       "        <td>character varying</td>\n",
-       "        <td>[u'Iris-setosa', u'Iris-versicolor', u'Iris-virginica']</td>\n",
-       "        <td>30</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>3</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'iris_test', u'iris_test_packed', u'class_text', u'attributes', u'character varying', [u'Iris-setosa', u'Iris-versicolor', u'Iris-virginica'], 30, 1.0, 3)]"
-      ]
-     },
-     "execution_count": 9,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT * FROM iris_test_packed_summary;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"load\"></a>\n",
-    "# 3. Define and load model architecture\n",
-    "Import Keras libraries"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 10,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "Using TensorFlow backend.\n"
-     ]
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Couldn't import dot_parser, loading of dot files will not be possible.\n"
-     ]
-    }
-   ],
-   "source": [
-    "import keras\n",
-    "from keras.models import Sequential\n",
-    "from keras.layers import Dense"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Define model architecture"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 11,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "_________________________________________________________________\n",
-      "Layer (type)                 Output Shape              Param #   \n",
-      "=================================================================\n",
-      "dense_1 (Dense)              (None, 10)                50        \n",
-      "_________________________________________________________________\n",
-      "dense_2 (Dense)              (None, 10)                110       \n",
-      "_________________________________________________________________\n",
-      "dense_3 (Dense)              (None, 3)                 33        \n",
-      "=================================================================\n",
-      "Total params: 193\n",
-      "Trainable params: 193\n",
-      "Non-trainable params: 0\n",
-      "_________________________________________________________________\n"
-     ]
-    }
-   ],
-   "source": [
-    "model_simple = Sequential()\n",
-    "model_simple.add(Dense(10, activation='relu', input_shape=(4,)))\n",
-    "model_simple.add(Dense(10, activation='relu'))\n",
-    "model_simple.add(Dense(3, activation='softmax'))\n",
-    "    \n",
-    "model_simple.summary()"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 10,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "'{\"class_name\": \"Sequential\", \"keras_version\": \"2.1.6\", \"config\": [{\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"dense_1\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"dtype\": \"float32\", \"activation\": \"relu\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 10, \"batch_input_shape\": [null, 4], \"use_bias\": true, \"activity_regularizer\": null}}, {\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"dense_2\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"relu\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 10, \"use_bias\": true, \"activity_regularizer\": null}}, {\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"dense_3\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"softmax\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 3, \"use_bias\": true, \"activity_regularizer\": null}}], \"backend\": \"tensorflow\"}'"
-      ]
-     },
-     "execution_count": 10,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "model_simple.to_json()"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Load into model architecture table"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 12,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>model_id</th>\n",
-       "        <th>model_arch</th>\n",
-       "        <th>model_weights</th>\n",
-       "        <th>name</th>\n",
-       "        <th>description</th>\n",
-       "        <th>__internal_madlib_id__</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>{u'class_name': u'Sequential', u'keras_version': u'2.1.6', u'config': [{u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_1', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'dtype': u'float32', u'activation': u'relu', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 10, u'batch_input_shape': [None, 4], u'use_bias': True, u'activity_regularizer': None}}, {u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_2', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'activation': u'relu', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 10, u'use_bias': True, u'activity_regularizer': None}}, {u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_3', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'activation': u'softmax', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 3, u'use_bias': True, u'activity_regularizer': None}}], u'backend': u'tensorflow'}</td>\n",
-       "        <td>None</td>\n",
-       "        <td>Sophie</td>\n",
-       "        <td>A simple model</td>\n",
-       "        <td>__madlib_temp_62550369_1562173248_86696923__</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, {u'class_name': u'Sequential', u'keras_version': u'2.1.6', u'config': [{u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_1', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'dtype': u'float32', u'activation': u'relu', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 10, u'batch_input_shape': [None, 4], u'use_bias': True, u'activity_regularizer': None}}, {u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_2', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'activation': u'relu', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 10, u'use_bias': True, u'activity_regularizer': None}}, {u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_3', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'activation': u'softmax', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 3, u'use_bias': True, u'activity_regularizer': None}}], u'backend': u'tensorflow'}, None, u'Sophie', u'A simple model', u'__madlib_temp_62550369_1562173248_86696923__')]"
-      ]
-     },
-     "execution_count": 12,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS model_arch_library;\n",
-    "SELECT madlib.load_keras_model('model_arch_library',  -- Output table,\n",
-    "                               \n",
-    "$$\n",
-    "{\"class_name\": \"Sequential\", \"keras_version\": \"2.1.6\", \"config\": [{\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"dense_1\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"dtype\": \"float32\", \"activation\": \"relu\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 10, \"batch_input_shape\": [null, 4], \"use_bias\": true, \"activity_regularizer\": null}}, {\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"dense_2\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"relu\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 10, \"use_bias\": true, \"activity_regularizer\": null}}, {\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"dense_3\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"softmax\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 3, \"use_bias\": true, \"activity_regularizer\": null}}], \"backend\": \"tensorflow\"}\n",
-    "$$\n",
-    "::json,         -- JSON blob\n",
-    "                               NULL,                  -- Weights\n",
-    "                               'Sophie',              -- Name\n",
-    "                               'A simple model'       -- Descr\n",
-    ");\n",
-    "\n",
-    "SELECT * FROM model_arch_library;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"train\"></a>\n",
-    "# 4.  Train\n",
-    "Train the model:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 13,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>madlib_keras_fit</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td></td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[('',)]"
-      ]
-     },
-     "execution_count": 13,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS iris_model, iris_model_summary;\n",
-    "\n",
-    "SELECT madlib.madlib_keras_fit('iris_train_packed',   -- source table\n",
-    "                               'iris_model',          -- model output table\n",
-    "                               'model_arch_library',  -- model arch table\n",
-    "                                1,                    -- model arch id\n",
-    "                                $$ loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'] $$,  -- compile_params\n",
-    "                                $$ batch_size=5, epochs=3 $$,  -- fit_params\n",
-    "                                10                    -- num_iterations\n",
-    "                              );"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "View the model summary:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 14,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>source_table</th>\n",
-       "        <th>model</th>\n",
-       "        <th>dependent_varname</th>\n",
-       "        <th>independent_varname</th>\n",
-       "        <th>model_arch_table</th>\n",
-       "        <th>model_arch_id</th>\n",
-       "        <th>compile_params</th>\n",
-       "        <th>fit_params</th>\n",
-       "        <th>num_iterations</th>\n",
-       "        <th>validation_table</th>\n",
-       "        <th>metrics_compute_frequency</th>\n",
-       "        <th>name</th>\n",
-       "        <th>description</th>\n",
-       "        <th>model_type</th>\n",
-       "        <th>model_size</th>\n",
-       "        <th>start_training_time</th>\n",
-       "        <th>end_training_time</th>\n",
-       "        <th>metrics_elapsed_time</th>\n",
-       "        <th>madlib_version</th>\n",
-       "        <th>num_classes</th>\n",
-       "        <th>class_values</th>\n",
-       "        <th>dependent_vartype</th>\n",
-       "        <th>normalizing_const</th>\n",
-       "        <th>metrics_type</th>\n",
-       "        <th>training_metrics_final</th>\n",
-       "        <th>training_loss_final</th>\n",
-       "        <th>training_metrics</th>\n",
-       "        <th>training_loss</th>\n",
-       "        <th>validation_metrics_final</th>\n",
-       "        <th>validation_loss_final</th>\n",
-       "        <th>validation_metrics</th>\n",
-       "        <th>validation_loss</th>\n",
-       "        <th>metrics_iters</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>iris_train_packed</td>\n",
-       "        <td>iris_model</td>\n",
-       "        <td>class_text</td>\n",
-       "        <td>attributes</td>\n",
-       "        <td>model_arch_library</td>\n",
-       "        <td>1</td>\n",
-       "        <td> loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'] </td>\n",
-       "        <td> batch_size=5, epochs=3 </td>\n",
-       "        <td>10</td>\n",
-       "        <td>None</td>\n",
-       "        <td>10</td>\n",
-       "        <td>None</td>\n",
-       "        <td>None</td>\n",
-       "        <td>madlib_keras</td>\n",
-       "        <td>0.7900390625</td>\n",
-       "        <td>2019-07-03 10:00:52.477704</td>\n",
-       "        <td>2019-07-03 10:00:58.552077</td>\n",
-       "        <td>[6.07431507110596]</td>\n",
-       "        <td>1.16</td>\n",
-       "        <td>3</td>\n",
-       "        <td>[u'Iris-setosa', u'Iris-versicolor', u'Iris-virginica']</td>\n",
-       "        <td>character varying</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>[u'accuracy']</td>\n",
-       "        <td>0.883333325386</td>\n",
-       "        <td>0.347580313683</td>\n",
-       "        <td>[0.883333325386047]</td>\n",
-       "        <td>[0.347580313682556]</td>\n",
-       "        <td>None</td>\n",
-       "        <td>None</td>\n",
-       "        <td>None</td>\n",
-       "        <td>None</td>\n",
-       "        <td>[10]</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'iris_train_packed', u'iris_model', u'class_text', u'attributes', u'model_arch_library', 1, u\" loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'] \", u' batch_size=5, epochs=3 ', 10, None, 10, None, None, u'madlib_keras', 0.7900390625, datetime.datetime(2019, 7, 3, 10, 0, 52, 477704), datetime.datetime(2019, 7, 3, 10, 0, 58, 552077), [6.07431507110596], u'1.16', 3, [u'Iris-setosa', u'Iris-versicolor', u'Iris-virginica'], u'character varying', 1.0, [u'accuracy'], 0.883333325386, 0.347580313683, [0.883333325386047], [0.347580313682556], None, None, None, None, [10])]"
-      ]
-     },
-     "execution_count": 14,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT * FROM iris_model_summary;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"eval\"></a>\n",
-    "# 5. Evaluate\n",
-    "\n",
-    "Now run evaluate using model we built above:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 15,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>loss</th>\n",
-       "        <th>metric</th>\n",
-       "        <th>metrics_type</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0.43478807807</td>\n",
-       "        <td>0.899999976158</td>\n",
-       "        <td>[u'accuracy']</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(0.434788078069687, 0.899999976158142, [u'accuracy'])]"
-      ]
-     },
-     "execution_count": 15,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS iris_validate;\n",
-    "\n",
-    "SELECT madlib.madlib_keras_evaluate('iris_model',       -- model\n",
-    "                                   'iris_test_packed',  -- test table\n",
-    "                                   'iris_validate'      -- output table\n",
-    "                                   );\n",
-    "\n",
-    "SELECT * FROM iris_validate;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"pred\"></a>\n",
-    "# 6. Predict\n",
-    "\n",
-    "Now predict using model we built.  We will use the validation data set for prediction as well, which is not usual but serves to show the syntax. The prediction is in the estimated_class_text column:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 16,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "30 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>id</th>\n",
-       "        <th>estimated_class_text</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>4</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>17</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>24</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>30</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>39</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>40</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>43</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>50</td>\n",
-       "        <td>Iris-setosa</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>52</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>54</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>55</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>59</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>61</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>76</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>81</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>83</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>86</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>88</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>92</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>93</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>95</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>100</td>\n",
-       "        <td>Iris-versicolor</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>104</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>107</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>111</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>117</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>134</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>140</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>143</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>150</td>\n",
-       "        <td>Iris-virginica</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(4, u'Iris-setosa'),\n",
-       " (17, u'Iris-setosa'),\n",
-       " (24, u'Iris-setosa'),\n",
-       " (30, u'Iris-setosa'),\n",
-       " (39, u'Iris-setosa'),\n",
-       " (40, u'Iris-setosa'),\n",
-       " (43, u'Iris-setosa'),\n",
-       " (50, u'Iris-setosa'),\n",
-       " (52, u'Iris-versicolor'),\n",
-       " (54, u'Iris-virginica'),\n",
-       " (55, u'Iris-virginica'),\n",
-       " (59, u'Iris-versicolor'),\n",
-       " (61, u'Iris-versicolor'),\n",
-       " (76, u'Iris-versicolor'),\n",
-       " (81, u'Iris-versicolor'),\n",
-       " (83, u'Iris-versicolor'),\n",
-       " (86, u'Iris-versicolor'),\n",
-       " (88, u'Iris-virginica'),\n",
-       " (92, u'Iris-versicolor'),\n",
-       " (93, u'Iris-versicolor'),\n",
-       " (95, u'Iris-versicolor'),\n",
-       " (100, u'Iris-versicolor'),\n",
-       " (104, u'Iris-virginica'),\n",
-       " (107, u'Iris-virginica'),\n",
-       " (111, u'Iris-virginica'),\n",
-       " (117, u'Iris-virginica'),\n",
-       " (134, u'Iris-virginica'),\n",
-       " (140, u'Iris-virginica'),\n",
-       " (143, u'Iris-virginica'),\n",
-       " (150, u'Iris-virginica')]"
-      ]
-     },
-     "execution_count": 16,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS iris_predict;\n",
-    "\n",
-    "SELECT madlib.madlib_keras_predict('iris_model', -- model\n",
-    "                                   'iris_test',  -- test_table\n",
-    "                                   'id',  -- id column\n",
-    "                                   'attributes', -- independent var\n",
-    "                                   'iris_predict'  -- output table\n",
-    "                                   );\n",
-    "\n",
-    "SELECT * FROM iris_predict ORDER BY id;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Count missclassifications"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 17,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>count</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(3L,)]"
-      ]
-     },
-     "execution_count": 17,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT COUNT(*) FROM iris_predict JOIN iris_test USING (id) \n",
-    "WHERE iris_predict.estimated_class_text != iris_test.class_text;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Percent missclassifications"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 18,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>test_accuracy_percent</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>90.00</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(Decimal('90.00'),)]"
-      ]
-     },
-     "execution_count": 18,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT round(count(*)*100/(150*0.2),2) as test_accuracy_percent from\n",
-    "    (select iris_test.class_text as actual, iris_predict.estimated_class_text as estimated\n",
-    "     from iris_predict inner join iris_test\n",
-    "     on iris_test.id=iris_predict.id) q\n",
-    "WHERE q.actual=q.estimated;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"class2\"></a>\n",
-    "# Classification with Other Parameters\n",
-    "\n",
-    "<a id=\"val_dataset\"></a>\n",
-    "# 1.  Validation dataset\n",
-    "Now use a validation dataset and compute metrics every 5th iteration using the 'metrics_compute_frequency' parameter.  This can help reduce run time if you do not need metrics computed at every iteration."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 19,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>madlib_keras_fit</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td></td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[('',)]"
-      ]
-     },
-     "execution_count": 19,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS iris_model, iris_model_summary;\n",
-    "\n",
-    "SELECT madlib.madlib_keras_fit('iris_train_packed',   -- source table\n",
-    "                               'iris_model',          -- model output table\n",
-    "                               'model_arch_library',  -- model arch table\n",
-    "                                1,                    -- model arch id\n",
-    "                                $$ loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'] $$,  -- compile_params\n",
-    "                                $$ batch_size=5, epochs=3 $$,  -- fit_params\n",
-    "                                10,                   -- num_iterations\n",
-    "                                0,                    -- GPUs per host\n",
-    "                                'iris_test_packed',   -- validation dataset\n",
-    "                                3,                    -- metrics compute frequency\n",
-    "                                FALSE,                -- warm start\n",
-    "                               'Sophie L.',           -- name\n",
-    "                               'Simple MLP for iris dataset'  -- description\n",
-    "                              );"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "View the model summary:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 20,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>source_table</th>\n",
-       "        <th>model</th>\n",
-       "        <th>dependent_varname</th>\n",
-       "        <th>independent_varname</th>\n",
-       "        <th>model_arch_table</th>\n",
-       "        <th>model_arch_id</th>\n",
-       "        <th>compile_params</th>\n",
-       "        <th>fit_params</th>\n",
-       "        <th>num_iterations</th>\n",
-       "        <th>validation_table</th>\n",
-       "        <th>metrics_compute_frequency</th>\n",
-       "        <th>name</th>\n",
-       "        <th>description</th>\n",
-       "        <th>model_type</th>\n",
-       "        <th>model_size</th>\n",
-       "        <th>start_training_time</th>\n",
-       "        <th>end_training_time</th>\n",
-       "        <th>metrics_elapsed_time</th>\n",
-       "        <th>madlib_version</th>\n",
-       "        <th>num_classes</th>\n",
-       "        <th>class_values</th>\n",
-       "        <th>dependent_vartype</th>\n",
-       "        <th>normalizing_const</th>\n",
-       "        <th>metrics_type</th>\n",
-       "        <th>training_metrics_final</th>\n",
-       "        <th>training_loss_final</th>\n",
-       "        <th>training_metrics</th>\n",
-       "        <th>training_loss</th>\n",
-       "        <th>validation_metrics_final</th>\n",
-       "        <th>validation_loss_final</th>\n",
-       "        <th>validation_metrics</th>\n",
-       "        <th>validation_loss</th>\n",
-       "        <th>metrics_iters</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>iris_train_packed</td>\n",
-       "        <td>iris_model</td>\n",
-       "        <td>class_text</td>\n",
-       "        <td>attributes</td>\n",
-       "        <td>model_arch_library</td>\n",
-       "        <td>1</td>\n",
-       "        <td> loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'] </td>\n",
-       "        <td> batch_size=5, epochs=3 </td>\n",
-       "        <td>10</td>\n",
-       "        <td>iris_test_packed</td>\n",
-       "        <td>3</td>\n",
-       "        <td>Sophie L.</td>\n",
-       "        <td>Simple MLP for iris dataset</td>\n",
-       "        <td>madlib_keras</td>\n",
-       "        <td>0.7900390625</td>\n",
-       "        <td>2019-07-03 10:01:36.883439</td>\n",
-       "        <td>2019-07-03 10:01:43.631505</td>\n",
-       "        <td>[2.01867508888245, 3.89846897125244, 5.95652198791504, 6.74802613258362]</td>\n",
-       "        <td>1.16</td>\n",
-       "        <td>3</td>\n",
-       "        <td>[u'Iris-setosa', u'Iris-versicolor', u'Iris-virginica']</td>\n",
-       "        <td>character varying</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>[u'accuracy']</td>\n",
-       "        <td>0.941666662693</td>\n",
-       "        <td>0.371823817492</td>\n",
-       "        <td>[0.741666674613953, 0.800000011920929, 0.916666686534882, 0.941666662693024]</td>\n",
-       "        <td>[0.829422652721405, 0.578483581542969, 0.405027717351913, 0.371823817491531]</td>\n",
-       "        <td>0.866666674614</td>\n",
-       "        <td>0.492831081152</td>\n",
-       "        <td>[0.566666662693024, 0.566666662693024, 0.833333313465118, 0.866666674613953]</td>\n",
-       "        <td>[0.945741951465607, 0.735191941261292, 0.535544157028198, 0.492831081151962]</td>\n",
-       "        <td>[3, 6, 9, 10]</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'iris_train_packed', u'iris_model', u'class_text', u'attributes', u'model_arch_library', 1, u\" loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'] \", u' batch_size=5, epochs=3 ', 10, u'iris_test_packed', 3, u'Sophie L.', u'Simple MLP for iris dataset', u'madlib_keras', 0.7900390625, datetime.datetime(2019, 7, 3, 10, 1, 36, 883439), datetime.datetime(2019, 7, 3, 10, 1, 43, 631505), [2.01867508888245, 3.89846897125244, 5.95652198791504, 6.74802613258362], u'1.16', 3, [u'Iris-setosa', u'Iris-versicolor', u'Iris-virginica'], u'character varying', 1.0, [u'accuracy'], 0.941666662693, 0.371823817492, [0.741666674613953, 0.800000011920929, 0.916666686534882, 0.941666662693024], [0.829422652721405, 0.578483581542969, 0.405027717351913, 0.371823817491531], 0.866666674614, 0.492831081152, [0.566666662693024, 0.566666662693024, 0.833333313465118, 0.866666674613953], [0.945741951465607, 0.735191941261292, 0.535544157028198, 0.492831081151962], [3, 6, 9, 10])]"
-      ]
-     },
-     "execution_count": 20,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT * FROM iris_model_summary;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"pred_prob\"></a>\n",
-    "# 2. Predict probabilities\n",
-    "Predict with probabilities for each class:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 21,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "30 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>id</th>\n",
-       "        <th>prob_Iris-setosa</th>\n",
-       "        <th>prob_Iris-versicolor</th>\n",
-       "        <th>prob_Iris-virginica</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>4</td>\n",
-       "        <td>0.89618546</td>\n",
-       "        <td>0.10063652</td>\n",
-       "        <td>0.0031779788</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>17</td>\n",
-       "        <td>0.9432447</td>\n",
-       "        <td>0.055964436</td>\n",
-       "        <td>0.00079082645</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>24</td>\n",
-       "        <td>0.87476385</td>\n",
-       "        <td>0.121528275</td>\n",
-       "        <td>0.0037078795</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>30</td>\n",
-       "        <td>0.8998875</td>\n",
-       "        <td>0.09730224</td>\n",
-       "        <td>0.0028102635</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>39</td>\n",
-       "        <td>0.89937997</td>\n",
-       "        <td>0.09733549</td>\n",
-       "        <td>0.003284483</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>40</td>\n",
-       "        <td>0.9124368</td>\n",
-       "        <td>0.08554972</td>\n",
-       "        <td>0.0020134845</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>43</td>\n",
-       "        <td>0.91849124</td>\n",
-       "        <td>0.079369105</td>\n",
-       "        <td>0.0021397525</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>50</td>\n",
-       "        <td>0.909191</td>\n",
-       "        <td>0.08853077</td>\n",
-       "        <td>0.002278217</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>52</td>\n",
-       "        <td>0.087838314</td>\n",
-       "        <td>0.5821711</td>\n",
-       "        <td>0.3299906</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>54</td>\n",
-       "        <td>0.040643755</td>\n",
-       "        <td>0.41653973</td>\n",
-       "        <td>0.5428166</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>55</td>\n",
-       "        <td>0.028924335</td>\n",
-       "        <td>0.42645925</td>\n",
-       "        <td>0.54461634</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>59</td>\n",
-       "        <td>0.043529026</td>\n",
-       "        <td>0.48816994</td>\n",
-       "        <td>0.468301</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>61</td>\n",
-       "        <td>0.06540182</td>\n",
-       "        <td>0.44180837</td>\n",
-       "        <td>0.4927898</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>76</td>\n",
-       "        <td>0.059951168</td>\n",
-       "        <td>0.5297594</td>\n",
-       "        <td>0.41028935</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>81</td>\n",
-       "        <td>0.0791236</td>\n",
-       "        <td>0.49948806</td>\n",
-       "        <td>0.42138833</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>83</td>\n",
-       "        <td>0.103119485</td>\n",
-       "        <td>0.54959977</td>\n",
-       "        <td>0.34728083</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>86</td>\n",
-       "        <td>0.15161447</td>\n",
-       "        <td>0.6227044</td>\n",
-       "        <td>0.22568108</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>88</td>\n",
-       "        <td>0.013850493</td>\n",
-       "        <td>0.3046302</td>\n",
-       "        <td>0.6815193</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>92</td>\n",
-       "        <td>0.070333414</td>\n",
-       "        <td>0.545334</td>\n",
-       "        <td>0.3843325</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>93</td>\n",
-       "        <td>0.07561784</td>\n",
-       "        <td>0.5140931</td>\n",
-       "        <td>0.41028905</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>95</td>\n",
-       "        <td>0.08128024</td>\n",
-       "        <td>0.52868783</td>\n",
-       "        <td>0.39003193</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>100</td>\n",
-       "        <td>0.10329097</td>\n",
-       "        <td>0.5575698</td>\n",
-       "        <td>0.33913925</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>104</td>\n",
-       "        <td>0.010344159</td>\n",
-       "        <td>0.31838065</td>\n",
-       "        <td>0.6712752</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>107</td>\n",
-       "        <td>0.039944757</td>\n",
-       "        <td>0.4255802</td>\n",
-       "        <td>0.5344751</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>111</td>\n",
-       "        <td>0.026599577</td>\n",
-       "        <td>0.44653893</td>\n",
-       "        <td>0.52686155</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>117</td>\n",
-       "        <td>0.012989115</td>\n",
-       "        <td>0.35122624</td>\n",
-       "        <td>0.6357847</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>134</td>\n",
-       "        <td>0.019927882</td>\n",
-       "        <td>0.38532582</td>\n",
-       "        <td>0.5947463</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>140</td>\n",
-       "        <td>0.009378748</td>\n",
-       "        <td>0.31938007</td>\n",
-       "        <td>0.6712412</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>143</td>\n",
-       "        <td>0.013671607</td>\n",
-       "        <td>0.3261078</td>\n",
-       "        <td>0.66022056</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>150</td>\n",
-       "        <td>0.031985275</td>\n",
-       "        <td>0.45162654</td>\n",
-       "        <td>0.51638824</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(4, 0.89618546, 0.10063652, 0.0031779788),\n",
-       " (17, 0.9432447, 0.055964436, 0.00079082645),\n",
-       " (24, 0.87476385, 0.121528275, 0.0037078795),\n",
-       " (30, 0.8998875, 0.09730224, 0.0028102635),\n",
-       " (39, 0.89937997, 0.09733549, 0.003284483),\n",
-       " (40, 0.9124368, 0.08554972, 0.0020134845),\n",
-       " (43, 0.91849124, 0.079369105, 0.0021397525),\n",
-       " (50, 0.909191, 0.08853077, 0.002278217),\n",
-       " (52, 0.087838314, 0.5821711, 0.3299906),\n",
-       " (54, 0.040643755, 0.41653973, 0.5428166),\n",
-       " (55, 0.028924335, 0.42645925, 0.54461634),\n",
-       " (59, 0.043529026, 0.48816994, 0.468301),\n",
-       " (61, 0.06540182, 0.44180837, 0.4927898),\n",
-       " (76, 0.059951168, 0.5297594, 0.41028935),\n",
-       " (81, 0.0791236, 0.49948806, 0.42138833),\n",
-       " (83, 0.103119485, 0.54959977, 0.34728083),\n",
-       " (86, 0.15161447, 0.6227044, 0.22568108),\n",
-       " (88, 0.013850493, 0.3046302, 0.6815193),\n",
-       " (92, 0.070333414, 0.545334, 0.3843325),\n",
-       " (93, 0.07561784, 0.5140931, 0.41028905),\n",
-       " (95, 0.08128024, 0.52868783, 0.39003193),\n",
-       " (100, 0.10329097, 0.5575698, 0.33913925),\n",
-       " (104, 0.010344159, 0.31838065, 0.6712752),\n",
-       " (107, 0.039944757, 0.4255802, 0.5344751),\n",
-       " (111, 0.026599577, 0.44653893, 0.52686155),\n",
-       " (117, 0.012989115, 0.35122624, 0.6357847),\n",
-       " (134, 0.019927882, 0.38532582, 0.5947463),\n",
-       " (140, 0.009378748, 0.31938007, 0.6712412),\n",
-       " (143, 0.013671607, 0.3261078, 0.66022056),\n",
-       " (150, 0.031985275, 0.45162654, 0.51638824)]"
-      ]
-     },
-     "execution_count": 21,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS iris_predict;\n",
-    "\n",
-    "SELECT madlib.madlib_keras_predict('iris_model',      -- model\n",
-    "                                   'iris_test',       -- test_table\n",
-    "                                   'id',              -- id column\n",
-    "                                   'attributes',      -- independent var\n",
-    "                                   'iris_predict',    -- output table\n",
-    "                                   'prob'             -- response type\n",
-    "                                   );\n",
-    "\n",
-    "SELECT * FROM iris_predict ORDER BY id;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"warm_start\"></a>\n",
-    "# 3. Warm start\n",
-    "Next, use the warm_start parameter to continue learning, using the coefficients from the run above. Note that we don't drop the model table or model summary table:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 22,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>madlib_keras_fit</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td></td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[('',)]"
-      ]
-     },
-     "execution_count": 22,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT madlib.madlib_keras_fit('iris_train_packed',   -- source table\n",
-    "                               'iris_model',          -- model output table\n",
-    "                               'model_arch_library',  -- model arch table\n",
-    "                                1,                    -- model arch id\n",
-    "                                $$ loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'] $$,  -- compile_params\n",
-    "                                $$ batch_size=5, epochs=3 $$,  -- fit_params\n",
-    "                                5,                   -- num_iterations\n",
-    "                                0,                    -- GPUs per host\n",
-    "                                'iris_test_packed',   -- validation dataset\n",
-    "                                1,                    -- metrics compute frequency\n",
-    "                                TRUE,                 -- warm start\n",
-    "                               'Sophie L.',           -- name \n",
-    "                               'Simple MLP for iris dataset'  -- description\n",
-    "                              );"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "In the summary table note that the loss and accuracy values pick up from where the previous run left off:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 23,
-   "metadata": {
-    "scrolled": true
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>source_table</th>\n",
-       "        <th>model</th>\n",
-       "        <th>dependent_varname</th>\n",
-       "        <th>independent_varname</th>\n",
-       "        <th>model_arch_table</th>\n",
-       "        <th>model_arch_id</th>\n",
-       "        <th>compile_params</th>\n",
-       "        <th>fit_params</th>\n",
-       "        <th>num_iterations</th>\n",
-       "        <th>validation_table</th>\n",
-       "        <th>metrics_compute_frequency</th>\n",
-       "        <th>name</th>\n",
-       "        <th>description</th>\n",
-       "        <th>model_type</th>\n",
-       "        <th>model_size</th>\n",
-       "        <th>start_training_time</th>\n",
-       "        <th>end_training_time</th>\n",
-       "        <th>metrics_elapsed_time</th>\n",
-       "        <th>madlib_version</th>\n",
-       "        <th>num_classes</th>\n",
-       "        <th>class_values</th>\n",
-       "        <th>dependent_vartype</th>\n",
-       "        <th>normalizing_const</th>\n",
-       "        <th>metrics_type</th>\n",
-       "        <th>training_metrics_final</th>\n",
-       "        <th>training_loss_final</th>\n",
-       "        <th>training_metrics</th>\n",
-       "        <th>training_loss</th>\n",
-       "        <th>validation_metrics_final</th>\n",
-       "        <th>validation_loss_final</th>\n",
-       "        <th>validation_metrics</th>\n",
-       "        <th>validation_loss</th>\n",
-       "        <th>metrics_iters</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>iris_train_packed</td>\n",
-       "        <td>iris_model</td>\n",
-       "        <td>class_text</td>\n",
-       "        <td>attributes</td>\n",
-       "        <td>model_arch_library</td>\n",
-       "        <td>1</td>\n",
-       "        <td> loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'] </td>\n",
-       "        <td> batch_size=5, epochs=3 </td>\n",
-       "        <td>5</td>\n",
-       "        <td>iris_test_packed</td>\n",
-       "        <td>1</td>\n",
-       "        <td>Sophie L.</td>\n",
-       "        <td>Simple MLP for iris dataset</td>\n",
-       "        <td>madlib_keras</td>\n",
-       "        <td>0.7900390625</td>\n",
-       "        <td>2019-07-03 10:01:52.495132</td>\n",
-       "        <td>2019-07-03 10:01:56.620862</td>\n",
-       "        <td>[0.777317047119141, 1.62117600440979, 2.46934199333191, 3.33750104904175, 4.12567687034607]</td>\n",
-       "        <td>1.16</td>\n",
-       "        <td>3</td>\n",
-       "        <td>[u'Iris-setosa', u'Iris-versicolor', u'Iris-virginica']</td>\n",
-       "        <td>character varying</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>[u'accuracy']</td>\n",
-       "        <td>0.941666662693</td>\n",
-       "        <td>0.256453901529</td>\n",
-       "        <td>[0.941666662693024, 0.941666662693024, 0.941666662693024, 0.941666662693024, 0.941666662693024]</td>\n",
-       "        <td>[0.341408282518387, 0.313415616750717, 0.293370455503464, 0.273623049259186, 0.256453901529312]</td>\n",
-       "        <td>0.899999976158</td>\n",
-       "        <td>0.36899459362</td>\n",
-       "        <td>[0.833333313465118, 0.866666674613953, 0.899999976158142, 0.899999976158142, 0.899999976158142]</td>\n",
-       "        <td>[0.468038767576218, 0.429012358188629, 0.406685948371887, 0.386049389839172, 0.3689945936203]</td>\n",
-       "        <td>[1, 2, 3, 4, 5]</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'iris_train_packed', u'iris_model', u'class_text', u'attributes', u'model_arch_library', 1, u\" loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'] \", u' batch_size=5, epochs=3 ', 5, u'iris_test_packed', 1, u'Sophie L.', u'Simple MLP for iris dataset', u'madlib_keras', 0.7900390625, datetime.datetime(2019, 7, 3, 10, 1, 52, 495132), datetime.datetime(2019, 7, 3, 10, 1, 56, 620862), [0.777317047119141, 1.62117600440979, 2.46934199333191, 3.33750104904175, 4.12567687034607], u'1.16', 3, [u'Iris-setosa', u'Iris-versicolor', u'Iris-virginica'], u'character varying', 1.0, [u'accuracy'], 0.941666662693, 0.256453901529, [0.941666662693024, 0.941666662693024, 0.941666662693024, 0.941666662693024, 0.941666662693024], [0.341408282518387, 0.313415616750717, 0.293370455503464, 0.273623049259186, 0.256453901529312], 0.899999976158, 0.36899459362, [0.833333313465118, 0.866666674613953, 0.899999976158142, 0.899999976158142, 0.899999976158142], [0.468038767576218, 0.429012358188629, 0.406685948371887, 0.386049389839172, 0.3689945936203], [1, 2, 3, 4, 5])]"
-      ]
-     },
-     "execution_count": 23,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT * FROM iris_model_summary;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"transfer_learn\"></a>\n",
-    "# Transfer learning\n",
-    "\n",
-    "<a id=\"load2\"></a>\n",
-    "# 1. Define and load model architecture with some layers frozen\n",
-    "Here we want to start with initial weights from a pre-trained model rather than training from scratch.  We also want to use a model architecture with the earlier feature layer(s) frozen to save on training time.  The example below is somewhat contrived but gives you the idea of the steps.\n",
-    "\n",
-    "First define a model architecture with the 1st hidden layer frozen:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 24,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "_________________________________________________________________\n",
-      "Layer (type)                 Output Shape              Param #   \n",
-      "=================================================================\n",
-      "dense_4 (Dense)              (None, 10)                50        \n",
-      "_________________________________________________________________\n",
-      "dense_5 (Dense)              (None, 10)                110       \n",
-      "_________________________________________________________________\n",
-      "dense_6 (Dense)              (None, 3)                 33        \n",
-      "=================================================================\n",
-      "Total params: 193\n",
-      "Trainable params: 143\n",
-      "Non-trainable params: 50\n",
-      "_________________________________________________________________\n"
-     ]
-    }
-   ],
-   "source": [
-    "model_transfer = Sequential()\n",
-    "model_transfer.add(Dense(10, activation='relu', input_shape=(4,), trainable=False))\n",
-    "model_transfer.add(Dense(10, activation='relu'))\n",
-    "model_transfer.add(Dense(3, activation='softmax'))\n",
-    "    \n",
-    "model_transfer.summary()"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 25,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "'{\"class_name\": \"Sequential\", \"keras_version\": \"2.1.6\", \"config\": [{\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"dense_4\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"dtype\": \"float32\", \"activation\": \"relu\", \"trainable\": false, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 10, \"batch_input_shape\": [null, 4], \"use_bias\": true, \"activity_regularizer\": null}}, {\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"dense_5\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"relu\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 10, \"use_bias\": true, \"activity_regularizer\": null}}, {\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"dense_6\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"softmax\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 3, \"use_bias\": true, \"activity_regularizer\": null}}], \"backend\": \"tensorflow\"}'"
-      ]
-     },
-     "execution_count": 25,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "model_transfer.to_json()"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Load transfer model into model architecture table"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 26,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n",
-      "2 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>model_id</th>\n",
-       "        <th>model_arch</th>\n",
-       "        <th>model_weights</th>\n",
-       "        <th>name</th>\n",
-       "        <th>description</th>\n",
-       "        <th>__internal_madlib_id__</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>{u'class_name': u'Sequential', u'keras_version': u'2.1.6', u'config': [{u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_1', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'dtype': u'float32', u'activation': u'relu', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 10, u'batch_input_shape': [None, 4], u'use_bias': True, u'activity_regularizer': None}}, {u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_2', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'activation': u'relu', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 10, u'use_bias': True, u'activity_regularizer': None}}, {u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_3', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'activation': u'softmax', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 3, u'use_bias': True, u'activity_regularizer': None}}], u'backend': u'tensorflow'}</td>\n",
-       "        <td>None</td>\n",
-       "        <td>Sophie</td>\n",
-       "        <td>A simple model</td>\n",
-       "        <td>__madlib_temp_62550369_1562173248_86696923__</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>{u'class_name': u'Sequential', u'keras_version': u'2.1.6', u'config': [{u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_2', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'dtype': u'float32', u'activation': u'relu', u'trainable': False, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 10, u'batch_input_shape': [None, 4], u'use_bias': True, u'activity_regularizer': None}}, {u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_3', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'activation': u'relu', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 10, u'use_bias': True, u'activity_regularizer': None}}, {u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_4', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'activation': u'softmax', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 3, u'use_bias': True, u'activity_regularizer': None}}], u'backend': u'tensorflow'}</td>\n",
-       "        <td>None</td>\n",
-       "        <td>Maria</td>\n",
-       "        <td>A transfer model</td>\n",
-       "        <td>__madlib_temp_71661491_1562173329_6849629__</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, {u'class_name': u'Sequential', u'keras_version': u'2.1.6', u'config': [{u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_1', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'dtype': u'float32', u'activation': u'relu', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 10, u'batch_input_shape': [None, 4], u'use_bias': True, u'activity_regularizer': None}}, {u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_2', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'activation': u'relu', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 10, u'use_bias': True, u'activity_regularizer': None}}, {u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_3', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'activation': u'softmax', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 3, u'use_bias': True, u'activity_regularizer': None}}], u'backend': u'tensorflow'}, None, u'Sophie', u'A simple model', u'__madlib_temp_62550369_1562173248_86696923__'),\n",
-       " (2, {u'class_name': u'Sequential', u'keras_version': u'2.1.6', u'config': [{u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_2', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'dtype': u'float32', u'activation': u'relu', u'trainable': False, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 10, u'batch_input_shape': [None, 4], u'use_bias': True, u'activity_regularizer': None}}, {u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_3', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'activation': u'relu', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 10, u'use_bias': True, u'activity_regularizer': None}}, {u'class_name': u'Dense', u'config': {u'kernel_initializer': {u'class_name': u'VarianceScaling', u'config': {u'distribution': u'uniform', u'scale': 1.0, u'seed': None, u'mode': u'fan_avg'}}, u'name': u'dense_4', u'kernel_constraint': None, u'bias_regularizer': None, u'bias_constraint': None, u'activation': u'softmax', u'trainable': True, u'kernel_regularizer': None, u'bias_initializer': {u'class_name': u'Zeros', u'config': {}}, u'units': 3, u'use_bias': True, u'activity_regularizer': None}}], u'backend': u'tensorflow'}, None, u'Maria', u'A transfer model', u'__madlib_temp_71661491_1562173329_6849629__')]"
-      ]
-     },
-     "execution_count": 26,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT madlib.load_keras_model('model_arch_library',  -- Output table,\n",
-    "                               \n",
-    "$$\n",
-    "{\"class_name\": \"Sequential\", \"keras_version\": \"2.1.6\", \"config\": [{\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"dense_2\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"dtype\": \"float32\", \"activation\": \"relu\", \"trainable\": false, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 10, \"batch_input_shape\": [null, 4], \"use_bias\": true, \"activity_regularizer\": null}}, {\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"dense_3\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"relu\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 10, \"use_bias\": true, \"activity_regularizer\": null}}, {\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"dense_4\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"softmax\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 3, \"use_bias\": true, \"activity_regularizer\": null}}], \"backend\": \"tensorflow\"}\n",
-    "$$\n",
-    "::json,         -- JSON blob\n",
-    "                               NULL,                  -- Weights\n",
-    "                               'Maria',               -- Name\n",
-    "                               'A transfer model'     -- Descr\n",
-    ");\n",
-    "\n",
-    "SELECT * FROM model_arch_library;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"train2\"></a>\n",
-    "# 2. Train transfer model\n",
-    "\n",
-    "Fetch the weights from a previous MADlib run.  (Normally these would be downloaded from a source that trained the same model architecture on a related dataset.)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 27,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/plain": [
-       "[]"
-      ]
-     },
-     "execution_count": 27,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "UPDATE model_arch_library SET model_weights = model_data FROM iris_model WHERE model_id = 2;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Now train the model using the transfer model and the pre-trained weights:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 28,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>madlib_keras_fit</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td></td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[('',)]"
-      ]
-     },
-     "execution_count": 28,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS iris_model, iris_model_summary;\n",
-    "\n",
-    "SELECT madlib.madlib_keras_fit('iris_train_packed',   -- source table\n",
-    "                               'iris_model',          -- model output table\n",
-    "                               'model_arch_library',  -- model arch table\n",
-    "                                2,                    -- model arch id\n",
-    "                                $$ loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'] $$,  -- compile_params\n",
-    "                                $$ batch_size=5, epochs=3 $$,  -- fit_params\n",
-    "                                10                    -- num_iterations\n",
-    "                              );"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 29,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>source_table</th>\n",
-       "        <th>model</th>\n",
-       "        <th>dependent_varname</th>\n",
-       "        <th>independent_varname</th>\n",
-       "        <th>model_arch_table</th>\n",
-       "        <th>model_arch_id</th>\n",
-       "        <th>compile_params</th>\n",
-       "        <th>fit_params</th>\n",
-       "        <th>num_iterations</th>\n",
-       "        <th>validation_table</th>\n",
-       "        <th>metrics_compute_frequency</th>\n",
-       "        <th>name</th>\n",
-       "        <th>description</th>\n",
-       "        <th>model_type</th>\n",
-       "        <th>model_size</th>\n",
-       "        <th>start_training_time</th>\n",
-       "        <th>end_training_time</th>\n",
-       "        <th>metrics_elapsed_time</th>\n",
-       "        <th>madlib_version</th>\n",
-       "        <th>num_classes</th>\n",
-       "        <th>class_values</th>\n",
-       "        <th>dependent_vartype</th>\n",
-       "        <th>normalizing_const</th>\n",
-       "        <th>metrics_type</th>\n",
-       "        <th>training_metrics_final</th>\n",
-       "        <th>training_loss_final</th>\n",
-       "        <th>training_metrics</th>\n",
-       "        <th>training_loss</th>\n",
-       "        <th>validation_metrics_final</th>\n",
-       "        <th>validation_loss_final</th>\n",
-       "        <th>validation_metrics</th>\n",
-       "        <th>validation_loss</th>\n",
-       "        <th>metrics_iters</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>iris_train_packed</td>\n",
-       "        <td>iris_model</td>\n",
-       "        <td>class_text</td>\n",
-       "        <td>attributes</td>\n",
-       "        <td>model_arch_library</td>\n",
-       "        <td>2</td>\n",
-       "        <td> loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'] </td>\n",
-       "        <td> batch_size=5, epochs=3 </td>\n",
-       "        <td>10</td>\n",
-       "        <td>None</td>\n",
-       "        <td>10</td>\n",
-       "        <td>None</td>\n",
-       "        <td>None</td>\n",
-       "        <td>madlib_keras</td>\n",
-       "        <td>0.7900390625</td>\n",
-       "        <td>2019-07-03 10:02:15.366826</td>\n",
-       "        <td>2019-07-03 10:02:20.437775</td>\n",
-       "        <td>[5.07090902328491]</td>\n",
-       "        <td>1.16</td>\n",
-       "        <td>3</td>\n",
-       "        <td>[u'Iris-setosa', u'Iris-versicolor', u'Iris-virginica']</td>\n",
-       "        <td>character varying</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>[u'accuracy']</td>\n",
-       "        <td>0.933333337307</td>\n",
-       "        <td>0.188783079386</td>\n",
-       "        <td>[0.933333337306976]</td>\n",
-       "        <td>[0.188783079385757]</td>\n",
-       "        <td>None</td>\n",
-       "        <td>None</td>\n",
-       "        <td>None</td>\n",
-       "        <td>None</td>\n",
-       "        <td>[10]</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'iris_train_packed', u'iris_model', u'class_text', u'attributes', u'model_arch_library', 2, u\" loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'] \", u' batch_size=5, epochs=3 ', 10, None, 10, None, None, u'madlib_keras', 0.7900390625, datetime.datetime(2019, 7, 3, 10, 2, 15, 366826), datetime.datetime(2019, 7, 3, 10, 2, 20, 437775), [5.07090902328491], u'1.16', 3, [u'Iris-setosa', u'Iris-versicolor', u'Iris-virginica'], u'character varying', 1.0, [u'accuracy'], 0.933333337307, 0.188783079386, [0.933333337306976], [0.188783079385757], None, None, None, None, [10])]"
-      ]
-     },
-     "execution_count": 29,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT * FROM iris_model_summary;"
-   ]
-  }
- ],
- "metadata": {
-  "kernelspec": {
-   "display_name": "Python 2",
-   "language": "python",
-   "name": "python2"
-  },
-  "language_info": {
-   "codemirror_mode": {
-    "name": "ipython",
-    "version": 2
-   },
-   "file_extension": ".py",
-   "mimetype": "text/x-python",
-   "name": "python",
-   "nbconvert_exporter": "python",
-   "pygments_lexer": "ipython2",
-   "version": "2.7.10"
-  }
- },
- "nbformat": 4,
- "nbformat_minor": 1
-}
diff --git a/community-artifacts/Deep-learning/MADlib-Keras-cifar10-cnn-v2.ipynb b/community-artifacts/Deep-learning/MADlib-Keras-cifar10-cnn-v2.ipynb
deleted file mode 100644
index faa322e..0000000
--- a/community-artifacts/Deep-learning/MADlib-Keras-cifar10-cnn-v2.ipynb
+++ /dev/null
@@ -1,1233 +0,0 @@
-{
- "cells": [
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# CNN Using Keras and MADlib\n",
-    "\n",
-    "E2E classification example using MADlib calling a Keras CNN.  Based on model architecture in https://keras.io/examples/cifar10_cnn/\n",
-    "\n",
-    "To load images into tables we use the script called <em>madlib_image_loader.py</em> located at https://github.com/apache/madlib-site/tree/asf-site/community-artifacts/Deep-learning which uses the Python Imaging Library so supports multiple formats\n",
-    "http://www.pythonware.com/products/pil/\n",
-    "\n",
-    "\n",
-    "## Table of contents\n",
-    "<a href=\"#import_libraries\">1. Import libraries</a>\n",
-    "\n",
-    "<a href=\"#load_and_prepare_data\">2. Load dataset into table</a>\n",
-    "\n",
-    "<a href=\"#image_preproc\">3. Call image preprocessor</a>\n",
-    "\n",
-    "<a href=\"#define_and_load_model\">4. Define and load model architecture</a>\n",
-    "\n",
-    "<a href=\"#train\">5. Train</a>\n",
-    "\n",
-    "<a href=\"#plot\">6. Plots by iteration and time</a>"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 1,
-   "metadata": {
-    "scrolled": true
-   },
-   "outputs": [
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "/Users/fmcquillan/anaconda/lib/python2.7/site-packages/IPython/config.py:13: ShimWarning: The `IPython.config` package has been deprecated since IPython 4.0. You should import from traitlets.config instead.\n",
-      "  \"You should import from traitlets.config instead.\", ShimWarning)\n",
-      "/Users/fmcquillan/anaconda/lib/python2.7/site-packages/IPython/utils/traitlets.py:5: UserWarning: IPython.utils.traitlets has moved to a top-level traitlets package.\n",
-      "  warn(\"IPython.utils.traitlets has moved to a top-level traitlets package.\")\n"
-     ]
-    }
-   ],
-   "source": [
-    "%load_ext sql"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 2,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "u'Connected: fmcquillan@madlib'"
-      ]
-     },
-     "execution_count": 2,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "# Greenplum Database 5.x on GCP for deep learning (PM demo machine)\n",
-    "#%sql postgresql://gpadmin@35.239.240.26:5432/madlib\n",
-    "        \n",
-    "# PostgreSQL local\n",
-    "%sql postgresql://fmcquillan@localhost:5432/madlib"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 3,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>version</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>MADlib version: 1.16, git revision: rc/1.16-rc1, cmake configuration time: Mon Jul  1 17:45:09 UTC 2019, build type: Release, build system: Darwin-16.7.0, C compiler: Clang, C++ compiler: Clang</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'MADlib version: 1.16, git revision: rc/1.16-rc1, cmake configuration time: Mon Jul  1 17:45:09 UTC 2019, build type: Release, build system: Darwin-16.7.0, C compiler: Clang, C++ compiler: Clang',)]"
-      ]
-     },
-     "execution_count": 3,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%sql select madlib.version();\n",
-    "#%sql select version();"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"import_libraries\"></a>\n",
-    "# 1.  Import libraries\n",
-    "From https://keras.io/examples/mnist_transfer_cnn/ import libraries and define some params"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 4,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "Using TensorFlow backend.\n"
-     ]
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Couldn't import dot_parser, loading of dot files will not be possible.\n"
-     ]
-    }
-   ],
-   "source": [
-    "from __future__ import print_function\n",
-    "import keras\n",
-    "from keras.datasets import cifar10\n",
-    "from keras.preprocessing.image import ImageDataGenerator\n",
-    "from keras.models import Sequential\n",
-    "from keras.layers import Dense, Dropout, Activation, Flatten\n",
-    "from keras.layers import Conv2D, MaxPooling2D\n",
-    "import os\n",
-    "\n",
-    "batch_size = 32\n",
-    "num_classes = 10\n",
-    "epochs = 100"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Others needed in this workbook"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 5,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "import pandas as pd\n",
-    "import numpy as np\n",
-    "import sys\n",
-    "import os\n",
-    "from matplotlib import pyplot as plt"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"load_and_prepare_data\"></a>\n",
-    "# 2.  Set up image loader and load dataset into table\n",
-    "\n",
-    "First set up image loader using the script called <em>madlib_image_loader.py</em> located at https://github.com/apache/madlib-site/tree/asf-site/community-artifacts/Deep-learning"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 6,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "madlib_site_dir = '/Users/fmcquillan/Documents/Product/MADlib/Demos/data'\n",
-    "sys.path.append(madlib_site_dir)\n",
-    "\n",
-    "# Import image loader module\n",
-    "from madlib_image_loader import ImageLoader, DbCredentials\n",
-    "\n",
-    "# Specify database credentials, for connecting to db\n",
-    "db_creds = DbCredentials(user='fmcquillan',\n",
-    "                         host='localhost',\n",
-    "                         port='5432',\n",
-    "                         password='')\n",
-    "\n",
-    "# Specify database credentials, for connecting to db\n",
-    "#db_creds = DbCredentials(user='gpadmin', \n",
-    "#                         db_name='madlib',\n",
-    "#                         host='35.239.240.26',\n",
-    "#                         port='5432',\n",
-    "#                         password='')\n",
-    "\n",
-    "# Initialize ImageLoader (increase num_workers to run faster)\n",
-    "iloader = ImageLoader(num_workers=5, db_creds=db_creds)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "First load CIFAR-10 data from Keras consisting of 50,000 32x32 color training images, labeled over 10 categories, and 10,000 test images."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 7,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "MainProcess: Connected to madlib db.\n",
-      "Executing: CREATE TABLE cifar_10_train_data (id SERIAL, x REAL[], y TEXT)\n",
-      "CREATE TABLE\n",
-      "Created table cifar_10_train_data in madlib db\n",
-      "Spawning 5 workers...\n",
-      "Initializing PoolWorker-1 [pid 28054]\n",
-      "PoolWorker-1: Created temporary directory /tmp/madlib_tdv3zEFPL1\n",
-      "Initializing PoolWorker-2 [pid 28055]\n",
-      "PoolWorker-2: Created temporary directory /tmp/madlib_bWb3jWWKsY\n",
-      "Initializing PoolWorker-3 [pid 28056]\n",
-      "PoolWorker-1: Connected to madlib db.\n",
-      "PoolWorker-3: Created temporary directory /tmp/madlib_KetBMAbjq5\n",
-      "Initializing PoolWorker-4 [pid 28057]\n",
-      "PoolWorker-2: Connected to madlib db.\n",
-      "PoolWorker-4: Created temporary directory /tmp/madlib_sME12BQHb1\n",
-      "Initializing PoolWorker-5 [pid 28059]\n",
-      "PoolWorker-3: Connected to madlib db.\n",
-      "PoolWorker-5: Created temporary directory /tmp/madlib_i6LP0aJJDY\n",
-      "PoolWorker-4: Connected to madlib db.\n",
-      "PoolWorker-5: Connected to madlib db.\n",
-      "PoolWorker-1: Wrote 1000 images to /tmp/madlib_tdv3zEFPL1/cifar_10_train_data0000.tmp\n",
-      "PoolWorker-2: Wrote 1000 images to /tmp/madlib_bWb3jWWKsY/cifar_10_train_data0000.tmp\n",
-      "PoolWorker-3: Wrote 1000 images to /tmp/madlib_KetBMAbjq5/cifar_10_train_data0000.tmp\n",
-      "PoolWorker-4: Wrote 1000 images to /tmp/madlib_sME12BQHb1/cifar_10_train_data0000.tmp\n",
-      "PoolWorker-5: Wrote 1000 images to /tmp/madlib_i6LP0aJJDY/cifar_10_train_data0000.tmp\n",
-      "PoolWorker-1: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-2: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-3: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-4: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-5: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-1: Wrote 1000 images to /tmp/madlib_tdv3zEFPL1/cifar_10_train_data0001.tmp\n",
-      "PoolWorker-2: Wrote 1000 images to /tmp/madlib_bWb3jWWKsY/cifar_10_train_data0001.tmp\n",
-      "PoolWorker-3: Wrote 1000 images to /tmp/madlib_KetBMAbjq5/cifar_10_train_data0001.tmp\n",
-      "PoolWorker-4: Wrote 1000 images to /tmp/madlib_sME12BQHb1/cifar_10_train_data0001.tmp\n",
-      "PoolWorker-5: Wrote 1000 images to /tmp/madlib_i6LP0aJJDY/cifar_10_train_data0001.tmp\n",
-      "PoolWorker-1: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-2: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-4: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-5: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-3: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-1: Wrote 1000 images to /tmp/madlib_tdv3zEFPL1/cifar_10_train_data0002.tmp\n",
-      "PoolWorker-2: Wrote 1000 images to /tmp/madlib_bWb3jWWKsY/cifar_10_train_data0002.tmp\n",
-      "PoolWorker-4: Wrote 1000 images to /tmp/madlib_sME12BQHb1/cifar_10_train_data0002.tmp\n",
-      "PoolWorker-5: Wrote 1000 images to /tmp/madlib_i6LP0aJJDY/cifar_10_train_data0002.tmp\n",
-      "PoolWorker-3: Wrote 1000 images to /tmp/madlib_KetBMAbjq5/cifar_10_train_data0002.tmp\n",
-      "PoolWorker-1: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-2: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-4: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-5: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-3: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-1: Wrote 1000 images to /tmp/madlib_tdv3zEFPL1/cifar_10_train_data0003.tmp\n",
-      "PoolWorker-2: Wrote 1000 images to /tmp/madlib_bWb3jWWKsY/cifar_10_train_data0003.tmp\n",
-      "PoolWorker-4: Wrote 1000 images to /tmp/madlib_sME12BQHb1/cifar_10_train_data0003.tmp\n",
-      "PoolWorker-5: Wrote 1000 images to /tmp/madlib_i6LP0aJJDY/cifar_10_train_data0003.tmp\n",
-      "PoolWorker-3: Wrote 1000 images to /tmp/madlib_KetBMAbjq5/cifar_10_train_data0003.tmp\n",
-      "PoolWorker-1: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-2: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-5: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-4: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-3: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-1: Wrote 1000 images to /tmp/madlib_tdv3zEFPL1/cifar_10_train_data0004.tmp\n",
-      "PoolWorker-2: Wrote 1000 images to /tmp/madlib_bWb3jWWKsY/cifar_10_train_data0004.tmp\n",
-      "PoolWorker-4: Wrote 1000 images to /tmp/madlib_sME12BQHb1/cifar_10_train_data0004.tmp\n",
-      "PoolWorker-5: Wrote 1000 images to /tmp/madlib_i6LP0aJJDY/cifar_10_train_data0004.tmp\n",
-      "PoolWorker-3: Wrote 1000 images to /tmp/madlib_KetBMAbjq5/cifar_10_train_data0004.tmp\n",
-      "PoolWorker-1: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-2: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-5: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-4: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-3: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-1: Wrote 1000 images to /tmp/madlib_tdv3zEFPL1/cifar_10_train_data0005.tmp\n",
-      "PoolWorker-2: Wrote 1000 images to /tmp/madlib_bWb3jWWKsY/cifar_10_train_data0005.tmp\n",
-      "PoolWorker-4: Wrote 1000 images to /tmp/madlib_sME12BQHb1/cifar_10_train_data0005.tmp\n",
-      "PoolWorker-5: Wrote 1000 images to /tmp/madlib_i6LP0aJJDY/cifar_10_train_data0005.tmp\n",
-      "PoolWorker-3: Wrote 1000 images to /tmp/madlib_KetBMAbjq5/cifar_10_train_data0005.tmp\n",
-      "PoolWorker-1: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-2: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-4: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-5: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-3: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-1: Wrote 1000 images to /tmp/madlib_tdv3zEFPL1/cifar_10_train_data0006.tmp\n",
-      "PoolWorker-2: Wrote 1000 images to /tmp/madlib_bWb3jWWKsY/cifar_10_train_data0006.tmp\n",
-      "PoolWorker-4: Wrote 1000 images to /tmp/madlib_sME12BQHb1/cifar_10_train_data0006.tmp\n",
-      "PoolWorker-5: Wrote 1000 images to /tmp/madlib_i6LP0aJJDY/cifar_10_train_data0006.tmp\n",
-      "PoolWorker-3: Wrote 1000 images to /tmp/madlib_KetBMAbjq5/cifar_10_train_data0006.tmp\n",
-      "PoolWorker-1: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-2: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-4: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-5: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-3: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-1: Wrote 1000 images to /tmp/madlib_tdv3zEFPL1/cifar_10_train_data0007.tmp\n",
-      "PoolWorker-5: Wrote 1000 images to /tmp/madlib_i6LP0aJJDY/cifar_10_train_data0007.tmp\n",
-      "PoolWorker-2: Wrote 1000 images to /tmp/madlib_bWb3jWWKsY/cifar_10_train_data0007.tmp\n",
-      "PoolWorker-4: Wrote 1000 images to /tmp/madlib_sME12BQHb1/cifar_10_train_data0007.tmp\n",
-      "PoolWorker-3: Wrote 1000 images to /tmp/madlib_KetBMAbjq5/cifar_10_train_data0007.tmp\n",
-      "PoolWorker-1: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-5: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-2: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-4: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-3: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-1: Wrote 1000 images to /tmp/madlib_tdv3zEFPL1/cifar_10_train_data0008.tmp\n",
-      "PoolWorker-4: Wrote 1000 images to /tmp/madlib_sME12BQHb1/cifar_10_train_data0008.tmp\n",
-      "PoolWorker-5: Wrote 1000 images to /tmp/madlib_i6LP0aJJDY/cifar_10_train_data0008.tmp\n",
-      "PoolWorker-2: Wrote 1000 images to /tmp/madlib_bWb3jWWKsY/cifar_10_train_data0008.tmp\n",
-      "PoolWorker-3: Wrote 1000 images to /tmp/madlib_KetBMAbjq5/cifar_10_train_data0008.tmp\n",
-      "PoolWorker-1: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-4: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-5: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-2: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-3: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-1: Wrote 1000 images to /tmp/madlib_tdv3zEFPL1/cifar_10_train_data0009.tmp\n",
-      "PoolWorker-4: Wrote 1000 images to /tmp/madlib_sME12BQHb1/cifar_10_train_data0009.tmp\n",
-      "PoolWorker-1: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-4: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-1: Wrote 1000 images to /tmp/madlib_tdv3zEFPL1/cifar_10_train_data0010.tmp\n",
-      "PoolWorker-4: Wrote 1000 images to /tmp/madlib_sME12BQHb1/cifar_10_train_data0010.tmp\n",
-      "PoolWorker-1: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-4: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-1: Wrote 1000 images to /tmp/madlib_tdv3zEFPL1/cifar_10_train_data0011.tmp\n",
-      "PoolWorker-1: Loaded 1000 images into cifar_10_train_data\n",
-      "PoolWorker-3: Removed temporary directory /tmp/madlib_KetBMAbjq5\n",
-      "PoolWorker-2: Removed temporary directory /tmp/madlib_bWb3jWWKsY\n"
-     ]
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "PoolWorker-4: Removed temporary directory /tmp/madlib_sME12BQHb1\n",
-      "PoolWorker-1: Removed temporary directory /tmp/madlib_tdv3zEFPL1\n",
-      "PoolWorker-5: Removed temporary directory /tmp/madlib_i6LP0aJJDY\n",
-      "Done!  Loaded 50000 images in 24.227011919s\n",
-      "5 workers terminated.\n",
-      "MainProcess: Connected to madlib db.\n",
-      "Executing: CREATE TABLE cifar_10_test_data (id SERIAL, x REAL[], y TEXT)\n",
-      "CREATE TABLE\n",
-      "Created table cifar_10_test_data in madlib db\n",
-      "Spawning 5 workers...\n",
-      "Initializing PoolWorker-6 [pid 28066]\n",
-      "PoolWorker-6: Created temporary directory /tmp/madlib_yKNKBHEc3G\n",
-      "Initializing PoolWorker-7 [pid 28067]\n",
-      "PoolWorker-7: Created temporary directory /tmp/madlib_hb8ESuQLva\n",
-      "Initializing PoolWorker-8 [pid 28068]\n",
-      "PoolWorker-8: Created temporary directory /tmp/madlib_PmtDmYhSBj\n",
-      "PoolWorker-6: Connected to madlib db.\n",
-      "Initializing PoolWorker-9 [pid 28069]\n",
-      "PoolWorker-7: Connected to madlib db.\n",
-      "PoolWorker-9: Created temporary directory /tmp/madlib_h7oUVpBwyZ\n",
-      "Initializing PoolWorker-10 [pid 28071]\n",
-      "PoolWorker-8: Connected to madlib db.\n",
-      "PoolWorker-10: Created temporary directory /tmp/madlib_9TZoE98hbn\n",
-      "PoolWorker-9: Connected to madlib db.\n",
-      "PoolWorker-10: Connected to madlib db.\n",
-      "PoolWorker-8: Wrote 1000 images to /tmp/madlib_PmtDmYhSBj/cifar_10_test_data0000.tmp\n",
-      "PoolWorker-6: Wrote 1000 images to /tmp/madlib_yKNKBHEc3G/cifar_10_test_data0000.tmp\n",
-      "PoolWorker-7: Wrote 1000 images to /tmp/madlib_hb8ESuQLva/cifar_10_test_data0000.tmp\n",
-      "PoolWorker-9: Wrote 1000 images to /tmp/madlib_h7oUVpBwyZ/cifar_10_test_data0000.tmp\n",
-      "PoolWorker-10: Wrote 1000 images to /tmp/madlib_9TZoE98hbn/cifar_10_test_data0000.tmp\n",
-      "PoolWorker-8: Loaded 1000 images into cifar_10_test_data\n",
-      "PoolWorker-7: Loaded 1000 images into cifar_10_test_data\n",
-      "PoolWorker-6: Loaded 1000 images into cifar_10_test_data\n",
-      "PoolWorker-10: Loaded 1000 images into cifar_10_test_data\n",
-      "PoolWorker-9: Loaded 1000 images into cifar_10_test_data\n",
-      "PoolWorker-8: Wrote 1000 images to /tmp/madlib_PmtDmYhSBj/cifar_10_test_data0001.tmp\n",
-      "PoolWorker-7: Wrote 1000 images to /tmp/madlib_hb8ESuQLva/cifar_10_test_data0001.tmp\n",
-      "PoolWorker-6: Wrote 1000 images to /tmp/madlib_yKNKBHEc3G/cifar_10_test_data0001.tmp\n",
-      "PoolWorker-10: Wrote 1000 images to /tmp/madlib_9TZoE98hbn/cifar_10_test_data0001.tmp\n",
-      "PoolWorker-9: Wrote 1000 images to /tmp/madlib_h7oUVpBwyZ/cifar_10_test_data0001.tmp\n",
-      "PoolWorker-8: Loaded 1000 images into cifar_10_test_data\n",
-      "PoolWorker-7: Loaded 1000 images into cifar_10_test_data\n",
-      "PoolWorker-6: Loaded 1000 images into cifar_10_test_data\n",
-      "PoolWorker-10: Loaded 1000 images into cifar_10_test_data\n",
-      "PoolWorker-9: Loaded 1000 images into cifar_10_test_data\n",
-      "PoolWorker-8: Removed temporary directory /tmp/madlib_PmtDmYhSBj\n",
-      "PoolWorker-7: Removed temporary directory /tmp/madlib_hb8ESuQLva\n",
-      "PoolWorker-6: Removed temporary directory /tmp/madlib_yKNKBHEc3G\n",
-      "PoolWorker-9: Removed temporary directory /tmp/madlib_h7oUVpBwyZ\n",
-      "PoolWorker-10: Removed temporary directory /tmp/madlib_9TZoE98hbn\n",
-      "Done!  Loaded 10000 images in 4.54620194435s\n",
-      "5 workers terminated.\n"
-     ]
-    }
-   ],
-   "source": [
-    "# Load dataset into np array\n",
-    "(x_train, y_train), (x_test, y_test) = cifar10.load_data()\n",
-    "\n",
-    "%sql DROP TABLE IF EXISTS cifar_10_train_data, cifar_10_test_data;\n",
-    "\n",
-    "# Save images to temporary directories and load into database\n",
-    "iloader.load_dataset_from_np(x_train, y_train, 'cifar_10_train_data', append=False)\n",
-    "iloader.load_dataset_from_np(x_test, y_test, 'cifar_10_test_data', append=False)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 10,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>count</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>50000</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(50000L,)]"
-      ]
-     },
-     "execution_count": 10,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%sql select count(*) from cifar_10_train_data;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"image_preproc\"></a>\n",
-    "# 3. Call image preprocessor\n",
-    "\n",
-    "Transforms from one image per row to multiple images per row for batch optimization.  Also normalizes and one-hot encodes.\n",
-    "\n",
-    "Training data"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 9,
-   "metadata": {
-    "scrolled": true
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>source_table</th>\n",
-       "        <th>output_table</th>\n",
-       "        <th>dependent_varname</th>\n",
-       "        <th>independent_varname</th>\n",
-       "        <th>dependent_vartype</th>\n",
-       "        <th>class_values</th>\n",
-       "        <th>buffer_size</th>\n",
-       "        <th>normalizing_const</th>\n",
-       "        <th>num_classes</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>cifar_10_train_data</td>\n",
-       "        <td>cifar_10_train_data_packed</td>\n",
-       "        <td>y</td>\n",
-       "        <td>x</td>\n",
-       "        <td>text</td>\n",
-       "        <td>[u'0', u'1', u'2', u'3', u'4', u'5', u'6', u'7', u'8', u'9']</td>\n",
-       "        <td>1000</td>\n",
-       "        <td>255.0</td>\n",
-       "        <td>10</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'cifar_10_train_data', u'cifar_10_train_data_packed', u'y', u'x', u'text', [u'0', u'1', u'2', u'3', u'4', u'5', u'6', u'7', u'8', u'9'], 1000, 255.0, 10)]"
-      ]
-     },
-     "execution_count": 9,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS cifar_10_train_data_packed, cifar_10_train_data_packed_summary;\n",
-    "\n",
-    "SELECT madlib.training_preprocessor_dl('cifar_10_train_data',        -- Source table\n",
-    "                                       'cifar_10_train_data_packed', -- Output table\n",
-    "                                       'y',                          -- Dependent variable\n",
-    "                                       'x',                          -- Independent variable\n",
-    "                                        1000,                        -- Buffer size\n",
-    "                                        255                          -- Normalizing constant\n",
-    "                                        );\n",
-    "\n",
-    "SELECT * FROM cifar_10_train_data_packed_summary;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Test data"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 11,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>source_table</th>\n",
-       "        <th>output_table</th>\n",
-       "        <th>dependent_varname</th>\n",
-       "        <th>independent_varname</th>\n",
-       "        <th>dependent_vartype</th>\n",
-       "        <th>class_values</th>\n",
-       "        <th>buffer_size</th>\n",
-       "        <th>normalizing_const</th>\n",
-       "        <th>num_classes</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>cifar_10_test_data</td>\n",
-       "        <td>cifar_10_test_data_packed</td>\n",
-       "        <td>y</td>\n",
-       "        <td>x</td>\n",
-       "        <td>text</td>\n",
-       "        <td>[u'0', u'1', u'2', u'3', u'4', u'5', u'6', u'7', u'8', u'9']</td>\n",
-       "        <td>1000</td>\n",
-       "        <td>255.0</td>\n",
-       "        <td>10</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'cifar_10_test_data', u'cifar_10_test_data_packed', u'y', u'x', u'text', [u'0', u'1', u'2', u'3', u'4', u'5', u'6', u'7', u'8', u'9'], 1000, 255.0, 10)]"
-      ]
-     },
-     "execution_count": 11,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS cifar_10_test_data_packed, cifar_10_test_data_packed_summary;\n",
-    "\n",
-    "SELECT madlib.validation_preprocessor_dl('cifar_10_test_data',          -- Source table\n",
-    "                                         'cifar_10_test_data_packed',   -- Output table\n",
-    "                                         'y',                           -- Dependent variable\n",
-    "                                         'x',                           -- Independent variable\n",
-    "                                         'cifar_10_train_data_packed',  -- Training preproc table\n",
-    "                                         1000                           -- Buffer size\n",
-    "                                        );\n",
-    "\n",
-    "SELECT * FROM cifar_10_test_data_packed_summary;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"define_and_load_model\"></a>\n",
-    "# 4. Define and load model architecture\n",
-    "\n",
-    "Model architecture from https://keras.io/examples/cifar10_cnn/"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 12,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "_________________________________________________________________\n",
-      "Layer (type)                 Output Shape              Param #   \n",
-      "=================================================================\n",
-      "conv2d_1 (Conv2D)            (None, 32, 32, 32)        896       \n",
-      "_________________________________________________________________\n",
-      "activation_1 (Activation)    (None, 32, 32, 32)        0         \n",
-      "_________________________________________________________________\n",
-      "conv2d_2 (Conv2D)            (None, 30, 30, 32)        9248      \n",
-      "_________________________________________________________________\n",
-      "activation_2 (Activation)    (None, 30, 30, 32)        0         \n",
-      "_________________________________________________________________\n",
-      "max_pooling2d_1 (MaxPooling2 (None, 15, 15, 32)        0         \n",
-      "_________________________________________________________________\n",
-      "dropout_1 (Dropout)          (None, 15, 15, 32)        0         \n",
-      "_________________________________________________________________\n",
-      "conv2d_3 (Conv2D)            (None, 15, 15, 64)        18496     \n",
-      "_________________________________________________________________\n",
-      "activation_3 (Activation)    (None, 15, 15, 64)        0         \n",
-      "_________________________________________________________________\n",
-      "conv2d_4 (Conv2D)            (None, 13, 13, 64)        36928     \n",
-      "_________________________________________________________________\n",
-      "activation_4 (Activation)    (None, 13, 13, 64)        0         \n",
-      "_________________________________________________________________\n",
-      "max_pooling2d_2 (MaxPooling2 (None, 6, 6, 64)          0         \n",
-      "_________________________________________________________________\n",
-      "dropout_2 (Dropout)          (None, 6, 6, 64)          0         \n",
-      "_________________________________________________________________\n",
-      "flatten_1 (Flatten)          (None, 2304)              0         \n",
-      "_________________________________________________________________\n",
-      "dense_1 (Dense)              (None, 512)               1180160   \n",
-      "_________________________________________________________________\n",
-      "activation_5 (Activation)    (None, 512)               0         \n",
-      "_________________________________________________________________\n",
-      "dropout_3 (Dropout)          (None, 512)               0         \n",
-      "_________________________________________________________________\n",
-      "dense_2 (Dense)              (None, 10)                5130      \n",
-      "_________________________________________________________________\n",
-      "activation_6 (Activation)    (None, 10)                0         \n",
-      "=================================================================\n",
-      "Total params: 1,250,858\n",
-      "Trainable params: 1,250,858\n",
-      "Non-trainable params: 0\n",
-      "_________________________________________________________________\n"
-     ]
-    }
-   ],
-   "source": [
-    "model = Sequential()\n",
-    "model.add(Conv2D(32, (3, 3), padding='same',\n",
-    "                 input_shape=x_train.shape[1:]))\n",
-    "model.add(Activation('relu'))\n",
-    "model.add(Conv2D(32, (3, 3)))\n",
-    "model.add(Activation('relu'))\n",
-    "model.add(MaxPooling2D(pool_size=(2, 2)))\n",
-    "model.add(Dropout(0.25))\n",
-    "\n",
-    "model.add(Conv2D(64, (3, 3), padding='same'))\n",
-    "model.add(Activation('relu'))\n",
-    "model.add(Conv2D(64, (3, 3)))\n",
-    "model.add(Activation('relu'))\n",
-    "model.add(MaxPooling2D(pool_size=(2, 2)))\n",
-    "model.add(Dropout(0.25))\n",
-    "\n",
-    "model.add(Flatten())\n",
-    "model.add(Dense(512))\n",
-    "model.add(Activation('relu'))\n",
-    "model.add(Dropout(0.5))\n",
-    "model.add(Dense(num_classes))\n",
-    "model.add(Activation('softmax'))\n",
-    "\n",
-    "model.summary()"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Load into model architecture table using psycopg2"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 13,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>model_id</th>\n",
-       "        <th>name</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>CNN from Keras docs for CIFAR-10</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, u'CNN from Keras docs for CIFAR-10')]"
-      ]
-     },
-     "execution_count": 13,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "import psycopg2 as p2\n",
-    "#conn = p2.connect('postgresql://gpadmin@35.239.240.26:5432/madlib')\n",
-    "conn = p2.connect('postgresql://fmcquillan@localhost:5432/madlib')\n",
-    "cur = conn.cursor()\n",
-    "\n",
-    "%sql DROP TABLE IF EXISTS model_arch_library;\n",
-    "query = \"SELECT madlib.load_keras_model('model_arch_library', %s, NULL, %s)\"\n",
-    "cur.execute(query,[model.to_json(), \"CNN from Keras docs for CIFAR-10\"])\n",
-    "conn.commit()\n",
-    "\n",
-    "# check model loaded OK\n",
-    "%sql SELECT model_id, name FROM model_arch_library;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"train\"></a>\n",
-    "# 5.  Train"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n"
-     ]
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS cifar_10_model, cifar_10_model_summary;\n",
-    "\n",
-    "SELECT madlib.madlib_keras_fit('cifar_10_train_data_packed',    -- source table\n",
-    "                               'cifar_10_model',                -- model output table\n",
-    "                               'model_arch_library',            -- model arch table\n",
-    "                                1,                              -- model arch id\n",
-    "                                $$ loss='categorical_crossentropy', optimizer='rmsprop(lr=0.0001, decay=1e-6)', metrics=['accuracy']$$,  -- compile_params\n",
-    "                                $$ batch_size=32, epochs=3 $$,  -- fit_params\n",
-    "                                3,                             -- num_iterations\n",
-    "                                0,                              -- GPUs per host\n",
-    "                                'cifar_10_test_data_packed',    -- validation dataset\n",
-    "                                2                               -- metrics compute frequency\n",
-    "                              );"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "View the model summary:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 110,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>source_table</th>\n",
-       "        <th>model</th>\n",
-       "        <th>dependent_varname</th>\n",
-       "        <th>independent_varname</th>\n",
-       "        <th>model_arch_table</th>\n",
-       "        <th>model_arch_id</th>\n",
-       "        <th>compile_params</th>\n",
-       "        <th>fit_params</th>\n",
-       "        <th>num_iterations</th>\n",
-       "        <th>validation_table</th>\n",
-       "        <th>metrics_compute_frequency</th>\n",
-       "        <th>name</th>\n",
-       "        <th>description</th>\n",
-       "        <th>model_type</th>\n",
-       "        <th>model_size</th>\n",
-       "        <th>start_training_time</th>\n",
-       "        <th>end_training_time</th>\n",
-       "        <th>metrics_elapsed_time</th>\n",
-       "        <th>madlib_version</th>\n",
-       "        <th>num_classes</th>\n",
-       "        <th>class_values</th>\n",
-       "        <th>dependent_vartype</th>\n",
-       "        <th>normalizing_const</th>\n",
-       "        <th>metrics_type</th>\n",
-       "        <th>training_metrics_final</th>\n",
-       "        <th>training_loss_final</th>\n",
-       "        <th>training_metrics</th>\n",
-       "        <th>training_loss</th>\n",
-       "        <th>validation_metrics_final</th>\n",
-       "        <th>validation_loss_final</th>\n",
-       "        <th>validation_metrics</th>\n",
-       "        <th>validation_loss</th>\n",
-       "        <th>metrics_iters</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>cifar_10_train_data_packed</td>\n",
-       "        <td>cifar_10_model</td>\n",
-       "        <td>y</td>\n",
-       "        <td>x</td>\n",
-       "        <td>model_arch_library</td>\n",
-       "        <td>1</td>\n",
-       "        <td> loss='categorical_crossentropy', optimizer='rmsprop(lr=0.0001, decay=1e-6)', metrics=['accuracy']</td>\n",
-       "        <td> batch_size=32, epochs=3 </td>\n",
-       "        <td>20</td>\n",
-       "        <td>cifar_10_test_data_packed</td>\n",
-       "        <td>2</td>\n",
-       "        <td>None</td>\n",
-       "        <td>None</td>\n",
-       "        <td>madlib_keras</td>\n",
-       "        <td>4886.20019531</td>\n",
-       "        <td>2019-06-25 05:40:29.287703</td>\n",
-       "        <td>2019-06-25 07:59:52.961506</td>\n",
-       "        <td>[798.95044708252, 1616.68976902962, 2447.13853096962, 3273.68762302399, 4116.44566893578, 4962.07483291626, 5805.66080999374, 6665.33687210083, 7526.0603749752, 8363.67366909981]</td>\n",
-       "        <td>1.16-dev</td>\n",
-       "        <td>10</td>\n",
-       "        <td>[u'0', u'1', u'2', u'3', u'4', u'5', u'6', u'7', u'8', u'9']</td>\n",
-       "        <td>text</td>\n",
-       "        <td>255.0</td>\n",
-       "        <td>[u'accuracy']</td>\n",
-       "        <td>0.836480021477</td>\n",
-       "        <td>0.500134825706</td>\n",
-       "        <td>[0.579240024089813, 0.672980010509491, 0.723999977111816, 0.75764000415802, 0.783959984779358, 0.79475998878479, 0.811240017414093, 0.822780013084412, 0.829559981822968, 0.836480021476746]</td>\n",
-       "        <td>[1.19081699848175, 0.940543830394745, 0.800645172595978, 0.700933694839478, 0.636690974235535, 0.599389910697937, 0.556614756584167, 0.53840559720993, 0.517430067062378, 0.500134825706482]</td>\n",
-       "        <td>0.778900027275</td>\n",
-       "        <td>0.661625564098</td>\n",
-       "        <td>[0.57150000333786, 0.653800010681152, 0.692200005054474, 0.721300005912781, 0.740000009536743, 0.751299977302551, 0.756099998950958, 0.769999980926514, 0.77240002155304, 0.778900027275085]</td>\n",
-       "        <td>[1.20945084095001, 0.987037718296051, 0.871006071567535, 0.800125658512115, 0.751632690429688, 0.72808450460434, 0.704570233821869, 0.684175074100494, 0.675221920013428, 0.661625564098358]</td>\n",
-       "        <td>[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'cifar_10_train_data_packed', u'cifar_10_model', u'y', u'x', u'model_arch_library', 1, u\" loss='categorical_crossentropy', optimizer='rmsprop(lr=0.0001, decay=1e-6)', metrics=['accuracy']\", u' batch_size=32, epochs=3 ', 20, u'cifar_10_test_data_packed', 2, None, None, u'madlib_keras', 4886.20019531, datetime.datetime(2019, 6, 25, 5, 40, 29, 287703), datetime.datetime(2019, 6, 25, 7, 59, 52, 961506), [798.95044708252, 1616.68976902962, 2447.13853096962, 3273.68762302399, 4116.44566893578, 4962.07483291626, 5805.66080999374, 6665.33687210083, 7526.0603749752, 8363.67366909981], u'1.16-dev', 10, [u'0', u'1', u'2', u'3', u'4', u'5', u'6', u'7', u'8', u'9'], u'text', 255.0, [u'accuracy'], 0.836480021477, 0.500134825706, [0.579240024089813, 0.672980010509491, 0.723999977111816, 0.75764000415802, 0.783959984779358, 0.79475998878479, 0.811240017414093, 0.822780013084412, 0.829559981822968, 0.836480021476746], [1.19081699848175, 0.940543830394745, 0.800645172595978, 0.700933694839478, 0.636690974235535, 0.599389910697937, 0.556614756584167, 0.53840559720993, 0.517430067062378, 0.500134825706482], 0.778900027275, 0.661625564098, [0.57150000333786, 0.653800010681152, 0.692200005054474, 0.721300005912781, 0.740000009536743, 0.751299977302551, 0.756099998950958, 0.769999980926514, 0.77240002155304, 0.778900027275085], [1.20945084095001, 0.987037718296051, 0.871006071567535, 0.800125658512115, 0.751632690429688, 0.72808450460434, 0.704570233821869, 0.684175074100494, 0.675221920013428, 0.661625564098358], [2, 4, 6, 8, 10, 12, 14, 16, 18, 20])]"
-      ]
-     },
-     "execution_count": 110,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT * FROM cifar_10_model_summary;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Evaluate using test data (same values as last iteration from the fit output summary above)."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 8,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>loss</th>\n",
-       "        <th>metric</th>\n",
-       "        <th>metrics_type</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0.661625564098</td>\n",
-       "        <td>0.778900027275</td>\n",
-       "        <td>[u'accuracy']</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(0.661625564098358, 0.778900027275085, [u'accuracy'])]"
-      ]
-     },
-     "execution_count": 8,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS cifar10_validate;\n",
-    "\n",
-    "SELECT madlib.madlib_keras_evaluate('cifar_10_model',               -- model\n",
-    "                                    'cifar_10_test_data_packed',   -- test table\n",
-    "                                    'cifar10_validate'             -- output table\n",
-    "                                    );\n",
-    "\n",
-    "SELECT * FROM cifar10_validate;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"plot\"></a>\n",
-    "# 6.  Plots by iteration and by time\n",
-    "Accuracy by iteration"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 100,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n",
-      "1 rows affected.\n",
-      "1 rows affected.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/plain": [
-       "<matplotlib.legend.Legend at 0x1195ef9d0>"
-      ]
-     },
-     "execution_count": 100,
-     "metadata": {},
-     "output_type": "execute_result"
-    },
-    {
-     "data": {
-      "image/png": "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\n",
-      "text/plain": [
-       "<Figure size 432x288 with 1 Axes>"
-      ]
-     },
-     "metadata": {
-      "needs_background": "light"
-     },
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "# get accuracy and iteration number\n",
-    "iters_proxy = %sql SELECT metrics_iters FROM cifar_10_model_summary;\n",
-    "train_accuracy_proxy = %sql SELECT training_metrics FROM cifar_10_model_summary;\n",
-    "test_accuracy_proxy = %sql SELECT validation_metrics FROM cifar_10_model_summary;\n",
-    "\n",
-    "# get number of points\n",
-    "num_points_proxy = %sql SELECT array_length(metrics_iters,1) FROM cifar_10_model_summary;\n",
-    "num_points = num_points_proxy[0]\n",
-    "\n",
-    "# reshape to np arrays\n",
-    "iters = np.array(iters_proxy).reshape(num_points)\n",
-    "train_accuracy = np.array(train_accuracy_proxy).reshape(num_points)\n",
-    "test_accuracy = np.array(test_accuracy_proxy).reshape(num_points)\n",
-    "\n",
-    "#plot\n",
-    "plt.title('CIFAR-10 accuracy by iteration')\n",
-    "plt.xlabel('Iteration number')\n",
-    "plt.ylabel('Accuracy')\n",
-    "plt.grid(True)\n",
-    "plt.plot(iters, train_accuracy, 'g.-', label='Train')\n",
-    "plt.plot(iters, test_accuracy, 'r.-', label='Test')\n",
-    "plt.legend()"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Loss by iteration"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 101,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/plain": [
-       "<matplotlib.legend.Legend at 0x119279910>"
-      ]
-     },
-     "execution_count": 101,
-     "metadata": {},
-     "output_type": "execute_result"
-    },
-    {
-     "data": {
-      "image/png": "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\n",
-      "text/plain": [
-       "<Figure size 432x288 with 1 Axes>"
-      ]
-     },
-     "metadata": {
-      "needs_background": "light"
-     },
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "# get loss\n",
-    "train_loss_proxy = %sql SELECT training_loss FROM cifar_10_model_summary;\n",
-    "test_loss_proxy = %sql SELECT validation_loss FROM cifar_10_model_summary;\n",
-    "\n",
-    "# reshape to np arrays\n",
-    "train_loss = np.array(train_loss_proxy).reshape(num_points)\n",
-    "test_loss = np.array(test_loss_proxy).reshape(num_points)\n",
-    "\n",
-    "#plot\n",
-    "plt.title('CIFAR-10 loss by iteration')\n",
-    "plt.xlabel('Iteration number')\n",
-    "plt.ylabel('Loss')\n",
-    "plt.grid(True)\n",
-    "plt.plot(iters, train_loss, 'g.-', label='Train')\n",
-    "plt.plot(iters, test_loss, 'r.-', label='Test')\n",
-    "plt.legend()"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Accuracy by time"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 108,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/plain": [
-       "<matplotlib.legend.Legend at 0x119664410>"
-      ]
-     },
-     "execution_count": 108,
-     "metadata": {},
-     "output_type": "execute_result"
-    },
-    {
-     "data": {
-      "image/png": "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\n",
-      "text/plain": [
-       "<Figure size 432x288 with 1 Axes>"
-      ]
-     },
-     "metadata": {
-      "needs_background": "light"
-     },
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "# get time\n",
-    "time_proxy = %sql SELECT metrics_elapsed_time FROM cifar_10_model_summary;\n",
-    "\n",
-    "# reshape to np arrays\n",
-    "time = np.array(time_proxy).reshape(num_points)/60.0\n",
-    "\n",
-    "#plot\n",
-    "plt.title('CIFAR-10 accuracy by time')\n",
-    "plt.xlabel('Time (min)')\n",
-    "plt.ylabel('Accuracy')\n",
-    "plt.grid(True)\n",
-    "plt.plot(time, train_accuracy, 'g.-', label='Train')\n",
-    "plt.plot(time, test_accuracy, 'r.-', label='Test')\n",
-    "plt.legend()"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Time to achieve a given accuracy"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 109,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "<matplotlib.legend.Legend at 0x119628690>"
-      ]
-     },
-     "execution_count": 109,
-     "metadata": {},
-     "output_type": "execute_result"
-    },
-    {
-     "data": {
-      "image/png": "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\n",
-      "text/plain": [
-       "<Figure size 432x288 with 1 Axes>"
-      ]
-     },
-     "metadata": {
-      "needs_background": "light"
-     },
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "#plot\n",
-    "plt.title('CIFAR-10 time by accuracy')\n",
-    "plt.xlabel('Accuracy')\n",
-    "plt.ylabel('Time (min)')\n",
-    "plt.grid(True)\n",
-    "plt.plot(train_accuracy, time, 'g.-', label='Train')\n",
-    "plt.plot(test_accuracy, time, 'r.-', label='Test')\n",
-    "plt.legend()"
-   ]
-  }
- ],
- "metadata": {
-  "kernelspec": {
-   "display_name": "Python 2",
-   "language": "python",
-   "name": "python2"
-  },
-  "language_info": {
-   "codemirror_mode": {
-    "name": "ipython",
-    "version": 2
-   },
-   "file_extension": ".py",
-   "mimetype": "text/x-python",
-   "name": "python",
-   "nbconvert_exporter": "python",
-   "pygments_lexer": "ipython2",
-   "version": "2.7.10"
-  }
- },
- "nbformat": 4,
- "nbformat_minor": 1
-}
diff --git a/community-artifacts/Deep-learning/MADlib-Keras-transfer-learning-v2.ipynb b/community-artifacts/Deep-learning/MADlib-Keras-transfer-learning-v2.ipynb
deleted file mode 100644
index d8f46ed..0000000
--- a/community-artifacts/Deep-learning/MADlib-Keras-transfer-learning-v2.ipynb
+++ /dev/null
@@ -1,1624 +0,0 @@
-{
- "cells": [
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# Transfer Learning Using Keras and MADlib\n",
-    "\n",
-    "This is a transfer learning example based on https://keras.io/examples/mnist_transfer_cnn/ \n",
-    "\n",
-    "To load images into tables we use the script called <em>madlib_image_loader.py</em> located at https://github.com/apache/madlib-site/tree/asf-site/community-artifacts/Deep-learning which uses the Python Imaging Library so supports multiple formats http://www.pythonware.com/products/pil/\n",
-    "\n",
-    "## Table of contents\n",
-    "<a href=\"#import_libraries\">1. Import libraries</a>\n",
-    "\n",
-    "<a href=\"#load_and_prepare_data\">2. Load and prepare data</a>\n",
-    "\n",
-    "<a href=\"#image_preproc\">3. Call image preprocessor</a>\n",
-    "\n",
-    "<a href=\"#define_and_load_model\">4. Define and load model architecture</a>\n",
-    "\n",
-    "<a href=\"#train\">5. Train</a>\n",
-    "\n",
-    "<a href=\"#transfer_learning\">6. Transfer learning</a>"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 1,
-   "metadata": {
-    "scrolled": true
-   },
-   "outputs": [
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "/Users/fmcquillan/anaconda/lib/python2.7/site-packages/IPython/config.py:13: ShimWarning: The `IPython.config` package has been deprecated since IPython 4.0. You should import from traitlets.config instead.\n",
-      "  \"You should import from traitlets.config instead.\", ShimWarning)\n",
-      "/Users/fmcquillan/anaconda/lib/python2.7/site-packages/IPython/utils/traitlets.py:5: UserWarning: IPython.utils.traitlets has moved to a top-level traitlets package.\n",
-      "  warn(\"IPython.utils.traitlets has moved to a top-level traitlets package.\")\n"
-     ]
-    }
-   ],
-   "source": [
-    "%load_ext sql"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 2,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "u'Connected: gpadmin@madlib'"
-      ]
-     },
-     "execution_count": 2,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "# Greenplum Database 5.x on GCP for deep learning (PM demo machine)\n",
-    "%sql postgresql://gpadmin@35.239.240.26:5432/madlib\n",
-    "        \n",
-    "# PostgreSQL local\n",
-    "#%sql postgresql://fmcquillan@localhost:5432/madlib"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 3,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>version</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>MADlib version: 1.17-dev, git revision: rel/v1.16-2-g8a612fe, cmake configuration time: Wed Jul 17 18:49:47 UTC 2019, build type: release, build system: Linux-3.10.0-957.21.3.el7.x86_64, C compiler: gcc 4.8.5, C++ compiler: g++ 4.8.5</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'MADlib version: 1.17-dev, git revision: rel/v1.16-2-g8a612fe, cmake configuration time: Wed Jul 17 18:49:47 UTC 2019, build type: release, build system: Linux-3.10.0-957.21.3.el7.x86_64, C compiler: gcc 4.8.5, C++ compiler: g++ 4.8.5',)]"
-      ]
-     },
-     "execution_count": 3,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%sql select madlib.version();\n",
-    "#%sql select version();"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"import_libraries\"></a>\n",
-    "# 1.  Import libraries\n",
-    "From https://keras.io/examples/mnist_transfer_cnn/ import libraries and define some params"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 4,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "Using TensorFlow backend.\n"
-     ]
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Couldn't import dot_parser, loading of dot files will not be possible.\n"
-     ]
-    }
-   ],
-   "source": [
-    "from __future__ import print_function\n",
-    "\n",
-    "import datetime\n",
-    "import keras\n",
-    "from keras.datasets import mnist\n",
-    "from keras.models import Sequential\n",
-    "from keras.layers import Dense, Dropout, Activation, Flatten\n",
-    "from keras.layers import Conv2D, MaxPooling2D\n",
-    "from keras import backend as K\n",
-    "\n",
-    "now = datetime.datetime.now\n",
-    "\n",
-    "batch_size = 128\n",
-    "num_classes = 5\n",
-    "epochs = 5\n",
-    "\n",
-    "# input image dimensions\n",
-    "img_rows, img_cols = 28, 28\n",
-    "# number of convolutional filters to use\n",
-    "filters = 32\n",
-    "# size of pooling area for max pooling\n",
-    "pool_size = 2\n",
-    "# convolution kernel size\n",
-    "kernel_size = 3\n",
-    "\n",
-    "if K.image_data_format() == 'channels_first':\n",
-    "    input_shape = (1, img_rows, img_cols)\n",
-    "else:\n",
-    "    input_shape = (img_rows, img_cols, 1)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Others needed in this workbook"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 5,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "import pandas as pd\n",
-    "import numpy as np"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"load_and_prepare_data\"></a>\n",
-    "# 2.  Load and prepare data\n",
-    "\n",
-    "First load MNIST data from Keras, consisting of 60,000 28x28 grayscale images of the 10 digits, along with a test set of 10,000 images."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 6,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "(4861, 28, 28)\n",
-      "(4861, 28, 28, 1)\n"
-     ]
-    }
-   ],
-   "source": [
-    "# the data, split between train and test sets\n",
-    "(x_train, y_train), (x_test, y_test) = mnist.load_data()\n",
-    "\n",
-    "# create two datasets one with digits below 5 and one with 5 and above\n",
-    "x_train_lt5 = x_train[y_train < 5]\n",
-    "y_train_lt5 = y_train[y_train < 5]\n",
-    "x_test_lt5 = x_test[y_test < 5]\n",
-    "y_test_lt5 = y_test[y_test < 5]\n",
-    "\n",
-    "x_train_gte5 = x_train[y_train >= 5]\n",
-    "y_train_gte5 = y_train[y_train >= 5] - 5\n",
-    "x_test_gte5 = x_test[y_test >= 5]\n",
-    "y_test_gte5 = y_test[y_test >= 5] - 5\n",
-    "\n",
-    "# reshape to match model architecture\n",
-    "print(x_test_gte5.shape)\n",
-    "x_train_lt5=x_train_lt5.reshape(len(x_train_lt5), *input_shape)\n",
-    "x_test_lt5 = x_test_lt5.reshape(len(x_test_lt5), *input_shape)\n",
-    "x_train_gte5=x_train_gte5.reshape(len(x_train_gte5), *input_shape)\n",
-    "x_test_gte5 = x_test_gte5.reshape(len(x_test_gte5), *input_shape)\n",
-    "print(x_test_gte5.shape)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Load datasets into tables using image loader scripts called <em>madlib_image_loader.py</em> located at https://github.com/apache/madlib-site/tree/asf-site/community-artifacts/Deep-learning"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 7,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# MADlib tools directory\n",
-    "import sys\n",
-    "import os\n",
-    "madlib_site_dir = '/Users/fmcquillan/Documents/Product/MADlib/Demos/data'\n",
-    "sys.path.append(madlib_site_dir)\n",
-    "\n",
-    "# Import image loader module\n",
-    "from madlib_image_loader import ImageLoader, DbCredentials"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 8,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# Specify database credentials, for connecting to db\n",
-    "db_creds = DbCredentials(user='gpadmin',\n",
-    "                         host='35.239.240.26',\n",
-    "                         port='5432',\n",
-    "                         password='')"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 9,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# Initialize ImageLoader (increase num_workers to run faster)\n",
-    "iloader = ImageLoader(num_workers=5, db_creds=db_creds)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 10,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "MainProcess: Connected to madlib db.\n",
-      "Executing: CREATE TABLE train_lt5 (id SERIAL, x REAL[], y TEXT)\n",
-      "CREATE TABLE\n",
-      "Created table train_lt5 in madlib db\n",
-      "Spawning 5 workers...\n",
-      "Initializing PoolWorker-1 [pid 32452]\n",
-      "PoolWorker-1: Created temporary directory /tmp/madlib_RqdNj6bF0W\n",
-      "Initializing PoolWorker-2 [pid 32453]\n",
-      "PoolWorker-2: Created temporary directory /tmp/madlib_2dVRSzAit5\n",
-      "Initializing PoolWorker-3 [pid 32454]\n",
-      "PoolWorker-3: Created temporary directory /tmp/madlib_wAZd4zRnM5\n",
-      "Initializing PoolWorker-4 [pid 32455]\n",
-      "PoolWorker-4: Created temporary directory /tmp/madlib_fGfGIO2M6v\n",
-      "Initializing PoolWorker-5 [pid 32456]\n",
-      "PoolWorker-5: Created temporary directory /tmp/madlib_wJYreK1smG\n",
-      "PoolWorker-1: Connected to madlib db.\n",
-      "PoolWorker-2: Connected to madlib db.\n",
-      "PoolWorker-3: Connected to madlib db.\n",
-      "PoolWorker-4: Connected to madlib db.\n",
-      "PoolWorker-5: Connected to madlib db.\n",
-      "PoolWorker-1: Wrote 1000 images to /tmp/madlib_RqdNj6bF0W/train_lt50000.tmp\n",
-      "PoolWorker-2: Wrote 1000 images to /tmp/madlib_2dVRSzAit5/train_lt50000.tmp\n",
-      "PoolWorker-4: Wrote 1000 images to /tmp/madlib_fGfGIO2M6v/train_lt50000.tmp\n",
-      "PoolWorker-3: Wrote 1000 images to /tmp/madlib_wAZd4zRnM5/train_lt50000.tmp\n",
-      "PoolWorker-5: Wrote 1000 images to /tmp/madlib_wJYreK1smG/train_lt50000.tmp\n",
-      "PoolWorker-1: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-4: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-5: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-3: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-1: Wrote 1000 images to /tmp/madlib_RqdNj6bF0W/train_lt50001.tmp\n",
-      "PoolWorker-5: Wrote 1000 images to /tmp/madlib_wJYreK1smG/train_lt50001.tmp\n",
-      "PoolWorker-4: Wrote 1000 images to /tmp/madlib_fGfGIO2M6v/train_lt50001.tmp\n",
-      "PoolWorker-2: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-3: Wrote 1000 images to /tmp/madlib_wAZd4zRnM5/train_lt50001.tmp\n",
-      "PoolWorker-1: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-2: Wrote 1000 images to /tmp/madlib_2dVRSzAit5/train_lt50001.tmp\n",
-      "PoolWorker-5: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-3: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-4: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-1: Wrote 1000 images to /tmp/madlib_RqdNj6bF0W/train_lt50002.tmp\n",
-      "PoolWorker-5: Wrote 1000 images to /tmp/madlib_wJYreK1smG/train_lt50002.tmp\n",
-      "PoolWorker-3: Wrote 1000 images to /tmp/madlib_wAZd4zRnM5/train_lt50002.tmp\n",
-      "PoolWorker-4: Wrote 1000 images to /tmp/madlib_fGfGIO2M6v/train_lt50002.tmp\n",
-      "PoolWorker-2: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-1: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-5: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-4: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-3: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-2: Wrote 1000 images to /tmp/madlib_2dVRSzAit5/train_lt50002.tmp\n",
-      "PoolWorker-1: Wrote 1000 images to /tmp/madlib_RqdNj6bF0W/train_lt50003.tmp\n",
-      "PoolWorker-5: Wrote 1000 images to /tmp/madlib_wJYreK1smG/train_lt50003.tmp\n",
-      "PoolWorker-4: Wrote 1000 images to /tmp/madlib_fGfGIO2M6v/train_lt50003.tmp\n",
-      "PoolWorker-3: Wrote 1000 images to /tmp/madlib_wAZd4zRnM5/train_lt50003.tmp\n",
-      "PoolWorker-2: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-1: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-4: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-2: Wrote 1000 images to /tmp/madlib_2dVRSzAit5/train_lt50003.tmp\n",
-      "PoolWorker-3: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-1: Wrote 1000 images to /tmp/madlib_RqdNj6bF0W/train_lt50004.tmp\n",
-      "PoolWorker-4: Wrote 1000 images to /tmp/madlib_fGfGIO2M6v/train_lt50004.tmp\n",
-      "PoolWorker-3: Wrote 1000 images to /tmp/madlib_wAZd4zRnM5/train_lt50004.tmp\n",
-      "PoolWorker-2: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-4: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-1: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-3: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-2: Wrote 1000 images to /tmp/madlib_2dVRSzAit5/train_lt50004.tmp\n",
-      "PoolWorker-4: Wrote 1000 images to /tmp/madlib_fGfGIO2M6v/train_lt50005.tmp\n",
-      "PoolWorker-1: Wrote 1000 images to /tmp/madlib_RqdNj6bF0W/train_lt50005.tmp\n",
-      "PoolWorker-5: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-3: Wrote 1000 images to /tmp/madlib_wAZd4zRnM5/train_lt50005.tmp\n",
-      "PoolWorker-4: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-5: Wrote 1000 images to /tmp/madlib_wJYreK1smG/train_lt50004.tmp\n",
-      "PoolWorker-2: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-1: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-4: Wrote 596 images to /tmp/madlib_fGfGIO2M6v/train_lt50006.tmp\n",
-      "PoolWorker-3: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-2: Wrote 1000 images to /tmp/madlib_2dVRSzAit5/train_lt50005.tmp\n",
-      "PoolWorker-4: Loaded 596 images into train_lt5\n",
-      "PoolWorker-2: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-5: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-5: Wrote 1000 images to /tmp/madlib_wJYreK1smG/train_lt50005.tmp\n",
-      "PoolWorker-5: Loaded 1000 images into train_lt5\n",
-      "PoolWorker-1: Removed temporary directory /tmp/madlib_RqdNj6bF0W\n",
-      "PoolWorker-5: Removed temporary directory /tmp/madlib_wJYreK1smG\n",
-      "PoolWorker-4: Removed temporary directory /tmp/madlib_fGfGIO2M6v\n",
-      "PoolWorker-3: Removed temporary directory /tmp/madlib_wAZd4zRnM5\n",
-      "PoolWorker-2: Removed temporary directory /tmp/madlib_2dVRSzAit5\n",
-      "Done!  Loaded 30596 images in 14.2171461582s\n",
-      "5 workers terminated.\n",
-      "MainProcess: Connected to madlib db.\n",
-      "Executing: CREATE TABLE test_lt5 (id SERIAL, x REAL[], y TEXT)\n",
-      "CREATE TABLE\n",
-      "Created table test_lt5 in madlib db\n",
-      "Spawning 5 workers...\n",
-      "Initializing PoolWorker-6 [pid 32457]\n",
-      "PoolWorker-6: Created temporary directory /tmp/madlib_4n6hb9xfIi\n",
-      "Initializing PoolWorker-7 [pid 32458]\n",
-      "PoolWorker-7: Created temporary directory /tmp/madlib_F1kcKRJNq0\n",
-      "Initializing PoolWorker-8 [pid 32459]\n",
-      "PoolWorker-8: Created temporary directory /tmp/madlib_XpsmAPt8MP\n",
-      "Initializing PoolWorker-9 [pid 32460]\n",
-      "PoolWorker-10: Created temporary directory /tmp/madlib_ZcWfxD9Vqm\n",
-      "PoolWorker-9: Created temporary directory /tmp/madlib_7TQeRq7vm6\n",
-      "Initializing PoolWorker-10 [pid 32461]\n",
-      "PoolWorker-6: Connected to madlib db.\n",
-      "PoolWorker-7: Connected to madlib db.\n",
-      "PoolWorker-8: Connected to madlib db.\n",
-      "PoolWorker-9: Connected to madlib db.\n",
-      "PoolWorker-10: Connected to madlib db.\n",
-      "PoolWorker-9: Wrote 1000 images to /tmp/madlib_7TQeRq7vm6/test_lt50000.tmp\n",
-      "PoolWorker-6: Wrote 1000 images to /tmp/madlib_4n6hb9xfIi/test_lt50000.tmp\n",
-      "PoolWorker-7: Wrote 1000 images to /tmp/madlib_F1kcKRJNq0/test_lt50000.tmp\n",
-      "PoolWorker-8: Wrote 1000 images to /tmp/madlib_XpsmAPt8MP/test_lt50000.tmp\n",
-      "PoolWorker-10: Wrote 1000 images to /tmp/madlib_ZcWfxD9Vqm/test_lt50000.tmp\n",
-      "PoolWorker-6: Loaded 1000 images into test_lt5\n",
-      "PoolWorker-6: Wrote 139 images to /tmp/madlib_4n6hb9xfIi/test_lt50001.tmp\n",
-      "PoolWorker-7: Loaded 1000 images into test_lt5\n",
-      "PoolWorker-8: Loaded 1000 images into test_lt5\n",
-      "PoolWorker-9: Loaded 1000 images into test_lt5\n",
-      "PoolWorker-10: Loaded 1000 images into test_lt5\n",
-      "PoolWorker-6: Loaded 139 images into test_lt5\n",
-      "PoolWorker-9: Removed temporary directory /tmp/madlib_7TQeRq7vm6\n",
-      "PoolWorker-10: Removed temporary directory /tmp/madlib_ZcWfxD9Vqm\n",
-      "PoolWorker-8: Removed temporary directory /tmp/madlib_XpsmAPt8MP\n",
-      "PoolWorker-7: Removed temporary directory /tmp/madlib_F1kcKRJNq0\n",
-      "PoolWorker-6: Removed temporary directory /tmp/madlib_4n6hb9xfIi\n",
-      "Done!  Loaded 5139 images in 3.46985602379s\n",
-      "5 workers terminated.\n",
-      "MainProcess: Connected to madlib db.\n",
-      "Executing: CREATE TABLE train_gte5 (id SERIAL, x REAL[], y TEXT)\n",
-      "CREATE TABLE\n",
-      "Created table train_gte5 in madlib db\n",
-      "Spawning 5 workers...\n",
-      "Initializing PoolWorker-11 [pid 32462]\n",
-      "PoolWorker-11: Created temporary directory /tmp/madlib_F1VrR8QcQB\n",
-      "Initializing PoolWorker-12 [pid 32463]\n",
-      "PoolWorker-12: Created temporary directory /tmp/madlib_8dZVe2Lowc\n",
-      "Initializing PoolWorker-13 [pid 32464]\n",
-      "PoolWorker-13: Created temporary directory /tmp/madlib_V3jNZmDpr3\n",
-      "Initializing PoolWorker-14 [pid 32465]\n",
-      "PoolWorker-14: Created temporary directory /tmp/madlib_EtHaTZ0PtA\n",
-      "Initializing PoolWorker-15 [pid 32466]\n",
-      "PoolWorker-15: Created temporary directory /tmp/madlib_XtW6GudAE0\n",
-      "PoolWorker-11: Connected to madlib db.\n",
-      "PoolWorker-12: Connected to madlib db.\n",
-      "PoolWorker-13: Connected to madlib db.\n",
-      "PoolWorker-14: Connected to madlib db.\n",
-      "PoolWorker-15: Connected to madlib db.\n",
-      "PoolWorker-11: Wrote 1000 images to /tmp/madlib_F1VrR8QcQB/train_gte50000.tmp\n",
-      "PoolWorker-12: Wrote 1000 images to /tmp/madlib_8dZVe2Lowc/train_gte50000.tmp\n",
-      "PoolWorker-13: Wrote 1000 images to /tmp/madlib_V3jNZmDpr3/train_gte50000.tmp\n"
-     ]
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "PoolWorker-15: Wrote 1000 images to /tmp/madlib_XtW6GudAE0/train_gte50000.tmp\n",
-      "PoolWorker-14: Wrote 1000 images to /tmp/madlib_EtHaTZ0PtA/train_gte50000.tmp\n",
-      "PoolWorker-15: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-14: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-15: Wrote 1000 images to /tmp/madlib_XtW6GudAE0/train_gte50001.tmp\n",
-      "PoolWorker-14: Wrote 1000 images to /tmp/madlib_EtHaTZ0PtA/train_gte50001.tmp\n",
-      "PoolWorker-15: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-15: Wrote 1000 images to /tmp/madlib_XtW6GudAE0/train_gte50002.tmp\n",
-      "PoolWorker-14: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-14: Wrote 1000 images to /tmp/madlib_EtHaTZ0PtA/train_gte50002.tmp\n",
-      "PoolWorker-15: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-11: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-12: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-14: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-15: Wrote 1000 images to /tmp/madlib_XtW6GudAE0/train_gte50003.tmp\n",
-      "PoolWorker-11: Wrote 1000 images to /tmp/madlib_F1VrR8QcQB/train_gte50001.tmp\n",
-      "PoolWorker-13: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-12: Wrote 1000 images to /tmp/madlib_8dZVe2Lowc/train_gte50001.tmp\n",
-      "PoolWorker-14: Wrote 1000 images to /tmp/madlib_EtHaTZ0PtA/train_gte50003.tmp\n",
-      "PoolWorker-13: Wrote 1000 images to /tmp/madlib_V3jNZmDpr3/train_gte50001.tmp\n",
-      "PoolWorker-14: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-15: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-14: Wrote 1000 images to /tmp/madlib_EtHaTZ0PtA/train_gte50004.tmp\n",
-      "PoolWorker-15: Wrote 1000 images to /tmp/madlib_XtW6GudAE0/train_gte50004.tmp\n",
-      "PoolWorker-12: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-13: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-14: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-12: Wrote 1000 images to /tmp/madlib_8dZVe2Lowc/train_gte50002.tmp\n",
-      "PoolWorker-13: Wrote 1000 images to /tmp/madlib_V3jNZmDpr3/train_gte50002.tmp\n",
-      "PoolWorker-14: Wrote 1000 images to /tmp/madlib_EtHaTZ0PtA/train_gte50005.tmp\n",
-      "PoolWorker-11: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-11: Wrote 1000 images to /tmp/madlib_F1VrR8QcQB/train_gte50002.tmp\n",
-      "PoolWorker-13: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-14: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-13: Wrote 1000 images to /tmp/madlib_V3jNZmDpr3/train_gte50003.tmp\n",
-      "PoolWorker-14: Wrote 1000 images to /tmp/madlib_EtHaTZ0PtA/train_gte50006.tmp\n",
-      "PoolWorker-11: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-12: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-11: Wrote 1000 images to /tmp/madlib_F1VrR8QcQB/train_gte50003.tmp\n",
-      "PoolWorker-12: Wrote 1000 images to /tmp/madlib_8dZVe2Lowc/train_gte50003.tmp\n",
-      "PoolWorker-15: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-13: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-14: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-15: Wrote 1000 images to /tmp/madlib_XtW6GudAE0/train_gte50005.tmp\n",
-      "PoolWorker-13: Wrote 1000 images to /tmp/madlib_V3jNZmDpr3/train_gte50004.tmp\n",
-      "PoolWorker-14: Wrote 1000 images to /tmp/madlib_EtHaTZ0PtA/train_gte50007.tmp\n",
-      "PoolWorker-11: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-14: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-13: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-12: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-11: Wrote 1000 images to /tmp/madlib_F1VrR8QcQB/train_gte50004.tmp\n",
-      "PoolWorker-13: Wrote 1000 images to /tmp/madlib_V3jNZmDpr3/train_gte50005.tmp\n",
-      "PoolWorker-15: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-11: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-13: Loaded 1000 images into train_gte5\n",
-      "PoolWorker-11: Wrote 404 images to /tmp/madlib_F1VrR8QcQB/train_gte50005.tmp\n",
-      "PoolWorker-11: Loaded 404 images into train_gte5\n",
-      "PoolWorker-13: Removed temporary directory /tmp/madlib_V3jNZmDpr3\n",
-      "PoolWorker-14: Removed temporary directory /tmp/madlib_EtHaTZ0PtA\n",
-      "PoolWorker-12: Removed temporary directory /tmp/madlib_8dZVe2Lowc\n",
-      "PoolWorker-15: Removed temporary directory /tmp/madlib_XtW6GudAE0\n",
-      "PoolWorker-11: Removed temporary directory /tmp/madlib_F1VrR8QcQB\n",
-      "Done!  Loaded 29404 images in 18.3531939983s\n",
-      "5 workers terminated.\n",
-      "MainProcess: Connected to madlib db.\n",
-      "Executing: CREATE TABLE test_gte5 (id SERIAL, x REAL[], y TEXT)\n",
-      "CREATE TABLE\n",
-      "Created table test_gte5 in madlib db\n",
-      "Spawning 5 workers...\n",
-      "Initializing PoolWorker-16 [pid 32468]\n",
-      "PoolWorker-16: Created temporary directory /tmp/madlib_yQApveqAcA\n",
-      "Initializing PoolWorker-17 [pid 32469]\n",
-      "PoolWorker-17: Created temporary directory /tmp/madlib_2LKVOaFY1A\n",
-      "Initializing PoolWorker-18 [pid 32470]\n",
-      "PoolWorker-18: Created temporary directory /tmp/madlib_qicxNf38wn\n",
-      "Initializing PoolWorker-19 [pid 32471]\n",
-      "PoolWorker-19: Created temporary directory /tmp/madlib_cD0CFY0uOR\n",
-      "Initializing PoolWorker-20 [pid 32472]\n",
-      "PoolWorker-20: Created temporary directory /tmp/madlib_yNG8SjRSWz\n",
-      "PoolWorker-16: Connected to madlib db.\n",
-      "PoolWorker-17: Connected to madlib db.\n",
-      "PoolWorker-18: Connected to madlib db.\n",
-      "PoolWorker-19: Connected to madlib db.\n",
-      "PoolWorker-20: Connected to madlib db.\n",
-      "PoolWorker-20: Wrote 861 images to /tmp/madlib_yNG8SjRSWz/test_gte50000.tmp\n",
-      "PoolWorker-17: Wrote 1000 images to /tmp/madlib_2LKVOaFY1A/test_gte50000.tmp\n",
-      "PoolWorker-18: Wrote 1000 images to /tmp/madlib_qicxNf38wn/test_gte50000.tmp\n",
-      "PoolWorker-16: Wrote 1000 images to /tmp/madlib_yQApveqAcA/test_gte50000.tmp\n",
-      "PoolWorker-19: Wrote 1000 images to /tmp/madlib_cD0CFY0uOR/test_gte50000.tmp\n",
-      "PoolWorker-17: Loaded 1000 images into test_gte5\n",
-      "PoolWorker-18: Loaded 1000 images into test_gte5\n",
-      "PoolWorker-19: Loaded 1000 images into test_gte5\n",
-      "PoolWorker-16: Loaded 1000 images into test_gte5\n",
-      "PoolWorker-20: Loaded 861 images into test_gte5\n",
-      "PoolWorker-17: Removed temporary directory /tmp/madlib_2LKVOaFY1A\n",
-      "PoolWorker-16: Removed temporary directory /tmp/madlib_yQApveqAcA\n",
-      "PoolWorker-18: Removed temporary directory /tmp/madlib_qicxNf38wn\n",
-      "PoolWorker-20: Removed temporary directory /tmp/madlib_yNG8SjRSWz\n",
-      "PoolWorker-19: Removed temporary directory /tmp/madlib_cD0CFY0uOR\n",
-      "Done!  Loaded 4861 images in 3.39312386513s\n",
-      "5 workers terminated.\n"
-     ]
-    }
-   ],
-   "source": [
-    "# Drop tables\n",
-    "%sql DROP TABLE IF EXISTS train_lt5, test_lt5, train_gte5, test_gte5\n",
-    "\n",
-    "# Save images to temporary directories and load into database\n",
-    "iloader.load_dataset_from_np(x_train_lt5, y_train_lt5, 'train_lt5', append=False, no_temp_files=False)\n",
-    "iloader.load_dataset_from_np(x_test_lt5, y_test_lt5, 'test_lt5', append=False, no_temp_files=False)\n",
-    "iloader.load_dataset_from_np(x_train_gte5, y_train_gte5, 'train_gte5', append=False, no_temp_files=False)\n",
-    "iloader.load_dataset_from_np(x_test_gte5, y_test_gte5, 'test_gte5', append=False, no_temp_files=False)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"image_preproc\"></a>\n",
-    "# 3. Call image preprocessor\n",
-    "\n",
-    "Transforms from one image per row to multiple images per row for batch optimization.  Also normalizes and one-hot encodes.\n",
-    "\n",
-    "Training dataset < 5"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 11,
-   "metadata": {
-    "scrolled": true
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>source_table</th>\n",
-       "        <th>output_table</th>\n",
-       "        <th>dependent_varname</th>\n",
-       "        <th>independent_varname</th>\n",
-       "        <th>dependent_vartype</th>\n",
-       "        <th>class_values</th>\n",
-       "        <th>buffer_size</th>\n",
-       "        <th>normalizing_const</th>\n",
-       "        <th>num_classes</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>train_lt5</td>\n",
-       "        <td>train_lt5_packed</td>\n",
-       "        <td>y</td>\n",
-       "        <td>x</td>\n",
-       "        <td>text</td>\n",
-       "        <td>[u'0', u'1', u'2', u'3', u'4']</td>\n",
-       "        <td>1000</td>\n",
-       "        <td>255.0</td>\n",
-       "        <td>5</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'train_lt5', u'train_lt5_packed', u'y', u'x', u'text', [u'0', u'1', u'2', u'3', u'4'], 1000, 255.0, 5)]"
-      ]
-     },
-     "execution_count": 11,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS train_lt5_packed, train_lt5_packed_summary;\n",
-    "\n",
-    "SELECT madlib.training_preprocessor_dl('train_lt5',               -- Source table\n",
-    "                                       'train_lt5_packed',        -- Output table\n",
-    "                                       'y',                       -- Dependent variable\n",
-    "                                       'x',                       -- Independent variable\n",
-    "                                        1000,                     -- Buffer size\n",
-    "                                        255                       -- Normalizing constant\n",
-    "                                        );\n",
-    "\n",
-    "SELECT * FROM train_lt5_packed_summary;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Test dataset < 5"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 12,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>source_table</th>\n",
-       "        <th>output_table</th>\n",
-       "        <th>dependent_varname</th>\n",
-       "        <th>independent_varname</th>\n",
-       "        <th>dependent_vartype</th>\n",
-       "        <th>class_values</th>\n",
-       "        <th>buffer_size</th>\n",
-       "        <th>normalizing_const</th>\n",
-       "        <th>num_classes</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>test_lt5</td>\n",
-       "        <td>test_lt5_packed</td>\n",
-       "        <td>y</td>\n",
-       "        <td>x</td>\n",
-       "        <td>text</td>\n",
-       "        <td>[u'0', u'1', u'2', u'3', u'4']</td>\n",
-       "        <td>2570</td>\n",
-       "        <td>255.0</td>\n",
-       "        <td>5</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'test_lt5', u'test_lt5_packed', u'y', u'x', u'text', [u'0', u'1', u'2', u'3', u'4'], 2570, 255.0, 5)]"
-      ]
-     },
-     "execution_count": 12,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS test_lt5_packed, test_lt5_packed_summary;\n",
-    "\n",
-    "SELECT madlib.validation_preprocessor_dl('test_lt5',                -- Source table\n",
-    "                                         'test_lt5_packed',         -- Output table\n",
-    "                                         'y',                       -- Dependent variable\n",
-    "                                         'x',                       -- Independent variable\n",
-    "                                         'train_lt5_packed'         -- Training preproc table\n",
-    "                                        );\n",
-    "\n",
-    "SELECT * FROM test_lt5_packed_summary;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Training dataset >= 5"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 13,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>source_table</th>\n",
-       "        <th>output_table</th>\n",
-       "        <th>dependent_varname</th>\n",
-       "        <th>independent_varname</th>\n",
-       "        <th>dependent_vartype</th>\n",
-       "        <th>class_values</th>\n",
-       "        <th>buffer_size</th>\n",
-       "        <th>normalizing_const</th>\n",
-       "        <th>num_classes</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>train_gte5</td>\n",
-       "        <td>train_gte5_packed</td>\n",
-       "        <td>y</td>\n",
-       "        <td>x</td>\n",
-       "        <td>text</td>\n",
-       "        <td>[u'0', u'1', u'2', u'3', u'4']</td>\n",
-       "        <td>1000</td>\n",
-       "        <td>255.0</td>\n",
-       "        <td>5</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'train_gte5', u'train_gte5_packed', u'y', u'x', u'text', [u'0', u'1', u'2', u'3', u'4'], 1000, 255.0, 5)]"
-      ]
-     },
-     "execution_count": 13,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS train_gte5_packed, train_gte5_packed_summary;\n",
-    "\n",
-    "SELECT madlib.training_preprocessor_dl('train_gte5',              -- Source table\n",
-    "                                       'train_gte5_packed',       -- Output table\n",
-    "                                       'y',                       -- Dependent variable\n",
-    "                                       'x',                       -- Independent variable\n",
-    "                                        1000,                     -- Buffer size\n",
-    "                                        255                       -- Normalizing constant\n",
-    "                                        );\n",
-    "\n",
-    "SELECT * FROM train_gte5_packed_summary;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Test dataset >= 5"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 14,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>source_table</th>\n",
-       "        <th>output_table</th>\n",
-       "        <th>dependent_varname</th>\n",
-       "        <th>independent_varname</th>\n",
-       "        <th>dependent_vartype</th>\n",
-       "        <th>class_values</th>\n",
-       "        <th>buffer_size</th>\n",
-       "        <th>normalizing_const</th>\n",
-       "        <th>num_classes</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>test_gte5</td>\n",
-       "        <td>test_gte5_packed</td>\n",
-       "        <td>y</td>\n",
-       "        <td>x</td>\n",
-       "        <td>text</td>\n",
-       "        <td>[u'0', u'1', u'2', u'3', u'4']</td>\n",
-       "        <td>2431</td>\n",
-       "        <td>255.0</td>\n",
-       "        <td>5</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'test_gte5', u'test_gte5_packed', u'y', u'x', u'text', [u'0', u'1', u'2', u'3', u'4'], 2431, 255.0, 5)]"
-      ]
-     },
-     "execution_count": 14,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS test_gte5_packed, test_gte5_packed_summary;\n",
-    "\n",
-    "SELECT madlib.validation_preprocessor_dl('test_gte5',             -- Source table\n",
-    "                                         'test_gte5_packed',      -- Output table\n",
-    "                                         'y',                     -- Dependent variable\n",
-    "                                         'x',                     -- Independent variable\n",
-    "                                         'train_gte5_packed'      -- Training preproc table\n",
-    "                                        );\n",
-    "\n",
-    "SELECT * FROM test_gte5_packed_summary;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"define_and_load_model\"></a>\n",
-    "# 4. Define and load model architecture\n",
-    "\n",
-    "Model with feature and classification layers trainable"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 15,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "_________________________________________________________________\n",
-      "Layer (type)                 Output Shape              Param #   \n",
-      "=================================================================\n",
-      "conv2d_1 (Conv2D)            (None, 26, 26, 32)        320       \n",
-      "_________________________________________________________________\n",
-      "activation_1 (Activation)    (None, 26, 26, 32)        0         \n",
-      "_________________________________________________________________\n",
-      "conv2d_2 (Conv2D)            (None, 24, 24, 32)        9248      \n",
-      "_________________________________________________________________\n",
-      "activation_2 (Activation)    (None, 24, 24, 32)        0         \n",
-      "_________________________________________________________________\n",
-      "max_pooling2d_1 (MaxPooling2 (None, 12, 12, 32)        0         \n",
-      "_________________________________________________________________\n",
-      "dropout_1 (Dropout)          (None, 12, 12, 32)        0         \n",
-      "_________________________________________________________________\n",
-      "flatten_1 (Flatten)          (None, 4608)              0         \n",
-      "_________________________________________________________________\n",
-      "dense_1 (Dense)              (None, 128)               589952    \n",
-      "_________________________________________________________________\n",
-      "activation_3 (Activation)    (None, 128)               0         \n",
-      "_________________________________________________________________\n",
-      "dropout_2 (Dropout)          (None, 128)               0         \n",
-      "_________________________________________________________________\n",
-      "dense_2 (Dense)              (None, 5)                 645       \n",
-      "_________________________________________________________________\n",
-      "activation_4 (Activation)    (None, 5)                 0         \n",
-      "=================================================================\n",
-      "Total params: 600,165\n",
-      "Trainable params: 600,165\n",
-      "Non-trainable params: 0\n",
-      "_________________________________________________________________\n"
-     ]
-    }
-   ],
-   "source": [
-    "# define two groups of layers: feature (convolutions) and classification (dense)\n",
-    "feature_layers = [\n",
-    "    Conv2D(filters, kernel_size,\n",
-    "           padding='valid',\n",
-    "           input_shape=input_shape),\n",
-    "    Activation('relu'),\n",
-    "    Conv2D(filters, kernel_size),\n",
-    "    Activation('relu'),\n",
-    "    MaxPooling2D(pool_size=pool_size),\n",
-    "    Dropout(0.25),\n",
-    "    Flatten(),\n",
-    "]\n",
-    "\n",
-    "classification_layers = [\n",
-    "    Dense(128),\n",
-    "    Activation('relu'),\n",
-    "    Dropout(0.5),\n",
-    "    Dense(num_classes),\n",
-    "    Activation('softmax')\n",
-    "]\n",
-    "\n",
-    "# create complete model\n",
-    "model = Sequential(feature_layers + classification_layers)\n",
-    "\n",
-    "model.summary()"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Load into model architecture table using psycopg2"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 16,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>model_id</th>\n",
-       "        <th>name</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>feature + classification layers trainable</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, u'feature + classification layers trainable')]"
-      ]
-     },
-     "execution_count": 16,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "import psycopg2 as p2\n",
-    "conn = p2.connect('postgresql://gpadmin@35.239.240.26:5432/madlib')\n",
-    "cur = conn.cursor()\n",
-    "\n",
-    "%sql DROP TABLE IF EXISTS model_arch_library;\n",
-    "query = \"SELECT madlib.load_keras_model('model_arch_library', %s, NULL, %s)\"\n",
-    "cur.execute(query,[model.to_json(), \"feature + classification layers trainable\"])\n",
-    "conn.commit()\n",
-    "\n",
-    "# check model loaded OK\n",
-    "%sql SELECT model_id, name FROM model_arch_library;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Model with feature layers frozen"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 17,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "_________________________________________________________________\n",
-      "Layer (type)                 Output Shape              Param #   \n",
-      "=================================================================\n",
-      "conv2d_1 (Conv2D)            (None, 26, 26, 32)        320       \n",
-      "_________________________________________________________________\n",
-      "activation_1 (Activation)    (None, 26, 26, 32)        0         \n",
-      "_________________________________________________________________\n",
-      "conv2d_2 (Conv2D)            (None, 24, 24, 32)        9248      \n",
-      "_________________________________________________________________\n",
-      "activation_2 (Activation)    (None, 24, 24, 32)        0         \n",
-      "_________________________________________________________________\n",
-      "max_pooling2d_1 (MaxPooling2 (None, 12, 12, 32)        0         \n",
-      "_________________________________________________________________\n",
-      "dropout_1 (Dropout)          (None, 12, 12, 32)        0         \n",
-      "_________________________________________________________________\n",
-      "flatten_1 (Flatten)          (None, 4608)              0         \n",
-      "_________________________________________________________________\n",
-      "dense_1 (Dense)              (None, 128)               589952    \n",
-      "_________________________________________________________________\n",
-      "activation_3 (Activation)    (None, 128)               0         \n",
-      "_________________________________________________________________\n",
-      "dropout_2 (Dropout)          (None, 128)               0         \n",
-      "_________________________________________________________________\n",
-      "dense_2 (Dense)              (None, 5)                 645       \n",
-      "_________________________________________________________________\n",
-      "activation_4 (Activation)    (None, 5)                 0         \n",
-      "=================================================================\n",
-      "Total params: 600,165\n",
-      "Trainable params: 590,597\n",
-      "Non-trainable params: 9,568\n",
-      "_________________________________________________________________\n"
-     ]
-    }
-   ],
-   "source": [
-    "# freeze feature layers\n",
-    "for l in feature_layers:\n",
-    "    l.trainable = False\n",
-    "\n",
-    "model.summary()"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Load into transfer model architecture table using psycopg2"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 18,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "2 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>model_id</th>\n",
-       "        <th>name</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>feature + classification layers trainable</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>only classification layers trainable</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, u'feature + classification layers trainable'),\n",
-       " (2, u'only classification layers trainable')]"
-      ]
-     },
-     "execution_count": 18,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "cur.execute(query,[model.to_json(), \"only classification layers trainable\"])\n",
-    "conn.commit()\n",
-    "\n",
-    "# check model loaded OK\n",
-    "%sql SELECT model_id, name FROM model_arch_library ORDER BY model_id;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"train\"></a>\n",
-    "# 5.  Train\n",
-    "Train the model for 5-digit classification [0..4]  "
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 22,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>madlib_keras_fit</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td></td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[('',)]"
-      ]
-     },
-     "execution_count": 22,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS mnist_model, mnist_model_summary;\n",
-    "\n",
-    "SELECT madlib.madlib_keras_fit('train_lt5_packed',    -- source table\n",
-    "                               'mnist_model',         -- model output table\n",
-    "                               'model_arch_library',  -- model arch table\n",
-    "                                1,                    -- model arch id\n",
-    "                                $$ loss='categorical_crossentropy', optimizer='adadelta', metrics=['accuracy']$$,  -- compile_params\n",
-    "                                $$ batch_size=128, epochs=1 $$,  -- fit_params\n",
-    "                                5                     -- num_iterations\n",
-    "                              );"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "View the model summary:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 23,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>source_table</th>\n",
-       "        <th>model</th>\n",
-       "        <th>dependent_varname</th>\n",
-       "        <th>independent_varname</th>\n",
-       "        <th>model_arch_table</th>\n",
-       "        <th>model_arch_id</th>\n",
-       "        <th>compile_params</th>\n",
-       "        <th>fit_params</th>\n",
-       "        <th>num_iterations</th>\n",
-       "        <th>validation_table</th>\n",
-       "        <th>metrics_compute_frequency</th>\n",
-       "        <th>name</th>\n",
-       "        <th>description</th>\n",
-       "        <th>model_type</th>\n",
-       "        <th>model_size</th>\n",
-       "        <th>start_training_time</th>\n",
-       "        <th>end_training_time</th>\n",
-       "        <th>metrics_elapsed_time</th>\n",
-       "        <th>madlib_version</th>\n",
-       "        <th>num_classes</th>\n",
-       "        <th>class_values</th>\n",
-       "        <th>dependent_vartype</th>\n",
-       "        <th>normalizing_const</th>\n",
-       "        <th>metrics_type</th>\n",
-       "        <th>training_metrics_final</th>\n",
-       "        <th>training_loss_final</th>\n",
-       "        <th>training_metrics</th>\n",
-       "        <th>training_loss</th>\n",
-       "        <th>validation_metrics_final</th>\n",
-       "        <th>validation_loss_final</th>\n",
-       "        <th>validation_metrics</th>\n",
-       "        <th>validation_loss</th>\n",
-       "        <th>metrics_iters</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>train_lt5_packed</td>\n",
-       "        <td>mnist_model</td>\n",
-       "        <td>y</td>\n",
-       "        <td>x</td>\n",
-       "        <td>model_arch_library</td>\n",
-       "        <td>1</td>\n",
-       "        <td> loss='categorical_crossentropy', optimizer='adadelta', metrics=['accuracy']</td>\n",
-       "        <td> batch_size=128, epochs=1 </td>\n",
-       "        <td>5</td>\n",
-       "        <td>None</td>\n",
-       "        <td>5</td>\n",
-       "        <td>None</td>\n",
-       "        <td>None</td>\n",
-       "        <td>madlib_keras</td>\n",
-       "        <td>2344.43066406</td>\n",
-       "        <td>2019-06-24 19:08:31.328530</td>\n",
-       "        <td>2019-06-24 19:13:50.944601</td>\n",
-       "        <td>[319.616029977798]</td>\n",
-       "        <td>1.16-dev</td>\n",
-       "        <td>5</td>\n",
-       "        <td>[u'0', u'1', u'2', u'3', u'4']</td>\n",
-       "        <td>text</td>\n",
-       "        <td>255.0</td>\n",
-       "        <td>[u'accuracy']</td>\n",
-       "        <td>0.996045231819</td>\n",
-       "        <td>0.0139331035316</td>\n",
-       "        <td>[0.996045231819153]</td>\n",
-       "        <td>[0.013933103531599]</td>\n",
-       "        <td>None</td>\n",
-       "        <td>None</td>\n",
-       "        <td>None</td>\n",
-       "        <td>None</td>\n",
-       "        <td>[5]</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'train_lt5_packed', u'mnist_model', u'y', u'x', u'model_arch_library', 1, u\" loss='categorical_crossentropy', optimizer='adadelta', metrics=['accuracy']\", u' batch_size=128, epochs=1 ', 5, None, 5, None, None, u'madlib_keras', 2344.43066406, datetime.datetime(2019, 6, 24, 19, 8, 31, 328530), datetime.datetime(2019, 6, 24, 19, 13, 50, 944601), [319.616029977798], u'1.16-dev', 5, [u'0', u'1', u'2', u'3', u'4'], u'text', 255.0, [u'accuracy'], 0.996045231819, 0.0139331035316, [0.996045231819153], [0.013933103531599], None, None, None, None, [5])]"
-      ]
-     },
-     "execution_count": 23,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT * FROM mnist_model_summary;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Evaluate using test data"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 24,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>loss</th>\n",
-       "        <th>metric</th>\n",
-       "        <th>metrics_type</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0.00919340737164</td>\n",
-       "        <td>0.997081160545</td>\n",
-       "        <td>[u'accuracy']</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(0.00919340737164021, 0.997081160545349, [u'accuracy'])]"
-      ]
-     },
-     "execution_count": 24,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS mnist_validate;\n",
-    "\n",
-    "SELECT madlib.madlib_keras_evaluate('mnist_model',      -- model\n",
-    "                                   'test_lt5_packed',   -- test table\n",
-    "                                   'mnist_validate'     -- output table\n",
-    "                                   );\n",
-    "\n",
-    "SELECT * FROM mnist_validate;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"transfer_learning\"></a>\n",
-    "# 6. Transfer learning"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Use UPDATE to load trained weights from previous run into the model library table:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 25,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/plain": [
-       "[]"
-      ]
-     },
-     "execution_count": 25,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "UPDATE model_arch_library SET model_weights = model_data FROM mnist_model WHERE model_id = 2;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Transfer: train dense layers for new classification task [5..9]"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 26,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>madlib_keras_fit</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td></td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[('',)]"
-      ]
-     },
-     "execution_count": 26,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS mnist_transfer_model, mnist_transfer_model_summary;\n",
-    "\n",
-    "SELECT madlib.madlib_keras_fit('train_gte5_packed',   -- source table\n",
-    "                               'mnist_transfer_model',-- model output table\n",
-    "                               'model_arch_library',  -- model arch table\n",
-    "                                2,                    -- model arch id\n",
-    "                                $$ loss='categorical_crossentropy', optimizer='adadelta', metrics=['accuracy']$$,  -- compile_params\n",
-    "                                $$ batch_size=128, epochs=1 $$,  -- fit_params\n",
-    "                                5                     -- num_iterations\n",
-    "                              );"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "View the model summary"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 27,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>source_table</th>\n",
-       "        <th>model</th>\n",
-       "        <th>dependent_varname</th>\n",
-       "        <th>independent_varname</th>\n",
-       "        <th>model_arch_table</th>\n",
-       "        <th>model_arch_id</th>\n",
-       "        <th>compile_params</th>\n",
-       "        <th>fit_params</th>\n",
-       "        <th>num_iterations</th>\n",
-       "        <th>validation_table</th>\n",
-       "        <th>metrics_compute_frequency</th>\n",
-       "        <th>name</th>\n",
-       "        <th>description</th>\n",
-       "        <th>model_type</th>\n",
-       "        <th>model_size</th>\n",
-       "        <th>start_training_time</th>\n",
-       "        <th>end_training_time</th>\n",
-       "        <th>metrics_elapsed_time</th>\n",
-       "        <th>madlib_version</th>\n",
-       "        <th>num_classes</th>\n",
-       "        <th>class_values</th>\n",
-       "        <th>dependent_vartype</th>\n",
-       "        <th>normalizing_const</th>\n",
-       "        <th>metrics_type</th>\n",
-       "        <th>training_metrics_final</th>\n",
-       "        <th>training_loss_final</th>\n",
-       "        <th>training_metrics</th>\n",
-       "        <th>training_loss</th>\n",
-       "        <th>validation_metrics_final</th>\n",
-       "        <th>validation_loss_final</th>\n",
-       "        <th>validation_metrics</th>\n",
-       "        <th>validation_loss</th>\n",
-       "        <th>metrics_iters</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>train_gte5_packed</td>\n",
-       "        <td>mnist_transfer_model</td>\n",
-       "        <td>y</td>\n",
-       "        <td>x</td>\n",
-       "        <td>model_arch_library</td>\n",
-       "        <td>2</td>\n",
-       "        <td> loss='categorical_crossentropy', optimizer='adadelta', metrics=['accuracy']</td>\n",
-       "        <td> batch_size=128, epochs=1 </td>\n",
-       "        <td>5</td>\n",
-       "        <td>None</td>\n",
-       "        <td>5</td>\n",
-       "        <td>None</td>\n",
-       "        <td>None</td>\n",
-       "        <td>madlib_keras</td>\n",
-       "        <td>2344.43066406</td>\n",
-       "        <td>2019-06-24 19:16:55.336042</td>\n",
-       "        <td>2019-06-24 19:19:53.589704</td>\n",
-       "        <td>[178.253571987152]</td>\n",
-       "        <td>1.16-dev</td>\n",
-       "        <td>5</td>\n",
-       "        <td>[u'0', u'1', u'2', u'3', u'4']</td>\n",
-       "        <td>text</td>\n",
-       "        <td>255.0</td>\n",
-       "        <td>[u'accuracy']</td>\n",
-       "        <td>0.991429746151</td>\n",
-       "        <td>0.0280887652189</td>\n",
-       "        <td>[0.99142974615097]</td>\n",
-       "        <td>[0.028088765218854]</td>\n",
-       "        <td>None</td>\n",
-       "        <td>None</td>\n",
-       "        <td>None</td>\n",
-       "        <td>None</td>\n",
-       "        <td>[5]</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'train_gte5_packed', u'mnist_transfer_model', u'y', u'x', u'model_arch_library', 2, u\" loss='categorical_crossentropy', optimizer='adadelta', metrics=['accuracy']\", u' batch_size=128, epochs=1 ', 5, None, 5, None, None, u'madlib_keras', 2344.43066406, datetime.datetime(2019, 6, 24, 19, 16, 55, 336042), datetime.datetime(2019, 6, 24, 19, 19, 53, 589704), [178.253571987152], u'1.16-dev', 5, [u'0', u'1', u'2', u'3', u'4'], u'text', 255.0, [u'accuracy'], 0.991429746151, 0.0280887652189, [0.99142974615097], [0.028088765218854], None, None, None, None, [5])]"
-      ]
-     },
-     "execution_count": 27,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT * FROM mnist_transfer_model_summary;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Evaluate using test data"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 30,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>loss</th>\n",
-       "        <th>metric</th>\n",
-       "        <th>metrics_type</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0.0312170274556</td>\n",
-       "        <td>0.989714026451</td>\n",
-       "        <td>[u'accuracy']</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(0.0312170274555683, 0.989714026451111, [u'accuracy'])]"
-      ]
-     },
-     "execution_count": 30,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS mnist_transfer_validate;\n",
-    "\n",
-    "SELECT madlib.madlib_keras_evaluate('mnist_transfer_model',      -- model\n",
-    "                                   'test_gte5_packed',           -- test table\n",
-    "                                   'mnist_transfer_validate'     -- output table\n",
-    "                                   );\n",
-    "\n",
-    "SELECT * FROM mnist_transfer_validate;"
-   ]
-  }
- ],
- "metadata": {
-  "kernelspec": {
-   "display_name": "Python 2",
-   "language": "python",
-   "name": "python2"
-  },
-  "language_info": {
-   "codemirror_mode": {
-    "name": "ipython",
-    "version": 2
-   },
-   "file_extension": ".py",
-   "mimetype": "text/x-python",
-   "name": "python",
-   "nbconvert_exporter": "python",
-   "pygments_lexer": "ipython2",
-   "version": "2.7.10"
-  }
- },
- "nbformat": 4,
- "nbformat_minor": 1
-}
diff --git a/community-artifacts/Deep-learning/Preprocessor-for-images-v1.ipynb b/community-artifacts/Deep-learning/Preprocessor-for-images-v1.ipynb
deleted file mode 100644
index 2ab4b91..0000000
--- a/community-artifacts/Deep-learning/Preprocessor-for-images-v1.ipynb
+++ /dev/null
@@ -1,1625 +0,0 @@
-{
- "cells": [
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# Preprocessor for image data\n",
-    "This is a mini-batch preprocessor utility for image data:\n",
-    "* training_preprocessor_dl() for training datasets\n",
-    "* validation_preprocessor_dl() for validation datasets\n",
-    "\n",
-    "Note that there is a separate mini-batch preprocessor utility for general use cases\n",
-    "http://madlib.apache.org/docs/latest/group__grp__minibatch__preprocessing.html\n",
-    "\n",
-    "The preprocessor for image data was added in MADlib 1.16.\n",
-    "\n",
-    "## Table of contents\n",
-    "\n",
-    "<a href=\"#load_data\">1. Load data</a>\n",
-    "\n",
-    "<a href=\"#pp_train\">2. Run preprocessor for training image data</a>\n",
-    "\n",
-    "<a href=\"#pp_val\">3. Run preprocessor for validation image data</a>\n",
-    "\n",
-    "<a href=\"#load_data2\">4. Load data, another format</a>\n",
-    "\n",
-    "<a href=\"#pp_train2\">5. Run preprocessor for training image data</a>\n",
-    "\n",
-    "<a href=\"#pp_val2\">6. Run preprocessor for validation image data</a>\n",
-    "\n",
-    "<a href=\"#change_buffer\">7. Change buffer size</a>\n",
-    "\n",
-    "<a href=\"#set_num_classes\">8. Setting number of classes</a>"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 1,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "/Users/fmcquillan/anaconda/lib/python2.7/site-packages/IPython/config.py:13: ShimWarning: The `IPython.config` package has been deprecated since IPython 4.0. You should import from traitlets.config instead.\n",
-      "  \"You should import from traitlets.config instead.\", ShimWarning)\n",
-      "/Users/fmcquillan/anaconda/lib/python2.7/site-packages/IPython/utils/traitlets.py:5: UserWarning: IPython.utils.traitlets has moved to a top-level traitlets package.\n",
-      "  warn(\"IPython.utils.traitlets has moved to a top-level traitlets package.\")\n"
-     ]
-    }
-   ],
-   "source": [
-    "%load_ext sql"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 2,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "u'Connected: gpadmin@madlib'"
-      ]
-     },
-     "execution_count": 2,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "# Greenplum Database 5.x on GCP (PM demo machine)\n",
-    "%sql postgresql://gpadmin@35.239.240.26:5432/madlib\n",
-    "        \n",
-    "# PostgreSQL local\n",
-    "#%sql postgresql://fmcquillan@localhost:5432/madlib"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 3,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>version</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>MADlib version: 1.16-dev, git revision: rel/v1.15.1-98-g544a8e5, cmake configuration time: Mon May 20 16:40:50 UTC 2019, build type: release, build system: Linux-3.10.0-957.12.1.el7.x86_64, C compiler: gcc 4.8.5, C++ compiler: g++ 4.8.5</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'MADlib version: 1.16-dev, git revision: rel/v1.15.1-98-g544a8e5, cmake configuration time: Mon May 20 16:40:50 UTC 2019, build type: release, build system: Linux-3.10.0-957.12.1.el7.x86_64, C compiler: gcc 4.8.5, C++ compiler: g++ 4.8.5',)]"
-      ]
-     },
-     "execution_count": 3,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%sql select madlib.version();\n",
-    "#%sql select version();"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"load_data\"></a>\n",
-    "# 1. Load data\n",
-    "\n",
-    "Create an artificial 2x2 resolution color image data set with 3 possible classifications.  The RGB values are per-pixel arrays:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 4,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "52 rows affected.\n",
-      "52 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>rgb</th>\n",
-       "        <th>species</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[76, 125, 240], [191, 13, 20]], [[153, 77, 7], [41, 143, 172]]]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[15, 126, 174], [246, 129, 81]], [[143, 220, 157], [96, 207, 223]]]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[84, 24, 1], [201, 28, 77]], [[70, 12, 11], [83, 33, 165]]]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[40, 206, 47], [211, 138, 62]], [[82, 56, 52], [210, 137, 195]]]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[38, 35, 125], [5, 18, 209]], [[29, 19, 153], [57, 95, 223]]]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[107, 50, 102], [15, 210, 142]], [[222, 1, 97], [103, 63, 179]]]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[115, 133, 40], [55, 51, 78]], [[89, 176, 83], [108, 129, 112]]]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[27, 169, 222], [249, 239, 73]], [[43, 85, 88], [253, 227, 54]]]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[68, 157, 61], [246, 60, 176]], [[123, 100, 230], [175, 178, 64]]]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[4, 172, 224], [116, 42, 251]], [[30, 8, 244], [12, 81, 31]]]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[169, 28, 68], [223, 26, 136]], [[124, 87, 126], [184, 7, 250]]]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[237, 168, 205], [45, 7, 210]], [[217, 231, 70], [3, 226, 100]]]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[214, 112, 91], [246, 209, 4]], [[18, 21, 227], [44, 157, 95]]]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[27, 22, 138], [21, 50, 119]], [[189, 255, 164], [196, 209, 125]]]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[23, 128, 141], [123, 138, 99]], [[236, 230, 88], [189, 234, 106]]]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[205, 151, 111], [44, 26, 139]], [[66, 163, 159], [116, 26, 92]]]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[191, 32, 68], [60, 203, 92]], [[188, 88, 215], [70, 186, 195]]]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[19, 128, 22], [125, 82, 227]], [[20, 193, 14], [45, 76, 80]]]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[235, 196, 235], [71, 55, 170]], [[103, 123, 230], [50, 215, 161]]]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[174, 231, 68], [112, 19, 87]], [[240, 41, 212], [66, 12, 232]]]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[26, 21, 79], [106, 230, 59]], [[46, 209, 130], [101, 123, 233]]]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[96, 27, 183], [1, 164, 100]], [[232, 232, 213], [251, 62, 197]]]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[18, 7, 47], [250, 10, 73]], [[15, 89, 180], [244, 148, 226]]]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[22, 71, 64], [255, 39, 160]], [[26, 222, 161], [190, 66, 137]]]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[23, 132, 228], [220, 168, 247]], [[226, 215, 241], [236, 32, 255]]]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[212, 244, 217], [182, 185, 239]], [[253, 249, 238], [36, 153, 7]]]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[202, 170, 34], [234, 24, 7]], [[99, 34, 11], [185, 160, 246]]]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[231, 138, 156], [250, 92, 165]], [[215, 8, 125], [201, 61, 208]]]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[6, 175, 244], [189, 184, 190]], [[103, 218, 167], [127, 225, 10]]]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[236, 195, 65], [226, 86, 41]], [[108, 242, 35], [200, 150, 250]]]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[19, 196, 13], [228, 219, 19]], [[147, 207, 208], [75, 141, 54]]]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[52, 181, 6], [63, 87, 243]], [[2, 152, 212], [88, 193, 64]]]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[227, 8, 224], [222, 216, 243]], [[161, 229, 215], [125, 248, 106]]]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[200, 181, 217], [254, 218, 13]], [[179, 224, 76], [10, 210, 78]]]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[167, 166, 99], [231, 239, 70]], [[239, 207, 36], [200, 194, 197]]]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[152, 66, 164], [2, 142, 108]], [[182, 102, 106], [144, 116, 29]]]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[191, 39, 66], [13, 202, 233]], [[179, 44, 209], [162, 114, 192]]]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[150, 136, 50], [91, 52, 202]], [[157, 217, 204], [43, 68, 130]]]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[174, 18, 5], [204, 130, 196]], [[243, 197, 210], [189, 174, 133]]]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[127, 38, 91], [63, 151, 242]], [[198, 201, 77], [250, 147, 234]]]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[95, 21, 24], [226, 167, 198]], [[244, 172, 146], [119, 113, 133]]]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[66, 66, 234], [199, 43, 105]], [[237, 134, 168], [132, 120, 110]]]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[197, 104, 225], [175, 59, 64]], [[197, 83, 34], [108, 25, 22]]]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[171, 141, 136], [48, 201, 203]], [[113, 179, 145], [156, 27, 127]]]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[195, 3, 155], [49, 80, 96]], [[153, 49, 15], [212, 113, 212]]]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[147, 63, 64], [169, 87, 235]], [[54, 223, 26], [254, 170, 139]]]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[59, 40, 204], [186, 74, 143]], [[189, 229, 192], [14, 69, 89]]]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[83, 45, 175], [39, 84, 66]], [[102, 149, 235], [189, 127, 32]]]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[153, 31, 71], [37, 207, 130]], [[76, 155, 61], [151, 42, 250]]]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[234, 7, 193], [67, 70, 20]], [[112, 245, 59], [196, 55, 161]]]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[34, 95, 216], [67, 252, 113]], [[97, 67, 150], [49, 197, 226]]]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[2, 121, 246], [252, 245, 224]], [[3, 182, 35], [73, 202, 147]]]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[([[[76, 125, 240], [191, 13, 20]], [[153, 77, 7], [41, 143, 172]]], u'bird'),\n",
-       " ([[[15, 126, 174], [246, 129, 81]], [[143, 220, 157], [96, 207, 223]]], u'bird'),\n",
-       " ([[[84, 24, 1], [201, 28, 77]], [[70, 12, 11], [83, 33, 165]]], u'dog'),\n",
-       " ([[[40, 206, 47], [211, 138, 62]], [[82, 56, 52], [210, 137, 195]]], u'bird'),\n",
-       " ([[[38, 35, 125], [5, 18, 209]], [[29, 19, 153], [57, 95, 223]]], u'cat'),\n",
-       " ([[[107, 50, 102], [15, 210, 142]], [[222, 1, 97], [103, 63, 179]]], u'dog'),\n",
-       " ([[[115, 133, 40], [55, 51, 78]], [[89, 176, 83], [108, 129, 112]]], u'dog'),\n",
-       " ([[[27, 169, 222], [249, 239, 73]], [[43, 85, 88], [253, 227, 54]]], u'bird'),\n",
-       " ([[[68, 157, 61], [246, 60, 176]], [[123, 100, 230], [175, 178, 64]]], u'dog'),\n",
-       " ([[[4, 172, 224], [116, 42, 251]], [[30, 8, 244], [12, 81, 31]]], u'dog'),\n",
-       " ([[[169, 28, 68], [223, 26, 136]], [[124, 87, 126], [184, 7, 250]]], u'cat'),\n",
-       " ([[[237, 168, 205], [45, 7, 210]], [[217, 231, 70], [3, 226, 100]]], u'cat'),\n",
-       " ([[[214, 112, 91], [246, 209, 4]], [[18, 21, 227], [44, 157, 95]]], u'dog'),\n",
-       " ([[[27, 22, 138], [21, 50, 119]], [[189, 255, 164], [196, 209, 125]]], u'bird'),\n",
-       " ([[[23, 128, 141], [123, 138, 99]], [[236, 230, 88], [189, 234, 106]]], u'bird'),\n",
-       " ([[[205, 151, 111], [44, 26, 139]], [[66, 163, 159], [116, 26, 92]]], u'dog'),\n",
-       " ([[[191, 32, 68], [60, 203, 92]], [[188, 88, 215], [70, 186, 195]]], u'cat'),\n",
-       " ([[[19, 128, 22], [125, 82, 227]], [[20, 193, 14], [45, 76, 80]]], u'bird'),\n",
-       " ([[[235, 196, 235], [71, 55, 170]], [[103, 123, 230], [50, 215, 161]]], u'dog'),\n",
-       " ([[[174, 231, 68], [112, 19, 87]], [[240, 41, 212], [66, 12, 232]]], u'cat'),\n",
-       " ([[[26, 21, 79], [106, 230, 59]], [[46, 209, 130], [101, 123, 233]]], u'bird'),\n",
-       " ([[[96, 27, 183], [1, 164, 100]], [[232, 232, 213], [251, 62, 197]]], u'cat'),\n",
-       " ([[[18, 7, 47], [250, 10, 73]], [[15, 89, 180], [244, 148, 226]]], u'bird'),\n",
-       " ([[[22, 71, 64], [255, 39, 160]], [[26, 222, 161], [190, 66, 137]]], u'dog'),\n",
-       " ([[[23, 132, 228], [220, 168, 247]], [[226, 215, 241], [236, 32, 255]]], u'cat'),\n",
-       " ([[[212, 244, 217], [182, 185, 239]], [[253, 249, 238], [36, 153, 7]]], u'cat'),\n",
-       " ([[[202, 170, 34], [234, 24, 7]], [[99, 34, 11], [185, 160, 246]]], u'dog'),\n",
-       " ([[[231, 138, 156], [250, 92, 165]], [[215, 8, 125], [201, 61, 208]]], u'cat'),\n",
-       " ([[[6, 175, 244], [189, 184, 190]], [[103, 218, 167], [127, 225, 10]]], u'dog'),\n",
-       " ([[[236, 195, 65], [226, 86, 41]], [[108, 242, 35], [200, 150, 250]]], u'bird'),\n",
-       " ([[[19, 196, 13], [228, 219, 19]], [[147, 207, 208], [75, 141, 54]]], u'cat'),\n",
-       " ([[[52, 181, 6], [63, 87, 243]], [[2, 152, 212], [88, 193, 64]]], u'cat'),\n",
-       " ([[[227, 8, 224], [222, 216, 243]], [[161, 229, 215], [125, 248, 106]]], u'cat'),\n",
-       " ([[[200, 181, 217], [254, 218, 13]], [[179, 224, 76], [10, 210, 78]]], u'dog'),\n",
-       " ([[[167, 166, 99], [231, 239, 70]], [[239, 207, 36], [200, 194, 197]]], u'bird'),\n",
-       " ([[[152, 66, 164], [2, 142, 108]], [[182, 102, 106], [144, 116, 29]]], u'dog'),\n",
-       " ([[[191, 39, 66], [13, 202, 233]], [[179, 44, 209], [162, 114, 192]]], u'dog'),\n",
-       " ([[[150, 136, 50], [91, 52, 202]], [[157, 217, 204], [43, 68, 130]]], u'dog'),\n",
-       " ([[[174, 18, 5], [204, 130, 196]], [[243, 197, 210], [189, 174, 133]]], u'bird'),\n",
-       " ([[[127, 38, 91], [63, 151, 242]], [[198, 201, 77], [250, 147, 234]]], u'bird'),\n",
-       " ([[[95, 21, 24], [226, 167, 198]], [[244, 172, 146], [119, 113, 133]]], u'cat'),\n",
-       " ([[[66, 66, 234], [199, 43, 105]], [[237, 134, 168], [132, 120, 110]]], u'cat'),\n",
-       " ([[[197, 104, 225], [175, 59, 64]], [[197, 83, 34], [108, 25, 22]]], u'cat'),\n",
-       " ([[[171, 141, 136], [48, 201, 203]], [[113, 179, 145], [156, 27, 127]]], u'cat'),\n",
-       " ([[[195, 3, 155], [49, 80, 96]], [[153, 49, 15], [212, 113, 212]]], u'cat'),\n",
-       " ([[[147, 63, 64], [169, 87, 235]], [[54, 223, 26], [254, 170, 139]]], u'bird'),\n",
-       " ([[[59, 40, 204], [186, 74, 143]], [[189, 229, 192], [14, 69, 89]]], u'cat'),\n",
-       " ([[[83, 45, 175], [39, 84, 66]], [[102, 149, 235], [189, 127, 32]]], u'dog'),\n",
-       " ([[[153, 31, 71], [37, 207, 130]], [[76, 155, 61], [151, 42, 250]]], u'dog'),\n",
-       " ([[[234, 7, 193], [67, 70, 20]], [[112, 245, 59], [196, 55, 161]]], u'dog'),\n",
-       " ([[[34, 95, 216], [67, 252, 113]], [[97, 67, 150], [49, 197, 226]]], u'bird'),\n",
-       " ([[[2, 121, 246], [252, 245, 224]], [[3, 182, 35], [73, 202, 147]]], u'cat')]"
-      ]
-     },
-     "execution_count": 4,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS image_data;\n",
-    "\n",
-    "CREATE TABLE image_data AS (\n",
-    "    SELECT ARRAY[\n",
-    "        ARRAY[\n",
-    "            ARRAY[(random() * 256)::integer, -- pixel (1,1)\n",
-    "                (random() * 256)::integer,\n",
-    "                (random() * 256)::integer],\n",
-    "            ARRAY[(random() * 256)::integer, -- pixel (2,1)\n",
-    "                (random() * 256)::integer,\n",
-    "                (random() * 256)::integer]\n",
-    "        ],\n",
-    "        ARRAY[\n",
-    "            ARRAY[(random() * 256)::integer, -- pixel (1,2)\n",
-    "                (random() * 256)::integer,\n",
-    "                (random() * 256)::integer],\n",
-    "            ARRAY[(random() * 256)::integer, -- pixel (2,1)\n",
-    "                (random() * 256)::integer,\n",
-    "                (random() * 256)::integer]\n",
-    "        ]\n",
-    "    ] as rgb, ('{cat,dog,bird}'::text[])[ceil(random()*3)] as species\n",
-    "    FROM generate_series(1, 52)\n",
-    ");\n",
-    "\n",
-    "SELECT * FROM image_data;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"pp_train\"></a>\n",
-    "# 2.  Run preprocessor for training image data\n",
-    "\n",
-    "Run the preprocessor to generate the packed output table:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 5,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "2 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>independent_var</th>\n",
-       "        <th>dependent_var</th>\n",
-       "        <th>buffer_id</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[[0.0862745, 0.278431, 0.25098], [1.0, 0.152941, 0.627451]], [[0.101961, 0.870588, 0.631373], [0.745098, 0.258824, 0.537255]]], [[[0.0588235, 0.494118, 0.682353], [0.964706, 0.505882, 0.317647]], [[0.560784, 0.862745, 0.615686], [0.376471, 0.811765, 0.87451]]], [[[0.156863, 0.807843, 0.184314], [0.827451, 0.541176, 0.243137]], [[0.321569, 0.219608, 0.203922], [0.823529, 0.537255, 0.764706]]], [[[0.419608, 0.196078, 0.4], [0.0588235, 0.823529, 0.556863]], [[0.870588, 0.00392157, 0.380392], [0.403922, 0.247059, 0.701961]]], [[[0.929412, 0.658824, 0.803922], [0.176471, 0.027451, 0.823529]], [[0.85098, 0.905882, 0.27451], [0.0117647, 0.886275, 0.392157]]], [[[0.00784314, 0.47451, 0.964706], [0.988235, 0.960784, 0.878431]], [[0.0117647, 0.713726, 0.137255], [0.286275, 0.792157, 0.576471]]], [[[0.92549, 0.764706, 0.254902], [0.886275, 0.337255, 0.160784]], [[0.423529, 0.94902, 0.137255], [0.784314, 0.588235, 0.980392]]], [[[0.376471, 0.105882, 0.717647], [0.00392157, 0.643137, 0.392157]], [[0.909804, 0.909804, 0.835294], [0.984314, 0.243137, 0.772549]]], [[[0.32549, 0.176471, 0.686275], [0.152941, 0.329412, 0.258824]], [[0.4, 0.584314, 0.921569], [0.741176, 0.498039, 0.12549]]], [[[0.498039, 0.14902, 0.356863], [0.247059, 0.592157, 0.94902]], [[0.776471, 0.788235, 0.301961], [0.980392, 0.576471, 0.917647]]], [[[0.105882, 0.0862745, 0.541176], [0.0823529, 0.196078, 0.466667]], [[0.741176, 1.0, 0.643137], [0.768628, 0.819608, 0.490196]]], [[[0.803922, 0.592157, 0.435294], [0.172549, 0.101961, 0.545098]], [[0.258824, 0.639216, 0.623529], [0.454902, 0.101961, 0.360784]]], [[[0.831373, 0.956863, 0.85098], [0.713726, 0.72549, 0.937255]], [[0.992157, 0.976471, 0.933333], [0.141176, 0.6, 0.027451]]], [[[0.905882, 0.541176, 0.611765], [0.980392, 0.360784, 0.647059]], [[0.843137, 0.0313726, 0.490196], [0.788235, 0.239216, 0.815686]]], [[[0.596078, 0.258824, 0.643137], [0.00784314, 0.556863, 0.423529]], [[0.713726, 0.4, 0.415686], [0.564706, 0.454902, 0.113725]]], [[[0.0156863, 0.67451, 0.878431], [0.454902, 0.164706, 0.984314]], [[0.117647, 0.0313726, 0.956863], [0.0470588, 0.317647, 0.121569]]], [[[0.682353, 0.905882, 0.266667], [0.439216, 0.0745098, 0.341176]], [[0.941177, 0.160784, 0.831373], [0.258824, 0.0470588, 0.909804]]], [[[0.203922, 0.709804, 0.0235294], [0.247059, 0.341176, 0.952941]], [[0.00784314, 0.596078, 0.831373], [0.345098, 0.756863, 0.25098]]], [[[0.917647, 0.027451, 0.756863], [0.262745, 0.27451, 0.0784314]], [[0.439216, 0.960784, 0.231373], [0.768628, 0.215686, 0.631373]]], [[[0.670588, 0.552941, 0.533333], [0.188235, 0.788235, 0.796079]], [[0.443137, 0.701961, 0.568627], [0.611765, 0.105882, 0.498039]]], [[[0.0745098, 0.501961, 0.0862745], [0.490196, 0.321569, 0.890196]], [[0.0784314, 0.756863, 0.054902], [0.176471, 0.298039, 0.313726]]], [[[0.588235, 0.533333, 0.196078], [0.356863, 0.203922, 0.792157]], [[0.615686, 0.85098, 0.8], [0.168627, 0.266667, 0.509804]]], [[[0.105882, 0.662745, 0.870588], [0.976471, 0.937255, 0.286275]], [[0.168627, 0.333333, 0.345098], [0.992157, 0.890196, 0.211765]]], [[[0.576471, 0.247059, 0.25098], [0.662745, 0.341176, 0.921569]], [[0.211765, 0.87451, 0.101961], [0.996078, 0.666667, 0.545098]]], [[[0.784314, 0.709804, 0.85098], [0.996078, 0.854902, 0.0509804]], [[0.701961, 0.878431, 0.298039], [0.0392157, 0.823529, 0.305882]]], [[[0.258824, 0.258824, 0.917647], [0.780392, 0.168627, 0.411765]], [[0.929412, 0.52549, 0.658824], [0.517647, 0.470588, 0.431373]]]]</td>\n",
-       "        <td>[[0, 0, 1], [1, 0, 0], [1, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 1, 0], [0, 0, 1], [1, 0, 0], [1, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 0], [0, 0, 1], [0, 0, 1], [0, 1, 0], [0, 1, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 0, 1], [1, 0, 0], [1, 0, 0], [0, 0, 1], [0, 1, 0]]</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[[0.45098, 0.521569, 0.156863], [0.215686, 0.2, 0.305882]], [[0.34902, 0.690196, 0.32549], [0.423529, 0.505882, 0.439216]]], [[[0.0901961, 0.501961, 0.552941], [0.482353, 0.541176, 0.388235]], [[0.92549, 0.901961, 0.345098], [0.741176, 0.917647, 0.415686]]], [[[0.921569, 0.768628, 0.921569], [0.278431, 0.215686, 0.666667]], [[0.403922, 0.482353, 0.901961], [0.196078, 0.843137, 0.631373]]], [[[0.772549, 0.407843, 0.882353], [0.686275, 0.231373, 0.25098]], [[0.772549, 0.32549, 0.133333], [0.423529, 0.0980392, 0.0862745]]], [[[0.133333, 0.372549, 0.847059], [0.262745, 0.988235, 0.443137]], [[0.380392, 0.262745, 0.588235], [0.192157, 0.772549, 0.886275]]], [[[0.0901961, 0.517647, 0.894118], [0.862745, 0.658824, 0.968628]], [[0.886275, 0.843137, 0.945098], [0.92549, 0.12549, 1.0]]], [[[0.372549, 0.0823529, 0.0941177], [0.886275, 0.654902, 0.776471]], [[0.956863, 0.67451, 0.572549], [0.466667, 0.443137, 0.521569]]], [[[0.74902, 0.12549, 0.266667], [0.235294, 0.796079, 0.360784]], [[0.737255, 0.345098, 0.843137], [0.27451, 0.729412, 0.764706]]], [[[0.6, 0.121569, 0.278431], [0.145098, 0.811765, 0.509804]], [[0.298039, 0.607843, 0.239216], [0.592157, 0.164706, 0.980392]]], [[[0.764706, 0.0117647, 0.607843], [0.192157, 0.313726, 0.376471]], [[0.6, 0.192157, 0.0588235], [0.831373, 0.443137, 0.831373]]], [[[0.298039, 0.490196, 0.941177], [0.74902, 0.0509804, 0.0784314]], [[0.6, 0.301961, 0.027451], [0.160784, 0.560784, 0.67451]]], [[[0.792157, 0.666667, 0.133333], [0.917647, 0.0941177, 0.027451]], [[0.388235, 0.133333, 0.0431373], [0.72549, 0.627451, 0.964706]]], [[[0.890196, 0.0313726, 0.878431], [0.870588, 0.847059, 0.952941]], [[0.631373, 0.898039, 0.843137], [0.490196, 0.972549, 0.415686]]], [[[0.0705882, 0.027451, 0.184314], [0.980392, 0.0392157, 0.286275]], [[0.0588235, 0.34902, 0.705882], [0.956863, 0.580392, 0.886275]]], [[[0.266667, 0.615686, 0.239216], [0.964706, 0.235294, 0.690196]], [[0.482353, 0.392157, 0.901961], [0.686275, 0.698039, 0.25098]]], [[[0.839216, 0.439216, 0.356863], [0.964706, 0.819608, 0.0156863]], [[0.0705882, 0.0823529, 0.890196], [0.172549, 0.615686, 0.372549]]], [[[0.662745, 0.109804, 0.266667], [0.87451, 0.101961, 0.533333]], [[0.486275, 0.341176, 0.494118], [0.721569, 0.027451, 0.980392]]], [[[0.0745098, 0.768628, 0.0509804], [0.894118, 0.858824, 0.0745098]], [[0.576471, 0.811765, 0.815686], [0.294118, 0.552941, 0.211765]]], [[[0.654902, 0.65098, 0.388235], [0.905882, 0.937255, 0.27451]], [[0.937255, 0.811765, 0.141176], [0.784314, 0.760784, 0.772549]]], [[[0.329412, 0.0941177, 0.00392157], [0.788235, 0.109804, 0.301961]], [[0.27451, 0.0470588, 0.0431373], [0.32549, 0.129412, 0.647059]]], [[[0.682353, 0.0705882, 0.0196078], [0.8, 0.509804, 0.768628]], [[0.952941, 0.772549, 0.823529], [0.741176, 0.682353, 0.521569]]], [[[0.74902, 0.152941, 0.258824], [0.0509804, 0.792157, 0.913726]], [[0.701961, 0.172549, 0.819608], [0.635294, 0.447059, 0.752941]]], [[[0.101961, 0.0823529, 0.309804], [0.415686, 0.901961, 0.231373]], [[0.180392, 0.819608, 0.509804], [0.396078, 0.482353, 0.913726]]], [[[0.0235294, 0.686275, 0.956863], [0.741176, 0.721569, 0.745098]], [[0.403922, 0.854902, 0.654902], [0.498039, 0.882353, 0.0392157]]], [[[0.231373, 0.156863, 0.8], [0.729412, 0.290196, 0.560784]], [[0.741176, 0.898039, 0.752941], [0.054902, 0.270588, 0.34902]]], [[[0.14902, 0.137255, 0.490196], [0.0196078, 0.0705882, 0.819608]], [[0.113725, 0.0745098, 0.6], [0.223529, 0.372549, 0.87451]]]]</td>\n",
-       "        <td>[[0, 0, 1], [1, 0, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 1, 0], [0, 1, 0], [0, 1, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 0, 1], [0, 0, 1], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 0, 1], [1, 0, 0], [0, 0, 1], [1, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 0]]</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[([[[[0.0862745, 0.278431, 0.25098], [1.0, 0.152941, 0.627451]], [[0.101961, 0.870588, 0.631373], [0.745098, 0.258824, 0.537255]]], [[[0.0588235, 0.494118, 0.682353], [0.964706, 0.505882, 0.317647]], [[0.560784, 0.862745, 0.615686], [0.376471, 0.811765, 0.87451]]], [[[0.156863, 0.807843, 0.184314], [0.827451, 0.541176, 0.243137]], [[0.321569, 0.219608, 0.203922], [0.823529, 0.537255, 0.764706]]], [[[0.419608, 0.196078, 0.4], [0.0588235, 0.823529, 0.556863]], [[0.870588, 0.00392157, 0.380392], [0.403922, 0.247059, 0.701961]]], [[[0.929412, 0.658824, 0.803922], [0.176471, 0.027451, 0.823529]], [[0.85098, 0.905882, 0.27451], [0.0117647, 0.886275, 0.392157]]], [[[0.00784314, 0.47451, 0.964706], [0.988235, 0.960784, 0.878431]], [[0.0117647, 0.713726, 0.137255], [0.286275, 0.792157, 0.576471]]], [[[0.92549, 0.764706, 0.254902], [0.886275, 0.337255, 0.160784]], [[0.423529, 0.94902, 0.137255], [0.784314, 0.588235, 0.980392]]], [[[0.376471, 0.105882, 0.717647], [0.00392157, 0.643137, 0.392157]], [[0.909804, 0.909804, 0.835294], [0.984314, 0.243137, 0.772549]]], [[[0.32549, 0.176471, 0.686275], [0.152941, 0.329412, 0.258824]], [[0.4, 0.584314, 0.921569], [0.741176, 0.498039, 0.12549]]], [[[0.498039, 0.14902, 0.356863], [0.247059, 0.592157, 0.94902]], [[0.776471, 0.788235, 0.301961], [0.980392, 0.576471, 0.917647]]], [[[0.105882, 0.0862745, 0.541176], [0.0823529, 0.196078, 0.466667]], [[0.741176, 1.0, 0.643137], [0.768628, 0.819608, 0.490196]]], [[[0.803922, 0.592157, 0.435294], [0.172549, 0.101961, 0.545098]], [[0.258824, 0.639216, 0.623529], [0.454902, 0.101961, 0.360784]]], [[[0.831373, 0.956863, 0.85098], [0.713726, 0.72549, 0.937255]], [[0.992157, 0.976471, 0.933333], [0.141176, 0.6, 0.027451]]], [[[0.905882, 0.541176, 0.611765], [0.980392, 0.360784, 0.647059]], [[0.843137, 0.0313726, 0.490196], [0.788235, 0.239216, 0.815686]]], [[[0.596078, 0.258824, 0.643137], [0.00784314, 0.556863, 0.423529]], [[0.713726, 0.4, 0.415686], [0.564706, 0.454902, 0.113725]]], [[[0.0156863, 0.67451, 0.878431], [0.454902, 0.164706, 0.984314]], [[0.117647, 0.0313726, 0.956863], [0.0470588, 0.317647, 0.121569]]], [[[0.682353, 0.905882, 0.266667], [0.439216, 0.0745098, 0.341176]], [[0.941177, 0.160784, 0.831373], [0.258824, 0.0470588, 0.909804]]], [[[0.203922, 0.709804, 0.0235294], [0.247059, 0.341176, 0.952941]], [[0.00784314, 0.596078, 0.831373], [0.345098, 0.756863, 0.25098]]], [[[0.917647, 0.027451, 0.756863], [0.262745, 0.27451, 0.0784314]], [[0.439216, 0.960784, 0.231373], [0.768628, 0.215686, 0.631373]]], [[[0.670588, 0.552941, 0.533333], [0.188235, 0.788235, 0.796079]], [[0.443137, 0.701961, 0.568627], [0.611765, 0.105882, 0.498039]]], [[[0.0745098, 0.501961, 0.0862745], [0.490196, 0.321569, 0.890196]], [[0.0784314, 0.756863, 0.054902], [0.176471, 0.298039, 0.313726]]], [[[0.588235, 0.533333, 0.196078], [0.356863, 0.203922, 0.792157]], [[0.615686, 0.85098, 0.8], [0.168627, 0.266667, 0.509804]]], [[[0.105882, 0.662745, 0.870588], [0.976471, 0.937255, 0.286275]], [[0.168627, 0.333333, 0.345098], [0.992157, 0.890196, 0.211765]]], [[[0.576471, 0.247059, 0.25098], [0.662745, 0.341176, 0.921569]], [[0.211765, 0.87451, 0.101961], [0.996078, 0.666667, 0.545098]]], [[[0.784314, 0.709804, 0.85098], [0.996078, 0.854902, 0.0509804]], [[0.701961, 0.878431, 0.298039], [0.0392157, 0.823529, 0.305882]]], [[[0.258824, 0.258824, 0.917647], [0.780392, 0.168627, 0.411765]], [[0.929412, 0.52549, 0.658824], [0.517647, 0.470588, 0.431373]]]], [[0, 0, 1], [1, 0, 0], [1, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 1, 0], [0, 0, 1], [1, 0, 0], [1, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 0], [0, 0, 1], [0, 0, 1], [0, 1, 0], [0, 1, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 0, 1], [1, 0, 0], [1, 0, 0], [0, 0, 1], [0, 1, 0]], 0),\n",
-       " ([[[[0.45098, 0.521569, 0.156863], [0.215686, 0.2, 0.305882]], [[0.34902, 0.690196, 0.32549], [0.423529, 0.505882, 0.439216]]], [[[0.0901961, 0.501961, 0.552941], [0.482353, 0.541176, 0.388235]], [[0.92549, 0.901961, 0.345098], [0.741176, 0.917647, 0.415686]]], [[[0.921569, 0.768628, 0.921569], [0.278431, 0.215686, 0.666667]], [[0.403922, 0.482353, 0.901961], [0.196078, 0.843137, 0.631373]]], [[[0.772549, 0.407843, 0.882353], [0.686275, 0.231373, 0.25098]], [[0.772549, 0.32549, 0.133333], [0.423529, 0.0980392, 0.0862745]]], [[[0.133333, 0.372549, 0.847059], [0.262745, 0.988235, 0.443137]], [[0.380392, 0.262745, 0.588235], [0.192157, 0.772549, 0.886275]]], [[[0.0901961, 0.517647, 0.894118], [0.862745, 0.658824, 0.968628]], [[0.886275, 0.843137, 0.945098], [0.92549, 0.12549, 1.0]]], [[[0.372549, 0.0823529, 0.0941177], [0.886275, 0.654902, 0.776471]], [[0.956863, 0.67451, 0.572549], [0.466667, 0.443137, 0.521569]]], [[[0.74902, 0.12549, 0.266667], [0.235294, 0.796079, 0.360784]], [[0.737255, 0.345098, 0.843137], [0.27451, 0.729412, 0.764706]]], [[[0.6, 0.121569, 0.278431], [0.145098, 0.811765, 0.509804]], [[0.298039, 0.607843, 0.239216], [0.592157, 0.164706, 0.980392]]], [[[0.764706, 0.0117647, 0.607843], [0.192157, 0.313726, 0.376471]], [[0.6, 0.192157, 0.0588235], [0.831373, 0.443137, 0.831373]]], [[[0.298039, 0.490196, 0.941177], [0.74902, 0.0509804, 0.0784314]], [[0.6, 0.301961, 0.027451], [0.160784, 0.560784, 0.67451]]], [[[0.792157, 0.666667, 0.133333], [0.917647, 0.0941177, 0.027451]], [[0.388235, 0.133333, 0.0431373], [0.72549, 0.627451, 0.964706]]], [[[0.890196, 0.0313726, 0.878431], [0.870588, 0.847059, 0.952941]], [[0.631373, 0.898039, 0.843137], [0.490196, 0.972549, 0.415686]]], [[[0.0705882, 0.027451, 0.184314], [0.980392, 0.0392157, 0.286275]], [[0.0588235, 0.34902, 0.705882], [0.956863, 0.580392, 0.886275]]], [[[0.266667, 0.615686, 0.239216], [0.964706, 0.235294, 0.690196]], [[0.482353, 0.392157, 0.901961], [0.686275, 0.698039, 0.25098]]], [[[0.839216, 0.439216, 0.356863], [0.964706, 0.819608, 0.0156863]], [[0.0705882, 0.0823529, 0.890196], [0.172549, 0.615686, 0.372549]]], [[[0.662745, 0.109804, 0.266667], [0.87451, 0.101961, 0.533333]], [[0.486275, 0.341176, 0.494118], [0.721569, 0.027451, 0.980392]]], [[[0.0745098, 0.768628, 0.0509804], [0.894118, 0.858824, 0.0745098]], [[0.576471, 0.811765, 0.815686], [0.294118, 0.552941, 0.211765]]], [[[0.654902, 0.65098, 0.388235], [0.905882, 0.937255, 0.27451]], [[0.937255, 0.811765, 0.141176], [0.784314, 0.760784, 0.772549]]], [[[0.329412, 0.0941177, 0.00392157], [0.788235, 0.109804, 0.301961]], [[0.27451, 0.0470588, 0.0431373], [0.32549, 0.129412, 0.647059]]], [[[0.682353, 0.0705882, 0.0196078], [0.8, 0.509804, 0.768628]], [[0.952941, 0.772549, 0.823529], [0.741176, 0.682353, 0.521569]]], [[[0.74902, 0.152941, 0.258824], [0.0509804, 0.792157, 0.913726]], [[0.701961, 0.172549, 0.819608], [0.635294, 0.447059, 0.752941]]], [[[0.101961, 0.0823529, 0.309804], [0.415686, 0.901961, 0.231373]], [[0.180392, 0.819608, 0.509804], [0.396078, 0.482353, 0.913726]]], [[[0.0235294, 0.686275, 0.956863], [0.741176, 0.721569, 0.745098]], [[0.403922, 0.854902, 0.654902], [0.498039, 0.882353, 0.0392157]]], [[[0.231373, 0.156863, 0.8], [0.729412, 0.290196, 0.560784]], [[0.741176, 0.898039, 0.752941], [0.054902, 0.270588, 0.34902]]], [[[0.14902, 0.137255, 0.490196], [0.0196078, 0.0705882, 0.819608]], [[0.113725, 0.0745098, 0.6], [0.223529, 0.372549, 0.87451]]]], [[0, 0, 1], [1, 0, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 1, 0], [0, 1, 0], [0, 1, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 0, 1], [0, 0, 1], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 0, 1], [1, 0, 0], [0, 0, 1], [1, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 0]], 1)]"
-      ]
-     },
-     "execution_count": 5,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS image_data_packed, image_data_packed_summary;\n",
-    "\n",
-    "SELECT madlib.training_preprocessor_dl('image_data',         -- Source table\n",
-    "                                        'image_data_packed',  -- Output table\n",
-    "                                        'species',            -- Dependent variable\n",
-    "                                        'rgb',                -- Independent variable\n",
-    "                                        NULL,                 -- Buffer size\n",
-    "                                        255                   -- Normalizing constant\n",
-    "                                        );\n",
-    "\n",
-    "SELECT * FROM image_data_packed ORDER BY buffer_id;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "For small datasets like in this example, buffer size is mainly determined by the number of segments in the database. For a Greenplum database with 2 segments, there will be 2 rows with a buffer size of 26. For PostgresSQL, there would be only one row with a buffer size of 52 since it is a single node database. For larger data sets, other factors go into computing buffers size besides number of segments. \n",
-    "\n",
-    "Review the output summary table:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 6,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>source_table</th>\n",
-       "        <th>output_table</th>\n",
-       "        <th>dependent_varname</th>\n",
-       "        <th>independent_varname</th>\n",
-       "        <th>dependent_vartype</th>\n",
-       "        <th>class_values</th>\n",
-       "        <th>buffer_size</th>\n",
-       "        <th>normalizing_const</th>\n",
-       "        <th>num_classes</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>image_data</td>\n",
-       "        <td>image_data_packed</td>\n",
-       "        <td>species</td>\n",
-       "        <td>rgb</td>\n",
-       "        <td>text</td>\n",
-       "        <td>[u'bird', u'cat', u'dog']</td>\n",
-       "        <td>26</td>\n",
-       "        <td>255.0</td>\n",
-       "        <td>3</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'image_data', u'image_data_packed', u'species', u'rgb', u'text', [u'bird', u'cat', u'dog'], 26, Decimal('255.0'), 3)]"
-      ]
-     },
-     "execution_count": 6,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT * FROM image_data_packed_summary;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"pp_val\"></a>\n",
-    "# 3.  Run preprocessor for validation image data\n",
-    "\n",
-    "Run the preprocessor for the validation dataset. In this example, we use the same images for validation to demonstrate, but normally validation data is different than training data:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 7,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "26 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>independent_var</th>\n",
-       "        <th>dependent_var</th>\n",
-       "        <th>buffer_id</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[[0.290196, 0.105882, 0.152941], [0.47451, 0.670588, 0.356863]], [[0.101961, 0.458824, 0.188235], [0.584314, 0.921569, 0.854902]]], [[[0.941177, 0.92549, 0.34902], [0.137255, 0.360784, 0.411765]], [[0.0627451, 0.917647, 0.898039], [0.203922, 0.313726, 0.247059]]]]</td>\n",
-       "        <td>[[1, 0, 0], [0, 0, 1]]</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[[0.815686, 0.294118, 0.568627], [0.603922, 0.662745, 0.870588]], [[0.913726, 0.352941, 0.0745098], [0.0117647, 0.596078, 0.6]]], [[[0.0509804, 0.262745, 0.933333], [0.894118, 0.603922, 0.0901961]], [[0.643137, 0.12549, 0.623529], [0.0392157, 0.713726, 0.819608]]]]</td>\n",
-       "        <td>[[0, 1, 0], [0, 0, 1]]</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[[0.14902, 0.52549, 0.6], [0.784314, 0.619608, 0.823529]], [[0.0823529, 0.0862745, 0.454902], [0.835294, 0.231373, 0.996078]]], [[[0.713726, 0.803922, 0.0156863], [0.678431, 0.415686, 0.470588]], [[0.156863, 0.85098, 0.941177], [0.27451, 0.141176, 0.72549]]]]</td>\n",
-       "        <td>[[1, 0, 0], [0, 0, 1]]</td>\n",
-       "        <td>2</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[[0.584314, 0.890196, 0.94902], [0.419608, 0.709804, 0.760784]], [[0.713726, 0.270588, 0.360784], [0.372549, 0.141176, 0.270588]]], [[[0.819608, 0.823529, 0.0980392], [0.262745, 0.713726, 0.552941]], [[0.203922, 0.890196, 0.945098], [0.156863, 0.235294, 0.466667]]]]</td>\n",
-       "        <td>[[1, 0, 0], [0, 1, 0]]</td>\n",
-       "        <td>3</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[[0.215686, 0.282353, 0.321569], [0.815686, 0.588235, 0.466667]], [[0.337255, 0.184314, 0.247059], [0.956863, 0.00392157, 0.329412]]], [[[0.129412, 0.388235, 0.270588], [0.980392, 0.623529, 0.984314]], [[0.780392, 0.639216, 0.658824], [0.192157, 0.105882, 0.815686]]]]</td>\n",
-       "        <td>[[0, 1, 0], [0, 1, 0]]</td>\n",
-       "        <td>4</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[[0.458824, 0.160784, 0.270588], [0.45098, 0.94902, 0.854902]], [[0.337255, 0.894118, 0.27451], [0.0431373, 0.65098, 0.988235]]], [[[0.0431373, 0.0862745, 0.180392], [0.772549, 0.615686, 1.0]], [[0.588235, 0.713726, 0.254902], [0.298039, 0.262745, 0.458824]]]]</td>\n",
-       "        <td>[[0, 1, 0], [0, 1, 0]]</td>\n",
-       "        <td>5</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[[0.00784314, 0.356863, 0.454902], [0.282353, 0.0784314, 0.670588]], [[0.564706, 0.4, 0.478431], [0.14902, 0.866667, 0.815686]]], [[[0.207843, 0.615686, 0.419608], [0.670588, 0.760784, 0.54902]], [[0.054902, 0.0313726, 0.52549], [0.678431, 0.0117647, 0.298039]]]]</td>\n",
-       "        <td>[[0, 1, 0], [0, 1, 0]]</td>\n",
-       "        <td>6</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[[0.666667, 0.490196, 0.419608], [0.478431, 0.529412, 0.462745]], [[0.564706, 0.709804, 0.231373], [0.176471, 0.701961, 0.819608]]], [[[0.113725, 0.764706, 0.337255], [0.439216, 0.803922, 0.796079]], [[0.6, 0.0745098, 0.243137], [0.54902, 0.929412, 0.580392]]]]</td>\n",
-       "        <td>[[1, 0, 0], [0, 0, 1]]</td>\n",
-       "        <td>7</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[[0.196078, 0.619608, 0.0862745], [0.180392, 0.933333, 0.0941177]], [[0.537255, 0.384314, 0.376471], [0.619608, 0.0509804, 0.941177]]], [[[0.960784, 0.113725, 0.14902], [0.415686, 0.301961, 0.356863]], [[0.027451, 0.721569, 0.0235294], [0.788235, 0.266667, 0.0784314]]]]</td>\n",
-       "        <td>[[0, 1, 0], [1, 0, 0]]</td>\n",
-       "        <td>8</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[[0.529412, 0.0862745, 0.882353], [0.341176, 0.415686, 0.996078]], [[0.101961, 0.752941, 0.431373], [0.909804, 0.545098, 0.027451]]], [[[0.792157, 0.760784, 0.827451], [0.0862745, 0.0705882, 0.490196]], [[0.576471, 0.490196, 0.972549], [0.101961, 0.952941, 0.533333]]]]</td>\n",
-       "        <td>[[1, 0, 0], [1, 0, 0]]</td>\n",
-       "        <td>9</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[[0.180392, 0.709804, 0.509804], [1.0, 0.592157, 0.466667]], [[0.113725, 0.741176, 0.882353], [0.415686, 0.0941177, 0.905882]]], [[[0.784314, 0.576471, 0.905882], [0.360784, 0.0117647, 0.0980392]], [[0.980392, 0.0980392, 0.282353], [0.913726, 0.196078, 0.819608]]]]</td>\n",
-       "        <td>[[0, 1, 0], [0, 1, 0]]</td>\n",
-       "        <td>10</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[[0.572549, 0.431373, 0.345098], [0.509804, 0.447059, 0.87451]], [[0.592157, 0.32549, 0.211765], [0.00784314, 0.313726, 0.313726]]], [[[0.117647, 0.694118, 0.4], [0.196078, 0.505882, 0.188235]], [[0.956863, 0.329412, 0.27451], [0.0235294, 0.823529, 0.854902]]]]</td>\n",
-       "        <td>[[1, 0, 0], [0, 0, 1]]</td>\n",
-       "        <td>11</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[[0.792157, 0.956863, 0.458824], [0.317647, 0.764706, 0.639216]], [[0.0235294, 0.270588, 0.635294], [0.615686, 0.737255, 0.74902]]], [[[0.745098, 0.219608, 0.301961], [0.776471, 0.196078, 0.0823529]], [[0.34902, 0.0980392, 0.443137], [0.360784, 0.196078, 0.419608]]]]</td>\n",
-       "        <td>[[0, 0, 1], [0, 0, 1]]</td>\n",
-       "        <td>12</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[[0.478431, 0.329412, 0.654902], [0.290196, 0.623529, 0.223529]], [[0.721569, 0.964706, 0.729412], [0.164706, 0.835294, 0.321569]]], [[[0.615686, 0.156863, 0.447059], [0.521569, 0.290196, 0.564706]], [[0.207843, 0.690196, 0.760784], [0.717647, 0.878431, 0.713726]]]]</td>\n",
-       "        <td>[[0, 0, 1], [0, 1, 0]]</td>\n",
-       "        <td>13</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[[0.0431373, 0.32549, 0.803922], [0.356863, 0.0823529, 0.54902]], [[0.572549, 0.384314, 0.321569], [0.768628, 0.466667, 0.670588]]], [[[0.14902, 0.737255, 0.866667], [0.0, 0.243137, 0.65098]], [[0.956863, 0.705882, 0.972549], [0.721569, 0.341176, 0.996078]]]]</td>\n",
-       "        <td>[[1, 0, 0], [1, 0, 0]]</td>\n",
-       "        <td>14</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[[0.976471, 0.607843, 0.72549], [0.721569, 0.960784, 0.341176]], [[0.878431, 0.4, 0.858824], [0.164706, 0.964706, 0.0666667]]], [[[0.909804, 0.027451, 0.0588235], [0.32549, 0.486275, 0.537255]], [[0.658824, 0.137255, 0.827451], [0.27451, 0.360784, 0.545098]]]]</td>\n",
-       "        <td>[[1, 0, 0], [0, 1, 0]]</td>\n",
-       "        <td>15</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[[0.0862745, 0.709804, 0.0705882], [0.403922, 0.196078, 0.109804]], [[0.733333, 1.0, 0.466667], [0.815686, 0.541176, 0.0352941]]], [[[0.721569, 0.780392, 0.729412], [0.431373, 0.823529, 0.882353]], [[0.164706, 0.686275, 0.882353], [0.407843, 0.333333, 0.835294]]]]</td>\n",
-       "        <td>[[0, 1, 0], [0, 1, 0]]</td>\n",
-       "        <td>16</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[[0.862745, 0.803922, 0.662745], [0.529412, 0.666667, 0.568627]], [[0.552941, 0.72549, 0.894118], [0.0352941, 0.254902, 0.54902]]], [[[0.301961, 0.552941, 0.447059], [0.294118, 0.541176, 0.419608]], [[0.898039, 0.266667, 0.137255], [0.854902, 0.603922, 0.0117647]]]]</td>\n",
-       "        <td>[[0, 1, 0], [0, 1, 0]]</td>\n",
-       "        <td>17</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[[0.0784314, 0.823529, 0.533333], [0.623529, 0.0588235, 0.619608]], [[0.329412, 0.12549, 0.0196078], [0.52549, 0.235294, 0.752941]]], [[[0.462745, 0.180392, 0.211765], [0.52549, 0.0313726, 0.933333]], [[0.305882, 0.760784, 0.360784], [0.12549, 0.639216, 0.52549]]]]</td>\n",
-       "        <td>[[0, 0, 1], [1, 0, 0]]</td>\n",
-       "        <td>18</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[[0.701961, 0.564706, 0.0588235], [0.737255, 0.760784, 0.921569]], [[0.537255, 0.415686, 0.447059], [0.2, 0.984314, 1.0]]], [[[0.517647, 0.933333, 0.141176], [0.352941, 0.0352941, 0.447059]], [[0.905882, 0.486275, 0.737255], [0.443137, 0.905882, 0.631373]]]]</td>\n",
-       "        <td>[[1, 0, 0], [1, 0, 0]]</td>\n",
-       "        <td>19</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[[0.878431, 0.0352941, 0.176471], [0.419608, 0.207843, 0.258824]], [[0.243137, 0.741176, 0.882353], [0.298039, 0.356863, 0.207843]]], [[[0.0392157, 0.482353, 0.309804], [0.0509804, 0.737255, 0.768628]], [[0.231373, 0.94902, 0.290196], [0.262745, 0.878431, 0.596078]]]]</td>\n",
-       "        <td>[[0, 0, 1], [0, 1, 0]]</td>\n",
-       "        <td>20</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[[0.376471, 0.733333, 0.662745], [0.121569, 0.25098, 0.360784]], [[0.686275, 0.309804, 0.0941177], [0.443137, 0.231373, 0.631373]]], [[[0.239216, 0.721569, 0.658824], [0.764706, 0.529412, 0.172549]], [[0.694118, 0.670588, 0.52549], [0.729412, 0.113725, 0.427451]]]]</td>\n",
-       "        <td>[[1, 0, 0], [0, 1, 0]]</td>\n",
-       "        <td>21</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[[0.85098, 0.866667, 0.113725], [0.478431, 0.572549, 0.152941]], [[0.964706, 0.878431, 0.203922], [0.694118, 0.647059, 0.431373]]], [[[0.67451, 0.831373, 0.839216], [0.67451, 0.752941, 0.713726]], [[0.705882, 0.933333, 0.129412], [0.917647, 0.184314, 0.372549]]]]</td>\n",
-       "        <td>[[0, 0, 1], [0, 0, 1]]</td>\n",
-       "        <td>22</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[[0.0627451, 0.670588, 0.00392157], [0.270588, 0.0941177, 0.380392]], [[0.0, 0.752941, 0.505882], [0.25098, 0.109804, 0.188235]]], [[[0.937255, 0.694118, 0.513726], [0.529412, 0.713726, 0.752941]], [[0.247059, 0.368627, 0.513726], [0.776471, 0.541176, 0.2]]]]</td>\n",
-       "        <td>[[0, 0, 1], [0, 0, 1]]</td>\n",
-       "        <td>23</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[[0.203922, 0.627451, 0.792157], [0.835294, 0.482353, 0.462745]], [[0.662745, 0.321569, 0.133333], [0.411765, 0.027451, 0.839216]]], [[[0.0627451, 0.929412, 0.552941], [0.490196, 0.137255, 0.4]], [[0.352941, 0.25098, 0.882353], [0.92549, 0.403922, 0.839216]]]]</td>\n",
-       "        <td>[[0, 0, 1], [1, 0, 0]]</td>\n",
-       "        <td>24</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[[[0.603922, 0.529412, 0.443137], [0.0352941, 0.164706, 0.376471]], [[0.729412, 0.678431, 0.905882], [0.439216, 0.427451, 0.14902]]], [[[0.160784, 0.752941, 0.52549], [0.533333, 0.403922, 0.588235]], [[0.2, 0.407843, 0.858824], [0.290196, 0.788235, 0.858824]]]]</td>\n",
-       "        <td>[[1, 0, 0], [0, 1, 0]]</td>\n",
-       "        <td>25</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[([[[[0.290196, 0.105882, 0.152941], [0.47451, 0.670588, 0.356863]], [[0.101961, 0.458824, 0.188235], [0.584314, 0.921569, 0.854902]]], [[[0.941177, 0.92549, 0.34902], [0.137255, 0.360784, 0.411765]], [[0.0627451, 0.917647, 0.898039], [0.203922, 0.313726, 0.247059]]]], [[1, 0, 0], [0, 0, 1]], 0),\n",
-       " ([[[[0.815686, 0.294118, 0.568627], [0.603922, 0.662745, 0.870588]], [[0.913726, 0.352941, 0.0745098], [0.0117647, 0.596078, 0.6]]], [[[0.0509804, 0.262745, 0.933333], [0.894118, 0.603922, 0.0901961]], [[0.643137, 0.12549, 0.623529], [0.0392157, 0.713726, 0.819608]]]], [[0, 1, 0], [0, 0, 1]], 1),\n",
-       " ([[[[0.14902, 0.52549, 0.6], [0.784314, 0.619608, 0.823529]], [[0.0823529, 0.0862745, 0.454902], [0.835294, 0.231373, 0.996078]]], [[[0.713726, 0.803922, 0.0156863], [0.678431, 0.415686, 0.470588]], [[0.156863, 0.85098, 0.941177], [0.27451, 0.141176, 0.72549]]]], [[1, 0, 0], [0, 0, 1]], 2),\n",
-       " ([[[[0.584314, 0.890196, 0.94902], [0.419608, 0.709804, 0.760784]], [[0.713726, 0.270588, 0.360784], [0.372549, 0.141176, 0.270588]]], [[[0.819608, 0.823529, 0.0980392], [0.262745, 0.713726, 0.552941]], [[0.203922, 0.890196, 0.945098], [0.156863, 0.235294, 0.466667]]]], [[1, 0, 0], [0, 1, 0]], 3),\n",
-       " ([[[[0.215686, 0.282353, 0.321569], [0.815686, 0.588235, 0.466667]], [[0.337255, 0.184314, 0.247059], [0.956863, 0.00392157, 0.329412]]], [[[0.129412, 0.388235, 0.270588], [0.980392, 0.623529, 0.984314]], [[0.780392, 0.639216, 0.658824], [0.192157, 0.105882, 0.815686]]]], [[0, 1, 0], [0, 1, 0]], 4),\n",
-       " ([[[[0.458824, 0.160784, 0.270588], [0.45098, 0.94902, 0.854902]], [[0.337255, 0.894118, 0.27451], [0.0431373, 0.65098, 0.988235]]], [[[0.0431373, 0.0862745, 0.180392], [0.772549, 0.615686, 1.0]], [[0.588235, 0.713726, 0.254902], [0.298039, 0.262745, 0.458824]]]], [[0, 1, 0], [0, 1, 0]], 5),\n",
-       " ([[[[0.00784314, 0.356863, 0.454902], [0.282353, 0.0784314, 0.670588]], [[0.564706, 0.4, 0.478431], [0.14902, 0.866667, 0.815686]]], [[[0.207843, 0.615686, 0.419608], [0.670588, 0.760784, 0.54902]], [[0.054902, 0.0313726, 0.52549], [0.678431, 0.0117647, 0.298039]]]], [[0, 1, 0], [0, 1, 0]], 6),\n",
-       " ([[[[0.666667, 0.490196, 0.419608], [0.478431, 0.529412, 0.462745]], [[0.564706, 0.709804, 0.231373], [0.176471, 0.701961, 0.819608]]], [[[0.113725, 0.764706, 0.337255], [0.439216, 0.803922, 0.796079]], [[0.6, 0.0745098, 0.243137], [0.54902, 0.929412, 0.580392]]]], [[1, 0, 0], [0, 0, 1]], 7),\n",
-       " ([[[[0.196078, 0.619608, 0.0862745], [0.180392, 0.933333, 0.0941177]], [[0.537255, 0.384314, 0.376471], [0.619608, 0.0509804, 0.941177]]], [[[0.960784, 0.113725, 0.14902], [0.415686, 0.301961, 0.356863]], [[0.027451, 0.721569, 0.0235294], [0.788235, 0.266667, 0.0784314]]]], [[0, 1, 0], [1, 0, 0]], 8),\n",
-       " ([[[[0.529412, 0.0862745, 0.882353], [0.341176, 0.415686, 0.996078]], [[0.101961, 0.752941, 0.431373], [0.909804, 0.545098, 0.027451]]], [[[0.792157, 0.760784, 0.827451], [0.0862745, 0.0705882, 0.490196]], [[0.576471, 0.490196, 0.972549], [0.101961, 0.952941, 0.533333]]]], [[1, 0, 0], [1, 0, 0]], 9),\n",
-       " ([[[[0.180392, 0.709804, 0.509804], [1.0, 0.592157, 0.466667]], [[0.113725, 0.741176, 0.882353], [0.415686, 0.0941177, 0.905882]]], [[[0.784314, 0.576471, 0.905882], [0.360784, 0.0117647, 0.0980392]], [[0.980392, 0.0980392, 0.282353], [0.913726, 0.196078, 0.819608]]]], [[0, 1, 0], [0, 1, 0]], 10),\n",
-       " ([[[[0.572549, 0.431373, 0.345098], [0.509804, 0.447059, 0.87451]], [[0.592157, 0.32549, 0.211765], [0.00784314, 0.313726, 0.313726]]], [[[0.117647, 0.694118, 0.4], [0.196078, 0.505882, 0.188235]], [[0.956863, 0.329412, 0.27451], [0.0235294, 0.823529, 0.854902]]]], [[1, 0, 0], [0, 0, 1]], 11),\n",
-       " ([[[[0.792157, 0.956863, 0.458824], [0.317647, 0.764706, 0.639216]], [[0.0235294, 0.270588, 0.635294], [0.615686, 0.737255, 0.74902]]], [[[0.745098, 0.219608, 0.301961], [0.776471, 0.196078, 0.0823529]], [[0.34902, 0.0980392, 0.443137], [0.360784, 0.196078, 0.419608]]]], [[0, 0, 1], [0, 0, 1]], 12),\n",
-       " ([[[[0.478431, 0.329412, 0.654902], [0.290196, 0.623529, 0.223529]], [[0.721569, 0.964706, 0.729412], [0.164706, 0.835294, 0.321569]]], [[[0.615686, 0.156863, 0.447059], [0.521569, 0.290196, 0.564706]], [[0.207843, 0.690196, 0.760784], [0.717647, 0.878431, 0.713726]]]], [[0, 0, 1], [0, 1, 0]], 13),\n",
-       " ([[[[0.0431373, 0.32549, 0.803922], [0.356863, 0.0823529, 0.54902]], [[0.572549, 0.384314, 0.321569], [0.768628, 0.466667, 0.670588]]], [[[0.14902, 0.737255, 0.866667], [0.0, 0.243137, 0.65098]], [[0.956863, 0.705882, 0.972549], [0.721569, 0.341176, 0.996078]]]], [[1, 0, 0], [1, 0, 0]], 14),\n",
-       " ([[[[0.976471, 0.607843, 0.72549], [0.721569, 0.960784, 0.341176]], [[0.878431, 0.4, 0.858824], [0.164706, 0.964706, 0.0666667]]], [[[0.909804, 0.027451, 0.0588235], [0.32549, 0.486275, 0.537255]], [[0.658824, 0.137255, 0.827451], [0.27451, 0.360784, 0.545098]]]], [[1, 0, 0], [0, 1, 0]], 15),\n",
-       " ([[[[0.0862745, 0.709804, 0.0705882], [0.403922, 0.196078, 0.109804]], [[0.733333, 1.0, 0.466667], [0.815686, 0.541176, 0.0352941]]], [[[0.721569, 0.780392, 0.729412], [0.431373, 0.823529, 0.882353]], [[0.164706, 0.686275, 0.882353], [0.407843, 0.333333, 0.835294]]]], [[0, 1, 0], [0, 1, 0]], 16),\n",
-       " ([[[[0.862745, 0.803922, 0.662745], [0.529412, 0.666667, 0.568627]], [[0.552941, 0.72549, 0.894118], [0.0352941, 0.254902, 0.54902]]], [[[0.301961, 0.552941, 0.447059], [0.294118, 0.541176, 0.419608]], [[0.898039, 0.266667, 0.137255], [0.854902, 0.603922, 0.0117647]]]], [[0, 1, 0], [0, 1, 0]], 17),\n",
-       " ([[[[0.0784314, 0.823529, 0.533333], [0.623529, 0.0588235, 0.619608]], [[0.329412, 0.12549, 0.0196078], [0.52549, 0.235294, 0.752941]]], [[[0.462745, 0.180392, 0.211765], [0.52549, 0.0313726, 0.933333]], [[0.305882, 0.760784, 0.360784], [0.12549, 0.639216, 0.52549]]]], [[0, 0, 1], [1, 0, 0]], 18),\n",
-       " ([[[[0.701961, 0.564706, 0.0588235], [0.737255, 0.760784, 0.921569]], [[0.537255, 0.415686, 0.447059], [0.2, 0.984314, 1.0]]], [[[0.517647, 0.933333, 0.141176], [0.352941, 0.0352941, 0.447059]], [[0.905882, 0.486275, 0.737255], [0.443137, 0.905882, 0.631373]]]], [[1, 0, 0], [1, 0, 0]], 19),\n",
-       " ([[[[0.878431, 0.0352941, 0.176471], [0.419608, 0.207843, 0.258824]], [[0.243137, 0.741176, 0.882353], [0.298039, 0.356863, 0.207843]]], [[[0.0392157, 0.482353, 0.309804], [0.0509804, 0.737255, 0.768628]], [[0.231373, 0.94902, 0.290196], [0.262745, 0.878431, 0.596078]]]], [[0, 0, 1], [0, 1, 0]], 20),\n",
-       " ([[[[0.376471, 0.733333, 0.662745], [0.121569, 0.25098, 0.360784]], [[0.686275, 0.309804, 0.0941177], [0.443137, 0.231373, 0.631373]]], [[[0.239216, 0.721569, 0.658824], [0.764706, 0.529412, 0.172549]], [[0.694118, 0.670588, 0.52549], [0.729412, 0.113725, 0.427451]]]], [[1, 0, 0], [0, 1, 0]], 21),\n",
-       " ([[[[0.85098, 0.866667, 0.113725], [0.478431, 0.572549, 0.152941]], [[0.964706, 0.878431, 0.203922], [0.694118, 0.647059, 0.431373]]], [[[0.67451, 0.831373, 0.839216], [0.67451, 0.752941, 0.713726]], [[0.705882, 0.933333, 0.129412], [0.917647, 0.184314, 0.372549]]]], [[0, 0, 1], [0, 0, 1]], 22),\n",
-       " ([[[[0.0627451, 0.670588, 0.00392157], [0.270588, 0.0941177, 0.380392]], [[0.0, 0.752941, 0.505882], [0.25098, 0.109804, 0.188235]]], [[[0.937255, 0.694118, 0.513726], [0.529412, 0.713726, 0.752941]], [[0.247059, 0.368627, 0.513726], [0.776471, 0.541176, 0.2]]]], [[0, 0, 1], [0, 0, 1]], 23),\n",
-       " ([[[[0.203922, 0.627451, 0.792157], [0.835294, 0.482353, 0.462745]], [[0.662745, 0.321569, 0.133333], [0.411765, 0.027451, 0.839216]]], [[[0.0627451, 0.929412, 0.552941], [0.490196, 0.137255, 0.4]], [[0.352941, 0.25098, 0.882353], [0.92549, 0.403922, 0.839216]]]], [[0, 0, 1], [1, 0, 0]], 24),\n",
-       " ([[[[0.603922, 0.529412, 0.443137], [0.0352941, 0.164706, 0.376471]], [[0.729412, 0.678431, 0.905882], [0.439216, 0.427451, 0.14902]]], [[[0.160784, 0.752941, 0.52549], [0.533333, 0.403922, 0.588235]], [[0.2, 0.407843, 0.858824], [0.290196, 0.788235, 0.858824]]]], [[1, 0, 0], [0, 1, 0]], 25)]"
-      ]
-     },
-     "execution_count": 7,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS val_image_data_packed, val_image_data_packed_summary;\n",
-    "SELECT madlib.validation_preprocessor_dl(\n",
-    "      'image_data',             -- Source table\n",
-    "      'val_image_data_packed',  -- Output table\n",
-    "      'species',                -- Dependent variable\n",
-    "      'rgb',                    -- Independent variable\n",
-    "      'image_data_packed',      -- From training preprocessor step\n",
-    "      2                         -- Buffer size\n",
-    "      );\n",
-    "SELECT * FROM val_image_data_packed ORDER BY buffer_id;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Review the output summary table:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 8,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>source_table</th>\n",
-       "        <th>output_table</th>\n",
-       "        <th>dependent_varname</th>\n",
-       "        <th>independent_varname</th>\n",
-       "        <th>dependent_vartype</th>\n",
-       "        <th>class_values</th>\n",
-       "        <th>buffer_size</th>\n",
-       "        <th>normalizing_const</th>\n",
-       "        <th>num_classes</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>image_data</td>\n",
-       "        <td>val_image_data_packed</td>\n",
-       "        <td>species</td>\n",
-       "        <td>rgb</td>\n",
-       "        <td>text</td>\n",
-       "        <td>[u'bird', u'cat', u'dog']</td>\n",
-       "        <td>2</td>\n",
-       "        <td>255.0</td>\n",
-       "        <td>3</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'image_data', u'val_image_data_packed', u'species', u'rgb', u'text', [u'bird', u'cat', u'dog'], 2, Decimal('255.0'), 3)]"
-      ]
-     },
-     "execution_count": 8,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT * FROM val_image_data_packed_summary;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"load_data2\"></a>\n",
-    "# 4. Load data, another format\n",
-    "Create an artificial 2x2 resolution color image data set with 3 possible classifications.  The RGB values are unrolled in to a flat array:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 6,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "52 rows affected.\n",
-      "52 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>rgb</th>\n",
-       "        <th>species</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[87, 118, 166, 176, 152, 5, 135, 219, 1, 249, 60, 67]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[109, 9, 113, 57, 10, 234, 47, 6, 223, 16, 9, 148]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[82, 94, 197, 145, 99, 28, 7, 8, 203, 159, 13, 83]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[14, 75, 182, 81, 218, 36, 90, 74, 93, 100, 52, 140]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[19, 156, 115, 167, 206, 198, 5, 147, 86, 104, 175, 93]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[122, 252, 125, 205, 118, 140, 24, 44, 221, 242, 80, 55]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[173, 155, 112, 57, 6, 131, 212, 121, 42, 162, 63, 47]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[149, 150, 227, 242, 6, 93, 238, 132, 42, 100, 15, 66]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[236, 52, 225, 36, 112, 141, 191, 224, 198, 197, 98, 154]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[140, 60, 125, 187, 113, 18, 81, 84, 5, 88, 178, 243]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[220, 87, 235, 30, 232, 216, 82, 200, 251, 194, 85, 186]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[27, 127, 5, 181, 189, 145, 241, 58, 76, 97, 76, 157]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[80, 245, 103, 67, 209, 67, 154, 188, 97, 130, 148, 179]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[143, 117, 160, 74, 23, 187, 200, 28, 111, 133, 173, 96]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[249, 193, 10, 150, 119, 91, 139, 222, 158, 92, 33, 56]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[130, 186, 172, 53, 4, 59, 170, 164, 133, 193, 94, 77]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[206, 210, 138, 46, 145, 131, 239, 156, 24, 102, 246, 163]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[148, 255, 101, 204, 23, 231, 134, 195, 27, 138, 254, 197]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[131, 134, 140, 208, 100, 90, 162, 238, 136, 52, 112, 119]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[137, 221, 198, 44, 34, 90, 42, 135, 38, 65, 109, 171]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[136, 54, 1, 78, 99, 132, 212, 239, 84, 56, 73, 246]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[209, 42, 150, 72, 249, 30, 37, 191, 74, 71, 24, 116]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[62, 181, 59, 233, 185, 195, 31, 187, 17, 130, 63, 229]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[147, 28, 187, 137, 66, 140, 179, 215, 211, 172, 246, 249]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[64, 63, 131, 180, 13, 193, 105, 72, 170, 35, 11, 201]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[28, 75, 28, 0, 189, 175, 29, 120, 56, 94, 3, 235]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[215, 151, 44, 207, 2, 107, 15, 133, 31, 28, 71, 137]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[197, 68, 195, 107, 92, 71, 80, 55, 239, 70, 26, 198]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[6, 230, 54, 75, 186, 42, 36, 112, 227, 19, 109, 220]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[145, 117, 8, 147, 175, 205, 215, 113, 57, 51, 184, 136]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[167, 207, 132, 109, 6, 138, 83, 60, 213, 13, 102, 249]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[73, 12, 234, 37, 13, 123, 154, 21, 14, 72, 226, 229]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[26, 24, 114, 163, 130, 25, 114, 6, 134, 119, 144, 217]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[101, 230, 25, 94, 99, 99, 106, 77, 136, 119, 199, 34]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[213, 106, 109, 186, 36, 136, 210, 151, 43, 84, 176, 156]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[54, 20, 235, 15, 199, 80, 245, 224, 174, 87, 67, 24]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[203, 143, 107, 237, 26, 65, 87, 136, 251, 123, 16, 205]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[58, 34, 193, 214, 124, 248, 234, 103, 7, 177, 183, 251]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[101, 83, 212, 125, 247, 159, 12, 98, 139, 38, 163, 226]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[157, 93, 189, 107, 110, 248, 140, 48, 206, 8, 39, 184]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[46, 105, 38, 41, 250, 139, 124, 206, 8, 115, 109, 19]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[248, 57, 119, 218, 231, 21, 55, 164, 127, 166, 156, 11]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[106, 20, 253, 34, 131, 43, 139, 170, 84, 133, 53, 208]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[60, 67, 191, 79, 24, 184, 136, 143, 146, 111, 164, 201]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[35, 110, 175, 47, 68, 25, 67, 65, 59, 198, 107, 198]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[191, 74, 164, 144, 157, 224, 211, 92, 48, 234, 20, 184]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[166, 39, 29, 110, 59, 65, 221, 234, 111, 33, 3, 178]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[62, 120, 205, 4, 231, 140, 78, 139, 28, 235, 108, 238]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[155, 217, 91, 83, 82, 0, 122, 111, 110, 181, 176, 75]</td>\n",
-       "        <td>dog</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[31, 108, 162, 209, 205, 224, 73, 154, 228, 48, 38, 50]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[65, 29, 39, 48, 100, 194, 8, 190, 21, 90, 190, 144]</td>\n",
-       "        <td>bird</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[45, 69, 122, 120, 228, 153, 228, 134, 106, 177, 103, 179]</td>\n",
-       "        <td>cat</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[([87, 118, 166, 176, 152, 5, 135, 219, 1, 249, 60, 67], u'dog'),\n",
-       " ([109, 9, 113, 57, 10, 234, 47, 6, 223, 16, 9, 148], u'cat'),\n",
-       " ([82, 94, 197, 145, 99, 28, 7, 8, 203, 159, 13, 83], u'dog'),\n",
-       " ([14, 75, 182, 81, 218, 36, 90, 74, 93, 100, 52, 140], u'dog'),\n",
-       " ([19, 156, 115, 167, 206, 198, 5, 147, 86, 104, 175, 93], u'dog'),\n",
-       " ([122, 252, 125, 205, 118, 140, 24, 44, 221, 242, 80, 55], u'cat'),\n",
-       " ([173, 155, 112, 57, 6, 131, 212, 121, 42, 162, 63, 47], u'cat'),\n",
-       " ([149, 150, 227, 242, 6, 93, 238, 132, 42, 100, 15, 66], u'dog'),\n",
-       " ([236, 52, 225, 36, 112, 141, 191, 224, 198, 197, 98, 154], u'cat'),\n",
-       " ([140, 60, 125, 187, 113, 18, 81, 84, 5, 88, 178, 243], u'bird'),\n",
-       " ([220, 87, 235, 30, 232, 216, 82, 200, 251, 194, 85, 186], u'dog'),\n",
-       " ([27, 127, 5, 181, 189, 145, 241, 58, 76, 97, 76, 157], u'bird'),\n",
-       " ([80, 245, 103, 67, 209, 67, 154, 188, 97, 130, 148, 179], u'cat'),\n",
-       " ([143, 117, 160, 74, 23, 187, 200, 28, 111, 133, 173, 96], u'bird'),\n",
-       " ([249, 193, 10, 150, 119, 91, 139, 222, 158, 92, 33, 56], u'cat'),\n",
-       " ([130, 186, 172, 53, 4, 59, 170, 164, 133, 193, 94, 77], u'bird'),\n",
-       " ([206, 210, 138, 46, 145, 131, 239, 156, 24, 102, 246, 163], u'cat'),\n",
-       " ([148, 255, 101, 204, 23, 231, 134, 195, 27, 138, 254, 197], u'cat'),\n",
-       " ([131, 134, 140, 208, 100, 90, 162, 238, 136, 52, 112, 119], u'bird'),\n",
-       " ([137, 221, 198, 44, 34, 90, 42, 135, 38, 65, 109, 171], u'cat'),\n",
-       " ([136, 54, 1, 78, 99, 132, 212, 239, 84, 56, 73, 246], u'cat'),\n",
-       " ([209, 42, 150, 72, 249, 30, 37, 191, 74, 71, 24, 116], u'bird'),\n",
-       " ([62, 181, 59, 233, 185, 195, 31, 187, 17, 130, 63, 229], u'dog'),\n",
-       " ([147, 28, 187, 137, 66, 140, 179, 215, 211, 172, 246, 249], u'dog'),\n",
-       " ([64, 63, 131, 180, 13, 193, 105, 72, 170, 35, 11, 201], u'bird'),\n",
-       " ([28, 75, 28, 0, 189, 175, 29, 120, 56, 94, 3, 235], u'cat'),\n",
-       " ([215, 151, 44, 207, 2, 107, 15, 133, 31, 28, 71, 137], u'dog'),\n",
-       " ([197, 68, 195, 107, 92, 71, 80, 55, 239, 70, 26, 198], u'cat'),\n",
-       " ([6, 230, 54, 75, 186, 42, 36, 112, 227, 19, 109, 220], u'cat'),\n",
-       " ([145, 117, 8, 147, 175, 205, 215, 113, 57, 51, 184, 136], u'dog'),\n",
-       " ([167, 207, 132, 109, 6, 138, 83, 60, 213, 13, 102, 249], u'dog'),\n",
-       " ([73, 12, 234, 37, 13, 123, 154, 21, 14, 72, 226, 229], u'bird'),\n",
-       " ([26, 24, 114, 163, 130, 25, 114, 6, 134, 119, 144, 217], u'bird'),\n",
-       " ([101, 230, 25, 94, 99, 99, 106, 77, 136, 119, 199, 34], u'dog'),\n",
-       " ([213, 106, 109, 186, 36, 136, 210, 151, 43, 84, 176, 156], u'dog'),\n",
-       " ([54, 20, 235, 15, 199, 80, 245, 224, 174, 87, 67, 24], u'dog'),\n",
-       " ([203, 143, 107, 237, 26, 65, 87, 136, 251, 123, 16, 205], u'cat'),\n",
-       " ([58, 34, 193, 214, 124, 248, 234, 103, 7, 177, 183, 251], u'dog'),\n",
-       " ([101, 83, 212, 125, 247, 159, 12, 98, 139, 38, 163, 226], u'bird'),\n",
-       " ([157, 93, 189, 107, 110, 248, 140, 48, 206, 8, 39, 184], u'dog'),\n",
-       " ([46, 105, 38, 41, 250, 139, 124, 206, 8, 115, 109, 19], u'bird'),\n",
-       " ([248, 57, 119, 218, 231, 21, 55, 164, 127, 166, 156, 11], u'bird'),\n",
-       " ([106, 20, 253, 34, 131, 43, 139, 170, 84, 133, 53, 208], u'cat'),\n",
-       " ([60, 67, 191, 79, 24, 184, 136, 143, 146, 111, 164, 201], u'cat'),\n",
-       " ([35, 110, 175, 47, 68, 25, 67, 65, 59, 198, 107, 198], u'dog'),\n",
-       " ([191, 74, 164, 144, 157, 224, 211, 92, 48, 234, 20, 184], u'dog'),\n",
-       " ([166, 39, 29, 110, 59, 65, 221, 234, 111, 33, 3, 178], u'dog'),\n",
-       " ([62, 120, 205, 4, 231, 140, 78, 139, 28, 235, 108, 238], u'cat'),\n",
-       " ([155, 217, 91, 83, 82, 0, 122, 111, 110, 181, 176, 75], u'dog'),\n",
-       " ([31, 108, 162, 209, 205, 224, 73, 154, 228, 48, 38, 50], u'bird'),\n",
-       " ([65, 29, 39, 48, 100, 194, 8, 190, 21, 90, 190, 144], u'bird'),\n",
-       " ([45, 69, 122, 120, 228, 153, 228, 134, 106, 177, 103, 179], u'cat')]"
-      ]
-     },
-     "execution_count": 6,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS image_data;\n",
-    "\n",
-    "CREATE TABLE image_data AS (\n",
-    "SELECT ARRAY[\n",
-    "        (random() * 256)::integer, -- R values\n",
-    "        (random() * 256)::integer,\n",
-    "        (random() * 256)::integer,\n",
-    "        (random() * 256)::integer,\n",
-    "        (random() * 256)::integer, -- G values\n",
-    "        (random() * 256)::integer,\n",
-    "        (random() * 256)::integer,\n",
-    "        (random() * 256)::integer,\n",
-    "        (random() * 256)::integer, -- B values\n",
-    "        (random() * 256)::integer,\n",
-    "        (random() * 256)::integer,\n",
-    "        (random() * 256)::integer\n",
-    "    ] as rgb, ('{cat,dog,bird}'::text[])[ceil(random()*3)] as species\n",
-    "FROM generate_series(1, 52)\n",
-    ");\n",
-    "\n",
-    "SELECT * FROM image_data;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"pp_train2\"></a>\n",
-    "# 5.  Run preprocessor for training image data\n",
-    "\n",
-    "Run the preprocessor to generate the packed output table:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 7,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "2 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>independent_var</th>\n",
-       "        <th>dependent_var</th>\n",
-       "        <th>buffer_id</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[0.105882, 0.498039, 0.0196078, 0.709804, 0.741176, 0.568627, 0.945098, 0.227451, 0.298039, 0.380392, 0.298039, 0.615686], [0.537255, 0.866667, 0.776471, 0.172549, 0.133333, 0.352941, 0.164706, 0.529412, 0.14902, 0.254902, 0.427451, 0.670588], [0.235294, 0.262745, 0.74902, 0.309804, 0.0941177, 0.721569, 0.533333, 0.560784, 0.572549, 0.435294, 0.643137, 0.788235], [0.560784, 0.458824, 0.627451, 0.290196, 0.0901961, 0.733333, 0.784314, 0.109804, 0.435294, 0.521569, 0.678431, 0.376471], [0.576471, 0.109804, 0.733333, 0.537255, 0.258824, 0.54902, 0.701961, 0.843137, 0.827451, 0.67451, 0.964706, 0.976471], [0.427451, 0.0352941, 0.443137, 0.223529, 0.0392157, 0.917647, 0.184314, 0.0235294, 0.87451, 0.0627451, 0.0352941, 0.580392], [0.396078, 0.901961, 0.0980392, 0.368627, 0.388235, 0.388235, 0.415686, 0.301961, 0.533333, 0.466667, 0.780392, 0.133333], [0.121569, 0.423529, 0.635294, 0.819608, 0.803922, 0.878431, 0.286275, 0.603922, 0.894118, 0.188235, 0.14902, 0.196078], [0.568627, 0.458824, 0.0313726, 0.576471, 0.686275, 0.803922, 0.843137, 0.443137, 0.223529, 0.2, 0.721569, 0.533333], [0.772549, 0.266667, 0.764706, 0.419608, 0.360784, 0.278431, 0.313726, 0.215686, 0.937255, 0.27451, 0.101961, 0.776471], [0.54902, 0.235294, 0.490196, 0.733333, 0.443137, 0.0705882, 0.317647, 0.329412, 0.0196078, 0.345098, 0.698039, 0.952941], [0.580392, 1.0, 0.396078, 0.8, 0.0901961, 0.905882, 0.52549, 0.764706, 0.105882, 0.541176, 0.996078, 0.772549], [0.584314, 0.588235, 0.890196, 0.94902, 0.0235294, 0.364706, 0.933333, 0.517647, 0.164706, 0.392157, 0.0588235, 0.258824], [0.819608, 0.164706, 0.588235, 0.282353, 0.976471, 0.117647, 0.145098, 0.74902, 0.290196, 0.278431, 0.0941177, 0.454902], [0.615686, 0.364706, 0.741176, 0.419608, 0.431373, 0.972549, 0.54902, 0.188235, 0.807843, 0.0313726, 0.152941, 0.721569], [0.176471, 0.270588, 0.478431, 0.470588, 0.894118, 0.6, 0.894118, 0.52549, 0.415686, 0.694118, 0.403922, 0.701961], [0.109804, 0.294118, 0.109804, 0.0, 0.741176, 0.686275, 0.113725, 0.470588, 0.219608, 0.368627, 0.0117647, 0.921569], [0.243137, 0.470588, 0.803922, 0.0156863, 0.905882, 0.54902, 0.305882, 0.545098, 0.109804, 0.921569, 0.423529, 0.933333], [0.286275, 0.0470588, 0.917647, 0.145098, 0.0509804, 0.482353, 0.603922, 0.0823529, 0.054902, 0.282353, 0.886275, 0.898039], [0.972549, 0.223529, 0.466667, 0.854902, 0.905882, 0.0823529, 0.215686, 0.643137, 0.498039, 0.65098, 0.611765, 0.0431373], [0.509804, 0.729412, 0.67451, 0.207843, 0.0156863, 0.231373, 0.666667, 0.643137, 0.521569, 0.756863, 0.368627, 0.301961], [0.227451, 0.133333, 0.756863, 0.839216, 0.486275, 0.972549, 0.917647, 0.403922, 0.027451, 0.694118, 0.717647, 0.984314], [0.74902, 0.290196, 0.643137, 0.564706, 0.615686, 0.878431, 0.827451, 0.360784, 0.188235, 0.917647, 0.0784314, 0.721569], [0.211765, 0.0784314, 0.921569, 0.0588235, 0.780392, 0.313726, 0.960784, 0.878431, 0.682353, 0.341176, 0.262745, 0.0941177], [0.054902, 0.294118, 0.713726, 0.317647, 0.854902, 0.141176, 0.352941, 0.290196, 0.364706, 0.392157, 0.203922, 0.54902], [0.478431, 0.988235, 0.490196, 0.803922, 0.462745, 0.54902, 0.0941177, 0.172549, 0.866667, 0.94902, 0.313726, 0.215686]]</td>\n",
-       "        <td>[[1, 0, 0], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 0, 1], [0, 1, 0], [0, 0, 1], [1, 0, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 1, 0], [0, 0, 1], [1, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 0], [0, 1, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [0, 0, 1], [0, 0, 1], [0, 0, 1], [0, 0, 1], [0, 1, 0]]</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[0.313726, 0.960784, 0.403922, 0.262745, 0.819608, 0.262745, 0.603922, 0.737255, 0.380392, 0.509804, 0.580392, 0.701961], [0.654902, 0.811765, 0.517647, 0.427451, 0.0235294, 0.541176, 0.32549, 0.235294, 0.835294, 0.0509804, 0.4, 0.976471], [0.180392, 0.411765, 0.14902, 0.160784, 0.980392, 0.545098, 0.486275, 0.807843, 0.0313726, 0.45098, 0.427451, 0.0745098], [0.0235294, 0.901961, 0.211765, 0.294118, 0.729412, 0.164706, 0.141176, 0.439216, 0.890196, 0.0745098, 0.427451, 0.862745], [0.321569, 0.368627, 0.772549, 0.568627, 0.388235, 0.109804, 0.027451, 0.0313726, 0.796079, 0.623529, 0.0509804, 0.32549], [0.796079, 0.560784, 0.419608, 0.929412, 0.101961, 0.254902, 0.341176, 0.533333, 0.984314, 0.482353, 0.0627451, 0.803922], [0.607843, 0.85098, 0.356863, 0.32549, 0.321569, 0.0, 0.478431, 0.435294, 0.431373, 0.709804, 0.690196, 0.294118], [0.678431, 0.607843, 0.439216, 0.223529, 0.0235294, 0.513726, 0.831373, 0.47451, 0.164706, 0.635294, 0.247059, 0.184314], [0.533333, 0.211765, 0.00392157, 0.305882, 0.388235, 0.517647, 0.831373, 0.937255, 0.329412, 0.219608, 0.286275, 0.964706], [0.92549, 0.203922, 0.882353, 0.141176, 0.439216, 0.552941, 0.74902, 0.878431, 0.776471, 0.772549, 0.384314, 0.603922], [0.513726, 0.52549, 0.54902, 0.815686, 0.392157, 0.352941, 0.635294, 0.933333, 0.533333, 0.203922, 0.439216, 0.466667], [0.976471, 0.756863, 0.0392157, 0.588235, 0.466667, 0.356863, 0.545098, 0.870588, 0.619608, 0.360784, 0.129412, 0.219608], [0.396078, 0.32549, 0.831373, 0.490196, 0.968628, 0.623529, 0.0470588, 0.384314, 0.545098, 0.14902, 0.639216, 0.886275], [0.862745, 0.341176, 0.921569, 0.117647, 0.909804, 0.847059, 0.321569, 0.784314, 0.984314, 0.760784, 0.333333, 0.729412], [0.101961, 0.0941177, 0.447059, 0.639216, 0.509804, 0.0980392, 0.447059, 0.0235294, 0.52549, 0.466667, 0.564706, 0.85098], [0.843137, 0.592157, 0.172549, 0.811765, 0.00784314, 0.419608, 0.0588235, 0.521569, 0.121569, 0.109804, 0.278431, 0.537255], [0.341176, 0.462745, 0.65098, 0.690196, 0.596078, 0.0196078, 0.529412, 0.858824, 0.00392157, 0.976471, 0.235294, 0.262745], [0.0745098, 0.611765, 0.45098, 0.654902, 0.807843, 0.776471, 0.0196078, 0.576471, 0.337255, 0.407843, 0.686275, 0.364706], [0.415686, 0.0784314, 0.992157, 0.133333, 0.513726, 0.168627, 0.545098, 0.666667, 0.329412, 0.521569, 0.207843, 0.815686], [0.835294, 0.415686, 0.427451, 0.729412, 0.141176, 0.533333, 0.823529, 0.592157, 0.168627, 0.329412, 0.690196, 0.611765], [0.254902, 0.113725, 0.152941, 0.188235, 0.392157, 0.760784, 0.0313726, 0.745098, 0.0823529, 0.352941, 0.745098, 0.564706], [0.807843, 0.823529, 0.541176, 0.180392, 0.568627, 0.513726, 0.937255, 0.611765, 0.0941177, 0.4, 0.964706, 0.639216], [0.243137, 0.709804, 0.231373, 0.913726, 0.72549, 0.764706, 0.121569, 0.733333, 0.0666667, 0.509804, 0.247059, 0.898039], [0.65098, 0.152941, 0.113725, 0.431373, 0.231373, 0.254902, 0.866667, 0.917647, 0.435294, 0.129412, 0.0117647, 0.698039], [0.137255, 0.431373, 0.686275, 0.184314, 0.266667, 0.0980392, 0.262745, 0.254902, 0.231373, 0.776471, 0.419608, 0.776471], [0.25098, 0.247059, 0.513726, 0.705882, 0.0509804, 0.756863, 0.411765, 0.282353, 0.666667, 0.137255, 0.0431373, 0.788235]]</td>\n",
-       "        <td>[[0, 1, 0], [0, 0, 1], [1, 0, 0], [0, 1, 0], [0, 0, 1], [0, 1, 0], [0, 0, 1], [0, 1, 0], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 1, 0], [1, 0, 0], [0, 0, 1], [1, 0, 0], [0, 0, 1], [0, 0, 1], [0, 0, 1], [0, 1, 0], [0, 0, 1], [1, 0, 0], [0, 1, 0], [0, 0, 1], [0, 0, 1], [0, 0, 1], [1, 0, 0]]</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[([[0.105882, 0.498039, 0.0196078, 0.709804, 0.741176, 0.568627, 0.945098, 0.227451, 0.298039, 0.380392, 0.298039, 0.615686], [0.537255, 0.866667, 0.776471, 0.172549, 0.133333, 0.352941, 0.164706, 0.529412, 0.14902, 0.254902, 0.427451, 0.670588], [0.235294, 0.262745, 0.74902, 0.309804, 0.0941177, 0.721569, 0.533333, 0.560784, 0.572549, 0.435294, 0.643137, 0.788235], [0.560784, 0.458824, 0.627451, 0.290196, 0.0901961, 0.733333, 0.784314, 0.109804, 0.435294, 0.521569, 0.678431, 0.376471], [0.576471, 0.109804, 0.733333, 0.537255, 0.258824, 0.54902, 0.701961, 0.843137, 0.827451, 0.67451, 0.964706, 0.976471], [0.427451, 0.0352941, 0.443137, 0.223529, 0.0392157, 0.917647, 0.184314, 0.0235294, 0.87451, 0.0627451, 0.0352941, 0.580392], [0.396078, 0.901961, 0.0980392, 0.368627, 0.388235, 0.388235, 0.415686, 0.301961, 0.533333, 0.466667, 0.780392, 0.133333], [0.121569, 0.423529, 0.635294, 0.819608, 0.803922, 0.878431, 0.286275, 0.603922, 0.894118, 0.188235, 0.14902, 0.196078], [0.568627, 0.458824, 0.0313726, 0.576471, 0.686275, 0.803922, 0.843137, 0.443137, 0.223529, 0.2, 0.721569, 0.533333], [0.772549, 0.266667, 0.764706, 0.419608, 0.360784, 0.278431, 0.313726, 0.215686, 0.937255, 0.27451, 0.101961, 0.776471], [0.54902, 0.235294, 0.490196, 0.733333, 0.443137, 0.0705882, 0.317647, 0.329412, 0.0196078, 0.345098, 0.698039, 0.952941], [0.580392, 1.0, 0.396078, 0.8, 0.0901961, 0.905882, 0.52549, 0.764706, 0.105882, 0.541176, 0.996078, 0.772549], [0.584314, 0.588235, 0.890196, 0.94902, 0.0235294, 0.364706, 0.933333, 0.517647, 0.164706, 0.392157, 0.0588235, 0.258824], [0.819608, 0.164706, 0.588235, 0.282353, 0.976471, 0.117647, 0.145098, 0.74902, 0.290196, 0.278431, 0.0941177, 0.454902], [0.615686, 0.364706, 0.741176, 0.419608, 0.431373, 0.972549, 0.54902, 0.188235, 0.807843, 0.0313726, 0.152941, 0.721569], [0.176471, 0.270588, 0.478431, 0.470588, 0.894118, 0.6, 0.894118, 0.52549, 0.415686, 0.694118, 0.403922, 0.701961], [0.109804, 0.294118, 0.109804, 0.0, 0.741176, 0.686275, 0.113725, 0.470588, 0.219608, 0.368627, 0.0117647, 0.921569], [0.243137, 0.470588, 0.803922, 0.0156863, 0.905882, 0.54902, 0.305882, 0.545098, 0.109804, 0.921569, 0.423529, 0.933333], [0.286275, 0.0470588, 0.917647, 0.145098, 0.0509804, 0.482353, 0.603922, 0.0823529, 0.054902, 0.282353, 0.886275, 0.898039], [0.972549, 0.223529, 0.466667, 0.854902, 0.905882, 0.0823529, 0.215686, 0.643137, 0.498039, 0.65098, 0.611765, 0.0431373], [0.509804, 0.729412, 0.67451, 0.207843, 0.0156863, 0.231373, 0.666667, 0.643137, 0.521569, 0.756863, 0.368627, 0.301961], [0.227451, 0.133333, 0.756863, 0.839216, 0.486275, 0.972549, 0.917647, 0.403922, 0.027451, 0.694118, 0.717647, 0.984314], [0.74902, 0.290196, 0.643137, 0.564706, 0.615686, 0.878431, 0.827451, 0.360784, 0.188235, 0.917647, 0.0784314, 0.721569], [0.211765, 0.0784314, 0.921569, 0.0588235, 0.780392, 0.313726, 0.960784, 0.878431, 0.682353, 0.341176, 0.262745, 0.0941177], [0.054902, 0.294118, 0.713726, 0.317647, 0.854902, 0.141176, 0.352941, 0.290196, 0.364706, 0.392157, 0.203922, 0.54902], [0.478431, 0.988235, 0.490196, 0.803922, 0.462745, 0.54902, 0.0941177, 0.172549, 0.866667, 0.94902, 0.313726, 0.215686]], [[1, 0, 0], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 0, 1], [0, 1, 0], [0, 0, 1], [1, 0, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 1, 0], [0, 0, 1], [1, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 0], [0, 1, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0], [0, 0, 1], [0, 0, 1], [0, 0, 1], [0, 0, 1], [0, 1, 0]], 0),\n",
-       " ([[0.313726, 0.960784, 0.403922, 0.262745, 0.819608, 0.262745, 0.603922, 0.737255, 0.380392, 0.509804, 0.580392, 0.701961], [0.654902, 0.811765, 0.517647, 0.427451, 0.0235294, 0.541176, 0.32549, 0.235294, 0.835294, 0.0509804, 0.4, 0.976471], [0.180392, 0.411765, 0.14902, 0.160784, 0.980392, 0.545098, 0.486275, 0.807843, 0.0313726, 0.45098, 0.427451, 0.0745098], [0.0235294, 0.901961, 0.211765, 0.294118, 0.729412, 0.164706, 0.141176, 0.439216, 0.890196, 0.0745098, 0.427451, 0.862745], [0.321569, 0.368627, 0.772549, 0.568627, 0.388235, 0.109804, 0.027451, 0.0313726, 0.796079, 0.623529, 0.0509804, 0.32549], [0.796079, 0.560784, 0.419608, 0.929412, 0.101961, 0.254902, 0.341176, 0.533333, 0.984314, 0.482353, 0.0627451, 0.803922], [0.607843, 0.85098, 0.356863, 0.32549, 0.321569, 0.0, 0.478431, 0.435294, 0.431373, 0.709804, 0.690196, 0.294118], [0.678431, 0.607843, 0.439216, 0.223529, 0.0235294, 0.513726, 0.831373, 0.47451, 0.164706, 0.635294, 0.247059, 0.184314], [0.533333, 0.211765, 0.00392157, 0.305882, 0.388235, 0.517647, 0.831373, 0.937255, 0.329412, 0.219608, 0.286275, 0.964706], [0.92549, 0.203922, 0.882353, 0.141176, 0.439216, 0.552941, 0.74902, 0.878431, 0.776471, 0.772549, 0.384314, 0.603922], [0.513726, 0.52549, 0.54902, 0.815686, 0.392157, 0.352941, 0.635294, 0.933333, 0.533333, 0.203922, 0.439216, 0.466667], [0.976471, 0.756863, 0.0392157, 0.588235, 0.466667, 0.356863, 0.545098, 0.870588, 0.619608, 0.360784, 0.129412, 0.219608], [0.396078, 0.32549, 0.831373, 0.490196, 0.968628, 0.623529, 0.0470588, 0.384314, 0.545098, 0.14902, 0.639216, 0.886275], [0.862745, 0.341176, 0.921569, 0.117647, 0.909804, 0.847059, 0.321569, 0.784314, 0.984314, 0.760784, 0.333333, 0.729412], [0.101961, 0.0941177, 0.447059, 0.639216, 0.509804, 0.0980392, 0.447059, 0.0235294, 0.52549, 0.466667, 0.564706, 0.85098], [0.843137, 0.592157, 0.172549, 0.811765, 0.00784314, 0.419608, 0.0588235, 0.521569, 0.121569, 0.109804, 0.278431, 0.537255], [0.341176, 0.462745, 0.65098, 0.690196, 0.596078, 0.0196078, 0.529412, 0.858824, 0.00392157, 0.976471, 0.235294, 0.262745], [0.0745098, 0.611765, 0.45098, 0.654902, 0.807843, 0.776471, 0.0196078, 0.576471, 0.337255, 0.407843, 0.686275, 0.364706], [0.415686, 0.0784314, 0.992157, 0.133333, 0.513726, 0.168627, 0.545098, 0.666667, 0.329412, 0.521569, 0.207843, 0.815686], [0.835294, 0.415686, 0.427451, 0.729412, 0.141176, 0.533333, 0.823529, 0.592157, 0.168627, 0.329412, 0.690196, 0.611765], [0.254902, 0.113725, 0.152941, 0.188235, 0.392157, 0.760784, 0.0313726, 0.745098, 0.0823529, 0.352941, 0.745098, 0.564706], [0.807843, 0.823529, 0.541176, 0.180392, 0.568627, 0.513726, 0.937255, 0.611765, 0.0941177, 0.4, 0.964706, 0.639216], [0.243137, 0.709804, 0.231373, 0.913726, 0.72549, 0.764706, 0.121569, 0.733333, 0.0666667, 0.509804, 0.247059, 0.898039], [0.65098, 0.152941, 0.113725, 0.431373, 0.231373, 0.254902, 0.866667, 0.917647, 0.435294, 0.129412, 0.0117647, 0.698039], [0.137255, 0.431373, 0.686275, 0.184314, 0.266667, 0.0980392, 0.262745, 0.254902, 0.231373, 0.776471, 0.419608, 0.776471], [0.25098, 0.247059, 0.513726, 0.705882, 0.0509804, 0.756863, 0.411765, 0.282353, 0.666667, 0.137255, 0.0431373, 0.788235]], [[0, 1, 0], [0, 0, 1], [1, 0, 0], [0, 1, 0], [0, 0, 1], [0, 1, 0], [0, 0, 1], [0, 1, 0], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 1, 0], [1, 0, 0], [0, 0, 1], [1, 0, 0], [0, 0, 1], [0, 0, 1], [0, 0, 1], [0, 1, 0], [0, 0, 1], [1, 0, 0], [0, 1, 0], [0, 0, 1], [0, 0, 1], [0, 0, 1], [1, 0, 0]], 1)]"
-      ]
-     },
-     "execution_count": 7,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS image_data_packed, image_data_packed_summary;\n",
-    "\n",
-    "SELECT madlib.training_preprocessor_dl('image_data',         -- Source table\n",
-    "                                        'image_data_packed',  -- Output table\n",
-    "                                        'species',            -- Dependent variable\n",
-    "                                        'rgb',                -- Independent variable\n",
-    "                                        NULL,                 -- Buffer size\n",
-    "                                        255                   -- Normalizing constant\n",
-    "                                        );\n",
-    "\n",
-    "SELECT * FROM image_data_packed ORDER BY buffer_id;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"pp_val2\"></a>\n",
-    "# 6.  Run preprocessor for validation image data\n",
-    "\n",
-    "Run the preprocessor for the validation dataset. In this example, we use the same images for validation to demonstrate, but normally validation data is different than training data:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 11,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "2 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>independent_var</th>\n",
-       "        <th>dependent_var</th>\n",
-       "        <th>buffer_id</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[0.576471, 0.701961, 0.580392, 0.627451, 0.964706, 0.509804, 0.517647, 0.564706, 0.6, 0.152941, 0.690196, 0.215686], [0.258824, 0.478431, 0.772549, 0.105882, 0.152941, 0.345098, 0.803922, 0.729412, 0.972549, 0.764706, 0.235294, 0.482353], [0.72549, 0.682353, 0.109804, 0.105882, 0.796079, 0.368627, 0.584314, 0.564706, 0.47451, 0.733333, 0.909804, 0.27451], [0.152941, 0.870588, 0.623529, 0.917647, 0.384314, 0.345098, 0.596078, 0.494118, 0.45098, 0.388235, 0.862745, 0.0313726], [0.00392157, 0.901961, 0.160784, 0.654902, 0.184314, 0.313726, 0.521569, 0.807843, 0.227451, 0.905882, 0.152941, 0.823529], [0.843137, 0.85098, 0.972549, 0.92549, 0.227451, 0.980392, 0.823529, 0.388235, 0.631373, 0.00784314, 0.701961, 0.14902], [0.482353, 0.211765, 0.886275, 0.32549, 0.745098, 0.72549, 0.172549, 0.717647, 0.647059, 0.4, 0.694118, 0.466667], [0.00392157, 0.231373, 0.941177, 0.6, 0.364706, 0.419608, 0.811765, 0.243137, 0.745098, 0.552941, 0.968628, 0.913726], [0.145098, 0.203922, 0.878431, 0.258824, 0.858824, 0.882353, 0.490196, 0.796079, 0.478431, 0.854902, 0.215686, 0.286275], [0.0666667, 0.101961, 0.827451, 0.313726, 0.168627, 0.972549, 0.521569, 0.0431373, 0.227451, 0.376471, 0.929412, 0.717647], [0.113725, 0.647059, 0.00392157, 0.396078, 0.486275, 0.0705882, 0.494118, 0.309804, 0.384314, 0.666667, 0.278431, 0.905882], [0.380392, 0.866667, 0.529412, 0.760784, 0.541176, 0.647059, 0.407843, 0.54902, 0.0352941, 0.894118, 0.619608, 0.533333], [0.282353, 0.407843, 0.635294, 0.52549, 0.556863, 0.0117647, 0.384314, 0.0862745, 0.772549, 0.92549, 0.729412, 0.176471], [0.658824, 0.827451, 0.835294, 0.462745, 0.764706, 0.752941, 0.811765, 0.901961, 0.113725, 0.215686, 0.964706, 0.0235294], [0.835294, 0.690196, 0.639216, 0.227451, 0.372549, 0.294118, 0.0509804, 0.203922, 0.756863, 0.815686, 0.956863, 0.564706], [0.278431, 0.854902, 0.623529, 0.184314, 0.270588, 0.45098, 0.870588, 0.909804, 0.682353, 0.239216, 0.2, 0.733333], [0.219608, 0.933333, 0.223529, 0.145098, 0.443137, 0.505882, 1.0, 0.0627451, 0.690196, 0.266667, 0.513726, 0.556863], [0.635294, 0.337255, 0.419608, 0.607843, 0.780392, 0.639216, 0.541176, 0.00392157, 0.784314, 0.984314, 0.509804, 0.776471], [0.764706, 0.866667, 0.486275, 0.913726, 0.517647, 0.113725, 0.247059, 0.937255, 0.72549, 0.0235294, 0.572549, 0.258824], [0.254902, 0.792157, 0.87451, 0.396078, 0.192157, 0.635294, 0.254902, 0.67451, 0.545098, 0.772549, 0.788235, 0.792157], [0.580392, 0.282353, 0.713726, 0.596078, 0.239216, 0.968628, 0.388235, 0.109804, 0.360784, 0.576471, 0.745098, 0.615686], [0.72549, 0.603922, 0.207843, 0.631373, 0.733333, 0.792157, 0.913726, 0.443137, 0.384314, 0.14902, 0.407843, 0.772549], [0.478431, 0.988235, 0.188235, 0.796079, 0.0901961, 0.913726, 0.4, 0.298039, 0.545098, 0.12549, 0.0823529, 0.454902], [0.521569, 0.733333, 0.968628, 0.776471, 0.945098, 0.443137, 0.760784, 0.129412, 0.235294, 0.847059, 0.0392157, 0.635294], [0.145098, 0.678431, 0.517647, 0.0235294, 0.470588, 0.0392157, 0.756863, 0.435294, 0.815686, 0.698039, 0.882353, 0.572549], [0.407843, 0.607843, 0.152941, 0.913726, 0.972549, 0.298039, 0.588235, 0.486275, 0.321569, 0.054902, 0.52549, 0.0745098]]</td>\n",
-       "        <td>[[0, 1, 0], [0, 1, 0], [0, 0, 1], [1, 0, 0], [0, 0, 1], [1, 0, 0], [1, 0, 0], [0, 1, 0], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 1, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 1, 0], [0, 1, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 0, 1]]</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[0.231373, 0.423529, 0.152941, 0.521569, 0.533333, 0.305882, 0.996078, 0.2, 0.662745, 0.0941177, 0.654902, 0.85098], [0.4, 0.0352941, 0.639216, 0.968628, 0.141176, 0.87451, 0.388235, 0.294118, 0.388235, 0.921569, 0.6, 0.384314], [0.831373, 0.635294, 0.0117647, 0.0470588, 0.831373, 0.411765, 0.0784314, 0.466667, 0.372549, 0.223529, 0.337255, 0.764706], [0.878431, 0.0392157, 0.694118, 0.356863, 0.364706, 0.52549, 0.996078, 0.372549, 0.568627, 0.823529, 0.784314, 0.65098], [0.333333, 0.764706, 0.862745, 0.611765, 0.223529, 0.737255, 0.647059, 0.917647, 0.0901961, 0.00784314, 0.439216, 0.0823529], [0.603922, 0.207843, 0.254902, 0.635294, 0.160784, 0.592157, 0.396078, 0.0156863, 0.196078, 0.619608, 0.752941, 0.843137], [0.933333, 0.0470588, 0.964706, 0.752941, 0.443137, 0.564706, 0.960784, 0.701961, 0.196078, 0.113725, 0.286275, 0.596078], [0.317647, 0.470588, 0.486275, 0.466667, 0.282353, 0.411765, 0.513726, 0.247059, 0.160784, 0.956863, 0.811765, 0.113725], [0.607843, 0.309804, 0.956863, 0.0705882, 0.0901961, 0.27451, 0.545098, 0.576471, 0.741176, 0.827451, 0.988235, 0.25098], [0.960784, 0.839216, 0.0588235, 0.870588, 0.101961, 0.666667, 0.176471, 0.054902, 0.737255, 0.266667, 0.329412, 0.278431], [0.403922, 0.564706, 0.384314, 0.690196, 0.658824, 0.341176, 0.521569, 0.717647, 0.207843, 0.623529, 0.380392, 0.380392], [0.501961, 0.278431, 0.635294, 0.215686, 0.45098, 0.0313726, 0.780392, 0.835294, 0.721569, 0.435294, 0.172549, 0.239216], [0.0, 0.192157, 0.478431, 0.905882, 0.901961, 0.980392, 0.180392, 0.533333, 0.192157, 0.631373, 0.564706, 0.976471], [0.168627, 0.858824, 0.027451, 0.972549, 0.458824, 0.556863, 0.407843, 0.494118, 0.721569, 0.784314, 0.219608, 0.4], [0.164706, 0.337255, 0.360784, 0.619608, 0.529412, 0.533333, 0.470588, 0.556863, 0.498039, 0.929412, 0.109804, 0.905882], [0.0666667, 0.780392, 0.67451, 0.0901961, 0.894118, 0.839216, 0.431373, 0.254902, 0.454902, 0.960784, 0.784314, 0.929412], [0.960784, 0.545098, 0.396078, 0.521569, 0.254902, 0.458824, 0.298039, 0.933333, 0.54902, 0.192157, 0.768628, 0.980392], [0.192157, 0.796079, 0.376471, 0.92549, 0.235294, 0.329412, 0.470588, 0.627451, 0.85098, 0.72549, 0.0823529, 0.14902], [0.192157, 0.0392157, 0.556863, 0.74902, 0.211765, 0.74902, 0.541176, 0.588235, 0.67451, 0.776471, 0.917647, 0.137255], [0.34902, 0.239216, 0.537255, 0.12549, 0.282353, 0.729412, 0.164706, 0.839216, 0.478431, 0.376471, 0.588235, 0.0156863], [0.509804, 0.815686, 0.270588, 0.768628, 0.843137, 0.623529, 0.00784314, 0.376471, 0.74902, 0.290196, 0.101961, 0.909804], [0.286275, 0.388235, 0.0352941, 0.0745098, 0.0862745, 0.545098, 0.890196, 0.360784, 0.309804, 0.733333, 0.984314, 0.317647], [0.768628, 0.345098, 0.00392157, 0.380392, 0.592157, 0.290196, 0.768628, 0.627451, 0.368627, 0.854902, 0.168627, 0.254902], [0.466667, 0.603922, 0.972549, 0.235294, 0.866667, 0.737255, 0.580392, 0.870588, 0.113725, 0.168627, 0.156863, 0.882353], [0.584314, 0.760784, 0.227451, 0.0313726, 0.32549, 0.694118, 0.639216, 0.294118, 0.929412, 0.498039, 0.027451, 0.505882], [0.113725, 0.419608, 0.862745, 0.74902, 0.560784, 0.443137, 0.509804, 0.788235, 0.478431, 0.831373, 0.478431, 0.109804]]</td>\n",
-       "        <td>[[1, 0, 0], [0, 1, 0], [0, 0, 1], [0, 1, 0], [0, 0, 1], [0, 0, 1], [0, 1, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [1, 0, 0], [0, 1, 0], [0, 0, 1], [1, 0, 0], [0, 0, 1], [0, 0, 1], [0, 0, 1], [0, 0, 1], [0, 0, 1], [1, 0, 0], [0, 1, 0], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 0, 1], [0, 1, 0]]</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[([[0.576471, 0.701961, 0.580392, 0.627451, 0.964706, 0.509804, 0.517647, 0.564706, 0.6, 0.152941, 0.690196, 0.215686], [0.258824, 0.478431, 0.772549, 0.105882, 0.152941, 0.345098, 0.803922, 0.729412, 0.972549, 0.764706, 0.235294, 0.482353], [0.72549, 0.682353, 0.109804, 0.105882, 0.796079, 0.368627, 0.584314, 0.564706, 0.47451, 0.733333, 0.909804, 0.27451], [0.152941, 0.870588, 0.623529, 0.917647, 0.384314, 0.345098, 0.596078, 0.494118, 0.45098, 0.388235, 0.862745, 0.0313726], [0.00392157, 0.901961, 0.160784, 0.654902, 0.184314, 0.313726, 0.521569, 0.807843, 0.227451, 0.905882, 0.152941, 0.823529], [0.843137, 0.85098, 0.972549, 0.92549, 0.227451, 0.980392, 0.823529, 0.388235, 0.631373, 0.00784314, 0.701961, 0.14902], [0.482353, 0.211765, 0.886275, 0.32549, 0.745098, 0.72549, 0.172549, 0.717647, 0.647059, 0.4, 0.694118, 0.466667], [0.00392157, 0.231373, 0.941177, 0.6, 0.364706, 0.419608, 0.811765, 0.243137, 0.745098, 0.552941, 0.968628, 0.913726], [0.145098, 0.203922, 0.878431, 0.258824, 0.858824, 0.882353, 0.490196, 0.796079, 0.478431, 0.854902, 0.215686, 0.286275], [0.0666667, 0.101961, 0.827451, 0.313726, 0.168627, 0.972549, 0.521569, 0.0431373, 0.227451, 0.376471, 0.929412, 0.717647], [0.113725, 0.647059, 0.00392157, 0.396078, 0.486275, 0.0705882, 0.494118, 0.309804, 0.384314, 0.666667, 0.278431, 0.905882], [0.380392, 0.866667, 0.529412, 0.760784, 0.541176, 0.647059, 0.407843, 0.54902, 0.0352941, 0.894118, 0.619608, 0.533333], [0.282353, 0.407843, 0.635294, 0.52549, 0.556863, 0.0117647, 0.384314, 0.0862745, 0.772549, 0.92549, 0.729412, 0.176471], [0.658824, 0.827451, 0.835294, 0.462745, 0.764706, 0.752941, 0.811765, 0.901961, 0.113725, 0.215686, 0.964706, 0.0235294], [0.835294, 0.690196, 0.639216, 0.227451, 0.372549, 0.294118, 0.0509804, 0.203922, 0.756863, 0.815686, 0.956863, 0.564706], [0.278431, 0.854902, 0.623529, 0.184314, 0.270588, 0.45098, 0.870588, 0.909804, 0.682353, 0.239216, 0.2, 0.733333], [0.219608, 0.933333, 0.223529, 0.145098, 0.443137, 0.505882, 1.0, 0.0627451, 0.690196, 0.266667, 0.513726, 0.556863], [0.635294, 0.337255, 0.419608, 0.607843, 0.780392, 0.639216, 0.541176, 0.00392157, 0.784314, 0.984314, 0.509804, 0.776471], [0.764706, 0.866667, 0.486275, 0.913726, 0.517647, 0.113725, 0.247059, 0.937255, 0.72549, 0.0235294, 0.572549, 0.258824], [0.254902, 0.792157, 0.87451, 0.396078, 0.192157, 0.635294, 0.254902, 0.67451, 0.545098, 0.772549, 0.788235, 0.792157], [0.580392, 0.282353, 0.713726, 0.596078, 0.239216, 0.968628, 0.388235, 0.109804, 0.360784, 0.576471, 0.745098, 0.615686], [0.72549, 0.603922, 0.207843, 0.631373, 0.733333, 0.792157, 0.913726, 0.443137, 0.384314, 0.14902, 0.407843, 0.772549], [0.478431, 0.988235, 0.188235, 0.796079, 0.0901961, 0.913726, 0.4, 0.298039, 0.545098, 0.12549, 0.0823529, 0.454902], [0.521569, 0.733333, 0.968628, 0.776471, 0.945098, 0.443137, 0.760784, 0.129412, 0.235294, 0.847059, 0.0392157, 0.635294], [0.145098, 0.678431, 0.517647, 0.0235294, 0.470588, 0.0392157, 0.756863, 0.435294, 0.815686, 0.698039, 0.882353, 0.572549], [0.407843, 0.607843, 0.152941, 0.913726, 0.972549, 0.298039, 0.588235, 0.486275, 0.321569, 0.054902, 0.52549, 0.0745098]], [[0, 1, 0], [0, 1, 0], [0, 0, 1], [1, 0, 0], [0, 0, 1], [1, 0, 0], [1, 0, 0], [0, 1, 0], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 1, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 1, 0], [0, 1, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 0, 1]], 0),\n",
-       " ([[0.231373, 0.423529, 0.152941, 0.521569, 0.533333, 0.305882, 0.996078, 0.2, 0.662745, 0.0941177, 0.654902, 0.85098], [0.4, 0.0352941, 0.639216, 0.968628, 0.141176, 0.87451, 0.388235, 0.294118, 0.388235, 0.921569, 0.6, 0.384314], [0.831373, 0.635294, 0.0117647, 0.0470588, 0.831373, 0.411765, 0.0784314, 0.466667, 0.372549, 0.223529, 0.337255, 0.764706], [0.878431, 0.0392157, 0.694118, 0.356863, 0.364706, 0.52549, 0.996078, 0.372549, 0.568627, 0.823529, 0.784314, 0.65098], [0.333333, 0.764706, 0.862745, 0.611765, 0.223529, 0.737255, 0.647059, 0.917647, 0.0901961, 0.00784314, 0.439216, 0.0823529], [0.603922, 0.207843, 0.254902, 0.635294, 0.160784, 0.592157, 0.396078, 0.0156863, 0.196078, 0.619608, 0.752941, 0.843137], [0.933333, 0.0470588, 0.964706, 0.752941, 0.443137, 0.564706, 0.960784, 0.701961, 0.196078, 0.113725, 0.286275, 0.596078], [0.317647, 0.470588, 0.486275, 0.466667, 0.282353, 0.411765, 0.513726, 0.247059, 0.160784, 0.956863, 0.811765, 0.113725], [0.607843, 0.309804, 0.956863, 0.0705882, 0.0901961, 0.27451, 0.545098, 0.576471, 0.741176, 0.827451, 0.988235, 0.25098], [0.960784, 0.839216, 0.0588235, 0.870588, 0.101961, 0.666667, 0.176471, 0.054902, 0.737255, 0.266667, 0.329412, 0.278431], [0.403922, 0.564706, 0.384314, 0.690196, 0.658824, 0.341176, 0.521569, 0.717647, 0.207843, 0.623529, 0.380392, 0.380392], [0.501961, 0.278431, 0.635294, 0.215686, 0.45098, 0.0313726, 0.780392, 0.835294, 0.721569, 0.435294, 0.172549, 0.239216], [0.0, 0.192157, 0.478431, 0.905882, 0.901961, 0.980392, 0.180392, 0.533333, 0.192157, 0.631373, 0.564706, 0.976471], [0.168627, 0.858824, 0.027451, 0.972549, 0.458824, 0.556863, 0.407843, 0.494118, 0.721569, 0.784314, 0.219608, 0.4], [0.164706, 0.337255, 0.360784, 0.619608, 0.529412, 0.533333, 0.470588, 0.556863, 0.498039, 0.929412, 0.109804, 0.905882], [0.0666667, 0.780392, 0.67451, 0.0901961, 0.894118, 0.839216, 0.431373, 0.254902, 0.454902, 0.960784, 0.784314, 0.929412], [0.960784, 0.545098, 0.396078, 0.521569, 0.254902, 0.458824, 0.298039, 0.933333, 0.54902, 0.192157, 0.768628, 0.980392], [0.192157, 0.796079, 0.376471, 0.92549, 0.235294, 0.329412, 0.470588, 0.627451, 0.85098, 0.72549, 0.0823529, 0.14902], [0.192157, 0.0392157, 0.556863, 0.74902, 0.211765, 0.74902, 0.541176, 0.588235, 0.67451, 0.776471, 0.917647, 0.137255], [0.34902, 0.239216, 0.537255, 0.12549, 0.282353, 0.729412, 0.164706, 0.839216, 0.478431, 0.376471, 0.588235, 0.0156863], [0.509804, 0.815686, 0.270588, 0.768628, 0.843137, 0.623529, 0.00784314, 0.376471, 0.74902, 0.290196, 0.101961, 0.909804], [0.286275, 0.388235, 0.0352941, 0.0745098, 0.0862745, 0.545098, 0.890196, 0.360784, 0.309804, 0.733333, 0.984314, 0.317647], [0.768628, 0.345098, 0.00392157, 0.380392, 0.592157, 0.290196, 0.768628, 0.627451, 0.368627, 0.854902, 0.168627, 0.254902], [0.466667, 0.603922, 0.972549, 0.235294, 0.866667, 0.737255, 0.580392, 0.870588, 0.113725, 0.168627, 0.156863, 0.882353], [0.584314, 0.760784, 0.227451, 0.0313726, 0.32549, 0.694118, 0.639216, 0.294118, 0.929412, 0.498039, 0.027451, 0.505882], [0.113725, 0.419608, 0.862745, 0.74902, 0.560784, 0.443137, 0.509804, 0.788235, 0.478431, 0.831373, 0.478431, 0.109804]], [[1, 0, 0], [0, 1, 0], [0, 0, 1], [0, 1, 0], [0, 0, 1], [0, 0, 1], [0, 1, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0], [1, 0, 0], [0, 1, 0], [0, 0, 1], [1, 0, 0], [0, 0, 1], [0, 0, 1], [0, 0, 1], [0, 0, 1], [0, 0, 1], [1, 0, 0], [0, 1, 0], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 0, 1], [0, 1, 0]], 1)]"
-      ]
-     },
-     "execution_count": 11,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS val_image_data_packed, val_image_data_packed_summary;\n",
-    "\n",
-    "SELECT madlib.validation_preprocessor_dl(\n",
-    "    'image_data',             -- Source table\n",
-    "    'val_image_data_packed',  -- Output table\n",
-    "    'species',                -- Dependent variable\n",
-    "    'rgb',                    -- Independent variable\n",
-    "    'image_data_packed',      -- From training preprocessor step\n",
-    "    NULL                      -- Buffer size\n",
-    "    );\n",
-    "\n",
-    "SELECT * FROM val_image_data_packed ORDER BY buffer_id;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"change_buffer\"></a>\n",
-    "# 7.  Change buffer size \n",
-    "\n",
-    "Generally the default buffer size will work well, but if you have occasion to change it:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 12,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "6 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>independent_var</th>\n",
-       "        <th>dependent_var</th>\n",
-       "        <th>buffer_id</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[0.72549, 0.682353, 0.109804, 0.105882, 0.796079, 0.368627, 0.584314, 0.564706, 0.47451, 0.733333, 0.909804, 0.27451], [0.521569, 0.733333, 0.968628, 0.776471, 0.945098, 0.443137, 0.760784, 0.129412, 0.235294, 0.847059, 0.0392157, 0.635294], [0.380392, 0.866667, 0.529412, 0.760784, 0.541176, 0.647059, 0.407843, 0.54902, 0.0352941, 0.894118, 0.619608, 0.533333], [0.145098, 0.203922, 0.878431, 0.258824, 0.858824, 0.882353, 0.490196, 0.796079, 0.478431, 0.854902, 0.215686, 0.286275], [0.835294, 0.690196, 0.639216, 0.227451, 0.372549, 0.294118, 0.0509804, 0.203922, 0.756863, 0.815686, 0.956863, 0.564706], [0.635294, 0.337255, 0.419608, 0.607843, 0.780392, 0.639216, 0.541176, 0.00392157, 0.784314, 0.984314, 0.509804, 0.776471], [0.843137, 0.85098, 0.972549, 0.92549, 0.227451, 0.980392, 0.823529, 0.388235, 0.631373, 0.00784314, 0.701961, 0.14902], [0.580392, 0.282353, 0.713726, 0.596078, 0.239216, 0.968628, 0.388235, 0.109804, 0.360784, 0.576471, 0.745098, 0.615686]]</td>\n",
-       "        <td>[[0, 0, 1], [0, 1, 0], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 1, 0], [1, 0, 0], [0, 1, 0]]</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[0.192157, 0.0392157, 0.556863, 0.74902, 0.211765, 0.74902, 0.541176, 0.588235, 0.67451, 0.776471, 0.917647, 0.137255], [0.231373, 0.423529, 0.152941, 0.521569, 0.533333, 0.305882, 0.996078, 0.2, 0.662745, 0.0941177, 0.654902, 0.85098], [0.0, 0.192157, 0.478431, 0.905882, 0.901961, 0.980392, 0.180392, 0.533333, 0.192157, 0.631373, 0.564706, 0.976471], [0.0666667, 0.780392, 0.67451, 0.0901961, 0.894118, 0.839216, 0.431373, 0.254902, 0.454902, 0.960784, 0.784314, 0.929412], [0.286275, 0.388235, 0.0352941, 0.0745098, 0.0862745, 0.545098, 0.890196, 0.360784, 0.309804, 0.733333, 0.984314, 0.317647], [0.960784, 0.839216, 0.0588235, 0.870588, 0.101961, 0.666667, 0.176471, 0.054902, 0.737255, 0.266667, 0.329412, 0.278431], [0.933333, 0.0470588, 0.964706, 0.752941, 0.443137, 0.564706, 0.960784, 0.701961, 0.196078, 0.113725, 0.286275, 0.596078], [0.584314, 0.760784, 0.227451, 0.0313726, 0.32549, 0.694118, 0.639216, 0.294118, 0.929412, 0.498039, 0.027451, 0.505882], [0.878431, 0.0392157, 0.694118, 0.356863, 0.364706, 0.52549, 0.996078, 0.372549, 0.568627, 0.823529, 0.784314, 0.65098]]</td>\n",
-       "        <td>[[0, 0, 1], [1, 0, 0], [0, 0, 1], [0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 1, 0], [0, 0, 1], [0, 1, 0]]</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[0.282353, 0.407843, 0.635294, 0.52549, 0.556863, 0.0117647, 0.384314, 0.0862745, 0.772549, 0.92549, 0.729412, 0.176471], [0.145098, 0.678431, 0.517647, 0.0235294, 0.470588, 0.0392157, 0.756863, 0.435294, 0.815686, 0.698039, 0.882353, 0.572549], [0.576471, 0.701961, 0.580392, 0.627451, 0.964706, 0.509804, 0.517647, 0.564706, 0.6, 0.152941, 0.690196, 0.215686], [0.152941, 0.870588, 0.623529, 0.917647, 0.384314, 0.345098, 0.596078, 0.494118, 0.45098, 0.388235, 0.862745, 0.0313726], [0.482353, 0.211765, 0.886275, 0.32549, 0.745098, 0.72549, 0.172549, 0.717647, 0.647059, 0.4, 0.694118, 0.466667], [0.0666667, 0.101961, 0.827451, 0.313726, 0.168627, 0.972549, 0.521569, 0.0431373, 0.227451, 0.376471, 0.929412, 0.717647], [0.764706, 0.866667, 0.486275, 0.913726, 0.517647, 0.113725, 0.247059, 0.937255, 0.72549, 0.0235294, 0.572549, 0.258824], [0.72549, 0.603922, 0.207843, 0.631373, 0.733333, 0.792157, 0.913726, 0.443137, 0.384314, 0.14902, 0.407843, 0.772549], [0.278431, 0.854902, 0.623529, 0.184314, 0.270588, 0.45098, 0.870588, 0.909804, 0.682353, 0.239216, 0.2, 0.733333]]</td>\n",
-       "        <td>[[0, 0, 1], [1, 0, 0], [0, 1, 0], [1, 0, 0], [1, 0, 0], [0, 1, 0], [0, 1, 0], [0, 1, 0], [0, 0, 1]]</td>\n",
-       "        <td>2</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[0.168627, 0.858824, 0.027451, 0.972549, 0.458824, 0.556863, 0.407843, 0.494118, 0.721569, 0.784314, 0.219608, 0.4], [0.113725, 0.419608, 0.862745, 0.74902, 0.560784, 0.443137, 0.509804, 0.788235, 0.478431, 0.831373, 0.478431, 0.109804], [0.960784, 0.545098, 0.396078, 0.521569, 0.254902, 0.458824, 0.298039, 0.933333, 0.54902, 0.192157, 0.768628, 0.980392], [0.403922, 0.564706, 0.384314, 0.690196, 0.658824, 0.341176, 0.521569, 0.717647, 0.207843, 0.623529, 0.380392, 0.380392], [0.317647, 0.470588, 0.486275, 0.466667, 0.282353, 0.411765, 0.513726, 0.247059, 0.160784, 0.956863, 0.811765, 0.113725], [0.34902, 0.239216, 0.537255, 0.12549, 0.282353, 0.729412, 0.164706, 0.839216, 0.478431, 0.376471, 0.588235, 0.0156863], [0.768628, 0.345098, 0.00392157, 0.380392, 0.592157, 0.290196, 0.768628, 0.627451, 0.368627, 0.854902, 0.168627, 0.254902], [0.333333, 0.764706, 0.862745, 0.611765, 0.223529, 0.737255, 0.647059, 0.917647, 0.0901961, 0.00784314, 0.439216, 0.0823529], [0.4, 0.0352941, 0.639216, 0.968628, 0.141176, 0.87451, 0.388235, 0.294118, 0.388235, 0.921569, 0.6, 0.384314]]</td>\n",
-       "        <td>[[1, 0, 0], [0, 1, 0], [0, 0, 1], [1, 0, 0], [0, 0, 1], [1, 0, 0], [0, 1, 0], [0, 0, 1], [0, 1, 0]]</td>\n",
-       "        <td>3</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[0.658824, 0.827451, 0.835294, 0.462745, 0.764706, 0.752941, 0.811765, 0.901961, 0.113725, 0.215686, 0.964706, 0.0235294], [0.00392157, 0.901961, 0.160784, 0.654902, 0.184314, 0.313726, 0.521569, 0.807843, 0.227451, 0.905882, 0.152941, 0.823529], [0.113725, 0.647059, 0.00392157, 0.396078, 0.486275, 0.0705882, 0.494118, 0.309804, 0.384314, 0.666667, 0.278431, 0.905882], [0.478431, 0.988235, 0.188235, 0.796079, 0.0901961, 0.913726, 0.4, 0.298039, 0.545098, 0.12549, 0.0823529, 0.454902], [0.00392157, 0.231373, 0.941177, 0.6, 0.364706, 0.419608, 0.811765, 0.243137, 0.745098, 0.552941, 0.968628, 0.913726], [0.258824, 0.478431, 0.772549, 0.105882, 0.152941, 0.345098, 0.803922, 0.729412, 0.972549, 0.764706, 0.235294, 0.482353], [0.219608, 0.933333, 0.223529, 0.145098, 0.443137, 0.505882, 1.0, 0.0627451, 0.690196, 0.266667, 0.513726, 0.556863], [0.254902, 0.792157, 0.87451, 0.396078, 0.192157, 0.635294, 0.254902, 0.67451, 0.545098, 0.772549, 0.788235, 0.792157], [0.407843, 0.607843, 0.152941, 0.913726, 0.972549, 0.298039, 0.588235, 0.486275, 0.321569, 0.054902, 0.52549, 0.0745098]]</td>\n",
-       "        <td>[[0, 1, 0], [0, 0, 1], [1, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 0, 1]]</td>\n",
-       "        <td>4</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[0.466667, 0.603922, 0.972549, 0.235294, 0.866667, 0.737255, 0.580392, 0.870588, 0.113725, 0.168627, 0.156863, 0.882353], [0.164706, 0.337255, 0.360784, 0.619608, 0.529412, 0.533333, 0.470588, 0.556863, 0.498039, 0.929412, 0.109804, 0.905882], [0.192157, 0.796079, 0.376471, 0.92549, 0.235294, 0.329412, 0.470588, 0.627451, 0.85098, 0.72549, 0.0823529, 0.14902], [0.509804, 0.815686, 0.270588, 0.768628, 0.843137, 0.623529, 0.00784314, 0.376471, 0.74902, 0.290196, 0.101961, 0.909804], [0.607843, 0.309804, 0.956863, 0.0705882, 0.0901961, 0.27451, 0.545098, 0.576471, 0.741176, 0.827451, 0.988235, 0.25098], [0.603922, 0.207843, 0.254902, 0.635294, 0.160784, 0.592157, 0.396078, 0.0156863, 0.196078, 0.619608, 0.752941, 0.843137], [0.831373, 0.635294, 0.0117647, 0.0470588, 0.831373, 0.411765, 0.0784314, 0.466667, 0.372549, 0.223529, 0.337255, 0.764706], [0.501961, 0.278431, 0.635294, 0.215686, 0.45098, 0.0313726, 0.780392, 0.835294, 0.721569, 0.435294, 0.172549, 0.239216]]</td>\n",
-       "        <td>[[1, 0, 0], [0, 0, 1], [0, 0, 1], [0, 1, 0], [0, 1, 0], [0, 0, 1], [0, 0, 1], [0, 1, 0]]</td>\n",
-       "        <td>5</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[([[0.72549, 0.682353, 0.109804, 0.105882, 0.796079, 0.368627, 0.584314, 0.564706, 0.47451, 0.733333, 0.909804, 0.27451], [0.521569, 0.733333, 0.968628, 0.776471, 0.945098, 0.443137, 0.760784, 0.129412, 0.235294, 0.847059, 0.0392157, 0.635294], [0.380392, 0.866667, 0.529412, 0.760784, 0.541176, 0.647059, 0.407843, 0.54902, 0.0352941, 0.894118, 0.619608, 0.533333], [0.145098, 0.203922, 0.878431, 0.258824, 0.858824, 0.882353, 0.490196, 0.796079, 0.478431, 0.854902, 0.215686, 0.286275], [0.835294, 0.690196, 0.639216, 0.227451, 0.372549, 0.294118, 0.0509804, 0.203922, 0.756863, 0.815686, 0.956863, 0.564706], [0.635294, 0.337255, 0.419608, 0.607843, 0.780392, 0.639216, 0.541176, 0.00392157, 0.784314, 0.984314, 0.509804, 0.776471], [0.843137, 0.85098, 0.972549, 0.92549, 0.227451, 0.980392, 0.823529, 0.388235, 0.631373, 0.00784314, 0.701961, 0.14902], [0.580392, 0.282353, 0.713726, 0.596078, 0.239216, 0.968628, 0.388235, 0.109804, 0.360784, 0.576471, 0.745098, 0.615686]], [[0, 0, 1], [0, 1, 0], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 1, 0], [1, 0, 0], [0, 1, 0]], 0),\n",
-       " ([[0.192157, 0.0392157, 0.556863, 0.74902, 0.211765, 0.74902, 0.541176, 0.588235, 0.67451, 0.776471, 0.917647, 0.137255], [0.231373, 0.423529, 0.152941, 0.521569, 0.533333, 0.305882, 0.996078, 0.2, 0.662745, 0.0941177, 0.654902, 0.85098], [0.0, 0.192157, 0.478431, 0.905882, 0.901961, 0.980392, 0.180392, 0.533333, 0.192157, 0.631373, 0.564706, 0.976471], [0.0666667, 0.780392, 0.67451, 0.0901961, 0.894118, 0.839216, 0.431373, 0.254902, 0.454902, 0.960784, 0.784314, 0.929412], [0.286275, 0.388235, 0.0352941, 0.0745098, 0.0862745, 0.545098, 0.890196, 0.360784, 0.309804, 0.733333, 0.984314, 0.317647], [0.960784, 0.839216, 0.0588235, 0.870588, 0.101961, 0.666667, 0.176471, 0.054902, 0.737255, 0.266667, 0.329412, 0.278431], [0.933333, 0.0470588, 0.964706, 0.752941, 0.443137, 0.564706, 0.960784, 0.701961, 0.196078, 0.113725, 0.286275, 0.596078], [0.584314, 0.760784, 0.227451, 0.0313726, 0.32549, 0.694118, 0.639216, 0.294118, 0.929412, 0.498039, 0.027451, 0.505882], [0.878431, 0.0392157, 0.694118, 0.356863, 0.364706, 0.52549, 0.996078, 0.372549, 0.568627, 0.823529, 0.784314, 0.65098]], [[0, 0, 1], [1, 0, 0], [0, 0, 1], [0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 1, 0], [0, 0, 1], [0, 1, 0]], 1),\n",
-       " ([[0.282353, 0.407843, 0.635294, 0.52549, 0.556863, 0.0117647, 0.384314, 0.0862745, 0.772549, 0.92549, 0.729412, 0.176471], [0.145098, 0.678431, 0.517647, 0.0235294, 0.470588, 0.0392157, 0.756863, 0.435294, 0.815686, 0.698039, 0.882353, 0.572549], [0.576471, 0.701961, 0.580392, 0.627451, 0.964706, 0.509804, 0.517647, 0.564706, 0.6, 0.152941, 0.690196, 0.215686], [0.152941, 0.870588, 0.623529, 0.917647, 0.384314, 0.345098, 0.596078, 0.494118, 0.45098, 0.388235, 0.862745, 0.0313726], [0.482353, 0.211765, 0.886275, 0.32549, 0.745098, 0.72549, 0.172549, 0.717647, 0.647059, 0.4, 0.694118, 0.466667], [0.0666667, 0.101961, 0.827451, 0.313726, 0.168627, 0.972549, 0.521569, 0.0431373, 0.227451, 0.376471, 0.929412, 0.717647], [0.764706, 0.866667, 0.486275, 0.913726, 0.517647, 0.113725, 0.247059, 0.937255, 0.72549, 0.0235294, 0.572549, 0.258824], [0.72549, 0.603922, 0.207843, 0.631373, 0.733333, 0.792157, 0.913726, 0.443137, 0.384314, 0.14902, 0.407843, 0.772549], [0.278431, 0.854902, 0.623529, 0.184314, 0.270588, 0.45098, 0.870588, 0.909804, 0.682353, 0.239216, 0.2, 0.733333]], [[0, 0, 1], [1, 0, 0], [0, 1, 0], [1, 0, 0], [1, 0, 0], [0, 1, 0], [0, 1, 0], [0, 1, 0], [0, 0, 1]], 2),\n",
-       " ([[0.168627, 0.858824, 0.027451, 0.972549, 0.458824, 0.556863, 0.407843, 0.494118, 0.721569, 0.784314, 0.219608, 0.4], [0.113725, 0.419608, 0.862745, 0.74902, 0.560784, 0.443137, 0.509804, 0.788235, 0.478431, 0.831373, 0.478431, 0.109804], [0.960784, 0.545098, 0.396078, 0.521569, 0.254902, 0.458824, 0.298039, 0.933333, 0.54902, 0.192157, 0.768628, 0.980392], [0.403922, 0.564706, 0.384314, 0.690196, 0.658824, 0.341176, 0.521569, 0.717647, 0.207843, 0.623529, 0.380392, 0.380392], [0.317647, 0.470588, 0.486275, 0.466667, 0.282353, 0.411765, 0.513726, 0.247059, 0.160784, 0.956863, 0.811765, 0.113725], [0.34902, 0.239216, 0.537255, 0.12549, 0.282353, 0.729412, 0.164706, 0.839216, 0.478431, 0.376471, 0.588235, 0.0156863], [0.768628, 0.345098, 0.00392157, 0.380392, 0.592157, 0.290196, 0.768628, 0.627451, 0.368627, 0.854902, 0.168627, 0.254902], [0.333333, 0.764706, 0.862745, 0.611765, 0.223529, 0.737255, 0.647059, 0.917647, 0.0901961, 0.00784314, 0.439216, 0.0823529], [0.4, 0.0352941, 0.639216, 0.968628, 0.141176, 0.87451, 0.388235, 0.294118, 0.388235, 0.921569, 0.6, 0.384314]], [[1, 0, 0], [0, 1, 0], [0, 0, 1], [1, 0, 0], [0, 0, 1], [1, 0, 0], [0, 1, 0], [0, 0, 1], [0, 1, 0]], 3),\n",
-       " ([[0.658824, 0.827451, 0.835294, 0.462745, 0.764706, 0.752941, 0.811765, 0.901961, 0.113725, 0.215686, 0.964706, 0.0235294], [0.00392157, 0.901961, 0.160784, 0.654902, 0.184314, 0.313726, 0.521569, 0.807843, 0.227451, 0.905882, 0.152941, 0.823529], [0.113725, 0.647059, 0.00392157, 0.396078, 0.486275, 0.0705882, 0.494118, 0.309804, 0.384314, 0.666667, 0.278431, 0.905882], [0.478431, 0.988235, 0.188235, 0.796079, 0.0901961, 0.913726, 0.4, 0.298039, 0.545098, 0.12549, 0.0823529, 0.454902], [0.00392157, 0.231373, 0.941177, 0.6, 0.364706, 0.419608, 0.811765, 0.243137, 0.745098, 0.552941, 0.968628, 0.913726], [0.258824, 0.478431, 0.772549, 0.105882, 0.152941, 0.345098, 0.803922, 0.729412, 0.972549, 0.764706, 0.235294, 0.482353], [0.219608, 0.933333, 0.223529, 0.145098, 0.443137, 0.505882, 1.0, 0.0627451, 0.690196, 0.266667, 0.513726, 0.556863], [0.254902, 0.792157, 0.87451, 0.396078, 0.192157, 0.635294, 0.254902, 0.67451, 0.545098, 0.772549, 0.788235, 0.792157], [0.407843, 0.607843, 0.152941, 0.913726, 0.972549, 0.298039, 0.588235, 0.486275, 0.321569, 0.054902, 0.52549, 0.0745098]], [[0, 1, 0], [0, 0, 1], [1, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 0], [0, 1, 0], [1, 0, 0], [0, 0, 1]], 4),\n",
-       " ([[0.466667, 0.603922, 0.972549, 0.235294, 0.866667, 0.737255, 0.580392, 0.870588, 0.113725, 0.168627, 0.156863, 0.882353], [0.164706, 0.337255, 0.360784, 0.619608, 0.529412, 0.533333, 0.470588, 0.556863, 0.498039, 0.929412, 0.109804, 0.905882], [0.192157, 0.796079, 0.376471, 0.92549, 0.235294, 0.329412, 0.470588, 0.627451, 0.85098, 0.72549, 0.0823529, 0.14902], [0.509804, 0.815686, 0.270588, 0.768628, 0.843137, 0.623529, 0.00784314, 0.376471, 0.74902, 0.290196, 0.101961, 0.909804], [0.607843, 0.309804, 0.956863, 0.0705882, 0.0901961, 0.27451, 0.545098, 0.576471, 0.741176, 0.827451, 0.988235, 0.25098], [0.603922, 0.207843, 0.254902, 0.635294, 0.160784, 0.592157, 0.396078, 0.0156863, 0.196078, 0.619608, 0.752941, 0.843137], [0.831373, 0.635294, 0.0117647, 0.0470588, 0.831373, 0.411765, 0.0784314, 0.466667, 0.372549, 0.223529, 0.337255, 0.764706], [0.501961, 0.278431, 0.635294, 0.215686, 0.45098, 0.0313726, 0.780392, 0.835294, 0.721569, 0.435294, 0.172549, 0.239216]], [[1, 0, 0], [0, 0, 1], [0, 0, 1], [0, 1, 0], [0, 1, 0], [0, 0, 1], [0, 0, 1], [0, 1, 0]], 5)]"
-      ]
-     },
-     "execution_count": 12,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS image_data_packed, image_data_packed_summary;\n",
-    "\n",
-    "SELECT madlib.training_preprocessor_dl('image_data',         -- Source table\n",
-    "                                       'image_data_packed',  -- Output table\n",
-    "                                       'species',            -- Dependent variable\n",
-    "                                       'rgb',                -- Independent variable\n",
-    "                                        10,                   -- Buffer size\n",
-    "                                        255                   -- Normalizing constant\n",
-    "                                        );\n",
-    "\n",
-    "SELECT * FROM image_data_packed ORDER BY buffer_id;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Review the output summary data:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 13,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>source_table</th>\n",
-       "        <th>output_table</th>\n",
-       "        <th>dependent_varname</th>\n",
-       "        <th>independent_varname</th>\n",
-       "        <th>dependent_vartype</th>\n",
-       "        <th>class_values</th>\n",
-       "        <th>buffer_size</th>\n",
-       "        <th>normalizing_const</th>\n",
-       "        <th>num_classes</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>image_data</td>\n",
-       "        <td>image_data_packed</td>\n",
-       "        <td>species</td>\n",
-       "        <td>rgb</td>\n",
-       "        <td>text</td>\n",
-       "        <td>[u'bird', u'cat', u'dog']</td>\n",
-       "        <td>10</td>\n",
-       "        <td>255.0</td>\n",
-       "        <td>3</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'image_data', u'image_data_packed', u'species', u'rgb', u'text', [u'bird', u'cat', u'dog'], 10, Decimal('255.0'), 3)]"
-      ]
-     },
-     "execution_count": 13,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT * FROM image_data_packed_summary;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<a id=\"set_num_classes\"></a>\n",
-    "# 8. Setting number of classes\n",
-    "\n",
-    "If want the 1-hot encoded vector to have more classes than present in the data, use the num_classes param "
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 14,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "2 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>independent_var</th>\n",
-       "        <th>dependent_var</th>\n",
-       "        <th>buffer_id</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[0.258824, 0.478431, 0.772549, 0.105882, 0.152941, 0.345098, 0.803922, 0.729412, 0.972549, 0.764706, 0.235294, 0.482353], [0.482353, 0.211765, 0.886275, 0.32549, 0.745098, 0.72549, 0.172549, 0.717647, 0.647059, 0.4, 0.694118, 0.466667], [0.72549, 0.603922, 0.207843, 0.631373, 0.733333, 0.792157, 0.913726, 0.443137, 0.384314, 0.14902, 0.407843, 0.772549], [0.580392, 0.282353, 0.713726, 0.596078, 0.239216, 0.968628, 0.388235, 0.109804, 0.360784, 0.576471, 0.745098, 0.615686], [0.152941, 0.870588, 0.623529, 0.917647, 0.384314, 0.345098, 0.596078, 0.494118, 0.45098, 0.388235, 0.862745, 0.0313726], [0.835294, 0.690196, 0.639216, 0.227451, 0.372549, 0.294118, 0.0509804, 0.203922, 0.756863, 0.815686, 0.956863, 0.564706], [0.72549, 0.682353, 0.109804, 0.105882, 0.796079, 0.368627, 0.584314, 0.564706, 0.47451, 0.733333, 0.909804, 0.27451], [0.764706, 0.866667, 0.486275, 0.913726, 0.517647, 0.113725, 0.247059, 0.937255, 0.72549, 0.0235294, 0.572549, 0.258824], [0.478431, 0.988235, 0.188235, 0.796079, 0.0901961, 0.913726, 0.4, 0.298039, 0.545098, 0.12549, 0.0823529, 0.454902], [0.145098, 0.678431, 0.517647, 0.0235294, 0.470588, 0.0392157, 0.756863, 0.435294, 0.815686, 0.698039, 0.882353, 0.572549], [0.380392, 0.866667, 0.529412, 0.760784, 0.541176, 0.647059, 0.407843, 0.54902, 0.0352941, 0.894118, 0.619608, 0.533333], [0.843137, 0.85098, 0.972549, 0.92549, 0.227451, 0.980392, 0.823529, 0.388235, 0.631373, 0.00784314, 0.701961, 0.14902], [0.407843, 0.607843, 0.152941, 0.913726, 0.972549, 0.298039, 0.588235, 0.486275, 0.321569, 0.054902, 0.52549, 0.0745098], [0.0666667, 0.101961, 0.827451, 0.313726, 0.168627, 0.972549, 0.521569, 0.0431373, 0.227451, 0.376471, 0.929412, 0.717647], [0.576471, 0.701961, 0.580392, 0.627451, 0.964706, 0.509804, 0.517647, 0.564706, 0.6, 0.152941, 0.690196, 0.215686], [0.635294, 0.337255, 0.419608, 0.607843, 0.780392, 0.639216, 0.541176, 0.00392157, 0.784314, 0.984314, 0.509804, 0.776471], [0.00392157, 0.231373, 0.941177, 0.6, 0.364706, 0.419608, 0.811765, 0.243137, 0.745098, 0.552941, 0.968628, 0.913726], [0.278431, 0.854902, 0.623529, 0.184314, 0.270588, 0.45098, 0.870588, 0.909804, 0.682353, 0.239216, 0.2, 0.733333], [0.00392157, 0.901961, 0.160784, 0.654902, 0.184314, 0.313726, 0.521569, 0.807843, 0.227451, 0.905882, 0.152941, 0.823529], [0.658824, 0.827451, 0.835294, 0.462745, 0.764706, 0.752941, 0.811765, 0.901961, 0.113725, 0.215686, 0.964706, 0.0235294], [0.282353, 0.407843, 0.635294, 0.52549, 0.556863, 0.0117647, 0.384314, 0.0862745, 0.772549, 0.92549, 0.729412, 0.176471], [0.219608, 0.933333, 0.223529, 0.145098, 0.443137, 0.505882, 1.0, 0.0627451, 0.690196, 0.266667, 0.513726, 0.556863], [0.521569, 0.733333, 0.968628, 0.776471, 0.945098, 0.443137, 0.760784, 0.129412, 0.235294, 0.847059, 0.0392157, 0.635294], [0.145098, 0.203922, 0.878431, 0.258824, 0.858824, 0.882353, 0.490196, 0.796079, 0.478431, 0.854902, 0.215686, 0.286275], [0.113725, 0.647059, 0.00392157, 0.396078, 0.486275, 0.0705882, 0.494118, 0.309804, 0.384314, 0.666667, 0.278431, 0.905882], [0.254902, 0.792157, 0.87451, 0.396078, 0.192157, 0.635294, 0.254902, 0.67451, 0.545098, 0.772549, 0.788235, 0.792157]]</td>\n",
-       "        <td>[[0, 1, 0, 0, 0], [1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [0, 1, 0, 0, 0], [1, 0, 0, 0, 0], [1, 0, 0, 0, 0], [0, 0, 1, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [1, 0, 0, 0, 0], [0, 0, 1, 0, 0], [0, 1, 0, 0, 0], [0, 1, 0, 0, 0], [0, 1, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 0, 1, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 1, 0, 0, 0], [0, 1, 0, 0, 0], [0, 1, 0, 0, 0], [1, 0, 0, 0, 0], [1, 0, 0, 0, 0]]</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[0.509804, 0.815686, 0.270588, 0.768628, 0.843137, 0.623529, 0.00784314, 0.376471, 0.74902, 0.290196, 0.101961, 0.909804], [0.831373, 0.635294, 0.0117647, 0.0470588, 0.831373, 0.411765, 0.0784314, 0.466667, 0.372549, 0.223529, 0.337255, 0.764706], [0.192157, 0.0392157, 0.556863, 0.74902, 0.211765, 0.74902, 0.541176, 0.588235, 0.67451, 0.776471, 0.917647, 0.137255], [0.164706, 0.337255, 0.360784, 0.619608, 0.529412, 0.533333, 0.470588, 0.556863, 0.498039, 0.929412, 0.109804, 0.905882], [0.933333, 0.0470588, 0.964706, 0.752941, 0.443137, 0.564706, 0.960784, 0.701961, 0.196078, 0.113725, 0.286275, 0.596078], [0.768628, 0.345098, 0.00392157, 0.380392, 0.592157, 0.290196, 0.768628, 0.627451, 0.368627, 0.854902, 0.168627, 0.254902], [0.584314, 0.760784, 0.227451, 0.0313726, 0.32549, 0.694118, 0.639216, 0.294118, 0.929412, 0.498039, 0.027451, 0.505882], [0.403922, 0.564706, 0.384314, 0.690196, 0.658824, 0.341176, 0.521569, 0.717647, 0.207843, 0.623529, 0.380392, 0.380392], [0.4, 0.0352941, 0.639216, 0.968628, 0.141176, 0.87451, 0.388235, 0.294118, 0.388235, 0.921569, 0.6, 0.384314], [0.603922, 0.207843, 0.254902, 0.635294, 0.160784, 0.592157, 0.396078, 0.0156863, 0.196078, 0.619608, 0.752941, 0.843137], [0.501961, 0.278431, 0.635294, 0.215686, 0.45098, 0.0313726, 0.780392, 0.835294, 0.721569, 0.435294, 0.172549, 0.239216], [0.878431, 0.0392157, 0.694118, 0.356863, 0.364706, 0.52549, 0.996078, 0.372549, 0.568627, 0.823529, 0.784314, 0.65098], [0.286275, 0.388235, 0.0352941, 0.0745098, 0.0862745, 0.545098, 0.890196, 0.360784, 0.309804, 0.733333, 0.984314, 0.317647], [0.960784, 0.839216, 0.0588235, 0.870588, 0.101961, 0.666667, 0.176471, 0.054902, 0.737255, 0.266667, 0.329412, 0.278431], [0.113725, 0.419608, 0.862745, 0.74902, 0.560784, 0.443137, 0.509804, 0.788235, 0.478431, 0.831373, 0.478431, 0.109804], [0.0666667, 0.780392, 0.67451, 0.0901961, 0.894118, 0.839216, 0.431373, 0.254902, 0.454902, 0.960784, 0.784314, 0.929412], [0.960784, 0.545098, 0.396078, 0.521569, 0.254902, 0.458824, 0.298039, 0.933333, 0.54902, 0.192157, 0.768628, 0.980392], [0.231373, 0.423529, 0.152941, 0.521569, 0.533333, 0.305882, 0.996078, 0.2, 0.662745, 0.0941177, 0.654902, 0.85098], [0.0, 0.192157, 0.478431, 0.905882, 0.901961, 0.980392, 0.180392, 0.533333, 0.192157, 0.631373, 0.564706, 0.976471], [0.168627, 0.858824, 0.027451, 0.972549, 0.458824, 0.556863, 0.407843, 0.494118, 0.721569, 0.784314, 0.219608, 0.4], [0.34902, 0.239216, 0.537255, 0.12549, 0.282353, 0.729412, 0.164706, 0.839216, 0.478431, 0.376471, 0.588235, 0.0156863], [0.192157, 0.796079, 0.376471, 0.92549, 0.235294, 0.329412, 0.470588, 0.627451, 0.85098, 0.72549, 0.0823529, 0.14902], [0.607843, 0.309804, 0.956863, 0.0705882, 0.0901961, 0.27451, 0.545098, 0.576471, 0.741176, 0.827451, 0.988235, 0.25098], [0.466667, 0.603922, 0.972549, 0.235294, 0.866667, 0.737255, 0.580392, 0.870588, 0.113725, 0.168627, 0.156863, 0.882353], [0.317647, 0.470588, 0.486275, 0.466667, 0.282353, 0.411765, 0.513726, 0.247059, 0.160784, 0.956863, 0.811765, 0.113725], [0.333333, 0.764706, 0.862745, 0.611765, 0.223529, 0.737255, 0.647059, 0.917647, 0.0901961, 0.00784314, 0.439216, 0.0823529]]</td>\n",
-       "        <td>[[0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 0, 1, 0, 0], [0, 0, 1, 0, 0], [0, 1, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 1, 0, 0, 0], [0, 1, 0, 0, 0], [0, 1, 0, 0, 0], [1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 0, 1, 0, 0], [1, 0, 0, 0, 0], [0, 0, 1, 0, 0], [1, 0, 0, 0, 0], [1, 0, 0, 0, 0], [0, 0, 1, 0, 0], [0, 1, 0, 0, 0], [1, 0, 0, 0, 0], [0, 0, 1, 0, 0], [0, 0, 1, 0, 0]]</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[([[0.258824, 0.478431, 0.772549, 0.105882, 0.152941, 0.345098, 0.803922, 0.729412, 0.972549, 0.764706, 0.235294, 0.482353], [0.482353, 0.211765, 0.886275, 0.32549, 0.745098, 0.72549, 0.172549, 0.717647, 0.647059, 0.4, 0.694118, 0.466667], [0.72549, 0.603922, 0.207843, 0.631373, 0.733333, 0.792157, 0.913726, 0.443137, 0.384314, 0.14902, 0.407843, 0.772549], [0.580392, 0.282353, 0.713726, 0.596078, 0.239216, 0.968628, 0.388235, 0.109804, 0.360784, 0.576471, 0.745098, 0.615686], [0.152941, 0.870588, 0.623529, 0.917647, 0.384314, 0.345098, 0.596078, 0.494118, 0.45098, 0.388235, 0.862745, 0.0313726], [0.835294, 0.690196, 0.639216, 0.227451, 0.372549, 0.294118, 0.0509804, 0.203922, 0.756863, 0.815686, 0.956863, 0.564706], [0.72549, 0.682353, 0.109804, 0.105882, 0.796079, 0.368627, 0.584314, 0.564706, 0.47451, 0.733333, 0.909804, 0.27451], [0.764706, 0.866667, 0.486275, 0.913726, 0.517647, 0.113725, 0.247059, 0.937255, 0.72549, 0.0235294, 0.572549, 0.258824], [0.478431, 0.988235, 0.188235, 0.796079, 0.0901961, 0.913726, 0.4, 0.298039, 0.545098, 0.12549, 0.0823529, 0.454902], [0.145098, 0.678431, 0.517647, 0.0235294, 0.470588, 0.0392157, 0.756863, 0.435294, 0.815686, 0.698039, 0.882353, 0.572549], [0.380392, 0.866667, 0.529412, 0.760784, 0.541176, 0.647059, 0.407843, 0.54902, 0.0352941, 0.894118, 0.619608, 0.533333], [0.843137, 0.85098, 0.972549, 0.92549, 0.227451, 0.980392, 0.823529, 0.388235, 0.631373, 0.00784314, 0.701961, 0.14902], [0.407843, 0.607843, 0.152941, 0.913726, 0.972549, 0.298039, 0.588235, 0.486275, 0.321569, 0.054902, 0.52549, 0.0745098], [0.0666667, 0.101961, 0.827451, 0.313726, 0.168627, 0.972549, 0.521569, 0.0431373, 0.227451, 0.376471, 0.929412, 0.717647], [0.576471, 0.701961, 0.580392, 0.627451, 0.964706, 0.509804, 0.517647, 0.564706, 0.6, 0.152941, 0.690196, 0.215686], [0.635294, 0.337255, 0.419608, 0.607843, 0.780392, 0.639216, 0.541176, 0.00392157, 0.784314, 0.984314, 0.509804, 0.776471], [0.00392157, 0.231373, 0.941177, 0.6, 0.364706, 0.419608, 0.811765, 0.243137, 0.745098, 0.552941, 0.968628, 0.913726], [0.278431, 0.854902, 0.623529, 0.184314, 0.270588, 0.45098, 0.870588, 0.909804, 0.682353, 0.239216, 0.2, 0.733333], [0.00392157, 0.901961, 0.160784, 0.654902, 0.184314, 0.313726, 0.521569, 0.807843, 0.227451, 0.905882, 0.152941, 0.823529], [0.658824, 0.827451, 0.835294, 0.462745, 0.764706, 0.752941, 0.811765, 0.901961, 0.113725, 0.215686, 0.964706, 0.0235294], [0.282353, 0.407843, 0.635294, 0.52549, 0.556863, 0.0117647, 0.384314, 0.0862745, 0.772549, 0.92549, 0.729412, 0.176471], [0.219608, 0.933333, 0.223529, 0.145098, 0.443137, 0.505882, 1.0, 0.0627451, 0.690196, 0.266667, 0.513726, 0.556863], [0.521569, 0.733333, 0.968628, 0.776471, 0.945098, 0.443137, 0.760784, 0.129412, 0.235294, 0.847059, 0.0392157, 0.635294], [0.145098, 0.203922, 0.878431, 0.258824, 0.858824, 0.882353, 0.490196, 0.796079, 0.478431, 0.854902, 0.215686, 0.286275], [0.113725, 0.647059, 0.00392157, 0.396078, 0.486275, 0.0705882, 0.494118, 0.309804, 0.384314, 0.666667, 0.278431, 0.905882], [0.254902, 0.792157, 0.87451, 0.396078, 0.192157, 0.635294, 0.254902, 0.67451, 0.545098, 0.772549, 0.788235, 0.792157]], [[0, 1, 0, 0, 0], [1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [0, 1, 0, 0, 0], [1, 0, 0, 0, 0], [1, 0, 0, 0, 0], [0, 0, 1, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [1, 0, 0, 0, 0], [0, 0, 1, 0, 0], [0, 1, 0, 0, 0], [0, 1, 0, 0, 0], [0, 1, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 0, 1, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 1, 0, 0, 0], [0, 1, 0, 0, 0], [0, 1, 0, 0, 0], [1, 0, 0, 0, 0], [1, 0, 0, 0, 0]], 0),\n",
-       " ([[0.509804, 0.815686, 0.270588, 0.768628, 0.843137, 0.623529, 0.00784314, 0.376471, 0.74902, 0.290196, 0.101961, 0.909804], [0.831373, 0.635294, 0.0117647, 0.0470588, 0.831373, 0.411765, 0.0784314, 0.466667, 0.372549, 0.223529, 0.337255, 0.764706], [0.192157, 0.0392157, 0.556863, 0.74902, 0.211765, 0.74902, 0.541176, 0.588235, 0.67451, 0.776471, 0.917647, 0.137255], [0.164706, 0.337255, 0.360784, 0.619608, 0.529412, 0.533333, 0.470588, 0.556863, 0.498039, 0.929412, 0.109804, 0.905882], [0.933333, 0.0470588, 0.964706, 0.752941, 0.443137, 0.564706, 0.960784, 0.701961, 0.196078, 0.113725, 0.286275, 0.596078], [0.768628, 0.345098, 0.00392157, 0.380392, 0.592157, 0.290196, 0.768628, 0.627451, 0.368627, 0.854902, 0.168627, 0.254902], [0.584314, 0.760784, 0.227451, 0.0313726, 0.32549, 0.694118, 0.639216, 0.294118, 0.929412, 0.498039, 0.027451, 0.505882], [0.403922, 0.564706, 0.384314, 0.690196, 0.658824, 0.341176, 0.521569, 0.717647, 0.207843, 0.623529, 0.380392, 0.380392], [0.4, 0.0352941, 0.639216, 0.968628, 0.141176, 0.87451, 0.388235, 0.294118, 0.388235, 0.921569, 0.6, 0.384314], [0.603922, 0.207843, 0.254902, 0.635294, 0.160784, 0.592157, 0.396078, 0.0156863, 0.196078, 0.619608, 0.752941, 0.843137], [0.501961, 0.278431, 0.635294, 0.215686, 0.45098, 0.0313726, 0.780392, 0.835294, 0.721569, 0.435294, 0.172549, 0.239216], [0.878431, 0.0392157, 0.694118, 0.356863, 0.364706, 0.52549, 0.996078, 0.372549, 0.568627, 0.823529, 0.784314, 0.65098], [0.286275, 0.388235, 0.0352941, 0.0745098, 0.0862745, 0.545098, 0.890196, 0.360784, 0.309804, 0.733333, 0.984314, 0.317647], [0.960784, 0.839216, 0.0588235, 0.870588, 0.101961, 0.666667, 0.176471, 0.054902, 0.737255, 0.266667, 0.329412, 0.278431], [0.113725, 0.419608, 0.862745, 0.74902, 0.560784, 0.443137, 0.509804, 0.788235, 0.478431, 0.831373, 0.478431, 0.109804], [0.0666667, 0.780392, 0.67451, 0.0901961, 0.894118, 0.839216, 0.431373, 0.254902, 0.454902, 0.960784, 0.784314, 0.929412], [0.960784, 0.545098, 0.396078, 0.521569, 0.254902, 0.458824, 0.298039, 0.933333, 0.54902, 0.192157, 0.768628, 0.980392], [0.231373, 0.423529, 0.152941, 0.521569, 0.533333, 0.305882, 0.996078, 0.2, 0.662745, 0.0941177, 0.654902, 0.85098], [0.0, 0.192157, 0.478431, 0.905882, 0.901961, 0.980392, 0.180392, 0.533333, 0.192157, 0.631373, 0.564706, 0.976471], [0.168627, 0.858824, 0.027451, 0.972549, 0.458824, 0.556863, 0.407843, 0.494118, 0.721569, 0.784314, 0.219608, 0.4], [0.34902, 0.239216, 0.537255, 0.12549, 0.282353, 0.729412, 0.164706, 0.839216, 0.478431, 0.376471, 0.588235, 0.0156863], [0.192157, 0.796079, 0.376471, 0.92549, 0.235294, 0.329412, 0.470588, 0.627451, 0.85098, 0.72549, 0.0823529, 0.14902], [0.607843, 0.309804, 0.956863, 0.0705882, 0.0901961, 0.27451, 0.545098, 0.576471, 0.741176, 0.827451, 0.988235, 0.25098], [0.466667, 0.603922, 0.972549, 0.235294, 0.866667, 0.737255, 0.580392, 0.870588, 0.113725, 0.168627, 0.156863, 0.882353], [0.317647, 0.470588, 0.486275, 0.466667, 0.282353, 0.411765, 0.513726, 0.247059, 0.160784, 0.956863, 0.811765, 0.113725], [0.333333, 0.764706, 0.862745, 0.611765, 0.223529, 0.737255, 0.647059, 0.917647, 0.0901961, 0.00784314, 0.439216, 0.0823529]], [[0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 0, 1, 0, 0], [0, 0, 1, 0, 0], [0, 1, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 1, 0, 0, 0], [0, 1, 0, 0, 0], [0, 1, 0, 0, 0], [1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 0, 1, 0, 0], [1, 0, 0, 0, 0], [0, 0, 1, 0, 0], [1, 0, 0, 0, 0], [1, 0, 0, 0, 0], [0, 0, 1, 0, 0], [0, 1, 0, 0, 0], [1, 0, 0, 0, 0], [0, 0, 1, 0, 0], [0, 0, 1, 0, 0]], 1)]"
-      ]
-     },
-     "execution_count": 14,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS image_data_packed, image_data_packed_summary;\n",
-    "\n",
-    "SELECT madlib.training_preprocessor_dl('image_data',         -- Source table\n",
-    "                                        'image_data_packed',  -- Output table\n",
-    "                                        'species',            -- Dependent variable\n",
-    "                                        'rgb',                -- Independent variable\n",
-    "                                        NULL,                 -- Buffer size\n",
-    "                                        255,                  -- Normalizing constant\n",
-    "                                        5                     -- Number of desired class values\n",
-    "                                        );\n",
-    "\n",
-    "SELECT * FROM image_data_packed ORDER BY buffer_id;"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 16,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>source_table</th>\n",
-       "        <th>output_table</th>\n",
-       "        <th>dependent_varname</th>\n",
-       "        <th>independent_varname</th>\n",
-       "        <th>dependent_vartype</th>\n",
-       "        <th>class_values</th>\n",
-       "        <th>buffer_size</th>\n",
-       "        <th>normalizing_const</th>\n",
-       "        <th>num_classes</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>image_data</td>\n",
-       "        <td>image_data_packed</td>\n",
-       "        <td>species</td>\n",
-       "        <td>rgb</td>\n",
-       "        <td>text</td>\n",
-       "        <td>[u'bird', u'cat', u'dog', None, None]</td>\n",
-       "        <td>26</td>\n",
-       "        <td>255.0</td>\n",
-       "        <td>5</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'image_data', u'image_data_packed', u'species', u'rgb', u'text', [u'bird', u'cat', u'dog', None, None], 26, Decimal('255.0'), 5)]"
-      ]
-     },
-     "execution_count": 16,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT * FROM image_data_packed_summary;"
-   ]
-  }
- ],
- "metadata": {
-  "kernelspec": {
-   "display_name": "Python 2",
-   "language": "python",
-   "name": "python2"
-  },
-  "language_info": {
-   "codemirror_mode": {
-    "name": "ipython",
-    "version": 2
-   },
-   "file_extension": ".py",
-   "mimetype": "text/x-python",
-   "name": "python",
-   "nbconvert_exporter": "python",
-   "pygments_lexer": "ipython2",
-   "version": "2.7.12"
-  }
- },
- "nbformat": 4,
- "nbformat_minor": 1
-}
diff --git a/community-artifacts/Deep-learning/automl/hyperband-diag-cifar10-v1.ipynb b/community-artifacts/Deep-learning/automl/hyperband-diag-cifar10-v1.ipynb
new file mode 100644
index 0000000..9f1a558
--- /dev/null
+++ b/community-artifacts/Deep-learning/automl/hyperband-diag-cifar10-v1.ipynb
@@ -0,0 +1,5094 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Hyperband diagonal using CIFAR-10\n",
+    "\n",
+    "Implemention of Hyperband https://arxiv.org/pdf/1603.06560.pdf for MPP with a synchronous barrier. Uses the Hyperband schedule but runs it on a diagonal across brackets, instead of one bracket at a time, to be more efficient with cluster resources. \n",
+    "\n",
+    "This is an initial implementation to show functionality; there is still work to do to improve usability.\n",
+    "\n",
+    "\n",
+    "## Table of contents \n",
+    "\n",
+    "<a href=\"#setup\">0. Setup</a>\n",
+    "\n",
+    "<a href=\"#load_dataset\">1. Load dataset into table</a>\n",
+    "\n",
+    "<a href=\"#distr\">2. Setup distribution rules and call preprocessor</a>\n",
+    "\n",
+    "<a href=\"#arch\">3. Define and load model architectures</a>\n",
+    "\n",
+    "<a href=\"#hyperband\">4. Hyperband diagonal</a>\n",
+    "\n",
+    "<a href=\"#plot\">5. Plot results</a>\n",
+    "\n",
+    "<a href=\"#print\">6. Pretty print schedules</a>\n",
+    "\n",
+    "<a href=\"#predict\">7. Inference</a>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "The CIFAR-10 dataset consists of 60,000 32x32 colour images in 10 classes, with 6,000 images per class. There are 50,000 training images and 10,000 test images.\n",
+    "https://www.cs.toronto.edu/~kriz/cifar.html"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/jpeg": "/9j/4AAQSkZJRgABAQAAkACQAAD/4QB0RXhpZgAATU0AKgAAAAgABAEaAAUAAAABAAAAPgEbAAUAAAABAAAARgEoAAMAAAABAAIAAIdpAAQAAAABAAAATgAAAAAAAACQAAAAAQAAAJAAAAABAAKgAgAEAAAAAQAAA7igAwAEAAAAAQAAAuIAAAAA/+0AOFBob3Rvc2hvcCAzLjAAOEJJTQQEAAAAAAAAOEJJTQQlAAAAAAAQ1B2M2Y8AsgTpgAmY7PhCfv/AABEIAuIDuAMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2wBDAAICAgICAgMCAgMEAwMDBAUEBAQEBQcFBQUFBQcIBwcHBwcHCAgICAgICAgKCgoKCgoLCwsLCw0NDQ0NDQ0NDQ3/2wBDAQICAgMDAwYDAwYNCQcJDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ3/3QAEADz/2gAMAwEAAhEDEQA/AP38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKx7rxDoFlcNaXmpWcE6Y3RSzxo65AIypYEZBB+lbFfKXxGjQ+OtRY4yfI6/9cI69vIsrhj68qVSTSSvp6pfqefmWMlhqanFX1t+Z9IjxP4aPTVrE/8AbzH/APFUv/CS+HP+grZf+BEf/wAVXyQiKBxipgo9K+mfB1D/AJ+P7keL/b9X+RH1l/wkvh3/AKCtl/4ER/8AxVJ/wkvhz/oK2X/gRH/8VXydjnpTto9BU/6nUf8An4/uQf6wVf5EfWH/AAkvh3/oK2X/AIER/wDxVH/CS+Hf+grZf+BEf/xVfJ4HsKUgdlFH+p1H/n4/uQv9Yav8i/E+rj4m8NjrqtiP+3mP/wCKrUtrq1vYFubOaOeF87ZImDo2Dg4YEg4Ix9a+OHjDDoK+mPh0Nvg3Tx/13/8AR0leTnWQU8Dh1WhNtt2/Bv8AQ9DLc0niarhKNtL/AJC6t8SvhzoGoy6PrvirRNOv4Nvm2t3qNvBPHvUOu6N5FZdysGGRyCD0NZ4+L/wlY4Xxt4dJ9tWtP/jtfkp+12xi/aF8UOvJb+zv00+2rxDTbC4vIJLuHkR43Ada7sJwxhqmHhXq1WrpPp1Ma2b1o1ZU4QTs2fu8vxa+FbnCeM/D7H21S1P/ALUq1/ws34bkgf8ACV6Hz0/4mNtz/wCRK/Di18rfFKh4H3vau0i1KK7g8qMgSRjhhXVLg2itVUdvRELO6vWKP2Qf4ofDONtr+LdCU+h1K2B/9GUv/Cz/AIaY3f8ACW6Fj1/tK2/+OV+MjSQ36Ft+JR79arCW4ji8sjK+tax4Jw7/AOXr+5Gbz6qvsI/aI/FH4ZL97xdoQ+upW3/xygfFL4ZHp4u0H/wZ23/xyvxfeWF0BDE+3eqMkoRsq3Fbx4EoP/l6/uRD4hqr7CP3a0zVNM1qyj1PRruC/s5t3l3FtKs0T7WKttdCVOGBBweCCK43W/i18KvDWqz6F4j8Z+H9K1K22efZ3uqWtvcReYodN8Ukiuu5GDDIGVII4Irhf2YX8z4G+Gn65+3/APpbcV+RP7ZGmvqH7U3jOFOrnSsH/uGWlfH0sojPFYihzO1JTfryux7NXHOFKlUt8bivvR+0v/C6fg55Qn/4Tvwz5Z6P/bFnt/PzcVAfjn8ExwfiD4WH/casv/j1fzr6jZXmlsunvKxUfw54qg0A6969XgXhrD8RZf8AXVUcWnZpWOLijNquUYlYdwTurps/o3/4Xn8Ev+ig+Ff/AAdWX/x6l/4Xl8E/+ig+Fv8AwdWX/wAdr+cmKD5uRT3hVcnHFfYS8McOv+X0vuR83HjWq/8Al2vvZ/RmPjl8FD0+IHhY/wDcasv/AI9Th8b/AILHp4/8L/8Ag5s//jtfzkxoGHy1YClOlXh/C/D1Hb20vuRnU44qx/5dr72f0Wn44fBUdfH/AIX/APBzZf8Ax2u90XXNF8SabDrXh7ULXVNPuN3k3dlMlxBJsYo2ySMsrbWUqcE4II6iv5nIbCe4jaVUJA9q/dv9jeN4v2b/AAhG4ww/tPIP/YRuq+f4w4Jo5NhY4inVcm5KNml2b/Q9nh/iaeY4iVGULWV/xS/U9l1f4mfDfw9qMuj6/wCK9E02/g2+ba3mo20E8e9Q67o5JFZdysGGRyCD0NZ4+MfwiPTxx4bP/cWtP/jtflN+1lZCX9oDxTJjr/Z3/pBbCvBRprQqpdCobpmpwfB+Dq4enWq1nFySdtOqueRiuM8XDE1aFKgpKDkr69GfuoPjB8JD08b+HP8AwbWn/wAdp3/C3/hN/wBDr4d/8Gtp/wDHa/DFLEelTiyx/DXf/qBhutZ/cjzV4hYp6+xj97P3H/4W98J/+h18O/8Ag1tP/jtL/wALd+E56eNfDv8A4NbX/wCO1+Hi2JI6cVMmnO3CKT9KT4Dwiu5Vn9yGvEDFuyjQTfqz9vf+Fu/Cf/odfDv/AINbX/47Sf8AC3/hMOvjXw7/AODW0/8Ajtfh1dQrawPPIMBBzWTpM39qQtMq4UHiuSXB+AVeOHVd3avsjrhxrjnQliJUEop23Z/QdpOsaTr+nxatoV7bajYz7vKubSVJ4ZNjFG2yIWVtrKVODwQR1FTyXtlC5jmuIkYdVZ1BGfYmvBv2V4/K+A3hhPT+0P1vrivTb+1S61uRWHHy5/75FfEYnCQpYqpQT0i2r+jsfc0cbOeFpYi2s0nb1VzrPt9iRkXEWPXev+NR/wBp6b/z9wf9/F/xqn9htlQRiMEY9K47VLBbSf5V4asqNKnOXLc1r4ipTjzWO+/tLTv+fqH/AL+L/jR/aWnf8/UP/fxf8a8uAGcbadtGeldX1CH8xx/2pK9uU9P/ALS07/n6h/7+L/jR/aWnf8/UP/fxf8a8y2L6VG6jPSj6jDpIHmcukT1D+09NHW7g/wC/i/41bilimQSQusiHoykEHHHUV5CYga9H8PDGj24/3/8A0NqwxOFVOPMmbYPHSrVHCStoUdR8b+C9HvJNO1fX9LsbuLb5kFzewxSpuAYbkdwwypBGRyCDVL/hZXw5/wChq0T/AMGNv/8AHK/PT9or/ksWv/8Abl/6RwV4lj3NZRopq51yrNOx+vH/AAsr4c/9DVon/gxt/wD45R/wsr4c/wDQ1aJ/4Mbf/wCOV+Q+Pc0h4FP2C7gqx+vP/Cyvhz/0NWif+DG3/wDjlH/Cyvhz/wBDVon/AIMbf/45X5C5NGTR7Bdxe3fY/Xr/AIWV8Of+hq0T/wAGNv8A/HKP+FlfDn/oatE/8GNv/wDHK/IXJoyaPYLuHt32P2i07U9O1izj1HSbqC9tJt3lz20iyxPtJU7XQlThgQcHggiuI1z4vfCbwxqs+g+JfGvh3SdTtdnn2V9qtrbXMXmIHTfFJKrruRlYZHKkEcGuX/Z1/wCSN+H/APt9/wDSyevxJ/bluraL9qvxwsh+Yf2Tkf8AcLs6mlSjKbjJ2LqVeWCkfuWPjx8Dm+78RPCh+mt2X/x6pB8c/gmenxB8LH/uNWX/AMer+Zi1vrLru/Wujt7+wI+9+tdf1Kn/ADHM8Y+x/SP/AMLv+C56eP8Awv8A+Dmz/wDjtOHxs+DLHC+PfDBPtrNn/wDHa/nOivLA4G+rkE9o8oUMcEHkVSwNNu3ML66+x/RGfjf8Fh18f+Fx/wBxmz/+O03/AIXl8E/+ig+Fv/B1Zf8Ax6v5xLm9t4m2Bi3J5rMmvLcjO7BqHhKXNyqRosRPl57L7z+kk/Hn4Gr974ieEx9dbsv/AI9XoGha/oXijSoNd8M6laavptzv8i8sZ0ubeXy2KPsljZkba6spwThgQeRX8q13LHg7W5Nf0EfsKMW/ZW8EE/8AUW/9Ol5WOIw8IR5ou5rTqylLlkrH0JqvxI+HehahNpOueKdF06+t9vnW13qFvBNHvUOu+N5Ay7lYMMjkEHoayf8Ahc/we3+X/wAJ14a3f3f7XtM/l5tfk3+1+jp8efFk9tJiTOm71J/6cLbGPwr5a1TT7uLy7pG2mbGfavzXEcYV4Ymph4017smt30djc/oLX4yfCFmKr448NkjqBq9oT/6NpE+M3wflYrH458NOV6hdXtCR9cS1+B1mi2ZEFyR50o4PeqelWv2XU52LF1k/Til/rhiOVy9mtH3ZKld2P3+/4XJ8Ic4/4Tjw3n/sL2n/AMdpw+MPwjZgg8b+HCx6AataZ/Lza/nR1XxXbeGtbSx1fKQzN8kjdPzNekJcQ3KW+p6fia3ccunOM+taVOKsXGl7VUlb5gpa2P3ok+L3wnhj86Xxr4dSP++2q2oX8zLio4vjJ8IZ2Cw+OfDchPZdXtCf0lr+f/XNXv7PztOni3wkAqQM4zzXNeGY7671Jrl3eGKE854GGrCjxpXqRb9ktPNlH9Lekazo/iDTotX0C+ttSsJ93lXVnMk8EmxijbZIyyttZSpweCCOoqne+KvDGm3L2Wo6xYWtxHjfFPcxRyLuAIyrMCMggj2NeL/sqRxRfAPwvHCQyD+0MEe99cE/rXyR+0RPqKfGHX1gmdUH2PAB4/484M/rX6lwzgv7VUeZ8t4KX320/E87M8c8JSVRRvd2/P8AyP0U/wCE58Ff9DBpf/gbD/8AF0f8Jz4J/wChg0v/AMDYf/i6/IQTaqRk3En5mgzaoOftEn519f8A6lx/5+nz74pn/wA+j9e/+E58E/8AQwaV/wCBsP8A8XSf8J34I/6GHSv/AANg/wDi6/HmW51YHi4k/wC+jVGe81dQcXMmfrR/qXH/AJ+h/rVLrTP2SPj3wKOviLSR/wBv0H/xdJ/wn/gT/oY9I/8AA6D/AOLr8V5bzWCfmupR/wACrNuNR1hFIW6lP/AqceCov/l6Z/62v/n2ftw3xC8Ar97xLo4+t/AP/Z66LT9R0/VrOPUNKuob21lz5c9vIssT7SVO10JU4YEHB4IIr+f+71PXZOPtco/4Ea/YX9lB55PgD4We5dpJD/aO5mOSf9PucfpXlZ5w5HAYdV1O93b8G/0PSynPXja7ouFrK/4pfqe43XiHQLCdrW+1Kzt5kxujlnjRxkAjKswIyCD9Krf8JZ4V/wCgzp//AIFRf/FV8y/FL/kd9R/7Yf8AomOuV07QtQ1ON5LWIuqDJIFfKXPhsZ4i42nj6uDpYdS5ZSSs3f3W1+h9hnxX4UYYbWNPI97qL/4ql/4Szwr/ANBnT/8AwKi/+Kr4mkjaKQxyDDKeaZgUrnnPxUxSdvYR+9n25/wlvhX/AKDOn/8AgVF/8VR/wlvhX/oM6f8A+BUX/wAVXxHgUYFHML/iKuK/58R+9n25/wAJb4V/6DOn/wDgVF/8VUo8S+HGTzV1WyKD+IXEePz3V8h+F9DXXb/7IzhM9MmvedM8DW2n6RNZ3SLKWXg4ya0jG6ufV5BxTmuaU3VhQio69Xuj1a1u7W+gW6spo7iF87ZImDo2Dg4Zcg4Ix9asVyXga1Nl4Xs7Yjbsafg+8zn+tdbUn3GArzrYanWqK0pRTa7Nq7QUUUUHWf/Q/fyiiq15eWen2st9fzx21vCpeWaZxHGijqWZiAAPUmgCzRXlHh748/A3xdrDeHvCnxE8J61qqMUax07W7G6ugwOCpiimZwQRjGOteZftmW/xguv2evEUHwH1L+yPGrT6b/Z939ut9O8tPtsHn/6RdPHCoMG8YZst90AkgEA+pKK+Pf2LX+MOi/s+W0/7SGuR6h4pt9Q1F7zUJtTtb+NbYS/ud1zbSSQBVTtuBXuAa+jtU+JHw70PQLnxXrXinRdP0SzcR3OpXWoW8NnC7AELJO8gjRiCMAsDzQB2lFcy/jXwbHFZzSa9pix6hBFdWjteQhbiCb/VyxHfh0f+FlyG7Gue1b4x/CLQPFEPgfXfHHhvTfEdyVEOj3erWkGoSF87Qls8qytnBxheaAPR6K8K/af8Ta94L/Zy+Jvi7wteSadrGjeFNYv7C7iwXgube1kkjkXcCMqwBGQRXwv/AMEn/jn8Wfjr8NPHGufFvxLd+Jb7TtdgtbSa6EamKFrZXKqI0QYLHJyKAP1dorzXxl8Z/g98ObpLL4heOvDXhi4k5SHWdXs9PkbIzwtxLGTxzxXa6Jr2h+JdOi1jw5qNpqthOMxXVlOlxBIP9mSMsrfgaANWisVfEfh59SOjJqlk2oKSptBcRmcFV3EGPduyFGTx05rjNE+NXwb8S+JZPBfhzx54Z1XxDCWEmk2WsWdxfoU+8Gt45WlG3POV4oA9NooJxya8hi/aB+A0/iX/AIQyD4keEZPEAlMH9lLrlib7zRyY/IE3mbwP4dufagD16iiigAooooAKKKKACiiigAooooAK+G/jf8UR4e8a6vosWnrLNbC3xKUyW328b8n23Yr7kr86vjr4z8E2Hxb1jRtVgmkvIxa+aUAI+a1hZcf8BIr08qnONZyg7O3+Rz4lRcLTV0L8N/Gd14vsJJdQhWCeM/dUY716X9BXifgjxP4VtVlMEM1s0pG3zQBmvSLnxJpulkLqMhXfyuD2r9Gy/HXpqNV+8fJ4zD2qN01odNg04AVyK+N/DLfduD+YrX03XNL1WYW9hIZJG6DOa9B4mn3OF0Z9jXPHSvCvjL45vvDUFlp+isBeXMgB56DI9PavZbrVLK0aSOeQK8YJYE4r8/vG+s634o+MljFbjfZCXjqQAKzq4qMIe03Wm3ma4fCSq1PZ3s9d/I++dDknm0i1kujmV41LfUivqr4fDHhCw/7bf+jnr5isUVbSFVIIEajj6Cvp/wAAf8ilYf8Abb/0a9fPcWu+Ch/iX5M9LI42xEvT9Ufjp+1zcSW37R/iySQZj/4lu3PT/kHW39a8Q8K679gvjIxzExwyHoQfavY/2yIL6f8AaH8WtCNyR/2bwOvOn2tfMUDugCkFXJ716WXOM8FThLVcq/IxxN44iUl3Z7xrGnIkH9qaQQ9vNy6Dqv4dq5mzuZI9wgJLScADr71f8M6idDaN7tjcQXXyyR/eC9uldL4g8MSafZSato6+ZFOMxsOdhPXGOlcdLNK+FpulWV+3nbodU8LCpJTpv1OPkmuLJ+cgnrWxpmvKZBDcAbWzyazfDXh3VH0t31uYJFGS3nzH1OcZqrq5so7eOW1kVwcgMnQ4r38tzijjacY7Te67Hn4vBToTfVGtLMVumjg+b6d6kYCaIhcrKOqmuHh1eSFxIh+YVrw6g18S4cJKPfGa9y7icLpxZ+y/7K+R8BvDAYYP/Ew/9Lrivy//AGqoFP7VPiuU9zpmf/Bbaiv08/ZTkkm+AfheSUYY/wBoZ/C/uRX5lftaMkP7Sfi6dzhV/s3J9P8AiXWtfAcO4dYjOMdSlu4Vfv5kevndT2WCw0+ilD8mfNfj+3ji1WJ0dTuHr7VyogYHFYXi62uLy9GoWd1LJGSMDdkDFdXpUXmW6b23MBzXmeBWIlgMXXyys9Jar5Ho+KlKGIw9PGU1tb8SusYHFMlt2YYxwa3Psw8zgVK8KbsGv6OxEF8R+MUGzDS2Kx4qRIWdsY6V0+y2MOAMEDmp/D+lNrV8sFmPMyedvOKeDaSb29RzpqTSWp7X8J/DOh67YNDfMiFMZLYFfr58DbCw0z4W6JY6YQbaL7UE29ObqYn/AMeJr8gdC8JanpM8zLP9nhwvJOOtfrX+zrA1t8HPD8LSeaV+2/PnOc3k56/jX454l1uaCipXXMnb5M/QeDKThN3jbR6/NH56/tQWRm+OniRwOv2D9LK3ryiOwOo2i2jKBJH9096+lP2hdK+0/GLXp8fe+x/pZwCvC9Ht5pNUls9pVoSMMehzXzuZYilPK6UG2pKMbetkLKaNalnFacPhcpcyfZtnJJpE0chgnQqw9R1rQTRjxxXtkml2GoaaGjGZ1HJ71z0ViA3lOhVl/vcV25DxM6tJUa799HJn/C0adV18PG0H07Hnq6MfSr1tp4tXE7AYHXNeo2Xhu71BglvCQn8UrD5B+NP1z/hD/DFqY7mY6lesMCK3IcA/SqzHiihCMqb96/QzyzhXEVJxqpcturPnPxxanUbVotCjaR34cAZH6VW8IeG7ux0pYbyMpLzkEete2+H9Nvb+6/tG4s0tbfOVj27WI9xXX6zosF0n2u1TYyj5kx1r5nLMZXw+Jji6t2novJM+rzXL6OMw0sDh2lJWb82j7l/Zsh+z/BXw5F/d+3frezmvRbpwmtSZ4zt/9BFcb8A0Efwm0JAMY+2cf9vc1dNrOV1KRx/s/wDoIrzq8lUxlaS2bl+Z304ujgqMZbpRX3I6yJlJHOQawfEKDCH61JY30QUGRuRWbqtyLqX5T8orChTcayZtXrRlRMPZ3FPCknBqcKOlO2CvSdmeQ49isY+aaVFW2UAetRlM+1CRBTKmvQ9B40mD/gf/AKGa4Ir3zXfaH/yC4P8Agf8A6Ea5cd/DXqd+WL98/T/I/NP9ov8A5LHr/wD25f8ApHBXiLs3G2vbP2jDj4x6/wD9uX/pHBXiO7iueHwo75/EyUEU0nnrWZJq2nxNtknQH0zViKeK4+eFg6+qnNUSWsikyKiZgvXikDZGRQBLupMmot9G+gD9S/2c/wDkjXh7/t9/9LJ6/Cv9vJc/ta+O/wDuEf8Apqs6/dL9nHn4M+Hv+33/ANLJ6/F/9tyxim/ao8bSNGGJ/snkj00u0rnp0nUqNI2r/wANXPiq1iXAxW5bx+gNdfZaXDx+5T8q6m10qIDPkp+VdawMzi5kefww5x8rfhXXaFa27s7TJKEjHUD1rroNOjH/ACxjH4VbulFhp8syqihiBx9a6MPgp+0RDkoq7PKbuG3MrGOKUrk9RzXPXMVwSQkL49xXscsMAQElBkZrn7v7MucyoPxrGWEd9WUpLoeNXkF9nIjcfhX9Ev7BokX9lDwMJchv+JvnPX/kK3lfgpey2S5/fr+dfvt+w4yP+y34KaNgyn+1sEf9hS7rlxFBQjdM68PPmm2z86P22xOvx28TGzLLKzabnHfFjbV59Jo0d54etZzuNyoBK9q+k/2mvDcOt/HvxNJKdpjFgRnpxY29eQWctpb2wgfDSA4wPavxqrlmMxOPrRw1Nv35a/NnRUrU4P33Y8M+IBl0V9O1JyEjkyD26cVseD7C41S4lmhw0QALk/Srvxk0Gfxb4f8AsthE8c1sVKqBgjkE11vgCx/sXwrFJMjCWdNrZ65Xivtsp4Gm4OGM0bPLxGPULyhrY+dvjb4TbxPpws4FZJISQkqjBzn1p37L2q3Gg6rqfgDxgWlKBDb+byTxk4zXotzqgufEtzosyrtUgpu78ZqtpfhRrrxxbeIFTy54SQxXgMCMfyr67DcH0KWG+qy95M5I5vLmuz0rV9Gg1rU3S0gZw33FQZJxXMaj4buoLK8js4WSVV+ZSMEY6V7/AGNhHYXEepefDB5anG44JyOa8m8c/ECx026+y6WBLd3hIZm5U4+ledjcn4dy2l71ufsa0pYqpO8Xofqd+xIL0fsx+DhqBJuA2rBt3XjVLvH6Yrw/48WPnfFjXJMZz9k/S1hFfRn7I7tJ+z34UkdQrN/aJIHT/kIXNeS/GSxE3xI1aQjr9m/S2ir6XgavCM1OHwuGnp7pWewcsNFPuvyZ85f2d/s0x9O4+7Xog0xB1praapHAr9NWOjc+RlhWzzGWwA/hqlLYKB93NepyaSGHTmsqbSSvQVp9diYvAye55RcaYG7YrFutO2jAWvW59LOD8tYdzppP8Jo+uxOWeBkjxq601hn5a/Wz9lyMxfArwzGeMfb/ANb64r82LvTcfw1+nH7OUXk/Bnw9H6fbf1vJzXy3F+IVTBxS/mX5M9/hfDuGLlJ/yv8AND/EnhJNX8Zy3U6N5MuzcwHHyxqP6Vs3Wlw+FtFm/sqMuxXpjmu6vbu0hm2yuqsOoJ55FcP4y8RW+m6U7wsruRgDPrX58oq2h24nLMuwVLEYq6jN80nLqm/+CfLWoTlruSWfCMzHIPFRtG6qHI+U9D2rd0628MeJdQay1q7NvM7ZARgD617PP4O8OnQPstnMJPJUkSEgt+JqJUpWulc/M8JwFWxmBeMhP3nql3Pnip4beSYMyjhetRyeWJHWJg6qxGQc9DXQaKENvNnqRxSpU3KVmfI5blUquNeFxCtZP8Dd+HbQx6yHnO0A9TxX08Lq32ZLrtxXxPHPNbyl4XKEHtxW2fE+sFPLNw+OnWnCfLofWcK8b0sowksLODlqfaNl5P2ZPs5Bj5wR06nP61ariPhzNJceDNOmmYu7efknknEziu3pNn7flmKWJwdLExVlOMZW7XSYUUUUjuP/0f38r8jv+Cqnwl+LPxZ8M+F7DRvG3hbwX8PtNM0+sN4m1r+yIL3UnZBbK2YnEvlIrGNd2dzk7chTX641/NV/wWdn15v2i/AEHicX3/CGR+HI3tPIwFMz3sv9o+QXzH9o8pbfdkdPL3cYoA+Qf2lfhL+xZ8N/AGkx/A74s6t48+ICT28erW4s/wDiUPEY286aCX7NCIgJAuxPPuWwcH++P0p+IHi/xL45/wCCKtp4g8XahPqupEWFq93csZJnisvEa28IdzyxSKNF3HJOMkk5NfF37YPxX/YJn+DmjfDL9kvwXEuszXdteX/iG6sJY7y2t4Ufdbm6vCbqSWSRl3hSYdqnDH5QPqG61Cyvv+CICxWkySvZ30VvOqnJjlHicPtYdjtdW+hB70Ad3+ziB/w5z+IPH/MP8Un/AMiGvzw/Yo/Yo+In7ZWi69pkHjB/Cfgrw1epPJJNHLqEMmq3UQX9xYieCPzBDGvmzM4bb5ajcM4/RD9nD/lDn8Qf+wf4q/8ARhrqv+CIv/JHviL/ANjLbf8ApIlAHxZ/wVY8Kaj4K+M3wg8EaPcG81DRfh5pGj291Ggheaa1ubm3SRFLN5bMw3L85KE8NkZrvv2gv+CTupfDf9nfWPjOfHV3r/jzQ7OTXvEtvdxr9juYwDLeeRKS05liBZ/NlZvP2n5Yywxl/wDBZvUJ9J/ad8BarahTNZ+FLS4jDjK74tRu2XI4yMjkV6Z+0N/wVs+HfxV/Zj1n4e+FvC2r2fjXxhpUmj6nHeLD/ZthHcxql1JFMsrSThlZ1gzGhz8zhcAOAaH7Ivxu8YfE/wD4Js/H7wV4zvp9Um8CeG9YtNPu7l2lmGnXmmzPDAzuSzCF45AmT8sZVBhVFb//AASETxfL+zL8Z4vh8bZfFD6i66M14xS2XUG07FsZWCuQgl2lvlPHauQ/Y1+EfibwJ/wTW/aB8f8AiS0msU8deHdYuNMimUo0un2WmzJHchSAQk0kkmw9GRQw+VgT5/8AsLXPi2z/AOCeX7TFz4Ga4TWY/NaJ7UsJ0i+wp9oaMoQwZYPMIKnIxkc0AeN+HP2Wf2bPDer+KtV/ba/aC03+2zc4jh8E6o3iLUZb1nf7TJfyCyu5PMEmAyFA+7cXcYrvv+CSniSbQv2xfEHgnwVrd7d+DdT0rVzGk4MAvobOZDZ3M1vkqk4j57lN7KDgnPjn7EHj39g74e+EvFXiH9qPw3ceJPGNpceZolnLZy6haXNl5SnyYYQwtRcmZW3NdbUCsm1x89eg/wDBMLxf4d1b9v2816zs7Xw7ZeJbXxHJpelQ7Uhthcv9pis4QoVQsUSlVAAG1OB2oAxP2gPhr4n+MP8AwVD8V/CzwhrUnh2+8Ua6NPk1GF3VoLOTTIzeHEbI0ga2EoMe4CQHYxAYmof+CgP7DGgfsYjwR4v+G3ijVNRs9amnt3/tFo0vrXULIRypNBLbRxL5bBuBgPGyAhn3fL7xpn/KbJ/+xiuf/TC9e9f8Fv8A/knHwv8A+w3qX/pPHQB5r+3x+1X8SY/2M/gR4YsdVurXU/ip4Zt9T8S6hBMI7i6gtrS2EsLmMKQl3NcF5doUMEKHKswPxHffs8fsaQ/s0p4ztPjvFL8WF0hdVfQ/Ib+z3uGjEp01Yvs32hZxnyvOMu0yDJjVTx9Iftr/AAb8WeKP2Gv2Z/i/4dsZL7TvCfg+1sNaMEbSSW0F/a2skFxJtB2wI8LozHAVpEyeeOc0H9pz/gnLpHwG06e8+A9vqHxMsbC3sZtMlhcWNzeRRKr3bXzXEj+Q5BY7lafccFSP3lAH37/wR1+Ovir4lfBvxJ8M/F17PqUnw+u7OPTLi4O900u/jk8m23klmWCS3kCbvuxsqL8qgD9hK/Nb/gmnf6L4v+G/iD4meHvg5pXwj03Xby3t7MadLPIdYhs0c/aT56JmFHmZI3XIZvMH8NfpTQAUUUUAFFFFABRRRQAUUUUAFfnt+0L8LtJt/iDqXxFnuVa51EW+LdmHWC3ihHHvszX6E18k/Fjxd4Pl8aXXhnX7Z2ksxH+8CjGZIUkHJ9mFdGGqqE+Z7Eypuasj4PuF8SXzq7RRW8aH5CAR9KS5Him6ZTdXMUoXpvYmtfxV4ltZZdUTS1ZltivlIvU5rzzVtat9H8CSeJ9TmljvFYBYAcHlsdK+lw+fQiuRQ2PNrZdUve4+5m8SC5aCxWKd1+8qAnFbfhjxJ4+sr4JYRRrMuRnBGK87tJvEccNv4k8PTIxuiDKkhPA/D2riPFmv32ofESHQNL1W5spX2+aYpNq52gmvR/tyglL2dNN+Zzf2dUdueTt5H2MieNtaVp9QuLSEy8MWYg1kD4e/2VqMetTa3p0UkeWO6TBr5r+IVn400PTLaDwvq91fSup8wvIXwfwr5x13TPjDqWmFp7q6M7dQrNjrXVhMdiK8NJwgn0MamCpRd3GTZ+m9z8c9H8NQC0fVLK4aLIYI+WP0r9CfgB4ttfHPwk0LxTZf6m9+2bf+2N3NEf1Q1/LvY/Dz4hDU47i8W4frndk5r+jn9hyxvNN/Zb8FWWoKUuI/7W3qeCN2qXbD9CK4eJ4xjhYxVRSfMvyZ0ZbC1Vvltp+qPz0/aj8UwaR+1F42s7qMPG40sZIzjOmWp/rXy5O8er62ILBuHbjFetftrziH9qbxqx/6hX/pstK+fPC1+1vrEdyhA2HODXflrUcPCS/lX5HnYuTdVxfdnoOryX/h64On3Oc4BBP516B4M8calp58zVitxpzEKkPXGeOlebeNtYj10JqW4eYBgge3FXPA1zaXh+x3ILkEFQPbmurE0KeIoJVlexNOpKlVai9z1b4yeLdN07S7PT0Rore/6BOMdK81042bWRspd6FRmMH35rF+K/xH0bxNqK+CxYulzZ42ShcYxycH8K9c8C2Phbxf4YtIpp1ttUiBUlyF3dh718rkeIWFxE6k4vsmevjqTq0owi/M8XlZ42YDPB6d6ZHfvH8yNgivRvFfgTU/Dt956p58D9XXkV5Pc20wuWiiG7vgV+mYfH060OaLuj5mrh5w0e5+8H7INy13+zt4SuH6t/aWfw1C5H9K/Of9qrTxqf7SfiuyHJlbTFP46faiv0N/YzDL+zZ4PDjDD+08g/8AYSuq/Pf9rG1lh/aG8V6jbTGOX/iXYwcYxp9sP6V8Zw3jpYbPcRUgr35198kejnuG9tltKMnazi/wZ5H8Xvh34C+F/g6K+utXVtRkTeLRZAWBPPK18k+EPFeta5qKw6ZZtMzthURSSQPauo+IPhvVPEuoHUdbu5bk9jI2QAOK+jf2S9G8F+F9Xk1LWZLeSSPHliUgj3r4j/aMtxkqzTjK9z6f91jMOqe8bHJDQtXhgFzfWE8HGTuTArwTWfGN1onjJ7e6Rvs5IGCOnFfunL4t+F+q2W29g00hh0IWvAfGPw3+D/jEzTRafbLcP91okWvvMX4k4mvhadKjG04vV9z5TDcJUaFac6rvF30Pg7TVi1+0zpTiVpFx8pzgmuo8Jw3nwWs59d8Sp5qTnMffr9a+ltM+A2haPZPDobtA4IZWJA9+orx741/Cvxz4j0JntpkmtbMZMYJLED2/CvWxfH9PE4ZTcWppbHFgeF5UKklzJxOB8V/FH/hI9OzZ3X2TzyDjdtIANfsp+yBejUP2dfCV2JTNvGojeTknbqFyvX8K/nKmsLq6JtrYnzLbIk9sV/Qf+wgGX9lPwOr/AHgdXz/4NbyvzzNsyr4t81R6aH1uBwkMPeMTivjPpZufiXq823O77Nz9LaIV8++LNJvdIEWq6bEWfOHVR1zxX1z8WzZWXivU9Rv3WKFfILOxwP8AUxivDbjWtD1O0+13l5Bb2Azg7gHbHpWU8e1QUL9CY5ZFVnUtuzkdCtdTt7i3ngi+0GYfNGBkKfcV1OqyeGPDZbWvF1zGJQMpbQEbifQqayP+EwvdfgbQfh3ZNg/K1668/UMK4m/+F9xZ6lb3ni+8kvtxLMS29VPoc14ntZP3k9T21Rgo2ktCpa/EXxH8RtcbQfDludM0wnaJApRmH1Fev6H8MdN0wCaZPtNz1aSUbjn61hWsUOkyx3ejWsccVvjO1cZBr6H8NXNnr9gtzbkbgBvXuDW+FnGEueWrOfFRbjyw0ODfQcKNq4x6VSfRTz8te1vpQ2n5azZdJBGdtex/aMmrPY8lZek7rc9o+EluLT4faVbgY2/aePrcSn+tX9Z/5CMv/Af/AEEVZ8Bw+R4UsYv7vnfrK5pmrr/p7nHXb/6CK46EuatKXe/5mmMXLRiu1vyPJ/HPi258JW8V4sBlgP8ArCBnFTeFPiBoHimEfZp1SY9Y2IBz9K6nXNGttc0ybTrpAySKetfnv4m0y88GeLHsLa9Fk6vlTu25HWvm8+zbGZbiY1Ur0pb97nvcP5Lg80w8qUpctWOqfSx9P/Hz44aT8D/DK6/qKGYyA7EUAlsH0rxr4T/tp+CPG+mTXusuLCZSAkcmEJycdCa/Mj9sj4y6x4z1q08Hx3H2mHTAQ5U7lbcAa+K9E17Un1FrO1ZhKpAVV6k1n/blWunVoJ2a69DdcO0aX7uvLVPof0ceNfjddx6U+p6KyG3YZQr97H4V85237aF/pGsx6I1nNqE0jYIjXeQa/Pj4aeKfi3qOsweE4rW9u2kIXbMrMig//Wr9lPgf+zd4e8MadHrviewgutXuQruXQNsPXjPIrHAU81rVb1J2iRjpZZhoSjGF2erfC/xrrvjfTDqeqadJYRsAUEibCc/WvpHRRjTIR/vf+hGuIjtoraFYIEWONRgKowBXcaPxp0P/AAL/ANCNfY4m6pJN6nyuAd6za7f5H5kftHNj4y+IB/15f+kcFeIOd8bIOCQR+de1ftIk/wDC5vEAH/Tl/wCkcFeGhmNTD4Udc/iZ8e/FDw34s0zVxLpmqCP7QTtWVyB+FWvBdp8ZtHtgZ9k8bcjO48V9Ka74V0rxC8MmoqS0ByhWt+MGGFYYz8qAAfQVnOk5N62NI1VG2lzwG9vvinOCXgVVHXYGr0nwDd6vcaazasrLIP7/AFru9zFcMSQajARB8gxUww/LLm5myp1+aPLYnyKWqokDnHdaeXIroOc/VP8AZw/5Ix4d/wC33/0snr8OP27tcurL9rPx1bxMAF/sjH46VZn+tfuN+zcc/Bfw6f8Ar+/9LJ6/CD9vC0kvv2x/HFrGQDI+irz76VZCvPq1JQd4uzNqyTpq58423iXVJG2Rvlj2XrXpPhvQviF4mYJpVpctnodpwa/QD4GfA34T+G/C9tqGvSWmoalOgZxMVdQT0xXvkknhnwxGG0qyt4VP3TCoHFddOhWlrUmzk5Ufnr4c/Z5+MGtFWuWFnG3/AD1LKa6/x/8AAfVvB/gLzb7UVlvDywD5B57V9ea78Ul0X/SLy4hSxVSSzHDHjtXxF8RvipqvxL1r7FpTMbKEnYFPUd817mUZe5VlUbfKt2cmLqRhDzPle+n1S3la2keVmTjg8Vzty+ovztmP1ruvEGrXMF/La+VDlOC4HNcPealcvkbyvsDXyGIlSjVkoSbVzrgvdTZzN9JcRf6wMM+tf0efsANv/ZH8Bt6/2x/6dr2v5v72cyHMrF/TNf0gfsAYP7I/gPHT/icf+na9qaEk5NI6MP8AEfIv7VF1Na/HfxCEm2LIbAYzg/8AHlb153pg0WOe2mgmikuIeXSQgg59RXVfta2ck3x/8QSMWCZsNuOn/Hjb/wBa8Jmszod2t5fAxxyjBI4x2r4vCcaYnKsTXoxgpLnlv6seJwaq7ux7HcXWieINam8u5t4pZQAYo2AHyj0rhdb1i0tb9NJs2DrHnhefrXiXia4vPC3iLT9Y0/MltLu3yryvPTmqlrrUqeIbq7nzlgvkr67hzXuQ8RcVKqqs6a5Thnk8XGylqZPxV1tfB+saf4tVS6sxDqvOc8V9GeDtTstb8M/8JdEnlqIiSDxgkcfrXyF8c5Wl8IGMne6cxnrjJzSfCXx/qGn/AAyudE1G4VmudqoM8j5q+8jxJh69CWJoPSzZxxy9uPJLdM9l0nX9V1TUGS/unZC7BQW+XGa574hWslpALyAFpLflSPes+3ivdOmhSUc8Op9c811/iSdtf06OZY9hKkSBRgcV/PeJxDrYl1pu92z6OmrRSR+zH7EWovq37L/gu/kBDSf2oCD/ALGp3a/0rE+Ksat4+1Mn/p3/APREdbX7EEAtv2X/AAZCBjadW4+uqXZr49+Ok/xm8R/tO+K/DHgyHGl2h00LMwbaBJp9s7ZI4+8xr9kybHrBYelOPWKS+5f5EVsN7ePIewXRtLOBrm6kWKNerOcAUmlNZ63CZtJlS6QdTEd2KqP8BNe8SeEl0fxTrJtriRf3jQSFT+tel/Bb4ReHvg5Yz2jahNqXn/8APZw+K998QtayMI5I29jjW0u4UEmJhj2rC1BYrOMy3REa+rcCvoPUVtHuZGhjYq3QAcV4Z8cdFi1P4f3drYXUdrfKVKkNtf72TVw4luOpkVij4c8OXOv6nEYiDZsDmTseOOa4bxhoOqabrU9tDIhiQjGDXX/Dn4qeGvB3w6s9E1KeOS/t45N7kgsx6jmvhLxP+1H4o8R+NrrRfDGhXF7KZNqbIixOPpXPT4hc6rZGLyiEaagtz6YkgcRfvMFq/Rr4ADHwj0Ef9fn/AKVzV+NHiHxZ8Y9B8MTeJNS8PyQxRLuZXhYHBr9Uf2J/F9548/Zk8HeK7+LyJ706qHjxjb5Gp3cI49wgNbZjmqxNJUvO/wCf+ZzYHA+wrOXl/kL8S9Xv7bxjf28MrKi+TgA8DMMZ/ma85udSvbzi4lZx7nNcZ+0v8aPDfw/+IOp2F8+65X7NlBgkbreJhkfQivk7Wf2rLGGya6s4wQP4cfNzXmxwWIeqi9r/ACPxDNcizjGZhiFTi+Rzna+1uZ2PaPiD4g03wl4n0+5uZ2he837WzhflFbGg/FW8i32xvW8uQYyzcYNfHvjTX7n4w+Go9Su45rd7fmCSMbcZPrWT4SuPE3h7T2j1eB7q1yAk2Cz4+tfO4TOZ4SvLDYl210ufsWRYdrL6cKjXNBWaT2aPt7TtZ+zajbqtyrW9yxzubpk175anTrJJIzcIxKAgg+or8ffix4l8b2Kxaj4WkkVUG7yyTuGPYV5lYftZ+PLS1jsr7eZ+VLHOeOK+jjiabvNLdCxWQYavUeKXx2av5H7NveWu4/vV6nvTluIWGVkU/Q1+SmhfHP4iazqdhBahpPtBbK8npXrl78cPF+hzy6Xc2M4nRQc7Dt5Ga5HG/U/LK/h1JVOT26T7H7qfDBg3gbTCDkfv+f8AtvJXe181/sheItQ8Wfs8eFNf1RSt1dHU94PUeXqN1Gv/AI6or6Uqj9pynCvDYGjhpO7hGMfuSQUUUUHoH//S/fyuG8f/AAx+HXxV0ZfDvxL8NaX4n01JBNHbaraRXcccoBAkQSK2xwCRuXBwSM813NFAHi2i/s4fs/eHvC+oeCdH+G/hW30DV3il1HTf7HtHtbx4GDxNcRvEyzGNgGQuG2kAriti1+B3wVsfB158PLL4f+FrfwrqNwt3eaFFotkmmXNwhQrLLaLCIJJAYoyGZCwKLz8ox6jRQBwumfC74Z6L4OuPh3o/hHQrDwpdpNHcaFbabbQ6XMlx/rVe0SMQMJMneChDd81J4I+Gvw5+Gdlcab8N/CuieFLS7lE9xb6Jp1vp0U0oUKHkS2jjVnCgDcQTgYrtqKAP54f+Cr3g7xlr/wC1l8NdU8O6Hqmo2tpoWmiW5srOaeKJl1S5bDPGhVSBzyeBzX7Saz+y3+zd4k8SyeM9f+GHhPUNbnmFzPfXOj2sk00/XzJS0ZEjk8lmBJPWveqKAMrVdC0TXdGuvDmt6fa6hpN9bvZ3VhdQpNaz20ilHhkhcFHjZSVZGBUjgjFc74J+Gfw4+Gljc6Z8OPCmieFbO8lE1zb6Jp1vp0U0oUKHkS3jjV22jGSCccV29FAHz/D+yj+zNB4nHjKH4W+El1oXIvFvBo9rvW5DbxMB5e0Sh/mDgbt3zZzzXYJ8EfgvH4y/4WNH4B8Lr4sNwbv+3ho1mNU+0MMGX7X5Pn+YQcFt+7HevUKKAPN1+Dnwij8b/wDCzE8D+G18YGQy/wDCQDSbQat5jR+SX+2eV5+4xHYTvzs+XpxWh44+GPw2+Jtra2XxJ8J6H4st7KRpbaHXNNttRjgkcbWaNbmOQIxHBKgEiu4ooAyNL8P6Domh23hnRtNtLDR7O2WzttPtYI4bSG2RdiwxwoojSNV+UIFCgcYxXz/J+xp+ydLqn9sSfCLwcbnzPNP/ABJrYRF/UwiPyj9CuK+l6KAIoYYbaGO3t41iiiUJHGgCqiqMBVA4AA4AHSpaKKACiiigAooooAKKKKACiiigAr87Pjr4zg0n4q63YPp8M7R/ZMyOmSd1rC3X2ziv0Tr8j/2mP7Tk+O/iWK3cLH/oGMnp/oNvn9a4cwqShTTi7anZgoqVRpq+hXXxppSu8kej26vJ94+X1qpqHijQ9Qt/s2oaHazxn+FogRXl8Vnqm4gyrx6GrCWF62fMlx6c14v1+qv+Xh6n1dP7J6NF4r0mCJYLbR7eOMdFWPAFZD3vhZtQ/tV/D9p9qH/LXyRu/OuXTS7l2ybjCj3rSTTEKZa5JP8AvVP9o1V9sf1ZPeJ07eLNKI+XSoR/2zpo8WaWflOlQZ/651yiafbKx3TOc+hqx/ZNlkMZ5AfrQ8zrfzsX1WP8p0beItJZudLt/wDv3X6V/AG4huvhJoM8ESwo32zCKMAYu5gePqK/LRtO07hvPkJ9M1+of7PEcUXwd8PpCSyD7bgnrzdz13ZZjKlWq4zk2rf5HJjqKhTTStqfiZ+3RcFf2qPGka8kf2V/6a7SvlywvHFyMEqe+K+kP27Gx+1f45Ktgr/ZH/pqs6+ZPD08L32LjBB9a/YsDK2Hp/4V+R+d4m3t5erOpbUN8hiT7vHBrY0zUbnQruO5iYZPSuPuoHOoMtmdw68Va3zRQ+dcksD932r04zSjY53dM6yWeyPiFfEs6RyTSEZUjOB0r12ZtB1DSo7/AMOk2t1bkGRVwucnnGK+fLW9tjE6TDLH7p9K6Hw9qSW0rrK7LGQen0rOVGmlorHRGrKXxH0KnxUitEjtrgreWyrtcSfM3TtXjHiXXLWbWpL3SVMUDHKqeMZ69K4C5uglw5Q8Fs1JJdC5jBGF29cVeGw1PD60yKteVXSR/QP+xncC6/Zs8H3A/j/tP9NRuhXwb+1e3hRfjp4sbUdQMV2q2BMQcDB+wW+3j3GDX3L+xH/ybB4Lwc/8hX/053dfmN+2d4bvNR/aX8X3SxfuWOlncBydunWoP8q/OsTiJ0cbVqU5cr5pa/M+npUlUw8ISjzaL8j5fuvEeqCyvJb+1Z7cNtt2Ck7gTjPvXI3d1/ZNmlzpGoFLvlpIi+CO/QV6hqnxBs9EuLPSZ9LEtnGCpLx5OSP8a4HUfCeq+LdZm1DRtOKW82MMqYwMe1eRjc3qYjFclaV9Nz36OVQoYRVqUba7HO/8LeutT0xrZ7y4iuU4BRsDIrT8D/HPxJo+pQf2xey/Yw3LMx5ArmdZ8O6F4LvHttTiK3B6qwHU1Zi+CuveNtKTUtCH+iSZK7s/0rhpY90avJFaFVMJRqUHOW59ma1+194ftdHjj0NJ7udFw7qAy5/CvG9R/ae8XanFKsJEFvMCCpyDivNvDH7P/jTR7kQPHG0D/fyD2qv4k+BXjebVymnKVtyR64969KWaKdRJI8tYZRhbuccPGWmR6nJL5zRtcEmXnAzX9FP7BlxaXX7KHge4snMkLnV9rE5Jxqt4D+ua/B+5/Z2vXsFzGTc7fmbHev3n/YV8MXPg39lfwT4bu/8AW2h1fd/211S8kH6PWk8W6vu3JVNRV7Hz9+2povjzxbrh8NeE45khmaLzpogf+eUZGSK5D4Vfs2awlhbjxjfSzRJgiJnz+YNffXi+NW8RXLEAn93/AOi1rOhGF4ricdWeinBwjZa2MTw74Q0Tw1ZC00q2SFVUjKrgn8q+afEWj+MNe8aXmjQ2zrpzkESMp+UKMnBr7AiGetJJp6TM8kfyO6lcj3GKexKSW58S35j8N2vlS3IeHlWDNlgR6/jWh4U8Uz6A/wDa8JZrZmG6NehB9q7uz+BUt54pvJdaumls3cMI92R69DWz4o+GI0VfP0dDLaYw0ZGSPoKT7LchqHOm9j2PQ9V0/wAQabFqFi4dJByAeQferstqhGMV8t+Gda1DwNqqNHuk02ZsSR9TH+HQc19WWl1BqFrHd253RyDINZUqzkuWWjRtiMNCPv03eL2PTvCyCPQbVB28z/0Y1UtV5vmH0/kK0/Do26Pbj/f/APQ2rP1RCbxiPb+Qr1sG7S+R4GYr3LeYyCGEAGQ1+UP7dfww+IWq6q3jjw7diy0zTwTIysVLZGO3FfqqBxzXyb+1p4H8d/EjwFL4Q8GkobrAlYZ6A+1ZZjhI1oXmr22Jy/Geynyx0T3P52Y7/UNX1CWOO3kvbyZvL3bd7MRx1r7m/Zb/AGGfFPiTXYPHHjOJrK03iRYpAVZh9DX03+zv+wxqPgTUbbxD4qaG7mDbmik+YA/Q1+qFpaxWltHbQxrHHGoAVRgDArjyzKvZe9I9DMs5UvdoHA6F8LvBGgTR3lhpFrFdRoq+csYDfKMZzXoIQDgVLimgetfQK3Q+cnNy3ZC4HSut0oYsIv8AgX/oRrliM11Ol/8AHhF/wL/0I1z4r4Dpy/8Aiv0/yPzA/aQ/5LP4g/7cv/SOCvCwcV7p+0icfGbxB/25f+kcFeGZHpSj8KOqXxMTJNJT8ZHFRurY4qhIQvjj1p1NAwOadQaJpiAAcjvSNTqa1Bmfqp+zb/yRbw7/ANv3/pZPX5hftOaJ4P1L9rDxFDrtu/n3LaaBPGo4xp1qPmJ9ulfp7+zb/wAkW8O/9v3/AKWT1+D/AO2z4r8Q6V+238RbKzmfylOhmEZOE/4k9ixx6ZJJrCik6jubVo3po+4Lr4P+DNL06G6j1nUFAUMFEgArzXxt8SPDHg+yS0vL55BCCFVmBkf/ABr4In/aH8bAnR7u6Z3UBQNxJrmbyLxL4rmOoX5Mh6qJcnFehCSctTlcbI9z1fxBrHxX1hLOznNvZbvkRjt3D6V7Novw7bQLD7Na3FrHNIuDJI2G59DXxfo+jeLjIm2ZrPyzw0RKml8X6l4o8H20mrPrV5dOMGOOSUsuR1yK7a+OqTpKjFWivxMIYdKfPJ3Z9D6r8KNBttRa21XWoI7lyWYNKB71zl38P/hxa5N3rkb46+XKK4rwd41X4l6At/rEMa6na8GQD7+eOSfarF54ds7hChijGSDkDmvI+pUd+VHRY0rnwl8KrcEtdXc2P7jKa/d/9imDSrb9mXwbBonmfYl/tTyvN+/zqV2Wzj/az+FfgBNpMSLtGFwO3tX78fsQRiH9l7wXGOQP7V/XU7us6+HpwjeKN8P8R8X/ALU6o/xu8VYbdIn9nlU9P9Bt6+V/Et1Pc6S+o386m2QYZSfmGOK+i/2mb+3tf2l/F32o/u1GnD8W062r5X12KSRG8PMheO8JbzCMqAOetfg+bRtmFXtzS/NnYcfql7Fr3gt9N0yZ5SGBTnLLhs1BpZM1zp6amrR3ZDKueN2BV/wjY2x1a5jgjMQssArjCPu/niuh14Wh8ue3UNPaEmN/r1qYVFB+ze3QDk/FGiW1/C2kakrFZQdh78c8Vl/DL4J2t7o2qakLp3a2ZWSItnAB9K7a51RNdtbW6dFSa33CQY9eK7r4YbtFvL4TZaC+jbgc4wpr6HhbOKOEqVaWMlaDT+80oZZisdWjh8FHmm+hyEsUWpiBlYj7OGUn6cVUGqNpwEEyhgvBH97NT6b5FtaXgYk7JGIJ92NU7qexmgSeTlhnntxXy1VxlP8Ad7Cq0Z0ZOnUVmtH6n7i/shCAfs7+E/swxGf7SI/HULkn9a/N39o74rfFb4bftZ+N5fDyo2jynSdoO7OBplpu6cff3V+i37GVwt1+zZ4PnVdob+1AB9NSuh/Svz1/a61OO1/aA8VR3IBjH9nfXmwtq/XsNLly+jdfZj/6Sb4On7SbV+hzHjD9pL4oa/o1vL4dhSO4x85YMP5V5mPjh8fg4d1TaOoG+qGma0PLJgjKR9gRVptelGc8CuKVSTdj3YYeKWsmU7n9oT4+wTrtj+TBzgNXkfirxv8AGTxDcPdXt9dxiQjKKzBRn2r2F9cLDJGa5TUvFVtb3iWt0Agk+6x6VVNScvdM62EpSjeUmebXmneOCgf7ZM2R1LHPPWrHga98YeCdfXxDp5ja6U/8tM9a9Em1HcMg/Kelc/eyRS/MrFG9uKinhZczvJnFVwlFao3/AB58V/i/430+XStQuhHazDDKjMBiv2Y/YQ06bSf2VPBFhcHMkZ1csfd9VvG/rX4VSa3d2r+VKC6diOa/en9iu4W7/Zm8G3C8h/7U/TUrsf0r1MFQ5JuV7nnVqFOMueLd9j4c/a1+CWoeOPjf4h1uLJjl+w7R2+Syt0/mtfG2sfsy+J4Inmg8x++wZxxX7Q/E9EPjTUCVBJ8jn/tjHXnvkIfkZFI+le3gczzLDSfJX06Jrp0R5KwElNy59G72Pyd0FfiH4R02fRbrT3eHGE3ITjHpUGjePviBZ2cul3Ojy3ILfJ+7LDrX6pXPhvSLt91xbo/sQKhh8I+Ho33JYxA+u0V6k81Vec54qlGTa7bEUcpowm6jWrPzd0bUvFGo6k66roUpjkGMGI46e9dd4M+FnhG/1K4ude0GT5jlB5QwPXrX6DLoWlKeLaMfRalGl6fEflgQfhXmYirCcIwjBJ+QsXllKquXma9D5n0LwP4Q0m8ivNO0UoYD8mYhxmuu1PTNA1Kcz3ejb5GwC3lDPFe3i0tUziNVA9qqStp6IzMYxtBJ/CvHeCqXup3PFq8G4OpP2s5ttdbn1B8BbG1074T6HZ2UH2aGP7Ztixt27rqZjx7kk16/XmXwd1K01f4c6TqFgQ0EhugpHT5LmVD+oNem13Rg4LkfQ+pw9KNKlGnHZJL7gooopmx//9P9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvzR+PXw+8a618Zdf1bSvD+rXtnP8AYvLuLaymlifZaQI210QqcMCDg8EEV+l1eZeI/jX8GvB+q3GheLfHnhjRNStNn2iz1HWLO0uIfMRZE3xSyq67kZWXIGVII4IrnxNCNWPLJ2NqFd0pcyPzQHwr+IKkEeF9d/8ABfcf/G6lb4Y/EOQBR4W1wf8AcOuP/jdfojH+0b+z1N/qfih4MfP93xBp5/lPV9fjx8DnGV+InhQj1Gt2R/8Aa1cH9kU5bSO3+1JLofnCvwv+IITafDGuE/8AYPuP/jdSxfC3x+OT4X1r/wAF9x/8br9Gf+F8fA7Gf+FieFOP+o3Zf/HqZ/wv34Ejr8R/CX/g8sf/AI9Q8lh3Yv7Vl2R+d6/Cvx5uz/wjGs/+C+f/AOIpJPhb8QGfjwzrPH/Thcf/ABuv0Sb4+fApE8x/iN4SVP7x1yxA/Pzq0k+MfwiltDfxeOPDb2w5My6taGMD/e83H61Lyekt5Ff2nN7RPzZ/4Vr49iXA8J603v8A2dcf/EV+iPwJ07UNK+FWh2GqWc9hdRfa/Mt7mJoZU3XUzDcjgMMqQRkcgg00ftBfAVgSvxJ8IEDqRrtjx/5Hr0Xw94j8PeLdIg8QeFNUsta0u63+RfafcR3VtL5btG+yWJmRtrqytgnDAg8g11YXA06M3OL1OfEYyVWPK0fhl+2X8E/ir4u/aZ8ZeIPDvgzxHqum3f8AZfkXlhpV1c20vl6baRvsljiZG2urK2CcMCDyDXzBP+zn8edPuB9n+HviyUeqaJfMPzENf0oar8Sfh1oWpS6NrfinRdO1C32+baXeo28E8e9Q67o3kVl3KwYZHIIPQ1mN8ZPhCnD+OPDa/XV7Qf8AtWvp6PEDpRVNJaK2/Y8Krk6qSc9ddT+dvT/gZ8ffIkl/4Vz4rjkA43aHfBj9Mw1c0/4HfHaS2e3uvh14syc7S+h3wA/OGv6HX+LvwnjiFxJ418OrEejnVbUKfx83FQp8ZvhBIcR+OfDTn/Z1e0P8pa3XE76RX3krJl3Z/OpF8CfjxFKSfhv4tIBP/MCvsf8Aomr0fwO+O3m7/wDhXHi0D0Oh33/xmv6GW+NfwaQ4fx74YUj11izH/tWqh+PXwMEgiPxF8Jh26Kdcscn6Dzs1ouKJvaK+8lZMo7tn8+Fx8DPjnJLuHw38WAH00O+/+M1Ym+A/xtbakHw68WqMc50O9/8AjNf0If8AC7fgxjP/AAn3hjHr/bNn/wDHqgb48fA9Pv8AxE8KL9dbsh/7Wo/1qn/KvvD+xo33Z51+xxoGveF/2cPCOheJtOu9J1K2/tPz7O+ge2uIvM1G6dN8UgV13IysMjlSCODXgPxv8A+Jtd+LviDUbPwzqWoWk32Py7mGxmlik22kKna6oVbawKnB4II7V+gWha/oPijSoNd8M6laavptzv8AIvLGdLm3l8tij7JY2ZG2upU4JwwIPIrF1L4ifD/RtRm0fWPE+jWN/blBNa3N/bwzx+YodN8buGXcrBhkcggjg189iW8ROU+7v9562Hl7BJLpofjJ8V/gd42vLSBdL8Ba9cSFsk22k3MmOe+2M16X4F+EnjvSvDtvDL4S1mGYqdyvp1wrD6gxg1+sMfizwtKoeLWdPdWGQVuoiCPYhqkHifw0eBq1jz/08x//ABVefUyxTmqjvdHsTzyUsOsOopan88Pxh/ZP+MXib4gR6lb+FdfuLG5bLmLTLpxHgdysRAr6v+HHwV8eeEPCttojeGdaJiHewuM88/8APOv1xHiTw6WKDVLIsOo+0R5H/j1M/wCEo8NF/LGrWO70+0x5/LdWksDzdzzPrKTb6n5iL8OPHxY58M6yAf8Apwn/APiKR/ht487eGdYP/bhcf/G6/T5vE3htPv6rYr9bmMf+zVWPjLwgDg65poP/AF9w/wDxVbQwDjryv7jJ4mL3aPy/Pw08e4OfC+s/+C+4/wDjdfoT8CtMv9G+FeiabqlrPZXMP2vfBcRtFKm66mYbkYBhkEEZHIINdVe/ET4f6bA91qPibR7WFPvST39vGi/VmcAVt6Fr+heKNKg13w1qVpq2m3O/ybyxnS5t5fLdo32SxsyNtdWU4PDAg8iq9jySuw9opbHnPijTdRuNcuJYLWeSNtmGSNmU4RRwQMdaz4dJ1QKAbO4GPWJv8K6DX/jV8HPCmsXHh3xT488M6Nqtns+0WOoaxZ2t1D5iLInmRSyq67kZWXIGVII4IrG/4aN/Z7/6Kf4M/wDCg0//AOP1D5b7nRGc7WSLaaZqCj/j1m/79t/hVyPTb3vbSj/gDf4VkD9ov9nxjhfif4NJ9vEGn/8Ax+pP+GhvgDnH/CzPB+T/ANR6w/8Aj9K0O4OU39k2l0y6B3fZ5M+uw/4U1tNu3Uo9tIynqCh/wrEP7RX7PqnDfE7waD76/Yf/AB+k/wCGjP2e/wDop/gz/wAKDT//AI/T5Y9yfe/lOf1P4awXl0Z0tJAjnLJ5Z28e2K6mz0G40+0jtLa1lCRjgeW3+FV1/aL/AGfG4X4neDT9NfsD/wC16Vv2iv2fU+98TvBo+uv2A/8Aa9K0L7lc07Wsem6HHJDpcEcqsjjflWGCMsexqpqEUz3LFInYcchSew9qn8PeJPDvi7R7fxD4T1Sy1rSrvf8AZ77TriO6tZfLdo32SxMyNtdWVsE4YEHkGsfVviN8PdAv5dL13xRo2nXsG3zba71C3gmj3qGXcjyKwypBGRyCD0rop1VT1OKvR9quVkn2e4/54yf98n/ClEFyOkcg+in/AArNi+LHwsuG2QeMvD8jHsmqWrH9JK0h4+8CnkeI9J/8DoP/AIutPrq8jl/s5d2L9nn/AOeMn/fJ/wAKXyJ/+eMn/fJ/wpP+E98Df9DFpP8A4HQf/F03/hYHgP8A6GTSP/A6D/4un9d80P8As5eZJ9nn/wCeT/8AfJ/wphtp+vkyf98mom+I3w9T7/ijRl+uoW4/9qVUk+Kvwvi/1vjDQE/3tTth/OSj66l2F/Zq7suG3uP+eMn/AHyf8K6TT1ZLONWUqRngjB6muEf4yfCGP/WeOPDa/XV7Qf8AtWu00bW9F8R6bDrPh6/tdU0+43eTd2UyXEEmxijbZIyyttZSpweCCOoqZ4lVFZGlHCKlLmufnZ+0B4F8b6z8Wtd1HR/D2q31pN9j8ue2sppon22kKttdEKnDAg4PBBFeN/8ACsPiV/0Keuf+C25/+N1+wxnhVihkUMOoLDI/CmNeWiHDzxqfdwP61SrNK1jR0U3e5+Pv/CsviUP+ZT1z/wAFtz/8boPwy+JRH/Ip65/4Lbn/AON1+wqzwMMrIhB7hgaXzYv76/mKftn2D2KPx4/4Vh8Sv+hT1z/wW3P/AMbo/wCFYfEr/oU9c/8ABbc//G6/YjzY/wC+v5ioxc2xfyxKm/8Au7hn8qXt32F7Bdz8eT8MviVnH/CJa5/4Lbn/AON04/C/4lH/AJlPXP8AwW3P/wAbr9iDIgGSwx9ahS8tJSVjnjcjqFcHH5Gj277B7BdzyX4AaXqWjfCPQdN1e0nsbuH7Z5lvcxtDKm67mZdyOAwypBGRyCDX47ftj/Cb4ma/+1F408R+G/h74m1uyuv7L8nUbDRru6tZvL0y0jby5oomRtjKUbBOGUg8g1+9asrDcpBHqKhe6to2KSTRow6hmAP60qVSSlzRRVSCcUmz+Ti9/Z5+Px8VSan/AMKp8cOjspUr4d1AqMe/kV7lB8OPjhHEqr8KfGq7VA/5F6/7f9sK/pS+3WX/AD8Rf99r/jUi3Fu/3JUP0YGt/rE1vEy9jGXU/meufAf7QYYC3+FPjXHv4e1D/wCMV5b4u+Cn7SniG/gkPwt8a+SmQU/4R7UNpB9f3Ff1b7067h+dVJNS06Jist1ChHUNIoP6ml9YnLZD9hBbs/mX8Gfs7/GrQrTCfDrxdEX5KHQ75efp5NdfJ8E/jmSSvw/8V8/9QW9/+M1/Rn/bWjZx9vts/wDXZP8AGraXlpIvmRzxsvqHBH55purUjq4lKnBqyZ/NnJ8DvjmwO74e+Kz9NEvf/jNft3+x3oWu+Gf2cvCOieJdOu9J1K2/tLzrO+ge2uIvM1G6dd8UgV13IwYZHKkEcEV9Dyazo8WfNvrZNvXdMgx+Zq3bXNteQrc2kqTxPnbJGwdTg4OCMg4IxWVWc5R1VkVCKT0Z+MP7Zfw0+LXiH41eJNT8GeENd1S0um07ZeWOmXVxDII7K3RtskUbKdrKVODwQR1FeKaj8GPjprWmRWkfgvxJbTxBR5jaTeKeevPlV+2Pin9oT4B+B9dufC3jX4l+D/D+tWXl/adO1TXrCyvIPNRZY/MgmmSRN8bq67lGVYEcEGuf/wCGsP2Wf+ix+AP/AAqNL/8AkmvicVwlSr1nWdRptt7Lq7mp+JJ+Dnx48Ma0iWvgHxTewOAJZI9GvZAePUQkV0118GfjG9s/keA/EuTggHR7zdz1yPKr9o9N/aW/Zy1lzHpHxV8E3zr1W28RadMR9Qk5q3J+0N8AYW2y/Ezweh9G16wB/Weud8D0ZPmdV39EB+Hul/Bf4zCWZZvAHidN2OTo14FOP+2VdZonwy+NNis6jwF4mDAYUvo95jn0/dV+x5/aQ/Z3Bwfij4LB/wCxh0//AOP05f2jf2enOE+KHgxj7eINPP8A7Xo/1Hw7veb+5G+FxVXD1Y1qMrSWzPxMsfgv8Z/MuIZ/AnicLPk5Oj3m0Ef9sqp2nwW+MzaVdQz/AA/8TiSNh5Y/sa8G4E9v3PNftbcftT/sxWcpgu/i94DgkHVJPE2mIw/A3ANQf8NYfss/9Fj8Af8AhUaX/wDJND4JoP8A5ev7kZ1qk6s3Obu3uUv2TNA1jwx+z94V0PX9PudLv7b+0fOtLyF7eePzL+5kXdHIFZdysGGRyCD0NfBv7U/wZ+JPjH46+Itc0Pw9qt/ps5sPJntrGeaJ/LsrdGw6IVOHUg4PBBFfq94W8WeFvHGhW3inwVrOn+INFvfM+zajpd1Fe2c/lO0Unlzws8b7JEZG2scMpB5BFcb4i+OXwU8Ia1ceGvFnxA8LaJq9ns+0afqOtWVpdw+aiyJ5kMsyyLvjZXXIGVII4Ir6qGEjGhCg3pFJfcrF0KkqbvE/GYfAj4xxqEj8Ia0AP+oZdf8AxuoH+A/xmcY/4RHW/wDwWXX/AMbr9h/+GlP2c/8Aoqngr/wotO/+P0o/aU/Z0PT4p+Cj/wBzDp//AMfqfqNM7Fj621j8cG+Afxo6Dwjrf/gsuv8A43XIeK/2afjVqunsIvB+uGZMFCul3ZP/AKKr9vx+0l+zsenxS8FH/uYdP/8Aj9L/AMNIfs8f9FR8F/8AhQ6f/wDH6ccHTi7phLG1Wrcp+Hui/AP48S6XGt54K1+OZMgh9JvAeOnWKpZf2dPjk/8AzJ+uf+Cu7/8AjVfty37S37OSEq/xV8EqR2PiLTh/7cUz/hpr9m4dfiv4H/8ACj07/wCSKv6tBO9yHiqlrWPwuu/2b/juM7PBmvMPbSrs/wDtKv2o/Y98Na/4P/Zz8JeHfE9jcabqdp/afn2t1C8E0fm6jdSJujkCsu5GVhkcgg9DXVf8NM/s3np8VvBH/hR6d/8AJFep+HfEvhzxho1v4i8JarZa3pN3v+z3+nXEd3azeW7RvsmiZkba6srYJwwIPINbQpxjsctWcpO8jwT4h6Frd54svbqz067uIn8na8UDupxEgOCAQcEY+tcR/wAIz4mP/MHvx/26y/8AxNfZhIHU0m9B/EPzrUzufGY8KeJe+k35/wC3aT/4ml/4RfxODxpF/j/r2l/+Jr7K82P++v5iqs2padbEC4uoYiem+RV/maer0Juj5AXwx4nPJ0i//wDAaX/4mk/4RXxNuLHSb/8A8BpP/ia+t5Nf0KLmXUbRP96dB/Nqpv4w8JRnEmt6cv1u4h/7NTUJ7pCc49WfGfi3wt4zHhy/Om6NqUlz5TeUsVpMz7sHGAFya/KmHwD+1tK939q8MeNsSPIEA0m/xtycf8semK/oiTxf4Tk/1et6c30u4j/7NSSeMfCMIzLrmmoP9q7hH82rajKrSlzQX4C9rDa6PAf2MdB8UeGf2bPCGieNLO9sNZtzqpubfUYZLe6TzNSu5E3xyqrrmNlK5HKkEcEV9Q1Usb+x1O1S+024iu7aTOyaB1kjbaSpwykg4IIOD1FW6wnJyk5S3KVraBRRRUjP/9T9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACv5jf+Chri4/a+8f2jNhV/sbP46RZGv6cq/ls/4KJQ3sn7bHjxIGwsr6Gv0zpFiK5cWm4K3ciex8xWTpaRjyucdKt3GsatNMsME7x57KcV9car+zJc6d8O9H13R5Ptt3qCFmVDv29K4+L9mD4g3sizx2zIccHaR1r0skw8acHKt1PLxXO3aOx85FfEAOftcuD23GqFzca1v2ieQH2Jr7D079kv4hEhp9361pXH7IvjVuVHP417LnRktUc/sKx8SPd61GViuLmUoTkAsccV9i+D/F8WrfBzVLZWC3VpF8w785qpqX7Jfj75G8ot5fsTXT/Cv4CeKtL8Uz6Pr0Tx6VqCMszYIA2qcdeOteVmNKFSK5Fsejgfawl7x+ZUvjfVYXljW4kA8xwfm9zX9Vf/AATWvGv/ANin4dXbksZP7cyT141m/H9K/mM+Onw4tvA3xUu/COmndCZlEbHv5hyf51/U1+wR4Uk8Efsl+AvDMrbmtY9Ucn/r41O7m/8AZ64lFR0sd3M3ufDn7UGo2tt+0j4zFwFIiGm5z15061NfJ2sa5a3EQNpjduP1619Aftf+FNf1L9pvxhe2hYW8v9mbcZ526baqf1Brj/D3wee4sLW8lG7zDz+dfF4unFVakr9X+Z9Lh+eUIRS0sjzKbXr3UdJh0tIWBTIyB1zRZaPrA2kBk3fUGvq6P4UWVhd2/wAo2YGa3dc0HwppIiFxcQxuCPkJAJrklVUbWOuGHlJtW1PlPUPBd7Fo8t+6sSMc/U153L4WB1/SYgmWlL5r9FPFWj6Knw7murfZyEwfxr56GmeHrXxBodxfTrHIS+wEgAmvVy6ulTcpef5HDjcM+dRv2KMHwxeSz8xo8fL6V5F4p8CtZO21Oh9K/QaWOzj09QMYK8V88/EWCO3065vEUEpgiuGhNuVjpr0Y8t0fph+xdaGy/Zo8HWpGCn9qcfXUro/1r4P/AGnvEegaV+0N4wg1GOcyE6YSyAbeNPtiP0r72/Y2u3v/ANm7wjdSLtZzqeR/u6ldD+leUftAN8NNQ8balo+padbvrLrCLi5kQbubeMp83XhNor69YbFVaMYYSVpafdY+PxtVU05+Z8S23xWt9bs5obPU5rR7XYqfvNu7dxXQ2/xdbSroaTf6h5k8IBUh87sjNcZZfs0jxxrGoad4U1eCElgw/eY29+1cf4q/ZS1LT7h7GfX3fUI+DKs2cfjXoTdeKgm9Va5hh4KpG62Z9E6Z8cori+nRZHY7cHB5HFcZF451uG8l12G8uJo42z5QbPH0ryDQ/BrfDW3ez1CdtQlk+9MTvPHvWzY+ILPT5WljhkaGYHcCOBjpXBisVV526aZ7WFyyLpq9te+57vYfHuyuVabVPMtxwMNx0qjqXx28HJJmOZj9COa8V8N6Zo/xA1keH9SDWscpOJV+X361h/EP4XaL4Hu4YI5GmJJ++cg+lQ84zWKUYWseRicph9Y5YLQx/jd8RNU8ZW32HwzOyW8pAdM4LflX7E/sRWU+nfsv+C7O6UrKg1QsG6/NqV238jX5IeHPBGnugvL1TGeCoPA4r9rP2cCh+C/h3ywqqBegBenF5OKxwlbF1aspYp6mlLCeyXNY/n1/4KFXb2f7Y/j9hzv/ALFwPppFjXyNFdBj5yjIboK+x/8AgoPaLeftieOYUQvK50ZVAGeTpNlivH9G/Zr+KF9bRSpafZ4pQGUzKwODzXzmbZjhcJKVSvUULtrU+zwNKpUhFQV9EeW+ZGqIAuHf0rcW1kaJJHSTHqor6s0n4GX+gWFrZ3MNtdanODnzRuQY9O9Wbv4d+LLJGYWVhKsfJSNCT+VfNUuJ6ddv2FmujcrX6aHvrKJRgpVfwV7HyXLo91InnxwSEfSqS6cQwFwpjI7dK+xNAluYSY9T0NFjzg/uq7PxL8NPDvinwrJeWECQ3UakjywA3412VM3xlBpV4e73TuFPLKdaDlQleS6NWPgv7PEFCxEZ9e9VZbad/lfHHrWlrWl3Oh6h5M2QqsR9MVdt5ra5Ta/3gO1eosZOynujypU9OWSsz+i3/gn/ABeR+yP4Di9P7Y/XVr018WftaWcsnx58UTbyEP8AZ+AD/wBOFtX25+wUgj/ZP8DIucD+1+v/AGFbyviH9rKG5b4/eKCZCsTHT8DPpYW39a+gxknLB05d7fkfKW/2iS83+Z5l4Jto/tkZY55719Pw20DwJj0r5z8F2SJcxFiSc19LQQfuVA9K8ummdZlz2K4JDsK4jWNEvrglrW4dD/vYr0mW1JXOSK4DXNJ1K4cmzuDH7ZxVtWJvc821DSvE8AJjnV/94mvOtY/4SaIETpEw/wBkGvTb/S/FkOQk0bD/AGia4DVYvFSg+YImx6ZobTIbseUajf6ipIltifotft5+xtIZf2b/AAg7IYyf7T+UjBH/ABMbqvxXuzrxl2yQA89ga/bL9kMSj9njwmJ12P8A8TLK+n/Ewuf6V3ZYrVmvL/I56/w3Pmj4lfGubwp+0b4u8NXWqPHbW39neXbiTAj8ywt5Dgdsls/jXhvxf+N3iZtStZ9A1W4jg5L7ZCB+lcb8aNJXX/28PH+lFQd/9jct90Y0eyNdd4k+FGoNot24ijbyUyMDP5V9G8RRjHknJJnkxhWm3OnBtJv8GewfDX9oO7uvC1qLq6nmuEyHYtnPNeky/HS4imjiRpiX7n7o/WviL4V28CeGmN8q2v2Z2DM/y5+Y13H/AAmHhWKV7O7uUTZ1lLAD8DULH4dPl5tT04ZNjqkfaxg0j6bvfjxrcPy2ys57HqK+a4v2hvHTfGe4t1uZBAcYtyTtHy+lXfDutaHrepw2ekXaXKTEhcMGPFeF6pY3WmftJx2UkT/vegA6/JWyrYdpSUkcNXC4ujNwnB7H1z4q+PXxEj0i5Nr8g2N8wyCOK+Pfhh8avjDrWualb2+tSud/CySsccnpX0f4+gn0zwnfXMtvKqCM849RXx3+zdaPe+JdVvl3Msb54/HrV1oUfaR5Xoc9CpXVGbktVsfur+z7d65f/CLQbvxHMbjUZPtnnSEk7sXc4Xk88IAK4jxb4s1yP4pz+HrVVa2XyvXPzQRuf1Nd/wDAiVJ/hVokkeQpN4OevF1MK/Mv9oj48a/8Ov2qfE1habXt7P8As7apyT+8062c/qxp4atClUlJba2KrUpVaUU99Ln6j6La3OoWi3Egw3cV0iyR2vyzLj3FflDpn7bXiZbOKO0tkAB53KcnJr70+GPxGuviL4Nttdu4hFJMDkYwODil7d158r2KVFUYcyR7ZPfxhP3RrkdcW0lhaUnEh5yKxtSkmS2bbJsz71mt58tuiFi59etehhsN7Oaaehy18QpQtbU5uSQRS7mOcGtNvGEltAIUGFHHFZ99a+U37zgmsC7gUISeBX0soUq2s9UeEq1Wldx0I9U8VG5uE0+CLdLc5wcelfRvw9hmt/B9hFcDEg87I+szkfoa+SzcQ2mr2kwwSN2DX174HuzfeF7K6P8AH5v6SuP6V42dpRoqEF7t1+TPSymfPVcpv3rf5H8mH/BUX/k+r4mf9wD/ANMen18BAE9K+/f+Cov/ACfX8TP+4B/6Y9PrxT4F/C/RvGOqQf8ACQziGGVvkTOGb86+ajbqfR06Upu0Fc828A6hqOk6gslm7xhz8xQ4zX6LfCLR9D8XabNLqEIkmjA5cA8mvfdA/ZV+HsNrGLWIF9o5cCvQvDHwDn0mUw6Y8METEZwcZH4UP3JJPYp4OVWm+WVmfBXxH0Ky8G61biO2SVZWJ27cjArr/CkfhfxdBPpsdgtvcrGcOqAHOPWv1S039k7wp4rWCfVZI5p1HO4gjmvPviB8IPh/8LbuS3tzbQ3OACQQDyKz/dwfxWRvRynFYq9HDpynbp5H88HxK0K60vxPeWcoZnjc8nrjtXmzIyHDDBr9NvjZ8ILZPFI8WxbZdPusmTHIGBXwB4/ttNttcki0xg0QP8PSrnHldjj5JR0mrNH9YP8AwS6/5MV+Gf8A3H//AE+ahX47f8FEILxv2zPiC0FnNID/AGLh1XKn/iT2Pf8ASv2J/wCCXX/Jivwz/wC4/wD+nzUK8d/ab0LRZvjV4g1G8060uJHNjvkkTLtts4AMn2AxXDjsQqMFJ9z0MsoupVcV2/yPwUi0rXT850y52/7hpj2WqxYLWM6Z6ZQ1+01homiX1q32XQ7V+g4iBrTi+EnhfVAjX+kpGVOcLGBXmrGVN4I9l4JrRyPxVsND8QX77bWxndj2CGust/AHi9uX064UqMkFDX7baP8ADHwlpF0Lm30iEsBwDGO1TX3hZ387Vk0eA26KciOPtjFWq1STvJaieH5Vufz/AOuWk9pqU1rcoYpEwGVhgisOWPauSRXt37QP2VfinrH2JFSLcuFXgA45rwa6nDJjIBrZNvc5ZxS2LEbcgZzmv6n/APgnWu39jj4fA5/5jXX/ALC99X8runfvJUQDduNf1W/8E+YGtv2QvAMLqylRrHDdedWvT/Wu2luebifhPsO5nigXfKQo9TXJ6l4x8P6ZE0t1dxKF65YV5p8X/FtvpFxFaz3DQRR8yFTg8qGH86+UtR8TaX4yF/bwzOiIv7vJwW4rSMpOp7OO5usDCGGWKr3UT6d1f48+F7cOunSC6eMEkIQx4r4v8fft7+C9J1J9Lu7fbJGSp3AZH618lr8QZvh946ktdSYvbyyFcvyMHivmr9rPw3p91ew+MdDjH2e+G5ig4Uge3vTUqqpub0kmd1XDYCOKhTpRcoTgpJvz3R+nHhr9orw/8QWM+n3qjP8Ayy3DPPtXdSXN7fxie2R5UPcDIr+dzwf4317wnqcV1pssgMbAlFJwwr9mv2fPjZ4k8a22m6fpunljIMT+ah4xXqYfOpUqaU1c8XHcL+2qXo3R9I299PZ4M4Mf+9xRd3q3y7EdWJ6AGui8UaPcXbgajtgGB/q+K56y0PTIGH2d5XcH1zX0cMTz01OKPhquFVKo41XZn2/8GoXt/hto8Mgwy/af1uZTXp9ee/CpHj8BaWkmdw+0fe6/6+SvQq+RxH8WXqz6yhb2cbdkFFFFYmp//9X9/KrXl5Z6fay31/PHbW8Kl5ZpnEcaKOpZmIAA9Sas1+R3/BVT4S/Fn4s+GfC9ho3jbwt4L+H2mmafWG8Ta1/ZEF7qTsgtlbMTiXykVjGu7O5yduQpoA/Rrw98efgb4u1hvD3hT4ieE9a1VGKNY6drdjdXQYHBUxRTM4IIxjHWvSdR1TTNHtTfavdwWNspCma5lWKMFjgAs5AyT05r+Pr9pX4S/sWfDfwBpMfwO+LOrePPiAk9vHq1uLP/AIlDxGNvOmgl+zQiICQLsTz7lsHB/vj9Efin4u8SeOf+CMPh7xB4u1CfVdTN3Z2rXdyxkmeKy1qW2hDueWKQxqu45JAySTk0Afvnpuq6ZrNqL3SLyC+tyxUTW0qzRll4I3ISMjvVCz8VeGNRupLHT9YsLq5hV2khhuopJEWM4csqsSAp4ORwetfnR/wSOH/GGOif9hvWf/Sivzg/4J76XBrX/BQ34w6NcMyQ32neNLV2TG5Vm1SFCVyCMgHjIIoA+1dZ/wCCgfxQsP8AgoLH+y/aweFW8Bvq9nYHUminN95U+nR3Tn7QLwW+4TOVH7rAHGC3Nfrst5aPa/bknja22eZ5wcGPYBnduzjbjnOcV/IvrP7I3gDTv+ChEf7JEWraw3hV9Xs7A6gzwHU/KuNOjvGO8QiHcHcqD5WNvYmvsf8A4KkeOtc+CPgL4W/sUfDnU7+Pw7ZeHbeXUppJFW51O3gc2dlBO0QjVlBhkklTYEdyhwNtAH7e237S/wCzlea2PDVp8U/Bc+rGZrcWMfiCwa4Mykho/LE5beCCCuMgjGK9oeeGOFrmSRViVS7SEgKFAyWJ6Yxzmv59fE3/AARo0rRf2fLrxNZ+MtQufibp+kvqc1qVgGiTTxRmZ7ONTGJ1OB5aztNgt85jUHaL3/BM34+eLfG/7Nfxl+CPiy7m1K18GeGLu80Sa4fzHgsLu0uI3swTz5UTxhogSdodlGFVQAD91p/Hnge10u81u58RaTDp2nKHvLyS+gW3tlbOGlkL7IwcHBYjOKg8I/Eb4e/EDSpdd8BeJ9G8SaZAxWW90jULe/t42XOQ0sEjoCMHIJ4xX8pv/BPf9kCx/bB1zxd4c8VeKtS0Dwx4bhsL66s9M2+beXtx9pitXxKHhHkKJsuyM+HKrtDMRyHgL9m/xun7YurfsbaB41vdMtdU1e88P6zqWntNDFe6VYq925ntkcLIGiiyIpC0YlxkkDdQB/Wr4Z+K3wu8aatdaD4O8YaBrup2JIurLTNTtby5gK9fMihkd0xkZ3AV3csscEbzTOsccalndiAqqBkkk8AAdTX8kH7XP7Ot7+wH+0b4OuvhV4m1C5gmgtdd0a+uikd9bTwztFNDK0IjSRCUByEQMkhjZTglvvD/AILJfH/xnpz+Dv2evDF3NY6frunf25rot3MZv1klaC1tmKsCYlaKR3Rsq7GM/wAFAH7C237S/wCzlea2PDVp8U/Bc+rGZrcWMfiCwa4Mykho/LE5beCCCuMgjGK7D4oapfaR8MPFutaPcNb3lloOpXVrcR4LRyxW0jxuuQRlWAIyCK/C3xN/wRo0rRf2fLrxNZ+MtQufibp+kvqc1qVgGiTTxRmZ7ONTGJ1OB5aztNgt85jUHaL/APwTM+Pvi7xt+zZ8ZPgn4ru5tRtvBfhi7vNDnncu9vY3VrcRvZgnnyonjDRAk7Q7KMKqgAHrP/BK/wDak+J/xW0n4q67+0D46Oo6d4aGiNb3mryW1pb2S3P23zSZAsSKH8tMlj/DX65eCviT8O/iTZS6l8OvFOi+KbS3fy5Z9F1C31CKN/7rPbySKp9ic1/KF+wL+xxqH7Yev+I9D1jxPd+HvBXhoWd5qsdlh57u8nE8doscbnyldEE5850copKKv7wldz4ieBPH3/BMf9sTw/N4V8Qz6pp2LTU7eeMfZ31PQ7mcx3FjeQhihbMTof4SypMoRsBAD9fP239N/bLvPjh4Um/Z88U/2J4STSrMata/29p+mebcC8nMrCC6mjlbMO0blGDjAOQcch/wVp/aB+M3wG0z4Z3Pwi8VXnhmTWJtZS/NosTeeLdbQx7vMjf7hdsYx1NfH/8AwV1Mc37XHwuk28S+HtMJyOoOqXPB/OvXf+C4v/IF+EH/AF869/6BY0AftF8GtX1LXvg/4H17W7l7zUNR8N6Td3dzJjfNPPaRPJI2ABlmJJwAMmsuL9oH4DT+Jf8AhDIPiR4Rk8QCUwf2UuuWJvvNHJj8gTeZvA/h259q/GL/AIKK/Hzxh8PP2Rvgb8I/B9/Ppi+OvC9lNrFzay+VLJp9hYWifZSVIcR3Dz5kxgOsZQ5VmB+DL79nj9jSH9mlPGdp8d4pfiwukLqr6H5Df2e9w0YlOmrF9m+0LOM+V5xl2mQZMaqeAD+u6ivx7/4I6/HXxV8Svg34k+Gfi69n1KT4fXdnHplxcHe6aXfxyeTbbySzLBJbyBN33Y2VF+VQB+wlABRRRQAV/NH+3R4Xvde/bh8ZwWuS1xNoQRV68aTYg1/S5X4f/FLw9aa//wAFDPGNxdDdFpx0iSQHpj+x7JqipFNWZMlfRH2F8MPhfDo/gfStOvl81ooVPz84LAGvV7fwraxKAIlwPavnu/8A20Pgl4cupNFu7wiWzAjcBlxkcVXH7dfwMJVFvG+bp8y/41t7RrRbAopdD6bHhyEAHyx+VNfw/bgfcUH6VgfDD4veBPi/Zy3XhDUEn8kfPGHBZc9MgVvaRLdanq+o2d0WiitNu1+gIPWj2sjS0Su3h23ZSNq/lXMXfgu2kziNQT3xXmnxC/al+Dvw01mbQdY1bzry3P7xI5FJX65ryuf9vb4G5wLm4b6Mv+NNVG9waS2Phn9vf4NQeFvFWi/ECCLELSlrggf3SMV+1v7F/iCz8U/sz+CtcsM+RcR6gq56/ub+5iP6oa/MX9of4ueAP2jPg/rlt4RWaS60pUP7zBPzntivvn/gm7az2X7F/wAPbW4BEkba6CG6/wDIavyP0qZ73FbS5+f37V3jvUvDn7XXjS2unLacg0sRpnpu0u0J4/3iaoeEvF97rWmjTbHVbaKZjlFeTDKM56VY/bV+G17qP7S3i7xRLcBLO4GmjbuxgpptrH/Na+VfCHwz1vRr++1q31Lz2x+4QOTyQe1fAYjMKDxNWnUko2b/ADPq4YapChTnCLldI/Svwtbz6hapZ3us2jzp1Yyc81438aPhPrV7rMGrWuuW4igYM6CU9OO1fF62vxcsoLaK0a5N7PKSdm77qtn+Veo6/rXxEhlgxa3d4L1ArAqWwUGP510PAxqJShK5jRzirh5OSjZnovjD4hXel6amhWkj3ylQpWI7xlfSvDLbxReap4ksZNUtbkSWz5hjK9j14r3r4bfCn4neIPsl4dCaIIxO6aJhkMe9fRGsfs7+I28S6brcGnwgW8cnmKqHklf8a7sI6VNunJ6WZxVatauvaWPHdc+Nvh62ItC5RokUFTjI4ryfxn8W9F1HQZY7RjLJNwFHJzXH/Ez4IfFOHxJqOqyaQ4gkPy7Y2wAK+e7bQtZ8P3k1xq6eXFEDkOMDOPeqjQw8WuWWpcq1aSs46H9Gv7Dcsk37LfgqWX7zHVif/Bpd4/Svmn4/eC/Efi/48eILXRI2RT9h8ycg7VH2KDPIr6B/YBvHv/2SfAt24wXbWf8Ax3V70D9BXF/tL/FjQPhzrupxTTx2t7dCAM5IV2/cx4/IEV9dgp8l35f5HzuLpKpZPueQXOpeFvgr4ZuEsZg+orGfPunIJDH0avmjwR8RF1ye51fUb17qW/kxGGbcBtJHFfM3xp+Jd/4+1BvC2hXDGOVh58qnrnkcivcPhD4AGjeG7e3lG+aIb2eTkqetYYqs+RyudeAVKNRKqm49l+B7lr/hW81ZIWKFA4JYkevSuVuPh1qK20dtDJGd5O7nng1pjxkwka3vbh1RcKDn04rF1jXGa4DWl+yrxg7+3esaWaRilFyO2vwxjopzdGV3sdbp3gG60+F7+02edEAy7evHWuB+IfxC0TUrAR38KS3lqQDgAkYPetKL4g/Y723tILl3jIKsxbI5GK8J+KGlW2m3V3NCSzahgw46k9/51hVxsZO/MgeU1sLQnTxkJKTV4+vW/kQ+OfizCumQf2cdjEY+XgDFftN+xBq9xrv7L/gvVbokyz/2ruJ/2NTu1H6Cv509R0m90pBY+IMLIPmA9jz3r+h39g14n/ZR8DNB9z/ib4/DVbz+tePlOJ9vXlNvp8t0XjKUqWHhCejetup8D/En4TL8Rf8Agof4ufUI99hC2kNIGGVO3SLLH6iu5/ai07UvhvYSarHeSW+myKqRiNsbMALx2FbPxb+JNh8Mv2s/FF5cxgvfjTtr45ymnWw5rTuPijo3xJtjpfjXTIb6xuTtRWjDbc9CAa/B+NeLXhM8f1ynehGTX4u9vPQ/Q+HcozN0lWy9XvBX+a/Q+Ev+EpGn6No+oXestKZPNPmvLlsE+taGmeIdL1i5/wCJfe6nO79TG2Vr7ss/2YfhjJbwT6hAXs4zvgiIUgBuSMV774V+G3wq8P2SxaTolgNo4YxLu4rzv+Iu5Pg6PLGlzXbetlo22tDjxiq83PTb6d7X6n5h3U+p6TbYh0u9vVA4Jj3E59a6zwFb6jfQvLPp91bbuqSJtXBr9BPGXgzw34otVsrLZpkicEw4Ss/wh8HND0DUI9Qk1Oa9ReTFLIGQ/UVGH8X8ozClJRcY27u33Dw9aphV7WS180z8eP2gPh0um6m9/HHIkVxyvHyg96+SzDd6dcsHViB3r+n3xN8NPhx46tVs9V0+D5QQNqDqfrX5qfH34BaH8OdRF1Z2cc2n3JJVioJXHrX2mT8cYOvh08PONReT1+7c5ajo4iq2rwk+j/Q/QT9gOZp/2SfAkrjBb+2OPpqt6K+Kv2tbC6ufjx4oljlwo/s/C56f6DbV+gf7HsNpb/s5+EobKMRQr/aW1AMAZ1C6J/XNfCf7UnhnWrv48+JdQhLfZpvsG30+Wxt1P6g1+sVq6qZdRqpaSUX98T46UOXF1IvWzf5njngRpvtqRSsQQfWvqKBXES7WPSvnTw/osun30U92/lqD1JxXtz+ItMtoNyXCOVXoDXHh7tO501Gkb07mOMvK4VQOpNeYatPNeTMbG8VAvUlsAVymq/EpbnUBa3imK1BOSBjNcf4m+JVvLYXOl6BpjMrgKZtmWJPcEV1woSm9VoeXXxsYaLVnaXVhrroZIdVs3X/roTXH31h4qwXSSGZD0ZCSK8W/4RXxLFoFxN9qv/NuzuRVY5XBziu/8G+PfEWi6TbaDd6RcXLR5DSvGWY5Pc1Lw8+ZpLY2lVgoRnzblWWLxIlzh40P4Gv2Z/ZWNwfgL4X+1KEl/wCJhuA/6/rjH6V+WH/CRRT3cST2hheToCuOTX62/s+QvB8INAikTYwF4duMYzdzEfoa68uTVZprp+qMak+aN0z8tv2m/AHiCP8Aaj8YeNNJ1CGy+2HSyCXKuPK021jPT/drxfxF8T/GnhTU7SB9U+3Wz5WZVkLZHvXQ/tq6h4kuP2nfGOl2E8ywRf2ZtWMnA3aZaMePqTXwxqPjP/hHtRaLW2lkKnB38kZ+td1bAKtdylqd2W51PBVoSpwvZn2dfeIbPWLVXs7xLeGXBki3befp9auaUngWcGHWWZw3G7gg/nXwPL4vnl1GGDTZWeC6yQVOduK7/QfFOoi9j0eZTKrA/vDyw/GviMTTxvtEqc7L03sf0xkWKyDEU3PEUdfdvZ7XPufS9V8GeC5EvdDAQQ5KOcDr9KwLfxLHr/iSfxxcv/ph/wCPeXuMDB5r5cu9Xlhl+xahMTEx7HpXQ6f4vjsZ4LNAGs8HJ7iumlmCdoVUvOwZlwnQcpVqKbvqk+iR7n4o+PHjJdB1Dw5qFrHeW1whVZdpZh+Neffsk+PH8F+INTXWrETQXj5Ulcjue9cd4p8XQQae4TaUI4/GuF+FfiqNfFUlhJL+6kPy5PQ110MZDWjvc+J4m4SjLBvH00ouOr8z+l34LavY678M9H1XTYRb28/2opGowF23Mqnj3YE1+TH7anwl1KT46eI/iBLPHbWd+LHy2kO3d5NjbwnH4oa/Tr9lw5+BPhg5zn7fz/2/XFfjN/wUF+Mj2f7RnibwNf3kv2PSf7O2wK3A+0adazHj3MhNfYYCEeSMJbWR+DY+pOE5SSu7nlum6ZOsavbXEU6q38Bz3r9B/hf8c9G8F+C9L0W53m4UlXVccZavzI+F/iOXWJfsuiabeXMZI2lU3ZzX0tc/B/4p+IoUbQdNkt2kwd86MMfiK61ThTblBnHTrzqtU5qyP0b8S/Gvw15UVpHKzzSJuXYQRnGcGneH/i/5/h6We8iSK8Q/u0YY3DPp9K+a/hx8E/Gmj2kEni1EuZ15LkE7fzr0LVl0bQJ3lv2RABgBuMcV2QnBwvOWvZHPVjUjNqEbruei658bPC+m6Qt/q8gW4TJZAR/Kvm74j/tReG9V8KXEXhS4H2+QbVAIyCDjtXzj8bfEOiXnmWdtdpmb+JW4Ar5GjfR9MvHigkeT5hh1OetbxUnFxhNowq1FpKUD6FuP2gPH+j2lit2zS3FsznuSwc8Z+gr9uv2S/FV742/Z98KeJ9RUpcXo1Dep4I8q/uYh+iCvxN8L3vhY26tq6RXLOvyGTDMCK/bX9k+e2ufgB4Wms4hDCx1HYgGAMX9yOnuRmvGrVaqm6U22j08LSo8vtqe7P5kf+CoYz+3b8Sh76B/6ZNPrnPhNoxiXSdUyyNC2QPXJrr/+CmUSz/t9fESJujSeHgf/AAS6dX0L8P8Awlpc2jaZb28SKUjB3EdyBXNOm5tJM+gyvFxw7nNq91b7z3TWNc8SW/hQaxoTgtAi7gSf6V5bH8V/igLA3luV3Kfu/NnrXq9lY6pb2s2kgK1vKBkfStDTvBRceWIkAJ6YrrdSKVmjileXwnW/s/fFb4h3utxnxFJtt2B4yew96vfHG3vvG0l/f20Esk6bdrAZBxXW+D/AV2txF5OyPkDI4619c2vwusbfw7JPJJG7eUSxzntXk46kqyt0PqeGc7llOIWJW5+UGi6DPrvha40fW4ySscgIccg4OOtfjD8TfD83hjxnqOkSgjypTjPoSTX7v+KbxNF8RXNrHhUeQjjpxX5Hfta2cSfEaa+gQKs+DkDrgV10GvZqNz5/NKrr4mddL4m395/Sd/wS6/5MV+Gf/cf/APT5qFeQ/tL2OpD42a9d5LW0hsQq/wDbnAD+ua9e/wCCXX/Jivwz/wC4/wD+nzUK+Bf29/il4r8D/tDa/Bprg2o+wbEYnAzp9sT+pNeVnkuWjF/3v0Z6PC+F+sYz2fl+qPtfwNpmn6Z4ZgRxG1ywyxPXk1273GlQQKCELDrX4dW37YnjDSFX7Qdx7KM817H4U/bFk1SJft6lWH3hWNLNafsYucbJdT6nE8Lydd0ozvJdD9VRq+lNcoqkYGc1f/4TLw/pFhNbXZDRsjKyLjuDX5vW37VWg7v3kb/gBWmn7TfhWZGmkiD46iQCrjnOGk+SL1MpcIYpK8tj5N/aD+GE+q/EXVNX8Kwyva3LhlDjp69K+XtX+GXi60TzG06d8d0Qmv1Dvv2j/hVFB5+p2sSE+iqKveHfj18Ftbk8hI4SG4IkC8ZrOjWa95yujSvktOyo0/jPyv8ACHhzUrTXrQ39pIEWVch145Ir+sv9l6C3tvgR4VhtYVgiWK7xGgwozdzk8e5Oa/LHxN4S+FSaN/wkNr5Tx3RV49m3IIPb8a/VH9mO5jvPgd4ZuIsFGF8Fx6Lezr/Su+hKTr67W/VHyGa4V0I8r7nzh+1RcSp4laGylDMxj86JzwP3UeMD6V8l634hj0Owaa2jeOcLztGAa9R/b7h8S6T4hTW9CLgS7C23P8EMa9vpXwHofxok3raeI4hMh+VmIyf1r43iXMMRgsfenK10rH9L+EvC+W8RcORoV6am4N3XXcwviDfT+OrhHtkKXKsecYqFvBvijWfDX9i69IDZYGGJOVGc9694trz4fa9EbnSykNwFJ2jAOcVxuk+KXsdXbTtQUXFhI2ws3IGeleK+LMZCoqdR35uvY+7l4N5M6DrxpNKld8u2m+h5/wCGPhn8KfC8R1HU5xeXSciNirLke1e3eBfjPZ+HrtG0W1tdPt4zjdGuxiBXnXxP+HN1YyrqWmW7SWtwNytEuVGfWvDLq1vtMby7pGjB6FhgGubH55mNCtyz07eZ9hwv4e8H5rl3tsBJSd9U90+qsfqLH+054Yviltqjq7EY3HB5r60+Ed34X8YaGNWhCE9e3rX8719rKRb5IWLtF1C9RX6G/sd/Fu9awTQHLkyEAZ7c19fwvxRjoVo08U7Qloj8I8Z/CnJZ4KpVyV81enq0uy3P3P8ADkcUWjW8cAAQb8Y6ffatuuV8EnPhexbeHyJDuBznMjV1Vfd1nepJ+bP5SwyaoxT7L8gooorM2P/W/fyv5qv+Czs+vN+0X4Ag8Ti+/wCEMj8ORvaeRgKZnvZf7R8gvmP7R5S2+7I6eXu4xX9KtcN4/wDhj8Oviroy+HfiX4a0vxPpqSCaO21W0iu445QCBIgkVtjgEjcuDgkZ5oA/l9/bB+K/7BM/wc0b4Zfsl+C4l1ma7try/wDEN1YSx3ltbwo+63N1eE3UkskjLvCkw7VOGPygfVsOiXvjn/gifDbeF1N/c+H7ie+voIRveKGy12Wa4LDjb5Vu/nMf+eYz0r9pdF/Zw/Z+8PeF9Q8E6P8ADfwrb6Bq7xS6jpv9j2j2t48DB4muI3iZZjGwDIXDbSAVxXb+Dvh18Pvh3pE3h/4feGNG8MaXczNcTWOjafb2FtJM6qjSPFbxojOyqqliMkADoBQB/O/+w5/wUn+GH7Nf7ON38LPFvh3V77xDpl9eXWkCyMP2S/N829VnmlkjNsI5Mh22yDy/mXLZSuV/4JH6zdeI/wBtnxP4hvmV7nVPDWuXszIXKtJcX1nIxUv8+CWON3zevNf0FaX+zH+zlofiSLxho3ww8IWOtwT/AGqG/t9Es47iK4zu81HWIFJM871w2ec11fh34O/CPwf4mvPGvhLwR4c0TxDqImF5q2naTaWl/cC5cSTebcxRLK/myAO+5juYAnJoA/nA/aK+I+ifA/8A4K06j8UvG1veDRdE1rSL25FtFuna2fR7aLzI1coHCls8HkKQOeK9M/4Kw+Erz4l6T8Lf2y/hzBdXPhPWNBtrOa78jy5bISStd6fLOBlkE32h0BY7VdVXO51B/evx38Evg38Uby31H4k+BfDniq7tIzDBcazpVrfzRRk5KJJPG7KpPO0HGa6218IeE7HwvF4Is9G0+Hw7DaCwj0lLWJbBbRV2CAW4XyhEF+XZt244xQB+Jfi3/gsb8NdX/Z3vLXSfD2qx/E3UdKk0xrGaKM6Zb3k0HlvefaPMzJbqzFlj2CVmGxgqnzK87/4Je/BfxX4d/Z7+N/xr162ks9K8T+GbzS9FEqlDdR2VvdPcXCgjmLzGWNGHBZZB/DX6/p+xd+yUl7/aA+EHg3zd5fadGtjFk/8ATIoY8e23HtX0YdK0s6WdENnbnTjB9lNmYl+zm3K7PK8vGzy9ny7cYxxjFAH8+3/BDj/kYvi9/wBeWgf+jL6uS+FX/KaXVv8AsY/Ef/pqua/oD8DfCP4UfDB7yX4a+C/D3hJ9REa3jaFpVrppuRDuMYlNtFH5gTe23dnG446mobX4OfCKx8av8SbLwP4bt/F0kkkr6/FpNomqtJKhjkc3ixCcs6EqxL5Kkg8UAfgX/wAFq/8Akt3wx/7AEv8A6WtXVf8ABZf4M+Kk1jwJ+0RoNtLNpdnpsegapcwR5NjPFM09nJKyjISVpnRWb5VdVXOXUH9y/Gvwd+EfxJvrXU/iL4I8OeKbyxQxWtxrWk2moywRltxWN7iKRkUtzhSBnmu51HS9M1fTp9I1a0gvbC6iaCe1uIllgliYYZHjcFWUjggggigD8N/Fv/BY34a6v+zveWuk+HtVj+Juo6VJpjWM0UZ0y3vJoPLe8+0eZmS3VmLLHsErMNjBVPmV53/wS9+C/ivw7+z38b/jXr1tJZ6V4n8M3ml6KJVKG6jsre6e4uFBHMXmMsaMOCyyD+Gv1/T9i79kpL3+0B8IPBvm7y+06NbGLJ/6ZFDHj2249q+i20nS30s6G1nbnTWtzaGzMSm3NuV2GIxY2eXs+XbjbjjGKAP5Mv8AgnP+2n4Y/ZE8YeJ4fH2l32oeGvF1vZpcTaYkcl3aXNi0vkuI5HjEkbLO4cBww4Kg8g7vxz+I2qf8FKf20PDGmfC/Rb+00YR2Wi2ZnjU3MOmW87z3eoXQQukQTznbbvYBVQZ3tiv6VY/2a/2dodA1DwrbfC/wdb6NqskMt9YW+g2MNtcyW27yXljjhVXeLe2xiMpuO0jJrc+HfwT+D/wje9l+F/gvQvCsmohBdyaTp8FpJOseSiyPGisyqSSqk4BJIHJoA/Ab/grogi/a5+FsSnITw9pijPXA1S5Feuf8Fxf+QL8IP+vnXv8A0Cxr9pfF3wc+EXxA1i08Q+PPA/hvxJqtgixWl9q+k2l9dW6I5kVYpZ4ndFVyWAUgBiT1q145+FXwv+J0dnF8SvB+geLE08yNaLrmmW2pLbmXaHMQuY5AhcKu7bjOBnoKAPwe/wCClXwb8WeKf2WfgB8X/DtjJfad4T8LWlhrRgjaSS2hv7KzkguJNoO2BHhdGY4CtImTzx45oP7Tn/BOXSPgNp0958B7fUPiZY2FvYzaZLC4sbm8iiVXu2vmuJH8hyCx3K0+44KkfvK/pyttL0yz0yLRbOzgg06CBbWK0jiVLdLdF2LEsYAQRhBtCgYA4xivneT9jT9k6XVP7Yk+EXg43Pmeaf8AiTWwiL+phEflH6FcUAfNv/BNO/0Xxf8ADfxB8TPD3wc0r4R6brt5b29mNOlnkOsQ2aOftJ89EzCjzMkbrkM3mD+Gv0pqKGGG2hjt7eNYoolCRxoAqoqjAVQOAAOAB0qWgAooooAK/J/XvA93ffty/EDWpHVbW6XSVOTyQNJtIz+or9YK/Mf4xalceHf2gfFmqQkK8q2Plk9ythbj+YrGtLl5X5mlON7nI+Iv2BvhR4j1S51eaWVZblt74K4z1rJn/wCCeXwoYI3nSJsyMgqM5/CtT4YfFb4gaxrotNdiEdsXYbgCOO3Ws/8AbH+L/ir4a/Doa94ZlIkX7xBPcj0rSMlLVBUpuDsz3X4E/s4eDfgVdXdx4avJH+2bd6uwK/L9K+lp1tQku0onnKVZhwTkYr+Z2x/b0+LHnxK9zkGRQfmbuRX2Z8cf2q/Gnhn4M+GvE2lzFbzUUcyHJ/hIockZn0v47/YS+FvjbxPe+J9Uv52ur5gz/OuOPSsCz/4J1fBq3A3zztj3X/Cvyv0j9tf4waxrFlaLdPiaZFOGboWANfuVoXiu/fwLaX13OBeSW4Y7j/EVzTbS3KUW9jjrH9mv4bfC7wrq0fh+MSG5izIJQpDbASOlfV/7Ijq/7PfhcpapZqJdWAhRdqqF1K7HA98Z/Gvzij8d/EG91meDWZov7PJYYBOSOa/T39mxUX4LeHhGMLm/IA9724NYwrKVTlRrVpuMVc+C/wBrLS4tY+JviizDgSFbI4zzxZwGvy7svEGtaF4kuNPldkjjfC5OK/R/9rmz1CT40+JZtNmZJMWOQDj/AJcbevzY8b+G9evrjzOY5Ccs4yOnvX5nisNh62MrQrdXJJ9tWfZKtVhhaUqXRL56H0NoHjC9t7iO4n5dejN719R/D/4n6PavENT0y2uQh4LIGIzX5yeHfEGr+HwsGrRi7hGBuA3MBXscfjDQxpT32n3QSYD/AFTMN2fpXirJcxw80sJUbXqW8ywlVN4iNmfsX4Q+L/h29hWCCOO2wBhQAor0uLx94dUE3rCPAyCcAGvwV8LfFnX9I1JZbyUtbMwBIJ+X0r768AePo9StHurtReJHHuUP83bNfTU6+JwlSFHGwT5uqPJlGlWpuphna3RnsPxY8WNq1hcXK+XY6bGD+8m+VpB/snvX5r+MdN0fx/Z30OlxKDuGCRycHmuj+LPxc1DXp7m2vJTFbRkrHbocJ6dK4TwFPKdKmu8FGlPAHHevbzHDwo4dVob6WOXA1pVKrpz2P2b/AGMtHXQP2a/B+kooQW/9p8D/AG9Rum/rX4tf8FJr/XNU/aR8RabbzN9n0s6btQE4/fadaOf1Y1+4P7Ku4/AXwuWJJ/4mHJ/6/wC4r8Nf24Jbu/8A20PiFpCozRFtDGe3OkWJ/ma+oy2fNQg5dYr8kePjIpVZJdGzyH4PeDt04v74bxGAZHbue3NfbukyXFr4cuLt1KmYAIB1+XivEbawTwvoFnpR+S4uQDMe4A5Feqx+L/DcWhQab9sQyKPm3MM/hXNmHLKUab9TuyunXUlXoxvys8w1FtQXUgl1G5ilJ5A4FNmSKKUoZTsA+XJr6E0W88GavaiK9ePBGFfjP515fqvhzw4fEMkMV6Dbowx8w714iw9Rt+6fuGB8QcD9XX1+LjNW2WhymlaBeavcpuRoY1OS/QY9jV34vmLRtH03U1i+0x2e7JxubnFe42t9oejWw0kyQSFl+WQkH9a+fvjPqg/4RS9S0kjmnhGRGpyDn2q6uCnKg4uN2z4jMeLZZjmlOuoqNGL6q+nVtfofJ/i3xAfH2omeISR+VgHPB9K/oj/YItDY/sm+BbUncU/tfn66reH+tfy+6H4n1JLtru4h8nzHI2EY6HFf1D/sH3iX/wCyl4Gu0+7INW6e2qXg/pWeTUJYfEuglaKj+qPjc7xP17GVsdKpd81rWtp0du2h+a/7a+2b9pjxD5bAywNpoC9xu0+1rc0GzngsbY8qwUMK+iP23fAvh+wvrvx+bcDULkwmSUAZPlRRxLk+yoBXzn4E1y/1bw/b3jQrc25BG+IbmXHqa/nzxSwX1iLqQWntaid+/N/w5+5eGmZ0qVPkk7+7H8tTJ1v9ojxPonxJ0LwddPjT3LrKcnPTivpCDxBr17Nc3WmX0cCQKrokrkbsjPFfm38SXurn4sxXtrF5kcEiYJGducZr700jUrSeyt1uVVcxqGKjk8CvzPjnIcDlGEwGKnQ5vaU7Nb63vfXrZ2PRweFeZVcVSwqS5J6en/Do0rf4vapdPNFOi/aIgcbf4tvp69K8C/4bR1ZddutAFm1pcWpIPnKVBr39LfwrDKLiNF3jvgZrz7X/AAL8PdX1J9WeygW5k++4UZP1rwsNj+BniuaplU/ZuO1/tf5Gf+q2aSpKkpq/droYfw7/AGwfFfi3xJNo1pY/8e/3ptp2dPWu98e+P9Q+I3gq9g1WLF3Djywg4HPNZHhzS/BHhJpG0+3tYXm+8wUAnFbUuoaXrUEnh/SjbRXN58qnocn6V6eWZvkGHxzlleXSpptcrvey639THF8F4r2HPUnFuK9P6sfeP7HYx+zn4SB7HUx+Wo3VeP8Ax4utOj8c64lyql0Fsckf9O0Rr6I/Zv8AB2o+Afgx4e8KatIkt1Zm+d3jOVIuL2edcfRZAPrX5sftcfEu40T44+KdCSF2WAWAyBwd9jbv/wCzV/bVKKnlGG5NuWH/AKSfz/Vny4upLzf5nzZ4zuPij4m1908J2cjWnmKsbhW2Yzg5xXqWufCf4qaBZWd9ew4gkVS7AN/FivkS7+NHjrwtrH21LwWmkBt20sVYY9O3WvU7b9uA6vINP8R6vHJp0IHlqJMtwOc5PrXs4ejH2SUeh5dRy53Jq56V4r0VNIls9NKPd6jKNzRqNwGOeR9K+v8A9neP4beIdNex1vS4k1CzwJUkjAznp1r4W+C3xf8ADPxL+Lmo3styjW6BRFuYf3MHFdXrf7Q/w7+DXxFv49SuWJnI4hYdh3rfml7RxS0Jp0UoXe5+sE3hr4bRLhNMtcL0yg4rhtV0fwDBM0kFjbK57bRivzF1L/goh8O4gwgNzJ1x0P8AWuPuv+CjHhFbaWO2025nlZGVWKA4JGPWt9ewOK7Htfx21eRdbnbwtZx/ZrBlMkqL/e9CK/Uf9lLV7nXfgD4V1W8bfNML8Mf+ud9cIP0WvxP8B/Hfwx4l+FmuatqoZb2fkRtjf9444r9eP2C9UOtfso+CdTKNH5z618rjBAXVr1R+grlp3dZtrodCtGnyLufOH7Q+gaRN8cPEWoSwI1xP9h3sQMnbZQKP0Fflx+1L8Oo7W8TXbKELDMDvwOBiv1Y/aHkMfxj19gudv2L/ANJIK+V/inpFn4r8J3VlJjzVQlc+3NcMKzhiXJvrY7Z04zopLc/JfwATaeJVgvGPkjOM9uK9qtr6BdZiuLJ9yMTyD6V5Bf2suh6rJPs3GIuCMfUV5/b+MtUsLqQqrIuTs9s1ec5a6tOEqS1T/A+q4H4khgMTUWLl7so217rY+r9VurW/uHja5SGRMffOKpxajZ6egMt9DMO6q+W/CvkS+1/XNRmaZpWXd3zzUFqdTMgkM8hb615lDh+N25/mfZ5j4tVfZ8uFetuy38j7DvNQXUdPuLqxXzYIF+ZW5Jz6VxXw5v8AQLXXRqd7eeVNG5/dswH6VxHhLV9VsGMRdpIpOHU8g11eq+AdO8QR/btMf7NddSF+XmvWo5ZCnGz1+R+cYnjDH4rnhWm7S3P6iP2PtTt9Y/Zz8I6jaHdFKNR2n/c1C5U/qK/Ab9ubw5P4u/4KHeOtFUokTSaDuaThcDRdPPNft7/wTx06+0n9j3wBp+pOZLiH+2g7Hkndq96y/wDjpFfiv+31H4mi/bd8f3GkWTlCdExcRKd5xo9iDz7HivSguWKSPmasuaTbPVdSk8SfC9dPh8B6Xa3Cog3vBGWJOB1xX0p8Nvjr8WotIGp+INHkWFcABY2Ht3r86Lbxt458N+HRqUy3hMQGTLnFdR4f/a+8T2sKWUhgli6bJMkflVKaXmZ8t9UfdXxX/aR8Yf2UBZQnTjICPnBRj9K/O/x58XdfWN9Q13VZ3DkkIJDz+dX/AB18Z5PHE8c140S7eiR/dGa+R/iXrH9ravBYggxoGyB06V2UsTGnG0DCpRc7cyPbNO8U2fii1F2rtL1zv5IrRtUtRJvkRQPpXyt4c8Vp4egmgDADPAqzcfEq9l3eSze2KieKqOV7i+rU0rWPrHw1YS+OdePh3SZ3gkjZfnJwMde1f0f/ALK+jyaB8BfC2kTOJHt1vgWBznde3Df1r+cP9mnx14O0x5NT8QM0d6xGGOB/Ov6SP2Z9XsNd+CPhvVdLfzLWf7d5bZznbezqf1BrlnzOd5bHTTUYwtE/mS/4KUjd/wAFAviCP+mvh7/0y6dXrVl4+0rw9pdhD5wSVIlyM47CvI/+ClTbP+CgHxCb/pp4f/8ATJp1eP8Aja21afXbCS1WRoJIxkL04UUk2pJo3i7RaPs8/HNYojMs3yD+LPFQxftHCFsreLx/tV80nwdrWreBLqGzgdbv5doxyea8ng+D3xFuD/q3TP8AeBFEioN30P038MftMalJFJd2krTR2+PMZTkLnpnmvfPDP7adjLpzaTf3KqZBtG488/jXwx+zn8Mb/S/B3i6w8SPELqdIfIDnnIznGa5nw78A/El7rMOoXFxEtusrMQSegNctVXVjphJ31Pqrxhrcet6nFdQMP9JYsp9utfCH7Xmlwqun6iq4kYNuP0xX2ReWiReKtM0SN1cRKwHlnPRa+d/2x9Ijs/B2k3nebzMZ68GssPeMlFlVtYtn7mf8Euv+TFfhn/3H/wD0+ahXzF+2T8OofEHxZ8Y6pJaC7llSxMQK7ipSwt14/Kvp3/gl1/yYr8M/+49/6fNQrzH9qXxHe6T8S/ECWFq00ii06LkHNpCa2xlNThZrqXk1edHEc8N7f5H4OeHvh7rGsePH0XV7OS2VHYL5i7Vxz0zVbxppMXgfxVPpIdcLjBXp0zX1tqPjDxL/AMJzbanrPh9ksovM3yQQnecjjJr49+MGp32r+LtQu7LSbtoZCPLZ4+Rgc15tTBxrUXSex9LQzqpQx31ypdogg16EN94VrwaxDJkbhzXlfhiextFlTxNaXgYn5Ci9PzrU1O68NpEZdJnnjkH8MxAr5yrw9ZtJn3FLjfDz3jqzels7jxP4gg0qBfMwT8vUGo9e0HUPCGtxQrEySSfwKME/hXT/AADnifx3BNfTwlpCdoY8cCuk/aa1ySx8Q2d9biJblTnanQYxivpcLgowoexfY+DxWazePeLh3PfPhDdeKNU8LS2mvW92sNsU8gSg4IY89a/oX/Zgt4LX4F+GILYFY1W9wG683k5P6mvw4/ZX1Kbxn4Yg1LxVdwJwBHDG2CccfMDX71/A5LeP4W6IlqAIgLrbjp/x8y/1rswlBQ1vfoePnWMeJk6jVrs8B/aj0GDV7DUJroKywRgqD2/drX4P31np5u7iIKMrIw/U1/RJ8a/B114xsdU0q1cxyXCKqsDjHyAV+Onir9jj4j+E/tOpQk3oZ2faMscEk14fGnDmIzKjCeG3ij9X8BvErL+F8ZXhmMrQqNK/RavU+QdSe40i0lvNNlaORRgYOOvFXfA174osrMza4rTW9w2VdwSRg+9dN4i8I6hZR+TqETQsJFEiOMEYb0r2zxH4Hhfwkt/p1wkcMUaFg5wB0zj618XkeSTq4DE0a8f3kT938RvER4LiLKsZhKilQqb2ejTdj6c+B/xA8JeIPAV94b8TwxST2qfu5JACxzk9T6V8w+P9R8Fa1a3mj2wVZ4WbyZeM9eea8atvEa6LI93bXXkQEFXG7GeMV5Be+LI7rWXtLZmZySSR+dedSzTG4rBQw7gny3V3ufY4fhLI8nzqrmca7p+0akoJ6KT8vMQ6NBZXs8+8sHPIJ44r0/4R+OJ/D/i2z03Q/mnnlVcL259q+Ztb8Sane3sllYgkA43Cvpn9kz4Ya7rXxCs9amiaSK3kDOWBI5r3cqyzEe2p1K07tWsv8z4LjDjTLp4XFYbLaKjTd1Um9L+ndn9NnwiFwPhzov2skymOVmz/ALUzn+Rr0iuP8A/8ihpo27dqOuPo7Cuwr9Vm25Ny3P4ftFaR2CiiioA//9f9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvx2/bc1abTvH/AIhmtJPJliFnhgcHJtIO9fsTX44/tm/B/wCKvjL4heN9V8NeH9Y1SznXTzZmysbi4WQx2Vuj7DGjBsOrA4zggjrXPiVovU3oNa37H5axfHr4kaFq37q9YxBsD5j0r6Ds/jBpfxV8Nz+D/iJcYtZ1AErH7uOepr5UPwY/acSQxXXwa8eyhHI3r4Y1M5GfX7PXWf8AClfjnc6cIv8AhTvxEhmxz/xTOpAf+k9ayh/KYNyfxHfQfs/fA8t9oi1+PAYNjzl7HNezePvDvwe8Y+CNI8IT67EItMVgpEq5O418fR/s7/tEQo5h+FnxB+f+FvDmo8f+S9Y4/Zz/AGl433/8Ks8ftzwP+Ec1I/8AtvU8jA910T4e/ArwfqMN8NTW7ltjuRA6tlhyOKsfEf8AaF8T3UUlv4fuXggjASJVYjgcdq8Otf2eP2gLO4F3L8I/iHLJ1IHhrUiP/SerupfCn9pVl2WnwU8fMB/e8Lan/wDI9ROEm0kaQnypnrvwN8deJdc10x+Irx5FkPyqzEj9a/ok/ZwKN8GPDpT7v+m4/wDAyev5w/gT8IP2kR43iufEfwq8a6ZaJna1x4d1GCMZHcvAB+tf0ffs6aXqujfBvw9putWdxp97D9t822u4mhmTdeTsu5HAYZUgjI5BBqIU3GtfyNW17C3W5+f/AO0pDI/x38TsT8h+wcf9uNvXzxq3hqDUIyVTJNfXH7QXgXx5rHxm8Qalo3hrV7+ym+xeVc2thPNC+2zgVtrohU4YEHB4II7V5dB8NfiZ5RDeEddB99Nuf/jdfm+YYSo8XVkovWT6ebPsMJWh7CCbWy/I+QNV8DqjFASp9O1ea6x4JljDPDGysvOUHBr77Hwg+Idy5a58Ja5z66bc/wDxusnUvgr8RVVvJ8Ia5Ivp/Zlyf5R114GWIpNaP7jlxNGnPqj8/tZvrW08PlOFkXG/P3sg8V6D8PPj/No2ippgRVmCsu9xwQfevWPE/wCzH8Q9cDbfBPiOMtyQmk3QB/8AIVeY3H7LPxdtWCReAfEzqOhTRrwn9Ia+pp1aVWCdSHvLbQ+fq0alOX7uWh5Jq3iK58Qa4yxAyGR8nHI5Ne56XcXGnWEVunBx0roPC/7NvxR0x1uH8CeJQ/ffpF2D+sVdzcfBX4ts4KeCPEeF9NJu/wD41XmZjOdVqKi7Hdgoez1bR+tH7JMzXH7PnhSV+C39o5/C/uRX5e/tI+F7PUv2xfHWq3wVYIBpLSMerEaVZ7f5V+qn7MGjat4f+BnhrSNcsbnTb63+3+ba3cLwTx7724dd0bhWXcrBhkcgg9DX5uftT/DD4q69+0R4u1nwz4V1+/0y8/s3Zd2Wm3M9vN5en2yNtkjjZG2spU4JwQR1FfWZerUIJ/yr8kePiNasn5s+VdSv5Nc1uSbj5jsjU9MLwK2bz4f6xJYRudPUsQSrRpyc+tXtU+Bfxpkts2ngnxPHMOVZNIvM5H/bKuctF/a88NXX2K3+GfjG/hTgO+gajIuB6EQYrjxtfEQqWpwUkelRVJ0Yxp1vZ1L69rHOt4U8X6bbquJhgngZ4rMfRvF7S+Y0U+D3wcmvffCGvftF3+px2fif4O+LIrd/vynw5qCgY/2mgxXucsPjqDTZ5ovhb4pklgXMaHQrslifQeVk1FGvinBydNK3Q8nF5dL2jisQ2mfBDaR42N2r3Ed0UwdoAOa0G0fVLHSkuPEFtcH7xmZx8pHbOa+iIvGfx4mdlPwR8XoASFLeGNQH/tCuX8Wf8NGa7pktu/wj8UmCTH7tfD1+XxnnjyaiOPxFVOEqLR6mEy6VFwjUre73v0Phbxh4fXVLuPUNEiVbMseVHAx16V/Rv+wLbJZ/sl+BLZDkINX5+uq3hP6mvyqb4W/Em88EC0svhT4rtJ2Ulo30C9STP+75Of0r9cf2KdE8QeHP2ZfB2jeKdKvdE1O3Oq+fYahbyWtzDv1O7dN8Uqq670ZXXIGVYEcEUsBS9nWcEtEv8gx+X06EfbRmpOT/AMz5E/4KI+Jta0zw9rlvFEXt41gERAJxuiQn9Sa/LD9kr4weI/DyapZXjSXkLsNkMuWVOTnAr9lf2zPht438ex6lZaFot/qdvMItotLSa4JxEgOPLRs8g1+Z3gL9nP4v+Bbi8u4fh54klaQgqDot4en/AGyr86r4RYjD4zCYik5KVWbWnTmeqZ+hZZUhGOHqxcVaCvr5dfMo+JPENnfa3ca86La72DPGRtxj2rtdK+Iuj6vpqGLUljIBU4fBGOK8i+J3w1/aPuprmbTvhR4vnFwMYtvD2oSbcDHG2A14R4L+Bf7UWj3Ul3d/Cfx4yOSfKbw3qWOfY29ZZ5wHQzjLqEXeMqa0Vr9l+h6GV8SywGKq8rTU/M+o9V+IXhDw6t1DrXiK5zcj90YphlcdeteXW3jrw7qJMNhrmt3jEnHkyhq8m+IvwE/aN8RtCbL4OePMpncf+EY1I9fpb16N8Ffgz8cPBoWXXPg348MqkY/4pnUR/O3rlo+HNLD4Z1nOUp9rR6fIqfFM6tT2XMlHo7vr8zcbxx4T0a9tjrt7rsGCcC4YKrfnXpvg34leD9S8c6Wnhi8uLi9mkGxGYMoxjOQKxv2ivhx8V/iN4asbfQfgx45h1G2BAePw1qGDnH3sW5NO/Yq/Zp+K/h7x2PEHj74c+LNONsf3DX2iXtvHyMHJlhUVk+DaEcHLMJc6mk/c017dNrmT4hqqo8PGUXfr/wAOz+i/4Z3c194G0m6uMeY8b7sdPlkcf0r8wv2p9H0a7+NfiSa5C+e32HdnrxZW4H6AV+oXw6tJ7Hwbp1rcwSW0iCbMUyGN1zM5GVYAjIOR7V+Xv7UXw/8Aidrnxx8S6n4d8La7qWnzfYPJubPTrmeCTbY26ttkjjZW2sCpweCCOor9Ly+nJZNhYNaqENP+3UfmGL5Vjq3LtzSt958f6/4D8L61C1tqESSRnsQDXkGofs5fDm6YsIzGD2UAV9MP8JvjORz4G8Tn/uEXn/xqqz/CL4zEf8iJ4n/8E95/8aq4OtHSLaM2oPc+ffC/wX8NeC77+0NCu57eXvsYLn8qTW/g54P8Ram+q65JLdzvjLSEN0+te+N8IfjP/wBCH4o/8E95/wDGqiPwf+M//QheKP8AwT3n/wAaqvaV99biUYdjwOL4K/DOA/8AHgjY9UU1qQ/DT4d2o/daXAT7xivYj8HvjR/0IXij/wAE15/8aqM/B3409R4C8Uf+Ca8/+NUOdZ9x2gtjzu18O+FrGJoLWxiSNuqBQFP4V+5X7H0Ntb/s6eEobONYoV/tLaiDCjOoXRPH15r8dT8HPjV/0IPij/wTXn/xmv2Y/ZQ0bWtA+APhbSPEWn3Wl6hB/aHnWl7C9vcR77+5dd8cgVl3IwYZHIIPQ114BT9q3LsY4i3LofFf7Umox6V8WvEV08m3iz4J/wCnOCvzV8XfEPXI72fyZP3LZAGT0r9PP2ovgF8T/iF8VNa1nw9azy6ddfZPKZIZXU+XaQxtyqkH5lNfIeufsSfGe+xt064OPS1n/wDiK66WHSqOUurMatVuCjFn54awrajNJMy8yHJrgb/w6sjZ2c59K/Sb/hg/41MOdNuf/AWf/wCIpP8Ahgn4yM3z6bc/+As//wARXqOUbWOK0m9T80YPCjyMAF61vt4NazVJGAw3b0r9MLL9hj4r2sBD6RcM/Y/ZJ/8A4is+b9hf4zzMS2m3OOw+yz//ABFY7stppaH5/adpKwEMB0rrrfMWGjO0j0r7MH7CPxnTpptz/wCAs/8A8RWlB+wR8aZIw/2V0z2aCYH/ANArVSjazMpRm+h+rf7Ccrzfsq+CJHOWP9rZP01S8FfPX7RHhjQZ/jD4h1a6s4ZbiUWZZ2UFm2WcCjn6ACvrn9lbwBrXwu+AvhfwL4iXbqGmf2h5w2lf+Pi+uJ14YA/ckFfN/wAZPBfjrXPjF4lvLPQ9Tu9Mb7D9mngs5pIpMWkAfa6oVbDgg4PBBHWuDF35PdO/Db2Z+RP7QfxE8TaTFdaBZ6Cv2JwVEgiOMfWvzOkvNVtrh3UspLE4OeMmv6S9U+CfiPW4mh1TwfqlwpGP3mnTn/2Svn7xZ+wofEO97XwprFrI2T8mnzKM/wDfFc1CsoLWJpVpSk9Gfhsdf13HyOQfUE0y0vtTlvBNch5HPGTzX6h+IP8Agnf8S7Jml0nw7rE6jkKNPuWP5COsTTP2F/jMGVn8Ha0gBx82lXYP6xV6EalNq6ZyuNTax+eVr4Wu72UySKcMc4r0zw/8NLu8dUgtWkJ9FzX6eeEP2IfGNo6S6x4a1o45KjT7jH6x19GaN+zzrWiRLFZeDdTDAfeOnT5/9ApTxUY/CrijQlJ+87H5e+DfgbrN1cxxvbiBCRksMV/R9+yJ4fXwt+zv4S0JeRajUf8AyJf3L/8As1fDdz8KvHsBU23hTWM/7OnXBx+Udfo38C9N1HSPhXoen6tazWV3F9q8yC4jaKVN11Mw3I4DDKkEZHIOazhXnUl7y0NXRjBXW5/Mz/wUh8KXOqfty/ErUYpkjCf2CwDHB+XRLAf0r4dvfiBrhuVgEp/c/KDk9uK/Uz9vP4H/ABv8X/thfELxF4T+Hni/W9GvRowttQ0vRL67s5/L0iyjk8uaKF432SKyNtJwykHkEV8TyfshfH6WUyt8J/HuSc/8i3qP/wAj1q3YEr7Hi8XxX8Z2kohhv3QcDhzithvib47ADDWDz/00Neqp+x/8eCdz/Cjx7n/sXNR/+R60I/2QPjhxv+FPj7/wnNR/+R6iU0XytbHiw+K3j2B2ZNYcFuuJDzVmH42fEKzjKpq8pHoJDXt0X7InxmHMnwn8fH/uXNQ/+R60If2Tfi9Ecn4R+PXx6+G9QP8A7b1MqvkNQfc8i8B/GLxSdca+ubmWe4H+rJYk8jmuw+LGseMviV4b0y2uhsjsvMJ35/iOa9O039nb4yaLMLm1+DPjpnXp/wAUzqP/AMj1ieK/hZ+1Nfwtbab8G/H6J0G3wvqf9Les25NpxRuuVQ95n9Av/BMqyl079iD4b2U2C8f9u5x051u/P9ayvjhY2tz8UNbM8YbP2TJI/wCnWGux/wCCd3h3xd4T/Y78AaB470fUNA1y1OtfatO1W1ls7yHzdYvpI/MhmVJE3xsrruUZVgRwQam+LHhHxHqfxA1W+0/SL66gl+z7JYbaWSNttvGpwyqQcEEH3FbTV1qPAz5arfkfMk/hTRbhcNbI+fUA1x998JvC16SZNNt8t1+QV9FR+BfF6HnQdT/8A5v/AIipm8C+MMZGhaln/rzm/wDiKwdNW2PW9srWufIN5+z74Iu8iXTLf/vgV5zrf7KXgC/LbbBUJ7ogFfoHH4E8WhiW0LUz/wBuc3/xFWR4E8UDOdB1E5/6c5f/AImodPsg9su5+V8n7GWkQ3YvNFnms5UyVZTtx+VcN4h/Yz1LXtR+1apqM1yV6Fn3H+VfsO/gfxZtK/2BqP4Wcv8A8TUC/D7xOOToGo/+Ac3/AMTUeymRzwW7Pzs+Ff7OGp+EJY0t7uVYoyPl3cV+4XwJsn074U6HZO25ohdAk983Mx/rXyxH4K8VocLoOpgf9ec3/wARX2L8L7K70/wLplnfQS208f2jdFMhjkXdPIRlWAIyCCPauqlCx5+NkpRua2p2fmXjyYzux+gFYl9o63UJSVdwIwQa7mZAxztJ+gqq6Z48tvyNd8cQ4qyPGnh4SumfAf7QX7NWneNdDuL3RYRbX8eJMxjbu2nJzj6V8K+K9Lz4Ik0KYpa+UCt0W+Vl2Hj88V+70tqsqMjRMQwIPynvXxz8U/2Q9F+IN9cXdtc3Fkt0QZo4ztVse2KxrcrblBWb3PVwmOqxVOnWk3GDvFduuh+B7eHrXxJMtrbS7ogxHynrg0sHwr1D+2JG0uzllkcAAhc9sV+5/hT9iLwN4XjSNbeSVl6sUzn9K9NsvgL4c0OUNZaSzkfxeST/ACFfJ4PgunHSVV2/zP3XOPpCYirFTp4OPOkrN66rRM/Fr4cfsi+INZuI7i+tjBGx3EspBwa/Uf4Q/BrRvh3p0cNtEvm4G58DJr6V/wCEPltYVW1sJVx2WJv8KqNoWsocJY3RH/XF/wDCvu8uyvCYVJ0t+/U/BeJeOs5zj3cTK0f5UrL7j2bwkoXw9aKvQeZ/6MaujrnvCkM9voFrDco8ci+ZuVwVYZkYjIPPSuhrirfxJerODD39lG/ZBRRRWZsf/9D9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACuevvF3hPS7p7HU9a060uY8b4Z7uKKRdwDDKswIyCCM9jXQ1+fHxyiLfFDWSO/2X/0mhpNjSPtv/hPfA3/AEMek/8AgdB/8XS/8J54H/6GLSv/AANg/wDi6/OaPw/erbre3itDbtyHbgHHvWvo2kaNqPmGW7EMcePmZsZoTK5T9Av+E78D/wDQxaV/4Gwf/F0n/Ce+Bh18RaT/AOB0H/xdfnXrK+HNOuHgW73Efdww5rncpLJ5cZznpUuTW4ODP00/4T/wH/0Mmkf+B0H/AMXR/wALA8B/9DJpH/gfB/8AF1+YkluynvVVhg8mnzEtNH6if8LB8Bf9DLpH/gfB/wDF10dhqFhqtpHf6Xcw3lrLnZNbyLLG20lTtZSVOCCDg8EYr8kse9fo38BuPhRof/b3/wClU1NMR12q/EPwBoV/LpWt+JtH0+9g2+bbXV/BDNHvUMu5HcMMqwIyOQQazv8AhbXwq/6HPw//AODS1/8Ajtfnn+0b4ee++M/iK7C5D/Yf0s4B/SvBn8LOM/JX61lvh1hsThKWJlWknOKey6pM+CxnGU6GInRUF7ra37Ox+wv/AAtv4Vf9Dn4e/wDBpa//AB2k/wCFufCgf8zp4e/8Gtr/APHa/HJ/DD/3arP4Ybutdv8AxC/D/wDP6X3I5v8AXmf/AD7X3s/ZX/hbvwn/AOh18O/+DW1/+O0n/C3vhN/0Ovh3/wAGtp/8dr8Y28NEDG2oh4YY/wANH/EMMN/z+l9yD/Xmf/PtfiftD/wt/wCE3/Q6+Hf/AAa2n/x2k/4XB8JP+h28Of8Ag2tP/jtfi+3hdgOVP5VX/wCEYOcFaF4X4d7VpfcgfHNT/n2vvZ+7mk6xpGv6fFq2hX1tqNjPu8q5tJUnhk2MUbbIhKttZSpweCCOorkNa+LPwr8N6rPoXiLxl4f0rUrXZ59ne6pa29xF5ih03xSSK67kYMMgZUgjg1wv7MVr9i+B3hq2xjZ9v/W9uD/Wvx6/bRX/AIyk8bn1/sn/ANNlpX5NmWFWGxdXDJ3UJSj9zaPu8LiXWw9Ovb4kn96uftcPjh8FiQB4/wDC5J6Y1mz/APjtSD41/BtsFfHnhk56Y1iz5/8AItfzlWy/v1B7D+ldBaR/LCP96uBysbKoz+hV/jX8Go13yePfDCr6nWLMD8/NoX41fBt4/NTx54ZZD/ENYsyPz83FfzseIJ1ttMjB6yNj9a7HR7KM6fBEV4dSaXOXzaXZ+/K/Gb4PuQE8deGmJ6Y1e0P/ALVpz/GT4QxlFk8ceG1MmdgOr2g3Y64/e81/P7Hay2N1BJyyNu469Ks3hE6afPyNhcfmafMHMfv8Pi58KCAR408PEHof7Vtf/jtdppeq6XrdjFqmi3lvf2c+7yri1lWaF9rFW2uhKnDAg4PBBFfz/rEsVsDI4ULjkn1r9k/2YHR/gZ4ZaMhlIvsEdP8Aj9uKoFK7se03GtaNaTNb3d/bQypjdHJMiMMjIyCQRkHNRf8ACReH/wDoJ2f/AIER/wDxVfP/AMQR/wAVhfn/AK4/+iUrk1XPevUp4CMoKV9zwq2czhUlBRWjaPq3/hINA/6CVn/3/j/+Ko/4SDQP+glZ/wDf+P8A+Kr5ZCn3qTbVf2dHuZrO5/yo+kZvHHgq2mFtceINLilPSN72FX/Ivmse9+LPws012j1Hxl4ftXT7yz6paxlc+oaQYr8ef2lNe8T+FfFK6pZeaIRnbtzt6V8zaP8A8Jd8U9WdDKC82PN5PygdM14753zezi3Z2PpafJ7OFScviR/Q/pvxZ+FetOY9H8ZeH7516rbapazEfUJIap3vxp+Dmmzm11Hx54ZtZl4Mc+sWcbj6q0oNfjZ8LfDs3w28TwLqDb7fVMqrnkKVGDz9av8Ax18BaVdPEtnH/pN3ljIB83r1rWFOUqPP17HI8VBYj2L2fU/bzRdc0TxJpkOteHdQtdV0653eTd2UyXFvJsYo2ySMsjbWUqcE4II6iqV/4u8KaVdPY6nrWnWdzHjfDPdRRSLuAYZVmBGQQRnsa8H/AGO9Hl0H9nLwjpM7mR4P7SyxOSd+o3Tj8g1eJfHCBpfijrIGcH7L/wCk0NFOPM7G83yn2yPH/gQ9PEekf+B0H/xdOHjvwORkeIdKx/1+wf8AxdfmTNaSwjKg1z8viOws7gWd1dRxyngIzYP5Vs6MbXuYus07WP1V/wCE98DZx/wkWk/+B0H/AMXS/wDCeeB+n/CRaT/4HQf/ABdfmEtykqh4jnPcUNK8Z+bvT+rq17h7fo0fp7/wnfgcdfEWlf8AgbB/8XUJ+IfgBfveJtHH1v7f/wCLr8y1Z9mSetcnqazxSFhkg0lQTdrjdZ22P1b/AOFlfDkHB8VaJn/sI2//AMcrqdO1LTtXs49R0m6gvbSXd5c9vIssT7SVO10JU4YEHB4IIr8YkhkH7yXIBr9Qf2ecf8Ke0DHT/Tf/AErnqatJRWjHTqOT1PUrvxBoNhM1vf6laW0qY3JNPGjDIyMhmBGQc1S/4TLwgP8AmOab/wCBcP8A8XXyn8Yb3y/HOpw5xt8j9YIzXiE+o+UHLGvpMHw7CtTjNyauk/vPksZxTUo1Z01Be62vuZ+ijeO/A6HD+IdKU+97AP8A2emnx94FHXxHpP8A4HQf/F1+SGueJXjuiqMetT6Tf3mqOqRgnNe1/qNBQ55VHb5Hj/6/ycuSNNX9WfrXH468EzHEXiHSnP8As3sJ/k9XU8UeGpPuatYt9LmM/wDs1fCXgnwuXRXnXnjrXudjoFtEgG0V4GKyXD0pOMZt/cexQ4lr1Fd00vvPfT4k8OjrqtkP+3iP/wCKqJvFXhdPv6xYL9bqIf8As1eIzaBA44UViX3h6AjGwflXLHLaN7OTOn+3638iPp+0vLTULdLuwnjuYJM7JYXEiNtJBwykg4IIPvU5dV+8QPqa5DwDarZeErG2UYCed+srn+tb92CXzmvJnTSqSgtk2fR4eq6lGNRrVpP70XzLEoyXUD3NU5NV0uHPnXkCY67pVH8zXDeLdZGj6VNcs2NqEivzZ1n9pCZfFk2iSyHCsVwT1zT9ku51Qg5bH6sx69ocvMWo2j/7s6H+TVKuraU7+Wl7bs3oJUJ/LNfmx4d8fah5xO9vKbkZ969A0vx1dR6l5ryZzjIzWM3COlzeOFk02fdwvbMnAniz/vj/ABpwurY9Joz/AMCFfKdl8S7UXiQzOOfvc17DpHiHTNT2G3lBJ7ZrZU4vZnNOEovU9QDKehBp1ZEcoUA54NaqnKg1nONiU7nNaj428GaPdyWGra9plldQ7fMgubyGKRNwDDcjuGGVIIyOQQaxZfi18KoG2T+M/D0bej6paqfyMor8+v2o9TbRviN4ivVVWOLPGR/06QivmnwVY2fjXUUF3c2qTu3yqzYFctXERhJRe7Pp8m4aqY+jPEymowj33+4/Zr/hbfwpxn/hM/D2P+wra/8Axynn4r/C1Y/Nbxj4fCD+I6pa4/PzK/M3xF4Th8GWguNU0xZ7bbkTRJlD+NfMnjPW9P1tvJ0km1iGQwX5c1c6ijuz5bEzjSm4qSZ+3Z+OPwVBKn4geFgR1H9tWX/x6pk+NHwdl/1Xjvw0/wDu6xZn+Utfz52+i6a0jKWkZvU1pLpvlODbNwO1clXGOKvFXOJ4xrZH7/8A/C4vhH/0O/hz/wAG1p/8dpg+MvwgJwPHPhvP/YXtP/jtfgG/2rfkjaB1zTVWIcb8M3fNYrH1LXcQ+uytex/RrpGs6R4g0+LV9BvrbUrGfd5V1aTJPBJsYo22SMsrbWUqcHggjqKxdT8e+BdFvpNM1nxHpNheQ7fMt7m+ghlTcoZdyO4YZUgjI5BBrxj9kNSn7PHhNS27H9pc/wDcQua+Nv2lBn42eIgP+nH/ANIoK9jCRVVJy00udntPcUu5+kB+KfwwBwfF+g/+DO2/+OVGfiz8Kx18ZeH/APwaWv8A8cr8bJ4lQbyPrWXPax/ZRKozk/1rarRhDS5PtX2P2s/4Wj8MsA/8JdoWD0/4mVt/8cp3/Cz/AIaf9Dbof/gytv8A45X45x2++0jlx2qWRPlGwZPtS9lC24vay7H7Dj4n/DU9PFuhn/uJW3/xyl/4Wd8Nf+hs0P8A8GVt/wDHK/HyJAowRyaVol7Vawy6sr2mh+wP/Cz/AIa/9DZof/gytv8A45XV6bqmmazZR6lo93BfWk27y7i2kWaJ9rFW2uhKnDAg4PBBFfie0fGMV+p37N4K/Bfw6D/0/f8ApZPUVaSirpjhPmdjqtc+MPwk8MavP4f8S+N/Dmk6pa7PPsr7VrS2uYvNRZE3xSSq67kZWXIGVII4Iq/a/Ez4b30QmsvFeiXEbch4tRt3U/QrIRX4Kft8+Hb4/tN+MdcsnJB/ssuo/wBnTLRR/Krn7N/jJ9X0ibR7xyZrXAGTzya83Ma08PR9rTV+5yRxnNKUY9L/AIH7zD4heAWJC+JdHJHXF/B/8XT/APhPvAuM/wDCR6Tj/r+g/wDi6/MXTvsMc7b2DE9RWncNBIRbQYy/Q189DiRt2UUOOMbWx+kg+IXgEnA8TaP/AOB8H/xdI3xE+H6Y3+J9GXPTN/bj/wBnr8wniSzLxTfeHeub1jMsG+MncOmK6JZ1UTS5VY2nVkknbc/Vl/id8NYziTxZoakf3tSth/7UpV+Jvw2fhPFmht9NRtj/AO1K/HKa0vbn5ZwFx0Pc1U1dr7TIoVtULSOewq6GcVKknHlRhHGXW2p+4enalp2r2ceo6TdQXtpLu8ue3kWWJ9pKttdCVOGBBweCCKu14b+zaZG+C3hxpRhyL3P/AIGT17lXuUpucFJ9UdsJc0VIKKKK0KP/0f38oor8W/8AgrX+0d8bfgJqfwxh+EHiy88MprdvrjX62qQuJzbNZCIt5sb42CV8Yx1oA/aSivDNP+OHwt8K+HvCmn/Ejx74d0PXtX0qwmW21jVrOxu7qWaGMlkimljdy7t/CvJPFeq+IHurjwxqUmjTAXMthO1pMkiqBI0TeW4cnaBnBDE4HXpQBvUV+Xn/AATvsf2vbPVvGzftReI212CSz0s6Mp1zT9X8mTfc/aBtsZ5TGSPLyzgBv4ScHH6QQeMPCV01wttrenTGzjea4Ed3ExhiiOHeTDfIqn7xPA70AdHRXNeE/Gng7x7o6+IvA2u6Z4i0p5JIlvtJvIb61MkR2uglgd0LIeGGcg9a5XSvjV8HfEfiO48FeHPHfhrVPEduJBJpNlq9pcahG0f3g1tHK0oK98rx3oA9Por8M/8Agl5+0z8ePjX8dPHnhf4qeMr7xFpWkaJLPZ210kCrFMt7FEHBjiRiQhI5OOTX7mUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV8FfGwBPiPrExGdv2Y/lbRV9618MfGnyI/iDqslwQEY2oOf8Ar3iFJjTFt9E1j4m/DGOLSTHC5yNxyAoVueleMXHwr1+fUF0BdQWFLP8A1z7yN2eeten6jruveFPCRfRAILWNSwVMgtn6V8fa58aNWvI7pBNJaXbkhWY7SxFHt6cnyxep3U8HL2bqOR7o/wAP9Ds7tF1O+LlTy5bjjrzXqekeIfg9bxnTUuoJrmNdudyl81+YEevfEPXdSNp9vkfzM4+ckc123ws+DPi/UfFM91rU8kEC8h8kZyOxNW8PT3ZyqrbQ+89T8EWupWMut+G7lbiDk+Xuy4/AV4/cRmORo2GCDgirNpoPjLwVF9r0m9kmt0PzxFiQyn2qS8mTUgNQjGwyffXoQR1/WuSEeV2T0HUV1dGSRg1+jPwG/wCSUaH/ANvf/pVNX50spr9FfgMMfCjQ/wDt7/8ASqat4mJ4x8VPCUmp+PNVvlTIk+z84/uwRr/SvLJvAsn/ADz/AEr7p1HQY77UZ7hkyX2849FA/pWPN4Utv4kAz7V+m5bxq8PhqdF/ZSX3Kx+RZpw3jamLq1Yx0cpP72z4ffwO/wDzy/SqMngh+cx19xt4LtyP9UPyqpJ4Itz/AMs/0r2afHsd2eTPh3HR3iz4afwUR/yz/SuZ8W6UPDuhzagsWZVUlQRxxX38/gS3IOI/0r4S/a4mvPDOlpYafhfOOz8yBXxHiD4g4n6hCngJcs5Ox+g+GnDMKuZSeY07wSvqfmhf/tAePovFMumW1itxGsmAkaktjNfVXgXxf4m1+CIXnh65jd8ZYwkDmvpH9nT9mTwq+gweLNYtUur25G/dIobBr7Fg+HOmWqhLa3jiA4G0Yrr4Zz3G4WjF4rEuT7GHFtXB1a86eDwtrPc634F272vwr0OCRDGyi6JU8EbrmY/1r8WP202x+1L41HvpP/pstK/eLwvYrpuh21kvAj8z/wAedm/rX4Iftu6jHbftT+NFdC2z+yvujk50y0NfKZlX9vjKtb+aUn97bPpsvi44GjFqz5Y/keH2/MrH0ArpbNG/d54wDXmttrl9O8n2W3KgYALiumt7fWLokzTBAo52nHWuBxOhMl8QRw3E2n2byKAWcnn05rvbTWNLto7aNW8whWAC89BXlkNiq65bRXDvIE3ZLHPUV6tp2mWMIg2xKcbuSPWpNG1ZXM288RSSx24tLRiDv5Zelc9Iddu7GJyFiVW5xweTXpU2mXD2Qa2tziPP3R61StrGWWCWB0bKlTjHvTWrGplRfDt5NBMLy7kOPLOFav20/ZUgS2+AfhaCMllUX+CevN9cGvx92ENOnsn6Cv2E/ZXbd8BvDB/7CH/pdcVaRUXdmd8QBnxbff8AbH/0UlcpGprrPH//ACNt7/2x/wDRSVy8dfQUP4cfRHxWKX7+fq/zHO6RIXk4UV8+/FP496J4FtmSyZJ7leq9cV9A3iSPauI1DMQcA9K/Oj4z+DX1XWZpLyJIGQ5wgwDmvKzvMnhKHtI73PVyLAQxVZxqbI3W+NHhb4weEdUtdZtootQtk/dhlAJznpzT/wBmnwRp0XhbV/FqDdLdEhc87dhI4r5A1HQYfDHn6hazEMVIKqevGK+0/wBlXW7O8+Et5ZCZftMW4tHn5hlj2rzcszVYuUuV2stfNn0WZZY8Jh15yVvJHV+LfDbaj8PYtQthi5sZC0bDrjfk1xTazF4o1DTDKMmGKQP7FV/+tX0folml34LaBhlXWX+tfHlgLnQrHXZYv3twhIt1HJ+YkHFehVqypShy7SX5Hk4egqvO29YvT5n6tfstzfaPgX4blB3ZfUhkf7OoXI/pXinxlMSfEjV3fGf9G/8ASeKvT/2Nkvk/Zw8JLqUbQ3G/VS6MMEbtTuyOPcEGvAvj9ePB8VNYTdhT9l/9JYazoNyd+561ayPPfFXiGy0bRrvU52CRwxMcnjnBxX5f+H7zW/iB4qvvE76wIrZZsJ5khCKA2K+pf2kPF1tpXgOezEmTdLhsHnANeG/s53Xwp17Qrnwtqt0lvPNkqxZVJbJP86+c4sxlShhf3d/kduUU1Kv7x9PXOt33hLQLW4tX+2rty8v3lP0NR6J8X9K1Vgt+vlMOPQVgawI/DPguTQJZ1vAmfLdTuwpORk/SvIvDS6dA7SGB7iVzwMbl5r5vLuIsZGGsrpdz6HEZTh6nSzZ9k2+pR6jGs1lIHjboVOavS25l4fkivB/Cmq6los7RyRMIXxhCPu/hXqK+OdCtcx6lL5TcYJIAr7jB57RxEL7M+YxWVVaMrbo17m2woQ8Gv0f/AGfk8v4RaCnp9s/9K5q/Nw6vp9/HHcQSb0kztINfpL8AM/8ACo9Bz/0+f+lc1dX1iNRWT1OeNKUJXZ87fGwMnxC1Z+x+zf8ApPFXzZrN9J86J3r6j+NcDSeN9UKjr5H/AKIjr55/sCS5mJdTjNfq2TThHDU5y6RX5H4/ncZSxNWMf5pfmzxk6Zd6lfBQp5NfTXw68EeWkckqZPHak8NeCk+0rIyd/SvfvsX9i6DdXkCgPBCzLn1ANa53nbdNU6bOLKckjGftJnQaVo4t41CJjj0rqIrV1HTivjD4GfEr4neIdWfUdZFvNo0kzp8m4ugVio68V97JCrxgj+IA/nXwFPHxr3lFn2tXAOha/a5hpFxyKqT2wY9K6Q24HSqVxHhTWikYtHaeGVCaJbKO3mf+htVq8OHNV/Dn/IGt/wDtp/6G1T3w+fPrXkS/iy9Wfb4X/d6fovyPjn9qP4pWHgHw076oGWN1PzjpX4U+PvizoPizWzqfhm48q9hYnqBv/Kv2Z/bq8BL4o+GF7cN5rGBCQEr+YyBWsPFrWkCshWQqM8HritnTTSZ6FOpyx0P0a+Gn7SmpQmPTNYQsyEKWx/jX1FafFG5e9Wa0UyJKAcDntXwR4F8M+bNbrdWpZpsHcF+YV9QX76l4I0qDVrK3SVoyuEmGcjIzx9K83EUZJ8x6WFruTtY+hP8AhPj56y3aPCGBySMdK6r4L/FjU9e8fnw/pjvJbwuAzk5HNeU6h+0v8KLbwzbRa7pcTaiyESiJFwp/GuB+FX7TfgHR/iDbR6HYxQJdyqrNtAbk4HSqwnuz95nPjJxastz96NNjea1iLdcDrXRqMKB6Vzvh28XUNGtb1RgTRq4/EA10Y6VrUld2PNUbO5+X37ULaS3xC8SxajIoJW0wpPf7JDXwX8LdBu9b+JVtZ288kFospLOpxwOetfSH7ZHiJE+N3iXRiqkp9g+vzWNu3P5186/D3V9Q0LWorm2TcWPYc14+YRUrNLVHu5JxTVy5VcNTjfnVr9j9pdH0Lw3rnhP/AIRvUilzF5QQNLhiCR61+Xnx8+Ct/wDDXWpb2xVptNmYsjIMgCvZtG+LN7aXXktMyKNu5ScEV7FqXiPQ/iT4Xm0K+KzOUOxzglT1rSPJiaXmfP4qhz77n5Tx38igtBC5Ydsda0NO1DUJH2vavGT3K4r2pfhP4rm1W407R7FrpYnO2WNSwwenNekeGP2afif4guY0ntltYc8tIGU4rljh31TuefChfSx8+6d4e8SawkkllZvNFHyzBSQo96vaJ4Cv9eeYPPb2zRdpDivrX4ifCjxf8I/CkkenXkLRTp+/2sfM49K/NXX/AIi39hrixafLcZRyJRnrk13wwsFTuzp+rRitdz9/f2UrGTTfgH4YspWDNEdRBK9Dm/uT/WvjX9pIQx/GXxBNI2CfsX/pHBX19+yFevqH7O3hK8kzulGok568X9yP6V8RftUmWX4zeIYY8jBsefrZ25rqoyaimtNDb7CPItbxHZeah4NY8EqyaQHc4x/jWdrV1dW2jLG4JbFc+Lm6bRRGgNbYq/N8jNo9ItL9W00sh3BBnivkf4sfGbxnoN95WhaZObeFvnlKHBH1Fe6aRqFzbaS6spPP9a9u8G+EvDmqeF7zVNetYbwFD+5Khm79jXwnHnGy4Yy+GNnT53Jpcvc9jJsCsXWdOT2VzyD4Q+Pl+IHg+DV5U2XQGJExyDnFerRWzAbn4zXzT4Z1bQvB/i25s7Era2lxLgQHChcHsK+pVnjuYVliIKsAQRX12SZzTzHDxrU1ZvVrtc5cbhXQm4mfIozgV+oP7OeT8GvD2ev+m/8ApZPX5mBFY81+nH7PQ2/B/QAP+n3/ANK569Guc1Pc/FD9uK513T/2qPGrvBJLplx/ZQBAJAxpdoDjt97NeN/BKW90n4lxWthE72dxkyNjI+7nmvoz9tLU71P2l/GllKFeEf2V5KnnrptoWz+JNdT+y74L0fU9Sa/uwvnIMuBjAyO1Ktg44mi6Tdm0eBTjN4icktE3f7zs9SjdZmuYXCbsfKOKv6ZdyFPOkkUNH0yeazfibf6PoXiSe2sJt8SkAc9DXLwSteWYvoJPk9jxX51nDwmWUObE97erPuco4ZxGPaeHjp57ep39xcCYNNM4H1PWvL/F3xD0rQJVtoGErnr3ArhfFPiLULdHSOZgORwa+aNY1Sa91JEnc4LjLE+9fOYTP6WPqqhSVl5/kfpmD8OaGEh9dzOXPFa8q/M+ytK8VJrOnPe7XAHIx3+lS2GvRz3QW4G4joG7VyOgxrbaTb/Zv9SV69jxTpArSC6gyGQ/N6V9JShUhU0j8z8ZzD2CxtWphqfJTb0Xkfsh+zo4k+Dfh5x0P23/ANLJ69trwb9mSXz/AIH+GpRxu+3fpe3Ar3mvtcNb2MLdl+RcPhQUUUVuUf/S/fyv58P+C47Fda+DjDGRbeIjyARw+ndjwa/oPr+e/wD4Lk/8hj4O/wDXt4j/APQ9OoA5y+/4JJ+IvEP7Osnxf1zx3qF/8ULrRF1+TT7pUns3C24mWxe4d2laYRgIJt/lhhjZtG6u8/4JMfG7xh4q+EvxV+C3iW8m1HTPC2jf2jojTuZDaQXUU8U9qpYkiEMiPGg4Us/qBVG1/wCCv3guH9llfCEnhrUz8UI9B/sFVEcJ0Y3Ag+zrfGXzRII9v7wwCLdv/dhtv72k/wCCRfwi8T6N8Kvi58ZtYt5bTSfEGlNo+kGRCguxZxzyXMyZHzRq7JGrLkF1kXqpwAZv/BDj/kYvi9/15aB/6Mvq/O34MfArx/8AtI/tM+Kfg34B1htAi1e91aTW70ySC3TSba8Ej+dDGy/aF84Q+XESFMuwkqBuX9Ev+CHH/IxfF7/ry0D/ANGX1ebf8EtP+T+/Hn/YH8S/+nK1oA9A/bQ0nxX+wf8AsaeDf2VvCfi+bU5/GetavdalrFrB/ZcsumRGOSW0Ea3EzqkklxGshD4dFZG+Vyp574Vf8Ekdd8Tfs4aX8YbTxreaR8TNR06HxHodhBGI7K3DILi0gklGLhblxtJmQqIXbAR9m5vpr/gtB8HPEvjH4X+Dfiv4esZL638EXd9b6sIUZ3t7LU1hIuGAOBFHLbqjnaSDIpyFBNeUfC7/AIK+eBPBn7MmleD9W8Oavc/Ejw9ocei2iosB0q6ltIfJt7qScyrIilVVpYxCW3ZVcg7gAeWf8EUvP/4X58QftW/zv+EW/eeZnfv+3Qbt2ec5655zX9KVfzXf8EVJpLj4/fEK4mcSSS+Fi7uBgMzX0BJxgdTz0Ff0o0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV8LfHRbRvHGpC8bbHm2J/CCKvumvhX9oi2B1nXLhkJIWDaQP8AphHSab2HFpO7ORvPHelzaCLOOP7Qu3aMjK8V5NLo/g7xM32fUbKC3k5KyKoU5+tY/hLTbz/hGkmuiw3M2M9etYGv213bBmgdgRnBBrloULTbuenUxMVT5VH5nmfinRr/AMGeIzqWkwmW1z8uBngelep+Dfibd308aTKYWHBRuM15p4e8UXlzrg0LXsyRE4VjzjP1r1ef4czeeL3TFLbsEeX713zb2PMT1ufS2ka5ZzaYJJ4w2eCpHXNea+L9Oj0vUEvdP5trn70a/wAP4Vc8L+CPEskAN1cCCIYyZCQRXpUnhTT/ALMkT3AndfvZORWMo/aHzX0R4c0O7n1r9CvgWuz4WaIvp9r/APSqavijxFoa2D+bAwK+lfbPwO/5Jdov/b3/AOlU1KLVxNNH5ZftY/tv/EP4QftC+K/h1oUcLWOk/wBneUXBz/pNhbXDf+PSmvmHVP8AgoP8W9YlidZY4PLPRCwz9ea+b/8Agpvr97Zftu/Ei1gbCp/YWPx0WwP9a+EIfGGrRMCXBx71nKGu56NKpTUVeJ+1EP8AwUQ+LMVuqKLdyOMncf61UvP+CgPxemkUwyQDOc4LY/nX5Q6J45ScLDdEqx713MWobl3xvkH3rndKpfc7aXsXvFH6WaV+3h8VogI7iaNyT1JY9fxrp/i58Uda8e/Dex8VaoymdiW4zjIYV+YdlemWWNd3JYD8zX2L451D+xfg5pGmTErK6vkH3Oa+ZzuhOcqNO+vNc9vLpUoRlOMUj0Hwr+2R498PaPBpVlIgigG0cmunb9tv4kkBxKn0y1fnIl66ruU/hVuPXWVQDivZarp2jI85UMJJtygj+pP9lfxvqfxH+A3hjxnrJDXmo/2h5hHT9xfXEK/+Oxivxs/baQN+1j41yMj/AIlP/prs6/VL9gSXz/2SvAkv97+2P/Tre1+X37agjf8Aaq8aJ/F/xKs/+Cy0r2aV+RX3sfL4xJTko7XZ832Y+RsdyK7KAlTN9FrmbWJUjQg8k16DoelTazdvbQDmTbg9uKqUkldnEc4umXV5qDmyjaSVWXAUZPNfTHh34Z6ncRxTXaFVABxXpHgH4d6XpAW9uUWSdwCcjPSvY726FtGsVvGEUDkkdq86ritfcOiNO54v4o8HxHw95WmyC2dAC7Z25xXlejtZajrL2sBBKjDEeoFenfE/xpp+n6FcWlq4e5kGABXgvgWaW1guLyDa96xGAeevX9Ky+sxpONSb+R2UaLnFxS+Z0F9HHFqUsY6N0/Cv1p/ZSIb4B+FyPXUf/S+5r8kNQZ/7RieXG5wxOOmcV+tv7KAx8AvC499R/wDThc166kpR5l1OKMeWbiyv4+/5G2+/7Zf+ikrl4sZrqfHv/I3Xv/bH/wBFJXLpxivfpP8Adx9EfGYv+PP1f5l1fuE+xr42+JlhNqOs3chyQDwK+y4x8pHrXhHjnRY4ZLm44BZSwz3wK+P40jJ4Ncvc+k4RnGOJlfsfl98Vm/sqGU9z/DXkXw++Kur/AA6vI9Rs5m8m7bbNBn5cZx0/GvQviw9zd65fXc//AB7IcIp6HtXzPqtvHHblyy5ySB6V4vD8fYRs9z7jNJqtBN7H7u+AvEttqfwqg1qCRX86Jjwehavn7wFoF/e+NLuO9O6BHLFT/tZIr5R/Zf8AjXfxK3w61CYtbzf6osfu7ea+3fhnNNJ4u1OeT7kuzZ+Ar6avJVMZSWyR8nGm6GEryjq3r+Oh+nPwZtVsvhto9qgACfasAdObmU/1r4b/AGgJI5vjHr9vISNn2PH42kBr7x+FPPgHS/8At4/9HyV+aP7U3xX8OeGPjR4k0i8h3XVqLHcwAyfMsoHH6MK6ajcJyUEVhmpUouo+i/I+If2lYMwQR4ZoWDZzyK+c/hP4b8NnWFcF45VOcpgYNe0fEb4i6d42sZLRIGUrnaSOma8K8NudIunMJw7sAD6ZrxcylUlTcJI9HBxh7RSTPvbw1d6bdSHT5oxcxgAEuN2a9C07wr4aZvLijWDnIKgCuO+CPguXV7ZZ3fLyAHcTX0He/D2eG6RAT8vUx1+cVoypNq2h9xCVOcbRepjXfhPS5rUfZn3TsAB61nXfwYsk0k6lq0iGRslY3PP5GvXrDwu2kW7alOjskCljuGcYFfKvjX46W17qMqQykrCSvl56Y46VphVzPm1+Rhibq0bmpDbDRYmt4MSoh+ULziv1P/Zumln+C/h2WYFXb7dkH2vJwP0r8SbTx9JfvLc2rEBWGUPU5r9qf2Xb9tT+BXhm+cbTIL/j/dvbhf6V9vk1W9SUL9D5nMYPlUmecfFWMS+PdSQjP/Hv/wCiI6wbDQYmQNt6+1N+M+keKR4/1fVNCdJN32bZDISRxbxA4A9xWPpGqeObS0SS8s43fuqKa/U6OKcaEIrsvyPyXFYJSxNSTf2n+Z6lpGkJCV+UVa+IAltPh/rE0HEiW7Ef98muIsfiRLaXq2us6bPbx95gmEH1JrupvEHhTxhoF7pVrqdsxuIXQrvGQSpAzXn1q3OndmkKLg03sflX8C/HfijX/B+raZ4fmMd5p90W8tCQWHmkngewr9YvhD4yfxf4Stbu6OLqNdko7grx/SvwjuJvF/7LPxruDORLpd9cNkjJR1fP4HGa/Tj4D/EqwXxMkFgwOm6yFZcdI2Ayfpkmvz+hKth81UF8Ern32J9jicqataUdn5H3y7Koyaxrq5QKc0XN0dnHpmuUvrpsHmvv6Eb7n5+5bnsPhlg2iWzDv5n/AKG1XrlN8lZHg0lvDdmT/wBNf/RjVvXBCqW9q8erpWkl3Z9xgtcNT9F+R8M/tg+LrnTvBtxoWnxebNcoV6ZxX4MaH8NNPufGD6jrAVXEhcoPU896/cr9p8K2m3d6MO6qdvfFfkh4c8Ca94h8QSajI7xRs55JIGAazqzafLFnp04K2p6fYXNlodv5lvao7gAINuWHauD8d/Eaw07SHgvZ3lvnB2w5yF/Ctb4k3f8Awh1gmk6Q/wBr1G4G3cfm2flyK+Wr7TZLSRrnWHa7upOfmO7B/GvHxtbm0b1PQjX5I+4ef6rqV5qt2S8fLk445r6z/Ys/Zn1f4n/FG11a/Rk0vTpFkkJBAPce3UV4H4O8OX2u+Jommi2w7wAMcYNf0Vfsl+DNP8HeEEW2gWOadFMjgYJqsDTcpaHBUbknJn2Dp9pDp1jBYwDCQRrGB/ugCtQdKzTJgcVfiOYwa9WUbHKfhl+2JbRS/tI+LnBO8f2Z/wCm61rwnQtYTR76KWcfIp5New/tjNqS/tO+NDAv7of2Vgn/ALBtpnH4185MLuaM5jJAx2rwKspqs3JX1PKlKUa3M+53fxe+IC6ZYw3miozSXC/MyD0+le2fsYeL7TWbtrXxLK/mucYkPr9a8O8Oabp9w0C6zGJ4FP3WGSM19geCPDPhTTbRdQ0OGO3lZeGAAYH8K9F1oqP7vc9aMlKz6H6OeDtD0DS2lfT0QRyYO84zW74g8X6R4ZVDcTBQ3oa/MwfFD4oeENTnt76GWXTesc6BioA9TUCfHbTfEFs8/iS4+RHAG089cd65njqzkouFjZU473PpT9oG/sPFnhuVrC7H2ny2MK7uG45r8VofDNyNdvZ9XAWYScL2619kfG7xffX0lhZ+ELrbaTA/vQ3zKMDuK8ms9PtjDJLfZmuHAy7c81NfFp+49DgxFZRfL1P2O/Y+jSL9nTwjGn3QNSx/4MLmvkf9pG2SX4y+IDjk/Ys/+AcFfYP7JcSQ/s++FY4zlQdRx+OoXJr5L/aJljT4y68rEAn7FjP/AF5wV7GBipxj6FrWCPnLWLFbiIQkVnJp8cdssIUHrmumvSCxCc1nxIyQjf1JrpqSXNYhalGPQ4vscmFGD0FR+E9Yl0HV5LW7lfyJBt2E8dK6+IbYEX1rlPFmgteW/wBrs/lnjGeO9fnfifwvWzjJ3SoK8oao9vJMbTw2IvPZnyR8c/Cmr6Z4sl8Q6Kr3FnMwf91yUx/Kva/gr8SbbX9LTTdQk2XEI24c4aq9vcX18PsU0ZlVjtO4ZWu/8LfD7w7pszX9tAiTty20AAGvD8Pc1xbpxw1Sk4uKs36Hr5x7KVPV3fQ9SUKV3qcj2r9M/wBnv/kkGgf9vn/pXPX5fxW8lsCgcsvbPav0/wD2ec/8Kf0DP/T7/wClc9frdSMuXmZ8jHc/Bb9vfxcmmftfeOrAyMHjOj7VB6Z0myb9c1F8GfjvJ4TtpLhYissq7QpHJ4xWz+2/8Htc8W/tk+PNfiU/ZJBo5RhnrHpFkh/8eU18nvZav4cu9msReVICREoGAQPrXz+ZZtUw9GdShrOOyPoOFsmwuOzOnh6ztCT97+vM+j/E/jK71hrvUZZCZZjuVQfWux+HPitn0b7HfXCh+cKTzXyVN4ifylLEqz8KKx5fEWp6dKl1ZSMWU/MoPWvz6pw/mGd5TUqYmXv30P3DNs0y7KsxpYGhaMEvx7eh9l+ISLx2RCOc180+LZVt7wW8R+YuoyPrVuw+KIktRFdPicj5vapPDGh3HxB8TW8sCMLaJw0j9uDmvl8oyPFYesqE1aS3fkdeIzyjGlLFVJJ0ktPX+tj648JxTx+FbOBkbcEyWccc1O0kkbqfLzF32jrXoyWdq1lHZRgoqIq8cdBXK3UTQzeRCuYx3NfrVGMZR5Xuj+bajhXrSqS0V7/efq/+zDt/4Ub4a2DA/wBP4/7fbivfK8K/ZpQR/BPw4o7fbv1vZ691r6WirU4ryRnJWdgooorQR//T/fyvPfHPwk+FPxPezk+Jfgvw94tbThILNtd0q11I2wm2+YIjcxSeXv2Lu243bRnOBXoVFAHhXir9l/8AZx8b6w3iHxd8MfCer6nIsaSXd1o9rJNIsIVYw7mPLhFVVG4nCgL93ivZLXSNJstKj0KysreDTYYBax2cUSJbpAF2CJYgAgjC/KFAxjjGK0aKAPPPA3wj+FHwwkvJfhr4L8PeEn1ERreNoelWumtcLDuMYlNtFGZAhdtu7ONxx1NQeF/gx8HvA/iG58W+C/AvhrQNcvEljudT0vSLOyvZkncSSrJPDEkjiR1DMCxDMATkivSqKAIri3gu4JLW6jSaGZGjkjkUMjowwysp4II4IPBFeD+Gf2Vv2a/BniOHxf4U+GHhTSdZtZDNbXlrpNtHLbyH+KEhMRMOxQKQOle+0UAec+Dvg98JPh3qV3rPw+8EeHPDGoagnl3d3o2k2lhPcIW37ZZLeJGcbvmwxIzz1r0aiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvm74jWFh4g8Q6horoGl/c7uP+mSEfoa+ka+Y/Gd2mkeNNf1I43AW23/wHjFerlfs0q0qnSDt63ic2I5vd5e/+Z8/eL9KtdCtfsFsoBTPFeSppk94xe5GFPatzxP4ivdV1SSWQ4XcetcP4j8Q3GkWn2mJ92PyrykrO6OtzdrMpXXgLT11Rr0vsbIKknFep6Z4kudE0pYbeP7RInUgZ6V873HifUtXs2ly2ByNnWun+FXjuHVNVOhaophlU4UycbqyqVJWfKVTjqrnt/wDwnGp64HhgYRug5hHDHA9Kg8KfEGxvtQbw7r6yWFzkhZH+VT+JrnfF/hyex1JNf0SbyXi+Z1Bwrj8OtQSf2X450iSYRrb6lApwwGJMj0+tefKpK3vs61GKeiO68RT/APCOzSPqk32jT7jHlzId236n619tfAvafhXohR1kU/ayGU5BBupq/K7wp43s72O5+Hfi0ypcsSsEk/3c9Rgmv0+/Zz0i70H4NeH9KvnEk0JviWByCsl7O6/+OsK6MNdSs+xlXtbQ/l7/AOCoQ/4zo+Jf/cB/9Mmn18C199/8FQgf+G6PiV/3Af8A0yafXwJXVuyo3UUOVmQ7l49677w74lNsBb3RLqeAa4aCNp5BEg5bpWk+nXVlMFKksOcCpm0tjakpPVH2R8F9J8P+KvGdla6zex2dmDvkeVgo+UZH8q9S/aJ8b6NqutpoegzpNY2QCI0ZBBwB6V8BQy66VDW7PbgcZXINdXphuYIfMuJGlJ6sxya8yWBc8SsTJ7dD0aOL5IuFj0hJwmMnINRSPtfeTn0FcgdRuA4KAsO1aENzJNtaXK46j1rtlBx1Ji76H9S3/BPRt/7H3gBvX+2f/Tve1+XH7bkjR/tX+Nipx/yCf/TXZ1+o3/BPJ4n/AGPfADQ52H+2cZ/7C97n9a/K79uWUJ+1d42ycYOk/wDprs666T0TPnsa7Tl6s8Nt5hHFGzngZJr0b4deNNAhvZJ5bnY0HUFgBXi2o3oFgYoT+8A4PbmvLFsrqKKeS3kZGcHO0/WubEVE/dRnQpc2rP0gsP2gfD63wtftsaJGDuJYDpXJ6z+0Hda1JOmmzYgTgNng/Svykln1KK7cySSAhuefevUNL8VxraRWcEgjJHzEnFebjcFUaj7Nnq4GvSptucdT6Z17x9Ldzs8kjTSt0UHNafgW61281JbppmhhbJCgkE4Hevmd/HGkaKkUsI+1XPO4thl5r2b4VeLZtauIQ67A27HaunD5fGOtTUyr4xuPLT0R9MLcvL9mlkbLfMCTX7F/sqDHwE8Lj/sIf+l9zX4wJJtt0/2T/M1+0X7LAx8BvC/0v/8A0uuK9O1lZHmU78zKPj4/8VZfD/rl/wCikrlUYAYNdR4/P/FW33/bH/0Ulcep5xXuUn+7j6Hx2L/jz9X+ZrxN0rjfHuhtq2kSPb/66JTjHfNdXC2DS397aWNlJdXrBIUX52PAANcOaYJYrDypM6ctxcsNXU4q5+JHx3GL/wDsZAIG3sHLcd6+RfFGmi1n+z205uGxztOa+4/2vYvD2oeIrfUPDt3HJFduQTEwOCOOcV3XwL/Zs8N3mgz+KPER+1skYZU4bkjjrXy+XYKpSfK9z7/HY+lKlGaWh+YPh3UL3w94itL2N2t3SVdxztIBIz+lftj8ItW0zVpLW606VZg0S72BzztGc18T+MvgCF1G51aa38i0u2ItgBgjacV2H7PGsah8LfGM3hPxIJBbylRFK33VyM9TXfSq+0rwi1Zxev3Hn46jyYaUou6a/U/fb4U/8iDpf/bx/wClElfz5/8ABQDUdYsv2tvHH2aEyQf8SjnGQP8AiVWef1r+gf4RSpN8O9IljO5XFwQR6G4kr8j/ANszw0mofH3xJLbW8csl0LDzi4zjZYWwH6Ct8ZmE8JL2lPdu39fcZ4LBxxNGMJaWin+B+R1z4xv2hItbd3Y8HYual0bxLMJ1+1wujAg8ivfdd8H3H2WVNJ05IjuHzBMHrzXTp4Y8MW/h+2uNVtlW9PBG0ZJJxXi5ln31i3PA9PA5S6Ldme1/BL4w2el2MVm2d5AA9q+yPDnxl8PPcLZO63NzJjCggt+NfD+jfDTT9P0uLVonWLzhkdsVo2Wlz+G9Ug1LTGSaUk7mbkj6V83UhGctep7kE4q6PtT4p/FC9k0Q2Giwbd6kSAD5gDXwDLpNtd6vIRbKGkJLEr3r1Z9e8S3msJF5Rb7QMHIJAwKz9Q0jUZL9tIs4wsxwZJCOmeeDVUaii/ZRiFSGnNJnjt2E0C4z5QCS5ywHHHSv3E/Y0uXvP2bfCFy+QX/tPr7aldAfyr8OvHrX+j3sdheQNPBF1eNc8n3r9vv2KnEn7Mvg1wCoP9qcHqP+Jld17WUKX1ltrS36o83HuPsVbv8A5mh8QZRH4vvT0P7n/wBFJXMw3pzw5rjfjP45/sj4k6tphChYfs3zN3320Tf1ribbxzcTDdAqN/Wv0+hWpujGLfRfkflWKw1VYipJLRt/me/qlnfxmG7hSZWGCHGeDXOWfwh8HJcTXVs89s8/JEWFUH2rF8LeIrrVJWWaPywuMcYr1a0uM4rOpRjLVGCqzhoz4d+K37LN5qetz+JJppNas0ZTHBMfNkUd9opG+HC+GbTT9d8F+bBdWJDXFhLwxGRnag9ua/Qe1k3Lg1y3izwVa65ayXFhi2v9pCyJ8uc9QT9K8bEYBSfOtz0aOYykuWewngrxdpvjLw/FqNhIHZUCyrn5kZeDn05q1egDOa+HPD2reKvhD8Y4NCNtNNpmruRNFGpKoVHBUdsk5NfdV0nmoJMYDKG57Z5r0MDV5lrucuJw/s5XWzPWfBn/ACLVn/21/wDRj1s6gHMDbOuDWR4OGPDloP8Arr/6Maugl+YFfavJxDtWl6v8z7LBaYan/hX5H59/HyCaVJbedf3bZyT0r4lmvbHSongtseZyAFr9Lfj5oJm0S5mVdxVScjqK/IvVLxrO9uPOOGViBmvNxk/Zz5lserR96NzmNXtLdrybU7475mPyhu1eN6tYJdakHI3Mx4FdD4k16UysQ+4k9BXJ6bdXdzrtom0tvbmvKnLnehbb2PrX4J/DWHU7u1maHJDAniv2s+G2kQ6TodvAowQoFfCv7PXg66MNteJCRuCnBFfpDpVi1raIGUK2BkCvcwkOSFzCtL7JrBR1rQj4QVSAO3NXk+6K6JyujA/B/wDbOWZv2k/GIV5AD/ZeAp/6htrXzJ9svVj8mIMD/tV9O/tn6xDY/tIeMIyhZh/ZmTj1061NfHN9rrSMzwsQw7GvGxMIavqcEoJzZ1ZvdWeIRLKIWB5wcV6B4O+LOqeGL8W2skvZ8fOOenvXzHdeIdV+0AoC/rjmvSPDdvJq+mXV5qKYCKCit0JrglW9iue112OzC0Z35Fsfa1h8eH8b28nhmw08zRyLsEhTIGfeuU1D4faP4X0O4v8AXXUeZl1jyM5Jz0NeAeA9f1DTtDvtTtYxb/YyAWUbSckgYqefx1f+J4/K1a4klGeAxyK6v7VUm6cY7FVpezSfc1ba9WWDzI5i+wnahOdozW1p141xII0+dmIG0c1zdhb2rRkwELmu58D6EsniK0W2LylnyVHIrjxGHlUg5x3PPUHUlfqfs5+zBZS6f8DPDNpOmx0F8Sp4xuvbhh+hr48/aR0w3nxZ16WI4kUWh/K0hr78+FFsbT4f6RbkbSiTcemZpD/Wvz4/aIurqL40eJdvEaGwH1DWcGa9BYuph8HSmt2kn9x7WEw8Zy5JdEeEaWg1SCRzIFkjOGGeR2qf+yrqedbWIMWz1rlPFovPDWppq2j5mtpuZ0XnGB6Umg/FzThdlJWRJxj5W4aoeaVGuc3ll0Psnod3YTWgCTnYIxyTXF6n4q0qVhpGn3KS3k3yhQ2SPWvSNEvYPiNfvY2Lq0ij51B9q5nWfBHh3ww099JEiX6n5GUDcD3roefuNN83YzjlrlozIXwoI9PiEfyzDJJHfPNdXoosrW2ELncejNXi/izxvc+H4YJTMWSMNvOeOemapeBPiT/arukiqUmOYs9yOtfIOriJzVSOiPdhh6UIctrn0lfaeyRfaouY6/Rv9nk7vg9oB/6/f/SuevzF8LeMovEF9JoF8v2Z1wPm+Uc1+p/wTsItL+GOjWMEglSP7UQ6nIO+5lb9CcV9hl2Pdan7Oe6PBxeF9lPmWzPgz9ozTkk+MXiS4AG5/sO4n2s4BX5eftI2Jsb3Tr+MZWMuXPYV+mP7R9+H+N3iTTlkKkfYc4PPNlbn+tfN3iXwnofiSwNjq8YliP3mIBavAryiqs29dXf7zjwGaywOKjNPqz81I7qPWCL5cKFGNg7HpXLNfahp87SzqeTiMHoRX6CN8FfBMRmu9P8AM2BCQnGMgV8iWnw8v/Enje5trlnSwtZAB2wDXflOJVHnqSl7nVHucQ53h8dGMYxacer/ACMnwV4Gv/GWrx+SGVZGHmEdhX6BeGdCsfBmlJoulW4MkajzJcfMxPPWub8P6JpfhKCK30yA528vjk496deeI76SdntVYHIDD0Fc2LxaxU7wjZfifLxzCrUj7FN8iPYtM8T6fFbGO8IWReMtSQT2moMxikXPXGa8R1lEvTGXuVhPU/NjmtnStSuIXjiUDaON6/41zxcovR6ijipKfNL5H7X/ALN4x8F/Do64+3f+lk9e4V4P+zK/mfBDw2+c5+3c/wDb7cV7xX1eHd6UX5I7ubm97uFFFFbAf//U/fyiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAr5j+Juja3e69qrWWlXl1HMIdkkNvJIrYiQHBVSDgjFfTlcDrHxW+F3h7Vp9B1/xjoGmana7PPsrzVLWC5i8xQ6b4pJFddyMGGQMqQRwRWkK3s1Jd1b8U/wBBcjk1bofnte+BfHdxcyp/wi+sBc/Kw0+fB/HZXBeLfhh8RbrTmt4PCeuSkdPL065Yn8o6/Ui2+KfwxvRmz8X6DOP+mWp2z/ykNV9Q+L3wn0mVYNV8a+HbKVvupcaraxMfoGlBpRTa5ktAlZOzPx50P4a/FuK3aFvBPiSMjOC+k3YB/OKuYHw/+NWl+KYLyP4feJnQPzLFo14QB7kRYr9v4viL8Pp4xLD4n0aRG5DLqFuwP0Iemz/En4d2sZmuvFOiwxjq0moW6r+ZkxWbws7udn9xpHFR5VC6Py18X6N8YJdMWPT/AAb4il3KMhdKumcfgIzV3wD8P/iTBYrqGoeFddt53+9HJp1yj9e6tGDX6UL8ZfhA33fHPho/TV7Q/wDtWtaH4jfD24jE1v4o0aWM9HTULdlP4h8Vj9XjVXLDX0NHWcNZKx+T3xc+E/xAn+y6xpHg7W7m6Rwc2umXMso5HXbGSK/TD9n+DWbb4Q+H4PEFpd2GoIl0Jre+ieG4T/SZtu9HAYZXBGRyCD0rtD8QvAI6+JdHH/b/AAf/ABddJp+o6fq1pHqGlXUN5ay7vLnt5FlifaSp2upKnDAg4PBGKunhZUlrczlXVTY/mY/4KE/s4/G34h/tj+PPEvhL4e+K9Z0e+OiiDUtO0S9urObytIson8ueKFo22OjI2GOGUg8g18ga3+xT+0bpzqtn8M/GdyGGSY/D+oPj8oDX9fmrfEv4c6DqUui654q0TTtQg2+baXeo28E8e9Q67o3kVl3KwYZHIIPQ1Gfij8Mwu8+LtCCnof7Stsf+jKzly81+ax1wqz5Lclz+P/Tf2QP2kbeZZpfhV44yvP8AyLmo/wDyPW7D+zF+0idVkln+EfjlkGNpPhvUsdPX7PX9brfFn4Vr97xl4fH11S1/+OUg+LfwqYZXxn4eOPTVbX/47UtU278xrHEVo0/ZqH5n8mkv7Mn7R08gj/4VN44RB6eHNRAP/kvUKfsu/tJ7WH/Cq/HAXsP+Ed1H/wCR6/rWT4p/DCT/AFfi/QW+mp2x/wDalP8A+Fn/AA127/8AhLND2+v9pW2P/RlXeH8xlKtU3cT+TCD9mX9pBYiE+FHjcN/teHNRH/tvT2/Zp/aVkVVX4U+Nw3OSfDmo4/8ASev6zoviZ8OJpRBD4r0SSQ9EXUbct+QkzV+Xxx4KgwZ/EGlx55G+9hXP5vT9zuUsTUt8J8xfsBeGfE/g79knwJ4c8ZaTfaHrFn/bH2mw1K2ktLqHzNWvZE3wzKki7o2V1yBlWBHBBr82/wBs34P/ABb8U/tOeMNe8M+CPEer6XdHS/IvbDSbu5tpfL020jfZLFEyNtdWU4JwwIPINfu3puqaZrNlHqWj3cF9aTbvLuLaVZon2MVba6EqcMCDg8EEVx+tfFb4XeG9Tm0TxF4x0DStRttnnWl7qlrb3EXmKHXfHJIrruRgwyOQQRwa3g+x51e0m3LTU/mz1r4I/H1la0tfhh4xOcfvF0C/I/MQVl2v7Pv7QWPn+GvjAZ9dBvx/7Qr+mLTfin8MdZfy9I8X6DfN/dttTtpj+SSGuoGuaKQCNQtSD0PnJ/jWdTCyqO9mKnXhBWuvvP5atb/ZQ+NhsVv4vh14skmkDbok0O+Zge3AhzXksH7LP7SMjkH4XeNEGTjPh7UB/wC0K/rwbWtHQbmv7YD1MyD+tZ8njHwjEcS65pqH0a7iH82rfkmlsZ88G/iP5VNE/Y8+Pd3NCbr4e+KoUfO7zdEvk249cw8V9M+Bf2Zviz4bs7VpPBHiITRbs/8AEpux1/7ZV/RBBruh3WBbajaTZ6eXOjZ/I1oNcQKMtIgHuwFKzWjRV4y6n4Nn4P8Axd8uVf8AhCPEfBXH/Epu+f8AyFX67/s2aRquhfBXw5pWuWVxp97AL3zba6ieCaPfeTsu5HAYZUgjI5BBr1+XW9GgyJ7+1jx13zIv8zVqzvbPULdbuwniuYHztlhcSI20lThlJBwQQfcUST6oIRindM8F8caNrV34pvLi0sLmaJ/K2vHC7qcRIDggEcEYrll8OeIQc/2Zef8AgPJ/8TX0XfeLvCmmXb2Gpa1p1pcx43wz3UUci7gGGVZgRkEEZ7Gqo8eeB2kEQ8RaSXPRRfQZP4b63WP5Eoux5VXKKc5ublu7nhMfh/X++m3f/fh//iaq614M1fW9Ln0u40+7Ec67WxC+f/Qa+jl8U+GXOE1ewY+guYj/AOzUHxT4ZHJ1ewH1uYv/AIqiWYq2tvvFHKacXdTPwm/aX/ZN8c6JDbXfgLw74i11ndnaKz0+4uzHznpFGxFfVH7MfgDx/pHw5S08UeGtasrllAaC+sLiGXg/3ZEDfpX6YN4q8ML97WLAfW6iH/s1Qv4y8IR/f1zTVz0zdwj/ANmrjjiKaqe1uvvPRqRU6CoSls9z86PjV8N/GWp6XZpovhvVbgxSA7LaxnkIywzwqGuC1f4GeK/EbXAk8LarBceXGY5zYTqdyjsSnrX6rR+L/CcufK1vTnx123cR/k1UpfiF4BgYrN4l0eMr1DX8CkfXL1j+7liPbKWvb5WNVKKw6w6l319Xc88/Zt0jxHoPwW8PaR4sgmt9VtjfLPHcRtFIoN7cNHlXAYZjKkZHIOelfBX7W3w4+JWqfFHXfEXhDw3rWqw3H2PbJYWFxco+y0gQ7WiRgcFSDjoRX6raTq+k69YRarod7b6jZT7vKubSVJ4X2MUba6FlO1lKnB4II6iuL8RfF/4S+ENSk0bxZ428O6LqEJQSWmo6taWk6GRQ67o5ZVYblYMMjkEEcGs8wwyrRUZS5bO/56HVhMQsPra+lj8ItP8Ahd8f5LqOO78A+JxASdxOjXoP4/uaZe/Bf4wvqqGf4f8AiqeAHIxo14wH/kGv3ss/if8ADXUJUgsPFmh3MkvKJDqVtIzfQLISfwrUn8Z+D7V1iudd02J2+6sl3CpP0BcZrx5YDC83NKsvvR2LNbRsoqx+NF78KPinqXhm3tYfB/iKBlXmM6XdK4/Dy814V4t+Ef7RWnNbXOieCfFNxtJ3JHo965/JYjX753vxX+FunXC2uoeMdAtZ3+7HNqlrG5+itICazLn44fBaycR3nj/wvAx6LLrNmh/IzCnRy+hGXOq1/uFPNU48vKvvPw18K+Fv2jppY5L/AOHfiyBoiBmTQ75M+vWEV65rPgj4zrcQXMHgjxExkH71otJuy/TviKv12X4y/CB5FiTxz4aZ3+6o1e0LN9B5uTV6f4pfDK1/4+fF2gw9/wB5qdsv85BSq5bhnU9p7az9UOObpQ5Gl95+IevfDH4wXLO3/Cv/ABPcKcZB0a8Yn6Yir9cP2UtL1jRfgH4X0zXtLutGv4f7Q82yvYHtp4t1/csu+KQK67lIYZHIIPQ13K/Gz4MvL5C+PfDBlH8A1mzLfl5ua73SdY0nXtPi1bQ7231Gxn3eVc2kqTwybGKNtkQsrYYFTg8EEdRXp4OhThL3J8zOSri1VVkkfD/xz8E+Ita+IGp32n6Bf30Mv2fbNb2csqNtt4lOGVSDggj2IxXlD/DXx6sQWz0DWI2P/TlOMf8Ajlff+v8Axl+EHhTVp9A8UeOfDej6pa7PPsr/AFe0tbmLzEWRN8Usquu5GVhkDKkEcEVjn9ob4AqNzfEzweB6nXrD/wCP19Asy5YqNltY+bqYSg6km6ut27XR8b+HtH+KnhyZBP4b1a5jYgMVsLhiB/3xX0ppWma9NBHNJpl7CWAJWS3kVh9QVrsf+Gi/2ff+ineDf/B/Yf8Ax+k/4aM/Z7HX4n+DP/Cg0/8A+P0QzSUVYxq5dhKjv7Vfeh1ppuqIButJx9Y2H9K1o7G/720v/fDf4Vjf8NG/s9H/AJqh4M/8KDT/AP4/Th+0X+z6enxO8Gn/ALj9h/8AH6n+0db2RCyvCJW9svvRxHjzwleteWviax0ia7vLRvupbvI5DccBQTwK6r7DqtzapL9gukZlGUaFwQcemKvf8NE/s/f9FN8Hf+D+w/8Aj9O/4aH+AB6fEzwd/wCD+w/+P0oY/llzJI0qYLCyiousvvR6B4Uhmg0C1iuI3ikXzMo6lWGZGIyDz0rlbbXtbTxxrWmXGmXp0+H7P9muRA/kyboUZ9r42thiQcHggiuz0DxF4f8AFekwa/4W1Oz1jS7rf5F7p9xHdW0vlu0b7JYmZG2urKcE4YEHkGud1f4ofDTw/qc2i6/4t0LTdQttvnWl5qVtBcR71DrvjkkV13KwYZHIII4NcdeopS527XZ7uHpWpxhB3SSOR+I+k6hrWlXENtZ3EpdCAqRMxPHoAa/IH4nfBD4sPfXB0rwb4guldjhrfS7qQfmsRr9nh8ZPhCxAXxx4bJPTGr2n/wAdqxdfFn4WWVt9svfGXh+3g/56y6paon/fTSAfrXPiFTrRSbOuEpQ0sfzc6j+z/wDtALdZT4d+LpUJ5I0O+b+UNezfCr9nT4ry61aT654H8RWao2S1zpN3EB9S8Qr9yI/j38DJW2RfEXwm7ei65Yk/pNW5b/FT4YXa77XxfoMy+sep2zD9JDXNHCUukh88k9jhvhH4OuNC0qFL2za2dFACyRsjD8GAr3ApntXCN8WfhYj+U/jLw+r/AN06pag/l5lXV+I3w9dQyeKNGZT0I1C3I/8ARleh7WL0TM5KW7R1YQ9MVOowMVx4+Inw/JwPE+jE+gv7f/4uumsNQsNUtEv9MuYby2lzsmgkWWNtpKnDKSDggg4PUYp81yLNbn41/tY/B74g+KPj74t8QaJ4S17VLK6/s7ybmy025uIJPLsLaNtkkcbK21lKnB4IIPIr5O1P9nv4ykF7f4feKCT6aLeH/wBo1/Rnqnijwzocgi1rV7DT3PRbq5ihJ79HYVnr4+8CP9zxHpDfS+gP/s9Q4KRzy5E/ekfzcp8AfjnGf+SceLNw7/2HfY/9E101j8Dvj5qEX2B/AXimzj6Fjo16g/Mwiv6JR438Fn7uv6Wfpew//F07/hNfBo/5j2mf+BkP/wAVWMsDF6sIVoR2n+KPwN/4Uf8AF/QPC11o1r4E8T3Ulzt3ldHvHJwc9oqwNL+AnxiVFaXwB4oQ9wdGvB/OKv6Ev+Ez8HYz/bumY9ftkP8A8XUZ8c+CV6+INKH1vYf/AIus1l6WqHXqU6tveSt5n4V6b8C/iqrgP4J8Sop6htJuxj/yFXrnhr4GfFK2uY5rTw/rFm6dHksbiMjPuUr9c2+IHgNfveJNIH1voB/7PTF+Inw/Zgi+JtHLE4AF/bkk/TfVPDWVuawqbpraRz/wW0vXNG+Gejab4kEo1GH7T5wmVlf5rmVkyGAI+QjGe1fHHx1+HfjPWPi1retaZoup31jcfZNj21pNLG2y1hQ4ZEKnDKQcHqK/ROCeC6iWe2kSWJ+VdGDKfoRwaz7nXdEspmtrzULWCZMbo5Z0RxkZGQSCMg5oq4WNWkqbex20qrg+ZH5SJ8JvHciStN4Y1lgeiNp8+Py2V5xc/s+a9b6y+pN4K8QSyyc/u9LuGQHHtHX7N/8ACT+Gv+gtY/8AgTH/APFUf8JR4azj+1rHP/XzH/8AFVzyy2mo25rI2WLkj8a/BHwd+Keh+KbzVrDw14ishJtwG065RMY7ZjFdX4k+HXxRvbpnk8K65c7v4hp1y38o6/Wz/hIvD+M/2nZ/+BEf/wAVSjxF4fPTU7M/9vEf/wAVWP8AZlFqzmN4yo3c/Fj/AIUR441iGTT9X8Ha+Y5erHTLnA/Ex1wV1+yR8UNJvYrjw9ouuLHG25ENjcYGevAjr9438R+HoxmTVLJR73EY/wDZqg/4Szwt/wBBnT//AAKi/wDiqFlFN/DPQ1WYVFrY/FUfBj4x2pS9j8La4brjey6bdEnH/bOv1d/Z0tdesvg14etfE1lcafqUf20T213E8EyZvJym5JArDcmGGRyCD0Nemf8ACW+FP+g1p/8A4FRf/FVs2l5aX9ul3Yzx3MEmdssTh0bBIOGUkHBBB966sLgI0JOUWYV8VKqrM/L79oz4c+PNW+MniLXvD/hzV7+3ufsPl3FpYzzRPss4EO10QqcMpBweCCK8Nl+G/wAXjIIl8G+ISrdSdLusfn5VfrB4m+P3wI8Fa7c+F/GXxH8JaDrNl5f2nTtT12xs7uHzUWVPMhmmSRN8bq67lGVYEcEGsI/tT/sxDr8XvAf/AIU2mf8AyRXNPJYTm5tvVt/eeOsDDmcpO93c/L64+FfxZtINsHg7XnB6qml3R6/SOtI/AzxXF4UGoW3grXE1GbmWMaZcCXIPGV8vd+lfpgP2pv2YycD4veAyf+xl03/5Ipx/aj/ZmXr8XPAg+viXTf8A5IrWGVwgnG+50+z/AHTpX36n5Iy/Db4xyzLaweAvEihc4kfR7wL+flVFbfBT4tyPJJN4M8QJIfTSroKf/IVfrcf2qv2X1IVvjB4CBPAB8TaZ/wDJFaw/aK/Z9ZBIvxO8GlW5DDX7Ag/Q+fUU8qjDXmZzQwUY9T8Xr74B/F3UnMr+DfESbeg/sq7H/tKk0L4PfG+3uZLa98EeI/s4xtb+yLz+Zir9nB+0l+zqTgfFPwUT6f8ACQ6f/wDH6mX9or9n1/u/E7wafpr9gf8A2vUzyyhP7R306sqcXGLM/wDZq0nVdD+CfhzS9bsrrT72D7d5tteRPBOm69nZd0bhWXKkEZHIIPSvdKx9B8Q6B4q0mDXvC+p2esaZdb/IvbCeO5tpfLcxvsliZkba6spwThgQeQa2K9WlBQgoLoiYqySCiiirGf/V/fyiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAr+eb9srxBFaftfeP7RiMwnRuP97SbI/1r+hmv5jv27ZZY/25PiAik7ZP7E4/7g1jXNi6anT16anRha3s6sb9dDr/AAn4+OmSRSocxEjcK9M8e6IPiBeWGuWbBY0GW554xXxhoF/cpqA0+dWABGM+9fafg2/+y6TDaXJIOOM+9YUcfUpQdOL91nfi8FSqSU2tV+J6Xod9Ja2UNsACIVwa8m+L3jK7hijs4QUibOSOM16LDJ5aSGPnd6V5b460O51+wLW6FnjBwMc1vXzrESpOjKW5zYfK8PCuqvLseL6VrUt/qMFnbDO5wDj61+gWi2cVlo1rb/KCqAn8a/PPwLpc2nazey6gwha3I2h+CK9Ln8eaqV2/2gQBwMP2FdXDtelheepPdmfE1OWIcKdPZH2DcPbqDl0/Ov0R+ATI3wl0IoQVP2zBHT/j7mr8GJPGV/J97UHP/A6/bT9kG7e+/Z28J3UkhlZ/7Sy5Oc41C5H9K9jMcwhiKajHv/meFgsFOjNyk+h+dX7VFncy/tJ+LJo8bVOmYz3/AOJfa1xWvah/Y+nWdzcqPJcYYjt2rW/bB8Uppv7SPiuxU4ZTpmfx0+1P9a8P8eeOkTwvHYXEZLSKdhI6Yr8/x95SajHqfpGTwi4JOXQ9dtW068UPEA6OMqx6GrUXhi7v5PIs7d9zkBcDg5rxn9nb40eH9MvE8P8AjG0+0xF8I+0Mw5z3r9KLD4wfCC2mitre1WKTA2syqMEis1w9UUueM9GEs3Sk6KRa+GHwM0fT9Ba+8TkNcPGSE44496+ddf0mzsdXvdOtSGj3/uwO2DXtvib40W9tfPpVlMkolXhkORjFfM7a+dU1y5ki5mDZNeXVxkqdR05LZnU8vlyqpJ3uaUNvcfaIXtYitzAcnA+9XNfEf4p6pot4gnRfLXaqjHPYHNe6fDSO01rX4La4ADHKnPckVx/7SfgPw14WtZ7nVnBuHXdEgI/lXpYaTqpz3PMrz9nLlZ+iX7M2p2usfBDw1qVmMRTi9IA9ReTqf1Br8g/2ttO1fVf2wPGVrDHutt2kc44x/Zdnn9a/Ub9iG4F1+zB4NnXozasB9Bql4P6V8W/HrUfCFl+0342/4SC4EDkaYN2QDn+zbXHWvr8DFxjFPokfE5u1NNvq/wDMv/DWx0jwhHDMlvEx2qXYL0rvfHPx50TQoohaXCb1+8obpXx/rtvrCwSXfhXVnmtpM4Bkzx+FeGah4T8Ragsl7fTSOSeQCTXqSzj2K5WrHiLLPa+9GSZ+g8X7RdlrGjT/AGa4T7Qowqk8nNePnx5qN7O81xdsAWzjdx1r5k8NeFLuGQSRCRcdS3SvVbfR7gx7JD+VeVjM8c7c2iPVweUxg77s/Qr4I+NILtYhey+YwxjnJr6m13UpZLUT22QpFfmf8EtasvDGpo+tybUB43Hj9a+r/G/xx0HRNFSWOWPYR6iu6ni41YRn2MKtH2TcUaGrX1xMZGkY5wa97+Dzb/h1pTerXX/pTLX56zftIeBpomYzB3wdwUg194/s+6/Y+KPhFoWu6b/x73Rvdn/ALydD+qmqxdRSpqxeBi1N37H55/te63qGmfF7UUs5niB+zZ2nGf8ARIa+a7DxF4hnQXQupgynqGOa+k/2vXtpvjJewMmWT7NuJHHNpCR+lfPVottE7wlkUNjAr46pJyq6rqzqmrysdEnivxbbqk0WpTFgOQXNRjxb4vuiDLqMyc8DeQKqR2byNvhcEDrk1di0XUtQDLbQsSv8QHFaTpe0p2UQ5L+9Y1m8U+KpMob6V2AHRjzWZLrfiKZ9817MCP4dx4plvFNbEpcHbInBNZ8p8yU5k6dTnrWDwsYqN1oYShFXdhsnjDxFZbzb6jLhuMbzmvNvEvinXo7O4uvtkpJU/NuNbOpOlvcMVII9DXmvjbU/+JU8YAVSrdK9LLcFTeJi0vh1JhCPNdRP2o/YQvbjUf2VPBN5dOZJZG1nczHJONWvQP0Ffnp+0vP4X1n9sLxV4d16BZvLfScZAOC2m2jd/rX35/wT9bf+yN4EYd21r/073tflT+2XpGu6d+2d4y8SWySrBK2kGNwDtPl6VZq2D9VNc3E9GVbDys7O9/wZrjoc9Nep9ut4j+E/wxt7aC5ltft3ljZkr5i5H6V4D8RfjRoNtdHXor8SyxA7YFcEc+gr4C8WWOv/ABH8em/W9njiiCgKzEchcVz/AI68Kal4YtYdcv7iSYE4CZyOOOa/NsPw5RlOCqTfM1sefNc1orRHukHjLW/iV4kfVTG4SI4i4PQ8GvS9N8KaRcanHY3ge9vpeSH+YJjn8K8O+GXiG7n06SXS7RkZAu07cHnrXp9t4n/4RO6k1i6lzezKfLQnkcc1WKwLpVfZ01ZW0S3MFT95KWx6Ha+H9Bk8UPYz3IjntsYVWAI4zXW6imnaiJIDfQNLCpGwv8549K+J/CPj++1r4ivqly2ERz5me4PArvvGdlrKa+njPR7kLp6jMuGO0jGO1GKymcK6p13a6vr37GkqEZK/Q7K70jTbeBtV8wRzFjtycZwa/aT9kC5e8/Z28JXDgAt/aQ46fLqFyP6V/OFrvxdj8S6tDo+mNi3hba7L6nrX9Fn7FSQp+zL4MW3lMyY1Mh2OSc6jdE8+x4r6ThXBToYluq9XF6eV0duApKEnbsfiv+3rcov7X3jqKToDo3/ppsq4e00XQtX8JNDZ2pe8K5DBQTXoH7c+nNf/ALZPjiNRnLaMP/KTZVo6P8Odes9Ijv8ARh820HHOK7s2xdWnPlpLW55HDuR4fFY/E1K+3NLf1Z8fjwpqX9qC1uomhQtjLDHFdj4z8F+HfD/h030d1uudoO3cK9T8Q6LrVrFJc36DzFB6A4r498bajqFxJLFLM7AE/LnIriweOrVanLLY93G8HZbQoSlSjqzFOrorEA5xVyLVgehryd7qVJCATV+zvJS4BNe/5n53iMljFNnr0F6ZOa14ZsjmuF0yZ2AzXVwEkZoTPl8Vh1FtH9MP7Apz+yX4FP8A2F//AE63lfnn+1/LHD+0n4ykc4AGmE+3/Euta/Qn9gL/AJNI8Cf9xj/07Xtfj3/wUI8dvp/7U/jjw9aNslX+yQx/39Ls2/k1aZnQlVw8Ix7r8mfvHC9SNPCUnL/n3H8keB+Nvi7/AGTObDScGQcbj2rhpfiD4t8R2TQajqLra91DkDFeDeJvtizi6DF93JNZcWvzJbCLzD7jNaUMFGMVzHZWxnPP3T2l/FGn6eQpu5t4/iVq73w98R9YsFFxpusTOo58t5M/hivI/hN4b8PeNdZNtrt4tsB93ewXP516B45+D9z4caS/0KfzbdBlfLOQR+FdUaUF7qiZutJ+82dbP+1Df6fqSwT2ayyggZK5ya+qPhn8SPiJ45WJzp0drYnGHZCpx9a/J++uTcXKvcIY7qFhjPGcGv1F/Zu8YXmr+FY9NZSWiUDctc+NoRoU3VijfC1HXn7OTPsnQ7MtInnt82OcV+lnwUiWH4ZaNGvQfav1uZTX5h6B9rNyoff1r9Qfg2pT4baOp6gXP/pRLXJlFd1ZNt9DszOjGnFJH5l/t+X+uQePLOHTr6e2jyvyxOVH+oir5I0C78VOqhtUuj9ZDX2R+3dGH8eWhPqn/oiOvl3w/EhC5r9x4Ly+hWwalUinq/zP5l45zKvTzCpCEnY6vTm8SsAP7RuT/wADNaupanq2g2o1XUtRuFt4eXJfjBro9JSFUBAB4rhfjtcwr8NNStPuy3AVYz6HNfYZvgMNSwM5Rgrpdj43IcwxNfNKVCcm03r6FvSfiZ4X8USm10XxG6yvwVkmAwR6VneIP7ftJGSLVp5B1DJISDXxH8K/2d/EUN7beI9bvp0sZnLpJZuQOv8AEa+3L6OKxsY7SN2kES4DOcsfrXx3D1GeIU6lZRcPlc/QeNVhsG4UMK5KT9bHkGt6n4rXdt1W7H/bQ15RL4m8Z2mqW5GsXnEyf8tD/eFesa/c8NivFdQmL6lB/wBdU/8AQhUZphKChLlitn0PMyLGV3OKlLQ/pP8A2d7671L4NeG72+kaWeSK43uxyTtuZVHP0FecfExiPG2oDP8Azw/9Ex13n7NP/JEPC/8A1yuv/SqauC+J3/I7agB1Pkf+iY6/KU1Gkm+iP6CpawXocEzN2bj1qJb1UO1T+J61IwBHP3f515T4q1W8sNURbU5UdR61zpxcfa4j4e36mipzm7QPXYrhn6SN+dTmWRejtXFeG9Uj1OHcrYcdVPWuhnnZPlNdqhQsnTSsZ04TvZmzFdnpJiQf7XNQXVhFdKZrQ7X7qf6VhLeYOAabNrtvYDzWbLDsDXNVoQS5oaM6HGUdyrIroxV8givsf4T/APIgaV/28f8ApRJXyVJPDrNguq2y7f7wr60+Ev8AyT7Sv+3j/wBKJaeHq861Vmgm9LI/lp/4KbeYP24/iUwU4/4kPP8A3BNPr4UEvdxX7Ift4WXh+f8Aau8dvfWlvLN/xKNzOoLH/iVWeP0xXyBa+HvB9+vmzafGgyeFQZrpWYYb4OdXWhlPC10ubkdj4wF0qHcOtSPqG8cmvry8+HXg64JZLSVQf7qiufuPhN4Vnz5aXKn6CiVanLaRnZrdM+S2fzLyFfV1/nX2VbW4XTbZfSL+lcqvwT0NrlJIpplMbBsMR2r1m/0WK309pYnOIY8YJ9BWFWS5dAm7rQ8KU7LpzngMa2bTUT5qqD3rh5b4+fIP9o/zp9rqKxSrlsEmvGoUtbs82dz+rD9gdt/7JngRvUav/wCnW8r7Br4z/wCCfMvnfsheAZf7w1j/ANO17X2ZXvU/gR6VL4F6BRRRVmh//9b9/KZJJHFG0srBEQFmZjhVUckknoAKfX4Lf8Fmvjz4z0a48Ifs+eFb+fT9O1yxl1jXFt3aJr+N5jb2ts7DAaENHK7oSVdthIG0ZAP2O0b4/wDwI8R6/wD8Ip4e+JHhHVNb8x4v7Nstdsbi88yM7XXyI52k3K3BG3IPBr1uv5yviF/wRq8S6N8B9P8AEfw71278S/FFEtp9Q0Rja2um3AnKiWG1lnaLy2tw2fMllIlCHCIWAH1bF8Nv22L7/gnfefCLx1f2fgzxrY376deaz4h163jUeE4gJi8l/aPdKvB+zNvdWMKnccH5gD9LNQ/aA+A+k6//AMIpqnxI8I2et7xH/ZtxrtjFebz0XyGmEmTjptzXptxqen21h/aU11BHalQyzvIqxEN907yQuDxjnmv5KNY/Z7/Yq+H/AMEtTu/Hvxv/ALZ+LqWt7LYaX4N/4m+htcx7vssDTrZ4cSALvka4hC7iAG25b7C/4Jq/DlP2pP2UPi1+zt8Qtd1WDwrDrWj3VmLKVPPsmLm6kW3M6TIkcktshZAmMl2GGYtQB9TfsCf8FAfif+058WfFfgf4nxeFdN0zR9Ke9sJNLhntZriUXUUAy1xeTq67HzhVzkjnsf1+r+Sv/gnB+zD4M/aB+Pms6R4t1PU7GPwNBDrli2nNCjT3NnfwqizedFKDGR1ChT/tDv8A1qUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFfz+/treFtFn/ao8Y63cf8fLHSi3T+HTLRR+gFf0BV+GP7Y3h+XUf2jPF8yZ+f8AszH4adaj+lefmWOhhaXPNXTdvzNaVCVWXLF2PnKw8NWSyx6+URwR8qjnpxXpumrM0azyLtxjA9K5nw7ZHR/LtNSYvG33Qe1d8fFfhOB/7LaeMTvgBSRkV5Masa8ebZHqxlKCSerOx064QOm7lWFdbpmi/bFMiDAPb1rkbC1jeeLySGQ85+tN1D4p6b4R12LQXjaWViFwvIGfWlBqcveLnJpe6dF4h+E2n6rp08+nwH7fLjIUdcV49efAvX0j+W0Yn2U19ZaXqV5NEt7GRGJACAOCM1pS6pqhTAkPHvX0WDpUpU1zN3PnMbXrqr7lrHwfN8G/EMDFpbKXaPRTX7R/sj6VLon7PXhTTJkaN4f7RyrDBG7ULlv618XX2qakIWGQxHrX6AfAOeW4+E2hTTAK7fbMgdOLuYV0Spwirxb+ZFGtVm7VEvkfi7+2NZm9/a/8V2iHLzy6ONv/AHDbOq3x9+HcGm6ZpNtCUjMcWZXPGNygitv9pWZP+G7vFKSruEb6SVHbP9lWRqh8bdel1v7VY3rhSI0C4PTiuSjSs5ykfRqraMFDTRHyHpdrpOg3Uc7vvkBOHByM17E1691o6aijszjoVPPFfHOs3eqWmq/2cr741Y4NeyC/1tvCVummkl14bGf4jXLVnXpwv5nTTlGV9NT6F+H+sXuueIRCWaQRKcknJHFXI9fvNJ8WzbldV3YJPerfwZ0yDwrbx6tq53S3GN2ff619g6V8OdF8QyrqUFks8cw3M2zOMVw0sBTxrbe6O2rjp4eCTOM+HWvw6fcnxE4Y+SMqi92I4/WuR8Wa/ffEfxNHqvxA22umW5Pyt8pZeg619b6V8LvDmq6Q0Xhx082DiROOD+FeI/E34BatrUPlG6aNQD8obFejhctlSl+7PJrYmFV3nufoN+zcnhpPgt4dTwgMaSPt32fp1+2T+Z04/wBZur8rv2nvh3L4r/at8Z3Fw7Jbs2k4PY4020B/UV+n/wCyv4Tn8D/Afwx4WuX8ySyOoZbOc+bf3Mo/R6/Pv47ePtN0f9qfxpo+r7VgiOlbXPH3tNtW/ma9SjeMrS3PnMxSknba56n4H+CPh+28FCe4ch9nyqCO1fJ/jayvNH1iWzsVDRoxyrV7X4y+NOn6P4WgfRL0N8p+UNXx+PjlY3msvNqUYkkZsYxnNGOpe1jbmszjwc/Zz0jdHZLrV7Oq6Vb2TLNLxuVcdK9q8FfD/UdWiE1xuUKMsDV/4e6r4a1VrfVrm0SPjIJUCvQvE3xS0HQIWi0xURiMfLivE+qU4q9aVz25YhyaVGFmfPfxZ0W6063KWDtE6f3Tg8V81TDWdfQ2mpalcbF42lzivbfFninUPENw9wclGzXnemWlvdah9muAUYnr0rtwlaLXLHY5K8ZX5nucLN4Yj0a2eS1fzWYH7xya/cb9h4yN+y74LMww+dWyP+4peV+Xk3g7SoIwsrM25cj8q/Wj9k21hsv2f/C1tbjEaHUsD66hck/qa7JN2sYYd3kz4O/a9iMfxm1OYt9/7KQP92zgr5YstSs7288uNWDocEmvpj9smSQ/Gu9QZCj7Nk9h/okFfO9npVrfHztPO1h95u1fPPmqTdOktW3+ZyVJVOdpdz2/4YeF4/E+rpYu/wAvcKea9+13wdNomnTCyVYwo5YcHAr5h8FfES2+Gt60wXz5WwCTzivqvwz8StF+IlqUVgrOMOhxnmvsMvwdShSSqpHs4WnypN7nx54jvRDfuM/fOK4fVdctNPkSCclZD0969x+M/hu38Pavbvbx7o5ySuB1NfMPiTw5r2o+KE+0KkcbLmNTkNwK4I4JVKtRTeiOKlh+epK70RuXlna6gvmvOUL8jBrxX4gyLa25tVfeFU8+tdDqWo3mm3kWk3J/eEkAjvivLvHV80sxjU5OMV2YekqUXKOx1Sw8ack4O5+9/wDwT1Of2QPAR/2tb/8ATxfV8D/to/Eu1sv2gPFXg4WcMk8Q0/Ezrkrv0+2k69uGr9Af2AbdrX9kjwJA/Vf7YP8A31q16f61+d37c3wa1PUPjZ4y8faVIzvejTtyg/c8rT7aHj0zszXi5i2qbSVypUJ1Lxp7nzT8MfEGkT+KptN1eJD5v8UY5BxxXmPxk8KeOdR8UGy0/e+jROCN+cYPPHauq+Fvw/u9GmTUb6SSW4ZiSWOSOeK+uF0ePUIILa+IllmHCpyePWvGrQpUpRctXY76OXKrRSejPlrSdTsvBugwWtqhNw6/vMDnI9K4a7h1nxlrMVzEsmED5AzxkV9N+LPA1lbXMkDwhHA+UkYxmsTwC+l+FdVubHWI1czjETAZxx71zU8P9QpvHU1zS/Q8XG5XKC5W9bnzJpnhC/0q8klkLIz7vu9T161yPiLU/Fuk6LcaZFeyywSnHks5OBn0r3r4p6hNoEctxZRM7OSVwOgr5303XW1tyuoxmNgf4hg16WCrRzKl9YqxX/DHpPARw8Fh6nxdTyvSmOgYe5QJJM2S2Md6/qc/4J/3CXX7I3gKdG3K41fBPPTVb0V/OLrGh6fqMCq8XHZsdK/o0/4J8Wa6f+yF4CtEbeI/7ZwevXV70/1rupYemq3tYPW1vyOJYT2VRyR+RP7a99NbftteOQoyofRP/TTY19CeHPHOi6L4WR9SlRMRj5cjPSvl/wDb1vmsP2zPHsyjkHRf/TRY15i11d63pCvNckJgfLur5/NE+dyXdnicPYqCx1ek93J/mz2zxx8TPDWppNHbfNnPoa+G/G91YXMsi2aYZyecV6LqFlFFEwD4AHJzXmE1gdQnMdsC5z1614tCPLNzuff1WpRUEjyW8s41fg/MafFpl3HiZVLIOpFemnwTNI++Xj69K0fsFvptu0DEHI5r03mS0jDU8PEcPRrJt6HC6bdpGQrHmu1tbmNwMGvMdXYQXJeLhc9qsWOrMpHNepBtrmPy/OeH6lKT1P6rP2ADu/ZH8Bn/ALDH/p2va/DH/gonYfaP21PiHLkrj+xOf+4NY1+4H/BO+b7R+x38P5v739s/pq96K/C3/gpBrTwftofEexVcbRomGHvo1if617UI3hH5H32We5gqKf8ALH8kfH+ous1q9tuUuBxXmJJhLRyjDg1TudSv47ouHJ5rasWTUBmZcN6kVs9Fc6ZSuZtvc31vcCazeSNwchkOK958G/FbWreMaXr7vNbHjLZLY/Gqfw4sfDtzdzNqrRLHEDw+OeO1YOq3mlHWJ2sYw0IbCgDiuZYiNSfsVuVHRcx1XiTQtL8Ra5atomf37cg//Wr9eP2afhpp3h3wPavNGv2iZcsSOa+Of2VfDOha1cSahr2nE+VgxtIg2/hmvuLXviJf6XG2ieA9OFzLbr8wRNyrx7V8/mub0KFJqtK0Y9z7ThXhnF5tiFSwaXM+rdkl3bPoCz0K3jkygGcjFfenw3thZ+CtNtx/CJv1mc/1r8RfDPx+8WJr8OnaxbpG/mqroQR1Nft38N7s33gnS7sjBljc4H/XRqvh3G0MSnOi9D3fELw6znhd01msVafwtO6Z+Wv7fV+lp48tQxxyn/oiKvj3RfEUcaqQw7V9Ef8ABSW/Wz8fWWTj7n/oiKvz80rxENyRK2WYgD8a/ceEsb7LBpX6v8z+P+McqdXMJzS3Z9bP4+g0ixa5Y7igzivB/GXxktPF3h/UNN1HakiYEAHBPNV/i/q1t4V8J2dpC4kvb1CXwclMc/hxXwDP4ql/4SSFZGJj3HcPXNLPuIq1aXsYP3T3eFODaGHgsXON6n5H3X8APjdN4Y1JPD/iiXz9JlkA2zHOwZ7Z4FfVPxU8T+FrzUxdeFJFazlRSNpGAcc9Pevydu7K41K/WW0k8sOUIwcdK+lrTV20/TILEvkxoM/lXJkdaUakmnZW2NeM8JGpQhFK8rnda1rCtuBNeW3F+JNTtwP+eyf+hCq+o6zvz81cpFfeZqlrzj98n/oQrszLEXpyt2PncpwHJKLfc/qU/Zo5+B/hc/8ATK6/9Kpq4D4m/wDI8ake48j/ANEx13v7Mpz8DPCx/wCmNz/6VTVwfxO2p421F2OAfJ/SGOvyTEv91CPdpH7nQ0irdjhZ0JUBK+e/iXqx0vUUMMbSyd1UZqD4t/FfUvCVu7aaYsLx83XnivA7DxrLer/a2s3BnvdRP7uFTnYB14PTivOzHMKcqfJT3PTwGGqKXPLY6LUPG2rxYuNIkNvcJyyZIBx7VNZ/tD+IDts7q0DOvBfacHHvXDarr+iWOow2MscollPLuBjn1q7f+EIrrXLQ2UyCFgWbB46ZrwYYzEUVdPQ9dQw89lqj1zSfitrGvs8cNr5KL1kZcDn0NdFY6sNSlFr9oEkjkcA5NeMprtno93/ZEM0I2kB+a9f0KPRjd2d5AFVmySy9M124XGVq1eMZnJiY0403KJ9CaVEtnZJZr93bz+NfXnwrj8rwHpiehuP1nkNfFkWoBmGD6V9q/C5t3gTTG9fP/wDR8lfVShyYmy6r9UfPwmpR0P5iv+Ckfj260L9tr4jaeEzHD/YeDj+9otg38zXxlB8XMcMsi/Svpz/gqBpupT/tw/EmaG3d4m/sLawHBxomng/rX5/nTtQjQq1s/P8As151fKcBWm5TSv11PboZpjqUFGO3TQ9/tfi1CcBp5h9TXS2XxYt1Pyzqf9818pxWsqSDzoWx34r0bTPCFnq1mbtHMbY4XOD+VcFfIcHTXMpNfM9ChnOJqe7KnGXyPoK2+LQjfzIxbSH0bnNaN58atMubV7K8s1XzBgtEtfM0PhMrIypMyuvAGeteseCf2Zfi58QMT6FZztbtyJXVtmPqK78NgpQXLCpdeZwYvGYap/Eo8r8mVTp3hjVYnn0y5lWVjnY5A70y40Owjs/N3v5iH73auv1f4San8MnlsvEkkcV5HgEE4/nXI6nNPHZLFBiSNurDmirh6kJ6S0OWjRwjWkdfM/qH/wCCdDh/2Nvh6w5/5DX6axfCvtqvh7/gm+c/sYfDw/8AYb/9PF9X3DXq0neEX5HBOHJJwXQKKKK0JP/X/fyv56f+C1vws8Up4r8B/G/TrWa40SPTn0C9uEQNFZXUM73Fv5nHAnE0gUnIzGQcEgH+hasnXtA0LxTo954d8TadaavpWoRNBd2N9AlzbXETfeSWKQMjqe4YEGgD8Kfib/wWT8P3PwH05PhPpV/pvxUuo7SO6W/tIZtL094WjN0yuZMzpKAywgICAdzhCoB86/bI8cftSePv+Cdvgrxx8ale3ufE/jFLu/trKzNksWjG2l/s5buNCQFlmTz1L4GXhBwwAr9otH/Y+/ZY0DWINf0j4UeEba/tZRPBMukWxMMqsGV41ZCqMjAFSoBUjIxXvOvaBoXinRrzw74m0601bStQiaC7sb6BLm2uIn4ZJYpAyOp7hgQaAP5ZfCfxY/4J9+Av2PJ9LtfBTeJfjbrOjXmn3L6vYPdNZ6ncpJEt4k8xNrDbw5Dwi3/fcLvAcs4+x/8AgiBqNg3hr4t6OJ1+3C70e58jPz+SY7pA4Hcbhg46HHqK/XrwR+zT+z58NtTm1vwH8OfDOh6hPDJbvdWemW8c5hmGJIxJs3CNxwyghWHBGK6TwR8F/g78M7+41T4ceBPDXhS9uovs89zomkWenTSw7g3lu9vFGzJuAO0kjIBoA/mb/wCCb/x+8D/s6/tMeKYfiTDqNu3imNvDtoLa381otQk1CLak6FlZASCCcHaRyO4/qvrxvV/2dvgD4g8UP431z4b+E7/xDJcJdvqtzotnLfPcR4KStO0RkaRdowxJYYGDxXslABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABX5AftSG3i+O3ieWUZP+gfpY29fr/X47ftYvAPjd4n8xgDiw/8ASG3r5zifD+2wsYXt7y/JndgKnJUb8j5U1/xTaGWOBYRlTgNiuL1r4cXHiWceJdCmCSJhmUnkY+lUNeuIvtXy44zWl4K8S3tpfNal/wBy/GM15eV4aWHpu2q6ndKtzSstGfQnwvlleNLLUG3PGNpP0rq734Y6PqPiGTxJcEtIpUovHXpXP/Da4sG1CYT4V+P1r2TUby00eD7TKw+b7oJ617tLCqMW49Tiq4l82pYnguLSCCGA4Kjke1Sm+njTDgGs6LWY9VQSR8YpZZcpzXyua57jcvxPs4tOPTQ7sJl+HxNLnl8XUjvNQXYw7mv0U/Z+YP8ACLQWHf7Z/wClc1fmVdN5pOO1fpf+zsMfB3w+P+v3/wBLJ693I8/njajo1IpNK+nqv8zgxeWrDrni9Nj8O/2v/FUOh/t2eMFfjZJooJ/3tJsj/WuZ+L6T3OsC+jmK21zGhDE8cKK87/4KFPeW/wC3J8QbuMMY430IjHto1hWN4k1/UPEXg+wuYS7lFwVHJ4xXuxjdTs+psqnuxuuiOVuvCct1OL1MurZ+brXvnwws/B+keGLq88Q3se6MZEbsMkjpwa+WdQ8ba2bNLKzjNuYQQQwIJrw3WvF+u3d01s8pSMHlVJwa4p4apXjyqR0+3hTXMlqfbFz8Tp9T1cx2T7LNJAEA4GAa/Tb4FfFuw0zS7KwuWWVbhSjdyM8Gvwd8HandXFwglfYikE9s4r6o8M/Fm38PX9tHFLuXIUDPTPFaUqSoytAn2jqRvI/Z/wAX31p4A0i48UeFbxJUlw8satnGfUCvLtI+NcXi5Ve5mWKQHBVjjNeI2niuK28GS3s919rjv48mMtuVce1fKtp4jaPWmjt5Gjy5IwcDrXSq04S5kxRgnuf0SfCC8iv/AIdaTdwkMj/acEdOLiUH9RX5S/tM/CS18d/tM+NLv7cbaU/2YSu7b93TbUD+Vfo7+ylcvd/ALwtcSEszjUMk9eL64H9K8k+J/hnR7n4ra3qU8QE832TfIBydttEoyfoBXpYeLqzv8z5zMZKKfr/mfiH8VbfWfButx+HBN5turbQ+Sa5XXNMtdFhsdWDh2mOWGc4r9cPHHwT8G+I5vtcsCSydiQCQa8Z1z9nXQdShW2mRgifdCgcVrLCSu7nmUsQoMxvg1cW3iHw7DtYDYozj3r0rVvh9Y3LCZgz+3WsLw94P0/4awbLdmWEdSx4r0XS/Guk3p2K6uR6HNePicGpS5ep6tLFtK62PM9T8I29tbnZCQAPSvILrTimrKYYyuG9K+nPEOsRz27pE8SKR1Jwa8o0rS/tt60iHzMHr1qMNh+SXKi61W8eZnRRWsT6aHnUFlQ4P4V+k37K+P+FD+GsdN2pf+l9zX5vayt7Z2LpFCxyp5x7V+i37JPm/8M++FvPGH3annP8A2Ebr+lenUTS1OTCtczsz4P8A2vc6h8br3SUUbmNoCR1ObSA/1rwLxPZTeEYv7Ns1/e7QTjqcjNe8ftX38Gl/tDXd/Ow2xm0JH/bnBXjXiLXNO8Tas+qNIkcLKuMnB+UYq8i+rxqTlNrmu/zCnVtVaZ4zFc3VxcbbxCHY/wAVezeBHufDGpQan5vlwSffGcAYrKsNT8JSzkX6hjD91kxzmszXLq7vVNvp5CWufl7HFenj84w9K/vXaOypi1FWPqLxH8Qvh9qFnbXmvy+bJZglApByT65r4b+JvirUNe8atrfh+R44IeEQHC4xjoK6G8sJkAhmhEkZxyRms46HJPcp5CLHD/ERwTXzs86UqcuRatHP9ZST5UedwQ3eoSLqmpkmSAMR+NeVakX1XXFgg+c5bgc9K+kPE9jBpulG3VlViDz614L4PnB8TzgRKxiB5I9Qa6FieTCrmeoUZvlvI/oP/YWjlh/ZX8ExzDDr/a2R/wBxS8/pX50ftffFHXfDX7RnjnQIkaeyP9lAJyQu7TrVjx9WNfpF+xJK037MXg6RxgltW4+mqXYr80P2wNMGoftJ+PYYygkkGlHJ6/Lplp0rwc+xbpYaNZd1+TNp4ipSUalN2Z5x4Pv7T7NPq14wZ3GY4F7k+1eifCOw1rXvGkd5LDLGvznbKCEAA4xXkvw11vSvDlhnxBbCaaIkRgrnv719GeFPjII4Xt9N02JbiRSEcJyB/wDqr5qvjqCqxnVnZPWx7uG4kwkKNt5M8H+MninUYPGc0EYxDEwDY71kaZpcev266qjhpoyuFHbnmvR9V8L/APCStda1qKYkjO5hjrurn9R0lfCfg2bxFpyuJByY+xwewr6nLcfQxC9nTd4sw541qTr9D0bXfCvw+1Tw1GNWIW9dMYOMZHSvjvXfhIdOvZdVJQQNkxbfu4FX/wDhJvGfjqVJBZyWlrESN5UqD+Ndja6b4oljS3vJBNAQcKxJr4mWKr5XiJ0oSVrnz+LzGU6spS6nnejfDafUvCt9q/2lPMA+SEt83BI6V+6X7Atlc6d+yZ4Gs7xSssbazuB686tekfoRX4fX8+paRPeRxuY4FH3V47V+5f7CV1Nefsq+Cbmdi7u2sZJ5PGq3gH6Cvc4bxtbEYipOo9Gr/iThsR7Spv0/U/Ev/goOy/8ADYPj4HqP7G/9NFlXzj4Y8RC2/wBEujmMjvX0Z/wUMQ/8NfeP2H/UG/8ATRZV8TfazE3JxivVxEFOcovufm9fEVKOY1alJ680vzOj8aa3dWzNHbtlG7iuo+GhhnsZbmYKXHc15vqLnUbBlTBbH407wdq0lpbS2Ycgk4xnmvOxeETouMT9QyXN/bpVJHq+tagmXiiI59K4iWxEsbTzS5A7E1LcB/LMm7k+prHdJJ0IMhX8eK8uhh+TY+nqYlS3RzWpWUd2THEB9a4prWSznKN0FeitZSIGdpkAHvXI6n5YYnfk/WvaoOSdr6Hh47D06tNqS1P6mP8Agm8d37F/w7P/AGG//TzfV+GP/BRyW1f9tv4kwSj5wNDwfXOi2FfuT/wTYbd+xX8Oj/2HP/Tzf1+P3/BSr4Ua6P2m/GnxFt4TLaXo0ojYMn9zpdnCc/ihr6JVIwpxcjnoUn7KMF0SPzW8NaZpFxrhi1tzHAMnOcfzq7q8WlrqbW+muBb9A2eao6P4O8YeLtSaHSdOnkYnHyoTivc4/wBlj4jt4Ym1iS1eOWMBhGykMfwrXmjvcFBvY8i8P+DdU8RazBoegmS4ubpwuIecZPfFfsb8H/8Agn34E8I6HZeLvi3qqQkqJWt3kAJ74IYV5b+xzc/Cv4UeH7nVvGWlTTeKIQfLE8akBhnpnmp/iV8b/EnjzVbjUL9p49PhJ8uBchAo9q8bM80hh2oLdn1uQcLYnHUp4tq1KG7Ppn4o/GT4MfD3w5J4f+HPh9HmiXYLhIlIJ6ZyK+G9H+Ifjh9Qutd0tXg+0n5lQEcdK5628W2XiIyCaIw2543YxnFdNpWuWGjxnynQxjsxr4PNaEsdGXtV6n7nwHxJlHDylyYT2l/5np8y54QOq6v42spdQjczTToTkdeRX9IPw+tPsPgzSrXGNkJ4/wB5mP8AWvwX+EWt2Wta+NXgt0k+wurH5c9a/d74Za9H4m8DaVrUS7FnSVQPTypXj/8AZa9jgiFCgqmGg7yR5Hjp4hz4qnh6kaPs4U1a176n4ef8FWNTex+IdgFOOU/9J4a+CfgncWWveLYItWkVLaFWdyxwOFyK+7v+CsNgbjx9ZTsdqJsyT/17w1+S2l6za6Qk8lveGGUrjKtj2r9kyiry4Xfq/wAz+UMdhFVxTaR7L8WfHFhrOvX21w0MXyRc9MccV8zaXBaX3iJXflMn+VZt04uGeSS7yXJJy1amh2lhZzLdNdKxz93dXI6idT3j2nT5KbUex7b4YET37Dr5PQVuajrpFzIobgYFZfgO80BtWbz7pIxIMfMwA6Vu63oemx3rizuFmRjkENmvXwNRJys7Hymc0H7rkmcnc64eTmsyx1eR9YswT1nj/wDQhXSjwvJcnbEjMT7VfsvhzqcN9a3jRnYs0ZPHP3hW9dpxkk9bHBh4xg1Jo/qg/ZgO74EeFD6w3P8A6VTV5R8cku5/EWsR2TbZQkO0+/kJXrX7MiGL4GeFYz/DDcj/AMmpq83+KmT451RT0YQf+iI6/M8bFyw8beX5H6dh5JJPyPx1+Jdprkn2iPULqSSeKTLKWJXG7P8AKu48EW1nrFnY3drAsssXDMBnb2r1z4neBY7rX2mdG8i7OCwHTFeK3Oh6x8OdSP8AZkrCOUgqhPyH8K+OkpRvGXc+qpzhOK5T1rxh8N4tbtVngXFwQCrL6iuKj03WLXSWs43Y6inyovO7/OK9G8KeKNamtoZLsIVk6GtCHS9cPi1tYmgT7O2NuBz0rqjhI1rcsjk+s+xb5oni9n4HvLaA6hfRSPd8l94znNepfDrRtWaY3dw5a3zwv93HpXsa6EbsBrwbR1wOv411On2FtZW/kwxKqH+6MV7uX5Ry1FUmzzq2KTpShFbkNgjmRcnivvT4V4/4QLS8f9PH/o+Sviy1sljUzA/KtfZvwkbf8PtKb1+0/wDpRLXrzqc+KdtkrHm0YtU9T+e//goDaRz/ALW3jwvGGJ/sfkj/AKhNlXxDd6bDBC0ht0kbPA25r7d/4KAauLb9rnx5b7Qdn9j/AK6TZH+tfGr65bbcyKPyr8pzCVeONq2WnM/zZ+tZdh3LB0tPsr8jjrg6UtxFaS2UYaTOfl5GKdcWUUMYu9LiKiL7ykYBzVK6vra98SwsB8qZz+VdNf3sYMFnaYHnHDV30VWVWlCF7y310IxEIxoznNaR8jPtNPmIW/S182SUghQucba/c39jGe/1n4SK91ZNYm3UruZdhbJxXzF+xr8EdA8S6uNQ8UR/aLZNpRSAynPXrX6p+PtO8LeBfChg0FotLtYE+dUxGpB9cV9Pjcznl9F1VZ6aLufJYDLY4/FRpT0Unufl38ev2RPFfxX+Ibaxp2oRnTi2W+c56V8+eNP2NfEvg+03idZ4IgSdhJNfqDoPxQ8HS2fk6PfmRyxEhZwec0zxTr1hrdsLSFllEgw3cU8DmkMVTVaa5X2N82yOWEqunTd0fRX7Amktof7JfgXSnBBgOsA5/wBrVr1v619iV4t+zxYW2mfB7QLK0VVij+2lQvT5rydj+pNe019FSleCa7HydWPLNx8wooorQg//0P38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK/HD9rXQprv43+JrpJMB/sHGfSxtx/Sv2Pr8vv2jPAfj3Xfi/r+oaL4b1i/spfsflXFrYTzQvts4Fba6IVOGBBweCCK4scoumuZX1GnL7J+bGseF5d7Nu5rkINLv7O8EqPjYeAD1r7Kvvgz8UbjkeDdfP8A3C7r/wCN1yV58CviwX3R+CfEJ+mlXZ/9pV5U+aOkF+BvSqNu8jzvw9qWoPdK8BKyHGdvQ4r1zVoNb1K2t5bubakfQZPetTwr8EfifauJLnwdryEf39LuR/OOvQtT+GfxMltfLXwnrrYHRdNuT/7TrzZzrQd4pnqpwmkpWMbwvC8S7C4YYHINbFzLuYxRk8dTWn4V+GvxJt4j9p8La3H7Pp1wp/WOtZ/h38Q0LbPC2snJ/wCgfcf/ABuvmOJaeInKFRRbfodGXSguaCascNJwvFfpn+zv/wAkd8P/APb7/wClk9fnw/w5+IzD/kVdb/8ABdcf/G6/RL4C6bqWkfCfQ9O1e0nsbuL7Z5kFzG0UqbrqZl3I4DDKkEZHIINdnBFKrHGSdSLXuvdeaFnM4uklF9f0Z/Oj/wAFGdaS2/bH+IFjBEHmJ0UHjJOdIsSP51wvwo1XWLPSZU1XTWaDblTKhwPpX7KftB/s++G/Gvxe8Q+NZ/Bmq6nqLLaN9rg0+SaG4aKzhjXY6oQ+0IFOCcEEdq/OHxX4I+Pk97eWOmfCfxglmpKxeT4ev9hA46iDBr9MoYaEead9WebUxMpQjBdEj5G1fX7C81+aKSNI+SMAYrxPxjp1tDePNaOOTnrX0bd/sw/tKa3rRu4fhl4wtd5OTLoGoIo/EwVPdfsUftK3UhebwR4iIPpo99/8ZqFRUJc1yXiHKm4Pc+VLDXGtYMDhl4+tbegXMs2oRXd052BgQD0617fP+xF+0iJcr4B8TlQe2iX3/wAZrU/4ZD/aPtdgX4c+K2Cf3dCvz/7QpNwv5ihc9nXxvBF4FW0ik5EeBzWd8FPBfizx9q5CQN5bSDbIwPQn1rpfh7+yz8ctUMdtr/gjxNZQRkZE+kXkWf8AvuIV+lHww+FviTwLpsENp4T1eOaPGSdPnGT/AN8VjFSc7I6nJW0Z9z/s/eFbrwT8IfD/AIYvTmazW7LH/rtdTSj9Hry74kwtJ481X5OD9n5/7YR19DeAZ9SufCVhNq9vLaXZEokhmRo5FxK4XKsARlQCM9jXmfjHRtUuvFN9cQ6fcTxP5W2SOF3U4iQHBAwcHivZwLUZu/Y+azSLcdO/+Z4HcaXOTmMnms240y4RMnNe2nw7q/bTLsf9sH/+JqtN4W1iVTnTLv8A78P/AIV6TnHueI6cux8i+PLeFtLlhuVGW6V4Z4chjtLpoym0HODX2x45+HPiG/s3eDRNQmZQcLHaSsT+AU18sN8NviwdVLR+D9cWFScE6ZdYI/794rwMbNqqmj2MJTbptM5XW3illKKz49O1dh4EayhXn73oavW/wl+JN1dbp/C2tIp7tp1wP5x12Gk/B7x3ZT+b/YGqAen2Kcf+yVOBg5VHURri0lBU2as0NrdwMjKCCDX3F+z3bx2vwh0KCIYRWvsAe95Of618lxeBfGiRFT4f1POD/wAuU3/xFfY/wU06/wBK+Gej2GqWs1ncxG73wTxtFIu66mYZVgGGVIIyOQc16eLtyKxx4BNVHddD8l/23riwg+O+rCeRw7fY8gHgf6Fb/wBK+bjFaDT08qVmHU5PrX05+2n4I+JWu/HbWr/w34A8Ta9Zf6F5d7puj3d5bSYsbdW2SRRMp2sCpweGBHUV80W/w/8AjesWxvhZ41Ht/wAI/f4/9EV8nKjPnlbu/wAy50nzuXqRwJZhdyZJPat+Ga4ZF2EhF7GsqLwL8cIgQPhX4zHv/wAI/f8A/wAZq5a+EvjqG3P8LfGoH93/AIR+/H/tCsPYSs/dInGTWiNi51K4Nk4IDFR8prDt9fjtYSJzgk9Kr694R+PcmwWHws8a7O4Hh+/P8oK5aT4dfH6ZNj/CvxsT6nw9qH/xirWDcXzJdCHRqbIo+NNbS9ZRG26MA815tokIs72W9RxiUHOPYV6PL8Kvjo9vLA/wp8cNu6EeHtQP/tCucj+FP7QUcTJ/wqXxz3C48Oah/wDGK0q0ZzWm1jWSqW5UfvR+ws4k/ZY8FODnLavz/wBxW8r84v2sIJLf9qXxtdmQFZv7KCoDyMaZaA8fhX6RfsO6L4j8O/sueC9H8WaTfaFqsB1Y3FhqVtJaXUPmapdunmQyqrruRldcgZVgRwRXwZ+0R8O/iN4k/aw8YX1l4K8S3+iS/wBmeRqVnpV1NZTbdNtVfy50iMbbXDI2GOGUg8gipznL6uKwcaNJXaa/K36lY6ahRi5L7vRny3a20FzM8EMbXBB+9jI5r1Pwr4euorqF0kSNudyk4YA16r4a+D3jSG5f7P4K1+3SLBBuNLuU35+sYzXtekfB3X9bs5GufD2p6feDG1nspohx/vIK/M85yjFYWaTjdS7XdjxacVU92CfzR5KNBRNJvFd2KMASQea848SeHJde8OW2kWMkoR2O7J6gHNfYFn8M/FlpH/Zl3oeoSxNwzpaSkfnsqj4h+E3iDTljudG0PVJjCrYjS0lbJYeipXRlGLxFHDStGSa8mfbYGvR/s+dKpo0fGmnaDElyPD1oMw2wG8jqTjPNep2vhLSr3QTeQOsV0gISNjgHHXAo0b4WfFNLrUrxvCmuxO5G3dptyu76Zj5rQl+HXxWjs44E8K69vXcdyadc8Z/7Z15uHnWVZVMTSlKL30Z8XiY1nh5OlpJ+R4Ff/DubxLqQsbeLG4kTHHT0r9hf2VvDUPhD4DeGPDtudyWn9oYPvLfXEh/Vq/O/wP4F+Lenay0194R8QBZM5aTTLoL04yTGK/T34H2ep2Hwv0a11izmsLtDeeZb3EbQypuupiu5HAYZUgjI5BBr7jhqq1j50acHGmovdPV3R2ZNRml7Sr8TX+R+Af7fumS3f7W/j2QKdp/sfnsf+JTZV8FarYy27HzI2A9SK/VH9tH4PfGTxR+1B401/wAMeCfEusaRdf2V9nvLDSbu6tpfL0y0jfZLFEyNtdWVsE4YEHkGvkfVP2bPj/qJIb4b+MMen9g3/wD8Yr3JU8R9Ylppc+LzCNFYirJRlzc0uj7nypZym2Yux/d4OfxqDSEsRqBuBOQ2ehPFfQN5+yZ+0LNGY4/hz4xCnt/YV/8A/GK5xf2Rf2krOTzIfht4vfnvoGoH/wBoV0xoO75j3MpzGjThy2afmmVI9Km1mNYrV0UnvmtCX4SeK5rUy20qv6AEnNdDZfAP9qLTNvl/C7xmdv8Ad8Paif8A2hXqGkeAv2pLSELL8LvGoK+nh7Uf/jFcdTCSjrBH11DMqU1q/wAGfLOofCj4gw9bWVlP91Tiudn+GnjGJDJc2UqovUlTX31a+H/2nUUeb8LPGb46B/D2oY/9EVR17wt+05qlk1pD8JfFybxgk+HdQH/tCueSxaaUIG/1vB2vUk/uZ+xv/BOWzksP2NPh7aSjDx/23kfXWL4/1rwb9pWLT9R+MXiXTtWSO4gP2ECOQZAzZwHpX1L+w9oXijw1+y74L0XxnpV3ous251Y3NjfW8lrcQ+Zqd3Im+KVVdd0bKwyBkEEcEV+Z/wC2P4A/aE1f9pnxnrHgbwp4n1PRZ/7L+y3Nhpd5c2smzTbVZPLkiiZG2yKytgnDAg8g19DZujFTWun5Dp1FZSp7Pb0Ok8PeEfCuhS/aNLsYYHY53RqBXqFsYpo/KfLIeqnkV8OaZ4U/a1tLNpX+H/i1nTGEbQ9Qyfw8muxhv/2rbO0hQfCzxa8n8Z/4R/UD/wC0Kj2NtbF+0Z9WL4H8HTzfaJ7G0EjdSyDJqPXfg1oeu2B03TbKFDcYBZFAwK+abrVP2n5prdH+Ffi/CEFinh/UMHv18ivqbwn8XvixY2iWuofB7xmJUUDzB4dvgM49TDX57xxjc6oUlSyfC+0nLTme0fl1Pocoxns6coTrOKfS+jKeo/speC7HwC+jWcaC/ClvOIGQc56184N+yXb6l4Wvr2wvZZ722Bwkb5UnJxxX1re+N/irqenXDx/DjxdFLKCoV9FvAeeOnlV6b8Bfh/400zRLi88RaTf2st6SfIubaWKROT1V1BFfn/E+X5hw3k9KrQqTnXlJObs5adUkuh6mAzirVnOLsorY/Lr4aeDfGPwsgum1DTbuee4cKqohIwDj+Vful+zbJdTfBXw5LewPbTML0tFINrL/AKZPjI9xg14S/gvxjaeJpZ5tDuLuyJyn+iyvj/x3FfXfgVLiPwrYpdWr2co83dA6GNk/evjKsARkc/jX6zwllsEnmUZtuolo1a23T5C4g4hwWKy6ngaWH5asZXlPmvfRq1um/wCB+FH/AAV1uhbeILRUzvk2dPaCKvwdmlcsS7da/rR/a9+Bj/E7Xor5/D15rMabcG2tJLjH7pF/gVvSvhO6/Ye0y/BEvgPX4if7ulTj/wBp1+v5blMa+DU1XjF3ejdnufh+K4o+pYypRlhajV90rpn4IhwTnOaeHcH5Tj6V+3Opf8E7LW8ybXwv4khJ6f8AEunGP/IdcFqf/BMvxRKCdO0fXk9A9lOP/adc1bLZU3f2kX6M76HFmHq6SpTi/OLPyVtrq5Qhkcq3rmuo07XtVjuIx9pkI3DgtX3/AKp/wTS+MlsC2naJq8mOmbG5J/SOvO9Q/YH/AGkNLcNb+DNeudp/5ZaRev8AyhrFVIQ0ckenHE0sQvdX3oxNF8RiCGJnbkgfyr1nwj4tsr3Vrezu5co8ijk+4rR8H/sO/tB6w0a6r4V1ywjGAfO0y7iP/j0Qr6r8KfsC61pJivdV0zXXuI2VgI7SYjIP+5WkK9NPn5jw8wkoxdNwevZH7J/s7Ki/Brw2I/u+Xc4/8Cpq8n+Kh/4rvUx/1w/9ER17d8E9Du/Dfww0TRL6GW3ntVuFaOdDHIoa4lYblYAjIIP0ryT4meHvEV9411G6sdLvbmB/I2yxW8jo2IYwcMqkHBBH1r5xJOmk9rH19BPkj6I8ZuLOzuzi7jWQA9CM4rhPHHw+sPEVmHjG2WMZQivY28IeLG/5gmoj/t0l/wDiapyeFfGlv93Q9SkXuBZzH/2SvKq4WKXsqiuu52RnKDU4PU+BNZ0LX9HmayX7QIAflaLOVx6fWvffhZd3d3bi21MSHyQNrTdTmvcW8Ga9dk/aPC+qHPXdYzf/ABFRSfD7xDG4kttA1SID+FLOYZ/8crnweVKlVVXn0OnFY/2lPltqRS28bfMozUKqsbbW4HpV9tF8aRRiC28NawWH8T2E+Pz2U2Lwd44c+ZcaHqe49haTY/8AQK9qtiGrxorX8DzowvvsVby6VI/s8PTua+yfhBz8OtJ/7ef/AEolr5Afwd4zJ40HU/8AwDm/+Ir7G+FNle6d4B0uz1GCW2uI/tG+KZDHIu6eQjKsARkEEe1LD0uT1NJbWP5zf+CiGlaqf2vvH9+ltK1vJ/Y2yQL8p26RZA4PsQa+FZpJkBWRGAHqK/p++Lvw0sfGPxH1iTUvCF1qMM32XF6ljJKkm23iXiQKVO3G04PBGO1eU337Gvw61yMiTwxeWxb0tGX+a1wV+GHVm60JrXW3qfRYPjJ4enGjOm/dSX3aH82Gnebca8WjUkA19YfB34daL4z8S2thqdwsTbsnJx71+tqf8E7fAavJJa2V5EZO5iII+ny1s+Ef+Cf2geGdXOqwTXu/IK8HjH4VVPIa0K0ajtp5hiOK6NWhOjqr67E3w+0rTPAVrFp+jKq+Wo+Yd+K73WobbxfF9m8QTZtWGGXPB+ua9j034JQabCiulxMyADJUk8fhW8vwvsmIM1pcFR2EZ/wryc74ZxmIT9g1951ZLxRhMPb2qfyR8iReBvAWgRSLpWmiYtyPKQE5rzfWdI1a4uRbaLYzRbzjOwgAfhX6V2vhnTdNh8m20RmOPvGBif5Vy+q+F5yHa00idSe6QPn9BXy+D4JzbCx9mqi5d3qe5W40wGJbdSHozq/gFpV1onwl0HTL1i80Iuy7Hk/PdTOPyDV7DXHeAbW4svCdjbXcUkEqGbdHKpRxmZyMggEZByPauxr9Nw1N06MKb3SS+5H51iainWnNdW3+IUUUVuYH/9H9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACqM+p6bayeVdXcEL/3ZJFVvyJzV6vhL9oPXNU0j4gwPFdPBbjb8obAb9yn9a4swxqwtF1pK51YTDOvU9mj7abWtGQZe/tlHvMg/rTU13RJOU1C0b6Tof61+Ufi/wCIfiO4eKwtLuSJZOBLuIH51mDxd4n8I3un3eqajJLYXByWDk5xXyq4zpyly06bbPT/ALEko3cj9cpdZ0eAAz31tGD03zIv8zTP7d0MIJDqFpsPRvPTH55r8mPiN8X9V1aRl0+ee3hGwRsCRnOM1p3Hj6XQfBajVtVczEApiT58k12U+JlKHO4EvJpWVmfquda0dQS19bADrmZOP1qE+IdAWPzW1OzCf3jcR7fz3Yr8r/C/xH8Wf2Tc6rrBmktbhcRSDJAxwOTXPR+OPFLaLLa3E0pEhby8E7sE1dTiWEIc7joTHJ5vS5+ti+KfDLqGTV7BgehFzEQf/Hq14LiC6iWe1kSaJ87XjYMpwcHBGQea/Eu78T+JtF8Nsk99cJLGS0bs55yc9a/Tb9lbxHe+LfgL4Y1/UGL3FydQDseSfKv7mIfogrvyzNli5OKjayuc+My+WHgpSZ2niP43fBfwdq9x4f8AF3j7wvomqWmz7RY6jrNnaXMPmIsib4pZlddyMrLkcqQRwRWIv7Sn7OcjBE+KnglmPQDxFpxJ/wDI9fzu/wDBRczy/tmePoRwg/sX/wBM9ia+StHs1n1GJB1IOCPYV60p2Vzy+bWx/W4f2jf2elYI3xQ8GBj0B8Qafk/+R6SX9o79nmBxHP8AFDwZG56K/iDT1J/Az1/I1qLS22q+S8v3GHOelS+JJ5dQnhMGC6YBZafMDkf1xP8AtGfs+RqHk+J/g1FPQt4g08A/nPU7/tB/ASJkWT4leEEMv3A2vWALfTM/P4V/JB4hN3aWdlFKSeQTjv0rsLK7/tnVbMzPtWFCAM9OKxdWS6FcyP6qn/aJ/Z+jbZJ8TfByt0wdfsAf/R9Wb34+/AnTI0m1L4j+ErSOTlGn1yxjVh7FpgDX8oOsXtrZXCmX5tkikn6GvRvG+saT4t07TWlJito4yM9O1J1paaD01P6tvDfifw14y0W38SeENWsdc0i83/Z7/TbmO7tZvKdo38uaFmjfZIrI2CcMpB5BrgPE/wAf/gP4J1y58MeM/iR4R0DWbLy/tOnaprtjZ3cPmosqeZDNMkib43V1yBlWBHBFeE/8E84reD9j7wDFaNuiU61tP/cXvs/rX8+n/BTn/k+H4k/9wL/0yafXfhqXtXYTdkf0xf8ADVP7MH/RYPAX/hTaZ/8AJFOP7U37MYAY/F7wGAehPibTcH/yYr+MXRdCvNdn+z2KGSQMBtUZPNeh+OtD07wxplvp820323JUdVz61rUo0oVI0r3bLhTk4OdtD+vX/hqn9mD/AKK/4C/8KbTP/kij/hqn9mD/AKK/4C/8KbTP/kiv4qgMnmhutdn9mRtfmMfaM/tXX9qb9mJztT4veA2PoPE2mn/24pG/an/ZiQ7W+L3gMH0PibTB/wC3Ffxd6NdpZalDcSqHjBwynkc8Vt+L7KOLUTd2oAt5wCuOnTmsJYOMaipt7o0Sbg5rof2Uf8NU/swf9Ff8Bf8AhTaZ/wDJFeueGPFXhfxtodt4n8GaxYa/o175n2bUdLuory0m8p2ify5oWeN9kiMjYJwykHkGv4Ta/rc/4Jjf8mPfDb/uO/8Ap71Csq+G9nHmIjK59t3fiPw9YXD2l9qllbzx43xS3EaOuQCMqzAjIII9qr/8Jd4U/wCg1p3/AIFRf/FV8r/FUhfHurE4x/o/J/64R14dq/jjQdGYpc3Cb16rkZrs+o4eNJVKtS11c41iK85uFKF7M/Rn/hLvCn/Qa07/AMCov/iqP+Eu8Kf9BrTv/AqL/wCKr8uT8aPCXnrDJcKpzjkiu70vxhoGqqptLqNt3bcKVLC4Or/Dq3ZrP65BXnTsj9C/+Eu8Kf8AQa07/wACov8A4qj/AIS7wn/0GtO/8Cov/iq+GleJxuUgj2qjJewLJ5ZYBvSuiWU00ruZy/X56pR1PvP/AIS7wp1/trTv/AqL/wCKo/4S3wp/0GtP/wDAqL/4qvgfUb4WFubiTAQdfxqxYX0N9bLcwkMrdxTjlFJvl59SZZjUUebl0P0Jtbu0vrdbqxmjuIHztkicOjYJBwykg4II+tcvq3xC8A6Dey6brniXR9Ou4Nvm293fwQSx71DLuR3VhlSCMjkEGs74V8+A9L/7eP8A0fJX5Hftc6m6ftG+JNPSQgMdOBXPHNhbH+tfH57jnl8eaKv71vz/AMj38uw/1rRO2l/yP10X4rfC5k81fGOgFP7w1O1x+fmVDL8XvhNAgkm8a+HY0PRm1W1UH8TLX4XXbS2IigaVhG+DweKwfETfb4ysbsscY+RR3zXyuG4tr1Z8vslb1HjsLOhF8qu+h+/Ft8UvhleIJLTxdoM6Ho0ep2zg/iJK0f8AhOvBG0v/AMJDpW0ck/bYcD/x+vwO8K3OrQ2MNlaOd0hOMnlcGvoLQrXxHJZtLqEj5XG5VJwRWGP41qYaVnTX3szhBezjKd030P1Vm+L3wmt3Mdx418OxOOCr6raqfyMtJL8YPhLbgGfxt4djDdC+rWi5+mZa/JTxp8LB4isU1nRXIkQ5kUdePpXjvjXw7ejTYI41kMw+UAdSelZ0OPYzS5qdjKMqbhKd9j9v3+OnwSiYrL8QfCqEdQ2tWQI/Oau90LX9C8UaVBrvhrUbTVtNud/kXljOlzby+WxR9ksbMjbXVlODwwIPIr+YW5+HPjbUdbbTEtrgPNj5ip4HXn8K/fb9jnw7L4U/Zw8IaBPL50lr/aW585yZNRupOvtuxX1WWZzHF1PZrtf8v8zkoYpVJcvU+gbrxH4fsblrO91Ozt7hMbopbiNHXcARlWYEZBBHtVqDVNMuRm2vIJf9yVW/kTXxn8aLDX77x9fR6WoSPNvuk5zjyI+9Zyz6hpUJez1GRHt1BdXfAOBXFPiT2VeVKpDRNrTyZ76y3mhGSlq1c+5vtFv/AM9U/wC+hUUmoWES75bmFFHdnUD9TX52eI/2j72PRY7KxBM7OIzKvf5scGt2fxhr1+sMAuJPuBpMscDcMiujG8Q0aEVKKvcUcqqfadj7ifxX4WjJWTWNPUjqGuogf/Qqrf8ACceCzkjX9L46/wCmw/8AxdfnF4k1u6sPLeaQ/MTuOfWsd7+C0W3a4nGy8PykH0rxnxZiG/cpJr5nRHKY2u5H6cDxn4Pb7uu6afpeQn/2aoZvHnge2YJceItJiZuge+gUnHoC9fAOz7AyyGQPGwB4OTzXOa/GLss1uVeZR8mecZ60ocXVd5wS+bIWVxb+I/T/AE7U9N1izj1HSbuC9tJd3lz20iyxPtYq210JU4YEHB4IIrn9Q8feBdI1CbSdW8R6TZX1vt822uL6CKaPeodd0buGXcpDDI5BB6GuG/Z9tpbP4Q6DbzffU3pP/Aryc/1r83/2o/Cmv6l+0F4gutPuTBBObDOGI+7Y26/zFfVTx3LhoV7fEl+KuefGgnUcG9j9S5Pil8MYjiXxfoKf72p2w/nJVhPiP8PJI/Oj8UaKyH+Iahblfz8zFfiX4j+Get2drFdQak8swwWVnyDXqvgtGWwTTr0AyRrznvmuSGcc32S54VJXiz9T5Pi78J4SVl8a+HUK9Q2q2oI+uZabH8YPhLMu6Hxt4ckX1XVrQj9Ja/KvWPBumyGfUZYNo6sMcYrw+XW/Dttr0NhpGySGNiJcYIH1pxzdy2iVDCX6n7it8XvhOjKj+NfDqs/3QdVtQT9P3vNag+IXgEgEeJdHIPQ/b4Of/H6/HG8m8MaxdWsFlAJZU7QAE5r2PRdHnvrNAYJIyo/jGDVLNtbcpLwjSufpNN8SvhzbjM/irRIwP7+o26/zkrpdL1bStcsItU0S8t9Qsp93lXNrKs0L7GKttdCVOGBBweCCK/La90K2E32e6iDEg43Dg4r73+ANulp8JdCt402KhvcKOMZu5zXXhsZ7Wbhy2MJ0uVXOh1j4t/Crw7rM3hzxB4z8PaZq1vsE1heara291H5iB03QySK67kZWGRypBHBq/H8Rfh9MA0XifRnB5BXULcjH4PX4fftgtaad+1X451TUlwgOkGJsdSNMswf1Fdz4D8Yx+MPB5FmiQ3Fuh2uOM49TU4vGTpfDG51YLCQrtpysfsDN8T/hpb5Fx4t0KLHXfqVsv85BWbP8Z/g9bLvufHXhqJfV9Xs1H5mUV+MN3rU3ibQL6B0WO9sztZ0GAcn1+lfP/iTSr5LE3W+SdTnKZzt/Cs6WPk3aaSM6+EdN6s/oVX46fBJ/ufEHwq301qyP/tap2+NfwaVdzePfDAX1OsWYH/o2v5d3hv4JQ0c7jn7ueleq+HZJdXgWyuCTkhd31967pVGtTBUm9j+i9Pjh8FZAWj8f+F2A6ldZsz/7Wq3H8YvhHLEZ4vG/hx4x1ddWtCo/ES4r8XvD/wAONO0K2it5Y0nuJRufzBlQOtTajqmg6dDLodpaRGQ8EhRtzXmzzRp2jG53/wBnWpe0m7H7m6Nrmi+I9Nh1nw9qFrqmn3G/ybuymS4gk2MUbbJGWVtrqVODwQQeRXBeI/jj8FfB+s3Hhzxb8QPC2iatabPtFhqOtWVpdQ+YiyJvhlmV13IysuQMqQRwRXEfsoqq/ALwuEVUGdR+VeAP9Pua/n3/AOCiKlv20viCHzs/4knT/sD2Nexh37SKk+queVKXKrn9Eo/aU/Z0Y4HxT8FH6eItP/8Aj9H/AA0p+zmDt/4Wp4Kz6f8ACRad/wDH6/kl0+BXn2RqWX1NegWfguDWbWSSCeOK7TAWNjjdn0FbRppyszm+svmtY/qeX9o79nl/ufFDwY308Qaef/a9WF/aE+ATjK/EvweR6jXrA/8Atev5d9W8Jnwp4et/tkZa+uM9B0x/9auBjlvY5MgnYe3YUTo2+EU8TKL2P6vH/aR/Z2iOJPil4LTH97xDp4/nPSR/tJ/s6TNsi+Kfgp2PZfEOnk/pPX8uOl+CJdY2XMYFwHzuReSPwrPXw5Z6Lr8idQhUBT2JrOHLLccMUmtT+ql/2g/gHGN0nxK8IKD3bXrAfznr0Xw94k8PeLtHt/EPhTVLLWtKu9/kX2n3Ed1bS+W7RvsliZkba6srYJwwIPINfyseIfAcraANbe42krkRIefyr98v+Ce0bRfsg+Ao3zkHWuvX/kL3taVKXKrm8ZNvU+hfEXxm+D/hDVZtD8W+OvDWialbbPOs9R1e0tLiLzFV03xSyq67kZWGQMqQRwRWOP2iP2fm6fE3wcc+mv2H/wAfr8NP27ZLGb9qzxxbXOzcn9k/f99LszXyFoWl22qa2tmc+VHncydPavjK/EGIpzqRdNWi2r33SZcqlOMXKT2P6im/aF+ASLvf4l+D1U9zr1gB/wCj6fF+0B8BpkaWH4k+EZEX7zLrtiQPqRPX87Vr8FL/AMQaZJqFtMixS4ESE88cGutm+F+iaF4OOjXlwsN5KMSSE4bOeMGvFxXHU6Nkqabfrt3LqunCEZ33P3xP7RX7Po6/E7waP+4/Yf8Ax+pH/aG+AMaCST4l+D1U9GbXrAA/j59fzUn4O6npdxbzRh7+ykYnzE+fv3NYfxm0uHw7ZWsMKmKRBkqePzrow/GNbEVoUqNJNS666ClZOPZn9OB/aH/Z/C7j8TfBwB7/ANv2GP8A0fWra/Gv4NX0RuLHx74YuIl6vFrFm6j6lZSK/kHtvFSS3EbzlRAhAKjvX2b4e1Ga+8Gj+z7c2UbqDvK7S2PfvXbiOIcZR0nSX36GWOn7C3Jqmf0zaRrOj+INOi1fQb621Kwn3eVdWcyTwSbGKNtkjLK21lKnB4II6itKvlX9ia4kuv2Y/Bs8rb3J1UFuudup3Y/pX1VX1eGqSqUYVJKzaT+9FQleKbCiiityj//S/fyiiobi4t7SCS6upUhhhRpJJJGCoiKMlmY4AAHJJ4FAE1FfMPxI+Pvw6174P/Eu++EHxA0DWPEPh3wtrN8n9harZ6hdWU9vaTPHK0cMkpUpIuRuXGRXxL/wSZ+P3xi+PPhr4jX/AMXvFF34mm0i+0uGxa6SFPISaO4aQL5UafeKrnOegoA/XiivNPG/xo+D3wzvLfT/AIj+OvDXhW6ukMkEGtavaafLKi4yyJcSxsyjIyQMciu30bW9F8RabDrPh+/tdTsLld0N1ZzJcQSL6pJGWVh7g0AalFcj4y+IHgP4c6WNc+IPiPSfDGnM4jF3rF9BYW5c9FEk7opY9hnNM8GfET4f/EfT21f4e+JtH8T2KMUa50a/gv4VYcFS9u7qDkdCc0AdjRWJqXibw3o1wlnrGq2NjPKodIrm5jhdlJIBCuwJBIIyO9ZsPj7wLceL5fh9B4j0mTxTBbfbZdDS+gbU0tchfOa0D+cIssBvKbckDPNAHW0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABX59ftQ2/wDaHjOGIN81uUwB1O6JDX6C1+Y/7Wep3WmfE+1Nsx/etGGH0gjr57iVN4WKX8y/Jnr5J/vHyZ4N4ztxHFBZT+ZFwSJF4xjnrXN2Goy+KNCbTbo+aulgmPPJbPP9Kv8Ax98RNpOgabcWm0zOpDg++KtfCfRTfeBpL6dfLubhCSRxxzX59JeyoOolq3ofVQaXLc828P61e+KNVt9O1ONIrZJCgYDGMHvXcfGrwvZ6amnxJdpJvGcBs9MEV5hdiz0S6cGcxskwwM43fNzXsPje/wDD+qtoc0KSXAC/OxwQCAKujKai5NWX/APQzBWlBQW5P4Xs/Hr+F7SQRb9KY/LG4JOAfTpXYeKTIbMTaTB/pMKfMmPlBx6Vzt9498SRWN7p9kiQ2aIggCgjbxz+deaaD8WbnQb6aLWV85JeGLcmuShi41/cgweS4r2brONkYw8TXmrSXGga4oDS8IT0BHpmv19/ZLsn079n7wtZyIEaM6l8o4GG1C5YfmDX4861r2lXuuQXFhbZdyWxjla/Zr9mO4N18DvDU7Yywvunte3A/pX13C03LFSv/L+qPmc9g40Ffv8Aoz8AP+Chtu4/bF8ez9VP9jZH/cIshXz7o/gG9vNNtfE2iTJIRuEkOcsCeBwK9x/4KK6o1t+2R8Qbft/xJcfjo9ia+avAGq6tL4hsNL025kRZZVzGrEA8jPFfbThdNny1NRvaRneKfB+s6XbXWoa1C1s7lTGHBBP0zXnthPcQSxmQk7mGc+1fY37X8V1aa3oduQ0UbxfMp4BO0V8azLKjhgc7SKvCVPa0oz7lYul7Ko4HeeLL0ObQsOMdKz7PUbiW9cWq8gAcfSsDUL1725tI5DwpHFegatd6PZCA6Uu2VQPOPHWoqe7aDMIrm2K19pU89vA9w3zueVPXrU3iq5fyoNEgXYsK9u+RmpnvkuL20uXbjuO1ZXiK4kfXxMnKOP6VnBe+kG1z+lz/AIJxxtF+xn8PUfqP7b/9PF9X4Af8FOTj9uH4k/8AcC/9Mmn1/QR/wTuBH7HfgDd1/wCJ1/6d76vwI/4KW2Zn/bi+JDdj/YX/AKZbCvXwK/efIJNcp8W+BvEMvhvXYr5CMcg56cjFaXjyPUNU1g6rIWmW4wVbqOnrXF3VoYHwK6fQdeuwyaXchJInOA0nJWujEYacKv1mmru1n6G9GtGVP2M3ZbnNXunSWkUUxOQ+fwrPVS7BR1Neta5Z2s5lsCgMmF2NGPl5qHw98N765uo5NUBtoDyHPygj2NZrNacaXNVdmX9QnKfLDU83SylW8jtZQdzEcDrzXdeL7RdM020s5CTJtyAeo710+r3nhvwjrbvBH9umjAC+YAyg4ryvW9Xu9evXvrw/Meijoo9qqhUniKkZqNorXXqFWFOjGUL3kzDJxX9bv/BMb/kx74bf9x3/ANPeoV/JEV9a/rd/4JjDH7D3w2H/AGHf/T3qFVj0+RPzOSBV/aT8Qw+Hda1+7dtr7bfZ/wB+I6/JPxH4vu7qeWeWdnd2OMnPev0r/bS0+5u9Q1iW3yfLFuSB/wBcI6/JLUImEoknyvPQ18RxPVq+2pwk/d5V+R9fw3RprDTqR+K5BNPqV4/nIzZzXYaXr3iPTVSW2u5IynbcRVO1lhitOAAT0NYt7dyRrtDda+SlVqwd6baZ9PSpUpaVNUfRfh748eJNLttl7J5uMdSTVvVvjrquo3kV3ZnZ5f3l6Zr5yA32nm9aWzhe5ceUcHuBXp4biLGL3HLQ8/HZBhXHnprU+v7n9obTtT8NXFhffJdbMDtkivQP2bvF134n0K4jupN/ksduTzgk18F6v4ZkuLHzoFO/HJHWvUP2Z/GUnhTxa+h6g5SG5YAbjgZFfZ5LnMq2JTqvyPkc1yqFLDWgj+gL4Vf8iFpf/bx/6Pkr8hP2u/DGo6v+0Z4suNNBafdpYQD/ALB9qK/Xj4TyJL8P9JkjOVYTkEe88lfnN8Yr6Gw/an8TXN5taGNtNO08k/8AEvtv615PGlZUqMpv+f8AzOTK6ns48393/I+ZPGvgnXfCXhS31DWFYyFMjrnnp1rwLTtR1aKOS6v8M3OxOePwr7A/a0+JQl8M2dpb2xi8xTtDDGQMV8YeFtbjvLYvdxuSvUsODmvzfD0K8MO6q2l+R9nw7UhW9+rudz4L1jVl1SG6kX5d3K89M1+gGgeJNE1PRfMZo4ZkQbt2ADivz78La/HZ6+lpLGrJMcLkdK+mLL4fahq7faodRWK2YAlInwcfSvNzXDyrThUm+WKR5GfTwtJvn6HojfFLwXpc/wBjgu0WVmxIm4bfyrasLPQfEGs2+sQ7JbRcsVGCBxXl8HwW8K3LNdzuzSJ1bjJrE8X6/ZeA7WPTtEuSskoZdu70ryquGpTapYe7b7nw8p0sRJxo3L/xr+K1v4ce4sPCVnHJeOpXzguSvGOCK/Qj9iG91HUf2YPBt7qxY3crauZC3X/kKXgH/juK/BbxlreqPq6TzXBBlJ3c1+9f7Ef/ACbB4L+cyf8AIVO4nOc6nd1+ocHYaVCXI/5f1R2YDDwjhVUS1bNL4l3aQeJb/BwyiLPvmJK+avF95NLo968JYXLRsTt6YANe2fFiVV8b6nGWJZvI2p/2wjrzC5toJrf7BfDYJkZS68NyK8PGTksdVlLZTl+Z9phlFUY+i/I+Ffgdev8AEbxRJp87GO20CVzOr8by5JH15FfZGma7a6jfXen6euZ7PasvqR2r4Z0exuPgV8ebyxuZGGh+I2JSZjwCi55PTqa94+GWrsnjnxQXkOU8lsZ6qwyP0r1c3pRq/v4fDypr1vqZ0naVn3PWfEl7pAt5INRieRZBgsgH7s9ifTmvknxr4tvdGt7nw2X8xrRlksbjOdyk7mGfYcV9R6hrfhu71RLGSUeZeAgR5HzED09q+Yvjh8MoEudKtI7ueI3Ym+cNgLx2Nc+TtRtCasb1LO/Mzt/hn8YNL8dmILc4lthsmQt8oI4r6GggiFmdSgZXEn3D/PFfmH8E/DFv4M8Wa7pV1csVVQyOW+8SpNfYnw/1/V28EwCdmcq8oQnnjcajN8vjFylS8rfMxp1NuY/V74Iv5nww0Z+mTd/+lU1fDnx+0OS5+NevXrXbIjfYsRhsAYs4B098Zr7R/Z5kkl+D+gPKwZz9tyR0/wCPyevkH49QSS/F/XSobH+h9On/AB6Q19bUnKlllFPe0V/5KeE489eVu7/M8fm0NbmZJJLxiE/h3cVSvPsvhiUaiHecdwDnFbS2ssSltrE15b8UPEn/AAjvhya4nt5N0gIX5eK4cNUnOaSLcGtze1f4xeGjGLFA00kgKsi4OPqK8L1jwNc6617rPg6P7LIcN5cg2ls+gFfNEXju1juz5JTzvMBdz9a/RP4W6nbeKbW3SKIISg3Mg68V0zUqcvden5m3s7xvHc8m+E/i/T/h4zJ46tvIuifklkXCnHua99b9pTwPBG6owyBkbcc/Sq/xe+EMOveF55PJWSVSpRsZYc8157oHwj0xNKtWvLC3eRARkplj9atwnThaOjJVZSleauZx+Ntv8RtdXT9Im+zPA3C52uQfpX6/fAZ2k+E+hOxySLrJ+l1NX4L618N73SficureH1Fv84DonCdMdBX7u/s8QXFv8HfDsN0cyqt3uP1upj/Ku3AKXtW3K+n+Rz4lppNKx+PP7bfh7UNe/aP8ZKx8u1i/svax43Z021z+RrifgzdxeE3bSdRl3QT/ACqwPT610X7cHi67sf2mvGmlIcJF/ZWP+BabaN/WvlRdfv4bcSrId3bmu14etVUovYzw9R05qR9+zXXgzQXns2eOSO+GXaMgkHHFeKzeFILnVp5ra5nOnyHIDN2rzH4YrP4x8TW1lql8sUO75vMfGfpX2LquhWUOoxaVYMnlMoGR34rip4RUKvvO57Un7eCdtjwVvhvoEqrJCrybj2AJNdtY/C7wppklprM921tEDkwlgMkeor3rwj8OY7K5E97KpgByMngZryj4722lW+qwWemXUZQZyiNyDj0rHGYic5ctKVjSFKnRg6k4nc67Pp0do+rtcQpD5eEAOHOBiviy/wDFdu+o3Ts+wFjtJPNLrl/rsMLRm4eSBBwrEkCvDZpTqMzKGPU5q8LQ5oNS18zycVjXW0Ssj+jL9jW8W/8A2bfCF2j7w/8Aafzdc7dRuh/Svwc/4KHrIP2yPiC/lMU/4kvzAf8AUHsa/cn9hSEW/wCyt4IhBzt/tbr76peGvxz/AOChWp2cn7TvjnSooR9qB0jc+OTnS7Mjn6GvewkErR8jy6qTWp8E6baXMsi/Zcnd2HWuvGn6paN9rWXy3TB5OGr0v4S/CLxh451yO10DT5pExzIEJQZHqK+mde/Ye+LsGlC9gha4lcgsgDHAz/hXS0nKzOeWGe6Z5L4QNr428M7dYIe+s1IRm6HPrXn0HgWfzbi4lZGgRudvue1fXuifs4eLfDOlhL+1ktDIMSF1K15l4n0/SPh9v0eadrma6b1yq4NYRrKN1yncsv5oXkU/DHwwv7drHVtDmYwuH81QeBx3xXD+LPBcWn6pcy7hc3M7AgJ820ivW9A8aw6HC1tFMzROv3VPTIrH8Hs+o6/eajdhZYywKA8gfStlR543SsYzwkVpFnifiG88S2un/Z7y3dIFGFbaelfv1+wH/wAmleBD1/5DH/p2va/Kvxhp2maxZCOSMKcYCgcV+vX7GmmrpH7NvhDTkAURf2ngDp82pXTf1qKtNxjuEKXI9z8gf25PDUVz+1V421CbcRP/AGTjH+zpdmv9K+UdL0K4ttXa2sd4LkDjqa+q/wBuj4jR6V+1X4y0FbdZHt20gMWGc+Zplm//ALNW54Hl8Iy2dhc3UMC3N0MliBlcV+U53mFbCVKntoXi3K1vXQ451LSansXLLTdW8PfDrT5bcM1xhi27qMmuNbw3r3i6AXWrIYVTJG4EM1e5fFDVn0bwa2raRD9otYQM7Ru25OO1eTeDvH1vFpi6z4kL4fPlwJ+XQ18rjpzsq0IdrHVmUV7SCtpZWNvSLyTw54NniNu072w+UEZ718C/FhPFvxH1p57eLy1yRswRwK/RJJZfFuhTf2Mios4Iy3GPTNfFfjHRfGvwi8QpqviGPztPumPlFATn1xmvpMrny1+aMP3nLex04qpUcKcbbI8H8AfD9l1Rm8SQSLFCwwhGAx+h96+zNXivV8ORQ20X2aFUxGmNuRXm48drc2w1C1sIj5ZBPmJ1zW5N4+nv2hk1RAInBAWMfKuBV42ricVP2rjt07Hg4m83zLWx+6f7CsEtt+yv4JhmOXU6uSfrqt4f619b18r/ALE88V1+zJ4NnhBCMdVwD7andivqiv0fAtvDU2/5V+R69H+HG/ZBRRRXUaH/0/38r8AP+Czvxt8YJr3gz9nPwxeXFtp2pWP9uavbWsm06i88729nBKqHc0cbQyPsYbGdkbBaNSP3/r+eH/gs78KPF2l/EXwP+0NolpLJpKadHol3eRIWWyvrO5lubUzHJCiYTsIztAzGQTkqKAOb+Kf/AASa174O/s43nxe8M+Ob2X4geG9Hn1TXLCBPJspLTyW+221pJHicNHbtIpZyy3ABUpGHwuZ/wTh+K198EP2Sv2k/ilpSxtqOgx6ZLYCbHli8miuIbcsGIDBZZFJXqwGBya9T+NP/AAV1+H/xE/Zn1bwR4b8OatZeP/FOiyaNqAuUh/suwN3H5F3NHMJGkmGxmMK+SpyQXC4wfGP+CfXwv1j4zfsb/tM/Dfw7Clxq+rRaUdPhk4Et3apPcQxg5ADO8QVSeASCeKAPmX9nH4f/ALO3x+v/ABb8QP2w/jXe+GtZuLoC3jLmTUb+eRAzXc1xPBco0S8II1G44PKKF3e5/wDBO34s3vwI/bPk+Cng/wAXp4s+Hfii/vtLkurdJYbK9e3hkktNQihmAMUuY1jcjKlGYbnUI9eY/sb/ABO/Y8+GVp4n8CfthfDKTUdXgv5JbTVJbOW4ubdoUEUun3Fs0sbwskiEqQn3mZZNu0E/bf7FHxI+Dnx5/aUh0v4Q/s06F4c0TQZLu+fxULic3emWeyVLV5UVTAtzcNhBEJGHLlSyoWoA+CX8b+D/ANtP9q7W/E37UHxKl8FeCg97PZSMzTfZ7GKVUtdOsfklhhYowdpChViruQztms3xH4k8DfsY/tO6B47/AGT/AIlt438PW8cF1LIu6OVrWSUpdaZfMIo4Z1lSPcGVBjcjbFdFY3/AGifDT9kX9qzxD4D/AGv/AIdnxL4aiN1p6q0LsYIZJ1a01S0iMkaTwSImCN24I7bfnUxt9LXPxv8A2SPiL8adK+FH7M/7LuieMLfWJ4LK1vNTNxZTSTOx82byIfOMdrDH87SOVZVVmZVAoAT/AILI6irftH+ANXslkJk8GWk0JiZopgWvrtkZGX5ldSQVPOGxweh+/wD9hH/gnx44/Z6+If8Awv8A+I/jldb8S+IdDuoNU0kWkkjxXepSwXMkkmoyXDNcSBoyJCYRuZidxxk/AP8AwWWhjtv2kfAFtCqokPg+zRUXoqrf3YAHsB0r+l6z/wCPSD/rmn8hQBYooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvym/bCeSH4u2T53KWiwv8A2wir9Wa/KH9rN2f44QGXBgtzETn3tojXh8QL/Zk30f6M9fJP95+R8n/tB363n9m2UXMnyjaPfFfQPgiF9N8FW1pKwjeSPaPX5q+W/G8Nx4i+INhHDkx7uF+gFe56nf6jYi2haORUh2c444xXxNajiPqkYUY+89T6vEcsZRjc8Z+Lfww1vw7Omree88Lv5nUnjOeKyZPiUl7a2ml2MAjEQ2uxGDmvsjx3NB4m8D2lwEUnYR0/CvjTUvAx0/y7oAISxOOnevksFnn1lTw+LfvRk1ofomUZfSnSp1JK7SPVPCw1DWpPIlckOBjJ44rnvGngtp9UigiUK+4E++K6XwLfLpzi5nIAjHFZnj7xTDd6rCNMlw/O4g9OK8TByrRzO0FaK3PosZC1N0+j0JNP0Sz0fxnb3F8imzKfOcdCF/xr9hP2cJrK4+DPh6bTgBbsb7YB04vZwf1zX4+2dhbaz4Z+2f2huuWByC+enav1i/ZHjkh/Z78KxzffU6ln/wAGFzj9K/Y+GYfv3Jv7P6o/CuJ01HlfSX6M/nx/4KVsIv2xvHkgGSf7G/8ATRY18a+BtVu9O8T2F/C5Ro5lOScADIzX3J/wUkskb9rvxvPJ0f8Asj9NJshXwrBYSMrTWakbCOa+5+x958TKai1K+qP1N+I6eEvi7o+jrKgnu7SICSWMAklgO9eD+Jvgd4c0WETMZQ74+U449Kj/AGcfFNjDqyaVrs2xXwE3HqR9a9p+NOrnT74wTR4jm2mI47Dmvj4UMTQxP1anN26H2rxWCr4H63OK5tj4f8ceG4/C15b77b5WPyMV6ivoP4a/C3RvHWljz7by3uAoDBQDmuG8e2ereJ9Ot9TMe+GD7uBziv0A/ZX8Nwaz4b0i9jRAlsW88Y+Yc8ZruzZ1oYaLT969jzsmeHq4uUXZRSPzz+OXwN1j4Q61p6XUmbO93GJsnIAFeL6nZi2vYyZC4Ydetfqh/wAFBhpV2dGsoZojPAH3ID8y8DqK/Le9t2lmREYEJ3r0MDKpKlFzR4WaVKNPESUXof01f8E+Y/K/ZC8Ap6f2x+urXpr8EP8AgpXcx237a3xGc9f+JH/6ZrCv3z/4J/f8mjeAuc8axz/3Fr2v57/+CnLH/ht74kLnp/YXH/cFsK97LlzTd+3+RzNpxTR8N3l557bsVQ80htykgjuKio716yqaaEJanqfg4PqJU3JZ9roOeW61+nni34LSa58ING1Hwyix3UkTkmYYbj6V+Ynw7Eo1u1tx91pEP1wQa/abTtflv/D+laVDlIoYTlV4HSvyDjvNa2FqU6lCOqb9LH6RwdlUMW5Uqr0dvU/Ezx94O8ReFdUki1uJtxP38HafxNcEo4z61+vPxU8CaT4v8KXt/ewhZLdWO9hyCM9/wr8jrtFgupoU5VHZR+BNfb8HcRLNsM3KNpR0fY+f4r4cllWIUU7xlqu4Lbq8RcV/WZ/wTJ/5Mf8Ahv8A9x3/ANPd/X8oFu6i2YHriv6v/wDgmT/yZB8N/rr3/p71CvbzBvkt5nzNNWZi/tS3EFvqPiAzgEMtvjP/AFwjr8c9elXUNRkW3TdHbklyo45r9gf2sLCS/vfECRcMoth+cEdfMvww+C+hN4Lmur2NZrm9D5ZgCQRnHNeFmWTzxuIptPaK/I9TLsxjhMNPzl+p+fFq2s6oslxZWUz20XG5UO30rFuZLwuVkikDA9MV+lPwm0DSdCvdR8F6rZxHy3/dll+8GJNexyfC7wLITI2kWxY55MYpUOFPax5k9twrcRzpaNbn5WaLFu0tjcfJ/vVp+HIUuNUS1tvnaVtoA561638bvA0un+KodM0iIQQXbEKqDA4pPg58PLrSfiklrqSl4bfDDdyPmXNfOYbh+U8Z7J6K59PVz2EMJzrex7foHwAmmtEuNSuSpkAbYrevtWNrf7NVwNattR0WcRNEwZjnBOPpX2gqKAoXgAAD8KXyh6mv0aHDWEpyTgtV1PzmpxBiqkbSloz6v+CFlLp3wu0OynffJElwGbrn/SJTX5jftDeLLbwh+1J4r1HVrbz7TOmFcrkcada5/Wv1O+Fgx4D0sf8AXx/6Pkr8Uf21tWe7/aQ8b6FISixf2X5bdPvabaMefqa+M4swyqwdN7c/+ZpUxLp0IzXWx5p8cPiBB8UtZgGlQhLa2GAoGByK8hkWfTQtsigE9hV3wtZNp0UqTsZJ5fuEGr19pM0cIuLh8ycljnoO1fAYydOC9nTeiPvMkx1ClSTkvU5i6ttU3reQSFHTkYODXZeHPG/jDT4jm+mC9ApY1zVrq1tdIQXA2nB98Vaub2GO3eWPG1RxXoRlSnTVKcTur5dSrydRanstn8SfEun2wiuLobZAc5Y7q8t1bxXb6xrkYvXlkkLgLzkc14lrHjYxTMHlLEHgE9K634T7PGPjOwimICCQFielcmIwFPDwliWtbHgVsNh6MZVIL3jrfi74bvba6sLhVKJIMjH0Ffu5+w7EYf2W/BMZOSBqn66nd1+dvxt8N6NYx6RNeeX5SJtI7ncAK/T79lTT7fS/gH4WsbT/AFUYvyv/AAO+uG/ma14FzCWInySWqi/zR8/Rxzq0lTat1Pnj9pfxG2geMb25jG142ttpHG7MMWa8/m8eWepWttFGjfaGAwCOc11H7SF9p158SNX0u6j8yS3FttGMgFraJhn86+VvDcWqnxAGvnETZIRM44//AFVjj1GWJrJ6e9L8z7HDQ/cwfkvyO4+MOl6B4u0GCy1qPybqPmK4QAOjZyOT0r5Gsr/x58K/FL65dq2p6fcAC4MeXkKKML+Qr6s8UypPdrpxhluAwyXIyBjnrXKW2p6KtvcQajbyTTY2rGQCpzx0owOIqUYyitYdn+hpOmmtdzx/Wfih4bv7vTfFul3SwzWUmJIJGAb94QOntXoPi/xevxC8XaHpOmyJNBp8bPdTIcou5Qwya+Kf2hNM07w+badbdrGO7Lk+SNhBHTNZHwl8TeNbDwNqOhaXbSTX2r7VtrtlJlKqecN7CvoqOBhUoxr0fP8AH/I5ZTvW5JdT2bxtren6p8R0s/DREcNsdty8XBkOOMEdea+m/BOkeKNfgi0+CN7a1cfLgFSuOp/GuL+B3wam0/R4tV8RxRSai5LSlxkgk8bs19ueErO2sIzawDJIHzL0WvCzrMowXsKeqj18zr9ne87WbPsn9nvR5tA+EGgaTcO0kkH23czHJO+7nf8A9mr5E+PniC00/wCLGu28ysWX7HyPe1hP9a+4vhaCPAmmBjk/6Rz/ANt5K+K/jpa6bL8WNaa5RWc/ZM5HP/HrDivrFVby2hPuo/8ApJ8vJWrzS7v8zyWDXrKcAoGyPWoNdk0LWNOa21SzFzHtIwyhsZ+tXlGlQP8AcRQPQVZhOmFSSoKn1rgVaXRFO5+LHxs0QeE/iNeQ6ejQ2crhkQ8Y719zfsj+PDcGLRpiGkQcHvXmv7cHhGwjs7HxPp+I5SW3Y4z0Ar52+AfxKHwt1V9U8RttjlA8rHXp717MpxrYWMkrST2FTcozaeqaP3kufEFr9la1n2sMc5rzprqQM4t0wnO3j1r4N/4akj8Sa/p+h6JHJJNfPjOMgAEentX3dZ3dutlEJT8+xS31IrkzDFzdlyk0qXItzgR4VuXvUvpSGkDFnPXPpX6f/BF2k+F+iMw2nF0MfS5lFfAK31mBhTk19/8AwSkWX4Y6NInQ/av/AEplqspqSlVaa6fqhVvh3Pwo/bftBP8AteeOGmOEzo+B/wBwqzr5w15IbO2QRcqRX09+2onmfteeNw3Qf2Rj0/5BVnXyh4zkaFo0B4A7dK+pvaKFTXu3M3SvEE2l6nBJbuyOrDBHWvvPwH4hn1p7Wd2LvGoyevavzO895b+NgcEsAPrX6efs6+D7lNPjvtVYDzgNqk81wYiMZXqS6Ho4GpJS5Ue7z+MktNKuYJhhlTj14Ffnzq/i3/hIfGrZlbl2BDH0r7p+NHgvUbXw22saLljEjbwvoa/KKC7uI/FjMrYZHbdn1ryMFQpuUpR6ndnFSXslFnuviZkSOQGY5x0U15Xo1gs9zIqcFietaeoapKHMzqZRxnvXYeGl0a8h86NHWcYyMAV2pKlTuj5R3jufur+xNbSWn7Mfg23m++n9q5/HU7sj9DX4tftwwpP+2540jkXcjSaJu+n9k2Nft/8AsjAD9nrwmFBUf8THg9f+Qhc1+OH7Y2kCb9sf4g6jKpKxnRSv4aTZD+leng/eipeVwlFSsmfqD+znovg7QPAOn32lwxRyyRgu6gBsj3r6ItvGMDMVRjtHHNfi/wCB/wBrGx8AQWPh3UYpBbkFc46Yrv8AWv21vDmnyxmxPmRvknGDitniaUWoT3OyOGlJc0dj6h/aj+J2n6TppsxMIZZFbBzjpX4TfEvxld6vrspSYt5bEhieea+mfjZ8b9M+MdiFsZfLuYgcHOOvrXx1ZeCNf8TXU0dkyuyEbjzUKrTdRtPyOidOapLQ2vC2o6jq1wIpJpBGn3mU17/8PfE0ely3FvMC6rjDHk153o/hiLw5pIs5Y5BeN94kdcVatLWQyyrAxQjG4dxXfGkorm7nnSxDbt0Poy58W2NzCCYSfoK/Z79kS6S9/Z48J3KAhX/tLAPXjULkf0r+faC6u7ez8pW3Edz1r98v2J3kk/Zj8GPL98/2pn/wZXdcmITS8i5TUj8Xv26PC73f7ZvjjU5SUic6Pgno23SbJePxFebX8fiKPToTZRvH5YwjgEdfevqj9tXwV421f9pPxhqlhpc91Yk6WYHijLBtunWqvz7MCK8tjsfElro8C3Ok3ZKDDIYz/KvyLPMZU9u48vN70l+J51WlVctIN/I6X4HaL8Sr6Y2uuyw3+kXnMltMS5AXpgHiuv8AiZoOhaZeQWujW6GZCcxMBsX14Fc54a1jXNBt/t0kj2bAHCMSp59q8f8AiB4u1bUb4XMFwySgkM2cZBruy3Lq2JpqtiI2aeiXQ+pyvCOUF9bjtse2+GPGOk6I93p07BfLCs/k/cBHOK+Xfj58QNQ+IV9FNythZkrDF29DxW/pc+mW9tLLLJJNJNjcwOc+ua6OLRtD1XR2S3gSUxg5YgHr61xYrFywVfmlE87iDESpVVSirK33nyR/wkb2en/Y3wEf06133gzztSEa3Q3RqcjPPFYut/Di41HVJJLFW2QknZV/Q9ah8NW0ljq8TwSqDtyMdPrXo4jEQnRvh1qzw6kpRjeKP6Sv2OxAv7OPhBbZQkYGpYVeAP8AiYXWf1r6Zr49/YG1NtZ/ZN8Dak4IMp1nr1wmrXqj9BX2FX22XwccLTi91Ffkd9O/IrhRRRXWWf/U/fysnXtA0PxTo154d8Tada6tpWowtb3ljfQpcW1xC4wySxSBkdSOoYEGtaigDwfwl+y7+zj4Eu7q/wDCPwz8LaXc3ttNZ3EsGlW2+S2uFKTQklCfKlUlXT7rLwQRxXfeB/hf8NPhjb3Vp8NvCWheE4L51kuotD02201J3QEK0i20cYdlBIBbJAPFd1RQB4j8QP2a/wBn/wCKur/8JB8Rfh74c8QaqUEbX97p0Ml2yLwqtNtEjKuflBYgdq73wN8PPAnwy0JPDHw78PaZ4a0lHMgs9LtY7SEyN95ysSqGdu7HLHua7GigDzf4i/B74VfF2zgsPih4R0bxTDaMWtxqtlFdNAzdTE0iloye+0jPeqHw2+BXwa+DzXUvwt8FaH4XmvlVLqbTLGK3mnRTlVklVfMZVJJCliATwK9XooA818Z/Bj4PfEfU7fWviH4F8NeKNRs4hBb3etaRaahcQxBi4SOS4ikdFDMWCggZJPU16SAFAAGAOABS0UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV+Wf7Wdpe3HxUkW1tjIG8nLhc9LaKv1Mr8/f2hbho/iJcGSI7E8nDY65gjzXkZ1Dnw6j3f+Z6OVz5a9/I/MTWNWOgfEKG5LA+Sfut0GRXvv/CwjrWnLBNaRlmGNwXk1heKfAGg6rr516QtyQdvGDXVRL4ZsNDdo49k8Qwm8DFeZzqjRtUWltz6CVT2r13O10RorrwXHCzAiHcW9snNeU+KbnTL3T2MEikpkZBrltV+I0lhp39n2KgF8iTb0Oelef8Al6tc6VczW2dvUg9s81+O1sjlLHTxENIt3R+m5FjoU6UY1GUZdV1I3X2O03GMHGR71j+M9Gu/Di22rvdBzcg5Xdkr2r0TwjpNldeH0nnkK3Tls88jBrL8fQ2P/CLMt46PLF9wk5J5r6jB16dOty8vkcWKzitKvyxeiZyXg28uvK+xRylg+SoB/E1+6f7JbF/2ffCrE7j/AMTHn6ahc1/O5oF7rVtdRXOnRuUO4KccY6Gv6EP2MvO/4Zr8H/aM+Yf7ULZ99Suq+yyCgoYyck94/qj4fiuopwuu6/Jn4n/8FBNFuNV/ax8cN5e5E/sjacf9Qqzz+tfHtjoFykTRRxAL3461+q/7X/ws17xJ+0N4s1iz2+Tc/wBm7c5/g0+2Q/qpr52k+AeuxlJY3GCORk19Z9coxbjfY/EMZiqqrTSel3+Z8h6Rp95Y61ZXqIV8qePO303Cvr79o7Vo79tBvLW2wDDhxt9FHWkg+AevLcwXLSJsDqxGT/Cc16n47+Gd34yliWORYktI1XAOB0ArlnWouqq19j0MPmFSOBqRv1R8QjxFrX2b7FDEPKP8JBxX2B+zP8Q5NK0nVtB/1N0QjRKOM7eTiuQi/Z31doyY58kH1ruvAHwL1TQvFEOpy3GAiPlc8HK1jjK1CpSaUvMeSZnWp4tTlqn+R5r8etLn+Jz3fjWO52T2ZCzQM2CP4RgV8eyeH3gbh1I+tfoDN8NNRuNV1KyllYLqTcAH5RsrjP8Ahmy5eVzPcFVB4+brTw2OjCLjUl6GeZ4qM6vtaez3P19/YEh+z/sleBIf7v8AbH66remv58P+Cm9pM37bvxImCnYf7CwfpotgK/pE/ZH8N/8ACI/s9+FPD27d9k/tHn18zULmT/2avxA/4KG+FLfVf2o/HF0EBllGk5OP7ul2aj+VerTzGGGtVe0tPv1/Q+kwVJ1aEbfyp/kfkAUIOKfHH+9UOOM17XF8KruWdnOQuelQX/w1vlmjWJeAea7/AO2cI/djI3WDqtXsaXwqtY5/FdkQu5dw4r9evC1jDbx2UErBWkQ7VPXpX5a+FtPk8Hanbah5W7YQTkV9ZQfFeW7v49RQ7EtlUDHC8gA1+S8W0KmOnan8NmfpvCmOpYH35/Fdf8E+gfjZYxaJ8F/EGpbgrbVClfc4r8KJZC80jn+J2P61+tPxo+LVp4j+EN1oduQ5kUb8cnINflFLpt15bXAQ7dx7e9e/4W4aphMDV+saNy/Q8zxGx8MXj4ypO8VEgjdyNlf1r/8ABNGIwfsS/DiI9v7cP561fmv5I0SfIKqcZr+t3/gmiZG/Yl+HBl+9/wATzP8A4Or+v0HMKnMkkfn8ESfHy2W58Q6/E/IK25/K3jrxv4W3cV14XSGM8xM4I/4Ea9++L1ut14z1qB+jrAD+NvHXgHgXTLTQpbrTbeQuN2evTJzXoYeNqlKX91fkedVmnQnBb8xy/wAStJv9M1K08TaLEWljb96EHJB47V6r4f1QarpsNyQVcqNynqDWrPHHMCjqHUgjB5FYejaXJpks5Jykhyq9hXRGjKlWfJs9zGriY1KOu6PPviT4UstW1Cw1OZ1jaB87m47iquow2eheKLDUIYh/pQAZwPQAda6X4lWU9/oBFqGMkbKfl6/erE1rTr3V/D+n3dqh823xnI54IzXmV6EYVZu3ZnbQxLdOPM+6PZF5VSPQH86fWVpN19ps4XzkhQD9QMVpOcV7sJKUFJdTxJwcJOLPsP4W/wDIiaZ/28f+j5K/G/8Abc0BB8fPEuqJJGHvG03cM/OAlhbLz+Ar9j/hWc+A9L/7eP8A0fJX4t/tpeIbXRv2jPGyanDK6P8A2WIGI+Qf8S213YP1/Wvy3jGtUp0pOlvzf5n0dGhGrThGeyszxzUIPDtlpnk21wpvFQEEEdcV47eajdXVr9jkufnYkMQ3OM0zWfGfh650+LTNPU/bWzulOOPxrhbGY2mqxwyEyPM4wW5XrXwGXZe+W9bVs9WVVwoKMVq3Y6FtPk0+KWSFHdHxtfqM1RTVbnSkNtqUTMj9OK9j8VXM8UVhostvBBGoB3oMbs4NHiXwhps2j2chkEl1IDu2HKj/ACK7nUi3CDVkz6XAU54XDVasnr0ufO/i3w5aXmjrr9uDCh7HjPNa/wALJbyzlFzpwYNCQ29evFU/GmlXdhC9sLlmtExtjJ4568V7z8DPBUkvgXUtceMk7Rs498V04urTjhmpu6bsfPZriJexlNqzZW8X/FjVfE2r6fYasxaCFgrfpX9AH7LskMvwI8LSW7boyl5g/wDb5Pn9a/n+sfhz9vmfVNYY29qGJVuhJB7Z96/e39kSIQfs8eE4VJIQaiAT1x/aFziu7IMHTo4tOmrLkf5xPIjgnQUG+qPjX9ozxB5Hxz8S6clv80f2DMhHB3WVu3X2zXhM+trda5FaW/N53K9Bgf4V9IftI2Ey/F3Xb1oVMDfY8vj5ji0gHH5V4B4WsYbzxWL7yAjdMY7YxXhY1RWMrT/vS/Nn3FD/AHenbsvyNFJ9Q1COZIHCSx4ALHG4msDULW78PGO41i1LSyH92yrwa9ZtpfDtp4pSJmVgjDMa4wT7ivYfE/irwXDZqNQsYJ2jUbAyg4rz6DpTi3UnbyPXhlGJkouEb8x+fX7RvhfRr/4YXOvapCFmiQFCwGQSe1flloXj/wAW6NqGnHQ7mUvZSMIIgxwQx6YHrX6g/tj/ABFsdb+Hc2haPbrCHIDFBjADD0r8/PgR4Og8RfEO0066BKIdwI7HGf519pw9UjSwcpt3SueZmmX1qNdU6is7H6z/AAE+Ij+LPDDaR4tgOm65Kifu5BsZ8c5APJ4r6s0XT/s1uzB0REGXJ4PtXyf4Y+FN1YeJofF99cSu8S7YV3ZXpt6V7Zf38mnaM8V5cMs83Dc9s8Y/Cvj85xNGtU9rRW+68xKDh7t7+Z+h/wAH5o7j4daTNE29SbrDeuLmUf0r4g+PM0Q+MWvqTyv2PP8A4CQV9j/ACJYfhHoMasXH+mHJ5zm7mP8AWvif9oWNE+MWvzLkMfsWfQ/6JBX3MpcuV0PSP/pJ8tNXxE7d3+Z5yJI5V3bcirEcqlAqAA9qzIQBCDu2n0q0ihk3Z2mvKlWZsodTwf8AaS8Jx+NPhzPbn5JrUqQR15bNfM3in4LeG7r4IWOpnd/ag+Xe2MZLY+tfbfj6ykvPCd+gfBO3H515XqHhC51X4QwwTSlBC4OVOP4816GHxVqcddpGU6bbfofNn7Onwm/4Rz4kNLrP782YVoSeQN6+9fo+8yKfvDb6d+K+d/AIsW8XyRwyBiqIrNnJ4WvfTZ2+Q+8nPvXPmGKqSq38i6NKCiSR3cDoxj5NfpH+z+2/4R6C3r9s/wDSuavzW/s6NH3REhe9fpT+z+qp8I9BVTkD7Z/6VzV0ZHVnLENS7fqicVCCgnFn4a/tv3BX9r7xwm7aF/sjJ/7hVma+TPF15DIIlQknnk19Z/tzyWcH7VfxBln+/wD8Sfb/AOCqzr4Z1G4lu1ErcbScCvsI7HHzWViPSUjfWrUTfcMg/mK/Q2y8V33w+tre7M5khMalVzkDgV+c2nXsMeqWzz8Ro4JP0NfWnjHx3omoeGIYbd1d40UDue1eZinL4UtGeplvL70pO1j7L8M/E29+IXhrUElcJDHE25c4zwa/OSx8PNf+KtQktfmCyt/M17X8D/H2lWGm6nY6pOkCzRkAscdjXC+C4om1jULu3mDRPIxznkjJrhw0HSlUS2Rtm1aEqcJxd3qRvaRxyiFkBA6jHNdla6bbxad9p0/ak4xlTxUN5c6JFL527EinkHvVO912wl2fZJFRsdFOKJynJHzU581lE/dz9j3zx+zn4R+0/wCs/wCJlu/8GF1j9K/O79pX4dar4k/aj8ZXUEZNvdHS8sB/c021X+Yr9Bv2MJ5bn9mrwfNMdzt/amT9NSugP0rzX4vI1v8AE3XLmBI/Mk+yfM3Xi2iFfS5Ula0v5f8AIufMkrH41/Hj4NX+k6/pOmWobN4xUOffGa6Dx7+zE/gT4bnVAWuZdiO0n3iN3PX8a9x+OOo6ld+PtBs5wu1JG2yD7ozjqa9d+Leqz6V8OYtOvWS6+2+SvHzAAMK7qtKhdy1v0NoVKqXKfnr4W8Axv4NFxHYMsrq2Zdnzce9dj8IPD8mjw3U0Sec7k5LjJGK/SfQPAfhCTwjbQOscO63JwMDkrmvN/g/8N/DEtzqsE9wB5UnC5GeSa5aTaUny66G0k3aNz4u8WWmrz3Eaz20aAsfnVTkD61DZeD4ba5e6iEkolALHqvFfpzqHwZ8G3pEssgCD72SKoQfB/wAFxRyQWVzGyjryOK0WIk+ljFUEtGz88xoVnJbndAQT0Kiv2z/ZEtEsv2ePCdrGCFT+0cA9edQuT/Wvj9/gt4dkDLHdxqO3zCvvr4HaLF4e+F2i6PA4kS3+14ZTkHfdTP8A+zVzVr8uppUjFK6Pnz4raglv8TtUhuzGsB+zAFve3irj9S8Mx3Vu91pqRXCkZwoyazvjs9yvxX8Q/aSDbD7H5Y7j/RIc/rXkem+NNW8PFriC7UQrz5crdQPQV+VYvERjiqqf80vzP0HBx5sNT/wr8keIfFaBrZ5TeQtbbc8EYr4V8XatPczywaWr3EyZwsfJr9Cv2g/F2j+PPh3Je6SYl1hcKUTqcnB9+lfFXgPTf+Ec1YGWEXt4wJlDDcFyOK92hnVLD4RyWsuiPEzmfJUjDqzx3wh4x1Pw9cC38RWEyrKSF81PX61734T0C91mWWezvJLPT3wzAtt6+nau3Hh208Zn7ZrFjHarAT5bOm1D+dbttoEFhCZLu+tbWzX5Y1D7d2eK+QzniKNen7OMLSPkc1rupHllHVbHnWtXSeHbqz0/RmF1LMWEkjfN09TXAeJvD11reuq0lurhx6cDiu78S6db6FdLetKrw5ysgPBz6Gu68GXun+IrWSO0aE3eAED/AHveuGpjfZU41Ya6WbPHnUvY/Y79h3Tf7I/Zc8Faft2+V/avHpu1O7b+tfWFfO/7KNlNp/wC8L2c7K7xnUclenzX9y38jX0RX69ldT2mDoz7xi/wR69L4F6BRRRXcWf/1f38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK+GfjT4S8c698R7+fT9Iu7vTF8jy5IraWRX/wBHiDYZVKnDZHFfc1eWeIvjn8E/CGtXPhrxZ8QfC2iavZ7PtOn6jrVlaXcPmosieZDLMsib42V1yBlWBHBFc+Jw8a0VGTNqFV05c0T4av8A4XeNLzT90fhu9SWP7qmymBP4bK4TUPhH8RruyFs/hfUMvkMVsJ+P/HK/RC2/aJ/Z+vH8uz+Jvg6d/wC7Hr9g5/ITmr//AAvX4IgEn4heFcDr/wATqy4/8jV5lfJ6dWHs5TdjuhmVWLuon5Mzfs4fEptR8pfDeomBzlnNhccfjsxVu4/Z3+LUCzW9jomo+VIB/wAuU/8A8RX6sj48fA4naPiJ4UJ9P7bsv/j1SS/HL4KW67p/iB4WjUd31qyUfrNXCuFcJ1kzrWf4lK1j8jdM/Zv+MLmeA6JqNui8ofsVwufzSuevv2YvjHqbiO90DUniVun2G4xjP/XOv2Hf9oL4CxJ5kvxJ8IIg6s2u2AH5meqx/aP/AGeANx+KPgsD1PiDT8f+j6uPDOEUuZMX9vYm/NY/K2L9mf4lW9iY7Tw3extGAEH2GcHnr/BX6i/s1eGtY8IfBTw54d163ktb+0+3ebDLG0Tr5t7PIuVcBhlWBGR0Oasj9pX9nM9Pip4JP/cxad/8fr1Dw54m8N+MNGt/EfhHVbHW9Ju9/wBnv9OuY7u1m8p2jfZNEzI211ZWwThlIPINejgsqo4aq6sHdtWOLGZhVxEeWaPiv4z+CfFer/EfWdQ03SNRuraX7L5ctvayyRtttolOGVSDggg47ivLpfh38QFjRF8P6q2Tz/oM/H/jlfo5f+MvB+lXkmn6prum2d1FjzILi7hilTcAw3IzhhlSCMjkHNZ7fEj4dp9/xToq/XULcf8AtSuergsO6kpOpZtvqj5ark8Jzc3J6u5+f7/DnxmAD/wj2r+wFlN/8RSRfDTxixct4e1VC+P+XKYdP+AV+gC/En4dMMr4p0Uj21G3P/tSnr8Rfh8+SnifRmx1xqFuf/Z6iWBwzVva6eqBZPHl5VJ2Pgef4deM7VEMGgao2eoWzmP8kqFPAnjlZhIPD2r5I/58Z+P/AByv0BPxC8Ahdx8S6OB6/b4Mf+h1Wb4m/DdPv+LNDX66jbD/ANqVKy7Df8/fxQv7GindTaPgL/hX3jESrOfDGqkrnB+wT7uf+AU26+H/AI1blfDmrsX6f6DOcY9fkr79HxR+GZOB4u0Ikf8AUStv/jlNPxU+GAfyj4v0EP8A3f7Tts/l5lP+zsM96v5CeUQas5md8HLC+0z4b6PY6lay2dzF9p3wTRtFIm64lYZVgCMggjI6HNfj7+2L8Jfiv4n/AGkPF2t+HPBXiHV9Muf7N8i8sdKurm3l2adao+yWOJkba6spweGBB5Br9wdN1TTNZso9S0e7gvrObd5dxbSrNE+1irbXQlThgQcHgginS6jp8DmKe5hjdeqvIqkZ55BNejXwcK1CNJy0VtfkfQYFyopRgr2Vj+aZfgP8b1+78OPFn/gjvv8A4zSf8KD+Nznc3w48V/8Agjvv/jNf0ntr+hLw2pWg+s6D/wBmqA+KfDAODq9hkdvtMX/xVcDyWltznrRxOJtZUn9zP5rLr9nj42XKFX+HHiv2/wCJHff/ABmo0/Z0+N32F7aP4d+LE3f9QS9H/tGv6Uj4w8JA7TrenZ9PtcWf/QqcPFvhRuV1rTz9LqL/AOKpRyekv+Xn5D9vir/wn9zP5nh+zP8AG46bcWc3w+8WOHxgf2Jen/2jXOR/sofGR7doW+G3isA+uhXv/wAZr+oGTxl4QiGZdc01B/tXcI/m1Qt468EKMt4h0oD3vYR/7PXRTy9QVo1fyM6k68mnKi/uZ/LbL+x78ZY4isXw48Vkn00O9/8AjNf0E/sNeENc8B/steCfCfiTTbvSNRsf7V86zvoJLa4i87VLuVN8Uqq67kcMMjlSCOCK+gv+FifD8tsHifRt3p9vt8/+h109lfWOp2qXunXEV3byZ2TQOskbbSVOGUkHBBBweorvoU3F6z5jhxCna8ocq9GfLvxI8O6/f+NdTubPS724gk8jbLFbyOjYhjBwyqQcEEH3rzm38A69bzPNFoWoK79T9kl5/wDHa+u9X+Jnw38P6jNpGveK9E02/t9vnWt5qNvBPHvUOu6OSRWXcrBhkcgg9DVOL4u/Ci4OIPGnh6Q+iarat/KWvp6dfFQpxl7F2SVnZnz8qNFza9pq3tdHy/8A8Ij4pH/MG1H/AMBZf/iaY3hLxVnjRdR/8BZf/ia+tP8AhYvw+27v+En0bHr/AGhb4/8ARlQn4nfDVfveLNDH11K2/wDjlZLOpJ25UP8AsuD2kfIV74O8XG3cw6HqDvjhWtJSD/47Wfpngnxs2mNBeaJqEbtkYW0mGPzWvr+X4w/CSA7Z/G/hyM+j6taKf1lqm/xy+CkfEnxA8LL/AL2tWQ/9rVvGviqnvqg2n5P/ACJdChC0XUtbzR8p6P8AD7xVpVsbddJ1N+Sctayk8/8AAa1z4S8V/wDQF1H/AMBZf/ia+kv+F7fBDGf+Fh+FMf8AYbsv/j1VZP2g/gJDxL8SvCCf72vWA/nPWnt8bFW9g/uZLoYeTv7RfejpfhpaXdh4J060voZLedPP3RzIUdczSEZVgCMggj2r8TP26Phn8bvGv7QHi6Twr4G8R6xo7f2Z9jvtP0i8ureXGn2ok2SxRMjbZAynBOCCDyDX7qeH/Efh7xZpEHiDwrqllrOl3W/yL7T7iO6tpfLdo32SxMyNtdWVsE4YEHkGtjIHWvlMywqxMrVdGnf56/5ns4eUYRS3Vj+Vy0/Za+PCRLcS/D3xYJhzgaJff/Ga6i3/AGffjiXjeb4b+Ld4I+b+wr7jH/bGv6fKQso6kCvMeTwW8z0KuOjUVuRI/m48SfA/453/AJEaeAvFspjH3v7GvTjj18mrOm/B/wCOllYGK4+Hvi2Z14XOiXpPP/bGv6Pd6Dqw/OkEkZ6MPzrkjkeHjJS9p+RtjM1qYimqUo6afOx/MBrvwD+PV9cecfhv4ukjDA7f7Cvjx9PJr6m8B6Z8W9A8GHw0nwo8VxHbgmTQL1QT+MNfu1uX+8Pzo3r6j860rZJhqtlKW3oTVzJ1Lc0EfhRpXwg+L2rJJq/iDwXr8VrBlo7BNKuldif+mZiyea/V79mK11ey+B3hu113SrrRb6M6gJLG9ge2niH264Kb4pArrvTDjIGQwI4Ne5Pe2cf+sniX/edR/Wpo5Y5kEkTq6HoykEHHuK7sJgqVKrzwld2t+X+RhicU6sbONj4i+OPgXxFqHjPU9Y0zSdQ1KO6EAUQW0s0Y2QRpxsUjqOfevCPCXwo8e6TPJqdz4e1UsQ+1Gsp8jIPYpX6d3fifw3YXT2N9q1jbXMeN8MtzGki7gCMqzAjIII46Gof+Ev8ACYk8r+29O3/3ftcWfy3ZrwsRkeFnWnUdezbba0+42hm7jBU7LTQ/HnS/g/8AFaPxLfa5ceGddK7sxo2n3OD9P3fP4VZ1TwH8XtTEsjeD/EGV4QHS7rnPH/POv16uvGfg+xiae913TbeNOWeW8hRR9SzgCuQf46/BGNzHJ8QvCqODgq2tWQIP086s/wDVLD125qq36W/Q+ro+IlWmlCNKOituz8G/jH8BvjTc6VHbWXgLxPqRmyXFto95MVwc8hITiuW/Z1+Bfxj8OfEeHUNc+GXi2zts/wCtuNBvooxgd2eEAfnX9D1p8XfhPqBxYeNfDtyf+mOq2sn/AKDKa14PHnga6/49fEWkzf8AXO+gb+TmvRjgcJh8O8PKskn3aR5GO4rniqvtJwV/U+EE8FePdRRtnh/UbVIcbVeymQn6ApzXNeJvhr428RqmnP4e1eLaR++WynA4/wBrZiv0an8a+DbXH2nXtMiz033kK5/N6d/wmXhDZ5v9uabs/vfa4cfnurwY8O5dzKSxSv6x/wAzz3nctuVHLfBvQrvw18N9H0S+jkinthcB0mUo433ErjIYAjhh+FfG/wAdPBfjbWPizrd7pXh/U72yl+yeXcW9lNLE221hVtrqhU4YEHB4IxX6F2V9ZalbJe6dcRXVvJnZLC6yRttJU4ZSQcEEH3FeXeJ/j98CPBWuXPhjxl8R/COg6zZeX9p07U9dsbO7g81FlTzIZpkkTfG6uuQMqwI4Ir7CWBhVw0KKldJLXvZWPNVZ87n3Pz0/4V98Qw+xvCutkDuNOuP/AI3VWXwN8TImwnhPXGX2025P/tOvv2L9p/8AZpn/ANT8WvA0n+74k01v5XFWR+0l+zqRkfFPwVj/ALGHT/8A4/XJ/YNLfmZr9dex+Y/jnwR8V5PDlxBZeC/EU8km3CQ6VdO3B9FiJrDl+HfxluPhu+jx+DfEEdw6HCHSrsOD/u+Xmv1Sb9pb9nFPv/FXwSv18RacP/bil/4aV/Zzxn/hangnB/6mLTv/AI/WscmgoqPM97i+tPsfiv8ABX4HfHTw/qsmqeIfB/iMFmbiTSrtSRzj70Qr6kTwd8SpMofB2uovY/2Zcg/+i6/QNv2lv2ckG5vip4JUep8RacB/6PpB+0x+zgV3D4reCCPX/hItOx/6UU8RlEKsuZysKOJklY/PeLwT8US7K/hPXQOx/s25/wDjdfo18CtP1HSvhXolhq1pPY3cX2vzILmNopU3XUzDcjgMMqQRkcgg1hn9qX9mNThvi74DBHY+JdN/+SK9Z8MeKvDHjbQ7bxP4N1iw17R73zPs2oaZcxXlpN5TtE/lzQs8b7JEZGwThlIPINaYPLY4ebnF30sRUrOatY/Bb9uL4R/GHxV+01401nwp4B8T61pl1/ZXkX+naPeXVtN5emWiPsliiZG2urK2CcMCDyDXyP8A8M+/tBFdrfC3xrj/ALF/UP8A4xX9Rup/EX4faJqMuj6z4n0awv4Nvm2t1qFvDPHvUOu6N3DLuVgwyOQQehqNfiV8OX5TxVojZ9NRtz/7Ur01iIrS6M+SXY/lduP2c/2hckp8K/Gx/wC5e1A/+0Kfbfs/ftG/ck+F3jgL6f8ACPajj/0RX9VC+PvAj8p4j0hvpfQH/wBnpT498DDr4i0kf9v0H/xdZupB6tj5Zdj+WD/hn/8AaL81Y4vhh44RSeT/AMI9qAH/AKIr0LQPgv8AtCaXceTH8M/GaRsOWOgX4H5+Riv6XP8AhPvAuM/8JHpOPX7dB/8AF0w/ELwCoy3iXRwPe/g/+LqG4OLV9w5JPofznv8AAj42zSF5/h54vO7/AKgd7x/5BqC6+AfxojiBtfhz4v3+v9h33/xmv6LZPih8M4hmXxboSAf3tSth/OSsK4+PPwNs5Vgu/iJ4TgkY4VJNbskYn2BmBrH2UH9oXs2tbHnH7Gug+IPDP7NvhDQ/FOnXelapbf2n59nfwSW1xF5mo3TpvilVXXcjKwyBlSCOCK8z+MvhfxjqnxI1a70rR9TurR/s2ya3tZZI3xbxA4ZVKnDAg4PBFfbGkazo/iDTodY0G+ttSsLjd5N1ZzJPBJsYq22SMsrYYEHB4II61VvPFHhrTrlrPUNWsbW4TG6Ka5jjkXIBGVZgRkEEexrtpVlRSdydz82Jvg94h1aZLnU/DOpSyxnKtJYzEqfxSrWvfCDxXrttHZXWgai8MWNoazm4x/wCv0U/4TTwd/0HdM/8DIf/AIupB4u8JlDINa04qvVvtUWB9TurT6+pPRq/qNKytY+BIfhp41aCO1OkalGka7R/osw4xj+5WLovwP8AFei65Lqttp+qATnLp9nl28f8Br73vPix8LdPUvf+MvD9so6mbVLWMce7SCuZf9oz9nuIlZPif4MQjqG8QaeP5z1r7efYLrsfL994K8fzRMkWk6jtPb7LNn/0GsK1+GXjiGQzppeqqW+8ptZsH/xyvtLRfjd8F/Edx9l8PePvC+qTj/lnZazZ3D/98xysa2NY+J3w28O2pvvEHizQ9Mth1mvNStreMf8AApJFH61m8VZ8repXNrsfCp+HnjefKjR9YjYdCbSYL/6BX2v8H9M1DR/h1pOm6rFLBdQ/afMSZWSQbriVhlWAIypBHtWAP2lP2dD0+Kfgo/8Acw6f/wDH69Q8O+JfDni/R7fxF4T1Wy1vSrvf9nvtOuI7u1m8t2jfZLEzI211ZWwThgQeQadSrKUbMlu55R418Cafr+u3V3Ppsk7S+XulERYNtjVRzjnAGK83l+B+hXM26fSpmUdAYDj+VfR2pePPA2jX0ml6x4i0mxvYtvmW9zfQQzJuUMu5HcMMqQRkcgg1Rf4ofDSMFpPFuhKB1J1K2AH/AJEr82xnC2ErYipUli7OUm7XWl3t8jvp1cWoJR5rfM+ef+GfvBiy+YPD59x9nOD+lUov2f8Awdazz31p4aIuJRyWtTjKjjtX0NcfGH4SWmPtXjfw5Du6eZq1oufzloHxh+EbY2+N/Dh3dMatac/T97ShwZhoLl+tO3yM3OtLWSb+8+RNF+HUHiG/udA17wVqFjHbNiOddOljtpAfR2QKfwNdBqf7MvgvWLZbO60W4CRBiv8Ao569u1fVDfFD4aIVD+LdCUv90HUrYbvp+85q5b+P/Al3MLe18R6RNK3SOO+gZj9AHJpPg3A8144i3zRLVRvmcPwPzB8GfAq+1L4h654S8V+C9UGg2xj+w3kumzLbuCMnbKyBD+Br3S1/ZX8FWE/2mw0a6tpT3ityuP0r7sF/YkbhcwkHvvXH86qjXdEMpgGoWplHVBMm4fhnNb1uEsLPRYhpPpoROLntDY574deHLbwl4N0/w9aJJHFaedtWUbXHmTPIcg+7Gu2qOKWKeMSwOsiNnDIQwOOOo96kr7TB0I0MPCjF3UUl9ysYBRRRXSB//9b9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACv55f2yPCela7+1/8AEF7iLzJW/sbPGemk2QH6Cv6Gq/Ev9ojSoJf2svH146gs39kdfbS7Qf0rnxN+XQ6cKlz6nyj4Z+G9rot4L23tEb2da9Si0a0YHzbC3AbGRsr0qyit1RiycL1wK+mPhz8LPBHjPwlNqkl15d0qMdpYDBGa5Yxvods5KKufGkuh6KYg9vp1uZAOmyuP8U6xonh3SprnW7C3aJdoOEG4ZOBX0Jonhsa14hvfDOhskt1bvtZjzgfh7VzPxS/Zb8Q61ayuLjzUmUvJGpJC7OelOK6kTa2PnqE+B/FVkln9kjjW4BI8tQGGK4u4+EdjK0ot0HkL3Yetef8AiCGDwGyW9jdSyahFJs8rdkDDYPHXpXtumeNI7+Wz0uJgZGTMwX1xnmk4vcuPL0PLbn4Q2lujuFToa/e/9hHT10r9lTwRYIABEdX6f7Wq3jf1r8b7xZJ43RHKnBr9pP2K4mh/Zn8HROckHVcn66ndmtcNfnZhikuQ+dfj/clfjBr8ajlfsX62kFeNSKs/zKAWbsa9l+Pjxp8YPEjMMkfYv/SOCvHYp7dwWhYcetfkOap/Xqtv5pfmzzlMxZUnhcQrgMeuKtrNNHIlsP4vvEVJNbzeb9oZhx1rptE020dW1jUHCWsXJZuM1yU1Ub5bF0KU6tVUqK1ZVa0v5VG1T5WKba6JZT291NcuC6AbV+teV/Fj4/afocC6boCo0rEqCP8A61b/AMPtQutb8HLq8xYyy/NJn61s04p1Zqy6H3Fbh+nRw0pL36iV/JFiXTordWdcbie9JFp8Bczuo8wjrilmeO9YokvzDoAalghnwfMPSuWVWSdj8/8AaRk9Efp9+znGIvg14fQHOPtv63k9a/ipAurXEhH3tn/oC1k/s6qF+Dnh9Qc4+2/+lk9bfik7tTmT/c/9BFfsWD1y+j/hj/6SfQ5A7Yj5fqjybUE2l2xXFeWvzyMK9D1dcK3FcTeqEiES9WzXLUjfU/XMBNyjdnFtCTKZcZBNbUNvEsYPHNMuEEa7cEYqrEHc5BIUdz0ri62PfhBrUx9dESj5gMCvNb65mupPLt4/l6cCvVbyxtrklrudUQdATjNYU82l2RItzEzDpWtOLS1OSvZs5bSvDrqRPNCWJ9RX6C/CSLyfh7pMZXbt+0cf9vElfAV34h1uKRfs8SCMnjivvb4N3NzefDbR7m7AEr/adwHTi4lA/QV6WXr94/T/ACPg+NJL6lFL+ZflI/Lj9qjTlu/2gfFTMOD/AGdk/SwtqX4WeDdK1IqhRWOR8xFdL+0+Fb44eJEQfO32DJ/7crevINU8Y6l8OvDMmq6TG08sYBCoMnJNfTce8fV3h8JkuDbSjTgpdLvlR+ScN8LQlVr46tZtylby1Z+jmi/BbRbzTVJVWYj2rnfEvwO0iC1ZxGisATwOteKfs1/H3xDf6INe+KM0Wh2E5xB9pJiLYOP4qP2oP2m7/wCH9vaa34ei/tTRpzhriAeYuDgdRxXxbwknTu00/U9xUn7RxR8+/FXwdY6RcsgUIOfm+lfKeqabHLKyxfNtNfTHjLx2nj7wZFr6RlDcLuzjkV84Je2FrcmB5gZZP4Sea/TfCDjLERxn9kYiTlB/D5M+W464disMsbTSTW5yc1gUQqFrzzxDpyCMv3Fe6zWvmDcBxXCeJLKEwkKOfWv6jzCguVI/H6Fe0j91v2BY/L/ZL8Cp6f2x/wCnW8r6zvGVDuZio/Svln9haPyv2V/BMfp/a366peV7n461ldLtiWbBI4H4V/I3FNVUcxxUpdKk/wD0pn7nkNP22GoR7xj+SJL/AMV2VgdrzDA7k1lN4qgvHAim/I18HfE34j31vqS2qtIodv4enWuE8c/tF6V8MND/ALQvLjzJWT5VByc4r8azTPsVVreyo9T9Pw/DlBUuaofpJf8AiqKFWj875h71kWfi9pODL39a/Gz4dftia14nOqXmuQvaWmR9nmmG1SOe5rp9T/ayj8OeHpdWSb7e8TAhbY7zjPevmcRSzf29tT0YZBl8aHO5H7Hf2+3lB/M/Wr9l4jt5sxtJ8/pmvzX+Dn7Zfgz4j2MViz+TfHhonIDZ+nWvcJPG09pr8Rgy8bkbiOcA9K2jmGOoVeSrc8t5FRqxvS2Pra9WC9iYoxDH0rq/D8LW+kQQucld/P1djXg9r4uCtEpBCuBya950C5W70i3uF6OG/RiK+/4Yr+1qyl1t+qPnM5wcqFNJ9z4I+M3iOxh+LviOxEuLi0+xblz032kLD9DXJ6V4sgvD5shRVjBLTNxwPesL9pS90/TPjF4pnMZ8+QWO5lHJxZQAfpX5v/Ff48NoVk/h/R7hkknO1sHBAJ9q+ajlFWvmNdwjducvubZ+cRpV54uSj3f5nvP7RXxvvb+aTQfCc5ltk+WSWI5yfYj0r5L8OWk2o3qyajI26Q5wx5r1fwPp+ip4FXXL1lnYqXcvgnJ55r5j8SfEax0vX3uIpBHGjEKqnFfoGH4kjgcO8vwcPfS1dtz9Aw3CNP3cRiJWTPuLS/A1yNL/ALR0O9lSSIAsqtj+Vd1oXjxvCsMZ1Kc4U4Y55zXzh8L/ANobRYdGmt4yZ7p1ACHnP4U/V9aXxNbTyTRSQeYdw4wvHNeTRwdPOqMoZrQs112NOIMkwWGUJYN3ufeMXjS08UwwSQvv4z1zXdxTm80h41lCSpjCscZr4N+FGvXttAspbdFbHBJ6YJr6g8I+M9E8ReJW0K4kaGaVf3RU4UkCvzjiPhChhE1gY3ufM18FVhNVLbn6dfBPcPhjowcgt/pWSOn/AB8y1/L3/wAFNs/8NwfEnH/UC/8ATLYV/UL8FbGbTfhno9lcEl4zd5J64a6lYfoRX8wP/BTNN37b3xIP/YC/9MthX7Hw/Bwy3DwluoQ/9JRrLRanzF4A8T6boQNtd2Udy8nRnXcBXqNz8U9E0gi3fSLWYnqRHnHevmFTIhyjFT7VPulkOZGLH1Ne6p+7y2OGrC81O57nq3xX0XUFXy9GgiKntEBmtOP4x6AltHC2hQEoOvlDmvn0Rk96QxMO5qVBs2pzXU971P4w6BfWiW66HBGV6kRAVWj+LPh+LTpLMaLCWdSA3lDIrwdkY9c1Dtb1NZyjqapokvbhbq7knVdiuSQo4xX9ZH/BMr/kyD4b/wDcd/8AT1f1/Jgy4PJr+s//AIJl8fsQ/Df/ALjv/p6v6kqLPAf2jLOOT9oPxNI46nT/AP0ht6xbO0tkjTHpWp+0pdx2/wAfvFAkbaP+Jf1PT/QbevPrLXYIVVXnVl7HNfHYiajWnfu/zPpqSvTivJHrNjNbrFg9Vq61xZeWXlIXHevNo/EFjuyLhDnqAea+bfil8TrtfGun+FdIutkdxIEkKt0BxWaq9Ei/qrlKx9ipe2VwrraOsoXrsOcVl3EsbxFVGcVs65a6V8MfAulxWYW5vtRj3PLJ83PB6/jXyf4u+JOqaJcp5W0JI3zk9Bn0rhr5nQo11hm7u1z08NlNWdD2y2PU9bjR4nGOor49+I2g2c92XaVYZkJaNmOBkc9a+hk8UzalCjxxlldc7scc18t/tAQ3X2CJ4GZJXzjHBruVZNXgzycbBqnKLP3m/YTvbrUP2VfBF1esHmb+11Zl6EJql4o/QCuT+Mdg8nxG1W43MFP2fHpxbxCr/wDwTuW5T9jr4frdgiUf2zu3df8AkL32P0q38WJp5fH+o2qRbgPs+DjrmCM16OawcsDSj5r8mfPU7I8TWzlaXaJCT25r1Hwp4W1GWPLqZI36huQRXVeDPCdrcuLm+ixjnkV6ZqOuaP4aiWH93HngdBV5RlCo/wC0Vn6DUZSlywOYPwo8EazYfZ9X0e2ckEHMYJ5r4s+Jv7BfhjxF4g+3aCFtLZyS0a4XH4AV91ad4sgvrkrHIpz0Ga2rvWYrDbNeMI0bueBX12Hrczuh1aMoPU/ObwT+x1cfCjxA+v6NKZUAyUY57e1eL/tiXWoQfDuS3uUKZ4ORjo1fs9bTWWpQb4irqw6jkV8cftf/AARj+IXw4vU01NlxbIXAUYzjk15eNyv22KjiovVEK60P5u4jtkx61/UF/wAE8wB+x94AA/6jP/p3va/mO1DT59M1GSyuVKyQSMjA/wCycV/Tn/wT1AH7IHgHH/UZ/wDTve16uI/hL1EfOP7S7qnxn8SzDrCbD9bKCvjfxh8TdH0/UR4bvpfIe4IxJkDGOetfavx/8KeJdd+OnipbG3Y2s39n7ZCDg7bG3B5+oNfm9+1p8GNa8Mwad4luDjG4yOueOgHNfztUyf22d1nW0i5zs/Pmdj9Ohj1Sy+mqesuWOnyRu+PbyKyt7HV7OY3kGCTg7hXmF14u+1ajbXDTyWsFvlnAO0Vl/AOTVNX1KWz1N/telwAYE3zAZH+Ne+eJfBvhbW7S5sIIEillUhTGAORXpYvNoYSt9UnC7t8S8zTDYOdag6ikkn0Z4Dc/GbX/ABT480y00uSRLCF9mQSN3QV+iPgvxJceGvFmmG4xJHfbMNJztwB0r81Phv4Uk8PfEmLRNTiLRwy5DY6g81+gnjSKO6k0m50lj5lqRtA69q78VisNRhyUo30Vn3ueTTwtWpO83ZXZ+slnrNq1vCpZcsin8xWddmzF2Jrfy/Mfqe5r4auPiF4lsYbNVlUNJHgkk/LtHesuw+MVzp+qxSajcuwVjuAb5a4sTOraEVBtNrVdCMNhaT5m6lnrp3P1V8L5/sK2z1/ef+htXQV518Jteg8T/D/Sdctm3x3IuMH18ueRD+q16LX65gXfDU3/AHV+R8XXX72XqwooorqMj//X/fyobi4t7SCS6upUhhhRpJJJGCoiKMlmY4AAHJJ4FTV+AH/BZ342+ME17wZ+zn4YvLi207UrH+3NXtrWTadReed7ezglVDuaONoZH2MNjOyNgtGpAB+sPxI+Pvw6174P/Eu++EHxA0DWPEPh3wtrN8n9harZ6hdWU9vaTPHK0cMkpUpIuRuXGRXxL/wSZ+P3xi+PPhr4jX/xe8UXfiabSL7S4bFrpIU8hJo7hpAvlRp94quc56CvjX4p/wDBJrXvg7+zjefF7wz45vZfiB4b0efVNcsIE8myktPJb7bbWkkeJw0du0ilnLLcAFSkYfC6H/BLT4kP8Hv2Z/2jfihFbi7m8MW1nqUEDHCyzQWt2YkY9lZ9oPfGcUAfvd45+L3wn+GJgHxI8Z+H/Cpuf9QutanbWDS/7gnkQt0PTNa/g7x94F+Iml/254A8RaT4l07ds+16Rew30AYdV8yB3XI9M5r+Yr9if9j7Uv8AgoD4u8c/F345+LtXFla3kaXl5aPCdS1HUrlS5AkmjljhigiCDaISu1kSMKq8ZPjfwt41/wCCXX7Z2hN4Q1+61bw7dpaagAx8p9S0K6meG4tLyJCI3ljMbhGxt3qkqqp+VQD+qPXNe0PwxpN1r/iXUbTSdMsYzLdXt9OltbQRr1eSWRlRFHcsQK4/wv8AGD4S+N9Nu9Z8F+NvDmv6fp7Kl3d6Xq1peQW7OQFEskMrqhJIADEZyK/nv/4KgeP/AIgfHj9rnw1+yx4avnttJspdG0+0spJTHaT6xrfluLu4C53eVHPHGpYExqJCgHmNux/2wf8AgmhP+yt8DX+LXw88c6hrKWa2un+LbS5iW1juoLueJVkgWInMAuhEWt5jJ2fflMEA/pd0zV9K1q2+2aNe29/bhinm20qTR7l6ruQkZGeRWhX5Tf8ABHIAfsizkADPizVM4HX91a9fWv1ZoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAr8fP2gLe2X9pTxvcSHLt/ZfH0061FfsHX4xftCGQ/tSeO0YkJ/xKcf+C21rDEfCdOF+MzLZ4ltpEVATIOB9KT4W2HjCWbxJqEV49rYQx/uI9xUElTnj61mWwuVmikg+YIcEH34r0H4j+GtdHgawh8ISSW97dZMgjJAbB74rCCs7nVW2PmT4beNvEPww8YXHibV5DIZpX84Ek8ZIWv0r+D3xW0H4h6PfXmF82OFy0L43jKnt71+Rnxg0nxD4X002usCT7VqjxLAOc5UjdX2b8JNLsPhB4Gk8X+IrsRXN1ApZC2AcjA4P1op3WjM5Lm1Pz68Z/Dvx/wCNvjZr2reHdIf+zLOVsBozsy2fT3rrvh34A1vwzJd6j4qi8q8nI2owxtC8cZ9q/Vf4DT6T4r8H6nqdvFD5l44O9ByQGPU185/tOaM2m+ILZLNQmQc478VdRe7cKUbSPneWzt5i7K2Dg9K/ZH9jhBH+zh4SQHIB1Tn/ALiV1X4sRidbZ8kh8Gv2j/YyZ3/Zs8IM/wB7OqZ/8GV3Sw/xBivgPlb9oidk+MvieFVZmb7DjHT/AI8oK8HsGlimaO5zHjp2Fe//ALRqr/wt/wAQPEwEg+xZ/wDAODFfNmom4mbar7j3KnmvyjMKLWNrSb+3L82fPVarjJ2OwtLhr25MUbBoowTIx6AAZrwf4l/FO6mtrnQdHk8q1h4LKcZNQ+O/Gl34VspLC1YpJMMMw4NfKWra3PcQEREsZCST7k16uCwahSdaa1Z9LkilCKmn7zKkP2jUtXiv76RpkWUZAOeM1+iWg+KIYdHsrDTbQwwyIFxtwG45r4i+H2htdIxuF5yCM/Wvsjwj468N+HYI7DW442eMYiL4yKK2A+ttRWyPq8Lm0aHPCe8tLm7e/wDEskIhj+ZuSSOhNB1K+FmxwrN7VDeeKLDWbgeUoMcx+Rl9BT+TujiHBxzXz+KwbpVPZVtz80zCkqNeUIu5+qH7NUrzfBPw5JINrH7dkfS9nrJ17x5o0vxM1DwWZVF7beRlCef3kEcg4+jCtn9m6Jofgt4djc5I+3freTmvyq/bf8f+Kfgf+0Vd/EjSoXe3uPsvGCVbZY28f8wa/WMFD/hPoxX8sfyPoMhnyVLv+X/I/RPxl4i0jQbOW91S4jt4owSd7Yzivz78c/tP391rj2fhC28yCMlfNZcg/Qivk6H4+eKvjzPLPqtw1tbZH7lCVB/A129jp1rCsVpZqNx6kdTXyma5o6VR0o7o/WsA+ajGcTb1/wCKvxV1iXNjOI93JClhin6D8ZviTphMd6wuok+8Rk1a1GxOg6a9442tIAAT71x9rqujWSyCe5j2jll3ckmvl6mc4l60z2KFN815yPZofjzY3bRxaks0TscEngZr3/wfHZ+JIkvbSQSqQDwc1+cd5rNrq909vBahRn5GK17b8HPiDqXgnUl/tDcbXIDIfQ+1engM+m5KFdWuKcEne9z7uuNJEZHnLwOmK+zvhJF5Pw+0qPnj7R197iU18u6Nqem+MrW1udMIMc3LH0xX2F4NtorPw3Z20H3EEmPxkYn9TX3+X2crrsfCcZ1oSwkIxWvMvyZ+X/7SmlvffHfxCVcx82POcA/6Fb1t+Dvh1Yapojf2qqzp8rc8g4Oai/aN3/8AC6/EIBxn7Fg/9ucFUfCWra7pOnK6uZIv4lOTxmv1vxE4RoVsiy/M4JKapwT8/dR+FcM59Wo5nicJfTml8tWfEf7c03iLU3sPDPhmK4tLCxJCfZwVQ5xnpXtv7N/h3/hMPge/hHxnHLclQvlm6G4/ezxmvrGbQPC/jK3SS/sBNL/00QHmt2w0HRvDEC/Y4FTZ0iQYH5V+N1KklB0j9FjiIcvOl7x8r/EjwNF4T8DRWWnQhEjVvlxjjNfC2gaXLqWvXOoXaZWNvk/lX6vfEXTtU8U6e6/ZTHDtPG3HFfAGsaHNoepTW8Ue1VJyAK+x8LKeDyzNFiMY99E2fNcYYnE47BOlRW25UhjhIMZ9OBXA+JLUBivQZrrdOmkmuzGRzVfxNot68Buyn7sd8V/VeaZvhKKhVqVEou1tT8UwWBqzm0ottH7X/sUxiL9mTwYg6D+1P11K7pPjHrUkXiB7FziKPZj/AIFGp/rR+xQd37Mng0/9hT9NSu64b9oC/Wx8S6jNKcLGsRH/AH5Sv5B8RJ3xmKlB71Z/+lSP6C4Lp3hQUltCP5I+VvHLpquuRQqyBedxPXpxiviX9oXSNH0mCO+1Xz7uTkpF95Bj1FbusfFW/v8A4jS2Vo+dj7Y0B6k1zXx18HfEfW9EN6YQVZC3Q5AxX4/TozhWhN9z9YlVU6c4dLH5z+M/iZreou+mWxFlZxnCxQ5Xj6Vi+FfiJquhalEyMbuBjiSCbLKw+lcZ4j03VLHU5Y7+NlkViDkYrLRpIXWVVIbOR+Ffq1HD0Z0ru1z8wxOOrwrct3y9j9O/gzovgzxNff8ACQ2Mk+j38+1kCkRorD/Gv0c+G+q6vFqf2XWpBM0exWOc5HbGa/F34F+IPHN9q0CaVYedFEQTlCQcdK/QKH4ieNNK1GDU9X097WONkDuEKoRwK/Lc/wAFUWN1ldH6PlGOp/U7RjZn6530EX9jxz24yyKDx719CfDi5+1+DNOuP73nfpM4/pXxz4F8f2evaFZTBlZbqPGRyOBX2T8PI0i8H2CR/dHnkY95nNe/wouXFzj/AHf1R8xxI3LDxk/5v0Z+Kf8AwUR+IJ8I/EzxHDYSBbtxZAjPPNlb4/Q1+OF1PdaxdDVNWkLOzFsk19of8FM9bnl/bB8baRM7eRbHR9q54+fSbFj+pr4k8Ryp/YEc9meUHOOtfbUpxwkm3HWTPjcJh4z5nLR6nqnh/wAW+J7tRoenyOLIjDgk4wKz77wNYa5qEs99MUCYJAOM1p/ACxfXrxJrtwsQIzz/ADr3D4q+HNJ0pfM0iRDIRyqHk/lXm18dhMPjb1I79j6vB4CrXwSfNf1Mn4C/AC/8ZeLETws4aGNgJGc8gfhX6TeI/wBnWTwT4Vk1Kb/S44YiXA+Yg4rwf9gPU/sniC7tLlHjeTbhiMCv1a8Y3lnp/g/VJ9X2m3MD/K/fKmvxjinxKzLAcTU8twtPmoysn3O6OEjSpJVeh+Pnw11PS9Q0zW9HjykkbfKOjDBNX/Dss9vq0M/meTc28nyvnDEZ9a+dtM8Y23h7xdq97ZkrDcyybR24JrJl+Jlxf3McdrIyTLLywOOCa/TcFg61elO/VizZUcTCKp6NI/p0+Amqza38JdA1Oc5klW6BP+5czJ/Ja/ma/wCClqbv23PiP/3Av/TLYV/Rn+yJdNe/s7eEbl38xnS/y2c5xfXA/pX87v8AwUktjL+2z8Rj6/2H/wCmawr7DLqTVCEHuor8kfn2Mbim5b3PgbycVsaHoV/rt8mn6dEZZpDhVAzSPZsXC8ivvP8AYp+AviHx343ttajtz9ht2BaQg7cH3r2MLhPaVEm9Op42IxfLG0d2fOX/AAz18RRai6XTZWUjOAhzXG6l8MvF+nTPDcaXchk+98hwK/ra0P4QeGbKxiguLSORlUA5UHtTNQ+Bnw71FZfP0a2Z5VILeUM9K660cIm40yadDGOzkz+OW8sbizlaG4RkcHkMMYqgUINfop+358EF+FXj77Zp0Cw6deMTGFGBxX5//Zwce/pXnVaHLKyZ00cRJxTlvsY5iJPNf1lf8Ezht/Yj+HA/7Dv/AKer+v5TxZsa/q3/AOCa6eX+xV8Ok9P7c/8ATzf1zTpuKudmHqc0rH5p/t2/HHwz4L/aX8baDeGQ3dp/ZW9Vxj95plpIP0YV8PR/HHxN4zM9n4OgkPlqTkg5AxntU/8AwU7cJ+3Z8SmYZAOg5H/cE0+m/s3aRYTabqV1p3+vu4to/wBjgivIq5bS5+ZfFJ/meyswcKcp1fggtfQ8Z0b42eONO8UILy+kdVmCPGWJXk46V9Vajpd5r3jPTdVhwJLsJJE3oVAJr4Y+I/hDUfBfieVbw58yYyK345r9Gf2RPDuvfGu6094yFXRiMscjIascbhISjGdPvZ2O/CVatOq6VbR2v959Oah4g8Xa3oFkl7p9xdQ6QAnmKhYMHwOvtXj3x88P3I0CHV7OGSJpACY8YIIx2r9ltK8BaXpPg6azFrG8piG5dvUqK+DfHKQz3kthrNiTCrHbuX5eDXxXElOhh8TTko6vdn2GQVp1qc4p6I+avhBNd6j4YWK9jZXiHBYc1zHxSg0Nri3bXZlghjJ+ZiAP1r6QtLGxsbKaexhWOEDkIMCvkz43eDNW8f2Rt7A+VsJwTxXp5fOmoxlJaPU8PMKftJzUfQ/dX9i2fTLn9mjwbNo7q9mRqYjZOVONRug2Mf7QNaPjSG3m8c35wDIpg3f9+Ux+lcN/wT68P3nhb9kPwFoN+wae1/tneR38zVr1x+jCtvxvctbfEzVirHDfZsj6W8dfYSkrU2trr8mfITjytx7HWvfxabZBk+XA5r84P21/ibrPhy10690K8MSsX37WI6Y9K+sviJ4jEGgyqbgW44+YnHevy0/au0rX9f0KzuLBmureMOWIy3U11Yn32ktjvw1oRcjC+D/7S/irUPHmn297qLrA0irhnOD0r9xJFtvGXhgRO+GeJGDL1zjNfzb/AAN+Fni/xJ4ntL+1tWjt7aUFpGUgDB9a/fr4da5FHZRaNHL5kltGiyEHIziumhFUtDOUpVPU9F+H/wBt0YnTbqRpAhwCxzxXreo2kGp2MtpMAyTIVP4jFeeaZ5U1x5ynn1r0K2kygXOa6Oa2xjNN6n82P7Znw3h+H3xavoLNDHb3D7l4wORk1+4P/BPM5/Y+8AH/ALDP/p3va+Wv+CgPwRl8XaD/AMJtpkYNxZKWkwOSD/8AWr6n/wCCe0Zi/ZB8BRN1Q60p+o1e+qK7/doyPVfFmlRz+Lr64KjL+Tk+uIkH9K+Pv2vfhn/wlXwxunB2+QhI/OvufX0X+37liM58v/0Ba8V+PsFvP8LNWjkcITF8vavyHO4ctStUW6bf3M+tyuV504vrZH4b/ChtO8CeEdQuNVHzIxG4dThiKpar8SjDapq+jpvBbkN25rZkXTIfBV7aaqMurv8AX7xxXzxa31vFBNFDl7eJuAfrXzmW0Y42U8TUu3zfKx9Xmb+qyWHhokvnc+vfAT2Oua/a+JdQgCGYdWGOgxX1Nc2ek3EaLp5PmqMgmvgSz8Yyx+HbSe1Qp5RwMDHevpPwF4rudSiinbIbA618lmlGoqrauknbfax9FhVH2MZ73V/UT4ka7r8UC6faOIZxkZckZ+lfO9zrXie21D7Jeuzbv4hmvp74geFdb8ZWn9pWUZR7fugPNcFp3hiGO1QaniW+5G08sK9zJszq8ipyvJ9Dxc0y+hb20bJdUfsV+xbPNc/s0eDprglpG/tTJPXjUroD9K+pK+cv2S7E6b+z94Vs2XaY/wC0Tj/e1C5b+tfRtfvWXtvC02/5V+R+TYm3tp27v8wooorrMD//0P38r+eH/gs78KPF2l/EXwP+0NolpLJpKadHol3eRIWWyvrO5lubUzHJCiYTsIztAzGQTkqK/oerJ17QND8U6NeeHfE2nWuraVqMLW95Y30KXFtcQuMMksUgZHUjqGBBoA/BP40/8Fdfh/8AET9mfVvBHhvw5q1l4/8AFOiyaNqAuUh/suwN3H5F3NHMJGkmGxmMK+SpyQXC4weC/wCCY3w2vPjD+yz+0l8MNNkjivvElpZ2Nm8wBjW6e1ujAWznC+aFyeoHI5Ar9x/CX7Lv7OPgS7ur/wAI/DPwtpdze201ncSwaVbb5La4UpNCSUJ8qVSVdPusvBBHFd94H+F/w0+GNvdWnw28JaF4TgvnWS6i0PTbbTUndAQrSLbRxh2UEgFskA8UAfzW/wDBPv8AbM0n9ifXvGnwe+POh6rp+nX2oCaZ4IN93peqWqmGWOe2ZkZklVVG5CWVkHysrFk5D40fEDWf+CmP7aPhnTfhhol9ZaLHFZ6RbNcRobi20m2nee71C7EbOkQXznIXzGHCICXbB/pU+IP7OfwF+K2qrr3xI+H/AIc8R6oiJEL/AFDTYJrsxx52o0xTzGRcnClioycDmt/4dfB34UfCK0nsvhf4Q0XwtFdlTc/2VYw2rTlPumV41DSFc8bycdqAP55v+CmPgnx9+z3+2V4d/ah0DTzNpOoXGi6nY3piItf7W0VI0ezuHTGHkjtlfkgvGzbc7Gw79s7/AIKd6N+0x8C5PhH8N/B+q6MdWa0ufEt5qMkTR20NtPFIsNuYHbfG9x5atNKIhjC+WS+V+5P+CivxM/bK+GOuJJ8OvCel+N/hJrGnxR6hZ3Ph9dcSG5jLfaIr6LDEQSqFZXddnJXIYDP5k/FP9qvWP2jfhVf/ALP/AOzp+zdY+B11y+tJdfHhGx+2z3rWLrKkfk2WnWvlETIjEuZGAXbxkmgD9WP+COX/ACaLN/2Nmqf+irWv1Zr4z/YF+Bvin9nr9mHwx4A8cRpb+Ine71TUraNlkFtNfStIsBdMq7xRbFcgsu8MFZlAJ+zKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK/Hv9oGzD/tL+NJMff8A7L/TTrUV+wlfkX8epVH7SfjJCMkf2Z/6b7asMR8J04X4zM0yxtreNHkA7H8q+y/h3N4d1rw/bR3MMbywZG5gOM18VCSRlAAOAK9c8A6pcWuhajJuMSxAMH6dOawi0tzqqptaHpH7QHwp8IeJNDg1meyV5dN+eNlUHHOT/KvxJ/av+O2tXeoQ+DLFWt7G1+Qnpvx/hiv2vj8ex+IvhLfXZcPJGrLk9+SK/ITxj8PNH8e63LNeQgtHIxBA55NOcrMzgm0fWn7BHia/Hw6a71d3js2K7Gfj+Lmu0/bH8WeArT+zLg6pGt9z8iuOc46ivBtC1+4+HfwuufCenR+XtTKOBjbg5r81/Gup6j8QvEU11rmqyN5BYpukyFxVc3MrDd4an6DaetnqNkLuB1cOmQQeDxX7GfsfqF/Z18JqvQHU/wD043Vfg7+z/Ne6x4IhWRmkePeobrkAkV+9X7JVq9l+z74WtpPvIdSz/wAC1C5P9aKHxsjEO9NM+Mv2n98Pxd8RyodrP9ix+FnBXzYlz9li+2SPjGTgmvpT9padrn4zeJbPyWkEIsTuUZAzZQH+tfBfxD8SvYK8EDMi9OePyr8+xVB1MdUpwW8n+ep87WoynUsl1OI8f6k2u6lI7kEZwMV5pY2MdheCG+BMDnKueg+tdBo90l/exrOchieTXWa/okHl+XwVYce1e8qMZJw2Wx9JGr7GEYx3PafhJoWnatp2oXSxkxW4TbKB8vPvVLx58Nv+EgEc9vM0DIeChwetZHwu8WyeHvDsvhePB81hlu55zX0JDaSXsUMwZRuGcHpXiZs1hJQlQlbe55eOxM5NO+55f4c0Cbw7psNqztOyA8uctXZabqschZLhvJx1zxmpLiNI72Rnf5hjCk/LWTrUVhJbIVyJnOPl6V4VRus/azd2+p5UuaUuZn6+/s5SpP8ABnw9LHyp+24/C8nFeEftq/Dvwl4y8DXM2vQqZ4l/dSYG7OAOpr2j9l+3a1+BfhmBmLFRfcn3vbg/1r5K/a+1Dx/4m8aDwJ4WtJJLZDEJJApK4eGN+SPdjX6dC8cvpqD15Y/kfXZAv38XJaJan5QeHPBVv4RIFoTgu3HqM8V9GeANPF/qIZ0OQR1ru4P2UfHsl/byyS71OC65Jxmve7H9m7xXocKXtgB5u0ErzzivicxyrEVW5JXfU/UMFmFGl7k2kj5k/aFtZ9K8NxSWowoxuI7DIr5R8OeC38X+JLW8t7hxp8ZHnFj8pJ/+vX6I/E/wD4p1TwzcaZqumzFlU/OqHHFfnWL668PR3fh7S7j7M0bgOXbbgg5riyzCVadGVKpGzOjHYmlKoqtOV0ux9nt8GtLmt4pLE4ZVB3L34rz/AMS+Fbnw1Kbm9H7lvuk9OKtfCH4pXGnXFtYeKbuM254Epbg/ia6T9pzxTaalpNhZaCystwDh4/w7ivJpYOvLEeyqLS+501cTTjT54dUa3wH/AGg/DHhfXz4d1+6WKAkKjMwABP1r9lvh9q2n674Q0/VdLlWa1uBKY3Q5B2yup5+oIr+aDwd+zt4v8deJVks1l+zhlYznO314Nf0S/s6+FLjwP8GvDnha6kMstit2GdjknzbqaT9A+K/Wsrp8iS8j84z2rVnhk5rTmX5M+D/2jZiPjt4hVj8o+w/+kVvWZ4b8RWSOmly5L8DHapv2lrmKL46+I1c8g2H/AKRW9eRwaktvfxX8QB2kZr+qcyyeOZcJ4em1rGlBr5QR/OWFx/1XPK0+jnJf+TM+6PD7WkUaSRRjkelabWXnXwlZQQSO3FeSeFPEJkto5w4aJgO/Su8vPFMNtCrvIEAI5zX8m4vCVYTcZdGfs9KqpwR6drGnRSaQYgqglccV8HfFfwpZWplkjQecScmvta31+K+0tbpXDIRwR3xXyV8XL6N7pskBmOFHrXPXxKhD3ug6FJupZHzbpfhmCeIybdkueCO9ZvjTVrXQdC+yXahpMEcjrXrenaHdvCLgcDGQK+efjXY3TeS82cKT0717nCuLxObYmjgcXVfs+bS7OXOKNHB06mIpQXNY/Y/9iSc3P7MXg2cqE3nVTgdv+Jnd14V+1jePb67q+DwqQ8f9u8de5/sQkH9l/wAFkDH/ACFP/Tnd18m/tleI4bHxprljIw4S34z62sR/rV8fU44fEV6SeiqyX3OSO/g+s5QhVa1cE/yPxt8OeK7eD47obljt87AB6E1+sOoWeq+IrCG0WMNFLEM5GQBivxE09jdfG6GWH5v3+a/dz4cXl3LYxtfjZmNAo+gr8+zZRpckOtrn6JlknNycj4V8d/sv2up6rNfTW45bIwOuetdJ4S/Y28H39qk+pWx3/wBzaP5V95anpxvZtqjIXmjw3exx6sbaXhYyB+dcccyrxVoyMJ4GjKrdxPFPAX7Nun+Cr+O98PwDZ/FGR/QVvfFvwbNJoV3YNb8MgIJHQjnivt7RrOzEIeLG9q89+K2lLe6Y8aYWQo3PrxXm4l1JzVWUrnpUIU1zU4Kx8QfA7xXHa6LZ+HnuAbq0kcMpbkZbj9K/ZP4Wy+d4D0qUHO5Zuf8AttJX89FzM/gH4grqzlo7dpG83PC57Yr94f2Z9b/4SL4I+GtZzu+0C95/3LydP/Za+y4YhevKr3X6o+U4lbjRjTa6/ofzff8ABSh7ef8AbZ+IdtMQCn9iY9edGsDXx74b0U6zqSaFLOsUFycb5DhQB15r60/4KW6dMf23fiNeYJR/7Dxj20WwH9K+NrK7hscvK7CQfcIPSvs6sFNHyNKSjK7PcPEnibw98KNMXwp4SJublR+/uhhhk8/Kwruvg1rWi63ctqXjC4eaLGfnOcfnXyLqlz/aDnKlmcjnua9f8GWF6liIViZY2HPFeVjcujOi1FXn3PWy/MFQr+69F0P0O8DfEbwb4O1+HWNPV4LVGyzJgbsV9F/E749p4/8AAV2ujHy4ViIJPGePavzn8FXWnXUMeiasIjFDk8ffPfmuk1vXFvhJ4d0MvbWoGJCPlyPwr89jwbB42GMqU71E92fT43NMPiPfcj5uvrqaWK6vY1yqSNyO2Sc10vgfw/p9+8epSXChSwLAt716FpuiaNDBJpZjMscvDsACcmvRvB3wBs0gOqLeslqcv5bNj9K+ox2dU8ubhVWp8zLMqam1LY/eX9jtII/2cPCCWrBoguo7SOn/ACELnP61/P5/wUZtnf8AbR+Ikijr/Yn/AKZrGv6CP2Qbe1tP2dvCdtZEmGP+0gpPX/kIXWf1zX4Jf8FDomf9sn4g47/2L/6Z7GvtsgmsRShVXWKf32Pjs9xH7n2i6v8AzPhzR9Il1bU7fT4xmSZ1Ufia/pW/Yl+GB+HPgGG2uVBmnjVye/PNfzraDIdM1m0voR88Mqtn8RX9Jf7MXxCXxJ4CttQmABhiRT+HFfVuhbDT5VrofPZdWjLErmPb9Y+KFjo13qUNxE4j05QzvjjkZ615B4b+PEfxBu4NQ8LPmzikZJwe2DjtXrHiXw7pninRdQht0TfqCbWZevTFeH/CT4Kad8ILC+NzMPIuHMhDnpyTxXmRpUvZuU9GfVOpN1VSirpnxZ/wVd06O68H6Tq5GSASG+pFfh/a2pMUbMO3Wv3W/wCChniLQvFXwmFrvVJbc4hBxk/MM1+KdpYmW1iIGOMU3Rc+Vp3sjyMxqewfLLTU5WSJ4w2B1r+qL/gm0CP2LPh2G6/8Tz/0839fzFDTUyUc5Nf1Cf8ABO2EW/7HPw/hU5C/21+ur3xrmxtFwppvuXlOKjUrOK7fqj+eH/gqH/yfT8S/+4D/AOmTT687/Z48UyafIbGF9jEgHnrXon/BUP8A5Pp+Jf8A3Af/AEyafXxr4S8TSeGLz7ZF97II/CvnszoVK+H5KLtJWa9UfSUakYVLyV09H6PRnvv7TE8lzrtpMemDk/gK++/+CWHi6wtNR1TQpiPOfy8Z/E18a3UekfGvwUksLJDqtkpLZ4znp71e/ZJvde+GvxhspJS0NtLIVlfkKccDmvOyvNliabp11y1YuzX6r1PcxeS1KTjUwt50+Va7202fof1E293LPOI1+4/Fcv8AEDwBol5oFzNNaRmXYWVgvOa1PBuowahpNveghwyqdw5616NfQwavaCCQgIBz712YnCU6y99XOOjiKlHWDsfnx4D+Hsl9oWqC/hKrKT5QcdNpNfKPiy0udB1iTR76PyyzMEYjAIr9iH0OwhR4IEVIlVjxwOlfkD+1V8QNAt/EsGh2eDfwykErjcMnvXmY3LUqcXT+yduExk3NufU/Wj9k+Brb4AeFoW6r/aJ/O/uT/WuC+K15BpvjrV7l+GIt/wBLeOu+/ZPuTefs/eE7k/xpffpfXA/pXzN+0tq9zYeOdeYNiOJbYgZ9bWI/zr01UUaFFvy/I8mrH9/NPu/zPi39ob4l6jq2saf4S0mYqbiT95tPZSDXq9rolpqPh630u6AlURqCW5ySOa+KbG8/4SD4gyalcPukhk+UHtX3Folwi2du7njH8q9SjpKzFW0WhNLp2m/DrwPdzaXCsLhCcqMHJzUH7M3jSfV9KvL+9LGV3OWbrwSK5/4oeJrdtBuYmOIlTGPWuG+BGuW9l4fbySFM8hwB7NVYislG5phkfqR4OuftMSPnO7NeoWjbVGe1eDfC3UBcqUzlUAOfrXtkUozx3q6FRTgiaqtJo4P40W8F54D1JJ08yJoW3DGexqn+xTBa2v7NHhKCyGIVm1raPrq14T+ua67xpYnWPC2oWA6vA+P++TWX+yVpE2hfAHw3pVwu2SGfV8j/AH9Tu3H6NWuI+A5DsfFup2ml6pd3V7IsUSBCzMcAfItfnf8AtFftBaVremXHhTw9+/XpJKvI4PqKyf2vvid4vufi/r/w70p2t7Gw+xBpFJXcJ7OCY8/VyK+S5LK20/TpQ53vIPmduSSa/CuKczXta2Hp7ttP7z9G4fy5R9lXq+TR5LrN3DLa3cJTzEulOMDO0ivkObUJdIuZ7KZsK79Px4r63+ytbvLID5kRJ4POM1zl74V8Esv9oasU88nOzjtUcOY+nhKL9orp9u538Q4OeJxCdN2fc7D4f+HItV8E25uBy4JXP1rfsLzUfCMx3k+XGRkegNYvhfxpp8V5Z6RZLtt1OFr0X4gyWQgSSKIyfaQAQBmvksXKr9bk6kdJtux9LhVH6vGCeytc+h/DPxW8PjwnFB5qG5lRgwBHUdK+a9Y07V9U16fWra8khLNlEDELVTwv4WS1iWf5sNyA3avQmRIoguMV2vFKnJfV9D5509Wqmp+wf7IhvW/Z48JnUH8y4/4mO9uucahc4/TFfSVfO37KBB+APhYj/qI/+l9zX0TX73lEnLAUJS3cI/kj8wxySxNRL+Z/mFFFFeicp//R/fyiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAr8jPjrLGn7TXjAMoPOmZz/2D7av1zr8iv2iPB/xOvP2h/F2seH/B+v6lp8/9m+ReWemXM9vLssLZX2SxxsjbXBU4JwwIPIrDEJ8uh0YZ2lqUJirEFOBjpW9q3i2CPwVJoFjCEuZMKzgYJyfWuIsfDfxckXbP4G8SIQP4tJux/OKrP/CIfFEXCPJ4I8RsqsCcaVddv+2dc9mdk2nsddLaXPhb4I3MhDIzjjPG7c1fNfhPRykP2q5X95MxJz9a+k/HX/C0/EegQeHbTwF4kS2QAMP7Iu+2P+mVeVp4H+LMDxhPAniXaPTSLvA/8hVM4u4qbSWpx/i/RZL3QLyKFTvMbYx9DX5F3Npe6f4gvdKlgke4eUqFx6mv26Twn8VHBjk8B+JcHg50i7x/6Krll/Z+1q51b+2pvhzrv2rOdzaPc9f+/VPVbIT1Z4x8APD8/hTwbHHqERjkdS20jBGea/bn9mCUTfA3w3IOhOof+l1xX5o33w6+J8MTR23gnxCQFwAmlXR7e0dfpV+y5putaP8AArw1p3iLT7rS9QiOoedaXsL288e6/uGXfHIFZdyEMMjkEEcGtaF+a7MsQ1yJH56ftL/FC28IftEeL9KngWQS/wBmqSwz97T7Y/1r4Y+PMtg+k29/px5OWfH+0a9w/bS+Hvxw8SftX+Lb/wALfD/xTrOhudK+zajp+i3t1ZzbdMtFk2TxQtG2yQMjYY4ZSDyDXlXi34JfHPU/ByoPh14skuAP9Uuh3zSf98iHP6Vy4TCRhUqSktXf8zidR8iXZny9pmsSL5csR5UivZZ9YiuNJFzcOFwvc+lYmkfs7/HyO3Vn+GPjJGPVW0C/B/IwV3Sfs6fHHVNJmtZ/h/4tgZVOwHRb1cn8Ya4J4CpOsoRW52zrQ9jz9UcT4Z8Q21x+8tmw6OBn15r6ij1XVILOGZZhtCgnmvmjwZ+z38frO0uba6+GvjGJlbMbPoN+ucHtmDmut/4V3+01P/xLh8N/GqBOFc6DqAT8/IxXLj8m9u+WO6PPxEXWpRdtT0nVviHbWUzG6XAHVj1NVE+IOhalA3lTIpj55I4rxjxD8Dv2nNT/AHcnw68XNjumhX5z/wCQK4QfAH9pix3pB8MfHDF+pHh/USP/AERXJQ4Z5V7z1OKNCW8lY/pD/ZD1Vda/Z48J6kjbhL/aQB/3NQuU/wDZa9kvvDFhdatJqkkS+bJty+PmO1QvX6Cvnb9hPQPFHhf9lXwRoXjPS77RtZtv7W+02Oo28lrdReZql5InmRSqrrujZWXIGVII4Ir6ylPbaT9BX2NGhGNGNN9El9yPUw9aVJXg+ljno9Ps7Y/uogWHcim3FvPKRghR2xWwVYnARh+FPSEA5YMT9K09nHaxp9Znfmepx2oaHb3dpNFdqsu+Nlw3PUEV/O7+1P8ADfW/BXxNv5FtHisbqTcrquFx161/Sm0SZPyE/hXk3xH+E3hP4j2L2euaWkzsCFlMeWGfQkVz1cJCWqR6ODzKUG4z2Z/M54V1C3e6k0+/kaWN8beclCPSv0W+BPwdv/iRp0F3qtu5sID+7aYckZ7V9G6f+wJ4HsNf/tUJMYi+7Zt449sV9yeFfBeleFtJg0jS7byIIVwAFxn61wPKIynzM9V52qcfd1PH9D8C6R4P0qKy020SMRjGVXBNfQPhMEeH7UMNp/ecf9tGqpfaR5xG2NiB7V0GnQ/Z7KOHGNueDx1JNerTpKD0PPzHMViMOodb3/Bn5N/tPeF9Z1D45eJL6zx5Un2DHX+Gytwf1FeM2nhbVI4Ga5fbjrzX6BfFvwZ4k1b4harqGn6TfXMEv2fbLDbSSI223iU4ZVIOCCDz1rye7+GPi+dGU6DqnI7Wc3/xFfteWcfYvD4Glhly2jGKXySR+S43hbD1cROq7+82/vZ5P8Mm8mO6s7+6URIMplu4ya+cfiv8WfFb6hPoGiIxEUiqJFB5GfUV9TP+z545uZnkh0/WLdWPQWsy/wDslZOofs4eLkQy2ug6lLOOd72cxJI/4BX5Jjq9XFY2tisTBWeyXc+5wtClRw9OjSm7rueufBq/vJfhVbS60QLhI2Z93X1r4T+JPxKu9R8dyW8IL20EmAV6V9S2PgP4429gdOj0LU44iNpH2K4Ax04+Ssa2/Zq8SbzNdeHdSeWQ7mb7FMeT/wAAr5mjg1WcnVjbserOapNcsrnHWHjKL+w0m2EYXkkV4v451yPxEqQ20BlBJySM19Oat+zj48uoktrPSdUihXqBaTDP/jlWR8BvFdhbLDF4Y1Ryo6rYTkn8kq8lwdShilUqaWehjmU6dWjyx67n3J+x7ALb9nPwjCE2bf7S+XGMZ1C6NfmB/wAFB9WfTfin4g2ZYstnhR/15W9frp8AdFvvDvwk0LR9StJrG5t/tm+C4jaKRN93M43IwDDIYEZHIOa+X/2qf2XZfihq114s06OW4ubgRbookaRj5cSRDAUE9ErXimnPFU5zWr5ub8/8zbIKkKFRJ6K1vyP52PhTpc0vjr+3L6PGyTdyK/WDw38SLO7vrGwtHAAUB/QYFQeH/wBkbxtbmWwtPDN5Bt+VZ57GdNxPfcUGcV23h7/gn98SLFG1efVUiuM71iR2H4EYzXyWMwFXGVIycWrI+vq5nSotKEke6aLd2k6eczgl1459qypNKhF0bmFtshYEj6VxP/CuPjN4UlWyGg6nfpACBJb2NxKG/FUIrn79vjlbFrW28BeJJJZGAWUaPeFFGeckRVyf2RUW8WdkcyouN+ZXPc4PiRpGj6p9gudSt0mXaDEzgOPwra1fxf4e1fUI9JkvoPtLKSYt43YIz0+lfJGl/BD4rQePr7xrrvhXV72N0Xy4P7OuX+Yrjp5fY1z1/wDs9/HK+nvvEVvo+tw6k7Aw5sbkELnoP3eenFbLJuZqLv8Accv9pRi+dNGT8c/h5L4ikuG0WSKSONsvIpyqHtkj1r9Tv2LdOv8ASf2Z/B2n6n/x8w/2oH+h1K6K/wDjpFfnEPgB8c7XwXfyWWmau99eyQedBNZ3BOFcZKL5eenWv1w+C3h698K/DDQtB1GN4rm1im8xJFKMGkmkk5DAEfe719DkuCdCq/T/ACPEz7HxxFKKXc/mY/4KTaleWn7bfxEiePfbt/Ye04/6g1hn9a+DtZgaS2FzDwRyAK/Xv/goF+zx8YPHn7SnjfxZ4S8DeJNb0+4/sr7NdabpF3dwz+XplpE/lyRRMr7XRlOCcMCDyK+E4P2Xv2kfKw/wm8cHPGG8N6j/API9fU4VxnGS7HysWpaHgfhGaC5fbeL869Pwr6e8G6vC0L2kqIOMZx0r0Hwd+xp8Zv7MGoX3w98UW9x/zyk0S9R/++TCDWp4i/Zz+OPha036L8MfGV/NIORBoF/Lj/vmA14/9pL2jgots9argI00pKSPAfEEa+GZ31nTbwTOSSYt2f0qfwb48uru5CSQNJLcMFOBnviujsf2Zf2lNellub34X+NbXuEl8PajGD+DQV2/w5/Z/wD2hvCmvw32o/CjxfNbxSAkHw9qByM/9cKzxuY1aUHKEbyNMvw2HnL2dSVrn1n4V+BurXXhAeJVttglUPh15xVPxJqUumaHDY2wEJIZX7EY4r601bX/AItt8O4bPRPhx4nhnWIK1u2i3gf0+4Is/pXync/DP436vZvc3Xw98UCZmyI20W9GMn0MOa+KxOExWPcq1WNrHdnmEw9ClFUWnc/W/wDYwTy/2avB67i3OqHJ6nOpXZr8Jf8AgobIB+2N8QFH3h/Yuf8AwUWNfvp+yhout+HfgD4W0fxHp9xpWo2/9oedaXcL280e+/uXXdHIFZdyMGGRyCD0NfiZ+3j8DfjX4w/ay8deJPCPgDxTrWk3f9kfZ7/TtFvbu1m8rSrON/LmiiZG2urK2CcMCDyDX6hw3alRpx2tBL8Efn2eUXLDxhHo1+TPz4WYIwwQDkH8q/ab9h7xK+o+BfsSOGK4DLnnrX5Pt+zX+0mJMj4V+NyP+xd1H/4xX1/+zJ4Z/aV+HOtJY3Pw08Y2lnORvefQb+NFx6loQBX2uExUG3CTWp8xRw9SjUVSz+4/baTRtQTSBNpc5WVRnbnivn/xjrniGVf7O1Ay5Jxhc4OKo6/8UvjB4a0gx2Pw/wDE+o3BTj7No93NzjvtiNeefCCf42/EXWr6/wDHXg3XtDjU/uBqGl3VoDnPTzY1z+FePjcnWIk4yqpJ9mfe5ZxJ9Wt+65n5o/P/APbcvRdLpmlo8iyEtvjzhe3UV8RIiJCsEQ+6Bk1+iX7U/wAAvjZq/jlrjSPBfiPWrUk7JLDSby5jXj+9HEwr5V/4Zv8A2hRlB8L/ABn9R4f1D/4xWuDwdLCRlTjO/nc+Pz7MKuYYn2jg18jw1IgTzn61/Tl/wT4Ty/2QfAKen9s/+na9r8BY/wBm39oIr/yTDxmMevh+/wD/AIxX9C/7DvhzxD4T/Zc8FeH/ABVpd7o2qWv9q+fY6hbyWtzF5mp3cib4pVV13IysMgZUgjgis81jBUE09b/oyuHVU+sy5k17r6eaP5wP+Co0ZT9uT4kSHo/9hY/DRNPFfAHU1+u//BSn9nz45eOf2r/GPijwN8OfFniHTLz+yvJvtK0O+vbaXytKs4m2SwQujbXRlbBOGUg8g18BL+yj+1MD/wAkc8f/APhL6n/8jV87CVz7fE0rNW7L8if4MeMdG8Em9vdW3SCVRsjHOTj0o1L4marqGrG60Zfs4EgZNvysMHPat/Qv2Q/2n9Rukt5vhR43tFY8vceHNSjUfibcV9y/C/8AYP8AiDpttFqHiLwhrhn4Jjk0y5BB+jRA152Kp4alN13G8mexlmJxbpuhCryw6o+vf2Pfj1r2veArbQdYVhdxqBvlzlhn1+lfoBofim7vJo7Fmwz8V8VfDn4G+LfDs6FfC+s2ixD5cafOgP5x19H+CrDxxJ4iZL7w5q9rDbfclmsZ41fI7MyAGjDYr2ivKNjKtSjF2g9D0D4neKpPCHhu9uTIA0cTEHPcg1/PPqWqXPjn4uX+uak5kXzjjuOK/cv4yaN4x13SZNPj8N6zepMCG+z2M8pwP91DX5xax+zp4/t9Xkv9D8AeKEDHJH9j3fP5RVy4/FT1oU1uduXYOLXt5ySt5n7EfshOr/s7eEmUYGNRA/DULkV8PftdanqD/FbxDpVv/q/9CH/fVnAf6191/snaJrXh34AeFtG8Q2F1peoW/wDaPnWl7C9vcR77+5dd8cgVl3IwYZHIIPQ18uftFfCjxl4u+Kmt6lpGjalcWs/2TZcW9pNJG+y1hQ7XVCpwykHB4IxUY6Mo4OjZarl/Jnh4uTdabj1b/M/O/R/BkemeIG1J3UCUjAz3r6tt7a3ttEikdhuVemfWuPm/Zu+J5uFnTRtcOw5wbK4/+N1s/wDCsPjLAfIk8Ma5LGvAxp1yR/6LruwmOha87/cYVG2kj58+M+tGHR1toQWkmyAB9azfgnb3MdtFHdOVAJIHTqa+hNR+DXxE1kL9t8E62xXpu0u54/8AIdYWj/Av4v6bqvn2/hTWo4M8A6bcgf8AourxGIhJOx1UKnIfbnwguljtNu7LsAK9nvdXawZCynHrXy74I0D4oaFNE83hrVwq9QbC4H/sle4ahd+M72zNv/wjWp7yBhjYzcf+OUqeKhGne7uvIuVRSk33PQLjXbY2DSMwwykHPuK9G+GEVtD4H05LPAh3XJXHT5riUn9Sa+TE0X4gXEX2e50TU1Q+lpN/8TX1p8MbC50zwPptleQy280fn7o5kKSLunkYZVgCMg5HtVUMyeIqcijZJfiZVaUYxvfU/Jz9q50j/aC8WYGGb+zsn1/0C2r5b1d3mgaNehFfYv7UXw4+JOvfHjxNqugeE9d1Kwn+weVd2em3M8Emyxt0bbJHGyttZSpweCCOorwN/g78XmX/AJEXxLn/ALBF3/8AGq/EM5wWIlmFeSg2ueXR92fo+W4mnHDU05L4V18j5huobm3ZlbeUPYVBbQ20zD7RYmfry6Zr6af4H/FmTlvAniQ/XSLv/wCNVPb/AAR+K8fH/CC+Ix/3CLv/AONVyRoYiKuqcvuZ6bx1NqzkvwPiXUtMm03xLBf2qtDbI33OnX2r6Q067tbyCD+0HXy1UYLdq7DXf2ePirqcRC+CPEYYcgjSbv8A+NVnad+zt8ZUUR3Pg7xMUHb+yrv/AONVeNoYjE8k3Bpx02YsLi8NRpzg2tfMLe/gafy7Nt8Yq7PKGHzGuts/gl8VNPj2xeCPEZOP+gTd5/8ARVJcfCP4vN93wN4l/DSLv/41WH1LEN6U39zOGeIpdJL7z9Zv2TP+TfvCuP8AqI/+l9zX0XXz/wDst6PrOgfAnwzpPiCxutNv4P7Q861vIXgnj331w67o5ArLuVgwyOQQehr6Ar96yiLjgKEXuoR/JH5rjXfEVGu7/MKKKK9E5T//0v38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK4jVviZ8N9A1KbRtd8V6Jp2oW+3zrS71G3gnj3qHXdG8isu5WDDI5BB6Gu3r8L/ANri/Fp+0/4wBy2f7L47f8g21rz8yxksNSVSCvrY9HLMHHE1XTm7K1z9jV+Lnwoc4Xxp4eJPTGq2p/8AatMb4xfCNGKt438OAjqDq1oCP/Itfz7anr00Pli3+Vl7jpzWxpcFzf8A/EwuI32sOcDg14NTiOtBXlBfefQR4aoy2mz97D8aPg6OT478Nf8Ag3s//jtNk+NfwahUNL498MIG6FtYswD+ctfhFDoNlcebPJMVTsM8CsjUfC13rDQRWSOYYzy+OKdPiST1lFJEz4ZinaMmz98pfjb8GIEEk/j7wxGrdGfWbNQfxMoqSP40fB2U4i8d+GXP+zrFmf5S1+B/iHwtafZYdPuXcFf4gehq7pmgtY23n2qmcKpHqelYf62q9uVHV/qc7X5mfvF/wun4Oc/8V34Z46/8Tiz4/wDItdxouuaL4k0yHWvDuoWuqafcbvJu7KZLiCTYxRtkkZZW2upU4PBBHUV/MbeatqWn6q0M9sVhkfHK+9fvv+yOsS/s9eExAMJjUCB9b+5J/Wvby/M5YmpyNLa+nyPAzLKo4anzpve2vz/yPSte+L/wl8LarPoXifxt4d0jUrbZ59nf6taW1xF5ih03xSyq67kZWGQMqQRwayj8ffgSDg/EfwkM/wDUcsf/AI9X4o/tuWtv/wANSeM5pSGL/wBlfL6Y0y0FfKctrbykIvB9a6amNcZNW2OOGETinc/pb/4X38C/+ii+E/8AweWP/wAepo+P3wJPT4j+Ej/3HLH/AOPV/MleWk6XnlWzbsDnPSoG06adsRPtI64NTHH31SH9Uj0Z/Tp/wv74ED/mo/hL/wAHtj/8epy/Hv4Ft934i+Ezn01yxP8A7Wr+Y2NGjZIpI92TgnFdHqWjnShFcE5icZUr0qJZi00rastYGPc/pPb4+fAtThviN4SB99csR/7Wpv8Awv74Ef8ARR/CX/g8sf8A49X8yEOnXmpXUiwuFI+5uPBqo6XlpIbXUITG6n72MA/Sq+vT2siXhI3tc/q/0LX9C8UaVBrvhrUbTVtNud/kXljOlzby+WxRtksbMjbXUqcE4YEHkVxPiD41fBvwlrFx4e8VePPDOjarabPtFjqGsWdrcw+YiyJvillV13IysuQMqQRwRXjH7DRz+y14JJGP+Qr/AOnO7r8fP28Ph34k8RftW+PNS0oDy5Do+Ov8OlWan9QaMdmH1ehGs1vb8VcjC4R1qrpLofuiP2jP2ez0+J/gw/8Acwaf/wDH6T/ho39nodfih4M/8KDT/wD4/X8ylv4Bh0YJFrk6q38WDW/qXgjwxqNhss7kRyEcHcBXhS4oaaXKj2o8Otr4tT+kqP8AaQ/Z4lfyovij4Ld/7q+IdPJ/IT5rYh+N/wAF7ni38f8AheX/AHNZs2/lLX8wGkfByKxT7dLe5kzlTu616ppNq+k2wcuCycE54oq8UONuWKZFPIdWpto/otk+NnwZhO2bx74YQ+jaxZg/rLVSb4+fAu3G6f4jeEowe765YqP1mr+eGebS7lzcXE7l+4B4ryXxv9pny1suLVOh71nT4orSlyumhzyOnHXmZ/Tr/wAL/wDgOI/NPxI8I7P739u2O38/OxXoXh7xJ4d8XaPb+IfCmqWWtaVdb/IvtPuI7q2l8t2jfZLEzI211ZWwThgQeQa/jE8UeJ9ThtBaWszIvIxnBr+mz/gmpLNN+xR8OZbhi0jf25knv/xOr/8ApX0mBxc63xpI8fF4enS0g2z7E1Hxp4O0e6kstW13TLK4hx5kNzeQxSJuAYbldgRlSCMjoc1jH4rfC4YB8Y6AM9P+Jpa8/wDkSvy7/af8VTW3x68V6Qj4EX9n8E/3rC3b+tePWN5aS2YaVQZRnHtmlPGTjJrl2Mo0otbn7Pv8XvhNGcSeNfDqn/a1W0H/ALVqwPin8MCNw8X6CR6jU7b/AOOV+GniC2hhjguCrMsjc7evWtG/0y8jSFrEy+Q4G5m7VzVc4jDexpTwcpH7ZH4vfCdZPKPjXw6H/unVbXd+Xm5qJvjN8H1ha4bx14aESfec6vaBV+p83Ar8Ndf8OapoUEXiCYloArEsec5FfJ83j298R6+3gvTsxRvIN79MjOa0pZn7VXgjlxUZUFea0P6Zbj9oL4C2il7r4k+EIVXqZNdsVA/OYVnQ/tM/s33DFLf4r+CJWHUJ4j05iMfS4r8DfiV8N7DUPBKafoo36n5eZD1J718K6LpNz4e1ybTru2aVydp2rkjNbrHJps8iGaRm2orY/su8NeKPDPjPRbfxL4P1ex13SLzzPs+oabcx3lpN5TtE/lzQs8bbJEZGwThlIPIIrkNf+NXwb8Kaxc+HfFHjzwzo+q2ez7TY3+sWdrdQ+aiyJ5kMsqum5GVlyBlSCOCK8J/YG09dK/ZM8C2KIYwn9rttYYI36reP/Wvya/az8Ca/44/bi+IunaXbGSN/7EzIVJRQNHsc5NY5lmkcJhVipWt5+lzvVSUoRlFb2P3BuP2jv2ebSMS3XxQ8GQo3RpPEGnqp+hM4qEftK/s5sgkX4qeCSp6MPEWnYP4+fX8+3ij9n+W401dDsInv7qP78kQ3oD1wDXgOveBpPCdwuk6tbm3nUj93IMH8q8DC8XwxEIzpR3va+hVT2kJWktD+o2X9o39nqBQ8/wAUPBkankF/EGnqP1nqWz/aH+AGoKWsPiZ4OuVXqYdfsJAPrtnNfyw6zoq309ja2WJ5ZsgxjnH4V6zoPw41PQbPMNsRIcFkC9c1niuMo4dJVYpSfmdGGw9au37OOiP6Sm/aA+A6sEb4keEQzdAddscn6Dz6WX4/fAmAMZ/iP4SjC/eL65YrjPrmbiv5zU8NsNWWS5tT5a9Mr0OK5Lxl4bur67Nski28MxAZiccCs6XGaqVOWMVb1JnRrRlZxP6aU+OPwVksDqqfEDws1kOtyNasjCP+B+dt/Wu38O+JPDvi/R7fxF4T1Wy1rSrvf9nvtOuI7u1l8p2jfZLEzI211ZWwThgQeQa/mF8QaLJpfgfTfDunXRlWbIcK2Qckda/er9iXQj4a/Zh8F6KesA1Nv+/upXUn/s1enknEMsdXlRnFLRtW6pNL9TloVnUvdHuOt/E74a+Gb2bTfEnizQ9JvLfb51vfalbW0se9Q670kkVlypDDIGQQelcef2kv2dg5iPxS8Fhx1X/hIdPyPw8+vw6/4KLeONV0b9oTxdpenoGIGmgcdd+m2p/rX5s6a1xDcTXWpAGR+dv1r6SNS9zscFa5/XLJ+01+zdEMy/FfwOg/2vEenD+dxV6y/aH+AGpDdp3xM8HXQ9YdesJB/wCOzmv5HbYaK92J9UidkB+WJQMsT04r68+HHw91+TQ21+10kQwKpaKMxkMw9xXlZnnMMHBSlbXu7HTQwntNb6H9IMPxh+Edxn7P438OS45OzVrRsflLVC6+OvwRsVL3vxC8K26jqZdbskH/AI9MK/Fz4HWp8T2Wppq9kbO7j+VUZdvTI4Bo8bfCRm0tbqOBLqCYvuKjcVwa8qHFFp8tSGndGrwHZn7IJ+0h+zvI/lx/FLwW7/3V8Q6eT+Xn1on48/A0AE/ETwoA3T/id2XP/kav5kNZ+HMOk6sb61XCK3zIR0q/HA8uoiF2Gw42L6YHNfRUMfTrR5oM5ZYeUXZn9UWia7oniXTIdb8Oaha6rp1zu8m7sp0uLeTYxRtkkZZG2upU4PBBHUVce8tI3MUk8aOOqs4BH4Zr5j/Ys/5Nn8Hf9xQf+VK6q98Rvijb+F/E9/p89sxS18ndLt4/eRI/X/gVdaqQS5puyMOSTdoo+if7T00HBu4M/wDXRf8AGq1z4g0Gzha4u9StIIk5aSSdEVfqSwAr43uPj54eCCSNQ4bqVwcV89/HL462d9oP9m6XKYxID5xjOGwKr2tDk5oyuChNys0fo+vxe+E7s6p418Os0f3wNVtSV+v73ikt/jB8JbuZbe18beHJpXOFSPVrRmY+wEpJr8EPDGvaBr9xdSb57fg9cDcQDXCr4oD6gbTTFljvLZyYGj4J5yc/hXnLH+/ytaHV9W0P6Rv+E48F7xH/AG/pe9ui/bYcnPoN9dFDcW9ygkt5ElQ8hkYMD+Ir8WPh945svEmkxHU9Wt7XVLdSGEkm3kdM96+yf2ffiRrM4m03XL2K75AjaJty4H1r0KfvOzOacWj7korGgvlmUOrZzWujblBq5RcXZkJ3OJ1r4nfDbw3fy6V4i8WaHpd7Bt822vdStreaPeoddySSKy7lYMMjkEHoaow/GL4R3P8Ax7+N/Dkv+5q1o38pa/H39sx55f2ifElpbpuJOnZ4/wCnC2rlfCeg/Z/L8yIEYHQUtFrJnk43M3QT5Y3Z+41l498Dak2zTvEWk3TekF9BIf8Ax1zVuTxd4ThXdNrWnIvq11EB+rV+U2g6oPCi/bv9Wo+9nisDxV8WJb+ZY7QiO3HrwTToVKEqXtJyszyqmfYv2ns6dJP7z9a2+IHgNDh/EmkKfe+gH/s9Uj8UfhkpZW8XaECv3gdStuPr+84r8Wdd8c3FxGqafJmQg7iegrxTVfG9xYGVpZSXk681yVMXCOyZ6uAxONxGrgl82f0DH4w/CQZB8b+HBjr/AMTa0/8AjtVJfjj8FYOJviB4Wj/3tasl/nNX81t/40u1O7zD8xPQ159rHjMzK29iX9qarp7HtLD11rNI/rO0LX9C8UaVBrvhrUbTVtNud/kXljOlzby+WxR9ksbMjbXVlODwwIPIrL1jx14J8Ozta+IPEOlaZMuN0d5ew27jIBGVkdSMggj2NfMf7ANy15+yR4EuXzl/7Y69eNWvR/Svnj9rHWtPg+Jl/FqaYgtGtdx/vb7aFv61ljMTOlBSgrtv9GOEE21I/Ryz+Inw/wBQIWw8TaNck9BDf28n/oLmoLr4nfDaydorzxZodu6feWXUrZCPqGkGK/ORNV8IWPhNfGGkssGyLGwYAyRjpXwX458bXt7eLeQzt5k8uAGPysN1eZh83rVHrBHSsLF9T+gX/hbnwp/6HTw9/wCDW1/+O1Xg+M3wfufM+zeOvDUvlYEmzV7Rtmf72JTj8a/n88YX2sWUlibgpaxTLzjKseBXSaFJoz6BqdiwaC6mVWSReCxXnrXTVzKUEnYFhG1zI/e+b4ofDO2tft1x4t0KK2/57PqVssf/AH0ZMfrVW1+L/wAJr5lSy8a+Hbhn+6ItVtHJ+m2U5r8K/BXj9L/wy3hnxXA0kauUjdBl2y2O9dafC1p4Mljn0MXF3f3XzRQn5li/3gOmRXnxznFtuLpK/wAzaWEoKHNzn7Zz/E74bW1yLO58WaHFcN0ifUrZXP8AwEyA/pXWWGoWGq2kd/pdzDeWsufLmgkWWN9pKnaykg4IIOD1FfhFCniG28SW+pa/C3msw/1gOAD9fav2Y+CwQfDLRfLxt23BG3pzcS12YHNKlfEOhONtL/iv8zCthowpqpF31N3WviR8PPDd3Lp/iLxRoul3UG3zYL3ULe3kTeoZdySSKRuUgjI5BBrKHxl+EBYKPHPhslug/te0yfp+9r8kf2udQcftG+KrfUB/oUI04pjo2dPtic/ia+YNNvk1HWfM08ho2OAG6LiuPG5/OjUcIRTSv+DCphoKmpxlfTU/oL/4XR8Hef8Aiu/DPy9f+JxZ8f8AkWrf/C2PhZsEn/CZeH9jdG/tS1wfofMr+frVNFEV/EFnBEhy6ofTmup1PXvstlbWsMZcqCMAZIrglxXU5oxjBa+pzyUeeMY3sz92v+FufCjIH/CaeHsnp/xNbXn/AMi02b4v/Ca2kWK48a+HYnf7qvqtorH6Ay5Nfg7LBLe6UU3tBNkFXJwRk1zHiTR/EF4tvDbTB5bPl5MndhunNehHPajkouK1OytgJQsk9Wf0En4vfCdUMp8a+HQi9WOq2uB9T5tVV+NvwZcbk8e+GGA7jWbM/wDtWvwD0e5nYmx1cyQp03vwjfjWvc+G7CxtnkhuI3WXkYPp6V0POJKfK46Gf9n1j+iDRtb0bxHpsOs+Hr+11PT7jd5N3ZzJcQSbGKNtkjLK21lKnB4II6itOvmf9jzb/wAM5+EtvT/iZ/8Apxuq+mK9qlPnhGb6o5GrOzCiiitBH//T/fyiivzO/wCCn/7Tnjf9nf4J6YfhRrMGk+KfEOuQ6c1yqxTXVpZJBLPK8UciuoZykce5lOFclcNtYAH6Y0V+UX/BM2+/aK1bwTrfxg/aC+IUXiXw94n0+yu9DiutXF3NpyQzXK3Dzx4EVt5nycbyRt2sFZSo/SnVPiR8O9D0C58V614p0XT9Es3EdzqV1qFvDZwuwBCyTvII0YgjALA80AdpRWQfEGgroi+Jm1K0GjvbrdrqBnj+yG3dQyyibd5ZjZSCG3bSDnNeYeGv2jf2fPGWsR+HvCHxN8H63qk3EVlp2u2N1cSdvkjimZm69gaAPZqKK8y1341/Brwt4mj8F+JvHnhjSPEM2zy9Jv8AWLO2v383ITbbyyrKd2DtwvPagD02isI+KPDQ1MaKdWsRqJYKLT7TH9oLMu4Dy92/JU5Ax05rdoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAr8Nf2wba3/AOGkPF9y/wB7/iW5/wDBda1+5Vfh5+2HDFL+0J4xSSQRs403bk4zjTrWvFz12w6v3/RnucPxbxDS7fqj5enurW4to4EA8wuBn8a++fh18N31rwZY+TZrukU5YrX5qRRfZdYtWeRjEkoL89s1+5XwN8SeFtU8H2lvpl1CzwxqCqsNwOOa+XlgY4qPLJ2SPp6+LlhnzLc+X/HPwt0nwH4Zl1LUbV5nLL+7iXLcn0rkNTaLTNAtjZWQhDKSSy4Y59a/RbxhoWjeJdO8q92vjt16V8xeMPCdr5L2jlQqcIDXj5rhI4dKnR1b1OjKcxnVleqfIltaRam/+lQrIWPUDNen6HommIot4YgCRypFWrTw7b21xJbZCleQemK07NUR1kTOYjyR0NeDJS5bs+rVbojx/wCI3gGyGnSXU8SRSDlTjBr9O/2PoXg/Z08JQyHLL/aXP/cRusfpXyz4/wDCUfiX4fHWbMh5IlyyjnpX1j+yaJR8APC4mwHB1IHHtqFyK+44Oc1VlGXb9UfDcWpSoxqL+b9Gfjd+3Ksp/ao8beWTz/ZP4f8AErs6+ZoElIHXj1r62/bWa3X9qDxr5gG4/wBldf8AsGWlfKEzO7ZVgB7V9FXv7SSPm8PZQRC0XJcN+9PUVSO63lyHwO/NXl2SSkQcsPvZ61s2WoaPpeZNUtGnXttUHn8a8+tjKVCFpvXt1OulRlNe6jnClyXDeW7Kf4lHFTw6xM6nTbz5of4C3Va9H0jxbCkZ/s/T4LiNuiyJlgK4DxVqqXl+jDTvsjZ5ATavNedhs4oYibpvRmk8JOKuVr231GyUXUKHyOode341dt7yLWYgt787J91upq/b6hPpmLe6AlhYDdG/PHsK6aDTPDWuRKNMk+xXB6rIQq5r1HWTinv5nO4NM/cv9iVPL/Zi8GJxx/avT/sJ3dfmZ+2MNZT9pTxsbC5MaP8A2VxuwFxptp/Ov1C/Y402XSP2cPCGnTSLK8X9p5dTkHdqN0w/Q1+R/wC2jrN9p/7VvjpJkb7GDpG1gOOdLsyf1zV5+k8BT9V+TDJpxhjJuS6P80eFSaRNeHOoobgd3xuH51Vu9Asbe2M8CsXTnaK0ovEdmsUTM7qh/hzxWobi1MD31u28EfMp6V+fOLUvI+tvG3NA87l13zNPNrh0kXgZ4rLutfuLOya3Zixx1PetD+y7PUtfWS8ka3tM/MVO0V7NYeHPCscAtxD9vWbAWQAPt+prulOlCzhH1OVRnOdrnxo2p+MtQnki0u0kcZOG2kg1x99feNri5Om3BkjbODGcgflX6jXXhHwroujRxzeVZhRu81cKxHXrXlXiTRPhv4rglHhy5Rb9PvSZGcj3FddDMYW92Bhi8uqW0nqfAt14Ouztn1qRYyOcZxnNf06f8E7LeK0/Y5+H9vCcon9tYP11i+Nfzz+K9CmsrwWdyxuyeAV+b8q/on/YBtGsf2SPAlq6lCn9sfK3UbtWvT/WvrMkrSnNp9v8j5rMaLhFcx8mftV+GPtXxk8VanAgE0h0/wCY/wCzZW6/yFfLs9reWjtbWjtPcPj5I+TXtH7b/wASpPBvxb8VQ26vPOBYBIk5PNjbk8fjXw5oH7SLaSqLHpudSfcGadPu56fSljqle8vZLqzHBU6Un77PqaDWdA8MaPFd+Kpla4TJFsxGQfcGug0XxdH4/tkl02BYrJSP9WMHANfnz4m8Taj4l1FtU1SbLTOuVU/KATX6G/Arw1Fp3hBdRtyCjJnb/wDWr5fFULrmqPVnuwxXspKMUXPiXdahNptnZ6fCktmhCyIRngkZrxT4nfBrQNNSx8eeDtguowGmgjxlicdhXo/im5u3vriATmOI5+UHGK8R07WtTW+eza+3x5OAzVnRxM6VrPb8ScV7HEQlCa3Nzw94mJkee+gfzHTaYgPnXAx0r5s8VXukWnjJLqHZ58knyx8c545FfQGg6bqM/i46jp4+1L0lU/MvIx0rz/4s/BLUoNTHjjRlyYDvkhbsfYV7mExcak+SWzPkcTw6qUJTo6pn73/seRzR/s4+D1uFCybdQJA6c6hckfoa/Lf9sj4m3vgP9oj4h22jRrHdXg0kNcYw4A0y06Ee3Ffpb+w1qlzrP7LXgnUbsFZpBqqsD1/d6ndoP0WvxV/4KWXsr/tNeKNO01ilwTpfmkeh020I/Q128S5fTxOFpYeavHmX4JnPVqewhHkXZfgaPw++IOt+JrCx07SLtoLiEyPdThiM85G414N8X/FE/iXxXI14++a3O1ZByXIGDzXCeHfiHJ4F0xtJ0za91OuJZuuPxrG0rW47rVEv9S2y5LH1yTXx0Mtr1MY6tWyhFJR/VnNCu6k0uh6p8MLGP+2x4g1E7Y7Eg7W6ndX2f/b1nJZf21BGk8Mm0fuxnAHFeK/C2bwXfeHr6x1VfKvLkBVLYA56YrqbLwjL4TsDYxXzXEStvXDZTBOcGvzziPlxeMnCrzJxdkraNd7+p+m5Io4eiuz3PbYfDsWsWUOs6ZbrIsoJMTDLce1eaeM/C2k3EMiXMfky8bVxjmvQvC3xF0jWri10HSJkguYPldUOAfXpXb+NNFstUKl0UEL97uTivha+aTwdeCrJxf59j3f7NhiISdLVHxfP4ZS2RZrmdtsDKYsH5cZ5r95v2U7+11P4BeFb2yOYXW+VT7pfXCH9Qa/IJtIjtrea1niW4Vc7cjJ5r9bf2QLaK0/Z28J28KGNFOp4UjBGdRuif1Nfs3hjmUcVmE11jB29HKP/AAD4HN8jeCkqq2enzPxF/b+M1/8AtheLdMtbd7mX/iVAIi7uW0qzI4/GvnI/A/xetut7qFnKHufm2BTuVR/9av2k+LXwPttQ/aF8Y/Ev7Ml1c3J0wxiUblTybG3hP/oFeE/G/WrzwpZu+nWJuZpU2/u13bOMcV7WN40x7zh4LDUbUItxlN6arsuy7nFSo81rs+BfA/w68OW/iSG+1yGWW1syC0ZAJJx3B96/Un4T+JPCOvaR9mjgWG2iXaFIAIA4r5B+Evhy71HTL/WfENvskuOUjYYx17Gu802OHQolj0+fyWkY5UHA61+dcX4qpj8VBVZXVOSdr6M9fCSpw/d9zs/FGuw+GfHltb6RaGO2uS4kkVcLjHGSK6fSfEkGmyXNhqYLWN4B5RP8J74/Guas459SyNRVZduNrDlufesbxUt5DAdOkhKogyshHTv1r38tzF8vJVXKv60N6kF8XQ84+J/hKCJZ57IjY+Wz+tfMGhWUcmuIt9KVV2IVs8CvqS31f7fHLpGqvuJGAw5GK8F8YeGprBrqXTv+WfKZ9+tfV5PmkKdXkeif4GGKpXjzI/fT9kmwtNM/Z88KWVjMJ4YxqBWQHIO+/uWPPsSRXxT+1Drmrp8YfEumQysLVPsOUU/3rOBun1NfU37Bk01x+yj4HluCWkJ1gMT7areD+lfC/wC1f4rbSv2ifFNkqjCnTgS/T5tPtj/Wvs85k4YSPK+q+ejPGoVIxqPm6njJubm2unuJZ9lovO3PNZ2v+JtL1XRtyWyedEGySv369Q0nwrp/i3RZLmKRXlKliqHjivmPxLFeWkl3YSKIo7RwPl4YgnnNeNgcR7b92o2O5RiveTOJjlmg8q9VvJ+0MwCLwODjpW3bXEOm6gl1pwV76IZdZOnzCq/ihNN/siw1Gyckxn5kHXJI7V6J4d8FWmqxnxTcuUZlX9ypw3HHIrrxmLo4amnU0vp8x04ylK6ZreE7zw5qFleSX9ukN6QN/lgA/hX0J8ENdsvDuo2ptbmRhM5ysrc8GvH9L8NWVrJcTxw53r98jgHHrWNqHi6Xwz4caO7hjjuomzb3EAxn5ucmuzK8dSqSbj9m2hzYylJK/c/bbw54mhuI0+fqBXsunyiazjlHIbP8zX4zfBH9pIXKW+n6w5zkLuPWv108AanDrPhHT9SgbfHOspDDnO2V1/pX1FStTqw5qbPKimpWZ+aX7RHhmyv/AI8eJ9SmALg6f9eLK3H9K5y40q30KBNQuQIonH7sNwSRXqvx5bS9K+LnifVtWmRIyLFlVjg/LZwDv9K+IfHHxQ1LxnqccemKwsLNsKOxrxcfXjJOmtz5fD4PEVMbOXTmf3XOx8ZX2pzpvwyQyfdX1xXjlxqN3LdfZlt5CQOBjiva/t13rul2/wBqh8toEPUY7V89XN9rlpr8rqVYncEXnkY5rw3jHTjy9eh9Xl+VKvUknpbcwbzxDdQzSxwoRjg4HIrzPVp7m8+9knPQda7mCW4W4nuZotzkncCKxrW3s7u4lnncQsDwpOK6IZlUs3Ne70PoI5RSoP8AdvU4ma2t2Pl3BKHHU8V55rUNvp8jvIQc/dzXp2tJA14VhYSgenNeTa/H/aEqIzfcJBFdOEb5tSsWrU7pan9Kf/BPSYXH7H/gGZeA39s/pq96K+T/ANurSJm8Va3fwyEmR7IlAegW3hB/lX1l/wAE9oVt/wBkDwDCvRf7Z/XVr018N/ts+JV0n4z+JbK+uswzixEUG7kH7Db5wPrzXoYqClCL7P8ARniRlKMn3PMLnXxrHgQ+H9LjceUiBmUfKTXletaBHbaAl9fY3WjBkx94nNcnoOvajpFm0DTlI7okqpOHxmumvbm+1DQHtoA1w0eDg/MTk14MU4N+Z6kFdalDxvrya1baBf6hE8dvLuUORgfLgc16RpukmSWHyHhkRoyVOc5GOa47VLBdV8AWlhcxj7RZk7osfMm5uOO1ZluL3w9aQTG4lYxAgjPA3UsauahaG5rg5auLCSU6Vr3DB1L/ACqvIQ16Pb+LdYsr5L/z1eVduAxJJrz7Sb7Spbthq42PKcpKeE/Ouh1k6JpscUkVwtzO5+TyzuFb4HG8soxqq7tY8rMMtjCjKpB21Poq318eIbZb3XPlkYDZjoMema/Uz9nfB+Dvh/DFx/puGbkn/S56/Faw1mdLZJrhQFx8q9hX7H/srXX234C+GLrcG3/2hyPa/uB/Svco0Ixl7S2ux4mBqzcnCT0PzZ/bC06S8+O3ilWU+W40/wCYDpiwtq+TPDnh26uNbFlpxKJEfmZeOtfbn7UzC4+Onie2JwifYN5+tjbnivG54tI8OeEptd0+N/tMnGSOSc44r4PEYNuvVfeUvzZ9BRgowvW+Fnn+veBNWspE1nz8RgEhSeuK4M3F9cxI9kr/AGpiQN/3ODivYtKXWNW8PpcalKzOm4iPJ5DH0+leW63dS6SyxxrtwTtx1FeOq0VUaSuk7I+iWVJum6Ss2tfJHoHg2w1+xt2XxNCk8b8qUBJAHPem65qkDzP/AGRE+2QjzWx/d6V50njbxNCyKz/IoIwxOMGtjw546smuv7OvY0WOQ/NIB0P1rtpYq9TmkevVy2KjzJXaOths5PEMQF1CscKcZxg1EugxaRqVu9zultsn923P6V2Wp+KtEtLa3s9KCO7jk8EevasS41q91WVYbmOGOJlIVwMEHHrXquUHaUZHm1cNGH72XQ/Y39muOzi+CnhxLBQsAF7tA4AzeTk/rmvdK+b/ANke3ntf2e/CsFzKJpFOpZcHIIOoXRHPsCBX0hX2mF/gw9F+R8jiWnWm13f5hRRRW5gf/9T9/K/nz/4LK/s8+EdCi039pW1v9RfxF4j1ix8PXNk7Q/YEtoLG4dXjVYhN5pMC5LSsME4A4x/QZX43f8FsP+TcfBn/AGO9v/6br+gDyf4P/s0eC/hL/wAE2PiT8YdB1HVLvV/ib8OBdapb3jwta272yzsgtljhSRR+9Od7uTgdK/Pr9ij9ij4iftlaLr2mQeMH8J+CvDV6k8kk0cuoQyardRBf3FiJ4I/MEMa+bMzhtvlqNwzj9kLH/lD+3/ZL5v8A0W1eU/8ABEX/AJI98Rf+xltv/SRKAPkX/goL4k+Ivjf44/Dr9hDwrqzf2P4WsfDXh4KS1tbajrN7DAi3lwivJ+7jjeMIjbzEfMIJLV2n7VH/AASY8L/BT9nvUvil4A8X6rrOveFLRL3W7fUkt0s7y3Tatw9okaK9uYwTIEkkn3KpXO7BOH/wUz8G+Nv2ff20PDP7VOjae1zo+p3ejarbXAUpb/2rogjSSymkQfK0sNujgty6M23Pltj0z9rj/gqz8Kfi1+zjqvw4+F2i6xH4i8aWX2DUl1WGKO30u2dh9oG9JX8+SRAViKAKA29irL5ZAOk+A37cHxJs/wDgml8QPG2qXtxf+Mvh7cR+GNN1edhLcMuptBFZXEjODvltBcEZbcXESl8ksT8qfsQf8E7F/bE8E+IvjL8TPGWo6ZBc6ldWdk1sqXV7d34Cyz3d1LOWLJvkAK/6yRtxLrgFvoP9nz9jb4meIP8AgmN8RNDawli8SeP72DxToOmSR4uJbbSjbyW6bXwVkvRDJ5XIBSSM5wxrwz9hb/gotpP7IvgDX/g38VvCus6jDaanc3unfYBGl1a3UgWO4tLmG5eLy1Eke7cCWVmcFDxQB5f+zv8ADjxZ8If+CmPhD4YeN9RbV9V8M+Jl05r5nd/PtoLJhaOvmFmVDbeVsQk+WuEHC1/WjX8l37O3xU8QfG//AIKY+Evix4nsRpd/4m8T/bvsQLEW9u1m620YZwpcLbrGA+BvHzAAEAf1o0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV/P/8At9zXTftC+JI9NdluIzp2QD1zp9r/AEr+gCvxO/alj8L3v7UHim11yVICv9nfMxAyTp1qR1/CvEz6fLQjJq+v6M93h+N8RJXt7r/NHwHGL/8As9ZL1GSTHVhjNM0X4oeNPhtqsd1oeoSojnmMuQvHsK+4bf4ZeHdY8My317NEYoFLJIhGMD1NflN8bvHWj2fiaTS9HcPHbPt3KcjivmMtrLFycKa2PpsxpRpwTm9z9RvAv7YevymGDxMhMTAAvGD/AFr3S7+JmmeLbUajYzOoGNocjLE1+InhLxNPqbQQ/asI3HLdK/Rb9m34NfELxp4itbme9X+xbchwqsfmHX6UY3DJau5wUavKuZbH0zctd2yxvdKRPPyc+nb9KhvtTfTdFurgRYSJCzSsPlGBnrX014i+HJkvI7uSLIgUDaB1wMV+WP7Z/j74m6Xejwb4csDYaNcfJJcKjIzAe44r53CYT21b2UnY+iqY5xo+0irnHv8AtoeJra61DwhpNqZ7FmMay7Se+DzX7gfsW382p/s0eD7+f/WTnVGbP/YSu6/nE8H+HrbTbGMTIHkfLM/U7jz1r+jL9iGMxfsv+C0bkj+1f11O7r7/ACihThiW4Lpb8UfIZxUqSw0ed9f0Z+WH7bml3Uv7TPjK5Rd6P/ZWAvUY020B/lXyleWssKpFHE5kfAHHrX1H+23dXtv+1H4y8qVgn/EqwueP+QZaV8/6RrT3V/BBOI2KuuSevBFXi5SUpSXS5xYdJxSfkdNF4d07wdp+m6jqkTy3d0H82LGcf3eK5+fR0uLxHQqltIeRL159K9C+KXjK38PeINK1+3gi1CKJP39sw3j7oAwtZNt8RPBnjzVbMnTriwCnGFQJHk+v41+fZhgcVUlGvOLafVanvYatSV4Rdn5lIaSNB1S306yjV/OGfMxlRxnrWjrXgHVfELK9mnmSR4Zggz05r6EOi+BLaC1TV76OGa5GI2LgEVlXum3Hw61xNV069FzbyqSqyNuRgRXmYehUXLzpprqzprVYNPlPkfxGph1c29yuyWMBSDxyBisdYRHcCUyBT/smrPxK1z+1fFFzqQVYtzcqnArgrG4lnu95kJQkcZr7fBVJ0KEabR4eIfO3NH9H37FRdv2ZfBpkcyN/xNMsTkn/AImV3ivy1/bdSeH9ovxrKkaTJKNLLBhnbt021/niv1E/YidZP2X/AAWynIP9qfpqd3X5P/toSXdz+1h46sLefj/iUZjJ9dLszwK9jPU54Gm13X5M5cqly4mfN2f5o+VNGvbbXZI7G5Ty8NjCjDda+vtN+DGhr4Zt9QW4uAJhyGYV8l2d1aeHdRNw1ozzFhsyuRketfX/AIX8Yapregxm5Ty0Rf8AVxjCj8K+OrWsrHvpTUdzudL+EPhVvD7WV5Crhx/r8AsPxrxm/wDAdp4Mu3sNBvZLvzycKW3bPpirms/FnU/DeLXlrSc7WZuigVn3F/Zz20fiHw/d/bpm5eJG3EZ9AKzjCpbbQ1oVoybuzHt9D1j7RNp+r3YuxIMLHK27bkelcbof7O3iYeIZNV0y4EUbNkxBiFOfavVfD0d2dYXXtWiaGCQjJmGMY4r1HXfiR4Q8LslxbXwuGON0cDAkfUVtRlOLtT0XUeIrRtrZs8juvhBdW5WbVrVi0IJDovBr9jf2Q7Z7P9njwpbOu0odSGOnXUboj9K/LnWvjJH4ltktLUrbwsMKZPlZq/VP9lN3k+Afhd3+8TqP/pfc19Hw8qn1qTm7rl/VHiZtVjLDJJWfN+jPyM/brtI9G/aN8U+I7mRZUnOmlYZDlRs061U4HvjNfKHiDwho/wASfDS+I/Dapa6pagl44flD/gOTxX3r+374TTxT438UCyQfbrVbIrgctmzgP8q/KH4ZeP7rwf4n/sq/Zo0L7JEbjvitsdh6jnOpTeqb0PIytqneFT7TZxRXXb/UG0N5VtZo2wd5KnIr7Y+C+rfELwzZLZPqUdxb7cBZHJAFXvG/wR8O+OtOXxf4UlaG+dQ7bCApOPavGrK18S+GJPsGrSTQsmQDkgGvMxGLp1qXJT3PWpYWVN89TVHtPjLVNXN5Ld3t7HDG3Xa2K8btPiJ4e0zUGhy082GGeDzisTxGuq6nGyCaSRSONxzXm/hqDTNP1Sc6mqzXH8A6gVeEwalH39THEYyMJWR7J8MvHPjqbxROlgBBp7Nl5JMjC+xr6B1n4u+GNCuvJvr838s2A8O8OhI9q+MdO1zVtW1G60jTmNokX3zH8pwaXwT4NtdQ8c2tvqMstwvmfvWc5xmvVjlCnPnWll06nJPHT9i6cXqz+nn9kTXNM8Sfs8eE9a0e2SztLn+0fLhjXaq7NQuUbA92Uk+5r+f7/gpj4vS2/a68aaLDEqzQHR90gHzYfSbJuv0Nf0K/su6PpOgfAnwvpOhnNlAl75f1e8ndun+2xr+aL/gpbeQ2/wC3d8SfOUvj+wcD/uCafXu1KCqUoxl0/wAjxqkG4pS3Pmi/uNOCRXSTtuONwJ65ra0pRHerco4dVGQh6Zx6V5paaZf6xIryr5UQ5A6HArubaQWrJjK7MYz3xXhTpxhLki7s4ZU+R3R6bofii5mv3a/k+yHB2BTtAwKsaB438f3/AIst/DenX5ulu5BGA7lgFJxx+Feb6i41GK4u8bEwBleCtdN8C9PuIPHGnXVxMS3mEo+eRj1rzMwwVCFCpXlFO0Xoe1h8VUk4wvuz9TPEfwTs/gz4BsfHVtM9xq8qeZPzkKWx+PevMdO+N9vqlsUvrhUkXgAnFegfFX4nF/C1nYa9PujMZGwH7+Bxwa/L/Xw+qeK4p7G5+zRTygCBW2kDPpX5flfCazjBrE5ivf118kfR1M4rZdUdGg7o/Tzwh4gtb8y6izeZbQjOW5BzX7B/sx3kOofA/wAN3duFWOQ3+0J935b64HH4ivwqngn8O+FYNGsHHmXKJgjqc4zX7bfsdadPpP7OPhCwuW3yRjUmZuv39QunH6NXseGWWww+bV5w/la+SlE2z/FOrhKak9b/AKM+avjb8U9V0H42eKPD2lkTJb/YPtEfUqJLKBxx9GzXlXivxEk+jx6o9rHcwS53sV3bTmvlP9sH4k6j8M/25/GlxLKW07Uzo6uhPC7dIsl6fXmvOvGvx2vNFtJNOsd0+n3ADRsvKc8n9avNclxss4rYWs705Nzg/V3cfkeJSmpWi+yPtqzn0q80CSWxZEZ1OAOMYr53vNO1Wa/EsUpZFY/KD715d4Y+JhufCwa2uwt0x+4W6ZPpWxp3i26F/DIsmQfvjPFfNRy/ERrym1rc6KNGSnc+mvAmoXkmoLbXCFlTG/2x0rrfirfR3mjzvbR+WoUfPjHSuG+Gevaeuqy3dw42vtBB/Kup+M3iXRrDRmtrUq8bKckc9a9GlQ5+ZTe1j1asdEfJq6wsVnI0DB5Gz8x5IxXn9x8UtJjtJ7LXXEc8SsATxuzn1qexaa/lMdnGzKWPCj1NcD8Wvg9rup6MdYjtmhaLBOFwSCa9/KsNTqYj2dZ2uclScoQcrXP6Af8Agn1fQ6l+yL4Fvbc5jlfWyp+msXw/pX54/tmR3Z/aR8XNGisn/Es5Yf8AUOta/QT/AIJ26a2kfsc/D/Tm4MP9s5+ravfN/Wvzr/bR8S/YP2mPGFlIo2J/ZnPfnTbU/wBa/Ss5q06OHh7Ta6X4M+am9Wzkfh34gufD15ExkYQtw6545qP43WNtMq6toab1usGUqMqMeteSL4lt4rc3KSDA/hJ5ru/DeuHX9N8uc/6Jn52foADXg+2pRi61HdbpHRhpuT5Tz+zgttRktdES2ZmBHmMq8etfREelrpMUNnB92ZQWPcbRmn6OfBtwDHo0Ze9jwN6AFSfc1139nyW/lTXUbSK3tnAr4rOc6liZwfLy26M+kwlCMYvm1OA1HWZ5URLEAIh2so7/AFqlq3g+Pxlp40kgxhQTvHAU9etejaxpelA7tEjC7hyJBzn8K87vdX1DwwJ4pZ4o/N/vnHT0qcDjsRVrNYZ2m1bUK1GCp3keVWvg258Lxz3QkIlsmGADw2TX7qfskarNrf7PfhPU7jPmSjUAc/7F/coP0WvxLsPFNnfXM73r+YjA5UnPPav2o/Y6kWX9nLwk6jaCdUwB6f2ldV+pZMp2Tqv3ra/5nzNZK7sflf8At2+L7u3+PnirRUkZYrcad8oPHz6fbP8A1rwn4HaxaeK4dT8K5VNSfabXdwWI5Ndj/wAFA7h7b9prxiWQ7H/svDf9wy0r4k8JeJb3wr4hh13TZGjnt23KQcVrjKXNdeZcacI07Q3ep+tHhvTL+HQl0nxHb+TqqhgoxjeO3XnpXj+s+Ari61z7UjmCW03fITjdu9q0/BP7QEHxV09ftCC31jT9iq+Mb88dep4rq/FevyLM9y6AXmF3Ko6jHWvDxWDnVpNw92a79jmwOJqYSq+ZXjLc8o0bQtN1O7n02UiLUE/5ZtxuHfA+leb+LPCmnWN/KqyAKeOD3rrrzUY7zxFHqlq/k3EQbLKcZyMc15Xreom/1SaCefbITwrng/SuPD06kW1J9Puf/BPqliFU5ZbdjgdV0u50uX7RgbG6GvMNXijW781T/rD0HtXq+t3N00JgnYFE4GevNeW3Vs41DYwLL2r6PDX5U5HLik3tqf0k/wDBP45/ZG8Bn/sMf+na9r8z/wBuHSdJu/2n/EN7cXmZbf8As4tA7Dan/EutcYHbI5/Gv02/YGQR/smeBUHGP7X/APTreV8t/tV+F/AFt8V/E3inWbV5b6ZLPzXdQYvksoEX/wAdUV3YvmdGPL5fkePF8tV6H513H9naxYNq9qoxpowPR93HH0q18NpL2e8mmv5CkPO0KcGrlvrej3Hh69sdHtl+/wAEKNpG6ufi1O70yEXMMPD/AClVHA7V4yu4ukelCV5KR6BpulzajqWqpa3Icy7Ty3I206C60WTSp9GuJFlvuRuJyODWB4EjurHWnu5ZfkuVbK555Fcxrfh8W2oT3ltO8bKxOCcE5qZxVmmy439rc17DSrLxE50CeURlSdjg4PHPWq2q2cWh6jb20ZDR22QzvznNcLPrX9m6hbNbsfPB+fB5/GvRri0t/EVtJdX821JQu0oeeOtZ4eMoVYzlsGY0VVpOmnqXZr+4vpY7KGbBf+6a/c79kKzNh+zv4TtGbeU/tElh33ahct/WvwKNk2nXcN1aSNNFFncwOfzr97/2O7hbr9nLwjOpJDf2lyfbUbof0r6qhUU6d0z5Snh3RruL7H5v/tgXsyftB+LIY2cBTphwh5P+gWxrgobS68YaB9mthJB5K/JG3G4j2rd/a38V2ulftT+Mba9tyYoTpR3kfK27TbRv0zisTR/iJ4fvlQ6ZcwW0y4G1mCg18XXp1Pb1FbRyf5n0eT4KFSo3UleL6djF8F/EG48N6jL4Z8aaaYguVhudmEP1Jrj/ABZp0mr6pJc2I3AtujA6fhXVfE3xZpN2kWlSxxPdMQTJgdueD71zlr4o0e0vbZL/AHwGfCxkcL6VwY/CqSiqMbM9/CZjTw1d0Jz9Dn7nw/qX2SS7mAQgAbWqhYeGvNSKYgRK5O+R+FH419L2vhq31pP7KBeTzQD5nXrz1pdV8I6Fo+n/ANj67N9jgbnzZCF6c8E152FwlSpJLz1PblmHs/e6vueTW3h2bTJPtMqiaBB8si8qc+h9qw9Y8N+KNQmtl0V3+ykkyOScAH0Nei658SPhZ4b8Lto8mrRzNb8JtkUsxY11PgfxLpOpeE45rArJG+TnrxmvRWGq4VynOPu9LnnY7E08ZFRTV1rofqR+yVpsukfs+eFNPmkMrxf2jucnJO6/uW/rX0bXh/7N7wyfBjw88H3D9ux/4GT5/WvcK++wLvhqb/ur8j4XEK1WS82FFFFdRkf/1f38rjfG3w6+H3xL02HRviN4Y0bxVp9tOLmG01vT7fUYI5wrIJUjuI5FVwrsoYDOGIzgmuyooA5VfAvghfCH/Cvl8PaUPC32Q2H9hiyhGmfZCNpg+ybPJ8ojjZs247VT8EfDX4c/DOyuNN+G/hXRPClpdyie4t9E06306KaUKFDyJbRxqzhQBuIJwMV21FAGD4m8K+GPGuiXPhrxjpFjrukXi7biw1K2ju7WZRyA8UqsjYPIyOteGaN+x3+yt4f1WDW9I+E/hGC+tpFmgm/si3cxSI25XQOjBXVuVYAFSBjGBX0jRQB5b8ax8Uh8KvEr/BN7RPHENk02iLfIslvLcxMr+SwcqgMyK0aliFVmBJAFfzut+3P478A+NL65/a7/AGZvDPi7xw9xENN1HVNDg0PU4Hg4AEs2n3b3Kh8NGyFSCcqxBGP6dKKAP50P2Hfg/wDH74/ftsTftffEzwvd+GNDtrq91dpru0e0guJ7i1e0tLSzSdVeVIo3BMqgqFj+Zg7KD/RfRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABX4BftyeEbnVP2mfFOqx3OxYzph8tTg8adajkfhX7+1+Bv7bGofZv2lPGUaPhv+JXxn/qG2teTnEJSopR7/oz2cjcfbvm7fqj5s1vxV47m8N3XhzTJjB56hBsJAUD/ABFfEWv/AAa1ue5kuAzSyu2WLZJJNfYUFzcTYlMpXOc81saPpq3jOPOBlB4DHrmvm8PXnhbuCSufVVcLGukpO58XWnwZ8Y2FpHc2U7Izc7ckYxX1J8Hfj/8AGX4AskcqyajZnqg3OVAr0TUrW4s18mSJlA/ixxXOrBHJOBJhyeqvyDW312VaD50mcUsFCnK0T6W0n/gpRe6ldLY6vo06tKyou2LByePWuw+OeuQeM/B1prepRCFbpdyiQYZc4r5v8L/DDw5reoQajO0EEsbhljbALEH0ru/2g9cuk0vT9GhjP2WNdu5R8vGK+frxozxdONJa31PWw1J06E5PY+f4I7C1naNZlKr0Geua/f79i0of2aPBxT7v/E0x/wCDK6r+du3WB3Er56cV/Qz+w+7P+y74LZhgn+1f01O7r7LKINVn6fqj5rOpp0El3/Rn5Y/tuPAf2nfF8ZUlj/ZeT2H/ABLbSvl6I21vc74FLN3YV9bfto6VLN+0r4wu8ZRv7MzjtjTbUV8nrYPbtuDfJTxDUqko+px0Vywi/ITVG/tIqZMts7nvUen7Uja2WNYmH3WAwc0+8idwPszYC9avafayECSQKzDoe341zaRjynQrt3QtnL4skuYor2Fb63jbKu4LsoHPWvUdc+J1lfpZ6VeoImsxtO/jOawV1a6t7b7PF5atjBI61xd7pVtfSmebDu3UnrXk1cJ9Yq3qK0V2L5eSL9m3dnZXlhpmvo01ppouWbHMKBiaqxWGl6XGUu/DV8D3ZYK5O3tdb0S48zSLyeLuo3YWtWL4g+Ore7RbqSO4hXrvJOa2llNN2cZP7zyq2Hm3q38mfvB+xx9j/wCGcPCP2CCW2g/4me2KYbXX/iY3Wcj3OSPavxp/bw1GSw/as8bmAKrt/ZPzx/63/kF2fWv2b/Y/1h9f/Z08JatJEIWn/tLKKMAbNQuU6e+3Nfix+3v8P/GE/wC1j428VaUpmtbr+yfLTkgCPSrONuPqpr2M0UVgaam7bfky8sU/bvlV3b9UfK9hqd7JcRT3TNMjH+LkjFfSukeN7O20KWCCQRT7QNpOK+ZRpmpRaPKRlLu352H39K4/Rtdv4tRjj1VZDE7bWIHPpXzdPCwrO/Y9fEVpwSTPd9Z8WaNqkT6Te30W9j03DNXfCOsWHgqZJYJjJGxyQTla4rxD8LPDF8sOo291JHLcqWRgwGCB3r5u8UN4y8KXr2BlaeAfcckkYr0aeFp1GowkvmcTqzSvKJ+ifiP4n6b4r0ptLjuFtlUclDtPNeC6fqWheGb6S6v7n7b5rAhJW39Pavin/hLPFhl8qNH3OcfLmvafBHwv1vxTeQTa/qf2VpSCkbvtJ/A1u8v5LubSXkYxruUrLVn1LpXivT/FHiDzTGlvbQgbVQYA4r9/f2SLuC+/Z78KXNsweNv7RCsOQdt/cqf1FfzZ+OLvRPhjLB4b0+4W6v3AEjKQwHfmv6GP2Brk3n7JngW5OMv/AGueOnGq3grbJsM4YmU+6/VFY+tzUFC3X9Gfnz+138TrDTv2mvFXhWGGaS6tl08S4GUPm6bayL+jCvxg+MkV/pXj+fVGTykuHDIEGBxX7Kftb+HbC8/aZ8dakrxw3QGlZdjgnGmWgH6Cvirxd8KtL+IuizLBdQ/2nbn93lvvc816SqwVaWnc4FSagmW/2YfjTZq0fh/X5sQSjALHoQOOvvX0N8cNFsbzwC3ie1VGltedydWDHivga3+GY0NYrQ3QstUjbozbQ2D2r7J8APrtz4IubLXFa8tY0AZWywb0wDXz2Ly6mq0a1PvqenhMbVdCdOpqfI+i3+r+J1kgtmFuqZG5+K9I8PfDnQbTw9d6lqdx5uoqV2EEEZJ/Ouytvh7pxtLzUoriO1blkt87W49qd8OvDF543tr3SYZFheB1O5zjODn+lbTnZ2WiTPkMDiqlbGSp1ezPD/iRo2p+EtBbXNLgMd4xUTlRgEE4X9K6PwNoWsrott4lVT50/wA0h+npX0T4/tLXRYP7L8X24+zumHbHJ2jg818sXvjLUNImgg0KbfpbSgKpPIG724r2adaSvTWy1udMsTTp7vY/pW/Y8uHuv2cvCE8gYMw1HIbrxqFyP6V+CH/BRTwNY6n+1/8AErX5GxMP7Dwp7kaPYqP5V++f7IFyl5+zn4PuYwFV4784HTP264B/Wvx3/b08Fi+/aN8fa9LcCLcdIMce7Bfbplop4/Cs81xvscNCo3a7S/BmjqKUVNdT8xIdPl0/RgJQWvpziNF/hAOP5Vy3iC31LT3itIEaeZAWkZRkDPNfQNxZ6fE0V07K02CM/wAKYrj9e1bTiklvpUXmykfNKBnP414dHMLtvluZypdWcZ4SkTUInj1BWgjfhi3C5Fe5eGNBg8Nbb5ZQzPkxup4WvnObUHg0sxM6Bgc7P4uD6V6b4P8AGmk6rpTWWoTSJdKMRqCAPyr0MZgfaU32YqUnCXMuhe+KPjPxRrQgskcSfZM4IJPBrzfR7iBJI9Y1KbF2p4TPQiqfivxY+l3rxGNg2erDqK87m1K51/VYlsYyGZhkKOPet8FlsaVBUoq0UjSTnUk5yPt7wh8Q9bvpTqWpRSz29knDAEqMjiv6Jf2FtduPEv7LHgrWrv8A1tw2rg/SPVbyMfoor+bN/EkfhrwZFolui7rhQJHx8xP1r+jH/gnmhj/Y+8AKTk/8Tk/99aven+tefkOAhRxtSrCNrrT0ujrniJThGDd+5+M3/BTDSXuf2nvFd9Fj90dK3Z6j/iWWfSvkrSr4XGhvps5EruAED8kf7tfef/BQTwzf61+0j43uowRBANLzj+LOmWn8jX5z2Fjf215DLIGBt35HqM169bBfWYyhPpJtHTCXJyu3Q0ri31LS7WJI2aJsnO3g8nivRPDuq39pDBN53mSPnhznpXtPhDwV4e+I0sE07+QygZHAU4610Xxa+Ful6D4ZXU/DiH7TEQoUdyTjtX53j8wpfXHgpfFc9mFNyipo4jTPFuq2IaZdxyOFjznNMtG+J3xM1WLSbS3mNsXAd2DcLnvX0b8FfhbFZeD7fXPEtv517f8AEUbjIHOOhr6eiufCPwl0iWCNIGv7hclsDK9+KxjCFOTutS5TbaR5bpvgjwl8K/DyXesbZb3y8tvwcNj3rwfxh8TtP1LSdQEsixw4wgzgcVg/FT4g3/i69bSbWQtvbk56DNfJPxi8QQadaW3hyyfMo/1hHU5wa6soyqNWupX1vczxNdwp2Z/SZ+wJepqH7Jfga8j+7I2tY/4Dq96P6V+Vv7dcQ/4ag8Yyev8AZef/AAWWlfpz/wAE493/AAxl8PN4w2NayP8AuMX1fmj+3CjS/tPeNVUZx/ZX/pstK+t4ubjgqf8AiX5SPmXufGssyoMLz7djXo3hTxNc6VZS2RsnkjnGPu5UVW8K+G4LzUo/7R2rGTwD3r7Y8F+DPD8phR7SKRURi67QTgCvj8JjI4aHtlqduEoOTujwD4aTT29tPJDEd5YEkD5hk17pqvixLLSkjnH70jgGuL1W90WDWZxoRjt1hbBjXj8wKzry+sNWYG4fEijn+7XyubOdbGOrJaM+loxSp2W50/hzWxLeTC8xgjKE9BxXhXxMa71XUUhVJGQMfnXkfnXoos0/s83trKZpMjCRnPAPen6razaqtn/Z0G+T+NFGT+NdeVXo4yOJSuuxnWi5UXA8r0fw1cSKIoomJOMnFfu3+yRYvpv7PfhSyk+9H/aOf+BX9y39a/LaPRr2CC1kWzaEL/rDtxmv1w/Z6MR+D/h8wjCYvMD/ALe5s/rX6tlWJjVxclHs/wA0fO1qLhSu+5+W/wC2F4Vstb+P3iZtUtwYJP7PAlI9LC2HX8K+SdV/Zek1UPqnhe6V4CMhQ2cflX3/APtY6vYx/FLxJp0kO6Uiyy+OmbOA/wAjXzt8PdUv7ISpZys8R6Ln5RXu4inKUHKnufG/2jUp1pXeib/M8C8CfA/xt4K1lNSVldN4MiDPIBr6L8dtY6WF8QXM+19qqyseOgBrnvFfxrtfBmpNbeIo5IGH3eMBvzr5H+N3x2sfGUEdpohaMZ+fsOvtXzX1fE16nNM+nw2Mgopy2Z7N4kv9NEsU+lMoWTJYjuTWNrPhiy8Q6JFcJugvhnMg4I/GvA/DvieZ4rRJZRKhI3c5xX1toY/4SqOa20bY6xIpcJyQce1OlhJ0pa6nrYuvSlSi6eiR832/hDU9G1KdtXuGuLYY2sxyDmsy9sYLcyT/AHpGPyj0r2LxfBPY6PJbygySoeQOTwa8YW7k1a4aS2iYQx4DsRwK2U3O99Dpwrio2k7n9EX7CCNH+yn4HRuo/tb9dUvDXw1+2/rU8Xxhv9JvuNLkaz83y/vsPskB57dSa+8P2Hwo/Zd8FBDkf8TX/wBOd3X50/t2tqdv8ZtcuLqzlFgDY+TcFf3Z/wBCt93Ps2R9a9LFyl9XpteX5M8xW9tP5/meZ+KJfA0XhiTTfC9mLa7eNdjbQuTjnOK+VPtvibTXe3fZNgklTkmti68VXgv04GzA2t/CBirNjY3Wtah9stbmLLdVLelcEKLi2zohXikkN0nxlJBFDK8OJQ4D5H3cmvR/Hl1Iv2LUba2VortfvAcDAGc15Tr9tNaO5axmKH78kSfJkdOauR+Kb2/8JyaMVd5LUEozcnnmlUjGylY0jNuV0zHOnR6trrCLCOMZPQDIrp7uzvNCiis0kMyt/EDlBXn3w8+IeiaZJf2WvhRcyEBGbGRjPc10Gtau39mSavGJpbNDwycr8x4q+Zx91IUpc0ryY7XdVZI4dI0ucb5iDNtPIxzX9Bf7FbI37Mvgwx8DGp/mNRus/rX82GgwXcuszavcRyRK+PLjkGD+Vf0lfsTMX/Zi8GMRtz/anH/cSu69nB0VTpW6ng1MRKpiWuiR+fX7Wtno1/8AtB+MIL+AMf8AiWhnxzzp9tjn6V4VZ/Bbwpf2RuLe7mg24bejAHPWvaf2vNa+yftEeLbL7Nu3HTPnC8t/xL7U/p0ryu88Sw6f4dieBGjkx+8jIwcfSviqk5Uq9WSe8n+bO7C4iGFjOrJHneueCLKXX7QQ3ckygMHd2zjaOOaq6ld6LJaC2uIg0mnn5HcZzk+tQa5r9zKY9Q0yJvKbgsBwKetrd6xYOHtlDKB8yr97P+Fediasq0ozfQ8zGVamIcMXTjpc9x8FeJdSuLCHWNIKySxKdyHkccCvFfil4u+IHxEup9I1K3jgsoPlSWIENz71leGvGF78JtbNteA3Gn3Jwf4tn+HWvfIfEPg7W7Fy0UkVzc4ZVwAK7oqWDoutRejPpMwxssXh9Pda3Pz8uP2f9Wa+S+1K8MlszBuWzjBr7S8HG38O6Fa2dpF+7UbQgHLY9q6IWumXd6LNVb7Mem/viqUkH2S5uV2YVFzFxwuBXkyznE4tx9s7JHm5UnTl7WTP2T/ZhuftfwN8NXHl+Vv+3/IBjGL24H64zXvlfM/7Ht49/wDs6eE7qQ5Z21QE/wC7qN0v9K+mK/T8H/Ah6L8icRLmqyk+rYUUUV0GJ//W/fyiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAr8Lv2xPg78V/Ff7SXi7XfDfg7xBqmmXX9meReWOl3VxbyeXp1qj7JY42RtrqynB4YEHkV+6NchqnxB8BaJfy6VrXiXSLC9g2+bbXV/BDMm9Qy7kdwwypBGRyCD0rGvRVWPKzow9d0ZcyR/Ok3wB+OgjjEfw/8U+//Elvf/jNadv8C/jhZXCsngDxXz3XRb3j/wAg1++V/wDHn4G6VKINT+InhOzlbok+uWMTH6BpgaYvx8+BTfd+I3hI/TXLE/8AtavOnldKSs5HpQzetC3u/mfhTc/Cv49T3lvbXPw98VSQc72/sW9IHpk+TirZ/Z6+Ld1ex3EfgjxNCO4fSLtcY/7ZV++th8QvAOqQx3GmeJdHvIpc+W8F/BKr4/ulXIP4Vffxd4UjOJNa09T6G6iH/s1Qsih9mTNf7fqXfNFH8/t/8Dvjhbzfa9O8FeJxJD9zbpF5z9MRVQ1L4UftDeIbGKw1PwF4mZYs/M+jXuTn6w1/Qh/wl/hPaX/trTto6n7XFj/0KsnUvib8NtGhW41fxZodjE/3XudStoVP0LyAGs/9Xqan7Tmd/QpcRVOXl5Vb1P53l/Z1+NtpJkeAPE0i+g0a9P8A7Rr9xv2Q9D1rw3+zv4T0XxFpt1pGoW39pedZ3sD21xFv1C5dd8Uiq67kYMMgZBBHBr0I/HD4LAbj4/8AC4Hr/bNnj/0dXeaJruieJdMh1vw5qFrqunXO7ybuymS4t5NjFG2SRlkba6lTg8EEHkV24TARoVHNSucOMzGVemqbjazufj/+1P8ADj4p63+0D4s1fw94Q13VtLuhp/k3NpplzcQSbNPtkbZJHGyNtdSpweCCOor5RPwO+OUjMp8A+KQpP/QGvf8A4zX9AuufFb4XeGNRm0fxL4x0DSb+22+da32qWttPHvUOu+OSRWXcjBhkcgg9DXOP+0P8AIztk+Jng5T6HX7AH/0fSng6UpuTkYxxjjFRsfh5ZfA74vRRYk+H/ict76NeY/8ARVXV+DfxiMDwL8PfEqDsf7GvAf8A0VX7gQfHj4HXX/Ht8RPCk3/XPW7Jv5TGpn+OHwWj/wBZ4/8AC6/72s2Y/wDa1YPL6Dd+c1jmM0rJH4QH4KfGqCF93gDxTIx9NFvSf/RNUf8AhTXxtCFF+HfisHsf7Evf/jNfvMfjz8DV+98RfCY+uuWP/wAep8fx2+CEp2xfEPwq59F1uyP8pq1WBo/zCeYTfQ/Bc/BT49ySI03gPxP5a9QujXuf/RNby/s9fFy5haT/AIQnxIjEdH0m7B/Lyq/dA/G74Lr97x94XH11mz/+O00/HD4Kjr8QPC3/AIObL/49Q8FT6TsS8dLscJ+yZ4c1jwl+z94V8P6/ZXOnX9r/AGj5tteQvBPH5l/cyLujkCsu5WDDI5BB6Gvh39qDwz8SNa+OHiE+H/BfiHVLF/sIivrPS7m4tJP9Ctw22WONkba2VODwwIPIr9WdF13RPEumQ614c1C11XTrnd5N3ZTJcW8mxijbJIyyNtdSpweCCDyK5HxD8XPhR4R1GTR/FfjTw9ot/Dt8y11HVbW1nTeodd0csqsNysGGRyCD0NGYZfTxWHjRnKyVtflYMHjp4es6sVds/CnWP2e/ifKZLuPwL4nM8gOQmkXZX9Iq8HuP2ZfjmlwTH8PPFjgtkk6JfHv2/c1/R6Pjp8EmZVX4heFSW+6BrVlk/T99XR2fxE+H+op5mn+J9GuUHO6G/t5B+aua8+hw/TUeSFRv7jtrZ5JvmnBH871n8HfjVDaRWtx8MvFzmIYB/sG+OP8AyDUd1+zl8VtcIOofDnxSFH97RLwH9Ya/ohm+JPw6tv8Aj58U6LF/v6jbr/OSqr/Fj4WRqXk8ZeH1UdS2qWoA/HzKw/1dw6k2quvyE80q25nT0+Z/PHY/stfECG4Df8K18T5U8M2iXn/xmugm/Zu+K099FeL4F8URvD9zbo94AP8AyFX7w3Hx9+BNm2y7+I/hKBvSTXLFD+swpp+P/wAB1TzG+JHhEKf4jrtjj8/OoeQU73Vd/gUs5staSP58PFP7JPxV1vVm1mTwL4nedscjR7snjj/njX7m/saeE9V8Dfs2eD/C2t6fd6Xe2P8Aafm2l9C9vcR+bqN1Ku+OQKy7lcMMgZUg9DXoC/tBfAR1DJ8SvCDA9CNdsSD/AOR69I0PXtD8T6XBrnhvUbTVtNud/k3ljOlzby+WxRtksZZG2upU4PBBB5Br0svy+OHquSquTta2nkcWLxvto25LH5TftHfCbxt4r+P/AIo1PTfC2s3un3n9niO9tdPuJbeTy7G3RtsqIUbaylTg8EEdRXid5+yd47t5H1HTNC1uOTGQiWNxnP0Edfs1rXxa+FfhvVp9B8ReM/D+l6nbbPPsr3VLW3uYvMUOm+KSRXXcjKwyBlSCODVZfjN8H3G5PHXhph6jV7Qj/wBG12yyxzlzK+vkefUzGivdnJK2m6P54PFP7OfxtuddjvJPAPiy68p/9ZHot6+R9RCa9zvfgv8AGOz+G9xHo/hDxOl8yL+4GlXfmnB6BBFu/Sv2wHxh+Eh6eN/Dh/7i1p/8dqZPiz8K5P8AV+MvD7f7uqWp/lJSnk0px5Xf7jy6+Lws588a6j/28v8AM/nu8E/CD44T6Zeya/8ADnxmt4vEPm6HfKGz1+9CCfwr3H4YfAj4naVodxq1/wCD/ENpeuwIh/su6jc4PHytGD+lftha/EPwBfI72XibR7hY+XaK/gcL9SrnFUh8VPhgxIXxhoJI4IGp23/xyo/sGUtLN/IwlLCxkqjrpfNa/ifiT8V/2dvjH4802fUpPDevNKQAkC6ddF+OPu+XmvAfD/7InxbuDBYX3gjxNAsTZ3tpF4i9c9TFiv6N/wDhaHwzPTxboX/gytv/AI5U6fEf4eSDKeKNFYe2oW5/9qV2U8pqQhyqL+4mVXL5Xfto3/xL/M80/Zd8Lal4K+BXhjwxq9rcWd3ZC+EkF1G0UyeZe3Ei7kcBhlWBGRyCDX47ft1/Cz48+KP2l/FmreD/AAT4n1vQ5f7M+zXWnaReXdtJs021WTZJFEyNtkVlODwwIPINfv3p+o6fq1pHqGl3UN5ay58ue3kWWJ9pKna6kqcMCDg8EYqK61jSLFil9fW1uy9RLMiEZ553Edq5MfgKdanGlV05X+KTR69KEHSioO6srH8qVt+zt+0JrEZin+GPjO12AljJoGoJu+mYOa8l1P4AftPpM8GnfB7x2se7G4eGdT598i3r+vT/AITLwhnb/bmm59PtcOf/AEKstvib8N0nNq/izQ1mXrGdRtg4+q+ZmuKhgMLQv76+9GnKfyMy/snftI3Jivm+FnjcSN95T4d1Hj6j7PXY237IXxztbOPUovhl40W7HLINAv8AP5eRmv6oZ/jV8G7VGkuvHnhmFU+80msWagfUmUYrMH7QfwDY4X4leECfbXrD/wCP12LDRm7xndGc6ab3P5Y9d/ZM/aD8R3EM83ww8ZooGCD4f1AHj/thVzSP2TPjroIN3bfC3xm8qcDPh/UCTn0/cV/U7D8cvgpcttt/iB4WlYdk1qyY/pNW/pvxH+HusyCLR/FGjXzt0W21C3mJ+gRzQ8FzLlU3YFFJctz+V22/Zm/aIlnM2ofDLxk8R5VDoF/lfw8iv6I/2GvDniPwn+y14K8P+LNLvNF1W0/tbz7HULeS1uYRJql3Im+KVVdd0bKwyBlSCOCK+qhd2pG4TRkdc7h0/Onwzw3MYmt5FljbOHRgynBwcEccEYpYXL1RqOpzN6WNIw5T8fv2r/hh8RvF3xs8UXPh/wAI63qFhc/YNl5a6bcT282yxt1bbKkZRtrAqcHggjqK+GNV/Zq+MkmqyNb/AA78U+X6rol7g/Q+TX9Gmr/E/wCGmgapNomveLdC03UbfZ51nd6lbQXEfmKHXfG8iuu5WDDI5BBHBrpdK1zRNdg+1aHqFrqMJ/5aWkyTp/30hYVrDAOFR1U3ZnR9ZvHk7H843hr4YftAeEj9ntfhj4pkhXqy6DfF/wAMQ1uah8PP2j9YukEXw/8AFK2ZdSyXGiXwOAfQw1/RjRXn4rh/C16ntmrS7m9HHTprlWx+LOtaD8a7LRrC00zwL4hdrdMAR6RdsVJHPSI4r558T/Dz9o3xPqASXwF4sBbI8x9Fvtg+p8nFf0VsyopZyFA6k8AVwupfFL4ZaNcNaax4u0GxnX70VzqdtC4+qvICK4I8J0FdubZt/arTu4o/ne8S/Aj43eFtFNxYfDzxbqmpXHU2uiX0+z/viEkV4Wf2Tf2hfFGqDXdZ+HfiyJyc+W+h369PYwV/T6Pjn8EmJA+IPhUleuNasuPr++qsP2gPgMQ7D4keESI/vka7Y4X6/vuK9nAZZSwzvB3Zy4jHe23PNf2KvC+t+C/2ZfBnhnxFpt3pGo2Q1MTWV7A9tcReZqV1Iu+KRVddyMGGQMggjg1+cv7Xfwj+KXib9o/xZrvh3wf4g1TTbo6Z5V5Y6XdXFvJ5en2sbbJY42RtrqVODwQQeRX7TeHvEfh7xbo9v4h8KapZa1pV1v8AIvtPuI7q2l8t2jfZLEzI211ZWwThgQeQa4zxD8a/g14S1i48PeK/HnhjRdVtNn2ix1DWLO1uovMRZE3xSyq67kZWXIGVII4IpZrlUcfSVGUmrO+no1+pz77H4ln9m/4p3OmRTQ+FPEUFxEM4OmXSnP08rNev+D/hn8YdNsIJrnwxryTYZWB065D46cgx56V+nn/DR37PP/RUPBn/AIUGn/8Ax+kP7R/7PA6/FHwWP+5g0/8A+P14tXguhOPJzNL0NsPVnSldH5kN+zx4ivGfUV8L6/DdzHMgbT51BP8A37rOvP2a/HzTZh8P6sI++2xnyf8Axyv1FP7SX7Oq/e+KfgofXxDp/wD8fpn/AA0v+zj/ANFV8E/+FFp3/wAfpf6lwaV6km+9jtWZSV/dPybvfg18V/D0f2HSfB+v3Ctx5kel3T4z6lYzX0b8Fvgj4n063fVfEWgX8UzgERXFnKjD/gLIDX2v/wANL/s4/wDRVfBP/hRad/8AH6T/AIaZ/Zv/AOireCP/AAo9O/8AkiijwZCnPn52/kEsyqNW5dD5m8UeCPE9xvtNP8N6gV7MLKYr+YSvrH4I6Pf6D8MNG0rU7eS0uYPte+GZGjdd91M4yrAEZDAjPY1in9pz9m0dfix4H/8ACj07/wCSK9U8N+J/DXjLRbfxJ4Q1ax1zSLzf9nv9NuY7u1m8p2jfy5oWaN9kisjYJwykHkGvUy7I44Oq6yk3dW1+/wDQ56+KdSHK42PzP/aU8A+O9e+L/iC+0fwrq+pWU/2IR3Npp888Um20gVtrojKdrAg4PBBHavEdF+EHxO8P6uqR+EPED28vJK6ZclVPufLwK/YnU/iJ8P8ARdRl0fWPE2j2F/Bt821ub+3hnj3qHXdG7hl3KwYZHIIPQ05PiD4BkAMfiXR3B6Fb+A/yevaVenrFWPmZ8PXnKq5P3m3t3Pwn/aY+APxS8W+HItQ0fwN4hvr6HP7u30m7mlOT/dSImvg20/ZY/aLuXYy/C7xnEB/e8Pagv84K/q9uPip8MLV/LuvF+gwuP4ZNTtlP5GQVGvxY+Fj/AHfGXh8/TVLU/wDtSsXFdGejhMCqMFB3dj+Ug/sy/tM2UxS1+Gfjbb6r4f1HH6QV7X8JvhT+1J4B1tNQb4deMnhnIEyPoOodOn/PCv6Wbf4jfD27YJa+KNGmY9BHqFux/SQ1pf8ACXeFP+g1p3/gVF/8VQ4QfU7ZK6atoz8Ntb+C3xP1eaHU4PA3iRQ6kyRS6Tdhskdx5XrXkmofA74yQvc2lj8NvFCRORzHod7hvxENf0QDxn4PZio13TSw6gXkOR/49TJfG/guAbp9f0uMer3sKj9XrnnhISja5WFlOlK+54d+x34e1zwr+zl4R0HxHp11pWo2v9pedZ3sD21xF5mo3Ui745ArruRgwyOQQRwRXnv7W3gW+8S+Hb7+y/Dt9rt3cKgjWztJLoqVVV6Rqx7V9n6fqOn6taR6hpd1DeWsufLnt5FlifaSp2upKnDAg4PBGK4HxB8Z/g94T1ibw74p8deGtG1W32edY6hq9pa3UfmIsi7opZVddyMrDI5UgjgiqxGEVWlGne1rDVZqo5tbn84F1+zn+0daajK//CAeJZ4JSdipot8wUfhDxVLT/gb+0Zpl0Rb/AA38ZDeeWGhX+0fQ+RX9IC/Hj4HPEZ1+InhQxjq41uyKj8fOxVGT9ov9nyLPm/E/wamOu7xBp4/nPQsPFbyFKpd3sfhb4a+Fv7QVzBJpF58O/E6rMpG+70S+VAcerQgVR8AfsofHHU9S1iPXfDGvWCW5UwtJpt3EkwbOdheIBse1fu1b/tJ/s63cnk2vxT8FTSf3I/EOns35CcmtKP49/AuVxHF8RfCbuxwFXXLEk/QCasf7NTbfNuN4lpWPwc8V/sL+NLm2ttVi8Ma60yFvNjg064aVueOBGTXpdv8As1/EFPgnqfhzT/B2urqG1WiW50u5ErFTn5V8vcfwFftRefGT4Q6cEbUPHHhu1D/dM2r2kYb6bpRmo4/jV8G5ciLx54ZfHJ26xZn+UtdDwVoqPYyjVd+Zu5/Nrofw0/aP1Cyi0fWvhH4zguLNmVLkeHNRVXGepYwcjHSv3/8A2PdB1/wz+zn4R0TxPp93pWp2w1Lz7S+ge3uI/M1C6dN8cgV13IysMjkEEcGvQZPjx8DohmX4ieFE/wB7W7Ifzmrv9C1/QfFGlQa74Z1K01fTbnf5F5YTpc28vlsUfZLGzI211ZTgnDAg8itKVPk63NK8ozlzqNmflX+0d8KPG2vfHjxb4psfDOt6nYv/AGd9llstPuJ4pCljbo+xkQq211IODwQQea+V9Z+Efx1vr8ungPxF9mbjA0e83YHr+6r9w/EXxw+C3hDWrjw34t8f+F9E1a12efYajrNnaXUXmIsib4ZZVddyMrLkDKsCOCKyh+0Z+z2RkfE/wYR/2MGn/wDx+vJxGTUKknPms2238y51YyoulyLXqfikPhd8XrSD+zh8NvFL22Mtt0O8JyOeP3Neb6t8N/2ldavHtNA+HXi7TbOE/em0K/iZh7HycGv34P7RH7P6qGb4m+Dgp7nX7DH/AKPqFv2kf2d0GX+KXgtR7+IdPH/tes8NkmHo3and/I54+5Hlhoj8JdK/Z++NWqLHD4g8C+KWXOWZ9HvAcj6xV6DffB74tWRjm07wD4mcwjAH9j3Zb07RV+ybftM/s3oAz/FbwQoPQnxHpwH/AKUUo/aX/ZxK7x8VfBO31/4SLTsf+j6dXJ6c2nKpp8iMQnWVm7H4+6b8L/jPcQIr+BvE0Mi/dMmkXi4+uYqo658M/jnY3YceBfE14JRtPkaPeSKOMc4iNfsf/wANM/s3/wDRVvBH/hR6d/8AJFKf2mP2cAMn4reCMev/AAkWnf8AyRWEuHsM3fm/I0g1GDit31MD9kzQNZ8L/s/eFtD8Q2FzpmoW51FprS8he3nj83ULmRd0cgVlyrBhkcgg9DX0ZWH4c8TeG/GOjW/iPwjq1jrmk3m/7Pf6bcx3drN5TtG/lzRMyNtdWVsE4ZSDyDW5X0VGmoU4wXRJCbu7sKKKK0Ef/9f9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvyE/agkdPjt4n+Xj/AEDB/wC3G3r9e6/I79q0XUXxp1qSFEKt9jyW74s4Kxr11SSk1c6MNQ9rLlPy1+Ogkk8TWcgTOCelUtLO50LLx8te2+LpGvPElvBPaWkiA9XXJq7dPZaPN9qubK0NtEuXCr83SvKrVlzKT6ntV6HPyxT2SR7f4J8U2EHh3QYotQ+yNYFjKofbuDGvX9U/aI8NN4stfD4jzbSqA1zgYyo7mvgrSviZ4a13UGsbKGGJQcAEAHisPxz4htbDWtOtoTGodju29a9Ghml1ypf0jyq2X8jfOz9Y2+J3gX7EhF1Fgj58sPwr5g/aI8V6Br2gWdto8sblC3CkHqfavGdEsdL1y5j052uFEibiV6cDNYl5ZaKkjwSJeuEJHarq5pGUdVuZxwDUtJHn80jfYieOMV+837FH/Jsngz/uKf8Apyu6/EGfTNAZRAEuwG9QK/cv9jmCC2/Zw8IQW27y1/tPbv8Avc6jdE5/GsqFaM56dgrUJQjdn5Rftz3dtD+0R4xRyd+NMz/4LrWvz5uXhmnOBuya+xv2+9R2ftSeOLVmwF/sn9dLszXwxHdTRs0sILL+deFX/iyv3f5mKV9D1rwvOYHypx7V2V9qUD/LNwT3rw3Sde2yYyQ3oK6ma8eZQ7ZrypxfMPlsa95MDcYhOVPrVJNVn0653BSw7le1ch4h8VW+gWpmcbnYfKD616b+zfqfh/4iarf+HvFG2Ga5Q/ZW4GCqk96qpWqU6fPFHoYTAqt8TsXtL1c6qu5G5Hqanvbh8GONjvFcxqMSeDNXvNImOGhdgD6gk4/Ssq31vzrkuz8HpzW0qjep5rc72P6Lv2Id5/Zf8FmT73/E1z/4M7uvy5/b90H7T8dvEl9uYlzpxAH8O2wth+uK/UP9h2YT/sueCpR0b+1f01O7FfmR+2eNdm/aV8ZLb2ss9rF/Ze07SU5021z+ua9nHVIxwVPmV72/Iujzc10fDuhTyaj4qtrCaVoVyAmTgfjX6sfDnRD4d8LvPJOk5MYPyHOOK/LnUfDt9PeNqtnDIrwYI2Doa7Lw98XfGmj7tHS4lZXwrK7HIArlwOa0cPGaim3ZixmDnWkm3pdXPs25gn1uWaUygRljgE9Oa8o1m1gutZfw3HdsLhwdoDfKTjNZmheJtSuLJHYupc/PnoOea9zX4PWWu2umeMdJvlM0+4swblSOK+IpY+lW5qkk0o6yZ+gLCtwjSbVpK0T86vid4Z1DRb1o9Rc+arcc8EE153dTXkM4sGLmPAIP4Zr9RfFXwCsPFlvMmpTOb2EoVOfvD/8AVXlXxL/ZmnstBg1nwziWYIylX556dq9HDcT5ZUlyXsm0k7HlYjhTMKcls/RnyBoOpabcaO0EEW+aDrxk1/Q/+wpP9p/ZW8ETYK7v7W4PXjVLwf0r8YPhP4Q0rwlo2oaZ4w0x49SkBPmyRgJ3PBPNftx+xpFaw/s3eEo7PHkhtV246c6ndk/rX1eU4fD+3eIoz5rr9UfL1IVILlqRa1Pzn/az0S2uv2j/ABdcmMPLJ/ZgHHJI0+1H9K4DSvhn4huLJWi0+YyMMrhDtYe1fS3xlvvB8X7VPiSPxNIV2HTiFyMH/iX2x716m/xg8FRW1jpmgxq8pbYDgZHIHav0OWYSp04Rw8btJN/cfkEsgw2KxOJq5lV5YynJRV9fiZ+dGsWN7oV19j1G0nt5sgbHXFdRbwPAqtGeCM1+h3xj+HVl4p8EtrtrYxtqlvGJEZU5YHk579K+A9MuPt0LLMgjljYqyAYxg46V6OQ51PFVGq2nY+e424Lo5Zh41cIm11Z6p8Jppi+oWr8rKh4+gNecyWhgvJVB/wCWjfzNeufCa22azJFjiSN//QTXnesQeXqk6gYIkbj8a+uy73a1RW7H5nnr58BQk+jkvyIobctgA129vbvBbLnjNY+mWeNk0+Ag65rtb4Qm2VoumO1dVTFQc+SLPNwmVVIUnXqppPbzP0R/Z/z/AMKj0HP/AE+f+lc1eM/Gnx/o2geLb/Tr9zuQQgqCP4oY2H869m/Z/wD+SR6D/wBvn/pXNX5eftia1q9t8d/EVrYxtKkZ0/5QM4Bsbcn+dfhPF9KVWpUjF2/eP82f1bleJdDI8JKP8kF/5Ij3jStXsNSie4DhVfO0k8818hfEm21PQvGuNPkdpLsnaWPyjism3+LFvo2lZuWeMwDkHjn/APXXEW3j7V/G2sjX7xAsFuf3QIPPaviaHDNau5Tn8Kvr6n03DmGxeZz5UrLubPjbQL2XwGVvLLbO2S0kS9cn1r5OsfBXiy087U4rQ3FohBHyknmv0L0fU7vxNClhdKhgbgL2r0658F2WneHzZW8CAyISRjv1r2sjwdTDKUZSvG9z7OvwVJTXPLc/P74c+EvEmuawzTQNaxyDuCuMDtXvfhTxnN8LvEMMF25Ro2OC5wpzVfQtRutI1h4LomNQ5APQda9b8dfDbTviH4DudUgRUvbRNySpwx/Gvpll7jW+sRl7r6HBmHCMqVPnoz1R9M+BPjvL4nWWK2n37EwxByORX2d8KLtr/wAA6Zdudxka6yfpcSj+lfi5+yZZGC51iy1C637CFyW5GM1+y3wYjSL4baRGjblBu8H/ALepquUGpy8nY8qtTlClFVF7x+Yf7THw8uda/aQ8T63fTi205m007gdrHbYWyn9VNfXf7P2qeGfDGlNawaypgVV3faJBgfSvzJ/4KX/F+/8ADHxe1Hwto87QzZs/NKHB5s7dx+jV8Hj9oDxr/ZiWNveyQDbgsjEFvrXo15P2UIJ9EeVh6UeaU33P6oh8Y/AElxLZW+r28s0QyVSQHtXK6V8evA2o6k9sNThVg20IzjORX8r9r8WPG2nXbX9vqk4kbOSZDzmtLTvir4njn/tAX8wlJDFg57VxSpdmd0JQt7yP6tNd+IGLLzNHjFwrjG7GVwa/MT9pv4X+I/E+oS+KdIUQpjc+MhelfIXgL9vTxB4T0b+yNTU3gAADPljVrxP+3hqGvWY0xYCtvMf3nHb25rmq/WIvlilYt0sLOPvM8I8W3l14age2uPluTkMR3xXnvhzWRd6dqMbjJOCx7mvUPGet6D8SLF7nTv3c8S7gGwC2eteC+GpPLGo2w+9jBH0zU4VJQb69TyquF9nUstj+mH/gn5LFN+yL4Dkg+4TrOPw1e9B/Wvw//wCCiNxdx/tnfEFUDFB/YuMf9gexr9sP+CdK7f2OPAC/7Wuf+nm+r8zf23PD9he/tS+NbuaJHkk/srJI540y0H8hWsqyo+8ztpVfZJOx+X4url+FikJ+lXxaX8y7vIkH4V9OWnhO0eVESCPLMAOPWvo+9/Z0t9D8LWfjDxHcw21vMpZYlbazfga6KGYOrLlijrw9dVpci0PzFay1KQkCBz+FQvpGpDn7PJ/3zX3Xd+G/CbTg2JWOfOFSTAVvwretfClh5Qe5tI+nJ28V6VXFVKMOZx0Mq/PS3V0fnZJpmoAcwP8AlVGSwvR/yxf8q/Rybwz4dOc20X/fIrm7vw54d5xaxf8AfIrz/wC24PWxzwx+mx+fUlncjlo2/Kv6l/8AgnApX9jD4eKRgj+2+D/2GL6vxAv/AA54fXP+ip/3yK/e/wDYet7e1/Zd8FwWiBIl/tXao4Azqd2T+tZTx0Ky5Yo2eI9orWPhb9py9SP9o/xbFgkqdMzj/sH2xrP0bxNB5KKqsSo5qj+1Rcvp37TXjG/mQ/ZUOll27ADTrWua1L4j+Fp/CLX+iC3jCAB2OA+c4r5WjhpRxVWS6tn1EqinhKUb6pI5vxtqjzag0iQyNuPGBWLZ390uM2s3/fNYkviVpvJummjZWPGTW1qXip9MtkuFeFw+AMHNdvs5adzgbte53/hbxeumXqPcK0RTJ2vwTXtmjfEyDWQ7W6OFTg5Fflx8UtX16z8S2msx6n5do5zsRyFPSvo34f6691pJuYbtUXaCTuxmtFTcI8yMalRS93sfaz+KEUho0wzdTiuW8TeKZDAiFCxPTFfLl38SWgiuil2Ge2xgBs5zUcXjea/0eDWZ7kJ97Ks3TBppykuWxdnGKZ+237OVw938GfD1xIpRn+25U8EYvJx/SvxM/bs8Pve/tS+Nr5hgY0oo300u0B/lX7JfskauNd/Z78KaqG3ed/aIz67NQuU/9lr5H/ah8LeC9b+JniG61Aqt9Ctp53TLZtIQv/juK9SjTbhyvojwsZVVOV33/wAz8XLae6kt302K4Co52tlufwrzLxksmiXrWG8uWHVj619LeN/hXHBqc13os7BN25QDxxzzXhPjnwjrmtSLfCPzLgEIsUYyW7dK5W6Ld2zWkpydkdl+yz4Hi8UeM5ri/TNnECWd/uDIPevoLxJpOgeC/GkN3aSQ3NtG5JTIYcegr1P9nzwxp/w9+GssXiS1Fnf30Rw0q7WB5x1+tfJPj2y8RaRqUt/LDJJE7uY8gngntV4XNoczgo7bM9DG5A1QWIk3r0sfRXiDxz4L+JzWumwSLZXCAr8xCqCBXYfDD4N640l5dTyCe0AG1ySQQR2NfBXhS7hj1VheRtG7MCr4xg/Wv1s+AvxJ8HaL4DYeIdRiEm0fu5HG44Poa9uliqdd3loz5PF4ephqdqbumfEnxb+Gviqz1AWmlWMrQyscSIp2jHuK/b79hvTb/SP2WvBOnampS5h/tXercEbtTu2H6EV8wXHxd+FV/ps800luPIB2qxXJz6V9u/s163YeI/gt4e1nS1C2tw1/5YHpHfXCH9VNc2IpQgvcZ14HEVakbVFsfz2f8FE1lP7Zfj5lHA/sX/00WNfI6TvFDvY4Ar9KP26fg9qniT9qHxn4jtZlEd3/AGVhM8jytMtI/wD2WvjPWfg9r1tYuBGWwDyAa+RqYqi6koX1u/zPYpnDW159v00NECxH6V57qTXDTGJnCjPrXsXg3w/Jo2mT2l989xOcInUjmuH1XwffQ63cQ6gGiHBUHjqM10LCRS5rmc9W0jPutF06fTImLuWb+7UZ0uOw05mLb+mAe2a2/DmlvHFeJI3mxoPkBOSK45rq6eKW1lJBDHg9eDSrQXKkjKMWE1qIowePm6VWjhklicYO1e9X3kVYFknIAX1p0V1F9jmUfxYwa5uSR0U4H9PX/BOVdv7Gnw9XOcf23z/3GL6vtyviD/gnEMfsZfD3v/yG/wD0831fb9fQUP4cfRGL3CiiitRH/9D9/K/Hv/grN+0N8aPgFp3w0ufg/wCKbrw0+sz6yl+baOCQTrbraGLd50cmNhdsYx1Oa/YSvwX/AOC4bmPSvg/IuCVu9eYbgGGQlj1BBBHsRg0Afqz4K+PXw18P/Dj4fH4reP8Aw/o3iPX/AA5pF20Wt6rZ2F3eT3FrCzusUskRYvI/8C4ycAdBX0Tb3Fvd28d1aSpNBMgkjkjYOjowyGVhkEEcgjg1/Nl4l/4JhWMH7G15+0b4n8bavd+P4fC6eK5baXy5tOFlFbLcCzYsDO0qWwCCXztgYACMqBXr3/BM/wDaB1z4efsUfGjXb64m1ZPhm9xquk2FwzGOFbm0MiQoxPyxPcxszIvQs7AZbkA/bHxz8XvhP8MTAPiR4z8P+FTc/wCoXWtTtrBpf9wTyIW6Hpmtfwd4+8C/ETS/7c8AeItJ8S6du2fa9IvYb6AMOq+ZA7rkemc1/MV+xP8Asfal/wAFAfF3jn4u/HPxdq4srW8jS8vLR4TqWo6lcqXIEk0cscMUEQQbRCV2siRhVXjJ8b+FvGv/AAS6/bO0JvCGv3WreHbtLTUAGPlPqWhXUzw3FpeRIRG8sZjcI2Nu9UlVVPyqAf1OX/ifw3pV4mnapq1jZ3UoUpBcXMcUrByVUhGYMdxBAwOTxWdaePvAt/4suvAVj4j0m58TWVv9rudFhvoJNSgttyr5slqrmZI9zKN7KFyQM5NfzW/8Ffbi/X9sfwrdaM1wl6PCOiyWrWkhhuRML++MZidclJA2NrDkNg19y/s+fsNfFP8AY+0L4jftIX3jOPxJ4+1HwDrZ/seCwln8nVpVS+D/AG2W4kku2WaDad0AaQtkk9wD9SfGvxw+C/w21GPSPiJ4+8MeF7+ZPMjtdZ1izsJ2T+8I55UYr74xXceH/Efh7xZpNvr3hbVLLWdMulDwXun3Ed1bSqe6SxMyMPcE1/G5+zu37K3j3xT4m1D9s3xT4xsb7VT59lq+lBbqNriYubia9cw3V0824o0e2JkOG3k8Cv1g/wCCZvwN8QfDT4v+JPGXwu+Lng/xx8K7q2u4L7TtM1O6/tVYy5bTbq802aziW3uNqFWLOAA0iozAcgH7XeMviB4D+HOljXPiD4j0nwxpzOIxd6xfQWFuXPRRJO6KWPYZzTPBnxE+H/xH09tX+HvibR/E9ijFGudGv4L+FWHBUvbu6g5HQnNfybv438H/ALaf7V2t+Jv2oPiVL4K8FB72eykZmm+z2MUqpa6dY/JLDCxRg7SFCrFXchnbNZviPxJ4G/Yx/ad0Dx3+yf8AEtvG/h63jgupZF3RytaySlLrTL5hFHDOsqR7gyoMbkbYrorEA/sLoqtZ3UV9aQXsOfLuI0lTPB2uAw/Q1ZoAKKKKACiiigAooooAKKKKACiiigAooooAK/KL9qXwtr+r/GLWbix3eQ32TGM9rOAH9Qa/V2vyO/ah+NjeEvjl4h8PrAX+x/YcnGQfNsreT/2avIzrE+woKVr62/Bnq5RRdWs0n0/VHybrHwl8UTalHfCKVjGTjg1z/ivwJ4ui0e7lktJH3KF+6e/Fe42/7S+lED7VZyZH91R/jV2f9onwffQGGe0lIOMgqMV8vLO1dc0D6H+zavRn5R+I/AHijwJd2l9cLJbtcuxB5HetDxVaOqWV3NfGW94b72QMYr6g/ac8b6B4w0C2k0GFo54M8MAOvpivg9dM8T6m0d35crgnC5BwO1exg8Yq1N1W0jz8XhHT5YS1PqXwl8YW0O6t3nIYohQn8MVbj+Ltnca19gmkIEzcNn1r5kj8O6tL4gtNClcI8x+ZzkADrX0X4g+FXh/T9Chn0+8jl1KAo7fMDnkE+/SuSpWo03FVZ3vsdc6XtF+5hZrc9JuZLkutwDKUIyMe9fuz+xnKZv2bPB8hyCf7T+9141G6FfkF4C8VfD7XtBt7a/kgt7yJAkiykA5HFftD+zEunp8DvDa6U6Paj7f5bJyp/wBOuM4/4FmuzJ8dCriZUkmml+qPKzLCzp0VOW1/8z8CP+Chd0v/AA2B4+ty+3b/AGNx9dIsjXzHpc+nfYzEWy5FfQ//AAUXtgf2xvH8zEqP+JMc9uNIsa+PdF8Q2NoJHhCzNEP4ucmpx7UZSklfVnl4ek6krI9u8GfCTxR4qZr3R4C6Kc9Dk/lV3xX4V8QeFY2/ta2khWIfMxUgcVrfBj4tah4Zjlv7m8WKHBzFuxj04rx34z/HHXvGurXNlFLm0Y44J5r5ShiMZWxzhyrkXU+oqZVgo4SM+Z+069jw7xV4kk8RawlvFnyImI+td14Iu9W0DUo9c0olHhZSCPTvXmel6ZLd30VvbIWlkbgAetfWU/g+bwn4c037XFtlulYnI9K9nHV6alCguphyOlRlUgtjY+JeqWniCGw8Sp8lxdr++T3QY6V5rY6lHnZ0NY+qvf3MywBjsXO0dhmiz0HUJHDbiK0v0Z4LXM7n9Ov7BL+Z+yd4Ff1/tf8A9Ot5XzJ+1p8TtKtviH4j+H9po0bao4s1a+aMbm32kMg+brwrBfwr6W/YCge2/ZJ8CQOcsv8AbGT9dVvTXwR+2Mmrn9o7XJ7OILFA2nkyEfe/0C27+3Svo5zisLDm7L8jTBUlOq4v+tTzvwpLD4J0u7l120ivHmGdjLu25+tePaD4O/4Sn4of29LAYNLMgYoowuB2x0r1O0uZvGHia20Z08qOfAkJ4J2jtX3f4L8AeE9G0mbFtHIbdVLFwCSTXlY+vz0fq8YLXZnfQwlCFZ1+ZvunseNeII/ADaZJZ2lpHb3BhIAVQCCF618peDfjvongEv4O1S4neN5iEkLAiP5s9e1fcvizStBu7WfUrK0RXQFdwUdDxX5m/EX4fafpviQ69NGk2nTyZmUDJTB7elfE4LD4elXq4OtJvnXY+yq4evWwMMdRS5abtbqj9QYvFOiyeCovGEbpLH5ZIkU5znjrXl/w8+JVp4ql1HQL6ZAisPKYnpzmvBjrNrJ8MI/D3hu7c2syhYyW6HPPT3r5b1Pw18Qfh/fy30Oo/JJJGVKueckV6GK4cp1ME8NRjZrVdzgy7NLYtVqz938j9PPHnhzTfFPhqXRkijXVIhgyIPnKn369K+5/2UvDsfhT4B+F9Ail89bU6j8+c5Ml/cyHn2LYr4F+GeqlfDH9seI28y9MA+ZOScr3zX6Ffsz3dvf/AAU8P3doGEUj6jtD9eL+4B/UV38IZRXwNTkqv7L++6OHiXG4fEU7007835p3/E/MD9raGH/ho7xVOUHmL/Z2G7/8g+2715d4ZvBBqlrIDjbIvP4ivUv2tnH/AA0Z4sU/9Q3/ANN9tXkWiwxG5gk3Yw6k/mK/fcAl9VXnH9D+MuJHUebVX2qS/wDSmftX4JS31HwvZzXJDRyxAEN0Ixg15P4x/Zl8OazPLqXhzbaTTncyjCrn8KvfDzxXa3Xhq2iaRY4rSLJOcA4FXdD+Ovh7ULW7NvOp+ynBORjgkV+Uwz6hhKnO52s3uf01PKYZjg40qsbppfkcb4R/ZvvfD2orfXV6u1QQQrdiMVS8Vfs3aZcRXWo6VdF7lVLhGbIJ60/Vf2gLTUL6HSbO4VHlfG4twADXfat8Q9I0iARW8xkndAWbOR0rswvHFWtW56M9NmeHW8OsphhvZVaWi1Xqfix8W/FfxA8EeLo7fUUMMMEpTyowQGBOASK+pfB9/LqnhexvLoHfMuSDTvi5oWn/ABA1l9RaNDKGypccVkaLp+oaMEt3kDQAYCg5C49K/SMpp1qdZ1ZK8ZWPxzifFYHFYRYeMlGdNtWtukfqz8BF2/CfQlH/AE9/+lU1fmJ+1NdXNp+0Z4odYfNjI0/tnAGn22a/Tf8AZ/fzPhHoL+v2z/0rmr43/a50tNGvPFfjK3svOuPJg/eFc9LaNOvsBXwXEGHnXxE6cN3N/mz9YyzBfWMlwlNO1oQf/kqPxk+IHjaHxL48HhWxCRQxOBIU43Z55r6asdKtLPwvFb2hUMqjJHU1+Y3hS61fW/HU2pqrCS4uHwR7MRX2na6lr/hiVbi/868tgmSseWA47171ajKnl31anHVdT9d4SwlLD042dkt/M+ivBV5eQTRksQA3H519Pax4kistESSV90zJivzy8J+NfFmtB77StJuXtIm+8sZOOa+ldC1DxH41s49NXT5IpFG0vKhGM+9fnNOOKSdNR1P0TF4jBytVlNKxyEl7aX+sSx3MiqC2Q2fxr0zRfG7Wml32jWk26EQsHOeB8pry34xfCbxD4G0ODXLQyS5DNKVycZrzbw/fXll8Kde8Rz7hKEUZPUZJFfU+zqzoUqcd3JI8Cec4P6vVxu8UmkvM94/ZIgiv31+6nJ2NIcP68nvX7L/BZFj+GmkIpyAbvBP/AF9TV+Bn7H+uavfaNqNjbh8GTJZevLE1+9XwKSRPhXoizZLj7XnPX/j6mr285wyoVZQ63/Q/KsRWdSSbd9D+Z3/gp7qM8v7Z3jixJJS2OjbB/v6PYsf1NfGBnmiijZgQMV+gH/BSPwTcaj+2b4r1CJ1H259HAU9f3elWSH+VfJnxZ8NReGLiwtosBp0G4DscCvlK+aQdWFGL11/DQ56L1aPO2vVnt2LHBFZKaw8fyJnYK+8f2cP2etL8T6M3iDxUhaOYfuUx+B4Na3xG/Y2iklkuvCMwTdyI5Dj9AK8SfF2Bp4t4apK1uvQ3547M/PJtTLNgHrWgl23lgZ/Gu9+IXwO8Z/DuybUtZRBbr/EoPNeY2+h+J7ywOoW1jM9qvJlVSV/OvoI5hRr01OnNOL6iTjfQ9K0fxA2lFZhJgAHIzX1D8EPBfh/4lede2z+VMpHnLkDOa+GIrHUrzS7i4hjZxDjeQM7a+nv2NvE0un+PDo8rkRXPBGeuBXj55UqxwdSeHlaSRFeHMrXP6d/2UvDdl4R+AXhbw9p4xb2n9obf+2l/cyH/AMeY1+M37dPiH+z/ANqjxrb4Py/2Tz9dLtD/AFr9uf2e8f8ACoNA29P9M/8ASuevxj/bcsdKuf2oPGRukzIf7Lyf+4ZaY/StKNWUstoVKmrcY39eU2wtKMnyy7Hzj8PNS/4SfxVYaQkgQM4Z2Y4AC819b/tB/Fzwx/Y1l4at5RLDpsYUBiDliBn9a+Q9N06w02f7XpxaCYDh04Iz71bl8N6drIM2oyvO2c5Y5rbA5pTw93a7OuOHpw1i9TyTVfGN3fX/ANrgQiJTlGTquK+sfhJ4wsdf0z7HqoV5AAMnk/rXofwK+BHgzxfoutG5Ub4Yxs3Y64NcfpHwV1LwM17rhDLYxuxDHpjJr67IMVKd5TV4scoqSsz6p8G2nwtFg9tr1qGYg7ZNqnr7mvl7416JoWhXEmp+HpP9GJJxkYA/CuHufiGyefGkpEcZwDmuA1Tx1b6xDLp91KZI3wCCc12Y6jgJUpckUmc31OL6HJS+KbKXIeReOvNf0F/sNXEd1+y14KniO5G/tbBHtql2K/nnudD0FlJjDZP0r+hL9hK2itP2VPBFvBnYv9rYz151S8P9a+Mwck5tIiphI0lzRdz8v/27fE2vzfH/AMa+EtOtlSB/7LDXG07iG061br7ZxXyp8PvAOox6yftd282lrh5ImbKnvyOnWvsn9szS9euf2kvF81jYyzxN/Zm10TIONOtQfyNfL8dn45s2ZbSwmWN/vDYc1yVMYnUlTatqz06NCShGd+h9VeB/CXgvxbZ3UV1bi2QgLDgBSCOCRXzD8evhVrXhaA3/AIe1CSayjySpckj8q+gv2fPD3iLXdXa21eOe2iiIxkFQc1d/bM8XaH8PPCSaDaQpJc3akFiATkVthneovZ6iru0bM/GjX/EOuapdx2N3PIywthVJOOtfXvw4vZtL8NzRX0rFpkHljPTFfGUTz61r0SIuJLiUBQB3Jr9kfg9+zJb3OhWN74tnMfmIGCA4OCPQ16OY1HCKSPNwkuacudnwN4hk1SZUfT3KSAtvGcBueKuaPc69daRLpd/JsBxsKk8V+nfj79lbwR/ZP2rRrl4ZgOrMAtfKXif4GeJfD8qLpqi+gbo8WWH4mvJjjZU3z2uesoqS5ebQ/Zf9gu2ls/2UPA1vM290/tfLdc51W8I/Q1+W/wC3D8ZpfCv7Snjzwyqf6kaTg/7+mWkn/s1frN+xnpl7o37Nng/TdQjMVxD/AGnvQjGN2o3TD9CK/MT9s3w94Tvf2kPF9zqGntcXcw00SOEBzjTrULz9AK9mnjo04KtNbr8zxK+D9vN079T8+tO+Kd9qe9Jnwz9s19HfAHS7bX/E1s98guJ0cFI2G4HJ9KPBfw28K3QcT6U64Iw7RgCvXtFl8OfCrxLbazEqx5B2IcA8DHSvEWZ0quI9nQV118j6jKcpq4VwxFS1r6X6vyPXP2g/CWrsYpreJEtI0UkRjGMAV8A/EHxdeR31vYsi3AHy4xkD619F/ET4s+LvH2ppp/h0tJbk4mK5K4PTpUll8E/t8K3uqLF50gBO7tmuXEcT4GheNRW3sfcZksViMN7CilLoz5rg0rSp7AXc6QpMRnCjBrgNciuby7W2sp2RAf8AlmcCvuuf4LaHaWheacKQD1IxXhmr+DPDWiXbNb30UvmtjAYEivnsHndGtinKnM+GxPC+LjFSmtDxBbhbT/iWyXBeVhzk5ziv6HP2FyT+yx4JyMf8hbg/9hS8r8UNN+F+hS6oLs3KzzcHZkHAPtX7xfssaXbaL8BvC+m2n+qhF/t/4HfXDH9Sa+oyrEurXleV9P1R5ONwToQTatdny18ZP2fNW+Inx28Ra7JqyWVlc/YfLQybT+7soIzx/vKa8R+Mf7LHijwH4RuPEunamtzbwgb1ZyxwxxxX3R8Sfs1z4v1hIbkxXdr9mbaGxnMMZ/lVTVvEdh42+HF5oOpg7xEyuB1yM4rCthqKqSnKPV/mYRTkkonxX8A/2avCPiTwcnjjX2WSS3DO/QgYJ65r4l/aybwrBqzXHheNBHESjOoHOOO1fph8ArTU/C/w28Ux6m0n2MBlgVvct0r8dfj/AGVxp5u5JXZVlmdlRj/tHtXpRSS0OeD9658/2WsNZ3IkjbAc/Mp6GvTtK8JaJ4lzfbxFcHBKA4B/Cvn3DuitnnPFel+GNWubEowfkelTVjeOh0xij0uf4V210ux9wA/Ks24+EoQGKDdyOvaumsfF97fIscbbXHHPeuutp9YnfKfNkdOa8mt7eL0Z009dkfu1+wNpLaH+yZ4F0tuTB/bH/j2q3jf1r7Cr5b/YtWdP2aPBy3K7ZB/am4f9xK6/pX1JX1GGv7GF+y/I8yorSaCiiitiD//R/fyvwU/4Lj/8gf4Q/wDXzr//AKBY1+9dcF45+FXwv+J6WcfxK8H6B4tTTzI1muuaZbakLcy7fMMQuY5Nhfau7bjOBnoKAPlD4lf8o2tb/wCyOt/6ZRX5Wf8ABMb4bXnxh/ZZ/aS+GGmyRxX3iS0s7GzeYAxrdPa3RgLZzhfNC5PUDkcgV/RHd+GPDd/4ck8H32k2NxoM1mdPk0uW2jexezKeWbdrdlMRhMfyeWV27eMY4rC8D/DD4a/DK2urP4beEtC8J2986y3UWh6bback7oMK0i20cYdlBIBYEgUAfzWf8E+/2zNJ/Yn17xp8Hvjzoeq6fp19qAmmeCDfd6XqlqphljntmZGZJVVRuQllZB8rKxZOQ+NHxA1n/gpj+2j4Z034YaJfWWixxWekWzXEaG4ttJtp3nu9QuxGzpEF85yF8xhwiAl2wf6VPiD+zn8Bfitqq698SPh/4c8R6oiJEL/UNNgmuzHHnajTFPMZFycKWKjJwOa3/h18HfhR8IrSey+F/hDRfC0V2VNz/ZVjDatOU+6ZXjUNIVzxvJx2oA/na/4KxRiL9t7wNEvITw14fUZ9tSvRX9D/AMZvEHjrwp8JfFnif4Y6ZDrXirSdHur3SdOuI3miurqCMukRjikikffjAVXVmOADmn+K/gv8HfHmvW/inxz4E8M+Itas444bfUtW0ezvryGOF2kjSOeeJ5FVHZmUBgAzEjkmvS6AP5VPBHxy/Yd+PsniSb9sP4e2fw88V3Ekktlr3w8s76xtpA4HmCe0FzdobwylnEj27IwzvII+ej/wTn8Ptfft72qfBKbV7vwNYf24Lq7v1WOeTw89vLFCb5YgI8yTNB8uAPM2kAEcf0c+Mv2U/wBmv4g63c+JfGfwy8L6rq163mXV9NpkH2m4fGN0sqqryNgAbmJOAOa9E+H/AMLvhv8ACnSH0H4Z+GNJ8L6fK/mywaTZxWiSyAY3yeUqmR8cbmyccZoA/k/8AaJ8NP2Rf2rPEPgP9r/4dnxL4aiN1p6q0LsYIZJ1a01S0iMkaTwSImCN24I7bfnUxt9LXPxv/ZI+Ivxp0r4Ufsz/ALLuieMLfWJ4LK1vNTNxZTSTOx82byIfOMdrDH87SOVZVVmZVAr+h74i/B74VfF2zgsPih4R0bxTDaMWtxqtlFdNAzdTE0iloye+0jPeqHw2+BXwa+DzXUvwt8FaH4XmvlVLqbTLGK3mnRTlVklVfMZVJJCliATwKAPUbaCO2t4raJBGkSKiov3VVRgAewFTUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFfg1+2f5Y/aV8YFgCT/Zn/ptta/eWvwX/bRkX/hpXxipHT+zOf8AuG2tfL8WtrBxt/MvyZ9Jwuk8VK/8r/NHzA0CJyyg5qB4VzwigVOsm+M5OaZIOBkmvzj2kj7vkRyHiKyiu2CSL8mR06VsW9laW9qkUKKAo7CpZ4GZSGwRVNfNjUA9BXVKo5QUL7GSglK9jjNT06O68S29xaja8Gd5+orr3t4mYE9TVJkMc7XMaZLdTilW4lI+ZTxWlacnZJ7KxFOmld23In0uzjlM0SeW56stf0HfsPgj9l3wWCS3/IV5P/YTu6/n0a4kIwwwK/oL/YeIP7Lvgsj/AKiv/pzu6+i4VnN4uSk/sv8ANHgcSxSwsbfzL8mfjH/wUW8Oazrn7UHiyx0axeSW9bSl84KSMDTbMHkenSuc8Mfsm+HLXwesl9cY1Joi7AEY3YzX3j+1LBn46+I7hYVZ1+wbXI+b/jxt68UtW1Wf5QDivMznNavtp0YyslKXz1Z8E8eoOyex+SvifQNU8Oa/caHMHARyAB3HauNk04C4+YfnX6A/FTwxYD4g6XLfIim5EocnuQvGa4XSvgvpl4NRub+QhFKmIqfWsoZrCFNTbtoe7SzWnKm5S6K/6HiHwdtNOHjuwhvlUo7cFugr9BfiV8P4/FNjAlncRBLVBsIPTcK+WvCvwz0608Wz6fJcFGAzbyqcHgZPNex+Hdf1XRbxdJvZGubR2KmQncRjpk142NryeMhiqcvhX5nqSzOjLAvDxetTVfLoeQ33wK8QG4LxXkeM9dxqMfCLxjb/ACxXETD13GvrK8ubGAhWlXBGeD61jXd2Nv8Ao8yAfWvTXEdR6afcfBSzDlbjLdH7AfsN6Te6H+y34K0vUWDXEP8Aau8jp8+qXbD9CK/P/wDa28QeJLX9oHxnpq2KT2WNN+zPsJYE6fbFsn/eJr9IP2Q3eT9njwm7ncx/tLJ+moXNfAP7VdzMnx88TxjG0f2fj/wAtq+0zHNamFy2jiYpNvl/GLZ7GC/ea90fN3wt0/XD4kt7zUgRKpJXrgCvtK18axaRouuXGoEqlsiYJ7nFfNnhLUYbPVoJpnAHI6+teh/EHxBpMWkR6JFskk1EfvO5G3kZr5mOeSxP76cbcqPaw9LlgYvgX4/+FtTW903WP3GWIXzMAEZNfMP7Qvjbw5cWctt4dYnzDyFI29fau3uvB/h7UG/1KxP/AHowBXkXxB8D6XpwtEti0slwxBB56Gng81oVasXKGpvLEVo03CnKye5nfDHWNQn0NNJhUbVyVZugPWu7vNB1nWhFLqcjsqsCUJ44PHFdF4N8IW2jWKrs2lgDgjkd671oWkxgdKMXxDKniXKmvU2wVelTo+zqQv1PRPhzepePcafdL5cVnGoKuMAgiv1H/Z4k0+X4P6C+lp5dsWvti4xgi8nDfm2a/IG3mntfMaJyjTYDMOCcV+tn7MSBPgd4aUf9P5/O+uDX0HD2cwxdeVNRs7X/ABX+Z5uaWdOM4/cfld+19ceX+0r4uUngf2Z/6brWvJtHEuoXkFnYgtI7KMCvS/2xZF/4aX8YKR0/sz/022tcH4MnawtX1y2UebbYwT71+pPMPquDVTey/G2h/OWPyf65m1Wk9E5ybfld3PrDWPF8HgXwlH4fEu6+kiKvtPzDcK+dPDUV/YC6EVy4ju23MN3vmt+bU/DHjeBtRvrlrbUIx8wdgob6VkmWCBUW3cOvTOa+Yw3DWU41OGPp81Ru7vdWufS5lxLnGF97AVOWjFWjbVu3c6rQ7a2j1q2eb58MOTXufxLXZoyHSJVFyUGOea+ctOupm1OARKWO4YxXveuajYXEsWnupSUKu924xwOldWccPZfRp0qGFgopPZdupXC3EOYVYV6uMqOV7av9PU8L0nxFqN1eS6dqEBR4sfMBgGuna6AUZJqv4hEOnX8rxr98DDetclLqTtxzX2+RVZ/Voucr9vQ/M+KcPSjjJxpK3f16n65fs5uJPg14ecd/tv8A6WT18t/t03F/o3gjWNQtnUxXCxq8bemxV6V9LfsxP5nwO8NP6/b/AP0tuK439pfwPD4+8Iazoki5dog0Z91QGvkMVJLGzf8Aef5s/oHhqfJluEb/AJIX/wDAUfhn+y78LNF1Txest+sbxQrPIM8gllLfzr9CP2Z/hfofjCx8TjWbKO5iXcsLSKG243Divhf9mnQ/Etn8Q9U0SRjHFYGZWPI4IbFfr7+yfokWi+A5riYZkvZJAT9HNejmEeWlJN6ux9lj8fGkv3GzSPG/2b/AWhWfiDxH4QvrWIR20i7F2joxJr6U1r4TeHreIvpim1kLD/VYXvWBoegWvhf403t0Dtj1fBX0+Ra+hGsYpGbzWyOorwcVGMZqVPS6PIrZhUnLXqfGn7SvhQaD8Hry6if7StsgLbzuPJr8rbbXYvEvwI8T2enw4mDxKEAwfv44r9kP2pDp9l8GtcN0+EMa4BPXmvzz/Ys+F+m+PtJ159UjKW3mIfLIwDhjjivdypxjhpVp/ZkjrjjYyw3sZ7XOh/Y1+HD+F/AzapqFrKs10M5ZeOCa/XX4Q4/4V5pWBgZuv/SmWvMvD/hXT/Dmh/2XbQp5USMFGPavWPheoXwPp6gYAe64/wC3iWvNx2Nliarqy3Zy1qsZ25Vsfzy/8FK75dJ/at1G/wAkBW08v6cadaV+e/xA8ZHxl4wgeI7oEeJU9OwNfpf/AMFPvCEuo/GzWdXj6Ys8468WFsv9K/OnQfhLfP4Pi8csT5cc6dP98CviI1sMpyqzfvKUor5yZgoyR+vHwusodK8BaTGcRkRA/Lx1xXpBAnUmM596898B2Tz+DNNG5mCxLg9jwK7KG4lGYY1xjFfi+JalWlLzf5j66nxL+2E0t9b6R4aikJkvJNpQH0Ydq9e8N/DXTNG+F50SS0iz9kLFivzElc1wvj7Qf+E1+NelQNl49MZmkHUAsuRX1I4T7A9tJyphaPHp8uBX0GMxbp4LD4eDtb3n630Jal0PzS+DPgq01XRPGNtPGrNGTtBHTBavnr4YT6t4Y+I0dxpsTNIs7ouAcckivtf4d6Xc6LqnjbS7UEyttKL653Gvm3w/rmnaR4vS11C2a1vUuDncu3q1feZdWjWr14zd00tPkPmklY/qR/ZTF8PgD4UOpNuuSl8zn/evbgj9CK/G39uFpR+1T4129P8AiU/+mu0r9nf2YZVm+BXhaVW3Bo7sg/8Ab3PX42fttwvN+1V4zjhG52OlAKOv/IMtK9n3Vl9F9LR/I3oO0tT5kt5pNuwmtm1vNmIWJ/CrFv4O8QO277FOwGCdqnjNbieE9VBUixn3HodleN9fwt7e0j96O3lnuj3L4A/EGLwt4oW2vXC2dyD5gbocDjNdN8X/AI73WuXtx8O9Ms4Ft7ggRSRL1zyea+c/+Eb1axKz3kUtsp6Ow21V0uwkg8V2z3U4YtkrI554HrX0mT5lF03GjJP0ZEX0PD/iqt14Vvm0eAPJNwZNnON3NeZeGmvdU1pLZsoBy27ivrDx14GstV1Y+IUvRO1yMFA2cFRivnzSdHvdL8cXNtcRMqDGw49q1x+JftGkdcYtxujrbkPa8Zziv6Ff2E3Mn7Kvghz3/tb/ANOl5X8++owKil2yfav6CP2E/wDk1XwRgY/5C3/p0vK48u/iP0/yPOr35T5A/aV+Nvh3wV+0H4j0PUrVZ3t/sIclQT+8sLdx+jCvC4/ipomv3GzS4QXY9FA4zXnH7dUBl/a18bhiFVjpHP8A3CrOvmEX+oeG9Sk/smdWRwMMpyQcVx1qa9rJ+bPYoz/dRS7I/XXwDex2Fi2o3EkMO9cgZw1fnd+2dp2p+L76HWNOlNzBbltyg7uvFeYp8SPGv+qOoTBRxjecc10l/Pq0nhRNRu7lpftAPysc967MFUjB6bnFiaUpHnPwB+CE+u6/ZeKtXmiisbN97Rk4bj2+or9Trf4s+H7vxBb6DFOI0jVY0AIGdoxX5b6NqGv6LE8NjdPHFIeVDECrNhqep2usQ6s07GSNwc59+a3r4unUlqYwwE4o/Ur4peNn07w9IiyAI4G3J5NeZaZ4+i0vwoLu+d3SMEnByeTXL+KL2Pxv4I0zVI5QqKuJMnqeBXGa5ai38FXMJcMEUc5rmrqHLobYeLi7M/aj9ljxHa+LfgP4Z8QWQYQ3R1AKH6/ur+5jP6qa+UP2gPB+naj8Ydf1OeBHkk+xkkjJO2zgX+Qr3X9g7B/ZS8Ebem7WP/Tte1518bmVPidrbMT0teB/16xVzZ3dYGHL3X5M0y5Xxcl6/mfJFtbTy6nOqQC3sbIZdsYB4r5s8cavaeIPEisn7xImKIBzknivffiPf6lqGjX3hzw3MILidSZJCcHC88EV8R/CvVLu1+IC+H9f2ynzSA7cjI9zXk0cXClls1Rj7279Ox9l9VqPGQq1Je6tF2T7+p9q+BPDsPh/wlIxt1W8Yqd23k5Oa9atLhvsKSOAzEfxe1SSapollp629woJVB93GeleE+MfiTHoLedEc6cc5kX+DHqelfnGLw88Yvb0dX1R9dBqlK0vhfU9C1rWYLktaXEZA5G4D5ea+UPih8PtKtLR9ftbudZFy/lq3yj8Kz7b403HjPxlBoWghGt8nex6nH0r1bWLeLWzJo98NkVwoX0I4q8HRq4OcXVXLf8AI2q1aNem1Rd2jwT9nnx7pOqeMZdG1uQ+Y7BY3Y9dvua/ov8AgHbR2nwl0G3iGEUXZH0a6mP9a/nRX4Z6P8OPG9nrv7xoUZnGO5xx+tf0FfsqeIZ/FXwE8La7cRGB7gX4MbDBAivriMce4UGv1TIfZzqe2pPTlt+KPyjiGFWP8Va3/wAz59+M1xcwfF3W2tHYEfZNwHT/AI9Ya5201/8AsiOR5BkXIwyms/4ya88f7QHinTlziD7Bn0+axt2/rXE3+rxTWEsr4zGR+GTXXiY3lL1PCg7WZ9FaA0Evw81OJwgjK7iB9c1+Ev7WutwTeI5NPhZQiuQMV+1ej+dd/C67ktJBmaMh2B4XGcV/P5+0po2sWPjW5uLmQzRLIcMDkc06Tb3EoK3MePQT5jU9hWzY3chfcDgdq5WxV5FUA4FbtorCTaOi10Sehotj1fw9cztPHGQBgjmvoKxvvs7RyqwxgZxXzx4e1WOJ8vED05xXaXGvhGRYiQvpXFWu3oj0MM/d1P6S/wBji5N3+zh4QuD/AB/2l+mo3Q/pX03XyR+wrdfbf2VvBFz/AH/7W/TVLwf0r63r3qH8KPojxa/8SXqwooorUyP/0v38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK/BH9tJwP2mfGKtjB/sv/022tfvdX4h/tg/Cn4p+Jf2h/FWteG/BviDVtOuP7O8m8sdLurm3k2afbI2yWONkba6lTg8EEdRXzPFVOU8JFQV/eX5M+i4aqRhipOTt7r/ADR8SmVRlF4NMMjLgFsivQm+BPxx3bh8PfFnP/UEvf8A4zQPgP8AHLO4/D7xXgdB/Yl7/wDGa+BWCq2vyv7mfcPF0v5l9558ZFKbs81CR8uCcj3r0kfAj44dvh74rx/2BL3/AOM05vgR8cCcf8K+8V/+CW9/+M1P1St/K/uYvrVJ/aX3nljuE4UcGmEpnjqetenH4FfHFmMZ+HfizHr/AGJe/wDxmrNv+z/8a5FLN4A8VKf9rRb0f+0ar6nWf2H9wvrVL+ZfeePOiNwPxNf0C/sQf8mveC/+4r/6c7uvxef9nX41LFuTwJ4oJPb+x7zP/omv25/Y/wDDut+E/wBnXwloHiKwutL1G1/tLzrS9he3uI/M1C6kXfHIFddyMGGRyCCODX0/C2GqU8VKU00uV/mj5ziTEU54aKi7vmX5M/P79qqDVn/aC8UNbOwiP9nYAPT/AEC2z+teEzXmu2ShYixP419o/tEeCPGusfGDX9R0fwxreoWsv2Ly7qz0+eaGTbaQKdsiIyttYFTg8EEV5Bb/AAs+IE/E/g/xEp9W0y5H/tOvk8zwuKeNrSVNtc0unmz8zlhHOcn5nyJ410W78ULHcXgcXNucxuvUevNM8NXaozaVeq2HwHz7dK+yG+D/AI7A/wCRQ1tvrptx/wDG64DUfgB8Q/t8uoWvhHXsv0UaZc8Y9hHXN9Xq1KXsp035aM7MJTdJ2m/d2+TPn/XNN0nTLmPUoci5Q4VfXdxWmPBoubY3jS7PMAbaDgivX9L/AGd/ibqF9Ff6x4V10eWThG025A/Ix16sPgl44ZNv/CL6yOP+gfcdv+2dc1bBYlWcYP7mXVo8tNUYO6i7o+WrTw3aTWCSTySM65GSazZvC0dwxWGSQY9DX1w3wb8epZ/Zh4U1cgdCunXGT/5DqvbfCDx1H/zKGtg++m3H/wAbrmlhsTG9oN/JnJi8Nz1HKPU+/f2RbFtO/Z58J2bsWMf9pcnr82oXJ/rX5/8A7VojPx78T5JyP7Pz/wCANvX6YfALSb/Q/hLoWl6pZz2FzB9s329xE0Mqb7uZhuRwGGQQRkcg5r87/wBp34efFLXfjl4m1Tw34W1bUdOm+weTdW2nXE8Umyxt1bbJHGyttcFTg8EEdRX6XmmHnVyTDQ2dodP7jPcyz3LJ9v8AI+ViGVt8eRt5H1ry469rM3xCS11Iv5T8RbugwOcV9AJ8Jvjgz4PgrXgP+wTd/wDxqoL/AOBvxgv72G/fwTrazQ52sNKuu/8A2yr5XD4CdNSTvqrbM+jpYuEKM6bSu7a9rHPLcFTjOK4DxPJPNrmm7UMqRFyxxkCvam+C3xrZDnwfrmR6aXdf/GqrRfBb4zKpV/BevMzfxHSrvj/yFTw2AnTlfX7mYUq0FUTqbXOastWlu4hLKNhPGOmMcVojUimFDcGtv/hSPxjc5Hg/X0Pp/Zd0B/6Lp0XwK+MZOJfCmvY9tMuv/jdY1Mvk5N6/cya9eMpylBWVzNivo2I3NkV+wH7MLq/wN8NMnQ/b/wD0tuK/Jpvgb8XlTbF4U1/j10y6/wDjdfrP+zJoes+G/gf4b0XxBaXFjf2/27zoLqJ4Zk33tw67kcBhlWBGRyCD0r6XhLCuljJSafwvp5o4MZU5qSXmfj9+2X4gaz/ar8Z2LRKUB0kbmH97TLQ/1rT8N2Vnd+FvMtnhIVMvg8N7V63+1L8BPGfjn4++KfEGmeG9YvbO9/s/y7u1sJ5oX8qwt422yIhU7WUg4PBBHUV4zB+yt8WVtRZ2OneJbWL+79juVH4/u68vOMVjquMcYVJRhGb0s7OzdvkexheHMJOlGr7qlJa7X1WpT8OeGLjXjNdQ2u1UbH3evavSR4OuNOsBdTRAovYCoNN/Z5+O2l2QstNtNXQYwWe1uAf/AECug0L4K/H/AEi0uLW8sdSvfN+75trcOB/45SqZvm6XOpSeu1nsH+qeB0iow9dCz4b0aQKdUSAEJ9zjueKqatp3jGSSW5a3WQLzuVSeO1Wz8Of2jLWyNja6DdhRnBFjc/8AxFR6L4M/ag0uC6S70G8uPOGEU2N0wH/jlVDHZrKo5zcvLcHw/howUIwhbrseX6rf67KcSxhyOBwTiuJu7jVUYhonGPQV6dpHwJ/aGm8TtrWs6LqC2ztnyEsrkKPwKV6nL8HfiFIf3nhjVDxziwn/APiK9aOb5lQj7OnKVvmefW4Sy/EydSrShzP01PvH9kySSX9n7wrJKCGP9o5B68X9zXVePkuBPcbE3rIoXH1QCm/ADRNQ8O/CTQtG1S1msrq3+2b4J42ikTfdzOMowDDKsCMjkHNa3ivxBJaX72S6FqV+E2/vra1kljbKg8MqkHGcH3Ffb4Wc6lCFSb95pN+tjwa+FjSboU9FF2Vuy0PzS1/4YXXgK71nxPokWLrVHQKoHqcHp9a+v/g3p2qaB4FsbDU9qzDc5A/2jmuh1a4XVdouPCmssFOR/oEv/wATTv7W1FECx+GtbwowB9hm/wDiK9KtXlUpqEnfqOS5rcx5n8R7q+PxD8NzWJOFaTzGH0r6G+1ygKOvyjn8K87e6mnlS4n8Kay8sf3WNhKSP/HK0Br+rbSD4a1vpgf6DN/8RWVSfPGMWtkLkR8zftR3d/40hsvAGnh2W53efs7beRmuu/ZZ+Hy+DvD99BHGE87YOmD8pr0SKyVdSfV5/CmtTXD93sJTjtx8ldfo2tT6UuyDwtrUak5IFjKP/Za7/rkY4f2EdinFdD0f+x82Urt2Rv5Vb+G67fBtivo9z/6USVylx481FrWSGPwzrWWUqP8AQZe4/wB2uu+HcV1D4PsUvbeW1m3XBaGdDHIu6eQjKsARkEEe1eYB+O37fultd+PfFt267hEtgEHfmygBr4/8J6G0nwCuLKYbWyXA7/K+a/Qn9rvw18Rda+KPiWLRPA3iHXdOuBZeVc6fpV1dwSbbOANtkijZW2sCpweCCOor5S0LwB8an0KfRpfhj4tgj+6qvoN8qkMeesNfluKw+Kc63LB6VW/ldnWoxdk5dDW+A3jeLxL4Et7COYC4s96Pk8jBwM17A80loBIXBbByR0NfPXhb4AfGvwRfXF7o/gjxKI7ogmJdIvNo/ARV1OqeCv2jkOLbwH4mkQg8DRr04/KKvBxuSValeUqENHrqmL61Dl1Rr6Db2F54g1TWImQXvy5A6+ld7p8KmJp5pvmOfvHivD/BHwx/aC03U7rUZ/APidWnI3CbRb0A/TMIr0fXvg/+0BrFqsVn4Z1m1VuuNOulYfX93TzHJ686qcdFp0fRGlOdNrmSMXR9P8O6T4r1K9cqs9zt3FsbTgdq+NfjV4RtNc+J1lqfha33LJKDKyD5flx6V9taH+yz8ZZb6O81jS9YKj7wNncZOfqleyWX7NfiPT4w0XhzUGkHIY2UxIP/AHxXQ8YsHWVaEZSny2dk7fkV7K66JH3/APsqwNa/ALwnA4wyRXgIP/X5PX4xftq67FpH7YfjOdyD5LaQSp/7Bdma/cT4D6NqXh/4U6HpGr28trd2/wBrEkMyNHIu66mZcqwBGVIIyOhr8Sv24vgv8X/Ff7UvjTxB4U8B+KNZ027/ALK8i/07R7y6tZfL0y0jfZNFEyNtdWVsE4YEHkEV+iRp+1yqjCSesY/+kmEEvasreH/2nfDXh9Ji2l/aXuVQN5sYZV2jtWwP2o/DVwRKukIqqc48sCvkqL9nT9odyfO+G3jLaOg/sG/z/wCiKV/gB+0TbgrH8MvGjr7aBqB/9oV8HV8PMqqVXVnTfM+t2egsVKKsmfQfxN+PWleN9Ei0yws0tGiz86rtJ/GvM9Bsm8V2y3izSCa0OPkPZuK4Wy+BX7RkjtFP8LfGq46MfD2oAfn5Fe7eBPh18cvCGm/Yn+F3jCVpj+9f+wL8kYORj9zX1WQ5LhsrpqhhotR36mcat5XbPNvFt1baBfW+iWU7GRXXPmHkbiOtbXjq0s9KmtNQuFUSyRg7x0PFcx8Q/gv+0F4k8YT67pvwv8bpExQqD4f1Dqo9oKzdZ+FP7UmtwQ2978MfGzi3GEz4e1E/+0K9bEc05uVi41knJI5e81e2OVLFs/jiv6Gf2EJBL+yn4HkHQ/2v/wCnW8r+ek/s+/tI7R/xa/xqSf8AqXtQ/wDjFf0PfsNeHvEfhX9lrwToPi3S73RdWtf7V+0WOo28lrdReZqd3Im+KVVddyMrLkDKkEcEV0ZfFqo7roceIfun4+/t5zGL9qzxzxn/AJBOP/BVZ18bLcTOxbotfoh+2r8Gvi54s/aX8Ya94Y8E+I9Y0y6/szyLyw0m7ubaXy9NtY32SxRMjbXVlOCcMCDyK+WB+zx8em+X/hW3i4D/ALAV9/8AGa5a8Je0lp1Z6VGUfZx16I8chvsOF27j7ck1u6h4yupLGPQpoGiFv03DHXmvRf8AhnT48xyB4/ht4uypyP8AiRX3/wAZpbr9nn4+X1x9oufhv4uLEdf7Cvu3/bGqpRte6Cc0mmmeLy65tXPP4VXGuFl5/SvZpP2avjo/T4beLh/3Ar7/AOMVTH7NHx4jcOPht4vbBzj+wb7/AOMVXs1u0P22u5yK/FHXYtCHhW3jmj28oSMA854rVg+KGqTeHJNG1RGWdhg59K7Kf9n/AOP17LFPJ8M/FkbRD5dug34/P9xVW6/Zx+PdxOZpfhv4uLH00K+/+MU2tLWM95Xufuz+wKwf9kvwKw7nWD/5Vr2vAfjp460KX46+KfCEVwg1KxFj5kRPP72xt5F4/wB1hX0x+xP4a17wh+zH4M8O+JtNvNI1K0/tTz7K/gktrmLzNSu5E3xSqrruRlYZHKkEcGvjr4ofAfxfqX7WnxB+JlpoOr3VnfjSPss8NlNJbzeTplpA+x1Qq21oyDgnBBB5q8zhzYRabW/IywM+XFyfr+Z8oavrF2vjCe1D7Scjr7V873nhPU/+FgDWdMb91A+5sdea+sPiR8FvjCPEialpHgvxFcK5OTb6VdyY7fwxGnfDT4T/ABPsNcvrfXvAHivY+0xzSaNeCM8ZPzNEBXyU8LWhUl7NO0ltY++pZnh/q69rq1tqcT418cT6B4YOp3pKvNHtBPQYGK+GB8Vb3TNUuLXVpft+lXZPmRsd4UH+6Olfpb8WvgN8SPGGgTadaeC/EHyEbVXS7o5GewERzXz1r37E/jm88Ipf2/gjxONQUgGBdJuvMPOD8vlbuntXDw/SpYVyrOEld2tZm+c4h14RpRktr7ng3w/0O3sfEtn448LT77EyZaHOXG44xgV+j8+j6ffWY1h4mjYRqRxgEkV5T4A/Zd8XeGNPsvN8FeLQ8fMkQ0m6Ck9RkeVX0DPoHxGmgGl/8IB4rEQAUMNHu8YHv5WK9rMsMsRK/I3byPmMPjPZP3Z2Z8u/HG8t4fBlrJCM3zN8u3qMMP6V+yH7E093dfsw+Cp75Sk7LqW5TxjGo3QH6Yr85tS+EHxEmdGbwJrt5Gx+7PpN0xX8PK4r9WP2d9Gv/D/wc8PaRqdjNptzbi832s8TQSR77udxlHAZchgRkcg5r0eHsMqEnCMWr3f5HFn2IlXgqk5Xd1+TPhH4/wCo6fovx58W3d0yqZRp/Xg8WFuK+eZvFdu9ne3Jk/cSEAc+lel/tXfDb4p6/wDHjxVq2geFdf1XTLj+z/s9xY6bc3ED7LC2R9jxxsrYdWBweCCOor5g8S/B7492ekWtppvgPxTcC43easejXrlMHjIWE4/Gu2pzc8tOrPHhFOKTYzWP2gvEnhW0ufCGlyl7O9wA2SSMc8V8w/EKxl8UafcT3LmSUjdljknvXrcvwC+PTyLLP8OvFkpTkf8AEjvj/wC0a7aD9nP40alo73V14G8SQEKR5B0i8WU/8BMWa55KbaaR1xpQUdWfmPbwtAWU9UJFdHpsJZC+OTXtet/syftC22q3EVl8K/G00Jb5XTw9qDKfxEBFa2nfs3/tCRwgN8LPGit7+HtQH/tCuyV3FKxywaUjyiDNnDvAyaqz6i1ww/hIr3GX9nb9oXyWx8LvGZI7f8I/qH/xiuOuf2dP2kt+6P4UeOOvbw5qP/yPWfJJ9Do50up/RR/wT2cyfsgeAWJyT/bP/p3va+z6+Qf2DPDniXwl+yf4G8P+L9JvtD1e1/tf7RYalbSWl1D5mq3kieZDKquu5GVlyBlWBHBFfX1exSVoJeR5VR3k2FFFFaEH/9P9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACudvvGHhLS7t7DU9b060uYsb4Z7uKKRdwDDKswIyCCMjoc10Vfn/8AGuFJfijrRGCR9kyO4/0WKvXyXLoY2u6M3bS+nqjzc0xs8LSVSnG7vb8z7T/4T7wKeniPSf8AwOg/+Lp3/CeeBv8AoYtJ/wDA6D/4uvzgW1RfvYU+9WVswxIxn6V9KuE8N/z9d16HgLiTEXtKml95+i3/AAnngc9PEWk/+B0H/wAXR/wnngb/AKGLSf8AwOg/+Lr87PsQUZIAqGVbC2Aa7njhU93OKzlwzgo/FWf4Gv8Ab+J/59r8T9F/+E+8Cj/mY9J/8DoP/i6Q/EDwGOD4k0gf9v0H/wAXX516VBa6pcE6TPb3Ij+8oO7rVbUtMvbVmWSAZfoccCsqWQZfUnyQrP7kayznFxjzOmvxP0b/AOFheAf+hl0f/wAD4P8A4uuk0/UdP1a0j1DS7qG8tZc+XPbyLLG+0lTtdSVOGBBweCMV+VT6WQuCpz3r9BvgXEYfhXokRGCv2vj63U1c2d5BRwWHVanNybdunZv9DpyvNqmKrOnOKVlf8Uauu/GH4R+FtWn0DxN438OaRqdrs8+yv9WtLa5i8xFkTfFLKrruRlYZAypBHBFZY+PvwJPT4j+Ej/3HLH/49Xz78T/hF4I8UfE/Xdb1rSobq7u/sm6V4wxPl20UYyfZVArEj/Z2+HAKsNEtcf8AXIV+NY3jT6vXnRdJvlbX3H6BQyOFSnGo57pP7z6gHx5+Bp6fETwmf+43Y/8Ax6nN8dvggiGV/iF4VVB1Y63ZAD8fOr5Xu/2dfAbPug0a1UD/AKZCvG/jL8FfDGneANQmsdMghljAwyoAetcOD48r4jGQw0cM7SaVzpr8PUKeHlWVa7SvY/QE/tC/AIDJ+Jfg/H/YesP/AI/Vd/2kf2d4/wDWfFLwWv8AveIdPH/tev524/A0LAq0YPJ7e9c9q3wwinUskWD9K/YY5ZFycObU+HliZxV2tD+kFf2lv2cnO1Pir4JY+g8Racf/AGvTpv2k/wBnS3GZ/in4Kj/3/EOnr/Oev57vgp+zx/wmPiuOymgzEGG4kV7x+0j+zB4a8GeC7jU4oVWeOMFcADmuWtgnTnyXLhieaHPbQ/ebw14o8M+M9EtvEvg/V7HXdIvN/wBn1DTbmO8tJvKdo38uaFmjfZIjI2CcMpB5Bqxc67olnO1td6hawTJjdHJOiOuRkZUnIyDn6V8a/wDBOGLyf2Mvh9F/dbXR/wCVq/rqviZOY/HWpDt+4/8AREdLBYRVqjhJ2siq9f2cFNH04PEfh49NUsz/ANvEf/xVPGvaGemo2h/7bp/8VXx9bXBYDBrorSQlcd69CWUwT+JnLHHSb+E+ohrWjHpf2p/7bJ/jQda0Ydb+1H/bZP8AGvm+J2BAzSzSFRk1P9lQ/mKeMkuh9G/27on/AEELX/v8n+NMPiHQF+9qVmPrPH/8VXzIZuetZV3MAM0f2VH+YTxsux9W/wDCS+HB/wAxWy/8CI//AIqtS2uba8hW5tJUnifO2SNg6nBwcEZBwRiviE3OWr6t+G53eC9OP/Xf/wBHSVz4zARo01NO+prh8TKpLlasdLca3otnM1vd39rBKmN0ckyIwyMjIJBGQc1B/wAJH4e/6Cll/wCBEf8A8VXzf8R7+2h8a6jFJIFK+RkE+sMdcP8A2rbfwSLj61lDCxcU7nNVzGUJNW2Psn/hI/D3/QUsv/AiP/4qj/hI/D3/AEFLL/wIj/8Aiq+NBqMLHhx+dAv4z/GKUsKl1Mf7X/un2X/wkfh7/oKWX/gRH/8AFUn/AAknh0f8xSy/8CI//iq+N/t0f/PRaabxG/jFT9Xj1ZUc1u7KJ9k/8JL4c/6Ctl/4ER//ABVL/wAJL4d/6Ctl/wCBEf8A8VXxol3FIdqOCfY1L9pj6FwPxpexh3NFmEux9s29zbXkK3FpKk8T52yRsHU4ODgjIOCMVNkCuJ+HDBvBmnMOQfP/APR0ldsQD1rmkrOx6cJc0VLuGR60bh6ijavpTSFAzSKOb1bxv4M0G7jsNc1/S9OuZf8AVw3d5DBI+P7qu6k/gK0odd0S4tWvrfULWW2QZaZJkaMD1LA4H51+b37T8fm/Gjw9ETlXMvHp8tejaPqOp3WkHwPpblp7xRvKn7iryfpkVdSPLbzMMPUlUk01pc+wdL+IPgLW7qSy0XxLo9/cQnEkNrfwTSIf9pUckfiKdrXj/wACeG3WPxF4k0jS2f7q3t9BblvoJHXNfnV8G/DMFj8dPEujWztFHB5LMwODnbk/rXlf7WWvHWvFcCWI8yz02QK8h5DbiB1+tKKudOJiqcklsfqzD8VPhhcSGG38X6DK6jJVNTtmYD3AkzXXaZqmma1ZR6no15Bf2c27y7i2lWaJ9jFW2uhKnDAg4PBBFfi54btLdr6a6ijA8yNOg/2a/Un9niEQfB/QIgMYN9x9byc1L0lY8jBZi69WVNq1kexvcW8bbHkRW9CwBpRPAekiH/gQrjNYu1i1OSM9tv8A6CKW3vUPWuWpWnG9kbvGpTcWdn5sX99fzFHmxf31/MVzxvIwuaab2PHasfrVX+U0+tROj86H++v5ik8+H/nov/fQrm/tUZGeKhN3EvpQsVUf2SJY2KOpNxbjrKn/AH0Kabu1HWaP/vsf41xkt9Hg8isme/QZ5Faxr1H0Mp4+yukeno6SKHjYMp6FTkfnXJ6l4/8AAejahLpOseJNIsb6Hb5ltc30EMyb1DLuR3DDKkEZHIIPStbQJRNpMEi9Dv8A0dq/LP8AaSMKfHTxGz/eP2H/ANIreu2nFyNquJcaUaiW9j9Ll+Jfw4f7nivRG+mo25/9qUyT4ofDSHmbxboSf72pWw/nJX46wXgjfqKxtev1cEH8K39gu5y/2jLsftLH8TPhxMu6LxXojj1XUbcj9JKk/wCFj/Dz/oaNF/8ABhb/APxdfjPot95VqFYgGtX+00zhmxR7Bdyv7Ql2P2E/4WL8Pj/zM+jf+DC3/wDjlNPxI+Hg4PijRR/3ELf/AOOV+P6atEWEXmjd2GetSJeq5wxyaXsoNtJ6oqWNmkpOOjP2AX4h+AG+74m0c/S/g/8Ai66Ww1Cw1S0S/wBMuYbu2lzsmgkWWNtpKnDKSDggg4PUYr8a4tQMW3Zkk1+n3wCk834S6FJ6/a//AEqmrOcElodGHrVJ6yjZPY2te+Mfwi8K6tPoHijxx4b0fU7XZ59lf6taWtzF5iCRN8Usquu5GVhkDKkEcEVlf8NAfAc8j4keEf8Awe2P/wAer8Qf244ID+1R43llUE/8Snr/ANguzr5ajaFiAI0IqlSbVzya+dSp1JQUdmz+mT/hf3wI/wCikeEf/B7Y/wDx6l/4X78Cf+ij+Ev/AAeWP/x6v5pgsAPEa/lUwEJ/5Zr+VX7DzMP7fn/IvvP6VB8fPgUenxG8Jf8Ag8sf/j1H/C+/gX/0Ubwn/wCDyx/+PV/NiiwKc7F/KhvKJ/1aflUqjdXGs/m/sfif0n/8L7+Bn/RRfCf/AIPLH/49R/wvr4GH/movhP8A8Hlj/wDHq/myPkjjy1/KrKCEKMRrz7U1QT6j/t2X8q+8/qG0PXtC8T6XBrnhrUbTVtNud/k3ljOlzby+WxRtksZZG2upU4PDAg8isPVfiL8PtC1CXSdc8T6Np19Bt822u9Qt4Jk3qGXdG7hhlWBGRyCD0rwv9isKP2ZvBoUYH/E04H/YSu6+Kv2orTzPjt4kkx1+wc/Sxt668swMcVWdKTtZX/FHp4nHSpYeNZLe34q5+n6/FP4YP9zxfoLfTU7Y/wDtSpV+Jnw3f7vivQ2+mo2x/wDalfjHp9vtUV0kEYUZXvXry4epp252eb/blT+VH68N8TPhuv3vFehj66jbD/2pVZ/iz8K4+JPGXh9f97VLUf8AtSvyQuoW8vcw6155qtud5bGa2o8NUpq/OyJ5/OLtyI/atvjF8IkGX8b+HFHvq1oP/atQH42fBpfvePfDA+usWY/9q1+JV4+ky6K9s8WLkfdYCvI9ThWHcMZzXRQ4UpVG1zvTyRnLiGol8CP6Bn+PnwKj/wBZ8RvCS/72uWI/nNXoOg+IdA8VaTBr3hfU7PWNMut/kXthPHdW0vlu0b7JYmZG2urKcE4YEHkV/LHqtk0u9lXIHWv37/YTTy/2VfBCdMf2t/6dLyuDO8gp4Ggq0Jttu34N/odeV5zUxdd0pRsrX/FL9T6rm1TTbaQw3F3BFIuMq8iqwzzyCc9KgOu6Iv3tQtR9Z0/xryTxgCfEV3/2z/8ARa1xlwMiuOjlMJwjJyeqLr5tUhNxUdmfRZ8ReHx11OzH/bxH/wDFUz/hJfDn/QVsv/AiP/4qvl2ZPWs948HOOtdKyOl/OzmnntWP2EfWX/CS+HP+grZf+BEf/wAVSf8ACT+G/wDoLWP/AIEx/wDxVfJJUelM8nJ4qv7BpfzshZ9Wf2EfXQ8S+HD01Wy/8CI//iqf/wAJDoB6anZ/+BEf/wAVXyVHEAeRWmicAVH9h0v52Ws8rfyI+tILi3uolntZUmibO142DKcHBwRkcEYqauS8C/8AIq2P/bb/ANGvXW18/WgoVJQXRtH0NGbnTjN9UmFFFFZGp//U/fyiiq17e2enWk1/qE8VrbW6GSaaZxHHGijJZmYgKAOpJwKALNFePeGv2hvgF4z1pPDnhD4leENc1aXPl2Ona7Y3dy+04O2KKZnbB9BXhH/BQ34l+OfhD+yd4u8ffDfV5dD8QadcaQttfQLG7xrcahbwyALIrod0bspyD1oA+2KK/Nv9hD9pd9d/ZL0f4o/tI+P9Otr691jU7Q6t4hvLTTI5Fhm2RxqzmCIlRwAOa/Qfw34p8MeM9Hg8Q+D9XsNd0q6G6C+025iu7WUeqSws6MPoTQBu0V+UfgzTv2zE/b3u73XfFBuPg42sat5Olf29p0my1NlP9nU2Kzfa8LPsOzYWTgsAASP1Al8T+G7fUxok+rWMeosyoLR7mNbgs4BUCMtvywIIGOQaANyivOLX4x/CK+8XP8P7Hxx4buPFEbFX0SLVrR9SVhjINqspmBGRkbK9HoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAr8m/2jPiHL4U+N3jK3ggkuZB/Zu1cblXNjbnj86/WSvyT/AGo/iV4S0H4w+KtEvNM83UYvsG6fYDu3WVu4yfZSBXfluDzHE1uXLP4iV/lt+qODMcThaFLnxfw3/E+UtR8ceN/EWrpOZHs7cnKopKk49q6S5+MXicQLodtbSedEMNLtOWz0wa52f4o6e7K1tp8W5Pu7kHemt8RL2d/Nt9NsQ/8Ae2fNXow4D4tm5OdVLmPEq8R5NGytczrz4mfEGHbbvb3oQ53uQeBVmy1fxX4jt0mje4ul6beW29ua9L+H+r2viTVQ3jW907SdPUgSNO3l7h7Zr758FW37PmgaU8+lappN0uAXCujMT7V41bI8xyzFOnjqvM7dD2MLi8Jjaaq0YWR+Yl1fa/4HKTSXF1ZSXHTyyVzivWdF8V+ItS8MXF1qN88WADE87EZ9ea+wvFGt/ALxd+4v1s1WM4Rm2bgfavmj46XfgDS/Dtjp3hu9tXiO8MFYE+2cV6WFnOolh4aN9R4iEKcXUtseIXvxa8V6MzwW+2/BBCumXxj1Nfrh+yHrmo+JP2ePCmtasCt1cHU/MB6jZqN0i/8AjqivxCia90orK4Qwscg+o9q/cj9lC7sr74A+FbrTkMdu41DapGCCt9cBv/Hga6834cxmBw8cVVq88JO3z1f5Jnn5VmdCvXlRhDlklf5FjxNJHF411OR2+75GR/2xStC3uEnQSR9K/O39oH4qfEjRv2mPGXhnREVtNtjpnlZB/wCWmnWsjf8AjzGufufjf4+0i3AmlVGx0BNfGUfCrNc2qTxNBpKTur+Z9XV4uwuDUadTorP5H6cu7IrMcHArwr4qqt/4P1G3AY7gOD9a8D+HXxL8e+JkN7ey7bde5Jwa9TmvNR1a0dbxh9mb7zdq8bF8AY3KcZFVZptO+h6OHzaljsO6kVZM+LdN8AyzlppU2puPUe9b0Hw5a+JSKLIHGcV9O2HhmLWr6PTtLAePPzMvNe8aF8PNPtZVsXh+YD5mxxX6bPE08LSUm7yZ4Tgq0nF6JHzn8GPBsHhK++0ugWRu+PSuA/bD8S2mp6NJo8TBndcECvtfWNH0vTCYbdOgI3DrXxB8Z/gz4g8Srca1pbNMqjcUOSQK7skp4LG4uLxMuW54Wd1q1Kg/q6Pr39g+wGmfsp+CLIDHltrB/wC+9VvG/rVb4qybfHmpj/r3/wDREddl+yHp9xpX7PHhTT7pdssJ1MMPTOo3R/ka89+LsmPiBqi+n2f/ANJ4q4KdJUsyr0o7JyX3SOhSdTB0pS3aT/AyLGYEDBrqrF92AOprzazu9g3HOBWp4f8AHmljV5LF4JXMBG4445rTF4unRTdR2HQoSk0oK56VnyH2MefSqt1ccY7VVu9ft9WvvMtDDGjYzu46VzvifxJp/hmFZ9TDSo//ADw5xXBh8zouK5panXVwVTm+FmjJebM+leUz/FLw3deLJPBkFwrahH95Qw4yM1ef4j+FtShjhhkMUj5HzEDrXFN8Ivhovi7TPFNjqM39tXxcybXG04H8XfpUYvOaNHle9+xNPATm2l0PSvtOD1719jfC5t/gXTG9ftH/AKPkr4416xstEdFN7FIxwFCtnNfYHwlbf8PtKb1+0f8Ao+St8wrQq4ZSg9L/AKMnD05Qq2l2/wAj4r+PviJ7P4pa3Zx8GP7Jn/gVrCf614uvimbBDO4+hrc/aYuJk+N/iREJAH2H/wBIrevDRcXGcsxr1cPgaboQk+qX5HxmNzWdPEVI9E3+Z6ZH4n1NCT5px9atQeJb93bzJnAPoa8uW7lJwS1XUuJFALE4NKWXwbujFZ03bQ9Kk16/BIW4JHbLU2XxVqnHlyHjg5Ned/a3JyCanF8QuDXLPARaLecprRHYz+LtVg/49WbJ6mp4/FuqPDl3k3D3rhReHHWpvtgxy3PtXNLARRKzhrofqp8ALu4vvhJoV1dEmV/tm4nrxdzAfoK9hJAIzXif7OL+Z8GfDz5zn7bz/wBvk9eh+JNXfRrK61BFMn2dC+wck4XPSvFqx5ZuPmffYSpzYeE31S/I6cuuetUrvUbOyXddzJEp7ucV+Y/iH/goFDpGpzWZ0wgwOykFOeDj1ryv4ift36d4s0uK2gt5LZ1PzFBt7/WtI4ao9kYPMqC3Z2v7ZOu/ZfiBpOr6JIJ5IC/KHIGQPSvkW6/aE8f+DNfmvtHG+SVQCzZ+XjHFX/EH7Qng/VLdJbuNrif1lAbFczb+Ofhtq08kl3sViBwcVvDD4hzjFwWhyf2jhIxcoye76FDTPj/450jVtS8W2rbNQ1AATHnsMfyrzHxb8ZvEmraULe6ZWaRy7tzuJznmvVb7WvhtcWM4ttgbacfd69q+MNcuw1/KIjmPecDtjNbRwk4+9NHO8xp1laEn8z3rwt+0R4n0uZkMCzKNowAScdK/oG/ZH8RTeLP2evCfiCdPLkuxqOVxjHl39yn/ALLX8xvhXWLbSb9ri5hWVH7MMjiv6U/2HtQh1X9l3wXfwKEjl/tXCjgDbqd2v8xWWNgkk0jXLIxVeTW9j0HxdqotvEl1CT93y/1jU1RtdaBwM1wfxL1T7P481KDP3fs/6wRmuetdaI7n8K65ZXejGfdJngYnMOXE1I9m/wAz299Y4HzU86qM/erx86/sXdM4iQfxOcCrkertMgkiPmKf4l5Bry4YFXlc0+vtJHqEmrgDg1TfWe+7ivOJtYK8NkVny61j+LFddPLL7GFXMkkejz62AD81c/da+uG+avPLrXeCd361yV5r0jZCnk16WGydbyOOrmumjPubwBcfavCVjPnO7zv0mcf0r8p/2qL02/x58Thui/2fg/8Abjb1+nvwekab4c6RI3JP2nP/AIES1+Rn7X9zIv7RPiyLzMKv9m4XPrp9sa8dxUa84ro3+Z9k5c2BpS7qP5HlqaxI3dsdqq3F6ZGDtJuI7E1yK6jLbpu+8PQdaqDUVuGyvyn0NaXOGx6VBqskSDzFJHqKl/tSJxjzP15rh4b+4J8uNWc+g711Om+HtRvoRezxeTDkbiRg8muXFYyhhqbq15KKXc6cNg62In7OjFtnyj8aPjB4h8IeOdPs9Kb9xvCsOeQcCvuL4YzWHif7C+tXX2RJ0BLM20ZIHrXyR8b/AIQJqvjjRb7Ry1xGrFpieQMY9K960+KS1sIYSmwRqoHoCB2r804j46jhY054HXnvd+h+k5Zwf7aHLi9OXZH1x4g+Fd1p3lX2g3S6hE4JCxtvOPwr7+/Z7jmi+EGgx3CGORftoZWGCP8AS56+Ff2eNZ1W1S5k1KKWeDb+6MoyoGDnFfoh8LbyO/8AAunXcKqqO11gL0GLiUH9RXs8LZ5iMxpSnXXzPJzXAQwlRUYPRdD8J/24isn7U/jiM84/snP/AIK7OvluKAj7or6j/bgwv7Vfjhsdf7Jz/wCCuzr5ngZmxjH0r7aL91H5bjv94n6v8yMKc88VIFIGQa27ayR/nlIxSjSrzUJfK06B3GeWA4FNs5rPZGMXBHuKYz7RkmvS/Dnw9g1DVIdK1S/ht7ic/Ku/Br76+G37FHhTxFpS3eq3spaQDZsYYoTTTfY9KnlGJkk+Wyfc/LtGDfNnirwfCg1+gPx//Ze8A/CTwrPqseoSG7wPJiLjnn0r88DIWbYPU/lTujnxGFnQlyz3P6CP2Jzu/Zj8GH/sKf8Apyu64D47/DWLxF4y1PVrcD7TL5GffZBGo/Ra739iT/k2HwZ/3Ff/AE53ddR47u44/FNxEw6eXz/2zSuOeLqYeXtKW9z6t0FVwkIvsvyPz0u/CV7pszQSRMpXqCKgFkyDBGCD0r7ru/DGleIY9zRgSgdQOTXz58QfB8/h8i7SLMZP8Ir6TL8+hXahP4jxMTllSmuaOx4nqLRvcRWn3SAeK43VrBvmAHFd7Pb2TX/2jeTLIOh6LgVmXkDZIxuFfQ5W2ou76nBj7cySXQ8ZvLE524rHPhGfV32RFVz3Nes3WlpIC+Oa46/hubPLQTeX9Dg17kajs+V6nArX1R8/a1bQ6Z4jvfCjjzJ4QpZl5XkZr9zv2JkEf7Mfg1Bxg6r/AOnO7r8eTZ20Woz317ArXF2OZ3HzfKMda/ZX9jmLyP2cfCUXo2qfrqV0a+X4klU+ppVN+Zfkz6DJOV4luKsuV/mjtfFce7X7s/8AXP8A9FrXHTwjmu98TLnXbk/9c/8A0Ba5SaLJJrz8LP8Adx9Ea4iC9pL1ZzMsVZ00NdLLCADmsmfyURpGcBV5JrtVXU86pDUyGh4zTQmGFZt94n0eDSrjVLSdLmO2Ul/LIbpXgukftQ/Dq/dkupGtyjlGLkKMg4rbmb2ITgnr1PphIRxV9IwF96wfDXiXQfFOnw6hodws8Un8SkH+VdotuCoNYe0a3OpUdj2rwQMeF7If9df/AEa9dXXN+EF2eHbRfTzP/RjV0lfI4l3rTfm/zPqsOrUoryQUUUVgbH//1f38r8DP+C2/jfx1p8Pw48A2V5c2vhPVo9Rvr6CIlYL29tXgEQmIGH8hXLIhOAX3EZCkfvnX4y/8FUf2hvH/AMINQ8MeE9S+GXg/xz8N/ENoZnn8Uabc3hj1aCSRZIoZoLuAW0ot2Ro22b8M5ViAwAB+Wl/8F/2Ffib4B0K1+B/xau/B3xC3Rf2jafE7dY6XNGQfO/0yysZbeCRXK+X++dWjGGG7L1+p/wC1X4W+J3gr/glDe+FPi/r9h4o8SaYuiwSaxpt1Je295aDWrc2bi4liheVhbGNWcrliMlmJ3H8pP2lm/wCCc+tfDS28T/s2r4s8P+OJjbj/AIRy686fT4FdlM/2qa7M7bkTcEMFy4LYyuCSPsJNM8baX/wRV1dfGYuI4rnWLO60WO5DB00qbWrRoioYAiOSTzZI+xRwy/KRQB59+w7/AME59O/av+Cdx8RPiV4x1bSdPiu73TvDFjpghdIHi2+dcTCZZMxvMceSnlMSrOZMvmtr/gknrHin4cftc+NvgldapI+mNpurQXdohY202o6PdxRpOqk4VgnmgN1Ktg9sfpF/wSO/5Mx0T/sN6z/6UGvzW/4J6/8AKTPx3/128Y/+ltAGx8KgB/wWk1bHH/FSeI//AE1XVeSft4eF/F/jX/gpfqHgv4f3jab4g8QXfhvTrG9jkMD281zZWiCUSph4wg5ZkO7aCBnOD638Kv8AlNLq3/Yx+I//AE1XNeR/t5fEi8+D/wDwUyvPijp9pHfz+Fr3w1qi2srFEnFtY2rtGWAJXeoIDYO0nODjFAHR/tn/APBMiD9lr4OWXxk8C+MrzXW0W5tINeS8hS1ZZLmRYorqzMRJjUTsqmJ2dgGDCT5SD+xX/BNn40eKvjh+yn4f8QeN7uXUdc0W6u9Cu7+di812LIqYZZHYlnkMEkau5JLuCx5Jr8p/27v+Cmvw2/aM+BC/CH4XaDrFrLr1xZ3WtXGsxQQrax2cwmWCEQzTeZI0saMX+VRHxyzEJ+pn/BMv4R+Jvg9+yX4d0vxhaTafq2vXd5r81lcKUmto71lWBHQgMjtBHG7K3zKWIOCCAAfoBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFfhH+2WIP+GkvGDSnp/Zmf/Bda1+7lfib+1XaeDZf2j/GU3iOS4BU6XuEJGB/xLrX19q+54Axn1bH1Kv9x/8ApUT5Xi6h7XCQh/eX5SPk/TrC2uSPJVpOeg5Neo23wp8T6nYG+0a0mi8tCzGdSAcDPGK+sfhXH8CtP0S3vYLWSdm5LXKqele9H4gfCW4tzb29x5ERG0pGyj2r1s145re0lCldHmYDhWjyqpV1PyFi+A3xT+K1hNc2WUSyYgxDcN3OOn4VxL/s9fHLw9cslvb6qqjgeSreWa/cLwpffD/w+ki6H9oCT8krjnP0roLrxV4cjeCyl+1F58lC2O3Nfn2IxVSvUdSo7yfVn2VBRoQ9nSVkfz8eI/hx8Y9AjW41WPVY93swrFf4WfGXXPD9/r1rDqMsFiFLLIGJ+bpiv6CtS1nwlfwTC8sI7sw4+W4UNn6Vjpqvh+90ufTo7K3s7afAkjhULux04rCq5XTg7M0TjK6kfgt8MvDnxQghmv8AxiLwWSkCL7Ru2jsetf0Xfsap5f7NvhBPT+0/11G6r41+OfhPTb3wBc23h+MwMmOSMAc9sV9n/sd2H9mfs5eEbEzeeYv7SzIDnJOo3R6+2cV9Xi8dGfD0MNL4o1E//JZHgYTCShnE6y+Fw/VHkvxx8IaPpnjfxF42ulUz3y2vJxn91bRRD9Fr84fEWonWdbMaHEYf9K+y/wBrvx3LH421TwrAxBtvs4YD/ppbRSf+zV8ieDPBms+KdQCWULMWblgK/T+FKMcNlkcTina8Vb0sfO51L22LdGl3d/vPcPC2sQw6THoNmwidwPm6V9deEho9j4Xt7XXiJZZlY4TknH1r4J8afC/4geFPtGpaYjzRxR5jVASc4qn8GPHnxR0zwNrGoeILGa9vrZglqk6MxG9iOAa/G+JcZDE42dWmfeYKMqdGNM/Rv4XWfhu21W41G3la3MjfJbzkKxx6Cvo1LrSXciOWLzT2z81fmV8Gfhz8XfEviey8beJ7l7O2Quxt9zKu1unBr6S12Sy8KeJG1u51V3CD5bZZM5OP7teFRo18TNQp6s3rVadKPNUZ7R4u06yis5tRllEQQbvmOAa+OfHHxsWLTW0LRI1+0SkxsyjrzjtXI/Ff4zavqwkjmuDbW3ISNWKk/UV8waL4ghh1ObW9Sf8Acw5Zd3Q8V+i5BwtRpXr46Sbir2/I+MzXNq9VclGLUG7XP2R/Zyt7m2+DXh+K85mzfM3/AAO8nYfoa8F+Mk+z4jaup6f6N/6TxV7P+y14lh8X/Anw14hgIMd0dRCkf9Mb+5i/9kr88vjf8SDeftceM/h3PdtbrYHSvKUNjPnabaTH9Xr43E5pChi62LqrRuW3m7n1tDCOpRp0oPZL8i38Ro/GGpxWlj4SnEDSMRK2SDyeOldR4R+FXirwPqVn4h8R30tx9pXM8RclenGQa7LTrCWG1hewCzsCpLPyeK9T8Waxd6ho1iFtZppQpEmxc9OlfI5jnVHGSlKnL0R7mFwUqKipL1PPrp45b2cQZijyuAOKbcWC6jevHcnzoEA+V+RyKz3XU1keR7KdA+PvLjpWjDcSxmRmt5sSYA454rwffbPa0UTzLWPh9peuaxPbwM1skGNrQ/KeRXJTfDrUtI1BL6y1SeRoMhN8mdueOK9eZ9TstRubmCzk+zKBvZ15ORxiuaudUuhhp4WCuecis6mLq0l1t6DWHhP3tPvPNx8PPFep6kkz6zIcuCgeQ461+rXwk0u70X4eaRpl+4knhWbcynIO6aRh+hFfCmn2t25iuoIHZcggY54r79+HdzLeeDdOuJlKuwlBB7bZXH9K+jyfF1JxdOW2542YYdQtJbn5lftNyhPjh4jBx/y4f+kVvXhwcyHauD9K9a/akmZPjv4mAGR/oH/pDb18x+INa1XTdLmudLRXuUHyKw61+sYSLlh6aXZfkfieYRvjKv8Ail+bPRiVhG+Y7EHUmumt4tN1PT4zZ3sCOM7/ADG6V+f+rfFn4gKzJqFjIFz0VDiobD4y+IbYf8eBAPX5DW8sBKS5lNI1pUqaVpdT9AF0W4a2e6hlidY+oByT9Kw2uCpKsBkV4L8Nf2hYbe/EWvWE7o/G1E+X9a+mrGzh8eTnUdBKWsbjOyb5T+Qryp15U6jp1DprZdD2camH1fU5z7WM42808zhgSAK6m7+HPii2jaYQiVE6mME5rlG0vV1cp9inLL2CUOtGWqOJ4erF2lA/WD9mk5+Cfhw/9f3/AKWz14p8XviPqOjfEXWdAS5CwRrbr5ZPGJLaJjx9Wr2v9mmC4tvgn4chuo2ilX7duRxhhm9nIyPpX5nftPeKpLL9pjxhp8jkQ2403HP97TrVv5mvmZpSrS9X+Z9ziKc5ZfSUXZ2j+R8c/tFaYNJ8SSX1qy+XdsW+X1r5ZmvX5GSa+hPitPPriC6MpcrnCE5/SvmSR8OVbse9ezQVonhQTW5NJOz8Gq8Mc00xWNtpqEuSeKg8+WJ96Ng1tuzZK5oyf2lArBZDg9eawy15MWYZOOpqaW+uMHJzmqS3U0KkIeDTktDanFLSw5ru5RfmBAFf06/8E8JDL+x54Ac9T/bP/p3va/l+e5kkTY3Q1/T7/wAE7P8Akzn4f/8Aca/9O99XmZgrU16nrZarVH6f5Hk/xy+KnhXSPjb4i8MX17HBd2f2HzA7AY82zgkH/jrCvG9f8TXfiW4ht/B3iKxgY5yHmwT+VYX7Wnwl0LWv2h/GHicXZbULwacXtkYbgYdOto1GPcKD+NfNXgzwvq1nrCmfQtWUBsI6RcY6ZrTG53To4JU6U7SSX5HnUchVXHSrO9m3+Z9XtFrT6NcaX4i8SQGdNvzQzHjn3r2DwN8QdO8N+Ho9Ik1C2vGQEea77m59TXgS+Ejbs7z6TqEpmC5MkeRW7pnh6G1iaO30piz/AN+PkV+aYjN69WLhKo2r3Pt6WUYeOsIK56rfeN7GXMq6rbl3PKiTpVVvH+hxoI5L+Jnx1DjFeVw+C72C481tPQIxOdyUlz4KknXzEtIkPb5cV10uJsTBJRnoccuF8JJ804npn/CW6VNCzfb4S2DwH6elcb/wlFzbyteahd2kdkp4JbDGs7RPCGmW6TzaiY0YY3dgKw/FHw0sfGNv9h069ZA3QRtgcV6dHjKrJqFTbuePU4NwvvNPV/gfql8A9StdX+E2hajZSLNDL9s2uhyp23cynH0IIr8fv2z9w/aU8XlX2/8AIM4z/wBQ61r9Y/2XPDf/AAiPwK8M+HdzP9k+3/M3JPmX1xJ/7NX49/tqyXMv7VPjG0jOCx0oJ9TplpXsU6sZzdSOz1+8utQ9lhadG9+Wy+5WPn06ndwfKMP9OTXo3gr4ceLPHE4fSrSQIeWkZTtA+teq/BT9n668R6pFfeKZFhtUKsEJxuB56Gv1N8JeE/Dui6cum6VFbW0SJtLKArMMV8lmnF0IVHQwau1u/M9zBcOSdNVcS7J7LyPhXwZ8JdP0/S7j7OFvdSgT5w/zKDjt3rFZYYfCt1a3SMl8jYKdFHzf4V+gF18NvDlo73ljei0d87iGCg59a8V8Q/DLwaBMbvXbZGkPP70ZNfj2d4TNMdVc6jcnr108rI/QsnxmX4RcsEltr10PiBrA6lp92llGWuSu1CByrHgY/GqXwN+EnxOXxJPa/ENV/stX3RZ3eawPIxmvs/wz4X8P6Ncy2vh6zfUrl8ZldQ8Qx3yK4z4p/GTQPhHazreXkV/4inUhLdWDpDx6dRxXucM8M4qeD+r4uC5XJu73S00Rx57xFSliHPCPpb5mh8SviN4f+FPh1tMsPLS9ddiRjA2dvmHvX2R+yxqj618B/DOqSNva4OosSPa/uR/Sv55/EXivXPH+vm7v7lplmcs5LEgDPAFfv/8AsbxiL9m7wfGvRRqX/pwuq/WsswcMNS9nSVoo+AqYiVWs5Td2fkL+3GVb9qTxuvcf2T/6a7SvlzTdPvtQvIrKyBeaZgqKvJJNfTH7cc0K/tXeOEYMX/4lHA/7BdnXe/s6/DfwfBaW/j/xddiCWI77eBmAyR6g17tOLkkkfG1cO6uKnFd3+Z4t4p+FHiv4ZeH4fEXi63kSGdCypghunHBr5Kj+InifVribQ9BuVswGJ37ir4HPav2F8ceL9N+O0+t+B7Zhd/Y4lFuyfMqgLk/yr8g774Ka7N4/OkaDOYpxK6ykkgIPfHSisrUedaST1PrcswNKjO/LdNGvZ6zqOvot3Z3kseqaY6Zd2wXyecHvxX7XfCn4yafovwZ0/wATardfYpbaI747htrOV44H4V+Y3h3wB4X+FmLvxHdRanqsalhDbsHQnH8YPNeU+LfiZ4h8d6k+mBvsmnxkqlvFlYwPpXPVrynVcr3THmOY0KNJRS95f0j3X44/tHal8bvFdwFJTT7VtsaDgHt0rxRXI5FcxpmkppoPlklnPzGt3zOMVpTvbU+Iq1Z1ZOc9z+hb9iE5/Zf8Fn/sK/8Apzu60/iG6/8ACY3gPUeT/wCikrI/Yc5/Zc8Ff9xX/wBOd3Vr4ly29t4t1OeZwmEi5Y4GfITFcGL2+Z9lh/8Ad4ei/I8b8V/E+48I6vDFZPHIgOJVzkr+FeX/ABk+I/irXNG0+bw9bbkl3FwVPOD2xXlOpaXqst/rniDUZ98DyJ5JJ4wDzirPjD4x6LpvhDTtP0iJZL+2DA5GRkmu7B4NRqRlGN33CvO8HFmNc+NrewsUuNespLaXgFguBn8alsviJ4c0u7juLlxcW7ckEgmvnHxr47v/ABDF5uqGK3jPRW+UV5sNf8OxxLJfarCif3fMANfSKq6UW6kjyamFU38J9O+Pvi5pk0ssvhuEJERwGGP5V8ZeOPiXr8jtMly0eDnCMQKr+O/it4F0zT44NBklubkgiQ5DL+GK+Wtc8cXOsO4iXaD61vhcxpOPLKTIq5a07wieqa38WvHHij7FoFgzIyNgSR5DNk85Nf03/sQ29/a/su+CINUYtdKmpGQnrzqN0R+hFfzvfsr/AA6uvFM83iHU4M21rgxMw6k9a/pW/ZltvsfwQ8N2wGNn24Y/7fbg1Od1IzwUXF/aX5M2y+SWKdJLVRf5o6DxK2Nbuf8Atn/6AtcjeXUVujSTMFVRkkmup8Uvt1u6/wCAf+gLXyz8SviJpjx3/h6xdvtkK/MV6DIzXDQl+7j6ImvB+0du5Z8W/FGzjhubLS9zTKNu8fdGfevnWPxT4i/tbTNN+2yyQ3cd0ZAzE5wpI/KvO9F8ZadbabOutXKJtZss7fO3JryHxF+0J4d0TWLG40xGkaxWZCXAIPmAjiqliY07tsP7JxNealGNlY9b+FnjW303w/4t0/XLxFji3CMztydxbpmvz61LxDpceoXQjZXBlc8cj7xrkfGHxA1LW9RuzaTNBBcuS6ocA5PeuQfR5UhNz5oYtjofWuaeO53eD0CjgaMIyp1ld/kfoB8IP2wtK+GehQaE1iZmizltmRyfrX6V/BD432fxj0eXUrW0e3EOMll2qc+lfzuvodxbXVnE5ErXMigBeTyRX9CH7N3g2y8HfDHS7e2j2yTR7pCRyc881dGvKT1EqdoqJ94+EmDeH7Uj/pp/6MaujrmfB3/IuWn/AG1/9GNXTV49b+JL1Z7tH+HH0QUUUVkaH//W/fyue8U+EvC3jjQ7nwz400ew17SLwBbiw1K2ju7aUA5G+KVWQ4PIyODyK6GigD5n0v8AYz/ZQ0bVIdZ074TeEoru3cSROdKgcI6kFWVHVkDKRkHGQele6eKPBvhDxvoE3hTxpoem6/olx5fnabqlpDeWcnksrx7oJkeNtjqrLlflIBHIFdJRQBzPhLwX4O8AaLH4b8CaDpnhvSIXeSOw0izhsbVHkO52WGBEjBY8sQMk8mub8O/Bj4PeEPE1z418J+BfDWi+IbzzvtOradpFnaX832ht83mXMUSyv5rfM+WO48nJr0qigDze1+DnwisfGr/Emy8D+G7fxdJJJK+vxaTaJqrSSoY5HN4sQnLOhKsS+SpIPFfhP8cPBnjC7/4K9eH/ABLbaFqc2jL4g8LeZqCWczWgRbK2V90wTy8DkNlsdjX9EFFAHgum/ss/s2aP4nj8aaV8L/CVprcM/wBqivYdHtUljuM7vNQiPCSBuQygMDyDmveqKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK/A39s6WX/AIac8bxNGfK/4lXOOD/xLLT+VfvlX4F/tpNLJ+0341iBKqv9l4986ZaGv0Dw4ipZlUUtuR/+lRPkuMv9yh/iX5SOH+FOoedcNoN5MVSXiFc9O5r6asPAenRKHkYKWwea+EvBl6ui+IbLWL95Ctu/Kjvk19meJ/jp4Vnso4IrG5jmKAFo1AA461rxxgIUcdemtGrnNw9io/V17SWqPXbHTVsgPJvHAX0bpWwNV0212z6lqUa+Xna0r8j6V8G3XxG1BL4tbT3jQMemeadca3Pq2BI9w8cnZzmvh/ZWd2e9PHU1sz7F1v4xfD7RQ3n363Un9yBwzE15bqX7Qc15m38L6YVzwslynH5ivDYPD+nxg3E9vASeQzjmteDTLaaAPb3KJjPAbAFKpFWujGWPV7IzvFvjXxje2dzNr+pNFFJ0ht3IXH0Nfr/+xPLHN+zJ4NliLlWOq4L/AHv+Qnd9a/FrxneRxWEcDoknXLkZ/Wv2j/YlYP8AsxeDGAAB/tXgdP8AkJ3dfS43CRjkMa/V1F/6TI5suxMqmYyg9lF/mj46/aJ8N3HiH9onxLa26ly/9n8emLC3roPhPbXHhLVJLG4g2iIr8xHXNSfGjx7pngj9ovxVe6jEZFH9ndBnH+gW9Qn9orwFeEGCzPnN1baK93Nq2OxGW4bDUFooQ/8ASUY0PqtLEVK1Xfmf5n19qOo6NJopvriFGDLgKwGCelc1pieE9G0iXUPEkNlZq/zCPAXOD6GvlbxT8av7a0tbGwMdvGnQ/dNeB678RrN8z+Ktba4iT7sCS56dsGvmKXDUYp1MxqKCX4noVc0qTlyYKHM3+B9meLPjxcahv0XwJbkQrlTOB8ij1yK+WfF/xLstDd/td0dT1STOQG3oh/pXgWs/GTVdXVtJ8IW/2CzPymVRskYfUVzFppku43N45klblnfk187mvGOHwi+rZTG3eXVn1WQcEVsTP6zmcrrt2NfxDr2o6/c/arpiFznbngV458WfG76X4fNlZNsZgQ2K7zXtZsdNt23OMgV8WfEnxK2sXjQo3ygnvWeVZtmleTrV37rPTz3BZZRpLD0lqj+l/wD4Jw3D3X7GXw9uJDlnOuEk/wDYZvq/GL9uDxdJ4K/4KD+M9ahkK+XNoIcZ4w2j2A/lX7K/8E1xj9ir4dD/ALDn/p5v6/Jr9uj4WDxL+2l411md8QzNoxIz/wA89Jsl/wDZaKtP2nMmro8Gk+W1tD9BvCXxB8HvoNlqC61Zos8SMVaUZBwM5r1zw/8AGb4cwsom1ezcDsZAa/MLT7Pw7pun29n5O4IqrggY7V7DpWn+BrK0tphYxvI/LBkBr8/xGXqjO6jI9+lKVWOskfpLd+PfhF4pgiVtUiiZP+eMijOaph/hZH86ajNIPQOpr5AtfFXg7Stkdto9sSAOfLFaUvxT0qPekOkwKOMfu69vDZi+RJ0mzkngpRd+Y+vrrXvhtdWEdkRMUj6suMv9fWsG/v8A4T3GPNtp/l6YVa+Rbv4vr88aWcES9sLivN9V+LF7JcqsZjUE/wANdDxs3pGiZxwy3dSx+iWj+I/hxYO32a3u5OPusAQK+gvBd1YXvhqzutMR47ZzLsWQYYYlcHP4g49q/Fmf4r6vbMDDIueO9frF+zprc/iL4N+HtYuMeZcC83Y/2LudP5LXo4ZVX704JI463KnZSufmr+1XcyJ8f/FMQ6f8S/n/ALcLavn6WSNyA/zeor3T9rOVR+0F4pQ5yP7O/wDSC2r55aQ7iwHHtX6Rhv8AdoW7L8j8ZzSbeLqr+9L82V7/AE3TrviSMN9RWD/wi+kyBgsKYHsK6Murx7j1FRG4VBtUcmlNt6M5FVkVNI8K6PAwmECce1d1bX01idthPJAq9NhxXLpM2MBgtSR5dSRJx9a5pwW7OtYqqtIux6TB448TQxmKLUp2B7M5xWc3jLX1maX7S27/AHjXCNdEDAzmoxcOvDnk1zSpoftqstXJn7afsyaldat8D/DeoXrFppft24n/AGb24UfoBX5Hftjahb2n7T3jhOsjf2VnPT/kGWmK/WH9k9y/wA8LMe/9of8Apfc1+K/7eFp4hb9qzxxNp9vK8Tf2TtZQcHGl2YP6149Cg6uInGPn+Z99Xq8mX0ZN9I/+knhupatCp+0XCbsAjGODmvANWKm+lZF2qxyBXVXMHip1xPbTcdiprBm0nU5JN08Dqx9Vr1aWHnDRo8h4qE7bXMHb/FVeVTXQto97jiJx+FQDSb4H/Usfwrb2cuxKq22OalU45FVipIxXV3Wl3srDEDDHtVU6PeKf9S2fpTcZdjojWSV1ucz5R7iv6gP+Cdwx+x18Px/2Gv8A0731fzPvpd7/AM8W/Kv6Zv8AgntG8P7IHgGORSrD+2cg8ddXva8rMYv2abXU9XK581R+n+R8v/teR2HhP4neIvHJuI47gmxJR2wTttIEHH0FfP2j/tc6PoiQ/wBqtbyovXZgtXd/tt+BtZ8afGfxHbLPKtmv2Dainj/jxt88fXNfCi/BCG2uvLuo2kVOu4Zr4PHZRGpOVSbZ9lgMdSVP2UrN6n3teftr/DbX7H+yLfzI5pxt81cDafr2rm/CvxR8MxazOs+sXUq8MCZAV55r5vsvhv4Ygt/Kt9Oj80AfNsGc11egfD62RmdoQCfavOnl9OMbJOx0qtRV9T6T1H44+E7W4WDzbqaN85YEEDFcY/x60yG/C2cU80BzncM4rlrXwNaMQrxIR7it638CaZCQVgQZ9q1o5XRtZxOWvmlKGkRmqfFu51Js6ZphMb537k6+lcO3jjx15jjTrUWx5CFVK4zXtdj4esrWAqkSj8KqS2MEcpwor08NldB6WPDxGfOKaSP0p/ZHfWpf2e/CsniGQy6gx1IyuTnP/EwudvX0TAr8cf23tTey/a38YHsr6OFI6gtplnX7Yfs5gD4NeHgvT/Tf/SyevwY/4KA6g1r+1x44Ck/I2jH/AMpVka+gows+VdDmxFRzoQm+tn+B7Vpfwm+N+u2Ftr/h3X2hs7lAY0EzDAA9q6CH4U/tGW0ZZ/FMg2448969r/Zt+INjqfwd064nky1sjB8Hpz3pnxA/ai+G3gW2kfU7pWljBxGGGSR7GvIlk2G5ublOhY7EStHmf3nNaV8J/i/qttH/AG54ouh/eWKdv616WngfwP4F0kav4518sIAXYXUoJOPrX5c/Fj/gpL4hvpJtO8AWaQx8qJnUg/gQa+KfEPxZ+K/xWmZvEOsXJgkPzRiRvLwfY1UcDh4aqJ0e1q/akfqh8X/2+dE0+Wbwf8HbZRKcxNeBRgdshlr4S1nxDqfiG+kv9bvJL7Ubxtzys24rn0Jrx3RdK03RoHH3537jqTXaeHbO5sEF1cq0nmHPzc7R2rSmvaS9mtjGtU5Y3bPX9AgutIiVolMoPJ71/RD+xZdG9/Zn8HXJUpv/ALU4PUY1K6H9K/nV03XVjwN/y9xX9En7EsqT/sxeDJYzlW/tTGP+wld16DSSscuEd6jZ+aH7VWk6NN+1p40u9RXzHc6TtTg9NMtBXhPxm1prLQ4NC0a7+zuq8NG2Cuee1e3/ALYWtWnh39pzxrfSqsryDS8A8lcaZaCvhzXNRm8Q3Ml3JnDdAe1d1OpyQVtz57EVHCvNru/zPq/9mT4/fD/4JeF9UXxJbHUNYlTCXBUO7E56k8185+NPjI3ijxJeaz4bshppuHJMirsYg+4rzGDRraJi1x856/NzTmtUZ8RrtQelcklJ3uzolmtaUVCLsaMV5eXLNcXE7y3En3nc5pLXT4rRpJ0G6R+Sa1LazjjgjkIDE9h1rXgsWljkZU8vjgNwTTjTSRwyjJ6yZgGUdRxUTT7SMHrTZ0aGVo26iq7srDK8EVRhY/oq/YYbd+yx4Jb/ALC3/p0u68v/AGhfEkFv461XSJJgnNqCM8gG3ib+temfsJHP7Kngc/8AYW/9Ol5X5a/t+eOtW0L9oDxVp9pO0SqNO27TjGdOtWP6mjD4X283C9j69VOTD02+y/IxP2lP2gvDXgeGLwzpM4uJ1X51iIIyRnmvzi1/47a/q0h+yKIVzkHkGvNfGmpXWr65LfXk/wBodz94nJrkR1ratVdH9zB7HRToxa5n1O61n4heJ9bKrfXbhF7IxrnLnU2m2gvJJj++c1lYFLXN7XQ6EktkWJ545cbVC1s+FNAu/E/iGx0OxUtLdSqoA9MjP6VzuBX2f+xF4d0LVfi1b6lr9xFBb2B3AykAEke9TG7l7u5nVlywbP1d+Hnwmsfhz4C0/QreMCURK0pA5JYA81+lHwIhFv8ACrRIR0X7X+t1Ma+Lte8Z+EXGIdVtWAAXiQdAMV9p/Au6tr34WaJdWcizQv8Aa9rocqcXUwOD9Riu7EVqkqCjJaX/AMz5/KYP6zKb7fqil4wlEesXxPUKh/8AIa1+cfijwzrviLxLq+oaa8dssxALOSOBkV9P/GTx3caN8RNY0tS2yIW3T/bt4m/rXzHrOuNdCc28skXmcttOK6YUqrpRcF0OuOPpxxDhpe71fQ+Tvix4TtvA2keZcXgup59x27twB+lfAWtXT3Nwz54yelfop4+8N3euzqJxJPHzgtyK8StPhBFPdETW5GT3FcNWnV6QZ20MN7Ss5TxaSZ8c554rRje6eMBXIX619wWv7Pmm3Tg4VM9d3ArtLD9mrQUKNcTR7T1AIrmnKqt4NHtUcgo1XpioHhn7N3gtPF/xG0tNVHn20BLNu5XgZFfvF4dayt9It4Lcqkca7Qo4AxxXwJ4T+G+meDQsugqqzbSAy8Hp7V63ofijVNJ0qOzmd5XUtljz1Nehlzcoaqx4maYSOBrez51Nd1sfpl4MZX8NWbKcg+byP+ujV1FeW/BW/l1P4Z6NfTffk+1Z/wCA3Mq/0r1KuCv/ABJerOmk04JrsFFFFZGh/9f9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvw8/bA+Fvxa8R/tF+LtZ8MeDPEGradcf2b5F5Y6VdXNvLs0+1R9sscTI211ZTg8MCDyK/cOq73drG5jkmjVx1UuAR+Ga9zIM7qZXiJYinFSbVtfVP9DzM1y2GNpKlN2Sd/wAH/mfzcQfBL45NhZvh54ryO50S9x/6JrrLb4L/ABsZAt14D8Ts2Op0e8/D/llX9Bs2v6FbNsuNRtIm9HnRT+rUR6/oUv8AqtStH/3Z0P8AJq7M24ixGYVVVqU7feeRS4doUvdjV/I/APT/AILfGKLCy+A/EuSep0e8/wDjVdhb/CP4qW7Rk+BfEjL3A0i74/8AIVful/a+lYz9tt/+/qf41Adf0JW2tqVoG9DPHn/0KvFq4ic1blsdMMkpJ/xL/cfiBf8Awk+K9zCFTwV4iAXqP7Ku8nP/AGyrAvPg38XLexaK18EeJS7f3dIuz/KKv3bv/Enh3SrJ9S1TVLKztIxl7i4uI4olHu7MFH4mvNH/AGjP2e0Yo/xP8GqynBB8QaeCCPbz65o1Gnc3/saC97mZ+FeofBn41SQi3l+H3i6YDPTRb1h/6Jr9ov2PdD1rw3+zn4S0XxFpl5o+oW/9pedZX8D21zFv1G6dd8Uiq67kYMMgZUgjgiuxH7Rv7PR6fFDwZ/4UGn//AB+vTfD/AIj8PeLdIt/EHhXVLLWdLut/kX2n3Ed1bS+W7RvsliZkba6srYJwwIPINezjc+niMDHAuCSTTv6Jr9SsFlMMPiHXjO7at+K/yPyh/aQ+GnxF8V/tB+KrnS/Cut32lXP9n+Te2+nXEttJtsLdW2SpGUba4KnB4IIPIr5e8T/BX4zeHLkjS/Ania/XqDa6PeSj/wAdiNfuNr/xx+CnhTXrjwr4o+IHhbR9as/L+0abf61ZWt5D5qLInmQSzLIu+N1dcqMqwI4Iqte/H74EabCtxqPxH8I2sT/defXbGNW+haYA08dxHia+HpYeL5eRJXXWysduCwFCjWnVnHn5m3Z+Z/PLqvw0/aj1aYxwfDzxlbQn/qBagvH/AH5qbSP2dfjpK6yar4D8XSHr+80W9/rDX78/8NR/synOPi54E46/8VLpv/yRTf8Ahqb9mP8A6K94D/8ACm03/wCSK+Yxca2JVqtVs9/C5hSoO9Oij8T4Pg98X9KhxD8OPFbkDjbol6f5Q1yur+A/2hZC0dr8MPGe31GgX/8ASCv3ht/2nf2a7uUQWnxZ8DTSMcBI/EmnOxPsBcZrubr4nfDWw01dZvvFmh2+nsMrdy6lbJAR6iRpAuPxrDA5fh8PLmkuZ+ZvjM9xNeLhD3V5H8vXiv4Q/tMXqslv8KvHMhPceHdRYfpBXjFx+zR+07cSmWT4S+OiT/1Lepf/ACPX9WR/ae/ZqVijfFnwMGHBB8Sabkfh9op8f7TX7N0riOL4r+CHc9FXxHpxP5C4r2K2N59NEkfPww7UueTbZ5J/wT88L+JvBn7IngLw14x0m+0LWLP+2PtOn6lbS2d3D5urXsieZDMqSJvjdXXIGVYEcEGvh/8Aau+GPxT1/wDaN8Va34c8Ha/qmnXH9m+Te2WmXVxbybNPtkbZLHGyNtdSpweCCDyK/ZHw/wCI/D3i3SLfxB4V1Sy1nS7vf5F9p9xHdW0vlu0b7JYmZG2urK2CcMCDyDU8+s6RazNb3N9bQypjckkyKwyMjIJyMg5pYepJSbir3HW5be87H8/snwe+NOVz4E8Unp00e8/+NV3Fn8NPjBDDCp8D+JyV7NpF3x/5Cr9vG8WeFkOH1nT1+t1EP/ZqZ/wmPhH/AKDmm/8AgXD/APFUVsLUq6um/uZFPGUqeiqL70fjK3gH4wlgy+CPEP46Td//ABqqNz8OvjVKrY8F+IRnpjSrvP8A6Kr9p/8AhMvCH/Qc03/wLh/+KpD4z8Hjrrum/wDgZD/8VWEMunH/AJdv7mayzGlLea+9H4bXHwm+Nku4nwb4kOf+oVd//Gq5K7+DXxxaXKeBvE5x3/si8x/6Kr99f+E08Hf9B7TP/AyH/wCLo/4TXwb/ANB7TP8AwMh/+Krojh6y/wCXb+4x+tUX/wAvF96P5+5vg/8AHcuB/wAIH4pOO/8AY17/APGq/aH9k/Sdf0L4AeFtK8T2F1pmpwf2h59rewvbzx77+5ZN8cgV13IVYZHIII4Nexjxr4OPTXtMP/b5D/8AFVu2d7Z6jbJeWE8VzBJnZLC4kRtpIOGUkHBBB9xVVvaqFpxsvQKU6bfuST+Z+Rf7UXw1+JGv/HXxPrPh/wAK65qVjP8AYPJurTTrieCTZY26NskjjZW2spU4PBBHUV4NF8J/jFGD5ngXxK2fTSLv/wCNV+0Pif47/A/wTrM/h3xn8Q/Cmgara7PPsdU1uys7qLzEWRN8M0yOu5GVlyBlSCOCK50/tS/syDr8XfAg/wC5l03/AOSK76edTjTVNRWit9x85ieFKVarKq6j95t/efjy/wAI/jC4ITwL4nUe+kXn/wAap8fwb+MGct4H8S4/7BF3/wDGq/YMftS/sxscL8XfAZPoPEum/wDyRV6D9pH9ne6OLb4peC5f9zxDp7fynoecz35UY/6nUf8An4/uR+OjfB34tKpkHgbxKWPb+yLv/wCNVnx/CX4zBdv/AAgficAn/oD3g/8AaVftnH8cPgrKnmReP/C7r/eXWbMj8/OqrcfH74EWil7r4j+EoVXqZNdsVA/EzCoecyenKjRcI0f+fj+4/Fw/Bz4yAnb4I8Sn66Rd/wDxqrA+DvxfADTeB/ErH20m7P8A7Sr9fj+1N+zGpw3xe8Bgj18Tab/8kUn/AA1R+zD/ANFf8Bf+FNpn/wAk1DzST+yUuFKS2myP9l/R9X0D4GeGtJ12xudNvoPt/m2t5C8E8e++uHXdHIFZdysGGRyCD0NfNXxx+F2u+JPi1rWr2vhy9vre4+ybbmKzlljfZawocOqlTgqQcHgjFfenhjxV4X8baHbeJ/BmsWGv6Ne+Z9m1HS7qK8tJvKdon8uaFnjfZIjI2CcMpB5BrnNT+LXwq0XxDL4S1nxn4esNdh2ebplzqlrDep5iLIm6B5RINyMrDK8qQRwRWeDzCWHrSrRjdv8AV3O/Msmp4rCQws5tKNtfRNH5vTfALW7hSG8J3oPb/QJv/iKpy/s3Xrx7pPCd8zn0sJT/AOyV+lF58YfhJp8pgv8Axv4ctpV6pNq1pGwz7NKDWY/x8+BUX+s+I3hJMf3tcsR/OavVfE807Sgjwqfh7GprTqzfoj85U/Zoujjf4Tvsf9eEv/xFA/ZhmBOfCt9g/wDTjL/8RX6NxfHr4GXAzB8RfCcgH9zXLFv5TVkX37Tf7N2l3DWmp/FfwPaTr96KfxHp0TjPqrXAIoXE0ntTRdXw+dPSpVmvVH53S/sy3Kn5PCOoH/uHzf8AxFY93+zBqWS0fhHUjnsNPm/+Ir9NoP2iP2f7rTJdatvib4Ol0+3x5t2mv2DW8eeBukE5Rc+5qnH+0z+zfKnmxfFbwQ6H+JfEenEfmLin/rJP/n2jP/USKf8AHkfltP8Asza8udngzVTj002c/wDtOv1F/Zt8M3Pg/wCC3h3w5eWM2nTWn27dbTxNDJH5t7PINyMAw3BtwyOQc1Xb9qr9l9Dtf4weAlI7HxNpg/8AbivW/C/ivwv430O28UeC9YsNf0a98z7NqOl3UV5aT+U7RP5c0LPG+yRGRsMcMpB5BFefj81lioKDilrc9jKOHo4Cs6yqOV1az9U/0Phb44+B/Fus/FHW9Q0zQdTvbWb7L5c9vZzSxPttYVO11QqcMCDg9RivmjVfhL8SZb0mHwlrrK3UjTbkj8/Lr9cNU+IXgHRL+XSta8S6PYXsG3zba6v4IZk3qGXcjuGGVIIyOQQelU1+KXwyb7vi7Qj9NTtj/wC1K8mdCU1sejDCwjVc1PqfkdZfB74lxXLb/CGubT3Om3OP/Rddfa/Cz4hovPhTWV/7h1wP/adfqKPib8Nz08WaH/4Mbb/45Tx8Sfh0eninRf8AwY2//wAcrnlgeZcrudej05j8yovhp4/U8+FdaHv/AGdcf/G6efh18QwOPC2tY/7B9x/8br9Mj8Svh0OvirRB/wBxG3/+OUw/E34bDr4s0Mf9xG2/+OVUcFbozllhYP7R+ZsngD4jpGdvhXWyfbTrg/8AtOuXuvh78USSV8Ia+300y5/+N1+rB+KPwzHXxdoQ/wC4lbf/ABymH4q/C8dfGGgD/uJ23/xyuqlTcHpG5y1MtpSWtT8jk/2eNO1XSvg9oFhrlncafexfbfNtrqJoZk3Xk7LuRwGGVIIyOQQa/Dr9u/4O/G3xX+1Z4413wj8PvFOuaRc/2T9mv9N0W9u7Wby9Ls0fZNFC0bbZFZGwThlIPINf0P6Xq2l65Yxapot5b6hZzbvKuLWVZoX2MVba6EqcMCDg8EEVxuu/Fv4VeF9Um0PxL4z8PaTqNvs86zvtVtba4j8xQ67o5JFddyMGGQMggjgirhNxm2keh9WToxp30VvwP5pfDmh/th+A/Ct74d0H4VeOGjuwAMeHNSJTHpi34r5j1/8AZ5/a98U3r3mt/C34gzs7E4bw3qZHP1t6/rsi+NPwdn/1HjvwzJ/uaxZt/KWpZvjD8I7dQ9x438ORKe76taKP1lqalKpJ83K0XToxg9GfyFaV+yJ+0g8m66+E/jiNF7Hw5qIJ/O3rtV/Zq/aQt7fybb4TeOEwMDb4c1Hn/wAl6/qyb46fBJThviD4VB9DrVl/8equ/wAf/gPF/rPiR4RT/e12xH85q5nh2+5tyn8tfh39mb9o+2xdX/wt8aO5P3X8PahkfgYK9OtPgZ+0CjiOT4W+MjGeCD4f1DA/8gV/SCn7Q3wAkOI/iZ4PY+g16wP/ALXq7H8dPglMMxfELwq4/wBnWrI/ymrWNPlXuowlhuZ3bP5uZf2dfjsr+bb/AA28YBX6r/YN9x+HkV++n7FfhzX/AAl+zN4N8P8AifTrzSdTtf7U8+zv4JLa5i8zUruRN8Uqq67kZWGQMqQRwa9ZHxr+DbdPHnhk/TWLP/47XdaPrWjeItOh1jw/f22p2Fxu8m6s5kuIJNjFG2yRllbaylTg8EEdRTadtUVTw/I+Y/C/9sv4RfF3xV+0x4x1vw34J8R6vpM/9l/Z7yx0m7ubaXZptqj7JY4mRtrqynBOGBB5Br5sf4F/HYqFT4a+LgB/1Ar7/wCM1/R/q3xN+G+g6pLomueK9D07UYCgls7vUbaC4j8xQ67o3kDruVgwyOQQRwauS+O/A8MK3M3iLSo4nGVka9gCkeoJfBrRSlbY82rlVKc5Sct2fzUSfAP48Ebz8NvF59B/YV9/8ZrT0f8AZ4+N1zKVuvh54shUf39EvV/nDX9FQ+L/AMJS/ljxt4dLj+H+1rTP5ebVn/hanwwIyPF+g4/7Cdt/8cqrT/lM/wCyKK+0fzuR/Ar43w3RjHw48WFU+6w0O9wfx8nFN1H4L/H1tpT4c+LD/uaHfH+UNf0R/wDC1vhd/wBDhoH/AINLX/45TT8WPhYOvjLw/wD+DS1/+OVSjV/lf3Mp5ZR2cz+bqX4C/HqVy7fDbxgSe/8AYV9/8ZqBv2fPj11Hw38X/wDgivv/AIzX9JX/AAtv4Uj/AJnPw9/4NbX/AOO0n/C3vhOP+Z18O/8Ag1tf/jtLkq/yv7mSsroL7f5Hj/7F/h7X/Cv7NPg7QfE+m3ekana/2n59nfwSW1xF5mpXUib4pVV13IysMgZUgjgivy4/bg+D/wAVPGH7RXizVvDngTxJrmm3I07yLyw0i7u7aTZp1qjbJYomRtrqVODwwIPIr92dJ1jSNf0+LVtCvrbUbGfd5VzaSpPDJsYo22RCyttZSpweCCOoqxNe2dvkTzxR7eu9wuPrk08NXlRqOSWp6UsPGVKNO+isfxx67+y1+0l/aEjWvwl8cuhPBTw3qRH6W9ZI/Zb/AGmv+iReO/8AwmtS/wDkev7JDr+gr11K0H1nT/4qoz4m8ODrqtiPrcx//FVnVk5zcrWN4pRSR/G+f2W/2msf8kj8d/8AhNal/wDI9A/Zb/aax/ySPx3/AOE1qX/yPX9j3/CUeGv+gvY/+BMf/wAVSjxP4aPTVrH/AMCY/wD4qs+V9iro/jh/4Zb/AGmv+iR+O/8AwmtS/wDkeut8Lfs//tS+HppLi0+FXj6BmxynhvUlP/pPX9fC67obruTUbRgO4nQj+dMPiLw+Dg6nZg+n2iP/AOKrowleVCqqkVexlXpRqwcJH8mz/Cf9ryVDj4b/ABCU/wDYval/8j1/RL+wdo/jDQP2UfA+k+PtN1DSNeg/tf7XZ6rby2t5Fv1W8ePzIplWRd0TKy7gMqQRwRX1Ouu6I5wmoWrZ9J0P9a0o5I5kEkTK6HoynIP4iu7H5rPE0lTlBKzuYYXBQou8WfBHxv8AB/i3VfiTrN9pegajfW0wttk9vZzSxtttolOGVCDggg89RivB2+GvxGZ2/wCKW1nHb/iX3H/xuv051j4n/DTw7qU2jeIPFuhaZqFvt860vNStreePeodd0ckisu5WDDI5BB6Gsz/hdPwc/wCh78M/+Diz/wDjtXRzGvCmoxht6nj4nJcPVqSnKrZtt9D8zLn4X/Ed0CjwrrWB6adcf/G65a9+E/xPLEw+EteyO4025/8Ajdfqt/wvL4Kbin/CwPC24dR/bVlkf+RqePjd8GD08feGP/BzZ/8Ax2tVm2I/59/mc0uHcL/z+/I/JM/DL4vpwvhHxFx6aXdf/Gq0IPh18XUxu8I+Ij9dMuv/AI3X6vf8Lr+DX/Q++GP/AAcWf/x2oX+OfwTjOJPiD4VXP97WrIf+1qbzaqleVL8yYcO0U/cxD/A/NzRfBXxUikUS+FNdQerabcj+cddS3gH4gsB/xTOsD/twn/8AiK/QdfjF8I3AZfG/hwhuhGrWhz9P3tL/AMLf+Eu7b/wm3h3d6f2taZ/9G1ySzVvaCR3RyJL4qrZR+ClhqGl/DLRrHVbWazuovtXmQXEbRSpuuZWG5GAYZUgjI6HNep1m6RrOkeINPi1fQb621Kxn3eVdWkyTwSbGKNtkjLK21lKnB4II6itKvLnPmk5dz3qVP2cIw7KwUUUVJof/0P38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK8u1s3P9v3YX7p8vb/37WvUa5XUIIzfySMOu3J+iiuvBzUZtyV9DkxlOU4pRdtTx680Ca6uWknG73NadhpllYoDKAMdu9dfcv5x8u1TJ7nHFUV0tIJ43ujvL546gV118w5IXOOlll5mRLbXOoP5VjD5cfdiMVr2HhKytwJbgebJ/tciuia5tbZM7lVfQVy2reNbKwQrF87c9K+dzTiHC4WLliKiS8tT2MJlc6krU4XZ8O/t7fEpPCXgRfCWlttutQBUqnX5TX4g6X4G8VeI77yNOsJpJpGz9wnrzX7XfFzR/DfxK8SrdashmntWyoYApzXkt+1t4W8aaVp+kWFvGk8c26SNMD5E45FfneL8SoxUqeX0uabTd5Oy0/zPqanC7qqCr1OWC0011Z+VXibwdrXg67FhrsflTkfdwQRX9G//AAT/AOP2RvAf/cY/9O17X8/fxm1XUNZ8eajLfSmQo+Fyc4r+gP8A4J/Aj9kbwGD/ANRj/wBO17X6FldWvVwdOtibc8km7banxajThip06WyPxK/4KN/Cf4jXf7XXj3xzoltM2nXn9jGGSNT/AMsdJsom5H+0hr4Hvo/iJJstPEH2prdMgebnav51++H7Z+r/ABEsfifr9vpOnQXWlyfY/KZ0LN/x6Qbun+1mvza1+38QeLRcaJdadHbuuCzqhBA6nmvHqZpNV5U2lZN/gz7Khk0XgvrSnbTbufAt7DtJtbNHkm/i2803TtHvXuVSeGQ7jjGK/QrwDo/hHQporf8Asi3vJGbEklxGGbOfWvpDxLo3w70nThq8uhWiFNpwsSjJNYV+IaNF+zjG7Z+cx4gpV8V9Uw8G5a2+R+aMfw11fw7p9p4wSF0ttwcFhjoRX2BrX7Xk+pfC6DwCml20xhiMbyPHk/nXsPiD4y+B4PDUPgjWvDKSw3SkQPBACRjk9a+dI/gvpfi/VJL3w0rWtvKcmGT5WH4CpjmEvZqdZ77H3EoUK0oxwsWnbW/fqfFjtFeasx8sBpXJwBwM11Ph7SGTxfBZunyvnHHtX3HYfs2+HtKX7TqLZkTnt1rj77wBDpvjG2vbWDdBFnLY6cVDzanVTjHsdH9lVKWs2fvN+wrafYf2V/BFrjGz+1uPrql4f61v/EJJ18WX8kZ4Pk8f9sUpP2PEWP8AZy8IogwB/aWP/BjdVs+OLVpPE124HB8r/wBFpX6RwjPWMn/Iv0Pz7jFNUvd/n/SR4xcWxmyWUd6wLc2t3LLDDhmixux2zXceJRPpeiXV/BEZHjjJCgZ7V4V8ItdsdUtby8uLhRdTSENGx5GGI6V9vi88pYapThLaWh+d4XJa2JjOcXqvxPRWsRn7oqSHTI5W2uAM12v9nhsFRkEZqF9NlQ7gp/CvVeMi9Ezio4SaleS0OPvNBNuNxXINZ1vp6u+wqBmvRJYLqWPy3jLenFUE0W8kb93E2fpWcMX7rU3qddTCpTTppnP2ulQRyBZVGK+v/hzHFF4M06OEYQefgD/rs9fNQ8P6qxA8pvyr6a+H9rLZeEbC2nGHTzsg+8rkfoa+Y4mrKeHj71/eX5M+r4WhKOIknBrR/mj+Yn/gptHn9sXxwfX+x/8A00WNfJPwv/4QeHxErePBI2n558vGf1r65/4KUFpf2zPiAjchP7Fx+Oj2NfJ3w18I23i3xRb6Rd/6uQMSP90Zr41wShdH3K1ep95aPZfs8R6db6jomkm+SXp5kaMRj1xXTXPir4b6IY00rwxZFm/vwDivjxYL3QdZl8O6OdkNuenTHetS01Oe7vCtxdjdH2LV8NmNXMFVfI/dPtMFgcrlRi61RqXofZlp8XfDmkXMC3ei6W0Eh+ZFiGQK+pvC2ifCL4weG7uK20ayjlaPB2RqGBI7V+d3h1/DOrXNpY3oSS5c4YLgmvtL4GaE/hzx5d2FgzJZhUIVuh3LmuXCY7EKSctnoTm2V4PD3hQk3Jb3Pn7Xv2G/Csd3JcpMyxs7NgEcZP0r578X/sl6dY6qwsJm+z5GMnn3r9u9X0uCa2kLhc18s+N9Lt4Xc4HWvYh7SKsps+YdRPoffH7DXha28F/steCfDVmxeKzGq7SeSfN1O7kP6ua/Iz9s/wAL+JF/bO8Z+KbWRoLRDpDRyKSCNuk2atz9Qa/aP9lgKPgP4YCdP+Jh/wCl1xX5Zftv+INIs/jT43s5ruNblI9PBiLDcN2nWxHHuCDXvSc3CKju7GVOhRqyvX+GOv3HwH44+IkV7qaSHUTKyjbKS+WOBivIdW8X6bdMAt3IuDz83WuDawsLizudQnnbzt7kDPua85ltATC6yMTMxBGemDVVOH5SlzVp6s+6wHiXQwdBUcHhYpLqfeHw18VeHNJsPt99G90o4C8Nknjn8a8m+Mfwv1TxNrX/AAlNmiW8d9zGrDGQo7Vk6fayaB4YiEjklypHPoQa9s+IHiyW48C6Jc2ww1ujgZ968mvha+BdSnSldJrfzP0TLs0ynij6rLMcNyuUZ3cX/Jd/oedabNrOh/BzWPAbWUZF6I90oX5/kbPBrxTSMWmjILgFdu4HPHtXWad4w1y/1W304tujnJVgfevdNQ+Bq6n4Z2C6jguZsMSWwq85qcPjq8Jctf1PH4k4VyevSjVyqpJWvGz3bsmvzPg3UdIvVuXlVC8bkkFRkV/Wb/wTHjaL9h74bRuMEf27wf8AsN39fz4XXwL12K1RLS/s5xGD8qOSxr+jr/gn9pVxon7I3gPS7pQksH9sBgOPvatesPzBr1qWNp1naDufl+a8P47LlfF03G7+R8l/tPf8l58T/wDcP/8ASG3rx6FkhRS7gZ9a9V/aquoLT46+J5Z3CKP7PySf+nG3r5L8X+ILS5Ntp0F75PmZy6tg8V7OY5xTwmHg2+i/I+ZyXhrFZjiZqkr6v8z3yKeMkbSG961Y3LL8orwnwfq0zC8t1uDcR26Ao5O4k49a89uviJ4khuJIllwFYjAJz1r53G8XQpUVUgj7bJ/CbF5hmHsOflZ9byEkc1m3BGOtfKy/ELxEo+eYkfU1Wk8Y6/K3nfamC+m414MPFRU1ySpXPuI/R2zGkuWNRPzufTsjJ0LCqEhhPQivl678T60OlzId3+0asaBr+sSavBFcXLNG55G413Zd4m/WsSqMaVrnm539H/E4XBSx2IrJcvS5+/8A+zD/AMkN8Nf9v/8A6XXFfHf7Tf7P2l/EH4oa74gaVorq4+yZIOP9XaQxj9FFfX/7LT+Z8B/DD+ov/wD0uuK+c/jV8TbXRvi5rnh6Yqv2f7Jlj/t2sL/+zV9S8RGNV1Ju17n5pg6HL+6Wtlb7j4Uvf2afFWjws1helv7vzGvO9c8DePdEcrqVtNcwxdSFLDFfdFx8SdNmgkMc6MRjAByTVKz8f2d8PsmpW6MjZBMg4xWv9oKWntDuWGh1Wp+a13f2xlkSWDy2HBBGCDXNCztbpmSRQWbpxX3V8SPhx8NfEKjULO8jsZ3+8oYIpNeD6x8CdRjtftWg6jb3C/w4fLfpXTRrRitSfZpuyR4GujWEDMqIN6+gre04NbpnbtU966mP4c+KdMuzDexB3fuASK9a8J/CnzMS63IPLyDsU8/rXFjM3w+HvzPUahFPRHD+HdBvtbX7VAu2FOrHvX7j/soWjWPwB8LWrDBj/tD9b+5P9a+BrDS/DmlaKmn2VqVOMbto5r9H/gAix/CPQURdoH2zA/7e5q8TDZ1PG1uVfClf8UZ4mL9nfzPzO/aXsrAftNeJL68JKA6cWXt8un22P5Utx4xGvQW9nGoWCMbcdsdK9M/aS0fTJviz4lvJApuJPsOc/wCzZwD+QrwX7LZ2FqZbeUAKMnn0r7ClSg4xlUelkfIzblUlGG92c74k0fStI1FrwSpGhII3HANdVouoaRfac8aLHJIwABXBrwP4hf2l4k0q61GFmjtLcfKw43V86+H9b8S2bb7LU2j2E8O5AOKuGa0ue0VojpqZfUhGLlLVn3zPo7p8xTAbpkVSl0sKpYr0rhvgp441rxlPcaZrJRmt8BSM5P5179qGlGOFjtzwa+iw+JVSj7Q8bEQaqcjPDLl4hKUUdKqu1p5RYsBik1Q/ZrqcsCMV49qmp3UV26ByImPrXkVc3lCVjtjgFJaH7y/sosr/AAC8LsnQ/wBo4/8AA+5q1481ieDXr6zUMVHlY9OY1P8AWsD9jaVp/wBm7whK3Vv7T/TUboV5B8dPih4g0D4jatoemWsLpb/ZsSSKST5ltE55+rV87KuvbSqS6t/me3Cm/ZRiuiRuahdXwjJCsPrXEXmsTwf6+UJ9TXzz4v8Air4yihSa5Kr5nAWHIrkbvxvZQWBk8UXdxHM+OA2MZ6da0p4qF3pcn2b6n083i6yg5muV/wC+q8t+IHjKW6QPol9LDIitgRvjJxx0r591HVr+AE2khuoJeY2zuYD3rBTV7bcGup5Qx7Ka5549y0jCx69DI6+IX7nVeR6R8Dvif8SPD2salL45vGuLSZh5COxbAGfWvotvjfYtNuk456Cvjf8A4STQANzPM5j6hiO9RXfivQgM7WBNYxxNS+p3rhjFbOP4n3lYfHrw7CV80OSPTFfc3ws8R2vi3wHpfiCzz5N19o27uv7ueSM/qtfgTd+KNLUZVpE/HFftJ+yHdJe/s8eE7qNi6v8A2lhj3xqFyP6VTryn7rOfG5LWwlJVamzdv6+4+R/2jPDvhq++M/iG71Db58n2LfnHazgA/QCvHv8AhDfBjrnMf6V0f7Vz3MXxx8TvG5C/6BgD/rxt68Ciurr7B58kpUDOSTX1+Bu4RjzdEflWYVlCvP3er/M7KLwL4MbWjGCjbvpXp2lfBzw3qTFLSNGZcZGB3r4O1v4iy6fr72dhchrjcu0Bvzq/4I+PPjxfjLB4ftpGNpMyKwBPoK5auOlSbp0pXsddKhCulKrCx93XXwa0GykK3FuFVerbRt5rltV+E/gh1SR2hXDD09a9n8fL4jtdBk1FyFs2iV5HOcrx618IeJfiBDNEv2G9MxjmQPsfP8VZ1sd7bBznKWq6dwjh44fF04xhdNXv29T7v034ReFLi1tvJSI4XggDmuZ8dfCOy0u0k1CzhTCjnArQ0LxHKttp1xbMwheNev0Ga9ke5TXvDV1G53EJXxzq82iPp1CMj3D9l6NYvgZ4ajRdoU6gMD/r+uK9+rxL9nSHyPg7oMX919Q/9Lbivba66fwo7VsFFFFWM//R/fyvzo/4KKfteeOv2TvAfhrX/hlDoOoatq2stYXdtrEctwI7cW7yh1jguLd1O5VG4kjB6cg1+i9fzx/8FmfgF4W8P3+i/tE2l/fvr3inUbfQ7qzkMX2GO3s7NyjxhYxL5h8sbi0jA54AwKAP2n/Z/wDi0fij8CPBvxQ8T3WmW2oaz4esNW1ZbSQR2trNcwiSQYkkkaJFbIAdyRjBJIr0HVPiR8O9D0C58V614p0XT9Es3EdzqV1qFvDZwuwBCyTvII0YgjALA81+Mvwx/Zp8GfBb/gml8SPiX4c1HU73Ufij8NrPVtVhvnha3tpo7WWQLbCOJHVM3DD52c8Dkc1+b/7FH7FHxE/bK0XXtMg8YP4T8FeGr1J5JJo5dQhk1W6iC/uLETwR+YIY182ZnDbfLUbhnAB/WM3jfwWiWsr6/papfQRXVqxvIQJ4JhmOWM7/AJ43HKsuQ3YmtvUNT07SLVr7VbqCytkIDTXEixRqWOACzkAZJwOeTX8uv/BSnwsPBH7VHwm8FNcC9Gg+BvCelm48vyxP9jvLqHf5ZZ9ofZnaWbGcZPWv2E/4Kqf8mOeOv+vnQv8A062lAH6Cabqul6zbC90i8t763LFRNbSrNGWXqNyEjI7iuA8afGz4M/DfUI9J+Ifj3wx4Xvpk8yO21rWLPT5nTj5lS4ljYjkcgYr8dP2YPjJq3wD/AOCS2v8AxO8OkJrNhfara6bKw3CG81C+jtIZsFWDGFpRIAw2sVAPBr5O/Yh/4J9J+2h4N8U/Gj4seM9ZsjcancWFlPCUury8v1jSWa7u5rnzGkQNKqlfleRgxLrgZAP6e9L1XS9bsIdV0W8t7+yuV3w3NrKs0MinujoSrD3BNfiH/wAE6/2n/j38Xv2svH/w/wDiV4xvNe0DR9J1eeysriK3RIpbfUraGNgYoo2JWN2Xk4welX/+CdH7Mn7YH7LXxy8ReHPG2jSr8LNVhvonvF1KwltJry2dRZ38dol3JcRNPGhQ/uw211Eg+Qbfyz+A37UR/ZO+OXxc+IGn6Y2qa5qmn63ouiRsAbWLULjUYZUmuvnRzDGsLMVTLO2FyoJdQD+uy98UeGtNuHtNR1axtZ48b4prmON1yARlWYEZBz9K2wQRkcg1/OP/AME3P2UR+1D431b9rn4/6rF4ritdam8rTbmRLiS/1hAkjT6ggBVIIQ6GK3wA525VYVCy/wBHNABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVxXimd7a1uZY/vDbj8QK7WviT47fEbxFa+Mp/COiMixwPbiYjO4CSKOTn/vqmqsYfE99CKibWh9CadqfkabE8g+dskmqc19PqMcm3jb90jrVPTZyNHsiYzMzINxAzzgVLNfXVmypDZkq3Uha8bE4OtWqPnn7vZHdRrQpwvy+8c3J/acqeSiSMQTyea+fPjx4nn8AeEbjUrnMM8i/u88H8K+m7zxBqkDj7PZEJgknb6V+W37VvxKTxt4jbwxf3Kww2WQVBwORXh/6l4OU1KtJyO2XEMqNOc4xSsvxPEJ/2l7uPSLazFurXUZk82fHzNk8c+1eV6n8fdcubmC5RFMlsHCMevz9a5RtM8Px3fkfaAUzyxIrP8W6P4dsdGe706dZJzjCgg17EOFcmptyhR1Z8vLirMp6Odvkeb6zqdxrGpTajdcyTNk1/R/+wD/yaR4E/wC4x/6dr2v5pvOIbDV/Sx+wA279kfwG3r/bH/p2va960YxUYKyRlgnKVZylu0fOv7Sfxk0Lw98YfEnhfULGa6eyFluIUMn72zgkGPwavmzw34Q1Hx9JfeMtKszDpksbnJXBG0EfSu2/a98BJL+0J4l1271SO1i1X7BtjMm0jybC2jPHvtzXhl/8ftd+EXhCPwl4cSO+0+VXR5wCx59xx3r4fFYde2qci1bf5n3UMXVdKFOcrxSWnyPBbC9tbfxFJYZxLDOQR/wKvoHxlrfh5tBXTbqQPcSBPlyOMYr4vTULu98RNrFup33Egc/icmvQPG2uxXl5YW8Ue64I/emMcjgYrGGV06idSekkfMLhbBUsZHF021J3tY+rLLwf4av/AA7p+t36qXgDbWOMAGpNC1vwTomtKbeUszcbUIxwK87udQjb4b2tlNdvbHH97aTzWH4W8Htqjx3GkzpJM4J2uctx6Vy0cujUpJSm92erWyZU61SpSqSTsra9T6xhvPCXiO4MchkUFWI6Y4Ga/Oz4+fE688Oam1r4dP7sOVbd1xnHavq/wu93cahdeGdoi1OzQ7lPBwQT9elfI/xH8FW+vPfXspzLbyj5F6k7ueK6MPgoYap+8d1uRlsMdDD1I4ipzyb09D9/v+Cf+qXOs/sjeAtTuzmWcauWP+7qt4o/QV7j4mtxJrU7dSdn/oC141+wfaJY/so+BbWNdixrqoC9MZ1S7P8AWuN+Mn7Snh7wT8TtV8DSI731gLfzAoB/11tFMP8Ax1xX6RkmIhTUZ9HH/I+dzzDSqw5Hupf5mn8ZtYutD8NyRaftE86lRu6V+Z3hfxE/hDxRdSX10QnmqWCt8oLGvVPHP7Qlt8Spb+x0YtJJp65ZV5I4z2r5y8B+IPDHjRtRvbgHfHIvmrLjgof/AK1c+c16tTERcX7qsb5LhKNLDtSXvO5+0/wvktfFHhi21S5XazKDz6V3V5e+GNNPk3RXeO3Ga8K+BPi3TdU8DW89jIpjVSvB/u8V5b8SvHx0/wARy2wYMAeDXBxDxDXweHVZO7bPKzL2GBoqaiux9ZXHifwxbgFIg2fYVVm8eaFEMQW2MdTtFfAt18ULtioVxn0zWPP8XJ/Kcszjbxgd6+HfG+Lkz52XEsI3cEj7tuviXH5pW3hXj1Fe9eBdSbV/CtlqLgBpfOyB0+WV1/pX5HT/ABQkgsvtMTku3QNX6V/s2arPrfwW8O6pc58yf7dnP+zezqP0FfbZPSzDEYKOZ4l/u5OyXW/f8Ga8O8SrG5lPBa3UXLy3S/U/n+/4KB+DPEPiT9sn4hyaRZSzqDogLqpK/wDIIsR2968l+HHwM8caBq8XiHVF/s8QglfNygIYc19//tV+Lrvw5+1B4+itreJxKdHJZhlvl0y0NYHiDxzeeNfhde6jNbxRS2SqMouDycV5+OzuSlLD0Vqj9yyrhRyVLF4nWnLl2eup8w33h/RLe+uL2ZibqTG5l6HFcwvhbwu80kscm2eQgAEjGaggg1XV97K+1VPJNYOpR3Wm3CSgmVYmBYpzXwscbinU5nM/eKvCeS0sPyukm11v16HrcPwnvfDVmPHMkyf6MVYKDwc9K+x/2f8AXZtZ1I6vqAUm4ChfL6fIMV8la18UNG1bwBLo9s8vm7FGGPUit74IfGfTvAGnZ1fayxMNuep3HtmvWi5OpCKldH5FnMKk8FWrVqShJS+9H6zS2Yu7d2iDEYr5t+ImmJapLJMypjP3uKTVfj1f3Pgq58Q6PAqRJEWXjHb2r8eviV+0l8SfG95OrXTW0YkdQsbFeAcV9HhafOtT8zbS3P6ev2VZFl+Avhh0IYE6jgjpxf3Ir+eL/go7qr2/7aXxFgDuoT+xOAfl50axP9a/cn/gnTe32o/sb/D691KRpbmT+2t7sck41i+A5+gFfi5/wUD0aLUf2zPiOzxg8aJyR/1B7GvZlVjRhGculjqy/BPGVvq8XbmPz3+1w/2cxzljnIFYVqI5Mf3lOR7V7DYeFtMWN1uJ4UJ6Kx5qpH4PZtQU2sG+NT8xQZFay4jgneUdD6HB+GNau3RpVlzXtv3Lzyalf+FkhWN3ePocZ78VJaXXia/8PzaZqMD4iwIQQe55r2jwtp9tIsdrLH+7X+FRya2tSgji1AIsYjiHtg18VmfFEa1ecYrez+4/pvhjweeV06FLFVrTjCSVtb89/wDM+XtK8O6/aeJbGU27iMMSzYOBmvre71FrO2S1F000hQB1LZxxxXLXl227EITI+761k2Npql3fyNNGTLKRgKOuPSuvLsa8XCTktkfM8ecI0OG8XgKMKjlz1OZ/dFHS2lzqcLlkbZn+7xX9CH7Ecss37MPgySclnP8AauSevGp3eP0r+fseGvEETqkltcRmQgIHBGc+lf0J/sb6LqXh/wDZu8H6RrETQXcI1IvG4wwEmoXTrkH1Vgfxrj4Zp1I4mTmtLP8ANH030isdgKnDuHpUJR9p7WLaVr25Jr8z8qv+CiOvNovxT8WNFIUlY6btweT/AKDbV+eGh+JX1hxbXzsJ0A25PrX6k/ts/DDUPiD8XvGMVjGJJl/s7ysjOD9hts/yr8/ND/Zc+K9rrY1CRIcA/dIbGK04rxVCo3QcrNI/nrw2zirl+LU6kVyN9vMdY+ONX8LQyQ6ZGsxnUg7snpXj+q+NfEL3oWFAtxKxMgfIA+lfZWnfs8/EHInlhtiyfwkHFcf42/Zl+JOr38EthBawuPveWCDXzOBzfDzpqhXtofdcTZ37DGyxeWQfM2c78MdOsvGOnb726dLtfvqGwK9Rf4ZWqF2S6kYBGIG7IyBXW+Af2f8Axl4b02OAxQLcMPnbByTXpUPwj8WTBoZrmOMn0YjFevg80yOEOScLyPjMXxBxPUqe1jWcYvoflHruteIbfxddaXJdPFHC+1ULEcV7f8GY7641u6fUJHnWIKUYnK8ivqPxD+x1Hr1+dTa6VLxzlm3cGvWfAf7Ntn4Q0xrWeUSzOOXByePesKfEWXUcXCVGC3OTNcwzjEYVwq12/mfp/wDsnP5n7P8A4Wb/ALCP6X9yK4b4ofCbwx4h8f6p4h1CMvcXf2ffwD/q4I4x+iivU/2cNKTRPgz4f0tCSsBvsZ/2r2dv61+Uf7Yv7UvxC+HH7Rvi7wboYi+xad/Zvlbs5/f6dazN0/2pDX6cvZ4iTm1dPU+DwzlSdnvax9XX3wA8LzTboJnh56KQK4Tx78J9D8N6TJOt3cs5QlW3DaMDvX50XX7WHxQ1sC6F15EoP3UZgDWun7S3ji6sZLPxA4uImXB3EsR+dY18MqS9qqWh7eEVOtUUJTSZr3uydDG1y8gDsAS2ehrp/D801vFthvHwgzs3cV5HoPj/AEfW3a2SDYyknOAOtd3ZapaxlhGjBiOuOK7cDjIV48so2a7nXiaEac04PmXdHcjxZNO2ZSWaM4z1Nddpniy0iVPMBJPXd0rxNJY1UsPvMeadPqDIiqveu2rgaNVfvYpnGknI+ndO8WG91G3sLVI5C54yMiv1S+DCSR/DTRklVVYC5yE+6M3EvSvxn+DkS6r42toZWbaM/d69K/av4Y2cdh4H0y0iZmRBPgt1+aaQ/wBa8KeBp0cQ5Uo2TRz49WpL1/zPxy/bI+J17on7RHi3QYYzttv7NwwHXzNPtXP/AKFXz94X1vxD43eS2tQ6W0ZHmuMjFel/towx3X7V/iyzjw807aUu3v8A8gy0rsfhx4WtPB+m3un3IVZJo1d29BjNTVxNaXuN6bHl0sNTgnW6nOeJ7O2tfh/NECEijQ7ieOa/PNtasmaS3hfLI5C4PXmvTPj/APGqQC48IaDL+63FZGU+/tXkX7OGj23iv4raVYasBJasztKp5BwM1VBtaGdTXVn1v+zdPeWnjKB7iCVLe46uwwvAr9AvE1skekSy2hEkmAQF5618kfEDWBpUWtW/hK2jgWyEQheJcMOOelcx4N8Za1aaRp+sapq0s0s7OssDyZxg4HFe3QxclTdJs8zEYf31Uidl4mt2abzHyPMzx9K8J1wMI5Y5V2lj8p+le2eLtcsVniLyAI+CvPrjNeVfEXUdMfY9gOBtH1ziuLETWluhvTuftr+xEzN+zB4LZs5/4mvX/sJ3deFfHWyju/jBrxmmWKNfseSxwP8Aj0hr3/8AYvRY/wBmjwaq9Mamfz1G6NfLvx+8SaR4R+N3ia78SyLJZ3n2ExRkg7PLsoAeD0yRmuOcZTXunZCailzHA6vpvhSW3HnedP5XO5MEV5n4m8BaB41Y3f2xYouMqWAPye1ea+PP2nL2XWH0vwBo1rcWNsQJpTHuyp9xXo3gy/0X4gaGmu24ktpW/wBfDHhVU5x0p3lB2ikwapyet0a2kaFogLaXbzxHbEyoWIzkLXx74y8OeLvDNje6rMsjpA7EFQSMEnFfTF3o2n2vit7GK8lh8wfKxbGCB2rL1N9fWzl0e7a1vLRj9+XLEjPeprpTj72h6GBrzoy/dz0Pz7tfFOu38puhHdKjEgqoPbirVrd+I31FCBdzbuicn9K+xjDb6YuBZaQkagn5lwTXheqfEu8g1kz6dp1iogbGUTg1x8kZNrmZ7rzSktZQv82XX8La7deGLjVr4SwNGm5VbIIxX7h/8E87yW//AGP/AAHdTsWdn1sEn/Y1i+UfoK/KTTPE9r4v8JyGfZ5k6bWWP7o7V+wf7EujQaB+zH4O0m2GI4W1Yj/tpql25/VqrCw5XoeHja7qb7XPiL9rmVYvjL4lY8cWP/pFb18EeJPGN6LGXSrNsmQ4AX734V9v/tiylvjX4ltwcbjp6/nZW9ez/s2fszeA7vw9a+KtftF1C7m+bZKodBz717VfFS9mo03Z2PhXhI1K8+ZdX+Z+Snw6+A/xL8e+NrTWoNJu0tSWLyyRtsxjg5r7o+FX7IN2nj248TXlxEJ7IxloweRkelfrVD4e0zQ7VbTSLOG0QKQqxLtHSvGvBNjdQ+M/EktwrJkxYU9DxXCuZ3bZ6MoKKUErnF/HLQZovgxqywn50iRR+HFfhnpujXWlpdG5bIe4Q/8Aj9fv18dklf4O60vMb7B7Y5r8CfFN3PBCsUMhbdcKGOf9uvncyrVli6UIv3T0MLhlKLkkfpNpep2+neEtMvJUeRUi+7GMt0Fer/DHxPFrdlqNuI5I9iceYMZyDXl3g6GztdB0oXzCSNoM7W55212vw9nt47m8EeFDBsAfQ1UK37xJC5Uj7w+Aa7fhRoo/27//ANLJ69hrx/4CnPwp0U/7d9/6WT17BXv0/hR0rYKKKKsZ/9L9/K/Fr/gtrFKfgV4CnCMY08WlGcA7Qz2NwVBPQEhTgd8H0r9pawPE/hTwv420S48NeMtHsNe0i7AFxYanbR3lrKFORvimVkbBGRkcGgD8Zfh5+0R8PvjF/wAEwvHfw/8ACf25NY+G3w1t9J1yO7gEcYnNtJEjQuHYSI/2d2B4IBGQDkCX/giL/wAke+Iv/Yy23/pIlfq34c+AvwP8H6PrPh7wr8P/AAxpOleIoVt9YsbLSLSC21GFAwWO6iSIJOgDsAsgYYY8cmuj8EfDX4c/DOyuNN+G/hXRPClpdyie4t9E06306KaUKFDyJbRxqzhQBuIJwMUAfzw/8FkvD2veGP2lfAfxRa0aXSrvw/a29tKykRPd6VezzSwlgeuyeM9uG4zzi1+3L/wUo+HH7S37P8fwn+G2h6tY3mr3Gn3etzat5MMNqts/mi3h8qZ2mYzomZGRIguM/OwC/wBD3jTwF4I+I+iP4a+IPh/TPEukyOsjWWrWkV7bmRPuv5cysoZezYyOxrgtH/Zu/Z78P6FqfhjRvhn4StNI1ryv7TsY9Es/s98Ld/MiFxGYiswjf5kDhgrcjBoA/HP4CfCrxB8Zv+CP3iXwN4UhkutYe+1LUbO1hXfJcyaXqEd55CKASzyrCUQDksQO9eHf8E8f+Chvw2/Ze+FniL4VfFvS9WZYdRudZ0q40u3jmaWSWKNJbOVHkiKSb4gY3JKncwcptXd/SB4S8F+DvAGix+G/Amg6Z4b0iF3kjsNIs4bG1R5DudlhgRIwWPLEDJPJryXxf+yl+zV491y58T+MPhj4X1TV7xzJdX0+lwfaLiQ4y8sgQNI3A+ZiTjvQB+dv/BPz9rn9qX9rD4yeJdR8Sw2dr8LtFiu5D5dgiOlzcyD7FZC6ABkkjiYu5AHyoC2N65/MX9jb9mnwD+1J+1f8RfAvxFlvE03T7LxBqUIspPKY3f21LaF2bqViNwZQowGdFDZTcrf1T+EvBvhHwDoNv4X8DaJp/h7R7Td5FhpdrHZ20Zc7mKxRKqAsxJY4yScnmud8K/B34ReBdeu/FPgjwP4c8Pa1qCSR3eo6VpNpZXlwkriSRZZ4YkkcO6hmDMcsATyKAP5tP2J/i54o/YN/a7134DfFuf7H4e1jUV0HWizYtre7DA6fqaZ+7FIsi7mO0eRNvblFA/qS68ivKPGHwH+B3xC1k+IvH3w78KeJtVaNITfaxollf3RijzsQzTwu+1cnAzgZ4r1SKKOGNIYUWOONQqqowqqOAABwAB0FAD6KKKACiiigAooooAKKKKACiiigAooooAKKKKACvzE/aq8N69o/jXX/ABjos7Fr77IfLB+6YbaGMYHvtzX6d18R/tG+GdW8RXmqx6NKPtKiAqhPH+qTt71w4+3s1fuduASdWzWh+ZkP7X3xZ8DxiHWbWSSGE7flViQM4716To3/AAUFvN6JqcLQ5xzKMD+deTfESDUND0u7XxdpR86LoVj+VsfXrXxPquvaJrR+0RxxwPuI8qUAYwewrnoVFVk1bRdUz0MVH6vTVSM02+jWyP2LT9ujTr3TJoUijMkkZVWA7kfWvzL8eapfeJ9eu9alcyPcOW654zxXllzoWpXFql9os/UEhEPHFchB4h8TW6t9pRyEznAPavToU4xd73Z89mM62JgoKKS306nYXsE8YOdwNZux5YAHYke9c5/wnU06ljHvA65FWl8VWqWS3EsRCsewrpm0ldniwwVVdCO5TbKa/pW/4J9/8mieAv8AuMf+na9r+at9X0q5I3NsZugJr+lf/gn+UP7I3gMxnK/8TjB/7i17WN09jqwUZKo+ZdD8zP8AgoXr+o6X8d9YVopJLZfsPlsgztBsbbdn8Sa+GfCHiGx1rxNeeHNTaV7CZR5RPRTjJ/Wv2p/aN8IaD4m+LGux6vaJPn7Jyyg/8ukNfO0fwJ8EW7tPp9hGkx6NsGQa/L8XxNSoYitRqR1UpJfez9KpZHUqUqdWD0aT/A/Ok/D3U11Qmwv1SBdxRS+GOelen/BT4YXMd9f6z4ruDcTQqWWNzlcAHHBr0Xxn8FvFltrhvtGceUD8q84rh9Ut/ir4UW4ZLLzhMm07FYnpiumGbrEUXCnNJsyngpUqinOLajsYXiPWB4g8P63rClYYNGIVIl4B3EjpXjXgrUviBawHxdptxMsFu2cKTtAziuf1jTPiLpGi6kt5azJbXzhpV2kDg5r3f4ZeJPDtt8M7jTdSdYpkQhkJAJJ9q9bD1HSp+57ybt6I82ty1prm0dmekfDvxXLqmunxpdzFbmRCkm08sdu2k0jw9fanr9yyQs8c7lirjJPevPPgprOmWC6jeX6+bAjfu1bkDJNe1+CvGdvd+JpLpCFjBwAvAFeLxDWqKcqVFWsezk1ODpxqVHdvoftb+ydp76X8APC1hInltF/aOVxjG6/uW/rX58/tN/CfxF4r/ad1nUPC8afaL5bMSSSg7FCafbp1HstfpB+zhcm8+DHh25P8f239Lycf0rxT4w/ELwf4D8ZeJNS1ieGK7gS2YAkB/wDj2jIxn2xX3GWXeBo8+/LH/wBJPk8wjfE1Uu7/ADPi7wn+zxpfwH8FeIvHvjCdbi5uYjv2nKgkEcZ+tfnR4Nu47eXVb/S2K2lzMxLn7oBY9a+mfH/7Xf8AwtzRNW+HtnB/o1xuCSEf3MnrX51aX4z/ALD0PV/C7SlJjKoXJwRl6725N6nHBJao/aX9n7xbDoPgOO0jmEi/McocgZNc747kvNU12S/EnyN05r82NI+NGqfDbSYdJiuhNFKAS27OO9X7v9pme4jy12M46bq83M8BDGQVOqnY4Myyqjj6SpVm0r30Ptea1mScO8v61FJChTc0iAHruNfnzd/tBa5fb0sZ9zjpyTWFcfF3xkbZ7uSdikf31BPGa4KPC+BW8WeA+DMuW6b+Z+hWrWqTwrHaXSgr1+biv2R/ZO8z/hn/AMK+aQzY1DJXp/x/3NfypR/E7xZq8Jks7qRR/ssa/pk/4J439/qf7HvgC+1SQy3Mn9tb3JyTt1e+UfkoAr62FZ08HDBQ+CLujvyvh3BYGvLEYeNpNWevQ/Nr9tFMftQ+NGH8X9lZ/DTLSvNPBGvonh7WtGvU3wSCPaMda7D9tyXUW/ap8cpaAFYhpR5/7BdmTXyPZ/FKDTrGfTpYys7EAsB6GvzzF4Wr9anOKvqz+gMqz/Lnl9LCzlaSUU7+Vtvmei+IdJutMEF2CIobothI+OnqK8s8Sa3Z+GrFp5wZWm6Keas6x8T7LU4LW3LsBb5yX6c1jWFvpXjZru5vZAUh2iFQfXrXk0ctnLEWrq0N2fd5lxlg6ORuphZKdeTsvv7HE6NOPFsj21nJ9nlz8qg4z+FdN/wiF7Y3SxajK0kQ+YYOfu81S0/wxH4X8YWU1tKPInLfMTwMDvXY/EjWf+EahtpreaO6M6tnadwWvWqYaq5xhhdmfC4POcHWoSq5v/EUrNP/ACO60z9obTl8LTeBY7dzLIBECRxgV82+LPDUOn6xZSRLhLpmbB9+a4XS9QQa2l7LhcvuP516F8S/GVpq76cumIFazU7mx1yK+hp4WcWqcD8mryoycmu+nof0wfsB2gsv2SfAdsBjYNX4H+1qt4f618SftkfBOHxF8ZfFPjBImSS6/s/fKRhW8uxt4hz7BcV9jf8ABOi+m1H9jb4e3lwcySf20CT/ALOsXyj9BXln7d/iR9N8N6ta6ST9vBt8+X94ZRCM49jXTjaMnTh/dab87JnRla5sQoRdr9ex+F/xK8IaF4Y8Rx6ZI82WYDcMdTX0F4X+DGpXWmWZ0qQkaiAFdjwMeprznxx4U+IGq6RF45udKF7p9qQ0s6RljjI717H4M/aMstO0fS1S1AtrcgYC/NlTz+orjqYjCV4NN6I+pyOObwx8oZfZ1fPrY+kPAn7CXj+eSC5u7y2jEo3L8xBINc3+0x+z5pHwG8JL4l1e8kur+bBSFG3KcHB4r24ft9ImmW40bTmM1ugVTInHTHY18P8A7Svxq8ZfHaO00+8wsmJDHGmQAOp4ryqGGyyVZwhrLr6H7RxBnHiNQwccwxloR0irWT10Vj6+/Z48O/s8+Mvg8fGevtBDqawSl4p9gIZQQMA818h/DvxF4BsPG8utaifNisrh9tu2CGUMccfSvnj4Px65NZ3nh1biZSjBBGD8uWPpXtF78A9Q8FoPE3ifULW0hlBcq77Tj8a6vrEISqUaEdEtD4zOcvr1aGAzHNcXObqyfNFv4Unrqel/tLfHXwv4k1PRtR8EWY082jAMgUIjHIAyBX7afsr+Jr/xh8A/CniLUyjXN1HeBzH939zeTxLj/gKDPvX80trpWifEPxVD4b8O3qyPG2N27KknpjFf0kfsheFdS8E/s7eEfDGrusl1ZrqG9k5UiW/uZV/8dcV2ZXOcpL2is7O6+aPn+PY5VQ9pQy1uUXOLjJu/uqMk1827/I+dfioHn+N3jaG3BaVP7N6dv9BtzXmYfxDu2xx8A8kg5FW/j34gv9D+NPxJutPOJYhpOD6Z0+2r5kj+JnjWeEyJPEoJPc1+M+IuMlhs20ejR9F4e8OQzLLnN7ps+ktU1qXSrm2spbyOKa5zhXbBJHpWjbf220+VYMwHXnvXxLr2oeJvEWowajNcp5sJypBPy13ll4t8XwgQ/bVzgDcXPYV8bisZGydOWrPuMv4RxvPNTkrLa59Z20l9Yq97qcn7tATjNcZN8V9HZm8m2kaRCQcqO1fNGreO/ELW7Wl5eO7dgjHBrjl1jUt3mLHKS/3sCvZy6rh1R9pVlqfDZ5lWP/tCWFSulbVH0tf/ABnvWJFpaRqBnl16VN4U+Jmsapqa292YSsoOAnUcV8sSpq94HCRXIU+gNSeErHxJba/b+TDdKMn5mBxinQxlGpXjGGrudeL4Qqwwrq1HbQ/eb4Du0nwp0R2OSTedP+vuavw7/bU8H6X4k/bA8cLqN+tornRxy+3ppVmK/bP9nFnb4MeHTJ97/Tc/X7ZPX4w/tu+EdW1D9qzxZqcCA28j6Sd2Ofk020U/qK/pCljKWHw8atTRW/G1z8awuAqV8ZKhTV9X917HiGufCrwro2nh9Hu5LiSNcklgQTXh2pw3DgoI3wpILKOOK+y20q3vLW1tUCQhlCsTxnivO/G3w+fwux1i1kE9mmGdCcg59q+Qo8fVa9T2FWNuyP07GeH1KjRU6M7vr5Hkvg/w3b3Ng+oWUr/aY+WjB5/Ku60fxEQxtpV+7wSevFcTc/EO0srlJdCtFhUgiXC4BPTtXOx+LnzM5iVS+ecetepSxGKjXeIktDzcPRwMqP1eMrbnuy67ZsCpNQT61akYBJAr5RfXtWFw2yZsEnHNWjqmrnb+/bn3NfbRx6lFPufHuDjNqOtj7k+EPjmPQPF8d6BvC5689q/dX4F+IR4r+Fmia8AF+1fa+B/0zupo/wD2Wv5sPhlpWvahd/arNJZSOuASOa/of/ZOtbqy/Z/8K216Nsyf2juH1v7kj9DTrypSw/Mn71/ws/8AgHFj1U5U2tD8Z/2zNSNj+2x4olDYEUuj59s6XZVyH7Rvxrg8NQ/2doM4N3dQIrMh5X5R6V0/7c/hGW9/az8bavHOY950g4Bxjbpdmv8ASvgrxto4i1yC81W4e5V+DuO7GBgV4cJRc2jym3seHahfzX9091cuXlkYliTzzX6Uf8E/vhbpmueN4dY1GQSPg7EU5IGCDxXxPb+FtF1bVH2744UAJ24GOK+9v2IvE3gnwL8SYZzqT+UTt2SOMdMVvLS1kJn63H4P+A9GZp/7MF1Fdn995iBuldDafBf4WzmOFfDtsO4HkrxW74o+IPhZPB2o6tY3UR+zwmRF3DOcEj9a/Gnw1+1l8VB8QRrLakp08Xfl/Zi7fd37fu/SteewuVdT6k/al1z4bfDfWYNIk0SPamcsIhxxXw3r3iTwz4whkuNFtzCiFSMqB0+lfQf7aWpWviq907W5MFbqEM+PXaP618k/DzSrHVc6fay7GB5TPJp1YLkv1ObmfNbof0D/ALGU0dx+zX4OliGFI1IAf7uo3QP6ivzm/bVgsr743eJ7e/uCqoLDaufu5sLev0o/ZF05dK/Z58J2CdIv7R/8e1C5b+tfn/8AtY6XpV18dPFE16m9j9gyMZ6WNvWLqwpx5puyOnlco2SufmDZ3reFLu9s9NzNFN1frmuh8E+Mdb0KKeCCaaGCY5KqSCPwr3E+HNDmYywWsYX1KikTw9pW4oltHz3C1zqvh07qe5caM5KzR4fquva7qmoLf/a7veh4Ksc11cHjDVn0ldOeK7kZf+WmMsfxr0y20CxywSKPj2rTtdMtZGMUIjDCpeJoS05jeNCa6Hxx8QtG8feIAj6BLeQsOoYkD9Kt+CvBfjK108w6rbeZMwwWZSetfZbaS6cDaKqfZr2Fvukj2qJ4/DR92Ui3CpbY848C6Dq3hvTJbEojLMcksORzniv3b/ZMV1/Z+8KrIAG/4mOQOn/H/c1+O9ut1ccLHt9civ2S/ZZikh+A/hiOXG4f2hnHvfXBrXD4mjUly03cyqQko3kj88P2r7W3n+PniEzMfv6dx/25W1ffHwSaw8M+ALS/1O6jtbRkGHmbaor4E/auCH4/+IfMbaok00knoALK2riP2iPijH4g8NeE/hX4D1tme4DpeG1l+dTwQDisqFSUsRJdDzJ0owvNvdn6ya58SfDDadLqGi31vqJtyAwt3D4ycc4rlf7X07V2GqWdzDAJ8F2Bwxx61+c37Puj618OdR13wXr881xLqtuphNwSWTahbIz061laN4N1820t2+p+IXSL7S2IXJi/iIx7Cu/mVrmbkptdD9BPjbr3h/8A4V5qOny39u0lzFiNd4yxA5r8AvGiaPo8Nykl4plWbeVLdMPkV6D8N/h78V/il4hu01PWdam021uGUZkY4UsRXlX7UfgjTvhb49OiWMk92soTcbo7iTtGf1rzcVlbrVI1vaadkb0sZGF6VNa9Tu739s3TvDuhWOniwluWtkKtKE3Ke3Brsfg5+2PF4m15rBbIxF1bb8uOxr4v1X4fzXvhOTVUEfyLuaJfvLnpxXPfAqCHS/Ev2mdtnzEbifu9qpYOk4369zS6fQ/rO/ZX1iTX/gP4a1eVQrXDakSB/s39yv8ASvoOvmP9jd7WT9m/wg9kxeE/2ntY9T/xMbrP65r6crvgkopI1WwUUUVQz//T/fyiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAr5o8XanbWXj7VoriNn3/AGftn/lhH0r6Xr538aeG9Yv/ABleajFZTywKYfLeKJ234iQHkDBwQRXmZsm6KUe/+Z35e0qjb7Hmut+EfDPjCJ4vEOnRssvAMiDv9a+KvjZ/wT20bxPYT614Hb7LcgFlRcKpP4Cv0Y1XQtWvPKzYXoGOAkL4GPXitjRdH8VwTLFcRzC2XsUcHH5V4eFpzpz2Z62InCpDdH89Wm/DTxZ8LrG60PxRaTeZbbgszKdpHPc1gQWuj3WlQagqK5cSiQY9Miv6QvE3wv8ACvi7T5bPW9HWczLgyNDl/wA8V+fHxR/YLaC0vL3wB9o+ZWZLbYx5OeAqqTXvJTsuY8VNJu3ax+O58H2j+HJtTtUG1mbt0wTVHV/CZf4ZQarboNylsnH+1X03afs+fH7RNFv/AAtdeAPE90VZvKmg0W9eNgSTwwhwfwrVk+A3xnX4LXeit8O/Fraln91EuiXpk+/nhfJ3fpW0XLXm1RnVUEk479T8zrlrqK5KzcOuOlf1Tf8ABN93k/Yv+HjyHLH+28/+Di+r+dg/svftIzzeZL8LPGxOep8O6j/8Yr+k39g/wx4h8G/speBvDfivSr3RNVsxq32iw1C3ktLmHzdUvJE3wyqrruRlYZAyrAjgiuhJJ6GB5V8cCR8Wtb29vsn/AKSw1xVjGpIc/lXovxk8I+NtR+LOt6jpWh6ld2Uv2Ty54LSaWJ9trCrbXVSpwwIODwQRVXSfh74skjBn0XUom9HtJV/mtfhmb5dXlj684wes5dH3Z+qZbiqccLSTkvhXXyRxF1ZQStlhVY6Jp852yRLID2YZr0K88CeLYpPk0PU5AP7tpMf/AGWox4T8XwkbPDmrH/tym/8AiK8X+zMWn7sJfcz0vrtFrWS+9HlPiT4YaHrejyxXFpGUYcgLXxH46/ZUtbuZ59DlkgDklkBwv5Cv07m8P+ODbGBPD2q4b/pym/8AiKbb+A/E0kB8/QNSDY6Gzmz/AOg17GW1Myw0rxUrejOHGRwVfSdvvR+RukfBPxJ4fil0iNQ0M+N0hzkAe9ex/D74OsbtLe0LEIcyOe5+tfZXiD4deNpybez8MavgnG9bCcj8wldz4Q+GHiTQrIbtD1ESvy2bSUH/ANBr0sbicbWhz1Yu78mcWEo4SlLlptWXmfWXwF00aR8JtC04dIRdj87qZv618MftNfD7wv4g8c+Pta164kDxw2RRSRsQixhXv0zjNfob8NrS5sfBenWt5BJbTJ5+6KVCjrmaQjKsARkHP0r4Z+OXhzxb4r+JXjfw1beFdduNP1FLBYtSt9PnktJMWUG7ZMqFG2tlTgnDAjqK/TMDzxy7D9+WN/8AwE/O8597FVOTrJ/mz8B/hnb2lh4qvrOKQSIk7rG2c5BY9/pXtNr+yRd/EjXdS1TRmaIhBLk8Lwua+gbT9g7xzpGoSXthouuDLtIMWNxnk5/5519bfBX4b/E3w5DqFnf+Gdct90ZjV5tPuI93ykcFoxmu6rirJuKOOvGdOKaPwe8U/DjX4ry70mW4iY2j+Xhic9cV6l4N/Zr8M6voK3Ora1HFfyYwgkAUc+h5r7a8efsV/ErV9VvdV03Qdf8AOuJGfiwuSDkn0jrw/Vf2Of2ktOBfTPDPiKUjoF0u8Y/pEa6YyjNb2NbTiveVzwP4i/BGx+F0VtcaTeLfNOrMQG3Y2j8K8Gt9Znu9KumkTaCcP6cGvrLVf2fv2t4ruKTUfhz4w1KGIMu2PQdRl4PHaA153rH7Mv7SrWs0en/CHxwqSnJUeGtSz+Qt6mlGUY2m7sqTTd4qx4PHq0uiaRDcW3IlJ5/Gv6uf+Cbt4mofsW/Dq8QYEg1vp7axfA/qK/mZP7NX7UL6WNMm+Dfj1lTO0jwvqff/ALd6/pu/4J0eFfFHgn9jb4feGPGmjah4f1my/tr7Tp2qWstleQebrF9LH5kEypIm+N1ddyjKsCOCDW1ibn5P/t4+L4tJ/a48aWR+QR/2SJG6bt2lWZH86+M/FQ8Ptp1tqOnMrzybjKvBx6V+kP7a37M/j/4i/tHeL/Feh+Ftf1Gzvv7M8q6sdOuZ4JPJ061ibZJHGyttZCpwTggjqK+L9S/Y0+Osan7D4K8VsPT+x70/yhrycVl6ddVqTt3PWoZxRWDlg8RTvro1ufH99cyNIY+FBPavYfhq8VhfIXO+JsZXrmuru/2O/wBopSWT4e+LJMemh35z/wCQa29C/Za/aW09EuV+HvipTnhW0O/DD8PJqcbRXsrS6meAxvscVCvBX5XfUT4sy2ul2+nX6J5fmBsRgYI/Cvn3WNYl1ZUSQ4jTO0HrzX3joX7J/wAafFciS+NvCHiZFjxsU6VeLj/vqKvVrD9hm7dN9z4X8QgjsdPnH8466soqYLD0l7R3a8mZ5lXqYrEzqqNuZ3PyUe3j6jrVWfrjrX6zeJ/2IdVgtydH8J+IpXxwBptw38o6+ZfEH7HPxsF75Gn+APFLJk4ddFvSvHuIcV7X1/CTjzQ9djzp0KsZWaP3R/4Jugr+xd8OwRj/AJDfB/7DN9XgP7QV3pGo/HHxzoOv3SmHbpvkwbvm5sLdjgH1JzX1X+wv4T8SeBv2WPBPhbxdpt1pOrWP9rC4s7yCS2ni83VLyVN0Uqq67o3VhkDIII4Ir8zf2y/CHxyP7UHizxR4G+H/AIp1/Tn/ALM+z3em6Ne3lrNs021R9ksMTI211ZWweGBB5BrClSjiFKztpdEVKsqLi7dTvdBtrTRfhxcW0e6bSpQ4ktbnnAyf4eleX+G/2dvhl4y8NnXEe4tIQZZEWLaq5BJOK8UvfEH7WDWJtI/gx4+bjDJ/wi+plD/5L16L4O+Jv7R/hnwVL4eb4D+PWuNrrH/xSmp7AXznP+j+9eB/ZMaUJ+zj70nqfSZdnVSjiYYhScWl0POpfB+ivK0Xh+4MFuGZfMu2AHyHByRXjV7LBH8RrbR9O1G3u2iDgyQvuQZXkZri/G/wx/bP8STvcQfCvx9Z28ruwhtfDeqLgMe4+z1l/Dj9n/8Aai0fXYryf4SePEkZwDLceGtSVRu4JJNuK48LkHs+arfVq33n63xF4x1czlh8G4/uYNN33bQ66+IXifwP4q1bw74R0xL++vHj2uELuhHPy4r6R8C/sx/tE/tBPFd/EXULuw0pgCIXd0O0+gPFfqT+z7+yZofh/wAPWPiLxh4bkfxFMu+c3Vo6yIewIdQwI96+y7bw9cWUQhtbGZEQfKqxNgY/Cu+MFBe5HXY/JsxzSpi6sm5vlu2l0Vz8tfgr+wB4b+EfieLxRNez3UkJyI2YMpJHcV+wfw+gjtfCGn28PCIJQP8Av69ecS2WrTuYm0y6Cjv5D/4V614Xt3tdDtoHjaJl8zKOpVhl2PIPPetMNGTrOcu1jzsRUvSUfM/IH9o7x9pPhD9pTx/a65bvcWt3/ZOVQZPGm2vrXjcfxf8AhLCmI9IvG9vLXFep/tafC74n+I/2ifFms6B4L17V9NuP7N8i7s9Lurm3l2afbI2ySONkba6lTg8EEHkV89D4I/GQdPh14mH/AHBLz/4zRnHA2CzSpCvVavZfkVk3FmY5XTnTw8nZt/mdmPjL8OEGbfQbon3iGKRvjX4TK/uPDz/VoRXKJ8GPjQowvw88Tj/uC3v/AMapW+DPxrYf8iB4pH00a9/+M158fC/LebdHqw8RM5aV5M25fjFo8ilk8NRE9i8FV5PjI+AIPD9og9TDWavwZ+NuNv8AwgXirH/YGvf/AIzTP+FLfG4nnwH4pI/7A17/APGa7YeH2WwfI0mjjrcfZjUnZt83ckb4w+ImyLbSrFB/1zNZc3xQ8bSyrJBbWkWMglQR1q8fgp8ax08BeKfw0a9/+M1KvwX+N+cDwF4ox76Nef8Axmu+hwJlFCoqqSucWL40zh03QlNtM/Zj9kS9u9Q/Z48J3l8QZ5P7SLkdONQuQP0Ffjf+3frvizSP2oPG7WqyiwH9k+W3Oz/kF2m7H/As1+zH7J+ia54c+AHhbRvEdhdaZqNv/aPnWt5C9vPHvv7l13RyBWXcjBhkcgg9DXxx+1v8DfH3xH8ceIbnQtDnu7W6Fn5VxDaSyltlrCjYZFIOGUjj0xSx9OjrCSvG+h08P1ayqe0hK0uX/I/GyL4leKLp44EkZip+UAnNdb4i8deNE0kW+rqBBOuACDnivoXTv2HvibGhnfQtZjnU5GLG4A/9F1rz/sU/FnVZI4NT0zWXi7Zs7jC/nHXlSwuAg01BfcfWxx+Y1E71vxR8RWv2YaDKxCeYeST161xpkupm2orMM9hX6v8AhD9g3VbeYprGn6m0fHDW0u0/mle+6V+xn4f0q0VDoNxNIepa2Ykf+O1nDHQhObjFtN9hVcO6sYWnGNl3X4n4UW+lalPOBFbSOQegX1rtR4P8RywxSW+nzuV6/Ia/byz/AGaNN0O78u38LXM4fq/2KRlH4ha7H/hUS6Za7bTwrdSSPj/lykIH5LU1c6lJKHsnZeRdHK6cFdVld+aPhH9ma2XQdJuRrunsks4UKWTG3HXrX7PfBQ2jfDLRjYnMB+1bf/AmXP65r5ng+Fzwpn/hH79WxyqWkm3/ANBr6o+FWmtpHgLTNOa1msjEbn9xPGYpE3XErcqwBGc5HHIOarK8VUq13zJpW/VHDxHSowwa5JXfMuvkz8L/ANuTWkt/2ofG1oAxdP7K6e+mWh/rXxxeaa3iDas1q20Z+fb0/Gvv/wDbP+D/AMVNf/aN8X+KPC/gfxDrdhd/2Z5N1p+k3V1BL5WnWsbbJIomVtrKVODwQQeQa+brH4TftAqVj/4Vj4wRO+dAvx/7Qr1XRSk5I+HufI0v9o+H9TuoYbV2hYY3FeOlO+FHjHRPh/4tt9e1yEzxRyFvLUA9+4NfY1z8EvjbqDmOb4Y+KlQ9T/YN9k/+Qa4zUv2T/ijeuSPhr4tXPcaHe/8Axmur2kpRUJdBKOtz6Q8e/tq/C7xP8M7zQtCsDZajPEqKQiryOD0NfmVZ6hcw6r9oikbLO0gweM5yK91u/wBjj4zMd1v8PPFqkHjGiX3/AMZpJf2Yv2grG33Q/DTxdLKoIXGg37dfpBS5lcpnknjL45eI9esIdM1SQyNa/KhyTxXWfCbxzp1jL9rvnEMp6t0rF/4ZI/aUvrovL8MvGCbmzlvD+oAD/wAgV0E37I/7RlmUjh+HPi1/UroV+R+kFb8ylHlOf2dnc/pS/Y81S31n9nLwjqVrJ5sU39pbXznO3ULpT+or4G/aulT/AIXv4pgY4Lf2f/6Q29fbP7CfhTxL4I/ZV8EeF/F+nXek6vZf2t9os7+CS2uIvN1S8lTfFKquu5HVhkDKkEcEV8fftRfDv4k658ePEOr+H/Ceuapp832Hy7qz065uIH2WNujbZI42U4ZSpweCCOoryszpc9NRXf8AzPQwkrS1PlVbGO3CrHKxU5zk1Zg09YyX3kjBxzXbv8KPi6V48DeI+3/MIu//AI1WzZ/Cj4rJEDL4K8Q8dv7Kus/+iq+f+rW+yerFxPLNNtBaSvuZnLdjzWlBawRu9wmQx7V3g+FHxW+2708E+Igh650q6/8AjVaNv8JPiiZGaTwb4gAHQf2Xdf8Axuj6vLsaJxa1Z5XLfOJljVGY564q3dajHaw+ZKR8o716S3wh+J2TIng7xBnt/wASu6/+N1zmufAv4q6quw+EfEKK3XZpl0P/AGnWP1Oad0hTdl7j1ON07X47077UhsdcV+yn7Lsxn+BXhmUjBb7f+l9cCvyV0T4CfE3QxttvB/iRvXdpd1/8ar9eP2btK1XRPgt4d0vW7K4069h+3ebbXcTwTR7rydl3I4DDcpDDI5BB6GvayylKNRt9v8jixbk6K5t7n55ftYaKb/4x+KpB1KWR/Kxgr86/hELO0+NFobwF3hmYkNyMjpX6q/tG+BPH+tfFvX9R0Lw5rF/ZzCzEc9rYzzQvttIVba6IVOGBBweCCK+BvE3we+M2keKBruhfDbxTJJbtuZ7fQ71y+fQrCc16WHtTqyaW58/iYOSPfPGPxOWL456RPqfl2SPE6Nn5RgR4Ga+svDfjLQoPhlNturNZXhnZfmG49TX4xfFv4c/tTfELX7a4s/hh47gZeFuD4e1EbeMct5HFcNe/BH9tizSLT7Twh4+kiUFTt0TUimG69IK6p26GdGjLlvLc+rfhh8dfFFtqGpWHh/UND0y0S4cTNduUdvmOCMV81ftY+LLHxN4u0e9uNQtb+9MmJZbN98R6d6hm/Yn/AGgb7SLOeDwf4sgvZtzXQfSL1eT0yPJz+dRXP7Cvx/8A7LFwfCHiWW5t+UX+ybwkn2Hk5rHnprSJ0xpJO59HeH/g5aaf8I/EnxQ1K4DaXJbQ/Zgx+UnG1vbrXwF8Dk0jW/iC+j6rOILSeVwJCcAcnHNfSVl8M/20bvwtF8NrrwF4zXQlYK0b6FqIjKhs94MUah+w78b7XV4Na8N+DfEUG4oXRtJvAQRjPAipc0UrdyuS12j+h/8AZI8Np4R/Z78KeH45hcLbf2iyyKchhNf3Mo59t+K+j6+dv2T/AA34j8I/s/eE/Dvi2G5t9Ws0vhcR3cbxTL5l9cSJuRwGHyMuMjpivomtlsarYKKKKYz/1P38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/9X9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//Z\n",
+      "text/plain": [
+       "<IPython.core.display.Image object>"
+      ]
+     },
+     "execution_count": 2,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "from IPython.display import Image\n",
+    "Image(\"../images/cifar10.jpg\")"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<a id=\"setup\"></a>\n",
+    "# 0. Setup"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "scrolled": false
+   },
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "/Users/fmcquillan/anaconda/lib/python2.7/site-packages/IPython/config.py:13: ShimWarning: The `IPython.config` package has been deprecated since IPython 4.0. You should import from traitlets.config instead.\n",
+      "  \"You should import from traitlets.config instead.\", ShimWarning)\n",
+      "/Users/fmcquillan/anaconda/lib/python2.7/site-packages/IPython/utils/traitlets.py:5: UserWarning: IPython.utils.traitlets has moved to a top-level traitlets package.\n",
+      "  warn(\"IPython.utils.traitlets has moved to a top-level traitlets package.\")\n"
+     ]
+    }
+   ],
+   "source": [
+    "%load_ext sql"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "u'Connected: gpadmin@cifar_demo'"
+      ]
+     },
+     "execution_count": 2,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "# Greenplum Database 5.x on GCP - via tunnel\n",
+    "%sql postgresql://gpadmin@localhost:8000/cifar_demo\n",
+    "#%sql postgresql://gpadmin@35.230.53.21:5432/cifar_demo\n",
+    "\n",
+    "# PostgreSQL local\n",
+    "#%sql postgresql://fmcquillan@localhost:5432/madlib"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "1 rows affected.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>version</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>MADlib version: 1.17-dev, git revision: rc/1.16-rc1-63-g7625ae0, cmake configuration time: Tue Jan 14 23:42:21 UTC 2020, build type: RelWithDebInfo, build system: Linux-2.6.32-754.6.3.el6.x86_64, C compiler: gcc 4.4.7, C++ compiler: g++ 4.4.7</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[(u'MADlib version: 1.17-dev, git revision: rc/1.16-rc1-63-g7625ae0, cmake configuration time: Tue Jan 14 23:42:21 UTC 2020, build type: RelWithDebInfo, build system: Linux-2.6.32-754.6.3.el6.x86_64, C compiler: gcc 4.4.7, C++ compiler: g++ 4.4.7',)]"
+      ]
+     },
+     "execution_count": 3,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%sql select madlib.version();\n",
+    "#%sql select version();"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Import libraries and define some params"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "Using TensorFlow backend.\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Couldn't import dot_parser, loading of dot files will not be possible.\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import print_function\n",
+    "import keras\n",
+    "from keras.datasets import cifar10\n",
+    "from keras.preprocessing.image import ImageDataGenerator\n",
+    "from keras.models import Sequential\n",
+    "from keras.layers import Dense, Dropout, Activation, Flatten, BatchNormalization\n",
+    "from keras.layers import Conv2D, MaxPooling2D\n",
+    "import os"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Others needed in this workbook"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import pandas as pd\n",
+    "import numpy as np\n",
+    "import sys\n",
+    "import os\n",
+    "from matplotlib import pyplot as plt"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<a id=\"load_dataset\"></a>\n",
+    "# 1.  Load dataset into table"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "PXF to load iage data\n",
+    "\n",
+    "Alternatively just get the dataset from Keras in the usual way"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "%%sql\n",
+    "CREATE EXTERNAL TABLE cifar_external_batchsize_500 (\n",
+    "    fullpaths TEXT[], \n",
+    "    y TEXT[], \n",
+    "    names TEXT[], \n",
+    "    x INT[]\n",
+    ") \n",
+    "LOCATION ('pxf://madlib-datasets/cifar10/?\n",
+    "PROFILE=gs:image&SERVER=gs-aa&BATCH_SIZE=500&STREAM_FRAGMENTS=true') FORMAT 'csv';\n",
+    "\n",
+    "CREATE TABLE cifar10_train AS SELECT * FROM cifar_external_batchsize_500;"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "1 rows affected.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>count</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>50000</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[(50000L,)]"
+      ]
+     },
+     "execution_count": 6,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%sql SELECT COUNT(*) FROM cifar10_train;"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "1 rows affected.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>count</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>10000</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[(10000L,)]"
+      ]
+     },
+     "execution_count": 6,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%sql SELECT COUNT(*) FROM cifar10_val;"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<a id=\"distr\"></a>\n",
+    "# 2.  Setup distribution rules and call preprocessor\n",
+    "\n",
+    "Get cluster configuration\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Done.\n",
+      "1 rows affected.\n",
+      "20 rows affected.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>hostname</th>\n",
+       "        <th>gpu_descr</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>phoenix0</td>\n",
+       "        <td>device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:04.0, compute capability: 6.0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>phoenix0</td>\n",
+       "        <td>device: 1, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:05.0, compute capability: 6.0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>phoenix0</td>\n",
+       "        <td>device: 2, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:06.0, compute capability: 6.0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>phoenix0</td>\n",
+       "        <td>device: 3, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:07.0, compute capability: 6.0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>phoenix1</td>\n",
+       "        <td>device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:04.0, compute capability: 6.0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>phoenix1</td>\n",
+       "        <td>device: 1, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:05.0, compute capability: 6.0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>phoenix1</td>\n",
+       "        <td>device: 2, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:06.0, compute capability: 6.0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>phoenix1</td>\n",
+       "        <td>device: 3, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:07.0, compute capability: 6.0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>phoenix2</td>\n",
+       "        <td>device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:04.0, compute capability: 6.0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>phoenix2</td>\n",
+       "        <td>device: 1, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:05.0, compute capability: 6.0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>phoenix2</td>\n",
+       "        <td>device: 2, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:06.0, compute capability: 6.0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>phoenix2</td>\n",
+       "        <td>device: 3, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:07.0, compute capability: 6.0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>phoenix3</td>\n",
+       "        <td>device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:04.0, compute capability: 6.0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>phoenix3</td>\n",
+       "        <td>device: 1, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:05.0, compute capability: 6.0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>phoenix3</td>\n",
+       "        <td>device: 2, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:06.0, compute capability: 6.0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>phoenix3</td>\n",
+       "        <td>device: 3, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:07.0, compute capability: 6.0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>phoenix4</td>\n",
+       "        <td>device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:04.0, compute capability: 6.0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>phoenix4</td>\n",
+       "        <td>device: 1, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:05.0, compute capability: 6.0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>phoenix4</td>\n",
+       "        <td>device: 2, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:06.0, compute capability: 6.0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>phoenix4</td>\n",
+       "        <td>device: 3, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:07.0, compute capability: 6.0</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[(u'phoenix0', u'device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:04.0, compute capability: 6.0'),\n",
+       " (u'phoenix0', u'device: 1, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:05.0, compute capability: 6.0'),\n",
+       " (u'phoenix0', u'device: 2, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:06.0, compute capability: 6.0'),\n",
+       " (u'phoenix0', u'device: 3, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:07.0, compute capability: 6.0'),\n",
+       " (u'phoenix1', u'device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:04.0, compute capability: 6.0'),\n",
+       " (u'phoenix1', u'device: 1, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:05.0, compute capability: 6.0'),\n",
+       " (u'phoenix1', u'device: 2, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:06.0, compute capability: 6.0'),\n",
+       " (u'phoenix1', u'device: 3, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:07.0, compute capability: 6.0'),\n",
+       " (u'phoenix2', u'device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:04.0, compute capability: 6.0'),\n",
+       " (u'phoenix2', u'device: 1, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:05.0, compute capability: 6.0'),\n",
+       " (u'phoenix2', u'device: 2, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:06.0, compute capability: 6.0'),\n",
+       " (u'phoenix2', u'device: 3, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:07.0, compute capability: 6.0'),\n",
+       " (u'phoenix3', u'device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:04.0, compute capability: 6.0'),\n",
+       " (u'phoenix3', u'device: 1, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:05.0, compute capability: 6.0'),\n",
+       " (u'phoenix3', u'device: 2, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:06.0, compute capability: 6.0'),\n",
+       " (u'phoenix3', u'device: 3, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:07.0, compute capability: 6.0'),\n",
+       " (u'phoenix4', u'device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:04.0, compute capability: 6.0'),\n",
+       " (u'phoenix4', u'device: 1, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:05.0, compute capability: 6.0'),\n",
+       " (u'phoenix4', u'device: 2, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:06.0, compute capability: 6.0'),\n",
+       " (u'phoenix4', u'device: 3, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:07.0, compute capability: 6.0')]"
+      ]
+     },
+     "execution_count": 8,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%%sql\n",
+    "DROP TABLE IF EXISTS host_gpu_mapping_tf;\n",
+    "SELECT * FROM madlib.gpu_configuration('host_gpu_mapping_tf');\n",
+    "SELECT * FROM host_gpu_mapping_tf ORDER BY hostname, gpu_descr;"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Build distribution rules table for 4 VMs"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "%%sql\n",
+    "DROP TABLE IF EXISTS segments_to_use_4VMs;\n",
+    "CREATE TABLE segments_to_use_4VMs AS\n",
+    "  SELECT DISTINCT dbid, hostname FROM gp_segment_configuration JOIN host_gpu_mapping_tf USING (hostname)\n",
+    "  WHERE role='p' AND content>=0 AND hostname!='phoenix4';\n",
+    "SELECT * FROM segments_to_use_4VMs ORDER BY hostname, dbid;"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Build distribution rules table for 2 VMs"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "%%sql\n",
+    "DROP TABLE IF EXISTS segments_to_use_2VMs;\n",
+    "CREATE TABLE segments_to_use_2VMs AS\n",
+    "  SELECT DISTINCT dbid, hostname FROM gp_segment_configuration JOIN host_gpu_mapping_tf USING (hostname)\n",
+    "  WHERE role='p' AND content>=0 AND (hostname='phoenix0' OR hostname='phoenix1');\n",
+    "SELECT * FROM segments_to_use_2VMs ORDER BY hostname, dbid;"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Build distribution rules table for 1 VMs"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "%%sql\n",
+    "DROP TABLE IF EXISTS segments_to_use_1VM;\n",
+    "CREATE TABLE segments_to_use_1VM AS\n",
+    "  SELECT DISTINCT dbid, hostname FROM gp_segment_configuration JOIN host_gpu_mapping_tf USING (hostname)\n",
+    "  WHERE role='p' AND content>=0 AND hostname='phoenix0';\n",
+    "SELECT * FROM segments_to_use_1VM ORDER BY hostname, dbid;"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Build distribution rules table for 1 segment"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 26,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "5 rows affected.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>dbid</th>\n",
+       "        <th>content</th>\n",
+       "        <th>role</th>\n",
+       "        <th>preferred_role</th>\n",
+       "        <th>mode</th>\n",
+       "        <th>status</th>\n",
+       "        <th>port</th>\n",
+       "        <th>hostname</th>\n",
+       "        <th>address</th>\n",
+       "        <th>replication_port</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>1</td>\n",
+       "        <td>-1</td>\n",
+       "        <td>p</td>\n",
+       "        <td>p</td>\n",
+       "        <td>s</td>\n",
+       "        <td>u</td>\n",
+       "        <td>5432</td>\n",
+       "        <td>phoenix0</td>\n",
+       "        <td>phoenix0</td>\n",
+       "        <td>None</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>2</td>\n",
+       "        <td>0</td>\n",
+       "        <td>p</td>\n",
+       "        <td>p</td>\n",
+       "        <td>c</td>\n",
+       "        <td>u</td>\n",
+       "        <td>40000</td>\n",
+       "        <td>phoenix0</td>\n",
+       "        <td>phoenix0</td>\n",
+       "        <td>70000</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>3</td>\n",
+       "        <td>1</td>\n",
+       "        <td>p</td>\n",
+       "        <td>p</td>\n",
+       "        <td>c</td>\n",
+       "        <td>u</td>\n",
+       "        <td>40001</td>\n",
+       "        <td>phoenix0</td>\n",
+       "        <td>phoenix0</td>\n",
+       "        <td>70001</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>4</td>\n",
+       "        <td>2</td>\n",
+       "        <td>p</td>\n",
+       "        <td>p</td>\n",
+       "        <td>c</td>\n",
+       "        <td>u</td>\n",
+       "        <td>40002</td>\n",
+       "        <td>phoenix0</td>\n",
+       "        <td>phoenix0</td>\n",
+       "        <td>70002</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>5</td>\n",
+       "        <td>3</td>\n",
+       "        <td>p</td>\n",
+       "        <td>p</td>\n",
+       "        <td>c</td>\n",
+       "        <td>u</td>\n",
+       "        <td>40003</td>\n",
+       "        <td>phoenix0</td>\n",
+       "        <td>phoenix0</td>\n",
+       "        <td>70003</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[(1, -1, u'p', u'p', u's', u'u', 5432, u'phoenix0', u'phoenix0', None),\n",
+       " (2, 0, u'p', u'p', u'c', u'u', 40000, u'phoenix0', u'phoenix0', 70000),\n",
+       " (3, 1, u'p', u'p', u'c', u'u', 40001, u'phoenix0', u'phoenix0', 70001),\n",
+       " (4, 2, u'p', u'p', u'c', u'u', 40002, u'phoenix0', u'phoenix0', 70002),\n",
+       " (5, 3, u'p', u'p', u'c', u'u', 40003, u'phoenix0', u'phoenix0', 70003)]"
+      ]
+     },
+     "execution_count": 26,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%%sql\n",
+    "SELECT * FROM gp_segment_configuration WHERE role='p' AND hostname='phoenix0' ORDER BY dbid;"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 27,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Done.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>dbid</th>\n",
+       "        <th>hostname</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>2</td>\n",
+       "        <td>phoenix0</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[(2, u'phoenix0')]"
+      ]
+     },
+     "execution_count": 27,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%%sql\n",
+    "DROP TABLE IF EXISTS segments_to_use_1seg;\n",
+    "CREATE TABLE segments_to_use_1seg AS\n",
+    "  SELECT DISTINCT dbid, hostname FROM gp_segment_configuration JOIN host_gpu_mapping_tf USING (hostname)\n",
+    "  WHERE dbid=2;\n",
+    "SELECT * FROM segments_to_use_1seg ORDER BY hostname, dbid;"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Training dataset (uses training preprocessor):"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Done.\n",
+      "1 rows affected.\n",
+      "16 rows affected.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>independent_var_shape</th>\n",
+       "        <th>dependent_var_shape</th>\n",
+       "        <th>buffer_id</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[3125, 32, 32, 3]</td>\n",
+       "        <td>[3125, 10]</td>\n",
+       "        <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[3125, 32, 32, 3]</td>\n",
+       "        <td>[3125, 10]</td>\n",
+       "        <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[3125, 32, 32, 3]</td>\n",
+       "        <td>[3125, 10]</td>\n",
+       "        <td>2</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[3125, 32, 32, 3]</td>\n",
+       "        <td>[3125, 10]</td>\n",
+       "        <td>3</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[3125, 32, 32, 3]</td>\n",
+       "        <td>[3125, 10]</td>\n",
+       "        <td>4</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[3125, 32, 32, 3]</td>\n",
+       "        <td>[3125, 10]</td>\n",
+       "        <td>5</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[3125, 32, 32, 3]</td>\n",
+       "        <td>[3125, 10]</td>\n",
+       "        <td>6</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[3125, 32, 32, 3]</td>\n",
+       "        <td>[3125, 10]</td>\n",
+       "        <td>7</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[3125, 32, 32, 3]</td>\n",
+       "        <td>[3125, 10]</td>\n",
+       "        <td>8</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[3125, 32, 32, 3]</td>\n",
+       "        <td>[3125, 10]</td>\n",
+       "        <td>9</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[3125, 32, 32, 3]</td>\n",
+       "        <td>[3125, 10]</td>\n",
+       "        <td>10</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[3125, 32, 32, 3]</td>\n",
+       "        <td>[3125, 10]</td>\n",
+       "        <td>11</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[3125, 32, 32, 3]</td>\n",
+       "        <td>[3125, 10]</td>\n",
+       "        <td>12</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[3125, 32, 32, 3]</td>\n",
+       "        <td>[3125, 10]</td>\n",
+       "        <td>13</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[3125, 32, 32, 3]</td>\n",
+       "        <td>[3125, 10]</td>\n",
+       "        <td>14</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[3125, 32, 32, 3]</td>\n",
+       "        <td>[3125, 10]</td>\n",
+       "        <td>15</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[([3125, 32, 32, 3], [3125, 10], 0),\n",
+       " ([3125, 32, 32, 3], [3125, 10], 1),\n",
+       " ([3125, 32, 32, 3], [3125, 10], 2),\n",
+       " ([3125, 32, 32, 3], [3125, 10], 3),\n",
+       " ([3125, 32, 32, 3], [3125, 10], 4),\n",
+       " ([3125, 32, 32, 3], [3125, 10], 5),\n",
+       " ([3125, 32, 32, 3], [3125, 10], 6),\n",
+       " ([3125, 32, 32, 3], [3125, 10], 7),\n",
+       " ([3125, 32, 32, 3], [3125, 10], 8),\n",
+       " ([3125, 32, 32, 3], [3125, 10], 9),\n",
+       " ([3125, 32, 32, 3], [3125, 10], 10),\n",
+       " ([3125, 32, 32, 3], [3125, 10], 11),\n",
+       " ([3125, 32, 32, 3], [3125, 10], 12),\n",
+       " ([3125, 32, 32, 3], [3125, 10], 13),\n",
+       " ([3125, 32, 32, 3], [3125, 10], 14),\n",
+       " ([3125, 32, 32, 3], [3125, 10], 15)]"
+      ]
+     },
+     "execution_count": 7,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%%sql\n",
+    "DROP TABLE IF EXISTS cifar10_train_packed, cifar10_train_packed_summary;\n",
+    "\n",
+    "SELECT madlib.training_preprocessor_dl('cifar10_train',        -- Source table\n",
+    "                                       'cifar10_train_packed', -- Output table\n",
+    "                                       'y',                    -- Dependent variable\n",
+    "                                       'x',                    -- Independent variable\n",
+    "                                        NULL,                  -- Buffer size\n",
+    "                                        256.0,                 -- Normalizing constant\n",
+    "                                        NULL,                  -- Number of classes\n",
+    "                                       'segments_to_use_4VMs'  -- Distribution rules\n",
+    "                                        );\n",
+    "\n",
+    "SELECT independent_var_shape, dependent_var_shape, buffer_id FROM cifar10_train_packed ORDER BY buffer_id;"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "1 rows affected.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>source_table</th>\n",
+       "        <th>output_table</th>\n",
+       "        <th>dependent_varname</th>\n",
+       "        <th>independent_varname</th>\n",
+       "        <th>dependent_vartype</th>\n",
+       "        <th>class_values</th>\n",
+       "        <th>buffer_size</th>\n",
+       "        <th>normalizing_const</th>\n",
+       "        <th>num_classes</th>\n",
+       "        <th>distribution_rules</th>\n",
+       "        <th>__internal_gpu_config__</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>cifar10_train</td>\n",
+       "        <td>cifar10_train_packed</td>\n",
+       "        <td>y</td>\n",
+       "        <td>x</td>\n",
+       "        <td>smallint</td>\n",
+       "        <td>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]</td>\n",
+       "        <td>3125</td>\n",
+       "        <td>256.0</td>\n",
+       "        <td>10</td>\n",
+       "        <td>[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]</td>\n",
+       "        <td>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[(u'cifar10_train', u'cifar10_train_packed', u'y', u'x', u'smallint', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 3125, 256.0, 10, [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])]"
+      ]
+     },
+     "execution_count": 8,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%%sql\n",
+    "SELECT * FROM cifar10_train_packed_summary;"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Validation dataset (uses validation preprocessor):"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Done.\n",
+      "1 rows affected.\n",
+      "16 rows affected.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>independent_var_shape</th>\n",
+       "        <th>dependent_var_shape</th>\n",
+       "        <th>buffer_id</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[625, 32, 32, 3]</td>\n",
+       "        <td>[625, 10]</td>\n",
+       "        <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[625, 32, 32, 3]</td>\n",
+       "        <td>[625, 10]</td>\n",
+       "        <td>1</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[625, 32, 32, 3]</td>\n",
+       "        <td>[625, 10]</td>\n",
+       "        <td>2</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[625, 32, 32, 3]</td>\n",
+       "        <td>[625, 10]</td>\n",
+       "        <td>3</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[625, 32, 32, 3]</td>\n",
+       "        <td>[625, 10]</td>\n",
+       "        <td>4</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[625, 32, 32, 3]</td>\n",
+       "        <td>[625, 10]</td>\n",
+       "        <td>5</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[625, 32, 32, 3]</td>\n",
+       "        <td>[625, 10]</td>\n",
+       "        <td>6</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[625, 32, 32, 3]</td>\n",
+       "        <td>[625, 10]</td>\n",
+       "        <td>7</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[625, 32, 32, 3]</td>\n",
+       "        <td>[625, 10]</td>\n",
+       "        <td>8</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[625, 32, 32, 3]</td>\n",
+       "        <td>[625, 10]</td>\n",
+       "        <td>9</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[625, 32, 32, 3]</td>\n",
+       "        <td>[625, 10]</td>\n",
+       "        <td>10</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[625, 32, 32, 3]</td>\n",
+       "        <td>[625, 10]</td>\n",
+       "        <td>11</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[625, 32, 32, 3]</td>\n",
+       "        <td>[625, 10]</td>\n",
+       "        <td>12</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[625, 32, 32, 3]</td>\n",
+       "        <td>[625, 10]</td>\n",
+       "        <td>13</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[625, 32, 32, 3]</td>\n",
+       "        <td>[625, 10]</td>\n",
+       "        <td>14</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[625, 32, 32, 3]</td>\n",
+       "        <td>[625, 10]</td>\n",
+       "        <td>15</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[([625, 32, 32, 3], [625, 10], 0),\n",
+       " ([625, 32, 32, 3], [625, 10], 1),\n",
+       " ([625, 32, 32, 3], [625, 10], 2),\n",
+       " ([625, 32, 32, 3], [625, 10], 3),\n",
+       " ([625, 32, 32, 3], [625, 10], 4),\n",
+       " ([625, 32, 32, 3], [625, 10], 5),\n",
+       " ([625, 32, 32, 3], [625, 10], 6),\n",
+       " ([625, 32, 32, 3], [625, 10], 7),\n",
+       " ([625, 32, 32, 3], [625, 10], 8),\n",
+       " ([625, 32, 32, 3], [625, 10], 9),\n",
+       " ([625, 32, 32, 3], [625, 10], 10),\n",
+       " ([625, 32, 32, 3], [625, 10], 11),\n",
+       " ([625, 32, 32, 3], [625, 10], 12),\n",
+       " ([625, 32, 32, 3], [625, 10], 13),\n",
+       " ([625, 32, 32, 3], [625, 10], 14),\n",
+       " ([625, 32, 32, 3], [625, 10], 15)]"
+      ]
+     },
+     "execution_count": 9,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%%sql\n",
+    "DROP TABLE IF EXISTS cifar10_val_packed, cifar10_val_packed_summary;\n",
+    "\n",
+    "SELECT madlib.validation_preprocessor_dl('cifar10_val',          -- Source table\n",
+    "                                         'cifar10_val_packed',   -- Output table\n",
+    "                                         'y',                    -- Dependent variable\n",
+    "                                         'x',                    -- Independent variable\n",
+    "                                         'cifar10_train_packed', -- From training preprocessor step\n",
+    "                                         NULL,                   -- Buffer size\n",
+    "                                         'segments_to_use_4VMs'  -- Distribution rules\n",
+    "                                          ); \n",
+    "\n",
+    "SELECT independent_var_shape, dependent_var_shape, buffer_id FROM cifar10_val_packed ORDER BY buffer_id;"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "1 rows affected.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>source_table</th>\n",
+       "        <th>output_table</th>\n",
+       "        <th>dependent_varname</th>\n",
+       "        <th>independent_varname</th>\n",
+       "        <th>dependent_vartype</th>\n",
+       "        <th>class_values</th>\n",
+       "        <th>buffer_size</th>\n",
+       "        <th>normalizing_const</th>\n",
+       "        <th>num_classes</th>\n",
+       "        <th>distribution_rules</th>\n",
+       "        <th>__internal_gpu_config__</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>cifar10_val</td>\n",
+       "        <td>cifar10_val_packed</td>\n",
+       "        <td>y</td>\n",
+       "        <td>x</td>\n",
+       "        <td>smallint</td>\n",
+       "        <td>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]</td>\n",
+       "        <td>625</td>\n",
+       "        <td>256.0</td>\n",
+       "        <td>10</td>\n",
+       "        <td>[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]</td>\n",
+       "        <td>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[(u'cifar10_val', u'cifar10_val_packed', u'y', u'x', u'smallint', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 625, 256.0, 10, [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])]"
+      ]
+     },
+     "execution_count": 10,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%%sql\n",
+    "SELECT * FROM cifar10_val_packed_summary;"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<a id=\"arch\"></a>\n",
+    "# 3. Define and load model architectures\n",
+    "\n",
+    "Model architecture from https://keras.io/examples/cifar10_cnn/"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "num_classes = 10\n",
+    "\n",
+    "#to be removed\n",
+    "#do this just to get shape for model architecture \n",
+    "(x_train, y_train), (x_test, y_test) = cifar10.load_data()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "_________________________________________________________________\n",
+      "Layer (type)                 Output Shape              Param #   \n",
+      "=================================================================\n",
+      "conv2d_1 (Conv2D)            (None, 32, 32, 32)        896       \n",
+      "_________________________________________________________________\n",
+      "activation_1 (Activation)    (None, 32, 32, 32)        0         \n",
+      "_________________________________________________________________\n",
+      "conv2d_2 (Conv2D)            (None, 30, 30, 32)        9248      \n",
+      "_________________________________________________________________\n",
+      "activation_2 (Activation)    (None, 30, 30, 32)        0         \n",
+      "_________________________________________________________________\n",
+      "max_pooling2d_1 (MaxPooling2 (None, 15, 15, 32)        0         \n",
+      "_________________________________________________________________\n",
+      "dropout_1 (Dropout)          (None, 15, 15, 32)        0         \n",
+      "_________________________________________________________________\n",
+      "conv2d_3 (Conv2D)            (None, 15, 15, 64)        18496     \n",
+      "_________________________________________________________________\n",
+      "activation_3 (Activation)    (None, 15, 15, 64)        0         \n",
+      "_________________________________________________________________\n",
+      "conv2d_4 (Conv2D)            (None, 13, 13, 64)        36928     \n",
+      "_________________________________________________________________\n",
+      "activation_4 (Activation)    (None, 13, 13, 64)        0         \n",
+      "_________________________________________________________________\n",
+      "max_pooling2d_2 (MaxPooling2 (None, 6, 6, 64)          0         \n",
+      "_________________________________________________________________\n",
+      "dropout_2 (Dropout)          (None, 6, 6, 64)          0         \n",
+      "_________________________________________________________________\n",
+      "flatten_1 (Flatten)          (None, 2304)              0         \n",
+      "_________________________________________________________________\n",
+      "dense_1 (Dense)              (None, 512)               1180160   \n",
+      "_________________________________________________________________\n",
+      "activation_5 (Activation)    (None, 512)               0         \n",
+      "_________________________________________________________________\n",
+      "dropout_3 (Dropout)          (None, 512)               0         \n",
+      "_________________________________________________________________\n",
+      "dense_2 (Dense)              (None, 10)                5130      \n",
+      "_________________________________________________________________\n",
+      "activation_6 (Activation)    (None, 10)                0         \n",
+      "=================================================================\n",
+      "Total params: 1,250,858\n",
+      "Trainable params: 1,250,858\n",
+      "Non-trainable params: 0\n",
+      "_________________________________________________________________\n"
+     ]
+    }
+   ],
+   "source": [
+    "model1 = Sequential()\n",
+    "\n",
+    "model1.add(Conv2D(32, (3, 3), padding='same',\n",
+    "                 input_shape=x_train.shape[1:]))\n",
+    "model1.add(Activation('relu'))\n",
+    "model1.add(Conv2D(32, (3, 3)))\n",
+    "model1.add(Activation('relu'))\n",
+    "model1.add(MaxPooling2D(pool_size=(2, 2)))\n",
+    "model1.add(Dropout(0.25))\n",
+    "\n",
+    "model1.add(Conv2D(64, (3, 3), padding='same'))\n",
+    "model1.add(Activation('relu'))\n",
+    "model1.add(Conv2D(64, (3, 3)))\n",
+    "model1.add(Activation('relu'))\n",
+    "model1.add(MaxPooling2D(pool_size=(2, 2)))\n",
+    "model1.add(Dropout(0.25))\n",
+    "\n",
+    "model1.add(Flatten())\n",
+    "model1.add(Dense(512))\n",
+    "model1.add(Activation('relu'))\n",
+    "model1.add(Dropout(0.5))\n",
+    "model1.add(Dense(num_classes))\n",
+    "model1.add(Activation('softmax'))\n",
+    "\n",
+    "model1.summary()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "'{\"class_name\": \"Sequential\", \"keras_version\": \"2.1.6\", \"config\": [{\"class_name\": \"Conv2D\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"conv2d_1\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"dtype\": \"float32\", \"activation\": \"linear\", \"trainable\": true, \"data_format\": \"channels_last\", \"filters\": 32, \"padding\": \"same\", \"strides\": [1, 1], \"dilation_rate\": [1, 1], \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"batch_input_shape\": [null, 32, 32, 3], \"use_bias\": true, \"activity_regularizer\": null, \"kernel_size\": [3, 3]}}, {\"class_name\": \"Activation\", \"config\": {\"activation\": \"relu\", \"trainable\": true, \"name\": \"activation_1\"}}, {\"class_name\": \"Conv2D\", \"config\": {\"kernel_constraint\": null, \"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"conv2d_2\", \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"linear\", \"trainable\": true, \"data_format\": \"channels_last\", \"padding\": \"valid\", \"strides\": [1, 1], \"dilation_rate\": [1, 1], \"kernel_regularizer\": null, \"filters\": 32, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"use_bias\": true, \"activity_regularizer\": null, \"kernel_size\": [3, 3]}}, {\"class_name\": \"Activation\", \"config\": {\"activation\": \"relu\", \"trainable\": true, \"name\": \"activation_2\"}}, {\"class_name\": \"MaxPooling2D\", \"config\": {\"name\": \"max_pooling2d_1\", \"trainable\": true, \"data_format\": \"channels_last\", \"pool_size\": [2, 2], \"padding\": \"valid\", \"strides\": [2, 2]}}, {\"class_name\": \"Dropout\", \"config\": {\"rate\": 0.25, \"noise_shape\": null, \"trainable\": true, \"seed\": null, \"name\": \"dropout_1\"}}, {\"class_name\": \"Conv2D\", \"config\": {\"kernel_constraint\": null, \"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"conv2d_3\", \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"linear\", \"trainable\": true, \"data_format\": \"channels_last\", \"padding\": \"same\", \"strides\": [1, 1], \"dilation_rate\": [1, 1], \"kernel_regularizer\": null, \"filters\": 64, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"use_bias\": true, \"activity_regularizer\": null, \"kernel_size\": [3, 3]}}, {\"class_name\": \"Activation\", \"config\": {\"activation\": \"relu\", \"trainable\": true, \"name\": \"activation_3\"}}, {\"class_name\": \"Conv2D\", \"config\": {\"kernel_constraint\": null, \"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"conv2d_4\", \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"linear\", \"trainable\": true, \"data_format\": \"channels_last\", \"padding\": \"valid\", \"strides\": [1, 1], \"dilation_rate\": [1, 1], \"kernel_regularizer\": null, \"filters\": 64, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"use_bias\": true, \"activity_regularizer\": null, \"kernel_size\": [3, 3]}}, {\"class_name\": \"Activation\", \"config\": {\"activation\": \"relu\", \"trainable\": true, \"name\": \"activation_4\"}}, {\"class_name\": \"MaxPooling2D\", \"config\": {\"name\": \"max_pooling2d_2\", \"trainable\": true, \"data_format\": \"channels_last\", \"pool_size\": [2, 2], \"padding\": \"valid\", \"strides\": [2, 2]}}, {\"class_name\": \"Dropout\", \"config\": {\"rate\": 0.25, \"noise_shape\": null, \"trainable\": true, \"seed\": null, \"name\": \"dropout_2\"}}, {\"class_name\": \"Flatten\", \"config\": {\"trainable\": true, \"name\": \"flatten_1\", \"data_format\": \"channels_last\"}}, {\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"dense_1\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"linear\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 512, \"use_bias\": true, \"activity_regularizer\": null}}, {\"class_name\": \"Activation\", \"config\": {\"activation\": \"relu\", \"trainable\": true, \"name\": \"activation_5\"}}, {\"class_name\": \"Dropout\", \"config\": {\"rate\": 0.5, \"noise_shape\": null, \"trainable\": true, \"seed\": null, \"name\": \"dropout_3\"}}, {\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"dense_2\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"linear\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 10, \"use_bias\": true, \"activity_regularizer\": null}}, {\"class_name\": \"Activation\", \"config\": {\"activation\": \"softmax\", \"trainable\": true, \"name\": \"activation_6\"}}], \"backend\": \"tensorflow\"}'"
+      ]
+     },
+     "execution_count": 8,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "model1.to_json()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Model architecture from https://machinelearningmastery.com/how-to-develop-a-cnn-from-scratch-for-cifar-10-photo-classification/"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "_________________________________________________________________\n",
+      "Layer (type)                 Output Shape              Param #   \n",
+      "=================================================================\n",
+      "conv2d_5 (Conv2D)            (None, 32, 32, 32)        896       \n",
+      "_________________________________________________________________\n",
+      "batch_normalization_1 (Batch (None, 32, 32, 32)        128       \n",
+      "_________________________________________________________________\n",
+      "conv2d_6 (Conv2D)            (None, 32, 32, 32)        9248      \n",
+      "_________________________________________________________________\n",
+      "batch_normalization_2 (Batch (None, 32, 32, 32)        128       \n",
+      "_________________________________________________________________\n",
+      "max_pooling2d_3 (MaxPooling2 (None, 16, 16, 32)        0         \n",
+      "_________________________________________________________________\n",
+      "dropout_4 (Dropout)          (None, 16, 16, 32)        0         \n",
+      "_________________________________________________________________\n",
+      "conv2d_7 (Conv2D)            (None, 16, 16, 64)        18496     \n",
+      "_________________________________________________________________\n",
+      "batch_normalization_3 (Batch (None, 16, 16, 64)        256       \n",
+      "_________________________________________________________________\n",
+      "conv2d_8 (Conv2D)            (None, 16, 16, 64)        36928     \n",
+      "_________________________________________________________________\n",
+      "batch_normalization_4 (Batch (None, 16, 16, 64)        256       \n",
+      "_________________________________________________________________\n",
+      "max_pooling2d_4 (MaxPooling2 (None, 8, 8, 64)          0         \n",
+      "_________________________________________________________________\n",
+      "dropout_5 (Dropout)          (None, 8, 8, 64)          0         \n",
+      "_________________________________________________________________\n",
+      "conv2d_9 (Conv2D)            (None, 8, 8, 128)         73856     \n",
+      "_________________________________________________________________\n",
+      "batch_normalization_5 (Batch (None, 8, 8, 128)         512       \n",
+      "_________________________________________________________________\n",
+      "conv2d_10 (Conv2D)           (None, 8, 8, 128)         147584    \n",
+      "_________________________________________________________________\n",
+      "batch_normalization_6 (Batch (None, 8, 8, 128)         512       \n",
+      "_________________________________________________________________\n",
+      "max_pooling2d_5 (MaxPooling2 (None, 4, 4, 128)         0         \n",
+      "_________________________________________________________________\n",
+      "dropout_6 (Dropout)          (None, 4, 4, 128)         0         \n",
+      "_________________________________________________________________\n",
+      "flatten_2 (Flatten)          (None, 2048)              0         \n",
+      "_________________________________________________________________\n",
+      "dense_3 (Dense)              (None, 128)               262272    \n",
+      "_________________________________________________________________\n",
+      "batch_normalization_7 (Batch (None, 128)               512       \n",
+      "_________________________________________________________________\n",
+      "dropout_7 (Dropout)          (None, 128)               0         \n",
+      "_________________________________________________________________\n",
+      "dense_4 (Dense)              (None, 10)                1290      \n",
+      "=================================================================\n",
+      "Total params: 552,874\n",
+      "Trainable params: 551,722\n",
+      "Non-trainable params: 1,152\n",
+      "_________________________________________________________________\n"
+     ]
+    }
+   ],
+   "source": [
+    "model2 = Sequential()\n",
+    "\n",
+    "model2.add(Conv2D(32, (3, 3), activation='relu', kernel_initializer='he_uniform', padding='same', input_shape=(32, 32, 3)))\n",
+    "model2.add(BatchNormalization())\n",
+    "model2.add(Conv2D(32, (3, 3), activation='relu', kernel_initializer='he_uniform', padding='same'))\n",
+    "model2.add(BatchNormalization())\n",
+    "model2.add(MaxPooling2D((2, 2)))\n",
+    "model2.add(Dropout(0.2))\n",
+    "\n",
+    "model2.add(Conv2D(64, (3, 3), activation='relu', kernel_initializer='he_uniform', padding='same'))\n",
+    "model2.add(BatchNormalization())\n",
+    "model2.add(Conv2D(64, (3, 3), activation='relu', kernel_initializer='he_uniform', padding='same'))\n",
+    "model2.add(BatchNormalization())\n",
+    "model2.add(MaxPooling2D((2, 2)))\n",
+    "model2.add(Dropout(0.3))\n",
+    "\n",
+    "model2.add(Conv2D(128, (3, 3), activation='relu', kernel_initializer='he_uniform', padding='same'))\n",
+    "model2.add(BatchNormalization())\n",
+    "model2.add(Conv2D(128, (3, 3), activation='relu', kernel_initializer='he_uniform', padding='same'))\n",
+    "model2.add(BatchNormalization())\n",
+    "model2.add(MaxPooling2D((2, 2)))\n",
+    "model2.add(Dropout(0.4))\n",
+    "\n",
+    "model2.add(Flatten())\n",
+    "model2.add(Dense(128, activation='relu', kernel_initializer='he_uniform'))\n",
+    "model2.add(BatchNormalization())\n",
+    "model2.add(Dropout(0.5))\n",
+    "model2.add(Dense(10, activation='softmax'))\n",
+    "\n",
+    "model2.summary()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "'{\"class_name\": \"Sequential\", \"keras_version\": \"2.1.6\", \"config\": [{\"class_name\": \"Conv2D\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 2.0, \"seed\": null, \"mode\": \"fan_in\"}}, \"name\": \"conv2d_5\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"dtype\": \"float32\", \"activation\": \"relu\", \"trainable\": true, \"data_format\": \"channels_last\", \"filters\": 32, \"padding\": \"same\", \"strides\": [1, 1], \"dilation_rate\": [1, 1], \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"batch_input_shape\": [null, 32, 32, 3], \"use_bias\": true, \"activity_regularizer\": null, \"kernel_size\": [3, 3]}}, {\"class_name\": \"BatchNormalization\", \"config\": {\"beta_constraint\": null, \"gamma_initializer\": {\"class_name\": \"Ones\", \"config\": {}}, \"moving_mean_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"name\": \"batch_normalization_1\", \"epsilon\": 0.001, \"trainable\": true, \"moving_variance_initializer\": {\"class_name\": \"Ones\", \"config\": {}}, \"beta_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"scale\": true, \"axis\": -1, \"gamma_constraint\": null, \"gamma_regularizer\": null, \"beta_regularizer\": null, \"momentum\": 0.99, \"center\": true}}, {\"class_name\": \"Conv2D\", \"config\": {\"kernel_constraint\": null, \"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 2.0, \"seed\": null, \"mode\": \"fan_in\"}}, \"name\": \"conv2d_6\", \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"relu\", \"trainable\": true, \"data_format\": \"channels_last\", \"padding\": \"same\", \"strides\": [1, 1], \"dilation_rate\": [1, 1], \"kernel_regularizer\": null, \"filters\": 32, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"use_bias\": true, \"activity_regularizer\": null, \"kernel_size\": [3, 3]}}, {\"class_name\": \"BatchNormalization\", \"config\": {\"beta_constraint\": null, \"gamma_initializer\": {\"class_name\": \"Ones\", \"config\": {}}, \"moving_mean_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"name\": \"batch_normalization_2\", \"epsilon\": 0.001, \"trainable\": true, \"moving_variance_initializer\": {\"class_name\": \"Ones\", \"config\": {}}, \"beta_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"scale\": true, \"axis\": -1, \"gamma_constraint\": null, \"gamma_regularizer\": null, \"beta_regularizer\": null, \"momentum\": 0.99, \"center\": true}}, {\"class_name\": \"MaxPooling2D\", \"config\": {\"name\": \"max_pooling2d_3\", \"trainable\": true, \"data_format\": \"channels_last\", \"pool_size\": [2, 2], \"padding\": \"valid\", \"strides\": [2, 2]}}, {\"class_name\": \"Dropout\", \"config\": {\"rate\": 0.2, \"noise_shape\": null, \"trainable\": true, \"seed\": null, \"name\": \"dropout_4\"}}, {\"class_name\": \"Conv2D\", \"config\": {\"kernel_constraint\": null, \"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 2.0, \"seed\": null, \"mode\": \"fan_in\"}}, \"name\": \"conv2d_7\", \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"relu\", \"trainable\": true, \"data_format\": \"channels_last\", \"padding\": \"same\", \"strides\": [1, 1], \"dilation_rate\": [1, 1], \"kernel_regularizer\": null, \"filters\": 64, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"use_bias\": true, \"activity_regularizer\": null, \"kernel_size\": [3, 3]}}, {\"class_name\": \"BatchNormalization\", \"config\": {\"beta_constraint\": null, \"gamma_initializer\": {\"class_name\": \"Ones\", \"config\": {}}, \"moving_mean_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"name\": \"batch_normalization_3\", \"epsilon\": 0.001, \"trainable\": true, \"moving_variance_initializer\": {\"class_name\": \"Ones\", \"config\": {}}, \"beta_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"scale\": true, \"axis\": -1, \"gamma_constraint\": null, \"gamma_regularizer\": null, \"beta_regularizer\": null, \"momentum\": 0.99, \"center\": true}}, {\"class_name\": \"Conv2D\", \"config\": {\"kernel_constraint\": null, \"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 2.0, \"seed\": null, \"mode\": \"fan_in\"}}, \"name\": \"conv2d_8\", \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"relu\", \"trainable\": true, \"data_format\": \"channels_last\", \"padding\": \"same\", \"strides\": [1, 1], \"dilation_rate\": [1, 1], \"kernel_regularizer\": null, \"filters\": 64, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"use_bias\": true, \"activity_regularizer\": null, \"kernel_size\": [3, 3]}}, {\"class_name\": \"BatchNormalization\", \"config\": {\"beta_constraint\": null, \"gamma_initializer\": {\"class_name\": \"Ones\", \"config\": {}}, \"moving_mean_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"name\": \"batch_normalization_4\", \"epsilon\": 0.001, \"trainable\": true, \"moving_variance_initializer\": {\"class_name\": \"Ones\", \"config\": {}}, \"beta_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"scale\": true, \"axis\": -1, \"gamma_constraint\": null, \"gamma_regularizer\": null, \"beta_regularizer\": null, \"momentum\": 0.99, \"center\": true}}, {\"class_name\": \"MaxPooling2D\", \"config\": {\"name\": \"max_pooling2d_4\", \"trainable\": true, \"data_format\": \"channels_last\", \"pool_size\": [2, 2], \"padding\": \"valid\", \"strides\": [2, 2]}}, {\"class_name\": \"Dropout\", \"config\": {\"rate\": 0.3, \"noise_shape\": null, \"trainable\": true, \"seed\": null, \"name\": \"dropout_5\"}}, {\"class_name\": \"Conv2D\", \"config\": {\"kernel_constraint\": null, \"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 2.0, \"seed\": null, \"mode\": \"fan_in\"}}, \"name\": \"conv2d_9\", \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"relu\", \"trainable\": true, \"data_format\": \"channels_last\", \"padding\": \"same\", \"strides\": [1, 1], \"dilation_rate\": [1, 1], \"kernel_regularizer\": null, \"filters\": 128, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"use_bias\": true, \"activity_regularizer\": null, \"kernel_size\": [3, 3]}}, {\"class_name\": \"BatchNormalization\", \"config\": {\"beta_constraint\": null, \"gamma_initializer\": {\"class_name\": \"Ones\", \"config\": {}}, \"moving_mean_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"name\": \"batch_normalization_5\", \"epsilon\": 0.001, \"trainable\": true, \"moving_variance_initializer\": {\"class_name\": \"Ones\", \"config\": {}}, \"beta_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"scale\": true, \"axis\": -1, \"gamma_constraint\": null, \"gamma_regularizer\": null, \"beta_regularizer\": null, \"momentum\": 0.99, \"center\": true}}, {\"class_name\": \"Conv2D\", \"config\": {\"kernel_constraint\": null, \"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 2.0, \"seed\": null, \"mode\": \"fan_in\"}}, \"name\": \"conv2d_10\", \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"relu\", \"trainable\": true, \"data_format\": \"channels_last\", \"padding\": \"same\", \"strides\": [1, 1], \"dilation_rate\": [1, 1], \"kernel_regularizer\": null, \"filters\": 128, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"use_bias\": true, \"activity_regularizer\": null, \"kernel_size\": [3, 3]}}, {\"class_name\": \"BatchNormalization\", \"config\": {\"beta_constraint\": null, \"gamma_initializer\": {\"class_name\": \"Ones\", \"config\": {}}, \"moving_mean_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"name\": \"batch_normalization_6\", \"epsilon\": 0.001, \"trainable\": true, \"moving_variance_initializer\": {\"class_name\": \"Ones\", \"config\": {}}, \"beta_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"scale\": true, \"axis\": -1, \"gamma_constraint\": null, \"gamma_regularizer\": null, \"beta_regularizer\": null, \"momentum\": 0.99, \"center\": true}}, {\"class_name\": \"MaxPooling2D\", \"config\": {\"name\": \"max_pooling2d_5\", \"trainable\": true, \"data_format\": \"channels_last\", \"pool_size\": [2, 2], \"padding\": \"valid\", \"strides\": [2, 2]}}, {\"class_name\": \"Dropout\", \"config\": {\"rate\": 0.4, \"noise_shape\": null, \"trainable\": true, \"seed\": null, \"name\": \"dropout_6\"}}, {\"class_name\": \"Flatten\", \"config\": {\"trainable\": true, \"name\": \"flatten_2\", \"data_format\": \"channels_last\"}}, {\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 2.0, \"seed\": null, \"mode\": \"fan_in\"}}, \"name\": \"dense_3\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"relu\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 128, \"use_bias\": true, \"activity_regularizer\": null}}, {\"class_name\": \"BatchNormalization\", \"config\": {\"beta_constraint\": null, \"gamma_initializer\": {\"class_name\": \"Ones\", \"config\": {}}, \"moving_mean_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"name\": \"batch_normalization_7\", \"epsilon\": 0.001, \"trainable\": true, \"moving_variance_initializer\": {\"class_name\": \"Ones\", \"config\": {}}, \"beta_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"scale\": true, \"axis\": -1, \"gamma_constraint\": null, \"gamma_regularizer\": null, \"beta_regularizer\": null, \"momentum\": 0.99, \"center\": true}}, {\"class_name\": \"Dropout\", \"config\": {\"rate\": 0.5, \"noise_shape\": null, \"trainable\": true, \"seed\": null, \"name\": \"dropout_7\"}}, {\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"dense_4\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"softmax\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 10, \"use_bias\": true, \"activity_regularizer\": null}}], \"backend\": \"tensorflow\"}'"
+      ]
+     },
+     "execution_count": 10,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "model2.to_json()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Another model architecture from https://machinelearningmastery.com/how-to-develop-a-cnn-from-scratch-for-cifar-10-photo-classification/"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "_________________________________________________________________\n",
+      "Layer (type)                 Output Shape              Param #   \n",
+      "=================================================================\n",
+      "conv2d_11 (Conv2D)           (None, 32, 32, 32)        896       \n",
+      "_________________________________________________________________\n",
+      "conv2d_12 (Conv2D)           (None, 32, 32, 32)        9248      \n",
+      "_________________________________________________________________\n",
+      "max_pooling2d_6 (MaxPooling2 (None, 16, 16, 32)        0         \n",
+      "_________________________________________________________________\n",
+      "dropout_8 (Dropout)          (None, 16, 16, 32)        0         \n",
+      "_________________________________________________________________\n",
+      "conv2d_13 (Conv2D)           (None, 16, 16, 64)        18496     \n",
+      "_________________________________________________________________\n",
+      "conv2d_14 (Conv2D)           (None, 16, 16, 64)        36928     \n",
+      "_________________________________________________________________\n",
+      "max_pooling2d_7 (MaxPooling2 (None, 8, 8, 64)          0         \n",
+      "_________________________________________________________________\n",
+      "dropout_9 (Dropout)          (None, 8, 8, 64)          0         \n",
+      "_________________________________________________________________\n",
+      "conv2d_15 (Conv2D)           (None, 8, 8, 128)         73856     \n",
+      "_________________________________________________________________\n",
+      "conv2d_16 (Conv2D)           (None, 8, 8, 128)         147584    \n",
+      "_________________________________________________________________\n",
+      "max_pooling2d_8 (MaxPooling2 (None, 4, 4, 128)         0         \n",
+      "_________________________________________________________________\n",
+      "dropout_10 (Dropout)         (None, 4, 4, 128)         0         \n",
+      "_________________________________________________________________\n",
+      "flatten_3 (Flatten)          (None, 2048)              0         \n",
+      "_________________________________________________________________\n",
+      "dense_5 (Dense)              (None, 128)               262272    \n",
+      "_________________________________________________________________\n",
+      "dropout_11 (Dropout)         (None, 128)               0         \n",
+      "_________________________________________________________________\n",
+      "dense_6 (Dense)              (None, 10)                1290      \n",
+      "=================================================================\n",
+      "Total params: 550,570\n",
+      "Trainable params: 550,570\n",
+      "Non-trainable params: 0\n",
+      "_________________________________________________________________\n"
+     ]
+    }
+   ],
+   "source": [
+    "model3 = Sequential()\n",
+    "\n",
+    "model3.add(Conv2D(32, (3, 3), activation='relu', kernel_initializer='he_uniform', padding='same', input_shape=(32, 32, 3)))\n",
+    "model3.add(Conv2D(32, (3, 3), activation='relu', kernel_initializer='he_uniform', padding='same'))\n",
+    "model3.add(MaxPooling2D((2, 2)))\n",
+    "model3.add(Dropout(0.2))\n",
+    "model3.add(Conv2D(64, (3, 3), activation='relu', kernel_initializer='he_uniform', padding='same'))\n",
+    "model3.add(Conv2D(64, (3, 3), activation='relu', kernel_initializer='he_uniform', padding='same'))\n",
+    "model3.add(MaxPooling2D((2, 2)))\n",
+    "model3.add(Dropout(0.3))\n",
+    "model3.add(Conv2D(128, (3, 3), activation='relu', kernel_initializer='he_uniform', padding='same'))\n",
+    "model3.add(Conv2D(128, (3, 3), activation='relu', kernel_initializer='he_uniform', padding='same'))\n",
+    "model3.add(MaxPooling2D((2, 2)))\n",
+    "model3.add(Dropout(0.4))\n",
+    "model3.add(Flatten())\n",
+    "model3.add(Dense(128, activation='relu', kernel_initializer='he_uniform'))\n",
+    "model3.add(Dropout(0.5))\n",
+    "model3.add(Dense(10, activation='softmax'))\n",
+    "\n",
+    "model3.summary()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Load into model architecture table using psycopg2"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Done.\n",
+      "3 rows affected.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>model_id</th>\n",
+       "        <th>name</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>1</td>\n",
+       "        <td>CNN from Keras docs for CIFAR-10</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>2</td>\n",
+       "        <td>CNN from Jason Brownlee blog post</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>3</td>\n",
+       "        <td>CNN from Jason Brownlee blog post - no batch normalization</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[(1, u'CNN from Keras docs for CIFAR-10'),\n",
+       " (2, u'CNN from Jason Brownlee blog post'),\n",
+       " (3, u'CNN from Jason Brownlee blog post - no batch normalization')]"
+      ]
+     },
+     "execution_count": 12,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "import psycopg2 as p2\n",
+    "#conn = p2.connect('postgresql://gpadmin@35.239.240.26:5432/madlib')\n",
+    "#conn = p2.connect('postgresql://fmcquillan@localhost:5432/madlib')\n",
+    "conn = p2.connect('postgresql://gpadmin@localhost:8000/cifar_demo')\n",
+    "cur = conn.cursor()\n",
+    "\n",
+    "%sql DROP TABLE IF EXISTS model_arch_table_cifar10;\n",
+    "query = \"SELECT madlib.load_keras_model('model_arch_table_cifar10', %s, NULL, %s)\"\n",
+    "cur.execute(query,[model1.to_json(), \"CNN from Keras docs for CIFAR-10\"])\n",
+    "conn.commit()\n",
+    "\n",
+    "query = \"SELECT madlib.load_keras_model('model_arch_table_cifar10', %s, NULL, %s)\"\n",
+    "cur.execute(query,[model2.to_json(), \"CNN from Jason Brownlee blog post\"])\n",
+    "conn.commit()\n",
+    "\n",
+    "query = \"SELECT madlib.load_keras_model('model_arch_table_cifar10', %s, NULL, %s)\"\n",
+    "cur.execute(query,[model3.to_json(), \"CNN from Jason Brownlee blog post - no batch normalization\"])\n",
+    "conn.commit()\n",
+    "\n",
+    "# check model loaded OK\n",
+    "%sql SELECT model_id, name FROM model_arch_table_cifar10 ORDER BY model_id;"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<a id=\"hyperband\"></a>\n",
+    "# 4.  Hyperband diagonal\n",
+    "\n",
+    "Create tables"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Done.\n",
+      "Done.\n",
+      "Done.\n",
+      "Done.\n",
+      "Done.\n",
+      "Done.\n",
+      "1 rows affected.\n",
+      "Done.\n",
+      "Done.\n",
+      "Done.\n",
+      "Done.\n",
+      "1 rows affected.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/plain": [
+       "[]"
+      ]
+     },
+     "execution_count": 13,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%%sql\n",
+    "-- overall results table\n",
+    "DROP TABLE IF EXISTS results_cifar10;\n",
+    "CREATE TABLE results_cifar10 ( \n",
+    "                      mst_key INTEGER,  -- note not SERIAL\n",
+    "                      model_id INTEGER, \n",
+    "                      compile_params TEXT,\n",
+    "                      fit_params TEXT, \n",
+    "                      model_type TEXT, \n",
+    "                      model_size DOUBLE PRECISION, \n",
+    "                      metrics_elapsed_time DOUBLE PRECISION[], \n",
+    "                      metrics_type TEXT[], \n",
+    "                      training_metrics_final DOUBLE PRECISION, \n",
+    "                      training_loss_final DOUBLE PRECISION, \n",
+    "                      training_metrics DOUBLE PRECISION[], \n",
+    "                      training_loss DOUBLE PRECISION[], \n",
+    "                      validation_metrics_final DOUBLE PRECISION, \n",
+    "                      validation_loss_final DOUBLE PRECISION, \n",
+    "                      validation_metrics DOUBLE PRECISION[], \n",
+    "                      validation_loss DOUBLE PRECISION[], \n",
+    "                      model_arch_table TEXT, \n",
+    "                      num_iterations INTEGER, \n",
+    "                      start_training_time TIMESTAMP, \n",
+    "                      end_training_time TIMESTAMP,\n",
+    "                      s INTEGER, \n",
+    "                      i INTEGER,\n",
+    "                      run_id SERIAL\n",
+    "                     );\n",
+    "\n",
+    "-- model selection table\n",
+    "DROP TABLE IF EXISTS mst_table_hb_cifar10;\n",
+    "CREATE TABLE mst_table_hb_cifar10 (\n",
+    "                           mst_key SERIAL, \n",
+    "                           s INTEGER, -- bracket\n",
+    "                           model_id INTEGER, \n",
+    "                           compile_params VARCHAR, \n",
+    "                           fit_params VARCHAR\n",
+    "                          );\n",
+    "\n",
+    "-- model selection summary table\n",
+    "DROP TABLE IF EXISTS mst_table_hb_cifar10_summary;\n",
+    "CREATE TABLE mst_table_hb_cifar10_summary (model_arch_table VARCHAR);\n",
+    "INSERT INTO mst_table_hb_cifar10_summary VALUES ('model_arch_table_cifar10');\n",
+    "\n",
+    "-- model selection table for diagonal\n",
+    "DROP TABLE IF EXISTS mst_diag_table_hb_cifar10;\n",
+    "CREATE TABLE mst_diag_table_hb_cifar10 (\n",
+    "                           mst_key INTEGER, -- note not SERIAL since this table derived from main model selection table\n",
+    "                           s INTEGER, -- bracket\n",
+    "                           model_id INTEGER, \n",
+    "                           compile_params VARCHAR, \n",
+    "                           fit_params VARCHAR\n",
+    "                          );\n",
+    "\n",
+    "-- model selection summary table for diagonal\n",
+    "DROP TABLE IF EXISTS mst_diag_table_hb_cifar10_summary;\n",
+    "CREATE TABLE mst_diag_table_hb_cifar10_summary (model_arch_table VARCHAR);\n",
+    "INSERT INTO mst_diag_table_hb_cifar10_summary VALUES ('model_arch_table_cifar10');"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Generalize table names"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 14,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "results_table = 'results_cifar10'\n",
+    "\n",
+    "output_table = 'cifar10_multi_model'\n",
+    "output_table_info = '_'.join([output_table, 'info'])\n",
+    "output_table_summary = '_'.join([output_table, 'summary'])\n",
+    "\n",
+    "best_model = 'cifar10_best_model'\n",
+    "best_model_info = '_'.join([best_model, 'info'])\n",
+    "best_model_summary = '_'.join([best_model, 'summary'])\n",
+    "\n",
+    "\n",
+    "mst_table = 'mst_table_hb_cifar10'\n",
+    "mst_table_summary = '_'.join([mst_table, 'summary'])\n",
+    "\n",
+    "mst_diag_table = 'mst_diag_table_hb_cifar10'\n",
+    "mst_diag_table_summary = '_'.join([mst_diag_table, 'summary'])\n",
+    "\n",
+    "model_arch_table = 'model_arch_table_cifar10'"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Hyperband diagonal logic"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 18,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import numpy as np\n",
+    "from random import random\n",
+    "from math import log, ceil\n",
+    "from time import time, ctime\n",
+    "\n",
+    "class Hyperband_diagonal:\n",
+    "    \n",
+    "    def __init__( self, get_params_function, try_params_function ):\n",
+    "        self.get_params = get_params_function #\n",
+    "        self.try_params = try_params_function\n",
+    "\n",
+    "        self.max_iter = 27   # maximum iterations per configuration\n",
+    "        self.eta = 3        # defines downsampling rate (default = 3)\n",
+    "        self.skip_last = 0  # 1 means skip last run in each bracket, 0 means run full bracket\n",
+    "\n",
+    "        self.logeta = lambda x: log( x ) / log( self.eta )\n",
+    "        self.s_max = int( self.logeta( self.max_iter ))\n",
+    "        self.B = ( self.s_max + 1 ) * self.max_iter\n",
+    "        \n",
+    "        #echo output\n",
+    "        print (\"max_iter = \" + str(self.max_iter))\n",
+    "        print (\"eta = \" + str(self.eta))\n",
+    "        print (\"B = \" + str(self.s_max+1) + \"*max_iter = \" + str(self.B))\n",
+    "        print (\"skip_last = \" + str(self.skip_last))\n",
+    "        \n",
+    "        self.setup_full_schedule()\n",
+    "        self.create_mst_superset()\n",
+    "        \n",
+    "        self.best_loss = np.inf\n",
+    "        self.best_accuracy = 0.0\n",
+    "\n",
+    "    # create full Hyperband schedule for all brackets ahead of time\n",
+    "    def setup_full_schedule(self):\n",
+    "        self.n_vals = np.zeros((self.s_max+1, self.s_max+1), dtype=int)\n",
+    "        self.r_vals = np.zeros((self.s_max+1, self.s_max+1), dtype=int)\n",
+    "        sum_leaf_n_i = 0 # count configurations at leaf nodes across all s\n",
+    "        \n",
+    "        print (\" \")\n",
+    "        print (\"Hyperband brackets\")\n",
+    "\n",
+    "        # loop through each bracket in reverse order\n",
+    "        for s in reversed(range(self.s_max+1)):\n",
+    "            \n",
+    "            print (\" \")\n",
+    "            print (\"s=\" + str(s))\n",
+    "            print (\"n_i      r_i\")\n",
+    "            print (\"------------\")\n",
+    "\n",
+    "            n = int(ceil(int(self.B/self.max_iter/(s+1))*self.eta**s)) # initial number of configurations\n",
+    "            r = self.max_iter*self.eta**(-s) # initial number of iterations to run configurations for\n",
+    "\n",
+    "            #### Begin Finite Horizon Successive Halving with (n,r)\n",
+    "            for i in range(s+1):\n",
+    "                # n_i configs for r_i iterations\n",
+    "                n_i = n*self.eta**(-i)\n",
+    "                r_i = r*self.eta**(i)\n",
+    "\n",
+    "                self.n_vals[s][i] = n_i\n",
+    "                self.r_vals[s][i] = r_i\n",
+    "\n",
+    "                print (str(n_i) + \"     \" + str (r_i))\n",
+    "           \n",
+    "                #### End Finite Horizon Successive Halving with (n,r)\n",
+    "        \n",
+    "    # generate model selection tuples for all brackets\n",
+    "    def create_mst_superset(self):\n",
+    "        \n",
+    "        print (\" \")\n",
+    "        print (\"Create superset of MSTs for each bracket s\")\n",
+    "        \n",
+    "        # get hyper parameter configs for each bracket s\n",
+    "        for s in reversed(range(self.s_max+1)):\n",
+    "            n = int(ceil(int(self.B/self.max_iter/(s+1))*self.eta**s)) # initial number of configurations\n",
+    "            r = self.max_iter*self.eta**(-s) # initial number of iterations to run configurations for\n",
+    "\n",
+    "            print (\" \")\n",
+    "            print (\"s=\" + str(s))\n",
+    "            print (\"n=\" + str(n))\n",
+    "            print (\"r=\" + str(r))\n",
+    "            print (\" \")\n",
+    "            \n",
+    "            # n random configurations for each bracket s\n",
+    "            self.get_params(n, s)\n",
+    "            \n",
+    "            \n",
+    "    # Hyperband diagonal logic\n",
+    "    def run(self):   \n",
+    "        \n",
+    "        print (\" \")\n",
+    "        print (\"Hyperband diagonal\")\n",
+    "        print (\"Outer loop on diagonal:\")\n",
+    "        \n",
+    "        # outer loop on diagonal\n",
+    "        #for i in range(self.s_max+1):\n",
+    "        for i in range((self.s_max+1) - int(self.skip_last)):\n",
+    "            print (\" \")\n",
+    "            print (\"i=\" + str(i))\n",
+    "    \n",
+    "            # zero out diagonal table\n",
+    "            %sql TRUNCATE TABLE $mst_diag_table\n",
+    "            \n",
+    "            # loop on brackets s desc to create diagonal table\n",
+    "            print (\"Loop on s desc to create diagonal table:\")\n",
+    "            for s in range(self.s_max, self.s_max-i-1, -1):\n",
+    "\n",
+    "                # build up mst table for diagonal\n",
+    "                %sql INSERT INTO $mst_diag_table (SELECT * FROM $mst_table WHERE s=$s);\n",
+    "            \n",
+    "            # first pass\n",
+    "            if i == 0:\n",
+    "                first_pass = True\n",
+    "            else:\n",
+    "                first_pass = False\n",
+    "                \n",
+    "            # multi-model training\n",
+    "            print (\" \")\n",
+    "            print (\"Try params for i = \" + str(i))\n",
+    "            U = self.try_params(i, self.r_vals[self.s_max][i], first_pass) # r_i is the same for all diagonal elements\n",
+    "            \n",
+    "            # loop on brackets s desc to prune model selection table\n",
+    "            # don't need to prune if finished last diagonal\n",
+    "            #if i < (self.s_max):\n",
+    "            if i < (self.s_max - int(self.skip_last)):\n",
+    "                print (\"Loop on s desc to prune mst table:\")\n",
+    "                for s in range(self.s_max, self.s_max-i-1, -1):\n",
+    "                    \n",
+    "                    # compute number of configs to keep\n",
+    "                    # remember i value is different for each bracket s on the diagonal\n",
+    "                    k = int( self.n_vals[s][s-self.s_max+i] / self.eta)\n",
+    "                    print (\"Pruning s = {} with k = {}\".format(s, k))\n",
+    "\n",
+    "                    # temporarily re-define table names due to weird Python scope issues\n",
+    "                    results_table = 'results_cifar10'\n",
+    "\n",
+    "                    output_table = 'cifar10_multi_model'\n",
+    "                    output_table_info = '_'.join([output_table, 'info'])\n",
+    "                    output_table_summary = '_'.join([output_table, 'summary'])\n",
+    "\n",
+    "                    mst_table = 'mst_table_hb_cifar10'\n",
+    "                    mst_table_summary = '_'.join([mst_table, 'summary'])\n",
+    "\n",
+    "                    mst_diag_table = 'mst_diag_table_hb_cifar10'\n",
+    "                    mst_diag_table_summary = '_'.join([mst_diag_table, 'summary'])\n",
+    "\n",
+    "                    model_arch_table = 'model_arch_table_cifar10'\n",
+    "            \n",
+    "                    query = \"\"\"\n",
+    "                    DELETE FROM {mst_table} WHERE s={s} AND mst_key NOT IN (SELECT {output_table_info}.mst_key FROM {output_table_info} JOIN {mst_table} ON {output_table_info}.mst_key={mst_table}.mst_key WHERE s={s} ORDER BY validation_loss_final ASC LIMIT {k}::INT);\n",
+    "                    \"\"\".format(**locals())\n",
+    "                    cur.execute(query)\n",
+    "                    conn.commit()\n",
+    "                    \n",
+    "                    # these were not working so used cursor instead\n",
+    "                    #%sql DELETE FROM $mst_table WHERE s=$s AND mst_key NOT IN (SELECT $output_table_info.mst_key FROM $output_table_info JOIN $mst_table ON $output_table_info.mst_key=$mst_table.mst_key WHERE s=$s ORDER BY validation_loss_final ASC LIMIT $k::INT);\n",
+    "                    #%sql DELETE FROM mst_table_hb_cifar10 WHERE s=1 AND mst_key NOT IN (SELECT cifar10_multi_model_info.mst_key FROM cifar10_multi_model_info JOIN mst_table_hb_cifar10 ON cifar10_multi_model_info.mst_key=mst_table_hb_cifar10.mst_key WHERE s=1 ORDER BY validation_loss_final ASC LIMIT 1);\n",
+    "        \n",
+    "            # keep track of best loss so far and save the model for inference\n",
+    "            # get best loss and accuracy from this diagonal run\n",
+    "            # (need to check if this will work OK if don't evaluate metrics every iteration)\n",
+    "            loss = %sql SELECT validation_loss_final FROM $output_table_info ORDER BY validation_loss_final ASC LIMIT 1;\n",
+    "            accuracy = %sql SELECT validation_metrics_final FROM $output_table_info ORDER BY validation_metrics_final DESC LIMIT 1;\n",
+    "                    \n",
+    "            # save best model based on accuracy (could do loss if you wanted)\n",
+    "            if accuracy > self.best_accuracy:\n",
+    "                \n",
+    "                self.best_accuracy = accuracy\n",
+    "                \n",
+    "                # get best mst_key\n",
+    "                best_mst_key = %sql SELECT mst_key FROM $output_table_info ORDER BY validation_metrics_final DESC LIMIT 1; \n",
+    "                best_mst_key = best_mst_key.DataFrame().to_numpy()[0][0]\n",
+    "\n",
+    "                # save model table (1 row for best model)\n",
+    "                %sql DROP TABLE IF EXISTS $best_model;\n",
+    "                %sql CREATE TABLE $best_model AS SELECT * FROM $output_table WHERE mst_key = $best_mst_key;\n",
+    "\n",
+    "                # save info table (1 row for best model)\n",
+    "                %sql DROP TABLE IF EXISTS $best_model_info;\n",
+    "                %sql CREATE TABLE $best_model_info AS SELECT * FROM $output_table_info WHERE mst_key = $best_mst_key;\n",
+    " \n",
+    "                # save summary table\n",
+    "                %sql DROP TABLE IF EXISTS $best_model_summary;\n",
+    "                %sql CREATE TABLE $best_model_summary AS SELECT * FROM $output_table_summary;\n",
+    "            \n",
+    "            if loss < self.best_loss:\n",
+    "                self.best_loss = loss\n",
+    "                \n",
+    "            print (\" \")\n",
+    "            print (\"Best validation loss so far = \")\n",
+    "            print (str(loss))\n",
+    "            print (\"Best validation accuracy so far = \")\n",
+    "            print (str(accuracy))\n",
+    "            \n",
+    "\n",
+    "            \n",
+    "        return"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Generate params and insert into MST table.  This version of get_params uses the same compile parameters for all optimizers, and the same compile/fit parameters for all model architectures.  (This may be too restrictive in some cases.)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 20,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def get_params(n, s):\n",
+    "    \n",
+    "    from sklearn.model_selection import ParameterSampler\n",
+    "    from scipy.stats.distributions import uniform\n",
+    "    import numpy as np\n",
+    "    \n",
+    "    # model architecture\n",
+    "    model_id = [1,2]\n",
+    "\n",
+    "    # compile params\n",
+    "    # loss function\n",
+    "    loss = ['categorical_crossentropy']\n",
+    "    # optimizer\n",
+    "    optimizer = ['sgd', 'adam', 'rmsprop']\n",
+    "    # learning rate (sample on log scale here not in ParameterSampler)\n",
+    "    lr_range = [0.0001, 0.01]\n",
+    "    lr = 10**np.random.uniform(np.log10(lr_range[0]), np.log10(lr_range[1]), n)\n",
+    "    # metrics\n",
+    "    metrics = ['accuracy']\n",
+    "\n",
+    "    # fit params\n",
+    "    # batch size\n",
+    "    batch_size = [32, 64, 128, 256]\n",
+    "    # epochs\n",
+    "    epochs = [5]\n",
+    "\n",
+    "    # create random param list\n",
+    "    param_grid = {\n",
+    "        'model_id': model_id,\n",
+    "        'loss': loss,\n",
+    "        'optimizer': optimizer,\n",
+    "        'lr': lr,\n",
+    "        'metrics': metrics,\n",
+    "        'batch_size': batch_size,\n",
+    "        'epochs': epochs\n",
+    "    }\n",
+    "    param_list = list(ParameterSampler(param_grid, n_iter=n))\n",
+    "    \n",
+    "    for params in param_list:\n",
+    "\n",
+    "        model_id = str(params.get(\"model_id\"))\n",
+    "        compile_params = \"$$loss='\" + str(params.get(\"loss\")) + \"',optimizer='\" + str(params.get(\"optimizer\")) + \"(lr=\" + str(params.get(\"lr\")) + \")',metrics=['\" + str(params.get(\"metrics\")) + \"']$$\" \n",
+    "        fit_params = \"$$batch_size=\" + str(params.get(\"batch_size\")) + \",epochs=\" + str(params.get(\"epochs\")) + \"$$\"  \n",
+    "        row_content = \"(\" + str(s) + \", \" + model_id + \", \" + compile_params + \", \" + fit_params + \");\"\n",
+    "        \n",
+    "        %sql INSERT INTO $mst_table (s, model_id, compile_params, fit_params) VALUES $row_content\n",
+    "    \n",
+    "    return"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Generate params and insert into MST table.  This version of get_params allows for more customization by optimizer and model architecture.  This is sort of brute force and can be improved."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 20,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def get_params(n, s):\n",
+    "    \n",
+    "    from sklearn.model_selection import ParameterSampler\n",
+    "    from scipy.stats.distributions import uniform\n",
+    "    import numpy as np\n",
+    "    \n",
+    "    # number of samples by optimizer\n",
+    "    #n_adam = int(n/3)\n",
+    "    n_adam = int(n/2)\n",
+    "    #n_rmsprop = int(n/3)\n",
+    "    n_rmsprop = 0\n",
+    "    n_sgd = int(n - n_adam - n_rmsprop)\n",
+    "\n",
+    "    # 1) adam\n",
+    "    \n",
+    "    # model architecture\n",
+    "    model_id = [2,3]\n",
+    "\n",
+    "    # compile params\n",
+    "    # loss function\n",
+    "    loss = ['categorical_crossentropy']\n",
+    "    # optimizer\n",
+    "    optimizer = ['adam']\n",
+    "    # learning rate (sample on log scale here not in ParameterSampler)\n",
+    "    lr_range = [0.0001, 0.001]\n",
+    "    lr = 10**np.random.uniform(np.log10(lr_range[0]), np.log10(lr_range[1]), n_adam)\n",
+    "    # metrics\n",
+    "    metrics = ['accuracy']\n",
+    "\n",
+    "    # fit params\n",
+    "    # batch size\n",
+    "    batch_size = [128, 256]\n",
+    "    # epochs\n",
+    "    epochs = [5]\n",
+    "\n",
+    "    # create random param list\n",
+    "    param_grid = {\n",
+    "        'model_id': model_id,\n",
+    "        'loss': loss,\n",
+    "        'optimizer': optimizer,\n",
+    "        'lr': lr,\n",
+    "        'metrics': metrics,\n",
+    "        'batch_size': batch_size,\n",
+    "        'epochs': epochs\n",
+    "    }\n",
+    "    param_list_adam = list(ParameterSampler(param_grid, n_iter=n_adam))\n",
+    "\n",
+    "    # iterate over params\n",
+    "    for params in param_list_adam:\n",
+    "\n",
+    "        model_id = str(params.get(\"model_id\"))\n",
+    "        compile_params = \"$$loss='\" + str(params.get(\"loss\")) + \"',optimizer='\" + str(params.get(\"optimizer\")) + \"(lr=\" + str(params.get(\"lr\")) + \")',metrics=['\" + str(params.get(\"metrics\")) + \"']$$\" \n",
+    "        fit_params = \"$$batch_size=\" + str(params.get(\"batch_size\")) + \",epochs=\" + str(params.get(\"epochs\")) + \"$$\"  \n",
+    "        row_content = \"(\" + str(s) + \", \" + model_id + \", \" + compile_params + \", \" + fit_params + \");\"\n",
+    "    \n",
+    "        # populate mst table\n",
+    "        %sql INSERT INTO $mst_table (s, model_id, compile_params, fit_params) VALUES $row_content\n",
+    "    \n",
+    "    \n",
+    "    # 2) rmsprop\n",
+    "    \n",
+    "    # model architecture\n",
+    "    model_id = [1,2,3]\n",
+    "\n",
+    "    # compile params\n",
+    "    # loss function\n",
+    "    loss = ['categorical_crossentropy']\n",
+    "    # optimizer\n",
+    "    optimizer = ['rmsprop']\n",
+    "    # learning rate (sample on log scale here not in ParameterSampler)\n",
+    "    lr_range = [0.0001, 0.001]\n",
+    "    lr = 10**np.random.uniform(np.log10(lr_range[0]), np.log10(lr_range[1]), n_rmsprop)\n",
+    "    # decay (sample on log scale here not in ParameterSampler if want multiple values)\n",
+    "    decay = [1e-6]\n",
+    "\n",
+    "    # metrics\n",
+    "    metrics = ['accuracy']\n",
+    "\n",
+    "    # fit params\n",
+    "    # batch size\n",
+    "    batch_size = [32, 64, 128, 256]\n",
+    "    # epochs\n",
+    "    epochs = [5]\n",
+    "\n",
+    "    # create random param list\n",
+    "    param_grid = {\n",
+    "        'model_id': model_id,\n",
+    "        'loss': loss,\n",
+    "        'optimizer': optimizer,\n",
+    "        'lr': lr,\n",
+    "        'decay': decay,\n",
+    "        'metrics': metrics,\n",
+    "        'batch_size': batch_size,\n",
+    "        'epochs': epochs\n",
+    "    }\n",
+    "    param_list_rmsprop = list(ParameterSampler(param_grid, n_iter=n_rmsprop))\n",
+    "\n",
+    "    # iterate over params\n",
+    "    for params in param_list_rmsprop:\n",
+    "\n",
+    "        model_id = str(params.get(\"model_id\"))\n",
+    "        compile_params = \"$$loss='\" + str(params.get(\"loss\")) + \"',optimizer='\" + str(params.get(\"optimizer\")) + \"(lr=\" + str(params.get(\"lr\")) + \",decay=\" + str(params.get(\"decay\")) + \")',metrics=['\" + str(params.get(\"metrics\")) + \"']$$\" \n",
+    "        fit_params = \"$$batch_size=\" + str(params.get(\"batch_size\")) + \",epochs=\" + str(params.get(\"epochs\")) + \"$$\"  \n",
+    "        row_content = \"(\" + str(s) + \", \" + model_id + \", \" + compile_params + \", \" + fit_params + \");\"\n",
+    "    \n",
+    "        # populate mst table\n",
+    "        %sql INSERT INTO $mst_table (s, model_id, compile_params, fit_params) VALUES $row_content\n",
+    "\n",
+    "\n",
+    "    # 3) sgd\n",
+    "    \n",
+    "    # model architecture\n",
+    "    model_id = [2,3]\n",
+    "\n",
+    "    # compile params\n",
+    "    # loss function\n",
+    "    loss = ['categorical_crossentropy']\n",
+    "    # optimizer\n",
+    "    optimizer = ['sgd']\n",
+    "    # learning rate (sample on log scale here not in ParameterSampler)\n",
+    "    lr_range = [0.001, 0.005]\n",
+    "    lr = 10**np.random.uniform(np.log10(lr_range[0]), np.log10(lr_range[1]), n_sgd)\n",
+    "    # momentum (sample on log scale here not in ParameterSampler)\n",
+    "    # recall momentum is an exponentially weighted array\n",
+    "    beta_range = [0.9, 0.95]\n",
+    "    beta = 1.0 - 10**np.random.uniform(np.log10(1.0-beta_range[0]), np.log10(1.0-beta_range[1]), n_sgd)\n",
+    "    # metrics\n",
+    "    metrics = ['accuracy']\n",
+    "\n",
+    "    # fit params\n",
+    "    # batch size\n",
+    "    batch_size = [128, 256]\n",
+    "    # epochs\n",
+    "    epochs = [5]\n",
+    "\n",
+    "    # create random param list\n",
+    "    param_grid = {\n",
+    "        'model_id': model_id,\n",
+    "        'loss': loss,\n",
+    "        'optimizer': optimizer,\n",
+    "        'lr': lr,\n",
+    "        'beta': beta,\n",
+    "        'metrics': metrics,\n",
+    "        'batch_size': batch_size,\n",
+    "        'epochs': epochs\n",
+    "    }\n",
+    "    param_list_sgd = list(ParameterSampler(param_grid, n_iter=n_sgd))\n",
+    "\n",
+    "    # iterate over params\n",
+    "    for params in param_list_sgd:\n",
+    "\n",
+    "        model_id = str(params.get(\"model_id\"))\n",
+    "        compile_params = \"$$loss='\" + str(params.get(\"loss\")) + \"',optimizer='\" + str(params.get(\"optimizer\")) + \"(lr=\" + str(params.get(\"lr\")) + \",momentum=\" + str(params.get(\"beta\")) + \")',metrics=['\" + str(params.get(\"metrics\")) + \"']$$\" \n",
+    "        fit_params = \"$$batch_size=\" + str(params.get(\"batch_size\")) + \",epochs=\" + str(params.get(\"epochs\")) + \"$$\"  \n",
+    "        row_content = \"(\" + str(s) + \", \" + model_id + \", \" + compile_params + \", \" + fit_params + \");\"\n",
+    "    \n",
+    "        # populate mst table\n",
+    "        %sql INSERT INTO $mst_table (s, model_id, compile_params, fit_params) VALUES $row_content\n",
+    "\n",
+    "    \n",
+    "    #4) organize mst table\n",
+    "\n",
+    "    #down sample\n",
+    "    #%sql DELETE from $mst_table WHERE mst_key NOT IN (SELECT mst_key FROM $mst_table ORDER BY random() LIMIT $n);\n",
+    "\n",
+    "    # make mst_keys contiguous\n",
+    "    #%sql ALTER TABLE $mst_table DROP COLUMN mst_key;\n",
+    "    #%sql ALTER TABLE $mst_table ADD COLUMN mst_key SERIAL;\n",
+    "    \n",
+    "    return"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Run model hopper for candidates in MST table"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 21,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def try_params(i, r, first_pass):\n",
+    "    \n",
+    "    # multi-model fit\n",
+    "    if first_pass:\n",
+    "        # cold start\n",
+    "        %sql DROP TABLE IF EXISTS $output_table, $output_table_summary, $output_table_info;\n",
+    "        # passing vars as madlib args does not seem to work\n",
+    "        #%sql SELECT madlib.madlib_keras_fit_multiple_model('cifar10_train_packed', $output_table, $mst_diag_table, $r_i::INT, 0);\n",
+    "        %sql SELECT madlib.madlib_keras_fit_multiple_model('cifar10_train_packed', 'cifar10_multi_model', 'mst_diag_table_hb_cifar10', $r::INT, True, 'cifar10_val_packed',1);\n",
+    "\n",
+    "    else:\n",
+    "        # warm start to continue from previous run\n",
+    "        %sql SELECT madlib.madlib_keras_fit_multiple_model('cifar10_train_packed', 'cifar10_multi_model', 'mst_diag_table_hb_cifar10', $r::INT, True, 'cifar10_val_packed', 1, True);\n",
+    "\n",
+    "    # save results via temp table\n",
+    "    # add everything from info table\n",
+    "    %sql DROP TABLE IF EXISTS temp_results;\n",
+    "    %sql CREATE TABLE temp_results AS (SELECT * FROM $output_table_info);\n",
+    "    \n",
+    "    # add summary table info and i value (same for each row)\n",
+    "    %sql ALTER TABLE temp_results ADD COLUMN model_arch_table TEXT, ADD COLUMN num_iterations INTEGER, ADD COLUMN start_training_time TIMESTAMP, ADD COLUMN end_training_time TIMESTAMP, ADD COLUMN s INTEGER, ADD COLUMN i INTEGER;\n",
+    "    %sql UPDATE temp_results SET model_arch_table = (SELECT model_arch_table FROM $output_table_summary), num_iterations = (SELECT num_iterations FROM $output_table_summary), start_training_time = (SELECT start_training_time FROM $output_table_summary), end_training_time = (SELECT end_training_time FROM $output_table_summary), i = $i;\n",
+    "    \n",
+    "    # get the s value for each run (not the same for each row since diagonal table crosses multiple brackets)\n",
+    "    %sql UPDATE temp_results SET s = m.s FROM mst_diag_table_hb_cifar10 AS m WHERE m.mst_key = temp_results.mst_key;\n",
+    "    \n",
+    "    # copy temp table into results table\n",
+    "    %sql INSERT INTO $results_table (SELECT * FROM temp_results);\n",
+    "\n",
+    "    return"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Call Hyperband diagonal"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 22,
+   "metadata": {
+    "scrolled": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "max_iter = 27\n",
+      "eta = 3\n",
+      "B = 4*max_iter = 108\n",
+      "skip_last = 0\n",
+      " \n",
+      "Hyperband brackets\n",
+      " \n",
+      "s=3\n",
+      "n_i      r_i\n",
+      "------------\n",
+      "27     1.0\n",
+      "9.0     3.0\n",
+      "3.0     9.0\n",
+      "1.0     27.0\n",
+      " \n",
+      "s=2\n",
+      "n_i      r_i\n",
+      "------------\n",
+      "9     3.0\n",
+      "3.0     9.0\n",
+      "1.0     27.0\n",
+      " \n",
+      "s=1\n",
+      "n_i      r_i\n",
+      "------------\n",
+      "6     9.0\n",
+      "2.0     27.0\n",
+      " \n",
+      "s=0\n",
+      "n_i      r_i\n",
+      "------------\n",
+      "4     27\n",
+      " \n",
+      "Create superset of MSTs for each bracket s\n",
+      " \n",
+      "s=3\n",
+      "n=27\n",
+      "r=1.0\n",
+      " \n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      " \n",
+      "s=2\n",
+      "n=9\n",
+      "r=3.0\n",
+      " \n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      " \n",
+      "s=1\n",
+      "n=6\n",
+      "r=9.0\n",
+      " \n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      " \n",
+      "s=0\n",
+      "n=4\n",
+      "r=27\n",
+      " \n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      " \n",
+      "Hyperband diagonal\n",
+      "Outer loop on diagonal:\n",
+      " \n",
+      "i=0\n",
+      "Done.\n",
+      "Loop on s desc to create diagonal table:\n",
+      "27 rows affected.\n",
+      " \n",
+      "Try params for i = 0\n",
+      "Done.\n",
+      "1 rows affected.\n",
+      "Done.\n",
+      "27 rows affected.\n",
+      "Done.\n",
+      "27 rows affected.\n",
+      "27 rows affected.\n",
+      "27 rows affected.\n",
+      "Loop on s desc to prune mst table:\n",
+      "Pruning s = 3 with k = 9\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "Done.\n",
+      "1 rows affected.\n",
+      "Done.\n",
+      "1 rows affected.\n",
+      "Done.\n",
+      "1 rows affected.\n",
+      " \n",
+      "Best validation loss so far = \n",
+      "+-----------------------+\n",
+      "| validation_loss_final |\n",
+      "+-----------------------+\n",
+      "|     0.782763898373    |\n",
+      "+-----------------------+\n",
+      "Best validation accuracy so far = \n",
+      "+--------------------------+\n",
+      "| validation_metrics_final |\n",
+      "+--------------------------+\n",
+      "|      0.72729998827       |\n",
+      "+--------------------------+\n",
+      " \n",
+      "i=1\n",
+      "Done.\n",
+      "Loop on s desc to create diagonal table:\n",
+      "9 rows affected.\n",
+      "9 rows affected.\n",
+      " \n",
+      "Try params for i = 1\n",
+      "1 rows affected.\n",
+      "Done.\n",
+      "18 rows affected.\n",
+      "Done.\n",
+      "18 rows affected.\n",
+      "18 rows affected.\n",
+      "18 rows affected.\n",
+      "Loop on s desc to prune mst table:\n",
+      "Pruning s = 3 with k = 3\n",
+      "Pruning s = 2 with k = 3\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "Done.\n",
+      "1 rows affected.\n",
+      "Done.\n",
+      "1 rows affected.\n",
+      "Done.\n",
+      "1 rows affected.\n",
+      " \n",
+      "Best validation loss so far = \n",
+      "+-----------------------+\n",
+      "| validation_loss_final |\n",
+      "+-----------------------+\n",
+      "|     0.602479159832    |\n",
+      "+-----------------------+\n",
+      "Best validation accuracy so far = \n",
+      "+--------------------------+\n",
+      "| validation_metrics_final |\n",
+      "+--------------------------+\n",
+      "|      0.805599987507      |\n",
+      "+--------------------------+\n",
+      " \n",
+      "i=2\n",
+      "Done.\n",
+      "Loop on s desc to create diagonal table:\n",
+      "3 rows affected.\n",
+      "3 rows affected.\n",
+      "6 rows affected.\n",
+      " \n",
+      "Try params for i = 2\n",
+      "1 rows affected.\n",
+      "Done.\n",
+      "12 rows affected.\n",
+      "Done.\n",
+      "12 rows affected.\n",
+      "12 rows affected.\n",
+      "12 rows affected.\n",
+      "Loop on s desc to prune mst table:\n",
+      "Pruning s = 3 with k = 1\n",
+      "Pruning s = 2 with k = 1\n",
+      "Pruning s = 1 with k = 2\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "Done.\n",
+      "1 rows affected.\n",
+      "Done.\n",
+      "1 rows affected.\n",
+      "Done.\n",
+      "1 rows affected.\n",
+      " \n",
+      "Best validation loss so far = \n",
+      "+-----------------------+\n",
+      "| validation_loss_final |\n",
+      "+-----------------------+\n",
+      "|     0.595765888691    |\n",
+      "+-----------------------+\n",
+      "Best validation accuracy so far = \n",
+      "+--------------------------+\n",
+      "| validation_metrics_final |\n",
+      "+--------------------------+\n",
+      "|      0.824999988079      |\n",
+      "+--------------------------+\n",
+      " \n",
+      "i=3\n",
+      "Done.\n",
+      "Loop on s desc to create diagonal table:\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "2 rows affected.\n",
+      "4 rows affected.\n",
+      " \n",
+      "Try params for i = 3\n",
+      "1 rows affected.\n",
+      "Done.\n",
+      "8 rows affected.\n",
+      "Done.\n",
+      "8 rows affected.\n",
+      "8 rows affected.\n",
+      "8 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "Done.\n",
+      "1 rows affected.\n",
+      "Done.\n",
+      "1 rows affected.\n",
+      "Done.\n",
+      "1 rows affected.\n",
+      " \n",
+      "Best validation loss so far = \n",
+      "+-----------------------+\n",
+      "| validation_loss_final |\n",
+      "+-----------------------+\n",
+      "|     0.580716967583    |\n",
+      "+-----------------------+\n",
+      "Best validation accuracy so far = \n",
+      "+--------------------------+\n",
+      "| validation_metrics_final |\n",
+      "+--------------------------+\n",
+      "|      0.834100008011      |\n",
+      "+--------------------------+\n"
+     ]
+    }
+   ],
+   "source": [
+    "hp = Hyperband_diagonal(get_params, try_params )\n",
+    "results = hp.run()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<a id=\"plot\"></a>\n",
+    "# 5. Review and plot results"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 29,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "1 rows affected.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>mst_key</th>\n",
+       "        <th>model_id</th>\n",
+       "        <th>compile_params</th>\n",
+       "        <th>fit_params</th>\n",
+       "        <th>model_type</th>\n",
+       "        <th>model_size</th>\n",
+       "        <th>metrics_elapsed_time</th>\n",
+       "        <th>metrics_type</th>\n",
+       "        <th>training_metrics_final</th>\n",
+       "        <th>training_loss_final</th>\n",
+       "        <th>training_metrics</th>\n",
+       "        <th>training_loss</th>\n",
+       "        <th>validation_metrics_final</th>\n",
+       "        <th>validation_loss_final</th>\n",
+       "        <th>validation_metrics</th>\n",
+       "        <th>validation_loss</th>\n",
+       "        <th>model_arch_table</th>\n",
+       "        <th>num_iterations</th>\n",
+       "        <th>start_training_time</th>\n",
+       "        <th>end_training_time</th>\n",
+       "        <th>s</th>\n",
+       "        <th>i</th>\n",
+       "        <th>run_id</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>45</td>\n",
+       "        <td>2</td>\n",
+       "        <td>loss='categorical_crossentropy',optimizer='sgd(lr=0.004501919010538727,momentum=0.9002808952996391)',metrics=['accuracy']</td>\n",
+       "        <td>batch_size=256,epochs=5</td>\n",
+       "        <td>madlib_keras</td>\n",
+       "        <td>2159.70019531</td>\n",
+       "        <td>[121.955986022949, 245.619317054749, 368.365077972412, 490.415205955505, 614.768485069275, 737.048167943954, 860.508330106735, 984.307431936264, 1106.31793498993, 1229.54079914093, 1352.66811394691, 1477.57317709923, 1599.99458003044, 1723.35215711594, 1847.86346912384, 1971.57312297821, 2096.37913298607, 2221.54790210724, 2346.08665895462, 2470.83494997025, 2595.6411960125, 2722.25887513161, 2846.48335313797, 2971.13271403313, 3097.49445009232, 3222.44972395897, 3348.5662779808]</td>\n",
+       "        <td>[u'accuracy']</td>\n",
+       "        <td>0.941940009594</td>\n",
+       "        <td>0.169452220201</td>\n",
+       "        <td>[0.574479997158051, 0.658760011196136, 0.695840001106262, 0.72733998298645, 0.733219981193542, 0.771200001239777, 0.778680026531219, 0.808700025081635, 0.809000015258789, 0.818579971790314, 0.835739970207214, 0.84799998998642, 0.853200018405914, 0.858900010585785, 0.872919976711273, 0.878780007362366, 0.88808000087738, 0.880240023136139, 0.894320011138916, 0.903779983520508, 0.912299990653992, 0.908439993858337, 0.919539988040924, 0.924639999866486, 0.929180026054382, 0.9375, 0.941940009593964]</td>\n",
+       "        <td>[1.19219434261322, 0.959131419658661, 0.861107409000397, 0.770956337451935, 0.747268915176392, 0.64410811662674, 0.628470838069916, 0.539423823356628, 0.541868448257446, 0.514527797698975, 0.469026476144791, 0.432008743286133, 0.416983753442764, 0.402583330869675, 0.363078087568283, 0.346161216497421, 0.317243546247482, 0.340911239385605, 0.304346263408661, 0.274338334798813, 0.253901869058609, 0.262585163116455, 0.231020957231522, 0.218931555747986, 0.206650838255882, 0.184870630502701, 0.169452220201492]</td>\n",
+       "        <td>0.816399991512</td>\n",
+       "        <td>0.580716967583</td>\n",
+       "        <td>[0.565699994564056, 0.641200006008148, 0.674899995326996, 0.704500019550323, 0.708000004291534, 0.740499973297119, 0.739799976348877, 0.766499996185303, 0.762099981307983, 0.76690000295639, 0.780900001525879, 0.785000026226044, 0.785300016403198, 0.79009997844696, 0.79449999332428, 0.795799970626831, 0.802600026130676, 0.792599976062775, 0.798399984836578, 0.807299971580505, 0.810500025749207, 0.801699995994568, 0.805400013923645, 0.811600029468536, 0.810100018978119, 0.813899993896484, 0.816399991512299]</td>\n",
+       "        <td>[1.20952260494232, 1.00138294696808, 0.919946014881134, 0.846988558769226, 0.835236310958862, 0.748137712478638, 0.745132148265839, 0.670836567878723, 0.688502311706543, 0.673530399799347, 0.646275579929352, 0.626095473766327, 0.629233837127686, 0.623023450374603, 0.601795375347137, 0.603216171264648, 0.587353229522705, 0.635767936706543, 0.61867493391037, 0.594616591930389, 0.586753845214844, 0.60888147354126, 0.601007521152496, 0.593143999576569, 0.601291477680206, 0.583372294902802, 0.580716967582703]</td>\n",
+       "        <td>model_arch_table_cifar10</td>\n",
+       "        <td>27</td>\n",
+       "        <td>2020-01-23 21:12:04.749779</td>\n",
+       "        <td>2020-01-23 22:07:53.819497</td>\n",
+       "        <td>0</td>\n",
+       "        <td>3</td>\n",
+       "        <td>65</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[(45, 2, u\"loss='categorical_crossentropy',optimizer='sgd(lr=0.004501919010538727,momentum=0.9002808952996391)',metrics=['accuracy']\", u'batch_size=256,epochs=5', u'madlib_keras', 2159.70019531, [121.955986022949, 245.619317054749, 368.365077972412, 490.415205955505, 614.768485069275, 737.048167943954, 860.508330106735, 984.307431936264, 1106.31793498993, 1229.54079914093, 1352.66811394691, 1477.57317709923, 1599.99458003044, 1723.35215711594, 1847.86346912384, 1971.57312297821, 2096.37913298607, 2221.54790210724, 2346.08665895462, 2470.83494997025, 2595.6411960125, 2722.25887513161, 2846.48335313797, 2971.13271403313, 3097.49445009232, 3222.44972395897, 3348.5662779808], [u'accuracy'], 0.941940009594, 0.169452220201, [0.574479997158051, 0.658760011196136, 0.695840001106262, 0.72733998298645, 0.733219981193542, 0.771200001239777, 0.778680026531219, 0.808700025081635, 0.809000015258789, 0.818579971790314, 0.835739970207214, 0.84799998998642, 0.853200018405914, 0.858900010585785, 0.872919976711273, 0.878780007362366, 0.88808000087738, 0.880240023136139, 0.894320011138916, 0.903779983520508, 0.912299990653992, 0.908439993858337, 0.919539988040924, 0.924639999866486, 0.929180026054382, 0.9375, 0.941940009593964], [1.19219434261322, 0.959131419658661, 0.861107409000397, 0.770956337451935, 0.747268915176392, 0.64410811662674, 0.628470838069916, 0.539423823356628, 0.541868448257446, 0.514527797698975, 0.469026476144791, 0.432008743286133, 0.416983753442764, 0.402583330869675, 0.363078087568283, 0.346161216497421, 0.317243546247482, 0.340911239385605, 0.304346263408661, 0.274338334798813, 0.253901869058609, 0.262585163116455, 0.231020957231522, 0.218931555747986, 0.206650838255882, 0.184870630502701, 0.169452220201492], 0.816399991512, 0.580716967583, [0.565699994564056, 0.641200006008148, 0.674899995326996, 0.704500019550323, 0.708000004291534, 0.740499973297119, 0.739799976348877, 0.766499996185303, 0.762099981307983, 0.76690000295639, 0.780900001525879, 0.785000026226044, 0.785300016403198, 0.79009997844696, 0.79449999332428, 0.795799970626831, 0.802600026130676, 0.792599976062775, 0.798399984836578, 0.807299971580505, 0.810500025749207, 0.801699995994568, 0.805400013923645, 0.811600029468536, 0.810100018978119, 0.813899993896484, 0.816399991512299], [1.20952260494232, 1.00138294696808, 0.919946014881134, 0.846988558769226, 0.835236310958862, 0.748137712478638, 0.745132148265839, 0.670836567878723, 0.688502311706543, 0.673530399799347, 0.646275579929352, 0.626095473766327, 0.629233837127686, 0.623023450374603, 0.601795375347137, 0.603216171264648, 0.587353229522705, 0.635767936706543, 0.61867493391037, 0.594616591930389, 0.586753845214844, 0.60888147354126, 0.601007521152496, 0.593143999576569, 0.601291477680206, 0.583372294902802, 0.580716967582703], u'model_arch_table_cifar10', 27, datetime.datetime(2020, 1, 23, 21, 12, 4, 749779), datetime.datetime(2020, 1, 23, 22, 7, 53, 819497), 0, 3, 65)]"
+      ]
+     },
+     "execution_count": 29,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%sql SELECT * FROM $results_table ORDER BY validation_loss_final ASC LIMIT 1;"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 24,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "%matplotlib notebook\n",
+    "import matplotlib.pyplot as plt\n",
+    "from matplotlib.ticker import MaxNLocator\n",
+    "from collections import defaultdict\n",
+    "import pandas as pd\n",
+    "import seaborn as sns\n",
+    "sns.set_palette(sns.color_palette(\"hls\", 20))\n",
+    "plt.rcParams.update({'font.size': 12})\n",
+    "pd.set_option('display.max_colwidth', -1)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Training dataset"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 26,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "65 rows affected.\n"
+     ]
+    },
+    {
+     "data": {
+      "application/javascript": [
+       "/* Put everything inside the global mpl namespace */\n",
+       "window.mpl = {};\n",
+       "\n",
+       "\n",
+       "mpl.get_websocket_type = function() {\n",
+       "    if (typeof(WebSocket) !== 'undefined') {\n",
+       "        return WebSocket;\n",
+       "    } else if (typeof(MozWebSocket) !== 'undefined') {\n",
+       "        return MozWebSocket;\n",
+       "    } else {\n",
+       "        alert('Your browser does not have WebSocket support.' +\n",
+       "              'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+       "              'Firefox 4 and 5 are also supported but you ' +\n",
+       "              'have to enable WebSockets in about:config.');\n",
+       "    };\n",
+       "}\n",
+       "\n",
+       "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
+       "    this.id = figure_id;\n",
+       "\n",
+       "    this.ws = websocket;\n",
+       "\n",
+       "    this.supports_binary = (this.ws.binaryType != undefined);\n",
+       "\n",
+       "    if (!this.supports_binary) {\n",
+       "        var warnings = document.getElementById(\"mpl-warnings\");\n",
+       "        if (warnings) {\n",
+       "            warnings.style.display = 'block';\n",
+       "            warnings.textContent = (\n",
+       "                \"This browser does not support binary websocket messages. \" +\n",
+       "                    \"Performance may be slow.\");\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.imageObj = new Image();\n",
+       "\n",
+       "    this.context = undefined;\n",
+       "    this.message = undefined;\n",
+       "    this.canvas = undefined;\n",
+       "    this.rubberband_canvas = undefined;\n",
+       "    this.rubberband_context = undefined;\n",
+       "    this.format_dropdown = undefined;\n",
+       "\n",
+       "    this.image_mode = 'full';\n",
+       "\n",
+       "    this.root = $('<div/>');\n",
+       "    this._root_extra_style(this.root)\n",
+       "    this.root.attr('style', 'display: inline-block');\n",
+       "\n",
+       "    $(parent_element).append(this.root);\n",
+       "\n",
+       "    this._init_header(this);\n",
+       "    this._init_canvas(this);\n",
+       "    this._init_toolbar(this);\n",
+       "\n",
+       "    var fig = this;\n",
+       "\n",
+       "    this.waiting = false;\n",
+       "\n",
+       "    this.ws.onopen =  function () {\n",
+       "            fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
+       "            fig.send_message(\"send_image_mode\", {});\n",
+       "            if (mpl.ratio != 1) {\n",
+       "                fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
+       "            }\n",
+       "            fig.send_message(\"refresh\", {});\n",
+       "        }\n",
+       "\n",
+       "    this.imageObj.onload = function() {\n",
+       "            if (fig.image_mode == 'full') {\n",
+       "                // Full images could contain transparency (where diff images\n",
+       "                // almost always do), so we need to clear the canvas so that\n",
+       "                // there is no ghosting.\n",
+       "                fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+       "            }\n",
+       "            fig.context.drawImage(fig.imageObj, 0, 0);\n",
+       "        };\n",
+       "\n",
+       "    this.imageObj.onunload = function() {\n",
+       "        fig.ws.close();\n",
+       "    }\n",
+       "\n",
+       "    this.ws.onmessage = this._make_on_message_function(this);\n",
+       "\n",
+       "    this.ondownload = ondownload;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_header = function() {\n",
+       "    var titlebar = $(\n",
+       "        '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
+       "        'ui-helper-clearfix\"/>');\n",
+       "    var titletext = $(\n",
+       "        '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
+       "        'text-align: center; padding: 3px;\"/>');\n",
+       "    titlebar.append(titletext)\n",
+       "    this.root.append(titlebar);\n",
+       "    this.header = titletext[0];\n",
+       "}\n",
+       "\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
+       "\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
+       "\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_canvas = function() {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var canvas_div = $('<div/>');\n",
+       "\n",
+       "    canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
+       "\n",
+       "    function canvas_keyboard_event(event) {\n",
+       "        return fig.key_event(event, event['data']);\n",
+       "    }\n",
+       "\n",
+       "    canvas_div.keydown('key_press', canvas_keyboard_event);\n",
+       "    canvas_div.keyup('key_release', canvas_keyboard_event);\n",
+       "    this.canvas_div = canvas_div\n",
+       "    this._canvas_extra_style(canvas_div)\n",
+       "    this.root.append(canvas_div);\n",
+       "\n",
+       "    var canvas = $('<canvas/>');\n",
+       "    canvas.addClass('mpl-canvas');\n",
+       "    canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
+       "\n",
+       "    this.canvas = canvas[0];\n",
+       "    this.context = canvas[0].getContext(\"2d\");\n",
+       "\n",
+       "    var backingStore = this.context.backingStorePixelRatio ||\n",
+       "\tthis.context.webkitBackingStorePixelRatio ||\n",
+       "\tthis.context.mozBackingStorePixelRatio ||\n",
+       "\tthis.context.msBackingStorePixelRatio ||\n",
+       "\tthis.context.oBackingStorePixelRatio ||\n",
+       "\tthis.context.backingStorePixelRatio || 1;\n",
+       "\n",
+       "    mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+       "\n",
+       "    var rubberband = $('<canvas/>');\n",
+       "    rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
+       "\n",
+       "    var pass_mouse_events = true;\n",
+       "\n",
+       "    canvas_div.resizable({\n",
+       "        start: function(event, ui) {\n",
+       "            pass_mouse_events = false;\n",
+       "        },\n",
+       "        resize: function(event, ui) {\n",
+       "            fig.request_resize(ui.size.width, ui.size.height);\n",
+       "        },\n",
+       "        stop: function(event, ui) {\n",
+       "            pass_mouse_events = true;\n",
+       "            fig.request_resize(ui.size.width, ui.size.height);\n",
+       "        },\n",
+       "    });\n",
+       "\n",
+       "    function mouse_event_fn(event) {\n",
+       "        if (pass_mouse_events)\n",
+       "            return fig.mouse_event(event, event['data']);\n",
+       "    }\n",
+       "\n",
+       "    rubberband.mousedown('button_press', mouse_event_fn);\n",
+       "    rubberband.mouseup('button_release', mouse_event_fn);\n",
+       "    // Throttle sequential mouse events to 1 every 20ms.\n",
+       "    rubberband.mousemove('motion_notify', mouse_event_fn);\n",
+       "\n",
+       "    rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
+       "    rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
+       "\n",
+       "    canvas_div.on(\"wheel\", function (event) {\n",
+       "        event = event.originalEvent;\n",
+       "        event['data'] = 'scroll'\n",
+       "        if (event.deltaY < 0) {\n",
+       "            event.step = 1;\n",
+       "        } else {\n",
+       "            event.step = -1;\n",
+       "        }\n",
+       "        mouse_event_fn(event);\n",
+       "    });\n",
+       "\n",
+       "    canvas_div.append(canvas);\n",
+       "    canvas_div.append(rubberband);\n",
+       "\n",
+       "    this.rubberband = rubberband;\n",
+       "    this.rubberband_canvas = rubberband[0];\n",
+       "    this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
+       "    this.rubberband_context.strokeStyle = \"#000000\";\n",
+       "\n",
+       "    this._resize_canvas = function(width, height) {\n",
+       "        // Keep the size of the canvas, canvas container, and rubber band\n",
+       "        // canvas in synch.\n",
+       "        canvas_div.css('width', width)\n",
+       "        canvas_div.css('height', height)\n",
+       "\n",
+       "        canvas.attr('width', width * mpl.ratio);\n",
+       "        canvas.attr('height', height * mpl.ratio);\n",
+       "        canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
+       "\n",
+       "        rubberband.attr('width', width);\n",
+       "        rubberband.attr('height', height);\n",
+       "    }\n",
+       "\n",
+       "    // Set the figure to an initial 600x600px, this will subsequently be updated\n",
+       "    // upon first draw.\n",
+       "    this._resize_canvas(600, 600);\n",
+       "\n",
+       "    // Disable right mouse context menu.\n",
+       "    $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
+       "        return false;\n",
+       "    });\n",
+       "\n",
+       "    function set_focus () {\n",
+       "        canvas.focus();\n",
+       "        canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    window.setTimeout(set_focus, 100);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function() {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var nav_element = $('<div/>')\n",
+       "    nav_element.attr('style', 'width: 100%');\n",
+       "    this.root.append(nav_element);\n",
+       "\n",
+       "    // Define a callback function for later on.\n",
+       "    function toolbar_event(event) {\n",
+       "        return fig.toolbar_button_onclick(event['data']);\n",
+       "    }\n",
+       "    function toolbar_mouse_event(event) {\n",
+       "        return fig.toolbar_button_onmouseover(event['data']);\n",
+       "    }\n",
+       "\n",
+       "    for(var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            // put a spacer in here.\n",
+       "            continue;\n",
+       "        }\n",
+       "        var button = $('<button/>');\n",
+       "        button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+       "                        'ui-button-icon-only');\n",
+       "        button.attr('role', 'button');\n",
+       "        button.attr('aria-disabled', 'false');\n",
+       "        button.click(method_name, toolbar_event);\n",
+       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
+       "\n",
+       "        var icon_img = $('<span/>');\n",
+       "        icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+       "        icon_img.addClass(image);\n",
+       "        icon_img.addClass('ui-corner-all');\n",
+       "\n",
+       "        var tooltip_span = $('<span/>');\n",
+       "        tooltip_span.addClass('ui-button-text');\n",
+       "        tooltip_span.html(tooltip);\n",
+       "\n",
+       "        button.append(icon_img);\n",
+       "        button.append(tooltip_span);\n",
+       "\n",
+       "        nav_element.append(button);\n",
+       "    }\n",
+       "\n",
+       "    var fmt_picker_span = $('<span/>');\n",
+       "\n",
+       "    var fmt_picker = $('<select/>');\n",
+       "    fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+       "    fmt_picker_span.append(fmt_picker);\n",
+       "    nav_element.append(fmt_picker_span);\n",
+       "    this.format_dropdown = fmt_picker[0];\n",
+       "\n",
+       "    for (var ind in mpl.extensions) {\n",
+       "        var fmt = mpl.extensions[ind];\n",
+       "        var option = $(\n",
+       "            '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+       "        fmt_picker.append(option)\n",
+       "    }\n",
+       "\n",
+       "    // Add hover states to the ui-buttons\n",
+       "    $( \".ui-button\" ).hover(\n",
+       "        function() { $(this).addClass(\"ui-state-hover\");},\n",
+       "        function() { $(this).removeClass(\"ui-state-hover\");}\n",
+       "    );\n",
+       "\n",
+       "    var status_bar = $('<span class=\"mpl-message\"/>');\n",
+       "    nav_element.append(status_bar);\n",
+       "    this.message = status_bar[0];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+       "    // which will in turn request a refresh of the image.\n",
+       "    this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.send_message = function(type, properties) {\n",
+       "    properties['type'] = type;\n",
+       "    properties['figure_id'] = this.id;\n",
+       "    this.ws.send(JSON.stringify(properties));\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.send_draw_message = function() {\n",
+       "    if (!this.waiting) {\n",
+       "        this.waiting = true;\n",
+       "        this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+       "    }\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+       "    var format_dropdown = fig.format_dropdown;\n",
+       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+       "    fig.ondownload(fig, format);\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+       "    var size = msg['size'];\n",
+       "    if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+       "        fig._resize_canvas(size[0], size[1]);\n",
+       "        fig.send_message(\"refresh\", {});\n",
+       "    };\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+       "    var x0 = msg['x0'] / mpl.ratio;\n",
+       "    var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+       "    var x1 = msg['x1'] / mpl.ratio;\n",
+       "    var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+       "    x0 = Math.floor(x0) + 0.5;\n",
+       "    y0 = Math.floor(y0) + 0.5;\n",
+       "    x1 = Math.floor(x1) + 0.5;\n",
+       "    y1 = Math.floor(y1) + 0.5;\n",
+       "    var min_x = Math.min(x0, x1);\n",
+       "    var min_y = Math.min(y0, y1);\n",
+       "    var width = Math.abs(x1 - x0);\n",
+       "    var height = Math.abs(y1 - y0);\n",
+       "\n",
+       "    fig.rubberband_context.clearRect(\n",
+       "        0, 0, fig.canvas.width, fig.canvas.height);\n",
+       "\n",
+       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+       "    // Updates the figure title.\n",
+       "    fig.header.textContent = msg['label'];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+       "    var cursor = msg['cursor'];\n",
+       "    switch(cursor)\n",
+       "    {\n",
+       "    case 0:\n",
+       "        cursor = 'pointer';\n",
+       "        break;\n",
+       "    case 1:\n",
+       "        cursor = 'default';\n",
+       "        break;\n",
+       "    case 2:\n",
+       "        cursor = 'crosshair';\n",
+       "        break;\n",
+       "    case 3:\n",
+       "        cursor = 'move';\n",
+       "        break;\n",
+       "    }\n",
+       "    fig.rubberband_canvas.style.cursor = cursor;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+       "    fig.message.textContent = msg['message'];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+       "    // Request the server to send over a new figure.\n",
+       "    fig.send_draw_message();\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+       "    fig.image_mode = msg['mode'];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function() {\n",
+       "    // Called whenever the canvas gets updated.\n",
+       "    this.send_message(\"ack\", {});\n",
+       "}\n",
+       "\n",
+       "// A function to construct a web socket function for onmessage handling.\n",
+       "// Called in the figure constructor.\n",
+       "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+       "    return function socket_on_message(evt) {\n",
+       "        if (evt.data instanceof Blob) {\n",
+       "            /* FIXME: We get \"Resource interpreted as Image but\n",
+       "             * transferred with MIME type text/plain:\" errors on\n",
+       "             * Chrome.  But how to set the MIME type?  It doesn't seem\n",
+       "             * to be part of the websocket stream */\n",
+       "            evt.data.type = \"image/png\";\n",
+       "\n",
+       "            /* Free the memory for the previous frames */\n",
+       "            if (fig.imageObj.src) {\n",
+       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
+       "                    fig.imageObj.src);\n",
+       "            }\n",
+       "\n",
+       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+       "                evt.data);\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "        else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+       "            fig.imageObj.src = evt.data;\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        var msg = JSON.parse(evt.data);\n",
+       "        var msg_type = msg['type'];\n",
+       "\n",
+       "        // Call the  \"handle_{type}\" callback, which takes\n",
+       "        // the figure and JSON message as its only arguments.\n",
+       "        try {\n",
+       "            var callback = fig[\"handle_\" + msg_type];\n",
+       "        } catch (e) {\n",
+       "            console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        if (callback) {\n",
+       "            try {\n",
+       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+       "                callback(fig, msg);\n",
+       "            } catch (e) {\n",
+       "                console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+       "            }\n",
+       "        }\n",
+       "    };\n",
+       "}\n",
+       "\n",
+       "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+       "mpl.findpos = function(e) {\n",
+       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+       "    var targ;\n",
+       "    if (!e)\n",
+       "        e = window.event;\n",
+       "    if (e.target)\n",
+       "        targ = e.target;\n",
+       "    else if (e.srcElement)\n",
+       "        targ = e.srcElement;\n",
+       "    if (targ.nodeType == 3) // defeat Safari bug\n",
+       "        targ = targ.parentNode;\n",
+       "\n",
+       "    // jQuery normalizes the pageX and pageY\n",
+       "    // pageX,Y are the mouse positions relative to the document\n",
+       "    // offset() returns the position of the element relative to the document\n",
+       "    var x = e.pageX - $(targ).offset().left;\n",
+       "    var y = e.pageY - $(targ).offset().top;\n",
+       "\n",
+       "    return {\"x\": x, \"y\": y};\n",
+       "};\n",
+       "\n",
+       "/*\n",
+       " * return a copy of an object with only non-object keys\n",
+       " * we need this to avoid circular references\n",
+       " * http://stackoverflow.com/a/24161582/3208463\n",
+       " */\n",
+       "function simpleKeys (original) {\n",
+       "  return Object.keys(original).reduce(function (obj, key) {\n",
+       "    if (typeof original[key] !== 'object')\n",
+       "        obj[key] = original[key]\n",
+       "    return obj;\n",
+       "  }, {});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+       "    var canvas_pos = mpl.findpos(event)\n",
+       "\n",
+       "    if (name === 'button_press')\n",
+       "    {\n",
+       "        this.canvas.focus();\n",
+       "        this.canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    var x = canvas_pos.x * mpl.ratio;\n",
+       "    var y = canvas_pos.y * mpl.ratio;\n",
+       "\n",
+       "    this.send_message(name, {x: x, y: y, button: event.button,\n",
+       "                             step: event.step,\n",
+       "                             guiEvent: simpleKeys(event)});\n",
+       "\n",
+       "    /* This prevents the web browser from automatically changing to\n",
+       "     * the text insertion cursor when the button is pressed.  We want\n",
+       "     * to control all of the cursor setting manually through the\n",
+       "     * 'cursor' event from matplotlib */\n",
+       "    event.preventDefault();\n",
+       "    return false;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+       "    // Handle any extra behaviour associated with a key event\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.key_event = function(event, name) {\n",
+       "\n",
+       "    // Prevent repeat events\n",
+       "    if (name == 'key_press')\n",
+       "    {\n",
+       "        if (event.which === this._key)\n",
+       "            return;\n",
+       "        else\n",
+       "            this._key = event.which;\n",
+       "    }\n",
+       "    if (name == 'key_release')\n",
+       "        this._key = null;\n",
+       "\n",
+       "    var value = '';\n",
+       "    if (event.ctrlKey && event.which != 17)\n",
+       "        value += \"ctrl+\";\n",
+       "    if (event.altKey && event.which != 18)\n",
+       "        value += \"alt+\";\n",
+       "    if (event.shiftKey && event.which != 16)\n",
+       "        value += \"shift+\";\n",
+       "\n",
+       "    value += 'k';\n",
+       "    value += event.which.toString();\n",
+       "\n",
+       "    this._key_event_extra(event, name);\n",
+       "\n",
+       "    this.send_message(name, {key: value,\n",
+       "                             guiEvent: simpleKeys(event)});\n",
+       "    return false;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+       "    if (name == 'download') {\n",
+       "        this.handle_save(this, null);\n",
+       "    } else {\n",
+       "        this.send_message(\"toolbar_button\", {name: name});\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+       "    this.message.textContent = tooltip;\n",
+       "};\n",
+       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to  previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+       "\n",
+       "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+       "\n",
+       "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
+       "    // object with the appropriate methods. Currently this is a non binary\n",
+       "    // socket, so there is still some room for performance tuning.\n",
+       "    var ws = {};\n",
+       "\n",
+       "    ws.close = function() {\n",
+       "        comm.close()\n",
+       "    };\n",
+       "    ws.send = function(m) {\n",
+       "        //console.log('sending', m);\n",
+       "        comm.send(m);\n",
+       "    };\n",
+       "    // Register the callback with on_msg.\n",
+       "    comm.on_msg(function(msg) {\n",
+       "        //console.log('receiving', msg['content']['data'], msg);\n",
+       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+       "        ws.onmessage(msg['content']['data'])\n",
+       "    });\n",
+       "    return ws;\n",
+       "}\n",
+       "\n",
+       "mpl.mpl_figure_comm = function(comm, msg) {\n",
+       "    // This is the function which gets called when the mpl process\n",
+       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+       "\n",
+       "    var id = msg.content.data.id;\n",
+       "    // Get hold of the div created by the display call when the Comm\n",
+       "    // socket was opened in Python.\n",
+       "    var element = $(\"#\" + id);\n",
+       "    var ws_proxy = comm_websocket_adapter(comm)\n",
+       "\n",
+       "    function ondownload(figure, format) {\n",
+       "        window.open(figure.imageObj.src);\n",
+       "    }\n",
+       "\n",
+       "    var fig = new mpl.figure(id, ws_proxy,\n",
+       "                           ondownload,\n",
+       "                           element.get(0));\n",
+       "\n",
+       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+       "    // web socket which is closed, not our websocket->open comm proxy.\n",
+       "    ws_proxy.onopen();\n",
+       "\n",
+       "    fig.parent_element = element.get(0);\n",
+       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
+       "    if (!fig.cell_info) {\n",
+       "        console.error(\"Failed to find cell for figure\", id, fig);\n",
+       "        return;\n",
+       "    }\n",
+       "\n",
+       "    var output_index = fig.cell_info[2]\n",
+       "    var cell = fig.cell_info[0];\n",
+       "\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+       "    var width = fig.canvas.width/mpl.ratio\n",
+       "    fig.root.unbind('remove')\n",
+       "\n",
+       "    // Update the output cell to use the data from the current canvas.\n",
+       "    fig.push_to_output();\n",
+       "    var dataURL = fig.canvas.toDataURL();\n",
+       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+       "    // the notebook keyboard shortcuts fail.\n",
+       "    IPython.keyboard_manager.enable()\n",
+       "    $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
+       "    fig.close_ws(fig, msg);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+       "    fig.send_message('closing', msg);\n",
+       "    // fig.ws.close()\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+       "    // Turn the data on the canvas into data in the output cell.\n",
+       "    var width = this.canvas.width/mpl.ratio\n",
+       "    var dataURL = this.canvas.toDataURL();\n",
+       "    this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function() {\n",
+       "    // Tell IPython that the notebook contents must change.\n",
+       "    IPython.notebook.set_dirty(true);\n",
+       "    this.send_message(\"ack\", {});\n",
+       "    var fig = this;\n",
+       "    // Wait a second, then push the new image to the DOM so\n",
+       "    // that it is saved nicely (might be nice to debounce this).\n",
+       "    setTimeout(function () { fig.push_to_output() }, 1000);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function() {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var nav_element = $('<div/>')\n",
+       "    nav_element.attr('style', 'width: 100%');\n",
+       "    this.root.append(nav_element);\n",
+       "\n",
+       "    // Define a callback function for later on.\n",
+       "    function toolbar_event(event) {\n",
+       "        return fig.toolbar_button_onclick(event['data']);\n",
+       "    }\n",
+       "    function toolbar_mouse_event(event) {\n",
+       "        return fig.toolbar_button_onmouseover(event['data']);\n",
+       "    }\n",
+       "\n",
+       "    for(var toolbar_ind in mpl.toolbar_items){\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) { continue; };\n",
+       "\n",
+       "        var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
+       "        button.click(method_name, toolbar_event);\n",
+       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
+       "        nav_element.append(button);\n",
+       "    }\n",
+       "\n",
+       "    // Add the status bar.\n",
+       "    var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
+       "    nav_element.append(status_bar);\n",
+       "    this.message = status_bar[0];\n",
+       "\n",
+       "    // Add the close button to the window.\n",
+       "    var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
+       "    var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
+       "    button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+       "    button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+       "    buttongrp.append(button);\n",
+       "    var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+       "    titlebar.prepend(buttongrp);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function(el){\n",
+       "    var fig = this\n",
+       "    el.on(\"remove\", function(){\n",
+       "\tfig.close_ws(fig, {});\n",
+       "    });\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+       "    // this is important to make the div 'focusable\n",
+       "    el.attr('tabindex', 0)\n",
+       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
+       "    // off when our div gets focus\n",
+       "\n",
+       "    // location in version 3\n",
+       "    if (IPython.notebook.keyboard_manager) {\n",
+       "        IPython.notebook.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "    else {\n",
+       "        // location in version 2\n",
+       "        IPython.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+       "    var manager = IPython.notebook.keyboard_manager;\n",
+       "    if (!manager)\n",
+       "        manager = IPython.keyboard_manager;\n",
+       "\n",
+       "    // Check for shift+enter\n",
+       "    if (event.shiftKey && event.which == 13) {\n",
+       "        this.canvas_div.blur();\n",
+       "        event.shiftKey = false;\n",
+       "        // Send a \"J\" for go to next cell\n",
+       "        event.which = 74;\n",
+       "        event.keyCode = 74;\n",
+       "        manager.command_mode();\n",
+       "        manager.handle_keydown(event);\n",
+       "    }\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+       "    fig.ondownload(fig, null);\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.find_output_cell = function(html_output) {\n",
+       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+       "    // IPython event is triggered only after the cells have been serialised, which for\n",
+       "    // our purposes (turning an active figure into a static one), is too late.\n",
+       "    var cells = IPython.notebook.get_cells();\n",
+       "    var ncells = cells.length;\n",
+       "    for (var i=0; i<ncells; i++) {\n",
+       "        var cell = cells[i];\n",
+       "        if (cell.cell_type === 'code'){\n",
+       "            for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
+       "                var data = cell.output_area.outputs[j];\n",
+       "                if (data.data) {\n",
+       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
+       "                    data = data.data;\n",
+       "                }\n",
+       "                if (data['text/html'] == html_output) {\n",
+       "                    return [cell, data, j];\n",
+       "                }\n",
+       "            }\n",
+       "        }\n",
+       "    }\n",
+       "}\n",
+       "\n",
+       "// Register the function which deals with the matplotlib target/channel.\n",
+       "// The kernel may be null if the page has been refreshed.\n",
+       "if (IPython.notebook.kernel != null) {\n",
+       "    IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+       "}\n"
+      ],
+      "text/plain": [
+       "<IPython.core.display.Javascript object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "<img src=\"data:image/png;base64,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\" width=\"1000\">"
+      ],
+      "text/plain": [
+       "<IPython.core.display.HTML object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n"
+     ]
+    }
+   ],
+   "source": [
+    "#df_results = %sql SELECT * FROM $results_table ORDER BY run_id;\n",
+    "df_results = %sql SELECT * FROM $results_table ORDER BY training_loss_final ASC LIMIT 100;\n",
+    "df_results = df_results.DataFrame()\n",
+    "\n",
+    "#set up plots\n",
+    "fig, axs = plt.subplots(nrows=1, ncols=2, figsize=(10,5))\n",
+    "fig.legend(ncol=4)\n",
+    "fig.tight_layout()\n",
+    "\n",
+    "ax_metric = axs[0]\n",
+    "ax_loss = axs[1]\n",
+    "\n",
+    "ax_metric.xaxis.set_major_locator(MaxNLocator(integer=True))\n",
+    "ax_metric.set_xlabel('Iteration')\n",
+    "ax_metric.set_ylabel('Metric')\n",
+    "ax_metric.set_title('Training metric curve')\n",
+    "\n",
+    "ax_loss.xaxis.set_major_locator(MaxNLocator(integer=True))\n",
+    "ax_loss.set_xlabel('Iteration')\n",
+    "ax_loss.set_ylabel('Loss')\n",
+    "ax_loss.set_title('Training loss curve')\n",
+    "\n",
+    "for run_id in df_results['run_id']:\n",
+    "    df_output_info = %sql SELECT training_metrics,training_loss FROM $results_table WHERE run_id = $run_id\n",
+    "    df_output_info = df_output_info.DataFrame()\n",
+    "    training_metrics = df_output_info['training_metrics'][0]\n",
+    "    training_loss = df_output_info['training_loss'][0]\n",
+    "    X = range(len(training_metrics))\n",
+    "    \n",
+    "    ax_metric.plot(X, training_metrics, label=run_id, marker='o')\n",
+    "    ax_loss.plot(X, training_loss, label=run_id, marker='o')\n",
+    "\n",
+    "# fig.savefig('./lc_keras_fit.png', dpi = 300)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Validation dataset"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 27,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "65 rows affected.\n"
+     ]
+    },
+    {
+     "data": {
+      "application/javascript": [
+       "/* Put everything inside the global mpl namespace */\n",
+       "window.mpl = {};\n",
+       "\n",
+       "\n",
+       "mpl.get_websocket_type = function() {\n",
+       "    if (typeof(WebSocket) !== 'undefined') {\n",
+       "        return WebSocket;\n",
+       "    } else if (typeof(MozWebSocket) !== 'undefined') {\n",
+       "        return MozWebSocket;\n",
+       "    } else {\n",
+       "        alert('Your browser does not have WebSocket support.' +\n",
+       "              'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
+       "              'Firefox 4 and 5 are also supported but you ' +\n",
+       "              'have to enable WebSockets in about:config.');\n",
+       "    };\n",
+       "}\n",
+       "\n",
+       "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
+       "    this.id = figure_id;\n",
+       "\n",
+       "    this.ws = websocket;\n",
+       "\n",
+       "    this.supports_binary = (this.ws.binaryType != undefined);\n",
+       "\n",
+       "    if (!this.supports_binary) {\n",
+       "        var warnings = document.getElementById(\"mpl-warnings\");\n",
+       "        if (warnings) {\n",
+       "            warnings.style.display = 'block';\n",
+       "            warnings.textContent = (\n",
+       "                \"This browser does not support binary websocket messages. \" +\n",
+       "                    \"Performance may be slow.\");\n",
+       "        }\n",
+       "    }\n",
+       "\n",
+       "    this.imageObj = new Image();\n",
+       "\n",
+       "    this.context = undefined;\n",
+       "    this.message = undefined;\n",
+       "    this.canvas = undefined;\n",
+       "    this.rubberband_canvas = undefined;\n",
+       "    this.rubberband_context = undefined;\n",
+       "    this.format_dropdown = undefined;\n",
+       "\n",
+       "    this.image_mode = 'full';\n",
+       "\n",
+       "    this.root = $('<div/>');\n",
+       "    this._root_extra_style(this.root)\n",
+       "    this.root.attr('style', 'display: inline-block');\n",
+       "\n",
+       "    $(parent_element).append(this.root);\n",
+       "\n",
+       "    this._init_header(this);\n",
+       "    this._init_canvas(this);\n",
+       "    this._init_toolbar(this);\n",
+       "\n",
+       "    var fig = this;\n",
+       "\n",
+       "    this.waiting = false;\n",
+       "\n",
+       "    this.ws.onopen =  function () {\n",
+       "            fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
+       "            fig.send_message(\"send_image_mode\", {});\n",
+       "            if (mpl.ratio != 1) {\n",
+       "                fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
+       "            }\n",
+       "            fig.send_message(\"refresh\", {});\n",
+       "        }\n",
+       "\n",
+       "    this.imageObj.onload = function() {\n",
+       "            if (fig.image_mode == 'full') {\n",
+       "                // Full images could contain transparency (where diff images\n",
+       "                // almost always do), so we need to clear the canvas so that\n",
+       "                // there is no ghosting.\n",
+       "                fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
+       "            }\n",
+       "            fig.context.drawImage(fig.imageObj, 0, 0);\n",
+       "        };\n",
+       "\n",
+       "    this.imageObj.onunload = function() {\n",
+       "        fig.ws.close();\n",
+       "    }\n",
+       "\n",
+       "    this.ws.onmessage = this._make_on_message_function(this);\n",
+       "\n",
+       "    this.ondownload = ondownload;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_header = function() {\n",
+       "    var titlebar = $(\n",
+       "        '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
+       "        'ui-helper-clearfix\"/>');\n",
+       "    var titletext = $(\n",
+       "        '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
+       "        'text-align: center; padding: 3px;\"/>');\n",
+       "    titlebar.append(titletext)\n",
+       "    this.root.append(titlebar);\n",
+       "    this.header = titletext[0];\n",
+       "}\n",
+       "\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
+       "\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
+       "\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_canvas = function() {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var canvas_div = $('<div/>');\n",
+       "\n",
+       "    canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
+       "\n",
+       "    function canvas_keyboard_event(event) {\n",
+       "        return fig.key_event(event, event['data']);\n",
+       "    }\n",
+       "\n",
+       "    canvas_div.keydown('key_press', canvas_keyboard_event);\n",
+       "    canvas_div.keyup('key_release', canvas_keyboard_event);\n",
+       "    this.canvas_div = canvas_div\n",
+       "    this._canvas_extra_style(canvas_div)\n",
+       "    this.root.append(canvas_div);\n",
+       "\n",
+       "    var canvas = $('<canvas/>');\n",
+       "    canvas.addClass('mpl-canvas');\n",
+       "    canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
+       "\n",
+       "    this.canvas = canvas[0];\n",
+       "    this.context = canvas[0].getContext(\"2d\");\n",
+       "\n",
+       "    var backingStore = this.context.backingStorePixelRatio ||\n",
+       "\tthis.context.webkitBackingStorePixelRatio ||\n",
+       "\tthis.context.mozBackingStorePixelRatio ||\n",
+       "\tthis.context.msBackingStorePixelRatio ||\n",
+       "\tthis.context.oBackingStorePixelRatio ||\n",
+       "\tthis.context.backingStorePixelRatio || 1;\n",
+       "\n",
+       "    mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
+       "\n",
+       "    var rubberband = $('<canvas/>');\n",
+       "    rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
+       "\n",
+       "    var pass_mouse_events = true;\n",
+       "\n",
+       "    canvas_div.resizable({\n",
+       "        start: function(event, ui) {\n",
+       "            pass_mouse_events = false;\n",
+       "        },\n",
+       "        resize: function(event, ui) {\n",
+       "            fig.request_resize(ui.size.width, ui.size.height);\n",
+       "        },\n",
+       "        stop: function(event, ui) {\n",
+       "            pass_mouse_events = true;\n",
+       "            fig.request_resize(ui.size.width, ui.size.height);\n",
+       "        },\n",
+       "    });\n",
+       "\n",
+       "    function mouse_event_fn(event) {\n",
+       "        if (pass_mouse_events)\n",
+       "            return fig.mouse_event(event, event['data']);\n",
+       "    }\n",
+       "\n",
+       "    rubberband.mousedown('button_press', mouse_event_fn);\n",
+       "    rubberband.mouseup('button_release', mouse_event_fn);\n",
+       "    // Throttle sequential mouse events to 1 every 20ms.\n",
+       "    rubberband.mousemove('motion_notify', mouse_event_fn);\n",
+       "\n",
+       "    rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
+       "    rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
+       "\n",
+       "    canvas_div.on(\"wheel\", function (event) {\n",
+       "        event = event.originalEvent;\n",
+       "        event['data'] = 'scroll'\n",
+       "        if (event.deltaY < 0) {\n",
+       "            event.step = 1;\n",
+       "        } else {\n",
+       "            event.step = -1;\n",
+       "        }\n",
+       "        mouse_event_fn(event);\n",
+       "    });\n",
+       "\n",
+       "    canvas_div.append(canvas);\n",
+       "    canvas_div.append(rubberband);\n",
+       "\n",
+       "    this.rubberband = rubberband;\n",
+       "    this.rubberband_canvas = rubberband[0];\n",
+       "    this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
+       "    this.rubberband_context.strokeStyle = \"#000000\";\n",
+       "\n",
+       "    this._resize_canvas = function(width, height) {\n",
+       "        // Keep the size of the canvas, canvas container, and rubber band\n",
+       "        // canvas in synch.\n",
+       "        canvas_div.css('width', width)\n",
+       "        canvas_div.css('height', height)\n",
+       "\n",
+       "        canvas.attr('width', width * mpl.ratio);\n",
+       "        canvas.attr('height', height * mpl.ratio);\n",
+       "        canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
+       "\n",
+       "        rubberband.attr('width', width);\n",
+       "        rubberband.attr('height', height);\n",
+       "    }\n",
+       "\n",
+       "    // Set the figure to an initial 600x600px, this will subsequently be updated\n",
+       "    // upon first draw.\n",
+       "    this._resize_canvas(600, 600);\n",
+       "\n",
+       "    // Disable right mouse context menu.\n",
+       "    $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
+       "        return false;\n",
+       "    });\n",
+       "\n",
+       "    function set_focus () {\n",
+       "        canvas.focus();\n",
+       "        canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    window.setTimeout(set_focus, 100);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function() {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var nav_element = $('<div/>')\n",
+       "    nav_element.attr('style', 'width: 100%');\n",
+       "    this.root.append(nav_element);\n",
+       "\n",
+       "    // Define a callback function for later on.\n",
+       "    function toolbar_event(event) {\n",
+       "        return fig.toolbar_button_onclick(event['data']);\n",
+       "    }\n",
+       "    function toolbar_mouse_event(event) {\n",
+       "        return fig.toolbar_button_onmouseover(event['data']);\n",
+       "    }\n",
+       "\n",
+       "    for(var toolbar_ind in mpl.toolbar_items) {\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) {\n",
+       "            // put a spacer in here.\n",
+       "            continue;\n",
+       "        }\n",
+       "        var button = $('<button/>');\n",
+       "        button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+       "                        'ui-button-icon-only');\n",
+       "        button.attr('role', 'button');\n",
+       "        button.attr('aria-disabled', 'false');\n",
+       "        button.click(method_name, toolbar_event);\n",
+       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
+       "\n",
+       "        var icon_img = $('<span/>');\n",
+       "        icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+       "        icon_img.addClass(image);\n",
+       "        icon_img.addClass('ui-corner-all');\n",
+       "\n",
+       "        var tooltip_span = $('<span/>');\n",
+       "        tooltip_span.addClass('ui-button-text');\n",
+       "        tooltip_span.html(tooltip);\n",
+       "\n",
+       "        button.append(icon_img);\n",
+       "        button.append(tooltip_span);\n",
+       "\n",
+       "        nav_element.append(button);\n",
+       "    }\n",
+       "\n",
+       "    var fmt_picker_span = $('<span/>');\n",
+       "\n",
+       "    var fmt_picker = $('<select/>');\n",
+       "    fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+       "    fmt_picker_span.append(fmt_picker);\n",
+       "    nav_element.append(fmt_picker_span);\n",
+       "    this.format_dropdown = fmt_picker[0];\n",
+       "\n",
+       "    for (var ind in mpl.extensions) {\n",
+       "        var fmt = mpl.extensions[ind];\n",
+       "        var option = $(\n",
+       "            '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+       "        fmt_picker.append(option)\n",
+       "    }\n",
+       "\n",
+       "    // Add hover states to the ui-buttons\n",
+       "    $( \".ui-button\" ).hover(\n",
+       "        function() { $(this).addClass(\"ui-state-hover\");},\n",
+       "        function() { $(this).removeClass(\"ui-state-hover\");}\n",
+       "    );\n",
+       "\n",
+       "    var status_bar = $('<span class=\"mpl-message\"/>');\n",
+       "    nav_element.append(status_bar);\n",
+       "    this.message = status_bar[0];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+       "    // which will in turn request a refresh of the image.\n",
+       "    this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.send_message = function(type, properties) {\n",
+       "    properties['type'] = type;\n",
+       "    properties['figure_id'] = this.id;\n",
+       "    this.ws.send(JSON.stringify(properties));\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.send_draw_message = function() {\n",
+       "    if (!this.waiting) {\n",
+       "        this.waiting = true;\n",
+       "        this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+       "    }\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+       "    var format_dropdown = fig.format_dropdown;\n",
+       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+       "    fig.ondownload(fig, format);\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+       "    var size = msg['size'];\n",
+       "    if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+       "        fig._resize_canvas(size[0], size[1]);\n",
+       "        fig.send_message(\"refresh\", {});\n",
+       "    };\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+       "    var x0 = msg['x0'] / mpl.ratio;\n",
+       "    var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+       "    var x1 = msg['x1'] / mpl.ratio;\n",
+       "    var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+       "    x0 = Math.floor(x0) + 0.5;\n",
+       "    y0 = Math.floor(y0) + 0.5;\n",
+       "    x1 = Math.floor(x1) + 0.5;\n",
+       "    y1 = Math.floor(y1) + 0.5;\n",
+       "    var min_x = Math.min(x0, x1);\n",
+       "    var min_y = Math.min(y0, y1);\n",
+       "    var width = Math.abs(x1 - x0);\n",
+       "    var height = Math.abs(y1 - y0);\n",
+       "\n",
+       "    fig.rubberband_context.clearRect(\n",
+       "        0, 0, fig.canvas.width, fig.canvas.height);\n",
+       "\n",
+       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+       "    // Updates the figure title.\n",
+       "    fig.header.textContent = msg['label'];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+       "    var cursor = msg['cursor'];\n",
+       "    switch(cursor)\n",
+       "    {\n",
+       "    case 0:\n",
+       "        cursor = 'pointer';\n",
+       "        break;\n",
+       "    case 1:\n",
+       "        cursor = 'default';\n",
+       "        break;\n",
+       "    case 2:\n",
+       "        cursor = 'crosshair';\n",
+       "        break;\n",
+       "    case 3:\n",
+       "        cursor = 'move';\n",
+       "        break;\n",
+       "    }\n",
+       "    fig.rubberband_canvas.style.cursor = cursor;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+       "    fig.message.textContent = msg['message'];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+       "    // Request the server to send over a new figure.\n",
+       "    fig.send_draw_message();\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+       "    fig.image_mode = msg['mode'];\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function() {\n",
+       "    // Called whenever the canvas gets updated.\n",
+       "    this.send_message(\"ack\", {});\n",
+       "}\n",
+       "\n",
+       "// A function to construct a web socket function for onmessage handling.\n",
+       "// Called in the figure constructor.\n",
+       "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+       "    return function socket_on_message(evt) {\n",
+       "        if (evt.data instanceof Blob) {\n",
+       "            /* FIXME: We get \"Resource interpreted as Image but\n",
+       "             * transferred with MIME type text/plain:\" errors on\n",
+       "             * Chrome.  But how to set the MIME type?  It doesn't seem\n",
+       "             * to be part of the websocket stream */\n",
+       "            evt.data.type = \"image/png\";\n",
+       "\n",
+       "            /* Free the memory for the previous frames */\n",
+       "            if (fig.imageObj.src) {\n",
+       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
+       "                    fig.imageObj.src);\n",
+       "            }\n",
+       "\n",
+       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+       "                evt.data);\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "        else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+       "            fig.imageObj.src = evt.data;\n",
+       "            fig.updated_canvas_event();\n",
+       "            fig.waiting = false;\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        var msg = JSON.parse(evt.data);\n",
+       "        var msg_type = msg['type'];\n",
+       "\n",
+       "        // Call the  \"handle_{type}\" callback, which takes\n",
+       "        // the figure and JSON message as its only arguments.\n",
+       "        try {\n",
+       "            var callback = fig[\"handle_\" + msg_type];\n",
+       "        } catch (e) {\n",
+       "            console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+       "            return;\n",
+       "        }\n",
+       "\n",
+       "        if (callback) {\n",
+       "            try {\n",
+       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+       "                callback(fig, msg);\n",
+       "            } catch (e) {\n",
+       "                console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+       "            }\n",
+       "        }\n",
+       "    };\n",
+       "}\n",
+       "\n",
+       "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+       "mpl.findpos = function(e) {\n",
+       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+       "    var targ;\n",
+       "    if (!e)\n",
+       "        e = window.event;\n",
+       "    if (e.target)\n",
+       "        targ = e.target;\n",
+       "    else if (e.srcElement)\n",
+       "        targ = e.srcElement;\n",
+       "    if (targ.nodeType == 3) // defeat Safari bug\n",
+       "        targ = targ.parentNode;\n",
+       "\n",
+       "    // jQuery normalizes the pageX and pageY\n",
+       "    // pageX,Y are the mouse positions relative to the document\n",
+       "    // offset() returns the position of the element relative to the document\n",
+       "    var x = e.pageX - $(targ).offset().left;\n",
+       "    var y = e.pageY - $(targ).offset().top;\n",
+       "\n",
+       "    return {\"x\": x, \"y\": y};\n",
+       "};\n",
+       "\n",
+       "/*\n",
+       " * return a copy of an object with only non-object keys\n",
+       " * we need this to avoid circular references\n",
+       " * http://stackoverflow.com/a/24161582/3208463\n",
+       " */\n",
+       "function simpleKeys (original) {\n",
+       "  return Object.keys(original).reduce(function (obj, key) {\n",
+       "    if (typeof original[key] !== 'object')\n",
+       "        obj[key] = original[key]\n",
+       "    return obj;\n",
+       "  }, {});\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+       "    var canvas_pos = mpl.findpos(event)\n",
+       "\n",
+       "    if (name === 'button_press')\n",
+       "    {\n",
+       "        this.canvas.focus();\n",
+       "        this.canvas_div.focus();\n",
+       "    }\n",
+       "\n",
+       "    var x = canvas_pos.x * mpl.ratio;\n",
+       "    var y = canvas_pos.y * mpl.ratio;\n",
+       "\n",
+       "    this.send_message(name, {x: x, y: y, button: event.button,\n",
+       "                             step: event.step,\n",
+       "                             guiEvent: simpleKeys(event)});\n",
+       "\n",
+       "    /* This prevents the web browser from automatically changing to\n",
+       "     * the text insertion cursor when the button is pressed.  We want\n",
+       "     * to control all of the cursor setting manually through the\n",
+       "     * 'cursor' event from matplotlib */\n",
+       "    event.preventDefault();\n",
+       "    return false;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+       "    // Handle any extra behaviour associated with a key event\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.key_event = function(event, name) {\n",
+       "\n",
+       "    // Prevent repeat events\n",
+       "    if (name == 'key_press')\n",
+       "    {\n",
+       "        if (event.which === this._key)\n",
+       "            return;\n",
+       "        else\n",
+       "            this._key = event.which;\n",
+       "    }\n",
+       "    if (name == 'key_release')\n",
+       "        this._key = null;\n",
+       "\n",
+       "    var value = '';\n",
+       "    if (event.ctrlKey && event.which != 17)\n",
+       "        value += \"ctrl+\";\n",
+       "    if (event.altKey && event.which != 18)\n",
+       "        value += \"alt+\";\n",
+       "    if (event.shiftKey && event.which != 16)\n",
+       "        value += \"shift+\";\n",
+       "\n",
+       "    value += 'k';\n",
+       "    value += event.which.toString();\n",
+       "\n",
+       "    this._key_event_extra(event, name);\n",
+       "\n",
+       "    this.send_message(name, {key: value,\n",
+       "                             guiEvent: simpleKeys(event)});\n",
+       "    return false;\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+       "    if (name == 'download') {\n",
+       "        this.handle_save(this, null);\n",
+       "    } else {\n",
+       "        this.send_message(\"toolbar_button\", {name: name});\n",
+       "    }\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+       "    this.message.textContent = tooltip;\n",
+       "};\n",
+       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to  previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+       "\n",
+       "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+       "\n",
+       "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
+       "    // object with the appropriate methods. Currently this is a non binary\n",
+       "    // socket, so there is still some room for performance tuning.\n",
+       "    var ws = {};\n",
+       "\n",
+       "    ws.close = function() {\n",
+       "        comm.close()\n",
+       "    };\n",
+       "    ws.send = function(m) {\n",
+       "        //console.log('sending', m);\n",
+       "        comm.send(m);\n",
+       "    };\n",
+       "    // Register the callback with on_msg.\n",
+       "    comm.on_msg(function(msg) {\n",
+       "        //console.log('receiving', msg['content']['data'], msg);\n",
+       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
+       "        ws.onmessage(msg['content']['data'])\n",
+       "    });\n",
+       "    return ws;\n",
+       "}\n",
+       "\n",
+       "mpl.mpl_figure_comm = function(comm, msg) {\n",
+       "    // This is the function which gets called when the mpl process\n",
+       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+       "\n",
+       "    var id = msg.content.data.id;\n",
+       "    // Get hold of the div created by the display call when the Comm\n",
+       "    // socket was opened in Python.\n",
+       "    var element = $(\"#\" + id);\n",
+       "    var ws_proxy = comm_websocket_adapter(comm)\n",
+       "\n",
+       "    function ondownload(figure, format) {\n",
+       "        window.open(figure.imageObj.src);\n",
+       "    }\n",
+       "\n",
+       "    var fig = new mpl.figure(id, ws_proxy,\n",
+       "                           ondownload,\n",
+       "                           element.get(0));\n",
+       "\n",
+       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+       "    // web socket which is closed, not our websocket->open comm proxy.\n",
+       "    ws_proxy.onopen();\n",
+       "\n",
+       "    fig.parent_element = element.get(0);\n",
+       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
+       "    if (!fig.cell_info) {\n",
+       "        console.error(\"Failed to find cell for figure\", id, fig);\n",
+       "        return;\n",
+       "    }\n",
+       "\n",
+       "    var output_index = fig.cell_info[2]\n",
+       "    var cell = fig.cell_info[0];\n",
+       "\n",
+       "};\n",
+       "\n",
+       "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+       "    var width = fig.canvas.width/mpl.ratio\n",
+       "    fig.root.unbind('remove')\n",
+       "\n",
+       "    // Update the output cell to use the data from the current canvas.\n",
+       "    fig.push_to_output();\n",
+       "    var dataURL = fig.canvas.toDataURL();\n",
+       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+       "    // the notebook keyboard shortcuts fail.\n",
+       "    IPython.keyboard_manager.enable()\n",
+       "    $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
+       "    fig.close_ws(fig, msg);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+       "    fig.send_message('closing', msg);\n",
+       "    // fig.ws.close()\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+       "    // Turn the data on the canvas into data in the output cell.\n",
+       "    var width = this.canvas.width/mpl.ratio\n",
+       "    var dataURL = this.canvas.toDataURL();\n",
+       "    this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.updated_canvas_event = function() {\n",
+       "    // Tell IPython that the notebook contents must change.\n",
+       "    IPython.notebook.set_dirty(true);\n",
+       "    this.send_message(\"ack\", {});\n",
+       "    var fig = this;\n",
+       "    // Wait a second, then push the new image to the DOM so\n",
+       "    // that it is saved nicely (might be nice to debounce this).\n",
+       "    setTimeout(function () { fig.push_to_output() }, 1000);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._init_toolbar = function() {\n",
+       "    var fig = this;\n",
+       "\n",
+       "    var nav_element = $('<div/>')\n",
+       "    nav_element.attr('style', 'width: 100%');\n",
+       "    this.root.append(nav_element);\n",
+       "\n",
+       "    // Define a callback function for later on.\n",
+       "    function toolbar_event(event) {\n",
+       "        return fig.toolbar_button_onclick(event['data']);\n",
+       "    }\n",
+       "    function toolbar_mouse_event(event) {\n",
+       "        return fig.toolbar_button_onmouseover(event['data']);\n",
+       "    }\n",
+       "\n",
+       "    for(var toolbar_ind in mpl.toolbar_items){\n",
+       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
+       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
+       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
+       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
+       "\n",
+       "        if (!name) { continue; };\n",
+       "\n",
+       "        var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
+       "        button.click(method_name, toolbar_event);\n",
+       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
+       "        nav_element.append(button);\n",
+       "    }\n",
+       "\n",
+       "    // Add the status bar.\n",
+       "    var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
+       "    nav_element.append(status_bar);\n",
+       "    this.message = status_bar[0];\n",
+       "\n",
+       "    // Add the close button to the window.\n",
+       "    var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
+       "    var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
+       "    button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+       "    button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+       "    buttongrp.append(button);\n",
+       "    var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+       "    titlebar.prepend(buttongrp);\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._root_extra_style = function(el){\n",
+       "    var fig = this\n",
+       "    el.on(\"remove\", function(){\n",
+       "\tfig.close_ws(fig, {});\n",
+       "    });\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+       "    // this is important to make the div 'focusable\n",
+       "    el.attr('tabindex', 0)\n",
+       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
+       "    // off when our div gets focus\n",
+       "\n",
+       "    // location in version 3\n",
+       "    if (IPython.notebook.keyboard_manager) {\n",
+       "        IPython.notebook.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "    else {\n",
+       "        // location in version 2\n",
+       "        IPython.keyboard_manager.register_events(el);\n",
+       "    }\n",
+       "\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+       "    var manager = IPython.notebook.keyboard_manager;\n",
+       "    if (!manager)\n",
+       "        manager = IPython.keyboard_manager;\n",
+       "\n",
+       "    // Check for shift+enter\n",
+       "    if (event.shiftKey && event.which == 13) {\n",
+       "        this.canvas_div.blur();\n",
+       "        event.shiftKey = false;\n",
+       "        // Send a \"J\" for go to next cell\n",
+       "        event.which = 74;\n",
+       "        event.keyCode = 74;\n",
+       "        manager.command_mode();\n",
+       "        manager.handle_keydown(event);\n",
+       "    }\n",
+       "}\n",
+       "\n",
+       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+       "    fig.ondownload(fig, null);\n",
+       "}\n",
+       "\n",
+       "\n",
+       "mpl.find_output_cell = function(html_output) {\n",
+       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+       "    // IPython event is triggered only after the cells have been serialised, which for\n",
+       "    // our purposes (turning an active figure into a static one), is too late.\n",
+       "    var cells = IPython.notebook.get_cells();\n",
+       "    var ncells = cells.length;\n",
+       "    for (var i=0; i<ncells; i++) {\n",
+       "        var cell = cells[i];\n",
+       "        if (cell.cell_type === 'code'){\n",
+       "            for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
+       "                var data = cell.output_area.outputs[j];\n",
+       "                if (data.data) {\n",
+       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
+       "                    data = data.data;\n",
+       "                }\n",
+       "                if (data['text/html'] == html_output) {\n",
+       "                    return [cell, data, j];\n",
+       "                }\n",
+       "            }\n",
+       "        }\n",
+       "    }\n",
+       "}\n",
+       "\n",
+       "// Register the function which deals with the matplotlib target/channel.\n",
+       "// The kernel may be null if the page has been refreshed.\n",
+       "if (IPython.notebook.kernel != null) {\n",
+       "    IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+       "}\n"
+      ],
+      "text/plain": [
+       "<IPython.core.display.Javascript object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "<img src=\"data:image/png;base64,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\" width=\"1000\">"
+      ],
+      "text/plain": [
+       "<IPython.core.display.HTML object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n"
+     ]
+    }
+   ],
+   "source": [
+    "#df_results = %sql SELECT * FROM $results_table ORDER BY run_id;\n",
+    "df_results = %sql SELECT * FROM $results_table ORDER BY validation_metrics_final DESC LIMIT 100;\n",
+    "df_results = df_results.DataFrame()\n",
+    "\n",
+    "#set up plots\n",
+    "fig, axs = plt.subplots(nrows=1, ncols=2, figsize=(10,5))\n",
+    "fig.legend(ncol=4)\n",
+    "fig.tight_layout()\n",
+    "\n",
+    "ax_metric = axs[0]\n",
+    "ax_loss = axs[1]\n",
+    "\n",
+    "ax_metric.xaxis.set_major_locator(MaxNLocator(integer=True))\n",
+    "ax_metric.set_xlabel('Iteration')\n",
+    "ax_metric.set_ylabel('Metric')\n",
+    "ax_metric.set_title('Validation metric curve')\n",
+    "\n",
+    "ax_loss.xaxis.set_major_locator(MaxNLocator(integer=True))\n",
+    "ax_loss.set_xlabel('Iteration')\n",
+    "ax_loss.set_ylabel('Loss')\n",
+    "ax_loss.set_title('Validation loss curve')\n",
+    "\n",
+    "for run_id in df_results['run_id']:\n",
+    "    df_output_info = %sql SELECT validation_metrics,validation_loss FROM $results_table WHERE run_id = $run_id\n",
+    "    df_output_info = df_output_info.DataFrame()\n",
+    "    validation_metrics = df_output_info['validation_metrics'][0]\n",
+    "    validation_loss = df_output_info['validation_loss'][0]\n",
+    "    X = range(len(validation_metrics))\n",
+    "    \n",
+    "    ax_metric.plot(X, validation_metrics, label=run_id, marker='o')\n",
+    "    ax_loss.plot(X, validation_loss, label=run_id, marker='o')\n",
+    "\n",
+    "# fig.savefig('./lc_keras_fit.png', dpi = 300)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<a id=\"print\"></a>\n",
+    "# 6. Print run schedules (display only)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Pretty print reg Hyperband run schedule"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 31,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "max_iter = 27\n",
+      "eta = 3\n",
+      "B = 4*max_iter = 108\n",
+      "skip_last = 0\n",
+      " \n",
+      "s=3\n",
+      "n_i      r_i\n",
+      "------------\n",
+      "27     1.0\n",
+      "9.0     3.0\n",
+      "3.0     9.0\n",
+      "1.0     27.0\n",
+      " \n",
+      "s=2\n",
+      "n_i      r_i\n",
+      "------------\n",
+      "9     3.0\n",
+      "3.0     9.0\n",
+      "1.0     27.0\n",
+      " \n",
+      "s=1\n",
+      "n_i      r_i\n",
+      "------------\n",
+      "6     9.0\n",
+      "2.0     27.0\n",
+      " \n",
+      "s=0\n",
+      "n_i      r_i\n",
+      "------------\n",
+      "4     27\n",
+      " \n",
+      "sum of configurations at leaf nodes across all s = 8.0\n",
+      "(if have more workers than this, they may not be 100% busy)\n"
+     ]
+    }
+   ],
+   "source": [
+    "import numpy as np\n",
+    "from math import log, ceil\n",
+    "\n",
+    "#input\n",
+    "max_iter = 27  # maximum iterations/epochs per configuration\n",
+    "eta = 3  # defines downsampling rate (default=3)\n",
+    "skip_last = 0 # 1 means skip last run in each bracket, 0 means run full bracket\n",
+    "\n",
+    "logeta = lambda x: log(x)/log(eta)\n",
+    "s_max = int(logeta(max_iter))  # number of unique executions of Successive Halving (minus one)\n",
+    "B = (s_max+1)*max_iter  # total number of iterations (without reuse) per execution of Succesive Halving (n,r)\n",
+    "\n",
+    "#echo output\n",
+    "print (\"max_iter = \" + str(max_iter))\n",
+    "print (\"eta = \" + str(eta))\n",
+    "print (\"B = \" + str(s_max+1) + \"*max_iter = \" + str(B))\n",
+    "print (\"skip_last = \" + str(skip_last))\n",
+    "\n",
+    "sum_leaf_n_i = 0 # count configurations at leaf nodes across all s\n",
+    "\n",
+    "#### Begin Finite Horizon Hyperband outlerloop. Repeat indefinitely.\n",
+    "for s in reversed(range(s_max+1)):\n",
+    "    \n",
+    "    print (\" \")\n",
+    "    print (\"s=\" + str(s))\n",
+    "    print (\"n_i      r_i\")\n",
+    "    print (\"------------\")\n",
+    "    counter = 0\n",
+    "    \n",
+    "    n = int(ceil(int(B/max_iter/(s+1))*eta**s)) # initial number of configurations\n",
+    "    r = max_iter*eta**(-s) # initial number of iterations to run configurations for\n",
+    "\n",
+    "    #### Begin Finite Horizon Successive Halving with (n,r)\n",
+    "    #T = [ get_random_hyperparameter_configuration() for i in range(n) ] \n",
+    "    for i in range((s+1) - int(skip_last)):\n",
+    "        # Run each of the n_i configs for r_i iterations and keep best n_i/eta\n",
+    "        n_i = n*eta**(-i)\n",
+    "        r_i = r*eta**(i)\n",
+    "        \n",
+    "        print (str(n_i) + \"     \" + str (r_i))\n",
+    "        \n",
+    "        # check if leaf node for this s\n",
+    "        if counter == (s-skip_last):\n",
+    "            sum_leaf_n_i += n_i\n",
+    "        counter += 1\n",
+    "        \n",
+    "        #val_losses = [ run_then_return_val_loss(num_iters=r_i,hyperparameters=t) for t in T ]\n",
+    "        #T = [ T[i] for i in argsort(val_losses)[0:int( n_i/eta )] ]\n",
+    "    #### End Finite Horizon Successive Halving with (n,r)\n",
+    "\n",
+    "print (\" \")\n",
+    "print (\"sum of configurations at leaf nodes across all s = \" + str(sum_leaf_n_i))\n",
+    "print (\"(if have more workers than this, they may not be 100% busy)\")"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Pretty print Hyperband diagonal run schedule"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import numpy as np\n",
+    "from math import log, ceil\n",
+    "\n",
+    "#input\n",
+    "max_iter = 27  # maximum iterations/epochs per configuration\n",
+    "eta = 3  # defines downsampling rate (default=3)\n",
+    "skip_last = 1 # 1 means skip last run in each bracket, 0 means run full bracket\n",
+    "\n",
+    "logeta = lambda x: log(x)/log(eta)\n",
+    "s_max = int(logeta(max_iter))  # number of unique executions of Successive Halving (minus one)\n",
+    "B = (s_max+1)*max_iter  # total number of iterations (without reuse) per execution of Succesive Halving (n,r)\n",
+    "\n",
+    "#echo output\n",
+    "print (\"echo input:\")\n",
+    "print (\"max_iter = \" + str(max_iter))\n",
+    "print (\"eta = \" + str(eta))\n",
+    "print (\"s_max = \" + str(s_max))\n",
+    "print (\"B = \" + str(s_max+1) + \"*max_iter = \" + str(B))\n",
+    "\n",
+    "print (\" \")\n",
+    "print (\"initial n, r values for each s:\")\n",
+    "initial_n_vals = {}\n",
+    "initial_r_vals = {}\n",
+    "# get hyper parameter configs for each s\n",
+    "for s in reversed(range(s_max+1)):\n",
+    "    \n",
+    "    n = int(ceil(int(B/max_iter/(s+1))*eta**s)) # initial number of configurations\n",
+    "    r = max_iter*eta**(-s) # initial number of iterations to run configurations for\n",
+    "    \n",
+    "    initial_n_vals[s] = n \n",
+    "    initial_r_vals[s] = r \n",
+    "    \n",
+    "    print (\"s=\" + str(s))\n",
+    "    print (\"n=\" + str(n))\n",
+    "    print (\"r=\" + str(r))\n",
+    "    print (\" \")\n",
+    "    \n",
+    "print (\"outer loop on diagonal:\")\n",
+    "# outer loop on diagonal\n",
+    "for i in range((s_max+1) - int(skip_last)):\n",
+    "    print (\" \")\n",
+    "    print (\"i=\" + str(i))\n",
+    "    \n",
+    "    print (\"inner loop on s desc:\")\n",
+    "    # inner loop on s desc\n",
+    "    for s in range(s_max, s_max-i-1, -1):\n",
+    "        n_i = initial_n_vals[s]*eta**(-i+s_max-s)\n",
+    "        r_i = initial_r_vals[s]*eta**(i-s_max+s)\n",
+    "        \n",
+    "        print (\"s=\" + str(s))\n",
+    "        print (\"n_i=\" + str(n_i))\n",
+    "        print (\"r_i=\" + str(r_i))"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<a id=\"predict\"></a>\n",
+    "# 7. Inference\n",
+    "\n",
+    "Use the best model from the last run.\n",
+    "\n",
+    "## 7a. Run predict on the whole validation dataset"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 93,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "1 rows affected.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>mst_key</th>\n",
+       "        <th>model_id</th>\n",
+       "        <th>compile_params</th>\n",
+       "        <th>fit_params</th>\n",
+       "        <th>model_type</th>\n",
+       "        <th>model_size</th>\n",
+       "        <th>metrics_elapsed_time</th>\n",
+       "        <th>metrics_type</th>\n",
+       "        <th>training_metrics_final</th>\n",
+       "        <th>training_loss_final</th>\n",
+       "        <th>training_metrics</th>\n",
+       "        <th>training_loss</th>\n",
+       "        <th>validation_metrics_final</th>\n",
+       "        <th>validation_loss_final</th>\n",
+       "        <th>validation_metrics</th>\n",
+       "        <th>validation_loss</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>6</td>\n",
+       "        <td>2</td>\n",
+       "        <td>loss='categorical_crossentropy',optimizer='adam(lr=0.002826545217978097)',metrics=['accuracy']</td>\n",
+       "        <td>batch_size=128,epochs=5</td>\n",
+       "        <td>madlib_keras</td>\n",
+       "        <td>2159.70019531</td>\n",
+       "        <td>[156.498700857162, 314.38369679451, 471.076618909836]</td>\n",
+       "        <td>[u'accuracy']</td>\n",
+       "        <td>0.89631998539</td>\n",
+       "        <td>0.301868826151</td>\n",
+       "        <td>[0.817480027675629, 0.862479984760284, 0.896319985389709]</td>\n",
+       "        <td>[0.536632478237152, 0.400230169296265, 0.301868826150894]</td>\n",
+       "        <td>0.805899977684</td>\n",
+       "        <td>0.613121390343</td>\n",
+       "        <td>[0.764500021934509, 0.788500010967255, 0.805899977684021]</td>\n",
+       "        <td>[0.717438697814941, 0.662977695465088, 0.613121390342712]</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[(6, 2, u\"loss='categorical_crossentropy',optimizer='adam(lr=0.002826545217978097)',metrics=['accuracy']\", u'batch_size=128,epochs=5', u'madlib_keras', 2159.70019531, [156.498700857162, 314.38369679451, 471.076618909836], [u'accuracy'], 0.89631998539, 0.301868826151, [0.817480027675629, 0.862479984760284, 0.896319985389709], [0.536632478237152, 0.400230169296265, 0.301868826150894], 0.805899977684, 0.613121390343, [0.764500021934509, 0.788500010967255, 0.805899977684021], [0.717438697814941, 0.662977695465088, 0.613121390342712])]"
+      ]
+     },
+     "execution_count": 93,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%sql SELECT * FROM $best_model_info;"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 94,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "1 rows affected.\n"
+     ]
+    }
+   ],
+   "source": [
+    "best_mst_key = %sql SELECT mst_key FROM $best_model_info; \n",
+    "best_mst_key = best_mst_key.DataFrame().to_numpy()[0][0]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 95,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Done.\n",
+      "1 rows affected.\n",
+      "5 rows affected.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>id</th>\n",
+       "        <th>estimated_y</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>1</td>\n",
+       "        <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>2</td>\n",
+       "        <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>3</td>\n",
+       "        <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>4</td>\n",
+       "        <td>0</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>5</td>\n",
+       "        <td>0</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[(1, 0), (2, 0), (3, 0), (4, 0), (5, 0)]"
+      ]
+     },
+     "execution_count": 95,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%sql DROP TABLE IF EXISTS cifar10_val_predict;\n",
+    "%sql SELECT madlib.madlib_keras_predict('cifar10_best_model', 'cifar10_val', 'id', 'x', 'cifar10_val_predict', 'response', True, $best_mst_key);\n",
+    "%sql SELECT * FROM cifar10_val_predict ORDER BY id LIMIT 5;"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Count missclassifications"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 96,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "1 rows affected.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>count</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>1941</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[(1941L,)]"
+      ]
+     },
+     "execution_count": 96,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%%sql\n",
+    "SELECT COUNT(*) FROM cifar10_val_predict JOIN cifar10_val USING (id) \n",
+    "WHERE cifar10_val_predict.estimated_y != cifar10_val.y;"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Accuracy"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 97,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "1 rows affected.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>test_accuracy_percent</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>80.59</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[(Decimal('80.59'),)]"
+      ]
+     },
+     "execution_count": 97,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%%sql\n",
+    "SELECT round(count(*)*100.0/10000.0,2) as test_accuracy_percent from\n",
+    "    (select cifar10_val.y as actual, cifar10_val_predict.estimated_y as predicted\n",
+    "     from cifar10_val_predict inner join cifar10_val\n",
+    "     on cifar10_val.id=cifar10_val_predict.id) q\n",
+    "WHERE q.actual=q.predicted;"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## 7b. Select a random image from the validation dataset and run predict\n",
+    "\n",
+    "Label map"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 98,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "label_names = {\n",
+    "    0 :\"airplane\",\n",
+    "    1 :\"automobile\",\n",
+    "    2 :\"bird\",\n",
+    "    3:\"cat\",\n",
+    "    4 :\"deer\",\n",
+    "    5 :\"dog\",\n",
+    "    6 :\"frog\",\n",
+    "    7 :\"horse\",\n",
+    "    8 :\"ship\",\n",
+    "    9 :\"truck\"\n",
+    "}"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Pick a random image"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 99,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Done.\n",
+      "1 rows affected.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/plain": [
+       "[]"
+      ]
+     },
+     "execution_count": 99,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%%sql\n",
+    "DROP TABLE IF EXISTS cifar10_val_random;\n",
+    "CREATE TABLE cifar10_val_random AS\n",
+    "    SELECT * FROM cifar10_val ORDER BY random() LIMIT 1;"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Predict"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 100,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Done.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>id</th>\n",
+       "        <th>prob_0</th>\n",
+       "        <th>prob_1</th>\n",
+       "        <th>prob_2</th>\n",
+       "        <th>prob_3</th>\n",
+       "        <th>prob_4</th>\n",
+       "        <th>prob_5</th>\n",
+       "        <th>prob_6</th>\n",
+       "        <th>prob_7</th>\n",
+       "        <th>prob_8</th>\n",
+       "        <th>prob_9</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>9813</td>\n",
+       "        <td>7.9166554e-08</td>\n",
+       "        <td>0.00038159246</td>\n",
+       "        <td>8.776156e-11</td>\n",
+       "        <td>1.7702625e-08</td>\n",
+       "        <td>1.2219187e-10</td>\n",
+       "        <td>8.096258e-10</td>\n",
+       "        <td>5.192042e-10</td>\n",
+       "        <td>1.5758073e-09</td>\n",
+       "        <td>4.106987e-07</td>\n",
+       "        <td>0.99961793</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[(9813, 7.9166554e-08, 0.00038159246, 8.776156e-11, 1.7702625e-08, 1.2219187e-10, 8.096258e-10, 5.192042e-10, 1.5758073e-09, 4.106987e-07, 0.99961793)]"
+      ]
+     },
+     "execution_count": 100,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%sql DROP TABLE IF EXISTS cifar10_val_random_predict;\n",
+    "%sql SELECT madlib.madlib_keras_predict('cifar10_best_model', 'cifar10_val_random', 'id', 'x', 'cifar10_val_random_predict', 'prob', True, $best_mst_key);\n",
+    "%sql SELECT * FROM cifar10_val_random_predict ;"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Format output and display"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 101,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Done.\n",
+      "1 rows affected.\n",
+      "1 rows affected.\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "<table>\n",
+       "    <tr>\n",
+       "        <th>feature_vector</th>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "        <td>[7.9166554e-08, 0.00038159246, 8.776156e-11, 1.7702625e-08, 1.2219187e-10, 8.096258e-10, 5.192042e-10, 1.5758073e-09, 4.106987e-07, 0.99961793]</td>\n",
+       "    </tr>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "[([7.9166554e-08, 0.00038159246, 8.776156e-11, 1.7702625e-08, 1.2219187e-10, 8.096258e-10, 5.192042e-10, 1.5758073e-09, 4.106987e-07, 0.99961793],)]"
+      ]
+     },
+     "execution_count": 101,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "%%sql\n",
+    "DROP TABLE IF EXISTS cifar10_val_random_predict_array, cifar10_val_random_predict_array_summary;\n",
+    "SELECT madlib.cols2vec(\n",
+    "    'cifar10_val_random_predict',\n",
+    "    'cifar10_val_random_predict_array',\n",
+    "    '*',\n",
+    "    'id'\n",
+    ");\n",
+    "select * from cifar10_val_random_predict_array;"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 102,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "1 rows affected.\n",
+      "1 rows affected.\n",
+      " \n",
+      "truck 0.99961793\n",
+      "automobile 0.00038159246\n",
+      "ship 4.106987e-07\n"
+     ]
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "x = %sql SELECT x FROM cifar10_val_random;\n",
+    "x = x.DataFrame().to_numpy()\n",
+    "import numpy as np\n",
+    "from matplotlib.pyplot import imshow\n",
+    "%matplotlib inline\n",
+    "x_np = np.array(x[0][0], dtype=np.uint8)\n",
+    "imshow(x_np)\n",
+    "\n",
+    "x = %sql SELECT * FROM cifar10_val_random_predict_array;\n",
+    "x = x.DataFrame().to_numpy()\n",
+    "x = np.array(x[0][0])\n",
+    "top_3_prob_label_indices = x.argsort()[-3:][::-1]\n",
+    "print (\" \");\n",
+    "for index in top_3_prob_label_indices:\n",
+    "    print (label_names[index], x[index])"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.10"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
diff --git a/community-artifacts/Supervised-learning/KNN-v5.ipynb b/community-artifacts/Supervised-learning/KNN-v5.ipynb
deleted file mode 100644
index 2f3d51a..0000000
--- a/community-artifacts/Supervised-learning/KNN-v5.ipynb
+++ /dev/null
@@ -1,1049 +0,0 @@
-{
- "cells": [
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# k-Nearest Neighbors\n",
-    "Finds k nearest data points to a given data point and outputs majority vote value of output classes in case of classification, and average value of target values in case of regression. KNN was first added in MADlib 1.10 with multiple updates in subsequent releases."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 1,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "/Users/fmcquillan/anaconda/lib/python2.7/site-packages/IPython/config.py:13: ShimWarning: The `IPython.config` package has been deprecated since IPython 4.0. You should import from traitlets.config instead.\n",
-      "  \"You should import from traitlets.config instead.\", ShimWarning)\n",
-      "/Users/fmcquillan/anaconda/lib/python2.7/site-packages/IPython/utils/traitlets.py:5: UserWarning: IPython.utils.traitlets has moved to a top-level traitlets package.\n",
-      "  warn(\"IPython.utils.traitlets has moved to a top-level traitlets package.\")\n"
-     ]
-    }
-   ],
-   "source": [
-    "%load_ext sql"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 3,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "u'Connected: gpadmin@madlib'"
-      ]
-     },
-     "execution_count": 3,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "# Greenplum Database 5.x on GCP (demo machine)\n",
-    "%sql postgresql://gpadmin@35.184.232.200:5432/madlib\n",
-    "        \n",
-    "# PostgreSQL local\n",
-    "#%sql postgresql://fmcquillan@localhost:5432/madlib"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 4,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>version</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>MADlib version: 1.16-dev, git revision: rc/1.15.1-rc1-29-g0ba6155, cmake configuration time: Wed Feb 20 17:40:16 UTC 2019, build type: release, build system: Linux-2.6.32-754.6.3.el6.x86_64, C compiler: gcc 4.4.7, C++ compiler: g++ 4.4.7</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'MADlib version: 1.16-dev, git revision: rc/1.15.1-rc1-29-g0ba6155, cmake configuration time: Wed Feb 20 17:40:16 UTC 2019, build type: release, build system: Linux-2.6.32-754.6.3.el6.x86_64, C compiler: gcc 4.4.7, C++ compiler: g++ 4.4.7',)]"
-      ]
-     },
-     "execution_count": 4,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%sql select madlib.version();\n",
-    "#%sql select version();"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# 1.  Load data for classification"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 5,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "Done.\n",
-      "9 rows affected.\n",
-      "9 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>id</th>\n",
-       "        <th>data</th>\n",
-       "        <th>label</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>[1, 1]</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>[2, 2]</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>[3, 3]</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>4</td>\n",
-       "        <td>[4, 4]</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>5</td>\n",
-       "        <td>[4, 5]</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>6</td>\n",
-       "        <td>[20, 50]</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>7</td>\n",
-       "        <td>[10, 31]</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>8</td>\n",
-       "        <td>[81, 13]</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>9</td>\n",
-       "        <td>[1, 111]</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, [1, 1], 1),\n",
-       " (2, [2, 2], 1),\n",
-       " (3, [3, 3], 1),\n",
-       " (4, [4, 4], 1),\n",
-       " (5, [4, 5], 1),\n",
-       " (6, [20, 50], 0),\n",
-       " (7, [10, 31], 0),\n",
-       " (8, [81, 13], 0),\n",
-       " (9, [1, 111], 0)]"
-      ]
-     },
-     "execution_count": 5,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql \n",
-    "DROP TABLE IF EXISTS knn_train_data;\n",
-    "\n",
-    "CREATE TABLE knn_train_data (\n",
-    "                    id integer, \n",
-    "                    data integer[], \n",
-    "                    label integer  -- Integer label means for classification\n",
-    "                    );\n",
-    "\n",
-    "INSERT INTO knn_train_data VALUES\n",
-    "(1, '{1,1}', 1),\n",
-    "(2, '{2,2}', 1),\n",
-    "(3, '{3,3}', 1),\n",
-    "(4, '{4,4}', 1),\n",
-    "(5, '{4,5}', 1),\n",
-    "(6, '{20,50}', 0),\n",
-    "(7, '{10,31}', 0),\n",
-    "(8, '{81,13}', 0),\n",
-    "(9, '{1,111}', 0);\n",
-    "\n",
-    "SELECT * FROM knn_train_data ORDER BY id;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# 2. Load data for regression"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 6,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "Done.\n",
-      "9 rows affected.\n",
-      "9 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>id</th>\n",
-       "        <th>data</th>\n",
-       "        <th>label</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>[1, 1]</td>\n",
-       "        <td>1.0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>[2, 2]</td>\n",
-       "        <td>1.0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>[3, 3]</td>\n",
-       "        <td>1.0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>4</td>\n",
-       "        <td>[4, 4]</td>\n",
-       "        <td>1.0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>5</td>\n",
-       "        <td>[4, 5]</td>\n",
-       "        <td>1.0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>6</td>\n",
-       "        <td>[20, 50]</td>\n",
-       "        <td>0.0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>7</td>\n",
-       "        <td>[10, 31]</td>\n",
-       "        <td>0.0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>8</td>\n",
-       "        <td>[81, 13]</td>\n",
-       "        <td>0.0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>9</td>\n",
-       "        <td>[1, 111]</td>\n",
-       "        <td>0.0</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, [1, 1], 1.0),\n",
-       " (2, [2, 2], 1.0),\n",
-       " (3, [3, 3], 1.0),\n",
-       " (4, [4, 4], 1.0),\n",
-       " (5, [4, 5], 1.0),\n",
-       " (6, [20, 50], 0.0),\n",
-       " (7, [10, 31], 0.0),\n",
-       " (8, [81, 13], 0.0),\n",
-       " (9, [1, 111], 0.0)]"
-      ]
-     },
-     "execution_count": 6,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS knn_train_data_reg;\n",
-    "\n",
-    "CREATE TABLE knn_train_data_reg (\n",
-    "                    id integer, \n",
-    "                    data integer[], \n",
-    "                    label float  -- Float label means for regression\n",
-    "                    );\n",
-    "\n",
-    "INSERT INTO knn_train_data_reg VALUES\n",
-    "(1, '{1,1}', 1.0),\n",
-    "(2, '{2,2}', 1.0),\n",
-    "(3, '{3,3}', 1.0),\n",
-    "(4, '{4,4}', 1.0),\n",
-    "(5, '{4,5}', 1.0),\n",
-    "(6, '{20,50}', 0.0),\n",
-    "(7, '{10,31}', 0.0),\n",
-    "(8, '{81,13}', 0.0),\n",
-    "(9, '{1,111}', 0.0);\n",
-    "\n",
-    "SELECT * FROM knn_train_data_reg ORDER BY id;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# 3. Load testing data"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 22,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "Done.\n",
-      "6 rows affected.\n",
-      "6 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>id</th>\n",
-       "        <th>data</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>[2, 1]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>[2, 6]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>[15, 40]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>4</td>\n",
-       "        <td>[12, 1]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>5</td>\n",
-       "        <td>[2, 90]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>6</td>\n",
-       "        <td>[50, 45]</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, [2, 1]),\n",
-       " (2, [2, 6]),\n",
-       " (3, [15, 40]),\n",
-       " (4, [12, 1]),\n",
-       " (5, [2, 90]),\n",
-       " (6, [50, 45])]"
-      ]
-     },
-     "execution_count": 22,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql \n",
-    "DROP TABLE IF EXISTS knn_test_data;\n",
-    "\n",
-    "CREATE TABLE knn_test_data (\n",
-    "                    id integer, \n",
-    "                    data integer[]\n",
-    "                    );\n",
-    "\n",
-    "INSERT INTO knn_test_data VALUES\n",
-    "(1, '{2,1}'),\n",
-    "(2, '{2,6}'),\n",
-    "(3, '{15,40}'),\n",
-    "(4, '{12,1}'),\n",
-    "(5, '{2,90}'),\n",
-    "(6, '{50,45}');\n",
-    "\n",
-    "SELECT * from knn_test_data ORDER BY id;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# 4. Run KNN for classification\n",
-    "Note that the nearest neighbors are sorted from closest to furthest from the corresponding test point."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 15,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "6 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>id</th>\n",
-       "        <th>data</th>\n",
-       "        <th>prediction</th>\n",
-       "        <th>k_nearest_neighbours</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>[2, 1]</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>[2, 1, 3]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>[2, 6]</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>[5, 4, 3]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>[15, 40]</td>\n",
-       "        <td>0.0</td>\n",
-       "        <td>[7, 6, 5]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>4</td>\n",
-       "        <td>[12, 1]</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>[4, 5, 3]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>5</td>\n",
-       "        <td>[2, 90]</td>\n",
-       "        <td>0.0</td>\n",
-       "        <td>[9, 6, 7]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>6</td>\n",
-       "        <td>[50, 45]</td>\n",
-       "        <td>0.0</td>\n",
-       "        <td>[6, 7, 8]</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, [2, 1], 1.0, [2, 1, 3]),\n",
-       " (2, [2, 6], 1.0, [5, 4, 3]),\n",
-       " (3, [15, 40], 0.0, [7, 6, 5]),\n",
-       " (4, [12, 1], 1.0, [4, 5, 3]),\n",
-       " (5, [2, 90], 0.0, [9, 6, 7]),\n",
-       " (6, [50, 45], 0.0, [6, 7, 8])]"
-      ]
-     },
-     "execution_count": 15,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS knn_result_classification;\n",
-    "\n",
-    "SELECT * FROM madlib.knn(\n",
-    "                'knn_train_data',      -- Table of training data\n",
-    "                'data',                -- Col name of training data\n",
-    "                'id',                  -- Col name of id in train data\n",
-    "                'label',               -- Training labels\n",
-    "                'knn_test_data',       -- Table of test data\n",
-    "                'data',                -- Col name of test data\n",
-    "                'id',                  -- Col name of id in test data\n",
-    "                'knn_result_classification',  -- Output table\n",
-    "                 3,                    -- Number of nearest neighbors\n",
-    "                 True,                 -- True to list nearest-neighbors by id\n",
-    "                 'madlib.squared_dist_norm2' -- Distance function\n",
-    "                );\n",
-    "\n",
-    "SELECT * from knn_result_classification ORDER BY id;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# 5. Run KNN for regression"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 16,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "6 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>id</th>\n",
-       "        <th>data</th>\n",
-       "        <th>prediction</th>\n",
-       "        <th>k_nearest_neighbours</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>[2, 1]</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>[2, 1, 3]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>[2, 6]</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>[5, 4, 3]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>[15, 40]</td>\n",
-       "        <td>0.333333333333</td>\n",
-       "        <td>[7, 6, 5]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>4</td>\n",
-       "        <td>[12, 1]</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>[4, 5, 3]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>5</td>\n",
-       "        <td>[2, 90]</td>\n",
-       "        <td>0.0</td>\n",
-       "        <td>[9, 6, 7]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>6</td>\n",
-       "        <td>[50, 45]</td>\n",
-       "        <td>0.0</td>\n",
-       "        <td>[6, 7, 8]</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, [2, 1], 1.0, [2, 1, 3]),\n",
-       " (2, [2, 6], 1.0, [5, 4, 3]),\n",
-       " (3, [15, 40], 0.333333333333333, [7, 6, 5]),\n",
-       " (4, [12, 1], 1.0, [4, 5, 3]),\n",
-       " (5, [2, 90], 0.0, [9, 6, 7]),\n",
-       " (6, [50, 45], 0.0, [6, 7, 8])]"
-      ]
-     },
-     "execution_count": 16,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS knn_result_regression;\n",
-    "\n",
-    "SELECT * FROM madlib.knn(\n",
-    "                'knn_train_data_reg',  -- Table of training data\n",
-    "                'data',                -- Col name of training data\n",
-    "                'id',                  -- Col Name of id in train data\n",
-    "                'label',               -- Training labels\n",
-    "                'knn_test_data',       -- Table of test data\n",
-    "                'data',                -- Col name of test data\n",
-    "                'id',                  -- Col name of id in test data\n",
-    "                'knn_result_regression',  -- Output table\n",
-    "                 3,                    -- Number of nearest neighbors\n",
-    "                True,                  -- True to list nearest-neighbors by id\n",
-    "                'madlib.dist_norm2'    -- Distance function\n",
-    "                );\n",
-    "\n",
-    "SELECT * FROM knn_result_regression ORDER BY id;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# 6. List nearest neighbors only\n",
-    "(without doing classification or regression).  Note that the nearest neighbors are sorted from closest to furthest from the corresponding test point."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 17,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "6 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>id</th>\n",
-       "        <th>data</th>\n",
-       "        <th>k_nearest_neighbours</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>[2, 1]</td>\n",
-       "        <td>[2, 1, 3]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>[2, 6]</td>\n",
-       "        <td>[5, 4, 3]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>[15, 40]</td>\n",
-       "        <td>[7, 6, 5]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>4</td>\n",
-       "        <td>[12, 1]</td>\n",
-       "        <td>[4, 5, 3]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>5</td>\n",
-       "        <td>[2, 90]</td>\n",
-       "        <td>[9, 6, 7]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>6</td>\n",
-       "        <td>[50, 45]</td>\n",
-       "        <td>[6, 7, 8]</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, [2, 1], [2, 1, 3]),\n",
-       " (2, [2, 6], [5, 4, 3]),\n",
-       " (3, [15, 40], [7, 6, 5]),\n",
-       " (4, [12, 1], [4, 5, 3]),\n",
-       " (5, [2, 90], [9, 6, 7]),\n",
-       " (6, [50, 45], [6, 7, 8])]"
-      ]
-     },
-     "execution_count": 17,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS knn_result_list_neighbors;\n",
-    "\n",
-    "SELECT * FROM madlib.knn(\n",
-    "                'knn_train_data_reg',  -- Table of training data\n",
-    "                'data',                -- Col name of training data\n",
-    "                'id',                  -- Col Name of id in train data\n",
-    "                NULL,                  -- NULL training labels means just list neighbors\n",
-    "                'knn_test_data',       -- Table of test data\n",
-    "                'data',                -- Col name of test data\n",
-    "                'id',                  -- Col name of id in test data\n",
-    "                'knn_result_list_neighbors', -- Output table\n",
-    "                3                      -- Number of nearest neighbors\n",
-    "                );\n",
-    "\n",
-    "SELECT * FROM knn_result_list_neighbors ORDER BY id;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# 7.  Weighted average\n",
-    "Run classification using weighted average"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 18,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "6 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>id</th>\n",
-       "        <th>data</th>\n",
-       "        <th>prediction</th>\n",
-       "        <th>k_nearest_neighbours</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>[2, 1]</td>\n",
-       "        <td>1</td>\n",
-       "        <td>[1, 2, 3]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>[2, 6]</td>\n",
-       "        <td>1</td>\n",
-       "        <td>[5, 4, 3]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>[15, 40]</td>\n",
-       "        <td>0</td>\n",
-       "        <td>[7, 6, 5]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>4</td>\n",
-       "        <td>[12, 1]</td>\n",
-       "        <td>1</td>\n",
-       "        <td>[4, 5, 3]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>5</td>\n",
-       "        <td>[2, 90]</td>\n",
-       "        <td>0</td>\n",
-       "        <td>[9, 6, 7]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>6</td>\n",
-       "        <td>[50, 45]</td>\n",
-       "        <td>0</td>\n",
-       "        <td>[6, 7, 8]</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, [2, 1], 1, [1, 2, 3]),\n",
-       " (2, [2, 6], 1, [5, 4, 3]),\n",
-       " (3, [15, 40], 0, [7, 6, 5]),\n",
-       " (4, [12, 1], 1, [4, 5, 3]),\n",
-       " (5, [2, 90], 0, [9, 6, 7]),\n",
-       " (6, [50, 45], 0, [6, 7, 8])]"
-      ]
-     },
-     "execution_count": 18,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS knn_result_classification;\n",
-    "\n",
-    "SELECT * FROM madlib.knn(\n",
-    "                'knn_train_data',      -- Table of training data\n",
-    "                'data',                -- Col name of training data\n",
-    "                'id',                  -- Col name of id in train data\n",
-    "                'label',               -- Training labels\n",
-    "                'knn_test_data',       -- Table of test data\n",
-    "                'data',                -- Col name of test data\n",
-    "                'id',                  -- Col name of id in test data\n",
-    "                'knn_result_classification',  -- Output table\n",
-    "                 3,                    -- Number of nearest neighbors\n",
-    "                 True,                 -- True to list nearest-neighbors by id\n",
-    "                 'madlib.squared_dist_norm2', -- Distance function\n",
-    "                 True                 -- For weighted average\n",
-    "                );\n",
-    "\n",
-    "SELECT * FROM knn_result_classification ORDER BY id;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# 8. Use kd-tree algorithm \n",
-    "Here we build a kd-tree to depth 4 and search half (8) of the 16 leaf nodes (i.e., 2^4)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 19,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "6 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>id</th>\n",
-       "        <th>data</th>\n",
-       "        <th>k_nearest_neighbours</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>[2, 1]</td>\n",
-       "        <td>[1, 2, 3]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>[2, 6]</td>\n",
-       "        <td>[5, 4, 3]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>[15, 40]</td>\n",
-       "        <td>[7, 6, 5]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>4</td>\n",
-       "        <td>[12, 1]</td>\n",
-       "        <td>[4, 5, 3]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>5</td>\n",
-       "        <td>[2, 90]</td>\n",
-       "        <td>[9, 6, 7]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>6</td>\n",
-       "        <td>[50, 45]</td>\n",
-       "        <td>[6, 7, 8]</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, [2, 1], [1, 2, 3]),\n",
-       " (2, [2, 6], [5, 4, 3]),\n",
-       " (3, [15, 40], [7, 6, 5]),\n",
-       " (4, [12, 1], [4, 5, 3]),\n",
-       " (5, [2, 90], [9, 6, 7]),\n",
-       " (6, [50, 45], [6, 7, 8])]"
-      ]
-     },
-     "execution_count": 19,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS knn_result_classification_kd;\n",
-    "\n",
-    "SELECT madlib.knn(\n",
-    "                'knn_train_data',        -- Table of training data\n",
-    "                'data',                  -- Col name of training data\n",
-    "                'id',                    -- Col name of id in train data\n",
-    "                NULL,                    -- Training labels\n",
-    "                'knn_test_data',         -- Table of test data\n",
-    "                'data',                  -- Col name of test data\n",
-    "                'id',                    -- Col name of id in test data\n",
-    "                'knn_result_classification_kd',  -- Output table\n",
-    "                 3,                      -- Number of nearest neighbors\n",
-    "                 True,                   -- True to list nearest-neighbors by id\n",
-    "                 'madlib.squared_dist_norm2', -- Distance function\n",
-    "                 False,                  -- For weighted average\n",
-    "                 'kd_tree',              -- Use kd-tree\n",
-    "                 'depth=4, leaf_nodes=8' -- Kd-tree options\n",
-    "    \n",
-    "                 );\n",
-    "SELECT * FROM knn_result_classification_kd ORDER BY id;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "The result above is the same as brute force.  If we search just 1 leaf node, run-time will be faster but accuracy will be lower.  This shows up in this very small data set by not being able to find 3 nearest neighbors for all test points:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 31,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "5 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>id</th>\n",
-       "        <th>data</th>\n",
-       "        <th>k_nearest_neighbours</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>[2, 1]</td>\n",
-       "        <td>[1]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>[2, 6]</td>\n",
-       "        <td>[3, 2]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>[15, 40]</td>\n",
-       "        <td>[7]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>5</td>\n",
-       "        <td>[2, 90]</td>\n",
-       "        <td>[3, 2]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>6</td>\n",
-       "        <td>[50, 45]</td>\n",
-       "        <td>[6, 8]</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, [2, 1], [1]),\n",
-       " (2, [2, 6], [3, 2]),\n",
-       " (3, [15, 40], [7]),\n",
-       " (5, [2, 90], [3, 2]),\n",
-       " (6, [50, 45], [6, 8])]"
-      ]
-     },
-     "execution_count": 31,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS knn_result_classification_kd;\n",
-    "\n",
-    "SELECT madlib.knn(\n",
-    "                'knn_train_data',        -- Table of training data\n",
-    "                'data',                  -- Col name of training data\n",
-    "                'id',                    -- Col name of id in train data\n",
-    "                NULL,                    -- Training labels\n",
-    "                'knn_test_data',         -- Table of test data\n",
-    "                'data',                  -- Col name of test data\n",
-    "                'id',                    -- Col name of id in test data\n",
-    "                'knn_result_classification_kd',  -- Output table\n",
-    "                 3,                      -- Number of nearest neighbors\n",
-    "                 True,                   -- True to list nearest-neighbors by id\n",
-    "                 'madlib.squared_dist_norm2', -- Distance function\n",
-    "                 False,                  -- For weighted average\n",
-    "                 'kd_tree',              -- Use kd-tree\n",
-    "                 'depth=4, leaf_nodes=1' -- Kd-tree options\n",
-    "    \n",
-    "                 );\n",
-    "SELECT * FROM knn_result_classification_kd ORDER BY id;"
-   ]
-  }
- ],
- "metadata": {
-  "kernelspec": {
-   "display_name": "Python 2",
-   "language": "python",
-   "name": "python2"
-  },
-  "language_info": {
-   "codemirror_mode": {
-    "name": "ipython",
-    "version": 2
-   },
-   "file_extension": ".py",
-   "mimetype": "text/x-python",
-   "name": "python",
-   "nbconvert_exporter": "python",
-   "pygments_lexer": "ipython2",
-   "version": "2.7.12"
-  }
- },
- "nbformat": 4,
- "nbformat_minor": 1
-}
diff --git a/community-artifacts/Supervised-learning/SVM-v1.ipynb b/community-artifacts/Supervised-learning/SVM-v1.ipynb
deleted file mode 100644
index 405710d..0000000
--- a/community-artifacts/Supervised-learning/SVM-v1.ipynb
+++ /dev/null
@@ -1,2806 +0,0 @@
-{
- "cells": [
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# Support Vector Machines\n",
-    "Support Vector Machines (SVMs) are models for regression and classification tasks. SVM models have two particularly desirable features: robustness in the presence of noisy data and applicability to a variety of data configurations. At its core, a linear SVM model is a hyperplane separating two distinct classes of data (in the case of classification problems), in such a way that the distance between the hyperplane and the nearest training data point (called the margin) is maximized. Vectors that lie on this margin are called support vectors. With the support vectors fixed, perturbations of vectors beyond the margin will not affect the model; this contributes to the model’s robustness. By substituting a kernel function for the usual inner product, one can approximate a large variety of decision boundaries in addition to linear hyperplanes."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 14,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "The sql extension is already loaded. To reload it, use:\n",
-      "  %reload_ext sql\n"
-     ]
-    }
-   ],
-   "source": [
-    "%load_ext sql"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 15,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "u'Connected: gpadmin@madlib'"
-      ]
-     },
-     "execution_count": 15,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "# Greenplum Database 5.4.0 on GCP (demo machine)\n",
-    "%sql postgresql://gpadmin@35.184.253.255:5432/madlib\n",
-    "        \n",
-    "# PostgreSQL local\n",
-    "#%sql postgresql://fmcquillan@localhost:5432/madlib\n",
-    "\n",
-    "# Greenplum Database 4.3.10.0\n",
-    "#%sql postgresql://gpdbchina@10.194.10.68:61000/madlib"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 16,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>version</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>MADlib version: 1.15-dev, git revision: rc/1.14-rc1-25-gda13eb7, cmake configuration time: Tue Jul 10 21:37:52 UTC 2018, build type: release, build system: Linux-2.6.32-696.20.1.el6.x86_64, C compiler: gcc 4.4.7, C++ compiler: g++ 4.4.7</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'MADlib version: 1.15-dev, git revision: rc/1.14-rc1-25-gda13eb7, cmake configuration time: Tue Jul 10 21:37:52 UTC 2018, build type: release, build system: Linux-2.6.32-696.20.1.el6.x86_64, C compiler: gcc 4.4.7, C++ compiler: g++ 4.4.7',)]"
-      ]
-     },
-     "execution_count": 16,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%sql select madlib.version();"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {
-    "collapsed": true
-   },
-   "source": [
-    "# Classification\n",
-    "# 1. Create input data set"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 17,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "Done.\n",
-      "15 rows affected.\n",
-      "15 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>id</th>\n",
-       "        <th>tax</th>\n",
-       "        <th>bedroom</th>\n",
-       "        <th>bath</th>\n",
-       "        <th>price</th>\n",
-       "        <th>size</th>\n",
-       "        <th>lot</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>590</td>\n",
-       "        <td>2</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>50000</td>\n",
-       "        <td>770</td>\n",
-       "        <td>22100</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>1050</td>\n",
-       "        <td>3</td>\n",
-       "        <td>2.0</td>\n",
-       "        <td>85000</td>\n",
-       "        <td>1410</td>\n",
-       "        <td>12000</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>20</td>\n",
-       "        <td>3</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>22500</td>\n",
-       "        <td>1060</td>\n",
-       "        <td>3500</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>4</td>\n",
-       "        <td>870</td>\n",
-       "        <td>2</td>\n",
-       "        <td>2.0</td>\n",
-       "        <td>90000</td>\n",
-       "        <td>1300</td>\n",
-       "        <td>17500</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>5</td>\n",
-       "        <td>1320</td>\n",
-       "        <td>3</td>\n",
-       "        <td>2.0</td>\n",
-       "        <td>133000</td>\n",
-       "        <td>1500</td>\n",
-       "        <td>30000</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>6</td>\n",
-       "        <td>1350</td>\n",
-       "        <td>2</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>90500</td>\n",
-       "        <td>820</td>\n",
-       "        <td>25700</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>7</td>\n",
-       "        <td>2790</td>\n",
-       "        <td>3</td>\n",
-       "        <td>2.5</td>\n",
-       "        <td>260000</td>\n",
-       "        <td>2130</td>\n",
-       "        <td>25000</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>8</td>\n",
-       "        <td>680</td>\n",
-       "        <td>2</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>142500</td>\n",
-       "        <td>1170</td>\n",
-       "        <td>22000</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>9</td>\n",
-       "        <td>1840</td>\n",
-       "        <td>3</td>\n",
-       "        <td>2.0</td>\n",
-       "        <td>160000</td>\n",
-       "        <td>1500</td>\n",
-       "        <td>19000</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>10</td>\n",
-       "        <td>3680</td>\n",
-       "        <td>4</td>\n",
-       "        <td>2.0</td>\n",
-       "        <td>240000</td>\n",
-       "        <td>2790</td>\n",
-       "        <td>20000</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>11</td>\n",
-       "        <td>1660</td>\n",
-       "        <td>3</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>87000</td>\n",
-       "        <td>1030</td>\n",
-       "        <td>17500</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>12</td>\n",
-       "        <td>1620</td>\n",
-       "        <td>3</td>\n",
-       "        <td>2.0</td>\n",
-       "        <td>118600</td>\n",
-       "        <td>1250</td>\n",
-       "        <td>20000</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>13</td>\n",
-       "        <td>3100</td>\n",
-       "        <td>3</td>\n",
-       "        <td>2.0</td>\n",
-       "        <td>140000</td>\n",
-       "        <td>1760</td>\n",
-       "        <td>38000</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>14</td>\n",
-       "        <td>2070</td>\n",
-       "        <td>2</td>\n",
-       "        <td>3.0</td>\n",
-       "        <td>148000</td>\n",
-       "        <td>1550</td>\n",
-       "        <td>14000</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>15</td>\n",
-       "        <td>650</td>\n",
-       "        <td>3</td>\n",
-       "        <td>1.5</td>\n",
-       "        <td>65000</td>\n",
-       "        <td>1450</td>\n",
-       "        <td>12000</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, 590, 2, 1.0, 50000, 770, 22100),\n",
-       " (2, 1050, 3, 2.0, 85000, 1410, 12000),\n",
-       " (3, 20, 3, 1.0, 22500, 1060, 3500),\n",
-       " (4, 870, 2, 2.0, 90000, 1300, 17500),\n",
-       " (5, 1320, 3, 2.0, 133000, 1500, 30000),\n",
-       " (6, 1350, 2, 1.0, 90500, 820, 25700),\n",
-       " (7, 2790, 3, 2.5, 260000, 2130, 25000),\n",
-       " (8, 680, 2, 1.0, 142500, 1170, 22000),\n",
-       " (9, 1840, 3, 2.0, 160000, 1500, 19000),\n",
-       " (10, 3680, 4, 2.0, 240000, 2790, 20000),\n",
-       " (11, 1660, 3, 1.0, 87000, 1030, 17500),\n",
-       " (12, 1620, 3, 2.0, 118600, 1250, 20000),\n",
-       " (13, 3100, 3, 2.0, 140000, 1760, 38000),\n",
-       " (14, 2070, 2, 3.0, 148000, 1550, 14000),\n",
-       " (15, 650, 3, 1.5, 65000, 1450, 12000)]"
-      ]
-     },
-     "execution_count": 17,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql \n",
-    "DROP TABLE IF EXISTS houses;\n",
-    "\n",
-    "CREATE TABLE houses (id INT, tax INT, bedroom INT, bath FLOAT, price INT,\n",
-    "            size INT, lot INT);\n",
-    "\n",
-    "INSERT INTO houses VALUES   \n",
-    "  (1 ,  590 ,       2 ,    1 ,  50000 ,  770 , 22100),\n",
-    "  (2 , 1050 ,       3 ,    2 ,  85000 , 1410 , 12000),\n",
-    "  (3 ,   20 ,       3 ,    1 ,  22500 , 1060 ,  3500),\n",
-    "  (4 ,  870 ,       2 ,    2 ,  90000 , 1300 , 17500),\n",
-    "  (5 , 1320 ,       3 ,    2 , 133000 , 1500 , 30000),\n",
-    "  (6 , 1350 ,       2 ,    1 ,  90500 ,  820 , 25700),\n",
-    "  (7 , 2790 ,       3 ,  2.5 , 260000 , 2130 , 25000),\n",
-    "  (8 ,  680 ,       2 ,    1 , 142500 , 1170 , 22000),\n",
-    "  (9 , 1840 ,       3 ,    2 , 160000 , 1500 , 19000),\n",
-    " (10 , 3680 ,       4 ,    2 , 240000 , 2790 , 20000),\n",
-    " (11 , 1660 ,       3 ,    1 ,  87000 , 1030 , 17500),\n",
-    " (12 , 1620 ,       3 ,    2 , 118600 , 1250 , 20000),\n",
-    " (13 , 3100 ,       3 ,    2 , 140000 , 1760 , 38000),\n",
-    " (14 , 2070 ,       2 ,    3 , 148000 , 1550 , 14000),\n",
-    " (15 ,  650 ,       3 ,  1.5 ,  65000 , 1450 , 12000);\n",
-    "    \n",
-    "SELECT * FROM houses ORDER BY id;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "\n",
-    "# 2. Train linear classification model\n",
-    "Categorical variable is price < $100,0000."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 18,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>coef</th>\n",
-       "        <th>loss</th>\n",
-       "        <th>norm_of_gradient</th>\n",
-       "        <th>num_iterations</th>\n",
-       "        <th>num_rows_processed</th>\n",
-       "        <th>num_rows_skipped</th>\n",
-       "        <th>dep_var_mapping</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[0.124749754442359, -0.002823869432027, 0.0751780666986316, 0.00163774992345709]</td>\n",
-       "        <td>0.647742474881</td>\n",
-       "        <td>4412.03185101</td>\n",
-       "        <td>100</td>\n",
-       "        <td>15</td>\n",
-       "        <td>0</td>\n",
-       "        <td>[False, True]</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[([0.124749754442359, -0.002823869432027, 0.0751780666986316, 0.00163774992345709], 0.647742474880954, 4412.03185100955, 100, 15L, 0L, [False, True])]"
-      ]
-     },
-     "execution_count": 18,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS houses_svm, houses_svm_summary;\n",
-    "\n",
-    "SELECT madlib.svm_classification('houses',\n",
-    "                                 'houses_svm',\n",
-    "                                 'price < 100000',\n",
-    "                                 'ARRAY[1, tax, bath, size]'\n",
-    "                           );\n",
-    "SELECT * FROM houses_svm;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# 3. Predict using linear model\n",
-    "We want to predict if house price is less than $100,000. We use the training data set for prediction as well, which is not usual but serves to show the syntax. The predicted results are in the \"prediction\" column and the actual data is in the \"actual\" column."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 19,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "15 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>id</th>\n",
-       "        <th>tax</th>\n",
-       "        <th>bedroom</th>\n",
-       "        <th>bath</th>\n",
-       "        <th>price</th>\n",
-       "        <th>size</th>\n",
-       "        <th>lot</th>\n",
-       "        <th>prediction</th>\n",
-       "        <th>decision_function</th>\n",
-       "        <th>actual</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>590</td>\n",
-       "        <td>2</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>50000</td>\n",
-       "        <td>770</td>\n",
-       "        <td>22100</td>\n",
-       "        <td>False</td>\n",
-       "        <td>-0.205087702693</td>\n",
-       "        <td>True</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>1050</td>\n",
-       "        <td>3</td>\n",
-       "        <td>2.0</td>\n",
-       "        <td>85000</td>\n",
-       "        <td>1410</td>\n",
-       "        <td>12000</td>\n",
-       "        <td>False</td>\n",
-       "        <td>-0.380729623714</td>\n",
-       "        <td>True</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>20</td>\n",
-       "        <td>3</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>22500</td>\n",
-       "        <td>1060</td>\n",
-       "        <td>3500</td>\n",
-       "        <td>True</td>\n",
-       "        <td>1.87946535136</td>\n",
-       "        <td>True</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>4</td>\n",
-       "        <td>870</td>\n",
-       "        <td>2</td>\n",
-       "        <td>2.0</td>\n",
-       "        <td>90000</td>\n",
-       "        <td>1300</td>\n",
-       "        <td>17500</td>\n",
-       "        <td>False</td>\n",
-       "        <td>-0.0525856175296</td>\n",
-       "        <td>True</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>5</td>\n",
-       "        <td>1320</td>\n",
-       "        <td>3</td>\n",
-       "        <td>2.0</td>\n",
-       "        <td>133000</td>\n",
-       "        <td>1500</td>\n",
-       "        <td>30000</td>\n",
-       "        <td>False</td>\n",
-       "        <td>-0.99577687725</td>\n",
-       "        <td>False</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>6</td>\n",
-       "        <td>1350</td>\n",
-       "        <td>2</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>90500</td>\n",
-       "        <td>820</td>\n",
-       "        <td>25700</td>\n",
-       "        <td>False</td>\n",
-       "        <td>-2.26934097486</td>\n",
-       "        <td>True</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>7</td>\n",
-       "        <td>2790</td>\n",
-       "        <td>3</td>\n",
-       "        <td>2.5</td>\n",
-       "        <td>260000</td>\n",
-       "        <td>2130</td>\n",
-       "        <td>25000</td>\n",
-       "        <td>False</td>\n",
-       "        <td>-4.0774934572</td>\n",
-       "        <td>False</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>8</td>\n",
-       "        <td>680</td>\n",
-       "        <td>2</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>142500</td>\n",
-       "        <td>1170</td>\n",
-       "        <td>22000</td>\n",
-       "        <td>True</td>\n",
-       "        <td>0.195864017807</td>\n",
-       "        <td>False</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>9</td>\n",
-       "        <td>1840</td>\n",
-       "        <td>3</td>\n",
-       "        <td>2.0</td>\n",
-       "        <td>160000</td>\n",
-       "        <td>1500</td>\n",
-       "        <td>19000</td>\n",
-       "        <td>False</td>\n",
-       "        <td>-2.4641889819</td>\n",
-       "        <td>False</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>10</td>\n",
-       "        <td>3680</td>\n",
-       "        <td>4</td>\n",
-       "        <td>2.0</td>\n",
-       "        <td>240000</td>\n",
-       "        <td>2790</td>\n",
-       "        <td>20000</td>\n",
-       "        <td>False</td>\n",
-       "        <td>-5.54741133557</td>\n",
-       "        <td>False</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>11</td>\n",
-       "        <td>1660</td>\n",
-       "        <td>3</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>87000</td>\n",
-       "        <td>1030</td>\n",
-       "        <td>17500</td>\n",
-       "        <td>False</td>\n",
-       "        <td>-2.80081301486</td>\n",
-       "        <td>True</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>12</td>\n",
-       "        <td>1620</td>\n",
-       "        <td>3</td>\n",
-       "        <td>2.0</td>\n",
-       "        <td>118600</td>\n",
-       "        <td>1250</td>\n",
-       "        <td>20000</td>\n",
-       "        <td>False</td>\n",
-       "        <td>-2.25237518772</td>\n",
-       "        <td>False</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>13</td>\n",
-       "        <td>3100</td>\n",
-       "        <td>3</td>\n",
-       "        <td>2.0</td>\n",
-       "        <td>140000</td>\n",
-       "        <td>1760</td>\n",
-       "        <td>38000</td>\n",
-       "        <td>False</td>\n",
-       "        <td>-5.59644948616</td>\n",
-       "        <td>False</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>14</td>\n",
-       "        <td>2070</td>\n",
-       "        <td>2</td>\n",
-       "        <td>3.0</td>\n",
-       "        <td>148000</td>\n",
-       "        <td>1550</td>\n",
-       "        <td>14000</td>\n",
-       "        <td>False</td>\n",
-       "        <td>-2.9566133884</td>\n",
-       "        <td>False</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>15</td>\n",
-       "        <td>650</td>\n",
-       "        <td>3</td>\n",
-       "        <td>1.5</td>\n",
-       "        <td>65000</td>\n",
-       "        <td>1450</td>\n",
-       "        <td>12000</td>\n",
-       "        <td>True</td>\n",
-       "        <td>0.776739112686</td>\n",
-       "        <td>True</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, 590, 2, 1.0, 50000, 770, 22100, False, -0.205087702692976, True),\n",
-       " (2, 1050, 3, 2.0, 85000, 1410, 12000, False, -0.380729623714223, True),\n",
-       " (3, 20, 3, 1.0, 22500, 1060, 3500, True, 1.87946535136497, True),\n",
-       " (4, 870, 2, 2.0, 90000, 1300, 17500, False, -0.0525856175296444, True),\n",
-       " (5, 1320, 3, 2.0, 133000, 1500, 30000, False, -0.995776877250374, False),\n",
-       " (6, 1350, 2, 1.0, 90500, 820, 25700, False, -2.26934097486064, True),\n",
-       " (7, 2790, 3, 2.5, 260000, 2130, 25000, False, -4.07749345720278, False),\n",
-       " (8, 680, 2, 1.0, 142500, 1170, 22000, True, 0.195864017807432, False),\n",
-       " (9, 1840, 3, 2.0, 160000, 1500, 19000, False, -2.46418898190441, False),\n",
-       " (10, 3680, 4, 2.0, 240000, 2790, 20000, False, -5.54741133557444, False),\n",
-       " (11, 1660, 3, 1.0, 87000, 1030, 17500, False, -2.80081301486302, True),\n",
-       " (12, 1620, 3, 2.0, 118600, 1250, 20000, False, -2.25237518772275, False),\n",
-       " (13, 3100, 3, 2.0, 140000, 1760, 38000, False, -5.59644948615959, False),\n",
-       " (14, 2070, 2, 3.0, 148000, 1550, 14000, False, -2.95661338839914, False),\n",
-       " (15, 650, 3, 1.5, 65000, 1450, 12000, True, 0.776739112685544, True)]"
-      ]
-     },
-     "execution_count": 19,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS houses_pred;\n",
-    "\n",
-    "SELECT madlib.svm_predict('houses_svm', \n",
-    "                          'houses', \n",
-    "                          'id', \n",
-    "                          'houses_pred');\n",
-    "\n",
-    "SELECT *, price < 100000 AS actual FROM houses JOIN houses_pred USING (id) ORDER BY id;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Count the miss-classifications:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 20,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>count</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>6</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(6L,)]"
-      ]
-     },
-     "execution_count": 20,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT COUNT(*) FROM houses_pred JOIN houses USING (id) \n",
-    "WHERE houses_pred.prediction != (houses.price < 100000);"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# 4. Train using Gaussian kernel\n",
-    "Next generate a nonlinear model using a Gaussian kernel. This time we specify the initial step size and maximum number of iterations to run. As part of the kernel parameter, we choose 10 as the dimension of the space where we train SVM. A larger number will lead to a more powerful model but run the risk of overfitting. As a result, the model will be a 10 dimensional vector, instead of 4 as in the case of linear model."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 21,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>coef</th>\n",
-       "        <th>loss</th>\n",
-       "        <th>norm_of_gradient</th>\n",
-       "        <th>num_iterations</th>\n",
-       "        <th>num_rows_processed</th>\n",
-       "        <th>num_rows_skipped</th>\n",
-       "        <th>dep_var_mapping</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[-1.67275666209207, 1.5191640881642, -0.503066422926726, 1.33250956564454, 2.23009854231314, -0.0602475029497933, 1.97466397155921, 2.3668779833279, 0.577739846910355, 2.81255996089823]</td>\n",
-       "        <td>0.0571869097341</td>\n",
-       "        <td>1.18281830047</td>\n",
-       "        <td>177</td>\n",
-       "        <td>15</td>\n",
-       "        <td>0</td>\n",
-       "        <td>[False, True]</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[([-1.67275666209207, 1.5191640881642, -0.503066422926726, 1.33250956564454, 2.23009854231314, -0.0602475029497933, 1.97466397155921, 2.3668779833279, 0.577739846910355, 2.81255996089823], 0.0571869097340992, 1.18281830047046, 177, 15L, 0L, [False, True])]"
-      ]
-     },
-     "execution_count": 21,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS houses_svm_gaussian, houses_svm_gaussian_summary, houses_svm_gaussian_random;\n",
-    "\n",
-    "SELECT madlib.svm_classification( 'houses',\n",
-    "                                  'houses_svm_gaussian',\n",
-    "                                  'price < 100000',\n",
-    "                                  'ARRAY[1, tax, bath, size]',\n",
-    "                                  'gaussian',\n",
-    "                                  'n_components=10',\n",
-    "                                  '',\n",
-    "                                  'init_stepsize=1, max_iter=200'\n",
-    "                           );\n",
-    "\n",
-    "SELECT * FROM houses_svm_gaussian;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# 5. Predict using Gaussian model\n",
-    "The predicted results are in the \"prediction\" column and the actual data is in the \"actual\" column."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 54,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "15 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>id</th>\n",
-       "        <th>tax</th>\n",
-       "        <th>bedroom</th>\n",
-       "        <th>bath</th>\n",
-       "        <th>price</th>\n",
-       "        <th>size</th>\n",
-       "        <th>lot</th>\n",
-       "        <th>prediction</th>\n",
-       "        <th>decision_function</th>\n",
-       "        <th>actual</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>590</td>\n",
-       "        <td>2</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>50000</td>\n",
-       "        <td>770</td>\n",
-       "        <td>22100</td>\n",
-       "        <td>True</td>\n",
-       "        <td>1.64923454025</td>\n",
-       "        <td>True</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>1050</td>\n",
-       "        <td>3</td>\n",
-       "        <td>2.0</td>\n",
-       "        <td>85000</td>\n",
-       "        <td>1410</td>\n",
-       "        <td>12000</td>\n",
-       "        <td>True</td>\n",
-       "        <td>1.34505433447</td>\n",
-       "        <td>True</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>20</td>\n",
-       "        <td>3</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>22500</td>\n",
-       "        <td>1060</td>\n",
-       "        <td>3500</td>\n",
-       "        <td>True</td>\n",
-       "        <td>1.00000000092</td>\n",
-       "        <td>True</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>4</td>\n",
-       "        <td>870</td>\n",
-       "        <td>2</td>\n",
-       "        <td>2.0</td>\n",
-       "        <td>90000</td>\n",
-       "        <td>1300</td>\n",
-       "        <td>17500</td>\n",
-       "        <td>True</td>\n",
-       "        <td>1.00000000712</td>\n",
-       "        <td>True</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>5</td>\n",
-       "        <td>1320</td>\n",
-       "        <td>3</td>\n",
-       "        <td>2.0</td>\n",
-       "        <td>133000</td>\n",
-       "        <td>1500</td>\n",
-       "        <td>30000</td>\n",
-       "        <td>False</td>\n",
-       "        <td>-1.00000001729</td>\n",
-       "        <td>False</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>6</td>\n",
-       "        <td>1350</td>\n",
-       "        <td>2</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>90500</td>\n",
-       "        <td>820</td>\n",
-       "        <td>25700</td>\n",
-       "        <td>True</td>\n",
-       "        <td>1.11113745879</td>\n",
-       "        <td>True</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>7</td>\n",
-       "        <td>2790</td>\n",
-       "        <td>3</td>\n",
-       "        <td>2.5</td>\n",
-       "        <td>260000</td>\n",
-       "        <td>2130</td>\n",
-       "        <td>25000</td>\n",
-       "        <td>False</td>\n",
-       "        <td>-0.29148279088</td>\n",
-       "        <td>False</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>8</td>\n",
-       "        <td>680</td>\n",
-       "        <td>2</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>142500</td>\n",
-       "        <td>1170</td>\n",
-       "        <td>22000</td>\n",
-       "        <td>False</td>\n",
-       "        <td>-1.00000000609</td>\n",
-       "        <td>False</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>9</td>\n",
-       "        <td>1840</td>\n",
-       "        <td>3</td>\n",
-       "        <td>2.0</td>\n",
-       "        <td>160000</td>\n",
-       "        <td>1500</td>\n",
-       "        <td>19000</td>\n",
-       "        <td>False</td>\n",
-       "        <td>-1.23665846847</td>\n",
-       "        <td>False</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>10</td>\n",
-       "        <td>3680</td>\n",
-       "        <td>4</td>\n",
-       "        <td>2.0</td>\n",
-       "        <td>240000</td>\n",
-       "        <td>2790</td>\n",
-       "        <td>20000</td>\n",
-       "        <td>False</td>\n",
-       "        <td>-1.0938201061</td>\n",
-       "        <td>False</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>11</td>\n",
-       "        <td>1660</td>\n",
-       "        <td>3</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>87000</td>\n",
-       "        <td>1030</td>\n",
-       "        <td>17500</td>\n",
-       "        <td>True</td>\n",
-       "        <td>1.62636283239</td>\n",
-       "        <td>True</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>12</td>\n",
-       "        <td>1620</td>\n",
-       "        <td>3</td>\n",
-       "        <td>2.0</td>\n",
-       "        <td>118600</td>\n",
-       "        <td>1250</td>\n",
-       "        <td>20000</td>\n",
-       "        <td>False</td>\n",
-       "        <td>-1.60116812307</td>\n",
-       "        <td>False</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>13</td>\n",
-       "        <td>3100</td>\n",
-       "        <td>3</td>\n",
-       "        <td>2.0</td>\n",
-       "        <td>140000</td>\n",
-       "        <td>1760</td>\n",
-       "        <td>38000</td>\n",
-       "        <td>False</td>\n",
-       "        <td>-1.09173031656</td>\n",
-       "        <td>False</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>14</td>\n",
-       "        <td>2070</td>\n",
-       "        <td>2</td>\n",
-       "        <td>3.0</td>\n",
-       "        <td>148000</td>\n",
-       "        <td>1550</td>\n",
-       "        <td>14000</td>\n",
-       "        <td>False</td>\n",
-       "        <td>-3.16301875478</td>\n",
-       "        <td>False</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>15</td>\n",
-       "        <td>650</td>\n",
-       "        <td>3</td>\n",
-       "        <td>1.5</td>\n",
-       "        <td>65000</td>\n",
-       "        <td>1450</td>\n",
-       "        <td>12000</td>\n",
-       "        <td>True</td>\n",
-       "        <td>1.00000000486</td>\n",
-       "        <td>True</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, 590, 2, 1.0, 50000, 770, 22100, True, 1.64923454025379, True),\n",
-       " (2, 1050, 3, 2.0, 85000, 1410, 12000, True, 1.34505433446611, True),\n",
-       " (3, 20, 3, 1.0, 22500, 1060, 3500, True, 1.0000000009249, True),\n",
-       " (4, 870, 2, 2.0, 90000, 1300, 17500, True, 1.00000000711647, True),\n",
-       " (5, 1320, 3, 2.0, 133000, 1500, 30000, False, -1.00000001728685, False),\n",
-       " (6, 1350, 2, 1.0, 90500, 820, 25700, True, 1.11113745878827, True),\n",
-       " (7, 2790, 3, 2.5, 260000, 2130, 25000, False, -0.291482790879796, False),\n",
-       " (8, 680, 2, 1.0, 142500, 1170, 22000, False, -1.00000000609094, False),\n",
-       " (9, 1840, 3, 2.0, 160000, 1500, 19000, False, -1.23665846846941, False),\n",
-       " (10, 3680, 4, 2.0, 240000, 2790, 20000, False, -1.09382010610257, False),\n",
-       " (11, 1660, 3, 1.0, 87000, 1030, 17500, True, 1.62636283239171, True),\n",
-       " (12, 1620, 3, 2.0, 118600, 1250, 20000, False, -1.6011681230749, False),\n",
-       " (13, 3100, 3, 2.0, 140000, 1760, 38000, False, -1.09173031656082, False),\n",
-       " (14, 2070, 2, 3.0, 148000, 1550, 14000, False, -3.16301875478316, False),\n",
-       " (15, 650, 3, 1.5, 65000, 1450, 12000, True, 1.00000000486389, True)]"
-      ]
-     },
-     "execution_count": 54,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS houses_pred_gaussian;\n",
-    "\n",
-    "SELECT madlib.svm_predict('houses_svm_gaussian', \n",
-    "                          'houses', \n",
-    "                          'id', \n",
-    "                          'houses_pred_gaussian');\n",
-    "\n",
-    "SELECT *, price < 100000 AS actual FROM houses JOIN houses_pred_gaussian USING (id) ORDER BY id;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Count the miss classifications.  Note this produces a more accurate result than the linear case for this small data set:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 55,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>count</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(0L,)]"
-      ]
-     },
-     "execution_count": 55,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT COUNT(*) FROM houses_pred_gaussian JOIN houses USING (id) \n",
-    "WHERE houses_pred_gaussian.prediction != (houses.price < 100000);"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# 6.   Balancing data sets\n",
-    "In the case of an unbalanced class-size dataset, use the 'balanced' parameter to classify when building the model:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 56,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>coef</th>\n",
-       "        <th>loss</th>\n",
-       "        <th>norm_of_gradient</th>\n",
-       "        <th>num_iterations</th>\n",
-       "        <th>num_rows_processed</th>\n",
-       "        <th>num_rows_skipped</th>\n",
-       "        <th>dep_var_mapping</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[0.891926151039837, 0.169282494673541, -2.26539133689874, 0.526518499596676, -0.900664505989526, 0.508112011288015, -0.355474591147659, 1.23127975981665, 1.53694964239487, 1.46496058633682]</td>\n",
-       "        <td>0.569002744458</td>\n",
-       "        <td>0.989597662459</td>\n",
-       "        <td>183</td>\n",
-       "        <td>15</td>\n",
-       "        <td>0</td>\n",
-       "        <td>[False, True]</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[([0.891926151039837, 0.169282494673541, -2.26539133689874, 0.526518499596676, -0.900664505989526, 0.508112011288015, -0.355474591147659, 1.23127975981665, 1.53694964239487, 1.46496058633682], 0.56900274445785, 0.989597662458527, 183, 15L, 0L, [False, True])]"
-      ]
-     },
-     "execution_count": 56,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS houses_svm_gaussian, houses_svm_gaussian_summary, houses_svm_gaussian_random;\n",
-    "\n",
-    "SELECT madlib.svm_classification( 'houses',\n",
-    "                                  'houses_svm_gaussian',\n",
-    "                                  'price < 150000',\n",
-    "                                  'ARRAY[1, tax, bath, size]',\n",
-    "                                  'gaussian',\n",
-    "                                  'n_components=10',\n",
-    "                                  '',\n",
-    "                                  'init_stepsize=1, max_iter=200, class_weight=balanced'\n",
-    "                           );\n",
-    "\n",
-    "SELECT * FROM houses_svm_gaussian;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# Regression\n",
-    "# 1. Create input data set\n",
-    "For regression we use part of the well known abalone data set https://archive.ics.uci.edu/ml/datasets/abalone :"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 5,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "Done.\n",
-      "20 rows affected.\n",
-      "20 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>id</th>\n",
-       "        <th>sex</th>\n",
-       "        <th>length</th>\n",
-       "        <th>diameter</th>\n",
-       "        <th>height</th>\n",
-       "        <th>rings</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>M</td>\n",
-       "        <td>0.455</td>\n",
-       "        <td>0.365</td>\n",
-       "        <td>0.095</td>\n",
-       "        <td>15</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>M</td>\n",
-       "        <td>0.35</td>\n",
-       "        <td>0.265</td>\n",
-       "        <td>0.09</td>\n",
-       "        <td>7</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>F</td>\n",
-       "        <td>0.53</td>\n",
-       "        <td>0.42</td>\n",
-       "        <td>0.135</td>\n",
-       "        <td>9</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>4</td>\n",
-       "        <td>M</td>\n",
-       "        <td>0.44</td>\n",
-       "        <td>0.365</td>\n",
-       "        <td>0.125</td>\n",
-       "        <td>10</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>5</td>\n",
-       "        <td>I</td>\n",
-       "        <td>0.33</td>\n",
-       "        <td>0.255</td>\n",
-       "        <td>0.08</td>\n",
-       "        <td>7</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>6</td>\n",
-       "        <td>I</td>\n",
-       "        <td>0.425</td>\n",
-       "        <td>0.3</td>\n",
-       "        <td>0.095</td>\n",
-       "        <td>8</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>7</td>\n",
-       "        <td>F</td>\n",
-       "        <td>0.53</td>\n",
-       "        <td>0.415</td>\n",
-       "        <td>0.15</td>\n",
-       "        <td>20</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>8</td>\n",
-       "        <td>F</td>\n",
-       "        <td>0.545</td>\n",
-       "        <td>0.425</td>\n",
-       "        <td>0.125</td>\n",
-       "        <td>16</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>9</td>\n",
-       "        <td>M</td>\n",
-       "        <td>0.475</td>\n",
-       "        <td>0.37</td>\n",
-       "        <td>0.125</td>\n",
-       "        <td>9</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>10</td>\n",
-       "        <td>F</td>\n",
-       "        <td>0.55</td>\n",
-       "        <td>0.44</td>\n",
-       "        <td>0.15</td>\n",
-       "        <td>19</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>11</td>\n",
-       "        <td>F</td>\n",
-       "        <td>0.525</td>\n",
-       "        <td>0.38</td>\n",
-       "        <td>0.14</td>\n",
-       "        <td>14</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>12</td>\n",
-       "        <td>M</td>\n",
-       "        <td>0.43</td>\n",
-       "        <td>0.35</td>\n",
-       "        <td>0.11</td>\n",
-       "        <td>10</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>13</td>\n",
-       "        <td>M</td>\n",
-       "        <td>0.49</td>\n",
-       "        <td>0.38</td>\n",
-       "        <td>0.135</td>\n",
-       "        <td>11</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>14</td>\n",
-       "        <td>F</td>\n",
-       "        <td>0.535</td>\n",
-       "        <td>0.405</td>\n",
-       "        <td>0.145</td>\n",
-       "        <td>10</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>15</td>\n",
-       "        <td>F</td>\n",
-       "        <td>0.47</td>\n",
-       "        <td>0.355</td>\n",
-       "        <td>0.1</td>\n",
-       "        <td>10</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>16</td>\n",
-       "        <td>M</td>\n",
-       "        <td>0.5</td>\n",
-       "        <td>0.4</td>\n",
-       "        <td>0.13</td>\n",
-       "        <td>12</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>17</td>\n",
-       "        <td>I</td>\n",
-       "        <td>0.355</td>\n",
-       "        <td>0.28</td>\n",
-       "        <td>0.085</td>\n",
-       "        <td>7</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>18</td>\n",
-       "        <td>F</td>\n",
-       "        <td>0.44</td>\n",
-       "        <td>0.34</td>\n",
-       "        <td>0.1</td>\n",
-       "        <td>10</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>19</td>\n",
-       "        <td>M</td>\n",
-       "        <td>0.365</td>\n",
-       "        <td>0.295</td>\n",
-       "        <td>0.08</td>\n",
-       "        <td>7</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>20</td>\n",
-       "        <td>M</td>\n",
-       "        <td>0.45</td>\n",
-       "        <td>0.32</td>\n",
-       "        <td>0.1</td>\n",
-       "        <td>9</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, u'M', 0.455, 0.365, 0.095, 15),\n",
-       " (2, u'M', 0.35, 0.265, 0.09, 7),\n",
-       " (3, u'F', 0.53, 0.42, 0.135, 9),\n",
-       " (4, u'M', 0.44, 0.365, 0.125, 10),\n",
-       " (5, u'I', 0.33, 0.255, 0.08, 7),\n",
-       " (6, u'I', 0.425, 0.3, 0.095, 8),\n",
-       " (7, u'F', 0.53, 0.415, 0.15, 20),\n",
-       " (8, u'F', 0.545, 0.425, 0.125, 16),\n",
-       " (9, u'M', 0.475, 0.37, 0.125, 9),\n",
-       " (10, u'F', 0.55, 0.44, 0.15, 19),\n",
-       " (11, u'F', 0.525, 0.38, 0.14, 14),\n",
-       " (12, u'M', 0.43, 0.35, 0.11, 10),\n",
-       " (13, u'M', 0.49, 0.38, 0.135, 11),\n",
-       " (14, u'F', 0.535, 0.405, 0.145, 10),\n",
-       " (15, u'F', 0.47, 0.355, 0.1, 10),\n",
-       " (16, u'M', 0.5, 0.4, 0.13, 12),\n",
-       " (17, u'I', 0.355, 0.28, 0.085, 7),\n",
-       " (18, u'F', 0.44, 0.34, 0.1, 10),\n",
-       " (19, u'M', 0.365, 0.295, 0.08, 7),\n",
-       " (20, u'M', 0.45, 0.32, 0.1, 9)]"
-      ]
-     },
-     "execution_count": 5,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS abalone;\n",
-    "\n",
-    "CREATE TABLE abalone (id INT, sex TEXT, length FLOAT, diameter FLOAT, height FLOAT, rings INT);\n",
-    "\n",
-    "INSERT INTO abalone VALUES\n",
-    "(1,'M',0.455,0.365,0.095,15),\n",
-    "(2,'M',0.35,0.265,0.09,7),\n",
-    "(3,'F',0.53,0.42,0.135,9),\n",
-    "(4,'M',0.44,0.365,0.125,10),\n",
-    "(5,'I',0.33,0.255,0.08,7),\n",
-    "(6,'I',0.425,0.3,0.095,8),\n",
-    "(7,'F',0.53,0.415,0.15,20),\n",
-    "(8,'F',0.545,0.425,0.125,16),\n",
-    "(9,'M',0.475,0.37,0.125,9),\n",
-    "(10,'F',0.55,0.44,0.15,19),\n",
-    "(11,'F',0.525,0.38,0.14,14),\n",
-    "(12,'M',0.43,0.35,0.11,10),\n",
-    "(13,'M',0.49,0.38,0.135,11),\n",
-    "(14,'F',0.535,0.405,0.145,10),\n",
-    "(15,'F',0.47,0.355,0.1,10),\n",
-    "(16,'M',0.5,0.4,0.13,12),\n",
-    "(17,'I',0.355,0.28,0.085,7),\n",
-    "(18,'F',0.44,0.34,0.1,10),\n",
-    "(19,'M',0.365,0.295,0.08,7),\n",
-    "(20,'M',0.45,0.32,0.1,9);\n",
-    "\n",
-    "SELECT * FROM abalone ORDER BY id;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# 2. Train linear regression model"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 58,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>coef</th>\n",
-       "        <th>loss</th>\n",
-       "        <th>norm_of_gradient</th>\n",
-       "        <th>num_iterations</th>\n",
-       "        <th>num_rows_processed</th>\n",
-       "        <th>num_rows_skipped</th>\n",
-       "        <th>dep_var_mapping</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[1.998949892503, 0.918517478913099, 0.712125856084095, 0.229379472956877]</td>\n",
-       "        <td>8.29033295818</td>\n",
-       "        <td>23.2251777858</td>\n",
-       "        <td>100</td>\n",
-       "        <td>20</td>\n",
-       "        <td>0</td>\n",
-       "        <td>[None]</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[([1.998949892503, 0.918517478913099, 0.712125856084095, 0.229379472956877], 8.29033295818392, 23.225177785827, 100, 20L, 0L, [None])]"
-      ]
-     },
-     "execution_count": 58,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS abalone_svm_regression, abalone_svm_regression_summary;\n",
-    "\n",
-    "SELECT madlib.svm_regression('abalone',\n",
-    "                             'abalone_svm_regression',\n",
-    "                             'rings',\n",
-    "                             'ARRAY[1, length, diameter, height]'\n",
-    "                           );\n",
-    "\n",
-    "SELECT * FROM abalone_svm_regression;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# 3. Predict using linear model"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 59,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "20 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>id</th>\n",
-       "        <th>sex</th>\n",
-       "        <th>length</th>\n",
-       "        <th>diameter</th>\n",
-       "        <th>height</th>\n",
-       "        <th>rings</th>\n",
-       "        <th>prediction</th>\n",
-       "        <th>decision_function</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>M</td>\n",
-       "        <td>0.455</td>\n",
-       "        <td>0.365</td>\n",
-       "        <td>0.095</td>\n",
-       "        <td>15</td>\n",
-       "        <td>2.69859233281</td>\n",
-       "        <td>2.69859233281</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>M</td>\n",
-       "        <td>0.35</td>\n",
-       "        <td>0.265</td>\n",
-       "        <td>0.09</td>\n",
-       "        <td>7</td>\n",
-       "        <td>2.52978851455</td>\n",
-       "        <td>2.52978851455</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>F</td>\n",
-       "        <td>0.53</td>\n",
-       "        <td>0.42</td>\n",
-       "        <td>0.135</td>\n",
-       "        <td>9</td>\n",
-       "        <td>2.81582324473</td>\n",
-       "        <td>2.81582324473</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>4</td>\n",
-       "        <td>M</td>\n",
-       "        <td>0.44</td>\n",
-       "        <td>0.365</td>\n",
-       "        <td>0.125</td>\n",
-       "        <td>10</td>\n",
-       "        <td>2.69169595482</td>\n",
-       "        <td>2.69169595482</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>5</td>\n",
-       "        <td>I</td>\n",
-       "        <td>0.33</td>\n",
-       "        <td>0.255</td>\n",
-       "        <td>0.08</td>\n",
-       "        <td>7</td>\n",
-       "        <td>2.50200311168</td>\n",
-       "        <td>2.50200311168</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>6</td>\n",
-       "        <td>I</td>\n",
-       "        <td>0.425</td>\n",
-       "        <td>0.3</td>\n",
-       "        <td>0.095</td>\n",
-       "        <td>8</td>\n",
-       "        <td>2.6247486278</td>\n",
-       "        <td>2.6247486278</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>7</td>\n",
-       "        <td>F</td>\n",
-       "        <td>0.53</td>\n",
-       "        <td>0.415</td>\n",
-       "        <td>0.15</td>\n",
-       "        <td>20</td>\n",
-       "        <td>2.81570330755</td>\n",
-       "        <td>2.81570330755</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>8</td>\n",
-       "        <td>F</td>\n",
-       "        <td>0.545</td>\n",
-       "        <td>0.425</td>\n",
-       "        <td>0.125</td>\n",
-       "        <td>16</td>\n",
-       "        <td>2.83086784147</td>\n",
-       "        <td>2.83086784147</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>9</td>\n",
-       "        <td>M</td>\n",
-       "        <td>0.475</td>\n",
-       "        <td>0.37</td>\n",
-       "        <td>0.125</td>\n",
-       "        <td>9</td>\n",
-       "        <td>2.72740469586</td>\n",
-       "        <td>2.72740469586</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>10</td>\n",
-       "        <td>F</td>\n",
-       "        <td>0.55</td>\n",
-       "        <td>0.44</td>\n",
-       "        <td>0.15</td>\n",
-       "        <td>19</td>\n",
-       "        <td>2.85187680353</td>\n",
-       "        <td>2.85187680353</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>11</td>\n",
-       "        <td>F</td>\n",
-       "        <td>0.525</td>\n",
-       "        <td>0.38</td>\n",
-       "        <td>0.14</td>\n",
-       "        <td>14</td>\n",
-       "        <td>2.78389252046</td>\n",
-       "        <td>2.78389252046</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>12</td>\n",
-       "        <td>M</td>\n",
-       "        <td>0.43</td>\n",
-       "        <td>0.35</td>\n",
-       "        <td>0.11</td>\n",
-       "        <td>10</td>\n",
-       "        <td>2.66838820009</td>\n",
-       "        <td>2.66838820009</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>13</td>\n",
-       "        <td>M</td>\n",
-       "        <td>0.49</td>\n",
-       "        <td>0.38</td>\n",
-       "        <td>0.135</td>\n",
-       "        <td>11</td>\n",
-       "        <td>2.75059751133</td>\n",
-       "        <td>2.75059751133</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>14</td>\n",
-       "        <td>F</td>\n",
-       "        <td>0.535</td>\n",
-       "        <td>0.405</td>\n",
-       "        <td>0.145</td>\n",
-       "        <td>10</td>\n",
-       "        <td>2.81202773901</td>\n",
-       "        <td>2.81202773901</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>15</td>\n",
-       "        <td>F</td>\n",
-       "        <td>0.47</td>\n",
-       "        <td>0.355</td>\n",
-       "        <td>0.1</td>\n",
-       "        <td>10</td>\n",
-       "        <td>2.7063957338</td>\n",
-       "        <td>2.7063957338</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>16</td>\n",
-       "        <td>M</td>\n",
-       "        <td>0.5</td>\n",
-       "        <td>0.4</td>\n",
-       "        <td>0.13</td>\n",
-       "        <td>12</td>\n",
-       "        <td>2.77287830588</td>\n",
-       "        <td>2.77287830588</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>17</td>\n",
-       "        <td>I</td>\n",
-       "        <td>0.355</td>\n",
-       "        <td>0.28</td>\n",
-       "        <td>0.085</td>\n",
-       "        <td>7</td>\n",
-       "        <td>2.54391609242</td>\n",
-       "        <td>2.54391609242</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>18</td>\n",
-       "        <td>F</td>\n",
-       "        <td>0.44</td>\n",
-       "        <td>0.34</td>\n",
-       "        <td>0.1</td>\n",
-       "        <td>10</td>\n",
-       "        <td>2.66815832159</td>\n",
-       "        <td>2.66815832159</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>19</td>\n",
-       "        <td>M</td>\n",
-       "        <td>0.365</td>\n",
-       "        <td>0.295</td>\n",
-       "        <td>0.08</td>\n",
-       "        <td>7</td>\n",
-       "        <td>2.56263625769</td>\n",
-       "        <td>2.56263625769</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>20</td>\n",
-       "        <td>M</td>\n",
-       "        <td>0.45</td>\n",
-       "        <td>0.32</td>\n",
-       "        <td>0.1</td>\n",
-       "        <td>9</td>\n",
-       "        <td>2.66310097926</td>\n",
-       "        <td>2.66310097926</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, u'M', 0.455, 0.365, 0.095, 15, 2.69859233281006, 2.69859233281006),\n",
-       " (2, u'M', 0.35, 0.265, 0.09, 7, 2.52978851455099, 2.52978851455099),\n",
-       " (3, u'F', 0.53, 0.42, 0.135, 9, 2.81582324473145, 2.81582324473145),\n",
-       " (4, u'M', 0.44, 0.365, 0.125, 10, 2.69169595481507, 2.69169595481507),\n",
-       " (5, u'I', 0.33, 0.255, 0.08, 7, 2.50200311168232, 2.50200311168232),\n",
-       " (6, u'I', 0.425, 0.3, 0.095, 8, 2.6247486277972, 2.6247486277972),\n",
-       " (7, u'F', 0.53, 0.415, 0.15, 20, 2.81570330754538, 2.81570330754538),\n",
-       " (8, u'F', 0.545, 0.425, 0.125, 16, 2.83086784146599, 2.83086784146599),\n",
-       " (9, u'M', 0.475, 0.37, 0.125, 9, 2.72740469585745, 2.72740469585745),\n",
-       " (10, u'F', 0.55, 0.44, 0.15, 19, 2.85187680352574, 2.85187680352574),\n",
-       " (11, u'F', 0.525, 0.38, 0.14, 14, 2.7838925204583, 2.7838925204583),\n",
-       " (12, u'M', 0.43, 0.35, 0.11, 10, 2.66838820009033, 2.66838820009033),\n",
-       " (13, u'M', 0.49, 0.38, 0.135, 11, 2.75059751133156, 2.75059751133156),\n",
-       " (14, u'F', 0.535, 0.405, 0.145, 10, 2.81202773901432, 2.81202773901432),\n",
-       " (15, u'F', 0.47, 0.355, 0.1, 10, 2.7063957337977, 2.7063957337977),\n",
-       " (16, u'M', 0.5, 0.4, 0.13, 12, 2.77287830587759, 2.77287830587759),\n",
-       " (17, u'I', 0.355, 0.28, 0.085, 7, 2.54391609242204, 2.54391609242204),\n",
-       " (18, u'F', 0.44, 0.34, 0.1, 10, 2.66815832158905, 2.66815832158905),\n",
-       " (19, u'M', 0.365, 0.295, 0.08, 7, 2.56263625768764, 2.56263625768764),\n",
-       " (20, u'M', 0.45, 0.32, 0.1, 9, 2.6631009792565, 2.6631009792565)]"
-      ]
-     },
-     "execution_count": 59,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS abalone_regr;\n",
-    "\n",
-    "SELECT madlib.svm_predict('abalone_svm_regression',\n",
-    "                          'abalone', \n",
-    "                          'id', \n",
-    "                          'abalone_regr');\n",
-    "\n",
-    "SELECT * FROM abalone JOIN abalone_regr USING (id) ORDER BY id;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "RMS error:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 60,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>rms_error</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>9.08842725553</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(9.08842725552861,)]"
-      ]
-     },
-     "execution_count": 60,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT SQRT(AVG((rings-prediction)*(rings-prediction))) as rms_error FROM abalone \n",
-    "JOIN abalone_regr USING (id);"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# 4. Train using Gaussian model"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 61,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>coef</th>\n",
-       "        <th>loss</th>\n",
-       "        <th>norm_of_gradient</th>\n",
-       "        <th>num_iterations</th>\n",
-       "        <th>num_rows_processed</th>\n",
-       "        <th>num_rows_skipped</th>\n",
-       "        <th>dep_var_mapping</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[4.49016341280977, 2.19062972461334, -2.04673653356154, 1.11216153651262, 2.83478599238881, -4.23122821845785, 4.17684533744501, -5.36892552740644, 0.775782561685621, -3.62606941016707]</td>\n",
-       "        <td>2.66850539542</td>\n",
-       "        <td>0.974400795364</td>\n",
-       "        <td>163</td>\n",
-       "        <td>20</td>\n",
-       "        <td>0</td>\n",
-       "        <td>[None]</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[([4.49016341280977, 2.19062972461334, -2.04673653356154, 1.11216153651262, 2.83478599238881, -4.23122821845785, 4.17684533744501, -5.36892552740644, 0.775782561685621, -3.62606941016707], 2.66850539541894, 0.97440079536379, 163, 20L, 0L, [None])]"
-      ]
-     },
-     "execution_count": 61,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS abalone_svm_gaussian_regression, abalone_svm_gaussian_regression_summary, abalone_svm_gaussian_regression_random;\n",
-    "\n",
-    "SELECT madlib.svm_regression( 'abalone',\n",
-    "                              'abalone_svm_gaussian_regression',\n",
-    "                              'rings',\n",
-    "                              'ARRAY[1, length, diameter, height]',\n",
-    "                              'gaussian',\n",
-    "                              'n_components=10',\n",
-    "                              '',\n",
-    "                              'init_stepsize=1, max_iter=200'\n",
-    "                           );\n",
-    "\n",
-    "SELECT * FROM abalone_svm_gaussian_regression;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# 5. Predict using Gaussian model"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 6,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "20 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>id</th>\n",
-       "        <th>sex</th>\n",
-       "        <th>length</th>\n",
-       "        <th>diameter</th>\n",
-       "        <th>height</th>\n",
-       "        <th>rings</th>\n",
-       "        <th>prediction</th>\n",
-       "        <th>decision_function</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>M</td>\n",
-       "        <td>0.455</td>\n",
-       "        <td>0.365</td>\n",
-       "        <td>0.095</td>\n",
-       "        <td>15</td>\n",
-       "        <td>9.9302009808</td>\n",
-       "        <td>9.9302009808</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>M</td>\n",
-       "        <td>0.35</td>\n",
-       "        <td>0.265</td>\n",
-       "        <td>0.09</td>\n",
-       "        <td>7</td>\n",
-       "        <td>9.87712610207</td>\n",
-       "        <td>9.87712610207</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>F</td>\n",
-       "        <td>0.53</td>\n",
-       "        <td>0.42</td>\n",
-       "        <td>0.135</td>\n",
-       "        <td>9</td>\n",
-       "        <td>10.0459812729</td>\n",
-       "        <td>10.0459812729</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>4</td>\n",
-       "        <td>M</td>\n",
-       "        <td>0.44</td>\n",
-       "        <td>0.365</td>\n",
-       "        <td>0.125</td>\n",
-       "        <td>10</td>\n",
-       "        <td>10.018415777</td>\n",
-       "        <td>10.018415777</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>5</td>\n",
-       "        <td>I</td>\n",
-       "        <td>0.33</td>\n",
-       "        <td>0.255</td>\n",
-       "        <td>0.08</td>\n",
-       "        <td>7</td>\n",
-       "        <td>9.81382643977</td>\n",
-       "        <td>9.81382643977</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>6</td>\n",
-       "        <td>I</td>\n",
-       "        <td>0.425</td>\n",
-       "        <td>0.3</td>\n",
-       "        <td>0.095</td>\n",
-       "        <td>8</td>\n",
-       "        <td>9.973725783</td>\n",
-       "        <td>9.973725783</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>7</td>\n",
-       "        <td>F</td>\n",
-       "        <td>0.53</td>\n",
-       "        <td>0.415</td>\n",
-       "        <td>0.15</td>\n",
-       "        <td>20</td>\n",
-       "        <td>10.1032556038</td>\n",
-       "        <td>10.1032556038</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>8</td>\n",
-       "        <td>F</td>\n",
-       "        <td>0.545</td>\n",
-       "        <td>0.425</td>\n",
-       "        <td>0.125</td>\n",
-       "        <td>16</td>\n",
-       "        <td>10.0140320794</td>\n",
-       "        <td>10.0140320794</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>9</td>\n",
-       "        <td>M</td>\n",
-       "        <td>0.475</td>\n",
-       "        <td>0.37</td>\n",
-       "        <td>0.125</td>\n",
-       "        <td>9</td>\n",
-       "        <td>10.0478657373</td>\n",
-       "        <td>10.0478657373</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>10</td>\n",
-       "        <td>F</td>\n",
-       "        <td>0.55</td>\n",
-       "        <td>0.44</td>\n",
-       "        <td>0.15</td>\n",
-       "        <td>19</td>\n",
-       "        <td>10.0698224494</td>\n",
-       "        <td>10.0698224494</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>11</td>\n",
-       "        <td>F</td>\n",
-       "        <td>0.525</td>\n",
-       "        <td>0.38</td>\n",
-       "        <td>0.14</td>\n",
-       "        <td>14</td>\n",
-       "        <td>10.1259635318</td>\n",
-       "        <td>10.1259635318</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>12</td>\n",
-       "        <td>M</td>\n",
-       "        <td>0.43</td>\n",
-       "        <td>0.35</td>\n",
-       "        <td>0.11</td>\n",
-       "        <td>10</td>\n",
-       "        <td>9.97481060063</td>\n",
-       "        <td>9.97481060063</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>13</td>\n",
-       "        <td>M</td>\n",
-       "        <td>0.49</td>\n",
-       "        <td>0.38</td>\n",
-       "        <td>0.135</td>\n",
-       "        <td>11</td>\n",
-       "        <td>10.0805427887</td>\n",
-       "        <td>10.0805427887</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>14</td>\n",
-       "        <td>F</td>\n",
-       "        <td>0.535</td>\n",
-       "        <td>0.405</td>\n",
-       "        <td>0.145</td>\n",
-       "        <td>10</td>\n",
-       "        <td>10.107947317</td>\n",
-       "        <td>10.107947317</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>15</td>\n",
-       "        <td>F</td>\n",
-       "        <td>0.47</td>\n",
-       "        <td>0.355</td>\n",
-       "        <td>0.1</td>\n",
-       "        <td>10</td>\n",
-       "        <td>9.97781238334</td>\n",
-       "        <td>9.97781238334</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>16</td>\n",
-       "        <td>M</td>\n",
-       "        <td>0.5</td>\n",
-       "        <td>0.4</td>\n",
-       "        <td>0.13</td>\n",
-       "        <td>12</td>\n",
-       "        <td>10.0409088715</td>\n",
-       "        <td>10.0409088715</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>17</td>\n",
-       "        <td>I</td>\n",
-       "        <td>0.355</td>\n",
-       "        <td>0.28</td>\n",
-       "        <td>0.085</td>\n",
-       "        <td>7</td>\n",
-       "        <td>9.8548093316</td>\n",
-       "        <td>9.8548093316</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>18</td>\n",
-       "        <td>F</td>\n",
-       "        <td>0.44</td>\n",
-       "        <td>0.34</td>\n",
-       "        <td>0.1</td>\n",
-       "        <td>10</td>\n",
-       "        <td>9.96407219215</td>\n",
-       "        <td>9.96407219215</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>19</td>\n",
-       "        <td>M</td>\n",
-       "        <td>0.365</td>\n",
-       "        <td>0.295</td>\n",
-       "        <td>0.08</td>\n",
-       "        <td>7</td>\n",
-       "        <td>9.83873423654</td>\n",
-       "        <td>9.83873423654</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>20</td>\n",
-       "        <td>M</td>\n",
-       "        <td>0.45</td>\n",
-       "        <td>0.32</td>\n",
-       "        <td>0.1</td>\n",
-       "        <td>9</td>\n",
-       "        <td>10.0003544239</td>\n",
-       "        <td>10.0003544239</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, u'M', 0.455, 0.365, 0.095, 15, 9.93020098079582, 9.93020098079582),\n",
-       " (2, u'M', 0.35, 0.265, 0.09, 7, 9.87712610207203, 9.87712610207203),\n",
-       " (3, u'F', 0.53, 0.42, 0.135, 9, 10.045981272917, 10.045981272917),\n",
-       " (4, u'M', 0.44, 0.365, 0.125, 10, 10.0184157770077, 10.0184157770077),\n",
-       " (5, u'I', 0.33, 0.255, 0.08, 7, 9.81382643976989, 9.81382643976989),\n",
-       " (6, u'I', 0.425, 0.3, 0.095, 8, 9.97372578299521, 9.97372578299521),\n",
-       " (7, u'F', 0.53, 0.415, 0.15, 20, 10.1032556037805, 10.1032556037805),\n",
-       " (8, u'F', 0.545, 0.425, 0.125, 16, 10.0140320794144, 10.0140320794144),\n",
-       " (9, u'M', 0.475, 0.37, 0.125, 9, 10.0478657373155, 10.0478657373155),\n",
-       " (10, u'F', 0.55, 0.44, 0.15, 19, 10.0698224493735, 10.0698224493735),\n",
-       " (11, u'F', 0.525, 0.38, 0.14, 14, 10.1259635317559, 10.1259635317559),\n",
-       " (12, u'M', 0.43, 0.35, 0.11, 10, 9.97481060062509, 9.97481060062509),\n",
-       " (13, u'M', 0.49, 0.38, 0.135, 11, 10.0805427887436, 10.0805427887436),\n",
-       " (14, u'F', 0.535, 0.405, 0.145, 10, 10.107947317027, 10.107947317027),\n",
-       " (15, u'F', 0.47, 0.355, 0.1, 10, 9.97781238333585, 9.97781238333585),\n",
-       " (16, u'M', 0.5, 0.4, 0.13, 12, 10.0409088715201, 10.0409088715201),\n",
-       " (17, u'I', 0.355, 0.28, 0.085, 7, 9.85480933160473, 9.85480933160473),\n",
-       " (18, u'F', 0.44, 0.34, 0.1, 10, 9.96407219215287, 9.96407219215287),\n",
-       " (19, u'M', 0.365, 0.295, 0.08, 7, 9.83873423654298, 9.83873423654298),\n",
-       " (20, u'M', 0.45, 0.32, 0.1, 9, 10.0003544238551, 10.0003544238551)]"
-      ]
-     },
-     "execution_count": 6,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS abalone_gaussian_regr;\n",
-    "\n",
-    "SELECT madlib.svm_predict('abalone_svm_gaussian_regression', \n",
-    "                          'abalone', \n",
-    "                          'id', \n",
-    "                          'abalone_gaussian_regr');\n",
-    "\n",
-    "SELECT * FROM abalone JOIN abalone_gaussian_regr USING (id) ORDER BY id;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Compute the RMS error.  Note this produces a more accurate result than the linear case for this small data set:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 63,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>rms_error</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3.84176368344</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(3.84176368343915,)]"
-      ]
-     },
-     "execution_count": 63,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT SQRT(AVG((rings-prediction)*(rings-prediction))) as rms_error FROM abalone \n",
-    "JOIN abalone_gaussian_regr USING (id);"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# 6. Cross validation\n",
-    "Let's run cross validation for different initial step sizes and lambda values:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 7,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>coef</th>\n",
-       "        <th>loss</th>\n",
-       "        <th>norm_of_gradient</th>\n",
-       "        <th>num_iterations</th>\n",
-       "        <th>num_rows_processed</th>\n",
-       "        <th>num_rows_skipped</th>\n",
-       "        <th>dep_var_mapping</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[4.49016341280977, 2.19062972461334, -2.04673653356154, 1.11216153651262, 2.83478599238881, -4.23122821845785, 4.17684533744501, -5.36892552740644, 0.775782561685621, -3.62606941016707]</td>\n",
-       "        <td>2.63941855054</td>\n",
-       "        <td>1.07622244533</td>\n",
-       "        <td>163</td>\n",
-       "        <td>20</td>\n",
-       "        <td>0</td>\n",
-       "        <td>[None]</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[([4.49016341280977, 2.19062972461334, -2.04673653356154, 1.11216153651262, 2.83478599238881, -4.23122821845785, 4.17684533744501, -5.36892552740644, 0.775782561685621, -3.62606941016707], 2.63941855054256, 1.07622244533275, 163, 20L, 0L, [None])]"
-      ]
-     },
-     "execution_count": 7,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS abalone_svm_gaussian_regression, abalone_svm_gaussian_regression_summary, \n",
-    "abalone_svm_gaussian_regression_random, abalone_svm_gaussian_regression_cv;\n",
-    "\n",
-    "SELECT madlib.svm_regression( 'abalone',\n",
-    "                              'abalone_svm_gaussian_regression',\n",
-    "                              'rings',\n",
-    "                              'ARRAY[1, length, diameter, height]',\n",
-    "                              'gaussian',\n",
-    "                              'n_components=10',\n",
-    "                              '',\n",
-    "                              'init_stepsize=[0.01,1], n_folds=3, max_iter=200, lambda=[0.01, 0.1, 0.5], validation_result=abalone_svm_gaussian_regression_cv'\n",
-    "                           );\n",
-    "\n",
-    "SELECT * FROM abalone_svm_gaussian_regression;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "View the summary table showing the final model parameters are those that produced \n",
-    "the lowest error in the cross validation runs:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 65,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>method</th>\n",
-       "        <th>version_number</th>\n",
-       "        <th>source_table</th>\n",
-       "        <th>model_table</th>\n",
-       "        <th>dependent_varname</th>\n",
-       "        <th>independent_varname</th>\n",
-       "        <th>kernel_func</th>\n",
-       "        <th>kernel_params</th>\n",
-       "        <th>grouping_col</th>\n",
-       "        <th>optim_params</th>\n",
-       "        <th>reg_params</th>\n",
-       "        <th>num_all_groups</th>\n",
-       "        <th>num_failed_groups</th>\n",
-       "        <th>total_rows_processed</th>\n",
-       "        <th>total_rows_skipped</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>SVR</td>\n",
-       "        <td>1.15-dev</td>\n",
-       "        <td>abalone</td>\n",
-       "        <td>abalone_svm_gaussian_regression</td>\n",
-       "        <td>rings</td>\n",
-       "        <td>ARRAY[1, length, diameter, height]</td>\n",
-       "        <td>gaussian</td>\n",
-       "        <td>gamma=0.25, n_components=10,random_state=1, fit_intercept=False, fit_in_memory=True</td>\n",
-       "        <td>NULL</td>\n",
-       "        <td> init_stepsize=1.0,<br>                   decay_factor=0.9,<br>                   max_iter=200,<br>                   tolerance=1e-10,<br>                   epsilon=0.01,<br>                   eps_table=,<br>                   class_weight=<br>                </td>\n",
-       "        <td>lambda=0.01, norm=l2, n_folds=3</td>\n",
-       "        <td>1</td>\n",
-       "        <td>0</td>\n",
-       "        <td>20</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'SVR', u'1.15-dev', u'abalone', u'abalone_svm_gaussian_regression', u'rings', u'ARRAY[1, length, diameter, height]', u'gaussian', u'gamma=0.25, n_components=10,random_state=1, fit_intercept=False, fit_in_memory=True', u'NULL', u' init_stepsize=1.0,\\n                   decay_factor=0.9,\\n                   max_iter=200,\\n                   tolerance=1e-10,\\n                   epsilon=0.01,\\n                   eps_table=,\\n                   class_weight=\\n                ', u'lambda=0.01, norm=l2, n_folds=3', 1, 0, 20L, 0L)]"
-      ]
-     },
-     "execution_count": 65,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%sql SELECT * FROM abalone_svm_gaussian_regression_summary;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "View the values for cross validation:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 8,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "6 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>init_stepsize</th>\n",
-       "        <th>lambda</th>\n",
-       "        <th>mean_score</th>\n",
-       "        <th>std_dev_score</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1.0</td>\n",
-       "        <td>0.01</td>\n",
-       "        <td>-4.06711568585</td>\n",
-       "        <td>0.435966381366</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1.0</td>\n",
-       "        <td>0.1</td>\n",
-       "        <td>-4.08068428345</td>\n",
-       "        <td>0.44660797513</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1.0</td>\n",
-       "        <td>0.5</td>\n",
-       "        <td>-4.52576046087</td>\n",
-       "        <td>0.20597876382</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0.01</td>\n",
-       "        <td>0.01</td>\n",
-       "        <td>-11.0231044189</td>\n",
-       "        <td>0.739956548721</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0.01</td>\n",
-       "        <td>0.1</td>\n",
-       "        <td>-11.0244799274</td>\n",
-       "        <td>0.740029346709</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0.01</td>\n",
-       "        <td>0.5</td>\n",
-       "        <td>-11.0305445077</td>\n",
-       "        <td>0.740350338532</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(Decimal('1.0'), Decimal('0.01'), Decimal('-4.06711568585'), Decimal('0.435966381366')),\n",
-       " (Decimal('1.0'), Decimal('0.1'), Decimal('-4.08068428345'), Decimal('0.44660797513')),\n",
-       " (Decimal('1.0'), Decimal('0.5'), Decimal('-4.52576046087'), Decimal('0.20597876382')),\n",
-       " (Decimal('0.01'), Decimal('0.01'), Decimal('-11.0231044189'), Decimal('0.739956548721')),\n",
-       " (Decimal('0.01'), Decimal('0.1'), Decimal('-11.0244799274'), Decimal('0.740029346709')),\n",
-       " (Decimal('0.01'), Decimal('0.5'), Decimal('-11.0305445077'), Decimal('0.740350338532'))]"
-      ]
-     },
-     "execution_count": 8,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT * FROM abalone_svm_gaussian_regression_cv;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# 7. Predict using cross-validated Gaussian regression model:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 9,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>svm_predict</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td></td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[('',)]"
-      ]
-     },
-     "execution_count": 9,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS abalone_gaussian_regr;\n",
-    "SELECT madlib.svm_predict('abalone_svm_gaussian_regression', \n",
-    "                          'abalone', \n",
-    "                          'id', \n",
-    "                          'abalone_gaussian_regr');"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Compute the RMS error. Note this produces a more accurate result than the previous run with the Gaussian kernel:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 10,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>rms_error</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3.84176368344</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(3.84176368343915,)]"
-      ]
-     },
-     "execution_count": 10,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT SQRT(AVG((rings-prediction)*(rings-prediction))) as rms_error FROM abalone \n",
-    "JOIN abalone_gaussian_regr USING (id);"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {
-    "collapsed": true
-   },
-   "source": [
-    "# Novelty detection \n",
-    "# 1. Train a non-linear one-class SVM\n",
-    "Use a Gaussian kernel using the housing data set. Note that the dependent variable is not a parameter for one-class:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 11,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>coef</th>\n",
-       "        <th>loss</th>\n",
-       "        <th>norm_of_gradient</th>\n",
-       "        <th>num_iterations</th>\n",
-       "        <th>num_rows_processed</th>\n",
-       "        <th>num_rows_skipped</th>\n",
-       "        <th>dep_var_mapping</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[0.0207901288823711, -0.00103437489314969, 0.00407820868429805, 0.0274910360546609, 0.0105696547048294, -0.00313332466259033, -0.0216703145014011, 0.0363248037825208, -0.0211400498166549, -0.00827402232219555, 0.0265909439934851, 0.0282462482323058, -0.0407407195393746, 0.0191290942177852, -0.00313542082923064, -0.0191740603622109, 0.0143626646548982, -0.0620527674181034, -0.000319831622794402, 0.00388104709972051, 0.00248129433065678, 0.00764915273571186, 0.014492283562898, 0.0184730815984353, -0.00745840880633255, -0.0232208663374367, -0.010724056217189, 0.00541494627043399, 0.0150679846777238, 0.0204022414812525, -0.0294626167089617, -0.00399506510201406, -0.0231139983460727, 0.0242203153309423, -0.0421196963278802, 0.0112202149916885, -0.00720876723524249, 0.0213674589734111, -0.00260107056222295, -0.0130652059444514, 0.0710580616012718, 0.0519822855717347, 0.00961050532247376, 0.0390561950837254, -0.0152620688050253, 0.0100336750737295, 0.0632488712630204, -0.0549714494076944, -0.007684860916257, 0.0322104572263339, -0.00832311210931705, 0.0279669244721609, 0.0455147539995411, -0.0639670005155479, -0.00965055072583972, 0.00648588125681694]</td>\n",
-       "        <td>0.944016313708</td>\n",
-       "        <td>14.5271059047</td>\n",
-       "        <td>100</td>\n",
-       "        <td>16</td>\n",
-       "        <td>-1</td>\n",
-       "        <td>[-1.0, 1.0]</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[([0.0207901288823711, -0.00103437489314969, 0.00407820868429805, 0.0274910360546609, 0.0105696547048294, -0.00313332466259033, -0.0216703145014011, 0.0363248037825208, -0.0211400498166549, -0.00827402232219555, 0.0265909439934851, 0.0282462482323058, -0.0407407195393746, 0.0191290942177852, -0.00313542082923064, -0.0191740603622109, 0.0143626646548982, -0.0620527674181034, -0.000319831622794402, 0.00388104709972051, 0.00248129433065678, 0.00764915273571186, 0.014492283562898, 0.0184730815984353, -0.00745840880633255, -0.0232208663374367, -0.010724056217189, 0.00541494627043399, 0.0150679846777238, 0.0204022414812525, -0.0294626167089617, -0.00399506510201406, -0.0231139983460727, 0.0242203153309423, -0.0421196963278802, 0.0112202149916885, -0.00720876723524249, 0.0213674589734111, -0.00260107056222295, -0.0130652059444514, 0.0710580616012718, 0.0519822855717347, 0.00961050532247376, 0.0390561950837254, -0.0152620688050253, 0.0100336750737295, 0.0632488712630204, -0.0549714494076944, -0.007684860916257, 0.0322104572263339, -0.00832311210931705, 0.0279669244721609, 0.0455147539995411, -0.0639670005155479, -0.00965055072583972, 0.00648588125681694], 0.944016313708205, 14.5271059047443, 100, 16L, -1L, [-1.0, 1.0])]"
-      ]
-     },
-     "execution_count": 11,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS houses_one_class_gaussian, houses_one_class_gaussian_summary, houses_one_class_gaussian_random;\n",
-    "\n",
-    "SELECT madlib.svm_one_class('houses',\n",
-    "                            'houses_one_class_gaussian',\n",
-    "                            'ARRAY[1,tax,bedroom,bath,size,lot,price]',\n",
-    "                            'gaussian',\n",
-    "                            'gamma=0.5,n_components=55, random_state=3',\n",
-    "                            NULL,\n",
-    "                            'max_iter=100, init_stepsize=10,lambda=10, tolerance=0'\n",
-    "                            );\n",
-    "\n",
-    "SELECT * FROM houses_one_class_gaussian;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# 2. Create test data\n",
-    "For the novelty detection using one-class, let's create a test data set using the last 3 values from the training set plus an outlier at the end (10x price):"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 12,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "Done.\n",
-      "4 rows affected.\n",
-      "4 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>id</th>\n",
-       "        <th>tax</th>\n",
-       "        <th>bedroom</th>\n",
-       "        <th>bath</th>\n",
-       "        <th>price</th>\n",
-       "        <th>size</th>\n",
-       "        <th>lot</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>3100</td>\n",
-       "        <td>3</td>\n",
-       "        <td>2.0</td>\n",
-       "        <td>140000</td>\n",
-       "        <td>1760</td>\n",
-       "        <td>38000</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>2070</td>\n",
-       "        <td>2</td>\n",
-       "        <td>3.0</td>\n",
-       "        <td>148000</td>\n",
-       "        <td>1550</td>\n",
-       "        <td>14000</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>650</td>\n",
-       "        <td>3</td>\n",
-       "        <td>1.5</td>\n",
-       "        <td>65000</td>\n",
-       "        <td>1450</td>\n",
-       "        <td>12000</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>4</td>\n",
-       "        <td>650</td>\n",
-       "        <td>3</td>\n",
-       "        <td>1.5</td>\n",
-       "        <td>650000</td>\n",
-       "        <td>1450</td>\n",
-       "        <td>12000</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, 3100, 3, 2.0, 140000, 1760, 38000),\n",
-       " (2, 2070, 2, 3.0, 148000, 1550, 14000),\n",
-       " (3, 650, 3, 1.5, 65000, 1450, 12000),\n",
-       " (4, 650, 3, 1.5, 650000, 1450, 12000)]"
-      ]
-     },
-     "execution_count": 12,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS houses_one_class_test;\n",
-    "\n",
-    "CREATE TABLE houses_one_class_test (id INT, tax INT, bedroom INT, bath FLOAT, price INT,\n",
-    "            size INT, lot INT);\n",
-    "\n",
-    "INSERT INTO houses_one_class_test VALUES   \n",
-    " (1 , 3100 ,       3 ,    2 , 140000 , 1760 , 38000),\n",
-    " (2 , 2070 ,       2 ,    3 , 148000 , 1550 , 14000),\n",
-    " (3 ,  650 ,       3 ,  1.5 ,  65000 , 1450 , 12000),\n",
-    " (4 ,  650 ,       3 ,  1.5 ,  650000 , 1450 , 12000);\n",
-    "      \n",
-    "SELECT * FROM houses_one_class_test ORDER BY id;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# 3. Predict using Gaussian one-class novelty detection model\n",
-    "Result shows the last row predicted to be novel:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 13,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "4 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>id</th>\n",
-       "        <th>tax</th>\n",
-       "        <th>bedroom</th>\n",
-       "        <th>bath</th>\n",
-       "        <th>price</th>\n",
-       "        <th>size</th>\n",
-       "        <th>lot</th>\n",
-       "        <th>prediction</th>\n",
-       "        <th>decision_function</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>3100</td>\n",
-       "        <td>3</td>\n",
-       "        <td>2.0</td>\n",
-       "        <td>140000</td>\n",
-       "        <td>1760</td>\n",
-       "        <td>38000</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>0.0662278474212</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>2070</td>\n",
-       "        <td>2</td>\n",
-       "        <td>3.0</td>\n",
-       "        <td>148000</td>\n",
-       "        <td>1550</td>\n",
-       "        <td>14000</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>0.092124936453</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>650</td>\n",
-       "        <td>3</td>\n",
-       "        <td>1.5</td>\n",
-       "        <td>65000</td>\n",
-       "        <td>1450</td>\n",
-       "        <td>12000</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>0.03415206006</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>4</td>\n",
-       "        <td>650</td>\n",
-       "        <td>3</td>\n",
-       "        <td>1.5</td>\n",
-       "        <td>650000</td>\n",
-       "        <td>1450</td>\n",
-       "        <td>12000</td>\n",
-       "        <td>-1.0</td>\n",
-       "        <td>-0.0131918729845</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, 3100, 3, 2.0, 140000, 1760, 38000, 1.0, 0.066227847421185),\n",
-       " (2, 2070, 2, 3.0, 148000, 1550, 14000, 1.0, 0.0921249364529948),\n",
-       " (3, 650, 3, 1.5, 65000, 1450, 12000, 1.0, 0.0341520600599523),\n",
-       " (4, 650, 3, 1.5, 650000, 1450, 12000, -1.0, -0.0131918729845241)]"
-      ]
-     },
-     "execution_count": 13,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql \n",
-    "DROP TABLE IF EXISTS houses_pred;\n",
-    "\n",
-    "SELECT madlib.svm_predict('houses_one_class_gaussian', \n",
-    "                          'houses_one_class_test', \n",
-    "                          'id', \n",
-    "                          'houses_pred');\n",
-    "\n",
-    "SELECT * FROM houses_one_class_test JOIN houses_pred USING (id) ORDER BY id;"
-   ]
-  }
- ],
- "metadata": {
-  "kernelspec": {
-   "display_name": "Python 2",
-   "language": "python",
-   "name": "python2"
-  },
-  "language_info": {
-   "codemirror_mode": {
-    "name": "ipython",
-    "version": 2
-   },
-   "file_extension": ".py",
-   "mimetype": "text/x-python",
-   "name": "python",
-   "nbconvert_exporter": "python",
-   "pygments_lexer": "ipython2",
-   "version": "2.7.12"
-  }
- },
- "nbformat": 4,
- "nbformat_minor": 1
-}
diff --git a/community-artifacts/Unsupervised-learning/Kmeans-v2.ipynb b/community-artifacts/Unsupervised-learning/Kmeans-v2.ipynb
deleted file mode 100644
index 6d3e40e..0000000
--- a/community-artifacts/Unsupervised-learning/Kmeans-v2.ipynb
+++ /dev/null
@@ -1,1102 +0,0 @@
-{
- "cells": [
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# K-means (MADlib v1.11+)\n",
-    "Demonstrates k-means including new array input in 1.10 and new array unnest function in 1.11."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 30,
-   "metadata": {
-    "collapsed": false
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "The sql extension is already loaded. To reload it, use:\n",
-      "  %reload_ext sql\n"
-     ]
-    }
-   ],
-   "source": [
-    "%load_ext sql"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 31,
-   "metadata": {
-    "collapsed": false
-   },
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "u'Connected: gpdbchina@madlib'"
-      ]
-     },
-     "execution_count": 31,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "# Greenplum 4.3.10.0\n",
-    "%sql postgresql://gpdbchina@10.194.10.68:61000/madlib\n",
-    "        \n",
-    "# PostgreSQL local\n",
-    "#%sql postgresql://fmcquillan@localhost:5432/madlib\n",
-    "\n",
-    "# Greenplum 4.2.3.0\n",
-    "#%sql postgresql://gpdbchina@10.194.10.68:55000/madlib"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 32,
-   "metadata": {
-    "collapsed": false
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>version</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>MADlib version: 1.11-dev, git revision: rel/v1.10.0-26-ga3d54be, cmake configuration time: Thu Apr 27 01:01:30 UTC 2017, build type: Release, build system: Linux-2.6.18-238.27.1.el5.hotfix.bz516490, C compiler: gcc 4.4.0, C++ compiler: g++ 4.4.0</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'MADlib version: 1.11-dev, git revision: rel/v1.10.0-26-ga3d54be, cmake configuration time: Thu Apr 27 01:01:30 UTC 2017, build type: Release, build system: Linux-2.6.18-238.27.1.el5.hotfix.bz516490, C compiler: gcc 4.4.0, C++ compiler: g++ 4.4.0',)]"
-      ]
-     },
-     "execution_count": 32,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%sql select madlib.version();\n",
-    "#%sql select version();"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## 1. Prepare some input data:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 35,
-   "metadata": {
-    "collapsed": false
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "Done.\n",
-      "10 rows affected.\n",
-      "10 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>pid</th>\n",
-       "        <th>points</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>[14.23, 1.71, 2.43, 15.6, 127.0, 2.8, 3.06, 0.28, 2.29, 5.64, 1.04, 3.92, 1065.0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>[13.2, 1.78, 2.14, 11.2, 1.0, 2.65, 2.76, 0.26, 1.28, 4.38, 1.05, 3.49, 1050.0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>[13.16, 2.36, 2.67, 18.6, 101.0, 2.8, 3.24, 0.3, 2.81, 5.6799, 1.03, 3.17, 1185.0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>4</td>\n",
-       "        <td>[14.37, 1.95, 2.5, 16.8, 113.0, 3.85, 3.49, 0.24, 2.18, 7.8, 0.86, 3.45, 1480.0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>5</td>\n",
-       "        <td>[13.24, 2.59, 2.87, 21.0, 118.0, 2.8, 2.69, 0.39, 1.82, 4.32, 1.04, 2.93, 735.0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>6</td>\n",
-       "        <td>[14.2, 1.76, 2.45, 15.2, 112.0, 3.27, 3.39, 0.34, 1.97, 6.75, 1.05, 2.85, 1450.0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>7</td>\n",
-       "        <td>[14.39, 1.87, 2.45, 14.6, 96.0, 2.5, 2.52, 0.3, 1.98, 5.25, 1.02, 3.58, 1290.0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>8</td>\n",
-       "        <td>[14.06, 2.15, 2.61, 17.6, 121.0, 2.6, 2.51, 0.31, 1.25, 5.05, 1.06, 3.58, 1295.0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>9</td>\n",
-       "        <td>[14.83, 1.64, 2.17, 14.0, 97.0, 2.8, 2.98, 0.29, 1.98, 5.2, 1.08, 2.85, 1045.0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>10</td>\n",
-       "        <td>[13.86, 1.35, 2.27, 16.0, 98.0, 2.98, 3.15, 0.22, 1.85, 7.2199, 1.01, 3.55, 1045.0]</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, [14.23, 1.71, 2.43, 15.6, 127.0, 2.8, 3.06, 0.28, 2.29, 5.64, 1.04, 3.92, 1065.0]),\n",
-       " (2, [13.2, 1.78, 2.14, 11.2, 1.0, 2.65, 2.76, 0.26, 1.28, 4.38, 1.05, 3.49, 1050.0]),\n",
-       " (3, [13.16, 2.36, 2.67, 18.6, 101.0, 2.8, 3.24, 0.3, 2.81, 5.6799, 1.03, 3.17, 1185.0]),\n",
-       " (4, [14.37, 1.95, 2.5, 16.8, 113.0, 3.85, 3.49, 0.24, 2.18, 7.8, 0.86, 3.45, 1480.0]),\n",
-       " (5, [13.24, 2.59, 2.87, 21.0, 118.0, 2.8, 2.69, 0.39, 1.82, 4.32, 1.04, 2.93, 735.0]),\n",
-       " (6, [14.2, 1.76, 2.45, 15.2, 112.0, 3.27, 3.39, 0.34, 1.97, 6.75, 1.05, 2.85, 1450.0]),\n",
-       " (7, [14.39, 1.87, 2.45, 14.6, 96.0, 2.5, 2.52, 0.3, 1.98, 5.25, 1.02, 3.58, 1290.0]),\n",
-       " (8, [14.06, 2.15, 2.61, 17.6, 121.0, 2.6, 2.51, 0.31, 1.25, 5.05, 1.06, 3.58, 1295.0]),\n",
-       " (9, [14.83, 1.64, 2.17, 14.0, 97.0, 2.8, 2.98, 0.29, 1.98, 5.2, 1.08, 2.85, 1045.0]),\n",
-       " (10, [13.86, 1.35, 2.27, 16.0, 98.0, 2.98, 3.15, 0.22, 1.85, 7.2199, 1.01, 3.55, 1045.0])]"
-      ]
-     },
-     "execution_count": 35,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS km_sample;\n",
-    "\n",
-    "CREATE TABLE km_sample(pid int, points double precision[]);\n",
-    "\n",
-    "INSERT INTO km_sample VALUES\n",
-    "(1,  '{14.23, 1.71, 2.43, 15.6, 127, 2.8, 3.0600, 0.2800, 2.29, 5.64, 1.04, 3.92, 1065}'),\n",
-    "(2,  '{13.2, 1.78, 2.14, 11.2, 1, 2.65, 2.76, 0.26, 1.28, 4.38, 1.05, 3.49, 1050}'),\n",
-    "(3,  '{13.16, 2.36,  2.67, 18.6, 101, 2.8,  3.24, 0.3, 2.81, 5.6799, 1.03, 3.17, 1185}'),\n",
-    "(4,  '{14.37, 1.95, 2.5, 16.8, 113, 3.85, 3.49, 0.24, 2.18, 7.8, 0.86, 3.45, 1480}'),\n",
-    "(5,  '{13.24, 2.59, 2.87, 21, 118, 2.8, 2.69, 0.39, 1.82, 4.32, 1.04, 2.93, 735}'),\n",
-    "(6,  '{14.2, 1.76, 2.45, 15.2, 112, 3.27, 3.39, 0.34, 1.97, 6.75, 1.05, 2.85, 1450}'),\n",
-    "(7,  '{14.39, 1.87, 2.45, 14.6, 96, 2.5, 2.52, 0.3, 1.98, 5.25, 1.02, 3.58, 1290}'),\n",
-    "(8,  '{14.06, 2.15, 2.61, 17.6, 121, 2.6, 2.51, 0.31, 1.25, 5.05, 1.06, 3.58, 1295}'),\n",
-    "(9,  '{14.83, 1.64, 2.17, 14, 97, 2.8, 2.98, 0.29, 1.98, 5.2, 1.08, 2.85, 1045}'),\n",
-    "(10, '{13.86, 1.35, 2.27, 16, 98, 2.98, 3.15, 0.22, 1.8500, 7.2199, 1.01, 3.55, 1045}');\n",
-    "\n",
-    "SELECT * FROM km_sample ORDER BY pid;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## 2. Run k-means clustering using kmeans++ with centroid seeding:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 23,
-   "metadata": {
-    "collapsed": false
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>centroids</th>\n",
-       "        <th>cluster_variance</th>\n",
-       "        <th>objective_fn</th>\n",
-       "        <th>frac_reassigned</th>\n",
-       "        <th>num_iterations</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>[[13.872, 1.814, 2.376, 15.56, 88.2, 2.806, 2.928, 0.288, 1.844, 5.35198, 1.044, 3.348, 988.0], [14.036, 2.018, 2.536, 16.56, 108.6, 3.004, 3.03, 0.298, 2.038, 6.10598, 1.004, 3.326, 1340.0]]</td>\n",
-       "        <td>[90512.324426408, 60672.638245208]</td>\n",
-       "        <td>151184.962672</td>\n",
-       "        <td>0.0</td>\n",
-       "        <td>2</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[([[13.872, 1.814, 2.376, 15.56, 88.2, 2.806, 2.928, 0.288, 1.844, 5.35198, 1.044, 3.348, 988.0], [14.036, 2.018, 2.536, 16.56, 108.6, 3.004, 3.03, 0.298, 2.038, 6.10598, 1.004, 3.326, 1340.0]], [90512.324426408, 60672.638245208], 151184.962671616, 0.0, 2)]"
-      ]
-     },
-     "execution_count": 23,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS km_result;\n",
-    "\n",
-    "-- Run kmeans algorithm\n",
-    "CREATE TABLE km_result AS\n",
-    "SELECT * FROM madlib.kmeanspp( 'km_sample',   -- Table of source data\n",
-    "                               'points',      -- Column containing point co-ordinates \n",
-    "                               2,             -- Number of centroids to calculate\n",
-    "                               'madlib.squared_dist_norm2',   -- Distance function\n",
-    "                               'madlib.avg',  -- Aggregate function\n",
-    "                               20,            -- Number of iterations\n",
-    "                               0.001          -- Fraction of centroids reassigned to keep iterating \n",
-    "                             );\n",
-    "\n",
-    "SELECT * FROM km_result;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## 3. Calculate the simplified silhouette coefficient:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 24,
-   "metadata": {
-    "collapsed": false
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>simple_silhouette</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0.689788048829</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(0.68978804882941,)]"
-      ]
-     },
-     "execution_count": 24,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT * FROM madlib.simple_silhouette( 'km_sample',          -- Input points table\n",
-    "                                        'points',             -- Column containing points\n",
-    "                                        (SELECT centroids FROM km_result),  -- Centroids\n",
-    "                                        'madlib.dist_norm2'   -- Distance function\n",
-    "                                      );"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## 4. Find the cluster assignment for each point:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 37,
-   "metadata": {
-    "collapsed": false
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "10 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>pid</th>\n",
-       "        <th>points</th>\n",
-       "        <th>cluster_id</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>[14.23, 1.71, 2.43, 15.6, 127.0, 2.8, 3.06, 0.28, 2.29, 5.64, 1.04, 3.92, 1065.0]</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>[13.2, 1.78, 2.14, 11.2, 1.0, 2.65, 2.76, 0.26, 1.28, 4.38, 1.05, 3.49, 1050.0]</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>[13.16, 2.36, 2.67, 18.6, 101.0, 2.8, 3.24, 0.3, 2.81, 5.6799, 1.03, 3.17, 1185.0]</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>4</td>\n",
-       "        <td>[14.37, 1.95, 2.5, 16.8, 113.0, 3.85, 3.49, 0.24, 2.18, 7.8, 0.86, 3.45, 1480.0]</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>5</td>\n",
-       "        <td>[13.24, 2.59, 2.87, 21.0, 118.0, 2.8, 2.69, 0.39, 1.82, 4.32, 1.04, 2.93, 735.0]</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>6</td>\n",
-       "        <td>[14.2, 1.76, 2.45, 15.2, 112.0, 3.27, 3.39, 0.34, 1.97, 6.75, 1.05, 2.85, 1450.0]</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>7</td>\n",
-       "        <td>[14.39, 1.87, 2.45, 14.6, 96.0, 2.5, 2.52, 0.3, 1.98, 5.25, 1.02, 3.58, 1290.0]</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>8</td>\n",
-       "        <td>[14.06, 2.15, 2.61, 17.6, 121.0, 2.6, 2.51, 0.31, 1.25, 5.05, 1.06, 3.58, 1295.0]</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>9</td>\n",
-       "        <td>[14.83, 1.64, 2.17, 14.0, 97.0, 2.8, 2.98, 0.29, 1.98, 5.2, 1.08, 2.85, 1045.0]</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>10</td>\n",
-       "        <td>[13.86, 1.35, 2.27, 16.0, 98.0, 2.98, 3.15, 0.22, 1.85, 7.2199, 1.01, 3.55, 1045.0]</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, [14.23, 1.71, 2.43, 15.6, 127.0, 2.8, 3.06, 0.28, 2.29, 5.64, 1.04, 3.92, 1065.0], 0),\n",
-       " (2, [13.2, 1.78, 2.14, 11.2, 1.0, 2.65, 2.76, 0.26, 1.28, 4.38, 1.05, 3.49, 1050.0], 0),\n",
-       " (3, [13.16, 2.36, 2.67, 18.6, 101.0, 2.8, 3.24, 0.3, 2.81, 5.6799, 1.03, 3.17, 1185.0], 1),\n",
-       " (4, [14.37, 1.95, 2.5, 16.8, 113.0, 3.85, 3.49, 0.24, 2.18, 7.8, 0.86, 3.45, 1480.0], 1),\n",
-       " (5, [13.24, 2.59, 2.87, 21.0, 118.0, 2.8, 2.69, 0.39, 1.82, 4.32, 1.04, 2.93, 735.0], 0),\n",
-       " (6, [14.2, 1.76, 2.45, 15.2, 112.0, 3.27, 3.39, 0.34, 1.97, 6.75, 1.05, 2.85, 1450.0], 1),\n",
-       " (7, [14.39, 1.87, 2.45, 14.6, 96.0, 2.5, 2.52, 0.3, 1.98, 5.25, 1.02, 3.58, 1290.0], 1),\n",
-       " (8, [14.06, 2.15, 2.61, 17.6, 121.0, 2.6, 2.51, 0.31, 1.25, 5.05, 1.06, 3.58, 1295.0], 1),\n",
-       " (9, [14.83, 1.64, 2.17, 14.0, 97.0, 2.8, 2.98, 0.29, 1.98, 5.2, 1.08, 2.85, 1045.0], 0),\n",
-       " (10, [13.86, 1.35, 2.27, 16.0, 98.0, 2.98, 3.15, 0.22, 1.85, 7.2199, 1.01, 3.55, 1045.0], 0)]"
-      ]
-     },
-     "execution_count": 37,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT data.*,  (madlib.closest_column(centroids, points)).column_id as cluster_id\n",
-    "FROM km_sample as data, km_result\n",
-    "ORDER BY data.pid;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## 5. Unnest the cluster centroids 2-D array to get a set of 1-D centroid arrays"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 40,
-   "metadata": {
-    "collapsed": false
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "2 rows affected.\n",
-      "2 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>unnest_row_id</th>\n",
-       "        <th>unnest_result</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>[13.872, 1.814, 2.376, 15.56, 88.2, 2.806, 2.928, 0.288, 1.844, 5.35198, 1.044, 3.348, 988.0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>[14.036, 2.018, 2.536, 16.56, 108.6, 3.004, 3.03, 0.298, 2.038, 6.10598, 1.004, 3.326, 1340.0]</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, [13.872, 1.814, 2.376, 15.56, 88.2, 2.806, 2.928, 0.288, 1.844, 5.35198, 1.044, 3.348, 988.0]),\n",
-       " (2, [14.036, 2.018, 2.536, 16.56, 108.6, 3.004, 3.03, 0.298, 2.038, 6.10598, 1.004, 3.326, 1340.0])]"
-      ]
-     },
-     "execution_count": 40,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS km_centroids_unnest;\n",
-    "\n",
-    "-- Run unnest function\n",
-    "CREATE TABLE km_centroids_unnest AS\n",
-    "SELECT (madlib.array_unnest_2d_to_1d(centroids)).*\n",
-    "FROM km_result;\n",
-    "\n",
-    "SELECT * FROM km_centroids_unnest ORDER BY 1;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Note that the ID column returned by array_unnest_2d_to_1d() is not the same as the cluster ID assigned by k-means. See below to display the cluster IDs."
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## 6.  Display cluster ID\n",
-    "Create cluster IDs for 1-D centroid arrays so that cluster ID for any centroid can be matched to the cluster assignment for the data points:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 39,
-   "metadata": {
-    "collapsed": false
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "2 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>unnest_row_id</th>\n",
-       "        <th>unnest_result</th>\n",
-       "        <th>cluster_id</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>[13.872, 1.814, 2.376, 15.56, 88.2, 2.806, 2.928, 0.288, 1.844, 5.35198, 1.044, 3.348, 988.0]</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>[14.036, 2.018, 2.536, 16.56, 108.6, 3.004, 3.03, 0.298, 2.038, 6.10598, 1.004, 3.326, 1340.0]</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, [13.872, 1.814, 2.376, 15.56, 88.2, 2.806, 2.928, 0.288, 1.844, 5.35198, 1.044, 3.348, 988.0], 0),\n",
-       " (2, [14.036, 2.018, 2.536, 16.56, 108.6, 3.004, 3.03, 0.298, 2.038, 6.10598, 1.004, 3.326, 1340.0], 1)]"
-      ]
-     },
-     "execution_count": 39,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT cent.*,  (madlib.closest_column(centroids, unnest_result)).column_id as cluster_id\n",
-    "FROM km_centroids_unnest as cent, km_result\n",
-    "ORDER BY cent.unnest_row_id;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## 7. Array input"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 64,
-   "metadata": {
-    "collapsed": false
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "Done.\n",
-      "10 rows affected.\n",
-      "10 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>pid</th>\n",
-       "        <th>p1</th>\n",
-       "        <th>p2</th>\n",
-       "        <th>p3</th>\n",
-       "        <th>p4</th>\n",
-       "        <th>p5</th>\n",
-       "        <th>p6</th>\n",
-       "        <th>p7</th>\n",
-       "        <th>p8</th>\n",
-       "        <th>p9</th>\n",
-       "        <th>p10</th>\n",
-       "        <th>p11</th>\n",
-       "        <th>p12</th>\n",
-       "        <th>p13</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>14.23</td>\n",
-       "        <td>1.71</td>\n",
-       "        <td>2.43</td>\n",
-       "        <td>15.6</td>\n",
-       "        <td>127.0</td>\n",
-       "        <td>2.8</td>\n",
-       "        <td>3.06</td>\n",
-       "        <td>0.28</td>\n",
-       "        <td>2.29</td>\n",
-       "        <td>5.64</td>\n",
-       "        <td>1.04</td>\n",
-       "        <td>3.92</td>\n",
-       "        <td>1065.0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>13.2</td>\n",
-       "        <td>1.78</td>\n",
-       "        <td>2.14</td>\n",
-       "        <td>11.2</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>2.65</td>\n",
-       "        <td>2.76</td>\n",
-       "        <td>0.26</td>\n",
-       "        <td>1.28</td>\n",
-       "        <td>4.38</td>\n",
-       "        <td>1.05</td>\n",
-       "        <td>3.49</td>\n",
-       "        <td>1050.0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>13.16</td>\n",
-       "        <td>2.36</td>\n",
-       "        <td>2.67</td>\n",
-       "        <td>18.6</td>\n",
-       "        <td>101.0</td>\n",
-       "        <td>2.8</td>\n",
-       "        <td>3.24</td>\n",
-       "        <td>0.3</td>\n",
-       "        <td>2.81</td>\n",
-       "        <td>5.6799</td>\n",
-       "        <td>1.03</td>\n",
-       "        <td>3.17</td>\n",
-       "        <td>1185.0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>4</td>\n",
-       "        <td>14.37</td>\n",
-       "        <td>1.95</td>\n",
-       "        <td>2.5</td>\n",
-       "        <td>16.8</td>\n",
-       "        <td>113.0</td>\n",
-       "        <td>3.85</td>\n",
-       "        <td>3.49</td>\n",
-       "        <td>0.24</td>\n",
-       "        <td>2.18</td>\n",
-       "        <td>7.8</td>\n",
-       "        <td>0.86</td>\n",
-       "        <td>3.45</td>\n",
-       "        <td>1480.0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>5</td>\n",
-       "        <td>13.24</td>\n",
-       "        <td>2.59</td>\n",
-       "        <td>2.87</td>\n",
-       "        <td>21.0</td>\n",
-       "        <td>118.0</td>\n",
-       "        <td>2.8</td>\n",
-       "        <td>2.69</td>\n",
-       "        <td>0.39</td>\n",
-       "        <td>1.82</td>\n",
-       "        <td>4.32</td>\n",
-       "        <td>1.04</td>\n",
-       "        <td>2.93</td>\n",
-       "        <td>735.0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>6</td>\n",
-       "        <td>14.2</td>\n",
-       "        <td>1.76</td>\n",
-       "        <td>2.45</td>\n",
-       "        <td>15.2</td>\n",
-       "        <td>112.0</td>\n",
-       "        <td>3.27</td>\n",
-       "        <td>3.39</td>\n",
-       "        <td>0.34</td>\n",
-       "        <td>1.97</td>\n",
-       "        <td>6.75</td>\n",
-       "        <td>1.05</td>\n",
-       "        <td>2.85</td>\n",
-       "        <td>1450.0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>7</td>\n",
-       "        <td>14.39</td>\n",
-       "        <td>1.87</td>\n",
-       "        <td>2.45</td>\n",
-       "        <td>14.6</td>\n",
-       "        <td>96.0</td>\n",
-       "        <td>2.5</td>\n",
-       "        <td>2.52</td>\n",
-       "        <td>0.3</td>\n",
-       "        <td>1.98</td>\n",
-       "        <td>5.25</td>\n",
-       "        <td>1.02</td>\n",
-       "        <td>3.58</td>\n",
-       "        <td>1290.0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>8</td>\n",
-       "        <td>14.06</td>\n",
-       "        <td>2.15</td>\n",
-       "        <td>2.61</td>\n",
-       "        <td>17.6</td>\n",
-       "        <td>121.0</td>\n",
-       "        <td>2.6</td>\n",
-       "        <td>2.51</td>\n",
-       "        <td>0.31</td>\n",
-       "        <td>1.25</td>\n",
-       "        <td>5.05</td>\n",
-       "        <td>1.06</td>\n",
-       "        <td>3.58</td>\n",
-       "        <td>1295.0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>9</td>\n",
-       "        <td>14.83</td>\n",
-       "        <td>1.64</td>\n",
-       "        <td>2.17</td>\n",
-       "        <td>14.0</td>\n",
-       "        <td>97.0</td>\n",
-       "        <td>2.8</td>\n",
-       "        <td>2.98</td>\n",
-       "        <td>0.29</td>\n",
-       "        <td>1.98</td>\n",
-       "        <td>5.2</td>\n",
-       "        <td>1.08</td>\n",
-       "        <td>2.85</td>\n",
-       "        <td>1045.0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>10</td>\n",
-       "        <td>13.86</td>\n",
-       "        <td>1.35</td>\n",
-       "        <td>2.27</td>\n",
-       "        <td>16.0</td>\n",
-       "        <td>98.0</td>\n",
-       "        <td>2.98</td>\n",
-       "        <td>3.15</td>\n",
-       "        <td>0.22</td>\n",
-       "        <td>1.85</td>\n",
-       "        <td>7.2199</td>\n",
-       "        <td>1.01</td>\n",
-       "        <td>3.55</td>\n",
-       "        <td>1045.0</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, 14.23, 1.71, 2.43, 15.6, 127.0, 2.8, 3.06, 0.28, 2.29, 5.64, 1.04, 3.92, 1065.0),\n",
-       " (2, 13.2, 1.78, 2.14, 11.2, 1.0, 2.65, 2.76, 0.26, 1.28, 4.38, 1.05, 3.49, 1050.0),\n",
-       " (3, 13.16, 2.36, 2.67, 18.6, 101.0, 2.8, 3.24, 0.3, 2.81, 5.6799, 1.03, 3.17, 1185.0),\n",
-       " (4, 14.37, 1.95, 2.5, 16.8, 113.0, 3.85, 3.49, 0.24, 2.18, 7.8, 0.86, 3.45, 1480.0),\n",
-       " (5, 13.24, 2.59, 2.87, 21.0, 118.0, 2.8, 2.69, 0.39, 1.82, 4.32, 1.04, 2.93, 735.0),\n",
-       " (6, 14.2, 1.76, 2.45, 15.2, 112.0, 3.27, 3.39, 0.34, 1.97, 6.75, 1.05, 2.85, 1450.0),\n",
-       " (7, 14.39, 1.87, 2.45, 14.6, 96.0, 2.5, 2.52, 0.3, 1.98, 5.25, 1.02, 3.58, 1290.0),\n",
-       " (8, 14.06, 2.15, 2.61, 17.6, 121.0, 2.6, 2.51, 0.31, 1.25, 5.05, 1.06, 3.58, 1295.0),\n",
-       " (9, 14.83, 1.64, 2.17, 14.0, 97.0, 2.8, 2.98, 0.29, 1.98, 5.2, 1.08, 2.85, 1045.0),\n",
-       " (10, 13.86, 1.35, 2.27, 16.0, 98.0, 2.98, 3.15, 0.22, 1.85, 7.2199, 1.01, 3.55, 1045.0)]"
-      ]
-     },
-     "execution_count": 64,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS km_arrayin CASCADE;\n",
-    "\n",
-    "CREATE TABLE km_arrayin(pid int, \n",
-    "                        p1 float, \n",
-    "                        p2 float, \n",
-    "                        p3 float,\n",
-    "                        p4 float, \n",
-    "                        p5 float, \n",
-    "                        p6 float,\n",
-    "                        p7 float, \n",
-    "                        p8 float, \n",
-    "                        p9 float,\n",
-    "                        p10 float, \n",
-    "                        p11 float, \n",
-    "                        p12 float,\n",
-    "                        p13 float);\n",
-    "\n",
-    "INSERT INTO km_arrayin VALUES\n",
-    "(1,  14.23, 1.71, 2.43, 15.6, 127, 2.8, 3.0600, 0.2800, 2.29, 5.64, 1.04, 3.92, 1065),\n",
-    "(2,  13.2, 1.78, 2.14, 11.2, 1, 2.65, 2.76, 0.26, 1.28, 4.38, 1.05, 3.49, 1050),\n",
-    "(3,  13.16, 2.36,  2.67, 18.6, 101, 2.8,  3.24, 0.3, 2.81, 5.6799, 1.03, 3.17, 1185),\n",
-    "(4,  14.37, 1.95, 2.5, 16.8, 113, 3.85, 3.49, 0.24, 2.18, 7.8, 0.86, 3.45, 1480),\n",
-    "(5,  13.24, 2.59, 2.87, 21, 118, 2.8, 2.69, 0.39, 1.82, 4.32, 1.04, 2.93, 735),\n",
-    "(6,  14.2, 1.76, 2.45, 15.2, 112, 3.27, 3.39, 0.34, 1.97, 6.75, 1.05, 2.85, 1450),\n",
-    "(7,  14.39, 1.87, 2.45, 14.6, 96, 2.5, 2.52, 0.3, 1.98, 5.25, 1.02, 3.58, 1290),\n",
-    "(8,  14.06, 2.15, 2.61, 17.6, 121, 2.6, 2.51, 0.31, 1.25, 5.05, 1.06, 3.58, 1295),\n",
-    "(9,  14.83, 1.64, 2.17, 14, 97, 2.8, 2.98, 0.29, 1.98, 5.2, 1.08, 2.85, 1045),\n",
-    "(10, 13.86, 1.35, 2.27, 16, 98, 2.98, 3.15, 0.22, 1.8500, 7.2199, 1.01, 3.55, 1045);\n",
-    "\n",
-    "SELECT * FROM km_arrayin ORDER BY pid;"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 67,
-   "metadata": {
-    "collapsed": false,
-    "scrolled": true
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "10 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>pid</th>\n",
-       "        <th>p1</th>\n",
-       "        <th>p2</th>\n",
-       "        <th>p3</th>\n",
-       "        <th>p4</th>\n",
-       "        <th>p5</th>\n",
-       "        <th>p6</th>\n",
-       "        <th>p7</th>\n",
-       "        <th>p8</th>\n",
-       "        <th>p9</th>\n",
-       "        <th>p10</th>\n",
-       "        <th>p11</th>\n",
-       "        <th>p12</th>\n",
-       "        <th>p13</th>\n",
-       "        <th>cluster_id</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>14.23</td>\n",
-       "        <td>1.71</td>\n",
-       "        <td>2.43</td>\n",
-       "        <td>15.6</td>\n",
-       "        <td>127.0</td>\n",
-       "        <td>2.8</td>\n",
-       "        <td>3.06</td>\n",
-       "        <td>0.28</td>\n",
-       "        <td>2.29</td>\n",
-       "        <td>5.64</td>\n",
-       "        <td>1.04</td>\n",
-       "        <td>3.92</td>\n",
-       "        <td>1065.0</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>13.2</td>\n",
-       "        <td>1.78</td>\n",
-       "        <td>2.14</td>\n",
-       "        <td>11.2</td>\n",
-       "        <td>1.0</td>\n",
-       "        <td>2.65</td>\n",
-       "        <td>2.76</td>\n",
-       "        <td>0.26</td>\n",
-       "        <td>1.28</td>\n",
-       "        <td>4.38</td>\n",
-       "        <td>1.05</td>\n",
-       "        <td>3.49</td>\n",
-       "        <td>1050.0</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>13.16</td>\n",
-       "        <td>2.36</td>\n",
-       "        <td>2.67</td>\n",
-       "        <td>18.6</td>\n",
-       "        <td>101.0</td>\n",
-       "        <td>2.8</td>\n",
-       "        <td>3.24</td>\n",
-       "        <td>0.3</td>\n",
-       "        <td>2.81</td>\n",
-       "        <td>5.6799</td>\n",
-       "        <td>1.03</td>\n",
-       "        <td>3.17</td>\n",
-       "        <td>1185.0</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>4</td>\n",
-       "        <td>14.37</td>\n",
-       "        <td>1.95</td>\n",
-       "        <td>2.5</td>\n",
-       "        <td>16.8</td>\n",
-       "        <td>113.0</td>\n",
-       "        <td>3.85</td>\n",
-       "        <td>3.49</td>\n",
-       "        <td>0.24</td>\n",
-       "        <td>2.18</td>\n",
-       "        <td>7.8</td>\n",
-       "        <td>0.86</td>\n",
-       "        <td>3.45</td>\n",
-       "        <td>1480.0</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>5</td>\n",
-       "        <td>13.24</td>\n",
-       "        <td>2.59</td>\n",
-       "        <td>2.87</td>\n",
-       "        <td>21.0</td>\n",
-       "        <td>118.0</td>\n",
-       "        <td>2.8</td>\n",
-       "        <td>2.69</td>\n",
-       "        <td>0.39</td>\n",
-       "        <td>1.82</td>\n",
-       "        <td>4.32</td>\n",
-       "        <td>1.04</td>\n",
-       "        <td>2.93</td>\n",
-       "        <td>735.0</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>6</td>\n",
-       "        <td>14.2</td>\n",
-       "        <td>1.76</td>\n",
-       "        <td>2.45</td>\n",
-       "        <td>15.2</td>\n",
-       "        <td>112.0</td>\n",
-       "        <td>3.27</td>\n",
-       "        <td>3.39</td>\n",
-       "        <td>0.34</td>\n",
-       "        <td>1.97</td>\n",
-       "        <td>6.75</td>\n",
-       "        <td>1.05</td>\n",
-       "        <td>2.85</td>\n",
-       "        <td>1450.0</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>7</td>\n",
-       "        <td>14.39</td>\n",
-       "        <td>1.87</td>\n",
-       "        <td>2.45</td>\n",
-       "        <td>14.6</td>\n",
-       "        <td>96.0</td>\n",
-       "        <td>2.5</td>\n",
-       "        <td>2.52</td>\n",
-       "        <td>0.3</td>\n",
-       "        <td>1.98</td>\n",
-       "        <td>5.25</td>\n",
-       "        <td>1.02</td>\n",
-       "        <td>3.58</td>\n",
-       "        <td>1290.0</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>8</td>\n",
-       "        <td>14.06</td>\n",
-       "        <td>2.15</td>\n",
-       "        <td>2.61</td>\n",
-       "        <td>17.6</td>\n",
-       "        <td>121.0</td>\n",
-       "        <td>2.6</td>\n",
-       "        <td>2.51</td>\n",
-       "        <td>0.31</td>\n",
-       "        <td>1.25</td>\n",
-       "        <td>5.05</td>\n",
-       "        <td>1.06</td>\n",
-       "        <td>3.58</td>\n",
-       "        <td>1295.0</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>9</td>\n",
-       "        <td>14.83</td>\n",
-       "        <td>1.64</td>\n",
-       "        <td>2.17</td>\n",
-       "        <td>14.0</td>\n",
-       "        <td>97.0</td>\n",
-       "        <td>2.8</td>\n",
-       "        <td>2.98</td>\n",
-       "        <td>0.29</td>\n",
-       "        <td>1.98</td>\n",
-       "        <td>5.2</td>\n",
-       "        <td>1.08</td>\n",
-       "        <td>2.85</td>\n",
-       "        <td>1045.0</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>10</td>\n",
-       "        <td>13.86</td>\n",
-       "        <td>1.35</td>\n",
-       "        <td>2.27</td>\n",
-       "        <td>16.0</td>\n",
-       "        <td>98.0</td>\n",
-       "        <td>2.98</td>\n",
-       "        <td>3.15</td>\n",
-       "        <td>0.22</td>\n",
-       "        <td>1.85</td>\n",
-       "        <td>7.2199</td>\n",
-       "        <td>1.01</td>\n",
-       "        <td>3.55</td>\n",
-       "        <td>1045.0</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, 14.23, 1.71, 2.43, 15.6, 127.0, 2.8, 3.06, 0.28, 2.29, 5.64, 1.04, 3.92, 1065.0, 1),\n",
-       " (2, 13.2, 1.78, 2.14, 11.2, 1.0, 2.65, 2.76, 0.26, 1.28, 4.38, 1.05, 3.49, 1050.0, 1),\n",
-       " (3, 13.16, 2.36, 2.67, 18.6, 101.0, 2.8, 3.24, 0.3, 2.81, 5.6799, 1.03, 3.17, 1185.0, 1),\n",
-       " (4, 14.37, 1.95, 2.5, 16.8, 113.0, 3.85, 3.49, 0.24, 2.18, 7.8, 0.86, 3.45, 1480.0, 0),\n",
-       " (5, 13.24, 2.59, 2.87, 21.0, 118.0, 2.8, 2.69, 0.39, 1.82, 4.32, 1.04, 2.93, 735.0, 1),\n",
-       " (6, 14.2, 1.76, 2.45, 15.2, 112.0, 3.27, 3.39, 0.34, 1.97, 6.75, 1.05, 2.85, 1450.0, 0),\n",
-       " (7, 14.39, 1.87, 2.45, 14.6, 96.0, 2.5, 2.52, 0.3, 1.98, 5.25, 1.02, 3.58, 1290.0, 0),\n",
-       " (8, 14.06, 2.15, 2.61, 17.6, 121.0, 2.6, 2.51, 0.31, 1.25, 5.05, 1.06, 3.58, 1295.0, 0),\n",
-       " (9, 14.83, 1.64, 2.17, 14.0, 97.0, 2.8, 2.98, 0.29, 1.98, 5.2, 1.08, 2.85, 1045.0, 1),\n",
-       " (10, 13.86, 1.35, 2.27, 16.0, 98.0, 2.98, 3.15, 0.22, 1.85, 7.2199, 1.01, 3.55, 1045.0, 1)]"
-      ]
-     },
-     "execution_count": 67,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS km_result;\n",
-    "\n",
-    "-- Run kmeans algorithm\n",
-    "CREATE TABLE km_result AS\n",
-    "SELECT * FROM madlib.kmeans_random('km_arrayin', \n",
-    "                                'ARRAY[p1, p2, p3, p4, p5, p6, \n",
-    "                                      p7, p8, p9, p10, p11, p12, p13]', \n",
-    "                                2,\n",
-    "                                'madlib.squared_dist_norm2',\n",
-    "                                'madlib.avg', \n",
-    "                                20, \n",
-    "                                0.001);\n",
-    "\n",
-    "-- Get point assignment\n",
-    "SELECT data.*,  (madlib.closest_column(centroids, \n",
-    "                                       ARRAY[p1, p2, p3, p4, p5, p6, \n",
-    "                                      p7, p8, p9, p10, p11, p12, p13])).column_id as cluster_id\n",
-    "FROM km_arrayin as data, km_result\n",
-    "ORDER BY data.pid;"
-   ]
-  }
- ],
- "metadata": {
-  "kernelspec": {
-   "display_name": "Python 2",
-   "language": "python",
-   "name": "python2"
-  },
-  "language_info": {
-   "codemirror_mode": {
-    "name": "ipython",
-    "version": 2
-   },
-   "file_extension": ".py",
-   "mimetype": "text/x-python",
-   "name": "python",
-   "nbconvert_exporter": "python",
-   "pygments_lexer": "ipython2",
-   "version": "2.7.12"
-  }
- },
- "nbformat": 4,
- "nbformat_minor": 0
-}
diff --git a/community-artifacts/Unsupervised-learning/LDA-v1.ipynb b/community-artifacts/Unsupervised-learning/LDA-v1.ipynb
deleted file mode 100644
index 19a199c..0000000
--- a/community-artifacts/Unsupervised-learning/LDA-v1.ipynb
+++ /dev/null
@@ -1,2034 +0,0 @@
-{
- "cells": [
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# Latent Dirichlet Allocation \n",
-    "\n",
-    "Latent Dirichlet Allocation (LDA) is a generative probabilistic model for natural texts. It is used in problems such as automated topic discovery, collaborative filtering, and document classification.\n",
-    "\n",
-    "In addition to an implementation of LDA, this MADlib module also provides a number of additional helper functions to interpret results of the LDA output."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 1,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "/Users/fmcquillan/anaconda/lib/python2.7/site-packages/IPython/config.py:13: ShimWarning: The `IPython.config` package has been deprecated. You should import from traitlets.config instead.\n",
-      "  \"You should import from traitlets.config instead.\", ShimWarning)\n",
-      "/Users/fmcquillan/anaconda/lib/python2.7/site-packages/IPython/utils/traitlets.py:5: UserWarning: IPython.utils.traitlets has moved to a top-level traitlets package.\n",
-      "  warn(\"IPython.utils.traitlets has moved to a top-level traitlets package.\")\n"
-     ]
-    }
-   ],
-   "source": [
-    "%load_ext sql"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 2,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "u'Connected: gpadmin@madlib'"
-      ]
-     },
-     "execution_count": 2,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "# Greenplum Database 5.4.0 on GCP (demo machine)\n",
-    "%sql postgresql://gpadmin@35.184.253.255:5432/madlib\n",
-    "        \n",
-    "# PostgreSQL local\n",
-    "#%sql postgresql://fmcquillan@localhost:5432/madlib\n",
-    "\n",
-    "# Greenplum Database 4.3.10.0\n",
-    "#%sql postgresql://gpdbchina@10.194.10.68:61000/madlib"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 4,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>version</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>MADlib version: 1.14-dev, git revision: rc/1.13-rc1-15-g7ffad03, cmake configuration time: Wed Feb 21 01:33:31 UTC 2018, build type: release, build system: Linux-2.6.32-696.20.1.el6.x86_64, C compiler: gcc 4.4.7, C++ compiler: g++ 4.4.7</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(u'MADlib version: 1.14-dev, git revision: rc/1.13-rc1-15-g7ffad03, cmake configuration time: Wed Feb 21 01:33:31 UTC 2018, build type: release, build system: Linux-2.6.32-696.20.1.el6.x86_64, C compiler: gcc 4.4.7, C++ compiler: g++ 4.4.7',)]"
-      ]
-     },
-     "execution_count": 4,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%sql select madlib.version();\n",
-    "#%sql select version();"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# 1.  Prepare documents\n",
-    "The examples below are short strings extracted from various Wikipedia documents. First we create a document table with one document per row:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 5,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "Done.\n",
-      "4 rows affected.\n",
-      "4 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>docid</th>\n",
-       "        <th>contents</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>Statistical topic models are a class of Bayesian latent variable models, originally developed for analyzing the semantic content of large document corpora.</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>By the late 1960s, the balance between pitching and hitting had swung in favor of the pitchers. In 1968 Carl Yastrzemski won the American League batting title with an average of just .301, the lowest in history.</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>Machine learning is closely related to and often overlaps with computational statistics; a discipline that also specializes in prediction-making. It has strong ties to mathematical optimization, which deliver methods, theory and application domains to the field.</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>California's diverse geography ranges from the Sierra Nevada in the east to the Pacific Coast in the west, from the Redwood–Douglas fir forests of the northwest, to the Mojave Desert areas in the southeast. The center of the state is dominated by the Central Valley, a major agricultural area.</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(0, u'Statistical topic models are a class of Bayesian latent variable models, originally developed for analyzing the semantic content of large document corpora.'),\n",
-       " (1, u'By the late 1960s, the balance between pitching and hitting had swung in favor of the pitchers. In 1968 Carl Yastrzemski won the American League batting title with an average of just .301, the lowest in history.'),\n",
-       " (2, u'Machine learning is closely related to and often overlaps with computational statistics; a discipline that also specializes in prediction-making. It has strong ties to mathematical optimization, which deliver methods, theory and application domains to the field.'),\n",
-       " (3, u\"California's diverse geography ranges from the Sierra Nevada in the east to the Pacific Coast in the west, from the Redwood\\u2013Douglas fir forests of the northwest, to the Mojave Desert areas in the southeast. The center of the state is dominated by the Central Valley, a major agricultural area.\")]"
-      ]
-     },
-     "execution_count": 5,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS documents;\n",
-    "CREATE TABLE documents(docid INT4, contents TEXT);\n",
-    "\n",
-    "INSERT INTO documents VALUES\n",
-    "(0, 'Statistical topic models are a class of Bayesian latent variable models, originally developed for analyzing the semantic content of large document corpora.'),\n",
-    "(1, 'By the late 1960s, the balance between pitching and hitting had swung in favor of the pitchers. In 1968 Carl Yastrzemski won the American League batting title with an average of just .301, the lowest in history.'),\n",
-    "(2, 'Machine learning is closely related to and often overlaps with computational statistics; a discipline that also specializes in prediction-making. It has strong ties to mathematical optimization, which deliver methods, theory and application domains to the field.'),\n",
-    "(3, 'California''s diverse geography ranges from the Sierra Nevada in the east to the Pacific Coast in the west, from the Redwood–Douglas fir forests of the northwest, to the Mojave Desert areas in the southeast. The center of the state is dominated by the Central Valley, a major agricultural area.');\n",
-    "\n",
-    "SELECT * from documents ORDER BY docid;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "You can apply stemming, stop word removal and tokenization at this point in order to prepare the documents for text processing.  Depending upon your database version, various tools are available.  Databases based on more recent versions of PostgreSQL may do something like: "
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {
-    "collapsed": true
-   },
-   "outputs": [],
-   "source": [
-    "%%sql\n",
-    "SELECT tsvector_to_array(to_tsvector('english',contents)) from documents;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "In this example, we assume a database based on an older version of PostgreSQL and just perform basic punctuation removal and tokenization. The array of words is added as a new column to the documents table:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 6,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "4 rows affected.\n",
-      "4 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>docid</th>\n",
-       "        <th>contents</th>\n",
-       "        <th>words</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>Statistical topic models are a class of Bayesian latent variable models, originally developed for analyzing the semantic content of large document corpora.</td>\n",
-       "        <td>[u'statistical', u'topic', u'models', u'are', u'a', u'class', u'of', u'bayesian', u'latent', u'variable', u'models', u'originally', u'developed', u'for', u'analyzing', u'the', u'semantic', u'content', u'of', u'large', u'document', u'corpora']</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>By the late 1960s, the balance between pitching and hitting had swung in favor of the pitchers. In 1968 Carl Yastrzemski won the American League batting title with an average of just .301, the lowest in history.</td>\n",
-       "        <td>[u'by', u'the', u'late', u'1960s', u'the', u'balance', u'between', u'pitching', u'and', u'hitting', u'had', u'swung', u'in', u'favor', u'of', u'the', u'pitchers', u'in', u'1968', u'carl', u'yastrzemski', u'won', u'the', u'american', u'league', u'batting', u'title', u'with', u'an', u'average', u'of', u'just', u'301', u'the', u'lowest', u'in', u'history']</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>Machine learning is closely related to and often overlaps with computational statistics; a discipline that also specializes in prediction-making. It has strong ties to mathematical optimization, which deliver methods, theory and application domains to the field.</td>\n",
-       "        <td>[u'machine', u'learning', u'is', u'closely', u'related', u'to', u'and', u'often', u'overlaps', u'with', u'computational', u'statistics', u'a', u'discipline', u'that', u'also', u'specializes', u'in', u'prediction-making', u'it', u'has', u'strong', u'ties', u'to', u'mathematical', u'optimization', u'which', u'deliver', u'methods', u'theory', u'and', u'application', u'domains', u'to', u'the', u'field']</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>California's diverse geography ranges from the Sierra Nevada in the east to the Pacific Coast in the west, from the Redwood–Douglas fir forests of the northwest, to the Mojave Desert areas in the southeast. The center of the state is dominated by the Central Valley, a major agricultural area.</td>\n",
-       "        <td>[u'californias', u'diverse', u'geography', u'ranges', u'from', u'the', u'sierra', u'nevada', u'in', u'the', u'east', u'to', u'the', u'pacific', u'coast', u'in', u'the', u'west', u'from', u'the', u'redwood\\u2013douglas', u'fir', u'forests', u'of', u'the', u'northwest', u'to', u'the', u'mojave', u'desert', u'areas', u'in', u'the', u'southeast', u'the', u'center', u'of', u'the', u'state', u'is', u'dominated', u'by', u'the', u'central', u'valley', u'a', u'major', u'agricultural', u'area']</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(0, u'Statistical topic models are a class of Bayesian latent variable models, originally developed for analyzing the semantic content of large document corpora.', [u'statistical', u'topic', u'models', u'are', u'a', u'class', u'of', u'bayesian', u'latent', u'variable', u'models', u'originally', u'developed', u'for', u'analyzing', u'the', u'semantic', u'content', u'of', u'large', u'document', u'corpora']),\n",
-       " (1, u'By the late 1960s, the balance between pitching and hitting had swung in favor of the pitchers. In 1968 Carl Yastrzemski won the American League batting title with an average of just .301, the lowest in history.', [u'by', u'the', u'late', u'1960s', u'the', u'balance', u'between', u'pitching', u'and', u'hitting', u'had', u'swung', u'in', u'favor', u'of', u'the', u'pitchers', u'in', u'1968', u'carl', u'yastrzemski', u'won', u'the', u'american', u'league', u'batting', u'title', u'with', u'an', u'average', u'of', u'just', u'301', u'the', u'lowest', u'in', u'history']),\n",
-       " (2, u'Machine learning is closely related to and often overlaps with computational statistics; a discipline that also specializes in prediction-making. It has strong ties to mathematical optimization, which deliver methods, theory and application domains to the field.', [u'machine', u'learning', u'is', u'closely', u'related', u'to', u'and', u'often', u'overlaps', u'with', u'computational', u'statistics', u'a', u'discipline', u'that', u'also', u'specializes', u'in', u'prediction-making', u'it', u'has', u'strong', u'ties', u'to', u'mathematical', u'optimization', u'which', u'deliver', u'methods', u'theory', u'and', u'application', u'domains', u'to', u'the', u'field']),\n",
-       " (3, u\"California's diverse geography ranges from the Sierra Nevada in the east to the Pacific Coast in the west, from the Redwood\\u2013Douglas fir forests of the northwest, to the Mojave Desert areas in the southeast. The center of the state is dominated by the Central Valley, a major agricultural area.\", [u'californias', u'diverse', u'geography', u'ranges', u'from', u'the', u'sierra', u'nevada', u'in', u'the', u'east', u'to', u'the', u'pacific', u'coast', u'in', u'the', u'west', u'from', u'the', u'redwood\\u2013douglas', u'fir', u'forests', u'of', u'the', u'northwest', u'to', u'the', u'mojave', u'desert', u'areas', u'in', u'the', u'southeast', u'the', u'center', u'of', u'the', u'state', u'is', u'dominated', u'by', u'the', u'central', u'valley', u'a', u'major', u'agricultural', u'area'])]"
-      ]
-     },
-     "execution_count": 6,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "ALTER TABLE documents ADD COLUMN words TEXT[];\n",
-    "\n",
-    "UPDATE documents SET words = \n",
-    "    regexp_split_to_array(lower(\n",
-    "    regexp_replace(contents, E'[,.;\\']','', 'g')\n",
-    "    ), E'[\\\\s+]');\n",
-    "    \n",
-    "SELECT * FROM documents ORDER BY docid;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# 2.  Term frequency\n",
-    "Build a word count table by extracting the words and building a histogram for each document using the term_frequency() function."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 7,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "20 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>docid</th>\n",
-       "        <th>wordid</th>\n",
-       "        <th>count</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>17</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>11</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>95</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>90</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>85</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>68</td>\n",
-       "        <td>2</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>54</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>42</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>35</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>28</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>8</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>3</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>97</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>80</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>71</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>64</td>\n",
-       "        <td>2</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>56</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>32</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>29</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>24</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(0, 17, 1),\n",
-       " (0, 11, 1),\n",
-       " (0, 95, 1),\n",
-       " (0, 90, 1),\n",
-       " (0, 85, 1),\n",
-       " (0, 68, 2),\n",
-       " (0, 54, 1),\n",
-       " (0, 42, 1),\n",
-       " (0, 35, 1),\n",
-       " (0, 28, 1),\n",
-       " (0, 8, 1),\n",
-       " (0, 3, 1),\n",
-       " (0, 97, 1),\n",
-       " (0, 80, 1),\n",
-       " (0, 71, 1),\n",
-       " (0, 64, 2),\n",
-       " (0, 56, 1),\n",
-       " (0, 32, 1),\n",
-       " (0, 29, 1),\n",
-       " (0, 24, 1)]"
-      ]
-     },
-     "execution_count": 7,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS documents_tf, documents_tf_vocabulary;\n",
-    "\n",
-    "SELECT madlib.term_frequency('documents',    -- input table\n",
-    "                             'docid',        -- document id column\n",
-    "                             'words',        -- vector of words in document\n",
-    "                             'documents_tf', -- output documents table with term frequency\n",
-    "                             TRUE);          -- TRUE to created vocabulary table\n",
-    "\n",
-    "SELECT * FROM documents_tf ORDER BY docid LIMIT 20;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Here is the associated vocabulary table.  Note that wordid starts at 0:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 8,
-   "metadata": {
-    "scrolled": true
-   },
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "20 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>wordid</th>\n",
-       "        <th>word</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>1960s</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>1968</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>301</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>a</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>4</td>\n",
-       "        <td>agricultural</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>5</td>\n",
-       "        <td>also</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>6</td>\n",
-       "        <td>american</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>7</td>\n",
-       "        <td>an</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>8</td>\n",
-       "        <td>analyzing</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>9</td>\n",
-       "        <td>and</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>10</td>\n",
-       "        <td>application</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>11</td>\n",
-       "        <td>are</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>12</td>\n",
-       "        <td>area</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>13</td>\n",
-       "        <td>areas</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>14</td>\n",
-       "        <td>average</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>15</td>\n",
-       "        <td>balance</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>16</td>\n",
-       "        <td>batting</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>17</td>\n",
-       "        <td>bayesian</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>18</td>\n",
-       "        <td>between</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>19</td>\n",
-       "        <td>by</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(0, u'1960s'),\n",
-       " (1, u'1968'),\n",
-       " (2, u'301'),\n",
-       " (3, u'a'),\n",
-       " (4, u'agricultural'),\n",
-       " (5, u'also'),\n",
-       " (6, u'american'),\n",
-       " (7, u'an'),\n",
-       " (8, u'analyzing'),\n",
-       " (9, u'and'),\n",
-       " (10, u'application'),\n",
-       " (11, u'are'),\n",
-       " (12, u'area'),\n",
-       " (13, u'areas'),\n",
-       " (14, u'average'),\n",
-       " (15, u'balance'),\n",
-       " (16, u'batting'),\n",
-       " (17, u'bayesian'),\n",
-       " (18, u'between'),\n",
-       " (19, u'by')]"
-      ]
-     },
-     "execution_count": 8,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT * FROM documents_tf_vocabulary ORDER BY wordid LIMIT 20;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "The total number of words in the vocabulary across all documents is:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 9,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>count</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>103</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(103L,)]"
-      ]
-     },
-     "execution_count": 9,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT COUNT(*) FROM documents_tf_vocabulary;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# 3. Train LDA model\n",
-    "For Dirichlet priors we use initial rule-of-thumb values of 50/(number of topics) for alpha and 0.01 for beta.\n",
-    "\n",
-    "Reminder that column names for docid, wordid, and count are currently fixed, so you must use these exact names in the input table. After a successful run of the LDA training function two tables are generated, one for storing the learned model and the other for storing the output data table."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 10,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "2 rows affected.\n",
-      "4 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>docid</th>\n",
-       "        <th>wordcount</th>\n",
-       "        <th>words</th>\n",
-       "        <th>counts</th>\n",
-       "        <th>topic_count</th>\n",
-       "        <th>topic_assignment</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>22</td>\n",
-       "        <td>[24, 17, 11, 95, 90, 85, 68, 54, 42, 35, 28, 8, 3, 97, 80, 71, 64, 56, 32, 29]</td>\n",
-       "        <td>[1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1]</td>\n",
-       "        <td>[3, 6, 5, 7, 1]</td>\n",
-       "        <td>[3, 3, 1, 3, 0, 0, 2, 1, 1, 2, 1, 4, 2, 0, 1, 2, 3, 3, 3, 1, 2, 3]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>37</td>\n",
-       "        <td>[1, 50, 49, 46, 19, 16, 14, 9, 7, 0, 90, 68, 57, 102, 101, 100, 93, 88, 75, 74, 59, 55, 53, 48, 39, 21, 18, 15, 6, 2]</td>\n",
-       "        <td>[1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 5, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]</td>\n",
-       "        <td>[12, 8, 3, 10, 4]</td>\n",
-       "        <td>[0, 0, 0, 0, 1, 3, 0, 1, 1, 1, 3, 1, 0, 0, 0, 3, 3, 2, 1, 4, 4, 2, 2, 3, 1, 1, 3, 3, 3, 3, 0, 4, 3, 0, 4, 0, 0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>36</td>\n",
-       "        <td>[10, 27, 33, 40, 47, 51, 58, 62, 63, 69, 72, 83, 100, 99, 94, 92, 91, 90, 89, 87, 86, 79, 76, 70, 60, 52, 50, 36, 30, 25, 9, 5, 3]</td>\n",
-       "        <td>[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1]</td>\n",
-       "        <td>[9, 12, 5, 3, 7]</td>\n",
-       "        <td>[0, 0, 1, 4, 4, 4, 3, 4, 2, 2, 3, 2, 0, 1, 0, 0, 0, 2, 1, 3, 1, 1, 1, 4, 4, 2, 1, 4, 0, 1, 1, 1, 1, 1, 0, 0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>49</td>\n",
-       "        <td>[77, 78, 81, 82, 67, 65, 51, 45, 44, 43, 34, 26, 13, 98, 96, 94, 90, 84, 73, 68, 66, 61, 50, 41, 38, 37, 31, 23, 22, 20, 19, 12, 4, 3]</td>\n",
-       "        <td>[1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 11, 1, 1, 2, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]</td>\n",
-       "        <td>[16, 5, 7, 13, 8]</td>\n",
-       "        <td>[2, 1, 3, 4, 1, 4, 0, 0, 4, 4, 3, 2, 1, 4, 3, 4, 0, 0, 3, 3, 0, 0, 3, 3, 0, 3, 0, 3, 0, 4, 3, 1, 1, 3, 3, 0, 0, 0, 2, 0, 2, 2, 0, 2, 3, 0, 2, 4, 0]</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(0, 22, [24, 17, 11, 95, 90, 85, 68, 54, 42, 35, 28, 8, 3, 97, 80, 71, 64, 56, 32, 29], [1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1], [3, 6, 5, 7, 1], [3, 3, 1, 3, 0, 0, 2, 1, 1, 2, 1, 4, 2, 0, 1, 2, 3, 3, 3, 1, 2, 3]),\n",
-       " (1, 37, [1, 50, 49, 46, 19, 16, 14, 9, 7, 0, 90, 68, 57, 102, 101, 100, 93, 88, 75, 74, 59, 55, 53, 48, 39, 21, 18, 15, 6, 2], [1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 5, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [12, 8, 3, 10, 4], [0, 0, 0, 0, 1, 3, 0, 1, 1, 1, 3, 1, 0, 0, 0, 3, 3, 2, 1, 4, 4, 2, 2, 3, 1, 1, 3, 3, 3, 3, 0, 4, 3, 0, 4, 0, 0]),\n",
-       " (2, 36, [10, 27, 33, 40, 47, 51, 58, 62, 63, 69, 72, 83, 100, 99, 94, 92, 91, 90, 89, 87, 86, 79, 76, 70, 60, 52, 50, 36, 30, 25, 9, 5, 3], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1], [9, 12, 5, 3, 7], [0, 0, 1, 4, 4, 4, 3, 4, 2, 2, 3, 2, 0, 1, 0, 0, 0, 2, 1, 3, 1, 1, 1, 4, 4, 2, 1, 4, 0, 1, 1, 1, 1, 1, 0, 0]),\n",
-       " (3, 49, [77, 78, 81, 82, 67, 65, 51, 45, 44, 43, 34, 26, 13, 98, 96, 94, 90, 84, 73, 68, 66, 61, 50, 41, 38, 37, 31, 23, 22, 20, 19, 12, 4, 3], [1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 11, 1, 1, 2, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [16, 5, 7, 13, 8], [2, 1, 3, 4, 1, 4, 0, 0, 4, 4, 3, 2, 1, 4, 3, 4, 0, 0, 3, 3, 0, 0, 3, 3, 0, 3, 0, 3, 0, 4, 3, 1, 1, 3, 3, 0, 0, 0, 2, 0, 2, 2, 0, 2, 3, 0, 2, 4, 0])]"
-      ]
-     },
-     "execution_count": 10,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS lda_model, lda_output_data;\n",
-    "\n",
-    "SELECT madlib.lda_train( 'documents_tf',     -- documents table in the form of term frequency\n",
-    "                         'lda_model',        -- model table created by LDA training (not human readable)\n",
-    "                         'lda_output_data',  -- readable output data table \n",
-    "                         103,                -- vocabulary size\n",
-    "                         5,                  -- number of topics\n",
-    "                         10,                 -- number of iterations\n",
-    "                         5,                  -- Dirichlet prior for the per-doc topic multinomial (alpha)\n",
-    "                         0.01                -- Dirichlet prior for the per-topic word multinomial (beta)\n",
-    "                       );\n",
-    "\n",
-    "SELECT * FROM lda_output_data ORDER BY docid;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# 4. Helper functions on learned model  \n",
-    "\n",
-    "First, we get topic description by top-k words.  These are the k words with the highest probability for the topic.\n",
-    "\n",
-    "Note that if there are ties in probability, more than k words may actually be reported for each topic.  Also note that topicid starts at 0."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 11,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "40 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>topicid</th>\n",
-       "        <th>wordid</th>\n",
-       "        <th>prob</th>\n",
-       "        <th>word</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>90</td>\n",
-       "        <td>0.219595417987</td>\n",
-       "        <td>the</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>50</td>\n",
-       "        <td>0.170850597124</td>\n",
-       "        <td>in</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>94</td>\n",
-       "        <td>0.122105776261</td>\n",
-       "        <td>to</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>3</td>\n",
-       "        <td>0.0733609553985</td>\n",
-       "        <td>a</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>19</td>\n",
-       "        <td>0.0489885449671</td>\n",
-       "        <td>by</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>68</td>\n",
-       "        <td>0.125195129566</td>\n",
-       "        <td>of</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>9</td>\n",
-       "        <td>0.0939743990009</td>\n",
-       "        <td>and</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>36</td>\n",
-       "        <td>0.0315329378707</td>\n",
-       "        <td>domains</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>14</td>\n",
-       "        <td>0.0315329378707</td>\n",
-       "        <td>average</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>16</td>\n",
-       "        <td>0.0315329378707</td>\n",
-       "        <td>batting</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>54</td>\n",
-       "        <td>0.0315329378707</td>\n",
-       "        <td>large</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>56</td>\n",
-       "        <td>0.0315329378707</td>\n",
-       "        <td>latent</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>78</td>\n",
-       "        <td>0.0315329378707</td>\n",
-       "        <td>redwood–douglas</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>86</td>\n",
-       "        <td>0.0315329378707</td>\n",
-       "        <td>statistics</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>60</td>\n",
-       "        <td>0.0315329378707</td>\n",
-       "        <td>machine</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>26</td>\n",
-       "        <td>0.0315329378707</td>\n",
-       "        <td>coast</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>0</td>\n",
-       "        <td>0.0315329378707</td>\n",
-       "        <td>1960s</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>25</td>\n",
-       "        <td>0.0315329378707</td>\n",
-       "        <td>closely</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>87</td>\n",
-       "        <td>0.0315329378707</td>\n",
-       "        <td>strong</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>67</td>\n",
-       "        <td>0.0315329378707</td>\n",
-       "        <td>northwest</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>99</td>\n",
-       "        <td>0.0315329378707</td>\n",
-       "        <td>which</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>35</td>\n",
-       "        <td>0.0315329378707</td>\n",
-       "        <td>document</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>11</td>\n",
-       "        <td>0.0315329378707</td>\n",
-       "        <td>are</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>91</td>\n",
-       "        <td>0.0315329378707</td>\n",
-       "        <td>theory</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>33</td>\n",
-       "        <td>0.0315329378707</td>\n",
-       "        <td>discipline</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>75</td>\n",
-       "        <td>0.0315329378707</td>\n",
-       "        <td>pitching</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>49</td>\n",
-       "        <td>0.0315329378707</td>\n",
-       "        <td>hitting</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>97</td>\n",
-       "        <td>0.0315329378707</td>\n",
-       "        <td>variable</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>89</td>\n",
-       "        <td>0.0315329378707</td>\n",
-       "        <td>that</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>88</td>\n",
-       "        <td>0.0315329378707</td>\n",
-       "        <td>swung</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>30</td>\n",
-       "        <td>0.0315329378707</td>\n",
-       "        <td>deliver</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>68</td>\n",
-       "        <td>0.095577746077</td>\n",
-       "        <td>of</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>101</td>\n",
-       "        <td>0.0480266286258</td>\n",
-       "        <td>won</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>63</td>\n",
-       "        <td>0.0480266286258</td>\n",
-       "        <td>methods</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>41</td>\n",
-       "        <td>0.0480266286258</td>\n",
-       "        <td>fir</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>83</td>\n",
-       "        <td>0.0480266286258</td>\n",
-       "        <td>specializes</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>77</td>\n",
-       "        <td>0.0480266286258</td>\n",
-       "        <td>ranges</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>37</td>\n",
-       "        <td>0.0480266286258</td>\n",
-       "        <td>dominated</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>100</td>\n",
-       "        <td>0.0480266286258</td>\n",
-       "        <td>with</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>22</td>\n",
-       "        <td>0.0480266286258</td>\n",
-       "        <td>center</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(0, 90, 0.219595417986839, u'the'),\n",
-       " (0, 50, 0.170850597124056, u'in'),\n",
-       " (0, 94, 0.122105776261272, u'to'),\n",
-       " (0, 3, 0.0733609553984889, u'a'),\n",
-       " (0, 19, 0.0489885449670972, u'by'),\n",
-       " (1, 68, 0.125195129566032, u'of'),\n",
-       " (1, 9, 0.0939743990009366, u'and'),\n",
-       " (1, 36, 0.0315329378707462, u'domains'),\n",
-       " (1, 14, 0.0315329378707462, u'average'),\n",
-       " (1, 16, 0.0315329378707462, u'batting'),\n",
-       " (1, 54, 0.0315329378707462, u'large'),\n",
-       " (1, 56, 0.0315329378707462, u'latent'),\n",
-       " (1, 78, 0.0315329378707462, u'redwood\\u2013douglas'),\n",
-       " (1, 86, 0.0315329378707462, u'statistics'),\n",
-       " (1, 60, 0.0315329378707462, u'machine'),\n",
-       " (1, 26, 0.0315329378707462, u'coast'),\n",
-       " (1, 0, 0.0315329378707462, u'1960s'),\n",
-       " (1, 25, 0.0315329378707462, u'closely'),\n",
-       " (1, 87, 0.0315329378707462, u'strong'),\n",
-       " (1, 67, 0.0315329378707462, u'northwest'),\n",
-       " (1, 99, 0.0315329378707462, u'which'),\n",
-       " (1, 35, 0.0315329378707462, u'document'),\n",
-       " (1, 11, 0.0315329378707462, u'are'),\n",
-       " (1, 91, 0.0315329378707462, u'theory'),\n",
-       " (1, 33, 0.0315329378707462, u'discipline'),\n",
-       " (1, 75, 0.0315329378707462, u'pitching'),\n",
-       " (1, 49, 0.0315329378707462, u'hitting'),\n",
-       " (1, 97, 0.0315329378707462, u'variable'),\n",
-       " (1, 89, 0.0315329378707462, u'that'),\n",
-       " (1, 88, 0.0315329378707462, u'swung'),\n",
-       " (1, 30, 0.0315329378707462, u'deliver'),\n",
-       " (2, 68, 0.0955777460770328, u'of'),\n",
-       " (2, 101, 0.0480266286257727, u'won'),\n",
-       " (2, 63, 0.0480266286257727, u'methods'),\n",
-       " (2, 41, 0.0480266286257727, u'fir'),\n",
-       " (2, 83, 0.0480266286257727, u'specializes'),\n",
-       " (2, 77, 0.0480266286257727, u'ranges'),\n",
-       " (2, 37, 0.0480266286257727, u'dominated'),\n",
-       " (2, 100, 0.0480266286257727, u'with'),\n",
-       " (2, 22, 0.0480266286257727, u'center')]"
-      ]
-     },
-     "execution_count": 11,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS helper_output_table;\n",
-    "\n",
-    "SELECT madlib.lda_get_topic_desc( 'lda_model',                -- LDA model generated in training\n",
-    "                                  'documents_tf_vocabulary',  -- vocabulary table that maps wordid to word\n",
-    "                                  'helper_output_table',      -- output table for per-topic descriptions\n",
-    "                                  5);                         -- k: number of top words for each topic\n",
-    "\n",
-    "SELECT * FROM helper_output_table ORDER BY topicid, prob DESC LIMIT 40;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Get the per-word topic counts.  This mapping shows how many times a given word is assigned to a topic.  E.g., wordid 3 is assigned to topicid 0 three times. "
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 12,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "20 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>wordid</th>\n",
-       "        <th>topic_count</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>[0, 1, 0, 0, 0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>[1, 0, 0, 0, 0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>[1, 0, 0, 0, 0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>[3, 0, 0, 0, 0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>4</td>\n",
-       "        <td>[0, 0, 0, 0, 1]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>5</td>\n",
-       "        <td>[1, 0, 0, 0, 0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>6</td>\n",
-       "        <td>[1, 0, 0, 0, 0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>7</td>\n",
-       "        <td>[0, 0, 0, 1, 0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>8</td>\n",
-       "        <td>[0, 0, 1, 0, 0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>9</td>\n",
-       "        <td>[0, 3, 0, 0, 0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>10</td>\n",
-       "        <td>[1, 0, 0, 0, 0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>11</td>\n",
-       "        <td>[0, 1, 0, 0, 0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>12</td>\n",
-       "        <td>[0, 0, 1, 0, 0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>13</td>\n",
-       "        <td>[0, 0, 0, 0, 1]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>14</td>\n",
-       "        <td>[0, 1, 0, 0, 0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>15</td>\n",
-       "        <td>[0, 0, 0, 0, 1]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>16</td>\n",
-       "        <td>[0, 1, 0, 0, 0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>17</td>\n",
-       "        <td>[0, 0, 0, 1, 0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>18</td>\n",
-       "        <td>[1, 0, 0, 0, 0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>19</td>\n",
-       "        <td>[2, 0, 0, 0, 0]</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(0, [0, 1, 0, 0, 0]),\n",
-       " (1, [1, 0, 0, 0, 0]),\n",
-       " (2, [1, 0, 0, 0, 0]),\n",
-       " (3, [3, 0, 0, 0, 0]),\n",
-       " (4, [0, 0, 0, 0, 1]),\n",
-       " (5, [1, 0, 0, 0, 0]),\n",
-       " (6, [1, 0, 0, 0, 0]),\n",
-       " (7, [0, 0, 0, 1, 0]),\n",
-       " (8, [0, 0, 1, 0, 0]),\n",
-       " (9, [0, 3, 0, 0, 0]),\n",
-       " (10, [1, 0, 0, 0, 0]),\n",
-       " (11, [0, 1, 0, 0, 0]),\n",
-       " (12, [0, 0, 1, 0, 0]),\n",
-       " (13, [0, 0, 0, 0, 1]),\n",
-       " (14, [0, 1, 0, 0, 0]),\n",
-       " (15, [0, 0, 0, 0, 1]),\n",
-       " (16, [0, 1, 0, 0, 0]),\n",
-       " (17, [0, 0, 0, 1, 0]),\n",
-       " (18, [1, 0, 0, 0, 0]),\n",
-       " (19, [2, 0, 0, 0, 0])]"
-      ]
-     },
-     "execution_count": 12,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS helper_output_table;\n",
-    "\n",
-    "SELECT madlib.lda_get_word_topic_count( 'lda_model',            -- LDA model generated in training\n",
-    "                                        'helper_output_table'); -- output table for per-word topic counts\n",
-    "\n",
-    "SELECT * FROM helper_output_table ORDER BY wordid LIMIT 20;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Get the per-topic word counts.   This mapping shows which words are associated with each topic by frequency."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 13,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "5 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>topicid</th>\n",
-       "        <th>word_count</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>[0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 9, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>[1, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>[0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>4</td>\n",
-       "        <td>[0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 2, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(0, [0, 1, 1, 3, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 9, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0]),\n",
-       " (1, [1, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0]),\n",
-       " (2, [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0]),\n",
-       " (3, [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 2, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0]),\n",
-       " (4, [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 2, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1])]"
-      ]
-     },
-     "execution_count": 13,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS helper_output_table;\n",
-    "\n",
-    "SELECT madlib.lda_get_topic_word_count( 'lda_model',\n",
-    "                                        'helper_output_table');\n",
-    "\n",
-    "SELECT * FROM helper_output_table ORDER BY topicid;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Get the per-document word to topic mapping:"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 14,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "40 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>docid</th>\n",
-       "        <th>wordid</th>\n",
-       "        <th>topicid</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>54</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>42</td>\n",
-       "        <td>2</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>35</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>32</td>\n",
-       "        <td>2</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>29</td>\n",
-       "        <td>3</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>28</td>\n",
-       "        <td>4</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>24</td>\n",
-       "        <td>3</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>17</td>\n",
-       "        <td>3</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>11</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>8</td>\n",
-       "        <td>2</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>3</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>97</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>95</td>\n",
-       "        <td>3</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>90</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>85</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>80</td>\n",
-       "        <td>2</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>71</td>\n",
-       "        <td>3</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>68</td>\n",
-       "        <td>2</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>68</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>64</td>\n",
-       "        <td>3</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>56</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>1</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>0</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>102</td>\n",
-       "        <td>4</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>101</td>\n",
-       "        <td>2</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>100</td>\n",
-       "        <td>2</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>93</td>\n",
-       "        <td>3</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>90</td>\n",
-       "        <td>3</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>90</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>88</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>75</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>74</td>\n",
-       "        <td>3</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>68</td>\n",
-       "        <td>2</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>68</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>59</td>\n",
-       "        <td>3</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>57</td>\n",
-       "        <td>4</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>55</td>\n",
-       "        <td>3</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>53</td>\n",
-       "        <td>3</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>50</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>49</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(0, 54, 1),\n",
-       " (0, 42, 2),\n",
-       " (0, 35, 1),\n",
-       " (0, 32, 2),\n",
-       " (0, 29, 3),\n",
-       " (0, 28, 4),\n",
-       " (0, 24, 3),\n",
-       " (0, 17, 3),\n",
-       " (0, 11, 1),\n",
-       " (0, 8, 2),\n",
-       " (0, 3, 0),\n",
-       " (0, 97, 1),\n",
-       " (0, 95, 3),\n",
-       " (0, 90, 0),\n",
-       " (0, 85, 0),\n",
-       " (0, 80, 2),\n",
-       " (0, 71, 3),\n",
-       " (0, 68, 2),\n",
-       " (0, 68, 1),\n",
-       " (0, 64, 3),\n",
-       " (0, 56, 1),\n",
-       " (1, 1, 0),\n",
-       " (1, 0, 1),\n",
-       " (1, 102, 4),\n",
-       " (1, 101, 2),\n",
-       " (1, 100, 2),\n",
-       " (1, 93, 3),\n",
-       " (1, 90, 3),\n",
-       " (1, 90, 0),\n",
-       " (1, 88, 1),\n",
-       " (1, 75, 1),\n",
-       " (1, 74, 3),\n",
-       " (1, 68, 2),\n",
-       " (1, 68, 1),\n",
-       " (1, 59, 3),\n",
-       " (1, 57, 4),\n",
-       " (1, 55, 3),\n",
-       " (1, 53, 3),\n",
-       " (1, 50, 0),\n",
-       " (1, 49, 1)]"
-      ]
-     },
-     "execution_count": 14,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS helper_output_table;\n",
-    "\n",
-    "SELECT madlib.lda_get_word_topic_mapping('lda_output_data',\n",
-    "                                         'helper_output_table');\n",
-    "\n",
-    "SELECT * FROM helper_output_table ORDER BY docid LIMIT 40;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# 6. Predict\n",
-    "Use a learned LDA model for prediction (that is, to label new documents).  In this example, we use the same input table as we used to train, just for demonstration purpose.  Normally, the test document is a new one that we want to predict on."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 15,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "4 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>docid</th>\n",
-       "        <th>wordcount</th>\n",
-       "        <th>words</th>\n",
-       "        <th>counts</th>\n",
-       "        <th>topic_count</th>\n",
-       "        <th>topic_assignment</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>37</td>\n",
-       "        <td>[1, 50, 49, 46, 19, 16, 14, 9, 7, 0, 90, 68, 57, 102, 101, 100, 93, 88, 75, 74, 59, 55, 53, 48, 39, 21, 18, 15, 6, 2]</td>\n",
-       "        <td>[1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 5, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]</td>\n",
-       "        <td>[7, 3, 19, 2, 6]</td>\n",
-       "        <td>[2, 0, 0, 0, 2, 2, 2, 2, 2, 1, 2, 2, 3, 3, 0, 0, 0, 1, 1, 2, 2, 0, 4, 2, 2, 2, 4, 4, 4, 4, 2, 2, 2, 4, 2, 2, 2]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>3</td>\n",
-       "        <td>49</td>\n",
-       "        <td>[77, 78, 81, 82, 67, 65, 51, 45, 44, 43, 34, 26, 13, 98, 96, 94, 90, 84, 73, 68, 66, 61, 50, 41, 38, 37, 31, 23, 22, 20, 19, 12, 4, 3]</td>\n",
-       "        <td>[1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 11, 1, 1, 2, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]</td>\n",
-       "        <td>[20, 0, 3, 5, 21]</td>\n",
-       "        <td>[4, 4, 4, 4, 0, 0, 3, 4, 4, 3, 4, 4, 0, 4, 4, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3, 3, 0, 0, 4, 2, 2, 4, 4, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 0, 0, 4, 0]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>22</td>\n",
-       "        <td>[24, 17, 11, 95, 90, 85, 68, 54, 42, 35, 28, 8, 3, 97, 80, 71, 64, 56, 32, 29]</td>\n",
-       "        <td>[1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1]</td>\n",
-       "        <td>[0, 1, 3, 3, 15]</td>\n",
-       "        <td>[4, 4, 4, 2, 3, 3, 2, 1, 4, 4, 4, 2, 4, 4, 4, 4, 4, 3, 4, 4, 4, 4]</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>2</td>\n",
-       "        <td>36</td>\n",
-       "        <td>[10, 27, 33, 40, 47, 51, 58, 62, 63, 69, 72, 83, 100, 99, 94, 92, 91, 90, 89, 87, 86, 79, 76, 70, 60, 52, 50, 36, 30, 25, 9, 5, 3]</td>\n",
-       "        <td>[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1]</td>\n",
-       "        <td>[7, 0, 22, 1, 6]</td>\n",
-       "        <td>[2, 2, 2, 2, 2, 2, 4, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2, 0, 3, 4, 2, 4, 2, 2, 2, 4, 2, 0, 4, 2, 4, 2, 2, 2, 0]</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(1, 37, [1, 50, 49, 46, 19, 16, 14, 9, 7, 0, 90, 68, 57, 102, 101, 100, 93, 88, 75, 74, 59, 55, 53, 48, 39, 21, 18, 15, 6, 2], [1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 5, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [7, 3, 19, 2, 6], [2, 0, 0, 0, 2, 2, 2, 2, 2, 1, 2, 2, 3, 3, 0, 0, 0, 1, 1, 2, 2, 0, 4, 2, 2, 2, 4, 4, 4, 4, 2, 2, 2, 4, 2, 2, 2]),\n",
-       " (3, 49, [77, 78, 81, 82, 67, 65, 51, 45, 44, 43, 34, 26, 13, 98, 96, 94, 90, 84, 73, 68, 66, 61, 50, 41, 38, 37, 31, 23, 22, 20, 19, 12, 4, 3], [1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 11, 1, 1, 2, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [20, 0, 3, 5, 21], [4, 4, 4, 4, 0, 0, 3, 4, 4, 3, 4, 4, 0, 4, 4, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3, 3, 0, 0, 4, 2, 2, 4, 4, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 0, 0, 4, 0]),\n",
-       " (0, 22, [24, 17, 11, 95, 90, 85, 68, 54, 42, 35, 28, 8, 3, 97, 80, 71, 64, 56, 32, 29], [1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1], [0, 1, 3, 3, 15], [4, 4, 4, 2, 3, 3, 2, 1, 4, 4, 4, 2, 4, 4, 4, 4, 4, 3, 4, 4, 4, 4]),\n",
-       " (2, 36, [10, 27, 33, 40, 47, 51, 58, 62, 63, 69, 72, 83, 100, 99, 94, 92, 91, 90, 89, 87, 86, 79, 76, 70, 60, 52, 50, 36, 30, 25, 9, 5, 3], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1], [7, 0, 22, 1, 6], [2, 2, 2, 2, 2, 2, 4, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2, 0, 3, 4, 2, 4, 2, 2, 2, 4, 2, 0, 4, 2, 4, 2, 2, 2, 0])]"
-      ]
-     },
-     "execution_count": 15,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS outdata_predict;\n",
-    "\n",
-    "SELECT madlib.lda_predict( 'documents_tf',          -- Document to predict\n",
-    "                           'lda_model',             -- LDA model from training\n",
-    "                           'outdata_predict'                \n",
-    "                         );\n",
-    "\n",
-    "SELECT * FROM outdata_predict;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# 7. Helper function on prediction"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 16,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Done.\n",
-      "1 rows affected.\n",
-      "40 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>docid</th>\n",
-       "        <th>wordid</th>\n",
-       "        <th>topicid</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>42</td>\n",
-       "        <td>4</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>35</td>\n",
-       "        <td>4</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>32</td>\n",
-       "        <td>4</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>29</td>\n",
-       "        <td>4</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>28</td>\n",
-       "        <td>2</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>24</td>\n",
-       "        <td>4</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>17</td>\n",
-       "        <td>4</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>11</td>\n",
-       "        <td>4</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>8</td>\n",
-       "        <td>4</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>3</td>\n",
-       "        <td>4</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>97</td>\n",
-       "        <td>4</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>95</td>\n",
-       "        <td>2</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>90</td>\n",
-       "        <td>3</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>85</td>\n",
-       "        <td>3</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>80</td>\n",
-       "        <td>4</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>71</td>\n",
-       "        <td>4</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>68</td>\n",
-       "        <td>2</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>68</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>64</td>\n",
-       "        <td>4</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>64</td>\n",
-       "        <td>3</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>56</td>\n",
-       "        <td>4</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>0</td>\n",
-       "        <td>54</td>\n",
-       "        <td>4</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>6</td>\n",
-       "        <td>2</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>2</td>\n",
-       "        <td>2</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>1</td>\n",
-       "        <td>2</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>0</td>\n",
-       "        <td>2</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>102</td>\n",
-       "        <td>2</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>101</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>100</td>\n",
-       "        <td>4</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>93</td>\n",
-       "        <td>2</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>90</td>\n",
-       "        <td>3</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>90</td>\n",
-       "        <td>0</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>88</td>\n",
-       "        <td>2</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>75</td>\n",
-       "        <td>2</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>74</td>\n",
-       "        <td>4</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>68</td>\n",
-       "        <td>1</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>59</td>\n",
-       "        <td>4</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>57</td>\n",
-       "        <td>2</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>55</td>\n",
-       "        <td>4</td>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>1</td>\n",
-       "        <td>53</td>\n",
-       "        <td>4</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(0, 42, 4),\n",
-       " (0, 35, 4),\n",
-       " (0, 32, 4),\n",
-       " (0, 29, 4),\n",
-       " (0, 28, 2),\n",
-       " (0, 24, 4),\n",
-       " (0, 17, 4),\n",
-       " (0, 11, 4),\n",
-       " (0, 8, 4),\n",
-       " (0, 3, 4),\n",
-       " (0, 97, 4),\n",
-       " (0, 95, 2),\n",
-       " (0, 90, 3),\n",
-       " (0, 85, 3),\n",
-       " (0, 80, 4),\n",
-       " (0, 71, 4),\n",
-       " (0, 68, 2),\n",
-       " (0, 68, 1),\n",
-       " (0, 64, 4),\n",
-       " (0, 64, 3),\n",
-       " (0, 56, 4),\n",
-       " (0, 54, 4),\n",
-       " (1, 6, 2),\n",
-       " (1, 2, 2),\n",
-       " (1, 1, 2),\n",
-       " (1, 0, 2),\n",
-       " (1, 102, 2),\n",
-       " (1, 101, 0),\n",
-       " (1, 100, 4),\n",
-       " (1, 93, 2),\n",
-       " (1, 90, 3),\n",
-       " (1, 90, 0),\n",
-       " (1, 88, 2),\n",
-       " (1, 75, 2),\n",
-       " (1, 74, 4),\n",
-       " (1, 68, 1),\n",
-       " (1, 59, 4),\n",
-       " (1, 57, 2),\n",
-       " (1, 55, 4),\n",
-       " (1, 53, 4)]"
-      ]
-     },
-     "execution_count": 16,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "DROP TABLE IF EXISTS helper_output_table;\n",
-    "\n",
-    "SELECT madlib.lda_get_word_topic_mapping('outdata_predict',  -- Output table from prediction\n",
-    "                                         'helper_output_table');\n",
-    "\n",
-    "SELECT * FROM helper_output_table ORDER BY docid LIMIT 40;"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# 8. Perplexity\n",
-    "\n",
-    "Call perplexity function to see how well the model fits the data.  Perplexity computes word likelihoods averaged over the test documents."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 17,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1 rows affected.\n"
-     ]
-    },
-    {
-     "data": {
-      "text/html": [
-       "<table>\n",
-       "    <tr>\n",
-       "        <th>lda_get_perplexity</th>\n",
-       "    </tr>\n",
-       "    <tr>\n",
-       "        <td>86.6029912205</td>\n",
-       "    </tr>\n",
-       "</table>"
-      ],
-      "text/plain": [
-       "[(86.6029912205131,)]"
-      ]
-     },
-     "execution_count": 17,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "%%sql\n",
-    "SELECT madlib.lda_get_perplexity( 'lda_model',\n",
-    "                                  'outdata_predict'\n",
-    "                                );"
-   ]
-  }
- ],
- "metadata": {
-  "kernelspec": {
-   "display_name": "Python 2",
-   "language": "python",
-   "name": "python2"
-  },
-  "language_info": {
-   "codemirror_mode": {
-    "name": "ipython",
-    "version": 2
-   },
-   "file_extension": ".py",
-   "mimetype": "text/x-python",
-   "name": "python",
-   "nbconvert_exporter": "python",
-   "pygments_lexer": "ipython2",
-   "version": "2.7.12"
-  }
- },
- "nbformat": 4,
- "nbformat_minor": 1
-}