[7bf731]: / 11-Docker / 02-LightBGM_v2.ipynb

Download this file

731 lines (730 with data), 125.8 kB

{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Gloabl Experiment Setup"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "from sklearn.model_selection import train_test_split\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "import numpy as np\n",
    "from sklearn.preprocessing import MinMaxScaler\n",
    "from sklearn.preprocessing import PolynomialFeatures\n",
    "import lightgbm as lgb\n",
    "from sklearn.metrics import accuracy_score\n",
    "\n",
    "def load_data(path):\n",
    "    df = pd.read_csv(path)\n",
    "    train_df, test_df = train_test_split(df, test_size=0.35, random_state=42)\n",
    "    train_df, val_df,  = train_test_split(train_df, test_size=0.20, random_state=42)\n",
    "    train_df = train_df.drop(['id'], axis=1).drop_duplicates().reset_index(drop=True)\n",
    "    test_df = test_df.drop(['id'], axis=1).drop_duplicates().reset_index(drop=True)\n",
    "    val_df = val_df.drop(['id'], axis=1).drop_duplicates().reset_index(drop=True)\n",
    "    return train_df, val_df, test_df\n",
    "\n",
    "def encode_target(train):\n",
    "    target_key = {'Insufficient_Weight': 0, 'Normal_Weight': 1, 'Overweight_Level_I': 2, 'Overweight_Level_II': 3, 'Obesity_Type_I': 4,'Obesity_Type_II' : 5, 'Obesity_Type_III': 6}\n",
    "    train['NObeyesdad'] = train['NObeyesdad'].map(target_key)\n",
    "    return train\n",
    "\n",
    "def make_gender_binary(train):\n",
    "    train['Gender'] = train['Gender'].map({'Male':0, 'Female':1})\n",
    "\n",
    "def datatypes(train):\n",
    "    train['Weight'] = train['Weight'].astype(float)\n",
    "    train['Age'] = train['Age'].astype(float)\n",
    "    train['Height'] = train['Height'].astype(float)\n",
    "    return train\n",
    "\n",
    "# def age_binning(train_df):\n",
    "#     train_df['Age_Group'] = pd.cut(train_df['Age'], bins=[0, 20, 30, 40, 50, train_df['Age'].max()], labels=['0-20', '21-30', '31-40', '41-50', '50+'])\n",
    "#     return train_df\n",
    "\n",
    "def age_binning(df):\n",
    "    age_groups = []\n",
    "    for age in df['Age']:\n",
    "        if age <= 20:\n",
    "            age_group = 1\n",
    "        elif age <= 30:\n",
    "            age_group = 2\n",
    "        elif age <= 40:\n",
    "            age_group = 3\n",
    "        elif age <= 50:\n",
    "            age_group = 4\n",
    "        else:\n",
    "            age_group = 5\n",
    "        age_groups.append(age_group)\n",
    "    df['Age_Group'] = age_groups\n",
    "    return df\n",
    "\n",
    "def age_scaling_log(train_df):\n",
    "    train_df['Age'] = train_df['Age'].astype(float)\n",
    "    train_df['Log_Age'] = np.log1p(train_df['Age'])\n",
    "    return train_df\n",
    "\n",
    "def age_scaling_minmax(train_df):\n",
    "    train_df['Age'] = train_df['Age'].astype(float)\n",
    "    scaler_age = MinMaxScaler()\n",
    "    train_df['Scaled_Age'] = scaler_age.fit_transform(train_df['Age'].values.reshape(-1, 1))\n",
    "    return train_df, scaler_age\n",
    "\n",
    "def weight_scaling_log(train_df):\n",
    "    train_df['Weight'] = train_df['Weight'].astype(float)\n",
    "    train_df['Log_Weight'] = np.log1p(train_df['Weight'])\n",
    "    return train_df\n",
    "\n",
    "def weight_scaling_minmax(train_df):\n",
    "    train_df['Weight'] = train_df['Weight'].astype(float)\n",
    "    scaler_weight = MinMaxScaler()\n",
    "    train_df['Scaled_Weight'] = scaler_weight.fit_transform(train_df['Weight'].values.reshape(-1, 1))\n",
    "    return train_df, scaler_weight\n",
    "\n",
    "def height_scaling_log(train_df):\n",
    "    train_df['Log_Height'] = np.log1p(train_df['Height'])\n",
    "    return train_df\n",
    "\n",
    "def height_scaling_minmax(train_df):\n",
    "    scaler_height = MinMaxScaler()\n",
    "    train_df['Scaled_Height'] = scaler_height.fit_transform(train_df['Height'].values.reshape(-1, 1))\n",
    "    return train_df, scaler_height\n",
    "\n",
    "def make_gender_binary(train):\n",
    "    train['Gender'] = train['Gender'].map({'Female':1, 'Male':0})\n",
    "    return train\n",
    "\n",
    "def fix_binary_columns(train):\n",
    "    Binary_Cols = ['family_history_with_overweight','FAVC', 'SCC','SMOKE']\n",
    "    # if yes then 1 else 0\n",
    "    for col in Binary_Cols:\n",
    "        train[col] = train[col].map({'yes': 1, 'no': 0})\n",
    "    return train\n",
    "\n",
    "def freq_cat_cols(train):\n",
    "    # One hot encoding\n",
    "    cat_cols = ['CAEC', 'CALC']\n",
    "    for col in cat_cols:\n",
    "        train[col] = train[col].map({'no': 0, 'Sometimes': 1, 'Frequently': 2, 'Always': 3})\n",
    "    return train\n",
    "\n",
    "def Mtrans(train):\n",
    "    \"\"\"\n",
    "    Public_Transportation    8692\n",
    "    Automobile               1835\n",
    "    Walking                   231\n",
    "    Motorbike                  19\n",
    "    Bike                       16\n",
    "    \"\"\"\n",
    "    # train['MTRANS'] = train['MTRANS'].map({'Public_Transportation': 3, 'Automobile': 5, 'Walking': 1, 'Motorbike': 4, 'Bike': 2})\n",
    "    # dummify column\n",
    "    train = pd.get_dummies(train, columns=['MTRANS'])\n",
    "    return train\n",
    "\n",
    "\n",
    "def other_features(train):\n",
    "    train['BMI'] = train['Weight'] / (train['Height'] ** 2)\n",
    "    # train['Age'*'Gender'] = train['Age'] * train['Gender']\n",
    "    polynomial_features = PolynomialFeatures(degree=2)\n",
    "    X_poly = polynomial_features.fit_transform(train[['Age', 'BMI']])\n",
    "    poly_features_df = pd.DataFrame(X_poly, columns=['Age^2', 'Age^3', 'BMI^2', 'Age * BMI', 'Age * BMI^2', 'Age^2 * BMI^2'])\n",
    "    train = pd.concat([train, poly_features_df], axis=1)\n",
    "    return train\n",
    "\n",
    "\n",
    "def test_pipeline(test, scaler_age, scaler_weight, scaler_height):\n",
    "    test = datatypes(test)\n",
    "    test = encode_target(test)\n",
    "    test = age_binning(test)\n",
    "    test = age_scaling_log(test)\n",
    "    test['Scaled_Age'] = scaler_age.transform(test['Age'].values.reshape(-1, 1))\n",
    "    test = weight_scaling_log(test)\n",
    "    test['Scaled_Weight'] = scaler_weight.transform(test['Weight'].values.reshape(-1, 1))\n",
    "    test = height_scaling_log(test)\n",
    "    test['Scaled_Height'] = scaler_height.transform(test['Height'].values.reshape(-1, 1))\n",
    "    test = make_gender_binary(test)\n",
    "    test = fix_binary_columns(test)\n",
    "    test = freq_cat_cols(test)\n",
    "    test = Mtrans(test)\n",
    "    test = other_features(test)\n",
    "\n",
    "    return test\n",
    "\n",
    "def train_model(params, X_train, y_train):\n",
    "    lgb_train = lgb.Dataset(X_train, y_train)\n",
    "    model = lgb.train(params, lgb_train, num_boost_round=1000)\n",
    "    return model\n",
    "\n",
    "def evaluate_model(model, X_val, y_val):\n",
    "    y_pred = model.predict(X_val)\n",
    "    y_pred = [np.argmax(y) for y in y_pred]\n",
    "    accuracy = accuracy_score(y_val, y_pred)\n",
    "    return accuracy\n",
    "\n",
    "def objective(trial, X_train, y_train):\n",
    "    params = {\n",
    "        'objective': 'multiclass',\n",
    "        'num_class': 7,\n",
    "        'metric': 'multi_logloss',\n",
    "        'boosting_type': 'gbdt',\n",
    "        'learning_rate': trial.suggest_loguniform('learning_rate', 0.005, 0.5),\n",
    "        'num_leaves': trial.suggest_int('num_leaves', 10, 1000),\n",
    "        'max_depth': trial.suggest_int('max_depth', -1, 20),\n",
    "        'bagging_fraction': trial.suggest_uniform('bagging_fraction', 0.6, 0.95),\n",
    "        'feature_fraction': trial.suggest_uniform('feature_fraction', 0.6, 0.95),\n",
    "        'verbosity': -1\n",
    "    }\n",
    "\n",
    "    n_splits = 5\n",
    "    kf = StratifiedKFold(n_splits=n_splits, shuffle=True, random_state=42)\n",
    "    scores = []\n",
    "\n",
    "    for train_index, val_index in kf.split(X_train, y_train):\n",
    "        X_tr, X_val = X_train.iloc[train_index], X_train.iloc[val_index]\n",
    "        y_tr, y_val = y_train.iloc[train_index], y_train.iloc[val_index]\n",
    "\n",
    "        model = train_model(params, X_tr, y_tr)\n",
    "        accuracy = evaluate_model(model, X_val, y_val)\n",
    "        scores.append(accuracy)\n",
    "\n",
    "    return np.mean(scores)\n",
    "\n",
    "def optimize_hyperparameters(X_train, y_train, n_trials=2):\n",
    "    study = optuna.create_study(direction='maximize')\n",
    "    study.optimize(lambda trial: objective(trial, X_train, y_train), n_trials=n_trials)\n",
    "    return study.best_params\n",
    "\n",
    "def New_Test_Instances_Pipeline(test, scaler_age, scaler_weight, scaler_height):\n",
    "    test = datatypes(test)\n",
    "    test = age_binning(test)\n",
    "    test = age_scaling_log(test)\n",
    "    test['Scaled_Age'] = scaler_age.transform(test['Age'].values.reshape(-1, 1))\n",
    "    test = weight_scaling_log(test)\n",
    "    test['Scaled_Weight'] = scaler_weight.transform(test['Weight'].values.reshape(-1, 1))\n",
    "    test = height_scaling_log(test)\n",
    "    test['Scaled_Height'] = scaler_height.transform(test['Height'].values.reshape(-1, 1))\n",
    "    test = make_gender_binary(test)\n",
    "    test = fix_binary_columns(test)\n",
    "    test = freq_cat_cols(test)\n",
    "    test = Mtrans(test)\n",
    "    test = other_features(test)\n",
    "\n",
    "    return test"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Experiment"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Accuracy: 0.9952747150931159\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABBMAAAK9CAYAAAB2ACT5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/SrBM8AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeXiM1///8edkMdmFiEraEPtSa20VS1FLUKqb1lJSdLVvJaXE1thatHzQCmmLlraKEtFQoWpfi7ZKSVVJa48IMcnM7w+/mW+nE2QUieT1uK65kvts9zkzR8y859znNlgsFgsiIiIiIiIiItnkktMdEBEREREREZH7i4IJIiIiIiIiIuIUBRNERERERERExCkKJoiIiIiIiIiIUxRMEBERERERERGnKJggIiIiIiIiIk5RMEFEREREREREnKJggoiIiIiIiIg4RcEEEREREREREXGKggkiIiIieVRsbCwGg4GkpKSc7oqIiOQxCiaIiIhInmH98JzVY9iwYXflnJs3byYqKooLFy7clfbzs7S0NKKiokhMTMzproiIyL+45XQHRERERO60MWPGULJkSbu0ypUr35Vzbd68mdGjRxMREYG/v/9dOcftevHFF3nhhRcwGo053ZXbkpaWxujRowFo3LhxznZGRETsKJggIiIieU6rVq2oVatWTnfjP7l8+TLe3t7/qQ1XV1dcXV3vUI/uHbPZzLVr13K6GyIichO6zEFERETyndWrV9OwYUO8vb3x9fWlTZs2HDx40K7Mjz/+SEREBKVKlcLDw4NixYrRvXt3zp49aysTFRXFkCFDAChZsqTtkoqkpCSSkpIwGAzExsY6nN9gMBAVFWXXjsFg4KeffqJTp04UKlSIBg0a2PIXLFhAzZo18fT0pHDhwrzwwgv88ccftxxnVnsmhIaG8sQTT5CYmEitWrXw9PSkSpUqtksJli5dSpUqVfDw8KBmzZrs2bPHrs2IiAh8fHw4evQoLVu2xNvbm+DgYMaMGYPFYrEre/nyZQYNGkRISAhGo5Hy5cszZcoUh3IGg4HevXuzcOFCHn74YYxGI7NnzyYwMBCA0aNH255b6/OWndfnn8/tkSNHbKtHChYsyEsvvURaWprDc7ZgwQLq1KmDl5cXhQoVolGjRnz77bd2ZbIzf0RE8jqtTBAREZE85+LFi5w5c8YurUiRIgB8+umndOvWjZYtWzJx4kTS0tKYNWsWDRo0YM+ePYSGhgKQkJDA0aNHeemllyhWrBgHDx7kww8/5ODBg2zduhWDwcDTTz/Nr7/+ymeffcbUqVNt5wgMDOT06dNO9/u5556jbNmyvPPOO7YP3OPHj+ftt9+mQ4cO9OzZk9OnT/PBBx/QqFEj9uzZc1uXVhw5coROnTrx6quv0qVLF6ZMmULbtm2ZPXs2b731Fm+88QYA0dHRdOjQgUOHDuHi8n/fQWVmZhIeHs6jjz7KpEmTiI+PZ9SoUWRkZDBmzBgALBYL7dq1Y/369fTo0YPq1auzZs0ahgwZwp9//snUqVPt+vTdd9+xZMkSevfuTZEiRahWrRqzZs3i9ddf56mnnuLpp58GoGrVqkD2Xp9/6tChAyVLliQ6Oprdu3czd+5cihYtysSJE21lRo8eTVRUFGFhYYwZM4YCBQqwbds2vvvuO1q0aAFkf/6IiOR5FhEREZE8Yv78+RYgy4fFYrFcunTJ4u/vb3n55Zft6iUnJ1sKFixol56WlubQ/meffWYBLBs3brSlTZ482QJYjh07Zlf22LFjFsAyf/58h3YAy6hRo2zHo0aNsgCWjh072pVLSkqyuLq6WsaPH2+Xvn//foubm5tD+o2ej3/2rUSJEhbAsnnzZlvamjVrLIDF09PT8vvvv9vS58yZYwEs69evt6V169bNAlj69OljSzObzZY2bdpYChQoYDl9+rTFYrFYli1bZgEs48aNs+vTs88+azEYDJYjR47YPR8uLi6WgwcP2pU9ffq0w3Nlld3Xx/rcdu/e3a7sU089ZQkICLAdHz582OLi4mJ56qmnLJmZmXZlzWazxWJxbv6IiOR1usxBRERE8pyZM2eSkJBg94Dr32ZfuHCBjh07cubMGdvD1dWVunXrsn79elsbnp6ett+vXr3KmTNnePTRRwHYvXv3Xen3a6+9Zne8dOlSzGYzHTp0sOtvsWLFKFu2rF1/nVGpUiXq1atnO65bty4ATZs2pXjx4g7pR48edWijd+/ett+tlylcu3aNtWvXAhAXF4erqyt9+/a1qzdo0CAsFgurV6+2S3/ssceoVKlStsfg7Ovz7+e2YcOGnD17lpSUFACWLVuG2Wxm5MiRdqswrOMD5+aPiEhep8scREREJM+pU6dOlhswHj58GLj+oTkrfn5+tt/PnTvH6NGj+fzzz/n777/tyl28ePEO9vb//PsOFIcPH8ZisVC2bNksy7u7u9/Wef4ZMAAoWLAgACEhIVmmnz9/3i7dxcWFUqVK2aWVK1cOwLY/w++//05wcDC+vr525SpWrGjL/6d/j/1WnH19/j3mQoUKAdfH5ufnx2+//YaLi8tNAxrOzB8RkbxOwQQRERHJN8xmM3D9uvdixYo55Lu5/d9bow4dOrB582aGDBlC9erV8fHxwWw2Ex4ebmvnZv59zb5VZmbmDev889t2a38NBgOrV6/O8q4MPj4+t+xHVm50h4cbpVv+tWHi3fDvsd+Ks6/PnRibM/NHRCSv0188ERERyTdKly4NQNGiRWnWrNkNy50/f55169YxevRoRo4caUu3fjP9TzcKGli/+b5w4YJd+r+/kb9Vfy0WCyVLlrR9858bmM1mjh49atenX3/9FcC2AWGJEiVYu3Ytly5dslud8Msvv9jyb+VGz60zr092lS5dGrPZzE8//UT16tVvWAZuPX9ERPID7ZkgIiIi+UbLli3x8/PjnXfewWQyOeRb78Bg/Rb7399aT5s2zaGOt7c34Bg08PPzo0iRImzcuNEu/X//+1+2+/v000/j6urK6NGjHfpisVgcboN4L82YMcOuLzNmzMDd3Z3HH38cgNatW5OZmWlXDmDq1KkYDAZatWp1y3N4eXkBjs+tM69PdrVv3x4XFxfGjBnjsLLBep7szh8RkfxAKxNEREQk3/Dz82PWrFm8+OKLPPLII7zwwgsEBgZy/PhxVq1aRf369ZkxYwZ+fn40atSISZMmYTKZePDBB/n22285duyYQ5s1a9YEYPjw4bzwwgu4u7vTtm1bvL296dmzJxMmTKBnz57UqlWLjRs32r7Bz47SpUszbtw4IiMjSUpKon379vj6+nLs2DG+/vprXnnlFQYPHnzHnp/s8vDwID4+nm7dulG3bl1Wr17NqlWreOuttwgMDASgbdu2NGnShOHDh5OUlES1atX49ttvWb58Of3797d9y38znp6eVKpUicWLF1OuXDkKFy5M5cqVqVy5crZfn+wqU6YMw4cPZ+zYsTRs2JCnn34ao9HIjh07CA4OJjo6OtvzR0QkP1AwQURERPKVTp06ERwczIQJE5g8eTLp6ek8+OCDNGzYkJdeeslWbtGiRfTp04eZM2disVho0aIFq1evJjg42K692rVrM3bsWGbPnk18fDxms5ljx47h7e3NyJEjOX36NF9++SVLliyhVatWrF69mqJFi2a7v8OGDaNcuXJMnTqV0aNHA9c3SmzRogXt2rW7M0+Kk1xdXYmPj+f1119nyJAh+Pr6MmrUKLtLDlxcXFixYgUjR45k8eLFzJ8/n9DQUCZPnsygQYOyfa65c+fSp08fBgwYwLVr1xg1ahSVK1fO9uvjjDFjxlCyZEk++OADhg8fjpeXF1WrVuXFF1+0lcnu/BERyesMlnuxo46IiIiI5AkRERF8+eWXpKam5nRXREQkB2nPBBERERERERFxioIJIiIiIiIiIuIUBRNERERERERExCnaM0FEREREREREnKKVCSIiIiIiIiLiFAUTRERERERERMQpbjndARHJeWazmZMnT+Lr64vBYMjp7oiIiIiISA6xWCxcunSJ4OBgXFxuvP5AwQQR4eTJk4SEhOR0N0REREREJJf4448/eOihh26Yr2CCiODr6wvAsWPHKFy4cA73RnKKyWTi22+/pUWLFri7u+d0dyQHaS6IleaCWGkuiJXmQt6XkpJCSEiI7TPCjSiYICK2Sxt8fX3x8/PL4d5ITjGZTHh5eeHn56c3B/mc5oJYaS6IleaCWGku5B+3uvxZGzCKiIiIiIiIiFMUTBARERERERERpyiYICIiIiIiIiJOUTBBRERERERERJyiYIKIiIiIiIiIOEXBBBERERERERFxioIJIiIiIiIiIuIUBRNERERERERExCkKJoiIiIiIiIiIUxRMEBERERERERGnKJggIiIiIiIiIk5RMEFEREREREREnKJggoiIiIiIiIg4RcEEEREREREREXGKggkiIiIiIiIi4hQFE0RERERERCRfio6Opnbt2vj6+lK0aFHat2/PoUOHHMpt2bKFpk2b4u3tjZ+fH40aNeLKlSu2/N27d9O8eXP8/f0JCAjglVdeITU11a6Nvn37UrNmTYxGI9WrV8+yP2vWrOHRRx/F19eXwMBAnnnmGZKSku7kkO8YBRNEckBiYiIGg4ELFy5ku05UVNQN/+iIiIiIiIjzNmzYQK9evdi6dSsJCQmYTCZatGjB5cuXbWW2bNlCeHg4LVq0YPv27ezYsYPevXvj4nL94/TJkydp1qwZZcqUYdu2bcTHx3Pw4EEiIiIczte9e3eef/75LPty7NgxnnzySZo2bcrevXtZ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t96iRIkSN/xSMicpmCCSTU2aNCExMZHz588zZMgQW3qjRo1YvXo127dv5/XXX6dSpUoYjUaOHz+e5SUNWSlfvjw7duywS/v3cXYUKFCAzEzteSAiIiIikh2zZs0CsG2obmW9owJA//79uXr1KgMGDODcuXNUq1aNhIQEuzu4bd++nVGjRpGamkqFChWYM2eObT8Fq549e7JhwwbbsTVAYN00vWnTpixatIhJkyYxadIkvLy8qFevHvHx8ba7Q+QmCiaIZFOTJk3o1asXJpPJLkjw2GOP0bt3b65du0aTJk3w9fVl8ODBDBgwALPZTIMGDbh48SI//PADfn5+dOvWzaHtPn360KhRI9577z3atm3Ld999x+rVq53eZCU0NJRt27aRlJSEj48PhQsXtrtFjYiIiIiI/B+LJXt3pRg2bJhtM/asfPLJJ7dsIzEx8ZZlXnjhBV544YVs9Smn6VOGSDY1adKEK1euUKZMGR544AFb+mOPPcalS5dst5AEGDt2LG+//TbR0dFUrFiR8PBwVq1aZbeZyz/Vr1+f2bNn895771GtWjXi4+MZMGCA7Rqp7Bo8eDCurq5UqlSJwMBAjh8/fvsDFhERERERuQGDJbuhGBG5p15++WV++eUXvv/++7t+rpSUFAoWLMiZM2e0Z0I+Zr0GsnXr1nniGki5fZoLYqW5IFaaC2KluZD3WT8bXLx4ET8/vxuW02UOIrnElClTaN68Od7e3qxevZqPP/6Y//3vfzndLREREREREQcKJojkEtu3b2fSpElcunSJUqVK8f7779OzZ8+c7paIiIiIiIgDBRNEcoklS5bkdBdERERERESyRRswioiIiIiIiIhTFEwQEREREREREacomCAiIiIiIiIiTlEwQUREREREREScomCCiIiIiIiIiDhFwQQRERERERERcYqCCSIiIiIiIiLiFAUTRERERERERMQpCiaIiIiIiIhItn355ZfUq1cPX19fihYtSvv27Tl06FCWZS0WC61atcJgMLBs2TK7vHXr1hEWFoavry/FihVj6NChZGRk2PKjoqIwGAwOD29vb7t2vvjiCypUqICHhwdVqlQhLi7ujo9ZHCmYIJLDIiIi7P44BgQEEB4ezo8//mgrY83bunWrXd309HQCAgIwGAwkJibalf/3H2sRERERkTvh4MGDvP7662zdupWEhARMJhMt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HuGnn35yCDjcSPny5fnjjz/466+/bBvv7Nixw+nzFihQwO5yCxERERH5b6yrURs3bmyXPn/+fCIiIti9ezfbtm0DcHjvd+zYMUJDQ/H09OSjjz5iwIABpKenExISwtNPP82wYcNsZUuWLMmqVasYMGAA06dP56GHHmLu3Lm220IC1K5dm6+//prIyEjGjBlDyZIlmTZtGp07d75Loxe5OQUTRO6woUOH8uijj9K7d2969uyJt7c3P/30EwkJCcyYMcOhfPPmzSldujTdunVj0qRJXLp0iREjRgD/t/ogO0JDQ0lNTWXdunVUq1YNLy+vbC2zExEREZGsWSw333CycePGtyzTpEkTNm/efMtzNW7cmD179ty0zBNPPMETTzxxy7ZE7gXdGlLkDqtatSobNmzg119/pWHDhtSoUYORI0cSHBycZXlXV1eWLVtGamoqtWvXpmfPngwfPhzAYbPGmwkLC+O1117j+eefJzAwkEmTJt2R8YiIiIiIiPybViaIOCE2NjbL9H9HpWvXrs233357w3aSkpLsjitUqMCmTZtsxz/88APwf8vlQkNDHaLe/v7+DmmzZs1y2BxSRERERETkTlMwQSQX+Prrr/Hx8aFs2bIcOXKEfv36Ub9+fUqXLp3TXRMREREREXGgYIJILnDp0iWGDh3K8ePHKVKkCM2aNePdd9/N6W6JiIiIiIhkScEEkVyga9eudO3aNae7ISIiIiIiki3agFFEREREREREnKJggoiIiIiIiIg4RcEEEREREREREXGKggkiIiIiIiIi4hQFE0RERERERETEKQomiIiIiIiIiIhTFEwQEREREREREacomCAiIiIiIiIiTlEwQURERERE8rXo6Ghq166Nr68vRYsWpX379hw6dMiWf+7cOfr06UP58uXx9PSkePHi9O3bl4sXL9q1c/z4cdq0aYOXlxdFixZlyJAhZGRk2JVJT09n+PDhlChRAqPRSGhoKPPmzcuyX59//jkGg4H27dvf8TGL/FcKJojkUleuXKFhw4YYDAamTp2a090RERERybM2bNhAr1692Lp1KwkJCZhMJlq0aMHly5cBOHnyJCdPnmTKlCkcOHCA2NhY4uPj6dGjh62NzMxM2rRpw7Vr19i8eTMff/wxsbGxjBw50u5cHTp0YN26dcTExHDo0CE+++wzypcv79CnpKQkBg8eTMOG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CyY469y5cyxcuJCwsDDc3d2zLDN37lzKlStHw4YNb+scIpJ7KJggkoOWLFlChQoVKF++PF26dKF///5ERkZiMBg4duwYzz77LP369aNnz57s2bOHwYMH29X/7bffCA8PZ9y4ccybN4/Tp0/Tu3dvevfuzfz582943vT0dNsbCYCUlBQAjC4WXF0td2ewkusZXSx2PyX/0lwQK82F+4/JZMoyPSMjw5ZXunRpihcvztChQ/nf//6Ht7c306dP58SJE5w8edKhjYyMjJu2HxkZyaxZs0hLS6Nu3bosW7Ysy3JXr15l4cKFDBky5Ib9lNzP+trpNcy7svvaGiwWi/53EMkh9evXp0OHDvTr14+MjAyCgoL44osvaNy4McOGDWPVqlXs37/fVn7EiBGMHz/etjKhZ8+euLq6MmfOHFuZTZs28dhjj3H58mW7bxz+KSoqitGjRzukL1q0CC8vrzs/UBEREckx7du3Z9iwYTz66KO2tCNHjjBjxgySkpJwcXGhWrVqGAzXV5+MHDnSrv7+/ft5++23WbBggd0lC1YpKSlcunSJ06dPs3jxYry8vBgxYoStPauNGzcyffp0YmJibCssRST3SUtLo1OnTly8eBE/P78bltPKBJEccujQIbZv387XX38NgJubG88//zwxMTE0btyYQ4cOUbt2bbs6derUsTvet28fP/74IwsXLrSlWSwWzGYzx44do2LFilmeOzIykoEDB9qOU1JSCAkJYdweFzLcXe/UEOU+Y3SxMLaWmbd3upBu1nLm/ExzQaw0F+4/B6JaZples2ZNWrdubZfWt29fLl68yLVr1wgMDKR+/fpZlvvnpZPNmze/4SUMAF27dqVUqVIEBATYBS8Apk+fTps2bejUqZOzw5JcxGQykZCQcMu5IPcv66rlW1EwQSSHxMTEkJGRYbfhosViwWg0MmPGjGy1kZqayquvvkrfvn0d8ooXL37DekajEaPR6JCebjaQoWti8710s0HXRguguSD/R3Ph/nGjD3dubm5Z5hUpUgS4vinjrl27GDdunEM5N7f/+8jg7u5+0w+Qrq7Xv5TIzMy0K3fs2DESExNZsWKFPoDmEbeaC3L/yu7rqmCCSA7IyMjgk08+4d1336VFixZ2ee3bt+ezzz6jfPnyxMXF2eXt2LHD7viRRx7hp59+okyZMnekX9siHycgIOCOtCX3H5PJRFxcHAeiWurNQT6nuSBWmgv3r9TUVI4cOWI7PnbsGHv37qVw4cIUL16cL774gsDAQIoXL87+/fvp168f7du3t3tfkpycTHJysq2d33//nb1791K6dGkKFy7Mtm3b2LFjBw0aNKBQoUL89ttvvP3225QuXZp69erZ9WfevHkEBQXd8A4TInL/ccnpDojkRytXruT8+fP06NGDypUr2z2eeeYZYmJiePXVV/nll18YOnQov/76K0uWLCE2NhbAdg3i0KFD2bx5M71792bv3r0cPnyY5cuX07t37xwcnYiIiOS0nTt3UqNGDWrUqAHAwIEDqVGjhm0/hFOnTvHiiy9SoUIF+vbty4svvshnn31m18bs2bOpUaMGL7/8MgDDhw+nTp06rFixAgAvLy+WLl3K448/Tvny5enRowdVq1Zlw4YNdisgzWYzsbGxRERE2FYuiMj9TxswiuSAtm3bYjabWbVqlUPe9u3bqVu3Lvv27SMpKcnu1pDPP/88r7/+OleuXLFtrrhjxw6GDx/Oli1bsFgslC5dmueff97uFpO3kpKSQsGCBTlz5oxWJuRj1m8gW7durW8g8znNBbHSXBArzQWx0lzI+6yfDbQBo0gu9M0339wwr06dOlhjfFWrVqVdu3a2vPHjx/PQQw/Z3aWhdu3afPvtt3evsyIiIiIiIv+iYIJILva///2P2rVrExAQwA8//MDkyZN1CYOIiIiIiOQ4BRNEcrHDhw8zbtw4zp07R/HixRk0aBCRkZE53S0REREREcnnFEwQycWmTp3K1KlTc7obIiIiIiIidnQ3BxERERERERFxioIJIiIiIiIiIuIUBRNERERERERExCkKJoiIiIiIiIiIUxRMEBERERERERGnKJggIiIiIiIiIk5RMEFEREREREREnKJggoiIiIiIiIg4RcEEERERkVxu48aNtG3bluDgYAwGA8uWLbPLj4qKokKFCnh7e1OoUCGaNWvGtm3bbPmJiYkYDIYsHzt27LCVs1gsTJkyhXLlymE0GgkNDeWLL77Isk8//PADbm5uVK9e/W4MWUREcjkFE0RERERyucuXL1OtWjVmzpyZZX65cuWYMWMG+/fvZ9OmTYSGhtKiRQtOnz4NQFhYGKdOnbJ79OzZk5IlS1KrVi1bO/369WPu3LlMmTKFX375haVLl1K2bFmH8124cIGuXbvy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woUL1KpVi86dO9O2bVvef//9e/dkiIhInqaVCSJ3yMyZM6lfvz516tRhzJgxVK1alYyMDBISEpg1axY///xzttuaOHEiI0eOZNGiRYSGhpKcnAxcf3Po4+ODwWAgJiaG5s2b88wzzxAZGUmxYsXYtm0bgwYNol69evTv3/8ujVRERG6kcePGN70ELTuXp33yySc3zY+KiiIqKuqW7VSoUEHXNIuIyF2jlQkid0ipUqXYvXs3TZo0YdCgQVSuXJnmzZuzbt06Zs2a5VRbs2bN4tq1azz77LN23zpNmTLFViYsLIytW7fi6upKq1atKFOmDJGRkXTr1o2EhIQsL2MQERERERG5E7QyQeQOCgoKYsaMGcyYMSPL/KSkpCzT//0t043K/VuVKlX48ssvneyliIiIiIjIf6OVCSIiIiIiIiLiFAUTRERERERERMQpCiaIiIiIiIiIiFMUTBARERERERERpyiYICIiIiIiIiJOUTBBRERERERERJyiYIKIiIiIiIiIOEXBBBERERERERFxioIJIiIiIiIiIuIUBRNERERERERExCkKJoiIiIiIiIiIUxRMEBEREbmJjRs30rZtW4KDgzEYDCxbtsyWZzKZGDp0KFWqVMHb25vg4GC6du3KyZMns2wrPT2d6tWrYzAY2Lt3ry09KioKg8Hg8PD29raVWbp0KbVq1cLf3x9vb2+qV6/Op59+ereGLSIiclMKJojcY1m9WfznIyoqisTERAwGAxcuXHCoHxoayrRp027Z3ueff37vBiUikoddvnyZatWqMXPmTIe8tLQ0du/ezdtvv83u3btZunQphw4dol27dlm29eabbxIcHOyQPnjwYE6dOmX3qFSpEs8995ytTOHChRk+fDhbtmzhxx9/5KWXXuKll15izZo1d26wIiIi2eSW0x0QyW9OnTpl+33x4sWMHDmSQ4cO2dJ8fHzYuXOnU23Onz+f8PBwuzR/f///1E8REbmuVatWtGrVKsu8ggULkpCQYJc2Y8YM6tSpw/HjxylevLgtffXq1Xz77bd89dVXrF692q6Oj48PPj4+tuN9+/bx008/MXv2bFta48aN7er069ePjz/+mE2bNtGyZcvbHZ6IiMhtUTBB5B4rVqyY7feCBQtiMBjs0m6Hv7//f24DoG70OjLcvG9dUPIko6uFSXWgctQa0jMNOd0dyUGaC9clTWhzW/UuXryIwWCwC+r+9ddfvPzyyyxbtgwvL69btjF37lzKlStHw4YNs8y3WCx89913HDp0iIkTJ95WP0VERP4LBRNE8qH09HTS09NtxykpKQAYXSy4ulpyqluSw4wuFrufkn9pLlxnMpmyTM/IyLhh3tWrV3nzzTd5/vnn8fT0xGQyYbFY6NatGy+//DLVqlUjKSnJ1n5W7Vy9epWFCxcyZMgQh/yLFy8SGhpKeno6rq6ufPDBBzRu3PiG/fmvrO3erfbl/qG5IFaaC3lfdl9bBRNE8oCOHTvi6upql/bTTz/ZLa/9p+joaEaPHu2QPqKGGS+vzLvSR7l/jK1lzukuSC6R3+dCXFxclum7du3C3d3dIT0jI4OJEydy8eJF2rVrZ6u/cuVKjh8/ziuvvEJcXBx//fUXAJs2bcpyo8aNGzeSkpJCcHCwQx/MZjNTpkzhypUr/Pjjj/Tv35+//vqLKlWq/Nfh3tS/L+WQ/EtzQaw0F/KutLS0bJVTMEEkD5g6dSrNmjWzS8tqgy+ryMhIBg4caDtOSUkhJCSEcXtcyHB3vWE9yduMLhbG1jLz9k4X0s35d2m7aC5YHYjKeh+CmjVr0rp1a7s0k8lEx44duXr1Kj/88AMBAQG2vJiYGA4dOkSHDh3s6gwZMoSOHTsyb948u/Tp06fTpk0bOnXqdMs+GgwGNm7cyNChQ7M7LKeYTCYSEhJo3rx5lgEUyT80F8RKcyHvs65avhUFE0RyIT8/P+D6ctZ/b6R44cIFChYsaJdWrFgxypQpk+32jUYjRqPRIT3dbCAjH18fLdelmw35+jp5+T/5fS7c6E2ym5ubXZ7JZKJz58789ttvrF+/nsDAQLvyM2bM4J133rEdnzx5kpYtW7J48WLq1q1r19axY8dITExkxYoV2X6Tfu3atbv+ht7d3V0fGgTQXJD/o7mQd2X3dVUwQSQXKlu2LC4uLuzatYsSJUrY0o8ePcrFixcpV67cXTnvtsjH7b5Nk/zFZDIRFxfHgaiWenOQz2ku2EtNTeXIkSO242PHjrF3714KFy5MUFAQzz77LLt372blypVkZmaSnJwMXL+VY4ECBRwuObPetaF06dI89NBDdnnz5s0jKCgoy7tHREdHU6tWLUqXLk16ejpxcXF8+umnzJo1604PWURE5JYUTBDJhXx9fenZsyeDBg3Czc2NKlWq8McffzB06FAeffRRwsLC7MpfuHDB9ub1n214e+vODCIi/9XOnTtp0qSJ7dh6mVi3bt2IiopixYoVAFSvXt2u3vr16x1u53gzZrOZ2NhYIiIiHPbBAbh8+TJvvPEGJ06cwNPTkwoVKrBgwQKef/555wclIiLyHymYIJJLTZ8+nQkTJjB06FB+//13ihUrRvPmzRk/fjwGg/2y45deesmhfnR0NMOGDbtX3RURybMaN26MxXLjO1vcLC8roaGhWdZxcXHhjz/+uGG9cePGMW7cOKfOJSIicrcomCCSgyIiIoiIiMgyz8PDg6ioKKKiom7ahrNvYkVERERERP4rl5zugIiIiIiIiIjcXxRMEBERERERERGnKJggIiIiIiIiIk5RMEFEREREREREnKJggoiIiIiIiIg4RcEEEREREREREXGKggkiIiIiIiIi4hQFE0RERERERETEKQomiIiIiIiIiIhTFEwQEREREREREacomCAiIiIiIiIiTlEwQUREREREREScomCCiIiI5GobN26kbdu2BAcHYzAYWLZsmV3+0qVLadGiBQEBARgMBvbu3WuXf+7cOfr06UP58uXx9PSkePHi9O3bl4sXLzqcKzY2lqpVq+Lh4UHRokXp1auXLe/QoUM0adKEBx54AA8PD0qVKsWIESMwmUx3Y9giIiK5moIJIndYREQEBoPB4XHkyBEAkpOT6dOnD6VKlcJoNBISEkLbtm1Zt24d165do0iRIkyYMCHLtseOHcsDDzxge+N67do1Jk2aRLVq1fDy8qJIkSLUr1+f+fPn682tiOQZly9fplq1asycOfOG+Q0aNGDixIlZ5p88eZKTJ08yZcoUDhw4QGxsLPHx8fTo0cOu3Hvvvcfw4cMZNmwYBw8eZO3atbRs2dKW7+7uTteuXfn22285dOgQ06ZN46OPPmLUqFF3brAiIiL3Cbec7oBIXhQeHs78+fPt0gIDA0lKSqJ+/fr4+/szefJkqlSpgslkYs2aNfTq1YtffvmFLl26MH/+fIYNG2ZX32KxEBsbS9euXXF3d+fatWu0bNmSffv2MXbsWOrXr4+fnx9bt25lypQp1KhRg+rVq9/DUYuI3B2tWrWiVatWN8x/8cUXAUhKSsoyv3Llynz11Ve249KlSzN+/Hi6dOlCRkYGbm5unD9/nhEjRvDNN9/w+OOP28pWrVrV9nup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wMBA9u/fz9SpU+nTp4/eqIvILXXo0IEOHTpkmefh4cHSpUsd0q2rVKxq1arFmjVrbnqe77777r91VERERO4rWpkgkkuMGTPGdm0yXL9jw6JFi3jvvfdYtmwZjz32GFWrViUqKoonn3ySli2zvh5aRERERETkbtPKBJEcEBsb65AWGhpqd7tGABcXF1577TVee+21G7YVFRVFVFTUHe6hiIiIiIjIjWllgoiIiIiIiIg4RcEEEREREREREXGKggkiIiIiIiIi4hQFE0RERERERETEKQomiIiIiIiIiIhTFEwQEREREREREacomCAiIiIiIiIiTlEwQUREREREREScomCCiIiIiIiIiDhFwQQRERERERERcYqCCSIiIiIiIiLiFAUTRHIps9nMc889h8FgoF+/fjndHcnnoqKiMBgMdo8KFSrY8j/88EMaN26Mn58fBoOBCxcuOLQRGhrq0MaECRNs+UlJSQ75BoOBrVu33oshioiIiIgTFEwQcUJERITdh5yAgADCw8P58ccfbWVu9AEoPT2dgIAADAYDiYmJduWXLVvmcK7XX3+dTZs2MWfOHObNm8e4ceMcyixdupTmzZsTGBiIn58f9erVY82aNXdsvCL/9PDDD3Pq1CnbY9OmTba8tLQ0wsPDeeutt27axpgxY+za6NOnj0OZtWvX2pWpWbPmHR+LiIiIiPw3bjndAZH7TXh4OPPnzwcgOTmZESNG8MQTT3D8+HFbmZCQEObPn8+jjz5qS/v666/x8fHh3LlztzzHW2+9RXx8PBs3bqRs2bJUrVqV1q1bExgYyKuvvmort3HjRpo3b84777yDv78/8+fPp23btmzbto0aNWrcwVGLgJubG8WKFcsyr3///gB2gbKs+Pr63rANq4CAgFuWEREREZGcpWCCiJOMRqPtg06xYsUYNmwYDRs25PTp0wQGBgLQrVs33n//faZNm4anpycA8+bNo1u3bowdO/am7U+dOpUvvviC77//nuLFiwPw6KOP8t1339GqVSsCAgJ49tlnAZg2bZpd3XfeeYfly5fzzTff3FYwoW70OjLcvJ2uJ3mD0dXCpDpQOWoN6ZkGAJImtLHlHz58mODgYDw8PKhXrx7R0dG2OZpdEyZMYOzYsRQvXpxOnToxYMAA3Nzs/ytq164dV69epVy5crz55pu0a9fuvw9ORERERO4oBRNE/oPU1FQWLFhAmTJlCAgIsKXXrFmT0NBQvvrqK7p06cLx48fZuHEjM2fOvGUwYcCAAQwYMMAhvXr16pw6deqmdc1mM5cuXaJw4cI3LZeenk56errtOCUlBQCjiwVXV8tN60reZXSx2P0EMJlMwPU5PXfuXMqVK0dycjLjxo2jYcOG7NmzB19fX1v5jIwMWz1rXatevXpRo0YNChUqxNatWxkxYgR//vknkydPvn5eo5FJkyYRFhaGi4sLS5cupX379nz55Ze0bdv2ro5d7Flfu3+/hpL/aC6IleaCWGku5H3ZfW0VTBBx0sqVK/Hx8QHg8uXLBAUFsXLlSlxc7Lcg6d69O/PmzaNLly7ExsbaLlO4m6ZMmUJqaiodOnS4abno6GhGjx7tkD6ihhkvr8y71T25T4ytZbb9HhcXZ/vdy8uLEydOANC7d29eeeUVRo4cSfPmzW1l9u/fD8C3335r+3diVa5cOS5fvszly5d56KGH6NKlCzNmzKBBgwa4u7vbypw5cwaABg0asHPnTkaMGIGrq+vdGazcVEJCQk53QXIJzQWx0lwQK82FvCstLS1b5RRMEHFSkyZNmDVrFgDnz5/nf//7H61atWL79u2UKFHCVq5Lly4MGzaMo0ePEhsby/vvv39X+7Vo0SJGjx7N8uXLKVq06E3LRkZGMnDgQNtxSkoKISEhjNvjQoa7PrTlV0YXC2NrmXl7pwvp5uuXORyIannD8lOnTsXLy4vWrVvb0ry9r18m06JFC/z9/W96vhIlSjBjxgwqVKhA+fLlsyzz+++/Ex0dbXcOuftMJhMJCQk0b97cFuiR/ElzQaw0F8RKcyHvs65avhUFE0Sc5O3tTZkyZWzHc+fOpWDBgnz00Ud2d1wICAjgiSeeoEePHly9epVWrVpx6dKlu9Knzz//nJ49e/LFF1/QrFmzW5Y3Go0YjUaH9HSzgYz/f6285F/pZoNtz4QbvUlITU3l6NGjdO3a1a6Mdf8Dd3f3W77BOHjwIC4uLjz44IM3LLt//36CgoL0ZiWHZOd1lPxBc0GsNBfESnMh78ru66pggsh/ZDAYcHFx4cqVKw553bt3p3Xr1gwdOvSuLdP+7LPP6N69O59//jlt2rS5dYWb2Bb5uN3eD5K/mEwm4uLiOBDV0uE/kcGDB9O2bVtKlCjByZMnGTVqFK6urnTs2BG4fmeT5ORkjhw5AlwPAvj6+lK8eHEKFy7Mli1b2LZtG02aNMHX15ctW7YwYMAAunTpQqFChQD4+OOPKVCggG3z0KVLlzJv3jzmzp17D58FEREREckOBRNEnJSenk5ycjJw/TKHGTNmkJqamuUGceHh4Zw+fRo/P7+70pdFixbRrVs3pk+fTt26dW398vT0pGDBgnflnJI/nThxgo4dO3L27FkCAwNp0KABW7dute0DMnv2bLt9OBo1agTA/PnziYiIwGg08vnnnxMVFUV6ejolS5ZkwIABdpfbAIwdO5bff/8dNzc3KlSowOLFi213LxERERGR3EPBBBEnxcfHExQUBICvry8VKlTgiy++oHHjxg5lDQYDRYoUuWt9+fDDD8nIyKBXr1706tXLlt6tWzdiY2Pv2nkl//n8889vmh8VFUVUVNQN8x955BG2bt160za6detGt27dbqd7IiIiInKPKZgg4oTY2Nhbfki3WG58a0V/f3+H/JuVv5XExMTbrisiIiIiInK7XG5dRERERERERETk/yiYICIiIiIiIiJOUTBBRERERERERJyiYIKIiIiIiIiIOEXBBBERERERERFxioIJIiIiIiIiIuIUBRNERERERERExCkKJoiIiIiIiIiIUxRMEBERERERERGnKJggIiIiIiIiIk5RMEFEREREREREnKJggoiIiIiIiIg4RcEEERG5oaioKAwGg92jQoUKtvwPP/yQxo0b4+fnh8Fg4MKFCw5tnDt3js6dO+Pn54e/vz89evQgNTXVrsyaNWt49NFH8fX1JTAwkGeeeYakpKS7PDoRERERuV0KJojcJcnJyfTp04dSpUphNBoJCQmhbdu2rFu3zq5cdHQ0rq6uTJ482aGN2NhY/P3978h5RG7Xww8/zKlTp2yPTZs22fLS0tIIDw/nrbfeumH9zp07c/DgQRISEli5ciUbN27klVdeseUfO3aMJ598kqZNm7J3717WrFnDmTNnePrpp+/quERERETk9rndqYYuXLhwyw89IvlFUlIS9evXx9/fn8mTJ1OlShVMJhNr1qyhV69e/PLLL7ay8+bN480332TevHkMGTLkrp1H5Ha5ublRrFixLPP69+8PQGJiYpb5P//8M/Hx8ezYsYNatWoB8MEHH9C6dWumTJlCcHAwu3btIjMzk3HjxuHicj3GPXjwYJ588klMJhPu7u53fEwi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RCQXu60NGAcOHEivXr24evUqFouF7du389lnnxEdHc3cuXPvdB9FREREREREJBe5rWBCz5498fT0ZMSIEaSlpdGpUyeCg4OZPn26duMWERERERERyeOcDiZkZGSwaNEiWrZsSefOnUlLSyM1NZWiRYvejf6JiIiIiIiISC7j9J4Jbm5uvPbaa1y9ehUALy8vBRJERERERERE8pHb2oCxTp067Nmz5073RURERERERETuA7e1Z8Ibb7zBoEGDOHHiBDVr1sTb29suv2rVqnekcyIiIiIiIiKS+9xWMMG6yWLfvn1taQaDAYvFgsFgIDMz8870TkRERERERERyndsKJhw7duxO90NERERERERE7hO3tWdCiRIlbvoQEZH7x4QJEzAYDAwaNMgufcuWLTRt2hRvb2/8/Pxo1KgRV65cASAxMRGDwZDlY8eOHQAcOnSIJk2a8MADD+Dh4UGpUqUYMWIEJpPpno9RRERERO6s21qZ8Mknn9w0v2vXrrfVGRH5P40bN6Z69epMmzYtp7siediOHTuYM2eOw143W7ZsITw8nMjISD744APc3NzYt28fLi7XY9BhYWGcOnXKrs7bb7/NunXrqFWrFgDu7u507dqVRx55BH9/f/bt28fLL7+M2WzmnXfeuTcDFBEREZG74raCCf369bM7NplMpKWlUaBAAby8vBRMkDwjOTmZ6OhoVq1axYkTJyhYsCBlypShS5cudOvWDS8vr5zuoshtS01NpXPnznz00UeMGzfOLm/AgAH07duXYcOG2dLKly9v+71AgQIUK1bMdmwymVi+fDl9+vTBYDAAUKpUKUqVKmUrU6JECRITE/n+++/v1pBERERE5B65rWDC+fPnHdIOHz7M66+/zpAhQ/5zp0Ryg6NHj1K/fn38/f155513qFKlCkajkf379/Phhx/y4IMP0q5du5zu5g1lZmZiMBhs3yRnR93odWS4ed+6oNy3kia0sf3eq1cv2rRpQ7NmzeyCCX///Tfbtm2jc+fOhIWF8dtvv1GhQgXGjx9PgwYNsmx3xYoVnD17lpdeeumG5z5y5Ajx8fE8/fTTd25AIiIiIpIjbmvPhKyULVuWCRMmOKxaELlfvfHGG7i5ubFz5046dOhAxYoVKVWqFE8++SSrVq2ibdu2AFy4cIGePXsSGBiIn58fTZs2Zd++fbZ2oqKiqF69Op9++imhoaEULFiQF154gUuXLtnKXL58ma5du+Lj40NQUBDvvvuuQ3/S09MZPHgwDz74IN7e3tStW5fExERbfmxsLP7+/qxYsYJKlSphNBo5fvz43XuC5L72+eefs3v3bqKjox3yrJvsRkVF8fLLLxMfH88jjzzC448/zuHDh7NsLyYmhpYtW/LQQw855IWFheHh4UHZsmVp2LAhY8aMubODEREREZF77rZWJtywMTc3Tp48eSebFMkRZ8+e5dtvv+Wdd97B2zvrb+qtS7mfe+45PD09Wb16NQULFmTOnDk8/vjj/PrrrxQuXBiA3377jWXLlrFy5UrOnz9Phw4dmDBhAuPHjwdgyJAhbNiwgeXLl1O0aFHeeustdu/eTfXq1W3n6927Nz/99BOff/45wcHBfP3114SHh7N//37Kli0LQFpaGhMnTmTu3LkEBARQtGjRLPuenp5Oenq67TglJQUAo4sFV1fLf3vyJFczmUz88ccf9OvXj7i4OFxdXTGZTFgsFtttfa9duwZAz5496dKlCwCTJk1i7dq1fPTRR7Z5a3XixAnWrFnDokWLstxcccGCBVy6dIkff/yRyMhIJk6cyODBg+/ySOW/sL6O2ixTNBfESnNBrDQX8r7svra3FUxYsWKF3bHFYuHUqVPMmDGD+vXr306TIrnKkSNHsFgsdteIAxQpUoSrV68C15eIt23blu3bt/P3339jNBoBmDJlCsuWLePLL7/klVdeAcBsNhMbG4uvry8AL774IuvWrWP8+PGkpqYSExPDggULePzxxwH4+OOP7b7hPX78OPPnz+f48eMEBwcDMHjwYOLj45k/f75tMzuTycT//vc/qlWrdtPxRUdHM3r0aIf0ETXMeHllOv18yf0jLi6OrVu38vfff1OnTh1butls5vvvv2f27NnMnDkTuB5UiIuLs5UpWLAg27Zts0sDWLx4Mb6+vri5uTnk/ZOfnx/PPfccUVFRlC9fHldX1zs8OrnTEhIScroLkktoLoiV5oJYaS7kXWlpadkqd1vBhPbt29sdGwwGAgMDadq0aZbLs0Xyiu3bt2M2m+ncuTPp6ens27eP1NRUAgIC7MpduXKF3377zXYcGhpqCyQABAUF8ffffwPXVy1cu3aNunXr2vILFy5sF8jYv38/mZmZlCtXzu486enpducuUKCAw678WYmMjGTgwIG245SU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ERHJFiUTRERERERERCRblEwQERERERERkWxRMkFEREREREREskXJBBERERERERHJFiUTRERERERERCRblEwQERERERERkWxRMkHkKTZlyhQMBgPVq1cnKSkpp5sjT9D06dOpUKECzs7OODs7U61aNX744Qfz/vj4eN59910KFy5Mnjx58PPzY+nSpRZ1XLlyhbZt2+Ls7EzevHnp1KkTiYmJFmUOHjxIrVq1sLe3p0SJEixbtuyJ9E9EREREnm1KJohk0/bt27G2tqZx48aP9TwLFiygf//+TJ48mStXrtCyZUtSUlIsyvz1118EBQVRtGhR7OzscHd3JyQkhISEhMfaNnn8XnzxRcaOHcvevXvZs2cPr776Ks2bN+fIkSMAvPfeexw/fpyVK1dy6NAh3njjDVq1asW+ffvMdbRt25YjR44QGxvL6tWr2bx5M127djXvT0hIoH79+nh4eLB3717Cw8NZtGgRc+bMeeL9FREREZFni5IJItkUERFBjx492Lx5MxcuXHgs54iJieGDDz7gm2++sThXcHAwRqPRXM7KyormzZuzcuVKTpw4QXR0NOvXr+eDDz54LO2SJ6dp06Y0atQILy8vSpcuzejRo3F0dGTHjh0AbNu2jR49elClShVKlCjB0KFDyZs3L3v37gXg2LFjrFmzhjlz5vDKK69Qs2ZNpkyZwqJFi8xxu2DBAu7cuUNkZCTlypWjdevWNGnShIkTJ+ZUt0VERETkGWGT0w0QeZYkJiayePFi9uzZQ3x8PNHR0Xz00Ufm/StXrqRfv36cO3eOatWqERwcTHBwMFevXiVv3rwA/PTTT4SGhrJnzx7y589PixYtCA8PJ0+ePABs3bqV9u3bs2zZMurVqwdAwYIFiYuLIygoiF69ejF58mQA8uXLx4cffmg+v4eHB926dWP8+PEP1b9XwjeQapPnoY6VR+fsWMtRL2lpaXzzzTfcvHmTatWqAVC9enUWL15M48aNyZs3L0uWLOH27dsEBgYCd0fQ5M2bl8qVK5vrqVu3LlZWVuzcuZMWLVqwfft2ateuTa5cucxlfH19WbZsGVevXiVfvnyPv7MiIiIi8kxSMkEkG5YsWYKPjw/e3t60a9eO3r17ExoaisFg4MyZM7z55pv06tWLzp07s2/fPvr3729x/OnTpwkKCmLUqFFERkZy6dIlQkJCCAkJISoqCoAaNWpw6dKlDOfOly8fO3fuvG/7Lly4wLJlywgICLhvueTkZJKTk83vTdMi7KyMWFsb73WYPCGm6SyHDh2idu3a3L59G0dHR7755hu8vLxISUlhwYIFtG3bFjc3N2xsbMidOzfffPMNHh4epKSkcP78eQoUKJBhaoyrqyvnz58nJSWFixcv4unpaS6TkpJiTnqdO3cOR0fHJ9pveXr8PSbkv02xICaKBTFRLDz/svrZKpkgkg0RERG0a9cOgKCgIK5fv86mTZsIDAxk5syZeHt7m0cFeHt7c/jwYUaPHm0+Pjw8nLZt29K7d28AvLy8mDx5MgEBAUyfPh17e/uHalebNm1YsWIFt27domnTpg+c8x4eHs6IESMybB/qm07u3GkP1QZ5dGJiYoC7v8g/++wzbt68yfbt23n33XcZPXo07u7uzJo1i7NnzzJixAicnZ3ZuXMnb731FmPGjMHT05Pjx49z8+ZNc10md+7c4fDhw8TExHDp0iWsrKwylAHYvHkzZ86ceSL9ladXbGxsTjdBnhKKBTFRLIiJYuH5ldWF3w3Gv0/AFpF7On78OOXLl+f8+fMULFgQgJCQEK5fv85XX31FixYtyJcvH5GRkeZjVq5cSfPmzc3THPz9/Tl48CC2trbmMkajkaSkJI4ePUqZMmUeqm3x8fFcu3aNEydOEBoaSkBAANOmTbtn+cxGJri7u1N2wCJSbTXNIacdDmuQ6fagoCBKlChBv379KFOmDPv27aNcuXIW+0uWLMmXX35JdHQ0AwcO5M8//zTvT01NxcnJia+//prXX3+dDh06kJCQYH4KREpKCp9//jnDhg3jjz/+0DSH/7CUlBRiY2OpV6+exe8r+e9RLIiJYkFMFAvPv4SEBPLnz8/169dxdna+ZzmNTBDJooiICFJTUylatKh5m9FoxM7OjqlTp2apjsTERN5//3169uyZYV+xYsUeum2FCxemcOHC+Pj44OrqSq1atRg2bBhFihTJtLydnR12dnYZtm8eVBc3N7eHboc8XkajkZSUFPPQMzs7O4s/4jY2d3+l29raUrNmTa5du8bBgwepVKkSABs3biQ9PZ0aNWpga2tLjRo1GDJkiPkYgP3791O6dGlzwkz+22xtbfUfRQEUC/J/FAtiolh4fmX1c1UyQSQLUlNTmTdvHhMmTKB+/foW+15//XW+/vprvL29MwwX3717t8V7Pz8/jh49SqlSpR5bW9PT0wEsRh7Isyc0NJSGDRtSrFgxbty4wcKFC4mLi2Pt2rX4+PhQqlQp3n//fT777DPc3NxYvny5+RGQAGXKlCEoKIguXbowY8YMUlJSCAkJ4e233zYnxN555x1GjBhBp06dGDRoEPv372f16tV88cUXOdl1EREREXkGKJkgkgWrV6/m6tWrdOrUCRcXF4t9LVu2JCIigiVLlvD5558zaNAgOnXqxP79+4mOjgbAYDAAMGjQIKpWrUpISAidO3cmT548HD16lNjY2CyPbvi7mJgY/vjjD/z9/XF0dOTIkSMMGDCAGjVq4Onp+W+7LTnozz//5L333uPixYu4uLhQoUIF1q5da37CR0xMDIMHD6Zp06YkJiZSqlQp5s6dS6NGjcx1LFiwgJCQEF577TWsrKxo2bKl+UkgAC4uLqxbt47u3btTqVIl8ufPT+vWrencufMT76+IiIiIPFuUTBDJgoiICOrWrZshkQB3kwnjxo3jxo0bfPvtt/Tr149JkyZRrVo1hgwZwocffmieUlChQgU2bdrEkCFDqFWrFkajkZIlS9K6deuHapeDgwOzZ8+mT58+JCcn4+7uzhtvvMHgwYP/VX8l50VERNx3v5eXl3mtg3txdXVl4cKF9y1ToUIFtmzZAtydA5nZYowiIiIiIv+kZIJIFqxateqe+6pUqYJpHdMKFSrQrFkz877Ro0fz4osvWjylwd/fn3Xr1j2SdtWpU4dt27Y9krpERERERESySskEkUdo2rRp+Pv74+bmxtatWxk/fjwhISE53SwREREREZFHSskEkUfo5MmTjBo1iitXrlCsWDH69etHaGhoTjdLRERERETkkVIyQeQR+uKLL7QSvoiIiIiIPPescroBIiIiIiIiIvJsUTJBRERERERERLJFyQQRERERERERyRYlE0REREREREQkW5RMEBEREREREZFsUTJBRERERERERLJFyQQRERERERERyRYlE0REREREREQkW5RMEBH5l8LDw/H398fJyYmCBQvy+uuvc/z4cYsyp0+fpkWLFhQoUABnZ2datWrFH3/8YVHmxIkTNG/enPz58+Ps7EzNmjXZuHGjRRmDwZDhtWjRosfeRxERERGRv8vRZILRaKRr1664urpiMBjYv3//YzlPcHAwr7/+uvl9YGAgvXv3fix1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e/YQFxfH/v37za+4uDi2b9/OL7/8Atx99OBbb71FZGQkUVFRlC5dmlq1apnrefnllylbtiwTJkwgPT09w3muXbv2pLr0zJg+fTrXr18nMDCQIkWKmF+LFy82l5kxYwa+vr7mKQq1a9fG19eXlStXAndHdSxatIiAgADKlSvH6NGj6dOnD7NmzTLXYWVlxapVq8ifPz+1a9emcePGlClThkWLFj3ZDouIiIiIPCYamSDyhEVERFClShXzWgh/5+/vT0REhPmpAJ06daJWrVocO3aMQYMGWZQ1GAxERUVRt25datWqxZAhQ/Dx8SExMZFVq1axbt26bD8a8nmXlakhYWFhhIWF3XO/n58fO3bseGA9RYsWZenSpdlpnoiIiIjIM0MjE0SeoDt37jB//nxatmyZ6f6WLVsyb9488+NYatasibe3NwkJCbz33nsZylepUoU9e/ZQqlQpunTpQpkyZWjWrBlHjhxh4sSJj7MrIiIiIiLyH6aRCSKPUXR0tMX7XLlycfny5XuWHzhwIAMHDrTYZpr2cC+lS5dm7ty5D91GERERERGR7NLIBBERERERERHJFiUTRERERERERCRblEwQERERERERkWxRMkFEREREREREskXJBBERERERERHJFiUTRERERERERCRblEwQERERERERkWxRMkFEREREREREskXJBBERERERERHJFiUTRERERERERCRblEwQERERERERkWxRMuE5FBwczOuvv37fMoGBgfTu3dv83tPTk4kTJz7WdsmD6XPIns2bN9O0aVOKFi2KwWBg+fLlGcocO3aMZs2a4eLiQp48efD39+f3338H4OzZsxgMhkxf33zzDQB//fUXQUFBFC1aFDs7O9zd3QkJCSEhIeFJdlVERERE5Kny1CUTgoODMRgMfPDBBxn2de/eHYPBYC5zv1dYWFiGGwVXV1cCAgLYsmVLpud+//33sba2Nt9E/F1YWFim7dq/fz8Gg4GzZ8+at3333XdUrVoVFxcXnJycKFeunMWN+/1ER0eb22tlZcWLL75Ihw4d+PPPP7N0/MPavXs3Xbt2/Vd1POhz8fT0fDSNfYqEhYXx8ssvZ/u46Oho8ubNm2H7o/gc/ktu3rxJxYoV+fLLLzPdf/r0aWrWrImPjw9xcXEcPHiQYcOGYW9vD4C7uzsXL160eI0YMQJHR0caNmwIgJWV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X35JxYoV2bVrF/37989Q7rXXXsPLy4vatWvTunVrmjVrRlhYWJbPs3TpUvz9/WnTpg1ly5Zl4MCBD/wm/WE0a9aMPn36EBISwssvv8y2bdsyfYrG/Tg7O7N582YaNWpE6dKlGTp0KBMmTDAvpggPvh5jx46lZcuWvPvuu/j5+XHq1CnWrl1rse5CZlq2bElQUBB16tShQIECfP3111SsWJHPP/+cTz/9lPLly7NgwQLCw8MtjqtevToffPABrVu3pkCBAowbNy5D3QaDgRUrVpAvXz5q165N3bp1KVGiBIsXL87W9XmeBQYGYjQaM7yio6PNZTp27MjJkye5desW+/fvp3nz5hnqGTNmDL///numybY6deqwbds2rl27xq1btzhx4gRjx47NdMSSiIiIiMh/hcH4zwn4Is+Z4OBgrl27xvLly3O6KU+thIQEXFxcuHz58jM1zUEerZSUFGJiYmjUqJHmQP7HKRbERLEgJooFMVEsPP9M9wbXr1+/7xf7T/3IBBERERERERF5uiiZ8ISVK1cOR0fHTF/3Wp/hadKwYcN7tn/MmDE53TwRERERERF5Ap7qpzk8j2JiYu75KMdChQo94dZk35w5c7h161am+1xdXZ9wa7Lm7/PnRURERERE5N9TMuEJMz168Fn1wgsv5HQTREREREREJIdpmoOIiIiIiIiIZIuSCSIiIiIiIiKSLUomiIiIiIiIiEi2KJkgIiIiIiIiItmiZIKIiIiIiIiIZIuSCSIiIiIiIiKSLUomiIiIiIiIiEi2KJkgIs+MzZs307RpU4oWLYrBYGD58uUW+4ODgzEYDBavoKAg8/6zZ8/SqVMnihcvjoODAyVLluTjjz/mzp075jLHjx+nTp06FCpUCHt7e0qUKMHQoUNJSUl5Ut0UEREREXnq2eR0A0REsurmzZtUrFiRjh078sYbb2RaJigoiKioKPN7Ozs788+//PIL6enpzJw5k1KlSnH48GG6dOnCzZs3+eyzzwCwtbXlvffew8/Pj7x583LgwAG6dOlCeno6Y8aMebwdFBERERF5RiiZIJIDLl26xPDhw/n+++/5448/yJcvHxUrVmT48OHUqFEDgH379jFmzBg2b97M9evXcXd3JzAwkAEDBlC6dGlzXUuXLmXKlCns27ePtLQ0SpQowZtvvklISAiurq451cXHomHDhjRs2PC+Zezs7ChcuHCm+4KCgixGKpQoUYLjx48zffp0czKhRIkSlChRwlzGw8ODuLg4tmzZ8gh6ICIiIiLyfNA0B5Ec0LJlS/bt28fcuXM5ceIEK1euJDAwkL/++guA1atXU7VqVZKTk1mwYAHHjh1j/vz5uLi4MGzYMHM9Q4YMoXXr1vj7+/PDDz9w+PBhJkyYwIEDB/jqq69yqns5Ki4ujoIFC+Lt7c2HH35ovqb3cv369fsmXU6dOsWaNWsICAh41E0VEREREXlmaWSCyBN27do1tmzZQlxcnPkG1cPDgypVqgCQlJREhw4daNSoEd999535uOLFi/PKK69w7do1AHbt2sWYMWOYOHEivXr1Mpfz9PSkXr165nLZ8Ur4BlJt8jx85x6Ts2MbZ6lcUFAQb7zxBsWLF+f06dN89NFHNGzYkO3bt2NtbZ2h/KlTp5gyZYp5VMLfVa9enZ9//pnk5GS6du3KyJEj/3U/RERERESeF0omiDxhjo6OODo6snz5cqpWrWoxpx9g7dq1XL58mYEDB2Z6fN68eQFYsGABjo6OdOvW7b7lMpOcnExycrL5fUJCAgB2VkasrY3Z6M2Tca/FD1NTUy32tWzZ0vyzj48PZcqUwcfHh/Xr1/Pqq69aHHv+/HmCgoJo2bIlwcHBGc4xf/58bty4wcGDBwkNDeXTTz+lf//+j7BXTx/TNdBik6JYEBPFgpgoFsREsfD8y+pnq2SCyBNmY2NDdHQ0Xbp0YcaMGfj5+REQEMDbb79NhQoVOHnyJHD3Zvh+Tp48SYkSJbC1tc12G8LDwxkxYkSG7UN908mdOy3b9T1uMTExmW7fu3fvA/vv7OzMihUruH37tnnblStXGDp0KKVLl6Zp06b3rN90/FtvvUVYWBje3t6ZjnB43sTGxuZ0E+QpoVgQE8WCmCgWxESx8PxKSkrKUjklE0RyQMuWLWncuDFbtmxhx44d/PDDD4wbN445c+ZgNGZtZEBWy2UmNDSUvn37mt8nJCTg7u7OqH1WpNo+fTfLh8MaZLq9UqVKNGrU6J7H/e9//+PGjRvUrVvXXO78+fPUq1ePmjVrMnfu3CwlB/766y/S09MJCgp6qOTNsyIlJYXY2Fjq1av3XPdTHkyxICaKBTFRLIiJYuH5Zxq1/CBKJojkEHt7e+rVq0e9evUYNmwYnTt35uOPP2bixInA3ccYVqtW7Z7Hly5dmp9++omUlJRs/yK3s7PLML0CYPOguri5uWWrricpMTGRU6dOmd+fO3eOI0eO4OrqiqurKyNGjKBly5YULlyY06dPM3DgQEqVKkXjxo2xtbU1JxI8PDz4/PPPLdaVMD0BYsGCBdja2vLSSy9hZ2fHnj17GDZsGK1btyZ37txPuss5wtbWVv85EECxIP9HsSAmigUxUSw8v7L6ueppDiJPibJly3Lz5k3q169P/vz5GTduXKblTDfA77zzDomJiUybNu2+5Z4ne/bswdfXF19fXwD69u2Lr68vw4cPx9ramoMHD9KsWTNKly5Np06dqFSpElu2bDEnTmJjYzl16hQbNmzgxRdfpEiRIuaXiY2NDZ9++ilVqlShQoUKjBgxgpCQEObMmZMjfRYREREReRppZILIE/bXX3/x1ltv0bFjRypUqICTkxN79uxh3LhxNG/enDx58jBnzhzeeustmjVrRs+ePSlVqhSXL19myZIl/P777yxatIhXXnmFgQMH0q9fP86fP0+LFi0oWrQop06dYsaMGdSsWdPiKQ/Pg8DAwPtO71i7du19jw8ODiY4OPi+ZVq3bk3r1q0fpnkiIiIiIv8ZSiaIPGGOjo688sorfPHFF5w+fZqUlBTc3d3p0qULH330EQDNmzdn27ZthIeH884775jXNHj11VcZNWqUua5PP/2USpUq8eWXXzJjxgzS09MpWbIkb775Ju3bt8+pLoqIiIiIyHNOyQSRJ8zOzo7w8HDCw8PvW65y5cosXbr0gfW1atWKVq1aParmiYiIiIiIPJDWTBARERERERGRbFEyQURERERERESyRckEEREREREREckWJRNEREREREREJFuUTBARERERERGRbFEyQURERERERESyRckEEREREREREckWJRNEREREREREJFuUTBARERERERGRbFEyQURERERERESyRckEEREREREREckWJRNE5Im7ceMGvXv3xsPDAwcHB6pXr87u3bvN+w0GQ6av8ePHAxAXF3fPMn+vR0REREREHg8lE0RykOmm+Nq1a/csEx0dTd68ec3vw8LCePnllx972x6nzp07Exsby1dffcWhQ4eoX78+devW5fz58wBcvHjR4hUZGYnBYKBly5YAVK9ePUOZzp07U7x4cSpXrpyTXRMRERER+U9QMuEZERwcjMFg4IMPPsiwr3v3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npSUFKZMmcL3339Py5YtM5SxsrKiRYsW95zGANC/f3+LR1ACBAQE8Ouvv/Lee+/h4+NDw4YNiY+PZ926dXh7e9+3XfPmzSNPnjyZTq147bXXcHBwYP78+cDddR5SU1OpVKkSvXv3ZtSoURblX3jhBUaMGMHgwYMpVKiQebrI2LFjadmyJe+++y5+fn6cOnWKtWvXmhd7fFhZrXfs2LH06tWLSpUqER8fz6pVqzI8WeNeOnfuzJw5c4iKiuKll14iICCA6Ojop3pkgoiIiIiIPNsMxr9PMBeR/6SEhARcXFy4fPnyE1kzQZ5OKSkpxMTE0KhRI82B/I9TLIiJYkFMFAtiolh4/pnuDa5fv37fL7A1MkFEREREREREskXJBHkqlCtXDkdHx0xfCxYsyOnmiYiIiIiIyN9oAUZ5KsTExNzzMY6FChV6wq0RERERERGR+1EyQZ4KHh4eOd0EERERERERySJNcxARERERERGRbFEyQURERERERESyRckEEREREREREckWJRNEREREREREJFuUTBARERERERGRbFEyQURERERERESyRckEEREREREREckWJRNE5LHx9PTEYDBkeHXv3h2A+Ph43n33XQoXLkyePHnw8/Nj6dKlFnWcOHGC5s2bkz9/fpydnalZsyYbN27Mie6IiIiIiMj/p2SCPHWmTJmCwWCgevXqJCUl5XRzctSzfi12797NxYsXza/Y2FgA3nrrLQDee+89jh8/zsqVKzl06BBvvPEGrVq1Yt++feY6mjRpQmpqKj/++CN79+6lYsWKNGnShPj4+Bzpk4iIiIiIKJkgWbR9+3asra1p3LjxYz3PggUL6N+/P5MnT+bKlSu0bNmSlJQUizIHDhygTZs2uLu74+DgQJkyZZg0aVK2zxUcHMzZs2ezXD46Otri23VHR0cqVarEsmXLLMoFBgZiMBgYO3ZshjoaN26MwWAgLCzMonzv3r0zlH2S1+JxKVCgAIULFza/Vq9eTcmSJQkICABg27Zt9OjRgypVqlCiRAmGDh1K3rx52bt3LwCXL1/m5MmTDB48mAoVKuDl5cXYsWNJSkri8OHDOdk1EREREZH/NJucboA8GyIiIujRowcRERFcuHCBokWLPvJzxMTE8MEHH/DNN9/QrFkzWrduTb169QgODmb+/PkYDAYA9u7dS8GCBZk/fz7u7u5s27aN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tN51R40aBSMjI4wZMwZCCMTFxUltGo0G5eXlsvgmTZro3JZSX/n5+ejRo4f0XDsrYsyYMUhLS8PRo0exevVqaDQaODs7o3fv3li4cKFs1sOSJUukWRvXr19HYGAg9u7dW2+xhYiIiIiIngwsJhA1wsrKCoGBgUhNTcXp06dRU1MDFxcXxMTE4B//+Ee96zR2mgAADB48GFlZWVi8eDG6deuGGzduoFWrVpg3bx6mTZsGhULR4LojR46EkZERRo0ahbq6OsTHxwMAxo0bpxObnJyMOXPm6LG1ukJDQxu9vsN//vOfe/ZhamqKpUuXPtIZFURERERE9PdiMYGoEUqlEsnJyUhOTm4w5uzZs432odFodJZ169YNO3fuvOfr1/dDPioqSnYqhD4XcyQiIiIiInoYeM0EIiIiIiIiItILiwlEREREREREpBcWE4iIiIiIiIhILywmEBEREREREZFeWEwgIiIiIiIiIr2wmEBEREREREREemExgYiIiIiIiIj0wmICEREREREREemFxQQiIiIiIiIi0guLCURERERERESkFxYTiIiIiIiIiEgvLCYQERERERERkV5YTCAiIiIiIiIivbCYQERERERERER6YTGBiIiIiIiIiPTCYgIRERERERER6cXE0AMgIsMTQgAArl69ClNTUwOPhgylpqYG1dXVqKysZB4845gLpMVcIC3mAmkxF55+lZWVAP73G6EhLCYQESoqKgAA7u7uBh4JERERERE9Dq5evQobG5sG21lMICLY2dkBAEpLSxv9wKCnW2VlJVxcXHDu3DlYW1sbejhkQMwF0mIukBZzgbSYC08/IQSuXr0KZ2fnRuNYTCAiGBnduXyKjY0NDwoEa2tr5gEBYC7Q/zAXSIu5QFrMhafb/fyBkRdgJCIiIiIiIiK9sJhARERERERERHphMYGIoFQqkZCQAKVSaeihkAExD0iLuUBazAXSYi6QFnOBtBTiXvd7ICIiIiIiIiL6E85MICIiIiIiIiK9sJhARERERERERHphMYGIiIiIiIiI9MJiAhERERERERHphcUEomfcxx9/jJYtW8Lc3ByBgYH473//a+gh0QNITEyEQqGQPdq2bSu137hxA1OmTEHTpk1hZWWFQYMG4fz587I+SktLERkZCZVKhebNmyMuLg61tbWymOzsbHTs2BFKpRJeXl7IyMh4FJtH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mQi3b9/GjRs3UF1dDZVKhT179iA5ORk//fQTKisrUVtbK2t/UC+88IL072vXruH06dOIjo5GTEyMtLy2thY2NjZ69evn5yf928HBAQDg6+urs+zChQtwdHQEAJiYmKBTp05STNu2baFWq1FcXIzOnTujuLgYEydOlL1OcHCwNNOgvm1qzMmTJ7FgwQIcOnQIf/zxhzQjobS0FD4+PvVui5OTkzTutm3borCwEEOGDKm3/1OnTqG6uhq9evWSLb916xYCAgLua4xERM8qFhOIiIjomWdpaQkvLy+d5VVVVUhKSsKrr76q02Zubo6zZ8+iX79+mDx5MhYvXgw7Ozvk5OQgOjoat27darSYoFAoZKcQAPVfjFBb2NCOBwA+++wzBAYGyuK013i4X3++kKNCoWhw2d2nFDwMf96mxvTv3x9ubm747LPP4OzsjLq6Ovj4+ODWrVuyuMbGbWFh0WD/2vdz+/btaNGihaxNqVTe1xiJiJ5VLCYQERERNaBjx44oKSmpt9AAAAUFBairq8OyZctgZHTnUlQbNmyQxZiZmUnn5/9Zs2bNUFZWJj0/efIkqqurGx2Pg4MDnJ2d8csvv2DkyJH6bs4Dq62tRX5+Pjp37gzgzjUONBoN2rVrBwBo164dcnNzMWbMGGmd3NxceHt7N9qvmZkZAMjep4qKCpSUlOCzzz5Dt27dAAA5OTl6j9nPzw+ZmZlISkrSafP29oZSqURpaSlCQkL07puI6FnGYgIRERFRAxYsWIB+/frB1dUVgwcPhpGREY4cOYKioiIsWrQIXl5eqKmpwUcffYT+/fsjNzcXK1askPXRsmVLVFVVITMzE/7+/lCpVFCpVHjppZfwr3/9C0FBQbh9+zbi4+Pv67aPSUlJeOutt2BjY4OIiAjcvHkT+fn5uHz5MmbMmPF3vRUA7swAePPNN/Hhhx/CxMQEsbGx6NKli1RciIuLw9ChQxEQEICwsDB899132LhxI/bs2dNov25ublAoFNi2bRv69u0LCwsL2NraomnTpvj000/h5OSE0tJSzJkzR+8xz507F76+vnjjjTcwadIkmJmZISsrC0OGDIG9vT1mzZqF6dOno66uDi+++CKuXLmC3NxcWFtby4oiREQkx7s5EBERETUgPDwc27Ztw65du9CpUyd06dIFqampcHNzAwD4+/tj+fLleO+99+Dj44M1a9YgOTlZ1kfXrl0xadIkDBs2DM2aNUNKSgoAYNmyZXBxcUG3bt0wYsQIzJo1676usTBhwgSsWrUK6enp8PX1RUhICDIyMuDu7v7w34C7qFQqxMfHY8SIEQgODoaVlRXWr18vtb/88sv44IMPsHTpUrRv3x4rV65Eeno6QkNDG+23RYsWSEpKwpw5c+Dg4IDY2FgYGRlh3bp1KCgogI+PD6ZPn44lS5boPebWrVtj165dOHLkCDp37oygoCBs2bIFJiZ3/qa2cOFCzJ8/H8nJyWjXrh0iIiKwffv2R/J+EhE9yRTi7pP1iIiIiIjukpGRgWnTpkGj0Rh6KERE9BjgzAQiIiIiIiIi0guLCURERERERESkF57mQERERERERER64cwEIiIiIiIiItILiwlEREREREREpBcWE4iIiIiIiIhILywmEBEREREREZFeWEwgIiIiIiIiIr2wmEBEREREREREemExgYiIiIiIiIj0wmICEREREREREenl/wGS5v4Sl22bXAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1000x800 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Accuracy: 0.9040385327899222\n"
     ]
    }
   ],
   "source": [
    "path = '/Users/krishan/Documents/GitHub/Multi-Class-Prediction-of-Obesity-Risk/01-Dataset/01-Data-for-model-building/train.csv'\n",
    "train_df, val_df, test_df = load_data(path)\n",
    "\n",
    "# train test val pipeline\n",
    "train_df = datatypes(train_df)\n",
    "train_df = encode_target(train_df)\n",
    "train_df = age_binning(train_df)\n",
    "train_df, scaler_age = age_scaling_minmax(train_df)\n",
    "train_df = age_scaling_log(train_df)\n",
    "train_df, scaler_weight = weight_scaling_minmax(train_df)\n",
    "train_df = weight_scaling_log(train_df)\n",
    "train_df, scaler_height = height_scaling_minmax(train_df)\n",
    "train_df = height_scaling_log(train_df)\n",
    "train_df = make_gender_binary(train_df)\n",
    "train_df = fix_binary_columns(train_df)\n",
    "train_df = freq_cat_cols(train_df)\n",
    "train_df = Mtrans(train_df)\n",
    "train_df = other_features(train_df)\n",
    "val_df = test_pipeline(val_df, scaler_age, scaler_weight, scaler_height)\n",
    "test_df = test_pipeline(test_df, scaler_age, scaler_weight, scaler_height)\n",
    "\n",
    "\n",
    "# target & predictors\n",
    "Target = 'NObeyesdad'\n",
    "features = ['Gender', 'Age', 'Height', 'Weight', 'family_history_with_overweight',\n",
    "       'FAVC', 'FCVC', 'NCP', 'CAEC', 'SMOKE', 'CH2O', 'SCC', 'FAF', 'TUE',\n",
    "       'CALC', 'Age_Group', \n",
    "       'MTRANS_Automobile', 'MTRANS_Bike', 'MTRANS_Motorbike',\n",
    "       'MTRANS_Public_Transportation', 'MTRANS_Walking', 'BMI', 'Age^2',\n",
    "       'Age^3', 'BMI^2', 'Age * BMI', 'Age * BMI^2', 'Age^2 * BMI^2'] \n",
    "        #'Scaled_Age', 'Log_Age', 'Scaled_Weight', 'Log_Weight', 'Scaled_Height', 'Log_Height',\n",
    "\n",
    "X_train = train_df[features]\n",
    "y_train = train_df[Target]\n",
    "X_val = val_df[features]\n",
    "y_val = val_df[Target]\n",
    "X_test = test_df[features]\n",
    "y_test = test_df[Target]\n",
    "\n",
    "\n",
    "lgb_train = lgb.Dataset(X_train, y_train)\n",
    "params = {\n",
    "    'objective': 'multiclass',\n",
    "    'num_class': 7,\n",
    "    'metric': 'multi_logloss',\n",
    "    'boosting_type': 'gbdt',\n",
    "    'learning_rate': 0.01,\n",
    "    'num_leaves': 31,\n",
    "    'max_depth': -1,\n",
    "    'bagging_fraction': 0.8,\n",
    "    'feature_fraction': 0.8,\n",
    "    'verbosity': -1\n",
    "}\n",
    "\n",
    "model = lgb.train(params, lgb_train, num_boost_round=1000)\n",
    "y_pred = model.predict(X_train, num_iteration=model.best_iteration)\n",
    "y_pred = [np.argmax(y) for y in y_pred]\n",
    "accuracy = accuracy_score(y_train, y_pred)\n",
    "print(f'Accuracy: {accuracy}')\n",
    "\n",
    "# feature importance\n",
    "fig, ax = plt.subplots(figsize=(10, 8))\n",
    "lgb.plot_importance(model, ax=ax)\n",
    "plt.show()\n",
    "\n",
    "# Validation\n",
    "X_val = val_df[features]\n",
    "y_val = val_df[Target]\n",
    "y_pred = model.predict(X_val, num_iteration=model.best_iteration)\n",
    "y_pred = [np.argmax(y) for y in y_pred]\n",
    "accuracy = accuracy_score(y_val, y_pred)\n",
    "print(f'Accuracy: {accuracy}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "# train_df, val_df, test_df = load_data(path)\n",
    "\n",
    "\n",
    "# X_val = val_df[features]\n",
    "# y_val = val_df[Target]\n",
    "# y_pred = model.predict(X_val, num_iteration=model.best_iteration)\n",
    "# # y_pred to a dataframe\n",
    "# y_pred = pd.DataFrame(y_pred, columns=['Insufficient_Weight', 'Normal_Weight', 'Overweight_Level_I', 'Overweight_Level_II', 'Obesity_Type_I', 'Obesity_Type_II', 'Obesity_Type_III'])\n",
    "# # add prefix to columns \"prob_lgbm_\"\n",
    "# y_pred = y_pred.add_prefix('prob_lgbm_')\n",
    "# # add to X_val\n",
    "# X_val = pd.concat([X_val, y_pred], axis=1)\n",
    "# # export as stack_aid_lgbm.csv\n",
    "# X_val.to_csv('stack_aid_lgbm.csv', index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Gender</th>\n",
       "      <th>Age</th>\n",
       "      <th>Height</th>\n",
       "      <th>Weight</th>\n",
       "      <th>family_history_with_overweight</th>\n",
       "      <th>FAVC</th>\n",
       "      <th>FCVC</th>\n",
       "      <th>NCP</th>\n",
       "      <th>CAEC</th>\n",
       "      <th>SMOKE</th>\n",
       "      <th>CH2O</th>\n",
       "      <th>SCC</th>\n",
       "      <th>FAF</th>\n",
       "      <th>TUE</th>\n",
       "      <th>CALC</th>\n",
       "      <th>Age_Group</th>\n",
       "      <th>MTRANS_Automobile</th>\n",
       "      <th>MTRANS_Bike</th>\n",
       "      <th>MTRANS_Motorbike</th>\n",
       "      <th>MTRANS_Public_Transportation</th>\n",
       "      <th>MTRANS_Walking</th>\n",
       "      <th>BMI</th>\n",
       "      <th>Age^2</th>\n",
       "      <th>Age^3</th>\n",
       "      <th>BMI^2</th>\n",
       "      <th>Age * BMI</th>\n",
       "      <th>Age * BMI^2</th>\n",
       "      <th>Age^2 * BMI^2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>21.000000</td>\n",
       "      <td>1.550000</td>\n",
       "      <td>51.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>21.227888</td>\n",
       "      <td>1.0</td>\n",
       "      <td>21.000000</td>\n",
       "      <td>21.227888</td>\n",
       "      <td>441.000000</td>\n",
       "      <td>445.785640</td>\n",
       "      <td>450.623213</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>20.000000</td>\n",
       "      <td>1.700000</td>\n",
       "      <td>80.000000</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>27.681661</td>\n",
       "      <td>1.0</td>\n",
       "      <td>20.000000</td>\n",
       "      <td>27.681661</td>\n",
       "      <td>400.000000</td>\n",
       "      <td>553.633218</td>\n",
       "      <td>766.274350</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>18.000000</td>\n",
       "      <td>1.600000</td>\n",
       "      <td>60.000000</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>23.437500</td>\n",
       "      <td>1.0</td>\n",
       "      <td>18.000000</td>\n",
       "      <td>23.437500</td>\n",
       "      <td>324.000000</td>\n",
       "      <td>421.875000</td>\n",
       "      <td>549.316406</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>26.000000</td>\n",
       "      <td>1.632983</td>\n",
       "      <td>111.720238</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2.559750</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.396972</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>41.895611</td>\n",
       "      <td>1.0</td>\n",
       "      <td>26.000000</td>\n",
       "      <td>41.895611</td>\n",
       "      <td>676.000000</td>\n",
       "      <td>1089.285877</td>\n",
       "      <td>1755.242193</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>21.682636</td>\n",
       "      <td>1.748524</td>\n",
       "      <td>133.845064</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2.843777</td>\n",
       "      <td>0</td>\n",
       "      <td>1.427037</td>\n",
       "      <td>0.849236</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>43.778327</td>\n",
       "      <td>1.0</td>\n",
       "      <td>21.682636</td>\n",
       "      <td>43.778327</td>\n",
       "      <td>470.136704</td>\n",
       "      <td>949.229536</td>\n",
       "      <td>1916.541944</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Gender        Age    Height      Weight  family_history_with_overweight  \\\n",
       "0       1  21.000000  1.550000   51.000000                               0   \n",
       "1       0  20.000000  1.700000   80.000000                               1   \n",
       "2       1  18.000000  1.600000   60.000000                               1   \n",
       "3       1  26.000000  1.632983  111.720238                               1   \n",
       "4       1  21.682636  1.748524  133.845064                               1   \n",
       "\n",
       "   FAVC  FCVC  NCP  CAEC  SMOKE      CH2O  SCC       FAF       TUE  CALC  \\\n",
       "0     1   3.0  1.0     2      0  2.000000    0  0.000000  0.000000     0   \n",
       "1     1   2.0  3.0     1      0  2.000000    0  2.000000  1.000000     1   \n",
       "2     1   2.0  3.0     1      0  2.000000    0  1.000000  1.000000     0   \n",
       "3     1   3.0  3.0     1      0  2.559750    0  0.000000  0.396972     1   \n",
       "4     1   3.0  3.0     1      0  2.843777    0  1.427037  0.849236     1   \n",
       "\n",
       "   Age_Group  MTRANS_Automobile  MTRANS_Bike  MTRANS_Motorbike  \\\n",
       "0          2                  0            0                 0   \n",
       "1          1                  0            0                 0   \n",
       "2          1                  0            0                 0   \n",
       "3          2                  0            0                 0   \n",
       "4          2                  0            0                 0   \n",
       "\n",
       "   MTRANS_Public_Transportation  MTRANS_Walking        BMI  Age^2      Age^3  \\\n",
       "0                             1               0  21.227888    1.0  21.000000   \n",
       "1                             1               0  27.681661    1.0  20.000000   \n",
       "2                             0               1  23.437500    1.0  18.000000   \n",
       "3                             1               0  41.895611    1.0  26.000000   \n",
       "4                             1               0  43.778327    1.0  21.682636   \n",
       "\n",
       "       BMI^2   Age * BMI  Age * BMI^2  Age^2 * BMI^2  \n",
       "0  21.227888  441.000000   445.785640     450.623213  \n",
       "1  27.681661  400.000000   553.633218     766.274350  \n",
       "2  23.437500  324.000000   421.875000     549.316406  \n",
       "3  41.895611  676.000000  1089.285877    1755.242193  \n",
       "4  43.778327  470.136704   949.229536    1916.541944  "
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# show all columns\n",
    "pd.set_option('display.max_columns', None)\n",
    "X_train.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Testing Single Instance For Architecture Development"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "#save model pickle\n",
    "import pickle\n",
    "with open('model.pkl', 'wb') as f:\n",
    "    pickle.dump(model, f)\n",
    "\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# load model\n",
    "with open('model.pkl', 'rb') as f:\n",
    "    model = pickle.load(f)\n",
    "\n",
    "input_data = {\n",
    "    \"id\": 6204,\n",
    "    \"Gender\": \"Female\",\n",
    "    \"Age\": 23.0,\n",
    "    \"Height\": 1.581527,\n",
    "    \"Weight\": 78.089575,\n",
    "    \"family_history_with_overweight\": \"yes\",\n",
    "    \"FAVC\": \"yes\",\n",
    "    \"FCVC\": 2.0,\n",
    "    \"NCP\": 2.070033,\n",
    "    \"CAEC\": \"Sometimes\",\n",
    "    \"SMOKE\": \"no\", \n",
    "    \"CH2O\": 2.953192,\n",
    "    \"SCC\": \"no\",\n",
    "    \"FAF\": 0.118271,\n",
    "    \"TUE\": 0.0,\n",
    "    \"CALC\": \"no\",\n",
    "    \"MTRANS\": \"Public_Transportation\"\n",
    "    \n",
    "}\n",
    "\n",
    "input_df = pd.DataFrame([input_data])\n",
    "input_df = New_Test_Instances_Pipeline(input_df, scaler_age, scaler_weight, scaler_height)\n",
    "\n",
    "# X input to have same columns as features\n",
    "X_input = pd.DataFrame(columns=features)\n",
    "# if input df does not have a column that is in features, add it with 0s at the same position\n",
    "for col in features:\n",
    "    if col not in input_df.columns:\n",
    "        if col in ['MTRANS_Automobile', 'MTRANS_Bike', 'MTRANS_Motorbike', 'MTRANS_Public_Transportation', 'MTRANS_Walking']:\n",
    "            X_input[col] = False\n",
    "        else:\n",
    "            X_input[col] = 0\n",
    "    else:\n",
    "        X_input[col] = input_df[col]\n",
    "    # if MTRANS_Automobile, MTRANS_Bike, MTRANS_Motorbike, MTRANS_Public_Transportation, MTRANS_Walking are zero, make them False\n",
    "    \n",
    "y_pred_proba = model.predict(X_input)\n",
    "y_pred = np.argmax(y_pred_proba)\n",
    "\n",
    "y_pred"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "DataScience",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}